JP3267504B2 - データ圧縮装置およびデータ復元装置 - Google Patents

データ圧縮装置およびデータ復元装置

Info

Publication number
JP3267504B2
JP3267504B2 JP07054096A JP7054096A JP3267504B2 JP 3267504 B2 JP3267504 B2 JP 3267504B2 JP 07054096 A JP07054096 A JP 07054096A JP 7054096 A JP7054096 A JP 7054096A JP 3267504 B2 JP3267504 B2 JP 3267504B2
Authority
JP
Japan
Prior art keywords
character
context
code table
code
frequently occurring
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
JP07054096A
Other languages
English (en)
Other versions
JPH09261075A (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 JP07054096A priority Critical patent/JP3267504B2/ja
Priority to US08/748,033 priority patent/US5812076A/en
Publication of JPH09261075A publication Critical patent/JPH09261075A/ja
Application granted granted Critical
Publication of JP3267504B2 publication Critical patent/JP3267504B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、さまざまな形態の
データの圧縮および圧縮したデータの復元を行うデータ
圧縮装置およびデータ復元装置に関わり、特に、確率統
計型符号化に分類される符号化によって、データの圧縮
や復元を行うデータ圧縮装置とデータ復元装置に関す
る。
【0002】
【従来の技術】近年のコンピュータの急速な進歩に伴
い、コンピュータ内で、大容量のデータが取り扱われる
ようになっており、伝送時間を短縮するためや、記憶装
置を効率的に利用するために、データを圧縮することが
行われている。
【0003】データを圧縮する方法としては、さまざま
なものが知られており、文字コード、ベクトル情報、画
像などといった様々なデータを圧縮できる方法も存在し
ている。このような圧縮方法は、ユニバーサルな圧縮方
法と呼ばれている。ユニバーサルな圧縮方法としては、
辞書型圧縮方法と統計型圧縮方法とが知られている。
【0004】なお、以下の説明においては、データの1
単位を「文字」と表記し、「文字」が複数個つながった
ものを「文字列」と表記する。辞書型圧縮方法は、デー
タの類似性を利用した方法であり、レンペル−ジブ符号
化とも呼ばれている。辞書型圧縮方法では、入力中の文
字列を以前に現れた同様の文字列の複製として表すこと
によって符号化が行われる。この方法によるデータ圧縮
は、パソコン上でソフトによって実現しても実用的な処
理速度を得ることができるため、実用化が進んでいる。
【0005】これに対して、統計型圧縮方法では、デー
タ中の文字の出現確率に合わせて一文字ずつ可変長符号
化が行われる。以下、図17ないし図22を参照して、
従来行われていた統計型圧縮方法の詳細を説明する。
【0006】図17に示したように、統計型圧縮(符号
化)を行うデータ圧縮装置は、統計モデル部31とエン
トロピー符号化部32とから構成される。統計モデル部
31は、圧縮すべき文字と、その直前の文字列(文脈)
を取り込み、直前に現れる文脈別に文字の出現確率(条
件付き確率)を算出する。たとえば、図18に模式的に
示したように、“abc”という順で文字が並んだ原デ
ータが入力された場合、統計モデル部31は、文脈であ
る“ab”に続いて、符号化対象文字である“c”が現
れる条件付き確率P(c/ab)を算出する。
【0007】統計モデル部31としては、文脈の次数
(文字数)を固定値とするものと、固定しないもの(Bl
ending文脈)が知られている。固定次数文脈を用いた統
計モデル部31では、N次の全ての文脈に関するデータ
が収集され、それぞれの文脈に続いて各文字が現れる条
件付き確率が算出される。
【0008】一般に、文字間の相関が強いデータを対象
とする場合、高次の文脈を用いる程、高圧縮率を得るこ
とができる。しかし、文字間の相関が弱いデータを対象
とした場合、高次の文脈を用いるとかえって圧縮率が低
下してしまうこともある。
【0009】このような問題を解決するために考案され
た技術がBlending文脈であり、Blending文脈を用いた統
計モデル部31は、図18に示したような木構造を用い
て文脈収集を行う。そして、ある文脈が出やすい場合に
は、その文脈に関する次数を上げ、出にくい場合には低
い次数のままといったように、各文脈の次数を入力デー
タに適応させて変更する。
【0010】エントロピー符号化部32は、統計モデル
部31で求められた出現確率に基づき動的に作成した符
号を、各文字に対して割り当てる。エントロピー符号化
部32としては、動的ハフマン符号化やスプレイ符号化
を行うものや、算術符号化を行うもの静的符号化を行う
ものが知られている。
【0011】算術符号化を用いたエントロピー符号化部
32では、0以上、1未満の数直線(以下[0、1)と
記す)が、符号化すべきデータを構成する各文字の生起
確率(出現頻度)に応じて順次狭められていく。そし
て、全ての文字に対する処理が終わったときに、狭めら
れた区間内の1点を表す数値が符号として出力される。
【0012】たとえば、符号化対象となる文字がa、
b、c、d、eの5つであり、それらの文字の生起確率
が、それぞれ、0.2、0.1、0.05、0.15、
0.5であった場合、図20に示したように、各文字に
対して生起確率に応じた区間幅を有する区間が割り当て
られる。
【0013】そして、符号化すべき文字列が“abe”
であった場合には、図21に模式的に示したように、ま
ず、区間[0、1)は、文字“a”に対する区間[0、
0.2)に狭められる。次いで、その区間[0、0.
2)が各文字の生起確率に応じた区間に分割され、次の
文字である“b”に対応する区間[0.04、0.0
6)が文字列“ab”に対する区間として選択される。
さらに、その区間[0.04、0.06)が各文字の生
起確率に応じた区間に分割され、次の文字である“e”
に対応する区間[0.05、0.06)が文字列“ab
e”に対する区間として選択される。その後、その区間
内の任意の点(たとえば下限)の位置を2進表示した際
の少数点以下のビット列が符号化結果として出力され
る。
【0014】算術符号化の特徴は、1文字に対して1ビ
ット以下の符号割付ができることであり、算術符号化に
よれば、既存の可変長符号化方式の中で最も理論限界に
近い圧縮率が得られる。この算術符号化とblending文脈
とを組み合わせると特に高い圧縮率を達成することがで
きる。なお、blending文脈と算術符号化を組み合わせた
圧縮方法は、"Data Compression Using Adaptive Codin
g and Partial StringMatching"( JOHN G.CLEARY et a
l. IEEE Trans. on Commu., Vol.COM-32 No.4APRIL 198
4)に記載されている。
【0015】ただし、算術符号化は、演算量が多いの
で、処理に時間がかかるといった欠点を有する。このた
め、予め用意した符号表を用いることによって、処理の
高速化を図った静的な符号化方法(圧縮方法)も発表さ
れている。たとえば、"Data Compression Appratus and
Method"(U.S.Patent 4,612,53)には、固定の1次文脈
と静的符号化を組み合わせた圧縮方法が記載されてお
り、"Dependency Data Compression with Self-Organis
ing List"(情報処理学会誌 Vol.35,No.6 June 1994)に
は、複数個の固定文脈(例えば、1次と3次)と静的符
号化を組み合わせた圧縮方法が記載されている。これら
の圧縮方法では、各文脈に繋がる文字がその出現頻度順
に並べられ、静的符号表内の入力文字の順位に応じた符
号が出力される。なお、後者の圧縮方法では、図22に
示した、γ符号、δ符号等が静的符号として用いられて
いる。
【0016】
【発明が解決しようとする課題】以上説明したように、
算術符号化では実用的な処理速度を得ることができない
ため、高速な処理が必要とされる場合には、静的符号化
あるいは動的符号化(動的ハフマン符号、スプレイ符
号)が用いられる。しかし、高圧縮率を得るために、こ
れらの符号化方法に対して、高次(例えば、2次以上)
の文脈を適用すると、幾つかの文脈に関して出現確率が
50%を越える文字が現れてしまい、圧縮率がさほど向
上しない。すなわち、これらの符号化方法では、算術符
号化のように1ビット以下の符号割り付けができないた
め、出現確率が50%を越える(1ビット以下で符号化
が可能な)文字が存在する文脈を用いた際の符号化効率
が悪くなってしまう。
【0017】このようなビット単位の符号化時の端数ビ
ットを補償するための情報理論の常道は、文字を複数個
毎にまとめて符号を割り付ける(この操作は、情報源の
拡大と呼ばれている)ことによって、一文字毎の量子化
ビット数を小さくすることである。この情報源の拡大を
行えば、確かに圧縮率を向上させることができるもの
の、その手順によっては、処理速度を低下させることに
なってしまう。
【0018】そこで、本発明の課題は、実用的な処理速
度で高い圧縮率が実現できるデータ圧縮装置を提供する
ことにある。また、本発明の他の課題は、上記データ圧
縮装置によって圧縮されたデータを復元できるデータ復
元装置を提供することにある。
【0019】
【課題を解決するための手段】本発明の第1のデータ圧
縮装置は、文脈毎に、その文脈に続く文字と符号とを対
応付けた符号表を記憶する記憶手段と、圧縮すべき文字
列から符号化を行う文字である符号化対象文字を取得す
る取得手段と、この取得手段により取得された符号化対
象文字の直前に現れた文脈を特定する文脈特定手段と、
この文脈特定手段により特定された文脈に対して記憶手
段内に記憶されている符号表が出現確率が50%を越え
ている文字である最頻出文字を含む符号表であった場
合、その符号表を変形して最頻出文字で始まる2文字の
文字列と最頻出文字以外の文字とに符号を対応づける拡
張符号表を作成し、作成した拡張符号表を用いて符号化
対象文字あるいは符号化対象文字とその次の文字とから
なる文字列を符号化する第1符号化手段と、文脈特定手
段により特定された文脈に対して記憶手段内に記憶され
ている符号表が出現確率が50%を越えている文字であ
る最頻出文字を含まない符号表であった場合、その符号
表を用いて符号化対象文字を符号化する第2符号化手段
とを備える。
【0020】すなわち、本発明の第1のデータ圧縮装置
では、符号化対象文字の符号化に使用する符号表に出現
確率が50%を越える文字が含まれていた場合、符号化
対象文字ともう1文字からなる文字列に対して符号が割
り付けられ(情報源が拡大され)、符号化対象文字の符
号化が行われる。また、情報源の拡大は、2つの符号表
を組み合せることによって行われるので、第1のデータ
圧縮装置によれば、高速に高圧縮率でデータ圧縮が実現
できることになる。
【0021】本発明の第2のデータ圧縮装置は、文脈毎
に、その文脈に続く文字と符号とを対応付けた符号表を
記憶する記憶手段と、圧縮すべき文字列から符号化を行
う文字である符号化対象文字を取得する取得手段と、こ
の取得手段により取得された符号化対象文字の直前に現
れた文脈を特定する文脈特定手段と、この文脈特定手段
により特定された文脈に対して記憶手段内に記憶されて
いる符号表内の各文字のうち、最も出現確率が高い文字
である最頻出文字の出現確率が50%を越えているか否
かを判定する判定手段と、この判定手段により最頻出文
字の出現確率が50%以下であると判定されたときに、
文脈に対して記憶手段内に記憶されている符号表中で符
号化対象文字に対応づけられている符号を出力する符号
出力手段と、判定手段により最頻出文字の出現確率が5
0%を越えていると判定されたときに、記憶手段内の1
つの符号表を第1の符号表とし、この第1の符号表と特
定手段により特定された文脈に対する第2の符号表とに
基づき、第2の符号表中の最頻出文字に第1の符号表中
の文字を続けた文字列及び第2の符号表中の最頻出文字
以外の文字に対してそれぞれ符号を対応づけた拡張符号
表を作成する拡張符号表作成手段と、この拡張符号表作
成手段により拡張符号表が作成されたときに、符号化対
象文字が第2の符号表中の最頻出文字でなかった場合に
は、拡張符号表中で符号化対象文字に対応づけられてい
る符号を出力し、符号化対象文字が第2の符号表中の最
頻出文字であった場合には、次に符号化すべき文字を取
得し、拡張符号表中で符号化対象文字とこの取得した文
字とからなる文字列に対応づけられている符号を出力す
る拡張符号出力手段と、符号出力手段または拡張符号出
力手段によって符号化対象文字に対する符号が出力され
たときに、特定手段によって特定された文脈に対する符
号表の内容を、出現確率が大きい文字ほど符号長が短い
符号が対応づけられるように更新する更新手段とを備え
る。
【0022】すなわち、本発明の第2のデータ圧縮装置
では、動的に符号化が行われる。そして、符号化対象文
字の符号化に使用する符号表に出現確率が50%を越え
る文字が含まれていた場合、符号化対象文字ともう1文
字からなる文字列に対して符号が割り付けられ(情報源
が拡大され)、符号化対象文字の符号化が行われる。こ
のため、この第2のデータ圧縮装置によれば、高速に高
圧縮率でデータ圧縮が実現できることになる。
【0023】本発明の第2のデータ圧縮装置には、拡張
符号表作成手段として、最頻出文字で始まる文字列に対
する符号として、その文字列内の最頻出文字に続く文字
に対して第1の符号表中で対応づけられている符号の先
頭のビットをその先頭ビットの値に応じて“0”あるい
は“10”に置換した符号を用い、第2の符号表中の最
頻出文字以外の文字に対する符号として、第2の符号表
中のその文字に対する符号の先頭のビットを“11”に
置換した符号を用いて拡張符号表を作成する手段を採用
することができる。
【0024】なお、この符号表作成手段では、第1の符
号表中の符号の先頭ビットを置換するデータとして、
“0”あるいは“11”を使用し、第2の符号表中の符
号の先頭ビットを置換するデータとして、“10”を使
用しても良い。また、第1の符号表中の符号の先頭ビッ
トを置換するデータとして、“1”あるいは“00”を
使用し、第2の符号表中の符号の先頭ビットを置換する
データとして、“01”を使用しても良く、前者のデー
タとして、“1”あるいは“01”を使用し、後者のデ
ータとして、“00”を使用しても良い。
【0025】本発明の第3のデータ圧縮装置は、文脈毎
に、その文脈に続く文字と符号とを対応付ける符号表を
記憶する符号表記憶手段と、文脈毎に、その文脈に対し
て符号表記憶手段に記憶されている符号表中で1ビット
の符号が対応づけられている文字である最頻出文字の出
現確率が50%を越えているか否かを判定するための判
定用データを記憶する判定用データ記憶手段と、圧縮す
べき文字列から符号化を行う文字である符号化対象文字
を取得する取得手段と、この取得手段により取得された
符号化対象文字の直前に現れた文脈を特定する文脈特定
手段と、この文脈特定手段により特定された文脈に対し
て判定用データ記憶手段内に記憶されている判定用デー
タに基づき、その文脈に関する最頻出文字の出現確率が
50%を越えているか否かを判定する判定手段と、この
判定手段により最頻出文字の出現確率が50%以下であ
ると判定されたときに、文脈に対して符号表記憶手段内
に記憶されている符号表中で符号化対象文字に対応づけ
られている符号を出力する符号出力手段と、判定手段に
より最頻出文字の出現確率が50%を越えていると判定
されたときに、符号表記憶手段内の何れかの符号表を第
1の符号表とし、この第1の符号表と特定手段により特
定された文脈に対する第2の符号表とに基づき、第2の
符号表中の最頻出文字に第1の符号表中の文字を続けた
文字列及び第2の符号表中の最頻出文字以外の文字に対
してそれぞれ符号を対応づけた拡張符号表を作成する拡
張符号表作成手段と、この拡張符号表作成手段により拡
張符号表が作成されたときに、符号化対象文字が第2の
符号表中の最頻出文字でなかった場合には、拡張符号表
中で符号化対象文字に対応づけられている符号を出力
し、符号化対象文字が第2の符号表中の最頻出文字であ
った場合には、次に符号化すべき文字を取得し、拡張符
号表中で符号化対象文字と取得した文字とからなる文字
列に対応づけられている符号を出力する拡張符号出力手
段と、符号出力手段又は拡張符号出力手段によって符号
が出力されたときに、符号化対象文字が特定手段によっ
て特定された文脈に対する符号表中の最頻出文字と一致
しているか否かに応じて、その文脈に関する判定用デー
タ記憶手段内の判定用データの内容を更新する更新手段
とを備える。
【0026】この第3のデータ圧縮装置によっても、符
号化対象文字の符号化に使用する符号表に出現確率が5
0%を越える文字が含まれていた場合、符号化対象文字
ともう1文字からなる文字列に対して符号が割り付けら
れ(情報源が拡大され)、符号化対象文字の符号化が行
われる。このため、第3のデータ圧縮装置によれば、高
速に高圧縮率でデータ圧縮が実現できることになる。
【0027】本発明の第3のデータ圧縮装置では、判定
用データ記憶手段として、数値データである判定用デー
タを記憶する手段を用い、判定手段として、判定用デー
タが予め定められた基準値よりも大きい場合に、最頻出
文字の出現確率が50%を越えていると判定する手段を
用い、更新手段として、符号化対象文字が最頻出文字と
一致している場合には、出現確率用データに所定値を加
算し、符号化対象文字が最頻出文字と一致していない場
合には、出現確率用データから所定値を減算する手段を
用いることができる。
【0028】また、本発明の第3のデータ圧縮装置で
は、判定用データ記憶手段を、それぞれ、文脈に対応づ
けられた複数のシフトレジスタから構成するとともに、
判定手段として、文脈特定手段によって特定された文脈
に対応するシフトレジスタに予め定められた基準値より
も多い“1”が含まれている場合に、最頻出文字の出現
確率が50%を越えていると判定する手段を用い、更新
手段は、符号化対象文字が最頻出文字と一致している場
合には、文脈特定手段によって特定された文脈に対応す
るシフトレジスタに、その一方の端から“1”を入力す
るとともに、シフトレジスタの内容を他方の端に向けて
1ビット分シフトさせ、符号化対象文字が最頻出文字と
一致していない場合には、文脈特定手段によって特定さ
れた文脈に対応するシフトレジスタに、他方の端から
“0”を入力するとともに、シフトレジスタの内容を一
方の端に向けて1ビット分シフトさせる手段を用いるこ
とができる。
【0029】本発明の第1のデータ復元装置は、文脈毎
に、その文脈に続く文字と符号とを対応付けた符号表を
記憶する記憶手段と、符号の復号に使用する文脈を特定
する文脈特定手段と、この文脈特定手段により特定され
た文脈に対して記憶手段内に記憶されている符号表が出
現確率が50%を越えている文字である最頻出文字を含
む符号表であった場合、その符号表を変形して最頻出文
字で始まる2文字の文字列と最頻出文字以外の文字とに
符号を対応づける拡張符号表を作成し、作成した拡張符
号表を用いて復元すべき符号を復号する第1復号手段
と、文脈特定手段により特定された文脈に対して記憶手
段内に記憶されている符号表が出現確率が50%を越え
ている文字である最頻出文字を含まない符号表であった
場合、その符号表を用いて復元すべき符号を復号する第
2復号手段とを備える。
【0030】この第1のデータ復元装置により、第1の
データ圧縮装置が圧縮したデータの復元が行われる。本
発明の第2のデータ復元装置は、文脈毎に、その文脈に
続く文字と符号とを対応付ける符号表を記憶する記憶手
段と、符号の復号に使用する文脈を特定する文脈特定手
段と、この文脈特定手段により特定された文脈に対して
記憶手段内に記憶されている符号表内の文字のうち最も
出現確率が高い文字である最頻出文字の出現確率が50
%を越えているか否かを判定する判定手段と、この判定
手段により最頻出文字の出現確率が50%以下であると
判定された場合に、文脈に対して記憶手段内に記憶され
ている符号表中で、復元すべき符号に対応づけられてい
る文字を出力する文字出力手段と、判定手段により最頻
出文字の出現確率が50%を越えていると判定されたと
きに、記憶手段内の1つの符号表を第1の符号表とし、
この第1の符号表と特定手段により特定された文脈に対
する第2の符号表とに基づき、第2の符号表中の最頻出
文字に第1の符号表中の文字を続けた文字列及び第2の
符号表中の最頻出文字以外の文字に対してそれぞれ符号
を対応づけた拡張符号表を作成する拡張符号表作成手段
と、この拡張符号表作成手段によって作成された拡張符
号表内において、復元すべき符号に対応づけられている
文字あるいは文字列を出力する文字・文字列出力手段
と、文字出力手段又は文字・文字列出力手段によって文
字あるいは文字列が出力されたときに、特定手段によっ
て特定された文脈に関する符号表の内容を、出現確率が
大きい文字ほど符号長が短い符号が対応づけられるよう
に更新する更新手段とを備える。
【0031】この第2のデータ復元装置により、第2の
データ圧縮装置が圧縮したデータの復元が行われる。第
2のデータ復元装置には、拡張符号表作成手段として、
拡張符号表を作成する際に、最頻出文字で始まる文字列
に対する符号として、その文字列内の最頻出文字に続く
文字に対して第1の符号表中で対応づけられている符号
の先頭のビットをその先頭ビットの値に応じて“0”あ
るいは“10”に置換した符号を用い、第2の符号表中
の最頻出文字以外の文字に対する符号として、第2の符
号表中のその文字に対する符号の先頭のビットを“1
1”に置換した符号を用いる手段を採用することができ
る。
【0032】本発明の第3のデータ復元装置は、文脈毎
に、その文脈に続く文字と符号とを対応付ける符号表を
記憶する符号表記憶手段と、文脈毎に、その文脈に対し
て符号表記憶手段に記憶されている符号表中で1ビット
の符号が対応づけられている文字である最頻出文字の出
現確率が50%を越えているか否かを判定するための判
定用データを記憶する判定用データ記憶手段と、符号の
復号に用いる文脈を特定する文脈特定手段と、この文脈
特定手段により特定された文脈に対して判定用データ記
憶手段内に記憶されている判定用データに基づき、その
文脈に関する最頻出文字の出現確率が50%を越えてい
るか否かを判定する判定手段と、この判定手段により最
頻出文字の出現確率が50%以下であると判定されたと
きに、文脈に対して符号表記憶手段内に記憶されている
符号表中で、復元すべき符号に対応づけられている文字
を出力する文字出力手段と、判定手段により最頻出文字
の出現確率が50%を越えていると判定されたときに、
記憶手段内の1つの符号表を第1の符号表とし、この第
1の符号表と特定手段により特定された文脈に対する第
2の符号表とに基づき、第2の符号表中の最頻出文字に
第1の符号表中の文字を続けた文字列及び第2の符号表
中の最頻出文字以外の文字に対してそれぞれ符号を対応
づけた拡張符号表を作成する拡張符号表作成手段と、こ
の拡張符号表作成手段によって作成された拡張符号表内
において、復元すべき符号に対応づけられている文字あ
るいは文字列を出力する文字・文字列出力手段と、文字
出力手段又は文字・文字列出力手段によって文字あるい
は文字列の出力が行われたときに、その文字あるいは文
字列の先頭の文字が特定手段で特定された文脈に対する
符号表中の最頻出文字と一致しているか否かに応じて、
判定用データ記憶手段内の文脈に関する判定用データの
内容を更新する更新手段とを備える。
【0033】この第3のデータ復元装置により、第3の
データ圧縮装置が圧縮したデータの復元が行われる。本
発明の第3のデータ復元装置では、判定用データ記憶手
段として、数値データである判定用データを記憶する手
段を用い、判定手段として、判定用データが予め定めら
れた基準値よりも大きい場合に、最頻出文字の出現確率
が50%を越えていると判定する手段を用い、更新手段
として、出力された文字あるいは出力された文字列の先
頭の文字が最頻出文字と一致している場合には、出現確
率用データに所定値を加算し、それ以外の場合には、出
現確率用データから所定値を減算する手段を用いること
ができる。
【0034】また、本発明の第3のデータ復元装置で
は、判定用データ記憶手段を、それぞれ、文脈に対応づ
けられた複数のシフトレジスタから構成するとともに、
判定手段として、文脈特定手段によって特定された文脈
に対応するシフトレジスタに予め定められた基準値より
も多い“1”が含まれている場合に、最頻出文字の出現
確率が50%を越えていると判定する手段を用い、更新
手段として、出力された文字あるいは出力された文字列
の先頭の文字が最頻出文字と一致している場合には、文
脈特定手段によって特定された文脈に対応するシフトレ
ジスタに、その一方の端から“1”を入力するととも
に、シフトレジスタの内容を他方の端に向けて1ビット
分シフトさせ、それ以外の場合には、文脈特定手段によ
って特定された文脈に対応するシフトレジスタに、他方
の端から“0”を入力するとともに、シフトレジスタの
内容を一方の端に向けて1ビット分シフトさせる手段を
用いることもできる。
【0035】
【発明の実施の形態】以下、本発明を図面を参照して具
体的に説明する。第1実施形態 <データ圧縮装置>図1に、第1実施形態のデータ圧縮
装置の構成を示す。図示したように、第1実施形態のデ
ータ圧縮装置は、入出力装置11とROM(read only m
emory)12とCPU(central processing unit)13と
ディスク記憶装置14とRAM(random access memory)
15を主な構成要素として備える。
【0036】入出力装置11は、キーボードとCRT(c
athode ray tube)とその周辺機器から構成されており、
圧縮すべきデータを指示するためなどに用いられる。R
OM12には、CPU13が最初に実行すべきプログラ
ムなどが記憶されている。本装置を起動した際、CPU
13は、ROM12内のそのプログラムに従い、ディス
ク記憶装置14に記憶されているオペレーションシステ
ムをRAM15の所定の記憶領域に読み込む。さらに、
CPU13は、そのオペレーションシステム上で動作す
るデータ圧縮用プログラムを、RAM15の他の記憶領
域に読み込み、読み込んだデータ圧縮用プログラムに従
った動作を開始する。
【0037】本データ圧縮装置の起動時、RAM15上
には、文脈辞書と、0次文脈(0文字の文脈)に対して
用いられる符号表が用意される。文脈辞書は、文脈別
に、その文脈に続いて現れた文字と、その文字の出現頻
度とを記憶するために用いられる。起動時に用意される
文脈辞書には、0次文脈に関する情報だけが設定されて
いる。当該情報には、圧縮すべきデータ中に含まれるこ
とがある全ての文字と、それぞれの文字の出現頻度の初
期値が含まれている。また、起動時に用意される0次文
脈用の符号表には、0次文脈に続く各文字の出現頻度の
初期値に応じた可変長符号(本装置ではハフマン符号)
が記憶されている。
【0038】以下、第1実施形態のデータ圧縮装置の動
作を説明する。まず、本データ圧縮装置のデータ圧縮手
順の概要を説明する。本データ圧縮装置では、データ圧
縮の実行中に、新たな文脈と文字の組み合わせが現れる
たびに、文脈辞書にその組み合わせに関する情報が登録
される。この際、文脈辞書には、その新たな文脈後に現
れた文字、それらの文字に関する出現頻度の初期値が登
録される。また、登録された文脈に関する符号表もRA
M15上に生成される。そして、ある文字の符号化が終
わった際には、符号化に使用した文脈に対応づけて文脈
辞書内に記憶されているその文字の出現頻度の値が更新
される。また、対応する符号表には、各文字の出現確率
に応じたハフマン符号が設定される。
【0039】データ圧縮は、RAM15上に存在する符
号表を利用して進められる。その際、符号表で定義され
ている符号を用いることが妥当であるか否かが判断さ
れ、妥当でない場合には、その符号表を拡張した拡張符
号表を用いて符号化が行われる。
【0040】以下、第1実施形態のデータ圧縮装置によ
るデータ圧縮手順を具体的に説明する。図2に、第1実
施形態のデータ圧縮装置によるデータ圧縮手順を示す。
なお、図示した流れ図は、CPUの動作を中心として記
述したものであり、上述の各種データがRAM上に用意
された後に実行される。
【0041】図示したように、データ圧縮の開始時、C
PUは、文脈文字列P0を空文字列に初期化(ステップ
S101)し、文脈Pに文脈文字列P0の内容を複写す
る(ステップS102)。なお、文脈文字列P0は、符
号化を行うべき文字の直前に現れた文字をM(本装置で
は、M=3)個分記憶しておくための文字変数である。
文脈Pは、符号化に用いる文脈を決定するために用いら
れる文字変数であり、決定した文脈を記憶するためにも
用いられている。
【0042】次に、CPUは、圧縮対象であるデータか
ら符号化を行う一文字Kを取得する(ステップS10
3)。その後、CPUは、文脈辞書に文脈Pが登録され
ているか否かを判断し、文脈Pが登録されていない場合
(ステップS104:N)には、先頭の1文字を取り除
くことによって、文脈Pを1文字短縮し(ステップS1
05)、ステップS104に戻る。
【0043】文脈辞書に登録されている文脈Pを見い出
したとき(ステップS104;Y)、CPUは、その文
脈Pに続く文字Kが文脈辞書に登録されているか否かを
判断する(ステップS106)。文脈Pに続く文字Kが
文脈辞書に登録されていた場合(ステップS106;
Y)、CPUは、文脈辞書に記憶されている各文字の出
現頻度に基づき、文脈Pに続く文字のうち最も出現頻度
が大きい文字(以下、MPS:Most Probable Symbol と
記す)の出現確率が50%を越えているか否かを判断
(ステップS107)する。
【0044】MPSの出現確率が50%を越えていなか
った場合(ステップS107;N)、CPUは、文脈P
に関する符号表において、文字Kと対応づけられている
符号を出力する(ステップS108)。次いで、文脈P
後に文字Kが再び現れたことを文脈辞書に記憶する(対
応する出現頻度を増加させる)とともに、各文字に対し
て、その文字の出現確率に逆比例する長さの符号が割り
当てられるように、文脈Pに関する符号表の内容を更新
(ステップS110)する。なお、ステップS105を
実行していた場合、CPUは、このステップS110に
おいて、そのときの文脈Pより1次高次の、文字Kに関
する文脈P′と文字Kの組み合わせを、文脈辞書に登録
する。また、その文脈P′に関する符号表を作成し、R
AM内に記憶する。
【0045】その後、CPUは、符号化を終えた文字K
を用いて、文脈文字列P0の内容を更新(ステップS1
11)する。すなわち、CPUは、文脈文字列P0の次
数が最高次数(本装置では3)であった場合には、文脈
文字列P0の末尾に文字Kを追加し、文字Kを追加した
文字列の先頭から一文字を取り除いくことによって得ら
れた文字列を、新たな文脈文字列P0とする。また、文
脈文字列P0の次数が最高次数未満であった場合には、
その末尾に文字Kを追加した文字列を、新たな文脈文字
列P0とする。
【0046】次いで、CPUは、圧縮すべき全てのデー
タに対する処理が完了したか否かを判断し、完了してい
ない場合(ステップS112;N)には、次の文字の符
号化を行うためにステップS102に戻る。
【0047】一方、文脈Pに続く文字Kが文脈辞書に登
録されていた場合(ステップS106;Y)において、
MPSの出現確率が50%を越えていたとき(ステップ
S107;Y)、CPUは、拡張符号出力処理(ステッ
プS109)を実行する。
【0048】以下、図3ないし図5を用いて、拡張符号
出力処理の詳細を説明する。なお、これらの図のうち、
図3は、拡張符号出力処理時のCPUの動作手順を示し
た流れ図であり、図4および図5は、拡張符号出力処理
時に実行される拡張符号表作成処理の処理内容を符号木
によって示した図である。
【0049】まず、図4及び図5を用いて、拡張符号出
力処理において最初に実行される処理である拡張符号表
作成処理を説明する。拡張符号表作成処理では、文脈P
に関する符号表と0次文脈に関する符号表とに基づき、
2文字の文字列と文字とに符号を対応づける拡張符号表
が作成される。本データ圧縮装置内の各符号表に記憶さ
れている符号は、ハフマン符号であるため、拡張符号表
の作成に用いられる文脈Pの符号表(MPSの出現確率
が50%を越えている符号表)を符号木で表した場合、
図4(1)のように表されることになる。また、0次文
脈に関する符号表は、図4(2)に示した符号木で表さ
れる。
【0050】拡張符号表作成処理では、図4(3)に示
した符号木(以下、拡張符号木と記す)に相当する符号
表が作成される。図示してあるように、拡張符号木は、
3つの部分木20′、21′、22′を、それぞれ、
“11”、“10”、“0”に対応する枝で、根(root)
に接続した構造を有する。部分木20′は、文脈Pに関
する符号木のMPS以外の文字に関する部分木20と同
じものである。すなわち、両部分木は、同じ形状を有
し、各葉に対応づけられている文字も等しくなってい
る。部分木21′は、0次文脈に関する符号木の左部分
木21と同じ形状を有する。ただし、部分木21′の各
葉には、部分木21における対応する葉に割り当てられ
ている文字をMPSに繋げた文字列が割り当てられてい
る。部分木22′は、0次文脈に関する符号木の右部分
木22と同じ形状を有する。部分木22′の各葉には、
部分木22において対応する葉に割り当てられている文
字をMPSに繋げた文字列が割り当てられている。
【0051】たとえば、文脈Pが対象となったときに、
文脈Pに関する符号木及び0次文脈に関する符号木が、
それぞれ、図5(1)及び(2)に示したものであった
場合、図5(3)に示したような拡張符号木に相当する
拡張符号表が作成される。すなわち、{aa、ab、a
c、b、c}={0、100、101、110、11
1}という拡張符号表が作成される。なお、“aa”、
“ab”、“ac”の先頭に含まれる“a”が、文脈P
に関する符号木内の“a”に対応し、“b”、“c”
は、文脈Pに関する符号木内の“b”、“c”に対応す
る。そして、“aa”、“ab”、“ac”の末尾に含
まれる“a”、“b”、“c”が、0次文脈に関する符
号木内の“a”、“b”、“c”に対応している。
【0052】このように、拡張符号表作成処理によって
作成される拡張符号表では、MPS(図5では、
“a”)で始まる文字列(“aa”、“ab”、“a
c”)に対して、その文字列内の2番目の文字に対して
0次文脈に関する符号表中で割り当てられている符号の
先頭のビットをその先頭ビットの値に応じて“0”
(“aa”)あるいは“10”(“ab”、“ac”)
に置換した符号が割り当てられる。また、文脈Pに関す
る符号表中のMPS以外の文字(“b”、“c”)に対
して、0次文脈の符号表中のその文字に対する符号に
“1”を付加した符号(0次文脈の符号表中のその文字
に対する符号の先頭ビットを“11”に置換した符号)
が割り当てられる。
【0053】図3を用いて、拡張符号出力処理におけ
る、拡張符号表を作成した後のCPUの動作を説明す
る。拡張符号表作成処理(ステップS201)を完了し
た後、CPUは、符号化対象文字である文字Kが、文脈
PのMPSと一致しているか否かを判断(ステップS2
02)する。文字KとMPSとが一致していなかった場
合(ステップS202;N)、CPUは、作成した拡張
符号表において、文字Kと対応づけられている符号を出
力(ステップS203)し、拡張符号出力処理を終了す
る。
【0054】一方、文字KがMPSと一致していた場合
(ステップS202;Y)、CPUは、圧縮対象である
データから、次に符号化すべき文字Jを取得(ステップ
S204)する。そして、作成した拡張符号表におい
て、文字Kと文字Jからなる文字列に対応づけられてい
る符号を出力(ステップS205)し、拡張符号出力処
理を終了する。
【0055】図2に戻って、データ圧縮装置の動作説明
を続ける。拡張符号出力処理(ステップS119)が完
了したとき、CPUは、ステップS110に進み、前述
した処理を実行する。
【0056】また、文脈Pは登録されているが、文脈P
に続く文字Kが文脈辞書に登録されていなかった場合
(ステップS106;N)、CPUは、その文脈PのM
PSの出現確率が、50%を越えているか否かを判断
(ステップS113)する。
【0057】MPSの出現確率が50%以下であった場
合(ステップS113;N)、CPUは、ESCと対応
づけられている符号を出力する(ステップS114)。
そして、文脈Pの先頭の1文字を削除することによっ
て、文脈Pを1文字分短縮(ステップS115)し、ス
テップS104に戻る。
【0058】一方、MPSの出現確率が50%を越えて
いた場合(ステップS113;Y)、CPUは、拡張符
号表作成処理(ステップS116)を実行する。この拡
張符号表作成処理は、既に説明した、図3のステップS
201で行われている処理と全く同じものである。そし
て、CPUは、ステップS116で作成した拡張符号表
において、文字Kに対応づけられている符号を出力(ス
テップS120)する。
【0059】ステップS120後に実行されるステップ
S110では、文脈Pと文字Kの組み合わせの文脈辞書
への登録や、文脈Pに関する符号表への文字Kの追加な
どが行われる(ステップS110)。
【0060】その後、CPUは、文脈文字列P0を更新
(ステップS111)し、全データに対する処理が完了
したとき(ステップS112;Y)に、データ圧縮を終
える。
【0061】このように構成された第1のデータ圧縮装
置では、たとえば、ある文脈PX後に現れた3種の文字
a、b、cの出現確率Pが、P(a)=75%、P
(b)=12.5%、P(c)=12.5%であると
き、文脈PXに関して、{a、b、c}={0、10、
11}といった内容の符号表が作成される。
【0062】そして、再び、文脈PXが現れたときに
は、MPSの出現確率が50%を越えているので、この
符号表と0次の文脈に関する符号表とが組み合わされて
拡張符号表が作成される。たとえば、0次の文脈に関す
る符号表が、{a、b、c}={0、10、11}であ
った場合には、文脈PXに関する符号表、0次文脈に関
する符号表は、それぞれ、図5(1)、(2)に示した
ものとなるため、図5(3)に示したような、{aa、
ab、ac、b、c}={0、100、101、11
0、111}という拡張符号表が作成されることにな
る。
【0063】この拡張符号表では、図6に模式的に示し
たように、MPS(文字“a”)で始まる文字列(“a
a”、“ab”、“ac”)は、2文字単位で符号化さ
れる。このため、この拡張符号表における、符号化対象
文字に対する符号化空間は、上図に示したように、各文
字の実際の出現確率により良く対応したものとなる。従
って、本データ圧縮装置によれば、文字毎に符号を割り
付けた符号表を用いた場合に比して、効率的なデータ圧
縮が実現されることになる。
【0064】なお、第1実施形態のデータ圧縮装置は、
各種の変形が可能である。たとえば、拡張符号表を作成
する際に、0次文脈用の符号表とは別の符号表が用いら
れるように装置を構成しても良い。また、0次文脈に関
する符号表に符号化対象文字がないときの符号化手順を
定めておくことによって、0次文脈に関する符号表にも
文字が追加できるようにしても良い。さらに、データ圧
縮の開始時に幾つか文脈に関する符号表が用意されるよ
うにしても良い。また、ハフマン符号以外の可変長符号
化方法、たとえば、文字の順位を符号化するような方法
を用いても良いことは当然である。
【0065】そして、予め静的な符号表を文脈ごとに用
意しておき、それらの符号表内の再頻出文字の出現確率
に応じて拡張符号表による符号化と、通常の符号表によ
る符号化を選択するように装置を構成しても良い。
【0066】<データ復元装置>第1実施形態のデータ
復元装置は、第1実施形態のデータ圧縮装置で圧縮され
たデータを復元する装置である。第1実施形態のデータ
復元装置も、第1実施形態のデータ圧縮装置と同様にC
PUを中心として構成されている。また、その起動時、
第1実施形態のデータ復元装置のRAM上には、第1実
施形態のデータ圧縮装置の起動時にRAM上に用意され
る文脈辞書、符号表と全く内容が等しい文脈辞書、符号
表が用意される。
【0067】図7に、第1実施形態のデータ復元装置
(CPU)の動作手順を示す。データ復元を開始する
際、CPUは、まず、文脈文字列P0を空文字列に初期
化する(ステップS401)。次いで、CPUは、文脈
Pに文脈文字列P0の内容を複写し(ステップS40
2)、文脈辞書に文脈Pが登録されているか否かを判断
(ステップS403)する。
【0068】文脈Pが登録されていない場合(ステップ
S403;N)、CPUは、先頭の1文字を取り除くこ
とによって、文脈Pを1文字分短縮し(ステップS40
4)、ステップS403に戻る。
【0069】文脈辞書に登録されている文脈Pを見い出
した場合(ステップS403;Y)、CPUは、文脈P
に関する各文字の出現頻度に基づき、MPSの出現確率
が50%を越えているか否かを判断(ステップS40
5)する。そして、MPSの出現確率が50%以下であ
った場合(ステップS405;N)、CPUは、文脈P
に関する符号表を用いて、符号を復号する(ステップS
406)。
【0070】そして、復号された文字がESCであった
場合(ステップS407;Y)には、文脈Pを1文字分
短縮(ステップS408)し、ステップS402に戻
る。一方、復号された文字がESCでなかった場合(ス
テップS407;N)には、その文字を出力(ステップ
S409)し、ステップS415に進む。なお、ステッ
プS407において“N”側への分岐が行われるのは、
図2のステップS108で出力された符号が復号された
ときである。また、“Y”側への分岐が行われるのは、
図2のステップS114で出力された符号が復号された
ときである。
【0071】文脈Pに関するMPSの出現確率が50%
を越えていた場合(ステップS405;Y)、CPU
は、拡張符号表作成処理(ステップS410)を実行す
る。このステップで行われる拡張符号表作成処理は、第
1実施形態のデータ圧縮装置で行われている拡張符号作
成処理と同じ処理である。
【0072】その後、CPUは、作成した拡張符号表を
用いて、符号を復号(ステップS411)し、復号され
た文字がESCであった場合(ステップS412;Y)
には、文脈Pを1文字分短縮(ステップS413)し
て、ステップS403に戻る。一方、CPUは、復号さ
れた文字がESCでなかった場合(ステップS412;
N)、には、複合された文字を出力する(ステップS4
14)。なお、ステップS414が実行されるのは、図
2のステップS109あるいはS120において出力さ
れた符号が復号されるときである。
【0073】その後、CPUは、行った処理内容に応じ
て、文脈辞書、符号表の内容を更新(ステップS41
5)する。次いで、実際に出力した文字数に応じて文脈
文字列P0を更新する(ステップS416)。
【0074】その後、CPUは、全データの復元が完了
したか否かを判断し、完了していない場合(ステップS
417;N)には、ステップS402に戻る。CPU
は、ステップS402ないしS416の処理を繰返し、
全てのデータに対する処理が完了したとき(ステップS
417;Y)に、データ復元処理を終了する。
【0075】第2実施形態 <データ圧縮装置>図8に、第2実施形態のデータ圧縮
装置の構成を示す。図示したように、第2実施形態のデ
ータ圧縮装置は、第1実施形態のデータ圧縮装置と同様
に、入出力装置11とROM(read only memory)12と
CPU(central processing unit)13とディスク記憶
装置14とRAM(random access memory)15を主な構
成要素として備える。
【0076】第2実施形態のデータ圧縮装置の起動時、
RAM15内には、文脈辞書と、出現確率判定表と、0
次文脈に対して用いられる符号表と、1次ないし3次の
文脈に対して用いられる幾つかの符号表が用意される。
文脈辞書は、符号表が用意されている文脈に関する情報
を保持しており、符号表の有無を判定するために用いら
れる。RAM15内の各符号表は、対応する文脈後に現
れることがある全ての文字に符号を対応づけた表であ
り、各文字には、対応する文脈後にその文字が現れる一
般的な出現確率に応じた符号長を有する符号が対応づけ
られている。また、符号表のうち、出現確率が50%を
越えることがある文字を有する符号表では、その文字
(MPS)に対して、1ビットの符号が対応づけられて
いる。
【0077】出現確率判定表は、文脈毎に、出現確率判
定用データを記憶するための表である。出現確率判定用
データは数値データであり、起動時に用意される出現判
定表内の出現確率判定用データは、全て“0”に初期化
されている。
【0078】本装置では、文脈の新規登録、符号表の内
容変更は行われず、出現確率判定表内の出現確率判定用
データに基づき、MPSの出現確率が50%を越えるか
否かが判定(推定)され、MPSの出現確率が50%を
越える場合には、拡張符号表を用いた符号化が行われ
る。
【0079】以下、図9を用いて、本データ圧縮装置に
よるデータ圧縮手順を詳細に説明する。データ圧縮の開
始時、CPUは、まず、文脈文字列P0を空文字列に初
期化する(ステップS501)。次いで、文脈Pに文脈
文字列P0の内容を複写し(ステップS502)、圧縮
対象であるデータから符号化を行う一文字Kを取得する
(ステップS503)。その後、CPUは、文脈辞書に
文脈Pが登録されているか否かを判断し、文脈Pが登録
されていない場合(ステップS504:N)には、先頭
の1文字を取り除くことによって、文脈Pを1文字分短
縮し(ステップS505)、ステップS504に戻る。
【0080】文脈辞書に登録されている文脈Pを見い出
したとき(ステップS504;Y)、CPUは、出現確
率判定表に記憶された文脈Pに関する出現確率判定用デ
ータに基づき、文脈Pに対する符号表内でのMPSの出
現確率が50%を越えるか否かを判定する(ステップS
506)。このステップにおける具体的な判定手順につ
いては後述する。
【0081】MPSの出現確率が50%以下であると判
定した場合(ステップS506;Y)、CPUは、文脈
Pの符号表内で、文字Kと対応づけられている符号を出
力(ステップS507)し、ステップS509に進む。
一方、MPSの出現確率が50%を越えていると判定し
た場合(ステップS506;N)、CPUは、拡張符号
出力処理(ステップS508)を実行する。
【0082】図10に、拡張符号出力処理時のデータ圧
縮装置(CPU)の動作手順を示す。図示したように、
拡張符号出力処理の開始時、CPUは、まず、文脈Q
に、文脈Pの末尾にMPSを加えた文字列を設定(ステ
ップS601)する。次いで、文脈辞書に文脈Qが登録
されているか否かを判断し、登録されていない場合(ス
テップS602;N)には、先頭1文字を取り除くこと
によって文脈Qを1文字分短縮(ステップS603)
し、ステップS602に戻る。
【0083】文脈Qを見い出した場合(ステップS60
2;Y)、CPUは、文脈Pと文脈Qの符号表を組み合
わせることによって拡張符号表を作成(ステップS60
4)する。このステップおける拡張符号表の作成手順
は、組み合わされる符号表が文脈Qの符号表である点を
除けば、第1実施形態のデータ圧縮装置で行われている
拡張符号表の作成手順と同じものである。たとえば、文
脈P、文脈Qの符号表が、それぞれ、図11(a)、
(b)に示したものであった場合、(c)に示したよう
な拡張符号表が作成される。なお、各符号表は、文字の
順位と符号とを対応づける際に良く用いられる符号表で
あり、(a)、(b)に示した符号は、それぞれ、Un
ary符号、Golomb符号と呼ばれている。
【0084】図示したように、これらの符号から既に説
明した手順によって作成される拡張符号表では、I〜I
といった2文字の文字列が、文脈Qに関する〜と
いった1文字の符号と同じ長さの符号で表されている。
すなわち、文脈Pに関する符号表において1ビットで表
されていた文字Iのうち、I〜Iという文字列に含ま
れる文字Iが、この拡張符号表では、1ビット以下で表
されている。このため、本拡張符号表によれば、1文字
毎に符号化を行った場合に比して、高圧縮率が達成され
ることになる。図12に、各符号表に対応する符号木を
示しておく。
【0085】拡張符号表の作成後、CPUは、文脈Pの
MPSが文字Kと一致しているか否かを判断し、一致し
ていなかった場合(ステップS605;N)には、作成
した拡張符号表を用いて、文字Kの符号を出力する(ス
テップS606)。他方、文脈PのMPSが文字Kであ
った場合(ステップS605;Y)、CPUは、次に符
号化すべき文字Jを取得(ステップS607)し、拡張
符号表内において、文字K+文字Jという文字列に対応
づけられている符号を出力(ステップS608)し、拡
張符号出力処理を終了する(図9のステップS509に
進む)。
【0086】図9のステップS509〜S513は、出
現確率判定表を更新するためのステップとなっている。
図示したように、CPUは、まず、符号化を終えた文字
Kが、文脈PのMPSと一致しているか否かを判断する
(ステップS509)。そして、文字KがMPSと一致
していた場合(ステップS509;Y)、CPUは、文
脈Pに関する出現確率判定用データ(図では、判定用デ
ータと略記してある)が“3”であるか否かを判断する
(ステップS510)。出現確率判定用データが“3”
でなかった場合(ステップS510;N)、CPUは、
その出現確率判定用データに“1”を加算して(ステッ
プS511)、ステップS514に進む。他方、出現確
率判定用データが“3”であった場合(ステップS51
0;Y)、CPUは、出現確率判定用データを更新する
ことなく、ステップS514に進む。
【0087】また、文字KがMPSと一致していなかっ
た場合(ステップS502;N)、CPUは、出現確率
判定用データが“0”であるか否かを判断する(ステッ
プS512)。そして、CPUは、出現確率判定用デー
タが“0”でなかったとき(ステップS512;N)に
は、出現確率判定用データから“1”を減算して(ステ
ップS513)、ステップS514に進む。他方、出現
確率判定用データが“0”であったとき(ステップS5
12;Y)には、出現確率判定用データを更新すること
なく、ステップS514に進む。
【0088】この出現確率表更新手順(ステップS50
9〜S513)によれば、MPSの出現確率が50%を
越えている場合、出現確率判定用データに“1”が加算
される回数の方が、出現確率判定用データから“1”が
減算される回数よりも多くなので、出現確率判定用デー
タは3近傍の値を取ることになる。逆に、MPSの出現
確率が50%以下であった場合、出現確率判定用データ
に“1”が加算される回数の方が、出現確率判定用デー
タから“1”が減算される回数よりも少なくなるので、
出現確率判定用データは0近傍の値を取ることになる。
【0089】従って、出現確率判定用データが“2”以
上であった場合には、MPSの出現確率が50%を越え
ていると推定できることになり、逆の場合には、MPS
の出現確率が50%以下であると推定できることにな
る。このことに基づき、前述のステップS506では、
出現確率判定用データが“2”以上であった場合、
“Y”側への分岐を実行させ、“2”未満であった場
合、“N”側への分岐を実行させている。
【0090】出現確率判定表更新処理の実行後、CPU
は、文脈文字列P0を符号化を終えた文字あるいは文字
列を用いて更新する(ステップS514)。次いで、C
PUは、全データの処理が完了しているか否かを判断
し、未処理の文字が残っていた場合(ステップS51
5;N)には、ステップS502に戻り、次の文字の符
号化を開始する。そして、CPUは、上述のような一連
の処理を全てのデータに対して行った後に(ステップS
515;Y)、データ圧縮処理を終了する。
【0091】このように、第2実施形態のデータ圧縮装
置では、符号化対象文字の符号化に使用する符号表に出
現確率が50%を越えると推定される文字が含まれてい
た場合、符号化対象文字ともう1文字からなる文字列に
対して符号が割り付けられ(情報源が拡大され)、符号
化対象文字の符号化が行われる。また、情報源の拡大
は、2つの符号表を組み合すことによって行われている
ので、本データ圧縮装置によれば、高速に高圧縮率でデ
ータ圧縮が実現できることになる。
【0092】なお、第2実施形態のデータ圧縮装置で
は、出現確率判定用データとして数値データを用いた
が、装置内に、各文脈に対応するシフトレジスタを設
け、各シフトレジスタ内に出現確率判定用データを記憶
させることもできる。
【0093】図13に、シフトレジスタを用いた場合の
出現確率判定用データ更新手順を示す。この場合、MP
Sと文字Kが一致していた場合(ステップS701;
Y)には、そのときに対象としている文脈のシフトレジ
スタの右端より、“1”が左シリアルシフト−インされ
るようにする(ステップS702)。逆に、MPSと文
字Kが一致していなかった場合(ステップS701;
N)には、シフトレジスタの左端より、“0”が右シリ
アルシフト−インされるようにする(ステップS70
3)。
【0094】このようにシフトレジスタの内容が更新さ
れるようにすれば、図14に模式的に示したように、シ
フトレジスタの内部に“0”より“1”が多く記憶され
ている場合には、対応するMPSの出現確率が50%を
越えていると判定できることになる。このため、図15
に模式的に示してあるように、シフトレジスタ内に
“1”が多数存在しているか否かを判定させ、存在して
いた場合(ステップS901;Y)に、MPSの出現確
率が50%以上であると推定させる(ステップS90
2)ことができる。そして、シフトレジスタ内に“1”
が多数存在していない場合(ステップS901;N)
に、MPSの出現確率が50%未満であると推定させる
(ステップS902)ことができることになる。
【0095】なお、この構成は、第2実施形態のデータ
圧縮装置を、IC化する際に特に効果的である。 <データ復元装置>第2実施形態のデータ復元装置は、
第2実施形態のデータ圧縮装置で圧縮されたデータを復
元する。第2実施形態のデータ復元装置も、第2実施形
態のデータ圧縮装置と同様にCPUを中心として構成さ
れている。また、その起動時、第2実施形態のデータ復
元装置のRAM上には、第2実施形態のデータ圧縮装置
の起動時にRAM上に用意される文脈辞書、出現確率判
定表、符号表と全く内容が等しい文脈辞書、出現確率判
定表、符号表が用意される。
【0096】以下、図16を用いて、第2実施形態のデ
ータ復元装置(CPU)のデータ復元手順を説明する。
データ復元を開始する際、CPUは、まず、文脈文字列
0を空文字列に初期化する(ステップS801)。次
いで、CPUは、文脈Pに文脈文字列P0の内容を複写
し(ステップS802)、文脈辞書に文脈Pが登録され
ているか否かを判断(ステップS803)する。
【0097】文脈Pが登録されていない場合(ステップ
S803:N)、CPUは、先頭の1文字を取り除くこ
とによって文脈Pを1文字短縮し(ステップS80
4)、ステップS803に戻る。文脈辞書に登録されて
いる文脈Pを見い出したとき(ステップS803;
Y)、CPUは、出現確率判定表内の文脈Pに関する出
現確率判定用データと所定値(=2)との大小関係を比
較することによって、文脈Pに関するMPSの出現確率
が50%を越えているか否かを判断(ステップS80
5)する。
【0098】MPSの出現確率が50%以下である場合
(ステップS805;N)、CPUは、文脈Pに関する
符号表を用いて符号を復号して、復号結果である文字を
出力し(ステップS806)、ステップS812に進
む。一方、MPSの出現確率が一方、MPSの出現確率
が50%を越えていた場合(ステップS805;Y)、
CPUは、文脈Pの末尾にMPSを付加した文字列を、
文脈Qに設定(ステップS807)する。次いで、文脈
辞書に文脈Qが登録されていなかった場合(ステップS
808;N)には、先頭の1文字を削除することによっ
て、文脈Qを1文字分短縮し(ステップS809)、ス
テップS808に戻る。
【0099】文脈辞書に登録されている文脈Qを見い出
したとき(ステップS808;Y)、CPUは、文脈P
と文脈Qに関する符号表を組み合わせて拡張符号表を作
成(ステップS810)する。次いで、その拡張符号表
を用いて符号の復号を行い、復号結果である文字あるい
は文字列を出力(ステップS811)する。
【0100】その後、CPUは、拡張符号表更新処理
(ステップS812)を実行する。このステップでは、
図9のステップS509〜S513と同じ処理が実行さ
れる。次いで、CPUは、文脈文字列P0を更新(ステ
ップS813)し、処理すべきデータが残っていた場合
(ステップS814;N)には、ステップS802に戻
る。
【0101】CPUは、ステップS802〜S813の
処理を繰返し、全てのデータに対する処理が完了したと
きに(ステップS814;Y)、データ復元処理を終了
する。
【0102】
【発明の効果】以上、詳細に説明したように、本発明の
データ圧縮装置によれば、2文字単位での符号化も併用
した形でデータ圧縮が進められるので、高速かつ高圧縮
率のデータ圧縮を実現できる。また、本発明のデータ復
元装置によれば、本発明のデータ圧縮装置によって圧縮
されたデータを高速に復元できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態のデータ圧縮装置の構成
を示すブロック図である。
【図2】第1実施形態のデータ圧縮装置の動作手順を示
す流れ図である。
【図3】第1実施形態のデータ圧縮装置で実行される拡
張符号出力処理の流れ図である。
【図4】第1実施形態のデータ圧縮装置における拡張符
号表の作成手順を模式的に示した説明図である。
【図5】第1実施形態のデータ圧縮装置における拡張符
号表の作成手順を模式的に示した説明図である。
【図6】拡張符号表による符号化空間の分割例を示した
図である。
【図7】第1実施形態のデータ復元装置によるデータ復
元手順を示す流れ図である。
【図8】本発明の第2実施形態のデータ圧縮装置の構成
を示すブロック図である。
【図9】第2実施形態のデータ圧縮装置の動作手順を示
す流れ図である。
【図10】第2実施形態のデータ圧縮装置で実行される
拡張符号出力処理の流れ図である。
【図11】第2実施形態のデータ圧縮装置において符号
化に使用される2つの符号表と、それらの符号表から作
成される拡張符号表とを示した図である。
【図12】第2実施形態のデータ圧縮装置における拡張
符号表の作成手順を模式的に示した説明図である。
【図13】出現確率判定用データの記憶にシフトレジス
タを用いた際の、出現確率判定用データ更新手順の内容
を示した流れ図である。
【図14】出現確率判定用データの記憶にシフトレジス
タを用いた際の、シフトレジスタの動作内容を示した説
明図である。
【図15】出現確率判定用データの記憶にシフトレジス
タを用いた際の、出現確率推定手順を示した流れ図であ
る。
【図16】本発明の第2実施形態のデータ復元装置によ
るデータ復元手順を示す流れ図である。
【図17】統計型圧縮を行うデータ圧縮装置の基本構成
を示すブロック図である。
【図18】統計モデル部の動作を説明するための図であ
る。
【図19】文脈を収集する際に用いられる木構造の一例
を示した図である。
【図20】算術符号化における文字の生起確率と区間と
の対応関係を示した図である。
【図21】算術符号化における符号化手順を示した説明
図である。
【図22】データ圧縮を行う際に用いられる静的符号を
示した図である。
【符号の説明】
11 入出力部 12 ROM 13 CPU 14 ディスク記憶装置 15 RAM 20〜22 部分木 31 統計モデル部 32 エントロピー符号化部
フロントページの続き (56)参考文献 特開 昭60−101669(JP,A) 特開 平6−315089(JP,A) 特開 平8−30432(JP,A) 特開 平8−167853(JP,A) JOHN G.CLEARY et al.,Data Compressi on Using Adaptive Coding and Partial StringMatching,IE EE Trans.on Commun ication,米国,Vol.COM −32 No.4,p396−402 (58)調査した分野(Int.Cl.7,DB名) H03M 7/42 H03M 7/30

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 文脈毎に、その文脈に続く文字と符号と
    を対応付けた符号表を記憶する記憶手段と、 圧縮すべき文字列から符号化を行う文字である符号化対
    象文字を取得する取得手段と、 この取得手段により取得された符号化対象文字の直前に
    現れた文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表が出現確率が50%を
    越えている文字である最頻出文字を含む符号表であった
    場合、その符号表を変形して前記最頻出文字で始まる2
    文字の文字列と最頻出文字以外の文字とに符号を対応づ
    ける拡張符号表を作成し、作成した拡張符号表を用いて
    前記符号化対象文字あるいは前記符号化対象文字とその
    次の文字とからなる文字列を符号化する第1符号化手段
    と、 前記文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表が出現確率が50%を
    越えている文字である最頻出文字を含まない符号表であ
    った場合、その符号表を用いて前記符号化対象文字を符
    号化する第2符号化手段とを備えることを特徴とするデ
    ータ圧縮装置。
  2. 【請求項2】 文脈毎に、その文脈に続く文字と符号と
    を対応付けた符号表を記憶する記憶手段と、 圧縮すべき文字列から符号化を行う文字である符号化対
    象文字を取得する取得手段と、 この取得手段により取得された符号化対象文字の直前に
    現れた文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表内の各文字のうち、最
    も出現確率が高い文字である最頻出文字の出現確率が5
    0%を越えているか否かを判定する判定手段と、 この判定手段により最頻出文字の出現確率が50%以下
    であると判定されたときに、前記文脈に対して前記記憶
    手段内に記憶されている符号表中で前記符号化対象文字
    に対応づけられている符号を出力する符号出力手段と、 前記判定手段により最頻出文字の出現確率が50%を越
    えていると判定されたときに、前記記憶手段内の1つの
    符号表を第1の符号表とし、この第1の符号表と前記特
    定手段により特定された文脈に対する第2の符号表とに
    基づき、第2の符号表中の最頻出文字に前記第1の符号
    表中の文字を続けた文字列及び第2の符号表中の最頻出
    文字以外の文字に対してそれぞれ符号を対応づけた拡張
    符号表を作成する拡張符号表作成手段と、 この拡張符号表作成手段により拡張符号表が作成された
    ときに、前記符号化対象文字が前記第2の符号表中の最
    頻出文字でなかった場合には、拡張符号表中で符号化対
    象文字に対応づけられている符号を出力し、前記符号化
    対象文字が第2の符号表中の最頻出文字であった場合に
    は、次に符号化すべき文字を取得し、拡張符号表中で前
    記符号化対象文字とこの取得した文字とからなる文字列
    に対応づけられている符号を出力する拡張符号出力手段
    と、 前記符号出力手段または前記拡張符号出力手段によって
    符号化対象文字に対する符号が出力されたときに、前記
    特定手段によって特定された文脈に対する符号表の内容
    を、出現確率が大きい文字ほど符号長が短い符号が対応
    づけられるように更新する更新手段とを備えることを特
    徴とするデータ圧縮装置。
  3. 【請求項3】 前記拡張符号表作成手段は、拡張符号表
    を作成する際に、最頻出文字で始まる文字列に対する符
    号として、その文字列内の最頻出文字に続く文字に対し
    て前記第1の符号表中で対応づけられている符号の先頭
    のビットをその先頭ビットの値に応じて“0”あるいは
    “10”に置換した符号を用い、第2の符号表中の最頻
    出文字以外の文字に対する符号として、第2の符号表中
    のその文字に対する符号の先頭のビットを“11”に置
    換した符号を用いることを特徴とする請求項2記載のデ
    ータ圧縮装置。
  4. 【請求項4】 文脈毎に、その文脈に続く文字と符号と
    を対応付ける符号表を記憶する符号表記憶手段と、 文脈毎に、その文脈に対して前記符号表記憶手段に記憶
    されている符号表中で1ビットの符号が対応づけられて
    いる文字である最頻出文字の出現確率が50%を越えて
    いるか否かを判定するための判定用データを記憶する判
    定用データ記憶手段と、 圧縮すべき文字列から符号化を行う文字である符号化対
    象文字を取得する取得手段と、 この取得手段により取得された符号化対象文字の直前に
    現れた文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記判
    定用データ記憶手段内に記憶されている判定用データに
    基づき、その文脈に関する最頻出文字の出現確率が50
    %を越えているか否かを判定する判定手段と、 この判定手段により最頻出文字の出現確率が50%以下
    であると判定されたときに、前記文脈に対して前記符号
    表記憶手段内に記憶されている符号表中で前記符号化対
    象文字に対応づけられている符号を出力する符号出力手
    段と、 前記判定手段により最頻出文字の出現確率が50%を越
    えていると判定されたときに、前記符号表記憶手段内の
    何れかの符号表を第1の符号表とし、この第1の符号表
    と前記特定手段により特定された文脈に対する第2の符
    号表とに基づき、第2の符号表中の最頻出文字に前記第
    1の符号表中の文字を続けた文字列及び第2の符号表中
    の最頻出文字以外の文字に対してそれぞれ符号を対応づ
    けた拡張符号表を作成する拡張符号表作成手段と、 この拡張符号表作成手段により拡張符号表が作成された
    ときに、前記符号化対象文字が前記第2の符号表中の最
    頻出文字でなかった場合には、拡張符号表中で符号化対
    象文字に対応づけられている符号を出力し、前記符号化
    対象文字が第2の符号表中の最頻出文字であった場合に
    は、次に符号化すべき文字を取得し、拡張符号表中で前
    記符号化対象文字と取得した文字とからなる文字列に対
    応づけられている符号を出力する拡張符号出力手段と、 前記符号出力手段又は前記拡張符号出力手段によって符
    号が出力されたときに、前記符号化対象文字が前記特定
    手段によって特定された文脈に対する符号表中の最頻出
    文字と一致しているか否かに応じて、その文脈に関する
    前記判定用データ記憶手段内の判定用データの内容を更
    新する更新手段とを備えることを特徴とするデータ圧縮
    装置。
  5. 【請求項5】 前記判定用データ記憶手段は、数値デー
    タである判定用データを記憶し、 前記判定手段は、判定用データが予め定められた基準値
    よりも大きい場合に、最頻出文字の出現確率が50%を
    越えていると判定し、 前記更新手段は、符号化対象文字が最頻出文字と一致し
    ていた場合には、出現確率用データに所定値を加算し、
    符号化対象文字が最頻出文字と一致していない場合に
    は、出現確率用データから前記所定値を減算することを
    特徴とする請求項4記載のデータ圧縮装置。
  6. 【請求項6】 前記判定用データ記憶手段は、それぞ
    れ、文脈に対応づけられた複数のシフトレジスタから構
    成され、 前記判定手段は、前記文脈特定手段によって特定された
    文脈に対応する前記シフトレジスタに予め定められた基
    準値よりも多い“1”が含まれている場合に、最頻出文
    字の出現確率が50%を越えていると判定し、 前記更新手段は、符号化対象文字が最頻出文字と一致し
    ていた場合には、前記文脈特定手段によって特定された
    文脈に対応するシフトレジスタに、その一方の端から
    “1”を入力するとともに、シフトレジスタの内容を他
    方の端に向けて1ビット分シフトさせ、符号化対象文字
    が最頻出文字と一致していなかった場合には、前記文脈
    特定手段によって特定された文脈に対応するシフトレジ
    スタに、前記他方の端から“0”を入力するとともに、
    シフトレジスタの内容を前記一方の端に向けて1ビット
    分シフトさせることを特徴とする請求項4記載のデータ
    圧縮装置。
  7. 【請求項7】 文脈毎に、その文脈に続く文字と符号と
    を対応付けた符号表を記憶する記憶手段と、 符号の復号に使用する文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表が出現確率が50%を
    越えている文字である最頻出文字を含む符号表であった
    場合、その符号表を変形して前記最頻出文字で始まる2
    文字の文字列と最頻出文字以外の文字とに符号を対応づ
    ける拡張符号表を作成し、作成した拡張符号表を用いて
    復元すべき符号を復号する第1復号手段と、 前記文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表が出現確率が50%を
    越えている文字である最頻出文字を含まない符号表であ
    った場合、その符号表を用いて復元すべき符号を復号す
    る第2復号手段とを備えることを特徴とするデータ復元
    装置。
  8. 【請求項8】 文脈毎に、その文脈に続く文字と符号と
    を対応付ける符号表を記憶する記憶手段と、 符号の復号に使用する文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記記
    憶手段内に記憶されている符号表内の文字のうち最も出
    現確率が高い文字である最頻出文字の出現確率が50%
    を越えているか否かを判定する判定手段と、 この判定手段により最頻出文字の出現確率が50%以下
    であると判定された場合に、前記文脈に対して前記記憶
    手段内に記憶されている符号表中で、復元すべき符号に
    対応づけられている文字を出力する文字出力手段と、 前記判定手段により最頻出文字の出現確率が50%を越
    えていると判定されたときに、前記記憶手段内の1つの
    符号表を第1の符号表とし、この第1の符号表と前記特
    定手段により特定された文脈に対する第2の符号表とに
    基づき、第2の符号表中の最頻出文字に前記第1の符号
    表中の文字を続けた文字列及び第2の符号表中の最頻出
    文字以外の文字に対してそれぞれ符号を対応づけた拡張
    符号表を作成する拡張符号表作成手段と、 この拡張符号表作成手段によって作成された拡張符号表
    内において、復元すべき符号に対応づけられている文字
    あるいは文字列を出力する文字・文字列出力手段と、 前記文字出力手段又は文字・文字列出力手段によって文
    字あるいは文字列が出力されたときに、前記特定手段に
    よって特定された文脈に関する符号表の内容を、出現確
    率が大きい文字ほど符号長が短い符号が対応づけられる
    ように更新する更新手段とを備えることを特徴とするデ
    ータ復元装置。
  9. 【請求項9】 前記拡張符号表作成手段は、拡張符号表
    を作成する際に、最頻出文字で始まる文字列に対する符
    号として、その文字列内の最頻出文字に続く文字に対し
    て前記第1の符号表中で対応づけられている符号の先頭
    のビットをその先頭ビットの値に応じて“0”あるいは
    “10”に置換した符号を用い、第2の符号表中の最頻
    出文字以外の文字に対する符号として、第2の符号表中
    のその文字に対する符号の先頭のビットを“11”に置
    換した符号を用いることを特徴とする請求項8記載のデ
    ータ復元装置。
  10. 【請求項10】 文脈毎に、その文脈に続く文字と符号
    とを対応付ける符号表を記憶する符号表記憶手段と、 文脈毎に、その文脈に対して前記符号表記憶手段に記憶
    されている符号表中で1ビットの符号が対応づけられて
    いる文字である最頻出文字の出現確率が50%を越えて
    いるか否かを判定するための判定用データを記憶する判
    定用データ記憶手段と、 符号の復号に用いる文脈を特定する文脈特定手段と、 この文脈特定手段により特定された文脈に対して前記判
    定用データ記憶手段内に記憶されている判定用データに
    基づき、その文脈に関する最頻出文字の出現確率が50
    %を越えているか否かを判定する判定手段と、 この判定手段により最頻出文字の出現確率が50%以下
    であると判定されたときに、前記文脈に対して前記符号
    表記憶手段内に記憶されている符号表中で、復元すべき
    符号に対応づけられている文字を出力する文字出力手段
    と、 前記判定手段により最頻出文字の出現確率が50%を越
    えていると判定されたときに、前記記憶手段内の1つの
    符号表を第1の符号表とし、この第1の符号表と前記特
    定手段により特定された文脈に対する第2の符号表とに
    基づき、第2の符号表中の最頻出文字に前記第1の符号
    表中の文字を続けた文字列及び第2の符号表中の最頻出
    文字以外の文字に対してそれぞれ符号を対応づけた拡張
    符号表を作成する拡張符号表作成手段と、 この拡張符号表作成手段によって作成された拡張符号表
    内において、復元すべき符号に対応づけられている文字
    あるいは文字列を出力する文字・文字列出力手段と、 前記文字出力手段又は前記文字・文字列出力手段によっ
    て文字あるいは文字列の出力が行われたときに、その文
    字あるいは文字列の先頭の文字が前記特定手段で特定さ
    れた文脈に対する符号表中の最頻出文字と一致している
    か否かに応じて、前記判定用データ記憶手段内の前記文
    脈に関する判定用データの内容を更新する更新手段とを
    備えることを特徴とするデータ復元装置。
  11. 【請求項11】 前記判定用データ記憶手段は、数値デ
    ータである判定用データを記憶し、 前記判定手段は、判定用データが予め定められた基準値
    よりも大きい場合に、最頻出文字の出現確率が50%を
    越えていると判定し、 前記更新手段は、出力された文字あるいは出力された文
    字列の先頭の文字が最頻出文字と一致している場合に
    は、出現確率用データに所定値を加算し、それ以外の場
    合には、出現確率用データから前記所定値を減算するこ
    とを特徴とする請求項10記載のデータ復元装置。
  12. 【請求項12】 前記判定用データ記憶手段は、それぞ
    れ、文脈に対応づけられた複数のシフトレジスタから構
    成され、 前記判定手段は、前記文脈特定手段によって特定された
    文脈に対応する前記シフトレジスタに予め定められた基
    準値よりも多い“1”が含まれている場合に、最頻出文
    字の出現確率が50%を越えていると判定し、 前記更新手段は、出力された文字あるいは出力された文
    字列の先頭の文字が最頻出文字と一致している場合に
    は、前記文脈特定手段によって特定された文脈に対応す
    るシフトレジスタに、その一方の端から“1”を入力す
    るとともに、シフトレジスタの内容を他方の端に向けて
    1ビット分シフトさせ、それ以外の場合には、前記文脈
    特定手段によって特定された文脈に対応するシフトレジ
    スタに、前記他方の端から“0”を入力するとともに、
    シフトレジスタの内容を前記一方の端に向けて1ビット
    分シフトさせることを特徴とする請求項10記載のデー
    タ復元装置。
JP07054096A 1996-03-26 1996-03-26 データ圧縮装置およびデータ復元装置 Expired - Fee Related JP3267504B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07054096A JP3267504B2 (ja) 1996-03-26 1996-03-26 データ圧縮装置およびデータ復元装置
US08/748,033 US5812076A (en) 1996-03-26 1996-11-12 Data compressing apparatus, data restoring apparatus and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07054096A JP3267504B2 (ja) 1996-03-26 1996-03-26 データ圧縮装置およびデータ復元装置

Publications (2)

Publication Number Publication Date
JPH09261075A JPH09261075A (ja) 1997-10-03
JP3267504B2 true JP3267504B2 (ja) 2002-03-18

Family

ID=13434466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07054096A Expired - Fee Related JP3267504B2 (ja) 1996-03-26 1996-03-26 データ圧縮装置およびデータ復元装置

Country Status (2)

Country Link
US (1) US5812076A (ja)
JP (1) JP3267504B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3541930B2 (ja) * 1998-08-13 2004-07-14 富士通株式会社 符号化装置及び復号化装置
US7436329B2 (en) * 2003-04-17 2008-10-14 Droplet Technology, Inc. Multiple technique entropy coding system and method
JP3853710B2 (ja) * 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 ディジタル画像符号化装置およびディジタル画像符号化方法
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
KR20090005001A (ko) * 2006-04-21 2009-01-12 가부시끼가이샤 도시바 엔트로피 부호화 방법 및 장치와, 엔트로피 복호화 방법 및장치
JP5007743B2 (ja) * 2007-05-24 2012-08-22 富士通株式会社 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
WO2008142799A1 (ja) * 2007-05-24 2008-11-27 Fujitsu Limited 情報検索プログラム、該プログラムを記録した記録媒体、情報検索方法、および情報検索装置
US8014612B2 (en) * 2007-10-12 2011-09-06 Himax Technologies Limited Image processing device and method for compressing and decompressing images
KR101049699B1 (ko) * 2009-07-17 2011-07-15 (주)이스트소프트 데이터의 압축방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
US5357250A (en) * 1992-11-20 1994-10-18 International Business Machines Corporation Adaptive computation of symbol probabilities in n-ary strings
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
JP3302210B2 (ja) * 1995-02-10 2002-07-15 富士通株式会社 データ符号化/復号化方法及び装置
US5574449A (en) * 1995-02-24 1996-11-12 Intel Corporation Signal processing with hybrid variable-length and entropy encodidng
US5710562A (en) * 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOHN G.CLEARY et al.,Data Compression Using Adaptive Coding and Partial StringMatching,IEEE Trans.on Communication,米国,Vol.COM−32 No.4,p396−402

Also Published As

Publication number Publication date
JPH09261075A (ja) 1997-10-03
US5812076A (en) 1998-09-22

Similar Documents

Publication Publication Date Title
JP3305190B2 (ja) データ圧縮装置及びデータ復元装置
EP0695040B1 (en) Data compressing method and data decompressing method
JP3541930B2 (ja) 符号化装置及び復号化装置
US6542644B1 (en) Statistical data compression/decompression method
US5572206A (en) Data compression method and system
Nelson et al. The data compression book 2nd edition
US8090027B2 (en) Data compression using an arbitrary-sized dictionary
JP3397431B2 (ja) データ圧縮方法および装置ならびにデータ復元方法および装置
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
JP2006211621A (ja) データ圧縮装置、及びデータ復元装置
JP2010136417A (ja) データ圧縮装置、及びデータ復元装置
EP0903866B1 (en) Method and apparatus for data compression
JP3267504B2 (ja) データ圧縮装置およびデータ復元装置
KR20030040567A (ko) 허프만 디코딩을 수행하는 방법
JP3241788B2 (ja) データ圧縮方式
US7609000B1 (en) Variable-length compression technique for encoding or decoding a sequence of integers
JP3256121B2 (ja) データ符号化装置およびデータ復号装置およびその方法
CN104682966B (zh) 列表数据的无损压缩方法
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
Hoang et al. Dictionary selection using partial matching
JP6984321B2 (ja) データ生成プログラム、データ生成方法および情報処理装置
JPH05241775A (ja) データ圧縮方式
JPH05152971A (ja) データ圧縮・復元方法
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3073072B2 (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: 20011218

LAPS Cancellation because of no payment of annual fees