JPH0327670A - Vector quantizer for image data - Google Patents
Vector quantizer for image dataInfo
- Publication number
- JPH0327670A JPH0327670A JP1160733A JP16073389A JPH0327670A JP H0327670 A JPH0327670 A JP H0327670A JP 1160733 A JP1160733 A JP 1160733A JP 16073389 A JP16073389 A JP 16073389A JP H0327670 A JPH0327670 A JP H0327670A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- codebook
- representative
- input
- information
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、画像の符号化装置に係り、特に光ディスク等
のデータ記録媒体を対象としたiiir像符号化記録再
生装置に好適な画像のベクトル量子化器Cこ関する。Detailed Description of the Invention [Field of Industrial Application] The present invention relates to an image encoding device, and in particular to an image vector suitable for a IIIR image encoding recording/reproducing device intended for data recording media such as optical disks. Quantizer C is involved.
ベクトル量子化とは、k次元(kは自然数)のベクトル
空間におけるk次元のトレー二冫グベクトル集合の分布
に応じてベクトル空関JE:N個(Nは自然数)の部分
空間に分割し、各部分空間の代表ベクトルを設定してN
個の代表ベクトルの集合であるコードブックを生成した
後に、k次元入力ベクトルに対してその入力ベクトルが
属する部分空間を検出し、その部分空間の代表ベクトル
をコードブックから読み出して出力ベクトルとする処理
である。ただし、トレーニングベクトル集合とは、ベク
トル空間における入力ベクトルの分布を想定して予め用
意されたコードブック生成用のベクトルの集合である。Vector quantization refers to dividing a k-dimensional (k is a natural number) vector space into N subspaces (N is a natural number) according to the distribution of a k-dimensional training vector set. Set the representative vector of the subspace and N
After generating a codebook, which is a set of representative vectors, for the k-dimensional input vector, the subspace to which the input vector belongs is detected, and the representative vector of that subspace is read out from the codebook and used as an output vector. It is. However, the training vector set is a set of vectors for codebook generation that is prepared in advance assuming the distribution of input vectors in the vector space.
通常、このトレーニングベクトル集合に対して、各トレ
ー二/グベクトルをそのトレーニングベクトルが属する
部分空間の代表ベクトルで置き換えた際に発生する所定
の歪測[4こおける歪(二つのベクトル間の距離に相当
する)の合計を算出しながら、その合計歪8最も小さく
するようにベクトル空間の部分空間への分割と各部分空
間の代表ベクトルの設定とを初期叡定から徐々に修正し
ていく。ベクトル量子化器は、入力データの系列からk
個のデータをまとめたk次元の入力ベクトルを生成し、
上記のベクトル量子化の処理を行った後に、k次元の出
力ベクトルを出力データの系列に変換して出力するもの
である0
さて、ベクトル量子化の処理はベクトルfit子化符号
化とベクトル量子化復号化の二つに分けて捉えることが
できる。ベクトル量子化符号化とは、k次元のベクトル
空間におけるk次元のトレー二冫グベクトル集合の分商
に応じてベクトル空間をN個の部分空間に分割し、各部
分空間の代表ベクトルを設定してN餉の代表ベクトルの
集合であるコードブックを生成した後に、k次元の入力
ベクトルに対してその入力ベクトルが属する部分空間を
倹出し、その部分空間の番号すなわちその部分空間の代
表ベクトルの番号をインデックスとして出力する処理で
ある。また、ベクトル量子化復号化とは、予め上記ベク
トル量子化符号化の処理で生成されたコードブックと同
一のコードブックを保持し、入力されたインデックスの
値に応じて対応する代表ベクトルをコードブックから読
み出して出力ベクトルとする処理である。どんな入力ベ
クトルに対しても固定のコードブックを用いる場合lこ
は、予め生成されたコードブックをベクトル量子化符号
化器とベクトル量子化復号化1111で保持しておけば
よいが、ベクトル空間における入力ベクトルの分布の変
化に応じて適当な時点でコードブックを変更する場合に
は、その都度ベクトル量子化符号化器で生成されたコー
ドブックをベクトル量子化復号化器に送る必要がある。Normally, for this set of training vectors, a predetermined distortion (distortion in the distance between two vectors) that occurs when each training vector is replaced with a representative vector of the subspace to which the training vector belongs The division of the vector space into subspaces and the setting of representative vectors for each subspace are gradually modified from the initial determination so as to minimize the total distortion 8 while calculating the sum of the corresponding values. A vector quantizer extracts k from a sequence of input data.
Generate a k-dimensional input vector that summarizes the data of
After performing the above vector quantization process, the k-dimensional output vector is converted into a sequence of output data and output.0 Now, the vector quantization process consists of vector fit child encoding and vector quantization. It can be divided into two parts: decoding. Vector quantization coding refers to dividing a vector space into N subspaces according to the quotient of a k-dimensional vector set in a k-dimensional vector space, and setting a representative vector for each subspace. After generating a codebook that is a set of N-dimensional representative vectors, find out the subspace to which the input vector belongs for the k-dimensional input vector, and calculate the number of that subspace, that is, the number of the representative vector of that subspace. This is the process of outputting it as an index. In addition, vector quantization decoding means that a codebook that is the same as the codebook generated in the vector quantization encoding process described above is maintained in advance, and the corresponding representative vector is added to the codebook according to the input index value. This is the process of reading out the vector from the vector and using it as an output vector. When using a fixed codebook for any input vector, it is sufficient to maintain a pre-generated codebook in the vector quantization encoder and vector quantization decoding 1111, but When changing the codebook at an appropriate time in response to changes in the distribution of input vectors, it is necessary to send the codebook generated by the vector quantization encoder to the vector quantization decoder each time.
ベクトル量子化符号化器は、入力データの系列から入力
ベクトルを生成して上記のベクトル量子化符号化の処理
を行い、必要ならばコードブックの情報を出力した後に
インデックスの情報を順次出力するものである。また、
ベクトル量子化復号化器は、コードブックの情報が入力
された場合にはそれに応じてコードブックを変更した後
に、順次入力されるインデックスから上記のベクトル量
子化復号化の処理を行い、出力ベクトルを出力データの
系列に変換して出力するものである。A vector quantization encoder generates an input vector from a sequence of input data, performs the vector quantization encoding process described above, and if necessary outputs codebook information and then sequentially outputs index information. It is. Also,
When codebook information is input, the vector quantization decoder changes the codebook accordingly, performs the above-mentioned vector quantization and decoding processing from the sequentially input indices, and generates an output vector. It converts into a series of output data and outputs it.
ベクトル量子化では入力ベクトルのパターンをコートブ
ック内の代表ベクトルの個数であるNa!類に制限する
ので、ベクトル貴子化符号化器の出力であるインデック
スの情報量は入力の1データあたり( 1ogtN )
/ kビットとなり、ベクトル童子化によりデータ圧
縮され情報量が削減される0そのため、画像のデータ圧
縮を目的とした高能率符号化技術の一つとして用いられ
ている。コードプツクを生成する処理を除けば、ベクト
ル量子化符号化の処理もベクトル量子化復号化の処理も
比較的簡単であるので注目されている。特に、ベクトル
量子化復号化の処理は、入力されたインデックスに応じ
てコードブック内の代表ベクトルの一つを単純番こ選択
する処理であるから、非常に匍単である。そのため、光
ディスク等のパッケージ系メディアに画像をデータ圧縮
して記録する画像符号化記録再生システムでは、このベ
クトル量子化は適した技術である。なぜなら、リアルタ
イムの復号化処理は必要だがリアルタイムの符号化処理
は特に必要ないからである。Vector quantization converts the input vector pattern into Na!, which is the number of representative vectors in the courtbook. Since the amount of information of the index, which is the output of the vector decoding encoder, is per input data (1ogtN)
/ k bits, and the amount of information is reduced by compressing the data through vector doji conversion. Therefore, it is used as one of the high-efficiency encoding techniques for the purpose of compressing image data. The vector quantization encoding process and the vector quantization decoding process are attracting attention because they are relatively simple except for the process of generating code blocks. In particular, the process of vector quantization and decoding is very simple because it is a process of simply selecting one of the representative vectors in the codebook according to the input index. Therefore, vector quantization is a suitable technique for an image encoding recording/reproducing system that compresses and records images on package media such as optical disks. This is because real-time decoding processing is necessary, but real-time encoding processing is not particularly necessary.
第5図と第4図に、光ディスクを対象とした画像符号化
記録再生システムのブロック図を示す。FIGS. 5 and 4 show block diagrams of an image encoding recording/reproducing system intended for optical discs.
第3図は画像を符号化して光ディスクに記録する画像符
号化記録システム、Wc4図は光ディスクから読み出し
たデータを復号化して画像を再生する画像復号化再生シ
ステムのブロック図である。FIG. 3 is a block diagram of an image encoding/recording system that encodes an image and records it on an optical disk, and FIG. 4 is a block diagram of an image decoding/reproducing system that decodes data read from the optical disk and reproduces an image.
第5図において、1は入力映像信号の端子,2は画像符
号化装置.5は光ディスク記録装置,4は光ディスクで
ある。また、画像符号化装置2において、5はA/Di
換回路,6はフレームメモリ.7は画像符号化回路,8
はバックァメモリである。iI像符号化装置2に端子1
から入力された入力映像信号は、A/D変換囲路5にお
いてアナログの映iI信号からデイジタルの画像データ
に変換され、フレームメモリ6に記憶保持される。フレ
ームメモリ6から読み出された画像データは、画像符号
化回路7で所定の為能率符号化方式によりデータ圧縮さ
れ、符号化データが生成される0そして、データ圧縮後
の符号化データは、一旦バツファメモリ8に蓄えられた
後に、光ディスク記録装櫂3に渡される。光ディスク記
録装置3は、所定の光ディスク記録方式および配録デー
タフォーマットに従って、符号化データを光ディスク4
に記録する。ただし、ユーザが直接書き込みを行えない
C D ( Compact Dlsc)等の読み出し
専用光ディスクの場合には、その原盤が生成された後に
プレスにより光ディスク4が製造される。In FIG. 5, 1 is an input video signal terminal, 2 is an image encoding device. 5 is an optical disc recording device, and 4 is an optical disc. Further, in the image encoding device 2, 5 is A/Di.
6 is a frame memory. 7 is an image encoding circuit, 8
is the backup memory. Terminal 1 to iI image encoding device 2
The input video signal inputted from the A/D conversion circuit 5 is converted from an analog video signal to digital image data and stored in the frame memory 6. The image data read from the frame memory 6 is compressed by the image encoding circuit 7 using a predetermined efficiency encoding method to generate encoded data. After being stored in the buffer memory 8, it is delivered to the optical disk recording paddle 3. The optical disc recording device 3 records the encoded data on the optical disc 4 according to a predetermined optical disc recording method and distribution data format.
to be recorded. However, in the case of a read-only optical disc such as a CD (compact disc) on which the user cannot directly write, the optical disc 4 is manufactured by pressing after the master disc is generated.
第4図において、4は光ディスク.9は光デイスク再生
装置,10は画gl.復号化装置.11は出力映像信号
の端子である。また、画像復号化装[10fこおいて、
12はパッファメモIJ,13は画像復号化装置.14
はフレームメモリ.15はD/A変換回路である。允デ
ィスク再生装t9は光ディスク4からデータ圧縮された
符号化データを読み出す。画像復号化装置10に渡され
た符号化データは、一旦バツファメモリ12に蓄えられ
た後に、画像復号化回路15で復号化Iこよりデータ伸
長され、画像データが再生される。そして、データ伸長
後の胎11#データはフレームメモリ14に記憶保持さ
れ、D/A変挽回路15においてアナログの映像信号に
変換された後に、出力映像信号として端子11から出力
される0
このような光ディスクを対象とした画像符号化記録再生
システムにおいては、画像符号化装置2の中の画像符号
化回路7としてベクトル量子化符号化器を、画像復号化
装置10の中の画像復号化装置15としてベクトル量子
化復号化器を用いることができる。このとき、データ圧
縮された画像データを復号化して再生する画像復号化装
if10のリアルタイム処理が比較的簡単に実現できる
。In FIG. 4, 4 is an optical disk. 9 is an optical disc playback device, 10 is an image gl. Decoding device. 11 is a terminal for an output video signal. In addition, the image decoding device [10f,
12 is a puffer memo IJ, and 13 is an image decoding device. 14
is frame memory. 15 is a D/A conversion circuit. The disc playback device t9 reads compressed encoded data from the optical disc 4. The encoded data passed to the image decoding device 10 is once stored in the buffer memory 12, and then decompressed by the image decoding circuit 15 through decoding I to reproduce the image data. The data 11# after data expansion is stored in the frame memory 14, converted into an analog video signal in the D/A conversion circuit 15, and then outputted from the terminal 11 as an output video signal. In an image encoding recording/reproducing system for optical discs, a vector quantization encoder is used as the image encoding circuit 7 in the image encoding device 2, and an image decoding device 15 in the image decoding device 10 is used. A vector quantization decoder can be used as a vector quantization decoder. At this time, real-time processing of the image decoding device if10 that decodes and reproduces the compressed image data can be realized relatively easily.
さて、コードブックを生成する際には、ベクトル空間の
部分空間への分割と各部分空間の代表ベクトルの設定と
を初期設定から徐々に修正していく方法が一般的であり
、その処理量が非常に大きいのでthlgJ!符号化回
路7のベクトル童子化符号化器に組み込むことはほとん
ど不可能であった。そのため、時間をかけて予めトレー
ニングベクトル集合から生成した固定のコードブックを
用いることが普通であった。すなわち、同一のコードブ
ックをベクトル量子化符号化器とベクトル量子化復号化
器の両方に予め設定しておき、入力の画像データから生
成されたインデックスの情報のみをベクトル量子化符号
化器からベクトル量子化復号化器に渡していた。Now, when generating a codebook, it is common to divide the vector space into subspaces and gradually modify the settings of the representative vector of each subspace from the initial settings. It's very big so thlgJ! It was almost impossible to incorporate it into the vector doji coding encoder of the encoding circuit 7. Therefore, it has been common to use a fixed codebook that is generated in advance from a training vector set over time. In other words, the same codebook is set in advance for both the vector quantization encoder and the vector quantization decoder, and only the index information generated from the input image data is transferred from the vector quantization encoder to the vector quantization encoder. It was passed to the quantization decoder.
しかし、入力の画像データから生成される入力ベクトル
のベクトル空間における分布の様子は、絵柄の細かさ等
の画像の特性に影響を受けてかなり変動する。そのため
、固定のコードブックでペクトル量子化すると、ベクト
ル量子化により発生する歪が大きくなって再生した画像
のiji負劣化が問題となる場合がある。これを避ける
ためには、適当な時点で、ベクトル量子化符号化器にお
いて入力ベクトルをトレーニングベクトルとしてコード
ブックを生成し、そのコードブックの情報をベクトル量
子化復号化器に渡す必歎がある。そのためには、高速に
コードブックを生成してベクトル量子化符号化の処理を
実行しなければならない。However, the distribution of input vectors generated from input image data in a vector space varies considerably due to the influence of image characteristics such as the fineness of the image. Therefore, when vector quantization is performed using a fixed codebook, distortion caused by vector quantization becomes large, and negative iji deterioration of the reproduced image may become a problem. In order to avoid this, it is necessary to generate a codebook at an appropriate time in the vector quantization encoder using the input vector as a training vector, and to pass the information of the codebook to the vector quantization decoder. To do this, it is necessary to generate a codebook at high speed and execute vector quantization encoding processing.
このような高運なベクトル量子化符号化方式については
、アイ・イー・イー・イー コンファレンス オン エ
イ・エス・エス・ヒー.ダラス(1987年)のグロシ
ーデイング第725頁から第728頁( Procee
dings * Pagea 725 − 728 ,
IEEEConference on AS SP.
Dallaa ( 1 9 8 7 )において論じ
られている。Regarding this successful vector quantization encoding method, please refer to the IEE Conference on ASSHE. Dallas (1987) Glossary pp. 725-728 (Procee
dings * Pagea 725-728,
IEEEConference on AS SP.
Discussed in Dallaa (1987).
この高速なベクトル量子化符号化方式でコードブックを
生成する処理は次の通りである。まず、ベクトル空間に
おけるトレーニングベクトル集合の分布に応じてベクト
ル空間を部分空間に分割する際に、その分割の方法に制
限を加えて処理を簡略化する。すなわち、k個存在する
k次元ベクトル空間の座標軸の中から所定の基準で一つ
の座標軸を選び、その座標軸における座標位置を所定の
基準で決定した後に、その座椋位置を通りその座像軸に
垂直な超平面でベクトル空間全体をまず二分割し、二つ
の部分空間を生成する。そして、それらの部分空閣を同
様の方法でさらに二分割する処理を階層的に繰り返し、
谷部分空間がただ一つのトレーニングベクトルを保持す
るようになるまで分割を続ける。ベクトル空間を部分空
間に分割する境界面はいずれも、どれか一つの座標軸に
垂直な超平面である点が特徴である。The process of generating a codebook using this high-speed vector quantization encoding method is as follows. First, when dividing the vector space into subspaces according to the distribution of the training vector set in the vector space, a restriction is added to the division method to simplify the process. In other words, one coordinate axis is selected based on a predetermined standard from among the k coordinate axes of the k-dimensional vector space, and after determining the coordinate position on that coordinate axis based on the predetermined standard, First, the entire vector space is divided into two by a hyperplane, and two subspaces are generated. Then, hierarchically repeat the process of further dividing those partially empty buildings into two in the same way,
Continue partitioning until the valley subspace holds only one training vector. All boundary surfaces that divide vector space into subspaces are characterized by being hyperplanes perpendicular to one of the coordinate axes.
階層的に二分割処理を行っているので、それぞれの二分
割処理の際の分割基卑座標軸と分割座標位置の情報を二
分木のツリー構造で保持することにより、ベクトル空間
の分割の状態は完全に規定される。例えば、この空間分
割ツリー構造の根の節点にはベクトル空間全体を二分割
するための情報が保持され、葉の節点には対応する部分
空間の中に属する入力ベクトルの情報が保持される。Since bipartition processing is performed hierarchically, the state of vector space partitioning is completely maintained by retaining information on the division base coordinate axes and division coordinate positions in a binary tree structure for each two-division processing. stipulated in For example, the root node of this space division tree structure holds information for dividing the entire vector space into two, and the leaf nodes hold information about input vectors belonging to the corresponding subspace.
次番こ、互いに近傍に存在する数個の部分空間をグルー
プ化して、ベクトル空間全体から複数個の部分空間グル
ープを生成した後、各部分空間グループにおいて、その
部分空間グループの中で二つの部分空間を統合した際に
珀加する合計歪(各トレーニングベクトルとそのトレー
ニングベクトルが属する部分空間の代表ベクトルとの距
岨の合計に相当する)が最小の部分空間のベアを求める
。Next, after grouping several subspaces that exist in the vicinity of each other and generating multiple subspace groups from the entire vector space, in each subspace group, two parts within that subspace group are generated. The bear of the subspace with the minimum total distortion (corresponding to the sum of the distances between each training vector and the representative vector of the subspace to which the training vector belongs) added when the spaces are integrated is determined.
そして、これら各部分空間グループにおける統合候袖で
ある部分空間ベアの中で、統合した際の合計歪の増加量
が小さい部分空間ペアを例えば半数だけ統合する。以上
のよう番こして各部分空間を徐々に統合する処理を繰り
返すことにより、N個の部分空間を最終的に決定して各
部分空間の代表ベクトルをコードブックの要素とする。Then, among the subspace bears that are candidates for integration in each of these subspace groups, for example, half of the subspace pairs that have a small increase in total strain when integrated are integrated. By repeating the process of gradually integrating each subspace as described above, N subspaces are finally determined and the representative vector of each subspace is used as an element of the codebook.
生成されたコードブックを用いてベクトル量子化を行う
処理は、次の通りである。まず、空間分割ツリー構造の
探索によって入力ベクトルの属する部分空間を求める。The process of vector quantization using the generated codebook is as follows. First, the subspace to which the input vector belongs is found by searching the space division tree structure.
次に、その部分空間の代表ベクトルおよび近傍の部分空
間の代表ベクトルの中で、入力ベクトルとの距離が鯉も
近い代表ベクトルをコードブックから選択して出力ベク
トルとする。コードブック内の全部の代表ベクトルの中
から選択する場合に比べて、出力ベクトルを求める処理
が愉略化される。Next, among the representative vectors of that subspace and the representative vectors of neighboring subspaces, a representative vector that is close in distance to the input vector is selected from the codebook and used as an output vector. Compared to selecting from among all representative vectors in the codebook, the process of determining the output vector is simplified.
〔発明が解決しようとするWllil)上記の高速ベク
トル量子化符号化方式を採用するベクトル量子化器では
、入力ベクトルをベクトル量子化した際に発生する歪の
合計がほぼ理想的な最小値に近くなるが、コードブック
を生成する際の処理量、および入力ベクトルをベクトル
量子化して出力ベクトルを決定する際の処理饋が小さく
ない。すなわち、コードブックを生成する際には、一旦
細かい部分空間に分割した後で徐々に部分空間を統合し
ていく処理が必要であるし、入力ベクトルのベクトル量
子化を行う際には、入力ベクトルの属する部分空間の近
傍で複数個の部分空間の代表ベクトルの中から出力ベク
トルを選択する処理が必要である。[Wllil to be solved by the invention] In a vector quantizer that adopts the above-mentioned high-speed vector quantization encoding method, the total distortion that occurs when vector quantizing an input vector is close to an ideal minimum value. However, the amount of processing required to generate the codebook and the amount of processing required to vector quantize the input vector and determine the output vector are not small. In other words, when generating a codebook, it is necessary to first divide the subspace into fine subspaces and then gradually integrate the subspaces, and when performing vector quantization of the input vector, the input vector It is necessary to select an output vector from representative vectors of a plurality of subspaces in the vicinity of the subspace to which the subspace belongs.
また、上記文献には、入力ベクトルをトレーエングベク
トルとしてコードブックを生成して、絵柄の細かさ等の
画像の特性の変動に応じて適当な時点でコードブックを
生成し直す処理についての記述はない。例えば、1II
JijI像をベクトル量子化する際には、シーンの変化
による画像特性の変動に応じてコードブックを変更する
必要があり、かつコードブック内の全部の代表ベクトル
を書き換えるのではなく変更が必要な一部の代表ベクト
ルのみを書き換えることが望ましい。Additionally, the above document does not describe the process of generating a codebook using an input vector as a training vector, and then regenerating the codebook at an appropriate time according to changes in image characteristics such as the fineness of the picture. do not have. For example, 1II
When vector quantizing a JijI image, it is necessary to change the codebook in response to changes in image characteristics due to changes in the scene, and instead of rewriting all representative vectors in the codebook, it is necessary to It is desirable to rewrite only the representative vector of the section.
以上の課題を解決するために、本発明ではベクトル量子
化符号化器を次の通りに構或することとしたO
Tなわち、入力画像データをk画素からなるブロックに
分割してk次元の入力ベクトルを生成するベクトル生戒
手段と、k次元のベクトル空間における入力ベクトルの
分布に応じてベクトル空間を順次二分割することにより
N個の部分空間を生成し、ベクトル空間の分割の様子を
示す情報を保持する二分木のツリー構造である空間分割
ツリー構造を生戚する空間分割ツリー構造生成手段と、
その空間分割ツリー構造の葉の節点に対応する谷部分空
間に属する複数個の入力ベクトルからその部分空間の代
表ベクトルを生成し、生成されたN個の代表ベクトルの
集合であるコードブックを生成するコードブック生成手
段と、空間分割ツリー構造を根の節点から順にたどるこ
とにより各入力ベクトルが属する部分空関を探索し、そ
の部分空間の代表ベクトルをコードブックから選択して
その代表ベクトルの番号であるインデックスを求めるベ
クトル量子化符号化手段と、コードブックの情報を出力
した後に各入力ベクトルに対応したインデックスの情報
を順次出力する符号化情報出力手段でベクトル量子化符
号化器を構成する。In order to solve the above problems, in the present invention, the vector quantization encoder is configured as follows. The vector space is divided into two sequentially according to the distribution of the input vector in the k-dimensional vector space to generate N subspaces, and the state of the division of the vector space is shown. A spatial division tree structure generation means for generating a spatial division tree structure that is a binary tree structure that retains information;
Generate representative vectors of the subspace from a plurality of input vectors belonging to the valley subspace corresponding to the leaf nodes of the space division tree structure, and generate a codebook that is a set of the N generated representative vectors. The codebook generation means searches the subspace function to which each input vector belongs by sequentially tracing the space division tree structure from the root node, selects a representative vector of that subspace from the codebook, and uses the number of the representative vector. A vector quantization encoder is constituted by vector quantization encoding means for determining a certain index, and encoded information output means for sequentially outputting index information corresponding to each input vector after outputting codebook information.
動画像を対象とした場合には、シーンの変化による画像
特性の変動に追従するために、所定のフレーム数ととI
こ入力画像データを複数のグループに分割し、各グルー
プごとに上記のベクトル量子化符号化器によりベクトル
量子化符号化して、コ一ドブツクの情報と各入力ベクト
ル薔こ対応したインデックスの情報を出力する。さらに
、上記のベクトル量子化符号化器に、現グループのコー
ドブックの要素である各代表ベクトルに対して、距離が
最も近い前グループの代表ベクトルを求め、距離が所定
のしきい値よりも近い場合には現グループの代表ベクト
ルを前グループの代表ベクトルで置き換え、そうでない
場合には現グループの代表ベクトルの情報をアップデー
ト情報として出力するコードブック部分アンプデート手
段を付加し、前記の符号化情報出力手段を、前グループ
の場合と比べて異なるコードブックの!!!素である代
pベクトルの情報を、各グループごとにコードブック変
更の情報として出力した後に、各入力ベクトルに対応し
たインデックスの情報を出力する符号化情報出力手段に
変更する。When targeting moving images, a predetermined number of frames and I
This input image data is divided into multiple groups, each group is vector quantized and encoded using the vector quantization encoder described above, and the information of the book and the index information corresponding to each input vector are output. do. Furthermore, for each representative vector that is an element of the codebook of the current group, the vector quantization encoder described above calculates the representative vector of the previous group with the closest distance, and calculates the representative vector of the previous group whose distance is closer than a predetermined threshold. If so, replace the representative vector of the current group with the representative vector of the previous group, and if not, add codebook partial amplification means that outputs information on the representative vector of the current group as update information. The output means is of a different codebook compared to the case of the previous group! ! ! After outputting information on prime substitute p vectors as codebook change information for each group, the coded information output means outputs information on indexes corresponding to each input vector.
まず、空間分割ツリー構造生成手段では、所定の規則に
よりk次元のベクトル空間全体を二分割して部分空間を
生成した後に、各部分空間を同様の方法によりさらに二
分割する処理を段階的に繰り返し、N個の部分空間を生
成する。例えば、上記の規則とは、k個あるベクトル空
間の座祢軸の中から所定の基準で一つの座椋軸を選び、
かつその座標軸における座標位置を所定の基準で決定し
た後に、その座標位置を通りその座標軸に垂直な超平面
で部分空間を二分割するものである。ただし、途中の段
階においては、所定の基準により次に二分割すべき部分
空間を決定する。First, the space division tree structure generation means divides the entire k-dimensional vector space into two according to a predetermined rule to generate subspaces, and then repeats the process of dividing each subspace into two in a similar manner step by step. , generate N subspaces. For example, the above rule selects one Zara axis from among k Zara axes in a vector space according to a predetermined criterion,
After determining the coordinate position on the coordinate axis based on a predetermined standard, the partial space is divided into two by a hyperplane passing through the coordinate position and perpendicular to the coordinate axis. However, at an intermediate stage, the subspace to be divided into two next is determined based on a predetermined criterion.
ここで、分割基準座棟軸の選択方法は、その部分空間に
属する入力ベクトルの各座標軸方向の分布@を基準とし
て、その分布幅が最大の座標軸を選択するものである。Here, the method for selecting the division reference ridge axis is to select the coordinate axis with the largest distribution width based on the distribution @ of the input vectors belonging to the subspace in each coordinate axis direction.
例えば、ある座標軸方向の分布幅とは、各入力ベクトル
のその座標軸での値の最大値と最小値の差と定義できる
0また、分割座標位置の決定方法は、各入力ベクトルの
分割基準座椋軸に関する分布の中心値を求めるものであ
る。例えば、分布の中心値とは、各入力ベクトルの分割
基準座標軸での値の中央値(メディア/)と定義できる
。For example, the distribution width in a certain coordinate axis direction can be defined as the difference between the maximum and minimum values of each input vector on that coordinate axis. This is to find the center value of the distribution regarding the axis. For example, the center value of the distribution can be defined as the median value (media/) of the values of each input vector on the division reference coordinate axis.
また、次に分割すべき部分空間の決定方法は、部分空間
に属する入力ベクトルの分布の拡がりを基準として、全
部の部分空間の中でその分布の拡がりが最大の部分空間
を選択するものである。例えば、分亦の大きさとは、各
座標軸に関する入力ベクトルの分散値(入力ベクトルの
座橡値とその平均値との差の二乗)の合計と定義できる
0従米例と異なり、部分空間を二分割する途中段階の処
理では入力ベクトルの分布の拡がりが最大の部分空間か
ら分割していくから、一旦細かく分劃した後に徐々に統
合する処理を行わなくても、ベクトル量子化により発生
する歪が小さく良好なコードブックを生成することがで
きる。さらに、ベクトル空間を二分割する処理の回数が
減るから高速化が可能である。In addition, the method for determining the subspace to be divided next is to select the subspace with the largest distribution spread among all subspaces based on the spread of the distribution of input vectors belonging to the subspace. . For example, the size of the division can be defined as the sum of the variance values of the input vectors for each coordinate axis (the square of the difference between the input vector's corollary value and its average value). In the intermediate stage of processing, the input vector is divided starting from the subspace where the spread of the distribution is the largest, so the distortion caused by vector quantization can be reduced without having to perform the process of gradually integrating the input vector after first dividing it finely. A good codebook can be generated. Furthermore, since the number of times the vector space is divided into two is reduced, speeding up is possible.
また、以上のようにしてN個の部分空間を生成すると同
時に、それぞれの二分割の際の分割基準座標軸や分割座
標位置、および部分空間内の入力ベクトルの分布の拡が
りの情報を二分木のツIJ +構造とレで、N個の部分
空間の分割の状gを規定’(−:%
する空間分割ツリー構造を生成する。この空間分割ツリ
ー構造において、根の節点にはベクトル空間全体を二分
割する際の情報が保持され、葉の節点には対応する部分
空関昏こ属する入力ベクトルの情報が保持されることに
なる。In addition, while generating N subspaces in the above manner, information on the division reference coordinate axes and division coordinate positions for each two-part division, and the spread of the distribution of input vectors in the subspaces is used to create a binary tree. IJ + structure and R define the partitioning state g of N subspaces '(-:%). In this space partitioning tree structure, the root node has the entire vector space divided into two. Information upon division is held, and leaf nodes hold information on input vectors that belong to corresponding subspace nodes.
次に、コードブック生成手段では、N個ある部分空間の
それぞれについて、各部分仝関に属する入力ベクトルか
ら所定の基準でその部分空間の代表ベクトルを生成し、
生成されたN個の代表ベクトルの集合をコードブックと
する。ここで、部分空間の代表ベクトルの生成方法は、
その部分空間に属する入力ベクトルの分布の中心ベクト
ルを代表ベクトルとするものである。例えば、分布の中
心ベクトルとは、各座標軸に関して入力ベクトルのその
座標紬での値の平均値を値とする重心ベクトルと定義で
きる。Next, for each of the N subspaces, the codebook generation means generates a representative vector of the subspace from the input vectors belonging to each subspace according to a predetermined standard,
A set of N generated representative vectors is defined as a codebook. Here, the method for generating the representative vector of the subspace is
The central vector of the distribution of input vectors belonging to the subspace is taken as the representative vector. For example, the center vector of the distribution can be defined as the center of gravity vector whose value is the average value of the values of the input vectors for each coordinate axis.
そして、ベクトル量子化符号化手段では、空間分割ツリ
ー構造をその根の節点から順にたどることにより各入力
ベクトルが属する部分空間を探索す気\すなわち、空間
分割ツリー構造の各節点において、分割基準座標軸に対
する入力ベクトルの値と分割座標位置とを比較して、そ
の値の大小に応じて二分木の左の枝または右の枝に進む
わけである。このように空間分割ツリー構造を探索した
後に、最終的に到達した葉の劾点に対応する部分空間の
代表ベクトルの番号であるインデックスを求める。従来
例と異なり、入力ベクトル自身から生成されたコードブ
ックでベクトル量子化符号化するから、近傍の部分空間
の代表ベクトルを含めて最近接の代表ベクトルを求める
処理を行わなくても、ベクトル量子化により発生する歪
はほとんど増加せず良好なベクトル量子化が行える。さ
らに、最近接の代表ベクトルを求める処理を行わないか
ら高速化が可能である。Then, the vector quantization encoding means searches for the subspace to which each input vector belongs by sequentially tracing the space division tree structure from the root node. In other words, at each node of the space division tree structure, the division reference coordinate axis The value of the input vector is compared with the division coordinate position, and the process proceeds to the left or right branch of the binary tree depending on the magnitude of the value. After searching the space-division tree structure in this way, an index, which is the number of the representative vector of the subspace corresponding to the finally reached leaf point, is obtained. Unlike conventional methods, vector quantization encoding is performed using a codebook generated from the input vector itself, so vector quantization can be performed without the need to include the representative vectors of neighboring subspaces to find the nearest representative vector. The distortion generated by this method hardly increases, and good vector quantization can be performed. Furthermore, since the process of determining the nearest representative vector is not performed, the processing speed can be increased.
以上のようにベクトル量子化符号化器の各手段が動作す
ることで、入力ベクトルをベクトル量子化した際Iこ発
生する歪は十分小さく抑えられ、かつコードブックを生
成する際の処理量、および入力ベクトルをベクトル量子
化して出力ベクトルを決定する際の処理量も小さくなり
、高速なベクトル景子化が実現される。By operating each means of the vector quantization encoder as described above, the distortion generated when vector quantizing the input vector is suppressed to a sufficiently small level, and the amount of processing when generating the codebook is reduced. The amount of processing required when determining an output vector by vector quantizing an input vector is also reduced, and high-speed vector quantization is realized.
また、動画像を対象とした場合には、シーンの変化によ
る画像特性の変動に追従するために、所定のフレーム数
ごとlこ入力iiIIIgI!データを複数のグループ
に分割し、各グループの入力ベクトルに対してベクトル
量子化符号化器を上記の通り動作させればよい。ここで
、第二のベクトル量子化符号化器は次の通り動作する。Furthermore, when the target is a moving image, in order to follow fluctuations in image characteristics due to changes in the scene, input 1 for every predetermined number of frames. The data may be divided into a plurality of groups, and the vector quantization encoder may be operated as described above for the input vectors of each group. Here, the second vector quantization encoder operates as follows.
コードブック部分アツプデート手段では、現グループの
コードブック内の各代表ベクトルに対シて、前グループ
のコードブック内の代表ベクトルに近いものがある場合
にはその代表ベクトルで置き換える。すなわち、現グル
ープの代表ベクトルと前グループの代表ベクトルのそれ
ぞれとを比較して、距離の最も近い前グループの代表ベ
クトルを求め、その距離が所定のしきい値よりも小さけ
れば現グループの代表ベクトルを対応する前グループの
代表ベクトルで置き換え、そうでなければ現グループの
代表ベクトルをアツプデート情報として出力する。ただ
し、前グループの代表ペクトルを入力ベクトルとして現
グループのコードブックを用いてベクトル量子化した後
に、各部分空間における代表ベクトルとその部分空間に
対応づけられた前グループの代表ベクトルとの比較を行
うことにより、現グループの代表ベクトルのそれぞれに
最も近い前グループの代表ベクトルを求め、その距離と
所定のしきい値とを比較する。これにより、コードブッ
クの部分アップデートの処理量が小さくなり高速化が可
能となる。In the codebook partial update means, for each representative vector in the codebook of the current group, if there is a representative vector close to the representative vector in the codebook of the previous group, it is replaced with that representative vector. That is, the representative vector of the current group is compared with each of the representative vectors of the previous group to find the representative vector of the previous group with the closest distance, and if the distance is smaller than a predetermined threshold, the representative vector of the current group is used. is replaced with the corresponding representative vector of the previous group, and if not, the representative vector of the current group is output as update information. However, after vector quantization is performed using the codebook of the current group using the representative vector of the previous group as an input vector, the representative vector in each subspace is compared with the representative vector of the previous group associated with that subspace. By doing this, the representative vectors of the previous group closest to each of the representative vectors of the current group are found, and the distances are compared with a predetermined threshold. This reduces the amount of processing required to partially update the codebook, making it possible to speed up the process.
以上のように第二のベクトル量子化符号化器が動作する
ことで、動画Il!をベクトル量子化する場合には、入
力ベクトルをベクトル量子化した際に発生する歪が十分
小さく抑えられると同時に、出力するコードブックの情
報は削減され、かつコードブックを生成する際の処理量
、および入力ベクトルをベクトル量子化して出力ベクト
ルを決定する際の処理量も小さくなり、高速なベクトル
景子化が実現される。By operating the second vector quantization encoder as described above, the video Il! When vector quantizing the input vector, the distortion that occurs when vector quantizing the input vector is suppressed to a sufficiently low level, and at the same time, the information in the output codebook is reduced, and the amount of processing required to generate the codebook is reduced. In addition, the amount of processing required when determining an output vector by vector quantizing an input vector is also reduced, and high-speed vector quantization is realized.
曳下、本4明の実施例を図面を用いて詳しく説明する。 Embodiments of the present invention will be described in detail with reference to the drawings.
第1図は、本発明の一実廁例であるベクトル量子化符号
化器のブロック図である。また、第2図は、そのベクト
ル量子化符号化器と対fこなるベクトル量子化後号化器
のブロック図である。FIG. 1 is a block diagram of a vector quantization encoder that is an example of the present invention. Moreover, FIG. 2 is a block diagram of the vector quantization encoder and the corresponding vector quantization post-coder.
第1図において、21は入力画像データの端子,22は
ベクトル生成回路,23は空間分割ツリー構造生成回路
,24はコードブック生成回路,25はベクトル量子化
符号化回路,26は空間分割ツリー構造を保持するメモ
リ,27はコードブックを保持するメモリ.28は符号
化情報出力回路,29は出力符号化情報の端子である。In FIG. 1, 21 is a terminal for input image data, 22 is a vector generation circuit, 23 is a space division tree structure generation circuit, 24 is a codebook generation circuit, 25 is a vector quantization encoding circuit, and 26 is a space division tree structure , and 27 is a memory that holds the codebook. 28 is an encoded information output circuit, and 29 is a terminal for output encoded information.
端子21から入力された入力画像データは、ベクトル生
成回路22でk個の画素ごとにブロック分割され、その
k個の入力画像データがまとめられてk次元の入力ベク
トルが生成される。まず、ベクトル量子化する全部の入
力ベクトルが空間分割ツリー構造生成回路25に渡され
、入力ベクトルの分布に応じてk次元ペク}/l/空間
がN個の部分空間に分割され、その空間分割の状態を示
す空間分割ツリー構造が出力されてメモリ26に記憶保
持される。次に、各部分空間に属する入カベクトルから
代表ベクトルが生成され、コードブックの要素であるN
個の代表ベクトルが出力されてメモリ27に記憶保持さ
れる。Input image data input from a terminal 21 is divided into blocks for each k pixels by a vector generation circuit 22, and the k input image data are combined to generate a k-dimensional input vector. First, all input vectors to be vector quantized are passed to the space division tree structure generation circuit 25, and the k-dimensional pek}/l/space is divided into N subspaces according to the distribution of the input vectors, and the space division A space division tree structure indicating the state of is output and stored in the memory 26. Next, a representative vector is generated from the input vectors belonging to each subspace, and N
representative vectors are output and stored in the memory 27.
このようにして空間分割ツリー構造がメモリ26に、コ
ードブックがメモリ271こ保持された後に、各入力ベ
クトルはそれぞれ個別にベクトル量子化符号化回路25
でベクトル量子化符号化される。つまり、メモリ26に
保持された空間分割ツリー構造の探索によりその入力ベ
クトルが属する部分空間を求め、メモリ27に保持され
たコードブックからその部分空間の代表ベクトルの番号
であるインデックスを求めて出力する。符号化情報出力
手段では、メモリ274こ保持されたコードブックの情
報を出力した後に、ベクトル惜子化符号化回路25から
順次出力されるインデックスを出力する。After the space division tree structure is stored in the memory 26 and the codebook is stored in the memory 271 in this way, each input vector is individually stored in the vector quantization encoding circuit 271.
is vector quantized encoded. That is, the subspace to which the input vector belongs is found by searching the space division tree structure held in the memory 26, and the index, which is the number of the representative vector of that subspace, is found from the codebook held in the memory 27 and output. . The encoded information output means outputs the information of the codebook held in the memory 274, and then outputs the index sequentially output from the vector spacing encoding circuit 25.
k次元のベクトル空間をN個の部分空間に分割する方法
は、まずベクトル空間全体を二分割し、さらに各部分空
間を順次二分割する処理を繰り返して、N個の部分空間
を生成する。二分割する際には、k個ある座標軸の中で
その座標軸に臥して最も入力ベクトルの分布幅が大きい
分割基準座標軸を選択し、その座標軸での分布の中心値
を分割座標位置として、その分割座標位置で分割基準座
標軸に垂直な超平面で二分割する。各部分空間の境界面
は必ずある座標軸に関して垂直な超平面となる。ただし
、分割の途中段階では、次に二分割する部分空間として
、その時点で部分空間の入力ベクトルの分布の拡がりが
もっとも大きい部分空間を選択する。A method for dividing a k-dimensional vector space into N subspaces is to first divide the entire vector space into two, and then repeat the process of sequentially dividing each subspace into two to generate N subspaces. When dividing into two, select the division standard coordinate axis that lies on that coordinate axis and has the largest distribution width of the input vector among the k coordinate axes, set the center value of the distribution on that coordinate axis as the division coordinate position, and divide it into two parts. Divide into two by a hyperplane perpendicular to the division reference coordinate axis at the coordinate position. The boundary surface of each subspace is always a hyperplane perpendicular to a certain coordinate axis. However, at an intermediate stage of division, the subspace in which the distribution of input vectors of the subspace has the largest spread at that point is selected as the next subspace to be divided into two.
分割基準座標軸を選択する際のそれぞれの座標軸に関す
る分布幅としては、その座標軸での入力ベクトルの値の
最大値と最小値との差の値を用いる。また、その座標軸
での入力ベクトルの値とその平均値との差の絶対値の合
計や、二乗値の合計を用いることもできる。分割基準座
標軸に関する分割座標位置としては、その分割基準座標
軸での入力ベクトルの値の中央値(メディアン)を用い
る。また、も9分割基単座標軸での入力ベクトルの僅の
平均値や、最大値と最小値との差の中心値を用いること
もできる。As the distribution width for each coordinate axis when selecting a division reference coordinate axis, the value of the difference between the maximum value and the minimum value of the input vector values for that coordinate axis is used. Alternatively, the sum of the absolute values of the differences between the value of the input vector on the coordinate axis and its average value or the sum of the squared values can also be used. As the division coordinate position regarding the division reference coordinate axis, the median of the values of the input vectors on the division reference coordinate axis is used. Further, it is also possible to use a slight average value of the input vectors on the 9-division base single coordinate axis or the center value of the difference between the maximum value and the minimum value.
途中段階で次Cこ二分割する部分空間を決定するために
参照する、部分空間における入力ベクトルの分布の拡が
りとしては、各座標軸での入力ベクトルの分散a(入力
ベクトルの値とその平均値との差の二乗値)の全座椋軸
についての合計を用いる。また、各座標軸での入力ベク
トルの最大値と最小値との差や、入力ベクトルの値とそ
の平均値との差の絶対値の、前座標軸についての合計を
用いることもできる。さらに、その部分空間に属する入
力ベクトル全部に関する合計値ではなく、入力ベクトル
の伽数で割り算した各入力ベクトルに関する平均値とす
ることもできる。The spread of the distribution of the input vector in the subspace, which is referred to in order to determine the subspace to be divided into two parts at an intermediate stage, is the variance a of the input vector on each coordinate axis (the value of the input vector and its average value). The squared difference of ) is used for all Zara axes. Alternatively, the sum of the absolute value of the difference between the maximum value and the minimum value of the input vector in each coordinate axis or the difference between the value of the input vector and its average value for the previous coordinate axis can also be used. Furthermore, instead of the total value of all the input vectors belonging to the subspace, it is also possible to use the average value of each input vector divided by the number of the input vectors.
第5図は、このベクトル空間分割の様子を2次元のベク
トル空間の場合について図示したものである。この図で
、24個の×印はベクトル空間内に存在する2次元の入
力ベクトル438示し、級線は空間分割された8個の部
分空間42を分割する超平面“′(゜〜qQ)’E7r
’;Lて0゛る・そし1・それぞれの部分空間のほぼ中
央にあるΔ印が各部分空間の代表ベクトル44であり、
合計8個の代表ベクトル41(+aO〜隠7)がコード
ブックの111として用いられる。このように破線で示
された部分空閣を分割する超平顯41は、二つの座椰軸
であるX軸またはY軸のどちらかに垂直な超平面(2次
元であるのでIll)である。この図では、ベクトル空
間全体がa〜gの7個の超平面で分割され、8個の引分
空間が生成されている。FIG. 5 illustrates this vector space division for a two-dimensional vector space. In this figure, 24 x marks indicate a two-dimensional input vector 438 that exists in the vector space, and the class line represents a hyperplane "'(゜~qQ)" that divides the eight subspaces 42 into which the space has been divided. E7r
';Lte0゛ru・So1・The Δ mark located almost in the center of each subspace is the representative vector 44 of each subspace,
A total of eight representative vectors 41 (+aO to hidden 7) are used as 111 of the codebook. The super-flat plane 41 that divides the partially empty space indicated by the broken line is a hyperplane (Ill because it is two-dimensional) perpendicular to either the X axis or the Y axis, which are the two axis axes. . In this figure, the entire vector space is divided by seven hyperplanes a to g to generate eight draw spaces.
そして、その空間分割の状態は、二分木のツリー構造(
こ保持された空間分割の侑報である空間分割ツリー構造
で規定される。根の節点は、ベクトル空間全体を二分割
する際の、分割基準座標軸とその座標軸における分割座
標位置、およびベクトル空間全体における入力ベクトル
の分布の拡がりの情報を保持する。空間分割ツリー構造
の途中の節点は、対応する部分空間での分割基準座標軸
と分割座標位置、およびその部分空間番こおけ6入力ベ
クトルの分布の拡がりの情報を保持する。そして、集の
節点は、対応する部分空間の入カペクトルの情報を保持
し、その部分空間の代表ベクトルがコードブックの要素
として用いられる。The state of the space division is a binary tree structure (
This is defined by a space division tree structure which is the information about the space division maintained. The root node holds information about the division reference coordinate axis and the division coordinate position on that coordinate axis when dividing the entire vector space into two, and the spread of the distribution of input vectors in the entire vector space. Nodes in the middle of the space division tree structure hold information on the division reference coordinate axis and division coordinate position in the corresponding subspace, and the spread of the distribution of the six input vectors in the subspace number. The nodes of the set hold information on the input vectors of the corresponding subspace, and the representative vectors of that subspace are used as elements of the codebook.
第6図は、この空間分割ツリー構造45とコードブツク
49の情報を2次元のベクトル空間の場合について図示
したものである。○印はさら蕃こ分割される部分空間に
対応した根の節点46、または途中の節点47で、分割
基準座標軸と分割座標位置、およびその部分空関Iこ属
する入力ベクトルの分布の拡がりの情報を保持している
。また、●印は最終的に得られたN個の部分空間番こ対
応した葉の節点48であり、その部分空間内に存在する
入力ベクトル(×印)の情報を保持している。通常、そ
れぞれの部分空間内に存在する入力ベクトルの個数は同
一ではない。葉の節点48である部分空間の代表ベクト
ル(Δ印)は、N個の部分空間lこ対応してN個(隠0
〜M7)だけ生成されてコードプツク49の情報となる
。FIG. 6 illustrates the space division tree structure 45 and the information in the codebook 49 for a two-dimensional vector space. The ○ mark is the root node 46 corresponding to the subspace to be divided, or the intermediate node 47, and information on the division reference coordinate axis, the division coordinate position, and the spread of the distribution of input vectors to which the subspace belongs. is held. Also, ● marks are leaf nodes 48 corresponding to the finally obtained N subspace numbers, and hold information on input vectors (x marks) existing within the subspaces. Usually, the number of input vectors existing in each subspace is not the same. The representative vector (Δ mark) of the subspace which is the node 48 of the leaf is N (hidden 0) corresponding to the N subspaces.
.about.M7) are generated and become the information of the code block 49.
ここで、第5図と第6図に示した例では、空間分割ツリ
ー構造の葉の節点の深さ(二分木のツリ同一で平衡ツリ
ー構造となっているが、空間分割の途中段階においては
その時点で最も入力ベクトルの分布の拡がりが大きい部
分空間を次に二分割する部分空間とするので、一般的に
は葉の節点の深さがパラバラな非平欠ツリー構造となる
。その結果、入力ベクトルとコードブック内の代表ベク
トルとの距離の合計、すなわち各入力ベクトルをベクト
ル量子化した際に発生する歪の合計は、址想的な甑にか
なり近づき良好なコードブックが生成される。Here, in the examples shown in Figures 5 and 6, the depth of the node of the leaf of the space division tree structure (the binary tree is the same and has a balanced tree structure, but in the middle of the space division Since the subspace with the widest spread of the input vector distribution at that point is selected as the next subspace to be divided into two, a non-flat tree structure in which the depths of the leaf nodes are generally uneven is obtained.As a result, The sum of the distances between the input vectors and the representative vectors in the codebook, that is, the sum of the distortions that occur when vector quantizing each input vector, is quite close to the ideal value, and a good codebook is generated.
ベクトル量子化符号化回路25でk次元の各入力ベクト
ルをベクトル量子化符号化する方法は、空間分割ツリー
構造をその根の節点から順に葉の節点までたどることに
より、その入力ベクトルが属する部分空間を探索するも
のである。すなわち、空間分割ツリー構造の各節点に保
持された分割基準座標軸での入力ベクトルの値と分割座
勘軸とを比較して、その値の大小に応じて二分木の左側
につながる節点、または右側につながる節点を選択する
。そb!、最終的に到達した、その人カベクトルが属す
る部分空間の代表ベクトルの番号である、インデックス
の情報を出力する。The method of vector quantization encoding each k-dimensional input vector in the vector quantization encoding circuit 25 is to trace the space division tree structure sequentially from the root node to the leaf nodes, thereby determining the subspace to which the input vector belongs. The goal is to explore In other words, by comparing the value of the input vector in the division reference coordinate axis maintained at each node of the space division tree structure with the division coordinate axis, the node connected to the left side of the binary tree or the right side is determined depending on the magnitude of the value. Select nodes connected to . Sob! , outputs index information, which is the number of the finally arrived representative vector of the subspace to which the person vector belongs.
以上のようfこして、第1図のベクトル量子化符号化器
は、端子21から入力された入力画像データを元に高速
なコードブック生成、および高速なベクトル量子化符号
化を行い、コードブックの情報と各入力ベクトルに対応
したインデックスの情報を出力符号化情報として端子2
9から出力する。As described above, the vector quantization encoder shown in FIG. 1 performs high-speed codebook generation and high-speed vector quantization encoding based on the input image data input from the terminal 21, and and the index information corresponding to each input vector as output encoded information at terminal 2.
Output from 9.
@2図Cこおいて、50は・入力符号化情報の端子.5
1は符号化情報入力回路.32はベクトル量子化復号化
回路.53はコードブックを保持するメモリ,!+4は
画像データ再生回路,35は出力画像データの端子であ
る。@2 In Figure C, 50 is a terminal for input encoded information. 5
1 is an encoded information input circuit. 32 is a vector quantization decoding circuit. 53 is a memory that holds the codebook,! +4 is an image data reproducing circuit, and 35 is a terminal for output image data.
まず、第1図に示したベクトル量子化符号化器の出力で
あるコードブックの情報とインデックスの情報が、端子
50から入力符号化情報として入力される。符号化情報
入力回路31では、まずコードブックの情報がメモリ5
5に書き込まれ、次に順次インデックスの情報がベクト
ル量子化復号化回路ス9に渡禽、n、ふ。ベクトル量子
化復号化回路52においては、インデックスの情報が代
表ベクトルの番号であるので、対応する代表ベクトルを
コードフックが保持されるメモリ35から読み出し、出
力ベクトルとする。そして、画像データ再生回路54に
おいて出力ベクトルからiiiII像データが再生され
て端子35から出力される。このように、ベクトル量子
化復号化器の動作は非常に簡単である○
また、動画像を対象とする場合には、例えば所定のフレ
ーム数ごとに入力画像データを複数のグループに分割し
、各グループごとに上記のベクトル量子化符号化器とベ
クトル童子化会号化器とでベクトル量子化すればよい。First, codebook information and index information, which are the outputs of the vector quantization encoder shown in FIG. 1, are input from the terminal 50 as input encoded information. In the encoded information input circuit 31, the codebook information is first input to the memory 5.
5, and then the index information is sequentially written to the vector quantization/decoding circuit 9. In the vector quantization/decoding circuit 52, since the index information is the number of the representative vector, the corresponding representative vector is read from the memory 35 in which the code hook is held, and is used as an output vector. The image data reproducing circuit 54 reproduces the iii image data from the output vector and outputs it from the terminal 35. In this way, the operation of the vector quantization decoder is very simple. ○ Also, when working with moving images, for example, the input image data is divided into multiple groups for each predetermined number of frames, and each Vector quantization may be performed for each group using the vector quantization encoder and the vector dojikaization encoder.
すなわち、シーンの変化による画像特性の変動に追従す
るために、所定のフレーム数ごとに入力ベクトルからコ
ードブックを生成し直して、コードブックのアップデー
トを行うわけである。That is, in order to follow changes in image characteristics due to changes in the scene, the codebook is updated by regenerating the codebook from the input vector every predetermined number of frames.
次Iこ、本発明の第二の実施例Iこついて詳しく説明す
る。第7図は、本発明の第二の実施例であるベクトル量
子化符号化器のブロック図である。また、第8図は、そ
のベクトル量子化符号化器と対Iこなるベクトル量子化
後号化器のブロック図である。これらは、動画@!を対
象としたベクトル量子化符号化器とベクトル量子化復号
化器である。Next, a second embodiment of the present invention will be described in detail. FIG. 7 is a block diagram of a vector quantization encoder according to a second embodiment of the present invention. Moreover, FIG. 8 is a block diagram of the vector quantization encoder and its counterpart, the vector quantization post-coder. These are videos @! A vector quantization encoder and a vector quantization decoder for .
第7図番こおいて、51は入力画像データの端子.52
はベクトル生成回路.53は空間分割ツリー構造生成同
路.54はコードブック生戒回路,55はコードブック
部分アツプデート回略.56はベクトル量子化符号化回
路,57は空間分割ツリー構造を保持するメモリ.58
はコードブックを記憶保持するメモリ,59は符号化情
報出力回路,60は出力符号化情報の端子である。In FIG. 7, 51 is a terminal for input image data. 52
is a vector generation circuit. 53 is a space division tree structure generation circuit. 54 is the codebook life cycle circuit, and 55 is the codebook partial update circuit. 56 is a vector quantization encoding circuit, and 57 is a memory that holds a space division tree structure. 58
59 is an encoded information output circuit; and 60 is a terminal for output encoded information.
第7図のベクトル生成回路52,空間分割ツIJ一構造
生成回路55.コードブック生成回略54,ベクトル量
子化符号化回路56,空間分割ツリー構造を保持するメ
モリ57.およびコードブックを記憶保持するメモリ5
8の構戒と動作は、前述した第一の実施例である第1図
のベクトル量子化符号化器の場合と同様である。まず、
所定のフレーム数ごとに入力画像データが複数のグルー
プに分割された後に、各グループごとCこ入カベクトル
がベクトル量子化符号化される。すなわち、所定のフレ
ーム数ごとにコードブックはアップデートされる。Vector generation circuit 52 and space division IJ structure generation circuit 55 in FIG. A codebook generation circuit 54, a vector quantization encoding circuit 56, a memory 57 for holding a space division tree structure. and memory 5 for storing the codebook.
The structure and operation of 8 are the same as those of the vector quantization encoder of FIG. 1, which is the first embodiment described above. first,
After the input image data is divided into a plurality of groups for each predetermined number of frames, the input image data for each group is vector quantized and encoded. That is, the codebook is updated every predetermined number of frames.
端子51から入力された入力画像データは、ベクトル生
成回路52でk次元の入力ベクトルに変換される。その
グループの入力ベクトルの全体から、空間分割ツリー構
造生成回路53で入力ベクトルの分布に応じた空間分割
が実行され、空間分割ツリー構造が生成されてメモリ5
74こ誉き込まれる。N個に分割された部分空間のそれ
ぞれの代表ベクトルは、コードブック生戚回路54で生
成されてコードブック部分アツブデート回路55に渡さ
れる。コードブック部分アツブデート回路55では、現
在メモリ58に保持している前グループのコードブック
の情報と、コードブック生成回路54で新たに生成され
た現グループのコードブックの情報とを比較して、変更
が必要な代表ベクトルについてだけメモリ58の代表ベ
クトルを書き換える。そして、その変更が必要な代表ベ
クトルであるコードブック部分アノブデートの情報と、
ベクトル量子化符号化回路56でベクトル量子化符号化
された結果の各入力ベクトルに対応するインデックスの
情報を、符号化情報出力回路59が端子60から出力符
号化情報として出力する。Input image data input from the terminal 51 is converted into a k-dimensional input vector by the vector generation circuit 52. From all the input vectors of the group, a space division tree structure generation circuit 53 executes space division according to the distribution of the input vectors, generates a space division tree structure, and stores it in the memory 5.
74 praises are received. A representative vector for each of the N subspaces is generated by a codebook generation circuit 54 and passed to a codebook partial aggregation circuit 55. The codebook partial update circuit 55 compares the information of the previous group's codebook currently held in the memory 58 with the information of the current group's codebook newly generated by the codebook generating circuit 54, and changes the information. The representative vectors in the memory 58 are rewritten only for necessary representative vectors. Then, the information on the codebook partial anobdate, which is the representative vector that needs to be changed,
The encoded information output circuit 59 outputs index information corresponding to each input vector as a result of vector quantization encoding in the vector quantization encoding circuit 56 from a terminal 60 as output encoded information.
コードブック部分アツプデート同路55で、現グループ
のコードブック内の各代表ベクトklこ対して、前グル
ープのコードブック内の代表ベクトルに近いものがある
か検出する考え方は、次の通りである。すなわち、現グ
ループの代表ベクトルに対して、最も距離が近い前グル
ープの代表ベクトルを探索して、その結果求められた最
近接の代表ベクトルに対する距離が所定のしきい値より
も小さければ、その現グループの代宍ベクトルを対応す
る前グループの代表ベクトルで代用するものとし、メモ
リ58に保持されたその前グループの代表ベクトルは書
き換えない。両者は近いが完全に同じではないので、こ
の処理によりベクトル量子化による歪が多少増加するの
で、しきい値はその歪の増加が間匙とならないように決
定しておく必要がある。また、このように前グループの
代表ベクトルz尊A拗ズずにそのまま現グループの代表
ペクトルとする場合には、その代表ベクトルに対するイ
ンデックスの値、すなわち代表ベクトルのコードブック
内の番号は同じである必要があり、それを考慮した現グ
ループの代表ベクトルの番号付けが必要である。The idea of detecting whether each representative vector kl in the codebook of the current group is close to the representative vector in the codebook of the previous group in the codebook partial update path 55 is as follows. In other words, the representative vector of the previous group that is closest to the representative vector of the current group is searched, and if the distance to the nearest representative vector found as a result is smaller than a predetermined threshold, the current group is searched for. The representative vector of the corresponding previous group is substituted for the substitute vector of the group, and the representative vector of the previous group held in the memory 58 is not rewritten. Although the two are close, they are not completely the same, and this process slightly increases distortion due to vector quantization, so the threshold value must be determined in such a way that the increase in distortion is not significant. In addition, when the representative vector of the previous group is used as the representative vector of the current group without changing it, the index value for that representative vector, that is, the number in the codebook of the representative vector, is the same. It is necessary to take this into account when numbering the representative vectors of the current group.
第9図は、実際のコードブック部分アツブデート回路5
5のブロック図である。71は代表ベクトル読み込み回
路.72はベクトル量子化符号化回路,75は空間分割
ツリー構造を保持するメ2モリ,74はコードブックを
記憶保持するメモリ,75は最近接ベクトル検出回路.
76はアツプデート判別回路である。Figure 9 shows the actual codebook partial attach circuit 5.
FIG. 5 is a block diagram of No. 5. 71 is a representative vector reading circuit. 72 is a vector quantization encoding circuit, 75 is a memory that holds a space division tree structure, 74 is a memory that stores and holds a codebook, and 75 is a nearest neighbor vector detection circuit.
76 is an update determination circuit.
まず、メモリ58に記憶保持された前グループのコード
ブック内の各代表ベクトルが、代表ベクトル読み込み回
路によって読み出され、ベクトル量子化符号化回路72
に渡される。ベクトル量子化符号化回路72は、空間分
割ツリー構造生戒手段55で生成されメモリ75に保持
された現グループの空間分割ツリー構造によって、入力
ベクトルである前グループの各代表ベクトルをベクトル
撤子化符号化し、インデックスとその入力ベクトルを出
力する。そして、最近接ベクトル検出回路75は、コー
ドブック生成回路54で生成されメモリ74に記惚保持
された現グループのコードブックの各代表ベクトルにつ
いて、ベクトル量子化符号化回路72から出力されたイ
ンデックスを元番こしてその代表ベクトルに対応する複
数個の前コードブックの代表ベクトルを求め、その中で
距離が最も近いものを検出し選択する。First, each representative vector in the codebook of the previous group stored in the memory 58 is read out by the representative vector reading circuit, and the vector quantization encoding circuit 72
passed to. The vector quantization encoding circuit 72 vector-retracts each representative vector of the previous group, which is an input vector, using the space-division tree structure of the current group generated by the space-division tree structure analysis means 55 and held in the memory 75. encode and output the index and its input vector. Then, the nearest vector detection circuit 75 calculates the index output from the vector quantization encoding circuit 72 for each representative vector of the codebook of the current group generated by the codebook generation circuit 54 and stored in the memory 74. The representative vectors of a plurality of previous codebooks corresponding to the original number are found, and the one with the closest distance is detected and selected.
このようにして現コードブックの各代表ベクトルに対し
て対応する前コードブックの代表ベクトルを一つ選択さ
れた後に、その前コードブックの代表ベクトルがアツプ
デート判定手段に渡され、現コードブックの代表ベクト
ルとの距離が、予め定められた所定のしきい値よりも小
さいか大きいかが判定される。その結果、しきい値より
も小さい場合には、その前コードブックの代表ベクトル
をそのまま使用することとし、アツプデート判定回路7
6は何も出力しない。しかし、しきい値よりも大きい場
合には、現コードブックの代表ベクトルを用いる必要が
あるので、その新たな代表ベクトルがアツブデート判定
回路76から出力され、メモリ58に保持された前コー
ドブックを部分アップデートすると同時に、符号化情報
出力回路59に渡される。なお、現コードブックの代表
ベクトルに対して、対応する前コードブックの代表ベク
トルが存在しなかった場合は、同様にそれをアップデー
トする。After one representative vector of the previous codebook corresponding to each representative vector of the current codebook is selected in this way, the representative vector of the previous codebook is passed to the update determination means, and the representative vector of the current codebook is passed to the update determination means. It is determined whether the distance to the vector is smaller or larger than a predetermined threshold. As a result, if it is smaller than the threshold value, the representative vector of the previous codebook is used as is, and the update determination circuit 7
6 outputs nothing. However, if it is larger than the threshold, it is necessary to use the representative vector of the current codebook, so the new representative vector is output from the update determination circuit 76, and the previous codebook held in the memory 58 is partially At the same time as updating, it is passed to the encoded information output circuit 59. Note that if there is no corresponding representative vector of the previous codebook with respect to the representative vector of the current codebook, it is updated in the same way.
第10図は、前コードブックの部分アップデートする判
定の方法を示す概念囚である。81は現グループの空間
分割における部分空間.82はその部分空間における現
グループの代表ベクトル,85ハコードブック部分アツ
プデート回路55のベクトル量子化符号化回路72の動
作により、その部分空間に対応づけられた前コードブッ
クの代表ベクトル.84は所定のしきい値を半径とする
ベクトル空間内の超球である。FIG. 10 is a conceptual diagram showing a method for determining whether to partially update the previous codebook. 81 is a subspace in the space division of the current group. 82 is a representative vector of the current group in that subspace, and 85 is a representative vector of the previous codebook associated with that subspace by the operation of the vector quantization encoding circuit 72 of the codebook partial update circuit 55. 84 is a hypersphere in the vector space whose radius is a predetermined threshold value.
(a)の場合憂こは、現コードブックの代衣ベクトル8
2に対して距離が最も近い前コードブックの代表ベクト
ル85が、所定のしきい値を半径とする超球84の内部
に入っているので、その前コードブックの代表ベクトル
をそのまま使用することとし、その代表ベクトルのアツ
プデートは行わない。それlζ対して、ω冫の場合には
、超球84の内部に入る前コードブックの代表ベクトル
は存在しないので、現コードブックの代表ベクトル82
を新たな代表ベクトルとしてアツブデートを行う。この
方法では現コードブックの各代表ベクトルと前コードブ
ックの代表ベクトルとの比較の処理が匍単化されるので
、コードブックの部分アツプデートの処理が高速化され
る。In case (a), Yuko is the vector 8 of the current codebook.
Since the representative vector 85 of the previous codebook closest to 2 is inside the hypersphere 84 whose radius is a predetermined threshold value, we will use the representative vector of the previous codebook as is. , its representative vector is not updated. On the other hand, in the case of ω, there is no representative vector of the previous codebook that enters the hypersphere 84, so the representative vector of the current codebook 82
We will perform an attestation using this as a new representative vector. In this method, the process of comparing each representative vector of the current codebook with the representative vector of the previous codebook is simplified, so that the process of partially updating the codebook is sped up.
第11図は、以上の処理によるコードブック部分アツプ
デート情報の生成の様子を示す概念図である。コードブ
ック生成回路54で生成されたコードブックの情報は、
一番最初のグループでは当然全てがコードブック部分ア
ツプデートの情報としてコードブック部分アツブデート
回路55から出力される。しかし、途中のグループでは
前述の処理により前グループの代表ベクトルに近いもの
があるかどうかが探索され、近い代表ベクトルが存在す
るときは、図中に斜線で示した部分のように前グループ
の代表ベクトルで現グループの代表ベクトルが置き換え
られる。その結果、コードブック部分アツプデート回路
55から出力される情報は、コードブック内の一部分の
代表ベクトルに間する情報のみとなる。ただし、現グル
ープの各代表ベクトルについて、何らかの方法でその代
表ベクトルを出力するかしないかを示すフラグ情報を付
加する必要がある。FIG. 11 is a conceptual diagram showing how codebook partial update information is generated by the above processing. The codebook information generated by the codebook generation circuit 54 is
Of course, in the first group, all information is output from the codebook partial update circuit 55 as codebook partial update information. However, in the intermediate group, the process described above searches to see if there is a representative vector close to the previous group's representative vector, and if a similar representative vector exists, the representative vector of the previous group is The vector replaces the current group's representative vector. As a result, the information output from the codebook partial update circuit 55 is only information related to representative vectors of a portion of the codebook. However, for each representative vector of the current group, it is necessary to add flag information indicating whether or not to output the representative vector by some method.
さて、以上脱明した第7図のベクトル量子化符号化器と
対lこなる@8図のベクトル量子化復号化器について説
明する。@8図において、61は入力符号化情報の端子
.62は符号化情報入力回賂,65はベクトル量子化復
号化回路.64はコードブックを保持するメモリ.65
は画像データ再生回路,66は出力論像データの端子で
ある。Now, the vector quantization decoder shown in FIG. 8, which is the counterpart of the vector quantization encoder shown in FIG. 7 explained above, will be explained. @8 In Figure 8, 61 is a terminal for input encoded information. 62 is an encoded information input circuit, and 65 is a vector quantization/decoding circuit. 64 is a memory that holds the codebook. 65
1 is an image data reproducing circuit, and 66 is a terminal for output logical image data.
第8図のベクトル量子化復号化回路65,コードブック
を保持するメモリ64,および画像データ再生回略65
の構成と動作は前述した第一の実施例である一図の゛ハ
′量子化復号化器′)場合と同様である。複数のグルー
プごとにコードブックがアップデートされ、入力された
インデックスがベクトル量子化復号化されて出力画像デ
ータが再生される。A vector quantization decoding circuit 65, a memory 64 for storing a codebook, and an image data reproduction circuit 65 in FIG.
The structure and operation of the decoder are the same as those of the quantization decoder in FIG. 1, which is the first embodiment described above. The codebook is updated for each group, and the input index is vector quantized and decoded to reproduce output image data.
まず、第7図に示したベクトル童子化符号化器の出力で
あるコードブック部分アツブデートの情報とインデック
スの情報が、端子61から入力符号化情報として入力さ
れる。符号化情報入力回路62では、まずコードブック
部分アツプデートの情報に応じてメモリ64に保持され
たコードブックの一部分の代表ベクトルのみが省き換え
られ、次番こ順次インデックスの情報がベクトル量子化
復号化回路65に渡される。ベクトル量子化復号化回路
63においては、そのインデックスに対応する代表ヘク
トルをコードブックが保持されるメモリ64から読み出
し、出力ベクトルとする。そして、画像データ再生回路
54において、出力ベクトルから出力画像データが再生
されて端子66から出力される。First, codebook partial aggregation information and index information, which are the outputs of the vector doji conversion encoder shown in FIG. 7, are inputted from the terminal 61 as input encoded information. In the encoding information input circuit 62, first, only the representative vector of a part of the codebook held in the memory 64 is omitted according to the information of the codebook partial update, and then the information of the sequential index is vector quantized and decoded. It is passed to circuit 65. The vector quantization/decoding circuit 63 reads out the representative hector corresponding to the index from the memory 64 in which the codebook is held, and uses it as an output vector. Then, in the image data reproducing circuit 54, output image data is reproduced from the output vector and outputted from the terminal 66.
以上詳しく説明した本発明の実施例では、コーの情報と
インデックスの情報はそのままベクトルt子化符号化器
からベクトル量子化復号化器に渡されるものとしたが、
ベクトル量子化符号化器の符号化情報出力回路でコード
ブックの情報を可変長符号化することにより、ベクトル
t子化による歪を増加させずに伝送する情報tを削減す
ることができる。伝送するコードブックの情¥IA4c
関しては、各代表ベクトルのk個の座標値を動々に、予
め生成しておいた可変長符号化テーブルによって可変長
符号化すればよい0また、インデックスの情報に関して
も、同様に可変長符号化することにより情報量を削減で
きる場合がある。In the embodiment of the present invention described in detail above, it is assumed that the code information and the index information are passed as they are from the vector t-child encoder to the vector quantization decoder.
By variable-length encoding the codebook information in the encoded information output circuit of the vector quantization encoder, the amount of information t to be transmitted can be reduced without increasing distortion due to vector t-childization. Information on the codebook to be transmitted¥IA4c
Regarding this, the k coordinate values of each representative vector can be dynamically encoded in variable length using a variable length encoding table generated in advance.Also, regarding the index information, similarly, variable length encoding can be performed. In some cases, the amount of information can be reduced by encoding.
また、動画gIを対象として入力画像データをグループ
分けした後に、各グループごとにコードブックをアップ
デートして入力ベクトルをベクトル量子化符号化する場
合には、動画像の1フレーム単位でインデックスの部分
アップデートを行うことも可能である。すなわち、ベク
トル量子化符号化器とベクトル量子化復号化器のそれぞ
れに、1フレーム全体の入力ベクトルに関してイ/デツ
クスを保持するインデックスメモリを設け、ベクトル量
子化符号化器では、各入力ベクトルをベクトル量子化符
号化した後に出力される現在のフレームのインデックス
を、対応する画面位lt4こついて前フレームのインデ
ックスと比較する。そして、一致しない場合Gこはその
イ/デツクスの情報を出力するか、一致する場合Iこは
そのインデックスの情報を出力しないようにする。ただ
し、何らかの方法で送出するかしないかのフラグ情報を
付加する必要がある。このようにインデックスの部分ア
ツプデートを取り入れると、ベクトルt子化の歪を垢加
させずにさらに情報量の削減を行うことができる。In addition, when input image data is divided into groups for video gI, and the codebook is updated for each group and the input vector is vector quantized encoded, the index is partially updated for each frame of the video. It is also possible to do this. That is, each of the vector quantization encoder and the vector quantization decoder is provided with an index memory that holds an index regarding input vectors for one entire frame, and the vector quantization encoder converts each input vector into a vector. The index of the current frame output after quantization encoding is compared with the index of the previous frame at the corresponding screen position lt4. Then, if they do not match, G outputs the information of that index, or if they match, I does not output the information of that index. However, it is necessary to add flag information to indicate whether or not to send it in some way. Incorporating a partial update of the index in this way allows the amount of information to be further reduced without adding to the distortion of vector t-childization.
本発明によれば、次に示す効果がある。まず第一に、ベ
クトル空間の分割方法を簡略化してその空間分Wll情
報を二分木のツリー構造で保持し、各部分空間の代表ベ
クトルからコードブックを生成することにより、コード
ブック生成の際の処理量と入力ベクトルをベクトル量子
化符号化する際の処理量を大幅に削減でき、高速なベク
トル量子化を実現できる。また、部分空間を二分割して
いく処理の途中段階では、次に分割する部分空間として
最もその中の入力ベクトルの分布の拡がりが大きいもの
を選択するから、最終的に分割された部分空間の代表ベ
クトルから成るコードブックはかなり最適に近いものと
なり、入力ベクトルをベクトル量子化する際に発生する
歪を十分に小さくすることができる。According to the present invention, there are the following effects. First of all, by simplifying the method of dividing the vector space, storing Wll information for that space in a binary tree structure, and generating a codebook from the representative vectors of each subspace, it is possible to The amount of processing and the amount of processing when vector quantizing and encoding input vectors can be significantly reduced, and high-speed vector quantization can be achieved. Also, in the middle of the process of dividing a subspace into two, the subspace with the widest distribution of input vectors is selected as the next subspace to be divided, so the final divided subspace The codebook made up of representative vectors is fairly close to optimal, and the distortion that occurs when vector quantizing input vectors can be sufficiently reduced.
また第二に、IIfJ画像を対象としてベクトル量子化
を行う場合に、入力画像データ8複数グループに分割し
て各グループごとに入力ベクトルを−E記と同様の方法
でベクトル量子化し、前グループのコードブックの内容
と比較して変化した部分のコードブック部分アツプデー
トの情報のみを、ベクトル量子化符号化器からベクトル
量子化復号化器へ送出することにより、ベクトル量子化
符号化の結果の情報量が大幅に削減される。そして、前
コードブックの各代表ベクトルを現コードブックにより
ベクトル量子化する処理により、部分アップデートする
前コードブックの代表ベクトルを決定している0)で、
高速なコードブックの部分アンプデートを実現できる。Second, when performing vector quantization on IIfJ images, divide the input image data into 8 groups, vector quantize the input vectors for each group in the same manner as described in -E, and By sending only the information of the codebook partial update of the part that has changed compared to the codebook contents from the vector quantization encoder to the vector quantization decoder, the information amount of the result of vector quantization encoding is will be significantly reduced. Then, in 0), the representative vector of the previous codebook to be partially updated is determined by vector quantization of each representative vector of the previous codebook using the current codebook.
High-speed partial amplification of the codebook can be achieved.
第1図は本発明の第一の実施例であるベクトル量子化符
号化器のブロック図、第2図は第1図のベクトル量子化
符号化器に対応したベクトル量子化復号化器のブロック
図、第5図は光ディスクに対する画像符号化記録システ
ムのブロック図、第4図は第5図の画像符号化記録シス
テムに対応した画像後号化再生システムのブロック図、
第5図はベクトル空間の分割の状態を示す概念図、第6
図は第5図の空間分割の状態に対応した空間分割ツリー
構造の概念図、第7図は本発明の第二の実施例である動
画像を対象したベクトル量子化符号化器のブロック図、
第8図は第7図のベクトル量子化符号化器に対応したベ
クトル量子化復号化器のブロック図、第9図は第7園I
こおけるコードブック部分アツプデート回路の詳細なブ
ロック図、の判定処理の概念図、第11出はコードブッ
クの部分アツプデートの株子を示す概念図である。
21.51・・・入力th豫データ
29.60・・・出力符号化情報
30.61・・・入力符号化情報
55.66・・・出力画像データ
25.5!S・・・空間分割ツリー構造生成回路24.
54・・・コードブック生成回路26, 57. 75
・・・空間分割ツリー構造メモリ27, 55. 58
, 64. 74・・・コードブックメモリ25。56
.72・・・ベクトル量子化符号化回路52.63・・
・ベクトル量子化復号化回路55・・・コードブック部
分アツプデート回路75・・・最近接ベクトル検出画路
76・・・アツブデート判定回路
42・・・引分空間
45・・・入力ベクトル
44・・・代表ベクトル
突 1 闇
第5図
男2図
第6図
46 寂の節点
コードフシク
第7西
第8図
第9図
?(L)″lPシつ゜テーF−■η}レ(b) ゛アン
フ゜テ゜一トあり
−489
緊11[ffi
YO〜Y7
イ1メ罫5/)rクトノレFIG. 1 is a block diagram of a vector quantization encoder according to the first embodiment of the present invention, and FIG. 2 is a block diagram of a vector quantization decoder corresponding to the vector quantization encoder of FIG. 1. , FIG. 5 is a block diagram of an image encoding recording system for an optical disc, FIG. 4 is a block diagram of an image postcoding and reproducing system corresponding to the image encoding recording system of FIG. 5,
Figure 5 is a conceptual diagram showing the state of vector space division;
The figure is a conceptual diagram of a space division tree structure corresponding to the space division state of FIG. 5, and FIG. 7 is a block diagram of a vector quantization encoder for moving images, which is a second embodiment of the present invention.
FIG. 8 is a block diagram of a vector quantization decoder corresponding to the vector quantization encoder in FIG.
Part 11 is a detailed block diagram of the codebook partial update circuit and a conceptual diagram of the determination process. 21.51... Input data 29.60... Output encoded information 30.61... Input encoded information 55.66... Output image data 25.5! S... Space division tree structure generation circuit 24.
54...Codebook generation circuit 26, 57. 75
... Space division tree structure memory 27, 55. 58
, 64. 74...Codebook memory 25.56
.. 72...Vector quantization encoding circuit 52.63...
- Vector quantization decoding circuit 55...Codebook partial update circuit 75...Nearest vector detection path 76...Update determination circuit 42...Draw space 45...Input vector 44... Representative vector tsu 1 Dark figure 5 man 2 figure 6 figure 46 Jaku no node code Fushiku 7th west figure 8 figure 9? (L) ″lP site F-■η}re (b) ゛Information included-489 11 [ffi YO~Y7 1st page 5/) r Kutonore
Claims (1)
して多次元の入力ベクトルを生成するベクトル生成手段
と、多次元のベクトル空間における該入力ベクトルの分
布に応じてベクトル空間を複数個の部分空間に分割し、
該ベクトル空間の分割の状態を示す空間分割ツリー構造
を生成する空間分割ツリー構造生成手段と、該空間分割
ツリー構造の葉の節点に対応する各部分空間の中に存在
する複数個の入力ベクトルから該部分空間の代表ベクト
ルを生成して代表ベクトルの集合であるコードブックを
生成するコードブック生成手段と、上記空間分割ツリー
構造を根の節点から順にたどることにより各入力ベクト
ルに対して該入力ベクトルが属する部分空間を検出し、
該部分空間の代表ベクトルを上記コードブックから選択
して該代表ベクトルの番号であるインデックスを生成す
るベクトル量子化符号化手段と、上記コードブックの情
報を出力した後に各入力ベクトルに対応した該インデッ
クスの情報を順次出力する符号化情報出力手段とから成
ることを特徴とする画像データのベクトル量子化符号化
器。 2)コードブックの情報を入力した後にインデックスの
情報を順次入力する符号化情報入力手段と、該インデッ
クスの値を番号とする代表ベクトルを上記コードブック
から読み出して出力するベクトル量子化復号化手段と、
該ベクトル量子化復号化手段の出力である多次元の出力
ベクトルを合成して出力画像データを再生する画像デー
タ再生手段とから成ることを特徴とする画像データのベ
クトル量子化復号化器。 3)複数グループの入力画像データを順次各グループご
とに複数画素から成るブロックに分割して多次元の入力
ベクトルを生成するベクトル生成手段と、順次各グルー
プごとに多次元のベクトル空間における該入力ベクトル
の分布に応じてベクトル空間を複数個の部分空間に分割
し、該ベクトル空間の分割の状態を示す空間分割ツリー
構造を生成する空間分割ツリー構造生成手段と、順次各
グループごとに該空間分割ツリー構造の葉の節点に対応
する各部分空間の中に存在する複数個の入力ベクトルか
ら該部分空間の代表ベクトルを生成して代表ベクトルの
集合であるコードブックを生成するコードブック生成手
段と、現グループのコードブックの要素である各代表ベ
クトルに対して、所定の歪測度における二つのベクトル
間の距離に相当する歪が最も小さい前グループのコード
ブックの要素である代表ベクトルを見つけ出し、歪が所
定のしきい値よりも小さい場合には現グループの該代表
ベクトルを前グループの対応する代表ベクトルで置き換
えるコードブック部分アップデート手段と、各グループ
ごとに上記空間分割ツリー構造を根の節点から順にたど
ることにより各入力ベクトルに対して該入力ベクトルが
属する部分空間を検出し、該部分空間の代表ベクトルを
上記コードブックから選択して該代表ベクトルの番号で
あるインデックスを生成するベクトル量子化符号化手段
と、各グループごとに現グループのコードブックの要素
である代表ベクトルのうち前グループのコードブックの
要素である代表ベクトルのいずれとも異なる代表ベクト
ルの情報をコートブック変更の情報として出力した後に
各入力ベクトルに対応した該インデックスの情報を順次
出力する符号化情報出力手段とから成ることを特徴とす
る画像データのベクトル量子化符号化器。 4)複数グループごとに、コードブック変更の情報を入
力して前グループのコートブックと比較して変更のある
代表ベクトルのみを書き換えてコートブックを生成した
後にインデックスの情報を順次入力する符号化情報入力
手段と、各グループごとに該インデックスの値を番号と
する代表ベクトルを上記コードブックから読み出して出
力するベクトル量子化復号化手段と、各グループごとに
該ベクトル量子化復号化手段の出力である多次元の出力
ベクトルを合成して出力画像データを再生する画像デー
タ再生手段とから成ることを特徴とする画像データのベ
クトル量子化復号化器。[Scope of Claims] 1) Vector generation means for generating a multidimensional input vector by dividing input image data into blocks each consisting of a plurality of pixels; Divide into multiple subspaces,
space division tree structure generation means for generating a space division tree structure indicating a state of division of the vector space, and a plurality of input vectors existing in each subspace corresponding to a leaf node of the space division tree structure; codebook generation means for generating a representative vector of the subspace to generate a codebook that is a set of representative vectors; Find the subspace to which
vector quantization encoding means for selecting a representative vector of the subspace from the codebook and generating an index that is a number of the representative vector; and after outputting the information of the codebook, the index corresponding to each input vector. 1. A vector quantization encoder for image data, comprising encoded information output means for sequentially outputting information. 2) Encoding information input means for sequentially inputting index information after inputting codebook information, and vector quantization decoding means for reading out and outputting a representative vector whose number is the value of the index from the codebook. ,
A vector quantization decoder for image data, comprising an image data reproduction means for synthesizing multidimensional output vectors that are outputs of the vector quantization decoding means and reproducing output image data. 3) Vector generation means for generating multidimensional input vectors by sequentially dividing input image data of a plurality of groups into blocks each consisting of a plurality of pixels for each group, and sequentially generating the input vectors in a multidimensional vector space for each group. space division tree structure generation means for dividing a vector space into a plurality of subspaces according to the distribution of the vector space, and generating a space division tree structure indicating the division state of the vector space; codebook generation means for generating a representative vector of a subspace from a plurality of input vectors existing in each subspace corresponding to a node of a leaf of the structure, and generating a codebook that is a collection of representative vectors; For each representative vector that is an element of the codebook of a group, find the representative vector that is an element of the codebook of the previous group that has the smallest distortion corresponding to the distance between two vectors in a predetermined distortion measure, and a codebook partial update means that replaces the representative vector of the current group with a corresponding representative vector of the previous group if it is smaller than a threshold; and traversing the space division tree structure in order from the root node for each group. vector quantization encoding means for detecting a subspace to which the input vector belongs for each input vector, selecting a representative vector of the subspace from the codebook, and generating an index that is a number of the representative vector; , for each group, among the representative vectors that are elements of the codebook of the current group, information about representative vectors that are different from any of the representative vectors that are elements of the codebook of the previous group is output as codebook change information, and then each input vector is 1. A vector quantization encoder for image data, comprising encoded information output means for sequentially outputting information of the index corresponding to the index. 4) Encoding information that inputs codebook change information for each group and generates a codebook by comparing it with the codebook of the previous group and rewriting only the changed representative vectors, and then sequentially inputting index information an input means, a vector quantization/decoding means for reading and outputting a representative vector whose number is the value of the index for each group from the codebook, and an output of the vector quantization/decoding means for each group. 1. A vector quantization decoder for image data, comprising an image data reproducing means for synthesizing multidimensional output vectors and reproducing output image data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1160733A JPH0327670A (en) | 1989-06-26 | 1989-06-26 | Vector quantizer for image data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1160733A JPH0327670A (en) | 1989-06-26 | 1989-06-26 | Vector quantizer for image data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0327670A true JPH0327670A (en) | 1991-02-06 |
Family
ID=15721282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1160733A Pending JPH0327670A (en) | 1989-06-26 | 1989-06-26 | Vector quantizer for image data |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0327670A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006035512A1 (en) * | 2004-09-29 | 2006-04-06 | Tadahiro Ohmi | Data reproduction device, reproduction method, data compression device, and compression method |
| JP2006520972A (en) * | 2003-02-28 | 2006-09-14 | ピクトン・リミテッド・ライアビリティ・カンパニー | Image pattern recognition system and method |
| WO2009038154A1 (en) * | 2007-09-19 | 2009-03-26 | Sharp Kabushiki Kaisha | Adaptive image up-scaling technique |
| JP2009524861A (en) * | 2006-01-26 | 2009-07-02 | ヴェステル エレクトロニック サナイ ヴェ ティカレット アノニム シュルケット | Method and apparatus for improving resolution of digital image |
| JP2013518464A (en) * | 2010-01-22 | 2013-05-20 | トムソン ライセンシング | Data pruning for video compression using Example-based super-resolution |
-
1989
- 1989-06-26 JP JP1160733A patent/JPH0327670A/en active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006520972A (en) * | 2003-02-28 | 2006-09-14 | ピクトン・リミテッド・ライアビリティ・カンパニー | Image pattern recognition system and method |
| WO2006035512A1 (en) * | 2004-09-29 | 2006-04-06 | Tadahiro Ohmi | Data reproduction device, reproduction method, data compression device, and compression method |
| JP2009524861A (en) * | 2006-01-26 | 2009-07-02 | ヴェステル エレクトロニック サナイ ヴェ ティカレット アノニム シュルケット | Method and apparatus for improving resolution of digital image |
| WO2009038154A1 (en) * | 2007-09-19 | 2009-03-26 | Sharp Kabushiki Kaisha | Adaptive image up-scaling technique |
| US8655108B2 (en) | 2007-09-19 | 2014-02-18 | Sharp Laboratories Of America, Inc. | Adaptive image up-scaling technique |
| JP2013518464A (en) * | 2010-01-22 | 2013-05-20 | トムソン ライセンシング | Data pruning for video compression using Example-based super-resolution |
| US9813707B2 (en) | 2010-01-22 | 2017-11-07 | Thomson Licensing Dtv | Data pruning for video compression using example-based super-resolution |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2527351B2 (en) | Image data compression method | |
| CN1983432B (en) | Structured set partitioning and multilevel coding for partial response channels | |
| KR950002304B1 (en) | Multi-error correction method | |
| JP2527350B2 (en) | Image data compression and reconstruction device by vector quantization. | |
| JPH1155662A (en) | Image processing device | |
| Zheng et al. | Design of vector quantization codebooks using a genetic algorithm | |
| Riskin | Variable rate vector quantization of images | |
| JPH0327670A (en) | Vector quantizer for image data | |
| US20240397091A1 (en) | Point cloud data frames compression | |
| CN116258781A (en) | Image data DNA storage method, system, electronic device and storage medium | |
| Cheng et al. | Robust zero-redundancy vector quantization for noisy channels | |
| JP2001326935A (en) | Image coding/decoding method, its device, and recording medium recorded with program therefor | |
| WO1999055007A1 (en) | Method and apparatus for making code book, vector quantizing device, device and method for data compression, device and method for data decompression, system for data compression/decompression | |
| CN117135416A (en) | A video generation system based on AIGC | |
| CN111681290B (en) | Picture storage method based on DNA coding technology | |
| CN117558299A (en) | Encoding and decoding methods and reading and writing methods of fourth-order RLL (1,3) modulation codes | |
| JPS61159869A (en) | Vector quantizer | |
| JP3273580B2 (en) | Data modulation method, data modulation device, recording medium, data demodulation method, and data demodulation device | |
| Park et al. | Topological surgery encoding improvements based on adaptive bit allocation and DFSVQ | |
| JPH0621828A (en) | Vector quantizing decoder | |
| JP3399769B2 (en) | Vector quantizer | |
| JPH0496575A (en) | Image encoding method | |
| JP2872241B2 (en) | Image coding method | |
| CN119167152A (en) | Simulation service platform data generation optimization method, system, equipment and medium | |
| JPH0727400B2 (en) | Learning type vector quantizer |