JP3130324B2 - データ圧縮方式 - Google Patents

データ圧縮方式

Info

Publication number
JP3130324B2
JP3130324B2 JP2586891A JP2586891A JP3130324B2 JP 3130324 B2 JP3130324 B2 JP 3130324B2 JP 2586891 A JP2586891 A JP 2586891A JP 2586891 A JP2586891 A JP 2586891A JP 3130324 B2 JP3130324 B2 JP 3130324B2
Authority
JP
Japan
Prior art keywords
character
dictionary
data
substring
registered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2586891A
Other languages
English (en)
Other versions
JPH04265020A (ja
Inventor
茂 吉田
佳之 岡田
泰彦 中野
広隆 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2586891A priority Critical patent/JP3130324B2/ja
Publication of JPH04265020A publication Critical patent/JPH04265020A/ja
Application granted granted Critical
Publication of JP3130324B2 publication Critical patent/JP3130324B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,文字コード,画像デー
タ等の複数種類のデータが混在する文字列を符号化して
圧縮するデータ圧縮方式に関する。文字コード,画像デ
ータ等の複数種類のデータがコンピュータで扱われるよ
うになるのにともない,取り扱われるデータ量も増大し
ている。そのような大量のデータにおいては,記憶容量
を減らしたり,遠隔地への伝送を可能とするため,デー
タ中の冗長な部分を省いて,圧縮して記憶したりデータ
転送を行うようにすることが望まれる。従来,文字コー
ド,画像データについて,それぞれ単独のデータについ
ては効率良くデータ圧縮する方式はあったが,文字コー
ドと画像データなど異なる種類のデータが混在するデー
タについて,効率良く圧縮する方式はなかった。本発明
は,複数の異なる種類のデータが混在するデータについ
て,高圧縮率の得られるデータ圧縮方式を提供すること
を目的とする。
【0002】
【従来の技術】様々な種類のデータ(文字コード,画像
データ等)のデータに適用できるデータ圧縮方式とし
て,ユニバーサル符号による方式がある。ユニバーサル
符号においては,文書データにおける文字コードのみな
らず画像データ等にも適用できる。そして,以下の説明
においては,データの1ワード単位を文字と呼び,デー
タが任意ワードでつながったものを文字列と呼ぶ。
【0003】ユニバーサル符号の一つであるジブ−レン
ペル(Ziv -Lempel)符号には,符号化データを,過去
のデータ系列のうち任意の位置から一致する最大長の系
列に区切り,過去の系列の複製として符号化するユニバ
ーサル型,符号化データのうち新たに出現する文字列
のうちの文字部分列を辞書に順次登録し,符号化対象の
文字部分列を,過去に出現した辞書に登録された文字部
分列のうちの最大長のものに基づいて符号化する増分分
解型およびその改良方式であるLZW符号方式がある。
【0004】図5は,LZW符号によるデータ圧縮方式
を示す。図において,41はデータファイルであって,
文字コード等よりなるデータを格納するもの,42はデ
ータ格納部であって,データファイルから取り出された
文字列を格納するもの,43は文字部分列を登録する辞
書D,44は辞書検索部,45は出力符号格納部であっ
て,辞書検索部44が検索した最大一致文字部分列の符
号を格納するもの,46は登録文字部分列格納部であっ
て,最大一致文字部分列に続く次の一文字もしくは複数
の文字を付加した文字部分列を格納するもの,47は圧
縮率判定部であって,圧縮率を判定するもの,48は辞
書登録部であって,文字列を辞書に登録する処理をする
ものである。
【0005】図示の構成の動作を図6に基づいて説明す
る。図6は,LZW符号によるデータ圧縮方式のフロー
である。図における符号に従って説明する。必要に応じ
て図1を参照する。S1 辞書D43に単一文字を割り
付け,初期値とする。iは登録した文字の番号(符号)
であり,D(i)は番号iの登録文字列を表す。Aは登
録したアルファベットの大きさ(数)を示す。初期設定
される文字数は実際には,256文字を対象とすること
ができるが(A=256),図1における辞書D(4
3)ではa,b,cの三文字のみよりなる場合を示す。
カーソルを文字列の先頭文字に合わせ(カーソル=
1),先頭文字をデータ格納部42に格納する。辞書D
43における最大登録番号(識別番号)nをn=Aとす
る。
【0006】S2 辞書検索部44は,カーソルの位置
からの文字部分列と一致する辞書中の最長の文字部分列
Sを検索する。S3 最大一致文字部分列の番号を出力
符号格納部45に格納し,〔log2n 〕ビット( 〔x〕
は,x以上の最小の整数)で,Sに関する番号を出力す
る。辞書登録数nを1インクリメント(n=n+1)と
する。
【0007】S4 辞書登録部48は,Sに続く次の文
字Cにより作られる部分文字列SCを登録文字部分列格
納部46に格納し,文字部分列SCを識別番号(n+
1)で辞書に登録する。カーソルを文字列Sの次の文字
(C)に合わせる。S5 予め定めた整数m(圧縮率の
良否をチェックするデータ間隔)に対して,mの倍数の
文字数分データを符号化したか調べる。もし,mの倍数
分でなければ,S2に戻る。
【0008】S6 もし,mの倍数分符号化していれ
ば,圧縮率判定部47は,mバイト間で以前より圧縮率
が悪化したか調べる。もし,圧縮率が悪化していなけれ
ば,S2に戻る。もし,圧縮率が悪化していれば,S1
に戻り,辞書を初期化して,登録をしなおす。
【0009】図7は,LZW符号の例を示す。図におい
て60は文字列,61は出力符号,62は辞書である。
図は,文字列がa,b,cの三文字のみよりなる場合で
ある。文字列の各文字の上の括弧付の番号は説明の便宜
上付けた番号である。
【0010】 文字列の先頭文字a(番号(1) )にカ
ーソルを合わせる。辞書を参照し,aは登録済であるこ
とを確認すると,次の一文字bを読む。文字部分列ab
は未登録であるから,a(1) を符号1で出力し,abを
識別番号4で登録する。 カーソルを次の文字b(番
号(2) )に合わせる。辞書を参照し,bは登録済である
ことを確認すると,次の1文字a(3)を読む。文字部
分列baは未登録であるから,b(2) を符号2で出力
し,文字部分列baを識別番号5で登録する。 次の
文字a(3) にカーソルを合わせる。aは辞書に登録済で
あるから,次の文字b(4) を読む。文字部分列abは登
録済であるから,さらに次の文字a(5) を読む。文字部
分列abaは未登録であるから,文字部分列abを符号
4で出力し,文字部分列abaを識別番号6で辞書に登
録する。
【0011】 次に文字a(5) にカーソルを合わせ
る。aは登録済であるから次の文字a(6) を読む。文字
部分列aaは未登録であるから,aを符号1で出力し,
文字部分列aaを識別番号7で登録する。以後同様に,
カーソルで指定した文字以降の文字列の文字部分列より
辞書に登録されている文字部分列より一致する最長の文
字部分列を見つけ出し,その文字部分列を辞書における
識別番号により符号化し,最大一致文字部分列と次の一
文字よりなる文字部分列を辞書に新たに登録してゆく。
そして,出力符号61として,「1241537・・
・」を出力する。
【0012】
【発明が解決しようとする課題】文書データと画像デー
タのように性質の異なるデータが混在する場合に,LZ
W符号でデータ圧縮を行うと,文字の種類もしくは並び
方の傾向の異なるそれぞれのデータ毎の文字部分列が同
一辞書に登録されるため,圧縮率が低下するものであっ
た。
【0013】
【課題を解決しようとするための手段】本発明は,複数
種類のデータが混在するデータよりなる文字列を圧縮し
て符号化する方式において,文字列における出現頻度の
高い文字部分列を初期値としてデータの種類毎に登録し
た辞書をデータ種別に識別番号を対応付けて備え,符号
化の対象とする文字列の文字部分列を前記各辞書に登録
された部分列と比較し,一致する最大長の文字部分列を
求め,一致した最大長の文字部分列のある辞書番号およ
び一致した最大長の文字部分列の識別番号に基づいて符
号化するようにした。
【0014】図1に本発明の基本構成を示す。図におい
て,1はデータファイルであって,文書データ等の文字
コードおよび,画像データ等を格納するもの,2はデー
タ格納部であって,文字列のデータを格納するもの,3
は辞書検索部であって,文字部分列について辞書を検索
し,最大一致文字部分列を求めるもの,4は辞書Aであ
って,例えば,文字コードの文字部分列を登録したも
の,5は辞書Bであって,例えば,画像データについて
の文字部分列を登録したものである。6は出力符号格納
部であって,最大一致文字部分列の符号(辞書における
識別番号等)を格納するもの,7は登録文字部分列格納
部であって,辞書検索部3が検索した最大一致文字部分
列と次の一文字もしくは続く文字部分列を格納するも
の,8は辞書登録部であって,登録文字部分列格納部7
に格納された文字部分列を辞書に格納する処理を行うも
のである。なお,図において,圧縮率判定部は省略され
ている。
【0015】
【作用】図の構成の動作を説明する。データファイル1
より文字コードと画像データが混在する文字列がデータ
格納部2に格納される。辞書検索部3は,データ格納部
2の文字列の先頭文字から順次辞書A(4),辞書B
(5)を検索し,最大一致文字部分列を求める。出力符
号格納部6は最大一致文字部分列の辞書における識別番
号に基づいて符号を作成し,出力する。登録文字部分列
格納部7は最大一致文字部分列に,それに続く次の一文
字もしくは複数の文字を付け加えた文字部分列を格納す
る。辞書登録部8は登録文字部分列格納部7に格納され
た文字部分列を,最大一致文字部分列を検出した辞書A
(4)もしくは辞書B(5)に登録する。なお,最長一
致文字部分列が複数の辞書にある場合には,前回選ばれ
た辞書の符号を用いる。また,本発明の方式で作成され
た圧縮データを復号する方式については説明されていな
いが,入力データに基づいて,符号化と逆の順序で,辞
書を復元の参照を繰り返して文字列を復元すればよい。
なお,本発明は,LZW符号方式だけでなく増分分解型
等の他のユニバーサル符号化方式にも適用できるもので
ある。
【0016】
【実施例】本発明の実施例のフロー(1)および(2)
を図2,図3に示す。図2は,LZW符号により本発明
を実施する場合のフローであって,最適辞書が今まで用
いていた辞書から変更になった時点で,識別番号の符号
化に先立ち,変更になった辞書の番号を符号化する方式
を示す。本実施例においては,識別番号0を辞書変更の
識別フラグに割り当てる。図示の符号に従ってフローを
説明する。
【0017】S1 文書データ(文字コード),画像デ
ータ(1,0のビットの並びに基づいて作成したランレ
ングス符号等の数値データ)等のデータの種類毎に辞書
の初期値とするための一文字データおよび出現頻度が高
いと予測される文字部分列を求める。 S2 データの種類毎に辞書Djを作成する(jはデー
タの種類)。カーソルを文字列の先頭文字に合わせる
(カーソル=1)。j番目の最大登録番号nj(j=1
〜K)を設定する(nj=Aj)。 但し,Ajはデータの種類jに登録された初期値の個数
を表す。直前で用いた辞書の番号ppのデフォルトの値
を設定する(pp=0)。 S3 カーソルの位置からの文字部分列を読み取り,各
辞書Djにおける最長の文字部分列Sj(j=1〜K)
を求める。 S4 各辞書毎に求めた最長文字部分列Sjの中から,
最長の文字部分列Spを求める。 S5 辞書番号pは直前の辞書番号ppと一致すればS
7に移る。 S6 〔log 2 pp〕ビットで辞書切替えフラグであ
る識別番号0を表し,また,〔log 2 K〕ビットで辞
書番号pを表して,一緒に出力する。
【0018】S7 最長の文字列Spの番号を〔 log2n
p 〕ビットを用いて出力する。ここで〔 log2np 〕は l
og2np 線上の最小の整数を表す。P番目の辞書における
最大登録番号np を1インクリメントする(np =np
+1)。 S8 カーソルを,求めた最長文字部分列Spの次の文
字Cに合わせる。文字部分列SpCをP番目の辞書に,
番号np で登録する。直前の辞書番号ppを今回の辞書
番号pで置き換える(pp=p)。カーソルを,文字列
において求めた最長文字部分列Spの次の文字(C)に
合わせる。 S3 以降の処理を繰り返す。この例では「辞書切替え
フラグ+辞書番号」で辞書を選択するようにしたが,複
数の辞書の数だけ各辞書で同じ識別番号を予約語として
とっておき,その識別番号を用いて辞書を指定しても良
い。
【0019】図3は,辞書の選択符号を用いないやり方
であり,前回の最適だった辞書を用いて,一致が最大長
の文字部分列を符号化する方式を示す。辞書変更による
選択のタイミングを一回遅らせるので,選択符号がなく
ても,復号側で選択された辞書が分かる。S1〜S4は
図2と同様である。 S5 辞書Dppの最長の文字部分列Sppの識別番号を
〔 log2npp〕ビットを用いて出力する。ここで,〔 log
2npp〕は log2npp以上の最小の整数を表わす。pp番目
の辞書における最大登録番号np を1つインクリメント
する(npp=npp+1)。 S6 カーソルを,求めた最長文字部分列Sp の次の文
字Cに合わせる。文字部分列SppCをpp番目の辞書に
番号nppで登録する。直前の辞書番号ppを今回の辞書
番号pで置き換える(pp=p)。カーソルを,文字列
における最長文字部分列Sp の次の文字(C)に合わせ
る。以上のようにして,文書データ(文字コード)と画
像データ等の種類の異なるデータが混在する文字列を符
号する。そして,文書データと画像データの二種類の辞
書を作成した場合を例にとると,文書データの文字列部
分は,文書データの文字部分列を登録した辞書が参照さ
れて符号化されることが多く,画像データの文字部分列
については,画像データの辞書が参照されて符号化され
ることが多くなるので,効率的なデータ圧縮がなされ
る。
【0020】本発明においては,データ圧縮の対象とす
るデータもしくは同種類の他のデータをサンプルデータ
として,出現する文字部分列の出現頻度を測定し,高頻
度で出現する文字部分列を辞書の初期値として登録す
る。
【0021】図4は,本発明における辞書の初期値作成
方法を示す。図において,30は出現頻度測定部,32
はサンプルデータ,33はサンプルデータの符号化手段
であって,サンプルデータについて符号化し,頻度を測
定するもの,34は文字部分列の頻度格納部,35は初
期値設定部である。36は初期値設定された辞書,37
は符号化手段であって,実際のデータを符号化するも
の,38は符号化手段である。
【0022】サンプルデータ32に基づいて,符号化手
段33は,実際に符号化する方式と同様の方式(例え
ば,LZW符号)で符号化する。そして,求めた文字部
分列の出現頻度を算出し,頻度格納部34に格納する。
初期値設定部35は,頻度格納部34に格納された文字
部分列のうち,出現頻度の高いもの(予め定めた,出現
頻度の閾値Tより大きいもの)を選択する。
【0023】その結果,例えば,図のおいては一文字
a,b,cおよび出現頻度の高い文字部分列baを,辞
書36に初期値として登録する。符号化手段37は実際
のデータについて,辞書36の初期値に基づいて,符号
化を始め,新たに出現する文字列を順次登録する。復号
側では,符号化手段38により辞書を復元しながら,送
られてきた符号を復元する。
【0024】
【発明の効果】本発明によれば,分割した辞書には,各
種データにおける出やすい文字部分列が予め登録されて
いるので,複数種類のデータが混在するデータを符号化
する場合にも,データの種類に対応した辞書が選択され
る。そして,それぞれの辞書には,対象とするデータに
おける文字部分列が学習されて登録されるので,高圧縮
率の符号化を行うことができる。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】本発明の実施例フロー(1)を示す図である。
【図3】本発明の実施例フロー(2)を示す図である。
【図4】本発明における辞書の初期値作成方法を示す図
である。
【図5】LZW符号によるデータ圧縮方式を示す図であ
る。
【図6】LZW符号によるデータ圧縮方式のフローを示
す図である。
【図7】LZW符号の例を示す図である。 1 データファイル 2 データ格納部 3 辞書検索部 4 辞書A 5 辞書B 6 出力符号格納部 7 登録文字部分列格納部 8 辞書登録部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭63−151224(JP,A) 特開 平1−132222(JP,A) 特開 昭60−116228(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数種類のデータが混在するデータより
    なる文字列を圧縮して符号化する方式において, 文字列における出現頻度の高い文字部分列を初期値とし
    てデータの種類毎に登録した辞書をデータ種別に識別番
    号を対応付けて備え, 符号化の対象とする文字列の文字部分列を前記各辞書に
    登録された部分列と比較し,一致する最大長の文字部分
    列を求め,一致した最大長の文字部分列のある辞書番号
    および一致した最大長の文字部分列の識別番号に基づい
    て符号化することを特徴とするデータ圧縮方式。
  2. 【請求項2】 請求項1において,求めた最大長の文字
    部分列に続く一文字もしくは複数文字を,求めた最大長
    の文字部分列に付加した文字部分列を求めた最大長の文
    字部分列のある辞書に登録することを特徴とするデータ
    圧縮方式。
  3. 【請求項3】 請求項1および請求項2において,一致
    する最大長の文字部分列をもつ辞書の番号を,識別番号
    の符号化に先立ち符号化し,対応する辞書を選択するこ
    とを特徴とするデータ圧縮方式。
  4. 【請求項4】 請求項1および請求項2において,符号
    化の対象とする文字部分列を辞書に登録された文字部分
    列との前回の比較で,一致する最大長の文字部分列のあ
    った辞書における一致する最大長の文字部分列の識別番
    号によって符号化することを特徴とするデータ圧縮方
    式。
JP2586891A 1991-02-20 1991-02-20 データ圧縮方式 Expired - Fee Related JP3130324B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2586891A JP3130324B2 (ja) 1991-02-20 1991-02-20 データ圧縮方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2586891A JP3130324B2 (ja) 1991-02-20 1991-02-20 データ圧縮方式

Publications (2)

Publication Number Publication Date
JPH04265020A JPH04265020A (ja) 1992-09-21
JP3130324B2 true JP3130324B2 (ja) 2001-01-31

Family

ID=12177774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2586891A Expired - Fee Related JP3130324B2 (ja) 1991-02-20 1991-02-20 データ圧縮方式

Country Status (1)

Country Link
JP (1) JP3130324B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277585B2 (en) 2001-05-25 2007-10-02 Ricoh Company, Ltd. Image encoding method, image encoding apparatus and storage medium
US10255315B2 (en) 2012-12-11 2019-04-09 Gurulogic Microsystems Oy Encoder, decoder and method
GB2509055B (en) * 2012-12-11 2016-03-23 Gurulogic Microsystems Oy Encoder and method
CN105629155B (zh) * 2015-12-28 2018-08-17 中国科学院声学研究所 一种测试数据的字典编码方法

Also Published As

Publication number Publication date
JPH04265020A (ja) 1992-09-21

Similar Documents

Publication Publication Date Title
US5151697A (en) Data structure management tagging system
US5049881A (en) Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
US5406278A (en) Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US5371499A (en) Data compression using hashing
JP3273119B2 (ja) データ圧縮・伸長装置
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
US20070150497A1 (en) Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search
EP0800726B1 (en) Lzw data compression using an associative memory
US5353024A (en) Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
JPS59231683A (ja) データ圧縮方法
JP3241788B2 (ja) データ圧縮方式
JP3130324B2 (ja) データ圧縮方式
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JP3241787B2 (ja) データ圧縮方式
JP3350118B2 (ja) データ符号化方式及びデータ復元方式
JP3038233B2 (ja) データ圧縮及び復元装置
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP2774350B2 (ja) データ圧縮方法および圧縮データのデータ復元方法
JPH05152971A (ja) データ圧縮・復元方法
JP3088740B2 (ja) データ圧縮及び復元方式
JPH06202844A (ja) データ圧縮復元処理装置
JPH04280517A (ja) データ圧縮および復元方式
JPH0527943A (ja) データ圧縮方式
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP3100206B2 (ja) データ圧縮方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001031

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

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees