JP3045197B2 - Codebook design method for vector quantizer - Google Patents
Codebook design method for vector quantizerInfo
- Publication number
- JP3045197B2 JP3045197B2 JP3188956A JP18895691A JP3045197B2 JP 3045197 B2 JP3045197 B2 JP 3045197B2 JP 3188956 A JP3188956 A JP 3188956A JP 18895691 A JP18895691 A JP 18895691A JP 3045197 B2 JP3045197 B2 JP 3045197B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- codebook
- representative
- learning
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、音声または画像信号を
符号化するためのベクトル量子化器を設計する方法に関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for designing a vector quantizer for coding an audio or video signal.
【0002】[0002]
【従来の技術】音声信号や画像信号を符号化するための
高能率な量子化法のひとつとして、ベクトル量子化やマ
トリクス量子化(以後、これらをベクトル量子化という
言葉で代表させる)が知られている。ベクトル量子化に
おいては、与えられたビット数に応じて、符号帳と呼ば
れる部分に代表ベクトルパターンを蓄えておくが、この
代表パターンをどのように決めるかによって量子化器の
性能が左右される。2. Description of the Related Art As one of high-efficiency quantization methods for encoding audio signals and image signals, vector quantization and matrix quantization (hereinafter, these are represented by the term vector quantization) are known. ing. In vector quantization, a representative vector pattern is stored in a portion called a codebook according to a given number of bits. The performance of a quantizer depends on how this representative pattern is determined.
【0003】ベクトル量子化における符号帳の設計手法
としてLBGアルゴリズムが知られている。この手法は
ベクトル量子化すべきベクトル空間の分布をよく表すよ
うな分布を持つ学習用ベクトルデータ系列を用意し、こ
れらの学習用データを量子化したときの歪みの総和を極
小にするように符号帳を設計する手法である。An LBG algorithm is known as a codebook design technique in vector quantization. This method prepares a training vector data series having a distribution that well represents the distribution of the vector space to be vector-quantized, and uses a codebook to minimize the sum of distortion when quantizing these learning data. Is a method of designing
【0004】LBGアルゴリズムは、代表ベクトルの初
期数を1とし、最適な代表ベクトルを求める操作と代表
ベクトルの数を2倍に増加させる操作を交互に行って、
目的とする数の代表ベクトルを得る。The LBG algorithm sets the initial number of representative vectors to one, and alternately performs an operation for obtaining an optimal representative vector and an operation for increasing the number of representative vectors by a factor of two.
Obtain the desired number of representative vectors.
【0005】最適な代表ベクトルを求める操作は、まず
学習用データがどの代表ベクトルに帰属するかを更新す
る処理を行い、その帰属状態において、歪みの総和が極
小となるように、代表ベクトルを更新する。上記帰属更
新処理と、代表ベクトルの更新処理を収束するまで交互
に繰り返し行うことにより、代表ベクトルは次第に最適
なものに近づいていく。この操作は Lloyd-Maxまたはk
平均アルゴリズムと呼ばれる。[0005] In the operation for obtaining the optimum representative vector, first, a process of updating which representative vector the learning data belongs to is performed, and the representative vector is updated so that the total sum of the distortion is minimized in the belonging state. I do. The representative vector gradually approaches an optimal one by repeatedly performing the above-described belonging update process and the representative vector update process alternately until convergence. This operation is Lloyd-Max or k
Called the averaging algorithm.
【0006】LBGアルゴリズムは、学習ベクトルの集
合をいくつかの部分集合に分割する操作を意味し、上記
部分集合をクラスタ、分割操作をクラスタリングと呼
ぶ。LBGアルゴリズムの詳細は文献 Y.Linde.A.Buzo.
R.M.Gray著”An Algorithm forVector Quantizer Desig
n”.IEEE Trans.Commun.COM-28 p.p.84-95,1980 に記
載されている。The LBG algorithm means an operation of dividing a set of learning vectors into several subsets. The above subset is called a cluster, and the division operation is called clustering. For details of the LBG algorithm, refer to the document Y. Linde. A. Buzo.
"An Algorithm for Vector Quantizer Desig" by RMGray
n ”.IEEE Trans.Commun.COM-28 pp84-95,1980.
【0007】[0007]
【発明が解決しようとする課題】ベクトル量子化では、
代表ベクトルと実際に伝送される符号との間に何等関係
がないため、伝送路において符号誤りが生じると著しく
品質劣化が生じることが指摘されている。In the vector quantization,
It has been pointed out that there is no relationship between the representative vector and the code actually transmitted, so that if a code error occurs in the transmission path, the quality is significantly degraded.
【0008】この問題を解決する一手法として、上記L
BGアルゴリズムの歪み尺度に、符号誤りを考慮した尺
度を用い、この尺度の総和が最小になるように学習すれ
ば、符号誤りが生じても被害が比較的少ないと報告され
ている。As one method for solving this problem, the above L
It is reported that if a measure taking into account a code error is used as a distortion measure of the BG algorithm and learning is performed so that the total sum of the measures is minimized, even if a code error occurs, damage is relatively small.
【0009】文献:熊沢、笠原、滑川 「通信路誤りを考慮したベクトル量子化器の構成」電子
通信学会論文誌 Vol.J67-B No.1 1984 しかし実際には、上記手法によっても、”最適”な解は
得られず、局所最小解に陥って期待したほどに符号誤り
に強い構造に設計できない。この理由は、LBGアルゴ
リズムが除々に最適解に近づける漸近的な手法であるた
め、容易に局所最小解に陥り、いったん陥るとそこから
抜け出す手段を有しないからである。References: Kumazawa, Kasahara, Namerikawa "Construction of Vector Quantizer Considering Channel Error" Transactions of the Institute of Electronics, Information and Communication Engineers, Vol.J67-B No.1 1984 ”, And cannot be designed to have a structure that is as resistant to code errors as expected due to falling into a local minimum solution. The reason is that since the LBG algorithm is an asymptotic method of gradually approaching the optimal solution, it easily falls into the local minimum solution, and once it falls, there is no means to escape from it.
【0010】本発明は、上記に鑑みてなされたもので、
その目的とするところは、符号誤りに強く、より高性能
な符号帳を設計し得るベクトル量子化器の符号帳設計方
法を提供することにある。[0010] The present invention has been made in view of the above,
It is an object of the present invention to provide a codebook designing method for a vector quantizer which is resistant to code errors and can design a higher-performance codebook.
【0011】[0011]
【課題を解決するための手段】上記目的を達成するた
め、本発明のベクトル量子化器の符号帳設計方法は、学
習用データを用いてベクトル量子化器の最適符号帳を設
計するベクトル量子化器の符号帳設計方法であって、学
習ベクトルを量子化して符号誤りのある伝送路を伝送す
ると仮定した場合に符号誤りをも考慮して各学習ベクト
ルを符号帳の中のそれぞれどの代表ベクトルに帰属させ
るかを更新し、前記仮定のもとにおける学習ベクトルと
受信側の再生ベクトルとの歪みの平均値の総和の極小化
に基づいて代表ベクトルを更新し、前記仮定のもとにお
いて受信側の再生ベクトルと学習ベクトルとの歪みの平
均値を反映する符号帳の評価関数を小さくするように符
号帳インデックスの付け換えを行う、上記処理を交互に
繰り返し用いることにより符号誤りのある場合の最適な
符号帳を設計することを要旨とする。In order to achieve the above object, a codebook designing method for a vector quantizer according to the present invention is directed to a vector quantization for designing an optimal codebook for a vector quantizer using learning data. A codebook design method for a device, in which it is assumed that a learning vector is quantized and transmitted on a transmission path having a code error. Update the representative vector based on the minimization of the sum of the average values of the distortions of the learning vector and the reproduction vector on the receiving side under the assumption, and update the representative vector on the receiving side under the assumption. The codebook index is changed so that the evaluation function of the codebook that reflects the average value of the distortion between the reproduction vector and the learning vector is reduced. The above process is used alternately and repeatedly. And gist to design the optimal codebook when a more code error.
【0012】また、本発明では、より”最適”に近い
解、即ちより符号誤りに強い符号帳を得るために、前述
のLBGアルゴリズムにインデックス付けかえ操作を導
入する。インデックス付けかえ操作は、LBGアルゴリ
ズムにおいて、上記局所最小解から抜け出し、「真」の
解に近づける手段を与える。言い換えると、インデック
ス付けかえ操作は、ダイナミックに状態を変える働きを
する。Further, in the present invention, in order to obtain a solution that is closer to "optimum", that is, a codebook that is more resistant to code errors, an indexing operation is introduced into the above-mentioned LBG algorithm. The indexing change operation provides a means for the LBG algorithm to get out of the local minimum solution and approach a “true” solution. In other words, the reindexing operation serves to change state dynamically.
【0013】LBGアルゴリズムにおいて、既に代表ベ
クトル(クラスタ)数Ni の符号帳が得られていると仮
定する。もし、Ni が目的とする数に達していれば、処
理を終了する。達していない場合には各クラスタの分割
操作を行う。It is assumed that, in the LBG algorithm, a codebook having the number of representative vectors (clusters) N i has already been obtained. If, N i is if reach several of interest, the process ends. If it has not reached, the division operation of each cluster is performed.
【0014】次に、分割された各クラスタの代表ベクト
ルを初期値として、各学習データの帰属更新処理と、代
表ベクトルの更新処理を収束するまで交互に繰り返し行
う(Lloyd-Max アルゴリズム)。このときの歪み尺度に
は、符号誤りを考慮した尺度を用いる。上記処理が収束
すると、それ以上続けても歪みの総和は小さくならな
い。Next, using the representative vector of each of the divided clusters as an initial value, the process of belonging update of each learning data and the process of updating the representative vector are alternately repeated until convergence (Lloyd-Max algorithm). At this time, a scale in which a code error is considered is used as the distortion scale. When the above process converges, the sum of the distortions does not decrease even if the process continues further.
【0015】ここで、符号帳インデックスの付けかえ操
作を行う。符号誤りを考慮した歪み尺度とは、例えば、
符号誤りがある伝送路を伝送したと仮定した場合の、受
信側における歪みの平均値を表す。従って、前記 Lloyd
-Maxアルゴリズムによっては、もはや歪みの総和を小さ
くできない場合でも、インデックスの付けかえ操作、例
えば任意の2つのインデックスの交換によって、歪みの
総和を小さくすることができる。一例として、任意の2
つのインデックスを交換して、符号誤りを考慮した歪み
の総和が小さくなれば交換し、小さくならなければ別の
インデックスの組を交換してみる。この操作を繰り返し
行い、どのインデックスの組を交換しても歪みの総和が
小さくならないようになるまで続ける。ここで、インデ
ックスの交換は、2つの間で交換してもよいし、3つ以
上で交換してもよい。Here, a codebook index change operation is performed. The distortion measure considering the code error is, for example,
It represents the average value of distortion on the receiving side when it is assumed that a transmission path having a code error is transmitted. Therefore, the Lloyd
Even if the sum of the distortions can no longer be reduced by the -Max algorithm, the sum of the distortions can be reduced by an indexing operation, for example, by exchanging any two indexes. As an example, any 2
One index is exchanged, and if the total sum of distortions taking account of the code error becomes smaller, exchange is performed, and if not, another set of indexes is exchanged. This operation is repeated until the sum of the distortions does not become small even when any index set is exchanged. Here, the exchange of the index may be exchanged between two or three or more.
【0016】この後のクラスタの分割操作に戻っても良
いが、インデックスの付けかえ操作によって、 Lloyd-M
axの局所最小解を抜け出していると考えられるので、再
度 Lloyd-Max、即ち、各学習データの帰属更新処理と、
代表ベクトルの更新処理を収束するまで交互に繰り返し
行う。Although it is possible to return to the subsequent cluster dividing operation, the Lloyd-M
Since it is considered to have escaped from the local minimum solution of ax, Lloyd-Max, that is, belonging update processing of each learning data again,
The process of updating the representative vector is repeated alternately until convergence.
【0017】この後、クラスタの分割操作に戻る。クラ
スタの分割処理と、上記歪み最小化操作を繰り返し、目
的とする数の代表ベクトルが得られた時点で終了する。Thereafter, the operation returns to the cluster dividing operation. The process of dividing the cluster and the above-described distortion minimizing operation are repeated, and the process ends when a desired number of representative vectors are obtained.
【0018】[0018]
【作用】本発明のベクトル量子化器の符号帳設計方法で
は、学習ベクトルを量子化して符号誤りのある伝送路を
伝送すると仮定した場合に符号誤りをも考慮して各学習
ベクトルを符号帳の中のそれぞれどの代表ベクトルに帰
属させるかを更新し、この仮定のもとで学習ベクトルと
受信側の再生ベクトルとの歪みの平均値の総和の極小化
に基づいて代表ベクトルを更新し、受信側の再生ベクト
ルと学習ベクトルとの歪みの平均値を反映する符号帳の
評価関数を小さくするように符号帳インデックスの付け
換えを行い、上記処理を交互に繰り返し用いることによ
り符号誤りのある場合の最適な符号帳を設計している。According to the codebook designing method of the vector quantizer of the present invention, when it is assumed that a learning vector is quantized and transmitted on a transmission path having a code error, each learning vector is converted into a codebook in consideration of a code error. The representative vector is updated based on the minimization of the sum of the average values of the distortion between the learning vector and the reproduction vector on the receiving side under this assumption. The codebook index is changed so as to reduce the evaluation function of the codebook that reflects the average value of the distortion between the reproduced vector and the learning vector, and the above process is used alternately to optimize the case where there is a code error. Codebook is designed.
【0019】既に報告されているLBGアルゴリズムに
誤りを考慮した歪み尺度を導入しただけでは、局所最小
解に陥って、十分に符号誤りに強い符号帳を設計できな
いことが多いが、本発明の手法を用いることによって局
所最小解に陥る危険を減らし、より高性能な符号帳を設
計することができる。The introduction of a distortion measure taking account of errors into the already reported LBG algorithm often results in a local minimum solution, making it impossible to design a codebook sufficiently resistant to code errors. By using, the risk of falling into a local minimum solution can be reduced and a higher performance codebook can be designed.
【0020】また、インデックス付けかえ操作は、符号
誤りを考慮した距離尺度を用いたLBG法で、最終的に
できあがった目的数の代表ベクトルを持つ符号帳に対し
て1回だけ適用することもでき、一見この方が計算量が
少なくて済むように思われる。しかし実際には、このよ
うなインデックス付けかえ操作の最適化は非常に難し
い。なぜなら、インデックス付けかえ操作そのものが、
容易に局所最小解に陥ってしまうからである。従って、
本発明に比べてはるかに多くの計算時間を費やしても、
LBG法によって作成した符号帳に比べ、ほとんど性能
は向上しない。The index remapping operation can also be applied only once to a codebook having a final target number of representative vectors by the LBG method using a distance scale considering a code error. At first glance, this seems to require less computation. However, in practice, it is very difficult to optimize such an indexing remapping operation. Because the index change operation itself,
This is because it easily falls into the local minimum solution. Therefore,
Even if you spend much more computation time compared to the present invention,
The performance is hardly improved as compared with the codebook created by the LBG method.
【0021】一方、本発明による方法では、LBG法と
インデックス付けかえ操作が相互に影響しあい、わずか
な計算量の増加で、容易に最適に近い状態へと導くこと
ができる。On the other hand, in the method according to the present invention, the LBG method and the index changing operation interact with each other, and a slight increase in the amount of calculation can easily lead to a state near the optimum.
【0022】[0022]
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は本発明によって設計した符号帳を用い
た、ベクトル量子化法の構成例を示したものである。送
信側では、符号帳1に蓄えられたM個の代表ベクトルc
(r)と入力ベクトルxとの歪みを歪み算出部2で算出
し、歪みが最小となるインデックスrを歪み判定部3で
判定し、符号化部4で符号化して伝送する。一方、受信
側では、符号化されて伝送されてくるインデックスrを
復号化部5で受信して、インデックスr’として復号化
し、符号帳6を介して対応する代表ベクトルをc
(r’)として出力する。ここで、伝送路に符号誤りが
ない、すなわちr=r’ならば問題はないが、例えば無
線通信のように品質の悪い伝送路の場合には、符号rの
うちの1ないし2ビットが反転して検波されることも少
なくない。そこで、仮にrの1ないし2ビットが反転し
てもc(r)とc(r’)の間に大きな差が生じないよ
うに符号帳を設計すれば、符号誤りによる品質の劣化を
最小限に抑えることができる。An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration example of a vector quantization method using a codebook designed according to the present invention. On the transmitting side, the M representative vectors c stored in the codebook 1
The distortion between (r) and the input vector x is calculated by the distortion calculation unit 2, the index r that minimizes the distortion is determined by the distortion determination unit 3, and the encoding unit 4 encodes and transmits. On the other hand, on the receiving side, the decoding unit 5 receives the coded and transmitted index r, decodes it as the index r ′, and sets the corresponding representative vector via the codebook 6 to c.
(R '). Here, if there is no code error in the transmission path, that is, there is no problem if r = r ′, but in the case of a transmission path of poor quality such as wireless communication, one or two bits of the code r are inverted. Is often detected. Therefore, if the codebook is designed such that a large difference does not occur between c (r) and c (r ') even if 1 or 2 bits of r are inverted, deterioration of quality due to code errors is minimized. Can be suppressed.
【0023】図2及び図3は、上記のように、符号誤り
が生じても品質劣化が少ないという観点で高性能な符号
帳の設計法の一例の概略をフローチャートで示したもの
である。これに先立ち、学習用のデータを用意する。学
習用データは、実際の符号化において符号化されるべき
データが分布する空間を有限のデータ系列で効果的に表
すように選択するのがよい。一般的には、学習データの
数は多いほうがよい。学習用データの分布が実際に符号
化されるデータの分布に比べて著しい偏りがある場合に
は、本発明によって設計した符号帳の性能が低下するこ
とになる。FIGS. 2 and 3 are flowcharts showing an outline of an example of a method for designing a high-performance codebook in view of the fact that quality degradation is small even if a code error occurs, as described above. Prior to this, data for learning is prepared. The learning data is preferably selected so that the space in which the data to be encoded in the actual encoding is distributed is effectively represented by a finite data sequence. Generally, the number of learning data should be large. If the distribution of the training data is significantly biased compared to the distribution of the data to be actually coded, the performance of the codebook designed according to the present invention will decrease.
【0024】用意した学習用ベクトルデータ系列を {xi }, i=1,2,・・・,N とする。図2においてMはクラスタ、すなわち代表ベク
トルの数を表す。初期値としてMをMo に設定する(ス
テップ110)。通常Mo は1に設定すると非常に都合
がよいが、必ずしも1にする必要はない。次に、代表ベ
クトルの初期値を決定する(ステップ120)。Mo =
1の場合には任意の値に設定してよい。なぜなら、Mo
のときの代表ベクトルの初期値は全く意味を持たないか
らである。なお、Mo ≠1のときには、適当な初期値を
設定しなければならない。一例として、適当に学習ベク
トルの中からピックアップして初期値とする方法があ
る。次に、ループカウンタ Repを0にリセットする(ス
テップ130)。次にステップ120で決定された代表
ベクトルを初期値として、誤りを考慮した歪み尺度によ
る Lloyd-Maxアルゴリズムにより、代表ベクトルを更新
する(ステップ140)。ステップ140の更新操作の
詳細を図4に示す。さらに図4における学習データの帰
属更新処理(ステップ310)の詳細を図5に示す。い
ま、M個の代表ベクトルが決まっているとする。これら
を {cj }, j=1,2,・・・,M とする。学習データの帰属更新では、N個の学習用デー
タが、それぞれどの代表ベクトルに帰属するかを決定す
る。図5において、第i番目の学習データと第j番目の
代表ベクトルとの符号誤りを考慮した歪み尺度 d(xi ,cj ) を計算する(ステップ440)。Let the prepared learning vector data series be {x i }, i = 1, 2,..., N. In FIG. 2, M represents a cluster, that is, the number of representative vectors. M is set to Mo as an initial value (step 110). Normally M o good is very convenient to set to 1, it does not necessarily have to be in one. Next, the initial value of the representative vector is determined (step 120). Mo =
In the case of 1, an arbitrary value may be set. Because Mo
In this case, the initial value of the representative vector has no meaning at all. When M o ≠ 1, an appropriate initial value must be set. As an example, there is a method of appropriately picking up from learning vectors and setting them as initial values. Next, the loop counter Rep is reset to 0 (step 130). Next, using the representative vector determined in step 120 as an initial value, the representative vector is updated by the Lloyd-Max algorithm using a distortion measure taking error into account (step 140). FIG. 4 shows details of the update operation in step 140. FIG. 5 shows details of the learning data belonging update process (step 310) in FIG. Now, it is assumed that M representative vectors have been determined. These are {c j }, j = 1, 2,..., M. In the update of belonging of learning data, it is determined which representative vector each of the N pieces of learning data belongs to. In FIG. 5, a distortion measure d (x i , c j ) is calculated in consideration of a code error between the i-th learning data and the j-th representative vector (step 440).
【0025】上記歪み尺度は次のように定義される。符
号jを伝送したときに受信側で符号kが受信される確率
を p(k|j) と表す。p(k|j)を簡易的に計算する一例として、
通信路をランダムな二元対象通信路を仮定し、符号のビ
ット数をn、符号kと符号jとの間のハミング距離を
h、伝送路のランダムビット誤り率をeとすると、 p(k|j)=eh (1−e)n-h としてもよい。また、バースト誤りなど、ランダム誤り
とは異なった特性の誤りが生じる可能性がある場合に
は、p(k|j)として、それらを考慮した誤り確率を
用いてもよい。さらに、伝送するための符号化に誤り訂
正符号を併用したときには、誤り訂正符号を併用したと
きの誤り確率を用いればよく、誤り検出符号を併用した
場合には、受信側で誤りを検出し、修復処理をした後の
誤り確率を用いればよい。また、実際の確率よりも多少
誤り率を大きく見積もっても学習することにより、信頼
性を高めることもできる。The above distortion measure is defined as follows. The probability that the code k is received on the receiving side when the code j is transmitted is represented as p (k | j). As an example of simply calculating p (k | j),
Assuming that the channel is a random binary target channel, the number of code bits is n, the Hamming distance between code k and code j is h, and the random bit error rate of the transmission channel is e, p (k | J) = e h (1-e) nh . When there is a possibility that an error having a characteristic different from that of a random error such as a burst error may occur, an error probability considering them may be used as p (k | j). Furthermore, when an error correction code is used in combination for encoding for transmission, an error probability when the error correction code is used may be used.When an error detection code is used, an error is detected on the receiving side. The error probability after the restoration processing may be used. Further, even if the error rate is slightly larger than the actual probability, learning can improve the reliability.
【0026】2つのベクトルxi とcj との間の距離を
表す尺度を dv (xi ,cj ) で表すと、When a measure representing the distance between two vectors x i and c j is represented by d v (x i , c j ),
【0027】[0027]
【数1】 (Equation 1)
【0028】と定義する。これは符号誤りが生じたとき
の、受信側における dv (xi ,cj ) の期待値を表す。なお、dv (xi ,cj )の定義のし
かたは任意であるが、一般にはユークリッド距離や重み
付きユークリッド距離が用いられる。xi ,cj をそれ
ぞれ xi =(xi1,xi2,xi3,・・・,xip) cj =(cj1,cj2,cj3,・・・,cjp) で表すと、重み付きユークリッド距離はIs defined as This represents when a code error has occurred, the expected value of d v (x i, c j ) at the receiver. The definition of d v (x i , c j ) is arbitrary, but generally a Euclidean distance or a weighted Euclidean distance is used. x i and c j are represented by x i = (x i1 , x i2 , x i3 ,..., x ip ) c j = (c j1 , c j2 , c j3 ,..., c jp ), respectively. , The weighted Euclidean distance is
【0029】[0029]
【数2】 (Equation 2)
【0030】で表される。重みのないユークリッドの場
合には、 wir=1.0 とすればよい。これらの距離を用いた場合には、上記d
(xi ,dj )の計算を高速に実現できることが知られ
ている。すなわち、## EQU2 ## In the case of Euclidean with no weight, it is sufficient to set w ir = 1.0. When these distances are used, d
It is known that the calculation of (x i , d j ) can be realized at high speed. That is,
【0031】[0031]
【数3】 (Equation 3)
【0032】であるから、Therefore,
【0033】[0033]
【数4】 (Equation 4)
【0034】とおくことにより、yjr,ajrは入力に関
係なく、量子化器の初期化時に一度計算すればよく、Accordingly, y jr and a jr need only be calculated once when the quantizer is initialized, regardless of the input.
【0035】[0035]
【数5】 (Equation 5)
【0036】となって、計算を簡略化できる。なお、符
号帳を探索する尺度としては、上式において、xir 2 も
計算する必要がない。Thus, the calculation can be simplified. Note that, as a scale for searching the codebook, it is not necessary to calculate x ir 2 in the above equation.
【0037】上記d(xi ,cj )をjが1からMまで
計算し、最もd(xi ,cj )が小さくなった代表ベク
トルに、学習用の第i番目のデータを帰属させる。第i
番目のデータが第j番目の代表ベクトルに帰属すること
を Be(i)=j で表す。The above d (x i , c j ) is calculated from j to 1 to M, and the i-th data for learning is assigned to the representative vector having the smallest d (x i , c j ). . I-th
Be (i) = j indicates that the data number belongs to the j-th representative vector.
【0038】上記操作をすべてのiについて実行し、各
学習用データをどの代表ベクトルに帰属させるかを決定
する。The above operation is performed for all i, and it is determined which representative vector each learning data is to be assigned to.
【0039】次に、図4に戻り、歪みの総和Dを算出す
る(ステップ320)。歪みの総和Dは次のように定義
される。Next, returning to FIG. 4, the total sum D of distortion is calculated (step 320). The sum of distortions D is defined as follows.
【0040】[0040]
【数6】 (Equation 6)
【0041】またはOr
【0042】[0042]
【数7】 (Equation 7)
【0043】上記2つの式は等価である。なお、上式2
つめのΣはBe(i)=jを満たすiについての和を表
す。上式で求めたDがあらかじめ決められたしきい値よ
りも小さくなれば、ここで処理を終了し、小さくなけれ
ばステップ310で更新した学習データの帰属に対して
代表ベクトルが最適なものとなるように更新する。The above two equations are equivalent. Note that the above equation 2
The second Σ represents the sum of i satisfying Be (i) = j. If D obtained by the above equation is smaller than a predetermined threshold value, the process is terminated here. If not, the representative vector becomes optimal for belonging of the learning data updated in step 310. Update as follows.
【0044】代表ベクトル更新のための式は、ベクトル
間距離の定義式dv(xi ,cj )によって異なる。前
述のように、重み付きユークリッド距離を用いると、新
代表ベクトル c’j =(c’j1,c’j2,c’j3,・・・,c’jp) は、The expression for updating the representative vector differs depending on the definition expression d v (x i , c j ) of the distance between the vectors. As described above, using the weighted Euclidean distance, the new representative vector c ′ j = (c ′ j1 , c ′ j2 , c ′ j3 ,..., C ′ jp )
【0045】[0045]
【数8】 (Equation 8)
【0046】となる。なお、本式は上記(*1)式をc
jrで偏微分したものを0とおくことにより導出され、D
が極小となるcjrを示す。この新代表ベクトルを用い
て、再びステップ310に戻り、学習データの帰属更新
処理を行う。Is as follows. Note that this equation is obtained by converting the above equation (* 1) to c.
It is derived by setting the value of partial differentiation with jr to 0, and D
Indicates the minimum value of c jr . Using this new representative vector, the process returns to step 310 again, and the process of updating the belonging of the learning data is performed.
【0047】図4の処理が収束して終了した時点で、図
2における Lloyd-Maxアルゴリズムによる代表ベクトル
の更新処理(ステップ140)が終了する。次のステッ
プ150ではループカウンタ Repの値を調べ、あらかじ
め決められた最大ループ回数Rep- max 以上ならステッ
プ180へ、それ未満ならばステップ160へ進む。Re
p- max は通常1で十分である。なお、 Rep- max が0
のときは、従来のLBG法に等しい。When the processing of FIG. 4 converges and ends, the representative vector update processing (step 140) by the Lloyd-Max algorithm in FIG. 2 ends. In the next step 150, the value of the loop counter Rep is checked, and if it is equal to or greater than the predetermined maximum number of loops Rep - max, the flow proceeds to step 180; Re
p - max of 1 is usually sufficient. Note that Rep - max is 0
Is equal to the conventional LBG method.
【0048】ステップ160では、符号帳のインデック
ス付け換えを行う。その処理の詳細を図6に示す。In step 160, indexing of the codebook is performed. FIG. 6 shows the details of the processing.
【0049】図6においてhはループのカウンタを表
す。hの初期値は0に設定する(ステップ510)。符
号帳評価関数E算出処理(ステップ520)では、現在
の符号帳に対する初期評価関数Eを計算する。評価関数
Eには、前述の歪みの総和D、すなわち(*1)式を用
いるべきである。しかし、あるインデックスとあるイン
デックスを交換するたびに全学習用データを用いて歪み
の総和Dを計算しなおすことは、非常に多くの計算量を
必要とする。そこで、簡略的な手段として、確率p(k
|j)を用いて次の様に定義してもよい。In FIG. 6, h represents a loop counter. The initial value of h is set to 0 (step 510). In the codebook evaluation function E calculation process (step 520), an initial evaluation function E for the current codebook is calculated. As the evaluation function E, the above-described sum D of distortions, that is, the expression (* 1) should be used. However, recalculating the sum D of distortion using all learning data every time a certain index is exchanged with a certain index requires a very large amount of calculation. Therefore, as a simple means, the probability p (k
| J) may be defined as follows.
【0050】[0050]
【数9】 (Equation 9)
【0051】ただし、de (cj ,ck )は代表ベクト
ルcj とck の間の距離を表し、一例として[0051] However, d e (c j, c k) represents the distance between the representative vector c j and c k, as an example
【0052】[0052]
【数10】 (Equation 10)
【0053】のように、ユークリッド距離で定義しても
よい。As described above, the distance may be defined by the Euclidean distance.
【0054】また、cj が使われる頻度を考慮してAlso, considering the frequency at which c j is used,
【0055】[0055]
【数11】 [Equation 11]
【0056】としてもよい。ただし、Pr(j)はj番
目の代表ベクトルが使用される確率を表す。このように
Lloyd-Maxアルゴリズムの評価尺度と、インデックス付
け換えの尺度を異なったものに定義すると、一方で歪み
が減少したにもかかわらず、他方の処理で逆に歪みが増
大する可能性も生じる。しかし、実験の結果、インデッ
クス付け換えの評価関数を簡略化しても、悪影響は観察
されない。It is also possible to use Here, Pr (j) represents the probability that the j-th representative vector is used. in this way
If the evaluation scale of the Lloyd-Max algorithm is different from the scale of the index change, there is a possibility that the distortion is increased in the other process, while the distortion is decreased in the other. However, as a result of the experiment, even if the evaluation function of the index change is simplified, no adverse effect is observed.
【0057】上式で求められた初期評価関数値をE min
に設定する(ステップ530)。次にj≠kなる任意の
2つのインデックスを交換したと仮定したときの評価関
数値Eを計算する(ステップ540,550)。j,k
の決め方は乱数を用いて決定してもよい。また、1≦j
≦M、1≦k≦Mのすべての組み合わせについて評価関
数Eを計算して、Eが最も小さくなったときのjとkを
用いても良い。j,kを交換して得られた評価関数の値
EがE minよりも小さければ、インデックスjとkが割
り当てられた代表ベクトルをお互いに交換する(ステッ
プ570)。このとき、ループのカウンタhは0にクリ
ア、再びステップ540に戻る。逆にEがE minよりも
小さくならなかった場合には、ループカウンタhの値に
1を加える(ステップ580)。このとき、hの値があ
らかじめ決められた値Lよりも大きくなった場合には、
どのインデックスを交換しても評価関数が小さくならな
いとみなして処理を終了する(ステップ590)。Lよ
りも小さい場合には、ステップ540に戻る。なお、こ
こでは、インデックスの交換を2つのインデックスで行
っているが、より局所最小解の危険を避けるため、3つ
以上で交換してみて、評価関数を計算してもよい。The initial evaluation function value obtained by the above equation is E min
(Step 530). Next, an evaluation function value E is calculated when it is assumed that any two indices j ≠ k are exchanged (steps 540 and 550). j, k
May be determined using random numbers. Also, 1 ≦ j
The evaluation function E may be calculated for all combinations of ≦ M and 1 ≦ k ≦ M, and j and k when E becomes the smallest may be used. If the value E of the evaluation function obtained by exchanging j and k is smaller than Emin, the representative vectors to which the indexes j and k are assigned are exchanged with each other (step 570). At this time, the loop counter h is cleared to 0, and the process returns to step 540 again. Conversely, if E has not become smaller than Emin, 1 is added to the value of the loop counter h (step 580). At this time, if the value of h becomes larger than the predetermined value L,
The process ends assuming that the evaluation function does not become smaller even if any index is exchanged (step 590). If it is smaller than L, the process returns to step 540. Here, the index exchange is performed by using two indexes. However, in order to further avoid the danger of the local minimum solution, the evaluation function may be calculated by exchanging three or more indexes.
【0058】インデックス付けかえの後、ループカウン
タ Repを1インクリメントし(ステップ170)、ステ
ップ140に戻って再び誤り尺度 Lloyd-Maxアルゴリズ
ムを適用して代表ベクトルを更新する。ステップ140
と160を交互に行うことは、仮にステップ140で局
所最小解に陥って十分な性能が得られなくとも、ステッ
プ160におけるインデックスの付け換えにより局所最
小を抜け出す可能性があり、より真の最小解に近づくこ
とが期待される。計算量の増加が許されるならば、 Rep
- max の値を2以上にするとよい。After changing the index, the loop counter Rep is incremented by 1 (step 170), and the process returns to step 140 to apply the error measure Lloyd-Max algorithm again to update the representative vector. Step 140
And 160 are alternately performed, even if the local minimum solution is not obtained in step 140 and sufficient performance is not obtained, there is a possibility that the local minimum is escaped by the replacement of the index in step 160. Is expected to approach. If the computational complexity is allowed, Rep
- the value of max may be two or more.
【0059】ステップ180において、クラスタすなわ
ち代表ベクトルの数Mが、あらかじめ割り当てられたビ
ット数Bによって定まるクラスタ数2B に達していない
場合には、16−aによってそれぞれのクラスタを分割
する(ステップ190)。分割によってクラスタ数は2
倍になる。これまでのクラスタ数をM、分割後のクラス
タ数をM’とすると、 M’=2M 分割により、M+1から2Mまでのインデックスが新た
に使用可能となる。ここで代表ベクトルの初期値をステ
ップ210において決定してステップ130に戻る。な
お、上記例では、クラスタを分割して2倍に増加させた
が、必ずしも2倍でなくてもよいし、クラスタによって
分割するものと、しないものがあってもよい。Mの初期
値Mo を1に設定し、1回の分割によって2倍ずつにし
ていくと、ステップ180において、容易にM=2B と
して終了することができ、都合がよい。In step 180, if the number of clusters, that is, the number M of representative vectors does not reach the number of clusters 2 B determined by the number of bits B allocated in advance, each cluster is divided by 16-a (step 190). ). The number of clusters is 2 due to division
Double. Assuming that the number of clusters so far is M and the number of clusters after division is M ′, the index from M + 1 to 2M can be newly used by M ′ = 2M division. Here, the initial value of the representative vector is determined in step 210, and the process returns to step 130. In the above example, the cluster is divided and increased twice. However, the number is not necessarily doubled, and some may be divided by the cluster and some may not. Set the initial value M o of M to one and going to the twofold by resolution of one, at step 180, can be easily terminated as M = 2 B, it is convenient.
【0060】代表ベクトルの初期値は次の様に決定す
る。The initial value of the representative vector is determined as follows.
【0061】1からMまでの代表ベクトルの初期値は、
現在の代表ベクトルをそのまま初期値とする。新しい初
期値をcj ’とすると、 c’j =cj , j=1,2,・・・,M である。また、新しく生成されたインデックスに対応す
る初期値は、 c’j =cj +Δ, j=M+1,M+2,・・・,2M とする。Δは微小なベクトルである。The initial values of the representative vectors from 1 to M are:
The current representative vector is used as the initial value. Assuming that the new initial value is c j ′, c ′ j = c j , j = 1, 2,..., M. Also, the initial values corresponding to the newly generated index are c ′ j = c j + Δ, j = M + 1, M + 2,..., 2M. Δ is a minute vector.
【0062】こうしてクラスタ数を増やし、M’←Mと
してステップ130に戻り、以上の手順を繰り返す。In this way, the number of clusters is increased, M ′ ← M is set, and the process returns to step 130 to repeat the above procedure.
【0063】ステップ180において、クラスタ数が目
的とする数に達した場合には、学習の処理を終了し、そ
のときの代表ベクトルを最終的な符号帳の代表ベクトル
とする。If the number of clusters has reached the target number in step 180, the learning process is terminated, and the representative vector at that time is set as the final representative vector of the codebook.
【0064】なお、代表ベクトルの初期数がMo =2B
である場合には、ステップ190,200,210など
のクラスタの分割に伴う処理が不要であることは明らか
である。Note that the initial number of representative vectors is M o = 2 B
In the case of, it is apparent that the processing associated with the cluster division, such as steps 190, 200, and 210, is unnecessary.
【0065】図3は、図2の手順の簡略版を示す。図2
との違いは、ステップ250と260の処理を、それぞ
れ1回ずつ行っている点である。当然、図2の方が良好
な結果が得られるが、計算を簡略化するために、図3の
構成にしてもよい。また、基本的には図3の構成で行
い、ステップ270において、M=2B となる直前のル
ープのみ図2のようにステップ140と160を交互に
行ってもよい。FIG. 3 shows a simplified version of the procedure of FIG. FIG.
The difference is that the processes in steps 250 and 260 are performed once each. Naturally, better results are obtained in FIG. 2, but the configuration in FIG. 3 may be used to simplify the calculation. Further, basically, the configuration shown in FIG. 3 may be used, and in step 270, steps 140 and 160 may be performed alternately as shown in FIG. 2 only for the loop immediately before M = 2 B.
【0066】ここまでは、一般的なベクトル量子化器の
符号帳の学習方法について説明した。しかし、上記のよ
うな単純構成のベクトル量子化器では、割り当てるビッ
ト数の増加にもとなって、量子化するための計算量と記
憶量が指数関数的に増大し、現在のハードウェア技術を
考慮しても、実時間処理するためや、計算コストを下げ
るためには、量子化ビット数を10から13ビット程度
以下に抑える必要がある。しかし、実際には、良好な量
子化品質を得るために、20ビットないし30ビットを
必要とすることも少なくない。このような問題に対し
て、少ない計算量で、しかも品質の劣化が少ない方法と
して、多段ベクトル量子化法が知られている。多段ベク
トル量子化法の構成を図7に示す。図7は、説明を簡単
にするために、3段の場合について説明した。多段ベク
トル量子化法とは、複数の小規模なベクトル量子化器を
縦続接続する方法である。各小規模なベクトル量子化器
は、大きく分けて、それぞれ符号帳、ベクトル加算器、
歪み判定部の3つの部分から成る。なお、1段目につい
ては、ベクトル加算器を省略してよい。1段目のベクト
ル量子化器の動作は、既に述べた通常のベクトル量子化
器と同じである。符号帳50の中に、M1 個の代表ベク
トルを蓄え、これらを順に歪み判定部53に送る。j番
目の代表ベクトルをcjr (1) (rはベクトルの次元を表
す)とすると、歪み判定部53では、cjr (1) と入力ベ
クトルxirとの歪みを判定し、最も歪みの小さくなった
代表ベクトルを1段目の量子化値(ベクトル)qir (1)
とする。2段目以降のs段目では、s−1段目までの量
子化値qir (s-1) にs段目の符号帳に蓄えられたj番目
の代表ベクトルcjr (s) を加えた、 qir (s-1) +cjr (s) と入力ベクトルxirとの歪みが最小になるj’番目の代
表ベクトルcj ’r (s) をs段目の代表ベクトルとし、 qir (s) =qir (s-1) +cj’r (s) をs段目までの量子化値とする。The learning method of the codebook of the general vector quantizer has been described. However, with the vector quantizer having the simple configuration as described above, the number of bits to be allocated increases, and the amount of calculation and storage for quantization increases exponentially. Even in consideration of this, it is necessary to reduce the number of quantization bits to about 10 to 13 bits or less in order to perform real-time processing and reduce the calculation cost. However, in practice, 20 to 30 bits are often required to obtain good quantization quality. To solve such a problem, a multi-stage vector quantization method is known as a method with a small amount of calculation and with little deterioration in quality. FIG. 7 shows the configuration of the multistage vector quantization method. FIG. 7 illustrates the case of three stages in order to simplify the description. The multi-stage vector quantization method is a method of cascading a plurality of small-scale vector quantizers. Each small-scale vector quantizer is roughly divided into codebooks, vector adders,
It is composed of three parts of the distortion determination unit. In the first stage, the vector adder may be omitted. The operation of the first-stage vector quantizer is the same as that of the ordinary vector quantizer described above. M 1 representative vectors are stored in the codebook 50, and these are sequentially sent to the distortion determination unit 53. Assuming that the j-th representative vector is c jr (1) (r represents the dimension of the vector), the distortion determination unit 53 determines the distortion between c jr (1) and the input vector x ir, and minimizes the distortion. The resulting representative vector is converted to the first-stage quantized value (vector) q ir (1)
And In the s-th stage after the second stage, the j-th representative vector c jr (s) stored in the s-th codebook is added to the quantized value q ir (s-1) up to the s-th stage. The j′ - th representative vector c j ′ r (s) that minimizes the distortion between q ir (s−1) + c jr (s) and the input vector x ir is set as the s-th stage representative vector, and q ir (s) = q ir (s -1) + c j'r (s) is the quantization value to s-th stage.
【0067】このときの歪み尺度は、ユークリッド距離
などの任意の尺度でよい。後述する例えば(*2)式の
ような符号誤りを考慮した歪み尺度を用いると、符号誤
りが生じても劣化の少ない量子化器とすることができ
る。The distortion scale at this time may be any scale such as the Euclidean distance. If a distortion measure taking into account a code error such as the expression (* 2) described later is used, a quantizer with little deterioration even if a code error occurs can be obtained.
【0068】この操作を段数分だけ繰り返し、最終段ま
での量子化値が決定されると、端子58より入力ベクト
ルxirの量子化値xir *として出力される。なお、上記
説明では、各段において代表ベクトル(各段までの量子
化値)を最適なものひとつに決定したが、途中の段で
は、いくつか量子化候補を残しておき、最終段までの量
子化値が最適になるように決定した方が、若干の計算量
増大につながるけれども、量子化性能はよい。なお、多
段ベクトル量子化法の詳細については、文献:B.H.Juan
g,A.H.Gray著”Multiple Stage Vector Quantization f
or Speech Coding”Proc.ICASSP82,p.p597-600(1982)
に記載されている。This operation is repeated by the number of stages, and when the quantized value up to the final stage is determined, the quantized value x ir * of the input vector x ir is output from the terminal 58. In the above description, the representative vector (quantized value up to each stage) is determined to be one optimal one in each stage. However, in the middle stage, some quantization candidates are left, and the quantization vector up to the final stage is determined. If the quantization value is determined to be optimal, the calculation performance is better, though the calculation amount is slightly increased. For details of the multi-stage vector quantization method, refer to the literature: BHJuan
g, AHGray, “Multiple Stage Vector Quantization f
or Speech Coding ”Proc.ICASSP82, p.p597-600 (1982)
It is described in.
【0069】このような多段ベクトル量子化器の符号帳
の設計にも、歪み尺度を変更するだけで、容易に本発明
を利用できる。すなわち、多段ベクトル量子化器の符号
帳の設計は、1段目から順に設計していくのであるが、
1段目は通常のベクトル量子化器と実質的に同等である
ので、本発明をそのまま利用可能である。2段目以降に
ついても、図5における歪み尺度算出処理(ステップ4
40)の歪みの定義式、および図4における代表ベクト
ル更新処理(ステップ340)の更新式、ならびに図6
における符号帳評価関数E算出処理ステップ520,5
50の定義式を変更し、各段の符号帳設計において本発
明を適用するだけである。The present invention can be easily applied to the design of the codebook of such a multi-stage vector quantizer only by changing the distortion scale. That is, the codebook design of the multistage vector quantizer is designed in order from the first stage.
Since the first stage is substantially equivalent to a normal vector quantizer, the present invention can be used as it is. Also for the second and subsequent stages, the distortion scale calculation process in FIG.
40), the equation for defining the distortion, the updating equation for the representative vector updating process (step 340) in FIG. 4, and FIG.
Codebook evaluation function E calculation processing steps 520 and 5 in
It is only necessary to change the definition formula of 50 and apply the present invention to the codebook design of each stage.
【0070】まず、歪み尺度の定義は、前述のように、
入力ベクトルxirと量子化値(ベクトル) qijr (s) =qir (s-1) +cjr (s) とのベクトル間距離を重み付きユークリッド距離で表す
と、First, the definition of the distortion scale is, as described above,
When the distance between the input vector x ir and the quantized value (vector) q ijr (s) = q ir (s-1) + c jr (s) is represented by a weighted Euclidean distance,
【0071】[0071]
【数12】 (Equation 12)
【0072】となる。なお、このときxirとqijr (s)
をいったんケプストラムになおしてからユークリッド距
離をとってもよい。ベクトル間距離を上記dv (xi ,
qij (s ) )のように表すと、符号誤りを考慮した歪み尺
度は、Is obtained. In this case, x ir and q ijr (s)
May be converted to a cepstrum, and then the Euclidean distance may be taken. The distance between the vectors is represented by the above d v (x i ,
q ij (s ) ), the distortion measure taking the code error into account is:
【0073】[0073]
【数13】 (Equation 13)
【0074】となり、上記d(xi ,qij (s) )をjが
1からM(Mは代表ベクトルの数)まで計算し、最もd
(xi ,qij (s) )が小さくなったj’番目の代表ベク
トルに学習用の第i番目のデータを帰属させる。なおこ
こで、前段までの量子化値(ベクトル)qir (s-1) は、The above d (x i , q ij (s) ) is calculated from j is 1 to M (M is the number of representative vectors), and
The ith data for learning is assigned to the j'th representative vector in which (x i , q ij (s) ) is reduced. Here, the quantization value (vector) q ir (s-1) up to the previous stage is
【0075】[0075]
【数14】 [Equation 14]
【0076】のように各段の代表ベクトルの和で表して
もよいし、As shown in the above, it may be represented by the sum of the representative vectors of each stage,
【0077】[0077]
【数15】 (Equation 15)
【0078】とおいて、Then,
【0079】[0079]
【数16】 (Equation 16)
【0080】即ち、受信したときの平均値(期待値)で
表してもよい。一般には、後者のほうが性能が良い。ま
た、d(xi ,qij (s) )の式を展開し、That is, it may be represented by an average value (expected value) at the time of reception. Generally, the latter has better performance. Further, the expression of d (x i , q ij (s) ) is expanded,
【0081】[0081]
【数17】 [Equation 17]
【0082】を事前に計算しておくことにより、実際の
量子化時に処理を高速化することができる。By calculating in advance, the processing can be sped up at the time of actual quantization.
【0083】歪みの総和は、前述のように、The sum of the distortions is, as described above,
【0084】[0084]
【数18】 (Equation 18)
【0085】またはOr
【0086】[0086]
【数19】 [Equation 19]
【0087】で表す。ここで、 Be(i)=j は、第i番目の学習データベクトルが、s段目において
代表ベクトルjに帰属することを表す。また、Nは学習
データ数である。## EQU10 ## Here, Be (i) = j indicates that the ith learning data vector belongs to the representative vector j at the s-th stage. N is the number of learning data.
【0088】代表ベクトルの更新は、次の式によって行
う。The updating of the representative vector is performed by the following equation.
【0089】[0089]
【数20】 (Equation 20)
【0090】通常のベクトル量子化器の符号帳の設計と
異なるのは、xirから1段前までの量子化値qir (s-1)
を差し引いて平均することである。なお、通常のベクト
ル量子化の場合、および多段ベクトル量子化における1
段目の量子化の場合でも、1段前までの量子化値を0と
考えれば、多段ベクトル量子化の特殊な場合であると考
えることができる。The difference from the design of the codebook of the ordinary vector quantizer is that the quantized value q ir (s−1) from x ir to the previous stage is used.
Is the average. It should be noted that in the case of normal vector quantization and in the case of multi-stage vector quantization, 1
Even in the case of the first-stage quantization, if the quantization value up to the immediately preceding stage is considered to be 0, it can be considered as a special case of multi-stage vector quantization.
【0091】図6における符号帳評価関数E算出処理
(ステップ520,550)の定義式は、前述のよう
に、歪みの総和Dすなわち、(*3)式で表すのが望ま
しい。しかし、簡単のためThe definition equation of the codebook evaluation function E calculation processing (steps 520 and 550) in FIG. 6 is desirably expressed by the sum of distortions D, that is, equation (* 3), as described above. But for simplicity
【0092】[0092]
【数21】 (Equation 21)
【0093】としてもよいし、cj (s) が使われる頻度
を考慮して[0093] Alternatively, considering the frequency at which c j (s) is used,
【0094】[0094]
【数22】 (Equation 22)
【0095】としてもよい。ただし、Pr(j)は、j
番目の代表ベクトルが使用される確率を、dc (cj
(s) ,ck (s) )は代表ベクトルcj (s) とck (s) の
間の距離を表し、一例としてユークリッド距離で定義し
てもよい。[0095] Alternatively, Where Pr (j) is j
The probability that the th representative vector is used is denoted by d c (c j
(s) , c k (s) ) represents the distance between the representative vectors c j (s) and c k (s) , and may be defined as a Euclidean distance as an example.
【0096】以上の変更のもとに、本発明を多段ベクト
ル量子化器の符号帳設計にも使用することができる。With the above modifications, the present invention can be used for codebook design of a multistage vector quantizer.
【0097】前にも述べたが、実際の通信をする場合に
は、なんらかのエラー訂正符号をつけて送信する場合が
多い。しかし、通信路のビットレートの制約によって
は、十分なエラー訂正符号を付加することができないこ
とも多い。そのような場合に、本発明の方法が威力を発
揮する。誤り訂正符号を用いないで本発明のみによって
全段の符号誤り対策をしてもよいが、部分的に誤り訂正
符号を用い、本発明と組み合わせる方法も効果的であ
る。多段ベクトル量子化の場合には、1段目が最も符号
誤りに対して品質の劣化が大きく、順に2段目、3段目
・・・と符号誤りに対する感度が下がっていくという性
質がある。そこで、誤り訂正符号を十分付加することが
できない場合には、1段目を誤り訂正符号によって強力
に保護し、2段目以降は誤り訂正符号によってよりも、
本発明において符号誤り率を適当に定めて符号誤りに強
い符号帳を設計することにより、エラーのないところで
の品質劣化が少なく、エラーが生じても品質の劣化が少
ない符号化器を構成することができる。例えば、本発明
によって、1段目はビット誤り率をゼロまたは、十分小
さな値で符号帳を学習し、2段目以降は、伝送路の符号
誤り率程度、または、2段目以降のはじめの方の段を実
際の符号誤り率よりも若干高めに、後ろの方の段は実際
の誤り率か、若干低めになるように設定して符号帳を設
計し、実際の符号化の場面では、1段目の符号のみに誤
り訂正符号をつけて伝送すると能率がよい。As described above, in actual communication, transmission is often performed with some error correction code. However, it is often not possible to add a sufficient error correction code due to restrictions on the bit rate of the communication channel. In such a case, the method of the present invention is effective. It is possible to take measures against code errors in all stages by using only the present invention without using an error correction code. However, a method in which an error correction code is partially used and combined with the present invention is also effective. In the case of multi-stage vector quantization, the first stage has the property that the deterioration of the quality with respect to the code error is the largest, and the sensitivity to the code error decreases in the order of the second stage, the third stage, and so on. Therefore, when the error correction code cannot be sufficiently added, the first stage is strongly protected by the error correction code, and the second and subsequent stages are more protected than the error correction code.
In the present invention, by designating a codebook that is resistant to code errors by appropriately setting the code error rate, it is possible to configure an encoder that causes less quality deterioration in a place where there is no error, and has less quality deterioration even if an error occurs. Can be. For example, according to the present invention, the first stage learns the codebook with a bit error rate of zero or a sufficiently small value, and the second and subsequent stages are about the bit error rate of the transmission path or the first and subsequent stages. Design the codebook by setting the lower stage to be slightly higher than the actual bit error rate and the latter stage to be the actual error rate or slightly lower, and in the actual encoding situation, Efficiency is good if only the first-stage code is transmitted with an error correction code.
【0098】誤り訂正符号の中には、誤り訂正能力は若
干低いが、誤り検出能力の高いものが存在する。これ
は、受信した複数のビットの組のなかで、どのビットが
反転しているかを検出することはできないが、どれかが
反転していることを検出できるものである。このよう
に、訂正はできなくても、誤っていることさえわかれ
ば、受信側でその符号を使うことをやめ、しかるべき処
置をとることができる。例えば、音声信号などの場合に
は、時間軸において、前後のデータと相関が強いため、
受信したまちがった符号を使うよりも、前後の誤りのな
い受信信号(符号)から、誤りを検出した時点の信号を
推定するほうが劣化を小さく抑えることができる場合が
多い。例えば、1フレーム(伝送単位)前のデータをそ
のまま繰り返して使うか、前後の再生ベクトルを線形に
補間して当該時点の再生ベクトルとする方法がよく用い
られる。このように、本発明を用いて符号帳を設計する
場合には、伝送路の誤り率、誤り訂正符号、および、誤
り検出符号を用いた時の修復方法をも考慮に入れるとよ
い。Some error correction codes have a slightly lower error correction capability but a higher error detection capability. This means that it is not possible to detect which bit is inverted in a plurality of received bit sets, but it is possible to detect that any bit is inverted. In this way, even if the error cannot be corrected, if the error is found, the receiving side can stop using the code and take an appropriate action. For example, in the case of an audio signal and the like, since the time axis has a strong correlation with data before and after,
In many cases, deterioration can be suppressed to a smaller extent by estimating a signal at the time of detecting an error from a received signal (code) having no error before and after, using a received incorrect code. For example, a method is often used in which the data of one frame (transmission unit) before is repeatedly used as it is, or a reproduction vector at the time is obtained by linearly interpolating the preceding and succeeding reproduction vectors. As described above, when designing a codebook using the present invention, the error rate of the transmission path, the error correction code, and the restoration method when using the error detection code may be taken into consideration.
【0099】本発明は、例えば音声の符号化に応用する
とよい。本発明の方法が威力を発揮する音声符号化の方
式のひとつに、CELP方式がある。この方式は、入力
音声信号を線形予測分析し、その結果得られた線形予測
係数を例えば線スペクトル対(LSP)と呼ばれるパラ
メータに変換する。LSPはその量子化特性が非常に優
れているので、よく用いられるが、LSP以外にも、P
ARCOR係数と呼ばれるパラメータに変換する方法も
ある。ここでは、これらのパラメータを総称して、線形
予測パラメータと呼ぶ。CELP方式ではまず、この線
形予測パラメータを量子化する。次に、上記線形予測パ
ラメータから得られる線形フィルタを、音源信号で駆動
して得られる信号と、入力信号との歪みが最小となるよ
うに音源信号を決定する。線形予測パラメータの量子
化、音源信号の量子化とも、通常はベクトル量子化を用
いるため、ともに本発明の手法は優れた結果をもたら
す。The present invention may be applied to, for example, speech coding. One of the speech coding schemes in which the method of the present invention is effective is the CELP scheme. In this method, the input speech signal is subjected to linear prediction analysis, and the resulting linear prediction coefficient is converted into a parameter called, for example, a line spectrum pair (LSP). LSPs are often used because of their excellent quantization characteristics.
There is also a method of converting into a parameter called an ARCOR coefficient. Here, these parameters are collectively referred to as linear prediction parameters. In the CELP method, first, this linear prediction parameter is quantized. Next, the excitation signal is determined so that the distortion between the input signal and the signal obtained by driving the linear filter obtained from the linear prediction parameters with the excitation signal is minimized. Since both the quantization of the linear prediction parameter and the quantization of the excitation signal usually use vector quantization, the method of the present invention provides excellent results.
【0100】線形予測パラメータの量子化に本発明を適
用する方法の一例を述べる。まず、入力音声信号の線形
予測分析を行って得られた線形予測係数を線スペクトル
対(LSP)に変換する。線形予測分析の次数をpとす
ると、LSPはp次のベクトルとして得られ、このベク
トルをある符号で表すことができるように量子化する。
なお、LSPは、音声スペクトルの包絡特性を表すパラ
メータである。音声信号からLSPを算出する方法につ
いては、例えば、文献:吉井貞煕著「ディジタル音声処
理」(東海大学出版会)に記載されている。An example of a method of applying the present invention to quantization of a linear prediction parameter will be described. First, a linear prediction coefficient obtained by performing a linear prediction analysis on an input speech signal is converted into a line spectrum pair (LSP). Assuming that the order of the linear prediction analysis is p, the LSP is obtained as a p-order vector, and this vector is quantized so that it can be represented by a certain code.
Note that LSP is a parameter representing the envelope characteristic of the audio spectrum. The method of calculating the LSP from the audio signal is described in, for example, the document “Digital Audio Processing” by Sadahiro Yoshii (Tokai University Press).
【0101】ここでは、一例として、線形予測分析次数
10次、LSPを計算する時間周期(フレーム周期)は
20ms程度で行うとよい。なお通常、分析次数は10次
〜16次、フレーム周期は10〜40ms程度に設定す
る。学習用のデータは、計算時間の許す限り多くのデー
タを準備するとよいが、複数話者の異なった発声およそ
1500秒もあれば十分である。LSPをベクトル量子
化する際に、十分な品質を維持するためには、1ベクト
ルあたり20〜30ビット必要であるので、1段のベク
トル量子化器で実現することは、計算量と記憶量の観点
から現実的でない。そこで一例として、3段の多段ベク
トル量子化を用い、例えば1段目を8ビット、2段目を
8ビット、3段目を6ビットの、1ベクトルあたり22
ビットとする。1ベクトルあたりの必要ビット数は駆動
音源の量子化方法によって異なり、CELPでは20〜
22ビットで十分な品質が得られる。Here, as an example, the order of the linear prediction analysis order is 10 and the time period (frame period) for calculating the LSP is preferably about 20 ms. Normally, the order of analysis is set to the 10th to 16th order, and the frame period is set to about 10 to 40 ms. As data for learning, it is good to prepare as much data as the calculation time permits, but it is sufficient if there are approximately 1500 seconds of different utterances of a plurality of speakers. In order to maintain sufficient quality when LSP is vector-quantized, 20 to 30 bits are required for one vector. Therefore, realization with a single-stage vector quantizer requires only a small amount of calculation and storage. Not realistic from a point of view. Therefore, as an example, three-stage multi-stage vector quantization is used, and for example, the first stage has 8 bits, the second stage has 8 bits, and the third stage has 6 bits.
Bit. The required number of bits per vector differs depending on the quantization method of the driving sound source.
Sufficient quality can be obtained with 22 bits.
【0102】符号誤りを考慮したLBG学習、および、
実際の量子化時における距離尺度の誤り率の設定は、用
途によって異なるが、例えば移動体通信用では、1.0
〜3.0%程度に設定するとよい。ただし、符号誤り率
を高く設定すると、符号誤りのないところでの品質が劣
化するため、符号誤りのないときの品質を重視したい場
合には、誤り率は上記値よりも低めに設定するとよく、
また、符号誤りが生じたときの劣化防止を重視するので
あれば、上記値よりも若干高めに設定してもよい。ま
た、1段目は相対的に符号誤りに対する感度が高いの
で、1段目のみ誤り訂正符号または誤り検出符号を使用
すると効率がよい。この場合には1段目の学習・量子化
時の誤り率の設定は、十分低いかまたは0に設定してよ
く、2段目以降は伝送路に合わせた誤り率を設定する。
なお、誤り検出符号を用い、受信側で誤りが生じたこと
のみが検出された時には、受信した符号からベクトルを
再生することをやめ、前後の時間のベクトルから誤りを
検出した時刻のベクトルを推定するとよい。ベクトル間
の歪み尺度には、ユークリッド距離や重み付きユークリ
ッド距離、ケプストラム歪み等を用いるとよい。LBG learning considering a code error, and
The setting of the error rate of the distance scale at the time of actual quantization varies depending on the application.
It may be set to about 3.0%. However, if the code error rate is set to a high value, the quality at the place where there is no code error is degraded, so if it is desired to emphasize the quality when there is no code error, the error rate may be set lower than the above value,
If importance is placed on the prevention of deterioration when a code error occurs, the value may be set slightly higher than the above value. Since the first stage has relatively high sensitivity to code errors, it is efficient to use an error correction code or an error detection code only in the first stage. In this case, the setting of the error rate at the time of learning / quantization in the first stage may be set to a sufficiently low value or may be set to 0, and in the second and subsequent stages, the error rate according to the transmission path is set.
When only the occurrence of an error is detected on the receiving side using the error detection code, the reproduction of the vector from the received code is stopped, and the vector at the time when the error is detected is estimated from the previous and subsequent time vectors. Good to do. The Euclidean distance, the weighted Euclidean distance, the cepstrum distortion, or the like may be used as the distortion measure between the vectors.
【0103】本発明によって、ベクトル量子化器の符号
帳を設計する方法の効果を調べるために、以下の条件に
よる実験を、コンピュータシミュレーションによって行
った。In order to investigate the effect of the method of designing a codebook for a vector quantizer according to the present invention, an experiment under the following conditions was performed by computer simulation.
【0104】本実験では、無記憶ガウス情報源をベクト
ル量子化して、従来法との性能を比較する。ベクトル次
元は8次元、量子化ビット数は8ビットで、ベクトル量
子化器は1段で構成した。ベクトル間距離尺度はユーク
リッド距離を用いた。学習データは10,000ベクト
ル、テスト用には学習外の5,000ベクトルを用い、
全体のSN比で評価した。学習時および量子化時の符号
誤り率は1.0%に設定し、テストでは、チャネル誤り
率を0.0〜10%まで変化させてSN比の変化を調べ
た。比較した方法は、本発明の方法の他、従来法として
符号誤り率を全く考慮しないLBG法、歪み尺度として
符号誤りを考慮した尺度(誤り率1.0%に設定)を用
いたLBG法、また、上記誤りを考慮したLBG法が終
了したあとに、できあがった符号帳に対してインデック
ス付けかえを適用した方法について調べた。結果を図7
に示す。全く符号誤りを考慮しない場合には、△印と破
線で示すように、符号誤りとともに急速に劣化する。一
方、本発明による方法では、符号誤りのないところでわ
ずかに品質が劣化しているものの、符号誤りが生じても
劣化を少なく抑えている。また、●印と実線で示される
誤り尺度のLBG法でも、十分良好な品質が維持されて
いるが、本発明のほうが優れた結果を示している。ま
た、LBG法終了後にインデックス付けかえを行う方法
(□印と一点鎖線)では、誤り尺度LBGに比べてほと
んど改善していない。In this experiment, a memoryless Gaussian information source is vector-quantized and its performance is compared with that of the conventional method. The vector dimension was eight dimensions, the number of quantization bits was eight bits, and the vector quantizer was configured in one stage. The Euclidean distance was used as the distance measure between vectors. The training data uses 10,000 vectors, and the test uses 5,000 vectors outside of learning.
Evaluation was made based on the overall SN ratio. The code error rate during learning and quantization was set to 1.0%, and in the test, the change in the SN ratio was examined by changing the channel error rate from 0.0 to 10%. In addition to the method of the present invention, the LBG method that does not consider the code error rate at all, the LBG method that uses a measure that considers the code error as the distortion measure (set to 1.0% error rate), Further, after the LBG method considering the above error is completed, a method of applying index remapping to the completed codebook was examined. Fig. 7 shows the results.
Shown in When no code error is taken into account, the signal is rapidly degraded together with the code error, as indicated by a triangle and a broken line. On the other hand, in the method according to the present invention, although the quality is slightly degraded where there is no code error, even if a code error occurs, the degradation is suppressed to a small extent. In addition, the LBG method of the error scale shown by the solid circle and the solid line also maintains a sufficiently good quality, but the present invention shows better results. In addition, the method of re-indexing after completion of the LBG method (square mark and dashed line) has little improvement compared to the error scale LBG.
【0105】以上より、本発明が、符号誤りのある場合
のベクトル量子化器の設計において、非常に優れた方法
であることが示された。なお、本実験では無記憶ガウス
情報源を用いて性能を比較したが、実際の音声信号や画
像信号のような相関が強い信号の場合には、さらに大き
な効果が期待される。As described above, it has been shown that the present invention is a very excellent method for designing a vector quantizer when there is a code error. In this experiment, the performance was compared using a memoryless Gaussian information source. However, in the case of a signal having a strong correlation such as an actual audio signal or image signal, a larger effect is expected.
【0106】[0106]
【発明の効果】以上説明したように、本発明によれば、
局所最小解に陥る危険を低減し、より高性能な符号帳を
設計することができるとともに、またわずかな計算量の
増加により容易に最適に近い状態に導くことができる。As described above, according to the present invention,
The risk of falling into a local minimum solution can be reduced, a higher-performance codebook can be designed, and a near-optimal state can be easily achieved by a slight increase in the amount of computation.
【図1】本発明によって設計した符号帳を用いてベクト
ル量子化器を構成する一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of configuring a vector quantizer using a codebook designed according to the present invention.
【図2】本発明による符号帳の学習法の流れの概略を示
すフローチャートである。FIG. 2 is a flowchart schematically showing the flow of a codebook learning method according to the present invention.
【図3】本発明による符号帳の学習法の流れの概略を示
すフローチャートである。FIG. 3 is a flowchart schematically showing the flow of a codebook learning method according to the present invention.
【図4】図3の処理における Lloyd-Maxアルゴリズムに
よる代表ベクトルの更新処理であるステップ140の詳
細な処理を示すフローチャートである。FIG. 4 is a flowchart showing a detailed process of step 140 which is a process of updating a representative vector by the Lloyd-Max algorithm in the process of FIG. 3;
【図5】図4の処理における学習データの帰属更新処理
であるステップ310の詳細な処理を示すフローチャー
トである。FIG. 5 is a flowchart illustrating a detailed process of step 310, which is a process of updating belonging of learning data in the process of FIG. 4;
【図6】図2に示す符号帳インデックス付け換え処理で
あるステップ160の詳細な処理を示すフローチャート
である。FIG. 6 is a flowchart showing a detailed process of step 160, which is the codebook index change process shown in FIG.
【図7】多段ベクトル量子化の構成例を示すブロック図
である。FIG. 7 is a block diagram illustrating a configuration example of multi-stage vector quantization.
【図8】本発明の効果を調べるためにコンピュータシミ
ュレーションによる符号誤りの実験を行った結果を示す
図である。FIG. 8 is a diagram showing a result of an experiment of a code error performed by computer simulation in order to examine an effect of the present invention.
1 符号帳 2 歪み算出部 3 歪み判定部 4 符号化部 5 復号化部 6 符号帳 DESCRIPTION OF SYMBOLS 1 Codebook 2 Distortion calculation part 3 Distortion determination part 4 Encoding part 5 Decoding part 6 Codebook
───────────────────────────────────────────────────── フロントページの続き (72)発明者 間野 一則 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 (72)発明者 須田 博人 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 審査官 石井 研一 (56)参考文献 特開 昭62−188575(JP,A) 特開 平1−205638(JP,A) 特開 平1−232829(JP,A) 特開 平1−259626(JP,A) 電子通信学会技術研究報告、信学技報 Vol.84、No.60、pp17−23、C S84−32、「通信路歪を低減するベクト ル量子化の伝送符号の割り当てに関する 一検討」相澤ほか (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Kazunori Mano 1-6-1, Uchisaiwaicho, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Inventor Hiroto Suda 1-1-6, Uchisaiwaicho, Chiyoda-ku, Tokyo Examiner, Nippon Telegraph and Telephone Corporation Kenichi Ishii (56) References JP-A-62-188575 (JP, A) JP-A-1-205638 (JP, A) JP-A 1-223229 (JP, A) JP Hei 1-259626 (JP, A) IEICE Technical Report, IEICE Technical Report Vol. 84, No. 60, pp17-23, CS84-32, "A Study on Allocation of Transmission Codes for Vector Quantization to Reduce Channel Distortion" Aizawa et al. (58) Fields investigated (Int. Cl. 7 , DB name) H03M 7/30
Claims (3)
の最適符号帳を設計するベクトル量子化器の符号帳設計
方法であって、学習ベクトルを量子化して符号誤りのあ
る伝送路を伝送すると仮定した場合に符号誤りをも考慮
して各学習ベクトルを符号帳の中のそれぞれどの代表ベ
クトルに帰属させるかを更新し、前記仮定のもとにおけ
る学習ベクトルと受信側の再生ベクトルとの歪みの平均
値の総和の極小化に基づいて代表ベクトルを更新し、前
記仮定のもとにおいて受信側の再生ベクトルと学習ベク
トルとの歪みの平均値を反映する符号帳の評価関数を小
さくするように符号帳インデックスの付け換えを行い、
上記処理を交互に繰り返し用いることにより符号誤りの
ある場合の最適な符号帳を設計することを特徴とするベ
クトル量子化器の符号帳設計方法。1. A codebook design method for a vector quantizer for designing an optimal codebook for a vector quantizer using learning data, wherein a learning vector is quantized and transmitted on a transmission path having a code error. In the case where it is assumed that the learning vector is attributed to each representative vector in the codebook in consideration of the code error, the distortion between the learning vector and the reproduction vector on the receiving side under the assumption is updated. The representative vector is updated based on the minimization of the sum of the average values, and the code is set so as to reduce the evaluation function of the codebook reflecting the average value of the distortion between the reproduction vector and the learning vector on the receiving side under the above assumption. Change the book index,
A codebook designing method for a vector quantizer, characterized by designing an optimal codebook in the case of a code error by repeatedly using the above processing.
初期値を決定し、前記学習ベクトルの帰属を更新する処
理と前記代表ベクトルを更新する処理とを交互に繰り返
し使用する処理と、前記符号帳インデックスの付け換え
を行う処理を用いたインデックスの付け換えを行う処理
と、前記代表ベクトルの数を増加させる処理を繰り返し
行うことにより、所望の数の代表ベクトルを決定するこ
とを特徴とする請求項1記載のベクトル量子化器の符号
帳設計方法。2. A process of determining an initial number of representative vectors and an initial value of a representative vector, and repeatedly and alternately using a process of updating the belonging of the learning vector and a process of updating the representative vector; A desired number of representative vectors is determined by repeating a process of performing index replacement using a process of performing index replacement and a process of increasing the number of representative vectors. 2. The codebook design method for a vector quantizer according to 1.
と、前記代表ベクトルを更新する処理を交互に繰り返し
使用する処理と、前記符号帳インデックスの付け換えを
行う処理を用いたインデックスの付け換え処理の2つの
処理を交互に繰り返し行った後、代表ベクトルの数を増
加させる処理を行うことを特徴とする請求項1または2
記載のベクトル量子化器の符号帳設計方法。3. A process of updating the belonging of the learning vector, a process of using the process of updating the representative vector alternately and repeatedly, and a process of replacing the index using the process of replacing the codebook index. 3. A process for increasing the number of representative vectors after repeating the above two processes alternately.
A codebook design method for the vector quantizer described.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3188956A JP3045197B2 (en) | 1991-07-29 | 1991-07-29 | Codebook design method for vector quantizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3188956A JP3045197B2 (en) | 1991-07-29 | 1991-07-29 | Codebook design method for vector quantizer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0537397A JPH0537397A (en) | 1993-02-12 |
JP3045197B2 true JP3045197B2 (en) | 2000-05-29 |
Family
ID=16232868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3188956A Expired - Lifetime JP3045197B2 (en) | 1991-07-29 | 1991-07-29 | Codebook design method for vector quantizer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3045197B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774838A (en) * | 1994-09-30 | 1998-06-30 | Kabushiki Kaisha Toshiba | Speech coding system utilizing vector quantization capable of minimizing quality degradation caused by transmission code error |
JPH09293139A (en) * | 1996-04-26 | 1997-11-11 | Nippon Telegr & Teleph Corp <Ntt> | Video management method/device |
JP5336942B2 (en) * | 2009-06-23 | 2013-11-06 | 日本電信電話株式会社 | Encoding method, decoding method, encoder, decoder, program |
JP5336943B2 (en) * | 2009-06-23 | 2013-11-06 | 日本電信電話株式会社 | Encoding method, decoding method, encoder, decoder, program |
JP5355244B2 (en) * | 2009-06-23 | 2013-11-27 | 日本電信電話株式会社 | Encoding method, decoding method, encoder, decoder and program |
-
1991
- 1991-07-29 JP JP3188956A patent/JP3045197B2/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
電子通信学会技術研究報告、信学技報Vol.84、No.60、pp17−23、CS84−32、「通信路歪を低減するベクトル量子化の伝送符号の割り当てに関する一検討」相澤ほか |
Also Published As
Publication number | Publication date |
---|---|
JPH0537397A (en) | 1993-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3242804B2 (en) | Method for detecting information bits processed by a concatenated block code | |
US4727354A (en) | System for selecting best fit vector code in vector quantization encoding | |
US5091945A (en) | Source dependent channel coding with error protection | |
JP3114197B2 (en) | Voice parameter coding method | |
EP2274833B1 (en) | Vector quantisation method | |
US6269333B1 (en) | Codebook population using centroid pairs | |
KR20030036624A (en) | Method of decoding a variable-length codeword sequence | |
US6373411B1 (en) | Method and apparatus for performing variable-size vector entropy coding | |
EP1282237A2 (en) | Decoding method and decoding apparatus of product code | |
KR20080092770A (en) | The quantizer and method of lsf coefficient in wide-band speech coder using trellis coded quantization algorithm | |
US6321193B1 (en) | Distance and distortion estimation method and apparatus in channel optimized vector quantization | |
CN111130567B (en) | Polarization code belief propagation list decoding method added with noise disturbance and bit inversion | |
JP3045197B2 (en) | Codebook design method for vector quantizer | |
CN111835364A (en) | Low-complexity nerve BP decoding method for polarization code | |
Liang et al. | Low-complexity error correction algorithm for cyclic redundancy check codes | |
US5696563A (en) | Apparatus and methods for performing huffman coding | |
Sitaram et al. | Efficient codebooks for vector quantization image compression with an adaptive tree search algorithm | |
CN110798224A (en) | Compression coding, error detection and decoding method | |
Cao et al. | A fast search algorithm for vector quantization using a directed graph | |
US9196255B2 (en) | Low complexity target vector identification | |
CA2054849C (en) | Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits | |
US11336306B2 (en) | Decoding apparatus, decoding method, and non-transitory computer readable medium | |
CN115276900B (en) | Information transmission method and system for joint polarization of source channels of distributed source | |
Iordache et al. | Robust index assignment using Hadamard transform for vector quantization transmission over finite-memory contagion channels | |
Sánchez et al. | Low complexity channel error mitigation for distributed speech recognition over wireless channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090317 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 12 |