JP3481251B2 - 代数的符号励振線形予測音声符号化方法 - Google Patents

代数的符号励振線形予測音声符号化方法

Info

Publication number
JP3481251B2
JP3481251B2 JP52078896A JP52078896A JP3481251B2 JP 3481251 B2 JP3481251 B2 JP 3481251B2 JP 52078896 A JP52078896 A JP 52078896A JP 52078896 A JP52078896 A JP 52078896A JP 3481251 B2 JP3481251 B2 JP 3481251B2
Authority
JP
Japan
Prior art keywords
codebook
code
integer
pos
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP52078896A
Other languages
English (en)
Other versions
JPH10502191A (ja
Inventor
ランブラン,クロード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of JPH10502191A publication Critical patent/JPH10502191A/ja
Application granted granted Critical
Publication of JP3481251B2 publication Critical patent/JP3481251B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • G10L2019/0008Algebraic codebooks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】 本発明は、ディジタルコーディングの方法に係り、特に
音声信号のディジタルコーディング方法に関する。
ビットレートを低減するために信号を圧縮する最良の現
在の方法の1つは、符号−励振線形予測CELPの技術であ
るが、これは依然としてよい品質を維持している。この
種のコーディングは広く使用されており、地上の送信シ
ステムあるいは衛星システムの送信システム、あるいは
記憶用途において本質的に使用されている。しかしなが
ら、確率的コードブックを使用したCELPコーダの第1世
代は実行するのに非常に複雑であり、大規模なメモリ容
量を必要とした。その後、CELPコーダの第2世代(代数
的コードブックCELPコーダ)が現われた。それらは実行
するのにより複雑でなく、よりメモリを必要としない。
しかし、その節減はなお不適当である。
代数的コードブックCELPコーディングの技術は、ACELP
(代数的符号励振線形予測)コーダの導入によってさら
に改善された。ACELPコーダは、計算の複雑性が調節さ
れることを可能にする適応性のあるしきい値を用いる集
束(集中)探索に関連する代数的コードブックを使用す
る、しかしながら、必要とされるランダムアクセスメモ
リの量はなお多大である。
CELPコーダは、合成による分析コーダ(合成分析符号
器)(そこでは合成モデルがコーダで使用される)の系
統に属している。コード化される信号は、電話周波数
(Fe=8kHz)あるいはより高い周波数、例えば広帯域コ
ーディング用の16kHz(0から7kHzまでの通過帯域)で
サンプリングすることができる。アプリケーションおよ
び所要の品質によって、圧縮係数は1〜16で変化し、CE
LPコーダは、電話帯域における2〜16kbits/sのビット
レートで、および広帯域における16〜32kbits/sのビッ
トレートで作動する。
CELPタイプのディジタルコーダでは、音声信号がサンプ
リングされ、L個のサンプルのフレーム列へ変換され
る。各フレームは、コードブック(これは辞書とも呼ば
れる)から抽出された波形をフィルタリングすることに
よって合成され、そして、時間で変化する2つのフィル
タを通って利得が掛けられる。励振コードブックはKコ
ードの集合あるいはL個のサンプルの波形である。各波
形には整数インデックスkによって番号が付けられる。
ここでkは0からK−1で変化し、Kはコードブックの
大きさである。第1のフィルタは長期的な予測フィルタ
である。LTP(長期予測)分析は、この長期予測のパラ
メータの評価を許し、それゆえ有声音(例えば:母音が
そうである)の周期性の探索を可能にする;この長期的
な相関性は声帯の振動による。第2のフィルタは短期的
な予測フィルタである。線形予測“LPC"(線形予測符号
化)による分析の方法は、声道の伝達関数および信号の
スペクトルの特性を表すこれらの短期予測パラメータを
得ることを可能にする。イノベーションシーケンスを決
めるために使われる方法が合成による分析の方法であ
り、コーダでは励振コードブックのイノベーションシー
ケンスがすべて2つのフィルタLTPおよびLPCによってフ
ィルタにかけられ、そして、選択される波形は、知覚で
重み付けされる基準に従って、オリジナルの音声信号に
最も近い合成信号を生成するものとなる。
CELPコーダでは、したがって、合成モデルの励振が、コ
ードブックから抽出された波形から成っている。このコ
ードブックの種類によって、2種類のCELPコーダが区別
される。第1のCELPコーダのコードブックは確率的波形
から構成された。これらのコードブックは、学習あるい
は任意の生成のいずれかによって得られる。それらの主
な欠点は、それらの格納を必要にし、実行の高度な複雑
さを生じさせてしまう“構造を欠いていること”であ
る。第1のCELPコーダの励振コードブックは、40のガウ
スサンプルの1024の波形の集合から構成された確率的辞
書であった。このCELPコーダはその時代の最も強力なコ
ンピューター上でリアル・タイムで作動しなかった。必
要なメモリおよび計算時間の縮小を可能にする他の確率
的辞書が導入されたが、複雑さおよび必要とされるメモ
リ容量の両方は多大なままだった。
この欠点を改善するために、別のカテゴリーのコードブ
ックが提案された。それは、格納される必要がなく、そ
の構造がそれらの実行のための高速のアルゴリズムの開
発を可能にする高度に組み立てられた代数的コードブッ
クである。ガーショ(A.Gersho)は、彼の記事“音声お
よびオーディオ圧縮の進歩(Advances in Speech and A
udio Compression)”、Proc.IEEE,Vol.82,No.6,1994年
6月、900〜918ページの中で、CELPコーディングにおけ
る研究の良好な概観を示し、そして文献中で提案された
多様なコードブックの目録を記した。代数的コードブッ
クを使用するCELPコーダの1つはACELPコーダである。
ACELPコーダ(WO 91/13432を参照)は、いくつかの標
準化(8kbits/s ITU(国際電気通信連合)標準化、6.8
kbits/s−5.4 kbits/s PSTNビューホン(viewphone)
のためのITU標準化)に対する候補として提案された。
短期予測、LTP分析および知覚の重みを加えるモジュー
ルは、従来のCELPコーダの中で使用されるものに似てい
る。ACELPコーダの最初の特徴は励振信号探索モジュー
ル中にある。ACELPコーダには、ビットレートに関する
高度な柔軟性および調整可能な実行の複雑性という2つ
の主要な利点がある。ビット−レートの柔軟性はコード
ブックを生成する方法から生じる。複雑さを調節する可
能性は適応性のあるしきい値を備えた集束探索を使用す
る波形選択手順による。
ACELPコーダでは、励振コードブックが代数的に生成さ
れた仮想集合(ある意味ではそれは格納されないもの)
である。インデックスkに応じて(kは0からK−1ま
で変化する)、代数的符号ジェネレーターは0でない成
分をほとんど有していないL個のサンプルのコードベク
トルを生成する。Nを0でない成分の個数とする。ある
アプリケーションでは、コードワードの長さがL+Nま
で拡張される。また、最後のN個の成分は0である。こ
こで(計算の一般性への影響なしで)、LがNの倍数で
あると仮定する。コードワードckは、したがってN個の
パルスから構成される。パルスの振幅は固定されている
(例えば±1)。パルスpに対して可能な位置は次式で
示される。
posi,p=Ni+p (1) ここでL'=L/Nである場合、iは0からL'−1である。
L'=(L+N)/Nの場合、位置はL以上となり、そし
て、対応するパルスは単にゼロになる。波形ckのインデ
ックスは、以下の関係によって直接得られる。
また、コードブックのサイズはK=(L')である。
CELPコードブックからの波形の選択は、重みが加えられ
たオリジナルの信号と重みが加えられた合成信号の間の
二次のエラーを最小限にする一つを探索することによっ
て行われる。これは数Crk=Pk 2k 2を最大限にするこ
とになる。ここで、Pk=(D・ck T)、そしてαk 2=|ck
・HT|2=(ck・U・ck T)、また(・)は行列の転置
を示す。Dは、入力信号、過去の合成信号、および合成
および知覚の重みを加えるフィルタから構成される複合
フィルタに依存する目標ベクトルである。hをこの複合
フィルタのインパルス応答のベクトルとする: h=(h(0),h(1),…,h(L−1)) Hは、このインパルス応答から形成されたL×L下位三
角テプリッツ(Toeplitz)行列である。U=HT・Hはh
の分散行列である。i行j列(0≦i,j<L)の行列U
の要素をU(i,j)によって表すと、要素U(i,j)は次
のものと等しい: ACELPコーダにおいて、波形ckが位置posi(q、k),q
および振幅Sq(0≦q<N)を持つN個のパルスから構
成される場合、目標ベクトルDと波形ckとのスカラー積
Pk、およびフィルタにかけられた波形ckのエネルギーα
k 2は次のように表される: および ACELPコードブックの利点の1つは、それが最良の波形
を選択する有効な部分最適方法を生じさせることであ
る。この探索は、パルスを探索するためのループを入れ
子にすることによって実行される。次数qのループにつ
いては、位置をコード化するインデックスiq=(posi,q
−q)/Nが、集合[0,…,L'−1]の範囲で変化する。
探索は、探索手続に入る前に、各ループ用の適応性のあ
るしきい値を計算することによって早められる。より高
位なループ中で以前に決定されたパルス0からq−1ま
でから計算された部分的な数量Crk(q−1)がループ
q−1に対して計算されたしきい値を越える場合にの
み、パルスqの探索ループに入る。部分的な数量は次の
ように表される: Crk(q−1)=Pk 2(q−1)/αk 2(q−1)あるい
は Crk(q−1)=Pk 2(q−1) ここでαk 2(q−1)は、フィルタにかけられたckのパ
ルス0からq−1までの複合波形のエネルギーであり、
そしてPk(q−1)は、ckのパルス0からq−1までの
複合波形と目標ベクトルDとのスカラー積である。
部分的な基準の計算は、Pk(q)およびαk 2(q)の再
帰的な特性によって単純化される。実際に数列{P
k(q)}q=0,…,N−1および{αk 2(q)}
q=0,…,N−1は以下のように再帰的に計算される。
Pk(0)=S0・D(posi(0,k),0)および Pk(q)=Pk(q−1)+Sq・D(po
si(q,k),q) αk 2(0)=S2 0・U(posi(0,k),0,pos
i(0,k),0)および ここで、posi(p,k),pはckのp番目のパルスの位置で
あり、Spはその振幅である。フィルタにかけられた波形
ckのエネルギーα2 2およびckと目標ベクトルDとのスカ
ラー積Pkは、反復の完了(q=N−1)で得られる。
kが0からK−1まで変わるのに対するK数列{α
k 2(q)}q=0,…,N−1の計算は、複合フィルタのイ
ンパルス応答hの分散行列Uの要素についての情報を必
要とする。初期のACELPコーダでは、行列Uのすべての
要素U(i,j)が計算され、格納される。行列UはそのL
2個の要素を計算する場合に使用される次の特性を持っ
ている: − 対称性質: 0≦i,j<Lに対して、U(i,j)=U(j,i) − 対角線上の反復性質: 0<i,j<Lに対して、 U(i−1,j−1)=U(i,j)+h(L−i)・h
(L−j) および0≦i<Lに対して、 U(i,L−1)=U(L−1,i)=h(0)・h(L−
1−i) しかしながら、これらの2つの特性を探索する行列Uの
計算は依然として最大で次のものを必要とする: ・L(L+1)/2回の乗算、およびL(L−1)/2回の
加算、 ・L2回のメモリのロード。
結論として、ACELP技術は多くのメモリロードおよび多
大な大きさのメモリを必要とする。次のものを格納する
ことが実際に必要である: − 入力信号(典型的に16ビットの80〜360のワード) − 分散行列(16ビットの402〜602のワード) − 中間の信号、およびそれらのメモリ(典型的に16ビ
ットの2〜3kのワード) − 出力信号(典型的に80〜200のワードあるいはバイ
ト) 分散行列のサイズが最も大きく占めることは明らかに明
白である。任意のアプリケーションに対して中間の信号
のために必要とされるメモリスペースを圧縮することが
できないことに注意する必要がある。したがって、全メ
モリサイズを縮小することが望まれる場合、分散行列の
ために必要とされるメモリのサイズを変更することだけ
が可能であると思われる。しかしながら、従来、専門家
はこの行列が主対角線に関して対称的であり、ある項が
有用でないことを知っていたが、彼らは後者が決められ
た次数のない行列中で整列されると考えていた。
分散行列のために必要にされるメモリ空間を減少させる
ための最初の考えは、この行列の対称特性の探索による
ものであった。しかしながら、経験は、ACELP励振(既
に非常に複雑なモジュール(典型的にCPUタイプの50
%))である)を探索する場合、行列の半分の格納がよ
り複雑なアドレス計算を要することを示した。メモリを
節減することは、複雑さが生じることに直面し、利益の
すべてを失った。
本発明の主要な目的はコーダによって必要とされるメモ
リのサイズを本質的に縮小するACELPタイプのコーディ
ング方法を提案することである。
本発明は次のステップからなる符号励振線形予測(CEL
P)音声符号化方法を提案する:L個のサンプルの連続フ
レームとして音声信号をディジタル化すること; 一方では合成フィルタを定義する合成パラメータを適応
して決定しかつ、他方では予め定義された代数的コード
ブックに属するL個のサンプルの励振コードにおけるパ
ルス位置と関連する励振利得を各フレームに対して含ん
でいる励振パラメータを適応して決定し;そして、決定
したパラメータを表示する量子化値を伝送する。代数的
コードブックは、少なくともL個のサンプルのコードの
中で可能なN個の集合のパルス位置の少なくとも1つの
群に基づいて定義される。ここでコードブックからのコ
ードは、N個の集合の群にそれぞれ属するN個のパルス
位置によって表わされる。フレームに関係のある励振パ
ラメータの決定は数Pk 2k 2を最大にするコードブック
からコードを選ぶことからなる。ここで、Pk=D・ck T
は、コードブックからのコードckとフレームの音声信号
および合成パラメータに依存する目標ベクトルDとのス
カラー積を表わし、また、αk 2は、合成フィルタおよび
知覚の重みを加えるフィルタから構成される複合フィル
タによってフィルタにかけられたコードckのフレーム中
のエネルギーを表わす。エネルギーαk 2の計算は分散行
列U=HT・Hの成分の計算およびメモリ記憶からなる。
ここでHは、前記複合フィルタのインパルス応答h
(0),h(1),…,h(L−1)から形成されたL行L
列のより低位の三角テプリッツ行列を表わす。分散行列
のメモリに格納される成分は、N個の集合の少なくとも
1つの群に対して、次の形式のものだけである: 0≦p<Nのとき そして、0≦p<q<Nのとき、次の形式のものであ
る: ここで、posi,pおよびposj,qは、それぞれ、コードブッ
クからのコードのパルスpおよびqに対する可能な位置
を含んでいる前記群の集合における次数iおよびjの位
置を表わす。
この方法では、ACELP励振を探索する場合に現実に使用
される項だけが格納される。したがって、必要なメモリ
が相当に縮小されることを可能にする。例えば、代数的
コードブックがN個の集合の単一の群の上記で定義され
た構造(1)を持っている場合、格納される行列Uにお
ける要素の数は初期のACELPコーダのときのL2の代わり
にL+L2(N−1)/2Nとなる。これによれば、メモリ
空間の縮小はランダムアクセスメモリの[L2(N+1)
/2N]−Lワードである。すなわちLとNの通常の値に
対して数キロバイトである。
好ましくは、分散行列のメモリに格納される成分は、1
つの群に対してN個の相関ベクトルおよびN(N−1)
/2個の相関行列の形態で構成される。各相関ベクトルR
p,pは、コードブック(0≦p<N)からのコードにお
けるパルス数pに関連していて、形式Rp,p(i)=U
(posi,p,posi,p)の成分i(0≦i<Lp')において、
パルスpに対して可能な位置を含んでいる前記群からの
集合のカーディナル(濃度)に等しい次元Lp'を有して
いる。各相関行列Rp,qは、コードブック(0≦p<q
<N)からのコードにおける異なる2つのパルス数p,q
に関連していて、行iおよび列j(0≦i<Lp'かつ0
≦j<Lq')における形式Rp,q(i,j)=U(posi,p,po
sj,q)の成分に対して、Lp'行およびLq'列を有してい
る。分散行列の成分を整理するこの方法は、ACELP励振
を探索する場合、それにアクセスすることを容易にし、
モジュールの複雑さを低減するか、あるいは少なくとも
このモジュールの複雑さを増加させないようにする。
この発明による方法は多様な種類の代数符号に適用可能
である。すなわち、それは、コードブックからのコード
の多様なパルスに対して可能な位置の集合の構造に関係
ないと言うことである。次の場合、相関ベクトルおよび
相関行列を計算するための手順は比較的単純かつ有効に
作ることができる。その場合とは、N個の集合の群にお
いてコードブックからのコードのパルスに対して可能な
位置の集合がすべて同じカーディナルL'を有していて、
かつパルスp(0≦i<L',0≦p<N)に対して可能な
位置の集合における次数iの位置が次式によって与えら
れる場合である。
posi,p=δ・(iN+p)+ε ただし、δおよびεは、δ>0およびε≧0である2つ
の整数である。
本発明の、他の特徴および利点は、添付図面を参照し
た、好適であるがしかしそれに制限されることのない実
施例についての以下の記述から明らかになるだろう。
− 図1および2は本発明による代数的コードブックを
使用するCELPデコーダおよびCELPコーダの概要のレイア
ウトであり; − 図3および4は本発明の第1の実施例中の相関ベク
トルおよび相関行列の計算を図示するフローチャートで
あり; − 図5Aおよび5Bは、他方の上に一方を置く場合、第1
の実施例中の励振探索手順のフローチャートを示し; − 図6〜図8は、本発明の第2の実施例において相関
ベクトルおよび相関行列の計算を図示するフローチャー
トであり;そして、 − 図9は第2の実施例中の部分最適励振探索手順を図
示するフローチャートである。
CELPコーダおよびCELPデコーダ中で実行される音声合成
プロセスは、図1の中で図示されている。励振ジェネレ
ーター10はインデックスkに応じて予め定義したコード
ブックに属する励振コードckを伝える。増幅器12はこの
励振コードに励振利得βを掛け、そして、生じた信号は
長期の合成フィルタ14にかけられる。フィルタ14からの
出力信号uは今度は短期の合成フィルタ16にかけられ、
それからの出力はここに合成された音声信号と見なさ
れるものを形成する。もちろん、音声符号化の分野で周
知のように、他のフィルタはさらにデコーダレベル(例
えばポストフィルタ)で実行されてもよい。
前述の信号は、例えば8kHzに等しいサンプリングレート
Feで、例えば16ビットワードによって表わされたディジ
タル信号である。合成フィルタ14,16は一般に純粋に再
帰的なフィルタである。長期の合成フィルタ14は、典型
的にはB(z)=1−Gz-Tとする形式1/B(z)の伝達
関数を有している。遅延Tおよび利得Gはコーダによっ
て適応して決定される長期の予測(LTP)パラメータを
構成する。短期の合成フィルタ16のLPCパラメータは音
声信号の線形予測によってコーダで決定される。フィル
タ16の伝達関数はこのように、次数P(典型的にP1
0)線形予測の場合には、下式による形式1/A(z)とな
る。
ここでaiはi次の線形予測係数を表わす。
図2はCELPコーダのレイアウトを示す。音声信号s
(n)はディジタル信号であり、例えば増幅されてフィ
ルタにかけられたマイクロフォン22の出力信号を処理す
るアナログ/ディジタル変換器20によって供給される。
信号s(n)は、Λサンプルの連続のフレームとしてデ
ィジタル化される。そのΛサンプルはL個のサンプルの
サブフレーム(あるいは励振フレーム)に分割される
(例えばΛ=240、L=40)。
LPC、LTP、およびEXCパラメータ(インデックスkおよ
び励振利得β)は、それぞれの3つの分析モジュール2
4、26,28によってコーダレベルで得られる。これらのパ
ラメータは、有効なディジタル伝送の目的で既知の手法
で次に量子化され、その後、コーダから出力信号を形成
するマルチプレクサー30にかけられる。これらのパラメ
ータは、さらに、コーダのいくつかのフィルタの初期状
態を計算するため、モジュール32に供給される。このモ
ジュール32は図1の中で表わされたようなデコーディン
グチェーンを本質的に含んでいる。モジュール32は、デ
コーダレベルで、検討中のサブフレームに先立つ合成お
よび励振パラメータに基づいて決定されるものである、
デコーダの合成フィルタ14,16の初期状態の情報を提供
する。
コーディングプロセスの最初のステップで、短期の分析
モジュール24は、音声信号s(n)の短期の相関性の分
析により、LPCパラメータ(短期合成フィルタの係数
ai)を決定する。この決定は、例えば、音声信号のスペ
クトルの内容の変化に適合するような方法で、Λサンプ
ルの1フレーム当たりで一回実行される。LPC分析方法
は当該技術において周知であり、したがってここでは詳
述しない。参考文献には、例えば、“音声信号のディジ
タル処理(Digital Processing of Speech Signals)",
L.R.RabinerおよびR.W.Shafer,Prentice−Hall Int.,19
78年、がある。
コーディングの次のステップは長期の予測LTPパラメー
タを決定することにある。これらは、例えば、L個のサ
ンプルの1サブフレーム当たり、一回決定される。減算
器34は音声信号s(n)からゼロ入力信号に対する短期
の合成フィルタ16の応答を減じる。この応答は、伝達関
数1/A(z)有するフィルタ36、モジュール24によって
決定されるLPCパラメータによって与えられる係数、そ
して、合成信号の最後のPサンプルに対応するような方
法でモジュール32によって提供される初期状態によっ
て決定される。減算器34からの出力信号は知覚の重みを
加えるフィルタ38にかけられる。この知覚の重みを加え
るフィルタの伝達関数W(z)はLPCパラメータから決
定される。1つの可能性は、γが0.8程度の係数である
場合に、W(z)=A(z)/A(z/γ)をとることであ
る。知覚の重みを加えるフィルタ38の役割はエラーが最
も知覚可能なスペクトルの部分を強調することである。
モジュール26によって実行される閉ループLTP分析は、
従来のやり方では、各サブフレームに対して、標準化さ
れた次式の相関性を最大にする遅延Tを選ぶことにあ
る: ここで、x'(n)は当該サブフレーム中のフィルタ38か
らの出力信号を表わし、yT(n)は、たたみこみ積u
(n−T)*h'(n)を表わす。上記の表現中で、h'
(0),h'(1),…,h'(L−1)は、伝達関数W
(z)/A(z)を持ち、重み付けされた合成フィルタの
インパルス応答を表わす。このインパルス応答h'はサブ
フレームに対して決定されたLPCパラメータに基づい
て、インパルス応答を計算するためのモジュール40によ
って得られる。サンプルu(n−T)は、モジュール32
によって供給されるような長期の合成フィルタ14の初期
状態である。サブフレームの長さ未満である遅延Tに関
して、欠けているサンプルu(n−T)は、初期のサン
プルに基づく補間によってか、あるいは音声信号から得
られる。遅延Tは、整数あるいは分数であり、例えば20
から143までのサンプルに及ぶ指定されたウィンドーか
ら選ばれる。閉ループ探索範囲を縮小しかつそれによっ
て計算されるたたみこみYT(n)の数を縮小するのに
は、まず第1に、例えば、1つのフレーム当たりで開ル
ープ遅延T1を一回決定し、次に、T1のまわりの縮小され
た区間中の各サブフレームに対する閉ループ遅延を選ぶ
ことができる。開ループ探索は、より単純に、できれば
伝達関数A(z)を持った逆フィルタによって、フィル
タにかけられた音声信号s(n)の自己相関を最大限に
する遅延T1を決定することにある。一度遅延Tが決定さ
れたならば、長期の予測利得Gは次式によって得られ
る: サブフレームに関係のあるCELP励振を探索するために、
最適の遅延Tに関するモジュール26によって計算される
信号のGyt(n)は、減算器42によって信号x'(n)か
らまず第一に減じられる。結果の信号x(n)は、次式
によって与えられる信号D(n)を供給するバックワー
ドフィルタ44にかけられる: ここで、h(0),h(1),…,h(L−1)は合成フィ
ルタおよび知覚の重みを加えるフィルタから構成される
複合フィルタのインパルス応答を表し、またこの応答は
モジュール40によって計算される。すなわち、複合フィ
ルタは伝達関数W(z)/[A(z)・B(z)]を有
している。
行列表記法では、以下のようになる: D=(D(0),D(1),…,D(L−1))=x・H ここで、x=(x(0),x(1),…,x(L−1)) および ベクトルDは励振探索モジュール28に対する目標ベクト
ルを構成する。このモジュール28は標準化された相関性
Pk 2k 2を最大限にするコードブックからのコードワー
ドを決定する。ここで、 Pk=D・ck T αk 2=ck・HH・H・ck T=ck・U・ck T である。
最適のインデックスkが決定された場合、励振利得βは
β=Pkk 2と等しくとられる。
可能な励振コードの代数的コードブックは、次数0,1,
…,N−1のパルスに対する可能な位置および少なくとも
L個のサンプルのコード中の振幅S0,S1,…,SN-1のN個
の集合E0,E1,…,EN-1の少なくとも1つの群に基づいて
定義される。コードブックからのコードは、N個の集合
と全く同一の群の集合E0,E1,…,EN-1にそれぞれ属する
N個のパルス位置によって表わされる。一般的な場合、
集合E0,E1,…,EN-1のカーディナルL'0,L'1,…,L'N-1
等しいかあるいは異なってもよいし、また、これらの集
合は互いに素であっても、なくてもよい。
下記第1の実施例では、そのN個の集合E0,E1,…,EN-1
のすべてが同一のカーディナルL'を持っている単一の群
が存在すること、およびパルスp(0≦i<L',0≦p<
N)に対する可能な位置の集合Epの中の次数iの位置が
次式によって与えられることが仮定される。
posi,p=δ・(iN+p)+ε (2) ここで、δおよびεは0≦ε<δのような2つの整数で
ある。
分散行列Uの所定の項を計算してそしてメモリに格納し
た後、モジュール28は現在のサブフレームに関する励振
コードを探索する。分散行列のメモリに格納された成分
は一方では次の形式でものあり: これはL'個の成分を持つ、N個の相関ベクトルR
p,p(0≦p<N)の形式で組み立てられたものであ
る。そして他方では次の形式のものである。: これは、L'行およびM'列を持つN(N−1)/2個の相関
行列Rp,q(0≦p<q<N)の形式で組み立てられた
ものである。
N個の相関ベクトルRp,pの計算は図3に示された方法
でモジュール28によって実行される。この計算はL'−1
から0まで減少する整数iによってインデックスが付け
られたループを含む。このループの初期化50で、整数変
数kはL−δL'N−εと等しくとられ(ここでは、L−
δL'N−ε≦0と仮定する)、また、累積変数corは0に
等しくとられる。ループの繰り返しiにおいて、成分R
p,p(i)は、N−1から0まで減少するpに対して連
続的に計算される。変数pはまず第1にN−1と等しく
とられる(ステップ52)。命令cor=cor+h(k)・h
(k)、およびk=k+1がδ回実行される(ステップ
54)(L−δL'N−ε<0の場合、k<0なる項h
(k)は0に等しくとられる)。次に、成分R
p,p(i)は累積変数corと等しく得られ、そして整数p
は1単位分減分される(ステップ56)。その後、テスト
58は整数変数pについて実行される。p≧0の場合、対
応する命令をδ回の実行するためにステップ54へ戻る。
テスト58がp<0を示す場合、整数変数iは1単位分減
分され(ステップ60)、その後テスト62で0と比較され
る。i≦0の場合、ループ中の次の繰り返しを実行する
ためにステップ52の前へ戻る。テスト62がi<0を示す
場合、N個の相関ベクトルの計算は終了する。
N個の相関ベクトルのこの計算は、約δL'N回程度の加
算、δL'N回の乗算およびL'N回のメモリローディングを
必要とする。計算の初期化50の異ならせることができる
ことについて述べる。例えば、ステップ50で整数kはL
−δL'Nに等しく初期化することができ、N−1から0
まで減少するpによってインデックスが付けられたルー
プ中の各繰り返しは、ステップ54のδ−ε回の実行、そ
れに続くステップ56、後続するステップ54のε回の実行
から成る。合計でδ回のステップ54が項Rp,p(i)の
2つの連続するメモリ格納間で実行されるので、計算は
正確に維持される。
N(N−1)/2個の相関行列Rp,q計算は、図4に示さ
れる方法でモジュール28によって実行され得る。1とN
−1の間に位置する整数t、および0とL'−1の間に位
置する整数d'の各値に対して、この計算はL'−1−dか
ら0まで減少する整数iによってインデックスが付けら
れたループBt,d'を含む。計算の初期化70で、整数tは
1と等しくとられる。次に整数d'はステップ72で0に等
しくとられる。ステップ74は、整数iによってインデッ
クスが付けられたループの初期化に対応する。整数iは
L'−1−d'に、整数jはL'−1に、整数dはδ・(t+
d'N)に、整数kはL−δL'N−εに、そして累積変数co
rは0に初期化される。ループBt,d'の繰り返しiの中
で、成分Rp,p+t(i,i+d')が、N−1−tから0ま
で減少するpに対して連続的に計算される。そしてその
後、i>0の場合、成分Rq,q+N−t(i+d',i−
1)がt−1から0まで減少するqに対して連続的に計
算される。繰り返しiは、整数変数qおよびpをそれぞ
れN−1およびN−1−tへ初期化(76)することによ
って始まる。その後、ステップ78はδ回実行されるが、
それは項h(k)・h(k+d)を累積変数corヘ加え
ること、および変数kを1単位分増分することにある。
ステップ80では、成分Rp,q(i,j)が累積変数corと等
しくとられ、そして整数pおよびqは各々、1単位分減
分される。テスト82は、次に、整数pについて実行され
る。p≧0の場合、再びδ回実行されるステップ78の前
に戻る。テスト82がp<0を示す場合、テスト84は整数
iについて実行される。i>0の場合、整数p'がN−1
に初期化されるステップ86へ進み、整数qがt−1に等
しく維持される。ステップ86の後にステップ78と同様に
h(k)・h(k+d)が蓄積変数corへ加算され、そ
して1単位分整数変数kが増分されるステップ88が連続
δ回、実行される。次に、ステップ90で、成分R
q,p'(j,i−1)は累積変数corと等しくとられ、また、
整数p'およびqは各々1単位分減分される。テスト92
は、次に整数qの値について実行される。q≧0の場
合、再びδ回実行されるステップ88の前に戻る。テスト
92がq<0を示す場合、整数iおよびjは各々、ステッ
プ94で1単位分減分される。また、その後、ループB
t,d'中での次の繰り返しの実行のためにステップ76の前
に戻る。テスト84がi≦0を示す場合、このループは終
了する。整数d'は1単位分増分され(ステップ96)、そ
の後、数L'と比較される(テスト98)。d'<L'の場合、
整数iによってインデックスが付けられた別のループB
t,d'を実行するためにステップ74の前に戻る。テスト98
がd'=L'を示す場合、整数tは1単位分増分され(ステ
ップ100)、そして数Nと比較される(テスト102)。t
<Nの場合、tの新しい値に対して行列Rp,p+tおよ
びRq,q+N−tの成分を計算するために、ステップ72
の前に戻る。テスト102がt=Nを示す場合、N(N−
1)/2個の相関行列の計算は終了する。
N(N−1)/2個の相関行列のこの計算は、約δL'2N
(N−1)/2回程度の加算、δL'2N(N−1)/2回のの
乗算およびL'2N(N−1)/2回のメモリローディングの
みを必要とする。
励振コードの探索は、図5Aおよび5Bの中で表わされたフ
ローチャートに従ってモジュール28により実行され得
る。ステップ120では、N−1個の部分的なしきい値T
(0),…,T(N−2)をまず第1に計算し、また、し
きい値T(N−1)は負の値、例えば−1、に初期化さ
れる。部分的なしきい値T(0),…,T(N−2)は、
正であり、そして、入力ベクトルDおよび励振の探索の
効率とこの探索の単純性の間に向けられる妥協に基づい
て計算される。部分的なしきい値の高い値は励振の探索
中で必要とされる計算の量を減少させる傾向があり、一
方、部分的なしきい値の低い値はACELPコードブックに
おけるより徹底的な探索に通じる。
励振コードの探索は、互いに内部で入れ子にしたN回の
ループB0,B1,…,BN−1を含む。ループB0の初期化(12
20)において、インデックスiは0に等しくとられる。
ループB0の中のインデックスi0の繰り返しは次式に従っ
て2つの項P(0)およびα(0)を計算するステッ
プ1240を含む。
P(0)=S0・D(δi0N+ε) α(0)=S0・R0,0(i0) その後、P2(0)の値とT(0)・α(0)の値が比
較される(1260)。P2(0)<T(0)・α(0)の
場合、インデックスi0を増分するためのステップ1300
進み、それからインデックスi0が数L'と比較されるテス
ト1320へ進む。i0がL'と等しくなるとき、励振の探索は
終了する。そうでなければ、ループB0の中の次の繰り返
しを続けるために、ステップ1240の前に戻る。比較1260
がP2(0)≧T(0)・α(0)を示す場合、ループ
B1が実行される。ループBqは、0<q<N−1に対し
て、同一の命令から構成される: − iq=0とする初期化122q; − インデックスiqの繰り返しに対して、次式による2
つの数P(q)およびα(q)の計算124q − インデックスiqの繰り返しに対して、数P2(q)お
よびT(q)・α(q)の間の比較126q; − 比較126qがP2(q)≧T(q)・α(q)を示す
場合、ループBq+1へ進む; − 比較126qがP2(q)<T(q)・α(q)を示す
場合、インデックスiqを増分し(130q)、その後、イン
デックスiqと数L'を比較する(132q); − 比較132qがiq<L'を示す場合、次の繰り返しのため
にステップ124qの前に戻る;そして、 − 比較132qがiq=L'を示す場合、より高位のループの
インデックスiq-1を増分するためのステップ130q-1へ進
む。
ループBN-1は、前のループと同じ命令から構成される。
しかしながら、比較126N-1がP2(N−1)≧T(N−
1)・α(N−1)を示す場合、ステップ128は、イン
デックスiN-1を増分するためのステップ130N-1へ行く前
に実行される。このステップ128では、一方ではT(N
−1)=P2(N−1)/α(N−1)によってしきい
値T(N−1)が更新され、そして他方では、ちょうど
テストされたコードに関係のあるパラメータがメモリに
格納される。これらのパラメータはP(N−1)/α
(N−1)と等しくとられる励振利得βと、そしてコー
ドのN個のパルスの位置を見つけることを可能にするN
個のインデックスi0,i1,…,iN-1から構成される。N個
のインデックスi0,i1,…,iN-1はともに次式によって与
えられるグローバルインデックスkへ入れることができ
る。
ここで、このインデックスkはN・log2(L')ビットに
わたってコード化される。
相関行列として成分を配置することは、初期のACELPコ
ーダの場合でのように複雑なアドレス計算を実行しなけ
ればならない代わりに、入れ子にされたループ探索中に
1単位分ポインタiqを単純に増分することによってルー
プに関する行列Uの必要な成分をアドレスすることを可
能にすることが認められる。
コードブックのコードの1つ以上のパルスの振幅に対し
ていくつかの値を割り当てることは可能である。この場
合、できるなら最後のシリアル番号が該当するパルスに
割り当てられる。パルスqに対してnq個の可能な振幅値
がある場合、図5Aおよび5BのフローチャートのループBq
はnq回、各回ごとに振幅Sqの異なる値を用いて実行され
る。そして更にP2(N−1)/α(N−1)より大き
な値に遭遇する前にループBqが実行された回数がメモリ
に格納される。この数は、また、励振コードの対応する
パルスに適用されるべき振幅Sqを回復することができる
デコーダへ送られる。
図1に関して、ACECPデコーダはコーダから2値のデー
タストリームを受信するデマルチプレクサ8を含む。EX
C励振パラメータの量子化された値、ならびにLTPおよび
LPC合成パラメータの量子化された値は、合成信号を
復元するために、ジェネレーター10、増幅器12およびフ
ィルタ14,16に供給され、それは、例えば増幅される前
に変換器18によってアナログに変換され、そしてその
後、オリジナルの音声を復元するためにスピーカー19に
かけられる。
本発明の第2の実施例では、コードのパルス0,1,…,N−
1に対して可能な位置のN個の集合{E0 (m),E1 (m),…,E
N-1 (m)}(0≦m<M)のM個の群から構築された代数
的コードブックについて考慮が与えられる。MN個の集合
はすべて同じカーディナルL'を持っており、また、パル
スp(0≦i<L,0≦p<N,0≦m<M)に対して可能な
位置を含んでいる群mの集合E0 (m)の中の次数iの位置
は、次式によって与えられる: posi,p (m)=δ・(iN+p)+ε(m) (2m) δおよびε(0),…,ε(m-1)は、0≦ε(0)<…<ε
(M-1)<δのような整数である。そして、コードブック
からのコードは、群インデックスm、およびN個の位置
インデックスiによって特徴づけられる。
以前に記述されたものに匹敵する最適のコーディング手
順は、N個の相関ベクトルRp,p (m)(0≦m<M,0≦p
<N)のM群の計算に導かれ: Rp,p (m)(i)=U(posi,p (m),posi,p (m)), およびN(N−1)/2個の相関行列Rp,p (m)(0≦m<
M,0≦p<q<N)のM群の計算に導かれる: Rp,q (m)(i,j)=U(posi,p (m),posi,q (m)). 相関ベクトルのM群の成分を計算するのに次の修正を伴
った図3のフローチャートに従って進むことは可能であ
る: − 計算ループの初期化50で、整数変数kをL−δL'N
に初期化する; そして、 − ステップ54およびステップ56の実行は図6の中で表
わされたシーケンスと取り替えられる:ステップ54は、
ステップ55M-1でRp,p (M-1)(i)=corをとる前に、ま
ずδ−ε(M-1)回実行される;次に、M−2から0まで
減少するmに対してステップ54はε(m+1)−ε(m)回実行
され、それから、ステップ55mでPp,p (m)(i)=corを
とる;最後に、ステップ54は、ステップ57で整数pをデ
ィクリメントする前にさらにε(0)回実行される。
M個の相関行列群の成分を計算するのに次の修正を伴っ
た図4のフローチャートに従って進むことは可能であ
る: − 整数変数kは、ループBt,d'の初期化74でL−δL'
Nに初期化される; − ステップ78およびステップ80のδ回の実行は図7の
中で表わされたシーケンスと取り替えられる:ステップ
78は、ステップ79M-1でRp,q (M-1)(i,j)=corをとる
前に、まずδ−ε(M-1)回実行される;次に、M−2か
ら0まで減少するmに対してステップ78はε(m+1)−ε
(m)回実行され、また、その後、ステップ79mでRp,q (m)
(i,j)=corをとる;最後に、ステップ78は、ステップ
81で整数pおよびqをディクリメントする前にさらにε
(0)回実行される;そして、 − ステップ88およびステップ90のδ回の実行は図8の
中で表わされたシーケンスと取り替えられる:ステップ
88はまずステップ89M-1でRq,p' (M-1)(j,i−1)=cor
をとる前にδ−ε(M-1)回実行される;次に、M−2か
ら0まで減少するmに対してステップ88はε(m+1)−ε
(m)回実行され、また、その後、ステップ89mでRq,p'
(m)(j,i−1)=corをとる;最後に、ステップ88は、
ステップ91で整数p'およびqをディクリメントする前に
さらにε(0)回実行される。
一度相関ベクトルおよび相関行列が計算されたならば、
励振の探索は、単に、M群の各々に対して一度、図5Aお
よび5Bで示される入れ子にされたループ探索を実行する
ことによって行うことができる。選択される励振コード
を復元させる群のインデックスmを得るのには、ステッ
プ128で現在の探索の前に完全に実行された入れ子にさ
れたループ探索の回数をメモリに格納することで十分で
ある。
第2の実施例が、特別のケースM=1に相当する第1の
実施例を一般化することがこれにより理解される。
M>1における第2の実施例は、しかしながら、メモリ
空間中のさらに大きな節減を達成する部分最適探索手順
を実行することを可能にする。この手順では、群インデ
ックスmのμ(1≦μ<M)に対してのみ、相関ベクト
ルRp,p (m)および相関行列Rp,q (m)がメモリに格納され
る。そして、メモリ空間中の特別の節減は要因μ/Mによ
る。この手順は、各サブブロック内で、近似U(i,j)
U(i−1,j−1)を伴うサブブロックへ分散行列U
を細分することに等しい。パルスNの数が多い場合、コ
ーディングの品質をあまり落とさないためには、比率μ
/Mのあまりにも小さな値をとらないことが有益であろ
う。数μおよびMの調節は、コーディングの品質と必要
なメモリ空間の間の妥協点を決定することを可能にす
る。
この部分最適手順が実行される場合、ステップ55m、79m
および89m(図6〜8)は、メモリに格納されない相関
ベクトルRp,p (m)および相関行列Rp,q (m)に対するそれ
らのインデックスmに関して迂回される。
一般性に影響せずに計算を単純化するためベクトルR
p,p (0)および行列Rp,q (0)の成分だけがメモリに格納さ
れるケース{M=2,μ=1}を考える場合、励振の探索
は、図9の中で示された方法においてループBq(0≦q
<N)を修正することによって、図5Aおよび5Bのフロー
チャートに従って実行することができる。ステップ124q
では、群m=0に関して、図5Aおよび5Bの場合のよう
に、項P(q)およびα(q)が計算される。テスト
126qがp2(q)/α(q)がしきい値t(q)より大
きいことを示す場合、低位のループが実行される。それ
は、Bq+1で開始され、あるいはq=N−1の場合にしき
い値および励振パラメータの更新128が実行され、更に
インデックスmは0に等しくされる。次に、ステップ12
5qに進むが、それはテスト126qがP2(q)<T(q)・
α(q)を示す場合、直接実行される。ステップ125q
では、項P(q)が群m=1に関して計算される。使用
される近似でm=0に対して以前に計算された項α(2)
(q)と同等のものと見なされるならば、対応する項α
(q)は再計算されない。それから、テスト127qでは
p2(q)およびT(q)・α(q)が比較される。p2
(q)/α(q)がしきい値T(q)より大きい場
合、低位のループは実行される。
それは、Bq+1で始まり、あるいはq=N−1の場合、更
新128はしきい値に、および励振パラメータに実行さ
れ、インデックスmは1に等しくとられる。次にテスト
127qがP2(q)<T(q)・α(q)を示す場合に直
接実行される整数iqの増分130qに進む。
例1 上記の第1の実施例を実行するこの第1の例において、
30msのフレーム(すなわち8kHzでΛ=240サンプル)
は、5msのサブフレーム(L=40)へ細分され、使用さ
れる。ACELPコードブックは、δ=1およびε=0にお
いて関係式(2)によって与えられるL'=11個の可能な
位置を各々有しているN=4個のパルスのコードを含ん
でいる。L=40に等しいかそれ以上のパルスが最後の位
置を占める場合、その振幅はデコーダによってゼロに合
わせられる。励振コードは、コードブック(サンプル0
からL−1=39だけ)からの切り捨てられたコードに相
当し、したがって0、1、2、3あるいは4個のパルス
を含むことができる。サブフレーム中のパルスの分配は
表Iに示される。1フレーム当たりのビットレートの割
付けは表IIの中で示される。1フレーム当たり204ビッ
トとは、6.8kbits/sのビットレートに相当する。
既知のやり方で、LPC係数はベクトルで量子化された線
スペクトルパラメータ(LSP)の形式に変換される。LTP
遅延(それらは256の整数あるいは191/3と143の間の分
数の値をとることができる)は、8ビットにわたって量
子化される。これらの8ビットはサブフレーム1および
4で送信される。また、他のサブフレームに対して、差
の値は5ビットのみでコード化される。コードブックは
K=(L')=14641コードワードを含んでいる。した
がってパルスP=3の符号を与える1ビットを足して、
位置をコード化するのに14ビット必要である。
この例1において、この発明によれば、初期のACELPコ
ーダで得ることができたものと同一の出力信号を得ると
同時に、分散行列の成分を格納するのにコーダによって
必要とされるメモリのサイズを2.5で割ることができ
る。
コーダに用いられるデータおよび変数および分散行列の
成分を格納するのに必要なランダムアクセスメモリは、
16ビットの2264+1936=4200ワードから16ビットの2264
+770=3034ワードにしたがって減らされる。よって、
スタティックRAMメモリおよびディジタル信号プロセッ
サ(DSP)た互換性をもつ12ビットでアドレシングをさ
せることが可能になる。
例2 上記の第1の実施例を実行するこの第2の例では、6ms
のサブフレーム(L=48)へ細分された30msのフレーム
(Λ=240)が使用される。ACELPコードブックは、δ=
1およびε=0において関係式(2)によって与えられ
るL'=16個の可能な位置を各々有するN=3個のパルス
のコードを含む。δL'N=Lなので、コードワードは、
N=3個のパルスを常に含んでいる励振を得るために切
り捨てられない。
LPCおよびLTPパラメータは例1に似ている手法で決定さ
れる。コードブックはK=(L')=4096コードワード
を含んでいる。したがって、12ビットは位置をコード化
するために要求される。それからビットレートはフレー
ム当たり158ビットである。つまり、5.3kbits/sであ
る。
この例2において、この発明によれば、同一の出力信号
を得るのと同時に、分散行列の成分を格納するのにコー
ダによって必要とされるメモリを2.8で割ることを可能
にする(16ビットの1488のワードの節減はランダムアク
セスメモリにおいて12ビットでアドレシングをさせるこ
とを可能にする)。
例3 部分最適探索手順(μ=1)にて第2の実施例を実行す
るこの第3の例では、7.5msのサブフレーム(L=60)
へ細分された30msのフレーム(Λ=240)が活用され
る。ACELPコードブックは、カーディナルL'=8を持つ
位置のN=4個の集合のM=2個の群から構築される。
位置は、δ=2、ε(0)=0、およびε(1)=1における
関係式(2m)によって与えられる。コードブックのコー
ドワードは、1つのサブフレームの長さLより長い長さ
δL'N=64を持っている。それらは、2、3、あるいは
4個のパルスを含んでいる励振を得るため、したがって
切り捨てられなければならない(サンプル0からL−1
=59までのみ)。サブフレーム中のパルスの分布は、群
m=0に対する表IIIおよび群m=1に対する表IVの中
で示される。
コードブックはK=M・(L')=8192のコードワード
を含んでいる。したがって、位置とパルスの符号を与え
る4ビットを加えたものをコード化するために13ビット
が必要である。例1および例2の場合のように、合成パ
ラメータをコード化するに当たって、コーダはフレーム
当たり153ビットを生成する。これは5.1kbits/sのビッ
トレートを表わす。
この例において、この発明によれば、分散行列の成分を
格納するのにコーダによって必要とされるメモリのサイ
ズを9.8で割ることを可能にする。これは、16ビットの3
680ワード((δL'N)=4096の代わりとして行列Uの
416個の有効な成分)の必要とされたランダムアクセス
メモリの縮減を意味する。この発明の第2の実施例は、
部分最適手順なしで適用された場合、行列Uの832個の
成分の格納を必要とするだろう。
フロントページの続き (56)参考文献 特開 平7−20895(JP,A) 特表 平10−513571(JP,A) Takehiro Moriya,T wo−Channel Conjuga te Vector Quantize r for Noizy Channe l Speeck Coding,IE EE JOURNAL ON SELE CTED AREAS IN COMM UNICATIONS,IEEE,1992 年 6月,VOL.10,NO.5,866 −874 R.Salami et al,De scription of the P roposed ITU−T 8KB /S Speech Coding S tandard,Speech Cod ing for Telecommun ications,IEEE,1995年 9月,3−4 野村俊之、小澤一範、芹沢昌宏,CE LPにおけるパルス励振源の効率的な探 索法,日本音響学会講演論文集,日本音 響学会,1996年 3月,平成8年春季 I,311−312 (58)調査した分野(Int.Cl.7,DB名) G10L 19/12 JICSTファイル(JOIS)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】L個のサンプルの連続フレームとして音声
    信号をディジタル化するステップと、 一方では合成フィルタを定義する合成パラメータを、他
    方では予め定義した代数的コードブックに属するL個の
    サンプルの励振コードにおけるパルス位置および関連す
    る励振利得を含む励振パラメータを、各フレームに対し
    て適応して決定するステップと、 代数的コードブックが少なくともL個のサンプルのコー
    ドにおける可能なパルス位置のN個の集合(E0,E1,…,E
    N-1)の少なくとも1つの群に基づいて定義され、該コ
    ードブックからのコードが一つの群の位置のN個の集合
    にそれぞれ属するN個のパルス位置によって表わされ、
    そして、1つのフレームに関係する前記励振パラメータ
    の決定が数量Pk 2k 2を最大にする該コードブックから
    コードを選ぶことを含み、Pk=D・cK Tが該コードブッ
    クからのコードckと、該フレームの音声信号と該合成パ
    ラメータとに依存する目標ベクトルDとのスカラー積を
    表わし、また、αk 2が合成フィルタおよび知覚の重みを
    加えるフィルタから構成される複合フィルタによってフ
    ィルタにかけられたコードckのフレームにおけるエネル
    ギーを表わし、エネルギーαk 2の計算が分散行列U=HT
    ・Hの各成分の計算およびメモリ記憶を含み、Hが、L
    行L列の低位の三角テプリッツ行列を表わし、前記複合
    フィルタのインパルス応答h(0),h(1),…,h(L
    −1)から形成される場合において、該決定したパラメ
    ータを表す量子化した値を伝送するステップと、 からなる符号励振線形予測(CELP)音声符号化方法にお
    いて、 posi,pおよびposj,qが、前記コードブックからのコード
    のパルスpおよびqに対する可能な位置を含んでいる前
    記群の集合(Ep,Eq)における次数iおよびjの位置を
    それぞれ表わす場合に、 分散行列のメモリに格納される成分が、N集合の少なく
    とも1つの群に対して、 0≦p<Nのとき: 0≦p<q<Nのとき: の形式のものだけであることを特徴とする符号励振線形
    予測音声符号化方法。
  2. 【請求項2】N集合の1つの群に対して前記分散行列の
    メモリに格納された成分が、N個の相関ベクトルおよび
    N(N−1)/2個の相関行列の形式で構成されており、 各相関ベクトルRp,pが、前記コードブックからのコー
    ドにおけるパルス数p(0≦p<N)に関連し、また、
    形式Rp,p(i)=U(posi,p,posi,p)の成分i(0≦
    i<Lp')を持ち、パルスpに対する可能な位置を含む
    前記群からの集合(Ep)のカーディナルと等しい次元
    Lp'を有し、そして各相関行列Rp,pが、該コードブック
    からのコードにおける異なる2つのパルス数p,q(0≦
    p<q<N)に関連し、また、行iおよび列j(0≦i
    <Lp'および0≦j<Lq')における形式Rp,q(i,j)=
    U(posi,p,posj,q)の成分を持ち、Lp'行およびLq'列
    を有している ことを特徴とする請求項1記載の方法。
  3. 【請求項3】前記コードブックからのコードの1つのパ
    ルスに対する可能な位置を含んでいる前記群の集合
    (E0,E1,…,EN-1)が、すべて同一のカーディナルL'を
    有しており、パルスp(0≦i<L',0≦p<N)に対す
    る可能な位置の集合(Ep)における次数iの位置が、δ
    およびεがδ>0およびε≧0のような2つの整数であ
    る場合に: posi,p=δ・(iN+p)+ε, によって与えられることを特徴とする請求項2記載の方
    法。
  4. 【請求項4】前記代数的コードブックが、前記コードブ
    ックからのコードのパルスに対するL'個の可能な位置の
    N個の集合のM個の群に基づいて定義され、M>1にお
    いて、パルスp(0≦i<L',0≦m<M,0≦p<N)に
    対して可能な位置を含んでいる群mの集合(Ep (m))に
    おける次数iの位置が、δ,ε(0),…,ε(M-1)が0≦
    ε(0)<…<ε(M-1)<δのような整数である場合に: posi,p (m)=δ・(iN+p)+ε(m) によって与えられることを特徴とする請求項2記載の方
    法。
  5. 【請求項5】μが1≦μ<Mのような整数である場合
    に、前記群のμに対してのみ、前記相関ベクトル(R
    p,p (m))および前記相関行列(Rp,q (m))がメモリに蓄
    えられる ことを特徴とする請求項4記載の方法。
  6. 【請求項6】1つの群に関係するN個の相関ベクトルの
    計算が、整数変数kおよび累積変数corの初期化、およ
    びL'−1から0まで減少する整数iによってインデック
    スが付けられたループを含んでおり、前記ループ中の繰
    り返しiがN−1から0まで減少するpに対する前記ベ
    クトルの成分Rp,p(i)の連続する計算を含み、整数
    変数kのδ回の増分および対応するδ回の累積変数cor
    への項h(k)・h(k)の加算の後、1つの成分R
    p,p(i)が累積変数corと等しくとられる ことを特徴とする請求項3,4又は5のいずれか1項に記
    載の方法。
  7. 【請求項7】1つの群に関係するN(N−1)/2個の相
    関行列の計算が、区間[1,N−1]中のすべての整数t
    および区間[0,L'−1]中のすべての整数d'に対して、
    整数変数kおよび蓄積変数corの初期化、およびL'−1
    −d'から0まで減少する整数iによってインデックスが
    付けられたループ(Bt,d')を含んでおり、前記ループ
    における繰り返しiがN−1−tから0まで減少するp
    に対する前記行列の成分Rp、p+t(i,i+d')の連
    続の計算、およびi>0の場合にt−1から0まで減少
    するqに対する前記行列の成分Rq,q+N−t(i+d',
    i−1)の連続の計算を含み、d=δ・(t+d'N)にお
    いて、整数変数kのδ回の増分および蓄積変数corへの
    項h(k)・h(k+d)の加算の後、1つの成分R
    p,p+t(i,i+d')またはRq,q+N−t(i+d',i−
    1)が累積変数corと等しくとられる ことを特徴とする請求項3,4又は5のいずれか1項に記
    載の方法。
JP52078896A 1995-01-06 1996-01-04 代数的符号励振線形予測音声符号化方法 Expired - Lifetime JP3481251B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9500133A FR2729245B1 (fr) 1995-01-06 1995-01-06 Procede de codage de parole a prediction lineaire et excitation par codes algebriques
FR95/00133 1995-01-06
PCT/FR1996/000017 WO1996021221A1 (fr) 1995-01-06 1996-01-04 Procede de codage de parole a prediction lineaire et excitation par codes algebriques

Publications (2)

Publication Number Publication Date
JPH10502191A JPH10502191A (ja) 1998-02-24
JP3481251B2 true JP3481251B2 (ja) 2003-12-22

Family

ID=9474930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52078896A Expired - Lifetime JP3481251B2 (ja) 1995-01-06 1996-01-04 代数的符号励振線形予測音声符号化方法

Country Status (8)

Country Link
US (1) US5717825A (ja)
EP (1) EP0749626B1 (ja)
JP (1) JP3481251B2 (ja)
KR (1) KR100389693B1 (ja)
CA (1) CA2182386C (ja)
DE (1) DE69604729T2 (ja)
FR (1) FR2729245B1 (ja)
WO (1) WO1996021221A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2729247A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
US5646867A (en) * 1995-07-24 1997-07-08 Motorola Inc. Method and system for improved motion compensation
JP3094908B2 (ja) * 1996-04-17 2000-10-03 日本電気株式会社 音声符号化装置
JP3707154B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 音声符号化方法及び装置
DE19641619C1 (de) * 1996-10-09 1997-06-26 Nokia Mobile Phones Ltd Verfahren zur Synthese eines Rahmens eines Sprachsignals
US5970444A (en) * 1997-03-13 1999-10-19 Nippon Telegraph And Telephone Corporation Speech coding method
US5924062A (en) * 1997-07-01 1999-07-13 Nokia Mobile Phones ACLEP codec with modified autocorrelation matrix storage and search
CA2254620A1 (en) * 1998-01-13 1999-07-13 Lucent Technologies Inc. Vocoder with efficient, fault tolerant excitation vector encoding
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
US6556966B1 (en) 1998-08-24 2003-04-29 Conexant Systems, Inc. Codebook structure for changeable pulse multimode speech coding
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
SE521225C2 (sv) * 1998-09-16 2003-10-14 Ericsson Telefon Ab L M Förfarande och anordning för CELP-kodning/avkodning
JP4005359B2 (ja) * 1999-09-14 2007-11-07 富士通株式会社 音声符号化及び音声復号化装置
DE69926019D1 (de) 1999-09-30 2005-08-04 St Microelectronics Asia G.723.1 audiokodierer
JP3449339B2 (ja) * 2000-06-08 2003-09-22 日本電気株式会社 復号化装置および復号化方法
US7363219B2 (en) * 2000-09-22 2008-04-22 Texas Instruments Incorporated Hybrid speech coding and system
JP3449348B2 (ja) * 2000-09-29 2003-09-22 日本電気株式会社 相関行列学習方法および装置ならびに記憶媒体
JP3536921B2 (ja) * 2001-04-18 2004-06-14 日本電気株式会社 相関行列学習方法、装置及びプログラム
DE10140507A1 (de) * 2001-08-17 2003-02-27 Philips Corp Intellectual Pty Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers
US7383283B2 (en) * 2001-10-16 2008-06-03 Joseph Carrabis Programable method and apparatus for real-time adaptation of presentations to individuals
US8655804B2 (en) 2002-02-07 2014-02-18 Next Stage Evolution, Llc System and method for determining a characteristic of an individual
US8195597B2 (en) * 2002-02-07 2012-06-05 Joseph Carrabis System and method for obtaining subtextual information regarding an interaction between an individual and a programmable device
JP4290917B2 (ja) * 2002-02-08 2009-07-08 株式会社エヌ・ティ・ティ・ドコモ 復号装置、符号化装置、復号方法、及び、符号化方法
US7003461B2 (en) * 2002-07-09 2006-02-21 Renesas Technology Corporation Method and apparatus for an adaptive codebook search in a speech processing system
EP1383109A1 (fr) * 2002-07-17 2004-01-21 STMicroelectronics N.V. Procédé et dispositif d'encodage de la parole à bande élargie
US7249014B2 (en) 2003-03-13 2007-07-24 Intel Corporation Apparatus, methods and articles incorporating a fast algebraic codebook search technique
GB0307752D0 (en) * 2003-04-03 2003-05-07 Seiko Epson Corp Apparatus for algebraic codebook search
FI118835B (fi) * 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
KR100668299B1 (ko) * 2004-05-12 2007-01-12 삼성전자주식회사 구간별 선형양자화를 이용한 디지털 신호 부호화/복호화방법 및 장치
SG123639A1 (en) 2004-12-31 2006-07-26 St Microelectronics Asia A system and method for supporting dual speech codecs
JP3981399B1 (ja) * 2006-03-10 2007-09-26 松下電器産業株式会社 固定符号帳探索装置および固定符号帳探索方法
KR101542069B1 (ko) * 2006-05-25 2015-08-06 삼성전자주식회사 고정 코드북 검색 방법 및 장치와 그를 이용한 음성 신호의부호화/복호화 방법 및 장치
MY146431A (en) * 2007-06-11 2012-08-15 Fraunhofer Ges Forschung Audio encoder for encoding an audio signal having an impulse-like portion and stationary portion, encoding methods, decoder, decoding method, and encoded audio signal
WO2009033288A1 (en) * 2007-09-11 2009-03-19 Voiceage Corporation Method and device for fast algebraic codebook search in speech and audio coding
EP2077550B8 (en) 2008-01-04 2012-03-14 Dolby International AB Audio encoder and decoder
CN101615394B (zh) * 2008-12-31 2011-02-16 华为技术有限公司 分配子帧的方法和装置
EP3285253B1 (en) * 2011-01-14 2020-08-12 III Holdings 12, LLC Method for coding a speech/sound signal
CN102623012B (zh) 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
BR112015007137B1 (pt) * 2012-10-05 2021-07-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação
EP2919232A1 (en) * 2014-03-14 2015-09-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and method for encoding and decoding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1229681A (en) * 1984-03-06 1987-11-24 Kazunori Ozawa Method and apparatus for speech-band signal coding
CA1255802A (en) * 1984-07-05 1989-06-13 Kazunori Ozawa Low bit-rate pattern encoding and decoding with a reduced number of excitation pulses
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US4910781A (en) * 1987-06-26 1990-03-20 At&T Bell Laboratories Code excited linear predictive vocoder using virtual searching
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
WO1990013112A1 (en) * 1989-04-25 1990-11-01 Kabushiki Kaisha Toshiba Voice encoder
CA2027705C (en) * 1989-10-17 1994-02-15 Masami Akamine Speech coding system utilizing a recursive computation technique for improvement in processing speed
CA2010830C (en) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
US5195137A (en) * 1991-01-28 1993-03-16 At&T Bell Laboratories Method of and apparatus for generating auxiliary information for expediting sparse codebook search
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
FR2700632B1 (fr) * 1993-01-21 1995-03-24 France Telecom Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués.

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
R.Salami et al,Description of the Proposed ITU−T 8KB/S Speech Coding Standard,Speech Coding for Telecommunications,IEEE,1995年 9月,3−4
Takehiro Moriya,Two−Channel Conjugate Vector Quantizer for Noizy Channel Speeck Coding,IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,IEEE,1992年 6月,VOL.10,NO.5,866−874
野村俊之、小澤一範、芹沢昌宏,CELPにおけるパルス励振源の効率的な探索法,日本音響学会講演論文集,日本音響学会,1996年 3月,平成8年春季I,311−312

Also Published As

Publication number Publication date
FR2729245B1 (fr) 1997-04-11
CA2182386C (fr) 2003-09-09
FR2729245A1 (fr) 1996-07-12
EP0749626A1 (fr) 1996-12-27
KR970701901A (ko) 1997-04-12
DE69604729D1 (de) 1999-11-25
KR100389693B1 (ko) 2003-12-01
WO1996021221A1 (fr) 1996-07-11
EP0749626B1 (fr) 1999-10-20
DE69604729T2 (de) 2002-07-25
JPH10502191A (ja) 1998-02-24
CA2182386A1 (fr) 1996-07-11
US5717825A (en) 1998-02-10

Similar Documents

Publication Publication Date Title
JP3481251B2 (ja) 代数的符号励振線形予測音声符号化方法
US5675702A (en) Multi-segment vector quantizer for a speech coder suitable for use in a radiotelephone
US6510407B1 (en) Method and apparatus for variable rate coding of speech
US7359855B2 (en) LPAS speech coder using vector quantized, multi-codebook, multi-tap pitch predictor
US5307441A (en) Wear-toll quality 4.8 kbps speech codec
JP3707153B2 (ja) ベクトル量子化方法、音声符号化方法及び装置
US5485581A (en) Speech coding method and system
JP3707154B2 (ja) 音声符号化方法及び装置
JP3114197B2 (ja) 音声パラメータ符号化方法
EP1353323B1 (en) Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
US6161086A (en) Low-complexity speech coding with backward and inverse filtered target matching and a tree structured mutitap adaptive codebook search
JPH0990995A (ja) 音声符号化装置
JP2645465B2 (ja) 低遅延低ビツトレート音声コーダ
JP3248668B2 (ja) ディジタルフィルタおよび音響符号化/復号化装置
JP3095133B2 (ja) 音響信号符号化方法
KR100465316B1 (ko) 음성 부호화기 및 이를 이용한 음성 부호화 방법
JPH06282298A (ja) 音声の符号化方法
US5978758A (en) Vector quantizer with first quantization using input and base vectors and second quantization using input vector and first quantization output
JP3233184B2 (ja) 音声符号化方法
JP3194930B2 (ja) 音声符号化装置
JP2002221998A (ja) 音響パラメータ符号化、復号化方法、装置及びプログラム、音声符号化、復号化方法、装置及びプログラム
JP3192999B2 (ja) 音声符号化方法および音声符号化方法
JP3192051B2 (ja) 音声符号化装置
GB2199215A (en) A stochastic coder
JP3675054B2 (ja) ベクトル量子化方法、音声符号化方法及び装置、並びに音声復号化方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081010

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091010

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101010

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term