JP2007028649A - 画像圧縮処理装置 - Google Patents

画像圧縮処理装置 Download PDF

Info

Publication number
JP2007028649A
JP2007028649A JP2006217463A JP2006217463A JP2007028649A JP 2007028649 A JP2007028649 A JP 2007028649A JP 2006217463 A JP2006217463 A JP 2006217463A JP 2006217463 A JP2006217463 A JP 2006217463A JP 2007028649 A JP2007028649 A JP 2007028649A
Authority
JP
Japan
Prior art keywords
code
length
run length
run
image
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.)
Pending
Application number
JP2006217463A
Other languages
English (en)
Inventor
Naohito Shiraishi
尚人 白石
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006217463A priority Critical patent/JP2007028649A/ja
Publication of JP2007028649A publication Critical patent/JP2007028649A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】ハードウエア低減と、ソフトウエアで実現する場合の開発コストなどの低減を図ること。
【解決手段】複数のBITパターンを並列処理するBIT数と同じ数のラン長を求め、次パターンへ繰り越すラン長を求めるランカウント処理手段と、次パターンへ繰り越すラン長を累積加算する累積加算処理手段とを有するラン長処理装置171と、固定長符号の、前後の相関の高いパラメータに対し予測符号化を行い、固定長符号の量子化符号部分に対し予測符号化を行わず、両者を分離する予測符号化処理装置172と、上記ラン長から繰り返し数を求める繰り返し処理装置173と、上記ラン長と繰り返し数を符号化する符号化処理装置174と、を備える。
【選択図】 図4

Description

本発明は、デジタル画像データをデータ圧縮、伸長する画像処理装置と2値画像データをデータ圧縮、伸長する画像処理装置に関し、より詳細には、デジタル複写機、スキャナー画像ファイリング、プリンタなどのフレームバッファー容量を節約する、いわゆる省メモリ機構に最適な符号化、復号化の方式を用いた画像圧縮処理装置に関するものである。
従来、画像データ圧縮技術は画像データを保持するためのメモリ量を低減したり、画像データの送信時間を短縮したりする目的で画像処理分野で一般に使用されている。画像データ圧縮方式は画像データの処理形態により、種々であり画像データを印字処理する場合においては限られた容量のメモリ上で画像データを回転して印字するなどの処理を高速に行うという必要性から固定長圧縮が良く使用されている。代表的な固定長圧縮の方式としてGBTC(Generalized BTC)などが知られている。
このような符号化に関連する参考技術文献がたとえば特許文献1に開示されている。この従来の画像データ符号化装置及び画像データ符号化方法は一般に、画像データをデジタル信号として扱う複写機に適用される。スキャナーで画像データを読み取り、A/D変換部でデジタル信号に変換し、画像処理部でガンマ変換、画質補正などの画像処理を行い、画像出力部で画像データを記録紙上に画素毎に印字を行い、画像を出力する。
デジタル信号として画像を扱う複写機では、メモリに画像を蓄えておくことが可能になる。画像データをメモリに蓄えることができれば、1度取り込んだ画像を何度も利用したり、また、入出力のアドレスを変え、画像の回転などの加工編集を行うことができる。さらにメモリからハードディスクなどの2次記憶部に符号化した画像データを貯めることにより、多くの画像データを蓄え、それらの画像データを仕分けして出力することも可能である。
ただし、画像の情報量は多く、そのままメモリに蓄えると多くのメモリ容量が必要になり、メモリの単価は高いことから、全体のコストが割高になってしまうし、ハードディスクも大容量のものを使わなければならない。よって画像データを圧縮して、メモリやハードディスクに蓄えられれば、記憶容量が少なくてすみ、コストが抑えられる。画像データ圧縮方式であるブロック符号化方式は、図36に示すように、画像をブロック毎に分解してブロック内の1バイトの濃度値Lijを図に示すアルゴリズムで平均値La(1バイト)、階調幅指標Ld(1バイト)、画素毎の量子化符号φij(2ビット×16)にデータ量の圧縮を行うものである。
この符号化方式により、画素1バイトの4×4画素ブロックのデータ量16バイトが6バイトになり、3/8のデータ量に圧縮が行える。Qjは、復号時の量子化代表値で各符号が復号時に割り当てられる濃度値である。デジタル複写機がメモリに画像を圧縮して蓄え、さらにその符号データをハードディスクに蓄える機能を持つ場合のブロック図を図37に示す。通常の画像出力の場合は、まずスキャナーで、画像データを画素毎の信号を読み込み、A/D変換部で各々の信号を8ビットのデジタル信号に変換し、画像処理部でガンマ変換などの画像処理を行う。信号切り替え部606をBに接続して、画像出力部607にデータを送り、画像出力部607ではこれらのデータを受けて画像を出力する。つぎに画像データを圧縮して格納し、復号して画像を出力する場合について説明する。
つぎに画像データを圧縮して格納し、復号して画像を出力する場合について説明する。スキャナ601、A/D変換部602、画像処理部603は通常出力の場合で1次符号格納部605以降を用いていないときと変わらない。画像処理部603からのデータの濃度値は、前記のブロック符号化方式によって符号化され、1次符号格納部605に1ページ分の画像の符号データが格納される。1ページ分のデータが格納された後、1次符号格納部605から符号データは、ハードディスクなどで構成される2次符号格納部604に転送される。同様にして複数枚の原稿の符号データが2次符号格納部604に転送される。
所望の原稿枚数の符号データが2次符号格納部604に転送された後、2次符号格納部604から符号データを読み出し、画像データの出力を行なう。まず、2次符号格納部604に格納されている先頭の画像の符号データを1次符号格納部605に格納した後、復号して、信号切り替え部606をAに接続して、画像出力部607にデータを送り、画像出力部607ではこれらのデータを受けて画像を出力する。
2次符号格納部604から画像の符号データを、格納された順番に読み出し、上記動作を繰り返し、最後に格納された画像の符号データを復号して出力することにより、1部のコピーが出力でき、同様に複数部のコピーを出力することができる。1次符号格納部604について図37で詳しく説明する。1次符号格納部605では1ライン毎に入力される画像データを4ラインFIFO701で4ライン分蓄えてから1次符号化部702で4×4画素ブロック毎に前述のブロック符号化を行い、生成された符号データを符号メモリ703に蓄える。
つぎに2次符号格納部604について図39で詳しく説明する。2次符号格納部604は、2次符号化部802とハードディスク803などの記憶装置で構成され、符号メモリ801に格納された原稿1枚分の符号データが2次符号化部802により、さらに符号化されてハードディスク803に蓄えられる。2次符号化部802では、ブロック符号化の符号が確実に復号できるように符号化前のデータと復号時のデータの差が全くない可逆符号化を用いるのが一般的である。
通常は、図40に示すように平均値Laは、隣のブロックとの差分値△LをWYLE符号などの可変長符号を使って符号化を行い、階調幅指標Ldはそのままの値を同じく、WYLE符号等の可変長符号を使って符号化を行い、φijは、上位ビットと下位ビットを別々にMMRなどの2値データの符号化方式で符号化を行う。
つぎに、プリンタ画像圧縮の従来例について説明する。2値画像を小さなハードウエアで圧縮する方法として1次元圧縮のランレングス画像圧縮,ファクシミリなどのMH符号が広く知られている。2値画像を高い圧縮率で圧縮する方法として2次元圧縮方式の国際標準であるJBIG(joint Bi−level Image experts Group)などが有名であり、エントロピー符号として算術符号器であるQM_コーダーを使用している。
しかし、この方法は算術符号器であるQM_コーダーに必要なコンテキストメモリやコンテキストを作成するラインメモリなどに大きなハードウエアコストが必要となり、かつ高速化が難しいという問題点がある。
また、MH符号の改造版として特許文献2には、MH符号を行うとき、直前の白および黒のラン長を格納し、ある色のラン長が直前のラン長に一致する場合に所定の反復符号を生成することにより、圧縮率、処理スピードを改善する方式が開示されている。
明らかに、ラン長の一致が発生した時に生成される反復符号が一致し生成することにより、圧縮率、処理スピードを改善する方式が開示されている。しかし、一致しなかった場合に符号化される符号語に比べて十分に少ないデータ量である場合にのみ圧縮率が向上するものであり、より短い符号語を反復符号に割り当てることは相対的に一致しないラン長の符号語を長くするので、色が短い周期で頻繁に変化するような画像データに対しては十分な圧縮率を持つ符号セットを得ることが困難であるという欠点が存在する。
また、特許文献2における符号セットはMH符号に類似するものであり、複数BITを並列に処理する場合、大きなゲート数を必要とし、高速性を期待することは困難であるという欠点も存在する。
以上の画像符号化方式は、特定の画像に対しては高い圧縮率が達成できるものの、色が短い周期で頻繁に変化するような画像テデータに対しは十分な圧縮率を得ることは困難であった。
この問題を克服した方法としてたとえば特許文献3が開示されている。ここでは、データを走査して得られる色毎に交互のランレングス数値列を入力し、所定の符号列に変換して出力する符号化方法であって、所定のランレングス数値を入力したときに上記ランレングス数値の値が同色の直前のランレングス数値に一致する場合を一致事象と設定すると共に一致しない事象を不一致事象と設定し、一致事象が連続する数を反復数と設定し、上記一致事象または一致事象の連続が発生した場合には上記反復数に対応する反復数符号を生成し、上記不一致事象が発生した場合には上記ランレングス数値の値を示す符号を生成するデータ符号化方法が開示されている。
特開平10−285405号公報 特開平9−65147号公報 特開2000−217005号公報
このように、従来のコピー画像は固定長圧縮方式(GBTCなどの方式)にて圧縮されていた。近年、前述のように画像データをメモリやハードデイスクへ格納する要求から、従来以上の圧縮率を求められている。このため、前述のように固定長圧縮(GBTC)後の符号を再度他の圧縮装置により圧縮することにより、この目的を達成していた。しかしながら、プリンタ画像においても前述したように、プリンタ画像の特性(2値の繰り返しを多く含む画像)に適した画像圧縮装置があり、このコピー画像/プリンタ画像は、別の符号器により、それぞれ圧縮処理を行なっているため、これらを構成するハードウエアおよびゲート数、ソフトウエアの規模が大きくなるという問題点があった。
本発明は、上記に鑑みてなされたものであって、固定長圧縮符号の再度の圧縮処理とプリンタ画像の圧縮処理装置を同じ画像圧縮処理装置で行うことにより、ハードウエア低減と、ソフトウエアで実現する場合の開発コストなどの低減を図ることを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、複数のBITパターンを並列処理するBIT数と同じ数のラン長を求め、つぎへのパターンへ繰り越すラン長を求めるランカウント処理手段と、つぎへのパターンへ繰り越すラン長を加算し、累積加算を求める累積加算処理手段と、を有するラン長処理手段と、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離する予測符号化手段と、複数のラン長(または予測符号)から繰り返し数を求める繰り返し処理手段と、求めた複数のラン長(または、予測符号、固定長符号の量子化符号)と繰り返し数とを符号化する符号化処理手段と、を備えたもことを特徴とする。
この発明によれば、ラン長処理手段のランカウント処理手段により、複数のBITパターンを並列処理するBIT数と同じ数のラン長を求め、つぎへのパターンへ繰り越すラン長を求め、累積加算処理手段でつぎへのパターンへ繰り越すラン長を加算して累積加算を求め、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、予測符号化手段により、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離し、繰り返し処理手段により、複数のラン長(または予測符号)から繰り返し数を求め、符号化処理手段により、求めた複数のラン長(または、予測符号、固定長符号の量子化符号)と繰り返し数とを符号化する構成とすることによって、固定長圧縮符号の再度の圧縮処理とプリンタ画像の圧縮処理を同じ画像圧縮装置で行なえ、コピー画像およびプリンタ画像が有する特性に適した画像圧縮処理が実現する。
また、請求項2にかかる発明は、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離する予測符号化手段と、複数の予測符号から繰り返し数を求める繰り返し処理手段と、求めた複数の予測符号、固定長符号の量子化符号、繰り返し数を符号化する符号化処理手段と、を備えたことを特徴とする。
この発明によれば、予測符号化手段により、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離し、繰り返し処理手段により、複数の予測符号から繰り返し数を求め、求めた複数の予測符号、固定長符号の量子化符号、繰り返し数を符号化する構成とすることによって、コピー画像に対する高い画像圧縮が実現する。
本発明(請求項1)にかかる画像圧縮処理装置は、ラン長処理手段のランカウント処理手段により、複数のBITパターンを並列処理するBIT数と同じ数のラン長を求め、つぎへのパターンへ繰り越すラン長を求め、累積加算処理手段でつぎへのパターンへ繰り越すラン長を加算して累積加算を求め、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、予測符号化手段により、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離し、繰り返し処理手段により、複数のラン長(または予測符号)から繰り返し数を求め、符号化処理手段により、求めた複数のラン長(または、予測符号、固定長符号の量子化符号)と繰り返し数とを符号化する構成とすることによって、コピー画像およびプリンタ画像がそれぞれ有する画像特性に適した画像圧縮処理が実現する。したがって、固定長圧縮符号の再度の圧縮処理とプリンタ画像の圧縮処理装置を同じ画像圧縮処理装置で行なうので、ハードウエア低減と、ソフトウエアで実現する場合の開発コストなどの低減を図ることができるという効果を奏する。
また、本発明(請求項2)にかかる画像圧縮処理装置(請求項2)によれば、予測符号化手段により、固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離し、繰り返し処理手段により、複数の予測符号から繰り返し数を求め、求めた複数の予測符号、固定長符号の量子化符号、繰り返し数を符号化する構成とすることによって、コピー画像に対する高い画像圧縮が実現するため、コピー画像の固定長圧縮(GBTCなど)された後の符号を再度圧縮することができるという効果を奏する。
以下、本発明にかかる画像圧縮処理装置の好適な実施の形態について添付の図面を参照し、詳細に説明する。なお、本発明はこの実施の形態に限定されるものではない。
図1は、この発明を実施した画像形成装置の機構部の構成例を示す図である。自動原稿送り装置(以下、ADFという)101にある原稿台102に、原稿の画像面を上にして置かれた原稿束は、操作部上のスタートキーが押下されると、一番下の原稿から給送ローラ103および給送ベルト104によってコンタクトガラス105上の所定の位置に給送される。読み取りユニット106によってコンタクトガラス105上の原稿の画像データを読み取った後、読み取りが終了した原稿は、給送ベルト104および排送ローラ107によって排出される。さらに、原稿セット検知108にて原稿台102につぎの原稿が有ることを検知した場合、前原稿と同様にコンタクトガラス105上に給送される。給送ローラ103,給送ベルト104および排送ローラ107はモータによって駆動される。
第1トレイ109あるいは第2トレイ110、第3トレイ111に積載された記録紙は、それぞれ第1給紙装置112あるいは第2給紙装置113、第3給紙装置114によって給紙され、縦搬送ユニット115によって感光体ドラム116に当接する位置まで搬送される。読み取りユニット106にて読み込まれた画像データは、書き込みユニット117からのレーザーによって感光体ドラム116に書き込まれ、現像ユニット118を通過することによってトナー像が形成される。そして、記録紙は感光体ドラム106の回転と等速で搬送ベルト119によって搬送されながら、感光体ドラム116上のトナー像が転写される。その後、定着ユニット120にて画像を定着させ、排紙ユニット121によって後処理装置のフィニシャ100に排出される。
後処理装置のフィニシャ122は、本体の排紙ローラによって搬送された記録紙を、通常排紙ローラ132方向と、ステープル処理部方向に導くことができる。切り替え板124を上に切り替えることにより、搬送ローラ123を経由して通常排紙トレイ126側に排紙することができる。また、切り替え板124を下方向に切り替えることで、搬送ローラ125,127を経由して、ステープル台128に搬送することができる。
ステープル台128に積載された記録紙は、一枚排紙されるごとに紙揃え用のジョガー129によって、紙端面が揃えられ、一部のコピー完了と共にステープラ130によって綴じられる。ステープラ130で綴じられた記録紙群は自重によって、ステープル完了排紙トレイ131に収納される。
一方、排紙トレイ128は前後に移動可能な排紙トレイである。前後に移動可能な排紙トレイ部128は、原稿毎、あるいは画像メモリによってソーティングされたコピー部毎に、前後に移動し、簡易的に排出されてくるコピー紙を仕分けるものである。
記録紙の両面に画像を作像する場合は、第1トレイ109あるいは第2トレイ110、第3トレイ111から給紙され作像された記録紙を排紙トレイ側に導かないで、経路切り替えのための分岐爪133を上側にセットすることで、一旦両面給紙ユニット134にストックする。
その後、両面給紙ユニット134にストックされた記録紙は再び感光体ドラム116に作像されたトナー画像を転写するために、両面給紙ユニット134から再給紙され、経路切り替えのための分岐爪133を下側にセットし、排紙トレイ126に導く。このように記録紙の両面に画像を作成する場合に両面給紙ユニット134は使用される。
感光体ドラム116,搬送ベルト119,定着ユニット120,排紙ユニット121および現像ユニット118は、メインモータによって駆動され、第1給紙装置112,第2給紙装置113,第3給紙装置114はメインモータの駆動を各々給紙クラッチによって伝達駆動される。縦搬送ユニット115はメインモータの駆動を中間クラッチによって伝達駆動される。
読み取りユニット(スキャナー)106は、原稿を載置するコンタクトガラス105と光学走査系で構成されており、光学走査系は、露光ランプ135,第1ミラー136,レンズ137,CCDイメージセンサ138等々で構成されている。露光ランプ135および第1ミラー136は、図示しない第1キャリッジ上に固定され、第2ミラー139および第3ミラー140は、図示しない第2キャリッジ上に固定されている。原稿像を読み取るときには、光路長が変わらないように、第1キャリッジと第2キャリッジとが2対1の相対速度で機械的に走査される。この光学走査系は、図示しないスキャナ駆動モータにて駆動される。
原稿画像は、CCDイメージセンサ138によって読み取られ、電気信号(アナログ画像信号)に変換され、そしてデジタルデ−タ(画像デ−タ)に変換される。画像デ−タにはさらに数種の画像処理が施される。レンズ137およびCCDイメージセンサ138を図1において左右方向に移動させることにより、画像倍率が変わる。すなわち、指定された倍率に対応してレンズ137およびCCDイメージセンサ138の左右方向に位置が設定される。
書き込みユニット117は、レーザ出力ユニット141,結像レンズ142およびミラー143などで構成され、レーザ出力ユニット141の内部には、レーザ光源であるレーザダイオードおよびモータによって高速で定速回転する回転多面鏡(ポリゴンミラー)などが備わっている。レーザ出力ユニット141より照射されるレーザ光は、定速回転するポリゴンミラーで走査され、結像レンズ142を通り、ミラー143で折り返され、感光体ドラム116面上に集光結像する。
レーザ光は、感光体ドラム116が回転する方向と直行する方向(主走査方向)に露光走査され、画像処理部のセレクタ(図示せず)より出力された画像信号のライン単位の記録を行う。感光体ドラム116の回転速度と記録密度に対応した所定の周期で主走査を繰り返すことによって、感光体面上に画像(静電潜像)が形成される。上述のように、書き込みユニット117から出力されるレーザ光が、画像作像系の感光体ドラム116に照射される。
図示しないが感光体ドラム116の一端近傍の、レーザ光が照射される位置に、主走査同期信号を発生するビームセンサが配置されている。この主走査同期信号をもとに主走査方向の画像記録開始タイミングの制御、および画像信号の入出力を行うための制御信号の生成を行う。
図2は、図1における画像形成装置の電装・制御装置の構成を示すブロック図である。符号150は主に画像メモリを操作をする画像メモリアクセラレータであり、CPU167により制御され、ネットワークを通してホストコンピュータから画像データを受け取り、符号化などを行い、メモリ10へ転送する。また、その画像データをエンジンコントローラ161へ転送しプリントアウトなどを行う。
このときに、各ホストコンピュータとの通信や、メモリ168のコントロールや、パネル162から操作された情報を得るためや、プリンタエンジンコントローラなどの周辺とのバスコントロールなどを行う。
符号151はバスコントローラであり、バス166とつながる各周辺コントローラとのバスの調停を行う。符号152はメモリアービターであり、メモリ168と各種のコントローラ間の調停を行う。符号153はローカルI/Fである。このローカルI/F153は、ROM166などのインタフェースであり、メモリアービター152を介して、メモリ10や、CPU167と接続されている。符号166はROMであり、各種のプログラムや、文字などのフォント情報を格納している。
符号160は符号化/復号化装置であり、メモリアービター152を介して、メモリ168やCPU167と接続されており、メモリ168などからの画像データを符号化/復号化を行う。符号154はCPUI/Fであり、CPU167のインタフェースで、メモリアービター152を介して、メモリ168や各種コントローラと接続されている。符号167はCPUであり、プリンタ装置全体の制御を行う。
符号155はメモリコントローラであり、メモリ168を制御し、メモリアービター152を介して、各種コントローラやCPU167と接続されている。符号168はメモリであり、画像データや、その符号データや、CPUのプログラムなどを格納している。
符号156は通信コントローラであり、ネットワークに接続されており、ネットワークから各種データやコマンドなどを受け取り、メモリアービター152を介して各種のコントローラに接続されている。符号161はプリンターコントローラであり、バス166と接続されており、プリンタエンジン160を制御する。
符号163はパネルコントローラであり、パネル162を制御している。符号163はパネルであり、ユーザーからの操作をプリンタ装置へ知らせる。符号166はバスであり、画像メモリアクセラレータ150と各種周辺コントローラとを接続する。符号159はDMAであり、メモリアービター152に接続されるコントローラ間のダイレクトメモリアクセスを行う。
符号158はHDDコントローラであり、HDDを制御する。符号169はHDDであり、符号化された画像符号などを格納する。符号164はスキャナーであり、CCDにより画像を読み込む。符号165は画像処理装置であり、スキャナー164から読み込んだ画像データに対してシェ−デイング補正、MTFγ補正などの画像処理を行う。
図3は、本発明の実施の形態にかかるエンコード時の全体のブロック図であり、図2における符号化/復号化装置160の構成を示すものである。符号176はメモリであり、プリンタの画像データを格納する。符号177はメモリであり、コピー用の画像データを格納する。符号178は固定長符号化装置であり、GBTCなどにより、コピー画像のデータを固定長に圧縮する。図31〜図33に各GBTC(4/8、3/8、2/8符号化)の演算式を示す。また、図34に各GBTC方式の固定長符号のフォーマットを示す。
図3において、符号170は画像読み込み部であり、メモリ176、固定長符号化装置178から画像データをリードする。コピーモード時にメモリ176を選択する。符号171はラン長処理装置であり、画像読み込み部170で読み出された2値のデータをラン長(0値の長さと1値の長さ)に変換し繰り返し処理装置へ転送する。
符号172は予測符号化装置であり、固定長符号化装置からの図34に示すような固定長符号を受け取り、前後の固定長符号と相関の対部分の予測符号化を行う。図34のGBTCの例ではLAのブロックの平均レベルとLDのブロック内の階調幅指標の部分の予測符号化を行い、繰り返し処理装置174にて、繰り返し数を求める処理が行いやすいように、複数の符号の前後の固定長符号と相関の対部分の予測符号化を繰り返し処理装置173へ転送し、図34の量子化符号とを分離し、量子化符号部分は予測符号化せず、符号化処理装置174へ転送する。
符号173は繰り返し処理装置であり、プリンタ動作時に、ラン長処理装置171からのラン長の繰り返し数を計算し、繰り返し数とラン長を符号化処理装置174へ転送する。また、コピー動作時に予測符号化処理装置172から予測符号を受けとり、繰り返し数を計算し、繰り返し数と予測符号を符号化処理装置174へ転送する。
符号174は符号化処理装置であり、繰り返し処理装置173のラン長と繰り返し数と予測符号化処理装置172からの量子化符号を符号化する。符号175は符号書き込み部であり、符号化処理装置174で符号化された符号をメモリ179へライトする。
図4にプリンタ処理時における画像処理のフローとコピー処理時における画像処理のフローを示す。以下、上述した各ブロックについて詳細に説明する。なお、この実施の形態では4BITごとの画像データを並列処理する例について説明する。
図5は、図3における画像読み込み部170の構成を示すブロック図である。符号185,186はレジスタであり、メモリから読み込んだ画像データを格納するレジスタ185,186はパイプライン接続されており、レジスタ186に現在処理するデータを格納し、レジスタ185につぎのデータを格納する。レジスタ185からはMSBデータ(つぎのデータの1番最初のBIT)をラン長処理装置171へ送る。符号187はメモリのアドレス生成器である。
図6は、図3におけるラン長処理装置171の構成を示すブロック図である。このラン長処理装置171は画像読み込み装置170からの4BITの画像パターン(IDOT)とつぎのパターンの1番最初のBIT(NDOT)からランカウントにより、閉じた複数の(4BITの場合、MAX4個)ラン長とそのラン長が有効か?を示すマスク値とつぎに繰り越すラン長(RUNX)を求めさせ、累積加算処理装置により、このパターン(IDOT)での1番最初のラン長RUN3へ今までの繰り越されたラン長を加算するか、また繰り越すかを判断することにより、閉じた複数のラン長とマスク値を生成する。この閉じたラン長とは、0または1のラン長の最初と最後ははっきり判断できたラン長を意味する。
たとえば、4BITのデータがすべて0であり、NDOTも0であれば、これは閉じたラン長は0個となる。4BITのデータがすべて0でNDOTが1の場合、これは閉じたラン長が1個存在する。4BITのデータが“1010”でNDOTが1の場合、前のパターンを無視すると閉じたラン長が4個存在する。4BITのデータが“1010”でNDOTが0の場合、前のパターンを無視すると閉じたラン長が3個存在する。
以下に各部を説明する。符号180はランカウントであり、画像読み込み部170からの4BITの画像データとつぎのデータの1番最初のBITを受け取り、MAX4個のラン長を出力する。RUN3〜RUN0がラン長である。DMASK3〜DMASK0はRUN3〜0のラン長が有効か?無効か?を示すフラグである。RUNXはつぎに繰り越すラン長である。AFLは4BITすべてが0または1でありかつNDOT(つぎのデータの1番最初のBIT)が同じ値である場合、1となるフラグである。
符号181は加算器であり、AFLが1の場合、ランカウント180のつぎへの繰越しラン長とレジスタ184で格納しておいた今までの繰越しラン長の合計(RBRUN3)を加算し再度、今までの繰越しラン長の合計(RBRUN3)とする。AFLが0の場合、つぎへの繰越しラン長を今までの繰越しラン長の合計(RBRUN3)へ設定する。符号182は加算器であり、1番最初のラン長 RUN3と今までの繰越しラン長の合計(RBRUN3)を加算し、今までの繰越しラン長を考慮したラン長を求める。この加算器181,182により累積加算処理装置183が構成される。
符号184はレジスタである。このレジスタ184の処理例を図13に示す。(1)は処理例の1番最初の4BIT並列処理し、複数のラン長を求める例である。この例では、つぎの4BITの最初の画像が“1”であり、処理する4BITの画像の最後のBITが“0”であるため、この並列処理された4BITは内部で閉じた3つのラン長の持っており、そのラン長“2”,“1”,“1”を求めている。
(2)は2つ目の処理であり、これは4BITの最初の画像が“0”であり、処理する4BITの画像の最後のBITが“0”であるため、この並列処理された4BITは内部で閉じておらず、最後のラン長がつぎの処理へ受け渡される。そのため、ここでは1つのラン長“2”のみとなる。
(3)は3つ目の処理であり、3つのラン長を持っており、つぎの4BITの最初の画像が“0”であり、処理する4BITの画像の最後のBITが“1”であるため、この並列処理された4BITは内部で閉じており、前回から継続されたラン長が“2”があるため、ここで求めた最初のラン長“3”と加算し、最初のラン長は5となり、ここでは、“5”、“1”の2つのラン長を求めている。
(4)は、閉じておらず、1つもラン長がない例である。(5)は(4)と同様な例である。(6)では、(4)、(5)から継続されたラン長を加算し、1つのラン長“11”を求めている。
図7は、図3における予測符号化処理装置の構成を示すブロック図である。符号188は固定長符号バッファであり、図34に示すようなGBTCのような固定長符号を複数個格納する。符号189は差分処理装置であり、前後の固定長符号と相関のある部分の予測符号化を行う。図34のGBTCの例ではLAのブロックの平均レベルとLDのブロック内の階調幅指標の部分の予測符号化を行う。
符号190は符号順序生成装置であり、図9に示すように繰り返し処理装置にて、繰り返し数を求める処理が行いやすいように、複数の符号の前後の固定長符号と相関のある部分の予測符号化と図34の量子化符号とを分離し、繰り返し処理装置173へ転送し、量子化符号部分は予測符号化せず、符号化処理装置174へ転送する。
図8は、図3における予測符号化処理装置の詳細構成を示すブロック図である。この例は固定長符号化方式としてGBTCを使用した例である。固定長符号バッファー188について説明する。符号191〜198はレジスタであり、固定長符号を格納する。符号199,200はレジスタであり、前回の最終の固定長符号の前後の固定長符号と相関のある部分(GBTCであれば、LAのブロックの平均レベルとLDのブロック内の階調幅指標の部分)を格納する。
つぎに、差分処理装置189について説明する。符号201は減算器であり、前回のLAのブロックの平均レベルと1番目のLAのブロックの平均レベルの予測符号化を行う。符号202は減算器であり、前回のLDのブロック内の階調幅指標と1番目のLDのブロック内の階調幅指標の予測符号化を行う。
同様に、符号203は減算器であり、1番目のLAのブロックの平均レベルと2番目のLAのブロックの平均レベルの予測符号化を行う。符号204は減算器であり、1番目のLDのブロック内の階調幅指標と2番目のLDのブロック内の階調幅指標の予測符号化を行う。以下同様に減算器を用いて処理する。
図8は、図3における繰り返し処理装置173の構成を示すブロック図である。この繰り返し処理装置173はラン長処理装置171で求めた複数のラン長と前パターンの後ろから2番目、1番目のラン長から複数のラン長の繰り返し数を求める。
処理の流れとして、繰り返しフラグ生成装置205により、ラン長処理装置171で求めた複数のラン長と前パターンの後ろから2番目、1番目のラン長から各ラン長を比較し、ラン長処理装置171で求めた複数のラン長が、それぞれ2つ前のラン長と等しいかどうか判断する。さらに繰り返しフラグ(RFL3〜0)を生成し、繰り返し数生成装置206により繰り返しフラグ(RFL3〜0)のパターンと今までの繰り返し数(REP)から今までの繰り返し数と、新しい繰り返し数を計算し複数の繰り返し数(WREP3〜0)と、つぎのパターンへの繰り返し数(WREP)を求める。
以下に各部について説明する。符号205は繰り返しフラグ生成装置であり、ラン長処理装置171からの複数のラン長とそのマスク値と前パターンの2つ目前のラン長と1つ前のラン長を受け取り、ラン長処理装置171からの各ラン長を2つ前のラン長と一致するか比較し、繰り返しフラグRF3〜0を出力する。
符号206は繰り返し数生成装置であり、繰り返しフラグ生成装置205からの繰り返しフラグRF3〜0といままでの繰り返し数(REP)を受け取り、複数の繰り返し数を生成する。符号207は空き領域削除装置であり、繰り返し数生成装置206から受け取った複数の繰り返し数と複数のラン長から繰り返し数生成装置206により繰り返しと判断され何も情報の入っていない(繰り返し数が0)部分をシフトし、WREP3、WRUN3よりに繰り返し数とラン長をつめる。
符号208はレジスタである。符号209はNEXTラン長生成装置であり、つぎのパターンの繰り返しフラグ生成のため、後ろから2番目のラン長と後ろから1番目のラン長を求める。符号210はレジスタである。符号211はコピー/プリンタ選択装置でありコピーモード時には予測符号化装置からの情報を符号化処理装置174に転送し、プリンタモード時にはラン長処理装置171からの情報を繰り返しフラグ生成装置205、NEXTラン長生成装置209へ転送する。
図35に繰り返し処理の例を示す。(1)は処理例の1番最初の4BIT並列処理し、繰り返しを求める例である。OUTはこの繰り返し処理装置173の出力である。DMASKは4つのランの有効フラグであり、“1”で有効であり、その項目にラン長あるいは繰り返し数がある。REPは繰り返し数であり、“0”はその項目が繰り返しではなくラン長であることを示す。
RUNはラン長である。WORKは繰り返し処理装置の内部の主要信号である。RFLは繰り返しフラグであり、繰り返しフラグ生成装置205の出力であり、その項目がラン長であれば0、繰り返しであれば1を、何もなければ2を示す。WREPは繰り返し数であり、繰り返し数生成装置206から出力されている。
REPは継続中の繰り返し数である。RF2,RF1は前回の最後のラン長であり、RF1は1つまえのラン長であり、RF2は2つ、前のラン長である。ここでは、1番最初なためにRF2,RF1は初期値を持っている(ラン長の0は有り得ない数値)。ここでは1つのラン長“3”が入力されたが、繰り返しはない。
(2)は2つ目の処理であり、ここでは“2”、“2”の2つのラン長が入力されている。ここでも繰り返しはない。(3)は3つ目の処理であり、2つのラン長の“2”、“2”が入力されている。ここではまず、最初の“2”のラン長はRF2の数値と一致し、繰り返し数と認識され、つぎの“2”のラン長もRF1の数値と一致し、繰り返し数と認識され、繰り返しフラグのRFLは3,2の項目において“1”となっている。しかし、1の項目は“2”であり、この繰り返しは、まだ継続していることを示している。そのため、継続する繰り返し数“2”をREPに格納している。そのため、WREPには繰り返し数が出力されない。
(4)は4つ目の処理であり、3つのラン長“2”、“2”、“1”が入力されている。ここでも、(3)と同様に最初の“2”のラン長はRF2の数値と一致し、繰り返し数と認識され、つぎの“2”のラン長もRF1の数値と一致し、繰り返し数と認識され、つぎの“1”は2つ前のラン長の“2”と比較され数値が一致しないために繰り返しとは認識されない。そのため、繰り返しフラグのREFLは3,2の項目において“1”となっている。1の項目は“0”であり、この繰り返しは、終端していることを示している。
そのため、WREPに終端した位置項目3で繰り返し数“4”を示している。つぎに、WREPは項目3の空白が存在するので空き領域削除処理により、項目3の空白を削除して1つずらしOUTのREPとRUNのようなっている。この空き領域削除処理は、このように空白が生じた場合、削除して詰めることにより、つぎの処理装置へ転送するときのフォーマットの規則を守る。これにより、次工程の処理装置は単純なフォーマットでデータを受け取れるため、ハードウエアのゲートを少ななくでき、処理スピードの向上を図ることができる。
(5)は5つ目の処理であり、3つのラン長“1”、“1”、“1”が入力されている。ここでは最初のラン長“1”はRF2とは一致せず、ラン長であるが、つぎのラン長“1”はRF1と一致し、繰り返しと認識される。つぎのラン長“1”は2つ前のラン長“1”と一致し繰り返しと認識される。そして、これも継続する2の繰り返しとなる。
図16は、繰り返しフラグ生成装置205の繰り返しフラグ生成処理を示すフローチャートである。まず、ステップS41においてマスク値がDMASK3=1であるかをチェックし、0であれば対応するラン長がないため、ステップS43に進み繰り返しフラグ(RFL3)に2を設定する。
ステップS41において1であれば、ラン長が存在するため、ステップS42に進みRUN3と前パターンの後ろから2番目のラン長RF2と比較し、一致すればステップS45に進み繰り返しフラグ(RFL3)に1を設定する。一致しなければステップS44に進み0を設定する。同様に他のBITも処理する。すなわち、上記ステップS41〜ステップS45の処理を、図示するようにステップS46〜ステップS60で実行する。
図12は、繰り返しフラグから複数の繰り返し数を求める状態を示す説明図である。繰り返し数はそれぞれの位置で繰り返しが途絶えた点で繰り返し数となる。図17は、繰り返し数生成処理を示すフローチャートである。ステップS61、ステップS62、ステップS63により、3BIT目の繰り返し数を求めている繰り返し数(RF3)が0であれば繰り返しフラグ生成装置205での比較結果が一致しないため、今までの繰り返し数を清算し、ステップS63のように繰り返し数(WREF3)に今までの繰り返し数(REP)を代入する。
RF3が1であればステップS62のように繰り返しが継続しているため繰り返し数(WREP3)を0にする。繰り返し数2BIT目はステップS64〜S66で求められる。 繰り返しフラグがRFL3=1&RFL2=0であれば、ステップS66のように繰り返し数(WREP2)に今までの繰り返し数(REP)と今回の繰り返し数1(RFL3=1であるため)を加算し代入する。異なれば、ステップS66のように繰り返し数(WREP2)を0にする。同様に繰り返し数1BIT目はステップS67、ステップS68、ステップS69、ステプS71で求め、繰り返す数0BIT目はステップS72、ステップS73、ステップS74、ステップS75、ステップS76、ステップS77、ステップS78で求める。
図14および図15につぎパターンへの継続する繰り返し数(REP)を求める処理を行なうフローチャートを示す。まず、ステップS1では繰り返しフラグ(RFL3)が2であればステップS16に進み、1番優先順位の高いラン長値が決まらないため、今までの繰り返し数(REP)を保持する。ステップS2において繰り返しフラグRFLが0で、RFL2が2であれば、1番優先順位の高いラン長は繰り返しではなく、それ以降にラン長はないためステップS17に進み、繰り返し数を0に設定する。
ステップS3において繰り返しフラグRFL3が1で、RFL2が2であれば、1番優先順位の高いラン長は繰り返しであり、それ以降にラン長はないためステップS18に進み、繰り返し数を今までの繰り返し数(REP)に今回の繰り返し数1を加算し代入する。ステップS4において繰り返しフラグRFL2が0で、RFL1が2である場合、RFL3がどのような値でも、有効な終端(ここではRFL1が2であるため、RFL2が終端)が0であるのでステップS19に進み、つぎパターンへ継続される繰り返し数は0になる。同様に全ての組み合わせを、以降のステップS5〜S8,ステップS20〜S31で行っている。
図18は、NEXTラン長生成装置209の処理動作を示すフローチャートである。まず、ステップS81において優先順位の最も高いマスク(DMASK3)が0であれば、このパターンに閉じたラン長はないためにステップS85のように前パターンの後ろから2番目、1番目をそのまま継続する。ステップS82においてDMASK2が0であれば、1つのみラン長が存在するため、ステップS86のように後ろから1つ前のラン長としてRIN3の値を代入し、後ろから2つ前のラン長として前パターンの後ろから1番目のRF1を代入している。
ステップS83においてDMASK1が0であれば、2つのみラン長が存在するため、ステップS87のように後ろから1つ前のラン長としてRUN2の値を代入し、後ろから2つ前のラン長としてRUN3の値を代入している。ステップS84においてDMASK0が0であれば、3つのみラン長が存在するため、ステップS88のように後ろから1つ前のラン長としてRUN1の値を代入し、後ろから2つ前のラン長としてRUN2の値を代入している。また、DMASK0が1であれば、4つのみラン長が存在するため、ステップS89のように後ろから1つ前のラン長としてRUN0の値を代入し、後ろから2つ前のラン長としRUN1の値を代入している。
図11は、符号化処理装置174のトップの構成および信号入出力を示すブロック図である。この符号化処理装置174は、MAX4個のラン長と繰り返し数とそのマスク値を受け取り、図8のような4BIT4ごとのフォーマットの符号を出力する(符号のファーマットは何BITごとでもよい)。
図19〜図21に符号化処理装置174の処理動作のフローチャートを示す。図19のステップS91〜S98において、符号化処理はマスク値のDMASK3〜0の値により、それぞれのラン長を符号化する。
つぎに符号化のフローチャートを説明する。図20において、まず、ステップS101においてラン長が0であれば、ステップS102でラン長が10以下か?を判断する。以下であればステップS103のようにラン長をそのまま符号とする。
ステップS104においてラン長が10以上で43以下の場合、さらにステップS105でラン長が27以下であるかを判断し、ラン長が27以下の場合、ステップS108に進み、ヘッダーとして4BITの1010を付加し、つぎにラン長から11マイナスした値を符号とする。27以上の場合はステップS108において4BITの1011を付加し、つぎにラン長から11マイナスした値を符号とする。
ステップS104においてラン長が43以上の場合、ステップS106に進み、ヘッダーとして4BITの1100を付加し、ステップS109〜S116により4BITのデータの4BIT目を終端フラグとする数値の表現をし、符号長を小さく表現する。
さらに、図21において、ステップS117において繰り返し数(REP)が1であれば、ステップS118で13を符号とする。ステップS119において繰り返し数(REP)が2であれば、ステップS120で14を符号とする。ステップS121において繰り返し数(REP)が3であれば、ステップS122で13,14を符号とする。
ステップS123において繰り返し数(REP)が4であれば、ステップS124で14,14を符号とする。ステップS123において繰り返し数(REP)が4以上の場合はステップS125でヘッダーとして4BITの1111を付加する。さらにステップS126〜S133において4BITのデータの4BIT目を終端フラグとする数値の表現をし、符号長を小さく表現する。
図22は、本発明の実施形態にかかるデコード時の全体のブロック図である。図3における符号化/復号化装置160に相当する。符号250はメモリであり、符号データを格納する。符号251は符号読み込み部であり、メモリ250から符号データをリードする。符号252は符号解釈処理装置であり、読み出された符号を解釈しラン長(0値の長さと1値の長さ)または繰り返し数に変換し、ラン長処理装置253へ転送する。また、コピーモード時、量子化符号を判断し、予測復号化処理装置255へ転送する。
符号253はラン長処理装置であり、プリンタモード時に符号解釈処理装置252のラン長と繰り返し数から、繰り返し数をラン長のみへ展開し、必要なだけのラン長をDOT化処理装置254へ転送する。コピーモード時に予測符号と繰り返し数から、繰り返し数を予測符号へ展開する。また、複数の固定長符号の復号に必要な予測符号を予測復号化処理装置255へ転送する。
符号254はDOT化処理装置であり、ラン長をDOT化し、画像書き込み部256へ送る。符号255は予測復号化処理装置であり、与えられた予測符号と量子化符号から複数の固定長符号へ復号する。符号256は画像書き込み部であり、プリンタモード時にデコードされた画像をメモリ258へライトする。また、コピーモード時に復号化された値を固定長符号復号化処理装置257へ転送する。
符号258はメモリであり、プリンタ画像データを格納する。符号257は固定長符号復号化処理装置であり、GBTCなどの固定長符号を復号化する。符号259はメモリであり、コピー画像データを格納する。
以下、図22の各ブロックを詳細に説明する(この例は4BITごとの画像データを並列処理する例である)。図23にプリンタモード時の処理フローとコピーモード時の処理フローを示す。図24に符号読み込み処理部251のブロック図を示す。この符号読み込み部251はフォーマットの符号を読み込み4BITごとの符号として出力する。このとき、シフタ262により符号解釈処理装置252からの消費した符号長(CODELENG)により、順次4BIT符号をシフトしていく。また、FIFOがフルになった場合、FIFOからのWAIT信号により符号の読み込みを中止する。
以下に各部を説明する。図24は符号読み込み部251の構成を示すブロック図である。符号260,261はレジスタであり、読み込んだ符号データを1時格納する。符号262はシフタであり、符号解釈処理装置252からの消費した符号長(CODELENG)により、順次4BIT符号をシフトさせながら符号解釈装置へ4BITごとの符号を転送する。符号263はアドレス生成部であり、符号メモリのアドレスを生成する。
図25に符号解釈処理装置252のブロック図を示す。この符号解釈処理装置252は符号読み込み処理部からの複数の4BIT単位の符号を読み込み、4個のラン長または繰り返し数と、その数値がラン長か?繰り返し数か?を示す複数のフラグを求める。
処理のながれは、4個の符号解析装置265〜268により図9のフォーマットの符号を解析させ、このとき、1つの符号解析装置はMAXの符号長の符号を読めるようにする(図9のフォーマットではMAXの符号長は4BITコードが8個である)。そして4個はそれぞれ1つの4BITコードごとずらし解析する。もちろんそれぞれの符号解釈装置は符号のバウンダリーにあっているもの、合わないものがあり、それを有効フラグ生成装置269により判断する。
この有効フラグ生成装置269は4つ符号解析装置265〜268からの符号長(CLENG0〜3)の値から有効か?を判断し、符号解析装置265〜268それぞれが出力したラン長または繰り返し数とラン長、繰り返し数かを示すフラグの有効/無効を示すフラグ(CMDFL0〜3)を出力し、それを有効データ数生成装置270により長さ(MLENG)に変換し、FIFOへラン長または繰り返し数とラン長、繰り返し数かを示すフラグ(NFL0〜3)の有効/無効を示すフラグ(CMDFLO0〜3)と有効データ数(MLENG)を転送する。また、有効フラグ生成装置269で得られた合計の符号長(CODELEG)を符号読み込み装置へ転送し、つぎの符号を作成させる。
以下、各部を説明する。符号265〜268は符号解析装置であり、図12のフォーマットの符号を解析し、ラン長または繰り返し数とラン長(GWWCOL)、繰り返し数かを示すフラグ(NFL)、処理した符号長(CLENG)を出力する。このとき、1つの符号解析装置はMAXの符号長の符号を読めるようにする(図12のフォーマットではMAXの符号長は4BITコードが8個である)。そして4個はそれぞれ1つの4BITコードごとずらし解析する。
符号269は有効フラグ生成装置であり、符号解析装置265〜268からの処理した符号長(CLENG)を受け取り、符号解釈装置265は正しい位置にあり正しい符号の解析を行い、符号解釈装置266は符号解釈装置265の処理した符号長が1であれば、有効であるが、1以上であれば無効である。符号解釈装置267は符号解釈装置265の処理した符号長と符号解釈装置266の処理した符号長(無効であれば0)を加えた数が1または2であれば有効であり、以外は無効である。符号解釈装置268は符号解釈装置265の処理した符号長と符号解釈装置266の処理した符号長(無効であれば0)と処理した符号長(無効であれば0)を加えた数が1または2または3であれば有効であり、以外は無効である。
符号270は有効データ数生成装置であり、有効フラグ生成装置からの有効フラグを長さ(MLENG)に変換する。符号271は空き領域削除装置であり、符号解析装置から受け取った複数の繰り返し数またはラン長(GWWCOL0〜3)と有効フラグ生成装置269からの有効/無効フラグ(CMDFL0〜3)から判断され何も情報の入っていない部分をシフトし繰り返し数またはラン長をつめる。符号271はレジスタである。符号272はMUXであり、コピーモード時に量子化符号の位置を判断し、選択して、予測復号化処理装置255へ転送する。
図26にこの処理例を示す。ここでのGWWCOLは符号解析装置が解析した符号のラン長または繰り返し数であり、CLENG解析した符号の長さ、NFLはGWWCOLの数値がラン長か/繰り返しかを示すフラグである。CMDFLは有効フラグ生成装置が求めた各符号解析装置が解析した結果の有効を示すフラグである。MWCOLは最終的に求めたラン長または繰り返し数であり、MNFLはラン長か、繰り返しかを示すフラグである。CODELEGは有効フラグ生成装置が求め、解析した符号の数である。MLENGは出力されたラン長/繰り返し数の数である。
最初の処理では、符号“2”,“1”,“E”,“E”,“0”,“0”,“E”,“1”,“2”,“0”,“0”の符号を受け取り解析する。
1番最初の符号解析装置265は“2”,“1”,“E”,“E”,“0”,“0”,“E”,“1”の符号を受け取り、符号を解析し、ラン長3と解析する。この符号数は1である。2番目の符号解析装置266は“1”,“E”,“E”,“0”,“0”,“E”,“1”,“2”の符号を受け取り、符号を解析しラン長2とこの符号数は1である。3番目の符号解析装置267は“E”,“E”,“0”,“0”,“E”,“1”,“2”,“0”の符号を受け取り、符号を解析し繰り返し4とこの符号数は2である。4番目の符号解析装置268は“E”,“0”,“0”,“E”,“1”,“2”,“0”,“0”の符号を受け取り、符号を解析し繰り返し2とこの符号数は1である。
つぎに各符号解析装置から得た符号数から各符号解析処理装置が解析したラン長/繰り返し数の有効性を求める。この例では4番目の符号解析装置268の結果は3番目の符号解析装置267が求めたラン長/繰り返し数の符号数2であるため、4番目の符号解析装置268が解析した符号は符号の先頭ではないことがわかり、4番目の符号解析装置268のCMDFL3を無効としている。そして、ここで消費した符号の数は4である。
つぎの処理は、符号 “1”,“E”,“E”,“0”,“0”,“E”,“1”,“2”,“0”,“0”,“2”の符号を受け取り、解析する。1番最初の符号解析装置265は“1”,“E”,“E”,“0”,“0”,“E”,“1”,“2”の符号を受け取り、符号を解析し、ラン長2と解析する。この符号数は1である。2番目の符号解析装置266は“E”,“E”,“0”,“0”,“E”,“1”,“2”、“0”の符号を受け取り、符号を解析し繰り返し数4とこの符号数は2である。3番目の符号解析装置267は“E”,“0”,“0”,“E”,“1”,“2”,“0”,“0”の符号を受け取り、符号を解析し繰り返し2とこの符号数は1である。4番目の符号解析装置268は“0”,“0”,“E”,“1”,“2”,“0”,“0”,“2”の符号を受け取り、符号をラン長1とこの符号数は1である。
つぎに各符号解析装置から得た符号数から各符号解析装置が解析したラン長/繰り返し数の有効性を求める。この例では3番目の符号解析装置267の結果は2番目の符号解析装置266が求めたラン長/繰り返し数の符号数2であるため、3番目の符号解析装置267が解析した符号は符号の先頭ではないことがわかり、3番目の符号解析装置267のCMDFL2を無効としている。
そして、得られたラン長/繰り返し数に空欄が存在するため、空き領域削除装置271により空欄を削除し、つぎの処理装置へ送るデータフォーマットを単純化する。そして、ここで消費した符号の数は4である。
図27にラン長処理装置253のブロック図を示す。このラン長処理装置253は符号解釈処理装置252からの複数のラン長または繰り返し数とランか?繰り返し数か?を示す複数のフラグを受け取り、繰り返し数を展開し、4つのラン長を生成し、DOT化処理装置254へ送ることにより、クロックごと4BITの復号されたパターンを生成することに必要なMAX数の4つのラン長を生成することができる。
以下、各部について説明する。符号275はFIFOであり、符号解釈処理装置252からの複数のラン長または繰り返し数とラン長か?繰り返し数か?を示す複数のフラグと、その数(MLENG)を受け取り、順次、格納していく。そして、基準ラン長生成装置276と繰り返し数生成装置277へ4つのラン長または繰り返し数とラン長か?繰り返し数か?を示す複数のフラグを送り、ラン長生成装置278から、消費したデータ数であるREPSHの数だけ、シフトすることにより、格納されたデータを出力する。
符号276は基準ラン長生成装置であり、FIFO275から複数のラン長または繰り返し数とラン長か?繰り返し数か?を示す複数のフラグと、基準ラン長生成装置276から前回の最終ラン長RWWCOL00,RWWCOL01を受け取り、繰り返し処理をかけやすい以下のようなフォーマットへ変換する。
すなわち、 前回の最終ラン長=5、FIFOからの4つのラン長=3,2,4,1、繰り返し/ラン長フラグ=0,0,1,0(3番目が繰り返し)の例では、以下のようになる。
WWCOL 0 1 2 3
カラー 0:3 3 3 1
1:5 2 2 2
これを基準ラン長生成装置276で以下のように繰り返し処理を行なう。
WWCOL 0 1 2 3 4 5 6
カラー 0:3 3 3 3 3 3 1
1:5 2 2 3 2 2 2
画像は白黒のラン長の繰り返しであり、ラン長は白のものと、黒のもがあり、ラン長のつぎのカラーがたとえば“0”から始まる場合、カラー0、WWCOL0=3、つぎにカラー1、 WWCOL1=2、カラー0, WWCOL2=3
、カラー1 ,WWCOL3=2、カラー0,WWCOL4=3とし、3,2,3,2,3,2,1....のように千鳥にサーチすることで ラン長のみに変換できる。
ここでは、ラン長、繰り返し情報からラン長のみの情報へ変換しやすい、以下のレベルまで行なう。
WWCOL 0 1 2 3
カラー 0:3 3 3 1
1:5 2 2 2
符号277は繰り返し数生成装置であり、FIFO275からの複数のラン長 または繰り返し数とラン長か? 繰り返し数か?を示す複数のフラグフを受け取り、繰り返し情報WREPを作成する。
符号278はラン長生成装置であり、繰り返し処理の行いやすい、黒と白のラン長の情報とから繰り返し情報を受け取り以下の例のように、
WWCOL 0 1 2 3
カラー 0:3 3 3 1
1:5 2 2 2
WREP :1 1 4 1
から以下のように展開し、
WWCOL 0 1 2 3 4 5 6
カラー 0:3 3 3 3 3 3 1
1:5 2 2 2 2 2 2
ラン長のみの情報の3,2,3,2,3,2,1....のように求める。
そして、ここでは以下のような4ドットを繰り返す 全ての繰り返しのパターンを入力する。
4、
3,1
2,2
2,1,1
1,3
1,2,1
1,1,2
1,1,1,1
この入力されたデータの繰り返しパターンを認識し、上記の例のようにラン長を展開し、4つのランを埋めるに十分な数のデータ数をREPSHとしてFIFOへ返し、そのランの数WRUNLEGとラン長と、4つのランを埋めるため余りの、最後の途中繰り返し数cをレジスタ279へ送る。
WNREPの補足を行なう。たとえば、以下のような例では、
WWCOL 0 1 2 3 4 5 6
カラー 0:3 3 3 3 3 3 1
1:5 2 2 2 2 2 2
以下の4つのランで十分なため、繰り返しのWREP2の4つの繰り返しは途中の2までの繰り返ししか使用せず、残りの2個の繰り返しはNREPに保持される。そして残りの繰り返しがある場合、WNREPFLのフラグを立て繰り返し数生成装置277へ送られ、つぎの1番目の繰り返し数として使用される。
WWCOL 0 1 2 3
カラー 0:3 3 3 3
1:5 2 2 2
図28に予測復号化処理装置255のブロック図を示す。符号283は固定長符号バッファーであり、図34のようなGBTCのような固定長符号を複数個格納する。符号281は差分処理装置であり、前後の固定長符号と相関のある部分の予測復号化を行う。図34のGBTCの例ではLAのブロックの平均レベルとLDのブロック内の階調幅指標の部分の予測復号化を行なう。符号280は符号順序生成装置であり、図9のような順序の符号を受け取り、差分処理装置281へ予測符号を固定長符号バッファー283にPIXELCODEを転送する。
図29に詳細なブロック図を示す。この例は固定長符号化方式としてGBTCを使用したものである。固定長符号バッファー283について説明する。符号288〜295はレジスタであり、固定長符号を格納する。符号296〜297はレジスタであり、前回の最終の固定長符号の前後の固定長符号と相関のある部分(GBTCであれば、LAのブロックの平均レベルとLDのブロック内の階調幅指標の部分)を格納する。
差分処理装置281について説明する。符号284は加算器であり、前回のLAのブロックの平均レベルと1番目のLAのブロックの平均レベルの予測復号化を行なう。符号285は加算器であり、前回のLDのブロック内の階調幅指標と1番目のLDのブロック内の階調幅指標の予測復号化を行う。同様に、符号286は加算器であり、1番目のLAのブロックの平均レベルと2番目のLAのブロックの平均レベルの予測復号化を行う。符号287は加算器であり、1番目のLDのブロック内の階調幅指標と2番目のLDのブロック内の階調幅指標の予測復号化を行う。以下同様に処理する。
図30にDOT化処理装置254のブロック図を示す。このDOT化処理装置254はFIFO300からの4つのラン長とそのラン長の有効数RUNLENGを受け取り、DOT化装置301により、ラン長のDOT化を行い、DOTラン長生成装置303により、4つのラン長のどこで、4ドットを満たすかを判断するための、4つのランのそれぞれの位置でのラン長の合計を求め、シフト値生成装置304により4ドットを満たす、ラン長の位置をみつけ、FIFO300へ、消費したラン長の数を知らせ、つぎの4ドットのためのシフトをさせる。
差分生成装置305では、4つのラン長のどれかが4ドットを満たしたときの余りを持つ場合、その余りをFIFO300へ送りつぎの1番最初のラン値として使用するための余りのラン長を求め、Totalラン長生成装置303からの各ラン長までのトータルの値の4値からの差を求め、RUN0生成装置306により、実際の使用したランの値をシフト生成装置から受け取りRUN0を選択し、FIFO300へ送る。以上の処理を1クロックで行うことにより、クロックごと4つのドットの画素を復号化することができる。
以下、各部について説明する。符号300はFIFOであり、ラン長生成装置から4つのラン長とそのラン長の有効数RUNLENGを受け取り、順次、格納していく、そして、DOT化装置301とTotalラン長生成装置303へ4つのラン長を送り、DOT化装置301から、4つのラン長のいずれかが4ドットを満たした時の余りを持つ場合、STAフラグとして、余りが有ることをFIFO300へ知らせ、シフト生成装置304から消費したラン長の数を、RUN0生成装置306から4ドットを満たしたときの余りを持つ場合、その余りをFIFO300へ送りつぎの1番最初のラン値として使用するための余りのラン長を受け取り、余りがある場合、余りのラン値のRUN0をつぎの最初のラン値として、指定されたシフトを行うことにより、格納されたデータを出力する。
符号301はDOT化装置であり、FIFO300からの4つのラン値を受け取り、以下のような4つのドットを埋める4つのランの組み合わせすべてを認識し、4ランから最初から幾つかのランを使用し4つドットを埋め込むことにより、4つのドットを生成し、もし、4つのラン長のどれかが4ドットを満たしたときの余りを持つ場合、STAフラグにてFIFO300へ余りがあることを知らせる。
4、
3,1
2,2
2,1,1
1,3
1,2,1
1,1,2
1,1,1,1
符号303はTotalラン長生成装置であり、4つのラン長のどこで、4ドットを満たすかを判断するための、4つのランのそれぞれの位置でのラン長の合計を求める。
ACWRUN0は1つ目のラン長の長さはラン長1の長さと等しく、ACWRUN1=WRUN0+WRUN1は2つ目のラン長の長さはラン長1とラン長2の長さを加えたものと等しく、ACWRUN2=WRUN0+WRUN1+WRUN2は3つ目のラン長の長さは、ラン長1とラン長2とラン長3の長さを加えたものと等しく、ACWRUN3=WRUN0+WRUN1+WRUN2+WRUN3は3つ目のラン長の長さはラン長1とラン長2とラン長3とラン長4の長さを加えたものと等しい。
符号304はシフト値生成装置であり、4ドットを満たすラン長の位置をみつけるため、Totalラン長生成装置303からの4つの合計のラン長を最初から優先させて4値以上となる位置をみつけ、FIFO300とRUN0生成装置306へ知らせる。
符号305は差分生成装置であり、4つのラン長のどれかが4ドットを満たしたときの余りを持つ場合、その余りをFIFO300へ送りつぎの1番最初のラン値として使用するための余りのラン長を求め、Totalラン長生成装置303からの4つの合計のラン長を各ラン長までのトータルの値の4値からの差を求める。
符号306はRUN0生成装置であり、差分生成装置305から各4つの点での余りの値を受け取り、実際に使用したランの値をシフト値生成装置304から受け取り、差分生成装置305からの値を選択し、最後のラン長の余りRUN0としてFIFO300へ送る。
したがって、以上説明してきたこの実施の形態によれば、コピー/プリンタ画像の特性のことなる画像を同じ画像圧縮装置で処理させることにより、ハードウエアの開発コストの削減とハードウエアのゲート数の削減と、ソフトウエアの開発コストの削減などを実現することが可能となる。また、コピー画像の固定長圧縮(GBTCなど)された後の符号の再度の圧縮が可能になる。
以上のように、本発明にかかる画像圧縮処理装置は、デジタル画像データをデータテ圧縮、伸長する画像処理装置と2値画像データをデータ圧縮、伸長する画像処理装置に有用であり、特に、デジタル複写機、スキャナー画像ファイリング、プリンタなどのフレームバッファー容量を節約する、いわゆる省メモリ機構に最適な符号化、復号化の方式を用いた画像圧縮処理装置に適している。
本発明の実施の形態にかかる画像圧縮処理装置を適用した画像形成装置の構成を示す説明図である。 図1における画像形成装置の電装・制御装置の構成を示すブロック図である。 本発明の実施の形態にかかるエンコード時の全体のブロック図であり、図2における符号化/復号化装置の構成を示すものである。 プリンタ処理時における画像処理のフローとコピー処理時におけるエンコード処理のフローを示す説明図である。 図3における画像読み込み部の構成を示すブロック図である。 図3におけるラン長処理装置の構成を示すブロック図である。 図3における予測符号化処理装置の構成を示すブロック図である。 図3における繰り返し処理装置の構成を示すブロック図である。 符号の順序を示すフォーマット例である。 図3における繰り返し処理装置の構成を示すブロック図である。 符号化処理装置のトップの構成および信号入出力を示すブロック図である。 繰り返しフラグから複数の繰り返し数を求める状態を示す説明図である。 複数のラン長を求める例を示す説明図である。 次パターンへの継続する繰り返し数(REP)を求める処理(1)を示すフローチャートである。 次パターンへの継続する繰り返し数(REP)を求める処理(2)を示すフローチャートである。 繰り返しフラグ生成装置の繰り返しフラグ生成処理を示すフローチャートである。 繰り返し数生成装置の繰り返し数生成処理を示すフローチャートである。 NEXTラン生成装置の処理動作を示すフローチャートである。 符号化処理装置の処理動作(1)を示すフローチャートである。 符号化処理装置の処理動作(2)を示すフローチャートである。 符号化処理装置の処理動作(3)を示すフローチャートである。 本発明の実施の形態にかかるデコード時の全体のブロック図であり、図2における符号化/復号化装置の構成を示すものである。 プリンタ処理時における画像処理のフローとコピー処理時におけるデコード処理のフローを示す説明図である。 図22における符号読み込み部の構成を示すブロック図である。 図22における符号解釈処理装置の構成を示すブロック図である。 符号解釈処理装置の処理例を示す説明図である。 図22におけるラン長処理装置の構成を示すブロック図である。 図22における予測復号化処理装置の概略構成を示すブロック図である。 図22における予測復号化処理装置の詳細構成を示すブロック図である。 図22におけるDOT化処理装置の詳細構成を示すブロック図である。 4/8GBTCの符号化例およびその符号化演算式を示す説明図である。 3/8GBTCの符号化例およびその符号化演算式を示す説明図である。 2/8GBTCの符号化例およびその符号化演算式を示す説明図である。 GBTCフォーマット例を示す説明図である。 繰り返し処理例を示す説明図である。 従来におけるブロック符号化方式のアルゴリズムを示す説明図である。 従来におけるデジタル複写機の構成を示すブロック図である。 従来における2次符号格納部の構成を示すブロック図である。 従来における1次符号格納部の構成および動作を示すブロック図である。 従来における符号化例を示す説明図である。
符号の説明
160 符号化/復号化装置
170 画像読み込み部
171 ラン長処理装置
172 予測符号化処理装置
173 繰り返し処理装置
174 符号化処理装置
175 符号書き込み部
180 ランカウント
181,182 加算器
183 累積加算処理装置

Claims (2)

  1. 複数のBITパターンを並列処理するBIT数と同じ数のラン長を求め、つぎへのパターンへ繰り越すラン長を求めるランカウント処理手段と、つぎへのパターンへ繰り越すラン長を加算し、累積加算を求める累積加算処理手段と、を有するラン長処理手段と、
    固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離する予測符号化手段と、
    複数のラン長(または予測符号)から繰り返し数を求める繰り返し処理手段と、
    求めた複数のラン長(または、予測符号、固定長符号の量子化符号)と前記繰り返し数とを符号化する符号化処理手段と、
    を備えたことを特徴とする画像圧縮処理装置。
  2. 固定長符号を受け取り、前後の相関の高いパラメータに対して予測符号化を行い、固定長符号の量子化符号部分に対しては予測符号化を行わず、両者を分離する予測符号化手段と、
    複数の予測符号から繰り返し数を求める繰り返し処理手段と、
    求めた複数の予測符号、固定長符号の量子化符号、繰り返し数を符号化する符号化処理手段と、
    を備えたことを特徴とする画像圧縮処理装置。
JP2006217463A 2006-08-09 2006-08-09 画像圧縮処理装置 Pending JP2007028649A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006217463A JP2007028649A (ja) 2006-08-09 2006-08-09 画像圧縮処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006217463A JP2007028649A (ja) 2006-08-09 2006-08-09 画像圧縮処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001081628A Division JP3857534B2 (ja) 2001-03-21 2001-03-21 画像圧縮処理装置

Publications (1)

Publication Number Publication Date
JP2007028649A true JP2007028649A (ja) 2007-02-01

Family

ID=37788698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006217463A Pending JP2007028649A (ja) 2006-08-09 2006-08-09 画像圧縮処理装置

Country Status (1)

Country Link
JP (1) JP2007028649A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060317A (ja) * 2007-08-31 2009-03-19 Ricoh Co Ltd 画像データ符号化装置、画像データ符号化方法、画像形成装置、画像形成方法、画像データ復号化装置、及び画像データ復号化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060317A (ja) * 2007-08-31 2009-03-19 Ricoh Co Ltd 画像データ符号化装置、画像データ符号化方法、画像形成装置、画像形成方法、画像データ復号化装置、及び画像データ復号化方法

Similar Documents

Publication Publication Date Title
JP3857534B2 (ja) 画像圧縮処理装置
US7359557B2 (en) Method of and apparatus for encoding, method of and apparatus for decoding, and image forming apparatus
US8224101B2 (en) Image processing apparatus and control method thereof with color data and monochrome data selection
JP2007174270A (ja) 画像処理装置、画像処理方法、記憶媒体、プログラム
US20070177225A1 (en) Image reader, image forming apparatus, and file management method
JP5247588B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2002320093A (ja) 画像圧縮装置、画像伸長装置、画像形成装置、画像圧縮方法、画像伸長方法及び記録媒体
JPH09261395A (ja) 画像形成システム
JPH04331564A (ja) 電子写真式複写装置
US7212677B2 (en) Coder, coding method, program, and image forming apparatus for improving image data compression ratio
JPH11168632A (ja) ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム
US8248635B2 (en) Image editing apparatus, image editing method, image processing apparatus, and method for controlling image processing apparatus
JP2007028649A (ja) 画像圧縮処理装置
EP0551823B1 (en) Image processing apparatus
JP3862637B2 (ja) データ圧縮方法,装置,画像処理装置および画像形成装置
JP4173798B2 (ja) 画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラム
JP3350799B2 (ja) 電子写真複写装置
JP3142449B2 (ja) ステープル機能を備える画像形成装置
JPH1013641A (ja) 画像処理装置
JP4004039B2 (ja) 画像形成装置
JP3787371B2 (ja) 複合画像処理装置および複合画像処理装置の制御方法
JP3597623B2 (ja) ファクシミリ装置
JPH09307733A (ja) 画像記録装置
JP4787781B2 (ja) 画像形成装置
JPH09252399A (ja) イメージの回転圧縮装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080805