JPH06161705A - データ符号化方式及びデータ復元方式 - Google Patents

データ符号化方式及びデータ復元方式

Info

Publication number
JPH06161705A
JPH06161705A JP4310295A JP31029592A JPH06161705A JP H06161705 A JPH06161705 A JP H06161705A JP 4310295 A JP4310295 A JP 4310295A JP 31029592 A JP31029592 A JP 31029592A JP H06161705 A JPH06161705 A JP H06161705A
Authority
JP
Japan
Prior art keywords
data
dictionary
lzw
encoding
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
JP4310295A
Other languages
English (en)
Inventor
Yasuhiko Nakano
泰彦 中野
Yoshiyuki Okada
佳之 岡田
Shigeru Yoshida
茂 吉田
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 JP4310295A priority Critical patent/JPH06161705A/ja
Publication of JPH06161705A publication Critical patent/JPH06161705A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 (修正有) 【目的】複数種類のデータが混在するファイルを高い圧
縮率で符号化する。 【構成】学習辞書31並びに専用のオブジェクトコード
用辞書32−1、ソースコード用辞書32−2及び画像
データ用辞書32−3の4種類の辞書を用意する。符号
器A〜Dは、夫々辞書31,32−1〜32−3を用い
て原データ30をLZW符号化して圧縮データA〜Dを
作成する処理を並行して同時に行う。圧縮データA〜D
は夫々バッファA〜Dを介してMPX35に出力され
る。演算回路により、圧縮データA〜Dの圧縮率A〜D
が算出され、圧縮率比較器34に出力され、これを基に
比較器は圧縮率が最も高い圧縮データをMPXに通知す
る。MPXは、この通知に基づき、最も圧縮率の高い圧
縮データを選択し、いずれかの辞書を用いてLZW符号
化されたものであるかを示す辞書情報を付与して出力す
る。この辞書情報を基に復元側は同様の4種類の辞書を
用いて復元を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ジブ・レンペル(Ziv-L
empel)符号によるユニバーサル符号化方式によりデータ
を圧縮するデータ符号化方式、及びデータ復元方式に関
する。
【0002】
【従来の技術】近年、OA(オフィシャル・オートメー
ション)の発達に伴い、一文書中に文字、図形、画像な
ど様々のメディアを混在して取り込めるようになってき
ている。そして、文字コードや白黒2値画像等の混在情
報が、それらのレイアウト情報とともに、文書データと
してG4(超高速)ファクシミリや光ディスクファイル
・システムなどで扱われるようになってきており、それ
らの情報のデータ量も急速に増加してきている。これら
のマルチメディアから成る文書情報をディジタルデータ
として利用するとき、一般に、画像情報のデータ量は文
字コードのデータ量に比較して10倍〜数10倍と多く
なる。このため、データ蓄積やデータ伝送等で、画像情
報を扱うときは、それらの処理を効率良く行うために、
データの中の冗長な部分を省いてデータ量を圧縮するこ
とにより、記憶容量の削減や伝送の効率化を図ってい
る。
【0003】しかしながら、大容量のファイルシステム
や文書データベースでは、文書データ中の文字コード情
報も全体として大きなものとなるため、画像情報のみな
らず文字コード情報の圧縮も必要となってくる。
【0004】文字コードや画像データなどの様々のデー
タを一つの方式でデータ圧縮できる方法として、ユニバ
ーサル符号化方式が知られており、その代表的な方法と
してジブ・レンペル符号(宗像清治、「Ziv-Lempelのデ
ータ圧縮法」、情報処理、Vol.26,No.1,Jan.1985年参
照)がある。
【0005】このジブ・レンペル符号には、 ユニバーサル型と 増分分解型(Incremental Paring)の2つのアルゴリ
ズムがある。
【0006】さらに、ユバーサル型アルゴリズムの改良
として、LZSS符号がある(T.C.Bell,"Better OPM/L
Text Compression",IEEE Trans. on Commun., Vol.COM-
34,No.12,Dec.1986参照)。
【0007】また、増分分解型アルゴリズムにも、その
改良型として、LZW(Lempel-Ziv-Welch )符号がある
(T.A. Welch,"A Technique for High-Performance Data
Compression",Computer,June 1984 参照)。
【0008】これらの符号化方式の内、高速処理ができ
ることと、アルゴリズムが簡単であることから、最近
は、LZW符号が、記憶装置に格納するファイルの圧縮
などに使用されるようになってきている。
【0009】ここで、上記ユニバーサル符号化の代表的
は方法であるジブ・レンペル符号のユニバーサル型及び
増分分解型の2つのアルゴリズムについて説明する。 1.ユニバーサル型のアルゴリズム このアルゴリズムは、演算量が多いが、高い圧縮率が得
られるものであり、符号化するデータを、過去のデータ
系列の任意の位置から一致する最大長の系列(部分列)
に区切り、過去の系列の複製として符号化する方法であ
る。
【0010】このようなユニバーサル型ジブ・レンペル
符号の符号化の基本概念を図11(a) に示す。同図(a)
に示すPバッファには過去のデータ系列である既に符号
化済みの入力データ「・・・abc・・・」が格納され
ている。一方、Qバッファにはこれから符号化するデー
タ(文字列)「abcdef」が入力・格納されてい
る。
【0011】このような状態において、Qバッファ内の
データを符号化する際には、Qバッファのデータ系列を
キーとしてPバッファ内のデータ系列を走査し、Pバッ
ファ内でQバッファ内のデータ系列に一致する最大長の
部分列(同図(a) の例では「abc」)を求める。そし
て、Pバッファ中のこの最大長の部分列を指定するため
に、同図(b) に示す形式の情報の組を符号化する。この
情報の組は、「Pバッファ中における最大一致系列の開
始位置」(同図(a) の例では「a」のアドレス)、「一
致する長さ」(同図(a) の例では「3」)、及び「次の
シンボル」(同図(a) の例では「d」)の3個の情報か
らなる。
【0012】続いて、このQバッファ内の符号化した系
列(この場合、「abc」)をPバッファ内に移動・格
納して新たな過去のデータ系列を得る。以下、Qバッフ
ァ内の残りのデータ系列「def」についても、同様の
操作を繰り返し、Qバッファ内の残りのデータ系列をP
バッファ内に既に格納されている部分列に分解し、上述
のようにして符号化すると共に、Pバッファ内のデータ
系列を更新する。
【0013】2.増分分解型のアルゴリズム このアルゴリズムは、圧縮率はユニバーサル型より劣る
が、アルゴリズムが簡単であり、計算も容易であること
から高速処理ができる。
【0014】このアルゴリズムの代表的な方法であるL
ZW符号化の方法を、図12に示すフローチャート、図
13に示す辞書(学習辞書)、及び図14に示すデータ
変換の模式図を用いて説明する。
【0015】LZW符号化は、書き替え可能な辞書(学
習用辞書)を1個持ち、入力文字列を相異なる文字列
(部分列)に分け、これらの文字列を出現した順に参照
番号を付けて上記辞書に登録すると共に、現在入力して
いる文字列を、上記辞書に既に登録されている最大長の
一致する文字列に割り当てられた参照番号で表すことに
より符号化するものである。尚、以後の説明では、情報
理論で用いられる呼称を踏襲し、データの1ワード単位
を文字と呼び、データが任意ワードつながったものを文
字列と呼ぶ。
【0016】LZW符号化処理では、まず、ステップS
1で、予め辞書DC に、全文字につき一文字から成る文
字列を登録する初期化を行う。即ち、例えば、一文字を
8ビットコードで符号化する場合には、最大256種類
の全文字につき一文字からなる文字列を、辞書DC のア
ドレス0〜255番地に初期登録する。これにより、例
えば図13に示すように、辞書DC のアドレス0、1、
2、・・・、255に、アルファベット「a」、
「b」、「c」、・・・や、ひらがな、カタカナ、数字
等が登録される。尚、同図の左側に示す文字列テーブル
B1は説明を容易なものとするために、補助的に示した
ものである。
【0017】以下の説明では、説明を分かり易くするた
めに、図14に示すような入力文字列が入力された場合
の例を取り上げて説明する。まず、ステップS1で、辞
書DC の書込用先頭アドレスnに、上記初期登録された
最後の文字列の格納アドレスの次のアドレスである「2
56」を新たに登録する文字列の辞書DC への格納アド
レスnとして設定する。
【0018】続いて、同じくステップS1で、入力され
た最初の文字Kをキーデータ(インデックス)として辞
書Dc を検索し、参照番号ω(辞書DC 内での文字Kの
格納アドレス)を求め、これを語頭文字列(prefix stri
ng) とする。これにより、入力文字列が、例えば、図1
4に示すような「ababcbababaaaaaa
a」であれば、最初の文字Kである「a」をインデック
スとして辞書DC が検索され、「a」が登録されている
番地「0」が参照番号ωとして求められ、その「0」が
語頭文字列となる(図14の出力コードの欄を参照)。
【0019】次に、ステップS2で、入力文字列の次の
文字Kを読む。これにより、上記最初の入力文字の
「a」の次の文字「b」が読み込まれる。続いて、ステ
ップS3で、文字Kがあるか否かを判別する。これは、
入力文字列がまだ終了していないか否かを判別する処理
であり、上記ステップS2で次の文字が読み出されたか
否かを判別する。
【0020】図14に示す入力文字列の場合は「a」の
次の文字「b」が読み込まれているので文字列がまだ終
了しておらず、したがってYesと判断し、次にステッ
プS4で、文字列「ωK」が辞書DC に登録されてある
か否か検索する。これにより、ステップS1で求められ
た語頭文字列ω(ここでは「0」)に、ステップS2で
読み込んだ文字K(ここでは「b」)を加えた文字列
が、辞書辞書DC 内に登録されているか否かが調べられ
る。
【0021】そして、この検索で、Noであれば、ステ
ップS6に進み、ステップS1で得られている文字Kの
参照番号ωの符号「code(ω)」を出力し、また文字列
「ωK」に新たな参照番号nを付与して辞書DC のアド
レスnに登録する。これにより、図14に示す入力文字
列の場合、まず、「a」の参照番号ωである「0」の符
号が出力され、さらに、検出されなかった文字列「0
b」が、辞書辞書DC のアドレス256に登録される。
【0022】続いて、同じくステップS6で、上記ステ
ップS2で読み込んだ入力文字Kを参照番号ωに置き換
えると共に、辞書DC のアドレスnを「1」インクリメ
ントして、ステップS2に戻る。これにより、図14の
入力文字列の例であれば、参照番号ωが「b」の参照番
号である「1」に置き換えられ、次回新たに書き込まれ
る辞書DC のアドレスがインクリメントされて「25
7」に変わる。
【0023】一方、ステップS4で文字列「ωK」が辞
書DC に登録されていれば、この場合は、ステップS5
に進んで、その文字列「ωK」を参照番号ωに置き換
え、ステップS4で文字列「ωK」が辞書DC から探せ
なくなるまでステップS2〜S5を繰り返し、最大一致
長の文字列の検索を続ける。
【0024】このような方法で行われるLZW符号化の
処理を、図14に示す入力文字列「ababcbaba
baaaaaaa」を取り上げて具体的に説明すると、
まず、最初の文字「a」を入力したとき、辞書DC には
「a」の他に一致する文字列がないので、出力コード
「0」(参照番号ω)を出力する。そして、拡張した文
字列abに参照番号「256」を付与して辞書DC に登
録する。実際の辞書登録は図13の右側に示すように
「0b」の形で登録される。
【0025】続いて、2番目の文字「b」が文字列の先
頭になる。辞書DC には「b」の他に一致する文字がな
いので「1」(参照番号ω)の符号(コード)を出力
し、同時に拡張した文字列「ba」も辞書DC にないの
で、文字列「ba」を「1a」で表し、参照番号「25
7」を付与して辞書DC に登録する。次は、3番目の文
字「a」が次の文字列ωKの先頭になる。以下同様に、
このような処理を続けていくことにより、図14に示す
入力文字列「ababcbababaaaaaaa」が
同図の出力コード欄に示す「0、1、256、2、25
7、260、0、262、263」の出力コードに変換
され、この結果として、入力文字列が圧縮される。
【0026】次に、上述の如くLZW符号化された符号
データを復元するアルゴリズムを、図15のフローチャ
ートを用いて説明する。また、この復元の具体例とし
て、図14に示すLZW符号化された出力コード列
「0、1、256、2、257、260、0、262、
263」を、入力符号列として図16(a) に再掲して説
明の補助とする。
【0027】先ず、ステップS11では、この場合も上
記LZW符号化のときと同様に、辞書Dd に全文字につ
き一文字から成る文字列を初期登録する。これから説明
する上記具体例では、一文字「a」,「b」,「c」、
・・・を、参照番号「0」、「1」、「2」、・・・の
符号(コード)として辞書Dd に登録し、また、辞書D
d の書込用先頭アドレスnに、上記初期登録された最後
の文字列の格納アドレスの次のアドレスである「25
6」を、新たに登録する文字列の辞書Dd への格納アド
レスnとして設定する。
【0028】次に、同じくステップS11で、最初の入
力符号code(ω)を読み込み、これをOLDωにセット
する。これにより、図16(a) に示す入力符号の例では
最初の入力符号である「0」の符号が読み込まれて、参
照番号「0」に変換された後、OLDωにセットされ
る。
【0029】続いて、同じくステップS11で、入力符
号code(ω)を復元する。この処理では、最初の入力符
号code(ω)は上述のようにして初期登録された辞書D
d に既に登録されているから、その入力符号code(ω)
に一致する文字「K」を辞書Dd から探し出して出力す
る。尚、出力した文字「K」は後に必要に応じて行われ
る例外処理に備えてFINcharにセットする。
【0030】これにより、図16(a) に示す入力符号の
例では、「0」の参照番号に対応する文字「a」が復元
・出力されると共に、FINcharにもセットされる。続
いて、ステップS12で、次の入力符号code(ω)を読
み込む。すなわち、図16(a) に示す入力符号の例で
は、入力符号「1」が読み込まれる。
【0031】そして、ステップS13で、新たに読み込
まれた入力符号code(ω)が辞書Ddに登録されている
か否か、すなわち符号入力の終了の有無の判別をする。
図16(a) に示す入力符号の例では、ステップS12で
「1」が新たな入力符号code(ω)として読み込まれて
いる。
【0032】このように、新たな入力符号code(ω)が
あれば、ステップS14に進んで、この入力符号code
(ω)に対応する参照番号「ω」をINωにセットす
る。これにより、図16(a) に示す入力符号の例では、
「1」がINωにセットされる。
【0033】つぎに、ステップS15で、上記参照番号
「ω」が辞書Dd に登録されているか否か(ω≧n)を
判別する。この処理では、通常、読み込んだ符号code
(ω)は前回までの処理で、辞書Dd に登録されている
から、ω<nであり、ステップS16に進んで、辞書D
d を検索して、上記参照番号「ω」に対応する文字列を
辞書Dd から読み出し、文字Kを一時的にスタックし、
参照番号code(ω)を新たな符号code(ω)として再度
ステップS16に戻り、このステップS16、S17の
手順を再帰的に参照番号ωが一文字Kに至るまで繰り返
し、最後ステップS18に進んでS17でスタックした
文字をLIFO(Last In First Out) 形式でポップアッ
プして出力する。同時に、S18において、前回使った
符号ωと今回復元した文字列の最初の一文字Kを組
(ω、K)と表した文字列に、新たな参照番号を付加し
て辞書Dd に登録する。そして、nを「1」インクリメ
ントして、その「n+1」を次に辞書Dd に新たに登録
するアドレスnとして設定し、さらにINωにセットさ
れていた参照番号「ω」をOLDωに代入して、ステッ
プS12に戻る。
【0034】これにより、図16(a) に示す入力符号の
場合には、同(b) に示すように、2番目に読み込まれた
参照番号「1」の符号から復元された文字「b」が出力
され、その「b」がFINcharにセットされると共に、
前回の復元された参照番号「0」と今回復元した最初の
一文字「b」との連なりから成る文字列「0b」が新た
な参照番号「256」に対応付けられて辞書Dd に登録
される。
【0035】そして、辞書Dd の格納アドレスが「25
7」に更新された後、OLDωには「1」がセットさ
れ、ステップS12で3番目の符号「256」が読み込
まれる。
【0036】そして、辞書Dd の検索により求められた
文字列「0b」から文字列「ab」への置き換えが行わ
れて、文字列「ab」が出力される。同時に、前回処理
した参照番号「1」と今回復元した1番目の文字「a」
とを組み合わせた文字列「1a」(=「ba」)が新た
な参照番号「257」に対応付けられて辞書Dd に登録
される。
【0037】上記のステップS15の判別で、読み込ん
だ符号code(ω)が前回までの処理で辞書Dd に登録さ
れていない場合は、ステップS19に進んで例外処理を
行う。すなわち、前回処理した参照番号「OLDω」に
前回復号した文字列の最初の一文字「FINchar」を加
えた文字列「OLDω、FINchar」を求め、この新た
な文字列に対応する参照番号をINωにセットしてから
ステップS16に進む。
【0038】例えば、図16(a) に示す入力符号の例で
は、6番目に入力する「260」の符号に対応する参照
番号「260」は、この時点では辞書Dd に定義されて
いない。この場合は、前回処理した参照番号「257」
に前回復元した文字列「ba」の最初の一文字「b」を
加えた文字列「257b」を求め、この文字列に対し参
照番号「260」を付与し、この参照番号をINωにセ
ットする。そして、ステップS16→S17の処理を繰
り返すことにより、「b」、「a」、「b」の順に1文
字づつスタックする。そしてステップS18で、ポップ
アップ操作により「280」の符号を「bab」の文字
列に復元・出力すると共に、上記文字列「257b」を
参照番号「260」に対応付けて辞書Dd に登録する
(同図(b)〜(e) 参照)。
【0039】以下、同様にこのような処理を順次繰り返
すことにより、図16(a) に示す入力符号が同図(e) に
示す文字列に復元される。
【0040】
【発明が解決しようとする課題】上述したジブ・レンペ
ル(Ziv-Lempel)符号は、他の方式に見られるような対
象データの統計的な性質や定常性を予め仮定して圧縮を
行う方法ではなく、復号すると元の情報に完全に復元さ
れるという情報保存型のデータ圧縮方法であることか
ら、例えば文字コードやプログラムのソースコードもし
くはオブジェクトコードのように、完全な復元が要求さ
れるデータの圧縮に適している。
【0041】また、画像データを、一定量のデータに分
割して、そのデータを文字コード同様に扱えば、ジブ・
レンペル(Ziv-Lempel)符号によって圧縮することがで
きる。したがって、例えば文字コードと画像データのよ
うに性質が異なる複数種類のデータが混在する情報を1
つの符号化方式で圧縮することは可能であり、また、そ
れが実現できれば便利であるといえる。
【0042】しかし、従来のジブ・レンペル(Ziv-Lemp
el)符号化は、1個の書き換え可能な辞書のみを用いて
行っており、この辞書を入力データにより更新してい
き、辞書の容量が一杯になると(空容量が無くなると)
直ちにクリアするか、または容量が一杯になった後、圧
縮率が悪化してきた場合クリアして、再び辞書の登録を
最初から始めるという方法、辞書が一杯になったら登録
を止めて、そのままその辞書を使い続ける方法などでデ
ータを符号化している。このため、初期又はクリア後の
辞書のデータ登録数が少ない時点では、入力データの性
質を十分に学習することができず高い圧縮率を得ること
が難しかった。
【0043】また、辞書データの登録数が増加しても、
入力データの性質の変化が大きいときは、辞書には平均
的な性質を反映する内容のみが登録されてるため、辞書
の効率的な利用ができない、すなわちデータの圧縮率が
低いという欠点があった。
【0044】本発明は、かかる実情に鑑みてなされたも
のであって、入力データの性質の変化が大きい場合で
も、高い圧縮率で入力データを符号化できるデータ符号
化方式及びこのデータ符号化方式によって符号化された
データを復元するデータ復元方式を実現することを目的
とする。
【0045】
【課題を解決するための手段】請求項1記載の発明のデ
ータ符号化方式は、ジブ・レンペル符号によるユニバー
サル符号化方式によりデータ圧縮を行うデータ符号化方
式であって、書き換え可能な学習用辞書1と、それぞれ
異なる種類の入力データの性質を取り込んだ書き換え不
可能な参照専用の複数の専用辞書2−1、2−2、・・
・、2−nと、学習用辞書1及び複数の専用辞書2−
1、2−2、・・・、2−nを用いた入力データのLZ
W符号化を並行に行う圧縮手段3と、この圧縮手段3に
よるLZW符号化の並行処理の結果得られた複数の圧縮
データのうち、一番圧縮率の高い圧縮データをこの圧縮
データの作成に用いられた辞書を示す辞書情報と共に選
択出力する選択出力手段4とで構成される。
【0046】上記圧縮手段3は、例えば請求項2記載の
ように、上記入力データを一定区間単位でLZW符号化
する。また、例えば請求項3記載のように、上記入力デ
ータを各辞書1、2−1、2−2、・・・、2−n毎に
最大長の文字列で、順次LZW符号化する。
【0047】請求項4記載のデータ復元方式は、請求項
1記載のデータ符号化方式によりLZW符号化された圧
縮データ復元するデータ復元方式であって、書き換え可
能な学習用辞書21と、それぞれ異なる種類の入力デー
タの性質を取り込んだ書き換え不可能な参照専用の複数
の専用辞書22−1、22−2、・・・、22−nと、
上記辞書情報を参照して学習用辞書21又は複数の専用
辞書22−1、22−2、・・・、22−nの中から、
復元すべき圧縮データのLZW符号化に用いられた辞書
を選択し、この辞書を用いて上記圧縮データを復元出力
する復元手段23とで構成される。
【0048】請求項5記載のデータ復元方式は、請求項
2記載のデータ符号化方式によりLZW符号化された圧
縮データを復元するデータ復元方式であって、請求項4
記載のデータ復元方式の復元手段23が、復元した圧縮
データ数を計数し、その計数値がある特定の値となるこ
とを検出することにより、上記一定区間を判別して、入
力データの復元を行うように構成される。
【0049】請求項6記載のデータ復元方式は、請求項
3記載のデータ符号化方式によりLZW符号化された圧
縮データを復元するデータ復元方式であって、請求項4
記載のデータ復元方式の復元手段23が、上記辞書情報
に続くLZW符号化を順次復元していくように構成され
る。
【0050】
【作用】請求項1記載の発明のデータ符号化方式では、
圧縮手段3は、学習用辞書1と、参照専用の複数の専用
辞書2−1、2−2、・・・、2−nに並行して、例え
ば、上記入力データを一定区間単位でLZW符号化す
る。また、例えば、上記入力データを各辞書1、2−
1、2−2、・・・、2−n毎に最大長の文字列で順次
LZW符号化する。
【0051】選択出力手段4は、圧縮手段3により並行
してLZW符号化を行った結果得られた複数の圧縮デー
タのうち、一番圧縮率の高い圧縮データをこの圧縮デー
タの作成に用いられた辞書を示す辞書情報と共に選択出
力する。
【0052】請求項4記載のデータ復元方式では、復元
手段23は、上記辞書情報を参照して学習用辞書21又
は複数の専用辞書22−1、22−2、・・・、22−
nの中から、復元すべき圧縮データのLZW符号化に用
いられた辞書を選択し、この辞書を用いて請求項1記載
のデータ符号化方式によりLZW符号化された圧縮デー
タ復元する。
【0053】請求項5記載のデータ復元方式では、請求
項4記載のデータ復元方式の復元手段23は、復元した
圧縮データ数を計数し、その係数値がある特定の値とな
ることを検出することにより、上記一定区間を判別し
て、請求項2記載のデータ符号化方式によりLZW符号
化された圧縮データを復元する。
【0054】請求項6記載のデータ復元方式では、請求
項4記載のデータ復元方式の復元手段23は、上記辞書
情報に続くLZW符号化を順次復元して、請求項3記載
のデータ符号化方式によりLZW符号化された圧縮デー
タを復元する。
【0055】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。図3は、本実施例のデータ符号化
方式の基本概念を説明する図である。
【0056】このデータ符号化方式では、LZW符号化
で用いる原データ30を基に作成される通常の書き換え
可能な学習用辞書31の他に、オブジェクトコードの符
号化に用いるオブジェクトコード用辞書32−1、ソー
スコードの符号化に用いるソースコード用辞書32−
2、及び画像データの符号化に用いる画像用辞書32−
3の3種類の参照専用辞書を用い、原データ30をこれ
ら4種類の辞書を用いて並行にLZW符号化を行う。
【0057】すなわち、符号器Aが書き換え可能な学習
用辞書31を用いて原データ30をLZW符号化して圧
縮データAを作成する処理、符号器Bが専用辞書である
オブジェクトコード用辞書32−1を用いて原データ3
0をLZW符号化して圧縮データBとを作成する処理、
符号器Cが同じく専用辞書であるソースコード用辞書3
2−2を用いて原データ30をLZW符号化して圧縮デ
ータCを作成する処理、及び符号器Dが、同じく専用辞
書である画像用辞書32−3を用いて原データ30をL
ZW符号化して圧縮データDを作成する処理が、平行し
て同時に行われる。そして、これらの圧縮データA,
B,C,Dは、それぞれ、バッファA,B,C,Dに格
納される。
【0058】これらのバッファA,B,C,及びDに格
納された圧縮データA,B,C,及びDは、マルチプレ
クサ(MPX)35に出力される。また、特に図示して
いない演算回路により、圧縮データA,B,C、及びD
の原データ30の圧縮率{(圧縮データ量)/(原デー
タ量)×100}A,B,C及びDが算出され、これら
の圧縮率A,B,C及びDが圧縮率比較器34に出力さ
れる。上記演算は、この圧縮率の算出を、所定の符号化
ブロック単位で行う。
【0059】圧縮率比較器34は、入力されるこれらの
圧縮率A,B,C及びDを基に、圧縮データA、B、C
及びDの中で原データ30に対する圧縮率が最も高い圧
縮データをマルチプレクサ35に通知する。
【0060】マルチプレクサ35は、この通知に基づ
き、入力される圧縮データA,B,C及びDの中から最
も圧縮率の高い圧縮データを選択して図4に示す構成の
圧縮データ系列を出力する。
【0061】図4に示すように、この圧縮データ系列
は、LZW符号化された圧縮データ42と、この圧縮デ
ータ42の先頭に付加される際、この圧縮データ42が
いずれの辞書を用いてLZW符号化されたものであるか
を示す辞書フラグ41からなる組情報の複数のデータ列
となっている。上記辞書フラグ41は圧縮データ42を
復元する際にどの辞書を用いればよいかをデータ復元側
に知らせるためのものである。
【0062】圧縮データ系列は、(フラグ41、圧縮デ
ータ42)の組の複数の連なりから成る。図5は、上記
データ圧縮時、及び上記データ圧縮された符号を元のデ
ータに復元する際に用いる画像用辞書の作成方法の一例
を示したものである。
【0063】同図に示すように、画像専用辞書32−3
の作成は、まず、通常の学習辞書52を用意し、所定の
画像データ51を符号器53によってLZW符号化して
圧縮データ54を作成する過程において行われる。すな
わち、符号器53は、画像データ51をLZW符号化し
ながら、新規の符号を学習辞書52に登録していく。そ
して全ての画像データ51について、LZW符号化が完
了した時点で、学習辞書52は画像データ51の性質を
反映した辞書となっている。従って、この学習辞書52
を画像専用辞書として使用する。
【0064】本実施例では、必要に応じて性質の異なる
他の入力データに対しても専用辞書を逐次作成する。図
6は、オブジェクトコードのLZW符号化に使用するオ
ブジェクト専用辞書32−1の作成方法を示したもので
ある。オブジェクト専用辞書32−1の作成も、上記画
像専用辞書32−3の作成と同様にして、符号器63が
所定のオブジェクトコード61をLZW符号化する過程
で学習辞書62を作成し、オブジェクトコード61のL
ZW符号化が終了した時点で作成されているオブジェク
トコード61の性質を反映した学習辞書62を、オブジ
ェクト専用辞書32−1として使用する。
【0065】同様にして、ソースコードの符号化用のソ
ースコード専用辞書32−2を作成する。続いて、上述
した図3に示す符号化方式を、図7に示すフローチャー
トを用いて説明する。なお、この処理では、入力される
原データ30の符号化単位を計数する入力カウンタCT
を用いる。
【0066】同図において、まず、入力データ(原デー
タ30)の符号化単位である1ブロックサイズの値を入
力カウンタCTに設定する(ステップS701)。この
1ブロックのサイズは、例えば、1k(キロ)バイト、
10kバイト等の任意の大きさに予め設定される。
【0067】続いて、該当ファイルから、原データ30
の最初のデータを入力する(ステップS702)。そし
て、入力データが上記該当ファイルの終了を示す「EO
F」(End of File )であるか否か判別し(ステップS
703)、「EOF」であれば全ての原データ30のL
ZW符号化が終了したので、直ちに処理を終了するが、
入力データが「EOF」でなければ、入力カウンタCT
を「1」デクリメントして(ステップS704)、入力
カウンタCTの値が「0」(CT=0)になったか否か
判別する(ステップS705)。この処理は、ある1ブ
ロックの入力データのLZW符号化が終了したか否かを
判別する処理である。
【0068】この判別で、CT=0でないときは、ある
1ブロックの入力データの処理がまだ終了していないの
で、上記入力データのLZW符号化の並行処理を開始す
る(ステップS706)。
【0069】すなわち、符号器Aによる学習用辞書31
を用いたLZW符号化(ステップS707)、符号化B
によるオブジェクトコード用辞書32−1を用いたLZ
W符号化(ステップS708)、符号化Cによるソース
コード用辞書33−2を用いたLZW符号化(ステップ
S709)、及び符号器Dによる画像辞書32−3を用
いるLZW符号化(ステップS710)を、同時に並行
して行う。
【0070】これらの処理では、ステップS707の学
習用辞書31を用いるLZW符号化の場合では、学習用
辞書31を検索し、入力データ列に対応するLZW符号
Aが学習用辞書31に登録されていれば、さらに次の入
力データを加えた入力データ列をLZW符号化するため
に次のデータの入力に移行し(ステップS711→S7
02)、一方、上記入力データ列に対応するLZW符号
Aが学習用辞書31に登録されていなければ、その入力
データ列に対し新たなLZW符号Aを作成して学習用辞
書31に登録すると共に(図12〜図14参照)、前回
のステップS707で見つけたLZW符号Aをバッファ
Aに格納する(ステップS711→S715)。
【0071】また、ステップS708のオブジェクトコ
ード専用辞書32−1を用いるLZW符号化では、オブ
ジェクトコード専用辞書32−1を検索し、入力データ
列のLZW符号Bがこの辞書32−1に登録されていれ
ば、さらに次の入力データを加えた入力データ列をLZ
W符号化するために次のデータの入力に移行するが(ス
テップS712→S702)、一方、上記入力データ列
がオブジェクトコード用専用辞書32−1に登録されて
いなければ、前回のステップS708で見つけた圧縮デ
ータであるLZW符号BをバッファBに格納する(ステ
ップS712→S716)。この場合、新たな上記入力
データ列のLZW符号化は行わない。換言すれば、オブ
ジェクトコード専用辞書32−1への新たなLZW符号
Bの登録は行わない。
【0072】ステップS709のソースコード専用辞書
32−2を用いるLZW符号化も、上記のオブジェクト
コード専用辞書32−1を用いる符号化の場合と同様で
あり、入力データ列に対応するLZW符号Cがソースコ
ード専用辞書32−2にあれば、次のデータの入力に移
行し(ステップS713→S702)、上記入力データ
列がソースコード専用辞書32−2に無ければ、前回の
ステップS713で検索した入力データ列の圧縮データ
であるLZW符号CをバッファCに格納する(ステップ
S713→S717)。この場合もソースコード専用辞
書32−2に登録されていなかった入力データ列のLZ
W符号化は行わない。
【0073】さらに、ステップS710の画像専用辞書
33−3を用いるLZW符号化も上記オブジェクトコー
ド専用辞書32−1並びに上記ソースコード専用辞書3
2−2を用いたLZW符号化と同様にして行われ、入力
データ列のLZW符号Dが画像専用辞書33−3に登録
されていれば次のデータ入力に移行し(ステップS71
4→S702)、上記入力データ列に対応するLZW符
号Dが画像専用辞書33−3に登録されていなければ、
前回のステップS714で検索した入力データ列の圧縮
データであるLZW符号DをバッファDに格納する(ス
テップS714→S718)。この場合にも上記画像専
用辞書33−3に登録されていなかった入力データ列の
LZW符号化は行わない。
【0074】上記ステップS702〜S718の処理を
繰り返しながら、1ブロックのデータを順次LZW符号
化し、上記ステップS705で、入力カウンタCTが
「0」、すなわち1ブロックのデータのLZW符号化
(データ圧縮)が終了したならば、4つのバッファA,
B,C及びDに格納されている符号量を比較し、最も符
号量の少ないバッファに割り当てられている番号Xを求
める(ステップS719)。この処理は、例えば、各バ
ッファの符号データの最終格納アドレスを比較すること
により行う。
【0075】続いて、上記バッファ番号Xをフラグ47
(図4参照)として出力した後(ステップS720)、
上記番号Xが割り当てられているバッファX(A,B,
C又はD)に格納されているLZW符号データを出力し
(ステップS721)、再びステップS701に戻る。
【0076】以上のようなLZW符号化処理を、ファイ
ルに格納されている全てのデータについて所定の長ブロ
ック単位で行い、ステップS703でEOF(End of F
ile)を見つけると(S703,Yes)、ファイル内の
全てのデータのLZW符号化を終了する。
【0077】以上のような処理を行うことにより、ファ
イル内のデータがブロック単位で最も圧縮率が高い辞書
によりLZW符号化されて、前記図4に示す形式で出力
される。したがって、文字コード以外にオブジェクトコ
ード、ソースコード、更には画像データが混在している
文書ファイルが、予め作成されているオブジェクトコー
ド、ソースコード、及び画像データ用の専用辞書32−
1,32−2、及び32−3を用いてLZW符号化の初
期の段階から効率よく高い圧縮率で符号化される。そし
て、学習用辞書31が学習により登録データ数を増加す
るのに伴って、更に圧縮率が向上していく。
【0078】次に、上記のような方法で所定のブロック
単位でLZW符号化された圧縮データの復元方法を、図
8のフローチャートを用いて説明する。この復元処理に
おいても、入力カウンタCT、学習用辞書31、オブジ
ェクトコード専用辞書32−1、ソースコード専用辞書
32−2、及び画像専用辞書32−3が用いられる。
【0079】同図において、まず入力カウンタCTに入
力されるLZW符号化された圧縮データの符号化単位の
1ブロックのサイズを入力カウンタに初期値として設定
する(ステップS801)。
【0080】次に、ブロックの先頭データ(第1入力デ
ータ)を入力し、これを辞書フラグXに設定する(ステ
ップS802)。この辞書フラグXは、後述するステッ
プS805で、入力ブロックが、その符号化の際にいず
れの辞書を用いたかを判別するために使用される。
【0081】続いて、圧縮データの最初の符号を入力す
る(ステップS803)。そして、この符号が「EO
F」(End of File)であるか否か判別し(ステップS8
04)、「EOF」であれば入力ファイル内の全ての圧
縮データの復元が終了したものと判別し、直ちに処理を
終了するが、「EOF」でなければ、続いて上記ステッ
プS802で入力したフラグXを参照して、これから復
元する圧縮データが、前記専用辞書32−1、ソースコ
ード専用辞書32−2、もしくは画像専用辞書32−
3、または学習用辞書31のいずれかの辞書を用いてL
ZW符号化されたかを判別する(ステップS805)。
【0082】この判別で、学習用辞書31が使用されて
いれば、学習用辞書31によりLZW符号を復元する。
この復元処理において、復元したデータが学習用辞書に
未登録であったならば、この復元データとそのLZW符
号をその学習用辞書31に登録する(ステップS80
6、図15及び図16参照)。
【0083】続いて、復元したデータ長だけ入力カウン
タCTをデクリメントして(ステップS809)、次
に、そのデクリメントされた入力カウンタCTの値が
「0」に等しいか否か判別する(ステップS810)。
【0084】この判別で、CT≠0なら、まだ1ブロッ
クの全ての圧縮データが復元されていないので、再び上
記ステップS803に戻って次のLZW符号を入力す
る。一方、上記ステップS805の判別で、データ圧縮
の際、オブジェクトコード専用辞書32−1、ソースコ
ード専用辞書32−2、又は画像専用辞書32−3のい
ずれかの辞書を用いてLZW符号化されたと判別すれ
ば、その使用された専用辞書により上記ステップS80
3で入力した圧縮データ(LZW符号)を復元する(ス
テップS807)。続いて、この復元された内容、すな
わち(LZW符号、復元データ)の組を学習用辞書31
にも登録してから(ステップS808)、上記ステップ
S809の処理に進む。
【0085】ここで、上記ステップS808の処理が何
故必要であるかを説明する。上記学習用辞書31と、専
用辞書32−1,32−2,32−3を用いた並行処理
によるデータ圧縮処理においては、符号器Aは、圧縮率
が劣るため捨てられた(圧縮データとして選択されなか
った)データについても学習用辞書31に登録しながら
LZW符号化を行っており、このような学習を行いなが
ら、その後入力される原データのLZW符号化を行って
いる。したがって、以後の復元処理において専用辞書に
よらない、すなわち学習用辞書31により符号化された
圧縮データのブロックが入力されたときに備えて、いず
れの辞書による復元の場合でも、その都度、その復元内
容を学習用辞書31に登録しておく必要がある。このた
めに、ステップS808の処理が必要となる。
【0086】このようなステップS803〜S810の
処理を1ブロックの全ての圧縮データに対して、ステッ
プS810で入力カウンタCTが「0」となるまで繰り
返し行い、1ブロックの圧縮データの復元を終了する。
そして、上記ステップS804で「EOF」を入力する
まで以後の残りの全てのブロックの圧縮データの復元を
行う。
【0087】上述した図7のフローチャートに示すLZ
W符号化によるデータ圧縮方法では、入力される原デー
タを、例えば 100kバイト等の一定サイズのブロックに
分割し、そのブロック単位で、複数の辞書によるLZW
符号化を並行処理して、最も圧縮率の高いLZW符号化
が行われた圧縮データを選択出力するようにしている。
【0088】次に、述べるデータ圧縮方法は、予め設定
したブロック単位ではなく、原データの文字列を学習用
辞書32−1及び上記3種の専用辞書32−1,32−
2,32−3を用いて逐次LZW符号化していき、最長
の文字列をLZW符号化できた符号器(A,B,C,
D)のLZW符号を圧縮データとして出力することによ
りデータ圧縮率を高めるものである。
【0089】このようなデータ圧縮方法のアルゴリズム
を図9のフローチャートに示し、このデータ圧縮方法に
より得られたLZW符号の復元のアルゴリズムを図10
のフローチャートに示す。
【0090】図9に示すフローチャートにおいて、通常
の学習用辞書31、専用のオブジェクトコード専用辞書
32−1、ソースコード専用辞書32−2、及び画像専
用辞書32−3によってLZW符号化された原データの
文字列のデータ長を、それぞれ符号器A,B,C,D内
に内蔵されているカウンタA,B,C,及びDを用いて
計数する。
【0091】図9において、まず、原データの入力ファ
イルから一文字分のデータを入力する(ステップS90
1)。そして、この入力データが「EOF」( End of
File )であるか否か判別し(ステップS902)、「E
OF」であれば入力ファイル内の全てのデータについて
LZW符号化が終了したので、直ちにLZW符号化処理
を終了するが、入力データが「EOF」でなければ、こ
の入力データのLZW符号化を前記符号器A,B,C,
及びDにより並行に行う(ステップS903)。
【0092】すなわち、この第2の実施例の場合も学習
用辞書31を用いるLZW符号化(ステップS90
4)、オブジェクトコード専用辞書32−1を用いるL
ZW符号化(ステップS905)、ソースコード専用辞
書32−2を用いるLZW符号化(ステップS90
6)、及び画像専用辞書32−3を用いるLZW符号化
(ステップS907)を、それぞれ符号器A,B,C,
Dにより並行に行う。
【0093】ステップS904の学習用辞書31を用い
る符号化の場合では、学習用辞書31を検索し、上記入
力データが学習用辞書31に登録されていれば、この入
力データ文字数(以下、一致長と記述する)をLZW符
号化し、続いてステップS908で、上記LZW符号化
された入力データ(文字列)の文字数(以後、一致長と
記述する)をカウンタAによりカウントする。一方、入
力データが学習用辞書31に登録されていなければ辞書
31にこの入力データとこの入力データのLZW符号と
を学習用辞書31に登録する。
【0094】また、ステップS905のオブジェクトコ
ード専用辞書32−1を用いるLZW符号化では、オブ
ジェクトコード専用辞書32−1を検索し、上記入力デ
ータが辞書32−1に登録されていればこの入力データ
(文字列)をLZW符号化し、ステップS908でこの
LZW符号化された入力データの一致長をカウンタBで
カウントする。一方、入力データが辞書32−1に登録
されていなければ、ステップS908でのカウンタBの
カウントは行わない。
【0095】ステップS906のソースコード専用辞書
32−2を用いるLZW符号化も、上記オブジェクトコ
ード専用辞書32−2を用いるLZW符号化と同様にし
て行われ、この場合には、一致長がカウンタCによりカ
ウントされる。
【0096】さらに、ステップS907の画像専用辞書
32−3を用いるLZW符号化を上記専用辞書32−
1,32−2を用いたLZW符号化も同様にして行わ
れ、この場合には、一致長がカウンタDによりカウント
される。
【0097】このように、同一の入力データを符号器
A,B,C,Dにより、4種類の辞書31,32−1,
32−2,32−3で並行してLZW符号化し、それぞ
れ一致長をカウンタA,B,C,Dでカウントした後、
それら4つのカウンタA,B,C及びDのカウント値
が、全て不一致であるか否か判別する(ステップS90
9)。
【0098】この判別で、カウント値の同じものがある
場合は、再びステップS901に戻って次のデータを入
力し、この入力データが最後尾となる文字列のLZW符
号化を行う(S902〜S907)。
【0099】このように、上記ステップS901〜S9
09の処理をステップS909で、4つのカウンタA,
B,C及びDのカウント値が全て不一致となるまで繰り
返し上記4つのカウンタA,B,C,Dのカウント値が
全て不一致となれば、ステップS910において、一致
長が最大となっているカウンタを内蔵している符号器を
示すフラグを出力する。
【0100】続いて、上記一致長が最大となっているL
ZW符号化データを出力し(ステップS911)、再び
ステップS901に戻る。以上のステップS901〜S
911の処理は、ステップS902で「EOF」が検出
されるまで繰り返される。
【0101】これにより、入力ファイル内の原データが
最も圧縮率が高くなる文字列毎に区切られてLZW符号
化され、各LZW符号の前にはそのLZW符号化に用い
られた辞書を示すフラグを付加されて出力される。すな
わち、この場合の圧縮データは、図4に示す圧縮データ
が1個のLZW符号に置き換わった形式となる。
【0102】図10のフローチャートは、上述のように
してLZW符号化された圧縮データの復元方法のアルゴ
リズムを示したものである。上記圧縮データは、ブロッ
ク単位ではなく、1つの文字列毎にLZW符号化された
ものなので、この復元処理では、入力カウンタCTは不
用であり、学習用辞書31、オブジェクトコード専用辞
書32−1、ソースコード専用辞書32−2、及び画像
専用辞書32−3のみを用いる。
【0103】同図に示すステップS101〜S107の
処理は、それぞれ前述した図8のフローチャートのステ
ップS802〜S808と同一の処理であり、ステップ
S103で「EOF」を検出するまで、学習用辞書31
または専用辞書32−1,32−2,32−3を用いて
1つのLZW符号毎に元のデータに復元される。
【0104】
【発明の効果】本発明によれば、予めデータの種類が異
なるそれぞれのデータの性質を取り込んで作成したLZ
W符号化用の複数の読み出し専用辞書を用意し、これら
の辞書と通常の書き換え可能な学習用辞書とを用いてデ
ータ圧縮を並行に行い、一番圧縮率の高い圧縮データを
選択出力するので、データ圧縮開始初期のように学習用
辞書の登録個数が少ない時点でも高い圧縮率を得ること
ができ、また、学習用辞書だけでは対応しにくい入力デ
ータの性質の局所的変化にも対応して全体として高い圧
縮率を得ることができる。また、LZW符号の出力の
際、どの辞書により符号化を行ったかを示すフラグを付
加して出力するので、データの完全な復元を容易に行う
ことができる。
【図面の簡単な説明】
【図1】本発明のデータ符号化方式の原理図である。
【図2】本発明のデータ復元方式の原理図である。
【図3】第1実施例の符号化の概念図である。
【図4】第1実施例の圧縮データ系列の構造を説明する
図である。
【図5】専用辞書の作成方法の例を示す図(その1)で
ある。
【図6】専用辞書の作成方法の例を示す図(その2)で
ある。
【図7】第1実施例のデータ圧縮(符号化)のアルゴリ
ズムを説明するフローチャートである。
【図8】第1実施例の圧縮データを復元(復号)するア
ルゴリズムを説明するフローチャートである。
【図9】第2実施例のデータ圧縮のアルゴリズムを説明
するフローチャートである。
【図10】第2実施例の圧縮データを復元するアルゴリ
ズムを説明するフローチャートである。
【図11】(a),(b) はユニバーサル型ジブ・レンペル符
号の符号化の基本概念を説明する図である。
【図12】LZW符号化のアルゴリズムを説明するフロ
ーチャートである。
【図13】LZW符号化に用いられる辞書の構成を説明
する図である。
【図14】LZW符号化方法を説明する模式図である。
【図15】LZW符号の復元のアルゴリズムを説明する
フローチャートである。
【図16】(a),(b),(c),(d),(e) は増分分解型ジブ・レ
ンペル符号の復元を説明する模式図である。
【符号の説明】
1、21 学習用辞書 2−1、2−2、・・・、2−n 専用辞書 22−1、22−2、・・・、22−n 専用辞書 3 圧縮手段 23 復元手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ジブ・レンペル符号によるユニバーサル
    符号化方式によりデータ圧縮を行うデータ符号化方式に
    おいて、 書き換え可能な学習用辞書(1)と、 それぞれ異なる種類の入力データの性質を取り込んだ書
    き換え不可能な参照専用の複数の専用辞書(2−1)、
    (2−2)、・・・、(2−n)と、 前記学習用辞書(1)及び前記複数の専用辞書(2−
    1)、(2−2)、・・・、(2−n)を用いた入力デ
    ータのLZW符号化を並行に行う圧縮手段(3)と、 該圧縮手段(3)によるLZW符号化の並行処理の結果
    得られた複数の圧縮データのうち、一番圧縮率の高い圧
    縮データをこの圧縮データの作成に用いられた辞書を示
    す辞書情報と共に選択出力する選択出力手段(4)と、 を有することを特徴とするデータ符号化方式。
  2. 【請求項2】 前記圧縮手段(3)は、前記入力データ
    を一定区間単位でLZW符号化することを特徴とする請
    求項1記載のデータ符号化方式。
  3. 【請求項3】 前記圧縮手段(3)は、前記入力データ
    を各辞書(1)、(2−1)、(2−2)、・・・、
    (2−n)毎に最大長の文字列で、順次LZW符号化す
    ることを特徴とする請求項1記載のデータ符号化方式。
  4. 【請求項4】 請求項1記載のデータ符号化方式により
    LZW符号化された圧縮データ復元するデータ復元方式
    であって、 書き換え可能な学習用辞書(21)と、 それぞれ異なる種類の入力データの性質を取り込んだ書
    き換え不可能な参照専用の複数の専用辞書(22−
    1)、(22−2)、・・・、(22−n)と、 前記辞書情報を参照して前記学習用辞書(21)又は前
    記複数の専用辞書(22−1)、(22−2)、・・
    ・、(22−n)の中から、復元すべき圧縮データのL
    ZW符号化に用いられた辞書を選択し、この辞書を用い
    て前記圧縮データを復元出力する復元手段(23)と、 を有することを特徴とするデータ復元方式。
  5. 【請求項5】 請求項2記載のデータ符号化方式により
    LZW符号化された圧縮データを復元するデータ復元方
    式であって、 前記復元手段(23)は、復元した圧縮データ数を計数
    し、その計数値がある特定の値となることを検出するこ
    とにより、前記一定区間を判別して、入力データの復元
    を行うことを特徴とする請求項4記載のデータ復元方
    式。
  6. 【請求項6】 請求項3記載のデータ符号化方式により
    LZW符号化された圧縮データを復元するデータ復元方
    式であって、 前記復元手段(23)は、前記辞書情報に続くLZW符
    号化を順次復元していくことを特徴とする請求項4記載
    のデータ復元方式。
JP4310295A 1992-11-19 1992-11-19 データ符号化方式及びデータ復元方式 Pending JPH06161705A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4310295A JPH06161705A (ja) 1992-11-19 1992-11-19 データ符号化方式及びデータ復元方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4310295A JPH06161705A (ja) 1992-11-19 1992-11-19 データ符号化方式及びデータ復元方式

Publications (1)

Publication Number Publication Date
JPH06161705A true JPH06161705A (ja) 1994-06-10

Family

ID=18003505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4310295A Pending JPH06161705A (ja) 1992-11-19 1992-11-19 データ符号化方式及びデータ復元方式

Country Status (1)

Country Link
JP (1) JPH06161705A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0794530A2 (en) * 1996-03-04 1997-09-10 Lucent Technologies Inc. System for compression and buffering of a data stream
US6611043B2 (en) 2000-03-15 2003-08-26 Nec Corporation Bipolar transistor and semiconductor device having the same
JP2008092582A (ja) * 2001-02-13 2008-04-17 Mosaid Technologies Inc 適応データ圧縮のための方法および装置
JP2010011301A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 画面転送装置およびその方法ならびに画面転送のためのプログラム
USRE41152E1 (en) 1996-08-06 2010-02-23 Pinpoint Incorporated Lempel-Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0794530A2 (en) * 1996-03-04 1997-09-10 Lucent Technologies Inc. System for compression and buffering of a data stream
EP0794530A3 (en) * 1996-03-04 1998-12-30 Lucent Technologies Inc. System for compression and buffering of a data stream
US6012062A (en) * 1996-03-04 2000-01-04 Lucent Technologies Inc. System for compression and buffering of a data stream with data extraction requirements
USRE41152E1 (en) 1996-08-06 2010-02-23 Pinpoint Incorporated Lempel-Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US6611043B2 (en) 2000-03-15 2003-08-26 Nec Corporation Bipolar transistor and semiconductor device having the same
JP2008092582A (ja) * 2001-02-13 2008-04-17 Mosaid Technologies Inc 適応データ圧縮のための方法および装置
JP2012100275A (ja) * 2001-02-13 2012-05-24 Mosaid Technologies Inc 適応データ圧縮のための方法および装置
EP1397866B1 (en) * 2001-02-13 2019-08-28 Google LLC Method and apparatus for adaptive data compression
JP2010011301A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 画面転送装置およびその方法ならびに画面転送のためのプログラム

Similar Documents

Publication Publication Date Title
JP3273119B2 (ja) データ圧縮・伸長装置
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
JP3231105B2 (ja) データ符号化方式及びデータ復元方式
JP3241788B2 (ja) データ圧縮方式
JPH06161705A (ja) データ符号化方式及びデータ復元方式
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JP3350118B2 (ja) データ符号化方式及びデータ復元方式
JP3038223B2 (ja) データ圧縮方式
JP3241787B2 (ja) データ圧縮方式
JP3127016B2 (ja) データ圧縮及び復元方法
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JP3038233B2 (ja) データ圧縮及び復元装置
JPH05152971A (ja) データ圧縮・復元方法
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP2999561B2 (ja) データ圧縮及び復元装置
JP3051501B2 (ja) データ圧縮方法
JP3083329B2 (ja) データ圧縮復元方式
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP3105330B2 (ja) 画像データの圧縮復元方式
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JP3100206B2 (ja) データ圧縮方法
JP2840420B2 (ja) 画像データ圧縮及び復元方式
JP3132836B2 (ja) 画像データ圧縮復元方法
JP2999587B2 (ja) データ圧縮及び復元方式
JP3098046B2 (ja) 画像データ圧縮装置及びその方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020903