JPH08116269A - Data processing unit and data processing method - Google Patents

Data processing unit and data processing method

Info

Publication number
JPH08116269A
JPH08116269A JP6251016A JP25101694A JPH08116269A JP H08116269 A JPH08116269 A JP H08116269A JP 6251016 A JP6251016 A JP 6251016A JP 25101694 A JP25101694 A JP 25101694A JP H08116269 A JPH08116269 A JP H08116269A
Authority
JP
Japan
Prior art keywords
data
dictionary
buffer
string
compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6251016A
Other languages
Japanese (ja)
Other versions
JP3242795B2 (en
Inventor
Hitoshi Ono
均 大野
Yuko Abe
優子 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25101694A priority Critical patent/JP3242795B2/en
Priority to US08/505,760 priority patent/US5635932A/en
Publication of JPH08116269A publication Critical patent/JPH08116269A/en
Priority to US08/813,943 priority patent/US5748122A/en
Application granted granted Critical
Publication of JP3242795B2 publication Critical patent/JP3242795B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE: To enhance the data compression rate by not simply sweeping out matched data or data string or the like from a head of a dictionary buffer but devising the slide method of dictionary data, increasing the number of reference dictionaries substantially and utilizing effectively the swept out dictionary data without storing dictionary data in duplicate. CONSTITUTION: This processing unit is provided with a dictionary control means 14, in which dictionary data or a dictionary data string and received compressed data or a compressed data string are compared and when the dictionary data or the dictionary data string and the received compressed data or the compressed data string are equal with each other, the equal dictionary data or dictionary string are swept out from the dictionary buffer, the data written areas of a dictionary buffer 12B from which the dictionary data or the dictionary data string are swept out are unidirectionally packed and equal compressed data or compressed data strings are written as new dictionary data in the dictionary buffer 12B with the data written areas packed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、データ処理装置及びデ
ータ処理方法に関するものであり、更に詳しく言えば、
辞書データと入力データとを比較して一致するデータを
符号化し、逆に、符号化された圧縮データを復号化する
装置及び方法の改善に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device and a data processing method, and more specifically,
The present invention relates to an improvement in an apparatus and method for comparing dictionary data and input data, encoding matching data, and conversely decoding encoded compressed data.

【0002】近年、情報処理装置の高機能化及び多様化
に伴い、膨大な量のデータを格納する磁気ディスク装置
等の記憶装置を使用した装置及びそれらデータを通信回
線を使用して伝送する装置が利用される。このような分
野では、高効率化により利用者のコスト削減を図るべ
く、データ格納に際しては、記憶容量を実質的に増やす
ため、及び、データ転送に際しては、送信時間を短縮す
るために、データを圧縮する装置が使用される。
In recent years, as information processing devices have become more sophisticated and diversified, devices using storage devices such as magnetic disk devices that store enormous amounts of data, and devices that transmit those data using communication lines. Is used. In such a field, in order to reduce the cost of the user by improving efficiency, in order to substantially increase the storage capacity when storing data, and to shorten the transmission time when transferring data, data is stored. A compressing device is used.

【0003】現在の辞書ベースによりデータ圧縮をする
方法は、Lempel Abraham氏とZivJacob氏が1977年に
IEEE Transaction on Information Theory に
発表した論文‘A Universal Algorithm for Seq
uential Data Compression’に見られる。これは、通
称Lempel-Ziv符号化のスライド辞書法又はLZ77法
と言われている。
The current dictionary-based data compression method is described by Lempel Abraham and Ziv Jacob in the paper "A Universal Algorithm for Seq" published in 1977 in IEEE Transaction on Information Theory.
Found in uential Data Compression '. This is commonly called the Lempel-Ziv encoding slide dictionary method or the LZ77 method.

【0004】また、LZ77法に対して2つの大きな変
更を行ったLZSS法がある。これは、Storer 氏とS
zymanski氏が1982年に発表した‘Data Compression
viaTextual Substitution ’に見られ、通称LZS
S(Lempel-Ziv- Storer-Szymanski)法と呼ばれ、
データ検索時の性能改善を行ったものである。しかし、
LZ77法によれば、ひとつの連続したデータ列の符号
化が終わると、次のステップでは符号化したバイト数の
辞書データを辞書バッファの先頭から追い出す方法が採
られる。
Further, there is the LZSS method which has two major modifications to the LZ77 method. This is Storer and S
'Data Compression' announced in 1982 by zymanski
Seen in via Textual Substitution ', commonly known as LZS
It is called the S (Lempel-Ziv- Storer-Szymanski) method,
This is a performance improvement during data retrieval. But,
According to the LZ77 method, when the coding of one continuous data string is completed, the next step is to remove the coded dictionary data of the number of bytes from the head of the dictionary buffer.

【0005】このため、辞書バッファ内に辞書データが
重複して存在したり、過去に一致した実績がある辞書デ
ータでも辞書バッファから必ず追い出される等を原因と
してデータ圧縮率が低下する。そこで、一致したデータ
又はデータ列等を辞書バッファの先頭から単に追い出す
ことなく、辞書データのスライド方法を工夫し、参照辞
書の数を実質的に増やして、重複した辞書データをスト
ックすることなく、追い出された辞書データを有効に利
用すること、及び、データ圧縮率を高めることができる
装置及び方法が望まれている。
For this reason, the data compression rate is lowered due to the fact that the dictionary data is duplicated in the dictionary buffer, or even the dictionary data that has a history of coincidence in the past is always ejected from the dictionary buffer. Therefore, without simply pushing out the matched data or data string from the beginning of the dictionary buffer, the method of sliding the dictionary data is devised, the number of reference dictionaries is substantially increased, and duplicate dictionary data is not stocked. There is a demand for an apparatus and method that can effectively use the expelled dictionary data and increase the data compression rate.

【0006】[0006]

【従来の技術】図12, 13は、従来例に係るデータ圧縮方
法の説明図である。図12(A)は、データ圧縮装置の構
成図であり、図12(B)はデータ圧縮時の状態図であ
る。図13(A)〜(C)は、その問題点を説明する符号
化処理の状態図をそれぞれ示している。
2. Description of the Related Art FIGS. 12 and 13 are explanatory views of a data compression method according to a conventional example. FIG. 12A is a configuration diagram of the data compression device, and FIG. 12B is a state diagram at the time of data compression. 13 (A) to 13 (C) are state diagrams of the encoding process for explaining the problem.

【0007】例えば、LZ77(スライド辞書法)を応
用したデータ圧縮装置は、図12(A)に示すように、原
データファイル1,データ変換装置2及び圧縮データフ
ァイル3から成る。データ変換装置2は入力バッファ2
A,辞書バッファ2B及び中央処理装置(以下CPUと
いう)2Cを有する。LZ77のデータ構造は、図12
(B)に示すように、符号化済みの入力データ列をある
メモリ範囲により構成し、これを辞書バッファ2Bに格
納する。辞書バッファ2Bに格納された辞書データは、
圧縮データ後の辞書として残されることなく、そのまま
圧縮データファイル3に転送される。初期状態の辞書バ
ッファ2Bには、データ構造にあった値が詰められる場
合もある。
For example, a data compression device to which LZ77 (slide dictionary method) is applied comprises an original data file 1, a data conversion device 2 and a compressed data file 3 as shown in FIG. 12 (A). The data converter 2 is the input buffer 2
A, a dictionary buffer 2B, and a central processing unit (hereinafter referred to as CPU) 2C. The data structure of LZ77 is shown in Figure 12.
As shown in (B), the encoded input data string is configured by a certain memory range, and this is stored in the dictionary buffer 2B. The dictionary data stored in the dictionary buffer 2B is
The compressed data is transferred to the compressed data file 3 without being left as a dictionary after the compressed data. The dictionary buffer 2B in the initial state may be filled with a value suitable for the data structure.

【0008】当該装置の機能は、原データファイル1か
ら読み出された原データが入力データDinとして、デー
タ変換装置2の入力バッファ2Aに書き込まれる。次
に、データ検索をするべくCPU2Cにより、バッファ
2Aに書き込まれたデータと、辞書バッファ2Bに格納
された辞書データとが比較される。この辞書データは、
入力データが利用される。一般にデータ検索は、先に格
納されたデータの先頭位置から行い、辞書バッファ2B
内で、最長一致データ列が探索される。
The function of the device is that the original data read from the original data file 1 is written in the input buffer 2A of the data conversion device 2 as the input data Din. Next, the CPU 2C compares the data written in the buffer 2A with the dictionary data stored in the dictionary buffer 2B in order to search for data. This dictionary data is
Input data is used. Generally, data retrieval is performed from the head position of the previously stored data, and the dictionary buffer 2B
The longest matching data string is searched in.

【0009】また、CPU2Cによりデータ比較された
結果、辞書データと入力データとに一致する部分が検索
されると、この最長一致データは符号化されて圧縮さ
れ、この圧縮データDout が、圧縮データファイル3に
格納される。これにより、以前に符号化した入力データ
列を辞書データとして利用し、該辞書データ列と入力デ
ータ列の中の連続データ部分との最長一致を検索し、そ
の一致情報を符号化することができる(LZ77法)。
As a result of the data comparison by the CPU 2C, when a portion matching the dictionary data and the input data is searched, the longest matching data is encoded and compressed, and this compressed data Dout is a compressed data file. 3 is stored. Thus, the previously encoded input data string can be used as dictionary data, the longest match between the dictionary data string and the continuous data portion in the input data string can be searched, and the match information can be encoded. (LZ77 method).

【0010】つまり、LZ77法は、あるメモリ範囲に
よって画定される入力バッファ2Aと辞書バッファ2B
内のデータ列で同じデータ部分を探し、この同じデータ
部分を圧縮する方法である。このときの最長一致データ
は、図12(B)に示すように、辞書バッファ2Bと入力
バッファ2A内で、両データが一致し始める一致開始位
置(アドレス又はオフセット)から、連続して両データ
が一致しなくなるまでのデータの最大の長さ(通常はバ
イト数で表す)を以て定義される。辞書データは、入力
バッファ2A内で一致した直後のデータが辞書バッファ
2Bに転送される。
That is, the LZ77 method is based on the input buffer 2A and the dictionary buffer 2B defined by a certain memory range.
This is a method of searching for the same data part in the data string in and compressing this same data part. The longest match data at this time is, as shown in FIG. 12B, that both data are consecutively stored in the dictionary buffer 2B and the input buffer 2A from a match start position (address or offset) at which both data start to match. It is defined by the maximum length of the data before it no longer matches (usually expressed in bytes). As the dictionary data, the data immediately after being matched in the input buffer 2A is transferred to the dictionary buffer 2B.

【0011】具体的には、図12(B)において、一致開
始位置が「2」であり、最長一致データ=u,i,m,
a,dが「5」バイトである。入力バッファ2A内に
は、当該一致データ=u,i,m,a,dに連続する次
のデータ=fが存在する。ひとつの連続したデータ列=
u,i,m,a,dの符号化が終わると、図12(C)に
示すように、次のステップとして、一致したデータ列=
5バイトと、次のデータ=1バイト分に相当する6バイ
トの辞書データ=a,n,u,i,m,aが辞書バッフ
ァ2Bの先頭から追い出され、その後、この追い出され
た6バイト分のデータを補充するべく、入力バッファ2
Aから辞書バッファ2Bに辞書データとして、6バイト
のデータ=u,i,m,a,d,fが補充される。この
ように見かけ上、辞書バッファ2Bの窓が移動したよう
に見えることから、スライド辞書法と呼ばれる。
Specifically, in FIG. 12B, the match start position is "2", and the longest match data = u, i, m,
a and d are "5" bytes. In the input buffer 2A, the following data = f continuous with the matching data = u, i, m, a, d exists. One continuous data string =
When the encoding of u, i, m, a, and d is completed, as shown in FIG.
5 bytes and 6 bytes of dictionary data = a, n, u, i, m, a corresponding to the next data = 1 byte are flushed from the head of the dictionary buffer 2B, and then the flushed 6 bytes Input buffer 2 to replenish the data of
6 bytes of data = u, i, m, a, d, f are supplemented as dictionary data from A to the dictionary buffer 2B. Since the window of the dictionary buffer 2B appears to have moved in this way, it is called the slide dictionary method.

【0012】[0012]

【発明が解決しようとする課題】ところで、従来例によ
れば、図12(B)に示すように、ひとつの連続したデー
タ列=u,i,m,a,dの符号化が終わると、次のス
テップとして、一致したデータ列=5バイトと、次のデ
ータ=1バイト分に相当する6バイトの辞書データ=
a,n,u,i,m,aが辞書バッファ2Bの先頭から
追い出される(LZ77法のスライド辞書法)。このた
め、次のような問題がある。
By the way, according to the conventional example, as shown in FIG. 12 (B), when the coding of one continuous data string = u, i, m, a, d ends, As the next step, the matched data string = 5 bytes, and the next data = 6 bytes of dictionary data corresponding to 1 byte =
a, n, u, i, m, a are expelled from the head of the dictionary buffer 2B (slide dictionary method of LZ77 method). Therefore, there are the following problems.

【0013】 辞書バッファ2B内で同じ辞書データ
が重複して存在する可能性があり、データ圧縮率が低下
する。例えば、図13(A)に示すような符号化前のデー
タ検索状態で、データ列「a,b,c」が一致したとす
ると、LZ77法の変形型では、図13(B)に示すよう
に、無条件に辞書バッファ2Bの先頭から一致したデー
タ列のバイト数,例えば、3バイトだけ、辞書データ=
「x,y,z」が追い出される。このため、図13(C)
に示すような符号化後の状態では、辞書バッファ2Bに
データ列「a,b,c」が重複して残ることになる。
The same dictionary data may be duplicated in the dictionary buffer 2B, and the data compression rate is reduced. For example, if the data strings “a, b, c” match in the data retrieval state before encoding as shown in FIG. 13 (A), the modified LZ77 method is as shown in FIG. 13 (B). In addition, the number of bytes of the data string matched from the beginning of the dictionary buffer 2B unconditionally, for example, only 3 bytes, dictionary data =
"X, y, z" are kicked out. Therefore, Fig. 13 (C)
In the state after encoding as shown in, the data string "a, b, c" remains in the dictionary buffer 2B in an overlapping manner.

【0014】 また、データ圧縮率を上げるために
は、辞書バッファ2Bのメモリ領域を拡張し、検索範囲
を拡張することが考えられる。しかし、一般に、辞書バ
ッファ2Bのサイズを大きくした場合には、多くの検索
時間を要する。また、サイズを広げると、符号化するデ
ータに関し、位置情報のデータ長を拡張する必要があ
る。更に、この方式では、過去に一致した実績がある辞
書データでも辞書バッファ2Bから必ず追い出される。
In order to increase the data compression rate, it is possible to expand the memory area of the dictionary buffer 2B and expand the search range. However, in general, when the size of the dictionary buffer 2B is increased, much search time is required. Further, if the size is increased, it is necessary to extend the data length of the position information regarding the data to be encoded. Further, in this method, even dictionary data having a past coincident record is always expelled from the dictionary buffer 2B.

【0015】本発明は、かかる従来例の問題点に鑑み創
作されたものであり、一致したデータ又はデータ列等を
辞書バッファの先頭から単に追い出すことなく、辞書デ
ータのスライド方法を工夫し、参照辞書の数を実質的に
増やして、重複した辞書データをストックすることな
く、追い出された辞書データを有効に利用すること、及
び、データ圧縮率を高めることが可能となるデータ処理
装置及びデータ処理方法の提供を目的とする。
The present invention was created in view of the problems of the conventional example, and devises a method for sliding dictionary data without simply pushing out the matched data or data string from the beginning of the dictionary buffer, and makes reference. A data processing device and a data processing capable of effectively increasing the number of dictionaries and effectively using the expelled dictionary data without stocking duplicate dictionary data and increasing the data compression rate. The purpose is to provide a method.

【0016】[0016]

【課題を解決するための手段】図1〜11は、本発明に係
るデータ処理装置及びデータ処理方法の一実施例を示し
ている。第1のデータ処理装置は、図1に示すように、
被圧縮データを利用した辞書データ又は辞書データ列を
格納する辞書バッファを備え、順次、入力される被圧縮
データとを比較して一致する辞書データ又は辞書データ
列を符号化し、逆に、符号化された圧縮データを復号化
するときに、前記辞書データ又は辞書データ列と、入力
された前記被圧縮データ又は被圧縮データ列とを比較し
て前記辞書データ又は辞書データ列と前記被圧縮データ
又は被圧縮データ列とが一致した場合に、前記一致した
部分の辞書データ又は辞書データ列を辞書バッファ12B
から追い出し、前記辞書データ又は辞書データ列が追い
出された辞書バッファ12Bのデータ書込み範囲を一方向
に詰め、前記データ書込み範囲が詰められた辞書バッフ
ァ12Bに前記一致した被圧縮データ又は被圧縮データ列
を新たな辞書データとして書き込む辞書制御手段14が
設けられることを特徴とする。
1 to 11 show an embodiment of a data processing apparatus and a data processing method according to the present invention. The first data processing device, as shown in FIG.
Equipped with a dictionary buffer that stores dictionary data or a dictionary data string that uses compressed data, sequentially compares the input compressed data and encodes the matching dictionary data or dictionary data string, and vice versa. When decoding the compressed data that has been compressed, the dictionary data or dictionary data string is compared with the input compressed data or compressed data string and the dictionary data or dictionary data string and the compressed data or When the compressed data string matches, the dictionary data or dictionary data string of the matched part is stored in the dictionary buffer 12B.
The data write range of the dictionary buffer 12B from which the dictionary data or the dictionary data string has been flushed is packed in one direction, and the matched compressed data or compressed data string is stored in the dictionary buffer 12B filled with the data write range. Is provided as dictionary control means 14 for writing as new dictionary data.

【0017】本発明の第2のデータ処理装置は、図1に
示すように、前記辞書バッファ12Bから追い出されたデ
ータ又は辞書データ列を記憶する補助辞書バッファ12C
が設けられることを特徴とする。本発明の第3のデータ
処理装置は、図1に示すように、前記被圧縮データの中
で予め調査された出現頻度の高い固定データ又は固定デ
ータ列を辞書データとして書き込んだ固定辞書バッファ
12Dが設けられることを特徴とする。
The second data processing apparatus of the present invention, as shown in FIG. 1, is an auxiliary dictionary buffer 12C for storing the data or dictionary data string that has been expelled from the dictionary buffer 12B.
Is provided. As shown in FIG. 1, the third data processing device of the present invention is a fixed dictionary buffer in which fixed data or fixed data sequence having a high frequency of appearance, which has been investigated in advance in the compressed data, is written as dictionary data.
12D is provided.

【0018】本発明の第4のデータ処理装置は、図10
(A)に示すように、前記辞書バッファ12Bが、被圧縮
データを辞書データとして書き込むメモリ領域を非終端
ループ状に接続した環状構造を有することを特徴とす
る。本発明の第1のデータ処理方法は、被圧縮データを
利用した辞書データ又は辞書データ列と、順次、入力さ
れる被圧縮データとを比較して一致するデータ又はデー
タ列を符号化し、逆に、符号化された圧縮データを復号
化するときに、図3の処理フローチャートのステップP
3で前記辞書データ又は辞書データ列と、入力された前
記被圧縮データ又は被圧縮データ列とを比較して、その
後、ステップP4で前記辞書データ又は辞書データ列と
前記被圧縮データ又は被圧縮データ列とが一致した場合
に、ステップP8で前記一致した部分の辞書データ又は
辞書データ列を辞書のデータ書込み範囲から追い出し、
前記データ又はデータ列が追い出された辞書のデータ書
込み範囲を一方向に詰め、前記データ書込み範囲が詰め
られた辞書に前記一致した被圧縮データ又は被圧縮デー
タ列を新たな辞書データとして書き込むことを特徴とす
る。
The fourth data processing apparatus of the present invention is shown in FIG.
As shown in (A), the dictionary buffer 12B has a ring structure in which memory areas for writing compressed data as dictionary data are connected in a non-terminal loop. A first data processing method of the present invention compares dictionary data or a dictionary data string using compressed data with sequentially input compressed data and encodes a matching data or data string, and vice versa. , Step P of the process flowchart of FIG. 3 when decoding the encoded compressed data
In 3, the dictionary data or dictionary data string is compared with the input compressed data or compressed data string, and then in step P4 the dictionary data or dictionary data string and the compressed data or compressed data If the columns match, in step P8, the dictionary data or dictionary data string of the matched portion is expelled from the data writing range of the dictionary,
The data writing range of the dictionary from which the data or data string is ejected is packed in one direction, and the matching compressed data or compressed data string is written as new dictionary data in the dictionary whose data writing range is packed. Characterize.

【0019】本発明の第2のデータ処理方法は、前記辞
書データ又は辞書データ列と、入力された前記被圧縮デ
ータ又は被圧縮データ列とを比較する際に、図7の処理
フローチャートのステップP2で前記辞書バッファ12B
から追い出されたデータ又は辞書データ列を参照するこ
とを特徴とする。本発明の第3のデータ処理方法は、前
記辞書データ又は辞書データ列と、入力された前記被圧
縮データ又は被圧縮データ列とを比較する際に、図9
(B)の処理フローチャートのステップP3で前記被圧
縮データの中で予め調査された出現頻度の高い固定デー
タ又は固定データ列を参照することを特徴とする。
The second data processing method of the present invention, when comparing the dictionary data or dictionary data string with the input compressed data or compressed data string, step P2 of the processing flowchart of FIG. And the dictionary buffer 12B
It is characterized in that it refers to the data or dictionary data string that has been evicted from. A third data processing method according to the present invention, when comparing the dictionary data or dictionary data string with the input compressed data or compressed data string,
In step P3 of the processing flowchart of (B), the fixed data or the fixed data sequence having a high appearance frequency that is previously investigated in the compressed data is referred to.

【0020】本発明の第4のデータ処理方法は、前記辞
書データ又は辞書データ列と、入力された前記被圧縮デ
ータ又は被圧縮データ列とを比較する際に、図11(B)
に示すように、前記辞書データ又は辞書データ列が書き
込まれた辞書用のメモリ領域に連続する入力用のメモリ
領域に書き込まれた被圧縮データ又は被圧縮データ列を
辞書データ又は辞書データ列として見なすことを特徴と
し、上記目的を達成する。
A fourth data processing method according to the present invention is shown in FIG. 11B when comparing the dictionary data or dictionary data string with the input compressed data or compressed data string.
As shown in, the compressed data or the compressed data string written in the input memory area consecutive to the dictionary memory area in which the dictionary data or the dictionary data string is written is regarded as the dictionary data or the dictionary data string. The above-mentioned object is achieved.

【0021】[0021]

【作用】次に、図1を参照しながら本発明の第1のデー
タ処理装置の動作を説明をする。図1において、あるメ
モリ範囲で被圧縮データが入力バッファ12Aに入力さ
れ、辞書データが辞書バッファ12Bに書き込まれると、
この辞書データ又は辞書データ列と、入力された被圧縮
データ又は被圧縮データ列とが辞書制御手段14により
比較され、その結果、辞書データ又は辞書データ列と被
圧縮データ又は被圧縮データ列とが一致した場合には、
一致した部分の辞書データ又は辞書データ列が辞書制御
手段14により、辞書バッファ12Bから追い出される。
Next, the operation of the first data processing apparatus of the present invention will be described with reference to FIG. In FIG. 1, when the compressed data is input to the input buffer 12A and the dictionary data is written to the dictionary buffer 12B within a certain memory range,
This dictionary data or dictionary data string and the input compressed data or compressed data string are compared by the dictionary control means 14, and as a result, the dictionary data or dictionary data string and the compressed data or compressed data string are If they match,
The dictionary data or the dictionary data string of the matched portion is expelled from the dictionary buffer 12B by the dictionary control means 14.

【0022】この辞書データ又は辞書データ列が追い出
された辞書バッファ12Bのデータ書込み範囲は、一方向
(先頭方向)に詰められ、このデータ書込み範囲が詰め
られた辞書バッファ12Bに、入力バッファ12Aからの一
致した被圧縮データ又は被圧縮データ列が新たな辞書デ
ータとして書き込まれる(第1のデータ処理方法)。こ
のため、一致したデータ又はデータ列に重複した辞書デ
ータ又は辞書データ列が、辞書バッファ12Bのデータ書
込み範囲から外部等に追い出されるため、従来例のよう
に、当該一致データに関係しないデータを単に辞書バッ
ファ12Bの先頭から追い出すことが無くなる。すなわ
ち、重複した辞書データを辞書バッファ12Bに格納する
ことが無くなる。
The data writing range of the dictionary buffer 12B from which this dictionary data or dictionary data string has been flushed is packed in one direction (head direction), and the dictionary buffer 12B packed with this data writing range is input from the input buffer 12A. The compressed data or the compressed data string that coincides with is written as new dictionary data (first data processing method). Therefore, since the dictionary data or the dictionary data string that overlaps the matched data or the data string is driven out of the data writing range of the dictionary buffer 12B to the outside or the like, data that is not related to the matched data is merely There is no need to push out from the beginning of the dictionary buffer 12B. That is, it is not necessary to store the duplicate dictionary data in the dictionary buffer 12B.

【0023】これにより、常に、異なった種類の辞書デ
ータを辞書バッファ12Bに格納することができ、従来例
に比べて辞書バッファ12Bの冗長性が少なくなり、デー
タ圧縮率を高めることが可能となる。本発明の第2のデ
ータ処理装置によれば、図1に示すように補助辞書バッ
ファ12Cが設けられ、辞書バッファ12Bから追い出され
たデータ又は辞書データ列が当該バッファ12Cに記憶さ
れる。
As a result, different types of dictionary data can always be stored in the dictionary buffer 12B, the redundancy of the dictionary buffer 12B is reduced as compared with the conventional example, and the data compression rate can be increased. . According to the second data processing apparatus of the present invention, the auxiliary dictionary buffer 12C is provided as shown in FIG. 1, and the data or dictionary data string displaced from the dictionary buffer 12B is stored in the buffer 12C.

【0024】このため、辞書バッファ12Bのメモリ容量
を変えずに、過去に一致した実績がある辞書データ又は
辞書データ列を補助辞書バッファ12Cに記憶すること
で、参照できる辞書の数を実質的に増やすことができ
る。辞書バッファ12B内に辞書データが無い場合に補助
辞書バッファ12Cを参照できる。すなわち、図7の処理
フローチャートに示すように、ステップP2で辞書バッ
ファ12Bから追い出されたデータ又は辞書データ列を参
照しながら、辞書データ又は辞書データ列と、入力され
た被圧縮データ又は被圧縮データ列とを比較することが
でき、原データのまま不一致として符号化されていたデ
ータを圧縮する確率を向上させることが可能となる(第
2のデータ処理方法)。
Therefore, the number of dictionaries that can be referred to is substantially reduced by storing the dictionary data or the dictionary data string having the past matching record in the auxiliary dictionary buffer 12C without changing the memory capacity of the dictionary buffer 12B. You can increase. The auxiliary dictionary buffer 12C can be referred to when there is no dictionary data in the dictionary buffer 12B. That is, as shown in the processing flowchart of FIG. 7, the dictionary data or the dictionary data string and the input compressed data or the compressed data are referred to while referring to the data or the dictionary data string expelled from the dictionary buffer 12B in step P2. The columns can be compared with each other, and it is possible to improve the probability of compressing data that has been encoded as inconsistent as the original data (second data processing method).

【0025】これにより、辞書バッファ12Bから追い出
された辞書データを有効に利用することができ、辞書バ
ッファ12B及び補助辞書バッファ12Cを併用した移動窓
によるデータ圧縮をすることが可能となる。本発明の第
3のデータ処理装置によれば、図1に示すように、固定
辞書バッファ12Dが設けられ、被圧縮データの中で予め
調査された出現頻度の高い固定データ又は固定データ列
が辞書データとして当該バッファ12Dに書き込まれる。
As a result, the dictionary data expelled from the dictionary buffer 12B can be effectively used, and the data compression can be performed by the moving window using the dictionary buffer 12B and the auxiliary dictionary buffer 12C together. According to the third data processing device of the present invention, as shown in FIG. 1, the fixed dictionary buffer 12D is provided, and the fixed data or fixed data string having a high appearance frequency, which has been investigated in advance in the compressed data, is stored in the dictionary. The data is written in the buffer 12D.

【0026】このため、固定辞書バッファ12D内に出現
頻度の高いとして登録された辞書データと、被圧縮デー
タの中の固定データ又は固定データ列とが比較されるこ
とから、データ検索速度の高速化を図ることが可能とな
る。すなわち、図9(B)の処理フローチャートに示す
ように、ステップP3で被圧縮データの中で予め調査さ
れた出現頻度の高い固定データ又は固定データ列を参照
しながら、辞書データ又は辞書データ列と、入力された
被圧縮データ又は被圧縮データ列とを比較することがで
きる(本発明の第3のデータ処理方法)。
Therefore, the dictionary data registered in the fixed dictionary buffer 12D as having a high appearance frequency is compared with the fixed data or the fixed data string in the compressed data, so that the data retrieval speed is increased. Can be achieved. That is, as shown in the processing flow chart of FIG. 9B, the dictionary data or the dictionary data string is referred to while referring to the fixed data or the fixed data string having a high appearance frequency that has been investigated in advance in the compressed data in step P3. , It is possible to compare the input compressed data or the compressed data string (the third data processing method of the present invention).

【0027】これにより、データ検索が従来例に比べて
早くなることから、データ圧縮処理の高速化を図ること
が可能となる。本発明の第4のデータ処理装置によれ
ば、図10(A)に示すような環状構造を有する辞書バッ
ファ12Bが設けられる。このため、非終端ループ状に接
続されたメモリ領域に、以前に符号化した入力データ列
を辞書データとして書込むことができ、参照できる辞書
の数を実質的に増やすことができる。
As a result, the data retrieval becomes faster than in the conventional example, and the data compression processing can be speeded up. According to the fourth data processing apparatus of the present invention, the dictionary buffer 12B having a ring structure as shown in FIG. 10 (A) is provided. Therefore, the previously encoded input data string can be written as dictionary data in the memory areas connected in a non-terminal loop, and the number of dictionaries that can be referred to can be substantially increased.

【0028】これを利用して、入力データ列の中の連続
した部分との最長一致を検索し、その一致情報を符号化
することができ、第1の装置の辞書バッファ12Bを拡張
した移動窓によりデータを圧縮することが可能となる。
本発明の第4のデータ処理方法によれば、図11(B)に
示すように、辞書用のメモリ領域に連続する入力用のメ
モリ領域に書き込まれた被圧縮データ又は被圧縮データ
列が辞書データ又は辞書データ列として見なされる。
Utilizing this, the longest match with a continuous portion in the input data string can be searched and the match information can be encoded, and the moving window in which the dictionary buffer 12B of the first device is extended is searched. This makes it possible to compress the data.
According to the fourth data processing method of the present invention, as shown in FIG. 11B, the compressed data or the compressed data string written in the input memory area continuous to the dictionary memory area is the dictionary. It is regarded as data or a dictionary data string.

【0029】このため、参照できる辞書データの数を実
質的に増やすことができ、辞書データ又は辞書データ列
を入力用のメモリ領域に拡張して、一致するデータ又は
データ列を検索することができる。これにより、入力用
のメモリ領域の被圧縮データ又は被圧縮データ列同士を
比較することが可能となり、データ検索が従来例に比べ
て早くなることから、データ圧縮処理の高速化を図るこ
とが可能となる。
Therefore, the number of dictionary data that can be referred to can be substantially increased, and the dictionary data or the dictionary data string can be expanded to the input memory area to search for the matching data or data string. . As a result, it becomes possible to compare compressed data or compressed data strings in the input memory area, and the data search becomes faster than in the conventional example, so that it is possible to speed up the data compression process. Becomes

【0030】[0030]

【実施例】次に、図を参照しながら本発明の各実施例に
ついて説明をする。図1〜11は本発明の実施例に係るデ
ータ処理装置及びデータ処理方法を説明する図である。 (1)第1の実施例の説明 図1は、本発明の各実施例に係るデータ処理装置の構成
図であり、図2は第1の実施例に係るデータ圧縮時の辞
書バッファの説明図である。図3は、データの圧縮フロ
ーチャートであり、図4は、各実施例に係るデータ圧縮
時の符号化処理の説明図である。図5はデータの復元フ
ローチャートをそれぞれ示している。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, each embodiment of the present invention will be described with reference to the drawings. 1 to 11 are diagrams illustrating a data processing device and a data processing method according to an embodiment of the present invention. (1) Description of First Embodiment FIG. 1 is a configuration diagram of a data processing device according to each embodiment of the present invention, and FIG. 2 is an explanatory diagram of a dictionary buffer during data compression according to the first embodiment. Is. FIG. 3 is a data compression flowchart, and FIG. 4 is an explanatory diagram of encoding processing at the time of data compression according to each embodiment. FIG. 5 shows a data restoration flowchart.

【0031】例えば、本発明の第1〜第3の装置を組み
合わせたデータ圧縮又は復元装置は、図1(A)に示す
ように、原データファイル11,メモリ12,EPRO
M13,辞書制御手段(以下CPUという)14,キー
ボード15,ディスプレイ16及び圧縮データファイル
17から成る。すなわち、原データファイル11は圧縮
時又は復元時の原データを格納するメモリである。当該
ファイル11には磁気ディスク装置や半導体メモリ装置
を用いる。メモリ12は圧縮時に、辞書データ及び被圧
縮データを一時記憶するものである。例えば、メモリ1
2は入力バッファ12A,辞書バッファ12B,補助辞書バ
ッファ12C及び固定辞書バッファ12Dから成る。メモリ
12には随時書込み/読出し可能なメモリを用いる。
For example, as shown in FIG. 1A, a data compression or decompression device in which the first to third devices of the present invention are combined is an original data file 11, a memory 12 and an EPRO.
An M13, a dictionary control means (hereinafter referred to as CPU) 14, a keyboard 15, a display 16 and a compressed data file 17. That is, the original data file 11 is a memory that stores original data at the time of compression or decompression. A magnetic disk device or a semiconductor memory device is used for the file 11. The memory 12 temporarily stores dictionary data and compressed data during compression. For example, memory 1
2 comprises an input buffer 12A, a dictionary buffer 12B, an auxiliary dictionary buffer 12C and a fixed dictionary buffer 12D. A memory that can be written / read at any time is used as the memory 12.

【0032】入力バッファ12Aは被圧縮データを一時記
憶する。辞書バッファ12Bは、被圧縮データを利用した
辞書データを記憶する。補助辞書バッファ(以下一致辞
書バッファともいう)12Cは辞書バッファ12Bから追い
出されたデータ又は辞書データ列を記憶するものであ
る。一致辞書バッファ12Cは、本発明の第2の実施例に
おいて使用する(第2の装置)。
The input buffer 12A temporarily stores the compressed data. The dictionary buffer 12B stores dictionary data using the compressed data. The auxiliary dictionary buffer (hereinafter also referred to as the matching dictionary buffer) 12C stores the data or the dictionary data string displaced from the dictionary buffer 12B. The matching dictionary buffer 12C is used in the second embodiment of the present invention (second device).

【0033】固定辞書バッファ12Dは、被圧縮データの
中で予め調査された出現頻度の高い固定データ又は固定
データ列を辞書データとして書き込むものである。固定
辞書バッファ12Dは本発明の第3の実施例で使用する
(第3の装置)。なお、メモリ12はデータ復元時に
は、辞書データ,辞書データ列又は被復元データ,被復
元データ列を一時記憶する。
The fixed dictionary buffer 12D is a buffer for writing fixed data or a fixed data string having a high frequency of appearance, which has been investigated in advance in the compressed data, as dictionary data. The fixed dictionary buffer 12D is used in the third embodiment of the present invention (third device). The memory 12 temporarily stores the dictionary data, the dictionary data string or the restored data, and the restored data string when the data is restored.

【0034】EPROM13は、各実施例で使用する制
御アルゴリズムを格納するプログラム可能な読出し専用
メモリである。例えば、第1の実施例では図3に示すよ
うなデータ圧縮アルゴリズムや図5に示すようなデータ
復元アルゴリズムが格納される。第2の実施例では、図
7に示すような一致辞書の作成アルゴリズムや図8に示
すようなデータ復元アルゴリズムが格納される。第3の
実施例では、図9(B)に示すようなデータ圧縮アルゴ
リズムや図9(C)に示すようなデータ復元アルゴリズ
ムが格納される。この制御アルゴリズムの具体的な内容
については各実施例において説明をする。
The EPROM 13 is a programmable read-only memory that stores the control algorithm used in each embodiment. For example, in the first embodiment, the data compression algorithm as shown in FIG. 3 and the data decompression algorithm as shown in FIG. 5 are stored. In the second embodiment, a matching dictionary creation algorithm as shown in FIG. 7 and a data restoration algorithm as shown in FIG. 8 are stored. In the third embodiment, a data compression algorithm as shown in FIG. 9B and a data decompression algorithm as shown in FIG. 9C are stored. The specific contents of this control algorithm will be described in each embodiment.

【0035】CPU14は辞書制御手段の一例であり、
入力バッファ12A,辞書バッファ12B,補助辞書バッフ
ァ12C及び固定辞書バッファ12Dの入出力を制御する。
例えば、CPU14は辞書バッファ12B内の辞書データ
又は辞書データ列と、入力バッファ12Aに順次,入力さ
れた被圧縮データ又は被圧縮データ列とを比較する。こ
の結果、CPU14は、辞書データ又は辞書データ列と
被圧縮データ又は被圧縮データ列とが一致した場合に、
一致した部分の辞書データ又は辞書データ列を辞書バッ
ファ12Bから追い出す。
The CPU 14 is an example of dictionary control means,
The input / output of the input buffer 12A, the dictionary buffer 12B, the auxiliary dictionary buffer 12C, and the fixed dictionary buffer 12D is controlled.
For example, the CPU 14 compares the dictionary data or the dictionary data string in the dictionary buffer 12B with the compressed data or the compressed data string sequentially input to the input buffer 12A. As a result, when the dictionary data or the dictionary data string matches the compressed data or the compressed data string, the CPU 14
The dictionary data or the dictionary data string of the matched portion is expelled from the dictionary buffer 12B.

【0036】その後、CPU14は、辞書データ又は辞
書データ列が追い出された辞書バッファ12Bのデータ書
込み範囲を一方向に詰め、データ書込み範囲が詰められ
た辞書バッファ12Bに一致した被圧縮データ又は被圧縮
データ列を新たな辞書データとして書き込む。キーボー
ド15は出現頻度の高い固定データ等を制御文にして入
力するツールである。ディスプレイ16はキーボード1
5やCPU14の入出力を補助するツールである。圧縮
データファイル17は、圧縮時又は復元時の圧縮データ
を格納するメモリである。当該ファイル17にはファイ
ル11と同様な磁気ディスク装置や半導体メモリ装置を
用いる。
Thereafter, the CPU 14 unidirectionally packs the data writing range of the dictionary buffer 12B from which the dictionary data or the dictionary data string has been driven out, and the compressed data or the compressed data that matches the dictionary buffer 12B whose data writing range is packed. Write the data string as new dictionary data. The keyboard 15 is a tool for inputting fixed data or the like having a high appearance frequency as a control statement. The display 16 is the keyboard 1
5 and the CPU 14 are tools for assisting input / output. The compressed data file 17 is a memory that stores compressed data at the time of compression or restoration. For the file 17, a magnetic disk device or a semiconductor memory device similar to the file 11 is used.

【0037】これにより、当該装置が構成され、被圧縮
データを利用した辞書データ又は辞書データ列と、順
次、入力される被圧縮データとを比較して一致するデー
タ又はデータ列を符号化し、逆に、符号化された圧縮デ
ータを復号化することができる。次に、本発明の第1の
実施例に係るデータ圧縮方法について、図3の処理フロ
ーチャートを参照しながら当該装置の動作を説明する。
図3は、本発明の第1の実施例に係るデータの圧縮フロ
ーチャートであり、図1に示したEPROM13に格納
された制御アルゴリズムを成す。
Thus, the apparatus is configured, and the dictionary data or the dictionary data string using the compressed data is sequentially compared with the input compressed data, and the matching data or data string is encoded, and the inverse data is encoded. In addition, the encoded compressed data can be decoded. Next, regarding the data compression method according to the first embodiment of the present invention, the operation of the apparatus will be described with reference to the processing flowchart of FIG.
FIG. 3 is a data compression flowchart according to the first embodiment of the present invention, which constitutes a control algorithm stored in the EPROM 13 shown in FIG.

【0038】例えば、被圧縮データを利用した辞書デー
タ又は辞書データ列と、順次、入力される被圧縮データ
とを比較して一致するデータ又はデータ列を符号化する
場合、図3のフローチャートにおいて、まず、ステップ
P1で辞書バッファ12Bを初期化する。この際に初期化
によって、辞書バッファ12B内部が、データ=「零」の
状態となる。
For example, when the dictionary data or the dictionary data string using the compressed data is compared with the sequentially input compressed data to encode the matching data or data string, in the flowchart of FIG. First, in step P1, the dictionary buffer 12B is initialized. At this time, due to the initialization, the inside of the dictionary buffer 12B becomes the state of data = “zero”.

【0039】次に、ステップP2で原データ列をファイ
ル11から入力バッファ12Aに読み込む。この際に、符
号化されていないデータを入力バッファ12Aの先頭位置
に移動する。例えば、図2(A)に示すように、数バイ
トの被圧縮データDin=a,b,c,x,y,z,r,
e,w…が入力バッファ12Aに入力される。入力バッフ
ァ12Aからの被圧縮データDinは辞書バッファ12Bにシ
フトされ、その結果、nバイトの辞書データ=x,y,
z,d,g,k,g…a,b,c,uが辞書バッファ12
Bに書き込まれる。
Next, in step P2, the original data string is read from the file 11 into the input buffer 12A. At this time, the uncoded data is moved to the head position of the input buffer 12A. For example, as shown in FIG. 2 (A), several bytes of compressed data Din = a, b, c, x, y, z, r,
e, w ... Are input to the input buffer 12A. The compressed data Din from the input buffer 12A is shifted to the dictionary buffer 12B, and as a result, n bytes of dictionary data = x, y,
z, d, g, k, g ... A, b, c, u are dictionary buffers 12
Written to B.

【0040】次いで、ステップP3で辞書バッファ12B
内に一致するデータ列が有るか否かを検索する。例え
ば、CPU14により辞書バッファ12B内に格納された
辞書データ列=a,b,cと、入力バッファ12Aの被圧
縮データ列=a,b,cとが比較される。その後、ステ
ップP4で辞書データ列と被圧縮データ列とが一致した
か否かを判断する。この際に、一致データ列が有る場合
(YES)には、ステップP5に移行する。また、一致デ
ータ列が無い場合(NO)には、ステップP6に移行し
て原データをそのまま符号化し、ステップP7に移行す
る。
Next, in step P3, the dictionary buffer 12B
It is searched whether there is a matching data string in. For example, the CPU 14 compares the dictionary data string = a, b, c stored in the dictionary buffer 12B with the compressed data string = a, b, c in the input buffer 12A. Then, in step P4, it is determined whether or not the dictionary data string and the compressed data string match. At this time, if there is a matching data string (YES), the process proceeds to step P5. If there is no matching data string (NO), the process proceeds to step P6, the original data is encoded as it is, and the process proceeds to step P7.

【0041】ステップP4では辞書データ列=被圧縮デ
ータ列=a,b,cとなることから、一致データ列が有
ると判断され、ステップP5で一致情報を符号化する。
具体的には、一致データの位置情報,その長さ情報等を
符号化する。この際の符号化については、図4において
説明をする。その後、ステップP7では符号化した圧縮
データをファイル17に格納する。
In step P4, since the dictionary data string = compressed data string = a, b, c, it is judged that there is a matching data string, and the matching information is encoded in step P5.
Specifically, the position information of the matching data, its length information, etc. are encoded. The encoding at this time will be described with reference to FIG. Then, in step P7, the encoded compressed data is stored in the file 17.

【0042】次いで、ステップP8で符号化した入力デ
ータ列を辞書バッファ12Bに移動する。この際に、CP
U14は、図2(B)に示すように、一致した部分(重
複する部分)の辞書データ列=a,b,cを辞書バッフ
ァ12Bのデータ書込み範囲から追い出し、このデータ列
が追い出された辞書バッファ12Bのデータ書込み範囲を
先頭方向に詰める。具体的には、図2(A)において、
辞書バッファ12Bの格納位置0から右にあるデータ列が
左にシフトされる。
Then, the input data string encoded in step P8 is moved to the dictionary buffer 12B. At this time, CP
As shown in FIG. 2B, U14 pushes out the dictionary data string = a, b, c of the matched portion (overlapping portion) from the data writing range of the dictionary buffer 12B, and the dictionary in which this data row is pushed out. The data writing range of the buffer 12B is reduced toward the head. Specifically, in FIG. 2 (A),
The data string on the right from the storage position 0 of the dictionary buffer 12B is shifted to the left.

【0043】また、CPU14は、図2(B)に示すよ
うに、入力バッファ12Aからデータ書込み範囲が詰めら
れた辞書バッファ12Bに、一致した被圧縮データ列=
a,b,cを新たな辞書データとして書き込む。このと
き、従来例と異なり、辞書バッファ12Bの先頭位置に格
納されたx,y,zは、図2(C)に示すように、その
まま辞書データとして残留し、入力バッファ12Aからの
新たな辞書データとして被圧縮データ列=a,b,cが
辞書バッファ12Bの最後部に格納される。この結果、先
頭データ列=x,y,zが追い出されずに済むことにな
り、次の段階の辞書データとして使用される。
Further, as shown in FIG. 2B, the CPU 14 matches the compressed data string in the dictionary buffer 12B in which the data write range is filled from the input buffer 12A =
Write a, b, and c as new dictionary data. At this time, unlike the conventional example, x, y, z stored at the head position of the dictionary buffer 12B remain as dictionary data as they are, as shown in FIG. 2C, and a new dictionary from the input buffer 12A is used. As data, the compressed data string = a, b, c is stored in the last part of the dictionary buffer 12B. As a result, the first data string = x, y, z does not have to be expelled, and is used as dictionary data for the next stage.

【0044】その後、ステップP9で原データを全て圧
縮したか否かを判断する。この際に、原データを全て圧
縮した場合(YES)には、第1の実施例に係る制御アル
ゴリズムを終了し、原データを全て圧縮していない場合
(NO)には、ステップP2に戻って、原データ列をフ
ァイル11から入力バッファ12Aに読み込み、以下のス
テップを継続する。
Then, in step P9, it is determined whether or not all the original data has been compressed. At this time, when all the original data are compressed (YES), the control algorithm according to the first embodiment is ended, and when all the original data are not compressed (NO), the process returns to step P2. , The original data string is read from the file 11 into the input buffer 12A, and the following steps are continued.

【0045】これにより、被圧縮データを利用した辞書
データ列と、順次、入力される被圧縮データとを比較し
て一致するデータ列を符号化することができる。ここ
で、具体的な符号化の方法を説明する。本発明の実施例
では、圧縮率を上げるために、LZSS法を改良する。
なお、データ圧縮率は〔原データ/圧縮データ〕×100
%で表される。
Thus, the dictionary data string using the compressed data and the input compressed data can be sequentially compared and the matching data string can be encoded. Here, a specific encoding method will be described. In the embodiment of the present invention, the LZSS method is improved in order to increase the compression rate.
The data compression rate is [original data / compressed data] x 100
It is expressed in%.

【0046】本発明の第1の実施例で検索された一致デ
ータを図4(A)に示すように圧縮データに変換する際
に、検索したデータの位置情報及び一致したデータの長
さを導入する。一般に、辞書バッファ12Bの最後部と、
入力バッファ12Aの先頭位置近傍でデータが一致する場
合(以下近傍一致という)が多いことを利用して、圧縮
データの先頭部に識別子を設け、データ検索した位置情
報を付加する。この際の位置情報には、短い位置情報値
として「0」が書き込まれ、長い位置情報値として
「1」が書き込まれる。
When the matching data searched in the first embodiment of the present invention is converted into compressed data as shown in FIG. 4A, the position information of the searched data and the length of the matched data are introduced. To do. Generally, at the end of the dictionary buffer 12B,
Utilizing the fact that there are many cases where data match near the beginning position of the input buffer 12A (hereinafter referred to as neighborhood matching), an identifier is provided at the beginning of the compressed data, and the position information for data retrieval is added. In the position information at this time, "0" is written as a short position information value and "1" is written as a long position information value.

【0047】例えば、図4(A)は、辞書バッファ12B
の大きさが2KBの場合の位置情報を圧縮データに付加
したデータフォーマットを示している。図4(A)にお
いて、本発明の実施例では、データ長が7ビット(0〜
63)の場合に、短い位置情報値として「0」が書き込
まれ、データ長が12ビット(0〜2047)の場合
に、長い位置情報値として「1」が書き込まれる。な
お、実際には、近傍一致をどの範囲に設定するか、ある
いは、複数の位置情報の刻みを設けるなど、被圧縮デー
タの種類に最も適した調整を行う必要がある。
For example, FIG. 4A shows the dictionary buffer 12B.
Shows the data format in which the position information in the case of the size of 2 KB is added to the compressed data. In FIG. 4A, in the embodiment of the present invention, the data length is 7 bits (0 to 0).
In the case of 63), "0" is written as the short position information value, and when the data length is 12 bits (0 to 2047), "1" is written as the long position information value. In practice, it is necessary to make adjustments that are most suitable for the type of data to be compressed, such as in what range the neighborhood match is set, or by providing a plurality of position information increments.

【0048】また、一致したバイト数を符号化する場合
に、出現頻度の高い符号を短い長さのビットで表す。こ
れは、一般に短いビット長さでの一致データが多いこと
に着目して、短い一致データ数に対して短い符号を割当
てることにより、データの長さについての符号化を考慮
したものである。このためには、図4(B)に示すよう
な符号木を用いる。図4(B)の符号木において、短い
位置情報値に「0」が書き込まれる場合として、=
「0,0」や=「0,1」が対象となり、これは図4
(C)に示すように、2バイト一致や3バイト一致を意
味する。図4(C)は符号木から構成される圧縮データ
の長さと対応ビット列の関係を示したものである。
When the number of matching bytes is encoded, a code having a high appearance frequency is represented by a bit having a short length. This is in consideration of encoding about the length of data by allocating a short code to the number of short matching data, paying attention to the fact that there are generally many matching data with a short bit length. For this purpose, a code tree as shown in FIG. 4 (B) is used. In the code tree of FIG. 4B, when “0” is written in the short position information value,
“0,0” and = “0,1” are the targets, which is shown in FIG.
As shown in (C), it means 2-byte match or 3-byte match. FIG. 4C shows the relationship between the length of compressed data composed of a code tree and the corresponding bit string.

【0049】また、図4(B)において、長い位置情報
値に「1」が書き込まれる場合として、=「1,0,
0」,=「1,0,1」,=1,1,0,0」,
=「1,1,0,1」,=「1,1,1,0,0」及
び=「1,1,1,0,1」が対象となり、これは図
4(C)に示すように、それぞれ4〜9バイト一致をそ
れぞれ意味する。
Further, in FIG. 4B, when "1" is written in the long position information value, "= 1, 0,
0 ”, =“ 1,0,1 ”, = 1,1,0,0”,
= “1,1,0,1”, = “1,1,1,0,0” and = “1,1,1,0,1” are targets, which are as shown in FIG. And 4 to 9 bytes match, respectively.

【0050】この手法は、出現確率の高いデータに対し
て、少ないビット数を割当てることにより、出現確率の
低いデータに異なるビット数を割当てた場合でも、一意
に復号化できるShannon- Fano 符号化又はHuffman符
号化として知られた方法である。なお、何バイト一致が
多いか否かは、被圧縮データの種類によって異なるので
調整を行う必要がある。
In this method, by assigning a small number of bits to data with a high appearance probability, even if different numbers of bits are assigned to data with a low appearance probability, Shannon-Fano encoding or This is a method known as Huffman coding. It should be noted that it is necessary to make adjustments because how many bytes coincide with each other differ depending on the type of compressed data.

【0051】次に、本発明の第1の実施例に係る圧縮デ
ータの復元処理について説明をする。例えば、圧縮デー
タを利用した辞書データ又は辞書データ列と、順次、入
力される被復号データとを比較して一致するデータ又は
データ列を復号化する場合、図5の復号フローチャート
において、まず、ステップP1で辞書バッファ12Bを初
期化する。次に、ステップP2で圧縮データをファイル
17から入力バッファ12Aに読み込む。この際に、復号
化されていないデータを入力バッファ12Aの先頭位置に
移動する。
Next, the compressed data decompression process according to the first embodiment of the present invention will be described. For example, when decoding the matching data or data string by sequentially comparing the dictionary data or dictionary data string using compressed data with the input decoded data, in the decoding flowchart of FIG. The dictionary buffer 12B is initialized at P1. Next, in step P2, the compressed data is read from the file 17 into the input buffer 12A. At this time, the undecoded data is moved to the head position of the input buffer 12A.

【0052】次いで、ステップP3で復号化情報を解析
し、原データに戻す。例えば、CPU14により辞書バ
ッファ12B内に格納された辞書データ列と、入力バッフ
ァ12Aの被復号データ列とが比較される。その後、ステ
ップP4では復号化した原データをファイル11に格納
する。次に、ステップP5で復号化した入力データ列を
辞書バッファ12Bに移動する。この際に、CPU14
は、一致した部分(重複する部分)の辞書データ列を辞
書バッファ12Bのデータ書込み範囲から追い出し、この
データ列が追い出された辞書バッファ12Bのデータ書込
み範囲を先頭方向に詰める。
Next, in step P3, the decrypted information is analyzed and returned to the original data. For example, the CPU 14 compares the dictionary data string stored in the dictionary buffer 12B with the decoded data string in the input buffer 12A. Then, in step P4, the decrypted original data is stored in the file 11. Next, the input data string decoded in step P5 is moved to the dictionary buffer 12B. At this time, the CPU 14
Removes the dictionary data string of the matched portion (overlapped portion) from the data writing range of the dictionary buffer 12B, and closes the data writing range of the dictionary buffer 12B from which this data string is ejected in the head direction.

【0053】また、CPU14は、入力バッファ12Aか
らデータ書込み範囲が詰められた辞書バッファ12Bに、
一致した被復号データ列を新たな辞書データとして書き
込む。その後、ステップP6で圧縮データを全て復元し
たか否かを判断する。この際に、圧縮データを全て圧縮
した場合(YES)には、制御アルゴリズムを終了し、圧
縮データを全て圧縮していない場合(NO)には、ステ
ップP2に戻って、被復号データ列をファイル17から
入力バッファ12Aに読み込み、以下のステップを継続す
る。
Further, the CPU 14 transfers data from the input buffer 12A to the dictionary buffer 12B filled with the data writing range.
The matched decoded data string is written as new dictionary data. Then, in step P6, it is determined whether or not all the compressed data has been restored. At this time, if all the compressed data have been compressed (YES), the control algorithm ends, and if all the compressed data have not been compressed (NO), the process returns to step P2 and the decoded data string is stored in the file. Read from 17 into the input buffer 12A and continue the following steps.

【0054】これにより、被復元データを利用した辞書
データ列と、順次、入力される被復元データとを比較し
て一致するデータ列を復号化することができる。このよ
うにして、本発明の第1の実施例に係るデータ処理装置
によれば、図1に示すように、辞書データ列と被圧縮デ
ータ列とを比較して両データ列が一致した場合に、その
一致した部分の辞書データ列を辞書バッファ12Bから追
い出し、データ書込み範囲を一方向に詰めた辞書バッフ
ァ12Bに一致した被圧縮データ列を新たな辞書データと
して書き込むCPU14が設けられる。
Thus, the dictionary data string using the restored data and the input restored data can be sequentially compared and the matching data string can be decoded. In this way, according to the data processing apparatus in the first embodiment of the present invention, as shown in FIG. 1, when the dictionary data string and the compressed data string are compared and both data strings match, A CPU 14 is provided which drives out the dictionary data string of the matched portion from the dictionary buffer 12B, and writes the compressed data string matched to the dictionary buffer 12B in which the data writing range is narrowed in one direction as new dictionary data.

【0055】このため、入力データ列に重複した辞書バ
ッファ12B内の辞書データ列が、そのデータ書込み範囲
から外部等に追い出される。すなわち、図2(A)に示
したような符号化前のデータ検索状態で、データ列
「a,b,c」が一致したとすると、本発明の実施例で
は、図2(B)に示すように、辞書バッファ12Bのデー
タ書込み範囲の辞書データ=「a,b,c」=3バイト
が追い出される。
Therefore, the dictionary data string in the dictionary buffer 12B overlapping the input data string is expelled from the data writing range to the outside or the like. That is, assuming that the data strings "a, b, c" match in the data search state before encoding as shown in FIG. 2A, the embodiment of the present invention shows the same as shown in FIG. 2B. Thus, the dictionary data of the data writing range of the dictionary buffer 12B = “a, b, c” = 3 bytes is expelled.

【0056】この結果、従来例のように、当該一致デー
タに関係しない辞書バッファ12Bの先頭位置に格納され
たデータ「x,y,z」を単に辞書バッファ12Bから追
い出すことが無くなる。これにより、図2(C)に示す
ような符号化後の状態では、辞書バッファ12Bにデータ
列「a,b,c」が重複して残ることが無くなる。一般
に、辞書データを増加すると、辞書バッファ自体の大き
さが増加し、圧縮率は低下するが、本発明の実施例で
は、辞書データの数は実質増えても、辞書バッファ自体
のメモリ容量、及び、圧縮後の符号ビットを増加しない
ところに大きな特長がある。
As a result, unlike the conventional example, the data "x, y, z" stored at the head position of the dictionary buffer 12B, which is not related to the matching data, is not simply expelled from the dictionary buffer 12B. As a result, in the state after encoding as shown in FIG. 2C, the data strings "a, b, c" do not remain in the dictionary buffer 12B in an overlapping manner. Generally, when the dictionary data increases, the size of the dictionary buffer itself increases and the compression rate decreases. However, in the embodiment of the present invention, even if the number of dictionary data substantially increases, the memory capacity of the dictionary buffer itself, and The major feature is that the code bit after compression is not increased.

【0057】また、本発明の実施例では、常に、異なっ
た種類の辞書データを辞書バッファ12Bに格納すること
ができ、従来例に比べて辞書バッファ12Bの冗長性が少
なくなり、データ圧縮率を高めることが可能となる。 (2)第2の実施例の説明 図6は、本発明の第2の実施例に係るデータ処理装置の
説明図であり、図6(A)は、その一致辞書バッファの
説明図である。図6(B)は、一致データの符号化の説
明図であり、図6(C)は、一致データの検索範囲の説
明図をそれぞれ示している。
In the embodiment of the present invention, different types of dictionary data can always be stored in the dictionary buffer 12B, the redundancy of the dictionary buffer 12B is reduced as compared with the conventional example, and the data compression rate is reduced. It is possible to raise it. (2) Description of Second Embodiment FIG. 6 is an explanatory diagram of a data processing device according to a second embodiment of the present invention, and FIG. 6A is an explanatory diagram of the matching dictionary buffer thereof. FIG. 6B is an explanatory diagram of the encoding of the matching data, and FIG. 6C is an explanatory diagram of the search range of the matching data.

【0058】第2の実施例では第1の実施例と異なり、
辞書データ列と被圧縮データ列とを比較する際に、辞書
バッファ12Bから追い出された辞書データ列を参照する
ものである。すなわち、本発明の第2のデータ処理装置
では、図1に示したように、辞書バッファ12Bから追い
出されたデータ又は辞書データ列を記憶する一致辞書バ
ッファ12Cを使用する。一致辞書バッファ12Cは、例え
ば、図6(A)に示すように、あるメモリ容量を有する
環状構造のバッファを用いる。環状構造のバッファにつ
いては、本発明の第4の実施例において詳述する。
In the second embodiment, unlike the first embodiment,
When comparing the dictionary data sequence and the compressed data sequence, the dictionary data sequence expelled from the dictionary buffer 12B is referred to. That is, in the second data processing device of the present invention, as shown in FIG. 1, the matching dictionary buffer 12C that stores the data or the dictionary data string that is expelled from the dictionary buffer 12B is used. As the match dictionary buffer 12C, for example, as shown in FIG. 6A, a buffer having a ring structure having a certain memory capacity is used. The circular structure buffer will be described in detail in the fourth embodiment of the present invention.

【0059】この一致辞書バッファ12Cは、先に辞書バ
ッファ12Bから追い出された古いデータ上に、新しく辞
書バッファ12Bから追い出されたデータを,順次、上書
きするものである。このような方式に対して、参照頻度
をカウントし、参照頻度の低いものを上書きしても良
い。これにより、処理速度を犠牲にしても圧縮率を上げ
たい場合等に効果的である。
The coincident dictionary buffer 12C sequentially overwrites the old data, which has been previously expelled from the dictionary buffer 12B, with the data, which has been newly expelled from the dictionary buffer 12B. For such a method, the reference frequency may be counted and the reference frequency may be overwritten. This is effective when it is desired to increase the compression rate even if the processing speed is sacrificed.

【0060】一致辞書バッファ12Cには参照ポインタ及
び格納ポインタが設定される。参照ポインタは、一致辞
書バッファ12Cを参照する位置を示す。格納ポインタは
辞書バッファ12Bから追い出された現在の辞書データを
格納する位置を示す。参照ポインタは格納ポインタの前
に設置する。これは、辞書バッファ12Bから追い出され
た最も新しい辞書データを検索するためである。
A reference pointer and a storage pointer are set in the matching dictionary buffer 12C. The reference pointer indicates the position where the matching dictionary buffer 12C is referenced. The storage pointer indicates the position for storing the current dictionary data that has been flushed from the dictionary buffer 12B. The reference pointer is placed before the storage pointer. This is to retrieve the newest dictionary data that has been expelled from the dictionary buffer 12B.

【0061】一致辞書バッファ12Cは辞書バッファ12B
よりもメモリ容量を大きめに採り、一致辞書バッファ12
Cの辞書データと辞書バッファ12Bの辞書データとが、
重複しないようにする。これは、辞書バッファ12Bから
追い出された一致データ列が、入力バッファ12Aから移
動してくるので、一致したデータ列が直ぐには辞書バッ
ファ12Bから無くならないからである。
The matching dictionary buffer 12C is the dictionary buffer 12B.
Uses a larger memory capacity than the matching dictionary buffer 12
The dictionary data of C and the dictionary data of the dictionary buffer 12B are
Avoid duplication. This is because the matched data string displaced from the dictionary buffer 12B moves from the input buffer 12A, so that the matched data string does not disappear from the dictionary buffer 12B immediately.

【0062】なお、図6(A)において、網かけ部分
は、一致辞書バッファ12C内で辞書データを検索する範
囲を示している。この検索範囲は被圧縮データの符号化
によって制限されるが、本発明の実施例では、2バイト
一致が最も多い被圧縮データファイルを想定している。
従って、一致辞書バッファ12Cは2バイト一致のデータ
のみを格納する構造を採っている。
In FIG. 6A, the shaded area indicates the range in which the dictionary data is searched in the matching dictionary buffer 12C. Although this search range is limited by the encoding of the compressed data, the embodiment of the present invention assumes a compressed data file with the largest number of 2-byte matches.
Therefore, the match dictionary buffer 12C has a structure for storing only 2-byte match data.

【0063】図6(B)は、一致辞書バッファ12Cの大
きさが2KBの場合の位置情報を圧縮データに付加した
データフォーマットを示している。図6(B)におい
て、本発明の第1の実施例と同様に、データ長が12ビ
ット(0〜2047)の場合に、長い位置情報値として
「1」が書き込まれる。なお、実際には、近傍一致をど
の範囲に設定するか、あるいは、複数の位置情報の刻み
を設けるなど、被圧縮データの種類に最も適した調整を
行う必要がある。この条件の中で、符号ビットを増加さ
せずに、一致辞書バッファ12Cとの対応付けをしたの
が、本発明の特徴である。
FIG. 6B shows a data format in which the position information when the size of the matching dictionary buffer 12C is 2 KB is added to the compressed data. In FIG. 6B, similar to the first embodiment of the present invention, when the data length is 12 bits (0 to 2047), “1” is written as the long position information value. In practice, it is necessary to make adjustments that are most suitable for the type of data to be compressed, such as in what range the neighborhood match is set, or by providing a plurality of position information increments. Under this condition, the correspondence with the matching dictionary buffer 12C is made without increasing the sign bit, which is a feature of the present invention.

【0064】具体的には、図6(B)に示すように長い
位置情報の中で、短い位置情報の値、この場合、0〜1
27と重複している部分を割当てている。つまり、0〜
127の値は、短い位置情報で符号化されるため、長い
位置情報では出現しない。このことに着目したものであ
る。例えば、一致辞書の1番目には、1ビットの識別子
=「1」と、11ビットの符号語「000 0000
0000」とが書き込まれ、一致辞書の2番目には、1
ビットの識別子=「1」と、11ビットの符号語「00
0 0000 0001」とが書き込まれ、同様に、一
致辞書の3番目には、1ビットの識別子=「1」と、1
1ビットの符号語「000 00000010」とが書
き込まれる。
Specifically, as shown in FIG. 6B, the value of the short position information in the long position information, 0 to 1 in this case.
The portion overlapping 27 is assigned. That is, 0
The value of 127 does not appear in long position information because it is encoded with short position information. This is the focus of attention. For example, the first in the matching dictionary is a 1-bit identifier = "1" and an 11-bit codeword "000 0000.
"0000" is written, and the second in the matching dictionary is 1
Bit identifier = "1" and 11-bit codeword "00
0 0000 0001 ”is written, and similarly, in the third position of the matching dictionary, 1-bit identifier =“ 1 ”and 1
The 1-bit codeword “000 00000010” is written.

【0065】具体例としては、先に説明した図12(C)
の符号化後の入力バッファ2Aのデータ「r,e」と図
6(A)の一致辞書バッファ12Cの2番目の「r,e」
とが一致した場合、符号語「1 000 0000 0
001」のビット列が生成されることになる。この場合
に、長さは固定としているため、長さの符号は生成しな
いものとする。つまり、全体の識別ビットも含めて、合
計13ビットとなるため、原データのまま不一致となっ
た場合の2バイト(16ビット)よりも3ビット圧縮さ
れる。
As a concrete example, FIG. 12C described above is used.
Data "r, e" in the input buffer 2A after the encoding of "2" and the second "r, e" in the matching dictionary buffer 12C in FIG. 6A.
, And the code word “1000 0000 0
A bit string of "001" will be generated. In this case, since the length is fixed, the length code is not generated. That is, since the total identification bit is 13 bits including the entire identification bit, it is compressed by 3 bits rather than 2 bytes (16 bits) when the original data does not match.

【0066】このように図6(B)の例では、一致辞書
バッファ12Cは128個分の辞書データを持つことがで
きる。なお、可能な限り、辞書バッファ12Bからはみ出
した辞書データを検索可能とするために、一致辞書バッ
ファ12Cの大きさを,例えば、図6(C)に示すよう
に、256ビット分持つ。これを検索する場合、現在の
格納ポイントから常に、128ビットより前で検索す
る。
As described above, in the example of FIG. 6B, the matching dictionary buffer 12C can hold 128 dictionary data. It should be noted that the size of the matching dictionary buffer 12C has 256 bits, for example, as shown in FIG. 6C, in order to search the dictionary data that extends from the dictionary buffer 12B as much as possible. When searching for this, always search earlier than 128 bits from the current storage point.

【0067】これにより、実質的に辞書データ数が増加
し、一致辞書バッファ12Cを併用した移動窓によるデー
タ圧縮をすることができる。次に、本発明の第2の実施
例に係るデータ処理方法について、図7の処理フローチ
ャートを参照しながら当該装置の動作を説明する。図7
は、本発明の第2の実施例に係る一致辞書の生成フロー
チャートであり、図1に示したEPROM13に格納さ
れた制御アルゴリズムを成す。
As a result, the number of dictionary data is substantially increased, and it is possible to perform data compression by the moving window together with the matching dictionary buffer 12C. Next, regarding the data processing method according to the second embodiment of the present invention, the operation of the apparatus will be described with reference to the processing flowchart of FIG. Figure 7
2 is a flowchart for generating a matching dictionary according to the second embodiment of the present invention, which constitutes a control algorithm stored in the EPROM 13 shown in FIG.

【0068】例えば、辞書バッファ12Bから追い出され
た辞書データを利用して、一致辞書を作成する場合、図
7のフローチャートにおいて、まず、ステップP1で辞
書バッファ12B内に一致するデータ部分が有ったか否か
を判断する。この際に、一致部分が有った場合(YES)
には、ステップP3に移行する。また、一致部分が無か
った場合(NO)には、ステップP2に移行して一致辞
書バッファ12C内を検索し、その後、一致辞書の生成を
行わずに終了する。
For example, in the case of creating a matching dictionary using the dictionary data expelled from the dictionary buffer 12B, in the flowchart of FIG. 7, first, in step P1, was there a matching data portion in the dictionary buffer 12B? Determine whether or not. If there is a match at this time (YES)
For that, the process proceeds to step P3. If there is no matching portion (NO), the process moves to step P2 to search the matching dictionary buffer 12C, and then the processing ends without generating the matching dictionary.

【0069】ステップP1で一致部分が有った場合(Y
ES)には、ステップP3で2バイト一致か否か判断す
る。この際に、2バイト一致の場合(YES)には、ステ
ップP4に移行する。また、2バイト一致ではない場合
(NO)には、一致辞書の生成を行わずに終了する。ス
テップP3で2バイト一致の場合(YES)には、ステッ
プP4で一致辞書バッファ12C内に同じ辞書データが有
るか否か判断する。この際に、同じ辞書データが有る場
合(YES)には、一致辞書の生成を行わずに終了する。
When there is a coincident portion in step P1 (Y
For ES), it is determined in step P3 whether the two bytes match. At this time, if the two bytes match (YES), the process proceeds to step P4. If the two-byte match is not found (NO), the process ends without generating the match dictionary. If there is a match of 2 bytes in step P3 (YES), it is determined in step P4 whether the same dictionary data exists in the matching dictionary buffer 12C. At this time, if the same dictionary data exists (YES), the process ends without generating the matching dictionary.

【0070】ステップP4で一致辞書バッファ12C内に
同じ辞書データが無い場合(NO)には、ステップP5
に移行して、辞書バッファ12Bから追い出された辞書デ
ータを一致辞書バッファ12Cに格納する。その後、ステ
ップP6に移行して格納ポインタを次のビットに進め、
終了をする。これにより、辞書バッファ12Bから追い出
された辞書データを利用して、一致辞書を作成すること
ができ、辞書データ列と、入力された被圧縮データ列と
を比較する際に、辞書バッファ12Bから追い出された辞
書データ列を参照することができる。
If there is no same dictionary data in the matching dictionary buffer 12C in step P4 (NO), step P5
Then, the dictionary data expelled from the dictionary buffer 12B is stored in the matching dictionary buffer 12C. After that, the process proceeds to step P6 to advance the storage pointer to the next bit,
To finish. As a result, a matching dictionary can be created using the dictionary data that has been expelled from the dictionary buffer 12B, and when the dictionary data string is compared with the input compressed data string, it will be expelled from the dictionary buffer 12B. It is possible to refer to the dictionary data string that has been created.

【0071】次に、本発明の第2の実施例に係る圧縮デ
ータの復元処理について説明をする。図8は、本発明の
第2の実施例に係る圧縮データの復元フローチャートで
あり、図1に示したEPROM13に格納された制御ア
ルゴリズムを成す。例えば、一致辞書バッファ12Cの辞
書データを参照しながら、被復号データを復号化する場
合、まず、ステップP1で一致辞書バッファ12C内に参
照符号が有るか否かを判断する。この際に、参照符号が
有った場合(YES)には、ステップP2に移行して一致
辞書バッファ12C内を参照し被復元データを復号化す
る。その後、一致辞書の生成を行わずに終了する。
Next, the compressed data decompression process according to the second embodiment of the present invention will be described. FIG. 8 is a flowchart for decompressing compressed data according to the second embodiment of the present invention, which constitutes the control algorithm stored in the EPROM 13 shown in FIG. For example, when decoding the data to be decoded while referring to the dictionary data in the matching dictionary buffer 12C, first, in step P1, it is determined whether or not there is a reference code in the matching dictionary buffer 12C. At this time, if there is a reference code (YES), the process moves to step P2 to refer to the matching dictionary buffer 12C and decode the restored data. After that, the process ends without generating the matching dictionary.

【0072】ステップP1で参照符号が無かった場合
(NO)には、ステップP3で2バイト一致か否か判断
する。この際に、2バイト一致の場合(YES)には、ス
テップP4に移行する。また、2バイト一致ではない場
合(NO)には、ステップP7に移行して一致辞書の生
成を行わずに通常の符号化処理を実行し、その後、終了
する。
If there is no reference code in step P1 (NO), it is determined in step P3 whether the two bytes match. At this time, if the two bytes match (YES), the process proceeds to step P4. If the two-byte match is not obtained (NO), the process proceeds to step P7, the normal encoding process is executed without generating the match dictionary, and then the process ends.

【0073】ステップP3で2バイト一致の場合(YE
S)には、ステップP4で一致辞書バッファ12C内に同
じ辞書データが有るか否か判断する。この際に、同じ辞
書データが有る場合(YES)には、ステップP7に移行
して一致辞書の生成を行わずに通常の符号化処理を実行
し、その後、終了する。ステップP4で一致辞書バッフ
ァ12C内に同じ辞書データが無い場合(NO)には、ス
テップP5に移行して、辞書バッファ12Bから追い出さ
れた辞書データを一致辞書バッファ12Cに格納する。そ
の後、ステップP6に移行して格納ポインタを次のビッ
トに進め、さらに、ステップP7に移行して一致辞書の
生成を行わずに通常の符号化処理を実行し、その後、終
了する。
If two bytes match in step P3 (YE
In step S4, it is determined whether or not the same dictionary data exists in the matching dictionary buffer 12C in step P4. At this time, if the same dictionary data exists (YES), the process proceeds to step P7, the normal encoding process is executed without generating the matching dictionary, and then the process ends. If the same dictionary data does not exist in the matching dictionary buffer 12C in step P4 (NO), the process moves to step P5 and the dictionary data expelled from the dictionary buffer 12B is stored in the matching dictionary buffer 12C. Then, the process proceeds to step P6, where the storage pointer is advanced to the next bit, and further the process proceeds to step P7 where the normal encoding process is executed without generating the matching dictionary, and then the process ends.

【0074】これにより、辞書バッファ12Bから追い出
された辞書データを利用して、一致辞書を作成すること
ができ、一致辞書バッファ12Cの辞書データを参照しな
がら、被復号データを復号化することができる。このよ
うにして、本発明の第2の実施例に係るデータ処理装置
によれば、図1に示したような一致辞書バッファ12Cが
設けられ、辞書バッファ12Bから追い出された辞書デー
タ列が当該バッファ12Cに記憶される。
As a result, the matching dictionary can be created by using the dictionary data expelled from the dictionary buffer 12B, and the decoded data can be decoded while referring to the dictionary data in the matching dictionary buffer 12C. it can. In this way, according to the data processing apparatus in the second embodiment of the present invention, the matching dictionary buffer 12C as shown in FIG. 1 is provided, and the dictionary data string expelled from the dictionary buffer 12B is stored in the buffer. It is stored in 12C.

【0075】このため、辞書バッファ12Bのメモリ容量
を変えずに、過去に一致した実績がある辞書データ又は
辞書データ列を一致辞書バッファ12Cに記憶すること
で、参照できる辞書の数を実質的に増やすことができ
る。また、本発明の実施例では、辞書の数は実質増えて
も、符号化して残す辞書自体の大きさ及び、圧縮後の符
号ビットが増えない。
Therefore, the number of dictionaries that can be referred to is substantially reduced by storing the dictionary data or the dictionary data string having a past matching record in the matching dictionary buffer 12C without changing the memory capacity of the dictionary buffer 12B. You can increase. Further, in the embodiment of the present invention, even if the number of dictionaries is substantially increased, the size of the dictionary itself left to be encoded and the code bits after compression do not increase.

【0076】辞書バッファ12Bからはみ出した一致デー
タ列は、補助辞書として一致辞書バッファ12Cを参照す
ることができる。すなわち、図7の処理フローチャート
に示すように、ステップP2で辞書バッファ12Bから追
い出された辞書データ列を参照しながら、辞書データ列
と、入力された被圧縮データ列とを比較することがで
き、原データのまま不一致として符号化されていたデー
タの圧縮率を向上させることが可能となる。
The matching data string extending from the dictionary buffer 12B can refer to the matching dictionary buffer 12C as an auxiliary dictionary. That is, as shown in the processing flowchart of FIG. 7, the dictionary data string can be compared with the input compressed data string while referring to the dictionary data string that has been expelled from the dictionary buffer 12B in step P2. It is possible to improve the compression rate of data that has been encoded as inconsistent with the original data.

【0077】これにより、辞書バッファ12Bから追い出
された辞書データを有効に利用することができ、辞書バ
ッファ12B及び補助辞書バッファ12Cを併用した移動窓
によるデータ圧縮をすることが可能となる。また、過去
に一致した実績がある辞書データを利用してデータ圧縮
をすることができ、従来例に比べてデータ圧縮率を高め
ることが可能となる。
As a result, the dictionary data expelled from the dictionary buffer 12B can be effectively used, and the data can be compressed by the moving window using the dictionary buffer 12B and the auxiliary dictionary buffer 12C together. In addition, it is possible to perform data compression by using dictionary data that has a past record of coincidence, and it is possible to increase the data compression rate compared to the conventional example.

【0078】(3)第3の実施例の説明 図9は、本発明の第3の実施例に係る固定辞書を利用し
たデータ処理方法の説明図であり、図9(A)は、その
固定辞書バッファの内容図である。図9(B)は、デー
タ圧縮時のフローチャートであり、図9(C)は、デー
タ復元時のフローチャートをそれぞれ示している。
(3) Description of Third Embodiment FIG. 9 is an explanatory diagram of a data processing method using a fixed dictionary according to a third embodiment of the present invention, and FIG. It is a content diagram of a dictionary buffer. 9B is a flowchart for data compression, and FIG. 9C is a flowchart for data decompression.

【0079】第3の実施例では第1,第2の実施例と異
なり、辞書データ列と被圧縮データ列とを比較する際
に、被圧縮データの中で予め調査された出現頻度の高い
固定データ又は固定データ列を参照するものである。す
なわち、本発明の第3のデータ処理装置では、図1に示
したように、被圧縮データの中で予め調査された出現頻
度の高い固定データ又は固定データ列を記憶する固定辞
書バッファ12Dを使用する。固定辞書バッファ12Dは、
例えば、図9(A)に示すように、出現頻度の高い文字
や記号,例えば、ローマ字の「i,f」、算術記号
「+,=」及び記述記号「),)」等の固定データを固
定辞書として格納するメモリである。
The third embodiment differs from the first and second embodiments in that, when comparing a dictionary data string and a compressed data string, a fixed data with a high frequency of appearance that has been investigated in advance in the compressed data. It refers to data or a fixed data string. That is, in the third data processing device of the present invention, as shown in FIG. 1, the fixed dictionary buffer 12D for storing fixed data or fixed data string having a high appearance frequency which has been investigated in advance in the compressed data is used. To do. The fixed dictionary buffer 12D is
For example, as shown in FIG. 9 (A), fixed data such as characters and symbols having a high frequency of occurrence, such as Roman letters “i, f”, arithmetic symbols “+, =” and descriptive symbols “),)”, are stored. It is a memory that is stored as a fixed dictionary.

【0080】固定辞書は、EPROM13内の圧縮及び
伸長制御プログラム内に持つ方法と、符号化された圧縮
データに付加する方法と2通りを採る。なお、予め、固
定辞書を持つためには、データの種類及び出現頻度の高
いデータ列を調査する必要がある。この固定データの種
類を判断する場合には、ファイルの拡張子から判断する
方法や使用者がキーボード15を介して指定する方法を
採る。
As the fixed dictionary, there are two methods: a method held in the compression / decompression control program in the EPROM 13 and a method added to the encoded compressed data. In order to have a fixed dictionary in advance, it is necessary to investigate a data type and a data string having a high appearance frequency. When determining the type of the fixed data, a method of determining from the file extension or a method of specifying by the user via the keyboard 15 is used.

【0081】出現頻度の高いデータ列は、例えば、2バ
イト一致ではどのパターンが多いか否か等を補助ツール
により、事前に、調べて置く。この場合に、出現頻度に
関係なく無条件に格納する方法に比べて、出現頻度が高
い一致バイト数のみを固定する方法が、使用メモリ及び
処理速度の面から現実的である。なお、この固定辞書作
成ツールをデータ圧縮ツールのプリプロセッサとして連
結しても良い。
For a data string having a high appearance frequency, for example, which pattern has a large number of 2-byte matches is checked beforehand by an auxiliary tool. In this case, as compared with the method of unconditionally storing regardless of the appearance frequency, a method of fixing only the number of matching bytes having a high appearance frequency is practical from the viewpoint of the memory used and the processing speed. The fixed dictionary creation tool may be connected as a preprocessor of the data compression tool.

【0082】次に、本発明の第3の実施例に係るデータ
処理方法について、図9(B)の圧縮時の固定辞書参照
フローチャートを説明する。例えば、固定辞書バッファ
12Dの固定辞書データを利用して、データ圧縮する場
合、図9(B)のフローチャートにおいて、まず、ステ
ップP1で辞書バッファ12B内の辞書データを検索す
る。
Next, the data processing method according to the third embodiment of the present invention will be described with reference to the fixed dictionary reference flowchart at the time of compression in FIG. 9B. For example, fixed dictionary buffer
When data compression is performed using the fixed dictionary data of 12D, in the flowchart of FIG. 9B, first, in step P1, the dictionary data in the dictionary buffer 12B is searched.

【0083】次に、ステップP2で、一致するデータ部
分が有るか否かを判断する。この際に、一致部分が有っ
た場合(YES)には、固定辞書バッファ12Dを参照せず
に、辞書バッファ12Bの辞書データを利用してデータ圧
縮をする。ステップP2で、一致するデータ部分が無い
場合(NO)には、ステップP3に移行して、固定辞書
バッファ12D内を検索する。これにより、固定辞書バッ
ファ12Dの固定辞書データを利用して、データ圧縮する
ことができる。
Next, in step P2, it is determined whether or not there is a matching data portion. At this time, if there is a matching portion (YES), the dictionary data of the dictionary buffer 12B is used to perform data compression without referring to the fixed dictionary buffer 12D. If there is no matching data portion in step P2 (NO), the process moves to step P3 and the fixed dictionary buffer 12D is searched. As a result, the data can be compressed using the fixed dictionary data in the fixed dictionary buffer 12D.

【0084】次に、本発明の第2の実施例に係る圧縮デ
ータの復元処理について、復元時の固定辞書参照フロー
チャートを説明する。例えば、固定辞書バッファ12Dの
固定データを参照しながら、被復号データを復号化する
場合、図9(C)のフローチャートにおいて、まず、ス
テップP1で固定辞書バッファ12Dの固定符号が入力バ
ッファ12A内に有るか否かを判断する。この際に、入力
バッファ12A内に固定符号が有った場合(YES)には、
ステップP3に移行して固定辞書バッファ12D内を検索
し被復元データを復号化、その後、終了する。
Next, a description will be given of a fixed dictionary reference flowchart at the time of decompression in the decompression process of compressed data according to the second embodiment of the present invention. For example, when decoding the data to be decoded while referring to the fixed data in the fixed dictionary buffer 12D, the fixed code of the fixed dictionary buffer 12D is first stored in the input buffer 12A in step P1 in the flowchart of FIG. 9C. Determine if there is. At this time, if there is a fixed code in the input buffer 12A (YES),
In step P3, the fixed dictionary buffer 12D is searched to restore the restored data, and then the process is ended.

【0085】ステップP1で固定符号が無かった場合
(NO)には、ステップP2で辞書バッファ12B内で符
号化処理を実行し、その後、終了する。これにより、固
定辞書バッファ12Dの固定データを参照しながら、被復
号データを復号化することができる。このようにして、
本発明の第3の実施例に係るデータ処理装置によれば、
図9(A)に示すような固定辞書バッファ12Dが設けら
れ、被圧縮データの中で予め調査された出現頻度の高い
固定データが辞書データとして当該バッファ12Dに書き
込まれる。
If there is no fixed code in step P1 (NO), the encoding process is executed in the dictionary buffer 12B in step P2, and then the process ends. As a result, the data to be decoded can be decoded while referring to the fixed data in the fixed dictionary buffer 12D. In this way,
According to the data processing device of the third embodiment of the present invention,
A fixed dictionary buffer 12D as shown in FIG. 9A is provided, and fixed data with a high frequency of appearance, which has been examined in advance in the compressed data, is written in the buffer 12D as dictionary data.

【0086】このため、固定辞書バッファ12D内に出現
頻度の高いとして登録された辞書データと、被圧縮デー
タの中の固定データとが比較されることから、データ検
索速度の高速化を図ることが可能となる。この固定辞書
バッファ12Dを辞書バッファ12Bと併用することで、辞
書の数は実質増えるが、符号化して残す辞書自体の大き
さ、及び、圧縮後の符号ビットが増えない。
Therefore, the dictionary data registered in the fixed dictionary buffer 12D as having a high appearance frequency is compared with the fixed data in the compressed data, so that the data retrieval speed can be increased. It will be possible. By using this fixed dictionary buffer 12D together with the dictionary buffer 12B, the number of dictionaries is substantially increased, but the size of the dictionary itself left after encoding and the code bits after compression do not increase.

【0087】すなわち、図9(B)の処理フローチャー
トに示すように、ステップP3で被圧縮データの中で予
め調査された出現頻度の高い固定データを参照しなが
ら、辞書データと被圧縮データとを比較することができ
る。これにより、データ検索が従来例に比べて早くなる
ことから、データ圧縮処理の高速化を図ることが可能と
なる。なお、第2の実施例に比べて、第3の実施例では
一致辞書バッファ12Cの生成過程が不要となるため、デ
ータ処理速度が早くなる。本発明の実施例は被圧縮デー
タの種類が特定される用途に適している。
That is, as shown in the processing flow chart of FIG. 9B, the dictionary data and the compressed data are compared with each other while referring to the fixed data having a high appearance frequency which has been investigated in advance in the compressed data in step P3. Can be compared. As a result, the data search is faster than in the conventional example, and the data compression processing can be speeded up. It should be noted that, compared with the second embodiment, the data processing speed is increased in the third embodiment because the process of generating the matching dictionary buffer 12C is unnecessary. The embodiments of the present invention are suitable for applications in which the type of compressed data is specified.

【0088】(4)第4の実施例の説明 図10は、本発明の第4の実施例に係るデータ処理装置の
説明図であり、図10(A)は、その環状辞書バッファの
構成図である。図10(B),(C)は、その環状辞書バ
ッファでの検索状態図をそれぞれ示している。第4の実
施例では第1,第3の実施例と異なり、辞書バッファ12
Bが環状構造を有する。
(4) Description of Fourth Embodiment FIG. 10 is an explanatory diagram of a data processing device according to a fourth embodiment of the present invention, and FIG. 10 (A) is a configuration diagram of its circular dictionary buffer. Is. FIGS. 10B and 10C show search state diagrams in the circular dictionary buffer, respectively. The fourth embodiment differs from the first and third embodiments in that the dictionary buffer 12
B has a cyclic structure.

【0089】本発明の第4のデータ処理装置では、図10
(A)に示すような環状辞書バッファ12Eが設けられ
る。第1の実施例の辞書バッファ12Bと異なるのは、第
4の実施例の環状辞書バッファ12Eでは、被圧縮データ
を辞書データとして書き込むメモリ領域を非終端ループ
状に接続する点である。このようにすると、実質的な辞
書データの数を増やすことができ、環状辞書バッファ12
Eを利用して入力バッファ12A内の連続したデータ列の
一致を検索することができる。これにより、第1の実施
例の辞書バッファ12Bを拡張した移動窓によりデータ圧
縮をすることが可能となる。
In the fourth data processing device of the present invention, as shown in FIG.
A circular dictionary buffer 12E as shown in (A) is provided. The difference from the dictionary buffer 12B of the first embodiment is that in the circular dictionary buffer 12E of the fourth embodiment, the memory areas for writing the compressed data as dictionary data are connected in a non-terminal loop. By doing this, it is possible to substantially increase the number of dictionary data, and the circular dictionary buffer 12
E can be used to search for a match between consecutive data strings in input buffer 12A. As a result, it becomes possible to perform data compression using the moving window which is an extension of the dictionary buffer 12B of the first embodiment.

【0090】すなわち、図10(B)に示すような環状辞
書バッファ12E内の辞書データを利用して入力バッファ
12Aに入力される被圧縮データを符号化する場合、ま
ず、原データ列を図1に説明したようなファイル11か
ら入力バッファ12Aに読み込む。この際に、符号化され
ていないデータを入力バッファ12Aの先頭位置に移動す
る。
That is, the dictionary data in the circular dictionary buffer 12E as shown in FIG.
When encoding the compressed data input to 12A, first, the original data string is read from the file 11 as described in FIG. 1 into the input buffer 12A. At this time, the uncoded data is moved to the head position of the input buffer 12A.

【0091】例えば、図10(C)に示すように、数バイ
トの被圧縮データDin=u,i,m,a,d,f,r,
e,w…が入力バッファ12Aに入力される。入力バッフ
ァ12Aからの被圧縮データDinは環状辞書バッファ12E
にシフトされ、その結果、nバイトの辞書データ=i,
m,a,d,g,k,g…a,b,c,uが環状辞書バ
ッファ12Eに書き込まれる。
For example, as shown in FIG. 10C, several bytes of compressed data Din = u, i, m, a, d, f, r,
e, w ... Are input to the input buffer 12A. The compressed data Din from the input buffer 12A is the circular dictionary buffer 12E.
, So that n bytes of dictionary data = i,
m, a, d, g, k, g ... A, b, c, u are written in the circular dictionary buffer 12E.

【0092】次いで、環状辞書バッファ12E内に一致す
るデータ列が有るか否かを検索する。例えば、環状辞書
バッファ12E内に格納された辞書データ列=u,i,
m,a,dと、入力バッファ12Aの被圧縮データ列=
u,i,m,a,dとが比較される。それが一致するこ
とから、これを符号化する。具体的には、一致データの
位置情報,その長さ情報等を符号化する。例えば、図10
(B)の一致データ列では、長い位置情報を示すことか
ら識別子が「1」であり、検索位置が入力バッファ12A
から見て環状辞書バッファ12Eの先頭位置にあることか
ら位置情報が「0」、最長一致データがu,i,m,
a,dとなることから「5」バイトとなる。
Next, it is searched whether or not there is a matching data string in the circular dictionary buffer 12E. For example, the dictionary data string stored in the circular dictionary buffer 12E = u, i,
m, a, d and the compressed data sequence of the input buffer 12A =
u, i, m, a, d are compared. It is encoded because it matches. Specifically, the position information of the matching data, its length information, etc. are encoded. For example, Figure 10
In the matching data string of (B), since the long position information is shown, the identifier is "1" and the search position is the input buffer 12A.
The position information is “0” and the longest match data is u, i, m, since it is at the head position of the circular dictionary buffer 12E as seen from
Since it becomes a and d, it becomes "5" bytes.

【0093】また、図10(C)に示すように、数バイト
の被圧縮データDin=u,i,m,a,d,u,i,
m,a,d,u,i,m,a,d,x…が入力バッファ
12Aに入力され、入力バッファ12Aからの被圧縮データ
Dinが環状辞書バッファ12Eにシフトされると、その結
果、5バイトの辞書データ=i,m,a,d,uが環状
辞書バッファ12Eに書き込まれる。
As shown in FIG. 10C, the compressed data of several bytes Din = u, i, m, a, d, u, i,
m, a, d, u, i, m, a, d, x ... are input buffers
When the compressed data Din from the input buffer 12A is shifted to the circular dictionary buffer 12E, the 5-byte dictionary data = i, m, a, d, u is written to the circular dictionary buffer 12E. Be done.

【0094】次いで、環状辞書バッファ12E内に一致す
るデータ列が有るか否かを検索する。例えば、環状辞書
バッファ12E内に格納された辞書データ列=i,m,
a,d,uと、入力バッファ12Aの被圧縮データ列=
u,i,m,a,d,u,i,m,a,d,u,i,
m,a,dとが比較される。それが3つのデータ列で一
致することから、これを符号化する。つまり、第4の実
施例では、入力バッファ12Aの15番目まで、一度に符
号化でき、符号化された圧縮データはファイル17に格
納される。
Next, it is searched whether or not there is a matching data string in the circular dictionary buffer 12E. For example, the dictionary data string stored in the circular dictionary buffer 12E = i, m,
a, d, u and the compressed data string of the input buffer 12A =
u, i, m, a, d, u, i, m, a, d, u, i,
m, a, d are compared. This is encoded because it matches in the three data strings. That is, in the fourth embodiment, up to the 15th of the input buffer 12A can be encoded at one time, and the encoded compressed data is stored in the file 17.

【0095】具体的には、一致データの位置情報,その
長さ情報等を符号化する。図10(C)の一致データ列で
は、長い位置情報を示すことから識別子が「1」であ
り、検索位置が入力バッファ12Aから見て環状辞書バッ
ファ12Eの先頭位置にあることから位置情報が「0」、
最長一致データがu,i,m,a,dとなることから
「5」バイトとなる。この際の符号化については、図4
において説明しているので参照されたい。
Specifically, the position information of the matching data, its length information, etc. are encoded. In the matching data string in FIG. 10C, the identifier is "1" because it indicates long position information, and the position information is "1" because the search position is at the head position of the circular dictionary buffer 12E when viewed from the input buffer 12A. 0 ",
Since the longest match data is u, i, m, a, d, it is "5" bytes. The encoding at this time is shown in FIG.
Please refer to the explanation.

【0096】なお、圧縮データを復元する場合には、同
じ環状辞書バッファ12Eを用い、第1の実施例と同様な
復元フローチャートに沿って復号することができるた
め、その説明を省略する。このようにして本発明の第4
の実施例に係るデータ処理装置によれば、図10(A)に
示すような環状辞書バッファ12Eが設けられる。
When decompressing the compressed data, the same circular dictionary buffer 12E can be used and the decompression can be performed according to the decompression flowchart similar to that of the first embodiment, and therefore the description thereof is omitted. Thus, the fourth aspect of the present invention
According to the data processing device of the embodiment, the circular dictionary buffer 12E as shown in FIG. 10 (A) is provided.

【0097】このため、非終端ループ状に接続されたメ
モリ領域に、以前に符号化した入力データ列を辞書デー
タとして書込むことができ、参照できる辞書の数を実質
的に増やすことができる。これにより、第1の実施例で
は辞書バッファ12Bを直線上に辞書データを検索する方
法しか採れなかったが、第2の実施例では辞書バッファ
12Eを環状に辞書データを検索することができる。これ
を利用して、入力データ列の中の連続した部分との最長
一致を検索し、その一致情報を符号化することができ
る。
Therefore, the previously encoded input data string can be written as dictionary data in the memory area connected in a non-terminal loop, and the number of dictionaries that can be referred to can be substantially increased. As a result, in the first embodiment, only the method of searching the dictionary buffer 12B for the dictionary data on a straight line can be adopted, but in the second embodiment, the dictionary buffer is used.
It is possible to search dictionary data in a circular 12E. Utilizing this, the longest match with a continuous portion in the input data string can be searched and the match information can be encoded.

【0098】このことから、第1の実施例では一致しな
かったデータ列が、第4の実施例では一致する可能性が
増加し、辞書バッファ12Eを拡張した移動窓によるデー
タ圧縮をすることが可能となる。 (5)第5の実施例の説明 図11は、本発明の第5の実施例に係るデータ圧縮方法の
説明図である。図11(A)は、あるメモリ領域を辞書バ
ッファ12B及び入力バッファ12Aとに分割した図であ
る。図11(B)は、その領域を分割する境界線を入力バ
ッファ12A側に移動した図をそれぞれ示している。
From this, the possibility that the data strings that did not match in the first embodiment will match in the fourth embodiment increases, and data compression by the moving window in which the dictionary buffer 12E is expanded can be performed. It will be possible. (5) Description of Fifth Embodiment FIG. 11 is an explanatory diagram of a data compression method according to a fifth embodiment of the present invention. FIG. 11A is a diagram in which a certain memory area is divided into a dictionary buffer 12B and an input buffer 12A. FIG. 11B shows a diagram in which the boundary line dividing the area is moved to the input buffer 12A side.

【0099】第5の実施例では第1〜第4の実施例と異
なり、辞書用のメモリ領域に連続する入力用のメモリ領
域に書き込まれた被圧縮データ列が辞書データ列として
見なされるものである。すなわち、本発明の第5のデー
タ処理装置では、図11(A)に示すようにあるメモリ領
域を辞書バッファ12B及び入力バッファ12Aに分割した
際の境界(カーソル)線12Fを入力バッファ12A側に移
動する機能が付加される。この機能は、EPROM13
に制御アルゴリズムとして制御データを格納し、このデ
ータを例えばCPU14が読出して辞書制御をする。
In the fifth embodiment, unlike the first to fourth embodiments, the compressed data string written in the input memory area continuous to the dictionary memory area is regarded as the dictionary data string. is there. That is, in the fifth data processing apparatus of the present invention, a boundary (cursor) line 12F when a certain memory area is divided into a dictionary buffer 12B and an input buffer 12A as shown in FIG. The ability to move is added. This function is
The control data is stored as a control algorithm in the CPU, and the CPU 14 reads this data for dictionary control.

【0100】この際の辞書制御は、辞書データ列と被圧
縮データ列とを比較する際に、図11(A)から同図
(B)に示すように、境界線12Fを入力用のメモリ領域
の方向に移動する。辞書バッファ12Bは入力バッファ12
Aの領域に拡張されて辞書バッファ12B´となる。これ
により、辞書バッファ12B´と入力バッファ12Aとの間
で一致検索をすることができ、辞書データ列が書き込ま
れた辞書用のメモリ領域に連続する入力用のメモリ領域
の被圧縮データ列を辞書データ列として見なし、一致デ
ータを検索することができる。
In the dictionary control at this time, when comparing the dictionary data string and the compressed data string, as shown in FIGS. 11A to 11B, the boundary line 12F is set in the input memory area. Move in the direction of. The dictionary buffer 12B is the input buffer 12
The dictionary buffer 12B 'is extended to the area A. As a result, a match search can be performed between the dictionary buffer 12B 'and the input buffer 12A, and the compressed data string in the input memory area that is continuous with the dictionary memory area in which the dictionary data string is written is converted into the dictionary. It can be regarded as a data string and the matching data can be searched.

【0101】具体的には、図11(A)の一致データ列で
は、長い位置情報を示すことから識別子が「1」であ
り、検索位置が入力バッファ12Aから見て辞書バッファ
12Aの3ビット目にあることから位置情報が「3」、最
長一致データがu,a,b,cとなることから「8」バ
イトとなる。なお、具体的な符号化の段階で圧縮率を上
げるための工夫は、第1の実施例と同様であるため、そ
の説明を省略する。
Specifically, in the matching data string of FIG. 11A, the identifier is "1" because it indicates long position information, and the search position is the dictionary buffer as seen from the input buffer 12A.
Since it is in the 3rd bit of 12A, the position information is "3", and the longest match data is u, a, b, c, which is "8" bytes. Note that the device for increasing the compression rate at the concrete encoding stage is the same as that in the first embodiment, and therefore its explanation is omitted.

【0102】また、圧縮データを復元する場合には、入
力バッファ12Aと辞書バッファ12Bとが重なる部分を1
つ1つ復元する。このようにして、本発明の第5の実施
例に係るデータ圧縮方法によれば、図11(B)に示すよ
うに、辞書用のメモリ領域に連続する入力用のメモリ領
域に書き込まれた被圧縮データ列が辞書データ列として
見なされる。
Further, when decompressing the compressed data, the overlapping portion of the input buffer 12A and the dictionary buffer 12B is set to 1
Restore one by one. In this way, according to the data compression method of the fifth embodiment of the present invention, as shown in FIG. 11B, the data written in the memory area for input that is continuous with the memory area for dictionary is written. The compressed data string is regarded as the dictionary data string.

【0103】このため、参照できる辞書データの数を実
質的に増やすことができ、辞書データ又は辞書データ列
を入力用のメモリ領域に拡張して、一致するデータ又は
データ列を検索することができる。これにより、入力用
のメモリ領域の被圧縮データ列同士を比較することが可
能となり、第1の実施例の検索方法に比べて、一致しな
かったデータが一致する可能性が増える。特に、辞書バ
ッファ12B内のデータ列の中で、境界線12Fの近傍のデ
ータ=u,a,b,cの並びと、同じデータ=u,a,
b,cの並びとが入力バッファ12Aに繰り返し出現する
ような場合に、最も効率良くデータ圧縮をすることが可
能となる。
Therefore, the number of dictionary data that can be referred to can be substantially increased, and the dictionary data or dictionary data string can be expanded to the input memory area to search for the matching data or data string. . As a result, the compressed data strings in the input memory area can be compared with each other, and the possibility that unmatched data will match increases as compared with the search method of the first embodiment. In particular, in the data string in the dictionary buffer 12B, the same data = u, a, as the arrangement of data = u, a, b, c near the boundary line 12F.
When the arrangement of b and c repeatedly appears in the input buffer 12A, the data can be compressed most efficiently.

【0104】これにより、実質的に、辞書が増えたにも
かかわらず、辞書の大きさや符号化情報の大きさが増え
ず、第1の実施例に比べてデータ検索時間を短縮するこ
とができ、データ圧縮処理の高速化を図ることが可能と
なる。なお、表1は第1,第4及び第5の実施例に係る
データ圧縮方法を比較した結果を示している。表1はソ
フトウエア上で6339バイトのバイナリデータ及び3
177バイトのテキストデータを圧縮した場合の結果で
あり、原データ数に対する圧縮後のバイト数を示してい
る。
As a result, the size of the dictionary and the size of the coded information do not increase in spite of the increase in the number of dictionaries, and the data search time can be shortened as compared with the first embodiment. It is possible to speed up the data compression process. Table 1 shows the results of comparing the data compression methods according to the first, fourth and fifth embodiments. Table 1 shows 6339 bytes of binary data and 3 on the software.
This is a result when 177-byte text data is compressed, and shows the number of bytes after compression with respect to the number of original data.

【0105】[0105]

【表1】 [Table 1]

【0106】これによれば、第1の実施例では辞書バッ
ファ12Bを直線的に検索するために、バイナリデータで
は圧縮後のバイト数が4524バイトとなった。また、
テキストデータでは圧縮後のバイト数が1373バイト
となった。これに対して、第4の実施例では辞書バッフ
ァ12Dを環状に検索するために、バイナリデータでは圧
縮後のバイト数が4522バイトとなった。また、テキ
ストデータでは圧縮後のバイト数が1373バイトとな
った。
According to this, in the first embodiment, since the dictionary buffer 12B is linearly searched, the number of bytes after compression of the binary data is 4524 bytes. Also,
In the text data, the number of bytes after compression became 1373 bytes. On the other hand, in the fourth embodiment, since the dictionary buffer 12D is searched in a ring shape, the number of bytes after compression of the binary data is 4,522 bytes. In the text data, the number of bytes after compression became 1373 bytes.

【0107】第5の実施例では辞書バッファ12Bから入
力バッファ12Aを拡張して検索するために、バイナリデ
ータでは圧縮後のバイト数が4495バイトとなった。
また、テキストデータでは圧縮後のバイト数が1369
バイトとなった。このように第5の実施例では第1,第
4の実施例に比べてデータ圧縮率が向上していることは
明確であり、大容量のデータを取り扱う場合には、大き
な効果が期待できる。
In the fifth embodiment, since the input buffer 12A is expanded and searched from the dictionary buffer 12B, the number of bytes after compression of the binary data is 4495 bytes.
In the case of text data, the number of bytes after compression is 1369.
It became a part-time job. As described above, it is clear that the fifth embodiment improves the data compression rate as compared with the first and fourth embodiments, and a large effect can be expected when handling a large amount of data.

【0108】[0108]

【発明の効果】以上説明したように、本発明のデータ処
理装置によれば、辞書データ又は辞書データ列と被圧縮
データ又は被圧縮データ列とを比較し、これらデータ又
はデータ列とが一致した場合に、一致した部分のデータ
又はデータ列を辞書バッファから追い出し、その後、デ
ータ書込み範囲を一方向に詰めて新たな辞書データとし
て一致した被圧縮データ又は被圧縮データ列を書き込む
辞書制御手段が設けられる。
As described above, according to the data processing apparatus of the present invention, the dictionary data or the dictionary data string is compared with the compressed data or the compressed data string, and these data or the data string are matched. In this case, a dictionary control means is provided for erasing the matched data or data string from the dictionary buffer, and then writing the matched compressed data or compressed data string as new dictionary data by packing the data writing range in one direction. To be

【0109】このため、重複した辞書データ又は辞書デ
ータ列が、辞書バッファのデータ書込み範囲から外部等
に追い出されることにより、従来例のように、一致デー
タに関係しないデータを単に辞書バッファの先頭から追
い出すことが無くなり、常に、異なった種類の辞書デー
タを辞書バッファに格納することができ、辞書バッファ
の冗長性が少なくなる。
For this reason, the duplicate dictionary data or the dictionary data string is pushed out of the data writing range of the dictionary buffer to the outside or the like, so that, unlike the conventional example, the data not related to the matching data is simply deleted from the beginning of the dictionary buffer. It is possible to store different types of dictionary data in the dictionary buffer all the time, and to reduce the redundancy of the dictionary buffer.

【0110】本発明の他のデータ処理装置によれば、辞
書バッファから追い出されたデータ又は辞書データ列を
記憶する補助辞書バッファが設けられる。このため、参
照できる辞書の数を実質的に増やすことができ、補助辞
書バッファ内の辞書データを参照しながら、データ圧縮
をすることができ、不一致として原データのまま符号化
されていたデータの圧縮率を向上させることが可能とな
る。
According to another data processing device of the present invention, an auxiliary dictionary buffer for storing the data or dictionary data string displaced from the dictionary buffer is provided. Therefore, the number of dictionaries that can be referred to can be substantially increased, data can be compressed while referencing the dictionary data in the auxiliary dictionary buffer, and the data that was encoded as the original data as a mismatch does not occur. It is possible to improve the compression rate.

【0111】本発明の他のデータ処理装置によれば、被
圧縮データの中で予め調査された出現頻度の高い固定デ
ータ又は固定データ列を辞書データとして書き込む固定
辞書バッファが設けられる。このため、固定辞書バッフ
ァ内の辞書データを参照しながら、データ圧縮をするこ
とができ、データ検索速度の高速化を図ることが可能と
なる。
According to another data processing apparatus of the present invention, a fixed dictionary buffer is provided for writing fixed data or fixed data string having a high appearance frequency, which has been investigated in advance, in the compressed data as dictionary data. Therefore, the data can be compressed while referring to the dictionary data in the fixed dictionary buffer, and the data search speed can be increased.

【0112】本発明の他のデータ処理装置によれば、環
状構造を有する辞書バッファが設けられる。このため、
非終端ループ状のメモリ領域に書込まれた辞書データを
参照しながら、拡張した移動窓を当該辞書バッファ上に
スライドさせながら、データ圧縮をすることが可能とな
る。本発明のデータ処理方法によれば、辞書用のメモリ
領域に連続する入力用のメモリ領域の被圧縮データ又は
被圧縮データ列が辞書データ又は辞書データ列として利
用される。
According to another data processing device of the present invention, a dictionary buffer having a ring structure is provided. For this reason,
It is possible to perform data compression while sliding the expanded moving window onto the dictionary buffer while referring to the dictionary data written in the non-terminal loop memory area. According to the data processing method of the present invention, the compressed data or compressed data string in the input memory area that is continuous with the dictionary memory area is used as the dictionary data or dictionary data string.

【0113】このため、参照できる辞書データの数を実
質的に増やすことができ、辞書データ又は辞書データ列
を入力用のメモリ領域に拡張して、一致するデータ又は
データ列を検索することができる。これにより、辞書デ
ータを有効かつ高速に検索可能なデータ圧縮又は復元装
置を構成することができ、磁気ディスク装置等の許容記
憶容量を実質的に増加させることと、及び、データ伝送
時の送信時間の短縮化に寄与するところが大きい。
Therefore, the number of dictionary data that can be referred to can be substantially increased, and the dictionary data or the dictionary data string can be expanded to the input memory area to search for the matching data or data string. . As a result, it is possible to configure a data compression or decompression device that can search dictionary data effectively and at high speed, and substantially increase the allowable storage capacity of the magnetic disk device and the transmission time during data transmission. It greatly contributes to the shortening of.

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

【図1】本発明の各実施例に係るデータ処理装置の構成
図である。
FIG. 1 is a configuration diagram of a data processing device according to each embodiment of the present invention.

【図2】本発明の第1の実施例に係るデータ圧縮時の辞
書バッファの説明図である。
FIG. 2 is an explanatory diagram of a dictionary buffer during data compression according to the first embodiment of the present invention.

【図3】本発明の第1の実施例に係るデータの圧縮フロ
ーチャートである。
FIG. 3 is a data compression flowchart according to the first embodiment of the present invention.

【図4】本発明の各実施例に係るデータ圧縮時の符号化
処理の説明図である。
FIG. 4 is an explanatory diagram of encoding processing during data compression according to each embodiment of the present invention.

【図5】本発明の第1の実施例に係る圧縮データの復号
フローチャートである。
FIG. 5 is a flowchart for decoding compressed data according to the first embodiment of the present invention.

【図6】本発明の第2の実施例に係る一致辞書、データ
の符号化及びその検索範囲の説明図である。
FIG. 6 is an explanatory diagram of a matching dictionary, data encoding, and its search range according to the second embodiment of the present invention.

【図7】本発明の第2の実施例に係る一致辞書の作成フ
ローチャートである。
FIG. 7 is a flowchart of creating a matching dictionary according to the second embodiment of the present invention.

【図8】本発明の第2の実施例に係る圧縮データの復号
フローチャートである。
FIG. 8 is a decoding flowchart of compressed data according to the second embodiment of the present invention.

【図9】本発明の第3の実施例に係る固定辞書を利用し
たデータ処理方法の説明図である。
FIG. 9 is an explanatory diagram of a data processing method using a fixed dictionary according to a third embodiment of the present invention.

【図10】本発明の第4の実施例に係る環状辞書バッファ
の説明図である。
FIG. 10 is an explanatory diagram of a circular dictionary buffer according to a fourth embodiment of the present invention.

【図11】本発明の第5の実施例に係る入力バッファ連続
構造の辞書バッファの説明図である。
FIG. 11 is an explanatory diagram of a dictionary buffer having an input buffer continuous structure according to a fifth embodiment of the present invention.

【図12】従来例に係るデータ圧縮方法の説明図である。FIG. 12 is an explanatory diagram of a data compression method according to a conventional example.

【図13】従来例に係る問題点を説明する符号化処理の状
態図である。
[Fig. 13] Fig. 13 is a state diagram of encoding processing for explaining a problem in the conventional example.

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

11…原データファイル、 12…メモリ、 12A…入力バッファ、 12B…辞書バッファ、 12C…補助辞書(一致辞書)バッファ、 12D…固定辞書バッファ、 13…EPROM、 14…辞書制御手段(CPU)、 15…キーボード、 16…ディスプレイ、 17…圧縮データファイル、 18…バス。 11 ... Original data file, 12 ... Memory, 12A ... Input buffer, 12B ... Dictionary buffer, 12C ... Auxiliary dictionary (matching dictionary) buffer, 12D ... Fixed dictionary buffer, 13 ... EPROM, 14 ... Dictionary control means (CPU), 15 ... keyboard, 16 ... display, 17 ... compressed data file, 18 ... bus.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 被圧縮データを利用した辞書データ又は
辞書データ列を格納する辞書バッファを備え、順次、入
力される被圧縮データとを比較して一致する辞書データ
又は辞書データ列を符号化し、逆に、符号化された圧縮
データを復号化するときに、 前記辞書データ又は辞書データ列と、入力された前記被
圧縮データ又は被圧縮データ列とを比較して前記辞書デ
ータ又は辞書データ列と前記被圧縮データ又は被圧縮デ
ータ列とが一致した場合に、前記一致した部分の辞書デ
ータ又は辞書データ列を辞書バッファから追い出し、前
記辞書データ又は辞書データ列が追い出された辞書バッ
ファのデータ書込み範囲を一方向に詰め、前記データ書
込み範囲が詰められた辞書バッファに前記一致した被圧
縮データ又は被圧縮データ列を新たな辞書データとして
書き込む辞書制御手段が設けられることを特徴とするデ
ータ処理装置。
1. A dictionary buffer for storing dictionary data or a dictionary data string using compressed data, wherein the dictionary data or the dictionary data string that is sequentially compared with the input compressed data is encoded, Conversely, when decoding the encoded compressed data, the dictionary data or dictionary data string is compared with the dictionary data or dictionary data string and the input compressed data or compressed data string. When the compressed data or the compressed data string matches, the matching part of the dictionary data or the dictionary data string is expelled from the dictionary buffer, and the dictionary data or the dictionary data string is expelled the data writing range of the dictionary buffer In one direction and the matched compressed data or compressed data string is stored in the dictionary buffer filled with the data writing range as a new dictionary data. The data processing apparatus characterized by the dictionary control means for writing the data is provided.
【請求項2】 前記辞書バッファから追い出されたデー
タ又は辞書データ列を記憶する補助辞書バッファが設け
られることを特徴とする請求項1記載のデータ処理装
置。
2. The data processing apparatus according to claim 1, further comprising an auxiliary dictionary buffer that stores data or a dictionary data string displaced from the dictionary buffer.
【請求項3】 前記被圧縮データの中で予め調査された
出現頻度の高い固定データ又は固定データ列を辞書デー
タとして書き込んだ固定辞書バッファが設けられること
を特徴とする請求項1記載のデータ処理装置。
3. The data processing according to claim 1, further comprising a fixed dictionary buffer in which fixed data or a fixed data string having a high frequency of occurrence, which has been investigated in advance in the compressed data, is written as dictionary data. apparatus.
【請求項4】 前記辞書バッファは、被圧縮データを辞
書データとして書き込むメモリ領域を非終端ループ状に
接続した環状構造を有することを特徴とする請求項1記
載のデータ処理装置。
4. The data processing apparatus according to claim 1, wherein the dictionary buffer has a ring structure in which memory areas for writing compressed data as dictionary data are connected in a non-terminal loop.
【請求項5】 被圧縮データを利用した辞書データ又は
辞書データ列と、順次、入力される被圧縮データとを比
較して一致するデータ又はデータ列を符号化し、逆に、
符号化された圧縮データを復号化するときに、 前記辞書データ又は辞書データ列と、入力された前記被
圧縮データ又は被圧縮データ列とを比較して前記辞書デ
ータ又は辞書データ列と前記被圧縮データ又は被圧縮デ
ータ列とが一致した場合に、前記一致した部分の辞書デ
ータ又は辞書データ列を辞書のデータ書込み範囲から追
い出し、前記データ又はデータ列が追い出された辞書の
データ書込み範囲を一方向に詰め、前記データ書込み範
囲が詰められた辞書に前記一致した被圧縮データ又は被
圧縮データ列を新たな辞書データとして書き込むことを
特徴とするデータ処理方法。
5. A dictionary data or a dictionary data string using compressed data and sequentially input compressed data are compared to encode a matching data or data string, and vice versa.
When decoding the encoded compressed data, the dictionary data or the dictionary data string is compared with the input compressed data or the compressed data string, and the dictionary data or the dictionary data string and the compressed object are compressed. When the data or the compressed data string matches, the matched dictionary data or dictionary data string is pushed out of the dictionary data writing range, and the data writing range of the dictionary in which the data or data string is pushed out is unidirectional. And writing the matched compressed data or compressed data string as new dictionary data in the dictionary in which the data writing range is narrowed.
【請求項6】 前記辞書データ又は辞書データ列と、入
力された前記被圧縮データ又は被圧縮データ列とを比較
する際に、 前記辞書バッファから追い出されたデータ又は辞書デー
タ列を参照することを特徴とする請求項5記載のデータ
処理方法。
6. When comparing the dictionary data or dictionary data string with the input compressed data or compressed data string, refer to the data or dictionary data string evicted from the dictionary buffer. The data processing method according to claim 5, characterized in that
【請求項7】 前記辞書データ又は辞書データ列と、入
力された前記被圧縮データ又は被圧縮データ列とを比較
する際に、 前記被圧縮データの中で予め調査された出現頻度の高い
固定データ又は固定データ列を参照することを特徴とす
る請求項5記載のデータ処理方法。
7. Fixed data, which has a high frequency of appearance and has been investigated in advance in the compressed data when comparing the dictionary data or the dictionary data string with the input compressed data or the compressed data string. The data processing method according to claim 5, wherein a fixed data string is referred to.
【請求項8】 前記辞書データ又は辞書データ列と、入
力された前記被圧縮データ又は被圧縮データ列とを比較
する際に、 前記辞書データ又は辞書データ列が書き込まれた辞書用
のメモリ領域に連続する入力用のメモリ領域に書き込ま
れた被圧縮データ又は被圧縮データ列を辞書データ又は
辞書データ列として見なすことを特徴とする請求項5記
載のデータ処理方法。
8. When comparing the dictionary data or dictionary data string with the input compressed data or compressed data string, a dictionary memory area in which the dictionary data or dictionary data string is written is used. The data processing method according to claim 5, wherein the compressed data or the compressed data string written in the continuous memory area for input is regarded as the dictionary data or the dictionary data string.
JP25101694A 1994-10-17 1994-10-17 Data processing device and data processing method Expired - Fee Related JP3242795B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25101694A JP3242795B2 (en) 1994-10-17 1994-10-17 Data processing device and data processing method
US08/505,760 US5635932A (en) 1994-10-17 1995-07-21 Lempel-ziv compression with expulsion of dictionary buffer matches
US08/813,943 US5748122A (en) 1994-10-17 1997-03-03 Data processing apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25101694A JP3242795B2 (en) 1994-10-17 1994-10-17 Data processing device and data processing method

Publications (2)

Publication Number Publication Date
JPH08116269A true JPH08116269A (en) 1996-05-07
JP3242795B2 JP3242795B2 (en) 2001-12-25

Family

ID=17216383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25101694A Expired - Fee Related JP3242795B2 (en) 1994-10-17 1994-10-17 Data processing device and data processing method

Country Status (1)

Country Link
JP (1) JP3242795B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293461A (en) * 2006-04-21 2007-11-08 Funai Electric Co Ltd Data compression program
US7308150B2 (en) 2002-09-19 2007-12-11 Fuji Xerox Co., Ltd. Image processing apparatus
JP2011101271A (en) * 2009-11-09 2011-05-19 Seiko Epson Corp Image processing apparatus, and image processing method
WO2014097356A1 (en) * 2012-12-19 2014-06-26 富士通株式会社 Compression program, compression method, compression device, expansion program, expansion method and expansion device
JP6032292B2 (en) * 2012-12-19 2016-11-24 富士通株式会社 Compression program, compression device, decompression program, and decompression device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0378322A (en) * 1989-08-22 1991-04-03 Fujitsu Ltd Data compressing system
JPH03204232A (en) * 1989-12-28 1991-09-05 Internatl Business Mach Corp <Ibm> Encoding of compressed data
JPH0795093A (en) * 1993-07-08 1995-04-07 Internatl Business Mach Corp <Ibm> Equipment and method for executing progressive data compresion algorithm
JPH07297728A (en) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> Method and system for searching coincidence of patterns

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0378322A (en) * 1989-08-22 1991-04-03 Fujitsu Ltd Data compressing system
JPH03204232A (en) * 1989-12-28 1991-09-05 Internatl Business Mach Corp <Ibm> Encoding of compressed data
JPH0795093A (en) * 1993-07-08 1995-04-07 Internatl Business Mach Corp <Ibm> Equipment and method for executing progressive data compresion algorithm
JPH07297728A (en) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> Method and system for searching coincidence of patterns

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308150B2 (en) 2002-09-19 2007-12-11 Fuji Xerox Co., Ltd. Image processing apparatus
JP2007293461A (en) * 2006-04-21 2007-11-08 Funai Electric Co Ltd Data compression program
JP4600342B2 (en) * 2006-04-21 2010-12-15 船井電機株式会社 Data compression program
JP2011101271A (en) * 2009-11-09 2011-05-19 Seiko Epson Corp Image processing apparatus, and image processing method
WO2014097356A1 (en) * 2012-12-19 2014-06-26 富士通株式会社 Compression program, compression method, compression device, expansion program, expansion method and expansion device
US9496895B2 (en) 2012-12-19 2016-11-15 Fujitsu Limited Compression method and decompression method
JP6032291B2 (en) * 2012-12-19 2016-11-24 富士通株式会社 Compression program, compression apparatus, decompression program, decompression apparatus, and system
JP6032292B2 (en) * 2012-12-19 2016-11-24 富士通株式会社 Compression program, compression device, decompression program, and decompression device
JPWO2014097359A1 (en) * 2012-12-19 2017-01-12 富士通株式会社 Compression program, compression device, decompression program, and decompression device

Also Published As

Publication number Publication date
JP3242795B2 (en) 2001-12-25

Similar Documents

Publication Publication Date Title
JP3273119B2 (en) Data compression / decompression device
JP3342700B2 (en) Single clock cycle data compressor / decompressor with string reversal mechanism
US7403136B2 (en) Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search
US6657565B2 (en) Method and system for improving lossless compression efficiency
EP0438955B1 (en) Data compression method
EP0729237A2 (en) Adaptive multiple dictionary data compression
KR100527891B1 (en) Method of performing huffman decoding
JP3141002B2 (en) Encoding method and data compressor
JP3141001B2 (en) Encoding method, data compressor, and recording medium recording computer program
US10476518B1 (en) Hardware friendly data compression
JP3231105B2 (en) Data encoding method and data restoration method
EP0435802B1 (en) Method of decompressing compressed data
EP0438954B1 (en) Method of decoding compressed data
JP3242795B2 (en) Data processing device and data processing method
US6262675B1 (en) Method of compressing data with an alphabet
JP3241787B2 (en) Data compression method
Yu Data compression for PC software distribution
CN117200805B (en) Compression and decompression method and device with low memory occupation of MCU
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
JP3143029B2 (en) Data compression method and device, and data decompression method and device
JP2003318739A (en) System and method for compressing data sequence, and computer readable medium
JP2999587B2 (en) Data compression and decompression method
JP3012679B2 (en) Data compression method
JP3054183B2 (en) Dictionary rewriting method of data compression device
JPH07225667A (en) Data compression device and data restoration device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011009

LAPS Cancellation because of no payment of annual fees