JPH07336696A - Compressing system and expanding system for two-dimensional image data - Google Patents
Compressing system and expanding system for two-dimensional image dataInfo
- Publication number
- JPH07336696A JPH07336696A JP15162494A JP15162494A JPH07336696A JP H07336696 A JPH07336696 A JP H07336696A JP 15162494 A JP15162494 A JP 15162494A JP 15162494 A JP15162494 A JP 15162494A JP H07336696 A JPH07336696 A JP H07336696A
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- partial
- string
- length
- 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 Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、2次元画像データにお
けるデータ圧縮方式及び伸長方式に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data compression system and a decompression system for two-dimensional image data.
【0002】[0002]
【従来の技術】従来の画像圧縮方式としては、非可逆性
のデータ圧縮方式と可逆性のデータ圧縮方式がある。前
者の例として挙げることのできる離散コサイン変換(DC
T )を用いたJPEGやMPEGなどの非可逆性のデータ圧縮方
式では、カラーコード(カラーパレットの呼び出し符
号)を使用した画像データを圧縮する場合に情報落ちが
生じるため使用することができない。後者の可逆性のデ
ータ圧縮方式の代表的な方式が、情報のランレングス
(run length)を用いてデータ圧縮を行う方式(ランレ
ングス圧縮)、頻繁に現れる情報を辞書に登録しデータ
圧縮を行う方式(辞書圧縮)である。後者の方式は、IE
EE Transactions on Information Theory IT-24 、pp.5
30〜536 に掲載されたZiv 及びLempelによる論文"Compr
ession of Individual Sequenes via Variable Rate Co
ding" に開示されている。2. Description of the Related Art Conventional image compression methods include an irreversible data compression method and a reversible data compression method. The discrete cosine transform (DC
Non-reversible data compression methods such as JPEG and MPEG using T) cannot be used because information loss occurs when compressing image data using a color code (call code of color palette). A typical method of the latter reversible data compression method is a method of performing data compression by using run length of information (run length compression), and performing data compression by registering frequently appearing information in a dictionary. It is a method (dictionary compression). The latter method is IE
EE Transactions on Information Theory IT-24, pp.5
Ziv and Lempel's article "Compr.
ession of Individual Sequenes via Variable Rate Co
ding ".
【0003】[0003]
【発明が解決しようとする課題】上記圧縮方式には、そ
れぞれ下記のような問題点がある。ランレングス圧縮
は、連続した同じ情報が多く含まれる画像データには効
果を発揮するが、そうでない画像データに対しては効果
が無く、圧縮の効果が全く現れない場合もある。Each of the above compression methods has the following problems. The run-length compression is effective for image data that contains a large amount of the same continuous information, but is ineffective for image data that is not so, and the compression effect may not appear at all.
【0004】辞書圧縮は、辞書に対するヒット率が高い
画像データには効果を発揮するが、そうでない画像デー
タに対しては効果が無い。また、ヒット率は辞書を記憶
するための記憶容量に依存するため、高いヒット率を得
たいならば容量の大きな格納場所が必要となる。更に、
容量の大きな辞書を持つことで辞書参照回数が増大し、
圧縮速度が低下する。そこで、本発明は、上記圧縮方式
の問題点を補い、画像データのデータ圧縮率を高め情報
量を低減し且つ高速に圧縮することができるデータ圧縮
方式及びその圧縮されたデータを高速に伸長することが
できる伸長方式を提供することを目的とする。The dictionary compression is effective for image data having a high hit ratio to the dictionary, but is not effective for image data which is not so. Further, since the hit rate depends on the storage capacity for storing the dictionary, if a high hit rate is desired, a large-capacity storage location is required. Furthermore,
Having a large-capacity dictionary increases the number of dictionary lookups,
The compression speed decreases. Therefore, the present invention compensates for the problems of the above-described compression method, increases the data compression rate of image data, reduces the amount of information, and enables high-speed compression, and expands the compressed data at high speed. It is an object of the present invention to provide a decompression method that can be performed.
【0005】[0005]
【課題を解決するための手段】上記目的を達成するため
に本発明のデータ圧縮方式では、順次スキャンされる2
次元画像データに対して直前ラインのデータを参照しな
がら直前のラインと少なくとも1画素分以上同じ部分デ
ータ列が存在する場合に、直前ライン上での部分データ
列の位置と長さのデータをその部分データ列のデータと
して出力する。In order to achieve the above object, in the data compression method of the present invention, two scans are sequentially performed.
When there is a partial data string that is the same as the previous line for at least one pixel while referring to the data of the previous line with respect to the three-dimensional image data, the data of the position and length of the partial data string on the previous line is calculated. Output as data of partial data string.
【0006】また本発明のデータ伸長方式では、直前の
ラインと少なくとも1画素分以上同じ部分データ列が存
在する場合に重複する部分のデータとして直前ライン上
での部分データ列の位置と長さの情報が順次入力される
2次元画像圧縮データの伸長方式において、少なくとも
直前ラインのデータを保持し、入力された圧縮データか
ら部分データ列の位置と長さに関する情報を抽出し、こ
の情報に基づいて、入力された現ラインのデータに対し
て、保持された直前ラインのデータの前記部分データ列
の位置から前記部分データ列の長さ分のデータを抽出
し、伸長データとして出力する。Further, in the data decompression method of the present invention, when the same partial data string as at least one pixel exists in the immediately preceding line, the position and length of the partial data string on the immediately preceding line are treated as overlapping data. In the decompression method of two-dimensional image compressed data in which information is sequentially input, at least the data of the immediately preceding line is held, information on the position and length of the partial data string is extracted from the input compressed data, and based on this information With respect to the input data of the current line, data corresponding to the length of the partial data string is extracted from the position of the partial data string of the held data of the previous line, and is output as decompressed data.
【0007】また、上記データ圧縮方式を実現するデー
タ圧縮装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持する参照メモリ手段と、入
力された現ラインの信号から、連続する複数のデータ列
を抽出し圧縮対象部分データ列として記憶するバッファ
手段と、参照メモリ手段に記憶されたデータに圧縮対象
部分データ列と同じデータ列が存在するか否かを検出す
る走査比較手段と、走査比較手段によって同じデータ列
の存在が検出された場合に、参照メモリ手段に記憶され
た1ライン前のデータ上での部分データ列の位置と長さ
のデータを現ラインのその部分データ列のデータとして
出力する符号生成手段を備える。Further, a data compression apparatus for realizing the above-mentioned data compression method is provided with a reference memory means for holding data of one line before for sequentially input two-dimensional image data and an input current line signal. Buffer means for extracting a plurality of continuous data strings and storing them as compression target partial data strings, and scanning comparison for detecting whether or not the same data string as the compression target partial data string exists in the data stored in the reference memory means And the scanning comparison means detect the presence of the same data string, the position and length data of the partial data string on the data one line before stored in the reference memory means is changed to that part of the current line. A code generation means for outputting as data of the data string is provided.
【0008】更に、上記データ伸長方式を実現するデー
タ伸長装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持するバッファメモリ手段
と、入力された圧縮データから部分データ列の位置と長
さに関する情報を抽出する抽出手段と、この情報に基づ
いて、入力された現ラインのデータに対して、バッファ
メモリに保持された直前ラインのデータの部分データ列
の位置から部分データ列の長さ分のデータを抽出し、伸
長データとして出力する復号手段を備える。Further, the data decompression device for implementing the above-mentioned data decompression system is provided with a buffer memory means for holding the data of one line before the sequentially inputted two-dimensional image data, and a partial data string from the inputted compressed data. Means for extracting the information on the position and length of the partial data, and based on this information, the partial data from the position of the partial data string of the data of the immediately preceding line held in the buffer memory with respect to the input current line data. Decoding means for extracting data for the length of the column and outputting it as decompressed data is provided.
【0009】[0009]
【作用】本発明の理解を容易にするため、本発明の原理
を図面を用いて説明する。本発明では画像データのある
画素は近傍の画素群に類似するという性質を利用し、順
次スキャンされる2次元画像データ(図1に示す)にお
いて、直前ラインのデータを参照データ(これを記憶す
るバッファを「辞書」1と言う事にする。)として保持
し、圧縮対象とするラインデータの部分列2で直前ライ
ンの辞書1を参照し、その参照において部分列ができる
だけ長く且つ直前ラインの辞書1の部分列と一致した
時、その辞書1上の部分列3の位置4と部分列の長さを
符号化することによりデータ圧縮を行う。この時、辞書
1上の部分列3の位置4を圧縮対象部分列2からの2次
元空間上の相対位置として表し、この相対位置と部分列
3の長さを符号化する。また、辞書1に対する参照範囲
を、圧縮対象部分列2と辞書1上の部分列との類似度が
高い範囲内に限定する。更に、圧縮対象部分列2が辞書
1上の部分列と一致しない場合は、圧縮対象部分列2に
ランレングス圧縮などを適用する。上記符号は、固定長
符号とはせず生起確立の高いデータに短い符号を割当て
圧縮率を上げるために可変長符号とする事が望ましい。In order to facilitate understanding of the present invention, the principle of the present invention will be described with reference to the drawings. In the present invention, the property that a pixel having image data is similar to a pixel group in the vicinity is used, and in the two-dimensional image data (shown in FIG. 1) that is sequentially scanned, the data of the immediately preceding line is stored as reference data (which is stored). The buffer is referred to as a "dictionary" 1.) and the dictionary 1 of the immediately preceding line is referred to by the subsequence 2 of the line data to be compressed, and the subsequence is as long as possible and the dictionary of the immediately preceding line in the reference. When it matches the partial string of 1, the position 4 of the partial string 3 on the dictionary 1 and the length of the partial string are encoded to perform data compression. At this time, the position 4 of the subsequence 3 in the dictionary 1 is expressed as a relative position in the two-dimensional space from the compression target subsequence 2, and the relative position and the length of the subsequence 3 are encoded. Further, the reference range for the dictionary 1 is limited to a range in which the degree of similarity between the compression target subsequence 2 and the subsequence in the dictionary 1 is high. Furthermore, if the compression target subsequence 2 does not match the subsequence in the dictionary 1, run length compression or the like is applied to the compression target subsequence 2. It is desirable that the above code is not a fixed length code but a variable length code in order to allocate a short code to data with a high probability of occurrence and to increase the compression rate.
【0010】本発明は、上記のように、辞書の容量は直
前ラインのみを格納すれば良いので非常に小さく、類似
度の高い範囲内で辞書を参照し、できるだけ長い部分列
を参照するので、圧縮率が高く且つ圧縮及び伸長を高速
に処理することが可能である。画像データの1ライン目
や辞書参照が不可能な部分列にランレングス圧縮などを
適用することで、更に、高い圧縮率が得られる。According to the present invention, as described above, the capacity of the dictionary is very small because it is sufficient to store only the immediately preceding line, and the dictionary is referred to within a range of high similarity, and the longest possible subsequence is referred to. It has a high compression rate and can process compression and decompression at high speed. A higher compression rate can be obtained by applying run length compression or the like to the first line of the image data or a partial string for which dictionary reference is not possible.
【0011】[0011]
【実施例】以下に、本発明の実施例を図2乃至図6にし
たがって詳述する。図2は本発明のデータ圧縮回路の構
成例である。図3は本発明のデータ圧縮アルゴリズムの
フローチャートである。図2において、5はラインバッ
ファ、6は1ライン前のデータを保持する辞書バッフ
ァ、7は比較器、8は符号生成器、9は加算器、10は
ポインタ、11は相対位置カウンタ、12はポインタバ
ッファ、13は長さカウンタ、14は相対位置・長さバ
ッファ、15はセレクタ、16は部分列バッファを示
す。また、17はラインバッファへの入力信号線、18
は辞書バッファへの入力信号線、19は符号出力線を示
す。Embodiments of the present invention will be described below in detail with reference to FIGS. FIG. 2 is a configuration example of the data compression circuit of the present invention. FIG. 3 is a flow chart of the data compression algorithm of the present invention. In FIG. 2, 5 is a line buffer, 6 is a dictionary buffer for holding data of one line before, 7 is a comparator, 8 is a code generator, 9 is an adder, 10 is a pointer, 11 is a relative position counter, and 12 is A pointer buffer, 13 is a length counter, 14 is a relative position / length buffer, 15 is a selector, and 16 is a subsequence buffer. Further, 17 is an input signal line to the line buffer, 18
Is an input signal line to the dictionary buffer, and 19 is a code output line.
【0012】次に、上記のように構成されたデータ圧縮
回路の動作の概要を示す。先ず、処理20でポインタ1
0等を初期化し、順次入力される画像データをラインバ
ッファ入力信号線17を通してラインバッファ5へ格納
する。この際、辞書バッファ入力信号線18を通してラ
インバッファ5から押し出されるデータを辞書バッファ
6に格納する。次に、処理21でラインバッファ5に入
力されたラインデータが1ライン目のデータであるなら
ば、処理25に遷移し、ポインタ10の指すラインバッ
ファ5のデータを部分列バッファ16に格納し、ポイン
タ10を1つ進め、ラインバッファ5のデータをセレク
タ15を通して、比較器7に入力し、部分列バッファ1
6のデータと比較する。比較の結果一致するならば、長
さカウンタ13をインクリメントし、次のポインタの指
すデータをセレクタ15を通して比較器7に入力し部分
列バッファ16のデータと比較し、一致しなくなるまで
ポインタを1つずつ進め部分列バッファ16のデータと
の比較を繰り返す。一致しなくなったところで、処理2
6で長さカウンタ13のデータと部分列バッファ16の
データを符号生成器8に入力し、符号出力線19を通し
て、符号を出力する。このようにして1ライン目の全て
のデータを処理する。Next, the outline of the operation of the data compression circuit configured as described above will be described. First, in process 20, the pointer 1
0 and the like are initialized, and the sequentially input image data is stored in the line buffer 5 through the line buffer input signal line 17. At this time, the data pushed out from the line buffer 5 through the dictionary buffer input signal line 18 is stored in the dictionary buffer 6. Next, if the line data input to the line buffer 5 in the process 21 is the data of the first line, the process shifts to the process 25 and the data in the line buffer 5 pointed by the pointer 10 is stored in the partial column buffer 16. The pointer 10 is advanced by 1, the data in the line buffer 5 is input to the comparator 7 through the selector 15, and the partial column buffer 1
Compare with data in 6. If they match as a result of comparison, the length counter 13 is incremented, and the data pointed to by the next pointer is input to the comparator 7 through the selector 15 to be compared with the data in the partial column buffer 16 and one pointer is added until they do not match. The comparison with the data in the subsequence buffer 16 is repeated. When it no longer matches, process 2
At 6, the data of the length counter 13 and the data of the subsequence buffer 16 are input to the code generator 8 and the code is output through the code output line 19. In this way, all data on the first line is processed.
【0013】処理21でラインバッファ5に入力された
ラインデータが2ライン目以降のデータならば、処理2
2に遷移し、最長部分列の検索を行う。この最長部分列
の検索は図3には処理22として1つのフローで示して
有るが、以下の手順で行われる。最長部分列の検索の概
念を8×8の画像データを示す図4を例として説明す
る。本実施例では、検索対象部分列(現ラインのデータ
から選択された連続する画素のデータをこう定義する)
に対して1ライン前のラインにその検索対象部分列と同
じ部分列が存在するか否かを、検索対象部分列の先頭画
素位置から−1戻った位置(相対位置−1と定義する)
から+1進んだ位置(相対位置+1と定義する)に検索
対象部分列の先頭画素と同じ画素が存在するか否かを検
索する事によって判定している。即ち、1ライン前に左
右1画素分ずれた範囲内に同じ画素列が存在する場合に
処理22の圧縮を行う事になる。If the line data input to the line buffer 5 in the process 21 is the data of the second and subsequent lines, the process 2
Transition to 2 and search for the longest subsequence. Although the search for the longest subsequence is shown as one process 22 in FIG. 3, it is performed in the following procedure. The concept of searching for the longest subsequence will be described with reference to FIG. 4 showing 8 × 8 image data. In this embodiment, a substring to be searched (data of consecutive pixels selected from the data of the current line is defined as follows)
On the other hand, whether or not the same subsequence as the search target subsequence exists on the line one line before is a position -1 back from the start pixel position of the search target subsequence (defined as relative position -1).
It is determined by searching whether or not the same pixel as the first pixel of the search target partial string exists at a position (defined as relative position +1) advanced by +1 from. That is, when the same pixel row exists within the range shifted by one pixel on the left and right one line before, the process 22 is compressed.
【0014】図4(a)で言えば、(1)相対位置−1
の例としては、3行1列目の「5」に続く部分列「55
4」がある。この部分列「554」は2行の1列目の
「5」に続く部分列「554」と同じデータ列であるの
で左に1画素ずれた位置に同一部分列が存在すると判定
される。(2)相対位置0の例としては、1行4列目の
「3」に続く部分列「34」がある。この部分列「3
4」は0行の4列目の「3」に続く部分列「34」と同
じデータ列であるので0画素ずれた位置に同一部分列が
存在すると判定される。(3)相対位置+1の例として
は、2行0列目の「5」に続く部分列「55434」が
ある。この部分列「55434」は1行1列目の「5」
に続く部分列「55434」と同じデータ列であるので
右に1画素ずれた位置に同一部分列が存在すると判定さ
れる。Referring to FIG. 4A, (1) relative position -1
For example, the partial column “55” following “5” in the third row and first column
There is 4 ". This partial string "554" is the same data string as the partial string "554" following "5" in the first column of two rows, so it is determined that the same partial string exists at a position shifted by one pixel to the left. (2) As an example of the relative position 0, there is a partial column "34" following "3" in the first row and fourth column. This subsequence “3
Since “4” is the same data string as the partial string “34” that follows “3” in the fourth column of the 0th row, it is determined that the same partial string exists at a position shifted by 0 pixel. (3) As an example of the relative position + 1, there is a partial column "55434" following "5" in the second row and the 0th column. This partial column “55434” is the first row and first column “5”
Since it is the same data string as the partial string "55434" that follows, it is determined that the same partial string exists at the position shifted by one pixel to the right.
【0015】処理22では先ず、ポインタ10のデータ
をポインタバッファ12に格納し、相対位置カウンタ1
1を初期化する。次に、ポインタ10の指すラインバッ
ファ5から1画素分のデータが部分列バッファ16に取
り込まれる。ラインバッファ5から部分列バッファ16
に取り込まれた現ラインの1画素のデータについて辞書
バッファに記憶された1ライン前の相対位置−1の画
素、相対位置0の画素、相対位置+1の画素について一
致する画素が有るか無いかを検索し、無い場合は、相対
位置・長さバッファ14にそれぞれの相対位置毎に長さ
「0」を書き込んで処理23に進む。図4(a)では1
行3列の「4」は、0行2列、0行3列は「2」であ
り、0行4列は「3」であるので、相対位置・長さバッ
ファ14にポイント(1、3)の長さデータとして相対
位置−1、0、+1ともに「0」が書き込まれる。一致
する画素が存在する場合は、ポインタ10と長さカウン
タ15をインクリメントし、隣の画素のデータを部分列
バッファ16に取り込む。このときポインタバッファ1
2には今回の検索で検索中の検索対象部分列の先頭番地
が残されている。In process 22, first, the data of the pointer 10 is stored in the pointer buffer 12, and the relative position counter 1
Initialize 1. Next, the data for one pixel is fetched from the line buffer 5 pointed by the pointer 10 into the partial column buffer 16. Line buffer 5 to partial column buffer 16
Whether or not there is a matching pixel for the pixel at the relative position −1, the pixel at the relative position 0, and the pixel at the relative position +1 stored in the dictionary buffer for the pixel data of the current line captured in If no search is made, the length “0” is written in the relative position / length buffer 14 for each relative position, and the process proceeds to step 23. In FIG. 4A, 1
Since “4” in row 3 column is 0 row 2 column, 0 row 3 column is “2”, and 0 row 4 column is “3”, the relative position / length buffer 14 has a point (1, 3). ), "0" is written as the length data for all the relative positions -1, 0, and +1. If there is a matching pixel, the pointer 10 and the length counter 15 are incremented, and the data of the adjacent pixel is fetched into the partial column buffer 16. At this time, pointer buffer 1
In 2, there is left the start address of the search target subsequence being searched in this search.
【0016】検索対象部分列の先頭画素が相対位置−1
に一致を発見した場合は、隣の画素については1ライン
前のデータの相対位置−1の画素のデータと部分列バッ
ファ16に取り込まれた画素との比較が行われ、相対位
置0に一致を発見した場合は、隣の画素については1ラ
イン前のデータの相対位置0の画素のデータと部分列バ
ッファ16に取り込まれた画素との比較が行われ、相対
位置+1に一致を発見した場合は、隣の画素については
1ライン前のデータの相対位置+1の画素のデータと部
分列バッファ16に取り込まれた画素との比較が行われ
る。上記それぞれの比較結果が一致を示す場合には、更
に隣の画素ポインタ10をインクリメントし、隣の画素
のデータを部分列バッファ16に取り込み、長さカウン
タ15をインクリメントし一致しなくなるまで繰り返
す。これにより一致しなくなった時点で長さカウンタ1
5に計数されている値が1ライン前のデータに同じデー
タ列を持つ部分データ列の長さLとして計測される。こ
の長さ情報は相対位置−1、相対位置0、相対位置+1
のそれぞれについて計数される。即ち、相対位置−1に
ついて上記のようにして長さLを計数した後その長さL
を相対位置−1についての長さ情報として相対位置・長
さバッファの相対位置−1の欄に記憶し、続いて相対位
置0についての検索を行う為、ポインタバッファ12に
一時保存しておいた検索対象部分列の先頭番地を画素ポ
インタ10に戻し、相対位置カウンタ11をインクリメ
ントし、検索対象部分列の先頭番地の右隣のデータにつ
いて同様に相対位置0のデータが一致しなくなるまで画
素ポインタ10をインクリメントしながら比較を行い、
長さ情報Lを求める。続いて相対位置+1について同様
の検索を行う。The first pixel of the search target subsequence is the relative position -1.
If a match is found with respect to the next pixel, the data of the pixel at the relative position -1 of the data one line before is compared with the pixel fetched into the partial column buffer 16, and the match with the relative position 0 is found. If found, the data of the pixel at the relative position 0 of the data one line before is compared with the pixel fetched in the sub-sequence buffer 16 for the adjacent pixel, and if a match is found at the relative position +1 For the adjacent pixel, the data of the pixel at the relative position +1 of the data one line before is compared with the pixel fetched in the partial column buffer 16. If the respective comparison results indicate a match, the adjacent pixel pointer 10 is further incremented, the data of the adjacent pixel is fetched into the partial column buffer 16, the length counter 15 is incremented, and the process is repeated until there is no match. As a result, the length counter 1
The value counted in 5 is measured as the length L of the partial data string having the same data string in the data one line before. This length information is relative position -1, relative position 0, relative position +1
Are counted for each of the. That is, after the length L is counted for the relative position −1 as described above, the length L
Was stored in the relative position / relative position -1 column of the relative position / length buffer as length information about the relative position -1, and then temporarily stored in the pointer buffer 12 for searching for the relative position 0. The head address of the search target subsequence is returned to the pixel pointer 10, the relative position counter 11 is incremented, and the pixel pointer 10 is incremented until the data at the relative position 0 does not match the data on the right of the start address of the search target subsequence. Compare while incrementing
The length information L is obtained. Then, the same search is performed for the relative position +1.
【0017】図4(a)の2行0列の「5」を先頭画素
とする部分列を考えると、この画素はライン先頭なので
前のラインの相対位置−1にデータが存在しないので長
さLは0となる。相対位置0については1行0列に
「5」が存在するので、長さカウンタ13をインクリメ
ントして2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ1行1列の
「5」と比較される。これも一致するので、長さカウン
タ13をインクリメントするとともに2行1列の「5」
の隣接する2行2列のデータ「4」が部分列バッファ1
6に取り込まれ1行2列の「5」と比較される。これは
異なるのでこのときまでに一致したデータの数「2」が
2行0列の「5」を先頭画素とする部分列の相対位置0
についての長さL=2となる。Considering a partial column having "5" in the 2nd row and 0th column as the leading pixel in FIG. 4A, since this pixel is the beginning of the line, there is no data at the relative position -1 of the previous line, so the length is L becomes 0. As for the relative position 0, “5” exists in the 1st row and 0th column, so the length counter 13 is incremented and the adjacent 2nd row and 1st column data “5” of 2nd row and 0th column “5” is converted into the partial column buffer. It is taken in 16 and compared with "5" in 1 row and 1 column. Since this is also the same, the length counter 13 is incremented and "5" in 2 rows and 1 column
2 adjacent 2 rows and 2 columns of data “4” is the partial column buffer 1
It is taken into 6 and compared with "5" in 1 row and 2 column. Since this is different, the number of matched data "2" by this time is the relative position 0 of the partial column having "5" in the 2nd row and 0th column as the first pixel.
For L = 2.
【0018】2行0列の「5」を先頭画素とする部分列
については、1行1列に「5」が存在し先頭画素と一致
するので相対位置+1についても隣接画素の比較を行
う。2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ、相対位置+
1の1行2列の「5」と比較される。一致するので順次
右側の画素を取り込み比較を続けると、2行5列の
「3」と1行6列の「1」の比較を行った時に不一致に
なる。従って、このときの長さカウンタ13の値「5」
が2行0列の「5」を先頭画素とする部分列の相対位置
0についての長さL=5となる。As for the partial column in which the first pixel is "5" in the 2nd row and 0th column, "5" exists in the 1st row and 1st column and coincides with the leading pixel, so that the adjacent pixel is also compared at the relative position +1. The adjacent data “5” of 2 rows and 1 column of “5” of 2 rows and 0 column is fetched into the partial column buffer 16 and the relative position +
1 is compared with “5” in the 1st row and the 2nd column. Since they coincide with each other, if the pixels on the right side are sequentially fetched and the comparison is continued, there is a disagreement when the comparison of “3” at 2 rows and 5 columns and “1” at 1 row and 6 columns is performed. Therefore, the value of the length counter 13 at this time is "5".
Is the length L = 5 with respect to the relative position 0 of the partial column having "5" in the 2nd row and 0th column as the leading pixel.
【0019】以上により、2行0列の「5」を先頭画素
とする部分列の長さLとしては、L(相対位置−1)=
0,L(相対位置0)=2,L(相対位置+1)=5の
3つが相対位置・長さバッファに記憶されることにな
る。この中で最長の5を長さLとする部分列を選択す
る。図4(a)の場合、同図(b)に示すように部分列
a(55)は相対位置0の同一部分列を示し、部分列b
(55434)は相対位置+1の同一部分列を示す。部
分列aは長さ2、部分列bは長さ5であるので圧縮効率
の高い部分列bを選択する。As described above, the length L of the partial column having "5" in the second row and the 0th column as the leading pixel is L (relative position -1) =
Three of 0, L (relative position 0) = 2, L (relative position + 1) = 5 will be stored in the relative position / length buffer. Of these, the longest substring whose length L is 5 is selected. In the case of FIG. 4A, as shown in FIG. 4B, the subsequence a (55) indicates the same subsequence at relative position 0, and the subsequence b
(55434) indicates the same partial sequence at relative position +1. Since the subsequence a has a length of 2 and the subsequence b has a length of 5, the subsequence b having high compression efficiency is selected.
【0020】すなわち、処理24に遷移し、相対位置・
長さバッファ14の中に格納されているデータの中で最
長のデータとそれに対する相対位置を符号生成器8に入
力し、符号出力線19を通して、符号を出力する。ま
た、処理23で、相対位置・長さバッファ14に格納さ
れている長さが全て0なら、つまり辞書の中に一致する
部分列が見つからなかったら、処理25に遷移し、ラン
レングス圧縮を行う。尚、ランレングス圧縮については
従来のランレングス圧縮方式と異ならないのでその詳細
な説明は省略する。上記操作を画像データの最終ライン
まで繰り返し、データ圧縮を行い符号化する。That is, the process 24 is entered, and the relative position
The longest data among the data stored in the length buffer 14 and its relative position are input to the code generator 8 and the code is output through the code output line 19. If all the lengths stored in the relative position / length buffer 14 are 0 in process 23, that is, if no matching subsequence is found in the dictionary, the process proceeds to process 25 and run length compression is performed. . The run-length compression is the same as the conventional run-length compression method, and the detailed description thereof will be omitted. The above operation is repeated up to the final line of the image data to perform data compression and encoding.
【0021】次に、図4に示す8×8の画像データのデ
ータ圧縮過程を説明する。各データは4ビットで表現さ
れるものとする。以下では、便宜的に、画像データの座
標を(列,行)、符号化されたコードを、{相対位置,
長さ}あるいは[データの種類,長さ]で表すことにす
る。即ち、中括弧{ }で囲まれている部分は本発明に
よる圧縮がおこなわれている部分であり、鍵括弧[ ]
で囲まれている部分はランレングスによる圧縮が行われ
ている部分を示すことになる。Next, the data compression process of the 8 × 8 image data shown in FIG. 4 will be described. Each data shall be represented by 4 bits. In the following, for convenience, the coordinates of the image data (column, row), the encoded code is {relative position,
Length} or [data type, length]. That is, the portion enclosed by curly brackets {} is the portion where compression according to the present invention is performed, and the key brackets []
The part surrounded by indicates the part where compression by the run length is performed.
【0022】例えば、相対位置が1、長さが3の符号コ
ードは[1,3]、データの種類が5、長さが2の符号
コードは[5,2]となる。また、注目データの座標を
(x,y)とすると、辞書参照範囲を相対位置で(x-1, y-
1)、(x, y-1)、(x+1, y-1)とする。先ず、1ライン目は
参照する辞書が存在しないのでランレングス圧縮を行
う。画像データ(0,0)から(3,0)のデータは2
で同じなので、符号は[2,4]となる。(4,0)の
3は1つだけなので符号は[3,1]となる。(5,
0)から(7,0)のデータは4で同じなので符号は
[4,3]となり、1ライン目の符号は、図5の1ライ
ン目のように、[2,4][3,1][4,3]とな
る。For example, a code code having a relative position of 1 and a length of 3 is [1,3], a code code of data type 5 and a length of 2 is [5,2]. In addition, the coordinates of the data of interest
If (x, y), the dictionary reference range is (x-1, y-
1), (x, y-1), and (x + 1, y-1). First, since there is no dictionary to refer to on the first line, run length compression is performed. Data from image data (0,0) to (3,0) is 2
Since it is the same, the code is [2,4]. Since there is only one 3 in (4, 0), the code is [3, 1]. (5,
Since the data from 0) to (7,0) is the same as 4, the code is [4,3], and the code of the first line is [2,4] [3,1 as shown in the first line of FIG. ] [4, 3].
【0023】2ライン目の処理は、1ライン目を辞書と
して扱う。(0,1)と(0,0)を比較し一致しない
ので、次に(0,1)と(1,0)と比較し、これも一
致しないので、辞書には一致する部分列がないと判断
し、ランレングス圧縮を適用し、(0,1)から(2,
1) が5であるので符号は[5,3]となる。(3,
1)の4は(2,0)、(3,0)、(4,0)と一致
しないので、ランレングス圧縮を適用し、符号は[4,
1]となる。(4,1)の3は(3,0)、(4,
0)、(5,0)の中の(4,0)と一致し、(4,
1)から(5,1)と辞書の(4,0)から(5,0)
が一致するので、符号は{0,2}となる。(6,1)
と(7,1)はそれぞれ辞書のデータと一致しないので
符号は、それぞれ[1,1]、[3,1]となり、2ラ
イン目の符号は、図5の2ライン目のように、[5,
3][4,1]{0,2}[1,1][3,1]とな
る。The processing of the second line handles the first line as a dictionary. Since (0,1) and (0,0) are compared and do not match, the next comparison is made with (0,1) and (1,0), which also does not match, so there is no matching subsequence in the dictionary. Then, run length compression is applied, and (0,1) to (2
Since 1) is 5, the code is [5, 3]. (3,
Since 4 in 1) does not match (2,0), (3,0), (4,0), run length compression is applied and the code is [4
1]. 3 in (4, 1) is (3, 0), (4
0, the same as (4, 0) in (5, 0),
1) to (5,1) and dictionary (4,0) to (5,0)
Match, the code is {0, 2}. (6,1)
Since (7,1) and (7,1) do not match the dictionary data, the codes are [1,1] and [3,1], respectively. 5,
3] [4,1] {0,2} [1,1] [3,1].
【0024】3ライン目の処理は2ライン目を辞書とし
て扱う。(0,2)は相対位置0の辞書(0,1)と相
対位置1の辞書(1,1)と一致するが、相対位置0の
場合は一致する辞書の部分列の長さが(0,1)から
(1,1)と2であるが、相対位置1の場合は一致する
辞書の部分列の長さが(1,1)から(5,1)と5で
あり、相対位置1の辞書の部分列の方が長いので、符号
は{1,5}となり、上記の処理を最終ラインまで繰り
返すと図4の画像データに対して図5の符号列が得られ
る。次に、図5の符号列を図6の符号を用いて実際のコ
ードに割り当ててみる。ランレングス圧縮の場合の符号
は、図6の61のように識別子+データの種類+長さか
ら構成され、例えば、[2,4]は2進数の000101110
となる。辞書圧縮の場合の符号は、図6の62のように
識別子+相対位置+長さから構成され、例えば、{−
1,3}は2進数の11110 となる。但し、1ライン目は
ランレングス圧縮のみなので符号の識別子は取り除く。
図5の符号列を実際の符号に変換した結果が図7にな
り、図4の画像データの容量が256ビットであるのに
対し、図7のデータ容量は、171ビットであり、本発
明のアルゴリズムを用いてもとの画像データの約67%
に圧縮できたことになる。The processing of the third line handles the second line as a dictionary. (0,2) matches the dictionary (0,1) at relative position 0 and the dictionary (1,1) at relative position 1, but in the case of relative position 0, the length of the matching substring is (0 , 1) to (1, 1) and 2, but when the relative position is 1, the lengths of the matching substrings of the dictionary are (1, 1) to (5, 1) and 5, and the relative position 1 Since the partial string of the dictionary is longer, the code is {1, 5}, and when the above process is repeated until the final line, the code string of FIG. 5 is obtained for the image data of FIG. Next, the code string of FIG. 5 is assigned to an actual code by using the code of FIG. The code in the case of run-length compression is composed of an identifier + data type + length, as in 61 of FIG. 6. For example, [2,4] is a binary number 000101110.
Becomes The code in the case of dictionary compression is composed of an identifier + relative position + length, as in 62 of FIG.
1,3} is the binary number 11110. However, since the first line has only run length compression, the code identifier is removed.
The result of converting the code string in FIG. 5 into an actual code is shown in FIG. 7. The image data capacity in FIG. 4 is 256 bits, whereas the data capacity in FIG. 7 is 171 bits. About 67% of the original image data using the algorithm
It means that it was compressed to.
【0025】図8乃至図9を用いて上記の手法で圧縮し
た符号を伸長する手順を示す。図8は伸長回路の構成例
である。図9はデータ伸長アルゴリズムのフローチャー
トである。図8において、29は入力バッファ、30は
識別子バッファ、31はランレングスデコーダ、32は
辞書デコーダ、33と34はセレクタ、35は長さバッ
ファ、36は比較器、37は長さカウンタ、38は加算
器、39は伸長バッファ、40はポインタ、41は辞書
ポインタ、42は辞書バッファ、43は入力信号線、4
4は出力信号線である。A procedure for expanding the code compressed by the above method will be described with reference to FIGS. 8 to 9. FIG. 8 shows a configuration example of the decompression circuit. FIG. 9 is a flowchart of the data decompression algorithm. In FIG. 8, 29 is an input buffer, 30 is an identifier buffer, 31 is a run length decoder, 32 is a dictionary decoder, 33 and 34 are selectors, 35 is a length buffer, 36 is a comparator, 37 is a length counter, and 38 is a length counter. Adder, 39 decompression buffer, 40 pointer, 41 dictionary pointer, 42 dictionary buffer, 43 input signal line, 4
Reference numeral 4 is an output signal line.
【0026】先ず、入力信号線43を通して入力バッフ
ァ29に圧縮されたデータを取り込み、初めの1ビット
を識別子バッファに格納し、処理45でポインタ40及
び長さカウンタ37を0に初期化する。処理46に遷移
し、識別子バッファの内容が1であるなら、後に続くデ
ータは辞書圧縮されたデータなので、辞書デコーダ32
を通し、デコードされた長さの情報を長さバッファに格
納し(処理47)、デコードされた相対位置の情報とポ
インタの内容を加算器38に入力し結果を辞書ポインタ
に格納する(処理48)。処理49に遷移し、辞書ポイ
ンタ41の指す辞書バッファ42のデータをポインタ4
0の指す伸長バッファ39に格納する。辞書ポインタ及
びポインタを1つ進め(処理50、53)、長さカウン
タ37をインクリメントし、長さバッファ35の内容と
比較器36を通して比較する(処理54)。長さバッフ
ァの内容と長さカウンタの内容が一致しないなら(処理
55)、処理56で処理49に遷移し、一致するまで処
理49、50、53、54を順に繰り返し処理する。も
し一致するなら処理45に遷移し、新しい符号を伸長す
る。First, the compressed data is fetched into the input buffer 29 through the input signal line 43, the first 1 bit is stored in the identifier buffer, and the pointer 40 and the length counter 37 are initialized to 0 in a process 45. If the content of the identifier buffer is 1, the process proceeds to step 46, and the data that follows is dictionary-compressed data, so the dictionary decoder 32
Through, the decoded length information is stored in the length buffer (process 47), the decoded relative position information and the contents of the pointer are input to the adder 38, and the result is stored in the dictionary pointer (process 48). ). The process moves to the process 49, and the data of the dictionary buffer 42 pointed to by the dictionary pointer 41 is set to the pointer 4
The data is stored in the decompression buffer 39 indicated by 0. The dictionary pointer and the pointer are incremented by 1 (processes 50 and 53), the length counter 37 is incremented, and the content of the length buffer 35 is compared with the comparator 36 (process 54). If the contents of the length buffer and the contents of the length counter do not match (process 55), the process transitions to process 49 in process 56, and processes 49, 50, 53, and 54 are sequentially repeated until they match. If they match, the process proceeds to step 45 and the new code is expanded.
【0027】処理46で識別子が0の場合は、処理51
に遷移し、長さバッファ35にデコードされた長さを格
納する。次にデータの種類をポインタ40の指す伸長バ
ッファ39に格納する(処理52)。ポインタを1つ進
め(処理53)、長さカウンタ37をインクリメント
し、長さバッファ35の内容と比較器36を通して比較
する(処理54)。長さバッファの内容と長さカウンタ
の内容が一致しないなら(処理55)、処理56で処理
52に遷移し、一致するまで処理52、53、54を順
に繰り返し処理する。上記の処理を最後の符号まで繰り
返す。また、伸長バッファ39に格納したデータが画像
データ1ライン分に達したら、辞書バッファ42に伸長
バッファ39の内容をすべて複写し、辞書バッファの内
容、つまり復元されたデータを出力信号線44を通して
出力する。If the identifier is 0 in step 46, step 51
And the decoded length is stored in the length buffer 35. Next, the type of data is stored in the decompression buffer 39 pointed to by the pointer 40 (process 52). The pointer is incremented by 1 (process 53), the length counter 37 is incremented, and the content of the length buffer 35 is compared with the comparator 36 (process 54). If the contents of the length buffer and the contents of the length counter do not match (process 55), the process shifts to process 52 in process 56, and processes 52, 53, and 54 are repeated in order until they match. The above process is repeated until the last code. When the data stored in the decompression buffer 39 reaches one line of image data, all the contents of the decompression buffer 39 are copied to the dictionary buffer 42, and the contents of the dictionary buffer, that is, the restored data are output through the output signal line 44. To do.
【0028】上記圧縮の実施例では、辞書上に存在する
最長部分列を辞書参照範囲内から検索し、符号化してい
るが、その他にも、最長部分列を複数の部分列に分割し
他の部分列と合成して圧縮する場合や、最長ではない部
分列を組み合わせて圧縮する場合などが考えられる。In the above-described compression embodiment, the longest subsequence existing in the dictionary is searched from the dictionary reference range and coded. However, in addition to this, the longest subsequence is divided into a plurality of subsequences and other subsequences are divided. There may be a case where it is combined with a partial string and compressed, or a case where a partial string that is not the longest is combined and compressed.
【0029】前者の場合、例えば、図4(b)の部分列
bを図4(c)の2つの部分列c「5543」と部分列
d「4」に分割し、部分列d「4」と2行5列の「3」
を合成し部分列e「43」とする。部分列cの符号は
{1,4}、部分列e「43」は1ライン前の1行4列
に続く「43」と一致しているので、符号は{−1,
2}となる。従って、2行目の符号は{1,4}{−
1,2}[5,1][4,1](この符号を符号aとす
る)となる。後者の場合は、例えば、2行0列では相対
位置0の部分列「55」を選択し、2行2列では相対位
置+1の部分列「434」を選択する。これにより、2
行目の符号は、{0,2}{1,3}{−1,1}
[5,1][4,1](この符号を符号bとする)とな
る。In the former case, for example, the partial sequence b of FIG. 4B is divided into two partial sequences c "5543" and partial sequence d "4" of FIG. 4C, and the partial sequence d "4" is obtained. And "3" in 2 rows and 5 columns
Are combined to form a subsequence e “43”. The code of the subsequence c is {1, 4}, and the subsequence e "43" is the same as "43" following the 1st row and the 4th column, so the code is {-1,
2}. Therefore, the code in the second line is {1,4} {-
1,2} [5,1] [4,1] (this code is code a). In the latter case, for example, in the 2nd row and 0th column, the partial column “55” at the relative position 0 is selected, and in the 2nd row and 2nd column, the partial column “434” at the relative position +1 is selected. This gives 2
The code of the line is {0,2} {1,3} {-1,1}
[5, 1] [4, 1] (this code is code b).
【0030】ここで、上記圧縮の実施例で示した図4
(a)の2行目に対する符号が実施例を含め3パターン
できたことになる。図5の2行目の符号を符号cとす
る。これらの符号a、b、cを図6に示した実際の符号
に割り当ててみると、符号a、cが24ビット、符号b
が26ビットとなり、符号a、cの効率が良い。しか
し、図6に示した以外の符号を符号a、b、cに割り当
てた場合は、また違った結果になり、符号bが最短の符
号になる場合も考えられる。従って、辞書上の最長部分
列を検索して符号化することが必ずしも最良ではなく、
実際の符号を割り当てた時に最短になる、辞書上の部分
列の組み合わせを選択したほうが好ましい。Here, FIG. 4 shown in the embodiment of the compression described above.
The code for the second line in (a) has three patterns including the embodiment. The code on the second line in FIG. 5 is code c. When these codes a, b and c are assigned to the actual codes shown in FIG. 6, the codes a and c are 24 bits and the code b is
Is 26 bits, and the efficiency of the codes a and c is good. However, when codes other than those shown in FIG. 6 are assigned to the codes a, b, and c, the result is different, and the code b may be the shortest code. Therefore, it is not always best to search and encode the longest subsequence in the dictionary,
It is preferable to select a combination of subsequences in the dictionary that is the shortest when the actual code is assigned.
【0031】上記のように符号が最短になるように辞書
上の部分列の組み合わせ方を変更しても、符号化のルー
ル(前ラインでの同一部分列の先頭位置と長さを用い
る)が変わらないのであれば、データ伸長方式に影響を
及ぼすことはない。Even if the combination method of the partial strings in the dictionary is changed so that the code becomes the shortest as described above, the coding rule (using the head position and length of the same partial string in the previous line) is If it does not change, it does not affect the data decompression method.
【0032】[0032]
【発明の効果】以上詳細に説明したように、本発明によ
れば、辞書の容量は直前ラインのみを格納すれば良いの
で非常に小さく、類似度の高い範囲内で辞書を参照し、
できるだけ長い部分列を参照するので、圧縮率が高く且
つ圧縮及び伸長を高速に処理することが可能である。画
像データの1ライン目や辞書参照が不可能な部分列にラ
ンレングス圧縮などを適用することで、更に、高い圧縮
率が得られる。As described above in detail, according to the present invention, the capacity of the dictionary is very small because it is necessary to store only the immediately preceding line, and the dictionary is referred to within a range of high similarity.
Since the subsequence as long as possible is referred to, the compression rate is high and the compression and decompression can be processed at high speed. A higher compression rate can be obtained by applying run length compression or the like to the first line of the image data or a partial string for which dictionary reference is not possible.
【図1】2次元画像データ示す説明図である。FIG. 1 is an explanatory diagram showing two-dimensional image data.
【図2】データ圧縮回路の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a data compression circuit.
【図3】データ圧縮の動作を示す流れ図である。FIG. 3 is a flowchart showing an operation of data compression.
【図4】圧縮前の画像データを示す説明図である。FIG. 4 is an explanatory diagram showing image data before compression.
【図5】圧縮後の画像データを示す説明図である。FIG. 5 is an explanatory diagram showing image data after compression.
【図6】実際の符号を表した図である。FIG. 6 is a diagram showing actual codes.
【図7】実際の符号を割り当てた圧縮後の画像データ示
す説明図である。FIG. 7 is an explanatory diagram showing compressed image data to which actual codes are assigned.
【図8】データ伸長回路の構成例を示す図である。FIG. 8 is a diagram showing a configuration example of a data expansion circuit.
【図9】データ伸長の動作を示す流れ図である。FIG. 9 is a flowchart showing the operation of data decompression.
1 辞書 2 圧縮対象部分列 3 辞書上の部分列 4 相対位置 17 ラインバッファ入力信号線 18 辞書バッファ入力信号線 19 符号出力信号線 43 入力信号線 44 出力信号線 1 dictionary 2 compression target partial sequence 3 partial sequence on dictionary 4 relative position 17 line buffer input signal line 18 dictionary buffer input signal line 19 code output signal line 43 input signal line 44 output signal line
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/41 B 1/417 ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI technical display location H04N 1/41 B 1/417
Claims (9)
対して直前ラインのデータを参照しながら直前のライン
と少なくとも1画素分以上同じ部分データ列が存在する
場合に、直前ライン上での部分データ列の位置と長さの
データをその部分データ列のデータとして出力すること
を特徴とするデータ圧縮方式。1. Partial data on the immediately preceding line when there is a partial data sequence that is the same as the immediately preceding line for at least one pixel while referring to the data of the immediately preceding line with respect to sequentially scanned two-dimensional image data. A data compression method characterized in that data of column position and length is output as data of the partial data sequence.
同じ部分データ列が存在する場合に重複する部分のデー
タとして直前ライン上での部分データ列の位置と長さの
情報が順次入力される2次元画像圧縮データの伸長方式
であって、 少なくとも直前ラインのデータを保持し、 入力された圧縮データから前記部分データ列の位置と長
さに関する情報を抽出し、 この情報に基づいて、入力された現ラインのデータに対
して、保持された直前ラインのデータの前記部分データ
列の位置から前記部分データ列の長さ分のデータを抽出
し、伸長データとして出力することを特徴とするデータ
伸長方式。2. Information of the position and length of the partial data string on the immediately preceding line is sequentially input as overlapping data when the same partial data string for at least one pixel as the preceding line exists 2 This is a decompression method for three-dimensional image compressed data, in which at least the data of the immediately preceding line is held, information regarding the position and length of the partial data string is extracted from the input compressed data, and the information is input based on this information. A data decompression method characterized by extracting data corresponding to the length of the partial data string from the position of the partial data string of the data of the immediately preceding line held with respect to the data of the current line and outputting it as decompressed data. .
次元画像データに対して直前ラインのデータを参照しな
がら直前のラインと少なくとも1画素分以上同じ部分デ
ータ列が存在する場合に、直前ライン上での部分データ
列の位置と長さに関する情報をその部分データ列のデー
タとして出力し、 受信側において、少なくとも直前ラインのデータを保持
し、入力された圧縮データから前記部分データ列の位置
と長さに関する情報を抽出し、この情報に基づいて、入
力された現ラインのデータに対して、保持された直前ラ
インのデータの前記部分データ列の位置から前記部分デ
ータ列の長さ分のデータを抽出し、伸長データとして出
力することを特徴とするデータ圧縮・伸長方式。3. The transmission side sequentially scans 2
When there is a partial data string that is the same as the previous line for at least one pixel while referring to the data of the previous line with respect to the dimensional image data, information about the position and length of the partial data string on the previous line is displayed. Output as partial data string data, hold at least the data of the immediately preceding line on the receiving side, extract information about the position and length of the partial data string from the input compressed data, and input based on this information The data of the length of the partial data string is extracted from the position of the partial data string of the data of the immediately preceding line that has been retained, and is output as decompressed data. Compression / expansion method.
タ列の位置に関する情報は、直前ラインの現ラインの圧
縮対象部分データ列からの2次元空間における相対位置
として表わされることを特徴とするデータ圧縮方式。4. The data according to claim 1, wherein the information about the position of the partial data string is represented as a relative position in a two-dimensional space from the compression target partial data string of the current line of the immediately preceding line. Compression method.
囲を現ラインの圧縮対象部分データ列からの距離が予め
定められた画素範囲内に制限されている事を特徴とする
データ圧縮方式。5. The data compression method according to claim 4, wherein the reference range of the immediately preceding line is limited to a pixel range whose distance from the compression target partial data string of the current line is predetermined.
て1ライン前のデータを保持する参照メモリ手段と、 入力された現ラインの信号から、連続する複数のデータ
列を抽出し圧縮対象部分データ列として記憶するバッフ
ァ手段と、 前記参照メモリ手段に記憶されたデータに前記圧縮対象
部分データ列と同じ部分データ列が存在するか否かを検
出する走査比較手段と、 前記走査比較手段によって同じ部分データ列の存在が検
出された場合に、前記参照メモリ手段に記憶された1ラ
イン前のデータ上での前記部分データ列の位置と長さの
データを現ラインのその部分データ列のデータとして出
力する符号生成手段を備えたことを特徴とするデータ圧
縮装置。6. A reference memory means for holding data of one line before for sequentially input two-dimensional image data, and a plurality of continuous data strings are extracted from a signal of the input current line to be compressed. Buffer means for storing as a data string, scan comparing means for detecting whether or not the same partial data string as the compression target partial data string exists in the data stored in the reference memory means, and the same by the scan comparing means When the presence of the partial data string is detected, the position and length data of the partial data string on the data one line before stored in the reference memory means is used as the data of the partial data string of the current line. A data compression apparatus comprising a code generation means for outputting.
前記走査比較手段によって同じデータ列の存在が検出さ
れた場合に、現ラインの信号から抽出するデータのビッ
ト数を順次増加させ、前記走査比較手段によって同じデ
ータ列の存在が検出されなくなるまで繰り返し、 前記符号生成手段は前記走査比較手段によって同じデー
タ列の存在が検出されなくなった時点の前記参照メモリ
手段に記憶された1ライン前のデータ上での前記部分デ
ータ列の位置と長さのデータを現ラインのその部分デー
タ列のデータとして出力することを特徴とするデータ圧
縮装置。7. The scan comparison according to claim 6, wherein the buffer means sequentially increases the number of bits of data extracted from the signal of the current line when the presence of the same data sequence is detected by the scan comparison means. Repeated until the presence of the same data string is no longer detected by the means, and the code generation means applies the data one line before stored in the reference memory means at the time when the presence of the same data string is no longer detected by the scan comparison means. The data compression apparatus outputs the data of the position and length of the partial data string in the above as the data of the partial data string of the current line.
手段は前記参照メモリ手段に記憶された1ライン前のデ
ータの中で現ラインの圧縮対象部分データ列の画素位置
から予め定められた画素範囲内にあるデータを抽出して
比較を行う事を特徴とするデータ圧縮装置。8. The scan comparing means according to claim 6, wherein the scan comparing means has predetermined pixels from the pixel position of the compression target partial data string of the current line in the data of one line before stored in the reference memory means. A data compression device characterized in that data within a range is extracted and compared.
同じ部分データ列が存在する場合に重複する部分のデー
タとして直前ライン上での部分データ列の位置と長さの
情報が順次入力される2次元画像圧縮データの伸長装置
であって、 順次入力される2次元画像データに対して1ライン前の
データを保持するバッファメモリ手段と、 入力された圧縮データから前記部分データ列の位置と長
さに関する情報を抽出する抽出手段と、 この情報に基づいて、入力された現ラインのデータに対
して、前記バッファメモリ手段に保持された直前ライン
のデータの前記部分データ列の位置から前記部分データ
列の長さ分のデータを抽出し、伸長データとして出力す
る復号手段を備えたことを特徴とするデータ伸長装置。9. The position and length information of the partial data string on the immediately preceding line is sequentially input as the data of the overlapping part when the same partial data string for at least one pixel as the preceding line exists 2 A decompression device for three-dimensional image compressed data, comprising buffer memory means for holding data of one line before for sequentially input two-dimensional image data, and position and length of the partial data string from the input compressed data. Extracting means for extracting information on the partial data string from the position of the partial data string of the data of the immediately preceding line held in the buffer memory means on the basis of this information. A data decompression device comprising a decoding means for extracting data corresponding to the length and outputting it as decompressed data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15162494A JPH07336696A (en) | 1994-06-08 | 1994-06-08 | Compressing system and expanding system for two-dimensional image data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15162494A JPH07336696A (en) | 1994-06-08 | 1994-06-08 | Compressing system and expanding system for two-dimensional image data |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07336696A true JPH07336696A (en) | 1995-12-22 |
Family
ID=15522617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15162494A Pending JPH07336696A (en) | 1994-06-08 | 1994-06-08 | Compressing system and expanding system for two-dimensional image data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07336696A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11168389A (en) * | 1997-12-05 | 1999-06-22 | Toshiba Corp | Data compression device |
US6947592B2 (en) | 1997-11-27 | 2005-09-20 | Seiko Epson Corporation | Encoding method of a color image and its encoding device and a decoding method of the color image and its decoding device |
JP2010204602A (en) * | 2009-03-06 | 2010-09-16 | Seiko Epson Corp | Display, electronic equipment and driving code generation circuit |
KR20190085910A (en) * | 2016-11-16 | 2019-07-19 | 시트릭스시스템스,인크. | Multi-Pixel Caching Method for Lossless Encoding |
-
1994
- 1994-06-08 JP JP15162494A patent/JPH07336696A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947592B2 (en) | 1997-11-27 | 2005-09-20 | Seiko Epson Corporation | Encoding method of a color image and its encoding device and a decoding method of the color image and its decoding device |
JPH11168389A (en) * | 1997-12-05 | 1999-06-22 | Toshiba Corp | Data compression device |
JP2010204602A (en) * | 2009-03-06 | 2010-09-16 | Seiko Epson Corp | Display, electronic equipment and driving code generation circuit |
KR20190085910A (en) * | 2016-11-16 | 2019-07-19 | 시트릭스시스템스,인크. | Multi-Pixel Caching Method for Lossless Encoding |
US11190787B2 (en) | 2016-11-16 | 2021-11-30 | Citrix Systems, Inc. | Multi-pixel caching scheme for lossless encoding |
US11653009B2 (en) | 2016-11-16 | 2023-05-16 | Citrix Systems, Inc. | Multi-pixel caching scheme for lossless encoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5883975A (en) | Compression and decompression methods on two-dimensional image data | |
US20010051941A1 (en) | Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data | |
KR101678223B1 (en) | Multimedia signature coding and decoding | |
JPH07283739A (en) | Method and device to compress and extend data of short block | |
JPH0682370B2 (en) | Character processor | |
JP2007508753A (en) | Data compression system and method | |
JP2007508753A5 (en) | ||
US6327383B2 (en) | Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method | |
Rahman et al. | A novel lossless coding technique for image compression | |
WO1999059330A2 (en) | Method and apparatus for decoding jpeg symbols | |
JPH07336696A (en) | Compressing system and expanding system for two-dimensional image data | |
JPH08130652A (en) | Compression and expansion system for two-dimension image data | |
JPH0884260A (en) | Compression system and expansion system for two-dimension image data | |
JP2003264703A (en) | Data encoder, data encoding method and program therefor | |
JP3222633B2 (en) | Information processing device | |
JP3077858B2 (en) | Serial data decoder | |
CN107801031A (en) | A kind of lossless compression-encoding method to pure three primary colors image data | |
JPH0846793A (en) | Compression system and expansion system for two-dimension image data | |
JPH08130651A (en) | Compression and expansion system for two-dimension image data | |
JPH0628149A (en) | Method for compressing plural kinds of data | |
JP3199292B2 (en) | Run-length extraction method, Huffman code conversion method, and MH coding processing method in Huffman code coding | |
US6219445B1 (en) | Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof | |
JPH0723238A (en) | Picture data compression and decoding device | |
JPH0311883A (en) | Decoding system for variable length code, and facsimile equipment and still picture transmission system | |
JPH0883347A (en) | Picture processor |