JPH04167821A - データ符号化及び復号化方法 - Google Patents

データ符号化及び復号化方法

Info

Publication number
JPH04167821A
JPH04167821A JP2294328A JP29432890A JPH04167821A JP H04167821 A JPH04167821 A JP H04167821A JP 2294328 A JP2294328 A JP 2294328A JP 29432890 A JP29432890 A JP 29432890A JP H04167821 A JPH04167821 A JP H04167821A
Authority
JP
Japan
Prior art keywords
character
dictionary
registered
character string
data
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.)
Pending
Application number
JP2294328A
Other languages
English (en)
Inventor
Yoshiyuki Okada
佳之 岡田
Hirotaka Chiba
広隆 千葉
Shigeru Yoshida
茂 吉田
Yasuhiko Nakano
泰彦 中野
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 JP2294328A priority Critical patent/JPH04167821A/ja
Publication of JPH04167821A publication Critical patent/JPH04167821A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第14図乃至第16図) 発明が解決しようとする課題 課題を解決するための手段(第1図) 作用 実施例 伸)第1の実施例の説明(第2図乃至第5図)(I))
第2の実施例の説明(第6図乃至第9図)(C)第3の
実施例の説明 (第10図乃至第13図) (d)他の実施例の説明 発明の効果 〔概要〕 LZW符号を用いて符号化及び復号化するデータ符号化
及び復号化方法に関し。
符号化初期の段階から効率的な圧縮をすることを目的と
し。
入力データを辞書に登録された文字列と比較し。
該入力データを該辞書に登録された文字列の内。
最大長一致するものの参照番号で指定して符号化するデ
ータ符号化方法において、該入力データから単語の区切
りを示す文字を検出し、該辞書に。
先頭文字から該区切りを示す文字までに至る各文字列を
登録する。
〔産業上の利用分野〕
本発明は、LZW符号を用いて符号化及び復号化するデ
ータ符号化及び復号化方法に関する。
近年2文字コード、ベクトル情報2画像等様々な種類の
データがコンピュータで扱われるようになっており、扱
われるデータ量も急速に増加してきている。大量のデー
タを扱うときは、データの中の冗長な部分を省いてデー
タ量を圧縮することで、記憶容量を減らしたり、速く伝
送したりできるようになる。
様々なデータを1つの方式でデータ圧縮できる方法とし
てユニバーサル符号化が提案されている。
ここで2本発明の分野は9文字コードの圧縮に限らず、
様々なデータに適用できるが、以下では。
情報理論で用いられている呼称を踏襲し、データの1 
word 単位を文字と呼び、データが任意wordつ
ながったものを文字列と呼ぶことにする。
ユニバーサル符号の代表的な方法として、 、Ziv−
Lempel (ジプーレンペル)符号がある(詳しく
ハ2例えば、宗像「Ziv −Lempelのデータ圧
縮法」、情報処理、Vol、25.階1.1985年を
参照のこと)。
Ziv −Lempe 1符号では■ユニバーサル型と
、■増分分解型(Incremental parsi
ng )の2つのアルゴリズムが提案されている。さら
に、ユニバーサル型アルゴリズムの改良として、LZ8
S符号がある(T、 C0Be1l 、  ′″Bet
ter OPM/ 1 、 TextCompress
ion″、  IEEE Trans、 on Com
mun、。
Vol、 C0M−34,Na12. DeC,198
6参照)。また、増分分解型アルゴリズムの改良として
は、LZ W (Lempel −Ziv−Welch
 )符号があル(T、A。
Welch 、  ” A Technique fo
r High−PerformanceData Co
mpression ’ 、 Computer 、 
June l 984参照)。
これらの符号の内、高速処理ができることと。
アルゴリズムの簡単さからLZW符号が記憶装置のファ
イル圧縮などで使われるようになっている。
〔従来の技術〕
第14図乃至第16図は従来技術の説明図であり、第1
4図は従来のLZW符号化処理フロー図。
第15図は従来のLZW復号化処理フロー図、第16図
は従来のLZW符号化、復号化説明図である0 LZW符号化は、書き替え可能な辞書をもち。
入力文字コード、データ中を相異なる文字列(二分け、
この文字フイを出現した順に番号を付けて辞書に登録す
るとともに、現在入力している文字列を辞書に登録しで
ある最長−散文字列の番号で表して、符号化するもので
ある0 第14図のフロー図により符号化処理を説明する。
先ずステップS1(以下「ステップ」を省略)で予め全
文字につき一文字からなる文字列を初期値として登録し
てから符号化を始める。Slの符号化は、入力した最初
の文字Kにより辞書を検索して参照番号ωを求め、これ
を語頭文字列(prefixstring)とする。
次に82で入力データの次の文字を読み込み。
S3で文字入力が終了したか否かをチエツクした後、8
4に進んでSlで求めた語頭文字列ω又はS5のωにS
2で読み込んだ文字Kを加えた(ωK)が辞書にあるか
否か探す。
S4で文字列(ωK)が辞書になければ、86に進んで
Slで求めた文字にの参照番号ωを符号語code (
ω)として出力し、また文字列(ωK)に新たな参照番
号を付加して辞書に登録し、さらにS2の入力文字Kを
参照番号ωに置き換えるとともに、辞書アドレスnをイ
ンクリメントしてS2に戻って次の文字Kを読み込む。
一方、84で文字列(ωK)が辞書にあれば。
S5で文字列(ωK)を参照番号ωに置き換え。
再びS2に戻って文字列(ωK)が辞書から探せなくな
るまで最大一致長の探索を続ける。
第16図(5)、 (C)を参照して符号化を具体的に
説明すると次のようになる。
先ず第16図(5)の入力データを左から右へ読み込む
ここでは、まずアルファベット26文字a〜2及びスペ
ースを示す文字$から成るデータを圧縮する場合を取上
げる。LZW符号では、予め辞書に全文字につき一文字
からなる文字列を初期値として登録してから符号化を始
める。この場合、アルファベット26文字とスペース1
文字、計27文字を登録し辞書の先頭アドレスnを28
にセットする(第16図(Q参照)。
第16図(5)では、先ずステップS1において。
最初の文字Cを入力し2文字Cの登録番号(アドレス)
3を語頭文字3ωとする。次にステップS2では次の文
字aを入力し、それをKとする。
ステップS3では次の文字Kが存在するので。
ステップS4に進み2語頭文字列ωと次の文字にの組合
せ(ωK)、即ち(3a)が辞書にあるかどうかをみる
。その結果、(3a)は辞書内に現時点では存在しない
ので、ステップS6へ進む。
ステップS6では、code(ω)、即ち文字Cの登録
番号3に対応する符号(第16図(5)では登録番号3
をそのまま符号として出力している。)を出力すると共
に、アドレス28に(3a)の組合せを辞書に登録し、
Nを次のアドレス29にインクリメントする。そして、
現時点のKに相当するaの登録番号1を次の語頭文字列
ωとしてステップS2に戻る。
そして、ステップS2では次の文字tを入力し。
それをKとする。同じく、ステップ83.84を経て、
86では2文字aの登録番号1が出力されると共に(1
t)の組合せがアドレス29に登録される。以下同様の
動作を繰り返す。
また、84にて同じ文字列が辞書内に存在する場合2例
えば、単語eatのat部分でa即ち登録番号1が語頭
文字列ω9文字tがKの時、登録番号29にその組合せ
がすでに登録されているので、ステップS5へ進み、(
ωK)が存在する登録番号29を新たな語頭文字列ωと
して、ステップS2に戻る。この動作を繰り返すことで
辞書内に存在する最長−散文字列を検索することができ
る。
以上がLZW符号化の具体的な処理方法である。
第15図の復号化処理は第14図の符号化の逆の操作を
行う。
第15図の復号化では、符号化と同様に予め辞書に全文
字につき一文字から成る文字列を初期値として登録して
から復号を始める。
先ずSlで最初の符号(参照番号)を読み込み。
現在のC0DEをOLD code  とし、最初の符
号は既に辞書に登録された一文字の参照番号いずれかに
該当することから、入力符号C0DEに一致する文字c
ode (K )を探し出し1文字Kを出力する。
なお、出力した文字(K)は後述するS8の例外処理の
ためFINcharにセットしておく。
次に82に進んで次の符号を読み込んでC0DEにI 
N codeとしてセットする。
S3で新たな符号があるか否か、すなわち符号入力の終
了の有無をチエツクしてS4に進み、S3で入力された
符号C0DBが辞書に定義(登録)されているか否かチ
エツクする。
通常、入力した符号語は前回までの処理で辞書に登録さ
れているため、85に進んで符号C0DEに対応する文
字列code (ωK)を辞書から読み出し、86で文
字列Kを一時的にスタックし、参照番号code (ω
)を新たなC0DEとして再度S5に戻り、このS5,
86の手順を再帰的に参照番号ωが一文字に至るまで繰
り返し、最後に87に進んでS6でスタックした文字を
L I’F O(La5tIn Ii’ast Out
 )形式でポツプアップして出力する。
同時に87において、前回使った符号ωと今回復元した
文字列の最初の一文字Kを組(ω、K)と表した文字列
に、新たな参照番号を付加して辞書に登録する。
なお、84において登録されていない符号(符号化にお
いて直前の参照番号を参照する場合に起きる)場合、8
8にて、 OLD codeをC0DEに。
code (OLDcode、 char )をlNC
0deに戻した後に85へ進むようにする。
第16図(13)、(C)を参照してLZWの復号化処
理を具体的に説明すると次のようになる。
ステップS1にて、最初の入力符号3を読み込み、それ
を0LDcodeとすると共に符号3に相当する文字C
を出力する。次に82において次の符号1を読み込み、
それをI N codeとする。S3を通って84では
符号1がすでに定義されているので85に進む。S5で
は、符号1に相当文字列が1文字のaに該当する為、直
ちにS7に進む。
S7では文字aを出力し2文字aをFINcharとす
る。また、 OLD codeの3とKに対応する文字
aの組合せ(3a)を辞書のアドレス28に登録し、ア
ドレス29にインクリメントするとともに、  I N
 codeをOLD code ニ代入し”’C’、8
2に戻る。以下同様の処理を繰り返す。
〔発明が解決しようとする課題〕
1つの意味を持つワード(単語二文字の集合)は、特に
アルファベットの文章の場合、スペースで区切られてい
る。
しかし、従来のLZW符号では、スペース文字$も他の
アルファベットと同じと見なしているため、第16同人
に示すように同じcatという単語が出現しているにも
かかわらず、同じ文字列とはみなさず分解された形で符
号化する。
そのため、何回か学習しないと意味のある単語として登
録されず、符号化初期の段階で効果的な圧縮ができない
という問題があった。
従って1本発明は、符号化初期の段階から効率的な圧縮
をすることができるデータ符号化及び復号化方法を提供
することを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理図である0 本発明の請求項(1)は、第1図(5)に示すように。
入力データを辞書に登録された文字列と比較し。
該入力データを該辞書に登録された文字列の内。
最大炎一致するものの参照番号で指定して符号化するデ
ータ符号化方法において、該入力データから単語の区切
りを示す文字を検出し、該辞書に。
先頭文字から該区切りを示す文字までに至る各文字列を
登録するものである。
本発明の請求項(2)は、請求項(1)の符号化データ
を辞書に登録された文字列の参照番号と比較し。
該符号化データを一致する参照番号の文字列に復号化す
るデータ復号化方法において、復号化された文字列から
単語の区切りを示す文字を検出し。
該辞書に、先頭文字から該区切りを示す文字までに至る
各文字列を登録するものである。
本発明の請求項(3)は、第1図(B)に示すように。
入力データを辞書に登録された文字列と比較し。
該入力データを該辞書に登録された文字列の内。
最大炎一致するものの参照番号で指定して符号化するデ
ータ符号化方法において、該入力データから単語の区切
りを示す文字を検出し、該辞書に。
先頭文字から該区切りを示す文字に至る各文字列を登録
するとともに、1つ前の区切りを示す文字の次の文字か
ら該区切りを示す文字に至る各文字列を付随して登録す
るものである。
本発明の請求項(4)は、請求項(3)の符号化データ
を辞書に登録された文字列の参照番号と比較し。
該符号化データを一致する参照番号の文字列に復号化す
るデータ復号化方法において、復号化された文字列から
単語の区切りを示す文字を検出し。
該辞書に、先頭文字から該区切りを示す文字に至る各文
字列を登録するとともに、1つ前の区切りを示す文字の
次の文字から該区切りを示す文字に至る各文字列を付随
して登録するものである。
本発明の請求項(5)は、第1図(qに示すように。
入力データを辞書に登録された文字列と比較し。
該入力データを該辞書に登録された文字列の内。
最大炎一致するものの参照番号で指定して符号化するデ
ータ符号化方法において、該入力データから単語の区切
りを示す文字を検出し、該辞書に。
先頭文字から該区切りを示す文字までに至る各文字列を
登録するとともに、該入力データから文章の区切りを示
す文字を検出し、該登録を打ち切るものである。
本発明の請求項(6)は、請求項(5)の符号化データ
を辞書に登録された文字列の参照番号と比較し。
該符号化データを一致する参照番号の文字列に復号化す
るデータ復号化方法において、復号化された文字列から
単語の区切りを示す文字を検出し。
該辞書に、先頭文字から該区切りを示す文字までに至る
各文字列を登録するとともに、該入力データから文章の
区切りを示す文字を検出し、該登録を打ち切るものであ
る。
〔作用〕
本発明の請求項(1)、 (2)では、符号化文字列に
対してスペース等の単語の区切りを示す文字を目安に連
続的に文字列を登録することで、意味のある。
単語を最初に出現する段階で登録し、符号化初期から効
率的な圧縮を可能とする。
又2本発明の請求項(3)、 (4)では、連続登録の
他に、二重に付属登録を行うので、更に符号化初期にお
ける登録が早く進み、より一層効率的な圧縮が期待でき
る。
更に2本発明の請求項(5)、 (f3)では、連続登
録に加え9文章の区切りである文字が出現したときに連
続登録を打ち切るので2文章の頭が揃い、効率的な圧縮
、復元が期待できる。
〔実施例〕
(a)第1の実施例の説明 第2図乃至第5図は本発明の第1の実施例説明図であり
、第2図は符号化処理フロー図、第3図は復号化処理フ
ロー図、第4図は符号化、復号化例の説明図、第5図は
辞書の説明図である。
尚、符号化、復号化とも2図示しないプロセッサがメモ
リに辞書を作成して実行するものとする。
符号化処理について、第2図を用いて説明する。
81)  先ずステップS1にて辞書の初期化として。
出現する全ての第1文字(ここではa −zとスペース
$の27文字)を登録し、辞書の先頭アドレスを28と
する。
82)82では最初の文字Kを入力し、それを。
登録する時に利用する文字列ωlと符号化する時に利用
する文字列ω2に代入する。
尚、ここでは、ω1−ω2となる。
53)S3において2次の文字Kを入力し、  84に
進む。
84)  ステップS4では、登録の語頭文字列ωlと
文字にとの組合せが辞書にあるかどうかをみる。
85)  存在するならば、ωl Kが登録されている
アトヒスを新たなωl、またω2 Kが登録されている
アドレスを新たなω2として代入し、86へ進む。
s6)  次に、データ終了かを調べ、データ終了なら
810へ、データ終了でないならS3へ戻る。
これによって、辞書内にある最長−散文字列を検索する
87)84にてωl Kの組合せが辞書に登録されてい
ない場合1文字Kがデータの区切り目である$(スペー
ス文字)と一致するかどうかをみる。
58)一致しない場合は、データの区切り目ではないの
で、符号文字列ω2に対応する符号code(ω2)を
出力すると共にωlKの組合せを辞書に登録、登録アド
レスをインクリメントした後、ωIKが登録されている
アドレスを新たなωl (これによって連続登録が可能
)、Kを新たなω2として、86へ進む。
89)  一致する場合、即ちデータの区切り目即ち文
字Kが$の場合、符号文字列ω2に対応する符号cod
e (ω2)を出力すると共にωIKの組合せを辞書に
登録、登録アドレスをインクリメントした後、Kを新た
なω2として、再びω2に対応する符号code (ω
2)を出力する。そして1次の文字Kを入力して、その
文字Kを各々ω1.ω2とする。
これによって、データの区切り間($と次の文字の間)
の登録を避けていることになる。
そして、ステップS6へ進む。
510)ステップS6でデータ終了なら、符号文字列ω
2の符号code (ω2)を出力し、終了する。
本発明の符号化における例を第4図(5)及び第5図(
辞書の内容)に示し、これを具体的に説明する。
ここでは、従来と同じく、まずアルファベット26文字
a−z及びスペースを示す文字$から成るデータを圧縮
する場合を取上げる。
第2図のステップS1では、予め辞書に全文字につき一
文字からなる文字列を初期値として登録してから符号化
を始める。この場合、第5図に示すように、アルファベ
ット26文字とスペース1文字、計27文字を登録し、
辞書の先頭アドレスを28にセットする。
第4図(5)では、第2図のステップS2において。
最初の文字Cを入力し1文字Cの登録番号3を各々登録
文字列ω1.符号化文字列ω2に代入する。
次にステップS3では次の文字aを入力し、それをKと
する。
次にステップS4に進み、登録文字列ω1と次の文字に
の組合せ(ωIK)、即ち(3a)が辞書にあるかどう
かをみる。その結果、(3a)は辞書内に現時点では存
在しないので、ステップS7へ進む。
ステップS7においてKに相当する文字aがデータの切
れ目と定義している$ではないので88に進む。
S8において、  code(ω2)、即ち文字Cの登
録番号3に対応する符号(第4図(8)では登録番号3
をそのまま符号として出力している。)を出力すると共
に、アドレス28に(3a)の組合せを辞書に登録し、
Nを次のアドレス29にインクリメントする。そして、
(ωIK)、即ち(3a)を登録した辞書のアドレス2
8を次の登録文字列ωlに、さらにKに相当する文字a
の登録番号3を次の符号化文字列ω2としてS6に進む
次の文字tの場合も同様の経路を辿り、88にて(ca
t)、即ち(28t)をアドレス29に登録する。
次の文字$の場合、87において、に−$である為、8
9へ進む。
S9では、現時点の02に相当する1つ手前の文字tの
登録番号20に対応した符号code (ω2)を出力
すると共に、アドレス30に(29$)の組合せを辞書
に登録し、Nを次のアドレス31にインクリメントする
。そして、(K=$)をω2に代入した後、code(
$)即ち27を出力し1次の文字eを読み込み1文字e
の登録番号5を登録文字列ωl、符号化文字列ω2に代
入して、86に進む。
以上2本発明の符号化において、データの切れ: 目ま
で連続登録することにより、単語等の登録は1度の出現
で登録が済み、第4図(5)の見るが如く。
catという単語が2度目に出現したときには。
登録番号のみで表現出来ると同時に2次の単語も含めて
登録することができ2文章等も効果的に圧縮出来る。
次に、復号化処理について、第3図を用いて説明する。
81)  第3図の復号化では、Slにおいて符号化と
同様に予め辞書に全文字につき一文字からなる文字列を
初期値として登録してから復号を始める。
82)  まずS2で最初の符号(参照番号)を読み込
み、現在のC0DEを0LDcodeとし、最初の符号
は既に辞書に登録された一文字の参照番号いずれかに該
当することから、入力符号C0DHに一致する文字co
de(K)を探し出し2文字Kを出方する。なお、出力
した文字(K)は後の例外処理のためF I N ch
arにセットしておく。
83)  次に83に進んで次の符号を読み込んでC0
DEにI N codeとしてセットする。
84)  次に84に進み、83で入力された符号C0
DEが辞書に定義(登録)されているが否かチエツクす
る。
s5) 通常、入力した符号語は前回までの処理で辞書
に登録されているため、85に進んで符号C0DEに対
応する文字列code (ωK)を辞書から読み出す。
86)86で文字列Kを一時的にスタックし、参照番号
code (ω)を新たなC0DEとして再度S5に戻
し、この85.86の手順を再帰的に参照番号ωが一文
字にいたるまで繰り返す。
87) 最後に87に進んで2文字Kを出力し、KをF
INcharにセットした後、86でスタックした文字
をL I F O(La5t In Fast Out
 )形式でポツプアップして出力する。
S8)次に88において、Kがデータの区切$かどうか
をチエツクする。Kが$の場合S9へ、Kが$でない場
合sioへ進む。
89)89では、前回使った符号OLD codeと今
回復元した文字列の最初の一文字Kを組(OLDcod
e、 K )と表した文字列に、新たな参照番号で辞書
に登録し、  code (OLD code、 K 
)を0LDcode  として811に進む。
510)また810ではS9と同じく組(OLD co
de。
K)を辞書に登録する。そして2次の符号を読み込み、
そのC0DEをOLD codeと共に入力符号C0D
Hに一致する文字code(K)を探し出し、その文字
Kを出力する。そしてKをFINcharにセットし、
S11に進む。
811) 811でデータ終了をチエツクし、終了でな
ければS3に戻る。
512)なお、84において登録されていない符号(符
号化において直前の参照番号を参照する場合に起きる)
場合、S12にて、 OLD codeをC0DEに、
  code (OLDcode、 FINChar 
)をINcode  に戻した後に85へ進むようにす
る。
即ち、第15図の従来例に対し、ステップ88゜89.
810が加わり、復元文字が$(スペース)の場合か否
かに応じて、連続登録を行うものである0 本発明の復号化における例を第4図(B)及び第5図(
辞書の内容)に示し、これを具体的に説明する0 第3図の復号化フローチャートに従えば、先ずステップ
S1にて、予め辞書に全文字につき一文字からなる文字
列を初期値として登録してから符号化を始める。この場
合、第5図に示すように。
アルファベット26文字とスペース1文字、計27文字
を登録し、辞書の先頭アドレスを28にセットする。
次に82において、入力符号3をOLD codeとし
、符号3に相当する文字Cを出力すると共に。
文字CをFINcharに代入する。
S3で次の符号1を読み込み、それをlNC0deとす
る。次に84において、符号1はC0DEとして定義さ
れている(初期値として登録されているので)ので、8
5に進む。
次に符号1はcode(a)であるから、86へ行かず
に直ちにS7へ進む。S7では、Kに相当する文字aを
出力し、88にてKが$でないので。
S9へ進む。
S’1JC−は2組(OLDcode、 K)即ち(3
a)を辞書のアドレス28に登録すると共に、辞書のア
ドレスを29にインクリメントする。そして2組(OL
Dcode、 K)が登録されている辞書のアドレス2
8をOLD codeとしてS11を経てS3へ戻る0 第4図の)において、最初の$が入力された時は。
S8にてに=$によりS9へ進み、89では。
(29$)を辞書のアドレス30に登録すると共に。
データの切れ目間の登録をしないように2次の符号5を
読む。それをOLD codeとして、符号5に相当す
る文字eを出力すると共に1文字eをF I Ncha
r  に代入し811に進む。
以上2本発明の復号化において、データの切れ目まで連
続登録することにより、単語等の登録に1度の出現で登
録が済み、第4図(B)に見るが如く。
catという単語が2度目に出現したときには。
登録番号のみで表現出来ると同時に2次の単語も含めて
登録することができ1文章等も効果的に復元出来る。
(b)第2の実施例の説明 第6図乃至第9図は本発明の第2の実施例説明図であり
、第6図は符号化処理フロー図、第7図は復号化処理フ
ロー図、第8図は符号化、復号化例の説明図、第9図は
辞書の説明図である。
この例では、第1の実施例の他に、二重に付属登録する
所に特徴がある。
符号化処理について、第6図を用いて説明する。
尚、第2図と同一のステップについては説明を省略する
81〜84)ステップ81〜S4までは、第2図と全く
同じであり、説明省略する。ただし、ここでは、81に
て付属登録を判断するパラメータC1Dを共にOとする
85、S6)ステップ85.86にて、検索されている
文字列の中にデータの切れ目$があるかないかによって
付属登録を行うことを判断する為のパラメータCを定め
、データの切れ口$がある場合にCを1とする。
87、58)S 7.S sは第2図の85.S6と同
じである。
89)84にて(ω、K)が辞書にない場合、  89
へ進む。S9では、付属登録をしない場合、即ちC−0
の場合は、810へ進む。
810〜512)第2図の88.89と同一である。
813)  89において付属登録をする場合、即ちC
二重の場合は、S13に進む。813において付属登録
の始め(D=O)かどうかをみる。
814)  D=Qの場合、付属登録の始めとしてS1
4に進み、Kを付属登録用の登録文字列ω3に代入、付
属登録の経過を示すパラメータDを1として810に進
む。
815)  813にてD=1(7)tjJ、S 15
に進み。
付属登録を行う。815では、(ω3K)の組合せが辞
書内にあるかどうかを検索し、辞書にある場合は817
に、辞書にない場合は816に進む。
816)  816では、(ω3K)の組合せを辞書に
登録し、辞書アドレスNをインクリメントしてS17に
進む。
817)  S 17では、ω3Kが登録されているア
ドレスをω3として810に進む。
従って、第6図では、第2図のフローに、S6゜89、
 813. 814.  Sl、5. 816. 81
7を加えて、付属登録を行うものである。
第2の実施例の符号化の例を第8図(5)及び第9図(
辞書の内容)に示し、これを具体的に説明する。第8図
(5)の場合、同じ単語catが2回出現した時までは
第4図(5)と動作は同じのため、説明は省略する。
次の単語eggが入力された時に、catに続いて連続
登録する場合と、eggを単独でも登録するようにする
(これを付属登録と呼ぶ)。
例えば、に−eの場合、第6図の89でC=1より(一
つ手前の処理で、catの後に$があるので85.86
を経てC=1となっている。)S13に進み、D二〇な
ので、S14に進む0そして文字eに相当する登録番号
5をω3とすると共にDを1とする。
810〜812までは第4図(5)と同じ< 、 (3
0e)の組合せが辞書のアドレス34に登録される。
次の文字gが入力された時は、89,813を経て81
5に進み、(5g)の組合せは辞書に登録されていない
ので、816にて登録される。
以上、付属登録を行うのでさらに初期における登録が早
く進み、効率的な圧縮が期待出来る。
次に、復号化処理について、第7図を用いて説明する。
尚、第3図、第6図と同一のステップについては、説明
を省略する。
81〜86)第3図の81〜S6と同一のため、説明は
省略する。
87.88)第6図の符号化処理の85.86と同じで
、登録済みの文字列に「$」が存在するかどうかを見る
89)  第3図の87と同一のため、説明は省略する
810〜515)第6図の符号化処理の813〜S17
と同一であり、付属登録を行う。
816〜518)第3図の88〜510(第6図の81
0〜512)と同一であり、連続登録を行う。
519)第3図の811と同一である。
第2の実施例の復号化の例を第8図の)及び第9図に示
す。
第8図β)に示すように、連続登録35 (cat$e
g)、3 B (cat$egg)、4 Q (cat
$egg$)と同時に、付属登録35 (eg)、  
37 (egg)、39 (egg$)  を行う。
以上、符号化と同様に連続登録の他に付属登録を行うの
でさらに初期における登録が早く進み。
効率的な復元が期待出来る。
(C)  第3の実施例の説明 第10図乃至第13図は本発明の第3の実施例説明図で
あり、第10図は符号化処理フロー図。
第11図は復号化処理フロー図、第12図は符号化、復
号化例の説明図、第13図は辞書の説明図である。
この例では、第1の実施例の連続登録に加え。
文章の区切りであるピリオド(、)やコンマ(1)等を
辞書に予め登録し、ピリオドやコンマが出現した時には
、それ以降連続登録をしないところに特徴がある。
第10図を用いて符号化処理を説明する。
尚、第2図に示したステップと同一のものは。
説明を省略する。
81〜83)第2図のステップ81〜S3と同一であり
、説明を省略する。
84)83の次の文字Kがピリオド(、) 、コンマ(
1)か判定し、ピリオド、コンマの場合、連続登録を打
ち切るため、S12に進み、そうでない場合にはS5へ
進む。
85〜511)第2図の84〜810と同じであり。
連続登録を行う。
812)  S 10と同様の処理を行うが1文字列ω
lKを登録しない。
即ち、ピリオド(、)やコンマ(1)が出現したので、
それを文字列につなげて登録しないところに違いがある
。これによって2文章の区切りで系列が途切れるので2
文章の頭をそろえることができ。
効率的な圧縮が期待出来る。
第3の実施例での符号化例を第12図(5)及び第13
図に示す。
第12同人の場合、同じ単語catが2回出現した後2
文章の区切りであるピリオド(、)が出現したので、こ
こで連続登録を打ち切る。そして。
次の単語eggのeから新たに連続登録を行う。
以上9文章毎に登録を打ち切るので9文章の頭が揃い、
効率的な圧縮が期特出来る。
次に、復号化処理について、第11図を用いて説明する
尚、第3図と同一のステップについては、説明を省略す
る。
第3図のフローに、813,814のステップを加えた
ものであり、その他は同一である。
813)  813において、復元文字Kがピリオドや
コンマかを判定する。ピリオド(、)やコンマ(1)の
場合、S14に進み、そうでない場合はS8に進む。
814)  S 14では、S10と同様の処理を行う
が、違いは(OLDcode、 K)を辞書に登録セス
連続登録を行わないところにある。
第3の実施例での復号化例を第12図但)及び第13図
に示す。
符号化と同様に、2回目のcatの次のピリオド(、)
のところで連続登録を打ち切り2次の単語eggのeか
ら新たに連続登録を行う。
以上、符号化同様に文章毎に登録を打ち切るので9文章
の頭が揃い、効率的な復元が期特出来る0(d)  他
の実施例の説明 上述の実施例の他に9本発明は次のような変形が可能で
ある。
■ 区切りを示す文字はスペース文字に限られず、他の
ものであってもよく2文章の区切りを示す文字もピリオ
ド、コンマに限られない。
■ code (ω)として、更にランレングス符号化
等を用いて圧縮してもよい。
■ 文字列に限らす、符号化データ列であってもよい。
以上本発明を実施例により説明したが2本発明は本発明
の主旨に従い種々の変形が可能であり。
本発明からこれらを排除するものではない0〔発明の効
果〕 以上説明した様に2本発明によれば2次の効果を奏する
■ 本発明の請求項(1)、 (2)では−符号化文字
列に対してスペース等の単語の区切りを示す文字を目安
に連続的に文字列を登録することで、意味のある単語を
最初に出現する段階で登録し、符号化初期から効率的な
圧縮を可能とする。
■ 本発明の請求項(3)、 (4)では、連続登録の
他に、二重に付属登録を行うので、更に符号化初期にお
ける登録が早く進み、より一層効率的な圧縮が期待でき
る。
■ 更に2本発明の請求項(5)、 (6)では、連続
登録に加え2文章の区切りである文字が出現したときに
連続登録を打ち切るので2文章の頭が揃い。
効率的な圧縮、復元が期待できる。
【図面の簡単な説明】
第1図は本発明の原理図。 第2図は本発明の第1の実施例符号化処理フロー図。 第3図は本発明の第1の実施例復号化処理フロー図。 第4図及び第5図は本発明の第1の実施例の説明図。 第6図は本発明の第2の実施例符号化処理フロー図。 第7図は本発明の第2の実施例復号化処理フロー図。 第8図及び第9図は本発明の第2の実施例説明図。 第10図は本発明の第3の実施例符号化処理フロー図。 第11図は本発明の第3の実施例復号化処理フロー図。 第12図及び第13図は本発明の第3の実施例の説明図
。 第14図乃至第16図は従来技術の説明図である0 φφ曲

Claims (6)

    【特許請求の範囲】
  1. (1)入力データを辞書に登録された文字列と比較し、 該入力データを該辞書に登録された文字列の内、最大長
    一致するものの参照番号で指定して符号化するデータ符
    号化方法において、 該入力データから単語の区切りを示す文字を検出し、 該辞書に、先頭文字から該区切りを示す文字までに至る
    各文字列を登録することを 特徴とするデータ符号化方法。
  2. (2)請求項(1)の符号化データを辞書に登録された
    文字列の参照番号と比較し、 該符号化データを一致する参照番号の文字列に復号化す
    るデータ復号化方法において、 復号化された文字列から単語の区切りを示す文字を検出
    し、 該辞書に、先頭文字から該区切りを示す文字までに至る
    各文字列を登録することを 特徴とするデータ復号化方法。
  3. (3)入力データを辞書に登録された文字列と比較し、 該入力データを該辞書に登録された文字列の内、最大長
    一致するものの参照番号で指定して符号化するデータ符
    号化方法において、 該入力データから単語の区切りを示す文字を検出し、 該辞書に、先頭文字から該区切りを示す文字に至る各文
    字列を登録するとともに、1つ前の区切りを示す文字の
    次の文字から該区切りを示す文字に至る各文字列を付随
    して登録することを 特徴とするデータ符号化方法。
  4. (4)請求項(3)の符号化データを辞書に登録された
    文字列の参照番号と比較し、 該符号化データを一致する参照番号の文字列に復号化す
    るデータ復号化方法において、 復号化された文字列から単語の区切りを示す文字を検出
    し、 該辞書に、先頭文字から該区切りを示す文字に至る各文
    字列を登録するとともに、1つ前の区切りを示す文字の
    次の文字から該区切りを示す文字に至る各文字列を付随
    して登録することを 特徴とするデータ復号化方法。
  5. (5)入力データを辞書に登録された文字列と比較し、 該入力データを該辞書に登録された文字列の内、最大長
    一致するものの参照番号で指定して符号化するデータ符
    号化方法において、 該入力データから単語の区切りを示す文字を検出し、 該辞書に、先頭文字から該区切りを示す文字までに至る
    各文字列を登録するとともに、 該入力データから文章の区切りを示す文字を検出し、該
    登録を打ち切ることを 特徴とするデータ符号化方法。
  6. (6)請求項(5)の符号化データを辞書に登録された
    文字列の参照番号と比較し、 該符号化データを一致する参照番号の文字列に復号化す
    るデータ復号化方法において、 復号化された文字列から単語の区切りを示す文字を検出
    し、 該辞書に、先頭文字から該区切りを示す文字までに至る
    各文字列を登録するとともに、 該入力データから文章の区切りを示す文字を検出し、該
    登録を打ち切ることを 特徴とするデータ復号化方法。
JP2294328A 1990-10-31 1990-10-31 データ符号化及び復号化方法 Pending JPH04167821A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2294328A JPH04167821A (ja) 1990-10-31 1990-10-31 データ符号化及び復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2294328A JPH04167821A (ja) 1990-10-31 1990-10-31 データ符号化及び復号化方法

Publications (1)

Publication Number Publication Date
JPH04167821A true JPH04167821A (ja) 1992-06-15

Family

ID=17806281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2294328A Pending JPH04167821A (ja) 1990-10-31 1990-10-31 データ符号化及び復号化方法

Country Status (1)

Country Link
JP (1) JPH04167821A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614899A (en) * 1993-12-03 1997-03-25 Matsushita Electric Co., Ltd. Apparatus and method for compressing texts
WO2014147671A1 (ja) * 2013-03-22 2014-09-25 富士通株式会社 圧縮装置、圧縮方法、伸張装置、伸張方法および情報処理システム
JP2017525235A (ja) * 2014-06-20 2017-08-31 オラクル・インターナショナル・コーポレイション プレーンasciiデータストリームの符号化

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614899A (en) * 1993-12-03 1997-03-25 Matsushita Electric Co., Ltd. Apparatus and method for compressing texts
WO2014147671A1 (ja) * 2013-03-22 2014-09-25 富士通株式会社 圧縮装置、圧縮方法、伸張装置、伸張方法および情報処理システム
US9509333B2 (en) 2013-03-22 2016-11-29 Fujitsu Limited Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
JPWO2014147671A1 (ja) * 2013-03-22 2017-02-16 富士通株式会社 圧縮装置、圧縮方法、伸張装置、伸張方法および情報処理システム
JP2017525235A (ja) * 2014-06-20 2017-08-31 オラクル・インターナショナル・コーポレイション プレーンasciiデータストリームの符号化

Similar Documents

Publication Publication Date Title
JP3009727B2 (ja) 改良形データ圧縮装置
US6047298A (en) Text compression dictionary generation apparatus
JPH05241777A (ja) データ圧縮方式
JPH04167821A (ja) データ符号化及び復号化方法
JP3038223B2 (ja) データ圧縮方式
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3241787B2 (ja) データ圧縮方式
JP3130324B2 (ja) データ圧縮方式
JP2774350B2 (ja) データ圧縮方法および圧縮データのデータ復元方法
JP2006302082A (ja) 文字列検索装置
JPH0546357A (ja) テキストデータの圧縮方法および復元方法
JPH0546358A (ja) テキストデータの圧縮方法
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JPH05152971A (ja) データ圧縮・復元方法
JPH04145726A (ja) データ圧縮及び復元方式
JP3236747B2 (ja) データ伸長方式
JP3115066B2 (ja) 辞書検索方法
JPH09232967A (ja) データ圧縮装置及び復元装置
JPH06274311A (ja) データ圧縮装置及びデータ復元装置
JPH04123619A (ja) データ圧縮及び復元装置
JP2952067B2 (ja) データ圧縮方式
JP3555506B2 (ja) 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置
JP2999561B2 (ja) データ圧縮及び復元装置
JP3100206B2 (ja) データ圧縮方法
JP3103172B2 (ja) 辞書検索方法