JP3143029B2 - Data compression method and device, and data decompression method and device - Google Patents

Data compression method and device, and data decompression method and device

Info

Publication number
JP3143029B2
JP3143029B2 JP27432994A JP27432994A JP3143029B2 JP 3143029 B2 JP3143029 B2 JP 3143029B2 JP 27432994 A JP27432994 A JP 27432994A JP 27432994 A JP27432994 A JP 27432994A JP 3143029 B2 JP3143029 B2 JP 3143029B2
Authority
JP
Japan
Prior art keywords
data
dictionary
bits
string
data string
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.)
Expired - Fee Related
Application number
JP27432994A
Other languages
Japanese (ja)
Other versions
JPH08116270A (en
Inventor
康祐 斯波
倫永 執行
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.)
Rohm Co Ltd
Original Assignee
Rohm Co 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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP27432994A priority Critical patent/JP3143029B2/en
Publication of JPH08116270A publication Critical patent/JPH08116270A/en
Application granted granted Critical
Publication of JP3143029B2 publication Critical patent/JP3143029B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、各種記憶装置における
格納データの圧縮や読出データの伸長、あるいはデジタ
ル通信機器等における転送データの圧縮や伸長に使用さ
れるデータ圧縮方法及びその装置並びにデータ伸長方法
及びその装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data compression method and apparatus for compressing stored data in various storage devices and expanding read data, or compressing and expanding transferred data in digital communication equipment and the like, and an apparatus and data expansion method. A method and an apparatus therefor.

【0002】[0002]

【従来の技術】この種の圧縮のための符号化に使用され
る符号として、「データ圧縮アルゴリズムとその実現」
(インターフェース,CQ出版社,Aug.199
2.,105〜117ページ)や特開平3−68219
号公報に示されているような適応型符号と呼ばれるもの
がある。この適応型符号は、文字列(入力データ列)を
読み込みながらその統計的性質を抽出して符号化を行う
ため、文字列を読み終わると同時に符号化が終了すると
いう特徴を有する。この適用型符号の一種であるユニバ
ーサル符号の代表的なものに、Lempel−Zip符
号(その符号化の概念をつかみやすいことからスライド
辞書法とも呼ばれる)がある。
2. Description of the Related Art As a code used for encoding for this kind of compression, a "data compression algorithm and its realization" are known.
(Interface, CQ Publisher, Aug. 199
2. , Pp. 105-117) and JP-A-3-68219.
There is a so-called adaptive code as shown in Japanese Unexamined Patent Application Publication No. H10-260, pp. 176-181. This adaptive code has the characteristic that, while reading a character string (input data string), the statistical properties thereof are extracted and coding is performed. A representative universal code which is a kind of the adaptive code is a Lempel-Zip code (also called a slide dictionary method because it is easy to grasp the concept of the encoding).

【0003】このスライド辞書法では、与えられた文字
列の中から現在の符号化を行っている文字の近傍の何文
字かを保存するバッファを用意し、このバッファを辞書
として利用して、符号化を行う方法である。符号化が進
むにつれ、このバッファに保存されている文字列は、与
えられた文字列中をスライドしていくことから、スライ
ド辞書法と呼ばれるようになった。
In this slide dictionary method, a buffer for storing a number of characters in the vicinity of a character currently being encoded from a given character string is prepared, and this buffer is used as a dictionary. It is a method of performing conversion. As the encoding progresses, the character string stored in this buffer slides in a given character string, and is therefore called the slide dictionary method.

【0004】符号化における辞書の参照は、現時点で符
号化の対象となっている位置から始まる文字列に一致す
るバッファ中の文字列で最も長い最長一致系列を探すこ
とを基本としている。そして、そのような文字列が見つ
かれば、一致不一致を示す1ビットの一致フラグを
「1」にして、見つかった文字列のバッファ中の位置と
その長さを適当な桁数の2進数で表したものを符号語と
する。また、そのような文字列がバッファ中になければ
一致フラグを“0”にして、符号化の対象となっている
1文字をそのまま(例えば、ASCIIコードで)出力
したものを符号語とする。
Reference to a dictionary in encoding is based on searching for the longest longest matching sequence in a character string in a buffer that matches a character string starting from a position to be encoded at the present time. If such a character string is found, the 1-bit match flag indicating match / mismatch is set to "1", and the position of the found character string in the buffer and its length are represented by an appropriate number of binary digits. The code word is used as the code word. If such a character string does not exist in the buffer, the match flag is set to "0", and the character to be encoded is output as it is (for example, in ASCII code) as a code word.

【0005】ここで、上記スライド辞書法において、辞
書内の一致データ列の長さを表わすデータ(長さ指示
子)は、各長さに一対一で対応する固定的な構造になっ
ており、従って、そのビット数も固定であるか、もしく
は、長さがある一定以上になると拡張フォーマットを用
いてビット数を増やすのみであった。
Here, in the slide dictionary method, data (length indicator) representing the length of the matching data string in the dictionary has a fixed structure corresponding to each length on a one-to-one basis. Therefore, the number of bits is fixed or the number of bits is merely increased by using the extended format when the length becomes a certain value or more.

【0006】[0006]

【発明が解決しようとする課題】ところが、このような
従来の技術においては、圧縮する前のデータが予め分か
っているような場合、残りデータ数がある数以下,すな
わち長さ指示子で表わせる上限の1/2以下になると、
長さ指示子のデータサイズが冗長となる。例えば、長さ
指示子を8ビットとすると、単純に考えて、8ビットで
表わせる上限は“11111111”の255であるの
で、残りデータ数がその1/2以下,すなわち127に
なると“01111111”となって、上位1ビットが
冗長となり、さらに、その1/2以下,すなわち63に
なると“00111111”となって、上位2ビットが
冗長となり、以下、残りデータ数が1/2になる毎に上
位ビットが1ビットずつ冗長になり、そのビットが無駄
になっていた。これは、この圧縮方法(スライド辞書法)
が小さいサイズのデータ列に対して圧縮率が良くない原
因にもなっていた。
However, in such a conventional technique, when the data before compression is known in advance, the number of remaining data can be represented by a certain number or less, that is, a length indicator. When it is less than 1/2 of the upper limit,
The data size of the length indicator becomes redundant. For example, assuming that the length indicator is 8 bits, the upper limit that can be represented by 8 bits is 255 of “11111111”, so that when the number of remaining data is 1/2 or less, ie, 127, it is “01111111”. Thus, the upper 1 bit becomes redundant. Further, when it becomes 1/2 or less, ie, 63, it becomes "00111111", the upper 2 bits become redundant, and thereafter, every time the number of remaining data becomes 1/2, The upper bits become redundant one bit at a time, and the bits are wasted. This is the compression method (slide dictionary method)
Was also a cause of poor compression ratio for small-size data strings.

【0007】そこで、本発明はこのような問題点を解決
するためになされたものであり、入力データ列の後部
で、長さ指示子で表わされる上限の1/2以下の長さ分
のデータに対する圧縮データの冗長な部分を取り除き、
より圧縮効率の高いデータ圧縮方法及びその装置並びに
データ伸長方法及びその装置を提供することを目的とす
るものである。
Accordingly, the present invention has been made to solve such a problem, and the data at the end of the input data string is equal to or less than 1/2 of the upper limit represented by the length indicator. Remove redundant parts of the compressed data for
It is an object of the present invention to provide a data compression method and its device and a data decompression method and its device with higher compression efficiency.

【0008】[0008]

【課題を解決するための手段】請求項1に記載の発明
は、入力データ列のうち、各時点で符号化の対象となる
データの近傍のデータ列を所定数量まで記憶手段に格納
し、格納されたデータ列を符号化のために参照する辞書
として用い、各時点で符号化の対象となっている位置か
ら始まるデータ列に一致する上記辞書内のデータ列で、
上記所定数量の範囲内の既定の上限以下で最も長い一致
データ列を検索し、当該一致データ列が見つかれば、一
致を示すフラグと、見つかったデータ列の辞書内の位置
を示すポインタと、その長さを示す長さ指示子とから符
号語を構成するとともに、上記一致データ列が見つから
なければ、不一致を示すフラグと、符号化の対象となっ
ているデータそのものとから符号語を構成することによ
り、データの圧縮を行うデータ圧縮方法において、入力
データ列の残りデータ数を計数し、残りデータ数が上記
上限以下となった場合には、その残りデータ数を2進数
で表現可能な最小のビット数に上記長さ指示子のビット
数を設定し、設定した長さ指示子のビット数にて符号化
を行うようにしたものである。
According to the first aspect of the present invention, a predetermined number of data strings in the vicinity of data to be coded at each time point in an input data string are stored in a storage means. The data string in the dictionary is used as a dictionary to refer to for encoding for the encoding, and matches the data string starting from the position to be encoded at each time,
The longest matching data string is searched below the predetermined upper limit within the range of the predetermined quantity, and if the matching data string is found, a flag indicating a match, a pointer indicating the position of the found data string in the dictionary, and A codeword is composed of a length indicator indicating the length, and if the matching data string is not found, a codeword is composed of a flag indicating mismatch and the data to be encoded itself. In the data compression method for compressing data, the number of remaining data in the input data string is counted, and when the number of remaining data is equal to or less than the upper limit, the minimum number of remaining data that can be represented by a binary number is calculated. The number of bits of the length indicator is set as the number of bits, and encoding is performed using the set number of bits of the length indicator.

【0009】同様に、請求項2に記載の発明は、入力デ
ータ列のうち、各時点で符号化の対象となるデータの近
傍のデータ列を所定数量まで記憶手段に格納し、格納さ
れたデータ列を符号化のために参照する辞書として用
い、各時点で符号化の対象となっている位置から始まる
データ列に一致する上記辞書内のデータ列で、上記所定
数量の範囲内の既定の上限以下で最も長い一致データ列
を検索し、当該一致データ列が見つかれば、一致を示す
フラグと、見つかったデータ列の辞書内の位置を示すポ
インタと、その長さを示す長さ指示子とから符号語を構
成するとともに、上記一致データ列が見つからなけれ
ば、不一致を示すフラグと、符号化の対象となっている
データそのものとから符号語を構成することにより、デ
ータの圧縮を行うデータ圧縮装置において、入力データ
列の残りデータ数を計数する計数手段と、この計数手段
で計数された残りデータ数に基づき、その残りデータ数
が上記上限以下となったときに当該データ数を2進数で
表現可能な最小のビット数に上記長さ指示子のビット数
を設定する設定手段と、この設定手段で設定された長さ
指示子のビット数にて符号化を行う符号化手段とを備え
たものである。
Similarly, according to the present invention, the input data sequence stores a predetermined number of data sequences in the vicinity of the data to be encoded at each time in the storage means, and stores the stored data sequence. A data string in the dictionary that matches a data string starting from the position to be encoded at each point in time, using the string as a dictionary to be referenced for encoding, and a predetermined upper limit within the range of the predetermined quantity. The longest matching data string is searched below, and if the matching data string is found, a match indicating flag, a pointer indicating the position of the found data string in the dictionary, and a length indicator indicating its length are obtained. If the code word is formed and the above-mentioned matching data string is not found, the code word is formed from the flag indicating the mismatch and the data to be coded by itself to thereby compress the data. In the compression device, a counting means for counting the number of remaining data of the input data sequence, and based on the number of remaining data counted by the counting means, when the number of remaining data is equal to or less than the upper limit, the number of data is converted to a binary number. Setting means for setting the number of bits of the length indicator to the minimum number of bits that can be represented by: and encoding means for performing encoding with the number of bits of the length indicator set by the setting means. It is a thing.

【0010】また、請求項3に記載の発明は、上記請求
項2のデータ圧縮装置において、不揮発性半導体記憶手
段に書き込まれるプログラムやデータを圧縮するもので
ある。
According to a third aspect of the present invention, in the data compression apparatus of the second aspect, a program or data written in the nonvolatile semiconductor memory is compressed.

【0011】一方、請求項4に記載の発明は、上記請求
項1記載のデータ圧縮方法または請求項2記載のデータ
圧縮装置によって圧縮された圧縮データを入力し、符号
語に含まれるフラグが不一致を示すときは、当該符号語
に含まれる他のデータを取り出して復号化するととも
に、当該データを復号化のために参照する所定数量の辞
書に入力し、また、符号語に含まれるフラグが一致を示
すときは、当該符号語に含まれるポインタと長さ指示子
とを用いて上記辞書内から対応するデータを取り出して
復号化するとともに、当該データを上記辞書に入力する
ことにより、圧縮データの伸長を行うデータ伸長方法で
あって、伸長データの残りデータ数を計数し、残りデー
タ数が上記所定数量の範囲内の既定の上限以下となった
場合には、その残りデータ数を2進数で表現可能な最小
のビット数から上記長さ指示子のビット数を判別し、判
別した長さ指示子のビット数を用いて復号化を行うよう
にしたものである。
According to a fourth aspect of the present invention, there is provided the data compression method according to the first aspect of the present invention or the data compressed by the data compression apparatus according to the second aspect of the present invention, wherein the flags included in the codewords do not match. Indicates that other data included in the code word is taken out and decoded, the data is input to a predetermined number of dictionaries to be referred for decoding, and the flag included in the code word matches. Is indicated, the corresponding data is taken out from the dictionary using the pointer and the length indicator included in the code word and decoded, and the data is input to the dictionary to obtain compressed data. A data decompression method for decompression, wherein the number of remaining data of decompressed data is counted, and when the number of remaining data falls below a predetermined upper limit within a range of the predetermined quantity, the remaining data is counted. The number over data to determine the number of bits of the minimum of the length from the number of bits indicator that can be represented by a binary number, in which to perform decoding using the number of bits of the discriminated length indicator.

【0012】同様に、請求項5に記載の発明は、請求項
1記載のデータ圧縮方法または請求項2記載のデータ圧
縮装置によって圧縮された圧縮データを入力し、符号語
に含まれるフラグが不一致を示すときは、当該符号語に
含まれる他のデータを取り出して復号化するとともに、
当該データを復号化のために参照する所定数量の辞書に
入力し、また、符号語に含まれるフラグが一致を示すと
きは、当該符号語に含まれるポインタと長さ指示子とを
用いて上記辞書内から対応するデータを取り出して復号
化するとともに、当該データを上記辞書に入力すること
により、圧縮データの伸長を行うデータ伸長装置であっ
て、伸長データの残りデータ数を計数する計数手段と、
この計数手段で計数された残りデータ数に基づき、その
残りデータ数が上記所定数量の範囲内の既定の上限以下
となったときに当該データ数を2進数で表現可能な最小
のビット数から上記長さ指示子のビット数を判別する判
別手段と、この判別手段で判別された長さ指示子のビッ
ト数を用いて復号化を行う復号化手段とを備えたもので
ある。
Similarly, according to a fifth aspect of the present invention, the compressed data compressed by the data compression method according to the first aspect or the data compression apparatus according to the second aspect is input, and the flags included in the code words do not match. Indicates that other data included in the codeword is taken out and decoded,
The data is input to a predetermined number of dictionaries to be referred to for decoding, and when a flag included in the codeword indicates a match, the above data is obtained by using a pointer and a length indicator included in the codeword. A data decompression device for extracting and decoding corresponding data from the dictionary and inputting the data to the dictionary, thereby decompressing the compressed data, and a counting means for counting the number of remaining data of the decompressed data. ,
Based on the number of remaining data counted by the counting means, when the number of remaining data is equal to or less than a predetermined upper limit within the range of the predetermined quantity, the number of data is calculated from the minimum number of bits that can be expressed in a binary number. It is provided with a discriminating means for discriminating the number of bits of the length indicator, and a decoding means for performing decoding using the number of bits of the length indicator discriminated by the discriminating means.

【0013】また、請求項6に記載の発明は、上記請求
項5のデータ伸長装置において、プログラムやデータの
圧縮データが記憶された不揮発性半導体記憶手段から読
み出される圧縮データを伸長するものである。
According to a sixth aspect of the present invention, in the data decompression apparatus of the fifth aspect, the compressed data read from the nonvolatile semiconductor storage means in which the compressed data of the program and the data is stored is expanded. .

【0014】[0014]

【作用】請求項1記載のデータ圧縮方法によれば、圧縮
データのうち、最長一致データ列の長さを示す長さ指示
子のサイズ(ビット数)を、入力データ列の残りデータ
数が既定の上限以下となったときに2進数で表現可能な
最小のビット数に設定したので、入力データ列の後部
で、長さ指示子で表わされる上限の1/2以下の長さ分
のデータに対する圧縮データの冗長な部分を取り除き、
圧縮効率を向上することができる。
According to the data compression method of the first aspect, the size (the number of bits) of the length indicator indicating the length of the longest matching data string in the compressed data is determined by the remaining data number of the input data string. Is set to the minimum number of bits that can be represented by a binary number when the number of bits becomes less than or equal to the upper limit of the length of the input data string. Remove redundant parts of compressed data,
Compression efficiency can be improved.

【0015】また、請求項2記載のデータ圧縮装置によ
れば、上記請求項1と同様の作用を有するとともに、圧
縮を高速に行うことができる。
According to the second aspect of the present invention, the data compression apparatus has the same function as that of the first aspect and can perform compression at a high speed.

【0016】また、請求項3記載のデータ圧縮装置によ
れば、不揮発性半導体記憶手段に書き込まれるプログラ
ムやデータを圧縮するので、高価な記憶素子を効率的に
使用することができる。
According to the third aspect of the present invention, since the program and data written in the nonvolatile semiconductor memory are compressed, an expensive storage element can be used efficiently.

【0017】一方、請求項4記載のデータ伸長方法によ
れば、伸長データの残りデータ数が既定の上限以下とな
ったとき、圧縮データにおける長さ指示子のビット数
を、残りデータ数を2進数で表現可能な最小のビット数
と判別し、復号化を行うようにしたので、上記により圧
縮されたデータを伸長することができる。
On the other hand, according to the data decompression method of the fourth aspect, when the number of remaining data of the decompressed data is equal to or less than a predetermined upper limit, the number of bits of the length indicator in the compressed data is set to two. Since the decoding is performed by determining the minimum number of bits that can be represented by a base number, the data compressed as described above can be expanded.

【0018】また、請求項5記載のデータ伸長装置によ
れば、上記請求項4と同様の作用を有するとともに、伸
長を高速に行うことができる。
Further, according to the data decompression device of the fifth aspect, it is possible to perform the decompression at a high speed while having the same operation as that of the fourth aspect.

【0019】また、請求項6記載のデータ伸長装置によ
れば、不揮発性半導体記憶手段から読み出されるプログ
ラムやデータの圧縮データを、高速に伸長することがで
きる。
Further, according to the data decompression device of the present invention, it is possible to decompress a program or data read from the nonvolatile semiconductor storage means at high speed.

【0020】[0020]

【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は、本発明の一実施例に係るデータ圧縮装
置を示すブロック図である。図において、1は入力デー
タ列を一時保持する入力データバッファである。この入
力データバッファ1は、本実施例では、データバス幅8
ビット,アドレス8ビットで、計256バイトのシフト
レジスタで構成されており、アドレスFFh(hは16
進表記を意味し、この場合255番地,すなわち最上位
番地)にデータを入力することにより、各番地のデータ
はアドレスの若い方に向かってシフトされる。また、後
述する最長一致データ列検索装置3からの検索終了信号
(トリガ)を受けると、一致データ列有/無フラグが
“1”の時は、一致データ列長の示すバイト数だけ新た
なデータを入力し、バッファ内のデータはそのバイト数
分だけ順次シフトされる。また、一致データ列有/無フ
ラグが“0”の場合は、新たなデータを1バイト入力
し、バッファ内のデータは1バイトシフトされる。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a data compression device according to one embodiment of the present invention. In the figure, reference numeral 1 denotes an input data buffer for temporarily storing an input data string. This input data buffer 1 has a data bus width of 8 in this embodiment.
It is composed of a shift register of 256 bytes in total, and has an address FFh (h is 16 bits).
In this case, by inputting data at address 255, that is, the highest address, the data at each address is shifted toward the lower address. When a search end signal (trigger) is received from the longest match data string search device 3 to be described later, when the match data string presence / absence flag is “1”, new data is added by the number of bytes indicated by the match data string length. And the data in the buffer is sequentially shifted by the number of bytes. When the match data string presence / absence flag is "0", new data is input by one byte, and the data in the buffer is shifted by one byte.

【0021】2は前述したスライド辞書法に基づくスラ
イド辞書が格納される辞書バッファであり、本実施例で
は、この辞書バッファ2もデータバス幅8ビット,アド
レス8ビットで、計256バイトのシフトレジスタで構
成されている。入力データは、辞書バッファ2に空きが
ある時,すなわち辞書サイズ(dic_size)<2
56の時は、この辞書サイズ(dic_size)をア
ドレスとしてラッチされる(D(dic_size)=
入力データ)。一方、辞書バッファ2が満杯の時,すな
わち辞書サイズ(dic_size)=256の時は、
まず辞書データをアドレス00hに向かってシフト(D
(n)=D(n+1),n=1,2,・・・,254)
してからアドレスFFhにラッチされる。後述する最長
一致データ列検索時は、最長一致データ列検索装置3の
制御によるアドレスの示すデータを出力し、辞書データ
の検索が行なわれる。
Reference numeral 2 denotes a dictionary buffer for storing a slide dictionary based on the slide dictionary method described above. In this embodiment, the dictionary buffer 2 also has a data bus width of 8 bits and an address of 8 bits, and has a shift register of 256 bytes in total. It is composed of When input data is empty in the dictionary buffer 2, that is, dictionary size (dic_size) <2
At the time of 56, the dictionary size (dic_size) is latched as an address (D (dic_size) =
Input data). On the other hand, when the dictionary buffer 2 is full, that is, when the dictionary size (dic_size) = 256,
First, the dictionary data is shifted toward address 00h (D
(N) = D (n + 1), n = 1, 2,..., 254)
After that, it is latched at the address FFh. At the time of the longest match data string search described later, data indicating an address is output under the control of the longest match data string search device 3, and dictionary data is searched.

【0022】最長一致データ列検索装置3は、上記入力
データバッファ1のアドレス00hを先頭とするデータ
列と最も長く一致する2バイト以上のデータ列を、上記
256バイトの辞書バッファ2のうち、後述する辞書サ
イズカウンタ4の出力する辞書サイズ(dic_siz
e)の示す領域の中から検索するものである。この検索
の結果、一致データ列が見つかった場合は、一致データ
列有/無フラグを“1”にして、一致データ列の先頭デ
ータの辞書上の位置(アドレス)を示す一致データ列ポ
インタ(crspd_point)、及び一致データ列
の長さ(バイト数)を示す長さ指示子である一致データ
列長(crspd_len)を後述する符号化装置7に
出力するとともに、一致データ列を辞書バッファ2に出
力する。見つからなかった場合は、一致データ列有/無
フラグを“0”にして、生データ1バイトを符号化装置
7及び辞書バッファ2に出力する。
The longest matching data string search device 3 extracts a data string of 2 bytes or more that matches the data string starting from the address 00h of the input data buffer 1 longest in the 256-byte dictionary buffer 2 as described later. Dictionary size (dic_siz) output from the dictionary size counter 4
The search is performed from the area indicated by e). As a result of this search, if a match data string is found, the match data string presence / absence flag is set to “1”, and a match data string pointer (crspd_point) indicating the dictionary position (address) of the first data of the match data string ) And a match data string length (crspd_len), which is a length indicator indicating the length (the number of bytes) of the match data string, to the encoding device 7 described later, and outputs the match data string to the dictionary buffer 2. . If not found, the match data string presence / absence flag is set to “0” and one byte of raw data is output to the encoding device 7 and the dictionary buffer 2.

【0023】また、本実施例では、この最長一致データ
列検索装置3から辞書バッファ2にデータ列を出力する
際、1バイト出力する毎に辞書サイズカウンタ4にイン
クリメント信号を出力するとともに、残りデータ数カウ
ンタ5にデクリメント信号を出力する。出力を終える
と、最長一致データ列検索装置3は符号化装置7に対し
て検索終了信号(トリガー)を出力し、一回の最長一致
データ列検索処理を終える。また、符号化装置7からの
符号化終了信号(トリガー)を受けると、再び上述した
最長一致検索処理を開始する。
In this embodiment, when the longest match data string search device 3 outputs a data string to the dictionary buffer 2, an increment signal is output to the dictionary size counter 4 every time one byte is output, and the remaining data is output. The decrement signal is output to the number counter 5. When the output is completed, the longest match data string search device 3 outputs a search end signal (trigger) to the encoding device 7 and ends one longest match data string search process. Further, upon receiving an encoding end signal (trigger) from the encoding device 7, the longest match search process described above is started again.

【0024】辞書サイズカウンタ4は、カウント最大値
が256に設定されたアップカウンタで構成され、圧縮
開始時に図示しないシステムリセット信号によりリセッ
トされる。そして、上述した最大一致データ列検索装置
3からのインクリメント信号によりカウントアップし、
最大値(256)に達すると、以降その値を保持する。
この辞書サイズカウンタ4の出力(辞書サイズdic_
size)は、上記最長一致データ列検索装置3に出力
される。
The dictionary size counter 4 is composed of an up counter having a maximum count value set to 256, and is reset by a system reset signal (not shown) at the start of compression. Then, it is counted up by the increment signal from the maximum matching data string search device 3 described above,
When the maximum value (256) is reached, that value is retained thereafter.
The output of this dictionary size counter 4 (dictionary size dic_
size) is output to the longest match data string search device 3.

【0025】残りデータ数カウンタ5は、本願発明にお
いて備えられた計数手段に相当するもので、本圧縮装置
の利用分野で想定される最大のデータ数が設定可能なビ
ット数のダウンカウンタで構成され、圧縮開始前に入力
データ列のデータ数がセットされる。以降、最長一致デ
ータ列検索装置3からのデクリメント信号を受ける毎に
カウントダウンし、残りデータ数を長さ指示子データサ
イズジェネレータ6に出力する。
The remaining data number counter 5 corresponds to the counting means provided in the present invention, and is constituted by a down counter having a bit number capable of setting the maximum data number assumed in the field of application of the compression apparatus. Before the start of compression, the number of data in the input data sequence is set. Thereafter, each time the decrement signal is received from the longest matching data string search device 3, the countdown is performed, and the number of remaining data is output to the length indicator data size generator 6.

【0026】長さ指示子データサイズジェネレータ6
は、本願発明において備えられた設定手段に相当するも
ので、ゲート回路からなるエンコーダで構成され、上記
残りデータ数カウンタ5からの出力値(残りデータ数r
em_size)を元にして対応する長さ指示子データ
サイズ(len_size)を生成し、符号化装置7に
出力する。この長さ指示子データサイズジェネレータ6
の入力(残りデータ数rem_size)と出力(長さ
指示子データサイズ)の対応表を図2に示す。なお、残
りデータ数が257以上の時も最大一致データ列長の上
限は256なので、長さ指示子の最大値は255とな
る。また、残りデータ数が1の時は、2バイト以上の一
致データ列はある得ないので、一致データ列有/無フラ
グは常に0となり、従って、長さ指示子データサイズも
0となる。
Length indicator data size generator 6
Is equivalent to the setting means provided in the present invention, is constituted by an encoder composed of a gate circuit, and outputs an output value from the remaining data number counter 5 (remaining data number r
A corresponding length indicator data size (len_size) is generated based on (em_size) and output to the encoding device 7. This length indicator data size generator 6
FIG. 2 shows a correspondence table between the input (remaining data number rem_size) and the output (length indicator data size). Even when the number of remaining data is 257 or more, the upper limit of the maximum matching data string length is 256, so the maximum value of the length indicator is 255. When the number of remaining data is 1, there is no matching data string of 2 bytes or more, so that the matching data string presence / absence flag is always 0, and therefore the length indicator data size is also 0.

【0027】符号化装置7は、本願発明における符号化
手段に相当するもので、従来からある符号化装置に後述
する本願特有の機能が付加されたものである。この符号
化装置7は、前記最長一致データ列検索装置3からの検
索終了信号をトリガにして符号化処理を開始し、符号化
された圧縮データビットストリームを出力データ同期ク
ロックとともに出力する。すなわち、まず、一致データ
列有/無フラグ1ビットを出力する。次に、このフラグ
が“0”のときは、生データを8ビット(1バイト)を
LSB(最下位ビット)から順次出力する。また、フラ
グが“1”のときは、先ず一致データ列長(crspd
_len)2〜256から1を引いた8ビット(1〜2
55)のうちLSBから長さ指示子データサイズジェネ
レータ6の出力する長さ指示子データサイズが表わすビ
ット数分だけ順次出力する。次に、一致データ列ポイン
タ(crspd_point)8ビットをLSBから順
次出力する。これらの圧縮データビットストリームの出
力が終わると、符号化終了信号を最長一致データ列検索
装置3に出力する。
The encoding device 7 corresponds to the encoding means in the present invention, and is obtained by adding a function specific to the present application described later to a conventional encoding device. The encoding device 7 starts the encoding process by using the search end signal from the longest matching data string retrieval device 3 as a trigger, and outputs the encoded compressed data bit stream together with the output data synchronization clock. That is, first, a 1-bit flag indicating whether a matching data string is present or not is output. Next, when this flag is "0", 8 bits (1 byte) of raw data are sequentially output from the LSB (least significant bit). When the flag is “1”, first, the matching data string length (crspd
_Len) 8-bit (1-2) obtained by subtracting 1 from 2-256
55), the output is sequentially performed from the LSB by the number of bits represented by the length indicator data size output from the length indicator data size generator 6. Next, 8 bits of a matching data string pointer (crspd_point) are sequentially output from the LSB. When the output of these compressed data bit streams ends, an encoding end signal is output to the longest match data string search device 3.

【0028】次に、このように構成されたデータ圧縮装
置の動作について説明する。圧縮の対象となる入力デー
タ列は、256バイトの入力データバッファ1に一旦蓄
えられる。ここでは、例えば“abcabd・・・ab
c”となる256バイトの入力データ列を例に取って以
下の説明を行う。なお、圧縮開始時には辞書サイズカウ
ンタ4がシステムリセット信号によりリセットされて0
となり、また、残りデータ数カウンタ5に入力データ数
として256がセットされている。
Next, the operation of the data compression apparatus configured as described above will be described. An input data string to be compressed is temporarily stored in a 256-byte input data buffer 1. Here, for example, “abcabd... Ab
The following description is made by taking an example of a 256-byte input data string of c ″. At the start of compression, the dictionary size counter 4 is reset to 0 by a system reset signal.
In addition, 256 is set in the remaining data counter 5 as the number of input data.

【0029】最長一致データ列検索装置3は、図3にフ
ローチャートで示すアルゴリズムに従って最長一致デー
タ列検索処理を実行する。すなわち、先ずステップ10
1で、9ビット(0〜256)の一致データ列長(cr
spd_len)を0に初期化し、辞書バッファ2のア
ドレスを示す8ビット(0〜255)の辞書ポインタ
(dic_point)を0に初期化,すなわち辞書の
先頭に初期化する。また、ステップ102で一時的(テ
ンポラリ)な一致データ列長(comp_len)を0
に初期化し、入力データバッファ1のアドレスを示す8
ビット(0〜255)の入力データバッファポインタ
(str_point)を0に初期化,すなわち入力デ
ータ列の先頭に初期化する。
The longest match data string search device 3 executes the longest match data string search processing according to the algorithm shown in the flowchart of FIG. That is, first, step 10
1, the match data string length (cr) of 9 bits (0 to 256)
spd_len) is initialized to 0, and an 8-bit (0-255) dictionary pointer (dic_point) indicating the address of the dictionary buffer 2 is initialized to 0, that is, to the beginning of the dictionary. In step 102, the temporary (temporary) match data string length (comp_len) is set to 0.
To 8 indicating the address of the input data buffer 1
The input data buffer pointer (str_point) of the bit (0-255) is initialized to 0, that is, initialized to the beginning of the input data sequence.

【0030】次に、ステップ103で、上記入力データ
バッファポインタ(str_point)に対応する入
力データ(S),すなわち“a”と辞書ポインタ(di
c_point)に対応する辞書データ(D)とが一致
するか否かを判別する。今、辞書バッファ2には未だデ
ータが入力されていないので、不一致となってステップ
104に進み、辞書ポインタ(dic_point)を
インクリメントし、ステップ105で、辞書ポインタ
(dic_point)が辞書サイズカウンタ4の出力
する辞書サイズ(dic_size)以上となったか否
かを判別する。辞書サイズカウンタ4は圧縮開始時にシ
ステムリセット信号によりリセットされて0となってい
るので、このステップ105の判別は(Y)となってス
テップ113に進む。
Next, in step 103, the input data (S) corresponding to the input data buffer pointer (str_point), that is, "a" and the dictionary pointer (di)
It is determined whether or not the dictionary data (D) corresponding to (c_point) matches. Since data has not yet been input to the dictionary buffer 2, the data does not match and the process proceeds to step 104, where the dictionary pointer (dic_point) is incremented. At step 105, the dictionary pointer (dic_point) outputs the output of the dictionary size counter 4. It is determined whether or not the dictionary size (dic_size) is equal to or larger than the dictionary size (dic_size). Since the dictionary size counter 4 is reset to 0 by the system reset signal at the start of compression, the determination in step 105 is (Y) and the process proceeds to step 113.

【0031】ステップ113では、一致データ列長(c
rspd_len)が2以上か否かが判別される。すな
わち、一致データ列長が1バイト以下では圧縮する意味
がないので、ステップ115に進んで一致データ列有/
無フラグ(crspd_flag)を0とし、一致デー
タ列長が2バイト以上であれば有効な一致データ列を検
出したとして、ステップ114に進んで該フラグを1と
する。今、一致データ列長(crspd_len)はス
テップ101で初期化されたままで0であるので、ステ
ップ113からステップ115に進んで一致データ列有
/無フラグ(crspd_flag)を0とする。ま
た、この時、入力データ列の先頭データである生データ
1バイト“a”を符号化装置7と辞書バッファ2に出力
するとともに、辞書サイズカウンタ4にインクリメント
信号を出力し、残りデータ数カウンタ5にデクリメント
信号を出力する。そして、ステップ116に進んで検索
終了信号を符号化装置7と入力データバッファ1に出力
し、一回目の検索処理を終了する。
In step 113, the matching data string length (c
rspd_len) is 2 or more. That is, if the length of the matched data string is 1 byte or less, there is no point in compressing the data.
The no-flag (crspd_flag) is set to 0, and if the matching data string length is 2 bytes or more, a valid matching data string is detected, and the routine proceeds to step 114, where the flag is set to 1. Since the matching data string length (crspd_len) is still 0 while being initialized in step 101, the process proceeds from step 113 to step 115 to set the matching data string presence / absence flag (crspd_flag) to 0. At this time, one byte of raw data "a", which is the head data of the input data sequence, is output to the encoding device 7 and the dictionary buffer 2, and an increment signal is output to the dictionary size counter 4 to output the remaining data number counter 5 To output a decrement signal. Then, the process proceeds to step 116, where a search end signal is output to the encoding device 7 and the input data buffer 1, and the first search process ends.

【0032】符号化装置7は、上述した最長一致データ
列検索装置3からの検索終了信号をトリガーにして図4
にフローチャートで示す符号化処理を開始する。すなわ
ち、ステップ201で最長一致データ列検索装置3から
の一致データ列有/無フラグ1ビットを圧縮データビッ
トストリームとして出力する。次に、ステップ202で
上記一致データ列有/無フラグが1か否かを判別する。
今、該フラグは0であるので、ステップ203に進ん
で、最長一致データ列検索装置3からの生データ8ビッ
ト(1バイト“a”)をLSB(最下位ビット)から順
次出力する。そして、ステップ206に進み、符号化終
了信号を最長一致データ列検索装置3に出力し、一回目
の符号化処理を終了する。
The encoding device 7 uses the search end signal from the longest matching data string search device 3 described above as a trigger, and
The encoding process shown in the flowchart is started. That is, in step 201, the match data string presence / absence flag 1 bit from the longest match data string search device 3 is output as a compressed data bit stream. Next, at step 202, it is determined whether or not the coincidence data string presence / absence flag is 1.
Now, since the flag is 0, the process proceeds to step 203, where 8 bits (1 byte “a”) of the raw data from the longest matching data string search device 3 are sequentially output from the LSB (least significant bit). Then, the process proceeds to step 206, where an encoding end signal is output to the longest matching data string search device 3, and the first encoding process is ended.

【0033】上記符号化装置7からの符号化終了信号を
トリガーにして最長一致データ列検索装置3が起動さ
れ、図3のフローチャートで示す処理が実行される。こ
こで、2回目,3回目の最長一致データ列検索処理にお
いても、入力データ列の先頭データはそれぞれ“b”,
“c”となるので、入力データ列の先頭データと一致す
るデータを辞書の中から検索するステップ103〜10
5の処理において一致データ列は見つからず、上記と同
様な検索処理及び符号化処理となる。そして、辞書バッ
ファ2には、入力データ列の先頭からの3バイト“ab
c”が格納され、辞書サイズカウンタ4から出力される
辞書サイズ(dic_size)は3を示し、残りデー
タ数カウンタ5の出力する残りデータ数(rem_si
ze)は253となり、長さ指示子データサイズジェネ
レータ6の出力する長さ指示子データサイズ(len_
size)は8のままである(図2参照)。
The longest match data string search device 3 is started with the coding end signal from the coding device 7 as a trigger, and the processing shown in the flowchart of FIG. 3 is executed. Here, also in the second and third longest match data string search processing, the leading data of the input data string is “b”,
Since "c" is set, the data matching the head data of the input data string is searched from the dictionary in steps 103 to 103.
No matching data string is found in the processing of No. 5, and the same search processing and encoding processing as described above are performed. Then, the dictionary buffer 2 stores 3 bytes “ab” from the beginning of the input data string.
c ”is stored, the dictionary size (dic_size) output from the dictionary size counter 4 indicates 3, and the remaining data number (rem_si) output from the remaining data counter 5
ze) is 253, and the length indicator data size (len__) output from the length indicator data size generator 6
size) remains at 8 (see FIG. 2).

【0034】さて、次の4回目の検索処理において、入
力データ列の先頭データは“a”となる。図3のフロー
チャートのステップ103において、入力データバッフ
ァポインタ(str_point)に対応する入力デー
タ(S),すなわち“a”と辞書ポインタ(dic_p
oint)に対応する辞書データ(D),すなわち
“a”とが一致する。従って、ステップ106に進ん
で、入力データバッファポインタ(str_poin
t),辞書ポインタ(dic_point)及びテンポ
ラリ一致データ列長(comp_len)がそれぞれイ
ンクリメントされ、それぞれ1となる。次に、ステップ
107では、辞書ポインタ(dic_point)が辞
書サイズ(dic_size)以上になったか否かが判
定され、辞書ポインタは1で辞書サイズは3であるの
で、ステップ108に進む。このステップ108では、
入力データバッファポインタ(str_point)に
対応する入力データ(S)と辞書ポインタ(dic_p
oint)に対応する辞書データ(D)との一致が判別
され、それぞれ“b”となって一致するので、ステップ
106に戻って上述したインクリメントが行われ、入力
データバッファポインタ(str_point),辞書
ポインタ(dic_point),テンポラリ一致デー
タ列長(comp_len)はそれぞれ2となる。
In the fourth search process, the head data of the input data string is "a". In step 103 of the flowchart of FIG. 3, the input data (S) corresponding to the input data buffer pointer (str_point), that is, "a" and the dictionary pointer (dic_p
oint), that is, the dictionary data (D), that is, "a" matches. Therefore, the process proceeds to step 106, where the input data buffer pointer (str_point)
t), the dictionary pointer (dic_point), and the temporary match data string length (comp_len) are each incremented to 1, respectively. Next, in step 107, it is determined whether or not the dictionary pointer (dic_point) has become equal to or larger than the dictionary size (dic_size). Since the dictionary pointer is 1 and the dictionary size is 3, the process proceeds to step 108. In this step 108,
The input data (S) corresponding to the input data buffer pointer (str_point) and the dictionary pointer (dic_p)
oint) is determined to be identical to the dictionary data (D) corresponding to "b", so that the process returns to step 106, where the above-described increment is performed, and the input data buffer pointer (str_point) and the dictionary pointer (Dic_point) and the temporary match data string length (comp_len) are 2 each.

【0035】次のステップ107では辞書ポインタが2
で辞書サイズの3以上とならないので、ステップ108
に進む。ここで、入力データバッファポインタ(str
_point)に対応する入力データ(S)は“d”で
辞書ポインタ(dic_point)に対応する辞書デ
ータ(D)は“c”であり、一致しないのでステップ1
09に進み、テンポラリ一致データ列長(comp_l
en)が一致データ列長(crspd_len)より大
きいか否かが判別される。テンポラリ一致データ列長
(comp_len)は2で、一致データ列長(crs
pd_len)はステップ101で初期化されたままで
0であるので、ステップ110に進む。ステップ110
では、一致データ列長(crspd_len)にテンポ
ラリ一致データ列長(comp_len)の値2が代入
され、8ビット(0〜255)の一致データ列ポインタ
(crspd_point)には辞書ポインタ(dic
_point)から一致データ列長(crspd_le
n)を引いた値0が代入され、また辞書ポインタ(di
c_point)が一致データ列長(crspd_le
n)から1を引いた値分(ここでは1)だけデクリメント
されて1となり、ステップ102に戻る。なお、上記ス
テップ107で辞書ポインタが辞書サイズ以上になる
と、ステップ111,112において上記ステップ10
9,110と同様の一致データ列長の更新処理が行われ
る。また、ステップ109の判別の時点で既に一致デー
タ列長(crspd_len)に値が代入されており、
この値がテンポラリ一致データ列長(comp_le
n)の値以上の場合は、上記ステップ110の処理は行
わずに、ステップ102に戻る。
In the next step 107, the dictionary pointer is set to 2
Does not become 3 or more of the dictionary size.
Proceed to. Here, the input data buffer pointer (str)
_Point) is "d", and the dictionary data (D) corresponding to the dictionary pointer (dic_point) is "c".
09, the temporary match data string length (comp_l
en) is longer than the matching data string length (crspd_len). The temporary match data string length (comp_len) is 2, and the match data string length (crs
pd_len) is 0 as it is initialized in step 101, so the process proceeds to step 110. Step 110
Then, the value 2 of the temporary match data string length (comp_len) is substituted for the match data string length (crspd_len), and the dictionary pointer (dic) is assigned to the 8-bit (0-255) match data string pointer (crspd_point).
_Point) to the match data string length (crspd_le)
n) is substituted by 0, and the dictionary pointer (di
c_point) is the matching data string length (crspd_le)
The value is decremented by 1 (here, 1) obtained by subtracting 1 from n), and the process returns to step 102. If the dictionary pointer becomes equal to or larger than the dictionary size in step 107, steps 111 and 112 execute step 10
Update processing of the matching data string length similar to that of steps 9 and 110 is performed. At the time of the determination in step 109, a value has already been substituted for the matching data string length (crspd_len).
This value is the temporary match data string length (comp_le
If the value is equal to or more than the value of n), the process returns to step 102 without performing the process of step 110.

【0036】さて、ステップ102では、テンポラリ一
致データ列長(comp_len)が0に初期化される
とともに、入力データバッファポインタ(str_po
int)が入力データ列の先頭に初期化される。この時
点で、入力データ列の先頭データは“a”で、辞書ポイ
ンタ(dic_point)の値1に対応するデータは
“b”であって、それ以降にも一致するデータはないの
で、ステップ103〜105のループを1回廻って、ス
テップ104で辞書ポインタの値が3となると、ステッ
プ105で辞書サイズの値3と等しくなるので、ステッ
プ113に進む。ステップ113では、一致データ列長
(crspd_len)の値が2であるので、2以上の
条件が満たされ、ステップ114に進んで一致データ列
有/無フラグを“1”とする。また、この時、一致デー
タ列の先頭データの辞書上の位置(アドレス)を示す一
致データ列ポインタ(crspd_point)の値0
及び一致データ列の長さ(バイト数)を示す一致データ
列長(crspd_len)の値2を符号化装置7に出
力し、一致データ列“ab”を辞書に出力するととも
に、1バイト出力する毎に辞書サイズカウンタ4にイン
クリメント信号を出力し、残りデータ数カウンタ5にデ
クリメント信号を出力する。そして、ステップ116に
進んで検索終了信号を符号化装置7と入力データバッフ
ァ1に出力し、今回の検索処理を終了する。
In step 102, the temporary match data string length (comp_len) is initialized to 0, and the input data buffer pointer (str_po) is set.
int) is initialized to the beginning of the input data sequence. At this point, the leading data of the input data string is “a”, the data corresponding to the value 1 of the dictionary pointer (dic_point) is “b”, and there is no matching data thereafter. When the value of the dictionary pointer becomes 3 in step 104 after making one round of the loop of 105, the value becomes equal to the dictionary size value 3 in step 105, and the process proceeds to step 113. In step 113, since the value of the matching data string length (crspd_len) is 2, the condition of 2 or more is satisfied, and the routine proceeds to step 114, where the matching data string presence / absence flag is set to "1". At this time, the value 0 of the match data string pointer (crspd_point) indicating the position (address) of the head data of the match data string in the dictionary
And the value 2 of the matching data string length (crspd_len) indicating the length (the number of bytes) of the matching data string is output to the encoding device 7, and the matching data string "ab" is output to the dictionary and one byte is output. , An increment signal is output to the dictionary size counter 4 and a decrement signal is output to the remaining data counter 5. Then, the process proceeds to step 116 to output a search end signal to the encoding device 7 and the input data buffer 1, and ends the current search process.

【0037】符号化装置7は、同様に、この検索終了信
号をトリガーにして図4にフローチャートで示す符号化
処理を開始する。ステップ201で最長一致データ列検
索装置3からの一致データ列有/無フラグ1ビットを圧
縮データビットストリームとして出力する。次に、ステ
ップ202で上記一致データ列有/無フラグが1か否か
を判別する。今、該フラグは1であるので、ステップ2
04に進んで、9ビットの一致データ列長(2〜25
6)から1を引いて下位8ビット(1〜255)をLS
Bから長さ指示子データサイズのビット数分順次出力す
る。今、長さ指示子データサイズは8であるので、8ビ
ット全て出力する。次に、ステップ205に進んで、一
致データ列ポインタ(crspd_point)8ビッ
トをLSBから順次出力する。そして、ステップ206
に進み、符号化終了信号を最長一致データ列検索装置3
に出力し、今回の符号化処理を終了する。このとき符号
化装置7から出力される圧縮データビットストリーム
は、一致データ列有/無フラグ1ビットと一致データ列
長8ビットと一致データ列ポインタ8ビットの計17ビ
ットとなる。この場合、余り圧縮の意味がないが、例え
ば、入力データ列が“abcabc・・・”となる3バ
イト一致の場合では、24ビットが17ビットに圧縮さ
れることになる。
Similarly, the encoding device 7 starts the encoding process shown in the flowchart of FIG. 4 by using the search end signal as a trigger. In step 201, 1 bit of a match data string presence / absence flag from the longest match data string search device 3 is output as a compressed data bit stream. Next, at step 202, it is determined whether or not the coincidence data string presence / absence flag is 1. Now, since the flag is 1, step 2
04, the 9-bit matching data string length (2 to 25)
6) minus 1 and lower 8 bits (1 to 255) are LS
B is sequentially output for the number of bits of the length indicator data size. Now, since the length indicator data size is 8, all 8 bits are output. Next, the routine proceeds to step 205, where 8 bits of a coincidence data string pointer (crspd_point) are sequentially output from the LSB. And step 206
And the encoding end signal is sent to the longest matching data string search device 3
, And the current encoding process ends. At this time, the compressed data bit stream output from the encoding device 7 has a total of 17 bits including a match data string presence / absence flag of 1 bit, a match data string length of 8 bits, and a match data string pointer of 8 bits. In this case, compression is meaningless, but, for example, in the case where the input data string matches 3 bytes where "abcabc...", 24 bits are compressed to 17 bits.

【0038】以上のような処理が繰り返されて、入力デ
ータ列の残りデータ数が128バイト以下になると、残
りデータ数カウンタ5から出力される残りデータ数(r
em_size)も128以下となり、長さ指示子デー
タサイズジェネレータ6から出力される長さ指示子デー
タサイズ(lem_size)は7以下となる(図2参
照)。従って、一致データ列が見つかった場合の圧縮デ
ータビットストリームは、一致データ列有/無フラグ1
ビットと一致データ列長1〜7ビットと一致データ列ポ
インタ8ビットの計10〜16ビットとなる。具体的に
は、上記入力データ列の後尾の“abc”が辞書バッフ
ァ2の先頭からの“abc”と一致すると、残りデータ
数が3となって長さ指示子データサイズは2となるので
(図2参照)、一致データ列有/無フラグ1ビットと一
致データ列長2ビットと一致データ列ポインタ8ビット
の計11ビットとなる。すなわち、3バイト(24ビッ
ト)が11ビットに圧縮されたことになり、従来技術で
は、この場合でも17ビットのままであるので、本実施
例の圧縮処理の方が圧縮率が格段に良いことがわかる。
When the number of remaining data in the input data string becomes 128 bytes or less by repeating the above processing, the number of remaining data (r
em_size) is 128 or less, and the length indicator data size (lem_size) output from the length indicator data size generator 6 is 7 or less (see FIG. 2). Therefore, the compressed data bit stream in the case where the matching data string is found is the flag 1 indicating whether the matching data string is present or not.
The number of bits, the matching data string length is 1 to 7 bits, and the matching data string pointer is 8 bits, for a total of 10 to 16 bits. More specifically, if "abc" at the end of the input data string matches "abc" from the beginning of the dictionary buffer 2, the number of remaining data becomes three and the length indicator data size becomes two. 2), a match data string presence / absence flag is 1 bit, a match data string length is 2 bits, and a match data string pointer is 8 bits, for a total of 11 bits. That is, 3 bytes (24 bits) are compressed to 11 bits, and in the related art, 17 bits remain even in this case. Therefore, the compression processing of this embodiment has a much better compression ratio. I understand.

【0039】以上のような最長一致データ列検索処理及
び符号化処理が繰り返し行われて、符号化装置7から出
力される圧縮データビットストリームのフォーマット
は、図5の示すようになる。すなわち、図5において、
Fnはそれに続くデータDnに対する圧縮フラグ(一致
データ列有/無フラグ)1ビットで、“0”のときは非
圧縮データ、“1”のときは圧縮データを表している。
また、データDnは上記フラグFnに対するデータで、
フラグFnが“0”の時は生データ1バイト(LSBか
ら8ビット)、“1”のときは圧縮データが8〜16ビ
ットの範囲となる。このフラグFn=1の時の圧縮デー
タDnは、1〜8ビット可変長の一致データ列長(cr
spd_len)がLSBから順に並べられ、その後に
8ビットの一致データ列ポインタ(crspd_poi
nt)がLSBから順に並べられる。この8ビットの一
致データ列ポインタ(crspd_point)は一致
データ列の辞書内の先頭アドレスを示しており、1〜8
ビットの一致データ列長(crspd_len)は、1
〜255で2〜256の長さを表し、図2に示したよう
に残りデータ数に対応している。すなわち、残りデータ
数が128バイト以下になると、一致データ列長(cr
spd_len)の対応する下位ビットのみが必要とな
り、それ以外の上位ビットは冗長ビットなって不要とな
り、長さ指示子データサイズは1〜7ビットとなる。従
って、その分だけ従来技術に比べて圧縮率が向上する。
The format of the compressed data bit stream output from the encoding device 7 by repeating the longest matching data string search process and the encoding process as described above is as shown in FIG. That is, in FIG.
Fn is one bit of a compression flag (corresponding data string presence / absence flag) for the following data Dn. "0" represents non-compression data, and "1" represents compression data.
Data Dn is data for the flag Fn.
When the flag Fn is "0", the raw data is 1 byte (LSB 8 bits), and when the flag Fn is "1", the compressed data is in the range of 8 to 16 bits. When the flag Fn = 1, the compressed data Dn has a matching data string length (cr
spd_len) are arranged in order from the LSB, followed by an 8-bit matching data string pointer (crspd_poi).
nt) are arranged in order from the LSB. The 8-bit match data string pointer (crspd_point) indicates the start address of the match data string in the dictionary.
The bit match data string length (crspd_len) is 1
255 represents the length of 2-256, and corresponds to the number of remaining data as shown in FIG. That is, when the number of remaining data becomes 128 bytes or less, the matching data string length (cr
Only the corresponding lower bits of (spd_len) are required, and the other upper bits are redundant bits and become unnecessary, and the length indicator data size is 1 to 7 bits. Therefore, the compression ratio is improved by that much as compared with the prior art.

【0040】従って、このデータ圧縮装置(方法)を予
めデータ数が分かっている通信装置や記憶装置に適用す
ることにより、従来技術に比して転送データ量や記憶デ
ータ量が少なくなるので、転送速度の向上や記憶容量の
削減を図ることができる。特に、本願発明の対象とする
スライド辞書法が不得意とする小さいサイズ(辞書サイ
ズと比して)のデータ列を圧縮する際に効果的である。
また、記憶容量の削減に関しては、ROM等の不揮発性
半導体記憶素子を用いる例えばゲームカセット等におい
て、高価な記憶素子を効率的に使用することができる。
また、このゲームカセットにおいては、小さいサイズの
プログラムやデータが多数格納されるので、更に効果的
である。
Therefore, by applying this data compression device (method) to a communication device or a storage device in which the number of data is known in advance, the amount of transfer data and the amount of storage data are smaller than in the prior art. It is possible to improve the speed and reduce the storage capacity. In particular, the present invention is effective when compressing a data string of a small size (compared to a dictionary size) that the slide dictionary method targeted by the present invention is not good at.
As for the reduction of the storage capacity, an expensive storage element can be efficiently used in, for example, a game cassette using a nonvolatile semiconductor storage element such as a ROM.
Further, in this game cassette, a large number of small-sized programs and data are stored, which is more effective.

【0041】なお、上記実施例では、圧縮の高速化を図
るためデータ圧縮装置を実現したが、高速性が余り要求
されない分野、例えばゲームカセット用ROMへのプロ
グラムやデータの書き込み等においては、上述した処理
をソフトウエアで実現し、コンピュータにより実行する
ようにしても良い。
In the above embodiment, the data compression apparatus is realized in order to increase the speed of compression. However, in a field where high speed is not required much, for example, writing of a program or data to a ROM for a game cassette, the above-mentioned data compression apparatus is used. The above processing may be realized by software and executed by a computer.

【0042】図6は、本発明の一実施例に係るデータ伸
長装置を示すブロック図であり、上述したデータ圧縮装
置により圧縮されて転送又は記憶された圧縮データビッ
トストリームを伸長するものである。
FIG. 6 is a block diagram showing a data decompression device according to one embodiment of the present invention, which decompresses a compressed data bit stream compressed and transferred or stored by the above-described data compression device.

【0043】11は、本発明における復号化手段に相当
するデマルチプレクサであり、従来からあるデマルチプ
レクサに後述する本願特有の機能が付加されたものであ
る。このデマルチプレクサ11は、図5に示した圧縮デ
ータビットストリームを入力とし、入力データの先頭ビ
ットにあるフラグFnで圧縮か非圧縮かを判断し、必要
なビット数のデータ(Dn)を入力する。すなわち、非
圧縮(Fn=0)であれば、続く8ビットを蓄えてバイ
トデータとして伸長データ列に出力するとともに、辞書
バッファ12に書き込む。なお、伸長データ列の出力は
出力データ同期用クロックとともに行われ、辞書バッフ
ァ12への書き込みはライトクロックとシフトクロック
により行われる。この辞書バッファ12への書込みは、
辞書バッファ12に空きがあれば(dic_size<
256)、ライトアドレスは辞書サイズdic_siz
eとなり、書き込んだ後、辞書サイズカウンタ13にイ
ンクリメント信号を出力し、残りデータ数カウンタ14
にデクリメント信号を出力する。また、辞書バッファ1
2が満杯であれば(dic_size=256)、まず
辞書データをアドレス00hに向かってシフト(D
(n)=D(n+1),n=0,1,・・・,254)
してから、アドレスFFhに書き込む。一方、圧縮(F
n=1)の時は、これに続くデータDnのビット数を、
長さ指示子データサイズジェネレータ15の出力する長
さ指示子データサイズを参照して“長さ指示子データサ
イズ(len_size)+8”と決める。そして、先
ず長さ指示子データサイズ(len_size)のビッ
ト数分入力し、8ビットに足りない上位(8−len_
size)ビットに“0”を補充し、8ビットの一致デ
ータ列長(crspd_len)を構成する。さらに続
く8ビットを入力し、1バイトの一致データ列ポインタ
(crspd_point)を構成する。このようにし
て得られた一致データ列長(crspd_len)と一
致データ列ポインタ(crspd_point)を元に
して、辞書バッファ12内の一致データ列を参照する。
まず、一致データ列ポインタ(csrpd_poin
t)の示すアドレスの辞書データD(csrpd_po
int)を読み出す。このデータを伸長データとして出
力し、一致データ列長(crspd_len)をデクリ
メントする。また、伸長されたデータD(csrpd_
point)を辞書バッファ12に書き込む。上記同
様、辞書バッファ12に空きがあれば(dic_siz
e<256)、ライトアドレスは辞書サイズdic_s
izeとなる(D(dic_size)=D(crsp
d_point)。そして、辞書サイズカウンタ13に
インクリメント信号を出力するとともに、残りデータ数
カウンタ14にデクリメント信号を出力し、一致データ
列ポインタ(crspd_point)をインクリメン
トする。一方、辞書バッファ12が満杯であれば(di
c_size=256)、まず辞書データをアドレス0
0hに向かってシフト(D(n)=D(n+1),n=
0,1,・・・,254)してから、アドレスFFhに
書き込む(D(255)=D(crspd_poin
t))。そして、残りデータ数カウンタ14にデクリメ
ント信号を出力し、一致データ列ポインタ(crspd
_point)のインクリメントは行わない。一致デー
タ列長(crspd_len)のデクリメント処理にお
いてボローがでたら1回の復号化処理を終了し、入力デ
ータの次のフラグのチェックを行う。すなわち、一致デ
ータ列長(crspd_len)は、(実際の一致デー
タ列長)−1の値を表しているので、00hになるまで
ではなく、ボローが出てFFhになるまでが実際の一致
データ列長の処理となる。
Reference numeral 11 denotes a demultiplexer corresponding to the decoding means in the present invention, which is a conventional demultiplexer to which a function specific to the present application described later is added. The demultiplexer 11 receives the compressed data bit stream shown in FIG. 5 as input, determines whether the data is compressed or uncompressed based on a flag Fn in the first bit of the input data, and inputs data (Dn) of a required number of bits. . That is, if the data is uncompressed (Fn = 0), the next 8 bits are stored and output as byte data to the decompressed data string, and are written into the dictionary buffer 12. The output of the decompressed data string is performed together with the output data synchronization clock, and the writing to the dictionary buffer 12 is performed by the write clock and the shift clock. Writing to the dictionary buffer 12
If there is free space in the dictionary buffer 12, (dic_size <
256), the write address is the dictionary size dic_siz
e, and after writing, an increment signal is output to the dictionary size counter 13 and the remaining data number counter 14
To output a decrement signal. Dictionary buffer 1
2 is full (dic_size = 256), the dictionary data is first shifted to address 00h (D
(N) = D (n + 1), n = 0, 1,..., 254)
Then, write to the address FFh. On the other hand, compression (F
n = 1), the number of bits of the data Dn following this is
The length indicator data size output from the length indicator data size generator 15 is referred to, and “length indicator data size (len_size) +8” is determined. Then, first, input is performed for the number of bits of the length indicator data size (len_size), and the upper bits (8-len_less) that are less than 8 bits
The “size” bit is supplemented with “0” to form an 8-bit matching data string length (crspd_len). The subsequent 8 bits are input to form a 1-byte matching data string pointer (crspd_point). The matching data string in the dictionary buffer 12 is referred to based on the matching data string length (crspd_len) and the matching data string pointer (crspd_point) thus obtained.
First, the match data string pointer (csrpd_point)
Dictionary data D (csrpd_po) at the address indicated by t)
int). This data is output as decompressed data, and the matched data string length (crspd_len) is decremented. The decompressed data D (csrpd_
point) is written in the dictionary buffer 12. As described above, if there is a space in the dictionary buffer 12, (dic_siz
e <256), the write address is the dictionary size dic_s
size (D (dic_size) = D (crsp
d_point). Then, while outputting an increment signal to the dictionary size counter 13 and a decrement signal to the remaining data counter 14, the coincidence data string pointer (crspd_point) is incremented. On the other hand, if the dictionary buffer 12 is full (di
c_size = 256).
0h (D (n) = D (n + 1), n =
0, 1,..., 254) and then write to the address FFh (D (255) = D (crspd_point)
t)). Then, a decrement signal is output to the remaining data number counter 14, and the coincident data string pointer (crspd) is output.
_Point) is not incremented. If a borrow occurs in the decrementing process of the matching data string length (crspd_len), one decoding process ends, and the next flag of the input data is checked. That is, since the matching data string length (crspd_len) represents the value of (actual matching data string length) -1, the actual matching data string does not reach 00h but reaches a borrow and reaches FFh. It is a long process.

【0044】辞書バッファ12は、前記データ圧縮装置
の辞書バッファ2と同様なもので、データバス8ビッ
ト,アドレス8ビットで、計256バイトのシフトレジ
スタで構成されている。デマルチプレクサ11からの入
力データは、上述したように、辞書バッファ12に空き
がある時,すなわち辞書サイズ(dic_size)<
256の時は、この辞書サイズ(dic_size)を
アドレスとしてラッチされる(D(dic_size)
=入力データ)。一方、辞書バッファ12が満杯の時,
すなわち辞書サイズ(dic_size)=256の時
は、まず辞書データをアドレス00hに向かってシフト
(D(n)=D(n+1),n=1,2,・・・,25
4)してからアドレスFFhにラッチされる。また、デ
マルチプレクサ11の制御により、指定されたアドレス
(crspd_point)のデータが読み出され、デ
マルチプレクサ11に出力する。
The dictionary buffer 12 is the same as the dictionary buffer 2 of the data compression device, and is composed of a shift register of 8 bytes for the data bus and 8 bits for the address and a total of 256 bytes. As described above, the input data from the demultiplexer 11 is used when the dictionary buffer 12 has a space, that is, the dictionary size (dic_size) <
In the case of 256, this dictionary size (dic_size) is latched as an address (D (dic_size)
= Input data). On the other hand, when the dictionary buffer 12 is full,
That is, when the dictionary size (dic_size) = 256, the dictionary data is first shifted toward the address 00h (D (n) = D (n + 1), n = 1, 2,..., 25
4) and then latched at address FFh. Further, under the control of the demultiplexer 11, the data at the specified address (crspd_point) is read and output to the demultiplexer 11.

【0045】辞書サイズカウンタ13は、カウント最大
値が256に設定されたアップカウンタで構成され、伸
長開始時に図示しないシステムリセット信号によりリセ
ットされる。そして、上述したデマルチプレクサ11か
らのインクリメント信号によりカウントアップし、最大
値(256)に達すると、以降その値を保持する。この
辞書サイズカウンタ13からの辞書サイズ(dic_s
ize)は、デマルチプレクサ11に出力される。
The dictionary size counter 13 is constituted by an up counter having a maximum count value set to 256, and is reset by a system reset signal (not shown) at the start of decompression. Then, the count is incremented by the increment signal from the demultiplexer 11 described above, and when the count reaches the maximum value (256), the value is held thereafter. The dictionary size (dic_s) from the dictionary size counter 13
ize) is output to the demultiplexer 11.

【0046】残りデータ数カウンタ14は、本願発明に
おいて備えられた計数手段に相当するもので、本伸長装
置の利用分野で想定される最大のデータ数が設定可能な
ビット数のダウンカウンタで構成され、伸長開始前に入
力データ列のデータ数がセットされ、以降、デマルチプ
レクサ11からのデクリメント信号によりカウントダウ
ンし、残りデータ数(rem_size)を長さ指示子
データサイズジェネレータ15に出力する。
The remaining data number counter 14 corresponds to the counting means provided in the present invention, and is constituted by a down counter having a bit number capable of setting the maximum data number assumed in the application field of the present decompressor. , The number of data in the input data string is set before the start of decompression, and thereafter, the countdown is performed by the decrement signal from the demultiplexer 11, and the number of remaining data (rem_size) is output to the length indicator data size generator 15.

【0047】長さ指示子データサイズジェネレータ15
は、本願発明において備えられた判別手段に相当するも
ので、ゲート回路からなるエンコーダで構成され、上記
残りデータ数カウンタ14からの出力値(残りデータ
数)を元にして対応する長さ指示子データサイズ(le
n_size),すなわち一致データ列長のビット数を
生成し、デマルチプレクサ11に出力する。この長さ指
示子データサイズジェネレータ15の入力(残りデータ
数)と出力(長さ指示子データサイズ)の対応関係は図
2に示した通りである。
Length indicator data size generator 15
Is equivalent to the discriminating means provided in the present invention, is constituted by an encoder composed of a gate circuit, and has a corresponding length indicator based on the output value (remaining data number) from the remaining data number counter 14. Data size (le
n_size), that is, the number of bits of the matching data string length is generated and output to the demultiplexer 11. The correspondence between the input (the number of remaining data) and the output (length indicator data size) of the length indicator data size generator 15 is as shown in FIG.

【0048】次に、このように構成されたデータ伸長装
置の動作について説明する。ここでは、前記データ圧縮
装置の動作説明で用いた具体例による圧縮データビット
ストリームを伸長するものとして説明する。この圧縮デ
ータビットストリームは、図5のFn,Dnで示すと、
F0=0,D0=“a”,F1=0,D1=“b”,F
2=0,D2=“c”,F3=1,D3=000000
0100000000,F4=0,D4=“d”,・・
・,Fmax=1,Dmax=1000000000と
なる。なお、伸長開始時には、辞書サイズカウンタ13
がシステムリセット信号によりリセットされて0とな
り、また、残りデータ数カウンタ14に入力データ数と
して256がセットされている。
Next, the operation of the data decompression device configured as described above will be described. Here, a description will be given assuming that the compressed data bit stream according to the specific example used in the description of the operation of the data compression apparatus is expanded. This compressed data bit stream is represented by Fn and Dn in FIG.
F0 = 0, D0 = “a”, F1 = 0, D1 = “b”, F
2 = 0, D2 = “c”, F3 = 1, D3 = 000000
010000000000, F4 = 0, D4 = “d”,.
.., Fmax = 1 and Dmax = 10000000000. At the start of decompression, the dictionary size counter 13
Is reset to 0 by the system reset signal, and 256 is set in the remaining data counter 14 as the number of input data.

【0049】本データ伸長装置が起動され、上述した圧
縮データビットストリームがデマルチプレクサ11に入
力されると、デマルチプレクサ11は図7にフローチャ
ートで示す処理を開始する。すなわち、ステップ301
で入力データ列の先頭ビット(フラグF0)が1か否か
を判別する。今、入力データの先頭ビットF0=0であ
るので、ステップ302に進み、次の8ビット(D0=
“a”)を入力し、バイトデータとして伸長データ列に
出力する。次に、ステップ303で辞書バッファ12に
空きが有るか否かを辞書サイズ(dic_size)よ
り判別し、空きが有れば(dic_size<25
6)、ステップ304に進んで、辞書サイズカウンタ1
3の示す辞書サイズ(dic_size)をアドレスと
して辞書バッファ12に上記バイトデータを書き込む。
今、辞書サイズ(dic_size)は0であるので、
辞書バッファ12のアドレス00hにデータD0=
“a”が書き込まれる。この後、ステップ305で辞書
サイズカウンタ13にインクリメント信号を出力してカ
ウントアップし、ステップ307で残りデータ数カウン
タ14にデクリメント信号を出力してカウントダウン
し、ステップ301にもどる。なお、辞書バッファ12
に空きがなければ(dic_size=256)、ステ
ップ306に進み、辞書データをアドレス00hに向か
ってシフトしてからアドレスFFhに書き込む。
When the data decompression device is started and the above-described compressed data bit stream is input to the demultiplexer 11, the demultiplexer 11 starts the processing shown in the flowchart of FIG. That is, step 301
To determine whether the first bit (flag F0) of the input data string is 1 or not. Since the first bit F0 of the input data is 0, the process proceeds to step 302, where the next 8 bits (D0 =
“A”) is input and output to the decompressed data string as byte data. Next, at step 303, it is determined from the dictionary size (dic_size) whether or not there is a free space in the dictionary buffer 12, and if there is a free space (dic_size <25).
6) Proceeding to step 304, the dictionary size counter 1
The byte data is written in the dictionary buffer 12 using the dictionary size (dic_size) indicated by No. 3 as an address.
Now, since the dictionary size (dic_size) is 0,
Data D0 = at address 00h of dictionary buffer 12
“A” is written. Thereafter, in step 305, an increment signal is output to the dictionary size counter 13 to count up, and in step 307, a decrement signal is output to the remaining data counter 14 to count down, and the process returns to step 301. Note that the dictionary buffer 12
If there is no free space (dic_size = 256), the process proceeds to step 306, where the dictionary data is shifted toward the address 00h and then written to the address FFh.

【0050】次の入力データのフラグF1=0,データ
D1=“b”,その次のフラグF2=0,データD2=
“c”であるので、ステップ301〜305,307を
2回繰り返し、伸長データ列には“a”の次に“b”,
“c”が出力される。また、今、辞書バッファ12に
は、アドレス00hから“a”,“b”,“c”が順に
格納され、辞書サイズカウンタ13から出力される辞書
サイズ(dic_size)は3となり、残りデータ数
カウンタ14から出力される残りデータ数(rem_s
ize)は253となり、長さ指示子データサイズジェ
ネレータ15から出力される長さ指示子データサイズ
(len_size)は8のままとなる(図2参照)。
Next input data flag F1 = 0, data D1 = "b", next flag F2 = 0, data D2 =
Since it is “c”, steps 301 to 305 and 307 are repeated twice, and “b”, “b”,
“C” is output. Now, in the dictionary buffer 12, "a", "b", "c" are stored in order from address 00h, the dictionary size (dic_size) output from the dictionary size counter 13 is 3, and the remaining data number counter 14 (rem_s
(size) is 253, and the length indicator data size (len_size) output from the length indicator data size generator 15 remains at 8 (see FIG. 2).

【0051】さて、次の入力データの先頭ビットである
フラグF3=1となるので、ステップ301からステッ
プ308に進み、長さ指示子データサイズのビット数
分,すなわち8ビット(00000001)を入力し、
そのまま8ビットの一致データ列長を構成する。次のス
テップ309では、8ビット(00000000)を入
力し、1バイトの一致データ列ポインタを構成する。次
に、ステップ310に進み、辞書バッファ12から上記
一致データ列ポインタ00hのデータ“a”を読み出し
て、伸長データとして出力する。そして、ステップ31
1で一致データ列長(00000001)をデクリメン
トする。また、ステップ312で残りデータ数カウンタ
14にデクリメント信号を出力する。次に、ステップ3
13で、辞書バッファ12に空きが有るか否かを辞書サ
イズ(dic_size)より判別し、空きが有れば
(dic_size<256)、ステップ314に進ん
で、辞書サイズカウンタ13の示す辞書サイズ(dic
_size)をアドレスとして辞書バッファ12に伸長
データを書き込む。今、辞書サイズ(dic_siz
e)は3であるので、辞書バッファ12のアドレス03
hに伸長データ“a”が書き込まれる。この後、ステッ
プ315で、辞書サイズカウンタ13にインクリメント
信号を出力してカウントアップし、ステップ316で一
致データ列ポインタ(00h)をインクリメントして、
ステップ318に進む。なお、辞書バッファ12に空き
がなければ(dic_size=256)、ステップ3
17に進み、辞書データをアドレス00hに向かってシ
フトしてからアドレスFFhに書き込み、一致データ列
ポインタをインクリメントすることなく、ステップ31
8に進む。
Since the flag F3, which is the first bit of the next input data, becomes 1, the flow advances from step 301 to step 308 to input the number of bits of the length indicator data size, that is, 8 bits (00000001). ,
The 8-bit matching data string length is configured as it is. In the next step 309, 8 bits (00000000) are input to form a 1-byte matching data string pointer. Next, the routine proceeds to step 310, where the data "a" of the coincidence data string pointer 00h is read from the dictionary buffer 12 and output as decompressed data. And step 31
In step 1, the matching data string length (00000001) is decremented. In step 312, a decrement signal is output to the remaining data counter 14. Next, step 3
At 13, it is determined from the dictionary size (dic_size) whether or not there is an empty space in the dictionary buffer 12.
_Size) as an address to write the decompressed data to the dictionary buffer 12. Now, the dictionary size (dic_siz
Since e) is 3, the address 03 of the dictionary buffer 12 is
Decompressed data "a" is written to h. Thereafter, in step 315, an increment signal is output to the dictionary size counter 13 to count up. In step 316, the coincidence data string pointer (00h) is incremented.
Proceed to step 318. If there is no space in the dictionary buffer 12 (dic_size = 256), step 3
17, the dictionary data is shifted toward the address 00h, and then written to the address FFh.
Proceed to 8.

【0052】ステップ318では、一致データ列長がボ
ローが出たか否かが判別される。一致データ列長は00
hでまだボローは出ていないので、ステップ310に戻
る。そして、上記と同様に、辞書バッファ12から一致
データ列ポインタ01hのデータ“b”を読み出して、
伸長データとして出力するとともに(ステップ31
0)、一致データ列長00hをデクリメントし(ステッ
プ311)、また、残りデータ数カウンタ14にデクリ
メント信号を出力(ステップ312)する等して、上記
データ“b”を辞書バッファ12に書き込む(ステップ
314)。そして、辞書サイズカウンタ13にインクリ
メント信号を出力し(ステップ315)、一致データ列
ポインタをインクリメントし(ステップ316)、ステ
ップ318に進む。ここで、一致データ列長は上記ステ
ップ310におけるデクリメントによりボローが出でF
Fhとなっているので、最初のステップ301に戻る。
そして、入力データ列の次の先頭ビット(フラグF4)
は0であるので、ステップ302に進み、上記と同様な
処理が繰り返される。
At step 318, it is determined whether or not the matching data string length has a borrow. Matching data string length is 00
Since no borrow has yet been made at h, the process returns to step 310. Then, similarly to the above, the data “b” of the matching data string pointer 01h is read from the dictionary buffer 12, and
Output as decompressed data (step 31
0), decrement the coincident data string length 00h (step 311), and output a decrement signal to the remaining data counter 14 (step 312) to write the data "b" into the dictionary buffer 12 (step 311). 314). Then, an increment signal is output to the dictionary size counter 13 (step 315), the coincidence data string pointer is incremented (step 316), and the routine proceeds to step 318. Here, the matching data string length has a borrow due to the decrement in step 310, and
Since it is Fh, the process returns to the first step 301.
Then, the next leading bit of the input data string (flag F4)
Is 0, the process proceeds to step 302, and the same processing as described above is repeated.

【0053】このような処理を繰り返して、入力データ
の先頭ビットFmax=1となると、ステップ301か
らステップ308に進むが、このステップ308におい
て、長さ指示子データサイズのビット数分入力する。こ
こで、残りデータ数(rem_size)は3となり、
長さ指示子データサイズジェネレータ15からの長さ指
示子データサイズ(len_size)は2となるの
で、次の2ビット,すなわち“10”を入力し、8ビッ
トに足りない上位ビットに“0”を補充して、8ビット
の一致データ列長(00000010)を構成する。次
のステップ309では、8ビット(00000000)
を入力し、1バイトの一致データ列ポインタを構成す
る。次に、ステップ310に進み、辞書バッファ12か
ら上記一致データ列ポインタ00hのデータ“a”を読
み出して、伸長データとして出力する。そして、ステッ
プ311で一致データ列長(00000010)をデク
リメントする。また、ステップ312で残りデータ数カ
ウンタ14にデクリメント信号を出力する。次に、ステ
ップ313で辞書バッファ12に空きが有るか否かを辞
書サイズ(dic_size)より判別し、空きが有れ
ば(dic_size<256)、ステップ314に進
んで、辞書サイズカウンタ13の示す辞書サイズ(di
c_size)をアドレスとして辞書バッファ12に伸
長データを書き込む。今、辞書サイズ(dic_siz
e)は253であるので、辞書バッファ12のアドレス
FDhに伸長データ“a”が書き込まれる。この後、ス
テップ315で辞書サイズカウンタ13にインクリメン
ト信号を出力してカウントアップし、ステップ316で
一致データ列ポインタ(00h)をインクリメントし
て、ステップ318に進む。今、一致データ列長は01
hであるので、上記ステップ310〜316を2回繰り
返し、一致データ列長がFFh(ボロー)となると、全
ての入力データの復号化処理が終了し、伸長データ列と
して“abcabd・・・abc”が得られ、前述した
データ圧縮装置で圧縮する前の入力データ列が復元でき
たことになる。
When such processing is repeated and the first bit Fmax of the input data becomes 1, the process proceeds from step 301 to step 308. In step 308, the number of bits corresponding to the length indicator data size is input. Here, the number of remaining data (rem_size) is 3, and
Since the length indicator data size (len_size) from the length indicator data size generator 15 is 2, the next 2 bits, ie, “10”, are input, and “0” is added to the upper bits that are less than 8 bits. This is supplemented to form an 8-bit matching data string length (00000010). In the next step 309, 8 bits (00000000)
To form a 1-byte matching data string pointer. Next, the routine proceeds to step 310, where the data "a" of the coincidence data string pointer 00h is read from the dictionary buffer 12 and output as decompressed data. Then, in step 311, the matching data string length (00000010) is decremented. In step 312, a decrement signal is output to the remaining data counter 14. Next, in step 313, it is determined from the dictionary size (dic_size) whether or not the dictionary buffer 12 has an empty space. Size (di
Write the decompressed data to the dictionary buffer 12 using c_size) as an address. Now, the dictionary size (dic_siz
Since e) is 253, the decompressed data "a" is written to the address FDh of the dictionary buffer 12. Thereafter, in step 315, an increment signal is output to the dictionary size counter 13 to count up. In step 316, the coincidence data string pointer (00h) is incremented, and the flow advances to step 318. Now, the match data string length is 01
h, the above steps 310 to 316 are repeated twice, and when the matching data string length becomes FFh (borrow), decoding processing of all input data ends, and “abcabd. Is obtained, and the input data sequence before being compressed by the above-described data compression device can be restored.

【0054】なお、上記実施例では、伸長処理の高速化
を図るためデータ伸長装置を実現したが、高速性が余り
要求されない分野においては、上述した処理をソフトウ
エアで実現し、コンピュータにより実行するようにして
も良い。
In the above embodiment, the data decompression device is implemented to speed up the decompression process. However, in a field where high speed is not required much, the above-described process is realized by software and executed by a computer. You may do it.

【0055】また、予めデータ数が分かっており、RO
MやバッテリーバックアップされたRAM等の高価な不
揮発性半導体記憶手段に、小さいサイズのプログラムや
データが多数格納され、高速な読み出しが要求されるゲ
ームカセット等においては、上述したデータ伸長装置を
組み込むことにより、上記各条件が満たされるので、特
に効果的である。
Further, since the number of data is known in advance, the RO
In a game cassette or the like in which a large number of small-sized programs and data are stored in expensive nonvolatile semiconductor storage means such as an M or a battery-backed RAM and the like and high-speed reading is required, the above-described data decompression device should be incorporated. Is particularly effective because the above conditions are satisfied.

【0056】また、上記各実施例においては、データ圧
縮装置及びデータ伸長装置の辞書バッファ2、12にシ
フトレジスタを用いた場合について示したが、これらの
辞書バッファに通常のメモリを用い、書き込みアドレス
を順次サイクリックに更新することにより、辞書内容を
上書きにより順次更新し、これによりスライド辞書を実
現するようにしても良い。
Further, in each of the above embodiments, the case where shift registers are used for the dictionary buffers 2 and 12 of the data compression device and the data decompression device has been shown. May be sequentially updated to sequentially update the contents of the dictionary by overwriting, thereby realizing a slide dictionary.

【0057】[0057]

【発明の効果】請求項1記載の発明によれば、スライド
辞書法を用いてデータの圧縮を行うデータ圧縮方法にお
いて、入力データ列の残りデータ数を計数し、残りデー
タ数が辞書容量の範囲内の既定の上限以下となった場合
には、その残りデータ数を2進数で表現可能な最小のビ
ット数に長さ指示子のビット数を設定し、設定した長さ
指示子のビット数にて符号化を行うようにしたので、入
力データ列の後部で、長さ指示子で表わされる上限の1
/2以下の長さ分のデータに対する圧縮データの冗長な
部分を取り除くことができ、圧縮率を従来よりも高くす
ることができる効果がある。従って、この発明を予めデ
ータ数の分かっている通信装置や記憶装置に適用するこ
とにより、従来技術に比して転送データ量や記憶データ
量が少なくなるので、転送速度の向上や記憶容量の削減
を図ることができる。特に、本願発明の対象とするスラ
イド辞書法が不得意とする小さいサイズ(辞書サイズと
比して)のデータ列を圧縮する際に効果的である。
According to the first aspect of the present invention, in the data compression method for compressing data using the slide dictionary method, the number of remaining data in the input data string is counted, and the remaining data is in the range of the dictionary capacity. If the number of remaining data is less than the specified upper limit, set the number of bits of the length indicator to the minimum number of bits that can represent the remaining data in binary, and set the number of bits of the set length indicator to The encoding is performed at the end of the input data sequence.
It is possible to remove a redundant portion of the compressed data for data having a length equal to or less than / 2, and to increase the compression ratio as compared with the related art. Therefore, by applying the present invention to a communication device or a storage device of which the number of data is known in advance, the transfer data amount and the storage data amount are reduced as compared with the conventional technology, so that the transfer speed is improved and the storage capacity is reduced. Can be achieved. In particular, the present invention is effective when compressing a data string of a small size (compared to a dictionary size) that the slide dictionary method targeted by the present invention is not good at.

【0058】また、請求項2記載の発明によれば、スラ
イド辞書法を用いてデータの圧縮を行うデータ圧縮装置
において、入力データ列の残りデータ数を計数する計数
手段と、この計数手段で計数された残りデータ数に基づ
き、その残りデータ数が辞書容量の範囲内の既定の上限
以下となったときに当該データ数を2進数で表現可能な
最小のビット数に長さ指示子のビット数を設定する設定
手段と、この設定手段で設定された長さ指示子のビット
数にて符号化を行う符号化手段とを備えたので、上記請
求項1と同様な効果が得られるとともに、圧縮を高速で
行うことができる効果がある。
According to a second aspect of the present invention, there is provided a data compression apparatus for compressing data using the slide dictionary method, wherein a counting means for counting the number of remaining data in the input data sequence, The number of bits of the length indicator is set to the minimum number of bits that can represent the number of data in a binary number when the number of remaining data is equal to or less than a predetermined upper limit within the range of the dictionary capacity based on the number of remaining data that has been set And setting means for setting the number of bits of the length indicator set by the setting means, so that the same effect as in claim 1 can be obtained, and This can be performed at a high speed.

【0059】また、請求項3記載の発明によれば、不揮
発性半導体記憶手段に書き込まれるプログラムやデータ
を圧縮するので、高価な記憶素子を効率的に使用するこ
とができる効果がある。
According to the third aspect of the present invention, since programs and data written in the non-volatile semiconductor storage means are compressed, there is an effect that an expensive storage element can be used efficiently.

【0060】一方、請求項4記載の発明によれば、上記
請求項1記載のデータ圧縮方法または請求項2記載のデ
ータ圧縮装置によって圧縮された圧縮データを伸長する
データ伸長方法であって、伸長データの残りデータ数を
計数し、残りデータ数が辞書容量の範囲内の既定の上限
以下となった場合には、その残りデータ数を2進数で表
現可能な最小のビット数から長さ指示子のビット数を判
別し、判別した長さ指示子のビット数を用いて復号化を
行うようにしたので、上記により圧縮されたデータを伸
長することができる効果がある。
According to a fourth aspect of the present invention, there is provided a data decompression method for decompressing data compressed by the data compression method according to the first aspect or the data compression apparatus according to the second aspect. The remaining data number is counted, and when the remaining data number becomes equal to or less than a predetermined upper limit within the range of the dictionary capacity, the remaining data number is calculated from the minimum number of bits that can be represented by a binary number to a length indicator. Is determined, and decoding is performed using the determined number of bits of the length indicator, so that the data compressed as described above can be expanded.

【0061】また、請求項5記載の発明によれば、上記
請求項1記載のデータ圧縮方法または請求項2記載のデ
ータ圧縮装置によって圧縮された圧縮データを伸長する
データ伸長装置であって、伸長データの残りデータ数を
計数する計数手段と、この計数手段で計数された残りデ
ータ数に基づき、その残りデータ数が辞書容量の範囲内
の既定の上限以下となったときに当該データ数を2進数
で表現可能な最小のビット数から長さ指示子のビット数
を判別する判別手段と、この判別手段で判別された長さ
指示子のビット数を用いて復号化を行う復号化手段とを
備えたので、上記請求項4と同様の効果を有するととも
に、伸長を高速に行うことができる効果がある。
According to a fifth aspect of the present invention, there is provided a data decompression device for decompressing data compressed by the data compression method according to the first aspect or the data compression device according to the second aspect. Counting means for counting the number of remaining data of the data; and, based on the number of remaining data counted by the counting means, when the number of remaining data falls below a predetermined upper limit within the range of the dictionary capacity, the number of data is reduced by 2 Discriminating means for discriminating the number of bits of the length indicator from the minimum number of bits that can be represented by a hexadecimal number; and decoding means for decoding using the number of bits of the length indicator discriminated by the discriminating means. With this arrangement, the same effect as that of the fourth aspect is obtained, and also, there is an effect that the extension can be performed at a high speed.

【0062】また、請求項6記載の発明によれば、不揮
発性半導体記憶手段から読み出されるプログラムやデー
タの圧縮データを高速に伸長できる効果がある。
Further, according to the invention of claim 6, there is an effect that the compressed data of the program or data read from the nonvolatile semiconductor storage means can be decompressed at high speed.

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

【図1】本発明の一実施例に係るデータ圧縮装置を示す
ブロック図。
FIG. 1 is a block diagram showing a data compression device according to one embodiment of the present invention.

【図2】上記実施例における残りデータ数と長さ指示子
データサイズとの対応表を示す図。
FIG. 2 is a diagram showing a correspondence table between a remaining data number and a length indicator data size in the embodiment.

【図3】上記実施例のおける最長一致データ列検索装置
の動作を示すフローチャート。
FIG. 3 is a flowchart showing the operation of the longest match data string search device in the embodiment.

【図4】上記実施例における符号化装置の動作を示すフ
ローチャート。
FIG. 4 is a flowchart showing an operation of the encoding device in the embodiment.

【図5】上記実施例における圧縮データビットストリー
ムの説明図。
FIG. 5 is an explanatory diagram of a compressed data bit stream in the embodiment.

【図6】本発明の一実施例に係るデータ伸長装置を示す
ブロック図。
FIG. 6 is a block diagram showing a data decompression device according to one embodiment of the present invention.

【図7】上記実施例のおけるデマルチプレクサの動作を
示すフローチャート。
FIG. 7 is a flowchart showing the operation of the demultiplexer in the embodiment.

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

2,12 辞書バッファ 3 最長一致データ列検索装置 4,13 辞書サイズカウンタ 5,14 残りデータ数カウンタ 6,15 長さ指示子データサイズジェネレータ 7 符号化装置 11 デマルチプレクサ 2,12 Dictionary buffer 3 Longest matching data string search device 4,13 Dictionary size counter 5,14 Remaining data number counter 6,15 Length indicator data size generator 7 Encoding device 11 Demultiplexer

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−314430(JP,A) 特開 平2−233025(JP,A) 特開 平3−68219(JP,A) 特開 平3−204232(JP,A) 特開 平3−204233(JP,A) 特開 平3−78322(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-1-314430 (JP, A) JP-A-2-233025 (JP, A) JP-A-3-68219 (JP, A) JP-A-3-32419 204232 (JP, A) JP-A-3-204233 (JP, A) JP-A-3-78322 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H03M 7/40

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力データ列のうち、各時点で符号化の
対象となるデータの近傍のデータ列を所定数量まで記憶
手段に格納し、格納されたデータ列を符号化のために参
照する辞書として用い、各時点で符号化の対象となって
いる位置から始まるデータ列に一致する上記辞書内のデ
ータ列で、上記所定数量の範囲内の既定の上限以下で最
も長い一致データ列を検索し、当該一致データ列が見つ
かれば、一致を示すフラグと、見つかったデータ列の辞
書内の位置を示すポインタと、その長さを示す長さ指示
子とから符号語を構成するとともに、上記一致データ列
が見つからなければ、不一致を示すフラグと、符号化の
対象となっているデータそのものとから符号語を構成す
ることにより、データの圧縮を行うデータ圧縮方法にお
いて、 入力データ列の残りデータ数を計数し、残りデータ数が
上記上限以下となった場合には、その残りデータ数を2
進数で表現可能な最小のビット数に上記長さ指示子のビ
ット数を設定し、設定した長さ指示子のビット数にて符
号化を行うことを特徴とするデータ圧縮方法。
1. A dictionary for storing a predetermined number of data strings in the input data string in the vicinity of data to be encoded at each time in a storage unit, and referencing the stored data strings for encoding. The data string in the dictionary that matches the data string starting from the position to be encoded at each point in time is searched for the longest matching data string that is equal to or less than a predetermined upper limit within the range of the predetermined quantity. If the matching data string is found, a code word is formed from a flag indicating a match, a pointer indicating the position of the found data string in the dictionary, and a length indicator indicating the length of the matching data string. If a column is not found, the data compression method for compressing data by constructing a codeword from a flag indicating a mismatch and the data to be coded itself. Of counting the number of remaining data, if the number of remaining data is equal to or less than the upper limit, the number of remaining data 2
A data compression method comprising: setting the number of bits of the length indicator to the minimum number of bits that can be expressed in a base number; and performing encoding using the set number of bits of the length indicator.
【請求項2】 入力データ列のうち、各時点で符号化の
対象となるデータの近傍のデータ列を所定数量まで記憶
手段に格納し、格納されたデータ列を符号化のために参
照する辞書として用い、各時点で符号化の対象となって
いる位置から始まるデータ列に一致する上記辞書内のデ
ータ列で、上記所定数量の範囲内の既定の上限以下で最
も長い一致データ列を検索し、当該一致データ列が見つ
かれば、一致を示すフラグと、見つかったデータ列の辞
書内の位置を示すポインタと、その長さを示す長さ指示
子とから符号語を構成するとともに、上記一致データ列
が見つからなければ、不一致を示すフラグと、符号化の
対象となっているデータそのものとから符号語を構成す
ることにより、データの圧縮を行うデータ圧縮装置にお
いて、 入力データ列の残りデータ数を計数する計数手段と、こ
の計数手段で計数された残りデータ数に基づき、その残
りデータ数が上記上限以下となったときに当該データ数
を2進数で表現可能な最小のビット数に上記長さ指示子
のビット数を設定する設定手段と、この設定手段で設定
された長さ指示子のビット数にて符号化を行う符号化手
段とを備えたことを特徴とするデータ圧縮装置。
2. A dictionary for storing a predetermined number of data strings in the input data string in the vicinity of data to be encoded at each time in a storage unit, and referencing the stored data strings for encoding. The data string in the dictionary that matches the data string starting from the position to be encoded at each point in time is searched for the longest matching data string that is equal to or less than a predetermined upper limit within the range of the predetermined quantity. If the matching data string is found, a code word is formed from a flag indicating a match, a pointer indicating the position of the found data string in the dictionary, and a length indicator indicating the length of the matching data string. If the column is not found, the data compression apparatus performs data compression by forming a codeword from a flag indicating a mismatch and the data to be encoded. Counting means for counting the number of remaining data, and, based on the number of remaining data counted by the counting means, when the number of remaining data is equal to or less than the upper limit, the smallest bit capable of expressing the number of data in a binary number. Data comprising: setting means for setting the number of bits of the length indicator to a number; and encoding means for performing encoding with the number of bits of the length indicator set by the setting means. Compression device.
【請求項3】 不揮発性半導体記憶手段に書き込まれる
プログラムやデータを圧縮することを特徴とする請求項
2記載のデータ圧縮装置。
3. The data compression apparatus according to claim 2, wherein a program or data written in the nonvolatile semiconductor memory is compressed.
【請求項4】 請求項1記載のデータ圧縮方法または請
求項2記載のデータ圧縮装置によって圧縮された圧縮デ
ータを入力し、符号語に含まれるフラグが不一致を示す
ときは、当該符号語に含まれる他のデータを取り出して
復号化するとともに、当該データを復号化のために参照
する所定数量の辞書に入力し、また、符号語に含まれる
フラグが一致を示すときは、当該符号語に含まれるポイ
ンタと長さ指示子とを用いて上記辞書内から対応するデ
ータを取り出して復号化するとともに、当該データを上
記辞書に入力することにより、圧縮データの伸長を行う
データ伸長方法であって、 伸長データの残りデータ数を計数し、残りデータ数が上
記所定数量の範囲内の既定の上限以下となった場合に
は、その残りデータ数を2進数で表現可能な最小のビッ
ト数から上記長さ指示子のビット数を判別し、判別した
長さ指示子のビット数を用いて復号化を行うことを特徴
とするデータ伸長方法。
4. A compressed data compressed by the data compression method according to claim 1 or the data compression apparatus according to claim 2 is input, and when a flag included in a code word indicates a mismatch, the data is included in the code word. The other data is extracted and decoded, and the data is input to a predetermined number of dictionaries to be referenced for decoding.If the flag included in the codeword indicates a match, the data is included in the codeword. A data decompression method for decompressing compressed data by extracting and decoding corresponding data from the dictionary using the pointer and the length indicator to be input, and inputting the data into the dictionary. The number of remaining data of the decompressed data is counted, and when the number of remaining data is equal to or less than a predetermined upper limit within the range of the above-mentioned predetermined amount, the minimum number of data that can be represented by a binary number is calculated. Data decompression method characterized by determine the number of bits of the length indicator from the number of bits, performs decoding using the number of bits of the discriminated length indicator.
【請求項5】 請求項1記載のデータ圧縮方法または請
求項2記載のデータ圧縮装置によって圧縮された圧縮デ
ータを入力し、符号語に含まれるフラグが不一致を示す
ときは、当該符号語に含まれる他のデータを取り出して
復号化するとともに、当該データを復号化のために参照
する所定数量の辞書に入力し、また、符号語に含まれる
フラグが一致を示すときは、当該符号語に含まれるポイ
ンタと長さ指示子とを用いて上記辞書内から対応するデ
ータを取り出して復号化するとともに、当該データを上
記辞書に入力することにより、圧縮データの伸長を行う
データ伸長装置であって、 伸長データの残りデータ数を計数する計数手段と、この
計数手段で計数された残りデータ数に基づき、その残り
データ数が上記所定数量の範囲内の既定の上限以下とな
ったときに当該データ数を2進数で表現可能な最小のビ
ット数から上記長さ指示子のビット数を判別する判別手
段と、この判別手段で判別された長さ指示子のビット数
を用いて復号化を行う復号化手段とを備えたことを特徴
とするデータ伸長装置。
5. A compressed data compressed by the data compression method according to claim 1 or the data compression apparatus according to claim 2, and when a flag included in a code word indicates mismatch, the data is included in the code word. The other data is extracted and decoded, and the data is input to a predetermined number of dictionaries to be referenced for decoding.If the flag included in the codeword indicates a match, the data is included in the codeword. A data decompression device for extracting corresponding data from the dictionary using the pointer and the length indicator to be decoded and decoding the data, and inputting the data to the dictionary, thereby expanding compressed data, Counting means for counting the number of remaining data of the decompressed data; and, based on the number of remaining data counted by the counting means, the number of remaining data is a predetermined upper limit within the range of the predetermined quantity. Discriminating means for discriminating the number of bits of the length indicator from the minimum number of bits capable of expressing the number of data in binary when the number of data becomes lower, and the number of bits of the length indicator discriminated by the discriminating means A data decompression device, comprising: decoding means for performing decoding by using.
【請求項6】 プログラムやデータの圧縮データが記憶
された不揮発性半導体記憶手段から読み出される圧縮デ
ータを伸長することを特徴とする請求項5記載のデータ
伸長装置。
6. The data decompressor according to claim 5, wherein the decompressed data read from the non-volatile semiconductor storage means in which the compressed data of the program or data is stored.
JP27432994A 1994-10-14 1994-10-14 Data compression method and device, and data decompression method and device Expired - Fee Related JP3143029B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27432994A JP3143029B2 (en) 1994-10-14 1994-10-14 Data compression method and device, and data decompression method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27432994A JP3143029B2 (en) 1994-10-14 1994-10-14 Data compression method and device, and data decompression method and device

Publications (2)

Publication Number Publication Date
JPH08116270A JPH08116270A (en) 1996-05-07
JP3143029B2 true JP3143029B2 (en) 2001-03-07

Family

ID=17540145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27432994A Expired - Fee Related JP3143029B2 (en) 1994-10-14 1994-10-14 Data compression method and device, and data decompression method and device

Country Status (1)

Country Link
JP (1) JP3143029B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117119120B (en) * 2023-10-25 2023-12-22 上海伯镭智能科技有限公司 Cooperative control method based on multiple unmanned mine cars

Also Published As

Publication number Publication date
JPH08116270A (en) 1996-05-07

Similar Documents

Publication Publication Date Title
US5955976A (en) Data compression for use with a communications channel
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
JP3273119B2 (en) Data compression / decompression device
CA2260883C (en) Data compression and decompression system with immediate dictionary updating interleaved with string search
US5254990A (en) Method and apparatus for compression and decompression of data
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
US5703581A (en) Method and apparatus for data compression and decompression
US7215259B2 (en) Data compression with selective encoding of short matches
US7071848B1 (en) Hardware-friendly general purpose data compression/decompression algorithm
US5877711A (en) Method and apparatus for performing adaptive data compression
JP3240495B2 (en) Lossless data encoding method and device, and decompression device
JPH07249996A (en) Method and apparatus for restoration of compressed code
JP2000315954A (en) Method for compressing inputted data stream and device therefor
JPH03204233A (en) Data compression method
JP3241788B2 (en) Data compression method
US5010344A (en) Method of decoding compressed data
JP3143029B2 (en) Data compression method and device, and data decompression method and device
JP3143030B2 (en) Data compression method and device, and data decompression method and device
JP3242795B2 (en) Data processing device and data processing method
KR950013228B1 (en) Data compression and restoration method and device thereof
JP3105598B2 (en) Data compression method using universal code
JP3910932B2 (en) System, method and computer-readable medium for compressing data sequences
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
Yokoo An improvement in the pointer coding of LZ77 data compression method
JPH0993138A (en) Data compressor and data decoder

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees