JP2943983B1 - Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor - Google Patents
Audio signal encoding method and decoding method, program recording medium therefor, and codebook used thereforInfo
- Publication number
- JP2943983B1 JP2943983B1 JP10101062A JP10106298A JP2943983B1 JP 2943983 B1 JP2943983 B1 JP 2943983B1 JP 10101062 A JP10101062 A JP 10101062A JP 10106298 A JP10106298 A JP 10106298A JP 2943983 B1 JP2943983 B1 JP 2943983B1
- Authority
- JP
- Japan
- Prior art keywords
- pulse
- codebook
- code
- positive
- polarity
- 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)
Abstract
【要約】
【課題】 ACELP(Algebraic CEL
P)で高い圧縮率とし、メモリ量、演算量を少なくし、
かつ高品質を保つ。
【解決手段】 各位置符号帳i(i=1,2,…)のパ
ルス位置候補に対し対応正負符号帳iに、そのとるべき
正負の極性が決められている(例えば、図3参照)、図
3の例では偶数サンプル点(位置候補)は正極性、奇数
サンプル点は負極性をとり、隣接サンプル点にパルスが
立つと、お互いにパルスの極性が反対になる。位置符号
帳iと正負符号帳iは同一位置符号iで読出される。Abstract: ACELP (Algebric CEL)
P) to achieve a high compression ratio, reduce the amount of memory and computation,
And keep high quality. A positive / negative sign book i corresponding to a pulse position candidate of each position code book i (i = 1, 2,...) Is determined (for example, see FIG. 3). In the example of FIG. 3, the even-numbered sample points (position candidates) have a positive polarity, and the odd-numbered sample points have a negative polarity. When a pulse is generated at an adjacent sample point, the polarity of the pulse is opposite to each other. The position codebook i and the positive / negative codebook i are read with the same position code i.
Description
【0001】[0001]
【発明の属する技術分野】この発明は、音声、音楽など
の音響信号の、スペクトル包絡特性を表すフィルタを音
源ベクトルで駆動して音声を合成する予測符号化によ
り、音声の信号系列を少ない情報量でディジタル符号化
する高能率音声符号化方法、その復号方法、これらに用
いる符号帳およびそのプログラム記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to predictive coding for synthesizing speech by driving a filter representing a spectral envelope characteristic of an audio signal such as speech or music with a sound source vector, thereby reducing a signal sequence of the speech to a small amount of information. The present invention relates to a high-efficiency speech encoding method for digital encoding by using the method, a decoding method thereof, a codebook used for these methods, and a program recording medium therefor.
【0002】[0002]
【従来の技術】ディジタル移動体通信において、電波を
効率的に利用したり、音声または音楽蓄積サービス等で
通信回線や記憶媒体を効率的に利用するために、高能率
音声符号化方法が用いられる。現在、音声を高能率に符
号化する方法として、原音声をフレームまたはサブフレ
ームと呼ばれる5〜50ms程度の一定間隔の区間に分
割し、その1フレームの音声を周波数スペクトルの包絡
特性を表す線形フィルタの特性と、そのフィルタを駆動
するための駆動音源信号との2つの情報に分離し、それ
ぞれを符号化する手法が提案されている。この手法にお
いて、駆動音源信号を符号化する方法として、音声のピ
ッチ周期(基本周波数)に対応すると考えられる周期成
分と、それ以外の成分に分離して符号化する方法が知ら
れている。この駆動音源情報の符号化法の例として、符
号駆動線形予測符号化(Code−Excited L
inear Prediction:CELP)があ
る。上記技術の詳細については、文献 M.R.Sch
roeder and B.S.Atal,“Code
−Excited Linear Predictio
n(CELP):High Quality Spee
ch at VeryLow Bit Rates”,
IEEE Proc.ICASSP−85,pp.93
7−940,1985に記載されている。2. Description of the Related Art In digital mobile communication, a high-efficiency voice encoding method is used in order to efficiently use radio waves or to efficiently use a communication line or a storage medium for a voice or music storage service. . At present, as a method for efficiently encoding speech, an original speech is divided into sections called frames or subframes at a constant interval of about 5 to 50 ms, and the speech of one frame is subjected to a linear filter representing envelope characteristics of a frequency spectrum. And a method of separating the information into two pieces of information, ie, a drive excitation signal for driving the filter, and encoding each of the information. In this method, as a method of encoding a drive excitation signal, a method of separating and encoding a periodic component considered to correspond to a pitch period (fundamental frequency) of a voice and other components is known. As an example of the coding method of the drive excitation information, code-driven linear prediction coding (Code-Excited L
inner Prediction (CELP). For details of the above technique, see Reference M. R. Sch
roeder and B.R. S. Atal, “Code
-Excited Linear Prediction
n (CELP): High Quality Speed
chat VeryLow Bit Rates ”,
IEEE Proc. ICASP-85, pp. 93
7-940, 1985.
【0003】図8に上記符号化方法の機能的構成例を示
す。入力端子に入力された音声は、線形予測分析部1−
1において、入力音声の周波数スペクトル包絡特性を表
す線形予測パラメータが計算される。得られた線形予測
パラメータは線形予測パラメータ符号化部1−2におい
て、符号化されて線形予測パラメータ復号部1−3に送
られる。また、歪み計算に聴覚特性を考慮するなど、入
力音声のスペクトル情報を利用して歪み計算を行なう場
合には、線形予測パラメータは歪み計算部1−6へも送
られる。線形予測パラメータ復号部1−3では、受け取
った符号から合成フィルタ係数を再生し、合成フィルタ
1−5に送る。歪み計算に聴覚特性を考慮する場合に、
歪み計算部1−6において量子化前の線形予測パラメー
タを用いる代わりに、上記復号された線形予測パラメー
タを歪み計算に使用することもある。なお、線形予測分
析の詳細および線形予測パラメータの符号化例について
は、例えば古井貞煕著“ディジタル音声処理”(東海大
学出版会)に記載されている。ここで、線形予測分析部
1−1、線形予測パラメータ符号化部1−2、線形予測
パラメータ復号部1−3および合成フィルタ1−5は非
線形なものに置き換えてもよい。FIG. 8 shows an example of a functional configuration of the encoding method. The speech input to the input terminal is output to the linear prediction analysis unit 1-
At 1, a linear prediction parameter representing the frequency spectrum envelope characteristic of the input speech is calculated. The obtained linear prediction parameters are encoded in the linear prediction parameter encoding unit 1-2 and sent to the linear prediction parameter decoding unit 1-3. When distortion calculation is performed using spectral information of input speech, for example, in consideration of auditory characteristics in distortion calculation, the linear prediction parameter is also sent to the distortion calculation unit 1-6. The linear prediction parameter decoding unit 1-3 reproduces a synthesis filter coefficient from the received code, and sends it to the synthesis filter 1-5. When considering auditory characteristics in distortion calculation,
Instead of using the linear prediction parameters before quantization in the distortion calculator 1-6, the decoded linear prediction parameters may be used for distortion calculation. The details of the linear prediction analysis and examples of encoding the linear prediction parameters are described in, for example, “Digital Speech Processing” by Sadahiro Furui (Tokai University Press). Here, the linear prediction analysis unit 1-1, the linear prediction parameter encoding unit 1-2, the linear prediction parameter decoding unit 1-3, and the synthesis filter 1-5 may be replaced with non-linear ones.
【0004】駆動音源ベクトル生成部1−4では、1フ
レーム分の長さの駆動音源ベクトル候補を生成し、合成
フィルタ1−5に送る。図9に駆動音源ベクトル生成部
1−4の機能的構成例を示す。適応符号帳2−1からは
そのバッファに記憶された直前の過去の駆動音源ベクト
ル(既に量子化された直前の1〜数フレーム分の駆動音
源ベクトル)c(t−1)を、ある周期に相当する長さ
で切り出し、その切り出したベクトルをフレームの長さ
になるまで繰り返すことによって、音声の周期成分に対
応する時系列ベクトルの候補が出力される。上記「ある
周期」とは、歪み計算部1−6における歪みdが小さく
なるような周期が選択されるが、選択された周期は、一
般には音声のピッチ周期に相当することが多い。固定符
号帳2−2からは、音声の非周期成分に対応する1フレ
ーム分の長さの時系列符号ベクトルの候補が出力され
る。これらの候補は入力音声とは独立に符号化のための
ビット数に応じてあらかじめ指定された数の候補ベクト
ルが記憶されている。固定符号帳2−2から出力された
固定符号ベクトル候補は、周期化部2−8において、周
期符号で指定される周期(上記のように一般にピッチ周
期に相当)で必要に応じて周期化される。周期化とは、
指定された周期位置にタップを持つ櫛形フィルタをかけ
るか、適応符号帳と同様に、ベクトルの先頭から指定さ
れた周期に相当する長さで切り出したベクトルを繰り返
すことをいう。周期化部2−8は、符号化効率向上の点
から用いられることが多いが、用いられない場合もあ
る。また、子音区間など、音声そのものにピッチ成分が
ないかまたは少ない場合などには、周期化部は何の働き
もしない場合もある。適応符号帳2−1および周期化部
2−8から出力された時系列ベクトルの候補は、乗算部
2−4,2−5において、それぞれ重み作成部2−3に
おいて作成された重みが乗算され、加算部2−6におい
て加算され、駆動音源ベクトルの候補cとなる。図9の
構成例において、適応符号帳2−1を用いないで、固定
符号帳2−2のみの構成としてもよく、子音部や背景雑
音などのピッチ周期性の少ない信号を符号化するときに
は、ビットを節約するために、適応符号帳2−1を用い
ない構成にすることも多い。[0004] The drive excitation vector generation section 1-4 generates a drive excitation vector candidate having a length of one frame and sends it to the synthesis filter 1-5. FIG. 9 shows a functional configuration example of the driving sound source vector generation unit 1-4. From the adaptive codebook 2-1, the immediately preceding past drive excitation vector (the drive excitation vector for the immediately preceding one to several frames that has been already quantized) c (t−1) stored in the buffer is stored in a certain cycle. By cutting out the cut-out vector at a corresponding length and repeating the cut-out vector until the length of the frame is reached, a time-series vector candidate corresponding to the periodic component of the voice is output. As the “certain period”, a period that reduces the distortion d in the distortion calculator 1-6 is selected. In general, the selected period generally corresponds to the pitch period of voice. The fixed codebook 2-2 outputs a time-series code vector candidate having a length of one frame corresponding to the aperiodic component of the voice. For these candidates, a predetermined number of candidate vectors are stored in accordance with the number of bits for encoding independently of the input speech. The fixed code vector candidates output from the fixed codebook 2-2 are periodicized as necessary by the periodicization unit 2-8 at a period (generally equivalent to a pitch period as described above) specified by the periodic code. You. What is periodicity?
This means that a comb filter having taps is applied to a specified period position, or a vector cut out from the head of the vector at a length corresponding to the specified period is repeated, as in the adaptive codebook. The periodic unit 2-8 is often used from the viewpoint of improving coding efficiency, but may not be used. Further, when there is no or little pitch component in the voice itself, such as in a consonant section, the periodic unit may not perform any function. The time series vector candidates output from the adaptive codebook 2-1 and the periodization unit 2-8 are multiplied by the weights generated by the weight generation units 2-3 in the multiplication units 2-4 and 2-5, respectively. , And are added in the adder 2-6 to become a drive excitation vector candidate c. In the configuration example of FIG. 9, the configuration may be such that only the fixed codebook 2-2 is used without using the adaptive codebook 2-1. When encoding a signal with a small pitch periodicity such as a consonant part or background noise, In order to save bits, a configuration not using the adaptive codebook 2-1 is often used.
【0005】図8中の合成フィルタ1−5は、線形予測
パラメータ復号部1−3の出力をフィルタの係数とする
線形フィルタで、駆動音源ベクトル候補cを入力として
再生音声の候補yを出力する。合成フィルタ1−5の次
数すなわち線形予測分析の次数は、一般に10〜16次
程度が用いられることが多い。なお、既に述べたよう
に、合成フィルタ1−5は非線形なフィルタでもよい。The synthesis filter 1-5 in FIG. 8 is a linear filter using the output of the linear prediction parameter decoding section 1-3 as a filter coefficient, and outputs a reproduced sound candidate y with a driving excitation vector candidate c as an input. . Generally, the order of the synthesis filter 1-5, that is, the order of the linear prediction analysis, is generally about 10 to 16 order. As described above, the synthesis filter 1-5 may be a non-linear filter.
【0006】歪み計算部1−6では、合成フィルタ1−
5の出力である再生音声の候補yと、入力音声xとの歪
みdを計算する。この歪みの計算は、例えば聴覚重み付
けなど、合成フィルタの係数または量子化していない線
形予測係数を考慮にいれて行なうことが多い。図10
に、聴覚重みづけを考慮して歪みを計算する機能的構成
例を示した。聴覚重みづけは、量子化していない線形予
測パラメータもしくは量子化された合成フィルタ係数を
用いた、聴覚重みフィルタ4−2,4−3の形で構成さ
れる。合成フィルタ4−1から出力される再生音声候補
yは、聴覚重みフィルタ4−2を通され、同じく聴覚重
みフィルタ4−3に通された入力音声との間で、歪みd
が計算される。ここで、聴覚重みフィルタ4−2,4−
3は通常同一のフィルタ係数を用いるため、聴覚重みフ
ィルタ4−2,4−3は、距離計算部4−4の後に1つ
のフィルタとして入れても等価であるが、処理量の点か
ら、図10に示したように、距離計算部4−4の手前で
2ヶ所に分けて入れることが多い。[0006] In the distortion calculation unit 1-6, the synthesis filter 1-
Then, a distortion d between the reproduced voice candidate y, which is the output of No. 5, and the input voice x is calculated. The calculation of this distortion is often performed taking into account the coefficients of the synthesis filter or unquantized linear prediction coefficients, for example, perceptual weighting. FIG.
Fig. 7 shows an example of a functional configuration for calculating distortion in consideration of auditory weighting. The perceptual weighting is configured in the form of perceptual weight filters 4-2 and 4-3 using unquantized linear prediction parameters or quantized synthetic filter coefficients. The reproduced voice candidate y output from the synthesis filter 4-1 is passed through the auditory weight filter 4-2, and the distortion d between the input voice and the input voice also passed through the auditory weight filter 4-3.
Is calculated. Here, the auditory weight filters 4-2, 4-
3 normally use the same filter coefficient, the auditory weighting filters 4-2 and 4-3 are equivalent even if they are inserted as one filter after the distance calculation unit 4-4. As shown in FIG. 10, it is often divided into two places before the distance calculation unit 4-4.
【0007】図8中の符号帳検索制御部1−8では、各
再生音声候補yと入力音声xとの歪みdが最小となるよ
うな駆動音源符号を選択し、そのフレームにおける駆動
音源ベクトルを決定する。なお、図9に示した適応符号
帳2−1、固定符号帳2−2、重み符号帳2−3を用い
る場合には、これらに対する周期符号、固定符号および
重み符号を選択し、これらを駆動音源符号とする。The codebook search control section 1-8 in FIG. 8 selects a driving excitation code that minimizes the distortion d between each reproduced speech candidate y and the input speech x, and determines the driving excitation vector in the frame. decide. When the adaptive codebook 2-1, the fixed codebook 2-2, and the weighted codebook 2-3 shown in FIG. 9 are used, a periodic code, a fixed code, and a weighted code for these are selected and driven. It is a sound source code.
【0008】符号帳検索制御部1−8において決定され
た駆動音源符号(周期符号、固定(雑音)符号、重み符
号)と、線形予測パラメータ符号化部1−2の出力であ
る線形予測パラメータ符号は、符号送出部1−9に送ら
れ、利用の形態に応じて記憶装置に記憶されるか、また
は通信路を介して受信側へ送られる。図11に、上記符
号化方法に対応する復号方法の機能的構成例を示す。伝
送路または記憶媒体から受信された符号のうち、線形予
測パラメータ符号は線形予測パラメータ復号部3−2に
おいて合成フィルタ係数に復号され、合成フィルタ3−
4および、必要に応じて後処理部3−5に送られる。受
信された駆動音源符号は、駆動音源ベクトル生成部3−
3に送られ、符号に対応する音源ベクトルが生成され
る。なお、駆動音源ベクトル生成部3−3の構成は、図
8に示した符号化方法の駆動音源ベクトル生成部1−4
に対応する構成となる。合成フィルタ3−4は、駆動音
源ベクトルを入力として、音声を再生する。後処理部3
−5は、再生された音声の雑音感を聴覚的に低下させる
ような処理(ポストフイルタリングとも呼ばれる)を行
なうが、後処理部3−5は処理量削減等の関係から用い
られないことも多い。The excitation code (periodic code, fixed (noise) code, weight code) determined by the codebook search control section 1-8 and the linear prediction parameter code output from the linear prediction parameter coding section 1-2. Is sent to the code sending section 1-9 and stored in a storage device or sent to the receiving side via a communication path according to the form of use. FIG. 11 shows a functional configuration example of a decoding method corresponding to the encoding method. Among the codes received from the transmission path or the storage medium, the linear prediction parameter code is decoded into a synthesis filter coefficient in the linear prediction parameter decoding unit 3-2, and the synthesis filter coefficient is decoded.
4 and, if necessary, to the post-processing unit 3-5. The received excitation code is used as a driving excitation vector generation unit 3-
3 and an excitation vector corresponding to the code is generated. The configuration of the driving excitation vector generation unit 3-3 is the same as that of the driving excitation vector generation unit 1-4 of the encoding method shown in FIG.
Is a configuration corresponding to. The synthesis filter 3-4 reproduces a sound by using the driving sound source vector as an input. Post-processing unit 3
-5 performs processing (also referred to as post-filtering) to aurally reduce the sense of noise in the reproduced sound, but the post-processing unit 3-5 may not be used due to processing amount reduction or the like. Many.
【0009】[0009]
【発明が解決しようとする課題】CELP方式において
問題となるのは、駆動音源ベクトル候補の選択をするた
めの歪み計算に、非常に多くの演算処理が必要になるこ
とと、固定符号帳2−2の中に格納される符号ベクトル
を記憶するために、非常に多くのメモリ量が必要になる
点である。Problems that arise in the CELP method are that a great deal of arithmetic processing is required for distortion calculation for selecting a driving excitation vector candidate, and that the fixed codebook 2- is used. 2 in that a very large amount of memory is required to store the code vector stored in the second.
【0010】この問題に対して、Algebraic
Code−Excited Linear Predi
ction(ACELP)という方式が提案されてい
る。この方式は、固定符号帳を、フレーム長のベクトル
パターンとして蓄えるのではなく、高さが1のパルス
を、フレーム内に数本、例えば、80サンプルのフレー
ムまたはサブフレームに対して、4本、適当な位置に立
てることによって、固定符号ベクトルとする方式で、こ
の駆動音源方式の採用と、歪み計算において演算順序を
工夫することによって、従来の方式に比べて演算処理と
メモリの必要量を減らすことができる。なお、ACEL
P方式の詳細は、例えば、文献、R.Salami,
C.Laflamme,and J−P.Adoul,
“8kbit/s ACELP Coding of
Speech with 10ms Speech−F
rame:a Candidate for CCIT
T Standardization”,IEEE P
roc.ICASSP−94,pp.II−97に記載さ
れている。[0010] To solve this problem, Algebraic
Code-Excited Linear Predi
ction (ACELP) has been proposed. In this method, instead of storing a fixed codebook as a vector pattern of a frame length, several pulses having a height of 1 are provided in a frame, for example, four pulses for a frame or a subframe of 80 samples, By adopting this driving excitation method in a method of setting a fixed code vector by setting it in an appropriate position, and devising the calculation order in distortion calculation, the amount of calculation processing and memory required is reduced compared to the conventional method. be able to. In addition, ACEL
For details of the P method, see, for example, Literature, Salami,
C. Laflame, and JP. Adoul,
“8 kbit / s ACELP Coding of
Speech with 10ms Speech-F
name: a Candidate for CCIT
T Standardization ”, IEEE P
rc. ICASP-94, pp. II-97.
【0011】ここで図を用いてACELPの具体的な例
を示す。図12はACELPにおける固定符号帳の機能
的構成例である。N本のパルスを立てる場合、N個の位
置符号帳1〜N(5−11〜5−1N)、N箇所のパル
ス生成部1〜N(5−21〜5−2N)、N箇所の正負
符号乗算部1〜N(5−31〜5−3N)を持つ。位置
符号帳5−1には、各パルス生成部5−2毎にパルスを
立てられる位置候補のテーブルを保持し、位置符号と実
際のパルス位置の対応付けを行なう。パルス生成部5−
2では、位置符号帳5−1によって指定されたサンプル
点に単一パルスを立てた1サブフレーム分(または1フ
レーム分)の時系列ベクトルを出力する。正負符号乗算
部5−3では、パルス生成部5−2より出力されたパル
スに対して、+1または−1の正負符号を乗算する。こ
の符号が乗算されたパルスが加算されてN個のパルスよ
りなるベクトルとされる。Now, a specific example of ACELP will be described with reference to the drawings. FIG. 12 is a functional configuration example of a fixed codebook in ACELP. When N pulses are generated, N position codebooks 1 to N (5-11 to 5-1N), N pulse generators 1 to N (5-21 to 5-2N), and N positive and negative signs It has sign multiplication units 1 to N (5-31 to 5-3N). The position codebook 5-1 holds a table of position candidates where a pulse can be set for each pulse generation unit 5-2, and associates position codes with actual pulse positions. Pulse generator 5-
In step 2, a time-series vector for one subframe (or one frame) in which a single pulse is set at a sample point specified by the position codebook 5-1 is output. The sign multiplication unit 5-3 multiplies the pulse output from the pulse generation unit 5-2 by a sign of +1 or -1. The pulses multiplied by this code are added to form a vector composed of N pulses.
【0012】図13に例として、サブフレーム長が80
サンプル、パルス数が4本の場合の、位置符号帳とパル
ス生成部によってパルスが生成される様子を、模式的に
理解できるようにしたもので、同じサンプル点に2本の
パルスが重ならないようにパルス位置符号帳(位置候補
テーブル)を設計した例である。例えば、パルス1は、
0,5,10,…75の位置(サンプル点)候補の中の
いずれか1ヶ所に立てられる。同様に、パルス2,3,
4はそれぞれの位置候補の中の1ヶ所(破線のうちの1
本)に立てられる。各パルスは、正負符号乗算部5−3
において、+1または−1の符号が乗算されるので、同
じ位置でプラス方向にパルスが立てられる場合と、マイ
ナス方向にパルスが立てられる場合がある。こうして、
正負の符号のついた4本のパルスのパルス列が出力され
る。図8中の歪み計算部1−6と符号帳検索制御部1−
8では、これらのパルス列のどの位置にどの符号のパル
スが立てられたときが最も歪みが小さくなるかを判断
し、最適な位置と正負符号を決定、位置符号と正負符号
は通信路または記憶媒体を通じて復号器(デコーダ)に
送られる。なお、規定本数、図13の例では4本以下で
あれば、例えば3番目のパルスは立てないという選択も
あって、パルス数が3本以下の場合もある。FIG. 13 shows an example in which the subframe length is 80.
This is to make it possible to schematically understand how the position codebook and the pulse generator generate pulses when the number of samples and pulses is four, so that two pulses do not overlap at the same sample point. This is an example of designing a pulse position codebook (position candidate table). For example, pulse 1 is
.. 75 are set at any one of the candidate positions (sample points). Similarly, pulses 2, 3,
4 is one of the position candidates (one of the broken lines)
Book). Each pulse is supplied to a plus / minus sign multiplier 5-3.
, The sign of +1 or -1 is multiplied, so that there is a case where a pulse is made in the plus direction at the same position and a case where a pulse is made in the minus direction. Thus,
A pulse train of four pulses with positive and negative signs is output. The distortion calculator 1-6 and the codebook search controller 1- in FIG.
In step 8, it is determined which pulse has the lowest distortion at which position in these pulse trains and the optimum position and sign are determined. The position code and sign are determined by the communication path or the storage medium. Through to the decoder. If the number of pulses is four or less in the example of FIG. 13, for example, there is a choice that the third pulse is not raised, and the number of pulses may be three or less.
【0013】ACELP方式の問題点は、固定符号ベク
トルのモデルが単純であるために、一定時間長あたりの
パルスの本数を減らす、すなわち、ビットレートを低く
しようとすると、音質の劣化が顕著になる点である。例
えば、図13の例では、位置を表すのにパルス1,2,
4は各4ビット、パルス3は5ビット、正負の符号を表
すのに4パルスで4ビット必要であり、合計21ビット
必要となる。このビット数を減らすために、パルス数を
4本から3本に減らすと、必要なビット数は合計17ビ
ットとなるけれども、音質が顕著に劣化する。The problem of the ACELP system is that, since the model of the fixed code vector is simple, if the number of pulses per fixed time length is reduced, that is, if the bit rate is reduced, the sound quality is significantly deteriorated. Is a point. For example, in the example of FIG.
4 is 4 bits each, pulse 3 is 5 bits, and 4 pulses require 4 bits to represent a positive / negative sign, for a total of 21 bits. If the number of pulses is reduced from four to three in order to reduce the number of bits, the required number of bits becomes 17 bits in total, but the sound quality is significantly degraded.
【0014】一方、従来型のCELPでは、符号帳に蓄
えられる符号ベクトルの形状を事前に大量の音声データ
を分析して、有効な形状のベクトルを効率的に蓄えてお
くことができるというメリットがある。つまり、実音声
において出現する頻度の低い形状を符号ベクトルとして
表現する必要がないため、ベクトル形状の自由度に実音
声の性質を反映する拘束をかけることができるため少な
いビット数で効率的な符号化を実現できる。しかし、A
CELPでは高さ1のパルスを並べるだけのため、実音
声に含まれる統計的な傾向を符号帳の設計に反映するこ
とができない。したがって、従来型のCELPを使って
圧縮率を高めるか、ACELPタイプの方式を使って演
算処理量とメモリ量を低く抑えるか、の二者択一が必要
であった。On the other hand, the conventional CELP has the advantage that the shape of the code vector stored in the codebook can be analyzed in advance by analyzing a large amount of speech data, and the vector having an effective shape can be stored efficiently. is there. In other words, it is not necessary to represent a shape that appears infrequently in real speech as a code vector, so that the degree of freedom of the vector shape can be constrained to reflect the properties of real speech, so that an efficient code with few bits can be used. Can be realized. But A
In CELP, since only pulses having a height of 1 are arranged, a statistical tendency included in actual speech cannot be reflected in codebook design. Therefore, it is necessary to choose between using a conventional CELP to increase the compression ratio or using an ACELP type method to reduce the amount of computation and memory.
【0015】この発明の目的は、高い圧縮率(低いビッ
トレート)、かつ安価なプロセッサで、許容される範囲
内の少ないメモリ量、少ない演算量で、高品質な再生音
声が得られるような、音声または音楽などの音響信号を
ディジタル符号化する方法、その復号方法、これらの装
置とそのプログラム記録媒体を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a high compression rate (low bit rate) and inexpensive processor capable of obtaining high quality reproduced voice with a small amount of memory and a small amount of computation within an allowable range. It is an object of the present invention to provide a method of digitally encoding an audio signal such as voice or music, a decoding method thereof, these devices, and a program recording medium thereof.
【0016】[0016]
【課題を解決するための手段】この発明では、ACEL
Pタイプのパルス型符号化方式において、パルスの並べ
方に実音声の性質を反映するような拘束を与え、つまり
各位置符号帳に対し、正負符号帳を対応させ、その位置
符号帳での各パルス位置候補に対し、正又は負の極性を
予め与え、位置符号で正負符号帳をも読出し、かつ隣接
サンプル点にパルスが並んで立った場合は互いに逆極性
となるようにされ、実音声において出現頻度の低いパタ
ーンは生成されないようにする。この結果、従来のAC
ELPタイプの符号化方式に比べて、同等の品質を実現
する場合にはビットレートを低減でき、ビットレートを
同じにする場合には、高い品質の符号化を実現できる。According to the present invention, ACEL is used.
In the P-type pulse-type coding method, the arrangement of the pulses is constrained so as to reflect the characteristics of the actual voice. That is, each position codebook is associated with a positive / negative codebook, and each pulse in the position codebook is assigned. Positive or negative polarity is given to the position candidate in advance, the sign code is also read out by the position code, and when the pulses stand side by side at adjacent sample points, they are made to have opposite polarities and appear in the actual voice. Infrequent patterns should not be generated. As a result, the conventional AC
Compared to the ELP type coding method, the bit rate can be reduced when the same quality is realized, and high quality coding can be realized when the bit rates are the same.
【0017】[0017]
【発明の実施の形態】以下この発明の実施例を、図面を
用いて説明する。図1はこの発明による固定符号帳の機
能的構成例を示したものである。図12に示した従来法
と異なる点は、各パルスの正負の符号が、パルスの位置
によってあらかじめ決められている点で、従来法が1パ
ルスあたり1ビットを使って各パルスの正負を指定して
いたのに対して、この発明ではパルスの位置符号のみに
よって、パルスの位置と正負の向きがセットで決めら
れ、つまり位置符号帳5−11〜5−1Nは正負符号帳
7−11〜7−1Nとそれぞれ組合され、対応する、例
えば位置符号帳5−11で指定され得る各パルス位置に
対する正負の符号は正負符号帳7−11に予め決められ
ている。正負符号乗算部5−31〜5−3Nでのパルス
生成部5−21〜5−2Nの各出力パルスに対し、それ
ぞれ正負符号帳7−11〜7−1Nよりの正負符号が乗
算される。必要に応じてこのようにして決められたN本
のパルスをまとめ、全体の符号乗算部7−2で、1つの
正負の符号が乗算される。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows an example of a functional configuration of a fixed codebook according to the present invention. The difference from the conventional method shown in FIG. 12 is that the sign of each pulse is predetermined in accordance with the position of the pulse, and the conventional method specifies the sign of each pulse using one bit per pulse. On the other hand, in the present invention, the position and the positive / negative direction of the pulse are determined as a set only by the position code of the pulse, that is, the position codebooks 5-11 to 5-1N are changed to the positive and negative codebooks 7-11 to 7-7. The plus / minus sign for each pulse position which can be respectively specified with, for example, the position codebook 5-11 and which is combined with -1N is predetermined in the plus / minus codebook 7-11. Each of the output pulses of the pulse generation units 5-21 to 5-2N in the positive / negative sign multiplying units 5-31 to 5-3N is multiplied by the positive / negative sign from the positive / negative sign book 7-11 to 7-1N, respectively. If necessary, the N pulses determined in this way are combined, and the entire sign multiplying unit 7-2 multiplies the sign by one sign.
【0018】この結果、この符号帳構成例を用いた場合
に必要となるビット数は、図12による従来法を用いた
場合とくらべて、Nパルス用いる場合で、N−1ビット
少なくなる。図1の構成例は、図2に示すように変形し
ても等価で、最後にプラス、マイナスの符号を全体のパ
ルス列に対して乗算するかわりに、符号反転部1〜N
(8−11〜8−1N)において、正負符号帳1〜N
(7−11〜7−1N)よりの各正負符号がマイナスの
場合には、パルスの極性を反転、プラスのときは反転せ
ずそのままという処理にして正負符号乗算部1〜N(5
−31〜5−3N)に入力してもよい。As a result, the number of bits required when using this codebook configuration example is N-1 bits smaller when using N pulses than when using the conventional method shown in FIG. The configuration example of FIG. 1 is equivalent even if modified as shown in FIG. 2. Finally, instead of multiplying the entire pulse train by plus and minus signs, the sign inverting units 1 to N
In (8-11 to 8-1N), the sign books 1 to N
If the sign of each sign from (7-11 to 7-1N) is negative, the polarity of the pulse is inverted, and if the sign is positive, the pulse is not inverted and processed as it is, and the sign multipliers 1 to N (5
-31 to 5-3N).
【0019】図1および図2に示す構成例を用いたとき
に、正負符号帳7−11〜7−1Nおよび位置符号帳5
−11〜5−1Nに記憶されるパルスの位置と極性の組
を、どのように決めるかという点が重要である。どのよ
うな決め方をしても、N−1ビット削減できることは同
じであるが、音声を符号化して復号したときに、品質の
劣化ができるだけ少ないように決めなければならない。
既に述べたように、音質の劣化を最小限に抑えるために
は、実音声の符号化をした場合に、出現する頻度の高い
組み合わせを残し、出現する頻度の低い組み合わせを削
減する。実音声の性質を反映しない削減方法は、音声品
質を極端に劣化させる。When the configuration examples shown in FIGS. 1 and 2 are used, the sign book 7-11 to 7-1N and the position code book 5
It is important how to determine the set of the position and the polarity of the pulse stored in -11 to 5-1N. Regardless of the method of determination, it is the same that N-1 bits can be reduced. However, when speech is encoded and decoded, it is necessary to determine the quality as little as possible.
As described above, in order to minimize the deterioration of the sound quality, when encoding of real voice is performed, the combinations that appear frequently are left, and the combinations that appear less frequently are reduced. A reduction method that does not reflect the properties of the actual voice will significantly degrade the voice quality.
【0020】図3に、図13に示した従来と同様にとり
得る位置(サンプル点)を同一としたものにこの発明を
適用した場合の、パルス位置とパルスの極性の組の例を
示す。この場合に必要なビット数は18ビットで、図1
3の場合に比べて3ビット少ない。上向きの破線の位置
では、プラス方向のみにパルスの極性が指定されること
を、下向きの破線の位置では、マイナス方向のみにパル
スの極性が指定されることを表す。ただし、最後に4パ
ルスまとめてプラス、マイナスの符号が乗算されるの
で、この極性は絶対的な符号ではなく、4パルス相互の
相対的な極性でしかない。図3の例ではパルス1は偶数
サンプル位置ではプラス方向の極性を、奇数サンプル位
置ではマイナス方向の極性をもつように指定されてい
る。偶数サンプル点がマイナスの極性、奇数サンプル点
がプラスの極性としてもよい。FIG. 3 shows an example of a set of pulse positions and pulse polarities when the present invention is applied to the same position (sample point) that can be taken in the same manner as in the prior art shown in FIG. In this case, the required number of bits is 18 bits.
3 bits less than 3 bits. The position of the upward dashed line indicates that the pulse polarity is specified only in the plus direction, and the position of the downward dashed line indicates that the pulse polarity is specified only in the negative direction. However, since the last four pulses are multiplied together by plus and minus signs, this polarity is not an absolute sign but only a relative polarity between the four pulses. In the example of FIG. 3, the pulse 1 is specified to have a positive polarity in the even sample position and a negative polarity in the odd sample position. Even-numbered sample points may have negative polarity, and odd-numbered sample points may have positive polarity.
【0021】図3に示すような指定は、一見、音質を劣
化させないことに何ら貢献していないように見えるが、
実際の音声の特性を的確に反映した、有効な指定の方法
である。実際の音声を符号化した場合の駆動音源ベクト
ルの形状を観察すると、隣接するサンプル点では、相反
する極性のパルスが立つことが多く、同じ極性のパルス
が、隣接するサンプル点に並ぶことはあまりない。この
事実を的確に反映したのが、図3のような指定方法であ
る。この指定方法をとれば、パルスが隣接するサンプル
点に並んで立つ場合には、2つのパルスの極性は必ず反
対になる。同じ極性のパルスが隣接して立つことはな
い。したがって、偶数サンプル点、奇数サンプル点とい
う代数的な決め方であるけれども、音声の性質をよく反
映した方法である。At first glance, the designation as shown in FIG. 3 does not seem to have contributed to not deteriorating the sound quality.
This is an effective specification method that accurately reflects the characteristics of actual speech. When observing the shape of the driving sound source vector when actual speech is coded, pulses of opposite polarities often occur at adjacent sample points, and pulses of the same polarity rarely line up at adjacent sample points. Absent. The designation method shown in FIG. 3 accurately reflects this fact. According to this designation method, when pulses stand side by side at adjacent sample points, the polarities of the two pulses are always opposite. Pulses of the same polarity do not stand adjacent to each other. Therefore, although it is an algebraic method of determining even-numbered sample points and odd-numbered sample points, the method well reflects the characteristics of speech.
【0022】図4に、図3の候補例の変形としての候補
例2を示す。図3の例との違いは、×印で示したサンプ
ル点15,31,47,63では、パルスの振幅が0、
すなわちパルスを立てないことを表す。これはパルスを
常に1サブフレームに4本立てるよりも、3本以下の選
択肢を用意したほうが、符号化した場合の品質がよくな
るためである。4本パルスがよいか3本パルス以下がよ
いかの判断は、歪み計算部1−6と符号帳検索制御部1
−8によって歪みの小さいほうに決定される。図4に示
したように、パルスの立たないサンプル点をつくる場
合、パルスの立たない位置はサブフレーム内に分散して
いたほうが符号化した音の品質が良く、サンプル点1
5,31,47,63という決め方は良い決め方の代表
例である。FIG. 4 shows a candidate example 2 as a modification of the candidate example of FIG. The difference from the example of FIG. 3 is that at sample points 15, 31, 47, and 63 indicated by crosses, the pulse amplitude is 0,
That is, no pulse is generated. This is because the quality when encoding is better when three or less options are prepared, rather than always setting four pulses in one subframe. The determination as to whether four pulses or three pulses or less is preferable is made by the distortion calculator 1-6 and the codebook search controller 1
-8 determines the smaller distortion. As shown in FIG. 4, when a sample point where a pulse does not occur is formed, the quality of the encoded sound is better when the position where the pulse does not occur is dispersed in the subframe, and the sample point 1
The determination method of 5, 31, 47, 63 is a typical example of a good determination method.
【0023】図5は、サブフレームあたり更にもう1ビ
ット減らして、17ビットとしたい場合の位置と極性の
候補例である。図中にサンプル点番号のないサンプル位
置、つまり4,9,14,19,…,74,79にはパ
ルスを立てない。また、×印の31,47にもパルスを
立てない。図4の構成例に比べると、符号化音の品質と
いう点では劣るけれども、上記、パルスを立てられない
サンプル点はサブフレーム内に分散していたほうがよい
という観点ではよい例である。なお、図4は18ビット
の場合、図5は17ビットの場合であるが、例えば第一
サブフレームは17ビットを固定符号帳に割り当てて図
5の構成を使い、第二サブフレームは18ビットを割り
当てて図4の構成を使うなど、ひとつの符号化の中で異
なった構成が混在していてもよい。FIG. 5 shows an example of position and polarity candidates when it is desired to further reduce one bit per subframe to 17 bits. No pulse is raised at sample positions without sample point numbers in the figure, that is, 4, 9, 14, 19,..., 74, 79. In addition, no pulse is made on the crosses 31 and 47. Although the quality of the coded sound is inferior to that of the configuration example of FIG. 4, it is a good example from the viewpoint that it is better to disperse the sample points where a pulse cannot be formed in a subframe. FIG. 4 shows the case of 18 bits, and FIG. 5 shows the case of 17 bits. For example, the first subframe uses the configuration of FIG. 5 by allocating 17 bits to a fixed codebook, and the second subframe has 18 bits. 4, different configurations may be mixed in one encoding, such as using the configuration of FIG.
【0024】図6に、図5の変形例を示す。図3〜5
は、サンプル点が偶数点か奇数点かによって、パルスの
相対的極性が決まるという特徴があったが、図6では、
偶数サンプル点か奇数サンプル点かではパルスの相対的
極性は決まらない。しかし図3〜5と同様に、パルスが
隣接するサンプル点に並んで立つ場合には、2つのパル
スの極性は必ず反対になり、同じ極性のパルスが隣接し
て立つことがない。したがって、図6のパルスの立て方
も、実際の音声の特性を的確に反映した、有効な指定の
方法である。この方法でさらに都合がよいのは、パルス
1はすべての候補位置で同じ極性をとること、同じくパ
ルス2〜4でも、各パルスはそれぞれのすべての候補位
置で同じ極性をとることで、最適なパルス位置の探索処
理が簡単になるという特徴がある。なお、図6におい
て、図5に×印で示されるような、パルスを立てないサ
ンプル位置を設けてもよい。FIG. 6 shows a modification of FIG. Figures 3-5
Is characterized in that the relative polarity of the pulse is determined depending on whether the sample point is an even or odd point, but in FIG.
The relative polarity of the pulse is not determined by the even sample point or the odd sample point. However, as in FIGS. 3 to 5, when the pulses stand side by side at adjacent sample points, the polarities of the two pulses are always opposite, and pulses of the same polarity do not stand adjacent. Therefore, the method of setting the pulse shown in FIG. 6 is also an effective designation method that accurately reflects the characteristics of the actual voice. A further advantage of this method is that pulse 1 has the same polarity at all the candidate positions, and that pulses 2 to 4 have the same polarity at all the respective candidate positions. There is a feature that the search processing of the pulse position is simplified. In FIG. 6, a sample position at which no pulse is generated may be provided as shown by a cross in FIG.
【0025】図7は、この発明による固定符号帳の別の
機能的構成例で、これまでの構成例では、パルスは+1
か−1のパルスであったが、正負符号帳1〜N(7−1
1〜7−1N)のかわりに、振幅符号帳1〜N(9−1
1〜9−1N)を用い、位置符号によって指定されるパ
ルス位置の各々について、パルスの正負の極性と、パル
スの高さをあらかじめ決めておく方法である。振幅符号
帳9−11〜9−1Nは、位置符号から対応するサンプ
ル点でのパルス振幅値を出力する。例えば、サンプル点
10にパルスが立つ場合にはパルスの高さは+0.6、
サンプル点57にパルスが立つ場合にはパルスの高さは
−0.2といった具合である。図2の構成例は、図7に
おいて、振幅符号帳9−11〜9−1Nが、+1か−1
の値しか持たない場合に相当する。振幅符号帳1〜N
(9−11〜9−1N)の設計は、符号化音の品質がで
きるだけ良くなるように設計する必要があるが、一般
に、実際の音声を符号化した場合に出現頻度の高いパタ
ーンを用意するのがよい。実際の音声データを用いたと
きの駆動音源を、波形表示するなど観察して、出現頻度
の高いパターンを用意するのも良いが、一般化ロイドア
ルゴリズムと呼ばれる方法で、大量の音声データを使っ
て、歪みの総和を最小にする手法を適用することができ
る。一般化ロイドアルゴリズムとは、ある初期振幅符号
帳からスタートして、全音声データを符号化したときの
歪みの総和が最小になるように、振幅符号帳を更新する
方法で、符号化と符号帳の更新を交互に繰り返すことに
よって、徐々に最適な符号帳が形成される。この発明に
この一般化ロイドアルゴリズムを適用する場合の初期符
号帳の決め方として、図3〜図6に示す位置と振幅(+
1か−1)を初期値とするのは、良い代表例である。FIG. 7 shows another example of the functional configuration of the fixed codebook according to the present invention.
Or −1 pulse, but the sign books 1 to N (7-1)
1 to 7-1N), instead of amplitude codebooks 1 to N (9-1)
1 to 9-1N), the positive and negative polarities of the pulse and the pulse height are determined in advance for each pulse position specified by the position code. The amplitude codebooks 9-11 to 9-1N output pulse amplitude values at corresponding sample points from the position code. For example, when a pulse rises at the sample point 10, the pulse height is +0.6,
When a pulse rises at the sample point 57, the pulse height is -0.2. In the configuration example of FIG. 2, the amplitude codebooks 9-11 to 9-1N in FIG.
Is equivalent to having only the value of. Amplitude codebook 1-N
The design of (9-11 to 9-1N) needs to be designed so that the quality of the coded sound is as good as possible. In general, a pattern having a high appearance frequency when an actual voice is coded is prepared. Is good. It is good to observe the driving sound source when using actual audio data, such as displaying a waveform, and prepare a pattern with a high frequency of appearance.However, using a method called the generalized Lloyd algorithm, using a large amount of audio data , A method of minimizing the sum of distortions can be applied. The generalized Lloyd algorithm is a method that starts from a certain initial amplitude codebook and updates the amplitude codebook so that the sum of distortions when encoding all audio data is minimized. Are alternately repeated to form an optimum codebook gradually. When the generalized Lloyd algorithm is applied to the present invention, the initial codebook is determined by the position and amplitude (+
It is a good representative example to set 1 or -1) as the initial value.
【0026】図7において符号反転部8−11〜8−1
Nを省略して、図11に示すように、振幅符号帳9−1
1〜9−1Nの各出力を乗算部5−31〜5−3Nでそ
れぞれ乗算し、これらを加算した後乗算部7−2で正負
符号を乗算してもよい。上述した符号化処理、復号処理
はそれぞれコンピュータによりプログラムを読出し、解
読実行することにより、行わせることもできる。In FIG. 7, sign inverting sections 8-11 to 8-1 are provided.
N is omitted, and as shown in FIG.
The respective outputs of 1 to 9-1N may be multiplied by multipliers 5-31 to 5-3N, respectively, added, and then multiplied by the plus / minus sign by the multiplier 7-2. The above-described encoding processing and decoding processing can be performed by reading a program by a computer and executing the decoding.
【0027】[0027]
【発明の効果】この発明による効果を確認するために、
実際の音声を符号化、復号するためのコンピュータプロ
グラムを作成した。この発明はハードウェアで実現して
もよいし、コンピュータプログラムの形で実現してもよ
いが、簡単に効果を確認できる方法として、今回はコン
ピュータプログラムを用いた。サンプリング周波数は8
kHz、サブフレーム長は10ms(80サンプル)、
1フレームあたり2サブフレーム構成とし、その第一サ
ブフレームに図5の符号帳を用い、第二サブフレームに
図4の符号帳を用い、ビットレートは4kbit/sと
した。上記プログラムに、実際の音声データを入力して
符号化および復号し、再生音の品質を調べたところ、I
TU−T G.726標準方式を用いた場合の品質とほ
ぼ同等の品質を実現することができた。G.726標準
方式のビットレートは32kbit/sであるので、そ
の1/8のビットレートで同等の品質を実現できたこと
になる。符号化に要したCPU時間は、従来のCELP
方式の1/4以下(4倍以上高速)で、少ない演算処理
量で高品質な音声符号化を実現できることが確認され
た。In order to confirm the effects of the present invention,
A computer program for encoding and decoding actual audio was created. The present invention may be realized by hardware or in the form of a computer program, but this time, a computer program was used as a method for easily confirming the effects. The sampling frequency is 8
kHz, subframe length is 10 ms (80 samples),
One frame has a two-subframe configuration, the codebook of FIG. 5 is used for the first subframe, the codebook of FIG. 4 is used for the second subframe, and the bit rate is 4 kbit / s. The actual sound data was input to the above program, encoded and decoded, and the quality of the reproduced sound was examined.
TU-T G. The quality almost equal to the quality in the case of using the 726 standard system could be realized. G. FIG. Since the bit rate of the 726 standard system is 32 kbit / s, equivalent quality can be realized at a bit rate of 1/8. The CPU time required for encoding is the same as the conventional CELP
It has been confirmed that high-quality speech encoding can be realized with less than 1/4 of the system (more than 4 times as fast) and with a small amount of processing.
【図1】この発明による固定符号帳の機能的構成例を示
す図。FIG. 1 is a diagram showing a functional configuration example of a fixed codebook according to the present invention.
【図2】この発明による固定符号帳の機能的構成の変形
例を示す図。FIG. 2 is a diagram showing a modification of the functional configuration of the fixed codebook according to the present invention.
【図3】この発明によるパルス位置と極性の候補例を示
す図。FIG. 3 is a diagram showing pulse position and polarity candidate examples according to the present invention.
【図4】この発明によるパルス位置と極性の候補の他の
例を示す図。FIG. 4 is a diagram showing another example of pulse position and polarity candidates according to the present invention.
【図5】この発明によるパルス位置と極性の候補の更に
他の例を示す図。FIG. 5 is a diagram showing still another example of pulse position and polarity candidates according to the present invention.
【図6】この発明によるパルス位置と極性の候補の更に
他の例を示す図。FIG. 6 is a diagram showing still another example of pulse position and polarity candidates according to the present invention.
【図7】この発明による固定符号帳の機能的構成の更に
他の例を示す図。FIG. 7 is a diagram showing still another example of the functional configuration of the fixed codebook according to the present invention.
【図8】従来の音声符号化方法の機能的構成例を示す
図。FIG. 8 is a diagram showing a functional configuration example of a conventional speech coding method.
【図9】図8中の駆動音源ベクトル生成部1−4の機能
的構成例を示す図。FIG. 9 is a diagram showing a functional configuration example of a driving sound source vector generation unit 1-4 in FIG. 8;
【図10】図8中の合成歪み計算部1−7の機能的構成
例を示す図。FIG. 10 is a diagram showing an example of a functional configuration of a combined distortion calculator 1-7 in FIG. 8;
【図11】CELP型音声復号方法の機能的構成例を示
す図。FIG. 11 is a diagram showing a functional configuration example of a CELP-type speech decoding method.
【図12】ACELPの固定符号帳の機能的構成例を示
す図。FIG. 12 is a diagram showing an example of a functional configuration of a fixed codebook of ACELP.
【図13】従来のパルス位置の候補例を示す図。FIG. 13 is a diagram showing a conventional example of pulse position candidates.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 栗原 祥子 東京都新宿区西新宿三丁目19番2号 日 本電信電話株式会社内 (56)参考文献 特開 平2−282799(JP,A) 特開 平3−177900(JP,A) 特開 平3−245197(JP,A) 特開 平8−54898(JP,A) 特開 平10−97294(JP,A) (58)調査した分野(Int.Cl.6,DB名) G10L 9/14,9/18 H03M 7/30 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Shoko Kurihara 3-19-2 Nishishinjuku, Shinjuku-ku, Tokyo Within Nippon Telegraph and Telephone Corporation (56) References JP-A-2-282799 (JP, A) JP-A-3-177900 (JP, A) JP-A-3-245197 (JP, A) JP-A-8-54898 (JP, A) JP-A-10-97294 (JP, A) (58) Int.Cl. 6 , DB name) G10L 9/14, 9/18 H03M 7/30
Claims (13)
り得られる駆動音源ベクトルにより、合成フィルタを駆
動して音響信号を再生し、 駆動音源ベクトルとして、フレームまたはサブフレーム
と呼ばれる音源ベクトルの量子化単位区間内に2以上の
複数本のパルスを生成し、 入力音響信号と、上記再生された音響信号の間の歪みが
最小または最小に準ずるようにパルスの位置、正負の極
性、振幅を探索して決定する符号化方法において、 フレームまたはサブフレーム内に立てられる、複数パル
ス相互の相対的極性をあらかじめパルスを立てるサンプ
ル位置に依存して決めておき、パルス位置が決められる
と同時にパルスの相対的極性も一意に決まる、 ことを特徴とする音響信号の符号化方法。An audio signal is reproduced by driving a synthesis filter with a driving excitation vector obtained from a time series vector extracted from a codebook, and a quantization unit of an excitation vector called a frame or a subframe is used as a driving excitation vector. Generate two or more pulses in the section, and search for the position, positive / negative polarity, and amplitude of the pulse so that the distortion between the input audio signal and the reproduced audio signal is minimized or conforms to the minimum. In the coding method to be determined, the relative polarity of a plurality of pulses to be set in a frame or subframe is determined in advance depending on the sample position where the pulse is to be set, and the relative polarity of the pulse is determined at the same time when the pulse position is determined. , Which is also uniquely determined.
において、 フレームまたはサブフレーム内の各パルス位置および各
パルスの相対的極性を決めた状態において、フレームま
たはサブフレーム内の全パルスに対して一括して一種類
の正負の符号を指定することにより、各パルスの絶対的
極性を決める、 ことを特徴とする音響信号の符号化方法。2. The method for encoding an audio signal according to claim 1, wherein the position of each pulse in the frame or the sub-frame and the relative polarity of each pulse are determined, and all the pulses in the frame or the sub-frame are determined. A method for encoding an acoustic signal, comprising: determining an absolute polarity of each pulse by designating one kind of positive / negative sign collectively.
号の符号化方法において、 隣接するサンプル点には、同じ極性のパルスが並んで立
たないように、パルス位置に依存する正負符号の符号帳
を用いる、 ことを特徴とする音響信号の符号化方法。3. The audio signal encoding method according to claim 1, wherein a positive or negative sign depending on a pulse position is set so that pulses having the same polarity do not stand side by side at adjacent sample points. A method for encoding an audio signal, comprising using a codebook.
響信号の符号化方法において、 パルスを立てるサンプル位置が、偶数サンプル点か奇数
サンプル点かによってパルスの極性が決められており、
一方がプラスで他方がマイナスになるようにパルス位置
に依存する正負符号の符号帳を用いる、 ことを特徴とする音響信号の符号化方法。4. The encoding method of an acoustic signal according to claim 1, wherein the polarity of the pulse is determined depending on whether the sample position where the pulse is to be formed is an even sample point or an odd sample point. ,
A coding method for an acoustic signal, comprising using a codebook of a positive / negative sign depending on a pulse position so that one is positive and the other is negative.
響信号の符号化方法において、 パルス振幅の絶対値が1である、 ことを特徴とする音響信号の符号化方法。5. The method for encoding an acoustic signal according to claim 1, wherein the absolute value of the pulse amplitude is 1.
響信号の符号化方法において、 各パルス位置におけるパルスの極性と振幅の実数値をあ
らかじめ決めて符号帳に蓄えておき、パルスの位置を決
めると、パルスの極性と振幅が同時に一意に決まること
を特徴とする音響信号の符号化方法。6. The method of encoding an acoustic signal according to claim 1, wherein real values of the polarity and amplitude of the pulse at each pulse position are determined in advance and stored in a codebook. Wherein the polarity and amplitude of the pulse are uniquely determined simultaneously at the same time.
とが入力され、上記線形予測パラメータ符号を合成フィ
ルタ係数に復号し、その合成フィルタ係数を合成フィル
タに設定し、 上記駆動音源符号を駆動音源ベクトルに復号し、その駆
動音源ベクトルで上記合成フィルタを駆動して音響信号
を再生する復号方法において、 上記駆動音源符号から位置符号を復号し、 その位置符号により位置符号帳と、正負符号帳とを参照
して、その位置符号と対応する位置に、それに固有の極
性のパルスを発生させて上記駆動音源ベクトルを生成す
ることを特徴とする音響信号復号方法。7. A linear prediction parameter code and a driving excitation code are input, the linear prediction parameter code is decoded into a synthesis filter coefficient, the synthesis filter coefficient is set in a synthesis filter, and the driving excitation code is set to a driving excitation vector. In the decoding method of reproducing the acoustic signal by driving the synthesis filter with the driving excitation vector, a position code is decoded from the driving excitation code, and a position codebook and a positive / negative codebook are decoded by the position code. A sound signal decoding method comprising: generating a drive excitation vector by generating a pulse having a unique polarity at a position corresponding to the position code.
位置候補としてもち、それぞれ与えられた位置符号に応
じたパルス位置候補を出力する第1乃至第N位置符号帳
と、 上記第1乃至第N位置符号帳と対応してそれぞれ設けら
れ、その対応位置符号帳の各パルス位置候補に対して予
め決められた正負の極性を保持し、上記与えられた位置
符号に応じた正又は負極性を出力する第1乃至第N正負
符号帳と、 上記第1乃至第N位置符号帳より出力される各パルス位
置候補がそれぞれ入力され、そのパルス位置候補の位置
にパルスを発生する第1乃至第Nパルス生成手段と、 上記第1乃至第Nパルス生成手段より出力される各パル
スに対し、それぞれ上記第1乃至第N正負符号帳より出
力された正又は負極性をそれぞれ乗算する第1乃至第N
正負符号乗算手段と、 これら第1乃至第N正負符号乗算数手段の乗算出力を全
て合成する加算手段と、 を具備する音響信号符号化・復号用符号帳。8. A first to N-th position codebook which has a plurality of sample points different from each other as pulse position candidates and outputs pulse position candidates in accordance with respective given position codes; It is provided corresponding to the codebook, holds a predetermined positive / negative polarity for each pulse position candidate of the corresponding position codebook, and outputs positive or negative polarity according to the given position code. First to N-th codebooks, and pulse position candidates output from the first to N-th position codebooks, respectively, and first to N-th pulse generation for generating a pulse at the position of the pulse position candidate Means for multiplying each pulse output from the first to Nth pulse generation means by positive or negative polarity output from the first to Nth positive / negative codebook, respectively.
An audio signal encoding / decoding codebook comprising: a positive / negative sign multiplying means; and an adding means for combining all of the multiplied outputs of the first to Nth positive / negative sign multipliers.
符号を乗算する全符号乗算手段を、備えることを特徴と
する音響信号符号化・復号用符号帳。9. The audio signal encoding / coding apparatus according to claim 8, further comprising: all-code multiplying means for multiplying an output pulse of said adding means by a given positive or negative sign. Codebook for decoding.
ス位置候補としてもち、それぞれ与えられた位置符号に
応じたパルス位置候補を出力する第1乃至第N位置符号
帳と、 上記第1乃至第N位置符号帳とそれぞれ対応して設けら
れ、その対応位置符号帳の各パルス位置候補に対して予
め決められたパルスに対する正負の極性を保持し、上記
与えられた位置符号に応じた正又は負極性を出力する第
1乃至第N正負符号帳と、 上記第1乃至第N正負符号帳の出力正又は負極性を、与
えられた共通の正負符号に応じて符号反転を行い、又は
行なうことなく出力する第1乃至第N符号反転手段と、 上記第1乃至第N位置符号帳より出力された各パルス位
置候補がそれぞれ入力され、そのパルス位置候補の位置
にパルスを発生する第1乃至第Nパルス生成手段と、 上記第1乃至第Nパルス生成手段より出力される各パル
スに対し、それぞれ上記第1乃至第N符号反転手段より
出力される正又は負極性を乗算する第1乃至第N正負符
号乗算手段と、 これら第1乃至第N正負符号乗算手段の乗算出力を全て
合成する加算手段と、 を具備する音響信号符号化・復号用符号帳。10. A first to Nth position codebook which has a plurality of sample points different from each other as pulse position candidates and outputs pulse position candidates corresponding to given position codes, respectively, and said first to Nth position codebooks. The code book is provided in correspondence with each other, and holds a positive or negative polarity for a predetermined pulse for each pulse position candidate of the corresponding position code book, and sets a positive or negative polarity according to the given position code. The first to Nth sign books to be output and the output positive or negative polarity of the first to Nth sign books are output with or without performing sign inversion according to a given common sign. First to N-th sign inverting means; and first to N-th pulses each receiving a pulse position candidate output from the first to N-th position codebooks and generating a pulse at the position of the pulse position candidate. Generating means; and first to N-th positive / negative signs for multiplying each of the pulses output from the first to N-th pulse generating means by positive or negative polarity output from the first to N-th sign inverting means, respectively. An audio signal encoding / decoding codebook, comprising: a multiplying unit; and an adding unit that combines all of the multiplied outputs of the first to N-th sign multiplying units.
ス位置候補としてもち、それぞれ与えられた位置符号に
応じた位置候補を出力する第1乃至第N位置符号帳と、 上記第1乃至第N位置符号帳とそれぞれ対応して設けら
れ、その対応位置符号帳の各パルス位置候補に対して予
め決められた正負の極性を含む振幅値を保持し、上記与
えられた位置符号に応じてその極性を含む振幅値を出力
する第1乃至第N振幅符号帳と、 上記第1乃至第N位置符号帳より出力された各パルス位
置候補がそれぞれ入力され、そのパルス位置候補の位置
にパルスを発生する第1乃至第Nパルス生成手段と、 これら第1乃至第Nパルス生成手段より出力されるパル
スに対し、第1乃至第N振幅符号帳よりの極性を含む振
幅値と、全体に対し共通の正負符号をそれぞれ乗算する
と共にその全ての乗算結果を合成して出力する手段と、 を具備する音響信号符号化・復号用符号帳。11. A first to N-th position codebook which has a plurality of sample points different from each other as pulse position candidates and outputs position candidates corresponding to given position codes, respectively, and said first to N-th position codes. Each of the pulse position candidates of the corresponding position codebook is provided with an amplitude value including predetermined positive and negative polarities, and includes the polarity according to the given position code. First to Nth amplitude codebooks for outputting amplitude values, and respective pulse position candidates output from the first to Nth position codebooks, respectively, are inputted, and a first pulse for generating a pulse at the position of the pulse position candidate is input. To the N-th pulse generation means, and for the pulses output from the first to N-th pulse generation means, an amplitude value including the polarity from the first to N-th amplitude codebooks and a common positive / negative sign for the whole. It Means for multiplying each and synthesizing all the multiplication results and outputting the result.
特性を表す線形予測パラメータを求める処理と、 上記線形予測パラメータを符号化して線形予測パラメー
タ符号を求める処理と、 上記線形予測パラメータ符号を復号して合成フィルタ係
数を求めて合成フィルタに設定する処理と、 位置符号により位置符号帳と正負符号帳を読出して複数
の駆動音源パルスを生成する処理と、 上記駆動音源パルスにより上記合成フィルタを駆動して
音響信号を合成する処理と、 上記合成された音響信号の上記入力音響信号に対する歪
みを求める処理と、 上記歪みが最小になるように上記位置符号を探索して駆
動音源符号を決定する処理と、 上記線形予測パラメータ符号と上記駆動音源符号を符号
化出力として出力する処理と、 をコンピュータにより行わせるプログラムを記録した記
録媒体。12. A process for obtaining a linear prediction parameter representing a frequency spectrum envelope characteristic of an input audio signal; a process for encoding the linear prediction parameter to obtain a linear prediction parameter code; and decoding and combining the linear prediction parameter code. A process of obtaining a filter coefficient and setting the same in a synthesis filter; a process of reading out a position codebook and a positive / negative codebook by a position code to generate a plurality of drive excitation pulses; A process of synthesizing signals, a process of obtaining distortion of the synthesized audio signal with respect to the input audio signal, a process of searching for the position code so as to minimize the distortion and determining a driving excitation code, Outputting a linear prediction parameter code and the driving excitation code as encoded output by a computer. A recording medium recording a program to.
復号して合成フィルタ係数を求め、その合成フィルタ係
数を合成フィルタに設定する処理と、 駆動音源符号を復号して位置符号を得る処理と、 上記位置符号で位置符号帳と正負符号帳を読出して複数
の駆動音源パルスを生成する処理と、 上記駆動音源パルスにより上記合成フィルタを駆動して
音響信号を合成する処理と、 をコンピュータにより行わせるプログラムとを記録した
記録媒体。13. A process of decoding an input linear prediction parameter code to obtain a synthesis filter coefficient and setting the synthesis filter coefficient in a synthesis filter; a process of decoding a driving excitation code to obtain a position code; A program for performing, by a computer, a process of reading a position codebook and a positive / negative codebook with a position code to generate a plurality of drive excitation pulses, and a process of driving the synthesis filter by the drive excitation pulses to synthesize an acoustic signal. And a recording medium on which is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10101062A JP2943983B1 (en) | 1998-04-13 | 1998-04-13 | Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10101062A JP2943983B1 (en) | 1998-04-13 | 1998-04-13 | Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2943983B1 true JP2943983B1 (en) | 1999-08-30 |
JPH11296195A JPH11296195A (en) | 1999-10-29 |
Family
ID=14290636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10101062A Expired - Fee Related JP2943983B1 (en) | 1998-04-13 | 1998-04-13 | Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2943983B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001866A1 (en) * | 2006-06-29 | 2008-01-03 | Panasonic Corporation | Voice encoding device and voice encoding method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3582589B2 (en) * | 2001-03-07 | 2004-10-27 | 日本電気株式会社 | Speech coding apparatus and speech decoding apparatus |
EP2827327B1 (en) | 2007-04-29 | 2020-07-29 | Huawei Technologies Co., Ltd. | Method for Excitation Pulse Coding |
CN102299760B (en) | 2010-06-24 | 2014-03-12 | 华为技术有限公司 | Pulse coding and decoding method and pulse codec |
-
1998
- 1998-04-13 JP JP10101062A patent/JP2943983B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001866A1 (en) * | 2006-06-29 | 2008-01-03 | Panasonic Corporation | Voice encoding device and voice encoding method |
Also Published As
Publication number | Publication date |
---|---|
JPH11296195A (en) | 1999-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3346765B2 (en) | Audio decoding method and audio decoding device | |
CA2430111C (en) | Speech parameter coding and decoding methods, coder and decoder, and programs, and speech coding and decoding methods, coder and decoder, and programs | |
JP3094908B2 (en) | Audio coding device | |
JP3196595B2 (en) | Audio coding device | |
JPH09160596A (en) | Voice coding device | |
JP2002268686A (en) | Voice coder and voice decoder | |
JPH0944195A (en) | Voice encoding device | |
JP2943983B1 (en) | Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor | |
JP3095133B2 (en) | Acoustic signal coding method | |
JP3353852B2 (en) | Audio encoding method | |
JPH04344699A (en) | Voice encoding and decoding method | |
JP3285185B2 (en) | Acoustic signal coding method | |
JP2538450B2 (en) | Speech excitation signal encoding / decoding method | |
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 | |
JP3144284B2 (en) | Audio coding device | |
JP3299099B2 (en) | Audio coding device | |
JP2001318698A (en) | Voice coder and voice decoder | |
JP2947788B1 (en) | High-speed encoding method and apparatus for speech and audio signals and recording medium | |
JP3192051B2 (en) | Audio coding device | |
JP3515216B2 (en) | Audio coding device | |
JPH02282800A (en) | Sound encoding system | |
JPH08320700A (en) | Sound coding device | |
JP3103108B2 (en) | Audio coding device | |
JPH0511799A (en) | Voice coding system | |
JPH08185198A (en) | Code excitation linear predictive voice coding method and its decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |