JPH02237270A - encoding device - Google Patents
encoding deviceInfo
- Publication number
- JPH02237270A JPH02237270A JP1056321A JP5632189A JPH02237270A JP H02237270 A JPH02237270 A JP H02237270A JP 1056321 A JP1056321 A JP 1056321A JP 5632189 A JP5632189 A JP 5632189A JP H02237270 A JPH02237270 A JP H02237270A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- codebook
- vectors
- quantization
- dimensional
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、ベクトル量子化手法によって、例えば画像情
報等の信号を符号化するための符号化装置に関するもの
である。DETAILED DESCRIPTION OF THE INVENTION [Industrial Field of Application] The present invention relates to an encoding device for encoding signals such as image information using a vector quantization technique.
[従来の技術]
従来、ベクトル量子化による符号化器は、第13A図に
示すように、人力ベクトルと、メモリ1に格納されてい
るコードブック内の再生ベクトルとの距離を演算器2で
演算し、これらの演算結果に基づいて比較器3で最短距
離の再生ベクトルを選択して、そのコードを出力すると
いうものである。また、第13B図に示すように、予め
入カベクトルに対して最短距離にあるベク]一ルを予め
求め、それらをメモリ4に記憶しておくようにし、人力
ベクトルを与えると再生ベクトルのコードか得られるル
ックアップテーブル(以下、LUTと略す)方式によっ
て構成されていた。[Prior Art] Conventionally, an encoder using vector quantization calculates the distance between a human vector and a reproduced vector in a codebook stored in a memory 1 using a calculator 2, as shown in FIG. 13A. Based on the results of these calculations, the comparator 3 selects the reproduction vector with the shortest distance and outputs its code. In addition, as shown in FIG. 13B, the vectors at the shortest distance to the input vector are calculated in advance and stored in the memory 4, so that when a human vector is given, the code of the reproduced vector is calculated. It was constructed using a lookup table (hereinafter abbreviated as LUT) method.
[発明が解決しようとしている課題コ
しかしながら前者の演算器による構成(第13A図)で
は、人力ベクトルが高次元になればなるほど、演算回路
や比較器の規模が増大するために、コストやスピードの
面で問題がある。[Problems to be Solved by the Invention] However, in the former configuration using arithmetic units (Figure 13A), the higher the dimensionality of the human vector, the larger the scale of the arithmetic circuits and comparators, resulting in lower cost and speed. There is a problem in terms of
また、LUT方式(第13B図)はスピードやコストの
面での問題は解決しているが、入力ベクトルの次元が高
くなると以下のような欠点がある。Further, although the LUT method (FIG. 13B) solves the problems in terms of speed and cost, it has the following drawbacks when the dimension of the input vector increases.
(i):多次元のベクトル量子化器のLUTを全探索型
で行う場合には、膨大な演算時間とハードウエアが必要
であり、符号化効率、コストの面で問題がある。(i): When performing an exhaustive search on the LUT of a multidimensional vector quantizer, a huge amount of calculation time and hardware are required, which poses problems in terms of coding efficiency and cost.
(ii):メモリの容量が素子の大きさによって制限さ
れてしまい、ROM等での構成が難しい。(ii): The capacity of the memory is limited by the size of the element, making it difficult to configure it with a ROM or the like.
(iii) : L U Tの前にスカラ量子化器を設
定しただけでは、ベクトルの要素間ての相関が利用でき
ず、効率,画質が低下する。(iii): If only a scalar quantizer is set before the LUT, the correlation between vector elements cannot be utilized, resulting in a decrease in efficiency and image quality.
即ち、演算器方式よりもスピードの面で勝ると言われる
LUT方式てあっても、入力信号によっては、演算速度
の低下や、符号化効率や画質の劣化等の問題が残ってい
るのである。That is, even though the LUT method is said to be superior to the arithmetic unit method in terms of speed, there are still problems such as a decrease in calculation speed and deterioration of encoding efficiency and image quality depending on the input signal.
[課題を解決するための手段コ
そこで本発明は、これら従来の演算器方式やLUT方式
の有する演算速度、符号化効率や回路規模等の問題を、
ベクトル量子化を多段で構成することにより解決したも
のである。[Means for Solving the Problems] Therefore, the present invention solves the problems of the conventional arithmetic unit system and LUT system, such as the calculation speed, coding efficiency, and circuit size.
This problem was solved by configuring vector quantization in multiple stages.
この課題を達成するための本発明の符号化方法に係る構
成は、前もってトレーニングデータから作成したコード
ブックを用いて、信号のベクトル量子化を行う符号化方
法において、入力信号ベクトルを表すn次元ベクトルを
、各々がp次元(p<n)の複数のベクトル空間に分割
する第1の工程と、これらの分割された個々のベクトル
を、同じ空間をもつコードブックによりベクトル量子化
する第2の工程と、上記工程によりベクトル量子化され
た個々の量子化結果をq次元(q≦n)のベクトルに合
成する第3の工程と、このq次元のベクトルを、これら
が表すベクトル空間の構成をもつコードブックによりベ
クトル量子化する第4の工程と、q=nとなるまで、上
記第3,第4の工程を繰り返す第5の工程とからなるこ
とを特徴とする。The configuration of the encoding method of the present invention for achieving this task is to use a codebook created from training data in advance to perform vector quantization of a signal. A first step of dividing into a plurality of vector spaces, each of which has p dimensions (p<n), and a second step of vector quantizing these divided individual vectors using a codebook having the same space. and a third step of composing the individual quantization results vector quantized in the above steps into a q-dimensional (q≦n) vector, and composing this q-dimensional vector with the configuration of the vector space they represent. It is characterized by comprising a fourth step of vector quantization using a codebook, and a fifth step of repeating the third and fourth steps until q=n.
また本発明の符号化装置に係る構成は、前もって1・レ
ーニングデータから作成したコードブックを用いて、信
号のベクトル量子化を行う符号化装置において、入力信
号ベクトルを表すn次元ベクトルを、各々がp次元(p
<n)の複数のベクトル空間に分割する分割手段と、こ
れらの分割された個々のベクトルを、同じ空間をもつコ
ードブックによりベクトル量子化する第1のベクトル量
子化手段と、この第1のベクトル量子化手段によりベク
トル量子化された個々の量子化結果をq次元(q≦n)
のベクトルに合成する合成手段と、このq次元のベクト
ルを、これらが表すベクトル空間の構成をもつコードブ
ックによりベクトル量子化する第2のベクトル量子化手
段とを有し、少なくとも、q−nとなるまで、上記第1
のベクトル量子化手段と、合成手段と、第2のベクトル
量子化手段とを複数段に線形に配列したことを特徴とす
る。Further, in the configuration of the encoding device of the present invention, in the encoding device that performs vector quantization of a signal using a codebook created in advance from 1. training data, each n-dimensional vector representing an input signal vector is p dimension (p
<n); a first vector quantization means for vector quantizing these divided individual vectors using a codebook having the same space; The individual quantization results vector-quantized by the quantization means are q-dimensional (q≦n)
and a second vector quantization means that vector quantizes this q-dimensional vector using a codebook having a configuration of a vector space that these q-dimensional vectors represent. until the above 1st
The vector quantization means, the synthesis means, and the second vector quantization means are linearly arranged in multiple stages.
また、本発明のコードブックの作成方法に係る構成は、
p次元の入力信号ベクトルとq次元の入力信号ベクトル
の各々を夫々第1,第2のコードブックを用いてベクト
ル量子化し、これらの2つの量子化結果を合成して得た
ベクトルを第3のコードブックにより更に量子化する符
号化方式におりる前記第3のコードブックの作成方法で
あって、第1及び第2のコードブックによる量子化によ
っては、第3のコードブックで使用されることのない再
生ベクトルを抽出する第1の工程と、この抽出された再
生ベクトルを第3のコードブックから削除する第2の工
程とを具備したことを特徴とする。Further, the configuration related to the codebook creation method of the present invention is as follows:
Each of the p-dimensional input signal vector and the q-dimensional input signal vector is vector quantized using the first and second codebooks, and the vector obtained by combining these two quantization results is The method for creating the third codebook, which involves further quantization using the codebook, wherein the quantization using the first and second codebooks is used in the third codebook. The present invention is characterized in that it includes a first step of extracting a reproduced vector without a code, and a second step of deleting the extracted reproduced vector from a third codebook.
[実施例]
以下添付図面を参照して、木発明を画像信号の符号化に
適用した実施例を第1実施例〜第3実施例まで3つ挙げ
て説明する。[Embodiments] Three embodiments in which the tree invention is applied to image signal encoding will be described below with reference to the accompanying drawings, including a first embodiment to a third embodiment.
〈第1実施例〉
第1図は第1の実施例に係る符号化装置を示す構成図で
ある。図中、10は本装置の画像信号をベクトルの形で
入力するための入力端予てある。<First Example> FIG. 1 is a configuration diagram showing an encoding device according to a first example. In the figure, reference numeral 10 denotes an input terminal for inputting an image signal of the present device in the form of a vector.
この画像データとしてのベクトルは、4×4の画像ブロ
ックに対してアダマール変換を施して得たものてある。This vector as image data is obtained by applying Hadamard transformation to a 4×4 image block.
また、11は入力されたベクトルを部分空間に細分割す
る分配器である。12a〜dは人力されたシーケンスを
シーケンス毎にスカラ量子化するスカラ量子化器であっ
て、SQと略して図中に示す。13a〜13gはベクト
ル量子化器であって、このうち、13a〜13dは入力
されたベクトルに最短距離にあるベクトルのコードを格
納してあるLUTメモリであり、13e〜13gは入力
されたベクトルコードの表すベクトル等に最短距離にあ
るベクトルのコードを格納してあるLUTメモリから構
成される。即ち、13a〜13dの4つのベクトル量子
化器が並列に配置され、これら4つの量子化器に対して
直列に、13e.13fの2つの量子化器(13e,1
3fは互いに並列の関係になる)と、13gの量子化器
が配置ざれている。また、14はベクトル量子化ざれた
出力結果としてのコードの出力端子である。Further, 11 is a distributor that subdivides the input vector into subspaces. Reference numerals 12a to 12d are scalar quantizers that scalar quantize a manually input sequence for each sequence, and are abbreviated as SQ in the figure. 13a to 13g are vector quantizers, of which 13a to 13d are LUT memories that store the code of the vector closest to the input vector, and 13e to 13g are the input vector codes. It consists of an LUT memory that stores the code of the vector that is the shortest distance from the vector represented by . That is, four vector quantizers 13a to 13d are arranged in parallel, and vector quantizers 13e. 13f two quantizers (13e, 1
3f are in a parallel relationship with each other) and 13g quantizers are arranged. Further, 14 is an output terminal of a code as an output result of vector quantization.
実施例の画像の符号化は、4×4のブロックを切り出し
、ブロック単位でこれに前処理(本実施例では、一例と
してアダマール変換)を施し、その結果をベクトル量子
化することによって、画像を符号化する際のベクトル量
子化における写像ベクトルの決定する。ベクトル量子化
の概念は、以下に述べる全実施例において共通するもの
である。ヘク1・ル量子化は木質的に優れた符号化であ
り、スカラー量子化と比較して、量子化歪を大幅に改善
する事が可能である。Image encoding in this example involves cutting out 4x4 blocks, applying preprocessing to each block (in this example, Hadamard transform as an example), and vector quantizing the results. Determine the mapping vector for vector quantization during encoding. The concept of vector quantization is common to all embodiments described below. Hex-le quantization is a type of encoding that is superior in terms of wood quality, and can significantly improve quantization distortion compared to scalar quantization.
第2図に従って、簡単にベクトル量子化の概念を述べる
。入力信号をK個毎にブロック化して、このブロックを
第2図の説明の便宜上、K次元のベクトルXで表すもの
とする。ベクトル量子化とは、このXから前もって用意
されたN個のベクトルの集合への写像として見る事が出
来る。このN個のベクトルを出力ベクトルと呼び、この
集合をコート・ブック(又は、出力ベクトル・セット)
と呼ぶ。第2図はベクトル量子化の基本的な構成を示し
ている。The concept of vector quantization will be briefly described according to FIG. The input signals are divided into K blocks, and each block is represented by a K-dimensional vector X for convenience of explanation in FIG. Vector quantization can be seen as mapping from this X to a set of N vectors prepared in advance. These N vectors are called output vectors, and this set is called a coat book (or output vector set).
It is called. FIG. 2 shows the basic configuration of vector quantization.
今、入力信号系のK個のサンプルをブロック化して人力
ベクトル
.X= (X+ ,X2 .X3.”’.Xk)とする
。これらのベクトルの集合はK次元ユークリット信号空
間Rkを構成する。この空間Rkハ、前もって所定のア
ルゴリズム(トレーニング)により、n個の部分空間P
Iに分割されているものとする。P1を構成するベクト
ルは既知であるとする。この部分空間を構成ベクトルと
して、部分空間R+の代表ベクトルR,を選ぶ。従って
、もし
XεR,
てあるならば、その指標(インデックス・ナンバー)i
は入力ベクトルXを表わすことができる。Now, we will block K samples of the input signal system and create a human vector. Let X = (X+ ,X2 .X3."'. subspace P
Assume that it is divided into I. It is assumed that the vectors forming P1 are known. Using this subspace as a constituent vector, a representative vector R of the subspace R+ is selected. Therefore, if XεR, then its index (index number) i
can represent the input vector X.
即ち、このiを伝送、または蓄積することにより、圧縮
/符号化が可能となる。そして、復号側では、複号側の
コードブックの同じi番地に格納されたK次元ベクトル
、
R + ”” ( r+,r2,r3.”’+ r
Jを入カベクトルXの再生ベクトルとして出力する。こ
の様な
X→R1
のような写像F
F :Rl =f (X)
をベクトル量子化と呼ぶ。この写像はXをRIに写像す
る事による歪が最小となるように行われる。即ち、コー
ドブックは、ある定められたトレニング・シーケンスに
従って、平均歪を極小にするように生成される。ベクト
ル量子化はブロックを単位として量子化を行う手法であ
り、この次元数、即ちブロックの大きさを犬き〈する事
によって理論的なデータ圧縮限界に近づく事が知られて
いる。また、量子化誤差がランダム化される為、画像信
号を対象とした場合にはS/N比の割に高い再生品位が
得られる。That is, by transmitting or storing this i, compression/encoding becomes possible. Then, on the decoding side, the K-dimensional vector stored at the same i address in the codebook on the decoding side, R + "" (r+, r2, r3."'+ r
Output J as a reproduction vector of input vector X. Such a mapping F F :Rl = f (X) such as X→R1 is called vector quantization. This mapping is done so that the distortion caused by mapping X to RI is minimized. That is, the codebook is generated according to a certain predetermined training sequence so as to minimize the average distortion. Vector quantization is a method of quantizing in units of blocks, and it is known that increasing the number of dimensions, that is, the size of the block, approaches the theoretical data compression limit. Furthermore, since the quantization error is randomized, when an image signal is targeted, a high reproduction quality can be obtained in relation to the S/N ratio.
次に、本実施例に用いられるアダマール変換について説
明する。このアダマール変換は直交変換の一形態である
が、かかる直交変換は、ベクトル量子化の前処理とL,
て特に好適だからである。Next, the Hadamard transform used in this embodiment will be explained. This Hadamard transform is a form of orthogonal transform, but this orthogonal transform requires vector quantization preprocessing and L,
This is because it is particularly suitable.
尚、このアダマール変換は第1〜第3実施例に共通のも
のである
例示として、符号化の対象画像を白黒多値画像とし、各
画素が8ビットの情報量であるとする。This Hadamard transform is common to the first to third embodiments. As an example, it is assumed that the image to be encoded is a monochrome multivalued image, and each pixel has an information amount of 8 bits.
アダマール変換は、例えば第3A図に示すような、4×
4画素のブロックに対して施される。Hadamard transform is, for example, 4× as shown in Figure 3A.
This is applied to a block of 4 pixels.
xl,1(i・1・・4, j−1・・4)は画像の画
素を表す。xl,1 (i.1..4, j-1..4) represents a pixel of the image.
このXIJを行列Xを用いて表すと、
X − [X11,X12,X13,X14,X21.
X22,X23,X24,X31,X32,.X33.
X34.X41.L2.X43.X44]T− ( 1
)となる。但し、上式中のTは転置行列を示す。この
Xに対してアダマール変換を施した結果をy目(J−1
・・4.j− 1・・4)とすると、このyIJで表さ
れる行列Yは、
Y = [yI+1yI2・y13・yl41y2
1・V22 +y231y24Y311y32・V33
1y34・y41.y42・y43 ,Y<41”・・
・ (2)
である。すると、行列Xから行列Yへの変換は以下の(
3)式で表される。When this XIJ is expressed using a matrix X, X − [X11, X12, X13, X14, X21.
X22, X23, X24, X31, X32, . X33.
X34. X41. L2. X43. X44]T-(1
). However, T in the above formula represents a transposed matrix. The result of applying Hadamard transformation to this X is the y-th (J-1
・・4. j- 1...4), the matrix Y represented by yIJ is Y = [yI+1yI2・y13・yl41y2
1・V22 +y231y24Y311y32・V33
1y34・y41. y42・y43, Y<41"...
・(2) It is. Then, the conversion from matrix X to matrix Y is as follows (
3) It is expressed by the formula.
ここで、I{+aは16欣のアダマール行列であり、次
の式で表される。Here, I{+a is a 16-line Hadamard matrix and is expressed by the following equation.
[以下余白]
4×4の画素ブロックにアダマール変換を施して得られ
た係数をシーケンシと呼ぶ。即ち、4×4の画素ブロッ
クについては、16個のシーケンシが得られる。このう
ち、y++は直流成分であり、残りの15個の交流成分
を量子化の対象とする。[Margin below] The coefficients obtained by applying Hadamard transform to a 4×4 pixel block are called a sequence. That is, for a 4×4 pixel block, 16 sequences are obtained. Among these, y++ is a DC component, and the remaining 15 AC components are to be quantized.
さて、15個のシーケンシの量子化に際し、1シーケン
シ当りの情報量を10ビットとすると、従来のLUT方
式では、
10(ビット) Xi 5=1 50 (ビット)の情
報量をアドレスとするメモリをLUTに用いる必要があ
り、これが回路の大規模化にっなかったことは前述した
通りである。そこで、第1実施例では、入力ベクトル空
間を部分空間に分割する。これは次の理由による。シー
ケンシは周波数のパワーを示しており、前処理としての
直交変換かアダマール変換であれは、4×4のシーケン
シは、一般に、左上が低周波、右下が高周波という傾向
を示す。また、各シーケンシの周波数的に近いところは
分散が等しくなる傾向があるから、ベクトル量子化を行
うにはこのようなところで新たなベクトルを形成して量
子化することが適している。即ち、低周波部分と高周波
部分とに分割して新たなベクトルを構成すると、この新
たなベクトルのタイナミツクレンジは近接しているから
、このベクトルをベクトル量子化しても量子化歪みは少
ないことになる。Now, when quantizing 15 sequences, assuming that the amount of information per sequence is 10 bits, in the conventional LUT method, a memory whose address is the amount of information of 10 (bits) Xi 5 = 1 50 (bits) is As mentioned above, it was necessary to use it as an LUT, and this was not suitable for increasing the scale of the circuit. Therefore, in the first embodiment, the input vector space is divided into subspaces. This is due to the following reason. The sequence indicates the power of the frequency, and whether orthogonal transform or Hadamard transform is used as preprocessing, a 4×4 sequence generally shows a tendency for the upper left to be a low frequency and the lower right to be a high frequency. Further, since the variances tend to be equal in areas where the frequencies of each sequence are close, it is suitable to perform vector quantization by forming a new vector and quantizing in such areas. In other words, if we construct a new vector by dividing it into a low frequency part and a high frequency part, the dynamic range of this new vector is close, so even if we vector quantize this vector, there will be little quantization distortion. Become.
第3A図は、この第1実施例の分配器11に適用されて
いる4×4ベクトルの空間分割を表す図である。シーケ
ンシ20aは直流成分であり、前述したように、ベクト
ル量子化の対象から除外する。他の15個の交流成分シ
ーケンシ20b〜20pを本符号化装置の端子10より
入力する。分配器11は、シーケンシ20b〜20pを
以下に続くスカラ量子化器に、第3A図に示すように分
配する働きをする。即ち、分配器11は人力のベクトル
空間を部分空間に分割するもので、具体的には、シーケ
ンシ20b,20e,20fをスカラ量子化器12aへ
、シーケンシ20c,20g,20i,20jをスカラ
量子化器12bへ、シーケンシ2Qd 20h.20
m,20nをスカラ量子化器12cへ、シーケンシ2C
lk,201,20o,2Qpをスカラ量子化器12d
へ分配する。各スカラ量子化器は各シーケンシを次のベ
クトル量子化器13a〜+36を最小の個数のROMで
構成てぎるビット数まで量子化する。FIG. 3A is a diagram showing the 4×4 vector space division applied to the distributor 11 of this first embodiment. The sequence 20a is a DC component, and as described above, is excluded from vector quantization. The other 15 alternating current component sequences 20b to 20p are inputted from the terminal 10 of the present encoding device. Distributor 11 serves to distribute sequences 20b-20p to the following scalar quantizers as shown in FIG. 3A. That is, the distributor 11 divides the human vector space into subspaces. Specifically, the sequences 20b, 20e, 20f are sent to the scalar quantizer 12a, and the sequences 20c, 20g, 20i, 20j are sent to the scalar quantizer 12a. to vessel 12b, sequence 2Qd 20h. 20
m, 20n to scalar quantizer 12c, sequence 2C
lk, 201, 20o, 2Qp by scalar quantizer 12d
distribute to. Each scalar quantizer quantizes each sequence to the number of bits that can be configured by the next vector quantizers 13a to +36 with the minimum number of ROMs.
尚、これらのスカラ量子化器12a〜12dはシーケン
シの数と等しい個数のROMで構成されるか、ラッチを
用いて少ないROMで構成することが可能である。It should be noted that these scalar quantizers 12a to 12d can be configured with a number of ROMs equal to the number of sequences, or can be configured with a small number of ROMs using latches.
スカラ量子化器12aからはシーケンシ20b,20e
,20fによるスカラ量子化後の3次元ベクトルが出力
され、スカラ量子化器12bからはシーケンシ20c,
20g,20i,20jによるスカラ量子化後の4次元
ベクトルが出力され、スカラ量子化器12cからはシー
ケンシ20d.20h,20m,20nによるスカラ量
子化後の4次元ベクトルが出力され、スカラ量子化器1
2dからはシーケンシ20k,201,20o,20p
によるスカラ量子化後の4次元ベクトルが出力される。From the scalar quantizer 12a, the sequences 20b and 20e are
, 20f is output, and the scalar quantizer 12b outputs a three-dimensional vector after scalar quantization by the sequences 20c, 20f.
20g, 20i, and 20j are output, and the scalar quantizer 12c outputs a four-dimensional vector after scalar quantization by the sequences 20d. A four-dimensional vector after scalar quantization using 20h, 20m, and 20n is output, and the scalar quantizer 1
From 2d, the sequence is 20k, 201, 20o, 20p.
A four-dimensional vector after scalar quantization is output.
各ベクトル量子化器13a〜13dは、これらのスカラ
量子化器から与えられた3次元ないしは4次元のベクト
ルに対して量子化を行い、再生べクトルのコードを求め
て、ベクトル量子化器13e,13fに出力する。即ち
、ベクトル量子化器13eは前段のベクトル量子化器1
3a 13bの再生ベクトルのコードを入力し、ベク
トル量子化器13fは前段のベクトル量子化器13c,
13dの再生ベクトルのコードを入力する。Each of the vector quantizers 13a to 13d quantizes the three-dimensional or four-dimensional vector given from these scalar quantizers, obtains the code of the reproduced vector, and then outputs the code to the vector quantizer 13e, Output to 13f. That is, the vector quantizer 13e is the vector quantizer 1 at the previous stage.
The codes of reproduction vectors 3a and 13b are input, and the vector quantizer 13f is connected to the previous stage vector quantizer 13c,
Input the reproduction vector code of 13d.
ベクトル量子化器13e,13fを構成するLUTの内
容を決定手法について説明する。先ず、入力された再生
ベクトルのコードをベクトルに一度復号し、そして、そ
のベクトル空間全体を第3B図のように2つに分割して
新しいベクトルを作成する。これに対してベクトル量子
化を施して得られる再生ベクトルのコードを求め、これ
が13e,13fのLUTの内容となる。A method for determining the contents of the LUTs constituting the vector quantizers 13e and 13f will be described. First, the code of the input reproduced vector is decoded once into a vector, and then the entire vector space is divided into two as shown in FIG. 3B to create a new vector. Vector quantization is applied to this to obtain a reproduction vector code, which becomes the contents of the LUTs 13e and 13f.
かくして、ベクトル量子化器13eは元のシーケンシ2
0b,20c,20d,20e,20f,20g,20
i,20jについてのベクトル量子化を行う。またベク
トル量子化器13fはシーケンシ20d,20h.20
k,201,20i,20jについてのベクトル量子化
を行う。Thus, the vector quantizer 13e converts the original sequence 2
0b, 20c, 20d, 20e, 20f, 20g, 20
Vector quantization is performed for i, 20j. Further, the vector quantizer 13f has sequences 20d, 20h. 20
Vector quantization is performed for k, 201, 20i, and 20j.
ベクトル量子化器13gは前段のベクトル量子化器13
e,13fの再生ベクトルコードな入力する。即ち、前
段のベクトル量子化器13e,13fと同様に、入力さ
れた再生ベクトルコードを復号し、ベクトル空間を15
次元にもどしてベクトル量子化を施した結果の再生ベク
トルコードを得る。The vector quantizer 13g is the vector quantizer 13 in the previous stage.
Input the reproduction vector code of e and 13f. That is, similarly to the vector quantizers 13e and 13f in the previous stage, the input reproduced vector code is decoded and the vector space is
A reproduced vector code is obtained as a result of returning to the dimension and applying vector quantization.
この様な構成をとることによって、人力された15次元
の入力を多段構成のベクトル量子化器を介して、再生ベ
クトルコードを得る。By adopting such a configuration, a reproduced vector code is obtained by inputting a 15-dimensional human input through a multi-stage vector quantizer.
次に各ベクトル量子化のコードブックの作成について述
べる。コードブックの作成には一般にLBG法を用いて
行う。これは母集団となるトレニングデータから再生ベ
クトルを算出する手法としてよく知られている。そこで
本実施例ではこのLBG法を用いる。前述の4×4のベ
クトル空間を例にとって説明する。Next, we will describe the creation of a codebook for each vector quantization. The codebook is generally created using the LBG method. This is a well-known method for calculating a playback vector from training data serving as a population. Therefore, this embodiment uses this LBG method. This will be explained using the aforementioned 4×4 vector space as an example.
トレーニングデータな作成する方法として、実際に画像
に対してアダマール変換を施して得られるベクトルを集
める方法がある。このようにして、16次元のベクトル
からなるトレーニングデータを作成する。そこからアダ
マール変換により、各ベクトル量子化器に必要なシーケ
ンシをとり出し、必要な次元のベクトルからなるトレー
ニングテーブルを作成する。そして、これらから必要な
再生ベクトルコードを得るためにLBG法を適用すると
いうものである。このようにするのも、各ベクトル量子
化器を1・レーニングデータから直接設計することによ
って、前段の量子化による歪みのないコードブックを得
ることができるからである。One way to create training data is to collect vectors obtained by actually applying Hadamard transform to images. In this way, training data consisting of 16-dimensional vectors is created. From there, the sequence required for each vector quantizer is extracted using Hadamard transform, and a training table consisting of vectors of the required dimensions is created. Then, the LBG method is applied to obtain the necessary reproduction vector code from these. The reason for doing this is that by directly designing each vector quantizer from the 1-learning data, a codebook without distortion caused by the previous stage quantization can be obtained.
前述のコードブックの作成方法によると、歪みのないと
いう点ては全段最適となるコードブックが得られる。し
かしながら、前段の量子化によって後段にある再生ベク
トルが使用されない場合が生じ、効率的ではないという
問題がでてくる。According to the above codebook creation method, a codebook that is optimal in all stages in terms of no distortion can be obtained. However, due to the quantization in the first stage, the reconstruction vector in the second stage may not be used, resulting in a problem that it is not efficient.
第4図〜第5図はこの使用されない再生ベクトルの発生
を説明する図である。第4図は2×2のブロックについ
ての不使用再生ベクトル発生の全体を説明する図であり
、第5A図〜第5Dは第4図の個々の過程を説明してい
る。ベクトルの大きさを2X2=4としたのは、4X4
=16の場合よりも説明か単純化するからであり、両者
には木質的には差がない。従って、第4図〜第5図でな
された2×2の議言向はそのまま4X4の言義言向に適
用される。さて、第4図の処理は以下のようなものであ
る。4次元の人力ヘク1・ル、
Y4°{’!+ + y2+ ’I3+ ”Is )を
入力し、このベクトルY4は、第5A図にも示すように
、
國;二じ::乞{
に分割される。尚、この分割は第1図の分配器11によ
る分割に対応する。そして更に、第4図に戻って、分割
された個々のベクトルY I + Y 2に対しベクト
ル量子化を行い、その結果を合成して得たベクトルY。FIGS. 4 and 5 are diagrams illustrating the generation of unused reproduction vectors. FIG. 4 is a diagram for explaining the entire generation of unused reproduction vectors for 2×2 blocks, and FIGS. 5A to 5D explain the individual processes in FIG. 4. The size of the vector is 2X2=4, which means 4X4
This is because the explanation is simpler than in the case of =16, and there is no difference in terms of wood quality between the two. Therefore, the 2 x 2 word direction made in FIGS. 4 and 5 is directly applied to the 4 x 4 word direction. Now, the processing shown in FIG. 4 is as follows. 4-dimensional human power Hek1・ru, Y4°{'! + + y2+ 'I3+ "Is)", and this vector Y4 is divided into country; 2ji::be{ as shown in FIG. Further, returning to FIG. 4, vector quantization is performed on each divided vector Y I + Y 2, and the results are combined to obtain a vector Y.
を再びベクトル量子化する。これが第4図の処理である
。ここで、各y1〜y4は2ビットのデータで、0,1
,2.3の何れかの値であるとする。Vector quantize again. This is the process shown in FIG. Here, each y1 to y4 is 2-bit data, 0, 1
, 2.3.
さて、Y+={y+,y2}を2ビットの情報にベクト
ル量子化するためのコードブックCIの再生ベクトルX
1.〜Xl4を、第5A図にも示す如く以下のように定
める。Now, the reproduction vector X of the codebook CI for vector quantizing Y+={y+, y2} into 2-bit information
1. ~Xl4 is determined as follows, as also shown in FIG. 5A.
C,E {x++} H=i 〜4)また、Y2
= (y3.’I4’jをベクトル量子化し、同ように
2ビットの情報にベクトル量子化するためのコードブツ
クC2の再生ベクトルX2,〜X24を、第5B図にも
示す如く、以下のように定める。C, E {x++} H=i ~4) Also, Y2
= (Y3.'I4'j is vector quantized, and the reproduced vectors X2, to X24 of codebook C2 for vector quantization into 2-bit information are as follows, as shown in FIG. 5B. stipulated in
C2 ε {X21} (i=1 〜4)さらに
、Yl,Y2をベクトル量子化した結果に得られた再生
ベクトルを、
とし、これらを合成したベクトルを、
Yo ”” {y+’+ ’l2”+ y3’ + y
4 ’ )とする。これをベクトル量子化するコードブ
ックcoの再生ベクトルをX。1〜XO8を以下のよう
に定める。C2 ε {X21} (i=1 to 4) Furthermore, the reproduction vector obtained as a result of vector quantization of Yl and Y2 is as follows, and the vector that combines these is Yo ``''{y+'+'l2'' + y3' + y
4'). The reproduction vector of the codebook co that vector quantizes this is X. 1 to XO8 are determined as follows.
Co E {xo+} (i=1〜a)Xo6=
{3, 2, 1 . 1 }このように、
ベクトル及びコードブックを定義した上で、使用されな
い再生ベクトルの発生について説明する。Co E {xo+} (i=1~a)Xo6=
{3, 2, 1. 1 } In this way,
After defining vectors and codebooks, the generation of unused reproduction vectors will be explained.
例えは、Y.= {2.1}のような成分を有するヘク
1−ルが人力された場合を考察する。コードブックC1
のベクトル量子化によって、Y1はY“l==Xl3=
{3.1}に量子化される。このY1゛がY2゜と合
成され、合成ベクトルY。とされ、コードブックC。に
よりベクトル量子化される。ここて、C1のベクトル量
子化により{21}は(3.1)に量子化されているの
で、ベクトルY。を量子化する際は、このY。には、コ
ードブックC。の{3.1}成分をもつ入力ベクトルの
みが量子化される。換言すれば、ベクトルYoには{2
,t}成分は出現せず、そのために、Co中の{2.1
}成分を有する再生ベクトルX。5. XOIIは全
く使用されない。このような使用されないベクトルを『
不使用再生ベクトルJを呼ぶ。このように使われること
のないベクトルをコードブックに記憶していたのでは効
率が低下する。そこで不使用再生ベクトルXOSを取り
除き、その替りに新しい再生ベクトルを加えることによ
って効率を向上させる。For example, Y. Consider the case where a hectare with components such as = {2.1} is manually constructed. Codebook C1
By vector quantization of , Y1 becomes Y"l==Xl3=
Quantized to {3.1}. This Y1゛ is combined with Y2゜, resulting in a composite vector Y. Codebook C. is vector quantized by Here, {21} is quantized to (3.1) by vector quantization of C1, so vector Y. When quantizing, this Y. Codebook C. Only input vectors with {3.1} components of are quantized. In other words, the vector Yo has {2
,t} component does not appear, therefore, {2.1
} component of the reproduction vector X. 5. XOII is not used at all. Such unused vectors can be
Call the unused reproduction vector J. Storing vectors that are never used in this way in the codebook reduces efficiency. Therefore, the efficiency is improved by removing the unused reproduction vector XOS and adding a new reproduction vector in its place.
第6図に、不使用再生ベク1−ルを取り除き、新しい再
生ベクトルと交換する手順をフローヂャートで示す。こ
のフローチャートは、一例として、第4図の如く、2×
2の入力ベクトルを2つのベクトルに分割して夫々をC
,,C2によりベクトル量子化し、結果を2X2のベク
トルに合成して、再度、コートブツクC。によりベクト
ル量子化するという場合の、コードブツクC。中の不使
用ベクトルの削除の手順である。まず、ステップS2,
S4で、コードブツクC2の中に不使用再生ベクトルか
あるかないかを調べる。このチェックは次のようにして
行なう。即ち、あらゆるパターンの人力ベクトルに対し
て、C,またはC2のベクトル量子化を行ない、この結
果の再生ベクトルをC。でヘク}・ル量子化を行なう。FIG. 6 is a flowchart showing the procedure for removing unused reproduction vectors and replacing them with new reproduction vectors. As an example, this flowchart shows 2×
2 input vectors into two vectors and each
,,C2, vector quantization is performed, the result is combined into a 2×2 vector, and again, coatbook C. Codebook C for vector quantization. This is the procedure for deleting unused vectors inside. First, step S2,
In S4, it is checked whether there is an unused reproduction vector in the codebook C2. This check is performed as follows. That is, vector quantization of C or C2 is performed on human vectors of any pattern, and the resulting reproduced vector is C. Perform hexle quantization.
そして、上記全ての人力パターンに対して一度も再生ベ
クトルとして使用されなかったC。中のものを、不使用
再生ベクトルxNとして拾い出すのである。And C, which was never used as a reproduction vector for all the above manual patterns. The contents inside are picked out as unused reproduction vectors xN.
尚、人力ベクトルのパターンとは、第4図の例では゛’
0000゜′〜” 1 1 1 1 ”の任意のパタ
ーンである。In addition, the pattern of the human power vector is ``'' in the example of Figure 4.
It is an arbitrary pattern from 0000°' to "1 1 1 1".
ステップS6では、コードブックC2のなかから不使用
ベクトルXNを取り除く。そして同時に、ステップS8
ではトレーニングデータTの全てについてC,,C2に
よりベクトル量子化を行ない新たなトレーニングデータ
T゜を得る。ここで、2×2のベクトルT1を2つのベ
クトルに分割し、その各々にC,,C2のベクトル量子
化を行なって新たなベクトルT゜を得るという操作を、
T + ’ 一V QCIC2 (T +)と表記
する。ここで、
{+:・冗二じ;ぢH
とする。このとき、トレーニングデータの次元はコード
ブツクC。の表すベクトル空間の次元である。次に、ス
テップ510で、新しいトレーニングデータT゜のベク
トルT,゜のうち、コードブツクC。内の再生ベクトル
xIとの距離が最も遠いものをベクトルX,として求め
る。即ち、X,にMAX (djs {X I,T J
’))とする。そして、ステップS12ては、この距離
の遠いベクトルxFを新たな再生ベクトルとしてコード
ブツクC。に加える。即ち、
co4−co+xF
とする。この場合、XFはLUTであるC。の、前記x
Nが削除された部分に格納される。このようにするのも
、不使用ベクトルは密度が高い部分に発生するものであ
るから、密度が粗な領域に新たな再生ベクトルを追加す
ることにより、テーブルとしてのコードブツクC。の密
度均一化と効率化とを両立させるのである。In step S6, unused vectors XN are removed from codebook C2. At the same time, step S8
Now, vector quantization is performed on all of the training data T using C, , C2 to obtain new training data T°. Here, the operation of dividing the 2×2 vector T1 into two vectors and performing vector quantization of C,,C2 on each of them to obtain a new vector T° is expressed as T + '-V QCIC2 (T +). Here, {+:・doujiji;jiH. At this time, the dimension of the training data is codebook C. is the dimension of the vector space represented by . Next, in step 510, the codebook C is selected from among the vectors T,° of the new training data T°. The vector X that is the farthest from the playback vector xI is determined. That is, MAX (djs {X I, T J
')). Then, in step S12, the codebook C is stored with this distant vector xF as a new reproduction vector. Add to. That is, it is set as co4-co+xF. In this case, XF is C, which is a LUT. , said x
N is stored in the deleted part. This is also done because unused vectors occur in areas with high density, so by adding new reproduction vectors to areas with low density, Codebook C as a table is created. This achieves both uniform density and efficiency.
上述の操作をコードブツクC。内に不使用ベクトルがな
くなるまで繰返す。Codebook C for the above operations. Repeat until there are no unused vectors within.
〈第2実施例〉
第7図は、本発明の他の実施例を示す構成図である。こ
の第2実施例は、ベクトル量子化を多段構成とする点で
は同してある。しかし、第1実施例が不使用再生ベクト
ルを削除し、さらに、トレニングデータから新たな再生
ベクトルを抽出して追加するのに対し、この第2実施例
は、入力画像が線画と中間調画とが混在して含む場合に
、不使用再生ベクトルを削除して、線画のベクトル量子
化に適した再生ベクトルを追加する点て異なる。<Second Embodiment> FIG. 7 is a configuration diagram showing another embodiment of the present invention. The second embodiment is similar in that vector quantization is performed in a multi-stage configuration. However, whereas the first embodiment deletes unused reproduction vectors and further extracts and adds new reproduction vectors from the training data, in the second embodiment, the input images are line drawings and halftone images. The difference is that when a mixture of vectors is included, unused reproduction vectors are deleted and reproduction vectors suitable for line drawing vector quantization are added.
説明を簡略化する為に、この第2実施例でも、第1実施
例と同ようにアダマール変換によって得られた4×4の
シーケンシを例にとる。第7図において、110は15
個のシーケンシを人力する入力端子である。第1実施例
と同ように、直流成分は量子化の対象から外す。111
は入力されたベクトルを細分割する分配器であり、11
2a〜112dは入力されたシーケンシをスカラ量子化
するスカラ量子化器である。113a〜113gは入力
ざれたベクトル又はベクトルコートの表すベクトルをベ
クトル量子化するための量子化器であり、入力ベクトル
に対して最短距離ベクトルのコートを格納してあるLU
Tのメモリてある。114は出力端子である。端子11
5は、端子110から人力されているシーケンシの画像
が線画であるのか中間調画であるのかを選択するセレク
ト信号を人力する人力端予てある。In order to simplify the explanation, in this second embodiment as well, a 4×4 sequence obtained by Hadamard transformation is taken as an example, as in the first embodiment. In Figure 7, 110 is 15
This is an input terminal for manually inputting sequences. As in the first embodiment, the DC component is excluded from quantization. 111
is a distributor that subdivides the input vector, and 11
2a to 112d are scalar quantizers that scalar quantize the input sequence. 113a to 113g are quantizers for vector quantizing input vectors or vectors represented by vector coats, and LUs 113a to 113g are quantizers for vector quantizing input vectors or vectors represented by vector coats;
There is a memory of T. 114 is an output terminal. Terminal 11
Reference numeral 5 denotes a human input terminal for manually inputting a selection signal for selecting whether the sequence image input from the terminal 110 is a line drawing or a halftone image.
人力端子110から15個のシーケンシを人力し、これ
らのシーケンシは分配器111で以下に続くスカラ量子
化器に分配される。分配の方法は第1実施例と同じであ
る。スカラ量子化器112a〜112dに続くベクトル
量子化器113a〜113fまては第1実施例と同じ働
きをする。入力端子115はセレクト信号を人力する。Fifteen sequences are input from the input terminal 110, and these sequences are distributed by the distributor 111 to the scalar quantizers that follow. The distribution method is the same as in the first embodiment. Vector quantizers 113a to 113f following the scalar quantizers 112a to 112d function in the same manner as in the first embodiment. Input terminal 115 inputs a select signal.
このセレクト信号は最終段のベクトル量子化器113g
の中のコードブックを切換えている。今回は、説明の為
に、人力される画像が写真等の自然画像(中間調画像)
たった場合と、文字や細線画だつた場合とて、113g
のコードブックの切換えを行う。尚、このコードブック
の切り換えにおいて、2つのコードブック間で全てを切
り換えるというのではなく、特に文字画像等に生じる小
数ながらエッジ情報の保存を行うのに有効なように、線
画用と自然画用の2つの小型の特殊なコードブックを用
意して、セレクト信号によりどちらを使用するかを切換
えている。This select signal is transmitted to the final stage vector quantizer 113g.
The codebook inside is being switched. This time, for the sake of explanation, the human-generated image is a natural image such as a photograph (halftone image).
113g for single cases and cases of letters and fine line drawings.
Switch the codebook. Note that this codebook switching does not mean switching everything between the two codebooks, but rather one codebook for line drawings and one for natural drawings, which is effective for preserving edge information, although it is a small number that occurs in character images. Two small, special codebooks are prepared, and a select signal is used to switch which one to use.
このようにするのは以下の理由による。アダマール変換
のシーケンシを量子化する際に、一般に高周波のシーケ
ンシについては粗く量子化を行う。また、トレーニング
データが自然画像だった場合には、この1−レーニング
シーケンスで得られたコードブックを使えは鋭いエッジ
は再現されないことになる。即ち、第8A図のような4
5°の濃度差の大きな斜線データか入力されたとき、エ
ツジ部は図の太線で囲まれたようなブロック1218〜
121kで示され、そのブロック内の分布形状は第8B
図に表した(a)又は(b)のいずれかである。これら
にアダマール変換を施した後にベクトル量子化を施した
一例が第9A図である。前述の第8B図のブロック(a
)又は(b)は滑らかになってしまい、第9B図のよう
なブロック形状(a”)又は(b゜)になる。従って、
ブロック(a)の1画素の黒はまわりに白が多いために
極めてうずくなり、ブロック(a゜)のように白の平坦
ブロックに近くなる。また、ブロック(b)ては黒エツ
シに近い2画素がまわりに黒が多いため極めて黒に近づ
き、(b゜)のように残りの右下隅の画素も黒を帯びる
。このため、第9A図では斜めのエッジに4×4のブロ
ックのテクスヂャか目立ち、画質に悪い影響を与えてい
る。自然画像でも低周波のエッジは保存されるからであ
る。The reason for doing this is as follows. When quantizing Hadamard transform sequences, high frequency sequences are generally roughly quantized. Furthermore, if the training data is a natural image, sharp edges will not be reproduced using the codebook obtained by this 1-learning sequence. That is, 4 as shown in FIG. 8A.
When diagonal line data with a large density difference of 5° is input, the edge portion is surrounded by the thick line in the figure, blocks 1218 to 1218.
121k, and the distribution shape within that block is the 8th B.
Either (a) or (b) shown in the figure. FIG. 9A shows an example of vector quantization after Hadamard transformation. Block (a) of FIG. 8B mentioned above
) or (b) becomes smooth and becomes a block shape (a”) or (b°) as shown in Fig. 9B. Therefore,
One black pixel in block (a) becomes extremely dull because there is a lot of white surrounding it, and becomes almost a flat white block like block (a°). Furthermore, in block (b), the two pixels near the black edges are very close to black because there is a lot of black surrounding them, and the remaining pixels in the lower right corner also have a black tinge, as shown in block (b°). For this reason, in FIG. 9A, the texture of the 4×4 blocks stands out on the diagonal edges, which has a negative effect on the image quality. This is because low-frequency edges are preserved even in natural images.
そこでベクトル量子化器113gのコードブツクAの構
成を第10図のようにする。Therefore, the configuration of codebook A of the vector quantizer 113g is made as shown in FIG.
コードブツクAはn個の再生ベクトルのうち、(n−α
)個の再生ベクトルからなるコートブツクBと、α個の
再生ベクトルからなる自然画用コードブツクNと、α個
の再生ベクトルからなる文字画像用のコードブツクCか
らなっている。ここで、αが第1実施例であったような
不使用ベクトルの数に対応すると考えることができる。Codebook A has (n-α
) reproduction vectors, a codebook N for natural pictures consisting of α reproduction vectors, and a codebook C for character images consisting of α reproduction vectors. Here, it can be considered that α corresponds to the number of unused vectors as in the first embodiment.
即ち、コートブツクBは不使用ベクトルを取り除いたコ
ードブックである。コードブツクNは第1実施例のよう
にトレーニングデータから作成された再生ベクトルで構
成される。コートブツクCは再生ベクトルとして、例え
ば第8B図のようなブロック(a),(b)を登録して
おく。That is, codebook B is a codebook from which unused vectors have been removed. The codebook N is composed of reproduction vectors created from training data as in the first embodiment. For example, blocks (a) and (b) as shown in FIG. 8B are registered in court book C as playback vectors.
第11図に実際の景子化の例を示す。FIG. 11 shows an example of actual Keiko conversion.
同図において、入力へクトルXNは自然画像のベクトル
てある。また、人力ベクトルX。は文字画像のエツシ部
で、第8B図のブロック(a)のようなブロックをアダ
マール変換して入力されたベクトルである。これらの人
力ベクトルは同時には人力されることはないものの、ど
ちらも入力されると分配器111によって分割され、ス
カラ量子化器112a〜112dを経て、ベクトル量子
化器113a〜113fを経て量子化される。その量子
化結果を第11図のxpとする。ここで第11図の右側
のベクトル量子化は第7図のベクトル量子化器113g
か実行するベクトル量子化を表す。このベクトル量子化
は、コートブツクNIJ)ら距at+ 泪算によって算
出された再生ベクトルxnと、コードブックCから距離
計算によって算出された再生ベクトルX,゛とを算出す
るものである。In the figure, the input hector XN is a vector of a natural image. Also, human power vector X. is the edge portion of the character image, which is a vector input by Hadamard transformation of a block such as block (a) in FIG. 8B. These human vectors are not manually input at the same time, but when both are input, they are divided by a distributor 111, passed through scalar quantizers 112a to 112d, and then quantized via vector quantizers 113a to 113f. Ru. The quantization result is designated as xp in FIG. Here, the vector quantization on the right side of FIG. 11 is performed by the vector quantizer 113g in FIG.
represents the vector quantization to be performed. This vector quantization is to calculate a reproduction vector xn calculated from the codebook NIJ by calculating the distance at+, and a reproduction vector X,' calculated from the codebook C by distance calculation.
ここで第7図の人力端子115から人力されたセレクト
信号は第11図のセレクタに入力され、このセレクタは
、セレクト信号が符号化処理の対象が自然画像であるこ
とを示す場合(即ち、第11図で入力がベクトルxNて
ある場合)には、再生ベクトルxn゜のコートを選択し
、文字画像であるこ“とを示す場合(即ち、第11図で
入力がベクトルX。である場合)には再生ベクトルX。Here, the selection signal manually input from the human input terminal 115 in FIG. 7 is input to the selector in FIG. If the input is the vector xN in Figure 11), select the code of the reproduction vector is the reproduction vector X.
゜のコードを選択する。これによってエッジのシャープ
ネスを保つことがてきる。Select the code for ゜. This helps maintain edge sharpness.
かくして、この第2実施例によれば、自然画像のような
中間調画像と線画画像等が混在した画像を入力した場合
に、その原画の画質を劣化させずに再現性のよい符号化
が行なうことができる。また併せて、中間調画像と線画
画像とで、コードブックを共有化できる部分は共通化す
ることにより、全体のコードブックの容量を削減するこ
とができる。Thus, according to the second embodiment, when an image containing a mixture of halftone images such as natural images and line drawing images is input, encoding with good reproducibility can be performed without deteriorating the image quality of the original image. be able to. In addition, by sharing the parts of the codebook that can be shared between the halftone image and the line drawing image, it is possible to reduce the overall codebook capacity.
〈第3実施例〉
この第3実施例は、第7図の第2実施例のベクトル量子
化器113gにおいてコードブックの形態を第12図に
示す形にしたものである。第12図において、コードブ
ツクCは前述のように文字情報等のエッジに対応したコ
ードブック、即ち、第9B図のようなパターンの再生ベ
クトルを含むものである。これはコンピュータ上で二値
パターンを生成することによって得ることもできる。こ
のようなエッジ用の再生ベクトルをコードブツクCとし
て、最終段の量子化器のコードブックB内の不使用ベク
トルを削除した部分に加える。<Third Embodiment> In this third embodiment, the form of the codebook in the vector quantizer 113g of the second embodiment shown in FIG. 7 is changed to the form shown in FIG. 12. In FIG. 12, codebook C is a codebook corresponding to edges of character information, etc., as described above, that is, it contains reproduction vectors of a pattern as shown in FIG. 9B. This can also be obtained by generating a binary pattern on a computer. Such a reproduced vector for edges is added as codebook C to the part of the codebook B of the final stage quantizer from which unused vectors have been deleted.
この第3実施例のコードブックC内の再生ベクトルは、
単なる距離計算たりてなく、” 十”゜′の位相の情報
と各係数の絶対値を考慮した距離計算を行うことによっ
て得る。即ち、第11図の量子化結果ベクトルxpの各
シーケンシの符号が゛一゛゜てあり、その量子化結果の
各シーケンシの絶対値が各スカラ量子化結果の絶対値で
最大であった場合に、元のブロックが第8B図のブロッ
ク(a)の如き形状であると判断し、第11図の再生ベ
クトルxc゜のコーl・を出力する。The reproduction vector in the codebook C of this third embodiment is
This is not just a simple distance calculation, but a distance calculation that takes into account the phase information of ``10''゜' and the absolute value of each coefficient. That is, if the sign of each sequence of the quantization result vector xp in FIG. It is determined that the original block has a shape such as block (a) in FIG. 8B, and the call 1 of the reproduction vector xc° in FIG. 11 is output.
このようにした場合には、第11図のセレクタは不要で
あり、セレクタ信号は存在しない。In this case, the selector shown in FIG. 11 is unnecessary and no selector signal exists.
〈実施例の効果〉
以上3つの実施例で説明したように、ベクトル量子化を
多段に構成し、各コードブックなLBG法等で得られる
最適な再生ベクトルと共に、不効率な不使用ベクトルを
削除してトレーニングデータ(第1実施例)又は人工的
なデータ(第2実施例)から得られた再生ベクトルを併
せて構成することにより、ベクトル空間の次元,入力ベ
クトルの出現数を減じることができ、ハードウエアで実
現可能なベクトル量子化を実現てきる効果がある。同時
にLUTを作成するにあたり、次元数を減じることでコ
ンピュータ等で演算させる場合に、演算時間を大幅に減
じることができ、さらに多次元のベクトルでも全探索型
のベクトル量子化器と同等の性能を得ることができる。<Effects of Examples> As explained in the three examples above, vector quantization is configured in multiple stages, and inefficient unused vectors are deleted along with the optimal reproduction vectors obtained by the LBG method etc. of each codebook. By configuring reproduction vectors obtained from training data (first embodiment) or artificial data (second embodiment), the dimension of the vector space and the number of occurrences of input vectors can be reduced. This has the effect of realizing vector quantization that can be realized with hardware. At the same time, when creating an LUT, by reducing the number of dimensions, the calculation time can be significantly reduced when the calculation is performed on a computer, etc., and even multidimensional vectors can have the same performance as a full search vector quantizer. Obtainable.
〈その他の実施例〉
本発明はその要旨を変更しない範囲て種々変形可能てあ
る。<Other Examples> The present invention can be modified in various ways without changing the gist thereof.
以上の第1〜第3実施例の説明では、4×4のアダマー
ル変換のシーケンシ又は4次元のベクトルを用いて行っ
たが、本発明はこれに制限されず、n次元(n≧3)ベ
クトル全てに応用できることは明らかである。In the above description of the first to third embodiments, a 4×4 Hadamard transform sequence or a four-dimensional vector was used, but the present invention is not limited to this, and the n-dimensional (n≧3) vector is used. It is clear that it can be applied to everything.
また画像の種類のセレクト信号を最終段のベクトル量子
化器にのみ人力したが他のベクトル量子化器、スカラ量
子化器、分配器に入力するように変形してもかまわない
。Furthermore, although the image type selection signal is manually input only to the final stage vector quantizer, it may be modified so that it is input to other vector quantizers, scalar quantizers, and distributors.
また、不使用ベクトルを削除した後に新たな再生ベクト
ルをコードブックに加える方法はこれに限定されず、ト
レーニングデータから任意のベクトルで最も各再生ベク
トルより遠いベクトルを加えることも可能であり、トレ
ーニングデータから抽出したベクトルを加える全ての方
式に対応できる。さらに加える再生ベクトルをコードブ
ックに加える再生ベクトルをコンピュータ上て二値バタ
ーンを生成していったか、これに限定されず三値パター
ンでもよく、特に数か少ない場合はマニュアルでパター
ンを入力してもかまわない。Furthermore, the method of adding new reproduced vectors to the codebook after deleting unused vectors is not limited to this, it is also possible to add an arbitrary vector from the training data that is farthest from each reproduced vector, and the training data It is compatible with all methods that add vectors extracted from . Furthermore, the reproduction vectors to be added to the codebook can be generated by generating binary patterns on the computer, or can be ternary patterns without being limited to this, or if the number is particularly small, you can input the patterns manually. I don't mind.
[発明の効果]
以」二説明したように、木発明によれば、ベクトル量子
化を多段に構成することにより、ベクトル空間の次元の
減らすことが可能となる。[Effects of the Invention] As explained below, according to the tree invention, by configuring vector quantization in multiple stages, it is possible to reduce the dimensionality of the vector space.
即ち、ベクトル空間の次元を減らすことが可能となる符
号化方法及び法号化装置が提供でき、更にこれらに適用
ざれる効率的なコードブックが作成できる。That is, it is possible to provide a coding method and a coding device that can reduce the dimensions of a vector space, and to create an efficient codebook that can be applied to these methods.
また、多段構成とする結果に現われる不効率な不使用ベ
クトルを削除することによりベクトル量子化の構成を小
規模化することか可能となる。Further, by deleting inefficient and unused vectors that appear as a result of the multi-stage configuration, it is possible to downsize the vector quantization configuration.
また、この削除分を、トレーニングデータ又は人工的な
データから得られる男生ベクトルて追加構成することに
より、再生信号の劣化を防止しつつ、多次元のベクトル
ても全探索型の高速ベクトル量子化器と同等の性能を得
ることができる。In addition, by adding the deleted portion to the male vector obtained from training data or artificial data, it is possible to prevent deterioration of the reproduced signal and to create a high-speed vector quantizer that can perform a full search for multidimensional vectors. It is possible to obtain the same performance as .
第1図は本発明に係る第1実施例の符号化装置の全体図
、
第2図は第1実施例〜第3実施例に利用されるベクトル
量子化の概念を説明する図、
第3A図,第3B図は第1実施例〜第3実施例に適用さ
れる空間分割の概念を説明する図、第4図.第5A図〜
第5D図は不使用再生ベクトルが発生する様子を説明す
る図、
第6図はトレーニングデータから不使用ベクトルを置換
する手順を示したフローヂャート、第7図は本発明の第
2実施例に係る符号化装置のブロック図、
第8A図,第8B図.第9A図,第9B図は、第2実施
例の手法を用いないとエッジ部分が劣化する様子説明す
る図、
第10図は第2実施例のベクトル量子化コードブックの
構造図、
第11図は第2実施例の動作を実際の例を用いて説明し
た図、
第12図は第3実施例に用いられるコードブックの構成
を示す図、
第13A図.第13B図は従来の技術の構成を説明する
図である。
a〜d・・・スカラ量子化器、13a〜13g,113
a〜113g・・・ベクトル量子化器、14.114・
・・出力端子、115・・・セレクト信号入力端子、2
0a〜20p・・・シーケンシ、120・・・画素、1
21a〜121k・・・ブロックである。
特許出願人 キヤノン株式会社
図中、
1・・・メモリ、2・・・距離演算器、3・・・比較器
、4・・・LUTテーブルメモリ、10.110・・・
人力端子、11,111−・・分配器、12a 〜d,
112寸
Σ
区
娃
味
澱
−510一
〈
手
続
ネ甫
正
jtと
(方式)
平成
1年
6月22日
許
庁
長
官
殿
事
件の表示
特許廓平1−56321号
2.発
明の名称
符号化方法及び符号化装置及び
これらに用いられるコードブックの作成方法補正をする
者
事件との関係 特許
キヤノン株式会社
出
願
人
代
理 人 〒105
東京都港区虎ノ門2−5
平成
1年
5月30日
(発送)FIG. 1 is an overall diagram of the encoding device of the first embodiment according to the present invention, FIG. 2 is a diagram explaining the concept of vector quantization used in the first to third embodiments, and FIG. 3A , 3B are diagrams explaining the concept of space division applied to the first to third embodiments, and FIG. Figure 5A~
FIG. 5D is a diagram explaining how unused reproduction vectors are generated, FIG. 6 is a flowchart showing a procedure for replacing unused vectors from training data, and FIG. 7 is a code according to a second embodiment of the present invention. Block diagram of the conversion device, Figures 8A and 8B. 9A and 9B are diagrams explaining how the edge portion deteriorates if the method of the second embodiment is not used. FIG. 10 is a structural diagram of the vector quantization codebook of the second embodiment. 12 is a diagram explaining the operation of the second embodiment using an actual example, FIG. 12 is a diagram showing the configuration of a codebook used in the third embodiment, and FIG. 13A. FIG. 13B is a diagram illustrating the configuration of a conventional technique. a to d...scalar quantizer, 13a to 13g, 113
a~113g...vector quantizer, 14.114.
...Output terminal, 115...Select signal input terminal, 2
0a to 20p...Sequence, 120...Pixel, 1
21a to 121k...blocks. Patent applicant: Canon Inc. In the figure, 1...Memory, 2...Distance calculator, 3...Comparator, 4...LUT table memory, 10.110...
Manual terminal, 11, 111-...Distributor, 12a to d,
112 inch Σ く圃美澱-5101〈Procedure Nefushojt and (Method) Indication Patent No. 1-56321 of the June 22, 1999 case of the Director General of the License Agency 2. Relationship with the Case of Person Who Amends the Method of Encoding Names of Inventions and Encoding Devices and the Method of Preparing Codebooks Used Therewith Patent Canon Co., Ltd. Applicant's Agent 2-5 Toranomon, Minato-ku, Tokyo 105 May 1999 Month 30th (Shipping)
Claims (6)
ブックを用いて、信号のベクトル量子化を行う符号化方
法において、 入力信号ベクトルを表すn次元ベクトルを、各々がp次
元(p<n)の複数のベクトル空間に分割する第1の工
程と、 これらの分割された個々のベクトルを、同じ空間をもつ
コードブックによりベクトル量子化する第2の工程と、 上記工程によりベクトル量子化された個々の量子化結果
をq次元(q≦n)のベクトルに合成る第3の工程と、 このq次元のベクトルを、これらが表すベクトル空間の
構成をもつコードブックによりベクトル量子化する第4
の工程と、 q=nとなるまで、上記第3、第4の工程を繰り返す第
5の工程とからなることを特徴とする符号化方法。(1) In a coding method that performs vector quantization of a signal using a codebook previously created from training data, an n-dimensional vector representing an input signal vector is The first step is to divide these divided individual vectors into vector spaces, the second step is to vector quantize these divided individual vectors using a codebook with the same space, and the individual quanta vector quantized by the above step. The third step is to combine the quantization results into a q-dimensional vector (q≦n), and the fourth step is to vector quantize this q-dimensional vector using a codebook that has the configuration of the vector space that these q-dimensional vectors represent.
and a fifth step of repeating the third and fourth steps until q=n.
ブックを用いて、信号のベクトル量子化を行う符号化装
置において、 入力信号ベクトルを表すn次元ベクトルを、各々がp次
元(p<n)の複数のベクトル空間に分割する分割手段
と、 これらの分割された個々のベクトルを、同じ空間をもつ
コードブックによりベクトル量子化する第1のベクトル
量子化手段と、 この第1のベクトル量子化手段によりベクトル量子化さ
れた個々の量子化結果をq次元(q≦n)のベクトルに
合成する合成手段と、 このq次元のベクトルを、これらが表すベクトル空間の
構成をもつコードブックによりベクトル量子化する第2
のベクトル量子化手段とを有し、少なくとも、q=nと
なるまで、上記第1のベクトル量子化手段と、合成手段
と、第2のベクトル量子化手段とを複数段に線形に配列
したことを特徴とする符号化装置。(2) In an encoding device that performs vector quantization of a signal using a codebook previously created from training data, a plurality of n-dimensional vectors representing an input signal vector are each generated with p dimensions (p<n). a first vector quantization means for vector quantizing these divided individual vectors using a codebook having the same space; a synthesis means for synthesizing individual quantization results into a q-dimensional vector (q≦n); 2
vector quantization means, and the first vector quantization means, the combining means, and the second vector quantization means are linearly arranged in multiple stages until at least q=n. An encoding device characterized by:
クトルの各々を夫々第1、第2のコードブックを用いて
ベクトル量子化し、これらの2つの量子化結果を合成し
て得たベクトルを第3のコードブックにより更に量子化
する符号化方式における前記第3のコードブックの作成
方法であつて、第1及び第2のコードブックによる量子
化によつては、第3のコードブックで使用されることの
ない再生ベクトルを抽出する第1の工程と、この抽出さ
れた再生ベクトルを第3のコードブックから削除する第
2の工程とを具備したことを特徴とするコードブックの
作成方法。(3) Vector quantize each of the p-dimensional input signal vector and the q-dimensional input signal vector using the first and second codebooks, and combine these two quantization results to obtain a vector. A method for creating the third codebook in an encoding system that further quantizes using a third codebook, wherein the third codebook is used in the third codebook depending on the quantization using the first and second codebooks. A method for creating a codebook, comprising: a first step of extracting a reproduction vector that will never be reproduced; and a second step of deleting the extracted reproduction vector from a third codebook.
出する第3の工程と、 この抽出された新たな再生ベクトルを前記第2の工程で
削除した数だけ第3のコードブックに追加する第4の工
程とを更に具備した事を特徴とする請求項の第3項に記
載のコードブックの作成方法。(4) A third step of extracting new reproduction vectors from the training data, and a fourth step of adding the extracted new reproduction vectors to the third codebook by the number deleted in the second step. 4. The method of creating a codebook according to claim 3, further comprising:
ルを抽出する第3の工程と、 この抽出された新たな再生ベクトルを前記第2の工程で
削除した数だけ第3のコードブックに追加する第4の工
程を更に具備した事を特徴とする請求項の第3項に記載
のコードブックの作成方法。(5) A third step of extracting new reproduction vectors that are not based on the training data, and a fourth step of adding the extracted new reproduction vectors to the third codebook by the number deleted in the second step. 4. The method for creating a codebook according to claim 3, further comprising the step of:
によらない新たな再生ベクトルは、線画のエンジン部分
を表わす再生ベクトルである事を特徴とする請求項の第
5項に記載のコードブックの作成方法。(6) Creating a codebook according to claim 5, wherein the input signal is an image signal, and the new reproduction vector that is not based on the training data is a reproduction vector representing an engine part of the line drawing. Method.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056321A JP2755663B2 (en) | 1989-03-10 | 1989-03-10 | Encoding device |
| DE69031186T DE69031186D1 (en) | 1989-03-10 | 1990-03-08 | Method and device for coding image information |
| EP90302465A EP0387051B1 (en) | 1989-03-10 | 1990-03-08 | Method and apparatus for coding image information |
| US08/003,874 US5341441A (en) | 1989-03-10 | 1993-01-11 | Method and apparatus for coding image information, and method of creating code books |
| US08/236,103 US6072910A (en) | 1989-03-10 | 1994-05-02 | Method and apparatus for coding image information, and method of creating code book |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1056321A JP2755663B2 (en) | 1989-03-10 | 1989-03-10 | Encoding device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02237270A true JPH02237270A (en) | 1990-09-19 |
| JP2755663B2 JP2755663B2 (en) | 1998-05-20 |
Family
ID=13023907
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1056321A Expired - Fee Related JP2755663B2 (en) | 1989-03-10 | 1989-03-10 | Encoding device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2755663B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006048180A (en) * | 2004-07-30 | 2006-02-16 | Tkc Corp | Image processor, image processing method and image processing program |
| WO2006035512A1 (en) * | 2004-09-29 | 2006-04-06 | Tadahiro Ohmi | Data reproduction device, reproduction method, data compression device, and compression method |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6225577A (en) * | 1985-07-26 | 1987-02-03 | Fujitsu Ltd | Adaptive vector quantization system |
| JPS6232785A (en) * | 1985-08-05 | 1987-02-12 | Fujitsu Ltd | Adaptive vector quantization system |
| JPS62139089A (en) * | 1985-12-13 | 1987-06-22 | Nippon Telegr & Teleph Corp <Ntt> | Vector quantization system |
| JPS6386963A (en) * | 1986-09-30 | 1988-04-18 | Canon Inc | Image encoding method |
-
1989
- 1989-03-10 JP JP1056321A patent/JP2755663B2/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6225577A (en) * | 1985-07-26 | 1987-02-03 | Fujitsu Ltd | Adaptive vector quantization system |
| JPS6232785A (en) * | 1985-08-05 | 1987-02-12 | Fujitsu Ltd | Adaptive vector quantization system |
| JPS62139089A (en) * | 1985-12-13 | 1987-06-22 | Nippon Telegr & Teleph Corp <Ntt> | Vector quantization system |
| JPS6386963A (en) * | 1986-09-30 | 1988-04-18 | Canon Inc | Image encoding method |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006048180A (en) * | 2004-07-30 | 2006-02-16 | Tkc Corp | Image processor, image processing method and image processing program |
| WO2006035512A1 (en) * | 2004-09-29 | 2006-04-06 | Tadahiro Ohmi | Data reproduction device, reproduction method, data compression device, and compression method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2755663B2 (en) | 1998-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5341441A (en) | Method and apparatus for coding image information, and method of creating code books | |
| Hang et al. | Interpolative vector quantization of color images | |
| US5432893A (en) | Sequential scalar quantization of digital color image using mean squared error-minimizing quantizer density function | |
| Lai et al. | A fast fractal image coding based on kick-out and zero contrast conditions | |
| JP2013153450A (en) | Apparatus and method for encoding and computing discrete cosine transform using butterfly processor | |
| GB2575514A (en) | Method and system for compressing and decompressing digital three-dimensional point cloud data | |
| CN115086672B (en) | Point cloud attribute encoding method, device, decoding method, device and related equipment | |
| US8023563B2 (en) | Method and system for processing signals via perceptive vectorial quantization, computer program product therefor | |
| US6647143B1 (en) | Method and device of compressing digital image data | |
| Son et al. | Fast FPGA implementation of YUV-based fractal image compression | |
| Kamatar et al. | Image compression using mapping transform with pixel elimination | |
| JPH02237270A (en) | encoding device | |
| WO2003081898A1 (en) | Image data compression device, image data compression method, recording medium, and program | |
| Omari et al. | Image compression based on mapping image fractals to rational numbers | |
| Reddy et al. | Image Compression and reconstruction using a new approach by artificial neural network | |
| Kamatar et al. | A Novel Hybrid Compression Scheme for Lossless Gray Scale Image Compression | |
| EP4233006A2 (en) | Devices and methods for spatial quantization for point cloud compression | |
| Al Falahi et al. | Comparitive Analysis and Findings on Dct & Lbg Compression Techniques | |
| JP3099747B2 (en) | Transformation encoding of digital signal enabling reversible transformation | |
| JP2629035B2 (en) | Image coding processor | |
| JPH058909B2 (en) | ||
| Ramstad | ‘Still Image Compression | |
| JP2693557B2 (en) | Encoding device | |
| JPH04271664A (en) | Picture data compressor and picture data decoder | |
| Boqué | Tensor Networks for Image Compression |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080306 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |