JP2999561B2 - データ圧縮及び復元装置 - Google Patents

データ圧縮及び復元装置

Info

Publication number
JP2999561B2
JP2999561B2 JP40297490A JP40297490A JP2999561B2 JP 2999561 B2 JP2999561 B2 JP 2999561B2 JP 40297490 A JP40297490 A JP 40297490A JP 40297490 A JP40297490 A JP 40297490A JP 2999561 B2 JP2999561 B2 JP 2999561B2
Authority
JP
Japan
Prior art keywords
code
length
data
variable
fixed
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
JP40297490A
Other languages
English (en)
Other versions
JPH04217021A (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 JP40297490A priority Critical patent/JP2999561B2/ja
Publication of JPH04217021A publication Critical patent/JPH04217021A/ja
Application granted granted Critical
Publication of JP2999561B2 publication Critical patent/JP2999561B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユニバーサル符号の一
種である増分分解型の改良として知られたLZW符号に
よるデータ圧縮及び復元装置に関し、特に、符号化時に
可変長LZW符号を固定長符号にパッキングすると共
に、復元時に固定長符号を可変長LZW符号にアンパッ
キングするデータ圧縮及び復元装置に関する。
【0002】近年、文字コ−ド、ベクトル情報、画像な
ど様々な種類のデ−タがコンピュ−タで扱われるように
なっており、扱われるデ−タ量も急速に増加してきてい
る。大量のデ−タを扱うときは、デ−タの中の冗長な部
分を省いてデ−タ量を圧縮することで、記憶容量を減ら
したり、速く伝送したりできるようになる。このように
様々なデ−タを1つの方式でデ−タ圧縮できる方法とし
てユニバ−サル符号化が提案されている。
【0003】ここで、本発明の分野は、文字コ−ドの圧
縮に限らず、様々なデ−タに適用できるが、以下では、
情報理論で用いられている呼称を踏襲し、デ−タの1ワ
ード単位を文字と呼び、デ−タが任意ワードつながった
ものを文字列と呼ぶことにする。ユニバ−サル符号の代
表的な方法として、ジブ−レンペル(Ziv-Lempel)符号
がある(詳しくは、例えば宗像「Ziv-Lempelのデ−タ圧
縮法」、情報処理、Vol.26,No.1,1985年を参照のこ
と)。
【0004】Ziv-Lempel符号では (1) ユニバ−サル型と、 (2) 増分分解型(Incremental parsing ) の2つのアルゴリズムが提案されている。 更に、ユニバ−サル型アルゴリズムの改良として、LZ
SS符号がある(T.C.Bell, “Better OPM/L Text Comp
ression ”,IEEE Trans. on Commun.,Vol.COM-34,No.1
2,Dec. 1986参照)。
【0005】また、増分分解型アルゴリズムの改良とし
ては、LZW(Lempel-Ziv-Welch)符号がある(T.A.We
lch,“A Technique for High-Performance Data Compre
ssion ”,Computer,June 1984 参照)。これらの符号の
内、高速処理ができることと、アルゴリズムの簡単さか
らLZW符号が記憶装置のファイル圧縮などで使われる
ようになっている。
【0006】
【従来の技術】従来のLZW符号の符号化アルゴリズム
のフローチャートを図13に示し、また復号化アルゴリ
ズムのフローチャートを図14に示す。まずLZW符号
化は、書き替え可能な辞書を持ち、入力文字列の中を相
異なる文字列に分け、この文字列を出現した順に番号を
付けて辞書に登録すると共に、現在入力している文字列
を辞書に登録してある最長一致文字列の参照番号だけで
表して符号化するものである。
【0007】図15にLZW符号化の具体例を示し、ま
た図17にLZW復号化の具体例を示し、さらに図16
に符号化と復号化で使用される辞書の内容を示す。尚、
図15,16,17にあっては、説明を簡単にするため
abcの3文字の組合せからなる文字列を圧縮、復元す
る場合を例にとっている。まず第13図のLZW符号化
の処理を説明すると次のようになる。
【0008】ステップS1(以下、「ステップ」を省
略):予め全文字につき1文字からなる文字列を初期値
として登録してから符号化を始める。S1の符号化は入
力した最初の文字Kにより辞書を検索して参照番号ωを
求め、これを語頭文字列(prefix string )とする。S
2:入力デ−タの次の文字Kを読み込む。
【0009】S3:文字入力が終了したか否かをチェッ
クする。S4:S1で求めた語頭文字列ωにS2で読み
込んだ文字Kを加えた(ωK)が辞書にあるか否か探
す。S5:もし、S4で文字列(ωK)が辞書にあれ
ば、S5で文字列(ωK)を参照番号ωに置き換え、再
びS2に戻って文字列(ωK)が辞書から探せなくなる
まで最大一致長の探索を続ける。
【0010】S6:もし、S4で文字列(ωK)が辞書
になければ、S6に進んでS1で求めた文字Kの参照番
号ωを符号語code(ω)として出力し、また文字列(ω
K)に新たな参照番号を付加して辞書に登録し、更にS
2の入力文字Kを参照番号ωに置き換えると共に、辞書
アドレスnをインクリメントしてS2に戻って次の文字
Kを読み込む。
【0011】図15及び図16を参照して具体的に説明
すると次のようになる。まず図15の入力データinput
は左から右へと読む。最初の文字aを入力した時、辞書
には文字aの他に一致する文字列がないので、OUTPUT C
ODE 1(参照番号ω)を符号語して出力する。そして文
字aを語頭文字列ωとする。次に2番目の文字bを入力
したとすると、この入力文字を語頭文字列ωに加えた拡
張文字列ωK=abは辞書にないことから、文字bのOU
TPUT CODE 2を符号語として出力する。そして、拡張文
字列ωK=abに参照番号4を付けて辞書に登録する。
実際の辞書登録は図16の右側に示すように文字列1b
として登録される。そして文字bが語頭文字列ωとな
る。
【0012】続いて3番目の文字aを入力したとする
と、文字aに語頭文字列ωを加えた拡張文字列ωK=b
a=2aは辞書にないことから、文字bのOUTPIT CODE
2 を符号語として出力した後、拡張文字列ωK=baを
2aで表わし、参照番号5を付けて辞書に登録する。そ
して文字aが新たな語頭文字列ωとなる。4番目の入力
文字bについては拡張文字列ωK=abは1bの符号語
4として既に辞書に登録されているので、文字列ωKを
新たな語頭文字列ωとし、5番目の文字cを入力して拡
張文字列ωK=4c=abcを作る。この拡張文字列ω
K=abcは辞書に登録されていないことから、文字列
ab=1bのOUTPUT CODE 4 を符号語として出力し、拡
張文字列ωK=abcを辞書に4cの形で符号語6とし
て登録する。以下同様に、この処理を続ける。
【0013】次に図14の復号化処理を説明する。この
復号化では、符号化と同様に予め辞書に全文字につき一
文字からなる文字列を初期値として登録してから復号を
始める。S1:最初の符号CODEを読み込み参照番号ωを
復号する。現在の参照番号ωをOLD ωとし、最初の符号
は既に辞書に登録された一文字の参照番号いずれかに該
当することから、入力参照番号ωに一致する文字D
(K)を探し出し、文字Kを出力する。尚、出力した文
字Kは後の例外処理のためFINchar にセットしておく。
【0014】S2:次の符号CODEを読み込む。S3:新
たな符号があるか否か、即ち符号入力の終了の有無をチ
ェックする。S4:読み込んだ符号CODEから参照番号ω
を復号し、INωとしてセットする。S5:S4で入力
された符号CODEが辞書に登録されているか否(ω≧n)
かチェックする。
【0015】S6:通常、入力した符号語は前回までの
処理で辞書に登録されているため、S6に進んで参照番
号ωに対応する文字列D(ω´K)を辞書から読み出
す。S7:文字列Kを一時的にスタックし、参照番号ω
´を新たなωとして再度S6に戻り、このS6の手順を
再帰的に参照番号ωが1文字に至まで繰り返す。S8:
S7でスタックした文字をLILO(Last InFast Ou
t)形式でポップアップして出力する。同時に、前回使
った参照番号OLD ωと今回復元した文字列の最初の一文
字Kを組(OLD ω,K)と表した文字列に、新たな参照
番号nを付加して辞書に登録する。
【0016】このLZW復号処理を図17について具体
的に説明すると次のようになる。まず最初の入力符号は
1であり、1文字a,b,cについては既に参照番号
1,2,3として第1表に示すように辞書に登録されて
いるため、辞書の参照により符号1に一致する参照番号
の文字列aに置き換えて出力する。次の符号2について
も同様にして文字bに置き換えて出力する。このとき前
回処理した符号と今回復号した最初の一文字bとを組み
合わせた(1b)に新たな参照番号4を付加して辞書に
登録する。
【0017】3番目の符号4は辞書の探索により1bか
らabと置き換えて文字列abを出力する。同時に前回
処理した符号2と今回復号した文字列の1番目の文字a
との組合せた文字列2a(=ba)を新たな参照番号5
を付加して辞書に登録する。以下同様に、この処理を繰
り返す。図17の復号化では次の例外処理がある。
【0018】この例外処理は、第6番目の入力符号8の
復号で生ずる。符号8は復号時に辞書に定義されておら
ず、復号できない。この場合には、前回処理した符号5
に前回復号した文字列baの最初の一文字bを加えた文
字列5bを求め、更に2ab,babと置き換えられて
出力される。そして、文字列の出力語に前回の符号語5
に今回復号した文字列の文字bを加えた文字列5bに参
照番号8を付加して辞書に登録する。
【0019】この例外処理は図14の復号化処理フロ−
のS5,S9の処理を通じて行なわれ、最終的にS8で
文字列の出力と新たな文字列に参照番号を付加した辞書
への登録が行なわれる。尚、図13及び図14の符号化
処理と復号化処理は、同じ辞書を作り出しながら行な
う。
【0020】
【発明が解決しようとする課題】このような従来のLZ
W符号化及び復号化のアルゴリズムを実際に計算機上に
インクリメントする場合には、更に圧縮率を向上させる
ために、参照番号をそれが必要な最小のビット数を使っ
て可変長表現し、複数の参照番号を1次元的につなげた
形で表現する。
【0021】即ち、図16のようにa,b,cの3文字
が参照番号1,2,3によって辞書に登録されている場
合、この3文字は最低2ビットあれば区別できる。同様
に辞書に登録が行われると、辞書の参照番号4から7ま
では3ビット、参照番号8からは4ビットで表現でき
る。このように辞書の登録されている大きさ(順番)に
応じて参照番号を可変長に表現することにより、1つの
参照番号を参照番号の登録が許される参照番号の最大値
を表現するビット数の固定長で最初から表現しなくても
よい。
【0022】このような参照番号の可変長表現を使用す
ることにより、高い圧縮率が得られる。勿論、復号化で
も辞書は同じに登録されていくため、参照番号のビット
数がわかれば1次元的に続く0,1の何ビットが1つの
参照番号を表現しているか区別することができる。ま
た、1次元的に表現するというは、計算機はデ―タ長
(データ幅)が一般的には8ビットを1バイトとする固
定長データが普通であるので、1次元的な0,1のデ―
タ列を8ビットを1バイトとしてパッキングして複数バ
イトで表現することを意味する。
【0023】一方、パッキングにより8ビットを1バイ
トして複数バイトで表現された1次元データから元の文
字列を復元する際には、固定長データを参照番号を示す
可変長データにアンパッキングすることになる。しか
し、従来のLZW符号化時のパッキング、即ち可変長符
号から固定長符号への変換と、LZW復号化時のアンパ
ッキング、即ち固定長符号から可変長符号への逆変換は
共にソフトウェアによる処理に依存していたため、可変
長符号と固定長符号との間の変換及び逆変換に処理時間
がかかり、外部記憶装置等の転送速度に対し実時間の処
理速度を得ることが難しいという問題があった。
【0024】本発明は、このような従来の問題点に鑑み
てなされたもので、LZW符号化及び復号化における可
変長符号と固定長符号との間の変換(パッキング)及び
逆変換(アンパッキング)を高速にできるデータ圧縮及
び復元装置を提供することを目的とする。
【0025】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、図1(a)に示すように、入
力文字列を辞書1に登録された既に符号化済みの部分列
内、最大長一致するものの参照番号で指定して符号化す
るデ―タ圧縮装置を対象とする。
【0026】このようなデータ圧縮装置につき本発明に
あっては、辞書1の参照番号を示す可変長符号を所定ビ
ット長の固定長符号にパッキングする際に、入力された
可変長符号の符号ビット数と、回路内部に保持されてい
る未パッキングデ―タ数を組としてメモリに記憶された
状態遷移表2を使ってパッキングする可変長・固定長変
換手段3を備えたことを特徴とする。
【0027】ここで可変長・固定長変換手段3は、LZ
W符号化手段4からの参照番号及び符号ビット数を受け
てパッキング動作をパイプライン的に行う。また本発明
は図1(b)に示すように、入力文字列を辞書1に登録
された既に符号化済みの部分列内、最大長一致するもの
の参照番号で指定して符号化された符号語から元の文字
列を復元するデ―タ復元装置を対象とする。
【0028】このようなデータ復元装置につき本発明に
あっては、所定ビット数の固定長符号から辞書1の参照
番号を示す可変長符号にアンパッキングする際に、得る
べき可変長符号の符号ビット数と、回路内部に保持され
ているパッキングデ―タ数を組としてメモリに記憶され
た状態遷移表5を使ってアンパッキングする固定長・可
変長変換手段6を備えたことを特徴とする。
【0029】ここで固定長・可変長変換手段6はLZW
復号化手段7から得られた符号ビット数に基づいて固定
長符号を辞書の参照番号を示す可変長符号にアンパッキ
ングする動作をパイプライン的に行う。
【0030】
【作用】このような構成を備えた本発明のデータ圧縮及
び復元装置によれば、ユニバ―サル符号の一種であるL
ZW符号の可変長符号と固定長符号と変換及び逆変換に
つき、任意のビット数で表現された可変長参照番号と、
可変長参照番号のビット数を表した2種類のデ―タから
ROMに記憶された状態遷移表を使用して次の入力,符
号の出力及びパッキングに必要なシフトレジスタなどの
ハードウェアを制御することで、変換及び逆記変換の回
路的な制御時間を大幅に時間を短縮して、より高速な処
理を実現することができる。
【0031】
【実施例】図2は本発明によるデータ圧縮装置の全体構
成図を示す。図2において、4はLZW符号器であり、
図13に示したLZW符号化アルゴリズムに従って入力
データをLZW符号に圧縮符号化し、辞書の参照番号を
符号語として出力する。同時にLZW符号器4は、現在
の参照番号を表現するのに最低必要なビット数を出力す
る。LZW符号器4から出力された参照番号とビット数
の組でなるデータは可変長・固定長変換器3に渡され
る。可変長・固定長変換器3では予め設定した固定長の
ビット数となるようにパッキングを行い、パッキングさ
れた符号化デ―タを出力する。このLZW符号器4と可
変長・固定長変換器3の動作はパイプライン的に行われ
る。
【0032】図3は図1の可変長・固定長変換器3の一
実施例を示した実施例構成図である。尚、図2では説明
を簡単にするために、3ビットの入力符号を1バイトが
2ビットの固定長符号にパッキングする場合を例にとっ
ている。図3において、10はセレクタであり、図2の
LZW符号器4からの参照番号の出力ビット数と内部回
路の値のいずれか一方を選択する。セレクタ10に入力
するLZW符号器4からの参照番号、即ち入力符号に対
応した出力ビット数は、図4に示す入力データの形式に
従う。
【0033】11はバッファであり、セレクタ10の出
力を格納し、状態遷移表を格納するシーケンス用のRO
M2のアドレスを指定するnext入力を与える。12
はバッファであり、ROM2から得られたnext出力
を格納してアドレスを指定する。従って、ROM2のア
ドレスはバッファ11,12のnext入力及びnex
t出力で指定される。
【0034】ROM2には、3ビットの入力符号を2ビ
ットの出力符号にパッキングする場合、図5に示す状態
遷移表が格納される。図5において、ROMアドレスは
バッファ11,12のnext入力及びnext出力の
4ビットで指定される。このアドレス指定により、シフ
トレジスタ15のシフト数、セレクタ10により出力ビ
ット数のセレクトの有無(1で出力ビット数セレク
ト)、next入力、next出力、入力符号のラッチ
(1でラッチ)及び出力符号のラッチ(1でラッチ)の
各々がデータとして読出される。
【0035】再び図3を参照するに、LZW符号器4か
らの符号データ(参照番号)は入力符号変換ROM13
に与えられ、図6の変換内容に従って変換される。この
入力符号変換ROM13による変換は、左揃えで入力し
た符号データを右揃えに変換するものである。例えば参
照番号1を示す左揃えの入力符号001は、右揃えの符
号100に変換される。14はバッファであり、入力符
号変換ROM13の出力データを格納する。
【0036】15はシフトレジスタであり、3ビットの
入力符号を2ビットの出力符号にパッキングする。この
ためシフトレジスタ15は入力符号用の3ビットのシフ
ト部15aと、出力符号用の2ビットのシフト部15b
とから構成される。シフト部15aは図5の状態遷移表
に従ったROM2からの入力符号ラッチが1でバッファ
14の内容をラッチする。またシフト部15aから15
bへのシフトは同じく図5の状態遷移表に従ったROM
2からのシフト数に従って行われる。更に16はバッフ
ァであり、パッキングが済んだシフトレジスタ15から
の2ビットデータをラッチして出力符号データとして外
部に送出する。バッファ16のラッチは図5の状態遷移
表に従ったROM2からの出力符号ラッチが1の時に行
われる。
【0037】次に図3の動作を、符号データが4,1,
4の順番に入力した場合を例にとって説明する。まず変
換動作は初期化によるnext入力及び出力が共に00
の状態から始める。このアドレス0000による指定で
ROM2のnext出力は00となる。また出力ビット
数セレクタが1であることから、セレクタ10がnex
t入力として、最初の入力符号データ4のビット数3を
セレクトしてバッファ11に格納し、next入力が1
1にセットされる。従って次のROMアドレスは110
0になる。
【0038】更に、最初の入力符号データ4は入力符号
変換ROM13によりビット左揃えの100から右揃え
の100に変換された後(この場合は変換なし)、RO
M2からの入力符号ラッチ1によりシフトレジスタ15
のシフト部15aにラッチされる。ここからROM2の
アドレス指定による読出デ―タに従った状態遷移を行い
ながらパッキングの処理が始まる。ROM2のアドレス
が1100であるので、シフトレジスタ15を2ビット
シフトする。即ち、シフト部15aに格納した100を
2ビットシフトし、シフト部15bの内容を10とす
る。同時にアドレス1100の指定で図5の状態遷移表
からnext入力が01、next出力が10になる。
従って、次のROM2のアドレスは0110になる。
【0039】アドレス0110では出力符号ラッチが1
であることからバッファ16にシフトレジスタ15のシ
フト部15bの内容10をラッチし、パッキングが済ん
だ1番目の固定長符号を出力する。そしてnext入力
は01、next出力が00になり、次のROM2のア
ドレスは0100となる。アドレス0100ではROM
2の出力データによりシフトレジスタ15を1ビットシ
フトしてシフト部15bの内容を00とし、next入
力が00、next出力が01であることから、次のR
OM2のアドレスを0001とする。
【0040】アドレス0001にあっては、ROM2か
らの出力ビット数セレクトが1であることからセレクタ
10で次の入力データ1の出力ビット数を選択してバッ
ファ11に格納し、next入力を01とする。このと
きnext出力はROM2より01であることから、次
のROM2のアドレスは0101となる。同時に次の入
力符号データ1を入力符号変換ROM13及びバッファ
14を介してシフトレジスタ15のシフト部15aに1
00としてラッチする。
【0041】アドレス0101にあっては、シフトレジ
スタ15を1ビットシフトしてシフト部15bの内容を
01にすると共に、next入力は00、next出力
が10になり、次のROM2のアドレスを0010とす
る。アドレス0010にあっては、バッファ16にシフ
トレジスタ15のシフト部15bの内容11をラッチ
し、パッキングが済んだ2番目の固定長符号データとし
て出力する。そしてnext入力は00、next出力
が00となり、次のROM2のアドレスを0000と
し、次の入力符号データ4のパッキングに進む。
【0042】図7は入力符号データ4,1,4をパッキ
ングする際のシフトレジスタ15の動作を示したもの
で、(1)〜(11)に分けて示す過程を経て3ビット
入力符号のラッチ、シフト及び2ビットの符号出力が行
われる。図8は本発明によるデータ復元装置の全体構成
図を示す。図8において、6は固定長・可変長変換器で
あり、固定長符号データを入力して参照番号を示す可変
長符号に変換するアンパッキングを行う。7はLZW復
号器であり、図14に示したLZW復号化アルゴリズム
に従って固定長・可変長変換器6から出力された可変長
符号としての参照番号から文字列を復元する。同時にL
ZW復号器7は、現在の参照番号を表現するのに最低必
要なビット数を固定長・可変長変換器6に通知する。こ
の固定長・可変長変換器6とLZW復号器7の動作はパ
イプライン的に行われる。
【0043】図9は図8の長可変長変換器6の一実施例
を示した実施例構成図である。図9において、20はセ
レクタであり、図8のLZW符号器7で復元された参照
番号の出力ビット数と内部回路の値のいずれか一方を選
択する。21はバッファであり、セレクタ20の出力を
格納し、状態遷移表を格納するROM5のアドレスに対
しnext入力を与える。22はバッファであり、RO
M5から得られたnext出力を格納してアドレスを指
定する。従って、ROM5のアドレスはバッファ21,
22のnext入力及びnext出力で指定される。
【0044】ROM5には、2ビットの固定長入力符号
を3ビットの可変長出力符号にアンパッキングする場
合、図10に示す状態遷移表が格納される。図10にお
いて、ROMアドレスはバッファ21,22のnext
入力及びnext出力の4ビットで指定される。このア
ドレス指定により、シフトレジスタ25のシフト数、セ
レクタ20により出力ビット数のセレクトの有無(1で
出力ビット数セレクト)、next入力、next出
力、入力符号のラッチ(1でラッチ)及び出力符号のラ
ッチ(1でラッチ)がデータとして読出される。
【0045】再び図9を参照するに、LZW復号器7か
らの出力ビット数は出力ビット数変換ROM23に与え
られ、図11の変換内容に従って変換される。この出力
ビット数変換ROM23による変換出力は出力段のAN
D回路27a,27b,27cに与えられ、例えばビッ
ト数3では111を出力することからAND回路27a
〜27cが全て開かれる。
【0046】24はバッファであり、アンパッキングを
行おうとする固定長符号データを2ビット単位に格納す
る。25はシフトレジスタであり、2ビットの入力符号
データを3ビットの出力符号データにアンパッキングす
る。このためシフトレジスタ25は入力符号用の2ビッ
トのシフト部25aと、出力符号用の3ビットのシフト
部25bとから構成される。シフト部25aは図10の
状態遷移表に従ったROM5からの入力符号ラッチが1
でバッファ24の内容をラッチする。またシフト部25
aから25bへのシフトは同じく図10の状態遷移表に
従ったROM5からのシフト数に従って行われる。更に
26はバッファであり、アンパッキングが済んだシフト
レジスタフ5からの3ビットデータをラッチして出力符
号データとしてAND回路27a〜27cを介して次段
のLZW復号器7に出力する。バッファ26のラッチは
図10の状態遷移表に従ったROM5からの出力符号ラ
ッチが1の時に行われる。
【0047】図12は、符号語4,1,4を2ビットに
パッキングした固定長符号データからアンパッキングす
る場合の動作を図9のシフトレジスタ25について示
す。このアンパッキング動作は図3に示したパッキング
動作と基本的に同じであり、ROM5の初期アドレスを
0000として図10の状態遷移表に従ったシフトレジ
スタ25に対するラッチ、シフト及び出力の各動作が図
12の(1)〜(9)のように順次行われる。パッキン
グとの相違点は、要求されている出力ビット数に応じて
出力ビット数変換ROM23及びAND回路27a〜2
7cにより出力符号データをマスク制御する点である。
【0048】尚、上記の実施例は、3ビットの可変長符
号と2ビットの固定長符号との間のパッキング及びアン
パッキングを例にとるものであったが、本発明はこれに
限定されず、適宜のビット数に応じてROM2,5に格
納した状態遷移表の状態遷移と回路制御用信号を変える
ことで、任意のビット数に対応できる。
【0049】
【発明の効果】以上説明したように本発明によれば、L
ZW符号化の可変長符号から固定長符号への変換、及び
LZW復号化の固定長符号から可変長符号への逆変換を
高速に行うことができ、磁気ディスク装置等の外部記憶
装置の転送速度に見合った実時間処理ができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のデータ圧縮装置の全体構成図
【図3】図2の可変長・固定長変換器の実施例構成図
【図4】図3における入力符号と出力ビット数の対応説
明図
【図5】図3のROM格納の状態遷移表説明図
【図6】図3の入力符号変換ROMの内容説明図
【図7】図3のシフトレジスタの動作説明図
【図8】本発明のデータ復元装置の全体構成図
【図9】図8の固定長・可変長変換器の実施例構成図
【図10】図9のROM格納の状態遷移表説明図
【図11】図9の出力ビット数変換ROMの内容説明図
【図12】図9のシフトレジスタ動作説明図
【図13】従来のLZW符号化アルゴリズムのフローチ
ャート
【図14】従来のLZW復号化アルゴリズムのフローチ
ャート
【図15】従来のLZW符号化の具体例説明図
【図16】辞書構成例の説明図
【図17】従来のLZW復号化の具体例説明図
【符号の説明】
1:辞書 2,5:状態遷移表(シーケンス用のROM) 3:可変長・固定長変換手段(可変長・固定長変換器) 4:LZW符号化手段(LZW符号器) 6:固定長・可変長変換手段(固定長・可変長変換器) 7:LZW復号手段(LZW複合機) 10,20:セレクタ 11,12,14,16,21,22,24,26:バ
ッファ 13:入力符号変換ROM 15,25:シフトレジスタ 15a,15b,25a,25b:シフト部 23:出力ビット数変換ROM 27a〜27c:AND回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中野泰彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社 内 (56)参考文献 特開 平4−215186(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 H03M 7/42

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】入力文字列を辞書に登録された既に符号化
    済みの部分列内、最大長一致するものの参照番号で指定
    して符号化するデータ圧縮装置に於いて、 前記参照番号を示す可変長符号を所定ビット長の固定長
    符号にパッキングする際に、入力された可変長符号の符
    号ビット数と、回路内部に保持されている未パッキング
    データ数を組としてメモリに記憶された状態遷移表を使
    ってパッキングする可変長・固定長変換手段を備えたこ
    とを特徴とするデータ圧縮装置。
  2. 【請求項2】請求項1記載のデ―タ圧縮装置に於いて、
    前記可変長・固定長変換手段は、LZW符号化手段から
    の参照番号及び符号ビット数を受けてパッキング動作を
    パイプライン的に行うことを特徴とするデ―タ圧縮装
    置。
  3. 【請求項3】入力文字列を辞書に登録された既に符号化
    済みの部分列内、最大長一致するものの参照番号で指定
    して符号化された符号語から元の文字列を復元するデー
    タ復元装置に於いて、 所定ビット数の固定長符号から前記参照番号を示す可変
    長符号にアンパッキングする際に、得るべき可変長符号
    の符号ビット数と、回路内部に保持されているパッキン
    グデータ数を組としてメモリに記憶された状態遷移表を
    使ってアンパッキングする固定長・可変長変換手段を備
    えたことを特徴とするデータ復元装置
  4. 【請求項4】請求項記載のデータ復元装置に於いて、
    前記固定長・可変長変換手段はLZW復号化手段から得
    られた符号ビット数に基づいて固定長符号を前記参照番
    号を示す可変長符号にアンパッキングする動作をパイプ
    ライン的に行うことを特徴とするデータ復元装置。
JP40297490A 1990-12-18 1990-12-18 データ圧縮及び復元装置 Expired - Fee Related JP2999561B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40297490A JP2999561B2 (ja) 1990-12-18 1990-12-18 データ圧縮及び復元装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40297490A JP2999561B2 (ja) 1990-12-18 1990-12-18 データ圧縮及び復元装置

Publications (2)

Publication Number Publication Date
JPH04217021A JPH04217021A (ja) 1992-08-07
JP2999561B2 true JP2999561B2 (ja) 2000-01-17

Family

ID=18512729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40297490A Expired - Fee Related JP2999561B2 (ja) 1990-12-18 1990-12-18 データ圧縮及び復元装置

Country Status (1)

Country Link
JP (1) JP2999561B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4586633B2 (ja) * 2005-05-25 2010-11-24 ソニー株式会社 デコーダ回路、デコード方法及びデータ記録装置
US7439887B2 (en) 2007-02-13 2008-10-21 Seiko Epson Corporation Method and apparatus for GIF decompression using fixed-size codeword table

Also Published As

Publication number Publication date
JPH04217021A (ja) 1992-08-07

Similar Documents

Publication Publication Date Title
JP3273119B2 (ja) データ圧縮・伸長装置
JP3009727B2 (ja) 改良形データ圧縮装置
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
JP3241788B2 (ja) データ圧縮方式
US5488366A (en) Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JP2999561B2 (ja) データ圧縮及び復元装置
JP3038223B2 (ja) データ圧縮方式
JP3127016B2 (ja) データ圧縮及び復元方法
JP3241787B2 (ja) データ圧縮方式
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JP3038233B2 (ja) データ圧縮及び復元装置
JPH06161705A (ja) データ符号化方式及びデータ復元方式
JPH05152971A (ja) データ圧縮・復元方法
JP3132774B2 (ja) データ圧縮・復元装置
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JP3088740B2 (ja) データ圧縮及び復元方式
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP2999587B2 (ja) データ圧縮及び復元方式
JP3051501B2 (ja) データ圧縮方法
JP3083329B2 (ja) データ圧縮復元方式
JP3100206B2 (ja) データ圧縮方法
JP3442105B2 (ja) データ圧縮および復元方式
JP3388767B2 (ja) データ圧縮方式
JP3388768B2 (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: 19991005

LAPS Cancellation because of no payment of annual fees