(57)【特許請求の範囲】
【請求項１】
画像データを複数画素の領域に分割する分割手段と、
前記分割手段によって分割された領域が文字属性であるか非文字属性であるかを画像データを基に判別する属性判別手段と、
前記属性判別手段によって文字属性であると判別された領域について当該領域内の文字レベルと下地レベルとを算出し、当該領域の各画像データを前記文字レベル又は前記下地レベルに置き換える置換手段と、
前記置換手段によって置き換えられた前記領域内の画像データを、当該領域に含まれる複数のブロックの各々についてブロックトランケーション符号化方式によって符号化する符号化手段と、
前記符号化手段により得られた符号化データに基づいて、各ブロックが全画素が文字を示すブロック、全画素が下地を示すブロック、および、文字と下地の混合のブロックのいずれであるかを判定する判定手段と、
ブロックの各画素が文字なのか下地なのかを示すコードを符号化データから決定するコード決定手段と、
各ブロックについて、前記置換手段により算出された文字レベルと下地レベル、及び、前記判定手段により判定されたブロックの種類を記憶し、前記判定手段により文字と下地の混合ブロックであると判定されたブロックについては、さらに、コード決定手段により決定されたコードを記憶する再符号化手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
画像を複数画素のブロックに分割する分割手段と、
前記分割手段によって分割された画像データに基づいてブロック内の画像データをブロックトランケーション符号化方式により符号化する符号化手段と、
前記符号化手段によって得られた符号化データに基づいて、各ブロックが文字属性であるか非文字属性であるかを判別する属性判別手段と、
前記符号化手段によって得られた符号化データに基づいて、前記属性判別手段により文字属性であると判別されたブロックの文字レベルと下地レベルとを算出し、この文字レベルと下地レベルを基に、前記符号化手段によって得られた符号化データを変換する変換手段と、
前記変換手段により変換された符号化データに基づいて、前記文字レベルと前記下地レベル、および、各ブロックが、全画素が文字を示すブロック、全画素が下地を示すブロック、および、文字と下地の混合のブロックのいずれであるかを示すブロック情報を記憶し、文字と下地の混合のブロックについては、さらに、各画素が文字なのか下地なのかを示すコードを記憶する再符号化手段と
を備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、特に符号化を用いる画像処理装置に関する。
【０００２】
【従来の技術】
画像処理装置の分野で、画像データを圧縮するために、ブロックトランケーション符号化方式が用いられている。ブロックトランケーション符号化方式の圧縮率は他の方法に比べて低いので、メモリ容量を削減するために、さらなる再符号化が行われる。メモリ容量をさらに削減するための１つの再符号化方法では、画像データをブロック分割し、符号化の前に、そのブロック単位で文字属性か非文字属性かの属性判別を行う。各属性に応じた再符号化を行う。
【０００３】
【発明が解決しようとする課題】
上述のブロックトランケーション符号化と属性判別結果を用いた再符号化において、１つの方法では、文字属性ブロックである時には、そのブロックに含まれる画像データより２値化を行う。そして、ブロックトランケーション符号化方式を用いて圧縮した後、文字属性時には、符号情報を２値化した情報（各画素１ビット）から２値データの状態を示すモード情報と２値データ混合のブロック時には、ブロックトランケーション符号化の符号情報を記憶する。しかし、この方法では、スキャナ等の入力装置により読み取られた文字画像データは、その入力装置の読み取り精度により本来は文字画像の急勾配のエッジ部においても、比較的緩やかな勾配のエッジとして読み取られてしまったりする。また、ブロックトランケーション符号化のブロック切り出し位置の影響により、文字属性の場合、ブロックトランケーション符号化データでの符号情報の偏りにより２値化を行い、その２値データ（１画素１ビット）を記憶して高圧縮率で符号化しても、復号時の文字画像のエッジの周辺にがたつき、欠け、ノイズ等が発生してしまい、文字画像の画質が見苦しくなってしまう可能性がある。
また、１つの方法では、文字属性であるときには、ブロック内の画素データを２値化して０（黒）か２５５（白）に置換した後、ブロックトランケーション符号化を行う。そして、文字属性であるときは、すべて黒、すべて白、白黒混合を表すモード情報を符号化し、さらに白黒混合のときにはブロックトランケーション符号データの符号情報を符号化する。ここで、文字属性時には、符合情報を２値化した情報(各画素１ビット)のみを記憶することで再符号化を行う場合、４×４画素のブロックあたり、各画素の符号情報(００と１１)の２バイトのみの情報量を記憶することで、高い圧縮率を得ることができる。しかし、この方法では、文字画像を０、２５５に２値化してしまうため、復号時に非文字ブロックと文字ブロックの境界に濃度差が生じ、画像が見苦しいものとなってしまっていた。
また、１つの方法では、文字属性のときにそのブロック内の文字情報と文字背景情報を算出し、各画素を前記の２種類の情報に置き換える。その後、ブロックトランケーション符号化をおこなう。そして、文字情報と、文字背景情報と、すべて文字、すべて文字背景、文字と文字背景との混合を表すモード情報とを記憶し、さらに文字と文字背景の混合である場合にブロックトランケーショントランケーション符号化の符号情報を記憶し再符号化をおこなう。しかし、この方法では、ブロックトランケーション符号化の処理の前の大量の画像データを用いて、属性判別処理および文字変換処理をおこなわねばならず、多数のバッファメモリを必要とし、回路構成が複雑になってしまう。
【０００４】
本発明の目的は、文字領域と非文字領域(写真等)の混在する画像をブロックトランケーション符号化方式を用いて符号化を行う場合、画像データの画質を損なうことなく、文字画像の解像度を保持した状態で、復号時に文字属性と非文字属性の境界に生じる画像の不具合を生じることなく、高い圧縮率の符号化を得ることができる画像処理装置を提供することである。
【０００５】
【課題を解決するための手段】
本発明に係る第１の画像処理装置は、画像データを複数画素の領域に分割する分割手段と、前記分割手段によって分割された領域が文字属性であるか非文字属性であるかを画像データを基に判別する属性判別手段と、前記属性判別手段によって文字属性であると判別された領域について当該領域内の文字レベルと下地レベルとを算出し、当該領域の各画像データを前記文字レベル又は前記下地レベルに置き換える置換手段と、前記置換手段によって置き換えられた前記領域内の画像データを、当該領域に含まれる複数のブロックの各々についてブロックトランケーション符号化方式によって符号化する符号化手段と、前記符号化手段により得られた符号化データに基づいて、各ブロックが全画素が文字を示すブロック、全画素が下地を示すブロック、および、文字と下地の混合のブロックのいずれであるかを判定する判定手段と、ブロックの各画素が文字なのか下地なのかを示すコードを符号化データから決定するコード決定手段と、各ブロックについて、前記置換手段により算出された文字レベルと下地レベル、及び、前記判定手段により判定されたブロックの種類を記憶し、前記判定手段により文字と下地の混合ブロックであると判定されたブロックについては、さらに、コード決定手段により決定されたコードを記憶する再符号化手段とを備える。好ましくは、この画像処理装置は、再符号化手段により記憶されたデータを伸長する伸長手段を備える。
【０００６】
すなわち、文字領域と非文字領域(写真等)の混在する画像がスキャナ等の読み取り装置により読み取られると、この画像処理装置において、画像データの符号化が行われる。まず、ブロックトランケーション符号化前の画像データにおいて、所定の領域単位（たとえば８×８画素）で文字属性か非文字属性かの属性判別を行う。画像データは、濃度データ(カラー時には、輝度と色度データ)である。その領域が文字属性である時には、濃度データ(カラー時には、輝度データ)から、領域内の文字情報(白下地上の黒文字レベル)と下地情報（文字背景レベル）を算出し、領域内の各画素の濃度データ(カラー時には、輝度データ)を文字情報と文字背景情報の２種類の濃度に置き換える。次に、全画像データについて所定のブロック単位（たとえば４×４画素のブロック）でブロックトランケーション符号化を行い、情報量を削減する。次に、ブロックトランケーション符号化データを以下のように利用してさらに情報量を削減する。文字属性であると判別された場合は、ブロックトランケーション符号化によって得られた平均値情報と階調幅情報により、注目ブロックは、すべて文字、すべて下地、または、文字と下地の混合の３種類に分類されることに留意して、ブロックの種類をモード情報として記憶し、それを利用して再符号化をする。このモード情報は、すべて文字情報であることを表す全文字モード、すべて下地情報であることを表す全下地モード、および、文字と下地とからなる混合モードからなる。すなわち、再符号化において、文字属性の領域において、上述の文字レベル、下地レベルおよびモード情報を記憶するとともに、さらに、モード情報が文字と下地との混合である場合には（すなわち、文字のエッジ部である場合には）、各画素が文字なのか下地なのかを示すコード（各画素について１ビット）を符号化データから求める。具体的には、ブロックトランケーション符号化の符号情報（各画素について上位１ビット）を記憶する。こうして、たとえば８×８画素を属性判定の１領域とし、４×４画素を１ブロックとすると、従来のブロックトランケーション符号化では１領域あたり１６バイト（階調レベル数を２とする）が必要であったデータ量が、文字レベル（１バイト）、下地レベル（１バイト）、モード情報（２ビット）、および、モード情報が文字と下地の混合である場合にはさらに符号情報（各画素１ビット）となる。これによりもともと６４バイト（カラー時には１９２バイト）の情報量が３〜１１バイトに圧縮できる。そして、伸長手段により、復号時にも原画像の文字画像がもつ文字情報と下地情報を再現することが可能となり、良好な画像品質を得ることが可能になる。
【０００７】
本発明に係る第２の画像処理装置は、画像を複数画素のブロックに分割する分割手段と、前記分割手段によって分割された画像データに基づいてブロック内の画像データをブロックトランケーション符号化方式により符号化する符号化手段と、前記符号化手段によって得られた符号化データに基づいて、各ブロックが文字属性であるか非文字属性であるかを判別する属性判別手段と、前記符号化手段によって得られた符号化データに基づいて、前記属性判別手段により文字属性であると判別されたブロックの文字レベルと下地レベルとを算出し、この文字レベルと下地レベルを基に、前記符号化手段によって得られた符号化データを変換する変換手段と、前記変換手段により変換された符号化データに基づいて、前記文字レベルと前記下地レベル、および、各ブロックが、全画素が文字を示すブロック、全画素が下地を示すブロック、および、文字と下地の混合のブロックのいずれであるかを示すブロック情報を記憶し、文字と下地の混合のブロックについては、さらに、各画素が文字なのか下地なのかを示すコードを記憶する再符号化手段とを備える。
この画像処理装置においては、スキャナ等の読み取り装置により読み取られた文字領域と非文字領域(写真等)の混在する画像の符号化において、まず、所定のブロックの単位でブロックトランケーション符号化を行い、情報量を削減する。次に、ブロックトランケーション符号化により得られた符号化データは、画像の特徴を保持しているので、この符号化データを用いて、所定のブロック単位で文字画像か非文字画像かの属性判別を行う。そして、そのブロックが文字属性である時には、その属性に相当する複数ブロックに相当する平均値情報と階調幅情報より、そのブロックを代表する文字情報と下地情報の各１バイトのデータを抽出する。そして、当該ブロックのブロックトランケーション符号化データ（各平均値情報と階調幅情報、および、各画素の符号情報）を、抽出された文字情報と下地情報で変換する。この処理により、文字属性であるとき、変換された符号化データより、すべて文字、すべて下地、または、文字と下地の混合の３種類に分類される。そして、その状態を表すモード情報に各ブロックについて２ビットを割り当て、記憶する。このモード情報を利用して再符号化を行う。モード情報が文字と下地との混合である場合には、各画素についてブロックトランケーション符号化データより上位１ビットを、文字または下地を表すデータとして抽出し、１ビットの符号情報として記憶する。これにより、属性判別および文字属性変換は、ブロックトランケーション符号化をした符号化データを用いて行うことができ、もともとの原画像データを扱うより比較的少ない画像データをアクセスするだけでよい。そのため、属性判別処理や文字変換処理にかかわる回路の規模を削減できる。そして、復号時にも伸長手段により、原画像の文字画像がもつ文字情報と下地情報を再現することが可能となり、良好な画像品質を得ることが可能になる。
【０００８】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施形態を説明する。
（第１実施形態）
図１は、第１実施形態のデジタルフルカラー複写機の構成を示す。デジタルフルカラー複写機は、画像読み取り部１００とプリンタ部２００から構成される。通常は画像読み取り部１００で読み取られた画像データをプリンタ部２００に送信し、画像を形成することにより、複写機能を達成する。またインターフェイス１０８を介して外部機器との接続が可能であるため、画像読み取り部１００で読み取った画像データを外部機器に出力したり、逆に外部機器からの画像データをプリンタ部２００に送ることにより、画像を形成することが可能である。
【０００９】
次に、画像読み取り部１００について説明する。画像読み取り部１００は、原稿の画像データを読み取る。露光ランプ１０１により照射された原稿ガラス１０７上の原稿の反射光は、３枚のミラー群１０３によりレンズ１０４に導かれＣＣＤセンサ１０５に結像する。また，露光ランプ１０１とミラー１０３aは，スキャナモータ１０２により矢印の方向へ倍率に応じた速度Ｖでスキャンすることにより原稿ガラス１０７上の原稿を全面にわたって走査することができる。またミラー１０３bと１０３cは，露光ランプ１０１とミラー１０３aのスキャンに伴い、速度Ｖ／２で同方向へ移動される。
ＣＣＤセンサ１０５に入射した原稿の反射光は、センサ内で電気信号に変換される。次に、電気信号は、画像処理回路１０６によりアナログ処理、Ａ／Ｄ変換、デジタル画像処理が行なわれた後、インターフェイス１０８またはプリンタ部２００へ送られる。
【００１０】
次に、プリンタ部２００について説明する。プリンタ部２００は、入力された画像データを電子写真プロセスで印字する。
はじめに露光について説明する。プリンタ部２００には露光ヘッド２０２、感光体２０４、転写ベルト２１８を中心に各エレメントが配置されている。まず、画像データ補正部２０１は、画像読み取り部１００またはインターフェイス１０８から送られてきた画像データについて、色補正やγ補正等の補正処理をし、露光ヘッド２０２に送る。露光ヘッド２０２の内部では、送られてきた画像データの電気信号に応じてレーザーを発光させてその光をポリゴンミラーにより１次元走査し、その光はミラー対２０３を経て感光体２０４へ到達する。
【００１１】
次に、感光体２０４の周りの構成について説明する。感光体２０４の周辺には電子写真プロセスを行なうためのエレメントが配置されている。感光体を図において時計周りに回転することにより各プロセスが連続的に行なわれる。電子写真プロセスでは帯電／露光／現像／転写／清掃の工程を１ルーチンとし、この処理を繰り返し行なうことにより画像形成を行なう。特にフルカラー画像においてはこの処理を各現像色毎に４回繰り返すことによりフルカラー画像を形成する。まず帯電チャージャ２０５により感光体２０４を帯電させ、帯電された感光体２０４が前記レーザー光によって露光される。レーザーの発光は画像データが高濃度であるほど明るく光るようになっているため感光体上の電荷は除去される。そして除去された部分（潜像）は現像器群２０６により現像色毎に現像される。感光体２０４上に形成されたトナー像は転写前イレーサ２０８により余分な電荷が除去された後、転写チャージャ２０９により転写ベルト２１８上の用紙上に転写される。感光体２０４は、その後クリーナー２１０で余分なトナーを清掃した後、メインイレーサ２１１により再度除電され次の工程に備える。
【００１２】
次に、用紙の給紙／搬送について説明する。用紙は、以下の順序で転写ベルト２１８に供給され最終出力画像を形成する。給紙カセット群２１２の中には様々なサイズの用紙がセットされており、所望のサイズの用紙は各給紙カセット２１２に取付けられている給紙ローラー２１３により搬送路へ供給され、搬送ローラー群２１４によりタイミングローラー２１７へ送られる。また給紙カセット群２１２の中に所望の用紙がセットされていない場合には、手差しトレイ２１６に用紙をセットすることにより、手差し用給紙ローラー２１５により同様にタイミングローラー２１７へ送られる。
【００１３】
次に、転写／定着について説明する。転写ベルト２１８は，表面に転写フィルムが貼り付けられた円筒体であり、感光体２０４の回転速度と同じスピードで反時計周りに回転している。タンミングローラー２１７は所定のタイミングで用紙を供給し、転写ベルト２１８に供給された用紙は、吸着チャージャー２１９により転写ベルト２１８に静電吸着される。そして転写チャージャ２０９により用紙上にトナー像を保持しながら各現像色のトナーを用紙上に重ね合わせる。そして用紙上に全てのトナー像が転写されたら、除電分離チャージャ対２２１により静電吸着していた用紙の電荷を除電し、転写ベルト２１８から用紙を分離する。そして、次の用紙吸着に備えて転写ベルト上を除電チャージャー対２２２により再度除電する。転写ベルト２１８上から分離された用紙上のトナー像は、定着ローラー対２２３により加熱され溶かされて用紙上に定着された後、トレイ２２５へ排出される。
【００１４】
図２は、ＣＣＤセンサ１０５で読み取った画像データがプリンタの露光部に到達するまでの処理の概略を示す。まず、ＣＣＤセンサ１０５に入射した光は、光電変換により赤、緑、青の電気信号Ｒ、Ｇ、Ｂとして出力される。ここで、Ａ／Ｄ変換やシェーディング処理についての説明は省略する。
次に、色補正処理部６０１において、これらのＲ、Ｇ、Ｂ信号を後段の画像処理で扱いやすくするために標準ＲＧＢのデータＯＲ／ＯＧ／ＯＢ(ＮＴＳＣ規格やハイビジョン規格等で規格化されている)に変換しておく。
ＯＲ＝Ｆ１Ｒ(Ｒ,Ｇ,Ｂ)
ＯＧ＝Ｆ１Ｇ(Ｒ,Ｇ,Ｂ)
ＯＢ＝Ｆ１Ｂ(Ｒ,Ｇ,Ｂ)
ここで用いる変換関数Ｆ１Ｒ／Ｆ１Ｇ／Ｆ１Ｂは、それぞれ引数Ｒ，Ｇ，Ｂに一定比率を掛け総和したものであり、例えばＦ１Ｒでは引数Ｒに対する係数が最も高く、引数Ｇ,Ｂに対する係数は低くなっている。
次に、色空間変換処理部６０２により、標準化されたＯＲ／ＯＧ／ＯＢデータをＬ*a*b*色空間に変換する。Ｌ*a*b*空間に変換する理由は、画像劣化が比較的少なく画像の符号化が行なえることと、様々な装置の間でカラー画像データをやり取りするうえで都合がよいからである。
Ｌ*＝Ｆ２Ｌ(ＯＲ,ＯＧ,ＯＢ)
a*＝Ｆ２a(ＯＲ,ＯＧ,ＯＢ)
b*＝Ｆ２b(ＯＲ,ＯＧ,ＯＢ)
ここで用いる変換関数Ｆ２Ｌ／Ｆ２a／Ｆ２bは、入力データＯＲ／ＯＧ／ＯＢをＮＴＳＣ規格やハイビジョン規格等で決められている変換式に基づいてまずＸＹＺ表色系に変換し、その後Ｌ*a*b*表色系に変換する。
次に、色空間の最適化処理部６０３は、Ｌ*a*b*データに対して、さらに符号化を行う前に符号化／復号化による画質劣化を最小限に抑さえるために色空間の最適化処理を行う。
Ｌ*１＝Ｆ３Ｌ(Ｌ*)
a*１＝Ｆ３a(Ｌ*,a*)
b*１＝Ｆ３b(Ｌ*,b*)
ここで用いる変換関数Ｆ３Ｌ／Ｆ３a／Ｆ３bは、入力データＬ*／a*／b*を線形変換する関数であり、変換後のデータＬ*１, a*１, b*１はもはや色情報は保持していないことになる。
【００１５】
次に、符号化／復号化処理部６０４は、符号化時にはＬ*１,a*１,b*１データをブロックトランケーション符号化方式により符号化して圧縮画像メモリ６１０に蓄え、また、復号化時には、逆に圧縮画像メモリ６１０内の符号化データを復号化して後段の画像処理に画像データを送る。ブロックトランケーション符号化／復号化方式は不可逆方式であるため、入力データＬ*１,a*１,b*１と出力データＬ*２,a*２,b*２は若干異なるデータになる。
Ｌ*２＝Ｆ４Ｌ(Ｌ*１)
a*２＝Ｆ４a(a*１)
b*２＝Ｆ４b(b*１)
ここで用いる変換関数Ｆ４Ｌ／Ｆ４a／Ｆ４bは、意図時に変換を行なう関数ではなく、符号化／復号化を行なう際に発生するデータの劣化を表すものであり、周辺データの分布具合により変化するものであり、符号化／復号化を行なってみないとわからないところである。
【００１６】
次に、色空間逆最適化処理部６０５は、上述の色空間最適化処理部６０３で行った処理とちょうど逆の処理を行う。
Ｌ*３＝Ｆ５Ｌ(Ｌ*２)
a*３＝Ｆ５a(Ｌ*２,a*２)
b*３＝Ｆ５b(Ｌ*２,b*２)
ここで用いる変換関数Ｆ５Ｌ／Ｆ５a／Ｆ５bは、Ｆ３Ｌ／Ｆ３a／Ｆ３bの逆関数である。この処理を行うことにより逆変換後のＬ*３／a*３／b*３データは色空間最適化処理前のＬ*a*b*に相当するデータとなるため、再び色情報をあらわすデータとなる。
【００１７】
次に、色空間逆変換処理部６０６は、復号されたＬ*３,a*３,b*３をもとのＯＲ，ＯＧ，ＯＢデータに相当するデータに変換する。ただし、前段の処理で画像データの劣化がおきているため、完全には復帰しない。そのためここではＯＲ１，ＯＧ１，ＯＢ１と表現する。
ＯＲ１＝Ｆ６Ｒ(Ｌ*３,a*３,b*３)
ＯＧ１＝Ｆ６Ｇ(Ｌ*３,a*３,b*３)
ＯＢ１＝Ｆ６Ｂ(Ｌ*３,a*３,b*３)
ここで用いる変換関数Ｆ６Ｒ／Ｆ６Ｇ／Ｆ６Ｂは、ちょうどＦ２Ｌ／Ｆ２a／Ｆ２bの逆関数となっている。
次に、反射濃度変換部６０７は、反射データＯＲ１、ＯＧ１、ＯＢ１を濃度データＤＲ、ＤＧ、ＤＢに変換する。
ＤＲ＝Ｆ７Ｒ(ＯＲ１)
ＤＧ＝Ｆ７Ｇ(ＯＧ１)
ＤＢ＝Ｆ７Ｂ(ＯＢ１)
ここで用いる変換関数Ｆ７Ｒ／Ｆ７Ｇ／Ｆ７Ｂはlog関数である。
【００１８】
さらに、マスキング処理部６０８は、プリンタ部２００で印字を行なうために濃度データＤＲ、ＤＧ、ＤＢを現像器２０６のトナー色であるシアン、マゼンタ、イエロー、ブラックのデータＣ、Ｍ、Ｙ、Ｂｋに変換する。
Ｙ＝Ｆ８Ｙ(ＤＲ,ＤＧ,ＤＢ)
Ｍ＝Ｆ８Ｍ(ＤＲ,ＤＧ,ＤＢ)
Ｃ＝Ｆ８Ｃ(ＤＲ,ＤＧ,ＤＢ)
Ｂｋ＝Ｆ８Ｂｋ(ＤＲ,ＤＧ,ＤＢ)
ここで用いる変換関数Ｆ８Ｙ／Ｆ８Ｍ／Ｆ８Ｃ／Ｆ８Ｂｋは、それぞれ引数ＤＲ、ＤＧ、ＤＢに一定比率を掛け総和したものであり、例えばＦ８Ｙでは引数ＤＢに対する係数が最も高く、引数ＤＲ／ＤＧに対する係数は低くなっている。
最終段であるガンマ補正処理部６０９は、これらのＹＭＣＢｋデータに対して印字濃度がリニアに再現されるようにγ補正を行ない、データＹ１、Ｍ１、Ｃ１、Ｂｋ１を出力する。
Ｙ１＝Ｆ９Ｙ(Ｙ)
Ｍ１＝Ｆ９Ｍ(Ｍ)
Ｃ１＝Ｆ９Ｃ(Ｃ)
Ｂｋ１＝Ｆ９Ｂｋ(Ｂｋ)
ここで用いる変換関数Ｆ９Ｙ／Ｆ９Ｍ／Ｆ９Ｃ／Ｆ９Ｂｋは、実験的に求められた階調カーブの補正用テーブルとして用いられる。プリンタの露光ヘッド２０２は、補正データＹ１、Ｍ１、Ｃ１、Ｂｋ１に基づき印字を行う。
【００１９】
これらの画像処理回路は、ＣＰＵ６１１によりパラメータ等の設定や変更が可能となっている。また圧縮画像メモリ６１０内のデータはＣＰＵ６１１により読み込み及び書き込みが可能になっている。そしてＣＰＵ６１１により実行される処理はＲＯＭ６１２に書き込まれており、その処理途中で必要なパラメータや計算用のバッファはＲＡＭ６１３を用いて読み込み及び書き込みが行われている。また、ＣＰＵ６１１により再圧縮によって得られる再圧縮データは、データ記憶装置であるハードディスク６１４に記憶される。
【００２０】
上述の符号化／復号化処理部６０４は、画像データの符号化／復号化において、ブロックトランケーション符号化（ＧＢＴＣ）と再符号化を組み合わせる。画像データの符号化／復号化について説明する前に、まず、図３により、ブロックトランケーション符号化の概念を説明するが、ここで用いるブロックトランケーション符号化は従来と同様である。まず原稿画像の画像データから所定サイズのＭ*Ｎ画素の画像データブロックを切り出す（ここではＭ＝Ｎ＝４）。そしてこの切り出された画像ブロック毎に、次に説明するように特徴量を抽出し、特徴量をもとにそれぞれの画素データの符号化を行なう。符号化された画像データは６バイトデータ（ＬＡ、ＬＤ、φij）で表されるため原画像データ１６バイトに対して３／８に圧縮されたことになる。これらの操作を原稿画像全領域にわたって行なうことにより、全原稿画像データの圧縮が可能となる。
ブロックトランケーション符号化では、画像の種類にかかわらず必ず３／８の圧縮画像を得ることができるため、メモリ容量の確定が行ないやすく、圧縮後の画像が領域情報を保持していることから圧縮後の画像データに対して編集加工が行ないやすい。また、圧縮された画像データは、符号化の逆の操作により復号され、原画像に近い比較的劣化の少ない画像を再現出来る。
【００２１】
図４は、ブロックトランケーション方式の具体的な符号化／復号化アルゴリズムを示し、以下のステップに従って符号化／復号化が行なわれる。
(１)  ブロック内の画像データＸijの最大値Ｌmaxと最小値Ｌminを求める。
(２)  求められたＬmaxとＬminを基にパラメータＰ１とＰ２を求める。
Ｐ１＝（Ｌmax＋３*Ｌmin）／４
Ｐ２＝（３*Ｌmax＋Ｌmin）／４
(３)  ブロック内の画像データの内Ｐ１以下の画像データ全ての平均値Ｑ１を求める。
(４)  同様にＰ２以上の平均値Ｑ４を求める。
(５)  Ｑ１とＱ４から平均値ＬＡを求める。
ＬＡ＝（Ｑ１＋Ｑ２）／２
(６)  Ｑ１とＱ４から階調幅指数ＬＤを求める。
ＬＤ＝Ｑ４−Ｑ１
(７)  求められた平均値ＬＡと階調幅指数ＬＤから符号化レベルＬ１とＬ２を求める。
Ｌ１＝ＬＡ＋ＬＤ／４
Ｌ２＝ＬＡ−ＬＤ／４
(８)  ブロック内の画像データと、求められたＬＡとＬ１とＬ２との大小関係によってブロック内の画像データを４つのデータブロックに分類する。
(９)  分類された４つのデータブロックに対して２ビットの符号φij（ｉ,ｊ＝０,１）を割り当てる。ここに、
Ｘij≦Ｌ１なら、  φij＝０１
Ｌ１＜Ｘij≦ＬＡなら、  φij＝００
ＬＡ＜Ｘij≦Ｌ２なら、  φij＝１０
Ｌ２＜Ｘij      なら、  φij＝１１
(１０)  以上のステップにより得られた平均値ＬＡと階調幅指数ＬＤと計３２ビットの符号化画像データφijをメモリに蓄える。
(１１)  復号時には、メモリに蓄えられた平均値ＬＡと階調幅指数ＬＤから復号後の画像データを４種類計算する。
φij＝０１なら、    Ｘij＝ＬＡ−ＬＤ／２
φij＝００なら、    Ｘij＝ＬＡ−ＬＤ／６
φij＝１０なら、    Ｘij＝ＬＡ＋ＬＤ／６
φij＝１１なら、    Ｘij＝ＬＡ＋ＬＤ／２
(１２)  符号化画像データの各画素データφij毎に(１１)で求められた復号後の画像データＸijを割り当てる。
【００２２】
以上のように符号化し、復号化した後の画像は、各ブロック内において４種類の画像データに分類されてしまうため、原画像に対して明らかにデータの誤差が存在する。しかし、その誤差レベルが人間の視覚特性上非常に目立ちにくいレベルであるため、自然画像の圧縮では画質劣化はほとんどわからない。
一方、文字画像では、圧縮を行なうと高周波成分が除去されることによるエッジ部分のボケによる画質劣化が起こると一般的に言われている。しかし、ＧＢＴＣ方式によればパラメータＱ４とＱ１が完全に保存されていることから、文字の黒部分がパラメータＰ１以下であり、白部分がＰ２以上であれば完全に復元可能であるといえる。
図５は、符号化／復号化処理部６０４におけるブロックトランケーション(ＧＢＴＣ)符号化部５０２（図６）のブロック図を示す。原稿画像から切り出した４*４画素の１６個の画像データから、最大値検出回路３０１、最小値検出回路３０２、平均値回路３０３、３０５において最大値Ｌmax、最小値Ｌmin、平均値Ｑ１、Ｑ４等を求め、符号割当部３０４は、これらのデータを元に１６個の画像データについてそれぞれ２ビットの符号割り当て(φij)を行う。復号器３０６は、平均輝度情報ＬＡと階調幅情報ＬＤと各符号データφijを基に画像データの復元を行う。
【００２３】
以下に、符号化／復号化処理部６０４における、上述のブロックトランケーション符号化を用いた画像データの符号化と復号化について説明する。図６は、符号化／復号化処理部６０４の符号化ブロックのブロック図である。まず、スキャナ等の読み取り装置により読み取られた文字（白黒２値および白黒べた）領域と非文字領域（写真など）の混在する画像について、画像データは、濃度データ(カラー時には、輝度と色度データ)である。読取装置により読み取られたカラー画像データは、図２に示される色空間変換部６０２により明度データと色度データに分離される。明度データと色度データのそれぞれを所定のＮ×Ｍ(Ｎ、Ｍは整数)の領域に分割し、その領域内のデータを用いて、文字属性か非文字属性かの属性判別を行う。この領域は、ブロックトランケーション符号化のためのブロックより大きい。本実施形態では、領域は８×８画素の大きさであり、ブロックは、４×４画素の大きさである。図２に示される色空間最適化処理部６０３から入力された輝度情報Ｌ*、色度情報a*およびb*は、ブロックトランケーション符号化の前に、それぞれ文字属性変換部５０１に入力される。文字属性変換部４０１は、上述の領域単位（たとえば８×８画素）で文字属性か非文字属性かの属性判別を行い、８×８画素の領域あたり一つの属性として、属性データを出力する。その領域が文字属性である時には、濃度データ(カラー時には、輝度データ)から、後で図９で説明する文字属性変換処理による２値化後のデータに置き換える。すなわち、領域内の文字情報(白下地上の黒文字)と文字背景情報（文字背景とは下地を意味する）を算出し、領域内の各画素の濃度データ(カラー時には、輝度データ)を文字情報と文字背景情報の２種類の濃度に置き換える。また、文字属性変換部４０１によって判別された結果は、属性データとしてメモリに記憶される。
次に、ＧＢＴＣ符号化部４０２は、全画像データについて所定のブロック単位（たとえば４×４画素）でブロックトランケーション符号化を行い、情報量を削減する。すなわち、色空間最適化処理部６０３により入力された色度情報a*およびb*と文字属性変換部４０１より得た輝度情報Ｌ*とを、４×４画素を１ブロックとして、１６バイトの情報が６バイト(平均値情報ＬＡ、階調幅情報ＬＤおよび符号情報φij)に符号化される。そして、圧縮画像メモリ部６１０に符号化されたデータを保存する。
【００２４】
次に、再符号化部４０３は、文字属性変換部４０１より入力される属性データとＧＢＴＣ符号化部４０２より入力される符号化データより、再符号化処理を行なう。すなわち、再び属性判別結果を呼び出し、ここで、ＧＢＴＣ符号化部５０２から入力される２×２ブロック(８×８画素)の符号化データのうち、その２×２ブロックに相当する属性データ(文字属性か非文字属性か)に応じて、必要な情報のみを出力して、不必要な情報は削除することにより、再符号化を行なう。文字属性のブロックである場合は、次のように再符号化をおこなう。この場合、ブロックトランケーション符号化方式によって得られた平均値情報と階調幅情報により、すべて文字（全文字モード）か、すべて文字背景（全文字背景モード）か、または、文字と文字背景の混合（混合モード）かの３種類に分類される。そこで、再符号化部４０３は、これをモード情報として記憶し、それを利用して以下の再符号化処理を行う。すなわち、
（１）  当該ブロックの文字濃度と背景濃度(各１バイト)を出力する。
（２）  ＧＢＴＣ符号化データの平均値情報が文字情報と等しい時、すべて文字情報を示すモード情報(２ビット)を出力する。
（３）  ＧＢＴＣ符号化データの平均値情報が背景情報と等しい時、すべて背景情報を示すモード情報(２ビット)を出力する。
（４）  ＧＢＴＣ符号化データの平均値情報が背景情報、文字情報とともに等しくない時(すなわち、(文字情報＋背景情報)／２に等しい時)、文字背景濃度混合を示すモード情報(２ビット)とその時のＧＢＴＣ符号化データの符号データを出力する。
このように、再符号化において、文字属性の領域において、文字情報、下地情報、モード情報、および、モード情報が文字と下地との混合である場合にはブロックトランケーション符号化の符号情報（各画素１ビット）を記憶する。
こうして、再符号化により情報量がさらに削減される。たとえば８×８画素を属性判定の１領域とし、４×４画素を１ブロックとすると、１領域は４ブロックからなる。従来のブロックトランケーション符号化では１領域あたり１６バイト（階調レベル数を２とする）が必要であったデータ量が、文字情報（１バイト）、下地情報（１バイト）、モード情報（２ビット）、および、モード情報が文字と下地との混合である場合にはさらに符号情報（各画素１ビット）からなる。これによりもともと６４バイト（カラー時には１９２バイト）の情報量が３〜１１バイトに圧縮できる。そして、復号時にも原画像の文字画像がもつ文字情報と下地情報を再現することが可能となり、良好な画像品質を得ることが可能になる。
【００２５】
図７は、図６に示した符号化ブロックにより符号化された符号データの復号化を行なう復号化ブロックのブロック図である。まず、メモリに記憶された属性データが伸長処理部４０４に入力され、その属性データに応じて、入力すべき輝度情報Ｌ*、色度情報a*およびb*の符号データを選択する。そして、入力された各情報の符号データを属性データに応じて１ブロックあたり６バイトの符号データ(平均値情報ＬＡ、階調幅情報ＬＤと符号情報φij)を生成し出力する。伸長処理部４０４により出力された１ブロックあたり６バイトの符号データ(平均値情報ＬＡ、階調幅情報ＬＤおよび符号情報φij)は、画像編集／加工部４０５により、必要に応じて符号化されたデータの状態で画像編集／加工処理をおこない、ＧＢＴＣ復号化部４０６により、もとの画像に復号される。
【００２６】
図８は、ＣＰＵ６１１の全体制御のフローチャートを示す。電源が投入されると、まず、画像処理装置を制御するために必要な内部変数の初期化や、各エレメントの初期化を行なう(ステップ＃１０)。
次に、ユーザーの所望している操作モードを設定し(ステップ＃１１)、設定されたモードに基づき、画像読み取りのためのシェーディング処理や画像形成のための各エレメントの準備等の前処理を行なう(ステップ＃１２)。ステップ＃１１と＃１２の処理を、操作パネル（図示せず）のプリントキーが押される（ステップ＃１３でＹＥＳ）まで繰り返す。プリントキーが押されると、設定されたモードに基づき、スキャナや画像処理回路を制御する画像読み取り処理を行なう(ステップ＃１４)。
次に、読み取った画像データから、８×８画素を１ブロックとしてブロック切り出しを行ない、注目ブロックが文字ブロックであるか、中間調の非文字ブロックなのかの決定をする属性判別処理を行ない、その結果、注目ブロックの属性が文字属性の時、読み取った画像データの２値化を行なう文字属性変換処理を行なう(ステップ＃１５、図９参照)。また、得られた属性判別の結果を属性マップメモリに記憶する。なお、本実施形態においては、属性を決定するブロックの大きさは８×８画素と設定しているが、その大きさの設定は８×８画素に限られない。
【００２７】
次に、文字属性のブロックは文字属性変換処理を施した画像データを、それ以外のブロックは元の読み取った画像データを圧縮してメモリに蓄えるための画像符号化処理を行なう(ステップ＃１６)。ここでいう画像符号化処理は符号化そのものではなく、圧縮の条件を予め設定したり、圧縮後のデータに何らかの処理を施すことを示す。(なお、符号化処理そのものはハードウェアで行なう。)
圧縮された画像データをさらに注目ブロックに応じて、属性に応じた最適な再圧縮を行ない、その再圧縮データをメモリに書き込む(ステップ＃1７、図１０参照)。
次に、再圧縮されたデータを呼び出し、伸長を行う(ステップ＃1８、図２１参照)。ここでの再符号化処理および、そこからの復号化処理そのものはソフトウェアで行なう。
次に、画像復号化処理(ステップ＃1９)を行なうが、ここでは符号化された画像データをプリンタで印字可能なデータに復号を行なうことを目的としているため、基本的には画像符号化処理で行なった処理の逆の処理を行なう。
次に、画像形成処理では画像データを可視化するために必要な、帯電／露光／現像／定着等の電子写真プロセスの制御を行なう(ステップ＃２０)。次に、作像後の感光体清掃等、直接作像動作とは関係しないが、装置のコンディションを維持するために必要な後処理を行なう(ステップ＃２１)。最後に、上記制御とは直接関係しないが、定着器の温度制御や通信制御等を行なう(ステップ＃２２)。
以上の処理を電源が切られるまで繰り返し行なう。
【００２８】
図９は、文字属性変換処理（図８、ステップ＃１５）のフローチャートを示す。この処理において、読み込まれた画像データにおいて、８×８画素を１ブロックとし、そのブロックが文字属性ブロックの時、そのブロック内での黒文字濃度(本実施形態においては、反射率)と黒文字背景の下地濃度(本実施形態においては、反射率)を求め、ブロック内のすべての画素をその２種類の濃度のいずれかに置き換える。
読み込まれた画像データ(輝度データＬ*と色度データa*、b*)から８×８画素を切り出し、それを１ブロックとする(ステップ＃１５１)。
そして入力された１ブロックの画像データによりそのブロックが文字属性(本実施形態においては黒文字属性)が非文字属性のいずれかの属性に属するかを判別する(ステップ＃１５２)。そして、注目ブロックの判定された属性が文字属性か否かにより分岐する(ステップ＃１５３)。注目ブロックが文字属性であるとき、ブロック内のすべての画素のヒストグラムを計算し、そのヒストグラムにできる２つのピーク値から、そのブロック内の黒文字反射率ＲＥ１と下地反射率ＲＥ２(ここでは文字データと下地データを反射率で表す)を求める(ステップ＃１５４)。次に、そのブロック内の画素データが以下の式で計算されるしきい値ＴＨ１以上であるか否かを判断する(ステップ＃１５５)。
ＴＨ１＝(ＲＥ１＋ＲＥ２)／２
そして、注目すべき画素データが所定値ＴＨ１以上のとき、その画素データを下地濃度であることを表す白反射率データＲＥ２に置き換え(ステップ＃１５６)、注目すべき画素データが所定値ＴＨ１未満のとき、その画素データを黒文字であることを表す黒反射率データＲＥ１に置き換える(ステップ＃１５７)。次にステップ＃１５５に戻り、以上の処理を注目ブロックに含まれるすべての画素データにおいて行う(ステップ＃１５８)。
ブロック内のすべての画素データについての処理が終わると（ステップ＃１５８でＹＥＳ）、ステップ＃１５１に戻り、画像に含まれるすべてのブロックの処理が終わる(ステップ＃１５９でＹＥＳとなる)まで、上記の処理を繰り返す。
【００２９】
図１０は、再圧縮処理（図８、ステップ＃１７）のフローチャートを示す。再圧縮処理の具体的な方法は、各ブロックが文字属性か非文字属性のいずれの属性に属するかを判別した後に、そのブロックに相当するブロックトランケーション符号化処理後の符号化データ(輝度と色度の平均値情報ＬＡ、階調幅情報ＬＤ、各符号情報φij)を再圧縮する方法である。各属性における再圧縮方法に関しては後で述べることとし、ここでは再圧縮手順について説明する。
まずブロックトランケーション符号化により得られた符号化データを、２×２ブロック(画素単位にすると、８×８画素)と、それらのブロックに相当する属性情報を読み込み(ステップ＃１７１)、読み込まれた属性データにより各再圧縮処理に分岐する(ステップ＃１７２)。注目すべき２×２ブロックの属性データが文字属性と判定されたら、その２×２ブロック内の符号化データにおいて文字画像の再圧縮処理を行う(ステップ＃１７３、図１１参照)。また、注目すべき２×２ブロックの属性データが非文字属性と判定されたら、その２×２ブロック内の符号化データにおいて非文字画像の再圧縮処理を行う(ステップ＃１７４)。そして、各属性別での再圧縮処理をしたデータを書き込む(ステップ＃１７５)。以上の処理を画像ブロックすべてについて終了するまで繰り返して行う(ステップ＃１７６)。
なお、上述の非文字画像の再圧縮処理(ステップ＃１７４）において、さらにカラーか白黒かの属性判別により、色度情報a*、b*の符号化データを削除し、輝度情報Ｌ*のみを再符号化したり、また符号化データのうち、階調幅情報ＬＤの大きさによって、符号情報φijを割り当てる階調数(量子化レベル)を切り替えて再符号化をおこなってもよい。(たとえば、ＬＤが大きければ、各φijに割り当てるビット数を２ビット（４階調）とし、ＬＤが小さければ、各φijに割り当てるビット数を１ビット（２階調数以下）に減らす)。
【００３０】
図１１は、文字画像の再圧縮処理(黒文字、黒文字背景の白下地部など)（図１０、ステップ＃１７３）のフローチャートを示す。この処理において、ブロック内の各画素データは、文字属性変換処理（図９参照）で設定した所定データ（文字データＲＥ１か下地データＲＥ２のいずれか）であるので、符号化された画像ブロックの輝度Ｌ*の平均値情報ＬＡ、階調幅情報ＬＤの取り得る値の組み合わせは、以下の３種類(すべてＲＥ１、すべてＲＥ２、ＲＥ１とＲＥ２の混合)しか有り得ない。
１)  すべてＲＥ２            ＬＡ＝ＲＥ２、ＬＤ＝０
２)  すべてＲＥ１            ＬＡ＝ＲＥ１、ＬＤ＝０
３)  ＲＥ１とＲＥ２の混合    ＬＡ＝(ＲＥ２＋ＲＥ１)／２、ＬＤ＝ＲＥ２−ＲＥ１
よって、文字属性のブロックに相当する符号化データのうち、階調幅情報ＬＤが０に等しい時、すべてＲＥ１なのかすべてＲＥ２なのかが判断できる。また、１つの属性に相当する２×２ブロックにおいて、階調幅情報ＬＤが０になる時の平均値情報ＬＡは、２つ以上(ＲＥ１とＲＥ２のみ)存在しないことも明らかである。また、属性に相当する２×２ブロックがすべてＲＥ１とＲＥ２の混合であっても、その４ブロックにおける平均値情報ＬＡと階調幅情報ＬＤは互いに等しくなり、その２つの値より、ＲＥ１およびＲＥ２を以下の式で簡単に計算することができる。
ＲＥ１＝ＬＡ−ＬＤ／２
ＲＥ２＝ＬＡ＋ＬＤ／２
さらに、各符号情報φij（i,j＝０,１,…,８)に関しても、すべてＲＥ１かすべてＲＥ２のときは、０(各画素２ビット表現で、“００")となり、ＲＥ１とＲＥ２の混合時も、各画素２ビット表現で“１１"か“００"の２種類しか有り得ない。よって、再符号化時には、その３種類のモードを示す情報(各ブロックにおいて、２ビットで表現、２×２画素で１バイト)とＲＥ１とＲＥ２の混合時のみ、符号情報φijの上位１ビットのみ(１ブロックあたり２バイト)を残して再符号化してやればよい。さらに、属性が黒文字(白下地)であるならば、色相(色成分)を示すa*、b*の情報は必要ではないので、それらの平均値情報ＬＡと階調幅情報ＬＤおよび各符号情報φijのデータは保存する必要性はない。結果として、１ブロック(４×４画素)内の画素がすべてＲＥ１か、すべてＲＥ２か、または、ＲＥ１とＲＥ２の混合かを表すモード情報の２ビットと、ＲＥ１とＲＥ２の混合のモードの時のみ各符号情報の２バイト(各画素のφijでの上位１ビットのデータ)とに再符号化すればよい。この処理において１／６４〜１１／１９２の情報量に圧縮されたことになる。
【００３１】
以上の文字属性再圧縮処理の手順を以下に説明する。まず、文字属性に相当するブロックトランケーション符号化データのうち、平均値情報ＬＡと階調幅情報ＬＤの各１バイトを読み込む(ステップ＃１７３１)。
そして、文字属性に相当する２×２ブロックに関して、ブロックトランケーション符号化データのうち、平均値情報ＬＡと階調幅情報ＬＤを用い、後に説明する濃度抽出処理により、そのブロックの２種類の濃度データＡ、Ｂ(ここにＡ＜Ｂ)を求める(ステップ＃１７３２)。
次に、各ブロックの平均値情報ＬＡにより、フローが分岐する(ステップ＃１７３)。ＬＡ＝Ａ（符号化データがすべてＡ）ならば、その符号化データがすべてＡを表すモード情報を出力する(ステップ＃１７３４)。すなわち、１ブロック(４×４画素)に対し、２進法で“００"の２ビットデータを出力する。ＬＡ＝Ｂ（符号化データがすべてＢ）ならば、その符号化データがすべてＢを表すモード情報を出力する(ステップ＃１７３５)。すなわち、１ブロック(４×４画素)に対し、２進法で“０１"の２ビットデータを出力する。ＬＡ＝(Ａ＋Ｂ)／２（符号データがＡとＢの混合）ならば、その符号化データがＡ、Ｂの混合を表すモード情報を出力する(ステップ＃１７３６)。すなわち、１ブロック(４×４画素)に対し、２進法で"１０"の２ビットデータを出力する。
また、ＬＡ＝(Ａ＋Ｂ)／２ならば、そのブロックにおけるブロックトランケーション符号化データの符号情報φijの４バイトを読み込み、各画素の符号情報に相当する２ビットデータの上位１ビットのみを出力する(ステップ＃１７３７)。そして、この上位１ビット出力をその符号化データのすべての符号情報φijについて繰り返し(ステップ＃１７３８)、符号情報に対応する２バイトのデータを出力する。
平均値情報ＬＡによって、３種類のモードを判定する上記の処理を属性データに相当するすべての２×２ブロック(８×８画素の領域)の符号化データについて行う(ステップ＃１７３９)。
そして、その結果(２種類の濃度データＡ、Ｂ、モード情報および符号情報)を再圧縮処理より得た結果として出力し、メモリに記憶する(ステップ＃１７３１０)。すなわち、２×２ブロックに存在する２種類の濃度データＡ、Ｂの２バイト(各１バイト)と各ブロックのモード情報を表す１バイト(２ビット×４)と、モード情報がＡ、Ｂ混合の場合のみ、１ブロックに対し、符号情報φijの上位１ビットを表す２バイトを記憶する。
【００３２】
図１２は、濃度抽出処理（図１１、ステップ＃１７３２）に関するフローチャートを示す。これは図１１に説明した文字属性再圧縮で符号化する２種類の濃度データＡ、Ｂ（Ａ＜Ｂ、各１バイト)を求める処理である。まず、初期設定として、２種類のデータを格納する変数Ａ、Ｂを０にリセットし、また、その格納状態を示すフラグＦＬＧも０にする(ステップ＃１７３２１)。
次に、読み込まれたブロックの階調幅情報ＬＤ(２×２ブロックのうちの１つ)が０か否かを判断する(ステップ＃１７３２２)。対象となる階調幅情報ＬＤが０に等しいとき、次に、フラグＦＬＧが０に等しい(Ａ、Ｂのいずれにもデータが格納されていない状態)か否かを判断する(ステップ＃１７３２３)。フラグＦＬＧ＝０ならば、その時のＬＡを変数Ａに格納し、フラグＦＬＧをインクリメントする(ステップ＃１７３２４)。また、ＦＬＧ≠０かつＬＡ≠Ａならば(ステップ＃１７３２５)、その時のＬＡを変数Ｂに格納し、フラグＦＬＧをインクリメントする(ステップ＃１７３２６)。
上記のステップ＃１７３２２からステップ＃１７３２６までの処理をフラグＦＬＧが２より大きくなるまで、あるいは、２×２ブロックのすべての階調幅指数ＬＤに関して終了するまで繰り返す(ステップ＃１７３２７)。
次に、依然としてＦＬＧが０に等しいならば(ステップ＃１７３２８でＹＥＳ)、２×２ブロックのどの階調幅指数ＬＤも０でないことより、１つのブロックのＬＡ、ＬＤを用いて以下の式より計算し、その結果を変数Ａ、Ｂにそれぞれ格納する(ステップ＃１７３２９)。
Ａ  ←  ＬＡ−ＬＤ／２
Ｂ  ←  ＬＡ＋ＬＤ／２
また、フラグＦＬＧが０に等しくないなら(ステップ＃１７３２８でＮＯ)、変数Ａ、Ｂを調べ(ステップ＃１７３２１０)、もし、ＡがＢより大きいならば、そのＡ、Ｂの各々のデータを入れ替え(ステップ＃１７３２１１)、常にＢがＡ以上になるようにする。
【００３３】
図１３は、文字属性再圧縮からの伸長処理のフローチャートを示す。この伸長処理は、図８の伸長処理（ステップ＃１８）の一部である。属性データによりその画像ブロックは文字属性と判定されている。また、８×８画素単位に対し１つの属性を割り当てていることにより、その属性に相当するブロックトランケーション符号化方式の符号化データ数は、２×２ブロックの４個が含まれている。そのため、４個の符号化データが文字画像のどのモード(すべて文字、すべて背景か、あるいは、文字背景混合かの３種類のうちいずれか)に属するか知るために再圧縮データからモード情報を１バイト(２ビット×４)を読み出す(ステップ＃１８１)。そして、その文字属性における文字と背景を示す２種類の濃度情報Ａ、Ｂ（Ａ＜Ｂ)を各１バイト(２バイト)読み出す(ステップ＃１８２)。
読み取られたモードデータの１バイトから、先頭２ビット（モード情報）を読み込み、モード情報が２進法で“００"(すべてＡを表す)なのか、“０１"(すべてＢを表す)なのか、あるいは、“１０"(Ａ、Ｂ混合を表す)なのかで分岐する(ステップ＃１８３)。
先頭２ビットが“００"である場合、そのブロック(４×４画素)はすべてＡであることより、Ｌ*の符号化データを以下のように処理して、ブロックトランケーション符号化データからの復号のための復号化データ（６バイト）を生成する(ステップ＃１８４)。
平均値情報ＬＡ  ←  Ａ:                                    １バイト
階調幅情報ＬＤ  ←  １６進法で“００"(１０進法で０):       １バイト
符号情報φij    ←  １６進法で“００"(１０進法で０)×４:   ４バイト
【００３４】
先頭２ビットが“０１"である場合、そのブロック(４×４画素)はすべてＢであることより、Ｌ*の符合化データを以下のように処理して、ブロックトランケーション符合化データからの復号のための復号化データ（６バイト）を生成する(ステップ＃１８５)。
平均値情報ＬＡ  ←  Ｂ:                                    １バイト
階調幅情報ＬＤ  ←  １６進法で“００"(１０進法で０):       １バイト
符号情報φij    ←  １６進法で“００"(１０進法で０)×４:   ４バイト
先頭２ビットが“１０"の場合、そのブロック(４×４画素)はＡＢ混合であることより、Ｌ*の符号化データのうち、平均値情報ＬＡと階調幅情報ＬＤを以下のようにして、ブロックトランケーション符号化データからの復号のための復号化データのうち、平均値情報ＬＡと階調幅情報ＬＤの２バイトを生成する(ステップ＃１８６)。
平均値情報ＬＡ  ←  (Ａ＋Ｂ)／２:  １バイト
階調幅情報ＬＤ  ←  Ｂ−Ａ:        １バイト
さらに、そのブロック(４×４画素)の各画素のＡかＢかを表す符号情報を２バイト読み出す(ステップ＃１８７)。そして、そのうちの１バイトの符号情報の先頭１ビットが２進法で“０"か“１"かを判断する(ステップ＃１８８)。先頭１ビットが“０"の場合、その画素の符号情報φijは、２進法で“００"とする(ステップ＃１８９)。一方、先頭１ビットが“１"の場合、その画素の符号情報φijは、２進法で“１１"とする(ステップ＃１８１０)。次に、ステップ＃１８６で読み込まれた符号情報の１バイトを１ビットシフトし、次のビットをその先頭にもってくる(ステップ＃１８１１)。以上の符号情報の先頭１ビットから、各画素の符号情報φijの各２ビット(全体で４バイト)を生成する処理を２バイト(１６回)終了するまで行う。これにより、ブロックトランケーション符号化データからの復号のための復号化データのうち、符号情報φijの４バイトを生成する(ステップ＃１８１２)。
【００３５】
次に、色度(a*、b*)におけるブロックトランケーション符号化データからの復号のための復号化データは以下のようにして各６バイト(６×２)生成する(ステップ＃１８１３)。
平均値情報ＬＡ  →  １６進法で“００"(１０進法で０):    １バイト
階調幅情報ＬＤ  →  １６進法で“００"(１０進法で０):    １バイト
符号情報φij    →  １６進法で“００"(１０進法で０)×４:４バイト
以上で得られたＬ*、a*およびb*の復号化データの各６バイト(６×３)をそのモードにおける各復号化データとして書き出す。
次に、次のブロック(４×４画素)のモード情報を知るために、１バイトのモードデータを２ビット分、ビットシフトをする(ステップ＃１８１４)。そして、以上の処理を、読み込まれたモードデータが１バイト分終了するまで、すなわち、２×２ブロックの４ブロック分終了するまで繰り返す(ステップ＃１８１５)。
これにより、８×８画素に対し、１〜９バイトの再圧縮データから、４ブロックの輝度情報Ｌ*、色度情報a*、b*におけるブロックトランケーション符号化データからの復号のための復号化データの各６バイト、合計７２バイト(４ブロック×６バイト×３情報)を得たことになる。
【００３６】
（第２実施形態）
本実施形態のデジタルフルカラー複写機は、画像データのブロックトランケーション符号化と再符号化をする点では、第１実施形態の複写機と共通するが、ブロックトランケーション符号化と再符号化の内容が異なる。本実施形態の複写機の構成は第１実施形態の複写機と共通するので、説明の簡略のため、異なる点だけを説明する。
本実施形態では、属性判別および文字属性変換処理は、ブロックトランケーション符号化をした符号化データを用いて行う。これにより、もともとの原画像データを扱うより比較的少ない画像データをアクセスするだけでよい。そのため、属性判別処理や文字変換処理にかかわる回路の規模を削減できる。さらに説明すると、まず、文字領域と非文字領域(写真等)の混在する画像について、ブロックトランケーション符号化により情報量を削減する。ブロックトランケーション符号化により得られた符号データは、画像の特徴量を保持した状態で符号化されている。そこで、再符号化によりさらに情報量を削減するため、ブロックトランケーション符号化により得られた符号データを用いて、所定のブロック単位で文字画像か非文字画像かの属性判別を行う。そして、そのブロックが文字属性である時には、その属性に相当する複数のブロックよりそのブロックを代表する文字情報と下地情報の各１バイトのデータを抽出し、メモリに記憶する。また、当該ブロックのブロックトランケーション符号化データ（平均値情報と階調幅情報、および、各画素の符号情報）を、抽出された文字情報と下地情報により変換する。この処理により、文字属性であるとき、変換された符号化データより、すべて文字か、すべて文字背景か、または、文字と下地の混合かの３種類に分類される。そして、そのブロックが、すべて文字か、すべて下地か、または、文字と下地の混合かを調べ、その状態を表すモード情報を各ブロックに２ビットを割り当て、記憶する。さらに、モード情報が文字と下地との混合である場合には各画素が文字か下地かを表す符号情報を抽出して記憶する。
【００３７】
具体的には、本実施形態では、符号化／復号化処理部６０４において、画像読取部１００により読み取られた文字領域と非文字領域(写真等)の混在する画像の符号化をおこなう。まず、ブロックトランケーション符号化部４１１（図１４参照）が所定のブロックの単位でブロックトランケーション符号化を行い、情報量を削減する。次に、文字属性変換部４１２は、ブロックトランケーション符号化により得られた符号データを用いて、所定のブロック単位で文字画像か非文字画像かの属性判別を行い、その結果を記憶する。そのブロックが文字属性である時には、その属性に相当する複数ブロックに相当する平均値情報と階調幅情報より、そのブロックを代表する文字情報と文字背景情報の各１バイトのデータを抽出する。そして、当該ブロックのブロックトランケーション符号化データ（各平均値情報と階調幅情報、および、各画素の符号情報）を、抽出された文字情報と下地情報（文字背景情報）で変換する。この処理により、文字属性であるとき、変換された符号化データより、すべて文字か、すべて文字背景か、または、文字と文字背景の混合かの３種類に分類される。そして、その状態を表すモード情報各ブロックに２ビットを割り当て、記憶する。再符号化部４１３は、このモード情報を利用して再符号化を行う。モード情報が文字と文字背景との混合である場合にはブロックトランケーション符号化データより上位１ビットを抽出し、各画素１ビットの符号情報として記憶する。
【００３８】
図１４は、本実施形態の符号化／復号化処理部６０４の符号化ブロックのブロック図である。符号化ブロックにおいて、まず、図２により色空間最適化処理部６０３により入力された輝度情報Ｌ*、色度情報a*およびb*は、それぞれＧＢＴＣ符号化部４１１により、４×４画素を１ブロックとして、各情報Ｌ*,a*,ｂ*が１６バイトから６バイト(平均値情報ＬＡ、階調幅情報ＬＤと符号情報φij）に符号化される。そして、ＧＢＴＣ符号化部４１１により符号化された各符号化データは文字属性変換部４１２に入力され、それらの複数の符号化データにより２×２ブロック当たり一つの属性として、文字属性(黒文字)が非文字属性(黒文字以外)かを判別され、その属性データを出力する。また、輝度情報Ｌ*において、文字属性に相当する２×２ブロックの各符号化データのうち、平均値情報ＬＡと階調幅情報ＬＤを用い、図１５で説明する文字属性変換処理により、２×２ブロックの文字情報と文字背景情報を算出し、各符号化データをそれらの文字情報と文字背景情報を用いて変換処理を行い、出力する。次に、文字属性変換部４１２により変換された輝度情報Ｌ*の符号化データとＧＢＴＣ符号化部４１１により符号化された状態の色度情報a*およびb*の符号化データとが再符号化部７０３に入力され、２×２ブロックに相当する属性データ(文字属性か、非文字属性か)に応じて、必要な情報のみを出力して、不必要な情報は削除することにより、再符号化を行う。また、文字属性変換部４１２による属性判別の結果は、属性データとしてメモリに記憶される。
なお、本実施形態の符号化／復号化処理部６０４の復号化ブロックは、第１実施形態の復号化部（図７）と同じなので説明を省略する。
【００３９】
本実施形態のＣＰＵ１１の全体制御のフローは、第１実施形態のフロー（図８）と同じなので、説明を省略する。
図１５は、本実施形態の文字属性変換処理（図８、ステップ＃１５）のフローチャートを示す。この処理の前に、読み込まれた画像データのブロックトランケーション符号化を行う。符号化により得られた符号化データ(平均値情報ＬＡ、階調幅情報ＬＤ、符号情報φij)において、２×２ブロックを１領域とし、その領域が文字属性(白下地上の黒文字)か非文字属性かの属性判別を行う。さらに文字属性である時には、そのブロック内での黒文字情報(本実施形態においては、反射率)と黒文字背景の白下地情報(本実施形態においては、反射率)を求め、その黒文字情報と白下地情報により、そのブロック内の平均値情報ＬＡ、階調幅情報ＬＤおよび符号情報φijを変換する。以下にその手順を説明する。
まず、１領域（２×２ブロック）のブロックトランケーション符号化データ(平均値情報ＬＡ、階調幅情報ＬＤと符号情報φij)を読み出す(ステップ＃１５１)。そして、入力された２×２ブロックの平均値情報ＬＡ、階調幅情報ＬＤと符号情報φijにより、その領域が文字属性（白下地の上の黒文字）と非文字属性のいずれかに属するかを判別する(ステップ＃１５２)。
次に、注目領域が文字属性の領域か否かを判断し(ステップ＃１５３)、注目領域が文字属性であるとき、２×２ブロックの平均値情報ＬＡ、階調幅情報ＬＤより、黒文字反射率データ（文字情報）と下地反射率データ（下地情報）を求め、それらのデータより符号化データ(平均値情報ＬＡ、階調幅情報ＬＤと符号情報φij)を置換する(ステップ＃１５４、図１６〜図１７参照)。次にステップ＃１５１に戻り、上記の処理を、符号化されたすべての領域に対して繰り返す(ステップ＃１５５)。
【００４０】
図１６と図１７は、符号化データ置換処理（図１５、ステップ＃１５４）のフローチャートを示す。この処理は、属性判別（図１５、ステップ＃１５３）の結果から、文字属性時には、注目領域（２×２ブロック）のブロックトランケーション符号化データのうち、輝度Ｌ*の平均値情報ＬＡと階調幅情報ＬＤを用い、その２×２ブロックの文字情報と文字背景情報を算出する。そして、それらの情報を用い、その２×２ブロックの輝度Ｌ*の平均値情報ＬＡ、階調幅情報ＬＤおよび各符号情報を変換する。以下にその手順を説明する。
まず、２×２ブロックからなる１領域の文字情報ＭＩＮと文字背景情報ＭＡＸを算出するための変数ＭＩＮ、ＭＡＸの初期設定を行う(ステップ＃１５４１)。すなわち、ＭＡＸを０とし、ＭＩＮを２５５とする。そして、その領域の中の１つのブロックに関して輝度Ｌ*の平均値情報ＬＡと階調幅情報ＬＤからＬＡ＋ＬＤ／２(ブロック内の最大値)を計算し、その値が変数ＭＡＸより大きいか調べ(ステップ＃１５４２)、大きければ、変数ＭＡＸにその値(ブロック内の最大値)を格納する(ステップ＃１５４３)。そして、その値がＭＡＸ以下ならば、さらに、ＬＡ−ＬＤ／２(ブロック内の最小値)を計算し、その値が変数ＭＩＮより小さいか調べ(ステップ＃１５４４)、小さければ、変数ＭＩＮにその値(ブロック内の最小値)を格納する(ステップ＃１５４５)。上記の処理をその領域（２×２ブロック）の中のすべてのブロックについて繰り返す(ステップ＃１５４６)。これにより、注目領域の２×２ブロックの最大値(変数ＭＡＸ)すなわち文字背景情報、および、最小値(変数ＭＩＮ)すなわち文字情報を算出する。
【００４１】
次に、再び注目領域のうちの１ブロックの階調幅情報ＬＤを抽出し、その値がしきい値ＴＨ１以下であるかを調べる(ステップ＃１５４７)。これにより、その注目ブロックがエッジ部なのか、非エッジ部なのかを調べる。なお、ここでは、しきい値ＴＨ１は、１０進法で１０と設定されている。
そして、階調幅情報ＬＤがしきい値ＴＨ１以下であるならば(ステップ＃１５４７でＹＥＳ)、その注目ブロックはエッジを持たない非エッジ部であるので、次に、それが黒文字(黒べた)部分なのか、白下地(白べた)部分なのかを調べるために、その注目ブロックの平均値情報ＬＡが以下の式により算出されるしきい値ＴＨ２より大きいかを調べる(ステップ＃１５４８)。
ＴＨ２＝(ＭＡＸ＋ＭＩＮ)／２
次に、もし平均値情報ＬＡがしきい値ＴＨ２より大きければ(ステップ＃１５４８でＹＥＳ)、その注目ブロックは白下地部分と判断し、平均値情報ＬＡを文字背景情報である変数ＭＡＸに変換する(ステップ＃１５４９)。また、平均値情報ＬＡがしきい値ＴＨ２以下ならば(ステップ＃１５４８でＮＯ)、その注目ブロックは黒文字部分と判断し、平均値情報ＬＡを文字情報である変数ＭＩＮに変換する(ステップ＃１５４１０)。次に、この注目ブロックは非エッジ部であるので、その階調幅情報ＬＤは非常に小さくなり、各画素の符号情報φijは無視することが可能となる。そのため、その階調幅情報ＬＤと各画素の符号情報φijをすべて０に変換する(ステップ＃１５４１１)。
【００４２】
一方、階調幅情報ＬＤがしきい値ＴＨ１より大きければ(ステップ＃１５４７でＮＯ)、その注目ブロックはエッジを持つエッジ部、すなわち、文字と文字背景（下地）が混合するブロックであるので、各画素が文字なのか、文字背景なのかを調べる必要がある。そのためにその注目ブロックが持つ符号情報φijを抽出し、その符号情報φijの先頭２ビットにより分岐する(ステップ＃１５４１２)。先頭２ビットが“０１"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ−ＬＤ／２を計算し、変数Ａに格納する(ステップ＃１５４１３)。先頭２ビットが“００"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ−ＬＤ／６を計算し、変数Ａに格納する(ステップ＃１５４１４)。先頭２ビットが“１０"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ＋ＬＤ／６を計算し、変数Ａに格納する(ステップ＃１５４１５)。先頭２ビットが“１１"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ＋ＬＤ／２を計算し、変数Ａに格納する(ステップ＃１５４１６)。
【００４３】
次に、平均値情報ＬＡと階調幅情報ＬＤにより格納された変数Ａのデータが前に説明した式で計算されたしきい値ＴＨ２より大きいかを調べる(ステップ＃１５４１７)。変数Ａがしきい値ＴＨ２より大きければ、新しい符号情報φijとして“１１"を２ビット出力し(ステップ＃１５４１８)、その注目ブロックの符号情報φijを２ビットシフトし、次の画素の符号情報を示す２ビットを先頭に移動する(ステップ＃１５４１９)。また、変数Ａがしきい値ＴＨ２以下ならば(ステップ＃１５４１７でＮＯ)、新しい符号情報φijとして“００"を２ビット出力する(ステップ＃１５４２０)。
次にステップ＃１５４１２に戻り、以上の新しい符号情報φijを作り出す処理を、注目ブロックの１ブロックが終了するまで繰り返す(ステップ＃１５４２１でＹＥＳ)。
次に、文字と文字背景が混合するブロックの平均値情報ＬＡと階調幅情報ＬＤを以下の式で計算し、それを新しい平均値情報ＬＡと階調幅情報ＬＤとして変換し出力する(ステップ＃１５４２２)。
ＬＡ  ←  (ＭＡＸ＋ＭＩＮ)／２
ＬＤ  ←   ＭＡＸ−ＭＩＮ
次に、ステップ＃１５４７に戻り、以上に説明した、注目ブロックの階調幅情報ＬＤの大きさを調べ新しい符号化データを算出する過程を２×２ブロックについて終了するまで(ステップ＃１５４２３でＹＥＳ)、繰り返す。
【００４４】
図１８と図１９は、文字画像再圧縮処理（図１０、ステップ＃１７３）のフローを示す。上述の文字属性変換処理では、ブロックトランケーション符号化データの平均値情報、階調幅情報、各画素の符号情報が文字情報と下地情報とを用いて変換されている。この変換された符号化データを用いて、１ブロック内の画素が、すべての文字か、すべて文字背景か、文字と文字背景の混合なのかを判断できる。そこで、これを利用して再符号化が行われる。すなわち、文字属性時にはブロックトランケーション符号化処理により符号化された１領域（２×２ブロック）の符号化データのうち、輝度Ｌ*の平均値情報ＬＡと階調幅情報ＬＤを用い、２×２ブロックの文字情報と文字背景情報を算出し、記憶する。次に、それらの情報とその２×２ブロックの輝度Ｌ*の平均値情報ＬＡ、階調幅情報ＬＤおよび各符号情報φijより、注目ブロック(２×２ブロックのうちの１ブロック)内の画素が、すべての文字か、すべて文字背景か、文字と文字背景の混合なのかを調べ、その状態を示すモード情報を記憶する。さらに注目ブロックが文字と文字背景の混合の場合のみ、各画素が文字なのか文字背景なのかを示す符号情報を記憶する。以下にその手順を説明する。
【００４５】
まず、文字情報と下地情報を符号化データから求める。はじめに１領域（２×２ブロック）の文字情報ＭＩＮと文字背景情報ＭＡＸを算出するための変数ＭＩＮ、ＭＡＸの初期設定を行う(ステップ＃１７３５１)。ここでは、ＭＡＸを０とし、ＭＩＮを２５５とする。次に、１ブロックに関して輝度Ｌ*の平均値情報ＬＡと階調幅情報ＬＤからＬＡ＋ＬＤ／２(ブロック内の最大値)を計算し、その値が変数ＭＡＸより大きいか調べ(ステップ＃１７３５２)、大きければ、変数ＭＡＸにその値(ブロック内の最大値)を格納する(ステップ＃１７３５３)。一方、その値がＭＡＸ以下ならば、さらに、ＬＡ−ＬＤ／２(ブロック内の最小値)を計算し、その値が変数ＭＩＮより小さければ(ステップ＃１７３５４でＹＥＳ)、変数ＭＩＮにその値(ブロック内の最小値)を格納する(ステップ＃１７３５５)。次に、ステップ＃１７３５２に戻り、上記の処理を２×２ブロックのすべてのブロックについて繰り返す(ステップ＃１７３５６)。これにより、２×２ブロックの最大値(変数ＭＡＸ)すなわち文字背景情報、および、最小値(変数ＭＩＮ)すなわち文字情報を算出する。そして、得られた文字情報(変数ＭＩＮ)と下地情報(変数ＭＡＸ)を出力する(ステップ＃１７３５７)。
【００４６】
次に、再び２×２ブロックのうちの１ブロックの階調幅情報ＬＤを抽出し、その値がしきい値ＴＨ１以下であるかを調べる(ステップ＃１７３５８)。これにより、その注目ブロックがエッジ部なのか、非エッジ部なのかを調べる。なお、本実施形態では、そのしきい値は、１０進法で１０と設定されている。もし階調幅情報ＬＤがしきい値ＴＨ１以下であるならば、その注目ブロックはエッジを持たない非エッジ部すなわち、すべて文字かすべて文字背景かのいずれかであるので、それがすべて文字なのか、すべて文字背景なのかを調べるために、その注目ブロックの平均値情報ＬＡがを調べる(ステップ＃１７３５９)。
ＴＨ２＝(ＭＡＸ＋ＭＩＮ)／２
次に、平均値情報ＬＡがしきい値ＴＨ２より大きければ、その注目ブロックはすべて文字と判断し、注目ブロックがすべて文字であることを示す２ビットモード情報“００"を出力する(ステップ＃１７３６０)。また、平均値情報(ＬＡ)がしきい値ＴＨ２以下ならば、その注目ブロックはすべて文字背景と判断し、注目ブロックがすべて文字背景であることを示す２ビットモード情報“０１"を出力する(ステップ＃１７３６１)。階調幅情報ＬＤがしきい値ＴＨ１より大きければ、その注目ブロックはエッジを持つエッジ部、すなわち文字と文字背景が混合するブロックであるので、注目ブロックが文字と文字背景が混合するブロックであることを示す２ビットモード情報“１１"を出力する(ステップ＃１７３６２)。
【００４７】
また、その注目ブロックが文字と文字背景が混合するブロックである場合、各画素が文字なのか、文字背景なのかを調べる必要がある。そのためにその注目ブロックが持つ符号情報φijを抽出し、その符号情報φijの先頭２ビットにより分岐する(ステップ＃１７３６３)。先頭２ビットが“０１"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ−ＬＤ／２を計算し、変数Ａに格納する(ステップ＃１７３６４)。先頭２ビットが“００"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ−ＬＤ／６を計算し、変数Ａに格納する(ステップ＃１７３６５)。先頭２ビットが“１０"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ＋ＬＤ／６を計算し、変数Ａに格納する(ステップ＃１７３６６)。先頭２ビットが“１１"ならば、その平均値情報ＬＡと階調幅情報ＬＤより、ＬＡ＋ＬＤ／２を計算し、変数Ａに格納する(ステップ＃１７３６７)。
そして、算出された変数Ａのデータが前に説明した式で計算されたしきい値ＴＨ２より大きいかを調べる(ステップ＃１７３６８)。変数Ａがしきい値ＴＨ２より大きいならば、新しい符号情報φijとして“１"を１ビット出力し(ステップ＃１７３６９)、その注目ブロックの符号情報φijを２ビットシフトし、次の画素の符号情報を示す２ビットを先頭に移動する(ステップ＃１７３７０)。また、変数Ａがしきい値ＴＨ２以上ならば、新しい符号情報φijとして“０"を１ビット出力する(ステップ＃１７３７１)。
次に、ステップ＃１７３６３に戻り、以上の新しい符号情報φijを作り出す処理を、注目ブロックの１ブロックが終了するまで(ステップ＃１７３７２でＹＥＳ)、繰り返す。
次に、ステップ＃１７３７３を経てステップ＃１７３５８に戻り、以上の注目ブロックの階調幅情報ＬＤの大きさを調べ、文字属性時の再符号化データを算出する過程を、２×２ブロックが終了するまで(ステップ＃１７３７３でＹＥＳ)、繰り返す。
【００４８】
【発明の効果】
以上説明したように、ブロックトランケーション符号化方式と再符号化とを組み合わせることにより、符号化後の情報量が大幅に削減できる。
また、文字ブロック属性において、そのブロック内の文字情報と背景情報を算出し、各画像データをその文字情報と背景情報に置き換えることにより、ブロックトランケーション符号化データを３種類の状態(すべて文字、すべて下地、文字下地混合のいずれか)に分けることができ、符合情報を２値化しても、従来の再符号化処理からの復号時に生じていた文字画像でのがたつき、欠け、ノイズ等をなくすことができる。さらに、文字ブロック属性のブロック内の文字情報と背景情報を保持した状態で、再符号化を行っているため、復号時に文字濃度と下地濃度(カラー時は、各輝度)を再現することが可能となり、非文字属性と文字属性の境界部分において、両属性間の画像データの濃度に違いが生じなくなり、良好な画質を再現することができる。
また、属性判別および文字属性変換処理は、ブロックトランケーション符号化された符号化データを用いて行うことができ、もともとの原画像データを扱うより比較的少ない画像データをアクセスするだけでよい。そのため、属性判別処理や文字変換処理に係わる回路規模(バッファメモリの大きさ等)を削減することができる。さらに、文字画像を解像度を保持した状態で復号時に生じる文字画像の劣化を防ぎ高い圧縮率で符号化することができる。特に文字属性と非文字属性の境界に生じる画像濃度の違いによる画質劣化を防ぎながら、高い圧縮率を得ることが可能となる。また、ブロック毎にブロックトランケーション符号化データに関連づけて再符号化しているので、符号化された状態での画像加工／編集等の処理が容易となる。
【図面の簡単な説明】
【図１】  デジタルカラー複写機の概略断面図。
【図２】  画像処理部のブロック図。
【図３】  ブロックトランケーション符号化の概念図。
【図４】  ブロックトランケーション符号化の概念図。
【図５】  ブロックトランケーション符号化回路のブロック図。
【図６】  符号化部のブロック図。
【図７】  復号化部のブロック図。
【図８】  全体制御のフローチャート。
【図９】  文字属性変換のフローチャート。
【図１０】  画像再圧縮のフローチャート。
【図１１】  文字画像再圧縮のフローチャート。
【図１２】  濃度抽出処理のフローチャート。
【図１３】  文字属性再圧縮からの伸長のフローチャート。
【図１４】  第２実施形態の符号化部のブロック図。
【図１５】  文字属性変換のフローチャート。
【図１６】  符号化データ置換処理の一部のフローチャート。
【図１７】  符号化データ置換処理の一部のフローチャート。
【図１８】  文字画像再圧縮処理の一部のフローチャート。
【図１９】  文字画像再圧縮処理の一部のフローチャート。
【符号の説明】
４０１  文字属性変換部、  ４０２  ＧＢＴＣ符号化部、  ４０３  再符号化部、  ４１１  ＧＢＴＣ符号化部、  ４１２  文字属性変換部、  ４１３  再符号化部、  ６０２  色空間変換処理、  ６０４  符号化復号処理部、  ６１０  圧縮画像メモリ、  ６１１  ＣＰＵ。
【図１】
0003909924.tif 000002
【図２】
0003909924.tif 000003
【図３】
0003909924.tif 000004
【図４】
0003909924.tif 000005
【図５】
0003909924.tif 000006
【図６】
0003909924.tif 000007
【図７】
0003909924.tif 000008
【図８】
0003909924.tif 000009
【図９】
0003909924.tif 000010
【図１０】
0003909924.tif 000011
【図１１】
0003909924.tif 000012
【図１２】
0003909924.tif 000013
【図１３】
0003909924.tif 000014
【図１４】
0003909924.tif 000015
【図１５】
0003909924.tif 000016
【図１６】
0003909924.tif 000017
【図１７】
0003909924.tif 000018
【図１８】
0003909924.tif 000019
【図１９】
0003909924.tif 000020