JPH05241777A - Data compression system - Google Patents

Data compression system

Info

Publication number
JPH05241777A
JPH05241777A JP4042578A JP4257892A JPH05241777A JP H05241777 A JPH05241777 A JP H05241777A JP 4042578 A JP4042578 A JP 4042578A JP 4257892 A JP4257892 A JP 4257892A JP H05241777 A JPH05241777 A JP H05241777A
Authority
JP
Japan
Prior art keywords
dictionary
character string
data
initial value
encoded
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
JP4042578A
Other languages
Japanese (ja)
Other versions
JP3241788B2 (en
Inventor
Shigeru Yoshida
茂 吉田
Yoshiyuki Okada
佳之 岡田
Yasuhiko Nakano
泰彦 中野
Hirotaka Chiba
広隆 千葉
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 JP04257892A priority Critical patent/JP3241788B2/en
Publication of JPH05241777A publication Critical patent/JPH05241777A/en
Application granted granted Critical
Publication of JP3241788B2 publication Critical patent/JP3241788B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE:To improve the compressibility without spoiling the easiness of slide dictionary type algorithm by registering an initial value character string consisting of a special kind of data which is high in appearance frequency in a dictionary. CONSTITUTION:An initial value generation part 14 encodes representative sample data according to the dynamic dictionary type algorithm. Then a counter counts the frequency of use of a reference number, indicating a character string registered in a dictionary generated by this encoding, at the time of the encoding as an appearance frequency, and registered character strings in the dictionary 24 which have appearance frequencies larger than a specific threshold value are extracted and arrayed when the encoding of the sample data ends to generate an initialization character string. The initialization value character string generated by the initialization value generation part 14 is used for data compression using a slide dictionary at a data compression and restoration part 30. Thus, the character strings which are high in use frequency are previously registered in the dictionary, so the probability that long input data match a character string to the longest length becomes high to improve the efficiency of the encoding.

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 by the Jib-Lempel coding using a slide dictionary, and more particularly, a data compression method using the coding using a dynamic dictionary for the coding using the slide dictionary. Regarding In recent years, various types of data such as character codes, vector information, and images have been handled by computers, and the amount of data handled has been increasing rapidly.

【0002】大量のデータを扱うときは、データの中の
冗長な部分を省いてデータ量を圧縮することで、記憶容
量を減らしたり、速く伝送したりできるようになる。様
々なデータを1つの方式でデータ圧縮できる方法として
ユニバーサル符号化が提案されている。ここで、本発明
の分野は、文字コードの圧縮に限らず、様々なデータに
適用できるが、以下では、情報理論で用いられている呼
称を踏襲し、データの1ワード単位を文字と呼び、デー
タが任意ワードつながったものを文字列と呼ぶことにす
る。
When handling a large amount of data, the redundant portion of the data is omitted and the data amount is compressed, so that the storage capacity can be reduced or the data can be transmitted at high speed. Universal encoding has been proposed as a method of compressing various data by one method. Here, the field of the present invention is not limited to compression of character codes and can be applied to various data, but in the following, the word used in information theory is followed, and one word unit of data is called a character, A string in which data is connected to arbitrary words is called a character string.

【0003】ユニバーサル符号の代表的な方法として、
ジブ−レンペル(Ziv−Lempel)符号がある
(詳しくは、例えば、宗像「Ziv−Lempelのデ
ータ圧縮法」,情報処理,Vol.26,No.1,1
985年を参照のこと)。ジブ−レンペル符号では スライド辞書型(ユニバーサル型ともいう)と、 動的辞書型(増分分解型ともいう) の2つのアルゴリズムが提案されている。これらの方式
の実用向きの改良方法が発表され、補助記憶装置のファ
イル圧縮や、パソコン通信でのデータ伝送に利用される
ようになっている。
As a typical method of the universal code,
There is a Ziv-Lempel code (specifically, for example, Munakata "Ziv-Lempel Data Compression Method", Information Processing, Vol. 26, No. 1, 1).
985). For the Jib-Lempel code, two algorithms have been proposed: a slide dictionary type (also called universal type) and a dynamic dictionary type (also called incremental decomposition type). A method for improving the practical use of these methods has been announced, and it has come to be used for file compression of an auxiliary storage device and data transmission by personal computer communication.

【0004】[0004]

【従来の技術】まず従来のスライド辞書型のアルゴリズ
ムと動的辞書型のアルゴリズムについて説明する。 (1)スライド辞書型アルゴリズム このアルゴリズムは、演算量は多いが、高圧縮率が得ら
れる方法である。即ち、符号化データを、過去のデータ
系列の任意の位置から一致する最大長の系列に区切り
(部分列)、過去の文字列の複製として符号化する方法
である。 [ジブ−レンペル符号]図10にスライド辞書型である
ジブ−レンペル符号の符号器の原理図を示す。
2. Description of the Related Art First, conventional slide dictionary type algorithms and dynamic dictionary type algorithms will be described. (1) Slide dictionary type algorithm This algorithm is a method that can obtain a high compression rate although the amount of calculation is large. That is, it is a method of dividing encoded data from an arbitrary position of a past data sequence into a sequence of the maximum length that matches (subsequence) and encoding as a copy of a past character string. [Jib-Lempel Code] FIG. 10 shows the principle of a slide dictionary type encoder of the Jib-Lempel code.

【0005】図10において、辞書バッファとしてのP
バッファ12には符号化済みの入力データが格納されて
おり、入力バッファとしてのQバッファ10にはこれか
ら符号化するデータが入力されている。Qバッファ10
の文字列をPバッファ12の文字列と照合し、Pバッフ
ァ12の中で一致する最大長の文字部分列を求める。そ
して、Pバッファ12中でこの最大長文字列を指定する
ため次の情報の組を符号化する。
In FIG. 10, P as a dictionary buffer
Encoded input data is stored in the buffer 12, and data to be encoded is input to the Q buffer 10 as an input buffer. Q buffer 10
Is compared with the character string in the P buffer 12 to obtain a matching character substring of the maximum length in the P buffer 12. Then, in order to specify this maximum length character string in the P buffer 12, the next set of information is encoded.

【0006】[0006]

【表1】 [Table 1]

【0007】次にQバッファ10内の符号化した文字列
をPバッファ12に移して、新たなデータを得る。以
下、同様の操作を繰り返し、データを部分列に分解して
符号化する。すなわちジブ−レンペル符号では、現在の
文字コードの系列を、符号化済の過去の系列からの複製
として符号化するものである。ジブ−レンペル符号を用
いた場合、文字コードの文書情報は1/2程度に圧縮で
きる。
Next, the encoded character string in the Q buffer 10 is transferred to the P buffer 12 to obtain new data. Hereinafter, the same operation is repeated to decompose the data into subsequences and encode the subsequences. That is, in the Jib-Lempel code, the current character code sequence is encoded as a duplicate of the encoded past sequence. When the Jib-Lempel code is used, the document information of the character code can be compressed to about 1/2.

【0008】更にスライド辞書型アルゴリズムの改良と
して、LZSS符号がある(T.C.Bell,"Better OPM/L T
ext Compression",IEEE Trans.on Commun.,Vol.COM-34,
No.12,Dec.1986参照)。LZSS符号では、[Pバッフ
ァ中の最大一致系列の開始位置]と[一致する長さ]の
組と、[次のシンボル]とをフラグ区別して、符号量の
少ない方で符号化する。
Further, as an improvement of the slide dictionary type algorithm, there is LZSS code (TCBell, "Better OPM / LT
ext Compression ", IEEE Trans.on Commun., Vol.COM-34,
No. 12, Dec. 1986). In the LZSS code, the combination of the [start position of the maximum matching sequence in the P buffer] and the [matching length] and the [next symbol] are distinguished by flags, and the code with the smaller code amount is coded.

【0009】更にスライド辞書型アルゴリズムの改良と
して、1/4インチ・カートリッジ磁気テープの標準圧
縮方式であるQIC−122符号がある。LZSS符号
について次に説明する。 〔LZSS符号〕LZSS符号による符号化の処理フロ
ーを図11に示し、その原理図を図12及び図13に示
すに示す。
Further, as an improvement of the slide dictionary type algorithm, there is QIC-122 code which is a standard compression system of 1/4 inch cartridge magnetic tape. The LZSS code will be described next. [LZSS Code] FIG. 11 shows a processing flow of encoding by the LZSS code, and its principle diagram is shown in FIGS. 12 and 13.

【0010】LZSS符号による符号化は、図12
(b)に示すように例えば4ビットのインデックス情報
をもって、これから符号化する文字列を格納する例えば
4ビットのインデックス情報に対応して16個の文字数
を格納できるQバッファ10と、図12(a)に示すよ
うに、例えば12ビットのインデックス情報をもって4
096個の符号化済の文字列を格納するPバッファ12
とを備えるようにして構成する。
Encoding by the LZSS code is shown in FIG.
As shown in FIG. 12B, for example, a Q buffer 10 that can store 16-bit index information that stores a character string to be encoded and that can store 16 character numbers corresponding to 4-bit index information, as shown in FIG. 4) with 12-bit index information, as shown in FIG.
P buffer 12 for storing 096 encoded character strings
And is provided.

【0011】符号化処理は図11のフローチャートに示
すように、ステップS1でPバッファ12を空にしてQ
バッファ10に入力データを詰めた後に、ステップS2
でQバッファ10の文字列とPバッファ12の文字列と
を照合し最長一致する文字部分列を求め、ステップS3
で2文字以上であることを条件にステップS5に進ん
で、求められた文字部分列を指定するために [文字列Sの出現位置] [一致長]の組で符号化する。
In the encoding process, as shown in the flowchart of FIG. 11, in step S1, the P buffer 12 is emptied and Q is set.
After packing the input data in the buffer 10, step S2
At step S3, the character string in the Q buffer 10 and the character string in the P buffer 12 are collated to find the longest matching character substring.
On the condition that the number of characters is 2 or more, the process proceeds to step S5, and in order to specify the obtained character substring, encoding is performed with a combination of [appearance position of character string S] [match length].

【0012】続いてステップS6でQバッファ10内の
符号化した文字列をPバッファ12に移して、Qバッフ
ァ10内に符号化した文字列分の新たな文字列を入力し
ていくことで符号化を実行する。尚、最長一致文字部分
列が1バイトのときは生データで符号化した方が有利で
あるので、ステップS4で [生データ1バイト]をそのまま出力する。
Subsequently, in step S6, the coded character string in the Q buffer 10 is moved to the P buffer 12, and a new character string for the coded character string is input into the Q buffer 10 to code the character string. Execute When the longest matching character substring is 1 byte, it is more advantageous to encode it with raw data, so in step S4, [raw data 1 byte] is output as it is.

【0013】更に、図13に示すように、8個の符号化
データもしくは生データを1組のデータとしてまとめる
と共に、まとめられた各8個のデータが符号化データな
のか生データなのかを示すステップS4,S5で得られ
たフラグビットでなる8ビット識別データを先頭に付加
し、1組のデータとして出力する。 (2)動的分解型(増分分解)アルゴリズム このアルゴリズムは、圧縮率はユニバーサル型より劣る
が、シンプルで、計算も容易であることが知られてい
る。
Further, as shown in FIG. 13, eight pieces of coded data or raw data are collected as one set of data, and whether each of the eight pieces of collected data is coded data or raw data is shown. The 8-bit identification data composed of the flag bits obtained in steps S4 and S5 is added to the head and output as a set of data. (2) Dynamic decomposition type (incremental decomposition) algorithm This algorithm is inferior to the universal type in compression rate, but is known to be simple and easy to calculate.

【0014】増分分解型ジブーレンペル符号では、入力
シンボルの系列を X=aabababaa・・・ とすると、成分系列X=X012 ・・・への増分分
解は次のようにする。まずX1 を既成分の右端のシンボ
ルを取り除いた最長の列とし、 X=a・ab・aba・b・aa・・・・ となる。従って、 X0 =λ(空列) X1 =X0 a X2 =X1 b X3 =X2 a X4 =X0 b X5 =X1 a・・・ と分解できる。増分分解した各成分系列は既成分系列を
用いて次のような組で符号化する。
In the incremental decomposition type Dibulenpel code, assuming that the sequence of input symbols is X = aabababaa ..., The incremental decomposition into the component sequence X = X 0 X 1 X 2 ... First, let X 1 be the longest column in which the rightmost symbol of the existing component has been removed, and X = a · ab · aba · b · aa. Therefore, X 0 = λ (empty column) X 1 = X 0 a X 2 = X 1 b X 3 = X 2 a X 4 = X 0 b X 5 = X 1 a. Each incrementally decomposed component series is encoded by the following set using the existing component series.

【0015】[0015]

【表2】 [Table 2]

【0016】すなわち、増分分解型アルゴリズムは、符
号化パターンについて、過去に分解した部分列の内、最
大長一致するものを求め、過去に分解した部分列の複製
として符号化するものである。動的辞書型アルゴリズム
の改良としては、 LZW(Lempel-Ziv-Welch) 符号(T.A.Welch,"A Tech
nique for High-Performance Data Compression",ComPu
ter,June 1984 参照) LZJ符号(M.Jakobsson,"Comperssion of Character
Strings by An Adaptive Dictionar,BIT,25号,198
5年,593−603頁参照のこと) とがある。次にLZW符号について説明する。 〔LZW符号〕LZW符号の符号化の処理のフローを図
14に示す。即ちLZW符号化は、書き替え可能な辞書
をもち、入力文字コードのデータ中を相異なる文字列に
分け、この文字列を出現した順に番号を付けて辞書に登
録すると共に、現在入力している文字列を辞書に登録し
てある最長一致文字列の番号だけで表して、符号化する
ものである。尚、動的辞書型符号およびLZW符号の技
術は、特開昭59−231683,米国特許4,55
8,302で開示されている。図14の符号化処理は次
のようになる。
That is, the incremental decomposition type algorithm finds a coding pattern having a maximum length match among the previously decomposed partial sequences and encodes it as a duplicate of the previously decomposed partial sequences. As an improvement of the dynamic dictionary type algorithm, LZW (Lempel-Ziv-Welch) code (TAWelch, "A Tech
nique for High-Performance Data Compression ", ComPu
ter, June 1984) LZJ code (M. Jakobsson, "Comperssion of Character
Strings by An Adaptive Dictionar, BIT, No. 25, 198
5 years, see pages 593 to 603). Next, the LZW code will be described. [LZW Code] FIG. 14 shows a flow of processing for encoding the LZW code. That is, the LZW encoding has a rewritable dictionary, divides the data of the input character code into different character strings, numbers the character strings in the order in which they appear, registers them in the dictionary, and is currently inputting them. The character string is represented by only the number of the longest matching character string registered in the dictionary and is encoded. The technique of the dynamic dictionary type code and the LZW code is disclosed in JP-A-59-231683, US Pat.
No. 8,302. The encoding process of FIG. 14 is as follows.

【0017】S1:予め全文字につき一文字からなる文
字列を初期値として登録してから符号化を始める。辞書
の登録数nを文字種数Aと置く。カーソルをデータの先
頭の位置に置く。 S2:カーソルの位置からの文字列に一致する辞書登録
の最長文字列Sを見つける。
S1: Encoding is started after a character string consisting of one character for all characters is registered in advance as an initial value. The registered number n of the dictionary is set as the character type number A. Place the cursor at the beginning of the data. S2: Find the longest character string S in the dictionary registration that matches the character string from the cursor position.

【0018】S3:文字列Sの辞書番号を〔log2
n〕ビットで表して出力する。ただし、〔log2 n〕
はlog2 n以上の最小の整数である。辞書登録数nを
一つインクリメントする。 S4:文字列Sにカーソルの最初の文字Cを付加した文
字列SCを辞書に登録する。カーソルは文字列Sの後の
文字に移動させる。S2に戻る。
S3: The dictionary number of the character string S is [log 2
[n] bits and output. However, [log 2 n]
Is the smallest integer greater than or equal to log 2 n. The dictionary registration number n is incremented by one. S4: The character string SC in which the first character C of the cursor is added to the character string S is registered in the dictionary. The cursor moves to the character after the character string S. Return to S2.

【0019】図15はLZW符号の復号化を示したフロ
ーチャートであり、符号化の逆の処理となる。動的辞書
型アルゴリズムは、辞書内の系列は過去に符号化した
(サンプリングした)系列の中だけから選ぶため、処理
速度が速い。しかし、過去に現れたデータの一部の系列
しか含めないため圧縮率が高く取れない欠点がある。
FIG. 15 is a flowchart showing the decoding of the LZW code, which is the reverse process of the coding. The dynamic dictionary algorithm has a high processing speed because the sequence in the dictionary is selected only from the sequences coded (sampled) in the past. However, there is a drawback that the compression ratio cannot be high because only a part of the series of data that has appeared in the past is included.

【0020】動的辞書型アルゴリズムの改良版として、
辞書への学習量を増やしインデックスのみで符号化でき
るようにしたLZJ符号がある。 〔LZJ符号〕LZJ符号の符号化の処理フローを図1
6に示し、また復号化の処理フローを図17に示す。
As an improved version of the dynamic dictionary algorithm,
There is an LZJ code in which the learning amount for the dictionary is increased so that it can be coded only by the index. [LZJ Code] FIG. 1 shows a processing flow of encoding the LZJ code.
6 and the decoding process flow is shown in FIG.

【0021】ここで、辞書と文字列の表記法を次のよう
に定義する。文字種の集合をAとし、集合Aの文字を組
み合わせてできる文字列をSで表す。文字列Sのi番目
の文字をS(i)する。更に複数の部分文字列S
(i),S(i+1),・・・,S(j)をS(i,
j)とする。辞書をDh (S)で表わし、辞書の木(t
ree)の根(root)から葉(leaf)へのパス
として文字列S中の一定の長さhの全ての部分文字列を
登録する。
Here, the notation of the dictionary and the character string is defined as follows. Let A be a set of character types, and S be a character string formed by combining the characters of the set A. The i-th character of the character string S is S (i). Further, a plurality of partial character strings S
(I), S (i + 1), ..., S (j) are converted into S (i,
j). The dictionary is represented by D h (S), and the dictionary tree (t
All the partial character strings having a constant length h in the character string S are registered as the path from the root of the lee to the leaf.

【0022】図16のLZJ符号化処理は次のようにな
る。 S1:辞書に全文字種の一文字を初期値として登録して
から符号化を始める。辞書の登録数nを文字種数Aとお
く。カーソルk=0とおく。 S2〜S5:k番目の入力文字まで符号化が終了したと
して文字列S(1,k)の全ての部分文字列がすでに辞
書Dh (S(1,k))に登録してある。S(k+
1),・・・の文字列から符号化する。
The LZJ encoding process of FIG. 16 is as follows. S1: Encoding is started after registering one character of all character types as an initial value in the dictionary. The number n of registered characters in the dictionary is set as the number of character types A. Set the cursor k = 0. S2 to S5: All partial character strings of the character string S (1, k) have already been registered in the dictionary D h (S (1, k)), assuming that the encoding has been completed up to the kth input character. S (k +
1), encoding from the character string.

【0023】詳細に説明すると、次のようになる。 S2:S(k+1),・・から辞書Dh (S(1,
k)) の登録文字列に最長一致する部分文字列S(k+
1,k+z)を見つける。 S3:部分文字列S(k+1,K+z)の辞書番号ax
を[log2 n]ビットで表して出力する。ただし、n
は辞書の現在の登録数であり、[log2 n]はlog
2 n以上の最小の整数である。ここで、符号語ax は部
分文字列S(ix ,jx )を表す。各々のax は辞書D
h (S(1,jx-1 )),(ix ≦jx ≦ix +h,i
x =jx-1 +1)の辞書番号である。
The details will be described below. S2: S (k + 1), ... From the dictionary D h (S (1,
k)) the longest matching substring S (k +
1, k + z). S3: dictionary number a x of the partial character string S (k + 1, K + z)
Is output with [log 2 n] bits. However, n
Is the current number of registrations in the dictionary, and [log 2 n] is log
It is a minimum integer of 2 n or more. Here, the code word a x represents the partial character string S (i x , j x ). Each a x is a dictionary D
h (S (1, j x-1 )), (i x ≤j x ≤i x + h, i
It is a dictionary number of x = jx -1 + 1).

【0024】S4:部分文字列S(k−h+2,k+
1),・・・,S(k+z−h+1,k+z)にnをイ
ンクリメントしながら辞書番号を付けて辞書に追加し、
辞書Dh (S(1,k+z))を構成する。 S5:カーソルk=k+zとおく。 S6:全文字を処理するまでS1〜S5を繰り返す。
S4: Partial character string S (k-h + 2, k +
1), ..., S (k + z-h + 1, k + z) is added to the dictionary by adding a dictionary number while incrementing n.
Construct the dictionary D h (S (1, k + z)). S5: The cursor k = k + z is set. S6: S1 to S5 are repeated until all characters are processed.

【0025】ここでステップS4の文字列の辞書登録を
図示すると図18に示すようになる。次に図17のLZ
J復号化処理は次のようになる。 S1:図16のS1と同様に辞書に全文字種の一文字を
初期値として登録する。辞書の登録数nを文字種数Aと
おく。カーソルk=0とおく。
The dictionary registration of the character string in step S4 is illustrated in FIG. Next, LZ in FIG.
The J decoding process is as follows. S1: Similar to S1 of FIG. 16, one character of all character types is registered as an initial value in the dictionary. The number n of registered characters in the dictionary is set as the number of character types A. Set the cursor k = 0.

【0026】S2〜S4:辞書番号aw が復号化され、
文字列S(1,jw )まで利用することができ、辞書D
h (S(1,jw ))が再構成されている。次に符号語
w+ 1 を復号する。詳細に説明すると次のようになる。 S2:符号語aw+1 を復号した辞書番号より辞書Dh
(S(1,jw ))内の部分列S(iw+1 ,jw+1 )を
復元する。部分列S(iw+1 ,jw+1 )は辞書内で根
(root)からアドレスaw+1 の節点で表わされる文
字列である。
S2 to S4: The dictionary number a w is decoded,
Up to the character string S (1, j w ) can be used, and the dictionary D
h (S (1, j w )) has been re-configured. Next, the codeword a w + 1 is decoded. The detailed description is as follows. S2: Dictionary D h from the dictionary number obtained by decoding the code word a w + 1
The subsequence S (i w + 1 , j w + 1 ) in (S (1, j w )) is restored. The subsequence S (i w + 1 , j w + 1 ) is a character string represented by a node at the address a w + 1 from the root in the dictionary.

【0027】S3:文字列S(1,jw+1 )を復号した
後、辞書Dh (S(1,jw+1 ))を図16のS4と同
様に構成する。 S4:カーソルk=jw+1 とおく。 S5:全符号を処理するまでS1〜S4を繰り返す。
S3: After decoding the character string S (1, j w + 1 ), the dictionary D h (S (1, j w + 1 )) is constructed in the same manner as S4 in FIG. S4: The cursor k = j w + 1 is set. S5: S1 to S4 are repeated until all the codes are processed.

【0028】[0028]

【発明が解決しようとする課題】しかしながら、従来の
スライド辞書型アルゴリズムのLZSS符号および動的
辞書型アルゴリズムのLZW符号は完全なユニバーサル
性を前提にしており、辞書が空白の状態から符号化を始
めるようにしている。このため、従来の符号化方式で
は、入力データの始めの方で、学習量が少ない(辞書内
容が少ない)とき、圧縮率が低いという欠点があった。
However, the LZSS code of the conventional slide dictionary type algorithm and the LZW code of the dynamic dictionary type algorithm are premised on perfect universality, and encoding is started from a state in which the dictionary is blank. I am trying. Therefore, the conventional encoding method has a drawback that the compression rate is low at the beginning of the input data when the learning amount is small (the content of the dictionary is small).

【0029】LZW符号ではユニバーサル性も重要であ
るが、入力データに特定の種類のデータだけ特に多く現
れるときは、辞書は必ずしも空白の状態から符号化する
必要はない。この観点から本願発明者等は、動的辞書型
アルゴリズムにおいて図19に示すように、高い頻度で
出現する文字列のみ保持した辞書を用いて高圧縮率を得
る方法を提案している。
Although universality is also important in the LZW code, the dictionary does not necessarily need to be coded from a blank state when a particular type of data appears a lot in the input data. From this point of view, the inventors of the present application have proposed a method for obtaining a high compression rate by using a dictionary that holds only character strings that appear frequently in the dynamic dictionary type algorithm, as shown in FIG.

【0030】図19にあっては、サンプルデータを対象
にLZW符号化を行って辞書を作成し、辞書には使用頻
度を同時に計数しておく。サンプルデータの符号化が済
んだ場合には、辞書の中から出現頻度が閾値T以上の文
字列を抽出して実際の符号化に使用する辞書に初期値と
して登録してから符号化又は復号化を行う。しかし動的
辞書型アルゴリズムは符号化、復号化の処理速度はバラ
ンスしている。一方、スライド辞書型アルゴリズムにあ
っては、符号化は遅いものの復号化の処理が格段に速い
ため、データベースなどのように復元の処理が主になる
用途においては有利となる。
In FIG. 19, the sample data is subjected to LZW encoding to create a dictionary, and the usage frequency is simultaneously counted in the dictionary. When the coding of the sample data is completed, a character string whose appearance frequency is equal to or higher than the threshold value T is extracted from the dictionary and registered as an initial value in the dictionary used for actual coding, and then encoded or decoded. I do. However, the dynamic dictionary algorithm balances the processing speed of encoding and decoding. On the other hand, the slide dictionary type algorithm is slow in encoding but is much faster in decoding process, which is advantageous in applications such as databases in which restoration process is mainly performed.

【0031】本発明は、このような状況に鑑みてなされ
たもので、動的辞書型アルゴリズムを利用した初期値の
登録でスライド辞書型アルゴリズムによる符号化を効率
よくできるようにしたデータ圧縮方式を提供することを
目的とする。
The present invention has been made in view of the above circumstances, and provides a data compression method that enables efficient coding by the slide dictionary type algorithm by registering an initial value using the dynamic dictionary type algorithm. The purpose is to provide.

【0032】[0032]

【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、入力バッファ(Qバッファ)
10中の入力データを辞書バッファ(Pバッファ)12
中の符号化済データの部分列の内、最長一致するものの
格納位置と一致長で指定して符号化し、符号化済みの入
力データは辞書バッファ12に移して新たな符号化済み
データとして次の入力データを符号化するスライド辞書
型アルゴリズムに従ってデータ圧縮方式を対象とする。
FIG. 1 illustrates the principle of the present invention. First, the present invention is based on the input buffer (Q buffer).
Input data in 10 is dictionary buffer (P buffer) 12
Among the subsequences of the encoded data in the middle, the longest matching one is designated by the storage position and the matching length and encoded, and the encoded input data is transferred to the dictionary buffer 12 as the new encoded data A data compression method is applied according to a slide dictionary type algorithm that encodes input data.

【0033】このようなデータ圧縮方式につき本発明に
あっては、代表的なサンプルデータを相異なる部分列に
分けたとき、所定閾値T以上の出現頻度をもつ部分列を
抽出し、この抽出した部分列を一列に並べて初期値文字
列を予め作成する初期値作成手段14と、初期値作成手
段14で作成した初期値文字列を、符号化又は復号化に
先立って最初に辞書バッファ12に固定的に設定して符
号化済又は復号化済データと見做し、初期値文字列およ
び新たに設定した符号化済又は復号化済データの中から
入力バッファ10の入力データと最長一致する部分列を
検索して格納位置と一致長で指定して符号化又は復号化
する符号化復号化手段16とを備えたことを特徴とす
る。
According to the present invention regarding such a data compression method, when typical sample data is divided into different subsequences, subsequences having an appearance frequency of a predetermined threshold value T or more are extracted and extracted. Initial value creating means 14 for arranging substrings in a row to create an initial value character string in advance, and the initial value character string created by the initial value creating means 14 are first fixed in the dictionary buffer 12 prior to encoding or decoding. Of the initial value character string and the newly set coded or decoded data that is the longest match with the input data of the input buffer 10 from the initial value character string and the newly set coded or decoded data. And a coding / decoding means 16 for searching for and designating a storage position and a matching length for coding or decoding.

【0034】また本発明は、初期値作成手段14で作成
した初期値文字列を、符号化に先立って最初に辞書バッ
ファ12に固定的に設定して符号化済又は復号化済デー
タと見做し、初期値文字列の中からのみ入力バッファ1
0の入力データと最長一致する部分列を検索して格納位
置と一致長で指定して符号化し、辞書バッファ12に対
する新たな入力データの登録は行わないようにしてもよ
い。
Further, according to the present invention, the initial value character string created by the initial value creating means 14 is first fixedly set in the dictionary buffer 12 prior to the encoding and regarded as encoded or decoded data. Input buffer 1 only from the initial value character string
It is also possible to search for a substring that has the longest match with the input data of 0, specify the storage position and the match length for encoding, and not register new input data in the dictionary buffer 12.

【0035】ここで、初期値作成手段14は動的辞書型
アルゴリズムであるLZW符号の符号化処理に従って初
期値文字列を作成する。即ち、符号化済み文字列を参照
番号を付して登録する辞書を有し、代表的なサンプルデ
ータの文字列に最長一致する辞書中の符号化済み部分列
を検索して参照番号で指定して符号化し、この符号化後
に参照番号に次のサンプル文字を付加した部分列を新た
な参照番号を付して辞書に登録し、更に辞書に登録され
た符号化済み文字列の検索する毎に使用頻度を計数し、
前記サンプルデータの符号化終了した際に前記使用頻度
が所定閾値以上となる文字列を抽出し、抽出した文字列
を出現順に並べて初期値文字列を予め作成する。
Here, the initial value creating means 14 creates the initial value character string according to the encoding process of the LZW code which is a dynamic dictionary type algorithm. That is, it has a dictionary for registering coded character strings with reference numbers, searches for coded substrings in the dictionary that have the longest match with the character strings of typical sample data, and specifies them by reference numbers. Each time the encoded character string registered in the dictionary is searched, the substring in which the next sample character is added to the reference number after the encoding is added to the dictionary Count the frequency of use,
When the coding of the sample data is completed, a character string whose usage frequency is equal to or higher than a predetermined threshold is extracted, and the extracted character strings are arranged in the order of appearance to create an initial value character string in advance.

【0036】また初期値作成手段14は動的辞書型アル
ゴリズムであるLZJ符号の符号化処理に従って初期値
文字列を作成してもよい。即ち、初期値作成手段14は
符号化済み文字列を参照番号を付して登録する辞書を有
し、代表的なサンプルデータの文字列に最長一致する辞
書中の符号化済み部分列を検索して参照番号で指定して
符号化する。この符号化後に符号化した入力文字列の各
文字を順次接頭部分列とし、この接頭部分列に辞書中の
部分列を加えて一定長の部分列を複数作成して全て辞書
に登録し、更に辞書に登録された符号化済み部分列の検
索する毎に使用頻度を計数し、サンプルデータの符号化
終了した際に使用頻度が所定閾値以上となる部分列を抽
出し、この抽出した部分列を出現順に並べて初期値文字
列を予め作成する。
The initial value creating means 14 may create the initial value character string according to the encoding process of the LZJ code which is a dynamic dictionary type algorithm. That is, the initial value creating means 14 has a dictionary for registering coded character strings with reference numbers, and searches for a coded substring in the dictionary that longest matches the character string of typical sample data. Code with the reference number. Each character of the input character string encoded after this encoding is sequentially used as a prefix subsequence, and a subsequence in the dictionary is added to this prefix subsequence to create multiple subsequences of fixed length, and all are registered in the dictionary. The usage frequency is counted each time a coded subsequence registered in the dictionary is searched, and when the coding of the sample data is completed, the subsequence whose usage frequency is equal to or higher than a predetermined threshold is extracted, and the extracted subsequence is extracted. The initial value character strings are created in advance by arranging them in the order of appearance.

【0037】更に初期値作成手段(14)は、サンプル
データをスライド辞書型アルゴリズムで符号化して符号
列を求め、この符号列に動的辞書型アルゴリズムである
LAW符号化やLZJ符号化を適用して使用頻度の高い
初期値文字列を生成してもよい。即ち、入力バッファ中
の代表的なサンプルデータの文字列を辞書バッファ中の
符号化済データの部分列の内、最長一致するものの格納
位置と一致長で指定して符号化し、この符号化データを
相異なる部分列に分けたとき、所定閾値以上の出現頻度
をもつ部分列を抽出し、抽出した部分列を出現順に並べ
て初期値文字列を予め作成する。
Further, the initial value creating means (14) encodes the sample data by a slide dictionary type algorithm to obtain a code string, and applies the dynamic dictionary type algorithm such as LAW coding or LZJ coding to this code string. An initial value character string that is frequently used may be generated. That is, a character string of representative sample data in the input buffer is coded by specifying the storage position and the matching length of the longest matching substring of the coded data in the dictionary buffer, and coding this coded data. When divided into different partial strings, partial strings having an appearance frequency of a predetermined threshold value or more are extracted, and the extracted partial strings are arranged in the order of appearance to create an initial value character string in advance.

【0038】学習により作成した使用頻度の高い初期値
文字列の辞書バッファ12への登録は、辞書バッファ1
2を読出専用の第1メモリ(ROM)と、読出及び書込
可能な第2メモリ(RAM)で構成し、初期値作成手段
14で作成した初期値文字列を第1メモリ(ROM)に
固定的に記憶し、入力バッファ10の符号化済み入力デ
ータは第2メモリ(RAM)に移して記憶する。
Registration of the initial value character string, which is frequently used by learning, into the dictionary buffer 12 is performed by the dictionary buffer 1
2 is composed of a read-only first memory (ROM) and a readable and writable second memory (RAM), and the initial value character string created by the initial value creating means 14 is fixed to the first memory (ROM). And the encoded input data of the input buffer 10 is transferred to and stored in the second memory (RAM).

【0039】また辞書バッファ12を書替え禁止領域を
設定した読出及び書込可能なメモリ(RAM)で構成
し、符号化開始時に初期値作成手段14で作成した初期
値文字列を辞書バッファ12の書替え禁止領域にロード
した後に符号化を開始するようにしてもよい。
The dictionary buffer 12 is composed of a readable and writable memory (RAM) in which a rewrite prohibited area is set, and the initial value character string created by the initial value creating means 14 at the start of encoding is rewritten in the dictionary buffer 12. The encoding may be started after loading in the prohibited area.

【0040】[0040]

【作用】このような構成を備えた本発明のデータ圧縮方
式によれば、次の作用が得られる。まず圧縮符号化しよ
うとするデータの種類に応じたサンプルデータを対象に
動的辞書型アルゴリズム、即ちLZW符号やLZJ符号
のアルゴリズムに従った符号化を行うと共に、この符号
化に使用する辞書にカウンタを設け、参照番号が符号化
に使われた回数を使用頻度として計数する。
According to the data compression method of the present invention having such a configuration, the following effects can be obtained. First, the sample data corresponding to the type of data to be compression-encoded is encoded according to the dynamic dictionary algorithm, that is, the algorithm of LZW code or LZJ code, and the dictionary used for this encoding is provided with a counter. Is provided and the number of times the reference number is used for encoding is counted as the frequency of use.

【0041】サンプルデータの符号化が済んだならば、
辞書の登録済み文字列の気構造の接点に設けた使用頻度
を示すカウンタ計数値の小さい文字列は辞書から削除
し、高頻度で出現する文字列のみを残した辞書を求め、
この文字列から一列に並べて初期値文字列を生成する。
学習により生成された初期値文字列を用いたスライド辞
書型アルゴリズムによる符号化は、次のようにする。
After encoding the sample data,
A character string with a small counter count value, which indicates the frequency of use provided at the contact point of the registered character string in the dictionary, is deleted from the dictionary, and a dictionary in which only the character strings that appear with high frequency are left is obtained.
The initial value character string is generated by arranging this character string in a line.
The encoding by the slide dictionary type algorithm using the initial value character string generated by learning is performed as follows.

【0042】符号化時に、予め記憶装置に取り出して
おいた高頻度の初期値文字列を初期値として辞書にロー
ドした後、符号化する。 予め作成した高頻度の文字列を初期値として辞書の先
頭に書き替えをしない固定部分として設定しておき、符
号化する。スライド辞書型アルゴリズム、例えばLZS
S符号による符号化であっても、使用頻度の高い文字列
が予め辞書バッファにと初期値として登録されているた
め、最初から長い入力データの文字列に最長一致する辞
書の文字列を検索することができ、スライド辞書型の符
号化をより高速で行うことができる。
At the time of encoding, a high-frequency initial value character string that has been fetched in advance in a storage device is loaded as an initial value into a dictionary and then encoded. A high-frequency character string created in advance is set as an initial value at the beginning of the dictionary as a fixed part that is not rewritten, and is encoded. Slide dictionary algorithm, eg LZS
Even in the case of encoding by S code, since a frequently used character string is registered in advance in the dictionary buffer as an initial value, the character string in the dictionary that longest matches the character string of input data that is long from the beginning is searched. Therefore, the slide dictionary type encoding can be performed at a higher speed.

【0043】[0043]

【実施例】図2は本発明の一実施例を示した実施例構成
図である。図2において、14は初期値作成部であり、
代表的なサンプルデータを対象に動的辞書型アルゴリズ
ムに従った符号化を行い、この符号化で作成される辞書
に登録された文字列(部分列)を示す参照番号の符号化
時に使われた回数を出現頻度としてカウンタで計数し、
サンプルデータの符号化が終了した時点で所定閾値T以
上の出現頻度をもつ辞書24の登録文字列(部分列)を
取り出し、一列に並べて初期化文字列を作成する。
FIG. 2 is a block diagram of an embodiment showing one embodiment of the present invention. In FIG. 2, 14 is an initial value creation unit,
It was used to encode the representative sample data according to the dynamic dictionary type algorithm, and to encode the reference number that indicates the character string (substring) registered in the dictionary created by this encoding. Count the number of times as a frequency of appearance with a counter,
When the coding of the sample data is completed, the registered character strings (partial strings) of the dictionary 24 having the appearance frequency equal to or higher than the predetermined threshold value T are taken out and arranged in one line to create the initialization character string.

【0044】具体的には、初期値作成部14はサンプル
データ記憶部20,動的辞書型符号化部22,辞書24
及び初期値文字列生成部26で構成される。サンプルデ
ータ記憶部20にはデータ圧縮の対象となるデータの種
類に応じた代表的なサンプルデータが学習対象として記
憶される。動的辞書型符号化部22は動的辞書型アルゴ
リズムに従ってサンプルデータ記憶部20のサンプルデ
ータを対象に辞書24を作成しながら符号化を行う。
Specifically, the initial value creation unit 14 includes a sample data storage unit 20, a dynamic dictionary type coding unit 22, and a dictionary 24.
And an initial value character string generation unit 26. In the sample data storage unit 20, representative sample data corresponding to the type of data to be compressed is stored as a learning target. The dynamic dictionary type encoding unit 22 performs encoding while creating the dictionary 24 for the sample data of the sample data storage unit 20 according to the dynamic dictionary type algorithm.

【0045】この動的辞書型アルゴリズムとしては、例
えば図13に示したLZW符号化アルゴリズム、あるい
は図15に示したLZJ符号化アルゴリズムを用いるこ
とができる。辞書24は参照番号に対応して符号化済み
文字列としての部分列を登録しており、更に符号化済み
部分列の参照番号が符号化時に使われた回数を計数する
カウンタを設け、出現頻度として計数するようにしてい
る。初期値文字列生成部26は動的辞書型符号化部22
によるサンプルデータの符号化処理が終了した段階で辞
書24の中から所定の閾値T、例えばT=2以上となる
出現頻度をもつ部分列を取り出し、この部分列を一列に
並べて使用頻度の高い初期値文字列を生成する。
As this dynamic dictionary type algorithm, for example, the LZW coding algorithm shown in FIG. 13 or the LZJ coding algorithm shown in FIG. 15 can be used. The dictionary 24 registers a partial string as an encoded character string corresponding to the reference number, and further has a counter for counting the number of times the reference number of the encoded partial string has been used at the time of encoding. I am trying to count as. The initial value character string generation unit 26 is a dynamic dictionary type encoding unit 22.
At the stage when the coding process of the sample data by is finished, a subsequence having a frequency of occurrence of a predetermined threshold value T, for example, T = 2 or more is taken out from the dictionary 24, and the subsequences are arranged in a line and are used frequently in the initial stage. Generate a value string.

【0046】初期値作成部14で作成された初期値文字
列はデータ圧縮復元部30におけるスライド辞書を用い
たデータ圧縮に用いられる。データ圧縮復元部30は入
力バッファとしてのQバッファ10、辞書バッファとし
てのPバッファ12及びスライド辞書型符号化復号化部
16で構成される。Pバッファ12には符号化及び復号
化に先立って初期値作成部14で予め作成された初期値
文字列が登録され、この初期値の登録領域はQバッファ
10から入力文字列をシフトして格納しても廃棄され
ず、固定的に保持される。即ち、Pバッファ12に登録
した初期値文字列を符号化済みデータと見做してスライ
ド辞書型アルゴリズムに従った符号化及び復号化を行
う。
The initial value character string created by the initial value creating unit 14 is used for data compression using the slide dictionary in the data compression / decompression unit 30. The data compression / decompression unit 30 includes a Q buffer 10 as an input buffer, a P buffer 12 as a dictionary buffer, and a slide dictionary type encoding / decoding unit 16. An initial value character string created in advance by the initial value creating unit 14 is registered in the P buffer 12 prior to encoding and decoding, and an input character string is shifted from the Q buffer 10 and stored in the initial value registration area. Even if it is not discarded, it is fixedly held. That is, the initial value character string registered in the P buffer 12 is regarded as encoded data, and encoding and decoding according to the slide dictionary type algorithm are performed.

【0047】スライド辞書型符号化復号化部16はスラ
イド辞書型アルゴリズムに従った符号化または復号化を
行うもので、具体的には、ジブ−レンペル符号化アルゴ
リズムや図10に示したLZSS符号化アルゴリズムを
実行する。図3は図2の初期値作成部14の処理を示し
たフローチャートである。図3における初期値作成処理
は次のようになる。
The slide dictionary type encoding / decoding unit 16 performs encoding or decoding in accordance with the slide dictionary type algorithm. Specifically, the slide dictionary type encoding / decoding unit 16 includes the Jib-Lempel encoding algorithm and the LZSS encoding shown in FIG. Run the algorithm. FIG. 3 is a flow chart showing the processing of the initial value creation unit 14 of FIG. The initial value creation process in FIG. 3 is as follows.

【0048】S1:入力データとして多く出現するデー
タサンプルを入力し、LZW符号またはLZJ符号等の
動的辞書型アルゴリズムに従ってサンプルデータの符号
化を行う。この符号化において、木構造の辞書が作成さ
れる。同時に符号化により作成される辞書の木構造にお
ける各節点が文字列を表すことになるが、各節点にカウ
ンタを付加して符号化時に最長一致する文字列を検索し
たときに通過した各節点でカウンタを1つインクリメン
トして使用回数を計数する。
S1: A data sample that often appears as input data is input, and sample data is encoded according to a dynamic dictionary algorithm such as LZW code or LZJ code. In this encoding, a tree-structured dictionary is created. At the same time, each node in the tree structure of the dictionary created by encoding represents a character string, but at each node that passed when the longest matching character string was searched at the time of encoding by adding a counter to each node. The counter is incremented by one and the number of times of use is counted.

【0049】即ち、最長一致の文字列を検索した場合に
は、検索した文字列に含まれる節点のカウンタの全てが
カウントアップされることになる。 S2:サンプルデータの符号化が終了した時点で辞書の
各節点の連鎖で構成される文字列の中から節点に設けた
カウンタの計数値が所定の閾値T以上の高頻度で使用さ
れた文字列を取り出す。
That is, when the longest matching character string is searched, all the counters of the nodes included in the searched character string are counted up. S2: A character string in which the count value of the counter provided at a node among the character strings formed by the chain of each node of the dictionary at the time when the encoding of the sample data is completed is frequently used at a predetermined threshold value T or more. Take out.

【0050】S3:S2で取り出した文字列を一列の文
字列の形に並べ、初期値文字列を生成する。このとき既
に並べた文字列の中に新たに取り出した文字列と同じ文
字列があるか否かを検索し、もし同じ文字列があれば重
複するので、初期値の文字列には含めないようにする。
以上のS1〜S3の処理を経て作成された初期値文字列
はスライド辞書型アルゴリズムに従った符号化及び復号
化に使用するため、外部の補助記憶装置等に取り出して
おくことが望ましい。
S3: The character strings extracted in S2 are arranged in the form of a single character string to generate an initial value character string. At this time, search whether there is the same character string as the newly extracted character string in the already arranged character strings, and if there is the same character string, it will be duplicated, so do not include it in the initial value character string. To
The initial value character string created through the above steps S1 to S3 is used for encoding and decoding according to the slide dictionary type algorithm, so it is desirable to take it out to an external auxiliary storage device or the like.

【0051】図4は図3の初期化処理のステップS1に
おける動的辞書型アルゴリズムに従ったサンプルデータ
の符号化の際に作成される辞書の木構造とその節点に設
けたカウンタによる使用頻度の計数を示した説明図であ
る。図4にあっては、まず辞書に例えばabcdの各文
字を参照番号〜に示すように初期登録した後にサン
プルデータの符号化を開始しており、図示の状態にあっ
ては更に参照番号〜までの文字列の登録が済んだ状
態での木構造を示している。
FIG. 4 shows the tree structure of the dictionary created when the sample data is encoded according to the dynamic dictionary type algorithm in step S1 of the initialization process of FIG. 3 and the frequency of use by the counter provided at the node. It is explanatory drawing which showed the count. In FIG. 4, first, for example, each character of abcd is initially registered in the dictionary as shown by reference numbers 1 to 3, and then the coding of the sample data is started. The tree structure is shown in the state where the character string of is registered.

【0052】例えば、入力データabcの符号化は参照
番号〜で示す文字列の登録が済んだ段階で行われて
おり、文字列abは辞書24の検索により参照番号で
示す文字列に一致していることから、出力符合は「
c」として出力し、続いて参照番号に次の1文字cを
加えた文字列を新たに参照番号を付して辞書24に登
録している。
For example, the encoding of the input data abc is performed at the stage where the character strings indicated by reference numbers 1 to 4 have been registered, and the character string ab matches the character string indicated by the reference number by searching the dictionary 24. Therefore, the output code is "
Then, the character string in which the next one character c is added to the reference number is newly added to the reference number and registered in the dictionary 24.

【0053】次の文字列abdについても、辞書24の
検索で参照番号の文字列に最長一致し、従って出力符
合は「d」として出力され、辞書24に対しては参照
番号に次の1文字dを加えた文字列に新たな参照番号
を加えて登録している。この文字列abcと文字列a
bdの符号化後の登録にあっては、同じ文字列abが2
回使用されているため、参照番号の節点及び参照番号
の節点の各カウンタが2回カウントアップされ、それ
ぞれ5,3となる。
The next character string abd also matches the character string of the reference number at the longest in the search of the dictionary 24, and therefore the output code is output as "d", and for the dictionary 24, the next one character is added to the reference number. A new reference number is added to the character string added with d and registered. This character string abc and character string a
In the bd registration after encoding, the same character string ab is 2
Since it has been used twice, the reference number nodes and the counters of the reference number nodes are respectively counted up twice to become 5 and 3, respectively.

【0054】このような木構造を備えた辞書24におけ
る各節点の計数値は、その節点の子供の計数値の和に1
を加えた値となる。例えば、参照番号の文字aの節点
の計数値はその節点の子供となる参照番号との計数
値の和1+3=4に1を加えた値として5となる。図5
は図3のステップS2及びS3に示したサンプルデータ
の符号化で得られた辞書から閾値T以上の高頻度で使用
された文字列を取り出して、初期値として使用する文字
列の形に変換する処理を示した説明図である。
The count value of each node in the dictionary 24 having such a tree structure is 1 as the sum of the count values of the children of that node.
Is the value added. For example, the count value of the node of the character a of the reference number is 5 as a value obtained by adding 1 to the sum 1 + 3 = 4 of the count values of the reference numbers which are the children of the node. Figure 5
Is a character string used at a high frequency of a threshold value T or higher from the dictionary obtained by the coding of the sample data shown in steps S2 and S3 of FIG. 3 and converted into the shape of the character string used as the initial value. It is explanatory drawing which showed the process.

【0055】図5(a)はサンプルデータの符号化が終
了した状態で得られた辞書の木構造を示したもので、各
文字の節点に設けたカウンタ内の計数値が使用頻度を示
している。この図5(a)の辞書の木構造に対し、閾値
T=2以上の計数値をもつ文字列を取り出すと、図5
(b)に示すようになる。この閾値2以上の計数値をも
つ文字列は、図5(c)に示すように、例えば左側の文
字列から順番に1本の文字列にまとめるように並べ替え
られ、スライド辞書型アルゴリズムのPバッファに初期
値として登録される初期値文字列が作られる。
FIG. 5A shows the tree structure of the dictionary obtained after the coding of the sample data is completed. The count value in the counter provided at the node of each character indicates the frequency of use. There is. When a character string having a count value of threshold value T = 2 or more is extracted from the tree structure of the dictionary of FIG.
As shown in (b). As shown in FIG. 5C, the character strings having the count value of 2 or more are rearranged so that the character strings on the left side are grouped into one character string in order, and the character string P of the slide dictionary algorithm is used. An initial value string to be registered as an initial value in the buffer is created.

【0056】図6は図2のデータ圧縮復元部30におけ
るスライド辞書を用いた符号化処理を示したフローチャ
ートであり、次のようになる。 S1:図3の初期値作成処理で作られた初期値文字列
(N文字)をPバッファの前半に格納する。 S2:通常のスライド辞書型アルゴリズムと同様に、入
力したQバッファ10の文字列を初期値文字列と符号化
済み文字列を格納したPバッファ12から最長一致する
文字列を検索して、開始位置と一致長の組で符号化す
る。この場合、符号化文字列は2文字一致するか否かに
よって次の2つのモードで符号化される。
FIG. 6 is a flowchart showing the encoding process using the slide dictionary in the data compression / decompression unit 30 of FIG. 2, which is as follows. S1: The initial value character string (N characters) created by the initial value creation process of FIG. 3 is stored in the first half of the P buffer. S2: Similar to the normal slide dictionary type algorithm, the character string in the input Q buffer 10 is searched for the longest matching character string from the P buffer 12 storing the initial value character string and the encoded character string, and the start position is searched. And a set of matching lengths. In this case, the encoded character string is encoded in the following two modes depending on whether two characters match.

【0057】符号化モード[識別ビット0][最長一致
文字列の位置][一致長] 生データモード[識別ビット1][1文字] S3:辞書の削除及び登録処理として初期値文字列を除
くPバッファ10内の部分をスライドさせる。即ち、P
バッファ10内の初期値文字列を示す0〜n−1の位置
の文字はそのままにしておき、文字位置nから符号化が
済んだQバッファ10の文字数だけ文字を左にシフトし
て削除し、新たにQバッファの符号化済み文字列をPバ
ッファ12の左側から右側にシフトして追加する。
Encoding mode [identification bit 0] [position of longest matching character string] [match length] Raw data mode [identification bit 1] [1 character] S3: Excluding initial value character string as dictionary deletion and registration processing The part in the P buffer 10 is slid. That is, P
The characters at positions 0 to n-1 indicating the initial value character string in the buffer 10 are left as they are, and the characters are shifted to the left from the character position n by the number of encoded characters in the Q buffer 10 and deleted. The encoded character string of the Q buffer is newly added by shifting it from the left side to the right side of the P buffer 12.

【0058】以上の辞書削除及び登録処理が済んだなら
ばQバッファ10に符号化が済んだ文字分を左にシフト
し、新たな文字列を入力する。以下同様に、ステップS
2,S3の処理を繰り返して入力文字列を符号化する。
図7は図6のスライド辞書型アルゴリズムを用いた符号
化におけるPバッファの構成を示した説明図である。
When the above dictionary deletion and registration processing is completed, the coded characters are shifted to the left in the Q buffer 10 and a new character string is input. Similarly, the following steps S
The input character string is encoded by repeating the processing of 2 and S3.
FIG. 7 is an explanatory diagram showing the configuration of the P buffer in the encoding using the slide dictionary type algorithm of FIG.

【0059】図7(a)はPバッファ12として書替え
可能なメモリ、例えばRAMを使用した場合であり、P
バッファ12の前半の斜線部で示す0〜n−1の領域に
初期値文字列ロード領域を設け、ここに予め作成した初
期値文字列を格納し、残りを符号化済み文字列の登録領
域としている。この初期値文字列ロード領域0〜n−1
についてはその後の書替えを禁止し、新たなPバッファ
12に対する登録に際しては、nの位置から、右から左
に登録文字数分だけのシフトに伴って、登録していた文
字を処理済み文字列として排出して削除する。
FIG. 7A shows a case in which a rewritable memory such as a RAM is used as the P buffer 12, and P
An initial value character string load area is provided in the area of 0 to n-1 indicated by the shaded area in the first half of the buffer 12, the previously created initial value character string is stored therein, and the rest is used as a registration area for encoded character strings. There is. This initial value character string load area 0 to n-1
Is prohibited from being rewritten thereafter, and at the time of registration in the new P buffer 12, the registered character is discharged as a processed character string with the shift from the position of n to the left by the number of registered characters. And delete it.

【0060】図7(b)はPバッファ12の他の構成を
示したもので、この実施例にあっては、初期値文字列を
登録する領域として固定記憶を実現するため、ROMを
用いたROM領域としており、残りの領域を書替え可能
なRAMを用いたRAM領域を設けている。Pバッファ
12のRAM領域はQバッファ10における入力文字列
の符号化が1つ加わる毎に符号化済み文字数分の文字が
RAM領域の左端から捨てられ、Qバッファ10の符号
化済み文字列がRAM領域の右端よりシフトして格納さ
れる。
FIG. 7B shows another configuration of the P buffer 12. In this embodiment, a ROM is used to realize fixed storage as an area for registering the initial value character string. A ROM area is provided, and a RAM area using a rewritable RAM is provided for the remaining area. In the RAM area of the P buffer 12, every time one encoding of the input character string in the Q buffer 10 is added, characters corresponding to the number of encoded characters are discarded from the left end of the RAM area, and the encoded character string of the Q buffer 10 is stored in the RAM. It is stored by shifting from the right edge of the area.

【0061】図8は図2のデータ圧縮復元部30による
復号化処理を示したフローチャートであり、次のように
して行われる。 S1:図6のステップS1と同様、Pバッファ12の前
半に予め作成された初期値文字列(n文字)を格納す
る。 S2:符号語を入力し、複製モードのときはPバッファ
12を参照して文字列を復元する。
FIG. 8 is a flowchart showing the decoding process by the data compression / decompression unit 30 of FIG. 2, which is performed as follows. S1: Similar to step S1 of FIG. 6, an initial value character string (n characters) previously created is stored in the first half of the P buffer 12. S2: Input a code word, and in the copy mode, refer to the P buffer 12 to restore the character string.

【0062】S3:図6のステップS3と同様に、Pバ
ッファ12の削除と登録の処理を行う。以下同様に、ス
テップS2,S3の処理を繰り返して、符号化した文字
列を復元する。図9は本発明の初期値文字列の作成処理
の他の実施例を示した説明図である。図9の初期値文字
列の作成処理にあっては、まずスライド辞書型アルゴリ
ズムに従ってサンプルデータを符号化し、サンプルデー
タから得られた符号列を対象に動的辞書型アルゴリズム
に従った符号化を行い、この符号化の際に作成される辞
書の木構造における節点にカウンタを設けて使用頻度を
計数し、符号化が終了したならば所定の閾値T以上の使
用頻度をもつ文字列を取り出し、1列に並べて初期値文
字列を作成する。
S3: Similar to step S3 of FIG. 6, the P buffer 12 is deleted and registered. Similarly, the processes of steps S2 and S3 are repeated to restore the encoded character string. FIG. 9 is an explanatory view showing another embodiment of the initial value character string creation processing of the present invention. In the process of creating the initial value character string of FIG. 9, first, the sample data is encoded according to the slide dictionary type algorithm, and the code string obtained from the sample data is encoded according to the dynamic dictionary type algorithm. , A counter is provided at each node in the tree structure of the dictionary created at the time of encoding to count the frequency of use, and when the encoding is completed, a character string having a frequency of use equal to or higher than a predetermined threshold value T is taken out. Create initial value strings by arranging them in columns.

【0063】即ち、まずサンプルデータをQバッファ1
0aに入力し、Pバッファ12bの登録済み文字列を検
索して最長一致する文字列を求め、開始位置piと一致
長qiで符号化する。勿論、この符号化は2文字以上の
場合に行われ、1文字の場合は生データを出力する。こ
のようなスライド辞書型アルゴリズムによる符号化で出
力符号列S1,S2,・・・Si,・・・が得られたな
らば、この符号列S1,S2,・・・Si,・・・を対
象に動的辞書型アルゴリズムに従った木構造の辞書24
を作成する。
That is, first, the sample data is transferred to the Q buffer 1
0a, the registered character string in the P buffer 12b is searched to find the longest matching character string, and the character string is encoded with the start position pi and the matching length qi. Of course, this encoding is performed when there are two or more characters, and raw data is output when there is one character. When the output code strings S1, S2, ... Si, ... Are obtained by the encoding by such a slide dictionary type algorithm, the code strings S1, S2 ,. A tree-structured dictionary 24 that follows a dynamic dictionary algorithm
To create.

【0064】辞書24にあっては、符号列Siの設定毎
にカウンタが設けられ、文字列の符号化に使用された回
数が計数されている。符号列S1,S2,・・・のLZ
W符号化が済んだならば、辞書24の中の例えば閾値T
=2以上の符号列を取り出し、1列の符号列に並べ替え
て初期値符号列として例えばS1,S2,S3,・・・
を生成する。ここで、初期値符号列S1,S2,S3,
・・・の各文字列は最初の符号化の際に予め判っている
ことから、元の文字列に復元することで初期値文字列を
生成する。
In the dictionary 24, a counter is provided for each setting of the code string Si, and the number of times used for encoding the character string is counted. LZ of code strings S1, S2, ...
If W encoding is completed, for example, the threshold value T in the dictionary 24
= 2 or more code strings are taken out and rearranged into one code string, and as initial value code strings, for example, S1, S2, S3, ...
To generate. Here, the initial value code sequences S1, S2, S3
Since each character string of ... Is known in advance at the first encoding, the initial value character string is generated by restoring the original character string.

【0065】このように最初にスライド辞書型アルゴリ
ズムを用いてサンプルデータから符号列を作り、この符
号列を対象に初期化作成を行うようにした場合には、L
ZW符号化アルゴリズムのみで辞書を作成した場合に比
べ、辞書に登録される文字列の最大長に制約があるかど
うかの違いだけであり、基本的にはLZJ符号化で作成
した辞書に基づく初期値文字列の作成と略同じものが得
られる。
In this way, when a code string is first created from the sample data by using the slide dictionary type algorithm and initialization creation is performed for this code string, L
Compared to the case where a dictionary is created only with the ZW encoding algorithm, the only difference is whether or not there is a restriction on the maximum length of the character string registered in the dictionary. Basically, the initial based on the dictionary created by the LZJ encoding. It is almost the same as creating the value string.

【0066】更に本発明の他の実施例としては、データ
圧縮を行おうとする入力データの種類が予め判っている
ときには、スライド型辞書としてのPバッファ12を初
期値作成部14で作成された初期値文字列のみとしても
よい。このように、Pバッファ12の登録を初期値文字
列のみとした場合には、圧縮率はやや劣るものの復号化
の処理が簡単になり、従来のスライド辞書型アルゴリズ
ムにおいて復号化に時間がかかるという問題を解決し、
従来方式に比べ非常に高速な処理を実現することができ
る。
Further, as another embodiment of the present invention, when the type of input data to be subjected to data compression is known in advance, the P buffer 12 as a slide type dictionary is initially created by the initial value creating unit 14. Only the value character string may be used. As described above, when the P buffer 12 is registered only with the initial value character string, the compression rate is slightly inferior, but the decoding process is simplified and the conventional slide dictionary type algorithm takes time to decode. Solve the problem,
It is possible to realize extremely high-speed processing as compared with the conventional method.

【0067】更に本発明の他の実施例として、出現する
データの種類が予めだいたい予想できるような場合に
は、初期値文字列をデータの種類によって何種類か準備
しておき、初期値文字列の部分を取り替えることによっ
て、予想した特定種類のデータに強い圧縮効果が得られ
る方式を実現することができる。
Further, as another embodiment of the present invention, when the type of data that appears can be roughly predicted in advance, several types of initial value character strings are prepared according to the type of data, and the initial value character string is prepared. By replacing the part of, it is possible to realize a method in which a strong compression effect is obtained for the expected specific type of data.

【0068】[0068]

【発明の効果】以上説明してきたように本発明によれ
ば、出現頻度の高い特性種類のデータでなる初期値文字
列を辞書に登録することによって、LZSS符号等のス
ライド辞書型アルゴリズムの簡便さをほとんど変えるこ
となしに圧縮率を高めることができる。
As described above, according to the present invention, by registering an initial value character string consisting of characteristic type data having a high appearance frequency in a dictionary, a slide dictionary type algorithm such as LZSS code can be easily used. The compression ratio can be increased with almost no change.

【0069】また、初期値文字列にない出現頻度の少な
い種類のデータについては、初期値文字列を設定した後
の辞書空きスペースに符号化進む毎に新たな文字列を登
録することによって出現頻度の低いデータについてもユ
ニバーサル性を損うことなく圧縮できる。
For data of a type having a low appearance frequency that is not included in the initial value character string, a new character string is registered each time the initial value character string is set in the empty space of the dictionary. Even low-data can be compressed without losing universality.

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

【図1】本発明の原理説明図FIG. 1 is an explanatory diagram of the principle of the present invention.

【図2】本発明の実施例構成図FIG. 2 is a block diagram of an embodiment of the present invention.

【図3】本発明の初期値作成処理を示したフローチャー
FIG. 3 is a flowchart showing an initial value creation process of the present invention.

【図4】本発明のサンプルデータを対象とした動的辞書
型符号化と辞書の文字列使用回数の計数を示した説明図
FIG. 4 is an explanatory diagram showing dynamic dictionary type encoding for sample data of the present invention and counting the number of times a character string is used in the dictionary.

【図5】本発明の符号化辞書の使用頻度に基づく初期値
文字列の生成を示した説明図
FIG. 5 is an explanatory diagram showing generation of an initial value character string based on the frequency of use of the encoding dictionary of the present invention.

【図6】本発明の初期値文字列を用いたスライド辞書型
符号化のフローチャート
FIG. 6 is a flowchart of slide dictionary type encoding using an initial value character string of the present invention.

【図7】本発明のスライド辞書型符号化で使用するPバ
ッファの構成を示した説明図
FIG. 7 is an explanatory diagram showing the configuration of a P buffer used in the slide dictionary type encoding of the present invention.

【図8】本発明のスライド辞書型復号化のフローチャー
FIG. 8 is a flowchart of slide dictionary type decoding according to the present invention.

【図9】サンプルデータをスライド辞書型符号化で符号
列に変換した後に木構造の動的辞書を作成して初期値文
字列を生成する本発明の他の実施例を示した説明図
FIG. 9 is an explanatory view showing another embodiment of the present invention in which sample data is converted into a code string by slide dictionary type coding, and then a tree-structure dynamic dictionary is created to generate an initial value character string.

【図10】スライド辞書型符号化の原理図FIG. 10: Principle diagram of slide dictionary type encoding

【図11】従来のLZSS符号化アルゴリズムを示した
フローチャート
FIG. 11 is a flowchart showing a conventional LZSS encoding algorithm.

【図12】LZSS符号化に用いるバッファ構成図FIG. 12 is a configuration diagram of a buffer used for LZSS encoding.

【図13】LZSS符号化の符号化データの出力形式説
明図
FIG. 13 is an explanatory diagram of an output format of encoded data of LZSS encoding.

【図14】従来のLZW符号化アルゴリズムを示したフ
ローチャート
FIG. 14 is a flowchart showing a conventional LZW encoding algorithm.

【図15】従来のLZW復号化アルゴリズムを示したフ
ローチャート
FIG. 15 is a flowchart showing a conventional LZW decoding algorithm.

【図16】従来のLZJ符号化アルゴリズムを示したフ
ローチャート
FIG. 16 is a flowchart showing a conventional LZJ encoding algorithm.

【図17】従来のLZJ復号化アルゴリズムを示したフ
ローチャート
FIG. 17 is a flowchart showing a conventional LZJ decoding algorithm.

【図18】LZJ符号化における文字列の登録を示した
説明図
FIG. 18 is an explanatory diagram showing registration of a character string in LZJ encoding.

【図19】本願発明者が既に提案しているLZW符号を
用いたデータ圧縮における辞書の初期登録の説明図
FIG. 19 is an explanatory diagram of initial registration of a dictionary in data compression using the LZW code that the inventor of the present application has already proposed.

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

10:入力バッファ(Qバッファ) 12:辞書バッファ(Pバッファ) 14:初期値作成手段(初期値作成部) 16:符号化復号化手段(スライド辞書型符号化復号化
部) 20:サンプルデータ記憶部 22:動的辞書型符号化部 24:辞書 26:初期値文字列生成部 30:データ圧縮復元部
10: Input buffer (Q buffer) 12: Dictionary buffer (P buffer) 14: Initial value creating means (initial value creating section) 16: Encoding / decoding means (slide dictionary type encoding / decoding section) 20: Sample data storage Part 22: Dynamic dictionary type encoding part 24: Dictionary 26: Initial value character string generation part 30: Data compression / decompression part

───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── --- Continuation of the front page (72) Inventor Hirotaka Chiba 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Fujitsu Limited

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】入力バッファ(10)中の入力データを辞
書バッファ(12)中の符号化済データの部分列の内、
最長一致するものの格納位置と一致長で指定して符号化
し、符号化済みの入力データは辞書バッファ(12)に
移して新たな符号化済みデータとして次の入力データを
符号化するデータ圧縮方式に於いて、 代表的なサンプルデータを相異なる部分列に分けたと
き、所定閾値以上の出現頻度をもつ部分列を抽出し、該
抽出した部分列を一列に並べて初期値文字列を予め作成
する初期値作成手段(14)と、 該初期値作成手段(14)で作成した初期値文字列を、
符号化又は復号化に先立って最初に前記辞書バッファ
(12)に固定的に設定して符号化済又は復号化済デー
タと見做し、該初期値文字列および新たに設定したび符
号化済又は復号化済データの中から前記入力バッファ
(10)の入力データと最長一致する部分列を検索して
格納位置と一致長で指定して符号化又は復号化する符号
化復号化手段(16)と、を備えたことを特徴とするデ
ータ圧縮方式。
1. The input data in an input buffer (10) is converted into a subsequence of encoded data in a dictionary buffer (12),
The longest matching one is designated by the storage position and the matching length and encoded, and the encoded input data is transferred to the dictionary buffer (12) and the next input data is encoded as new encoded data. In this case, when typical sample data is divided into different substrings, substrings having an appearance frequency of a predetermined threshold value or more are extracted, and the extracted substrings are arranged in a row to create an initial value character string in advance. The value creating means (14) and the initial value character string created by the initial value creating means (14)
Prior to encoding or decoding, it is first fixedly set in the dictionary buffer (12) and regarded as encoded or decoded data, and the initial value character string and new setting are encoded every time. Alternatively, a coding / decoding means (16) that searches the decoded data for a subsequence that has the longest match with the input data of the input buffer (10) and specifies the storage position and the matching length to perform coding or decoding. And a data compression method.
【請求項2】入力バッファ(10)中の入力データを辞
書バッファ(12)中の符号化済データの部分列の内、
最長一致するものの格納位置と一致長で指定して符号化
し、符号化済みの入力データは辞書バッファ(12)に
移して新たな符号化済みデータとして次の入力データを
符号化するデータ圧縮方式に於いて、 代表的なサンプルデータを相異なる部分列に分けたと
き、所定閾値以上の出現頻度をもつ部分列を抽出し、該
抽出した部分列を一列に並べて初期値文字列を予め作成
する初期値作成手段(14)と、 該初期値作成手段(14)で作成した初期値文字列を、
符号化に先立って最初に前記辞書バッファ(12)に固
定的に設定して符号化済データと見做し、該初期値文字
列の中からのみ前記入力バッファ(10)の入力データ
と最長一致する部分列を検索して格納位置と一致長で指
定して符号化又は復号化する符号化復号化手段(16)
と、 を備えたことを特徴とするデータ圧縮方式。
2. The input data in the input buffer (10) is converted into a subsequence of encoded data in the dictionary buffer (12),
The longest matching one is designated by the storage position and the matching length and encoded, and the encoded input data is transferred to the dictionary buffer (12) and the next input data is encoded as new encoded data. In this case, when typical sample data is divided into different substrings, substrings having an appearance frequency of a predetermined threshold value or more are extracted, and the extracted substrings are arranged in a row to create an initial value character string in advance. The value creating means (14) and the initial value character string created by the initial value creating means (14)
Prior to encoding, it is first fixedly set in the dictionary buffer (12) and regarded as encoded data, and the longest match with the input data of the input buffer (10) only from the initial value character string. Encoding / decoding means (16) for retrieving a subsequence to be encoded, specifying the storage position with a matching length, and encoding or decoding
And a data compression method.
【請求項3】請求項1,2記載のデータ圧縮方式に於い
て、前記初期値作成手段(14)は符号化済み文字列を
参照番号を付して登録する辞書を有し、代表的なサンプ
ルデータの文字列に最長一致する前記辞書中の符号化済
み部分列を検索して参照番号で指定して符号化し、該符
号化後に該参照番号に次のサンプル文字を付加した部分
列を新たな参照番号を付して前記辞書に登録し、更に辞
書に登録された符号化済み文字列の検索する毎に使用回
数を計数し、前記サンプルデータの符号化終了した際に
前記使用回数が所定閾値以上となる文字列を抽出し、該
抽出した文字列を出現順に並べて初期値文字列を予め作
成することを特徴とするデータ圧縮方式。
3. A data compression method according to claim 1, wherein said initial value creating means (14) has a dictionary for registering coded character strings with reference numbers, A coded substring in the dictionary that matches the character string of the sample data at the longest is searched for, designated by a reference number and coded, and after the coding, a substring in which the next sample character is added to the reference number is newly added. The reference number is added to the dictionary, the number of times of use is counted every time the encoded character string registered in the dictionary is searched, and the number of times of use is determined when the encoding of the sample data is completed. A data compression method, wherein character strings having a threshold value or more are extracted, and the extracted character strings are arranged in the order of appearance to create an initial value character string in advance.
【請求項4】請求項1,2記載のデータ圧縮方式に於い
て、前記初期値作成手段(14)は符号化済み文字列を
参照番号を付して登録する辞書を有し、代表的なサンプ
ルデータの文字列に最長一致する前記辞書中の符号化済
み部分列を検索して参照番号で指定して符号化し、該符
号化後に符号化した入力文字列の各文字を順次接頭部分
列とし、該接頭部分列に辞書中の部分列を加えた一定長
の部分列を複数作成して全て辞書に登録し、更に辞書に
登録された符号化済み部分列の検索する毎に使用回数を
計数し、前記サンプルデータの符号化終了した際に前記
使用回数が所定閾値以上となる部分列を抽出し、該抽出
した部分列を出現順に並べて初期値文字列を予め作成す
ることを特徴とするデータ圧縮方式。
4. The data compression method according to claim 1, wherein said initial value creating means (14) has a dictionary for registering coded character strings with reference numbers, The coded substring in the dictionary that matches the character string of the sample data at the longest is searched, designated by the reference number, coded, and each character of the input character string coded after the coding is sequentially used as a prefix substring. , Create a plurality of substrings of fixed length by adding the substring in the dictionary to the prefix substring, register all in the dictionary, and count the number of times of use every time the coded substring registered in the dictionary is searched Then, when the coding of the sample data is completed, a partial string whose usage count is equal to or more than a predetermined threshold value is extracted, and the extracted partial strings are arranged in the order of appearance to create an initial value character string in advance. Compression method.
【請求項5】請求項1,2記載のデータ圧縮方式に於い
て、前記初期値作成手段(14)は入力バッファ中の代
表的なサンプルデータを辞書バッファ中の符号化済デー
タの部分列の内、最長一致するものの格納位置と一致長
で指定して符号化し、該符号化データを相異なる部分列
に分けたとき、所定閾値以上の出現頻度をもつ部分列を
抽出し、該抽出した部分列を出現順に並べて初期値文字
列を予め作成することを特徴とするデータ圧縮方式。
5. The data compression method according to claim 1, wherein said initial value creating means (14) converts typical sample data in the input buffer into a partial sequence of encoded data in the dictionary buffer. Of these, when the longest matching one is encoded by specifying the storage position and the matching length and the encoded data is divided into different subsequences, subsequences having an appearance frequency of a predetermined threshold value or more are extracted, and the extracted portions are extracted. A data compression method characterized in that an initial value character string is created in advance by arranging columns in the order of appearance.
【請求項6】請求項1,2記載のデータ圧縮方式に於い
て、前記辞書バッファ(12)を読出専用の第1メモリ
と、読出及び書込可能な第2メモリで構成し、前記初期
値作成手段(14)で作成した初期値文字列を前記第1
メモリに固定行に記憶し、前記入力バッファ(10)の
符号化済み入力データは第2メモリに移して記憶するこ
とを特徴とするデータ圧縮方式。
6. The data compression method according to claim 1, wherein said dictionary buffer (12) is composed of a read-only first memory and a readable and writable second memory, and said initial value The initial value character string created by the creating means (14) is the first
A data compression method, wherein the data is stored in a fixed row in a memory, and the encoded input data of the input buffer (10) is moved to a second memory and stored.
【請求項7】請求項1,2記載のデータ圧縮方式に於い
て、前記辞書バッファ(12)を書替え禁止領域を設定
した読出及び書込可能なメモリで構成し、符号化開始時
に前記初期値作成手段(14)で作成した初期値文字列
を前記辞書バッファ(12)の書替え禁止領域にロード
した後に符号化を開始することを特徴とするデータ圧縮
方式。
7. The data compression method according to claim 1, wherein the dictionary buffer (12) is composed of a readable and writable memory in which a rewrite prohibited area is set, and the initial value is set at the start of encoding. A data compression method characterized in that the initial value character string created by the creating means (14) is loaded into the rewrite prohibited area of the dictionary buffer (12) and then the encoding is started.
JP04257892A 1992-02-28 1992-02-28 Data compression method Expired - Fee Related JP3241788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04257892A JP3241788B2 (en) 1992-02-28 1992-02-28 Data compression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04257892A JP3241788B2 (en) 1992-02-28 1992-02-28 Data compression method

Publications (2)

Publication Number Publication Date
JPH05241777A true JPH05241777A (en) 1993-09-21
JP3241788B2 JP3241788B2 (en) 2001-12-25

Family

ID=12639955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04257892A Expired - Fee Related JP3241788B2 (en) 1992-02-28 1992-02-28 Data compression method

Country Status (1)

Country Link
JP (1) JP3241788B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6927706B2 (en) 2003-02-24 2005-08-09 Oki Electric Industrial, Co., Ltd Data compressing apparatus and data decoding apparatus
JP2007124561A (en) * 2005-10-31 2007-05-17 Fujitsu Ltd Data compression method and compressed data transmission method
JP2007129683A (en) * 2006-03-13 2007-05-24 Fujitsu Ltd Compressed data transmission method
US7277585B2 (en) 2001-05-25 2007-10-02 Ricoh Company, Ltd. Image encoding method, image encoding apparatus and storage medium
USRE41152E1 (en) 1996-08-06 2010-02-23 Pinpoint Incorporated Lempel-Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
WO2014147672A1 (en) 2013-03-22 2014-09-25 富士通株式会社 Compression device, compression method, dictionary generation device, dictionary generation method, expansion device, expansion method, expansion program, and information processing system
JP2014204358A (en) * 2013-04-08 2014-10-27 日本電信電話株式会社 Method and apparatus for creating hierarchical sample character string dictionary in character string compression
JP2014204357A (en) * 2013-04-08 2014-10-27 日本電信電話株式会社 Method and apparatus for creating sample character string dictionary
US9219497B2 (en) 2012-09-21 2015-12-22 Fujitsu Limited Compression device, compression method, and recording medium
US9391636B2 (en) 2012-12-19 2016-07-12 Fujitsu Limited Method and system
US9397696B2 (en) 2014-07-22 2016-07-19 Fujitsu Limited Compression method, compression device, and computer-readable recording medium
US9496895B2 (en) 2012-12-19 2016-11-15 Fujitsu Limited Compression method and decompression method
US10318483B2 (en) 2012-09-21 2019-06-11 Fujitsu Limited Control method and control device
CN116827351A (en) * 2023-08-31 2023-09-29 浙江中骏石墨烯科技有限公司 Intelligent monitoring system for temperature of graphene heating wall surface
CN118381580A (en) * 2024-06-21 2024-07-23 辽宁吉左网络科技有限公司 Machine room operation and maintenance data management method and system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4479530B2 (en) 2004-12-28 2010-06-09 カシオ電子工業株式会社 Data compression apparatus and data restoration apparatus

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE41152E1 (en) 1996-08-06 2010-02-23 Pinpoint Incorporated Lempel-Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US7277585B2 (en) 2001-05-25 2007-10-02 Ricoh Company, Ltd. Image encoding method, image encoding apparatus and storage medium
US6927706B2 (en) 2003-02-24 2005-08-09 Oki Electric Industrial, Co., Ltd Data compressing apparatus and data decoding apparatus
JP2007124561A (en) * 2005-10-31 2007-05-17 Fujitsu Ltd Data compression method and compressed data transmission method
US7310055B2 (en) 2005-10-31 2007-12-18 Fujitsu Limited Data compression method and compressed data transmitting method
JP2007129683A (en) * 2006-03-13 2007-05-24 Fujitsu Ltd Compressed data transmission method
US9219497B2 (en) 2012-09-21 2015-12-22 Fujitsu Limited Compression device, compression method, and recording medium
US10318483B2 (en) 2012-09-21 2019-06-11 Fujitsu Limited Control method and control device
US9496895B2 (en) 2012-12-19 2016-11-15 Fujitsu Limited Compression method and decompression method
US9391636B2 (en) 2012-12-19 2016-07-12 Fujitsu Limited Method and system
US9577666B2 (en) 2012-12-19 2017-02-21 Fujitsu Limited Method and system
WO2014147672A1 (en) 2013-03-22 2014-09-25 富士通株式会社 Compression device, compression method, dictionary generation device, dictionary generation method, expansion device, expansion method, expansion program, and information processing system
JP2014204357A (en) * 2013-04-08 2014-10-27 日本電信電話株式会社 Method and apparatus for creating sample character string dictionary
JP2014204358A (en) * 2013-04-08 2014-10-27 日本電信電話株式会社 Method and apparatus for creating hierarchical sample character string dictionary in character string compression
US9397696B2 (en) 2014-07-22 2016-07-19 Fujitsu Limited Compression method, compression device, and computer-readable recording medium
CN116827351A (en) * 2023-08-31 2023-09-29 浙江中骏石墨烯科技有限公司 Intelligent monitoring system for temperature of graphene heating wall surface
CN116827351B (en) * 2023-08-31 2023-11-17 浙江中骏石墨烯科技有限公司 Intelligent monitoring system for temperature of graphene heating wall surface
CN118381580A (en) * 2024-06-21 2024-07-23 辽宁吉左网络科技有限公司 Machine room operation and maintenance data management method and system

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3273119B2 (en) Data compression / decompression device
US4988998A (en) Data compression system for successively applying at least two data compression methods to an input data stream
US20010051941A1 (en) Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data
JP3241788B2 (en) Data compression method
JP2536422B2 (en) Data compression device and data decompression device
JP3038223B2 (en) Data compression method
JP3241787B2 (en) Data compression method
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JPH05152971A (en) Data compressing/restoring method
JP3105598B2 (en) Data compression method using universal code
JPH05241775A (en) Data compression system
JPH0628149A (en) Method for compressing plural kinds of data
JP3199292B2 (en) Run-length extraction method, Huffman code conversion method, and MH coding processing method in Huffman code coding
JP3012677B2 (en) ZL encoding method
JP3100206B2 (en) Data compression method
JP3038233B2 (en) Data compression and decompression device
JPH06168097A (en) Data encoding system and data decoding system
JPH06161705A (en) Data encoding system and data decoding system
JP3051501B2 (en) Data compression method
JP3083329B2 (en) Data compression / decompression method
JPH06202844A (en) Data compression/restoration processing device
Kumar A plain-text compression technique with fast lookup ability
JP2825960B2 (en) Data compression method and decompression method
JPH06149537A (en) Data compression method and restoration method
JP3058711B2 (en) Data compression and decompression method

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: 20010911

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

Free format text: PAYMENT UNTIL: 20071019

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees