JP3356570B2 - ピッチ同期化処理方式 - Google Patents
ピッチ同期化処理方式Info
- Publication number
- JP3356570B2 JP3356570B2 JP00575995A JP575995A JP3356570B2 JP 3356570 B2 JP3356570 B2 JP 3356570B2 JP 00575995 A JP00575995 A JP 00575995A JP 575995 A JP575995 A JP 575995A JP 3356570 B2 JP3356570 B2 JP 3356570B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- pitch
- information
- psi
- sub
- 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 - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
関し、更に詳しくは適応符号帳及び雑音符号帳を励振源
として最適な信号系列の組を探索するCELP(Code E
xcited Linear Predictive Coding )型符号方式におけ
る前記符号帳の読出ベクトルを当該フレームについて先
に抽出済のピッチ周期により周期化するピッチ同期化処
理方式に関する。
ジタル移動体無線通信等において音声品質を保ちつつ大
幅な情報圧縮を実現するものとして要望が高まってお
り、実用性の高い4〜16kbpsの伝送速度において音声
品質の一層の改善が望まれている。特に、ディジタル移
動体通信のハーフレート方式(5.6kbps)における音
声コーデック(PSI−CELP)の実現においては、
併せて装置の小型化、低消費電力化が強く要求されてお
り、そのためにはDSP(Digital Signal Processor)
のファームウェアの高効率(少ない演算量、少ないメモ
リ量)な実現が欠かせない。
図10(A)は従来のCELP型音声符号器の機能ブロ
ック図で、図において1は1フレーム前の駆動音源信号
を保持するフレーム遅延部(FLD)、201は駆動音
源信号の周期的成分(ピッチベクトルP)を記憶する適
応符号帳、202 は駆動音源信号の周期的成分を記憶し
ている固定符号帳、301 ,302 は駆動音源信号を生
成するための非周期成分(コードベクトルC)を記憶し
ている雑音(ストカスティック)符号帳、6,9は加算
器、7,8は乗算器、10は線形予測分析部、11は線
形予測合成フィルタ、12は減算器、13は聴覚重み付
波形歪み評価部、14は符号化制御部、15はセレクタ
である。
一定長(例えば80サンプル)のフレーム毎に線形予測
分析を行い、重み付けベクトルAを生成する。しかる
後、符号化制御部14は符号帳20,30にインデック
ス番号nward を与えてピッチベクトルP及びコードベク
トルCを読み出し、これらにピッチゲインb及びコード
ゲインgを夫々乗算して駆動音源信号(bP+gC)を形成
する。更に、線形予測合成フィルタ11は駆動音源信号
(bP+gC)にベクトルAによる重み付けをして再生音声
信号(AbP+AgC)を形成し、減算器12は音声の入力
信号と再生音声信号(AbP+AgC)との差を求めて誤差
信号eを形成する。更に、この誤差信号eを聴覚重み付
波形歪み評価部13で評価し、その結果を符号化制御部
14にフィードバックする。更に、符号化制御部14
は、上記を繰り返すことにより波形歪みを最小とするよ
うなピッチベクトルP及びコードベクトルCの組を探索
し、得られたインデックス番号及び線形予測パラメータ
(ゲインパラメータ等)を伝送する。
のハーフレート(5.6kbps)方式においては、PSI
−CELP(ピッチ同期励振源駆動線形予測)方式が音
声符号化仕様として規格化されている。本方式の主要技
術として、雑音符号帳30のコードベクトルCを当該フ
レームで先に抽出済のピッチ周期Lで周期化するピッチ
同期化(PSI化)処理がある。
す。PSI化処理とは、ある時点のピッチ周期がL(但
し、L<N)である時に、雑音符号帳30のインデック
ス番号iに対応する長さNのコードベクトルCi [0]
〜Ci [N−1]より、長さLのサブコードベクトルC
i [0]〜Ci [L−1]を必要な回数だけ切り出し、
これらを長さNのPSI化コードベクトルCに組み立て
る処理を言う。このようなPSI化処理を行うことで、
ハーフレート方式における音声品質の改善が得られる。
理の実現には、複雑なアドレッシング制御により雑音符
号帳30から長さLのサブコードベクトルを繰り返し切
り出す必要がある。例えば移動体通信への適用領域で
は、このPSI化機能をDSPにより実現することにな
るが、現在では回路規模を小さく抑えられる固定小数点
演算方式が主流であり、データ長や命令長も16bit 等
に制限されている。この16bit 命令長では、アドレッ
シング機能の制約によりPSI化処理の様なランダムメ
モリアクセス処理には多大なオーバヘッドサイクルが必
要となる。例えば、この処理を何らの工夫もなく普通に
行うと、作業メモリとして32×80=2560=2K
wordの領域が必要となり、演算量・メモリ量の両面での
膨大な所要量が問題となる。このことは、小型・低消費
電力な装置実現において大きな障害となる。
周期Lが小数値を持つため、図10(B)に示す様な単
純な切出し作業では実現できず、繰返しブロックの要素
数や先頭データの読出位置が微妙に変化する。本発明の
目的は、簡単な構成及び制御アルゴリズムで効率良いP
SI化処理を実現できるピッチ同期化処理方式を提供す
ることにある。
の構成により解決される。即ち、本発明(1)のピッチ
同期化処理方式は、適応符号帳及び雑音符号帳を励振源
として最適な信号系列の組を探索するA−b−S型音声
符号化方式における前記符号帳の読出ベクトルを所望の
ピッチ周期により周期化するピッチ同期化処理方式にお
いて、ピッチ周期の整数部及び小数部の各情報に基づき
予め規定されたテーブルを参照して、雑音符号帳のコー
ドベクトルから所定長の周期化コードベクトルを生成す
るためのサブベクトルの個数、サブベクトル毎の要素の
位相及びサブベクトル毎のベクトル長の各情報を生成す
るPSI化情報生成部と、PSI化情報生成部の生成出
力に基づき雑音符号帳から各対応するサブベクトルをシ
ーケンシャルに生成し、周期化コードベクトルを組み立
てるPSI化ベクトル組立部とを備えるものである。
は、適応符号帳及び雑音符号帳を励振源として最適な信
号系列の組を探索するA−b−S型音声符号化方式にお
ける前記符号帳の読出ベクトルを所望のピッチ周期によ
り周期化するピッチ同期化処理方式において、現時点よ
り過去に遡る所定数の励振源サンプル信号をピッチベク
トルとして保持するフレーム遅延部と、ピッチ周期の整
数部及び小数部の各情報に基づき予め規定されたテーブ
ルを参照して、フレーム遅延部のピッチベクトルから所
定長の周期化ピッチベクトルを生成するためのサブベク
トルの個数、サブベクトル毎の要素の位相及びサブベク
トル毎のベクトル長の各情報を生成するPSI化情報生
成部と、PSI化情報生成部の生成出力に基づきフレー
ム遅延部のピッチベクトルから各対応するサブベクトル
をシーケンシャルに生成し、周期化ピッチベクトルを組
み立てるPSI化ベクトル組立部とを備えるものであ
る。
て、PSI化情報生成部41は、ピッチ周期の整数部la
gi及び小数部lagfの各情報に基づき予め規定されたテー
ブル{例えば図6(A),(B)の各テーブル}を参照
して、結果として、雑音符号帳3のコードベクトルから
所定長の周期(PSI)化コードベクトルを生成するた
めのサブベクトルの個数elm 、各サブベクトル毎の要素
の位相及びサブベクトル毎のベクトル長 num[i]の各
情報を生成する。そして、PSI化ベクトル組立部45
は、PSI化情報生成部41の生成出力に基づき雑音符
号帳3から各対応するサブベクトルdata[j]をシーケ
ンシャルに生成し、周期(PSI)化コードベクトルps
iwrd[k]を組み立てる。
部41は、予め規定されたテーブルを参照して、雑音符
号帳3をアクセスするためのサブベクトルの個数elm
と、サブベクトル毎の要素の位相及びサブベクトル毎の
ベクトル長num [i]の系列を生成するので、実質的に
小数部を含むようなピッチ周期の周期化コードベクトル
を容易に組み立てることが可能となる。また、後段のP
SI化ベクトル組立部(特にDSPによるベクトル組立
部)45の処理負担が大幅に軽減される。かくして、演
算量・メモリ量の削減化が図れ、装置の小型化・低消費
電力化が望める。
において、フレーム遅延部(又は適応符号帳)1は、現
時点より過去に遡る所定数の励振源サンプル信号をピッ
チベクトルとして保持する。PSI化情報生成部41
は、ピッチ周期の整数部lagi及び小数部lagfの各情報に
基づき予め規定されたテーブル{例えば図8(A),
(B)の各テーブル}を参照して、フレーム遅延部1の
ピッチベクトルから所定長の周期(PSI)化ピッチベ
クトルを生成するためのサブベクトルの個数elm 、各サ
ブベクトル毎の要素の位相及びサブベクトル毎のベクト
ル長 num[i]の各情報を生成する。そして、PSI化
ベクトル組立部45は、PSI化情報生成部41の生成
出力に基づきフレーム遅延部1のピッチベクトルから各
対応するサブベクトルdata[j]をシーケンシャルに生
成し、周期(PSI)化ピッチベクトルpsiwrd[k]を
組み立てる。
部41は、予め規定されたテーブルを参照して、結果と
して、フレーム遅延部1をアクセスするためのサブベク
トルの個数elm 、各サブベクトル毎の要素の位相及びサ
ブベクトル毎のベクトル長 num[i]の系列を生成する
ので、実質的に小数部を含むようなピッチ周期の周期化
ピッチベクトルを容易に組み立てることが可能となる。
また、後段のPSI化ベクトル組立部(特にDSPによ
るベクトル組立部)45の処理負担が大幅に軽減され
る。かくして、演算量・メモリ量の削減化が図れ、装置
の小型化・低消費電力化が望める。また、雑音符号帳3
に対する上記PSI化処理との間には、構成及びその制
御アルゴリズムにおいて多くの共通性があるので、例え
ばCELP型音声符号器への適用例では、PSI化情報
生成部41をスイッチ信号swにより切り替えてコード
ベクトル又はピッチベクトルの処理に共用することが可
能となり、音声品質の改善と、装置の小型化・低消費電
力化が同時に得られる。
本発明(1)又は(2)において、生成すべきサブベク
トルの個数elm を計数するカウンタと、ピッチ周期の小
数部lagfの情報とカウンタ計数値i とで参照される各ア
ドレスにその回に生成可能なサブベクトルのベクトル長
の上限値lim の情報を記憶している上限値テーブルscb-
tbl/acb-tbl とを備え、PSI化情報生成部41は、ピ
ッチ周期の整数部lagiの情報と上限値テーブルからの各
回の読出上限値 lim[i]とを比較すると共に、ピッチ
周期の整数部lagiの情報が上限値テーブルからのその回
の読出上限値lim を上回ったことにより、その時点のカ
ウンタ計数値i に基づきサブベクトルの個数elm を生成
するものである。本発明(3)によれば、上記の様な上
限値テーブルscb-tbl/acb-tbl を備える構成により、ピ
ッチ周期が整数/小数によらず、所要のサブベクトルの
個数elmを容易に生成できる。
上記本発明(3)において、ピッチ周期の小数部lagfの
情報とカウンタの計数値i とで参照されるアドレスにピ
ッチ周期の整数部の情報の補正値delta を記憶している
補正テーブルscb-delta/acb-delta を備え、PSI化情
報生成部41は、ピッチ周期の整数部lagiの情報を補正
テーブルからのその回の読出補正値delta で補正した情
報をサブベクトルのベクトル長 num[i]の情報とす
る。本発明(4)によれば、上記の様な補正テーブルsc
b-delta/acb-delta を備える構成により、ピッチ周期が
整数/小数によらず、毎回の所要のサブベクトル長num
[i]を容易に生成できる。
上記本発明(1)において、PSI化ベクトル組立部4
5は、PSI化情報生成部41が生成したサブベクトル
の位相の情報に従って雑音符号帳3から対応する位相の
サブベクトルの要素を生成する。従って、メモリの節約
となる。
上記本発明(1)において、雑音符号帳3のコードベク
トルに対して各所定分位相のずれたコードベクトルを記
憶しているscb用テーブル(拡張テーブル)4を備
え、PSI化情報生成部41は、サブベクトル毎の要素
の位相の情報を生成する代わりに、雑音符号帳3及びs
cb用テーブルから前記位相の情報に対応するコードベ
クトルを読み出すためのアドレス情報adrs[i] を生成
し、かつPSI化ベクトル組立部45は、前記アドレス
情報adrs[i] に従って対応するコードベクトルを読み
出す。
ードベクトルに対して各所定分(例えば1/nサンプル
分)位相のずれた内容のコードベクトルを記憶している
scb用テーブル(拡張テーブル)4を備えるので、P
SI化情報生成部は、サブベクトル毎の要素の位相の情
報を生成する代わりに、雑音符号帳及びscb用テーブ
ルから前記位相の情報に対応するコードベクトルを読み
出すためのアドレス情報を容易に生成でき、かつPSI
化ベクトル組立部は、前記アドレス情報に従って対応す
る位相のコードベクトルを容易に読み出せる。従って、
ピッチ周期Lが小数値を持つ時の複雑なPSI化演算が
大幅に削減される。
上記本発明(2)において、PSI化ベクトル組立部4
5は、PSI化情報生成部41が生成したサブベクトル
毎の要素の位相の情報に従ってフレーム遅延部1のピッ
チベクトルから対応する位相のサブベクトルの要素を生
成する。従って、メモリの節約となる。
上記本発明(2)において、フレーム遅延部1のピッチ
ベクトルに対して各所定分位相のずれたピッチベクトル
を記憶するacb用テーブル(拡張テーブル)5を備
え、PSI化情報生成部41は、サブベクトル毎の要素
の位相の情報を生成する代わりに、フレーム遅延部1及
びacb用テーブル5から前記位相の情報に対応するピ
ッチベクトルを読み出すためのアドレス情報adrs[i]
を生成し、かつPSI化ベクトル組立部45は、前記ア
ドレス情報adrs[i] に従って対応するピッチベクトル
を読み出す。
のピッチベクトルに対して各所定分(例えば1/nサン
プル分)位相のずれた内容のコードベクトルを記憶して
いるacb用テーブル(拡張テーブル)5を備えるの
で、PSI化情報生成部41は、サブベクトル毎の要素
の位相の情報を生成する代わりに、フレーム遅延部1及
びacb用テーブル5から前記位相の情報に対応するピ
ッチベクトルを読み出すためのアドレス情報adrs[i]
を容易に生成でき、かつPSI化ベクトル組立部45
は、前記アドレス情報adrs[i] に従って対応するピッ
チベクトルを容易に読み出せる。従って、ピッチ周期L
が小数値を持つ時の複雑なPSI化演算が大幅に削減さ
れる。
を詳細に説明する。なお、全図を通して同一符号は同一
又は相当部分を示すものとする。図2は実施例の音声符
号装置の機能ブロック図で、図において1はフレーム遅
延部(FDL)、21 はRAMから成る適応符号帳、2
2 はROMから成る固定符号帳、31 ,32 はROMか
ら成る雑音符号帳、41 ,42 ,51 ,52 はPSI化
処理部(PSI)、6,9は加算器、7,8は乗算器、
10は線形予測分析部、11は線形予測合成フィルタ、
12は減算器、13は聴覚重み付波形歪み評価部、14
は符号化制御部、15はセレクタである。
のCELP方式をベースにしたものであり、フレーム遅
延部1及び符号帳2,3以外の各種機能ブロックは不図
示のDSPのファームウエアにより実現される。例えば
図には4つのPSI化処理部41 ,42 ,51 ,52 を
示したが、これらはDSPのファームウエアにより必要
な時に実現される。
の処理の一部を変更するためのものであり、sw=1は
ピッチベクトルPのPSI化処理、sw=0はコードベ
クトルCのPSI化処理に夫々対応する。本実施例のP
SI化処理の大部分はピッチベクトルP及びコードベク
トルCの処理に共通であり、よって効率良いPSI化処
理が少ないメモリで実現される。
を説明する。この処理は、DSPが図5の雑音符号帳3
及びscb用(拡張)テーブル4と、図6の上限値テー
ブルscb-tbl 及び補正テーブルscb-delta を参照するこ
とで効率よく行われる。図5に雑音符号帳3及びscb
用テーブル4の構成を示す。なお、これらをまとめて雑
音符号帳3と呼んでも良い。
クトルC0 を記憶しており、またscb用テーブル4は
コードベクトルC0 に対して1サンプル周期より短い時
間分位相がオフセットした内容のコードベクトル
C1/4 ,C-1/4,C-1/2を記憶している。即ち、アドレ
ス46〜125の80個のコードベクトルC0 は図10
の雑音符号帳30の内容と同一である。これに対してア
ドレス0〜45の46個のコードベクトルC1/4 は位相
が1/4サンプル周期だけ遅れている。またアドレス1
26〜170の45個のコードベクトルC-1/4は位相が
1/4サンプル周期だけ進んでいる。更に、アドレス1
71〜235の65個のコードベクトルC-1/2は位相が
1/2サンプル周期だけ進んでいる。scb用テーブル
4の各コードベクトルC1/4 ,C-1/4,C-1/2は基準と
なるコードベクトルC0 を夫々1/4,−1/4,−1
/2サンプル周期だけ移相させた場合の補間演算により
予め形成されている。雑音符号帳3及びscb用テーブ
ル4の行アドレスはインデックス番号nwrd=0〜31に
より共通に参照され、また列アドレスの読出開始位置は
ベースアドレスレジスタbase-adrs =0,46,12
6,171で参照される。
簡単に実現するため、ピッチ周期値lagfと繰り返し番号
iとに各回の読出上限値や読出要素数の補正値を対応さ
せる微調整テーブルを採用した。図6(A)に上限値テ
ーブルscb-tbl の構成を示す。上限値テーブルscb-tbl
は、雑音符号帳3又はscb用テーブル4から1回に連
続して読み出せるコードベクトル要素数の上限値をマト
リックス状に記憶したもので、その行アドレスはレジス
タlagf-pointで参照され、列アドレスは読出回数レジス
タiで参照される。
りlagf×6が入力される。このlagfはピッチ周期Lの小
数部を表すコードであり、lagf=0=「1/4」,lagf
=1=「0」(即ち、整数に相当),lagf=2=「−1
/4」,lagf=3=「−1/2」に夫々対応する。コー
ドlagfに応じてレジスタlagf-point=lagf×6=0,
6,12,18となる。
96とする。これは整数(lagf=1)であり、lagf-poi
nt=6に対応する。1回目(i=0)の読出上限値=8
0(PSI化ベクトル長に相当)であるから、この場合
は1回目で80個のベクトル要素を読み出すと処理終了
する。この場合のPSI化ベクトル長=80×1=80
となる。
これも整数であり、lagf-point=6に対応する。上記同
様にして1回目(i=0)の上限値=80であるから、
この場合は1回目でL=40<80により40個のベク
トル要素を読み出せる。しかし、2回目(i=1)の上
限値=40であるから、2回目の読出ではL=40≦4
0により残りの40個のベクトル要素を読み出すと処理
終了する。この場合のPSI化ベクトル長=40×2=
80となる。
とすると、これも整数であり、lagf-point=6に対応す
る。この場合は、1回目(i=0)ではL=16<80
により16個を読み出せる。2回目(i=1)ではL=
16<40により更に16個を読み出せる。3回目(i
=2)ではL=16<27により更に16個を読み出せ
る。4回目(i=3)ではL=16<20により更に1
6個を読み出せる。この時点で合計16×4=64個を
読み出している。しかし、5回目(i=4)の上限値=
16であるから、L=16≦16により残りの16個の
ベクトル要素を読み出すと処理終了する。この場合のP
SI化ベクトル長=16×5=80となる。
2,3を有する場合は基本のサブコードベクトルC0 と
位相のずれたサブコードベクトルC1/4 ,C-1/4,C
-1/2とをつなげることで周期化を実現する。従って、テ
ーブルscb-tbl の各上限値はlagf=1の場合と異なる。
上限値の各内容は予めlagf=0,2,3の場合について
夫々最適に計算され、図示の如くテーブルに記録されて
いる。
成を示す。補正テーブルscb-delta は、雑音符号帳3又
はscb用テーブル4から1回に連続して読み出すコー
ドベクトル要素数の補正値をマトリックス状に記憶した
もので、上記と同様に、その行アドレスはレジスタlagf
-pointで参照され、列アドレスは読出回数レジスタiで
参照される。
整数部lagiを補正する必要はない。従って、全読出回数
iについて補正値=0である。即ち、整数部lagiと同じ
個数のコードベクトルを読み出す。lagf=0,2,3の
場合は、読出回数iに応じて予め補正値が図示の如く求
められており、補正値=1の時はlagi+1の個数を読み
出し、また補正値=−1の時はlagi−1の個数を読み出
す。
は、DSPの効率良い処理を考慮したことにより、図3
のPSI化情報生成処理と、図4のPSI化ベクトル組
立処理とに分けられている。図3に実施例のPSI化情
報生成処理のフローチャートを示す。PSI化情報生成
処理では、ピッチ周期Lの整数部lagi及び小数部lagfと
インデックス番号nwrdとに基づき、切出ベクトルの個数
elm と、実アドレスadrs[i](i=0,1,2,…)
及び読出要素数num [i](i=0,1,2,…)の系
列を生成する。ここでは、コードベクトルCのPSI化
処理を説明する。
を判別する。sw=0の場合はコードベクトルCのPS
I化処理を意味し、ステップS2の制御用テーブルの設
定処理に進む。ステップS2では、レジスタtbl-point
に上限値テーブルのベースアドレスscb-tbl をセット
し、レジスタdelta-point に補正テーブルのベースアド
レスscb-delta をセットし、そして、レジスタfracに
「1」(lagf=1:整数に相当)をセットする。
「0」に初期化し、読出残数レジスタtmp にPSI化コ
ードベクトル長の「80」をセットし、そして、レジス
タlagf-pointにlagf×6をセットする。ステップS4で
は、読出回数カウンタiを「0」に初期化する。ステッ
プS5では予め個数カウンタelm に+1を行う。
を判別する。sw=0の場合はコードベクトルCのPS
I化処理を意味し、ステップS7のベースアドレス生成
処理に進む。ステップS7では、fracの内容0〜3に従
い、図5のレジスタbase-adrs に「0」,「46」,
「126」又は「171」のベースアドレスをセットす
る。最初はステップS2の処理によりfrac=1であるの
で、base-adrs =46である。これは図5のコードベク
トルC0 の先頭番地(相対アドレス)を指している。
スadrs[i]を、 adrs[i]=base-adrs [frac]+STEP×nwrd により求める。ここで、STEP=236(図5の符号帳の
列サイズ)であり、nwrdはある時点のインデックス番号
である。ステップS9では、ピッチ周期Lの整数部lagi
が上限値テーブルscb-tbl の読出上限値以上か否かを判
別する。ここで、*( )は上限値テーブルscb-tbl の
アドレス(tbl-point +lagf-point+i)が指す内容を
意味しており、この内容は読出回数カウンタiに従って
変化する。
は、ステップS10に進み、切出要素数 num[i]を、 num[i]=lagi+*(delta-point +lagf-point+
i) により求める。ステップS11ではレジスタfracの内容
を、 frac=(frac+lagf−1)&0x3 により更新する。ここで、&0x3の項は()内の演算
結果の下位2ビット以外をマスクすることを意味する。
の内容を、 tmp =tmp − num[i] により更新する。ステップS13では読出カウンタiに
+1し、ステップS5に戻る。上記ステップS11のfr
acは、上記ステップS7で示したように、図5の符号帳
のどの位相のコードベクトルを切り出すかを決める制御
情報であり、読出回数毎に変化する。表1にfracの遷移
を示す。
遷移を示す。
トルC0 からlagiに相当するベクトル要素数を繰り返し
切り出せば良いので、fracは常に「1」である。従っ
て、base-adrs は常に「46」である。これに対して、
lagf=0(1/4)の場合は、fracは「1」,「0」,
「3」,「2」,「1」と変化する。これに応じてbase
-adrs は「46」,「0」,「171」,「126」,
「46」と変化する。lagf=2(−1/4),lagf=3
(−1/2)についても同様である。
数だけ繰り返し、やがて、ステップS9で整数部lagiが
読出上限値以上と判別されると、ステップS14に進
み、その時点の num[i]に読出残数tmp をセットし、
処理を抜ける。上記の処理を、例えばピッチ周期L=1
6.25の場合について具体的に説明する。L=16.
25はlagi=16,lagf=0(1/4)に相当する。
いては、lagf-point=0の行が選択される。また、lagi
=16により、読出回数カウンタiは4まで、個数カウ
ンタelm は5まで更新される。図6(B)の補正テーブ
ルscb-delta においては、上記同様にしてlagf-point=
0の行が選択され、読出回数i=0〜4に対応する補正
数の系列は「0,1,0,0,0」である。従って、各
回の読出要素数num [i]の系列は「16,17,1
6,16,15」となる。
され、実アドレスadrs[i]の系列は base-adrs「4
6,0,171,126,46」の系列に夫々(STEP×
nwrd)を加えたものになる。以上により、lagi=16,
lagf=0(1/4)及びnwrdの入力から、サブベクトル
の個数elm =5と、実アドレスadrs[i]の系列「46
+STEP×nwrd,0+STEP×nwrd,171+STEP×nwrd,
126+STEP×nwrd,46+STEP×nwrd」と、読出要素
数num [i]の系列「16,17,16,16,15」
とが効率よく得られる。
のフローチャートである。PSI化ベクトル組立処理で
は、図5の符号帳からadrs[i],num [i]の各サブ
ベクトルをシーケンシャルにelm 回読み出して不図示の
メモリのアドレスpsiwrd[k]に格納する。ステップS
31では読出回数カウンタi及び書込要素数カウンタk
を共に「0」に初期化する。ステップS32では読出ベ
ースアドレスレジスタpsi-partにadrs[i]をセットす
る。ステップS33では読出要素数カウンタjを「0」
に初期化する。ステップS34〜S36では図5の符号
帳の実アドレスadrs[i]から num[i]個のベクトル
要素を読み出し、これをメモリのpsiwrd[k]に格納す
る。ステップS37では読出回数カウンタiに+1し、
ステップS38ではi=elm になるまで上記の処理を繰
り返す。
場合で具体的に説明すると、最初はコードベクトルC0
から16個、次はコードベクトルC1/4 から17個、次
はコードベクトルC-1/2から16個、次はコードベクト
ルC-1/4=16個、次はコードベクトルC0 から15個
の各ベクトル要素psi-part[j]を切り出して、これら
をメモリのpsiwrd[k]に格納する。従って、得られた
PSI化コードベクトルpsiwrd[k]は実質的にL=1
6.25のピッチ周期に同期している。
説明する。適応符号帳2のピッチベクトルPについても
上記と同様のPSI化処理(acb処理)を行うことで
音声品質の改善が図れる。図7は実施例の適応符号帳を
説明する図である。acb処理は、端的に言うと、現在
の処理フレームの開始位置から過去にピッチ周期L(即
ち、lagi+lagf)だけ遡ったピッチベクトルPの情報よ
り現在のPSI化ピッチベクトルPを生成する処理であ
る。この処理を行うため、適応符号帳2(又はフレーム
遅延部1)のアドレス45〜140には現時点から過去
に遡る96サンプル分のピッチベクトルP0 が展開され
る。時間的には、アドレス45の側が古く、アドレス1
40の側が新しい。
成を示す。また図8(B)に補正テーブルacb-delta の
構成を示す。これらのテーブの用い方は上記scb処理
で説明したものと同様である。図3に戻り、ステップS
1ではスイッチsw=1か否かを判別する。sw=1の
場合はピッチベクトルPのPSI化処理を意味し、ステ
ップS21のacb用テーブル生成処理を行う。
クトルP0 を基準とし、これより1/4サンプル周期分
位相の遅れた45個のピッチベクトルP1/4 を生成して
これらをacb用テーブルのアドレス0〜44に展開記
憶する。また1/4サンプル周期分位相の進んだ45個
のピッチベクトルP-1/4を生成してこれらをacb用テ
ーブルのアドレス141〜185に展開記憶する。更
に、1/2サンプル周期分位相の進んだ65個のピッチ
ベクトルP-1/2を生成してこれらをacb用テーブルの
アドレス186〜250に展開記憶する。
の設定処理を行う。即ち、レジスタtbl-point に上限値
テーブルのベースアドレスacb-tbl をセットし、レジス
タdelta-point に補正テーブルのベースアドレスacb-de
lta をセットし、そして、レジスタfracにピッチ周期L
の小数部lagf(コード)をセットする。以下、ステップ
S3〜S5は上記コードベクトルに対するのと共通の処
理を行い、ステップS6ではスイッチsw=1か否かを
判別する。sw=1の場合はピッチベクトルPのPSI
化処理を意味し、ステップS23のベースアドレス生成
処理に進む。
〜3に従い、図7のレジスタbase-adrs に「44」,
「140」,「185」又は「250」のベースアドレ
スをセットする。これらは各ピッチベクトルP1/4 ,P
0 ,P-1/4,P-1/2のエリアの末尾番地に対応してい
る。最初は上記ステップS22の処理によりfrac=lagf
であるので、base-adrs もlagfの内容に従う。
出ベクトルの先頭データが格納されている実アドレスad
rs[i]を、 adrs[i]= base-adrs[frac]−lagi+1− acb-del
ta[i] により求める。即ち、adrs[i]は末尾番地 base-adrs
[frac]より(lagi−1)だけ過去に遡った番地から補
正値 acb-delta[i]を差し引いた番地である。
クトルに対するのと共通の処理を行い、ステップS11
ではレジスタfracの内容を、 frac=(frac+lagf−1)&0x3 により更新する。表3にacb処理の場合のfracの遷移
を示す。
遷移を示す。
ピッチ周期Lの整数部lagi及び小数部lagfの情報に基づ
き、切出ベクトルの個数elm と、実アドレスadrs[i]
(i=0,1,2,…)及び読出要素数num [i](i
=0,1,2,…)の系列が生成される。従って、図4
の共通のPIS化ベクトル組立処理によりPSI化ピッ
チベクトルを生成できる。
SPのファームウエアにより実現する場合を述べた。本
実施例によれば、複雑なPSI化情報生成処理が、上記
拡張テーブルと制御用テーブルの採用により、簡単なテ
ーブル参照と論理演算処理とで実現されている。従っ
て、以下に示すような専用回路化による実現も容易に可
能となる。
PSI化処理部のブロック図で、図において41はPS
I化情報生成部、42は elm生成部、43は num[i]
生成部、44はadrs[i]生成部、45はPSI化ベク
トル組立部である。elm生成部42において、カウンタ
421はリセット信号XRSTによりリセットされ、その後
のタイミングクロック信号TCLKを計数する。カウンタ4
21の出力は読出回数の計数値iである。上限値テーブ
ル422はlagfとiで参照するアドレスより読出上限値
lim を読み出す。コンパレータ423はlagiとlim とを
比較し、lagi<lim の間はカウンタ421の計数を付勢
する。こうして、各TCLKのタイミングにiをインクリメ
ントし、やがてlagi≧lim を満足すると、PSI化処理
終了信号end をアクティブにする。これによりiのイン
クリメントも停止し、該iに加算器424で「1」を加
えたものがサブベクトルの個数elm である。
部441 はリセット信号XRSTのタイミングにfrac=プリセ
ット情報 PRS(この例では PRS=1)をセットされ、そ
の後は各TCLKのタイミングにfracを、frac=(frac+la
gf−1)&0x3 により更新する。更に、base-adrs 変換
テーブル442はfracの系列をbase-adrs ( 0,46,
126又は171)の系列に変換し、これらに加算器4
43でSTEP×nwrdを加えたものが実アドレスadrs[i]
の系列である。
ブル431はlagfとiで参照するアドレスよりlagiに対
する補正値delta を読み出す。加算器432はlagiにde
ltaを加えて num[i]の系列を生成する。一方、レジ
スタ434は始めに tmp=PSI化フレーム長の所定値
FRL(この例では FRL=80)をセットされ、その後は
その出力を減算器433出力の tmp= tmp− num[i]
により更新する。セレクタ435は、コンパレータ42
3の判別出力がlagi<lim の区間は加算器432の出力
の num[i]の系列を選択出力し、判別出力がlagi≧li
m を満足するとその時点のレジスタ434の出力の読出
残数 tmpを選択出力する。セレクタ435の出力が各回
で読み出すべきサブベクトルの要素数 num[i]の系列
である。
ば、lagi,lagf,nwrdを入力とし、外部より簡単なタイ
ミング信号XRST,TCLKを加えるだけで、サブベクトルの
個数elm と、実アドレスadrs[i]及び要素数 num
[i]の系列が自動的に得られる。各出力信号elm ,ad
rs[i], num[i]はDSPが図4のファームウエア
処理でPSI化ベクトルpsiwrd[k]を組み立てるのに
好適な形をしており、しかも、図4のPSI化ベクトル
組立処理のオーバヘッドは少ない。従って、ハードウエ
アによるPSI化情報生成部41と、ファームウエアに
よるPSI化ベクトル組立部とのペアにより、効率よい
PSI化処理部4を実現できる。
対するPSI化処理部も図3の処理アルゴリズムに従い
容易にハードウエア化できる。更に、コードベクトルC
とピッチベクトルPとに対応する各専用部分(即ち、制
御用テーブルscb,acb等)を夫々個別に設け、こ
れらをスイッチ信号swで選択するようにすれば、コー
ドベクトルC及びピッチベクトルPに共通なハードウエ
アによるPSI化処理部を形成できる。
加え、PSI化ベクトル組立部45も図9に示す如く専
用回路化すれば、更に効率よいPSI化処理部4/5を
実現できる。PSI化ベクトル組立部45において、カ
ウンタ451及びダウンカウンタ452は始めはリセッ
ト信号XRSTによりリセットされる。その後、最初のTCLK
が発生すると、最初のadrs[i]をカウンタ451にロ
ードし、同時に最初の num[i]をダウンカウンタ45
2にロードする。これによりダウンカウンタ452のボ
ロー信号BOはL(ノンアクティブ)となり、カウンタ4
51,452は計数可能となる。しかる後、カウンタ4
51は外部のリードクロック信号RCLKによりアップカウ
ントして符号帳から最初のサブベクトルpsi-part[j]
を読み出す。一方、ダウンカウンタ452は同リードク
ロック信号RCLKによりカウントダウンし、最初の num
[i]分を計数する。この区間は不図示の外部メモリの
書込イネーブル信号WCKE/ がL(アクティブ)となり、
外部メモリにPSI化サブベクトルpsiward [k]が書
き込まれる。やがてボロー信号BOがH(アクティブ)に
なると、そのサイクルの読/書を停止する。
[i], num[i]について上記同様の処理を行い、こ
れを必要な回数繰り返す。やがて、end がアクティブに
なると、その読/書サイクルを終了後、PSI化処理を
終了する。本実施例によれば、PSI化情報の生成と同
時に、PSI化ベクトルの組立が進行する。従って、el
m を生成する必要はなく、加算器424等のハードウエ
アを省略できる。しかも、ハードウエア処理によりPS
I化ベクトルpsiward [k]が一挙に生成されるので、
DSPの処理負担も少なく、処理効率が良い。
を述べたが、本発明思想を逸脱しない範囲内で、構成及
び制御の様々な変更が行えることは言うまでも無い。
用拡張テーブルと該テーブルを利用した簡単な論理演算
アルゴリズムの採用により効率良いPSI化処理を実現
できる。また、論理演算アルゴリズムの一部又は全部を
専用回路化することで、更に効率的なPSI化処理を実
現できる。
る。
チャートである。
ローチャートである。
る。
る図である。
る。
る図である。
ある。
Claims (8)
- 【請求項1】 適応符号帳及び雑音符号帳を励振源とし
て最適な信号系列の組を探索するA−b−S型音声符号
化方式における前記符号帳の読出ベクトルを所望のピッ
チ周期により周期化するピッチ同期化処理方式におい
て、 ピッチ周期の整数部及び小数部の各情報に基づき予め規
定されたテーブルを参照して、雑音符号帳のコードベク
トルから所定長の周期化コードベクトルを生成するため
のサブベクトルの個数、サブベクトル毎の要素の位相及
びサブベクトル毎のベクトル長の各情報を生成するPS
I化情報生成部と、 PSI化情報生成部の生成出力に基づき雑音符号帳から
各対応するサブベクトルをシーケンシャルに生成し、周
期化コードベクトルを組み立てるPSI化ベクトル組立
部とを備えることを特徴とするピッチ同期化処理方式。 - 【請求項2】 適応符号帳及び雑音符号帳を励振源とし
て最適な信号系列の組を探索するA−b−S型音声符号
化方式における前記符号帳の読出ベクトルを所望のピッ
チ周期により周期化するピッチ同期化処理方式におい
て、 現時点より過去に遡る所定数の励振源サンプル信号をピ
ッチベクトルとして保持するフレーム遅延部と、 ピッチ周期の整数部及び小数部の各情報に基づき予め規
定されたテーブルを参照して、フレーム遅延部のピッチ
ベクトルから所定長の周期化ピッチベクトルを生成する
ためのサブベクトルの個数、サブベクトル毎の要素の位
相及びサブベクトル毎のベクトル長の各情報を生成する
PSI化情報生成部と、 PSI化情報生成部の生成出力に基づきフレーム遅延部
のピッチベクトルから各対応するサブベクトルをシーケ
ンシャルに生成し、周期化ピッチベクトルを組み立てる
PSI化ベクトル組立部とを備えることを特徴とするピ
ッチ同期化処理方式。 - 【請求項3】 生成すべきサブベクトルの個数を計数す
るカウンタと、 ピッチ周期の小数部の情報と前記カウンタの計数値とで
参照される各アドレスにその回に生成可能なサブベクト
ルのベクトル長の上限値の情報を記憶している上限値テ
ーブルとを備え、 PSI化情報生成部は、ピッチ周期の整数部の情報と上
限値テーブルからの各回の読出上限値とを比較すると共
に、ピッチ周期の整数部の情報が上限値テーブルからの
その回の読出上限値を上回ったことにより、その時点の
カウンタ計数値に基づきサブベクトルの個数の情報を生
成することを特徴とする請求項1又は2に記載のピッチ
同期化処理方式。 - 【請求項4】 ピッチ周期の小数部の情報とカウンタの
計数値とで参照されるアドレスにピッチ周期の整数部の
情報の補正値を記憶している補正テーブルを備え、 PSI化情報生成部は、ピッチ周期の整数部の情報を補
正テーブルからのその回の読出補正値で補正した情報を
サブベクトルのベクトル長の情報とすることを特徴とす
る請求項3に記載のピッチ同期化処理方式。 - 【請求項5】 PSI化ベクトル組立部は、PSI化情
報生成部が生成したサブベクトルの要素の位相の情報に
従って雑音符号帳から対応する位相のサブベクトルの要
素を生成することを特徴とする請求項1に記載のピッチ
同期化処理方式。 - 【請求項6】 雑音符号帳のコードベクトルに対して各
所定分位相のずれたコードベクトルを記憶しているsc
b用テーブルを備え、 PSI化情報生成部は、サブベクトル毎の要素の位相の
情報を生成する代わりに、雑音符号帳及びscb用テー
ブルから前記位相の情報に対応するコードベクトルを読
み出すためのアドレス情報を生成し、かつPSI化ベク
トル組立部は、前記アドレス情報に従って対応するコー
ドベクトルを読み出すことを特徴とする請求項1に記載
のピッチ同期化処理方式。 - 【請求項7】 PSI化ベクトル組立部は、PSI化情
報生成部が生成したサブベクトル毎の要素の位相の情報
に従ってフレーム遅延部のピッチベクトルから対応する
位相のサブベクトルの要素を生成することを特徴とする
請求項2に記載のピッチ同期化処理方式。 - 【請求項8】 フレーム遅延部のピッチベクトルに対し
て各所定分位相のずれたピッチベクトルを記憶するac
b用テーブルを備え、 PSI化情報生成部は、サブベクトル毎の要素の位相の
情報を生成する代わりに、フレーム遅延部及びacb用
テーブルから前記位相の情報に対応するピッチベクトル
を読み出すためのアドレス情報を生成し、かつPSI化
ベクトル組立部は、前記アドレス情報に従って対応する
ピッチベクトルを読み出すことを特徴とする請求項2に
記載のピッチ同期化処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00575995A JP3356570B2 (ja) | 1995-01-18 | 1995-01-18 | ピッチ同期化処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00575995A JP3356570B2 (ja) | 1995-01-18 | 1995-01-18 | ピッチ同期化処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08194496A JPH08194496A (ja) | 1996-07-30 |
JP3356570B2 true JP3356570B2 (ja) | 2002-12-16 |
Family
ID=11620058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00575995A Expired - Fee Related JP3356570B2 (ja) | 1995-01-18 | 1995-01-18 | ピッチ同期化処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3356570B2 (ja) |
-
1995
- 1995-01-18 JP JP00575995A patent/JP3356570B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08194496A (ja) | 1996-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4064236B2 (ja) | 広帯域信号コーディング用の代数コードブック中のパルス位置と符号の索引付け方法 | |
JP2523031B2 (ja) | 改良されたベクトル励起源を有するデジタル音声コ―ダ | |
JPH07507885A (ja) | ベクトル量子化器の方法および装置 | |
WO1992016930A1 (en) | Speech coder and method having spectral interpolation and fast codebook search | |
CA2159571C (en) | Vector quantization apparatus | |
EP0462559B1 (en) | Speech coding and decoding system | |
CA2142391C (en) | Computational complexity reduction during frame erasure or packet loss | |
JP3089769B2 (ja) | 音声符号化装置 | |
JP3396480B2 (ja) | 多重モード音声コーダのためのエラー保護 | |
JP4108317B2 (ja) | 符号変換方法及び装置とプログラム並びに記憶媒体 | |
WO2004044892A1 (en) | Method and apparatus for coding gain information in a speech coding system | |
JPH0771045B2 (ja) | 音声符号化方法、音声復号方法、およびこれらを使用した通信方法 | |
JP3095133B2 (ja) | 音響信号符号化方法 | |
JP3356570B2 (ja) | ピッチ同期化処理方式 | |
KR100416363B1 (ko) | 선형 예측 분석 대 합성 엔코딩 방법 및 엔코더 | |
JP3285185B2 (ja) | 音響信号符号化方法 | |
JP3268750B2 (ja) | 音声合成方法及びシステム | |
JP3283152B2 (ja) | 音声パラメータ量子化装置およびベクトル量子化装置 | |
JP3299099B2 (ja) | 音声符号化装置 | |
JP3233184B2 (ja) | 音声符号化方法 | |
JP3192051B2 (ja) | 音声符号化装置 | |
JP3071012B2 (ja) | 音声伝送方式 | |
JP3319551B2 (ja) | ベクトル量子化装置 | |
JPH0720896A (ja) | 音声の励振信号符号化法 | |
JPH11119799A (ja) | 音声符号化方法および音声符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020910 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071004 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081004 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081004 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091004 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091004 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101004 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101004 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111004 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111004 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121004 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121004 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131004 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |