(57)【要約】  本発明は、デジタルオーディオ信号を符号化/復号化するための、CELP励振ベクトルの改善された辞書を構築することを目的とする。通常、次元Nのそれぞれのベクトルは、N個の有効な位置を占有することができるパルスを含む。本発明は、基本パターンを形成する共通パルス列を形成し、前記N個の有効な位置のうちの1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、辞書のそれぞれの励振ベクトルに基本パターンを割り当てることにより特定の構造を持つ辞書を構築することに関係する。本発明は、さらに、合併または総和またはカスケード配列により、適宜標準的な多目的辞書を用いてそのように構築された辞書の組合せにも関係する。
2009527784.tif 000002
【特許請求の範囲】
【請求項１】
デジタルオーディオ信号を符号化/復号化するために、次元NのそれぞれのベクトルがN個の有効な位置を占有しうるパルスを含むCELPタイプの励振ベクトルの符号帳を構築する方法であって、
初期符号帳は、
-基本パターンを形成する共通パルス列を供給するステップと、
-前記N個の有効な位置から1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、前記符号帳のそれぞれの励振ベクトルに前記基本パターンを割り当てるステップとにより構築されることを特徴とする方法。
【請求項２】
励振ベクトルにおいてそれぞれの出現に現れる前記基本パターンは、前記出現に関連付けられている振幅を掛け合わされることを特徴とする請求項1に記載の方法。
【請求項３】
出現に関連付けられている前記振幅は、値+1および-1を含む集合から選択されることを特徴とする請求項2に記載の方法。
【請求項４】
前記初期符号帳の前記ベクトルすべてが、前記パターンの同一の数の出現を含むことを特徴とする請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記初期符号帳は、
-前記基本パターンを形成するパルス列と、
-それぞれのベクトル内の前記パターンの出現の数と、
-前記パターンの前記出現に許されている位置の集合と、
-前記パターンの前記出現に関連付けられる振幅の集合とにより定義されることを特徴とする請求項4に記載の方法。
【請求項６】
ベクトルのブロックエッジのところに現れる前記パターンは、切り捨てが行われ、前記切り捨てされたパターンの残りのパルスは、前記ブロックの先頭または末尾を占有することを特徴とする請求項1から5のいずれか一項に記載の方法。
【請求項７】
ベクトルのそれぞれのブロック内の前記パターンについて受理される前記位置のうち、前記パターン位置は、前記パターンが少なくとも部分的に重なり合うような位置であること、および重なり合う前記パターンの前記パルスは、1つずつ加えられることを特徴とする請求項1から6のいずれか一項に記載の方法。
【請求項８】
グローバル符号帳は、基本符号帳の総和により構築され、前記基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳であること、および前記グローバル符号帳の前記ベクトルは、前記基本符号帳の前記ベクトルの共通位置パルスを加えることにより形成されることを特徴とする請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記基本符号帳の前記ベクトルは、前記総和を構築するために、それぞれ符号帳に関連付けられている利得により重み付けされることを特徴とする請求項8に記載の方法。
【請求項１０】
グローバル符号帳は、基本符号帳の合併により構築され、前記基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳であること、および前記グローバル符号帳は、すべての前記基本符号帳のすべての前記ベクトルを含むことを特徴とする請求項1から7のいずれか一項に記載の方法。
【請求項１１】
前記合併または前記総和に関わる前記符号帳のうちの少なくとも1つは、ACELPタイプであることを特徴とする請求項8から10のいずれか一項に記載の方法。
【請求項１２】
前記構築された符号帳は、ACELP符号帳のパルス位置の集合として構成された集合を記述する受理されたパターン位置を含むことを特徴とする請求項1から11のいずれか一項に記載の方法。
【請求項１３】
前記基本パターンは、少なくとも1つの中央パルスを含み、前記中央パルスの前後に前記中央パルスの符号と反対の符号を持つ少なくとも1つのパルスが配置されることを特徴とする請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記パターンは、3つのパルス、つまり、
-中央パルスと、
-前記中央パルスの前に来る第2のパルスと、
-前記中央パルスの後に続く第3のパルスとを含み、
前記第2のパルスと前記第3のパルスの符号は前記中央パルスの符号の反対であり、
前記第2のパルスと前記第3のパルスの振幅は、絶対値として、前記中央パルスの振幅よりも小さいことを特徴とする請求項13に記載の方法。
【請求項１５】
前記第1および第2のパルスの前記振幅は、絶対値として、0から前記中央パルスの前記振幅の約半分までの範囲で可変であることを特徴とする請求項14に記載の方法。
【請求項１６】
請求項1から15のいずれか一項に記載の符号帳を構築する前記方法を実装する命令を含むコンピュータプログラム。
【請求項１７】
デジタルオーディオ信号を符号化/復号化するための、CELPタイプの励振ベクトルの符号帳であって、
N個の有効な位置のうちの1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、基本パターンを形成する、共通パルス列を含む次元Nの励起ベクトルを含むことを特徴とするCELPタイプの励振ベクトルの符号帳。
【請求項１８】
請求項17に記載の少なくとも1つの符号帳を備える、デジタルオーディオ信号を符号化/復号化するデバイス。
【請求項１９】
請求項1から15のいずれか一項に記載の前記方法を実装することにより得られる少なくとも1つの初期符号帳を含む複数のカスケード配列された符号帳を備えることを特徴とする請求項18に記載のデバイス。
【請求項２０】
前記カスケード配列されている符号帳の前記ベクトルにおける前記パターンおよび/または前記パルスの前記位置は、同一の集合を記述し、パターンの前記位置は前記パターンを形成する前記パルス列内の中央パルスの前記位置により実質的に識別されることを特徴とする請求項19に記載のデバイス。
【請求項２１】
請求項13から15のいずれか一項に記載の前記方法を実装することにより構築された、符号帳の前記カスケード内で後に続く、初期符号帳を備えることを特徴とする請求項19から20のいずれか一項に記載のデバイス。
【請求項２２】
前記後続の符号帳における探索のため、最適な励振ベクトルの前記探索の際に前記符号化に明らかに関わっているグローバル知覚重み付けフィルタの高域フィルタリング機能を備えることを特徴とする請求項21に記載のデバイス。
【請求項２３】
前記符号化の際に、前記初期符号帳内の最良候補ベクトルを決定した後、少なくとも
-前記最良候補ベクトル内の前記基本パターンの1つまたは複数の前記位置の指示と、
-前記パターンの1つまたは複数の前記位置に関連する1つまたは複数の前記振幅の指示を含む指数が形成され、
前記指数は後続の復号化のために伝送されることが意図されている、デジタルオーディオ信号を符号化/復号化するための請求項18から22のいずれか一項に記載の前記デバイスの使用。
【請求項２４】
前記復号化の際に、前記最良の潜在的候補は、前記指数から、
-前記指数により示されている前記位置に前記基本パターンを位置決めすることにより、
-関連する振幅をそれぞれの位置における前記パターンに掛け合わせることにより、
-および、前記示されている位置に位置決めされた前記掛け合わされたパターンを足し合わせることにより再構築される請求項23に記載の使用。
【請求項２５】
前記デバイスは、請求項9に記載の前記方法の実装に従って、前記利得重み付け符号帳の総和により得られる単一のグローバル符号帳を構築することになる複数の符号帳のカスケード配列を備える請求項23および24のいずれか一項に記載の使用。
【請求項２６】
前記カスケード配列された符号帳は、現在の符号帳について、階層符号化構造を与える、少なくとも1つの先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる請求項25に記載の使用。
【請求項２７】
符号帳内の潜在的最良励振ベクトルの前記探索は、
-LPC合成フィルタと知覚フィルタとの乗算の結果として得られるフィルタのインパルス応答と前記符号帳の前記基本パターンとの畳み込みを計算して、畳み込みフィルタベクトルを得るステップと、
-潜在的ターゲットベクトルと前記畳み込みフィルタベクトルとの間の相互相関ベクトルの要素を計算するステップと、
-前記畳み込みフィルタベクトルの自己相関行列の要素を計算するステップと、
-分子が前記相互相関ベクトルの前記要素を伴い、分母が前記自己相関行列の前記要素を伴う比の最大化として表されるCELP基準を使用して前記最良候補ベクトルの探索を実行するステップとを含むCELP基準の推定により実行される請求項23から26のいずれか一項に記載の使用。
【請求項２８】
前記探索は、請求項6に記載の前記方法を実装することにより得られる符号帳において実行され、少なくとも1つのブロックエッジにおいて前記基本パターンの切り捨てを考慮して、必要に応じて、前記相互相関ベクトルの要素および/または前記行列の要素が補正される請求項27に記載の使用。
【請求項２９】
請求項23から28のいずれか一項に記載の使用を実行するための命令を含む、デジタルオーディオ信号符号化/復号化デバイスを対象とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、「CELP」(符号励振線形予測)技術を使用する、デジタルオーディオ信号の符号化/復号化に関する。
【背景技術】
【０００２】
このような信号の圧縮モード符号化は、信号の伝送または信号の格納に必要な場合がある。信号は、音声信号または、より一般的には、デジタル化された音響信号であってよい。より具体的には、本発明は、以下のことを行う予測符号化技術に関する。
-合成フィルタ(「LPC」フィルタと呼ばれ、LPCは「線形予測符号化」の略である)を推定するために、入力信号の短期予測が最初に実行される。
-次いで、LPCフィルタによる元の信号のフィルタリングにより得られる残留信号が、モデル化され(再構成された信号を生成するためにフィルタリングを使用するいわゆる「励振」信号により)、符号化される。
【特許文献１】米国特許第6,029,125号
【非特許文献１】「Code-Excited Linear Production (CELP): High Quality Speech at Very Low Bit Rates」、B.S. Atal and M.R. Schroeder、ICASSP、1985年、937〜940頁
【非特許文献２】「Fast CELP coding based on algebraic codes」、J.P. Adoul、P. Mabilleau、M. Delprat、S. Morissette、ICASSP 1987年、1957〜1960頁
【非特許文献３】ITU-T勧告G.729(「Coding of Speech at 8 Kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)」、1996年3月)
【非特許文献４】ITU-T勧告G.729、「Annex A: Reduced complexity 8 Kbit/s CS-ACELP speech codec」、1996年11月
【発明の開示】
【発明が解決しようとする課題】
【０００３】
より具体的には、本発明は、一組の候補信号から励起信号を、知覚的重み付けを導入することで、この信号により励起された合成フィルタの出力を元の信号と比較することにより選択する、CELP(符号励振線形予測)符号器のファミリに関するものである。このような符号器は、6から24Kビット/sのビットレートの音声信号の符号化に広く使用されており、とりわけITU-T G.729、GSM-EFR、3GPP/WB-AMR標準において採用されている。
【０００４】
本発明は、以下で詳細に説明されている階層符号化システムにおいて有利に適用可能であり、それに関して、品質を高めるために基本レイヤとその後に続く補助レイヤによりビットストリームが形成される。
【課題を解決するための手段】
【０００５】
CELP符号器の概要図が図1に示されている。図2は、関連する復号器を示している。
【０００６】
このタイプの符号器/復号器に関する詳細は、特に以下の基本参考文献において説明されている。
「Code-Excited Linear Production (CELP): High Quality Speech at Very Low Bit Rates」、B.S. Atal and M.R. Schroeder、ICASSP、1985年、937〜940頁。
【０００７】
図1に示されているように、この符号器は、入力信号S(n)を複数のサンプルブロックつまり「フレーム」(典型的には信号の10から20msのオーダーの)にセグメント分割する。そこで、短期線形予測フィルタのパラメータを推定し、量子化するために、LPC分析10が実行される。ほとんどの場合において、次に、以下の2つの符号帳を使用して励振信号exc(z)が実行される。
-倍音の周期性をモデル化することを目的とする適応符号帳DICa、および
-非調和部および非有声音に対するいわゆる「固定」符号帳DICf。
【０００８】
本発明は、主に「固定」符号帳DICfを対象とするが、適応符号帳DICaに関係するものは、好ましくは、以下では取り扱われない。
【０００９】
励振信号のモデル化は、一般に、典型的には5msのオーダーの信号サブフレームに対応するサンプルブロックについて実行される。これ以降、N個のサンプルからなる信号サブフレームの場合について考察する(例えば、8kHzのサンプリング周波数でN=40サンプル)。このような符号器において、符号帳内の最適な符号語(「ベクトル符号」または「波形」とも呼ばれる)の選択は、
【００１０】
【数１】
2009527784.tif 000003
【００１１】
というタイプの関係式により表される、知覚的重み付け誤り信号のエネルギーを最小化することにより実行されるが、ただし、表記
【００１２】
【数２】
2009527784.tif 000004
【００１３】
は、それぞれ重み付き誤り信号、符号化される原信号、および再構成信号のz変換を表す。
【００１４】
フィルタW(z)は、知覚的重み付けフィルタ11である(これは従来LPC分析フィルタを示すタイプ
【００１５】
【数３】
2009527784.tif 000005
【００１６】
であり、因数γ1およびγ2は知覚的重み付け度を調節する)。
【００１７】
重み付き誤り信号E(z)は、タイプ
【００１８】
【数４】
2009527784.tif 000006
【００１９】
の関係式により表すことができるが、ただし、
-1/Aq(z)は、LPC合成フィルタ12に対応し、
-res(z)は、LPC残留信号であり、
-exc(z)は、
【００２０】
【数５】
2009527784.tif 000007
【００２１】
により定義された励振信号である。
【００２２】
信号excpast(n)およびexccurrent(n)は、それぞれ、通過した励振信号(現在のブロック上でゼロ信号)および現在の励振信号(ゼロメモリ信号)を表す。
【００２３】
したがって、該当するそれぞれの利得
【００２４】
【数６】
2009527784.tif 000008
【００２５】
および
【００２６】
【数７】
2009527784.tif 000009
【００２７】
が、適応符号帳DICaおよび固定符号帳DICfの出力における信号
【００２８】
【数８】
2009527784.tif 000010
【００２９】
および
【００３０】
【数９】
2009527784.tif 000011
【００３１】
に適用される。次いで、これらの信号を足し合わせて、励振信号exc(n)を得る。
【００３２】
より具体的には、図1の実施例では、信号
【００３３】
【数１０】
2009527784.tif 000012
【００３４】
が定義されており、それに対しz変換
【００３５】
【数１１】
2009527784.tif 000013
【００３６】
は、タイプ
【００３７】
【数１２】
2009527784.tif 000014
【００３８】
の関係式により過去の励振の予測を表す。
【００３９】
なお従来、複合フィルタ
【００４０】
【数１３】
2009527784.tif 000015
【００４１】
および「フィルタ処理されたターゲット信号」が、タイプ
x(z)=H(z)(res(z)-excpast(z))
の関係式により定義されている。
【００４２】
重み付き誤り信号について、これらの関係式から得られるのは、タイプ
E(z)=x(z)-H(z)×exccurrent(z)
の式である。
【００４３】
次いで、CELP最小化基準(後続のモジュール13および14)が、波形{c(n);0 ≦ n ≦ N-1}に対する符号帳内の探索により表されるが、これは量
【００４４】
【数１４】
2009527784.tif 000016
【００４５】
を最小にし、あるいはさらには、比
【００４６】
【数１５】
2009527784.tif 000017
【００４７】
を
【００４８】
【数１６】
2009527784.tif 000018
【００４９】
で最小にする。
【００５０】
要素{h(n)}は、フィルタHのインパルス応答を表す(上の関係式(1)により定義されている)。
【００５１】
一般に、フィルタHは因果的である、つまり、n<0であるnについて要素h(n)はゼロであると考えられる。しかし、これ以降、n<0であるnについて要素h(n)の全部または一部が非ゼロとなりうる、より一般的なケースが想定される。
【００５２】
従来、「Fast CELP coding based on algebraic codes」、J.P. Adoul、P. Mabilleau、M. Delprat、S. Morissette、ICASSP 1987年、1957〜1960頁で説明されているいわゆる逆方向フィルタリング技術を使用し、分子に対し、0からN-1の範囲のkについて
【００５３】
【数１７】
2009527784.tif 000019
【００５４】
【数１８】
2009527784.tif 000020
【００５５】
として、すべてのベクトルに共通の要素(特にターゲットベクトルとフィルタH(z)との間の相関)を予め計算することができる。
【００５６】
同様に、符号帳の探索前にフィルタH(z)の自己相関を計算し、それを利用して分母の計算を、
【００５７】
【数１９】
2009527784.tif 000021
【００５８】
として高速化することが可能であるが、ただし、0からN-1の範囲のkおよびk'について
【００５９】
【数２０】
2009527784.tif 000022
【００６０】
である。
【００６１】
選択されたベクトル符号に関連付けられた最適な利得が量子化される。量子化指数および選択されたベクトル符号に関連付けられた指数は、(電気通信ネットワークを介して)伝送されるか、または単に記憶媒体に格納され、その後伝送される。次いで、これらの指数に基づき、復号化が実行できる。
【００６２】
復号化において、図2に示されているように、それぞれの利得
【００６３】
【数２１】
2009527784.tif 000023
【００６４】
が、復号化され、それぞれ選択されたベクトル符号の指数
【００６５】
【数２２】
2009527784.tif 000024
【００６６】
を使用して、それぞれの成分要素を取り出し、励振信号を再構成し、次いで再構成信号を再構成することができる(後続のモジュール21および22)。
【００６７】
励振符号帳の選択は、ビットレート、品質(または与えられたビットレートの効率)、および複雑度の制約条件により決まる。ビットレートが制限されている場合、符号化すべき信号について良好な再現品質を得ることは困難である。複雑度も重要な因子である。あらゆる通信アプリケーションにおいて、リアルタイムという制約条件が、計算時間に制限を課している。文献において提案されている第1のCELP符号帳は、ランダムに引かれたベクトル符号により形成されており、これが、符号帳のそれぞれのベクトルに対する基準の分子と分母の計算を強いる。そのため、最良の符号語の探索はひどく複雑なものとなった。
【００６８】
次いで、最適な波形の探索を高速化するために、構造化された符号帳が提案され、この場合、いくつかの探索計算は、符号帳の構造によりベクトル間にもたらされる関係式を使用して、異なる入力信号について1回だけ実行される(または「共通計算」)。構造化された符号帳の最もポピュラーなカテゴリの1つは、代数的符号により、またはさらには正則であろうとなかろうと点の配列(典型的にはGosset配列)に従って、位置が定義されたパルスからなる、代数的符号帳のファミリである。このような符号帳を代表する最も標準的なものは、ACELP(「Algebraic CELP(代数的CELP)」の略)という名前で知られている。これらの構造化された符号帳により、符号語の格納を回避することが可能になるが、これは、ベクトル符号の要素をその指数から計算することを可能にする全単射関係である。
【００６９】
さらに、これらの符号帳は、次善ではあるが、非常に効果的な集中探索アルゴリズムにより加速される高速探索をもたらした。したがって、マルチパルス符号帳について、上で定義されている分子と分母の式は、そのような符号帳のベクトルがkを0からK-1までの数とする振幅sk(これらの振幅は実際には、しばしば単純な正負に単純化される)のK個のパルスからなると仮定した場合に簡素化され、
【００７０】
【数２３】
2009527784.tif 000025
【００７１】
および
【００７２】
【数２４】
2009527784.tif 000026
【００７３】
となるが、ただし、akおよびaiは、パルスが出現する位置を表す。
【００７４】
しかし、これらの符号帳は、ビットレート制約条件がそのサイズを制限する場合に、コンテンツのリッチネスのある種の不足を生じるという欠点を持つ。パルスは、より少なくなり、このため、かなりスパースになる。そこで「スパース符号帳」という用語が適用される。すべての非ゼロサンプルは、同じ振幅を有し、ごくわずかのパルスでブロックのサンプル間の振幅のバランスを正しく表すことは困難である。そのため、ひどく貧しい代数的符号帳を使用して引き起こされる劣化は、耳によく聞こえる。これらは、例えば、信号のある種の騒々しさにより特徴付けられる。
【００７５】
これらの欠点を解消するために、いわゆる「スパースネス低減」技術が、米国特許第6,029,125号において提案された。これは、信号のスペクトルの係数を変えずにパルスを分散する、雑音信号の追加により、または全域通過フィルタを使用するフィルタリングにより、少数のパルスを含む(およびしたがって、ある種の「スパースネス」を表す)マルチパルス符号帳を充実させることを提案している。このようなフィルタリングは、もっぱら位相に作用する。符号帳のこれらの修正は、復号化の後に導入することができるか、または選択プロセスにおいて(したがって符号化の際に)導入することができる。
【００７６】
しかし、符号器に導入された場合、雑音を加えると、最適波形を選択するために高速アルゴリズムを使用できなくなる。さらに、固定符号帳のフィルタリングでは、プロセスのある種の連続性を前提条件としているが、それは、フィルタがフィルタ処理された信号のサポートを拡散する傾向を有しているからであり、また一般的に、先行するブロックの励振を補正することはできないため、プロセスのまずい制御を受ける、符号化されたサンプルブロックのエッジのところの不規則部分が出現しうる。
【００７７】
さらに、信号に応じて符号帳に加えられた修正のタイプを適合させることを望んでいる場合、フィルタから他のフィルタへ切り換える異なるフィルタを用意する以外の解決策はなく、このこともまた、歪みを生じさせる原因となりうる。
【００７８】
さらに、上ですでに指摘されているように、米国特許第6,029,125号において提示されている技術は、符号帳のスペクトルの姿を保持する修正を加えることにより符号帳のパルスの不足を是正しようとするものである。次に、米国特許第6,029,125号に保持されている解決策と相容れない、スペクトルの特定の部分、特に高い周波数部分を適切に符号化するベクトル符号を含めることによりマルチパルス符号帳を充実させる必要がしばしばある。
【００７９】
受け入れられる探索複雑度を保持することによりパフォーマンスを高める他のタイプの符号帳が提案されている。したがって、場合によっては異なる、カスケード符号帳(または「多段式」符号帳)は、複数の逐次的CELP探索をもたらし、それぞれの探索は関連付けられた利得を持つ選択されたベクトル符号の指数を生成する。
【００８０】
次いで、励振ベクトルは、個数Iの符号帳がカスケード配列されていると仮定した場合に
【００８１】
【数２５】
2009527784.tif 000027
【００８２】
により表される。
【００８３】
I個の符号帳内の符号部分ベクトル{ci(n)}の結合探索は、複雑なものとなる可能性がある。実際、次善の逐次探索法が使用され、この方法は、第1の符号帳内の最適波形を選択して、関連付けられている利得を計算し、次いで、この利得を量子化して、この第1の符号帳の知られている寄与分を差し引くが、これは、上に示されている式を再利用することで、
【００８４】
【数２６】
2009527784.tif 000028
【００８５】
により変換され、ただし
【００８６】
【数２７】
2009527784.tif 000029
【００８７】
および
【００８８】
【数２８】
2009527784.tif 000030
【００８９】
である。
【００９０】
「フィルタ処理されたターゲット信号」は、x'(z)=H(z)(res(z)-exc1(z))に修正され、そこで第2の符号帳の部分ベクトルの選択が行われる。次いで、すべての逐次的符号帳についてこのプロセスを繰り返す。
【００９１】
直交符号帳の使用も、この文脈において規定されうることに留意されたい。
【００９２】
次に、階層符号化構造体の簡単な説明を行う。
【００９３】
このような構造体は、「スケーラブル」とも呼ばれ、複数の逐次レイヤに分割されるバイナリデータを符号化プロセスに供給するものである。基本レイヤは、ビットストリームを復号化し、最低復号化品質を決定するために絶対的に必要なビットにより形成される。後続のレイヤは、復号化された信号の品質を徐々に高めてゆくことを可能にし、それぞれの新しいレイヤは、復号化の際に使用され、高い品質の信号を出力として供給する新しい情報を追加する。階層符号器の具体的特徴の1つは、符号器または復号器に特定の指示を送らなくても、ビットストリームの一部を削除するために伝送または格納連鎖の任意のレベルで介入することができる点である。復号器は、受信するバイナリ情報を使用して、対応する品質の信号を生成する。
【００９４】
階層符号化処理演算の構成は、符号化「レイヤ」という概念を含む。これらのレイヤは、異なる技術に由来する方法を実装することにより構築されうる。一変更形態として、異なる符号化レイヤは、同一のタイプの処理に由来し、そこでは、補助データを供給することにより単純に品質を高めることが可能である。そこで、「入れ子CELP」符号器とも呼ばれる、階層CELP符号器では、一般に、それぞれの段階で異なりうるか、または同一でありうる、複数の符号帳を使用する。
【００９５】
しかしながら、カスケード符号帳および階層符号化構造体に関わる符号帳は、いぜんとして、すでに説明されているのと同じ問題をかかえている。
【００９６】
本発明は、そのような状況を改善しようとするものである。
【００９７】
特に、これは、非常に単純な復号化および符号帳に関連する低い複雑度を保持しながら、低ビットレートにおけるCELP符号帳の波形およびスペクトル成分に関するリッチネスの不足を修復することを目的としている。符号帳を徐々に充実させることも目的としているが、これは階層符号化構造の文脈では特に興味深いものである。他の目的は、いわゆる「アンチスパースネス」技術の魅力的な代替え手段を提案すること、より一般的には、逐次的ブロック間の連続性の制御を改善しつつ、スパース符号帳の充実に寄与することである。
【００９８】
この目的のために、次元NのそれぞれのベクトルがN個の有効な位置を占有しうるパルスを含むCELPタイプの励振ベクトルの符号帳を構築してデジタルオーディオ信号を符号化/復号化する方法を提案する。
【００９９】
本発明の方法では、初期符号帳(「基本符号帳」ともいう)は、
-基本パターンを形成する共通パルス列を供給し、
-前記N個の有効な位置から1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、符号帳のそれぞれの励振ベクトルに基本パターンを割り当てることにより構築される。
【０１００】
「パルス列」という表現は、複数のパルスを含むサンプルの連続、ならびに適宜、パルスとパルスの間にある、および/またはその連続の始まりおよび/もしくは終わりにある1つまたは複数のゼロサンプルを意味するものとここでは理解されるべきである。
【０１０１】
好ましくは、正当に構築された符号帳は、いわゆる「固定」タイプのCELP励振符号帳である(例えば上述の図1および2で参照されているDICf)。
【０１０２】
好ましくは、励振ベクトル内のそれぞれの出現において現れる基本パターンは、前記出現に関連する振幅を掛け合わされるが、この振幅は、例えば、値+1および-1を含む集合から選ばれる。
【０１０３】
好ましくは、ここでもまた、初期符号帳のすべてのベクトルは、基本パターンの同一の数の出現を含む。
【０１０４】
したがって、初期符号帳は、
-基本パターンを形成するパルス列と、
-それぞれのベクトル内のパターン出現の数と、
-前記パターンの出現に許されている位置の集合と、
-前記パターンの出現に関連付けられる振幅の集合とにより定義されうる。
【０１０５】
そこで、本発明は、CELP励振ベクトルの符号帳を構築することを提案し、これらの符号帳は1つまたは複数の出現に現れる基本パターンのデータにより定義され、それぞれの出現に振幅が掛け合わされる。ブロックエッジ(サンプルフレームまたはサブフレーム)のところに現れる可能性のあるこれらのパターンは、ブロック内に正確に挿入されるように切り捨てられる。
【０１０６】
より総称的には、ベクトルのブロックエッジのところに現れるパターンは、切り捨てが行われ、切り捨てされたパターンの残りのパルスは、ブロックの先頭または末尾を占有すると理解される。
【０１０７】
次いで、次元Nのベクトルをひとまめにした、本発明の方法により得られる符号帳は、長さNのブロック内で「シフト」された、基本パターンにより定義される。それぞれのパターンは、足し合わされたK回の出現において現れ、それぞれの出現はそれ自体、
-振幅項(場合によっては極性)、つまり、パターンに、出現毎に所定の値(例えば、±1)が掛け合わされることと、
-その出現におけるパターンの位置とにより定義される。
【０１０８】
しかし、ここで注意すべきは、当業でよく知られている、マルチパルス符号帳は、この方法で得られる符号帳の特定の場合であることであるが、それはマルチパルス符号帳の場合のパターンの長さが単に1であるからである。このタイプのマルチパルス符号帳は、これ以降「自明な基本符号帳」と呼ばれる。
【０１０９】
さらに、本発明の方法では、符号帳の組合せを構築することが可能である(1つまたは複数の補助的な従来のマルチパルス符号帳を使用することも除外することなく、上述のように、初期符号帳と構築された符号帳)。
【０１１０】
したがって、本発明の方法により得られる符号帳は、
-基本パターン(1よりも大きい長さの)により、およびパターンの位置により、および異なる出現に応じた関連する振幅により定義される、非自明な、単一の基本符号帳、または
-基本符号帳のうちの少なくとも1つが、非自明な基本符号帳である、基本符号帳の合併、または
-基本符号帳のうちの少なくとも1つが、非自明な基本符号帳であり、すべてのパターンの出現が足し合わされる、場合によっては重み付けされる、基本符号帳の総和で構成されうる。
【０１１１】
より一般的に、グローバル符号帳は、基本符号帳の総和により構築することができるが、ただし、その符号帳のうちの1つは、基本パターンにより定義された初期符号帳である。グローバル符号帳のベクトルは、この場合、好ましくは符号帳にそれぞれ関連付けられている利得により1つずつ重み付けされた、基本符号帳のベクトルの共通位置パルスを足し合わせることにより形成される。
【０１１２】
一変更形態では、グローバル符号帳は、基本符号帳の合併により構築することができるが、ただし、基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳である。この場合、グローバル符号帳は、単純に、すべての基本符号帳のすべてのベクトルを含む。
【０１１３】
このような符号帳の構成では、すでに、さまざまなコンテンツタイプを与えることが可能になっている。基本パターンの形態およびその出現の回数に応じて、異なる見かけの、場合によっては比較的多数の非ゼロパルスを有する、励振ベクトルを得ることが可能である。例えば、基本パターンの選択は、スペクトル型の考察により導かれる。コンテンツのこのリッチネスは、必ずしも、特に大きな符号帳サイズを必要とするわけではないが、それは、パターンの出現を足し合わせることにより、パターンと出現の数が穏当である励振ベクトルの形態を変えることが可能であるからである。したがって、同等の指数の集合に対し、従来のマルチパルス符号帳のと実質的に異なるスペクトル成分を有する励振ベクトルを表すことが可能である。
【０１１４】
このような実施形態では、基本パターンが少なくとも1つの中央パルスを含み、その中央パルスの前後にその中央パルスの符号と反対の符号を持つ少なくとも1つのパルスが来るようにすることが可能である。より具体的には、パターンは、合計3つのパルス、つまり、
-中央パルス、
-中央パルスの前に来る第2のパルス、
-および中央パルスの後に続く第3のパルスを含むことができ、
第2のパルスと第3のパルスの符号は中央パルスの符号の反対であり、
第2のパルスと第3のパルスの振幅は、絶対値として、中央パルスの振幅よりも小さく、有利には、絶対値として、0から(0を含まない)中央パルスの振幅の約半分まで可変である。
【０１１５】
次いで、少なくとも1つの初期符号帳がカスケードの中で後続である符号帳のカスケード配列を含む符号化/復号化デバイスを備えることは有利であることが実証されており、この初期符号帳は中央パルス、およびその中央パルスの振幅と反対の振幅の先行および後続パルスを持つそのような対称的パターンを含む。このデバイスは、有利には、最適な励振ベクトルの探索において符号化を特に伴うグローバル知覚重み付けフィルタの高域フィルタリングを使用できる。このような実施形態の一実施例は、図8a、8b、8c、および9を参照しつつ、以下で詳しく説明される。この実施形態では、高域フィルタの使用により初期符号帳における探索を絞り込むことが可能になった。
【０１１６】
ここでは、この実施形態は、パターンの中心の出現がマルチパルス符号帳のパルスの出現と同じ集合を記述する、中心に関して対称的なパターンにより定義された符号帳とマルチパルス符号帳とのカスケード配列を提案していると単純に述べられる。
【０１１７】
この実装では、1つまたは複数の補助基本符号帳の追加により初期基本符号帳のスペクトル領域を広げることが可能であり、そこで、これらの補助基本符号帳における探索は最適なベクトルの探索に関わる知覚重み付けフィルタを修正することによりスペクトルに関して絞り込まれ、この修正の選択およびそれらの補助基本符号帳のパターンの選択は場合によってはリンクする。
【０１１８】
より一般的には、複数の基本符号帳の合併または総和の場合、パターンの中心および関連する振幅が、同じ集合を、ただし異なるパターンについて記述する、基本符号帳が使用される。
【０１１９】
そのため、より一般的には、符号帳のベクトル内のパターンおよび/またはパルスの位置は、特にそれらがカスケード配列されている場合に、好ましくは同一である集合を記述し、パターンの位置はそのパターンを形成するパルス列内の中央パルスの位置により実質的に識別される。
【０１２０】
次いで、計算および高速処理アルゴリズムを共有することが可能であるが、なぜなら、最良候補励振ベクトルを探索する技術は、後者が従来のマルチパルス符号帳の特定の構造を使用するので本発明により構築される符号帳においても高速であり、この技術によりマルチパルス符号帳の場合に導入される効果的な処理演算を使用することが可能になるからである。
【０１２１】
ここでは、パターンの位置は、そのパターンが奇数個のサンプルを含む場合に、そのパターンの中心のサンプルのブロック内の位置により識別されることが可能であることが示される。しかし、厳密に同等の方法により、奇数長を得るために、偶数長の任意のパターンに0を加えて補完することができる。より一般的に、パターンの位置を識別するための他の変更形態を考えることができる。
【０１２２】
本発明は、それぞれの出現に対する位置および振幅係数が伝送される1つまたは複数のパターンのスケーリングされた出現を足し合わせることにより、そのような符号帳のベクトルの指数を復号化する非常に単純な技術を提案する。
【０１２３】
一般的に、符号化では、初期符号帳内の最良候補ベクトルを決定した後、好ましくは少なくとも
-最良候補ベクトル内の基本パターンの1つまたは複数の位置の指示、および
-パターンの1つまたは複数の位置に関連する1つまたは複数の振幅の指示を含む指数が形成され、
前記指数は後続の復号化のために伝送されることが意図されている。
【０１２４】
複数の符号帳が用意されている場合、この指数は、さらに、最良候補ベクトルが見つかった符号帳の指示を含む。そのため、基本パターンを含む初期符号帳内に最良候補ベクトルが見つかった場合、指数は、特に、上述の初期符号帳に関係する指示を含み、このことから、符号帳を構築することを可能にする、したがって最良の候補ベクトルを構築することを可能にする基本パターンに関する指示を含む。
【０１２５】
単一の基本符号帳の場合、指数は、すでに、その出現のそれぞれに関連付けられている振幅および位置を反映している。次いで、最良候補ベクトルを復号化するために、それぞれの出現において占有しなければならない異なる位置で基本パターンを位置決めし、それに対し関連する振幅を掛け合わせ、それらの出現の総和を計算するだけで十分である。
【０１２６】
基本符号帳の合併の場合、この指数から、すでに示されているように、選択された基本符号帳に関する情報が得られる。
【０１２７】
基本符号帳の総和の場合、振幅および位置は、それぞれの基本パターンの出現について利用可能であり、そこでこの手順は合併の場合と等価であり、今度はすべてのパターンの寄与分を総和する。
【０１２８】
本発明による符号帳のベクトルの指数の復号化は、非常に単純である。
【０１２９】
復号化では、最良候補ベクトルは、好ましくは、この指数から、
-たぶん符号帳の合併を使用する場合には、指数により示される初期符号帳に対応する基本パターンをすでに決定していることにより、
-指数により示されている位置に基本パターンを位置決めすることにより、
-指数により示されている関連する振幅をそれぞれの位置におけるパターンに掛け合わせることにより、
-および、前記示されている位置に位置決めされた掛け合わされたパターンを足し合わせることにより再構築される。
【０１３０】
符号帳の総和を使用する場合、符号帳のそれぞれにおけるベクトルの指数は、好ましくは決定され、このことから、上述の最後の3つのステップが、それぞれの指数について適用される。
【０１３１】
本発明により符号帳内の探索を高速化することが可能であり、パターンの位置の集合に強い構造を付与することに特に関心があるように思われたが、例えば、ACELP符号帳の探索では、これによりACELP符号帳に通常導入される非常に有効な高速探索処理演算を適応させる。
【０１３２】
そのため、より一般的に、本発明により構築される符号帳は、好ましくは、強く構造化された集合を有利にはACELP符号帳のパルスの位置の集合として記述する受理されたパターン位置を含む。
【０１３３】
上で示されているように、複数の符号帳を使用する場合、符号帳の探索で同じ処理演算を再利用することができる、パターン位置の同一集合を2つまたはそれ以上の基本符号帳に付与することに特に関心がある。したがって、これらの符号帳のうちの少なくとも1つは、ACELPタイプとすると有利である。
【０１３４】
少なくとも1つの基本符号帳を含む符号帳のカスケード配列は、非常に有利である。この変更形態は、特に、階層符号化構造の場合に特に適している。しかしながら、さまざまな基本符号帳は、同じ目的に使用されないが、それというのも、典型的には、第1の符号帳は、再生するのが望ましい信号の最低品質の符号化を取り扱うからである。後続の符号帳は、比較的に、この品質を改善することを意図されており、これにより、符号化を集約するか、信号タイプに合わせて感度を下げるか、または他の何らかの因子を扱うことが可能になる。
【０１３５】
より一般的には、複数の符号帳のカスケード配列は、結局、上で示されているように、利得重み付け符号帳の総和により得られる単一のグローバル符号帳を構築することを意味する。
【０１３６】
この場合、それぞれの励振ベクトルは、利得を掛け合わせた基本符号帳に由来するベクトルの総和に対応し、基本符号帳は、先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる。したがって、この有利な実施形態では、カスケード配列された符号帳は、現在の符号帳に関して、階層符号化構造を与える、少なくとも1つの先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる。
【０１３７】
特に有利な方法において、最良候補励振ベクトルに対する本発明による符号帳内の探索は、従来技術からわずかしか変更されていない、CELP基準の推定に従って実行され、
a)LPC合成フィルタと知覚フィルタとの積の結果として得られるフィルタのインパルス応答と符号帳の基本パターンとの畳み込みを計算して、畳み込みフィルタベクトルを得るステップと、
b)候補ターゲットベクトルと畳み込みフィルタベクトルとの間の相互相関ベクトルの要素を計算するステップと、
c)場合によっては少なくとも1つのブロックエッジで基本パターンの切り捨てを考慮するようにこの相互相関ベクトルの要素を補正するステップと、
d)畳み込みフィルタベクトルの自己相関行列の要素を計算するステップと、
e)場合によっては少なくとも1つのブロックエッジで基本パターンの切り捨てを考慮するように前記行列の要素を補正するステップと、
f)分子が相互相関ベクトルの要素を伴い、分母が自己相関行列の要素を伴う比の最大化として表されるCELP基準を使用して最良候補ベクトルの探索を実行するステップとを含む。
【０１３８】
探索は、ブロックエッジにおける基本パターンを明らかにできるので、CELP基準の推定は、従来技術によるCELP基準の推定と比較して、ステップc)およびe)の追加によりわずかに修正されることが理解されるであろう。
【０１３９】
さらに、基本符号帳の最適な検索アルゴリズムの簡素化も、切り捨てが行われた部分の相対的エネルギーがエッジパターンについてブロック内に残っている部分と比べて低いときに提案される。この場合、ステップc)およびe)の一方だけ、または両方とも、省略することができる。
【０１４０】
他の簡素化も提案され、これは知覚フィルタを掛け合わせた合成フィルタのインパルス応答を切り捨て、ステップa)で計算された畳み込みフィルタベクトルを切り捨てることを目的とするものである。
【０１４１】
本発明は、本発明の方法を実装することにより、上で定義されている方法だけでなく、デジタルオーディオ信号符号化/復号化デバイスにより構築されうるCELP励振ベクトルの符号帳それ自体もターゲットとする。
【０１４２】
さらに、上で定義されているような符号帳を構築する方法を実装する命令を含むコンピュータプログラムもターゲットとする。
【０１４３】
さらに、本発明による少なくとも1つの符号帳を含む、デジタルオーディオ信号符号化/復号化デバイスもターゲットとする。典型的には、有利な実施形態は、1つまたは複数の符号帳のCELP励振ベクトルを生成するための手段(プロセッサ、計算用メモリなど)を含むデバイスを実現するものであり、それらの符号帳のうちの少なくとも1つは本発明の方法を実装することにより構築される符号帳である。
【０１４４】
有利には、これらの符号帳は、上述のタイプのコンピュータプログラムを実行することにより構築され、次いで、例えば、ベクトル指数をベクトル符号それ自体に関連付ける代数の法則を使用してそのような符号化/復号化デバイスのメモリに格納されうる(例えばACELP技術の場合のように)。
【０１４５】
本発明は、さらに、デジタルオーディオ信号を符号化/復号化するためのそのようなデバイスの使用(したがって、符号化/復号化方法)、デジタルオーディオ信号符号化/復号化デバイスを対象とし、そのような使用を実行するための命令を含む、コンピュータプログラムをターゲットとする。
【０１４６】
一般に、上で表されている一般的な、また任意選択の特性の全部または一部は、符号帳の構築に対し、また符号帳それ自体に対し、または少なくとも1つの正当に構築された符号帳を含む符号化/復号化デバイスに対し、またはそのようなデバイスの使用に対し、またはさらには、符号帳を生成するコンピュータがプログラムに対し、またはデバイスの使用を可能にするコンピュータプログラムに対し、等しく適用されうる。
【０１４７】
したがって、本発明では、中程度のサイズのコンテンツの潜在的リッチネスを高める、CELPタイプの励振ベクトルの符号帳およびその使用を提案する。関連する指数の復号化は、このようなさまざまな形態をとるにもかかわらず、あまり複雑ではない。また、これらの符号帳の特定の構成を利用することにより、最適なベクトルを選択する高速アルゴリズムを導入することが可能である。
【０１４８】
本発明は、比較的中程度のビットレートについてさまざまな励振信号の符号化を可能にし、また適切なベクトルを選択するための高速で、効果的なアルゴリズムも備える、CELP符号帳の一カテゴリを提案することに留意されたい。
【０１４９】
本発明の他の特徴および利点は、以下の詳細な説明、および上述の図1および2に加えて、以下の付属の図面を見ると明らかになるであろう。
【発明を実施するための最良の形態】
【０１５０】
最初に、図3aから3dを参照すると、本発明による「基本」符号帳の内容の説明がある。
【０１５１】
基本符号帳のベクトル符号は、基本パターンy(j)(-p≦j≦p)を、ブロックをオーバーランしたときにパターンを切り捨てることにより長さNのブロック内でシフトされるサンプルの列(図3a)として定義することで得られる。振幅係数を掛け合わせた、この同じサンプルパターンのK回の出現を足し合わせて、符号帳のベクトル符号を形成する。
【０１５２】
一実施例として、図7の参照記号D2が付けられている破線のボックスは、この方法で構築された基本符号帳の少数のベクトルV21、V22、V2nを示している。第1のベクトルV21は、11個のパルスの連続列を含む基本パターンPat(D2)を含む。このパターンの左に、反対極性を持ち、V21ベクトル内に現れる9番目から11番目までのパルスだけがV21内に現れるように切り捨てされたパターンの「終わり」が見られる。次のベクトルV22は、パターンPat(D2)全体および右に切り捨てされ反対極性を持つ他のパターンを繰り返す。ベクトルV21およびV22では、パターンは、別々である。他方、最後のベクトルV2nでは、同じ極性を持つ2つの基本パターンが繰り返されるが、それぞれの中心は、2つのパターンが部分的に重なり合うだけ十分に近い位置を占有する。この場合、重なり合うパルスが、そのサイズを考慮しつつ、足し合わされる。例えば、図7の実施例における符号帳D2の最後のベクトルV2nは、エッジのところの2つの基本パターン、一方に対し右、他方に対し左のパルスの総和を含む(左からグローバルパターンの10番目および11番目のパルス)。同様に、ベクトルV21の第2のパターンの中心の(負の)パルスは、ベクトルV21+V12の和の中のベクトルV12の第2の(正の)パルスで相殺される。
【０１５３】
したがって、一般的に、励振ベクトルのそれぞれのブロック内の基本パターンに対する受理された位置から、パターンが少なくとも部分的に重なり合うようなパターン位置である(ベクトルV2nの場合)。この場合、重なり合うパターンのパルスが足し合わされる。
【０１５４】
上で与えられた公式y(j)(-p≦j≦p)は、後の展開を明確にするという利点を有しており、基本パターン(-p≦j≦p)内の奇数2p+1個の要素をアプリオリに課すように見えることに留意されたい。実際、前述のように、この特定の特徴は、決して、本発明を実装するのに必要というわけではない。偶数個の要素を有するパターンが使用される場合、必要なのは、ゼロ要素をエッジの1つに加えることであり、ここで適用される公式は、そのまま使用できる。
【０１５５】
次元Nの基本符号帳のそれぞれのベクトル{c(n)}は、K個の出現ベクトルykを、0からN-1までの範囲のnおよび0からK-1までの範囲のkについてYK = {sk×yk(n)}となるように加えることにより構築される。
【０１５６】
これらのベクトルは、1つまたは複数のエッジで必要な場合に切り捨てされ、ゼロを補われる、所定の振幅を割り当てられた基本パターンからなる。
【０１５７】
それぞれの出現kは、
-集合Skから値をとって、出現に割り当てられた振幅Skにより、
-例えば、中心が置かれる位置akにより表すことができる、基本パターンの位置により特徴付けられる。akは、その値を集合Akからとり、場合によっては、範囲[0,N-1]の外に置くことができ、唯一の制約条件はもちろんパターンとブロックとの共通部分がゼロでないことである。
【０１５８】
図3bおよび3cは、特にK=2であるそのような符号帳を示している。第1の出現は、位置の集合の5つの位置
【０１５９】
【数２９】
2009527784.tif 000031
【０１６０】
に配置されうる中心a0および振幅s0∈S0={±1}により特徴付けられる(図3b)。第2の出現は、位置の集合の4つの位置
【０１６１】
【数３０】
2009527784.tif 000032
【０１６２】
に配置されうる中心a1および振幅s1∈S1={±1}により特徴付けられる(図3c)。次いで、符号帳は、
5(位置A0)×4(位置A1)×2(A0の極性)×2(A1の極性)=80ベクトル符号
を含む。
【０１６３】
この符号帳に対するベクトル符号の一実施例(位置
【０１６４】
【数３１】
2009527784.tif 000033
【０１６５】
と
【０１６６】
【数３２】
2009527784.tif 000034
【０１６７】
および振幅s0=+1とs1=-1により定義される)は、図3dに示されている。
【０１６８】
したがって、
【０１６９】
【数３３】
2009527784.tif 000035
【０１７０】
が適用される。
【０１７１】
これは、クロネッカーのδ(.)、および
【０１７２】
【数３４】
2009527784.tif 000036
【０１７３】
が機能する場合に切り捨てt(n)=0を使用して
【０１７４】
【数３５】
2009527784.tif 000037
【０１７５】
とも表せる。
【０１７６】
それぞれのベクトル{c(n)}は、それの構成元となる出現のそれぞれの出現の基本パターンの中心の位置の集合
【０１７７】
【数３６】
2009527784.tif 000038
【０１７８】
(ただし、集合の直積を
【０１７９】
【数３７】
2009527784.tif 000039
【０１８０】
で表す)および異なる出現に関連付けられている振幅
【０１８１】
【数３８】
2009527784.tif 000040
【０１８２】
により定義される。
【０１８３】
構成要素c(n)(0≦n≦N-1)は、関係式
【０１８４】
【数３９】
2009527784.tif 000041
【０１８５】
に従って、K個のベクトルykのサンプルnに対する(任意の)寄与分の総和により得られる。
【０１８６】
次元(N+2p)のベクトル{c0(n)}が、
【０１８７】
【数４０】
2009527784.tif 000042
【０１８８】
となるように定義されていると、
【０１８９】
【数４１】
2009527784.tif 000043
【０１９０】
となる。
【０１９１】
基本符号帳のベクトル{c(n)}は、基本パターンyとの畳み込みおよびセグメント[0,N-1]のエッジにおける切り捨てによりベクトル{c0(n)}から推論される。
【０１９２】
ベクトル{c0,(n)}は、基本パターンの中心のデータ
【０１９３】
【数４２】
2009527784.tif 000044
【０１９４】
および振幅のデータ
【０１９５】
【数４３】
2009527784.tif 000045
【０１９６】
により定義されることがわかる。
【０１９７】
中心が構造的に順序付けられている場合、この構造を利用して、符号帳内のベクトル符号の選択をスピードアップする高速アルゴリズムを定義することが可能であることが理解されるであろう。
【０１９８】
切り捨て関数t(n)は、c(n)の式の中に非線形性を持ち込むが、次元Nのベクトル{c(n)}を次元(N+2p)のベクトル{c'(n)}:
【０１９９】
【数４４】
2009527784.tif 000046
【０２００】
に拡張することにより非線形性なしで済ませることができる。
【０２０１】
したがって、ベクトル{c'(n)}
c'(n)=cc(n)+cg(n)+cd(n); -p≦n≦N-1+p
内の3つの部分を明らかにすることが可能である。
【０２０２】
中央部分
【０２０３】
【数４５】
2009527784.tif 000047
【０２０４】
は、{c0(n)}と基本パターンとの畳み込みに対応し、エッジの区間[-p,-1]および[N,N+p-1]内のその構成要素は、アプリオリに非ゼロである。
【０２０５】
他の2つの項は、cc(n)のエッジの非ゼロ構成要素を相殺し、エッジにおいてパターンの可能な切り捨てにより引き起こされる効果に対応し、ただし、
-ブロックの左エッジの効果は
【０２０６】
【数４６】
2009527784.tif 000048
【０２０７】
であり、
-ブロックの右エッジの効果は
【０２０８】
【数４７】
2009527784.tif 000049
【０２０９】
である。
【０２１０】
次に、基本符号帳内のベクトル符号の探索について説明する。
【０２１１】
CELP基準
【０２１２】
【数４８】
2009527784.tif 000050
【０２１３】
の最大化には、分子Numと分母Denの2つの量を計算することが必要であることに留意されたい。
【０２１４】
次元(N+2p)のベクトル{cw(n)}は、上述のベクトル{c'(n)}とフィルタH(z)のインパルス応答との畳み込みにより定義される。しかし、最適な波形を選択する際に、このベクトルのN個の中心要素のみが使用される。
【０２１５】
【数４９】
2009527784.tif 000051
【０２１６】
この式の中で、中央の因子
【０２１７】
【数５０】
2009527784.tif 000052
【０２１８】
は、フィルタHのインパルス応答と基本パターンとの畳み込みに対応するベクトル{h'(i)}(つまり
【０２１９】
【数５１】
2009527784.tif 000053
【０２２０】
)を導入することにより計算される。
【０２２１】
次いで、式
【０２２２】
【数５２】
2009527784.tif 000054
【０２２３】
が得られる。
【０２２４】
次いで、中央の因子は、
【０２２５】
【数５３】
2009527784.tif 000055
【０２２６】
として表されることに留意されたい。
【０２２７】
「左エッジ」因子
【０２２８】
【数５４】
2009527784.tif 000056
【０２２９】
または
【０２３０】
【数５５】
2009527784.tif 000057
【０２３１】
も、集合
【０２３２】
【数５６】
2009527784.tif 000058
【０２３３】
を導入し、K個の集合Ak、k∈[0,K-1]、位置-2p≦ak≦pについて組み合わせることにより
【０２３４】
【数５７】
2009527784.tif 000059
【０２３５】
と表される。
【０２３６】
因子bg(n)内の項の数は、K回の出現における基本パターンの中心akの定義域Akに依存する。しかし、現在のブロックと少なくとも部分的に重なり合うパターンに対し、サンプル数pを超えて、中心がこのブロックの第1のサンプルから離れすぎないようにすることが重要である。この条件は、ak≧-pと表され、結局、Min(-1,ak+p)=-1、および
【０２３７】
【数５８】
2009527784.tif 000060
【０２３８】
となる。したがって、
【０２３９】
【数５９】
2009527784.tif 000061
【０２４０】
となる。
【０２４１】
次いで、関数
【０２４２】
【数６０】
2009527784.tif 000062
【０２４３】
を定義することにより、「左エッジ」因子は、
【０２４４】
【数６１】
2009527784.tif 000063
【０２４５】
と表される。
【０２４６】
後者の式は、それぞれの出現kについて、範囲[-p,p-1]内にある中心の値akのみを伴うことに留意されたい。
【０２４７】
「右エッジ」因子は、アウトセット
【０２４８】
【数６２】
2009527784.tif 000064
【０２４９】
のところで表され、上記の左エッジに適用される原理
【０２５０】
【数６３】
2009527784.tif 000065
【０２５１】
または
【０２５２】
【数６４】
2009527784.tif 000066
【０２５３】
を繰り返す。
【０２５４】
前の場合とは対称的な形で、パターンの中心は、右エッジから高々サンプルp個分離れており、結果として、ak ≦ N+p-1となり、したがって
【０２５５】
【数６５】
2009527784.tif 000067
【０２５６】
となる。
【０２５７】
関数
【０２５８】
【数６６】
2009527784.tif 000068
【０２５９】
を定義することにより、さらに、
【０２６０】
【数６７】
2009527784.tif 000069
【０２６１】
と表すことも可能である。
【０２６２】
したがって、非ゼロ要素の数h'''(n,j)は、n<0となるような非ゼロ要素の個数h(n)に依存する。フィルタH(z)が因果的であると仮定される場合、n≦N-1となるようなすべての要素bd(n)はゼロである。
【０２６３】
したがって、n<0ならばh(n)=0となる因果的フィルタの場合、右エッジ効果は、この計算に影響を及ぼさない。
【０２６４】
これ以降、パターンは、同時に両側で切り捨てされえないと仮定される。反対の場合だと、パターンのサイズはブロックの長さNよりも大きくなる可能性があるが、それでも本発明はこの後者の場合にも適用される可能性がある。
【０２６５】
次に、本発明による符号帳を使用するCELP基準の適用について説明する。
【０２６６】
分子は、
【０２６７】
【数６８】
2009527784.tif 000070
【０２６８】
のように計算できる。
【０２６９】
「中央の」項
【０２７０】
【数６９】
2009527784.tif 000071
【０２７１】
は、マルチパルス符号帳で最適な波形を選択する基準の分子の通常の式に似ている。従来の探索の場合のように、
【０２７２】
【数７０】
2009527784.tif 000072
【０２７３】
が定義され、次いでこの「中央の」項は、
【０２７４】
【数７１】
2009527784.tif 000073
【０２７５】
になる。
【０２７６】
本発明による符号帳のすべての分子について
【０２７７】
【数７２】
2009527784.tif 000074
【０２７８】
を課すことにより類似の式を得ることが可能であり、これは、結局、エッジに配置されるパターンが切り捨てを必要とする出現に対応する補正を、集合ΓgおよびΓdに属す中心akに対する要素d(ak)に加えることになる。
【０２７９】
次いで、
【０２８０】
【数７３】
2009527784.tif 000075
【０２８１】
が適用されるが、これは、従来のマルチパルス符号帳の最良の波形の探索の分子に類似している。
【０２８２】
分母は、
【０２８３】
【数７４】
2009527784.tif 000076
【０２８４】
のように計算される。
【０２８５】
「中央の」項は、従来、
【０２８６】
【数７５】
2009527784.tif 000077
【０２８７】
で表される。
【０２８８】
【数７６】
2009527784.tif 000078
【０２８９】
は、ベクトル{h'(n)}の自己相関行列の要素である。最適な波形の探索では、異なる出現におけるパターンの中心の位置を伴う自己相関行列の要素のみが使用される。
【０２９０】
後者の式は、ここでも、従来のマルチパルス符号帳の場合の分母の式と類似している。
【０２９１】
他方、本発明による符号帳を使用するCELP基準で推定されるすべての分母に対し、図4の表に示されている方法で修正される自己相関関数が導入される。自己相関関数のこのような修正を考慮することにより、従来のマルチパルス符号帳の場合と同じ式を得ることが可能である。
【０２９２】
そこで、修正された行列を使用し、従来のマルチパルス符号帳における探索に対する分母のと同じである形式
【０２９３】
【数７７】
2009527784.tif 000079
【０２９４】
で本発明による探索の分母を表すことが可能である。
【０２９５】
次に、本発明による符号帳に固有の探索について説明する。
【０２９６】
図5を参照し、以下のステップを用意するのが好ましい。
【０２９７】
フィルタHのインパルス応答の畳み込みベクトルは、基本パターン
【０２９８】
【数７８】
2009527784.tif 000080
【０２９９】
で計算される(ステップ51)。
【０３００】
次いで、ターゲットベクトルx(n)とベクトル{h'(i)}(ステップ51で得られる)との間の相関ベクトルの要素
【０３０１】
【数７９】
2009527784.tif 000081
【０３０２】
が計算される(ステップ52)。
【０３０３】
次いで、これらの要素(図5の一般的ステップ53)は、ブロックエッジに現れるパターンに必要な場合に補正される。実際、パターンの中心ak∈Akがブロックのエッジのところでパターンの切り捨てを課すようなk∈{0,1...,K-1}の値に対し(テスト54の出力のところのY矢印)、補正された要素d'(ak)が計算される(ステップ56)。そうでなければ、(テスト54の出力のところのN矢印)、d'(ak)=d(ak)が課される(ステップ55)。両方の場合において、ステップ53の終わりに、エッジ効果を有利に考慮するベクトル{d'(ak)}が得られる。
【０３０４】
次いで、{h'(i)}の自己相関行列の要素が、分母を決定するために、
【０３０５】
【数８０】
2009527784.tif 000082
【０３０６】
および
【０３０７】
【数８１】
2009527784.tif 000083
【０３０８】
ak∈Ak, al∈Al, k=0→K-1, l=k+1→K-1
として、計算される(ステップ57)。 
【０３０９】
これらの要素(図5の一般的ステップ63)は、ブロックエッジに現れるパターンを再び考慮するのに必要な場合に補正される。実際、これらの要素のうちの少なくとも1つがステップ60でブロックエッジの1つをオーバーランするパターンの出現に対応するすべての対(ak,al)について(テスト58の出力のところのY矢印)、補正された要素Φ'(ak,al)が計算される。そうでない場合(テスト58の出力のところのN矢印に対応する、ブロックエッジのところにパターンがない)、ステップ59で、Φ'(ak,al)=Φ(ak,al)が課される。両方の場合において、一般的ステップ63の終わりに、エッジ効果を有利に考慮する行列要素が得られる。
【０３１０】
次いで、最良波形探索は、分子がベクトル{d'(ak)}を実装し、分母が要素Φ'(ak,al)を実装する比の最大化として表される、従来のCELP探索基準を使用して、実行され(ステップ61)、最終的に最良のベクトル符号VCを得る(ステップ62)。
【０３１１】
ここで、図5は、流れ図の形で、本発明による少なくとも1つの符号帳を含む符号化/復号化デバイスを使用することを可能にするコンピュータプログラムのアルゴリズムの一部を例示できることが示されるであろう。
【０３１２】
本発明による基本符号帳における波形の探索は、最終的には、従来のマルチパルス符号帳における探索の、知られていて、効果的なものにまで絞り込まれる。特に、パターンの出現k(0からK-1までの範囲)の中心ak∈Akの位置が、ACELPタイプの構造化された符号帳のパルスの位置を記述する場合、そのようなACELP符号帳について開発された効果的な高速アルゴリズムを使用することが可能になる。
【０３１３】
パターンのサイズは、ブロックのサイズよりも小さいと仮定されていた。しかし、反対の場合には、必要なのは、この方法の一般性を失うことなく、2つの補正が適用されるゾーンΓg∩Γdを導入することだけである。
【０３１４】
上記の方法の簡素化も、行うことができる。例えば、切り捨て演算において取って代わられる要素の相対的エネルギーが、エッジの出現について、ブロック内に残っている要素のエネルギーに比べて低いときに、エッジ効果を無視することを単純に規定することも可能である(テスト54および58を実施せずに)。この場合、補正ステップ53および63の少なくとも一方(好ましくはステップ63)または両方とも、単純になくすことができる。
【０３１５】
次に、基本符号帳の少数の可能な構成について説明する。
【０３１６】
特にさまざまな満足のゆくスペクトルリッチネスをもたらす、波形の多様な表現を実現できるグローバル符号帳を形成する2つの組合せ方法を提示することができる。実際、それぞれの基本符号帳の内容を1つまたは複数の信号カテゴリに振り向けることができる。
【０３１７】
*基本符号帳の合併
基本符号帳の合併により、それぞれの部分が1つの基本符号帳に対応する単一の符号帳を形成することが可能である。基本符号帳の1つによりうまく表される単一部分については、この信号部分を表すためにこの基本符号帳内に最良の波形を見つけることができる。
【０３１８】
図6は、出現の中心に対する位置の同じ集合および振幅の同じ集合から構築された、2つの基本符号帳D1およびD2の合併を表す、そのような符号帳を示しており、それぞれ、
-第1の基本符号帳D1に対する単一パルスPat(D1)と、
-第2の基本符号帳D2に対する図3aのパターンによるパルス列Pat(D2)の列をそれぞれ含む2つのパターンを有する。
【０３１９】
符号化される与えられた励振ベクトルについて、基本符号帳はそれぞれ、好ましくは別々に調べられ、次いで、それぞれの基本符号帳内の探索に由来する最良の波形が互いに比較され、そのうち最も適しているものを選択する。探索の複雑度は、この場合、それぞれの基本符号帳内の探索の複雑度の総和に等しい。すでに見られるように基本符号帳の有利な構造によりもたらされる、高速探索は、非常に効果的であることが実証されている。
【０３２０】
調査の変更形態も、提案されうる。例えば、グローバル符号帳を構成する符号帳から最初に1つ(または複数の)基本符号帳を決定し、次いで、正当に事前に選択された基本符号帳に探索を制限することが可能である。
【０３２１】
指数の復号化は、選択された基本符号帳を最初に識別することにより実施されうる(例えば、選択されたベクトル符号の指数を、完全な符号帳内の基本符号帳の境界に対応するメモリに格納されている値と比較することにより)。次いで、ベクトル符号の指数は、すでに示されている方法で基本符号帳内に復号化される。
【０３２２】
*基本符号帳の総和
この実装は有利である。目的は、基本符号帳のベクトルを加えて符号帳を構築し、使用して、構成要素基本符号帳に特有の特徴を調べ、さらにはその組み合わせた特徴を利用することである。
【０３２３】
したがって、符号帳の総和の場合、符号帳のベクトルは、1つずつ、サンプル毎に、基本符号帳のすべてのベクトルを、場合によっては後述の第2の実施形態のように利得の重みを付けて加えることにより単純に形成される。
【０３２４】
実際、以下では、複数の符号帳の総和をとるため、2つの実施形態が提案されている。
【０３２５】
第1の実施形態では、それぞれの基本符号帳から導き出される波形を足し合わせることにより、グローバル符号帳D=D1+D2が得られる。図7は、基本符号帳のそのような加算の原理を示している。示されている実施例では、2つの符号帳D1、D2のみが足し合わされており、符号帳D1のベクトルV1iのパルスの重みは、総和D1+D2において、符号帳D2のベクトルV2jのパルスの重みと同じであることがわかる。
【０３２６】
次いで、ここでは、与えられた総和に関連付けられる単一の利得が定義される。したがって、それでも、少なくとも1つが基本符号帳である複数の符号帳を使用する符号化の簡素化に関して有利な点がある。実際、基本符号帳D2に属すベクトル符号は、パターンの中心における位置および異なる符号帳内の、つまり異なるパターンに対する、出現の振幅を示し、次いで、スケーリングされた、その時点では正当に配置されているパターンを足し合わせることにより、表すことができる。
【０３２７】
I個の基本符号帳の総和により得られる、このような符号帳のベクトル符号の構成要素は、
【０３２８】
【数８２】
2009527784.tif 000084
【０３２９】
のタイプの関係式により表され、現在の励振ベクトルは、0≦n≦N-1の場合に、
【０３３０】
【数８３】
2009527784.tif 000085
【０３３１】
と表される。
【０３３２】
さらに、単一の基本符号帳の文脈において提案される高速アルゴリズムを上述の符号帳の総和に適応させると有利である場合がある。説明に役立つ実施例として、2つの基本符号帳の総和を考えるが、これは
【０３３３】
【数８４】
2009527784.tif 000086
【０３３４】
と表され、指数1および2はそれぞれ、K1回の出現およびそれぞれK2回の出現において遭遇する第1のパターンγ1および第2のパターンγ2に由来するベクトルに関係する。
【０３３５】
前述の単一の基本符号帳の場合のように、第1のパターンに対応するベクトル
【０３３６】
【数８５】
2009527784.tif 000087
【０３３７】
および第2のパターンに対応するベクトル
【０３３８】
【数８６】
2009527784.tif 000088
【０３３９】
を定義することが可能である。相関ベクトルの式が以下のように適応されるとすると、マルチパルス符号帳内の探索の分子および分母の従来の式が、再び、適用される。
【０３４０】
ターゲットベクトルとの相互相関については、上で提案されているように修正されたベクトル{d'1(ak)}および{d'2(ak)}を計算することが可能であり、次いで、分子は、
【０３４１】
【数８７】
2009527784.tif 000089
【０３４２】
と表される。
【０３４３】
しかし、分母の場合は、上で定義されている自己相関
【０３４４】
【数８８】
2009527784.tif 000090
【０３４５】
および
【０３４６】
【数８９】
2009527784.tif 000091
【０３４７】
に加えて、第1のパターンの出現と第2のパターンの出現との間の相関が関与していなければならないため、より複雑である。したがって、例えば、k<1として、
【０３４８】
【数９０】
2009527784.tif 000092
【０３４９】
となるような中心値
【０３５０】
【数９１】
2009527784.tif 000093
【０３５１】
および
【０３５２】
【数９２】
2009527784.tif 000094
【０３５３】
となるような
【０３５４】
【数９３】
2009527784.tif 000095
【０３５５】
について、
【０３５６】
【数９４】
2009527784.tif 000096
【０３５７】
が計算されなければならない。
【０３５８】
これらの式は、当業者の能力の範囲内にあるとしても、一般にかなり複雑なものになる。
【０３５９】
分母は、それでも、修正された自己相関行列の要素を計算することが可能なような方法で
【０３６０】
【数９５】
2009527784.tif 000097
【０３６１】
のタイプの関係式に従って表すことができ、ここでもまた、マルチパルス符号の高速化探索アルゴリズムを使用できる。
【０３６２】
基本符号帳の総和の第2の実施形態では、より単純な探索アルゴリズムが得られる。この原理は、基本符号帳の総和をカスケード配列するもので、異なる利得が基本符号帳に由来するそれぞれの部分ベクトルに関連付けられる。この場合、励振ベクトルは、0≦n≦N-1ならば
【０３６３】
【数９６】
2009527784.tif 000098
【０３６４】
により表される。
【０３６５】
この変更形態は、複雑度に関して非常に有利である。
【０３６６】
これは、さらに多くの利点を有する。それぞれの基本符号帳は、より具体的に、グローバル符号帳を充実させることを意図しており、例えば、特定のタイプの励振信号によるものであるため、基本符号帳内の異なる探索に対し異なる知覚フィルタWi(z)(0からI-1までの範囲のiについて)を使用すると都合がよい。例えば、励振信号の低周波部分を表すのにより好適な第1の基本符号帳、および高周波部分を表すことをより意図されている第2の基本符号帳を使用することが可能である。次いで、第2の基本符号帳の探索でスペクトルの高周波部分を優先するような方式は特に有利である。例えば、第2の探索では、従来の知覚フィルタは、高域フィルタとカスケード配列にすることができる。このような演算は、さらに、「スペクトル集束」と呼ぶことが可能である。後で、特に例示的な実施形態を示すために図9を参照しつつ詳細に説明する。
【０３６７】
最後に、この第2の実施形態は、階層CELP符号化構造に有利に適している。実際、これらの構造では、ビットストリームは、階層として編成されており、この第2の実施形態の実装では、指数および基本符号帳の部分ベクトル符号のそれぞれのベクトル符号の利得に対応するビットは、別々の階層的レイヤを形成しうる(または、別々のレイヤに「参加する」)。復号器が、この情報の一部のみを受け取る場合、これは、第1のレイヤの基本符号帳の部分ベクトル符号に関連付けられている受け取った指数および利得を復号化し、この方法で得られた部分的励振を足し合わせることにより、励振の少なくとも一部を再構築することができる。
【０３６８】
上で示されているように、第1の基本符号帳では、最低品質符号化を取り扱い、後続の符号帳では、例えば、高域スペクトル成分を与えることにより、品質を徐々に高めて行き、複数の信号の可能な多様性を効率よく取り込む。
【０３６９】
次に、既存の符号器/復号器に適用される本発明の一実施形態について説明する。
【０３７０】
以下で説明される例示的な実施形態は、2つのレイヤを含むビットストリームを生成する階層型CELP符号器との関連で配置され、第1のレイヤは、8Kビット/秒のビットレートで動作する、階層構造の「コア」符号化に対応し、第2のレイヤは、さらに4Kビット/秒を加えて品質を高め、12Kビット/秒の全ビットレートを生成する。第1のレイヤのビットストリームは、ITU-T G.729標準化符号器と「互換性」を有し、符号器、またはそれぞれ、本発明による復号器は、復号器、またはそれぞれ、8Kビット/秒のビットレートに対するG.729標準およびその付属標準に適合する符号器とともに動作しうる。
【０３７１】
提案されている例示的な実施形態では、本発明による基本符号帳のカスケード総和の変更形態による符号帳を使用することにより階層が形成される。ブロックサイズは、5ms、つまり、8kHzで40サンプルである。
【０３７２】
第1の基本符号帳D1(図8a)は、「自明な」タイプであり、単純に、G.729符号器のACELP符号帳に対応し、そのベクトルは、4つの符号付きパルスを足し合わせることにより得られ、その位置は、以下に掲載されている表2に示されている集合に属す。詳細については、ITU-T勧告G.729(「Coding of Speech at 8 Kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)」、1996年3月)を参照すると有益であろう。
【０３７３】
したがって、これは中央パルス(p=0)に制限されたパターンに関連付けられている基本符号帳であるが、ただし、K=4回の出現で、集合S0、S1、S2、S3は表2の第2列で与えられ、集合A0、A1、A2、A3は最後の列にある。
【０３７４】
【表１】
2009527784.tif 000099
【０３７５】
第2の基本符号帳D2(図8b)は、非自明な符号帳であり、その基本パターン(または「トライパルス」)は長さ3であり、それぞれの振幅が-a、+1、-a、好ましくは0<a≦0.35である3つのパルスを含む。値aは、有利には、入力信号の特性に応じて動的に選択されうる。
【０３７６】
出現回数、振幅、およびパターンの中心の位置は、第1の符号帳のものと同じである。
【０３７７】
図8cは、第1の符号帳(矢印D1)および第2の符号帳(矢印D2)の波形の平均スペクトルの見かけを示している。第1の符号帳は、スペクトル的に平坦な成分を示しているが、第2の符号帳は、高い周波数においてリッチであることがわかる。
【０３７８】
この観察結果から、第1の符号化レイヤにより得られる品質を高めることが可能であり、ゾーン[300〜3400Hz]の低周波部分の音声信号の再生品質はよいが、高周波に近づくとエネルギーが減少し、忠実度も減少する傾向がある。
【０３７９】
スペクトルの高周波に関する第2の基本符号帳の探索の絞り込みを改善するために、この第2の符号帳を調べるときに、フィルタW(z)に補助高域フィルタHp(z)が適用される。
【０３８０】
図9は、この実施形態による符号器を示している。第1の段階ET-1は、適応符号帳DICa(ベクトル{p(n)})およびその関連する利得gp、次いで、第1の固定符号帳D1(ベクトル{c1(n)})およびその関連する利得g1を導入する。第2の段階ET-2では、第2の固定符号帳D2(ベクトル{c2(n)})および関連する利得g2の探索を行う。適応符号帳DICaおよび第1の固定符号帳D1における探索では、例えばG.729標準で定義されているような知覚フィルタW1(z)=W(z)を使用する。第2の符号帳D2では、フィルタHp(z):W2(z)=W(z)×Hp(z)を加えることにより高周波に絞り込んだ探索を使用する。
【０３８１】
第1の基本符号帳D1の探索は、知られており、例えば、G.729標準およびその複雑さを下げた付録A(ITU-T勧告G.729、「Annex A: Reduced complexity 8 Kbit/s CS-ACELP speech codec」、1996年11月)で説明されている高速および集束アルゴリズムの一方または他方を使用する。
【０３８２】
第2の基本符号帳D2の探索もまた、上述のように、この高速アルゴリズムを利用する。
【０３８３】
以下の説明をわかりやすくするために、第2の符号帳に関係するすべての指数「2」は、以下では省略する(例えば、H2(z)はH(z)、
【０３８４】
【数９７】
2009527784.tif 000100
【０３８５】
はcw(n)などとする)。
【０３８６】
第1の簡素化により、フィルタ
【０３８７】
【数９８】
2009527784.tif 000101
【０３８８】
のインパルス応答は、0≦n≦39となるように要素h(n)に切り捨てされる(ブロックの長さN=40であることに注意)。
【０３８９】
したがって、ベクトル{cW(n)}は、-1≦n≦40について定義される。上述のように、n<0に対しh(n)=0であるため(因果的フィルタ)、右エッジは関与しない(bd(n)=0)。
【０３９０】
さらに、中心akの位置は、すべて、ブロック[0,39]内にあることもわかる。
【０３９１】
これらの条件において、集合
【０３９２】
【数９９】
2009527784.tif 000102
【０３９３】
は、集合A0のみにある、第1の出現におけるトライパルスパターンの第1の位置に対応する、単一の要素のみ、つまり、位置a0=0のみを含む、つまりΓg={0}。
【０３９４】
次いで、図9は、本発明によるデバイス、特に、この場合は符号化デバイスを図式的に表している。
【０３９５】
前述のように、フィルタHのインパルス応答と基本パターンとの畳み込みベクトルが、まず最初に計算され(図5で51と示されている第1のステップ)、これにより、
h'(n)=-αh(n+1)+h(n)-αh(n-1)
が得られる。
【０３９６】
しかし、n≦0またはn≧40に対してh(n)はゼロなので、h'(n)は、-1≦n≦40についてアプリオリに非ゼロである。
【０３９７】
CELP基準の分子
【０３９８】
【数１００】
2009527784.tif 000103
【０３９９】
を計算するために、相互相関
【０４００】
【数１０１】
2009527784.tif 000104
【０４０１】
が、まず最初に計算され(ステップ52)、修正されて(一般ステップ53)、
【０４０２】
【数１０２】
2009527784.tif 000105
【０４０３】
となる。
【０４０４】
したがって、行われる補正は、第1の要素
【０４０５】
【数１０３】
2009527784.tif 000106
【０４０６】
に制限される。
【０４０７】
集合Akは、ブロック[0,39]のすべての位置を覆う。したがって、関係式
【０４０８】
【数１０４】
2009527784.tif 000107
【０４０９】
および
【０４１０】
【数１０５】
2009527784.tif 000108
【０４１１】
を使用して任意の0≦j≦39についてd'(j)を計算する必要がある。
【０４１２】
分母に関して、自己相関が、
【０４１３】
【数１０６】
2009527784.tif 000109
【０４１４】
および
【０４１５】
【数１０７】
2009527784.tif 000110
【０４１６】
と計算されなければならない(ステップ57)。
(表記k=x→yは、実際には、「xからyまでの範囲のkについて」を意味することに留意されたい)。
【０４１７】
制約条件、n<-1についてh'(n)=0から、Φ(i,j)=Φ(j,i)であることに注意して、i<jとなる要素(i,j)のすべての対について
【０４１８】
【数１０８】
2009527784.tif 000111
【０４１９】
が得られる。
【０４２０】
要素Φ'(ak,al)に対し行われる補正(ステップ60)は、左エッジを考慮して、
【０４２１】
【数１０９】
2009527784.tif 000112
【０４２２】
となる。
【０４２３】
したがって、最終的には、h'(40)を計算する必要はなく、計算に関わる要素h'(n)、-1≦n≦39のみを計算するだけでよい。他の要素Φ(ak,ak), ak≠0、およびΦ(ak,al), ak≠0, al≠0は、補正しなくてよく、またこの場合、Φ'(ak,al)=Φ(ak,al)とセットされる(図5のステップ59)。
【０４２４】
追加の簡素化も、特に、小さな係数αについて行うことができる。実際、分母の計算のため、要素がh'(n)=-αh(n-1)+h(n)-αh(n+1)と表される場合、フィルタH(z)の自己相関関数
【０４２５】
【数１１０】
2009527784.tif 000113
【０４２６】
を示すことが可能である。
【０４２７】
次いで、α2を掛けたときに、この行列の要素を伴うすべての項を無視する決定を下すことができる。
【０４２８】
さらに、p=1であること、またαが実質的に1よりも小さいことを念頭におき、総和
【０４２９】
【数１１１】
2009527784.tif 000114
【０４３０】
にほとんど関わらないと仮定すると、分母の計算においてエッジ効果を考慮する必要はない。
【０４３１】
その結果、エッジ効果は、分子と分母の両方において無視できる。
【０４３２】
最後に、第1の基本符号帳とまったく同じようにして第2の基本符号帳の自己相関行列の要素を計算することを可能にするさらなる簡素化を導入することが可能である。この簡素化は、範囲[0,39]において{h'(n)}の切り捨てを行うことを伴う。この方法で生じる誤差は、αの値だけでなく、スペクトルの勾配にも依存する。典型的には、低周波において強いエネルギー濃度を持つ信号については、h(0)の値は、隣接する要素と同じオーダーであり、h'(-1)=-α×h(0)であり、計算にほとんど影響を及ぼさないと理解される。
【０４３３】
もちろん、本発明は、上で実施例により説明されている実施形態に限定されず、他の変更形態にも拡大適用される。
【０４３４】
一般に、本発明の実装により定義される符号帳には、多方面にわたる用途がある。それぞれのブロックは、そのブロックに先行する、またはそのブロックに続くブロックに完全に独立しているため、1ブロックに対し、特定の事前注意なしで隣接するブロックに使用されるのと完全に異なる符号帳を使用することが可能である。こうして、連続性の問題は回避される。そこで、例えば、基本符号帳に使用される1つまたは複数のパターンを修正することにより、符号化される信号に使用される符号帳を適応させることは非常に容易である。複数の出現におけるパターンの中心の位置を定義する集合および/または振幅の集合を修正するようにすることもできる。これらの可能な修正は、例えば、ソースによって決定される可変ビットレート符号器の場合に特に適している。
【図面の簡単な説明】
【０４３５】
【図１】CELP符号器の概要図である。
【図２】関連する復号器を示す図である。
【図３ａ】本発明の実装に対する基本パターンを示す図である。
【図３ｂ】基本パターンの第1の出現の位置の第1のA0集合を示す図である。
【図３ｃ】基本パターンの第2の出現の位置の第2のA1集合を示す図である。
【図３ｄ】本発明の実装に対し選択されるベクトル符号の一実施例を示す図である。
【図４】本発明による符号帳を使用するCELP基準の推定における自己相関行列の修正の表である。
【図５】現在のブロックの外に一部が配置されているパターンの存在を考慮するために「補正された」CELP基準を適用することにより、本発明による符号帳内の最良ベクトル符号を探索する主要なステップを示す図である。
【図６】本発明による符号帳の合併の一実施例を示す図である。
【図７】本発明による符号帳の総和の一実施例を示す図である。
【図８ａ】Ｇ.729標準に従ってCELP符号器を精密化する本発明の例示的な実施形態における第1の基本符号帳を示す図である。
【図８ｂ】Ｇ.729標準に従ってCELP符号器を精密化する本発明の例示的な実施形態における第2の基本符号帳を示す図である。
【図８ｃ】図8aの符号帳および図8bの符号帳の波形の平均スペクトルの見かけを比較した図である。
【図９】本発明の実装例により精密化されたG.729標準によるCELP符号器の例示的な実施形態を示す図である。
【符号の説明】
【０４３６】
α    係数
a    値
c(n)    ベクトル
D=D1+D2    グローバル符号帳
D1、D2    符号帳
H    フィルタ
N    長さ
Pat(D1)    単一パルス
Pat(D2)    基本パターン
V1i、V2j    ベクトル
V21、V22、V2n    ベクトル
y(j)(-p=j=p)    基本パターン
Wi(z)    知覚フィルタ
10    LPC分析
11    知覚的重み付けフィルタ
12    LPC合成フィルタ
13、14    モジュール
21、22    モジュール
【図１】
2009527784.tif 000115
【図２】
2009527784.tif 000116
【図３ａ】
2009527784.tif 000117
【図３ｂ】
2009527784.tif 000118
【図３ｃ】
2009527784.tif 000119
【図３ｄ】
2009527784.tif 000120
【図４】
2009527784.tif 000121
【図５】
2009527784.tif 000122
【図６】
2009527784.tif 000123
【図７】
2009527784.tif 000124
【図８ａ】
2009527784.tif 000125
【図８ｂ】
2009527784.tif 000126
【図８ｃ】
2009527784.tif 000127
【図９】
2009527784.tif 000128
【手続補正書】
【提出日】平成20年10月22日(2008.10.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタルオーディオ信号を符号化/復号化するために、次元NのそれぞれのベクトルがN個の有効な位置を占有しうるパルスを含むCELPタイプの励振ベクトルの符号帳を構築する方法であって、
初期符号帳は、
-基本パターンを形成する共通パルス列を供給するステップと、
-前記N個の有効な位置から1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、前記符号帳のそれぞれの励振ベクトルに前記基本パターンを割り当てるステップとにより構築される方法。
【請求項２】
励振ベクトルにおいてそれぞれの出現に現れる前記基本パターンは、前記出現に関連付けられている振幅を掛け合わされる請求項1に記載の方法。
【請求項３】
前記初期符号帳の前記ベクトルすべてが、前記パターンの同一の数の出現を含み、
前記初期符号帳は、
-前記基本パターンを形成するパルス列と、
-それぞれのベクトル内の前記パターンの出現の数と、
-前記パターンの前記出現に許されている位置の集合と、
-前記パターンの前記出現に関連付けられる振幅の集合とにより定義される請求項1に記載の方法。
【請求項４】
ベクトルのブロックエッジのところに現れる前記パターンは、切り捨てが行われ、前記切り捨てされたパターンの残りのパルスは、前記ブロックの先頭または末尾を占有する請求項1に記載の方法。
【請求項５】
ベクトルのそれぞれのブロック内の前記パターンについて受理される前記位置のうち、前記パターン位置は、前記パターンが少なくとも部分的に重なり合うような位置であること、および重なり合う前記パターンの前記パルスは、1つずつ加えられる請求項1に記載の方法。
【請求項６】
グローバル符号帳は、基本符号帳の総和により構築され、前記基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳であり、前記グローバル符号帳の前記ベクトルは、前記基本符号帳の前記ベクトルの共通位置パルスを加えることにより形成され、
前記基本符号帳の前記ベクトルは、前記総和を構築するために、それぞれが符号帳に関連付けられている利得により重み付けされる請求項1に記載の方法。
【請求項７】
前記基本パターンは、少なくとも1つの中央パルスを含み、前記中央パルスの前後に前記中央パルスの符号と反対の符号を持つ少なくとも1つのパルスが配置され、
前記パターンは、3つのパルス、つまり、
-中央パルスと、
-前記中央パルスの前に来る第2のパルスと、
-前記中央パルスの後に続く第3のパルスとを含み、
前記第2のパルスと前記第3のパルスの符号は前記中央パルスの符号の反対であり、
前記第2のパルスと前記第3のパルスの振幅は、絶対値として、前記中央パルスの振幅よりも小さい請求項1に記載の方法。
【請求項８】
請求項1から7のいずれか一項に記載の符号帳を構築する前記方法を実装する命令を含むコンピュータプログラム。
【請求項９】
デジタルオーディオ信号を符号化/復号化するための、CELPタイプの励振ベクトルの符号帳であって、
N個の有効な位置のうちの1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、基本パターンを形成する、共通パルス列を含む次元Nの励起ベクトルを含むCELPタイプの励振ベクトルの符号帳。
【請求項１０】
請求項9に記載の少なくとも1つの符号帳を備える、デジタルオーディオ信号を符号化/復号化するデバイス。
【請求項１１】
請求項1から7のいずれか一項に記載の方法を実装することにより得られる少なくとも1つの初期符号帳を含む複数のカスケード配列された符号帳を備え、
符号帳の前記カスケード内に初期符号帳と後続の符号帳とを備え、
前記初期符号帳は、少なくとも1つの中央パルスを含む基本パターンを形成することにより構築され、前記中央パルスの前後に前記中央パルスの前記符号と反対の符号を持つ少なくとも1つのパルスが配置され、
前記パターンは、3つのパルス、つまり、
-中央パルスと、
-前記中央パルスの前に来る第2のパルスと、
-前記中央パルスの後に続く第3のパルスとを含み、
前記第2のパルスと前記第3のパルスの符号は前記中央パルスの符号の反対であり、
前記第2のパルスと前記第3のパルスの振幅は、絶対値として、前記中央パルスの振幅よりも小さい請求項10に記載のデバイス。
【請求項１２】
前記カスケード配列されている符号帳の前記ベクトルにおける前記パターンおよび/または前記パルスの前記位置は、同一の集合を記述し、パターンの前記位置は前記パターンを形成する前記パルス列内の中央パルスの前記位置により実質的に識別される請求項11に記載のデバイス。
【請求項１３】
前記符号化の際に、前記初期符号帳内の最良候補ベクトルを決定した後、少なくとも
-前記最良候補ベクトル内の前記基本パターンの1つまたは複数の前記位置の指示と、
-前記パターンの1つまたは複数の前記位置に関連する1つまたは複数の前記振幅の指示を含む指数が形成され、
前記指数は後続の復号化のために伝送されることが意図されており、
前記復号化の際に、前記最良の潜在的候補は、前記指数から、
-前記指数により示されている前記位置に前記基本パターンを位置決めすることにより、
-関連する振幅をそれぞれの位置における前記パターンに掛け合わせることにより、
-および、前記示されている位置に位置決めされた前記掛け合わされたパターンを足し合わせることにより再構築される請求項10に記載の使用。
【請求項１４】
前記デバイスは、利得重み付け符号帳の総和により得られる単一のグローバル符号帳を構築することになる複数の符号帳のカスケード配列を備え、
前記カスケード配列された符号帳は、現在の符号帳について、階層符号化構造を与える、少なくとも1つの先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる請求項13に記載の使用。
【請求項１５】
前記探索は、ベクトルのブロックエッジのところに現れ、穏当に切り捨てが行われるパターンを有するベクトルを含む符号帳において実行され、前記切り捨てされたパターンの残りのパルスは、前記ブロックの先頭または末尾を占有し、
少なくとも1つのブロックエッジにおいて前記基本パターンの切り捨てを考慮して、必要に応じて、前記相互相関ベクトルの要素および/または前記行列の要素が補正される請求項13に記載の使用。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、「CELP」(符号励振線形予測)技術を使用する、デジタルオーディオ信号の符号化/復号化に関する。
【背景技術】
【０００２】
このような信号の圧縮モード符号化は、信号の伝送または信号の格納に必要な場合がある。信号は、音声信号または、より一般的には、デジタル化された音響信号であってよい。より具体的には、本発明は、以下のことを行う予測符号化技術に関する。
-合成フィルタ(「LPC」フィルタと呼ばれ、LPCは「線形予測符号化」の略である)を推定するために、入力信号の短期予測が最初に実行される。
-次いで、LPCフィルタによる元の信号のフィルタリングにより得られる残留信号が、モデル化され(再構成された信号を生成するためにフィルタリングを使用するいわゆる「励振」信号により)、符号化される。
【特許文献１】米国特許第6,029,125号
【非特許文献１】「Code-Excited Linear Production (CELP): High Quality Speech at Very Low Bit Rates」、B.S. Atal and M.R. Schroeder、ICASSP、1985年、937〜940頁
【非特許文献２】「Fast CELP coding based on algebraic codes」、J.P. Adoul、P. Mabilleau、M. Delprat、S. Morissette、ICASSP 1987年、1957〜1960頁
【非特許文献３】ITU-T勧告G.729(「Coding of Speech at 8 Kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)」、1996年3月)
【非特許文献４】ITU-T勧告G.729、「Annex A: Reduced complexity 8 Kbit/s CS-ACELP speech codec」、1996年11月
【発明の開示】
【発明が解決しようとする課題】
【０００３】
より具体的には、本発明は、一組の候補信号から励起信号を、知覚的重み付けを導入することで、この信号により励起された合成フィルタの出力を元の信号と比較することにより選択する、CELP(符号励振線形予測)符号器のファミリに関するものである。このような符号器は、6から24Kビット/sのビットレートの音声信号の符号化に広く使用されており、とりわけITU-T G.729、GSM-EFR、3GPP/WB-AMR標準において採用されている。
【０００４】
本発明は、以下で詳細に説明されている階層符号化システムにおいて有利に適用可能であり、それに関して、品質を高めるために基本レイヤとその後に続く補助レイヤによりビットストリームが形成される。
【課題を解決するための手段】
【０００５】
CELP符号器の概要図が図1に示されている。図2は、関連する復号器を示している。
【０００６】
このタイプの符号器/復号器に関する詳細は、特に以下の基本参考文献において説明されている。
「Code-Excited Linear Production (CELP): High Quality Speech at Very Low Bit Rates」、B.S. Atal and M.R. Schroeder、ICASSP、1985年、937〜940頁。
【０００７】
図1に示されているように、この符号器は、入力信号S(n)を複数のサンプルブロックつまり「フレーム」(典型的には信号の10から20msのオーダーの)にセグメント分割する。そこで、短期線形予測フィルタのパラメータを推定し、量子化するために、LPC分析10が実行される。ほとんどの場合において、次に、以下の2つの符号帳を使用して励振信号exc(z)が実行される。
-倍音の周期性をモデル化することを目的とする適応符号帳DICa、および
-非調和部および非有声音に対するいわゆる「固定」符号帳DICf。
【０００８】
本発明は、主に「固定」符号帳DICfを対象とするが、適応符号帳DICaに関係するものは、好ましくは、以下では取り扱われない。
【０００９】
励振信号のモデル化は、一般に、典型的には5msのオーダーの信号サブフレームに対応するサンプルブロックについて実行される。これ以降、N個のサンプルからなる信号サブフレームの場合について考察する(例えば、8kHzのサンプリング周波数でN=40サンプル)。このような符号器において、符号帳内の最適な符号語(「ベクトル符号」または「波形」とも呼ばれる)の選択は、
【００１０】
【数１】
2009527784.tif 000129
【００１１】
というタイプの関係式により表される、知覚的重み付け誤り信号のエネルギーを最小化することにより実行されるが、ただし、表記
【００１２】
【数２】
2009527784.tif 000130
【００１３】
は、それぞれ重み付き誤り信号、符号化される原信号、および再構成信号のz変換を表す。
【００１４】
フィルタW(z)は、知覚的重み付けフィルタ11である(これは従来LPC分析フィルタを示すタイプ
【００１５】
【数３】
2009527784.tif 000131
【００１６】
であり、因数γ1およびγ2は知覚的重み付け度を調節する)。
【００１７】
重み付き誤り信号E(z)は、タイプ
【００１８】
【数４】
2009527784.tif 000132
【００１９】
の関係式により表すことができるが、ただし、
-1/Aq(z)は、LPC合成フィルタ12に対応し、
-res(z)は、LPC残留信号であり、
-exc(z)は、
【００２０】
【数５】
2009527784.tif 000133
【００２１】
により定義された励振信号である。
【００２２】
信号excpast(n)およびexccurrent(n)は、それぞれ、通過した励振信号(現在のブロック上でゼロ信号)および現在の励振信号(ゼロメモリ信号)を表す。
【００２３】
したがって、該当するそれぞれの利得
【００２４】
【数６】
2009527784.tif 000134
【００２５】
および
【００２６】
【数７】
2009527784.tif 000135
【００２７】
が、適応符号帳DICaおよび固定符号帳DICfの出力における信号
【００２８】
【数８】
2009527784.tif 000136
【００２９】
および
【００３０】
【数９】
2009527784.tif 000137
【００３１】
に適用される。次いで、これらの信号を足し合わせて、励振信号exc(n)を得る。
【００３２】
より具体的には、図1の実施例では、信号
【００３３】
【数１０】
2009527784.tif 000138
【００３４】
が定義されており、それに対しz変換
【００３５】
【数１１】
2009527784.tif 000139
【００３６】
は、タイプ
【００３７】
【数１２】
2009527784.tif 000140
【００３８】
の関係式により過去の励振の予測を表す。
【００３９】
なお従来、複合フィルタ
【００４０】
【数１３】
2009527784.tif 000141
【００４１】
および「フィルタ処理されたターゲット信号」が、タイプ
x(z)=H(z)(res(z)-excpast(z))
の関係式により定義されている。
【００４２】
重み付き誤り信号について、これらの関係式から得られるのは、タイプ
E(z)=x(z)-H(z)×exccurrent(z)
の式である。
【００４３】
次いで、CELP最小化基準(後続のモジュール13および14)が、波形{c(n);0 ≦ n ≦ N-1}に対する符号帳内の探索により表されるが、これは量
【００４４】
【数１４】
2009527784.tif 000142
【００４５】
を最小にし、あるいはさらには、比
【００４６】
【数１５】
2009527784.tif 000143
【００４７】
を
【００４８】
【数１６】
2009527784.tif 000144
【００４９】
で最小にする。
【００５０】
要素{h(n)}は、フィルタHのインパルス応答を表す(上の関係式(1)により定義されている)。
【００５１】
一般に、フィルタHは因果的である、つまり、n<0であるnについて要素h(n)はゼロであると考えられる。しかし、これ以降、n<0であるnについて要素h(n)の全部または一部が非ゼロとなりうる、より一般的なケースが想定される。
【００５２】
従来、「Fast CELP coding based on algebraic codes」、J.P. Adoul、P. Mabilleau、M. Delprat、S. Morissette、ICASSP 1987年、1957〜1960頁で説明されているいわゆる逆方向フィルタリング技術を使用し、分子に対し、0からN-1の範囲のkについて
【００５３】
【数１７】
2009527784.tif 000145
【００５４】
【数１８】
2009527784.tif 000146
【００５５】
として、すべてのベクトルに共通の要素(特にターゲットベクトルとフィルタH(z)との間の相関)を予め計算することができる。
【００５６】
同様に、符号帳の探索前にフィルタH(z)の自己相関を計算し、それを利用して分母の計算を、
【００５７】
【数１９】
2009527784.tif 000147
【００５８】
として高速化することが可能であるが、ただし、0からN-1の範囲のkおよびk'について
【００５９】
【数２０】
2009527784.tif 000148
【００６０】
である。
【００６１】
選択されたベクトル符号に関連付けられた最適な利得が量子化される。量子化指数および選択されたベクトル符号に関連付けられた指数は、(電気通信ネットワークを介して)伝送されるか、または単に記憶媒体に格納され、その後伝送される。次いで、これらの指数に基づき、復号化が実行できる。
【００６２】
復号化において、図2に示されているように、それぞれの利得
【００６３】
【数２１】
2009527784.tif 000149
【００６４】
が、復号化され、それぞれ選択されたベクトル符号の指数
【００６５】
【数２２】
2009527784.tif 000150
【００６６】
を使用して、それぞれの成分要素を取り出し、励振信号を再構成し、次いで再構成信号を再構成することができる(後続のモジュール21および22)。
【００６７】
励振符号帳の選択は、ビットレート、品質(または与えられたビットレートの効率)、および複雑度の制約条件により決まる。ビットレートが制限されている場合、符号化すべき信号について良好な再現品質を得ることは困難である。複雑度も重要な因子である。あらゆる通信アプリケーションにおいて、リアルタイムという制約条件が、計算時間に制限を課している。文献において提案されている第1のCELP符号帳は、ランダムに引かれたベクトル符号により形成されており、これが、符号帳のそれぞれのベクトルに対する基準の分子と分母の計算を強いる。そのため、最良の符号語の探索はひどく複雑なものとなった。
【００６８】
次いで、最適な波形の探索を高速化するために、構造化された符号帳が提案され、この場合、いくつかの探索計算は、符号帳の構造によりベクトル間にもたらされる関係式を使用して、異なる入力信号について1回だけ実行される(または「共通計算」)。構造化された符号帳の最もポピュラーなカテゴリの1つは、代数的符号により、またはさらには正則であろうとなかろうと点の配列(典型的にはGosset配列)に従って、位置が定義されたパルスからなる、代数的符号帳のファミリである。このような符号帳を代表する最も標準的なものは、ACELP(「Algebraic CELP(代数的CELP)」の略)という名前で知られている。これらの構造化された符号帳により、符号語の格納を回避することが可能になるが、これは、ベクトル符号の要素をその指数から計算することを可能にする全単射関係である。
【００６９】
さらに、これらの符号帳は、次善ではあるが、非常に効果的な集中探索アルゴリズムにより加速される高速探索をもたらした。したがって、マルチパルス符号帳について、上で定義されている分子と分母の式は、そのような符号帳のベクトルがkを0からK-1までの数とする振幅sk(これらの振幅は実際には、しばしば単純な正負に単純化される)のK個のパルスからなると仮定した場合に簡素化され、
【００７０】
【数２３】
2009527784.tif 000151
【００７１】
および
【００７２】
【数２４】
2009527784.tif 000152
【００７３】
となるが、ただし、akおよびaiは、パルスが出現する位置を表す。
【００７４】
しかし、これらの符号帳は、ビットレート制約条件がそのサイズを制限する場合に、コンテンツのリッチネスのある種の不足を生じるという欠点を持つ。パルスは、より少なくなり、このため、かなりスパースになる。そこで「スパース符号帳」という用語が適用される。すべての非ゼロサンプルは、同じ振幅を有し、ごくわずかのパルスでブロックのサンプル間の振幅のバランスを正しく表すことは困難である。そのため、ひどく貧しい代数的符号帳を使用して引き起こされる劣化は、耳によく聞こえる。これらは、例えば、信号のある種の騒々しさにより特徴付けられる。
【００７５】
これらの欠点を解消するために、いわゆる「スパースネス低減」技術が、米国特許第6,029,125号において提案された。これは、信号のスペクトルの係数を変えずにパルスを分散する、雑音信号の追加により、または全域通過フィルタを使用するフィルタリングにより、少数のパルスを含む(およびしたがって、ある種の「スパースネス」を表す)マルチパルス符号帳を充実させることを提案している。このようなフィルタリングは、もっぱら位相に作用する。符号帳のこれらの修正は、復号化の後に導入することができるか、または選択プロセスにおいて(したがって符号化の際に)導入することができる。
【００７６】
しかし、符号器に導入された場合、雑音を加えると、最適波形を選択するために高速アルゴリズムを使用できなくなる。さらに、固定符号帳のフィルタリングでは、プロセスのある種の連続性を前提条件としているが、それは、フィルタがフィルタ処理された信号のサポートを拡散する傾向を有しているからであり、また一般的に、先行するブロックの励振を補正することはできないため、プロセスのまずい制御を受ける、符号化されたサンプルブロックのエッジのところの不規則部分が出現しうる。
【００７７】
さらに、信号に応じて符号帳に加えられた修正のタイプを適合させることを望んでいる場合、フィルタから他のフィルタへ切り換える異なるフィルタを用意する以外の解決策はなく、このこともまた、歪みを生じさせる原因となりうる。
【００７８】
さらに、上ですでに指摘されているように、米国特許第6,029,125号において提示されている技術は、符号帳のスペクトルの姿を保持する修正を加えることにより符号帳のパルスの不足を是正しようとするものである。次に、米国特許第6,029,125号に保持されている解決策と相容れない、スペクトルの特定の部分、特に高い周波数部分を適切に符号化するベクトル符号を含めることによりマルチパルス符号帳を充実させる必要がしばしばある。
【００７９】
受け入れられる探索複雑度を保持することによりパフォーマンスを高める他のタイプの符号帳が提案されている。したがって、場合によっては異なる、カスケード符号帳(または「多段式」符号帳)は、複数の逐次的CELP探索をもたらし、それぞれの探索は関連付けられた利得を持つ選択されたベクトル符号の指数を生成する。
【００８０】
次いで、励振ベクトルは、個数Iの符号帳がカスケード配列されていると仮定した場合に
【００８１】
【数２５】
2009527784.tif 000153
【００８２】
により表される。
【００８３】
I個の符号帳内の符号部分ベクトル{ci(n)}の結合探索は、複雑なものとなる可能性がある。実際、次善の逐次探索法が使用され、この方法は、第1の符号帳内の最適波形を選択して、関連付けられている利得を計算し、次いで、この利得を量子化して、この第1の符号帳の知られている寄与分を差し引くが、これは、上に示されている式を再利用することで、
【００８４】
【数２６】
2009527784.tif 000154
【００８５】
により変換され、ただし
【００８６】
【数２７】
2009527784.tif 000155
【００８７】
および
【００８８】
【数２８】
2009527784.tif 000156
【００８９】
である。
【００９０】
「フィルタ処理されたターゲット信号」は、x'(z)=H(z)(res(z)-exc1(z))に修正され、そこで第2の符号帳の部分ベクトルの選択が行われる。次いで、すべての逐次的符号帳についてこのプロセスを繰り返す。
【００９１】
直交符号帳の使用も、この文脈において規定されうることに留意されたい。
【００９２】
次に、階層符号化構造体の簡単な説明を行う。
【００９３】
このような構造体は、「スケーラブル」とも呼ばれ、複数の逐次レイヤに分割されるバイナリデータを符号化プロセスに供給するものである。基本レイヤは、ビットストリームを復号化し、最低復号化品質を決定するために絶対的に必要なビットにより形成される。後続のレイヤは、復号化された信号の品質を徐々に高めてゆくことを可能にし、それぞれの新しいレイヤは、復号化の際に使用され、高い品質の信号を出力として供給する新しい情報を追加する。階層符号器の具体的特徴の1つは、符号器または復号器に特定の指示を送らなくても、ビットストリームの一部を削除するために伝送または格納連鎖の任意のレベルで介入することができる点である。復号器は、受信するバイナリ情報を使用して、対応する品質の信号を生成する。
【００９４】
階層符号化処理演算の構成は、符号化「レイヤ」という概念を含む。これらのレイヤは、異なる技術に由来する方法を実装することにより構築されうる。一変更形態として、異なる符号化レイヤは、同一のタイプの処理に由来し、そこでは、補助データを供給することにより単純に品質を高めることが可能である。そこで、「入れ子CELP」符号器とも呼ばれる、階層CELP符号器では、一般に、それぞれの段階で異なりうるか、または同一でありうる、複数の符号帳を使用する。
【００９５】
しかしながら、カスケード符号帳および階層符号化構造体に関わる符号帳は、いぜんとして、すでに説明されているのと同じ問題をかかえている。
【００９６】
本発明は、そのような状況を改善しようとするものである。
【００９７】
特に、これは、非常に単純な復号化および符号帳に関連する低い複雑度を保持しながら、低ビットレートにおけるCELP符号帳の波形およびスペクトル成分に関するリッチネスの不足を修復することを目的としている。符号帳を徐々に充実させることも目的としているが、これは階層符号化構造の文脈では特に興味深いものである。他の目的は、いわゆる「アンチスパースネス」技術の魅力的な代替え手段を提案すること、より一般的には、逐次的ブロック間の連続性の制御を改善しつつ、スパース符号帳の充実に寄与することである。
【００９８】
この目的のために、次元NのそれぞれのベクトルがN個の有効な位置を占有しうるパルスを含むCELPタイプの励振ベクトルの符号帳を構築してデジタルオーディオ信号を符号化/復号化する方法を提案する。
【００９９】
本発明の方法では、初期符号帳(「基本符号帳」ともいう)は、
-基本パターンを形成する共通パルス列を供給し、
-前記N個の有効な位置から1つまたは複数のそれぞれの位置における1つまたは複数の出現に基づき、符号帳のそれぞれの励振ベクトルに基本パターンを割り当てることにより構築される。
【０１００】
「パルス列」という表現は、複数のパルスを含むサンプルの連続、ならびに適宜、パルスとパルスの間にある、および/またはその連続の始まりおよび/もしくは終わりにある1つまたは複数のゼロサンプルを意味するものとここでは理解されるべきである。
【０１０１】
好ましくは、正当に構築された符号帳は、いわゆる「固定」タイプのCELP励振符号帳である(例えば上述の図1および2で参照されているDICf)。
【０１０２】
好ましくは、励振ベクトル内のそれぞれの出現において現れる基本パターンは、前記出現に関連する振幅を掛け合わされるが、この振幅は、例えば、値+1および-1を含む集合から選ばれる。
【０１０３】
好ましくは、ここでもまた、初期符号帳のすべてのベクトルは、基本パターンの同一の数の出現を含む。
【０１０４】
したがって、初期符号帳は、
-基本パターンを形成するパルス列と、
-それぞれのベクトル内のパターン出現の数と、
-前記パターンの出現に許されている位置の集合と、
-前記パターンの出現に関連付けられる振幅の集合とにより定義されうる。
【０１０５】
そこで、本発明は、CELP励振ベクトルの符号帳を構築することを提案し、これらの符号帳は1つまたは複数の出現に現れる基本パターンのデータにより定義され、それぞれの出現に振幅が掛け合わされる。ブロックエッジ(サンプルフレームまたはサブフレーム)のところに現れる可能性のあるこれらのパターンは、ブロック内に正確に挿入されるように切り捨てられる。
【０１０６】
より総称的には、ベクトルのブロックエッジのところに現れるパターンは、切り捨てが行われ、切り捨てされたパターンの残りのパルスは、ブロックの先頭または末尾を占有すると理解される。
【０１０７】
次いで、次元Nのベクトルをひとまめにした、本発明の方法により得られる符号帳は、長さNのブロック内で「シフト」された、基本パターンにより定義される。それぞれのパターンは、足し合わされたK回の出現において現れ、それぞれの出現はそれ自体、
-振幅項(場合によっては極性)、つまり、パターンに、出現毎に所定の値(例えば、±1)が掛け合わされることと、
-その出現におけるパターンの位置とにより定義される。
【０１０８】
しかし、ここで注意すべきは、当業でよく知られている、マルチパルス符号帳は、この方法で得られる符号帳の特定の場合であることであるが、それはマルチパルス符号帳の場合のパターンの長さが単に1であるからである。このタイプのマルチパルス符号帳は、これ以降「自明な基本符号帳」と呼ばれる。
【０１０９】
さらに、本発明の方法では、符号帳の組合せを構築することが可能である(1つまたは複数の補助的な従来のマルチパルス符号帳を使用することも除外することなく、上述のように、初期符号帳と構築された符号帳)。
【０１１０】
したがって、本発明の方法により得られる符号帳は、
-基本パターン(1よりも大きい長さの)により、およびパターンの位置により、および異なる出現に応じた関連する振幅により定義される、非自明な、単一の基本符号帳、または
-基本符号帳のうちの少なくとも1つが、非自明な基本符号帳である、基本符号帳の合併、または
-基本符号帳のうちの少なくとも1つが、非自明な基本符号帳であり、すべてのパターンの出現が足し合わされる、場合によっては重み付けされる、基本符号帳の総和で構成されうる。
【０１１１】
より一般的に、グローバル符号帳は、基本符号帳の総和により構築することができるが、ただし、その符号帳のうちの1つは、基本パターンにより定義された初期符号帳である。グローバル符号帳のベクトルは、この場合、好ましくは符号帳にそれぞれ関連付けられている利得により1つずつ重み付けされた、基本符号帳のベクトルの共通位置パルスを足し合わせることにより形成される。
【０１１２】
一変更形態では、グローバル符号帳は、基本符号帳の合併により構築することができるが、ただし、基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳である。この場合、グローバル符号帳は、単純に、すべての基本符号帳のすべてのベクトルを含む。
【０１１３】
このような符号帳の構成では、すでに、さまざまなコンテンツタイプを与えることが可能になっている。基本パターンの形態およびその出現の回数に応じて、異なる見かけの、場合によっては比較的多数の非ゼロパルスを有する、励振ベクトルを得ることが可能である。例えば、基本パターンの選択は、スペクトル型の考察により導かれる。コンテンツのこのリッチネスは、必ずしも、特に大きな符号帳サイズを必要とするわけではないが、それは、パターンの出現を足し合わせることにより、パターンと出現の数が穏当である励振ベクトルの形態を変えることが可能であるからである。したがって、同等の指数の集合に対し、従来のマルチパルス符号帳のと実質的に異なるスペクトル成分を有する励振ベクトルを表すことが可能である。
【０１１４】
このような実施形態では、基本パターンが少なくとも1つの中央パルスを含み、その中央パルスの前後にその中央パルスの符号と反対の符号を持つ少なくとも1つのパルスが来るようにすることが可能である。より具体的には、パターンは、合計3つのパルス、つまり、
-中央パルス、
-中央パルスの前に来る第2のパルス、
-および中央パルスの後に続く第3のパルスを含むことができ、
第2のパルスと第3のパルスの符号は中央パルスの符号の反対であり、
第2のパルスと第3のパルスの振幅は、絶対値として、中央パルスの振幅よりも小さく、有利には、絶対値として、0から(0を含まない)中央パルスの振幅の約半分まで可変である。
【０１１５】
次いで、少なくとも1つの初期符号帳がカスケードの中で後続である符号帳のカスケード配列を含む符号化/復号化デバイスを備えることは有利であることが実証されており、この初期符号帳は中央パルス、およびその中央パルスの振幅と反対の振幅の先行および後続パルスを持つそのような対称的パターンを含む。このデバイスは、有利には、最適な励振ベクトルの探索において符号化を特に伴うグローバル知覚重み付けフィルタの高域フィルタリングを使用できる。このような実施形態の一実施例は、図8a、8b、8c、および9を参照しつつ、以下で詳しく説明される。この実施形態では、高域フィルタの使用により初期符号帳における探索を絞り込むことが可能になった。
【０１１６】
ここでは、この実施形態は、パターンの中心の出現がマルチパルス符号帳のパルスの出現と同じ集合を記述する、中心に関して対称的なパターンにより定義された符号帳とマルチパルス符号帳とのカスケード配列を提案していると単純に述べられる。
【０１１７】
この実装では、1つまたは複数の補助基本符号帳の追加により初期基本符号帳のスペクトル領域を広げることが可能であり、そこで、これらの補助基本符号帳における探索は最適なベクトルの探索に関わる知覚重み付けフィルタを修正することによりスペクトルに関して絞り込まれ、この修正の選択およびそれらの補助基本符号帳のパターンの選択は場合によってはリンクする。
【０１１８】
より一般的には、複数の基本符号帳の合併または総和の場合、パターンの中心および関連する振幅が、同じ集合を、ただし異なるパターンについて記述する、基本符号帳が使用される。
【０１１９】
そのため、より一般的には、符号帳のベクトル内のパターンおよび/またはパルスの位置は、特にそれらがカスケード配列されている場合に、好ましくは同一である集合を記述し、パターンの位置はそのパターンを形成するパルス列内の中央パルスの位置により実質的に識別される。
【０１２０】
次いで、計算および高速処理アルゴリズムを共有することが可能であるが、なぜなら、最良候補励振ベクトルを探索する技術は、後者が従来のマルチパルス符号帳の特定の構造を使用するので本発明により構築される符号帳においても高速であり、この技術によりマルチパルス符号帳の場合に導入される効果的な処理演算を使用することが可能になるからである。
【０１２１】
ここでは、パターンの位置は、そのパターンが奇数個のサンプルを含む場合に、そのパターンの中心のサンプルのブロック内の位置により識別されることが可能であることが示される。しかし、厳密に同等の方法により、奇数長を得るために、偶数長の任意のパターンに0を加えて補完することができる。より一般的に、パターンの位置を識別するための他の変更形態を考えることができる。
【０１２２】
本発明は、それぞれの出現に対する位置および振幅係数が伝送される1つまたは複数のパターンのスケーリングされた出現を足し合わせることにより、そのような符号帳のベクトルの指数を復号化する非常に単純な技術を提案する。
【０１２３】
一般的に、符号化では、初期符号帳内の最良候補ベクトルを決定した後、好ましくは少なくとも
-最良候補ベクトル内の基本パターンの1つまたは複数の位置の指示、および
-パターンの1つまたは複数の位置に関連する1つまたは複数の振幅の指示を含む指数が形成され、
前記指数は後続の復号化のために伝送されることが意図されている。
【０１２４】
複数の符号帳が用意されている場合、この指数は、さらに、最良候補ベクトルが見つかった符号帳の指示を含む。そのため、基本パターンを含む初期符号帳内に最良候補ベクトルが見つかった場合、指数は、特に、上述の初期符号帳に関係する指示を含み、このことから、符号帳を構築することを可能にする、したがって最良の候補ベクトルを構築することを可能にする基本パターンに関する指示を含む。
【０１２５】
単一の基本符号帳の場合、指数は、すでに、その出現のそれぞれに関連付けられている振幅および位置を反映している。次いで、最良候補ベクトルを復号化するために、それぞれの出現において占有しなければならない異なる位置で基本パターンを位置決めし、それに対し関連する振幅を掛け合わせ、それらの出現の総和を計算するだけで十分である。
【０１２６】
基本符号帳の合併の場合、この指数から、すでに示されているように、選択された基本符号帳に関する情報が得られる。
【０１２７】
基本符号帳の総和の場合、振幅および位置は、それぞれの基本パターンの出現について利用可能であり、そこでこの手順は合併の場合と等価であり、今度はすべてのパターンの寄与分を総和する。
【０１２８】
本発明による符号帳のベクトルの指数の復号化は、非常に単純である。
【０１２９】
復号化では、最良候補ベクトルは、好ましくは、この指数から、
-たぶん符号帳の合併を使用する場合には、指数により示される初期符号帳に対応する基本パターンをすでに決定していることにより、
-指数により示されている位置に基本パターンを位置決めすることにより、
-指数により示されている関連する振幅をそれぞれの位置におけるパターンに掛け合わせることにより、
-および、前記示されている位置に位置決めされた掛け合わされたパターンを足し合わせることにより再構築される。
【０１３０】
符号帳の総和を使用する場合、符号帳のそれぞれにおけるベクトルの指数は、好ましくは決定され、このことから、上述の最後の3つのステップが、それぞれの指数について適用される。
【０１３１】
本発明により符号帳内の探索を高速化することが可能であり、パターンの位置の集合に強い構造を付与することに特に関心があるように思われたが、例えば、ACELP符号帳の探索では、これによりACELP符号帳に通常導入される非常に有効な高速探索処理演算を適応させる。
【０１３２】
そのため、より一般的に、本発明により構築される符号帳は、好ましくは、強く構造化された集合を有利にはACELP符号帳のパルスの位置の集合として記述する受理されたパターン位置を含む。
【０１３３】
上で示されているように、複数の符号帳を使用する場合、符号帳の探索で同じ処理演算を再利用することができる、パターン位置の同一集合を2つまたはそれ以上の基本符号帳に付与することに特に関心がある。したがって、これらの符号帳のうちの少なくとも1つは、ACELPタイプとすると有利である。
【０１３４】
少なくとも1つの基本符号帳を含む符号帳のカスケード配列は、非常に有利である。この変更形態は、特に、階層符号化構造の場合に特に適している。しかしながら、さまざまな基本符号帳は、同じ目的に使用されないが、それというのも、典型的には、第1の符号帳は、再生するのが望ましい信号の最低品質の符号化を取り扱うからである。後続の符号帳は、比較的に、この品質を改善することを意図されており、これにより、符号化を集約するか、信号タイプに合わせて感度を下げるか、または他の何らかの因子を扱うことが可能になる。
【０１３５】
より一般的には、複数の符号帳のカスケード配列は、結局、上で示されているように、利得重み付け符号帳の総和により得られる単一のグローバル符号帳を構築することを意味する。
【０１３６】
この場合、それぞれの励振ベクトルは、利得を掛け合わせた基本符号帳に由来するベクトルの総和に対応し、基本符号帳は、先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる。したがって、この有利な実施形態では、カスケード配列された符号帳は、現在の符号帳に関して、階層符号化構造を与える、少なくとも1つの先行する符号帳のベクトルにより生成される部分励振の知られている寄与分を差し引くことにより、次々に調べられる。
【０１３７】
特に有利な方法において、最良候補励振ベクトルに対する本発明による符号帳内の探索は、従来技術からわずかしか変更されていない、CELP基準の推定に従って実行され、
a)LPC合成フィルタと知覚フィルタとの積の結果として得られるフィルタのインパルス応答と符号帳の基本パターンとの畳み込みを計算して、畳み込みフィルタベクトルを得るステップと、
b)候補ターゲットベクトルと畳み込みフィルタベクトルとの間の相互相関ベクトルの要素を計算するステップと、
c)場合によっては少なくとも1つのブロックエッジで基本パターンの切り捨てを考慮するようにこの相互相関ベクトルの要素を補正するステップと、
d)畳み込みフィルタベクトルの自己相関行列の要素を計算するステップと、
e)場合によっては少なくとも1つのブロックエッジで基本パターンの切り捨てを考慮するように前記行列の要素を補正するステップと、
f)分子が相互相関ベクトルの要素を伴い、分母が自己相関行列の要素を伴う比の最大化として表されるCELP基準を使用して最良候補ベクトルの探索を実行するステップとを含む。
【０１３８】
探索は、ブロックエッジにおける基本パターンを明らかにできるので、CELP基準の推定は、従来技術によるCELP基準の推定と比較して、ステップc)およびe)の追加によりわずかに修正されることが理解されるであろう。
【０１３９】
さらに、基本符号帳の最適な検索アルゴリズムの簡素化も、切り捨てが行われた部分の相対的エネルギーがエッジパターンについてブロック内に残っている部分と比べて低いときに提案される。この場合、ステップc)およびe)の一方だけ、または両方とも、省略することができる。
【０１４０】
他の簡素化も提案され、これは知覚フィルタを掛け合わせた合成フィルタのインパルス応答を切り捨て、ステップa)で計算された畳み込みフィルタベクトルを切り捨てることを目的とするものである。
【０１４１】
本発明は、本発明の方法を実装することにより、上で定義されている方法だけでなく、デジタルオーディオ信号符号化/復号化デバイスにより構築されうるCELP励振ベクトルの符号帳それ自体もターゲットとする。
【０１４２】
さらに、上で定義されているような符号帳を構築する方法を実装する命令を含むコンピュータプログラムもターゲットとする。
【０１４３】
さらに、本発明による少なくとも1つの符号帳を含む、デジタルオーディオ信号符号化/復号化デバイスもターゲットとする。典型的には、有利な実施形態は、1つまたは複数の符号帳のCELP励振ベクトルを生成するための手段(プロセッサ、計算用メモリなど)を含むデバイスを実現するものであり、それらの符号帳のうちの少なくとも1つは本発明の方法を実装することにより構築される符号帳である。
【０１４４】
有利には、これらの符号帳は、上述のタイプのコンピュータプログラムを実行することにより構築され、次いで、例えば、ベクトル指数をベクトル符号それ自体に関連付ける代数の法則を使用してそのような符号化/復号化デバイスのメモリに格納されうる(例えばACELP技術の場合のように)。
【０１４５】
本発明は、さらに、デジタルオーディオ信号を符号化/復号化するためのそのようなデバイスの使用(したがって、符号化/復号化方法)、デジタルオーディオ信号符号化/復号化デバイスを対象とし、そのような使用を実行するための命令を含む、コンピュータプログラムをターゲットとする。
【０１４６】
一般に、上で表されている一般的な、また任意選択の特性の全部または一部は、符号帳の構築に対し、また符号帳それ自体に対し、または少なくとも1つの正当に構築された符号帳を含む符号化/復号化デバイスに対し、またはそのようなデバイスの使用に対し、またはさらには、符号帳を生成するコンピュータがプログラムに対し、またはデバイスの使用を可能にするコンピュータプログラムに対し、等しく適用されうる。
【０１４７】
したがって、本発明では、中程度のサイズのコンテンツの潜在的リッチネスを高める、CELPタイプの励振ベクトルの符号帳およびその使用を提案する。関連する指数の復号化は、このようなさまざまな形態をとるにもかかわらず、あまり複雑ではない。また、これらの符号帳の特定の構成を利用することにより、最適なベクトルを選択する高速アルゴリズムを導入することが可能である。
【０１４８】
本発明は、比較的中程度のビットレートについてさまざまな励振信号の符号化を可能にし、また適切なベクトルを選択するための高速で、効果的なアルゴリズムも備える、CELP符号帳の一カテゴリを提案することに留意されたい。
【０１４９】
本発明の他の特徴および利点は、以下の詳細な説明、および上述の図1および2に加えて、以下の付属の図面を見ると明らかになるであろう。
【発明を実施するための最良の形態】
【０１５０】
最初に、図3aから3dを参照すると、本発明による「基本」符号帳の内容の説明がある。
【０１５１】
基本符号帳のベクトル符号は、基本パターンy(j)(-p≦j≦p)を、ブロックをオーバーランしたときにパターンを切り捨てることにより長さNのブロック内でシフトされるサンプルの列(図3a)として定義することで得られる。振幅係数を掛け合わせた、この同じサンプルパターンのK回の出現を足し合わせて、符号帳のベクトル符号を形成する。
【０１５２】
一実施例として、図7の参照記号D2が付けられている破線のボックスは、この方法で構築された基本符号帳の少数のベクトルV21、V22、V2nを示している。第1のベクトルV21は、11個のパルスの連続列を含む基本パターンPat(D2)を含む。このパターンの左に、反対極性を持ち、V21ベクトル内に現れる9番目から11番目までのパルスだけがV21内に現れるように切り捨てされたパターンの「終わり」が見られる。次のベクトルV22は、パターンPat(D2)全体および右に切り捨てされ反対極性を持つ他のパターンを繰り返す。ベクトルV21およびV22では、パターンは、別々である。他方、最後のベクトルV2nでは、同じ極性を持つ2つの基本パターンが繰り返されるが、それぞれの中心は、2つのパターンが部分的に重なり合うだけ十分に近い位置を占有する。この場合、重なり合うパルスが、そのサイズを考慮しつつ、足し合わされる。例えば、図7の実施例における符号帳D2の最後のベクトルV2nは、エッジのところの2つの基本パターン、一方に対し右、他方に対し左のパルスの総和を含む(左からグローバルパターンの10番目および11番目のパルス)。同様に、ベクトルV21の第2のパターンの中心の(負の)パルスは、ベクトルV21+V12の和の中のベクトルV12の第2の(正の)パルスで相殺される。
【０１５３】
したがって、一般的に、励振ベクトルのそれぞれのブロック内の基本パターンに対する受理された位置から、パターンが少なくとも部分的に重なり合うようなパターン位置である(ベクトルV2nの場合)。この場合、重なり合うパターンのパルスが足し合わされる。
【０１５４】
上で与えられた公式y(j)(-p≦j≦p)は、後の展開を明確にするという利点を有しており、基本パターン(-p≦j≦p)内の奇数2p+1個の要素をアプリオリに課すように見えることに留意されたい。実際、前述のように、この特定の特徴は、決して、本発明を実装するのに必要というわけではない。偶数個の要素を有するパターンが使用される場合、必要なのは、ゼロ要素をエッジの1つに加えることであり、ここで適用される公式は、そのまま使用できる。
【０１５５】
次元Nの基本符号帳のそれぞれのベクトル{c(n)}は、K個の出現ベクトルykを、0からN-1までの範囲のnおよび0からK-1までの範囲のkについてYK = {sk×yk(n)}となるように加えることにより構築される。
【０１５６】
これらのベクトルは、1つまたは複数のエッジで必要な場合に切り捨てされ、ゼロを補われる、所定の振幅を割り当てられた基本パターンからなる。
【０１５７】
それぞれの出現kは、
-集合Skから値をとって、出現に割り当てられた振幅Skにより、
-例えば、中心が置かれる位置akにより表すことができる、基本パターンの位置により特徴付けられる。akは、その値を集合Akからとり、場合によっては、範囲[0,N-1]の外に置くことができ、唯一の制約条件はもちろんパターンとブロックとの共通部分がゼロでないことである。
【０１５８】
図3bおよび3cは、特にK=2であるそのような符号帳を示している。第1の出現は、位置の集合の5つの位置
【０１５９】
【数２９】
2009527784.tif 000157
【０１６０】
に配置されうる中心a0および振幅s0∈S0={±1}により特徴付けられる(図3b)。第2の出現は、位置の集合の4つの位置
【０１６１】
【数３０】
2009527784.tif 000158
【０１６２】
に配置されうる中心a1および振幅s1∈S1={±1}により特徴付けられる(図3c)。次いで、符号帳は、
5(位置A0)×4(位置A1)×2(A0の極性)×2(A1の極性)=80ベクトル符号
を含む。
【０１６３】
この符号帳に対するベクトル符号の一実施例(位置
【０１６４】
【数３１】
2009527784.tif 000159
【０１６５】
と
【０１６６】
【数３２】
2009527784.tif 000160
【０１６７】
および振幅s0=+1とs1=-1により定義される)は、図3dに示されている。
【０１６８】
したがって、
【０１６９】
【数３３】
2009527784.tif 000161
【０１７０】
が適用される。
【０１７１】
これは、クロネッカーのδ(.)、および
【０１７２】
【数３４】
2009527784.tif 000162
【０１７３】
が機能する場合に切り捨てt(n)=0を使用して
【０１７４】
【数３５】
2009527784.tif 000163
【０１７５】
とも表せる。
【０１７６】
それぞれのベクトル{c(n)}は、それの構成元となる出現のそれぞれの出現の基本パターンの中心の位置の集合
【０１７７】
【数３６】
2009527784.tif 000164
【０１７８】
(ただし、集合の直積を
【０１７９】
【数３７】
2009527784.tif 000165
【０１８０】
で表す)および異なる出現に関連付けられている振幅
【０１８１】
【数３８】
2009527784.tif 000166
【０１８２】
により定義される。
【０１８３】
構成要素c(n)(0≦n≦N-1)は、関係式
【０１８４】
【数３９】
2009527784.tif 000167
【０１８５】
に従って、K個のベクトルykのサンプルnに対する(任意の)寄与分の総和により得られる。
【０１８６】
次元(N+2p)のベクトル{c0(n)}が、
【０１８７】
【数４０】
2009527784.tif 000168
【０１８８】
となるように定義されていると、
【０１８９】
【数４１】
2009527784.tif 000169
【０１９０】
となる。
【０１９１】
基本符号帳のベクトル{c(n)}は、基本パターンyとの畳み込みおよびセグメント[0,N-1]のエッジにおける切り捨てによりベクトル{c0(n)}から推論される。
【０１９２】
ベクトル{c0,(n)}は、基本パターンの中心のデータ
【０１９３】
【数４２】
2009527784.tif 000170
【０１９４】
および振幅のデータ
【０１９５】
【数４３】
2009527784.tif 000171
【０１９６】
により定義されることがわかる。
【０１９７】
中心が構造的に順序付けられている場合、この構造を利用して、符号帳内のベクトル符号の選択をスピードアップする高速アルゴリズムを定義することが可能であることが理解されるであろう。
【０１９８】
切り捨て関数t(n)は、c(n)の式の中に非線形性を持ち込むが、次元Nのベクトル{c(n)}を次元(N+2p)のベクトル{c'(n)}:
【０１９９】
【数４４】
2009527784.tif 000172
【０２００】
に拡張することにより非線形性なしで済ませることができる。
【０２０１】
したがって、ベクトル{c'(n)}
c'(n)=cc(n)+cg(n)+cd(n); -p≦n≦N-1+p
内の3つの部分を明らかにすることが可能である。
【０２０２】
中央部分
【０２０３】
【数４５】
2009527784.tif 000173
【０２０４】
は、{c0(n)}と基本パターンとの畳み込みに対応し、エッジの区間[-p,-1]および[N,N+p-1]内のその構成要素は、アプリオリに非ゼロである。
【０２０５】
他の2つの項は、cc(n)のエッジの非ゼロ構成要素を相殺し、エッジにおいてパターンの可能な切り捨てにより引き起こされる効果に対応し、ただし、
-ブロックの左エッジの効果は
【０２０６】
【数４６】
2009527784.tif 000174
【０２０７】
であり、
-ブロックの右エッジの効果は
【０２０８】
【数４７】
2009527784.tif 000175
【０２０９】
である。
【０２１０】
次に、基本符号帳内のベクトル符号の探索について説明する。
【０２１１】
CELP基準
【０２１２】
【数４８】
2009527784.tif 000176
【０２１３】
の最大化には、分子Numと分母Denの2つの量を計算することが必要であることに留意されたい。
【０２１４】
次元(N+2p)のベクトル{cw(n)}は、上述のベクトル{c'(n)}とフィルタH(z)のインパルス応答との畳み込みにより定義される。しかし、最適な波形を選択する際に、このベクトルのN個の中心要素のみが使用される。
【０２１５】
【数４９】
2009527784.tif 000177
【０２１６】
この式の中で、中央の因子
【０２１７】
【数５０】
2009527784.tif 000178
【０２１８】
は、フィルタHのインパルス応答と基本パターンとの畳み込みに対応するベクトル{h'(i)}(つまり
【０２１９】
【数５１】
2009527784.tif 000179
【０２２０】
)を導入することにより計算される。
【０２２１】
次いで、式
【０２２２】
【数５２】
2009527784.tif 000180
【０２２３】
が得られる。
【０２２４】
次いで、中央の因子は、
【０２２５】
【数５３】
2009527784.tif 000181
【０２２６】
として表されることに留意されたい。
【０２２７】
「左エッジ」因子
【０２２８】
【数５４】
2009527784.tif 000182
【０２２９】
または
【０２３０】
【数５５】
2009527784.tif 000183
【０２３１】
も、集合
【０２３２】
【数５６】
2009527784.tif 000184
【０２３３】
を導入し、K個の集合Ak、k∈[0,K-1]、位置-2p≦ak≦pについて組み合わせることにより
【０２３４】
【数５７】
2009527784.tif 000185
【０２３５】
と表される。
【０２３６】
因子bg(n)内の項の数は、K回の出現における基本パターンの中心akの定義域Akに依存する。しかし、現在のブロックと少なくとも部分的に重なり合うパターンに対し、サンプル数pを超えて、中心がこのブロックの第1のサンプルから離れすぎないようにすることが重要である。この条件は、ak≧-pと表され、結局、Min(-1,ak+p)=-1、および
【０２３７】
【数５８】
2009527784.tif 000186
【０２３８】
となる。したがって、
【０２３９】
【数５９】
2009527784.tif 000187
【０２４０】
となる。
【０２４１】
次いで、関数
【０２４２】
【数６０】
2009527784.tif 000188
【０２４３】
を定義することにより、「左エッジ」因子は、
【０２４４】
【数６１】
2009527784.tif 000189
【０２４５】
と表される。
【０２４６】
後者の式は、それぞれの出現kについて、範囲[-p,p-1]内にある中心の値akのみを伴うことに留意されたい。
【０２４７】
「右エッジ」因子は、アウトセット
【０２４８】
【数６２】
2009527784.tif 000190
【０２４９】
のところで表され、上記の左エッジに適用される原理
【０２５０】
【数６３】
2009527784.tif 000191
【０２５１】
または
【０２５２】
【数６４】
2009527784.tif 000192
【０２５３】
を繰り返す。
【０２５４】
前の場合とは対称的な形で、パターンの中心は、右エッジから高々サンプルp個分離れており、結果として、ak ≦ N+p-1となり、したがって
【０２５５】
【数６５】
2009527784.tif 000193
【０２５６】
となる。
【０２５７】
関数
【０２５８】
【数６６】
2009527784.tif 000194
【０２５９】
を定義することにより、さらに、
【０２６０】
【数６７】
2009527784.tif 000195
【０２６１】
と表すことも可能である。
【０２６２】
したがって、非ゼロ要素の数h'''(n,j)は、n<0となるような非ゼロ要素の個数h(n)に依存する。フィルタH(z)が因果的であると仮定される場合、n≦N-1となるようなすべての要素bd(n)はゼロである。
【０２６３】
したがって、n<0ならばh(n)=0となる因果的フィルタの場合、右エッジ効果は、この計算に影響を及ぼさない。
【０２６４】
これ以降、パターンは、同時に両側で切り捨てされえないと仮定される。反対の場合だと、パターンのサイズはブロックの長さNよりも大きくなる可能性があるが、それでも本発明はこの後者の場合にも適用される可能性がある。
【０２６５】
次に、本発明による符号帳を使用するCELP基準の適用について説明する。
【０２６６】
分子は、
【０２６７】
【数６８】
2009527784.tif 000196
【０２６８】
のように計算できる。
【０２６９】
「中央の」項
【０２７０】
【数６９】
2009527784.tif 000197
【０２７１】
は、マルチパルス符号帳で最適な波形を選択する基準の分子の通常の式に似ている。従来の探索の場合のように、
【０２７２】
【数７０】
2009527784.tif 000198
【０２７３】
が定義され、次いでこの「中央の」項は、
【０２７４】
【数７１】
2009527784.tif 000199
【０２７５】
になる。
【０２７６】
本発明による符号帳のすべての分子について
【０２７７】
【数７２】
2009527784.tif 000200
【０２７８】
を課すことにより類似の式を得ることが可能であり、これは、結局、エッジに配置されるパターンが切り捨てを必要とする出現に対応する補正を、集合ΓgおよびΓdに属す中心akに対する要素d(ak)に加えることになる。
【０２７９】
次いで、
【０２８０】
【数７３】
2009527784.tif 000201
【０２８１】
が適用されるが、これは、従来のマルチパルス符号帳の最良の波形の探索の分子に類似している。
【０２８２】
分母は、
【０２８３】
【数７４】
2009527784.tif 000202
【０２８４】
のように計算される。
【０２８５】
「中央の」項は、従来、
【０２８６】
【数７５】
2009527784.tif 000203
【０２８７】
で表される。
【０２８８】
【数７６】
2009527784.tif 000204
【０２８９】
は、ベクトル{h'(n)}の自己相関行列の要素である。最適な波形の探索では、異なる出現におけるパターンの中心の位置を伴う自己相関行列の要素のみが使用される。
【０２９０】
後者の式は、ここでも、従来のマルチパルス符号帳の場合の分母の式と類似している。
【０２９１】
他方、本発明による符号帳を使用するCELP基準で推定されるすべての分母に対し、図4の表に示されている方法で修正される自己相関関数が導入される。自己相関関数のこのような修正を考慮することにより、従来のマルチパルス符号帳の場合と同じ式を得ることが可能である。
【０２９２】
そこで、修正された行列を使用し、従来のマルチパルス符号帳における探索に対する分母のと同じである形式
【０２９３】
【数７７】
2009527784.tif 000205
【０２９４】
で本発明による探索の分母を表すことが可能である。
【０２９５】
次に、本発明による符号帳に固有の探索について説明する。
【０２９６】
図5を参照し、以下のステップを用意するのが好ましい。
【０２９７】
フィルタHのインパルス応答の畳み込みベクトルは、基本パターン
【０２９８】
【数７８】
2009527784.tif 000206
【０２９９】
で計算される(ステップ51)。
【０３００】
次いで、ターゲットベクトルx(n)とベクトル{h'(i)}(ステップ51で得られる)との間の相関ベクトルの要素
【０３０１】
【数７９】
2009527784.tif 000207
【０３０２】
が計算される(ステップ52)。
【０３０３】
次いで、これらの要素(図5の一般的ステップ53)は、ブロックエッジに現れるパターンに必要な場合に補正される。実際、パターンの中心ak∈Akがブロックのエッジのところでパターンの切り捨てを課すようなk∈{0,1...,K-1}の値に対し(テスト54の出力のところのY矢印)、補正された要素d'(ak)が計算される(ステップ56)。そうでなければ、(テスト54の出力のところのN矢印)、d'(ak)=d(ak)が課される(ステップ55)。両方の場合において、ステップ53の終わりに、エッジ効果を有利に考慮するベクトル{d'(ak)}が得られる。
【０３０４】
次いで、{h'(i)}の自己相関行列の要素が、分母を決定するために、
【０３０５】
【数８０】
2009527784.tif 000208
【０３０６】
および
【０３０７】
【数８１】
2009527784.tif 000209
【０３０８】
ak∈Ak, al∈Al, k=0→K-1, l=k+1→K-1
として、計算される(ステップ57)。 
【０３０９】
これらの要素(図5の一般的ステップ63)は、ブロックエッジに現れるパターンを再び考慮するのに必要な場合に補正される。実際、これらの要素のうちの少なくとも1つがステップ60でブロックエッジの1つをオーバーランするパターンの出現に対応するすべての対(ak,al)について(テスト58の出力のところのY矢印)、補正された要素Φ'(ak,al)が計算される。そうでない場合(テスト58の出力のところのN矢印に対応する、ブロックエッジのところにパターンがない)、ステップ59で、Φ'(ak,al)=Φ(ak,al)が課される。両方の場合において、一般的ステップ63の終わりに、エッジ効果を有利に考慮する行列要素が得られる。
【０３１０】
次いで、最良波形探索は、分子がベクトル{d'(ak)}を実装し、分母が要素Φ'(ak,al)を実装する比の最大化として表される、従来のCELP探索基準を使用して、実行され(ステップ61)、最終的に最良のベクトル符号VCを得る(ステップ62)。
【０３１１】
ここで、図5は、流れ図の形で、本発明による少なくとも1つの符号帳を含む符号化/復号化デバイスを使用することを可能にするコンピュータプログラムのアルゴリズムの一部を例示できることが示されるであろう。
【０３１２】
本発明による基本符号帳における波形の探索は、最終的には、従来のマルチパルス符号帳における探索の、知られていて、効果的なものにまで絞り込まれる。特に、パターンの出現k(0からK-1までの範囲)の中心ak∈Akの位置が、ACELPタイプの構造化された符号帳のパルスの位置を記述する場合、そのようなACELP符号帳について開発された効果的な高速アルゴリズムを使用することが可能になる。
【０３１３】
パターンのサイズは、ブロックのサイズよりも小さいと仮定されていた。しかし、反対の場合には、必要なのは、この方法の一般性を失うことなく、2つの補正が適用されるゾーンΓg∩Γdを導入することだけである。
【０３１４】
上記の方法の簡素化も、行うことができる。例えば、切り捨て演算において取って代わられる要素の相対的エネルギーが、エッジの出現について、ブロック内に残っている要素のエネルギーに比べて低いときに、エッジ効果を無視することを単純に規定することも可能である(テスト54および58を実施せずに)。この場合、補正ステップ53および63の少なくとも一方(好ましくはステップ63)または両方とも、単純になくすことができる。
【０３１５】
次に、基本符号帳の少数の可能な構成について説明する。
【０３１６】
特にさまざまな満足のゆくスペクトルリッチネスをもたらす、波形の多様な表現を実現できるグローバル符号帳を形成する2つの組合せ方法を提示することができる。実際、それぞれの基本符号帳の内容を1つまたは複数の信号カテゴリに振り向けることができる。
【０３１７】
*基本符号帳の合併
基本符号帳の合併により、それぞれの部分が1つの基本符号帳に対応する単一の符号帳を形成することが可能である。基本符号帳の1つによりうまく表される単一部分については、この信号部分を表すためにこの基本符号帳内に最良の波形を見つけることができる。
【０３１８】
図6は、出現の中心に対する位置の同じ集合および振幅の同じ集合から構築された、2つの基本符号帳D1およびD2の合併を表す、そのような符号帳を示しており、それぞれ、
-第1の基本符号帳D1に対する単一パルスPat(D1)と、
-第2の基本符号帳D2に対する図3aのパターンによるパルス列Pat(D2)の列をそれぞれ含む2つのパターンを有する。
【０３１９】
符号化される与えられた励振ベクトルについて、基本符号帳はそれぞれ、好ましくは別々に調べられ、次いで、それぞれの基本符号帳内の探索に由来する最良の波形が互いに比較され、そのうち最も適しているものを選択する。探索の複雑度は、この場合、それぞれの基本符号帳内の探索の複雑度の総和に等しい。すでに見られるように基本符号帳の有利な構造によりもたらされる、高速探索は、非常に効果的であることが実証されている。
【０３２０】
調査の変更形態も、提案されうる。例えば、グローバル符号帳を構成する符号帳から最初に1つ(または複数の)基本符号帳を決定し、次いで、正当に事前に選択された基本符号帳に探索を制限することが可能である。
【０３２１】
指数の復号化は、選択された基本符号帳を最初に識別することにより実施されうる(例えば、選択されたベクトル符号の指数を、完全な符号帳内の基本符号帳の境界に対応するメモリに格納されている値と比較することにより)。次いで、ベクトル符号の指数は、すでに示されている方法で基本符号帳内に復号化される。
【０３２２】
*基本符号帳の総和
この実装は有利である。目的は、基本符号帳のベクトルを加えて符号帳を構築し、使用して、構成要素基本符号帳に特有の特徴を調べ、さらにはその組み合わせた特徴を利用することである。
【０３２３】
したがって、符号帳の総和の場合、符号帳のベクトルは、1つずつ、サンプル毎に、基本符号帳のすべてのベクトルを、場合によっては後述の第2の実施形態のように利得の重みを付けて加えることにより単純に形成される。
【０３２４】
実際、以下では、複数の符号帳の総和をとるため、2つの実施形態が提案されている。
【０３２５】
第1の実施形態では、それぞれの基本符号帳から導き出される波形を足し合わせることにより、グローバル符号帳D=D1+D2が得られる。図7は、基本符号帳のそのような加算の原理を示している。示されている実施例では、2つの符号帳D1、D2のみが足し合わされており、符号帳D1のベクトルV1iのパルスの重みは、総和D1+D2において、符号帳D2のベクトルV2jのパルスの重みと同じであることがわかる。
【０３２６】
次いで、ここでは、与えられた総和に関連付けられる単一の利得が定義される。したがって、それでも、少なくとも1つが基本符号帳である複数の符号帳を使用する符号化の簡素化に関して有利な点がある。実際、基本符号帳D2に属すベクトル符号は、パターンの中心における位置および異なる符号帳内の、つまり異なるパターンに対する、出現の振幅を示し、次いで、スケーリングされた、その時点では正当に配置されているパターンを足し合わせることにより、表すことができる。
【０３２７】
I個の基本符号帳の総和により得られる、このような符号帳のベクトル符号の構成要素は、
【０３２８】
【数８２】
2009527784.tif 000210
【０３２９】
のタイプの関係式により表され、現在の励振ベクトルは、0≦n≦N-1の場合に、
【０３３０】
【数８３】
2009527784.tif 000211
【０３３１】
と表される。
【０３３２】
さらに、単一の基本符号帳の文脈において提案される高速アルゴリズムを上述の符号帳の総和に適応させると有利である場合がある。説明に役立つ実施例として、2つの基本符号帳の総和を考えるが、これは
【０３３３】
【数８４】
2009527784.tif 000212
【０３３４】
と表され、指数1および2はそれぞれ、K1回の出現およびそれぞれK2回の出現において遭遇する第1のパターンγ1および第2のパターンγ2に由来するベクトルに関係する。
【０３３５】
前述の単一の基本符号帳の場合のように、第1のパターンに対応するベクトル
【０３３６】
【数８５】
2009527784.tif 000213
【０３３７】
および第2のパターンに対応するベクトル
【０３３８】
【数８６】
2009527784.tif 000214
【０３３９】
を定義することが可能である。相関ベクトルの式が以下のように適応されるとすると、マルチパルス符号帳内の探索の分子および分母の従来の式が、再び、適用される。
【０３４０】
ターゲットベクトルとの相互相関については、上で提案されているように修正されたベクトル{d'1(ak)}および{d'2(ak)}を計算することが可能であり、次いで、分子は、
【０３４１】
【数８７】
2009527784.tif 000215
【０３４２】
と表される。
【０３４３】
しかし、分母の場合は、上で定義されている自己相関
【０３４４】
【数８８】
2009527784.tif 000216
【０３４５】
および
【０３４６】
【数８９】
2009527784.tif 000217
【０３４７】
に加えて、第1のパターンの出現と第2のパターンの出現との間の相関が関与していなければならないため、より複雑である。したがって、例えば、k<1として、
【０３４８】
【数９０】
2009527784.tif 000218
【０３４９】
となるような中心値
【０３５０】
【数９１】
2009527784.tif 000219
【０３５１】
および
【０３５２】
【数９２】
2009527784.tif 000220
【０３５３】
となるような
【０３５４】
【数９３】
2009527784.tif 000221
【０３５５】
について、
【０３５６】
【数９４】
2009527784.tif 000222
【０３５７】
が計算されなければならない。
【０３５８】
これらの式は、当業者の能力の範囲内にあるとしても、一般にかなり複雑なものになる。
【０３５９】
分母は、それでも、修正された自己相関行列の要素を計算することが可能なような方法で
【０３６０】
【数９５】
2009527784.tif 000223
【０３６１】
のタイプの関係式に従って表すことができ、ここでもまた、マルチパルス符号の高速化探索アルゴリズムを使用できる。
【０３６２】
基本符号帳の総和の第2の実施形態では、より単純な探索アルゴリズムが得られる。この原理は、基本符号帳の総和をカスケード配列するもので、異なる利得が基本符号帳に由来するそれぞれの部分ベクトルに関連付けられる。この場合、励振ベクトルは、0≦n≦N-1ならば
【０３６３】
【数９６】
2009527784.tif 000224
【０３６４】
により表される。
【０３６５】
この変更形態は、複雑度に関して非常に有利である。
【０３６６】
これは、さらに多くの利点を有する。それぞれの基本符号帳は、より具体的に、グローバル符号帳を充実させることを意図しており、例えば、特定のタイプの励振信号によるものであるため、基本符号帳内の異なる探索に対し異なる知覚フィルタWi(z)(0からI-1までの範囲のiについて)を使用すると都合がよい。例えば、励振信号の低周波部分を表すのにより好適な第1の基本符号帳、および高周波部分を表すことをより意図されている第2の基本符号帳を使用することが可能である。次いで、第2の基本符号帳の探索でスペクトルの高周波部分を優先するような方式は特に有利である。例えば、第2の探索では、従来の知覚フィルタは、高域フィルタとカスケード配列にすることができる。このような演算は、さらに、「スペクトル集束」と呼ぶことが可能である。後で、特に例示的な実施形態を示すために図9を参照しつつ詳細に説明する。
【０３６７】
最後に、この第2の実施形態は、階層CELP符号化構造に有利に適している。実際、これらの構造では、ビットストリームは、階層として編成されており、この第2の実施形態の実装では、指数および基本符号帳の部分ベクトル符号のそれぞれのベクトル符号の利得に対応するビットは、別々の階層的レイヤを形成しうる(または、別々のレイヤに「参加する」)。復号器が、この情報の一部のみを受け取る場合、これは、第1のレイヤの基本符号帳の部分ベクトル符号に関連付けられている受け取った指数および利得を復号化し、この方法で得られた部分的励振を足し合わせることにより、励振の少なくとも一部を再構築することができる。
【０３６８】
上で示されているように、第1の基本符号帳では、最低品質符号化を取り扱い、後続の符号帳では、例えば、高域スペクトル成分を与えることにより、品質を徐々に高めて行き、複数の信号の可能な多様性を効率よく取り込む。
【０３６９】
次に、既存の符号器/復号器に適用される本発明の一実施形態について説明する。
【０３７０】
以下で説明される例示的な実施形態は、2つのレイヤを含むビットストリームを生成する階層型CELP符号器との関連で配置され、第1のレイヤは、8Kビット/秒のビットレートで動作する、階層構造の「コア」符号化に対応し、第2のレイヤは、さらに4Kビット/秒を加えて品質を高め、12Kビット/秒の全ビットレートを生成する。第1のレイヤのビットストリームは、ITU-T G.729標準化符号器と「互換性」を有し、符号器、またはそれぞれ、本発明による復号器は、復号器、またはそれぞれ、8Kビット/秒のビットレートに対するG.729標準およびその付属標準に適合する符号器とともに動作しうる。
【０３７１】
提案されている例示的な実施形態では、本発明による基本符号帳のカスケード総和の変更形態による符号帳を使用することにより階層が形成される。ブロックサイズは、5ms、つまり、8kHzで40サンプルである。
【０３７２】
第1の基本符号帳D1(図8a)は、「自明な」タイプであり、単純に、G.729符号器のACELP符号帳に対応し、そのベクトルは、4つの符号付きパルスを足し合わせることにより得られ、その位置は、以下に掲載されている表2に示されている集合に属す。詳細については、ITU-T勧告G.729(「Coding of Speech at 8 Kbit/s using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP)」、1996年3月)を参照すると有益であろう。
【０３７３】
したがって、これは中央パルス(p=0)に制限されたパターンに関連付けられている基本符号帳であるが、ただし、K=4回の出現で、集合S0、S1、S2、S3は表2の第2列で与えられ、集合A0、A1、A2、A3は最後の列にある。
【０３７４】
【表１】
2009527784.tif 000225
【０３７５】
第2の基本符号帳D2(図8b)は、非自明な符号帳であり、その基本パターン(または「トライパルス」)は長さ3であり、それぞれの振幅が-a、+1、-a、好ましくは0<a≦0.35である3つのパルスを含む。値aは、有利には、入力信号の特性に応じて動的に選択されうる。
【０３７６】
出現回数、振幅、およびパターンの中心の位置は、第1の符号帳のものと同じである。
【０３７７】
図8cは、第1の符号帳(矢印D1)および第2の符号帳(矢印D2)の波形の平均スペクトルの見かけを示している。第1の符号帳は、スペクトル的に平坦な成分を示しているが、第2の符号帳は、高い周波数においてリッチであることがわかる。
【０３７８】
この観察結果から、第1の符号化レイヤにより得られる品質を高めることが可能であり、ゾーン[300〜3400Hz]の低周波部分の音声信号の再生品質はよいが、高周波に近づくとエネルギーが減少し、忠実度も減少する傾向がある。
【０３７９】
スペクトルの高周波に関する第2の基本符号帳の探索の絞り込みを改善するために、この第2の符号帳を調べるときに、フィルタW(z)に補助高域フィルタHp(z)が適用される。
【０３８０】
図9は、この実施形態による符号器を示している。第1の段階ET-1は、適応符号帳DICa(ベクトル{p(n)})およびその関連する利得gp、次いで、第1の固定符号帳D1(ベクトル{c1(n)})およびその関連する利得g1を導入する。第2の段階ET-2では、第2の固定符号帳D2(ベクトル{c2(n)})および関連する利得g2の探索を行う。適応符号帳DICaおよび第1の固定符号帳D1における探索では、例えばG.729標準で定義されているような知覚フィルタW1(z)=W(z)を使用する。第2の符号帳D2では、フィルタHp(z):W2(z)=W(z)×Hp(z)を加えることにより高周波に絞り込んだ探索を使用する。
【０３８１】
第1の基本符号帳D1の探索は、知られており、例えば、G.729標準およびその複雑さを下げた付録A(ITU-T勧告G.729、「Annex A: Reduced complexity 8 Kbit/s CS-ACELP speech codec」、1996年11月)で説明されている高速および集束アルゴリズムの一方または他方を使用する。
【０３８２】
第2の基本符号帳D2の探索もまた、上述のように、この高速アルゴリズムを利用する。
【０３８３】
以下の説明をわかりやすくするために、第2の符号帳に関係するすべての指数「2」は、以下では省略する(例えば、H2(z)はH(z)、
【０３８４】
【数９７】
2009527784.tif 000226
【０３８５】
はcw(n)などとする)。
【０３８６】
第1の簡素化により、フィルタ
【０３８７】
【数９８】
2009527784.tif 000227
【０３８８】
のインパルス応答は、0≦n≦39となるように要素h(n)に切り捨てされる(ブロックの長さN=40であることに注意)。
【０３８９】
したがって、ベクトル{cW(n)}は、-1≦n≦40について定義される。上述のように、n<0に対しh(n)=0であるため(因果的フィルタ)、右エッジは関与しない(bd(n)=0)。
【０３９０】
さらに、中心akの位置は、すべて、ブロック[0,39]内にあることもわかる。
【０３９１】
これらの条件において、集合
【０３９２】
【数９９】
2009527784.tif 000228
【０３９３】
は、集合A0のみにある、第1の出現におけるトライパルスパターンの第1の位置に対応する、単一の要素のみ、つまり、位置a0=0のみを含む、つまりΓg={0}。
【０３９４】
次いで、図9は、本発明によるデバイス、特に、この場合は符号化デバイスを図式的に表している。
【０３９５】
前述のように、フィルタHのインパルス応答と基本パターンとの畳み込みベクトルが、まず最初に計算され(図5で51と示されている第1のステップ)、これにより、
h'(n)=-αh(n+1)+h(n)-αh(n-1)
が得られる。
【０３９６】
しかし、n≦0またはn≧40に対してh(n)はゼロなので、h'(n)は、-1≦n≦40についてアプリオリに非ゼロである。
【０３９７】
CELP基準の分子
【０３９８】
【数１００】
2009527784.tif 000229
【０３９９】
を計算するために、相互相関
【０４００】
【数１０１】
2009527784.tif 000230
【０４０１】
が、まず最初に計算され(ステップ52)、修正されて(一般ステップ53)、
【０４０２】
【数１０２】
2009527784.tif 000231
【０４０３】
となる。
【０４０４】
したがって、行われる補正は、第1の要素
【０４０５】
【数１０３】
2009527784.tif 000232
【０４０６】
に制限される。
【０４０７】
集合Akは、ブロック[0,39]のすべての位置を覆う。したがって、関係式
【０４０８】
【数１０４】
2009527784.tif 000233
【０４０９】
および
【０４１０】
【数１０５】
2009527784.tif 000234
【０４１１】
を使用して任意の0≦j≦39についてd'(j)を計算する必要がある。
【０４１２】
分母に関して、自己相関が、
【０４１３】
【数１０６】
2009527784.tif 000235
【０４１４】
および
【０４１５】
【数１０７】
2009527784.tif 000236
【０４１６】
と計算されなければならない(ステップ57)。
(表記k=x→yは、実際には、「xからyまでの範囲のkについて」を意味することに留意されたい)。
【０４１７】
制約条件、n<-1についてh'(n)=0から、Φ(i,j)=Φ(j,i)であることに注意して、i<jとなる要素(i,j)のすべての対について
【０４１８】
【数１０８】
2009527784.tif 000237
【０４１９】
が得られる。
【０４２０】
要素Φ'(ak,al)に対し行われる補正(ステップ60)は、左エッジを考慮して、
【０４２１】
【数１０９】
2009527784.tif 000238
【０４２２】
となる。
【０４２３】
したがって、最終的には、h'(40)を計算する必要はなく、計算に関わる要素h'(n)、-1≦n≦39のみを計算するだけでよい。他の要素Φ(ak,ak), ak≠0、およびΦ(ak,al), ak≠0, al≠0は、補正しなくてよく、またこの場合、Φ'(ak,al)=Φ(ak,al)とセットされる(図5のステップ59)。
【０４２４】
追加の簡素化も、特に、小さな係数αについて行うことができる。実際、分母の計算のため、要素がh'(n)=-αh(n-1)+h(n)-αh(n+1)と表される場合、フィルタH(z)の自己相関関数
【０４２５】
【数１１０】
2009527784.tif 000239
【０４２６】
を示すことが可能である。
【０４２７】
次いで、α2を掛けたときに、この行列の要素を伴うすべての項を無視する決定を下すことができる。
【０４２８】
さらに、p=1であること、またαが実質的に1よりも小さいことを念頭におき、総和
【０４２９】
【数１１１】
2009527784.tif 000240
【０４３０】
にほとんど関わらないと仮定すると、分母の計算においてエッジ効果を考慮する必要はない。
【０４３１】
その結果、エッジ効果は、分子と分母の両方において無視できる。
【０４３２】
最後に、第1の基本符号帳とまったく同じようにして第2の基本符号帳の自己相関行列の要素を計算することを可能にするさらなる簡素化を導入することが可能である。この簡素化は、範囲[0,39]において{h'(n)}の切り捨てを行うことを伴う。この方法で生じる誤差は、αの値だけでなく、スペクトルの勾配にも依存する。典型的には、低周波において強いエネルギー濃度を持つ信号については、h(0)の値は、隣接する要素と同じオーダーであり、h'(-1)=-α×h(0)であり、計算にほとんど影響を及ぼさないと理解される。
【０４３３】
もちろん、本発明は、上で実施例により説明されている実施形態に限定されず、他の変更形態にも拡大適用される。
【０４３４】
一般に、本発明の実装により定義される符号帳には、多方面にわたる用途がある。それぞれのブロックは、そのブロックに先行する、またはそのブロックに続くブロックに完全に独立しているため、1ブロックに対し、特定の事前注意なしで隣接するブロックに使用されるのと完全に異なる符号帳を使用することが可能である。こうして、連続性の問題は回避される。そこで、例えば、基本符号帳に使用される1つまたは複数のパターンを修正することにより、符号化される信号に使用される符号帳を適応させることは非常に容易である。複数の出現におけるパターンの中心の位置を定義する集合および/または振幅の集合を修正するようにすることもできる。これらの可能な修正は、例えば、ソースによって決定される可変ビットレート符号器の場合に特に適している。
【０４３５】
本発明による方法において、以下の特徴を有利に適用することができる。
-パターン内の出現に関連付けられている振幅は、値+1および-1を含む集合から選択される。
-グローバル符号帳は、基本符号帳の合併により構築することができるが、ただし、基本符号帳のうちの少なくとも1つは、基本パターンにより定義された初期符号帳であり、グローバル符号帳は、すべての基本符号帳のすべてのベクトルを含む。
-合併または総和に関わるそれらの符号帳のうちの少なくとも1つは、ACELPタイプであり、および/または構築された符号帳は、ACELP符号帳のパルス位置の集合として構成される集合を記述する受理されたパターン位置を含む。
-第1および第2のパルスの振幅は、絶対値として、0から中央パルスの振幅の約半分までの範囲で可変である。
【０４３６】
本発明によるデバイスは、有利には、後続の符号帳における探索のため、最適な励振ベクトルの探索の際に符号化に明らかに関わっているグローバル知覚重み付けフィルタの高域フィルタリング機能を備えることができる。
【０４３７】
本発明によるデバイスの使用は、CELP基準の推定結果に従って実行される符号帳内の潜在的最良励振ベクトルの探索を含むことができ、これは、
-LPC合成フィルタと知覚フィルタとの乗算の結果として得られるフィルタのインパルス応答と符号帳の基本パターンとの畳み込みを計算して、畳み込みフィルタベクトルを得るステップと、
-潜在的ターゲットベクトルと畳み込みフィルタベクトルとの間の相互相関ベクトルの要素を計算するステップと、
-畳み込みフィルタベクトルの自己相関行列の要素を計算するステップと、
-分子が相互相関ベクトルの要素を伴い、分母が前記自己相関行列の要素を伴う比の最大化として表されるCELP基準を使用して最良候補ベクトルの探索を実行するステップとを含む。
【０４３８】
本発明は、デジタルオーディオ信号符号化/復号化デバイスを対象とする、本発明によるデバイスの一般的使用を実現するための命令を含むコンピュータプログラムも目的とする。
【図面の簡単な説明】
【０４３９】
【図１】CELP符号器の概要図である。
【図２】関連する復号器を示す図である。
【図３ａ】本発明の実装に対する基本パターンを示す図である。
【図３ｂ】基本パターンの第1の出現の位置の第1のA0集合を示す図である。
【図３ｃ】基本パターンの第2の出現の位置の第2のA1集合を示す図である。
【図３ｄ】本発明の実装に対し選択されるベクトル符号の一実施例を示す図である。
【図４】本発明による符号帳を使用するCELP基準の推定における自己相関行列の修正の表である。
【図５】現在のブロックの外に一部が配置されているパターンの存在を考慮するために「補正された」CELP基準を適用することにより、本発明による符号帳内の最良ベクトル符号を探索する主要なステップを示す図である。
【図６】本発明による符号帳の合併の一実施例を示す図である。
【図７】本発明による符号帳の総和の一実施例を示す図である。
【図８ａ】Ｇ.729標準に従ってCELP符号器を精密化する本発明の例示的な実施形態における第1の基本符号帳を示す図である。
【図８ｂ】Ｇ.729標準に従ってCELP符号器を精密化する本発明の例示的な実施形態における第2の基本符号帳を示す図である。
【図８ｃ】図8aの符号帳および図8bの符号帳の波形の平均スペクトルの見かけを比較した図である。
【図９】本発明の実装例により精密化されたG.729標準によるCELP符号器の例示的な実施形態を示す図である。
【符号の説明】
【０４４０】
α    係数
a    値
c(n)    ベクトル
D=D1+D2    グローバル符号帳
D1、D2    符号帳
H    フィルタ
N    長さ
Pat(D1)    単一パルス
Pat(D2)    基本パターン
V1i、V2j    ベクトル
V21、V22、V2n    ベクトル
y(j)(-p=j=p)    基本パターン
Wi(z)    知覚フィルタ
10    LPC分析
11    知覚的重み付けフィルタ
12    LPC合成フィルタ
13、14    モジュール
21、22    モジュール
【国際調査報告】
2009527784.tif 000241
2009527784.tif 000242
2009527784.tif 000243
2009527784.tif 000244
2009527784.tif 000245
2009527784.tif 000246