JP3105330B2 - 画像データの圧縮復元方式 - Google Patents
画像データの圧縮復元方式Info
- Publication number
- JP3105330B2 JP3105330B2 JP04035308A JP3530892A JP3105330B2 JP 3105330 B2 JP3105330 B2 JP 3105330B2 JP 04035308 A JP04035308 A JP 04035308A JP 3530892 A JP3530892 A JP 3530892A JP 3105330 B2 JP3105330 B2 JP 3105330B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- image data
- universal
- pixel
- 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
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Debugging And Monitoring (AREA)
- Image Processing (AREA)
Description
を取り扱うファクシミリ装置や各種コンピュータシステ
ムにおいて利用される画像データの圧縮復元方式に関す
る。
が発展し、文書が、白黒2値の画像情報として、ファク
シミリや光ディスクファイルシステム等で扱われるよう
になっている。
する時、画像情報のデータ量は、文字画像に比べ、非常
に大きく10数倍〜数10倍にもなる。従って、蓄積や
伝送等で、画像情報を効率良く扱うには、効率的なデー
タ圧縮を加え、データ量を減らすことが必須となる。
り、図6はユニバーサル型の説明図(Aはユニバーサル
型のアルゴリズム説明図、Bはユニバーサル型の符号形
式説明図)、図7はLZW符号化処理のフローチャー
ト、図8はLZW復号化処理のフローチャート、図9A
は、LZW符号化の具体的説明図、図9Bは辞書構成例
の説明図、図10はLZW復号化の具体的説明図であ
る。
(Aは圧縮部の構成図、Bは復元部の構成図)、図12
は圧縮部の構成図、図13は中間データの説明図(Aは
中間データのフォーマット、Bはシフトレジスタ内のデ
ータ、Cは中間データ)、図14は復元部の構成図であ
る。
部、3は前処理変換部、4はユニバーサル符号化部、3
Aは後処理変換部、4Aはユニバーサル復号化部、5は
復元部を示す。
レクタ回路、8はカウンタ、9は否定回路(インバー
タ)、10−1〜10−4はシフトレジスタ、11−1
〜11−4はレジスタ、12−1〜12−4はEOR
(排他的論理和回路)、13はOR(論理和回路)を示
す。
部、15はFIFOのレジスタ、16はカウンタ、17
はレジスタ、18−1〜18−4はシフトレジスタ、1
9はレジスタを示す。
ル符号化方式が知られていた。このユニバーサル符号化
方式は、情報保存型のデータ圧縮方式であり、データ圧
縮時に、情報源の統計的な性質を予め仮定しないため、
種々のタイプ(文字コード、オブジェクトコ−ド、画像
など、)のデータに適用することができる。
説明する。ユニバーサル符号の代表的なものとしては、
ZiV−Lempel(ジブ−レンペル)符号がある。
(詳しくは、例えば、宗像「ZiV−Lempelのデ
ータ圧縮法」、情報処理、VoL、26、No1、19
85年を参照のこと)。
バーサル型と増分分解型(Incremental p
arsing)の2つのアルゴリズムが提案されてい
る。以下、前記2つのアルゴリズム及びその改良したア
ルゴリズムについて、簡単に説明する。
れる。符号化データを、過去のデータ系列の任意の位置
から一致する最大長の系列に区切り(部分列)、過去の
系列の複製として符号化する方式である。以下図面に基
づいて説明する。
el(ジブ−レンペル)符号の符号化部の基本的な構成
を示す。この符号化部の符号化処理では、符号化データ
を、過去のデータ系列の任意の位置から、一致する最大
長の系列に区切り、過去の系列の複製として符号化す
る。
号化済みの入力データを格納するPバッファと、これか
ら符号化するデータを格納するQバッファとを備え、Q
バッファのデータ系列と、Pバッファのデータ系列の全
ての部分系列とを照合して、Pバッファ中で一致する最
大長の部分系列を求める。
分系列を指定するために、「その最大長の部分系列の開
始位置」と、「一致する長さ(例えばワード数)」と、
「不一致をもたらしたシンボル(例えば次のワードのデ
ータ)」との組(図6のBに示した情報の組)を符号化
する。
列をPバッファに移して、Qバッファ内に符号化したデ
ータ系列分の新たなデータ系列を入力する。以下、同様
の処理を繰り返していくことで、データを部分系列に分
解して符号化を実行する。
型として、LZSS符号がある(例えば、T.C.Be
ll、“Better OPM/L Text Com
pression”、IEEE Trans、On C
ommun、VoL、COM−34、No.12、De
c、1986を参照)。
の最大一致系列の開始位置、一致する長さの組と、次の
シンボルをフラグで区別し、符号量の少ない方で符号化
するものである。
解型のアルゴリズムは、入力データの系列を、増分分解
して符号化するものであり、圧縮率はユニバーサル型よ
り劣るが、シンプルで、計算も容易であることが知られ
ている。
方式では、入力シンボルの系列を、X=aababab
aa・・・とすると、成分系列x=X0X1X2・・・
への増分分解は、次のようにする。
いた最長の列とし、X=a・ab・aba・b・aa・
・・となる。従って、X0=λ(空列)、X1=X0
a、X2=X1b、X3=X2a、X4=X0b、X5
=X1a、・・・と分解できる。
用いて、「成分のインデックス」と、「次のシンボル」
の組で符号化する。即ち、増分分解型のアルゴリズム
は、符号化パターンについて、過去に分解した部分列の
内、最大長一致するものを求め、過去に分解した部分列
の複製として符号化するものである。
良したものとして、LZW符号がある。(例えば、T.
A.Welch、“A Technique for
High−Performance Data Com
pression”、Computer、June 1
984参照)。
理について説明する。まずLZW符号化処理は、書き替
え可能な辞書を持ち、入力文字列の中を相異なる文字列
(部分列)に分け、この文字列を出現した順に参照番号
を付けて辞書に登録すると共に、現在入力している文字
列を、辞書に登録してある最長一致文字列の参照番号で
表して符号化するものである。
に図10にLZW復号化の説明図を示し、更に図9Bに
符号化及び復号化時に作成される辞書構成例を示す。
尚、図9、10にあっては説明を簡単にするため、ab
cの3文字の組合せからなるデータを圧縮、復元する場
合の例を取り上げている。
プS1で予め辞書に全文字につき一文字からなる文字列
を初期値として登録してから符号化を始める。ステップ
S1の符号化は入力した最初の文字Kにより辞書を検索
して参照番号ωを求め、これを語頭文字列とする。
Kを読込み、ステップS3で文字入力が終了したか否か
チェックした後、ステップS4に進んでステップS1で
求めた語頭文字列ωにステップS2で読込んだ文字Kを
加えた拡張文字列(ωK)が辞書にあるか否か探す。
ければ、ステップS6に進んでステップS1で求めた文
字Kの参照番号ωを符号語code(ω)として出力
し、また文字列(ωK)に新たな参照番号を付加して辞
書に登録し、更にステップS2の入力文字Kを参照番号
ωに置き換えると共に辞書アドレスnをインクリメント
してステップS2に戻って次の文字Kを読み込む。
書にあればステップS5で文字列(ωK)を参照番号ω
に置き換え、再びステップS2に戻ってステップS4で
文字列(ωK)が辞書から探せなくなるまで最大一致長
の検索を続ける。
明すると次のようになる。まず図9Aの入力データin
putは左から右へと読む。最初の文字aを入力した
時、辞書には文字aの他に一致する文字列がないので、
OUTPUT CODE1(参照番号ω)を符号語して
出力する。そして文字aを語頭文字列ωとする。
この入力文字を語頭文字列ωに加えた拡張文字列ωK=
abは辞書にないことから、文字bのOUTPUT C
ODE2を符号語として出力する。そして、拡張文字冊
ωK=abに参照番号4を付けて辞書に登録する。実際
の辞書登録は図9Bの右側に示すように文字列1bとし
て登録される。そして文字bが語頭文字列ωとなる。
と、文字bに語頭文字列ωを加えた拡張文字列ωK=b
a=2aは辞書にないことから、文字aのOUTPUT
CODE1を符号語として出力した後、拡張文字列ω
K=baを2aで表わし、参照番号5を付けて辞書に登
録する。そして文字aが新たな語頭文字列ωとなる。
ωK=abは1bの符号語4として既に辞書に登録され
ているので、文字列ωKを新たな語頭文字列ωとし、5
番目の文字cを入力して拡張文字列ωK=4c=abc
を作る。この拡張文字列ωK=abcは辞書に登録され
ていないことから、文字列ab=1bのOUTPUTC
ODE4を符号語として出力し、拡張文字列ωK=ab
cを辞書に4cの形で符号語6として登録する。以下同
様に、この処理を続ける。
作を行う。図8のLZW復号化では、符号化時と同様に
予め辞書に全文字につき一文字からなる文字列を最初値
として登録してから復号化を始める。
号)を読込み、現在のCODEをOLDcodeとし、
最初の符号は既に辞書に登録された一文字の参照番号い
ずれかに該当することから、入力符号CODEに一致す
る文字code(K)を探し出し、文字Kを出力する。
FINcharにセットしておく。次にステップS2に
進んで次の符号を読込んでCODEにINcodeとし
てセットする。ステップS3で新たな符号があるか否
か、即ち符号入力の終了の有無をチェックしてステップ
S4に進み、ステップS3で入力された符号CODEが
辞書に定義(登録)されているか否かチェックする。
辞書に登録されているため、ステップS5に進んで符号
CODEに対応する文字列code(ωK)を辞書から
読出し、ステップS6で文字Kを一時的にスタックし、
参照番号CODE(ω)を新な符号CODEとして再度
ステップS5に戻り、このステップS5、ステップS6
の手順を再帰的に参照番号ωが一文字Kに至るまで繰り
返し、最後にステップS7に進んでステップS6でスタ
ックした文字をLIFO(Last In Fast
Out) 形式でポップアップして出力する。
符号ωと今回復元した文字列の最初の1文字Kを組(ω
K)と表した文字列に、新たな参照番号を付加して辞書
に登録する。
的に説明すると次のようになる。まず図10で最初の入
力符号語(INPUT CODE)は1であり、一文字
a、b、cについては既に参照番号1、2、3として図
9Bに示すように辞書に登録されているため、辞書の参
照により符号語1に一致する参照番号の文字列aに置き
換えて出力する。
に置き換えて出力する。このとき前回処理した符号語1
と今回復号した文字列の1番目の文字bとを組合わせた
文字列ωK=1bに新たな参照番号4を付加して辞書に
登録する。
た文字列1bから文字列abと置き換えて文字列abを
出力する。同時に前回処理した符号語2と今回復号した
文字列の1番目の文字aとの組合せた文字列ωK=2a
(=ba)に新たな参照番号5を付加して辞書に登録す
る。
ユニバーサル符号化方式は、情報保存型のデータ圧縮方
式であり、データ圧縮時に、情報源の統計的な性質を仮
定しない。従って、種々のタイプ(文字コード、オブジ
ェクトコ−ド、画像等)のデータに適用できる。
値画像データを圧縮した場合、ある程度の圧縮率は得ら
れるが、従来使用されていた2値画像専用の圧縮方式
(MMR、予測符号化)の圧縮率を超えることはできな
かった。
ーンと、そのパターンのランレングスとの組で表現した
中間データに変換し、該中間データをユニバーサル符号
化する方式が考えられていた。以下、その概要を説明す
る。
データの圧縮部及び復元部の構成を、図11に示す。図
11に示すように、圧縮部1には、画素数保持部2、前
処理変換部3、ユニバーサル符号化部4を設ける。前記
画素数保持部2には、外部からの横画素数及び縦画素数
を保持させておき、前処理変換部3で、入力画像データ
の前処理を行って中間データを作成した後、ユニバーサ
ル符号化部4で符号化を行い、符号化データを出力す
る。
ニバーサル復号化部4A、後処理変換部3Aを設ける。
この復元部5では、外部からの横画素数、及び縦画素数
を、画素数保持部2に保持しておき、入力した符号化デ
ータを、ユニバーサル復号化部4Aで復号化して中間デ
ータに変換した後、後処理変換部3Aで後処理を行っ
て、画像データを復元する。
明する。先ず、図12に示した圧縮部について説明す
る。図12において、11−i(i=1〜4)は第iラ
インのレジスタであって、画像データから読み取られる
隣接する4ライン中の第iラインの同一画素位置の画素
の白黒情報を保持するもの、10−i(i=1〜4)は
第iラインのシフトレジスタであって、画像データから
読み取られる隣接する4ライン中の第iラインの全画素
の白黒情報を保持するもの、12−i(i=1〜4)は
第iラインのEOR回路(排他的論理和回路)であっ
て、第iラインレジスタ11−iが保持する画素の白黒
情報と第iラインシフトレジスタ10−iの先頭位置の
画素の白黒情報とが両方とも黒あるいは白であるときに
“0”を出力するものである。
あって、4個設けられる第iラインのEOR回路12−
iのいずれか1つから“1”が出力されるときに、
“1”を出力するもの、9は否定回路(インバータ)で
あって、第1のOR回路13の出力を反転することで4
個設けられる第iラインのEOR回路12−iのすべて
が“0”を出力するときにカウンタ8の計数端子に
“1”を出力するものである。
1Aの画素数保持部2に対応し、シフトレジスタ10−
1〜10−4、レジスタ11−1〜11−4、EOR1
2−1〜12−4、OR回路13、否定回路9、カウン
タ8、出力セレクタ回路等は、前処理変換部3に対応す
る。
3を参照しながら説明する。2値画像データがシフトレ
ジスタ10−4に入力すると、シフトレジスタ10−1
〜10−4に、それぞれ1ラインずつシフトしながら格
納される。まず、シフトレジスタ10−1〜10−4か
ら、それぞれ1画素目が読み出されて、それぞれレジス
タ11−1〜11−4にセットされる。
4の1画素目が読み出されて、読み出された画素の白黒
がそれぞれレジスタ11−1〜11−4内の以前の4ラ
イン分の白黒パターンと比較される。比較は排他的論理
和回路12−1〜12−4で排他的論理和をとることで
行われる。読み出した各ライン分の白黒のパターンが以
前の各ライン分の白黒パターンと一致すれば、対応する
各排他的論理和は0が出力され、もし、一致しなければ
1が出力される。これらの出力は論理和回路13に加え
られる。
の4ラインの白黒パターンと一致すれば、論理和回13
からは0が出力される。この出力は否定回路9でインバ
ートされた後、カウンタ8に加えられ、カウンタ8を1
つカウントアップさせる。カウンタ8ではカウント値が
15になるとキャリィが出力され、この信号は出力セレ
クタ回路7を経て、ユニバーサル符号化部4に符号化を
行うように指示する。
の4ラインの白黒パターンと一致しなければ、排他的論
理和回路12−1〜12−4の内、少なくとも一つは出
力が1になり、論理和回路13からは1が出力される。
この出力信号は出力セレクタ回路7を経て、ユニバーサ
ル符号化部4に符号化を行うように指示する。
より、例えば図13Aのフォーマットに従った図13C
に示す中間データが加えられ、この中間データの系列が
符号化される。図13Cの中間データは、8ビットから
なり、上位4ビットがレジスタ10−1〜10−4の内
容を集めたもの(画素パターン)であり、下位4ビット
にカウンタの値(ランレングス)がセットされる。
の縦方向の4画素が、横方向に10画素並んでいれば、
ランレングスは「1001」となるから、中間データ
(4bitの画素パターン+4bitのランレングス)
は、13Cのように「11011001」となる。
符号化部4に入力されたあと、出力セレクタ回路7の出
力はカウンタ8を−1にクリアするよう指示するととも
に、レジスタ11−1〜11−4に、読み出した4ライ
ン分の白黒パターンを新しくセットするように指示す
る。以下、レジスタ10−1〜10−4から1画素ずつ
読み出し、レジスタ10−1〜10−4の全画素を符号
化するまで同様の操作を繰り返す。4ラインの全画素の
符号化が終了したなら、次の4ラインをレジスタ10−
1〜10−4に入力して、画像全体を符号化するまで同
様の動作を繰り返す。
図14を参照しながら説明する。図14において、ユニ
バーサル復号化部4Aは、入力した符号化データを復号
化して、中間データ(この例では8ビット)に変換する
もの、レジスタ19は、前記中間データを格納し、画素
パターンの4ビットと、ランレングスの4ビットに分割
するためのレジスタである。
するもの、シフトレジスタ18−1〜18−4は、レジ
スタ17の出力と、カウンタの計数値によりデータをシ
フトして、複製データを作成するためのもの、FIFO
15は、出力用のレジスタである。
のランレングスと、外部からの横画素数及び縦画素数を
入力し、シフトレジスタを制御するものである。以下、
復元部5の処理を簡単に説明する。
復号化部4Aにより復号化され、中間データとなる(8
ビット)。この中間データは、一旦、レジスタ19に格
納され、画素パターン(4ビット)とランレングス(4
ビット)とに分割される。
7に入力し、ランレングスはカウンタ16と出力制御部
14に入力する。その後、レジスタ17の画素パターン
は、シフトレジスタ18−1〜18−4に入力し、ここ
で、カウンタ16から出力されるランレングスの計数値
だけシフトする。
ンを複製して元の画像データに復元する。そして、出力
制御部14の指示により、シフトレジスタ18−1〜1
8−4のデータを出力し、FIFOのレジスタ15を介
して、復元した画像データを出力する。
のにおいては、次のような課題があった。 (1) 従来の画像データ圧縮/復元方式(図11〜14参
照)は、処理中に、ハード的なエラーが発生しない前提
のもとで考えられたものである。
ると、符号データに影響を及ぼし、正常な処理ができな
くなる。 (2) ユニバーサル符号化では、記憶装置上に確保した領
域に、辞書を作成しながら、その辞書を使用して処理を
行う。
要因などで破壊されないという前提条件のもとで成立す
る。しかし、画像データの圧縮/復元装置として構成し
た場合、記憶装置が破壊されたり、データが化けるとい
った障害も発生する。
理に使用されていても、それが正規のデータなのか、誤
ったデータなのかを判断することができなかった。本発
明は、このような従来の課題を解決し、画像データの圧
縮/復元処理に使用されているデータが、正規のデータ
なのか、誤ったデータなのかを、処理の途中で判断でき
るようにして、処理の信頼性を高めることを目的とす
る。
図であり、図1のAの圧縮部の構成、図1のBは復元部
の構成を示す。
す。また、20は中間データ保持部、21は計数部、2
2は比較部を示す。本発明は上記の課題を解決するた
め、次のように構成した。
を圧縮する画像データの圧縮方式において、前記画像デ
ータを、画素パターンと、そのパターンのランレングス
とを組にして表現した中間データに変換する前処理変換
部3と、符号化対象の画像データの横/縦画素数を保持
する画素数保持部2と、前記前処理変換部3で変換した
中間データのランレングスを計数する計数部21と、前
記計数部21で計数した値を、前記画素数保持部2で保
持している値と比較する比較部22と、前記前処理変換
部3で変換した中間データを、ユニバーサル符号化する
ユニバーサル符号化部4とを具備し、入力した画像デー
タを、中間データに変換し、該中間データをユニバーサ
ル符号化して符号化データを出力すると共に、その処理
の過程で、前記比較部22の比較結果に基づいて、誤っ
たデータが使用されたことを検出するようにした。
を、ユニバーサル型ユニバーサル符号化とした。 (3) 上記構成(1)のユニバーサル符号化を、増分分解
型ユニバーサル符号化とした。
の画素パターンと、そのパターンランレングスとを組に
して表現した中間データを、ユニバーサル符号化した符
号化データから、画像データを復元する画像データの復
元方式において、前記符号化データを、ユニバーサル復
号化して、中間データに変換するユニバーサル復号化部
4Aと、復号化対象の画像データの横/縦画素数を保持
する画素数保持部2と、前記ユニバーサル復号化部4A
で変換した中間データのランレングスを計数する計数部
21と、前記計数部21で計数した値を、前記画素数保
持部2で保持している値と比較する比較部22と、前記
ユニバーサル復号化部4Aで変換した中間データから、
該中間データのランレングス分だけの画素パターンを出
力して、画像データに変換する後処理変換部3Aとを具
備し、入力した符号化データを、中間データに変換し、
該中間データを画像データに復元して出力すると共に、
その処理の過程で、前記比較部22の比較結果に基づい
て、誤ったデータが使用されたことを検出するようにし
た。
を、ユニバーサル型ユニバーサル符号化とした。 (6) 上記構成(4)のユニバーサル符号化を、増分分解
型ユニバーサル符号化とした。
しながら説明する。 (圧縮部)・・・図1のA参照 予め、外部から与えられた横画素数及び縦画素数を、画
素数保持部2に保持しておく。この状態で、前処理変換
部3に画像データが入力すると、前処理を行って、中間
データ(画素パターン+パターンランレングス)に変換
し、中間データ保持部20に保持する。
ランレングス)は、計数部21で計数され、その計数値
は比較部22へ送る。比較部22では、前記計数値を、
画素数保持部2に保持している値と比較し、その結果に
応じてエラー情報を出力する。
る中間データは、ユニバーサル符号化部4へ送られ、こ
こでユニバーサル符号化されて、符号化データ、即ち圧
縮されたデータに変換されて出力する。
憶装置等のハード障害により、誤ったデータが読み出さ
れ、処理に使用された場合には、処理の途中で、検出さ
れる(エラー情報)。
を保持しておく。ユニバーサル復号化部4Aに、符号化
データが入力すると、ここでユニバーサル復号化されて
中間データに変換される。
に保持された後、そのランレングスが計数部21で計数
され、その計数値が比較部22へ送られる。比較部22
では、前記計数値を、画素数保持部2に保持されている
値と比較し、その結果に応じてエラー情報を出力する。
る中間データは、後処理変換部3Aに送られ、ここで元
の画像データに復元される。このようにすれば、圧縮部
と同様に、誤ったデータが読み出され、処理に使用され
た場合には、処理の途中で検出される。従って、画像デ
ータの圧縮/復元処理の信頼性を高めることが可能とな
る。
する。図2〜図5は、本発明の実施例を示した図であ
り、図2は処理説明図(圧縮時)、図3は処理説明図
(復元時)、図4は圧縮部の構成図、図5は復元部の構
成図である。
号は同一のものを示す。また、23は画素アダー、2
4、27は比較器、25、26はレジスタ、28はライ
ンアダーを示す。
明 先ず、図2、図3に基づいて、本実施例の処理の概要を
説明する。 (画像データの圧縮処理)・・・図2参照 この実施例では、処理対象の画像データは、白黒2値の
画像データとする。
像データ)を、横55ビット、縦4ビットとして説明す
る。この原画から、前処理を行って中間データを作成す
る。
画素パターン4ビット+カウント数(ランレングス)4
ビットの構成で、合計8ビットとする。このフォーマッ
トでは、ランレングスは最大16の範囲でカウントされ
る。
55ビット)の原画から、縦4ビットを切り出し、この
画素パターンと、該パターンのランレングスとを一緒に
して8ビットの中間データにする。
と、原画の左側から、縦4bitは「1000」、「0
001」、「0011」、「0011」、「011
1」、「0111」、「1110」、「1100」、
「1100」、「1000」、「1000」、「100
0」・・・のようになる。
レングスは1、「0001」のランレングスは1、「0
011」のランレングスは2、「0111のランレング
スは2、「1110」のランレングスは1、「110
0」のランレングスは2、「1000」のランレングス
は3・・・のようになる。
として、この画素パターンにランレングスを付加して中
間データにすると、図の左側から、順次次のような中間
データとなる。
ットで表わす際、ランレングス1を「0000」、ラン
レングス2を「0001」、ランレングス3を「001
0」、ランレングス4を「0011」・・・ランレング
ス16を「1111」のようにする。これにより、4ビ
ットで16通りのランレングスが表わせる。
0」、「00010000」、「00110001」、
「01110001」、「11100000」、「11
000001」、「10000010」・・・のような
中間データが得られる。
することにより、同一パターンの画像データを省いてお
り、その分、原画より少ないデータ量となる。従って、
前処理によりデータ量を少なくしてから符号化処理をす
るので、その分、圧縮処理が高速化できる。
計数して、誤ったデータが使用されたことをチェックす
ると共に、ユニバーサル符号化して、符号化データとす
る。以後、図の(縦4ビット)×(横55ビット)のデ
ータ(4ラインのデータ)を1つの単位として、順次符
号化処理を行い、画像データを圧縮処理する。
グスを合計すると、55になる。この計数値を、外部か
ら与えられた原画の画素数と比較して、符号化処理に、
誤ったデータが使用されたか否かをチェックする。
ータは、ユニバーサル復号化により、復号化され、中間
データに変換される。
元画像となる。この場合にも、中間データは、4ビット
の画素パターンと、4ビットのランレングスで構成され
る。また、前記ランレングスの計数値を用いて、誤った
データが使用されたか否かをチェックする。
4に示した構成の圧縮部を用いる。
〜10−4、レジスタ11−1〜11−4、EOR(排
他的論理和回路)12−1〜12−4、OR(論理和回
路)13、否定回路(インバータ)9、カウンタ8、出
力セレクタ回路7、バッファ6、ユニバーサル符号化部
4、画素アダー(画素加算器)23、ラインアダー(ラ
イン加算器)28、比較器24、27、レジスタ25、
26等で構成する。
1〜10−4、レジスタ11−1〜11−4、EOR1
2−1〜12−4、OR13、否定回路9、カウンタ
8、出力セレクタ回路7は、図1の前処理変換部3に対
応し、バッファ6は中間データ保持部20に対応する。
は、図1の計数部21に対応し、比較器24、27は、
図1の比較部22に対応する。更に、出力セレクタ回路
7の一部と、レジスタ25、26は、図1の画素数保持
部2に対応する。
8、比較器24、27、レジスタ25、26以外の構成
は、従来例と同じ構成である。シフトレジスタ10−1
〜10−4は、入力した画像データを順次シフトしなが
ら格納するものであり、図2に示した4ビット×55ビ
ットの4ライン分の原画を格納する。
1ライン目の55ビットの画像データ、シフトレジスタ
10−2には2ライン目の55ビットの画像データ、シ
フトレジスタ10−3には3ライン目の55ビットの画
像データ、シフトレジスタ10−4には4ライン目の5
5ビットの画像データがそれぞれ格納される。
スタ10−1〜10−4から出力された1画素(1ビッ
ト)のデータを格納するものであり、図2の縦方向の4
ビットの画像データを順次格納する。
1−1〜11−4に格納されているデータ(1ビット)
と、シフトレジスタ10−1〜10−4に格納されてい
る次のデータ(1ビット)との排他的論理和演算を行う
回路(ランレングスを求めるための演算を行う回路)で
ある。
の出力データをカウントしてランレングスを計数するも
のである。この例では、中間データのランレングスは4
ビット構成であるから、カウンタ8のLSBから4ビッ
トを取り出し、バッファ6へセットするように構成され
ている。
000」〜「1111」の範囲(最大16)であるか
ら、カウンタ8のカウント値が15を超えた時のキャリ
ィ(cry)信号を取り出して、出力セレクタ回路7に
入力するようにしている。
れた横画素数(この例では55)、縦画素数(この例で
は4)を内部にセットしておくと共に、レジスタ11−
1〜11−4のデータ(4ビットの縦方向のデータ)、
OR13の出力データ等を入力し、レジスタ11−1〜
11−4やカウンタ8を制御する。
素パターン+4ビットのランレングス)を一時格納して
おくものであり、ユニバーサル符号化部4は、前記中間
データをユニバーサル符号化処理して、符号化データに
変換するものである。
れている中間データの下4ビットに付加されているラン
レングスを入力して、画素の加算を行う加算器である。
ラインアダー28は、画素アダーのキャリィ(cry)
信号を加算して、ライン数(4ライン単位)を加算する
加算器である。
素数(この例では55)を格納しておくレジスタであ
り、レジスタ26は、外部から与えられた総縦画素数の
1/4の値(4ライン単位で処理するため、1/4にし
ておく)を格納しておくレジスタである。
レジスタ25の値を比較する比較器であり、比較器27
は、ラインアダー28の加算値と、レジスタ26の値を
比較する比較器である。
と、シフトレジスタ10−1〜10−4に、それぞれ1
ラインずつシフトしながら格納される。まず、シフトレ
ジスタ10−1〜10−4から、それぞれ1画素目が読
み出されて、それぞれレジスタ11−1〜11−4にセ
ットされる。
4の1画素目が読み出されて、読み出された画素の白黒
がそれぞれレジスタ11−1〜11−4内の以前の4ラ
イン分の白黒パターンと比較される。比較はEOR(排
他的論理和回路)12−1〜12−4で排他的論理和を
とることで行われる。
以前の各ライン分の白黒パターンと一致すれば、対応す
る各排他的論理和は0が出力され、もし、一致しなけれ
ば1が出力される。これらの出力はOR(論理和回路)
13に加えられる。
の4ラインの白黒パターンと一致すれば、論理和回13
からは0が出力される。この出力は否定回路9でインバ
ートされた後、カウンタ8に加えられ、カウンタ8を1
つカウントアップさせる。カウンタ8ではカウント値が
15になるとキャリィが出力され、この信号は出力セレ
クタ回路7を経て、ユニバーサル符号化部4に符号化を
行うように指示する。
の4ラインの白黒パターンと一致しなければ、排他的論
理和回路12−1〜12−4の内、少なくとも一つは出
力が1になり、論理和回路13からは1が出力される。
この出力信号は出力セレクタ回路7を経て、ユニバーサ
ル符号化部4に符号化を行うように指示する。
で作成された中間データが入力され、ここで、ユニバー
サル符号化処理されて、符号化データに変換される。次
に、1語分の中間データがユニバーサル符号化部4に入
力されたあと、出力セレクタ回路7の出力はカウンタ8
を−1にクリアするよう指示するとともに、レジスタ1
1−1〜11−4に、読み出した4ライン分の白黒パタ
ーンを新しくセットするように指示する。
画素ずつ読み出し、レジスタ10−1〜10−4の全画
素を符号化するまで同様の操作を繰り返す。4ラインの
全画素の符号化が終了したなら、次の4ラインをレジス
タ10−1〜10−4に入力して、画像全体を符号化す
るまで同様の動作を繰り返す。
が、その過程において、処理しているデータが正規のデ
ータか、誤ったデータかの判断をしている。以下、この
処理について説明する。
に、外部から与えられた横画素数(図2の例では55)
を格納しておき、レジスタ26に、総縦画素数の1/4
(図2の例では、4ライン単位で処理するので1/4と
している)を格納しておく。
中間データ(4ビットの画素パターン+4ビットのラン
レングス)がバッファ6に格納される。そこで、前記中
間データのランレングス(下位4ビット)を取り出し、
画素アダー23で加算する。この加算値は、比較器24
で、レジスタ25の値(55)と比較される。
レジスタ25の値よりも小さければ、順次ランレングス
の加算を続ける。図2に示した(縦4ビット)×(横5
5ビット)の4ライン分の処理が終了すると、エラーが
なければ画素アダー23の値と、レジスタ25の値が等
しくなる(55になる)。
タ25の値が等しくなると、画素アダー23をクリア
(clr)すると共に、ラインアダー28にキャリィ信
号(cry)を入力する(ラインアダーを+1する)。
ライン分について加算を開始し、前記の動作を繰り返
す。また、データに誤りが発生して、4ライン分の処理
が終了した時点で、画素アダー23の値とレジスタ25
の値が等しくならないことがある。
ダー23の値が、レジスタ25の値よりも大きければ、
エラー信号を出力するが、画素アダー23の値がレジス
タ25の値よりも小さければ何もしない。
25の値よりも小さい場合は、4ライン分の処理が終了
しても画素アダー23はクリアされない。このため、次
の4ライン分の処理が開始されても、前の4ライン分の
加算値に、加算を続けていく。そのため、次の4ライン
分の処理中に、画素アダー23の値がレジスタ25の値
よりも大きくなり、エラー信号を出力する。
行い、ラインアダー28で加算を続ける。比較器27で
は、ラインアダー28の値を、レジスタ26の値と比較
を行い、総縦画素数分の処理が正常に終了すると、両者
の値が等しくなるので、何も出力しないが、両者が等し
くなければエラー信号を出力する。
処理しているのか、誤ったデータで符号化処理している
のかを、エラー信号を検出することで知ることが可能と
なる 。 (3) 復元部の詳細な説明 (復元部の構成)・・・図5参照 上記の圧縮部で符号化された符号化データは、図5に示
した復元部5により、復元されて元の画像(原画)とな
る。
A、レジスタ17、19、カウンタ16、シフトレジス
タ18−1〜18−4、FIFOのレジスタ15、出力
制御部14、画素アダー23、ラインアダー28、比較
器24、27、レジスタ25、26等で構成される。
おりである。レジスタ19は中間データ保持部20に対
応し、レジスタ17、カウンタ16、出力制御部14、
シフトレジスタ18−1〜18−4、FIFOのレジス
タ15は、後処理変換部3Aに対応する。
は計数部21に対応し、比較器24、27は比較部22
に対応し、レジスタ25、26、と出力制御部14の一
部は画素数保持部2に対応する。
ジスタ19、レジスタ17、カウンタ16、出力制御部
14、シフトレジスタ18−1〜18−4、FIFOの
レジスタ15は、従来例と同じなので説明は省略する。
8、比較器24、27、レジスタ25、26は、図4と
同じなので説明は省略する。 (復元部の動作)・・・図3、図5参照 外部からの符号化データ(圧縮部で圧縮したデータ)
は、ユニバーサル復号化部4Aにより復号化され中間デ
ータ(4ビットの画素パターン+4ビットのランレング
ス)となり、レジスタ19に格納される。
ビットの画素パターンはレジスタ17に入力し、4ビッ
トのランレングスは、カウンタ16、出力制御部14、
画素アダー23に入力する。
部から与えられた横画素数と縦画素数が格納されてい
る。また、レジスタ25には横画素数、レジスタ26に
は総縦画素数の1/4が格納されている。
図3の縦方向4ビットの画素のパターンであり、各画素
のパターンは、それぞれシフトレジスタ18−1〜18
−4に送られる(1ビットづつ)。
レングスであるから、このランレングスをシフトレジス
タ18−1〜18−4に送り、前記入力した画素のパタ
ーン(1または0)をランレングス分だけシフトして、
パターンの複製を行う。
シフトレジスタ18−1〜18−4に原画像の4ライン
分を復元する。そして、出力制御部14でシフトレジス
タ18−1〜18−4の出力制御を行い、FIFOのレ
ジスタ15を介して、復元した画像データを出力する。
タにより復元されたのか、あるいは誤ったデータにより
復元されたのかをチェックしている。この処理は、画素
アダー23、ラインアダー28、比較器24、27、レ
ジスタ25、26で行うが、図4に示した圧縮部の処理
と同じなので、説明を省略する。
されるエラー信号を検出することで、正規のデータで復
元処理されたのか、誤ったデータで復元処理されたのか
を知ることが可能となる。
のような効果がある。 (1) 符号化/ 復号化による画像データの圧縮/ 復元処理
の途中で、処理しているデータが正規のデータか、誤っ
たデータかを判断することができる。
号化の動作の無効を、処理の途中で判定することが可能
となる。 (3) 画像データの圧縮/復元処理の信頼性が向上する。
である。
サル型のアルゴリズム説明図、Bはユニバーサル型の符
号形式説明図である。
る。
る。
図、図9のBは辞書構成例の説明図である。
のフォーマット、Bはレジスタ内のデータ、Cは中間デ
ータである。
Claims (6)
- 【請求項1】 二次元配列の画素から成る画像データを
圧縮する画像データの圧縮方式において、 前記画像データを、画素パターンと、そのパターンのラ
ンレングスとを組にして表現した中間データに変換する
前処理変換部(3)と、 符号化対象の画像データの横/縦画素数を保持する画素
数保持部(2)と、 前記前処理変換部(3)で変換した中間データのランレ
ングスを計数する計数部(21)と、 前記計数部(21)で計数した値を、前記画素数保持部
(2)で保持している値と比較する比較部(22)と、 前記前処理変換部(3)で変換した中間データを、ユニ
バーサル符号化するユニバーサル符号化部(4)とを具
備し、 入力した画像データを、中間データに変換し、該中間デ
ータをユニバーサル符号化して符号化データを出力する
と共に、その処理の過程で、 前記比較部(22)の比較結果に基づいて、誤ったデー
タが使用されたことを検出することを特徴とした画像デ
ータの圧縮方式。 - 【請求項2】 上記ユニバーサル符号化が、ユニバーサ
ル型ユニバーサル符号化であることを特徴とした請求項
1記載の画像データの圧縮方式。 - 【請求項3】 上記ユニバーサル符号化が、増分分解型
ユニバーサル符号化であることを特徴とした請求項1記
載の画像データの圧縮方式。 - 【請求項4】 二次元配列の画素から成る画像データの
画素パターンと、そのパターンのランレングスとを組に
して表現した中間データを、ユニバーサル符号化した符
号化データから、画像データを復元する画像データの復
元方式において、 前記符号化データを、ユニバーサル復号化して、中間デ
ータに変換するユニバーサル復号化部(4A)と、 復号化対象の画像データの横/縦画素数を保持する画素
数保持部(2)と、 前記ユニバーサル復号化部(4A)で変換した中間デー
タのランレングスを計数する計数部(21)と、 前記計数部(21)で計数した値を、前記画素数保持部
(2)で保持している値と比較する比較部(22)と、 前記ユニバーサル復号化部(4A)で変換した中間デー
タから、該中間データのランレングス分だけの画素パタ
ーンを出力して、画像データに変換する後処理変換部
(3A)とを具備し、 入力した符号化データを、中間データに変換し、該中間
データを画像データに復元して出力すると共に、その処
理の過程で、 前記比較部(22)の比較結果に基づいて、誤ったデー
タが使用されたことを検出することを特徴とした画像デ
ータの復元方式。 - 【請求項5】 上記ユニバーサル復号化が、ユニバーサ
ル型ユニバーサル復号化であることを特徴とした請求項
4記載の画像データの復元方式。 - 【請求項6】 上記ユニバーサル復号化が、増分分解型
ユニバーサル復号化であることを特徴とした請求項4記
載の画像データの復元方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04035308A JP3105330B2 (ja) | 1992-02-21 | 1992-02-21 | 画像データの圧縮復元方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04035308A JP3105330B2 (ja) | 1992-02-21 | 1992-02-21 | 画像データの圧縮復元方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05236283A JPH05236283A (ja) | 1993-09-10 |
JP3105330B2 true JP3105330B2 (ja) | 2000-10-30 |
Family
ID=12438166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04035308A Expired - Fee Related JP3105330B2 (ja) | 1992-02-21 | 1992-02-21 | 画像データの圧縮復元方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3105330B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5545012B2 (ja) * | 2010-05-07 | 2014-07-09 | 株式会社リコー | 画像処理装置および画像処理方法 |
JP6662248B2 (ja) | 2016-09-01 | 2020-03-11 | 株式会社ニューフレアテクノロジー | 描画データの作成方法 |
-
1992
- 1992-02-21 JP JP04035308A patent/JP3105330B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05236283A (ja) | 1993-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5208593A (en) | Method and structure for decoding Huffman codes using leading ones detection | |
US5177622A (en) | Method and apparatus for detecting run length of two successive pixels and subjecting run length to universal coding | |
JP3105330B2 (ja) | 画像データの圧縮復元方式 | |
JP3038233B2 (ja) | データ圧縮及び復元装置 | |
JPH0723238A (ja) | 画像データ圧縮及び復元装置 | |
JPH05236284A (ja) | 画像データ圧縮復元方式 | |
JPH06161705A (ja) | データ符号化方式及びデータ復元方式 | |
JP2840420B2 (ja) | 画像データ圧縮及び復元方式 | |
JP3083329B2 (ja) | データ圧縮復元方式 | |
JPH0884260A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
JP2999561B2 (ja) | データ圧縮及び復元装置 | |
JPH06152988A (ja) | 可変長符号の復号化装置 | |
JPH05176187A (ja) | データ圧縮・復元装置 | |
JP3034016B2 (ja) | データ圧縮及び復元方法 | |
JP3132836B2 (ja) | 画像データ圧縮復元方法 | |
JP3051501B2 (ja) | データ圧縮方法 | |
JP2615215B2 (ja) | 画像データ圧縮方式 | |
JP2614320B2 (ja) | 網点画像圧縮方式 | |
JP2755464B2 (ja) | 画像データ圧縮方式 | |
Agaian et al. | The application of logical transforms to lossless image compression using Boolean minimization | |
JP2798767B2 (ja) | 画像データ圧縮方式 | |
JP3098046B2 (ja) | 画像データ圧縮装置及びその方法 | |
JP2708252B2 (ja) | 画像データ圧縮方式 | |
JP3015483B2 (ja) | データ圧縮及び復元方式 | |
JP2755463B2 (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: 20000815 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080901 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |