JPH05250136A - データ圧縮用辞書作成方法及び符号化方法 - Google Patents

データ圧縮用辞書作成方法及び符号化方法

Info

Publication number
JPH05250136A
JPH05250136A JP4046447A JP4644792A JPH05250136A JP H05250136 A JPH05250136 A JP H05250136A JP 4046447 A JP4046447 A JP 4046447A JP 4644792 A JP4644792 A JP 4644792A JP H05250136 A JPH05250136 A JP H05250136A
Authority
JP
Japan
Prior art keywords
dictionary
character string
character
bit
partial
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.)
Withdrawn
Application number
JP4046447A
Other languages
English (en)
Inventor
Shigeru Yoshida
茂 吉田
Yoshiyuki Okada
佳之 岡田
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 JP4046447A priority Critical patent/JPH05250136A/ja
Publication of JPH05250136A publication Critical patent/JPH05250136A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【目的】LZW符号の辞書を作成するためのデータ圧縮
及び符号化を少いメモリ容量で高速に実施処理する。 【構成】CPUでプログラムメモリ11とデータメモリ
18を制御する。プログラムメモリにはコントロールソ
フト12、出現確立算出ソフト13、辞書作成ソフト1
4、符号化ソフト15、最長一致文字列検索ソフト16
及び復号化ソフト17が設けられ、データメモリ18に
は、符号化しようとする文字列または復号しようとする
符号列を格納するデータバッファ22、部分辞書を用い
て表した全体辞書19、階層構造をもって作られた部分
辞書20a〜20c、オフセット格納部21を備えてい
る。オフセット格納部21には部分辞書20a〜20c
が全体辞書19の中で復号されたとき、あるいは部分辞
書20a〜20cが上位の部分辞書から復号されたとき
のバイアス値を格納している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユニバーサル符号の一
種である増分分解型の改良として知られたLZW符号の
辞書作成するデータ圧縮用辞書作成方法及び符号化方法
に関する。近年、文字コード、ベクトル情報、画像など
様々な種類のデータがコンピュータで扱われるようにな
っており、扱われるデータ量も急速に増加してきてい
る。大量のデータを扱うときは、データの中の冗長な部
分を省いてデータ量を圧縮することで、記憶容量を減ら
したり、速く伝送したりできるようになる。
【0002】様々なデータを1つの方式でデータ圧縮で
きる方法としてユニバーサル符号化が提案されている。
ここで、本発明の分野は、文字コードの圧縮に限らず、
様々なデータに適用できるが、以下では、情報理論で用
いられている呼称を踏襲し、データの1ワード単位を文
字と呼び、データが任意ワードつながったものを文字列
と呼ぶことにする。
【0003】ユニバーサル符号化の代表的な方法とし
て、ジブ−レンペル(Ziv−Lempel)符号化と
算術符号化がある。ジブ−レンペル符号では スライド辞書型(ユニバーサル型ともいう)と、 動的辞書型(I増分分解型ともいう) の2つのアルゴリズムが提案されている。さらに、スラ
イド辞書型アルゴリズムの改良として、LZSS符号
(T.C.Bell,"Better OPM/L Text Compression",IEEE Tr
ans.on Commun.,Vol.COM-34,No.12,Dec.1986参照)や、
パソコンで用いられているLHarc がある。
【0004】また、動的辞書型アルゴリズムの改良とし
ては、LZW(Lempel-Ziv-Welch)符号がある(T.A.Welc
h,"A Technique for High-Performance Data Compressi
on",ComPuter,June 1984 参照)。これらの改良方法は
補助記憶装置のファイル圧縮や、モデムでの伝送データ
の圧縮に利用されるようになっている。
【0005】一方、算術符号化は、情報源の文字の出現
確率が分かっている場合に、最大の効率で圧縮できると
言われている方法である。この方法は、従来よく用いら
れているハフマン符号化のように1文字ずつばらばらに
符号化せずに、文字列全体をつなぎ目なしの符号語とし
て符号化することで、圧縮効率を高めている。算術符号
化は、入力データの出現確率を測定する学習機構を付加
することによってユニバーサル符号化を実現することが
できる。
【0006】
【従来の技術】従来のユニバーサル符号化の代表的な方
法である増分分解型ジブ−レンペル符号と、算術符号を
バイト単位のファイル圧縮に用いた多値算術符号化("A
n Adaptive Dependency Source Model for Data Compre
ssion Scheme",Commun. of ACM,Vol.32,No.1,1989,pp.7
7-83参照)について説明する。 (1)動的辞書型(増分分解)ジブ−レンペル符号化 このアルゴリズムは、圧縮率はユニバーサル型より劣る
が、シンプルで、計算も容易であることが知られてい
る。
【0007】増分分解型Ziv−Lempel符号で
は、入力シンボルの系列を X=aabababaa・・・ とすると、成分系列 X=X012 ・・・ への増分分解は次のようにする。
【0008】入力シンボルX1 を既成分の右端のシンボ
ルを取り除いた最長の列とし、 X=a・ab・aba・b・aa・・・・ となる。従って、 X0 =λ(空列) X1 =X0 a X2 =X1 b X3 =X2 a X4 =X0 b X5 =X1 a ・・・ と分解できる。増分分解した各成分系列は既成分系列を
用いて次のような組で符号化する。
【0009】
【表1】
【0010】即ち、動的辞書型アルゴリズムは、符号化
パターンについて、過去に分解した部分列の内、最大長
一致するものを求め、過去に分解した部分列の複製とし
て符号化するものである。更に、動的辞書型アルゴリズ
ムの改良としては、LZW符号がある(T.A.Welch,"A Te
chnique for High-Performance Data Compression",Com
Puter,June 1984参照)。LZW符号では次のシンボル
を次の部分列に組み込むようにして、インデックスのみ
で符号化できるようにしている。
【0011】LZW符号の符号化アルゴリズムを図12
に示す。LZW符号化は、書き替え可能な辞書をもち、
入力文字列中を相異なる文字列に分け、この文字列を出
現した順に番号を付けて辞書に登録すると共に、現在入
力している文字列を辞書に登録してある最長一致文字列
の番号だけで表して符号化するものである。尚、動的辞
書型符号およびLZW符号の技術は、特開昭59−23
1683号、米国特許4,558,302号で開示され
ている。
【0012】図12のLZW符号化処理は次のようにな
る。 [ステップS1]初期化のステップである。予め全文字
につき一文字からなる文字列を初期値として登録してか
ら符号化を始める。辞書の登録数nを文字種数Aと置
く。カーソルをデータの先頭の位置に置く。
【0013】[ステップS2]カーソルの位置からの文
字列に一致する辞書登録の最長文字列Sを見つける。 [ステップS3]文字列Sの識別番号を「log2 n」
ビットで表して出力する。ただし、「log2 n」はl
og2 n以上の最小の整数を意味する。例えば、辞書登
録数n=12では「log2 12」はlog2 12以上
の最小の整数4を意味する。
【0014】[ステップS4]文字列Sのカーソルの最
初の文字Cとおく。カーソルは文字列Sの後の文字に移
動させる。 [ステップS5]辞書登録数nが辞書の最大アドレスNM
AXより小さいか調べる。もし、小さければステップS6
に移り、小さくなければステップS7に移る。
【0015】[ステップS6]辞書登録数nを一つイン
クリメントし、文字列Sに文字Cを付加した文字列SC
を辞書に登録し、ステップS2に戻る。 [ステップS7]圧縮率の変化をチェックし、もし、圧
縮率が悪化していれば、ステップS1に戻って辞書を初
期化する。もし、圧縮率が悪化していなければ、ステッ
プS2に戻る。
【0016】このように従来のLZW符号化によるデー
タ圧縮方式は、辞書に文字列を登録していって、辞書が
一杯(辞書の最大アドレスまで登録)になったとき、辞
書への登録を止めて数100キロバイト単位に圧縮率を
チェックしている。このとき圧縮率が前回チェックした
ときと比べ悪化する方向に動いていれば、辞書がデータ
の統計的性質とズレができていると判断し、辞書を初期
化する。
【0017】この場合の辞書の初期化方法は、今までの
学習結果をクリアしてしまうので、次から学習し直さな
ければならず、効率が低下する。これを防ぐ方法とし
て、辞書に登録した文字列の実際に使用した回数を計数
しておき、出現頻度の高い文字列のみ残して辞書のスペ
ースを空ける方法が本願発明者らによって提案されてい
る。 (2)多値算術符号化 隣接文字間の相関を利用して算術符号化することによっ
て高い圧縮率を得ることができる。図13(a)に複数
個数のシンボルの符号化に用いる多値算術符号化のアル
ゴリズムを示し、また図13(b)に復号化のアルゴリ
ズムを示す。
【0018】多値算術符号化は、データ列を、[0,
1]の数直線上の一点に対応付けるものであり、シンボ
ルごとに、出現したシンボルの出現確率から求めた累積
出現確率によって[0,1]区間を逐次、細分割し、最
後の区間の[区間幅(range)]と[上限(Hig
h)又は下限(Low)]を符号語として出力する。図
13(a)の符号化アルゴリズムでは、シンボル列全体
の符号化が終了するまで符号語が得られず、また、符号
語全体が得られないと復号ができないようになってい
る。しかし、実際の多値算術符号化では、有限桁の固定
長のレジスタで演算して、ビット単位に符号語を得るこ
とができる。
【0019】また、算術符号化では、多重の履歴からの
条件付確率を符号化することによって、高圧縮にする方
法が発表されている(例えば、D.M. Abramson,“An Ada
ptive Dependancy Source Model for Data Compressio
n”,Commun. of ACM, Vol.30, No.6,1987 年,また
は、J.G. Cleary 他,“Data Compression Using Adapt
ive Coding and Partial String Macthing”,Commun.
of ACM,Vol.30, No.6, 1987 年)。
【0020】この多値算術符号化によってバイト単位の
データを処理するフローチャートを図14及び図15に
示す。図14は履歴を使用しない場合の多値算術符号化
を示したフローチャートである。 [ステップS1]初期化処理である。辞書Dの各スロッ
トD(i)に処理対象とする全ての一文字iを割当て
る。各文字i参照番号I(i)を付ける。各文字iの出
現頻度freq(i) を1に初期化する。各文字iの累積出現
頻度 cum freq(i) を一文字の全数Aからiを引いた値
に初期化する。
【0021】[ステップS2]1文字kを入力する。 [ステップS3]文字kの番号j=I(k)を求め、番
号jを多値算術符号化する。この多値算術符号化では、
番号jの出現頻度freq(j) を累積出現頻度cum freq(j)
で割った累積確率を使用して区間幅及び上下限の値を求
める。また辞書スロットD(j)を文字iとする。
【0022】[ステップS4]出現頻度順に辞書を置き
換える。 [ステップS5]出現頻度及び累積出現頻度を1つイン
クリメントしてステップS2に戻る図15は、一重履歴
を用いた多値算術符号化のフローチャートであり、文字
iに対する直前文字pを履歴として取り入れ、(p,
i)の出現頻度及び累積出現頻度を計数して多値算術符
号化を行うようにしている。符号化の処理は直前文字p
を履歴として取り入れている以外は図14と同じであ
る。
【0023】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の動的辞書型ジブ−レンペル符号化にあって
は、辞書内の文字と入力文字との照合によって圧縮が行
えるため、処理が高速である利点があったが、めったに
出現しない文字列も辞書に取り込むため、辞書の効率が
低下し、圧縮の効率が低下する問題点があった。
【0024】一方、算術符号化では、一文字ごとに各文
字の平均的な出現確率に基づいて精密な符号化が行える
ため、高圧縮率が得られるものの、処理量が多く、符号
化に時間がかかる問題点があった。本願発明者らは出現
頻度の低い文字の辞書登録による問題を解決として図1
6のフローチャートに示す方式を提案している(特願平
3−179097号)。
【0025】この方法は、各文字の出現頻度を計数して
おき、この出現頻度から適宜辞書を作成し、辞書を参照
しながら入力文字を符号化するものである。図16の0
重マルコフ・モデルと呼ばれる出現頻度に以前の文字の
履歴を考えない最も簡単な場合の符号化は次のようにな
る。 [ステップS1]カーソルをデータバッファ40から得
た辞書作成に使用するデータの先頭の位置に置く。文字
jが出現する頻度を計数するカウンタfreq(i) を全て1
に初期化する。例えばアルファベット26文字を例にと
ると、freq(1) 〜freq(26)の出現頻度計数カウンタが準
備される。
【0026】[ステップS2]辞書を作成して展開す
る。まず、各文字iの出現頻度freq(i) を求め、同時に
出現の総数Tを
【0027】
【数1】
【0028】として求める。続いて各文字の出現確率p
(i) を
【0029】
【数2】
【0030】として求める。次に辞書サイズに関する定
数Cを予め定めておき、 p(x1) p(x2) ・・・p(xn) ≧C (xi=1,2,・・・A) (3) となる全ての文字列、即ち文字列を構成する各文字の出
現確率の累算値が所定値以上となる文字列の全てを辞書
に登録する。
【0031】[ステップS3]辞書検索を行う。即ち、
カーソルの位置からの入力文字列に一致する辞書19中
に登録された最長文字列Sを見つける。 [ステップS4]最長文字列Sの識別番号を辞書登録数
nのlog2 n以上の最小の整数を意味する「log2
n」ビット(可変長符号)で表して出力する。
【0032】[ステップS5]符号化した入力文字列の
中の全ての文字iについてカウンタfreq(i) を1つイン
クリメントする。 [ステップS6]符号化した入力文字列Sのカーソルの
最初の文字Cとおき、カーソルは文字列Sの後の文字に
移動させる。
【0033】[ステップS7]圧縮率の変化をチェック
し、もし、圧縮率が悪化していればステップS2に戻っ
て辞書を更新する。この場合の辞書19の更新にはステ
ップS5で符号化を行いながら計数している現在時点で
の出現頻度freq(i) を使用する。もし、圧縮率が悪化し
ていなければ、ステップS3に戻る。
【0034】この図16に示した方法によれば、各文字
の出現確率に基づく文字列だけが辞書に登録されるの
で、符号化効率を上げることができ、しかも辞書照合に
よって圧縮が行えるため高速処理ができるというもので
あった。しかしながら、この種の辞書を用いる方法は、
所定の確率で出現する全ての文字列を保持しておかなけ
ればならないため、大きい記憶容量を必要とする欠点が
あった。
【0035】従来、動的辞書型の符号化アルゴリズムに
おいて辞書の容量を小さく抑える方法としては、可変長
の文字列を固定長で符号化(Variable-to-fixed length
source coding,VF符号)するとき、辞書(符号表)を作
らずに符号化する方法がTjalling らによって提案され
ている。以下では、この方法をTF方と呼ぶ。(Tjalli
ng. J. T, Fransm.J.W,"Variable to Fixed-Length Cod
es for MarkovSources",IEEE Trans. on Inform Theor
y,Vol.33,No.2,Mar.1987)。
【0036】TF法の符号化は、送信側と受信側で予め
各文字の出現確率が分かっているとき、送信側と受信側
とで所定の等確率の文字列を想定して、各文字列を辞書
式順序で並べたとき番号を入力データの文字列に与えて
計算によって逐次文字列の次番号を求めて符号化を行う
ものである。またTF法の復元は、符号化で得た文字列
番号を符号化の逆の操作に辞書式に探索することで文字
列を復元することができる。即ち、文字列番号より辞書
の木を順次下りながら、文字列の各文字が含まれる番号
の範囲を求めて、この範囲を狭めて行くことで最終的に
文字列を一意に復元できる。
【0037】このTF法では、辞書(符号表)を用いず
に符号化できるものの、各文字列の番号を得る処理に非
常に時間がかかるため、バイト単位にファイル圧縮する
場合、実用的でない欠点があった。本発明は、このよう
な問題点に鑑みてなされたもので、少ないメモリ容量で
高圧縮および高速処理が実現できるデータ圧縮用辞書作
成方法及び符号化方法を提供することを目的とする。
【0038】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、入力文字中の各文字xの出現
確率p(x)より、出現確率が等確率となる文字列群に
参照番号を付けて辞書に登録しておき、入力文字列を辞
書中の文字列群中の一致する文字列の参照番号で表して
符号化し、また符号化データの参照番号による辞書の参
照で元の文字列を復元するデータ圧縮方法を対象とす
る。
【0039】このようなデータ圧縮法における辞書作成
方法として本発明にあっては、 各文字(x)の出現確率p(x)を対数の整数値で近
似して文字列の出現確率を整数和{Σi(x)}で表
し、 出現確率の整数和Σi(x)が所定値I以下となる文
字列群に参照番号を付けて辞書に登録するとき、整数和
Σi(x)が大きい文字列の部分に参照番号を付けて全
体辞書19に登録し、 同時に全体辞書19に登録した整数和の大きい文字列
の部分に続く整数和の小さい文字列の部分には独立した
参照番号を付けて部分辞書20に登録し、 更に全体辞書19に登録した文字列の部分を部分辞書
20に登録した文字列の部分が引用していることを示す
識別番号を設けたことを特徴とする。
【0040】ここで全体辞書19と部分辞書20と対応
をとるため、部分辞書20毎に登録文字列の数(要素
数)および全体辞書19の参照番号に対する部分辞書2
0の参照番号の相違を示すオフセット値を登録し、部分
辞書20の番号に一致する文字列を検索した場合に、部
分辞書20内での番号とオフセット値の和として全体辞
書19での番号を求めて符号化させる。
【0041】また辞書作成の際に各文字列の出現確率を
対数和の整数化した近似値で求める場合、 各文字xの出現頻度を全文字の出現頻度で割って2進
数で表した値について近似の次数hを定め、 最上位ビットから数えて初めてビット1が出現するま
でのビット0の個数を求め、 該ビット0の個数から初めて現われたビット1を含む
それ以降の次数h分の各ビットのそれぞれの値と次数0
〜(h−1)までの2のマイナス巾乗との積和を差し引
き、 更に2の(h−1)乗を掛け合せた求めた値として前
記整数化した近似値を求めることを特徴とする。
【0042】具体的に1次近似、2次近似、3次近似を
例にとると次のようになる。 [1次近似] 各文字xの出現頻度を全文字の出現頻度で割って2進
数で表した値について近似の次数hとしてh=1の一次
近似を定め、 最上位ビットから数えて初めてビット1が出現するま
でのビット0の個数を前記整数化した近似値とする。 [2次近似] 各文字xの出現頻度を全文字の出現頻度で割って2進
数で表した値について近似の次数hとしてh=2の2次
近似を定め、 最上位ビットから数えて初めてビット1が出現するま
でのビット0の個数を求め、 このビット0の個数から初めて現われたビット1を含
むそれ以降の次数h=2分の各ビットのそれぞれの値と
次数0,1,2までの2のマイナス巾乗との積和を差し
引き、 更に2の1乗を掛け合せて前記整数化した近似値を求
める。 [3次近似] 各文字xの出現頻度を全文字の出現頻度で割って2進
数で表した値について近似の次数hとしてh=3の3次
近似を定め、 最上位ビットから数えて初めてビット1が出現するま
でのビット0の個数を求め、 このビット0の個数から初めて現われたビット1を含
むそれ以降の次数h=3分の各ビットのそれぞれの値と
次数0,1,2,3までの2のマイナス巾乗との積和を
差し引き、 更に2の2乗を掛け合せて整数化した近似値を求め
る。
【0043】一方、本発明のデータ圧縮用辞書作成方法
で作成された辞書を使用した符号化方法としては、全体
辞書19内の文字列の番号は木構成の探索で求め、識別
番号で引用される部分辞書20の文字列の番号はハッシ
ュ法で求めることを特徴とする。
【0044】
【作用】このような構成を備えた本発明のデータ圧縮用
辞書作成方法にあっては、LZW符号等で符号化済みの
文字列を木構造で辞書に登録して保持するとき、辞書中
に相似となる木構造の部分が部分が数多く生じる点に着
目し、相似となる木構造の部分集合を部分辞書20とし
て取り出すと共に、全体辞書19を部分辞書20を使っ
て表すことにより、同じ部分集合は1つの部分辞書で済
むことから辞書容量を大幅に低減することができ、高速
検索による符号化及び復号化ができる。
【0045】
【実施例】
[目次] 1.ハードウェア構成 2.本発明による辞書作成及び符号化復号化の概略 3.辞書作成方法の具体例 4.本発明の符号化アルゴリズム 5.本発明の復号化アルゴリズム 6.ハードウェア構成による符号化と復号化の動作 7.文字列出現確率を近似する整数値(文字巾数)の求
め方 8.処理速度を上げる部分辞書の構成 1.ハードウェア構成 図2は本発明を実現するためのハードウエア構成の一実
施例を示した実施例構成図である。
【0046】図2において、10は制御手段としてのC
PUであり、CPU10に対してはプログラムメモリ1
1とデータメモリ18が接続されている。プログラムメ
モリ11にはコントロールソフト12、出現確率算出ソ
フト13、辞書作成ソフト14、符号化ソフト15、最
長一致文字列検索ソフト16及び復号化ソフト17が設
けられる。
【0047】一方、データメモリ18には、これから符
号化しようとする文字列または復号しようとする符号列
を格納するデータバッファ22、部分辞書を用いて表し
た全体辞書19、階層構造をもって作られた部分辞書2
0a,20b,20c、オフセット格納部21を備え
る。オフセット格納部21には部分辞書20a,20
b,20cが全体辞書19の中で復号されたとき、ある
いは部分辞書20a,20b,20cが上位の部分辞書
から復号されたときのバイアス値を格納している。 2.本発明による辞書作成及び符号化復号化の概略 次に図2のデータメモリ18に格納された本発明による
辞書の作成方法を説明する。
【0048】図3は本発明において、文字の確率から辞
書を作成して符号化する方法の一般的な手順を示したフ
ローチャートである。この図3に示す符号化の手順は次
のステップS1〜S7から構成される。 [ステップS1]現在符号化している入力文字列の位置
を示すカーソルを1に初期化する。また各文字の出現頻
度を0に初期化する。 [ステップS2]ステップS1で求めた出現頻度から各
文字の出現確率を求め、この出現確率に基づいて等確率
となる文字列を作成する。続いて全ての等確率となる文
字列に参照番号を付けて辞書Dに登録する。このとき辞
書の登録総数をnとする。尚、各文字の出現確率は各文
字の出現頻度を文字総数で割った値である。また、等確
率の文字列の作成については後の説明で更に明らかにす
る。 [ステップS3]カーソルの位置からの入力文字列に一
致する辞書Dの中の最長一致する文字列Sを見付ける。 [ステップS4]最長一致文字列Sの参照番号nについ
て、「log2 n」ビットを用いて文字列Sに関する参
照番号を圧縮符号として出力する。 [ステップS5]文字列S中の各文字の出現頻度を更新
する。 [ステップS6]カーソルを文字列Sの後ろの文字に移
動させる。 [ステップS7]圧縮率等をチェックして辞書の更新が
必要かどうか判断する。もし必要なければステップS3
に戻り、現在の辞書のままで符号化を継続して行う。も
し辞書の更新が必要ならばステップS2に戻って辞書を
再度作成する。
【0049】図4は本発明により文字の確率から辞書を
作成して復号化する一般的な手順を示したフローチャー
トであり、ステップS8〜S14に示すように図3の符
号化の手順と同様にして辞書を更新し、入力された符号
列、即ち辞書の参照番号から辞書を用いて元の文字列を
復元する処理を行う。このような図3及び図4に示した
符号化及び復号化の処理において、本発明にあっては、
この辞書作成ステップにおいて木構造をもつ辞書の登録
内容の中で重複して現れる文字列の部分の重複登録を避
ける構造を採用することにより辞書のメモリ容量を減ら
すものである。
【0050】即ち、本発明にあっては 各文字の出現確率を対数の整数値で近似して文字列の
出現確率で整数和で表し、 この出現確率の整数和が所定値以下となる文字列群に
参照番号を付けて辞書に登録するとき、整数和が大きい
文字列の部分に参照番号を付けて全体辞書に登録し、 同時に全体辞書に登録した整数和の大きい文字列の部
分に続く整数和の小さい文字列の部分には独立した参照
番号を付けて部分辞書に登録し、 更に全体辞書に登録した文字列の部分を部分辞書に登
録した文字列の部分が引用していることを示す識別番号
を設けるようにしたものである。 3.辞書作成方法の具体例 次に図5,図6及び図7を参照して本発明による辞書の
作成とその構造を具体的に説明する。
【0051】まず説明を簡単にするためa,b,c,d
の4文字を対象とし、各文字が次の確率を出現する情報
源であると仮定する。 p(a)=1/2 p(b)=1/4 p(c)=1/8 P(d)=1/8 このように各文字の出現確率が定まったならば、本発明
にあってはTF法と同様に各文字の確率を対数の整数で
近似する。以下の説明では各文字の対数で表して整数化
した近似値を文字巾数と呼ぶ。このため、文字a,b,
c,dの各文字巾数は次のようになる。
【0052】 i(a)=−log2 p(a)=1 i(b)=−log2 p(b)=2 i(c)=−log2 p(c)=3 i(d)=−log2 p(d)=3 続いて辞書を作成する際の文字列の等確率の整数値(以
下、「等確率値」と呼ぶ)を定める。以下の説明では、
等確率値Iを例えばI=6とする。
【0053】文字列中の文字巾数の和がその文字列の出
現確率を表すため、等確率の文字列を表す辞書を作成す
るためには文字巾数の和が設定した等確率値I=6以下
となる全ての文字列に番号を付けて辞書に登録すればよ
い。図5は等確率値I=6以下となる文字巾数の和をも
つ文字a,b,c,dの組合せとなる文字列を示す。こ
こで、各文字a,b,c,dには a<b<c<d のように重みを設定し、図5に示す文字列のうち接頭文
字列が同一文字の場合、重みの順に参照番号を付けて番
号付けの規則が一義的に定まるようにする。
【0054】例えば、図5の参照番号7〜10の4つの
文字列については、接頭文字列が「aaa」と同一にな
っていることから、この接頭文字列に続く後続文字列の
重みにより参照番号の順番を決めている。図6は図5に
示した文字巾数の和が設定した等確率値I=6以下とな
る文字列を辞書の木構造で示した説明図である。
【0055】図6において、文字列を構成する各文字の
左肩に設定した等確率値I=6と文字巾数和との残差 {I−Σi(x)} の値を表す。この設定した等確率値と文字巾数和との残
差を以下「確率残差」と呼ぶ。
【0056】例えば、図6の文字列「abaaa」の確
率残差は次のようにして算出される。 文字列 確率残差 a I-0=6-0=6 b I-{i(a)}=6-1=5 a I-{i(a)+i(b)}=6-(1+2)=3 a I-{i(a)+i(b)+i(a)}=6-(1+2+1+1)=2 a I-{i(a)+i(b)+i(a)+i(a)}=6-(1+2+1+1)=1 図6から明らかなように、確率残差が同一となる文字の
部分には、それ以降同じ接尾文字列が出現する。例え
ば、確率残差3の文字aに着目すると、全て文字列「a
aa」と文字列「ab」の木構造となる。本発明にあっ
ては、このように辞書の木構造の部分に共通して現れる
部分が多数存在する性質を利用して辞書容量の低減を図
る。
【0057】即ち、本発明にあっては確率残差1〜(I
−1)の部分について部分辞書を作り、全体辞書をこの
部分辞書で表すように構成している。また、部分辞書は
更に低位の確率残差で決まる部分辞書で表されることに
なり、その結果、全体辞書は部分辞書を用いて再帰的に
表されることになる。図7は図6の木構造をもつ全体辞
書を、確率残差(I−4)の部分辞書を用いて再帰的に
表した本発明で用いる辞書構造を示す。
【0058】図7において、確率残差=4をもつ部分辞
書として部分辞書20a−1,2の2つが設けられる。
また、確率残差=3をもつ辞書として20b−1〜5の
5つが設けられる。更に、確率残差=2の部分辞書とし
て部分辞書20c−1〜9の9つが設けられる。同じ確
率残差をもつ部分辞書は重複した登録とせずに1つの部
分辞書20a,20b,20cとして1つの形で登録す
る。また、各確率残差の部分辞書20a,20b,20
cについては、各部分辞書の文字列の数を示す要素数を
保持する。この要素数は例えば部分辞書20a−1,2
の2つを1つにした部分辞書20aにあっては、部分辞
書20a−1に示すように文字列個数=17となる。
【0059】また確率残差=3の部分辞書20b−1〜
5を1つにした部分辞書1bにあっては、文字列を示す
要素数の個数は8つとなる。更に、確率残差=2の部分
辞書20c−1〜9を1つで表す部分辞書20cについ
ては、文字列の数である要素数を示す個数は3個とな
る。この文字列を示す要素数の個数の計数の仕方は、例
えば部分辞書20a−1を例にとると、下位の部分辞書
20b−1と部分辞書20c−2の要素数を示す個数の
和(8+3)=11に、これら部分辞書20b−1,2
0c−2に対する枝の数6個と、部分辞書20a−1に
実際に登録されている参照番号0,9,13,14,1
5,16の6つの文字列を合わせて合計17個とする。
【0060】更に図7において、破線で囲まれた部分辞
書に対応して、図6の全体辞書における参照番号と参照
番号0から新たに登録している各部分辞書の参照番号と
の相違を示すオフセット値を保持するようにしている。
このオフセット値は例えば部分辞書20a−1にあって
は、参照番号0の文字を接尾文字とする文字列「aa
a」の接頭文字aの図6の全体辞書における参照番号の
差として与えられ、図6から明らかなように、参照番号
の差は2であり、この相違がオフセット=2として部分
辞書20a−1について定められる。
【0061】また、同じ木構造をもつ部分辞書20a−
2については、オフセット値=37が保持される。この
ように全体辞書に対する部分辞書の参照番号の相違を示
すオフセットの値を保持しておくことで、図7の全体辞
書と部分辞書を用いた符号化で部分辞書から始まる最長
一致文字列を検索したとき、この部分辞書から始まる文
字列の部分辞書の参照番号と保持したオフセット値を用
いて、図6の全体辞書における参照番号を求めることが
できる。
【0062】例えば、図6の参照番号11の文字列「a
ab」は図7の確率残差4をもって部分辞書20a−1
の参照番号9で表すことができ、この参照番号9にオフ
セット値2を加えることで全体辞書における参照番号1
1を得ることができる。 (確率残差4の部分辞書20-1-1での参照番号9)+(オ
フセット値2)=11 として求められる。
【0063】更に下位の参照番号で最長一致文字列が表
された場合には、同様にその下位の部分辞書に保持した
オフセット値に下位の部分辞書での参照番号を加えるこ
とで全体辞書の参照番号を求めることができる。 4.本発明の符号化アルゴリズム 図8は各文字の出現確率が定まった後における本発明に
よる辞書の作成方法、及び作成した辞書を用いた符号化
アルゴリズムを示したフローチャートである。この辞書
作成及び符号化は次のステップS1〜S11の処理から
なる。 [ステップS1]各文字の出現確率の対数を整数で近似
する。即ち、文字巾数を求める。次に等確率の整数値即
ち等確率値Iを定める。続いて、確率残差が1〜(I−
1)に対応する部分辞書を作成し、上位の辞書を下位の
部分辞書によって再帰的に表し、且つ全体辞書を部分辞
書により再帰的に表す。このとき全体辞書で部分辞書を
引用するときは参照番号をオフセットを引用する位置に
保持する。 [ステップS2]一文字Kを入力し、入力文字Kを参照
番号ωで表す。ここでは任意の文字列を参照番号ωで表
し、文字列ωと文字Kを連接した文字列をωKで表す。 [ステップS3]次の文字Kを入力する。 [ステップS4]符号化継続の有無を判断する。この判
断は次の入力文字があるか否かで判断する。符号化を使
用する場合にはステップS11に進み、それまでの文字
列番号ωを符号化して終了する。それ以外の場合は次の
ステップS5に進む。 [ステップS5]全体辞書の中に文字列ωKが登録され
ているかどうか調べる。もし全体辞書に登録されていれ
ばステップS10に進む。また、もし登録されていなけ
ればステップS6に進む。 [ステップS6]文字列ωKが部分辞書の中に含まれて
いるかどうか調べる。部分辞書に含まれていなければス
テップS7に進み、含まれていればステップS8に進
む。 [ステップS7]文字列ωKが部分辞書に含まれていな
ければ文字列ωKの辞書番号αを求め、新たに文字列番
号ωと置く。 [ステップS8]文字列ωKが部分辞書にあるかどうか
調べる。部分辞書にあればステップS9に進み、なけれ
ばステップS10に進む。 [ステップS9]部分辞書中に文字列ωKがあるので、
文字列ωKの部分辞書の参照番号βを求め、(β+部分
辞書オフセットf)を新たに文字列番号ωと置く。 [ステップS10]文字列ωが全体辞書に登録されてい
ないときは文字列の参照番号ωを「log 2 n」ビット
で符号化する。ここで、nは辞書の登録してある要素数
を示す。更に文字Kを新たな文字列ωと置いてステップ
S3に戻る。 5.本発明の復号化アルゴリズム 図9は各文字の出現確率が定まった後の本発明の辞書作
成方法及び復号化を示したフローチャートであり、次の
ステップS12〜19の処理を行う。 [ステップS12]符号化のステップS1と同様にして
初期化及び辞書作成を行う。 [ステップS13]復号する符号が終了したか否か調べ
る。復号する符号が残っていれば次のステップS14以
降の処理を行う。もし符号が残っていなければ処理を終
了する。 [ステップS14]「log2 n」ビットの符号より参
照番号ωを求める。 [ステップS15]検索済みの辞書の深さを表す変数d
をd=0と置く。 [ステップS16]検索済み文字列から見て深さd+1
にある下位の部分辞書について、 ωK≦ω<ωK+1 となる参照番号ωの文字を探す。もし参照番号が部分辞
書に含まれているときには(ω−部分辞書オフセット
f)で求まる参照番号の文字を探す。 [ステップS17]探し出した文字Kを出力する。 [ステップS18]参照番号ωがωKと等しいかどうか
調べる。もし等しければ番号ωで表される文字列の復元
が終了したことになるので、ステップS13に戻って全
ての符号の復元を終了したか否か調べ、次の符号を入力
して復号する。一方、参照番号ωがωKと異なっていれ
ば次のステップS19に進む。 [ステップS19]探索済み辞書の深さdを1つカウン
トアップした後にステップS16に戻り、参照番号ωで
表される次の文字を復元する。 6.ハードウェア構成による符号化と復号化の動作 次に図8のフローチャートに示した本発明による辞書の
作成と、作成した辞書を用いた符号化を、図2の実施例
の動作として説明すると次のようになる。
【0064】まず、CPU10はコントロールソフト1
2による制御の元に出現確率算出ソフト13を起動し
て、与えられた確率により文字巾数を算出する。次に辞
書作成ソフト14を起動して文字巾数の和が設定された
と等確率値I以下となる全ての文字列を作成し、全体辞
書19及び部分辞書20a,20b,20cとして登録
する。
【0065】このとき同時にオフセット格納部21に各
部分辞書20a〜20cを構成する実際の部分辞書の全
体辞書に対するオフセット値を格納し、全体辞書19と
各部分辞書との対応関係を矢印で示すように識別番号で
示し、更に部分辞書20a〜20c間においても上位の
部分辞書に対し下位の部分辞書のオフセットの対応関係
を矢印で示すように識別番号で示す。
【0066】このデータメモリ18のオフセット格納部
21には一例として図7に示した確率残差4,3,2の
各部分辞書20a,20b,20cのそれぞれに対する
全体辞書19の対応関係と、上位の部分辞書に対する下
位の部分辞書のオフセットの対応関係のオフセット値を
格納した場合を示している。例えば、全体辞書19の文
字列「aa」はオフセット格納部21の確率残差4の部
分辞書20aに対応したオフセット値2に結びつけられ
ており、入力文字列「aa」の検索が全体辞書19で行
われると次に確率残差4の部分辞書20aの検索が行わ
れ、この検索で例えば文字列「aaa」を最長一致文字
列として部分辞書20aの参照番号0が求められた場合
には、全体辞書19で識別されたオフセット値f=2を
加えた参照番号2が全体辞書の参照番号として求めるこ
とができるようにしている。
【0067】続いて、CPU10は符号化ソフト15を
起動する。このときデータバッファ22には外部より一
定長の複数文字列を一度に格納しており、符号化ソフト
15の要求に従って1文字ずつ引き渡す。そしてデータ
バッファ22が空になる度に、同様に外部から複数文字
を取り込む。符号化ソフト15は最長一致文字列検索ソ
フト16によって符号化すべき部分列を部分辞書20
a,20bまたは20cを引用している全体辞書19の
中から見付け、その部分列の番号を符号化する。
【0068】次に図9に示した符号列から文字列を復元
する動作を説明すると、これは符号化の場合と逆であ
り、CPU10はコントロールソフト12により符号化
時と同様に辞書を作成した後、復号化ソフト17を起動
する。復号化ソフト17は受け渡された符号語を1語ず
つ参照番号に直し、全体辞書19より参照番号に対応す
る文字列を取り出して文字列を復元し、データバッファ
22に書き込む。データバッファ22は復元された文字
列で一杯になる度に外部に復元した文字列を出力する。 7.文字列出現確率を近似する整数値(文字巾数)の求
め方 以上説明した本発明の辞書作成方法の例にあっては、説
明を簡単にするために各文字の出現確率を2の巾乗分の
1にとった場合を例にとっている。しかし、各文字の出
現確率が2の巾乗分の1の場合は従来の固定長(文字)
−可変長復号化法として知られたハフマン符号を用いて
も最適な復号化が行われる。
【0069】そこで本発明にあっては、各文字の出現確
率が2の巾乗分の1とならなくとも高い精度の整数で近
似することによって高能率の復号化ができるようにす
る。図10は出現確率を整数で近似する方法の具体例を
示す。いま入力文字数がちょうど2の巾数となった時点
で各文字の出現頻度により確率を表す整数値を求める。
図10の例では、2進表示された入力文字の総数(a)
が32になった時点で、同じく2進数で表された各文字
の出現頻度の計数値(b)がとる値によってどのような
整数で近似するかの近似値を(d)に示している。
【0070】また、出現頻度の計数値(b)に対応する
実際の各文字の出現確率は(c)に示す値をとる。勿
論、出現確率(c)としては入力文字の総数(a)で各
文字の出現頻度計数値(b)を割って2進数で表した値
としてもよい。この図10における出現確率の2の巾乗
近似(d)としては、近似の次数をhとするとh=1の
1次近似、h=2の2次近似、及びh=3の3次近似の
各値ぬを示している。即ち、1次近似,2次近似,3次
近似は次のようにして求めることができる。
【0071】巾数の1次近似 計数値(b)について、最上位ビットから数えてビット
1が初めて現れるまでのビット0の個数で表す。 巾数の2次近似 計数値(b)について、最上位ビットから数えてビット
1が初めて現れるまでのビット0の個数に、最初に現れ
たビット1に1の重みを付けて乗じた後に次のビットに
−0.5の重みを付けて加算し、その値に2倍を乗じた
ものである。
【0072】巾数の3次近似 計数値(b)について、最上位ビットから数えてビット
1が初めて現れるまでのビット0の個数に、初めて現れ
たビット1に1の重みを付けて乗じ、この値から次のビ
ットに−0.5の重みを付けて加え、更に次のビットに
−0.25の重みを付けて加え、この値に更に4倍を乗
じたものである。
【0073】例えば、図11の頻度計数1(b)=「0
0011B」を例にとると、1次近似は最上位ビットか
ら数えてビット1が初めて現れるまでのビット0の個数
は3であることから、 1次近似=3 として求められる。
【0074】また、2次近似については最上位ビットか
ら数えてビット1が初めて現れるまでのビット0の個数
は3であり、これに最初に現れたビット1に1の重みを
付けて掛け合わせた値に次のビット1に0.5の重みを
付けた値を加算して2.5を求め、更に2倍を乗ずるこ
とで 2次近似=5 を求めることができる。
【0075】更に、3次近似については、最上位ビット
から数えてビット1が初めて現れるまでのビット0の個
数3にビット1に1の重みを付けて掛け合わせて3を求
め、次のビットに−0.5の重みを付けて加えることで
0.25を求め、それ以上下位のビットは存在しないこ
とから、最終的に4倍を乗じて, 3次近似=2.
5×4=10 を求める。
【0076】このような前記〜に示した出現確率の
2の巾数近似は近似の次数をhとすると、一般には次の
ように表すことができる。
【0077】
【数3】
【0078】尚、この一般式における2のh乗の乗算は
1次より高次の近似をする場合に各文字の巾数と合わせ
たスケーリングをするためのものである。 8.処理速度を上げる部分辞書の構成 上記の実施例にあっては、図7に示したように、全体辞
書を下位の部分辞書から再帰的に表すようにしている。
このように部分辞書を全て再帰的に表せば辞書のメモリ
容量は著しく低減することができる。
【0079】しかしながら、再起的な辞書の表現は下位
の部分辞書を順番に引用するため処理速度を低下させ、
このため処理速度の高速化が必要な場合には図11に示
すように全体辞書の中の大きい部分辞書のみを引用すれ
ばよい。図11のように部分辞書において下位の部分辞
書を引用しない場合には、この部分辞書は従来のハッシ
ュ法を使用して高速に符号化及び復号化することができ
る。従って、下位の部分辞書を引用しない全体辞書数の
大きな部分辞書のみの引用とした場合には、辞書のメモ
リ容量を低減できると同時に全体辞書のみを使用した従
来方法と同様の処理速度を得ることができる。
【0080】尚、上記の実施例にあっては、説明を簡単
にするため文字が独立に出現するとして履歴無しの零重
マルコフモデルとして捕えている。本発明はこれに限定
されず、各文字に以前の文字の脈絡に関係して出現する
と考える多重履歴をもつ多重マルコフモデルで捕えても
よい。多重マルコフモデルの場合には各文字の出現確率
は以前の文字に対する条件付き確率を用いる。
【0081】
【発明の効果】以上説明したように本発明によれば、辞
書に登録された文字列群の中の木構造において、相似す
る木構造の部分を1つの部分辞書にまとめて登録できる
ため、辞書に使用するメモリ容量を大幅に低減すること
ができる。また、文字の出現確率から辞書を作成するた
め、確率が低い不要な文字列は辞書に登録されず、辞書
の検索処理に要する時間を短縮して効能率の符号化及び
復号化を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明の一実施例を示した実施例構成図
【図3】本発明により文字の確率から辞書を作成して符
号化する方法を示したフローチャート
【図4】本発明により文字の確率から辞書を作成して復
号化する方法を示したフローチャート
【図5】辞書に登録した等確率の文字列と参照番号の説
明図
【図6】図5を例にとって等確率文字列を登録した辞書
の木構造を示した説明図
【図7】図6の木構造について本発明の部分辞書による
再帰的表現を示した説明図
【図8】本発明の符号化アルゴリズムを示したフローチ
ャート
【図9】本発明の復号化アルゴリズムを示したフローチ
ャート
【図10】本発明の辞書作成で用いる文字列の出現確率
の対数和の近似値を示した説明図
【図11】本発明の部分辞書の他の表現を示した説明図
【図12】従来のLZW符号化アルゴリズムを示したフ
ローチャート
【図13】従来の算術符号の符号化および復号化アルゴ
リズムの説明図
【図14】従来の履歴なしの多値算術符号化処理を示し
たフローチャート
【図15】従来の1重履歴の場合の多値算術符号の符号
化処理を示したフローチャート
【図16】本願発明者等が既に提案している文字の出現
確率に基づいた辞書を作成して符号化する符号化処理を
示したフローチャート
【符号の説明】
10:CPU 11:プログラムメモリ 12:コントロールソフト 13:出現確率算出ソフト 14:辞書作成ソフト 15:符号化ソフト 16:最長一致文字列検索ソフト 17:復号化ソフト 18:データメモリ 19:全体辞書 20,20a,20c,20c:部分辞書 21:オフセット格納部 22:データバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】入力文字列中の各文字(x)の出現確率
    {p(x)}より、出現確率が等確率となる文字列群に
    参照番号を付けて辞書に登録しておき、入力文字列を前
    記辞書中の文字列群中の一致する文字列の参照番号で表
    して符号化し、また符号化データの参照番号による辞書
    の参照で元の文字列を復元するデータ圧縮方法に於い
    て、 各文字(x)の出現確率p(x)を対数の整数値で近似
    して文字列の出現確率を整数和{Σi(x)}で表し、 前記出現確率の整数和{Σi(x)}が所定値(I)以
    下となる文字列群に参照番号を付けて辞書に登録すると
    き、該整数和{Σi(x)}が大きい文字列の部分に参
    照番号を付けて全体辞書(19)に登録し、 同時に該全体辞書(19)に登録した整数和の大きい文
    字列の部分に続く整数和の小さい文字列の部分には独立
    した参照番号を付けて部分辞書(20)に登録し、 更に前記全体辞書(19)に登録した文字列の部分が前
    記部分辞書(20)に登録した文字列の部分が引用して
    いることを示す識別番号を設けたことを特徴とするデー
    タ圧縮用辞書作成方法。
  2. 【請求項2】請求項1記載のデータ圧縮用辞書作成方法
    に於いて、 前記部分辞書(20)毎に登録文字列の数および全体辞
    書の参照番号に対する部分辞書(20)の参照番号の相
    違を示すオフセット値を登録し、部分辞書(20)の番
    号に一致する文字列を検索した場合に、該部分辞書内で
    の番号と前記オフセット値の和として全体辞書での番号
    を求めて符号化させることを特徴とするデータ圧縮用辞
    書作成方法。
  3. 【請求項3】請求項1記載のデータ圧縮用辞書作成方法
    に於いて、前記各文字列の出現確率を対数和の整数化し
    た近似値で求める場合に、 各文字xの出現頻度を全文字の出現頻度で割って2進
    数で表した値について近似の次数hを定め、 最上位ビットから数えて初めてビット1が出現するま
    でのビット0の個数を求め、 該ビット0の個数から初めて現われたビット1を含む
    それ以降の次数h分の各ビットのそれぞれの値と次数0
    〜(h−1)までの2のマイナス巾乗との積和を差し引
    き、 更に2の(h−1)乗を掛け合せた求めた値として前
    記整数化した近似値を求めることを特徴とするデータ圧
    縮用辞書作成方法。
  4. 【請求項4】請求項3記載のデータ圧縮用辞書作成方法
    に於いて、 各文字xの出現頻度を全文字の出現頻度で割って2進
    数で表した値について近似の次数hとしてh=1の一次
    近似を定め、 最上位ビットから数えて初めてビット1が出現するま
    でのビット0の個数を前記整数化した近似値とすること
    を特徴とするデータ圧縮用辞書作成方法。
  5. 【請求項5】請求項3記載のデータ圧縮用辞書作成方法
    に於いて、 各文字xの出現頻度を全文字の出現頻度で割って2進
    数で表した値について近似の次数hとしてh=2の2次
    近似を定め、 最上位ビットから数えて初めてビット1が出現するま
    でのビット0の個数を求め、 該ビット0の個数から初めて現われたビット1を含む
    それ以降の次数h=2分の各ビットのそれぞれの値と次
    数0,1,2までの2のマイナス巾乗との積和を差し引
    き、 更に2の1乗を掛け合せて前記整数化した近似値を求
    めることを特徴とするデータ圧縮用辞書作成方法。
  6. 【請求項6】請求項3記載のデータ圧縮用辞書作成方法
    に於いて、 各文字xの出現頻度を全文字の出現頻度で割って2進
    数で表した値について近似の次数hとしてh=3の3次
    近似を定め、 最上位ビットから数えて初めてビット1が出現するま
    でのビット0の個数を求め、 該ビット0の個数から初めて現われたビット1を含む
    それ以降の次数h=3分の各ビットのそれぞれの値と次
    数0,1,2,3までの2のマイナス巾乗との積和を差
    し引き、 更に2の2乗を掛け合せて前記整数化した近似値を求
    めることを特徴とするデータ圧縮用辞書作成方法。
  7. 【請求項7】請求項1記載のデータ圧縮用辞書作成方法
    に於いて、 前記全体辞書(19)内の文字列の番号は木構成の探索
    で求め、前記識別番号で引用される部分辞書(20)の
    文字列の番号はハッシュ法で求めることを特徴とする符
    号化方法。
JP4046447A 1992-03-04 1992-03-04 データ圧縮用辞書作成方法及び符号化方法 Withdrawn JPH05250136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4046447A JPH05250136A (ja) 1992-03-04 1992-03-04 データ圧縮用辞書作成方法及び符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4046447A JPH05250136A (ja) 1992-03-04 1992-03-04 データ圧縮用辞書作成方法及び符号化方法

Publications (1)

Publication Number Publication Date
JPH05250136A true JPH05250136A (ja) 1993-09-28

Family

ID=12747415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4046447A Withdrawn JPH05250136A (ja) 1992-03-04 1992-03-04 データ圧縮用辞書作成方法及び符号化方法

Country Status (1)

Country Link
JP (1) JPH05250136A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020261313A1 (ja) * 2019-06-24 2020-12-30
CN115842621A (zh) * 2023-02-21 2023-03-24 安徽汇迈信息科技有限公司 一种基于大数据与云边协同的智慧医疗系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020261313A1 (ja) * 2019-06-24 2020-12-30
WO2020261313A1 (ja) * 2019-06-24 2020-12-30 日本電信電話株式会社 画像符号化方法、及び画像復号方法
CN115842621A (zh) * 2023-02-21 2023-03-24 安徽汇迈信息科技有限公司 一种基于大数据与云边协同的智慧医疗系统
CN115842621B (zh) * 2023-02-21 2023-04-18 安徽汇迈信息科技有限公司 一种基于大数据与云边协同的智慧医疗系统

Similar Documents

Publication Publication Date Title
JP3238854B2 (ja) データ圧縮方法及びデータ圧縮装置、並びにデータ復元方法及びデータ復元装置
JP3241788B2 (ja) データ圧縮方式
JPS61242122A (ja) 文字データ・ストリームの適応的圧縮方法
JP3231105B2 (ja) データ符号化方式及びデータ復元方式
Pandey et al. An enhanced data compression algorithm
JPH05250136A (ja) データ圧縮用辞書作成方法及び符号化方法
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JP3241787B2 (ja) データ圧縮方式
JP2954749B2 (ja) データ圧縮方式
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JPH03247167A (ja) データ圧縮方式
JPH05241775A (ja) データ圧縮方式
JPH06168097A (ja) データ符号化方式及びデータ復元方式
JPH05152971A (ja) データ圧縮・復元方法
JPH06161705A (ja) データ符号化方式及びデータ復元方式
JP3051501B2 (ja) データ圧縮方法
JP3012677B2 (ja) Zl符号化方法
JP3117760B2 (ja) データ復元方式
Azeem et al. A Survey: Different Loss-less Compression Techniques
Kumar A plain-text compression technique with fast lookup ability
JPH04280517A (ja) データ圧縮および復元方式
JP3100206B2 (ja) データ圧縮方法
JPH06202844A (ja) データ圧縮復元処理装置
YOKOO A lossless coding algorithm for the compression of numerical data
JP3083329B2 (ja) データ圧縮復元方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518