JP3143030B2 - データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 - Google Patents

データ圧縮方法及びその装置並びにデータ伸長方法及びその装置

Info

Publication number
JP3143030B2
JP3143030B2 JP27433094A JP27433094A JP3143030B2 JP 3143030 B2 JP3143030 B2 JP 3143030B2 JP 27433094 A JP27433094 A JP 27433094A JP 27433094 A JP27433094 A JP 27433094A JP 3143030 B2 JP3143030 B2 JP 3143030B2
Authority
JP
Japan
Prior art keywords
data
dictionary
pointer
bits
data string
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
JP27433094A
Other languages
English (en)
Other versions
JPH08116271A (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.)
Rohm Co Ltd
Original Assignee
Rohm Co 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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP27433094A priority Critical patent/JP3143030B2/ja
Publication of JPH08116271A publication Critical patent/JPH08116271A/ja
Application granted granted Critical
Publication of JP3143030B2 publication Critical patent/JP3143030B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各種記憶装置における
格納データの圧縮や読出データの伸長、あるいはデジタ
ル通信機器等における転送データの圧縮や伸長に使用さ
れるデータ圧縮方法及びその装置並びにデータ伸長方法
及びその装置に関するものである。
【0002】
【従来の技術】この種の圧縮のための符号化に使用され
る符号として、「データ圧縮アルゴリズムとその実現」
(インターフェース,CQ出版社,Aug.199
2.,105〜117ページ)や特開平3−68219
号公報に示されているような適応型符号と呼ばれるもの
がある。この適応型符号は、文字列(入力データ列)を
読み込みながらその統計的性質を抽出して符号化を行う
ため、文字列を読み終わると同時に符号化が終了すると
いう特徴を有する。この適用型符号の一種であるユニバ
ーサル符号の代表的なものに、Lempel−Zip符
号(その符号化の概念をつかみやすいことからスライド
辞書法とも呼ばれる)がある。
【0003】このスライド辞書法は、与えられた文字列
の中から現在の符号化を行っている文字の近傍の何文字
かを保存するバッファを用意し、このバッファを辞書と
して利用して、符号化を行う方法である。符号化が進む
につれ、このバッファに保存されている文字列は、与え
られた文字列中をスライドしていくことから、スライド
辞書法と呼ばれるようになった。
【0004】符号化における辞書の参照は、現時点で符
号化の対象となっている位置から始まる文字列に一致す
るバッファ中の文字列で最も長い最長一致系列を探すこ
とを基本としている。そして、そのような文字列が見つ
かれば、一致,不一致を示す1ビットの一致フラグを
“1”にして、見つかった文字列のバッファ中の位置と
その長さを適当な桁数の2進数で表したものを符号語と
する。また、そのような文字列がバッファ中になければ
一致フラグを“0”にして、符号化の対象となっている
1文字をそのまま(例えば、ASCIIコードで)出力
したものを符号語とする。
【0005】ここで、上記スライド辞書法において、辞
書内の位置を示す2進数のアドレスすなわちポインタ
は、辞書内の任意の位置を示す必要があるため、辞書の
サイズ,すなわちバッファの容量をNdsとすると、ポ
インタのサイズ(ビット数)としては、 [log (Nds−1)]+1 ビットを割り当てていた。なお、[]は小数点以下切捨
てのガウス記号である。具体的には、例えば、バッファ
の容量が256バイトとすると、そのアドレスは0番地
から255番地までとなるので、256−1=255と
する。そして、255の2を底とする対数を取ると、小
数点数となるので、小数点以下を切り捨てて7とする。
それに1を加えるので、ポインタのサイズは8ビットと
なる。
【0006】
【発明が解決しようとする課題】ところが、このような
従来の技術においては、符号化済みのデータ列が辞書に
格納されるものとすると、入力データ列のk番目のデー
タを圧縮又は伸長する場合に参照できる辞書の領域は、 k≦Ndsのときk−1 k>NdsのときNds であり、k−1≦Nds/2のときには、ポインタのサ
イズは、 [log (Nds−1)]+1 未満,すなわち、 [log (k−2)]+1 でよく、その差の分だけビットが無駄になっていた。こ
れは、辞書バッファ容量の半分までのデータ列の圧縮率
の低下を意味し、また、この圧縮方法(スライド辞書法)
が小さいサイズのデータ列に対して圧縮率が低い大きな
原因になっていた。
【0007】そこで、本発明はこのような問題点を解決
するためになされたものであり、入力データ列の先頭か
ら辞書バッファ容量の半分までのデータ列の圧縮率を従
来より高くすることが可能なデータ圧縮方法及びその装
置並びにデータ伸長方法及びその装置を提供することを
目的とするものである。
【0008】
【課題を解決するための手段】請求項1に記載の発明
は、入力データ列のうち、各時点で符号化の対象となる
データの近傍のデータ列を所定数量まで記憶手段に格納
し、格納されたデータ列を符号化のために参照する辞書
として用い、各時点で符号化の対象となっている位置か
ら始まるデータ列に一致する上記辞書内のデータ列で、
上記所定数量の範囲内の既定の上限以下で最も長い一致
データ列を検索し、当該一致データ列が見つかれば、一
致を示すフラグと、見つかったデータ列の辞書内の位置
を示すポインタと、その長さを示す長さ指示子とから符
号語を構成するとともに、上記一致データ列が見つから
なければ、不一致を示すフラグと、符号化の対象となっ
ているデータそのものとから符号語を構成することによ
り、データの圧縮を行うデータ圧縮方法において、上記
辞書内に格納されるデータ数を計数し、辞書内に格納さ
れたデータ数を2進数で表現可能な最小のビット数に上
記ポインタのビット数を設定し、設定したポインタのビ
ット数にて符号化を行うようにしたものである。
【0009】同様に、請求項2に記載の発明は、入力デ
ータ列のうち、各時点で符号化の対象となるデータの近
傍のデータ列を所定数量まで記憶手段に格納し、格納さ
れたデータ列を符号化のために参照する辞書として用
い、各時点で符号化の対象となっている位置から始まる
データ列に一致する上記辞書内のデータ列で、上記所定
数量の範囲内の既定の上限以下で最も長い一致データ列
を検索し、当該一致データ列が見つかれば、一致を示す
フラグと、見つかったデータ列の辞書内の位置を示すポ
インタと、その長さを示す長さ指示子とから符号語を構
成するとともに、上記一致データ列が見つからなけれ
ば、不一致を示すフラグと、符号化の対象となっている
データそのものとから符号語を構成することにより、デ
ータの圧縮を行うデータ圧縮装置において、上記辞書内
に格納されるデータ数を計数する計数手段と、この計数
手段で計数されたデータ数に基づき、このデータ数を2
進数で表現可能な最小のビット数に上記ポインタのビッ
ト数を設定する設定手段と、この設定手段で設定された
ポインタのビット数にて符号化を行う符号化手段とを備
えたものである。
【0010】また、請求項3に記載の発明は、上記請求
項2のデータ圧縮装置において、不揮発性半導体記憶手
段に書き込まれるプログラムやデータを圧縮するもので
ある。
【0011】一方、請求項4に記載の発明は、上記請求
項1記載のデータ圧縮方法または請求項2記載のデータ
圧縮装置によって圧縮された圧縮データを入力し、符号
語に含まれるフラグが不一致を示すときは、当該符号語
に含まれる他のデータを取り出して復号化するととも
に、当該データを復号化のために参照する所定数量の辞
書に入力し、また、符号語に含まれるフラグが一致を示
すときは、当該符号語に含まれるポインタと長さ指示子
とを用いて上記辞書内から対応するデータを取り出して
復号化するとともに、当該データを上記辞書に入力する
ことにより、圧縮データの伸長を行うデータ伸長方法で
あって、上記辞書内に格納されるデータ数を計数し、辞
書内に格納されたデータ数を2進数で表現可能な最小の
ビット数から上記ポインタのビット数を判別し、判別し
たポインタのビット数を用いて復号化を行うようにした
ものである。
【0012】同様に、請求項5に記載の発明は、請求項
1記載のデータ圧縮方法または請求項2記載のデータ圧
縮装置によって圧縮された圧縮データを入力し、符号語
に含まれるフラグが不一致を示すときは、当該符号語に
含まれる他のデータを取り出して復号化するとともに、
当該データを復号化のために参照する所定数量の辞書に
入力し、また、符号語に含まれるフラグが一致を示すと
きは、当該符号語に含まれるポインタと長さ指示子とを
用いて上記辞書内から対応するデータを取り出して復号
化するとともに、当該データを上記辞書に入力すること
により、圧縮データの伸長を行うデータ伸長装置であっ
て、上記辞書内に格納されるデータ数を計数する計数手
段と、この計数手段で計数されたデータ数に基づき、こ
のデータ数を2進数で表現可能な最小のビット数から上
記ポインタのビット数を判別する判別手段と、この判別
手段で判別されたポインタのビット数を用いて復号化を
行う復号化手段とを備えたものである。
【0013】また、請求項6に記載の発明は、上記請求
項5のデータ伸長装置において、プログラムやデータの
圧縮データが記憶された不揮発性半導体記憶手段から読
み出される圧縮データを伸長するものである。
【0014】
【作用】請求項1記載のデータ圧縮方法によれば、圧縮
データのうち、辞書内の位置を示すポインタのサイズ
(ビット数)を、辞書内に格納されたデータ数を2進数
で表現可能な最小のビット数に設定したので、入力デー
タ列の先頭から辞書容量の半分までのデータ列の圧縮率
を高くすることができる。
【0015】また、請求項2記載のデータ圧縮装置によ
れば、上記請求項1と同様の作用を有するとともに、圧
縮を高速に行なうことができる。
【0016】また、請求項3記載のデータ圧縮装置によ
れば、不揮発性半導体記憶手段に書き込まれるプログラ
ムやデータを圧縮するので、高価な記憶素子を効率的に
使用することができる。
【0017】一方、請求項4記載のデータ伸長方法よれ
ば、圧縮データにおけるポインタのビット数を、辞書内
に格納されたデータ数を2進数で表現可能な最小のビッ
ト数と判別し、復号化を行うようにしたので、上記によ
り圧縮されたデータを伸長することができる。
【0018】また、請求項5記載のデータ伸長装置によ
れば、上記請求項4と同様の作用を有するとともに、伸
長を高速に行なうことができる。
【0019】また、請求項6記載のデータ伸長装置によ
れば、不揮発性半導体記憶手段から読み出されるプログ
ラムやデータの圧縮データを、高速に伸長することがで
きる。
【0020】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は、本発明の一実施例に係るデータ圧縮装
置を示すブロック図である。図において、1は入力デー
タ列を一時保持する入力データバッファである。この入
力データバッファ1は、本実施例では、データバス幅8
ビット,アドレス8ビットで、計256バイトのシフト
レジスタで構成されており、アドレスFFh(hは16
進表記を意味し、この場合255番地,すなわち最上位
番地)にデータを入力することにより、各番地のデータ
はアドレスの若い方に向かってシフトされる。また、後
述する最長一致データ列検索装置3からの検索終了信号
(トリガ)を受けると、一致データ列有/無フラグが
“1”の時は、一致データ列長の示すバイト数だけ新た
なデータを入力し、バッファ内のデータはそのバイト数
分だけ順次シフトされる。また、一致データ列有/無フ
ラグが“0”の場合は、新たなデータを1バイト入力
し、バッファ内のデータは1バイトシフトされる。
【0021】2は前述したスライド辞書法に基づくスラ
イド辞書が格納される辞書バッファであり、本実施例で
は、この辞書バッファ2もデータバス幅8ビット,アド
レス8ビットで、計256バイトのシフトレジスタで構
成されている。入力データは、辞書バッファ2に空きが
ある時,すなわち辞書サイズ(dic_size)<2
56の時は、この辞書サイズ(dic_size)をア
ドレスとしてラッチされる(D(dic_size)=
入力データ)。一方、辞書バッファ2が満杯の時,すな
わち辞書サイズ(dic_size)=256の時は、
まず辞書データをアドレス00hに向かってシフト(D
(n)=D(n+1),n=1,2,・・・,254)
してからアドレスFFhにラッチされる。後述する最長
一致データ列検索時は、最長一致データ列検索装置3の
制御によるアドレスの示すデータを出力し、辞書データ
の検索が行なわれる。
【0022】最長一致データ列検索装置3は、上記入力
データバッファ1のアドレス00hを先頭とするデータ
列と最も長く一致する2バイト以上のデータ列を、上記
256バイトの辞書バッファ2のうち、後述する辞書サ
イズカウンタ4の出力する辞書サイズ(dic_siz
e)の示す領域の中から検索するものである。この検索
の結果、一致データ列が見つかった場合は、一致データ
列有/無フラグを“1”にして、一致データ列の先頭デ
ータの辞書上の位置(アドレス)を示す一致データ列ポ
インタ(crspd_point)、及び一致データ列
の長さ(バイト数)を示す長さ指示子である一致データ
列長(crspd_len)を後述する符号化装置6に
出力するとともに、一致データ列を辞書バッファ2に出
力する。見つからなかった場合は、一致データ列有/無
フラグを“0”にして、生データ1バイトを符号化装置
6及び辞書バッファ2に出力する。
【0023】また、本実施例では、この最長一致データ
列検索装置3から辞書バッファ2にデータ列を出力する
際、1バイト出力する毎に辞書サイズカウンタ4にイン
クリメント信号を出力する。出力を終えると、最長一致
データ列検索装置3は符号化装置6に対して検索終了信
号(トリガー)を出力し、一回の最長一致データ列検索
処理を終える。また、符号化装置6からの符号化終了信
号(トリガー)を受けると、再び上述した最長一致検索
処理を開始する。
【0024】辞書サイズカウンタ4は、本願発明におい
て備えられた計数手段に相当するもので、カウント最大
値が256に設定されたアップカウンタで構成され、圧
縮開始時に図示しないシステムリセット信号によりリセ
ットされる。そして、上述した最大一致データ列検索装
置3からのインクリメント信号によりカウントアップ
し、最大値(256)に達すると、以降その値を保持す
る。この辞書サイズカウンタ4の出力(辞書サイズdi
c_size)は、上記最長一致データ列検索装置3及
び下記ポインタサイズジェネレータ5に出力される。
【0025】ポインタサイズジェネレータ5は、本願発
明において備えられた設定手段に相当するもので、ゲー
ト回路からなるエンコーダで構成され、上記辞書サイズ
カウンタ4からの出力値(辞書サイズdic_siz
e)を元にして対応するポインタサイズ,すなわち一致
データ列ポインタのビット数を生成し、符号化装置6に
出力する。このポインタサイズジェネレータ5の入力
(辞書サイズdic_size)と出力(ポインタサイ
ズ)の対応表を図2に示す。なお、辞書サイズが0,1
のときは、2バイト以上のデータ列は存在しないので、
ポインタは無い。また、辞書サイズが2のときは、アド
レス00hから2バイトの一致データ列しかありえない
ので、ポインタは必要ない。辞書サイズが3以上のとき
は各々必要なビット数をポインタに割り当てる。
【0026】符号化装置6は、本願発明における符号化
手段に相当するもので、従来からある符号化装置に後述
する本願特有の機能が付加されたものである。この符号
化装置6は、前記最長一致データ列検索装置3からの検
索終了信号をトリガにして符号化処理を開始し、符号化
された圧縮データビットストリームを出力データ同期ク
ロックとともに出力する。すなわち、まず、一致データ
列有/無フラグ1ビットを出力する。次に、このフラグ
が“0”のときは、生データを8ビット(1バイト)を
LSB(最下位ビット)から順次出力する。また、フラ
グが“1”のときは、先ず一致データ列長(crspd
_len)2〜256から1を引いた8ビット(1〜2
55)をLSBから順次出力する。次に、一致データ列
ポインタ(crspd_point)8ビットのうち、
LSBからポインタサイズジェネレータ5の出力するポ
インタサイズが表すビット数分だけ順次出力する。これ
らの圧縮データビットストリームの出力が終わると、符
号化終了信号を最長一致データ列検索装置3に出力す
る。
【0027】次に、このように構成されたデータ圧縮装
置の動作について説明する。圧縮の対象となる入力デー
タ列は、256バイトの入力データバッファ1に一旦蓄
えられる。ここでは、先頭部分が例えば文字列(ASC
IIコード)“abcabd・・・”となる入力データ
列を例に取って以下の説明を行う。
【0028】最長一致データ列検索装置3は、図3にフ
ローチャートで示すアルゴリズムに従って最長一致デー
タ列検索処理を実行する。すなわち、先ずステップ10
1で、9ビット(0〜256)の一致データ列長(cr
spd_len)を0に初期化し、辞書バッファ2のア
ドレスを示す8ビット(0〜255)の辞書ポインタ
(dic_point)を0に初期化,すなわち辞書の
先頭に初期化する。また、ステップ102で一時的(テ
ンポラリ)な一致データ列長(comp_len)を0
に初期化し、入力データバッファ1のアドレスを示す8
ビット(0〜255)の入力データバッファポインタ
(str_point)を0に初期化,すなわち入力デ
ータ列の先頭に初期化する。
【0029】次に、ステップ103で、上記入力データ
バッファポインタ(str_point)に対応する入
力データ(S),すなわち“a”と辞書ポインタ(di
c_point)に対応する辞書データ(D)とが一致
するか否かを判別する。今、辞書バッファ2には未だデ
ータが入力されていないので、不一致となってステップ
104に進み、辞書ポインタ(dic_point)を
インクリメントし、ステップ105で、辞書ポインタ
(dic_point)が辞書サイズカウンタ4の出力
する辞書サイズ(dic_size)以上となったか否
かを判別する。辞書サイズカウンタ4は圧縮開始時にシ
ステムリセット信号によりリセットされて0となってい
るので、このステップ105の判別は(Y)となってス
テップ113に進む。
【0030】ステップ113では、一致データ列長(c
rspd_len)が2以上か否かが判別される。すな
わち、一致データ列長が1バイト以下では圧縮する意味
がないので、ステップ115に進んで一致データ列有/
無フラグ(crspd_flag)を0とし、一致デー
タ列長が2バイト以上であれば有効な一致データ列を検
出したとして、ステップ114に進んで該フラグを1と
する。今、一致データ列長(crspd_len)はス
テップ101で初期化されたままで0であるので、ステ
ップ113からステップ115に進んで一致データ列有
/無フラグ(crspd_flag)を0とする。ま
た、この時、入力データ列の先頭データである生データ
1バイト“a”を符号化装置6と辞書バッファ2に出力
するとともに、辞書サイズカウンタ4にインクリメント
信号を出力する。そして、ステップ116に進んで検索
終了信号を符号化装置6と入力データバッファ1に出力
し、一回目の検索処理を終了する。
【0031】符号化装置6は、上述した最長一致データ
列検索装置3からの検索終了信号をトリガーにして図4
にフローチャートで示す符号化処理を開始する。すなわ
ち、ステップ201で最長一致データ列検索装置3から
の一致データ列有/無フラグ1ビットを圧縮データビッ
トストリームとして出力する。次に、ステップ202で
上記一致データ列有/無フラグが1か否かを判別する。
今、該フラグは0であるので、ステップ203に進ん
で、最長一致データ列検索装置3からの生データ8ビッ
ト(1バイト“a”)をLSB(最下位ビット)から順
次出力する。そして、ステップ206に進み、符号化終
了信号を最長一致データ列検索装置3に出力し、一回目
の符号化処理を終了する。
【0032】上記符号化装置6からの符号化終了信号を
トリガーにして最長一致データ列検索装置3が起動さ
れ、図3のフローチャートで示す処理が実行される。こ
こで、2回目,3回目の最長一致データ列検索処理にお
いても、入力データ列の先頭データはそれぞれ“b”,
“c”となるので、入力データ列の先頭データと一致す
るデータを辞書の中から検索するステップ103〜10
5の処理において一致データ列は見つからず、上記と同
様な検索処理及び符号化処理となる。そして、辞書バッ
ファ2には、入力データ列の先頭からの3バイト“ab
c”が格納され、辞書サイズカウンタ4から出力される
辞書サイズ(dic_size)は3を示し、ポインタ
サイズジェネレータ5の出力するポインタサイズは1と
なる(図2参照)。
【0033】さて、次の4回目の検索処理において、入
力データ列の先頭データは“a”となる。図3のフロー
チャートのステップ103において、入力データバッフ
ァポインタ(str_point)に対応する入力デー
タ(S),すなわち“a”と辞書ポインタ(dic_p
oint)に対応する辞書データ(D),すなわち
“a”とが一致する。従って、ステップ106に進ん
で、入力データバッファポインタ(str_poin
t),辞書ポインタ(dic_point)及びテンポ
ラリ一致データ列長(comp_len)がそれぞれイ
ンクリメントされ、それぞれ1となる。次に、ステップ
107では、辞書ポインタ(dic_point)が辞
書サイズ(dic_size)以上になったか否かが判
定され、辞書ポインタは1で辞書サイズは3であるの
で、ステップ108に進む。このステップ108では、
入力データバッファポインタ(str_point)に
対応する入力データ(S)と辞書ポインタ(dic_p
oint)に対応する辞書データ(D)との一致が判別
され、それぞれ“b”となって一致するので、ステップ
106に戻って上述したインクリメントが行われ、入力
データバッファポインタ(str_point),辞書
ポインタ(dic_point),テンポラリ一致デー
タ列長(comp_len)はそれぞれ2となる。
【0034】次のステップ107では辞書ポインタが2
で辞書サイズの3以上とならないので、ステップ108
に進む。ここで、入力データバッファポインタ(str
_point)に対応する入力データ(S)は“d”で
辞書ポインタ(dic_point)に対応する辞書デ
ータ(D)は“c”であり、一致しないのでステップ1
09に進み、テンポラリ一致データ列長(comp_l
en)が一致データ列長(crspd_len)より大
きいか否かが判別される。テンポラリ一致データ列長
(comp_len)は2で、一致データ列長(crs
pd_len)はステップ101で初期化されたままで
0であるので、ステップ110に進む。ステップ110
では、一致データ列長(crspd_len)にテンポ
ラリ一致データ列長(comp_len)の値2が代入
され、8ビット(0〜255)の一致データ列ポインタ
(crspd_point)には辞書ポインタ(dic
_point)から一致データ列長(crspd_le
n)を引いた値0が代入され、また辞書ポインタ(di
c_point)が一致データ列長(crspd_le
n)から1を引いた値分(ここでは1)だけデクリメント
されて1となり、ステップ102に戻る。なお、上記ス
テップ107で辞書ポインタが辞書サイズ以上になる
と、ステップ111,112において上記ステップ10
9,110と同様の一致データ列長の更新処理が行われ
る。また、ステップ109の判別の時点で既に一致デー
タ列長(crspd_len)に値が代入されており、
この値がテンポラリ一致データ列長(comp_le
n)の値以上の場合は、上記ステップ110の処理は行
わずに、ステップ102に戻る。
【0035】さて、ステップ102では、テンポラリ一
致データ列長(comp_len)が0に初期化される
とともに、入力データバッファポインタ(str_po
int)が入力データ列の先頭に初期化される。この時
点で、入力データ列の先頭データは“a”で、辞書ポイ
ンタ(dic_point)の値1に対応するデータは
“b”であって、それ以降にも一致するデータはないの
で、ステップ103〜105のループを1回廻って、ス
テップ104で辞書ポインタの値が3となると、ステッ
プ105で辞書サイズの値3と等しくなるので、ステッ
プ113に進む。ステップ113では、一致データ列長
(crspd_len)の値が2であるので、2以上の
条件が満たされ、ステップ114に進んで一致データ列
有/無フラグを“1”とする。また、この時、一致デー
タ列の先頭データの辞書上の位置(アドレス)を示す一
致データ列ポインタ(crspd_point)の値0
及び一致データ列の長さ(バイト数)を示す一致データ
列長(crspd_len)の値2を符号化装置6に出
力し、一致データ列“ab”を辞書に出力するととも
に、1バイト出力する毎に辞書サイズカウンタ4にイン
クリメント信号を出力する。そして、ステップ116に
進んで検索終了信号を符号化装置6と入力データバッフ
ァ1に出力し、今回の検索処理を終了する。
【0036】符号化装置6は、同様に、この検索終了信
号をトリガーにして図4にフローチャートで示す符号化
処理を開始する。ステップ201で最長一致データ列検
索装置3からの一致データ列有/無フラグ1ビットを圧
縮データビットストリームとして出力する。次に、ステ
ップ202で上記一致データ列有/無フラグが1か否か
を判別する。今、該フラグは1であるので、ステップ2
04に進んで、9ビットの一致データ列長(2〜25
6)から1を引いて下位8ビット(1〜255)をLS
Bから順次出力する。次に、ステップ205に進んで、
一致データ列ポインタ(crspd_point)8ビ
ットの内、LSBからポインタサイズジェネレータ5の
出力するポインタサイズの示すビット数分だけ順次出力
する(ここでは1ビット)。そして、ステップ206に
進み、符号化終了信号を最長一致データ列検索装置3に
出力し、今回のの符号化処理を終了する。このとき符号
化装置6から出力される圧縮データビットストリーム
は、一致データ列有/無フラグ1ビットと一致データ列
長8ビットと一致データ列ポインタ1ビットの計10ビ
ットとなり、2バイト,すなわち16ビットのデータが
10ビットに圧縮されたことになる。これに対してビッ
トサイズ等が同じ条件の従来技術の場合、一致データ列
有/無フラグ1ビット,一致データ列長8ビット及び一
致データ列ポインタ8ビットの計17ビットとなり、圧
縮の意味を無さないため、一致データ列有/無フラグ1
ビットと生データ8ビットずつとすると計18ビットに
なってしまう。また、例えば、入力データ列が“abc
abc・・・”となる3バイト(24ビット)一致の場
合では、本実施例では24ビットが10ビットに、従来
技術では24ビットが17ビットに圧縮される。従っ
て、本実施例による圧縮処理の方が圧縮率が格段に良い
ことがわかる。
【0037】以上のような最長一致データ列検索処理及
び符号化処理が繰り返し行われて、符号化装置6から出
力される圧縮データビットストリームのフォーマット
は、図5の示すようになる。すなわち、図5において、
Fnはそれに続くデータDnに対する圧縮フラグ(一致
データ列有/無フラグ)1ビットで、“0”のときは非
圧縮データ、“1”のときは圧縮データを表している。
また、データDnは上記フラグFnに対するデータで、
フラグFnが“0”の時は生データ1バイト(LSBか
ら8ビット)、“1”のときは圧縮データが8〜16ビ
ットの範囲となる。このフラグFn=1の時の圧縮デー
タDnは、8ビットの一致データ列長(crspd_l
en)がLSBから順に並べられ、その後に0〜8ビッ
ト可変長の一致データ列ポインタ(crspd_poi
nt)がLSBから順に並べられる。8ビットの一致デ
ータ列長(crspd_len)は、1〜255で2〜
256の長さを表し、0〜8ビット可変長の一致データ
列ポインタ(crspd_point)は一致データ列
の辞書内の先頭アドレスを示しており、図2に示したよ
うに辞書サイズに対応している。すなわち、辞書サイズ
が129バイト(辞書バッファ2のほぼ半分)まではポ
インタの対応する下位ビットのみが必要となり、それ以
外の上位ビットは冗長ビットなって不要となり、ポイン
タサイズは0〜7ビットとなる。従って、その分だけ従
来技術に比べて圧縮率が向上する。
【0038】従って、このデータ圧縮装置(方法)を通
信装置や記憶装置に適用することにより、従来技術に比
して転送データ量や記憶データ量が少なくなるので、転
送速度の向上や記憶容量の削減を図ることができる。特
に、本願発明の対象とするスライド辞書法が不得意とす
る小さいサイズ(辞書サイズと比して)のデータ列を圧
縮する際に効果的である。また、記憶容量の削減に関し
ては、ROM等の不揮発性半導体記憶素子を用いる例え
ばゲームカセット等において、高価な記憶素子を効率的
に使用することができる。また、このゲームカセットに
おいては、小さいサイズのプログラムやデータが多数格
納されるので、更に効果的である。
【0039】なお、上記実施例では、圧縮の高速化を図
るためデータ圧縮装置を実現したが、高速性が余り要求
されない分野、例えばゲームカセット用ROMへのプロ
グラムやデータの書き込み等においては、上述した処理
をソフトウエアで実現し、コンピュータにより実行する
ようにしても良い。
【0040】図6は、本発明の一実施例に係るデータ伸
長装置を示すブロック図であり、上述したデータ圧縮装
置により圧縮されて転送又は記憶された圧縮データビッ
トストリームを伸長するものである。
【0041】11は本発明における復号化手段に相当す
るデマルチプレクサであり、従来からあるデマルチプレ
クサに後述する本願特有の機能が付加されたものであ
る。このデマルチプレクサ11は図5に示した圧縮デー
タビットストリームを入力とし、入力データの先頭ビッ
トにあるフラグFnで圧縮か非圧縮かを判断し、必要な
ビット数のデータ(Dn)を入力する。すなわち、非圧
縮(Fn=0)であれば、続く8ビットを蓄えてバイト
データとして伸長データ列に出力するとともに、辞書バ
ッファ12に書き込む。なお、伸長データ列の出力は出
力データ同期用クロックとともに行われ、辞書バッファ
12への書き込みはライトクロックとシフトクロックに
より行われる。この辞書バッファ12への書込みは、辞
書バッファ12に空きがあれば(dic_size<2
56)、ライトアドレスは辞書サイズdic_size
となり、書き込んだ後、辞書サイズカウンタ13にイン
クリメント信号を出力する。また、辞書バッファ12が
満杯であれば(dic_size=256)、まず辞書
データをアドレス00hに向かってシフト(D(n)=
D(n+1),n=0,1,・・・,254)してか
ら、アドレスFFhに書き込む。一方、圧縮(Fn=
1)の時は、これに続くデータDnのビット数を、ポイ
ンタサイズジェネレータ14の出力するポインタサイズ
を参照して“8+ポインタサイズ(point_siz
e)”と決める。そして、先ず8ビットを入力し、1バ
イトの一致データ列長(crspd_len)を構成す
る。さらに、ポインタサイズ(point_size)
のビット数分入力し、8ビットに足りない上位(8−p
oint_size)ビットに“0”を補充し、8ビッ
トの一致データ列ポインタ(crspd_point)
を構成する。このようにして得られた一致データ列ポイ
ンタ(crspd_point)と一致データ列長(c
rspd_len)を元にして、辞書バッファ12内の
一致データ列を参照する。まず、一致データ列ポインタ
(csrpd_point)の示すアドレスの辞書デー
タD(csrpd_point)を読み出す。このデー
タを伸長データとして出力し、一致データ列長(crs
pd_len)をデクリメントする。また、伸長された
データD(csrpd_point)を辞書バッファ1
2に書き込む。上記同様、辞書バッファ12に空きがあ
れば(dic_size<256)、ライトアドレスは
辞書サイズdic_sizeとなる(D(dic_si
ze)=D(crspd_point)。そして、辞書
サイズカウンタ13にインクリメント信号を出力し、一
致データ列ポインタ(crspd_point)をイン
クリメントする。一方、辞書バッファ12が満杯であれ
ば(dic_size=256)、まず辞書データをア
ドレス00hに向かってシフト(D(n)=D(n+
1),n=0,1,・・・,254)してから、アドレ
スFFhに書き込む(D(255)=D(crspd_
point))。そして、一致データ列ポインタ(cr
spd_point)のインクリメントは行わない。一
致データ列長(crspd_len)のデクリメント処
理においてボローがでたら1回の復号化処理を終了し、
入力データの次のフラグのチェックを行う。すなわち、
一致データ列長(crspd_len)は、(実際の一
致データ列長)−1の値を表しているので、00hにな
るまでではなく、ボローが出てFFhになるまでが実際
の一致データ列長の処理となる。
【0042】辞書バッファ12は、前記データ圧縮装置
の辞書バッファ2と同様なもので、データバス8ビッ
ト,アドレス8ビットで、計256バイトのシフトレジ
スタで構成されている。デマルチプレクサ11からの入
力データは、上述したように、辞書バッファ12に空き
がある時,すなわち辞書サイズ(dic_size)<
256の時は、この辞書サイズ(dic_size)を
アドレスとしてラッチされる(D(dic_size)
=入力データ)。一方、辞書バッファ12が満杯の時,
すなわち辞書サイズ(dic_size)=256の時
は、まず辞書データをアドレス00hに向かってシフト
(D(n)=D(n+1),n=1,2,・・・,25
4)してからアドレスFFhにラッチされる。また、デ
マルチプレクサ11の制御により、指定されたアドレス
(crspd_point)のデータが読み出され、デ
マルチプレクサ11に出力する。
【0043】辞書サイズカウンタ13は、本願発明にお
いて備えられた計数手段に相当するもので、カウント最
大値が256に設定されたアップカウンタで構成され、
伸長開始時に図示しないシステムリセット信号によりリ
セットされる。そして、上述したデマルチプレクサ11
からのインクリメント信号によりカウントアップし、最
大値(256)に達すると、以降その値を保持する。こ
の辞書サイズカウンタ13からの辞書サイズ(dic_
size)は、ポインタサイズジェネレータ14とデマ
ルチプレクサ11に出力される。
【0044】ポインタサイズジェネレータ14は、本願
発明において備えられた判別手段に相当するもので、ゲ
ート回路からなるエンコーダで構成され、上記辞書サイ
ズカウンタ13からの出力値(辞書サイズ)を元にして
対応するポインタサイズ(point_size),す
なわち一致データ列ポインタのビット数を生成し、デマ
ルチプレクサ11に出力する。このポインタサイズジェ
ネレータ14の入力(辞書サイズ)と出力(ポインタサ
イズ)の対応関係は図2に示した通りである。
【0045】次に、このように構成されたデータ伸長装
置の動作について説明する。ここでは、前記データ圧縮
装置の動作説明で用いた具体例による圧縮データビット
ストリームを伸長するものとして説明する。この圧縮デ
ータビットストリームは、図5のFn,Dnで示すと、
F0=0,D0=“a”,F1=0,D1=“b”,F
2=0,D2=“c”,F3=1,D3=000000
010,F4=0,D4=“d”・・・となる。
【0046】本データ伸長装置が起動され、上述した圧
縮データビットストリームがデマルチプレクサ11に入
力されると、デマルチプレクサ11は図7にフローチャ
ートで示す処理を開始する。すなわち、ステップ301
で入力データ列の先頭ビット(フラグF0)が1か否か
を判別する。今、入力データの先頭ビットF0=0であ
るので、ステップ302に進み、次の8ビット(D0=
“a”)を入力し、バイトデータとして伸長データ列に
出力する。次に、ステップ303で辞書バッファ12に
空きが有るか否かを辞書サイズ(dic_size)よ
り判別し、空きが有れば(dic_size<25
6)、ステップ304に進んで、辞書サイズカウンタ1
3の示す辞書サイズ(dic_size)をアドレスと
して辞書バッファ12に上記バイトデータを書き込む。
今、辞書サイズ(dic_size)は0であるので、
辞書バッファ12のアドレス00hにデータD0=
“a”が書き込まれる。この後、ステップ305で辞書
サイズカウンタ13にインクリメント信号を出力してカ
ウントアップし、ステップ301にもどる。なお、辞書
バッファ12に空きがなければ(dic_size=2
56)、ステップ306に進み、辞書データをアドレス
00hに向かってシフトしてからアドレスFFhに書き
込む。
【0047】次の入力データのフラグF1=0,データ
D1=“b”,その次のフラグF2=0,データD2=
“c”であるので、ステップ301〜305を2回繰り
返し、伸長データ列には“a”の次に“b”,“c”が
出力される。また、今、辞書バッファ12には、アドレ
ス00hから“a”,“b”,“c”が順に格納され、
辞書サイズカウンタ13から出力される辞書サイズ(d
ic_size)は3となり、ポインタサイズジェネレ
ータ14から出力されるポインタサイズ(point_
size)は1となる(図2参照)。
【0048】さて、次の入力データの先頭ビットである
フラグF3=1となるので、ステップ301からステッ
プ307に進み、次の8ビット(00000001)を
入力し、1バイトの一致データ列長を構成する。次のス
テップ308では、ポインタサイズビット(1ビッ
ト),すなわち0を入力し、8ビットに足りなり上位ビ
ットに0を補充して、8ビットの一致データ列ポインタ
(00000000)を構成する。次に、ステップ30
9に進み、辞書バッファ12から上記一致データ列ポイ
ンタ00hのデータ“a”を読み出して、伸長データと
して出力する。そして、ステップ310で一致データ列
長(00000001)をデクリメントする。次に、ス
テップ311で辞書バッファ12に空きが有るか否かを
辞書サイズ(dic_size)より判別し、空きが有
れば(dic_size<256)、ステップ312に
進んで、辞書サイズカウンタ13の示す辞書サイズ(d
ic_size)をアドレスとして辞書バッファ12に
伸長データを書き込む。今、辞書サイズ(dic_si
ze)は3であるので、辞書バッファ12のアドレス0
3hに伸長データ“a”が書き込まれる。この後、ステ
ップ313で辞書サイズカウンタ13にインクリメント
信号を出力してカウントアップし、ステップ314で一
致データ列ポインタ(00h)をインクリメントして、
ステップ316に進む。なお、辞書バッファ12に空き
がなければ(dic_size=256)、ステップ3
15に進み、辞書データをアドレス00hに向かってシ
フトしてからアドレスFFhに書き込み、一致データ列
ポインタをインクリメントすることなく、ステップ31
6に進む。
【0049】ステップ316では、一致データ列長がボ
ローが出たか否かが判別される。一致データ列長は00
hでまだボローは出ていないので、ステップ309に戻
る。そして、上記と同様に、辞書バッファ12から一致
データ列ポインタ01hのデータ“b”を読み出して、
伸長データとして出力するとともに(ステップ30
9)、一致データ列長00hをデクリメントし(ステッ
プ310)、上記データ“b”を辞書バッファ12に書
き込む(ステップ312)。そして、辞書サイズカウン
タ13にインクリメント信号を出力し(ステップ31
3)、一致データ列ポインタをインクリメントし(ステ
ップ314)、ステップ316に進む。ここで、一致デ
ータ列長は上記ステップ310におけるデクリメントに
よりボローが出でFFhとなっているので、最初のステ
ップ301に戻る。そして、入力データ列の次の先頭ビ
ット(フラグF4)は0であるので、ステップ302に
進み、上記と同様な処理が繰り返される。このようにし
て、伸長データ列として“abcabd・・・”が得ら
れ、前述したデータ圧縮装置で圧縮する前の入力データ
列が復元できたことになる。
【0050】なお、上記実施例では、伸長処理の高速化
を図るためデータ伸長装置を実現したが、高速性が余り
要求されない分野においては、上述した処理をソフトウ
エアで実現し、コンピュータにより実行するようにして
も良い。
【0051】また、ROMやバッテリーバックアップさ
れたRAM等の高価な不揮発性半導体記憶手段に、小さ
いサイズのプログラムやデータが多数格納され、高速な
読み出しが要求されるゲームカセット等においては、上
述したデータ伸長装置を組み込むことにより、上記各条
件が満たされるので、特に効果的である。
【0052】また、上記各実施例においては、データ圧
縮装置及びデータ伸長装置の辞書バッファ2、12にシ
フトレジスタを用いた場合について示したが、これらの
辞書バッファに通常のメモリを用い、書き込みアドレス
を順次サイクリックに更新することにより、辞書内容を
上書きにより順次更新し、これによりスライド辞書を実
現するようにしても良い。
【0053】
【発明の効果】請求項1記載の発明によれば、スライド
辞書法を用いてデータの圧縮を行うデータ圧縮方法にお
いて、辞書内に格納されるデータ数を計数し、辞書内に
格納されたデータ数を2進数で表現可能な最小のビット
数に一致データ列ポインタのビット数を設定し、設定し
たポインタのビット数にて符号化を行うようにしたの
で、入力データ列の先頭から辞書容量の半分までのデー
タ列の圧縮率を従来よりも高くすることができる効果が
有る。従って、この発明を通信装置や記憶装置に適用す
ることにより、従来技術に比して転送データ量や記憶デ
ータ量が少なくなるので、転送速度の向上や記憶容量の
削減を図ることができる。特に、本願発明の対象とする
スライド辞書法が不得意とする小さいサイズ(辞書サイ
ズと比して)のデータ列を圧縮する際に効果的である。
【0054】また、請求項2記載の発明によれば、スラ
イド辞書法を用いてデータの圧縮を行うデータ圧縮装置
において、辞書内に格納されるデータ数を計数する計数
手段と、この計数手段で計数されたデータ数に基づき、
このデータ数を2進数で表現可能な最小のビット数に一
致データ列ポインタのビット数を設定する設定手段と、
この設定手段で設定されたポインタのビット数にて符号
化を行う符号化手段とを備えたので、上記請求項1と同
様な効果が得られるとともに、圧縮を高速に行なうこと
ができる効果がある。
【0055】また、請求項3記載の発明によれば、不揮
発性半導体記憶手段に書き込まれるプログラムやデータ
を圧縮するので、高価な記憶素子を効率的に使用するこ
とができる効果がある。
【0056】一方、請求項4記載の発明によれば、上記
請求項1記載のデータ圧縮方法または請求項2記載のデ
ータ圧縮装置によって圧縮された圧縮データを伸長する
データ伸長方法であって、辞書内に格納されるデータ数
を計数し、辞書内に格納されたデータ数を2進数で表現
可能な最小のビット数から一致データ列ポインタのビッ
ト数を判別し、判別したポインタのビット数を用いて復
号化を行うようにしたので、上記により圧縮されたデー
タを伸長することができる効果がある。
【0057】また、請求項5記載の発明によれば、請求
項1記載のデータ圧縮方法または請求項2記載のデータ
圧縮装置によって圧縮された圧縮データを伸長するデー
タ伸長装置であって、辞書内に格納されるデータ数を計
数する計数手段と、この計数手段で計数されたデータ数
に基づき、このデータ数を2進数で表現可能な最小のビ
ット数から一致データ列ポインタのビット数を判別する
判別手段と、この判別手段で判別されたポインタのビッ
ト数を用いて復号化を行う復号化手段とを備えたので、
上記請求項4と同様の効果を有するとともに、伸長を高
速に行なうことができる効果がある。
【0058】また、請求項6記載の発明によれば、不揮
発性半導体記憶手段から読み出されるプログラムやデー
タの圧縮データを高速に伸長できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係るデータ圧縮装置を示す
ブロック図。
【図2】上記実施例における辞書サイズとポインタサイ
ズの対応表を示す図。
【図3】上記実施例のおける最長一致データ列検索装置
の動作を示すフローチャート。
【図4】上記実施例における符号化装置の動作を示すフ
ローチャート。
【図5】上記実施例における圧縮データビットストリー
ムの説明図。
【図6】本発明の一実施例に係るデータ伸長装置を示す
ブロック図。
【図7】上記実施例のおけるデマルチプレクサの動作を
示すフローチャート。
【符号の説明】
2,12 辞書バッファ 3 最長一致データ列検索装置 4,13 辞書サイズカウンタ 5,14 ポインタサイズジェネレータ 6 符号化装置 11 デマルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−314430(JP,A) 特開 平2−233025(JP,A) 特開 平3−68219(JP,A) 特開 平3−204232(JP,A) 特開 平3−204233(JP,A) 特開 平3−78322(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力データ列のうち、各時点で符号化の
    対象となるデータの近傍のデータ列を所定数量まで記憶
    手段に格納し、格納されたデータ列を符号化のために参
    照する辞書として用い、各時点で符号化の対象となって
    いる位置から始まるデータ列に一致する上記辞書内のデ
    ータ列で、上記所定数量の範囲内の既定の上限以下で最
    も長い一致データ列を検索し、当該一致データ列が見つ
    かれば、一致を示すフラグと、見つかったデータ列の辞
    書内の位置を示すポインタと、その長さを示す長さ指示
    子とから符号語を構成するとともに、上記一致データ列
    が見つからなければ、不一致を示すフラグと、符号化の
    対象となっているデータそのものとから符号語を構成す
    ることにより、データの圧縮を行うデータ圧縮方法にお
    いて、 上記辞書内に格納されるデータ数を計数し、辞書内に格
    納されたデータ数を2進数で表現可能な最小のビット数
    に上記ポインタのビット数を設定し、設定したポインタ
    のビット数にて符号化を行うことを特徴とするデータ圧
    縮方法。
  2. 【請求項2】 入力データ列のうち、各時点で符号化の
    対象となるデータの近傍のデータ列を所定数量まで記憶
    手段に格納し、格納されたデータ列を符号化のために参
    照する辞書として用い、各時点で符号化の対象となって
    いる位置から始まるデータ列に一致する上記辞書内のデ
    ータ列で、上記所定数量の範囲内の既定の上限以下で最
    も長い一致データ列を検索し、当該一致データ列が見つ
    かれば、一致を示すフラグと、見つかったデータ列の辞
    書内の位置を示すポインタと、その長さを示す長さ指示
    子とから符号語を構成するとともに、上記一致データ列
    が見つからなければ、不一致を示すフラグと、符号化の
    対象となっているデータそのものとから符号語を構成す
    ることにより、データの圧縮を行うデータ圧縮装置にお
    いて、 上記辞書内に格納されるデータ数を計数する計数手段
    と、この計数手段で計数されたデータ数に基づき、この
    データ数を2進数で表現可能な最小のビット数に上記ポ
    インタのビット数を設定する設定手段と、この設定手段
    で設定されたポインタのビット数にて符号化を行う符号
    化手段とを備えたことを特徴とするデータ圧縮装置。
  3. 【請求項3】 不揮発性半導体記憶手段に書き込まれる
    プログラムやデータを圧縮することを特徴とする請求項
    2記載のデータ圧縮装置。
  4. 【請求項4】 請求項1記載のデータ圧縮方法または請
    求項2記載のデータ圧縮装置によって圧縮された圧縮デ
    ータを入力し、符号語に含まれるフラグが不一致を示す
    ときは、当該符号語に含まれる他のデータを取り出して
    復号化するとともに、当該データを復号化のために参照
    する所定数量の辞書に入力し、また、符号語に含まれる
    フラグが一致を示すときは、当該符号語に含まれるポイ
    ンタと長さ指示子とを用いて上記辞書内から対応するデ
    ータを取り出して復号化するとともに、当該データを上
    記辞書に入力することにより、圧縮データの伸長を行う
    データ伸長方法であって、 上記辞書内に格納されるデータ数を計数し、辞書内に格
    納されたデータ数を2進数で表現可能な最小のビット数
    から上記ポインタのビット数を判別し、判別したポイン
    タのビット数を用いて復号化を行うことを特徴とするデ
    ータ伸長方法。
  5. 【請求項5】 請求項1記載のデータ圧縮方法または請
    求項2記載のデータ圧縮装置によって圧縮された圧縮デ
    ータを入力し、符号語に含まれるフラグが不一致を示す
    ときは、当該符号語に含まれる他のデータを取り出して
    復号化するとともに、当該データを復号化のために参照
    する所定数量の辞書に入力し、また、符号語に含まれる
    フラグが一致を示すときは、当該符号語に含まれるポイ
    ンタと長さ指示子とを用いて上記辞書内から対応するデ
    ータを取り出して復号化するとともに、当該データを上
    記辞書に入力することにより、圧縮データの伸長を行う
    データ伸長装置であって、 上記辞書内に格納されるデータ数を計数する計数手段
    と、この計数手段で計数されたデータ数に基づき、この
    データ数を2進数で表現可能な最小のビット数から上記
    ポインタのビット数を判別する判別手段と、この判別手
    段で判別されたポインタのビット数を用いて復号化を行
    う復号化手段とを備えたことを特徴とするデータ伸長装
    置。
  6. 【請求項6】 プログラムやデータの圧縮データが記憶
    された不揮発性半導体記憶手段から読み出される圧縮デ
    ータを伸長することを特徴とする請求項5記載のデータ
    伸長装置。
JP27433094A 1994-10-14 1994-10-14 データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 Expired - Fee Related JP3143030B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27433094A JP3143030B2 (ja) 1994-10-14 1994-10-14 データ圧縮方法及びその装置並びにデータ伸長方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27433094A JP3143030B2 (ja) 1994-10-14 1994-10-14 データ圧縮方法及びその装置並びにデータ伸長方法及びその装置

Publications (2)

Publication Number Publication Date
JPH08116271A JPH08116271A (ja) 1996-05-07
JP3143030B2 true JP3143030B2 (ja) 2001-03-07

Family

ID=17540158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27433094A Expired - Fee Related JP3143030B2 (ja) 1994-10-14 1994-10-14 データ圧縮方法及びその装置並びにデータ伸長方法及びその装置

Country Status (1)

Country Link
JP (1) JP3143030B2 (ja)

Also Published As

Publication number Publication date
JPH08116271A (ja) 1996-05-07

Similar Documents

Publication Publication Date Title
US5955976A (en) Data compression for use with a communications channel
US5229768A (en) Adaptive data compression system
US5254990A (en) Method and apparatus for compression and decompression of data
CA2260883C (en) Data compression and decompression system with immediate dictionary updating interleaved with string search
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
KR100300789B1 (ko) 적응형 데이터 압축기의 데이터 압축 효율을 개선하는 방법및 장치
US7071848B1 (en) Hardware-friendly general purpose data compression/decompression algorithm
JP3634711B2 (ja) 入力データストリームの圧縮方法とその装置
US5877711A (en) Method and apparatus for performing adaptive data compression
EP0438955A1 (en) Data compression method
EP1941617A1 (en) Method and system for compressing data
US6292115B1 (en) Data compression for use with a communications channel
US5010344A (en) Method of decoding compressed data
EP0435802B1 (en) Method of decompressing compressed data
JP3143030B2 (ja) データ圧縮方法及びその装置並びにデータ伸長方法及びその装置
JP3143029B2 (ja) データ圧縮方法及びその装置並びにデータ伸長方法及びその装置
EP0871294B1 (en) Method and apparatus for compression and decompression of data
JP3242795B2 (ja) データ処理装置及びデータ処理方法
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JP3910932B2 (ja) データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
JPH05341955A (ja) データ圧縮および復元方式
JP3051501B2 (ja) データ圧縮方法
JPH06291677A (ja) データ圧縮装置及びデータ復元装置
JPH07271552A (ja) データの可逆符号化方法および装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees