本発明の概略は、その一例としては、各フレームにおいて異なる帯域の周波数成分の量子化において、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数が所定値以上であると判定した場合には周波数領域のパラメータに対し予測符号化を行い、また、共通のサブバンドの数が所定値より小さいと判定した場合には周波数領域のパラメータを直接符号化するというものである。これにより、音声・オーディオ信号等の符号化情報量を低減するとともに、復号信号や復号音声等の急激な品質劣化を防ぐことができ、音声・オーディオ信号等の符号化誤差および復号信号の品質劣化、特に復号音声の音質劣化を低減することができる。
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。以下においては、本発明の符号化装置/復号装置の例として、音声符号化装置/音声復号装置を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る音声符号化装置100の主要な構成を示すブロック図である。
この図において、音声符号化装置100は、周波数領域変換部101、帯域選択部102、シェイプ量子化部103、予測符号化有無判定部104、ゲイン量子化部105、および多重化部106を備える。
周波数領域変換部101は、入力信号を用いて修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)を行い、周波数領域のパラメータであるMDCT係数を算出して帯域選択部102に出力する。
帯域選択部102は、周波数領域変換部101から入力されるMDCT係数を複数のサブバンドに分割し、複数のサブバンドから量子化対象となる帯域を選択し、選択した帯域を示す帯域情報をシェイプ量子化部103、予測符号化有無判定部104、多重化部106に出力する。また、帯域選択部102は、MDCT係数をシェイプ量子化部103に出力する。なお、シェイプ量子化部103へのMDCT係数の入力は、周波数領域変換部101から帯域選択部102への入力とは別に、周波数領域変換部101から直接行っても良い。
シェイプ量子化部103は、帯域選択部102から入力されるMDCT係数のうち、帯域選択部102から入力される帯域情報が示す帯域に対応するMDCT係数を用いてシェイプ量子化を行い、得られるシェイプ符号化情報を多重化部106に出力する。また、シェイプ量子化部103は、シェイプ量子化の理想ゲイン値を求め、求められた理想ゲイン値をゲイン量子化部105に出力する。
予測符号化有無判定部104は、帯域選択部102から入力される帯域情報を用いて現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測符号化有無判定部104は、共通のサブバンドの数が所定値以上である場合には、帯域情報が示す量子化対象帯域のMDCT係数に対して予測符号化を行うと判定し、共通のサブバンドの数が所定値より小さい場合には、帯域情報が示す量子化対象帯域のMDCT係数に対して予測符号化を行わないと判定する。予測符号化有無判定部104は、判定結果をゲイン量子化部105に出力する。
ゲイン量子化部105は、予測符号化有無判定部104から入力される判定結果が予測符号化を行うという判定結果を示す場合には、内蔵のバッファに記憶されている過去のフレームの量子化ゲイン値および内蔵のゲインコードブックを用いて現フレームの量子化対象帯域のゲインの予測符号化を行ってゲイン符号化情報を得る。一方、ゲイン量子化部105は、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合には、シェイプ量子化部103から入力される理想ゲイン値を直接量子化してゲイン符号化情報を得る。ゲイン量子化部105は、得られるゲイン符号化情報を多重化部106に出力する。
多重化部106は、帯域選択部102から入力される帯域情報、シェイプ量子化部103から入力されるシェイプ符号化情報、およびゲイン量子化部105から入力されるゲイン符号化情報を多重化し、得られるビットストリームを音声復号装置に送信する。
上記のような構成を有する音声符号化装置100は、入力信号をN(Nは自然数)サンプルずつ区切り、Nサンプルずつを1フレームとしてフレーム毎に符号化を行う。以下、音声符号化装置100の各部の動作について詳細に説明する。なお、以下の説明では、符号化の対象となるフレームの入力信号をxn(n=0、1、…、N−1)と表す。ここで、nは符号化の対象となるフレームにおける各サンプルのインデックスを示す。
周波数領域変換部101は、N個のバッファを内蔵し、まず、下記の式(1)に従い、「0」値を用いて各バッファを初期化する。
この式において、bufn(n=0、…、N−1)は周波数領域変換部101が内蔵しているN個のバッファの中のn+1番目を示す。
次いで、周波数領域変換部101は、下記の式(2)に従い、入力信号x
nを修正離散コサイン変換(MDCT)してMDCT係数X
kを求める。
この式において、kは1フレームにおける各サンプルのインデックスを示す。なお、x’
nは、下記の式(3)に従い、入力信号x
nとバッファbuf
nとを結合させたベクトルである。
次いで、周波数領域変換部101は、下記の式(4)に示すようにバッファbuf
n(n=0、…、N−1)を更新する。
次いで、周波数領域変換部101は、求められたMDCT係数Xkを帯域選択部102に出力する。
帯域選択部102は、まず、MDCT係数Xkを複数のサブバンドに分割する。ここでは、MDCT係数XkがJ(Jは自然数)個のサブバンドに均等に分割される場合を例にあげ説明する。そして、帯域選択部102は、J個のサブバンドの中で連続するL(Lは自然数)個のサブバンドを選択し、M(Mは自然数)種類のサブバンドのグループを得る。以下、このM種類のサブバンドのグループをリージョンと呼ぶ。
図2は、帯域選択部102において得られるリージョンの構成を例示する図である。
この図において、サブバンドの数は17個(J=17)であり、リージョンの種類は8種類(M=8)であり、各リージョンは連続する5個(L=5)のサブバンドで構成されている。そのうち、例えばリージョン4はサブバンド6〜10からなる。
次いで、帯域選択部102は、下記の式(5)に従い、M種類の各リージョンの平均エネルギE(m)を算出する。
この式において、jは、J個の各サブバンドのインデックスを示し、mは、M種類の各リージョンのインデックスを示す。なお、S(m)は、リージョンmを構成するL個のサブバンドのインデックスのうちの最小値を示し、B(j)は、サブバンドjを構成する複数のMDCT係数のインデックスのうちの最小値を示す。W(j)は、サブバンドjのバンド幅を示す。以下の説明では、J個の各サブバンドのバンド幅が全て等しい場合、すなわちW(j)が定数である場合を例にとって説明する。
次いで、帯域選択部102は、平均エネルギE(m)が最大となるリージョン、例えばサブバンドj”〜j”+L−1からなる帯域を量子化対象となる帯域(量子化対象帯域)として選択し、このリージョンを示すインデックスm_maxを帯域情報としてシェイプ量子化部103、予測符号化有無判定部104、および多重化部106に出力する。また、帯域選択部102は、MDCT係数Xkをシェイプ量子化部103に出力する。なお、以下の説明では、帯域選択部102で選択した量子化対象帯域を示すバンドインデックスをj”〜j”+L−1とする。
シェイプ量子化部103は、帯域選択部102から入力される帯域情報m_maxが示す帯域に対応するMCDT係数に対して、サブバンド毎にシェイプ量子化を行う。具体的には、シェイプ量子化部103はL個の各サブバンド毎に、SQ個のシェイプコードベクトルからなる内蔵のシェイプコードブックを探索して下記の式(6)の結果が最大となるシェイプコードベクトルのインデックスを求める。
この式において、SCi kはシェイプコードブックを構成するシェイプコードベクトルを示し、iはシェイプコードベクトルのインデックスを示し、kはシェイプコードベクトルの要素のインデックスを示す。
シェイプ量子化部103は、上記の式(6)の結果が最大となるシェイプコードベクトルのインデックスS_maxをシェイプ符号化情報として多重化部106に出力する。また、シェイプ量子化部103は、下記の式(7)に従い、理想ゲイン値Gain_i(j)を算出してゲイン量子化部105に出力する。
予測符号化有無判定部104は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは、予測符号化有無判定部104が、過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測符号化有無判定部104は、まず、過去のフレームにおいてシェイプ量子化部103から入力された帯域情報m_maxおよび現フレームにおいてシェイプ量子化部103から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測符号化有無判定部104は、共通のサブバンドの数が所定値以上である場合は予測符号化を行うと判定し、共通のサブバンドの数が所定値より小さい場合は予測符号化を行わないと判定する。具体的には、時間的に1つ過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxが示すL個のサブバンドと、現フレームにおいて帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドとを比較し、共通のサブバンドの数がP個以上である場合は予測符号化を行うと判定し、共通のサブバンドの数がP個未満である場合は予測符号化を行わないと判定する。予測符号化有無判定部104は、判定結果をゲイン量子化部105に出力する。次いで、予測符号化有無判定部104は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン量子化部105は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。予測符号化有無判定部104から入力される判定結果が予測符号化を行うという判定結果を示す場合、ゲイン量子化部105は、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t jを用いて、現フレームのゲイン値を予測することにより量子化する。具体的には、ゲイン量子化部105は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(8)の結果が最小となるゲインコードベクトルのインデックスを求める。
この式において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、jは0〜4の値を取る。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部105に記憶されている4次の線形予測係数である。なお、ゲイン量子化部105は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部105は、上記の式(8)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。なお、内蔵のバッファの中の過去フレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部105は上記の式(8)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
一方、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合、ゲイン量子化部105は、下記の式(9)に従い、シェイプ量子化部103から入力される理想ゲイン値Gain_i(j)を直接量子化する。ここでも、ゲイン量子化部105は、理想ゲイン値をL次元ベクトルとして扱い、ベクトル量子化を行う。
ここでは、上記の式(9)を最小にするコードブックのインデックスをG_minと記す。
ゲイン量子化部105は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部105は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(10)に従い、内蔵のバッファを更新する。
多重化部106は、帯域選択部102から入力される帯域情報m_max、シェイプ量子化部103から入力されるシェイプ符号化情報S_max、およびゲイン量子化部105から入力されるゲイン符号化情報G_minを多重化し、得られるビットストリームを音声復号装置に送信する。
図3は、本実施の形態に係る音声復号装置200の主要な構成を示すブロック図である。
この図において、音声復号装置200は、分離部201、シェイプ逆量子化部202、予測復号有無判定部203、ゲイン逆量子化部204、および時間領域変換部205を備える。
分離部201は、音声符号化装置100から伝送されるビットストリームから帯域情報、シェイプ符号化情報、およびゲイン符号化情報を分離し、得られる帯域情報をシェイプ逆量子化部202および予測復号有無判定部203に出力し、シェイプ符号化情報をシェイプ逆量子化部202に出力し、ゲイン符号化情報をゲイン逆量子化部204に出力する。
シェイプ逆量子化部202は、分離部201から入力されるシェイプ符号化情報を逆量子化することにより、分離部201から入力される帯域情報が示す量子化対象帯域に対応するMDCT係数のシェイプの値を求め、求められたシェイプの値をゲイン逆量子化部204に出力する。
予測復号有無判定部203は、分離部201から入力される帯域情報を用いて現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測復号有無判定部203は、共通のサブバンドの数が所定値以上である場合は、帯域情報が示す量子化対象帯域のMDCT係数に対して予測復号を行うと判定し、共通のサブバンドの数が所定値より小さい場合は、帯域情報が示す量子化対象帯域のMDCT係数に対して予測復号を行わないと判定する。予測復号有無判定部203は、判定結果をゲイン逆量子化部204に出力する。
ゲイン逆量子化部204は、予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合には、内蔵のバッファに記憶されている過去のフレームのゲイン値および内蔵のゲインコードブックを用いて、分離部201から入力されるゲイン符号化情報に対し予測復号を行ってゲイン値を得る。一方、ゲイン逆量子化部204は、予測復号有無判定部203から入力される判定結果が予測復号を行わないという判定結果を示す場合には、内蔵のゲインコードブックを用いて、分離部201から入力されるゲイン符号化情報を直接逆量子化してゲイン値を得る。ゲイン逆量子化部204は、得られるゲイン値を時間領域変換部205に出力する。またゲイン逆量子化部204は、得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて量子化対象帯域のMDCT係数を求め、復号MDCT係数として時間領域変換部205に出力する。
時間領域変換部205は、ゲイン逆量子化部204から入力される復号MDCT係数に対して修正離散コサイン逆変換(IMDCT:Inverse Modified Discrete Cosine Transform)を行って時間領域の信号を生成し復号信号として出力する。
上記のような構成を有する音声復号装置200は以下の動作を行う。
分離部201は、音声符号化装置100から伝送されるビットストリームから帯域情報m_max、シェイプ符号化情報S_max、およびゲイン符号化情報G_minを分離し、得られる帯域情報m_maxをシェイプ逆量子化部202および予測復号有無判定部203に出力し、シェイプ符号化情報S_maxをシェイプ逆量子化部202に出力し、ゲイン符号化情報G_minをゲイン逆量子化部204に出力する。
シェイプ逆量子化部202は、音声符号化装置100のシェイプ量子化部103が備えるシェイプコードブックと同様なシェイプコードブックを内蔵し、分離部201から入力されるシェイプ符号化情報S_maxをインデックスとするシェイプコードベクトルを探索する。シェイプ逆量子化部202は、探索されたコードベクトルを、分離部201から入力される帯域情報m_maxが示す量子化対象帯域のMDCT係数のシェイプの値としてゲイン逆量子化部204に出力する。ここでは、シェイプの値として探索されたシェイプコードベクトルをShape_q(k)(k=B(j”),…,B(j”+L)−1)と記す。
予測復号有無判定部203は、過去のフレームにおいて分離部201から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは、予測復号有無判定部203が過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測復号有無判定部203は、まず、過去のフレームにおいて分離部201から入力された帯域情報m_maxおよび現フレームにおいて分離部201から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測復号有無判定部203は、共通のサブバンドの数が所定値以上である場合には予測復号を行うと判定し、共通のサブバンドの数が所定値より小さい場合には予測復号を行わないと判定する。具体的には、予測復号有無判定部203は、時間的に1つ過去のフレームにおいて分離部201から入力された帯域情報m_maxが示すL個のサブバンドと、現フレームにおいて分離部201から入力される帯域情報m_maxが示すL個のサブバンドとを比較し、共通のサブバンドの数がP個以上である場合は予測復号を行うと判定し、共通のサブバンドの数がP個未満である場合は予測復号を行わないと判定する。予測復号有無判定部203は、判定結果をゲイン逆量子化部204に出力する。次いで、予測復号有無判定部203は、現フレームにおいて分離部201から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン逆量子化部204は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合、ゲイン逆量子化部204は、内蔵のバッファに記憶されている過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部204は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブックを内蔵しており、下記の式(11)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部204に記憶されている4次の線形予測係数である。ゲイン逆量子化部204は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
なお、内蔵のバッファの中に過去フレームに対応するサブバンドのゲインの値が存在しない場合、ゲイン逆量子化部204は、上記の式(11)において、内部バッファの中の周波数的に最も近いサブバンドのゲイン値を代用する。
一方、予測復号有無判定部203から入力される判定結果が予測復号を行わないという判定結果を示す場合、ゲイン逆量子化部204は、上記のゲインコードブックを用いて、下記の式(12)に従いゲインの値を逆量子化する。ここでも、ゲイン値をL次元ベクトルとして扱い、ベクトル逆量子化が行われる。すなわち、予測復号を行わない場合は、ゲイン符号化情報G_minに対応するゲインコードベクトルGC
j G_minを直接ゲイン値とする。
次いで、ゲイン逆量子化部204は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(13)に従い復号MDCT係数を算出し、下記の式(14)に従い内蔵のバッファを更新する。ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、ゲイン値Gain_q’(j)はGain_q’(j”)の値をとる。
ゲイン逆量子化部204は、上記の式(13)に従い算出された復号MDCT係数X”kを時間領域変換部205に出力する。
時間領域変換部205は、まず下記の式(15)に従い内蔵のバッファbuf’
kを「0」値に初期化する。
次いで、時間領域変換部205は、ゲイン逆量子化部204から入力される復号MDCT係数X”
kを用いて、下記の式(16)に従い復号信号Y
nを求める。
この式において、X2”
kは、復号MDCT係数X”
kとバッファbuf’
kとを結合させたベクトルであり、下記の式(17)を用いて求められる。
次いで、時間領域変換部205は、下記の式(18)に従いバッファbuf’
kを更新する。
時間領域変換部205は、求められる復号信号Ynを出力信号として出力する。
このように、本実施の形態によれば、各フレームにおいてエネルギが大きい帯域を量子化対象帯域として選択し周波数領域パラメータを量子化するため、量子化されるゲインの値の分布に偏りを生じさせ、ベクトル量子化の性能を向上させることができる。
また、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータの量子化において、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数が所定値以上であると判定した場合には周波数領域のパラメータに対し予測符号化を行い、共通のサブバンドの数が所定値より小さいと判定した場合には周波数領域のパラメータを直接符号化する。そのため、音声符号化の符号化情報量を低減するとともに、急激な音声品質劣化を防ぐことができ、音声・オーディオ信号の符号化誤差および復号信号の音質劣化を低減することができる。
また、本実施の形態によれば、符号化側においては複数のサブバンドで構成されるリージョン単位で量子化対象帯域を決定し周波数領域パラメータの量子化を行い、どのリージョンの周波数領域パラメータが量子化対象となったかという情報を復号側に送信すれば良い。そのため、予測符号化を利用するか否かをサブバンド毎に決定しどのサブバンドが量子化対象となったかという情報を復号側に送信するよりも、量子化の効率を向上し復号側に送信する符号化情報量をさらに低減することができる。
なお、本実施の形態では、複数のサブバンドから構成されるリージョン単位でゲインの量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、量子化対象をサブバンド毎に選択しても、すなわち予測量子化を行うか否かの判定をサブバンド毎に行っても良い。
また、本実施の形態では、ゲインの予測量子化方法として、同じ周波数帯域のゲインに対して時間軸上で線形予測を行う場合を例にとって説明したが、本発明はこれに限定されず、異なる周波数帯域のゲインに対して時間軸上で線形予測を行っても良い。
また、本実施の形態では量子化対象となる信号として、通常の音声・オーディオ信号を例にとって説明したが、本発明はこれに限定されず、音声・オーディオ信号をLPC(線形予測係数:LinearPrediction Coefficient)逆フィルタにより処理して得られる駆動音源信号を量子化対象としても良い。
また、本実施の形態では、量子化対象の帯域を選択する基準として、各リージョンのエネルギの大きさ、すなわち聴感的な重要度が最も高いリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、聴感的な重要度に加え、過去フレームにおいて選択された帯域との周波数的な相関性をも同時に考慮しても良い。すなわち、過去に選択された量子化対象帯域との間で共通のサブバンドの数が所定値以上であってかつエネルギが所定値以上である候補帯域が存在する場合には、上記の候補帯域の中でエネルギが最も大きい帯域を前記量子化対象帯域として選択し、前記候補帯域が存在しない場合には、全周波数領域においてエネルギが最も大きい帯域を前記量子化対象帯域として選択しても良い。例えば、エネルギが最も大きいリージョンと過去フレームにおいて選択された帯域との間に共通のサブバンドが存在しなく、エネルギが二番目に大きいリージョンと過去フレームにおいて選択された帯域との間で共通のサブバンドの数が所定の閾値以上であり、かつエネルギが二番目に大きいリージョンのエネルギが所定の閾値以上である場合は、エネルギが最も大きいリージョンではなく、エネルギが二番目に大きいリージョンを選択する。また、本実施の形態に係る帯域選択部は、エネルギが所定値以上であるリージョンの中で、過去に選択された量子化対象帯域と最も近いリージョンを量子化対象帯域として選択する。
また、本実施の形態では、過去フレームを用いて補間を行ってからMDCT係数の量子化を行っても良い。例えば、過去フレームの量子化対象帯域がリージョン3(すなわちサブバンド5〜9)であり、現フレームの量子化対象帯域がリージョン4(すなわちサブバンド6〜10)であり、過去フレームの量子化結果を用いて現フレームの予測符号化を行う場合について、図2を参照しながら説明する。かかる場合、現フレームのサブバンド6〜9に対しては過去フレームのサブバンド6〜9を用いて予測符号化し、現フレームのサブバンド10に対しては、過去フレームのサブバンド5〜9を用いて過去フレームのサブバンド10を補間してから、補間により得られた過去フレームのサブバンド10を用いて予測符号化する。
また、本実施の形態では、予測符号化を行うか否かに関わらず、同一のコードブックを用いて量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、ゲインの量子化、およびシェイプの量子化のそれぞれにおいて、予測符号化を行う場合と行わない場合によって異なるコードブックを用いても良い。
また、本実施の形態では、全てのサブバンド幅が同一である場合を例にとって説明したが、本発明はこれに限定されず、各サブバンドのサブバンド幅をそれぞれ異なるようにしても良い。
また、本実施の形態では、ゲインの量子化、およびシェイプの量子化において、全てのサブバンドに対して同一のコードブックを用いる場合を例にとって説明したが、本発明はこれに限定されず、ゲインの量子化、およびシェイプの量子化それぞれにおいて、サブバンド毎に異なるコードブックを用いても良い。
また、本実施の形態では、量子化対象帯域として、連続するサブバンドを選択する場合を例にとって説明したが、本発明はこれに限定されず、連続しない複数のサブバンドを量子化対象帯域として選択しても良い。かかる場合、隣接するサブバンドの値を用いて、選択されなかったサブバンドの値を補間することにより、音声符号化の効率をさらに向上することができる。
また、本実施の形態では、音声符号化装置100は予測符号化有無判定部104を具備する場合を例にとって説明したが、本発明に係る音声符号化装置はこれに限定されず、図4に示す音声符号化装置100aのように、予測符号化有無判定部104を具備せず、ゲイン量子化部105において常に予測量子化を行わないような構成にしても良い。この場合、図4に示すように、音声符号化装置100aは、周波数領域変換部101、帯域選択部102、シェイプ量子化部103、ゲイン量子化部105、および多重化部106を備える。なお、図5は、音声符号化装置100aに対応する音声復号装置200aの構成を示すブロック図であり、音声復号装置200aは、分離部201、シェイプ逆量子化部202、ゲイン逆量子化部204、および時間領域変換部205を備える。かかる場合、音声符号化装置100aは、全帯域の中から量子化する帯域を一部選択し、選択された帯域に対してさらに複数のサブバンドに分割し、各サブバンドのゲインを量子化する。これにより、全帯域の成分を量子化する方法と比較してより低いビットレートで量子化を行うことができ、符号化効率を向上させることができる。また、周波数軸でのゲインの相関を利用してゲインのベクトルを量子化することにより、符号化効率をさらに向上させることができる。
また、本発明に係る音声符号化装置は、図4に示す音声符号化装置100aのように、予測符号化有無判定部104を具備せず、ゲイン量子化部105において常に予測量子化を行うような構成にしても良い。このような音声符号化装置100aに対応する音声復号装置200aの構成は図5に示す通りである。かかる場合、音声符号化装置100aは、全帯域の中から量子化する帯域を一部選択し、選択された帯域に対してさらに複数のサブバンドに分割し、各サブバンドのゲインの量子化を行う。これにより、全帯域の成分を量子化する方法と比較してより低いビットレートで量子化を行うことができ、符号化効率を向上させることができる。また、時間軸でのゲインの相関を利用してゲインのベクトルを予測量子化することにより、符号化効率をさらに向上させることができる。
なお、本実施の形態では、帯域選択部において、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、上記の判定基準に加えて、時間的に前のフレームで選択された帯域の情報を利用して選択しても良い。例えば、時間的に前のフレームで選択された帯域の近傍の帯域を含むリージョンが選択されやすくなるような重みを乗じた後に、量子化するリージョンを選択する方法が挙げられる。また、量子化する帯域を選択するレイヤが複数あった場合、下位レイヤで選択した帯域の情報を利用して、上位のレイヤで量子化する帯域を選択しても良い。例えば、下位のレイヤで選択された帯域の近傍の帯域を含むリージョンが選択されやすくなるような重みを乗じた後に、量子化するリージョンを選択する方法が挙げられる。
また、本実施の形態では、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、予めある帯域を予備的に選択し、予備的に選択された帯域において量子化対象帯域を最終的に選択しても良い。かかる場合、入力信号のサンプリングレート、あるいは符号化ビットレートなどによって予備的に選択される帯域を決定すれば良い。例えば、ビットレート、あるいはサンプリングレートが低い場合は、低域部を予備的に選択する方法などがある。
例えば、帯域選択部102においては、選択されうるリージョンの全候補の中から低域部分のリージョンに限定した後にリージョンのエネルギを算出して量子化するリージョンを決定するという方法を採ることも可能である。この例として、図2に示す全8候補のリージョンの中から、低域側から5候補までに限定し、その中で最もエネルギの大きいリージョンを選択するという方法が挙げられる。また、帯域選択部102は、低域側ほど選択されやすくなるようにエネルギに重みを乗じてからエネルギを比較してもよい。また、帯域選択部102は、低域側の固定のサブバンドを選択しても良い。音声信号には、低域側ほどハーモニクス構造が強いという特徴があり、その結果、低域側に強いピークが存在する。この強いピークはマスキングされにくいため、ノイズとして知覚されやすい。ここで、単純にエネルギの大きさだけでリージョンを選択するのではなく、低域側ほど選択されやすくすることによって、強いピークが含まれるリージョンが選択される可能性が高くなり、結果としてノイズ感が減少する。このように、選択するリージョンを低域側に限定する、あるいは低域側ほど選択されやすくなるような重みを乗じることにより、復号信号の品質を向上することができる。
また、本発明に係る音声符号化装置は、量子化する帯域の成分に対して、まずシェイプ(形状情報)の量子化を行い、次にゲイン(利得情報)の量子化を行うという構成について説明したが、本発明はこれに限定されず、まずゲインの量子化を行い、次にシェイプの量子化を行う構成にしても良い。
(実施の形態2)
図6は、本発明の実施の形態2に係る音声符号化装置300の主要な構成を示すブロック図である。
この図において、音声符号化装置300は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部308、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、第1レイヤではCELP(Code Exited LinearPrediction)方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
ダウンサンプリング部301は、入力される音声・オーディオ信号に対してダウンサンプリング処理を行い、音声・オーディオ信号のサンプリング周波数をRate1からRate2に変換し(Rate1>Rate2)、第1レイヤ符号化部302に出力する。
第1レイヤ符号化部302は、ダウンサンプリング部301から入力されるダウンサンプリング後の音声・オーディオ信号に対してCELP方式の音声符号化を行い、得られる第1レイヤ符号化情報を第1レイヤ復号部303および多重化部309に出力する。具体的には、第1レイヤ符号化部302は、声道情報と音源情報とからなる音声信号を、声道情報についてはLPCパラメータを求めることにより符号化し、音源情報については、予め記憶されている音声モデルの何れを用いるかを特定するインデックス、すなわち、適応符号帳および固定符号帳のどの音源ベクトルを生成するかを特定するインデックスを求めることにより符号化する。
第1レイヤ復号部303は、第1レイヤ符号化部302から入力される第1レイヤ符号化情報に対してCELP方式の音声復号を行い、得られる第1レイヤ復号信号をアップサンプリング部304に出力する。
アップサンプリング部304は、第1レイヤ復号部303から入力される第1レイヤ復号信号に対してアップサンプリング処理を行い、第1レイヤ復号信号のサンプリング周波数をRate2からRate1に変換して第1周波数領域変換部305に出力する。
第1周波数領域変換部305は、アップサンプリング部304から入力されるアップサンプリング後の第1レイヤ復号信号に対してMDCTを行い、周波数領域のパラメータとして得られる第1レイヤMDCT係数を第2レイヤ符号化部308に出力する。ここで、第1周波数領域変換部305における具体的な変換方法は、本発明の実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
遅延部306は、入力される音声・オーディオ信号を内蔵のバッファに記憶して所定時間後に出力することにより、遅延された音声・オーディオ信号を第2周波数領域変換部307に出力する。ここで、遅延される所定時間は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、および第2周波数領域変換部307において生じるアルゴリズム遅延を考慮した時間である。
第2周波数領域変換部307は、遅延部306から入力される遅延された音声・オーディオ信号に対してMDCTを行い、周波数領域のパラメータとして得られる第2レイヤMDCT係数を第2レイヤ符号化部308に出力する。ここで、第2周波数領域変換部307における具体的な変換方法は、実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
第2レイヤ符号化部308は、第1周波数領域変換部305から入力される第1レイヤMDCT係数および第2周波数領域変換部307から入力される第2レイヤMDCT係数を用いて第2レイヤ符号化を行い、得られる第2レイヤ符号化情報を多重化部309に出力する。第2レイヤ符号化部308の内部の主要な構成および具体的な動作については後述する。
多重化部309は、第1レイヤ符号化部302から入力される第1レイヤ符号化情報および第2レイヤ符号化部308から入力される第2レイヤ符号化情報を多重化し、得られるビットストリームを音声復号装置に送信する。
図7は、第2レイヤ符号化部308の内部の主要な構成を示すブロック図である。なお、第2レイヤ符号化部308は、実施の形態1に示した音声符号化装置100(図1参照)と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ符号化部308は、周波数領域変換部101の代わりに残差MDCT係数算出部381を備える点において音声符号化装置100と相違する。なお、多重化部106における処理は音声符号化装置100の多重化部106における処理と同様であり、説明の便宜のため、本実施の形態に係る多重化部106から出力される信号の名称を第2レイヤ符号化情報と記す。
なお、帯域情報、シェイプ符号化情報、ゲイン符号化情報を、多重化部106を介さず、直接、多重化部309に入力して、第1レイヤ符号化情報と多重化しても良い。
残差MDCT係数算出部381は、第1周波数領域変換部305から入力される第1レイヤMDCT係数と第2周波数領域変換部307から入力される第2レイヤMDCT係数との残差を求め、残差MDCT係数として帯域選択部102に出力する。
図8は、本発明の実施の形態2に係る音声復号装置400の主要な構成を示すブロック図である。
この図において、音声復号装置400は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部405、時間領域変換部406、およびスイッチ407を備える。
制御部401は、音声符号化装置300から伝送されるビットストリームの構成要素を分析し、このビットストリームの構成要素に応じて、適応的に第1レイヤ復号部402および第2レイヤ復号部405に適切な符号化情報を出力するとともに、制御情報をスイッチ407に出力する。具体的には、制御部401は、ビットストリームが第1レイヤ符号化情報および第2レイヤ符号化情報から構成されている場合には、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、第2レイヤ符号化情報を第2レイヤ復号部405に出力する一方、ビットストリームが第1レイヤ符号化情報のみから構成されている場合には、第1レイヤ符号化情報を第1レイヤ復号部402に出力する。
第1レイヤ復号部402は、制御部401から入力される第1レイヤ符号化情報に対してCELP方式で復号し、得られる第1レイヤ復号信号をアップサンプリング部403およびスイッチ407に出力する。
アップサンプリング部403は、第1レイヤ復号部402から入力される第1レイヤ復号信号に対してアップサンプリング処理を行い、第1レイヤ復号信号のサンプリング周波数をRate2からRate1に変換し、周波数領域変換部404に出力する。
周波数領域変換部404は、アップサンプリング部403から入力されるアップサンプリング後の第1レイヤ復号信号に対してMDCTを行い、周波数領域のパラメータとして得られる第1レイヤ復号MDCT係数を第2レイヤ復号部405に出力する。ここで、周波数領域変換部404における具体的な変換方法は、実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
第2レイヤ復号部405は、制御部401から入力される第2レイヤ符号化情報および周波数領域変換部404から入力される第1レイヤ復号MDCT係数を用いてゲインの逆量子化およびシェイプの逆量子化を行い、第2レイヤ復号MDCT係数を得る。第2レイヤ復号部405は、得られる第2レイヤ復号MDCT係数と第1レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。第2レイヤ復号部405の内部の主要な構成および具体的な動作については後述する。
時間領域変換部406は、第2レイヤ復号部405から入力される加算MDCT係数に対してIMDCTを行い、時間領域成分として得られる第2レイヤ復号信号をスイッチ407に出力する。
スイッチ407は、制御部401から入力される制御情報に基づき、音声復号装置400に入力されたビットストリームが第1レイヤ符号化情報および第2レイヤ符号化情報から構成されている場合には、時間領域変換部406から入力される第2レイヤ復号信号を出力信号として出力する一方、ビットストリームが第1レイヤ符号化情報のみから構成されている場合には、第1レイヤ復号部402から入力される第1レイヤ復号信号を出力信号として出力する。
図9は、第2レイヤ復号部405の内部の主要な構成を示すブロック図である。なお、第2レイヤ復号部405は、実施の形態1に示した音声復号装置200(図3参照)と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ復号部405は、加算MDCT係数算出部452をさらに具備する点において、音声復号装置200と相違する。なお、第2レイヤ復号部405の分離部451と、音声復号装置200の分離部201とは処理の一部に相違点があり、それを示すために異なる符号を付す。
分離部451は、制御部401から入力される第2レイヤ符号化情報から帯域情報、シェイプ符号化情報、およびゲイン符号化情報を分離し、得られる帯域情報をシェイプ逆量子化部202および予測復号有無判定部203に、シェイプ符号化情報をシェイプ逆量子化部202に、ゲイン符号化情報をゲイン逆量子化部204に出力する。
加算MDCT係数算出部452は、周波数領域変換部404から入力される第1レイヤ復号MDCT係数と、ゲイン逆量子化部204から入力される第2レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。
このように、本実施の形態によれば、各フレームにおいて異なる帯域の周波数成分を量子化対象とする場合、スケーラブル符号化を適用する上に非時間的なパラメータの予測符号化を適応的に行うため、音声符号化の符号化情報量を低減するとともに、音声・オーディオ信号の符号化誤差および復号信号の音質劣化をさらに低減することができる。
なお、本実施の形態では、第2レイヤ符号化部308は、第1レイヤMDCT係数と第2レイヤMDCT係数との差分成分を符号化対象とする場合を例にとって説明したが、本発明はこれに限定されず、第2レイヤ符号化部308は、所定周波数以下の帯域に対しては第1レイヤMDCT係数と第2レイヤMDCT係数との差分成分を符号化対象とし、所定周波数より高い帯域に対しては入力信号のMDCT係数そのものを符号化対象としても良い。すなわち、帯域に応じて差分成分を採用するか否かを切り替えても良い。
また、本実施の形態では、第2レイヤ符号化の量子化対象帯域を選択する方法として、第1レイヤMDCT係数と第2レイヤMDCT係数との残差成分のエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、第1レイヤMDCT係数のエネルギが最も大きいリージョンを選択してもよい。例えば、第1レイヤMDCT係数のサブバンド毎のエネルギを算出し、さらにリージョン毎に各サブバンドのエネルギを加算し、エネルギが最も大きいリージョンを第2レイヤ符号化の量子化対象帯域として選択してもよい。また、復号装置側においては、第1レイヤ復号により得られた第1レイヤ復号MDCT係数の各リージョンの中からエネルギが最も大きいリージョンを第2レイヤ復号の逆量子化対象帯域と選択する。これにより、符号化装置側から第2レイヤ符号化の量子化帯域に関する帯域情報を送信することなく、符号化ビットレートを低減させることができる。
また、本実施の形態では、第2レイヤ符号化部308は、第1レイヤMDCT係数と第2レイヤMDCT係数との残差成分に対し、量子化対象帯域を選択し量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、第2レイヤ符号化部308は、第1レイヤMDCT係数から第2レイヤMDCT係数を予測し、その予測されたMDCT係数と実際の第2レイヤMDCT係数との残差成分に対し、量子化対象帯域を選択し量子化を行っても良い。このようにすることで、第1レイヤMDCT係数と第2レイヤMDCT係数との相関性を利用し、符号化効率をさらに向上させることができる。
(実施の形態3)
図10は、本発明の実施の形態3に係る音声符号化装置500の主要な構成を示すブロック図である。なお、音声符号化装置500は、図1に示した音声符号化装置100と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置500は、補間値算出部504をさらに具備する点において音声符号化装置100と相違する。なお、音声符号化装置500のゲイン量子化部505と、音声符号化装置100のゲイン量子化部105とは処理の一部に相違点があり、それを示すために異なる符号を付す。
補間値算出部504は、過去のフレームの量子化対象帯域を示す帯域情報を記憶するバッファを内蔵している。補間値算出部504は、ゲイン量子化部505から読み出す過去のフレームの量子化対象帯域の量子化ゲイン値を用いて、帯域選択部102から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去のフレームにおいて量子化されなかった帯域のゲインの値を補間する。補間値算出部504は、得られるゲイン補間値をゲイン量子化部505に出力する。
ゲイン量子化部505は、予測符号化を行う際に、内蔵のバッファに記憶している過去のフレームの量子化ゲイン値および内蔵のゲインコードブックのほかに、補間値算出部504から入力されるゲイン補間値をさらに用いる点において音声符号化装置100のゲイン量子化部105と相違する。
以下、補間値算出部504が行うゲイン値の補間方法について、具体的に説明する。
補間値算出部504は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。
補間値算出部504は、まず過去の3フレームについて、帯域情報m_maxが示す帯域以外のゲインの値を線形補間により算出する。帯域情報m_maxが示す帯域より低い帯域のゲインの値については式(19)に従って補間値を算出し、帯域情報m_maxが示す帯域より高い帯域のゲインの値については式(20)に従って補間値を算出する。
式(19)および式(20)において、β
iは補間係数を示し、q
iは過去のフレームの帯域情報m_maxが示す量子化対象帯域のゲインの値を示し、gは過去のフレームの帯域情報m_maxが示す量子化対象帯域に隣接する量子化されなかった帯域のゲインの補間値を示す。ここで、iが小さいほど周波数のより低い帯域を示し、式(19)においてgは過去のフレームの帯域情報m_maxが示す量子化対象帯域の高域側の隣接帯域のゲインの補間値を示し、式(20)においてgは過去のフレームの帯域情報m_maxが示す量子化対象帯域の低域側の隣接帯域のゲインの補間値を示す。補間係数β
iは、式(19)および(20)を満たすように予め統計的に求められた値を用いるものとする。また、ここでは、式(19)および式(20)それぞれにおいて異なる補間係数β
iを用いる場合について説明したが、式(19)および式(20)において同様な1組の予測係数α
iを用いても良い。
式(19)および式(20)に示すように、補間値算出部504において過去のフレームの帯域情報m_maxが示す量子化対象帯域に隣接する高域側または低域側の1つの帯域のゲインの値を補間することが可能である。また、補間値算出部504は、式(19)および(20)により得られる結果を利用し、式(19)および(20)の演算を繰り返すことにより、次々と隣接の量子化されなかった帯域のゲインの値を補間する。
このように、補間値算出部504は、ゲイン量子化部505から読み出す過去の3フレーム分の量子化されたゲインの値を用いて、帯域選択部102から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去の3フレーム分の帯域情報m_maxが示す帯域以外の帯域のゲインの値を補間する。
次に、ゲイン量子化部505における予測符号化の動作について説明する。
ゲイン量子化部505は、記憶している過去フレームの量子化ゲイン値、補間値算出部504から入力されるゲイン補間値、および内蔵のゲインコードブックを用いて、現フレームのゲイン値を予測することにより量子化を行う。具体的には、ゲイン量子化部505は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(21)の結果が最小となるゲインコードベクトルのインデックスを求める。
式(21)において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。ここで、Ct jは時間的にtフレーム前の量子化ゲイン値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前の量子化ゲイン値を示す。またαは、ゲイン量子化部505に記憶されている4次の線形予測係数である。また、過去の3フレームにおいて量子化対象として選択されなかった帯域のゲインの値は、補間値算出部504で式(19)および式(20)に従って算出されたゲインの補間値を利用する。なお、ゲイン量子化部505は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部505は、上記の式(21)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部505は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(22)に従い、内蔵のバッファを更新する。
図11は、本発明の実施の形態3に係る音声復号装置600の主要な構成を示すブロック図である。なお、音声復号装置600は、図3に示した音声復号装置200と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置600は、補間値算出部603をさらに具備する点において音声復号装置200と相違する。なお、音声復号装置600のゲイン逆量子化部604と、音声復号装置200のゲイン逆量子化部204とは処理の一部に相違点があり、それを示すために異なる符号を付す。
補間値算出部603は、過去のフレームにおいて逆量子化された帯域情報を記憶するバッファを内蔵している。補間値算出部603は、ゲイン逆量子化部604から読み出す過去のフレームにおいて逆量子化された帯域のゲインの値を用いて、分離部201から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去のフレームにおいて逆量子化されなかった帯域のゲインの値を補間する。補間値算出部603は、得られるゲイン補間値をゲイン逆量子化部604に出力する。
ゲイン逆量子化部604は、予測復号を行う際に、記憶している過去のフレームの逆量子化されたゲインの値および内蔵のゲインコードブックのほかに、補間値算出部603から入力されるゲイン補間値をさらに用いる点において音声復号装置200のゲイン逆量子化部204と相違する。
補間値算出部603におけるゲインの値の補間方法は、補間値算出部504におけるゲインの値の補間方法と同様であるため、詳細な説明は省略する。
以下、ゲイン逆量子化部604における予測復号の動作について説明する。
ゲイン逆量子化部604は、記憶している過去のフレームにおいて逆量子化されたゲインの値、補間値算出部603から入力される補間ゲインの値、および内蔵のゲインコードブックを用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部604は、下記の式(23)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。
式(23)において、C”t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部604に記憶されている4次の線形予測係数である。また、過去の3フレームにおいて量子化対象として選択されなかった帯域のゲインの値は、補間値算出部603で算出されたゲインの補間値を利用する。ゲイン逆量子化部604は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
次いで、ゲイン逆量子化部604は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(24)に従い復号MDCT係数を算出し、下記の式(25)に従い内蔵のバッファを更新する。ここでは、算出された復号MDCT係数をX”kと記す。また、MDCT係数の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、ゲイン値Gain_q’(j)はGain_q’(j”)の値をとる。
このように、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータを量子化する際、過去のフレームにおいて量子化された値から、次々と隣接の量子化されなかった帯域の値を補間し、補間された値も用いて予測量子化を行う。そのため、音声符号化の符号化精度をさらに向上することができる。
なお、本実施の形態では、ゲインの補間値を算出する際に、予め求めた固定な補間係数βを用いる場合を例にとって説明したが、本発明はこれに限らず、予め求めた補間係数βを調整してから補間を行っても良い。例えば、各フレームで量子化された帯域のゲインの分布に応じて予測係数を調整しても良い。具体的には、各フレームで量子化されたゲインのばらつきが大きい場合には予測係数を弱め、現フレームのゲインの重みを大きくするように調整することにより、音声符号化の符号化精度を向上することが可能である。
また、本実施の形態では、各フレームで量子化する帯域として連続する複数のバンド(1リージョン)を対象とする場合について説明したが、本発明はこれに限らず、複数のリージョンを量子化対象としても良い。かかる場合には、式(19)および式(20)による補間方法のほかに、選択されたリージョンの間の帯域に関してはそれぞれのリージョンの端値を線形補間する方法を採ることにより、音声符号化の符号化精度を向上することが可能である。
(実施の形態4)
図12は、本発明の実施の形態4に係る音声符号化装置700の主要な構成を示すブロック図である。なお、音声符号化装置700は、図1に示した音声符号化装置100と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置700は、予測係数決定部704をさらに具備する点において音声符号化装置100と相違する。なお、音声符号化装置700のゲイン量子化部705と、音声符号化装置100のゲイン量子化部105とは処理の一部に相違点があり、それを示すために異なる符号を付す。
予測係数決定部704は、過去のフレームの量子化対象帯域を示す帯域情報を記憶するバッファを内蔵しており、過去のフレームの帯域情報に基づき、ゲイン量子化部705の量子化に用いる予測係数を決定し、決定した予測係数をゲイン量子化部705に出力する。
ゲイン量子化部705は、予測符号化を行う際に、予め決められた予測係数の代わりに、予測係数決定部704から入力される予測係数を用いる点において、音声符号化装置100のゲイン量子化部105と相違する。
以下、予測係数決定部704における予測係数の決定動作について説明する。
予測係数決定部704は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。
予測係数決定部704は、内蔵のバッファに記憶している帯域情報m_max、および現フレームにおいて帯域選択部102から入力された帯域情報m_maxを用いて、現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求め、共通のサブバンドの数が所定値以上である場合には、予測係数をセットAに決定しゲイン量子化部705に出力する。また、共通のサブバンドの数が所定値未満である場合には、予測係数をセットBに決定しゲイン量子化部705に出力する。ここで、予測係数のセットAは、予測係数のセットBと比べ、より過去のフレームの値を重視し、過去のフレームのゲイン値の重みをより大きくしたパラメータセットである。例えば予測次数が4次である場合、セットAは(αa0=0.60、αa1=0.25、αa2=0.10、αa3=0.05)、セットBは(αb0=0.80、αb1=0.10、αb2=0.05、αb3=0.05)のように決めることが可能である。
次に、予測係数決定部704は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて内蔵のバッファを更新する。
次に、ゲイン量子化部705における予測符号化の動作について説明する。
ゲイン量子化部705は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。ゲイン量子化部705は、予測係数決定部704から入力される予測係数と、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t jを用いて、現フレームのゲイン値を予測することにより量子化を行う。具体的には、ゲイン量子化部705は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、予測係数がセットAの場合は、下記の式(26)の結果が最小となるゲインコードベクトルのインデックスを求め、予測係数がセットBの場合には、下記の式(27)の結果が最小となるゲインコードベクトルのインデックスを求める。
式(26)および式(27)において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部705に記憶されている4次の線形予測係数である。なお、ゲイン量子化部705は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。なお、ゲイン量子化部705は、内蔵のバッファの中の過去のフレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部705は上記の式(26)あるいは式(27)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
図13は、本発明の実施の形態4に係る音声復号装置800の主要な構成を示すブロック図である。なお、音声復号装置800は、図3に示した音声復号装置200と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置800は、予測係数決定部803をさらに具備する点において音声復号装置200と相違する。なお、音声復号装置800のゲイン逆量子化部804と、音声復号装置200のゲイン逆量子化部204とは処理の一部に相違点があり、それを示すために異なる符号を付す。
予測係数決定部803は、過去のフレームにおいて分離部201から入力される帯域情報を記憶するバッファを内蔵しており、過去のフレームの帯域情報に基づき、ゲイン逆量子化部804の量子化に用いる予測係数を決定し、決定した予測係数をゲイン逆量子化部804に出力する。
ゲイン逆量子化部804は、予測復号を行う際に、予め決められた予測係数の代わりに、予測係数決定部803から入力される予測係数を用いる点において、音声復号装置200のゲイン逆量子化部204と相違する。
予測係数決定部803における予測係数の決定方法は、音声符号化装置700の予測係数決定部704における予測係数の決定方法と同様であるため、予測係数決定部803の動作についての詳細な説明は省略する。
次に、ゲイン逆量子化部804における予測復号の動作について説明する。
ゲイン逆量子化部804は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。ゲイン逆量子化部804は、予測係数決定部803から入力される予測係数、および内蔵のバッファに記憶している過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部804は、音声符号化装置700のゲイン量子化部705と同様なゲインコードブックを内蔵しており、予測係数決定部803から入力される予測係数がセットAの場合は下記の式(28)に従い、また予測係数がセットBの場合は下記の式(29)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。
式(28)および式(29)において、C”t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”t jは1フレーム前のゲイン値を示す。また、αaiおよびαbiは予測係数決定部803から入力される予測係数のセットA、セットBを示す。ゲイン逆量子化部804は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
このように、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータを量子化する際、複数の予測係数のセットのうち、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間の共通のサブバンド数が大きいほど、過去のフレームのゲイン値の重みをより大きくする予測係数のセットを選択し予測符号化を行う。そのため、音声符号化の符号化精度をさらに向上することができる。
なお、本実施の形態では、予め2種類の予測係数のセットを用意しておいて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンド数に応じて、予測符号化に用いる予測係数を切り替える場合を例にとって説明したが、本発明はこれに限らず、3種類以上の予測係数を予め用意しておいても良い。
また、本実施の形態では、現フレームにおける量子化対象の帯域が、過去のフレームで量子化されなかった場合に対しては、過去のフレームにおいて最も近い帯域の値を代用する場合について説明したが、本発明はこれに限らず、現フレームにおける量子化対象帯域の値が過去のフレームで量子化されなかった場合には、該当する過去のフレームの予測係数をゼロとし、そのフレームの予測係数を現フレームの予測係数に加算し、新たな予測係数のセットを算出し、その予測係数を用いて予測符号化を行っても良い。これにより、予測符号化の効果をより柔軟に切り替えることができ、音声符号化の符号化精度をさらに向上することが可能である。
(実施の形態5)
図14は、本発明の実施の形態5に係る音声符号化装置1000の主要な構成を示すブロック図である。なお、音声符号化装置1000は、図6に示した音声符号化装置300と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置1000は、帯域拡張符号化部1007をさらに具備する点において音声符号化装置300と相違する。なお、音声符号化装置1000の第2レイヤ符号化部1008、多重化部1009と、音声符号化装置300の第2レイヤ符号化部308、多重化部309とは処理の一部に相違点があり、それを示すために異なる符号を付す。
帯域拡張符号化部1007は、第1周波数領域変換部305から入力される第1レイヤMDCT係数および第2周波数領域変換部307から入力される入力MDCT係数を用いて帯域拡張符号化を行い、得られる帯域拡張符号化情報を多重化部1009に出力する。
多重化部1009は、第1レイヤ符号化情報および第2レイヤ符号化情報のほかに、帯域拡張符号化情報をさらに多重化する点のみにおいて多重化部309と相違する。
図15は、帯域拡張符号化部1007の内部の主要な構成を示すブロック図である。
図15において、帯域拡張符号化部1007は、高域スペクトル推定部1071および補正スケールファクタ符号化部1072を備える。
高域スペクトル推定部1071は、第2周波数領域変換部307から入力される入力MDCT係数の信号帯域0〜FLの低域スペクトルを利用して、信号帯域FL〜FHの高域スペクトルを推定し、推定スペクトルを得る。推定スペクトルの導出方法は、高域スペクトルとの類似度が最大となるような推定スペクトルを、低域スペクトルを基に、この低域スペクトルを変形することにより求める。高域スペクトル推定部1071は、この推定スペクトルに関する情報(推定情報)を符号化し、得られる符号化パラメータを出力すると共に、推定スペクトル自体を補正スケールファクタ符号化部1072に与える。
以下の説明では、高域スペクトル推定部1071から出力される推定スペクトルのことを第1スペクトルと呼び、第1周波数領域変換部305から出力される第1レイヤMDCT係数(高域スペクトル)のことを第2スペクトルと呼ぶこととする。
ここで、上記説明で現れた各種スペクトルをまとめて信号帯域と併せて示すと、以下のようになる。
狭帯域スペクトル(低域スペクトル)・・・0〜FL
広帯域スペクトル ・・・0〜FH
第1スペクトル(推定スペクトル)・・・FL〜FH
第2スペクトル(高域スペクトル)・・・FL〜FH
補正スケールファクタ符号化部1072は、第1スペクトルのスケールファクタが第2スペクトルのスケールファクタに近づくように、第1スペクトルのスケールファクタを補正し、この補正スケールファクタに関する情報を符号化して出力する。
帯域拡張符号化部1007から多重化部1009に出力される帯域拡張符号化情報は、高域スペクトル推定部1071から出力される推定情報の符号化パラメータおよび補正スケールファクタ符号化部1072から出力される補正スケールファクタの符号化パラメータを含む。
図16は、補正スケールファクタ符号化部1072の内部の主要な構成を示すブロック図である。
補正スケールファクタ符号化部1072は、スケールファクタ算出部1721、1722、補正スケールファクタ符号帳1723、乗算器1724、減算器1725、判定部1726、重み付き誤差算出部1727、および探索部1728を備え、各部は以下の動作を行う。
スケールファクタ算出部1721は、入力される第2スペクトルの信号帯域FL〜FHを複数のサブバンドに分割し、各サブバンドに含まれるスペクトルの大きさを求め、減算器1725に出力する。具体的には、サブバンドへの分割は、臨界帯域に対応付けて行われ、バーク尺度で等間隔に分割される。また、スケールファクタ算出部1721は、各サブバンドに含まれるスペクトルの平均振幅を求め、これを第2スケールファクタSF2(k){0≦k<NB}とする。ここでNBはサブバンド数を表す。なお、平均振幅の代わりに最大振幅値等を用いても良い。
スケールファクタ算出部1722は、入力される第1スペクトルの信号帯域FL〜FHを複数のサブバンドに分割し、各サブバンドの第1スケールファクタSF1(k){0≦k<NB}を算出し、乗算器1724に出力する。スケールファクタ算出部1721と同様に、平均振幅の代わりに最大振幅値等を用いても良い。
以降の処理においては、複数のサブバンドにおける各パラメータを1つのベクトル値にまとめる。例えば、NB個のスケールファクタを1つのベクトルとして表す。そして、このベクトル毎に各処理を行う場合、すなわち、ベクトル量子化を行う場合を例にとって説明を行う。
補正スケールファクタ符号帳1723は、補正スケールファクタの候補が複数格納されており、探索部1728からの指示に従い、格納されている補正スケールファクタの候補のうちの1つを乗算器1724に順次出力する。補正スケールファクタ符号帳1723に格納されている補正スケールファクタの複数の候補は、ベクトルで表される。
乗算器1724は、スケールファクタ算出部1722から出力される第1スケールファクタと、補正スケールファクタ符号帳1723から出力される補正スケールファクタの候補とを乗算し、乗算結果を減算器1725に与える。
減算器1725は、スケールファクタ算出部1721より出力される第2スケールファクタから、乗算器1724の出力、すなわち、第1スケールファクタおよび補正スケールファクタ候補の積を減じ、これにより得られる誤差信号を、重み付き誤差算出部1727および判定部1726に与える。
判定部1726は、減算器1725から与えられる誤差信号の符号に基づいて、重み付き誤差算出部1727に与える重みベクトルを決定する。具体的には、減算器1725から与えられる誤差信号d(k)は、以下の式(30)によって表される。
ここで、v
i(k)は、第i番目の補正スケールファクタの候補を表す。判定部1726は、d(k)の符号を調べ、正である場合にはw
pos、負である場合にはw
negを重み(ウェイト)として選択し、これらから構成される重みベクトルw(k)を、重み付き誤差算出部1727に出力する。これらの重みには、以下の式(31)の大小関係がある。
例えば、サブバンド数NB=4であり、d(k)の符号が{+,−,−,+}となる場合、重み付き誤差算出部1727に出力される重みベクトルw(k)は、w(k)={wpos,wneg,wneg,wpos}と表される。
重み付き誤差算出部1727は、まず、減算器1725から与えられる誤差信号の2乗値を算出し、次に、判定部1726から与えられる重みベクトルw(k)を誤差信号の2乗値に乗じて、重み付き2乗誤差Eを算出し、算出結果を探索部1728に与える。ここで、重み付き2乗誤差Eは以下の式(32)のように表される。
探索部1728は、補正スケールファクタ符号帳1723を制御して、格納されている補正スケールファクタの候補を順次出力させ、閉ループ処理により、重み付き誤差算出部1727から出力される重み付き2乗誤差Eが最小となる補正スケールファクタの候補を求める。探索部1728は、求まった補正スケールファクタの候補のインデックスioptを符号化パラメータとして出力する。
上記のように、誤差信号の符号に応じて重み付き2乗誤差を算出するときの重みを設定し、かつその重みが式(30)に示されるような関係がある場合、次のような作用が得られる。すなわち、誤差信号d(k)が正の場合とは、復号側で生成される復号値(符号化側で言うと、第1スケールファクタに補正スケールファクタ候補を乗じた値)が目標値である第2スケールファクタよりも小さくなる場合である。また、誤差信号d(k)が負の場合とは、復号側で生成される復号値が目標値である第2スケールファクタよりも大きくなる場合である。従って、誤差信号d(k)が正の場合の重みを、誤差信号d(k)が負の場合の重みよりも小さくなるように設定することにより、2乗誤差が同程度の値の場合、第2スケールファクタよりも小さい復号値を生成する補正スケールファクタ候補が選択されやすくなる。
帯域拡張符号化部1007の処理により次のような改善効果が得られる。例えば、本実施の形態のように、低域スペクトルを利用して高域スペクトルを推定する場合、一般的には、低ビットレート化を実現することができる。しかし、低ビットレート化を実現する一方で、推定スペクトルの精度、すなわち、推定スペクトルと高域スペクトルとの類似性は、上述の通り、充分に高いとは言えない。かかる場合に、スケールファクタの復号値が目標値よりも大きくなり、量子化後のスケールファクタが推定スペクトルを強調する方向に作用すると、推定スペクトルの精度の低さが人間の耳に品質劣化として知覚されやすくなる。逆に、スケールファクタの復号値が目標値よりも小さくなり、量子化後のスケールファクタがこの推定スペクトルを減衰する方向に作用するときは、推定スペクトルの精度の低さが目立たなくなり、復号信号の音質が改善するという効果が得られる。なお、この傾向は、計算機によるシミュレーションにおいても確認することができた。
図17は、第2レイヤ符号化部1008の内部の主要な構成を示すブロック図である。なお、第2レイヤ符号化部1008は、図7に示した第2レイヤ符号化部308と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。第2レイヤ符号化部1008の残差MDCT係数算出部1081と、第2レイヤ符号化部308の残差MDCT係数算出部381とは処理の一部に相違点があり、それを示すために異なる符号を付す。
残差MDCT係数算出部1081は、入力された入力MDCT係数と第1レイヤ拡張MDCT係数とから、第2レイヤ符号化部において量子化対象とする残差MDCTを算出する。残差MDCT係数算出部1081は、帯域拡張符号化部1007にて拡張されない帯域に対しては、入力MDCT係数と第1レイヤ拡張MDCT係数との残差を残差MDCT係数とし、帯域拡張符号化部1007にて拡張された帯域に対しては残差ではなく、入力MDCT係数そのものを残差MDCT係数とするという点において、実施の形態2に係る残差MDCT係数算出部381とは異なる。
図18は、本発明の実施の形態5に係る音声復号装置1010の主要な構成を示すブロック図である。なお、音声復号装置1010は、図8に示した音声復号装置400と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置1010は、帯域拡張復号部1012および時間領域変換部1013をさらに具備する点において音声復号装置400と相違する。なお、音声復号装置1010の制御部1011、第2レイヤ復号部1015、スイッチ1017と、音声復号装置400の制御部401、第2レイヤ復号部405、スイッチ407とは処理の一部に相違点があり、それを示すために異なる符号を付す。
制御部1011は、音声符号化装置1000から伝送されるビットストリームの構成要素を分析し、このビットストリームの構成要素に応じて、適応的に第1レイヤ復号部402、帯域拡張復号部1012、および第2レイヤ復号部1015に適切な符号化情報を出力するとともに、制御情報をスイッチ1017に出力する。具体的には、制御部1011は、ビットストリームが第1レイヤ符号化情報、帯域拡張符号化情報および第2レイヤ符号化情報から構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、帯域拡張符号化情報を帯域拡張復号部1012に出力し、第2レイヤ符号化情報を第2レイヤ復号部1015に出力する。また、制御部1011は、ビットストリームが第1レイヤ符号化情報、および帯域拡張符号化情報のみから構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、帯域拡張符号化情報を帯域拡張復号部1012に出力する。また、制御部1011は、ビットストリームが第1レイヤ符号化情報のみから構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力する。また、制御部1011は、スイッチ1017を制御する制御情報をスイッチ1017に出力する。
帯域拡張復号部1012は、制御部1011から入力される帯域拡張符号化情報および周波数領域変換部404から入力される第1レイヤ復号MDCT係数を用いて、帯域拡張処理を行い、第1レイヤ拡張MDCT係数を得る。そして、帯域拡張復号部1012は、得られた第1レイヤ拡張MDCT係数を時間領域変換部1013、および第2レイヤ復号部1015に出力する。帯域拡張復号部1012の内部の主要な構成および具体的な動作については後述する。
時間領域変換部1013は、帯域拡張復号部1012から入力される第1レイヤ拡張MDCT係数に対してIMDCTを行い、時間領域成分として得られる第1レイヤ拡張復号信号をスイッチ1017に出力する。
第2レイヤ復号部1015は、制御部1011から入力される第2レイヤ符号化情報および帯域拡張復号部1012から入力される第1レイヤ拡張MDCT係数を用いてゲインの逆量子化およびシェイプの逆量子化を行い、第2レイヤ復号MDCT係数を得る。第2レイヤ復号部1015は、得られる第2レイヤ復号MDCT係数と第1レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。第2レイヤ復号部1015の内部の主要な構成および具体的な動作については後述する。
スイッチ1017は、制御部1011から入力される制御情報に基づき、音声復号装置1010に入力されたビットストリームが第1レイヤ符号化情報、帯域拡張符号化情報および第2レイヤ符号化情報から構成されている場合は、時間領域変換部406から入力される第2レイヤ復号信号を出力信号として出力する。また、スイッチ1017は、ビットストリームが第1レイヤ符号化情報、および帯域拡張符号化情報から構成されている場合は、時間領域変換部1013から入力される第1レイヤ拡張復号信号を出力信号として出力する。また、スイッチ1017は、ビットストリームが第1レイヤ符号化情報のみから構成されている場合は、第1レイヤ復号部402から入力される第1レイヤ復号信号を出力信号として出力する。
図19は、帯域拡張復号部1012の内部の主要な構成を示すブロック図である。帯域拡張復号部1012は、高域スペクトル復号部1121、補正スケールファクタ復号部1122、乗算器1123、および連結部1124から構成される。
高域スペクトル復号部1121は、制御部1011から入力される帯域拡張符号化情報に含まれる推定情報の符号化パラメータと第1スペクトルとを用い、信号帯域FL〜FHの推定スペクトル(微細スペクトル)を復号する。得られた推定スペクトルは乗算器1123に与えられる。
補正スケールファクタ復号部1122は、制御部1011から入力される帯域拡張符号化情報に含まれる補正スケールファクタの符号化パラメータを用いて補正スケールファクタを復号する。具体的には、内蔵の補正スケールファクタ符号帳(図示せず)を参照し、対応する補正スケールファクタを乗算器1123に出力する。
乗算器1123は、高域スペクトル復号部1121から出力される推定スペクトルに、補正スケールファクタ復号部1122から出力される補正スケールファクタを乗じ、乗算結果を連結部1124に出力する。
連結部1124は、第1スペクトルと乗算器1123から出力される推定スペクトルとを周波数軸上において連結し、信号帯域0〜FHの広帯域の復号スペクトルを生成して、第1レイヤ拡張MDCT係数として時間領域変換部1013に出力する。
帯域拡張復号部1012により、高位レイヤの周波数領域での符号化において、入力信号を周波数領域の係数に変換してスケールファクタを量子化する際に、スケールファクタが小さくなる量子化候補が選択されやすくなる重み付き歪み尺度を用いてスケールファクタの量子化を行う。すなわち、量子化後のスケールファクタが量子化前のスケールファクタよりも小さいものが選ばれやすくなる。よって、スケールファクタの量子化に配分されるビット数が充分でない場合でも、聴感的な主観品質の劣化を抑えることができる。
図20は、第2レイヤ復号部1015の内部の主要な構成を示すブロック図である。なお、第2レイヤ復号部1015は、図9に示した第2レイヤ復号部405と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ復号部1015の加算MDCT係数算出部1151と、第2レイヤ復号部405の加算MDCT係数算出部452とは処理の一部に相違点があり、それを示すために異なる符号を付す。
加算MDCT係数算出部1151は、帯域拡張復号部1012から第1レイヤ拡張MDCT係数が入力され、ゲイン逆量子化部204から第2レイヤ復号MDCT係数が入力される。加算MDCT係数算出部1151は、第1レイヤ拡張MDCT係数と第2レイヤ復号MDCT係数を加算し、加算MDCT係数を算出する。ただし、加算MDCT係数1151は、第1レイヤ拡張MDCT係数のうち、帯域拡張された帯域に対しては、第1レイヤ拡張MDCT係数の値をゼロとして加算する。すなわち、帯域拡張された帯域に対しては、第2レイヤ復号MDCT係数の値を加算MDCT係数の値とする。
このように、本実施の形態によれば、各フレームにおいて異なる帯域の周波数成分を量子化対象とする場合、帯域拡張技術を利用するスケーラブル符号化を適用する上に非時間的なパラメータの予測符号化を適応的に行う。そのため、音声符号化の符号化情報量を低減するとともに、音声・オーディオ信号の符号化誤差および復号信号の音質劣化をさらに低減することができる。
また、帯域拡張符号化方法により拡張された帯域の成分に対しては残差を算出しないため、上位レイヤにおいて量子化対象成分のエネルギが増大することがなく、量子化効率を向上することができる。
なお、本実施の形態では、符号化装置において、第1レイヤ復号部にて復号した低域成分と、入力信号の高域成分との相関を利用して帯域拡張符号化情報を算出する方法を採用した場合を例にとって説明したが、本発明はこれに限らず、帯域拡張符号化情報を算出せずに、AMR−WB(Adaptive MultiRate - WideBand)のように高域を雑音成分で擬似的に生成する方法を採用する構成においても同様に適用できる。または、本実施の形態で説明した帯域拡張符号化方法や、AMR−WBでも利用している高域成分生成方法を利用しないスケーラブル符号化/復号方法においても、本発明の帯域選択方法は同様に適用できる。
(実施の形態6)
図21は、本発明の実施の形態6に係る音声符号化装置1100の主要な構成を示すブロック図である。
この図において、音声符号化装置1100は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部1108、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、第1レイヤではCELP方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
なお、図21に示す音声符号化装置1100において第2レイヤ符号化部1108以外の構成要素は、図6に示した音声符号化装置300の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図22は、第2レイヤ符号化部1108の内部の主要な構成を示すブロック図である。第2レイヤ符号化部1108は、残差MDCT係数算出部381、帯域選択部1802、シェイプ量子化部103、予測符号化有無判定部104、ゲイン量子化部1805、および多重化部106とから主に構成される。なお、第2レイヤ符号化部1108において帯域選択部1802、およびゲイン量子化部1805以外の構成要素は、図7に示した第2レイヤ符号化部308の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
帯域選択部1802は、まず、残差MDCT係数Xkを複数のサブバンドに分割する。ここでは、J(Jは自然数)個のサブバンドに均等に分割する場合を例にあげ説明する。そして、帯域選択部1802は、J個のサブバンドの中でL(Lは自然数)個のサブバンドを選択し、M(Mは自然数)種類のリージョンを得る。
図23は、帯域選択部1802において得られるリージョンの構成を例示する図である。
この図において、サブバンドの数は17個(J=17)であり、リージョンの種類は8種類(M=8)であり、各リージョンは2つのサブバンド群(この2つのサブバンド群を構成するバンド数はそれぞれ3と2とする)から構成される。ここで、2つのサブバンド群のうち、高域側に位置する2つのバンド数からなるサブバンド群は、全てのフレームを通じて固定であり、そのサブバンドのインデックスは例えば15、16である。例えば、リージョン4はサブバンド6〜8、15、16からなる。
次いで、帯域選択部1802は、下記の式(33)に従い、M種類の各リージョンの平均エネルギE(m)を算出する。
この式において、j’はJ個の各サブバンドのインデックスを示し、mは、M種類の各リージョンのインデックスを示す。なお、Region(m)は、リージョンmを構成するL個のサブバンドのインデックスの集合を意味し、B(j’)は、サブバンドj’を構成する複数のMDCT係数のインデックスのうちの最小値を示す。W(j’)は、サブバンドj’のバンド幅を示し、以下の説明では、J個の各サブバンドのバンド幅が全て等しい場合、すなわちW(j’)が定数である場合を例にとって説明する。
次いで、帯域選択部1802は、平均エネルギE(m)が最大となるリージョン、例えばリージョンm_maxが選択された場合にはj’∈Region(m_max)であるサブバンドからなる帯域を量子化対象帯域として選択し、このリージョンを示すインデックスm_maxを帯域情報としてシェイプ量子化部103、予測符号化有無判定部104、および多重化部106に出力する。また、帯域選択部1802は、残差MDCT係数Xkをシェイプ量子化部103に出力する。
ゲイン量子化部1805は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。予測符号化有無判定部104から入力される判定結果が予測符号化を行うという判定結果を示す場合、ゲイン量子化部1805は、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t j’を用いて、現フレームのゲイン値を予測することにより量子化する。具体的には、ゲイン量子化部1805は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(34)の結果が最小となるゲインコードベクトルのインデックスを求める。
この式において、GCi kはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、kはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、kは0〜4の値を取る。また、ここでは選択されたリージョンのサブバンドのゲインをサブバンドのインデックスが昇順になるように連結させ、連続したゲインを一つのL次元ゲインコードベクトルとして扱い、ベクトル量子化を行う。したがって、図23を用いて説明すると、リージョン4の場合、サブバンドインデックス6、7、8、15、16のゲイン値を連結させて5次元のゲインコードベクトルとして扱う。また、ここで、Ct j’は時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct j’は時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部1805に記憶されている4次の線形予測係数である。
ゲイン量子化部1805は、上記の式(34)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。なお、内蔵のバッファの中の過去フレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部1805は上記の式(34)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
一方、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合、ゲイン量子化部1805は、下記の式(35)に従い、シェイプ量子化部103から入力される理想ゲイン値Gain_i(j’)を直接量子化する。ここでも、ゲイン量子化部1805は、理想ゲイン値をL次元ベクトルとして扱い、ベクトル量子化を行う。
ここでは、上記の式(35)を最小にするコードブックのインデックスをG_minと記す。
ゲイン量子化部1805は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部1805は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t j’を用いて、下記の式(36)に従い、内蔵のバッファを更新する。すなわち、式(36)においては、ゲインコードベクトルGC
G_min jの要素インデックスj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、C
1 j’の値を更新する。
図24は、本実施の形態に係る音声復号装置1200の主要な構成を示すブロック図である。
この図において、音声復号装置1200は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部1205、時間領域変換部406、およびスイッチ407を備える。
なお、図24に示す音声復号装置1200おいて、第2レイヤ復号部1205以外の構成要素は、図8に示した音声復号装置400の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図25は、第2レイヤ復号部1205の内部の主要な構成を示すブロック図である。第2レイヤ復号部1205は、分離部451、シェイプ逆量子化部202、予測復号有無判定部203、ゲイン逆量子化部2504、および加算MDCT係数算出部452から主に構成される。なお、第2レイヤ復号部1205においてゲイン逆量子化部2504以外の構成要素は、図9に示した第2レイヤ復号部405の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
ゲイン逆量子化部2504は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合、ゲイン逆量子化部2504は、内蔵のバッファに記憶されている過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部2504は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブック(GC
G_min k)(kは要素インデックスを示す)を内蔵しており、下記の式(37)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t j’は時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t j’は1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部2504に記憶されている4次の線形予測係数である。ゲイン逆量子化部2504は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、式(37)においては、ゲインコードベクトルGC
G_min kの要素インデックスk、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、Gain_q’(j’)の値を算出する。
なお、内蔵バッファの中に過去フレームに対応するサブバンドのゲインの値が存在しない場合、ゲイン逆量子化部2504は、上記の式(37)において、内部バッファの中の周波数的に最も近いサブバンドのゲイン値を代用する。
一方、予測復号有無判定部203から入力される判定結果が予測復号を行わないという判定結果を示す場合、ゲイン逆量子化部2504は、上記のゲインコードブックを用いて、下記の式(38)に従いゲインの値を逆量子化する。ここでも、ゲイン値をL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、予測復号を行わない場合、ゲイン逆量子化部2504は、ゲイン符号化情報G_minに対応するゲインコードベクトルGC
k G_minを直接ゲイン値とする。なお、式(38)についても、式(37)と同様に、kとj’とをそれぞれ昇順に従って対応させるものとする。
次いで、ゲイン逆量子化部2504は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(39)に従い復号MDCT係数を算出し、下記の式(40)に従い内蔵のバッファを更新する。ここで、式(40)においては、逆量子化したゲインの値Gain_q’(j)のj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させてC”
1 j’の値を更新する。また、ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j’)〜B(j’+1)−1内に存在する場合、ゲイン値はGain_q’(j’)の値をとる。
ゲイン逆量子化部2504は、上記の式(39)に従い算出された復号MDCT係数X”kを加算MDCT係数算出部452に出力する。
このように、本実施の形態によれば、全帯域の中から隣接するサブバンドからなる1リージョンを量子化対象帯域として選択するのに比べ、音質を改善したい複数の帯域を広範囲に亘ってあらかじめ設定しておき、広範囲に亘って不連続な複数の帯域が量子化対象帯域として選択される。そのため、低域部と高域部の両者の品質改善を同時に図ることができる。
本実施の形態において、図23に示すように常に量子化対象帯域に含まれるサブバンドを高域側に固定する理由は、スケーラブルコーデックの第1レイヤではまだ高域部について符号化歪みが大きいためである。従って、第2レイヤにおいては、聴感的に重要な低中域部を量子化対象として選択することに加え、第1レイヤによってあまり精度良く符号化されていない高域部も量子化対象として固定的に選択することにより、音質の向上を図る。
なお、本実施の形態では、全フレームを通じて高域の同一サブバンド(具体的にはサブバンドインデックス15、16)をリージョンに含ませることにより、高域部の量子化対象となる帯域を固定にする場合を例に挙げて説明したが、本発明はこれに限定されず、高域のサブバンドについても、低域のサブバンドと同様に、複数の量子化対象帯域の候補から量子化対象となる帯域を選択しても良い。かかる場合、高域のサブバンドほどより大きい重みを乗じてから選択を行っても良い。また、入力信号のサンプリング周波数、符号化ビットレート、第1レイヤ復号信号のスペクトル特性、または入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、候補となる帯域を適応的に変更することも可能である。例えば、入力信号と第1レイヤ復号信号との差分信号のスペクトル(残差MDCT係数)のエネルギ分布が高い部分を優先的に量子化対象帯域の候補とする方法も考えられる。
また、本実施の形態では、リージョンを構成する高域側のサブバンド群を固定にして、現フレームにおいて選択された量子化対象帯域と過去フレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部に予測符号化を適用するか否かを判定する場合を例にとって説明したが、本発明はこれに限定されず、リージョンを構成する高域側のサブバンド群のゲインについては常に予測符号化を適用し、低域側のサブバンド群についてのみ予測符号化を行うか否かの判定を行っても良い。この場合、現フレームで選択された量子化対象帯域と前フレームで選択された量子化対象帯域との間での共通のサブバンドの数は、低域側のサブバンド群のみに対して考慮される。すなわち、この場合、量子化ベクトルは、予測符号化を行う部分と予測符号化を行わない部分とに分け量子化される。このように、リージョンを構成する高域側の固定のサブバンド群に対して予測符号化要否の判定を行わず常に予測符号化を行うため、より効率的にゲインを量子化することができる。
また、本実施の形態では、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部における予測符号化の適用・非適用を切替える場合を例にとって説明したが、本発明はこれに限定されず、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数を利用しても良い。この場合、たとえ、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数が所定値以下である場合でも、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数によっては、ゲイン量子化部に予測符号化を適用することもあり得る。
また、本実施の形態では、リージョンが低域側のサブバンド群と高域側のサブバンド群とから構成される場合を例にとって説明したが、本発明はこれに限定されず、例えば中域部にもサブバンド群を設定し、3つ以上のサブバンド群からリージョンを構成しても良い。また、入力信号のサンプリング周波数、符号化時のビットレート、第1レイヤ復号信号のスペクトル特性、または入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、リージョンを構成するサブバンド群の数を適応的に変更しても良い。
また、本実施の形態では、リージョンを構成する高域側のサブバンド群が全フレームを通じて固定である場合を例に挙げて説明したが、本発明はこれに限定されず、リージョンを構成する低域側のサブバンド群が全フレームを通じて固定であっても良い。また、リージョンを構成する低域側、高域側の両方のサブバンド群が全フレームを通じて固定であっても良く、または低域側、高域側の両方のサブバンド群をフレーム毎に探索し選択しても良い。また、リージョンを構成するサブバンド群のうち、3つ以上のサブバンド群に対して上記の各種方法を適用しても良い。
また、本実施の形態では、リージョンを構成するサブバンドのうち、高域側のサブバンド群を構成するサブバンドの数が低域側のサブバンド群を構成するサブバンドの数よりも小さい場合(高域側のサブバンド群のサブバンド数が2、低域側サブバンド群のサブバンド数が3)を例にとって説明したが、本発明はこれに限定されず、高域側のサブバンド群を構成するサブバンド数が低域側のサブバンド群を構成するサブバンドの数と等しい、あるいはより大きくても良い。また、入力信号のサンプリング周波数、符号化時のビットレート、第1レイヤ復号信号のスペクトル特性、入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、各サブバンド群を構成するサブバンドの数を適応的に変更しても良い。
また、本実施の形態では、第1レイヤ符号化部302においてCELP符号化方式の符号化を行う場合を例にとって説明したが、本発明はこれに限定されず、CELP符号化方式以外の符号化(例えば変換符号化など)を行っても良い。
(実施の形態7)
図26は、本発明の実施の形態7に係る音声符号化装置1300の主要な構成を示すブロック図である。
この図において、音声符号化装置1300は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部1308、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、第1レイヤではCELP方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
なお、図26に示す音声符号化装置1300において第2レイヤ符号化部1308以外の構成要素は、図6に示した音声符号化装置300の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図27は、第2レイヤ符号化部1308の内部の主要な構成を示すブロック図である。第2レイヤ符号化部1308は、残差MDCT係数算出部381、帯域選択部102、シェイプ量子化部103、予測符号化有無判定部3804、ゲイン量子化部3805、および多重化部106から主に構成される。なお、第2レイヤ符号化部1308において予測符号化有無判定部3804、およびゲイン量子化部3805以外の構成要素は、図7に示した第2レイヤ符号化部308の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
予測符号化有無判定部3804は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測符号化有無判定部3804は、まず、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxおよび現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通するサブバンドを検出する。予測符号化有無判定部3804は、帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されたサブバンドに対しては予測符号化を適用すると判定し、Pred_Flag(j)=ONと設定する。一方、予測符号化有無判定部3804は、帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されていないサブバンドに対しては予測符号化を適用しないと判定し、Pred_Flag(j)=OFFと設定する。ここで、Pred_Flagとは、各サブバンドに対する予測符号化の適用・非適用の判定結果を示すフラグであり、値がONの場合は、サブバンドのゲイン値に対し予測符号化を適用することを意味し、値がOFFの場合は、サブバンドのゲイン値に対し予測符号化を適用しないことを意味する。予測符号化有無判定部3804は、各サブバンドに対する判定結果をゲイン量子化部3805に出力する。次いで、予測符号化有無判定部3804は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン量子化部3805は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。ゲイン量子化部3805は、予測符号化有無判定部3804から入力される判定結果に応じて、現フレームのゲイン値の量子化における予測符号化の適用の有無を切替える。例えば、予測符号化を行う場合には、ゲイン量子化部3805は、L個のサブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、予測符号化有無判定部3804から入力される判定結果に応じた距離計算を行い、下記の式(41)の結果が最小となるゲインコードベクトルのインデックスを求める。なお、式(41)では、j∈Region(m_max)を満たす全てのjに対して、Pred_Flag(j)に応じどちらかの距離計算を行い、その誤差の合計値が最小となるゲインコードベクトルのインデックスを求めるものとする。
この式において、GCi kはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、kはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、kは0〜4の値を取る。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部3805に記憶されている4次の線形予測係数である。なお、ゲイン量子化部3805は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部3805は、上記の式(41)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。
ゲイン量子化部3805は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部3805は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(42)に従い、内蔵のバッファを更新する。なお、式(42)においては、ゲインコードベクトルGC
G_min jの要素インデックスj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、C
1 j’の値を更新する。
図28は、本実施の形態に係る音声復号装置1400の主要な構成を示すブロック図である。
この図において、音声復号装置1400は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部1405、時間領域変換部406、およびスイッチ407を備える。
なお、図28に示す音声復号装置1400において第2レイヤ復号部1405以外の構成要素は、図8に示した音声復号装置400の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図29は、第2レイヤ復号部1405の内部の主要な構成を示すブロック図である。第2レイヤ復号部1405は、分離部451、シェイプ逆量子化部202、予測復号有無判定部4503、ゲイン逆量子化部4504、および加算MDCT係数算出部452とから主に構成される。なお、図29に示す第2レイヤ復号部1405における予測復号有無判定部4503、およびゲイン逆量子化部4504以外の構成要素は、図9に示した第2レイヤ復号部405の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
予測復号有無判定部4503は、過去のフレームにおいて分離部451から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測復号有無判定部4503は、まず、過去のフレームにおいて分離部451から入力された帯域情報m_maxおよび現フレームにおいて分離部451から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通するサブバンドを検出する。予測復号有無判定部4503は、分離部451から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されたサブバンドに対しては予測復号を適用すると判定し、Pred_Flag(j)=ONと設定する。一方、予測復号有無判定部4503は、分離部451から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されていないサブバンドに対しては予測復号を適用しないと判定し、Pred_Flag(j)=OFFと設定する。ここで、Pred_Flagとは、各サブバンドに対する予測復号の適用・非適用の判定結果を示すフラグであり、値がONの場合は、サブバンドのゲイン値に対し予測復号を適用することを意味し、値がOFFの場合は、サブバンドのゲイン値に対し予測復号を適用しないことを意味する。次に、予測復号有無判定部4503は、各サブバンドに対する判定結果をゲイン逆量子化部4504に出力する。次いで、予測復号有無判定部4503は、現フレームにおいて分離部451から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン逆量子化部4504は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵しており、予測復号有無判定部4503から入力される判定結果に応じて、現フレームのゲイン値の復号における予測復号の適用の有無を切替える。ゲイン逆量子化部4504は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブックを内蔵しており、例えば、予測復号を行う場合には、下記の式(43)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部4504に記憶されている4次の線形予測係数である。ゲイン逆量子化部4504は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。なお、式(43)においては、ゲインコードベクトルGC
G_min kの要素インデックスk、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、Gain_q’(j’)の値を算出する。
次いで、ゲイン逆量子化部4504は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(44)に従い復号MDCT係数を算出し、下記の式(45)に従い内蔵のバッファを更新する。ここで、式(45)においては、逆量子化したゲインの値Gain_q’(j)のj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させてC”
1 j’の値を更新する。また、ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j’)〜B(j’+1)−1内に存在する場合、ゲイン値はGain_q’(j’)の値をとる。
ゲイン逆量子化部4504は、上記の式(44)に従い算出された復号MDCT係数X”kを加算MDCT係数算出部452に出力する。
このように、本実施の形態によれば、各フレームにおいて選択された量子化対象帯域のゲインの量子化時に、量子化対象帯域に含まれる各サブバンドが時間的に過去のフレームにおいて量子化されたか否かを検知する。そして、過去のフレームにおいて量子化されたことがあるサブバンドに対しては予測符号化を適用し、過去のフレームにおいて量子化されたことがないサブバンドに対しては予測符号化を適用せずにベクトル量子化を行う。これにより、ベクトル全体に対して予測符号化の適用・非適用を切替える手法に比べてより効率的に周波数領域パラメータを符号化することができる。
また、本実施の形態では、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部における予測符号化の適用・非適用を切替える方法について説明したが、本発明はこれに限定されず、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数を利用しても良い。この場合、たとえ、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数が所定値以下である場合でも、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数によっては、ゲイン量子化部において予測符号化を適用することもあり得る。
また、本実施の形態で説明した量子化方法は、実施の形態6にて説明した量子化対象帯域の選択方法と組み合わせることも可能である。例えば、量子化対象帯域であるリージョンが低域側のサブバンド群と高域側のサブバンド群とから構成されており、高域側のサブバンド群が全フレームを通じて固定であり、低域側のサブバンド群のゲインと高域側のサブバンド群のゲインとを連続させたベクトルを量子化する場合について説明する。この場合、量子化対象帯域のゲインのベクトルのうち、高域側のサブバンド群のゲインを示す要素については常に予測符号化を適用し、低域側のサブバンド群のゲインを示す要素については予測符号化を適用せずにベクトル量子化する。これにより、ベクトル全体に対して予測符号化の適用・非適用を切替える場合に比べてより効率的にゲインベクトルを量子化することが出来る。また、この時、低域側のサブバンド群において、過去のフレームにおいて量子化されたサブバンドに対しては予測符号化を適用し、過去のフレームにおいて量子化されていないサブバンドに対しては予測符号化を適用せずに、ベクトル量子化をするという方法も効率的である。また、低域側のサブバンド群のゲインを示す要素については、実施の形態1で説明したように、時間的に過去のフレームで選択された量子化対象帯域を構成するサブバンドを利用して、予測符号化の適用・非適用を切替えて量子化する。これにより、ゲインベクトルをさらに効率的に量子化することができる。なお、本発明は、上述した構成を組み合わせた構成についても適用可能である。
以上、本発明の実施の形態について説明した。
なお、本発明の各実施の形態では、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、予めある帯域を予備的に選択し、予備的に選択された帯域において量子化対象帯域を最終的に選択しても良い。かかる場合、入力信号のサンプリングレート、あるいは符号化ビットレートなどによって予備的に選択される帯域は決定すれば良い。例えば、サンプリングレートが低い場合は、低域部を予備的に選択する方法などがある。
また、上記各実施の形態においては、変換符号化方法としてMDCTを利用しているため、上記各実施の形態で用いた「MDCT係数」は、実質的にスペクトルを意味する。したがって、「MDCT係数」という表記は「スペクトル」と置き換えても良い。
また、上記各実施の形態においては、音声復号装置200、200a、400、600、800、1010、1200、1400は、それぞれ音声符号化装置100、100a、300、500、700、1000、1100、1300より伝送された符号化データを入力して処理するという例を示したが、同様の構成を有する符号化データを生成可能な他の構成の符号化装置が出力した符号化データを入力して処理しても良い。
また、本発明に係る符号化装置、復号装置、およびこれらの方法は、上記各実施の形態に限定されず、種々変更して実施することが可能である。例えば、各実施の形態は、適宜組み合わせて実施することが可能である。
本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。
また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係る符号化方法/復号方法のアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置/復号装置と同様の機能を実現することができる。
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部または全てを含むように1チップ化されても良い。
また、ここではLSIとしたが、集積度の違いによって、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラム化することが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらに、半導体技術の進歩または派生する別技術により、LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
2006年12月13日出願の特願2006−336270の日本出願、2007年3月2日出願の特願2007−053499の日本出願、2007年5月17日出願の特願2007−132078の日本出願、および2007年7月13日出願の特願2007−185078の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
本発明の概略は、その一例としては、各フレームにおいて異なる帯域の周波数成分の量子化において、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数が所定値以上であると判定した場合には周波数領域のパラメータに対し予測符号化を行い、また、共通のサブバンドの数が所定値より小さいと判定した場合には周波数領域のパラメータを直接符号化するというものである。これにより、音声・オーディオ信号等の符号化情報量を低減するとともに、復号信号や復号音声等の急激な品質劣化を防ぐことができ、音声・オーディオ信号等の符号化誤差および復号信号の品質劣化、特に復号音声の音質劣化を低減することができる。
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。以下においては、本発明の符号化装置/復号装置の例として、音声符号化装置/音声復号装置を用いて説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る音声符号化装置100の主要な構成を示すブロック図である。
この図において、音声符号化装置100は、周波数領域変換部101、帯域選択部102、シェイプ量子化部103、予測符号化有無判定部104、ゲイン量子化部105、および多重化部106を備える。
周波数領域変換部101は、入力信号を用いて修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)を行い、周波数領域のパラメータであるMDCT係数を算出して帯域選択部102に出力する。
帯域選択部102は、周波数領域変換部101から入力されるMDCT係数を複数のサブバンドに分割し、複数のサブバンドから量子化対象となる帯域を選択し、選択した帯域を示す帯域情報をシェイプ量子化部103、予測符号化有無判定部104、多重化部106に出力する。また、帯域選択部102は、MDCT係数をシェイプ量子化部103に出力する。なお、シェイプ量子化部103へのMDCT係数の入力は、周波数領域変換部101から帯域選択部102への入力とは別に、周波数領域変換部101から直接行っても良い。
シェイプ量子化部103は、帯域選択部102から入力されるMDCT係数のうち、帯域選択部102から入力される帯域情報が示す帯域に対応するMDCT係数を用いてシェイプ量子化を行い、得られるシェイプ符号化情報を多重化部106に出力する。また、シェイプ量子化部103は、シェイプ量子化の理想ゲイン値を求め、求められた理想ゲイン値をゲイン量子化部105に出力する。
予測符号化有無判定部104は、帯域選択部102から入力される帯域情報を用いて現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測符号化有無判定部104は、共通のサブバンドの数が所定値以上である場合には、帯域情報が示す量子化対象帯域のMDCT係数に対して予測符号化を行うと判定し、共通のサブバンドの数が所定値より小さい場合には、帯域情報が示す量子化対象帯域のMDCT係数に対して予測符号化を行わないと判定する。予測符号化有無判定部104は、判定結果をゲイン量子化部105に出力する。
ゲイン量子化部105は、予測符号化有無判定部104から入力される判定結果が予測符号化を行うという判定結果を示す場合には、内蔵のバッファに記憶されている過去のフレームの量子化ゲイン値および内蔵のゲインコードブックを用いて現フレームの量子化対象帯域のゲインの予測符号化を行ってゲイン符号化情報を得る。一方、ゲイン量子化部105は、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合には、シェイプ量子化部103から入力される理想ゲイン値を直接量子化してゲイン符号化情報を得る。ゲイン量子化部105は、得られるゲイン符号化情報を多重化部106に出力する。
多重化部106は、帯域選択部102から入力される帯域情報、シェイプ量子化部103から入力されるシェイプ符号化情報、およびゲイン量子化部105から入力されるゲイン符号化情報を多重化し、得られるビットストリームを音声復号装置に送信する。
上記のような構成を有する音声符号化装置100は、入力信号をN(Nは自然数)サンプルずつ区切り、Nサンプルずつを1フレームとしてフレーム毎に符号化を行う。以下、音声符号化装置100の各部の動作について詳細に説明する。なお、以下の説明では、符号化の対象となるフレームの入力信号をxn(n=0、1、…、N−1)と表す。ここで、nは符号化の対象となるフレームにおける各サンプルのインデックスを示す。
周波数領域変換部101は、N個のバッファを内蔵し、まず、下記の式(1)に従い、「0」値を用いて各バッファを初期化する。
この式において、bufn(n=0、…、N−1)は周波数領域変換部101が内蔵しているN個のバッファの中のn+1番目を示す。
次いで、周波数領域変換部101は、下記の式(2)に従い、入力信号x
nを修正離散コサイン変換(MDCT)してMDCT係数X
kを求める。
この式において、kは1フレームにおける各サンプルのインデックスを示す。なお、x’
nは、下記の式(3)に従い、入力信号x
nとバッファbuf
nとを結合させたベクトルである。
次いで、周波数領域変換部101は、下記の式(4)に示すようにバッファbuf
n(n=0、…、N−1)を更新する。
次いで、周波数領域変換部101は、求められたMDCT係数Xkを帯域選択部102に出力する。
帯域選択部102は、まず、MDCT係数Xkを複数のサブバンドに分割する。ここでは、MDCT係数XkがJ(Jは自然数)個のサブバンドに均等に分割される場合を例にあげ説明する。そして、帯域選択部102は、J個のサブバンドの中で連続するL(Lは自然数)個のサブバンドを選択し、M(Mは自然数)種類のサブバンドのグループを得る。以下、このM種類のサブバンドのグループをリージョンと呼ぶ。
図2は、帯域選択部102において得られるリージョンの構成を例示する図である。
この図において、サブバンドの数は17個(J=17)であり、リージョンの種類は8種類(M=8)であり、各リージョンは連続する5個(L=5)のサブバンドで構成されている。そのうち、例えばリージョン4はサブバンド6〜10からなる。
次いで、帯域選択部102は、下記の式(5)に従い、M種類の各リージョンの平均エ
ネルギE(m)を算出する。
この式において、jは、J個の各サブバンドのインデックスを示し、mは、M種類の各リージョンのインデックスを示す。なお、S(m)は、リージョンmを構成するL個のサブバンドのインデックスのうちの最小値を示し、B(j)は、サブバンドjを構成する複数のMDCT係数のインデックスのうちの最小値を示す。W(j)は、サブバンドjのバンド幅を示す。以下の説明では、J個の各サブバンドのバンド幅が全て等しい場合、すなわちW(j)が定数である場合を例にとって説明する。
次いで、帯域選択部102は、平均エネルギE(m)が最大となるリージョン、例えばサブバンドj”〜j”+L−1からなる帯域を量子化対象となる帯域(量子化対象帯域)として選択し、このリージョンを示すインデックスm_maxを帯域情報としてシェイプ量子化部103、予測符号化有無判定部104、および多重化部106に出力する。また、帯域選択部102は、MDCT係数Xkをシェイプ量子化部103に出力する。なお、以下の説明では、帯域選択部102で選択した量子化対象帯域を示すバンドインデックスをj”〜j”+L−1とする。
シェイプ量子化部103は、帯域選択部102から入力される帯域情報m_maxが示す帯域に対応するMCDT係数に対して、サブバンド毎にシェイプ量子化を行う。具体的には、シェイプ量子化部103はL個の各サブバンド毎に、SQ個のシェイプコードベクトルからなる内蔵のシェイプコードブックを探索して下記の式(6)の結果が最大となるシェイプコードベクトルのインデックスを求める。
この式において、SCi kはシェイプコードブックを構成するシェイプコードベクトルを示し、iはシェイプコードベクトルのインデックスを示し、kはシェイプコードベクトルの要素のインデックスを示す。
シェイプ量子化部103は、上記の式(6)の結果が最大となるシェイプコードベクトルのインデックスS_maxをシェイプ符号化情報として多重化部106に出力する。また、シェイプ量子化部103は、下記の式(7)に従い、理想ゲイン値Gain_i(j)を算出してゲイン量子化部105に出力する。
予測符号化有無判定部104は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは、予測符号化有無判定部104が、過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測符号化有無判定部104は、まず、過去のフレームにおいてシェイプ量子化部103から入力された帯域情報m_maxおよび現フレームにおいてシェイプ量子化部103から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測符号化有無判定部104は、共通のサブバンドの数が所定値以上である場合は予測符号化を行うと判定し、共通のサブバンドの数が所定値より小さい場合は予測符号化を行わないと判定する。具体的には、時間的に1つ過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxが示すL個のサブバンドと、現フレームにおいて帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドとを比較し、共通のサブバンドの数がP個以上である場合は予測符号化を行うと判定し、共通のサブバンドの数がP個未満である場合は予測符号化を行わないと判定する。予測符号化有無判定部104は、判定結果をゲイン量子化部105に出力する。次いで、予測符号化有無判定部104は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン量子化部105は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。予測符号化有無判定部104から入力される判定結果が予測符号化を行うという判定結果を示す場合、ゲイン量子化部105は、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t jを用いて、現フレームのゲイン値を予測することにより量子化する。具体的には、ゲイン量子化部105は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(8)の結果が最小となるゲインコードベクトルのインデックスを求める。
この式において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、jは0〜4の値を取る。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部105に記憶されている4次の線形予測係数である。なお、ゲイン量子化部105は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部105は、上記の式(8)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。なお、内
蔵のバッファの中の過去フレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部105は上記の式(8)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
一方、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合、ゲイン量子化部105は、下記の式(9)に従い、シェイプ量子化部103から入力される理想ゲイン値Gain_i(j)を直接量子化する。ここでも、ゲイン量子化部105は、理想ゲイン値をL次元ベクトルとして扱い、ベクトル量子化を行う。
ここでは、上記の式(9)を最小にするコードブックのインデックスをG_minと記す。
ゲイン量子化部105は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部105は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(10)に従い、内蔵のバッファを更新する。
多重化部106は、帯域選択部102から入力される帯域情報m_max、シェイプ量子化部103から入力されるシェイプ符号化情報S_max、およびゲイン量子化部105から入力されるゲイン符号化情報G_minを多重化し、得られるビットストリームを音声復号装置に送信する。
図3は、本実施の形態に係る音声復号装置200の主要な構成を示すブロック図である。
この図において、音声復号装置200は、分離部201、シェイプ逆量子化部202、予測復号有無判定部203、ゲイン逆量子化部204、および時間領域変換部205を備える。
分離部201は、音声符号化装置100から伝送されるビットストリームから帯域情報、シェイプ符号化情報、およびゲイン符号化情報を分離し、得られる帯域情報をシェイプ逆量子化部202および予測復号有無判定部203に出力し、シェイプ符号化情報をシェイプ逆量子化部202に出力し、ゲイン符号化情報をゲイン逆量子化部204に出力する。
シェイプ逆量子化部202は、分離部201から入力されるシェイプ符号化情報を逆量子化することにより、分離部201から入力される帯域情報が示す量子化対象帯域に対応
するMDCT係数のシェイプの値を求め、求められたシェイプの値をゲイン逆量子化部204に出力する。
予測復号有無判定部203は、分離部201から入力される帯域情報を用いて現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測復号有無判定部203は、共通のサブバンドの数が所定値以上である場合は、帯域情報が示す量子化対象帯域のMDCT係数に対して予測復号を行うと判定し、共通のサブバンドの数が所定値より小さい場合は、帯域情報が示す量子化対象帯域のMDCT係数に対して予測復号を行わないと判定する。予測復号有無判定部203は、判定結果をゲイン逆量子化部204に出力する。
ゲイン逆量子化部204は、予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合には、内蔵のバッファに記憶されている過去のフレームのゲイン値および内蔵のゲインコードブックを用いて、分離部201から入力されるゲイン符号化情報に対し予測復号を行ってゲイン値を得る。一方、ゲイン逆量子化部204は、予測復号有無判定部203から入力される判定結果が予測復号を行わないという判定結果を示す場合には、内蔵のゲインコードブックを用いて、分離部201から入力されるゲイン符号化情報を直接逆量子化してゲイン値を得る。ゲイン逆量子化部204は、得られるゲイン値を時間領域変換部205に出力する。またゲイン逆量子化部204は、得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて量子化対象帯域のMDCT係数を求め、復号MDCT係数として時間領域変換部205に出力する。
時間領域変換部205は、ゲイン逆量子化部204から入力される復号MDCT係数に対して修正離散コサイン逆変換(IMDCT:Inverse Modified Discrete Cosine Transform)を行って時間領域の信号を生成し復号信号として出力する。
上記のような構成を有する音声復号装置200は以下の動作を行う。
分離部201は、音声符号化装置100から伝送されるビットストリームから帯域情報m_max、シェイプ符号化情報S_max、およびゲイン符号化情報G_minを分離し、得られる帯域情報m_maxをシェイプ逆量子化部202および予測復号有無判定部203に出力し、シェイプ符号化情報S_maxをシェイプ逆量子化部202に出力し、ゲイン符号化情報G_minをゲイン逆量子化部204に出力する。
シェイプ逆量子化部202は、音声符号化装置100のシェイプ量子化部103が備えるシェイプコードブックと同様なシェイプコードブックを内蔵し、分離部201から入力されるシェイプ符号化情報S_maxをインデックスとするシェイプコードベクトルを探索する。シェイプ逆量子化部202は、探索されたコードベクトルを、分離部201から入力される帯域情報m_maxが示す量子化対象帯域のMDCT係数のシェイプの値としてゲイン逆量子化部204に出力する。ここでは、シェイプの値として探索されたシェイプコードベクトルをShape_q(k)(k=B(j”),…,B(j”+L)−1)と記す。
予測復号有無判定部203は、過去のフレームにおいて分離部201から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは、予測復号有無判定部203が過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測復号有無判定部203は、まず、過去のフレームにおいて分離部201から入力された帯域情報m_maxおよび現フレームにおいて分離部201から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレーム
の量子化対象帯域との間で共通のサブバンドの数を求める。そして、予測復号有無判定部203は、共通のサブバンドの数が所定値以上である場合には予測復号を行うと判定し、共通のサブバンドの数が所定値より小さい場合には予測復号を行わないと判定する。具体的には、予測復号有無判定部203は、時間的に1つ過去のフレームにおいて分離部201から入力された帯域情報m_maxが示すL個のサブバンドと、現フレームにおいて分離部201から入力される帯域情報m_maxが示すL個のサブバンドとを比較し、共通のサブバンドの数がP個以上である場合は予測復号を行うと判定し、共通のサブバンドの数がP個未満である場合は予測復号を行わないと判定する。予測復号有無判定部203は、判定結果をゲイン逆量子化部204に出力する。次いで、予測復号有無判定部203は、現フレームにおいて分離部201から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン逆量子化部204は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合、ゲイン逆量子化部204は、内蔵のバッファに記憶されている過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部204は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブックを内蔵しており、下記の式(11)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部204に記憶されている4次の線形予測係数である。ゲイン逆量子化部204は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
なお、内蔵のバッファの中に過去フレームに対応するサブバンドのゲインの値が存在しない場合、ゲイン逆量子化部204は、上記の式(11)において、内部バッファの中の周波数的に最も近いサブバンドのゲイン値を代用する。
一方、予測復号有無判定部203から入力される判定結果が予測復号を行わないという判定結果を示す場合、ゲイン逆量子化部204は、上記のゲインコードブックを用いて、下記の式(12)に従いゲインの値を逆量子化する。ここでも、ゲイン値をL次元ベクトルとして扱い、ベクトル逆量子化が行われる。すなわち、予測復号を行わない場合は、ゲイン符号化情報G_minに対応するゲインコードベクトルGC
j G_minを直接ゲイン値とする。
次いで、ゲイン逆量子化部204は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(13)に従い復号MDCT係数を算出し、下記の式(14)に従い内蔵のバッファを更新する。ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、ゲイン値Gain_q’(j)はGain_q’(j”)の値をとる。
ゲイン逆量子化部204は、上記の式(13)に従い算出された復号MDCT係数X”kを時間領域変換部205に出力する。
時間領域変換部205は、まず下記の式(15)に従い内蔵のバッファbuf’
kを「0」値に初期化する。
次いで、時間領域変換部205は、ゲイン逆量子化部204から入力される復号MDCT係数X”
kを用いて、下記の式(16)に従い復号信号Y
nを求める。
この式において、X2”
kは、復号MDCT係数X”
kとバッファbuf’
kとを結合させたベクトルであり、下記の式(17)を用いて求められる。
次いで、時間領域変換部205は、下記の式(18)に従いバッファbuf’
kを更新する。
時間領域変換部205は、求められる復号信号Ynを出力信号として出力する。
このように、本実施の形態によれば、各フレームにおいてエネルギが大きい帯域を量子化対象帯域として選択し周波数領域パラメータを量子化するため、量子化されるゲインの値の分布に偏りを生じさせ、ベクトル量子化の性能を向上させることができる。
また、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータの量子化において、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンドの数が所定値以上であると判定した場合には周波数領域のパラメータに対し予測符号化を行い、共通のサブバンドの数が所定値より小さいと判定した場合には周波数領域のパラメータを直接符号化する。そのため、音声符号化の符号化情報量を低減するとともに、急激な音声品質劣化を防ぐことができ、音声・オーディオ信号の符号化誤差および復号信号の音質劣化を低減することができる。
また、本実施の形態によれば、符号化側においては複数のサブバンドで構成されるリージョン単位で量子化対象帯域を決定し周波数領域パラメータの量子化を行い、どのリージョンの周波数領域パラメータが量子化対象となったかという情報を復号側に送信すれば良い。そのため、予測符号化を利用するか否かをサブバンド毎に決定しどのサブバンドが量子化対象となったかという情報を復号側に送信するよりも、量子化の効率を向上し復号側に送信する符号化情報量をさらに低減することができる。
なお、本実施の形態では、複数のサブバンドから構成されるリージョン単位でゲインの量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、量子化対象をサブバンド毎に選択しても、すなわち予測量子化を行うか否かの判定をサブバンド毎に行っても良い。
また、本実施の形態では、ゲインの予測量子化方法として、同じ周波数帯域のゲインに対して時間軸上で線形予測を行う場合を例にとって説明したが、本発明はこれに限定されず、異なる周波数帯域のゲインに対して時間軸上で線形予測を行っても良い。
また、本実施の形態では量子化対象となる信号として、通常の音声・オーディオ信号を例にとって説明したが、本発明はこれに限定されず、音声・オーディオ信号をLPC(線形予測係数:LinearPrediction Coefficient)逆フィルタにより処理して得られる駆動音源信号を量子化対象としても良い。
また、本実施の形態では、量子化対象の帯域を選択する基準として、各リージョンのエネルギの大きさ、すなわち聴感的な重要度が最も高いリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、聴感的な重要度に加え、過去フレームにおいて選択された帯域との周波数的な相関性をも同時に考慮しても良い。すなわち、過去に選択された量子化対象帯域との間で共通のサブバンドの数が所定値以上であってかつエネルギが所定値以上である候補帯域が存在する場合には、上記の候補帯域の中でエネルギが最も大きい帯域を前記量子化対象帯域として選択し、前記候補帯域が存在しない場合には、全周波数領域においてエネルギが最も大きい帯域を前記量子化対象帯域として選択しても良い。例えば、エネルギが最も大きいリージョンと過去フレームにおいて選択された帯域との間に共通のサブバンドが存在しなく、エネルギが二番目に大きいリージョンと過去フレームにおいて選択された帯域との間で共通のサブバンドの数が所定の閾値以上であり、かつエネルギが二番目に大きいリージョンのエネルギが所定の閾値以上である場合は、エネルギが最も大きいリージョンではなく、エネルギが二番目に大きいリージョンを選択する。また、本実施の形態に係る帯域選択部は、エネルギが所定値以上であるリージョンの中で、過去に選択された量子化対象帯域と最も近い
リージョンを量子化対象帯域として選択する。
また、本実施の形態では、過去フレームを用いて補間を行ってからMDCT係数の量子化を行っても良い。例えば、過去フレームの量子化対象帯域がリージョン3(すなわちサブバンド5〜9)であり、現フレームの量子化対象帯域がリージョン4(すなわちサブバ
ンド6〜10)であり、過去フレームの量子化結果を用いて現フレームの予測符号化を行う場合について、図2を参照しながら説明する。かかる場合、現フレームのサブバンド6〜9に対しては過去フレームのサブバンド6〜9を用いて予測符号化し、現フレームのサブバンド10に対しては、過去フレームのサブバンド5〜9を用いて過去フレームのサブバンド10を補間してから、補間により得られた過去フレームのサブバンド10を用いて予測符号化する。
また、本実施の形態では、予測符号化を行うか否かに関わらず、同一のコードブックを用いて量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、ゲインの量子化、およびシェイプの量子化のそれぞれにおいて、予測符号化を行う場合と行わない場合によって異なるコードブックを用いても良い。
また、本実施の形態では、全てのサブバンド幅が同一である場合を例にとって説明したが、本発明はこれに限定されず、各サブバンドのサブバンド幅をそれぞれ異なるようにしても良い。
また、本実施の形態では、ゲインの量子化、およびシェイプの量子化において、全てのサブバンドに対して同一のコードブックを用いる場合を例にとって説明したが、本発明はこれに限定されず、ゲインの量子化、およびシェイプの量子化それぞれにおいて、サブバンド毎に異なるコードブックを用いても良い。
また、本実施の形態では、量子化対象帯域として、連続するサブバンドを選択する場合を例にとって説明したが、本発明はこれに限定されず、連続しない複数のサブバンドを量子化対象帯域として選択しても良い。かかる場合、隣接するサブバンドの値を用いて、選択されなかったサブバンドの値を補間することにより、音声符号化の効率をさらに向上することができる。
また、本実施の形態では、音声符号化装置100は予測符号化有無判定部104を具備する場合を例にとって説明したが、本発明に係る音声符号化装置はこれに限定されず、図4に示す音声符号化装置100aのように、予測符号化有無判定部104を具備せず、ゲイン量子化部105において常に予測量子化を行わないような構成にしても良い。この場合、図4に示すように、音声符号化装置100aは、周波数領域変換部101、帯域選択部102、シェイプ量子化部103、ゲイン量子化部105、および多重化部106を備える。なお、図5は、音声符号化装置100aに対応する音声復号装置200aの構成を示すブロック図であり、音声復号装置200aは、分離部201、シェイプ逆量子化部202、ゲイン逆量子化部204、および時間領域変換部205を備える。かかる場合、音声符号化装置100aは、全帯域の中から量子化する帯域を一部選択し、選択された帯域に対してさらに複数のサブバンドに分割し、各サブバンドのゲインを量子化する。これにより、全帯域の成分を量子化する方法と比較してより低いビットレートで量子化を行うことができ、符号化効率を向上させることができる。また、周波数軸でのゲインの相関を利用してゲインのベクトルを量子化することにより、符号化効率をさらに向上させることができる。
また、本発明に係る音声符号化装置は、図4に示す音声符号化装置100aのように、予測符号化有無判定部104を具備せず、ゲイン量子化部105において常に予測量子化を行うような構成にしても良い。このような音声符号化装置100aに対応する音声復号装置200aの構成は図5に示す通りである。かかる場合、音声符号化装置100aは、全帯域の中から量子化する帯域を一部選択し、選択された帯域に対してさらに複数のサブバンドに分割し、各サブバンドのゲインの量子化を行う。これにより、全帯域の成分を量子化する方法と比較してより低いビットレートで量子化を行うことができ、符号化効率を
向上させることができる。また、時間軸でのゲインの相関を利用してゲインのベクトルを予測量子化することにより、符号化効率をさらに向上させることができる。
なお、本実施の形態では、帯域選択部において、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、上記の判定基準に加えて、時間的に前のフレームで選択された帯域の情報を利用して選択しても良い。例えば、時間的に前のフレームで選択された帯域の近傍の帯域を含むリージョンが選択されやすくなるような重みを乗じた後に、量子化するリージョンを選択する方法が挙げられる。また、量子化する帯域を選択するレイヤが複数あった場合、下位レイヤで選択した帯域の情報を利用して、上位のレイヤで量子化する帯域を選択しても良い。例えば、下位のレイヤで選択された帯域の近傍の帯域を含むリージョンが選択されやすくなるような重みを乗じた後に、量子化するリージョンを選択する方法が挙げられる。
また、本実施の形態では、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、予めある帯域を予備的に選択し、予備的に選択された帯域において量子化対象帯域を最終的に選択しても良い。かかる場合、入力信号のサンプリングレート、あるいは符号化ビットレートなどによって予備的に選択される帯域を決定すれば良い。例えば、ビットレート、あるいはサンプリングレートが低い場合は、低域部を予備的に選択する方法などがある。
例えば、帯域選択部102においては、選択されうるリージョンの全候補の中から低域部分のリージョンに限定した後にリージョンのエネルギを算出して量子化するリージョンを決定するという方法を採ることも可能である。この例として、図2に示す全8候補のリージョンの中から、低域側から5候補までに限定し、その中で最もエネルギの大きいリージョンを選択するという方法が挙げられる。また、帯域選択部102は、低域側ほど選択されやすくなるようにエネルギに重みを乗じてからエネルギを比較してもよい。また、帯域選択部102は、低域側の固定のサブバンドを選択しても良い。音声信号には、低域側ほどハーモニクス構造が強いという特徴があり、その結果、低域側に強いピークが存在する。この強いピークはマスキングされにくいため、ノイズとして知覚されやすい。ここで、単純にエネルギの大きさだけでリージョンを選択するのではなく、低域側ほど選択されやすくすることによって、強いピークが含まれるリージョンが選択される可能性が高くなり、結果としてノイズ感が減少する。このように、選択するリージョンを低域側に限定する、あるいは低域側ほど選択されやすくなるような重みを乗じることにより、復号信号の品質を向上することができる。
また、本発明に係る音声符号化装置は、量子化する帯域の成分に対して、まずシェイプ(形状情報)の量子化を行い、次にゲイン(利得情報)の量子化を行うという構成について説明したが、本発明はこれに限定されず、まずゲインの量子化を行い、次にシェイプの量子化を行う構成にしても良い。
(実施の形態2)
図6は、本発明の実施の形態2に係る音声符号化装置300の主要な構成を示すブロック図である。
この図において、音声符号化装置300は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部308、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、
第1レイヤではCELP(Code Exited LinearPrediction)方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
ダウンサンプリング部301は、入力される音声・オーディオ信号に対してダウンサンプリング処理を行い、音声・オーディオ信号のサンプリング周波数をRate1からRate2に変換し(Rate1>Rate2)、第1レイヤ符号化部302に出力する。
第1レイヤ符号化部302は、ダウンサンプリング部301から入力されるダウンサンプリング後の音声・オーディオ信号に対してCELP方式の音声符号化を行い、得られる第1レイヤ符号化情報を第1レイヤ復号部303および多重化部309に出力する。具体的には、第1レイヤ符号化部302は、声道情報と音源情報とからなる音声信号を、声道情報についてはLPCパラメータを求めることにより符号化し、音源情報については、予め記憶されている音声モデルの何れを用いるかを特定するインデックス、すなわち、適応符号帳および固定符号帳のどの音源ベクトルを生成するかを特定するインデックスを求めることにより符号化する。
第1レイヤ復号部303は、第1レイヤ符号化部302から入力される第1レイヤ符号化情報に対してCELP方式の音声復号を行い、得られる第1レイヤ復号信号をアップサンプリング部304に出力する。
アップサンプリング部304は、第1レイヤ復号部303から入力される第1レイヤ復号信号に対してアップサンプリング処理を行い、第1レイヤ復号信号のサンプリング周波数をRate2からRate1に変換して第1周波数領域変換部305に出力する。
第1周波数領域変換部305は、アップサンプリング部304から入力されるアップサンプリング後の第1レイヤ復号信号に対してMDCTを行い、周波数領域のパラメータとして得られる第1レイヤMDCT係数を第2レイヤ符号化部308に出力する。ここで、第1周波数領域変換部305における具体的な変換方法は、本発明の実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
遅延部306は、入力される音声・オーディオ信号を内蔵のバッファに記憶して所定時間後に出力することにより、遅延された音声・オーディオ信号を第2周波数領域変換部307に出力する。ここで、遅延される所定時間は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、および第2周波数領域変換部307において生じるアルゴリズム遅延を考慮した時間である。
第2周波数領域変換部307は、遅延部306から入力される遅延された音声・オーディオ信号に対してMDCTを行い、周波数領域のパラメータとして得られる第2レイヤMDCT係数を第2レイヤ符号化部308に出力する。ここで、第2周波数領域変換部307における具体的な変換方法は、実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
第2レイヤ符号化部308は、第1周波数領域変換部305から入力される第1レイヤMDCT係数および第2周波数領域変換部307から入力される第2レイヤMDCT係数を用いて第2レイヤ符号化を行い、得られる第2レイヤ符号化情報を多重化部309に出力する。第2レイヤ符号化部308の内部の主要な構成および具体的な動作については後述する。
多重化部309は、第1レイヤ符号化部302から入力される第1レイヤ符号化情報および第2レイヤ符号化部308から入力される第2レイヤ符号化情報を多重化し、得られるビットストリームを音声復号装置に送信する。
図7は、第2レイヤ符号化部308の内部の主要な構成を示すブロック図である。なお、第2レイヤ符号化部308は、実施の形態1に示した音声符号化装置100(図1参照)と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ符号化部308は、周波数領域変換部101の代わりに残差MDCT係数算出部381を備える点において音声符号化装置100と相違する。なお、多重化部106における処理は音声符号化装置100の多重化部106における処理と同様であり、説明の便宜のため、本実施の形態に係る多重化部106から出力される信号の名称を第2レイヤ符号化情報と記す。
なお、帯域情報、シェイプ符号化情報、ゲイン符号化情報を、多重化部106を介さず、直接、多重化部309に入力して、第1レイヤ符号化情報と多重化しても良い。
残差MDCT係数算出部381は、第1周波数領域変換部305から入力される第1レイヤMDCT係数と第2周波数領域変換部307から入力される第2レイヤMDCT係数との残差を求め、残差MDCT係数として帯域選択部102に出力する。
図8は、本発明の実施の形態2に係る音声復号装置400の主要な構成を示すブロック図である。
この図において、音声復号装置400は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部405、時間領域変換部406、およびスイッチ407を備える。
制御部401は、音声符号化装置300から伝送されるビットストリームの構成要素を分析し、このビットストリームの構成要素に応じて、適応的に第1レイヤ復号部402および第2レイヤ復号部405に適切な符号化情報を出力するとともに、制御情報をスイッチ407に出力する。具体的には、制御部401は、ビットストリームが第1レイヤ符号化情報および第2レイヤ符号化情報から構成されている場合には、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、第2レイヤ符号化情報を第2レイヤ復号部405に出力する一方、ビットストリームが第1レイヤ符号化情報のみから構成されている場合には、第1レイヤ符号化情報を第1レイヤ復号部402に出力する。
第1レイヤ復号部402は、制御部401から入力される第1レイヤ符号化情報に対してCELP方式で復号し、得られる第1レイヤ復号信号をアップサンプリング部403およびスイッチ407に出力する。
アップサンプリング部403は、第1レイヤ復号部402から入力される第1レイヤ復号信号に対してアップサンプリング処理を行い、第1レイヤ復号信号のサンプリング周波数をRate2からRate1に変換し、周波数領域変換部404に出力する。
周波数領域変換部404は、アップサンプリング部403から入力されるアップサンプリング後の第1レイヤ復号信号に対してMDCTを行い、周波数領域のパラメータとして得られる第1レイヤ復号MDCT係数を第2レイヤ復号部405に出力する。ここで、周
波数領域変換部404における具体的な変換方法は、実施の形態1に係る音声符号化装置100の周波数領域変換部101における変換方法と同様であるため、その説明を省略する。
第2レイヤ復号部405は、制御部401から入力される第2レイヤ符号化情報および周波数領域変換部404から入力される第1レイヤ復号MDCT係数を用いてゲインの逆量子化およびシェイプの逆量子化を行い、第2レイヤ復号MDCT係数を得る。第2レイヤ復号部405は、得られる第2レイヤ復号MDCT係数と第1レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。第2レイヤ復号部405の内部の主要な構成および具体的な動作については後述する。
時間領域変換部406は、第2レイヤ復号部405から入力される加算MDCT係数に対してIMDCTを行い、時間領域成分として得られる第2レイヤ復号信号をスイッチ407に出力する。
スイッチ407は、制御部401から入力される制御情報に基づき、音声復号装置400に入力されたビットストリームが第1レイヤ符号化情報および第2レイヤ符号化情報から構成されている場合には、時間領域変換部406から入力される第2レイヤ復号信号を出力信号として出力する一方、ビットストリームが第1レイヤ符号化情報のみから構成されている場合には、第1レイヤ復号部402から入力される第1レイヤ復号信号を出力信号として出力する。
図9は、第2レイヤ復号部405の内部の主要な構成を示すブロック図である。なお、第2レイヤ復号部405は、実施の形態1に示した音声復号装置200(図3参照)と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ復号部405は、加算MDCT係数算出部452をさらに具備する点において、音声復号装置200と相違する。なお、第2レイヤ復号部405の分離部451と、音声復号装置200の分離部201とは処理の一部に相違点があり、それを示すために異なる符号を付す。
分離部451は、制御部401から入力される第2レイヤ符号化情報から帯域情報、シェイプ符号化情報、およびゲイン符号化情報を分離し、得られる帯域情報をシェイプ逆量子化部202および予測復号有無判定部203に、シェイプ符号化情報をシェイプ逆量子化部202に、ゲイン符号化情報をゲイン逆量子化部204に出力する。
加算MDCT係数算出部452は、周波数領域変換部404から入力される第1レイヤ復号MDCT係数と、ゲイン逆量子化部204から入力される第2レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。
このように、本実施の形態によれば、各フレームにおいて異なる帯域の周波数成分を量子化対象とする場合、スケーラブル符号化を適用する上に非時間的なパラメータの予測符号化を適応的に行うため、音声符号化の符号化情報量を低減するとともに、音声・オーディオ信号の符号化誤差および復号信号の音質劣化をさらに低減することができる。
なお、本実施の形態では、第2レイヤ符号化部308は、第1レイヤMDCT係数と第2レイヤMDCT係数との差分成分を符号化対象とする場合を例にとって説明したが、本
発明はこれに限定されず、第2レイヤ符号化部308は、所定周波数以下の帯域に対しては第1レイヤMDCT係数と第2レイヤMDCT係数との差分成分を符号化対象とし、所定周波数より高い帯域に対しては入力信号のMDCT係数そのものを符号化対象としても良い。すなわち、帯域に応じて差分成分を採用するか否かを切り替えても良い。
また、本実施の形態では、第2レイヤ符号化の量子化対象帯域を選択する方法として、第1レイヤMDCT係数と第2レイヤMDCT係数との残差成分のエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、第1レイヤMDCT係数のエネルギが最も大きいリージョンを選択してもよい。例えば、第1レイヤMDCT係数のサブバンド毎のエネルギを算出し、さらにリージョン毎に各サブバンドのエネルギを加算し、エネルギが最も大きいリージョンを第2レイヤ符号化の量子化対象帯域として選択してもよい。また、復号装置側においては、第1レイヤ復号により得られた第1レイヤ復号MDCT係数の各リージョンの中からエネルギが最も大きいリージョンを第2レイヤ復号の逆量子化対象帯域と選択する。これにより、符号化装置側から第2レイヤ符号化の量子化帯域に関する帯域情報を送信することなく、符号化ビットレートを低減させることができる。
また、本実施の形態では、第2レイヤ符号化部308は、第1レイヤMDCT係数と第2レイヤMDCT係数との残差成分に対し、量子化対象帯域を選択し量子化を行う場合を例にとって説明したが、本発明はこれに限定されず、第2レイヤ符号化部308は、第1レイヤMDCT係数から第2レイヤMDCT係数を予測し、その予測されたMDCT係数と実際の第2レイヤMDCT係数との残差成分に対し、量子化対象帯域を選択し量子化を行っても良い。このようにすることで、第1レイヤMDCT係数と第2レイヤMDCT係数との相関性を利用し、符号化効率をさらに向上させることができる。
(実施の形態3)
図10は、本発明の実施の形態3に係る音声符号化装置500の主要な構成を示すブロック図である。なお、音声符号化装置500は、図1に示した音声符号化装置100と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置500は、補間値算出部504をさらに具備する点において音声符号化装置100と相違する。なお、音声符号化装置500のゲイン量子化部505と、音声符号化装置100のゲイン量子化部105とは処理の一部に相違点があり、それを示すために異なる符号を付す。
補間値算出部504は、過去のフレームの量子化対象帯域を示す帯域情報を記憶するバッファを内蔵している。補間値算出部504は、ゲイン量子化部505から読み出す過去のフレームの量子化対象帯域の量子化ゲイン値を用いて、帯域選択部102から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去のフレームにおいて量子化されなかった帯域のゲインの値を補間する。補間値算出部504は、得られるゲイン補間値をゲイン量子化部505に出力する。
ゲイン量子化部505は、予測符号化を行う際に、内蔵のバッファに記憶している過去のフレームの量子化ゲイン値および内蔵のゲインコードブックのほかに、補間値算出部504から入力されるゲイン補間値をさらに用いる点において音声符号化装置100のゲイン量子化部105と相違する。
以下、補間値算出部504が行うゲイン値の補間方法について、具体的に説明する。
補間値算出部504は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。
補間値算出部504は、まず過去の3フレームについて、帯域情報m_maxが示す帯域以外のゲインの値を線形補間により算出する。帯域情報m_maxが示す帯域より低い帯域のゲインの値については式(19)に従って補間値を算出し、帯域情報m_maxが示す帯域より高い帯域のゲインの値については式(20)に従って補間値を算出する。
式(19)および式(20)において、β
iは補間係数を示し、q
iは過去のフレームの帯域情報m_maxが示す量子化対象帯域のゲインの値を示し、gは過去のフレームの帯域情報m_maxが示す量子化対象帯域に隣接する量子化されなかった帯域のゲインの補間値を示す。ここで、iが小さいほど周波数のより低い帯域を示し、式(19)においてgは過去のフレームの帯域情報m_maxが示す量子化対象帯域の高域側の隣接帯域のゲインの補間値を示し、式(20)においてgは過去のフレームの帯域情報m_maxが示す量子化対象帯域の低域側の隣接帯域のゲインの補間値を示す。補間係数β
iは、式(19)および(20)を満たすように予め統計的に求められた値を用いるものとする。また、ここでは、式(19)および式(20)それぞれにおいて異なる補間係数β
iを用いる場合について説明したが、式(19)および式(20)において同様な1組の予測係数α
iを用いても良い。
式(19)および式(20)に示すように、補間値算出部504において過去のフレームの帯域情報m_maxが示す量子化対象帯域に隣接する高域側または低域側の1つの帯域のゲインの値を補間することが可能である。また、補間値算出部504は、式(19)および(20)により得られる結果を利用し、式(19)および(20)の演算を繰り返すことにより、次々と隣接の量子化されなかった帯域のゲインの値を補間する。
このように、補間値算出部504は、ゲイン量子化部505から読み出す過去の3フレーム分の量子化されたゲインの値を用いて、帯域選択部102から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去の3フレーム分の帯域情報m_maxが示す帯域以外の帯域のゲインの値を補間する。
次に、ゲイン量子化部505における予測符号化の動作について説明する。
ゲイン量子化部505は、記憶している過去フレームの量子化ゲイン値、補間値算出部504から入力されるゲイン補間値、および内蔵のゲインコードブックを用いて、現フレームのゲイン値を予測することにより量子化を行う。具体的には、ゲイン量子化部505は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(21)の結果が最小となるゲインコードベクトルのインデックスを求める。
式(21)において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。ここで、Ct jは時間的にtフレーム前の量子化ゲイン値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前の量子化ゲイン値を示す。またαは、ゲイン量子化部505に記憶されている4次の線形予測係数である。また、過去の3フレームにおいて量子化対象として選択されなかった帯域のゲインの値は、補間値算出部504で式(19)および式(20)に従って算出されたゲインの補間値を利用する。なお、ゲイン量子化部505は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部505は、上記の式(21)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部505は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(22)に従い、内蔵のバッファを更新する。
図11は、本発明の実施の形態3に係る音声復号装置600の主要な構成を示すブロック図である。なお、音声復号装置600は、図3に示した音声復号装置200と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置600は、補間値算出部603をさらに具備する点において音声復号装置200と相違する。なお、音声復号装置600のゲイン逆量子化部604と、音声復号装置200のゲイン逆量子化部204とは処理の一部に相違点があり、それを示すために異なる符号を付す。
補間値算出部603は、過去のフレームにおいて逆量子化された帯域情報を記憶するバッファを内蔵している。補間値算出部603は、ゲイン逆量子化部604から読み出す過去のフレームにおいて逆量子化された帯域のゲインの値を用いて、分離部201から入力される帯域情報が示す現フレームの量子化対象帯域のうち、過去のフレームにおいて逆量子化されなかった帯域のゲインの値を補間する。補間値算出部603は、得られるゲイン補間値をゲイン逆量子化部604に出力する。
ゲイン逆量子化部604は、予測復号を行う際に、記憶している過去のフレームの逆量子化されたゲインの値および内蔵のゲインコードブックのほかに、補間値算出部603から入力されるゲイン補間値をさらに用いる点において音声復号装置200のゲイン逆量子化部204と相違する。
補間値算出部603におけるゲインの値の補間方法は、補間値算出部504におけるゲ
インの値の補間方法と同様であるため、詳細な説明は省略する。
以下、ゲイン逆量子化部604における予測復号の動作について説明する。
ゲイン逆量子化部604は、記憶している過去のフレームにおいて逆量子化されたゲインの値、補間値算出部603から入力される補間ゲインの値、および内蔵のゲインコードブックを用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部604は、下記の式(23)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。
式(23)において、C”t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部604に記憶されている4次の線形予測係数である。また、過去の3フレームにおいて量子化対象として選択されなかった帯域のゲインの値は、補間値算出部603で算出されたゲインの補間値を利用する。ゲイン逆量子化部604は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
次いで、ゲイン逆量子化部604は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(24)に従い復号MDCT係数を算出し、下記の式(25)に従い内蔵のバッファを更新する。ここでは、算出された復号MDCT係数をX”kと記す。また、MDCT係数の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、ゲイン値Gain_q’(j)はGain_q’(j”)の値をとる。
このように、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータを量子化する際、過去のフレームにおいて量子化された値から、次々と隣接の量子化されなかった帯域の値を補間し、補間された値も用いて予測量子化を行う。そのため、音声符号化の符号化精度をさらに向上することができる。
なお、本実施の形態では、ゲインの補間値を算出する際に、予め求めた固定な補間係数βを用いる場合を例にとって説明したが、本発明はこれに限らず、予め求めた補間係数βを調整してから補間を行っても良い。例えば、各フレームで量子化された帯域のゲインの分布に応じて予測係数を調整しても良い。具体的には、各フレームで量子化されたゲインのばらつきが大きい場合には予測係数を弱め、現フレームのゲインの重みを大きくするように調整することにより、音声符号化の符号化精度を向上することが可能である。
また、本実施の形態では、各フレームで量子化する帯域として連続する複数のバンド(1リージョン)を対象とする場合について説明したが、本発明はこれに限らず、複数のリージョンを量子化対象としても良い。かかる場合には、式(19)および式(20)による補間方法のほかに、選択されたリージョンの間の帯域に関してはそれぞれのリージョンの端値を線形補間する方法を採ることにより、音声符号化の符号化精度を向上することが可能である。
(実施の形態4)
図12は、本発明の実施の形態4に係る音声符号化装置700の主要な構成を示すブロック図である。なお、音声符号化装置700は、図1に示した音声符号化装置100と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置700は、予測係数決定部704をさらに具備する点において音声符号化装置100と相違する。なお、音声符号化装置700のゲイン量子化部705と、音声符号化装置100のゲイン量子化部105とは処理の一部に相違点があり、それを示すために異なる符号を付す。
予測係数決定部704は、過去のフレームの量子化対象帯域を示す帯域情報を記憶するバッファを内蔵しており、過去のフレームの帯域情報に基づき、ゲイン量子化部705の量子化に用いる予測係数を決定し、決定した予測係数をゲイン量子化部705に出力する。
ゲイン量子化部705は、予測符号化を行う際に、予め決められた予測係数の代わりに、予測係数決定部704から入力される予測係数を用いる点において、音声符号化装置100のゲイン量子化部105と相違する。
以下、予測係数決定部704における予測係数の決定動作について説明する。
予測係数決定部704は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。
予測係数決定部704は、内蔵のバッファに記憶している帯域情報m_max、および現フレームにおいて帯域選択部102から入力された帯域情報m_maxを用いて、現フレームの量子化対象帯域と過去のフレームの量子化対象帯域との間で共通のサブバンドの数を求め、共通のサブバンドの数が所定値以上である場合には、予測係数をセットAに決定しゲイン量子化部705に出力する。また、共通のサブバンドの数が所定値未満である場合には、予測係数をセットBに決定しゲイン量子化部705に出力する。ここで、予測係数のセットAは、予測係数のセットBと比べ、より過去のフレームの値を重視し、過去のフレームのゲイン値の重みをより大きくしたパラメータセットである。例えば予測次数が4次である場合、セットAは(αa0=0.60、αa1=0.25、αa2=0.10、αa3=0.05)、セットBは(αb0=0.80、αb1=0.10、αb2=0.05、αb3=0.05)のように決めることが可能である。
次に、予測係数決定部704は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて内蔵のバッファを更新する。
次に、ゲイン量子化部705における予測符号化の動作について説明する。
ゲイン量子化部705は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。ゲイン量子化部705は、予測係数決定部704から入力される予測係数と、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t jを用いて、現フレームのゲイン値を予測することにより量子化を行う。具体的には、ゲイン量子化部705は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、予測係数がセットAの場合は、下記の式(26)の結果が最小となるゲインコードベクトルのインデックスを求め、予測係数がセットBの場合には、下記の式(27)の結果が最小となるゲインコードベクトルのインデックスを求める。
式(26)および式(27)において、GCi jはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、jはゲインコードベクトルの要素のインデックスを示す。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部705に記憶されている4次の線形予測係数である。なお、ゲイン量子化部705は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。なお、ゲイン量子化部705は、内蔵のバッファの中の過去のフレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部705は上記の式(26)あるいは式(27)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
図13は、本発明の実施の形態4に係る音声復号装置800の主要な構成を示すブロック図である。なお、音声復号装置800は、図3に示した音声復号装置200と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置800は、予測係数決定部803をさらに具備する点において音声復号装置200と相違する。なお、音声復号装置800のゲイン逆量子化部804と、音声復号装置200のゲイン逆量子化部204とは処理の一部に相違点があり、それを示すために異なる符号を付す。
予測係数決定部803は、過去のフレームにおいて分離部201から入力される帯域情報を記憶するバッファを内蔵しており、過去のフレームの帯域情報に基づき、ゲイン逆量子化部804の量子化に用いる予測係数を決定し、決定した予測係数をゲイン逆量子化部804に出力する。
ゲイン逆量子化部804は、予測復号を行う際に、予め決められた予測係数の代わりに、予測係数決定部803から入力される予測係数を用いる点において、音声復号装置200のゲイン逆量子化部204と相違する。
予測係数決定部803における予測係数の決定方法は、音声符号化装置700の予測係数決定部704における予測係数の決定方法と同様であるため、予測係数決定部803の動作についての詳細な説明は省略する。
次に、ゲイン逆量子化部804における予測復号の動作について説明する。
ゲイン逆量子化部804は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。ゲイン逆量子化部804は、予測係数決定部803から入力される予測係数、および内蔵のバッファに記憶している過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部804は、音声符号化装置700のゲイン量子化部705と同様なゲインコードブックを内蔵しており、予測係数決定部803から入力される予測係数がセットAの場合は下記の式(28)に従い、また予測係数がセットBの場合は下記の式(29)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。
式(28)および式(29)において、C”t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”t jは1フレーム前のゲイン値を示す。また、αaiおよびαbiは予測係数決定部803から入力される予測係数のセットA、セットBを示す。ゲイン逆量子化部804は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。
このように、本実施の形態によれば、各フレームの異なる量子化対象帯域の周波数領域パラメータを量子化する際、複数の予測係数のセットのうち、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間の共通のサブバンド数が大きいほど、過去のフレームのゲイン値の重みをより大きくする予測係数のセットを選択し予測符号化を行う。そのため、音声符号化の符号化精度をさらに向上することができる。
なお、本実施の形態では、予め2種類の予測係数のセットを用意しておいて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通のサブバンド数に応じて、予測符号化に用いる予測係数を切り替える場合を例にとって説明したが、本発明はこれに限らず、3種類以上の予測係数を予め用意しておいても良い。
また、本実施の形態では、現フレームにおける量子化対象の帯域が、過去のフレームで量子化されなかった場合に対しては、過去のフレームにおいて最も近い帯域の値を代用する場合について説明したが、本発明はこれに限らず、現フレームにおける量子化対象帯域の値が過去のフレームで量子化されなかった場合には、該当する過去のフレームの予測係数をゼロとし、そのフレームの予測係数を現フレームの予測係数に加算し、新たな予測係数のセットを算出し、その予測係数を用いて予測符号化を行っても良い。これにより、予測符号化の効果をより柔軟に切り替えることができ、音声符号化の符号化精度をさらに向上することが可能である。
(実施の形態5)
図14は、本発明の実施の形態5に係る音声符号化装置1000の主要な構成を示すブロック図である。なお、音声符号化装置1000は、図6に示した音声符号化装置300と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声符号化装置1000は、帯域拡張符号化部1007をさらに具備する点において音声符号化装置300と相違する。なお、音声符号化装置1000の第2レイヤ符号化部1008、多重化部1009と、音声符号化装置300の第2レイヤ符号化部308、多重化部309とは処理の一部に相違点があり、それを示すために異なる符号を付す。
帯域拡張符号化部1007は、第1周波数領域変換部305から入力される第1レイヤMDCT係数および第2周波数領域変換部307から入力される入力MDCT係数を用いて帯域拡張符号化を行い、得られる帯域拡張符号化情報を多重化部1009に出力する。
多重化部1009は、第1レイヤ符号化情報および第2レイヤ符号化情報のほかに、帯域拡張符号化情報をさらに多重化する点のみにおいて多重化部309と相違する。
図15は、帯域拡張符号化部1007の内部の主要な構成を示すブロック図である。
図15において、帯域拡張符号化部1007は、高域スペクトル推定部1071および補正スケールファクタ符号化部1072を備える。
高域スペクトル推定部1071は、第2周波数領域変換部307から入力される入力MDCT係数の信号帯域0〜FLの低域スペクトルを利用して、信号帯域FL〜FHの高域スペクトルを推定し、推定スペクトルを得る。推定スペクトルの導出方法は、高域スペクトルとの類似度が最大となるような推定スペクトルを、低域スペクトルを基に、この低域スペクトルを変形することにより求める。高域スペクトル推定部1071は、この推定スペクトルに関する情報(推定情報)を符号化し、得られる符号化パラメータを出力すると共に、推定スペクトル自体を補正スケールファクタ符号化部1072に与える。
以下の説明では、高域スペクトル推定部1071から出力される推定スペクトルのことを第1スペクトルと呼び、第1周波数領域変換部305から出力される第1レイヤMDCT係数(高域スペクトル)のことを第2スペクトルと呼ぶこととする。
ここで、上記説明で現れた各種スペクトルをまとめて信号帯域と併せて示すと、以下のようになる。
狭帯域スペクトル(低域スペクトル)・・・0〜FL
広帯域スペクトル ・・・0〜FH
第1スペクトル(推定スペクトル)・・・FL〜FH
第2スペクトル(高域スペクトル)・・・FL〜FH
補正スケールファクタ符号化部1072は、第1スペクトルのスケールファクタが第2スペクトルのスケールファクタに近づくように、第1スペクトルのスケールファクタを補正し、この補正スケールファクタに関する情報を符号化して出力する。
帯域拡張符号化部1007から多重化部1009に出力される帯域拡張符号化情報は、高域スペクトル推定部1071から出力される推定情報の符号化パラメータおよび補正スケールファクタ符号化部1072から出力される補正スケールファクタの符号化パラメー
タを含む。
図16は、補正スケールファクタ符号化部1072の内部の主要な構成を示すブロック図である。
補正スケールファクタ符号化部1072は、スケールファクタ算出部1721、1722、補正スケールファクタ符号帳1723、乗算器1724、減算器1725、判定部1726、重み付き誤差算出部1727、および探索部1728を備え、各部は以下の動作を行う。
スケールファクタ算出部1721は、入力される第2スペクトルの信号帯域FL〜FHを複数のサブバンドに分割し、各サブバンドに含まれるスペクトルの大きさを求め、減算器1725に出力する。具体的には、サブバンドへの分割は、臨界帯域に対応付けて行われ、バーク尺度で等間隔に分割される。また、スケールファクタ算出部1721は、各サブバンドに含まれるスペクトルの平均振幅を求め、これを第2スケールファクタSF2(k){0≦k<NB}とする。ここでNBはサブバンド数を表す。なお、平均振幅の代わりに最大振幅値等を用いても良い。
スケールファクタ算出部1722は、入力される第1スペクトルの信号帯域FL〜FHを複数のサブバンドに分割し、各サブバンドの第1スケールファクタSF1(k){0≦k<NB}を算出し、乗算器1724に出力する。スケールファクタ算出部1721と同様に、平均振幅の代わりに最大振幅値等を用いても良い。
以降の処理においては、複数のサブバンドにおける各パラメータを1つのベクトル値にまとめる。例えば、NB個のスケールファクタを1つのベクトルとして表す。そして、このベクトル毎に各処理を行う場合、すなわち、ベクトル量子化を行う場合を例にとって説明を行う。
補正スケールファクタ符号帳1723は、補正スケールファクタの候補が複数格納されており、探索部1728からの指示に従い、格納されている補正スケールファクタの候補のうちの1つを乗算器1724に順次出力する。補正スケールファクタ符号帳1723に格納されている補正スケールファクタの複数の候補は、ベクトルで表される。
乗算器1724は、スケールファクタ算出部1722から出力される第1スケールファクタと、補正スケールファクタ符号帳1723から出力される補正スケールファクタの候補とを乗算し、乗算結果を減算器1725に与える。
減算器1725は、スケールファクタ算出部1721より出力される第2スケールファクタから、乗算器1724の出力、すなわち、第1スケールファクタおよび補正スケールファクタ候補の積を減じ、これにより得られる誤差信号を、重み付き誤差算出部1727および判定部1726に与える。
判定部1726は、減算器1725から与えられる誤差信号の符号に基づいて、重み付き誤差算出部1727に与える重みベクトルを決定する。具体的には、減算器1725から与えられる誤差信号d(k)は、以下の式(30)によって表される。
ここで、v
i(k)は、第i番目の補正スケールファクタの候補を表す。判定部1726は、d(k)の符号を調べ、正である場合にはw
pos、負である場合にはw
negを重み(ウェイト)として選択し、これらから構成される重みベクトルw(k)を、重み付き誤差算出部1727に出力する。これらの重みには、以下の式(31)の大小関係がある。
例えば、サブバンド数NB=4であり、d(k)の符号が{+,−,−,+}となる場合、重み付き誤差算出部1727に出力される重みベクトルw(k)は、w(k)={wpos,wneg,wneg,wpos}と表される。
重み付き誤差算出部1727は、まず、減算器1725から与えられる誤差信号の2乗値を算出し、次に、判定部1726から与えられる重みベクトルw(k)を誤差信号の2乗値に乗じて、重み付き2乗誤差Eを算出し、算出結果を探索部1728に与える。ここで、重み付き2乗誤差Eは以下の式(32)のように表される。
探索部1728は、補正スケールファクタ符号帳1723を制御して、格納されている補正スケールファクタの候補を順次出力させ、閉ループ処理により、重み付き誤差算出部1727から出力される重み付き2乗誤差Eが最小となる補正スケールファクタの候補を求める。探索部1728は、求まった補正スケールファクタの候補のインデックスioptを符号化パラメータとして出力する。
上記のように、誤差信号の符号に応じて重み付き2乗誤差を算出するときの重みを設定し、かつその重みが式(30)に示されるような関係がある場合、次のような作用が得られる。すなわち、誤差信号d(k)が正の場合とは、復号側で生成される復号値(符号化側で言うと、第1スケールファクタに補正スケールファクタ候補を乗じた値)が目標値である第2スケールファクタよりも小さくなる場合である。また、誤差信号d(k)が負の場合とは、復号側で生成される復号値が目標値である第2スケールファクタよりも大きくなる場合である。従って、誤差信号d(k)が正の場合の重みを、誤差信号d(k)が負の場合の重みよりも小さくなるように設定することにより、2乗誤差が同程度の値の場合、第2スケールファクタよりも小さい復号値を生成する補正スケールファクタ候補が選択されやすくなる。
帯域拡張符号化部1007の処理により次のような改善効果が得られる。例えば、本実施の形態のように、低域スペクトルを利用して高域スペクトルを推定する場合、一般的には、低ビットレート化を実現することができる。しかし、低ビットレート化を実現する一方で、推定スペクトルの精度、すなわち、推定スペクトルと高域スペクトルとの類似性は、上述の通り、充分に高いとは言えない。かかる場合に、スケールファクタの復号値が目標値よりも大きくなり、量子化後のスケールファクタが推定スペクトルを強調する方向に作用すると、推定スペクトルの精度の低さが人間の耳に品質劣化として知覚されやすくなる。逆に、スケールファクタの復号値が目標値よりも小さくなり、量子化後のスケールファクタがこの推定スペクトルを減衰する方向に作用するときは、推定スペクトルの精度の
低さが目立たなくなり、復号信号の音質が改善するという効果が得られる。なお、この傾向は、計算機によるシミュレーションにおいても確認することができた。
図17は、第2レイヤ符号化部1008の内部の主要な構成を示すブロック図である。なお、第2レイヤ符号化部1008は、図7に示した第2レイヤ符号化部308と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。第2レイヤ符号化部1008の残差MDCT係数算出部1081と、第2レイヤ符号化部308の残差MDCT係数算出部381とは処理の一部に相違点があり、それを示すために異なる符号を付す。
残差MDCT係数算出部1081は、入力された入力MDCT係数と第1レイヤ拡張MDCT係数とから、第2レイヤ符号化部において量子化対象とする残差MDCTを算出する。残差MDCT係数算出部1081は、帯域拡張符号化部1007にて拡張されない帯域に対しては、入力MDCT係数と第1レイヤ拡張MDCT係数との残差を残差MDCT係数とし、帯域拡張符号化部1007にて拡張された帯域に対しては残差ではなく、入力MDCT係数そのものを残差MDCT係数とするという点において、実施の形態2に係る残差MDCT係数算出部381とは異なる。
図18は、本発明の実施の形態5に係る音声復号装置1010の主要な構成を示すブロック図である。なお、音声復号装置1010は、図8に示した音声復号装置400と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
音声復号装置1010は、帯域拡張復号部1012および時間領域変換部1013をさらに具備する点において音声復号装置400と相違する。なお、音声復号装置1010の制御部1011、第2レイヤ復号部1015、スイッチ1017と、音声復号装置400の制御部401、第2レイヤ復号部405、スイッチ407とは処理の一部に相違点があり、それを示すために異なる符号を付す。
制御部1011は、音声符号化装置1000から伝送されるビットストリームの構成要素を分析し、このビットストリームの構成要素に応じて、適応的に第1レイヤ復号部402、帯域拡張復号部1012、および第2レイヤ復号部1015に適切な符号化情報を出力するとともに、制御情報をスイッチ1017に出力する。具体的には、制御部1011は、ビットストリームが第1レイヤ符号化情報、帯域拡張符号化情報および第2レイヤ符号化情報から構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、帯域拡張符号化情報を帯域拡張復号部1012に出力し、第2レイヤ符号化情報を第2レイヤ復号部1015に出力する。また、制御部1011は、ビットストリームが第1レイヤ符号化情報、および帯域拡張符号化情報のみから構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力し、帯域拡張符号化情報を帯域拡張復号部1012に出力する。また、制御部1011は、ビットストリームが第1レイヤ符号化情報のみから構成されている場合は、第1レイヤ符号化情報を第1レイヤ復号部402に出力する。また、制御部1011は、スイッチ1017を制御する制御情報をスイッチ1017に出力する。
帯域拡張復号部1012は、制御部1011から入力される帯域拡張符号化情報および周波数領域変換部404から入力される第1レイヤ復号MDCT係数を用いて、帯域拡張処理を行い、第1レイヤ拡張MDCT係数を得る。そして、帯域拡張復号部1012は、得られた第1レイヤ拡張MDCT係数を時間領域変換部1013、および第2レイヤ復号部1015に出力する。帯域拡張復号部1012の内部の主要な構成および具体的な動作については後述する。
時間領域変換部1013は、帯域拡張復号部1012から入力される第1レイヤ拡張MDCT係数に対してIMDCTを行い、時間領域成分として得られる第1レイヤ拡張復号信号をスイッチ1017に出力する。
第2レイヤ復号部1015は、制御部1011から入力される第2レイヤ符号化情報および帯域拡張復号部1012から入力される第1レイヤ拡張MDCT係数を用いてゲインの逆量子化およびシェイプの逆量子化を行い、第2レイヤ復号MDCT係数を得る。第2レイヤ復号部1015は、得られる第2レイヤ復号MDCT係数と第1レイヤ復号MDCT係数とを加算し、得られる加算結果を加算MDCT係数として時間領域変換部406に出力する。第2レイヤ復号部1015の内部の主要な構成および具体的な動作については後述する。
スイッチ1017は、制御部1011から入力される制御情報に基づき、音声復号装置1010に入力されたビットストリームが第1レイヤ符号化情報、帯域拡張符号化情報および第2レイヤ符号化情報から構成されている場合は、時間領域変換部406から入力される第2レイヤ復号信号を出力信号として出力する。また、スイッチ1017は、ビットストリームが第1レイヤ符号化情報、および帯域拡張符号化情報から構成されている場合は、時間領域変換部1013から入力される第1レイヤ拡張復号信号を出力信号として出力する。また、スイッチ1017は、ビットストリームが第1レイヤ符号化情報のみから構成されている場合は、第1レイヤ復号部402から入力される第1レイヤ復号信号を出力信号として出力する。
図19は、帯域拡張復号部1012の内部の主要な構成を示すブロック図である。帯域拡張復号部1012は、高域スペクトル復号部1121、補正スケールファクタ復号部1122、乗算器1123、および連結部1124から構成される。
高域スペクトル復号部1121は、制御部1011から入力される帯域拡張符号化情報に含まれる推定情報の符号化パラメータと第1スペクトルとを用い、信号帯域FL〜FHの推定スペクトル(微細スペクトル)を復号する。得られた推定スペクトルは乗算器1123に与えられる。
補正スケールファクタ復号部1122は、制御部1011から入力される帯域拡張符号化情報に含まれる補正スケールファクタの符号化パラメータを用いて補正スケールファクタを復号する。具体的には、内蔵の補正スケールファクタ符号帳(図示せず)を参照し、対応する補正スケールファクタを乗算器1123に出力する。
乗算器1123は、高域スペクトル復号部1121から出力される推定スペクトルに、補正スケールファクタ復号部1122から出力される補正スケールファクタを乗じ、乗算結果を連結部1124に出力する。
連結部1124は、第1スペクトルと乗算器1123から出力される推定スペクトルとを周波数軸上において連結し、信号帯域0〜FHの広帯域の復号スペクトルを生成して、第1レイヤ拡張MDCT係数として時間領域変換部1013に出力する。
帯域拡張復号部1012により、高位レイヤの周波数領域での符号化において、入力信号を周波数領域の係数に変換してスケールファクタを量子化する際に、スケールファクタが小さくなる量子化候補が選択されやすくなる重み付き歪み尺度を用いてスケールファクタの量子化を行う。すなわち、量子化後のスケールファクタが量子化前のスケールファクタよりも小さいものが選ばれやすくなる。よって、スケールファクタの量子化に配分され
るビット数が充分でない場合でも、聴感的な主観品質の劣化を抑えることができる。
図20は、第2レイヤ復号部1015の内部の主要な構成を示すブロック図である。なお、第2レイヤ復号部1015は、図9に示した第2レイヤ復号部405と同様の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
第2レイヤ復号部1015の加算MDCT係数算出部1151と、第2レイヤ復号部405の加算MDCT係数算出部452とは処理の一部に相違点があり、それを示すために異なる符号を付す。
加算MDCT係数算出部1151は、帯域拡張復号部1012から第1レイヤ拡張MDCT係数が入力され、ゲイン逆量子化部204から第2レイヤ復号MDCT係数が入力される。加算MDCT係数算出部1151は、第1レイヤ拡張MDCT係数と第2レイヤ復号MDCT係数を加算し、加算MDCT係数を算出する。ただし、加算MDCT係数1151は、第1レイヤ拡張MDCT係数のうち、帯域拡張された帯域に対しては、第1レイヤ拡張MDCT係数の値をゼロとして加算する。すなわち、帯域拡張された帯域に対しては、第2レイヤ復号MDCT係数の値を加算MDCT係数の値とする。
このように、本実施の形態によれば、各フレームにおいて異なる帯域の周波数成分を量子化対象とする場合、帯域拡張技術を利用するスケーラブル符号化を適用する上に非時間的なパラメータの予測符号化を適応的に行う。そのため、音声符号化の符号化情報量を低減するとともに、音声・オーディオ信号の符号化誤差および復号信号の音質劣化をさらに低減することができる。
また、帯域拡張符号化方法により拡張された帯域の成分に対しては残差を算出しないため、上位レイヤにおいて量子化対象成分のエネルギが増大することがなく、量子化効率を向上することができる。
なお、本実施の形態では、符号化装置において、第1レイヤ復号部にて復号した低域成分と、入力信号の高域成分との相関を利用して帯域拡張符号化情報を算出する方法を採用した場合を例にとって説明したが、本発明はこれに限らず、帯域拡張符号化情報を算出せずに、AMR−WB(Adaptive MultiRate - WideBand)のように高域を雑音成分で擬似的に生成する方法を採用する構成においても同様に適用できる。または、本実施の形態で説明した帯域拡張符号化方法や、AMR−WBでも利用している高域成分生成方法を利用しないスケーラブル符号化/復号方法においても、本発明の帯域選択方法は同様に適用できる。
(実施の形態6)
図21は、本発明の実施の形態6に係る音声符号化装置1100の主要な構成を示すブロック図である。
この図において、音声符号化装置1100は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部1108、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、第1レイヤではCELP方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
なお、図21に示す音声符号化装置1100において第2レイヤ符号化部1108以外の構成要素は、図6に示した音声符号化装置300の構成要素と同一であり、同一の構成
要素には同一の符号を付し、その説明を省略する。
図22は、第2レイヤ符号化部1108の内部の主要な構成を示すブロック図である。第2レイヤ符号化部1108は、残差MDCT係数算出部381、帯域選択部1802、シェイプ量子化部103、予測符号化有無判定部104、ゲイン量子化部1805、および多重化部106とから主に構成される。なお、第2レイヤ符号化部1108において帯域選択部1802、およびゲイン量子化部1805以外の構成要素は、図7に示した第2レイヤ符号化部308の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
帯域選択部1802は、まず、残差MDCT係数Xkを複数のサブバンドに分割する。ここでは、J(Jは自然数)個のサブバンドに均等に分割する場合を例にあげ説明する。そして、帯域選択部1802は、J個のサブバンドの中でL(Lは自然数)個のサブバンドを選択し、M(Mは自然数)種類のリージョンを得る。
図23は、帯域選択部1802において得られるリージョンの構成を例示する図である。
この図において、サブバンドの数は17個(J=17)であり、リージョンの種類は8種類(M=8)であり、各リージョンは2つのサブバンド群(この2つのサブバンド群を構成するバンド数はそれぞれ3と2とする)から構成される。ここで、2つのサブバンド群のうち、高域側に位置する2つのバンド数からなるサブバンド群は、全てのフレームを通じて固定であり、そのサブバンドのインデックスは例えば15、16である。例えば、リージョン4はサブバンド6〜8、15、16からなる。
次いで、帯域選択部1802は、下記の式(33)に従い、M種類の各リージョンの平均エネルギE(m)を算出する。
この式において、j’はJ個の各サブバンドのインデックスを示し、mは、M種類の各リージョンのインデックスを示す。なお、Region(m)は、リージョンmを構成するL個のサブバンドのインデックスの集合を意味し、B(j’)は、サブバンドj’を構成する複数のMDCT係数のインデックスのうちの最小値を示す。W(j’)は、サブバンドj’のバンド幅を示し、以下の説明では、J個の各サブバンドのバンド幅が全て等しい場合、すなわちW(j’)が定数である場合を例にとって説明する。
次いで、帯域選択部1802は、平均エネルギE(m)が最大となるリージョン、例えばリージョンm_maxが選択された場合にはj’∈Region(m_max)であるサブバンドからなる帯域を量子化対象帯域として選択し、このリージョンを示すインデックスm_maxを帯域情報としてシェイプ量子化部103、予測符号化有無判定部104、および多重化部106に出力する。また、帯域選択部1802は、残差MDCT係数Xkをシェイプ量子化部103に出力する。
ゲイン量子化部1805は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。予測符号化有無判定部104から入力される判定結果が予測
符号化を行うという判定結果を示す場合、ゲイン量子化部1805は、内蔵のバッファに記憶されている過去フレームの量子化ゲイン値C
t j’を用いて、現フレームのゲイン値を予測することにより量子化する。具体的には、ゲイン量子化部1805は、L個の各サブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、下記の式(34)の結果が最小となるゲインコードベクトルのインデックスを求める。
この式において、GCi kはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、kはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、kは0〜4の値を取る。また、ここでは選択されたリージョンのサブバンドのゲインをサブバンドのインデックスが昇順になるように連結させ、連続したゲインを一つのL次元ゲインコードベクトルとして扱い、ベクトル量子化を行う。したがって、図23を用いて説明すると、リージョン4の場合、サブバンドインデックス6、7、8、15、16のゲイン値を連結させて5次元のゲインコードベクトルとして扱う。また、ここで、Ct j’は時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct j’は時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部1805に記憶されている4次の線形予測係数である。
ゲイン量子化部1805は、上記の式(34)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。なお、内蔵のバッファの中の過去フレームに対応するサブバンドのゲイン値が存在しない場合、ゲイン量子化部1805は上記の式(34)において、内蔵のバッファの中の周波数的に最も近いサブバンドのゲインの値を代用する。
一方、予測符号化有無判定部104から入力される判定結果が予測符号化を行わないという判定結果を示す場合、ゲイン量子化部1805は、下記の式(35)に従い、シェイプ量子化部103から入力される理想ゲイン値Gain_i(j’)を直接量子化する。ここでも、ゲイン量子化部1805は、理想ゲイン値をL次元ベクトルとして扱い、ベクトル量子化を行う。
ここでは、上記の式(35)を最小にするコードブックのインデックスをG_minと記す。
ゲイン量子化部1805は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部1805は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t j’を用いて、下記の式(36)に従い、内蔵のバッファを更新する。すなわち、式(36)においては、ゲインコードベクトルGC
G_min jの要素インデックスj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、C
1 j’の値を更新する。
図24は、本実施の形態に係る音声復号装置1200の主要な構成を示すブロック図である。
この図において、音声復号装置1200は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部1205、時間領域変換部406、およびスイッチ407を備える。
なお、図24に示す音声復号装置1200おいて、第2レイヤ復号部1205以外の構成要素は、図8に示した音声復号装置400の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図25は、第2レイヤ復号部1205の内部の主要な構成を示すブロック図である。第2レイヤ復号部1205は、分離部451、シェイプ逆量子化部202、予測復号有無判定部203、ゲイン逆量子化部2504、および加算MDCT係数算出部452から主に構成される。なお、第2レイヤ復号部1205においてゲイン逆量子化部2504以外の構成要素は、図9に示した第2レイヤ復号部405の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
ゲイン逆量子化部2504は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵している。予測復号有無判定部203から入力される判定結果が予測復号を行うという判定結果を示す場合、ゲイン逆量子化部2504は、内蔵のバッファに記憶されている過去のフレームのゲイン値を用いて、現フレームのゲイン値を予測することにより逆量子化を行う。具体的には、ゲイン逆量子化部2504は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブック(GC
G_min k)(kは要素インデックスを示す)を内蔵しており、下記の式(37)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t j’は時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t j’は1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部2504に記憶されている4次の線形予測係数である。ゲイン逆量子化部2504は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、式(37)においては、ゲインコードベクトルGC
G_min kの要素インデックスk、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、Gain_q’(j’)の値を算出する。
なお、内蔵バッファの中に過去フレームに対応するサブバンドのゲインの値が存在しない場合、ゲイン逆量子化部2504は、上記の式(37)において、内部バッファの中の周波数的に最も近いサブバンドのゲイン値を代用する。
一方、予測復号有無判定部203から入力される判定結果が予測復号を行わないという
判定結果を示す場合、ゲイン逆量子化部2504は、上記のゲインコードブックを用いて、下記の式(38)に従いゲインの値を逆量子化する。ここでも、ゲイン値をL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、予測復号を行わない場合、ゲイン逆量子化部2504は、ゲイン符号化情報G_minに対応するゲインコードベクトルGC
k G_minを直接ゲイン値とする。なお、式(38)についても、式(37)と同様に、kとj’とをそれぞれ昇順に従って対応させるものとする。
次いで、ゲイン逆量子化部2504は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(39)に従い復号MDCT係数を算出し、下記の式(40)に従い内蔵のバッファを更新する。ここで、式(40)においては、逆量子化したゲインの値Gain_q’(j)のj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させてC”
1 j’の値を更新する。また、ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j’)〜B(j’+1)−1内に存在する場合、ゲイン値はGain_q’(j’)の値をとる。
ゲイン逆量子化部2504は、上記の式(39)に従い算出された復号MDCT係数X”kを加算MDCT係数算出部452に出力する。
このように、本実施の形態によれば、全帯域の中から隣接するサブバンドからなる1リージョンを量子化対象帯域として選択するのに比べ、音質を改善したい複数の帯域を広範囲に亘ってあらかじめ設定しておき、広範囲に亘って不連続な複数の帯域が量子化対象帯域として選択される。そのため、低域部と高域部の両者の品質改善を同時に図ることができる。
本実施の形態において、図23に示すように常に量子化対象帯域に含まれるサブバンドを高域側に固定する理由は、スケーラブルコーデックの第1レイヤではまだ高域部について符号化歪みが大きいためである。従って、第2レイヤにおいては、聴感的に重要な低中域部を量子化対象として選択することに加え、第1レイヤによってあまり精度良く符号化されていない高域部も量子化対象として固定的に選択することにより、音質の向上を図る。
なお、本実施の形態では、全フレームを通じて高域の同一サブバンド(具体的にはサブ
バンドインデックス15、16)をリージョンに含ませることにより、高域部の量子化対象となる帯域を固定にする場合を例に挙げて説明したが、本発明はこれに限定されず、高域のサブバンドについても、低域のサブバンドと同様に、複数の量子化対象帯域の候補から量子化対象となる帯域を選択しても良い。かかる場合、高域のサブバンドほどより大きい重みを乗じてから選択を行っても良い。また、入力信号のサンプリング周波数、符号化ビットレート、第1レイヤ復号信号のスペクトル特性、または入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、候補となる帯域を適応的に変更することも可能である。例えば、入力信号と第1レイヤ復号信号との差分信号のスペクトル(残差MDCT係数)のエネルギ分布が高い部分を優先的に量子化対象帯域の候補とする方法も考えられる。
また、本実施の形態では、リージョンを構成する高域側のサブバンド群を固定にして、現フレームにおいて選択された量子化対象帯域と過去フレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部に予測符号化を適用するか否かを判定する場合を例にとって説明したが、本発明はこれに限定されず、リージョンを構成する高域側のサブバンド群のゲインについては常に予測符号化を適用し、低域側のサブバンド群についてのみ予測符号化を行うか否かの判定を行っても良い。この場合、現フレームで選択された量子化対象帯域と前フレームで選択された量子化対象帯域との間での共通のサブバンドの数は、低域側のサブバンド群のみに対して考慮される。すなわち、この場合、量子化ベクトルは、予測符号化を行う部分と予測符号化を行わない部分とに分け量子化される。このように、リージョンを構成する高域側の固定のサブバンド群に対して予測符号化要否の判定を行わず常に予測符号化を行うため、より効率的にゲインを量子化することができる。
また、本実施の形態では、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部における予測符号化の適用・非適用を切替える場合を例にとって説明したが、本発明はこれに限定されず、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数を利用しても良い。この場合、たとえ、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数が所定値以下である場合でも、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数によっては、ゲイン量子化部に予測符号化を適用することもあり得る。
また、本実施の形態では、リージョンが低域側のサブバンド群と高域側のサブバンド群とから構成される場合を例にとって説明したが、本発明はこれに限定されず、例えば中域部にもサブバンド群を設定し、3つ以上のサブバンド群からリージョンを構成しても良い。また、入力信号のサンプリング周波数、符号化時のビットレート、第1レイヤ復号信号のスペクトル特性、または入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、リージョンを構成するサブバンド群の数を適応的に変更しても良い。
また、本実施の形態では、リージョンを構成する高域側のサブバンド群が全フレームを通じて固定である場合を例に挙げて説明したが、本発明はこれに限定されず、リージョンを構成する低域側のサブバンド群が全フレームを通じて固定であっても良い。また、リージョンを構成する低域側、高域側の両方のサブバンド群が全フレームを通じて固定であっても良く、または低域側、高域側の両方のサブバンド群をフレーム毎に探索し選択しても良い。また、リージョンを構成するサブバンド群のうち、3つ以上のサブバンド群に対して上記の各種方法を適用しても良い。
また、本実施の形態では、リージョンを構成するサブバンドのうち、高域側のサブバンド群を構成するサブバンドの数が低域側のサブバンド群を構成するサブバンドの数よりも小さい場合(高域側のサブバンド群のサブバンド数が2、低域側サブバンド群のサブバンド数が3)を例にとって説明したが、本発明はこれに限定されず、高域側のサブバンド群を構成するサブバンド数が低域側のサブバンド群を構成するサブバンドの数と等しい、あるいはより大きくても良い。また、入力信号のサンプリング周波数、符号化時のビットレート、第1レイヤ復号信号のスペクトル特性、入力信号と第1レイヤ復号信号との差分信号のスペクトル特性などに応じて、各サブバンド群を構成するサブバンドの数を適応的に変更しても良い。
また、本実施の形態では、第1レイヤ符号化部302においてCELP符号化方式の符号化を行う場合を例にとって説明したが、本発明はこれに限定されず、CELP符号化方式以外の符号化(例えば変換符号化など)を行っても良い。
(実施の形態7)
図26は、本発明の実施の形態7に係る音声符号化装置1300の主要な構成を示すブロック図である。
この図において、音声符号化装置1300は、ダウンサンプリング部301、第1レイヤ符号化部302、第1レイヤ復号部303、アップサンプリング部304、第1周波数領域変換部305、遅延部306、第2周波数領域変換部307、第2レイヤ符号化部1308、および多重化部309を備え、2レイヤからなるスケーラブルの構成をとる。なお、第1レイヤではCELP方式の音声符号化方法を適用し、第2レイヤ符号化では本発明の実施の形態1において説明した音声符号化方法を適用する。
なお、図26に示す音声符号化装置1300において第2レイヤ符号化部1308以外の構成要素は、図6に示した音声符号化装置300の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図27は、第2レイヤ符号化部1308の内部の主要な構成を示すブロック図である。第2レイヤ符号化部1308は、残差MDCT係数算出部381、帯域選択部102、シェイプ量子化部103、予測符号化有無判定部3804、ゲイン量子化部3805、および多重化部106から主に構成される。なお、第2レイヤ符号化部1308において予測符号化有無判定部3804、およびゲイン量子化部3805以外の構成要素は、図7に示した第2レイヤ符号化部308の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
予測符号化有無判定部3804は、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測符号化有無判定部3804は、まず、過去のフレームにおいて帯域選択部102から入力された帯域情報m_maxおよび現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通するサブバンドを検出する。予測符号化有無判定部3804は、帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されたサブバンドに対しては予測符号化を適用すると判定し、Pred_Flag(j)=ONと設定する。一方、予測符号化有無判定部3804は、帯域選択部102から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択さ
れていないサブバンドに対しては予測符号化を適用しないと判定し、Pred_Flag(j)=OFFと設定する。ここで、Pred_Flagとは、各サブバンドに対する予測符号化の適用・非適用の判定結果を示すフラグであり、値がONの場合は、サブバンドのゲイン値に対し予測符号化を適用することを意味し、値がOFFの場合は、サブバンドのゲイン値に対し予測符号化を適用しないことを意味する。予測符号化有無判定部3804は、各サブバンドに対する判定結果をゲイン量子化部3805に出力する。次いで、予測符号化有無判定部3804は、現フレームにおいて帯域選択部102から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン量子化部3805は、過去のフレームにおいて得られた量子化ゲイン値を記憶するバッファを内蔵している。ゲイン量子化部3805は、予測符号化有無判定部3804から入力される判定結果に応じて、現フレームのゲイン値の量子化における予測符号化の適用の有無を切替える。例えば、予測符号化を行う場合には、ゲイン量子化部3805は、L個のサブバンド毎に、GQ個のゲインコードベクトルからなる内蔵のゲインコードブックを探索して、予測符号化有無判定部3804から入力される判定結果に応じた距離計算を行い、下記の式(41)の結果が最小となるゲインコードベクトルのインデックスを求める。なお、式(41)では、j∈Region(m_max)を満たす全てのjに対して、Pred_Flag(j)に応じどちらかの距離計算を行い、その誤差の合計値が最小となるゲインコードベクトルのインデックスを求めるものとする。
この式において、GCi kはゲインコードブックを構成するゲインコードベクトルを示し、iはゲインコードベクトルのインデックスを示し、kはゲインコードベクトルの要素のインデックスを示す。例えば、リージョンを構成するサブバンド数が5の場合(L=5の場合)、kは0〜4の値を取る。ここで、Ct jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、Ct jは時間的に1フレーム前のゲイン値を示す。またαは、ゲイン量子化部3805に記憶されている4次の線形予測係数である。なお、ゲイン量子化部3805は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル量子化を行う。
ゲイン量子化部3805は、上記の式(41)の結果が最小となるゲインコードベクトルのインデックスG_minをゲイン符号化情報として多重化部106に出力する。
ゲイン量子化部3805は、G_minをゲイン符号化情報として多重化部106に出力する。また、ゲイン量子化部3805は、現フレームで得られたゲイン符号化情報G_minおよび量子化ゲイン値C
t jを用いて、下記の式(42)に従い、内蔵のバッファを更新する。なお、式(42)においては、ゲインコードベクトルGC
G_min jの要素インデックスj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、C
1 j’の値を更新する。
図28は、本実施の形態に係る音声復号装置1400の主要な構成を示すブロック図である。
この図において、音声復号装置1400は、制御部401、第1レイヤ復号部402、アップサンプリング部403、周波数領域変換部404、第2レイヤ復号部1405、時間領域変換部406、およびスイッチ407を備える。
なお、図28に示す音声復号装置1400において第2レイヤ復号部1405以外の構成要素は、図8に示した音声復号装置400の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
図29は、第2レイヤ復号部1405の内部の主要な構成を示すブロック図である。第2レイヤ復号部1405は、分離部451、シェイプ逆量子化部202、予測復号有無判定部4503、ゲイン逆量子化部4504、および加算MDCT係数算出部452とから主に構成される。なお、図29に示す第2レイヤ復号部1405における予測復号有無判定部4503、およびゲイン逆量子化部4504以外の構成要素は、図9に示した第2レイヤ復号部405の構成要素と同一であり、同一の構成要素には同一の符号を付し、その説明を省略する。
予測復号有無判定部4503は、過去のフレームにおいて分離部451から入力された帯域情報m_maxを記憶するバッファを内蔵している。ここでは過去の3フレーム分の帯域情報m_maxを記憶するバッファを内蔵している場合を例にあげ説明する。予測復号有無判定部4503は、まず、過去のフレームにおいて分離部451から入力された帯域情報m_maxおよび現フレームにおいて分離部451から入力される帯域情報m_maxを用いて、過去のフレームの量子化対象帯域と現フレームの量子化対象帯域との間で共通するサブバンドを検出する。予測復号有無判定部4503は、分離部451から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されたサブバンドに対しては予測復号を適用すると判定し、Pred_Flag(j)=ONと設定する。一方、予測復号有無判定部4503は、分離部451から入力される帯域情報m_maxが示すL個のサブバンドのうち、時間的に1つ過去のフレームにおいて量子化対象として選択されていないサブバンドに対しては予測復号を適用しないと判定し、Pred_Flag(j)=OFFと設定する。ここで、Pred_Flagとは、各サブバンドに対する予測復号の適用・非適用の判定結果を示すフラグであり、値がONの場合は、サブバンドのゲイン値に対し予測復号を適用することを意味し、値がOFFの場合は、サブバンドのゲイン値に対し予測復号を適用しないことを意味する。次に、予測復号有無判定部4503は、各サブバンドに対する判定結果をゲイン逆量子化部4504に出力する。次いで、予測復号有無判定部4503は、現フレームにおいて分離部451から入力される帯域情報m_maxを用いて、帯域情報を記憶する内蔵のバッファを更新する。
ゲイン逆量子化部4504は、過去のフレームにおいて得られたゲイン値を記憶するバッファを内蔵しており、予測復号有無判定部4503から入力される判定結果に応じて、
現フレームのゲイン値の復号における予測復号の適用の有無を切替える。ゲイン逆量子化部4504は、音声符号化装置100のゲイン量子化部105と同様なゲインコードブックを内蔵しており、例えば、予測復号を行う場合には、下記の式(43)に従い、ゲインの逆量子化を行ってゲイン値Gain_q’を得る。ここで、C”
t jは時間的にtフレーム前のゲインの値を示し、例えばt=1の場合、C”
t jは1フレーム前のゲイン値を示す。また、αはゲイン逆量子化部4504に記憶されている4次の線形予測係数である。ゲイン逆量子化部4504は、1リージョン内のL個のサブバンドをL次元ベクトルとして扱い、ベクトル逆量子化を行う。なお、式(43)においては、ゲインコードベクトルGC
G_min kの要素インデックスk、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させて、Gain_q’(j’)の値を算出する。
次いで、ゲイン逆量子化部4504は、現フレームの逆量子化で得られるゲイン値、およびシェイプ逆量子化部202から入力されるシェイプの値を用いて、下記の式(44)に従い復号MDCT係数を算出し、下記の式(45)に従い内蔵のバッファを更新する。ここで、式(45)においては、逆量子化したゲインの値Gain_q’(j)のj、およびj’∈Region(m_max)を満たすj’をそれぞれ昇順に対応させてC”
1 j’の値を更新する。また、ここでは、算出された復号MDCT係数をX”
kと記す。また、MDCT係数の逆量子化において、kがB(j’)〜B(j’+1)−1内に存在する場合、ゲイン値はGain_q’(j’)の値をとる。
ゲイン逆量子化部4504は、上記の式(44)に従い算出された復号MDCT係数X”kを加算MDCT係数算出部452に出力する。
このように、本実施の形態によれば、各フレームにおいて選択された量子化対象帯域のゲインの量子化時に、量子化対象帯域に含まれる各サブバンドが時間的に過去のフレームにおいて量子化されたか否かを検知する。そして、過去のフレームにおいて量子化されたことがあるサブバンドに対しては予測符号化を適用し、過去のフレームにおいて量子化されたことがないサブバンドに対しては予測符号化を適用せずにベクトル量子化を行う。これにより、ベクトル全体に対して予測符号化の適用・非適用を切替える手法に比べてより効率的に周波数領域パラメータを符号化することができる。
また、本実施の形態では、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数に応じて、ゲイン量子化部における予測符号化の適用・非適用を切替える方法について説明したが、本発明はこれに限定されず、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数を利用しても良い。この場合、たとえ、現フレームにおいて選択された量子化対象帯域と時間的に1つ過去のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数が所定値以下である場合でも、現フレームにおいて選択された量子化対象帯域と時間的に2つ以上前のフレームにおいて選択された量子化対象帯域との間での共通のサブバンドの数によっては、ゲイン量子化部において予測符号化を適用することもあり得る。
また、本実施の形態で説明した量子化方法は、実施の形態6にて説明した量子化対象帯域の選択方法と組み合わせることも可能である。例えば、量子化対象帯域であるリージョンが低域側のサブバンド群と高域側のサブバンド群とから構成されており、高域側のサブバンド群が全フレームを通じて固定であり、低域側のサブバンド群のゲインと高域側のサブバンド群のゲインとを連続させたベクトルを量子化する場合について説明する。この場合、量子化対象帯域のゲインのベクトルのうち、高域側のサブバンド群のゲインを示す要素については常に予測符号化を適用し、低域側のサブバンド群のゲインを示す要素については予測符号化を適用せずにベクトル量子化する。これにより、ベクトル全体に対して予測符号化の適用・非適用を切替える場合に比べてより効率的にゲインベクトルを量子化することが出来る。また、この時、低域側のサブバンド群において、過去のフレームにおいて量子化されたサブバンドに対しては予測符号化を適用し、過去のフレームにおいて量子化されていないサブバンドに対しては予測符号化を適用せずに、ベクトル量子化をするという方法も効率的である。また、低域側のサブバンド群のゲインを示す要素については、実施の形態1で説明したように、時間的に過去のフレームで選択された量子化対象帯域を構成するサブバンドを利用して、予測符号化の適用・非適用を切替えて量子化する。これにより、ゲインベクトルをさらに効率的に量子化することができる。なお、本発明は、上述した構成を組み合わせた構成についても適用可能である。
以上、本発明の実施の形態について説明した。
なお、本発明の各実施の形態では、量子化対象帯域を選択する方法として、全帯域においてエネルギが最も大きいリージョンを選択する場合を例にとって説明したが、本発明はこれに限定されず、予めある帯域を予備的に選択し、予備的に選択された帯域において量子化対象帯域を最終的に選択しても良い。かかる場合、入力信号のサンプリングレート、あるいは符号化ビットレートなどによって予備的に選択される帯域は決定すれば良い。例えば、サンプリングレートが低い場合は、低域部を予備的に選択する方法などがある。
また、上記各実施の形態においては、変換符号化方法としてMDCTを利用しているため、上記各実施の形態で用いた「MDCT係数」は、実質的にスペクトルを意味する。したがって、「MDCT係数」という表記は「スペクトル」と置き換えても良い。
また、上記各実施の形態においては、音声復号装置200、200a、400、600、800、1010、1200、1400は、それぞれ音声符号化装置100、100a、300、500、700、1000、1100、1300より伝送された符号化データを入力して処理するという例を示したが、同様の構成を有する符号化データを生成可能な他の構成の符号化装置が出力した符号化データを入力して処理しても良い。
また、本発明に係る符号化装置、復号装置、およびこれらの方法は、上記各実施の形態に限定されず、種々変更して実施することが可能である。例えば、各実施の形態は、適宜組み合わせて実施することが可能である。
本発明に係る符号化装置および復号装置は、移動体通信システムにおける通信端末装置および基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する通信端末装置、基地局装置、および移動体通信システムを提供することができる。
また、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係る符号化方法/復号方法のアルゴリズムをプログラミング言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る符号化装置/復号装置と同様の機能を実現することができる。
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部または全てを含むように1チップ化されても良い。
また、ここではLSIとしたが、集積度の違いによって、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラム化することが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらに、半導体技術の進歩または派生する別技術により、LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
2006年12月13日出願の特願2006−336270の日本出願、2007年3月2日出願の特願2007−053499の日本出願、2007年5月17日出願の特願2007−132078の日本出願、および2007年7月13日出願の特願2007−185078の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。