JP3266419B2 - データ圧縮・伸長方式 - Google Patents
データ圧縮・伸長方式Info
- Publication number
- JP3266419B2 JP3266419B2 JP14742594A JP14742594A JP3266419B2 JP 3266419 B2 JP3266419 B2 JP 3266419B2 JP 14742594 A JP14742594 A JP 14742594A JP 14742594 A JP14742594 A JP 14742594A JP 3266419 B2 JP3266419 B2 JP 3266419B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- image data
- unit
- encoding
- 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
Links
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【産業上の利用分野】本発明は、ユニバーサル符号を用
いたプリンタやファクシミリ等の印刷画像におけるデー
タ圧縮及び伸長方式に関する。
いたプリンタやファクシミリ等の印刷画像におけるデー
タ圧縮及び伸長方式に関する。
【0002】
【従来の技術】近年、計算機や画像入出力機器の発展に
より、OAの分野でも、テキスト、図形、網点・ディザ
画像等の多様な画像が混在したデータを取り扱うように
なってきた。また、画像の高解像度化も進み画像データ
量は莫大なものとなってきている。そのため、多様かつ
高解像な画像データを圧縮するためのデータ圧縮方式
が、現在求められている。上述のような画像データでは
局所的にデータの統計的性質が異なるため、データ圧縮
処理の進行とともにデータの統計的性質が変動してもデ
ータ圧縮効率が極端に低下することのないユニバーサル
符号によるデータ圧縮方式が望まれている。そのような
データ圧縮方式として、入力データの既に処理し終えた
部分から入力データに最適になるような参照辞書を逐次
構成していくことにより、データの統計的性質に依存せ
ず最適な圧縮が可能なLempel-Zivの符号化方法が提案さ
れている。
より、OAの分野でも、テキスト、図形、網点・ディザ
画像等の多様な画像が混在したデータを取り扱うように
なってきた。また、画像の高解像度化も進み画像データ
量は莫大なものとなってきている。そのため、多様かつ
高解像な画像データを圧縮するためのデータ圧縮方式
が、現在求められている。上述のような画像データでは
局所的にデータの統計的性質が異なるため、データ圧縮
処理の進行とともにデータの統計的性質が変動してもデ
ータ圧縮効率が極端に低下することのないユニバーサル
符号によるデータ圧縮方式が望まれている。そのような
データ圧縮方式として、入力データの既に処理し終えた
部分から入力データに最適になるような参照辞書を逐次
構成していくことにより、データの統計的性質に依存せ
ず最適な圧縮が可能なLempel-Zivの符号化方法が提案さ
れている。
【0003】Lempel-Zivの符号化方法は、参照辞書の作
成方法によって動的辞書方式とスライド辞書方式に分類
されている( 詳しくは、インターフェース 1992 年 vo
l.8 No.183 " データ圧縮アルゴリズムとその実現" を
参照) 。動的辞書方式は、入力データ列を増分分解(Inc
remental Parsing) といわれる方法で部分データ列に分
解し、その部分データ列を辞書に登録していき、その辞
書を参照しながら入力データの符号化処理を進めていく
アルゴリズムである。また、スライド辞書方式は、符号
化済データ列を順次参照バッファに蓄えていき、参照バ
ッファを辞書として参照しながら入力データの符号化処
理を進めていくアルゴリズムである。動的辞書方式はア
ルゴリズムの容易さでスライド辞書方式に勝っている
が、逆にスライド辞書方式は圧縮率で動的辞書方式に勝
るといわれており、それぞれデータ圧縮の分野で広く使
われている。さらに、動的辞書方式の改良としてLZW(Le
mpel-Ziv-Welch) 符号、スライド辞書方式の改良として
LZSS(Lempel-Ziv-Storer-Szymanski) 符号が提案されて
いる。
成方法によって動的辞書方式とスライド辞書方式に分類
されている( 詳しくは、インターフェース 1992 年 vo
l.8 No.183 " データ圧縮アルゴリズムとその実現" を
参照) 。動的辞書方式は、入力データ列を増分分解(Inc
remental Parsing) といわれる方法で部分データ列に分
解し、その部分データ列を辞書に登録していき、その辞
書を参照しながら入力データの符号化処理を進めていく
アルゴリズムである。また、スライド辞書方式は、符号
化済データ列を順次参照バッファに蓄えていき、参照バ
ッファを辞書として参照しながら入力データの符号化処
理を進めていくアルゴリズムである。動的辞書方式はア
ルゴリズムの容易さでスライド辞書方式に勝っている
が、逆にスライド辞書方式は圧縮率で動的辞書方式に勝
るといわれており、それぞれデータ圧縮の分野で広く使
われている。さらに、動的辞書方式の改良としてLZW(Le
mpel-Ziv-Welch) 符号、スライド辞書方式の改良として
LZSS(Lempel-Ziv-Storer-Szymanski) 符号が提案されて
いる。
【0004】LZSS方式の符号化・復号化処理を図4を用
いて説明する。ここで、入力画像データ中の個々のワー
ド単位を文字と呼び、文字が任意の数だけ連なったもの
を文字列と呼ぶことにする。また、これ以降1文字は1
バイトで構成されているものとする。
いて説明する。ここで、入力画像データ中の個々のワー
ド単位を文字と呼び、文字が任意の数だけ連なったもの
を文字列と呼ぶことにする。また、これ以降1文字は1
バイトで構成されているものとする。
【0005】LZSS方式の符号化処理の流れを図4(a)
に示す。まず、参照辞書の初期化を行う(S401)。
参照辞書の初期化は参照バッファの内容を全て0にする
ことにより行われる。また、符号出力用のカウンタcを
1にセットしておく。次に、画像データを先読みバッフ
ァに入力する(S402)。参照バッファと先読みバッ
ファの概念的な構成は図5のようになっていて、例えば
入力文字列がABC・・・PQRとすると符号化処理の
初期状態は図5(a)となる。
に示す。まず、参照辞書の初期化を行う(S401)。
参照辞書の初期化は参照バッファの内容を全て0にする
ことにより行われる。また、符号出力用のカウンタcを
1にセットしておく。次に、画像データを先読みバッフ
ァに入力する(S402)。参照バッファと先読みバッ
ファの概念的な構成は図5のようになっていて、例えば
入力文字列がABC・・・PQRとすると符号化処理の
初期状態は図5(a)となる。
【0006】次に、入力文字列と一致する最長の文字列
を辞書から探索する(S403)。そして、このときの
一致長Mの値を調べる(S404)。ここで、一致長L
が3以上のときは一致文字列の参照辞書中の位置Aと一
致長Mの値を符号化することにより圧縮符号を生成する
(S405)。例えば図5(b)のように先読みバッフ
ァ中の入力文字列と最長一致する文字列AB・・・Eが
参照バッファ中から検索されると位置Aと一致長Mの組
(A、M)が符号化されることになる。このときの符号
長は参照バッファ長と先読みバッファ長により定まり、
それぞれLp、Lqとすると、位置Aの符号長は最低で
もlog(Lp)以上の整数値であり、一致長Mの符号
長は最低でもlog(Lqー2)以上の整数値でなけれ
ばならない。ただし、このときの対数の底は2である。
例えば、参照バッファ長が4kバイトで先読みバッファ
長が18バイトのときは位置Pの符号長は12ビット、
一致長Mの符号長は4ビットとなり、圧縮符号の符号長
は16ビット(=2バイト)となる。また、圧縮符号で
あることを示すフラグビット1が同時に出力される。次
に、一致長Mが3未満のときは入力文字Dを1文字その
まま符号化することにより非圧縮符号を生成する(S4
06)。1文字は1バイトで表されるので、非圧縮符号
の符号長は1バイトとになる。また、非圧縮符号である
ことを示すフラグビット0が同時に出力される。
を辞書から探索する(S403)。そして、このときの
一致長Mの値を調べる(S404)。ここで、一致長L
が3以上のときは一致文字列の参照辞書中の位置Aと一
致長Mの値を符号化することにより圧縮符号を生成する
(S405)。例えば図5(b)のように先読みバッフ
ァ中の入力文字列と最長一致する文字列AB・・・Eが
参照バッファ中から検索されると位置Aと一致長Mの組
(A、M)が符号化されることになる。このときの符号
長は参照バッファ長と先読みバッファ長により定まり、
それぞれLp、Lqとすると、位置Aの符号長は最低で
もlog(Lp)以上の整数値であり、一致長Mの符号
長は最低でもlog(Lqー2)以上の整数値でなけれ
ばならない。ただし、このときの対数の底は2である。
例えば、参照バッファ長が4kバイトで先読みバッファ
長が18バイトのときは位置Pの符号長は12ビット、
一致長Mの符号長は4ビットとなり、圧縮符号の符号長
は16ビット(=2バイト)となる。また、圧縮符号で
あることを示すフラグビット1が同時に出力される。次
に、一致長Mが3未満のときは入力文字Dを1文字その
まま符号化することにより非圧縮符号を生成する(S4
06)。1文字は1バイトで表されるので、非圧縮符号
の符号長は1バイトとになる。また、非圧縮符号である
ことを示すフラグビット0が同時に出力される。
【0007】次に、辞書の更新が行われる(S40
7)。辞書の更新は符号化された文字数分だけ古い文字
から順に参照バッファから削除し、符号化した文字を先
読みバッファから参照バッファへ移動させることで達成
される。この動作は概念的には参照バッファ及び先読み
バッファ上を文字列がシフトしていきスライドしていく
ようにみえる。例えば、図5(b)で符号化された文字
列AB・・・Eは辞書更新により参照バッファへと順次
スライドしていき、参照バッファの左端から古いデータ
が捨てられていく。
7)。辞書の更新は符号化された文字数分だけ古い文字
から順に参照バッファから削除し、符号化した文字を先
読みバッファから参照バッファへ移動させることで達成
される。この動作は概念的には参照バッファ及び先読み
バッファ上を文字列がシフトしていきスライドしていく
ようにみえる。例えば、図5(b)で符号化された文字
列AB・・・Eは辞書更新により参照バッファへと順次
スライドしていき、参照バッファの左端から古いデータ
が捨てられていく。
【0008】ここで、実際に出力される符号形式につい
て説明する。一般に、LZSS方式ではバイト処理を行い易
くする関係上8個の符号をまとめて1つの符号ブロック
を作成し、符号ブロック単位で出力するようにしてい
る。符号ブロックの一例を示すと、図5(c)のように
なる。まず、符号ブロックの先頭に8個の符号のフラグ
ビットをまとめて1バイトにしたフラグコードを置き、
それに続けて8個の符号を置く。図5(c)の例では、
フラグコード01101110なので、非圧縮符号・圧
縮符号・圧縮符号・・・の順に符号が配置されているこ
とがわかる。よって、符号ブロックの出力はS402か
らS407までの符号化処理の過程を8回行う毎に1回
行われるので、符号出力用のカウンタcの値により制御
できる。すなわち、まず、カウンタcの値を調べて(S
408)、カウンタcの値が8でなければS405又は
S406で作成された符号とフラグビットをバッファメ
モリに蓄えておき、カウンタcの値を1だけ増加してお
いて、再びS402に戻る(S409)。また、カウン
タcの値が8ならばバッファメモリに蓄えられた符号を
符号ブロックとして出力し、カウンタcの値を1にセッ
トし、再びS402に戻る(S410)。そして、S4
02では先読みバッファの右端から新たに文字列が入力
され、以上の符号化処理を継続し、処理すべき画像デー
タが無くなるまで処理を続ける。
て説明する。一般に、LZSS方式ではバイト処理を行い易
くする関係上8個の符号をまとめて1つの符号ブロック
を作成し、符号ブロック単位で出力するようにしてい
る。符号ブロックの一例を示すと、図5(c)のように
なる。まず、符号ブロックの先頭に8個の符号のフラグ
ビットをまとめて1バイトにしたフラグコードを置き、
それに続けて8個の符号を置く。図5(c)の例では、
フラグコード01101110なので、非圧縮符号・圧
縮符号・圧縮符号・・・の順に符号が配置されているこ
とがわかる。よって、符号ブロックの出力はS402か
らS407までの符号化処理の過程を8回行う毎に1回
行われるので、符号出力用のカウンタcの値により制御
できる。すなわち、まず、カウンタcの値を調べて(S
408)、カウンタcの値が8でなければS405又は
S406で作成された符号とフラグビットをバッファメ
モリに蓄えておき、カウンタcの値を1だけ増加してお
いて、再びS402に戻る(S409)。また、カウン
タcの値が8ならばバッファメモリに蓄えられた符号を
符号ブロックとして出力し、カウンタcの値を1にセッ
トし、再びS402に戻る(S410)。そして、S4
02では先読みバッファの右端から新たに文字列が入力
され、以上の符号化処理を継続し、処理すべき画像デー
タが無くなるまで処理を続ける。
【0009】LZSS方式の復号化処理の流れを図4(b)
に示す。まず、符号化処理のときと同様に参照バッファ
の内容を全て0にすることにより参照辞書の初期化を行
う(S421)。また、フラグコードを入力するための
カウンタcの値を1にセットする。次に、フラグコード
を入力し(S422)、フラグコードの値を調べる(S
423)。そして、フラグコードの値が1ならば圧縮符
号を入力し(S424)、0ならば非圧縮符号を入力す
る(S426)。ここで、本従来例のLZSS符号では非圧
縮符号は1バイト、圧縮符号は2バイトで符号化される
ので、S424では2バイト、S426では1バイトの
符号が入力される。
に示す。まず、符号化処理のときと同様に参照バッファ
の内容を全て0にすることにより参照辞書の初期化を行
う(S421)。また、フラグコードを入力するための
カウンタcの値を1にセットする。次に、フラグコード
を入力し(S422)、フラグコードの値を調べる(S
423)。そして、フラグコードの値が1ならば圧縮符
号を入力し(S424)、0ならば非圧縮符号を入力す
る(S426)。ここで、本従来例のLZSS符号では非圧
縮符号は1バイト、圧縮符号は2バイトで符号化される
ので、S424では2バイト、S426では1バイトの
符号が入力される。
【0010】圧縮符号が入力されると、その符号に従っ
て辞書の検索が行われる(S425)。辞書の検索は参
照バッファ中の文字列の位置と文字列長を圧縮符号を復
号して求め、その文字列を画像データとして取り出す。
非圧縮符号が入力されると、非圧縮符号は1文字分の画
像データを表しているので、圧縮符号を復号化して得ら
れた画像データ、あるいは非圧縮符号から得られた画像
データが出力されることになる(S427)。こうして
1つの符号が復号されると、符号化処理のときと同様に
辞書が更新される(S428)。つまり、ここで復号さ
れた文字列の文字数だけ参照バッファから最も古い文字
から順に削除され、また、ここで復号された文字列を参
照バッファに挿入する。
て辞書の検索が行われる(S425)。辞書の検索は参
照バッファ中の文字列の位置と文字列長を圧縮符号を復
号して求め、その文字列を画像データとして取り出す。
非圧縮符号が入力されると、非圧縮符号は1文字分の画
像データを表しているので、圧縮符号を復号化して得ら
れた画像データ、あるいは非圧縮符号から得られた画像
データが出力されることになる(S427)。こうして
1つの符号が復号されると、符号化処理のときと同様に
辞書が更新される(S428)。つまり、ここで復号さ
れた文字列の文字数だけ参照バッファから最も古い文字
から順に削除され、また、ここで復号された文字列を参
照バッファに挿入する。
【0011】次に、符号ブロックは前述したようにフラ
グコードの続いて8個の符号が存在するので、その8個
の符号を読み終えたならば再びフラグコードを入力し、
そうでなければ圧縮符号又は非圧縮符号を入力すること
となる。そこで、フラグコード入力用のカウンタcの値
を調べて(S429)、その値が8ならばカウンタの値
を1にセットし(S430)、再びS422でフラグコ
ードを入力し、処理を続ける。また、カウンタcの値が
8でなければ、カウンタcの値を1だけ増加させて、S
423で再び次のフラグの値を調べ処理を続ける。以上
の復号化処理を処理すべき符号が無くなるまで続ける。
グコードの続いて8個の符号が存在するので、その8個
の符号を読み終えたならば再びフラグコードを入力し、
そうでなければ圧縮符号又は非圧縮符号を入力すること
となる。そこで、フラグコード入力用のカウンタcの値
を調べて(S429)、その値が8ならばカウンタの値
を1にセットし(S430)、再びS422でフラグコ
ードを入力し、処理を続ける。また、カウンタcの値が
8でなければ、カウンタcの値を1だけ増加させて、S
423で再び次のフラグの値を調べ処理を続ける。以上
の復号化処理を処理すべき符号が無くなるまで続ける。
【0012】LZSS方式は処理するデータの性質によらず
ある程度データ圧縮が可能であるが、印刷用の画像デー
タのように、同一データの長大なランが続くようなもの
に対しては高圧縮が望めないという欠点があった。それ
は、LZSS方式が一度に符号化できるデータ量は先読みバ
ッファ長によって制限されるためである。一般に先読み
バッファ長は10数バイトから数10バイト程度である
のに対して、画像データでは同一データのランが数百バ
イトから数キロバイト続くことも頻繁に生じる。そのた
め、そのような長大なランのもつ冗長性を充分に除去す
ることができないため、圧縮効率が低くなるという問題
が生じる。
ある程度データ圧縮が可能であるが、印刷用の画像デー
タのように、同一データの長大なランが続くようなもの
に対しては高圧縮が望めないという欠点があった。それ
は、LZSS方式が一度に符号化できるデータ量は先読みバ
ッファ長によって制限されるためである。一般に先読み
バッファ長は10数バイトから数10バイト程度である
のに対して、画像データでは同一データのランが数百バ
イトから数キロバイト続くことも頻繁に生じる。そのた
め、そのような長大なランのもつ冗長性を充分に除去す
ることができないため、圧縮効率が低くなるという問題
が生じる。
【0013】このような問題の解決方法として、特開平
5-176187に開示されている方法がある。その符号化方式
を図6(a)に示し、復号化方式を図6(b)に示す。
ここで開示されている符号化方式は、画像データを入力
し、中間データ変換手段601によりパターンレングス
処理等により画像データの相関性を除去した中間データ
に変換した後、符号化手段602により中間データをユ
ニバーサル符号化方式で符号化を行い、圧縮符号を出力
している。また、ここで開示されている復号化方式は、
圧縮符号を入力し、復号化手段611によりユニバーサ
ル復号化方式で復号化を行い、元の中間データを作成し
た後、中間データ逆変換手段612により中間データを
画像データに復元し、出力するものである。
5-176187に開示されている方法がある。その符号化方式
を図6(a)に示し、復号化方式を図6(b)に示す。
ここで開示されている符号化方式は、画像データを入力
し、中間データ変換手段601によりパターンレングス
処理等により画像データの相関性を除去した中間データ
に変換した後、符号化手段602により中間データをユ
ニバーサル符号化方式で符号化を行い、圧縮符号を出力
している。また、ここで開示されている復号化方式は、
圧縮符号を入力し、復号化手段611によりユニバーサ
ル復号化方式で復号化を行い、元の中間データを作成し
た後、中間データ逆変換手段612により中間データを
画像データに復元し、出力するものである。
【0014】
【発明が解決しようとする課題】しかしながら、従来技
術においては、符号化処理においては中間データ変換手
段とLZSS方式による符号化手段が直列に配置され、ま
た、復号化手段においてはLZSS方式による復号化手段と
中間データ逆変換手段が直列に配置されているため、特
にソフトウェアにより従来技術の構成を実現しようとす
るとユニバーサル符号化及び復号化を単体で行う場合に
比較して圧縮処理速度が低下するという問題があった。
特にプリンタ等の印刷分野ではエンジン部分の処理速度
に対して伸長速度が遅れることは致命的であり、データ
伸長部の高速性が問題となる。
術においては、符号化処理においては中間データ変換手
段とLZSS方式による符号化手段が直列に配置され、ま
た、復号化手段においてはLZSS方式による復号化手段と
中間データ逆変換手段が直列に配置されているため、特
にソフトウェアにより従来技術の構成を実現しようとす
るとユニバーサル符号化及び復号化を単体で行う場合に
比較して圧縮処理速度が低下するという問題があった。
特にプリンタ等の印刷分野ではエンジン部分の処理速度
に対して伸長速度が遅れることは致命的であり、データ
伸長部の高速性が問題となる。
【0015】本発明はこのような点に鑑み、データ圧縮
及び伸長の処理速度を低下させることなく相関性の高い
画像データを良好に圧縮することができる画像データ圧
縮及び伸長方式を提供する。
及び伸長の処理速度を低下させることなく相関性の高い
画像データを良好に圧縮することができる画像データ圧
縮及び伸長方式を提供する。
【0016】
【課題を解決するための手段】本発明は、これらの課題
を解決するためのものであり、ラスタ状の画像データを
圧縮する画像データ圧縮方式において、入力画像データ
中の同一データの連続数を計数する計数部と、前記計数
部により計数された計数値と所定のしきい値を比較する
比較部と、前記計数部および比較部により前記所定のし
きい値以上の連続データを有しない複数のデータ列から
構成される第1のデータ列と、前記所定のしきい値以上
の連続データからなる複数のデータ列から構成される第
2のデータ列に分解された入力画像データに対し、符号
化済のデータ列を辞書として参照し、入力画像データ列
と最長一致する画像データ列を少なくとも辞書の開始ア
ドレスと一致長により表すことによって符号化し、前記
第1のデータ列を圧縮する第1の符号化部と、同一データ
の連続に対し、少なくともそのデータの連続が現れた入
力画像データ中の位置と、そのデータ種と、その連続長
を符号化し、前記第2のデータ列を圧縮する第2の符号化
部と、符号化したデータを出力する出力部とから構成さ
れ、前記データの連続が現われた入力画像データ中の位
置に関する情報を符号化することにより前記第1の符号
化部において複数データを一括して圧縮符号に変換する
ようにしたデータ圧縮方式を提供する。
を解決するためのものであり、ラスタ状の画像データを
圧縮する画像データ圧縮方式において、入力画像データ
中の同一データの連続数を計数する計数部と、前記計数
部により計数された計数値と所定のしきい値を比較する
比較部と、前記計数部および比較部により前記所定のし
きい値以上の連続データを有しない複数のデータ列から
構成される第1のデータ列と、前記所定のしきい値以上
の連続データからなる複数のデータ列から構成される第
2のデータ列に分解された入力画像データに対し、符号
化済のデータ列を辞書として参照し、入力画像データ列
と最長一致する画像データ列を少なくとも辞書の開始ア
ドレスと一致長により表すことによって符号化し、前記
第1のデータ列を圧縮する第1の符号化部と、同一データ
の連続に対し、少なくともそのデータの連続が現れた入
力画像データ中の位置と、そのデータ種と、その連続長
を符号化し、前記第2のデータ列を圧縮する第2の符号化
部と、符号化したデータを出力する出力部とから構成さ
れ、前記データの連続が現われた入力画像データ中の位
置に関する情報を符号化することにより前記第1の符号
化部において複数データを一括して圧縮符号に変換する
ようにしたデータ圧縮方式を提供する。
【0017】さらに、請求項1記載のデータ圧縮方式に
よって圧縮符号化された画像データを伸長する画像デー
タ伸長方式において、入力された圧縮符号を解析し、前
記第1の符号化部によって符号化されたものか、前記第2
の符号化部によって符号化されたものかを識別する解析
部と、前記解析部によって前記第1の符号化部による圧
縮符号であることが解析されたときには画像データを伸
長する第1の復号化部と、前記第2の符号化部による圧縮
符号であることが解析されたときには画像データを伸長
する第2の復号化部とから構成されているデータ伸長方
式を提供する。
よって圧縮符号化された画像データを伸長する画像デー
タ伸長方式において、入力された圧縮符号を解析し、前
記第1の符号化部によって符号化されたものか、前記第2
の符号化部によって符号化されたものかを識別する解析
部と、前記解析部によって前記第1の符号化部による圧
縮符号であることが解析されたときには画像データを伸
長する第1の復号化部と、前記第2の符号化部による圧縮
符号であることが解析されたときには画像データを伸長
する第2の復号化部とから構成されているデータ伸長方
式を提供する。
【0018】
【0019】
【0020】
【作用】本発明の構成によれば、同一データの連続長の
計数値によりユニバーサル符号とバイトランレングス符
号を切り換えることにより、簡単な構成によりテキスト
等の長いランを持つ画像も疑似中間調画像等の細かく変
化する画像も良好に圧縮することができる。
計数値によりユニバーサル符号とバイトランレングス符
号を切り換えることにより、簡単な構成によりテキスト
等の長いランを持つ画像も疑似中間調画像等の細かく変
化する画像も良好に圧縮することができる。
【0021】
【実施例】以下、図面を用いて本発明の実施例について
説明する。ここで、入力画像データは、8個の画素毎に
一塊にした8bitで表されるものとする。
説明する。ここで、入力画像データは、8個の画素毎に
一塊にした8bitで表されるものとする。
【0022】本発明のデータ圧縮及び伸長方式の実施例
を図面をもとにして説明する。図1は、本発明のデータ
圧縮及び伸長方式の最も基本的な構成である。まず、デ
ータ圧縮方式の基本構成について図1(a)を用いて説
明する。ラン計数部101は入力画像データDに連続す
る同一データが現れたときに、そのランが連続する長さ
を計数し、その計数値Nを出力する。比較部102は計
数値Nが入力され、計数値Nと予め定められたしきい値
Nthを比較する。そして、計数値Nがしきい値Nth
以下のときは制御コードUが出力され、計数値Nがしき
い値Nthより大きいときは制御コードRが出力され
る。データの符号化は制御コードU/Rによってユニバ
ーサル符号化部103又はバイトランレングス(BRL )
符号化部104のいずれかが選択されて行われる。制御
コードがUのときはユニバーサル符号化部103が選択
され、入力画像データD、計数値Nがユニバーサル符号
化部103に入力され、それぞれの入力値をもとに符号
化が行われる。制御コードがRのときはBRL 符号化部1
04が選択され、入力画像データD、計数値NがBRL 符
号化部104に入力され、それぞれの入力値をもとに符
号化が行われる。それぞれの符号化部で生成された符号
は出力部105により一つの符号にまとめられ、出力符
号Cとして出力される。
を図面をもとにして説明する。図1は、本発明のデータ
圧縮及び伸長方式の最も基本的な構成である。まず、デ
ータ圧縮方式の基本構成について図1(a)を用いて説
明する。ラン計数部101は入力画像データDに連続す
る同一データが現れたときに、そのランが連続する長さ
を計数し、その計数値Nを出力する。比較部102は計
数値Nが入力され、計数値Nと予め定められたしきい値
Nthを比較する。そして、計数値Nがしきい値Nth
以下のときは制御コードUが出力され、計数値Nがしき
い値Nthより大きいときは制御コードRが出力され
る。データの符号化は制御コードU/Rによってユニバ
ーサル符号化部103又はバイトランレングス(BRL )
符号化部104のいずれかが選択されて行われる。制御
コードがUのときはユニバーサル符号化部103が選択
され、入力画像データD、計数値Nがユニバーサル符号
化部103に入力され、それぞれの入力値をもとに符号
化が行われる。制御コードがRのときはBRL 符号化部1
04が選択され、入力画像データD、計数値NがBRL 符
号化部104に入力され、それぞれの入力値をもとに符
号化が行われる。それぞれの符号化部で生成された符号
は出力部105により一つの符号にまとめられ、出力符
号Cとして出力される。
【0023】次に、データ伸長方式の基本構成について
図1(b)を用いて説明する。解析部111は入力符号
Cに含まれる識別符号を解析し、入力符号Cがユニバー
サル復号化部112で復号化されるべき符号かBRL 復号
化部113で復号化されるべき符号かを識別する。そし
て、識別結果に従って制御コードU/Rを出力し、ま
た、復号に必要な入力符号Cを出力する。データの復号
化は制御コードU/Rによってユニバーサル復号化部1
12又はBRL 復号化部113のいずれかが選択されて行
われる。制御コードがUのときはユニバーサル復号化部
112が選択され、入力符号Cがユニバーサル復号化部
112に入力され、復号化が行われる。
図1(b)を用いて説明する。解析部111は入力符号
Cに含まれる識別符号を解析し、入力符号Cがユニバー
サル復号化部112で復号化されるべき符号かBRL 復号
化部113で復号化されるべき符号かを識別する。そし
て、識別結果に従って制御コードU/Rを出力し、ま
た、復号に必要な入力符号Cを出力する。データの復号
化は制御コードU/Rによってユニバーサル復号化部1
12又はBRL 復号化部113のいずれかが選択されて行
われる。制御コードがUのときはユニバーサル復号化部
112が選択され、入力符号Cがユニバーサル復号化部
112に入力され、復号化が行われる。
【0024】制御コードがRのときはBRL 復号化部11
3が選択され、入力符号CがBRL 復号化部113に入力
され、復号化が行われる。それぞれの復号化部で復元さ
れた画像データは出力部105により一つの画像データ
にまとめられ、出力データDとして出力される。
3が選択され、入力符号CがBRL 復号化部113に入力
され、復号化が行われる。それぞれの復号化部で復元さ
れた画像データは出力部105により一つの画像データ
にまとめられ、出力データDとして出力される。
【0025】次に、LZSS方式を用いて本発明の符号化処
理を実現した実施例について、図2及び図7を使って説
明する。ここで、参照バッファ及び先読みバッファの大
きさはそれぞれ4kバイト及び18バイトとする。最初
に、符号化処理の初期化が行われる(S201)。ここ
では、LZSS符号化のための参照辞書の初期化を行い、入
力画像データの先頭にポインタnをセットする。そし
て、画像データをn番目から順次入力していく(S20
2)。このとき入力される画像データ列が図7(a)で
示される様にABC・・CDE・・EFGHであるとす
る。次に、同一データのランを計数し、その計数値をN
に代入する。(S203)。そして、S203で得た計
数値Nを所定のしきい値Nthと比較し(S204)、
計数値Nがしきい値Nthより小さいときはLZSS符号化
を行い(S205)、計数値Nがしきい値Nth以上の
ときはS203により計数された同一データのランをパ
ックすることによりBRL 符号化を行う(S206)。ま
た、S205、S206では符号化されたデータ数だけ
入力画像データのポインタnを増加させる。図7(a)
の画像データ列では文字CとEについてのランがしきい
値Nthより大きいとすると、比較部の処理より概念的
には入力画像データが図7(b)と図7(c)で表され
る二つのデータ列に分解され、それぞれがLZSS符号化手
段とBRL 符号化手段で符号化されることになる。
理を実現した実施例について、図2及び図7を使って説
明する。ここで、参照バッファ及び先読みバッファの大
きさはそれぞれ4kバイト及び18バイトとする。最初
に、符号化処理の初期化が行われる(S201)。ここ
では、LZSS符号化のための参照辞書の初期化を行い、入
力画像データの先頭にポインタnをセットする。そし
て、画像データをn番目から順次入力していく(S20
2)。このとき入力される画像データ列が図7(a)で
示される様にABC・・CDE・・EFGHであるとす
る。次に、同一データのランを計数し、その計数値をN
に代入する。(S203)。そして、S203で得た計
数値Nを所定のしきい値Nthと比較し(S204)、
計数値Nがしきい値Nthより小さいときはLZSS符号化
を行い(S205)、計数値Nがしきい値Nth以上の
ときはS203により計数された同一データのランをパ
ックすることによりBRL 符号化を行う(S206)。ま
た、S205、S206では符号化されたデータ数だけ
入力画像データのポインタnを増加させる。図7(a)
の画像データ列では文字CとEについてのランがしきい
値Nthより大きいとすると、比較部の処理より概念的
には入力画像データが図7(b)と図7(c)で表され
る二つのデータ列に分解され、それぞれがLZSS符号化手
段とBRL 符号化手段で符号化されることになる。
【0026】このように、LZSS及びBRL 符号化された2
系統に分割された圧縮データを一つの符号列に統合して
出力する(S207)。そして、再びS202に戻り、
処理を継続する。このS202からS207までのステ
ップを入力画像データが無くなるまで継続することによ
り画像データの圧縮が行われる。
系統に分割された圧縮データを一つの符号列に統合して
出力する(S207)。そして、再びS202に戻り、
処理を継続する。このS202からS207までのステ
ップを入力画像データが無くなるまで継続することによ
り画像データの圧縮が行われる。
【0027】ここで、本実施例によれば本画像データ圧
縮方式は図7(a)のような画像データ列を図7
(b)、(c)のような二つのデータ列に分解して処理
しているので、後で復号処理を行う際にそれぞれのデー
タの並び順が明確になるように符号化されている必要が
ある。そのために、本発明ではBRL にパックされた文字
列が図7(b)の文字列のどこに挿入されるかを示す挿
入位置をBRL 符号に付加することとする。このとき、挿
入位置は入力画像データ中の絶対アドレスで示しても良
いが、その場合入力画像データ数メガバイトの大きさを
持つので挿入位置を表すコードに3から4バイト必要と
なってしまう。そこで、BRL データの挿入位置を個々の
LZSS符号ブロック内におけるアドレスで示すことにす
る。LZSS符号は一つの符号が表す最大の文字列長は先読
みバッファ長で制限され、本実施例では18文字とな
る。よって、一つのLZSS符号ブロックは最大18x8=
144文字の画像データ列を表すことになるので、この
画像データ列内にBRL データを挿入する位置は8ビッ
ト、すなわち1バイトあれば符号化することができる。
縮方式は図7(a)のような画像データ列を図7
(b)、(c)のような二つのデータ列に分解して処理
しているので、後で復号処理を行う際にそれぞれのデー
タの並び順が明確になるように符号化されている必要が
ある。そのために、本発明ではBRL にパックされた文字
列が図7(b)の文字列のどこに挿入されるかを示す挿
入位置をBRL 符号に付加することとする。このとき、挿
入位置は入力画像データ中の絶対アドレスで示しても良
いが、その場合入力画像データ数メガバイトの大きさを
持つので挿入位置を表すコードに3から4バイト必要と
なってしまう。そこで、BRL データの挿入位置を個々の
LZSS符号ブロック内におけるアドレスで示すことにす
る。LZSS符号は一つの符号が表す最大の文字列長は先読
みバッファ長で制限され、本実施例では18文字とな
る。よって、一つのLZSS符号ブロックは最大18x8=
144文字の画像データ列を表すことになるので、この
画像データ列内にBRL データを挿入する位置は8ビッ
ト、すなわち1バイトあれば符号化することができる。
【0028】符号形式のより具体的な例を図8に示す。
最初に、LZSS符号化処理による符号形式は従来例で説明
した通りであり、非圧縮符号又は圧縮符号である個々の
符号LZCを8個づつまとめて一つの符号ブロックを形
成する。一方のBRL 符号化処理による符号は連続する画
像データの値を示す連続文字COLとそのランの長さを
示す連続長LEN及び、そのBRL データがLZSS符号ブロ
ックが表している画像データのどの位置に挿入されるか
を示す挿入位置POSから構成されている。例えば、あ
るLZSS符号ブロックが表すデータ列が図7(b)であ
り、もともとの画像データ列が図7(a)であったとす
る。図7(b)の文字列の各文字の位置をA=0、B=
1、D=2・・・とすると、文字CについてのBRL デー
タは文字Dの直前に挿入されるので、文字Dの位置で挿
入位置POSを表すことができ、挿入位置POS=2と
なる。文字EについてのBRL データは文字Fの直前に挿
入されるので、挿入位置POS=3となる。また、挿入
位置は上記のように全ての符号をLZSS符号ブロックの示
す文字列の先頭からの相対位置で表す必要はなく、現在
のBRL データの相対位置と直前のBRL データの相対位置
との差分で表すことも可能である。図7の例では文字C
の挿入位置はLZSS符号ブロック内で出てくる最初のBRL
データなので、初期挿入位置値を0とし、挿入位置PO
Sの値は現在の挿入位置の値と初期挿入位置値の差をと
り2ー0=2とする。そして、文字Eの挿入位置は現在
の挿入位置の値と直前のBRL データの絶対位置の値との
差をとり3ー2=1とする。こうして作成されたBRL 符
号は個々のLZSS符号ブロック毎に対応するもの同士でBR
L 符号ブロックを構成することができる。一般に一つの
LZSS符号ブロック内に挿入されるBRL データの数は不定
なので、BRL 符号ブロックは個々のBRL符号RLCがN
個(Nは0以上)集まって構成されている。実際に符号
が出力されるときは対応するLZSS符号ブロックとBRL 符
号ブロックが対になって出力される。このとき、BRL 符
号ブロックの大きさが不定なので、LZSS符号ブロックと
BRL 符号ブロックの境界が明確であるようにしなければ
ならない。この方法として、図8の出力符号形式(a)
にあるようにBRL 符号ブロックとLZSS符号ブロックの間
に区切りコードESCを入れる方法と、出力符号形式
(b)にあるようにBRL 符号ブロックの先頭にヘッダコ
ードHEADを入れる方法ある。例として、区切りコー
ドESCには挿入位置POSで使用されない値、すなわ
ち本実施例においては144以上の任意の値を利用すれ
ば良く、またヘッダコードHEADには少なくともBRL
符号ブロックに含まれるBRL 符号の数を持っていれば良
い。
最初に、LZSS符号化処理による符号形式は従来例で説明
した通りであり、非圧縮符号又は圧縮符号である個々の
符号LZCを8個づつまとめて一つの符号ブロックを形
成する。一方のBRL 符号化処理による符号は連続する画
像データの値を示す連続文字COLとそのランの長さを
示す連続長LEN及び、そのBRL データがLZSS符号ブロ
ックが表している画像データのどの位置に挿入されるか
を示す挿入位置POSから構成されている。例えば、あ
るLZSS符号ブロックが表すデータ列が図7(b)であ
り、もともとの画像データ列が図7(a)であったとす
る。図7(b)の文字列の各文字の位置をA=0、B=
1、D=2・・・とすると、文字CについてのBRL デー
タは文字Dの直前に挿入されるので、文字Dの位置で挿
入位置POSを表すことができ、挿入位置POS=2と
なる。文字EについてのBRL データは文字Fの直前に挿
入されるので、挿入位置POS=3となる。また、挿入
位置は上記のように全ての符号をLZSS符号ブロックの示
す文字列の先頭からの相対位置で表す必要はなく、現在
のBRL データの相対位置と直前のBRL データの相対位置
との差分で表すことも可能である。図7の例では文字C
の挿入位置はLZSS符号ブロック内で出てくる最初のBRL
データなので、初期挿入位置値を0とし、挿入位置PO
Sの値は現在の挿入位置の値と初期挿入位置値の差をと
り2ー0=2とする。そして、文字Eの挿入位置は現在
の挿入位置の値と直前のBRL データの絶対位置の値との
差をとり3ー2=1とする。こうして作成されたBRL 符
号は個々のLZSS符号ブロック毎に対応するもの同士でBR
L 符号ブロックを構成することができる。一般に一つの
LZSS符号ブロック内に挿入されるBRL データの数は不定
なので、BRL 符号ブロックは個々のBRL符号RLCがN
個(Nは0以上)集まって構成されている。実際に符号
が出力されるときは対応するLZSS符号ブロックとBRL 符
号ブロックが対になって出力される。このとき、BRL 符
号ブロックの大きさが不定なので、LZSS符号ブロックと
BRL 符号ブロックの境界が明確であるようにしなければ
ならない。この方法として、図8の出力符号形式(a)
にあるようにBRL 符号ブロックとLZSS符号ブロックの間
に区切りコードESCを入れる方法と、出力符号形式
(b)にあるようにBRL 符号ブロックの先頭にヘッダコ
ードHEADを入れる方法ある。例として、区切りコー
ドESCには挿入位置POSで使用されない値、すなわ
ち本実施例においては144以上の任意の値を利用すれ
ば良く、またヘッダコードHEADには少なくともBRL
符号ブロックに含まれるBRL 符号の数を持っていれば良
い。
【0029】次に、LZSS方式を用いて本発明の復号化処
理を実現した実施例について、図3及び図9を使って説
明する。最初に、復号化処理の初期化が行われる(S3
01)。ここでは、LZSS符号化のための参照辞書の初期
化を行い、入力圧縮符号の先頭にポインタnをセットす
る。そして、圧縮符号をn番目から順次入力し、入力し
た符号数だけnを増加させる(S302)。そして、入
力した圧縮符号がLZSS方式ので符号化されたものかBRL
方式で符号化されたものかを判別し(S303)、LZSS
方式による圧縮符号はLZSS復号化処理が行われ(S30
4)、BRL 方式による圧縮符号はBRL 復号化処理が行わ
れる(S305)。S303における圧縮符号の各復号
化部への振り分けは次のように行われる。まず、図8の
出力符号形式(a)の圧縮符号に対しては、先頭の符号
はBRL 符号とし、以下区切りコードが現れるまではBRL
符号とし、区切りコードが現れたら、続く符号はLZSS符
号なのでまずフラグコードを読み、フラグコードに従っ
てその後のLZC1からLZC8までの8個の符号はLZ
SS符号とする。そして、また区切りコードが現れるまで
入力符号はBRL 符号であるとし、以降同様に続ける。図
8の出力符号形式(b)の圧縮符号に対しては、まずヘ
ッダコードを読み、そこに書かれているBRL 符号ブロッ
クに含まれるBRL符号数Nを読み、その数だけRLC1
からRLNまではBRL 符号とし、次にフラグコードに基
づくLZC1からLZC8までをLZSS符号とし、以下同
様に続ける。
理を実現した実施例について、図3及び図9を使って説
明する。最初に、復号化処理の初期化が行われる(S3
01)。ここでは、LZSS符号化のための参照辞書の初期
化を行い、入力圧縮符号の先頭にポインタnをセットす
る。そして、圧縮符号をn番目から順次入力し、入力し
た符号数だけnを増加させる(S302)。そして、入
力した圧縮符号がLZSS方式ので符号化されたものかBRL
方式で符号化されたものかを判別し(S303)、LZSS
方式による圧縮符号はLZSS復号化処理が行われ(S30
4)、BRL 方式による圧縮符号はBRL 復号化処理が行わ
れる(S305)。S303における圧縮符号の各復号
化部への振り分けは次のように行われる。まず、図8の
出力符号形式(a)の圧縮符号に対しては、先頭の符号
はBRL 符号とし、以下区切りコードが現れるまではBRL
符号とし、区切りコードが現れたら、続く符号はLZSS符
号なのでまずフラグコードを読み、フラグコードに従っ
てその後のLZC1からLZC8までの8個の符号はLZ
SS符号とする。そして、また区切りコードが現れるまで
入力符号はBRL 符号であるとし、以降同様に続ける。図
8の出力符号形式(b)の圧縮符号に対しては、まずヘ
ッダコードを読み、そこに書かれているBRL 符号ブロッ
クに含まれるBRL符号数Nを読み、その数だけRLC1
からRLNまではBRL 符号とし、次にフラグコードに基
づくLZC1からLZC8までをLZSS符号とし、以下同
様に続ける。
【0030】次に、S304及びS305により個別に
復号化されたデータは、ひとつのデータに結合して、画
像データとして出力される(S306)。このときの、
LZSS復号化データとBRL 復号化データの出力方法を図9
により更に詳しく説明する。なお、このときのデータ列
の例として図7で示したデータ列を用いる。まず、図9
(a)のようにLZSS符号を復号した結果”ABDFG
H”が上段のLZSSデータバッファに記憶される。また、
復号する前のBRL 符号を下段のBRL 符号バッファに記憶
する。ここで、BRL 符号は挿入位置POS、連続文字C
OL、連続長LENの順番に書かれている。それぞれの
記号にPOSiのように添え字iが付されているとき
は、それがi番目のBRL 符号であることを示している。
また、データ読み出し用のカウンタCNTを初期値0に
セットする。まず、カウンタCNTの値と最初のBRL 符
号の挿入位置POS1の値を比較する。ここでは、CN
T=0、POS1=2と値が異なっているので、LZSSデ
ータバッファから1文字”A”を出力し、カウンタ値を
1だけインクリメントする(図9(b))。次も、CN
T=1、POS1=2と値が異なるので、同様に”B”
を出力し、カウンタ値を1だけインクリメントする(図
9(c))。図9(c)では、CNT=POS1=2と
カウンタ値と挿入位置の値が等しくなるので、BRL デー
タを出力する。このときの連続文字COL1=”C”な
ので、文字Cを連続長LEN1で表される文字数分だけ
出力する(図9(c))。さらに、次のBRL 符号の挿入
位置とカウンタを比較すると、CNT=2、POS2=
3と値が異なるので、LZSSデータバッファから文字”
D”を出力し、カウンタ値をインクリメントする(図9
(e))。同様に、カウンタ値と挿入位置の値が等しい
ときはBRL 符号を復号して出力し、それぞれの値が異な
るときはLZSSデータバッファから1文字出力するように
処理を進めると、最終的には図9(g)のようになり、
出力画像データ”ABC・・・CDE・・・EFGH”
が得られる。これは元々の画像データ図7(a)と等し
く、正しく復号されたことが分かる。以上の画像データ
出力方法はBRL 符号の挿入位置が相対位置で示されてい
ても、ほとんど同様の手続きで行われる。一つ異なるの
は、カウンタと比較される挿入位置の値を前回の値と順
次足し合わせていくことだけである。
復号化されたデータは、ひとつのデータに結合して、画
像データとして出力される(S306)。このときの、
LZSS復号化データとBRL 復号化データの出力方法を図9
により更に詳しく説明する。なお、このときのデータ列
の例として図7で示したデータ列を用いる。まず、図9
(a)のようにLZSS符号を復号した結果”ABDFG
H”が上段のLZSSデータバッファに記憶される。また、
復号する前のBRL 符号を下段のBRL 符号バッファに記憶
する。ここで、BRL 符号は挿入位置POS、連続文字C
OL、連続長LENの順番に書かれている。それぞれの
記号にPOSiのように添え字iが付されているとき
は、それがi番目のBRL 符号であることを示している。
また、データ読み出し用のカウンタCNTを初期値0に
セットする。まず、カウンタCNTの値と最初のBRL 符
号の挿入位置POS1の値を比較する。ここでは、CN
T=0、POS1=2と値が異なっているので、LZSSデ
ータバッファから1文字”A”を出力し、カウンタ値を
1だけインクリメントする(図9(b))。次も、CN
T=1、POS1=2と値が異なるので、同様に”B”
を出力し、カウンタ値を1だけインクリメントする(図
9(c))。図9(c)では、CNT=POS1=2と
カウンタ値と挿入位置の値が等しくなるので、BRL デー
タを出力する。このときの連続文字COL1=”C”な
ので、文字Cを連続長LEN1で表される文字数分だけ
出力する(図9(c))。さらに、次のBRL 符号の挿入
位置とカウンタを比較すると、CNT=2、POS2=
3と値が異なるので、LZSSデータバッファから文字”
D”を出力し、カウンタ値をインクリメントする(図9
(e))。同様に、カウンタ値と挿入位置の値が等しい
ときはBRL 符号を復号して出力し、それぞれの値が異な
るときはLZSSデータバッファから1文字出力するように
処理を進めると、最終的には図9(g)のようになり、
出力画像データ”ABC・・・CDE・・・EFGH”
が得られる。これは元々の画像データ図7(a)と等し
く、正しく復号されたことが分かる。以上の画像データ
出力方法はBRL 符号の挿入位置が相対位置で示されてい
ても、ほとんど同様の手続きで行われる。一つ異なるの
は、カウンタと比較される挿入位置の値を前回の値と順
次足し合わせていくことだけである。
【0031】すなわち、POSi=POSi+POS
(iー1)として挿入位置の値を更新するということで
ある。
(iー1)として挿入位置の値を更新するということで
ある。
【0032】
【発明の効果】以上に説明したように本発明によれば、
画像の統計的性質に依存しないユニバーサル符号化部に
BRL 符号化部を組み合わせることにより、符号化部のユ
ニバーサル性を保存したままテキスト等の同一データの
長いランを有するデータをより高圧縮することができ
る。
画像の統計的性質に依存しないユニバーサル符号化部に
BRL 符号化部を組み合わせることにより、符号化部のユ
ニバーサル性を保存したままテキスト等の同一データの
長いランを有するデータをより高圧縮することができ
る。
【0033】また、BRL 符号化・復号化部は簡単な構成
で実現可能で、ユニバーサル符号化・復号化処理を単体
で行うことに比べて処理量はほとんど増加せず、処理速
度の劣化がない。
で実現可能で、ユニバーサル符号化・復号化処理を単体
で行うことに比べて処理量はほとんど増加せず、処理速
度の劣化がない。
【0034】特に、プリンタ等の印刷処理で要求される
復号化処理の高速性が劣化することなく、画像データの
圧縮・伸長を行うことができる。
復号化処理の高速性が劣化することなく、画像データの
圧縮・伸長を行うことができる。
【図1】本発明のデータ圧縮及び伸長方式の基本構成を
示す図
示す図
【図2】LZSS方式を利用した符号化処理の流れを示す図
【図3】LZSS方式を利用した復号化処理の流れを示す図
【図4】LZSS符号化及び復号化処理を説明するための図
【図5】LZSS方式の辞書の構成を説明するための図
【図6】従来のデータ圧縮及び伸長方式の構成を示す図
【図7】本実施例の入力データの流れを説明するための
図
図
【図8】本実施例の符号形式を説明するための図
【図9】本実施例の復号化処理の画像データ出力処理を
説明するための図
説明するための図
101 ラン計数部 102 比較部 103 ユニバーサル符号化部 104 BRL符号化部 105 出力部 111 符号解析部 112 ユニバーサル復号化部 113 BRL復号化部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04N 7/24 - 7/68
Claims (2)
- 【請求項1】 ラスタ状の画像データを圧縮する画像デ
ータ圧縮方式において、入力画像データ中の同一データ
の連続数を計数する計数部と、前記計数部により計数さ
れた計数値と所定のしきい値を比較する比較部と、前記
計数部および比較部により前記所定のしきい値以上の連
続データを有しない複数のデータ列から構成される第1
のデータ列と、前記所定のしきい値以上の連続データか
らなる複数のデータ列から構成される第2のデータ列に
分解された入力画像データに対し、符号化済のデータ列
を辞書として参照し、入力画像データ列と最長一致する
画像データ列を少なくとも辞書の開始アドレスと一致長
により表すことによって符号化し、前記第1のデータ列
を圧縮する第1の符号化部と、同一データの連続に対
し、少なくともそのデータの連続が現れた入力画像デー
タ中の位置と、そのデータ種と、その連続長を符号化
し、前記第2のデータ列を圧縮する第2の符号化部と、符
号化したデータを出力する出力部とから構成され、前記
データの連続が現われた入力画像データ中の位置に関す
る情報を符号化することにより前記第1の符号化部にお
いて複数データを一括して圧縮符号に変換するようにし
たことを特徴とするデータ圧縮方式。 - 【請求項2】 請求項1記載のデータ圧縮方式によって
圧縮符号化された画像データを伸長する画像データ伸長
方式において、入力された圧縮符号を解析し、前記第1
の符号化部によって符号化されたものか、前記第2の符
号化部によって符号化されたものかを識別する解析部
と、前記解析部によって前記第1の符号化部による圧縮
符号であることが解析されたときには画像データを伸長
する第1の復号化部と、前記第2の符号化部による圧縮符
号であることが解析されたときには画像データを伸長す
る第2の復号化部とから構成されていることを特徴とす
るデータ伸長方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14742594A JP3266419B2 (ja) | 1994-06-29 | 1994-06-29 | データ圧縮・伸長方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14742594A JP3266419B2 (ja) | 1994-06-29 | 1994-06-29 | データ圧縮・伸長方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0818981A JPH0818981A (ja) | 1996-01-19 |
JP3266419B2 true JP3266419B2 (ja) | 2002-03-18 |
Family
ID=15430032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14742594A Expired - Fee Related JP3266419B2 (ja) | 1994-06-29 | 1994-06-29 | データ圧縮・伸長方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3266419B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000261803A (ja) * | 1999-03-04 | 2000-09-22 | Sega Enterp Ltd | 画像情報の符号化方法及び復号化方法 |
EP1318665B1 (en) | 2001-12-06 | 2015-02-25 | Canon Kabushiki Kaisha | Image processing apparatus and method, program, and storage medium |
US8125364B2 (en) | 2007-08-13 | 2012-02-28 | Nec Corporation | Data compression/decompression method |
JP2010154156A (ja) * | 2008-12-25 | 2010-07-08 | Casio Electronics Co Ltd | データ圧縮装置 |
JP2012160985A (ja) * | 2011-02-02 | 2012-08-23 | Fuji Xerox Co Ltd | 情報処理装置及び情報処理プログラム |
-
1994
- 1994-06-29 JP JP14742594A patent/JP3266419B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0818981A (ja) | 1996-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4479530B2 (ja) | データ圧縮装置、及びデータ復元装置 | |
JP3541930B2 (ja) | 符号化装置及び復号化装置 | |
EP0846373B1 (en) | Method and apparatus for compressing and decompressing image data | |
US5933104A (en) | Method and system for compression and decompression using variable-sized offset and length fields | |
JP3009727B2 (ja) | 改良形データ圧縮装置 | |
JP3337633B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6650261B2 (en) | Sliding window compression method utilizing defined match locations | |
JP4905562B2 (ja) | データ圧縮装置、及びデータ復元装置 | |
KR100314419B1 (ko) | 변형렘펠-지브1을인코딩하기위한방법및장치 | |
US6744388B1 (en) | Hardware-friendly general purpose data compression/decompression algorithm | |
EP0903866B1 (en) | Method and apparatus for data compression | |
US5857035A (en) | Arithmetic coding compressor for encoding multiple bit values | |
KR100536980B1 (ko) | 데이터 압축 방법, 데이터 압축해제 방법 및 데이터 압축 장치 | |
US6301394B1 (en) | Method and apparatus for compressing data | |
KR100906041B1 (ko) | 폰트 압축 및 검색 방법 및 장치 | |
JP3266419B2 (ja) | データ圧縮・伸長方式 | |
KR19980081236A (ko) | 데이터 압축/복원 방법 및 압축 장치 | |
US6668093B2 (en) | Method for improving dictionary-based compression by ordering raster data | |
JP3124887B2 (ja) | データ圧縮・復号方式 | |
JP3283150B2 (ja) | データ圧縮・圧縮解除法 | |
US5745603A (en) | Two dimensional context model obtained without a line buffer for arithmetic coding | |
EP0494038A2 (en) | Run-length encoding in extensible character sets | |
JPH05241776A (ja) | データ圧縮方式 | |
KR100462603B1 (ko) | 영상 데이타 압축 및 복원 방법 및 장치 | |
GB2305277A (en) | A lossy data compression method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |