JP3083550B2 - Data compression and decompression method - Google Patents
Data compression and decompression methodInfo
- Publication number
- JP3083550B2 JP3083550B2 JP31520690A JP31520690A JP3083550B2 JP 3083550 B2 JP3083550 B2 JP 3083550B2 JP 31520690 A JP31520690 A JP 31520690A JP 31520690 A JP31520690 A JP 31520690A JP 3083550 B2 JP3083550 B2 JP 3083550B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- dictionary
- code
- registered
- character
- 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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第13図乃至第18図) 発明が解決しようとする課題 課題を解決するための手段(第1図) 作用 実施例 (a)第1の実施例の説明(第2図乃至第5図) (b)第2の実施例の説明(第6図乃至第8図) (c)第3の実施例の説明(第9図乃至第11図) (d)第4の実施例の説明(第12図) (e)他の実施例の説明 発明の効果 〔概要〕 ユニバーサル符号化によりデータ圧縮するデータ圧縮
及び復元方法に関し, 無関係なデータ系列間のデータを登録することを防
ぎ,圧縮率を向上することを目的とし, 符号化済データを相異なる部分列に分けて,該部分列
を辞書に登録しておき,入力データで辞書に登録された
部分列を検索し,該入力データを該辞書に登録された部
分列の内,最大長一致するものの参照番号で指定して符
号化し,該辞書に登録するデータ圧縮方法において,該
入力データから該入力データの区切りを検出し,該区切
りを境にして,該区切り以降の入力データを新たな該辞
書登録の対象とする。Detailed Description of the Invention [Table of Contents] Outline Industrial field of application Conventional technology (FIGS. 13 to 18) Problems to be Solved by the Invention Means for Solving the Problems (FIG. 1) Action Embodiment (A) Description of the first embodiment (FIGS. 2 to 5) (b) Description of the second embodiment (FIGS. 6 to 8) (c) Description of the third embodiment (FIG. (FIGS. 9 to 11) (d) Description of a fourth embodiment (FIG. 12) (e) Description of another embodiment [Overview] Data compression and decompression method for compressing data by universal coding For the purpose of preventing the registration of data between unrelated data sequences and improving the compression ratio, the encoded data is divided into different sub-sequences, and the sub-sequences are registered in a dictionary and input. Searches the data for a subsequence registered in the dictionary, and substitutes the input data for the subsequence registered in the dictionary. In the data compression method of designating and encoding the data having the maximum length matching by the reference number and registering the data in the dictionary, a break of the input data is detected from the input data. The input data is to be newly registered in the dictionary.
本発明は,ユニバーサル符号化によりデータ圧縮する
データ圧縮及び復元方法に関する。The present invention relates to a data compression and decompression method for compressing data by universal coding.
近年,文字コード,ベクトル情報,画像等様々な種類
のデータがコンピュータで扱われるようになっており,
扱われるデータ量も急速に増加してきている。大量のデ
ータを扱うときは,データの中の冗長な部分を省いてデ
ータ量を圧縮することで,記憶容量を減らしたり,速く
伝送したりできるようになる。In recent years, various types of data such as character codes, vector information, and images have been handled by computers.
The amount of data handled is also rapidly increasing. When dealing with a large amount of data, by compressing the amount of data by omitting redundant portions in the data, it becomes possible to reduce the storage capacity or to transmit data quickly.
様々なデータを1つの方式でデータ圧縮できる方法と
してユニバーサル符号化が提案されている。ここで,本
発明の分野は,文字コードの圧縮に限らず,様々なデー
タに適用できるが,以下では,情報理論で用いられてい
る呼称を踏襲し,データの1word単位を文字と呼び,デ
ータが任意wordつながったものを文字列と呼ぶことにす
る。Universal coding has been proposed as a method that can compress various data in one system. Here, the field of the present invention can be applied not only to character code compression but also to various types of data. In the following, following the name used in information theory, one word unit of data is called a character, and Are connected to an arbitrary word.
ユニバーサル符号の代表的な方法として,Ziv−Lempel
(ジブ−レンペル)符号がある(詳しくは,例えば,宗
像「Ziv−Lempelのデータ圧縮法」,情報処理,Vol.26,N
o.1,1985年を参照のこと)。As a typical method of universal code, Ziv-Lempel
There are (Jib-Lempel) codes (for details, for example, Munakata “Ziv-Lempel Data Compression Method”, Information Processing, Vol. 26, N
o.1, 1985).
Ziv−Lempel符号ではユニバーサル型と,増分分
解型(Incremental parsing)の2つのアルゴリズムが
提案されている。さらに,ユニバーサル型アルゴリズム
の改良として,LZSS符号がある(T.C.Bell,“Better OPM
/1.Text Compression",IEEE Trans.on Commun.,Vol.COM
−34,No.12,Dec.1986参照)。また,増分分解型アルゴ
リズムの改良としては,LZW(Lempel−Ziv−Welch)符号
がある(T.A.Welch,“A Technique for High−Performa
nce Data Compression",Computer,June 1984参照)。For the Ziv-Lempel code, two algorithms of a universal type and an incremental decomposition type (Incremental parsing) have been proposed. Furthermore, as an improvement of the universal algorithm, there is LZSS code (TCBell, “Better OPM
/1.Text Compression ", IEEE Trans.on Commun., Vol.COM
-34, No. 12, Dec. 1986). As an improvement of the incremental decomposition type algorithm, there is an LZW (Lempel-Ziv-Welch) code (TAWelch, "A Technique for High-Performa").
nce Data Compression ", Computer, June 1984).
このようなユニバーサル符号化を用いたデータ圧縮方
法では,圧縮率の向上が求められる。In such a data compression method using universal coding, an improvement in compression ratio is required.
第13図は従来技術の説明図である。 FIG. 13 is an explanatory diagram of the prior art.
元来,ユニバーサル符号は,情報保存型のデータ圧縮
方法であり,データ圧縮時に情報源の統計的な性質を予
め仮定しないため,種々のタイプ(文字コード,オプジ
ェクトコードなど)のデータに適用することができる。Originally, the universal code is an information preservation type data compression method. Since the statistical properties of the information source are not assumed in advance at the time of data compression, it can be applied to various types of data (character codes, object codes, etc.). Can be.
文書画像では,文字の文字線の直線性や曲がり具合に
は類似性がある。また,網点画像は,画像全体が網点分
散するため膨大な数の変化点が出現するが,網点周期
性,網点形状の同一性から輪郭線の接続関係は類似して
いる。この類似性のもつ冗長性をユニバーサル符号化に
より削減し,有効な圧縮ができる。In a document image, there is a similarity in the linearity and the degree of bending of a character line of a character. In a halftone dot image, an enormous number of change points appear because the entire image is halftone dispersed, but the connection relationship of the outlines is similar due to the halftone dot periodicity and the same halftone dot shape. Redundancy having this similarity can be reduced by universal coding, and effective compression can be performed.
このように,画像データに対しユニバーサル符号化が
有効なため,第13図に示すように,画像データをMMR方
式等により二次元的な情報(中間データ)に変換する前
処理を行い,次にLZW符号を用いてユニバーサル符号化
を行う本処理を行って,画像に対するユニバーサル符号
化の圧縮効率をより一層高める方法を既に提案した。As described above, since universal coding is effective for image data, as shown in FIG. 13, preprocessing for converting image data into two-dimensional information (intermediate data) by MMR method or the like is performed. We have already proposed a method to further improve the compression efficiency of universal coding for images by performing this process of performing universal coding using LZW codes.
この既提案の方法は,入力した画像を変化画素の相対
アドレスデータに変換し,その変換データから走査線方
向の変換画素の連続性等の統計的性質をユニバーサル符
号化の手法により学習しながら符号の最良化を図り,種
々の性質の画像において効率の良い圧縮を行うようにす
るものである。In the proposed method, the input image is converted into relative address data of changed pixels, and from the converted data, a statistical property such as continuity of converted pixels in a scanning line direction is learned by a universal coding method while learning. To achieve efficient compression of images of various properties.
即ち,MMR方式(標準方式を変形)を変化画素のモード
の検出を前処理として用い,それにユニバーサル符号化
(Ziv−Lempel符号)を適用し,変化画素の連続性や輪
郭線の直線性,曲がり具合の大域的性質をユニバーサル
符号のインデックスで表すようにする。That is, the MMR method (modified from the standard method) uses the detection of the mode of the changed pixel as preprocessing, and universal coding (Ziv-Lempel code) is applied to it, and the continuity of the changed pixel, the linearity of the contour line, and the curvature are applied. The global nature of the condition is represented by a universal code index.
このユニバーサル符号化をLZW符号を例に説明する。 This universal encoding will be described using an LZW code as an example.
第14図はLZW符号化処理フロー図,第15図はLZW復号化
処理フロー図である。FIG. 14 is a flowchart of the LZW encoding process, and FIG. 15 is a flowchart of the LZW decoding process.
LZW符号化は,書き替え可能な辞書をもち,入力文字
コード,データ中を相異なる文字列に分け,この文字例
を出現した順に番号を付けて辞書に登録するとともに,
現在入力している文字列を辞書に登録いてある最長一致
文字列の番号(インデックス)で表して,符号化するも
のである。LZW coding has a rewritable dictionary, divides the input character code and data into different character strings, assigns numbers to these character examples in the order they appear, and registers them in the dictionary.
The currently input character string is represented by the number (index) of the longest matching character string registered in the dictionary and encoded.
第14図のフロー図により符号化処理を説明する。 The encoding process will be described with reference to the flowchart of FIG.
先ずステップS1(以下「ステップ」を省略)で予め全
文字につき一文字からなる文字列を初期値として登録し
てから符号化を始める。S1の符号化は,入力した最初の
文字Kにより辞書を検索して参照番号ωを求め,これを
語頭文字列(prefix string)とする。First, in step S1 (hereinafter "step" is omitted), a character string consisting of one character for all characters is registered in advance as an initial value, and then encoding is started. In the encoding of S1, the dictionary is searched by the first character K input to obtain a reference number ω, which is used as a prefix string.
次にS2で入力データの次の文字を読み込み,S3で文字
入力が終了したか否かをチェックした後,S4に進んでS1
で求めた語頭文字列ω又はS5のωにS2で読み込んだ文字
Kを加えた(ωK)が辞書にあるか否か探す。Next, at S2, the next character of the input data is read, and at S3, it is checked whether the character input is completed.
A search is made to see if the dictionary has a character (ωK) obtained by adding the character K read in S2 to the initial character string ω obtained in S5 or ω in S5.
S4で文字列(ωK)が辞書になければ,S6に進んでS1
で求めた文字Kの参照番号ωを符号語code(ω)として
出力し,また文字列(ωK)に新たな参照番号を付加し
て辞書に登録し,さらにS2の入力文字Kを参照番号ωに
置き換えるとともに,辞書アドレスnをインクリメント
してS2に戻って次の文字Kを読み込む。If the character string (ωK) is not in the dictionary in S4, the process proceeds to S6 and S1
The reference number ω of the character K obtained in step is output as a code word code (ω), a new reference number is added to the character string (ωK) and registered in the dictionary, and the input character K of S2 is further referred to as the reference number ω And the dictionary address n is incremented, and the process returns to S2 to read the next character K.
一方,S4で文字列(ωK)が辞書にあれば,S5で文字列
(ωK)を参照番号ωに置き換え,再びS2に戻って文字
列(ωK)が辞書から探せなくなるまで最大一致長の探
索を続ける。On the other hand, if the character string (ωK) is found in the dictionary in S4, the character string (ωK) is replaced with the reference number ω in S5, and the process returns to S2 to search for the maximum matching length until the character string (ωK) cannot be searched from the dictionary. Continue.
第15図の復号化処理は第14図の符号化の逆の操作を行
う。The decoding process of FIG. 15 performs the reverse operation of the encoding of FIG.
第15図の復号化では,符号化と同様に予め辞書に全文
字につき一文字から成る文字列を初期値として登録して
から復号を始める。In the decoding of FIG. 15, similarly to the encoding, the decoding is started after a character string consisting of one character for every character is registered in the dictionary as an initial value in advance.
先ずS1で最初の符号(参照番号)を読み込み,現在の
CODEをOLDcodeとし,最初の符号は既に辞書に登録され
た一文字の参照番号いずれかに該当することから,入力
符号CODEに一致する文字code(K)を探し出し,文字K
を出力する。なお,出力した文字(K)は後述するS8の
例外処理のためFINcharにセットしておく。First, the first code (reference number) is read in S1, and the current code is read.
CODE is OLDcode, and since the first code corresponds to one of the reference numbers of one character already registered in the dictionary, a character code (K) that matches the input code CODE is searched for, and the character K
Is output. The output character (K) is set in FINchar for exception processing in S8 described later.
次にS2に進んで次の符号を読み込んでCODEにINcodeと
してセットする。Then, the process proceeds to S2, where the next code is read and set as CODE in INCODE.
S3で新たな符号があるか否か,すなわち符号入力の終
了の有無をチェックしてS4に進み,S3で入力された符号C
ODEが辞書に定義(登録)されているか否かチェックす
る。In S3, it is checked whether there is a new code, that is, whether or not the code input has been completed, and the process proceeds to S4, where the code C input in S3
Check whether ODE is defined (registered) in the dictionary.
通常,入力した符号語は前回までの処理で辞書に登録
されているため,S5に進んで符号CODEに対応する文字列c
ode(ωK)を辞書から読み出し,S6で文字列Kを一時的
にスタックし,参照番号code(ω)を新たなCODEとして
再度S5に戻り,このS5,S6の手順を再帰的に参照番号ω
が一文字に至るまで繰り返し,最後にS7に進んでS6でス
タックした文字をLIFO(Last In Fast Out)形式でポッ
プアップして出力する。同時にS7において,前回使った
符号ωと今回復元した文字列の最初の一文字Kを組
(ω,K)と表した文字列に,新たな参照番号を付加して
辞書に登録する。Normally, since the input code word is registered in the dictionary in the previous processing, the process proceeds to S5, where the character string c corresponding to the code CODE is obtained.
ode (ωK) is read from the dictionary, the character string K is temporarily stacked in S6, the reference number code (ω) is set as a new CODE, and the process returns to S5 again.
Is repeated until one character is reached. Finally, the process proceeds to S7, where the characters stacked in S6 are popped up and output in LIFO (Last In Fast Out) format. At the same time, in S7, a new reference number is added to the character string represented as a set (ω, K) of the code ω used last time and the first character K of the character string restored this time, and registered in the dictionary.
このような画像のユニバーサル符号化のメリットを高
めるための,画像データの前処理方法について既提案の
ものを例に第16図,第17図により説明する。A pre-processing method of image data for improving the merit of such universal coding of an image will be described with reference to FIGS. 16 and 17, taking an example of a previously proposed method as an example.
第16図は既提案の画像データの二次元符号化説明図,
第17図はその符号化例説明図である。Fig. 16 is an explanatory diagram of two-dimensional encoding of image data already proposed,
FIG. 17 is an explanatory diagram of the encoding example.
第16図(B)に示すように,モード情報として,各々
1バイトの水平モードH,垂直モードV,バスモードPを割
り当てる。As shown in FIG. 16 (B), 1-byte horizontal mode H, vertical mode V, and bus mode P are assigned as mode information.
次に,水平モードランレングス情報としては,白/黒
ランレングスを長さに応じ1バイト又は2バイト用い,
垂直モードズレレングス情報としては,変化点ズレレン
グスを長さに応じ,1バイト又は2バイト用いる。Next, as horizontal mode run length information, 1 or 2 bytes are used for white / black run length according to the length.
As the vertical mode shift length information, one or two bytes are used for the change point shift length according to the length.
符号化は,MMR方式と同様に,第1ライン目の水平ラン
レングスで符号化し,第2ライン目以降は変化点におけ
る前のラインとの垂直ズレレングス及びパスモードで符
号化する。The encoding is performed using the horizontal run length of the first line, and the second line and subsequent lines are encoded using the vertical deviation from the previous line at the change point and the pass mode, similarly to the MMR method.
例えば,第16図(A)の画像に対しては,第17図のよ
うな二次元符号化データが得られる。For example, for the image of FIG. 16 (A), two-dimensional encoded data as shown in FIG. 17 is obtained.
即ち,第1ライン目では,水平モードHと白のランレ
ングスRL1,水平モードH2と黒のランレングスRL2に,第
2ライン目では,変化点(白→黒)の第1ライン目の変
化点からの垂直ズレレングスV1−ZL21と,変化点(黒→
白)の垂直ズレレングスV2−ZL22に,第3ライン目で
は,変化点の垂直ズレレングスV2−ZL31,V2−ZL32と,
水平モードH3と白のランレングスRL3,水平モードH4と黒
のランレングスRL4に符号化される。That is, in the first line, the horizontal mode H and the white run length RL1 and in the horizontal mode H2 and the black run length RL2, and in the second line, the change point (white → black) of the first line Vertical deviation V1-ZL21 from the point of change (black →
On the third line, the vertical shift lengths V2-ZL31 and V2-ZL32 of the change points are shown in the vertical shift lengths V2-ZL22 in white).
The horizontal mode H3 and white run length RL3 are encoded, and the horizontal mode H4 and black run length RL4 are encoded.
このような画像の二次元符号化を行い,ユニバーサル
符号化を行った例を第18図に示す。FIG. 18 shows an example in which such an image is two-dimensionally encoded and universally encoded.
同図中,入力シンボルが,二次元符号化結果であり,
出力符号がそのユニバーサル符号化結果である。In the figure, the input symbol is the result of two-dimensional encoding,
The output code is the universal coding result.
例えば,入力シンボル“10000000"はインデックス「1
28」で符号化され,辞書へは(既登録データ+次のデー
タ)が登録される。For example, the input symbol “10000000” is index “1
28, and (registered data + next data) is registered in the dictionary.
ところで,ユニバーサル符号化は,データ系列に関係
なく,最大長一致既登録データに次の1シンボルを加え
たものを辞書に登録する。By the way, in universal encoding, regardless of the data sequence, the maximum length matching registered data plus the next one symbol is registered in the dictionary.
このため,第18図の登録番号258,260,264,266,268,27
2,274,277等のように全く無関係なデータ系列の組合せ
も登録することになる。For this reason, the registration numbers 258,260,264,266,268,27 in FIG.
Combinations of completely unrelated data series, such as 2,274,277, are also registered.
これによって,従来技術では,無関係なデータ系列間
のデータも組合せて,登録するため,出現頻度の極めて
少ないものを数多く登録してしまい,学習効果の遅れや
インデックス(登録番号)の増加による圧縮率の低下を
招くという問題があった。As a result, in the related art, since data between irrelevant data series is also registered and registered, a large number of data having an extremely low appearance frequency are registered, and the compression ratio due to a delay in learning effect and an increase in index (registration number) is registered. There is a problem that it causes a decrease in
従って,本発明は,無関係なデータ系列間のデータを
登録することを防ぎ,圧縮率を向上することのできるデ
ータ圧縮及び復元方法を提供することを目的とする。Accordingly, an object of the present invention is to provide a data compression and decompression method that can prevent registration of data between irrelevant data sequences and improve the compression ratio.
第1図は本発明の原理図である。 FIG. 1 is a diagram illustrating the principle of the present invention.
本発明は,第1図に示すように,符号化済データを相
異なる部分列に分けて,該部分列を辞書に登録してお
き,入力データで辞書に登録された部分列を検索し,該
入力データを該辞書に登録された部分列の内,最大長一
致するものの参照番号で指定して符号化し,該辞書に登
録するデータ圧縮方法において,該入力データから該入
力データの区切りを検出し,該区切りを境にして,該区
切り以降の入力データを新たな該辞書の登録の対象とす
るものである。In the present invention, as shown in FIG. 1, the encoded data is divided into different sub-sequences, the sub-sequences are registered in a dictionary, and the sub-sequences registered in the dictionary are searched by input data. In the data compression method for registering the input data by designating the input data by the reference number of the subsequence registered in the dictionary that matches the maximum length and detecting the delimiter of the input data from the input data, Then, with the boundary as a boundary, input data after the boundary is to be newly registered in the dictionary.
又,本発明は,請求項(1)の符号化データを辞書に
登録された部分列の参照番号と比較し,該符号化データ
を一致する参照番号の部分列に復元するデータ復元方法
において,復元された部分列からデータの区切りを検出
し,該区切りを境に,新部分列を該辞書に登録するもの
である。The present invention also provides a data restoration method for comparing encoded data with a reference number of a subsequence registered in a dictionary and restoring the encoded data to a subsequence with a matching reference number. A data break is detected from the restored partial sequence, and a new partial sequence is registered in the dictionary at the boundary.
本発明では,データ系列の区切りを検出し,区切りを
境にして,区切り以降の入力データを新データ系列とし
て登録の対象とするので,データ系列の異なる組合せデ
ータを登録することを防止し,出現頻度の低い無駄と思
われる登録をなくし,有用な登録を早くできるようにし
て学習効果を促進し,また無駄な登録をなくし,インデ
ックス(のビット数)の増加を抑え,圧縮率を向上させ
る。According to the present invention, since a break of a data sequence is detected and input data after the break is registered as a new data sequence at the break, the registration of combined data having different data sequences is prevented, and The present invention eliminates infrequently unnecessary registrations that are considered to be wasteful, speeds up useful registrations, and promotes the learning effect. Eliminates unnecessary registrations, suppresses an increase in the index (the number of bits), and improves the compression ratio.
(a) 第1の実施例の説明 第2図は,本発明の第1の実施例処理フロー図であ
る。(A) Description of the first embodiment FIG. 2 is a processing flowchart of the first embodiment of the present invention.
画像データを,第16図,第17図で説明したように,
二次元的な情報に変換して前処理する。As described in FIGS. 16 and 17,
Convert to two-dimensional information and preprocess.
次に,変換されたデータの切れ目(区切り)を認識
(検出)し,辞書への登録選択しながら,前述のユニバ
ーサル符号化を行い本処理する。Next, a break (delimiter) of the converted data is recognized (detected), and the above-mentioned universal encoding is performed while the registration in the dictionary is selected, thereby performing the main processing.
この本処理は次のようにして行う。 This processing is performed as follows.
入力文次(データ)系列と同じ文字(データ)系列
を辞書内において検索する(辞書検索ステップ)。The same character (data) sequence as the input sentence next (data) sequence is searched in the dictionary (dictionary search step).
次に辞書内で検索一致した文字(データ)系列のイ
ンデックスを符号化する(インデックス符号化ステッ
プ)。Next, the index of the character (data) series that has been searched and matched in the dictionary is encoded (index encoding step).
文字(データ)列の切れ目を認識し,辞書に登録す
る(辞書登録ステップ)。Recognize a break in a character (data) string and register it in a dictionary (dictionary registration step).
第3図は本発明の第1の実施例符号化処理フロー図で
あり,第4図はその動作説明図,第5図はその復号化処
理フロー図である。FIG. 3 is a flowchart of the encoding process according to the first embodiment of the present invention, FIG. 4 is an explanatory diagram of the operation, and FIG. 5 is a flowchart of the decoding process.
尚,符号化,復号化とも,図示しないプロセッサがメ
モリに辞書を作成して実行するものとする。It is assumed that a processor (not shown) creates and executes a dictionary in a memory for both encoding and decoding.
符号化処理について,第3図を用いて説明する。 The encoding process will be described with reference to FIG.
尚,第14図で示したステップと同一のものは,同一の
記号で示してある。The same steps as those shown in FIG. 14 are denoted by the same symbols.
S1) 辞書の初期化として,第1番目の256文字(ワー
ド)を登録し,辞書の先頭アドレスNを256とする。S1) To initialize the dictionary, the first 256 characters (words) are registered, and the start address N of the dictionary is set to 256.
次に,最初の文字Kを入力し,辞書中のそのアドレス
をω1に代入する。Next, type the first letter K, and substitutes the address in the dictionary to ω 1.
S2) 次の文字Kを入力し,S4に進む。S2) Input the next character K and proceed to S4.
S4) 文字列ω1と文字Kとの組合せが辞書にあるかど
うかを調べる。S4) a combination of a string ω 1 and the letter K determine whether there is in the dictionary.
S5) 辞書にω1 Kが存在するならば,ω1 Kの登録アド
レスに代入する。S5) If ω 1 K exists in the dictionary, substitute ω 1 K for the registered address.
S3) 次にデータが終了かを調べ,データ終了ならS7
へ,データ終了でないならS2へ戻る。S3) Next, it is checked whether the data is completed.
If not, return to S2.
これによって辞書内にある最長一致文字列を検索す
る。Thus, the longest matching character string in the dictionary is searched.
S7) データ終了なら,アドレスω1を符号として出力
し,終了する。If S7) data end, and outputs an address omega 1 as a code, ends.
S8) ステップS4で,辞書にω1 Kが存在しないなら
ば,ω1とKとの間がデータの切れ目かを判定する。S8) At step S4, if ω 1 K does not exist in the dictionary, it is determined whether or not ω 1 and K are data breaks.
例えば,Kが水平モードコード(10000000),パスモー
ドコード(00000001)であることやデータ構成上Kがズ
レレングスコードであることによって,データの切れ目
と判定する。For example, if K is a horizontal mode code (10000000) and a pass mode code (00000001), or if K is a shift length code in the data configuration, it is determined that the data is a break.
S6) 従来通り,データの切れ目でなければ,アドレス
ω1を符号として出力し,ω1 Kを辞書のアドレスNに
登録し,先頭アドレスNを(N+1)にインクリメント
し,Kの辞書アドレスをω1に代入し,ステップS3へ進
む。S6) conventionally, if not break the data and outputs the address omega 1 as a code, to register the omega 1 K in the dictionary address N, increments the start address N to (N + 1), a dictionary address of K omega Substituted into 1 and proceed to step S3.
S9) 一方,データの切れ目であれば,アドレスω1を
符号として出力し,辞書の登録はせずに,Kの辞書アドレ
スをω1に代入し,ステップS3へ進む。S9) On the other hand, if the break in the data, and outputs the address omega 1 as a code, without the registration in the dictionary, and assigns the dictionary address of K to omega 1, the process proceeds to step S3.
このように,ステップS8,S9を設け,データの切れ目
なら,辞書登録を打ち切り,Kをω1として切れ目以降の
データを新規の辞書登録の対象とする。Thus, the step S8, S9 provided, if the data break, abort the dictionary registration, the data after the cut to K as omega 1 is the subject of a new dictionary registration.
第4図の例で圧縮(符号化)処理について具体的に説
明する。The compression (encoding) process will be specifically described with reference to the example of FIG.
ここで,入力シンボルを前述の第18図と同一のもので
説明し,矢印が区切り位置である。Here, the input symbols will be described using the same symbols as in FIG. 18 described above, and the arrows indicate the separation positions.
先づ,第1ライン目は水平モードと白黒ランレングス
との組み合わせであるから,水平モード(10000000)と
2バイトの白ランレングス(RL W128)で区切りとな
る。First, since the first line is a combination of the horizontal mode and the black and white run length, the first line is separated by the horizontal mode (10000000) and the 2-byte white run length (RL W128).
ここで,白黒ランレングスは,第16図(B)のよう
に,先頭“0"の1バイトコード又は先頭“1"の2バイト
コードが割当てられるので,ここではランレングスの先
頭が“1"のため2バイトコードと認識できる。Here, as for the black and white run length, as shown in FIG. 16 (B), a one-byte code at the beginning “0” or a two-byte code at the beginning “1” is assigned, and thus the beginning of the run length is “1” here. Therefore, it can be recognized as a 2-byte code.
次の水平モードと2バイトの黒ランレングスも1つの
データ系列としてまとめられ,区切りとなる。The next horizontal mode and the 2-byte black run length are also collected as one data series, and serve as a delimiter.
従って,第1ライン目では,水平モードが出力符号
「128」とし,白ランレングスの第1バイト目が出力符
号「128」として出力され,これらをまとめて登録番号
「256」として辞書登録される。Therefore, on the first line, the horizontal mode is output code "128", the first byte of the white run length is output as output code "128", and these are collectively registered as a registration number "256" in the dictionary. .
次に,白ランレングスの第2バイト目が出力符号
「1」として出力され,前の登録辞書内容(10000000)
との組合せが,辞書に登録番号「257」として登録され
る。Next, the second byte of the white run length is output as an output code “1”, and the contents of the previous registered dictionary (10000000)
Is registered as a registration number "257" in the dictionary.
次に,2番目の水平モードに対しては,前に区切りがあ
るため,白ランレングスと続けて組合わせて,登録され
ず,2番目の水平モード以降を新規登録,検索の対象とす
る。Next, since the second horizontal mode has a break before it, it is not registered in combination with the white run length, and the second horizontal mode and thereafter are newly registered and searched.
即ち,水平モードと黒ランレングスの第1バイト目の
内容が先づ検索の対象とされ,これは辞書に登録番号
「256」として存在するので,出力符号「256」として出
力される。そして,黒ランレングスの第2バイト目の内
容は出力符号「72」として出力され,前の辞書内容「25
6」出力符号「72」が登録番号「258」として辞書登録さ
れる。That is, the contents of the first byte of the horizontal mode and the black run length are searched first, and since this exists in the dictionary as the registration number "256", it is output as the output code "256". Then, the content of the second byte of the black run length is output as the output code “72”, and the previous dictionary content “25” is output.
The output code “72” is registered in the dictionary as the registration number “258”.
同様に,第2ライン目以降は,基本的にはズレレング
スのため,ズレレングスの境を見付けて,切れ目を検出
する。Similarly, since the second and subsequent lines are basically shifted, boundaries between the shifted lengths are found, and breaks are detected.
ズレレングスは,第16図(B)のように,先頭2ビッ
トが“00",“01",“10",“11"の1バイト,2バイトコー
ドであり,水平モード(10000000),垂直モード(0000
0000),パスモード(00000001)は割当てられないた
め,これらと区別できる。As shown in FIG. 16 (B), the first two bits are a 1-byte or 2-byte code of “00”, “01”, “10”, or “11”. Mode (0000
0000) and the path mode (00000001) are not assigned, and can be distinguished from these.
従って,同様にして,ズレレングスの切れ目を第4図
のように検出でき,切れ目を境に新規に,辞書検索,登
録を行う。Therefore, similarly, the gap of the deviation can be detected as shown in FIG. 4, and a new dictionary search and registration are performed at the gap.
以下,第3ライン目以降も同様に行う。 Hereinafter, the same is performed for the third and subsequent lines.
このようにして,入力シンボルの符号形式から区切り
を検出する。In this way, a break is detected from the code format of the input symbol.
従って,この例では,各区切り毎に辞書検索登録が行
われ,無関係なデータ系列の組み合わせを登録しなくて
済み,学習効果が向上し,インデックス(登録番号)の
ビット数の増加も最小限で抑えられる。Therefore, in this example, dictionary search registration is performed for each section, and it is not necessary to register a combination of irrelevant data series, the learning effect is improved, and the increase in the number of bits of the index (registration number) is minimized. Can be suppressed.
次に,復元処理について,第5図を用いて説明する。 Next, the restoration process will be described with reference to FIG.
尚,第15図で示したステップと同一のものは,同一の
記号で示してある。Note that the same steps as those shown in FIG. 15 are denoted by the same symbols.
S1) 符号化と同様に予め辞書に第1番目の256文字を
登録し,辞書の先頭アドレスnを「256」としてから復
号を始める。S1) As in the case of the encoding, the first 256 characters are registered in the dictionary in advance, and decoding is started after the head address n of the dictionary is set to “256”.
先づ,最初の符号(参照番号)を読み込み,現在のCO
DEをOLDcodeとし,最初の符号は既に辞書に登録された
一文字の参照番号いずれかに該当することから,入力符
号CODEに一致する文字code(K)を探し出し,文字Kを
出力する。なお,出力した文字(K)は後の例外処理の
ためFINcharにセットしておく。First, the first code (reference number) is read and the current CO
Since DE is OLDcode and the first code corresponds to one of the reference numbers of one character already registered in the dictionary, a character code (K) that matches the input code CODE is searched for and the character K is output. The output character (K) is set in FINchar for later exception processing.
S2) 次にS2に進んで次の符号を読み込んでCODEにINco
deとしてセットする。S2) Next, proceed to S2, read the next code, and set INCO to CODE.
Set as de.
S4) 次にS4に進み,S2で入力された符号CODEが辞書に
定義(登録)されているか否かチェックする。S4) Next, proceed to S4, and check whether or not the code CODE input in S2 is defined (registered) in the dictionary.
S5) 通常,入力した符号語は前回までの処理で辞書に
登録されているため,S5に進んで符号CODEに対応する文
字列code(ωK)を辞書から読み出す。S5) Usually, since the input code word has been registered in the dictionary in the previous processing, the process proceeds to S5, where the character string code (ωK) corresponding to the code CODE is read from the dictionary.
S6) S6で文字列Kを一時的にスタックし,参照番号co
de(ω)を新たなCODEとして再度S5に戻し,このS5,S6
の手順を再帰的に参照番号ωが一文字にいたるまで繰り
返す。S6) Character string K is temporarily stacked in S6, and reference number co
de (ω) is returned to S5 as a new CODE, and S5 and S6
Is repeated recursively until the reference number ω reaches one character.
S9) 最後にS9に進んで,文字Kを出力し,KをFINchar
にセットした後,S6でスタックした文字をLIFO(Last In
Fast Out)形式でポップアップして出力する。S9) Finally, proceed to S9, output the character K, and set K to FINchar
After setting to LIFO (Last In)
Pop-up and output in Fast Out) format.
S10) 次に,復元された文字を前述の符号化のステッ
プS8と同様に,構文解析し,データの切れ目があるかを
チェックする。データの切れ目の場合は,ステップS12
へ,データの切れ目でない場合は,ステップS11へ進
む。S10) Next, the restored character is parsed in the same manner as in the above-described encoding step S8 to check whether there is a data break. If there is a data break, step S12
If not, the process proceeds to step S11.
S11) データの切れ目でないなら,前回使った符号OLD
codeと今回復元した文字列の最初の一文字Kを組(OLDc
ode,K)と表わした文字列を,新たな参照番号で辞書に
登録し,参照番号(アドレス)nをn+1にインクリメ
ントとし,INcodeをOLDcodeにセットして,ステップS3に
進む。S11) If it is not a data break, the code OLD used last time
code and the first letter K of the restored string this time (OLDc
ode, K) is registered in the dictionary with a new reference number, the reference number (address) n is incremented to n + 1, INcode is set to OLDcode, and the process proceeds to step S3.
S12) データの切れ目なら,辞書登録は行わず,INcode
をOLDcodeにセットし,ステップS3へ進む。S12) If there is a break in the data, do not register the dictionary.
Is set to OLDcode, and the process proceeds to step S3.
S3) データが終了かをチェックし,終了でなければ,S
2へ戻り,終了なら復号化を終了する。S3) Check whether the data is completed.
Return to step 2 and end the decoding if done.
S8) なお,S4において登録されていない符号(符号化
において直前の参照番号を参照する場合に起きる)場
合,S8にて,FINcharを出力し,OLDcodeをCODEに,code(OL
Dcode,FINchar)をINcodeに戻した後にS5へ進むように
する。S8) If the code is not registered in S4 (it occurs when referring to the immediately preceding reference number in encoding), FINchar is output in S8, OLDcode is set to CODE, and code (OL
After returning Dcode, FINchar) to INcode, go to S5.
即ち,第15図の従来例に対し,ステップS10,S11,S12
が加わり,データの切れ目でなければ,従来通り,新規
辞書登録を行い,データの切れ目なら新規辞書登録を行
なわず,データの切れ目で登録内容を区切っている。That is, steps S10, S11, S12 are different from the conventional example of FIG.
Is added, and if it is not a data break, a new dictionary is registered as before, and if it is a data break, the new dictionary is not registered, and the registered contents are separated by the data break.
(b) 第2の実施例の説明 第6図は本発明の第2の実施例符号化処理フロー図,
第7図はその動作説明図,第8図はその復号化処理フロ
ー図である。(B) Description of the second embodiment FIG. 6 is a flowchart of an encoding process according to a second embodiment of the present invention.
FIG. 7 is an explanatory diagram of the operation, and FIG. 8 is a flowchart of the decoding process.
尚,第3図乃至第5図で説明したステップと同一のも
のは,同一の記号で示してあり,説明は省略する。Note that the same steps as those described in FIGS. 3 to 5 are denoted by the same reference numerals, and description thereof will be omitted.
この例は,第1の実施例が,区切り間において,辞書
登録を前の出力符号に今回の文字(データ)を組合わせ
たもので行うのに対し,辞書登録を区切りの先頭文字
(データ)から今回の文字まで連続させたものを行うも
のであり,この連続登録により圧縮率が高くなる。In this example, while the first embodiment performs dictionary registration using a combination of the previous output code and the current character (data) between the delimiters, the dictionary registration registers the first character (data) of the delimiter. From the current character to the current character, and the compression ratio is increased by the continuous registration.
符号化処理について,第6図を用いて説明する。 The encoding process will be described with reference to FIG.
S1) 第3図のステップS1と基本的に同一である。S1) It is basically the same as step S1 in FIG.
但し,最初の文字Kを入力し,それを,登録する時に
利用する文字列ω1と符号化する時に利用する文字列ω
2に代入する。However, type the first letter K, it, string to be used when 1 and the coded character string ω to be used when registering ω
Substitute for 2 .
尚,ここでは,ω1=ω2となる。Here, ω 1 = ω 2 .
S2,S4,S8) 第3図のステップS2,S4,S8と同一である。S2, S4, S8) These are the same as steps S2, S4, S8 in FIG.
S6) S9でデータの切れ目でない場合は,データの区切
り目ではないので,符号文字列ω2に対応する符号code
(ω2)を出力すると共にω1Kの組合せを辞書に登録,
登録アドレスをインクリメントした後,ω1Kが登録され
ているアドレスを新たなω1(これによって連続登録が
可能),Kを新たなω2として,S3へ進む。S6) S9 if not break the data is not a data delimiter th code corresponding to the code string omega 2 code
(Ω 2 ) and register the combination of ω 1 K in the dictionary,
After incrementing the registered address, the address at which ω 1 K is registered is set as a new ω 1 (this enables continuous registration), and K is set as a new ω 2 , and the process proceeds to S3.
S7) データの切れ目である場合は,符号code(ω2)
を出力するとともに,Kを新たなω1,ω2とし,ステップ
S3へ進む。S7) If it is a data break, the code code (ω 2 )
, And K as new ω 1 and ω 2 ,
Proceed to S3.
これによってデータの切れ目で検索,登録を区切る。 In this way, search and registration are separated at data breaks.
S5) S4でω1Kが辞書にある場合は,ω1 Kが登録され
ているアドレスを新たなω1に,ω2Kが登録されている
アドレスを新たなω2に代入し,S3へ進む。S5) If ω 1 K is found in the dictionary in S4, substitute the address where ω 1 K is registered into a new ω 1 and the address where ω 2 K is registered into a new ω 2 , and then go to S3. move on.
S3,S7)第3図のS3,S7と同一である。S3, S7) It is the same as S3, S7 in FIG.
第7図の例で符号化処理について具体的に説明する。 The encoding process will be specifically described with reference to the example of FIG.
ここで,第4図の例と異なるのは,データの区切り間
で検索,登録を行うのは,同一であるが,登録内容が全
て区切りの先頭から出発している点であり,例えば,登
録番号「257」では,先頭の水平モードからランレング
スの2バイト目までを登録する。Here, the difference from the example of FIG. 4 is that the search and registration between data breaks are the same, but the registered contents all start from the head of the break. With the number “257”, the first horizontal mode to the second byte of the run length are registered.
これは,ステップS6で,ω1 Kをω1としているため
である。This is because ω 1 K is set to ω 1 in step S6.
次に,復号化処理を第8図を用いて説明する。 Next, the decoding process will be described with reference to FIG.
S1,S2,S4,S5,S6,S8,S9,S10) 第5図のステップS1,S2,
S4,S5,S6,S8,S9,S10と同一である。S1, S2, S4, S5, S6, S8, S9, S10) Steps S1, S2,
Same as S4, S5, S6, S8, S9, S10.
S11) S11では,前回使った符号OLDcodeと今回復元し
た文字列の最初の一文字Kを組(OLDcode,K)と表した
文字列を,新たな参照番号で辞書に登録し,参照番号n
をn+1にインクリメントし,code(OLDcode,K)をOLDc
odeとしてS3に進む。S11) In S11, a character string represented as a set (OLDcode, K) of the code OLDcode used last time and the first character K of the character string restored this time is registered in the dictionary with a new reference number, and the reference number n
Is incremented to n + 1, and code (OLDcode, K) is OLDc
Proceed to S3 as ode.
OLDcodeを(OLDcode,K)に更新するので,復元におい
て,連続登録ができる。Since OLDcode is updated to (OLDcode, K), continuous registration is possible during restoration.
S12,S3) 第5図のステップS12,S3と同一である。S12, S3) These are the same as steps S12, S3 in FIG.
(c) 第3の実施例の説明 第9図は本発明の第3の実施例符号化処理フロー図,
第10図はその動作説明図,第11図はその復号化処理フロ
ー図である。(C) Description of Third Embodiment FIG. 9 is a flowchart of an encoding process according to a third embodiment of the present invention.
FIG. 10 is an explanatory diagram of the operation, and FIG. 11 is a flowchart of the decoding process.
尚,第6図,第8図で説明したステップと同一のもの
は,同一の記号で示してあり,説明は省略する。The same steps as those described in FIGS. 6 and 8 are denoted by the same reference numerals, and description thereof will be omitted.
この例は,データの切れ目を先頭にするのに変りはな
いが,第2の実施例に加えて,連続登録を切れ目以降ま
で延長するようにし,連続登録の長さがよく長くし,圧
縮率をより向上するものである。In this example, there is no difference in that the data break is at the head, but in addition to the second embodiment, the continuous registration is extended beyond the break, the continuous registration length is lengthened well, and the compression ratio is increased. Is to be further improved.
符号化処理について,第9図を用いて説明する。 The encoding process will be described with reference to FIG.
S1,S2,S3,S4,S5,S6,S8) 第6図のステップS1,S2,S3,S
4,S5,S6,S8と同一である。S1, S2, S3, S4, S5, S6, S8) Steps S1, S2, S3, S in FIG.
Same as 4, S5, S6, S8.
S7) S8でデータの切れ目が検出された場合は,符号co
de(ω2)を出力すると,ω1 Kを辞書に登録する。S7) If a data break is detected in S8, the code co
When de (ω 2 ) is output, ω 1 K is registered in the dictionary.
即ち,区切りがあっても,連続登録が行われる。 That is, even if there is a break, continuous registration is performed.
そして,アドレスNをN+1にインクリメントし,Kを
ω1,ω2に代入して,ステップS3へ進む。Then, the address N is incremented to N + 1, and K is substituted into ω 1 and ω 2 , and the process proceeds to step S3.
Kをω1とするので,延長は区切りから1文字目まで
である。Since the K and ω 1, the extension is from the separator to the first character.
第10図の例で符号化処理について具体的に説明する。 The encoding process will be specifically described with reference to the example of FIG.
ここで,第7図の例と異なるのは,区切りがあっても
連続登録は打ち切られない点である。Here, the difference from the example of FIG. 7 is that continuous registration is not terminated even if there is a break.
例えば,登録番号「258」では,区切りがあっても,
連続登録は打ち切られず,区切りの第1バイト目である
第2番目の水平モードまで延長される。For example, with registration number "258",
The continuous registration is not aborted, but is extended to the second horizontal mode, which is the first byte of the delimiter.
これと同時にこの水平モードを先頭にして,登録番号
「259」のように連続登録が行なわれる。At the same time, continuous registration is performed with the horizontal mode at the top, as indicated by the registration number "259".
これらは,ステップS6,S7でω1 Kを辞書登録している
ためである。This is because ω 1 K is registered in the dictionary in steps S6 and S7.
次に復号化処理について第11図を用いて説明する。 Next, the decoding process will be described with reference to FIG.
S1,S2,S3,S4,S5,S6,S8,S9,S10,S11) 第8図のS1,S2,S
3,S4,S5,S6,S8,S9,S10,S11と同一である。S1, S2, S3, S4, S5, S6, S8, S9, S10, S11) S1, S2, S in FIG.
3, the same as S4, S5, S6, S8, S9, S10, S11.
S12) S10でデータの切れ目を検出すると,S11と同様
に,前回使った符号OLDcodeと今回復元した文字列の最
初の一文字Kを組(OLDcode,K)と表した文字列を,新
たな参照番号で辞書に登録し,参照番号nをn+1にイ
ンクリメントし,INcodeをOLDcodeとしてS3へ進む。S12) When a data break is detected in S10, a character string that represents a pair (OLDcode, K) of the code OLDcode used last time and the first character K of the character string restored this time is assigned a new reference number, as in S11. To register in the dictionary, increment the reference number n to n + 1, set INcode to OLDcode, and proceed to S3.
これによって,区切りがあっても,連続登録が可能と
なるとともに,INcodeをOLDcodeとしているので,区切り
以降1文字目で連続登録が打ち切られる。As a result, even if there is a break, continuous registration is possible, and since INcode is set to OLDcode, continuous registration is terminated at the first character after the break.
(d) 第4の実施例の説明 第12図は本発明の第4図の実施例処理フロー図であ
る。(D) Description of Fourth Embodiment FIG. 12 is a processing flowchart of the embodiment of FIG. 4 of the present invention.
この実施例では,第2図の実施例に比し,画像データ
を二次元情報に変換する際に区切り位置に区切り(切れ
目)符号を挿入するものであり,本処理において,区切
り符号を検出し,第1乃至第3の実施例で説明した符号
化,符号化を行うものである。In this embodiment, a break (break) code is inserted at a break position when image data is converted into two-dimensional information as compared with the embodiment of FIG. 2. In this processing, a break code is detected. , And performs the encoding described in the first to third embodiments.
このようにすると,区切りの検出に構文解析しなくて
よいので,符号化,復号化時間が短縮できるという利点
がある。By doing so, there is an advantage in that the parsing does not have to be performed for the detection of the break, and the encoding and decoding times can be reduced.
(e) 他の実施例の説明 上述の実施例の他に,本発明は次のような変形が可能
である。(E) Description of Other Embodiments In addition to the above-described embodiments, the present invention can be modified as follows.
画像データを対象としたが,他のデータであっても
よい。Although image data is targeted, other data may be used.
画像データを二次元情報に変換して符号化している
が,原データを符号化してもよい。Although image data is converted into two-dimensional information and encoded, original data may be encoded.
以上本発明を実施例により説明したが,本発明は本発
明の主旨に従い種々の変形が可能であり,本発明からこ
れらを排除するものではない。Although the present invention has been described with reference to the embodiments, the present invention can be variously modified in accordance with the gist of the present invention, and these are not excluded from the present invention.
以上説明した様に,本発明によれば,次の効果を奏す
る。As described above, the present invention has the following effects.
データ系列の区切りを検出し,区切りを境にして,
区切り以降の入力データを新データ系列として登録の対
象とするので,データ系列の異なる組合せデータの辞書
への登録を防ぎ,出現頻度の低い無駄と思われる登録を
なくし,有用な登録を早くできるようにして学習効果を
促進する。Detects a break in the data series,
Since the input data after the delimiter is registered as a new data series, it is possible to prevent the registration of combination data with different data series in the dictionary, eliminate unnecessary and infrequently registered entries, and speed up useful registration. To promote learning effects.
無駄な登録をなくし,インデックスのビット数の増
加を抑え,圧縮率を向上できる。It is possible to eliminate useless registration, suppress an increase in the number of index bits, and improve the compression ratio.
第1図は本発明の原理図, 第2図は本発明の第1の実施例処理フロー図, 第3図は本発明の第1の実施例符号化処理フロー図, 第4図は本発明の第1の実施例動作説明図, 第5図は本発明の第1の実施例復号化処理フロー図, 第6図は本発明の第2の実施例符号化処理フロー図, 第7図は本発明の第2の実施例動作説明図, 第8図は本発明の第2の実施例復号化処理フロー図, 第9図は本発明の第3の実施例符号化処理フロー図, 第10図は本発明の第3の実施例動作説明図, 第11図は本発明の第3の実施例復号化処理フロー図, 第12図は本発明の第4の実施例処理フロー図, 第13図乃至第18図は従来技術の説明図である。 FIG. 1 is a principle diagram of the present invention, FIG. 2 is a processing flowchart of the first embodiment of the present invention, FIG. 3 is a flowchart of an encoding processing of the first embodiment of the present invention, and FIG. FIG. 5 is an explanatory diagram of the operation of the first embodiment of the present invention, FIG. 5 is a flowchart of a decoding process of the first embodiment of the present invention, FIG. FIG. 8 is an explanatory diagram of the operation of the second embodiment of the present invention, FIG. 8 is a flowchart of a decoding process of the second embodiment of the present invention, FIG. 9 is a flowchart of an encoding process of the third embodiment of the present invention, FIG. FIG. 11 is an explanatory diagram of the operation of the third embodiment of the present invention. FIG. 11 is a flowchart of a decoding process according to the third embodiment of the present invention. FIG. 12 is a flowchart of a process of the fourth embodiment of the present invention. FIG. 18 to FIG. 18 are explanatory diagrams of the prior art.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中野 泰彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭60−116228(JP,A) 特開 昭61−242122(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 ──────────────────────────────────────────────────続 き Continuation of front page (72) Inventor Yasuhiko Nakano 1015 Uedanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Inside Fujitsu Limited (56) References JP-A-60-116228 (JP, A) JP-A-61-242122 (JP, A) (58) Field surveyed (Int. Cl. 7 , DB name) H03M 7/40
Claims (2)
て,該部分列を辞書に登録しておき, 入力データで辞書に登録された部分列を検索し,該入力
データを該辞書に登録された部分列の内,最大長一致す
るものの参照番号で指定して符号化し,該辞書に登録す
るデータ圧縮方法において, 該入力データから該入力データの区切りを検出し, 該区切りを境にして,該区切り以降の入力データを新た
な該辞書登録の対象とすることを 特徴とするデータ圧縮方法。1. A method according to claim 1, wherein the encoded data is divided into different sub-sequences, the sub-sequences are registered in a dictionary, a sub-sequence registered in the dictionary is searched by input data, and the input data is stored in the dictionary. In a data compression method for specifying and encoding a registered subsequence having a maximum length matching by a reference number and registering the dictionary in the dictionary, a delimiter of the input data is detected from the input data, And input data after the delimiter to be newly registered in the dictionary.
された部分列の参照番号と比較し, 該符号化データを一致する参照番号の部分列に復元する
データ復元方法において, 復元された部分列からデータの区切りを検出し,該区切
りを境に,新部分列を該辞書に登録することを 特徴とするデータ復元方法。2. The data restoration method according to claim 1, wherein the encoded data is compared with a reference number of a subsequence registered in a dictionary, and the encoded data is restored to a subsequence having a matching reference number. A data restoration method characterized by detecting a data segment from a set subsequence and registering a new subsequence in the dictionary at the boundary.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31520690A JP3083550B2 (en) | 1990-11-20 | 1990-11-20 | Data compression and decompression method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31520690A JP3083550B2 (en) | 1990-11-20 | 1990-11-20 | Data compression and decompression method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04185117A JPH04185117A (en) | 1992-07-02 |
JP3083550B2 true JP3083550B2 (en) | 2000-09-04 |
Family
ID=18062682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31520690A Expired - Fee Related JP3083550B2 (en) | 1990-11-20 | 1990-11-20 | Data compression and decompression method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3083550B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3278297B2 (en) * | 1994-07-20 | 2002-04-30 | 富士通株式会社 | Data compression method, data decompression method, data compression device, and data decompression device |
IL153955A0 (en) * | 2000-07-25 | 2003-07-31 | Peribit Networks Inc | Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data |
-
1990
- 1990-11-20 JP JP31520690A patent/JP3083550B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04185117A (en) | 1992-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3541930B2 (en) | Encoding device and decoding device | |
US7403136B2 (en) | Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search | |
US6650261B2 (en) | Sliding window compression method utilizing defined match locations | |
JP3634711B2 (en) | Method and apparatus for compressing input data stream | |
JP3258552B2 (en) | Data compression device and data decompression device | |
US5392036A (en) | Efficient optimal data recopression method and apparatus | |
JP3231105B2 (en) | Data encoding method and data restoration method | |
JP3342788B2 (en) | How to expand compressed data | |
JP3083550B2 (en) | Data compression and decompression method | |
JP3038223B2 (en) | Data compression method | |
JP3034016B2 (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 | |
JP3038233B2 (en) | Data compression and decompression device | |
JPH05152971A (en) | Data compressing/restoring method | |
JPH0723238A (en) | Picture data compression and decoding device | |
JP3100206B2 (en) | Data compression method | |
JP3115066B2 (en) | Dictionary search method | |
JP3088740B2 (en) | Data compression and decompression method | |
JP2952067B2 (en) | Data compression method | |
JPH0644038A (en) | Data compressing method, data restoring method, and data compressing/restoring method | |
JPH05134846A (en) | Image data compressing method | |
JP3051501B2 (en) | Data compression method | |
JP3388768B2 (en) | Data compression and decompression method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |