JP3015483B2 - Data compression and decompression method - Google Patents

Data compression and decompression method

Info

Publication number
JP3015483B2
JP3015483B2 JP3047996A JP4799691A JP3015483B2 JP 3015483 B2 JP3015483 B2 JP 3015483B2 JP 3047996 A JP3047996 A JP 3047996A JP 4799691 A JP4799691 A JP 4799691A JP 3015483 B2 JP3015483 B2 JP 3015483B2
Authority
JP
Japan
Prior art keywords
character
dictionary
code
character string
last
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
JP3047996A
Other languages
Japanese (ja)
Other versions
JPH04283827A (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.)
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 JP3047996A priority Critical patent/JP3015483B2/en
Publication of JPH04283827A publication Critical patent/JPH04283827A/en
Application granted granted Critical
Publication of JP3015483B2 publication Critical patent/JP3015483B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ユニバーサル符号の一
種である増分分解型の改良として知られたLZW符号に
よるデータ圧縮方式及び復元方式に関する。近年、文字
コ−ド、ベクトル情報、画像など様々な種類のデ−タが
コンピュ−タで扱われるようになっており、扱われるデ
−タ量も急速に増加してきている。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data compression method and a decompression method using an LZW code which is known as an improvement of an incremental decomposition type which is a kind of universal code. 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 rapidly increased.

【0002】大量のデ−タを扱うときは、デ−タの中の
冗長な部分を省いてデ−タ量を圧縮することで、記憶容
量を減らしたり、速く伝送したりできるようになる。こ
のように様々なデ−タを1つの方式でデ−タ圧縮できる
方法としてユニバ−サル符号化が提案されている。ここ
で、本発明の分野は、文字コ−ドの圧縮に限らず、様々
なデ−タに適用できるが、以下では、情報理論で用いら
れている呼称を踏襲し、デ−タの1ワード単位を文字と
呼び、デ−タが任意ワードつながったものを文字列と呼
ぶことにする。
[0002] When a large amount of data is handled, by compressing the amount of data by omitting redundant parts in the data, it becomes possible to reduce the storage capacity or to transmit the data at high speed. As described above, universal coding has been proposed as a method capable of compressing various data in one system. Here, the field of the present invention is not limited to character code compression, and can be applied to various data. In the following, one word of data will be used, following the name used in information theory. The unit is called a character, and the data obtained by connecting arbitrary words is called a character string.

【0003】ユニバ−サル符号の代表的な方法として、
ジブ−レンペル(Ziv-Lempel)符号がある(詳しくは、
例えば宗像「Ziv-Lempelのデ−タ圧縮法」、情報処理、
Vol.26,No.1,1985年を参照のこと)。Ziv-Lempel符号で
は (1) ユニバ−サル型と、 (2) 増分分解型(Incremental parsing ) の2つのアルゴリズムが提案されている。
[0003] As a typical method of the universal code,
There is a Ziv-Lempel code (for details,
For example, Munakata "Ziv-Lempel's data compression method", information processing,
Vol. 26, No. 1, 1985). For the Ziv-Lempel code, two algorithms, (1) universal type and (2) Incremental parsing, have been proposed.

【0004】更に、ユニバ−サル型アルゴリズムの改良
として、LZSS符号がある(T.C.Bell, “Better OPM
/L Text Compression ”,IEEE Trans. on Commun.,Vol.
COM-34,No.12,Dec. 1986参照)。また、増分分解型アル
ゴリズムの改良としては、LZW(Lempel-Ziv-Welch)
符号がある(T.A.Welch,“A Technique for High-Perfo
rmance Data Compression ”,Computer,June 1984参
照)。
Further, as an improvement of the universal type algorithm, there is an LZSS code (TCBell, “Better OPM”).
/ L Text Compression ”, IEEE Trans. On Commun., Vol.
COM-34, No. 12, Dec. 1986). Further, as an improvement of the incremental decomposition type algorithm, LZW (Lempel-Ziv-Welch)
(TAWelch, “A Technique for High-Perfo
rmance Data Compression ", Computer, June 1984).

【0005】これらの符号の内、高速処理ができること
と、アルゴリズムの簡単さからLZW符号が記憶装置の
ファイル圧縮などで使われるようになっている。
[0005] Among these codes, the LZW code has come to be used for file compression of a storage device or the like because of its high speed processing and the simplicity of the algorithm.

【0006】[0006]

【従来の技術】従来のLZW符号の符号化アルゴリズム
のフローチャートを図8に示し、また復号化アルゴリズ
ムのフローチャートを図9に示す。まずLZW符号化
は、書き替え可能な辞書を持ち、入力文字列の中を相異
なる文字列に分け、この文字列を出現した順に番号を付
けて辞書に登録すると共に、現在入力している文字列を
辞書に登録してある最長一致文字列の参照番号だけで表
して符号化するものである。
2. Description of the Related Art FIG. 8 shows a flowchart of a conventional LZW code encoding algorithm, and FIG. 9 shows a flowchart of a decoding algorithm. First, LZW encoding has a rewritable dictionary, divides an input character string into different character strings, assigns numbers to the character strings in the order in which they appear, registers them in the dictionary, and registers the currently input character string. The sequence is represented and encoded only by the reference number of the longest matching character string registered in the dictionary.

【0007】図10にLZW符号化の具体例を示し、ま
た図11にLZW復号化の具体例を示し、さらに図12
に符号化と復号化で使用される辞書の内容を示す。尚、
図10,11,12にあっては、説明を簡単にするため
abcの3文字の組合せからなる文字列を圧縮、復元す
る場合を例にとっている。まず図8のLZW符号化の処
理を説明すると次のようになる。
FIG. 10 shows a specific example of LZW encoding, FIG. 11 shows a specific example of LZW decoding, and FIG.
Shows the contents of the dictionary used for encoding and decoding. still,
FIGS. 10, 11 and 12 show a case where a character string composed of a combination of three characters of abc is compressed and decompressed for simplicity of explanation. First, the LZW encoding process of FIG. 8 will be described as follows.

【0008】ステップS1:予め全文字につき1文字か
らなる文字列を初期値として登録してから符号化を始め
る。ステップS1の符号化は入力した最初の文字Kによ
り辞書を検索して参照番号ωを求め、これを語頭文字列
(prefix string )とする。 ステップS2:入力デ−タの次の文字Kを読み込む。
Step S1: A character string consisting of one character for every character is registered as an initial value before encoding starts. In the encoding in step S1, the dictionary is searched using the first character K input to obtain a reference number ω, which is used as a prefix string. Step S2: Read the next character K of the input data.

【0009】ステップS3:文字入力が終了したか否か
をチェックする。 ステップS4:ステップS1で求めた語頭文字列ωにス
テップS2で読み込んだ文字Kを加えた(ωK)が辞書
にあるか否か探す。 ステップS5:もし、ステップS4で文字列(ωK)が
辞書にあれば、ステップS5で文字列(ωK)を参照番
号ωに置き換え、再びステップS2に戻って文字列(ω
K)が辞書から探せなくなるまで最大一致長の探索を続
ける。
Step S3: It is checked whether the character input has been completed. Step S4: A search is performed to determine whether or not (ωK) in which the character K read in step S2 is added to the initial character string ω obtained in step S1 is in the dictionary. Step S5: If the character string (ωK) is found in the dictionary in step S4, the character string (ωK) is replaced with the reference number ω in step S5, and the process returns to step S2 to return to the character string (ωK).
The search for the maximum matching length is continued until K) cannot be searched from the dictionary.

