(58)【調査した分野】(Int.Cl.,DB名)
前記クリッピング処理は、前記生成された正規化スペクトルについて、所定の閾値と前記正規化スペクトルの振幅の絶対値とを比較し、前記正規化スペクトルの絶対値が前記所定の閾値を越える場合、前記正規化スペクトルの振幅値を前記所定の閾値に置き換える、
請求項1に記載の符号化装置。
前記クリッピング処理は、前記生成された正規化スペクトルについて、所定の閾値と前記正規化スペクトルの振幅の絶対値とを比較し、前記正規化スペクトルの絶対値が前記所定の閾値を越える場合、前記正規化スペクトルの振幅値を前記所定の閾値に置き換える、
請求項5に記載の復号装置。
前記クリッピング処理は、前記生成された正規化スペクトルについて、所定の閾値と前記正規化スペクトルの振幅の絶対値とを比較し、前記正規化スペクトルの絶対値が前記所定の閾値を越える場合、前記正規化スペクトルの振幅値を前記所定の閾値に置き換える、
請求項9に記載の符号化方法。
前記クリッピング処理は、前記生成された正規化スペクトルについて、所定の閾値と前記正規化スペクトルの振幅の絶対値とを比較し、前記正規化スペクトルの絶対値が前記所定の閾値を越える場合、前記正規化スペクトルの振幅値を前記所定の閾値に置き換える、
請求項13に記載の復号方法。
【発明を実施するための形態】
【0022】
本発明では、符号化装置が、低域部のスペクトル(低域スペクトル)を用いて、拡張帯域のスペクトル(拡張帯域スペクトル)を生成するコーデックにおいて、低域スペクトルを複数のサブバンドに分割し、サブバンド毎のスペクトルを、各サブバンドに含まれるスペクトルの振幅最大値で正規化する。こうすることで、低域スペクトルが離散的なスペクトルであっても、極端に大きな振幅のスペクトルの発生を抑止して、平坦な正規化低域スペクトルを得ることができる。これにより、符号化装置が、ピーク性を十分に低く抑えた状態の低域部を拡張帯域にコピーすることで、拡張帯域において、過度にピーク性の大きいスペクトルが発生することを防ぎ、高音質な拡張帯域スペクトルを生成することができるものである。
【0023】
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。なお、本発明に係る符号化装置および復号装置は、入力信号/出力信号として、音声信号、楽音信号、及び、これらが混在した信号、のいずれについても対象とするものとする。
【0024】
(実施の形態1)
図1は、実施の形態1に係る符号化装置100の構成を示すブロック図である。
【0025】
図1に示す符号化装置100は、時間−周波数変換部101、コア符号化部102、サブバンド振幅正規化部103、帯域探索部104、ゲイン算出部105、拡張帯域符号化部106および多重化部107により構成される。本実施の形態では、符号化装置100に入力される入力スペクトルの所定周波数以下の低域部(低域スペクトル)をコア符号化部102が符号化し、入力スペクトルのうち、コア符号化部102により符号化された帯域よりも高域(所定周波数より高い帯域。以後、拡張帯域と呼ぶ)のスペクトルを拡張帯域符号化部106が符号化する。
【0026】
時間−周波数変換部101は、入力される時間領域の入力信号(音声信号または/および音楽信号)を周波数領域の信号に変換し、得られる入力信号スペクトルをコア符号化部102、帯域探索部104およびゲイン算出部105に出力する。なお、ここでは、時間−周波数変換部101での時間−周波数変換処理として、MDCT変換を前提に説明する。しかし、時間−周波数変化部101は、時間領域から周波数領域へ変換するFFT(Fast Fourier Transform)、DCT(Discrete Cosine Transform)等の直交変換を用いてもよい。
【0027】
コア符号化部102は、時間−周波数変換部101から入力される入力信号スペクトルのうち、低域スペクトルを符号化して、符号化データを生成する。コア符号化部102は、変換符号化を用いて符号化を行う。コア符号化部102は、生成した符号化データをコア符号化データとして多重化部107に出力する。また、コア符号化部102は、コア符号化データを復号して得られるコア符号化低域スペクトルをサブバンド振幅正規化部103に出力する。
【0028】
サブバンド振幅正規化部103は、コア符号化部102から入力されるコア符号化低域スペクトルを正規化して、正規化低域スペクトルを生成する。具体的には、サブバンド振幅正規化部103は、コア符号化低域スペクトルを複数のサブバンドに分割し、サブバンド毎のスペクトルを、各サブバンドに含まれるスペクトルの振幅(絶対値)の最大値でそれぞれ正規化する。サブバンド振幅正規化部103は、正規化処理によって得られる正規化低域スペクトルを帯域探索部104およびゲイン算出部105に出力する。なお、サブバンド振幅正規化部103の構成および動作の詳細については後述する。
【0029】
帯域探索部104、ゲイン算出部105および拡張帯域符号化部106は、入力信号スペクトルのうち、拡張帯域のスペクトル(入力拡張帯域スペクトル)の符号化処理を行う。
【0030】
帯域探索部104は、時間−周波数変換部101から入力される入力信号スペクトルのうち、入力拡張帯域スペクトルと、サブバンド振幅正規化部103から入力される正規化低域スペクトルとの間の相関値が最大となる特定の帯域を探索する。そして、帯域探索部104は、探索した上記特定の帯域(正規化低域スペクトルの対象帯域(コピー元)、および、拡張帯域の対象帯域(コピー先))を示す情報(ラグまたはラグ情報と呼ぶ)をゲイン算出部105および拡張帯域符号化部106に出力する。
【0031】
図2は帯域探索部104の動作の様子を示す図である。帯域探索部104では、入力された正規化低域スペクトルから、あらかじめ定められたラグ候補(
図2では例としてL0〜L3の4候補)それぞれについて、各ラグ候補に対応するスペクトルが切り出される。切り出されるスペクトルは、基準周波数f0からラグ候補で表される既定のサンプル値だけシフトした位置を始点とし、入力拡張帯域スペクトル(拡張帯域の全帯域または一部の帯域)の帯域幅と同じ帯域幅に含まれるものである。切り出されたスペクトルは、相関値算出の候補スペクトルとして相関値算出部104aに出力される。この例では、4種類の候補スペクトルが相関値算出の対象となる。
【0032】
相関値算出部104aは、ラグ候補に従い特定される候補スペクトルの各々と入力帯域スペクトルとの間の相関値を算出し、これら相関値の中で最も高い値を示すときのラグ候補を、前記特定の帯域を示す情報として、ゲイン算出部105および拡張帯域符号化部106に出力する。
【0033】
ゲイン算出部105は、帯域探索部104で探索された上記特定の帯域の正規化低域スペクトルを、拡張帯域にコピーして(写して)得られるスペクトルを、スペクトル微細構造(周波数微細構造)とする。そして、ゲイン算出部105は、得られるスペクトル微細構造と、時間−周波数変換部101から入力される入力拡張帯域スペクトルとの間でゲインを算出する。ゲイン算出部105は、算出したゲインを示す情報を拡張帯域符号化部106に出力する。ゲイン算出部105は、基本的には正規化低域スペクトルからコピーしてきた信号のエネルギが、入力信号スペクトルの拡張帯域におけるエネルギに一致するように(もしくは近くなるように)ゲインを算出する。ゲインを算出する最も簡単な方法としては、例えば、入力信号スペクトルの拡張帯域のエネルギを、正規化低域スペクトルからコピーしてきた信号のエネルギで除算し、除算した値の平方根をゲインとする方法がある。
【0034】
拡張帯域符号化部106は、帯域探索部104から入力される特定の帯域を示す情報を符号化するとともに、ゲイン算出部105から入力されるゲインを符号化する。拡張帯域符号化部106は、特定の帯域およびゲインを符号化して生成される符号化データを拡張帯域符号化データとして多重化部107に出力する。
【0035】
多重化部107は、コア符号化部102から入力されるコア符号化データと、拡張帯域符号化部106から入力される拡張帯域符号化データとを多重化して、符号化データを出力する。
【0036】
次に、本実施の形態に係る復号装置200について説明する。
図3は、復号装置200の構成を示すブロック図である。
【0037】
図3に示す復号装置200は、分離部201、コア復号部202、サブバンド振幅正規化部203、拡張帯域復号部204および周波数−時間変換部205により構成される。
【0038】
分離部201は、入力される符号化データを、コア符号化データと拡張帯域符号化データとに分離する。分離部201は、コア符号化データをコア復号部202に出力し、拡張帯域符号化データを拡張帯域復号部204に出力する。
【0039】
なお、上述したように、コア符号化データは、符号化装置100において入力信号(音声信号または/および音楽信号)の所定周波数以下の低域部を符号化して得られる符号化データである。また、拡張帯域符号化データには、入力信号(音声信号または/および音楽信号)の所定周波数以下の高域部のスペクトル(入力拡張帯域スペクトル)と正規化スペクトルとの間で相関値が最大となる特定の帯域を示す情報、および、特定の帯域の正規化スペクトルを高域部にコピーして得られるスペクトル(スペクトル微細構造)と入力拡張帯域スペクトルとの間のゲインを示す情報が含まれる。
【0040】
コア復号部202は、分離部201から入力されるコア符号化データを復号して、コア符号化低域スペクトルを生成する。コア復号部202は、生成されたコア符号化低域スペクトルを、サブバンド振幅正規化部203および周波数−時間変換部205に出力する。
【0041】
サブバンド振幅正規化部203は、コア復号部202から入力されるコア符号化低域スペクトルを正規化して、正規化低域スペクトルを生成する。サブバンド振幅正規化部203は、生成した正規化低域スペクトルを拡張帯域復号部204に出力する。なお、サブバンド振幅正規化部203の構成および動作は、
図1に示したサブバンド振幅正規化部103の構成及び動作(後述する)と同一であるので、詳細な説明は省略する。
【0042】
拡張帯域復号部204は、サブバンド振幅正規化部203から入力される正規化低域スペクトルおよび分離部201から入力される拡張帯域符号化データを用いて復号処理を行い、拡張帯域スペクトルを得る。拡張帯域復号部204は、拡張帯域符号化データを復号してラグ情報およびゲインを得る。拡張帯域復号部204は、ラグ情報に基づいて、拡張帯域にコピーする正規化低域スペクトルの所定帯域を特定し、正規化低域スペクトルの所定帯域を拡張帯域にコピーする。次に、拡張帯域復号部204は、正規化低域スペクトルの所定帯域が拡張帯域にコピーされたスペクトルに対して、復号したゲインを乗じることで、拡張帯域スペクトルを得る。そして、拡張帯域復号部204は、得られる拡張帯域スペクトルを周波数−時間変換部205に出力する。
【0043】
図4は拡張帯域復号部204の動作の様子を示す図である。拡張帯域復号部204は、始めに、ラグ情報に基づいて、拡張帯域へのコピーに用いられる正規化低域スペクトルの始点を決定する。
図4では、ラグ情報L1が得られる場合を例にしているので、f1に位置するスペクトルを始点とする。
【0044】
次に、拡張帯域復号部204は、拡張帯域スペクトル生成部204aにおいて、この始点から、入力拡張帯域スペクトル(拡張帯域の全帯域または一部の帯域)の帯域幅と同じ帯域幅に含まれるスペクトルを切り出し、拡張帯域スペクトル(ゲイン乗算前)を生成する。
【0045】
周波数−時間変換部205は、まず、コア復号部202から入力されるコア符号化低域スペクトルと、拡張帯域復号部204から入力される拡張帯域スペクトルとを結合して復号スペクトルを生成する。次いで、周波数−時間変換部205は、復号スペクトルを直交変換して、時間領域の信号に変換して出力信号として出力する。
【0046】
次に、符号化装置100のサブバンド振幅正規化部103の構成及び動作について詳細に説明する。
【0047】
サブバンド振幅正規化部103は、コア符号化部102から入力されるコア符号化低域スペクトルのエネルギの偏りを除去して、正規化低域スペクトルを得る。ここで、スペクトルのエネルギの偏りを除去するには、スペクトルのエンベロープを求めて、帯域毎のエンベロープの代表値で帯域内の各スペクトルを除算することで正規化するのが一般的である。非特許文献1および2でも同様の手法により低域スペクトルを正規化している。
【0048】
しかしながら、コア符号化部102において変換符号化が用いられ、かつ、ビットレートが低い場合には、低域スペクトルは離散的なパルス列で表現される。低域スペクトルを表す離散的なパルス列からエンベロープを正確に求めるのは困難である。そのため、このような低域スペクトルから求めた不正確なエンベロープで低域スペクトルを正規化した場合には、正規化低域スペクトルにエネルギの偏りが残り、極端に大きな振幅のスペクトルが残ってしまうという問題が生じる。このような正規化低域スペクトルと入力拡張帯域スペクトルとで相関の大きい帯域を探索して、相関の大きい帯域の正規化低域スペクトルを拡張帯域にコピーしてしまうと、本来拡張帯域(高域部)で発生することの無いピーク性の強い信号が高域側に生成されてしまい、大きく音質が劣化してしまう。
【0049】
そこで、本実施の形態では、サブバンド振幅正規化部103は、エネルギの偏りを除く方法として、低域スペクトルの絶対値の最大振幅値(以下、サブバンド最大値と呼ぶ)をサブバンド毎に求め、各サブバンドに含まれるスペクトルを、各サブバンドで求めたサブバンド最大値でそれぞれ正規化する。こうすることで、正規化後の各サブバンドにおけるスペクトルの絶対値の最大値はサブバンド間で統一される。これにより、正規化低域スペクトルでは、極端に振幅が大きなスペクトルは存在しなくなる。
【0050】
上記処理を実現するサブバンド振幅正規化部103の構成を
図5に示す。
図5に示すサブバンド振幅正規化部103は、サブバンド分割部131、最大値探索部132および振幅正規化部133により構成される。
【0051】
サブバンド分割部131は、コア符号化部102から入力されるコア符号化低域スペクトルを含む帯域(つまり、低域部)を複数のサブバンドに分割して、得られるサブバンド毎のスペクトルをサブバンド分割コア符号化低域スペクトルとして、最大値探索部132および振幅正規化部133に出力する。以下では、簡単のため、サブバンド分割部131がコア符号化低域スペクトルの全帯域を等間隔で分割する場合について説明する。また、以下では、各サブバンドの帯域幅(サンプル数)を「w」で表す。例えば、1サブバンドは8サンプル(w=8)で構成してもよい。
【0052】
最大値探索部132は、複数のサブバンドのそれぞれにおいて、サブバンド分割部131から入力されるサブバンド分割コア符号化低域スペクトルの振幅(絶対値)の最大値(つまり、各サブバンドのサブバンド最大値)を探索する。最大値探索部132は、各サブバンドのサブバンド最大値を振幅正規化部133に出力する。以下では、j番目のコア符号化低域スペクトルをM[j]、サブバンド数をS、サブバンドインデックスをsで表す。この場合、サブバンドsにおけるサブバンド最大値Mmax[s]は次式(1)のように表される。
【0054】
振幅正規化部133は、サブバンド分割部131から入力されるサブバンド分割コア符号化低域スペクトルを、最大値探索部132から入力される各サブバンドのサブバンド最大値で正規化して、正規化低域スペクトルを得る。つまり、振幅正規化部133は、各サブバンドに含まれるサブバンド分割コア符号化低域スペクトルを、各サブバンドのサブバンド最大値でそれぞれ正規化する。例えば、正規化低域スペクトルMnは次式(2)で表される。
【0056】
式(2)において、εは零除算を回避するための微少値を表す。振幅正規化部133は、上記処理を全てのサブバンドで実行することで、正規化低域スペクトルを得ることができる。
【0057】
次いで、上述したサブバンド振幅正規化部103の動作を、
図6、7、8を用いて説明する。
【0058】
図6は、従来技術におけるエンベロープの算出処理の一例を示す。
図6において、横軸は周波数を表し、縦軸はスペクトルパワーを表す。
図6では、コア符号化部の符号化対象(符号化範囲)の帯域(低域部)は、SB0〜SB5の6個のサブバンドに分割されている。つまり、
図6に示すSB5より高域の帯域(拡張帯域)は、拡張帯域符号化部の符号化対象(符号化範囲)である。また、
図6に示す破線曲線は入力信号スペクトルのエンベロープ(入力信号エンベロープ)を示す。
【0059】
また、
図6では、コア符号化部は、変換符号化によって、p0〜p10の位置のスペクトルを符号化したものとする。なお、
図6、
図7、
図8において、符号化されたスペクトルは、スペクトルパワーで図示している。
図6に示すように、離散的なスペクトル(コア符号化低域スペクトル。p0〜p10の位置のスペクトル)からは正確なエンベロープ(
図6に示す破線)を求めるのは困難である。例えば、
図6では、実線曲線で示される推定エンベロープ(コア符号化低域スペクトルから求めたエンベロープ)は、破線曲線で示される入力信号エンベロープとは乖離している。
【0060】
図7は、従来技術における推定エンベロープ(不正確なエンベロープ)から算出された正規化低域スペクトルの一例をスペクトルパワーにて示す。
図7において、
図6と同一の記号は同一の意味を表す。低域スペクトルを不正確なエンベロープで正規化すると、
図7に示すように、正規化低域スペクトルでは、各サブバンドのスペクトル振幅のばらつきが大きくなる。例えば、
図7では、SB0およびSB1の各サブバンドのスペクトル振幅に対して、SB3およびSB5の各サブバンドのスペクトル振幅が大きくなっている。特に、エンベロープの推定を極端に誤った場合には、他のスペクトルと比べて極端に大きなパワーのスペクトルが発生してしまう。
【0061】
これに対して、
図8は、本実施の形態におけるサブバンド振幅正規化部103で得られる正規化低域スペクトルを、スペクトルパワーにて示す。
図8において、
図7と同一の記号は同一の意味を表す。
【0062】
サブバンド振幅正規化部103において、最大値探索部132は、各サブバンドSB0〜SB5のそれぞれにおいて、サブバンド最大値を探索する。例えば、
図8に示すように、最大値探索部132は、SB0に含まれるスペクトル(p0,p1)のうち振幅値が最大となるスペクトル(p1)を、SB0のサブバンド最大値として特定する。同様に、
図8に示すように、最大値探索部132は、SB1に含まれるスペクトル(p2,p3)のうち振幅値が最大となるスペクトル(p2)を、SB1のサブバンド最大値として特定する。最大値探索部132は、
図8に示すSB2〜SB5についても同様に、振幅値が最大となるスペクトル(p5,p7,p8,p10)を各サブバンドのサブバンド最大値として特定する。
【0063】
次いで、振幅正規化部133は、各サブバンドに含まれるスペクトル(サブバンド分割コア符号化低域スペクトル)を、各サブバンドのサブバンド最大値で正規化する。例えば、振幅正規化部133は、
図8に示すSB0において、p0およびp1のスペクトルを、サブバンド最大値(p1のスペクトルの振幅値)で正規化する。同様に、振幅正規化部133は、
図8に示すSB1において、p2およびp3のスペクトルを、サブバンド最大値(p2のスペクトルの振幅値)で正規化する。SB2〜SB5についても同様である。
【0064】
この結果、各サブバンドにおいて振幅が最大となるスペクトルは必ず1.0となる。
図8においても、振幅が最大となるスペクトルのスペクトルパワーは1.0になっている。ただし、ここでは、零除算対策のための微小値の影響は考慮しないこととする。つまり、
図8に示す全サブバンドSB0〜SB5において、正規化後の振幅の最大値は、同一値(1.0)で統一される。
【0065】
こうすることで、サブバンド間でスペクトルの特性を平坦にでき、極端に振幅が大きなスペクトルも発生し得ない。すなわち、サブバンド振幅正規化部103は、拡張帯域スペクトル(一般的に低域スペクトルと比較して周波数特性が平坦であるスペクトル)との相関性が高い正規化低域スペクトルを得ることができる。つまり、サブバンド振幅正規化部103は、コア符号化部102によって入力信号スペクトルを符号化及び復号することにより生成されたコア符号化低域スペクトルを、特性が平坦な正規化低域スペクトルに変換できる。これにより、符号化装置100では、拡張帯域スペクトルと相関の高い正規化低域スペクトルを得ることができるので、高域の音質を向上させることができる。
【0066】
以上、サブバンド振幅正規化部103の構成および動作の詳細について説明した。
【0067】
このように、本実施の形態によれば、符号化装置100は、サブバンド振幅正規化部103において、最大値探索部132が、入力信号の所定周波数以下の低域部を分割して得られる複数のサブバンドのそれぞれにおいて、コア符号化低域スペクトルの振幅の最大値(サブバンド最大値)を探索し、振幅正規化部133が、各サブバンドに含まれるコア符号化低域スペクトルを、各サブバンドのサブバンド最大値で正規化する。そして、符号化装置100は、正規化されたコア符号化低域スペクトル(正規化低域スペクトル)を用いて、拡張帯域スペクトルを符号化する。
【0068】
こうすることで、符号化装置100は、コア符号化部102での符号化によって得られるコア符号化低域スペクトルが離散的なスペクトルであっても、極端に振幅が大きいスペクトルの発生を抑止して、特性が平坦な正規化低域スペクトルを得ることができる。これにより、正規化低域スペクトルには極端に振幅が大きいスペクトルが存在しなくなるので、符号化装置100は、ピーク性を十分に低い状態にした低域部のスペクトルを高域部(拡張帯域)にコピーすることにより、拡張帯域(高域部)において、ピーク性の過度に大きいスペクトルの発生を防ぎ、高品質な拡張帯域スペクトルを生成することができる。
【0069】
(実施の形態2)
上述したように、入力信号の拡張帯域(高域部)のスペクトルを符号化する際、符号化装置は、正規化低域スペクトルを拡張帯域にコピーしたスペクトルをスペクトル微細構造として利用している。これは、入力信号の低域部のスペクトルのハーモニクス(調波)構造を利用しているとも言える。すなわち、入力信号の低域部のスペクトルにおいてハーモニクス構造をより強調することにより、明瞭性がより高い復号信号を得ることが期待できる。
【0070】
そこで、本実施の形態では、実施の形態1で得られる正規化低域スペクトルに対して、更に、ハーモニクス構造を強調する場合について説明する。
【0071】
図9は、本実施の形態に係る符号化装置300の構成を示すブロック図である。
図9に示す符号化装置300において、ハーモニクス強調部301以外の構成要素については、実施の形態1の符号化装置100(
図1)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。
【0072】
ハーモニクス強調部301は、サブバンド振幅正規化部103から入力される正規化低域スペクトルのハーモニクス構造を強調し、ハーモニクス構造が強調された正規化低域スペクトル(ハーモニクス強調正規化低域スペクトル)を、帯域探索部104およびゲイン算出部105に出力する。
【0073】
すなわち、帯域探索部104は、ハーモニクス強調正規化低域スペクトルと、入力拡張帯域スペクトルとを用いて、特定の帯域(相関値が最大となる帯域)を探索する。また、ゲイン算出部105は、上記特定の帯域のハーモニクス強調正規化低域スペクトルを拡張帯域にコピーして得られるスペクトル(スペクトル微細構造)と、入力拡張帯域スペクトルとの間のゲインを算出する。
【0074】
図10は、本実施の形態に係る復号装置400の構成を示すブロック図である。
図10に示す復号装置400において、ハーモニクス強調部401以外の構成要素については、実施の形態1の復号装置200(
図3)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。また、ハーモニクス強調部401の構成および動作は、
図9に示したハーモニクス強調部301の構成及び動作と同一であるので、詳細な説明は省略する。
【0075】
次に、ハーモニクス強調部301におけるハーモニクス構造の強調処理の詳細について説明する。
【0076】
上述したように、コア符号化部102では、ビットレートが低い場合には少ないパルスで低域スペクトルを符号化する。この際、エネルギがより大きいスペクトルが優先的に符号化されることが考えられる。また、エネルギがより大きいスペクトルは、ハーモニクス構造を構成する重要なスペクトルである可能性が高いスペクトルであると考えられる。さらに、ハーモニクス構造を構成するスペクトル(エネルギの高いスペクトル)は離散的に分布するはずである。
【0077】
以上のことより、ハーモニクス強調部301は、正規化低域スペクトルのうち、各サブバンドで振幅の大きいスペクトル(各サブバンドのサブバンド最大値に対応するスペクトル)を残し、各サブバンドのサブバンド最大値に対応するスペクトル以外のスペクトルを除去する。これにより得られる、ハーモニクス強調正規化低域スペクトルでは、ハーモニクス構造を構成するスペクトルが多く残り、ハーモニクス構造を強調することができる。
【0078】
図11は、ハーモニクス強調部301におけるハーモニクス強調処理を示す。
図11Aは
図6に示す入力信号スペクトルのエンベロープ(入力信号エンベロープ)、および、コア符号化部102によって符号化された低域スペクトル(コア符号化低域スペクトル)のスペクトルパワーを示す。
図11Bは、本実施の形態で得られるハーモニクス強調正規化低域スペクトルをスペクトルパワーで図示している。なお、
図11Aおよび
図11Bにおいて、
図6、
図7または
図8と同一の記号は同一の意味を表す。
【0079】
また、ここでは、簡単のため、1つのサブバンドにつき1つのパルスのみを残す場合を一例として説明する。
【0080】
図11Aおよび
図11Bに示す実線のパルス(p2,p5,p8)は、入力信号エンベロープのピーク付近で符号化されたスペクトルのスペクトルパワーであり、各サブバンド(SB1,SB2,SB4)において振幅(絶対値)が最大となるスペクトル(サブバンド最大値に対応するスペクトル)である。また、
図11Aおよび
図11Bに示す点線のパルス(p0,p3,p4,p6,p9)は、各サブバンドにおいて最大振幅値ではないスペクトルパワーである。また、
図11Aおよび
図11Bに示す一点鎖線のパルス(p1,p7,p10)は、エンベロープのピーク付近ではないもののそのサブバンドで振幅(絶対値)が最大となるスペクトルである。
【0081】
ハーモニクス強調部301は、正規化低域スペクトルのうち、サブバンド最大値に対応するスペクトルを残し、サブバンド最大値に対応するスペクトル以外のスペクトルを除去する。つまり、
図11Aおよび
図11Bでは、ハーモニクス強調部301は、p1、p2、p5、p7、p8、p10のスペクトル(パルス)を残し、p0、p3、p4、p6、p9のスペクトル(パルス)を除去する。
【0082】
これにより、
図11Aに示すように、入力信号エンベロープのピーク付近で符号化されたスペクトル(実線のスペクトル)は全て残り、それ以外のスペクトルは除去され得ることになるため、ハーモニクス構造を強調することができる。
【0083】
以上の構成、動作により、符号化装置300では、拡張帯域スペクトルにおいてもハーモニクス構造を表現することができる。すなわち、符号化装置300は、入力信号の拡張帯域でもハーモニクス構造を強調することが可能となり、実施の形態1と比較して更に明瞭性の高い高品質な拡張帯域スペクトルを生成することができる。これにより、符号化装置300は、明瞭性の高い高音質な拡張帯域スペクトルを生成することができる。
【0084】
また、本実施の形態によれば、符号化装置300は、実施の形態1と同様、コア符号化部102での符号化によって得られる低域スペクトルが離散的なスペクトルであっても、極端に振幅が大きいスペクトルの発生を抑止して、特性が平坦な正規化低域スペクトルを得ることができる。これにより、実施の形態1と同様、拡張帯域(高域部)において、ピーク性の過度に大きいスペクトルの発生を防ぎ、高品質な拡張帯域スペクトルを生成することができる。
【0085】
なお、本実施の形態では、ハーモニクス強調部301が各サブバンドにおける最大振幅値(サブバンド最大値)を有するスペクトルのみを残す場合について説明した。しかし、ハーモニクス強調部301は、各サブバンドにおいて、サブバンド最大値に対する振幅の所定の比率(例えば0.75)を閾値(以下、微小スペクトル除去閾値と呼ぶ)として、微少スペクトル除去閾値以上の振幅を有するスペクトルを残し、微少スペクトル除去閾値未満の振幅を有するスペクトル(つまり、微少スペクトル除去閾値以上の振幅を有するスペクトル以外のスペクトル)を抑圧もしくは除去してもよい。また、ハーモニクス強調部301は、サブバンド最大値のスペクトルであっても、正規化前の振幅が小さい場合には、当該スペクトルを抑圧もしくは除去するようにしてもよい。
【0086】
(実施の形態3)
実施の形態3では、さらに、実施の形態2のハーモニクス強調処理におけるハーモニクス構造の強調の程度を適応的に制御する。
【0087】
図12は、本実施の形態に係る符号化装置500の構成を示すブロック図である。
図12に示す符号化装置500において、サブバンド振幅正規化部501、閾値制御部502およびハーモニクス強調部503以外の構成要素については、実施の形態2の符号化装置300(
図9)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。
【0088】
サブバンド振幅正規化部501は、正規化低域スペクトルを閾値制御部502およびハーモニクス強調部503に出力するとともに、最大値探索部132(
図5)の出力である、各サブバンドのサブバンド最大値を閾値制御部502に出力する。
【0089】
閾値制御部502は、サブバンド振幅正規化部501から入力される正規化低域スペクトルおよびサブバンド最大値を用いて、微小スペクトル除去閾値を制御する。ここで、微小スペクトル除去閾値は、ハーモニクス強調部503でのハーモニクス強調処理において正規化低域スペクトル(パルス)を除去(または抑圧)するか否かを判定するための閾値である。例えば、閾値制御部502は、低域スペクトルの各サブバンドの重要度に基づいて、微小スペクトル除去閾値を算出する。閾値制御部502は、微小スペクトル除去閾値を、ハーモニクス強調部503に出力する。
【0090】
ハーモニクス強調部503は、閾値制御部502から入力される微小スペクトル除去閾値を用いて、サブバンド振幅正規化部501から入力される正規化低域スペクトルに対して、ハーモニクス強調処理を施す。具体的には、ハーモニクス強調部503は、各サブバンドに含まれる正規化低域スペクトルと、各サブバンドに設定された微小スペクトル除去閾値とを比較する。例えば、ハーモニクス強調部503は、微小スペクトル除去閾値以上の振幅を有するスペクトル(パルス)を残し、微小スペクトル除去閾値未満の振幅を有するスペクトル(パルス)を除去(または抑圧)する。
【0091】
図13は、本実施の形態に係る復号装置600の内部の構成を示すブロック図である。
図13に示す復号装置600において、サブバンド振幅正規化部601、閾値制御部602およびハーモニクス強調部603以外の構成要素については、実施の形態2の復号装置400(
図10)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。また、サブバンド振幅正規化部601、閾値制御部602およびハーモニクス強調部603の構成および動作は、
図12に示したサブバンド振幅正規化部501、閾値制御部502およびハーモニクス強調部503の構成及び動作と同一であるので、詳細な説明は省略する。
【0092】
次に、閾値制御部502における微小スペクトル除去閾値の設定処理およびハーモニクス強調部503におけるハーモニクス強調処理の詳細について説明する。
【0093】
入力信号の低域部のスペクトルにおいて、サブバンド内のスペクトルの振幅最大値(サブバンド最大値)が大きいサブバンドほど聴感的に重要である。このため、当該サブバンドではサブバンド最大値に対応するスペクトルのみでなく、サブバンド最大値に対応するスペクトルの周辺に位置する、振幅が大きなスペクトルも残すことが好ましい。
【0094】
一方、低域スペクトルにおいて、サブバンド最大値が小さいサブバンド内のスペクトルは、ハーモニクス構造を構成している可能性が小さい。このため、当該サブバンドでは、できるだけ少数のスペクトルのみを残すことが好ましい。
【0095】
以上を踏まえて、閾値制御部502における微小スペクトル除去閾値の設定例について説明する。
【0096】
まず、閾値制御部502は、各サブバンドのサブバンド最大値の中から、最大値を探索し、探索した最大値を全サブバンド最大値とする。
【0097】
次いで、閾値制御部502は、例えば、全サブバンド最大値の0.5倍以上のサブバンド最大値を有するサブバンドを、聴感的に重要なサブバンド(帯域)と判断し、微小スペクトル除去閾値を小さく設定する。例えば、閾値制御部502は、当該サブバンドの微小スペクトル除去閾値を0.25に設定する。
【0098】
一方、閾値制御部502は、例えば、全サブバンド最大値の0.5倍未満のサブバンド最大値を有するサブバンドを、聴感的に重要ではないサブバンド(帯域)と判断し、微小スペクトル除去閾値を大きく設定する。例えば、閾値制御部502は、当該サブバンドの微小スペクトル除去閾値を0.95に設定する。
【0099】
すなわち、閾値制御部502は、入力信号の低域部における複数のサブバンドのうち、全サブバンド最大値(各サブバンドのサブバンド最大値の中で最も大きい値)に対する、各サブバンドのサブバンド最大値の比率が所定値(ここでは0.5)以上のサブバンドでは、微小スペクトル除去閾値(ハーモニクス強調部503において正規化低域スペクトルを残すか除去するかを判定するための閾値)を小さく設定し、複数のサブバンドのうち、全サブバンド最大値に対する、各サブバンドのサブバンド最大値の比率が所定値(ここでは0.5)未満のサブバンドでは、微小スペクトル除去閾値を大きく設定する。
【0100】
これにより、ハーモニクス強調部503は、例えばここでは、聴感的に重要なサブバンドでは、サブバンド最大値の0.25倍以上の振幅を有するスペクトルを残し、サブバンド最大値の0.25倍未満の振幅を有するスペクトルを除去する。すなわち、聴感的に重要なサブバンドでは、より多くのスペクトルが残る可能性が高い。
【0101】
一方、ハーモニクス強調部503は、例えばここでは、聴感的に重要ではないサブバンドでは、サブバンド最大値の0.95倍以上の振幅を有するスペクトルを残し、サブバンド最大値の0.95未満の振幅を有するスペクトルを除去する。すなわち、聴感的に重要ではないサブバンドでは、極少数のスペクトルしか残らない可能性が高い。
【0102】
このような構成及び動作により、符号化装置500は、正規化低域スペクトルにおいて、聴感的な重要性が高いサブバンド(帯域)ではスペクトルを多く残し、聴感的に重要性が低いサブバンド(帯域)では少数のスペクトルしか残さない。これにより、ハーモニクス強調することによる明瞭性の高い復号信号を実現できる。さらに、聴感上重要な帯域のスペクトル微細構造を多く残すことにより、より自然な復号信号を実現することができる。
【0103】
なお、サブバンド最大値が極めて小さい値であり、当該サブバンド最大値に対応するサブバンドが聴感的に無くても構わないサブバンド(帯域)であると判定した場合には、閾値制御部502は、微小スペクトル除去閾値を1.0より大きくしてもよい。こうすることで、ハーモニクス強調部503は、当該サブバンド内のスペクトル(最大値:1.0)を全て除去することになり、ハーモニクス構造をより強調することができる。
【0104】
このように、本実施の形態によれば、符号化装置500は、正規化低域スペクトルのハーモニクス構造を強調する際、各サブバンド内のサブバンド最大値(またはサブバンドエネルギ)を用いて、各サブバンドにおけるハーモニクス強調の程度を適応的に制御する。具体的には、符号化装置500は、サブバンド最大値がより大きいサブバンド(聴感的に重要なサブバンド)では、スペクトルの微細構造をより多く残すように制御し、サブバンド最大値がより小さいサブバンド(聴感的に重要ではないサブバンド)では、サブバンド最大値に関するスペクトル(つまり、ハーモニクス構造に関わるスペクトル)のみを残すように制御する。
【0105】
こうすることで、符号化装置500は、実施の形態2と同様、拡張帯域でもハーモニクス構造を強調することが可能となり、明瞭性の高い高品質な拡張帯域スペクトルを生成することができる。さらに、本実施の形態によれば、聴感的に重要なサブバンド(帯域)のスペクトル微細構造がより詳細に残されるので、より自然な復号信号を得ることができる。
【0106】
また、本実施の形態によれば、符号化装置500は、実施の形態1と同様、コア符号化部102での符号化によって得られる低域スペクトルが離散的なスペクトルであっても、極端に振幅が大きいスペクトルの発生を抑止して、特性が平坦な正規化低域スペクトルを得ることができる。これにより、実施の形態1と同様、拡張帯域(高域部)において、ピーク性の過度に大きいスペクトルの発生を防ぎ、高品質な拡張帯域スペクトルを生成することができる。
【0107】
(実施の形態4)
入力信号は、必ずしも拡張帯域スペクトルのエネルギの偏りが小さいとは限らない。例えば、鉄琴を鳴らした音のように拡張帯域スペクトルのエネルギの偏りが大きい信号も存在する。このような入力信号では、サブバンド振幅正規化部103にて正規化低域スペクトルを生成するよりも、従来技術であるスペクトルパワーの包絡で正規化を行い、正規化拡張帯域スペクトルを生成する方が高音質化を図ることができる。加えて、一つの入力サンプルの中に、オーケストラのような一般的な音楽の信号とエネルギの偏りの大きい鉄琴の音のような信号とが混在する場合、低域スペクトルの正規化の方法をフレーム毎に判定して切り替える手法を用いることで、高音質化を安定して図ることができる。
【0108】
実施の形態4では、入力信号の特性をフレーム毎に判定し、その判定結果に応じて、サブバンドに含まれるスペクトルの最大値で正規化を行う手法とスペクトルパワーの包絡で正規化を行う手法とを切替えて正規化拡張帯域スペクトルを生成する構成を説明する。
【0109】
図14は、本実施の形態に係る符号化装置700の構成を示すブロック図である。
図14に示す符号化装置700において、正規化方法判定部701、スペクトル包絡正規化部702、スイッチ703,704以外の構成要素については、実施の形態1の符号化装置100(
図1)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。
【0110】
正規化方法判定部701は、コア符号化低域スペクトルを分析して、コア符号化低域スペクトルの正規化にサブバンド振幅正規化部103を用いるかスペクトル包絡正規化部702を用いるかを判定し、判定の結果を示す判定情報をスイッチ703、704に出力する。ここでは、判定情報が0を示す場合にサブバンド振幅正規化部103が選択され、判定情報が1を示す場合にスペクトル包絡正規化部702が選択されたものとする。
【0111】
正規化方法判定部701は、入力されるコア符号化低域スペクトルのピーク性の強さを分析し、ピーク性が所定の閾値より弱い場合にはサブバンド振幅正規化部103を選択し、ピーク性が所定の閾値より強い場合にはスペクトル包絡正規化部702を選択する。ピーク性の強さは、例えば、サブバンドエネルギの分散値、スペクトルの幾何平均に対する算術平均の比で表されるスペクトルフラットネスメジャー、スペクトル振幅の平均値と標準偏差で規定される閾値を超えるスペクトルの数、などのパラメータと閾値との比較により決定する。
【0112】
スペクトル包絡正規化部702は、コア符号化部102から入力されるコア符号化低域スペクトルを正規化して、正規化低域スペクトルを生成する。なお、スペクトル包絡正規化部702の構成および動作の詳細については後述する。
【0113】
スイッチ703は、判定情報が0を示す場合にはコア符号化部102とサブバンド振幅正規化部103とを接続し、判定情報が1を示す場合にはコア符号化部102とスペクトル包絡正規化部702とを接続する。スイッチ704は、判定情報が0を示す場合にはサブバンド振幅正規化部103と帯域探索部104とを接続し、判定情報が1を示す場合にはスペクトル包絡正規化部702と帯域探索部104とを接続する。
【0114】
図15は、本実施の形態に係る復号装置800の構成を示すブロック図である。
図15に示す復号装置800において、正規化方法判定部801、スペクトル包絡正規化部802、スイッチ803,804以外の構成要素については、実施の形態1の復号装置200(
図3)内の各構成要素と同一であるため、同一の符号を付し、ここでは説明を省略する。
【0115】
正規化方法判定部801の構成および動作は、
図14に示した正規化方法判定部701の構成及び動作と同一であるので、詳細な説明は省略する。正規化方法判定部801は、正規化方法判定部701と同じ方法を用いることにより、正規化方法判定部701で得られる判定情報と同一のものを得ることができる。
【0116】
スペクトル包絡正規化部802は、コア復号部202から入力されるコア符号化低域スペクトルを正規化して、正規化低域スペクトルを生成する。なお、スペクトル包絡正規化部802の構成および動作は、
図14に示したスペクトル包絡正規化部702の構成及び動作(後述する)と同一であるので、詳細な説明は省略する。また、スイッチ803,804の動作は、それぞれ、
図14に示したスイッチ703,704の動作と同一であるので、詳細な説明は省略する。
【0117】
スイッチ803は、判定情報が0を示す場合にはコア復号部202とサブバンド振幅正規化部203とを接続し、判定情報が1を示す場合にはコア復号部202とスペクトル包絡正規化部802とを接続する。スイッチ804は、判定情報が0を示す場合にはサブバンド振幅正規化部203と拡張帯域復号部204とを接続し、判定情報が1を示す場合にはスペクトル包絡正規化部802と拡張帯域復号部204とを接続する。
【0118】
次に、
図16を用いてスペクトル包絡正規化部702の構成及び動作を詳細に説明する。
図16に示すスペクトル包絡正規化部702は、サブバンド分割部731、サブバンドエネルギ算出部732、平滑化部733およびスペクトル修正部734により構成される。
【0119】
サブバンド分割部731は、コア符号化低域スペクトルを複数のサブバンドに分割し、サブバンドエネルギ算出部732に出力する。サブバンドエネルギ算出部732は、サブバンド毎のコア符号化低域スペクトルのエネルギ(サブバンドエネルギ)を算出し、平滑化部733に出力する。平滑化部733は、エネルギの変動を滑らかにしてスペクトル包絡を推定するために、サブバンドエネルギを周波数軸上で平滑化を行う。平滑化は、近傍のサブバンドエネルギを利用した加重平均処理、低周波数から高周波数に向けてサブバンドエネルギの自己回帰処理などにより実現される。平滑化部733は、このようにして求めた平滑化サブバンドエネルギをスペクトル包絡の推定値とみなし、スペクトル修正部734に出力する。スペクトル修正部734は、コア符号化低域スペクトルに平滑化サブバンドエネルギの逆数を乗じてコア符号化低域スペクトルからスペクトル包絡成分を取り除き、正規化低域スペクトルを生成して出力する。
【0120】
なお、本実施の形態では、コア符号化低域スペクトルを分析して判定情報を求めることにより、判定情報を復号装置800に伝送せずに済む構成について説明したが、本発明はこれに限らず、判定情報を復号装置800に伝送する構成であっても良い。この場合、復号装置800で生成できない情報に基づいて判定情報を決定する構成となる。例えば、入力信号スペクトルの高域部を分析し、高域部に含まれるスペクトルのエネルギの偏り、ピーク性の強さなどに基づき判定情報を決定する。
【0121】
また、本発明は、実施の形態4に、実施形態2で説明したハーモニクス強調部、および実施形態3で説明した閾値制御部を組み合わせる構成であっても良い。
【0122】
(実施の形態5)
実施の形態1では、帯域探索部104において、ラグ候補で表される既定のサンプル値だけシフトした位置を始点となるように相関値算出に用いる候補スペクトルを生成する方法を説明した。
【0123】
実施の形態5では、ラグ候補が既定のサンプル値のシフト量を表すのではなく、低域部に立っている正規化低域スペクトルの何番目かを示す方法について説明する。
図17は、本実施の形態における帯域探索部104の動作の様子を示す図である。
【0124】
図17に示すように、ラグ候補(L0〜L3)は、ゼロでない正規化低域スペクトルの位置を始点として表す。つまり、ラグ候補番号が一つ増えると、正規化低域スペクトルがゼロとなる位置はスキップされ、その次に現れる正規化低域スペクトルの位置が始点となる。切り出されるスペクトルは、この始点の周波数から、入力拡張帯域スペクトル(拡張帯域の全帯域または一部の帯域)の帯域幅と同じ帯域幅に含まれるものである。切り出されたスペクトルは、相関値算出の候補スペクトルとして相関値算出部104aに出力される。
【0125】
これにより、ラグ情報に割り振られるビット数が少ない場合であっても、探索範囲を広く設定することができ、かつ少なくとも必ず一つは候補スペクトル内にスペクトルが存在することになる。したがって、スペクトルが全てゼロの候補スペクトルが生成されるという問題を回避することができる。また、候補スペクトル内の低域部に少なくとも一つのスペクトルが存在することになるため、相対的に高域よりは低域の信号エネルギが大きいという音声信号および音楽信号の一般的な特性にも合致し、音質の向上を図ることができる。
【0126】
図18は、本実施の形態における拡張帯域復号部204の動作の様子を示す図である。本実施の形態では、送られてきたラグ情報に従って何番目の正規化低域スペクトルを始点に用いるかを判断し、この始点から拡張帯域スペクトルの帯域幅に含まれる正規化低域スペクトルを拡張帯域スペクトル(ゲイン乗算前)として生成する。
図18の例では、ラグ情報L2が得られているため、f11の正規化低域スペクトルの位置する周波数が始点として用いられている。
【0127】
(実施の形態6)
上記実施の形態では、入力信号を20ミリ秒程度のフレームに分割し、各フレームのスペクトルを低域スペクトルと拡張帯域スペクトルとに分割し、低域スペクトルと拡張帯域スペクトルのそれぞれで異なる符号化方式を用いて符号化処理を行っている。この場合、拡張帯域部に割り当てられるビット数はどのような符号化方式を用いるかで決まり、ここに固定ビットレートの方式を用いた場合にはビット数は一定となる。これは、拡張帯域スペクトルのエネルギが非常に小さい場合においても常に一定のビットが消費されることを意味し、ビット配分が非効率的となる場合がある。
【0128】
一方で、従来技術のように、入力信号スペクトルの全帯域をコア符号化部のような変換符号化にて符号化処理を行う場合を考える。
【0129】
図19は、入力信号スペクトルの複数のサブバンド分割を示す図である。
【0130】
図19に示すように、変換符号化では、入力信号スペクトルを複数のサブバンドに分割し、それぞれのサブバンドのエネルギ(サブバンドエネルギ)に応じてビットを割り振るのが一般的である。具体的には、サブバンドエネルギの大きいサブバンドほど多くビットを割り当て、サブバンドエネルギの小さいサブバンドにはビットを少なく割り当てる。
図19では、サブバンドの幅を低域ほど狭く、高域に行くに従いサブバンド幅が広くなる構成を採っている。これは、人間の聴感特性をモデル化した臨界帯域幅に関連付けられており、低域ほど音質にとって重要であると考えられるため、低域のサブバンド幅を狭くし、ビットを重点的に割り当てることで、品質良く符号化するという企図があるためである。
【0131】
このようなサブバンド構成において入力信号スペクトルに対し変換符号化処理を行った場合、拡張帯域スペクトルの特性によっては、拡張帯域部に多くのビットが割り振られる場合が生じる。この場合、拡張帯域部のサブバンド幅が広いため、ビットが多く割り振られても、拡張帯域スペクトルを表現するために立てられるパルス数は少ない。また、拡張帯域部に多くビットが割り振られることで低域部に割り振られるビットは少なくなるため、結果として音質の劣化を引き起こしてしまう。
【0132】
そこで本実施の形態では、入力信号スペクトルの符号化を変換符号化で行った際に拡張帯域部にビットが多く割り振られる場合には、拡張帯域スペクトルに対して拡張帯域符号化部で符号化を行い、低域スペクトルに対しては変換符号化処理を行う。逆に、入力信号スペクトルの符号化を変換符号化で行った際に拡張帯域部に割り振られるビットが少ない場合には、入力信号スペクトルの全帯域を変換符号化にて符号化処理を行う。このような符号化方式の切り替えをフレーム単位で行う。
【0133】
本実施の形態では、次のような効果が得られる。入力信号スペクトルの符号化を変換符号化で行った際に拡張帯域部に割り振られるビットが多い場合、拡張帯域スペクトルの符号化を拡張帯域符号化部に切替え、少ないビット数で効率良く符号化を行うことにより、全帯域を変換符号化した場合に拡張帯域で消費されるビット数よりも少ないビット数で拡張帯域を符号化することができ、そこで生じた余剰ビットを低域部に再配分する。これにより、低域部で生じるノイズ感を低減し、同時に拡張帯域符号化により帯域感を保持することで、高音質化を図ることができる。
【0134】
本実施の形態では、入力信号スペクトルを全てコアレイヤ符号化部で符号化する場合に拡張帯域のサブバンドに割り当てられる総ビット数と、拡張帯域スペクトルを拡張帯域符号化部で符号化する際に消費するビット数とを比較する構成を例に説明を行う。以下にその詳細を説明する。
【0135】
図20は、実施の形態6に係る符号化装置900の構成を示すブロック図である。
図20において、
図1と重複する構成要素については同一の記号を付し、その説明を省略する。
【0136】
本実施の形態では、入力信号スペクトルの符号化を全て変換符号化部904で行う場合(以下、変換符号化モードと呼ぶ)と、実施の形態1のようにコア符号化部102と拡張帯域符号化部106とを組み合わせて行う場合(以下、拡張符号化モードと呼ぶ)とで切り替える構成になっている。以下で、各構成要素の動作を詳細に説明する。
【0137】
時間−周波数変換部901は、入力される時間領域の入力信号(音声信号または/および音楽信号)を周波数領域の信号に変換し、得られる入力信号スペクトルをモード判定部902、ビット配分決定部903および変換符号化部904に出力する、あるいは、モード判定部902、ビット配分決定部905およびコア符号化部102に出力する。なお、ここでは、時間−周波数変換部901での時間−周波数変換処理として、MDCT変換を前提に説明する。しかし、時間−周波数変化部は、時間領域から周波数領域へ変換するFFT(Fast Fourier Transform)、DCT(Discrete Cosine Transform)等の直交変換を用いてもよい。
【0138】
モード判定部902は、時間−周波数変換部901から入力された入力信号スペクトルを用いて、入力信号スペクトルの符号化モードをフレーム毎に判定する。判定した情報をモード判定情報としてスイッチ907、スイッチ908および多重化部906に出力する。その動作の詳細は後述する。
【0139】
スイッチ907は、モード判定部902から入力されたモード判定情報を用いて、符号化モードの切り替えを行う。モード判定情報が0を示す場合には、時間−周波数変換部901と変換符号化部904を接続し、モード判定情報が1を示す場合には、時間−周波数変換部901とコア符号化部102を接続する。
【0140】
モード判定情報が0を示す場合、ビット配分決定部903は、時間−周波数変換部901から入力された入力信号スペクトルを用いて、入力信号スペクトルの各サブバンドに対して何ビット配分するかを表す情報(ビット配分情報)を、変換符号化部904に出力する。ビット配分決定部903の詳細な説明は後述する。
【0141】
変換符号化部904は、時間−周波数変換部901から入力する入力信号スペクトルに対し、ビット配分決定部903より入力されるビット配分情報に基づき変換符号化処理を行い、変換符号化データを生成する。そして、変換符号化部904は、変換符号化データを多重化部906に出力する。
【0142】
モード判定情報が1を示す場合、拡張符号化モードが動作する。まずビット配分決定部905は、時間−周波数変換部901から入力された入力信号スペクトルを用いて、低域スペクトルの各サブバンドおよび拡張帯域符号化部106に対して何ビット配分するかを表す情報(ビット配分情報)を、コア符号化部102および拡張帯域符号化部106に出力する。ビット配分決定部905の詳細な説明は後述する。その後、ビット配分決定部905から出力されたビット配分情報と時間−周波数変換部901から入力する入力信号スペクトルとを用いて、低域スペクトルの符号化をコア符号化部102にて行い、同じくビット配分決定部905から出力されたビット配分情報と時間−周波数変換部901から入力する入力信号スペクトルとを用いて、拡張帯域スペクトルの符号化を拡張帯域符号化部106にて行う。
【0143】
スイッチ908はスイッチ907と連動して、モード判定部902から入力するモード判定情報が0の場合は変換符号化部904と多重化部906を接続し、モード判定情報が1の場合は、コア符号化部102と多重化部906を接続する。
【0144】
多重化部906は、変換符号化部904から入力する変換符号化データとモード判定部902から入力するモード判定情報とを多重化する、あるいは、コア符号化部102から入力するコア符号化データと拡張帯域符号化部106から入力する拡張帯域符号化データとモード判定部902から入力するモード判定情報とを多重化し、符号化データとして出力する。
【0145】
次に、ビット配分決定部903とビット配分決定部905の詳細な説明を行う。
【0146】
ここで、ビット配分決定部903は、入力信号スペクトルのうちエネルギの大きなサブバンドにはビットを多く、エネルギの小さなサブバンドにはビットを少なく割り当てる。例えば、式(3)のように各サブバンドに対しビットを割り当てる。
【0148】
ここで、Bsubは各サブバンドへの割り当てビット数、Nは入力信号スペクトルの総サブバンド数、Btotalは入力信号スペクトルの符号化に割り当てることができる総ビット数、Eは各サブバンドにおけるエネルギ、jはサブバンドを示すインデックスを表す。
【0149】
このように、サブバンドエネルギの平均値に対する各サブバンドのエネルギの大きさに応じて各サブバンドに配分されるビット数が決定され、サブバンドエネルギの大きいサブバンドには多くのビットが配分され、サブバンドエネルギの小さいサブバンドには少ないビットが配分される。
【0150】
一方で、ビット配分決定部905は、入力信号の低域スペクトルの各サブバンドと拡張帯域符号化部106とにビットを割り当てる。
【0151】
低域スペクトルの各サブバンドへのビット配分は、ビット配分決定部903と同様にして行われる。例えば、式(4)のようにビット配分を行う。
【0153】
ここで、Sは低域スペクトルの総サブバンド数、B
SWBは拡張帯域符号化部106に割り当てられるビット数を表す。
【0154】
なお、式(3)および式(4)において、各サブバンドに割り振られるビットの値が負になった場合は、当該サブバンドに割り振られるビット数を強制的に0とする。
【0155】
拡張帯域符号化部106に割り当てられるビット数B
SWBはあらかじめ設計された値を用いる。例えば、符号化に使える総ビット数が12kbpsで、そのうちコア符号化部102に割り当てられるのが10kbpsの場合、拡張帯域符号化部106に充当されるのは2kbpsである。例えばフレーム長が20ミリ秒であった場合は、1フレームで拡張帯域符号化部106に割り振られるビット数B
SWBは、2000×0.02=40bitsとなる。
【0156】
次に、モード判定部902の詳細について、
図21を用いて説明する。
【0157】
図21は、モード判定部902の構成を示す図である。
【0158】
モード判定部902では、入力信号スペクトルに対する各符号化モードにおいて拡張帯域スペクトルの符号化に必要なビットを算出し、それぞれの消費ビット数を比較することで判定を行う。
【0159】
ビット数1算出部1001では、変換符号化モードにおいて拡張帯域部に配分される総ビット数を算出する。まず、入力信号スペクトルの各サブバンドに対してビットを配分する。この際のビット配分は、ビット配分決定部903と同様にして行うため、その説明を省略する。各サブバンドに配分されたビットのうち、拡張帯域部のサブバンドに割り当てられた総ビット数を算出し、ビット数1として消費ビット数比較部1002へ出力する。
【0160】
消費ビット数比較部1002では、ビット数1算出部1001で求められた拡張帯域部のサブバンドに割り当てられる総ビット数と、拡張符号化モードにおける拡張帯域符号化部の消費ビット数BSWBを比較し、その結果をモード判定情報として出力する。例えば、ビット数1>BSWBである場合はモード判定情報を「1」、それ以外であればモード判定情報を「0」として、スイッチ907、スイッチ908および多重化部906に出力する。
【0161】
次に、本実施の形態の復号装置について説明する。
図22は本実施の形態の復号装置1010の構成を示すブロック図である。
図22において、
図3と重複する構成要素については同一の記号を付し、その説明を省略する。
【0162】
分離部1011は、入力される符号化データを、モード判定情報と変換符号化データとに分離する、あるいは、分離部1011は、モード判定情報とコア符号化データと拡張帯域符号化データとに分離する。分離部1011は、モード判定情報をスイッチ1012、スイッチ1013およびスイッチ1014に出力する。また、モード判定情報が0の場合は変換符号化データを変換符号化復号部1015に出力し、モード判定情報が1の場合はコア符号化データをコア復号部202に出力し、さらにモード判定情報が1の場合は拡張帯域符号化データを拡張帯域復号部204に出力する。
【0163】
スイッチ1012は、分離部1011から入力されたモード判定情報が0の場合には分離部1011と変換符号化復号部1015とを接続し、モード判定情報が1の場合には分離部1011とコア復号部202とを接続する。
【0164】
スイッチ1013は、スイッチ1012と連動して、分離部1011から入力されたモード判定情報が0の場合には、分離部1011と拡張帯域復号部204とを接続せず、モード判定情報が1の場合には、分離部1011と拡張帯域復号部204とを接続する。
【0165】
変換符号化復号部1015は、分離部1011から入力する変換符号化データに対して復号処理を行って変換符号化スペクトルを生成し、変換符号化スペクトルをスイッチ1014へ出力する。
【0166】
コア復号部202は、分離部1011から入力するコア符号化データに対して復号処理を行ってコア符号化低域スペクトルを生成し、コア符号化低域スペクトルを、サブバンド振幅正規化部203および合成部1016へ出力する。
【0167】
拡張帯域復号部204は、モード判定情報が1の場合に、分離部1011から入力する拡張帯域符号化データとサブバンド振幅正規化部203から入力する正規化低域スペクトルとを用いて復号処理を行って拡張帯域スペクトルを生成し、拡張帯域スペクトルを合成部1016へ出力する。
【0168】
合成部1016は、コア復号部202から入力するコア符号化低域スペクトルと拡張帯域復号部204から入力する拡張帯域スペクトルとを合成して合成スペクトルを生成し、合成スペクトルをスイッチ1014へ出力する。
【0169】
スイッチ1014は、スイッチ1012と連動して、分離部1011から入力されたモード判定情報が0の場合には変換符号化復号部1015と周波数−時間変換部205とを接続し、モード判定情報が1の場合には、合成部1016と周波数−時間変換部205とを接続する。
【0170】
周波数−時間変換部205は、変換符号化復号部1015から入力する変換符号化スペクトルあるいは合成部1016から入力する合成スペクトルを直交変換して、時間領域の信号に変換して出力信号として出力する。
【0171】
以上の構成および動作により、符号化装置(
図20)は拡張帯域スペクトルの特性に応じて、より少ないビット数で拡張帯域スペクトルの符号化を行うように入力信号スペクトルの符号化方法を切替える。これにより、低域スペクトルに対し多くのビットを割り当てることができるようになるため、音質の向上を実現することができる。
【0172】
(実施の形態7)
図20の符号化装置では、拡張帯域スペクトルの符号化を少ないビット数を用いて行う符号化方法を選択し、低域部に多くのビットを割り振ることで音質の向上を実現した。しかしながら、低ビットレートにおける符号化の場合、より少ないビット消費量で行われる拡張帯域スペクトルの符号化方法を選択したとしても、低域部へのビット配分増加量は非常に少ない。よって低域部の音質を少ないビットで改善するためには、低域部に対して効率的なビット配分を行う必要がある。
【0173】
そこで本実施の形態では、拡張帯域スペクトルの符号化に適用される符号化方法の切り替えに伴って、入力信号スペクトルに対するビット配分の方法を切替える構成を採る。具体的には、変換符号化モードの場合には、帯域感のある音質を実現するため、広範な帯域にビットが配置されるようビット配分を行う。
【0174】
一方で、拡張符号化モードの場合には、低域部スペクトルのサブバンドのうちエネルギが大きいサブバンドに限定してビットを配分する。エネルギが大きいサブバンドにビット配分を限定することで、コア符号化部における低域部のノイズ感を低減することができる。
【0175】
このとき、変換符号化モードの際もエネルギが大きいサブバンドにビット配分を限定することで、低域部のノイズ感を低減することができるが、その場合は拡張帯域符号化部のサブバンドに割り振るビットが少なくなるために帯域感が損失してしまう。しかしながら、拡張符号化モードの場合は、低域スペクトルのうちエネルギが大きいサブバンドにビット配分を絞ったとしても、拡張帯域符号化部によって拡張帯域スペクトルを高品質に生成することができることから、帯域感損失の問題を回避できる。同時に、拡張帯域符号化部を適用したことにより生じた余剰ビットを低域部に割り振るので、低域部で生じるノイズ感の低減を図ることができる。
【0176】
よって本実施の形態に依れば、ノイズ感が抑えられ、かつ帯域感のある音質を実現することができる。
【0177】
本実施の形態における符号化装置は、実施の形態6における符号化装置(
図20)と同様の構成を採る。よって、
図20と重複する構成要素については同一の記号を付し、その説明を省略する。しかしながら、ビット配分決定部903、ビット配分決定部904は、それぞれ実施の形態6とは異なる動作を行うため、以下にその詳細を説明する。
【0178】
ビット配分決定部903は、入力信号スペクトルのうちエネルギの大きなサブバンドにはビットを多く、エネルギの小さなサブバンドにはビットを少なく割り当てるが、帯域感の損失を防ぐため、なるべく入力信号スペクトルの全体に渡って広くビットが配置されるようビット配分を行う。例えば、式(5)のように各サブバンドへのビット配分を行う。
【0180】
ここで、Bsubは各サブバンドへの割り当てビット数、Nは入力信号スペクトルの総サブバンド数、Btotalは各サブバンドに割り当てることができる総ビット数、jはサブバンドを表すインデックスを表す。
【0181】
なお、式(5)において、各サブバンドに割り振られるビットの値が負になった場合は、当該サブバンドに割り振られるビット数を強制的に0とする。
【0182】
これに対し、ビット配分決定部905は、入力信号の低域スペクトルのみにビットを配置する。しかしここでは、低域部のノイズ感を低減させるため、エネルギの大きなサブバンドに絞り、ビットを集中的に配置する。例えば、式(6)のように各サブバンドへのビット配分を行う。
【0184】
ここで、Sは低域スペクトルの総サブバンド数、Eは各サブバンドにおけるエネルギを表す。(6)式においては、サブバンドエネルギの大きさによって適応的に各サブバンドへのビット配分を調整しており、サブバンドエネルギの幾何平均値未満のエネルギを持つサブバンドへのビット配分は、強制的に0にする。つまり、幾何平均値以上のサブバンドエネルギを持つ、エネルギの大きなサブバンドに集中的にビットを配分している。
【0185】
なお、式(6)において、小さなサブバンドエネルギを持つサブバンドに割り当てるビットを強制的に0にすることで余ったビットBrestは、更にサブバンドエネルギの大きさに従って再配分される。例えば、式(7)のように再配分される。
【0187】
ここで、B’sub[i]は各サブバンドに再配分される追加分のビット数、Мは式(6)においてビットが配分されたサブバンドの総数、iは再配分されるサブバンドのインデックスを表す。
【0188】
本実施の形態の復号装置は、実施の形態6における復号装置(
図22)と同様の構成および動作のため、説明を省略する。
【0189】
このような構成および動作により、本実施の形態の符号化装置は、入力信号の拡張帯域スペクトルの特徴に応じて符号化モードを切り替え、それに伴って入力信号スペクトルに対するビット配分を切替えることで、ノイズ感を抑え、かつ帯域感のある音質を実現することができる。
【0190】
(実施の形態8)
実施の形態4では、入力信号の特性をフレーム毎に判定し、その判定結果に応じて、サブバンドに含まれるスペクトルの最大値で正規化を行う手法とスペクトルパワーの包絡で正規化を行う手法とを切替えて正規化拡張帯域スペクトルを生成する構成について説明した。本実施形態では、スペクトルパワーの包絡で正規化を行う際に、スペクトルの過渡なピークに起因する異音の発生を回避するため、乱数に基づいてい生成されるノイズをコア符号化低域スペクトルに付加する処理、および、生成される正規化低域スペクトルに対するクリッピング処理の少なくとも一方を用いる構成について説明する。
【0191】
なお、本実施の形態に係る符号化装置及び復号装置は、実施の形態4に係る符号化装置700及び復号装置800と基本構成が共通するので、
図14,
図15を援用して説明する。ただし、本実施の形態では、実施の形態4に係る符号化装置700のスペクトル包絡正規化部702の処理とは一部に相違点があり、それを示すために「スペクトル包絡正規化部702a」と表す。同様に、本実施の形態では、実施の形態4に係る復号装置800のスペクトル包絡正規化部802の処理とは一部に相違点があり、それを示すために「スペクトル包絡正規化部802a」と表す。また、スペクトル包絡正規化部802aの構成及び動作は、スペクトル包絡正規化部702aの構成及び動作(後述する)と同一であるので、詳細な説明は省略する。
【0192】
図23を用いて本実施形態に係るスペクトル包絡正規化部702aの構成及び動作を詳細に説明する。
図23において
図16と同一の構成要素については同一の符号を付し、ここでは説明を省略する。具体的には、
図23に示すスペクトル包絡正規化部702aは、
図16に示すスペクトル包絡正規化部702の構成要素に加え、ノイズ付加部741及びクリッピング部742を有する。
【0193】
ノイズ付加部741には、サブバンド分割部731によりサブバンドに分割されたコア符号化低域スペクトルが入力される。ノイズ付加部741は、乱数に基づいて生成されるノイズをコア符号化低域スペクトルに付加する。ノイズ付加部741は以下の処理をサブバンド毎に行う。例えば、ノイズ付加部741は、サブバンド内のコア符号化低域スペクトルがゼロとなる周波数があるか否かを判定し、ゼロとなる周波数がある場合には、乱数に基づいて生成されたノイズを当該周波数に付加する。
【0194】
この際、ノイズ付加部741は、サブバンド内のスペクトルのピークの程度が強いほど、より大きなノイズを付加する。ノイズ付加の具体的な方法の一例として、ノイズ付加部741は、サブバンド内のスペクトルがゼロでない範囲を求め、その範囲が大きいほど、より小さなノイズを付加する。また、ノイズ付加部741は、サブバンド内のスペクトルの絶対値の最大値が大きいほど、より大きなノイズを付加する。スペクトルがゼロでない範囲及びスペクトルの絶対値の最大値に基づいて付加されるノイズは、例えば式(8)で表される。
【数8】
【0195】
ここで、noは付加ノイズを表し、i
fzeroはスペクトルがゼロとなる周波数を示すインデックスを表し、rand_valは-1.0〜1.0の間の乱数を表し、max_peakはサブバンド内のスペクトルの絶対値の最大値を表し、cntはスペクトルがゼロで無い範囲を表す。
【0196】
ノイズ付加部741は、ノイズ付加処理後のコア符号化低域スペクトルを、サブバンドエネルギ算出部732に出力する。
【0197】
クリッピング部742は、スペクトル修正部734より出力されるスペクトル(正規化低域スペクトル)に対しクリッピング処理を行う。クリッピング処理とは、所定の閾値と上記スペクトルの絶対値とを比較して、スペクトルの絶対値が閾値を越える場合にスペクトルの振幅値を閾値で置き換える処理のことである。つまり、クリッピング部742のクリッピング処理によって、スペクトル修正部734より出力されるスペクトルの振幅値は閾値以下になる。
【0198】
なお、上記所定の閾値はフレーム毎に適応的に決定されてもよい。また、コア符号化低域スペクトルの全帯域またはサブバンド毎にスペクトルの絶対値の平均値を算出し、この平均値に所定の値を乗じた値を閾値として使用してもよい。仮に、上記所定の値として1.0を用いた場合には、スペクトルの絶対値の平均値が閾値となる。また、平均値に乗じる値を適応的に変化させても良い。一例として、コア符号化低域スペクトルの全帯域またはサブバンド毎のスペクトルの振幅の絶対値の総和に対する、全帯域またはサブバンド毎のスペクトルの絶対値の最大値の比を求め、この比が大きい場合には平均値に乗じる値を大きくし、この比が小さい場合には平均値に乗じる値を小さくする構成であっても良い。
【0199】
このように、本実施の形態によれば、スペクトルパワーの包絡で正規化を行う際、ノイズ付加部741がコア符号化低域スペクトルにノイズを付加することにより、または、クリッピング部742がスペクトルに対してクリッピング処理を行うことにより、スペクトル包絡正規化部702aにより生成される正規化低域スペクトルのピークの強さを軽減し、過度なピーク性に起因する音質劣化を回避することができる。
【0200】
以上、本発明の各実施の形態について説明した。
【0201】
なお、上記実施の形態において、サブバンド振幅正規化部(103,203,501,601)は、スペクトルを振幅絶対値で正規化する代わりに、変換符号化によって生成されたスペクトルの振幅を全て統一してもよい。ただし、この場合、スペクトルの極性は保存する。この処理により、処理量の低減を図ることができ、かつ、スペクトル振幅のばらつきが生じないことから異音感の更なる抑圧を図ることができる。
【0202】
また、上記実施の形態における復号装置は、上記各実施の形態における符号化装置から伝送された符号化情報を用いて処理を行うとしたが、本発明はこれに限定されず、必要なパラメータまたはデータを含む符号化情報であれば、必ずしも上記各実施の形態における符号化装置からの符号化情報でなくても処理は可能である。
【0203】
また、上記各実施の形態に限定されず、種々変更して実施することが可能である。例えば、各実施の形態は、適宜組み合わせて実施することが可能である。
【0204】
また、信号処理プログラムを、メモリ、ディスク、テープ、CD、DVD等の機械読み取り可能な記録媒体に記録、書き込みをし、動作を行う場合についても、本発明は適用することができ、本実施の形態と同様の作用および効果を得ることができる。
【0205】
また、上記各実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現することも可能である。
【0206】
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0207】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続もしくは設定を再構成可能なリコンフィギュラブルプロセッサを利用してもよい。
【0208】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0209】
2011年9月9日出願の特願2011−197295、2011年12月21日出願の特願2011−279623、2012年1月31日出願の特願2012−019004および2012年3月30日出願の特願2012−079682の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。