JPH0997099A - Encoding/decoding device - Google Patents

Encoding/decoding device

Info

Publication number
JPH0997099A
JPH0997099A JP7253327A JP25332795A JPH0997099A JP H0997099 A JPH0997099 A JP H0997099A JP 7253327 A JP7253327 A JP 7253327A JP 25332795 A JP25332795 A JP 25332795A JP H0997099 A JPH0997099 A JP H0997099A
Authority
JP
Japan
Prior art keywords
frame
vector
code
codebook
unit
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.)
Withdrawn
Application number
JP7253327A
Other languages
Japanese (ja)
Inventor
Satoshi Watanabe
聡 渡辺
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP7253327A priority Critical patent/JPH0997099A/en
Publication of JPH0997099A publication Critical patent/JPH0997099A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To transmit only one piece of code table code per a frame. SOLUTION: A power calculation part 1 obtains sound power at every frame, and an LPC analysis part 2 obtains an LPC coefficient, and a characteristic vector calculation part 4 obtains an LPC cepstrum coefficient. A vector quantization part 20 makes the code table code answering to a code table vector closest to a characteristic vector of a present frame different from any one of code table vectors of frame codes of past (k-1) pieces of frames among k pieces of code table vectors until k-th vector from the vector close to the characteristic vector of the present frame a frame code. A class function is obtained from the frame codes of the present frame and the past (k-1) pieces of frames. A pitch extraction part 3 obtains a pitch of a sound. A vector inverse quantization part 22 calculates the characteristic vector of the present frame, and an element piece forming part 6 forms a sound element piece from the characteristic vector. A waveform superposition part 7 superposes the sound element piece by the pitch.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、高品質な再生音声
などを高い圧縮率で得ることのできる、ベクトル量子化
を用いた高能率符号化・復号化装置に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-efficiency coding / decoding apparatus using vector quantization, which is capable of obtaining high-quality reproduced speech at a high compression rate.

【0002】[0002]

【従来の技術】従来、このような分野の技術としては、
例えば、次のような文献に記載されるものがあった。 文献1:古井貞煕著、「ディジタル音声処理」、東海大
学出版会、ディジタルテクノロジーシリーズ 文献2:信学技報 RC90-26、1990年、I.A.Geson
著、「Vector sum exited Linear prediction(VSELP) s
peech coding for JAPAN digitalcelluar 」 文献3:ICASSP 87 、1987年、H.P.tseng 他著、
「Fuzzy Vector Quantization Applied to Hidden Mark
ov Modeling 」 文献4:音声研究会資料、1998年、中村他著、「フ
ァジイベクトル量子化を用いたスペクトログラムの正規
化検討」、sp 87-123 パラメータの組をまとめて一つの符号で表現するベクト
ル量子化は、前記文献1に記載されており、非常に効率
的な符号化の手法である。
2. Description of the Related Art Conventionally, techniques in such a field include:
For example, some documents were described in the following documents. Reference 1: Sadahiro Furui, "Digital Speech Processing", Tokai University Press, Digital Technology Series Reference 2: IEICE Technical Report RC90-26, 1990, IAGeson
Written, `` Vector sum exited Linear prediction (VSELP) s
"peech coding for JAPAN digitalcelluar" Reference 3: ICASSP 87, 1987, HPtseng et al.,
`` Fuzzy Vector Quantization Applied to Hidden Mark
ov Modeling "Reference 4: Speech Study Group Material, 1998, Nakamura et al.," Spectral Normalization Study Using Fuzzy Vector Quantization ", sp 87-123 A vector that collectively represents a set of parameters with a single code. Quantization is described in Document 1 and is a very efficient encoding method.

【0003】この手法は、一般に、符号帳内の代表ベク
トルの数を増すほど、量子化歪みが低減できるが、符号
帳探索に要する計算量や符号帳の記憶容量が増大すると
いう特徴を持つ。ベクトル量子化を音声符号化に適用し
た場合が前記文献2に記載されているが、これは、上記
特徴を考慮して、複数の符号帳の併用等で互いに補間す
る手法が用いられるが、処理の複雑さや、それに伴う処
理量の増加等の問題点をもつ。前記文献3に記載される
ファジイベクトル量子化は、入力ベクトルを符号帳ベク
トルへの帰属度で表現する手法であり、符号帳内の代表
ベクトル数を増すことなく、量子化歪みを削減できる。
中村等が提案した前記文献4に記載されるK近傍則は、
各フレームについて、入力ベクトルに近い方からk番目
までのk個の符号帳ベクトルに制限してファジイベクト
ル量子化を行うものであり、求めるべき級関数値の個数
が従来の符号帳ベクトル全てに対しk個に減少するた
め、処理量、記憶容量等の点でもきわめて実用的なもの
となった。
In general, this method can reduce the quantization distortion as the number of representative vectors in the codebook increases, but it has a feature that the calculation amount required for the codebook search and the storage capacity of the codebook increase. The case where the vector quantization is applied to the speech coding is described in the above-mentioned Document 2. In consideration of the above characteristics, a method of interpolating with each other by using a plurality of codebooks is used. However, there are problems such as the complexity of and the increase in processing amount. The fuzzy vector quantization described in Document 3 is a method of expressing an input vector by a degree of membership in a codebook vector, and can reduce quantization distortion without increasing the number of representative vectors in the codebook.
The K-nearest neighbor rule described in Reference 4 proposed by Nakamura et al.
For each frame, fuzzy vector quantization is performed by limiting to k codebook vectors from the one closest to the input vector, and the number of power function values to be calculated is the same for all conventional codebook vectors. Since the number is reduced to k, it is extremely practical in terms of processing amount and storage capacity.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、前記文
献4に記載された従来のベクトル量子化を高能率音声符
号に適用する場合に、1フレームあたりk個の級関数の
ほかにk個の符号帳コードを伝送する必要がなり、ビッ
トレートが高くなるという問題点があった。
However, when the conventional vector quantization described in Document 4 is applied to a high-efficiency speech code, k codebooks in addition to k series functions per frame are used. There is a problem that the code needs to be transmitted and the bit rate becomes high.

【0005】[0005]

【課題を解決するための手段】本発明は、前記課題を解
決するために、入力された音声の特徴ベクトルをフレー
ム毎に抽出する特徴ベクトル抽出部と、各フレームにつ
いて、それぞれが符号帳コードを持つ複数個の符号帳ベ
クトルの中から符号帳ベクトルを選定して、その選定し
た符号帳ベクトルに対応する符号帳コードをそのフレー
ムのフレームコードとするベクトル量子化部と、各フレ
ームについて、前記フレームコードが表す符号帳ベクト
ルとそのフレームの特徴ベクトルとの距離に基づいて、
級関数値を計算する級関数計算部と、前記各フレームに
ついて、そのフレームコードと級関数値とを記憶する記
憶部と、前記各フレームについて、前記記憶部に記憶さ
れた前記フレームコードと前記級関数値に基づいて、そ
のフレームの特徴ベクトルを算出するベクトル逆量子化
部とを備えた符号化・復号化装置において、前記ベクト
ル量子化及び前記ベクトル逆量子化を以下のように構成
している。
In order to solve the above problems, the present invention provides a feature vector extraction unit for extracting a feature vector of input speech for each frame, and a codebook code for each frame. A vector quantizer that selects a codebook vector from a plurality of codebook vectors that it has, and uses a codebook code corresponding to the selected codebook vector as a frame code of the frame, and for each frame, the frame Based on the distance between the codebook vector represented by the code and the feature vector of that frame,
A series function calculation unit that calculates a series function value, a storage unit that stores the frame code and the series function value for each frame, and for each frame, the frame code and the class that are stored in the storage unit. In the encoding / decoding device including the vector dequantization unit that calculates the feature vector of the frame based on the function value, the vector quantization and the vector dequantization are configured as follows. .

【0006】すなわち、前記ベクトル量子化部は、前記
複数個の符号帳ベクトルの中から現フレームの特徴ベク
トルとの距離が近い方からk番目(k≧2の自然数)ま
での、k本の符号帳ベクトルの中から、その直前の(k
−1)フレームまでの(k−1)個のフレームのフレー
ムコードが表す符号帳ベクトルのいずれとも異なり、現
フレームの特徴ベクトルとの距離が最も近い符号帳ベク
トルに対応する符号帳コードを現フレームのフレームコ
ードとするフレームコード決定部と、前記現フレームと
その直前の(k−1)フレームまでのk個のフレームの
フレームコードのそれぞれが表す符号帳ベクトルと前記
現フレームの前記特徴ベクトルとの各距離に基づいて、
現フレームの級関数値を計算する級関数計算部とを有し
ている。そして、前記ベクトル逆量子化部は、前記記憶
部に記憶された現フレームとその直前の(k−1)フレ
ームまでのk個のフレームのフレームコードのそれぞれ
が表す符号帳ベクトルと現フレームの級関数値から、現
フレームの特徴ベクトルを算出する構成にしている。
That is, the vector quantizer is configured to code k codes from the plurality of codebook vectors to the k-th (k ≧ 2 natural number) closest to the feature vector of the current frame. From the book vector, (k
-1) Different from any of the codebook vectors represented by the frame codes of (k-1) frames up to the frame, the codebook code corresponding to the codebook vector closest to the feature vector of the current frame is set to the current frame. A frame code determining unit to be a frame code of the current frame, a codebook vector represented by each of the frame codes of the current frame and k frames up to the immediately preceding (k-1) frame, and the feature vector of the current frame. Based on each distance,
And a series function calculation unit for calculating a series function value of the current frame. The vector dequantization unit is configured to classify the codebook vector and the current frame represented by the frame code of the current frame stored in the storage unit and the k frames up to the immediately preceding (k-1) th frame. The feature vector of the current frame is calculated from the function value.

【0007】[0007]

【発明の実施形態】図1は、本発明の実施形態を示す音
声符号化・復号化装置の構成図である。本発明の実施形
態の音声符号化・復号化装置が従来の音声符号化・復号
化装置と異なる点は、直前(k−1)フレーム分のフレ
ームコードを参照することで現フレームのフレームコー
ドをただ1つ決定し、これを含めた直前kフレーム分の
フレームコードに限定したファジィベクトル量子化を行
うようにしたことである。図1に示すように、本実施形
態の音声符号化・復号化装置は、パワー計算部1、LP
C分析部2、ピッチ抽出部3、特徴ベクトル抽出部4、
ベクトル量子化・逆量子化部5、素片作成部6、波形重
畳部7、記憶部8より構成されている。音声のパワーを
計算するパワー計算部1は、標本化された音声を入力と
する。パワー計算部1の出力側は、1フレーム分のLP
C(Linear Predictive Coding)分析をするLPC分析部
2、及び記憶部8が接続されている。LPC分析部2の
出力側は、1フレーム内で音声のピッチを計算するピッ
チ抽出部3、及びLPCケプストラム係数を算出する特
徴ベクトル抽出部4が接続されている。ピッチ抽出部3
の出力側は、記憶部8が接続されている。特徴ベクトル
抽出部4の出力側は、ベクトル量子化・逆量子化部5が
接続されている。ベクトル量子化・逆量子化部5は、ベ
クトル量子化部20、符号帳21、ベクトル逆量子化部
22より構成されている。符号帳21の出力側は、ベク
トル量子化部21、及びベクトル逆量子化部22が接続
されている。ベクトル量子化部21の出力側は、記憶部
8が接続され、記憶部8の出力側は、ベクトル逆量子化
部22が接続されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of a speech encoding / decoding device showing an embodiment of the present invention. The voice encoding / decoding device according to the exemplary embodiment of the present invention is different from the conventional voice encoding / decoding device in that the frame code of the current frame is referred to by referring to the frame code of the immediately preceding (k−1) frame. This is because only one is determined and fuzzy vector quantization limited to the frame codes for the immediately preceding k frames including this is performed. As shown in FIG. 1, the speech encoding / decoding device according to the present embodiment includes a power calculation unit 1 and an LP.
C analysis unit 2, pitch extraction unit 3, feature vector extraction unit 4,
The vector quantization / dequantization unit 5, the segment generation unit 6, the waveform superposition unit 7, and the storage unit 8 are included. The power calculation unit 1 that calculates the power of a voice receives the sampled voice as an input. The output side of the power calculator 1 is an LP for one frame.
An LPC analysis unit 2 that performs C (Linear Predictive Coding) analysis and a storage unit 8 are connected. The output side of the LPC analysis unit 2 is connected to a pitch extraction unit 3 that calculates the pitch of the voice within one frame and a feature vector extraction unit 4 that calculates the LPC cepstrum coefficient. Pitch extractor 3
The storage unit 8 is connected to the output side of. The output side of the feature vector extraction unit 4 is connected to the vector quantization / inverse quantization unit 5. The vector quantizer / inverse quantizer 5 includes a vector quantizer 20, a codebook 21, and a vector dequantizer 22. The output side of the codebook 21 is connected to the vector quantization unit 21 and the vector dequantization unit 22. The storage unit 8 is connected to the output side of the vector quantization unit 21, and the vector dequantization unit 22 is connected to the output side of the storage unit 8.

【0008】図2は、図1中のベクトル量子化・逆量子
化部の構成図である。図2に示すように、ベクトル量子
化部20は、コードバッファ31、k近傍コード選出部
32、フレームコード決定部33、級関数計算部34に
より構成されている。符号帳21の出力側は、k近傍コ
ード選出部32、及び級関数計算部34が接続されてい
る。k近傍コード選出部32の入力側は、図1中の特徴
ベクトル抽出部4が接続され、k近傍コード選出部32
の出力側は、フレームコード決定部33が接続され、さ
らにフレームコード決定部34の出力側には、記憶部
8、及び級関数計算部34が接続されている。級関数計
算部34の出力側は、記憶部8が接続されている。符号
帳21、及び記憶部8の出力側は、ベクトル逆量子化部
22が接続され、ベクトル逆量子化部22の出力側は、
図1中の素片作成部6が接続されている。コードバッフ
ァ31は、直前k(k≧2の自然数)フレーム分のフレ
ームコードを保持する局所的な記憶領域であり、その値
は、保存され続けるが、1フレームにつき1回後述する
更新が行われる。k近傍コード選出部32は、符号帳2
1を参照して、「k近傍」の「k近傍コード」を選出す
るものである。フレームコード決定部33は、現フレー
ムの「フレームコード」を決定するものである。
FIG. 2 is a block diagram of the vector quantization / inverse quantization section in FIG. As shown in FIG. 2, the vector quantization unit 20 includes a code buffer 31, a k-nearest neighbor code selection unit 32, a frame code determination unit 33, and a series function calculation unit 34. On the output side of the codebook 21, a k-nearest neighbor code selection unit 32 and a class function calculation unit 34 are connected. The input side of the k-nearest neighbor code selection unit 32 is connected to the feature vector extraction unit 4 in FIG.
The frame code determination unit 33 is connected to the output side of, and the storage unit 8 and the series function calculation unit 34 are connected to the output side of the frame code determination unit 34. The storage unit 8 is connected to the output side of the series function calculation unit 34. The output side of the codebook 21 and the storage unit 8 is connected to the vector dequantization unit 22, and the output side of the vector dequantization unit 22 is
The segment creating unit 6 in FIG. 1 is connected. The code buffer 31 is a local storage area that holds the frame code for the immediately preceding k (a natural number of k ≧ 2) frames, and its value is continuously stored, but is updated once per frame as described later. . The k neighborhood code selection unit 32 uses the codebook 2
With reference to 1, the “k neighborhood code” of the “k neighborhood” is selected. The frame code determination unit 33 determines the "frame code" of the current frame.

【0009】ここで、「k近傍」とは、入力ベクトルと
の距離が近い方からk番目までの、k本の符号帳ベクト
ルのことをいう。「k近傍コード」とは、k本の符号帳
ベクトルに対応するk個の符号帳コードのことを指し、
j番目に近いベクトルをコードのことをXj と表記す
る。「フレームコード」とは、1フレームに1つ決定す
る蓄積パラメータのことで、現フレームのフレームコー
ドをf0 、iフレーム前のフレームコードをfi と表記
する。符号帳21は、あらかじめ大量の学習データから
抽出したLPCスペクトラム係数を、LBGアルゴリズ
ムで歪みが最小となる様にクラスタリングしたものであ
る。LPBアルゴリズムについては、下記の文献5に詳
細に記載されている。 文献5:IEEE COM−28、1980−01、Li
nde,Buzo,Gray 著、「An Algorithm for Vector Quanti
zer Design」 以下、これらの図を参照しつつ、図1の動作の説明をす
る。
Here, the "k neighborhood" means k codebook vectors from the closest distance to the input vector to the kth. “K neighborhood code” refers to k codebook codes corresponding to k codebook vectors,
The vector closest to the j-th is referred to as a code as X j . The “frame code” is a storage parameter that is determined once for each frame, and the frame code of the current frame is described as f 0 and the frame code before the i frame is described as f i . The codebook 21 is obtained by clustering LPC spectrum coefficients extracted from a large amount of learning data in advance so that distortion is minimized by the LBG algorithm. The LPB algorithm is described in detail in Document 5 below. Reference 5: IEEE COM-28, 1980-01, Li
nde, Buzo, Gray, `` An Algorithm for Vector Quanti
zer Design ”Hereinafter, the operation of FIG. 1 will be described with reference to these drawings.

【0010】(1) 符号化処理 マイクから入力された音声信号は、アンプ、ローパスフ
ィルタを経て、A/D変換器でディジタル化され、バッ
ファを介して一定区間長のフレーム(例えば、フレーム
長10ms、フレームシフト周期5ms)毎に、パワー
計算部1に送出される。パワー計算部1は、音声信号の
各サンプルの2乗和を計算することで、現フレームのパ
ワーを求め、LPC分析部2には、音声信号を、記憶部
8には、パワーをそれぞれ送出する。LPC分析部2
は、音声信号を線形予測モデルから最小二乗法によりL
PC係数を決定して、特徴ベクトル算出部4にはLPC
係数を、ピッチ抽出部3にはLPC係数と1フレーム分
の音声データを、それぞれ送出する。特徴ベクトル算出
部4は、LPC係数を用いた漸化式を計算することで、
LPCケプストラム係数(人間の聴覚特性に近い性質を
持っており、音声信号をFFT(Fast Fourier Transfor
m)、対数変換、逆FFTして得られたものと同じ)を算
出し、これを特徴ベクトルとして、ベクトル量子化部2
0に送出する。なお、上述のLPC分析およびLPCケ
プストラム計算方法については、前記文献1に詳細に記
載されている。
(1) Encoding processing A voice signal input from a microphone is digitized by an A / D converter after passing through an amplifier and a low-pass filter, and a frame having a fixed section length (for example, a frame length of 10 ms) is passed through a buffer. , Every 5 ms of frame shift period) is sent to the power calculation unit 1. The power calculation unit 1 calculates the power of the current frame by calculating the sum of squares of each sample of the voice signal, and outputs the voice signal to the LPC analysis unit 2 and the power to the storage unit 8, respectively. . LPC analysis unit 2
Is a speech prediction signal from a linear prediction model by the method of least squares L
The PC coefficient is determined, and the feature vector calculation unit 4 stores the LPC.
The coefficient, the LPC coefficient and the audio data for one frame are sent to the pitch extraction unit 3, respectively. The feature vector calculation unit 4 calculates the recurrence formula using the LPC coefficient,
LPC cepstrum coefficient (has a property close to human auditory characteristics, and converts an audio signal into an FFT (Fast Fourier Transfor
m), logarithmic transformation, and the same as the one obtained by inverse FFT), and using this as a feature vector, the vector quantization unit 2
Send to 0. The above LPC analysis and LPC cepstrum calculation method are described in detail in Document 1 above.

【0011】図1中の特徴ベクトル抽出部4から送出さ
れた特徴ベクトル(以下、入力ベクトルXと表記する)
は、図2中のk近傍コード選出部32に入力される。こ
のとき、コードバッファ31上には、k個のフレームコ
ード{f1 ,f2 ,…,fk}が保存されている。k近
傍コード選出部32は、入力ベクトルXと符号帳2に格
納された符号帳全ベクトルとの距離を行い、その結果を
ソートすることで、k近傍コードXj (j=1,…,
k)を求め、これをフレームコード決定部33に出力す
る。距離尺度としては、例えば、ケプストラム距離を用
いる。図3は、図2中のフレームコード決定部33の動
作を示すフローチャートである。以下、図3を参照しつ
つ、フレームコード決定部33の動作の説明をする。フ
レームコード決定部33は、ステップS1において、j
=1に初期化する。ステップS2において、第1近傍コ
ードX1 と、コードバッファ31上の(k−1)個のフ
レームコード{f1 ,…,fk-1 }を比較する。kフレ
ーム前のフレーコードfk とは、比較しない。
The feature vector transmitted from the feature vector extraction unit 4 in FIG. 1 (hereinafter referred to as the input vector X)
Is input to the k-nearest neighbor code selection unit 32 in FIG. At this time, k frame codes {f 1 , f 2 , ..., F k } are stored in the code buffer 31. The k-nearest neighbor code selection unit 32 performs the distance between the input vector X and all the codebook vectors stored in the codebook 2, and sorts the results to obtain the k-nearest neighbor code X j (j = 1, ...,).
k), and outputs this to the frame code determination unit 33. For example, the cepstrum distance is used as the distance measure. FIG. 3 is a flowchart showing the operation of the frame code determining unit 33 in FIG. Hereinafter, the operation of the frame code determination unit 33 will be described with reference to FIG. The frame code determination unit 33 determines in step S1 that j
Initialize to = 1. In step S2, the first neighborhood code X 1 is compared with the (k−1) frame codes {f 1 , ..., F k−1 } on the code buffer 31. No comparison is made with the frame code f k before k frames.

【0012】ステップS3において、第1近傍コードX
1 が、コードバッファ31上の(k−1)個のコードの
いずれとも異なる場合、フレームコードf0 を第1近傍
コードX1 に決定して、ステップS4に進み、コードバ
ッファ31上の(k−1)個のフレームコードのいずれ
かのコードに等しければ、ステップS3に進む。ステッ
プS3において、jを1増加して、ステップS2に戻
る。ステップS2において、今度は、第2近傍コードX
2 とコードバッファ31上の(k−1)個のコード{f
1 ,…,fk-1 }を比較する。ステップS3において、
第2近傍コードX2 が、コードバッファ31上の(k−
1)個のコードのいずれとも異なる場合、フレームコー
ドf0 を第2近傍コードX2 に決定して、ステップS4
に進み、コードバッファ31上の(k−1)個のコード
のいずれかのフレームコードに等しければ、再びステッ
プS3において、jを1増加して、ステップS2に再び
戻り、今度は、第3近傍コードX2 とコードバッファ3
1上の(k−1)個のフレームコード{f1 ,…,f
k-1 }を比較する。このような手順を多くともk近傍コ
ードXk に対してまで繰り返せば、必ずフレームコード
j を決定し、ステップS4に進むことができる。この
ようにして決定されたフレームコードXj は、コードバ
ッファ31上の(k−1)個のフレームコードのいずれ
とも異なり、符号帳21に格納された符号帳ベクトルの
中で入力ベクトルXと最も距離の近い符号帳ベクトルに
対応するコードとなる。
In step S3, the first neighborhood code X
If 1 is different from any of the (k-1) codes in the code buffer 31, the frame code f 0 is determined to be the first neighbor code X 1 , and the process proceeds to step S4, where (k -1) If it is equal to any one of the frame codes, go to step S3. In step S3, j is incremented by 1, and the process returns to step S2. In step S2, this time the second neighborhood code X
2 and (k-1) codes {f on the code buffer 31
, 1 , ..., F k−1 } are compared. In step S3,
The second neighborhood code X 2 is (k−
1) If it is different from any of the code, the frame code f 0 is determined as the second neighborhood code X 2 , and step S4
If it is equal to any one of the (k-1) codes on the code buffer 31, then j is incremented by 1 again in step S3 and the process returns to step S2 again, this time the third neighborhood. Code X 2 and code buffer 3
(K-1) frame codes {f 1 , ..., F on 1
k-1 } are compared. If such a procedure is repeated at most for the k-nearest neighbor code X k , the frame code X j can be determined and the process can proceed to step S4. The frame code X j determined in this way differs from any of the (k−1) frame codes in the code buffer 31, and is the most significant of the input vector X among the codebook vectors stored in the codebook 21. It is a code corresponding to a codebook vector having a short distance.

【0013】ステップS4において、フレームコードX
j をフレームコードf0 とする。ステップS5におい
て、フレームコードf0 を記憶部8へ出力し、ステップ
S6に進む。ステップS6において、記憶部8に格納さ
れた{f1 ,f2 ,…,fk }を{f0 ,f1 ,…,f
k-1 }に更新する。ここで、得られたフレームコード
{f0,f1 ,…,fk-1 }は、各々が全て異なり、第
1近傍X1 がそのフレームコード{f0 ,f1 ,…,f
k-1 }の中に必ず含まれる。しかも、音声は連続的に変
化するという特徴があるので、音声が滑らかに変化する
ときは、フレームコード{f0 ,f1 ,…,fk-1
は、集合として、k近傍コード{X1 ,X2 ,…,
k }に一致する場合が多く、{f0 ,f1 ,…,f
k-1 }のk個の符号帳コードはk近傍に近いものである
といえる。級関数計算部34は、更新されたコードバッ
ファ31上のk個のコード{f0,…,fk-1 }のそれ
それが示す符号帳ベクトルと入力ベクトルXとの距離を
再計算し、これを用いて適当なビットに量子化もしくは
ベクトル量子化し、これを級関数値として、記憶部8に
出力してもいいし、入力ベクトルXの最近傍コードに対
応する級関数値λ0 だけを計算、量子化し、最近傍を指
すポインタコードとともに記憶部8に出力してもよい。
ただし、後者の場合は、他の近傍コードに対応する各級
関数値を、例えば、一律に(1−λ0 )/(k−1)と
して与えるなどの処理をベクトル逆量子化部22に付加
しておくことが必要である。なお、この級関数値を求め
る方法は、下記の文献5に詳細に述べられている。
In step S4, the frame code X
Let j be the frame code f 0 . In step S5, the frame code f 0 is output to the storage unit 8, and the process proceeds to step S6. In step S6, {f 1 , f 2 , ..., F k } stored in the storage unit 8 are changed to {f 0 , f 1 , ..., F.
k-1 }. Here, the obtained frame codes {f 0 , f 1 , ..., F k-1 } are all different from each other, and the first neighborhood X 1 has the frame code {f 0 , f 1 , ..., F.
Always included in k-1 }. Moreover, since the voice has a characteristic that it continuously changes, when the voice changes smoothly, the frame code {f 0 , f 1 , ..., F k-1 }
Is a set of k neighborhood codes {X 1 , X 2 , ...,
Many if it matches X k}, {f 0, f 1, ..., f
It can be said that the k codebook codes of ( k-1 ) are close to k. The series function calculation unit 34 recalculates the distance between the codebook vector indicated by each of the k codes {f 0 , ..., F k−1 } on the updated code buffer 31 and the input vector X, Quantize or vector quantize to an appropriate bit using this, and output it to the storage unit 8 as a series function value, or calculate only the class function value λ 0 corresponding to the nearest code of the input vector X. , And may be quantized and output to the storage unit 8 together with the pointer code that points to the nearest neighbor.
However, in the latter case, processing such as uniformly giving each class function value corresponding to another neighborhood code as (1-λ0) / (k-1) is added to the vector dequantization unit 22. It is necessary to keep it. The method of obtaining the class function value is described in detail in Document 5 below.

【0014】文献5:特開平1−237600号公報 一方、図1中のピッチ抽出部3は、LPC係数と音声信
号から計算したLPC残差波形を用いる変形相関法(L
PC残差波形をビッチ分ずらすと位相がほぼ一致して、
ずらした前後のパワーが最大になる)を用いて、ビッチ
長を決定して、記憶部8へ送る。なお、LPC残差波形
を用いる変形相関法は、下記文献6に記載されている。 文献6:Reports of the Int.Con.Acoust.Tokyo,C-5-5
、1968年、Y.kohashi 編、F.Itakura 、S,Saito
著、「Analysis Synthesis Telephonybased on the Max
imum Likelihood Method 」 (2) 復号化処理 次に、ベクトル逆量子化部22について説明する。記憶
部8から受け取ったフレームコードにより、ベクトル逆
量子化部22内の図示しないコードバッファの更新を、
ベクトル量子化部20内のコードバッファ31と同じ手
順で行う。つまり、コードバッファ上のk個のコード
{f1 ,f2,…,fk }から{f0 ,f1 ,…,f
k-1 }に更新される。次に、記憶部8から受け取ったk
個の級関数値を係数として、コードバッファ上のk個の
コード{f0 ,f1 ,…fk-1 }に対応する符号帳ベク
トルを符号帳21から得て、それらの符号帳ベクトルを
一次結合することで、LPCケプストラム係数である特
徴ベクトルを得て、図1中の素片作成部6に送る。素片
作成部6は、このLPCケプストラム係数にFFT、指
数変換、逆FFTを順次施して、対称形音声素片(LP
Cケプストラム係数は、FFTの実数部のみを用いて作
成されており、虚数部は捨てられているため、音声素片
が対称になる)を作成し、これを波形重畳部7に送る。
Reference 5: Japanese Patent Application Laid-Open No. 1-237600 On the other hand, the pitch extraction unit 3 in FIG. 1 uses a modified correlation method (L) which uses an LPC residual waveform calculated from an LPC coefficient and an audio signal.
When the PC residual waveform is shifted by the bitch, the phases almost match,
The power before and after the shift is maximized) is used to determine the bitch length, and the bitch length is sent to the storage unit 8. The modified correlation method using the LPC residual waveform is described in Document 6 below. Reference 6: Reports of the Int.Con.Acoust.Tokyo, C-5-5
, 1968, edited by Y.kohashi, F. Itakura, S, Saito
Author, `` Analysis Synthesis Telephonybased on the Max
imum Likelihood Method ”(2) Decoding Processing Next, the vector dequantization unit 22 will be described. The frame code received from the storage unit 8 is used to update a code buffer (not shown) in the vector dequantization unit 22.
The procedure is the same as that of the code buffer 31 in the vector quantizer 20. That is, from k codes {f 1 , f 2 , ..., F k } on the code buffer to {f 0 , f 1 , ..., f
k-1 } is updated. Next, k received from the storage unit 8
The codebook vectors corresponding to the k codes {f 0 , f 1 , ... F k-1 } on the code buffer are obtained from the codebook 21 using the series function values as coefficients, and those codebook vectors are obtained. By linearly combining, a feature vector that is an LPC cepstrum coefficient is obtained and sent to the segment creating unit 6 in FIG. The segment generation unit 6 sequentially performs FFT, exponential conversion, and inverse FFT on the LPC cepstrum coefficient to generate a symmetric speech segment (LP
The C cepstrum coefficient is created by using only the real number part of the FFT, and the imaginary number part is discarded, so that the voice segment is symmetric) is created and sent to the waveform superimposing part 7.

【0015】波形重畳部7は、記憶部8から受け取った
ピッチおよびパワーから、音声素片のパワーを決定し、
素片パワーの調節を行った後、素片をピッチ間隔で重畳
することで音声を合成し、出力バッファ、D/A変換器
を介して、スピーカより出力する。なお、波形重畳部7
における素片のパワー調整および素片重畳方法について
は、以下の文献6に詳細に記載されている。 文献6:日本音響学会誌、44、11、1988年、中
島他著、「パワースペクトル包絡(PSE)音声分析・
合成系」 以上説明したように、実施形態によれば、1フレームに
つき1コードだけを蓄積するファジイベクトル量子化を
実現でき、音声蓄積装置の記憶容量を大幅に削減できる
という利点がある。
The waveform superposing unit 7 determines the power of the speech unit from the pitch and the power received from the storage unit 8,
After the unit power is adjusted, the units are superimposed at a pitch interval to synthesize a voice and output from the speaker via the output buffer and the D / A converter. The waveform superimposing unit 7
The power adjustment of the element and the method of superimposing the element in (3) are described in detail in Document 6 below. Reference 6: Acoustical Society of Japan, 44, 11 , 1988, Nakajima et al., "Power spectrum envelope (PSE) speech analysis."
Synthesizing System ”As described above, according to the embodiment, there is an advantage that the fuzzy vector quantization for accumulating only one code per frame can be realized and the storage capacity of the voice accumulating device can be significantly reduced.

【0016】なお、本発明は、上記実施形態に限定され
ず種々の変形が可能である。その変形例としては、例え
ば次のようなものがある。 (1) 本実施形態では、特徴パラメータにLPCケプ
ストラムを用いたが、改良ケプストラム係数等の別パラ
メータを用いて実施してもよい。 (2) また、本発明はフレーム毎にベクトル量子化を
行う音声符号化方式すべてに対して適用することがで
き、その利用形態を波形重畳型の音声蓄積装置に限るも
のではない。 (3) さらに、本発明は、音声以外のメディア、例え
ば、画像などのデータ圧縮や符号化などに利用すること
もできる。
The present invention is not limited to the above embodiment, and various modifications can be made. For example, there are the following modifications. (1) In the present embodiment, the LPC cepstrum is used as the characteristic parameter, but another parameter such as the improved cepstrum coefficient may be used. (2) Further, the present invention can be applied to all speech coding methods in which vector quantization is performed for each frame, and its usage form is not limited to the waveform superposition type speech storage device. (3) Furthermore, the present invention can be used for media other than voice, for example, data compression or encoding of images and the like.

【0017】[0017]

【発明の効果】以上詳細に説明したように、本発明によ
れば、1フレームにつき1コードだけを蓄積するベクト
ル量子化を実現でき、記憶部の記憶容量を大幅に削減で
きる。
As described in detail above, according to the present invention, vector quantization for accumulating only one code per frame can be realized, and the storage capacity of the storage unit can be greatly reduced.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施形態の音声符号化・復号化装置の
構成図である。
FIG. 1 is a configuration diagram of a speech encoding / decoding device according to an embodiment of the present invention.

【図2】図1中のベクトル量子化・逆量子化部の構成図
である。
FIG. 2 is a configuration diagram of a vector quantization / inverse quantization unit in FIG.

【図3】図2中のフレームコード決定部の動作を示すフ
ローチャートである。
3 is a flowchart showing an operation of a frame code determination unit in FIG.

【符号の説明】[Explanation of symbols]

1 パワー計算部 2 LPC分析部 3 ピッチ抽出部 4 特徴ベクトル抽出部 5 ベクトル量子化・逆量子化部 6 素片作成部 7 波形重畳部 8 記憶部 20 ベクトル量子化部 21 符号帳 22 ベクトル逆量子化部 31 コードバッファ 32 k近傍コード選出部 33 フレームコード決定部 34 級関数計算部 1 Power Calculation Section 2 LPC Analysis Section 3 Pitch Extraction Section 4 Feature Vector Extraction Section 5 Vector Quantization / Inverse Quantization Section 6 Element Creation Section 7 Waveform Superposition Section 8 Storage Section 20 Vector Quantization Section 21 Codebook 22 Vector Inverse Quantization Conversion unit 31 code buffer 32 k neighborhood code selection unit 33 frame code determination unit 34 class function calculation unit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 入力された音声の特徴ベクトルをフレー
ム毎に抽出する特徴ベクトル抽出部と、 各フレームについて、それぞれが符号帳コードを持つ複
数個の符号帳ベクトルの中から符号帳ベクトルを選定し
て、その選定した符号帳ベクトルに対応する符号帳コー
ドをそのフレームのフレームコードとするベクトル量子
化部と、 各フレームについて、前記フレームコードが表す符号帳
ベクトルとそのフレームの特徴ベクトルとの距離に基づ
いて、級関数値を計算する級関数計算部と、 前記各フレームについて、そのフレームコードと級関数
値とを記憶する記憶部と、 前記各フレームについて、前記記憶部に記憶された前記
フレームコードと前記級関数値に基づいて、そのフレー
ムの特徴ベクトルを算出するベクトル逆量子化部とを備
えた符号化・復号化装置において、 前記ベクトル量子化部は、 前記複数個の符号帳ベクトルの中から現フレームの特徴
ベクトルとの距離が近い方からk番目(k≧2の自然
数)までの、k本の符号帳ベクトルの中から、その直前
の(k−1)フレームまでの(k−1)個のフレームの
フレームコードが表す符号帳ベクトルのいずれとも異な
り、現フレームの特徴ベクトルとの距離が最も近い符号
帳ベクトルに対応する符号帳コードを現フレームのフレ
ームコードとするフレームコード決定部と、 前記現フレームとその直前の(k−1)フレームまでの
k個のフレームのフレームコードのそれぞれが表す符号
帳ベクトルと前記現フレームの前記特徴ベクトルとの各
距離に基づいて、現フレームの級関数値を計算する級関
数計算部とを有し、 前記ベクトル逆量子化部は、 前記記憶部に記憶された現フレームとその直前の(k−
1)フレームまでのk個のフレームのフレームコードの
それぞれが表す符号帳ベクトルと現フレームの級関数値
から、現フレームの特徴ベクトルを算出する構成にした
ことを特徴とする符号化・復号化装置。
1. A feature vector extraction unit for extracting a feature vector of input speech for each frame, and for each frame, a codebook vector is selected from a plurality of codebook vectors each having a codebook code. Then, for each frame, a vector quantizer that uses the codebook code corresponding to the selected codebook vector as the frame code of the frame, and for each frame, the distance between the codebook vector represented by the frame code and the feature vector of the frame. Based on a series function calculation unit for calculating a series function value, a storage unit for storing the frame code and the series function value for each frame, and for each frame, the frame code stored in the storage unit. And a vector dequantization unit that calculates a feature vector of the frame based on the class function value. In the encoding / decoding device, the vector quantizing unit includes k number of codebook vectors from the closest distance to the feature vector of the current frame to the k-th (k ≧ 2 natural number). , Which is different from any of the codebook vectors represented by the frame codes of (k-1) frames up to the immediately preceding (k-1) frame, the distance from the feature vector of the current frame is the largest. A frame code determination unit that uses a codebook code corresponding to a close codebook vector as a frame code of the current frame, and the frame code of each of k frames up to the (k-1) th frame immediately before the current frame. A class function calculator that calculates a class function value of the current frame based on each distance between the codebook vector and the feature vector of the current frame; Le inverse quantization unit, the current frame stored in the storage unit and the immediately preceding (k-
1) A coding / decoding device characterized in that a feature vector of a current frame is calculated from a codebook vector represented by each of frame codes of k frames up to a frame and a series function value of the current frame. .
JP7253327A 1995-09-29 1995-09-29 Encoding/decoding device Withdrawn JPH0997099A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7253327A JPH0997099A (en) 1995-09-29 1995-09-29 Encoding/decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7253327A JPH0997099A (en) 1995-09-29 1995-09-29 Encoding/decoding device

Publications (1)

Publication Number Publication Date
JPH0997099A true JPH0997099A (en) 1997-04-08

Family

ID=17249770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7253327A Withdrawn JPH0997099A (en) 1995-09-29 1995-09-29 Encoding/decoding device

Country Status (1)

Country Link
JP (1) JPH0997099A (en)

Similar Documents

Publication Publication Date Title
JP3680380B2 (en) Speech coding method and apparatus
JP2779886B2 (en) Wideband audio signal restoration method
EP0718820B1 (en) Speech coding apparatus, linear prediction coefficient analyzing apparatus and noise reducing apparatus
JP4005154B2 (en) Speech decoding method and apparatus
US5384891A (en) Vector quantizing apparatus and speech analysis-synthesis system using the apparatus
US20070192100A1 (en) Method and system for the quick conversion of a voice signal
IL135192A (en) Method and system for speech reconstruction from speech recognition features
JP3344962B2 (en) Audio signal encoding device and audio signal decoding device
JP3189598B2 (en) Signal combining method and signal combining apparatus
JP2645465B2 (en) Low delay low bit rate speech coder
JP2006171751A (en) Speech coding apparatus and method therefor
JPH0993135A (en) Coder and decoder for sound data
JPH08248994A (en) Voice tone quality converting voice synthesizer
Davidson et al. Multiple-stage vector excitation coding of speech waveforms
JPH07199997A (en) Processing method of sound signal in processing system of sound signal and shortening method of processing time in itsprocessing
JP2709926B2 (en) Voice conversion method
JP4274614B2 (en) Audio signal decoding method
JP3878254B2 (en) Voice compression coding method and voice compression coding apparatus
JP3916934B2 (en) Acoustic parameter encoding, decoding method, apparatus and program, acoustic signal encoding, decoding method, apparatus and program, acoustic signal transmitting apparatus, acoustic signal receiving apparatus
JP3185748B2 (en) Signal encoding device
JPH0997099A (en) Encoding/decoding device
JP2712925B2 (en) Audio processing device
JP3010655B2 (en) Compression encoding apparatus and method, and decoding apparatus and method
JP3319551B2 (en) Vector quantizer
JP3192051B2 (en) Audio coding device

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021203