【0010】ステップS6:もし、ステップS4で文字
列(ωK)が辞書になければ、ステップS6に進んでス
テップS1で求めた文字Kの参照番号ωを符号語code
(ω)として出力し、また文字列(ωK)に新たな参照
番号を付加して辞書に登録し、更にステップS2の入力
文字Kを参照番号ωに置き換えると共に、辞書アドレス
nをインクリメントしてステップS2に戻って次の文字
Kを読み込む。
Step S6: If the character string (ωK) is not found in the dictionary in step S4, the process proceeds to step S6, and the reference number ω of the character K obtained in step S1 is replaced with the code word code
(Ω), add a new reference number to the character string (ωK), register it in the dictionary, replace the input character K in step S2 with the reference number ω, increment the dictionary address n, and step Returning to S2, the next character K is read.

【0011】図10及び図12を参照して具体的に説明
すると次のようになる。まず図10の入力データinput
は左から右へと読む。最初の文字aを入力し、語頭文字
列ωとする。次に2番目の文字bを入力したとすると、
この入力文字を語頭文字列ωに加えた拡張文字列ωK=
abは辞書にないことから、文字aのOUTPUT CODE 1を
符号語として出力する。
The details will be described with reference to FIGS. 10 and 12. First, the input data input of FIG.
Reads from left to right. The first character "a" is input to be the initial character string ω. Next, if the second character b is entered,
This input character is added to the initial character string ω.
Since ab is not in the dictionary, OUTPUT CODE 1 of character a is output as a codeword.

【0012】そして、拡張文字列ωK=abに参照番号
4を付けて辞書に登録する。実際の辞書登録は図11の
右側に示すように文字列1bとして登録される。そして
文字bが語頭文字列ωとなる。続いて3番目の文字aを
入力したとすると、文字aに語頭文字列ωを加えた拡張
文字列ωK=ba=2aは辞書にないことから、文字b
のOUTPIT CODE 2 を符号語として出力した後、拡張文字
列ωK=baを2aで表わし、参照番号5を付けて辞書
に登録する。そして文字aが新たな語頭文字列ωとな
る。
Then, the extended character string ωK = ab is assigned a reference number 4 and registered in the dictionary. The actual dictionary registration is registered as a character string 1b as shown on the right side of FIG. Then, the character b becomes the initial character string ω. Subsequently, if the third character a is input, the extended character string ωK = ba = 2a obtained by adding the initial character string ω to the character a is not in the dictionary.
After outputting OUTPIT CODE 2 as a code word, the extended character string ωK = ba is represented by 2a, and is registered in the dictionary with a reference number 5. Then, the character a becomes a new initial character string ω.

【0013】4番目の入力文字bについては拡張文字列
ωK=abは1bの符号語4として既に辞書に登録され
ているので、文字列ωKを新たな語頭文字列ωとし、5
番目の文字cを入力して拡張文字列ωK=4c=abc
を作る。この拡張文字列ωK=abcは辞書に登録され
ていないことから、文字列ab=1bのOUTPUT CODE4
を符号語として出力し、拡張文字列ωK=abcを辞書
に4cの形で符号語6として登録する。以下同様に、こ
の処理を続ける。
As for the fourth input character b, since the extended character string ωK = ab is already registered in the dictionary as the code word 4 of 1b, the character string ωK is set to a new initial character string ω, and 5
Enter the third character c to expand the character string ωK = 4c = abc
make. Since this extended character string ωK = abc is not registered in the dictionary, the OUTPUT CODE4 of the character string ab = 1b
Is output as a code word, and the extended character string ωK = abc is registered as a code word 6 in the form of 4c in the dictionary. Hereinafter, similarly, this processing is continued.

【0014】次に図9の復号化処理を説明する。この復
号化では、符号化と同様に予め辞書に全文字につき一文
字からなる文字列を初期値として登録してから復号を始
める。 ステップS1:最初の符号CODEを読み込み参照番号ωを
復号する。現在の参照番号ωをOLD ωとし、最初の符号
は既に辞書に登録された一文字の参照番号いずれかに該
当することから、入力参照番号ωに一致する文字D
(K)を探し出し、文字Kを出力する。尚、出力した文
字Kは後の例外処理のためFINchar にセットしておく。
Next, the decoding process of FIG. 9 will be described. In this decoding, similarly to the encoding, the decoding is started after a character string consisting of one character for every character is previously registered in the dictionary as an initial value. Step S1: The first code CODE is read and the reference number ω is decoded. The current reference number ω is assumed to be OLD ω, and since the first code corresponds to one of the reference numbers of one character already registered in the dictionary, the character D corresponding to the input reference number ω
Search for (K) and output the letter K. The output character K is set in FINchar for later exception processing.

【0015】ステップS2:次の符号CODEを読み込む。 ステップS3:新たな符号があるか否か、即ち符号入力
の終了の有無をチェックする。 ステップS4:読み込んだ符号CODEから参照番号ωを復
号し、INωとしてセットする。
Step S2: The next code CODE is read. Step S3: It is checked whether or not there is a new code, that is, whether or not code input has been completed. Step S4: The reference number ω is decoded from the read code CODE and set as INω.

【0016】ステップS5:ステップS4で入力された
符号CODEが辞書に登録されているか否(ω≧n)かチェ
ックする。 ステップS6:通常、入力した符号語は前回までの処理
で辞書に登録されているため、ステップS6に進んで参
照番号ωに対応する文字列D(ω´K)を辞書から読み
出す。
Step S5: It is checked whether or not the code CODE input in step S4 is registered in the dictionary (ω ≧ n). Step S6: Normally, the input code word has been registered in the dictionary in the previous process, so the process proceeds to step S6, where the character string D (ω′K) corresponding to the reference number ω is read from the dictionary.

【0017】ステップS7:文字列Kを一時的にスタッ
クし、参照番号ω´を新たなωとして再度ステップS6
に戻り、このステップS6の手順を再帰的に参照番号ω
が1文字に至まで繰り返す。 ステップS8:ステップS7でスタックした文字をLI
FO(Last In Fast Out)形式でポップアップして出力
する。同時に、前回使った参照番号OLD ωと今回復元し
た文字列の最初の一文字Kを組(OLD ω,K)と表した
文字列に、新たな参照番号nを付加して辞書に登録す
る。
Step S7: The character string K is temporarily stacked, and the reference number ω ′ is set as a new ω, and the process returns to step S6.
And recursively repeats the procedure of step S6 with reference number ω
Is repeated up to one character. Step S8: The characters stacked in step S7 are LI
Pop up and output in FO (Last In Fast Out) format. At the same time, a new reference number n is added to a character string represented as a set (OLD ω, K) of the reference number OLD ω used last time and the first character K of the character string restored this time and registered in the dictionary.

【0018】このLZW復号処理を図11について具体
的に説明すると次のようになる。まず最初の入力符号は
1であり、1文字a,b,cについては既に参照番号
1,2,3として図12に示すように辞書に登録されて
いるため、辞書の参照により符号1に一致する参照番号
の文字列aに置き換えて出力する。次の符号2について
も同様にして文字bに置き換えて出力する。このとき前
回処理した符号と今回復号した最初の一文字bとを組み
合わせた(1b)に新たな参照番号4を付加して辞書に
登録する。
The LZW decoding process will be specifically described with reference to FIG. First, the first input code is 1, and the characters a, b, and c are already registered in the dictionary as reference numbers 1, 2, and 3 as shown in FIG. And replaces it with the character string a of the reference number. Similarly, the next code 2 is replaced with the character b and output. At this time, a new reference number 4 is added to (1b) in which the previously processed code and the first character b decoded this time are combined and registered in the dictionary.

【0019】3番目の符号4は辞書の探索により1bか
らabと置き換えて文字列abを出力する。同時に前回
処理した符号2と今回復号した文字列の1番目の文字a
との組合せた文字列2a(=ba)を新たな参照番号5
を付加して辞書に登録する。以下同様に、この処理を繰
り返す。図11の復号化では次の例外処理がある。
The third code 4 outputs a character string ab by replacing d with ab by searching the dictionary. At the same time, the code 2 processed last time and the first character a of the character string decoded this time
The character string 2a (= ba) combined with
And register it in the dictionary. Hereinafter, similarly, this processing is repeated. In the decoding of FIG. 11, there is the following exception processing.

【0020】この例外処理は、第6番目の入力符号8の
復号で生ずる。符号8は復号時に辞書に定義されておら
ず、復号できない。この場合には、前回処理した符号5
に前回復号した文字列baの最初の一文字bを加えた文
字列5bを求め、更に2ab,babと置き換えられて
出力される。
This exception processing occurs when the sixth input code 8 is decoded. The code 8 is not defined in the dictionary at the time of decoding and cannot be decoded. In this case, the previously processed code 5
Is obtained by adding the first character b of the previously decoded character string ba to the character string 5b, and further replaced with 2ab and bab and output.

【0021】そして、文字列の出力語に前回の符号語5
に今回復号した文字列の文字bを加えた文字列5bに参
照番号8を付加して辞書に登録する。この例外処理は図
9の復号化処理フロ−のステップS5,ステップS9の
処理を通じて行なわれ、最終的にステップS8で文字列
の出力と新たな文字列に参照番号を付加した辞書への登
録が行なわれる。
Then, the previous code word 5 is added to the output word of the character string.
The reference number 8 is added to the character string 5b obtained by adding the character b of the character string decoded this time to the dictionary and registered in the dictionary. This exception processing is performed through the processing of steps S5 and S9 of the decoding processing flow of FIG. 9. Finally, in step S8, the output of the character string and the registration in the dictionary in which the reference number is added to the new character string are performed. Done.

【0022】尚、図8及び図9の符号化処理と復号化処
理は、同じ辞書を作り出しながら行なう。
The encoding process and the decoding process in FIGS. 8 and 9 are performed while creating the same dictionary.

【0023】[0023]

【発明が解決しようとする課題】従来のLZW符号化方
式では、入力文字列の中を相異なる文字列に分けて符号
化する際に、現在符号化中の各文字列は以前の文字列と
は独立に出現するとして符号化する形式を取っている。
この方法では、無記憶情報源の符号化には問題はない。
しかし、実際の文章など、多くのデータは記憶情報源と
みなされ、LZW符号では文字列が出現する履歴を十分
利用できておらず、データ圧縮後も文字列の出現の従属
性に付いては冗長性が残る欠点があった。
In the conventional LZW encoding method, when an input character string is divided into different character strings and encoded, each character string currently being encoded is replaced with a previous character string. Has the form of encoding as appearing independently.
In this way, there is no problem in encoding the memoryless source.
However, many data such as actual sentences are regarded as storage information sources, and the LZW code does not sufficiently utilize the history of occurrence of a character string. There was a disadvantage that redundancy remained.

【0024】図8に示した従来のアルゴリズムによりL
ZW符号化したときの辞書の探索木を図13に示す。図
13の辞書登録は、処理対象となる全文字256にイン
デックス(参照番号)0〜255を付けて初期登録した
状態で符号化を開始し、例えば図14に示すように、先
頭文字に続く文字列をインデックス(参照番号)i1,
i2,i3で表わして辞書に登録したものである。
According to the conventional algorithm shown in FIG.
FIG. 13 shows a search tree of the dictionary when ZW encoding is performed. In the dictionary registration of FIG. 13, encoding is started in a state where all the characters 256 to be processed are initially registered with indexes (reference numbers) 0 to 255, and for example, as shown in FIG. The column is indexed (reference number) i1,
These are represented by i2 and i3 and registered in the dictionary.

【0025】この場合、辞書の探索木の根(Root)は空
であり、従来のLZW符号化では図符号化中の文字列に
対して以前に出現した文字列の履歴は考えられていない
ことを示している。本発明は、このような従来の問題点
に鑑みてなされたもので、符号化文字列に対して直前の
文字列との従属関係を辞書の分類に取り込むことによっ
て文字列間の冗長性を削減して圧縮率を高めるようにし
たLZWによるデータ圧縮方式及び復元方式を提供する
ことを目的とする。
In this case, the root of the search tree of the dictionary is empty, which indicates that the history of the character string that has appeared before with respect to the character string being figure-encoded is not considered in the conventional LZW encoding. ing. The present invention has been made in view of such a conventional problem, and reduces the redundancy between character strings by incorporating the dependency of an encoded character string with the immediately preceding character string into a dictionary classification. It is an object of the present invention to provide a data compression method and a decompression method based on LZW in which the compression ratio is increased.

【0026】[0026]

【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、入力文字列を辞書10に登録
された既に符号化済みの部分列の内、最大長一致する部
分列の参照番号で指定してLZW符号化するデータ圧縮
方式を対象とする。
FIG. 1 is a diagram illustrating the principle of the present invention. First, the present invention is directed to a data compression method in which an input character string is LZW-encoded by designating a reference number of a subsequence that matches the maximum length among already encoded subsequences registered in the dictionary 10.

【0027】このようなデータ圧縮方式につき本発明に
あっては、辞書10として、複数の分割辞書群10−1
〜10−Nを設けて順番に分割辞書番号Diを割当て、
更に各分割辞書10−1〜10−N毎に少なくとも全文
字種を1文字単位に参照番号を付けて初期登録する。入
力文字列の符号化時には、直前に符号化済みの文字列の
最終文字の文字コードC1と最終文字の1個前の文字の
文字コードC0とに基づいた分類コードにより特定の分
割辞書10−1を指定して符号化することを特徴とす
る。
According to the present invention for such a data compression method, a plurality of divided dictionary groups 10-1 are used as the dictionary 10.
-10-N are assigned and the divided dictionary numbers Di are sequentially assigned,
Further, for each of the divided dictionaries 10-1 to 10-N, at least all character types are initially registered with reference numbers assigned in character units. At the time of encoding the input character string, the specific division dictionary 10-1 is classified by a classification code based on the character code C1 of the last character of the immediately preceding encoded character string and the character code C0 of the character immediately before the final character. Is specified and encoded.

【0028】ここで直前に符号化済みの文字列の最終文
字の文字コードC1の一部(例えば上位4ビットの値)
と、最終文字の1個前の文字コードC0の一部(例えば
上位4ビットをシフトして下位4ビットとした値)とに
基づいた分類コードにより特定の分割辞書10−1を指
定して符号化する。一方、本発明は入力文字列を辞書1
0に登録された既に符号化済みの部分列の内、最大長一
致する部分列の参照番号で指定して符号化された符号語
から元の文字列を復元するデータ復元方式も対象とす
る。
Here, part of the character code C1 of the last character of the character string that has just been encoded (for example, the value of the upper 4 bits)
A specific division dictionary 10-1 is designated and designated by a classification code based on a part of the character code C0 immediately before the last character (for example, a value obtained by shifting upper four bits to lower four bits). Become On the other hand, the present invention converts an input character string into a dictionary 1
A data restoration method for restoring an original character string from a codeword specified and designated by a reference number of a subsequence that matches the maximum length among already encoded subsequences registered in 0 is also included.

【0029】このようなデータ復元方式として本発明に
あっては、辞書10として、複数の分割辞書群10−1
〜10−Nを設けて順番に分割辞書番号Diを割当て、
更に各分割辞書10−1〜10−N毎に少なくとも全文
字種を1文字単位に参照番号を付けて初期登録する。入
力符号列の復元時には、直前に復元済みの文字列の最終
文字の文字コードC1と、最終文字の1個前の文字コー
ドC0とに基づいた分類コードにより特定の分割辞書1
0−iを指定して復元することを特徴とする。
According to the present invention as such a data restoration method, a plurality of divided dictionary groups 10-1 are used as the dictionary 10.
-10-N are assigned and the divided dictionary numbers Di are sequentially assigned,
Further, for each of the divided dictionaries 10-1 to 10-N, at least all character types are initially registered with reference numbers assigned in character units. At the time of restoring the input code string, a specific divided dictionary 1 is determined by a classification code based on the character code C1 of the last character of the immediately preceding restored character string and the character code C0 immediately before the last character.
It is characterized in that restoration is performed by designating 0-i.

【0030】ここで直前に復元済みの文字列の最終文字
の文字コードC1の一部(例えば上位4ビットの値)
と、最終文字の1個前の文字コードC0の一部(例えば
上位4ビットシフトして下位4ビットとした値)とに基
づいた分類コードにより特定の分類辞書10−iを指定
して復元する。
Here, a part of the character code C1 of the last character of the previously restored character string (for example, the value of the upper 4 bits)
A specific classification dictionary 10-i is designated and restored by a classification code based on a part of the character code C0 immediately before the final character (for example, a value shifted to the lower 4 bits by upper 4 bits). .

【0031】[0031]

【作用】このような構成を備えた本発明のデータ圧縮及
び復元方式によれば次の作用が得られる。即ち、符号化
の際に、直前に符号化済みの文字列の最終文字の1個前
の文字と最終文字との関係をまとめた状態、即ち分類コ
ードによって辞書を指定して符号化するため、辞書の構
成自体を直前に出現した文字列から規定することで文字
列が出現する履歴を取り入れた符号化ができ、文字列間
の冗長性を削減して圧縮率を向上できる。
According to the data compression and decompression method of the present invention having such a configuration, the following effects can be obtained. That is, at the time of encoding, a state in which the relationship between the character immediately before the last character of the encoded character string immediately before and the final character is put together, that is, the dictionary is designated by the classification code and encoded, By defining the configuration of the dictionary itself from the character string that appeared immediately before, encoding that incorporates the history of the appearance of character strings can be performed, and redundancy between character strings can be reduced and the compression rate can be improved.

【0032】[0032]

【実施例】図2は本発明の一実施例を示した実施例構成
図である。図2において、12は制御手段としてのCP
Uであり、CPU12に対してはプログラムメモリ14
とデータメモリ30が接続される。プログラムメモリ1
4にはコントロールソフト16、LZW符号を用いた最
大一致長検索を行う最大一致長検索ソフト18、入力文
字列をLZW符号に変換する符号化ソフト20、符号化
ソフト20でLZW符号に変換された符号列を元の文字
列に復元する復号化ソフト22が設けられる。
FIG. 2 is a block diagram showing an embodiment of the present invention. In FIG. 2, reference numeral 12 denotes a CP as a control unit.
U, and the program memory 14
And the data memory 30 are connected. Program memory 1
Reference numeral 4 denotes control software 16, maximum match length search software 18 for performing a maximum match length search using an LZW code, encoding software 20 for converting an input character string into an LZW code, and conversion to an LZW code by the encoding software 20. Decoding software 22 for restoring the code string to the original character string is provided.

【0033】ここで本発明にあっては、符号化ソフト2
0及び復号化ソフト22の各々に、既に符号化済みの直
前の文字列の最終文字の1つ前の文字の文字コードの上
位4ビットをシフトして下位4ビットしたものと、既に
符号化済みの直前の文字列の最終文字の上位4ビットと
の和でなる8ビットコードを分類コードとして符号化或
いは復号化に使用する辞書を指定する機能が加えられ
る。この分類コードによる辞書の指定はLUT26を使
用して行われる。
Here, in the present invention, the encoding software 2
0 and the decoding software 22 respectively shift the upper 4 bits of the character code of the character immediately before the last character of the immediately preceding character string that has already been encoded and shift it to the lower 4 bits. And a function to specify a dictionary to be used for encoding or decoding by using an 8-bit code, which is the sum of the upper 4 bits of the last character of the character string immediately before the character string, as a classification code. The dictionary is specified by the classification code using the LUT 26.

【0034】一方、データメモリ30には、これから符
号化しようとする文字列あるいはこれから復号化しよう
とする符号列を格納するデータバッファ32と、LZW
符号を対象とした符号化及び復号化の際に逐次作成され
ながら使用される辞書10が設けられる。辞書10は複
数の分割辞書10−1〜10−Nで構成されている。
On the other hand, a data buffer 32 for storing a character string to be encoded or a code string to be decoded from now on is stored in the data memory 30;
A dictionary 10 is provided that is created and used sequentially during encoding and decoding of codes. The dictionary 10 includes a plurality of divided dictionaries 10-1 to 10-N.

【0035】分割辞書10−1〜10−Nは既に符号化
済みの直前の文字列の最終文字の1つ前の文字の文字コ
ードの上位4ビットをシフトして下位4ビットとしたも
のと、既に符号化済みの直前の文字列の最終文字の上位
4ビットとの和でなる8ビットコードによりLUT26
を参照して指定することができる。この実施例にあって
は、8ビットコードにより辞書を指定することから、全
文字種256個に対応する数の分割辞書10−1〜10
−256が設けられる。具体的には、データメモリ30
の辞書10のメモリ領域を256個の全文字種分の分割
辞書に分ける。
The divided dictionaries 10-1 to 10-N are obtained by shifting the upper 4 bits of the character code of the character immediately before the last character of the immediately preceding encoded character string to lower 4 bits. The LUT 26 is represented by an 8-bit code consisting of the sum of the upper 4 bits of the last character of the immediately preceding character string already encoded.
Can be specified. In this embodiment, since the dictionary is designated by an 8-bit code, the number of divided dictionaries 10-1 to 10 to 10 corresponding to all 256 character types is determined.
-256 is provided. Specifically, the data memory 30
Is divided into 256 divided dictionaries for all character types.

【0036】尚、辞書10の分割数はLUT26を構成
する際に、8ビットコードの一部を有効とすることで、
16分割、32分割、64分割というように256分割
以下の任意の分割数とすることができる。図3は本発明
でLZW符号化する2値画像データの前処理を示した説
明図である。
The number of divisions of the dictionary 10 is determined by making a part of the 8-bit code valid when configuring the LUT 26.
An arbitrary number of divisions of 256 divisions or less such as 16 divisions, 32 divisions, and 64 divisions can be used. FIG. 3 is an explanatory diagram showing preprocessing of binary image data to be subjected to LZW encoding according to the present invention.

【0037】本願発明者等にあっては、2値画像をユニ
バーサル符号化する場合の前処理として、4ライン・ラ
ンレングス変換方式を提案している。4ライン・ランレ
ングス変換方式とは、図3(a)に示すような画像の4
ライン分のビットパターンの変化を、図3(b)に示す
ようにパターンの種別と同じパターンの続く長さ、即ち
ランレングスで表すようにしたものである。
The inventors of the present application have proposed a four-line run-length conversion method as preprocessing when universally encoding a binary image. The four-line run-length conversion method refers to a four-line run-length conversion method for an image as shown in FIG.
As shown in FIG. 3B, the change of the bit pattern for the line is represented by a continuous length of the same pattern as the pattern type, that is, a run length.

【0038】この変換により変換後のデータは図3
(c)に示すように、パターン4ビットとランレングス
4ビットの合わせて8ビットのコードに変換される。こ
の変換コード系列を本発明でLZW符号化することによ
り、画像の性質を取り込んだ高い圧縮率を得ることがで
きる。4ライン変換コードは、画像の性質上、記憶情報
源として捉えることができる。4ライン変換コード系列
をLZW符号化するとき、4ライン変換コードの内、画
像のビットパターンを表す上位4ビットを参考にして記
憶情報源として捉える。
The data after the conversion is shown in FIG.
As shown in (c), the pattern is converted into an 8-bit code by combining the pattern 4 bits and the run length 4 bits. By subjecting this transformed code sequence to LZW encoding according to the present invention, a high compression rate that incorporates the characteristics of an image can be obtained. The four-line conversion code can be regarded as a storage information source due to the nature of the image. When LZW encoding is performed on a four-line conversion code sequence, the four-line conversion code is regarded as a storage information source with reference to upper four bits representing a bit pattern of an image.

【0039】辞書の作成においては、図4に示すよう
に、例えば符号化文字列CL0とCL1を例にとると、
直前に符号化した文字列CL0の最終文字C1のビット
パターンの一部と、最終文字C1の1個前の文字C0の
ビットパターンの一部を合せたビットパターンを分類コ
ードとして辞書を作成する。ここで、図3のライン・ラ
ンレングス変換による変換コードを対象とした場合、直
前に符号化した文字列CL0の最終文字C1の上位4ビ
ットと、最終文字C1の1個前の文字C0のビットパタ
ーンの上位4ビットをシフトして下位4ビットとして合
わせた8ビットパターンを分類コードとして辞書を作成
する。
In the creation of a dictionary, as shown in FIG. 4, for example, coded character strings CL0 and CL1 are taken as an example.
A dictionary is created using a bit pattern obtained by combining a part of the bit pattern of the last character C1 of the character string CL0 coded immediately before and a part of the bit pattern of the character C0 immediately before the last character C1 as a classification code. Here, when the conversion code by the line run-length conversion in FIG. 3 is targeted, the upper 4 bits of the last character C1 of the character string CL0 encoded immediately before and the bits of the character C0 immediately before the last character C1 are set. A dictionary is created using an 8-bit pattern obtained by shifting the upper 4 bits of the pattern and combining them as the lower 4 bits as a classification code.

【0040】このような本発明における文字列間の履歴
状態を取り込んだ辞書の構成により図5に示すように、
検索木の根が (1)直前に現われた文字列の最終文字の1個数前の文
字の上位4ビットと、 (2)直前に現われた文字列の最終文字の上位4ビット
と、を集めた履歴状態、例えば図3の4ライン・ランレ
ンクズ符号の直前の2つのビットパターンの組合せから
構成される。この結果、記憶情報源として辞書を作成で
き、文字列間の冗長性が削減されて圧縮率を高めること
ができる。
As shown in FIG. 5, the structure of the dictionary in which the history state between the character strings according to the present invention is taken, as shown in FIG.
A history state in which the root of the search tree is collected from (1) the upper 4 bits of the character one number before the last character of the character string that appeared immediately before, and (2) the upper 4 bits of the last character of the character string that appeared immediately before. , For example, a combination of two bit patterns immediately before the 4-line Run-Lengx code of FIG. As a result, a dictionary can be created as a storage information source, the redundancy between character strings is reduced, and the compression ratio can be increased.

【0041】次に図6のフローチャートを参照して本発
明のデータ圧縮処理を説明する。まずステップS1で次
の初期化処理を行う。 (1)直前文字列に基づいて選択するDN個の各辞書D
1 (i=1, …,DN)に一文字からなる文字列の全種(256
種)を初期値として予め登録する。 (2)各辞書の参照番号の総数をn(i) で管理し、初期
化のとき、DN個のD1 に(文字種+1)をセットす
る。即ち、n=256にセットしておく。
Next, the data compression processing of the present invention will be described with reference to the flowchart of FIG. First, the following initialization processing is performed in step S1. (1) DN dictionaries D selected based on the immediately preceding character string
1 (i = 1,…, DN) all kinds of character strings consisting of one character (256
(Seed) is registered in advance as an initial value. (2) The total number of reference numbers of each dictionary is managed by n (i), and at the time of initialization, (character type +1) is set to DN D1s. That is, n is set to 256.

【0042】(3)直前の文字列からの履歴をPKと
し、最初、直前の文字列はないので初期値としてPK=
0をセットする。 (4)最初の文字Kを入力してK1とし、且つ入力文字
Kを参照番号ωに直して出力する。 (5)2文字目をKとして入力し、これを語頭文字列ω
とする。
(3) The history from the immediately preceding character string is PK, and since there is no immediately preceding character string, PK =
Set 0. (4) The first character K is input and set to K1, and the input character K is converted to a reference number ω and output. (5) Input the second character as K, and enter this as the initial character string ω
And

【0043】(6)直前文字列の最終文字の1個前の文
字を4ビット右にシフトした値(下位4ビットに変換)
と直前文字列の最終文字の上位4ビットをORして作ら
れた8ビットでなる分類コードK1を求める。これは
(6) A value obtained by shifting the character immediately before the last character of the immediately preceding character string by 4 bits to the right (converted to lower 4 bits)
And an 8-bit classification code K1 created by ORing the upper 4 bits of the last character of the immediately preceding character string. this is

【0044】[0044]

【数1】 (Equation 1)

【0045】と表現される。 (7)分類コードK1から履歴状態PKに対応つけるL
UTをセットする。即ち、LUT(K1)により履歴P
Kが求められる。以上の初期化処理が済むと、ステップ
S2〜ステップS6に従って一文字ずつ入力しながらL
ZW符号化を行うが、この手順は基本的に図8の従来の
LZW符号化と同様である。
Is expressed as follows. (7) L corresponding to the history state PK from the classification code K1
Set the UT. That is, the history P is obtained by the LUT (K1).
K is required. When the above initialization process is completed, L is input while inputting characters one by one in accordance with steps S2 to S6.
ZW encoding is performed. This procedure is basically the same as the conventional LZW encoding shown in FIG.

【0046】相違点としては、従来のLZW符号化では
辞書は1個だけだったのに対し、本発明のLZW符号化
ではステップS4,ステップS5,ステップS6に示す
ように、履歴状態PKによって複数個の辞書から辞書D
pkを選択し、辞書Dpkに登録されている文字列と照合し
て最大一致長文字列を探し、最大一致長を一文字伸ばし
た文字列をDpkに登録する点である。
The difference is that in the conventional LZW encoding, there is only one dictionary, but in the LZW encoding of the present invention, as shown in steps S4, S5, and S6, a plurality of dictionaries depend on the history state PK. Dictionary D to dictionary D
The point is that pk is selected, the character string registered in the dictionary Dpk is collated to find the maximum matching length character string, and a character string obtained by extending the maximum matching length by one character is registered in Dpk.

【0047】ステップS6で辞書Dpkに登録した後は、
辞書Dpkの参照番号数を管理するnpkが1つインクリメ
ントされる。また、次の文字列の辞書を選ぶために直前
文字列の最終文字の1個前の文字を4ビット右にシフト
した値と直前文字列の最終文字の上位4ビットをORし
て作られた分類コードK1よりLUTを用いて新たな履
歴状態PKが求められる。
After registration in the dictionary Dpk in step S6,
Npk for managing the number of reference numbers of the dictionary Dpk is incremented by one. In addition, in order to select the dictionary of the next character string, a value obtained by shifting the character immediately before the last character of the immediately preceding character string by 4 bits to the right and the upper 4 bits of the last character of the immediately preceding character string was ORed. A new history state PK is obtained from the classification code K1 using the LUT.

【0048】次に本発明のLZW復号化は図7に示すよ
うになる。図7の復号化にあっては、図6に示した符号
化の逆の動作をする。まず辞書の初期化に関するステッ
プS1−1、ステップS1−2、ステップS1−3の処
理は図6の符号化のステップS1で(1)〜(7)に示
したと同じである。
Next, the LZW decoding of the present invention is as shown in FIG. In the decoding of FIG. 7, the operation opposite to the encoding shown in FIG. 6 is performed. First, the processing of steps S1-1, S1-2, and S1-3 relating to the initialization of the dictionary is the same as that shown in (1) to (7) in the encoding step S1 of FIG.

【0049】ステップS2〜ステップS9の復号処理に
あっては、入力した符号CODEから参照番号ωを復号した
後、直前文字列の最終文字の1個前の文字を4ビット右
にシフトした値と直前文字列の最終文字の上位4ビット
をORして作られた値から求めた履歴状態PKで辞書D
pkを選び、Dpkの中から参照番号ωに対応する文字列を
求める。
In the decoding processing of steps S2 to S9, after decoding the reference number ω from the input code CODE, the value obtained by shifting the character immediately before the last character of the immediately preceding character string by 4 bits to the right is used. The dictionary D with the history state PK obtained from the value created by ORing the upper 4 bits of the last character of the last character string
pk is selected, and a character string corresponding to the reference number ω is obtained from Dpk.

【0050】ステップS8における辞書への新たな文字
列の登録は、LZW符号化と同様であるが、符号化のと
きより1テンポ遅れて行われる。即ち符号化では注目文
字列の符号化を終了した時点で一文字伸ばした文字列、
即ち目文字列の次の文字との組を辞書に登録できる。こ
れに対し復号化では、注目文字列を一文字伸ばすときは
次の文字列の先頭文字と合わせて辞書に登録するため、
次の文字列の復元が終了した時点で登録が行う。
The registration of a new character string in the dictionary in step S8 is similar to LZW encoding, but is performed one tempo later than the encoding. That is, in the encoding, when the encoding of the target character string is completed, the character string extended by one character,
That is, a set with the next character of the eye character string can be registered in the dictionary. On the other hand, in decryption, when the target character string is extended by one character, it is registered in the dictionary together with the first character of the next character string.
Registration is performed when the restoration of the next character string is completed.

【0051】即ち、ステップS8に示すように、直前文
字列の参照番号 OLDωと復元文字列の第1文字K1の組
(OLD ω,K)を、直前文字列のもうひとつ前の文字列
の最終文字の1個前の文字を4ビット右にシフトして下
位4ビットとした値に、直前文字列のもうひとつ前の文
字列の最終文字の上位4ビットをORして作られた値か
ら求めた履歴状態PK1で選ばれた辞書Dpk1 (n)に
登録することになる。
That is, as shown in step S8, the pair (OLD ω, K) of the reference number OLDω of the immediately preceding character string and the first character K1 of the restored character string is changed to the last character string of the immediately preceding character string. The value obtained by ORing the upper 4 bits of the last character of the character string immediately before the previous character string with the value of the character immediately before the character shifted right 4 bits to the lower 4 bits is calculated. Is registered in the dictionary Dpk1 (n) selected in the history state PK1.

【0052】さらに、復元した文字列を伸ばして次に登
録するときのために(検索して文字列が一致したので伸
ばすため)、参照番号の個数npkを1つイクリメントす
ると共に、復元が済んだ参照番号INωをOLDωとし
た後、直前文字列の最終文字の1個前の文字K3を4ビ
ット右にシフトした値と復元文字列の最終文字K2の上
位4ビットをORして作られた値より、新たな履歴状態
PKを求めておく。
Further, the number npk of reference numbers is incremented by one and the restoration is completed for the case where the restored character string is extended and registered next (in order to extend the character string after searching and matching). After the reference number INω is set to OLDω, a value obtained by ORing the value obtained by shifting the character K3 immediately before the last character of the immediately preceding character string four bits to the right by 4 bits and the upper four bits of the last character K2 of the restored character string Thus, a new history state PK is obtained.

【0053】尚、上記の実施例は、直前の符号化済み文
字列の最終文字の上位4ビットと、最終文字の1つ前の
文字の上位4ビットをシフトして得た下位4ビットから
成る8ビットコードで登録する辞書を分類しているが、
最終文字の上位4ビットをシフトして下位4ビットと
し、1つ前の文字の上位4ビットをそのまま組み合わせ
てもよい。
The above embodiment comprises the upper 4 bits of the last character of the immediately preceding encoded character string and the lower 4 bits obtained by shifting the upper 4 bits of the character immediately before the last character. Although the dictionary to be registered is classified by 8-bit code,
The upper 4 bits of the last character may be shifted to the lower 4 bits to combine the upper 4 bits of the immediately preceding character.

【0054】また辞書分類コードの作成に使用される文
字コードのビット数および参照する文字列の数(複数個
の文字列の関係を取り入れてもよい)は必要に応じて適
宜に定められる。
The number of bits of a character code used for creating a dictionary classification code and the number of character strings to be referred to (a relationship between a plurality of character strings may be adopted) are appropriately determined as necessary.

【0055】[0055]

【発明の効果】以上説明したように本発明によれば、符
号化中の文字列に対して以前に出現した文字列の履歴も
採り入れられるため、文字列間の冗長性が削減され、従
来のLZW符号より高い圧縮率が得られる。
As described above, according to the present invention, since the history of a character string that has appeared before the character string being encoded is also adopted, the redundancy between character strings is reduced, and A higher compression ratio than the LZW code can be obtained.

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

【図1】本発明の原理構成図FIG. 1 is a block diagram of the principle of the present invention.

【図2】本発明の辞書分割の原理説明図FIG. 2 is a diagram illustrating the principle of dictionary division according to the present invention.

【図3】本発明の前処理となる2値画像の4ライン・ラ
ンレングス符号化方式の説明図
FIG. 3 is an explanatory diagram of a 4-line run-length encoding method for a binary image to be pre-processed according to the present invention;

【図4】本発明で文字列の履歴状態を取り込んだ辞書の
分類コードの決め方を示した説明図
FIG. 4 is an explanatory diagram showing how to determine a classification code of a dictionary in which a history state of a character string is taken in the present invention.

【図5】本発明の履歴状態の取り込みによる辞書の検索
木の説明図
FIG. 5 is an explanatory diagram of a dictionary search tree obtained by capturing a history state according to the present invention.

【図6】本発明の符号化アルゴリズムのフローチャートFIG. 6 is a flowchart of an encoding algorithm of the present invention.

【図7】本発明の復号化アルゴリズムのフローチャートFIG. 7 is a flowchart of a decoding algorithm of the present invention.

【図8】従来のLZW符号化アルゴリズムのフローチャ
ート
FIG. 8 is a flowchart of a conventional LZW encoding algorithm.

【図9】従来のLZW復号化アルゴリズムのフローチャ
ート
FIG. 9 is a flowchart of a conventional LZW decoding algorithm.

【図10】従来のLZW符号化の具体例説明図FIG. 10 is a diagram illustrating a specific example of conventional LZW encoding.

【図11】辞書構成例の説明図FIG. 11 is an explanatory diagram of a dictionary configuration example.

【図12】従来のLZW復号化の具体例説明図FIG. 12 is a diagram illustrating a specific example of conventional LZW decoding.

【図13】従来のLZW符号化による辞書の検索木の説
明図
FIG. 13 is an explanatory diagram of a conventional dictionary search tree by LZW encoding.

【図14】従来の符号化による文字列と辞書インデック
スの説明図
FIG. 14 is an explanatory diagram of a character string and a dictionary index by conventional encoding.

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

10:辞書 10−1〜10−N:分割辞書 12:CPU 14:プログラムメモリ 16:コントロールソフト 18:最大一致長検索ソフト 20:符号化ソフト 22:復号化ソフト 26:ルックアップテーブル(LUT) 30:データメモリ 32:データバッファ 10: Dictionary 10-1 to 10-N: Division dictionary 12: CPU 14: Program memory 16: Control software 18: Maximum matching length search software 20: Encoding software 22: Decoding software 26: Look-up table (LUT) 30 : Data memory 32: Data buffer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平4−149766(JP,A) 特開 平3−204234(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 G06F 17/22 H03M 7/40 ────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hirotaka Chiba 1015 Kamidadanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Fujitsu Limited (56) References JP-A-4-149766 (JP, A) JP-A-3-204234 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 5/00 G06F 17/22 H03M 7/40

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】入力文字列を辞書(10)に登録された既に符
号化済みの部分列の内、最大長一致する部分列の参照番
号で指定して符号化するデータ圧縮方式に於いて、前記
辞書(10)として、複数の分割辞書群(10-1 〜10-N) を設
けて順番に分割辞書番号(Di)を割当て、更に各分割辞書
(10-1 〜10-N) 毎に少なくとも全文字種を1文字単位に
参照番号を付けて初期登録し、入力文字列の符号化時に
は、直前に符号化済みの文字列の最終文字の文字コード
(C1)と該最終文字の1個前の文字の文字コードコー
ド(C0)とに基づいた分類コードにより特定の分割辞
書 (10-i) を指定して符号化することを特徴とするデ−
タ圧縮方式。
In a data compression method, an input character string is encoded by specifying a reference number of a subsequence having a maximum length matching among already encoded subsequences registered in a dictionary (10). A plurality of divided dictionary groups (10-1 to 10-N) are provided as the dictionary (10), and divided dictionary numbers (Di) are sequentially assigned.
For each (10-1 to 10-N), at least all character types are initially registered with a reference number for each character, and when encoding an input character string, the character code of the last character of the previously encoded character string A specific division dictionary (10-i) is designated and encoded by a classification code based on (C1) and a character code code (C0) of a character immediately before the last character.
Data compression method.
【請求項2】請求項1記載記載のデータ圧縮方式に於い
て、直前に符号化済みの文字列の最終文字の文字コード
(C1)の一部と最終文字の1個前の文字コード(C
0)の一部とに基づいた分類コードにより特定の分割辞
書 (10-i) を指定して符号化することを特徴とするデ−
タ圧縮方式。
2. The data compression method according to claim 1, wherein a part of the character code (C1) of the last character of the character string which has been encoded immediately before and the character code (C1) immediately before the last character.
0) a specific division dictionary (10-i) is specified and encoded by a classification code based on a part of
Data compression method.
【請求項3】入力文字列を辞書(10)に登録された既に符
号化済みの部分列の内、最大長一致する部分列の参照番
号で指定して符号化された符号語から元の文字列を復元
するデータ復元方式に於いて、前記辞書(10)として、複
数の分割辞書群(10-1 〜10-N) を設けて順番に分割辞書
番号(Di)を割当て、更に各分割辞書(10-1 〜10-N) 毎に
少なくとも全文字種を1文字単位に参照番号を付けて初
期登録し、入力符号列の復元時には、直前に復元済みの
文字列の最終文字の文字コード(C1)と該最終文字の
1個前の文字の文字コード(C0)とに基づいた分類コ
ードにより特定の分割辞書 (10-i) を指定して復元する
ことを特徴とするデ−タ復元方式。
3. A method according to claim 1, wherein an input character string is designated by a reference number of a subsequence having a maximum matching length among already encoded subsequences registered in a dictionary, and an original character string is obtained from an encoded character word. In the data restoration method for restoring a column, a plurality of divided dictionary groups (10-1 to 10-N) are provided as the dictionary (10), and divided dictionary numbers (Di) are sequentially assigned. For each (10-1 to 10-N), at least all character types are initially registered with reference numbers in units of one character, and when the input code string is restored, the character code (C1) of the last character of the restored character string immediately before ) And a classification code based on the character code (C0) of the character immediately before the last character, and designates a specific divided dictionary (10-i) for restoration.
【請求項4】請求項3記載のデータ復元方式に於いて、 直前に復元済みの文字列の最終文字の文字コード(C
1)の一部と最終文字の1個前の文字コード(C0)の
一部とに基づいた分類コードにより特定の分割辞書(1
0−i)を指定して復元することを特徴とするデータ
方式。
4. In the data recovery method of claim 3 Symbol placement, the last character of the character code of the restored character string immediately before (C
1) and a classification code based on a part of the character code (C0) immediately before the last character.
0-i) data recovery, characterized in that to restore specified by the
Original method.
JP3047996A 1991-03-13 1991-03-13 Data compression and decompression method Expired - Fee Related JP3015483B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3047996A JP3015483B2 (en) 1991-03-13 1991-03-13 Data compression and decompression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3047996A JP3015483B2 (en) 1991-03-13 1991-03-13 Data compression and decompression method

Publications (2)

Publication Number Publication Date
JPH04283827A JPH04283827A (en) 1992-10-08
JP3015483B2 true JP3015483B2 (en) 2000-03-06

Family

ID=12790931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3047996A Expired - Fee Related JP3015483B2 (en) 1991-03-13 1991-03-13 Data compression and decompression method

Country Status (1)

Country Link
JP (1) JP3015483B2 (en)

Also Published As

Publication number Publication date
JPH04283827A (en) 1992-10-08

Similar Documents

Publication Publication Date Title
US5229768A (en) Adaptive data compression system
EP0127815B1 (en) Data compression method
JP3241788B2 (en) Data compression method
JP3231105B2 (en) Data encoding method and data restoration method
JP3038223B2 (en) Data compression method
JP3015483B2 (en) Data compression and decompression method
JP3350118B2 (en) Data encoding method and data restoration method
JP3241787B2 (en) Data compression method
JP3105598B2 (en) Data compression method using universal code
JPH0683574A (en) Data compression and restoring system
JP2825960B2 (en) Data compression method and decompression method
JP3388768B2 (en) Data compression and decompression method
JP2954749B2 (en) Data compression method
JP3038233B2 (en) Data compression and decompression device
JPH05152971A (en) Data compressing/restoring method
JP3012677B2 (en) ZL encoding method
JPH06161705A (en) Data encoding system and data decoding system
JP2999561B2 (en) Data compression and decompression device
Nakano et al. Highly efficient universal coding with classifying to subdictionaries for text compression
JP3051501B2 (en) Data compression method
JP3083329B2 (en) Data compression / decompression method
JP2952067B2 (en) Data compression method
JP2952068B2 (en) Data compression and decompression method
JP3388767B2 (en) Data compression method
JP3100206B2 (en) Data compression 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: 19991130

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

Free format text: PAYMENT UNTIL: 20071217

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091217

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees