JPH08116263A - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法

Info

Publication number
JPH08116263A
JPH08116263A JP25101794A JP25101794A JPH08116263A JP H08116263 A JPH08116263 A JP H08116263A JP 25101794 A JP25101794 A JP 25101794A JP 25101794 A JP25101794 A JP 25101794A JP H08116263 A JPH08116263 A JP H08116263A
Authority
JP
Japan
Prior art keywords
data
compressed
appearance frequency
appearance
position information
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
JP25101794A
Other languages
English (en)
Inventor
Hitoshi Ono
均 大野
Yuko Abe
優子 安部
Akio Shinagawa
明雄 品川
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 JP25101794A priority Critical patent/JPH08116263A/ja
Priority to US08/505,760 priority patent/US5635932A/en
Publication of JPH08116263A publication Critical patent/JPH08116263A/ja
Priority to US08/813,943 priority patent/US5748122A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【目的】 データ処理装置に関し、圧縮すべきデータの
次のデータの出現確率を予測して、データ処理速度の高
速化を図ること、及び、出現確率の高いデータを短い圧
縮データに割当てて、データ圧縮率の向上を図る。 【構成】 圧縮すべきデータの種類毎に該データの出現
度数を計数して出現度数テーブルを作成するデータ作成
手段11と、前記データ作成手段からの出現度数テーブ
ルを参照しながら、圧縮すべきデータの次のデータの出
現予測をするデータ予測手段12と、前記データ予測手
段のデータの出現予測に応じて出現確率の高いデータほ
ど短いビット長の圧縮データに変換し、出現確率の低い
データほど長いビット長の圧縮データに変換するデータ
変換手段13とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理装置及びデ
ータ処理方法に関するものであり、更に詳しく言えば、
ハフマン符号化を利用して入力データを圧縮又は圧縮デ
ータを復号化をする装置及び方法の改善に関するもので
ある。近年、情報処理装置の高機能化及び多様化に伴
い、膨大な量のデータを格納する磁気ディスク装置等の
記憶装置を使用した装置及びそれらデータを通信回線を
使用して伝送する装置が利用されている。このような情
報処理分野では、高効率化により利用者のコスト削減を
図るべく、データ格納に際しては、記憶容量を実質的に
増やすために、及び、データ転送に際しては、送信時間
を短縮するために、データを圧縮する装置が必要とな
る。
【0002】
【従来の技術】データ圧縮を情報理論面から最初に確立
したのは、米国ベル研究所のClaudeShannon氏が1948
年に発表した「エントロピー」という概念であるといわ
れている。ほぼ同じ時期に米国MITのR.M.Fano
氏も同様な理論を考えたことから、Shannon−Fano 符
号化と一般に呼ばれることが多い。これは、出現確率が
高い文字を少ないビット数に割り当てることにより、デ
ータを圧縮するものである。その後、この可変長符号を
生成する方式として、1952年にHuffman氏が発表した
‘A Method for the Construction of Minimum
Redundancy Code'(最少冗長符号の構成方法)の論文
があり、いわゆる、「ハフマン符号化」が主流を占める
ようになった。これらはいずれも、文字の出現頻度の差
を利用して、データ圧縮をするというものである。
【0003】これに対して、辞書という概念を持ち、文
字列の繰り返しに関してデータ圧縮をするという全く別
の方法が考えられた。これは通称、Lempel −Ziv符号
化のスライド辞書法又はLZ77法と言われている。こ
の辞書ベースによりデータ圧縮をする方法は、Lempel
Abraham氏とZivJacob氏が1977年にIEEE Trans
action on Information Theory に発表した論文‘A
Universal Algorithm for Sequential Data C
ompression’に見られる。つまり、従来の圧縮アルゴリ
ズムの基本原理を大別すると、文字の出現頻度に対し
て、データ圧縮をするもの(ハフマン符号化等)と、辞
書という概念を持ち、文字列の繰り返しに対してデータ
圧縮をするもの(Lempel-Ziv符号化)の2種類があ
る。
【0004】図12は、従来例に係る説明図である。図12
(A)は、日本国特許庁が発行する公開特許公報,特開
平4−123619号に見られるようなデータ圧縮装置
(以下第1の装置という)の構成図であり、図12(B)
は、同様に、特開平4−280517号に見られるよう
なデータ圧縮装置(以下第2の装置という)の構成図を
それぞれ示している。
【0005】Lempel −Ziv符号化を改良した第1の装
置は、図12(A)に示すように、入力データの出現頻度
を計測する計測手段1と、出現頻度に応じて入力データ
DINを変換する変換手段2と、辞書検索リストに従っ
て、変換データDTに基づき候補データを順次検索し、
候補データの参照番号を符号データDOUT として出力す
る符号化手段3から成る。
【0006】第1の装置の動作を説明する。まず、計測
手段1により入力データの出現頻度が計測されると、計
測手段1からの計測結果に基づき、変換手段2によって
出現頻度が高いほど小さな値のコードに、また、出現頻
度が低いほど大きな値のコードに、入力データDINがそ
れぞれ変換される。ここで変換された変換データDTは
符号化手段3により、辞書検索リストに従って、入力デ
ータに一致する候補データが順次検索され、最後に一致
した候補データの参照番号が一連の入力データ列の符号
データDOUT として出力される。これにより、入力デー
タDINが符号化される。
【0007】また、算術符号化によりデータを圧縮する
第2の装置は、図12(B)に示すように、検索・登録部
4A及び辞書並べ替え部4Bを有する自己組織化符号化
部(以下単にSOR符号化部という)4と、辞書データ
を格納する辞書5と、各文字列の出現頻度及び累積頻度
等を計数するカウンタ6と、SOR符号を算術符号化し
て多値符号データを出力する算術符号部7から成る。
【0008】第2の装置の動作を説明する。まず、圧縮
すべき文字列が辞書5に登録されているか否かを識別す
べく、SOR符号化部4の検索・登録部4Aにより辞書
5が参照される。ここで、辞書並べ替え部4Bは自己組
織化の規則に従って、辞書5を更新し、出現頻度の高い
文字列ほど登録番号が小さくなるように文字列の並び替
えを行う。
【0009】辞書5に同じ文字列が有ると、検索・登録
部4Aは、辞書5の登録番号をSOR符号として算術符
号化部7に出力する。未登録の場合には文字列が登録さ
れると共に、この文字列がSOR符号として算術符号化
部7に出力される。算術符号部7では、SOR符号を算
術符号化して多値符号データを出力する。この際に、算
術符号部7は、カウンタ6からの各文字列の出現頻度及
び累積頻度等のカウント値に基づいて、符号ビット値及
び上下ビットの数値を求め、これらを多値符号データと
して出力する。これにより、入力文字列を符号化した多
値符号データが出力される。
【0010】
【発明が解決しようとする課題】ところで、従来例の第
1の装置によれば、入力データに一致する候補データを
辞書検索リストに従って、順次検索し、最後に一致した
候補データの参照番号を一連の入力データ列の符号デー
タDOUT として出力しているため、ある程度,文字列の
順番が予想できる入力データ列であっても、連結リスト
構造を備えた辞書を検索リストに従って順次検索しなく
てはならない。
【0011】例えば、英文の例で「and」という文脈
が頻繁に出現する入力データを仮定した場合に、「a」
の次に、「n」が続く確率は高くなる。また、ローマ字
「q」という文字の次に出現する文字が「u」となる確
率が高い。このような文字列や文字に対しても、入力デ
ータに一致する候補データを検索しなくてはならず、辞
書検索時間やデータ転送時間に無駄を生じ、データ処理
時間の高速化の妨げとなるという問題がある。
【0012】また、従来例の第2の装置によれば、辞書
5に同じ文字列が有ると、この登録番号がSOR符号と
して算術符号化部7に出力され、当該算術符号部7で
は、SOR符号が算術符号化されて多値符号データが出
力されるため、文字列の順番が予想できる入力データ列
であっても、同じ文字列が有るか否かを辞書5を検索
し、その登録番号をSOR符号として算術符号部7に転
送しなくてはならない。
【0013】これにより、第1の装置と同様にデータ処
理時間の高速化の妨げとなるという問題がある。なお、
日本国特許庁が発行する公開特許公報,特開平3−68
219号に見られるようなデータ圧縮装置は、ハフマン
符号化を利用した入力データの出現頻度に対して圧縮を
するものである。これは、1文字のみの出現確率を計算
し、それを可変長符号に割当てるものである。
【0014】つまり、この装置は1文字のみの出現頻度
のバラツキを利用しているため、ある程度,文字列の順
番が予想できる入力データ列であっても、1文字のみの
出現確率を計算しなくてはならず、一様に出現するデー
タ列の圧縮率がそれほど高くならないという問題があ
る。本発明は、かかる従来例の問題点に鑑み創作された
ものであり、ある程度,文字列の順番が予想できる場合
には、圧縮すべきデータの次のデータの出現確率を予測
して、データ処理速度の高速化を図ること、及び、出現
確率の高いデータを短い圧縮データに変換して、データ
圧縮率の向上を図ることが可能となるデータ処理装置及
びデータ処理方法の提供を目的とする。
【0015】
【課題を解決するための手段】図1は、本発明に係るデ
ータ処理装置の原理図を示している。本発明の第1のデ
ータ処理装置は、図1に示すように、圧縮すべきデータ
の種類毎に該データの出現度数を計数して出現度数テー
ブルを作成するデータ作成手段11と、前記データ作成
手段からの出現度数テーブルを参照しながら、圧縮すべ
きデータの次のデータの出現予測をするデータ予測手段
12と、前記データ予測手段のデータの出現予測に応じ
て出現確率の高いデータほど短いビット長の圧縮データ
に変換し、出現確率の低いデータほど長いビット長の圧
縮データに変換するデータ変換手段13とを備えること
を特徴とする。
【0016】本発明の第2のデータ処理装置は、前記デ
ータ作成手段11が、圧縮すべき1単位のデータを入力
する毎に出現度数テーブルを更新することを特徴とす
る。本発明の第3のデータ処理装置は、前記データ変換
手段13によって変換された圧縮データの長さを調整す
るレベル調整手段14が設けられることを特徴とする。
【0017】本発明の第1〜3のデータ処理装置におい
て、前記データ作成手段11は、圧縮すべき全てのデー
タ又は1単位のデータを取り込んで出現度数テーブルを
作成することを特徴とする。本発明の第1〜3のデータ
処理装置において、前記データ変換手段13は、出現度
数テーブルでデータを出現度数の高い順に並べ換え、該
出現度数の高いデータから出現度数の低いデータに至る
位置に対して、該データを出現度数の高いデータほど短
い位置情報を割当て、かつ、出現度数の低いデータほど
長い位置情報を割当てた符号テーブルを参照することを
特徴とする。
【0018】本発明の第1のデータ処理方法は、図2の
処理フローチャートに示すように、ステップP1で、予
め、圧縮すべきデータの種類毎に該データの出現度数を
計数して出現度数テーブルを作成し、次に、ステップP
2で前記作成された出現度数テーブルを参照しながら、
圧縮すべきデータの次のデータの出現予測をし、その
語、ステップP3で前記データの出現予測に応じて出現
確率の高いデータほど短いビット長の圧縮データに変換
し、かつ、出現確率の低いデータほど長いビット長の圧
縮データに変換することを特徴とする。
【0019】本発明の第1のデータ処理方法において、
前記圧縮データの変換は、出現度数テーブルのデータを
出現度数の高い順に並べ換え、該出現度数の高いデータ
から出現度数の低いデータに至る位置に対して、該デー
タを出現度数の高いデータほど短い位置情報を割当て、
かつ、出現度数の低いデータほど長い位置情報を割当て
た符号テーブルを参照することを特徴とする。
【0020】本発明の第2のデータ処理方法は、前記出
現度数テーブル及び符号テーブルを、圧縮すべき1単位
のデータが入力される毎に更新することを特徴とする。
本発明の第3のデータ処理方法は、前記圧縮すべきデー
タを圧縮データに変換した後に、図2の処理フローチャ
ートのステップP4で、圧縮データのビット長を調整す
ることを特徴とする。
【0021】本発明の第1〜第3のデータ処理方法にお
いて、前記出現度数テーブルは、圧縮すべき全てのデー
タ又は1単位のデータに応じて作成することを特徴とす
る。本発明の第1〜第3のデータ処理方法において、前
記データの次のデータの出現予測は、出現度数テーブル
に書き込まれた各々の出現度数のデータと、圧縮すべき
データの次のデータとを比較することを特徴とする。
【0022】本発明の第1〜第3のデータ処理方法にお
いて、前記圧縮データは、出現度数の高いデータから出
現度数の低いデータに至る位置を表示する位置情報及び
前記位置情報を識別する識別子から構成することを特徴
とし、上記目的を達成する。
【0023】
【作用】次に、図1を参照しながら本発明の第1のデー
タ処理装置の動作を説明をする。図1において、まず、
圧縮すべき全てのデータDIN又は1単位のデータDINの
出現度数が、データ作成手段11によりデータ種類毎に
計測されて出現度数テーブルが作成される。
【0024】データ作成手段11で作成された出現度数
テーブルはデータ予測手段12により参照され、圧縮す
べきデータDINの次のデータがデータ予測手段12によ
り出現予測される。具体的な出現予測については、出現
度数テーブルに書き込まれた各々の出現度数のテータ
と、圧縮すべきデータDINの次のデータとが比較され
る。
【0025】ここで、データ予測手段のデータの出現予
測に応じて、データ変換手段は出現確率の高いデータほ
ど短いビット長の圧縮データに変換し、出現確率の低い
データほど長いビット長の圧縮データに変換する。例え
ば、データ変換手段13は、出現度数テーブルでデータ
を出現度数の高い順に並べ換え、該出現度数の高いデー
タから出現度数の低いデータに至る位置に対して、出現
度数の高いデータほど短い位置情報を割当て、出現度数
の低いデータほど長い位置情報を割当てた符号テーブル
を参照する。
【0026】このような符号テーブルを参照すること
で、ある程度,文字列の順番が予想できる入力データ列
の場合に、1文字のみの出現確率を計算するハフマン符
号化方法に比べて、一様に出現するデータ列の圧縮率を
向上させることが可能となる。これにより、圧縮すべき
データの前後の対象文字や文字列の出現を予測しなが
ら、データ圧縮をすることが可能となり、辞書検索時間
やデータ転送時間の削減することができ、データ処理動
作が高速化する。
【0027】本発明の第2のデータ処理装置によれば、
圧縮すべき1単位のデータが入力される毎に出現度数テ
ーブルがデータ作成手段11により更新されるため、デ
ータ作成手段11での出現度数テーブルの更新に伴って
データ変換手段13では短時間に圧縮データを書き換え
ることができ、タイナミック(動的)に符号テーブルを
再構成することができる(第2のデータ処理方法)。
【0028】また、出現度数テーブルの更新によって圧
縮データの全ての並び変えを行うことなく、一部の位置
情報及び識別子の入替えのみで符号テーブルを更新する
ことでき、当該符号テーブルを圧縮データに含める必要
が無くなり、データ圧縮率が向上する。これにより、メ
モリ容量が限られている対象機器にデータ圧縮機能を組
み込む場合に、1バイト又は1文字単位の出現頻度をダ
イナミックに符号化することができる。
【0029】本発明の第3のデータ処理装置によれば、
入力データを圧縮データに変換した後に、レベル調整手
段14により、圧縮データの長さが調整されるため、入
力データの種別に応じて、圧縮データの長さをダイナミ
ックにレベル調整して圧縮データを再構成するオフセッ
ト符号化を実行することができる(第3のデータ処理方
法)。
【0030】すなわち、入力データの種類によっては、
圧縮すべきデータに偏りを生じ、出現確率が平均化され
る場合や、データの出現度数が十分に収集されていない
場合等には、次のデータの予測が困難となる場合があ
る。しかし、オフセット符号化を実行することにより、
度数分布の傾向が明確な場合には、入力データをより短
いビット長の圧縮データに変換し、出現度数分布に偏り
が生じている場合には、レベルを上げることにより、短
いビット長の圧縮データに変換することができる。
【0031】これにより、データ圧縮率が向上する。な
お、各データ別の出現確率が事前に把握されている場合
には、出現度数の高いデータをメモリの上位に初期設定
をして置くことで、更に、短い位置情報に変換される確
率が高まる。本発明の第1のデータ処理方法によれば、
図2の処理フローチャートに示すように、ステップP1
で、予め、圧縮すべきデータの種類毎に該データの出現
度数を計数して出現度数テーブルを作成しているため、
圧縮すべきデータの前後の対象文字や文字列の接続状態
を把握することができる。例えば、英文の例で「an
d」という文脈が頻繁に出現する入力データを仮定した
場合に、「a」の次に、「n」が続く場合が多くなり、
また、ローマ字「q」という文字の次に出現する文字が
「u」となる場合が多いが、このような対象文字や文字
列の前後の接続状態が把握できる。
【0032】また、ステップP2では出現度数テーブル
を参照しながら、圧縮すべきデータDINの次のデータの
出現予測をしているため、先の例で「a」の次に出現す
る「n」やローマ字「q」の次に出現する「u」の文字
を予測することができる。さらに、ステップP3では、
符号テーブルを参照しながら、入力データDINの出現予
測に応じて出現確率の高い入力データDINほど短いビッ
ト長の圧縮データに変換され、その出現確率の低い入力
データDINほど長いビット長の圧縮データに変換されて
いるため、符号テーブルから直接,位置情報及び識別子
から構成される圧縮データDOUT を出力することができ
る。
【0033】これにより、文字列や文字の出現予測をす
ることで、辞書の検索といった概念が無くなる。特に、
文字列の順番が予想できるような入力データ列の場合に
は、辞書検索時間やデータ転送時間が低減し、データ処
理動作が高速化する。
【0034】
【実施例】次に、図を参照しながら本発明の各実施例に
ついて説明をする。図3〜11は本発明の実施例に係るデ
ータ処理装置及びデータ処理方法を説明する図である。 (1)第1の実施例の説明 図3は、本発明の各実施例に係るデータ圧縮及び復元装
置の構成図であり、図4は、本発明の第1の実施例に係
るデータの圧縮及び復元フローチャートである。図5
は、データ圧縮時の符号変換エディタの機能説明図であ
り、図6は、各実施例に係る圧縮データのフォーマット
及び符号木の説明図をそれぞれ示している。
【0035】例えば、本発明の第1〜第3の装置を組み
合わせたデータ圧縮又は復元装置は、図3に示すよう
に、出現度数作成エディタ21,テータ比較エディタ2
2,符号変換エディタ23,レベル調整エディタ24,
メモリ25,EPROM26,ディスプレイ27,キー
ボード28,中央処理装置(以下CPUという)29,
入力データファイル30及び圧縮データファイル31か
ら成る。
【0036】出現度数作成エディタ21はデータ作成手
段11の一例であり、圧縮すべきデータDINを入力して
該データDINと出現度数とを対比させた出現度数テーブ
ルを作成する。出現度数作成エディタ21は、圧縮すべ
き全てのデータDIN又は1単位のデータを取り込んで出
現度数テーブルを作成する。出現度数はエディタ21に
よって加算しても積算しても良い。
【0037】例えば、エディタ21は表1に示すような
16進法により表される256個のデータ「00」〜
「FF」及び10進法により表される出現回数を対比さ
せた出現度数テーブルを作成する。
【0038】
【表1】
【0039】表1の例では、データ「00」に対する出
現度数が75回,データ「01」に対する出現度数が5
0回,データ「02」に対する出現度数が100 回,デー
タ「FF」に対する出現度数が50回となっている。ま
た、出現度数作成エディタ21は、圧縮すべき1単位の
データが入力される毎に出現度数テーブルを更新する
(本発明の第2の装置)。
【0040】テータ比較エディタ22はデータ予測手段
12の一例であり、出現度数作成エディタ21からの出
現度数テーブルを参照しながら、圧縮すべきデータDIN
の次のデータの出現予測をする。例えば、データ比較エ
ディタ22は、出現度数テーブルに書き込まれた各々の
出現度数のテータと、圧縮すべきデータDINの次のデー
タとを比較する。この比較結果から、次のデータの出現
予測をする。
【0041】符号変換エディタ23はデータ変換手段1
3の一例であり、データ比較エディタ22からの入力デ
ータDINの出現予測に応じて、該データDINを位置情報
に変換するものである。例えば、エディタ23は出現度
数の高いデータほど短い位置情報に変換し、かつ、出現
度数の低いデータほど長い位置情報に変換する。先の表
1の例を具体的な位置情報で示すと、表2に示すような
符号テーブルが得られる。
【0042】
【表2】
【0043】表2の符号テーブルの例では、出現度数の
高いデータ「02」,「FD」に対しては、「00」,
「01」の位置情報に変換され、次に出現度数の高いデ
ータ「00」,「03」に対しては、「100」,「1
01」の位置情報に変換され、次に出現度数の高いデー
タ「01」,「04」,「FE」,「FF」に対して
は、「1100」、「1101」,「1110」,「1
111」の位置情報にそれぞれ変換される。なお、符号
テーブルの作成機能をエディタ21に持たせても良い。
【0044】本発明の各実施例における圧縮データのフ
ォーマットは、図6(A)に示すようになる。図6
(A)において、圧縮データDOUT は識別子及び位置情
報から構成する。具体的な例を表3に示している。
【0045】
【表3】
【0046】表3では、例えば、256個のデータサン
プルに対して、位置情報を識別するために4つの識別子
を割当てている。具体的には、先頭位置又は第1番目の
位置情報を識別する識別子として「00」を割当てる。
第2番目〜第5番目の位置情報を識別する識別子として
「010」を割当てる。同様に、第8番目〜第13番目
の位置情報を識別する識別子として「011」を割当
て、第14番目〜第255番目の位置情報を識別する識
別子として「1」をそれぞれ割当てる。
【0047】また、位置情報のビット幅は識別子「0
0」に対して1ビットを割当て、位置情報の内容は
「0」又は「1」を割り当てる。識別子「010」に対
しては2ビットを割当て、その内容は「00」,「0
1」,「10」,「11」となる。識別子「011」に
対しては3ビットを割当て、その内容は「000」,
「001」,「010」,「100」,「011」,
「101」,「110」,「111」となる。識別子
「1」に対しては8ビットを割当て、その内容は「00
000000」〜「11111111」となる。なお、
符号変換エディタ23の機能については図5(A),
(B)において説明をする。
【0048】レベル調整エディタ24はレベル調整手段
14の一例であり、符号変換エディタ23によって変換
された圧縮データの長さを調整するものである(本発明
の第3の装置)。当該エディタ24の機能については図
10,図11において詳述する。メモリ25は圧縮時には、
入力データDINを一時記憶するものである。例えば、メ
モリ25には随時書込み/読出し可能なメモリを用い
る。メモリ25は復元時には、復元すべき圧縮データを
一時記憶する。
【0049】EPROM26は、各実施例で使用する制
御アルゴリズムを格納するプログラム可能な読出し専用
メモリである。例えば、第1の実施例では図4(A)に
示すようなデータ圧縮アルゴリズムや図4(B)に示す
ようなデータ復元アルゴリズムがEPROM26に格納
される。第2の実施例では、図7(A)に示すようなデ
ータ圧縮アルゴリズム(メインルーチン)や、図7
(B)に示すようなデータ復元アルゴリズムが格納され
る。また、図7(A)のメインルーチンに対して図8に
示すような出現度数テーブルの更新アルゴリズム(サブ
ルーチン)がEPROM26に格納される。
【0050】第3の実施例では、図10(A)に示すよう
なデータ圧縮アルゴリズムや図10(B)に示すようなデ
ータ復元アルゴリズムが格納される。図10(A)のメイ
ンルーチンに対して図11に示すような位置情報のレベル
調整アルゴリズム(サブルーチン)がEPROM26に
格納される。この制御アルゴリズムの具体的な内容につ
いては各実施例において説明をする。
【0051】ディスプレイ27はキーボード28やCP
U29の入出力を補助するツールである。キーボード2
8は各エディタ21〜24の初期設定や起動命令等を制
御文にして入力するツールである。CPU29は、各エ
ディタ21〜24,メモリ25,EPROM26,ディ
スプレイ27,キーボード28,入力データファイル3
0及び圧縮データファイル31の入出力を制御する。
【0052】入力データファイル30は圧縮時又は復元
時のデータを格納するものである。圧縮データファイル
31は、圧縮時又は復元時の圧縮データを格納するメモ
リであり、ファイル30と同様なメモリ装置を用いる。
これらにより、データ圧縮及び復元装置が構成され、圧
縮すべきデータを符号化し、該符号化された圧縮データ
を復号化することができる。
【0053】次に、本発明の第1の実施例に係るデータ
圧縮方法について、図4(A)の処理フローチャートを
参照しながら、当該装置の動作を説明する。図4(A)
は、本発明の第1の実施例に係るデータの圧縮フローチ
ャートであり、図3に示したEPROM26に格納され
た制御アルゴリズムを成す。例えば、入力データDINの
次のデータの出現予測をしながら、データを符号化して
圧縮データDOUT を出力する場合、図4(A)のフロー
チャートにおいて、まず、ステップP1で、入力データ
列をファイル30から全て読み込んで出現度数テーブル
を作成する。出現度数テーブルは、出現度数作成エディ
タ21によって、入力データDINの種類毎に該データを
計数することにより作成する。
【0054】具体的には、図5(A)に示すような16
進法により表される256個のデータ「00」〜「F
F」及び10進法により表される出現回数を一覧表にま
とめた出現度数テーブルがエディタ21により作成され
る。本実施例では出現度数テーブルT1に関し、データ
「00」に対して出現度数が3回、データ「01」に対
して出現度数が0回、データ「02」に対して出現度数
が23回、データ「03」に対して出現度数が0回、デ
ータ「04」に対して出現度数が10回、データ「F
E」に対して出現度数が5回、データ「FF」に対して
出現度数が1回となっている。
【0055】このような例では、英文の場合、「an
d」という文脈が頻繁に出現する入力データを仮定した
場合に、16進法の61により表されるデータ「a」の
次には16進法の6Eにより表されるデータ「n」が続
く場合が多くなり、また、ローマ字「q」という文字の
次に出現する文字が「u」となる場合が多く出現する。
このような統計情報を取得すると、対象文字や文字列の
前後の接続状態が把握できる。なお、出現度数テーブル
は、入力データを全て読み込むことなく、圧縮すべき1
単位の入力データ毎に作成しても良い。
【0056】次いで、ステップP2で出現度数テーブル
から符号テーブルを作成する。ここで、図5(A)にお
いて、符号変換エディタ23は、出現度数テーブルT1
のデータを出現度数の高い順に並べ換える。この結果、
交換後のテーブルT2の先頭位置には、データ「02」
が書き込まれ、以下順に、データ「04」,「FE」,
「00」,「FF」…「01」,「03」が並ぶ。
【0057】次に、ステップP3で圧縮すべきデータ列
をファイル30から1単位のデータを読込んで符号化を
する。この際に、出現度数作成エディタ21からの出現
度数テーブルを参照しながら、圧縮すべきデータDINの
次のデータを出現予測をする。例えば、データ比較エデ
ィタ22により、出現度数テーブルに書き込まれた各々
の出現度数のテータと、圧縮すべきデータDINの次のデ
ータとが比較される。これにより、先の例で「a」の次
に出現する「n」やローマ字「q」の次に出現する
「u」の文字を予測することができる。
【0058】さらに、エディタ23は図5(B)に示す
ように、該出現度数の高いデータ「02」から出現度数
の低いデータ「03」に至る相対位置0〜15…に対し
て、データを位置情報に変換する。これを先に説明をし
た図5(A)の交換後のテーブルT2に関し、具体的に
識別子を導入してデータ変換すると、図5(B)に示す
ようになる。相対位置「0」,「1」に対しては、デー
タが識別子「00」及び位置情報「0」,「1」にそれ
ぞれ変換される。
【0059】相対位置「2」〜「5」に対しては、デー
タが識別子「010」及び位置情報「00」,「0
1」,「10」,「11」にそれぞれ変換される。相対
位置「6」〜「13」に対しては、データが識別子「0
11」及び位置情報「000」,「001」,「01
0」,「100」,「011」,「101」,「11
0」,「111」にそれぞれ変換される。
【0060】その後、ステップP4では、入力データD
INを全て圧縮したか否かを判断する。ここで、入力デー
タDINを全て圧縮した場合(YES)には、制御アルゴリ
ズムを終了する。全てのデータを圧縮していない場合
(NO)には、ステップP3に戻って符号化処理を継続
する。これにより、入力データDINの次のデータの出現
予測をしながら、データを符号化し、これら圧縮データ
DOUT をファイル31に格納することができる。
【0061】次に、本発明の第1の実施例に係る圧縮デ
ータの復元処理について説明をする。図4(B)の復号
フローチャートにおいて、まず、ステップP1で圧縮デ
ータをファイル31から読出し識別子及び位置情報から
符号テーブルを作成する。符号テーブルについては、図
5において説明したものが再現される。次に、ステップ
P2で再度、圧縮データをファイル31から読出して符
号テーブルを参照しながら、圧縮データを復号化する。
復号化は、一般的に用いられる図6(B)に示すような
符号木の構成によって実行する。
【0062】次いで、ステップP3で圧縮データを全て
復元したか否かを判断する。この際に、圧縮データを全
て復元した場合(YES)には、制御アルゴリズムを終了
し、圧縮データを全て復元していない場合(NO)に
は、ステップP2に戻って、圧縮データの復号化処理を
継続する。これにより、圧縮データが復号化され、この
原データがファイル30に格納される。
【0063】このようにして、本発明の各実施例に係る
データ処理装置によれば、図3に示すように、出現度数
作成エディタ21,テータ比較エディタ22,符号変換
エディタ23及びレベル調整エディタ24等を備えるた
め、出現度数作成エディタ21により出現度数テーブル
が作成されると、テータ比較エディタ22により、圧縮
すべきデータの次に出現する文字又は文字列を予測する
ことができ、この出現予測されたデータを符号変換エデ
ィタ23により、その出現確率が高いデータほど短い位
置情報に変換し、出現確率の低いデータほど長い位置情
報に変換することができる。
【0064】これにより、入力データの出現度数が高い
ものテーブル領域の上位に持ち、最上位からの位置を符
号化(仮称:オフセット符号化)をすることができる。
特に、文字列の順番がテータ比較エディタ22によって
予想できる入力データ列の場合には、従来例のような符
号木によって、1文字のみの出現確率を計算するハフマ
ン符号化方法に比べて、一様に出現するデータ列の圧縮
率が向上し、データ処理速度が高速化する。
【0065】また、本発明の装置によれば、符号変換エ
ディタ23によって変換された圧縮データの長さがレベ
ル調整エディタ24により調整されるため、入力データ
の種別に応じて、圧縮データの長さをダイナミックにレ
ベル調整した圧縮データを再構成することができる。さ
らに、本発明の第1の実施例に係るデータ圧縮方法によ
れば、図4(A)の処理フローチャートに示すように、
ステップP1で、予め、圧縮すべきデータの種類毎に該
データの出現度数を計数して出現度数テーブルを作成し
ているため、順次、読み込まれる入力データDINの前後
の対象文字の接続状態を把握することができる。
【0066】英文の例で説明したように「and」とい
う文脈が頻繁に出現する入力データを仮定した場合に、
「a」の次に、「n」が続く場合が多くなることや、ロ
ーマ字「q」という文字の次に出現する文字が「u」と
なる場合等の規則性を確率的に把握できる。また、ステ
ップP3では、出現度数テーブルを参照しながら、圧縮
すべきデータDINの次のデータの出現予測をしているた
め、先の例で「a」の次に出現する「n」やローマ字
「q」の次に出現する「u」の文字を予測することがで
きる。
【0067】さらに、ステップP3では、符号テーブル
を参照しながら、入力データDINの出現予測に応じて出
現確率の高いデータほど短い位置情報に変換し、その出
現確率の低いデータほど長い位置情報に変換しているた
め、符号テーブルから直接,位置情報及び識別子を有す
る圧縮データDOUT を出力することができる。これによ
り、文字列や文字の出現予測をすることで、辞書の検索
といった概念が無くなる。特に、文字列の順番が予想で
きるような入力データ列の場合には、従来例の第2の装
置のように同じ文字列が有るか否か等の辞書検索が不要
となり、辞書検索時間やデータ転送時間が削減化する。
【0068】なお、符号化及び復号化の処理時間を短く
するための更なる工夫として、表3及び図5(B)の識
別子が「1」のときに、位置情報の代わりに入力データ
DINを8ビットのまま符号化しても良い。これにより、
〔入力データ/圧縮データ〕×100 %で表されるデータ
圧縮率が向上する。また、圧縮率を高めるためには、入
力データDINの次の1文字だけではなく、複数の文字列
のつながりを判断すると良い。この場合、圧縮率が高ま
るが、データ処理速度やメモリ容量等に制約が生じる。
【0069】(2)第2の実施例の説明 図7(A)は、本発明の第2の実施例に係るデータの圧
縮フローチャートであり、図7(B)は、その復元フロ
ーチャートである。図8は、出現度数テーブルの更新フ
ローチャートであり、図9(A)〜(C)は、その更新
時のデータ交換の状態図をそれぞれ示している。各フロ
ーチャートは制御アルゴリズムとして図3に示したEP
ROM26に格納される。
【0070】第2の実施例では第1の実施例と異なり、
出現度数テーブル及び符号テーブルを、圧縮すべき1単
位のデータが入力される毎にダイナミック(動的)に更
新するものである。図9(A)に示すような出現度数テ
ーブルのデータ配列Aを更新する場合、図7(A)のフ
ローチャートにおいて、まず、ステップP1で、出現度
数テーブル及び符号テーブルを初期化する。図9(A)
において、更新前の出現度数テーブルのデータ配列A
は、例えば、「00」,「01」,「02」,「03」
…のようになる。
【0071】次に、ステップP2で1単位の入力データ
列DINをファイル30から読み込んで、それを符号化す
る。符号化は第1の実施例で説明したように、1バイト
又は1文字単位に符号変換エディタ23により実行され
る。次いで、ステップP3で出現度数テーブルを更新す
る。具体的には、出現度数作成エディタ21により1単
位のデータが入力される毎に、出現度数テーブルが更新
される。出現度数テーブルの更新については、図8のサ
ブルーチンに移行して、ステップP31で、順次入力され
たコードに対応して、データ配列Bの出現度数を更新す
る。この例では、図9(A)に示すように、順次,出現
度数テーブルに入力されてくるデータ(コード)「0
3」,「00」,「01」,「02」に対して、配列B
の「03」にポインタが指示された場合を示している。
【0072】次に、ステップP32でデータ配列Bの現在
の出現度数と上位にエントリーされた出現度数とを比較
する。これは、出現度数の高いコードを上位に移動する
ためである。その後、ステップP33で両出現度数を比較
した結果、現在の出現度数が大きい場合もしくは上位の
出現度数と等しい場合(YES)には、ステップP34に移
行する。また、比較結果、現在の出現度数が小さい場合
(NO)には、更新を行わずに、メインルーチンに復帰
する。
【0073】現在の出現度数が大きいと判断された場合
(YES)には、ステップP34でデータ配列Bの上位のエ
ントリーの出現度数を検索する。この検索は、データ配
列Bの上位の出現度数と比較して、現在の出現度数が小
さくなるまで行う。次に、ステップP35でデータ配列B
で検索したエントリー内容と交換する。図9(B)では
コード「01」と「02」とが交換されることにより、
図9(A)に示した更新前のデータ配列Aが図9(C)
に示すように、「02」,「03」が入れ替わり、デー
タ配列Aが更新される。これと共に、符号変換エディタ
23は、データ配列Aの更新に伴って位置情報を書換え
る。
【0074】その後、ステップP36でデータ配列Aの対
応するポインタを移動し、メインルーチンに復帰する。
そして、メインルーチンのステップP4では圧縮データ
を全て符号化したか否かを判断する。この際に、入力デ
ータDINを全て符号化した場合(YES)には、制御アル
ゴリズムを終了し、データDINを全て符号化していない
場合(NO)には、ステップP2に戻って、データDIN
の符号化処理を継続する。
【0075】これにより、符号テーブルをダイナミック
に更新しながら、入力データDINを符号化し、この圧縮
データをファイル31に格納することができる。次に、
本発明の第2の実施例に係る圧縮データの復元処理につ
いて説明をする。図7(B)は、本発明の第2の実施例
に係る圧縮データの復元フローチャートである。復元フ
ローチャートは制御アルゴリズムとして図3に示したE
PROM26に格納される。
【0076】すなわち、出現度数テーブル及び符号テー
ブルをダイナミックに更新しながら、圧縮データを復号
化する場合、図7(B)において、まず、ステップP1
で出現度数テーブル及び符号テーブルを初期化する。次
に、ステップP2で圧縮データをファイル31から読出
し復号化する。次いで、ステップP3で圧縮データを入
力する毎に出現度数テーブルを更新する。これにより、
圧縮データが原データに復元される。
【0077】このようにして、本発明の第2の実施例に
係るデータ圧縮方法によれば、図7(A)に示したよう
に、圧縮すべき1単位のデータが入力される毎に出現度
数テーブルが更新される。このため、出現度数作成エデ
ィタ21での出現度数テーブルの更新に伴って符号変換
エディタ23では短時間に位置情報を書き換えることが
でき、タイナミック(動的)に符号テーブルを再構成す
ることができる。また、出現度数テーブルの更新は、一
部のデータのみの入替えで済み、全てのデータを並び変
えが不要となる。
【0078】これにより、当該符号テーブルを圧縮デー
タに含める必要が無くなり、データ圧縮率が向上する。
また、本発明の実施例によれば、1バイト又は1文字単
位の出現頻度をダイナミックに符号化することができ、
メモリ容量が限られている対象機器に本実施例のデータ
圧縮機能を組み込む場合等に、有効にメモリ領域を使用
することができる。
【0079】(3)第3の実施例の説明 図10(A)は、本発明の第3の実施例に係るデータの圧
縮フローチャートであり、図10(B)は、その復元フロ
ーチャートである。図11は、データ圧縮時の位置情報の
レベル調整フローチャートをそれぞれ示している。各フ
ローチャートは制御アルゴリズムとして図3に示したE
PROM26に格納される。
【0080】第3の実施例では第1,第2の実施例と異
なり、データを位置情報に変換した後に、圧縮データの
長さを調整するものである。第1,第2の実施例に係る
データ処理方法では、入力データの次に出現する文字の
出現度数分布が平均化されている場合や、データの出現
度数が十分に収集されていない場合等には、次のデータ
を正確に出現予測することができない。
【0081】そこで、本発明の第3の実施例では、レベ
ル調整エディタ24により、圧縮データの長さを調整
し、データ圧縮率の劣化を防ぐことを特徴としている。
例えば、圧縮すべきデータがプログラムデータ等の場合
には、機械語で書かれた転送命令等の分布に偏りが生ず
る。具体例を示すと、オペレーションコードの次にアド
レスが付随されているジャンプ命令等では、次の1バイ
トの出現確率が平均化されてしまう。
【0082】データの種類はファイルの拡張子から判断
する。一般には、オペレーションシステムには規則性が
あり、例えば、パーソナルコンピュータのMS−DOS
の場合、拡張子=EXEから入力データが実行形式(機
械語)のファイルであることが判断できる。すなわち、
本発明の第3の実施例では、出現度数分布の偏りが明確
なものに対しては、最初の符号化によって変換された圧
縮データの長さを調整する。これにより、更に、短い位
置情報に変換することで、データ圧縮率が向上する。
【0083】表4は、1バイト(8ビット)単位の入力
データに対する圧縮データの構成内容を示している。す
なわち、本実施例では、原データを識別子無しの8ビッ
トにより符号化するレベル「0」を含めて、7つのレベ
ルを設け、これに基づいて圧縮データを構成する。
【0084】
【表4】
【0085】表4において、第1のレベルでは、例え
ば、256個のデータサンプルに対して、位置情報を識
別するために5つの識別子を割当てる。具体的には、先
頭位置〜第15番目の位置情報を識別する識別子として
「00」を割当てる。その位置情報には4ビットを割当
てる。これにより、圧縮データは6ビット長になる。同
様に、第16番目〜第31番目の位置情報の識別子には、
「010」を割当て、その位置情報には4ビットを割当
てる。これにより、圧縮データは7ビット長になる。第
32番目〜第63番目の位置情報の識別子には、「011」
を割当て、その位置情報には5ビットを割当てる。これ
により、圧縮データは8ビット長になる。第64番目〜第
127 番目の位置情報の識別子には、「10」を割当て
る。その位置情報には6ビットを割当てる。これによ
り、圧縮データは8ビット長になる。第128 番目〜第25
5 番目の位置情報の識別子には、「11」を割当て、そ
の位置情報には7ビットを割当てる。これにより、圧縮
データは9ビット長になる。
【0086】第2のレベルでは、第1のレベルと同様に
5つの識別子を割当てる。具体的には、先頭位置〜第3
番目の位置情報を識別する識別子として「000」を割
当て、その位置情報には2ビットを割当てる。これによ
り、圧縮データは5ビット長になる。同様に、第4番目
〜第11番目の位置情報の識別子には、「001」を割当
て、その位置情報には3ビットを割当てる。これによ
り、圧縮データは6ビット長になる。第12番目〜第27番
目の位置情報の識別子には、「010」を割当て、その
位置情報には4ビットを割当てる。これにより、圧縮デ
ータは7ビット長になる。第28番目〜第59番目の位置情
報の識別子には、「011」を割当てる。その位置情報
には5ビットを割当てる。これにより、圧縮データは8
ビット長になる。第60番目〜第255 番目の位置情報の識
別子には、「1」を割当て、その位置情報には7ビット
を割当てる。これにより、圧縮データは9ビット長にな
る。
【0087】第3のレベルでは、第1,2のレベルと同
様に5つの識別子を割当てる。具体的には、先頭位置及
び第1番目の位置情報を識別する識別子として「00
0」を割当て、その位置情報には1ビットを割当てる。
これにより、圧縮データは4ビット長になる。同様に、
第2番目〜第5番目の位置情報の識別子には、「00
1」を割当て、その位置情報には2ビットを割当てる。
これにより、圧縮データは5ビット長になる。第6番目
〜第13番目の位置情報の識別子には、「010」を割当
て、その位置情報には3ビットを割当てる。これによ
り、圧縮データは6ビット長になる。第14番目〜第29番
目の位置情報の識別子には、「011」を割当てる。そ
の位置情報には4ビットを割当てる。これにより、圧縮
データは7ビット長になる。第60番目〜第255 番目の位
置情報の識別子には、「1」を割当て、その位置情報に
は8ビットを割当てる。これにより、圧縮データは9ビ
ット長になる。
【0088】第4のレベルでは、第1〜3のレベルと異
なり、4つの識別子を割当てる。具体的には、先頭位置
及び第1番目の位置情報を識別する識別子として「0
0」を割当て、その位置情報には1ビットを割当てる。
これにより、圧縮データは3ビット長になる。同様に、
第2番目及び第3番目の位置情報の識別子には、「01
0」を割当て、その位置情報には1ビットを割当てる。
これにより、圧縮データは4ビット長になる。第4番目
〜第7番目の位置情報の識別子には、「011」を割当
て、その位置情報には2ビットを割当てる。これによ
り、圧縮データは5ビット長になる。第8番目〜第255
番目の位置情報の識別子には、「1」を割当てる。その
位置情報には8ビットを割当てる。これにより、圧縮デ
ータは9ビット長になる。
【0089】第5のレベルでは、第1〜4のレベルと異
なり、3つの識別子を割当てる。具体的には、先頭位置
を識別する識別子として「00」のみを割当てる。これ
により、圧縮データは2ビット長になる。同様に、第1
番目及び第2番目の位置情報の識別子には、「01」を
割当て、その位置情報には1ビットを割当てる。これに
より、圧縮データは3ビット長になる。第3番目〜第25
5 番目の位置情報の識別子には、「1」を割当て、その
位置情報には8ビットを割当てる。これにより、圧縮デ
ータは9ビット長になる。
【0090】第6のレベルでは、第1〜5のレベルと異
なり、2つの識別子を割当てる。具体的には、先頭位置
を識別する識別子として「0」のみを割当てる。これに
より、圧縮データは1ビット長になる。同様に、第1番
目及び第255 番目の位置情報の識別子には、「1」を割
当て、その位置情報には8ビットを割当てる。これによ
り、圧縮データは9ビット長になる。
【0091】なお、表4に示した7つのレベルはメモリ
25等に予め格納される。符号変換エディタ23は、こ
の7つのレベルを参照して入力データを符号化する。レ
ベル調整エディタ24は符号変換エディタ23によって
割当てられた圧縮データのレベルを検討し、出現度数分
布の偏りが明確なものに対して、更に、短い位置情報に
変換する。
【0092】次に、本発明の第3の実施例に係るデータ
圧縮方法について説明をする。例えば、出現度数分布の
偏りに応じて入力データを符号化する場合、図10(A)
のフローチャートにおいて、まず、ステップP1で、入
力データ列をファイル30から全て読み込んで出現度数
テーブルを作成し、ステップP2で出現度数テーブルか
ら符号テーブルを作成する。これまでは第1の実施例と
同様である。
【0093】次に、ステップP3で圧縮データの長さを
調整するオフセット符号化処理をする。この際に、レベ
ル調整エディタ24により圧縮データの長さが調整され
る。圧縮データの長さ調整については、図11のサブルー
チンに移行して、ステップP31で、1単位のデータをフ
ァイル30からメモリ25に読み込み、次に、ステップ
P32で符号化処理をする。符号化は第1の実施例で説明
したように、1バイト又は1文字単位に符号変換エディ
タ23により実行される。
【0094】次いで、ステップP33で圧縮データのビッ
ト長を把握する。ここで、先に符号変換エディタ23に
より割当てられた圧縮データが8ビット以下の場合(N
O)には、ステップP35に移行する。また、圧縮データ
が9ビット以上の場合(YES)には、ステップP34に移
行して、符号化レベルを1ランク下げて、メインルーチ
ンに復帰する。例えば、入力データの次のデータの出現
分布に偏りが生じているとして、符号変換エディタ23
により、表4に示すような第5のレベルが割当てられ、
これがレベル調整エディタ24により、あまりデータの
出現分布に偏りが生じていないと判断されると、1ラン
ク下の第4のレベルによって圧縮データが構成される。
【0095】また、圧縮データが8ビット以下の場合に
は、ステップP35で、符号化レベルが最も高いか否かを
判断する。この際に、レベルが最も高い場合(YES)に
は、そのままメインルーチンに復帰する。しかし、符号
化レベルが高くない場合(NO)には、ステップP36に
移行して、擬似レベル調整を実行する。擬似レベル調整
は、現在よりも圧縮データのビット長が上がるか下がる
かを見いだすために、仮に符号化を実行するものであ
る。
【0096】すなわち、仮に符号化を実行した結果、ス
テップP37で、現在よりも短い圧縮データになる場合
(YES)には、ステップP38に移行して符号化のレベル
を上げる。例えば、入力データの次のデータの出現分布
に偏りが生じたとして、符号変換エディタ23により、
表4に示すような第5のレベルが割当てられ、これがレ
ベル調整エディタ24により、データの出現分布に偏り
が生じていると判断されると、1ランク下の第4のレベ
ルによって圧縮データが構成される。反対に、圧縮デー
タが現在よりも長くなる場合(YES)には、擬似レベル
調整をキャンセルしてメインルーチンに復帰する。
【0097】そして、メインルーチンのステップP4で
はデータの符号化の終了判断を第1の実施例と同様に行
う。これにより、出現度数分布の偏りに応じて入力デー
タをを符号化し、この圧縮データをファイル31に格納
することができる。次に、本発明の第3の実施例に係る
圧縮データの復元処理について説明をする。図10(B)
は、本発明の第3の実施例に係る圧縮データの復元フロ
ーチャートである。復元フローチャートは制御アルゴリ
ズムとして図3に示したEPROM26に格納される。
【0098】図10(B)において、まず、ステップP1
で圧縮データをファイル31から読出し識別子及び位置
情報から符号テーブルを作成する。符号テーブルについ
ては、図5において説明したものが再現される。次に、
ステップP2で再度、圧縮データをファイル31から読
出し、レベル調整された符号テーブルを把握しながら、
圧縮データを復号化する。復号化は、一般的に用いられ
る図6(B)に示すような符号木の構成によって実行す
る。
【0099】次いで、ステップP3で圧縮データを全て
復元したか否かを判断する。この際に、圧縮データを全
て復元した場合(YES)には、制御アルゴリズムを終了
し、圧縮データを全て復元していない場合(NO)に
は、ステップP2に戻って、圧縮データの復号化処理を
継続する。これにより、圧縮データが復号化され、この
原データがファイル30に格納される。
【0100】このようにして、本発明の第3の実施例に
係るデータ圧縮方法によれば、図11に示すように、ステ
ップP32で圧縮データが変換された後に、ステップP33
〜ステップP38で圧縮データの長さが調整されるため、
入力データの種別に応じて、圧縮データの長さをダイナ
ミックにレベル調整した圧縮データを再構成するオフセ
ット符号化を実行することができる。
【0101】すなわち、本実施例のオフセット符号化で
は、圧縮すべきデータがプログラムデータ等の場合に
は、データの出現度数分布が明確になることから、より
短い位置情報に変換し、また、出現度数分布に偏りが生
じている場合には、レベルを上げることにより、短い位
置情報に変換することができる。更に、圧縮率を高める
ための工夫としては、予め、統計情報を収集する等し
て、各入力データ別の出現度数を事前に把握し、これが
把握できた場合には、出現度数の高いデータをメモリ2
5の上位アドレスに初期設定して置く。
【0102】具体的には、該当するコードの出現度数を
計数するカウンタの初期値を1以上に設定する。これに
より、短い位置情報の符号ビットに変換される確率が高
まる。例えば、コンピュータ(Cソース)プログラム等
では、16進数により表される「0D」の次に、「0
A」が出現する確率が高くなる。このように出現頻度の
高いデータほど短い位置情報に変換される確率が高ま
り、統計情報が少ない場合や、次の文字の出現確率の度
数分布が平均化され、予測が困難である文字や文字列に
対して、次の文字や文字列を正確に出現予測することが
でき、データ圧縮率が向上する。
【0103】
【発明の効果】以上説明したように、本発明のデータ処
理装置によれば、出現度数テーブルを参照しながら、圧
縮すべきデータの次のデータの出現予測をするデータ予
測手段が設けられるため、次に出現する文字又は文字列
を、その出現確率が高いデータほど短い位置情報にデー
タ変換手段により変換すること、及び、出現確率の低い
データほど長い位置情報に変換することができ、文字列
の順番が予想できる入力データ列の場合に、1文字のみ
の出現確率を計算するハフマン符号化方法に比べて、デ
ータ列の圧縮率を向上させることができる。
【0104】本発明の他のデータ処理装置によれば、1
単位のデータが入力される毎に出現度数テーブルがデー
タ作成手段により更新されるため、出現度数テーブルの
更新に伴ってデータ変換手段では短時間に位置情報を書
き換えることができ、タイナミック(動的)に符号テー
ブルを再構成することができる。また、全ての位置情報
の並び変えを行わずに、符号テーブルを更新することで
き、データ圧縮時間の高速化が図られる。
【0105】本発明の他のデータ処理装置によれば、入
力データを圧縮データに変換した後に、レベル調整手段
により圧縮データの長さが調整されるため、入力データ
の種別に応じて、圧縮データの長さをダイナミックにレ
ベル調整した圧縮データを再構成するオフセット符号化
を実行することができ、出現度数分布の傾向が明確な場
合には、より短いビット長の圧縮データに変換し、出現
度数分布に偏りが生じている場合には、レベルを上げて
短いビット長の圧縮データに変換することができ、デー
タ圧縮率が向上する。
【0106】このような1バイト又は1文字単位の出現
頻度をダイナミックに符号化するデータ圧縮機能を対象
機器に組み込むと、メモリ容量の削減化が図れる。本発
明のデータ処理方法によれば、予め、圧縮すべきデータ
の種類毎に、出現度数を計数した出現度数テーブルを作
成しているため、圧縮すべきデータの前後の対象文字や
文字列の接続状態を把握することができる。
【0107】また、本発明のデータ処理方法によれば、
符号テーブルから直接,位置情報及び識別子から構成さ
れる圧縮データを出力することができる。これにより、
文字列や文字の出現予測をしながら、高速に符号化又は
復号化可能なデータ圧縮又は復元装置を構成することが
でき、磁気ディスク装置等の記憶容量の実質的な増加及
びデータ伝送時の送信時間の短縮化に寄与するところが
大きい。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の原理図である。
【図2】本発明に係るデータ処理方法の原理図である。
【図3】本発明の各実施例に係るデータ圧縮及び復元装
置の構成図である。
【図4】本発明の第1の実施例に係るデータの圧縮及び
復元フローチャートである。
【図5】本発明の各実施例に係る符号変換エディタの機
能説明図である。
【図6】本発明の各実施例に係る圧縮データのフォーマ
ット及び符号木の説明図である。
【図7】本発明の第2の実施例に係るデータの圧縮及び
復元フローチャートである。
【図8】本発明の第2の実施例に係る出現度数テーブル
の更新フローチャートである。
【図9】本発明の第2の実施例に係る出現度数テーブル
の更新時のデータ交換の状態図である。
【図10】本発明の第3の実施例に係るデータの圧縮及び
復元フローチャートである。
【図11】本発明の第3の実施例に係る圧縮データのレベ
ル調整フローチャートである。
【図12】従来例に係るデータ圧縮装置の構成図である。
【符号の説明】
11…データ作成手段、 12…データ予測手段、 13…データ変換手段、 14…レベル調整手段、 21…出現度数作成エディタ、 22…データ比較エディタ、 23…符号変換エディタ、 24…レベル調整エディタ、 25…メモリ、 26…EPROM 27…ディスプレイ、 28…キーボード、 29…CPU、 30…入力データファイル、 31…圧縮データファイル、 32…バス、 DIN…入力データ、 DOUT …圧縮データ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/417 7/32

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 圧縮すべきデータの種類毎に該データの
    出現度数を計数して出現度数テーブルを作成するデータ
    作成手段と、 前記データ作成手段からの出現度数テーブルを参照しな
    がら、圧縮すべきデータの次のデータの出現予測をする
    データ予測手段と、 前記データ予測手段のデータの出現予測に応じて該デー
    タを出現確率の高いデータほど短いビット長の圧縮デー
    タに変換し、出現確率の低いデータほど長いビット長の
    圧縮データに変換するデータ変換手段とを備えることを
    特徴とするデータ処理装置。
  2. 【請求項2】 前記データ作成手段は、圧縮すべき1単
    位のデータを入力する毎に出現度数テーブルを更新する
    ことを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記データ変換手段によって変換された
    圧縮データの長さを調整するレベル調整手段が設けられ
    ることを特徴とする請求項1記載のデータ処理装置。
  4. 【請求項4】 前記データ作成手段は、圧縮すべき全て
    のデータ又は1単位のデータを取り込んで出現度数テー
    ブルを作成することを特徴とする請求項1,2及び3記
    載のいずれかのデータ処理装置。
  5. 【請求項5】 前記データ変換手段は、出現度数テーブ
    ルでデータを出現度数の高い順に並べ換え、該出現度数
    の高いデータから出現度数の低いデータに至る位置に対
    して、該データを出現度数の高いデータほど短い位置情
    報を割当て、かつ、出現度数の低いデータほど長い位置
    情報を割当てた符号テーブルを参照することを特徴とす
    る請求項1,2及び3記載のいずれかのデータ処理装
    置。
  6. 【請求項6】 前記データ変換手段は、データ作成手段
    での出現度数テーブルの更新に伴って圧縮データを書換
    えることを特徴とする請求項1,2及び3記載のいずれ
    かのデータ処理装置。
  7. 【請求項7】 予め、前記圧縮すべきデータの種類毎に
    該データの出現度数を計数して出現度数テーブルを作成
    し、 前記作成された出現度数テーブルを参照しながら、圧縮
    すべきデータの次のデータの出現予測をし、 前記データの出現予測に応じて該データを出現確率の高
    いデータほど短いビット長の圧縮データに変換し、か
    つ、出現確率の低いデータほど長いビット長の圧縮デー
    タに変換することを特徴とするデータ処理方法。
  8. 【請求項8】 前記圧縮データの変換は、出現度数テー
    ブルのデータを出現度数の高い順に並べ換え、該出現度
    数の高いデータから出現度数の低いデータに至る位置に
    対して、該データを出現度数の高いデータほど短い位置
    情報を割当て、かつ、出現度数の低いデータほど長い位
    置情報を割当てた符号テーブルを参照することを特徴と
    する請求項7記載のいずれかのデータ処理方法。
  9. 【請求項9】 前記出現度数テーブル及び符号テーブル
    は、圧縮すべき1単位のデータが入力される毎に更新す
    ることを特徴とする請求項7及び8記載のいずれかのデ
    ータ処理方法。
  10. 【請求項10】 前記圧縮すべきデータを圧縮データに変
    換した後に、圧縮データのビット長を調整することを特
    徴とする請求項7,8及び9記載のいずれかのデータ処
    理方法。
  11. 【請求項11】 前記出現度数テーブルは、圧縮すべき全
    てのデータ又は1単位のデータに応じて作成することを
    特徴とする請求項7,8及び9記載のいずれかのデータ
    処理方法。
  12. 【請求項12】 前記データの次のデータの出現予測は、
    出現度数テーブルに書き込まれた各々の出現度数のデー
    タと、圧縮すべきデータの次のデータとを比較すること
    を特徴とする請求項7,8及び9記載のいずれかのデー
    タ処理方法。
  13. 【請求項13】 前記圧縮データは、出現度数の高いデー
    タから出現度数の低いデータに至る位置を表示する位置
    情報及び前記位置情報を識別する識別子から構成するこ
    とを特徴とする請求項7,8及び9記載のいずれかのデ
    ータ処理方法。
JP25101794A 1994-10-17 1994-10-17 データ処理装置及びデータ処理方法 Pending JPH08116263A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25101794A JPH08116263A (ja) 1994-10-17 1994-10-17 データ処理装置及びデータ処理方法
US08/505,760 US5635932A (en) 1994-10-17 1995-07-21 Lempel-ziv compression with expulsion of dictionary buffer matches
US08/813,943 US5748122A (en) 1994-10-17 1997-03-03 Data processing apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25101794A JPH08116263A (ja) 1994-10-17 1994-10-17 データ処理装置及びデータ処理方法

Publications (1)

Publication Number Publication Date
JPH08116263A true JPH08116263A (ja) 1996-05-07

Family

ID=17216397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25101794A Pending JPH08116263A (ja) 1994-10-17 1994-10-17 データ処理装置及びデータ処理方法

Country Status (1)

Country Link
JP (1) JPH08116263A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321633A (ja) * 1996-05-30 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> 情報アドレス変換方法,情報アドレス変換装置および情報検索システム
JP2002533005A (ja) * 1998-12-14 2002-10-02 マイクロソフト コーポレイション 可変長から可変長へのエントロピー符号化のためのコードブック構成
JP2006259937A (ja) * 2005-03-15 2006-09-28 Omron Corp データ収集装置およびデータ復元装置
US7245396B2 (en) 2001-12-06 2007-07-17 Canon Kabushiki Kaisha Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method
JP2011507450A (ja) * 2007-12-20 2011-03-03 タンドベルク・テレコム・エイ・エス 可変長符号化方法及び装置
WO2012008162A1 (ja) * 2010-07-15 2012-01-19 パナソニック株式会社 画像復号化方法、画像符号化方法、画像復号化装置、画像符号化装置、プログラムおよび集積回路
US9172965B2 (en) 2008-05-02 2015-10-27 Microsoft Technology Licensing, Llc Multi-level representation of reordered transform coefficients
US9390720B2 (en) 2002-09-04 2016-07-12 Microsoft Technology Licensing, Llc Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321633A (ja) * 1996-05-30 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> 情報アドレス変換方法,情報アドレス変換装置および情報検索システム
JP2002533005A (ja) * 1998-12-14 2002-10-02 マイクロソフト コーポレイション 可変長から可変長へのエントロピー符号化のためのコードブック構成
US7245396B2 (en) 2001-12-06 2007-07-17 Canon Kabushiki Kaisha Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method
US9390720B2 (en) 2002-09-04 2016-07-12 Microsoft Technology Licensing, Llc Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes
JP2006259937A (ja) * 2005-03-15 2006-09-28 Omron Corp データ収集装置およびデータ復元装置
JP2011507450A (ja) * 2007-12-20 2011-03-03 タンドベルク・テレコム・エイ・エス 可変長符号化方法及び装置
US9172965B2 (en) 2008-05-02 2015-10-27 Microsoft Technology Licensing, Llc Multi-level representation of reordered transform coefficients
WO2012008162A1 (ja) * 2010-07-15 2012-01-19 パナソニック株式会社 画像復号化方法、画像符号化方法、画像復号化装置、画像符号化装置、プログラムおよび集積回路

Similar Documents

Publication Publication Date Title
US5635932A (en) Lempel-ziv compression with expulsion of dictionary buffer matches
US5870036A (en) Adaptive multiple dictionary data compression
US5572206A (en) Data compression method and system
US8090027B2 (en) Data compression using an arbitrary-sized dictionary
US5374916A (en) Automatic electronic data type identification process
US5945933A (en) Adaptive packet compression apparatus and method
CA2321233C (en) Block-wise adaptive statistical data compressor
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
US9559720B2 (en) Compression analyzer
JP3337633B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
EP0615345A2 (en) Method and system for data compression
EP0438955B1 (en) Data compression method
JPH07104971A (ja) ネットワークパケットに適用される小型辞書を用いた圧縮方法
US5650783A (en) Data coding/decoding device and method
EP0903866A1 (en) Method and apparatus for data compression
CN107251438B (zh) 数据压缩装置及方法、数据解压缩装置及方法和记录介质
EP1522149A1 (en) Improved method for lossless data compression using greedy sequential context-dependent grammar transform
JPH08116263A (ja) データ処理装置及びデータ処理方法
JP6609404B2 (ja) 圧縮プログラム、圧縮方法および圧縮装置
JP3593884B2 (ja) 符号化装置および復号装置
JPH06168096A (ja) データ符号化方式及びデータ復元方式
EP0435802B1 (en) Method of decompressing compressed data
EP0438954B1 (en) Method of decoding compressed data
EP1941617A1 (en) Method and system for compressing data

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020409