JPH06290020A - データ圧縮方法 - Google Patents

データ圧縮方法

Info

Publication number
JPH06290020A
JPH06290020A JP5072675A JP7267593A JPH06290020A JP H06290020 A JPH06290020 A JP H06290020A JP 5072675 A JP5072675 A JP 5072675A JP 7267593 A JP7267593 A JP 7267593A JP H06290020 A JPH06290020 A JP H06290020A
Authority
JP
Japan
Prior art keywords
data
dictionary
main
registered
temporary
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.)
Granted
Application number
JP5072675A
Other languages
English (en)
Other versions
JP2564749B2 (ja
Inventor
Takeshi Ito
健 伊藤
Akitoshi Yamamoto
彰利 山本
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 Social Science Labs Ltd
Original Assignee
Fujitsu Social Science Labs 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 Social Science Labs Ltd filed Critical Fujitsu Social Science Labs Ltd
Priority to JP5072675A priority Critical patent/JP2564749B2/ja
Publication of JPH06290020A publication Critical patent/JPH06290020A/ja
Application granted granted Critical
Publication of JP2564749B2 publication Critical patent/JP2564749B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【目的】 本発明は、データを圧縮するデータ圧縮方法
に関し、データを区切って繰り返しが存在したときに辞
書データとこの辞書データの辞書番号および連続回数で
表現し、一方、繰り返しが存在しないときに実データで
表現し、繰り返しデータが部分的に存在するデータを効
率的かつ高速に圧縮/展開を行なうことを目的とする。 【構成】 圧縮対象の元データ1を所定ドット毎に区切
ったデータと同一データが連続して繰り返すと検出され
たときに、当該データを本辞書8に1つ登録すると共に
本辞書8の辞書番号および連続回数を本テーブル9に登
録し、一方、同一データが繰り返さなかった検出された
ときに、当該データを本テーブル9に登録するように構
成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データを圧縮するデー
タ圧縮方法に関するものである。ある種の特性を持つデ
ータを高速可逆展開を必要とするシステムがある。この
システムは、ある種の特性として幾何学的なパターンの
中に複雑なパターン(写真データなど)が入り込んだよ
うなデータを圧縮して展開するものであって、写真デー
タなどの繰り返しのないデータは圧縮することなくその
ままとし、圧縮し易い部分のみ効率的に圧縮するという
要望がある。
【0002】
【従来の技術】従来、圧縮技法として、辞書登録法およ
び連長圧縮法というものが存在する。辞書登録法は、同
じパターンが現れるデータを辞書として登録し、その辞
書の番号などを実データの代わりに持つ方法である。こ
れは、圧縮率が高いため、通信におけるデータ転送やデ
ータのバックアップなどに使用している。
【0003】連長圧縮法は、同じパターンが続くデータ
の場合に、そのデータが何回続くかをデータとして持つ
方法である。これは、データ構造が簡単で、展開が非常
に速いため、リアルタイムで高速に展開する必要がある
場合に良く用いられる。
【0004】
【発明が解決しようとする課題】上述した従来の辞書登
録法によれば、圧縮率は良いが、圧縮/展開の速度が非
常に遅いので、リアルタイムに展開を行いたいアプリケ
ーションなどでは殆ど使用できないという問題がある。
【0005】連長圧縮法は、速度が非常に速いが、その
性質上、同じデータが連なって入ってこなければ圧縮で
きず、横にデータが連なっていない場合には逆効果とな
ってしまう問題がある。また、ある種の特性、例えば1
6ドット毎に同じパターンが続く可能性が高く圧縮し易
い部分と、し難い部分とが交互にあるなどが判明してい
る場合でも、この特性を利用して圧縮することができな
いという問題もあった。
【0006】本発明は、これらの問題を解決するため、
データを区切って繰り返しが存在したときに辞書データ
とこの辞書データの辞書番号および連続回数で表現し、
一方、繰り返しが存在しないときに実データで表現し、
繰り返しデータが部分的に存在するデータを効率的かつ
高速に圧縮/展開を行なうことを目的としている。
【0007】
【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、仮辞書5は、圧縮対象の元
データ1を所定ドット毎に区切ったデータおよび連長回
数を登録するものである。
【0008】仮テーブル6は、データのハッシュ値およ
びオフセット値を登録するものである。本辞書8は、デ
ータを登録するものである。
【0009】本テーブル9は、連長回数が1回のデー
タ、および連長回数が2回以上のデータの辞書番号を登
録するものである。
【0010】
【作用】本発明は、図1に示すように、圧縮対象の元デ
ータ1を所定ドット毎に区切ったデータについて同一デ
ータが連続して繰り返すと検出されたときに、当該デー
タ1を本辞書8に登録すると共に本辞書8の辞書番号お
よび連長回数を本テーブル9に登録し、一方、同一デー
タが繰り返さない検出されたときに、当該データを本テ
ーブル9に登録するようにしている。
【0011】また、圧縮対象の元データ1を所定ドット
毎に区切ったデータについて、ハッシュ値を算出して同
一データが連続して存在すると検出されたときに当該デ
ータの連長回数を+1し、一方、連続して存在しないと
検出されたときにデータを登録および連長回数を1にし
て仮辞書5に登録すると共に、圧縮対象のデータの順に
ハッシュ値とオフセット値を順次仮テーブル6に登録
し、この仮テーブル6から順次取り出したハッシュ値と
オフセット値をもとに、仮辞書5を参照して連続回数が
2以上のときにデータを本辞書8に登録およびこの本辞
書8の辞書番号および連長回数を本テーブル9に登録
し、一方、連長回数が1のときにデータを本テーブル9
に登録するようにしている。
【0012】この際、ハッシュ値の算出として、データ
から所定ドット毎のドット位置の値を加算して所定数
(ハッシュテーブルの大きさ)で割算してその余りをハ
ッシュ値とし、周期的なパターンが同じハッシュ値とな
らないようにしている。
【0013】また、本テーブル9から取り出したデータ
に複数の連長回数が設定されていたときに、本辞書8か
ら該当するデータを取り出してバッファにその連長回数
分だけ展開し、一方、連長回数が設定されていなかった
ときにデータをそのままバッファに展開し、データ展開
を行なうようにしている。
【0014】従って、データを区切って繰り返しが存在
したときにデータとこのデータの辞書番号および連長回
数で表現し、一方、繰り返しが存在しないときに実デー
タで表現することにより、繰り返しデータが部分的に存
在するデータを効率的かつ高速に圧縮/展開することが
可能となる。
【0015】
【実施例】次に、図1から図9を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
【0016】図1は、本発明の原理構成図を示す。図1
において、元データ1は、圧縮対象のデータであって、
例えば画像データである。
【0017】メモリ2は、作業用一時データ3および圧
縮後データ7などを格納するメモリである。作業用一時
データ3は、元データ1を圧縮するために、一時的に生
成するデータであって、ハッシュテーブル4、仮辞書
5、および仮テーブル6から構成されるものである。
【0018】ハッシュテーブル4は、高速に検索するた
めのテーブルであって、ここでは、元データ1を16ド
ット毎に区切ったデータからハッシュ値を求めて、当該
ハッシュテーブル4のハッシュ値からリンクして格納
し、高速に検索し得るようにするためのものである。
【0019】仮辞書5は、元データを区切ったデータに
ついて、ハッシュテーブル4からリンクして格納したも
のである。仮テーブル6は、圧縮対象の元データ1を所
定ドット毎に区切ったデータに対する、仮辞書5に格納
したハッシュ値とオフセット値を格納するものである。
【0020】圧縮後データ7は、圧縮した後のデータで
あって、ここでは、本辞書8および本テーブル9から構
成されるものである。本辞書8は、元データ1を所定ド
ット毎に区切ったデータについて、連続した繰り返しが
あった場合に、当該データを登録するものである。
【0021】本テーブル9は、元データ1を所定ドット
毎に区切ったデータについて、連続した繰り返しがなか
った場合には当該データをそのまま格納し、一方、連続
した繰り返しがあった場合には本辞書8に登録したデー
タの辞書番号、連長回数を格納するものである。
【0022】圧縮主制御部11は、元データ1を圧縮し
て本辞書8および本テーブル9にデータや、辞書番号、
連長回数などの登録を制御するものであって、仮テーブ
ル作成部12、仮辞書登録部13、ハッシュリスト作成
部14、ハッシュ値計算部15、本辞書登録部16、お
よび本テーブル作成部17などを統括制御するものであ
る。
【0023】仮テーブル作成部12は、仮テーブル6を
作成するものであって、元データ1を所定ドット毎に区
切ったデータについて、仮辞書5に登録した当該データ
のハッシュ値およびオフセット値を登録して仮テーブル
6を作成するものである。
【0024】仮辞書登録部13は、元データ1を所定ド
ット毎に区切ったデータを仮辞書5に登録するものであ
る。ハッシュリスト作成部14は、ハッシュリストを作
成するものである。
【0025】ハッシュ値計算部15は、元データ1を所
定ドット毎に区切ったデータのハッシュ値を計算するも
のである。ハッシュ値は、後述する図9に示すように、
例えば16ドット(16バイト)を4ドット毎に区切っ
て1ドット目、6ドット目、11ドット目、16ドット
目のデータ(1バイトデータ)を取り出し、これらデー
タを加算して所定の値(ここでは128)で除算してそ
の余りをハッシュ値として計算する。
【0026】本辞書登録部16は、仮辞書5および仮テ
ーブル6から取り出したデータについて、繰り返しがな
い場合に当該データを本辞書8に登録するものである。
本テーブル作成部17は、本テーブル9を作成するもの
である(図5参照)。
【0027】展開制御部18は、圧縮したデータ(本辞
書8、本テーブル9)について、展開して元のデータを
得るものである。展開部19は、圧縮されているデータ
を展開してバッファに格納するものである(図7参
照)。
【0028】バッファ20は、データを一時的に格納す
るものである。ディスプレイ21は、バッファ20に格
納された展開後のデータをディスプレイ上に表示するも
のである。
【0029】以下順次詳細に説明する。図2は、本発明
の動作説明フローチャート(圧縮)を示す。図2におい
て、S1は、圧縮対象データ(元データ1)の取り出し
を行なう。
【0030】S2は、16ドット分毎に区切る。これ
は、S1で取り出しを行った圧縮対象データ(元データ
1)について、使用システムの中で割り切れるデータが
多いドット数としてここでは16ドットを選び、区切っ
たものである。各ドットが1バイトの階調(あるいは色
調など)で表現されているため、データとしては、16
バイト分毎に区切ることとなる。
【0031】S3は、ハッシュ値を計算する(0〜
n)。これは、S2で区切った16バイトのデータにつ
いて、後述する図9に示すように、4バイト毎に合計4
バイトを取り出し、これらをもとにハッシュ値を計算、
例えばこれら4バイトの合計値をハッシュテーブルのサ
イズで除算してその余りをハッシュ値とする。
【0032】S4は、仮辞書5に同データが存在するか
判別する。これは、S3で計算したハッシュ値をもと
に、図3の(a)のハッシュテーブル4からリンクする
テーブル(仮辞書5)を検索して同データが存在するか
判別する。YESの場合には、同データが存在したの
で、S8に進む。一方、NOの場合には、同データが存
在しないと判明したので、S5に進む。
【0033】S5は、新規登録できる余裕があるか判別
する。YESの場合には、テーブル(仮辞書5)に新規
登録できる余裕があると判明したので、S7に進む。一
方、NOの場合には、S6に進む。
【0034】S6は、hashテーブル(ハッシュテー
ブル)に追加する(同じサイズ分作る)。これは、図3
の(a)に示すように、テーブルに新規登録する余裕が
なかったので、新規に次のブロック(仮辞書5)を作成
してリンクする。
【0035】S7は、仮辞書5に辞書データ新規登録す
る。これは、S6で新規に作成した仮辞書5あるいは空
の仮辞書5にデータを新規登録する。S8は、仮テーブ
ル6にハッシュ値とオフセット番号を登録する。これ
は、データを仮辞書5に登録したので、この登録したデ
ータのハッシュ値およびオフセット番号を、仮テーブル
6に登録する。
【0036】S9は、仮辞書参照回数をカウントUPす
る。これは、仮辞書5中のデータについて、参照された
回数(新規登録のときは1、同一データが現れる都度+
1)にして登録する。これにより、同一データが現れた
ときに仮辞書5の同データの参照回数がその回数にカウ
ントUPされることとなる。
【0037】S10は、データがまだ存在するか判別す
る。YESの場合には、次のデータについてS1以降を
繰り返す。一方、NOの場合には、圧縮対象のデータに
ついて終了したので、S11に進む。
【0038】S11は、2度以上参照される辞書の本辞
書登録を行なう。これは、後述するように、S1からS
10のYESによって作成した仮テーブル6の順序で、
仮辞書5中で2度以上の参照の辞書(データ)を、本辞
書8に登録する(図5を用いて詳述する)。
【0039】S12は、本辞書番号使用の本テーブル作
成、同時に辞書番号羅列データの連長圧縮を行なう。こ
れは、仮テーブル6の順序で、仮辞書5を参照しつつ、
参照回数が1回のデータはそのまま本テーブル9に登録
し、2回以上のデータは本辞書8に登録してその辞書番
号を本テーブル9に登録するかのいずれかを順次繰り返
し、同時に連長圧縮を行なう(図5を用いて詳述す
る)。
【0040】以上によって、圧縮対象のデータについ
て、ここでは、16ドット分毎に区切り、ハッシュ値を
計算してハッシュテーブルからリンクする仮辞書5に登
録およびそのハッシュ値とオフセット番号を仮テーブル
6に登録する。次にこの登録し仮テーブル6の順序で仮
辞書5を参照しつつ、参照回数が1回のデータはそのま
ま本テーブル9に登録し、一方、2回以上のデータを本
辞書8に登録すると共にその辞書番号を本テーブル9に
登録するかのいずれかを繰り返し、圧縮した結果であ
る、本テーブル9および参照回数が2回以上のデータを
登録した本辞書8を作成したこととなる。これにより、
参照回数が1回のデータはそのまま本テーブル9に登録
し、参照回数が2回以上のデータは連長圧縮して本テー
ブル9に登録することとなり、効率的な圧縮を行なうこ
とが可能となる。
【0041】図3は、本発明の仮辞書例を示す。これ
は、検索を高速に行なうために、ハッシュテーブル4の
ハッシュ値にリンクしてデータを登録し、仮辞書5を作
成したものである。
【0042】図3の(a)は、仮辞書例を示す。この仮
辞書5は、図示のように、ハッシュテーブル4のハッシ
ュ値(ここでは0から127)からリンクして、256
個のエントリをそれぞれ登録できるようにしてある。2
56個のエントリが一杯になった場合には、更に256
個のエントリからなるブロックを図示のようにリンクす
る。
【0043】図3の(b)は、dic構造体の内容例を
示す。このdic構造体は、図3の(a)の仮辞書5の
各エントリの構造体であって、 ・参照回数[2バイト] ・辞書データ(圧縮対象のデータ)[16ドット分] を登録する。ここで、参照回数は、圧縮対象のデータ
(元データ1)を16ドット分毎に区切ったときに、同
一データが現れたときの回数である。この参照回数の欄
を設けて、同一データが現れたとき(図2のS4のYE
Sのとき)、データを登録することなくこの参照回数を
+1してその連続する回数を記憶することができる。
【0044】図4は、本発明の仮テーブル例を示す。こ
れは、圧縮対象データを16ドット分毎に区切ったデー
タについて、図3の仮辞書5に登録あるいは参照回数が
2回以上のときは参照回数のみを+1し、そのときのハ
ッシュ値およびオフセット番号(ハッシュテーブル4の
ハッシュ値からリンクしたエントリの順番)を仮テーブ
ル6に順次登録したものである(図2のS8参照)。
【0045】図5は、本発明の動作説明フローチャート
(本辞書/本テーブル登録)を示す。これは、図3の仮
辞書5および図4の仮テーブル6をもとに、本辞書8お
よび本テーブル9を作成するときの手順である。
【0046】図5において、S21は、仮テーブル6か
ら1つ取り出す。これは、図2のS1からS10のYE
Sによって作成した仮テーブル6の先頭から1つデータ
を取り出す。
【0047】S22は、参照回数が1か判別する。これ
は、仮テーブル6の先頭から順次取り出したデータ(ハ
ッシュ値、オフセット番号)によって仮辞書5に登録さ
れているデータ(図3の(b)の辞書データ、16ドッ
トの実データ)の参照回数が1か判別する。YESの場
合には、同じ内容の16ドットのデータがないので、S
23で本テーブル9にそのまま16ドット分のデータを
登録し、S24に進む。一方、NOの場合には、参照回
数が2回以上であるので、S25からS27の処理を行
なう。
【0048】S25は、前の辞書番号と同じか判別す
る。これは、本テーブル9に登録した前回の辞書番号
と、今回のデータの辞書番号とが同じか判別する。YE
Sの場合には、今回のデータの辞書番号と前回のデータ
の辞書番号が同じであったので、S27で本テーブル9
の連続回数を+1し、S24に進む。これにより、16
ドット分のデータが連続する場合、本辞書8に16ドッ
ト分のデータを登録することなく、前回の16ドット分
のデータの連続回数を+1するのみでよく、いわゆる連
長圧縮を行なう。一方、S25でNOの場合には、今回
のデータの辞書番号と前回のデータの辞書番号が同じで
なかったので、S26で本辞書8に16ドット分のデー
タを登録し、本テーブル9に辞書番号と連続回数1を登
録する。これにより、16ドット分のデータが新規の場
合、本辞書8に16ドット分のデータを登録、および本
テーブル9に辞書番号および連続回数1を登録する。
【0049】以上によって、仮テーブル6および仮辞書
5をもとに、連続回数が1のデータはそのまま本テーブ
ル9に登録し、連続回数が2以上のデータはデータを本
辞書8に登録し、本テーブル9にはその辞書番号および
連続回数を登録する。これにより、16ドット分のデー
タに繰り返しがないときはそのまま本テーブル9に登録
し、繰り返しがある場合は連長圧縮を行い、効率的かつ
迅速に圧縮した本辞書8および本テーブル9を作成する
ことが可能となる。
【0050】図6は、本発明の本辞書/本テーブル例を
示す。ここで、圧縮後のデータは、図示のように、 ・本辞書8 ・本テーブル9 から構成されている。
【0051】本辞書8は、図示のように ・データ:[16ドット] と登録する。
【0052】本テーブル9は、図示のように、 実データタイプの場合(16ドット分のデータの繰り
返しがないタイプの場合):MSB(1バイト)を0に
設定し、16ドット分のデータを登録する。
【0053】辞書データタイプの場合(16ドット分
のデータの繰り返しがあるタイプの場合):MSB(1
バイト)に連長回数を設定、および辞書番号(2バイ
ト)を登録する。
【0054】具体的に説明すると、 (1) 16ドット分のデータに繰り返しがない場合:
16ドット分のデータを本テーブル9に登録する。
【0055】(2) 16ドット分のデータに繰り返し
がある場合:16ドット分のデータを本辞書8に1つの
み登録、および本テーブル9に本辞書8中の辞書番号お
よび連続回数を登録する(連長圧縮する)。
【0056】図7は、本発明のデータ展開フローチャー
トを示す。これは、データを16ドット分に区切って圧
縮したデータ(本テーブル9および本辞書8)をもと
に、展開して元のデータに復元するときの手順である。
【0057】図7において、S31は、本テーブル9を
参照し、1データ取り出しを行なう。これは、図6の本
テーブル1から実データタイプあるいは辞書データ
タイプのいずれかのデータを取り出す。
【0058】S32は、実データ(タイプ0、MSB=
0)か判別する。YESの場合には、実データタイプ
と判明したので、S34で当該本テーブル9のデータを
そのままバッファに書き込み、S35に進む。一方、N
Oの場合には、辞書データタイプと判明したので、S
33で本辞書8の連長データを参照し展開データを得、
S34でバッファに書き込む。即ち、図6の本テーブル
8の辞書データタイプ(MSB≠0)の辞書番号をも
とに本辞書8から16ドット分のデータを取り出すおよ
び本テーブル8の連長回数を取り出し、S34でこの取
り出したデータを、取り出した連長回数分繰り返しバッ
ファに展開し、S35に進む。
【0059】S35は、データがまだあるか判別する。
YESの場合には、本テーブル9にまだデータがあるの
で、次のデータについてS31以降を繰り返す。一方、
NOの場合には、終了する(END)。
【0060】以上によって、データ圧縮した本テーブル
9および本辞書8から、元のデータをバッファに展開す
ることが可能となる。図8は、本発明のシステム構成図
を示す。
【0061】図8の(a)は、HD(ハードディスク装
置)にデータを格納する場合のシステム構成図を示す。
図8の(a)において、ディスプレイ21は、画像を表
示するものであって、圧縮データを展開したデータなど
を表示するものである。
【0062】HD22は、ハードディスク装置であっ
て、圧縮前の素材データ(元データ1)を格納するもの
である。コンピュータシステム(OS)23は、素材デ
ータを圧縮して圧縮データを作成したり、圧縮データを
展開して元のデータに復元してディスプレイ21上に表
示したりなどするものである。
【0063】HD24は、圧縮データを保存するもので
ある。次に動作を説明する。既述したように、素材デー
タを例えば16ドット分毎に区切ったデータを仮辞書5
に登録および辞書番号とオフセット値を仮テーブル6に
登録する。続いて仮テーブル6および仮辞書5をもとに
圧縮した本テーブル9および本辞書8を作成する。圧縮
データである本テーブル9および本辞書8をもとに、展
開して元のデータに復元し、ディスプレイ21上に表示
する。これにより、少ない容量のHD24に素材データ
を蓄えておくことが可能となる。
【0064】図8の(b)は、CD−ROMの媒体に圧
縮したデータを記録した例を示す。図8の(b)におい
て、コンピュータシステム25は、素材データを圧縮し
て圧縮データを作成するものである。この場合には、既
述したように、素材データを区切ったデータを仮辞書5
に登録および辞書番号とオフセット値を仮テーブル6に
登録する。続いて仮テーブル6および仮辞書5をもとに
圧縮した本テーブル9および本辞書8を作成する。圧縮
データである本テーブル9および本辞書8の内容をCD
−ROMに成形する。
【0065】コンピュータシステム26は、CD−RO
Mに格納されている圧縮データ(本テーブル9および本
辞書8)をもとに展開して元のデータに復元し、ディス
プレイ21上に表示する図9は、本発明のハッシュ値の
算出説明図を示す。ここでは、元データ1から16ドッ
ト分のデータを図示のように切り出す。そして、斜線の
部分のドット1、6、11、16の4つを取り出し、こ
れらのドットの値(1バイトの輝度、色相などの値)の
総和を求め、ハッシュテーブルのサイズ、ここでは、1
28で除算してその余りをハッシュ値とする。ここで、
4つのドットのデータを取り出してハッシュ値を算出し
ているため、全てのデータの和を求めて128で除算し
た場合には比し、計算時間を短縮できると共に、繰り返
して同じ位置となる割り切れるドット(ドット1、6、
11、16)毎(ここでは5つ毎)のデータのハッシュ
値を異ならせ、局所的にハッシュ値が集まって仮辞書5
の検索が遅くなることを回避できる。
【0066】
【発明の効果】以上説明したように、本発明によれば、
データを区切って繰り返しが存在したときにデータとこ
のデータの辞書番号および連長回数で表現し、一方、繰
り返しが存在しないときに実データで表現する構成を採
用しているため、繰り返しデータが部分的に存在するデ
ータを効率的かつ高速に圧縮/展開することができる。
これらにより、パソコン上などの電子カタログなどの画
像を高速に圧縮して圧縮データ(本テーブル9および本
辞書8)を作成したり、圧縮データ(本テーブル9およ
び本辞書8)を展開して元のデータを迅速に表示するこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の動作説明フローチャート(圧縮)であ
る。
【図3】本発明の仮辞書例である。
【図4】本発明の仮テーブル例である。
【図5】本発明の動作説明フローチャート(本辞書/本
テーブル登録)である。
【図6】本発明の本辞書/本テーブル例である。
【図7】本発明のデータ展開フローチャートである。
【図8】本発明のシステム構成図である。
【図9】本発明のハッシュ値の算出説明図である。
【符号の説明】
1:元データ 2:メモリ 3:作業用一時データ 4:ハッシュテーブル 5:仮辞書 6:仮テーブル 7:圧縮後データ 8:本辞書 9:本テーブル 11:圧縮主制御部 12:仮テーブル作成部 13:仮辞書登録部 14:ハッシュリスト作成部 15:ハッシュ値計算部 16:本辞書登録部 17:本テーブル作成部 18:展開制御部 19:展開部 20:バッファ 21:ディスプレイ 22、24:HD 23、25、26:コンピュータシステム

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】データを圧縮するデータ圧縮方法におい
    て、 圧縮対象の元データ(1)を所定ドット毎に区切ったデ
    ータと同一データが連続して繰り返すと検出されたとき
    に、当該データを本辞書(8)に1つ登録すると共に本
    辞書(8)の辞書番号および連続回数を本テーブル
    (9)に登録し、一方、同一データが繰り返さないと検
    出されたときに、当該データを本テーブル(9)に登録
    するように構成したことを特徴とするデータ圧縮方法。
  2. 【請求項2】データを圧縮するデータ圧縮方法におい
    て、 圧縮対象の元データ(1)を所定ドット毎に区切ったデ
    ータについて、ハッシュ値を算出して同一データが連続
    して存在すると検出されたときに当該データの参照回数
    を+1し、一方、存在しないと検出されたときに当該デ
    ータを登録および参照回数の初期値を登録する仮辞書
    (5)と、 上記データのハッシュ値およびオフセット値を順次登録
    する仮テーブル(6)とを備え、 この仮テーブル(6)から順次取り出したハッシュ値お
    よびオフセット値をもとに、上記仮辞書(5)を参照し
    て連長回数が2以上のときにデータを本辞書(8)に登
    録およびこの本辞書(8)の辞書番号および連長回数を
    本テーブル(9)に登録し、一方、連長回数が1のとき
    にデータを本テーブル(9)に登録することを繰り返す
    ように構成したことを特徴とするデータ圧縮方法。
  3. 【請求項3】上記ハッシュ値の算出として、上記区切っ
    たデータから所定ドット毎のドット位置の値を加算して
    所定数(ハッシュテーブルの大きさ)で割算してその余
    りをハッシュ値とし、周期的なパターンが同じハッシュ
    値とならないようにしたことを特徴とする請求項1記載
    および請求項2記載のデータ圧縮方法。
  4. 【請求項4】上記本テーブル(9)から取り出したデー
    タに複数の連長回数が設定されていたときに、上記本辞
    書(8)から該当するデータを取り出してバッファにそ
    の連長回数分だけ展開し、一方、連長回数が設定されて
    いなかったときにデータをそのままバッファに展開する
    ことを繰り返し、データ展開を行なうように構成したこ
    とを特徴とするデータ圧縮方法。
JP5072675A 1993-03-31 1993-03-31 データ圧縮方法 Expired - Lifetime JP2564749B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5072675A JP2564749B2 (ja) 1993-03-31 1993-03-31 データ圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5072675A JP2564749B2 (ja) 1993-03-31 1993-03-31 データ圧縮方法

Publications (2)

Publication Number Publication Date
JPH06290020A true JPH06290020A (ja) 1994-10-18
JP2564749B2 JP2564749B2 (ja) 1996-12-18

Family

ID=13496184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5072675A Expired - Lifetime JP2564749B2 (ja) 1993-03-31 1993-03-31 データ圧縮方法

Country Status (1)

Country Link
JP (1) JP2564749B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106257402A (zh) * 2015-06-19 2016-12-28 Hgst荷兰公司 用于对于数据传递的单遍熵检测的设备和方法
US10152389B2 (en) 2015-06-19 2018-12-11 Western Digital Technologies, Inc. Apparatus and method for inline compression and deduplication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6428751A (en) * 1987-07-24 1989-01-31 Nec Corp File compressing device
JPH04120667A (ja) * 1990-09-11 1992-04-21 Matsushita Graphic Commun Syst Inc ラスタイメージデータ出力方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6428751A (en) * 1987-07-24 1989-01-31 Nec Corp File compressing device
JPH04120667A (ja) * 1990-09-11 1992-04-21 Matsushita Graphic Commun Syst Inc ラスタイメージデータ出力方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106257402A (zh) * 2015-06-19 2016-12-28 Hgst荷兰公司 用于对于数据传递的单遍熵检测的设备和方法
KR20160150029A (ko) * 2015-06-19 2016-12-28 에이취지에스티 네덜란드 비.브이. 데이터 전송의 단일 패스 엔트로피 검출 장치 및 방법
JP2017011703A (ja) * 2015-06-19 2017-01-12 エイチジーエスティーネザーランドビーブイ データ転送に関する単一パスエントロピー検出のための装置及び方法
US10089360B2 (en) 2015-06-19 2018-10-02 Western Digital Technologies, Inc. Apparatus and method for single pass entropy detection on data transfer
US10152389B2 (en) 2015-06-19 2018-12-11 Western Digital Technologies, Inc. Apparatus and method for inline compression and deduplication
KR20200024193A (ko) * 2015-06-19 2020-03-06 웨스턴 디지털 테크놀로지스, 인코포레이티드 데이터 전송의 단일 패스 엔트로피 검출 장치 및 방법
CN106257402B (zh) * 2015-06-19 2021-05-25 西部数据技术公司 用于检测在单遍期间输入数据流的熵的设备和方法

Also Published As

Publication number Publication date
JP2564749B2 (ja) 1996-12-18

Similar Documents

Publication Publication Date Title
US5281967A (en) Data compression/decompression method and apparatus
JP2986319B2 (ja) 準静的データを圧縮し展開する方法
JP2000505968A (ja) 即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システム
JPS63109653A (ja) 情報登録検索装置
US5832037A (en) Method of compressing and expanding data
EP1635581A1 (en) Transmitter apparatus, image processing system, image processing method, program, and recording medium
JP2564749B2 (ja) データ圧縮方法
US4866440A (en) Method for compressing and restoring data series and apparatus for realizing same
EP1214792A1 (en) Method and apparatus for reducing the time required for decompressing data
JPH02222063A (ja) 帳票出力装置
JPH04360246A (ja) ファイル圧縮装置
JP2959519B2 (ja) グラフィックス表示装置
JPH1075345A (ja) 画像処理装置
JP2003092674A (ja) 画像処理装置および画像処理方法
JP4036514B2 (ja) データ圧縮方法とデータ復元方法およびソートマージ処理装置とソートマージ処理方法およびこれら方法のプログラムを記録した媒体
JPH02190080A (ja) 画像符号化装置
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JP2003318739A (ja) データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体
JPH08274999A (ja) 画像データ処理方法および画像処理装置
JPH0730764A (ja) 圧縮方法及び装置
JP3812289B2 (ja) 符号化器と復号器、及び、符号化方法と復号方法
JP3081549B2 (ja) 画像データの格納方法、及び画像データの伸長装置
JPH05265416A (ja) 画像情報伝送方式
JPH01130957A (ja) 文字制御装置
JPH10257282A (ja) 画像処理装置および方法