改良形デジタルオーディオ信号符号化/復号化方法
本発明は、信号をいくつかのサブバンドに符号化して復号化する方法に関するものであり、互いに隣接する少なくとも第1及び第2サブバンドは変換符号化される(601,602)。特に、少なくとも第2サブバンドに変換領域内で知覚的重み付けを適用するために、この方法は、第2サブバンドに適用する少なくとも1つのマスキングしきい値を決定するステップ(606)と;このマスキングしきい値を正規化して、上記第1及び第2サブバンド間のスペクトル連続性を提供するステップとを具えている。本発明の有利な応用は、規格G.729.1による階層コーダのTDAC変換符号化における高周波帯域の知覚的重み付けを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響データの処理に関するものである。
【背景技術】
【0002】
この処理は、可聴周波数信号(音声、音楽、その他)のようなデジタル信号の伝送及び/または記憶に特に適している。
【0003】
可聴周波数信号をデジタル形式に符号化する種々の技術が存在する。最も一般的な技術は次のものである:
パルス符号変調(PCM:pulse code modulation)及び適応差分パルス符号変調(ADPCM:adaptive differential pulse code modulation)のような波形符号化法。
符号駆動線形予測(CELP:code excited linear prediction)符号化のような「合成による分析(analysis-by-synthesis)」パラメトリック符号化法。
サブバンドの知覚的符号化法または変換符号化。
【0004】
これらの技術は入力信号を逐次的に、サンプル毎に(PCMまたはADPCM)処理するか、あるいは「フレーム」と称するサンプルのブロック毎に(CELP及び変換符号化)処理する。
【0005】
簡潔に言えば、音声信号のような音響信号を、その直前(例えば8kHzでは直前の8〜12サンプル)から、短いウィンドウ(この例では10〜20ms)上で評価したパラメータを用いて予測することができることが考えられる。(例えば子音を発音するための)声道の伝達関数を表すこれらの短期間の予測パラメータは、線形予測符号化(LPC:linear prediction coding)法によって得られる。長期間の相関を用いて、声帯の振動から生じる有声音(例えば母音)の周期性も特定する。このことは、有声音信号の少なくとも基本周波数を特定することを含み、この基本周波数は、話者に応じて一般に60Hz(低い声)から600Hz(高い声)まで変化する。そして、長期予測分析(LTP:long term prediction)分析を用いて、長期予測器のLTPパラメータを決定し、このパラメータは特に基本周波数の逆数であり、「ピッチ周期」と称されることが多い。従ってピッチ周期内のサンプル数は比率Fe/F0によって定まり、ここに:
Feはサンプリングレート(サンプリング速度)であり、
F0は基本周波数である。
【0006】
従って、ピッチ周期を含む長期予測のLPTパラメータが(有声音である際の)音声信号の基本振動を表すのに対し、短期予測のLPCパラメータはこの信号のスペクトル包絡線(スペクトルエンベロープ)を表すものと考えられる。
【0007】
従って、特定のコーダ(符号化器)では、音声符号化から生じたこれらのLPCパラメータとLTPパラメータの組をブロック単位で1つ以上の通信ネットワーク経由で同種のデコーダ(復号化器)に送信して、元の音声を再構成することができる。
【0008】
標準的な音声符号化では、コーダは固定ビットレートのビットストリームを発生する。このビットレートの制限は、コーダ及びデコーダの実現及び使用を簡略化する。こうしたシステムの例はUIT−T G.711の64kbit/s符号化規格、UIT−T G.729の8kbit/s符号化規格、及びGSM−EFRの12.2kbit/s符号化である。
【0009】
(携帯電話またはIP(インターネットプロトコル)電話のような)特定用途では、可変レートのビットストリームを発生することが好ましい。このビットレート値は所定の組から採られる。こうした符号化技術を「マルチレート」と称し、従って、固定ビットレート符号化技術よりもフレキシブル(柔軟)であることがわかる。
【0010】
いくつかのマルチレート符号化技術は次のように区別することができる:
ソース制御及び/またはチャンネル制御のマルチモード符号化、これは、特に3GPP AMR−NB、3GPP AMR−WB、または3GPP2 VMR−WBコーダにおいて用いられる。
階層または「スケーラブル」符号化、これは、コアビットレート層及び1つ以上のいわゆる拡張層から成るので、「階層」ビットストリームを発生する(G.722による48、56及び64kbit/sでの標準符号化は一般にビットレートがスケーラブル(拡大縮小可能)であるのに対し、UIT−T G.729.1及びMPEG−4 CELP符号化は、ビットレート及び帯域幅が共にスケーラブルである)。
多重記述符号化、これは特に非特許文献1に記載されている。
【0011】
以下に階層符号化の詳細を説明し、この階層符号化は、符号化するオーディオ信号に関する情報を、オーディオ再生品質に関する重要度の順に用いることができるように階層に配列された部分集合中に配分することによって、可変ビットレートを提供する能力を有する。この順序を決定するために考慮する基準は、符号化オーディオ信号の品質の最適化(あるいはむしろ最小劣化)の基準である。階層符号化は、異種のネットワーク上、または利用可能なビットレートが時間と共に変動するネットワーク上での伝送、あるいは可変能力を有する端末への伝送に特に適している。
【0012】
階層(または「スケーラブル」)オーディオ符号化の基本概念は次のように記述することができる。
【0013】
ビットストリームは基本層及び1つ以上の拡張層から成る。基本層は、「コア・コーデック」として分類される(固定の)低ビットレートのコーデックによって生成され、符号化の最小品質を保証する。この層はデコーダによって受信されて、許容可能な品質のレベルを維持する。拡張層は品質を増強すべく働く。しかし、これらの拡張層は必ずしもすべてがデコーダによって受信されないことが生じ得る。
【0014】
従って、階層符号化の主な利点は、単に「ビットストリームの打ち切り」によってビットレートの適応を可能にすることにある。層の数(即ち、可能なビットストリーム打ち切りの数)が符号化の精度を決める。「高精度(high granularity)」は、ビットストリームが(2〜4のオーダーの)少数の層から成る場合に用い、「細精度(fine granularity)」符号化は、例えば1〜2kbit/sのピッチを可能にする。
【0015】
以下に、電話帯域に広帯域内の1つ以上の拡張層を加えた帯域おける、CELP型コアコーダによるビットレート及び帯域幅がスケーラブルな符号化技術をより詳細に説明する。こうしたシステムの例は、UIT−T G.729.1の8〜32kbit/s微細精度規格において与えられる。G.729.1符号化/復号化アルゴリズムは以下のように要約される。
【0016】
(G.729.1コーダについての想起)
G.729.1コーダはUIT−T G.729コーダの拡張である。これは、修正されたG.729階層コアコーダであり、狭帯域(50〜4000Hz)から広帯域(50〜7000Hz)までにわたる帯域の信号を音声サービス用の8〜32kbit/sのビットレートで生成する。このコーデックは既存のIP電話機器(大部分は規格G.729に従って装置化されている)と互換性がある。最後に、規格G.729は2006年5月に承認されていることを指摘しておくことが適切である。
【0017】
図1に、G.729.1コーダを概略的に示す。16kHzでサンプリングした広帯域の入力信号swbをまず、直交ミラーフィルタ処理(QMF:quadratic mirror filtering)によって2つのサブバンド(副帯域)に分割する。低帯域(0〜4000Hz)はローパス(低域通過)フィルタ処理LP(ブロック100)及びデシメーション(間引き)(ブロック101)によって得られ、高帯域(4000〜8000Hz)はハイパス(高域通過)フィルタ処理HP(ブロック102)及びデシメーション(ブロック103)によって得られる。LPフィルタ及びHPフィルタは64ビット長である。
【0018】
低帯域は、50Hz以下の成分を除去するハイパスフィルタによって前処理されて、8kbit/s及び12kbit/sでの狭帯域CELP符号化(ブロック105)の前に信号sLBが得られる。このハイパスフィルタ処理は、有用な帯域が50〜7000Hzをカバーするものとして規定されることを考慮に入れる。狭帯域CELP符号化はCELPカスケード符号化であり、第1段としての前処理フィルタなしの変形G.729符号化、及び第2段としての追加的な固定CELPディクショナリ(辞書)から成る。
【0019】
高帯域はまず、ハイパスフィルタ(ブロック102)とデシメーション(ブロック103)との組合せによるエリアシングを補償すべく前処理される。そして高帯域は、3000〜4000Hzの高帯域成分(即ち、原信号中の7000〜8000Hzの成分)を除外するローパスフィルタ(ブロック107)によってフィルタ処理されて、信号sHBが得られる。そして、帯域拡張(ブロック108)を実行する。
【0020】
図1によるG.729.1エンコーダの大きな特徴は次の通りである。低帯域エラー(誤差)信号dLBを、CELPコーダ(ブロック105)の出力に基づいて計算し(ブロック109)、(例えば規格G.729.1におけるTDAC(time domain aliasing cancellation:時間領域エリアシング相殺)型の)予測変換符号化をブロック110で実行する。図1を参照すれば、特に、TDAC符号化が低帯域エラー信号及びハイパスフィルタ処理された信号に共に適用されることがわかる。
【0021】
追加的パラメータはブロック111によって対応するデコーダに送信することができ、このブロック111は「FEC」(Frame Erasure Concealment:フレーム消去隠蔽)と称される処理を実行して、あらゆる消去されたフレームを再構成する。
【0022】
符号化ブロック105、108、110及び111によって発生されたビットストリームを最後に、多重化ブロック112において多重化して階層ビットストリームに構成する。この符号化は、20ms分のサンプル(または20msのフレーム)のブロック単位で、即ちフレーム当たり320サンプルで実行する。
【0023】
従って、G.729.1コーデックは、次の段から成る3段符号化アーキテクチャを有する:
CELPカスケード符号化;
時間領域帯域幅拡張(TDBWE:time domain bandwidth extension)型モジュール108による帯域パラメータの拡張;及び、
TDAC予測変換符号化、これは変形離散(ディスクリート)コサイン変換(MDCT:modified discrete cosine transform)型変換後に適用する。
【0024】
(G.729デコーダについての想起)
図2に、規格G.729.1による対応するデコーダを示す。20msの各フレームを記述するビットを、ブロック200において多重分離する。
【0025】
CELPデコーダ(ブロック201)が8kbit/sの層及び12kbit/sの層のビットストリームを用いて、狭帯域合成信号(0〜4000Hz)を発生する。ビットストリーム中の14kbit/sの層に関連する部分は、帯域幅拡張モジュール(ブロック202)によって復号化される。ビットストリーム中の14kbit/sより高いビットレートに関連する部分は、TDACモジュール(ブロック203)によって復号化される。前エコー処理及び後エコー処理は、ブロック204及び207によって、低帯域の強調(ブロック205)及び後処理(ブロック206)と同様に実行される。
【0026】
16kHzでサンプリングした広帯域信号
は、QMF合成フィルタバンク(ブロック209、210、211、212及び213)を用いて、エリアシング相殺(ブロック208)を統合して得られる。
【0027】
以下に、変換符号化層を詳細に説明する。
【0028】
(G.729.1コーダにおけるTDAC変換コーダの想起)
図3に、G.729.1コーダにおけるTDAC型変換符号化を示す。
【0029】
フィルタWLB(ブロック300)は、ゲイン(利得)補償付きの知覚的重み付けフィルタであり、低帯域のエラー信号dLBに適用される。そしてMDCT変換を計算して(ブロック301及び302)次のものを得る:
知覚的にフィルタ処理された差信号のMDCTスペクトル
元の高帯域信号のMDCTスペクトルSHB。
【0030】
これらのMDCT変換(ブロック301及び302)は、8kHzでサンプリングした信号の20ms分(160個の係数)に適用される。従って、併合(マージ)ブロック303から来るスペクトルY(k)は2×160個、即ち320個の係数から成る。スペクトルY(k)は次式のように定義される:
【数1】
【0031】
このスペクトルは18個のサブバンドに分割され、サブバンドjはnb_coef(j)で表される数の係数を割り当てられる。サブバンドへの分割は以下の表1に指定される。
【0032】
従って、サブバンドjは
sb_bound(j)≦k≦sb_bound(j+1)
なる係数Y(k)を含む。
【0033】
【表1】
【0034】
スペクトル包絡線{log_rms(j)}j=0,...,17は、ブロック304において次式のように計算される:
【数2】
ここに、εrms=2-24である。
【0035】
スペクトル包絡線は、ブロック305において可変ビットレートで符号化される。このブロック305は、rms_index(j) (j=0,...,17)で表される量子化された整数値を生成し、これらの整数値は次式の単純なスカラー量子化によって得られる:
rms_index(j)=round(2・log_rms(j))
ここに、記号「round」は最も近い整数に丸めることを表し、次式の制約を有する:
−11≦rms_index(j)≦+20
この量子化値rms_index(j)はビット割り当て(ビットアロケーション)ブロック306に伝送される。
【0036】
スペクトル包絡線自体の符号化もブロック305によって、低帯域(j=0,...,9なるrms_index(j))及び高帯域(j=10,...,17なるrms_index(j))に対して別個に実行される。各帯域では、所定基準により2種類の符号化を選定することができ、より詳細には、rms_index(j)の値は:
「差分ハフマン符号化」と称される符号化によって符号化することができ;あるいは、
普通のバイナリ(2進)符号化によって符号化することができる。
選定した符号化モードを示すためのビット(0または1)がデコーダに伝送される。
【0037】
各サブバンドの量子化用に当該サブバンドに割り当てられるビット数は、ブロック306において、ブロック305から来る量子化されたスペクトル包絡線に基づいて決まる。実行されるビット割り当ては、サブバンド毎に割り当てられるビットの総数の制限、及び超えるべきでない最大ビット数を順守しつつ、標準偏差を最小化する。そして、サブバンドのスペクトル成分は、球面ベクトル量子化によって符号化される(ブロック307)。
【0038】
そして、ブロック305及び307によって生成された異なるビットストリームが、多重化ブロック308において多重化されて階層ビットストリームに構造化される。
【0039】
(G.729.1デコーダにおける変換デコーダについての想起)
エンコーダ(図3)と同様の方法で、復号化されたスペクトル包絡線(ブロック401)は、ビット割り当てを復元することを可能にする。包絡線(エンベロープ)復号化(ブロック401)は、ブロック305によって生成された(多重化)ビットストリームに基づいて、スペクトル包絡線の量子化値(rms_index(j), j=0,...,17)を再構成して、これより復号化した包絡線を次式のように推定する:
rms_q(j)=21/2rms_index(j)
【0040】
各サブバンドのスペクトル成分は、逆球面ベクトル量子化によって復元される(ブロック403)。不十分な「ビットバジェット(ビット割当量)」により伝送されなかったサブバンドは、帯域拡張(図2のブロック202)の出力信号のMDCT変換に基づいて外挿補間される(ブロック404)。
【0041】
上記スペクトル包絡線に関係するこのスペクトルのレベル調整(ブロック405)及び後処理(ブロック406)後に、MDCTスペクトルは次の2つに分割される(ブロック407):
知覚的にフィルタ処理された低帯域の復号化差信号のスペクトル
に対応する最初160個の係数;及び、
元の高帯域の復号化信号のスペクトル
に対応する次の160個の係数。
【0042】
これら2つのスペクトルは、IMDCTで表す逆MDCT変換によって時間信号に変換され(ブロック408及び410)、この逆変換から生じる信号
に逆の知覚的重み付け(WLB(z)-1で表されるフィルタ)が適用される。
【0043】
以下に、サブバンドへのビットの割り当て(図3のブロック306または図4のブロック402)を特に説明する。
【0044】
ブロック306及び402は、rms_index(j), j=0,...,17の値に基づいて同一の動作を実行する。従って、以下ではブロック306の機能を説明するだけで十分である。
【0045】
バイナリ割り当ての目的は、nbits_VQで表される特定の(可変)ビットバジェットを各サブバンド間に配分することにあり、ここに、
nbits_VQ=351−nbits_rmsであり、nbits_rmsは、スペクトル包絡線の符号化によって使用されるビット数である。
【0046】
この割り当ての結果は、nbit(j)(j=0,...,17)で表される、各サブバンドに「割り当てられる総ビット数であり、次式の全体的制約を有する:
【数3】
【0047】
規格G.729.1では、nbit(j)(j=0,...,17)の値は、以下の表2に指定する限定された値から選定しなければならない:
【0048】
【表2】
【0049】
規格G.729.1における割り当ては、サブバンド毎の「知覚的重要度」に依存し、この「知覚的重要度」は当該サブバンドのエネルギーに関連し、ip(j)で表され、次式のように定義される:
【数4】
ここに、offset=−2である。
【0050】
rms_q(j)の値はrms_q(j)=21/2rms_index(j)であるので、この式は次式の形に約すことができる:
【数5】
【0051】
各サブバンドの知覚的重要度に基づいて、割り当てnbit(j)は次式のように計算される:
【数6】
ここに、λoptは二分法によって最適化されたパラメータである。
【0052】
ここで、TDAC変換コーダのビット割り当て(ブロック306)に対する知覚的重み付け(ブロック300のフィルタ処理)の発生をより詳細に説明する。
【0053】
規格G.729.1では、上述したように、TDAC符号化は低帯域内で知覚的重み付けフィルタWLB(z)を用いる。実質上、知覚的重み付けは符号化ノイズを整形することを可能にする。このフィルタ処理の原理は、原信号が強いエネルギーを有する周波数ゾーン内により大きなノイズを入れることができることを利用する。
【0054】
狭帯域CELP符号化において最も一般的に用いられる知覚的重み付けフィルタは
の形式を有し、ここに0<γ2<γ1<1であり、
は線形予測スペクトル(LPC)を表す。従って、CELP符号化の「合成による分析」の効果は、この種のフィルタにより知覚的重み付けした信号領域における標準偏差を最小化することにある。
【0055】
しかし、スペクトル
とSHBとが隣接する際(図3のブロック303)のスペクトルの連続性を保証するために、フィルタWLB(z)は次式の形に定義される:
【数7】
ここに、γ1=0.96、γ2=0.6、かつ、
【数8】
である。
【0056】
係数facは、1〜4Hzにおけるフィルタゲインが、低帯域と高帯域(4kHz)の接合において与えられることを可能にする。なお重要なこととして、規格G.729.1によるTDAC符号化では、符号化はエネルギー基準のみに依存する。
【0057】
(従来技術の欠点)
規格G.729.1では、エンコーダTDACは次のものを同時に処理する:
元の低帯域と、
型のフィルタによって知覚的にフィルタ処理して(スペクトル連続性を保証すべく)ゲイン補償したCELP合成信号との信号差、及び、
元の高帯域信号を含む高帯域。
低帯域信号は50Hz〜4kHzの周波数に相当し、高帯域信号は4〜7kHzの周波数に相当する。
【0058】
これら2つの信号の同時符号化は、MDCT領域内で標準偏差基準により実行される。従って、高帯域はエネルギー基準により符号化され、この符号化は(「知覚的」という意味で)準最適である。
【0059】
さらにより一般的には、いくつかの帯域内での符号化を考えることができ、少なくとも1つの帯域の信号に知覚的重み付けフィルタが時間領域内で適用され、一組のサブバンドは変換符号化によって同時に符号化される。知覚的重み付けを周波数領域内で適用することが望ましい場合は、提起される課題はサブバンド間のスペクトルの連続性及び均一性である。
【先行技術文献】
【非特許文献】
【0060】
【非特許文献1】”A multiple description speech coder based on AMR-WB for mobile ad hoc networks”, H. Dong, A. Gersho, J.D. Gibson, V. Cuperman, ICASSP, p. 277-280, vol. 1 (May 2004)
【非特許文献2】”High-quality audio transform coding at 64 kbps”, Y. Mahieux, J.P. Petit, IEEE Transactions on Communications, Volume 42, No. 11, Pages: 3010-3019 (November 1994)
【非特許文献3】”Low-complexity multi-late lattice vector quantization with application to wideband TCX speech coding at 32 kbit/s”, S. Ragot, B. Bessette, and R. Lefebvre, Proceedings ICASSP-Montreal (Canada), Pages: 501-504, vol. 1 (2004)
【発明の概要】
【発明が解決しようとする課題】
【0061】
本発明の目的は、この状況を改善することにある。
【課題を解決するための手段】
【0062】
この目的のために、いくつかのサブバンド内で信号を符号化する方法が提案され、この方法では、互いに隣接する少なくとも1つの第1サブバンド及び1つの第2サブバンドを変換符号化する。
【0063】
本発明の意図によれば、変換領域内での知覚的重み付けを少なくとも第2サブバンドに適用するために、この方法は次のステップを具えている:
第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を決定するステップ;及び、
上記第1サブバンドと第2サブバンドとの間のスペクトル連続性を保証するために、このマスキングしきい値を規格化(正規化)するステップ。
【0064】
従って本発明は、マスキングしきい値を用いて、周波数帯域の一部分のみに対する(少なくとも上述した「第2サブバンド」に対する)周波数の知覚的重み付けを計算し、少なくとも1つの他の周波数帯域(少なくとも上述した「第1サブバンド」)との間のスペクトル連続性を保証して、これら2つの周波数帯域をカバーするスペクトル上のマスキングしきい値を規格化することを目的とする。
【0065】
本発明の第1好適例では、各サブバンドに割り当てるビット数をスペクトル包絡線に基づいて決定し、少なくとも第2サブバンドへのビット割り当ては、少なくとも第2サブバンドに適用される正規化したマスキング曲線の計算値の関数として決定する。
【0066】
従って、この第1好適例では、エネルギー基準のみに基づいてビット割り当てを行う代わりに、本発明の適用は、知覚的基準によれば最多数のビットを必要とするサブバンドにビットを割り当てることを可能にする。従って、第1好適例の範囲内で、オーディオ帯域の一部をマスクすることによって周波数的な知覚的重み付けを適用して、特にサブバンド間のビットの分布を知覚的基準により最適化することによってオーディオ品質を改善することができる。
【0067】
本発明の第2好適例では、第2サブバンド内で変換された信号を、第2サブバンド用に正規化したマスキングしきい値の平方根に比例する係数によって重み付けする。
【0068】
この第2好適例では、上述した第1好適例のように、正規化したマスキングしきい値をビット割り当て用に用いないが、正規化したマスキングしきい値は、第2サブバンドの信号を少なくとも変換領域内で直接重み付けするために有利に用いることができる。
【0069】
本発明は、規格G.729.1による総合コーダに有利に適用することができるがこれに限定されず、第1サブバンドは低周波数の帯域内に含まれるのに対し、第2サブバンドは高周波数の帯域内に含まれ、高周波数の帯域は帯域幅拡張によって7000Hzまで、さらにそれ以上(一般に14kHzまで)拡張することができる。従って本発明の適用は、低帯域との間のスペクトル連続性を保証しつつ、高帯域に知覚的重み付けを行うことから成る。
【0070】
なお、階層構造を有するこの種の総合コーダでは、変換符号化は総合階層コーダの上層内で行う。
次のことが有利である:
従って、第1サブバンドは、階層コーダのコア符号化から生じる信号を含み、
第2サブバンドは原信号を含む。
【0071】
G.729.1コーダにおけるように、コア符号化から生じる信号は知覚的に重み付けすることができ、本発明の実現は、スペクトル帯域の全体を最終的に知覚的に重み付けすることができる点で有利である。
【0072】
G.729.1コーダにおけるように、コア符号化から生じる信号は、原信号とこの原信号の合成信号との差を表す信号(「信号差」、あるいは「エラー(誤差)信号」とも称することができる)とすることができる。実際に、以下で説明する図12を参照すれば、本発明を実現するために原信号を利用可能にすることは必ずしも絶対に必要ではない点が有利であることがわかる。
【0073】
本発明は、上述した符号化方法と同様の復号化方法にも関するものであり、この復号化方法では、互いに隣接する少なくとも1つの第1サブバンド及び1つの第2サブバンドを変換復号化する。従って、変換領域内での知覚的重み付けを少なくとも第2サブバンドに適用するために、この復号化方法は次のステップを備えている:
第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を、復号化したスペクトル包絡線に基づいて決定するステップ;及び、
このマスキングしきい値を正規化して、第1サブバンドと第2サブバンドとの間のスペクトル連続性を保証するステップ。
【0074】
復号化の第1好適例は、上述した符号化の第1好適例と同様に、復号化におけるビット割り当てに関するものであり、各サブバンドに割り当てるビット数は、スペクトル包絡線の復号化に基づいて決定する。本発明の好適例によれば、少なくとも第2サブバンドへのビットの割り当てはさらに、少なくとも第2サブバンドに適用される正規化したマスキング曲線の計算値の関数として決定する。
【0075】
本発明の範囲内の復号化の第2好適例は、第2サブバンド内で変換した信号に、正規化したマスキングしきい値の平方根によって重み付けすることから成る。この好適例は図10Bを参照して詳細に説明する。
【0076】
さらに、本発明の他の利点及び特徴は、以下に例として挙げる詳細な説明及び図面を検討すれば明らかになる。
【図面の簡単な説明】
【0077】
【図1】G.729.1コーダを示す図である。
【図2】規格G.729.1によるデコーダを示す図である。
【図3】G.729.1コーダにおけるTSAC型変換符号化を示す図である。
【図4】G.729.1デコーダにおけるTDAC型変換復号化の段を示す図である。
【図5】本発明の意図によるマスキング用の有利な広がり関数を示す図である。
【図6】本発明の第1実施例によるビットの割り当て用のマスキング曲線の計算606を用いたTDAC符号化の構造を、図3と比較して示す図である。
【図7】本発明の第1実施例によるマスキング曲線の計算702を用いたTDAC復号化の構造を、図4と比較して示す図である。
【図8】第1実施例におけるマスキング曲線の正規化を示す図であり、ここでサンプリング周波数は16kHzであり、本発明のマスキングを4〜7kHzの高周波帯域に適用している。
【図9A】変形TDAC符号化の構造を示す図であり、本発明の第2実施例における4〜7kHzの高周波数の信号の直接的重み付け、及び正規化したマスキングしきい値を用いている。
【図9B】図9Aに示す第2実施例の変形例におけるTDAC符号化の構造を示す図であり、ここではスペクトル・エンベロープの符号化を用いている。
【図10A】本発明の第2実施例による、図9Aと同様のTDAC復号化の構造を示す図である。
【図10B】本発明の第2実施例による、図9Bと同様のTDAC復号化の構造を示す図であり、ここでは復号化においてマスキングしきい値の計算を用いている。
【図11】本発明の第2実施例における超広帯域におけるマスキング曲線の正規化を示す図であり、ここでサンプリング周波数は32kHzであり、本発明のマスキングを4〜14kHzの超広帯域に適用している。
【図12】差信号DLB(実線)及び原信号SLB(破線)のCELP符号化の出力のパワースペクトルを示す図である。
【発明を実施するための形態】
【0078】
以下に本発明の応用を説明し、この応用は、図1〜4を参照して前に説明した規格G.729.1によるエンコーダ/デコーダにおいて有利であるが限定的ではないことがわかり、本発明によれば、この応用はマスキング情報を含む。
【0079】
しかし、まず、本発明の原理のより良い理解のために、知覚的フィルタ処理及び周波数マスキングにおけるゲイン保証の概念を以下に説明する。
【0080】
本発明は、「同時マスキング」または「周波数マスキング」として知られているマスキング効果を用いることによって、変換コーダ内で実行される知覚的重み付けに改善をもたらす。
【0081】
このことは、「マスキング音」と称される音の存在下での聴覚しきい値の変更に適切に対応する。この効果は一般に、例えば屋外の路上で車のノイズが話者の声を「マスク」し、この周囲ノイズ(雑音)に対して会話を保持しようとする際に観測される。
【0082】
オーディオコーデックにおけるマスキングの使用の例は、非特許文献2に見出すことができる。
【0083】
この文献では、適切なマスキングしきい値をスペクトルのライン(線)毎に計算している。このしきい値は、当該しきい値以上で対象のラインが可聴であるものと想定されるしきい値である。このマスキングしきい値は、他の音(正弦波またはフィルタ処理したホワイトノイズ(白色雑音))による音(正弦波またはフィルタ処理したホワイトノイズ)のマスキング効果をモデル化する広がり関数B(ν)による信号スペクトルの畳み込み(コンボリューション)に基づいて計算される。
【0084】
図5に、こうした広がり関数の例を示す。この関数は周波数領域内で定義され、周波数領域の単位はBarkである。この周波数スケールは耳の周波数感度を表す。周波数f(Hz単位)の、ν(Bark単位)で表される「周波数」への変換の通常の近似は次の関係式で与えられる:
【数9】
【0085】
この文献では、マスキングしきい値の計算はライン毎でなくサブバンド毎に実行される。従って、得られるしきい値は各サブバンドを知覚的に重み付けするために用いられる。従って、このビット割り当ては、標準偏差を最小化することによるのではなく、符号化ノイズを整形して不可聴(マスキングしきい値以下)にする目的で、「符号化ノイズ対マスク」比を最小化することによって実行される。
【0086】
もちろん、他のマスキングモデルも提案されている。一般に、広がり関数は、ライン及び/またはマスキングラインの周波数の振幅の関数とすることができる。「ピーク」の検出も実現することができる。
【0087】
なお指摘すべきこととして、規格G.729.1による符号化の準最適な性質を減らすために、Mahieux等による文献に記載されているのと同様のやり方で、周波数マスキング技術をビット割り当てに統合することを考えることができる。しかし、2つの信号、即ち低帯域及び高帯域の異質な性質が、この文献の全帯域マスキング技術の直接の適用を妨げる。一方では、低帯域信号は「原」信号と同質ではないので、全帯域マスキングしきい値はMDCT領域内では適切に計算することができない。他方では、マスキングしきい値を周波数帯域全体に適用することは、
型フィルタによって既に重み付けした低帯域信号を再び重み付けすることになり、従って、追加的なしきい値の重み付けがこの低帯域信号にとって余分である。
【0088】
以下に説明する本発明の応用は、特に、低帯域及び高帯域の満足な同時符号化のためのこれら2つの帯域間のスペクトル連続性を保証しつつ、高帯域(4〜7kHz)の知覚的重み付けを適用することによって、規格G.729.1によるエンコーダのTDAC符号化を改善することを可能にする。
【0089】
本発明の実現によって強化した規格G.729.1によるエンコーダ及び/またはデコーダでは、以下に説明する例では、TDACコーダ及びデコーダのみを修正している。
【0090】
50Hz〜7kHzの有効帯域を有する入力信号を16kHzでサンプリングする。実際には、規格G.729.1におけるように、コーダはまだ32kbit/sのレート(速度)で動作するのに対し、デコーダはコア(8kbit/s)並びに1つ以上の拡張層(2kbit/sステップずつに区切った12〜32kbit/s)を受信することができる。符号化及び復号化は、図1及び2に示すのと同じアーキテクチャを有する。ここでは、図6及び7に示すように、ブロック110及び203のみを修正している。
【実施例1】
【0091】
以下に図6を参照しながら説明する第1実施例では、修正したTDACコーダは、標準偏差に続くビット割り当て(ブロック306)が、これ以降はマスキング曲線の計算及び修正したビット割り当て(ブロック606及び607)に置き換わること以外は、図3のTDACコーダと同様であり、本発明は、マスキング曲線の計算(ブロック606)及びビットの割り当てにおけるその利用(ブロック607)の枠組み内に含まれる。
【0092】
同様に、図7に、この第1実施例における修正したTDACデコーダを示す。このデコーダは、標準偏差に続くビット割り当て(ブロック402)が、マスキング曲線の計算及び修正したビット割り当て(ブロック702及び703)に置き換わっていること以外は、図4のものと同一である。修正したTDACコーダと対称な様式で、本発明はブロック702及び703に関係する。
【0093】
ブロック606と702とは、値rms_index(j), j=0,...,17に基づいて同一の動作を実行する。同様に、ブロック607と703とは、値log_mask(j)及びrms_index(j), j=0,...,17に基づいて同一の動作を実行する。
【0094】
従って、以下ではブロック606及び607の動作のみを説明する。
【0095】
ブロック606は、量子化したスペクトル包絡線rms_q(j)に基づいてマスキング曲線を計算し、ここにj=0,...,17はサブバンドの数である。
【0096】
サブバンドjのマスキングしきい値M(j)は、エネルギー包絡線
【数10】
の広がり関数B(ν)による畳み込みによって定義される。ここに挙げるエンコーダG.729.1におけるTDAC符号化の実施例では、このマスキングは信号の高帯域のみに対して次式のように実行する:
【数11】
ここに、νkはサブバンドkの中心周波数(Bark単位)であり、符号「×」は、以下に説明する広がり関数との「乗算」を表す。
【0097】
従って、より一般的な言い方では、サブバンドj用のマスキングしきい値M(j)は次のものどうしの畳み込みによって定義される:
スペクトル包絡線の表現式;及び、
サブバンドjの中心周波数を含む広がり関数。
【0098】
有利な広がり関数は図5に示すものである。これは三角関数であり、その第1勾配は+27dB/Barkであり、第2勾配は−10dB/Barkである。広がり関数のこの表現は、次のマスキング曲線の反復計算を可能にする:
【数12】
ここに、
【数13】
であり、かつ、
【数14】
である。
【0099】
Δ1(j)及びΔ2(j)の値は、事前計算して記憶しておくことができる。
【0100】
G.729.1エンコーダのような階層コーダにおけるビット割り当てへの本発明の応用の第1実施例を以下に説明する。
【0101】
ここでは、ビット割り当ての基準は次式で与えられる信号対マスク比に基づく:
【数15】
【0102】
低帯域は既に知覚的にフィルタ処理されているので、マスキングしきい値の適用は高帯域に限定される。マスキングしきい値によって重み付けした低帯域と高帯域との間のスペクトル連続性を保証し、ビット割り当てのバイアス(偏り)を回避するために、マスキングしきい値を、低帯域の最終サブバンドに対するマスキングしきい値で正規化する。
【0103】
従って、知覚的重要度は次式のように再定義される:
【数16】
ここに、offset=−2であり、norfacは次の関係式により計算した正規化係数である:
【数17】
【0104】
なお、知覚的重要度ip(j), j=0,...,9は、規格G.729.1に規定されているものと同一である。他方では、項ip(j), j=10,...,17の定義は変更されている。
【0105】
上記のように再定義した知覚的重要度は今度は次式のように書ける:
【数18】
ここに、log_mask(j)=log2(M(j))−norfacである。
【0106】
なお、知覚的重要度の計算式の中カッコ内の2行目は、この第1の応用、即ち階層コーダの上層としての変換符号化におけるビット割り当てへの応用による本発明の実現の表現である。
【0107】
図8に、マスキングしきい値の正規化を例示し、この例示は、マスキングを適用した高帯域(4〜7kHz)の低帯域(0〜4kHz)への接続を示す。
【0108】
従って、ブロック607及び703は次式のビット割り当て計算を実行する:
【数19】
ここに、λoptは規格G.729.1における二分法によって得られる。
【0109】
従って、従来技術のブロック307及び402と比べた唯一の相違は、高帯域のサブバンド用の知覚的重要度ip(j)の定義である。
【0110】
マスキングしきい値の正規化を、低帯域の最終サブバンド用のマスキングしきい値に関して実行するこの実施例の変形例では、マスキングしきい値の正規化はむしろ、高帯域の最初のサブバンドにおけるマスキングしきい値の値に基づいて次式のように実行することができる:
【数20】
【0111】
さらに他の変形例では、マスキングしきい値は周波数帯域全体上で次式のように計算することができる:
【数21】
【0112】
従って、このマスキングしきい値は、次式による、低帯域の最終サブバンド用のマスキングしきい値による正規化後に:
【数22】
あるいはまた、次式による、高帯域の最初のサブバンド用のマスキングしきい値による正規化後に:
【数23】
高帯域のみに適用することができる。
【0113】
もちろん、マスキングしきい値M(j)の正規化係数normfacを与えるこれらの関係式は、任意数のサブバンド(異なるサブバンド、複数のサブバンド全体、18番目のサブバンドから)に対して一般化することができ、そして(10とは異なる番号を有する)低帯域に対して一般化することができる。
【0114】
一般的に言えば、高帯域と低帯域との間のエネルギー連続性も追求され、この目的のために、知覚的に重み付けした低帯域の差信号
を使用し、原信号自体は使用しない。現実には、図12に示すように、低帯域の終わり(一般に2700Hzの後)における差信号(実線の曲線)に対するCELP符号化は、原信号自体(破線の曲線)に非常に近いエネルギーレベルを与える。G.729.1符号化におけるように、低帯域内では知覚的に重み付けした信号差のみが利用可能であり、この見解を用いて、高帯域マスキングの正規化係数を決定する。
【実施例2】
【0115】
第2実施例では、正規化したマスキングしきい値を、上述した第1実施例におけるように知覚的重要度の定義におけるエネルギーに重み付けするために用いずに、TDAC符号化の前に高帯域信号を直接重み付けするために用いる。
【0116】
図9A(符号化)及び図10A(復号化)に、この第2実施例を示す。図9B(符号化)及び10B(復号化)に第2実施例の変形例を示し、この変形例では、本発明は特に、実行される復号化に関係する。
【0117】
図9A及び9Bでは、ブロック903から来るスペクトルY(k)を18個のサブバンドに分割して、前述したようにスペクトル包絡線を計算する(ブロック904)。
【0118】
他方では、マスキングしきい値を、量子化していないスペクトル包絡線に基づいて計算する(図9Aのブロック905及び図9Bのブロック906b)。
【0119】
図9Aの実施例では、スペクトル包絡線を符号化するのではなく、マスキングしきい値M(j)による重み付けを表す情報を直接符号化する。実際には、この実施例では、スケールファクタ(拡大縮小係数)sf(j)を、j=10からj=17のみについて符号化する。
【0120】
実際には、スケールファクタは次のように与えられる:
低帯域上のj=0,...,9については、sf(j)=1;
高帯域については、正規化したマスキングしきい値M(j)の平方根により、即ち、
【数24】
となる。
【0121】
従って、j=0,...,9についてはスケールファクタを符号化する必要はなく、スケールファクタはj=10,...,17のみについて符号化する。
【0122】
さらに図9Aを参照すれば、スケールファクタsf(j)(j=10,...,17)に対応する情報は、G.729.1エンコーダ(図3のブロック305)で用いるのと同種のエンベロープ符号化技術によって符号化することができ(ブロック906)、例えば、スカラー量子化及びこれに続く高帯域部分の差分ハフマン符号化によって符号化することができる。
【0123】
そして、「ゲイン整形」型符号化の前に、スペクトルY(k)をスケールファクタsf_q(j), j=0,...,17によって除算する(ブロック907)。この符号化は、非特許文献3に記載の標準偏差を用いた代数量子化によって実行する。このゲイン整形型量子化法は、特に標準的な3GPP AMR−WB+で実現される。
【0124】
対応するデコーダを図10Aに示す。ブロック1001では、スケールファクタsf_q(j), j=0,...,17を復号化する。そしてブロック1002は、上述した非特許文献3に記載のように実現する。
【0125】
欠落したサブバンドの外挿補間(図10Aのブロック1003)は、G729.1デコーダ(図4のブロック404)と同じ原理に従う。従って、復号化したサブバンドは0のみから成り、従って帯域拡張によって復号化したスペクトルがこのサブバンドに置き換わる。
【0126】
ブロック1004は、図4のブロック405と同様の機能も実行する。しかし、復号化したスペクトル包絡線rms_q(j), j=0,...,17の代わりにsf_q(j), j=0,...,17を用いる。
【0127】
この第2実施例は、上述した非特許文献3の好適な環境として提示される規格3GPP−AMR−WB+による実現において特に有利であることがわかる。
【0128】
図9B及び10Bに示すこの第2実施例の変形例では(図9Aと9B、及び10Aと10Bでは、同じ参照番号は同じ要素を表す)、符号化した情報は(図9A及び10Aにおけるようなマスキングしきい値自体ではなく)エネルギー包絡線(エネルギーエンベロープ)のままである。
【0129】
符号化時には、符号化したスペクトル包絡線(ブロック905b)に基づいて、マスキングしきい値を計算して正規化する(図9Bのブロック906b)。復号化時には、復号化したスペクトル包絡線(ブロック1001b)に基づいてマスキングしきい値を計算して正規化し(図10Bのブロック1011b)、包絡線の復号化は、量子化値rms_q(j)に基づくレベル調整(図10Bのブロック1010b)を実行することを可能にする。
【0130】
従って、この変形例では、ゼロに復号化されたサブバンドの場合に、外挿補間を実行して適正な復号化信号レベルを維持することができることが有利である。
【0131】
一般的意味で、第1実施例では第2実施例におけるように、マスキングしきい値をサブバンド毎に、少なくとも高周波帯域のサブバンドについて計算し、このマスキングしきい値を正規化して関係するサブバンド間のスペクトル連続性を保証することは明らかである。
【0132】
本発明の意図する範囲内での周波数マスキングの計算は、符号化する信号(特にこの信号が音声的であるか否か)次第で実行可能であるか実行可能でないことも示される。
【0133】
なお、実際には、上述した第1及び第2実施例の両方において、マスキングしきい値の計算は、符号化する信号が音声的でない際に特に有利である。
【0134】
信号が音声的である場合は、広がり関数B(ν)の適用は、少し広い周波数の広がりを有する音声に非常に近いマスキングしきい値を生じさせる。従って、符号化ノイズ対マスク比を最小化する割り当て基準は、非常に適度なビット割り当てを与える。第2実施例による高帯域信号の直接的重み付けにも同じことが当てはまる。従って、音声的な信号に対しては、エネルギー基準によるビット割り当てを用いることが好ましい。従って、本発明は、符号化する信号が音声的でない場合のみに適用することが好ましい。
【0135】
従って、一般的意味では、符号化する信号が音声的であるか音声的でないかの情報が(ブロック305から)得られ、マスキングしきい値の決定及び正規化による高帯域の知覚的重み付けは、信号が音声的でない場合のみに実行する。
【0136】
ここで、規格G.729.1によるエンコーダにおけるこの見解の実現を説明する。スペクトル包絡線(特に図3のブロック305)の符号化モードに関係するビットは、「差分ハフマン」モードまたは「直接的な自然バイナリ(2進数)」モードを示す。このモードビットは音声的であることの検出として解釈することができる、というのは一般に、音声的な信号は「直接的な自然バイナリ」によるエンベロープ符号化をもたらすのに対し、より限定されたスペクトル力を有する非音声的信号の大部分は「差分ハフマン」モードによるエンベロープ符号化をもたらすからである。
【0137】
従って、本発明を実現するか実現しないためには、「信号が音声的であることの検出」から有益な情報を得ることができる。特に本発明は、スペクトル包絡線を「差分ハフマン」モードで符号化した場合に適用され、従って知覚的重要度は、本発明の意図する範囲内では次式のように定義される:
【数25】
【0138】
他方では、エンベロープ(包絡線)を「直接的な自然バイナリ」に符号化した場合は、知覚的重要度は、次式のように規格G.729.1に規定された通りのままである:
【数26】
【0139】
第2実施例では、図9Aのモジュール904は、スペクトル包絡線を計算することによって信号が音声的であるか否かを判定することができ、従って、音声的でない場合はブロック905をバイパス(迂回)する。同様に、図9Bに記載する実施例については、モジュール904は信号が音声的であるか否かを判定することを可能にし、従って音声的でなければブロック907をバイパスする。
【0140】
ここで、特に超広帯域(スーパーワイドバンド)における、G.729.1エンコーダへの本発明の可能な応用を説明する。
【0141】
図11は、超広帯域符号化の場合における(図8に記載した)マスキング曲線の正規化を一般化したものである。この実施例では、50Hz〜14kHzの有広帯域については信号を(16kHzの代わりに)32kHzでサンプリングする。従って、マスキング曲線log2[M(j)]は少なくとも7〜14kHzの範囲のサブバンドについて定義される。
【0142】
実際には、50Hz〜14kHzの帯域をカバーするスペクトルはサブバンドによって符号化され、各サブバンドへのビット割り当ては、G.729.1エンコーダにおけるようにスペクトル包絡線に基づいて実現される。この場合は、前述したように部分的マスキングしきい値を計算することができる。
【0143】
従って、マスキングしきい値の正規化も、図11に示すように、高帯域がより多数のサブバンドから成るか、規格G.729.1より広い周波数ゾーンをカバーする場合に一般化される。
【0144】
図11を参照すれば、50Hz〜4kHzの低帯域にわたって、時間的に重み付けした差信号に第1変換を適用する。4〜7kHzにわたる第1高帯域の信号には第2変換T2を適用し、7〜14kHzにわたる第2高帯域の信号には第3変換T3を適用する。
【0145】
従って、本発明は16kHzでサンプリングした信号に限定されないことは明らかである。本発明の実現は、規格G.729.1によるエンコーダの、上述したようにもはや16kHzではなく32kHzでサンプリングした信号への拡張のような、より高周波数でサンプリングした信号にとっても特に有利である。TDAC符号化をこうした周波数帯域(現在の50Hz〜7kHzの代わりに50Hz〜14kHz)に一般化した場合は、本発明によって達成される利点は多大である。
【0146】
実際には、4〜14kHzの周波数範囲では、標準偏差の基準の制限は現実には許容外になり、準最適なままのビット割り当てのためには、本発明の意図する範囲内の周波数マスキングを用いた知覚的重み付けが非常に有利であることがわかる。
【0147】
従って、本発明はTDAC符号化を改善することにも関係し、この改善は特に、帯域間のスペクトル連続性を保証しつつ、拡張した高帯域(4〜14kHz)の知覚的重み付けを適用することにより、この基準は、第1の低帯域及び14kHzまで拡張した第2の高帯域の同時符号化にとって重要である。
【0148】
常に低帯域を知覚的に重み付けする実施例を上述した。この実施例が本発明の実現にとって必須であるということは全くない。変形例では、階層コーダを第1周波数帯域内のコアコーダで実現し、このコアコーダに関連するエラー信号を、第1周波数帯域内の知覚的重み付けなしに直接変換して、第2周波数帯域内の変換した信号と同時に符号化する。例として、原信号を16kHzでサンプリングして、適切なQMF型のフィルタバンクによって(0から4000Hzまで、及び4000から8000Hzまでの)2つの周波数帯域に分割することができる。こうした実施例では、コーダは一般に、(PCM圧縮付きの)規格G.711によるコーダとすることができる。この変換符号化は次の信号に対して実行することができる:
第1周波数帯域(0〜4000Hz)内では、原信号とG.711合成信号との差信号;
第2周波数帯域(4000〜8000Hz)では、本発明により周波数領域内で知覚的に重み付けした原信号。
【0149】
従って、この実施例では、低帯域内の知覚的重み付けは、本発明の適用にとって必要ではない。
他の変形例では、原信号を32kHzでサンプリングして、適切なQMF型のフィルタバンクによって(0から8000Hzまで、及び8000から16000Hzまでの)2つの周波数帯域に分割する。ここでは、コーダは規格G.722(2つのサブバンド内のADPCM圧縮)によるコーダとすることができ、変換符号化は次の信号に対して実行する:
第1周波数帯域(0〜8000Hz)内では、原信号とG.122合成信号との差信号;
第2周波数帯域(4000〜8000Hz)に限定された周波数領域内では、これも本発明により周波数領域内で知覚的に重み付けした原信号。
【0150】
最後に、本発明は、通信端末のコーダのメモリに記憶され、及び/またはこのコーダのリーダ(読取り器)と協働することを意図した記憶媒体上に記憶された第1ソフトウェアプログラムにも関するものであることを示しておく。従って、この第1プログラムは、当該命令をプロセッサまたはコーダによって実行した際に上述した符号化方法を実現するための命令を具えている。
【0151】
本発明は、この第1ソフトウェアプログラムを記憶する少なくとも1つのメモリを具えたコーダにも関するものである。
【0152】
なお、図6、9A及び9Bは、異なる実施例及び変形例による、第1ソフトウェアプログラムのフローチャートを構成することができるか、あるいはこうしたコーダの構造を例示することもできることは明らかである。
【0153】
本発明は、通信端末のデコーダのメモリに記憶され、及び/またはこのデコーダのリーダと協働することを意図した記憶媒体上に記憶された第2プログラムにも関するものである。従って、この第2プログラムは、当該命令をプロセッサまたはコーダによって実行した際に上述した復号化方法を実現するための命令を具えている。
【0154】
本発明は、この第2ソフトウェアプログラムを記憶する少なくとも1つのメモリを具えたデコーダにも関するものである。
【0155】
なお、図7、10A及び10Bは、異なる実施例及び変形例による、第2ソフトウェアプログラムのフローチャートを構成することができるか、あるいはこうしたデコーダの構造を例示することもできることは明らかである。
【技術分野】
【0001】
本発明は、音響データの処理に関するものである。
【背景技術】
【0002】
この処理は、可聴周波数信号(音声、音楽、その他)のようなデジタル信号の伝送及び/または記憶に特に適している。
【0003】
可聴周波数信号をデジタル形式に符号化する種々の技術が存在する。最も一般的な技術は次のものである:
パルス符号変調(PCM:pulse code modulation)及び適応差分パルス符号変調(ADPCM:adaptive differential pulse code modulation)のような波形符号化法。
符号駆動線形予測(CELP:code excited linear prediction)符号化のような「合成による分析(analysis-by-synthesis)」パラメトリック符号化法。
サブバンドの知覚的符号化法または変換符号化。
【0004】
これらの技術は入力信号を逐次的に、サンプル毎に(PCMまたはADPCM)処理するか、あるいは「フレーム」と称するサンプルのブロック毎に(CELP及び変換符号化)処理する。
【0005】
簡潔に言えば、音声信号のような音響信号を、その直前(例えば8kHzでは直前の8〜12サンプル)から、短いウィンドウ(この例では10〜20ms)上で評価したパラメータを用いて予測することができることが考えられる。(例えば子音を発音するための)声道の伝達関数を表すこれらの短期間の予測パラメータは、線形予測符号化(LPC:linear prediction coding)法によって得られる。長期間の相関を用いて、声帯の振動から生じる有声音(例えば母音)の周期性も特定する。このことは、有声音信号の少なくとも基本周波数を特定することを含み、この基本周波数は、話者に応じて一般に60Hz(低い声)から600Hz(高い声)まで変化する。そして、長期予測分析(LTP:long term prediction)分析を用いて、長期予測器のLTPパラメータを決定し、このパラメータは特に基本周波数の逆数であり、「ピッチ周期」と称されることが多い。従ってピッチ周期内のサンプル数は比率Fe/F0によって定まり、ここに:
Feはサンプリングレート(サンプリング速度)であり、
F0は基本周波数である。
【0006】
従って、ピッチ周期を含む長期予測のLPTパラメータが(有声音である際の)音声信号の基本振動を表すのに対し、短期予測のLPCパラメータはこの信号のスペクトル包絡線(スペクトルエンベロープ)を表すものと考えられる。
【0007】
従って、特定のコーダ(符号化器)では、音声符号化から生じたこれらのLPCパラメータとLTPパラメータの組をブロック単位で1つ以上の通信ネットワーク経由で同種のデコーダ(復号化器)に送信して、元の音声を再構成することができる。
【0008】
標準的な音声符号化では、コーダは固定ビットレートのビットストリームを発生する。このビットレートの制限は、コーダ及びデコーダの実現及び使用を簡略化する。こうしたシステムの例はUIT−T G.711の64kbit/s符号化規格、UIT−T G.729の8kbit/s符号化規格、及びGSM−EFRの12.2kbit/s符号化である。
【0009】
(携帯電話またはIP(インターネットプロトコル)電話のような)特定用途では、可変レートのビットストリームを発生することが好ましい。このビットレート値は所定の組から採られる。こうした符号化技術を「マルチレート」と称し、従って、固定ビットレート符号化技術よりもフレキシブル(柔軟)であることがわかる。
【0010】
いくつかのマルチレート符号化技術は次のように区別することができる:
ソース制御及び/またはチャンネル制御のマルチモード符号化、これは、特に3GPP AMR−NB、3GPP AMR−WB、または3GPP2 VMR−WBコーダにおいて用いられる。
階層または「スケーラブル」符号化、これは、コアビットレート層及び1つ以上のいわゆる拡張層から成るので、「階層」ビットストリームを発生する(G.722による48、56及び64kbit/sでの標準符号化は一般にビットレートがスケーラブル(拡大縮小可能)であるのに対し、UIT−T G.729.1及びMPEG−4 CELP符号化は、ビットレート及び帯域幅が共にスケーラブルである)。
多重記述符号化、これは特に非特許文献1に記載されている。
【0011】
以下に階層符号化の詳細を説明し、この階層符号化は、符号化するオーディオ信号に関する情報を、オーディオ再生品質に関する重要度の順に用いることができるように階層に配列された部分集合中に配分することによって、可変ビットレートを提供する能力を有する。この順序を決定するために考慮する基準は、符号化オーディオ信号の品質の最適化(あるいはむしろ最小劣化)の基準である。階層符号化は、異種のネットワーク上、または利用可能なビットレートが時間と共に変動するネットワーク上での伝送、あるいは可変能力を有する端末への伝送に特に適している。
【0012】
階層(または「スケーラブル」)オーディオ符号化の基本概念は次のように記述することができる。
【0013】
ビットストリームは基本層及び1つ以上の拡張層から成る。基本層は、「コア・コーデック」として分類される(固定の)低ビットレートのコーデックによって生成され、符号化の最小品質を保証する。この層はデコーダによって受信されて、許容可能な品質のレベルを維持する。拡張層は品質を増強すべく働く。しかし、これらの拡張層は必ずしもすべてがデコーダによって受信されないことが生じ得る。
【0014】
従って、階層符号化の主な利点は、単に「ビットストリームの打ち切り」によってビットレートの適応を可能にすることにある。層の数(即ち、可能なビットストリーム打ち切りの数)が符号化の精度を決める。「高精度(high granularity)」は、ビットストリームが(2〜4のオーダーの)少数の層から成る場合に用い、「細精度(fine granularity)」符号化は、例えば1〜2kbit/sのピッチを可能にする。
【0015】
以下に、電話帯域に広帯域内の1つ以上の拡張層を加えた帯域おける、CELP型コアコーダによるビットレート及び帯域幅がスケーラブルな符号化技術をより詳細に説明する。こうしたシステムの例は、UIT−T G.729.1の8〜32kbit/s微細精度規格において与えられる。G.729.1符号化/復号化アルゴリズムは以下のように要約される。
【0016】
(G.729.1コーダについての想起)
G.729.1コーダはUIT−T G.729コーダの拡張である。これは、修正されたG.729階層コアコーダであり、狭帯域(50〜4000Hz)から広帯域(50〜7000Hz)までにわたる帯域の信号を音声サービス用の8〜32kbit/sのビットレートで生成する。このコーデックは既存のIP電話機器(大部分は規格G.729に従って装置化されている)と互換性がある。最後に、規格G.729は2006年5月に承認されていることを指摘しておくことが適切である。
【0017】
図1に、G.729.1コーダを概略的に示す。16kHzでサンプリングした広帯域の入力信号swbをまず、直交ミラーフィルタ処理(QMF:quadratic mirror filtering)によって2つのサブバンド(副帯域)に分割する。低帯域(0〜4000Hz)はローパス(低域通過)フィルタ処理LP(ブロック100)及びデシメーション(間引き)(ブロック101)によって得られ、高帯域(4000〜8000Hz)はハイパス(高域通過)フィルタ処理HP(ブロック102)及びデシメーション(ブロック103)によって得られる。LPフィルタ及びHPフィルタは64ビット長である。
【0018】
低帯域は、50Hz以下の成分を除去するハイパスフィルタによって前処理されて、8kbit/s及び12kbit/sでの狭帯域CELP符号化(ブロック105)の前に信号sLBが得られる。このハイパスフィルタ処理は、有用な帯域が50〜7000Hzをカバーするものとして規定されることを考慮に入れる。狭帯域CELP符号化はCELPカスケード符号化であり、第1段としての前処理フィルタなしの変形G.729符号化、及び第2段としての追加的な固定CELPディクショナリ(辞書)から成る。
【0019】
高帯域はまず、ハイパスフィルタ(ブロック102)とデシメーション(ブロック103)との組合せによるエリアシングを補償すべく前処理される。そして高帯域は、3000〜4000Hzの高帯域成分(即ち、原信号中の7000〜8000Hzの成分)を除外するローパスフィルタ(ブロック107)によってフィルタ処理されて、信号sHBが得られる。そして、帯域拡張(ブロック108)を実行する。
【0020】
図1によるG.729.1エンコーダの大きな特徴は次の通りである。低帯域エラー(誤差)信号dLBを、CELPコーダ(ブロック105)の出力に基づいて計算し(ブロック109)、(例えば規格G.729.1におけるTDAC(time domain aliasing cancellation:時間領域エリアシング相殺)型の)予測変換符号化をブロック110で実行する。図1を参照すれば、特に、TDAC符号化が低帯域エラー信号及びハイパスフィルタ処理された信号に共に適用されることがわかる。
【0021】
追加的パラメータはブロック111によって対応するデコーダに送信することができ、このブロック111は「FEC」(Frame Erasure Concealment:フレーム消去隠蔽)と称される処理を実行して、あらゆる消去されたフレームを再構成する。
【0022】
符号化ブロック105、108、110及び111によって発生されたビットストリームを最後に、多重化ブロック112において多重化して階層ビットストリームに構成する。この符号化は、20ms分のサンプル(または20msのフレーム)のブロック単位で、即ちフレーム当たり320サンプルで実行する。
【0023】
従って、G.729.1コーデックは、次の段から成る3段符号化アーキテクチャを有する:
CELPカスケード符号化;
時間領域帯域幅拡張(TDBWE:time domain bandwidth extension)型モジュール108による帯域パラメータの拡張;及び、
TDAC予測変換符号化、これは変形離散(ディスクリート)コサイン変換(MDCT:modified discrete cosine transform)型変換後に適用する。
【0024】
(G.729デコーダについての想起)
図2に、規格G.729.1による対応するデコーダを示す。20msの各フレームを記述するビットを、ブロック200において多重分離する。
【0025】
CELPデコーダ(ブロック201)が8kbit/sの層及び12kbit/sの層のビットストリームを用いて、狭帯域合成信号(0〜4000Hz)を発生する。ビットストリーム中の14kbit/sの層に関連する部分は、帯域幅拡張モジュール(ブロック202)によって復号化される。ビットストリーム中の14kbit/sより高いビットレートに関連する部分は、TDACモジュール(ブロック203)によって復号化される。前エコー処理及び後エコー処理は、ブロック204及び207によって、低帯域の強調(ブロック205)及び後処理(ブロック206)と同様に実行される。
【0026】
16kHzでサンプリングした広帯域信号
は、QMF合成フィルタバンク(ブロック209、210、211、212及び213)を用いて、エリアシング相殺(ブロック208)を統合して得られる。
【0027】
以下に、変換符号化層を詳細に説明する。
【0028】
(G.729.1コーダにおけるTDAC変換コーダの想起)
図3に、G.729.1コーダにおけるTDAC型変換符号化を示す。
【0029】
フィルタWLB(ブロック300)は、ゲイン(利得)補償付きの知覚的重み付けフィルタであり、低帯域のエラー信号dLBに適用される。そしてMDCT変換を計算して(ブロック301及び302)次のものを得る:
知覚的にフィルタ処理された差信号のMDCTスペクトル
元の高帯域信号のMDCTスペクトルSHB。
【0030】
これらのMDCT変換(ブロック301及び302)は、8kHzでサンプリングした信号の20ms分(160個の係数)に適用される。従って、併合(マージ)ブロック303から来るスペクトルY(k)は2×160個、即ち320個の係数から成る。スペクトルY(k)は次式のように定義される:
【数1】
【0031】
このスペクトルは18個のサブバンドに分割され、サブバンドjはnb_coef(j)で表される数の係数を割り当てられる。サブバンドへの分割は以下の表1に指定される。
【0032】
従って、サブバンドjは
sb_bound(j)≦k≦sb_bound(j+1)
なる係数Y(k)を含む。
【0033】
【表1】
【0034】
スペクトル包絡線{log_rms(j)}j=0,...,17は、ブロック304において次式のように計算される:
【数2】
ここに、εrms=2-24である。
【0035】
スペクトル包絡線は、ブロック305において可変ビットレートで符号化される。このブロック305は、rms_index(j) (j=0,...,17)で表される量子化された整数値を生成し、これらの整数値は次式の単純なスカラー量子化によって得られる:
rms_index(j)=round(2・log_rms(j))
ここに、記号「round」は最も近い整数に丸めることを表し、次式の制約を有する:
−11≦rms_index(j)≦+20
この量子化値rms_index(j)はビット割り当て(ビットアロケーション)ブロック306に伝送される。
【0036】
スペクトル包絡線自体の符号化もブロック305によって、低帯域(j=0,...,9なるrms_index(j))及び高帯域(j=10,...,17なるrms_index(j))に対して別個に実行される。各帯域では、所定基準により2種類の符号化を選定することができ、より詳細には、rms_index(j)の値は:
「差分ハフマン符号化」と称される符号化によって符号化することができ;あるいは、
普通のバイナリ(2進)符号化によって符号化することができる。
選定した符号化モードを示すためのビット(0または1)がデコーダに伝送される。
【0037】
各サブバンドの量子化用に当該サブバンドに割り当てられるビット数は、ブロック306において、ブロック305から来る量子化されたスペクトル包絡線に基づいて決まる。実行されるビット割り当ては、サブバンド毎に割り当てられるビットの総数の制限、及び超えるべきでない最大ビット数を順守しつつ、標準偏差を最小化する。そして、サブバンドのスペクトル成分は、球面ベクトル量子化によって符号化される(ブロック307)。
【0038】
そして、ブロック305及び307によって生成された異なるビットストリームが、多重化ブロック308において多重化されて階層ビットストリームに構造化される。
【0039】
(G.729.1デコーダにおける変換デコーダについての想起)
エンコーダ(図3)と同様の方法で、復号化されたスペクトル包絡線(ブロック401)は、ビット割り当てを復元することを可能にする。包絡線(エンベロープ)復号化(ブロック401)は、ブロック305によって生成された(多重化)ビットストリームに基づいて、スペクトル包絡線の量子化値(rms_index(j), j=0,...,17)を再構成して、これより復号化した包絡線を次式のように推定する:
rms_q(j)=21/2rms_index(j)
【0040】
各サブバンドのスペクトル成分は、逆球面ベクトル量子化によって復元される(ブロック403)。不十分な「ビットバジェット(ビット割当量)」により伝送されなかったサブバンドは、帯域拡張(図2のブロック202)の出力信号のMDCT変換に基づいて外挿補間される(ブロック404)。
【0041】
上記スペクトル包絡線に関係するこのスペクトルのレベル調整(ブロック405)及び後処理(ブロック406)後に、MDCTスペクトルは次の2つに分割される(ブロック407):
知覚的にフィルタ処理された低帯域の復号化差信号のスペクトル
に対応する最初160個の係数;及び、
元の高帯域の復号化信号のスペクトル
に対応する次の160個の係数。
【0042】
これら2つのスペクトルは、IMDCTで表す逆MDCT変換によって時間信号に変換され(ブロック408及び410)、この逆変換から生じる信号
に逆の知覚的重み付け(WLB(z)-1で表されるフィルタ)が適用される。
【0043】
以下に、サブバンドへのビットの割り当て(図3のブロック306または図4のブロック402)を特に説明する。
【0044】
ブロック306及び402は、rms_index(j), j=0,...,17の値に基づいて同一の動作を実行する。従って、以下ではブロック306の機能を説明するだけで十分である。
【0045】
バイナリ割り当ての目的は、nbits_VQで表される特定の(可変)ビットバジェットを各サブバンド間に配分することにあり、ここに、
nbits_VQ=351−nbits_rmsであり、nbits_rmsは、スペクトル包絡線の符号化によって使用されるビット数である。
【0046】
この割り当ての結果は、nbit(j)(j=0,...,17)で表される、各サブバンドに「割り当てられる総ビット数であり、次式の全体的制約を有する:
【数3】
【0047】
規格G.729.1では、nbit(j)(j=0,...,17)の値は、以下の表2に指定する限定された値から選定しなければならない:
【0048】
【表2】
【0049】
規格G.729.1における割り当ては、サブバンド毎の「知覚的重要度」に依存し、この「知覚的重要度」は当該サブバンドのエネルギーに関連し、ip(j)で表され、次式のように定義される:
【数4】
ここに、offset=−2である。
【0050】
rms_q(j)の値はrms_q(j)=21/2rms_index(j)であるので、この式は次式の形に約すことができる:
【数5】
【0051】
各サブバンドの知覚的重要度に基づいて、割り当てnbit(j)は次式のように計算される:
【数6】
ここに、λoptは二分法によって最適化されたパラメータである。
【0052】
ここで、TDAC変換コーダのビット割り当て(ブロック306)に対する知覚的重み付け(ブロック300のフィルタ処理)の発生をより詳細に説明する。
【0053】
規格G.729.1では、上述したように、TDAC符号化は低帯域内で知覚的重み付けフィルタWLB(z)を用いる。実質上、知覚的重み付けは符号化ノイズを整形することを可能にする。このフィルタ処理の原理は、原信号が強いエネルギーを有する周波数ゾーン内により大きなノイズを入れることができることを利用する。
【0054】
狭帯域CELP符号化において最も一般的に用いられる知覚的重み付けフィルタは
の形式を有し、ここに0<γ2<γ1<1であり、
は線形予測スペクトル(LPC)を表す。従って、CELP符号化の「合成による分析」の効果は、この種のフィルタにより知覚的重み付けした信号領域における標準偏差を最小化することにある。
【0055】
しかし、スペクトル
とSHBとが隣接する際(図3のブロック303)のスペクトルの連続性を保証するために、フィルタWLB(z)は次式の形に定義される:
【数7】
ここに、γ1=0.96、γ2=0.6、かつ、
【数8】
である。
【0056】
係数facは、1〜4Hzにおけるフィルタゲインが、低帯域と高帯域(4kHz)の接合において与えられることを可能にする。なお重要なこととして、規格G.729.1によるTDAC符号化では、符号化はエネルギー基準のみに依存する。
【0057】
(従来技術の欠点)
規格G.729.1では、エンコーダTDACは次のものを同時に処理する:
元の低帯域と、
型のフィルタによって知覚的にフィルタ処理して(スペクトル連続性を保証すべく)ゲイン補償したCELP合成信号との信号差、及び、
元の高帯域信号を含む高帯域。
低帯域信号は50Hz〜4kHzの周波数に相当し、高帯域信号は4〜7kHzの周波数に相当する。
【0058】
これら2つの信号の同時符号化は、MDCT領域内で標準偏差基準により実行される。従って、高帯域はエネルギー基準により符号化され、この符号化は(「知覚的」という意味で)準最適である。
【0059】
さらにより一般的には、いくつかの帯域内での符号化を考えることができ、少なくとも1つの帯域の信号に知覚的重み付けフィルタが時間領域内で適用され、一組のサブバンドは変換符号化によって同時に符号化される。知覚的重み付けを周波数領域内で適用することが望ましい場合は、提起される課題はサブバンド間のスペクトルの連続性及び均一性である。
【先行技術文献】
【非特許文献】
【0060】
【非特許文献1】”A multiple description speech coder based on AMR-WB for mobile ad hoc networks”, H. Dong, A. Gersho, J.D. Gibson, V. Cuperman, ICASSP, p. 277-280, vol. 1 (May 2004)
【非特許文献2】”High-quality audio transform coding at 64 kbps”, Y. Mahieux, J.P. Petit, IEEE Transactions on Communications, Volume 42, No. 11, Pages: 3010-3019 (November 1994)
【非特許文献3】”Low-complexity multi-late lattice vector quantization with application to wideband TCX speech coding at 32 kbit/s”, S. Ragot, B. Bessette, and R. Lefebvre, Proceedings ICASSP-Montreal (Canada), Pages: 501-504, vol. 1 (2004)
【発明の概要】
【発明が解決しようとする課題】
【0061】
本発明の目的は、この状況を改善することにある。
【課題を解決するための手段】
【0062】
この目的のために、いくつかのサブバンド内で信号を符号化する方法が提案され、この方法では、互いに隣接する少なくとも1つの第1サブバンド及び1つの第2サブバンドを変換符号化する。
【0063】
本発明の意図によれば、変換領域内での知覚的重み付けを少なくとも第2サブバンドに適用するために、この方法は次のステップを具えている:
第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を決定するステップ;及び、
上記第1サブバンドと第2サブバンドとの間のスペクトル連続性を保証するために、このマスキングしきい値を規格化(正規化)するステップ。
【0064】
従って本発明は、マスキングしきい値を用いて、周波数帯域の一部分のみに対する(少なくとも上述した「第2サブバンド」に対する)周波数の知覚的重み付けを計算し、少なくとも1つの他の周波数帯域(少なくとも上述した「第1サブバンド」)との間のスペクトル連続性を保証して、これら2つの周波数帯域をカバーするスペクトル上のマスキングしきい値を規格化することを目的とする。
【0065】
本発明の第1好適例では、各サブバンドに割り当てるビット数をスペクトル包絡線に基づいて決定し、少なくとも第2サブバンドへのビット割り当ては、少なくとも第2サブバンドに適用される正規化したマスキング曲線の計算値の関数として決定する。
【0066】
従って、この第1好適例では、エネルギー基準のみに基づいてビット割り当てを行う代わりに、本発明の適用は、知覚的基準によれば最多数のビットを必要とするサブバンドにビットを割り当てることを可能にする。従って、第1好適例の範囲内で、オーディオ帯域の一部をマスクすることによって周波数的な知覚的重み付けを適用して、特にサブバンド間のビットの分布を知覚的基準により最適化することによってオーディオ品質を改善することができる。
【0067】
本発明の第2好適例では、第2サブバンド内で変換された信号を、第2サブバンド用に正規化したマスキングしきい値の平方根に比例する係数によって重み付けする。
【0068】
この第2好適例では、上述した第1好適例のように、正規化したマスキングしきい値をビット割り当て用に用いないが、正規化したマスキングしきい値は、第2サブバンドの信号を少なくとも変換領域内で直接重み付けするために有利に用いることができる。
【0069】
本発明は、規格G.729.1による総合コーダに有利に適用することができるがこれに限定されず、第1サブバンドは低周波数の帯域内に含まれるのに対し、第2サブバンドは高周波数の帯域内に含まれ、高周波数の帯域は帯域幅拡張によって7000Hzまで、さらにそれ以上(一般に14kHzまで)拡張することができる。従って本発明の適用は、低帯域との間のスペクトル連続性を保証しつつ、高帯域に知覚的重み付けを行うことから成る。
【0070】
なお、階層構造を有するこの種の総合コーダでは、変換符号化は総合階層コーダの上層内で行う。
次のことが有利である:
従って、第1サブバンドは、階層コーダのコア符号化から生じる信号を含み、
第2サブバンドは原信号を含む。
【0071】
G.729.1コーダにおけるように、コア符号化から生じる信号は知覚的に重み付けすることができ、本発明の実現は、スペクトル帯域の全体を最終的に知覚的に重み付けすることができる点で有利である。
【0072】
G.729.1コーダにおけるように、コア符号化から生じる信号は、原信号とこの原信号の合成信号との差を表す信号(「信号差」、あるいは「エラー(誤差)信号」とも称することができる)とすることができる。実際に、以下で説明する図12を参照すれば、本発明を実現するために原信号を利用可能にすることは必ずしも絶対に必要ではない点が有利であることがわかる。
【0073】
本発明は、上述した符号化方法と同様の復号化方法にも関するものであり、この復号化方法では、互いに隣接する少なくとも1つの第1サブバンド及び1つの第2サブバンドを変換復号化する。従って、変換領域内での知覚的重み付けを少なくとも第2サブバンドに適用するために、この復号化方法は次のステップを備えている:
第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を、復号化したスペクトル包絡線に基づいて決定するステップ;及び、
このマスキングしきい値を正規化して、第1サブバンドと第2サブバンドとの間のスペクトル連続性を保証するステップ。
【0074】
復号化の第1好適例は、上述した符号化の第1好適例と同様に、復号化におけるビット割り当てに関するものであり、各サブバンドに割り当てるビット数は、スペクトル包絡線の復号化に基づいて決定する。本発明の好適例によれば、少なくとも第2サブバンドへのビットの割り当てはさらに、少なくとも第2サブバンドに適用される正規化したマスキング曲線の計算値の関数として決定する。
【0075】
本発明の範囲内の復号化の第2好適例は、第2サブバンド内で変換した信号に、正規化したマスキングしきい値の平方根によって重み付けすることから成る。この好適例は図10Bを参照して詳細に説明する。
【0076】
さらに、本発明の他の利点及び特徴は、以下に例として挙げる詳細な説明及び図面を検討すれば明らかになる。
【図面の簡単な説明】
【0077】
【図1】G.729.1コーダを示す図である。
【図2】規格G.729.1によるデコーダを示す図である。
【図3】G.729.1コーダにおけるTSAC型変換符号化を示す図である。
【図4】G.729.1デコーダにおけるTDAC型変換復号化の段を示す図である。
【図5】本発明の意図によるマスキング用の有利な広がり関数を示す図である。
【図6】本発明の第1実施例によるビットの割り当て用のマスキング曲線の計算606を用いたTDAC符号化の構造を、図3と比較して示す図である。
【図7】本発明の第1実施例によるマスキング曲線の計算702を用いたTDAC復号化の構造を、図4と比較して示す図である。
【図8】第1実施例におけるマスキング曲線の正規化を示す図であり、ここでサンプリング周波数は16kHzであり、本発明のマスキングを4〜7kHzの高周波帯域に適用している。
【図9A】変形TDAC符号化の構造を示す図であり、本発明の第2実施例における4〜7kHzの高周波数の信号の直接的重み付け、及び正規化したマスキングしきい値を用いている。
【図9B】図9Aに示す第2実施例の変形例におけるTDAC符号化の構造を示す図であり、ここではスペクトル・エンベロープの符号化を用いている。
【図10A】本発明の第2実施例による、図9Aと同様のTDAC復号化の構造を示す図である。
【図10B】本発明の第2実施例による、図9Bと同様のTDAC復号化の構造を示す図であり、ここでは復号化においてマスキングしきい値の計算を用いている。
【図11】本発明の第2実施例における超広帯域におけるマスキング曲線の正規化を示す図であり、ここでサンプリング周波数は32kHzであり、本発明のマスキングを4〜14kHzの超広帯域に適用している。
【図12】差信号DLB(実線)及び原信号SLB(破線)のCELP符号化の出力のパワースペクトルを示す図である。
【発明を実施するための形態】
【0078】
以下に本発明の応用を説明し、この応用は、図1〜4を参照して前に説明した規格G.729.1によるエンコーダ/デコーダにおいて有利であるが限定的ではないことがわかり、本発明によれば、この応用はマスキング情報を含む。
【0079】
しかし、まず、本発明の原理のより良い理解のために、知覚的フィルタ処理及び周波数マスキングにおけるゲイン保証の概念を以下に説明する。
【0080】
本発明は、「同時マスキング」または「周波数マスキング」として知られているマスキング効果を用いることによって、変換コーダ内で実行される知覚的重み付けに改善をもたらす。
【0081】
このことは、「マスキング音」と称される音の存在下での聴覚しきい値の変更に適切に対応する。この効果は一般に、例えば屋外の路上で車のノイズが話者の声を「マスク」し、この周囲ノイズ(雑音)に対して会話を保持しようとする際に観測される。
【0082】
オーディオコーデックにおけるマスキングの使用の例は、非特許文献2に見出すことができる。
【0083】
この文献では、適切なマスキングしきい値をスペクトルのライン(線)毎に計算している。このしきい値は、当該しきい値以上で対象のラインが可聴であるものと想定されるしきい値である。このマスキングしきい値は、他の音(正弦波またはフィルタ処理したホワイトノイズ(白色雑音))による音(正弦波またはフィルタ処理したホワイトノイズ)のマスキング効果をモデル化する広がり関数B(ν)による信号スペクトルの畳み込み(コンボリューション)に基づいて計算される。
【0084】
図5に、こうした広がり関数の例を示す。この関数は周波数領域内で定義され、周波数領域の単位はBarkである。この周波数スケールは耳の周波数感度を表す。周波数f(Hz単位)の、ν(Bark単位)で表される「周波数」への変換の通常の近似は次の関係式で与えられる:
【数9】
【0085】
この文献では、マスキングしきい値の計算はライン毎でなくサブバンド毎に実行される。従って、得られるしきい値は各サブバンドを知覚的に重み付けするために用いられる。従って、このビット割り当ては、標準偏差を最小化することによるのではなく、符号化ノイズを整形して不可聴(マスキングしきい値以下)にする目的で、「符号化ノイズ対マスク」比を最小化することによって実行される。
【0086】
もちろん、他のマスキングモデルも提案されている。一般に、広がり関数は、ライン及び/またはマスキングラインの周波数の振幅の関数とすることができる。「ピーク」の検出も実現することができる。
【0087】
なお指摘すべきこととして、規格G.729.1による符号化の準最適な性質を減らすために、Mahieux等による文献に記載されているのと同様のやり方で、周波数マスキング技術をビット割り当てに統合することを考えることができる。しかし、2つの信号、即ち低帯域及び高帯域の異質な性質が、この文献の全帯域マスキング技術の直接の適用を妨げる。一方では、低帯域信号は「原」信号と同質ではないので、全帯域マスキングしきい値はMDCT領域内では適切に計算することができない。他方では、マスキングしきい値を周波数帯域全体に適用することは、
型フィルタによって既に重み付けした低帯域信号を再び重み付けすることになり、従って、追加的なしきい値の重み付けがこの低帯域信号にとって余分である。
【0088】
以下に説明する本発明の応用は、特に、低帯域及び高帯域の満足な同時符号化のためのこれら2つの帯域間のスペクトル連続性を保証しつつ、高帯域(4〜7kHz)の知覚的重み付けを適用することによって、規格G.729.1によるエンコーダのTDAC符号化を改善することを可能にする。
【0089】
本発明の実現によって強化した規格G.729.1によるエンコーダ及び/またはデコーダでは、以下に説明する例では、TDACコーダ及びデコーダのみを修正している。
【0090】
50Hz〜7kHzの有効帯域を有する入力信号を16kHzでサンプリングする。実際には、規格G.729.1におけるように、コーダはまだ32kbit/sのレート(速度)で動作するのに対し、デコーダはコア(8kbit/s)並びに1つ以上の拡張層(2kbit/sステップずつに区切った12〜32kbit/s)を受信することができる。符号化及び復号化は、図1及び2に示すのと同じアーキテクチャを有する。ここでは、図6及び7に示すように、ブロック110及び203のみを修正している。
【実施例1】
【0091】
以下に図6を参照しながら説明する第1実施例では、修正したTDACコーダは、標準偏差に続くビット割り当て(ブロック306)が、これ以降はマスキング曲線の計算及び修正したビット割り当て(ブロック606及び607)に置き換わること以外は、図3のTDACコーダと同様であり、本発明は、マスキング曲線の計算(ブロック606)及びビットの割り当てにおけるその利用(ブロック607)の枠組み内に含まれる。
【0092】
同様に、図7に、この第1実施例における修正したTDACデコーダを示す。このデコーダは、標準偏差に続くビット割り当て(ブロック402)が、マスキング曲線の計算及び修正したビット割り当て(ブロック702及び703)に置き換わっていること以外は、図4のものと同一である。修正したTDACコーダと対称な様式で、本発明はブロック702及び703に関係する。
【0093】
ブロック606と702とは、値rms_index(j), j=0,...,17に基づいて同一の動作を実行する。同様に、ブロック607と703とは、値log_mask(j)及びrms_index(j), j=0,...,17に基づいて同一の動作を実行する。
【0094】
従って、以下ではブロック606及び607の動作のみを説明する。
【0095】
ブロック606は、量子化したスペクトル包絡線rms_q(j)に基づいてマスキング曲線を計算し、ここにj=0,...,17はサブバンドの数である。
【0096】
サブバンドjのマスキングしきい値M(j)は、エネルギー包絡線
【数10】
の広がり関数B(ν)による畳み込みによって定義される。ここに挙げるエンコーダG.729.1におけるTDAC符号化の実施例では、このマスキングは信号の高帯域のみに対して次式のように実行する:
【数11】
ここに、νkはサブバンドkの中心周波数(Bark単位)であり、符号「×」は、以下に説明する広がり関数との「乗算」を表す。
【0097】
従って、より一般的な言い方では、サブバンドj用のマスキングしきい値M(j)は次のものどうしの畳み込みによって定義される:
スペクトル包絡線の表現式;及び、
サブバンドjの中心周波数を含む広がり関数。
【0098】
有利な広がり関数は図5に示すものである。これは三角関数であり、その第1勾配は+27dB/Barkであり、第2勾配は−10dB/Barkである。広がり関数のこの表現は、次のマスキング曲線の反復計算を可能にする:
【数12】
ここに、
【数13】
であり、かつ、
【数14】
である。
【0099】
Δ1(j)及びΔ2(j)の値は、事前計算して記憶しておくことができる。
【0100】
G.729.1エンコーダのような階層コーダにおけるビット割り当てへの本発明の応用の第1実施例を以下に説明する。
【0101】
ここでは、ビット割り当ての基準は次式で与えられる信号対マスク比に基づく:
【数15】
【0102】
低帯域は既に知覚的にフィルタ処理されているので、マスキングしきい値の適用は高帯域に限定される。マスキングしきい値によって重み付けした低帯域と高帯域との間のスペクトル連続性を保証し、ビット割り当てのバイアス(偏り)を回避するために、マスキングしきい値を、低帯域の最終サブバンドに対するマスキングしきい値で正規化する。
【0103】
従って、知覚的重要度は次式のように再定義される:
【数16】
ここに、offset=−2であり、norfacは次の関係式により計算した正規化係数である:
【数17】
【0104】
なお、知覚的重要度ip(j), j=0,...,9は、規格G.729.1に規定されているものと同一である。他方では、項ip(j), j=10,...,17の定義は変更されている。
【0105】
上記のように再定義した知覚的重要度は今度は次式のように書ける:
【数18】
ここに、log_mask(j)=log2(M(j))−norfacである。
【0106】
なお、知覚的重要度の計算式の中カッコ内の2行目は、この第1の応用、即ち階層コーダの上層としての変換符号化におけるビット割り当てへの応用による本発明の実現の表現である。
【0107】
図8に、マスキングしきい値の正規化を例示し、この例示は、マスキングを適用した高帯域(4〜7kHz)の低帯域(0〜4kHz)への接続を示す。
【0108】
従って、ブロック607及び703は次式のビット割り当て計算を実行する:
【数19】
ここに、λoptは規格G.729.1における二分法によって得られる。
【0109】
従って、従来技術のブロック307及び402と比べた唯一の相違は、高帯域のサブバンド用の知覚的重要度ip(j)の定義である。
【0110】
マスキングしきい値の正規化を、低帯域の最終サブバンド用のマスキングしきい値に関して実行するこの実施例の変形例では、マスキングしきい値の正規化はむしろ、高帯域の最初のサブバンドにおけるマスキングしきい値の値に基づいて次式のように実行することができる:
【数20】
【0111】
さらに他の変形例では、マスキングしきい値は周波数帯域全体上で次式のように計算することができる:
【数21】
【0112】
従って、このマスキングしきい値は、次式による、低帯域の最終サブバンド用のマスキングしきい値による正規化後に:
【数22】
あるいはまた、次式による、高帯域の最初のサブバンド用のマスキングしきい値による正規化後に:
【数23】
高帯域のみに適用することができる。
【0113】
もちろん、マスキングしきい値M(j)の正規化係数normfacを与えるこれらの関係式は、任意数のサブバンド(異なるサブバンド、複数のサブバンド全体、18番目のサブバンドから)に対して一般化することができ、そして(10とは異なる番号を有する)低帯域に対して一般化することができる。
【0114】
一般的に言えば、高帯域と低帯域との間のエネルギー連続性も追求され、この目的のために、知覚的に重み付けした低帯域の差信号
を使用し、原信号自体は使用しない。現実には、図12に示すように、低帯域の終わり(一般に2700Hzの後)における差信号(実線の曲線)に対するCELP符号化は、原信号自体(破線の曲線)に非常に近いエネルギーレベルを与える。G.729.1符号化におけるように、低帯域内では知覚的に重み付けした信号差のみが利用可能であり、この見解を用いて、高帯域マスキングの正規化係数を決定する。
【実施例2】
【0115】
第2実施例では、正規化したマスキングしきい値を、上述した第1実施例におけるように知覚的重要度の定義におけるエネルギーに重み付けするために用いずに、TDAC符号化の前に高帯域信号を直接重み付けするために用いる。
【0116】
図9A(符号化)及び図10A(復号化)に、この第2実施例を示す。図9B(符号化)及び10B(復号化)に第2実施例の変形例を示し、この変形例では、本発明は特に、実行される復号化に関係する。
【0117】
図9A及び9Bでは、ブロック903から来るスペクトルY(k)を18個のサブバンドに分割して、前述したようにスペクトル包絡線を計算する(ブロック904)。
【0118】
他方では、マスキングしきい値を、量子化していないスペクトル包絡線に基づいて計算する(図9Aのブロック905及び図9Bのブロック906b)。
【0119】
図9Aの実施例では、スペクトル包絡線を符号化するのではなく、マスキングしきい値M(j)による重み付けを表す情報を直接符号化する。実際には、この実施例では、スケールファクタ(拡大縮小係数)sf(j)を、j=10からj=17のみについて符号化する。
【0120】
実際には、スケールファクタは次のように与えられる:
低帯域上のj=0,...,9については、sf(j)=1;
高帯域については、正規化したマスキングしきい値M(j)の平方根により、即ち、
【数24】
となる。
【0121】
従って、j=0,...,9についてはスケールファクタを符号化する必要はなく、スケールファクタはj=10,...,17のみについて符号化する。
【0122】
さらに図9Aを参照すれば、スケールファクタsf(j)(j=10,...,17)に対応する情報は、G.729.1エンコーダ(図3のブロック305)で用いるのと同種のエンベロープ符号化技術によって符号化することができ(ブロック906)、例えば、スカラー量子化及びこれに続く高帯域部分の差分ハフマン符号化によって符号化することができる。
【0123】
そして、「ゲイン整形」型符号化の前に、スペクトルY(k)をスケールファクタsf_q(j), j=0,...,17によって除算する(ブロック907)。この符号化は、非特許文献3に記載の標準偏差を用いた代数量子化によって実行する。このゲイン整形型量子化法は、特に標準的な3GPP AMR−WB+で実現される。
【0124】
対応するデコーダを図10Aに示す。ブロック1001では、スケールファクタsf_q(j), j=0,...,17を復号化する。そしてブロック1002は、上述した非特許文献3に記載のように実現する。
【0125】
欠落したサブバンドの外挿補間(図10Aのブロック1003)は、G729.1デコーダ(図4のブロック404)と同じ原理に従う。従って、復号化したサブバンドは0のみから成り、従って帯域拡張によって復号化したスペクトルがこのサブバンドに置き換わる。
【0126】
ブロック1004は、図4のブロック405と同様の機能も実行する。しかし、復号化したスペクトル包絡線rms_q(j), j=0,...,17の代わりにsf_q(j), j=0,...,17を用いる。
【0127】
この第2実施例は、上述した非特許文献3の好適な環境として提示される規格3GPP−AMR−WB+による実現において特に有利であることがわかる。
【0128】
図9B及び10Bに示すこの第2実施例の変形例では(図9Aと9B、及び10Aと10Bでは、同じ参照番号は同じ要素を表す)、符号化した情報は(図9A及び10Aにおけるようなマスキングしきい値自体ではなく)エネルギー包絡線(エネルギーエンベロープ)のままである。
【0129】
符号化時には、符号化したスペクトル包絡線(ブロック905b)に基づいて、マスキングしきい値を計算して正規化する(図9Bのブロック906b)。復号化時には、復号化したスペクトル包絡線(ブロック1001b)に基づいてマスキングしきい値を計算して正規化し(図10Bのブロック1011b)、包絡線の復号化は、量子化値rms_q(j)に基づくレベル調整(図10Bのブロック1010b)を実行することを可能にする。
【0130】
従って、この変形例では、ゼロに復号化されたサブバンドの場合に、外挿補間を実行して適正な復号化信号レベルを維持することができることが有利である。
【0131】
一般的意味で、第1実施例では第2実施例におけるように、マスキングしきい値をサブバンド毎に、少なくとも高周波帯域のサブバンドについて計算し、このマスキングしきい値を正規化して関係するサブバンド間のスペクトル連続性を保証することは明らかである。
【0132】
本発明の意図する範囲内での周波数マスキングの計算は、符号化する信号(特にこの信号が音声的であるか否か)次第で実行可能であるか実行可能でないことも示される。
【0133】
なお、実際には、上述した第1及び第2実施例の両方において、マスキングしきい値の計算は、符号化する信号が音声的でない際に特に有利である。
【0134】
信号が音声的である場合は、広がり関数B(ν)の適用は、少し広い周波数の広がりを有する音声に非常に近いマスキングしきい値を生じさせる。従って、符号化ノイズ対マスク比を最小化する割り当て基準は、非常に適度なビット割り当てを与える。第2実施例による高帯域信号の直接的重み付けにも同じことが当てはまる。従って、音声的な信号に対しては、エネルギー基準によるビット割り当てを用いることが好ましい。従って、本発明は、符号化する信号が音声的でない場合のみに適用することが好ましい。
【0135】
従って、一般的意味では、符号化する信号が音声的であるか音声的でないかの情報が(ブロック305から)得られ、マスキングしきい値の決定及び正規化による高帯域の知覚的重み付けは、信号が音声的でない場合のみに実行する。
【0136】
ここで、規格G.729.1によるエンコーダにおけるこの見解の実現を説明する。スペクトル包絡線(特に図3のブロック305)の符号化モードに関係するビットは、「差分ハフマン」モードまたは「直接的な自然バイナリ(2進数)」モードを示す。このモードビットは音声的であることの検出として解釈することができる、というのは一般に、音声的な信号は「直接的な自然バイナリ」によるエンベロープ符号化をもたらすのに対し、より限定されたスペクトル力を有する非音声的信号の大部分は「差分ハフマン」モードによるエンベロープ符号化をもたらすからである。
【0137】
従って、本発明を実現するか実現しないためには、「信号が音声的であることの検出」から有益な情報を得ることができる。特に本発明は、スペクトル包絡線を「差分ハフマン」モードで符号化した場合に適用され、従って知覚的重要度は、本発明の意図する範囲内では次式のように定義される:
【数25】
【0138】
他方では、エンベロープ(包絡線)を「直接的な自然バイナリ」に符号化した場合は、知覚的重要度は、次式のように規格G.729.1に規定された通りのままである:
【数26】
【0139】
第2実施例では、図9Aのモジュール904は、スペクトル包絡線を計算することによって信号が音声的であるか否かを判定することができ、従って、音声的でない場合はブロック905をバイパス(迂回)する。同様に、図9Bに記載する実施例については、モジュール904は信号が音声的であるか否かを判定することを可能にし、従って音声的でなければブロック907をバイパスする。
【0140】
ここで、特に超広帯域(スーパーワイドバンド)における、G.729.1エンコーダへの本発明の可能な応用を説明する。
【0141】
図11は、超広帯域符号化の場合における(図8に記載した)マスキング曲線の正規化を一般化したものである。この実施例では、50Hz〜14kHzの有広帯域については信号を(16kHzの代わりに)32kHzでサンプリングする。従って、マスキング曲線log2[M(j)]は少なくとも7〜14kHzの範囲のサブバンドについて定義される。
【0142】
実際には、50Hz〜14kHzの帯域をカバーするスペクトルはサブバンドによって符号化され、各サブバンドへのビット割り当ては、G.729.1エンコーダにおけるようにスペクトル包絡線に基づいて実現される。この場合は、前述したように部分的マスキングしきい値を計算することができる。
【0143】
従って、マスキングしきい値の正規化も、図11に示すように、高帯域がより多数のサブバンドから成るか、規格G.729.1より広い周波数ゾーンをカバーする場合に一般化される。
【0144】
図11を参照すれば、50Hz〜4kHzの低帯域にわたって、時間的に重み付けした差信号に第1変換を適用する。4〜7kHzにわたる第1高帯域の信号には第2変換T2を適用し、7〜14kHzにわたる第2高帯域の信号には第3変換T3を適用する。
【0145】
従って、本発明は16kHzでサンプリングした信号に限定されないことは明らかである。本発明の実現は、規格G.729.1によるエンコーダの、上述したようにもはや16kHzではなく32kHzでサンプリングした信号への拡張のような、より高周波数でサンプリングした信号にとっても特に有利である。TDAC符号化をこうした周波数帯域(現在の50Hz〜7kHzの代わりに50Hz〜14kHz)に一般化した場合は、本発明によって達成される利点は多大である。
【0146】
実際には、4〜14kHzの周波数範囲では、標準偏差の基準の制限は現実には許容外になり、準最適なままのビット割り当てのためには、本発明の意図する範囲内の周波数マスキングを用いた知覚的重み付けが非常に有利であることがわかる。
【0147】
従って、本発明はTDAC符号化を改善することにも関係し、この改善は特に、帯域間のスペクトル連続性を保証しつつ、拡張した高帯域(4〜14kHz)の知覚的重み付けを適用することにより、この基準は、第1の低帯域及び14kHzまで拡張した第2の高帯域の同時符号化にとって重要である。
【0148】
常に低帯域を知覚的に重み付けする実施例を上述した。この実施例が本発明の実現にとって必須であるということは全くない。変形例では、階層コーダを第1周波数帯域内のコアコーダで実現し、このコアコーダに関連するエラー信号を、第1周波数帯域内の知覚的重み付けなしに直接変換して、第2周波数帯域内の変換した信号と同時に符号化する。例として、原信号を16kHzでサンプリングして、適切なQMF型のフィルタバンクによって(0から4000Hzまで、及び4000から8000Hzまでの)2つの周波数帯域に分割することができる。こうした実施例では、コーダは一般に、(PCM圧縮付きの)規格G.711によるコーダとすることができる。この変換符号化は次の信号に対して実行することができる:
第1周波数帯域(0〜4000Hz)内では、原信号とG.711合成信号との差信号;
第2周波数帯域(4000〜8000Hz)では、本発明により周波数領域内で知覚的に重み付けした原信号。
【0149】
従って、この実施例では、低帯域内の知覚的重み付けは、本発明の適用にとって必要ではない。
他の変形例では、原信号を32kHzでサンプリングして、適切なQMF型のフィルタバンクによって(0から8000Hzまで、及び8000から16000Hzまでの)2つの周波数帯域に分割する。ここでは、コーダは規格G.722(2つのサブバンド内のADPCM圧縮)によるコーダとすることができ、変換符号化は次の信号に対して実行する:
第1周波数帯域(0〜8000Hz)内では、原信号とG.122合成信号との差信号;
第2周波数帯域(4000〜8000Hz)に限定された周波数領域内では、これも本発明により周波数領域内で知覚的に重み付けした原信号。
【0150】
最後に、本発明は、通信端末のコーダのメモリに記憶され、及び/またはこのコーダのリーダ(読取り器)と協働することを意図した記憶媒体上に記憶された第1ソフトウェアプログラムにも関するものであることを示しておく。従って、この第1プログラムは、当該命令をプロセッサまたはコーダによって実行した際に上述した符号化方法を実現するための命令を具えている。
【0151】
本発明は、この第1ソフトウェアプログラムを記憶する少なくとも1つのメモリを具えたコーダにも関するものである。
【0152】
なお、図6、9A及び9Bは、異なる実施例及び変形例による、第1ソフトウェアプログラムのフローチャートを構成することができるか、あるいはこうしたコーダの構造を例示することもできることは明らかである。
【0153】
本発明は、通信端末のデコーダのメモリに記憶され、及び/またはこのデコーダのリーダと協働することを意図した記憶媒体上に記憶された第2プログラムにも関するものである。従って、この第2プログラムは、当該命令をプロセッサまたはコーダによって実行した際に上述した復号化方法を実現するための命令を具えている。
【0154】
本発明は、この第2ソフトウェアプログラムを記憶する少なくとも1つのメモリを具えたデコーダにも関するものである。
【0155】
なお、図7、10A及び10Bは、異なる実施例及び変形例による、第2ソフトウェアプログラムのフローチャートを構成することができるか、あるいはこうしたデコーダの構造を例示することもできることは明らかである。
【特許請求の範囲】
【請求項1】
信号を複数のサブバンドに符号化する方法であって、前記サブバンドのうち、互いに隣接する第1サブバンド及び第2サブバンドを変換符号化する(601,602;901,902)方法において、
前記変換符号化における変換領域内で、少なくとも前記第2サブバンドに知覚的重み付けを適用するために、前記方法が、
前記第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を決定する(606;905;906b)ステップと;
前記マスキングしきい値を正規化して、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するステップと
を具えていることを特徴とする信号の符号化方法。
【請求項2】
前記サブバンドの各々に割り当てるビット数をスペクトル包絡線に基づいて決定し、少なくとも前記第2サブバンドに対するビット割り当て(607)をさらに、少なくとも前記第2サブバンドに適用される正規化したマスキング曲線の計算値(606)の関数として決定することを特徴とする請求項1に記載の方法。
【請求項3】
前記符号化を3つ以上のサブバンドに対して実行し、前記第1サブバンドが第1スペクトル帯域内に含まれ、前記第2サブバンドが第2スペクトル帯域内に含まれ、指標jの前記サブバンド毎に、サブバンド当たりのビット数nbit(j)を、次の関係式:
jが前記第1スペクトル帯域内の指標である場合は、ip(j)=(1/2)rms_index(j)、
jが前記第2スペクトル帯域内の指標である場合は、ip(j)=(1/2)[rms_index(j)−log_mask(j)], log_mask(j)=log2(M(j))−normfac、
に基づいて計算した知覚的重要度ip(j)に応じて与え、ここに、
rms_index(j)は、サブバンドjについて、エンベロープの符号化から生じた量子化値であり、
M(j)は、指標jの前記サブバンド用のマスキングしきい値であり、
normfacは、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するための正規化係数である
ことを特徴とする請求項2に記載の方法。
【請求項4】
変換符号化した前記第2サブバンド内の信号を、前記第2サブバンド用の前記正規化したマスキングしきい値の平方根に比例する係数によって重み付けする(905)ことを特徴とする請求項1に記載の方法。
【請求項5】
前記符号化を3つ以上の前記サブバンドに対して実行し、前記第1サブバンドが第1スペクトル帯域内に含まれ、前記第2サブバンドが第2スペクトル帯域内に含まれ、重み付け値
を符号化し(906)、ここに、M(j)は、前記第2スペクトル帯域内に含まれる指標jのサブバンド用の前記正規化したマスキングしきい値である
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記変換符号化を、階層コーダ内の上層(110)において実行し、
前記第1サブバンドが、前記階層コーダのコア符号化(105)から生じた信号
を含み、
前記第2サブバンドが原信号(SHB)を含む
ことを特徴とする請求項1〜5のいずれかに記載の方法。
【請求項7】
前記コア符号化から生じた信号
を知覚的に重み付けする(600;900)
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記コア符号化から生じた信号
が、原信号とこの原信号の合成信号との差を表す信号であることを特徴とする請求項6及び7に記載の方法。
【請求項9】
前記変換符号化が、規格G.729.1による総合コーダにおけるTDAC型の変換符号化であり、前記第1サブバンドが低周波帯域(T1)内に含まれ、前記第2サブバンドが高周波帯域内に含まれることを特徴とする請求項6〜8のいずれかに記載の方法。
【請求項10】
前記高周波帯域が、少なくとも(T3)7000Hz(T2)までに及ぶことを特徴とする請求項9に記載の方法。
【請求項11】
スペクトル包絡線を計算し(604;904)、1つの前記サブバンド用の前記マスキングしきい値が、
前記スペクトル包絡線の表現式と、
当該サブバンドの中心周波数を含む広がり関数と
の畳み込みによって定義されることを特徴とする請求項1〜10のいずれかに記載の方法。
【請求項12】
符号化する信号が音声的であるか音声的でないかを表す情報(305)を得て、前記マスキングしきい値を決定して正規化した前記第2サブバンドの前記知覚的重み付けを、前記信号が音声的でない場合のみに実行することを特徴とする請求項1〜11のいずれかに記載の方法。
【請求項13】
複数のサブバンドの信号を復号化する方法であって、互いに隣接する少なくとも第1サブバンド及び第2サブバンドを変換復号化する(709,711;1007,1009)方法において、
前記第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を、復号化したスペクトル包絡線に基づいて決定する(702;1001;10111b)ステップと;
前記マスキングしきい値を正規化して、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するステップと
を具えていることを特徴とする信号の復号化方法。
【請求項14】
前記サブバンドの各々に割り当てる(703)ビット数を、スペクトル包絡線の復号化(701)によって決定し、少なくとも前記第2サブバンドに対するビット割り当て(703)をさらに、少なくとも前記第2サブバンドに適用される正規化したマスキング曲線の計算(702)により決定することを特徴とする請求項13に記載の方法。
【請求項15】
変換符号化された前記第2サブバンド内の信号を、前記第2サブバンド用の前記正規化したマスキングしきい値の平方根に比例する係数によって重み付けする(1004)ことを特徴とする請求項13に記載の方法。
【請求項16】
通信端末のコーダのメモリに記憶され、及び/または、前記コーダのリーダと協働することを意図した記憶媒体上に記憶されたソフトウェアプログラムであって、
前記コーダのプロセッサによって実行された際に請求項1〜12のいずれかに記載の符号化方法を実現するための命令を具えていることを特徴とするソフトウェアプログラム。
【請求項17】
請求項16に記載のソフトウェアプログラムを記憶する少なくとも1つのメモリを具えていることを特徴とするコーダ。
【請求項18】
通信端末のデコーダのメモリに記憶され、及び/または、前記デコーダのリーダと協働することを意図した記憶媒体上に記憶されたソフトウェアプログラムであって、
前記デコーダのプロセッサによって実行された際に請求項13〜15のいずれかに記載の復号化方法を実現するための命令を具えていることを特徴とするソフトウェアプログラム。
【請求項19】
請求項18に記載のソフトウェアプログラムを記憶する少なくとも1つのメモリを具えていることを特徴とするデコーダ。
【請求項1】
信号を複数のサブバンドに符号化する方法であって、前記サブバンドのうち、互いに隣接する第1サブバンド及び第2サブバンドを変換符号化する(601,602;901,902)方法において、
前記変換符号化における変換領域内で、少なくとも前記第2サブバンドに知覚的重み付けを適用するために、前記方法が、
前記第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を決定する(606;905;906b)ステップと;
前記マスキングしきい値を正規化して、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するステップと
を具えていることを特徴とする信号の符号化方法。
【請求項2】
前記サブバンドの各々に割り当てるビット数をスペクトル包絡線に基づいて決定し、少なくとも前記第2サブバンドに対するビット割り当て(607)をさらに、少なくとも前記第2サブバンドに適用される正規化したマスキング曲線の計算値(606)の関数として決定することを特徴とする請求項1に記載の方法。
【請求項3】
前記符号化を3つ以上のサブバンドに対して実行し、前記第1サブバンドが第1スペクトル帯域内に含まれ、前記第2サブバンドが第2スペクトル帯域内に含まれ、指標jの前記サブバンド毎に、サブバンド当たりのビット数nbit(j)を、次の関係式:
jが前記第1スペクトル帯域内の指標である場合は、ip(j)=(1/2)rms_index(j)、
jが前記第2スペクトル帯域内の指標である場合は、ip(j)=(1/2)[rms_index(j)−log_mask(j)], log_mask(j)=log2(M(j))−normfac、
に基づいて計算した知覚的重要度ip(j)に応じて与え、ここに、
rms_index(j)は、サブバンドjについて、エンベロープの符号化から生じた量子化値であり、
M(j)は、指標jの前記サブバンド用のマスキングしきい値であり、
normfacは、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するための正規化係数である
ことを特徴とする請求項2に記載の方法。
【請求項4】
変換符号化した前記第2サブバンド内の信号を、前記第2サブバンド用の前記正規化したマスキングしきい値の平方根に比例する係数によって重み付けする(905)ことを特徴とする請求項1に記載の方法。
【請求項5】
前記符号化を3つ以上の前記サブバンドに対して実行し、前記第1サブバンドが第1スペクトル帯域内に含まれ、前記第2サブバンドが第2スペクトル帯域内に含まれ、重み付け値
を符号化し(906)、ここに、M(j)は、前記第2スペクトル帯域内に含まれる指標jのサブバンド用の前記正規化したマスキングしきい値である
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記変換符号化を、階層コーダ内の上層(110)において実行し、
前記第1サブバンドが、前記階層コーダのコア符号化(105)から生じた信号
を含み、
前記第2サブバンドが原信号(SHB)を含む
ことを特徴とする請求項1〜5のいずれかに記載の方法。
【請求項7】
前記コア符号化から生じた信号
を知覚的に重み付けする(600;900)
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記コア符号化から生じた信号
が、原信号とこの原信号の合成信号との差を表す信号であることを特徴とする請求項6及び7に記載の方法。
【請求項9】
前記変換符号化が、規格G.729.1による総合コーダにおけるTDAC型の変換符号化であり、前記第1サブバンドが低周波帯域(T1)内に含まれ、前記第2サブバンドが高周波帯域内に含まれることを特徴とする請求項6〜8のいずれかに記載の方法。
【請求項10】
前記高周波帯域が、少なくとも(T3)7000Hz(T2)までに及ぶことを特徴とする請求項9に記載の方法。
【請求項11】
スペクトル包絡線を計算し(604;904)、1つの前記サブバンド用の前記マスキングしきい値が、
前記スペクトル包絡線の表現式と、
当該サブバンドの中心周波数を含む広がり関数と
の畳み込みによって定義されることを特徴とする請求項1〜10のいずれかに記載の方法。
【請求項12】
符号化する信号が音声的であるか音声的でないかを表す情報(305)を得て、前記マスキングしきい値を決定して正規化した前記第2サブバンドの前記知覚的重み付けを、前記信号が音声的でない場合のみに実行することを特徴とする請求項1〜11のいずれかに記載の方法。
【請求項13】
複数のサブバンドの信号を復号化する方法であって、互いに隣接する少なくとも第1サブバンド及び第2サブバンドを変換復号化する(709,711;1007,1009)方法において、
前記第2サブバンドに適用する少なくとも1つの周波数マスキングしきい値を、復号化したスペクトル包絡線に基づいて決定する(702;1001;10111b)ステップと;
前記マスキングしきい値を正規化して、前記第1サブバンドと前記第2サブバンドとの間のスペクトル連続性を保証するステップと
を具えていることを特徴とする信号の復号化方法。
【請求項14】
前記サブバンドの各々に割り当てる(703)ビット数を、スペクトル包絡線の復号化(701)によって決定し、少なくとも前記第2サブバンドに対するビット割り当て(703)をさらに、少なくとも前記第2サブバンドに適用される正規化したマスキング曲線の計算(702)により決定することを特徴とする請求項13に記載の方法。
【請求項15】
変換符号化された前記第2サブバンド内の信号を、前記第2サブバンド用の前記正規化したマスキングしきい値の平方根に比例する係数によって重み付けする(1004)ことを特徴とする請求項13に記載の方法。
【請求項16】
通信端末のコーダのメモリに記憶され、及び/または、前記コーダのリーダと協働することを意図した記憶媒体上に記憶されたソフトウェアプログラムであって、
前記コーダのプロセッサによって実行された際に請求項1〜12のいずれかに記載の符号化方法を実現するための命令を具えていることを特徴とするソフトウェアプログラム。
【請求項17】
請求項16に記載のソフトウェアプログラムを記憶する少なくとも1つのメモリを具えていることを特徴とするコーダ。
【請求項18】
通信端末のデコーダのメモリに記憶され、及び/または、前記デコーダのリーダと協働することを意図した記憶媒体上に記憶されたソフトウェアプログラムであって、
前記デコーダのプロセッサによって実行された際に請求項13〜15のいずれかに記載の復号化方法を実現するための命令を具えていることを特徴とするソフトウェアプログラム。
【請求項19】
請求項18に記載のソフトウェアプログラムを記憶する少なくとも1つのメモリを具えていることを特徴とするデコーダ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図10A】
【図10B】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図10A】
【図10B】
【図11】
【図12】
【公表番号】特表2010−518422(P2010−518422A)
【公表日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2009−547737(P2009−547737)
【出願日】平成20年1月30日(2008.1.30)
【国際出願番号】PCT/FR2008/050150
【国際公開番号】WO2008/104663
【国際公開日】平成20年9月4日(2008.9.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】
【公表日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願日】平成20年1月30日(2008.1.30)
【国際出願番号】PCT/FR2008/050150
【国際公開番号】WO2008/104663
【国際公開日】平成20年9月4日(2008.9.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】
[ Back to top ]