JP2000040966A - Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording medium - Google Patents
Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording mediumInfo
- Publication number
- JP2000040966A JP2000040966A JP20836598A JP20836598A JP2000040966A JP 2000040966 A JP2000040966 A JP 2000040966A JP 20836598 A JP20836598 A JP 20836598A JP 20836598 A JP20836598 A JP 20836598A JP 2000040966 A JP2000040966 A JP 2000040966A
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- block
- pattern
- vector
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はデータ圧縮装置およ
び方法、データ伸長装置および方法、データ圧縮伸長シ
ステム、更にはこれらの処理を実行させるためのプログ
ラムを記憶した記録媒体に関し、特に、データ圧縮手法
の1つとしてベクトル量子化を用いる装置、方法、シス
テムに用いて好適なものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data compression apparatus and method, a data expansion apparatus and method, a data compression / expansion system, and a recording medium storing a program for executing these processes. It is suitable for use in apparatuses, methods and systems that use vector quantization as one of the above.
【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, several pixel patterns of a certain size (for example, a block of 4 × 4 pixels) are prepared, and a unique number or the like is given to each of them (this set 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】図10は、従来のベクトル量子化装置の概
略構成例を示す図である。図10において、画像入力装
置101により入力された原画像は、コードブック方式
による圧縮装置102に供給される。コードブック方式
による圧縮装置102は、コードブック記憶装置103
にコードブックとしてあらかじめ多数登録されているパ
ターン画像(例えば、4×4画素で成るブロックの画
像)を用いて、入力された原画像に対して以下に述べる
ようなベクトル量子化の処理を行う。FIG. 10 is a diagram showing a schematic configuration example of a conventional vector quantization apparatus. In FIG. 10, an original image input by an image input device 101 is supplied to a compression device 102 based on a codebook method. The code book compression device 102 includes a code book storage device 103
A vector quantization process described below is performed on an input original image using a pattern image (for example, an image of a block composed of 4 × 4 pixels) registered in advance as a code book.
【0005】コードブック方式による圧縮装置102
は、入力される原画像が静止画像の場合は、その1枚の
静止画に対して次の処理を行う。また、入力される原画
像が動画像の場合は、各々のフレーム画像に対して次の
処理を順次行う。すなわち、原画像の左上を起点として
そこから右方向へ向かって順次4×4画素のブロックを
取り出す。右端まで取り出したら、取り出す位置を1ブ
ロック分下にずらして左端から再び取り出していき、そ
れを繰り返すことにより全画面分のブロックを取り出
す。[0005] Codebook-based compression apparatus 102
When the input original image is a still image, the following processing is performed on the single still image. When the input original image is a moving image, the following processing is sequentially performed on each frame image. That is, starting from the upper left of the original image, blocks of 4 × 4 pixels are sequentially extracted rightward from there. When the block is taken out to the right end, the take-out position is shifted down by one block, taken out again from the left end, and by repeating this, blocks for the entire screen are taken out.
【0006】そして、取り出した各ブロックに対して、
コードブック記憶装置103に多数登録されているコー
ドベクトルの中から最もパターンの似ているものを選び
出し、それに対応するコード番号を出力する。例えば6
40×480画素の画像を処理する場合、19200個
のブロックが取り出されて処理されるので、出力される
コード番号も19200個となる。Then, for each block taken out,
A code vector having the most similar pattern is selected from a large number of code vectors registered in the code book storage device 103, and a corresponding code number is output. For example, 6
When processing an image of 40 × 480 pixels, 19200 blocks are extracted and processed, so that the output code number is also 19200.
【0007】このようにコード化された圧縮データの受
信側あるいは伸長側では、各ブロック毎にコード番号に
対応するパターンをコードブックの中から取り出すだけ
で、元の画像を再現することができる。したがって、伸
長側では、コードブックさえ受け取っているか、あるい
はあらかじめ保持していれば、特に特殊な演算は必要と
しないため、非常に簡単なハードウェアで元の画像を再
生することが可能となる。On the receiving side or the decompressing side of the coded compressed data, the original image can be reproduced only by extracting the pattern corresponding to the code 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.
【0008】[0008]
【発明が解決しようとする課題】上述のようなベクトル
量子化において、例えば画像のデータ圧縮を行う際に、
高い圧縮率を保持したままいかに高画質の再生画像を得
るのか、また、ベクトル量子化を実行する上で必ず必要
となるコードブックとしていかに性能の良いものを作成
するのかが課題となっている。In the above-described vector quantization, for example, when performing image data compression,
The challenge is how to obtain a high-quality reproduced image while maintaining a high compression ratio, and how to create a high-performance codebook that is always required for performing vector quantization.
【0009】ベクトル量子化を行う際には、上述のよう
に、原画像のベクトルデータに類似するパターンのコー
ドベクトルをコードブックの中から見つけ出す検索処理
を行う必要がある。2つのベクトルデータが類似してい
るかどうかを判断するための手段として、従来は、2つ
のベクトルデータを所定の関数に入力して演算すること
で類似度を数値化し、この数値の大きさによって判断し
ていた。When performing vector quantization, it is necessary to perform a search process for finding a code vector of a pattern similar to vector data of an original image from a code book as described above. Conventionally, as means for determining whether two vector data are similar, conventionally, two vector data are input to a predetermined function and operated to convert the degree of similarity into a numerical value, and a determination is made based on the magnitude of this numerical value. Was.
【0010】そして、上記所定の関数としては、2つの
入力ベクトルデータのマンハッタン距離やユークリッド
距離を求める関数が用いられていた。マンハッタン距離
は、2つの入力ベクトルデータ間でそれらを構成する個
々の要素どうしの差分絶対値を夫々計算し、各要素毎に
計算したこの差分絶対値をすべて加算することによって
求めるものである。また、ユークリッド距離は、上述の
ような差分絶対値の二乗和を求めるものである。As the predetermined function, a function for obtaining a Manhattan distance or a Euclidean distance between two input vector data has been used. The Manhattan distance is obtained by calculating the absolute value of the difference between the individual elements constituting the two input vector data, and adding all the absolute values of the differences calculated for each element. Further, the Euclidean distance is obtained by calculating the sum of squares of the absolute value of the difference as described above.
【0011】図11は、このような方法により類似度を
求めてコードベクトルを検索するようにした従来例の問
題点を説明するための図である。図11(a)および
(b)は、ベクトル量子化によって得た複数のコードベ
クトル(ブロック毎のパターン画像)を各ブロック毎に
埋め込むことによって再現した再生画像の一部を示して
いる。図11中に示される複数の正方形は、個々のブロ
ックに相当する。FIG. 11 is a diagram for explaining a problem of a conventional example in which a similarity is obtained by such a method to search for a code vector. FIGS. 11A and 11B show a part of a reproduced image reproduced by embedding a plurality of code vectors (pattern images for each block) obtained by vector quantization for each block. A plurality of squares shown in FIG. 11 correspond to individual blocks.
【0012】図11(a)は、圧縮前の原画像(図示せ
ず)は左下のブロックから右上のブロックに向かう方向
(大きな矢印)に全体の輝度が徐々に変化する画像であ
ったにもかかわらず、再現された画像では、これとは逆
の方向(小さな矢印)に輝度が変化していくパターンの
ブロックが含まれてしまっていることを示している。ま
た、図11(b)は、原画像中のエッジに相当する部分
を再現したものであるが、このエッジ部分がうまく再現
されていないことを示している。FIG. 11A shows that the original image (not shown) before compression is an image in which the overall luminance gradually changes in the direction from the lower left block to the upper right block (large arrow). Regardless, the reproduced image shows that a pattern block whose luminance changes in the opposite direction (small arrow) is included. FIG. 11 (b) is a reproduction of a portion corresponding to an edge in the original image, but shows that this edge portion is not reproduced well.
【0013】このように、従来のベクトル量子化技術で
は、輝度値が徐々に変化していく画像と、輝度値が急激
に変化する画像とのそれぞれについて、埋め込まれたパ
ターンに対して人間が違和感を覚えるような不自然な再
現画像となってしまうという問題があった。As described above, according to the conventional vector quantization technique, for each of the image in which the luminance value changes gradually and the image in which the luminance value changes rapidly, humans feel uncomfortable with the embedded pattern. However, there is a problem that an unnatural reproduced image that makes the user remember the image.
【0014】その1つの原因は、従来のコードブック
が、上述のように輝度値が徐々に変化していくパターン
や、輝度値が急激に変化するパターンなどを考慮して作
られていないため、必ずしもそれぞれに適したパターン
画像が、作成されたコードブック中に含まれているとは
限らないからである。One of the causes is that the conventional codebook is not created in consideration of the pattern in which the luminance value changes gradually or the pattern in which the luminance value changes rapidly as described above. This is because a pattern image suitable for each is not necessarily included in the created codebook.
【0015】また、他の原因として、従来のベクトル量
子化では、個々のブロック毎に独立して類似度を演算し
ており、かつその類似度をブロック内の全画素の情報を
用いた演算によって求めていることも考えられる。すな
わち、コードブック内には様々なパターンのコードベク
トルが含まれているが、原画像から抽出される入力ベク
トルとの類似度は、各ブロック毎に各画素毎の差分絶対
値の総和に基づいて与えられる。As another cause, in the conventional vector quantization, the similarity is calculated independently for each block, and the similarity is calculated by using the information of all the pixels in the block. It is also possible that they are seeking. That is, although the codebook contains code vectors of various patterns, the similarity with the input vector extracted from the original image is based on the sum of the absolute values of the differences for each pixel for each block. Given.
【0016】よって、全体としての輝度の方向に逆らっ
たパターンであっても、計算された類似度が他のパター
ンより大きくなれば、そのパターンが選ばれてしまうか
らである。つまり、全体として見た場合により自然なパ
ターン画像のコードベクトルがコードブック内に含まれ
ていても、それが選ばれず、不自然なパターン画像が選
ばれてしまうことがあった。このようなパターン画像の
ブロックが再生画像中の所々に含まれていると、見る者
に違和感を与えてしまうことになる。[0016] Therefore, even if a pattern is opposite to the direction of the luminance as a whole, if the calculated similarity is larger than other patterns, the pattern is selected. In other words, even if a codebook of a more natural pattern image is included in the codebook as a whole, it may not be selected, and an unnatural pattern image may be selected. If such blocks of the pattern image are included in various places in the reproduced image, the viewer will feel uncomfortable.
【0017】本発明は、このような問題を解決するため
に成されたものであり、人間の視覚特性に合ったパター
ン画像を確実に検索できるようにすることで、高品位な
再生画像を得ることができるようにすることを目的とす
る。The present invention has been made to solve such a problem, and a high-quality reproduced image can be obtained by reliably searching for a pattern image suitable for human visual characteristics. The purpose is to be able to.
【0018】[0018]
【課題を解決するための手段】本発明のデータ圧縮装置
は、少なくとも1つ以上のデータを有するデータ列をブ
ロック化してベクトルとし、あらかじめ用意されたコー
ドブックの中から、圧縮対象より抽出されるベクトルに
類似したコードベクトルを探し出して、それに対応する
コードを出力するデータ圧縮装置において、異なる種類
のパターン毎に用意されたコードブックを記憶するコー
ドブック記憶手段と、上記圧縮対象のブロック内の情報
に基づいて、当該ブロックのデータがどの種類のパター
ンかを判別する判別手段と、上記判別手段による判別結
果に応じて、それぞれのパターン用に用意された上記コ
ードブックを用いてベクトル量子化の処理を実行するベ
クトル量子化手段とを設けたことを特徴とする。According to the data compression apparatus of the present invention, a data sequence having at least one or more data is divided into blocks and extracted as vectors from a code book prepared in advance. In a data compression device that searches for a code vector similar to a vector and outputs a code corresponding to the code vector, code book storage means for storing code books prepared for different types of patterns, and information in the block to be compressed Based on the above, a discriminating means for discriminating what kind of pattern the data of the block is, and a vector quantization process using the codebook prepared for each pattern in accordance with the discrimination result by the discriminating means. And a vector quantization means for performing the following.
【0019】ここで上記判別手段は、例えば、上記圧縮
対象のブロック内の各要素のデータ値に基づいて、ブロ
ック内でデータ値がある方向に徐々に変化する第1のパ
ターンと、ブロック内でデータ値が急激に変化する第2
のパターンとを判別する。例えば、上記ブロック内の各
要素のうち最大値と最小値との差分が所定の閾値に満た
ない場合に当該ブロックを上記第1のパターンと判定
し、上記ブロック内の最大値と最小値との差分が所定の
閾値より大きい場合に当該ブロックを上記第2のパター
ンと判定する。Here, the discriminating means includes, for example, a first pattern in which the data value gradually changes in a certain direction in the block based on the data value of each element in the block to be compressed; The second where the data value changes rapidly
Is determined. For example, when the difference between the maximum value and the minimum value among the elements in the block is less than a predetermined threshold, the block is determined to be the first pattern, and the difference between the maximum value and the minimum value in the block is determined. If the difference is larger than a predetermined threshold, the block is determined to be the second pattern.
【0020】また、上記ベクトル量子化手段は、上記異
なる種類のパターンのブロックに対してそれぞれ異なる
処理により類似度を求めるようにしても良い。この場
合、上記ベクトル量子化手段は、例えば、上記圧縮対象
のブロック内の各要素のデータ値が徐々に変化する第1
のパターンに対しては、矩形のブロック内の四隅の要素
のデータ値のみを用いて類似度を求める。さらに、上記
ブロック内の四隅のデータ値からブロック内でのデータ
値変化の方向を検出し、この方向も加味して上記類似し
たコードベクトルを探し出すようにしても良い。このよ
うに四隅の情報でベクトル量子化を行う場合、上記第1
のパターン用のコードブックを構成する各コードベクト
ルは、ブロック内の四隅の要素の情報のみで構成するよ
うにしても良い。Further, the vector quantizing means may determine the similarity of the blocks of the different types of patterns by different processes. In this case, the vector quantization means may, for example, perform a first quantization in which the data value of each element in the block to be compressed gradually changes.
The similarity is calculated using the data values of the elements at the four corners in the rectangular block. Further, the direction of the data value change in the block may be detected from the data values at the four corners in the block, and the similar code vector may be searched for in consideration of this direction. When the vector quantization is performed with the information on the four corners as described above, the first
Each of the code vectors constituting the code book for the pattern may be constituted only by information of the elements at the four corners in the block.
【0021】また、本発明のデータ伸長装置は、少なく
とも1つ以上のデータを有するデータ列をベクトルと
し、少なくとも1つ以上のコードベクトルを有するコー
ドブックの中から圧縮コードに対応するコードベクトル
を探し出して、それを該当するブロック位置に割り当て
ることによって元データを再現するデータ伸長装置にお
いて、異なる種類のパターン毎に用意されたコードブッ
クを記憶するコードブック記憶手段と、圧縮側で上記異
なる種類のパターンに分けて生成された圧縮コードに基
づいて、それぞれのパターン用に用意された上記コード
ブックの中から上記圧縮コードに対応するコードベクト
ルを探し出すデコード手段とを設けたことを特徴とす
る。Further, the data decompression device of the present invention uses a data string having at least one or more data as a vector and searches for a code vector corresponding to a compressed code from a code book having at least one or more code vectors. In a data decompression device that reproduces original data by allocating it to a corresponding block position, codebook storage means for storing codebooks prepared for different types of patterns, Decoding means for searching for a code vector corresponding to the compressed code from the code book prepared for each pattern based on the compressed code generated separately for each pattern.
【0022】ここで、上記異なる種類のパターンは、例
えば、上記圧縮対象のブロック内の各要素のデータ値が
ブロック内においてある方向に徐々に変化する第1のパ
ターンと、ブロック内でデータ値が急激に変化する第2
のパターンとを含む。また、上記第1のパターン用のコ
ードブックを構成する各コードベクトルは、矩形のブロ
ック内の四隅の要素の情報のみで構成するようにしても
良い。この場合、上記ブロック内の四隅の要素の情報に
基づいて、それ以外の要素の情報を演算によって算出す
る演算手段を備えても良い。Here, the different types of patterns are, for example, a first pattern in which the data value of each element in the block to be compressed gradually changes in a certain direction in the block, and a data value in the block in which the data value is changed. The rapidly changing second
And the pattern. Further, each code vector constituting the codebook for the first pattern may be constituted only by information of elements at four corners in a rectangular block. In this case, there may be provided a calculating means for calculating information on other elements by calculation based on information on elements at the four corners in the block.
【0023】また、本発明のデータ圧縮方法は、少なく
とも1つ以上のデータを有するデータ列をブロック化し
てベクトルとし、あらかじめ用意されたコードブックの
中から、圧縮対象より抽出されるベクトルに類似したコ
ードベクトルを探し出して、それに対応するコードを出
力するデータ圧縮方法において、上記圧縮対象のブロッ
ク内の情報に基づいて、当該ブロックのデータがどの種
類のパターンかを判別し、その判別結果に応じて、それ
ぞれのパターン用に用意されたコードブックを用いてベ
クトル量子化の処理を実行するようにしたことを特徴と
する。In the data compression method 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 similar to a vector extracted from a compression target from a codebook prepared in advance. In a data compression method of searching for a code vector and outputting a code corresponding to the code vector, a type of data of the block is determined based on information in the block to be compressed, and according to a result of the determination. , The vector quantization process is performed using a codebook prepared for each pattern.
【0024】本発明の他の態様では、上記ベクトル量子
化の処理を実行する際に、上記異なる種類のパターンの
ブロックに対してはそれぞれ異なる処理によりベクトル
の類似度を求めるようにし、上記第1のパターンに対し
ては、矩形のブロック内の四隅の要素のデータ値のみを
用いて類似度を求めるようにしても良い。さらに、上記
ブロック内の四隅のデータ値からブロック内でのデータ
値変化の方向を検出し、この方向も加味して上記類似し
たコードベクトルを探し出すようにしても良い。In another aspect of the present invention, when performing the above-described vector quantization processing, the similarity between vectors is obtained by different processing for the blocks of the different types of patterns, and the first similarity is obtained. For the pattern (1), the similarity may be obtained using only the data values of the elements at the four corners in the rectangular block. Further, the direction of the data value change in the block may be detected from the data values at the four corners in the block, and the similar code vector may be searched for in consideration of this direction.
【0025】また、本発明のデータ伸長方法は、少なく
とも1つ以上のデータを有するデータ列をベクトルと
し、少なくとも1つ以上のコードベクトルを有するコー
ドブックの中から圧縮コードに対応するコードベクトル
を探し出して、それを該当するブロック位置に割り当て
ることによって元データを再現するデータ伸長方法にお
いて、圧縮側で異なる種類のパターンに分けて生成され
た圧縮コードに基づいて、それぞれのパターン用に用意
されたコードブックの中から上記圧縮コードに対応する
コードベクトルを探し出すようにしたことを特徴とす
る。Further, in the data decompression method of the present invention, a data string having at least one or more data is set as a vector, and a code vector corresponding to a compressed code is searched for from a code book having at least one or more code vectors. In the data decompression method of reproducing the original data by assigning it to the corresponding block position, a code prepared for each pattern is generated based on the compression code generated by dividing the compression side into different types of patterns. A code vector corresponding to the compressed code is searched for from a book.
【0026】本発明の他の態様では、上記第1のパター
ン用のコードブックを構成する各コードベクトルは、矩
形のブロック内の四隅の要素の情報のみを有し、上記圧
縮コードに対応するコードベクトルを探し出して該当す
るブロック位置に割り当てる際に、上記ブロック内の四
隅の要素の情報に基づいて、それ以外の要素の情報を演
算によって算出するようにしても良い。In another aspect of the present invention, each of the code vectors constituting the code book for the first pattern has only information of elements at four corners in a rectangular block, and a code corresponding to the compressed code is provided. When searching for a vector and assigning it to a corresponding block position, information on other elements may be calculated by calculation based on information on elements at the four corners in the block.
【0027】また、本発明のデータ圧縮伸長システム
は、少なくとも1つ以上のデータを有するデータ列をブ
ロック化してベクトルとし、あらかじめ用意されたコー
ドブックの中から、圧縮対象より抽出されるベクトルに
類似したコードベクトルを探し出して、それに対応する
コードを出力するデータ圧縮装置と、上記コードブック
の中から上記コードに対応するコードベクトルを探し出
して、それを該当するブロック位置に割り当てることに
よって元データを再現するデータ伸長装置とを備えたデ
ータ圧縮伸長システムにおいて、上記データ圧縮装置
は、異なる種類のパターン毎に用意されたコードブック
を記憶する第1のコードブック記憶手段と、上記圧縮対
象のブロック内の情報に基づいて、当該ブロックのデー
タがどの種類のパターンかを判別する判別手段と、上記
判別手段による判別結果に応じて、それぞれのパターン
用に用意された上記コードブックを用いてベクトル量子
化の処理を実行するベクトル量子化手段とを備え、上記
データ伸長装置は、異なる種類のパターン毎に用意され
たコードブックを記憶する第2のコードブック記憶手段
と、圧縮側で異なる種類のパターンに分けて生成された
圧縮コードに基づいて、それぞれのパターン用に用意さ
れた上記コードブックの中から上記圧縮コードに対応す
るコードベクトルを探し出すデコード手段とを備えたこ
とを特徴とする。Further, the data compression / decompression system of the present invention blocks a data string having at least one or more data into a vector, and resembles a vector extracted from a compression target from a codebook prepared in advance. A data compression device that searches for a code vector corresponding to the code and outputs a code corresponding to the code vector, and a code vector corresponding to the code is searched from the code book and the original data is reproduced by assigning the code vector to a corresponding block position. In the data compression / expansion system provided with a data decompression device, the data compression device includes: first codebook storage means for storing codebooks prepared for different types of patterns; Based on the information, the data of the block Discriminating means for discriminating whether or not, and according to the discrimination result by the discriminating means, vector quantization means for performing a vector quantization process using the codebook prepared for each pattern, The decompression device includes a second codebook storage unit that stores a codebook prepared for each of different types of patterns, and a compression code generated for the different types on the compression side. And decoding means for searching for a code vector corresponding to the compressed code from the code book prepared in (1).
【0028】ここで、上記第1、第2のコードブック記
憶手段はそれぞれ、1つの記憶装置内に異なる種類のパ
ターンのコードブックを記憶するようにしても良い。ま
た、上記第1、第2のコードブック記憶手段はそれぞ
れ、異なる種類のパターンのコードブックを複数の記憶
装置に分けて記憶し、上記データ圧縮装置で生成したコ
ードと共に何れのパターンであるかを識別するための情
報を上記データ伸長装置に供給するようにしても良い。Here, the first and second codebook storage means may store codebooks of different types of patterns in one storage device. Further, the first and second codebook storage means store codebooks of different types separately in a plurality of storage devices, and determine which pattern together with the code generated by the data compression device. Information for identification may be supplied to the data decompression device.
【0029】また、本発明のコンピュータ読み取り可能
な記録媒体は、上述した各手段としてコンピュータを機
能させるためのプログラム、もしくは上述した機能をコ
ンピュータに実現させるためのプログラムを記録したこ
とを特徴とする。本発明の他の態様では、上述したデー
タ圧縮方法もしくはデータ伸長方法の処理手順をコンピ
ュータに実行させるためのプログラムを記録したことを
特徴とする。Further, a computer-readable recording medium of the present invention is characterized in that a program for causing a computer to function as the above-described units or a program for causing a computer to realize the above-described functions is recorded. Another embodiment of the present invention is characterized in that a program for causing a computer to execute the processing procedure of the above-described data compression method or data decompression method is recorded.
【0030】[0030]
【発明の実施の形態】以下、本発明の一実施形態を図面
に基づいて説明する。図1は、本発明の第1の実施形態
に係るデータ圧縮伸長システムの構成例を示すブロック
図であり、図2は、この第1の実施形態に係る動作の原
理を説明するための図である。まず、図2を用いて原理
を説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a data compression / decompression system according to the first embodiment of the present invention, and FIG. 2 is a diagram for explaining the principle of operation according to the first embodiment. is there. First, the principle will be described with reference to FIG.
【0031】図2に示すように、本実施形態では、ベク
トル量子化を行う際に原画像から抽出される複数のブロ
ック(例えば、1つのブロックは4×4画素)を、ブロ
ック内で画素値がある方向に徐々に変化するパターン
(以下、これを低周波パターンもしくはベタパターンと
称する)のブロックと、ブロック内で画素値が急激に変
化するパターン(以下、これを高周波パターンもしくは
エッジパターンと称する)のブロックとに分ける。As shown in FIG. 2, in the present embodiment, a plurality of blocks (for example, one block is 4 × 4 pixels) extracted from an original image when performing vector quantization are divided into pixel values within the block. A block of a pattern that gradually changes in a certain direction (hereinafter referred to as a low-frequency pattern or a solid pattern) and a pattern in which the pixel value changes rapidly in the block (hereinafter referred to as a high-frequency pattern or an edge pattern) ) Block.
【0032】そして、上記ベタパターンおよびエッジパ
ターンの各ブロックに対して、それぞれのパターンのた
めにあらかじめ用意した低周波用コードブックと高周波
用コードブックとを用いて独立にベクトル量子化(V
Q)の処理を行い、それぞれについて得られた結果を合
わせて圧縮データとするものである。なお、図2中には
個々のブロックは図示していないが、低周波パターンの
画像中にはベタパターンのブロックのみが、高周波パタ
ーンの画像中にはエッジパターンのブロックのみが含ま
れている。For each block of the solid pattern and the edge pattern, vector quantization (V) is performed independently using a low frequency codebook and a high frequency codebook prepared in advance for each pattern.
The processing of Q) is performed, and the results obtained for each are combined into compressed data. Although individual blocks are not shown in FIG. 2, only a solid pattern block is included in a low-frequency pattern image, and only an edge pattern block is included in a high-frequency pattern image.
【0033】このような動作を実現するための構成を示
したのが、図1である。図1において、1は画像入力部
であり、圧縮対象の画像データを入力する。この画像入
力部1は、入力された画像全体を例えば4×4画素単位
で成るブロックに分割し、ブロック毎に画像を出力する
機能を有するものとする。なお、圧縮対象の画像データ
は静止画でも動画でも良い。また、モノクロ画像でもカ
ラー画像であっても良い。FIG. 1 shows a configuration for realizing such an operation. In FIG. 1, reference numeral 1 denotes an image input unit for inputting image data to be compressed. The image input unit 1 has a function of dividing an entire input image into blocks of, for example, 4 × 4 pixels, and outputting an image for each block. The image data to be compressed may be a still image or a moving image. Further, the image may be a monochrome image or a color image.
【0034】2は画素演算部であり、入力されたブロッ
クの画像がベタパターンに相当するのか、あるいはエッ
ジパターンに相当するのかを判定するために必要な演算
を実行する。例えば、ここではブロック内の各画素の中
から最小輝度値と最大輝度値とを検出し、その差分を演
算する。この差分が小さい場合は、輝度値が徐々に変化
するベタパターンに相当し、差分が大きい場合は、輝度
値が急激に変化するエッジパターンに相当することにな
る。Reference numeral 2 denotes a pixel operation unit, which executes an operation necessary to determine whether the input block image corresponds to a solid pattern or an edge pattern. For example, here, the minimum luminance value and the maximum luminance value are detected from each pixel in the block, and the difference is calculated. When the difference is small, it corresponds to a solid pattern in which the luminance value changes gradually. When the difference is large, it corresponds to an edge pattern in which the luminance value changes rapidly.
【0035】3は検索閾値入力部であり、上記画素演算
部2に算出されたよりブロック内最小輝度値と最大輝度
値との差分に基づいてパターン判定を行うために必要な
閾値を入力する。4はコードブック方式圧縮部であり、
画素演算部2より入力された演算結果と検索閾値入力部
3より入力された閾値とに基づいて、当該ブロックがベ
タパターンかエッジパターンかを判定し、それぞれに応
じて適切なコードブックを用いてベクトル量子化の処理
を実行する。Reference numeral 3 denotes a search threshold input unit for inputting a threshold necessary for performing pattern determination based on the difference between the minimum luminance value and the maximum luminance value in the block calculated by the pixel operation unit 2. Reference numeral 4 denotes a codebook compression unit.
Based on the operation result input from the pixel operation unit 2 and the threshold value input from the search threshold input unit 3, it is determined whether the block is a solid pattern or an edge pattern, and an appropriate codebook is used in accordance with each of them. Execute the vector quantization process.
【0036】すなわち、当該ブロックがベタパターンの
場合は、コードブック記憶部5にあらかじめ記憶されて
いるベタパターンコードブック5aを用いてベクトル量
子化を行う。一方、当該ブロックがエッジパターンの場
合は、コードブック記憶部5にあらかじめ記憶されてい
るエッジパターンコードブック5bを用いてベクトル量
子化を行う。上記コードブック記憶部5は、原画像から
抽出されるブロックと同じ大きさ(4×4画素のブロッ
ク)の画素パターンをコードベクトルとしてあらかじめ
複数記憶しているものである。That is, when the block is a solid pattern, vector quantization is performed using a solid pattern codebook 5a stored in the codebook storage unit 5 in advance. On the other hand, when the block is an edge pattern, vector quantization is performed using the edge pattern codebook 5b stored in the codebook storage unit 5 in advance. The codebook storage unit 5 previously stores a plurality of pixel patterns having the same size (block of 4 × 4 pixels) as blocks extracted from an original image as code vectors.
【0037】ベタパターンコードブック5aは、例えば
図3(a)に示すように、8つの方向に単調に変化する
パターンのコードベクトルを複数登録したものである。
すなわち、4×4画素単位で構成されるブロックのエッ
ジ部分(上下左右の各辺および四隅の各点)の何れかを
始点として、画素値(例えば輝度値)が徐々に変化する
パターンの集合体である。なお、ここでは8個のパター
ンのみを示しているが、実際には始点の輝度値や輝度変
化の度合いなどにバリエーションを持たせて、多数のベ
タパターンを登録している。The solid pattern code book 5a is, for example, as shown in FIG. 3 (a), in which a plurality of code vectors of a pattern which monotonously changes in eight directions are registered.
That is, a set of patterns whose pixel values (for example, luminance values) gradually change starting from any one of the edge portions (upper, lower, left, right sides, and four corners) of a block composed of 4 × 4 pixels. It is. Although only eight patterns are shown here, a large number of solid patterns are actually registered with variations in the luminance value of the starting point and the degree of luminance change.
【0038】また、エッジパターンコードブック5b
は、例えば図3(b)に示すように、輝度値の変化が急
激なパターンのコードベクトルを複数登録したものであ
る。なお、ここでは12個のパターンのみを示している
が、ベタパターンと同様にバリエーションを持たせて、
あるいはここに示した以外のパターンも含めて多数のエ
ッジパターンを登録している。The edge pattern code book 5b
In FIG. 3, for example, as shown in FIG. 3B, a plurality of code vectors of a pattern whose luminance value changes rapidly is registered. Note that only 12 patterns are shown here, but with variations similar to solid patterns,
Alternatively, many edge patterns including patterns other than those shown here are registered.
【0039】図1に戻り、6はコード番号出力部であ
り、上記コードブック方式圧縮部4により各ブロック毎
にベクトル量子化を行った結果として得られるコード番
号列を出力するものである。本実施形態の場合、ベタパ
ターンコードブック5aおよびエッジパターンコードブ
ック5bを構成する各コードベクトルに一連のコード番
号(記憶装置のアドレス等)が付されており、ブロック
毎に類似度が大きいものとして探し出された各コードベ
クトルに対応するコード番号列が出力される。以上が圧
縮側の構成である。Returning to FIG. 1, a code number output unit 6 outputs a code number sequence obtained as a result of performing vector quantization for each block by the code book system compression unit 4. In the case of the present embodiment, a series of code numbers (such as addresses of a storage device) are assigned to each code vector constituting the solid pattern codebook 5a and the edge pattern codebook 5b, and the similarity is assumed to be large for each block. A code number sequence corresponding to each searched code vector is output. The above is the configuration on the compression side.
【0040】7はコード番号入力部であり、圧縮側のコ
ード番号出力部6より出力された各ブロックのコード番
号列を入力する。コード番号出力部6とコード番号入力
部7との間をネットワークなどの通信路により接続し、
このネットワークを介してコード番号を転送するように
しても良いし、コード番号出力部6より出力されたコー
ド番号列を一旦フロッピーディスクなどの記憶媒体に格
納し、これを介して伸長側に入力するようにしても良
い。A code number input unit 7 inputs a code number sequence of each block output from the code number output unit 6 on the compression side. The code number output unit 6 and the code number input unit 7 are connected by a communication path such as a network,
The code number may be transferred via this network, or the code number sequence output from the code number output unit 6 may be temporarily stored in a storage medium such as a floppy disk and input to the decompression side via this. You may do it.
【0041】8はコードブック方式伸長部であり、コー
ド番号入力部7より入力されたコード番号列をもとに、
これに対応するコードベクトルのパターン画像をコード
ブック記憶部9から読み出して該当するブロック位置に
埋め込むことにより、再現画像を生成する処理を行う。
その際、入力されたコード番号がベタパターンに対応す
るものであれば、対応するコードベクトルをベタパター
ンコードブック9aから読み出す。また、コード番号が
エッジパターンに対応するものであれば、対応するコー
ドベクトルをエッジパターンコードブック9bから読み
出す。Reference numeral 8 denotes a code book type decompression unit, based on the code number sequence input from the code number input unit 7,
The corresponding pattern image of the code vector is read from the code book storage unit 9 and embedded in the corresponding block position, thereby performing a process of generating a reproduced image.
At this time, if the input code number corresponds to the solid pattern, the corresponding code vector is read from the solid pattern code book 9a. If the code number corresponds to the edge pattern, the corresponding code vector is read from the edge pattern code book 9b.
【0042】上記コードブック記憶部9も、圧縮側のコ
ードブック記憶部5と同様、原画像から抽出されるブロ
ックと同じ大きさ(4×4画素のブロック)の画素パタ
ーンをコードベクトルとしてあらかじめ複数記憶してい
るものである。このコードブックは、圧縮側のコードブ
ックを伸長処理に先立って伝送して記憶するようにして
も良いし、最初から同じものを記憶しておくようにして
も良い。Similarly to the codebook storage unit 5 on the compression side, the codebook storage unit 9 also uses a plurality of pixel patterns having the same size (blocks of 4 × 4 pixels) as blocks extracted from the original image as code vectors. It is something that I remember. This code book may be transmitted and stored before the decompression processing of the code book on the compression side, or the same code book may be stored from the beginning.
【0043】上記コードブック方式伸長部8により生成
された再現画像は、画像表示装置または記憶装置10に
与えられ、画像として表示されるか、もしくは画像デー
タとして記憶される。以上が伸長側の構成である。The reproduced image generated by the codebook expansion unit 8 is provided to the image display device or the storage device 10 and is displayed as an image or stored as image data. The above is the configuration on the extension side.
【0044】次に、上記のように構成した本実施形態に
よるデータ圧縮伸長システムの具体的な動作について、
図4および図5のフローチャートを用いて説明する。図
4は、圧縮側の動作を示したものである。図4におい
て、まずステップS1で処理化処理を行う。ここでは、
処理済のブロックをカウントするためのブロックカウン
タをクリアする処理を行う。Next, a specific operation of the data compression / decompression system according to the present embodiment configured as described above will be described.
This will be described with reference to the flowcharts of FIGS. FIG. 4 shows the operation on the compression side. In FIG. 4, first, a processing process is performed in step S1. here,
A process for clearing a block counter for counting processed blocks is performed.
【0045】次に、ステップS2で検索の閾値TH を与
えた後、ステップS3で1つの画像ブロックを入力す
る。そして、ステップS4で、上記入力した画像ブロッ
クについてブロック内の最大輝度値と最小輝度値との差
分を計算し、その計算結果が検索閾値TH より大きいか
どうかを判断する。Next, after giving threshold T H of the search in step S2, enter one of the image blocks in step S3. Then, in step S4, the image blocks the input to calculate the difference between the maximum luminance value and minimum luminance value in the block, it is determined whether the calculation result is larger than the search threshold T H.
【0046】ここで、計算した差分値が検索閾値TH よ
りも大きい場合は、そのブロックはエッジパターンの画
像ということになるので、ステップS5に進んでエッジ
パターンコードブック5bを用いてベクトル量子化の処
理を行い、入力画像ブロックと最も似通ったエッジパタ
ーンのコードベクトルを探し出す。[0046] Here, when the calculated difference value is greater than the search threshold T H, since the block will be referred to as an image edge pattern, vector quantization using the edge pattern codebook 5b proceeds to step S5 To find the code vector of the edge pattern most similar to the input image block.
【0047】一方、計算した差分値が検索閾値TH より
も大きくない場合は、そのブロックはベタパターンの画
像ということになるので、ステップS6に進んでベタパ
ターンコードブック5aを用いてベクトル量子化の処理
を行い、入力画像ブロックと最も似通ったベタパターン
のコードベクトルを探し出す。Meanwhile, if the calculated difference value is not greater than the search threshold T H, since the block will be referred to as an image of the solid pattern, vector quantized using a solid pattern codebook 5a proceeds to step S6 To find a code vector of a solid pattern most similar to the input image block.
【0048】上記ステップS5あるいはステップS6で
ベクトル量子化の処理が終わると、ステップS7に進
み、入力ブロックの画像を、探し出されたコードベクト
ルに対応するコード番号に置き換えることで符号化を行
った後、ステップS8で、置き換えられたコード番号を
出力する。When the vector quantization process is completed in step S5 or step S6, the process proceeds to step S7, where the image of the input block is encoded by replacing it with a code number corresponding to the found code vector. Thereafter, in step S8, the replaced code number is output.
【0049】そして、ステップS9に進み、画像中の全
てのブロックについて上述の処理が終了したかどうかを
判断する。終了していなければ、ステップS10でブロ
ックカウンタの値を1だけ増やした後、ステップS3に
戻って同様の処理を繰り返す。このようにして画像中の
全てのブロックについて最適なコードを求めることによ
り、原画像が圧縮される。なお、ステップS8とS9の
処理を入れ換えて、1枚分の画像のコード番号列をまと
めて出力するようにしても良い。Then, the process proceeds to a step S9, and it is determined whether or not the above-described processing has been completed for all the blocks in the image. If not completed, the value of the block counter is increased by 1 in step S10, and the process returns to step S3 to repeat the same processing. In this way, the original image is compressed by finding the optimum codes for all the blocks in the image. It should be noted that the processing of steps S8 and S9 may be interchanged to output the code number sequence of one image collectively.
【0050】図5は、伸長側の動作を示したものであ
る。図5において、まずステップS11で処理化処理を
行う。ここでは、処理済のブロックをカウントするため
のブロックカウンタをクリアする処理を行う。次に、ス
テップS12で、圧縮側にて特定されたコード番号を1
つ入力する。FIG. 5 shows the operation on the extension side. In FIG. 5, processing processing is first performed in step S11. Here, a process of clearing a block counter for counting processed blocks is performed. Next, in step S12, the code number specified on the compression side is set to 1
Enter one.
【0051】次のステップS13では、入力されたコー
ド番号をもとに、コード番号に対応するコードベクトル
のパターン画像をベタパターンコードブック9aもしく
はエッジパターンコードブック9bから探し出す。そし
て、それを読み出して該当するブロック位置に埋め込む
(具体的には、再現画像用バッファの所定の位置に格納
する)。In the next step S13, a pattern image of a code vector corresponding to the code number is searched from the solid pattern code book 9a or the edge pattern code book 9b based on the input code number. Then, it is read out and embedded in the corresponding block position (specifically, it is stored at a predetermined position in the reproduction image buffer).
【0052】次に、ステップS14で上記生成された再
現画像をディスプレイ等に表示、もしくは記憶媒体に記
憶した後、ステップS15に進み、画像中の全てのブロ
ックについて上述の処理が終了したかどうかを判断す
る。終了していなければ、ステップS16でブロックカ
ウンタの値を1だけ増やした後、ステップS12に戻っ
て同様の処理を繰り返す。Next, after the generated reproduced image is displayed on a display or the like or stored in a storage medium in step S14, the flow advances to step S15 to determine whether or not the above processing has been completed for all blocks in the image. to decide. If the processing has not been completed, the value of the block counter is increased by 1 in step S16, and the process returns to step S12 to repeat the same processing.
【0053】このようにして画像中の全てのブロックに
ついてパターン画像を再現することにより、原画像が再
現される。なお、ステップS14とS15の処理を入れ
換えて、1枚の再生画像が全て生成された後に画像表示
や記憶等の処理を行うようにしても良い。By reproducing the pattern image for all the blocks in the image in this way, the original image is reproduced. Note that the processing of steps S14 and S15 may be interchanged, and processing such as image display and storage may be performed after all one reproduced image is generated.
【0054】なお、以上の例では、1つのコードブック
の中にベタパターン部とエッジパターン部とを設ける例
を示したが、図6に示すように、ベタパターン用のコー
ドブックとエッジパターン用のコードブックとの2つの
コードブックを分けて用意しておくようにしても良い。
つまり、ベタパターン用のコードブックを記憶しておく
ためのベタパターンコードブック記憶部11,13と、
エッジパターン用のコードブックを記憶しておくための
エッジパターンコードブック記憶部12,14とを別個
に備える例である。In the above example, an example is shown in which a solid pattern portion and an edge pattern portion are provided in one codebook. However, as shown in FIG. 6, a codebook for a solid pattern and an edge pattern portion are provided. And two codebooks may be prepared separately.
That is, solid pattern codebook storage units 11 and 13 for storing a solid pattern codebook,
This is an example in which edge pattern codebook storage units 12 and 14 for storing an edge pattern codebook are separately provided.
【0055】このように構成した場合には、それぞれの
コードブック記憶部ごとに独立してコード番号(アドレ
ス等)が付されるので、ベタパターンとエッジパターン
とで同じコード番号が付されることもある。よって、伸
長処理の際に、入力されるコード番号がベタパターン、
エッジパターンのどちらに対応するものかを識別できる
ようにするために、コード番号と共にフラグ情報を伝送
するようにする。この場合の動作を図7および図8のフ
ローチャートに示す。In the case of such a configuration, since the code numbers (addresses and the like) are independently assigned to the respective codebook storage sections, the same code numbers are assigned to the solid pattern and the edge pattern. There is also. Therefore, at the time of the decompression process, the input code number is a solid pattern,
In order to identify which of the edge patterns corresponds, flag information is transmitted together with the code number. The operation in this case is shown in the flowcharts of FIGS.
【0056】図7に示す圧縮側の動作においては、図4
のステップS5、S6、S8の処理がそれぞれステップ
S21、S22、S23の処理に置き換えられる。ステ
ップS21では、ブロック内の最大輝度値と最小輝度値
について計算された差分値が検索閾値TH よりも大きい
場合に、エッジパターンコードブック記憶部12内のコ
ードブックを用いてベクトル量子化の処理を行うととも
に、フラグを“1”にセットする。In the operation on the compression side shown in FIG.
Steps S5, S6, and S8 are replaced with steps S21, S22, and S23, respectively. In step S21, when the calculated difference value for the maximum luminance value and minimum luminance value in the block is greater than the search threshold T H, the processing of vector quantization using a code book edge pattern codebook storage unit 12 And sets the flag to “1”.
【0057】また、ステップS22では、計算された差
分値が検索閾値TH よりも大きくない場合に、ベタパタ
ーンコードブック記憶部11内のコードブックを用いて
ベクトル量子化の処理を行うとともに、フラグを“0”
にセットする。また、ステップS23では、置き換えら
れたコード番号に加えて上記のようにセットされたフラ
グ情報を出力する。[0057] In step S22, when the calculated difference value is not greater than the search threshold T H, performs processing of vector quantization using a code book in the solid pattern codebook storage unit 11, a flag To “0”
Set to. In step S23, the flag information set as described above is output in addition to the replaced code number.
【0058】図8に示す伸長側の動作においては、図5
のステップS12の処理がステップS24の処理に置き
換えられるとともに、ステップS13の処理がステップ
S25、S26、S27の処理に置き換えられる。ステ
ップS24では、圧縮側で特定されたコード番号に加え
て上記のフラグ情報を入力する。ステップS25では、
その入力したフラグが“1”であるかどうかを判断し、
そうであればステップS26に進み、そうでなければス
テップS27に進む。In the operation on the decompression side shown in FIG.
Is replaced by the process of step S24, and the process of step S13 is replaced by the processes of steps S25, S26, and S27. In step S24, the above flag information is input in addition to the code number specified on the compression side. In step S25,
Determine whether the input flag is "1",
If so, proceed to step S26; otherwise, proceed to step S27.
【0059】ステップS26では、入力したコード番号
をもとに、それに対応するコードベクトルのパターン画
像をエッジパターンコードブック記憶部14から読み出
し、該当するブロック位置に埋め込む。また、ステップ
S27では、入力したコード番号をもとに、それに対応
するコードベクトルのパターン画像をベタパターンコー
ドブック記憶部13から読み出し、該当するブロック位
置に埋め込む。In step S26, based on the input code number, a pattern image of the corresponding code vector is read from the edge pattern code book storage unit 14 and embedded in a corresponding block position. In step S27, the pattern image of the corresponding code vector is read from the solid pattern code book storage unit 13 based on the input code number, and is embedded in the corresponding block position.
【0060】なお、図6において、図1に示した符号と
同一の符号を付したものは、同一の機能を有するもので
あり、また、図7および図8において、図4および図5
に示したステップと同一の番号を付したものは、同一の
処理を行うものであるので、これについての詳細な説明
は省略する。In FIG. 6, components denoted by the same reference numerals as those shown in FIG. 1 have the same functions, and in FIGS. 7 and 8, FIGS.
Steps denoted by the same reference numerals as those described in (1) perform the same processing, and a detailed description thereof will be omitted.
【0061】以上のように、本実施形態では、ベクトル
量子化を行う際に、1枚の画像から順番にブロックを切
り出してきて1つのコードブックを用いてベクトル量子
化を行うのではなく、原画像から切り出してきたブロッ
クの中がどのような輝度分布になっているかを検出し、
そのブロックが画像のベタパターン、エッジパターンの
どちらであるかを判断する。As described above, in the present embodiment, when vector quantization is performed, blocks are not cut out sequentially from one image and vector quantization is performed using one codebook. Detects what kind of luminance distribution is inside the block cut out from the image,
It is determined whether the block is a solid pattern or an edge pattern of the image.
【0062】そして、切り出したブロックがベタパター
ンであれば、コードブック中のベタパターン部分もしく
は独立に用意したベタパターンコードブックから、類似
度の大きいコードベクトルを選び出す。一方、切り出し
たブロックがエッジパターンであれば、コードブック中
のエッジパターン部分もしくは独立に用意したエッジパ
ターンコードブックから、類似度の大きいコードベクト
ルを選び出す。If the cut-out block is a solid pattern, a code vector having a high degree of similarity is selected from a solid pattern portion in the code book or an independently prepared solid pattern code book. On the other hand, if the cut-out block is an edge pattern, a code vector having a high degree of similarity is selected from an edge pattern portion in the codebook or an independently prepared edge pattern codebook.
【0063】このように、本実施形態では、各ブロック
が1枚の画像を構成する上での意味付けを行い、それに
従ってベクトル量子化を行うことにより、ベタ部分には
ベタに合ったコードブックから最適なパターン画像を選
び出し、エッジ部分にはエッジに合ったコードブックか
ら最適なパターン画像を選び出すことができる。したが
って、このようにして決定したパターン画像を用いて画
像を再生したときに、より高品位な再生画像を得ること
ができる。As described above, in the present embodiment, each block is given a meaning in forming one image, and vector quantization is performed in accordance with the meaning. , And an optimal pattern image can be selected from the codebook corresponding to the edge at the edge portion. Therefore, when an image is reproduced using the pattern image determined in this way, a higher-quality reproduced image can be obtained.
【0064】次に、本発明の第2の実施形態について説
明する。従来技術の課題のところで説明したように、特
にベタパターンについて人間の視覚特性に合った自然な
再生画像を得るためには、ブロック内における各画素の
輝度値の変化の方向が重要な要素を占める。そして、こ
の輝度変化の方向は、ベタパターンの場合、ブロック内
の四隅の画素値を見ることによって予測することができ
る。Next, a second embodiment of the present invention will be described. As described in the background of the related art, in order to obtain a natural reproduced image suitable for human visual characteristics, especially for solid patterns, the direction of change in the luminance value of each pixel in a block is an important factor. . Then, in the case of a solid pattern, the direction of this luminance change can be predicted by looking at the pixel values at the four corners in the block.
【0065】例えば、図9に示すブロックは、ブロック
内の右上の画素から左下の画素に向かって輝度値が徐々
に大きくなっていく、あるいは左下の画素から右上の画
素に向かって輝度値が徐々に小さくなっていくベタパタ
ーンのブロックである。この場合、四隅の画素値さえ分
かれば、輝度値がブロック内でどの方向に変化している
のかを知ることができる。For example, in the block shown in FIG. 9, the luminance value gradually increases from the upper right pixel to the lower left pixel in the block, or the luminance value gradually increases from the lower left pixel to the upper right pixel. Is a block of a solid pattern that becomes smaller. In this case, if only the pixel values at the four corners are known, it is possible to know in which direction the luminance value changes in the block.
【0066】そこで、第2の実施形態では、原画像から
抽出したブロックの入力ベクトルとコードブック内の各
コードベクトルとの類似度を求める際に、ベタパターン
に関しては、ブロック内にある全画素(16次元)の情
報を用いて演算するのではなく、四隅の画素(4次元)
の情報だけを用いて演算を行う。Therefore, in the second embodiment, when calculating the similarity between the input vector of the block extracted from the original image and each code vector in the codebook, all the pixels ( Instead of using information of 16 dimensions), pixels at four corners (4 dimensions)
The calculation is performed using only the information of.
【0067】この第2の実施形態によるデータ圧縮伸長
システムを実現するための構成は、図1あるいは図6に
示した構成と同様である。ただし、コードブック方式圧
縮部4で行っているベクトル量子化処理の内容が第1の
実施形態とは異なる。また、その動作を示すフローチャ
ートも第1の実施形態とほぼ同様であるが、図4のステ
ップS6、図7のステップS22における検索処理の内
容が第1の実施形態とは異なる。The configuration for realizing the data compression / decompression system according to the second embodiment is the same as the configuration shown in FIG. 1 or FIG. However, the contents of the vector quantization process performed by the codebook compression unit 4 are different from those of the first embodiment. The flowchart showing the operation is almost the same as that of the first embodiment, but the contents of the search processing in step S6 of FIG. 4 and step S22 of FIG. 7 are different from those of the first embodiment.
【0068】すなわち、第1の実施形態では、ブロック
内の16画素を全部使って、例えばマンハッタン距離や
ユークリッド距離などを計算して2つのベクトルの類似
度を求めていた。これに対して第2の実施形態では、ベ
タパターンに関しては、四隅の画素だけを使ってマンハ
ッタン距離等の類似度を計算するとともに、ブロック内
での輝度変化の方向を検出する。そして、原画像の入力
ベクトルと類似度が大きく、かつ輝度変化の方向が一致
するコードベクトルをコードブック中から選び出すよう
にする。That is, in the first embodiment, the similarity between two vectors is obtained by calculating, for example, the Manhattan distance and the Euclidean distance using all 16 pixels in the block. On the other hand, in the second embodiment, for the solid pattern, the similarity such as the Manhattan distance is calculated using only the pixels at the four corners, and the direction of the luminance change in the block is detected. Then, a code vector having a high degree of similarity with the input vector of the original image and having the same luminance change direction is selected from the code book.
【0069】このようにすることにより、画像全体の輝
度変化の流れに逆らって、ブロック内で輝度が逆方向に
変化する不自然なパターン画像が選ばれてしまう不都合
を確実に防止することができ、人間の視覚特性に合った
より自然なパターン画像を確実に選び出すことができ
る。これにより、更に高品位な再生画像を得ることがで
きるようになる。また、演算の対象は4次元で済むの
で、処理速度を速くすることもできる。By doing so, it is possible to reliably prevent the inconvenience of selecting an unnatural pattern image whose luminance changes in the opposite direction in the block against the flow of luminance change of the entire image. Thus, it is possible to reliably select a more natural pattern image suitable for human visual characteristics. As a result, a higher-quality reproduced image can be obtained. Further, since the operation is performed only in four dimensions, the processing speed can be increased.
【0070】なお、第2の実施形態では、ベクトル量子
化を行う際には、ブロック内の四隅の画素の情報だけを
用いて演算を行っており、その他の画素の情報は用いて
いない。そこで、コードブック中の各コードベクトルを
第1の実施形態のように16次元の情報で構成するので
はなく、四隅の画素にあたる4次元の情報だけで構成す
るようにしても良い。このようにすれば、コードブック
記憶部の記憶容量を小さくすることができる。また、記
憶容量はそのままに、より多種類のコードベクトルを登
録することができ、再生画像の画質を更に向上させるこ
とができる。In the second embodiment, when performing vector quantization, an operation is performed using only information of pixels at four corners in a block, and information of other pixels is not used. Therefore, each code vector in the codebook may not be composed of 16-dimensional information as in the first embodiment, but may be composed of only 4-dimensional information corresponding to pixels at four corners. By doing so, the storage capacity of the codebook storage unit can be reduced. Further, it is possible to register more types of code vectors without changing the storage capacity, and it is possible to further improve the image quality of a reproduced image.
【0071】ただし、このようにした場合、伸長処理の
際に、四隅の画素情報だけでは原画像を再現することは
できない。そこで、例えば、図1のコードブック記憶部
5内のベタパターンコードブック5aに関しては4次元
の情報だけでコードベクトルを構成し、コードブック記
憶部9内のベタパターンコードブック9aに関しては1
6次元の情報でコードベクトルを構成するようにすれば
良い。However, in such a case, the original image cannot be reproduced only by the pixel information at the four corners during the decompression process. Therefore, for example, for the solid pattern codebook 5a in the codebook storage unit 5 of FIG. 1, a code vector is composed of only four-dimensional information, and for the solid pattern codebook 9a in the codebook storage unit 9, 1 is set.
What is necessary is just to comprise a code vector by six-dimensional information.
【0072】また、ベタパターンコードブック5a,9
aの両方とも4次元の情報だけでコードベクトルを構成
しておき、四隅以外の画素の情報は、四隅の画素の情報
から例えば線形補間による演算によって生成するように
しても良い。この場合は、例えば図1のコードブック方
式伸長部8の後段に、上記線形補間等の演算を行うため
の演算部を設ける。The solid pattern code books 5a, 9
In both cases, the code vector may be configured using only four-dimensional information, and the information on the pixels other than the four corners may be generated from the information on the pixels at the four corners, for example, by an operation using linear interpolation. In this case, for example, an operation unit for performing the above-described operations such as the linear interpolation is provided at the subsequent stage of the codebook expansion unit 8 in FIG.
【0073】また、始点および終点の輝度値は同じだが
輝度変化の方向が異なる関係にあるコードベクトルや、
輝度変化の態様は同じだが各画素の輝度値が異なる関係
にあるコードベクトル等については、代表のコードベク
トルについてのみあらかじめ記憶しておき、それをもと
にブロックの回転演算や輝度値の白黒反転演算(輝度値
を中間値で折り返す処理)を行うことにより、他のコー
ドベクトルを生成するようにしても良い。A code vector having the same luminance value at the start point and the end point but different directions of the luminance change,
For code vectors and the like in which the brightness change mode is the same but the brightness value of each pixel is different, only the representative code vector is stored in advance, and based on this, the block rotation operation and brightness inversion of the brightness value are performed. Another code vector may be generated by performing an operation (a process of turning a luminance value back at an intermediate value).
【0074】なお、以上の各実施形態では、ブロックの
大きさを4×4画素としたが、これに限定されるもので
はない。また、以上の各実施形態では、ベタパターンか
エッジパターンかを判別するために、ブロック内の最大
輝度値と最小輝度値との差分が所定の閾値より大きいか
どうかを見ていたが、両者を区別できればこの方法には
限定されない。In each of the above embodiments, the size of the block is 4 × 4 pixels. However, the present invention is not limited to this. Further, in each of the above embodiments, in order to determine whether the pattern is a solid pattern or an edge pattern, whether or not the difference between the maximum luminance value and the minimum luminance value in the block is larger than a predetermined threshold value is checked. The method is not limited as long as it can be distinguished.
【0075】また、輝度値ではなく、他の情報(例えば
色情報)を用いて各ブロックを異なるパターンに分類
し、それぞれに対して独立にベクトル量子化を行うよう
にしても良い。さらに、分類するパターンは、上述した
2種類に限定されるものではなく、これより多くのパタ
ーンに分類するようにしても良い。Further, each block may be classified into a different pattern using other information (for example, color information) instead of the luminance value, and the vector quantization may be independently performed on each block. Further, the patterns to be classified are not limited to the two types described above, and may be classified into more patterns.
【0076】上記図1あるいは図6に示した各機能ブロ
ックは、本実施形態においてはハードウェアにより構成
しても良いし、CPUあるいはMPU、ROMおよびR
AM等からなるマイクロコンピュータシステムによって
構成し、その動作をROMやRAMに格納された作業プ
ログラムに従って実現するようにしても良い。また、上
記各機能ブロックの機能を実現するように当該機能を実
現するためのソフトウェアのプログラムをRAMに供給
し、そのプログラムに従って上記各機能ブロックを動作
させることによって実施したものも、本発明の範疇に含
まれる。Each of the functional blocks shown in FIG. 1 or FIG. 6 may be constituted by hardware in this embodiment, or may be constituted by a CPU or MPU, ROM and R
It may be constituted by a microcomputer system composed of an AM or the like, and its operation may be realized according to a work program stored in a ROM or a RAM. The present invention also includes a software program for realizing the functions described above, which is provided to a RAM so as to realize the functions of the respective functional blocks, and which is executed by operating the functional blocks according to the programs. include.
【0077】この場合、上記ソフトウェアのプログラム
自体が上述した実施形態の機能を実現することになり、
そのプログラム自体、およびそのプログラムをコンピュ
ータに供給するための手段、例えばかかるプログラムを
格納した記録媒体は本発明を構成する。かかるプログラ
ムを記憶する記録媒体としては、上記ROMやRAMの
他に、例えばフロッピーディスク、ハードディスク、光
ディスク、光磁気ディスク、CD−ROM、CD−I、
CD−R、CD−RW、DVD、zip、磁気テープ、
あるいは不揮発性のメモリカード等を用いることができ
る。In this case, the software program itself implements the functions of the above-described embodiment.
The program itself and means for supplying the program to a computer, for example, a recording medium storing such a program constitute the present invention. As a recording medium for storing such a program, in addition to the ROM and RAM, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-I,
CD-R, CD-RW, DVD, zip, magnetic tape,
Alternatively, a nonvolatile memory card or the like can be used.
【0078】また、コンピュータが供給されたプログラ
ムを実行することにより、上述の実施形態の機能が実現
されるだけでなく、そのプログラムがコンピュータにお
いて稼働しているOS(オペレーティングシステム)あ
るいは他のアプリケーションソフト等の共同して上述の
実施形態の機能が実現される場合にもかかるプログラム
は本発明の実施形態に含まれることは言うまでもない。Further, when the computer executes the supplied program, not only the functions of the above-described embodiment are realized, but also the OS (operating system) or other application software running on the computer. Needless to say, such a program is also included in the embodiment of the present invention when the functions of the above-described embodiment are realized in cooperation with the above.
【0079】さらに、供給されたプログラムがコンピュ
ータの機能拡張ボードやコンピュータに接続された機能
拡張ユニットに備わるメモリに格納された後、そのプロ
グラムの指示に基づいてその機能拡張ボードや機能拡張
ユニットに備わるCPU等が実際の処理の一部または全
部を行い、その処理によって上述した実施形態の機能が
実現される場合にも本発明に含まれることは言うまでも
ない。Further, after the supplied program is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the program is provided in the function expansion board or the function expansion unit based on the instruction of the program. It is needless to say that the present invention also includes a case where the CPU or the like performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
【0080】[0080]
【発明の効果】本発明は上述したように、ベクトル量子
化を行う際に、圧縮対象から切り出してきたブロック内
の情報に基づいてパターンを判別し、判別したパターン
に応じて、それぞれのパターン用に用意した適切なコー
ドブックを用いてベクトル量子化を行うようにしたの
で、例えば画像を対象として圧縮を行った場合に、選ば
れたコードベクトルを使って画像を再生したときに、人
間の視覚特性に合ったより自然な再生画像を得ることが
できる。As described above, according to the present invention, when performing vector quantization, a pattern is determined based on information in a block cut out from a compression target, and each pattern is determined according to the determined pattern. Vector quantization is performed using the appropriate codebook prepared in the above.For example, when compression is performed on an image, when the image is reproduced using the selected code vector, A more natural reproduced image matching the characteristics can be obtained.
【0081】また、本発明の他の特徴によれば、ベタパ
ターンに関しては、ブロック内の四隅の情報だけを使っ
て類似度を計算するとともに、ブロック内での変化の方
向を検出し、その結果に基づいてコードベクトルを選び
出すようにしたので、画像全体の変化の流れに逆らっ
て、ブロック内でデータ値が逆方向に変化する不自然な
コードベクトルが選ばれてしまう不都合を確実に防止す
ることができ、より高品位な再生画像を得ることができ
る。According to another feature of the present invention, for a solid pattern, similarity is calculated using only information on four corners in a block, and the direction of change in the block is detected. The code vector is selected on the basis of, so that it is possible to reliably prevent the inconvenience of selecting an unnatural code vector whose data value changes in the opposite direction in the block against the flow of change of the entire image And a higher quality reproduced image can be obtained.
【図1】本実施形態によるデータ圧縮伸長システムの一
構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration example of a data compression / decompression system according to an embodiment.
【図2】本実施形態によるベクトル量子化の動作原理を
説明するための図である。FIG. 2 is a diagram for explaining an operation principle of vector quantization according to the embodiment;
【図3】本実施形態によるコードブックを構成する各コ
ードベクトル(パターン画像)の例を示す図である。FIG. 3 is a diagram showing an example of each code vector (pattern image) constituting a code book according to the embodiment;
【図4】本実施形態によるデータ圧縮の動作の一例を示
すフローチャートである。FIG. 4 is a flowchart illustrating an example of a data compression operation according to the embodiment;
【図5】本実施形態によるデータ伸長の動作の一例を示
すフローチャートである。FIG. 5 is a flowchart illustrating an example of a data decompression operation according to the embodiment.
【図6】本実施形態によるデータ圧縮伸長システムの他
の構成例を示すブロック図である。FIG. 6 is a block diagram illustrating another configuration example of the data compression / decompression system according to the present embodiment.
【図7】本実施形態によるデータ圧縮の動作の他の例を
示すフローチャートである。FIG. 7 is a flowchart illustrating another example of the data compression operation according to the present embodiment.
【図8】本実施形態によるデータ伸長の動作の他の例を
示すフローチャートである。FIG. 8 is a flowchart illustrating another example of the data decompression operation according to the present embodiment.
【図9】本発明の第2の実施形態を説明するための図で
ある。FIG. 9 is a diagram for explaining a second embodiment of the present invention.
【図10】従来のベクトル量子化装置の構成を示すブロ
ック図である。FIG. 10 is a block diagram illustrating a configuration of a conventional vector quantization device.
【図11】従来の問題点を説明するための図である。FIG. 11 is a diagram for explaining a conventional problem.
2 画素演算部 3 検索閾値入力部 4 コードブック方式圧縮部 5 コードブック記憶部 5a ベタパターンコードブック 5b エッジパターンコードブック 8 コードブック方式伸長部 9 コードブック記憶部 9a ベタパターンコードブック 9b エッジパターンコードブック 11 ベタパターンコードブック記憶部 12 エッジパターンコードブック記憶部 13 ベタパターンコードブック記憶部 14 エッジパターンコードブック記憶部 2 Pixel operation unit 3 Search threshold value input unit 4 Codebook compression unit 5 Codebook storage unit 5a Solid pattern codebook 5b Edge pattern codebook 8 Codebook expansion unit 9 Codebook storage unit 9a Solid pattern codebook 9b Edge pattern code Book 11 Solid pattern codebook storage unit 12 Edge pattern codebook storage unit 13 Solid pattern codebook storage unit 14 Edge pattern codebook storage unit
フロントページの続き (72)発明者 森本 達郎 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 大見 忠弘 宮城県仙台市青葉区米ヶ袋2の1の17の 301 (72)発明者 新田 雄久 東京都文京区本郷4丁目1番4号 株式会 社ウルトラクリーンテクノロジー開発研究 所内 Fターム(参考) 5C059 KK02 MD08 SS20 TA55 TC43 TD12 UA02 UA05 UA38 UA39 5J064 AA01 BA13 BC01 BC14 BC16 BC25 BD03 CA02 CB12 Continuation of the front page (72) Inventor Tatsuro Morimoto Aoba, Aramaki-ku, Aoba-ku, Sendai-shi, Miyagi (No address) Inside Tohoku University (72) Inventor Tadahiro Omi Yonegabukuro 2-1-1-17, Aoba-ku, Aoba-ku, Sendai, Miyagi 301 (72) Inventor Yuhisa Nitta 4-1-1 Hongo, Bunkyo-ku, Tokyo F-term (reference) 5C059 KK02 MD08 SS20 TA55 TC43 TD12 UA02 UA05 UA38 UA39 5J064 AA01 BA13 BC01 BC14 BC16 BC25 BD03 CA02 CB12
Claims (26)
ータ列をブロック化してベクトルとし、あらかじめ用意
されたコードブックの中から、圧縮対象より抽出される
ベクトルに類似したコードベクトルを探し出して、それ
に対応するコードを出力するデータ圧縮装置において、 異なる種類のパターン毎に用意されたコードブックを記
憶するコードブック記憶手段と、 上記圧縮対象のブロック内の情報に基づいて、当該ブロ
ックのデータがどの種類のパターンかを判別する判別手
段と、 上記判別手段による判別結果に応じて、それぞれのパタ
ーン用に用意された上記コードブックを用いてベクトル
量子化の処理を実行するベクトル量子化手段とを設けた
ことを特徴とするデータ圧縮装置。1. A data sequence having at least one or more pieces of data is divided into vectors, and a code vector similar to a vector extracted from a compression target is searched from a code book prepared in advance, and a corresponding code vector is searched for. A data compression device that outputs a code to be compressed; code book storage means for storing a code book prepared for each of different types of patterns; and A discriminating means for discriminating whether the pattern is a pattern, and a vector quantizing means for executing a vector quantization process using the codebook prepared for each pattern in accordance with a discrimination result by the discriminating means. A data compression device characterized by the above-mentioned.
ク内の各要素のデータ値に基づいて、ブロック内でデー
タ値がある方向に徐々に変化する第1のパターンと、ブ
ロック内でデータ値が急激に変化する第2のパターンと
を判別することを特徴とする請求項1に記載のデータ圧
縮装置。2. A first pattern in which a data value gradually changes in a certain direction in a block, based on a data value of each element in the block to be compressed, and a data value in the block. 2. The data compression apparatus according to claim 1, wherein the data compression apparatus determines a second pattern that rapidly changes.
素のうち最大値と最小値との差分が所定の閾値に満たな
い場合に当該ブロックを上記第1のパターンと判定し、
上記ブロック内の最大値と最小値との差分が所定の閾値
より大きい場合に当該ブロックを上記第2のパターンと
判定することを特徴とする請求項2に記載のデータ圧縮
装置。3. The method according to claim 1, wherein the determining unit determines that the block is the first pattern when a difference between a maximum value and a minimum value among the elements in the block is less than a predetermined threshold.
The data compression apparatus according to claim 2, wherein the block is determined as the second pattern when a difference between a maximum value and a minimum value in the block is larger than a predetermined threshold.
種類のパターンのブロックに対してそれぞれ異なる処理
により類似度を求めることを特徴とする請求項1〜3の
何れか1項に記載のデータ圧縮装置。4. The data compression method according to claim 1, wherein said vector quantization means obtains a similarity between the blocks of the different types of patterns by different processes. apparatus.
象のブロック内の各要素のデータ値が徐々に変化する第
1のパターンに対しては、矩形のブロック内の四隅の要
素のデータ値のみを用いて類似度を求めることを特徴と
する請求項4に記載のデータ圧縮装置。5. The vector quantization means according to claim 1, wherein the first pattern in which the data value of each element in the block to be compressed gradually changes is only the data value of the elements at the four corners in the rectangular block. 5. The data compression apparatus according to claim 4, wherein the similarity is obtained using the following.
ク内の四隅のデータ値からブロック内でのデータ値変化
の方向を検出し、この方向も加味して上記類似したコー
ドベクトルを探し出すことを特徴とする請求項5に記載
のデータ圧縮装置。6. The vector quantization means detects a direction of a data value change in a block from data values at four corners in the block, and searches for the similar code vector in consideration of this direction. The data compression apparatus according to claim 5, wherein
構成する各コードベクトルは、ブロック内の四隅の要素
の情報のみを有することを特徴とする請求項5または6
に記載のデータ圧縮装置。7. The code vector constituting the code book for the first pattern has only information of elements at four corners in the block.
A data compression device according to claim 1.
ータ列をベクトルとし、少なくとも1つ以上のコードベ
クトルを有するコードブックの中から圧縮コードに対応
するコードベクトルを探し出して、それを該当するブロ
ック位置に割り当てることによって元データを再現する
データ伸長装置において、異なる種類のパターン毎に用
意されたコードブックを記憶するコードブック記憶手段
と、 圧縮側で上記異なる種類のパターンに分けて生成された
圧縮コードに基づいて、それぞれのパターン用に用意さ
れた上記コードブックの中から上記圧縮コードに対応す
るコードベクトルを探し出すデコード手段とを設けたこ
とを特徴とするデータ伸長装置。8. A data string having at least one or more data is defined as a vector, and a code vector corresponding to a compressed code is searched from a code book having at least one or more code vectors, and the code vector is searched for a corresponding block position. In a data decompression device that reproduces original data by assigning to a codebook, codebook storage means for storing a codebook prepared for each of different types of patterns, and a compression code generated by being divided into the different types of patterns on the compression side. Decoding means for searching for a code vector corresponding to the compressed code from the code book prepared for each pattern based on the data pattern.
対象のブロック内の各要素のデータ値がブロック内にお
いてある方向に徐々に変化する第1のパターンと、ブロ
ック内でデータ値が急激に変化する第2のパターンとを
含むことを特徴とする請求項8に記載のデータ伸長装
置。9. The different type of pattern includes a first pattern in which the data value of each element in the block to be compressed gradually changes in a certain direction in the block, and a data pattern in which the data value changes rapidly in the block. 9. The data decompression device according to claim 8, further comprising a second pattern.
を構成する各コードベクトルは、矩形のブロック内の四
隅の要素の情報のみを有することを特徴とする請求項9
に記載のデータ伸長装置。10. The code vector constituting the code book for the first pattern has only information of elements at four corners in a rectangular block.
A data decompression device according to claim 1.
基づいて、それ以外の要素の情報を演算によって算出す
る演算手段を備えたことを特徴とする請求項10に記載
のデータ伸長装置。11. The data decompressing apparatus according to claim 10, further comprising an operation unit for calculating information on other elements by operation based on information on elements at four corners in the block.
データ列をブロック化してベクトルとし、あらかじめ用
意されたコードブックの中から、圧縮対象より抽出され
るベクトルに類似したコードベクトルを探し出して、そ
れに対応するコードを出力するデータ圧縮方法におい
て、 上記圧縮対象のブロック内の情報に基づいて、当該ブロ
ックのデータがどの種類のパターンかを判別し、その判
別結果に応じて、それぞれのパターン用に用意されたコ
ードブックを用いてベクトル量子化の処理を実行するよ
うにしたことを特徴とするデータ圧縮方法。12. A data sequence having at least one or more data is divided into blocks to obtain a vector, and a code vector similar to a vector extracted from a compression target is searched from a code book prepared in advance, and a corresponding code vector is searched for. In the data compression method of outputting a code to be compressed, a type of data of the block is determined based on information in the block to be compressed, and a pattern is prepared for each pattern according to the determination result. A data compression method, wherein a vector quantization process is executed using a codebook.
縮対象のブロック内の各要素のデータ値がブロック内に
おいてある方向に徐々に変化する第1のパターンと、ブ
ロック内でデータ値が急激に変化する第2のパターンと
を含むことを特徴とする請求項12に記載のデータ圧縮
方法。13. The different types of patterns include a first pattern in which the data value of each element in the block to be compressed gradually changes in a certain direction in the block, and a data pattern in which the data value changes rapidly in the block. 13. The data compression method according to claim 12, further comprising:
際に、上記異なる種類のパターンのブロックに対しては
それぞれ異なる処理によりベクトルの類似度を求めるよ
うにし、上記第1のパターンに対しては、矩形のブロッ
ク内の四隅の要素のデータ値のみを用いて類似度を求め
るようにしたことを特徴とする請求項13に記載のデー
タ圧縮方法。14. When performing the vector quantization process, vector similarities are obtained by different processes for the blocks of the different types of patterns, and the block similarity is calculated for the first pattern. 14. The data compression method according to claim 13, wherein the similarity is obtained using only the data values of the four corner elements in the rectangular block.
ブロック内でのデータ値変化の方向を検出し、この方向
も加味して上記類似したコードベクトルを探し出すよう
にしたことを特徴とする請求項14に記載のデータ圧縮
方法。15. The method according to claim 1, wherein a direction of a data value change in the block is detected from data values at four corners in the block, and the similar code vector is searched for in consideration of this direction. 15. The data compression method according to 14.
データ列をベクトルとし、少なくとも1つ以上のコード
ベクトルを有するコードブックの中から圧縮コードに対
応するコードベクトルを探し出して、それを該当するブ
ロック位置に割り当てることによって元データを再現す
るデータ伸長方法において、 圧縮側で異なる種類のパターンに分けて生成された圧縮
コードに基づいて、それぞれのパターン用に用意された
コードブックの中から上記圧縮コードに対応するコード
ベクトルを探し出すようにしたことを特徴とするデータ
伸長方法。16. A data string having at least one or more data is defined as a vector, a code vector corresponding to a compressed code is searched from a code book having at least one or more code vectors, and the code vector is searched for a corresponding block position. In the data decompression method that reproduces the original data by assigning to the compression code, based on the compression codes generated by dividing the compression side into different types of patterns, the compression code is prepared from the codebook prepared for each pattern. A data decompression method characterized by searching for a corresponding code vector.
縮対象のブロック内の各要素のデータ値がブロック内に
おいてある方向に徐々に変化する第1のパターンと、ブ
ロック内でデータ値が急激に変化する第2のパターンと
を含むことを特徴とする請求項16に記載のデータ伸長
方法。17. The different type of pattern includes a first pattern in which the data value of each element in the block to be compressed gradually changes in a certain direction in the block, and a data value in which the data value changes rapidly in the block. 17. The data decompression method according to claim 16, further comprising a second pattern.
を構成する各コードベクトルは、矩形のブロック内の四
隅の要素の情報のみを有し、上記圧縮コードに対応する
コードベクトルを探し出して該当するブロック位置に割
り当てる際に、上記ブロック内の四隅の要素の情報に基
づいて、それ以外の要素の情報を演算によって算出する
ようにしたことを特徴とする請求項17に記載のデータ
伸長方法。18. Each code vector constituting the code book for the first pattern has only information of elements at four corners in a rectangular block, and finds a code vector corresponding to the compressed code and corresponds to the code vector. 18. The data decompression method according to claim 17, wherein, when assigning to the block position, information of other elements is calculated by calculation based on information of elements at four corners in the block.
データ列をブロック化してベクトルとし、あらかじめ用
意されたコードブックの中から、圧縮対象より抽出され
るベクトルに類似したコードベクトルを探し出して、そ
れに対応するコードを出力するデータ圧縮装置と、上記
コードブックの中から上記コードに対応するコードベク
トルを探し出して、それを該当するブロック位置に割り
当てることによって元データを再現するデータ伸長装置
とを備えたデータ圧縮伸長システムにおいて、 上記データ圧縮装置は、異なる種類のパターン毎に用意
されたコードブックを記憶する第1のコードブック記憶
手段と、 上記圧縮対象のブロック内の情報に基づいて、当該ブロ
ックのデータがどの種類のパターンかを判別する判別手
段と、 上記判別手段による判別結果に応じて、それぞれのパタ
ーン用に用意された上記コードブックを用いてベクトル
量子化の処理を実行するベクトル量子化手段とを備え、 上記データ伸長装置は、異なる種類のパターン毎に用意
されたコードブックを記憶する第2のコードブック記憶
手段と、 圧縮側で異なる種類のパターンに分けて生成された圧縮
コードに基づいて、それぞれのパターン用に用意された
上記コードブックの中から上記圧縮コードに対応するコ
ードベクトルを探し出すデコード手段とを備えたことを
特徴とするデータ圧縮伸長システム。19. A data sequence having at least one or more pieces of data is divided into a vector, and a code vector similar to a vector extracted from a compression target is searched from a prepared code book, and a corresponding code vector is searched for. And a data decompression device that retrieves a code vector corresponding to the code from the code book and assigns it to a corresponding block position to reproduce the original data. In the compression / decompression system, the data compression device includes: first codebook storage means for storing codebooks prepared for different types of patterns; and data of the block based on information in the block to be compressed. Determining means for determining which type of pattern is used, Vector quantization means for performing a vector quantization process using the codebook prepared for each pattern in accordance with the determination result by the stage, wherein the data decompression device is provided for each of different types of patterns. A second codebook storing means for storing the prepared codebook; and a codebook prepared for each pattern based on a compressed code generated by dividing the pattern into different types on the compression side. Decoding means for searching for a code vector corresponding to the compressed code.
段はそれぞれ、1つの記憶装置内に異なる種類のパター
ンのコードブックを記憶することを特徴とする請求項1
9に記載のデータ圧縮伸長システム。20. The apparatus according to claim 1, wherein said first and second codebook storage means store codebooks of different types of patterns in one storage device.
10. The data compression / decompression system according to 9.
段はそれぞれ、異なる種類のパターンのコードブックを
複数の記憶装置に分けて記憶し、 上記データ圧縮装置で生成したコードと共に何れのパタ
ーンであるかを識別するための情報を上記データ伸長装
置に供給するようにしたことを特徴とする請求項19に
記載のデータ圧縮伸長システム。21. The first and second codebook storage means store codebooks of different types separately in a plurality of storage devices, and store the codebook in any pattern together with the code generated by the data compression device. 20. The data compression / decompression system according to claim 19, wherein information for identifying whether there is a data is supplied to said data decompression device.
ュータを機能させるためのプログラムを記録したことを
特徴とするコンピュータ読み取り可能な記録媒体。22. A computer-readable recording medium on which a program for causing a computer to function as each of the means according to claim 1 is recorded.
能をコンピュータに実現させるためのプログラムを記録
したことを特徴とするコンピュータ読み取り可能な記録
媒体。23. A computer-readable recording medium having recorded thereon a program for causing a computer to realize the functions according to claim 2. Description:
してコンピュータを機能させるためのプログラムを記録
したことを特徴とするコンピュータ読み取り可能な記録
媒体。24. A computer-readable recording medium on which a program for causing a computer to function as each of the means according to claim 8 or 11 is recorded.
のデータ圧縮方法の処理手順をコンピュータに実行させ
るためのプログラムを記録したことを特徴とするコンピ
ュータ読み取り可能な記録媒体。25. A computer-readable recording medium storing a program for causing a computer to execute the processing procedure of the data compression method according to claim 12.
のデータ伸長方法の処理手順をコンピュータに実行させ
るためのプログラムを記録したことを特徴とするコンピ
ュータ読み取り可能な記録媒体。26. A computer-readable recording medium on which a program for causing a computer to execute the processing procedure of the data decompression method according to claim 16 is recorded.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20836598A JP2000040966A (en) | 1998-07-23 | 1998-07-23 | Device and method for data compression, device and method for data expansion, data compression and expansion system, 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 |
---|---|---|---|
JP20836598A JP2000040966A (en) | 1998-07-23 | 1998-07-23 | Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000040966A true JP2000040966A (en) | 2000-02-08 |
Family
ID=16555096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20836598A Pending JP2000040966A (en) | 1998-04-17 | 1998-07-23 | Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000040966A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002152737A (en) * | 2000-11-13 | 2002-05-24 | Sony Corp | Image processing apparatus and image processing method, learning device and learning method, and recording medium |
JP2006217339A (en) * | 2005-02-04 | 2006-08-17 | Sony Corp | Coding apparatus and method, decoding apparatus and method, information processing system and method, recording medium, and program |
JP2009140435A (en) * | 2007-12-10 | 2009-06-25 | Sharp Corp | Image processing device, image display device, image formation device, image processing method, computer program, and storage medium |
JP2010016908A (en) * | 2009-10-21 | 2010-01-21 | Sony Corp | Image processing apparatus and image processing method, and learning device and learning method |
WO2014030665A1 (en) * | 2012-08-24 | 2014-02-27 | アイキューブド研究所株式会社 | Receiving device, transmission device, and image transmission method |
JP2017535137A (en) * | 2014-09-26 | 2017-11-24 | エルジー エレクトロニクス インコーポレイティド | Method and apparatus for processing a graph-based signal using geometric elements |
-
1998
- 1998-07-23 JP JP20836598A patent/JP2000040966A/en active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002152737A (en) * | 2000-11-13 | 2002-05-24 | Sony Corp | Image processing apparatus and image processing method, learning device and learning method, and recording medium |
JP4529278B2 (en) * | 2000-11-13 | 2010-08-25 | ソニー株式会社 | Image processing apparatus and image processing method |
JP2006217339A (en) * | 2005-02-04 | 2006-08-17 | Sony Corp | Coding apparatus and method, decoding apparatus and method, information processing system and method, recording medium, and program |
JP4552677B2 (en) * | 2005-02-04 | 2010-09-29 | ソニー株式会社 | Encoding apparatus and method, decoding apparatus and method, information processing system, recording medium, and program |
JP2009140435A (en) * | 2007-12-10 | 2009-06-25 | Sharp Corp | Image processing device, image display device, image formation device, image processing method, computer program, and storage medium |
JP4510069B2 (en) * | 2007-12-10 | 2010-07-21 | シャープ株式会社 | Image processing apparatus, image display apparatus, image forming apparatus, image processing method, computer program, and storage medium |
JP2010016908A (en) * | 2009-10-21 | 2010-01-21 | Sony Corp | Image processing apparatus and image processing method, and learning device and learning method |
CN104509117A (en) * | 2012-08-24 | 2015-04-08 | I3研究所股份有限公司 | Receiving device, transmission device, and image transmission method |
WO2014030665A1 (en) * | 2012-08-24 | 2014-02-27 | アイキューブド研究所株式会社 | Receiving device, transmission device, and image transmission method |
KR20150045951A (en) * | 2012-08-24 | 2015-04-29 | 아이큐브드 연구소 주식회사 | Receiving device, transmission device, and image transmission method |
JPWO2014030665A1 (en) * | 2012-08-24 | 2016-07-28 | アイキューブド研究所株式会社 | Reception device, transmission device, and image transmission method |
TWI600327B (en) * | 2012-08-24 | 2017-09-21 | I-Cubed Res Center Inc | Receiving device, transmitting device, and video transmitting method |
US10034004B2 (en) | 2012-08-24 | 2018-07-24 | I-Cubed Research Center Inc. | Receiving apparatus, transmitting apparatus, and image transmitting method |
KR102114509B1 (en) | 2012-08-24 | 2020-05-22 | 아이큐브드 연구소 주식회사 | Receiving device, transmission device, and image transmission method |
JP2017535137A (en) * | 2014-09-26 | 2017-11-24 | エルジー エレクトロニクス インコーポレイティド | Method and apparatus for processing a graph-based signal using geometric elements |
US10382711B2 (en) | 2014-09-26 | 2019-08-13 | Lg Electronics Inc. | Method and device for processing graph-based signal using geometric primitives |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5883975A (en) | Compression and decompression methods on two-dimensional image data | |
US7092040B1 (en) | Dynamic image search information recording apparatus and dynamic image searching device | |
JP2000165644A (en) | Method and unit for image processing, served medium and image processing system | |
US5124791A (en) | Frame-to-frame compression of vector quantized signals and other post-processing | |
KR100647022B1 (en) | Coding apparatus and coding Method, Decoding apparatus and Decoding Method, Information processing apparatus and Information processing method and providing medium | |
JP2000040966A (en) | Device and method for data compression, device and method for data expansion, data compression and expansion system, and recording medium | |
JP2007527126A (en) | Image part compression method and apparatus | |
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 | |
JP3676577B2 (en) | Vector quantization apparatus and method, recording medium | |
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 | |
JP2001028546A (en) | Device and method for encoding, device and method for decoding, recording medium and data processor | |
JP4077771B2 (en) | Data reproduction apparatus, reproduction method, data compression apparatus, and compression method | |
JP2000022961A (en) | Device and method for generating code book used for vector quantization, vector quantizing device, and recording medium | |
JP2000101437A (en) | Data analysis device and method according to code book system, data recognition device and its method, and recording medium | |
JP2007028658A (en) | Data processing apparatus, data processing method, and program | |
JPH09186861A (en) | Method and device for image processing | |
JP2001103485A (en) | Data compressor, data compression method and storage medium | |
JP2000353961A (en) | Picture processor | |
JP3344177B2 (en) | Fractal image compression device | |
JP2001204024A (en) | Data compression method, data compressor and storage medium | |
JP3998348B2 (en) | Codebook creation method and apparatus for use in vector quantization, and recording medium | |
WO1999055093A1 (en) | Data compressing device and method, data expanding device and method, data compressing/expanding system and method, code book making method, and vector quantizing device and method | |
JP4552506B2 (en) | Information signal processing apparatus and processing method, correction data table generation apparatus and generation method, and program for executing each method | |
JPH0883347A (en) | Picture processor | |
JP2005012823A (en) | Data compressing device and method, data expanding device and method, data compressing/expanding system and method, code book making method, and recording medium |