JPH04286084A - データ圧縮および復元方式 - Google Patents

データ圧縮および復元方式

Info

Publication number
JPH04286084A
JPH04286084A JP5133991A JP5133991A JPH04286084A JP H04286084 A JPH04286084 A JP H04286084A JP 5133991 A JP5133991 A JP 5133991A JP 5133991 A JP5133991 A JP 5133991A JP H04286084 A JPH04286084 A JP H04286084A
Authority
JP
Japan
Prior art keywords
character
data
character string
dictionary
code
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
JP5133991A
Other languages
English (en)
Inventor
Yoshiyuki Okada
佳之 岡田
Shigeru Yoshida
茂 吉田
Yasuhiko Nakano
泰彦 中野
Hirotaka Chiba
広隆 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5133991A priority Critical patent/JPH04286084A/ja
Publication of JPH04286084A publication Critical patent/JPH04286084A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,コンピュータ,ファク
シミリ等におけるデータ圧縮および復元方式に関する。 コンピュータ,ファクシミリ等の普及にともない,文書
等を大量の白黒の画像情報として伝送したり,磁気記憶
媒体に記憶させることが必要となっている。もともと,
画像データは情報量が多く効率的にデータ圧縮し,デー
タ量を減らすことにより遠方に伝送したり,記憶媒体に
蓄積することが必要とされていたが,最近では,画像品
位の向上から画像データ量が増加しいるため,一層のデ
ータ圧縮の効率化が望まれる。  本発明は,白黒等の
二値画像データを二次元的なデータとして捉え,二次元
データに変換された画像データを,LZW符号等のユニ
バーサル符号により効率的に圧縮および復元するデータ
圧縮および復元方式を提供することを目的とする。
【0002】
【従来の技術】従来の二値画像データのLZW符号化を
説明する前に,図31〜図34によりLZW符号化につ
いて説明する。図31はLZW符号の説明図である。図
(a) は入力データと出力符号の例,(b) は辞書
構成の例を示す。
【0003】図は,情報源の文字がa,b,cの3通り
だけの場合である。辞書には,あらかじめ,初期値とし
て,文字aを登録番号1,文字bを登録番号2,文字c
を登録番号3で登録しておく。まづ,入力データ(入力
文字列)は左から右に順次読み込む。最初の文字aを入
力したとき,辞書にはaの他に一致する文字部分列がな
いので,出力符号1を符号語として出力する。そして,
次の文字bとにより拡張した文字部分列abに参照番号
abをつけて登録する。実際の登録は文字部分列1bと
して登録する(以後,特に必要な場合を除き,文字部分
列は単に文字列と称する)。続いて2番目のbを文字列
の先頭とする。辞書には,bの他に一致する文字列はな
いので,登録番号2を符号語として出力し,次の文字(
第3番目のa)とによる拡張した文字列baを登録番号
5で登録する(実際には,2aの形式で登録する)。
【0004】次に,3番目のaが次の文字列の先頭にな
る。以下同様にして,出現する文字列について,辞書を
参照し,登録された文字列のうちの最大一致文字列(最
長文字部分列)の登録番号により出現した文字列を符号
語により出力し,最大一致文字列と次の一文字とによる
拡張した文字列を辞書に登録する。
【0005】図32はLZW符号復号化の説明図である
。辞書には,予め文字aを1,文字bを2,文字cを3
として初期化しておく。図31における入力データを復
号する場合を示す。まず,入力文字は1であり,登録番
号1はaであるので,文字aを出力する。次の符号2も
同様に文字bに置き換えて出力する。このとき,前回復
号した文字aと今回復号した文字bとを組み合わせた1
b(=ab)を辞書に登録番号4で登録する。
【0006】3番目の符号4は辞書の検索により1bか
らabと置き換えて文字列abを出力する。同時に,前
回処理した符号2と今回復号した文字列の1番目の文字
aとの組合せ2a(=ba)を新たに登録番号5で登録
する。以下同様の処理を繰り返して,入力データを復号
する。
【0007】LZW符号の復号においては,入力符号を
復号し,復号された入力符号に基づいて辞書を復元する
ものであるが,例外的に入力符号が辞書に登録されてい
ない場合を生じる。この例外処理は,図における場合で
は第6番目の入力符号8の復元において生じる。符号8
は,復号時に辞書に登録されておらず,復号できない。 この場合には,前回処理した符号5に,前回復号した文
字列baの最初の一文字かbを加えた文字列5bを求め
,それを2ab,babと置き換えて出力する。そして
,文字列5b(=bab)に登録番号(参照番号)8を
付加して辞書に登録する。
【0008】図33は,LZW符号化フローである。フ
ローのステップ(S1,S2等)に従って説明する。 S1  予め,全文字につき一文字からなる文字列を初
期値として登録する(文字数M)。辞書の先頭アドレス
(登録番号)NをMとする。 S2  入力した最初の文字Kを辞書における登録番号
(参照番号)ωとして,これを語頭文字列(prefi
x string )とする。 S3  入力データの次の文字Kを読み込む。 S4  S2で求めた語頭文字列ωにS3で読み込んだ
文字Kを加えた(ωK)が現在の辞書にあるか検索する
【0009】S5  S4で文字列(ωK)が辞書にあ
れば,文字列(ωK)を参照番号ωに置き換え,S6に
進む。 S7  S4で文字列(ωK)が辞書になければ,S2
で求めた文字Kの参照番号ωを符号語code(ω)と
して出力し,また文字列(ωK)を新たな参照番号(登
録番号)を付加して辞書に登録する。さらに,S2の入
力文字Kを参照番号ωに置き換えるとともに,辞書アド
レス(登録番号)Nを1インクリメントして,S6に進
む。 S6  データが全て終了していなければ,S3に戻り
,文字列(ωK)が辞書から探せなくなるまで,最大一
致長の文字列を求める検索を続ける。 S8  code(ω)を出力する。
【0010】図34はLZW符号復号化のフローを示す
。図のフローにおいて,CODE,OLDcode,N
EWcode,charはそれぞれレジスタであって、
CODEは入力符号を格納するもの,OLDcodeは
直前文字列の符号を格納するもの,NEWcodeは今
回処理する符号を格納するもの,charは例外処理の
ため復号した文字を格納しておくものである。以下の説
明においては,それそれのレジスタに格納された値は上
記のレジスタの名称により表すものとする。
【0011】復号化では,符号化した場合と同様に,予
め文字a,b,c等の一文字を初期値として辞書に登録
しておく。ステップの順に従ってフローを説明する。 S1  全一文字をを初期値として辞書に登録する(文
字数M)辞書の先頭アドレスN(登録番号(参照番号)
)をMとする。 S2  最初の符号を読み取りCODEに格納する。現
在のCODEをOLDcodeにセットする。最初の符
号は既に辞書に登録された一文字のいずれかであるので
,入力符号に一致する文字code(K)を探し出し,
文字Kを出力する。なお,出力した文字(K)は後の例
外処理のため,charにセットしておく。 S3  次の符号を読み込んで,CODEとし,NEW
codeにセットする。 S4  S3で入力された符号(CODE)が辞書に登
録されているかチェックする。通常は,入力した符号語
が前回までの処理で登録されているのでS5に進む。
【0012】S5  符号(CODE)に対応する文字
列code(ωK)を辞書から読み出し,S6で文字列
Kを一時的にスタックし,参照番号code(ω)を新
たなCODEとして再度S5に戻し,S5,S6の手順
を再帰的に参照番号ωが一文字にいたるまで繰り返す。 S7  S5において,参照番号がなくなると,S6で
スタックした文字をLILO(Last  in  F
ast  Out)形式でポップアップして出力する。 同時に,前回使った符号ωと今回復元した文字列の最初
の一文字Kを組(ω,K)と表した文字列に,新たな参
照番号を付加して辞書に登録する。なお,S4において
,登録されていない符号を参照する場合(前述の例外処
理)には,S9で,OLDcodeをCODEに,co
de(OLDcode,char)をNEWcodeに
戻した後にS5へ進むようにする。 S8  全ての符号を処理したか判定する。
【0013】図35〜図38により,二値画像データの
LZW符号化の例を具体的に示す。図35は画像の例を
示す。図において,A,Bはそれぞれ黒画素のパターン
である。H1−RL1,H2−RL2はそれぞれ第1ラ
インにおける画像Aの白黒の境界,V1−ZL21,V
2−ZL22はそれぞれ第2ラインにおける画像Aの白
黒の境界,V1−ZL31,V2−ZL32はそれぞれ
第3ラインにおける画像Aの白黒の境界,V1−ZL4
1,V2−ZL42はそれぞれ第4ラインにおける画像
Aの白黒の境界を示す。
【0014】H3−RL3,H3−RL4はそれぞれ第
3ラインにおける画像Bの白黒の境界,V3−ZL43
,V4−ZL44はそれぞれ第4ラインにおける画像B
の白黒の境界,V3−ZL53,V4−ZL54はそれ
ぞれ第5ラインにおける画像Bの白黒の境界,V3−Z
L63,V4−ZL64はそれぞれ第6ラインにおける
画像Bの白黒の境界を示す。数字はそれぞれの区間の画
素数を示す(例えば,第1ラインにおける左端2から境
界H1−RL1までの間には白画素が128あることを
示す)。図における括弧付の番号は境界線で区切られる
区間を示すものである(括弧付の番号は後述の実施例の
説明において参照される)。
【0015】図36,図37は2次元ランレングスデー
タの例であって,図35の画像の2次元ランレングスデ
ータである(図37は図36の続き)。図において,入
力シンボルは図27の画像A,画像Bの2次元ランレン
グスデータである。10進符号表現は入力シンボルを1
0進数で符号化したものである。出力符号は入力シンボ
ルの10進表現を符号として出力するものである。辞書
への登録は出力符号を辞書に登録する登録番号を示す(
以下図36,図37の説明においては必要に応じて図3
5を参照する)。
【0016】第1ラインにおける第1の入力シンボルH
は水平方向のランレングスの始点を示すものある(MM
R方式の規格では,始点は水平モードH+ランレングス
RLで表す)。第2番目と第3番目のそれぞれ8ビット
のデータにより2バイトで白が128画素連続している
ことを示す。第2番目の1バイトデータは第3番目のデ
ータが127+1であることを示す。第3番目のデータ
は第2番目のデータに従って128(127+1=12
8)であることを示す。従って,第2番目と第3番目の
データとにより白のランレングスが128(RLW12
8)であることを読み取ることができる。
【0017】第1ラインの第4番目のデータのHはラン
レングスの始点を表す。次の第5番目のデータと第6番
目のデータは,2バイトデータであり,黒のランレング
スが200であることを示す。第2ライン以降は,第1
ラインからの垂直方向のズレにより画像を表すようにす
る。
【0018】第2ラインのデータにおける第1番目のデ
ータZL0は第1ラインの白黒の境界H1−RL1と第
2ラインの白黒の境界V1−ZL21との間に垂直方向
のズレがないことを表す(以後,白黒の境界はH1−R
L1等符号のみで表す)。第2ラインの第2番目,第3
番目のデータとによりH2−RL2とV2−ZL22の
間のずれが65画素あることを表す(MMR方式の規格
により,垂直方向のずれはずれの大きさが0〜62のと
きと63以上の場合を区別して表現し,63以上ある場
合は63からの差により表す。図の第2ラインの第2番
目のデータは垂直方向のズレが63以上あることを表し
,続く第3番目のデータ2は第2番目のデータに従って
垂直方向のズレが63に2加えた65あることを示す)
【0019】第3ラインの第3番目のHおよび続く第4
番目のRLW64とによりV2−ZL32とH3−RL
3との間に白のランレングスが64あることを示す。第
3ラインの第5番目のHと続く第6番目のRLB8は画
像BのH3−RL3とH4−RL4との間に黒画素が8
続くことを示す。第5ラインの第1番目および第2番目
のPは,それぞれV1−ZL41,V2−ZL42に対
して垂直方向に画像は存在しないことを表す。
【0020】以下のように,水平方向,垂直方向の二次
元データにより画像A,画像Bのランレングスデータを
得る。そこで,入力シンボルの10進表現を出力符号と
し,文字列を辞書に登録する。1バイトのデータよりな
る文字グループ(例えば,入力シンボル「100000
00」の出力符号128等)を1文字とする。先ず,第
1の文字128を出力符号128で出力し,第1の文字
(入力シンボル)128と続く第2の文字(入力シンボ
ル)128よりなる文字列「128+128」を登録番
号256で登録する。次に第2の文字128を出力符号
128で出力し,128と次の文字1よりなる文字列「
128+1」を登録番号257で登録する。次いで,第
3番目の文字1を出力し,第3番目の文字1と次の第4
番目の文字128よりなる文字列「1+128」を登録
番号258で登録する。次に第4番目の文字128と第
5番目の文字128は参照番号(登録番号)256を出
力符号として出力し,登録番号256の文字列と続く文
字72よりなる文字列「128+128+72」を辞書
に登録番号259で登録する(但し,辞書には256+
72」の形式で登録される)。
【0021】以下,同様に,入力文字を,辞書で参照し
,登録されている文字列のうちの最大一致文字列の登録
番号により出力符号とし,続く文字列よりなる文字列に
登録番号を付して登録する。図30は,図27の画像の
ランレングスデータの配列の例を示す。ライン番号毎に
水平方向および垂直方向のデータを配列する。
【0022】
【発明が解決しようとする課題】上記のようなLZW符
号化においては,辞書に登録する文字列は未登録の文字
列が出現する毎に無条件で登録していた。しかし,実際
の画像データは先行する文字列と後続の文字列との間に
相関のある記憶情報源とみなされ,上記のような無条件
に文字列を登録することは,無駄を伴うものであった。 例えば,図28における登録番号260,268のよう
に画像の水平方向のデータに続く垂直方向のデータのよ
うに,登録しても利用されることのないような相関の小
さいデータも無条件に登録されていた。本発明は,画像
データを二次元的に変換したデータによる文字列につい
て,文字列間の相関を考慮し,無駄な登録を省くことに
より,効率的にデータ圧縮するようにすることを目的と
する。
【0023】
【課題を解決するための手段】本発明においては,画像
データにおける白から黒へ変化する点もしくは黒から白
へのデータの変化する点をデータの区切りとして認識し
,データの区切りにおいて,データの連続性を判定し,
辞書に登録された場合にそれ以降の処理おいて利用され
ることのないようなデータは辞書に登録しないようにし
た。
【0024】図1に本発明の基本構成を示すが,図1を
説明する前に,本発明の原理を図2により説明する。図
2は本発明の原理説明図である。図(a) は画像デー
タの切れ目と本発明における文字列の登録条件を示す。 図(b) は画像データの切れ目と登録処理の内容を示
す。
【0025】図(a) において,C1,C2は,デー
タの切れ目(文字列の切れ目)を示し,C1とC2の間
の画像データにより表される文字列が,登録するかしな
いかの判定の対象となる文字列である。条件■は,現文
字列と直前文字列との間で連続性があり,現文字列と後
続文字列の間にも連続性がある場合である。条件■は,
直前文字列と現文字列の間に連続性があるが,現文字列
と後続文字列との間に,連続性がない場合である。条件
■は,現文字列と直前文字列との間に連続性はないが,
現文字列と後続文字列との間には連続性がある場合であ
る。条件■は,現文字列と直前文字列との間に連続性は
なく,現文字列と後続文字列との間にも連続性がない場
合である。本発明は,以上のような条件を画像の性質に
基づく文字列間の条件をLZW符号等のユニバーサル符
号化において考慮し,登録しても利用されないような文
字列は登録しないようにした。
【0026】例えば,条件■は,同じデータ郡の中であ
ると考えられるので,この場合には同系列内のデータと
見なし,登録するようにする。条件■は,現在の文字列
と現在以降の文字列とのつながりが薄いと考えられるの
で,登録しないようにする。条件■は,現在の文字列と
後続文字列との関係が深いものと考えられるので,登録
することとする。条件■は,網点画像のような場合には
,白のパターンレングスと黒のパターンレングスには相
関があるので,網点画像等の場合を考慮して,登録する
ものとする。
【0027】図(b) は,以上の場合について,処理
内容を表にまとめたものである。C1,C2において,
0は連続性,1は連続性なしを表す。条件■は,C1=
0,C2=0は,C2が,例えば黒から黒への連続(同
種の連続性)により登録することを表す。条件■は,C
1=0,C2=1で,例えば,C1が黒から黒の連続で
あり,C2が黒から白への断続(同種の断続)により登
録しないこととする。条件■は,C1=1,C2=0で
,C2おいて,例えば,黒から黒連続(同種の連続より
登録することとする。条件■は,C1=1,C2=1で
,C2=1であっても,C1=1であるので,C2にお
いて,例えば,黒から白の変化はあっても,連続性があ
る(異種の連続)として登録するようにする。
【0028】本発明の基本構成を図1に示す。図におい
て,1は画像データ入力部,2は二次元データ変換部で
あって,画像データをランレングス,輪郭線データ等の
二次元データに変換するもの,3は符号作成部であって
,二次元データをユニバーサル符号化するもの,4は符
号出力部,5は二次元データ変換部より一文字づつ文字
列を入力する文字列入力部,6は入力される文字列につ
いて辞書参照し,最大一致文字列(最長文字部分列)を
検索する検索部,7は文字列を登録する辞書,8は文字
部分列を辞書に登録する処理を行う登録部,9は符号語
作成部であって,検索された文字列の参照番号に基づい
て符号語を作成するもの,10は登録部8における登録
条件判定部,11は文字部分列を辞書に登録する登録処
理部,11’は文字部分列を登録しない処理,12は登
録部条件判定部における直前文字部分列と現文字部分列
の連続性を判定するもの,13と登録部条件判定部にお
ける現前文字部分列と後続文字部分列の連続性を判定す
る判定部である。図において,C1は現文字文字列と直
前続文字列との連続性を表し,C2は現文字列と後続文
字列との連続性を表す。いずれも,0は連続,1は断続
を表す。
【0029】
【作用】図1の構成の動作を説明する。例えば,二値の
画像データが画像データ入力部1に入力される。入力さ
れた画像データは二次元画像データ変換部2に入力され
る。そして,例えば,MMR法等により,ランレングス
データとライン間の垂直方向の関係を表す二次元データ
もしくは,輪郭線データ等の二次元データに変換される
。二次元データ変換部2で得られたデータは文字列とし
て符号作成部3に入力され,ユニバーサル符号化される
。符号作成部3で作成されたユニバーサル符号は,符号
出力部4に入力され,出力される。
【0030】符号作成部3においては,文字列入力部3
が二次元データ変換部2から出力される二次元データを
文字列毎にに順次入力する。そして,検索部6は入力さ
れた文字列について同じ文字列が辞書6に登録されてい
るか検索する。そこで,検索部6は辞書7において参照
された最大一致文字列を検索すると,その参照番号(登
録番号)を符号語作成部9に送る。符号語作成部9は,
参照番号(登録番号)に基づいて符号語を作成する。符
号語作成部9において作成された符号語は符号出力部4
により出力される。
【0031】一方,登録部8においては,  登録条件
判定部10は文字部分列(最大一致文字列+次の一文字
)について,直前文字列との連続性および後続文字列(
最大一致文字列の次の一文字)との連続性を判定する。 即ち,判定部12においてC1=1であれば,登録部8
は,文字列を辞書に登録する。C1=でない場合には,
判定部13においてC2=0であるかどうか判定される
。その結果C2=0であれは,登録部8は文字列を辞書
6に登録する。C2=0でなければ,登録部8は文字列
を登録しない。そして,最大一致文字列についての以上
の処理が済むと,文字列入力部5は次の文字列を入力し
,以上の処理を繰り返す。そして,二次元変換データの
入力がなくなるまで繰り返す。
【0032】図3は,本発明における復号化フローの原
理を示す。ステップに従ってフローを説明する。 S1  入力されたデーター(符号)の切れ目を認識す
る。 S2  データの連続性(後続データとの連続性)につ
いて判断する。 S3  データに連続性がなければ,C2を1とする。 S4  データに連続性があれば,C2を0とする。 S5  C1が1であるかどうかにより,直前文字列と
の連続性を判定する。C1=1で直前データ(文字列)
に連続性がなければ,S7に進む。C1=0で直前デー
タとの連続性があればS6に進む。 S6  データの連続性がなくC2=0であれば,S7
に進む。C2=1でデータの連続性があればS8に進む
。 S7  データを登録する。 S8  データを登録しない。
【0033】上記のように,本発明によれば,データの
切れ目(文字列)を認識しながら,辞書に登録しても利
用されることのすくない文字列は登録されず,意味のあ
るデータ系列(文字列)だけが登録されるので,インデ
ックスの増加を防ぐことができ,効果的なデータ圧縮を
行うことができる。なお,上記文字列の登録条件として
,C1=0,C2=1の場合について登録しないようす
る場合について説明したが,画像の性質等により,この
条件は変更され得るものである。
【0034】
【実施例】本発明の画像データの文字列の登録方法とは
別の意味で,従来のLZW符号においては,新たに出現
する文字列について,登録済の文字列との相関を考慮せ
ず無条件に,出現する順番に登録番号を付して登録して
いたので,登録文字列の構成に無駄が多かった。本発明
の実施例を説明する前に,画像データについて文字列の
符号化でない場合も含めた従来のLZW符号を改良する
ことについて図4〜11により説明する。
【0035】図4は従来のLZW符号化の登録方法の説
明図である。図(a) は辞書の探索木を示し,図(b
) は符号とデータ(文字列)との関係を示す。131
は先頭文字列(例えば1文字)であり,登録番号0〜2
55まである場合を示す。従来は,新たな文字列が出現
する毎に新しい登録番号257,258,・・・を付し
,現在符号化中のの文字列は以前の文字列とは独立に出
現するものとして符号化するようにしていた。即ち,図
(b) に示すように,インデックスI2 の文字列の
先頭文字と先行する文字列インデックスI1 との相関
は考えられていなかった。このことは,図(a) のよ
うに,辞書の探索木の根は空であり,現在符号化中の文
字列に対して以前に出現した文字列の履歴は考慮されて
いなかったこと意味する。
【0036】このことは,無記憶情報現においては差し
支えないのであるが,実際の文章等は,出現した文字列
と後続の文字列との間には出現性についての相関のある
記憶情報源とみなされ,無条件に出現する文字列を登録
する場合には,登録された文字列について,頻繁に参照
されるものと余り参照されないようなものを生じる。従
って,無条件に文字列が出現する順番に登録番号を付し
て登録することは,余り参照されることのない文字列で
ありながら小さい登録番号を持つなどの辞書の構成に無
駄を生じるものであった。そこで,LZW符号において
,文字列の出現の相関を考慮することにより一層のデー
タの圧縮率の向上を計ることが可能になる(この点つい
ては,本出願人により特願平2−70379号として出
願されている)。
【0037】図5により,文字列の相関を考慮して改良
されたLZW符号化について説明する。図(a) は改
良されたLZW符号の探索木,図(b) は符号とデー
タ(文字列)との関係,図(c) はインデックス(登
録番号)のモード1,図(d) はインデックス(登録
番号)のモード2を示す。図(a) において,140
は直前文字列の最終文字を示し,(0)〜(255)ま
で256個ある場合である。それぞれは,インデックス
(登録番号)として0(0),0(1),・・・・,0
(255)を持つ。141は先頭の文字であり,図示の
ようにそれぞれのインデックスを持つ。
【0038】図(b) は符号とデータの関係を示し,
例えば,二番目の文字列(インデックスI1 (P0)
)を登録するときは,直前文字列の最終文字がP0であ
るので,直前文字列の最終文字がP0を根とする木のイ
ンデックスで登録する。図(c) は,モード1であっ
て,各木の根に直接繋がる文字じ新たに出現したときは
各木のインデックスの個数+1のビット数をインデック
スとし,生データを付して符号として出力する(例えば
,図(a) において,直前の最終文字0(1)の木の
インデックス1,2,3等の文字列)。
【0039】図(d) は,モード2であって,モード
1以外の文字又は文字列が出現したときのインデックス
の表し方を示す。モード1では各木のインイデックスの
個数+1のビット数で各木の中のその文字列のインデッ
クスとする。図6に,改良されたLZW符号の具体例を
示す。図は情報源が0,a,b,cの4文字よりなる場
合を示す。DPは個別辞書の木における登録された文字
列の深さを表す。例えば,文字列「ababcba・・
・」を符号化する場合を考える。図示のように,第1文
字aの直前には直前文字列0があったとして,直前文字
0に続く文字列0aは,直前の文字列の最終文字の木の
根0に繋がる木の深さDP0にインデックス1で登録す
る。そしてモード1に従って符号1aを出力する。次に
文字列aに続いて第2番目の文字列bが出現したら,文
字列abを直前最終文字列の最終文字の木の根aの深さ
DP0にインデックス1で登録する。そしてモード1に
より符号1bを出力する。次に第3番目の文字列aが出
現したら文字列の最終文字の木の根bの深さDP0に文
字列baをインデックス1で登録する。そして,符号1
aを出力する。次に第4番目の文字列bが出現したら,
文字列abは登録済であるので,次の第5番目の文字列
cまで文字列を延ばす。そして,現文字列abをインデ
ックス1で出力し,文字列abcを直前文字列の最終文
字の木の根a(直前文字aに対する新たな文字列bc)
に深さDP1,インデックス2で登録する。次に文字列
cを先頭文字とする。次の第6番目の文字列bとによる
文字列を直全の文字列の最終文字の木の根cの木の深さ
DP0ちインデックス1で登録する。そして,符号1c
を出力する。以下同様に,符号化と登録を進める。
【0040】図7〜8に,改良されたLZW符号化のフ
ローを示す。図9〜11に改良されたLZW符号の復号
化のフローを示す。図9〜11の符号化のフローにおい
は,辞書を従来のLZW符号化における場合と同様に文
字列する順に登録する全体辞書D(n)と直前の文字列
の最終文字列毎に分割した辞書を用意し,登録する文字
の直前の文字列の最終文字の辞書に,その辞書のインデ
ックスで登録するようにする。そして,分割辞書におけ
る出現毎に,S5において登録文字列が参照される毎に
深さDPを1づつ深くしてゆき,直前文字列との深さの
関係において分割辞書のインデックスを設定し,符号化
するようにした点で図33のフローと異なるのみである
。また,図9〜11の復号化のフローは,直前文字列の
最終文字列毎に個別辞書を分割し,出現文字列の個別辞
書における深さを考慮して符号と辞書を復元するように
した点で,図34の復号化のフローと異なるのみである
(なお,上記のフローについては,前掲の特願平2−7
0379号において詳述されている)。また,本発明の
画像データの文字列の符号化に適応した場合により後述
するので,フローの説明は省略する。
【0041】本発明は,二次元変換された画像データを
ユニバーサル符号化し,文字列の連続性の条件を判定し
,文字列の間の相関の薄い文字列については登録しない
ようにしたものであるが,ユニバーサル符号化において
は,従来のLZW符号,改良されたLZW符号いづれを
も利用し得るものである。先ず,本発明を改良されたL
ZW符号に適用する場合の実施例について説明する。
【0042】図12〜図30により本発明の実施例を説
明する。必要に応じて図35を参照する。図12は本発
明の実施例(1)を示す。図35の画像A,画像Bをラ
ンレングス符号により表し,文字列を改良LZW符号符
号により辞書に登録したものである。図において,入力
シンボルは図35の図A,図Bのランレングスデータで
あり,10進表現は入力シンボルを10進数で表したも
のである。出力符号は10進表現を改良LZW符号符号
により,符号化したものであり,「辞書への登録」は辞
書の登録番号を表すものである。図のランレングスデー
タ(入力シンボル)は,図35の画像データを縦方向の
ランレングスデータとしたもので,図の括弧付の番号は
,図35における括弧付の番号に対応するものである。
【0043】図における「パターン」により,縦方向の
白黒の並びのパターンを表し,続くデータにより同じパ
ターンの横方向の並びの数を表す。例えば,図35の(
1)の区間では,縦方向に白画素が8個ならんでいるも
のが,横方向に127画素ある。そこで,図12におけ
る入力シンボルの第1番目の「00000000」によ
り縦方向に白画素が8個並んでいることを表す。そして
,続く第2番目のデータは,その縦方向の並びが横方向
に127画素続くことを表す。
【0044】同様に,区間(2)では,縦方向に「白白
黒黒白白白白」と並び,その縦方向の並びが横方向に1
画素あるので,入力シンボルの第3番目のパターン「0
0110000」により縦方向の並びを表し,続く第4
番目の入力シンボルによりそれが横方向に1画素並ぶこ
とを表す。以下同様に図35の区間(3)〜(11)に
ついて,図示のように入力シンボルを作成する。
【0045】次に,図のランレグスデータを符号として
出力し,文字列を辞書に登録する方法について説明する
。図においては,登録番号0〜257までは初期値とし
て辞書に登録されていて新しい登録番号は256から始
まるものとする。そして,0〜256までの登録文字を
辞書の探索木の直前文字列の根とする。即ち,0〜25
6までの辞書が存在し,直前文字列の最終文字を根とす
る探索木の辞書に新たに出現した文字列にインデックス
を付して登録する。
【0046】先ず,第1番目のデータ0を入力し,符号
0(0)を出力する。そして,第1番目のデータ0と第
2番目のデータ127よりなる文字列「0+127」を
直前文字列0を根とする探索木(以後,直前文字列nを
根とする探索木を辞書nと称する)にインデックス25
6で登録する(256(0))。そして,符号127(
0)を先頭文字列とし,符号127(0)を出力する。 第2番目のデータ32を入力する。第2番目のデータに
ついてみると,第1番目のデータと第2番目のデータの
間は,同種の連続であり,第2番目のデータ127と第
3番目のデータ32との間は白パターンから黒を含むパ
ターンに変化する断続点である(パターンを表すデータ
により判定できる)。そして,登録条件を満たしていな
いので,文字列「127+32」は登録しない。次に,
文字列32を先頭文字列とし,32(0)を出力符号と
して出力する。そして,「32+1」を辞書0に登録番
号257で登録する。次に第4番目の文字列1を先頭文
字列とし,(32)を符号として出力する。そして,「
1+240」を辞書32に登録番号256で登録する(
第4番目の文字列1の直前文字列は32であることによ
る)。以下同様に,直前文字列および後続文字列との連
続性により,登録条件を満たしている場合には,直前文
字列の値の辞書に,順次インデックスを付して登録する
。そして,登録条件を満たさない場合には登録しないよ
うにする。
【0047】例えば,図において,区間(5)と区間(
6)の間,区間(6)と区間(7)の間はデータが断続
し,登録条件を満たさないのでその間に跨がる文字列の
登録は行わない。図13,図14は本発明の実施例(2
)である(図14は図13の続き)。各図は,図35の
画像A,画像Bの輪郭線データである。ライン番号,輪
郭線番号,輪郭線の開始座標,輪郭線の垂直方向データ
により輪郭線データとする。但し,偶数番目のラインデ
ータは省略される。また輪郭線番号0は画像の左エッジ
を表す。
【0048】第1番目のデータは第1ラインを表す。第
2番目のデータは輪郭線0,第3番目,第4番目,第5
番目のデータにより輪郭線1の開始座標を表す。即ち,
第3番目のHは水平方向のランレングスを表す。第4番
目と第5番目の2バイトにより白が128続くことを表
す(輪郭線1は第1ラインの左端から128番目の画素
の点から開始される)。
【0049】第6番目〜第8番目は輪郭線1の垂直方向
のズレを表す。だい6番目のデータは,第2ラインの輪
郭線1(V1−ZL21)と第1ラインの輪郭線1(H
1−RL1)との間にはズレがないことを表す。第7番
目のデータは第3ラインの輪郭線(V1−ZL31)は
第2ラインの輪郭線1(V1−ZL21)より左に1画
素ずれていることを表す。第8番目のデータは第4ライ
ン輪郭線1(V1−ZL41)と第3ラインの輪郭線1
(V1−ZL31)との間にズレがないことを表す。第
9番目データPは第5ライン以降垂直方向に輪郭線が存
在しないことを表す。第9番目〜第16番目は輪郭線2
(H2−RL2,V2−ZL22,V2−ZL32,V
2−ZL42)のデータを表す。
【0050】同様に,図14は輪郭線3(H3−RL3
,V3−ZL43,V3−ZL53,V3−ZL63)
,および輪郭線4(H4−RL4,V3−ZL44,V
3−ZL54,V3−ZL64)を表す。輪郭線データ
の場合にも,入力シンボルを図15におけるランレング
スデータの場合と同じアルゴリズムにより符号化および
辞書への登録を行う。
【0051】図13の例においては,第1番目のデータ
1は辞書の初期値の登録番号により符号1を出力する。 第2番目のデータ0も同様符号0を出力する。そこで,
第212の第3番目の間はデータの連続性がなく,登録
条件を満たさないので,文字列「0+128」は登録し
ない。第3番目のデータ128は符号128(0)を出
力し,文字列「128+128」を辞書0に登録する。
【0052】以後第4番目以降のデータも同様に符号化
を進めるが,第9番目のデータと第10番目のデータの
間,さらに図14における第2番目のデータと第3番目
のデータの間,第8番目のデータと第9番目のデータの
間はデータが断続しているので,それぞれの間に跨がる
文字列の登録は行わない。
【0053】図15,図16は本発明の実施例(3)を
示す。図14,図15は図13,図14の輪郭線データ
例(1)のデータの配列を変更したものである。水平方
向のランレングスの開始座標を示すためのデータHおよ
び垂直方向に輪郭線が存在しないことを示すデータPは
0が多数並び似たような二値データのパターンをもつの
で,それらをランレングスを表す数値,垂直方向のズレ
を表す数値のデータの前にまとめるようにした。そして
,データHとでPの間に,ランレングスを表す数値,垂
直方向のズレを表す数値のデータの数だけのデータV(
「00000000」を配列するようにした。そのよう
にすることにより似たパターの文字列が連続して現れる
ようになり,辞書への登録文字列数を減らすることがで
きる。
【0054】図15における第2番目のデータと第3番
目のデータの間,第7番目のデータと第8番目のデータ
の間,第12番目のデータと第13番目のデータの間,
第17番目のデータと第18番目のデータの間,および
図16の第2番目のデータと第3番目のデータの間,第
7番目のデータと第8番目のデータの間,第11番目の
データと第12番目のデータの間,第16番目のデータ
と第17番目のデータの間はデータが断続し,登録条件
を満たしていないので,その間に跨がる文字列の登録は
行わない。
【0055】図17〜図19により,本発明の符号化の
アルゴリズム(1)を示す。図は二次元変換された画像
データをLZW符号により符号化する場合のフローの実
施例である。図のフローは前述の図7〜図8にデータの
切れ目の判定処理(図18のS4,図19のS12,S
13)を加えたものである。
【0056】図のフローにおいて,全体辞書は,従来の
LZW符号におけると同様に,文字列を出現する順に全
て登録する辞書である。個別辞書は,登録しようとする
文字列の直前の文字列毎の辞書であり,登録する文字列
は,直前の文字列に対応する個別辞書に,その辞書のイ
ンデックスにより登録する。
【0057】S1  初期設定として,出現する文字の
総数Mに対して,従来のLZW符号化と同様に全体辞書
の木の節点(インデックス)をNで管理し,全体辞書の
先頭アドレスNをMに設定する。また,分割辞書の個数
をAとして,直前の文字列の最終文字で選択するA個の
分割辞書の各木iについて節点(インデックス)の個数
をindc(i)で管理する。まず,初期化としてA個
のindc(i)を0にクリアする。最初,直前文字列
はないので,直前文字列の最終文字列の最終文字を示す
PKは0にセットするとともに最初のインデックス(語
頭文字列)ωを0にセットしておく。最初の木の深さD
Pも同じく0にセットし,前回のデータの切れ目情報C
1を切れ目として1にセットする。 S2  次の文字Kを入力する。 S3  データの切れ目を認識し,S4で直前文字列の
最終文字PKと次の文字Kの間がデータの切れ目かどう
か判断する。切れ目ならばS5にて現在の切れ目を示す
C2を1に,切れ目でないならばS6にて現在の切れ目
を示すC2をセットしてS7に進む。
【0058】S7  従来のLZW符号化と同様に,全
体辞書にωKが登録されているかどうか検索する。ωK
の文字列が登録されているならばS8にて全体辞書の登
録されているアドレスωKを新たなωとして置き換え,
文字列の深さDPを1つ増やし,入力文字列Kを最終文
字列の最終文字PK1とし,S18のデータの終了確認
を経由した後,S2に戻り,次の文字を入力して,辞書
に登録してあるかどうかの検索操作を繰り返し,入力デ
ータに一致する辞書の登録済の最長文字を検索する。
【0059】S7にてωKの文字列が登録されてなけれ
ば,辞書内に存在する最長文字列が見つかったものとし
て,S9以降の符号化および辞書登録を行う。本実施例
においては,符号語は二つのモードに分けて出力する。 即ち,S9にて,探索木の深さDPが0ならば,探索木
の各根に付く葉を登録するものとして,S10で生デー
タを符号化する(モード1:求めた木の〔最大インデッ
クス+1〕に続けて入力した文字Kを生データとして出
力する)。また,深さDPが0でないならば,前記以外
の葉としてS11にて文字列ωをそのイッデックスで符
号化する(モード2:全体辞書のインデックスωを分割
辞書のインデックスiに変換した後,出力する)。
【0060】S12およびS13  前回の切れ目情報
C1と今回の切れ目情報C2から,条件に従って文字列
の登録,登録しないを判定する。この場合,C1=1,
またはC1=0でかつC2=0ならばS14にて登録す
る。C1=0かつC2=1ならば登録を行わずS15へ
進む。 S14  符号化済インデックスωと次の文字Kの組を
全体辞書Dの新しいアドレスNに登録すると共に,分割
辞書IのアドレスNに直前の文字列の各最終文字PKか
ら始まる辞書のK毎の新たなインデックスindc(P
K)を登録した後,Nとindc(PK)をインクリメ
ントする。この分割辞書を作成しておくことで,LZW
符号と同様の手順で全体辞書のインデックスωを見つけ
た後,分割辞書のI(ω)を参照することで,インデッ
クスωを直前の文字列の最終文字から始まるイッデック
スiに変換することができる。
【0061】S15  S9と同じく,探索木の深さD
Pが0ならば,探索木の各根に直接付く葉として,S1
6に進み,直前文字列の最終文字PKを入力文字Kに置
換し,全体辞書のインデックスωを同じく入力文字Kに
置換すると。さらに,探索木の深さDPを0にしてS1
8に進む。S15にて探索木の深さDPが0でないなら
ば,前記以外の葉としてS17に進み,直前文字列の最
終文字PKを登録文字列の最終文字K1に置換し,全体
辞書のインデックスωを同じK1に置換する。さらに,
探索木の深さDPを0にしてS3に戻る。
【0062】図20〜図24は,本発明の復号化のアル
ゴリズム(1)を示す。図のフローは図17〜図19に
おける符号化の場合と同様に,各分割辞書に対して最初
に出現する文字を初期登録しない場合のフローである。 復号化は,符号化の逆の操作をするものであるが,従来
のLZW符号の復号化と同様に,辞書への新たな文字列
の登録が符号化のときより1テンポ遅れるものである。 即ち,符号化では,注目文字列の符号化を終了した時点
で一文字延ばした文字列を〔注目文字列,次の文字列〕
の組を辞書に登録できる。これに対して,復号化では,
注目文字列を一文字延ばすときは,次の文字列の先頭文
字と合わせて辞書に登録するため,次の文字列の復元が
終了した時点で登録を行う。
【0063】ステップに従って,フローを説明する。 S1  まず,符号化のとき(図17)と同じように初
期設定を行う。さらに,復号化では,直前々の文字列の
最終文字PK1を0,直前の符号OLDcodeを0と
する。 S2  次の符号を読み,それをNEWcodeとする
。 S3  現符号CODEが定義されているかチァックす
る。本発明では,前述のように符号語を二つのモードに
分けている。 モード2においては符号がCODEに定義されているの
で,S4以降の次の文字を復元した時点で辞書に登録す
る動作に移行する。またモード1では,符号はCODE
に定義されていないので,S12以降の注目文字列の復
元が終了した時点で辞書に登録する動作に移行する。
【0064】S4  モード2の符号として分割辞書の
インデックスCODEを入力しているので,本発明では
,分割辞書のインデックスCODEと直前文字列の最終
文字PKの組合せから,全体辞書のインデックスを逆引
きする辞書Qを持ち,分割辞書のイッデックスから全体
辞書のインデックスを求め,それをNEWcodeとし
て,また,全体辞書のインデックスCODEに置き換え
る。 S5  全体の辞書のインデックスCODEに対応する
文字列code(ωK)を辞書から読み出し,S6で文
字Kを一時的にスタックし,参照番号code(ω)を
新たなCODEとして再度,S5に戻し,このS5,S
6の手順を再帰的に参照番号ωが一文字にいたるまで繰
り返し,最後にS7に進んでS6でスタックした文字を
LILO(Last In Fast Out)形式で
ポップアップして出力する。
【0065】S8  直前の文字列が辞書に未登録かど
うか判断し,未登録ならx9に進み,登録されているな
らばS11に進む。 S9  データの切れ目情報から,登録する,登録しな
いの判定を行う。登録するならばS10で登録処理を行
い,登録しないならS11に進む。この際の登録する,
登録しないの判断は,符号化の場合と同じ条件に従って
行う。 S10  直前の符号OLDcodeと直前文字の最終
文字PKとの組合せをアドレスNの全体辞書Dに登録し
,逆引き辞書Qの直前々の最終文字PK1,分割辞書の
インデックスindc(PK1)の組合せアドレスにN
を代入するとともに,分割辞書のindc(PK1)の
値をNに置き換え,Nをインクリメントする。
【0066】S11では,PKをPK1に,復元文字列
の最終文字をPKに,復元文字列の第1文字をchar
に,NEWcodeをOLDcodeに,C2をC1に
代入し,S3に戻る。 S12では,モード1の符号を解読するため,まず,入
力CODEがモード1の第1番目の符号(分割辞書の最
大インデックスindc(PK)+1かどうかチェック
する。第1番目のモード符号ならば,S13にて,直前
の文字列の第1文字charを出力し,OLDcode
をCODEに,OLDcodeとcharの組の登録さ
れているインデックスをNEWcodeに代入した後,
S5に進む。S12にて入力CODEが第2番目の符号
と判断された場合,S14にて符号CODEを生データ
Kとして出力し,S15に進む。
【0067】S15からS17は,S8からS10の動
作と全く同じで,直前の文字列の登録処理を行う,行わ
ないの判断をし,登録する場合には登録を行い,登録し
ない場合には,S18で切れ目情報C2をC1に代入し
,S19に進む。 S19では,S8,S15と同じデータの切れ目による
登録の判断を行い,登録すると判断した場合はS20に
進み,注目文字列の登録を行う。また,S19にて,登
録しないと判断した場合にはS21で切れ目情報C2を
C1に代入した後S22に進む。
【0068】図25〜図26は,本発明の符号化のアル
ゴリズム(2)を示す。図のフローは,各分割辞書に対
して,出現する文字(一文字)を全て初期値として登録
しておく場合のものである。まず,S1において,初期
設定として,出現する文字の総数M,分割辞書の個数A
に対して,A個の分割辞書Di にM個の文字を初期登
録する。次に, 直前の文字列の最終文字で選択するA
個の分割辞書の各木iについて節点( インデックス)
 の個数indc(i)で管理する。まず,初期化とし
てA個のindc(i)をM+1にセットする。まず,
最初のKを入力し,それを,インデックス(語頭文字列
)ωとすると共に,直前文字列の最終文字K1にも代入
する。直前文字列の最終文字からの履歴PKを定義し,
それを0にセットする。そして,直前文字列の最終文字
K1から使用すべき辞書番号に対応づけるテーブルLU
Tを設置する。また,前回の切れ目情報C1をセットす
る。
【0069】S2  次の文字Kを入力する。 S3  データの切れ目を認識する。 S4〜S6  (図18におけるS4〜S6と同じであ
る)。 S7  ωKが分割辞書Dpkに存在するかどうかをチ
ェックする。存在する場合にはS8に進み, ωKを新
たなωに置き換える。S13を経てS2に戻り,一致す
る最長文字列を検索する。
【0070】S7において,ωKが分割辞書Dpkに存
在せず,最長文字列の検索を終了した場合,S9とS1
0のデータの切れ情報の判断に従って,登録する場合は
S11に進み,登録しない場合はS12に進む。判断条
件は,前述した通りである。 S11では,分割辞書のcode(ω)を出力するとと
もに,アドレスindc(PK)の分割辞書Dpkにω
き登録した後,Kをωに代入し,indc(PK)をイ
ンクリメントする。そして,履歴PKをLUT(K1)
としてS13に進む。また,S12では,分割辞書のc
ode(ω)を出力し,登録を行わずにKをωに代入し
,履歴PKをLUT(K1)としてS13に進む。
【0071】次に,図28〜図30により,本発明の復
号化のアルゴリズム(2)を示す。復号化においても,
符号化の場合と同様に各分割辞書に対して,最初に出現
する文字列を全て初期登録しておく。 S1  符号化の初期設定と同じに初期設定する。 S2  最初の符号を読み取り,OLDcodeとする
。 CODEに対応する分割辞書のDpkから文字K復元し
,出力するとともに,文字Kをcharに,PKをPK
1に,LUT(K)をPKに代入する。 S3  次の符号を読み,NEWcodeとする。 S4〜S8までは,分割辞書Dpkで行う点以外は図2
1のS4〜S7と同じである。
【0072】S9  データの切れ目をによる登録する
かしないかの判定を行う。登録しない場合はS11に進
む。また登録する場合はS10において,直前の符号O
LDcodeと直前文字列の最終文字Kとの組合せをア
ドレスindc(PK1)の分割辞書Dpkに登録する
。 次に,インデックスindc(PK1)の値をインクリ
メントし,S11に進む。 S11  復元文字列の第1文字をcharに,復元文
字列の最終文字をK1に,履歴PKをPK1に,LUT
(K1)をPKに,C2をC1に,NEWcodeをO
LDcodeに各々代入し,S22を経てS3に戻る。
【0073】
【発明の効果】本発明によれば,画像データにおけるデ
ータの連続性を認識しながら,分割辞書への登録をする
かしないかを判断するようにしたので,相関の弱いデー
タ系列は登録されないことになり,インデックスの増加
を防ぐことができる。また,網点画像の網点相関のよう
に相関の強いデータ系列は,登録してゆく過程において
学習され,意味のあるデータ系列だけが残るので,無駄
な登録が少なくなり効果的に圧縮できるようになる。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】本発明の原理説明図である。
【図3】本発明の復号化のフローの原理を示す図である
【図4】LZW符号の登録方法を示す図である。
【図5】改良されたLZW符号の説明図である。
【図6】改良されたLZW符号の具体例を示す図である
【図7】改良されたLZW符号化のフローを示す図であ
る。
【図8】改良されたLZW符号化のフローを示す図であ
る(図7の続き)。
【図9】改良されたLZW符号の復号フローを示す図で
ある。
【図10】改良されたLZW符号の復号フローを示す図
である(図9の続き)。
【図11】改良されたLZW符号の復号フローを示す図
である(図10の続き)。
【図12】本発明の実施例(1)を示す図である。
【図13】本発明の実施例(2)を示す図である。
【図14】本発明の実施例(2)を示す図である(図1
3の続き)。
【図15】本発明の実施例(3)を示す図である。
【図16】本発明の実施例(3)を示す図である(図1
5の続き)。
【図17】本発明の符号化アルゴリズム(1)を示す図
である。
【図18】本発明の符号化アルゴリズム(1)を示す図
である(図17の続き)。
【図19】本発明の符号化アルゴリズム(1)を示す図
である(図18の続き)。
【図20】本発明の復号化のアルゴリズム(1)を示す
図である。
【図21】本発明の復号化のアルゴリズム(1)を示す
図である(図20の続き)。
【図22】本発明の復号化のアルゴリズム(1)を示す
図である(図21の続き)。
【図23】本発明の復号化のアルゴリズム(1)を示す
図である(図22の続き)。
【図24】本発明の復号化のアルゴリズム(1)を示す
図である(図23の続き)。
【図25】本発明の符号化のアルゴリズム(2)を示す
図である。
【図26】本発明の符号化のアルゴリズム(2)を示す
図である(図25の続き)。
【図27】本発明の符号化のアルゴリズム(2)を示す
図である(図26の続き)。
【図28】本発明の復号化のアルゴリズム(2)を示す
図である。
【図29】本発明の復号化のアルゴリズム(2)を示す
図である(図28の続き)。
【図30】本発明の符号化のアルゴリズム(2)を示す
図である(図29の続き)。
【図31】LZW符号化説明図である。
【図32】LZW符号復号化説明図である。
【図33】LZW符号化フローを示す図である。
【図34】LZW復号化のフローを示す図である。
【図35】画像の例を示す図である。
【図36】ランレングスデータの例を示す図である。
【図37】ランレングスデータの例を示す図である(図
36の続き)。
【図38】データの配列を示す図である。
【符号の説明】
1    画像データ入力部 2    二次元データ変換部 3    符号作成部 4    符号出力部 5    文字列入力部 6    検索部 7    辞書 8    登録部 9    符号語作成部 10  登録条件判定部 11  登録することの処理 11’登録しないことの処理 12  判定部 13  判定部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  画像データを文字列として表す圧縮お
    よび復元する方式において,画像データを水平方向と垂
    直方向の二次元データに変換する二次元データ変換部(
    2) と,二次元データ変換部(2) のデータを文字
    列として入力し,符号化する符号化部(3) とを備え
    ,符号化部(3) は,入力される文字列を出現する異
    なる文字部分列毎に辞書(7)に登録し,文字列を辞書
    に登録された最長文字部分列の登録番号に基づいて符号
    化するものであって,順次入力される文字列において,
    画像の連続性について判定し,出現した文字部分列を登
    録するかしないかを画像の連続性に基づいて判定する登
    録条件判定部(10)を備え,出現する文字部分列につ
    いて登録条件を満たしている場合には辞書に登録し,登
    録条件を満たしていない場合には辞書に登録しないよう
    にするとともに,入力文字列を,辞書に登録された最長
    文字部分列の登録番号に基づいて符号化することを特徴
    とするデータ圧縮方式。
  2. 【請求項2】  請求項1において,出現する文字部分
    列の最終文字もしくは最終文字によるグループ毎に辞書
    (7) を作成し,文字部分列の登録は,登録する文字
    部分列の直前の文字部分列の最終文字または文字グルー
    プの辞書に登録することを特徴とするデータ圧縮方式。
  3. 【請求項3】  請求項1および2において,符号化部
    はLZW符号により入力文字列を符号化するものである
    ことを特徴とするデータ圧縮方式。
  4. 【請求項4】  請求項1,2もしくは3に記載のデー
    タ圧縮方式により符号化した圧縮データを入力し,復元
    する方式において,入力された符号に基づいて辞書を復
    元し,復元された辞書における文字部分列と登録番号に
    より符号を文字部分列に復元することを特徴とするデー
    タ復元方式。
JP5133991A 1991-03-15 1991-03-15 データ圧縮および復元方式 Pending JPH04286084A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5133991A JPH04286084A (ja) 1991-03-15 1991-03-15 データ圧縮および復元方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5133991A JPH04286084A (ja) 1991-03-15 1991-03-15 データ圧縮および復元方式

Publications (1)

Publication Number Publication Date
JPH04286084A true JPH04286084A (ja) 1992-10-12

Family

ID=12884169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5133991A Pending JPH04286084A (ja) 1991-03-15 1991-03-15 データ圧縮および復元方式

Country Status (1)

Country Link
JP (1) JPH04286084A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
JP2004015743A (ja) * 2002-06-11 2004-01-15 Vehicle Information & Communication System Center 道路交通情報の圧縮符号化送信装置、その解凍復号化受信装置、その圧縮符号化送信方法、及びその解凍復号化受信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
JP2004015743A (ja) * 2002-06-11 2004-01-15 Vehicle Information & Communication System Center 道路交通情報の圧縮符号化送信装置、その解凍復号化受信装置、その圧縮符号化送信方法、及びその解凍復号化受信方法

Similar Documents

Publication Publication Date Title
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
US5353024A (en) Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
JP3240495B2 (ja) データの可逆符号化方法および装置、並びに、伸長装置
JP2962518B2 (ja) 画像データの符号化装置
US6240213B1 (en) Data compression system having a string matching module
EP0349677B1 (en) Image coding system
US6798914B1 (en) Neural-network-based method of image compression
JPH04286084A (ja) データ圧縮および復元方式
JP2940948B2 (ja) データ圧縮方式
JP3350118B2 (ja) データ符号化方式及びデータ復元方式
JP3199292B2 (ja) ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法
JPH0723238A (ja) 画像データ圧縮及び復元装置
JP3083550B2 (ja) データ圧縮及び復元方法
JPH07152533A (ja) データ圧縮装置
JP3199291B2 (ja) ハフマン復号化テーブルの構成方法
JP3105330B2 (ja) 画像データの圧縮復元方式
JPH0884260A (ja) 2次元画像データの圧縮方式および伸長方式
JPH05341955A (ja) データ圧縮および復元方式
JP2999561B2 (ja) データ圧縮及び復元装置
JPH1155125A (ja) 文字データの圧縮・復元方法
US6653949B1 (en) Data compression apparatus and method utilizing tandem coupled matrices
JP2840420B2 (ja) 画像データ圧縮及び復元方式
JP3100206B2 (ja) データ圧縮方法
JPH06178124A (ja) 画像データ圧縮伸長装置
JPH04185118A (ja) データ圧縮及び復元方法