JP3128016B2 - 画像圧縮装置 - Google Patents

画像圧縮装置

Info

Publication number
JP3128016B2
JP3128016B2 JP04094578A JP9457892A JP3128016B2 JP 3128016 B2 JP3128016 B2 JP 3128016B2 JP 04094578 A JP04094578 A JP 04094578A JP 9457892 A JP9457892 A JP 9457892A JP 3128016 B2 JP3128016 B2 JP 3128016B2
Authority
JP
Japan
Prior art keywords
code
data
line
predictor
nibble
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
JP04094578A
Other languages
English (en)
Other versions
JPH05292329A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP04094578A priority Critical patent/JP3128016B2/ja
Publication of JPH05292329A publication Critical patent/JPH05292329A/ja
Application granted granted Critical
Publication of JP3128016B2 publication Critical patent/JP3128016B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像データを適応予測
して符号化する画像圧縮装置に関する。
【0002】
【従来の技術】ディジタル画像信号を扱う装置では、符
号化装置を利用して画像信号の冗長度を抑圧する画像圧
縮が一般的に行われている。適応予測アルゴリズムはそ
うした画像圧縮を行うための1手法であって、複数の予
測器を適応的に切り替えながら入力画像データに対する
予測値を求め、その予測値と入力画像データとの比較を
行い、予測が当たったビットを‘0’に、予測が外れた
ビットを‘1’に置き換えることで、‘0’ビットのラ
ン長を稼いでランレングス符号化するものである。ラン
レングス符号では、CCITT勧告T.4で規格化され
ているMH符号が広く使われている。
【0003】画像データを適応予測した結果をMH符号
化するという技術が特開昭60−24776号公報に開
示されている。しかしながら、この発明では予測的中率
が悪い画像に対する考慮がなされていない。このような
画像をMH符号化した場合、圧縮した結果が元の画像デ
ータの情報量より大きなデータ量になってしまう。こう
した問題点を解決する手法として、特開昭64−221
72号公報に開示された技術がある。この技術は、ライ
ン毎に画像データをMH符号で圧縮した結果のデータ量
を、元の画像データ量と比較して、圧縮データ量が画像
データ量より大きくなった場合には、そのラインの符号
としては元の画像データを採用するようにしたものであ
る。
【0004】
【発明が解決しようとする課題】以上のような従来技術
により、画像データを適応予測して符号化圧縮すると、
圧縮率は向上するものの、圧縮画像データを蓄積、ある
いは伝送する際に、符号データ中に誤りが発生した場合
に元の画像を復号できなくなるという問題が発生する。
具体的には、符号データ量が大きくなったラインで置き
換えられた画像データに誤りが発生した場合、そのライ
ン以降では、元の画像データと異なった画像データを参
照しながら適応逆予測を行うことになるので、元の画像
を再現できなくなってしまう。圧縮画像データを蓄積、
あるいは伝送する際に、誤り訂正符号を導入する方法も
考えられるが、そのために更に誤り訂正符号化装置を用
意することになって装置全体が高価になってしまう。
【0005】本発明は、このような事情に鑑みてなされ
たもので、誤り訂正符号などを必要とせずに簡単な構成
でデータ誤りに対処できる画像圧縮装置を提供すること
をその目的とする。
【0006】
【課題を解決するための手段】本発明に係る画像圧縮装
置は、上記目的を達成するために、1ライン分の画像デ
ータを記憶するラインメモリを備え、1ラインの符号デ
ータの総量と所定の閾値と比較し、前記1ラインの符号
データの総量が前記所定の閾値を越えた場合は、前記ラ
インメモリに記憶された当該ラインの画像データを符号
として出力し、当該ラインの次のラインの適応予測に際
しては、前記ラインメモリの出力をクリアして適応予測
させる制御手段を具備したことを特徴とする。
【0007】
【作用】本発明によれば、画像データを適応予測して符
号化する際に、各ラインの符号データの先頭には、その
ラインがどのように符号化されているかを示す符号を付
けると共に、生の画像データを符号とした次のラインを
適応予測する時に、生の画像データを符号としたライン
をオール‘0’と見做して適応予測するようにしたの
で、生の画像データが符号に採用されたラインでデータ
誤りが発生しても、それ以降のラインに対して符号誤り
が伝搬しない。
【0008】
【実施例】以下、本発明の実施例について説明する。
【0009】図1は本発明による圧縮伸張装置の構成を
示すブロック図である。
【0010】システムバス1は、図示しない外部CPU
とのインタフェース、及び圧縮された符号データの入出
力を行うための32ビットのバスである。
【0011】画像バス2は、画像データの入出力を行う
ための16ビットのバスである。
【0012】ラインメモリ3は、1ライン分の画像デー
タを記憶する記憶回路で、後述する適応予測/逆予測の
際の参照データを供給する記憶回路である。
【0013】ピンポンバッファ4,5は、画像データを
圧縮して得られた符号データを一時記憶する記憶回路で
ある。
【0014】制御部6は、図示しない外部CPUからの
制御信号に応じて圧縮伸張器の動作モードを制御するブ
ロックである。
【0015】画像データ入出力部8は、画像バス2より
圧縮する画像データを入力したり、伸張された画像デー
タを画像バス2へ出力するブロックである。
【0016】適応予測/逆予測部11は、圧縮モードで
動作している時、画像データ入出力部8からの入力画像
データを、後述する適応予測アルゴリズムに従って1バ
イト単位で予測誤差データに変換して符号処理部14に
そのデータを送るブロックである。伸張モードで動作し
ている時は、復号処理部15で符号データから変換され
た予測誤差データを、1バイト単位で逆予測して画像デ
ータに変換し、画像データ入出力部8へその画像データ
を渡すブロックである。
【0017】符号処理部14は、適応予測/逆予測部1
1の出力である予測誤差データをニブル(4ビット)単
位で処理してゼロニブルのラン長を計数し、ゼロニブル
ランのターミネータとその時のラン長を符号化するブロ
ックである。符号については後述する。
【0018】復号処理部15は、符号データ入出力部7
からの32ビット単位の入力符号データを取り込んで復
号し、ゼロニブルラン長とそれに続くターミネータを求
め、予測誤差データをバイト単位で出力するブロックで
ある。
【0019】符号データ入出力部7は、システムバス1
を介して外部と符号データのやりとりを行うブロックで
ある。
【0020】ラインメモリ制御部9は、外付けされるラ
インメモリ3の読み出し/書き込み制御を行うブロック
である。
【0021】ピンポンバッファ制御部10は、外付けさ
れる2つのピンポンバッファ4,5の読み出し/書き込
み制御を行う。
【0022】16ビットアライメント部12は、1ライ
ン毎に符号処理部14で生成される可変長符号をピンポ
ンバッファ4,5に書き込むワード長(16ビット)に
符号データをまとめるブロックである。なお、最終ワー
ドは16ビット未満でもバッファに書き込まれる。
【0023】32ビットアライメント部13は、ピンポ
ンバッファ4,5から読み出したデータを符号データ入
出力部7に送る際にピンポンバッファの最終ワードの1
6ビット未満の時の余分なデータを除いて符号データ入
出力単位(32ビットワード)にまとめるブロックであ
る。
【0024】次に、本発明に用いた適応予測アルゴリズ
ムについて説明する。
【0025】適応予測アルゴリズムでは、予測しようと
している画素予測値を周辺の画素データから複数個の異
なる予測器を用いてそれぞれ求め、その中で最も予測的
中率の高い予測値とそれを演算した予測器を採用するも
のである。
【0026】本発明における予測器は全部で16個あ
り、予測対象の画像の性質からテキスト予測器と中間調
予測器に分類される。これらの予測器は適応予測/逆予
測部11に含まれている。
【0027】図2はテキスト予測器を示す図である。文
字や線から構成されるテキスト原稿では、任意の画素は
それに隣接する画素と同じ値をとることが多いことか
ら、次の3つを導入した。
【0028】(1)水平線の予測に適している前ビット
(PB:previous bit)予測器(同図(a)参照)。
【0029】(2)垂直線の予測に適している直上ビッ
ト(BA:bit above )予測器(同図(b)参照)。
【0030】(3)予測しようとしている4ビット(1
ニブル)の画像データを1ライン前の1バイトの画像デ
ータの統計から決める垂直方向統計量(VS:vertical
statistics )予測器(同図(c)参照)。これはニブ
ル単位の垂直方向の予測に適している。
【0031】図3は中間調予測器を示す図である。代表
的な中間調画像であるディザ画像では、任意のディザ周
期に対応する位置の画素は閾値が同じであることから同
じ値を取り易い。
【0032】(4)ディザ周期がPD =3からPD =1
6の範囲(PD =3〜10,12,14,15,16)
の12個の異なる中間調予測器。これらは着目ビットの
値がXビット前のビットと同一であるかを予測する。図
3(a)は、ディザ周期PD =5である場合の例を示
す。
【0033】(5)ニブル単位の水平予測を行う水平方
向統計量(HS)予測器。HS予測器は、予測しようと
しているニブルを含んだ画像データバイトに隣接したバ
イトの画像データの統計から決めるもので、予測バイト
に含まれる2ニブルの予測値は同じものを使用する。こ
のHS予測器は、上記12個の中間調予測器とは別の中
間調予測器として使用される。
【0034】なお、図2,図3において、P,Pi は予
測されるビット、X,Xi ,Yi は予測の基準になるビ
ットを示す。但し、i=0〜3である。
【0035】以上、説明した16個の予測器を以下に説
明するように適宜組み合せてライン毎に8ビット(1バ
イト)単位で適応予測が行われていく。予測誤差は、予
測画像バイトとその予測値との間で排他的論理和(EO
R)を演算することで求める。ここで、予測的中ビット
は‘0’に、予測外れビットは‘1’となり、8ビット
の予測誤差データが得られる。ここで、垂直方向の予測
を行うBA予測器とVS予測器を採用しているが、これ
らは直上のラインの画像データが復号時に圧縮時と違う
データに変化してしまうと、誤った画像データを伸張し
てしまう。
【0036】次に、最適な予測器を選択していくアルゴ
リズムについて説明する。
【0037】 使用可能な中間調予測器のサブセット
の中から予測するバイトXiの3つ前のバイトXi−3
において最も予測誤りの少ない予測器を予測器変数ne
wHTに代入する。予測誤りの数が等しい場合は、水平
方向統計量(HS)予測器を最優先に、以下、空間周波
数の高い方、すなわち、ディザ周期の短い方を選択す
る。
【0038】 2つ前のバイトXi−2において、前
のバイトに関する予測器選択プロセスで決定された予測
器変数HTで表される中間調予測器と予測誤りを比較
し、newHTの予測誤りがHTよりも少なければne
wHTで表される予測器を新たなHTで表される予測器
に更新する。予測誤りの数が等しい場合はHTの更新は
行わない。
【0039】 予測するバイトXiの1つ前のバイト
Xi−1において、使用可能なテキスト予測器の中から
予測誤りの一番少なかった予測器を予測器変数nonH
Tに代入する。予測誤りの数が等しい場合は直上ビット
(BA)予測器を優先的に選択する。
【0040】 とで決定されたHTとnonHT
の双方の予測器についてバイトXi−1において予測誤
りを比較し、誤りの少なかった方を実際にバイトXiの
予測に用いる予測器を表す変数Finalに代入する。
尚、予測誤りが等しかった場合はバイトXi−1を予測
したときに用いたFinalと同じ種類の予測器をFi
nalとする。
【0041】各ラインでの予測開始の初期段階に、幾つ
かの予測器では予測に必要な画像データを画像領域の外
に求めなければならないが、この時、画像領域外のデー
タはすべて白、即ち0という値の画素として処理する。
【0042】又、各ラインの始めでは上記16個の予測
器の中のいずれかが初期予測器として選択される。もし
テキスト予測器が使用可能であれば、これが最優先に初
期予測器として選択される。テキスト予測器の中では、
直上ビット(BA)予測器、垂直方向統計量(VS)予
測器、前ビット(PB)予測器の順に優先度が決まって
いる。テキスト予測器が使用可能でない場合は、使用可
能な中間調予測器のサブセットの中で最も空間周波数が
高いものに対応した、即ち、最短パターン長の中間調予
測器が初期予測器として選択される。
【0043】初期予測器は各ラインの開始毎に選択され
る。この予測器は現在予測に使っている予測器よりも予
測誤差の小さい予測器がでてくるまで使用される。誤差
が等しい時は予測器の変更は行わない。
【0044】以上の4ステップを経て、予測器の最適化
が行われる。本発明で使用される適応予測アルゴリズム
では、バイトXiの予測に用いる予測器は、直前のバイ
トXi−1で最も的中率の高かった予測器である。この
ことは、予測誤差から元の画像データを逆予測する際に
使用した予測器を、伸張し終わったデータから決められ
ることを意味する。又、ラインの最初の初期予測器が一
義的に決まるため、ラインの最初の画像データバイトは
最初の予測誤差から直ちに逆予測できる。従って、次の
予測誤差バイトに対する逆予測は最初の画像データバイ
トで最も的中率の高い予測器を求めれば良い。
【0045】図4に適応予測/逆予測部11のブロック
図を示す。
【0046】マルチプレクサ38は、圧縮動作時には画
像データバイトを、伸張動作時には予測誤差バイトを選
択して適応予測器35へ入力する。マルチプレクサ36
は圧縮動作時には画像データバイトを、伸張動作時には
マルチプレクサ34で選択した適応予測器35で逆予測
された画像データバイトをレジスタ31,32,33で
構成されるシフトレジスタへ入力する。このシフトレジ
スタの出力はレジスタ33の入力をXiとすると、レジ
スタ33の出力であるイメージバイトはXi−1に、レ
ジスタ32の出力はXi−2に、レジスタ31の出力は
Xi−3に対応する。現在適応予測しているラインの直
上ラインの画像データを記憶した前ラインメモリ3の出
力は、メモリクリア信号83により制御されるゲート回
路39を介して供給される。
【0047】中間調予測器群20、newHT選択回路
21、中間調予測器選択部18、レジスタ22、マルチ
プレクサ23,24、比較器25とから中間調予測器選
択装置が構成される。中間調予測器選択装置を更に詳細
に説明したものが図5である。
【0048】中間調予測器群20は、13組の中間調予
測器40(HS予測器を含む)と予測誤差カウンタ41
から構成されている。予測誤差カウンタ41は、各予測
器での予測誤差バイトの中に含まれる‘1’の数を計数
するもので、‘1’の数に応じて予測的中率を5レベル
に分類して出力する。
【0049】 (1) ‘1’の数=0 ...出力=‘000’ (2) ‘1’の数=1 ...出力=‘001’ (3) ‘1’の数=2 ...出力=‘010’ (4) ‘1’の数≧3 ...出力=‘100’ (5) 該当する予測器が予測器選択モードワードによ
って選択されていない場合、出力は‘111’とする。
【0050】図4に示されるnewHT選択回路21
は、図5に示される最小予測誤差検出回路42とマルチ
プレクサ43とから構成される。又、中間調予測器選択
部18はマルチプレクサ44とレジスタ45とから構成さ
れる。
【0051】最小予測誤差検出回路42は、13組の3
ビットの予測的中率データの中から最小値を与えた予測
器に対応したフラグビットを全てアサートする。但し、
予測誤差カウンタ41の出力が‘111’であった、す
なわち、選択されていない予測器に対応したフラグビッ
トはアサートしない。
【0052】マルチプレクサ43は、ラインの先頭のバ
イトに対しては初期中間調予測器選択肢で規定される唯
一の予測器に対応したフラグビットをアサートして予測
器変数newHTとして出力する。以降、レジスタ22
に保持された予測器変数newHTと最小予測誤差検出
回路42の出力である中間調予測器選択フラグをマルチ
プレクサ43で比較して、予測器変数newHTのアサ
ートビットが中間調予測器選択フラグでもアサートされ
ていた場合は、レジスタ22に保持された予測器変数n
ewHTを新しい予測器変数newHTとして出力す
る。予測器変数newHTのアサートビットと中間調予
測器選択フラグのアサートビットが一致していなかった
場合は、中間調予測器選択フラグのアサートビットに対
応した予測器の中で最も優先順位が高い予測器に対応し
たフラグビットだけをアサートし、それを新しい予測器
変数newHTとして出力する。こうして選択された新
しい予測器変数newHTはレジスタ22に一時記憶さ
れる。
【0053】マルチプレクサ23は、予測誤差カウンタ
41の出力である13組の3ビットの予測的中率データ
の中から、レジスタ22に保持された予測器変数new
HTのアサートビットに対応した中間調予測器の予測的
中率データを選択する。同様にマルチプレクサ24は、
レジスタ45に保持された予測器変数HTのアサートビ
ットに対応した中間調予測器の予測的中率データを選択
する。
【0054】マルチプレクサ44はラインの先頭のバイ
トに対しては初期中間調予測器選択肢で規定される唯一
の予測器に対応したフラグビットをアサートして予測器
変数HTとして出力する。以降、レジスタ22に保持さ
れた予測器変数newHTで規定された予測器の予測的
中率データ(マルチプレクサ23出力)とレジスタ45
に保持された予測器変数HTで規定された予測器の予測
的中率データ(マルチプレクサ24出力)の大小を比較
器25で比較した結果、マルチプレクサ23出力の方が
小さい場合のみレジスタ22の出力を新しい予測器変数
HTとして出力する。それ以外の場合はレジスタ45の
出力を新しい予測器変数HTとして出力する。
【0055】また、テキスト予測器群28、nonHT
選択回路27、レジスタ26とからテキスト予測器選択
部は構成される。ラインメモリ3からの前ラインからの
出力データは、VS予測器とBA予測器の予測値を与え
る。テキスト予測器選択部を更に詳細に説明したものが
図6である。
【0056】テキスト予測器群28は、3組のテキスト
予測器50と予測誤差カウンタ51から構成されてい
る。予測誤差カウンタ51は、中間調予測器群20の予
測誤差カウンタ41と同様な動作を行う。
【0057】nonHT選択回路27は、最小予測誤差
検出回路52とマルチプレクサ53とから構成される。
【0058】最小予測誤差検出回路52は、3組の3ビ
ットの予測的中率データの中から最小値を与えた予測器
に対応したフラグビットを全てアサートする。但し、予
測誤差カウンタ51の出力が‘111’であった、すな
わち、選択されていない予測器に対応したフラグビット
はアサートしない。
【0059】マルチプレクサ53は、ラインの先頭のバ
イトに対しては初期テキスト予測器選択肢で規定される
唯一の予測器に対応したフラグビットをアサートして予
測器変数nonHTとして出力する。以降、レジスタ2
6に保持された予測器変数nonHTと最小予測誤差検
出回路52の出力であるテキスト予測器選択フラグを比
較して、予測器変数nonHTのアサートビットがテキ
スト予測器選択フラグでもアサートされていた場合は、
レジスタ26に保持された予測器変数nonHTを新し
い予測器変数nonHTとして出力する。予測器変数n
onHTのアサートビットとテキスト予測器選択フラグ
のアサートビットが一致していなかった場合は、テキス
ト予測器選択フラグのアサートビットに対応した予測器
の中で最も優先順位が高い予測器に対応したフラグビッ
トだけをアサートし、それを新しい予測器変数nonH
Tとして出力する。こうして選択された新しい予測器変
数nonHTはレジスタ26に一時記憶される。
【0060】Final選択部29は、予測器変数HT
で規定された中間調予測器の予測誤差データECHTと
予測器変数nonHTで規定されたテキスト予測器の予
測誤差データECnonHTの大小を比較し、小さい予
測誤差データを与える予測器変数を新たな予測器変数F
inalとして出力する。予測誤差データの大きさが等
しい場合は、以前に予測器変数Finalとして選択し
た予測器の属するグループ(中間調予測器かテキスト予
測器)と同じグループの予測器に対する予測器変数を選
択する。レジスタ30は、このグループ情報を保持する
ものである。Final選択部29の出力である予測器
変数Finalは、VS予測器、BA予測器、PB予測
器、中間調予測器の対応した4ビットのフラグである。
【0061】適応予測器35は、マルチプレクサ38の
出力に対する予測もしくは逆予測を16種類の予測器で
同時に行う。13個の中間調予測器は、予測器変数HT
で規定された中間調予測器のみが動作して予測もしくは
逆予測を行う。マルチプレクサ34は、適応予測器35
の出力から予測器変数Finalで規定される予測器に
対する出力を選択する。レジスタ37は、マルチプレク
サ34の出力を一時記憶する。
【0062】次に、本発明における符号について説明す
る。
【0063】図1に示す適応予測/逆予測部11で適応
予測して得られた予測誤差データは、1ニブル(4ビッ
ト)づつ逐次符号化していく。符号はイメージバウンダ
リ符号、ラインバウンダリ符号、ラン/ターミネータ符
号、マルチプライヤ符号の4種類から構成されている。
各符号の符号長は4ビット、8ビット、12ビットのい
ずれかになるようにして、符号化処理と復号化処理を行
い易くしている。
【0064】表1にイメージバウンダリ符号を示す。イ
メージバウンダリ符号は、1ページの符号化された画像
データの始まりと終わりを表す符号である。
【0065】
【表1】 表2にラインバウンダリ符号を示す。ラインバウンダリ
符号は、新しいラインの始まりを示すと同時に、それに
続くラインデータがどのように符号化されているかを表
す符号である。
【0066】
【表2】 ラン/ターミネータ符号は、適応予測して得られた予測
誤差データのビット列を、4ビットが全て‘0’である
ゼロニブルの連続する数(ゼロニブルラン)と、そのゼ
ロニブルランを中断させた非ゼロのニブル(ターミネー
タ)をハフマン符号化したものである。ターミネータ
は、ラン/ターミネータ符号を定義する上で次の2つに
分類される。
【0067】TA :1ニブル内に一つだけエラービット
を含んだもの。
【0068】TB :1ニブル内に複数のエラービットを
含んだもの。
【0069】なお、エラービットとは‘1’の値をとる
ビットである。
【0070】表3は、TA ターミネータに対するラン/
ターミネータ符号を示したものである。
【0071】
【表3】 表4は、TB ターミネータに対するラン/ターミネータ
符号を示したものである。
【0072】
【表4】 表5は、TA ターミネータに関するaa符号とTB ター
ミネータに関するbbbb符号を示したものである。な
お、表3と表4の中で、ttttは非ゼロのターミネー
タの二進数表示したもの、r rrrr,rr rrr
r,ss ssssはランレングスを二進数表示したも
のである。
【0073】
【表5】 マルチプライヤ符号は、ラン長64以上のゼロニブルを
表現するために用いる符号で、64の整数倍長のランを
表す。ターミネータの出現によりゼロニブルランが途絶
えた時、その時のラン長をZとし、 Z=64×M+T M≧1、T≦63 であったとすると、最初にマルチプライヤ符号でMを符
号化し、次にラン/ターミネータ符号でTを符号化す
る。Mの二進数表現をrr rrrrとすると、Mに対
するマルチプライヤ符号は11rr rrrr 000
0で与えられる。但し、 00 0001≦rr rrrr≦11 1111 M=64、つまりゼロニブルラン長が4096に達した
時、ターミネータの出現の有無に依らずマルチプライヤ
符号 1100 0000 0000 (rr rrrr=0
0 0000) が生成される。
【0074】図1に示す符号処理部14は、適応予測/
逆予測部11の出力である予測誤差データを以下の手順
で符号化していく。
【0075】図7と図8は、符号処理部14の符号化手
順を示したフローチャートである。1ラインの符号化に
先立ち、ゼロニブルを計数する12ビットのニブルカウ
ンタをクリアする(S601)。符号処理を開始する
と、予測誤差データバイトを取り込むと同時に予測誤差
データバイト数(エラーバイト数)をカウントする(S
602,S603)。取り込んだ予測誤差データバイト
は上位ニブルから取り出して(S604)ゼロニブルか
どうか評価する(S605)。取り出したのがゼロニブ
ルの場合はニブルカウンタをインクリメントし(S60
7)、次に下位ニブルを取り出して(S609,S60
6)再びゼロニブルかどうか評価する。取り出したのが
非ゼロニブルの場合は、そのニブルはターミネータとし
てその時のニブルカウンタの値RLをラン/ターミネー
タ符号化する(S612,S613)。
【0076】ラン/ターミネータ符号を生成する時は、
ニブルカウンタの値RLの大きさに従って(S701〜
S705)ラン/ターミネータ符号(S711〜S71
5)かマルチプライヤ符号(S710)のいずれかを生
成する。ラン/ターミネータ符号を生成する場合は、タ
ーミネータがTA ターミネータかTB ターミネータかを
判別し、その結果に応じて符号を生成する(S706〜
S709)。
【0077】符号を生成すると、ニブルカウンタをクリ
ア(S617)してS609に戻り、符号化を継続す
る。下位ニブルを取り出してゼロニブルかどうかの評価
を終了したら、今まで受け取った予測誤差データバイト
数が所定の大きさ(1ラインの画像データ数)に達した
かどうか判定し(S610)、所定の大きさ未満の場合
は次の予測誤差データバイトを取り込む。符号化の途中
でニブルカウンタのインクメント時にキャリーを発生し
た場合 (S608)は、拡張マルチプライヤ符号‘C0
0 HEX(=1100 0000 0000)’を生
成する(S614)。1ラインの最終ニブルがゼロニブ
ルの場合にターミネータとなるニブルがそれ以降で発生
しないため、その時点のゼロニブルランを符号化するこ
とが出来なくなる。そこで、1ラインのデータ数分の予
測誤差データを全て処理するとニブルカウンタの値が0
かどうか検査する(S611)。この結果、ニブルカウ
ンタの値が0でない場合は仮想のターミネータを‘10
00’に設定して符号化を行い(S615、S61
6)、1ライン分の予測誤差データの符号化を終了す
る。ニブルカウンタの値が0であれば、そのまま1ライ
ン分の予測誤差データの符号化を終了する。
【0078】符号処理部14の概略構成例を図9に、ま
た、動作タイミングを図10に示す。適応予測/逆予測
部11で適応予測された8ビットの予測誤差データは、
セレクタ14aによりニブルクロックに同期して4ビッ
ト(1ニブル)ずつ符号処理部14へ取り込まれる。適
応予測/逆予測部11のデータ処理のサイクルは、ニブ
ルクロックで2サイクルに付き1バイトのデータを処理
することになる。符号処理部14へ取り込んだ4ビット
予測誤差データは、一旦ニブルクロックでレジスタ14
bにラッチされる。このラッチした予測誤差ニブルを評
価して4ビットが全て‘0’のゼロニブルであれば、ニ
ブルカウンタ14cのカウンタ動作をイネーブルにして
ニブルカウンタ14cはニブルクロックによりカウント
アップされる。評価結果が非ゼロニブルであった時は、
そのサイクルでラン/ターミネータ符号の生成が行わ
れ、次のサイクルでニブルカウンタ14cをクリアす
る。符号の生成は、デコーダ14dにおいて、符号生成
サイクルでラッチされている予測誤差ニブルをターミネ
ータとし、その時のニブルカウンタ14cの下位6ビッ
トを用いて行われる。
【0079】図10のタイミングチャートにおいて、ゼ
ロニブルカウント値Kの値が64を超えていた場合は、
ニブルカウンタの上位6ビットを用いてマルチプライヤ
符号を生成し、次いでニブルカウンタの下位6ビットを
用いてラン/ターミネータ符号を生成する。従って、1
つの符号生成サイクルの生成符号量は最大24ビットと
いうことになる。図10に示すタイミングチャートの例
では、1符号生成サイクルでの生成符号量を12ビット
以下にするために、マルチプライヤ符号の生成サイクル
をラン/ターミネータ符号のそれより1ニブルクロック
サイクル早めている。つまり、符号処理部14へ取り込
んだ時点の予測誤差ニブルが非ゼロニブルであって、そ
の時のニブルカウンタの値に1を加えたものの上位6ビ
ットが0でない場合に、マルチプライヤ符号を生成して
しまう。
【0080】次に、本発明の画像圧縮伸張装置の圧縮モ
ードでの全体の動作について説明する。
【0081】圧縮動作に先立ち、システムバス1を介し
て画像圧縮伸張装置の動作モードを制御部6に対して圧
縮モードに設定する。圧縮モードでは圧縮したい画像デ
ータを画像バス2から画像データ入出力部8に取り込
む。取り込まれた画像データは、ラインメモリ制御部9
に送られてラインメモリ3に書き込むと同時に、同じア
ドレスに書き込まれた1ライン前の画像データを読み出
して、それぞれを一緒に適応予測/逆予測部11へ送
る。ここで、1ページの最初のラインを適応予測する間
は、図4におけるメモリクリア信号83がアサートされ
て、強制的にラインメモリ3の出力が0となる。適応予
測/逆予測部11は、制御部6により適応予測モードで
動作するように制御される。適応予測/逆予測部11で
画像バス2から取り込んだ画像データは、予測誤差デー
タに変換されて符号処理部14へ渡される。符号処理部
14は、逐次予測誤差データをランレングス符号化して
出力する。その可変長符号に、16ビットアライメント
部12では、1ページの最初のラインに対しては先頭に
8ビットのPBKラインバウンダリ符号を、それ以外で
はNORラインバウンダリ符号を付ける。そして、符号
処理部14から送られてきた符号が16ビットになった
らピンポンバッファ制御部10へ送る。ピンポンバッフ
ァ制御部10は、1ラインの処理が終了するまで2つの
ピンポンバッファ4,5のいずれか一方に16ビットに
まとめられた符号データを書き込み続ける。この時、も
う一方のピンポンバッファからは、前のラインの符号化
の際に書き込まれた符号データを読み出し続ける。ピン
ポンバッファ4,5から読み出した1ライン前の符号デ
ータは、32ビットアライメント部13へ送られる。こ
こでは1ページの符号の先頭にSOIイメージバウンダ
リ符号を付ける。それ以降は、任意のラインの符号とそ
の次のラインの符号の間に符号以外の余計なデータが入
らないようにしながら、符号データの転送単位である3
2ビットに符号データを再度整形し、32ビットになっ
た時点で符号データ入出力部7へ32ビットデータを送
る。符号データ入出力部7は、外部に設けられた図示し
ない符号データ読み出し回路からの制御信号によって符
号データをシステムバス1上に送り出す。
【0082】16ビットアライメント部12の動作を更
に詳細に説明する。
【0083】図11は16ビットアライメント部12の
概略回路構或を示したブロック図であり、図12はその
動作を示したタイミング図である。図中の動作クロック
は、図10のニブルクロックと同じものである。
【0084】符号処理部14で生成される符号の長さ
は、2ビットの二進数‘01’〜‘11’で表現するこ
とができる。この2ビットの二進数を、符号長を表す符
号長フラグとする。符号処理部14からの出力が供給さ
れる16ビットアライメント部12は、8個の4ビツト
レジスタ12a−1〜12a−8からなるデータポイン
タが用意され、4,8,12ビットの符号データは、デ
マルチプレクサ12bを介して上位レジスタ12a−1
側から順次書き込まれていく。符号処理部14から16
ビットアライメント部12へ符号データを送る都度、A
LU(算術論理ユニット)12c及びアキュムレータ1
2dは、符号長フラグを3ビットの符号長累計値に加算
していく。累計符号長を示すデータは、現入力符号長を
示すデータとともにデコーダ12eに供給されシフトレ
ジスタ選択信号EN0〜EN7を生成する。
【0085】16ビットアライメント部12のデータポ
インタに最初に4ビットの符号Daを書き込む時、その
データはレジスタ12a−1に書き込まれ、その状態で
の符号長フラグ累計値は‘001’になっている。符号
処理部14で12ビットの符号Dbが生成されて16ビ
ットアライメント部12へ送られてくると、符号長フラ
グ累計値は‘001’にDbの符号長フラグ‘11’を
加算して‘100’となる。符号長フラグ累計値の最上
位ビットが0から1に変わったということは、データポ
インタに4ニブル、即ち16ビットがたまったことと、
レジスタ12a−4にデータが書き込まれたことを意昧
する。従って、16ビットアライメント部12は、デー
タポインタ内のレジスタ12a−1〜12a−4に蓄え
られた符号DaとDbを、シーケンサ12fにより制御
されるセレクタ12gにより選択して16ビットレジス
タ12hに書き込む。こうして符号DaとDbはピンポ
ンバッファ制御部10へ送られる。
【0086】更に12ビットの符号Dcが生或されて1
6ビツトアライメント部12に送られてデータポインタ
に取り込むと、符号長フラグ累計値は‘111’にな
る。この時の3ニブルのデータはレジスタ12a−5〜
12a−7に書き込まれる。
【0087】次に8ビットの符号Ddが送られてくる
と、符号長フラグ累計値は‘001’になる。符号長フ
ラグ累計値の最上位ビットが1から0に変わったという
ことは、レジスタ12a−8にデータが書き込まれたこ
とを意味する。この状態では、レジスタ12a−5〜1
2a−7には符号Dcが、レジスタ12a−8には符号
Ddの上位ニブルが、レジスタ12a−1には符号Dd
の下位ニブルが書き込まれている。データポインタ内の
レジスタ12a−5〜12a−8に蓄えられた符号Dc
と符号Ddの上位ニブルはセレクタ12gにより選択さ
れてレジスタ12hに書き込まれ、ピンポンバッファ制
御部10へ送られる。
【0088】次のニブルクロックサイクルで8ビットの
符号Deが送られてくると、符号Deはレジスタ12a
−2と12a−3に書き込まれ、符号長フラグ累計値は
‘011’に変わる。
【0089】8ビットの符号Dfが送られてくると、符
号長フラグ累計値は‘101’となって最上位ビットが
0から1に変わる。ここではレジスタ12a−1に蓄え
られた符号Ddの下位ニブルと、レジスタ12a−2と
12a−3に蓄えられた符号Deと、レジスタ12a−
4に蓄えられた符号Dfの上位ニブルを合わせた16ビ
ットがセレクタ12gにより選択されてレジスタ12h
に書き込まれ、ピンポンバッファ制御部10へ送られ
る。レジスタ12a−5には符号Dfの下位ニブルが残
っている。
【0090】この動作を繰り返して1ライン分の画像デ
ータに対する符号は16ビット毎にピンポンバッファ制
御部10へ送ってピンポンバッファ4,5に書き込まれ
る。尚、1ラインの先頭には8ビットのラインバウンダ
リ符号が予め付加されているので、符号長フラグ累計値
の初期値は‘010’である。又、1ラインの最後に生
成した符号を16ビットアライメント部12へ送ってデ
ータポインタに符号データが残った場合、その16ビッ
トに満たない端数もピンポンバッファ制御部10へ送
る。1ラインの最後の符号を含むデータをピンポンバッ
ファ制御部10へ送った時点での符号長フラグ累計値の
下位2ビットは、そのデータの有効ニブル数を示し、こ
の情報は次のラインの処理が終了するまでにピンポンバ
ッファに書かれた前のラインの符号データを読み出して
32ビットアライメント部13で32ビットに整形する
際に用いる。
【0091】図13は、圧縮動作時のデータの流れを示
す図である。画像データ入出力部8に入力した画像デー
タ81は、ラインメモリ3に入力すると共に適応予測/
逆予測部11で予測誤差データに変換した後、符号処理
部14で符号データ86に圧縮される。最初のラインの
画像データL1 を処理する時は、ラインメモリ3の出力
データ84はメモリクリア信号83のアサートにより、
強制的に0にして適応予測/逆予測部11へ入力され
る。よって、ラインバウンダリ符号85はPBKライン
バウンダリ符号となる。ラインメモリ3の出力データ8
4は通常は1ライン前の画像データである。例えば2ラ
イン目の画像データL2 を圧縮処理する場合、ラインメ
モリ3の入力データ82はL2 であって、出力データ8
4はL1 となる。1ライン目の画像データL1 を圧縮し
て得られた符号データC1 はピンポンバッファAに書き
込まれる。この時のピンポンバッファAへの出力アドレ
ス87は書き込みアドレスであって、符号データC1
最終データを書き込んだ時点でのアドレスはA1であ
る。
【0092】符号処理部14で生成された符号データの
ピンポンバッファへの書き込み終了時点のアドレスの値
は、そのラインの符号量を表している。制御部6は、1
ラインの処理が終了する度に符号データを書き込んだピ
ンポンバッファの書き込み終了アドレスを参照すること
により、バウンダリ符号の決定と、それに伴って出力す
べきデータを決定する。
【0093】図14は、1ラインの処理終了時点での制
御部6の動作を説明するフローチャートである。
【0094】1ラインの所定のデータ量を符号処理部1
4で符号化処理し終わると(S801)、読み出し側ピ
ンポンバッファ(説明の便宜上、ピンポンバッファBと
する)から前ラインに対する符号データの読み出しが終
了したことを確認した上で(S802)、ピンポンバッ
ファ制御部10のピンポンバッファAの書き込みアドレ
スカウンタの停止アドレスの値WRAを制御部6はフェ
ッチする(S803)。この値と、ラインバウンダリ符
号をNORラインバウンダリ符号とするのかRAWライ
ンバウンダリ符号とするのかを決める判定条件である閾
値THRSと比較する(S804)。
【0095】停止アドレスの値WRAが閾値THRSを
越えていなければ、制御部6はピンポンバッファAを読
み出し側に、ピンポンバッファBを書き込み側に切り換
える(S805)。新たに書き込み側となったピンポン
バッファBには、次のラインの符号化処理の開始と同時
に符号データが16ビットに整形される毎に符号データ
が書き込まれる。また、読み出し側となったピンポンバ
ッファAからは、符号データ入出力部7からの符号デー
タ読み出し要求の到着によって符号データが読み出され
て32ビットアライメント部13に送られて32ビット
に整形された後、符号データ入出力部7に送られる。
【0096】停止アドレスの値WRAが閾値THRSよ
り大きい場合、制御部6は、ピンポンバッファBを、次
のラインの符号化処理の結果を一時記憶するために書き
込み側に切り換える(S806)。そして、次のライン
の符号化処理の開始とともに、ラインメモリ3から読み
出される最初の画像データ8ビットの先頭にRAWライ
ンバウンダリ符号‘00 HEX’を付加して16ビッ
トデータとした上でピンポンバッファAに書き込む(S
807)。以降は、ラインメモリ3から読み出された画
像データを16ビット単位で1ライン分、ピンポンバッ
ファAに順次書き込んでいく (S808)。
【0097】いずれの場合も、1ライン分の処理が終了
する毎にピンポンバッファの書き込み側と読み出し側を
切り換えながら、1ページ分のライン数の画像データを
処理し続ける (S809)。画像データもしくは符号デ
ータが書き込まれているバッファから32ビットアライ
メント部13へのデータの読み出しは、符号データ入出
力部7の符号データ読み出し要求を受けてピンポンバッ
ファ制御部10が制御する。そして、符号処理部14で
生成され、16ビットアライメント部12で16ビット
に整形された符号データのもう一方のピンポンバッファ
への書き込みは、16ビットアライメント部12が16
ビットのデータを出力する度にピンポンバッファ制御部
10が制御する。
【0098】ここではアドレスA1が閾値THRSより
小さかったので、2ライン目の画像データL2 を処理す
る最中にピンポンバッファAへの出力アドレス87を読
み出しアドレスにして、0番地から最終A1番地までピ
ンポンバッファAの内容が32ビットアライメント部1
3への入力データ89として読み出される。2ライン目
で32ビットアライメント部13へ入力される符号デー
タは、先頭にPBKラインバウンダリ符号を伴った符号
データC1 である。
【0099】2ライン目以降のラインバウンダリ符号8
5は、NORラインバウンダリ符号である。2ライン目
の画像データL2 を圧縮処理して得られた符号データC
2 は、今度はピンポンバッファBに書き込むので、ピン
ポンバッファBへの出力アドレス88は書き込みアドレ
スになる。書き込み最終アドレスB1を閾値THRSと
比較した結果B1の方が小さかったので、符号データC
2 は3ライン目の処理中にピンポンバッファBへの出力
アドレス88を読み出しアドレスに切り替えて、0番地
から最終B1番地まで読み出して32ビットアライメン
ト部13へと送られる。
【0100】3ライン目の画像データL3 を圧縮処理し
て得られた符号データC3 は、ピンポンバッファAに書
き込む。この時の書き込み最終アドレスA2は、THR
Sよりも大きかったので、3ライン目の符号データは先
頭にRAWラインバウンダリ符号を付けて、圧縮処理し
て得られた符号データC3 の代わりに圧縮する前の画像
データL3 に置き換えられる。この処理は、4ライン目
の画像データL4 を圧縮処理する際のラインメモリ3の
出力データ84がL3 なので、先頭1バイトにRAWラ
インバウンダリ符号を付加した上でL3 をピンポンバッ
ファAに書き込みながら読み出して32ビットアライメ
ント部13へ送る。この時のピンポンバッファAへの出
力アドレス87は、書き込みアドレス/読み出しアドレ
ス交互になり、最終アドレスは、1ラインの画像データ
量OBJHにRAWラインバウンダリ符号が追加された
のでOBJH+1になる。この時、3ライン目の符号デ
ータに圧縮前の生の画像データを採用したので、4ライ
ン目の画像データL4 を適応予測する期間中、メモリク
リア信号83がアサートされて、適応予測/逆予測部1
1への入力前ライン画像データは、図4のゲート回路3
9で強制的に0になる。ピンポンバッファBには、3ラ
イン目をオール0として4ライン目の画像データL4
適応予測した結果に対する符号データC4 が書き込まれ
る。
【0101】任意のラインの圧縮処理が終了した時点
で、そのラインの画像データと前のラインの画像データ
が完全に一致しているかが判明するが、完全に一致して
いると判定した場合は、そのラインの画像データに対す
る符号データはRPTラインバウンダリ符号に置き換え
られる。図13では、6ライン目の画像データL6 を圧
縮処理し終わった時点で5ライン目の画像データとの一
致が確認されたので、ピンポンバッファBに書き込まれ
た6ライン目の符号データC6 は読み出さず、代わりに
RPTラインバウンダリ符号が1つだけ32ビットアラ
イメント部13へ送られる。
【0102】次に、復号処理部15の動作について説明
する。
【0103】図15はバウンダリ符号の検出処理を説明
したフローチャートである。復号処理は符号データ入出
力部7から取り込んだ符号データを先頭から1バイトず
つ復号処理部15へ取り込む(S901)。符号データ
の先頭はSOIイメージバウンダリ符号なので、先ずS
OIイメージバウンダリ符号‘70 HEX’の検出を
行う(S902)。復号処理開始の時点でSOIイメー
ジバウンダリ符号を検出したのであれば、次の符号デー
タバイト以降で1ページの画像データの復号を行う(S
908,S910)。1ページの画像データの復号の途
中でSOIイメージバウンダリ符号を検出した場合はエ
ラーとなって処理を中止する(S909)。1ページの
画像データの復号が開始すると、先ずはラインバウンダ
リ符号‘00 HEX’〜‘03 HEX’(表3参
照)の検出を行って(S904〜S907)それに続く
符号データの処理モードを決定する(S914,S91
5)。バウンダリ符号検出時にEOIイメージバウンダ
リ符号‘71 HEX’を検出した場合、その時点まで
に復号処理したライン数が所定の値OBJWに一致した
場合は復号処理を終了し(S912)、一致しなかった
場合はエラーとなって処理を中止する(S911,S9
13)。但しこの判定は必要条件ではなく、EOIイメ
ージバウンダリ符号を検出した時点で復号処理を終了す
る(S912)としても差し支えない。
【0104】検出したラインバウンダリ符号に対する処
理モードの違いは、 NORラインバウンダリ符号に続く符号データは、
予測誤差データに伸張して適応予測/逆予測部11に送
り、そこで既に逆予測して復元した画像データとライン
メモリ3の内容を用いて逆予測して画像データ入出力部
8へ送り、出力する。
【0105】 PBKラインバウンダリ符号に続く符
号データは、予測誤差データに伸張して適応予測/逆予
測部11に送り、そこで既に逆予測した画像データと前
ラインの画像データを強制的に0にしたものを用いて逆
予測して画像データ入出力部8へ送り、出力する。
【0106】 RAWラインバウンダリ符号に続く符
号データは生の画像データなので適応逆予測しないで画
像データ入出力部8へ送り、出力する。この際、ライン
メモリ3の内容をRAWラインバウンダリ符号に続く画
像データで更新する。
【0107】 RPTラインバウンダリ符号に続く符
号はない。この場合はラインメモリ3の内容をそのまま
画像データ入出力部8へ送り、出力する。
【0108】図16と図17は、1ライン内での復号処
理を説明するフローチャートである。なお、図におい
て、NHは上位ニブル、NCはニブルカウンタ設定値、
TNはターミネータ、D1 は符号バイト(d7 6 5
4 3 2 1 0 )を示す。
【0109】検出したラインバウンダリ符号がNOR又
はPBKラインバウンダリ符号の場合、それに続く符号
データバイトを取り込んで上位ニブルを調べてその符号
の長さを先ず求める(S920〜S926)。上位ニブ
ルが‘1100(C HEX)’〜‘1111(F H
EX)’の範囲にある場合、その符号は12ビット(3
ニブル)の符号である(S921)。上位ニブルが‘0
000’〜‘0111(7 HEX)’の範囲にある場
合、その符号は8ビット(2ニブル)の符号である(S
923)。それ以外の場合は4ビット(1ニブル)の符
号で、この場合は符号の値からゼロニブルランが0でそ
れに続くTA ターミネータが直ちに求まる(S924〜
S926,S943〜S946)。
【0110】これから復号する符号データが12ビット
の符号の場合(S922)、ニブルカウンタに設定すべ
きパラメータは、先ず取り込んだ符号データバイトのビ
ット0からビット5の6ビットである(S951)。と
ころで、12ビットの符号はラン/ターミネータ符号と
マルチプライヤ符号のいずれかであって、ラン/ターミ
ネータ符号の場合は、先ず取り込んだ符号データバイト
に続く4ビットをターミネータとしターミネートする。
この場合、ゼロニブルランは63以下であるから、ニブ
ルカウンタへの設定値は、上位6ビットを0として、下
位6ビットにニブルカウンタ設定パラメータを配したも
のとなる。マルチプライヤ符号の場合は、その符号デー
タバイトに続く4ビットは‘0000’であって、ニブ
ルカウンタ設定パラメータはニブルカウンタの上位6ビ
ットに、下位6ビットに0を設定しなければならない。
そこで、一旦ニブルカウンタには仮の値を設定してダウ
ンカウントし、ゼロニブルを発生させた上で更に符号デ
ータバイトを取り込み、その上位ニブルをターミネータ
として調べる(S952〜S955)。
【0111】ターミネータがTB ターミネータであっ
て、先に取り込んだ符号データバイトが‘C0 HE
X’もしくは‘C1 HEX’の場合、そうした符号は
符号処理部14で生成されないので符号エラーとして以
降の復号処理を中止する(S956,S960,S96
5)。そうでない場合は、この12ビットの符号はTB
ターミネータをターミネータとするラン/ターミネータ
符号ということになる。そして、このことが判明した時
点では既にニブルカウンタが動作開始しているので、最
終的に正しいゼロニブルランを生成するようにニブルカ
ウンタ設定値を補正する(S964)。
【0112】ターミネータがTA ターミネータであっ
て、ニブルカウンタ設定パラメータの十進表現が26未
満の場合は、ニブルカウンタへの再設定値はニブルカウ
ンタ設定パラメータに64を加えた上でそれが判明する
までにニブルカウンタが計数したゼロニブル数を引いた
ものになる(S958,S963)。そうでない場合
は、ニブルカウンタ設定パラメータから既にニブルカウ
ンタが計数したゼロニブル数を引いた値に補正する(S
964)。
【0113】ターミネータがゼロニブルの場合(S95
7)はマルチプライヤ符号である。この場合は、更にニ
ブルカウンタ設定パラメータの値を調べて拡張マルチプ
ライヤ符号かどうかを調べ、最終的に正しいゼロニブル
ランを生成するようにニブルカウンタ設定パラメータを
補正する(S959,S961,S962)。
【0114】これから復号する符号データが8ビットの
符号の場合(S927)、先ず最初に取り込んだ符号バ
イトの値の大きさを調べる(S928)。取り込んだ符
号バイトの値の大きさが‘68 HEX’以上の場合
は、その8ビット符号はTB ターミネータを伴うゼロニ
ブルランが0もしくは1の予測誤差を表したものにな
る。この時のターミネータは取り込んだ符号バイトのビ
ット1からビット4である。そして、ゼロニブルランの
大きさはビット0である(S929〜S934)。取り
込んだ符号バイトの値の大きさが‘68 HEX’未満
の場合、ニブルカウンタ設定パラメータは、下位6ビッ
トに取り込んだ符号バイトのビット2からビット7を割
当て上位6ビットは0にしたものになる(S935)。
この時のターミネータはTA ターミネータで、取り込ん
だ符号バイトのビット1とビット0がその種類を表して
いる(S936〜S942)。
【0115】以上のようにニブルカウンタ設定パラメー
タとターミネータを取り込んだ符号データを復号して求
めると、ニブルカウンタにその設定パラメータを設定し
てダウンカウントを行う。ニブルカウンタの動作クロッ
クはニブルクロックである。ニブルカウンタがダウンカ
ウントしている期間、ゼロニブルをニブルクロックに同
期して出力する。そしてニブルカウンタが停止した時点
でターミネータをニブルクロックに同期して出力する。
【0116】復号処理部15の動作タイミングを図18
に示す。復号処理部15の動作クロックはニブルクロッ
クである。時刻T1で取り込んだ最初の復号すべき符号
データバイトはC0 である。C0 の上位ニブルをC0H
表し、下位ニブルをC0Lで表している。C0 を図16、
図17で説明した処理を行った結果、C0 は8ビットの
符号でニブルカウンタ設定値が0、ターミネータはTB0
となった。C0 は1バイトが完全に処理されるのでデー
タワードポインタにはC0 を捨てて新たにC2を取り込
み、結果としてC1 2 がデータワードポインタに蓄え
られたことになる。ニブルカウンタ設定値が0なので、
ニブルカウンタにはその設定値を設定しない。ニブルカ
ウンタのイネーブル信号はネゲート状態でボローを出力
し続けている。ターミネータTB0は次のニブルクロック
サイクル時刻T2で出力すると共に、C1 を復号すべき
符号データバイトとして取り込む。C1 の上位ニブルC
1Hが4ビットの符号でニブルカウンタ設定値は0、ター
ミネータはTA1になった。ターミネータTA1は時刻T3
で出力される。
【0117】時刻T3以降で復号すべき符号データバイ
トはC1 の上位ニブルC1Hだけが処理し終わっているの
で、C1 の下位ニブルC1 LとC2 の上位ニブルC2H
組み合せたデータバイトになる。このデータバイトは8
ビットの符号でニブルカウンタ設定値が0、ターミネー
タはTB1となった。この処理の間にC1 は1バイト完全
に処理されるのでデータワードポインタには新たにC3
を取り込んでデータワードポインタの内容はC2 3
なる。
【0118】時刻T4でターミネータTB1を出力し、次
に復号すべき符号データバイトとしてC2 の下位ニブル
2LとC3 の上位ニブルC3Hを組み合せたデータバイト
を取り込む。このデータバイトは8ビットの符号でニブ
ルカウンタ設定値が1、ターミネータはTB2となった。
この時、ニブルカウンタには1を設定すべくロード信号
が入力する。ニブルカウンタはニブルクロックでこの設
定値をロードし、ダウンカウントを開始する。ダウンカ
ウントの開始によりボローはネゲートされる。ニブルカ
ウンタが動作している時刻T5とT6の間はゼロニブル
が出力される。C2 の下位ニブルC2Lを処理したことで
データワードポインタには新たにC4 を取り込んでデー
タワードポインタの内容はC3 4 となる。
【0119】時刻T6ではニブルカウンタのダウンカウ
ントが終了するのでボローがアサートされる。これに伴
ってターミネータTB2が出力される。この時点での復号
すべき符号データバイトはC3 の下位ニブルC3LとC4
の上位ニブルC4Hを組み合せたデータバイトである。こ
のデータバイトが12ビットの符号であることは時刻T
7までに判明するので、時刻T7に復号すべき符号デー
タバイトとしてC4 の下位ニブルC4LとC5 の上位ニブ
ルC5Hを組み合せたデータバイトを取り込む。ニブルカ
ウンタ設定パラメータがKであることも同時に判明する
が、時刻T7以降で残りの4ビットを参照しなければこ
のニブルカウンタ設定パラメータKをどのようにニブル
カウンタに設定すべきかが確定できない。そこで、時刻
T7以降でニブルカウンタを動作させるために仮設定値
を時刻T7でニブルカウンタにロードする。
【0120】時刻T7から時刻T8の間でC4 の下位ニ
ブルC4LとC5 の上位ニブルC5Hを組み合せたデータバ
イトを処理して、この符号はターミネータをTA2とする
ラン/ターミーネータ符号であることが判明する。この
間にニブルカウンタは1だけダウンカウントしているの
で、時刻T8でニブルカウンタに設定すべき値はこの分
を差し引いたK−1になる。この動作を繰り返して符号
データの復号が行われる。
【0121】次に、本発明の画像圧縮伸張装置の伸張モ
ードでの全体の動作について説明する。
【0122】伸張動作に先立ち、システムバス1を介し
て画像圧縮伸張装置の動作モードを制御部6に対して伸
張モードに設定する。更に、伸張したい符号データの圧
縮処理時に使用した予測器選択モードワードを、システ
ムバス1を介して制御部6に設定する。伸張モードでは
伸張したい符号データをシステムバス1から符号データ
入出力部7に取り込む。取り込まれた符号データは復号
処理部15に送られてバウンダリ符号の検出が行われ
る。
【0123】検出したバウンダリ符号がNORラインバ
ウンダリ符号又はPBKラインバウンダリ符号であれ
ば、それに続く符号データをランレングス復号して予測
誤差データに戻す。復号した予測誤差データは適応予測
/逆予測部11へ送られる。適応予測/逆予測部11は
制御部6により適応逆予測モードで動作するように制御
される。適応予測/逆予測部11は、制御部6により使
用すべき予測器が限定された上で、適応逆予測モードで
動作するように制御される。適応予測/逆予測部11で
は、ラインメモリ3に記憶されている1ライン前の逆予
測された画像データと、適応予測/逆予測部11内部の
レジスタに保持されている当該ラインの逆予測された画
像データとから、復号処理部15から送られてきた予測
誤差データを逆予測して画像データへの変換を行う。こ
こで、検出したバウンダリ符号がPBKラインバウンダ
リ符号であった時はラインメモリ3の出力を強制的に0
にして逆予測が行われる。逆予測して得られた画像デー
タは、画像データ出力部8へ送ると共に、ラインメモリ
制御部9に送られてラインメモリ3の内容を更新する。
【0124】検出したバウンダリ符号がRAWラインバ
ウンダリ符号であれば、それに続く符号データは復号処
理部15と適応予測/逆予測部11では何ら処理せず
に、画像データ入出力部8へ送られると共に、ラインメ
モリ制御部9に送られてラインメモリ3の内容を更新す
る。
【0125】検出したバウンダリ符号がRPTラインバ
ウンダリ符号であれば、ラインメモリ制御部9により、
ラインメモリ3の内容を読み出して画像データ入出力部
8へ送る。そのラインの間は復号処理部15と適応予測
/逆予測部11は動作しない。
【0126】画像データ入出力部8は、外部に設けられ
た図示しない画像データ読み出し回路からの制御信号に
よって画像データを画像バス2上に送り出す。
【0127】このように、圧縮時に符号データ量が所定
の大きさを越えたために、圧縮前の生の画像データを符
号データとしたラインの次のラインは、PBKラインバ
ウンダリ符号を伴った符号データであって、仮に生の画
像データの中に符号誤りが発生していても、逆予測の際
に誤りの発生したラインの画像データはオール0として
逆予測するので符号誤りが伝搬しない。
【0128】本発明において、適応予測アルゴリズムや
適応予測部の構成は、実施例に限定されるものではな
い。又、実施例ではMH符号化方式によらずに予測誤差
データを符号化しているが、この代わりにMH符号を用
いて符号化しても同様な効果が得られることは当然のこ
とである。
【0129】
【発明の効果】以上、説明してきたように本発明によれ
ば、中間調画像とテキスト画像それぞれに予測器を設け
て適応予測して符号化するので原稿画像によって圧縮器
や伸張器を切り替えることなく良好な画像圧縮を行うこ
とが出来るという効果がある。更に、画像データもしく
は予測誤差データを所定のデータブロック単位に適応予
測/逆予測する予測器を直前のデータブロックで決定す
るようにしたので、現在予測/逆予測しようとするデー
タブロック自身への予測誤差のフィードバックがなくな
り、高速な画像圧縮/伸張処理が可能という効果があ
る。又、1ラインの符号データは直ちに出力せずに一旦
バッファメモリに蓄積するようにし、当該ラインの符号
量が所定の値より大きい場合はラインメモリに記憶され
ている当該ラインの画像データを出力するので符号デー
タは最悪でも元の画像のデータ量を超えることがないと
いう効果がある。
【図面の簡単な説明】
【図1】 本発明による圧縮伸張装置の構成を示すブロ
ック図である。
【図2】 テキスト予測器を示す図である。
【図3】 中間調予測器を示す図である。
【図4】 適応予測/逆予測部のブロック図である。
【図5】 中間調予測器選択部を説明する図である。
【図6】 テキスト予測器選択部を説明する図である。
【図7】 符号処理部の符号化手順を示したフローチャ
ートの第1の部分である。
【図8】 符号処理部の符号化手順を示したフローチャ
ートの第2の部分である。
【図9】 符号処理部のブロック図である。
【図10】 符号処理部の動作タイミングを示す図であ
る。
【図11】 16ビットアライメント部のブロック図で
ある。
【図12】 16ビットアライメント部の動作を示した
タイミング図である。
【図13】 圧縮動作時のデータの流れを示す図であ
る。
【図14】 1ラインの処理終了時点での制御部の動作
を説明するフローチャートである。
【図15】 バウンダリ符号の検出処理を説明したフロ
ーチャートである。
【図16】 1ライン内での復号処理を説明するフロー
チャートの第1の部分である。
【図17】 1ライン内での復号処理を説明するフロー
チャートの第2の部分である。
【図18】 復号処理部の動作タイミングを示す図であ
る。
【符号の説明】
1…システムバス、2…画像バス、3…ラインメモリ、
4,5…ピンポンバッファ、6…制御部、7…符号デー
タ入出力部、8…画像データ入出力部、9…ラインメモ
リ制御部、10…ピンポンバッファ制御部、11…適応
予測/逆予測部、12…16ビットアライメント部、1
2a−1〜12a−8…レジスタ、12b…デマルチプ
レクサ、12c…ALU、12d…アキュムレータ、1
2e…デコーダ、12f…シーケンサ、12g…セレク
タ、12h…レジスタ、13…32ビットアライメント
部、14…符号処理部、14a…セレクタ、14b…レ
ジスタ、14c…ニブルカウンタ、14d…デコーダ、
15…復号処理部、18…中間調予測器選択部、20…
中間調予測器群、21…newHT選択回路、22…レ
ジスタ、23,24…マルチプレクサ、25…比較器、
26…レジスタ、27…nonHT選択回路、28…テ
キスト予測器群、29…Final選択部、30〜33
…レジスタ、34…マルチプレクサ、35…適応予測
器、36…マルチプレクサ、37…レジスタ、38…マ
ルチプレクサ、39…ゲート回路、40…中間調予測
器、41…予測誤差カウンタ、42…最小予測誤差検出
回路、43,44…マルチプレクサ、45…レジスタ、
50…テキスト予測器、51…予測誤差カウンタ、52
…最小予測誤差検出回路、53…マルチプレクサ、81
…画像データ、82…ラインメモリの入力データ、83
…ラインメモリの出力データ、84…ラインバウンダリ
符号、85…符号データ、86…ピンポンバッファAへ
の出力アドレス、87…ピンポンバッファBへの出力ア
ドレス、88…32ビットアライメント部への入力デー
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04N 1/41 - 1/419 G06T 9/00 H03M 7/30

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 画像データを適応予測して符号化する画
    像圧縮装置において、1ライン分の画像データを記憶す
    るラインメモリを備え、1ラインの符号データの総量と
    所定の閾値と比較し、前記1ラインの符号データの総量
    が前記所定の閾値を越えた場合は、前記ラインメモリに
    記憶された当該ラインの画像データを符号として出力
    し、当該ラインの次のラインの適応予測に際しては、前
    記ラインメモリの出力をクリアして適応予測させる制御
    手段を具備したことを特徴とする画像圧縮装置。
JP04094578A 1992-04-14 1992-04-14 画像圧縮装置 Expired - Fee Related JP3128016B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04094578A JP3128016B2 (ja) 1992-04-14 1992-04-14 画像圧縮装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04094578A JP3128016B2 (ja) 1992-04-14 1992-04-14 画像圧縮装置

Publications (2)

Publication Number Publication Date
JPH05292329A JPH05292329A (ja) 1993-11-05
JP3128016B2 true JP3128016B2 (ja) 2001-01-29

Family

ID=14114172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04094578A Expired - Fee Related JP3128016B2 (ja) 1992-04-14 1992-04-14 画像圧縮装置

Country Status (1)

Country Link
JP (1) JP3128016B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101318574B1 (ko) 2010-03-03 2013-10-16 미쓰비시덴키 가부시키가이샤 데이터 압축 장치 및 데이터 압축 방법 및 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
JPH05292329A (ja) 1993-11-05

Similar Documents

Publication Publication Date Title
US5801650A (en) Decoding apparatus and method
US4800441A (en) Binary data compression and expansion processing apparatus
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
US8306108B2 (en) Adaptive canonical Huffman decoder and method thereof and video decoder
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US7515761B2 (en) Encoding device and method
US6285789B1 (en) Variable length code decoder for MPEG
US20060233444A1 (en) JBIG coding apparatus and method with low cost, high-performance ping-pong buffer arrangement
JP3128016B2 (ja) 画像圧縮装置
JP2842045B2 (ja) データ圧縮装置
US7916792B2 (en) Apparatus and method for VLD buffer management
JP3128014B2 (ja) 画像圧縮伸張装置
JPH11103257A (ja) 算術符号化復号化装置
JP4537089B2 (ja) 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US6907068B2 (en) Image compressing coding apparatus and method for detecting a top position of an image in a buffer overflow
JPH0870459A (ja) 画像データ圧縮装置
KR0152035B1 (ko) 가변장복호화방법 및 그 장치
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
JP3108243B2 (ja) 符号化及び復号化装置
US6331827B1 (en) Huffman decoder using two priority encoder to reduce circuit scale
JP3247052B2 (ja) 画像データ変換処理方法及び装置
JP3224127B2 (ja) 画像データ変換処理装置
JP3336537B2 (ja) 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JP3142911B2 (ja) 符号化復号化装置の処理方法
JP3223118B2 (ja) 画像符号化装置、画像復号化装置、及び画像符号化・復号化装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071110

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091110

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees