JP2000022961A - Device and method for generating code book used for vector quantization, vector quantizing device, and recording medium - Google Patents

Device and method for generating code book used for vector quantization, vector quantizing device, and recording medium

Info

Publication number
JP2000022961A
JP2000022961A JP18951698A JP18951698A JP2000022961A JP 2000022961 A JP2000022961 A JP 2000022961A JP 18951698 A JP18951698 A JP 18951698A JP 18951698 A JP18951698 A JP 18951698A JP 2000022961 A JP2000022961 A JP 2000022961A
Authority
JP
Japan
Prior art keywords
pattern
code
vector quantization
vector
creating
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
Application number
JP18951698A
Other languages
Japanese (ja)
Other versions
JP3527415B2 (en
Inventor
Takahiro Nakayama
貴裕 中山
Tatsuro Morimoto
達郎 森本
Tadahiro Omi
忠弘 大見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP18951698A priority Critical patent/JP3527415B2/en
Priority to EP99913695A priority patent/EP1087533A1/en
Priority to PCT/JP1999/002050 priority patent/WO1999055007A1/en
Publication of JP2000022961A publication Critical patent/JP2000022961A/en
Application granted granted Critical
Publication of JP3527415B2 publication Critical patent/JP3527415B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To actualize a code book which is adaptive to various images and has high versatility without increasing the capacity of a memory for storing the code book. SOLUTION: The code of a solid pattern which gradually varies in luminance value in a block is generated and the code of an edge pattern which varies abruptly in luminance value is generated; and those obtained codes are stored in the memory 10. When vector quantization is actually performed, the pattern codes stored in the memory are processed to generate the code of a pattern different from them and the code is used for vector quantization to actualize adaptation to all kinds of images consisting of the solid pattern and edge pattern; and only the basic patterns are stored in the memory 10 to suppress the memory capacity small.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ベクトル量子化で
用いるコードブックの作成装置および方法、ベクトル量
子化装置、更にはこれらの処理を行うためのプログラム
を記憶した記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for creating a codebook used in vector quantization, a vector quantization apparatus, and a recording medium storing a program for performing these processes.

【0002】[0002]

【従来の技術】従来、データ圧縮の手法が種々提案され
ている。その中で、圧縮データの伸長処理を非常に簡単
に行うことが可能なデータ圧縮アルゴリズムの1つとし
て、「ベクトル量子化」という手法が良く知られてい
る。このアルゴリズムは、古くから信号処理の分野で知
られており、特に、画像信号や音声信号のデータ圧縮、
あるいはパターン認識に応用されてきた。
2. Description of the Related Art Conventionally, various data compression techniques have been proposed. Among them, a technique called “vector quantization” is well known as one of data compression algorithms that can very easily perform decompression processing of compressed data. This algorithm has been known for a long time in the field of signal processing, especially for data compression of image signals and audio signals,
Or it has been applied to pattern recognition.

【0003】このベクトル量子化では、ある大きさ(例
えば4×4画素のブロック)の画素パターン(コード)
を幾つか用意しておき、それぞれにユニークな番号など
を与える(この集合体を「コードブック」という)。そ
して、例えば2次元配列の画像データ中から同じ大きさ
(例えば4×4画素)のブロックを順次取り出し、それ
と最も似通ったパターンをコードブック中から見つけ出
して、そのパターンの番号を当該ブロックに当てはめる
というデータ圧縮を行う。ベクトル量子化では、1つの
ブロック内のデータ列が1つのベクトルに対応する。
In this vector quantization, a pixel pattern (code) of a certain size (for example, a block of 4 × 4 pixels) is used.
Are prepared, and a unique number or the like is given to each of them (this collection is called a “codebook”). Then, for example, blocks of the same size (for example, 4 × 4 pixels) are sequentially extracted from the image data of the two-dimensional array, a pattern most similar to the block is found in the codebook, and the pattern number is assigned to the block. Perform data compression. In vector quantization, a data sequence in one block corresponds to one vector.

【0004】このようにコード化された圧縮データの受
信側あるいは伸長側では、各ブロック毎に番号に対応す
るパターンをコードブックの中から取り出すだけで、元
の画像を再現することができる。したがって、伸長側で
は、コードブックさえ受け取っているか、あるいはあら
かじめ保持していれば、特に特殊な演算は必要としない
ため、非常に簡単なハードウェアで元の画像を再生する
ことが可能となる。
On the receiving side or decompressing side of the coded compressed data, the original image can be reproduced simply by extracting the pattern corresponding to the number for each block from the code book. Therefore, on the decompression side, if the code book is received or stored in advance, no special operation is required, and the original image can be reproduced with very simple hardware.

【0005】[0005]

【発明が解決しようとする課題】上述のようなベクトル
量子化を実行する上で、必ず必要となるのがコードブッ
クの作成である。そして、ベクトル量子化の特性上、再
現される再生画像の良否は、使用するコードブックの良
否と密接に関係している。したがって、例えば画像のデ
ータ圧縮を行う際に、高い圧縮率を保持したまま高画質
の再生画像を得るようにするためには、このコードブッ
クとしていかに性能の良いものを作成するかが課題とな
っている。
In executing the above-described vector quantization, it is necessary to create a code book. Then, due to the characteristics of vector quantization, the quality of a reproduced image to be reproduced is closely related to the quality of a codebook to be used. Therefore, for example, when performing image data compression, in order to obtain a high-quality reproduced image while maintaining a high compression ratio, it is an issue how to create a codebook with good performance. ing.

【0006】従来、コードブックの最適化の手法として
は、Kohonen の自己組織化マップの手法などを始めとし
て幾つかの手法が知られている。これらの手法では、サ
ンプル画像などを用いて適当な数式処理を行うことによ
り、コードブックの最適化を図るものである。しかしな
がら、従来の最適化技術は何れも、得られるコードブッ
クは、最適化の際に使用したデータに対してのみ有用な
コードブックとなってしまうという問題があった。
Heretofore, there have been known several techniques for optimizing a codebook, such as the technique of Kohonen's self-organizing map. In these methods, the codebook is optimized by performing appropriate mathematical processing using a sample image or the like. However, all of the conventional optimization techniques have a problem that the obtained codebook becomes a useful codebook only for data used in the optimization.

【0007】すなわち、例えば、ある人の顔の画像デー
タを用いて最適化されたコードブックは、その最適化に
用いた画像に対しては最良のコードブックとなるが、他
の画像に対しては必ずしも最良のコードブックになると
は限らない。したがって、例えば、そのコードブックを
他の人の顔の画像データに対して用いてデータ圧縮を実
施すると、圧縮データから再生した画像の画質は低下す
ることになる。
That is, for example, a codebook optimized using image data of a certain person's face is the best codebook for the image used for the optimization, but is the best codebook for other images. Is not always the best codebook. Therefore, for example, if data compression is performed using the codebook for image data of another person's face, the image quality of an image reproduced from the compressed data will be reduced.

【0008】さらに、最適化に用いた画像と同じ人の顔
という分類に含まれる画像に対しては、再生画像として
比較的良好な画質が得られても、風景や文字といった異
なる分類の画像に対しては、画質が劣化してしまうこと
が多い。つまり、コードブックに含まれているパターン
が画像によって全く異なっているため、汎用性の低いコ
ードブックになってしまうという問題があった。
Further, for images included in the classification of the same person's face as the image used for optimization, even if a relatively good image quality is obtained as a reproduced image, images of different classifications such as scenery and characters are obtained. In contrast, image quality often deteriorates. That is, since the patterns included in the code book are completely different depending on the image, there is a problem that the code book has low versatility.

【0009】そこで、どのような分類の画像を圧縮した
場合でも、再生画像の良好な画質を得るために、様々な
サンプル画像を用いて最適化を行い、これにより得られ
るコードブックを全て登録しておくということが考えら
れる。このようにすれば、実際にベクトル量子化を実施
する際には、人物、風景、文字といった様々な分類の画
像に合ったコードブックがあらかじめ用意されているの
で、その中から元画像に近いパターンを選び出すことが
可能となる。
Therefore, no matter what type of image is compressed, optimization is performed using various sample images in order to obtain good image quality of the reproduced image, and all the codebooks obtained by this are registered. It is possible to keep it. In this way, when actually performing vector quantization, codebooks suitable for images of various classifications such as people, landscapes, and characters are prepared in advance, and a pattern close to the original image is selected from among them. Can be selected.

【0010】しかしながら、この場合は、あらかじめ用
意しておくべきコード数が膨大なものとなり、これを記
憶しておくためのメモリの容量が非常に大きくなってし
まうという問題があった。メモリの容量が大きくなる
と、装置全体の規模も大きくなってしまい、小型化が困
難な状況となる。また、コストもそれだけ増大する結果
となってしまうため、このような手法を採用するのは現
実的でない。
However, in this case, there is a problem that the number of codes to be prepared in advance becomes enormous, and the capacity of a memory for storing the codes becomes extremely large. When the capacity of the memory increases, the scale of the entire device also increases, and it is difficult to reduce the size. In addition, since the cost also increases, it is not practical to adopt such a method.

【0011】本発明は、このような問題を解決するため
に成されたものであり、種々の画像に対応できる汎用性
の高いコードブックを実現できるようにすることを第1
の目的とする。また、本発明は、コードブックを記憶し
ておくためのメモリ容量を増大させることなく汎用性の
高いコードブックを実現できるようにすることを第2の
目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve such a problem, and an object of the present invention is to realize a highly versatile codebook capable of handling various images.
The purpose of. A second object of the present invention is to realize a highly versatile code book without increasing the memory capacity for storing the code book.

【0012】[0012]

【課題を解決するための手段】本発明のベクトル量子化
で用いるコードブックの作成装置は、少なくとも1つ以
上のデータを有するデータ列であるベクトルの集合から
成り、ベクトル量子化で用いられるコードブックを作成
する装置において、上記ベクトルを構成するブロック内
でデータ値が徐々に変化していくベタパターンコードを
少なくとも1種類作成するベタパターン作成手段と、上
記ブロック内でデータ値が急激に変化するエッジパター
ンコードを少なくとも1種類作成するエッジパターン作
成手段とを備えたことを特徴とする。
According to the present invention, there is provided an apparatus for creating a codebook used in vector quantization, which comprises a set of vectors which are data strings having at least one data, and which is used in vector quantization. A solid pattern creating means for creating at least one kind of solid pattern code in which a data value gradually changes in a block constituting the vector, and an edge in which a data value rapidly changes in the block. Edge pattern creating means for creating at least one type of pattern code.

【0013】本発明の他の態様では、上記ベタパターン
作成手段およびエッジパターン作成手段により作成され
た各々のパターンコードを記憶する記憶手段と、上記ベ
クトル量子化の実行の際に、上記記憶手段に記憶されて
いる各々のパターンコードに対して演算を施すことによ
り、これらとは異なるパターンコードを作成するコード
演算手段とを備えたことを特徴とする。
In another aspect of the present invention, the storage means for storing the pattern codes created by the solid pattern creation means and the edge pattern creation means, and the storage means for executing the vector quantization. It is characterized in that it is provided with code operation means for performing an operation on each of the stored pattern codes to create a different pattern code.

【0014】また、本発明のベクトル量子化で用いるコ
ードブックの作成方法は、少なくとも1つ以上のデータ
を有するデータ列であるベクトルの集合から成り、ベク
トル量子化で用いられるコードブックを作成する方法に
おいて、上記ベクトルを構成するブロック内でデータ値
が徐々に変化していく少なくとも1種類のベタパターン
コードと、上記ブロック内でデータ値が急激に変化する
少なくとも1種類のエッジパターンコードとをあらかじ
め基本パターンとして作成して記憶手段に記憶してお
き、上記ベクトル量子化の実行の際に、上記記憶手段に
記憶されている各々のパターンコードに対して演算を施
すことにより、上記基本パターンとは異なるパターンコ
ードを作成するようにしたことを特徴とする。
Further, the method of creating a codebook used in vector quantization according to the present invention is a method of creating a codebook used in vector quantization, which comprises a set of vectors which are data strings having at least one data. In the above, at least one solid pattern code whose data value gradually changes in a block constituting the vector and at least one edge pattern code whose data value changes abruptly in the block are defined in advance. It is created as a pattern and stored in the storage unit, and is different from the basic pattern by performing an operation on each pattern code stored in the storage unit at the time of performing the vector quantization. It is characterized in that a pattern code is created.

【0015】本発明の他の態様では、少なくとも1つ以
上のデータを有するデータ列であるベクトルの集合から
成り、ベクトル量子化で用いられるコードブックを作成
する方法において、少なくとも1種類のパターンコード
をあらかじめ基本パターンとして作成して記憶手段に記
憶しておき、上記ベクトル量子化の実行の際に、上記記
憶手段に記憶されている上記少なくとも1種類のパター
ンコードに対して演算を施すことにより、上記基本パタ
ーンとは異なるパターンコードを作成するようにしたこ
とを特徴とする。
According to another aspect of the present invention, in a method for creating a codebook used for vector quantization, which comprises a set of vectors as a data string having at least one data, at least one type of pattern code is used. By creating a basic pattern in advance and storing it in a storage unit, and performing the vector quantization, performing an operation on the at least one type of pattern code stored in the storage unit, It is characterized in that a pattern code different from the basic pattern is created.

【0016】また、本発明のベクトル量子化装置は、少
なくとも1つ以上のデータを有するデータ列をブロック
化してベクトルと成し、あらかじめ用意されたコードブ
ックの中から、圧縮対象より抽出されるベクトルに類似
したコードベクトルを探し出して、それに対応するコー
ドを出力するベクトル量子化装置において、上記ブロッ
ク内でデータ値が徐々に変化していくベタパターンコー
ドを少なくとも1種類作成するベタパターン作成手段
と、上記ブロック内でデータ値が急激に変化するエッジ
パターンコードを少なくとも1種類作成するエッジパタ
ーン作成手段と、上記ベタパターン作成手段およびエッ
ジパターン作成手段により作成された各々のパターンコ
ードを記憶する記憶手段と、上記ベクトル量子化の実行
の際に、上記記憶手段に記憶されている各々のパターン
コードに対して演算を施すことにより、これらとは異な
るパターンコードを作成するコード演算手段と、上記記
憶手段から読み出されたパターンコードおよび上記コー
ド演算手段により作成されたパターンコードを利用して
上記ベクトル量子化を実行するベクトル量子化手段とを
備えたことを特徴とする。
Further, the vector quantization apparatus of the present invention blocks a data sequence having at least one or more data into a vector, and extracts a vector extracted from a codebook prepared in advance from a compression target. A vector quantization device for searching for a code vector similar to the above and outputting a code corresponding to the code vector, wherein a solid pattern creating means for creating at least one solid pattern code whose data value gradually changes in the block; Edge pattern creating means for creating at least one type of edge pattern code whose data value changes rapidly in the block; and storage means for storing each pattern code created by the solid pattern creating means and the edge pattern creating means. , When performing the vector quantization, By performing an operation on each of the pattern codes stored in the storage unit, a code operation unit that generates a pattern code different from these, and a pattern code read from the storage unit and the code operation unit that is generated by the code operation unit. Vector quantization means for performing the above-described vector quantization using the pattern code.

【0017】本発明の他の態様では、少なくとも1つ以
上のデータを有するデータ列をブロック化してベクトル
と成し、あらかじめ用意されたコードブックの中から、
圧縮対象より抽出されるベクトルに類似したコードベク
トルを探し出して、それに対応するコードを出力するベ
クトル量子化装置において、上記コードブックを記憶す
る記憶手段と、上記ベクトル量子化の実行の際に、上記
記憶手段に記憶されている各々のコードに対して演算を
施すことにより、これらとは異なるコードを作成する演
算手段と、上記記憶手段から読み出されたコードおよび
上記演算手段により作成されたコードを利用して上記ベ
クトル量子化を実行するベクトル量子化手段とを備えた
ことを特徴とする。
In another aspect of the present invention, a data sequence having at least one or more data is divided into blocks to form a vector, and a vector is prepared from a code book prepared in advance.
In a vector quantization device that searches for a code vector similar to a vector extracted from a compression target and outputs a code corresponding to the code vector, a storage unit that stores the code book, and when the vector quantization is performed, By performing an operation on each code stored in the storage means, an operation means for creating a code different from these, and a code read from the storage means and a code created by the operation means And a vector quantization means for performing the above-described vector quantization by utilizing.

【0018】また、本発明のコンピュータ読み取り可能
な記録媒体は、請求項15または16に記載のコードブ
ック作成方法の処理手順をコンピュータに実行させるた
めのプログラムを記録したことを特徴とする。
Further, a computer-readable recording medium according to the present invention is characterized in that a program for causing a computer to execute the processing procedure of the code book creating method according to claim 15 or 16 is recorded.

【0019】本発明の他の態様では、少なくとも1つ以
上のデータを有するデータ列をブロック化してベクトル
と成し、あらかじめ用意されたコードブックの中から、
圧縮対象より抽出されるベクトルに類似したコードベク
トルを探し出して、それに対応するコードを出力するベ
クトル量子化プログラムを記録した記録媒体であって、
上記ベクトル量子化の実行の際に、記憶手段に記憶され
ている各々のコードに対して演算を施すことにより、こ
れらとは異なるコードを作成する演算ステップと、上記
記憶手段から読み出されたコードおよび上記演算ステッ
プにより作成されたコードを利用して上記ベクトル量子
化を実行するベクトル量子化ステップとをコンピュータ
に実行させるためのプログラムを記録したことを特徴と
する。
According to another aspect of the present invention, a data sequence having at least one or more data is divided into blocks to form a vector, and a vector is prepared from a code book prepared in advance.
A recording medium that records a vector quantization program that searches for a code vector similar to a vector extracted from a compression target and outputs a code corresponding to the code vector,
When performing the above-described vector quantization, an operation is performed on each code stored in the storage unit to generate a code different from these, and a code read from the storage unit is provided. A program for causing a computer to execute a vector quantization step of executing the vector quantization using the code created in the operation step is recorded.

【0020】[0020]

【発明の実施の形態】以下、本発明の一実施形態を図面
に基づいて説明する。図1は、本発明の一実施形態であ
るコードブック作成装置の構成例を示す機能ブロック
図、図2は、作成されたコードブックを利用してデータ
圧縮を実行するベクトル量子化装置の構成例を示す機能
ブロック図である。また、図3および図4は、作成され
るコードベクトル(パターン画像)の例を示す図であ
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a functional block diagram illustrating a configuration example of a codebook creating apparatus according to an embodiment of the present invention. FIG. 2 is a configuration example of a vector quantization apparatus that performs data compression using the created codebook. FIG. 3 is a functional block diagram showing FIGS. 3 and 4 are diagrams showing examples of code vectors (pattern images) to be created.

【0021】一般に、顔画像は画素値が全体的に滑らか
に変化するパターンが大半を占めており、その変化は単
調で、変化量は非常に小さいものである。また、風景画
像などにおいても、部分的に見ると、顔画像と同じよう
に画素値が全体的に滑らかに変化するパターンが存在す
る。一方、文字などにおいては、画素値の変化が急激
で、変化量が非常に大きいのが一般である。また、風景
画像などの中にも、文字と同じにように画素値が急激に
変化する部分が存在する。
In general, most of the face image has a pattern in which the pixel value changes smoothly as a whole, and the change is monotonous and the change amount is very small. Also, in a landscape image or the like, when viewed partially, there is a pattern in which the pixel value changes smoothly as a whole like the face image. On the other hand, in characters and the like, the pixel value generally changes rapidly and the amount of change is generally very large. Also, in a landscape image or the like, there is a portion where the pixel value changes abruptly like a character.

【0022】このように、様々な分類に属するあらゆる
画像は、大きく分けると、画素値が全体的に滑らかに変
化するパターン(以下、これを「ベタパターン」と称す
る)の部分と、画素値が急激に変化するパターン(以
下、これを「エッジパターン」と称する)の部分とから
構成されることが分かった。そこで、本実施形態では、
この画像の性質に着目し、ベタパターン用のコードとエ
ッジパターン用のコードとを作成するようにした。これ
ら2つのパターンのコードをうまく組み合わせること
で、種々の画像に対応することが可能となる。
As described above, all images belonging to various classifications can be roughly classified into a pattern in which pixel values change smoothly as a whole (hereinafter, referred to as a “solid pattern”), It was found that the pattern was composed of a rapidly changing pattern (hereinafter, referred to as an “edge pattern”). Therefore, in this embodiment,
Focusing on the nature of this image, a code for a solid pattern and a code for an edge pattern are created. By properly combining the codes of these two patterns, it is possible to deal with various images.

【0023】ベタパターンのコードとしては、例えば図
3に示すように、8つの方向に単調に変化するパターン
を作成することとした。すなわち、4×4画素単位で構
成されるブロックのエッジ部分(上下左右の各辺および
四隅の各点)の何れかを始点として、画素値(例えば輝
度値)が徐々に変化するパターンを作成する。なお、こ
こでは一例として4×4画素単位のコードベクトルを作
成しているが、この大きさに限定されるものではない。
As the code of the solid pattern, for example, as shown in FIG. 3, a pattern that changes monotonically in eight directions is created. That is, a pattern in which a pixel value (for example, a luminance value) gradually changes is created starting from any one of the edge portions (upper, lower, left, right sides, and four corners) of a block composed of 4 × 4 pixels. . Here, a code vector in units of 4 × 4 pixels is created as an example, but the present invention is not limited to this size.

【0024】図3において、(a)はブロックの左辺を
始点として、縦1列を1単位として輝度値が右辺に向か
ってA→B→C→Dのように徐々に大きくなっていくパ
ターン、(b)はブロックの右辺を始点として、縦1列
を1単位として輝度値が左辺に向かって徐々に大きくな
っていくパターン、(c)はブロックの下辺を始点とし
て、横1列を1単位として輝度値が上辺に向かって徐々
に大きくなっていくパターン、(d)はブロックの上辺
を始点として、横1列を1単位として輝度値が下辺に向
かって徐々に大きくなっていくパターンである。
In FIG. 3, (a) shows a pattern in which the luminance value gradually increases from the left side of the block as a starting point to the right side in a unit of one vertical column as A → B → C → D. (B) is a pattern in which the luminance value gradually increases toward the left side with one vertical column as one unit starting from the right side of the block, and (c) one horizontal row as one unit starting from the lower side of the block. (D) is a pattern in which the luminance value gradually increases toward the lower side with one horizontal row as one unit starting from the upper side of the block. .

【0025】また、(e)はブロックの左上角を始点と
して、斜め1列を1単位として輝度値が右下角に向かっ
て徐々に大きくなっていくパターン、(f)はブロック
の右上角を始点として、斜め1列を1単位として輝度値
が左下角に向かって徐々に大きくなっていくパターン、
(g)はブロックの左下角を始点として、斜め1列を1
単位として輝度値が右上角に向かって徐々に大きくなっ
ていくパターン、(h)はブロックの右下角を始点とし
て、斜め1列を1単位として輝度値が左上角に向かって
徐々に大きくなっていくパターンである。
FIG. 4E shows a pattern in which the luminance value gradually increases toward the lower right corner in a unit of one diagonal line starting from the upper left corner of the block, and FIG. A pattern in which the luminance value gradually increases toward the lower left corner with one diagonal column as one unit;
(G) shows one diagonal line starting from the lower left corner of the block.
In the pattern in which the luminance value gradually increases toward the upper right corner as a unit, (h) shows that the luminance value gradually increases toward the upper left corner in one diagonal row starting from the lower right corner of the block. It is a pattern that goes.

【0026】図3に示したこれら8種類のパターンのう
ち、ベクトル量子化を実際に実行するに先立ってあらか
じめ作成して登録しておくものは、図3(a)〜(d)
の中の何れか1つと、図3(e)〜(h)の中の何れか
1つの合計2種類である。残りの6種類のパターンは、
後述するように、ベクトル量子化を実際に実行する際に
作成される。なお、以下では説明の都合上、図3(a)
と(e)のパターン(以下、これを「基本パターン」と
称する)をあらかじめ作成するものとする。
Of the eight types of patterns shown in FIG. 3, those which are created and registered in advance prior to actually performing vector quantization are shown in FIGS. 3 (a) to 3 (d).
, And any one of FIGS. 3 (e) to 3 (h) in total. The remaining six patterns
As will be described later, it is created when vector quantization is actually executed. In the following, for convenience of explanation, FIG.
And (e) (hereinafter referred to as “basic pattern”).

【0027】ここで、ベタの基本パターンを作成する手
順を、図1に示したコードブック作成装置および図5に
示すフローチャートを用いて説明する。図5において、
まずステップS1で、例えば4×4画素単位のブロック
を幾つかのグループに分ける。例えば、図3(a)の基
本パターンの場合は、縦1列を1つのグループとしてA
〜Dの4つのグループに分ける。
Here, a procedure for creating a solid basic pattern will be described with reference to the codebook creating apparatus shown in FIG. 1 and a flowchart shown in FIG. In FIG.
First, in step S1, blocks of, for example, 4 × 4 pixels are divided into some groups. For example, in the case of the basic pattern shown in FIG.
~ D.

【0028】このグループ分けを行う際には、まずユー
ザが図1の始点指定部1を用いて、ブロック内のどこを
始点にするかを指定する。図3(a)のパターンを基本
パターンとして登録する場合は、ブロック内の左辺4つ
の画素(グループA)を始点として指定する。なお、こ
の始点指定部1は、例えばキーボードやマウス等の入力
デバイスによって構成される。
When performing this grouping, the user first designates a starting point in the block by using the starting point designating section 1 of FIG. When the pattern of FIG. 3A is registered as a basic pattern, the four pixels on the left side (group A) in the block are designated as starting points. Note that the start point specifying unit 1 is configured by an input device such as a keyboard and a mouse.

【0029】グループ化部2は、始点指定部1によって
どこが始点として指定されたかに応じて、グループ分け
を行う。例えば、図3(a)や(b)を基本パターンと
する場合は、縦方向の1列を1つのグループとしてグル
ープ分けを行い、図3(c)や(d)を基本パターンと
する場合は、横方向の1列を1つのグループとしてグル
ープ分けを行う。また、図3(e)〜(h)を基本パタ
ーンとする場合は、斜め方向の1列を1つのグループと
してグループ分けを行う。
The grouping section 2 performs grouping according to where the start point is specified by the start point specifying section 1. For example, when FIGS. 3A and 3B are used as basic patterns, one column in the vertical direction is grouped into one group, and when FIGS. 3C and 3D are used as basic patterns, , One horizontal row is grouped as one group. When the basic patterns shown in FIGS. 3E to 3H are used as a basic pattern, one column in the oblique direction is grouped as one group.

【0030】なお、上述したように、図3(a)〜
(d)のパターン、(e)〜(h)のパターンは、それ
ぞれの中で1つを基本パターンとして登録しておけば、
残りは全て演算によって作成される。したがって、例え
ば、基本パターンは必ず図3(a)および(e)のパタ
ーンであると固定しても良い。この場合は、始点指定部
1は不要である。
Note that, as described above, FIGS.
If one of the patterns (d) and (e) to (h) is registered as a basic pattern,
The rest are all created by computation. Therefore, for example, the basic pattern may always be fixed to the patterns of FIGS. In this case, the start point designating section 1 is unnecessary.

【0031】次に、ステップS2でユーザは、図1の増
分入力部3を用いて、上記ブロック内の始点から見た終
点の輝度値の増分hを少なくとも1つ入力する。なお、
この増分入力部3も、例えばキーボードやマウス等の入
力デバイスによって構成される。また、この増分hは、
ユーザが入力するのではなく、あらかじめ決められたデ
フォルト値を装置が設定するようにしても良い。
Next, in step S2, the user uses the increment input unit 3 of FIG. 1 to input at least one increment h of the luminance value at the end point as viewed from the start point in the block. In addition,
The increment input unit 3 is also configured by an input device such as a keyboard and a mouse. This increment h is
Instead of the user inputting, the apparatus may set a predetermined default value.

【0032】次に、ステップS3では、図1の始点輝度
値設定部4により、上記ブロック内の始点の輝度値を設
定する。ここで始点の輝度値を与えるときは、例えば、
0〜(輝度値としてとり得る範囲の中間値−増分h)の
間をn等分し、それぞれの等分値を始点の輝度値として
夫々設定する。なお、ここでは、等分値を与えている
が、上記0〜(輝度値としてとり得る範囲の中間値−増
分h)の範囲内であれば、必ずしも等分値である必要は
ない。また、ここでは演算によって複数の輝度値を与え
ているが、上記の範囲内でユーザが自分の判断で始点の
輝度値を任意に入力するようにしても良い。
Next, in step S3, the starting point luminance value setting section 4 in FIG. 1 sets the luminance value of the starting point in the block. Here, when giving the luminance value of the starting point, for example,
The interval between 0 and (the intermediate value of the range that can be taken as a luminance value—the increment h) is divided into n equal parts, and each equally divided value is set as the luminance value of the starting point. Here, the equally divided values are given, but the divided values are not necessarily required to be within the range of the above-mentioned 0 (the intermediate value of the range that can be taken as the luminance value−the increment h). Here, a plurality of brightness values are given by calculation, but the user may arbitrarily input the brightness value of the starting point within his own range within the above range.

【0033】このようにして増分h、始点の輝度値など
の必要な情報が設定されると、次のステップS4で、図
1のコードブック生成部9は、これら始点の輝度値と輝
度の増分hとに基づいて、例えば線形補間の演算を行う
ことにより、各グループの輝度値を計算する。これによ
り、始点から終点に向かってグループ毎に徐々に輝度値
が大きくなっていくパターンのコードが生成される。
After the necessary information such as the increment h and the luminance value of the starting point are set in this way, in the next step S4, the codebook generator 9 of FIG. Based on h, the luminance value of each group is calculated by performing, for example, a linear interpolation operation. As a result, a code of a pattern in which the luminance value gradually increases for each group from the start point to the end point is generated.

【0034】本実施形態では、始点の輝度値を上記ステ
ップS3のような処理によって与えているので、ブロッ
ク内の各グループに属する輝度値は全て、輝度値として
とり得る範囲の中間値よりも小さなものとなる。つま
り、ここで生成されたベタの基本パターンのコードは、
全体としての輝度値が中間値よりも小さい暗めの画像と
なっている。
In the present embodiment, since the luminance value of the starting point is given by the processing in step S3, all the luminance values belonging to each group in the block are smaller than the intermediate value of the range that can be taken as the luminance value. It will be. In other words, the code of the solid basic pattern generated here is
The image is a darker image in which the luminance value as a whole is smaller than the intermediate value.

【0035】また、上記ステップS2では少なくとも1
つ以上の増分hが与えられ、上記ステップS3では、そ
れぞれの増分hの値をもとに始点の輝度値が複数与えら
れている。よって、図3(a)のような基本パターンの
コードが、異なる輝度値で複数生成されていることにな
る。なお、増分hと始点の輝度値とをそれぞれ1つずつ
与えることにより、ただ1つの基本パターンを生成する
ようにしても良い。
In step S2, at least 1
One or more increments h are given, and in step S3, a plurality of start point luminance values are given based on the value of each increment h. Therefore, a plurality of codes of the basic pattern as shown in FIG. 3A are generated with different luminance values. By giving the increment h and the luminance value of the starting point one by one, only one basic pattern may be generated.

【0036】以上のようにして生成された複数のコード
(コードベクトル)は、ステップS5で、ベタの基本パ
ターンのコードブックとしてコードブックデータメモリ
10に格納される。なお、この例では、ブロック内の始
点から終点に向かって輝度値が徐々に大きくなるパター
ンを生成したが、これとは逆に、輝度値が徐々に小さく
なるパターンを生成するようにしても良い。
The plurality of codes (code vectors) generated as described above are stored in the codebook data memory 10 as a codebook of a solid basic pattern in step S5. Note that, in this example, a pattern in which the luminance value gradually increases from the start point to the end point in the block is generated. Conversely, a pattern in which the luminance value gradually decreases may be generated. .

【0037】一方、エッジに関する基本パターンのコー
ドとしては、輝度値の変化が急激なパターンとして、例
えば図4に示すような12種類のパターンを作成するこ
ととした。ここで作成するエッジパターンは何れも、ブ
ロック内の左辺を構成する4画素の少なくとも1つ以上
にエッジ部分がかかっている。なお、ここでは12種類
の基本パターンを示したが、この数に限定されるもので
はない。
On the other hand, as a code of a basic pattern relating to an edge, for example, 12 kinds of patterns as shown in FIG. In each of the edge patterns created here, at least one or more of the four pixels constituting the left side in the block has an edge portion. Here, 12 types of basic patterns are shown, but the number is not limited to this.

【0038】ここで、エッジの基本パターンを作成する
手順を、図1に示したコードブック作成装置および図6
に示すフローチャートを用いて説明する。図6におい
て、まずステップS11では、図1のパターン入力部5
を用いて、エッジパターンとして採用すべき幾つかの基
準パターンを入力する。ここでは、例えば原画像中の黒
と白との差がはっきり現れているエッジにかかるブロッ
クを参考にして、その輝度構成をエッジパターンの輝度
構成として入力する。
Here, the procedure for creating a basic pattern of an edge will be described with reference to the code book creating apparatus shown in FIG.
This will be described with reference to the flowchart shown in FIG. 6, first, in step S11, the pattern input unit 5 shown in FIG.
Are used to input some reference patterns to be adopted as edge patterns. Here, for example, the luminance configuration is input as a luminance configuration of an edge pattern with reference to a block on an edge where a difference between black and white clearly appears in the original image.

【0039】以上のようにして原画像から幾つか(図4
の例では12個)のパターンが入力されたら、次に、ス
テップS12で量子化部6は、それらのパターンを構成
するブロック内の各画素の輝度値を量子化することによ
り、ブロック内の輝度値をある決まった値群のみで表現
するようにする。
As described above, some of the original images (FIG. 4)
Are input in the step S12, the quantization unit 6 quantizes the luminance value of each pixel in the blocks constituting those patterns, thereby obtaining the luminance in the block. Express values only with a certain set of values.

【0040】次に、ステップS13で最小輝度値減算部
7は、入力され量子化された各パターン毎に、そのブロ
ック内の最小輝度値をブロック内の全画素の輝度値から
減算する。これにより、そのブロック内の各画素の輝度
値を、最小の輝度値に対する増分値(差分値)としての
み表現する。そして、ステップS14で輝度値変更部8
は、登録するエッジパターンにバリエーションを持たせ
るために、ブロック内の各画素の輝度値を変更したもの
も作成する。
Next, in step S13, the minimum luminance value subtracting section 7 subtracts the minimum luminance value in the block from the luminance values of all pixels in the block for each input and quantized pattern. Thus, the luminance value of each pixel in the block is expressed only as an increment (difference value) with respect to the minimum luminance value. Then, in step S14, the brightness value changing unit 8
Creates a pattern in which the luminance value of each pixel in the block is changed in order to have a variation in the registered edge pattern.

【0041】例えば、最小輝度値減算部7で生成された
パターンのブロック内全画素の輝度値を夫々m等分し、
それぞれの等分値を各画素の輝度値として夫々設定する
ことにより、パターンの数をm倍に増やす。この処理が
終了した時点で、生成された各パターンについて、その
ブロック内の最小輝度値(ここではステップS13によ
り0に設定されている)と最大輝度値との差、つまり増
分h′が分かる。
For example, the luminance values of all the pixels in the block of the pattern generated by the minimum luminance value subtracting section 7 are equally divided into m, respectively.
By setting each of the equal values as the luminance value of each pixel, the number of patterns is increased by a factor of m. At the end of this processing, the difference between the minimum luminance value (here, set to 0 in step S13) and the maximum luminance value in the block for each generated pattern, that is, the increment h ', is known.

【0042】次に、ステップS15では、図1の始点輝
度値設定部4により、上記ブロック内の始点の輝度値
(最小輝度値)を設定する。ここで始点の輝度値を与え
るときは、例えば、0〜(輝度値としてとり得る範囲の
最大値−増分h′)の間をk等分し、それぞれの等分値
を始点の輝度値として夫々設定する。なお、この場合
も、図5のステップS3と同様に必ずしも等分値である
必要はない。また、上記の範囲内でユーザが自分の判断
で任意に入力するようにしても良い。
Next, in step S15, the luminance value (minimum luminance value) of the start point in the block is set by the start point luminance value setting unit 4 in FIG. Here, when the luminance value of the starting point is given, for example, a range between 0 (the maximum value of the range that can be taken as the luminance value—the increment h ′) is equally divided by k, and each of the equally divided values is set as the luminance value of the starting point. Set. Note that in this case as well, it is not necessary that the values be equally divided as in step S3 in FIG. Also, the user may arbitrarily input within the above range at his own discretion.

【0043】このようにして始点の輝度値などの必要な
情報が設定されると、次のステップS16で、図1のコ
ードブック生成部9は、これら始点の輝度値と上記ステ
ップS14で生成されたパターンの各画素の輝度値とに
基づいて、ブロック内の各画素の輝度値を計算する。こ
れにより、輝度値の変化が急激なエッジパターンのコー
ドが複数生成される。このようにして生成された複数の
コード(コードベクトル)は、ステップS17で、エッ
ジの基本パターンのコードブックとしてコードブックデ
ータメモリ10に格納される。
When necessary information such as the luminance value of the starting point is set in this way, in the next step S16, the codebook generating section 9 of FIG. The luminance value of each pixel in the block is calculated based on the luminance value of each pixel of the pattern. As a result, a plurality of edge pattern codes having a sharp change in luminance value are generated. The plurality of codes (code vectors) thus generated are stored in the codebook data memory 10 as a codebook of the basic pattern of the edge in step S17.

【0044】次に、上記のようにして作成され、コード
ブックデータメモリ10に記憶された基本パターンのコ
ードブックを用いて、実際にベクトル量子化を行うため
の構成および動作について説明する。図2は、本実施形
態に係るベクトル量子化装置の概略構成を示した機能ブ
ロック図である。また、図7は、このベクトル量子化装
置の動作を示すフローチャートである。
Next, the configuration and operation for actually performing vector quantization using the code book of the basic pattern created as described above and stored in the code book data memory 10 will be described. FIG. 2 is a functional block diagram illustrating a schematic configuration of the vector quantization device according to the present embodiment. FIG. 7 is a flowchart showing the operation of the vector quantization apparatus.

【0045】まず図7のステップS21において、元画
像入力部21は、圧縮対象とする任意の画像データを入
力する。また、次のステップS22で、コードブック演
算部22は、コードブックデータメモリ10から記憶さ
れている基本パターンのコードブックを読み込む。ここ
では、ベタパターンおよびエッジパターンの全ての基本
パターンを読み込む。
First, in step S21 of FIG. 7, the original image input section 21 inputs arbitrary image data to be compressed. In the next step S22, the codebook calculation unit 22 reads the codebook of the basic pattern stored from the codebook data memory 10. Here, all the basic patterns of the solid pattern and the edge pattern are read.

【0046】基本パターンを読み込んだコードブック演
算部22は、次のステップS23で、読み込んだ基本パ
ターンに対して、90°の回転処理を4回行うことによ
り、基本パターンから異なるパターンのコードを作成す
る。例えば、ベタパターンとして図3(a)および
(e)のパターンが基本パターンとして登録されていた
とすると、この処理により、図3(b)〜(d)、
(f)〜(h)のパターンが作成される。エッジパター
ンについても同様に、図4に示した12種類の基本パタ
ーンからこれらを回転させた異なるパターンが作成され
る。これにより、コードのパターン数は4倍に増える。
In the next step S23, the codebook calculation unit 22 that has read the basic pattern performs a 90 ° rotation process on the read basic pattern four times to generate a code of a different pattern from the basic pattern. I do. For example, assuming that the patterns of FIGS. 3A and 3E are registered as basic patterns as solid patterns, by this processing, FIGS.
The patterns (f) to (h) are created. Similarly, for the edge patterns, different patterns are created by rotating these from the 12 types of basic patterns shown in FIG. As a result, the number of code patterns is quadrupled.

【0047】コードブック演算部22はまた、次のステ
ップS24で、上記ステップS23で得られた各パター
ンに対し、白黒を反転させる処理(輝度値を中間値で折
り返す処理)を行うことにより、更に異なるパターンの
コードを作成する。このような回転処理および白黒反転
処理を行うことにより、コードブックデータメモリ10
に登録してあったパターン数がそれほど多くなくても、
ベクトル量子化の際に実際に使用するパターン数は非常
に多くなり、元画像と極めて類似するパターンが存在す
る可能性が非常に高くなる。
In the next step S24, the codebook calculating section 22 further performs a process of inverting black and white (a process of turning the luminance value back to an intermediate value) for each pattern obtained in the above step S23, thereby further processing. Create different patterns of code. By performing such rotation processing and black-and-white inversion processing, the code book data memory 10
Even if the number of registered patterns is not so large,
The number of patterns actually used at the time of vector quantization becomes very large, and the possibility that a pattern very similar to the original image exists becomes very high.

【0048】ところで、ベタパターンの場合、図3から
明らかなように、回転処理を行った場合に得られるパタ
ーンは、互いに重複することはない。また、あらかじめ
作成されているベタの基本パターンは、全画素の輝度値
が中間値より小さい暗めのパターンなので、白黒反転処
理を行った場合に得られるパターンは、全画素の輝度値
が中間値より大きい明るめのパターンとなる。よって、
この場合も得られるパターンどうしが互いに重複するこ
とはない。
By the way, in the case of the solid pattern, as is apparent from FIG. 3, the patterns obtained by performing the rotation processing do not overlap each other. In addition, since the solid basic pattern created in advance is a dark pattern in which the luminance values of all pixels are smaller than the intermediate value, the pattern obtained when the black-and-white inversion process is performed is such that the luminance values of all pixels are smaller than the intermediate value. The result is a large bright pattern. Therefore,
Also in this case, the obtained patterns do not overlap each other.

【0049】一方、エッジパターンの場合は、最初の段
階で原画像を参照して基準のパターンを入力する際に、
回転処理や白黒反転処理をしたときに重複を生じないか
どうかを想定して入力を行う。しかし、この作業は必ず
しも容易ではない。そこで、例えば、図1のコードブッ
ク作成装置内に、回転処理や白黒反転処理を行い、その
演算結果と元のデータとを比較して重複する場合にはエ
ラーを出力するなどの演算部を設ければ、このような不
都合を回避できる。
On the other hand, in the case of an edge pattern, when inputting a reference pattern by referring to the original image in the first stage,
The input is performed assuming that no duplication occurs when the rotation processing or the black-and-white inversion processing is performed. However, this operation is not always easy. Therefore, for example, in the code book creating apparatus shown in FIG. 1, there is provided an operation unit for performing a rotation process and a black-and-white inversion process, comparing the operation result with the original data, and outputting an error when the result is duplicated. Then, such inconvenience can be avoided.

【0050】次に、図7のステップS25では、上記ス
テップS21で入力された元画像データと、上記コード
ブック演算部22により生成された複数のコードデータ
とに基づいて、ベクトル量子化(VQ)の演算を実行す
る。すなわち、まず図2の類似度演算部23により、上
記元画像データとコードデータとを用いて、ブロック毎
に両者の類似度を算出する。
Next, in step S25 of FIG. 7, vector quantization (VQ) is performed based on the original image data input in step S21 and a plurality of code data generated by the codebook calculation unit 22. Execute the operation of That is, first, the similarity calculation unit 23 of FIG. 2 calculates the similarity between the two using the original image data and the code data for each block.

【0051】類似度とは、元画像データから抽出される
ブロック内の各画素値から成るベクトルデータと、コー
ドベクトルのブロック内の各画素値から成るベクトルデ
ータとをある関数に入力し、どのくらい似ているかを数
値化したものである。この関数の代表的なものとして
は、2つの入力ベクトルデータのマンハッタン距離(差
分絶対値距離)やユークリッド距離を求める関数が挙げ
られる。
The similarity is determined by inputting vector data consisting of each pixel value in a block extracted from original image data and vector data consisting of each pixel value in a block of a code vector to a certain function. Is quantified. A representative example of this function is a function for calculating a Manhattan distance (absolute difference distance) and a Euclidean distance between two input vector data.

【0052】さらに、コード決定部24は、各ブロック
毎に、上記コードブック演算部22により生成された複
数のコードベクトルの中から、類似度が最も大きい(マ
ンハッタン距離あるいはユークリッド距離が最も小さ
い)コードベクトルを夫々決定する。そして、ステップ
S26で、上記決定したコードベクトルに対応するコー
ドを当該ブロックに当てはめて、圧縮データとして出力
する。
Further, the code determination unit 24 determines, for each block, a code having the largest similarity (the smallest Manhattan distance or the smallest Euclidean distance) from the plurality of code vectors generated by the codebook calculation unit 22. Determine each vector. Then, in step S26, a code corresponding to the determined code vector is applied to the block and output as compressed data.

【0053】以上詳しく説明したように、本実施形態に
よれば、あらゆる種類の画像はベタパターンとエッジパ
ターンとの組み合わせから構成されることに着目し、ベ
タパターンのコードとエッジパターンのコードとをあら
かじめ作成するようにしている。その際、図5および図
6に示したように、入力された基準の情報をもとに、あ
らかじめ決められた処理手順によってそれぞれの基本パ
ターンを標準化して作成するようにしている。
As described in detail above, according to the present embodiment, noting that all types of images are composed of a combination of a solid pattern and an edge pattern, the code of the solid pattern and the code of the edge pattern are It is created in advance. At this time, as shown in FIGS. 5 and 6, the respective basic patterns are standardized and created by a predetermined processing procedure based on the input reference information.

【0054】したがって、このようにして作成されたベ
タパターンのコードとエッジパターンのコードとを用い
ることにより、輝度値が単調に変化するデータや急激に
変化するデータを含む種々のデータに対してデータ圧縮
を実施した場合に、その圧縮データから再生される画像
の画質を向上させることができる。すなわち、本実施形
態によれば、種々の画像について、高品位の再生画像を
得ることが可能な汎用性の高いコードブックを実現する
ことができる。
Therefore, by using the solid pattern code and the edge pattern code created as described above, various data including data whose luminance value changes monotonously and data which changes rapidly can be obtained. When compression is performed, the image quality of an image reproduced from the compressed data can be improved. That is, according to the present embodiment, it is possible to realize a highly versatile code book capable of obtaining high-quality reproduced images for various images.

【0055】また、本実施形態では、上述のコードブッ
クを用いて実際にベクトル量子化を行う際に、回転処理
や白黒反転処理によって異なるバリエーションのコード
を生成しているので、元画像とより近いパターンのコー
ドを当てはめるようにすることができ、再生画像の品質
を更に向上させることができる。また、この場合、これ
らの生成されるコードも含めてあらかじめコードブック
データメモリ10に記憶しておかなくても良いので、コ
ードブックデータメモリ10の容量を小さく抑えること
ができる。
In the present embodiment, when actually performing vector quantization using the above-described codebook, codes of different variations are generated by rotation processing and black-and-white inversion processing, so that the original image is closer to the original image. The pattern code can be applied, and the quality of the reproduced image can be further improved. Further, in this case, it is not necessary to store these generated codes in the codebook data memory 10 in advance, so that the capacity of the codebook data memory 10 can be reduced.

【0056】なお、以上の実施形態では、基本パターン
のコードブックをあらかじめ作成して、これをコードブ
ックデータメモリ10に記憶するようにしているが、こ
の基本パターンを生成するための基準となる情報(例え
ば、始点の位置、始点輝度値、始点から終点までの増分
などの情報)だけを記憶しておき、実際のベクトル量子
化の実行時に基本パターンも含めて様々なパターンのコ
ードを作成するようにしても良い。このようにした場合
は、メモリ容量を更に小さく抑えることができる。
In the above embodiment, a code book of a basic pattern is created in advance and stored in the code book data memory 10. However, information serving as a reference for generating this basic pattern is used. (E.g., information on the starting point position, starting point luminance value, increment from the starting point to the ending point, etc.) are stored, and codes of various patterns including the basic pattern are created when actual vector quantization is executed. You may do it. In this case, the memory capacity can be further reduced.

【0057】また、以上の実施形態では、回転処理や白
黒反転処理をベクトル量子化の実行時に行っているが、
ベクトル量子化の実行に先立ってあらかじめ行ってお
き、コードブックデータメモリ10に記憶するようにし
ても良い。この場合は、コードブックデータメモリ10
の容量は大きくなるが、汎用的なコードブックを提供で
きるという利点は有する。また、ベクトル量子化の実行
時における演算量を減らせるので、処理が高速になる。
In the above embodiment, the rotation processing and the black-and-white inversion processing are performed when the vector quantization is executed.
The quantization may be performed in advance before the execution of the vector quantization and stored in the codebook data memory 10. In this case, the code book data memory 10
Has the advantage of being able to provide a general-purpose codebook. In addition, since the amount of calculation during the execution of vector quantization can be reduced, the processing speed is increased.

【0058】また、上述の実施形態では、利用できるコ
ードベクトルのパターン数を多くするために、図5のス
テップS3および図6のステップS15において、始点
の輝度値として複数の等分値を採用している。これに対
し、コードブックデータメモリ10の容量をできるだけ
小さく抑えたい場合は、上記した範囲内で1つの輝度値
のみを採用するようにしても良い。
In the above-described embodiment, in order to increase the number of code vector patterns that can be used, a plurality of equally divided values are adopted as the starting point luminance value in step S3 of FIG. 5 and step S15 of FIG. ing. On the other hand, if it is desired to keep the capacity of the codebook data memory 10 as small as possible, only one luminance value within the above range may be adopted.

【0059】また、図6のステップS13〜S16の処
理も、利用できるコードベクトルのパターン数を多くす
るための処理である。よって、上記と同様にコードブッ
クデータメモリ10の容量をできるだけ小さく抑えたい
場合は、これらのステップは省略し、ステップS12で
画素値を標準化する処理を行うだけにしても良い。ただ
し、コードブックデータメモリ10の容量を小さくする
だけでなく、再生画像の画質もできるだけ向上させるた
めには、上記した実施形態のように処理するのが望まし
い。
The processing of steps S13 to S16 in FIG. 6 is also processing for increasing the number of available code vector patterns. Therefore, if it is desired to keep the capacity of the codebook data memory 10 as small as possible, these steps may be omitted, and only the process of normalizing the pixel values may be performed in step S12. However, in order to not only reduce the capacity of the codebook data memory 10 but also improve the image quality of the reproduced image as much as possible, it is desirable to perform the processing as in the above-described embodiment.

【0060】また、以上の実施形態では、回転処理と白
黒反転処理の双方を行っているが、何れか一方のみ行う
ようにしても良い。さらに、以上の実施形態では、類似
度演算部23で類似度を算出する際に、コードブック演
算部22によってコードベクトルを回転、反転させる処
理を行っている。これとは逆に、コードベクトルはその
ままに、元画像の方を回転、反転させて類似度を算出す
るようにしても良い。
In the above embodiment, both the rotation process and the black-and-white inversion process are performed, but only one of them may be performed. Furthermore, in the above embodiment, when calculating the similarity by the similarity calculation unit 23, the codebook calculation unit 22 performs the process of rotating and inverting the code vector. Conversely, the similarity may be calculated by rotating and inverting the original image while leaving the code vector as it is.

【0061】また、以上の実施形態では、ベタの基本パ
ターンを作成する際に、全体として暗めのパターンを作
成しているが、これとは逆に、明るめのパターンを作成
するようにしても良い。
Further, in the above embodiment, when a solid basic pattern is created, a darker pattern is created as a whole. Conversely, a brighter pattern may be created. .

【0062】上記図1および図2に示した各機能ブロッ
クは、例えばCPUまたはMPU、ROMおよびRAM
等からなるマイクロコンピュータシステムによって構成
し、その動作をROMやRAMに格納された作業プログ
ラムに従って実現するようにしても良いし、ハードウェ
ア的に構成してもよい。この場合、上記の例では図1と
図2を別個に図示していたが、これらの構成を合わせて
1つのベクトル量子化装置としても良い。
Each of the functional blocks shown in FIGS. 1 and 2 is, for example, a CPU or an MPU, a ROM and a RAM.
And the like, and the operation may be realized according to a work program stored in a ROM or a RAM, or may be configured as hardware. In this case, in the above example, FIG. 1 and FIG. 2 are separately illustrated, but these configurations may be combined to form a single vector quantization device.

【0063】また、上記各機能ブロックの機能を実現す
るように当該機能を実現するための作業プログラムコー
ドを外部の記録媒体からコンピュータに供給し、そのプ
ログラムに従って上記各機能ブロックを動作させるよう
にしても良い。この場合、かかるプログラムを記憶する
記録媒体としては、例えばフロッピーディスク、ハード
ディスク、光ディスク、光磁気ディスク、CD−RO
M、CD−I、CD−R、CD−RW、DVD、zi
p、磁気テープ、あるいは不揮発性のメモリカード等を
用いることができる。
In addition, a work program code for realizing the function of each of the above function blocks is supplied from an external recording medium to a computer so that each of the above function blocks is operated in accordance with the program. Is also good. In this case, as a recording medium for storing such a program, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-RO
M, CD-I, CD-R, CD-RW, DVD, zi
p, a magnetic tape, a nonvolatile memory card, or the like can be used.

【0064】[0064]

【発明の効果】本発明は上述したように、ブロック内で
データ値が徐々に変化していくベタパターンコードと、
ブロック内でデータ値が急激に変化するエッジパターン
コードとを各々基本パターンとして作成するようにした
ので、ベタパターンとエッジパターンとの組み合わせか
ら構成されるあらゆる種類の画像に対応することができ
る。また、本発明の他の特徴によれば、上記の基本パタ
ーンをあらかじめ作成して記憶しておき、ベクトル量子
化の実行の際に、記憶されている各々のパターンコード
に対して演算を施すことによってこの基本パターンとは
異なるパターンのコードを作成するようにしたので、ベ
クトル量子化を行う際に演算によって様々なパターンの
コードが生成され、元画像とより近いパターンのコード
を当てはめるようにすることができ、再生画像の品質を
向上させることができる。また、記憶手段には基本パタ
ーンのみを記憶しておけば良いので、メモリ容量を小さ
く抑えることもできる。以上のことから、本発明によれ
ば、種々の画像に対応できる汎用性の高いコードブック
を、これを記憶しておくためのメモリ容量を増大させる
ことなく実現することができる。
According to the present invention, as described above, a solid pattern code in which a data value gradually changes in a block,
Since an edge pattern code whose data value changes rapidly in a block is created as a basic pattern, it is possible to deal with any type of image composed of a combination of a solid pattern and an edge pattern. According to another feature of the present invention, the above basic pattern is created and stored in advance, and when performing vector quantization, an operation is performed on each stored pattern code. Creates a code of a pattern different from this basic pattern, so that when performing vector quantization, codes of various patterns are generated by computation, and the code of a pattern closer to the original image is applied. And the quality of the reproduced image can be improved. Also, since only the basic pattern need be stored in the storage means, the memory capacity can be reduced. As described above, according to the present invention, a highly versatile codebook that can support various images can be realized without increasing the memory capacity for storing the codebook.

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

【図1】本発明の一実施形態に係るコードブック作成装
置の構成例を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration example of a codebook creating apparatus according to an embodiment of the present invention.

【図2】本発明の一実施形態に係るベクトル量子化装置
の構成例を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration example of a vector quantization device according to an embodiment of the present invention.

【図3】作成されるベタパターンのコードの例を示す図
である。
FIG. 3 is a diagram showing an example of a solid pattern code to be created.

【図4】作成されるエッジの基本パターンのコードの例
を示す図である。
FIG. 4 is a diagram showing an example of a code of a basic pattern of an edge to be created.

【図5】ベタの基本パターンを作成する際の手順を示す
フローチャートである。
FIG. 5 is a flowchart showing a procedure for creating a solid basic pattern.

【図6】エッジの基本パターンを作成する際の手順を示
すフローチャートである。
FIG. 6 is a flowchart showing a procedure for creating a basic pattern of an edge.

【図7】ベクトル量子化を実施する際の手順を示すフロ
ーチャートである。
FIG. 7 is a flowchart illustrating a procedure for performing vector quantization.

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

1 始点指定部 2 グループ化部 3 増分入力部 4 始点輝度値設定部 5 パターン入力部 6 量子化部 7 最小輝度値減算部 8 輝度値変更部 9 コードブック生成部 10 コードブックデータメモリ 21 元画像入力部 22 コードブック演算部 23 類似度演算部 24 コード決定部 REFERENCE SIGNS LIST 1 start point designation unit 2 grouping unit 3 increment input unit 4 start point luminance value setting unit 5 pattern input unit 6 quantization unit 7 minimum luminance value subtraction unit 8 luminance value change unit 9 codebook generation unit 10 codebook data memory 21 original image Input unit 22 Codebook calculation unit 23 Similarity calculation unit 24 Code determination unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 大見 忠弘 宮城県仙台市青葉区米ヶ袋2の1の17の 301 Fターム(参考) 5B057 CB18 CD03 CG06 CH07 5C059 KK08 MD04 MD09 RC32 UA02 UA38 5C078 AA04 BA62 CA14 CA27 DA00 DA01 DA11 5J064 AA04 BA13 BC01 BC16 BC23 BD03  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Tadahiro Omi, 1-17-1, Yonegabukuro, Aoba-ku, Sendai-shi, Miyagi 301 F-term (reference) 5B057 CB18 CD03 CG06 CH07 5C059 KK08 MD04 MD09 RC32 UA02 UA38 5C078 AA04 BA62 CA14 CA27 DA00 DA01 DA11 5J064 AA04 BA13 BC01 BC16 BC23 BD03

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つ以上のデータを有するデ
ータ列であるベクトルの集合から成り、ベクトル量子化
で用いられるコードブックを作成する装置において、 上記ベクトルを構成するブロック内でデータ値が徐々に
変化していくベタパターンコードを少なくとも1種類作
成するベタパターン作成手段と、 上記ブロック内でデータ値が急激に変化するエッジパタ
ーンコードを少なくとも1種類作成するエッジパターン
作成手段とを備えたことを特徴とするベクトル量子化で
用いるコードブックの作成装置。
1. An apparatus for creating a codebook used for vector quantization, comprising a set of vectors as a data sequence having at least one data, wherein a data value gradually increases in a block constituting the vector. Solid pattern creating means for creating at least one kind of changing solid pattern code; and edge pattern creating means for creating at least one kind of edge pattern code whose data value changes rapidly in the block. An apparatus for creating a codebook used in vector quantization.
【請求項2】 上記ベタパターン作成手段およびエッジ
パターン作成手段により作成された各々のパターンコー
ドを記憶する記憶手段と、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
されている各々のパターンコードに対して演算を施すこ
とにより、これらとは異なるパターンコードを作成する
コード演算手段とを備えたことを特徴とする請求項1に
記載のベクトル量子化で用いるコードブックの作成装
置。
2. A storage means for storing each pattern code created by the solid pattern creation means and the edge pattern creation means, and each of the pattern codes stored in the storage means when the vector quantization is executed. 2. The code book creating apparatus according to claim 1, further comprising a code operating unit that creates a pattern code different from the above by performing an operation on the pattern code.
【請求項3】 上記ベタパターン作成手段は、上記ブロ
ック内の任意の辺および任意の角を始点として対向する
辺および角に向かってデータ値が徐々に変化していくパ
ターンコードを作成することを特徴とする請求項1また
は2に記載のベクトル量子化で用いるコードブックの作
成装置。
3. The solid pattern creating means creates a pattern code in which a data value gradually changes from an arbitrary side and an arbitrary corner in the block as a starting point toward opposite sides and corners. 3. The apparatus according to claim 1, wherein the codebook is used for vector quantization.
【請求項4】 上記ベタパターン作成手段は、上記ブロ
ック内の全てのデータ値が、とり得る範囲の中間値より
も小さいかあるいは大きい値で構成されるパターンコー
ドを作成することを特徴とする請求項1〜3の何れか1
項に記載のベクトル量子化で用いるコードブックの作成
装置。
4. The solid pattern creating means creates a pattern code in which all data values in the block are smaller or larger than an intermediate value in a possible range. Any one of Items 1-3
An apparatus for creating a codebook used in the vector quantization described in the section.
【請求項5】 上記ベタパターン作成手段は、徐々に変
化する度合いが同じでデータ値自体が異なるパターンコ
ードを複数作成することを特徴とする請求項1〜4の何
れか1項に記載のベクトル量子化で用いるコードブック
の作成装置。
5. The vector according to claim 1, wherein said solid pattern creating means creates a plurality of pattern codes having the same degree of gradual change but different data values themselves. Codebook creation device used for quantization.
【請求項6】 上記エッジパターン作成手段は、基準の
パターンを入力するパターン入力手段と、 上記入力された基準のパターンを、あらかじめ決められ
たデータ値群のみで表すようにする量子化手段とを備え
ることを特徴とする請求項1または2に記載のベクトル
量子化で用いるコードブックの作成装置。
6. The edge pattern creating means includes: pattern input means for inputting a reference pattern; and quantizing means for expressing the input reference pattern only with a predetermined data value group. 3. The apparatus according to claim 1, wherein the codebook is used for vector quantization.
【請求項7】 上記エッジパターン作成手段は、上記ブ
ロック内のデータ値間の差が同じでデータ値自体が異な
るパターンコードを複数作成することを特徴とする請求
項1、2または6に記載のベクトル量子化で用いるコー
ドブックの作成装置。
7. The edge pattern creating means according to claim 1, wherein the edge pattern creating means creates a plurality of pattern codes having the same difference between data values in the block but different data values themselves. Code book creation device used in vector quantization.
【請求項8】 上記エッジパターン作成手段は、上記ブ
ロック内のデータ値間の差が同じものに加えて、差の比
率が同じでデータ値自体が異なるパターンコードを複数
作成することを特徴とする請求項7に記載のベクトル量
子化で用いるコードブックの作成装置。
8. The edge pattern creating means creates a plurality of pattern codes having the same difference between the data values in the block and different data values themselves in addition to those having the same difference between the data values in the block. An apparatus for creating a codebook used in vector quantization according to claim 7.
【請求項9】 上記コード演算手段は、上記記憶手段に
記憶されている各々のパターンコードに対して、ブロッ
クの回転処理およびデータ値の反転処理の少なくとも何
れか一方の演算を施すことを特徴とする請求項2に記載
のベクトル量子化で用いるコードブックの作成装置。
9. The method according to claim 9, wherein the code operation means performs at least one of a block rotation process and a data value inversion process on each pattern code stored in the storage device. An apparatus for creating a codebook for use in vector quantization according to claim 2.
【請求項10】 少なくとも1つ以上のデータを有する
データ列であるベクトルの集合から成り、ベクトル量子
化で用いられるコードブックを作成する方法において、 上記ベクトルを構成するブロック内でデータ値が徐々に
変化していく少なくとも1種類のベタパターンコード
と、上記ブロック内でデータ値が急激に変化する少なく
とも1種類のエッジパターンコードとをあらかじめ基本
パターンとして作成して記憶手段に記憶しておき、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
されている各々のパターンコードに対して演算を施すこ
とにより、上記基本パターンとは異なるパターンコード
を作成するようにしたことを特徴とするベクトル量子化
で用いるコードブックの作成方法。
10. A method for creating a codebook which is composed of a set of vectors which are data strings having at least one or more data and is used in vector quantization, wherein a data value is gradually increased in a block constituting the vector. At least one type of solid pattern code that changes and at least one type of edge pattern code whose data value rapidly changes in the block are created in advance as basic patterns and stored in a storage unit, and the vector When performing quantization, a pattern code different from the basic pattern is created by performing an operation on each pattern code stored in the storage means. How to create a codebook for use in transformation.
【請求項11】 上記ベクトル量子化の実行に先立っ
て、上記ブロック内の任意の辺を始点として対向する辺
に向かってデータ値が徐々に変化していくベタパターン
コード、および上記ブロック内の任意の角を始点として
対向する角に向かってデータ値が徐々に変化していくベ
タパターンコードを上記基本パターンとして作成し、上
記記憶手段に記憶しておくことを特徴とする請求項10
に記載のベクトル量子化で用いるコードブックの作成方
法。
11. A solid pattern code in which a data value gradually changes toward an opposing side from an arbitrary side in the block prior to execution of the vector quantization, and an arbitrary pattern in the block. 11. A solid pattern code in which a data value gradually changes from the corner of the starting point toward the opposite corner is created as the basic pattern and stored in the storage means.
A method for creating a codebook used in vector quantization described in 1.
【請求項12】 上記ベクトル量子化の実行に先立っ
て、基準のパターンを入力し、入力した基準のパターン
をあらかじめ決められたデータ値のみで表すようにする
量子化処理を少なくとも行うことによって上記エッジパ
ターンコードを作成し、上記基本パターンとして上記記
憶手段に記憶しておくことを特徴とする請求項10に記
載のベクトル量子化で用いるコードブックの作成方法。
12. Prior to the execution of the vector quantization, a reference pattern is input, and at least a quantization process for representing the input reference pattern with only a predetermined data value is performed, thereby performing the edge processing. 11. The method according to claim 10, wherein a pattern code is created and stored in the storage unit as the basic pattern.
【請求項13】 上記ベクトル量子化の実行の際に、上
記記憶手段に記憶されている各々のパターンコードに対
して、ブロックの回転処理およびデータ値の反転処理の
少なくとも何れか一方の演算を施すことを特徴とする請
求項10に記載のベクトル量子化で用いるコードブック
の作成方法。
13. When performing the vector quantization, at least one of a block rotation process and a data value inversion process is performed on each pattern code stored in the storage unit. The method according to claim 10, wherein the codebook is used for vector quantization.
【請求項14】 少なくとも1つ以上のデータを有する
データ列をブロック化してベクトルと成し、あらかじめ
用意されたコードブックの中から、圧縮対象より抽出さ
れるベクトルに類似したコードベクトルを探し出して、
それに対応するコードを出力するベクトル量子化装置に
おいて、 上記ブロック内でデータ値が徐々に変化していくベタパ
ターンコードを少なくとも1種類作成するベタパターン
作成手段と、 上記ブロック内でデータ値が急激に変化するエッジパタ
ーンコードを少なくとも1種類作成するエッジパターン
作成手段と、 上記ベタパターン作成手段およびエッジパターン作成手
段により作成された各々のパターンコードを記憶する記
憶手段と、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
されている各々のパターンコードに対して演算を施すこ
とにより、これらとは異なるパターンコードを作成する
コード演算手段と、 上記記憶手段から読み出されたパターンコードおよび上
記コード演算手段により作成されたパターンコードを利
用して上記ベクトル量子化を実行するベクトル量子化手
段とを備えたことを特徴とするベクトル量子化装置。
14. A data sequence having at least one or more data is divided into blocks to form a vector, and a code vector similar to a vector extracted from a compression target is searched for from a prepared code book.
A vector quantization device that outputs a code corresponding thereto, a solid pattern creating means for creating at least one kind of solid pattern code whose data value gradually changes in the block, and a data value abruptly in the block. Edge pattern creation means for creating at least one kind of changing edge pattern code; storage means for storing each pattern code created by the solid pattern creation means and the edge pattern creation means; A code calculating means for performing a calculation on each of the pattern codes stored in the storage means to create a different pattern code; and a pattern code and the code read from the storage means. Use the pattern code created by the calculation means Vector quantization apparatus characterized by comprising a vector quantization means for performing the vector quantization Te.
【請求項15】 少なくとも1つ以上のデータを有する
データ列であるベクトルの集合から成り、ベクトル量子
化で用いられるコードブックを作成する方法において、 少なくとも1種類のパターンコードをあらかじめ基本パ
ターンとして作成して記憶手段に記憶しておき、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
されている上記少なくとも1種類のパターンコードに対
して演算を施すことにより、上記基本パターンとは異な
るパターンコードを作成するようにしたことを特徴とす
るベクトル量子化で用いるコードブックの作成方法。
15. A method for creating a codebook used for vector quantization, comprising a set of vectors as a data sequence having at least one or more data, wherein at least one type of pattern code is created in advance as a basic pattern. By performing an operation on the at least one type of pattern code stored in the storage unit when the vector quantization is performed, a pattern different from the basic pattern is stored. A method of creating a codebook used in vector quantization, wherein a code is created.
【請求項16】 上記演算は、回転処理およびデータ値
の反転処理の少なくとも何れか一方であることを特徴と
する請求項15に記載のベクトル量子化で用いるコード
ブックの作成方法。
16. The method according to claim 15, wherein the calculation is at least one of a rotation process and a data value inversion process.
【請求項17】 請求項15または16に記載のコード
ブック作成方法の処理手順をコンピュータに実行させる
ためのプログラムを記録したことを特徴とするコンピュ
ータ読み取り可能な記録媒体。
17. A computer-readable recording medium having recorded thereon a program for causing a computer to execute the processing procedure of the code book creating method according to claim 15.
【請求項18】 少なくとも1つ以上のデータを有する
データ列をブロック化してベクトルと成し、あらかじめ
用意されたコードブックの中から、圧縮対象より抽出さ
れるベクトルに類似したコードベクトルを探し出して、
それに対応するコードを出力するベクトル量子化装置に
おいて、 上記コードブックを記憶する記憶手段と、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
されている各々のコードに対して演算を施すことによ
り、これらとは異なるコードを作成する演算手段と、 上記記憶手段から読み出されたコードおよび上記演算手
段により作成されたコードを利用して上記ベクトル量子
化を実行するベクトル量子化手段とを備えたことを特徴
とするベクトル量子化装置。
18. A data string having at least one or more data is divided into blocks to form a vector, and a code vector similar to a vector extracted from a compression target is searched for from a code book prepared in advance.
In a vector quantization device that outputs a code corresponding to the codebook, a storage unit that stores the codebook, and when performing the vector quantization, performs an operation on each code stored in the storage unit. Thereby, an operation unit that creates a code different from these, and a vector quantization unit that executes the vector quantization using the code read from the storage unit and the code created by the operation unit. A vector quantization device, comprising:
【請求項19】 上記演算手段による演算は、回転処理
およびデータ値の反転処理の少なくとも何れか一方であ
ることを特徴とする請求項18に記載のベクトル量子化
で用いるベクトル量子化装置。
19. The vector quantization apparatus according to claim 18, wherein the calculation by the calculation means is at least one of a rotation process and a data value inversion process.
【請求項20】 少なくとも1つ以上のデータを有する
データ列をブロック化してベクトルと成し、あらかじめ
用意されたコードブックの中から、圧縮対象より抽出さ
れるベクトルに類似したコードベクトルを探し出して、
それに対応するコードを出力するベクトル量子化プログ
ラムを記録した記録媒体であって、 上記ベクトル量子化の実行の際に、記憶手段に記憶され
ている各々のコードに対して演算を施すことにより、こ
れらとは異なるコードを作成する演算ステップと、 上記記憶手段から読み出されたコードおよび上記演算ス
テップにより作成されたコードを利用して上記ベクトル
量子化を実行するベクトル量子化ステップとをコンピュ
ータに実行させるためのプログラムを記録したことを特
徴とするコンピュータ読み取り可能な記録媒体。
20. A data sequence having at least one or more data is divided into blocks to form a vector, and a code vector similar to a vector extracted from a compression target is searched from a prepared code book,
A recording medium on which a vector quantization program for outputting a code corresponding to the code is recorded. By performing an operation on each code stored in the storage means when executing the vector quantization, And causing the computer to execute a vector quantization step of performing the vector quantization using the code read from the storage unit and the code created by the calculation step. A computer-readable recording medium on which a program for recording is recorded.
【請求項21】 上記演算ステップによる演算として、
回転処理およびデータ値の反転処理の少なくとも何れか
一方を行うようにしたことを特徴とする請求項20に記
載のコンピュータ読み取り可能な記録媒体。
21. The calculation in the calculation step,
21. The computer-readable recording medium according to claim 20, wherein at least one of a rotation process and a data value inversion process is performed.
JP18951698A 1998-04-17 1998-07-03 Apparatus and method for creating codebook used in vector quantization, vector quantization method, and recording medium Expired - Fee Related JP3527415B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP18951698A JP3527415B2 (en) 1998-07-03 1998-07-03 Apparatus and method for creating codebook used in vector quantization, vector quantization method, and recording medium
EP99913695A EP1087533A1 (en) 1998-04-17 1999-04-19 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
PCT/JP1999/002050 WO1999055007A1 (en) 1998-04-17 1999-04-19 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18951698A JP3527415B2 (en) 1998-07-03 1998-07-03 Apparatus and method for creating codebook used in vector quantization, vector quantization method, and recording medium

Publications (2)

Publication Number Publication Date
JP2000022961A true JP2000022961A (en) 2000-01-21
JP3527415B2 JP3527415B2 (en) 2004-05-17

Family

ID=16242599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18951698A Expired - Fee Related JP3527415B2 (en) 1998-04-17 1998-07-03 Apparatus and method for creating codebook used in vector quantization, vector quantization method, and recording medium

Country Status (1)

Country Link
JP (1) JP3527415B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996257B2 (en) 2000-12-19 2006-02-07 Matsushita Electric Industrial Co., Ltd. Method for lighting- and view -angle-invariant face description with first- and second-order eigenfeatures
JP2012523765A (en) * 2009-04-08 2012-10-04 ウォッチイットゥー インコーポレイテッド System and method for image compression
JP2013109758A (en) * 2011-10-28 2013-06-06 Panasonic Corp Image processing method and image processing device
US9253505B2 (en) 2009-04-08 2016-02-02 Newrow, Inc. System and method for image compression

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996257B2 (en) 2000-12-19 2006-02-07 Matsushita Electric Industrial Co., Ltd. Method for lighting- and view -angle-invariant face description with first- and second-order eigenfeatures
JP2012523765A (en) * 2009-04-08 2012-10-04 ウォッチイットゥー インコーポレイテッド System and method for image compression
US9253505B2 (en) 2009-04-08 2016-02-02 Newrow, Inc. System and method for image compression
JP2013109758A (en) * 2011-10-28 2013-06-06 Panasonic Corp Image processing method and image processing device

Also Published As

Publication number Publication date
JP3527415B2 (en) 2004-05-17

Similar Documents

Publication Publication Date Title
CN111565318A (en) Video compression method based on sparse samples
KR0154739B1 (en) Fractal image compression device and method
JP3986012B2 (en) Adaptive predictive coding apparatus and adaptive predictive code decoding method
KR20120066462A (en) Method and system for providing face recognition, feature vector extraction apparatus for face recognition
CN112584062B (en) Background audio construction method and device
Cui et al. Multi-stage residual hiding for image-into-audio steganography
Salmona et al. Deoldify: A review and implementation of an automatic colorization method
Tan et al. Beyond visual retargeting: A feature retargeting approach for visual recognition and its applications
JP3527415B2 (en) Apparatus and method for creating codebook used in vector quantization, vector quantization method, and recording medium
US6714687B2 (en) Image encoding/decoding method, apparatus thereof and recording medium in which program therefor is recorded
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
JPH0540823A (en) Image signal analyzation system
KR102477700B1 (en) Method and apparatus for generating and editing images using contrasitive learning and generative adversarial network
JP3676577B2 (en) Vector quantization apparatus and method, recording medium
JP2000040966A (en) Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording medium
JP4077771B2 (en) Data reproduction apparatus, reproduction method, data compression apparatus, and compression method
JP4123485B2 (en) Image compression system, image compression method, image compression program, and recording medium
EP0718807B1 (en) Method for compressing and decompressing standardized portrait images
CN113869337A (en) Training method and device of image recognition model, and image recognition method and device
JP2000201078A (en) Data compression device and method, data decompression device and method, data compression and decompression system and method, code book preparing method and recording medium
Rizvi et al. Finite-state residual vector quantization using a tree-structured competitive neural network
JP3998348B2 (en) Codebook creation method and apparatus for use in vector quantization, and recording medium
JP7367839B2 (en) Voice recognition device, control method, and program
US20220375240A1 (en) Method for detecting cells in images using autoencoder, computer device, and storage medium
JP4078337B2 (en) Codebook creation method and apparatus for use in vector quantization, and recording medium

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees