以下に添付図面を参照して、この発明にかかる画像処理装置の最良な実施の形態を詳細に説明する。
本発明の実施の一形態を図1ないし図51に基づいて説明する。本実施の形態は、画像処理装置として、コピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能及び入力画像(スキャナ機能による読み取り原稿画像やプリンタあるいはFAX機能により入力された画像)を配信する機能等を複合したいわゆるMFP(Multi Function Peripheral)と称される電子写真方式のカラー複写装置1に適用した例を示す。
図1は、電子写真方式のカラー複写装置1の要部概略構成正面図である。図1において、カラー複写装置1は、本体筐体2の内部に、画像形成手段であるプリンタ部100、給紙部200及び画像読み取り手段であるスキャナ部300等が内蔵されており、本体筐体2の上面にコンタクトガラス3が配設されている。カラー複写装置1は、その上部にADF(Auto Document Feeder)400が配設されており、ADF400は、その原稿台401上にセットされた複数枚の原稿Gを1枚ずつ分離してローラ及び原稿搬送ベルト402でコンタクトガラス3上のスキャナ部300による原稿読取位置に搬送し、読み取りの完了した原稿Gを原稿搬送ベルト402で図示しない排紙トレイ上に排出する。
上記給紙部200は、給紙トレイ201、反転部202及び図示しない搬送ローラ等を備えており、給紙トレイ201内の複数枚の転写紙(転写材)Pを1枚ずつ分離してプリンタ部100に搬送する。反転部202は、プリンタ部100で画像形成された転写紙Pの表裏面を反転させて、再度、プリンタ部100に送り込んで、裏面に画像形成させる。また、本体筐体101の一方側の側面には、手差しで転写紙Pがセットされる給紙トレイ203が設けられており、給紙部200は、この給紙トレイ203上の転写紙Pもプリンタ部100に搬送する。
また、本体筐体101の給紙トレイ203とは反対側の側面には、排紙トレイ204が配設されており、プリンタ部100で画像形成の完了した転写紙Pが排紙トレイ204上に順次排出される。
上記プリンタ部100は、本体筐体2の内部略中央部に設けられ、そのプリンタ部100の略中央部に、所定長さにわたって上下斜め方向に環状の中間転写ベルト101が配設されている。中間転写ベルト101は、駆動ローラ102と転写ローラ103に張り渡されて、図1に矢印で示す時計方向に回転駆動され、この中間転写ベルト101に沿って、黒(K)及びイエロー(Y)、マゼンタ(M)、シアン(C)の3色の合計4つの像担持体としてのφ30[mm]の有機感光体(OPC)ドラム104K〜104Cが配設されている。この感光体ドラム104K〜104Cの周囲には、感光体ドラム104K〜104Cの表面を帯電する帯電チャージャ105K〜105C、一様に帯電された感光体ドラム104K〜104Cの表面上にレーザ光を照射して静電潜像を形成するレーザ光学系106、静電潜像に各色トナーを供給して現像し各色毎にトナー像を形成する黒現像ユニット107K及びY(イエロー)、M(マゼンタ)、C(シアン)の3つのカラー現像ユニット107Y、107M、107C、上記中間転写ベルト101に転写電圧を印加するバイアスローラ108K〜108C及び符号は付さないが転写後の感光体ドラム104K〜104Cの表面に残留するトナーを除去するクリーニング装置、転写後の感光体ドラム104K〜104Cの表面に残留する電荷を除去する除電部等が順次配列されている。
プリンタ部100は、反時計方向に回転される感光体ドラム104K〜104Cを、帯電チャージャ105K〜105Cによって一様に帯電させて、当該一様に帯電した感光体ドラム104K〜104Cに、各色の色データで変調されたレーザ光をレーザ光学系106から照射して静電潜像を形成し、静電潜像の形成された各感光体ドラム104K〜104Cに各色の現像ユニット107K〜107Cによって各色のトナーを供給してトナー画像を形成する。プリンタ部100は、バイアスローラ108K〜108Cで転写電圧を中間転写ベルト101に印加して、各感光体ドラム104K〜104C上の各色のトナー画像を中間転写ベルト101に順次重ね合わせて転写することで、フルカラーのトナー画像を転写する。
また、プリンタ部100は、中間転写ベルト101を挟んで転写ローラ103に対向する位置に加圧ローラ109が配置され、加圧ローラ109と転写ローラ103との間に、給紙部200からの転写紙Pが搬送されてくる。この加圧ローラ109と転写ローラ103への転写紙Pの搬送路上に、搬送ローラ110とレジストローラ111が配設されており、搬送ローラ110が、給紙部200からの転写紙Pをレジストローラ111に搬送して、レジストローラ111が当該搬送されてきた転写紙Pを中間転写ベルト101上のトナー画像とのタイミング調整を行って、加圧ローラ109と転写ローラ103との間に搬送する。
転写ローラ103は、中間転写ベルト101に転写電圧を印加して、上記中間転写ベルト101上のトナー画像を、加圧ローラ109との間に搬送されてきた転写紙Pに転写する。
プリンタ部100は、トナー画像の転写の完了した転写紙Pの搬送方向下流側に、搬送ベルト112と定着ユニット113が配設されており、トナー画像が転写されて中間転写ベルト101から剥離された転写紙Pを搬送ベルト112によって定着ユニット113に搬送する。定着ユニット113は、定着温度に加熱される定着ローラ114と定着ローラ114に圧接されている加圧ローラ115を備え、搬送されてきた転写紙Pを回転駆動される定着ローラ114と加圧ローラ115で加熱・加圧しつつ搬送して、転写紙P上のトナー画像を転写紙Pに定着させて、本体筐体2の側面に設けられた排紙トレイ204上に排出する。
上記スキャナ部300は、図2に拡大して示すように、ランプシェード301の設けられたハロゲンランプ302と原稿Gやハロゲンランプ302からの光を原稿Gや白基準板(図示略)に反射する第1ミラー303及び原稿Gや白基準板からの反射光を反射する第2ミラー304を搭載した第1走行体305、第2ミラー304で反射された光を順次反射する第3ミラー306と第4ミラー307を搭載した第2走行体308、切換可能な2つの赤外線カットフィルタ309、310、レンズ311及び光電変換素子としてのCCD(Charge Coupled Device )312等を備えており、第1走行体305と第2走行体308をそれぞれ所定の移動速度で副走査方向(図2に矢印aで示す方向)に移動させながら、コンタクトガラス3上の原稿Gに第1走行体305上のハロゲンランプ302から読取光を照射して、原稿Gからの反射光を第2ミラー304で第2走行体308上の第3ミラー306に反射する。スキャナ部300は、第3ミラー306で第2ミラー304からの反射光を第4ミラー307方向に反射して、第4ミラーで反射光を赤外線カットフィルタ309、310方向に反射し、そのとき光路上に位置している赤外線カットフィルタ309または赤外線カットフィルタ310で赤外線をカットして、レンズ311に入射させる。スキャナ部300は、入射光をCCD312に集光させ、CCD312は、入射光を光電変換することで、原稿Gの画像を読み取って、アナログの画像信号として出力する。
カラー複写装置1は、本体筐体2の上面部に、図3に示すように、操作部500が設けられており、操作部500には、スタートキー501、クリア/ストップキー502、テンキー503、割り込みキー504、メモリコールキー505、予熱/モードクリアキー506、カラー調整/登録キー507、プログラムキー508、オプションキー509、エリア加工キー510及び液晶画面511等が設けられている。
そして、カラー複写装置1は、その制御系が、図4に示すように構成されており、カラー複写装置1の各部を制御してカラー複写装置1としての処理を実行するシステムコントローラ600のCPU(Central Processing Unit )601、各種プログラムやデータを格納するROM(Read Only Memory)602、CPU601のワークメモリとして利用されるRAM(Random Access Memory)603、CPU601と各種回路部を接続するインタフェースI/O604、各種センサ制御部605、電源・バイアス制御部606、駆動制御部607、操作制御部608、通信制御部609、記憶装置制御部610、記憶装置611、IPU612、レーザ光学系駆動部613、トナー補給回路614等を備えている。
各種センサ制御部605には、YMCK各現像ユニット107K〜107C内に設置されているトナー濃度センサ615、YMCK各作像ユニット107K〜107Cに設置されている光学センサ616a〜616c、電位センサ617及び環境センサ618等が接続されており、これらの各センサ615〜618からのセンサ信号をインタフェースI/O604を介してCPU601に出力する。この光学センサ616aは、各感光体ドラム104K〜104Cに対向して配置され、感光体ドラム104K〜104C上のトナー付着量を検知する。光学センサ616bは、各感光体ドラム104K〜104C近傍で中間転写ベルト101に対向して配置され、中間転写ベルト101上のトナー付着量を検知する。光学センサ616cは、搬送ベルト112に対向して配置され、搬送ベルト112上のトナー付着量を検知する。なお、実用上は光学センサ616a〜616cのいずれか1カ所で検知すればよい。
また、光学センサ616aは、感光体ドラム104K〜104Cの軸方向の画像領域外であって当該画像領域近傍に配置され、発光ダイオード等の発光素子とフォトセンサ等の受光素子で構成されていて、感光体ドラム104K〜104C上に形成される検知パターン潜像のトナー像におけるトナー付着量及び地肌部におけるトナー付着量を各色毎にそれぞれ検知するとともに、感光体ドラム104K〜104Cの除電後のいわゆる残留電位を検知して、検知信号を各種センサ制御部605に出力する。各種センサ制御部605は、光学センサ616aからの検知信号に基づいて、検知パターントナー像におけるトナー付着量と地肌部におけるトナー付着量との比率を求めて、その比率値を基準値と比較して画像濃度の変動を検知し、YMCK各色のトナー濃度センサ615の制御値の補正を行なっている。なお、光学センサ616aは、実用上は、各感光体ドラム104K〜104Cに設ける必要はなく、いずれか1つの感光体ドラム104K〜104Cで検知すればよい。
また、トナー濃度センサ615は、各現像ユニット107K〜107Cに配設され、現像ユニット107K〜107C内に存在する現像剤の透磁率変化に基づいてトナー濃度を検知して、検知信号を各種センサ制御部605に出力する。各種センサ制御部605は、トナー濃度センサ615からの検知センサに基づいて、検知されたトナー濃度値と基準値と比較して、トナー濃度が一定値を下回ってトナー不足状態であると判断すると、その不足分に対応した大きさのトナー補給信号をトナー補給回路614に出力する。トナー補給回路614は、トナー補給信号に基づいて対応する現像ユニット104K〜104Cにトナーを補給させる。
電位センサ617は、像担持体である感光体ドラム104K〜104Cのそれぞれの表面電位を検知して、検知信号を各種センサ制御部605に出力する。
電源・バイアス制御部606は、現像ユニット107K〜107Cや電源回路619への電源の供給を制御し、電源回路619は、帯電チャージャ105K〜105Cに対する所定の帯電用放電電圧の供給、現像ユニット107K〜107Cに対する所定電圧の現像バイアスの供給及びバイアスローラ108K〜108Cおよび帯電チャージャ105K〜105Cに対する所定の転写電圧の供給を行う。
駆動制御部607は、レーザ光学系106のレーザ出力を調整するレーザ光学系駆動部613、中間転写ベルト101の回転駆動を制御する中間転写ベルト駆動部620及び現像ユニット107K〜107Cへのトナーの補給を行うトナー補給回路614の駆動を制御する。操作制御部608は、上記操作部500での操作内容の取得、ランプ類等の点灯制御及び液晶画面511の表示制御等をCPU601の制御下で行う。
通信制御部609には、インターネットやイントラネット等のネットワークが接続され、当該ネットワークを介して通信を行う。記憶装置611は、ハードディスク等で構成され、記憶装置制御部610の制御下で、各種情報、特に、画像データを記憶する。
次に、上記IPU612について、図5に基づいて説明する。IPU612は、図5に示すように、シェーディング補正回路701、エリア処理部702、スキャナγ変換部703、画像メモリ704、画像分離部705、I/F(インタフェース)706、MTF(Modulation Transfer Function)フィルタ707、色相判定回路708、色変換UCR(下色除去:Under Color Removal)処理回路709、パターン生成部710、変倍回路711、画像加工回路712、画像処理用プリンタγ変換回路713、階調処理回路714、CPU715、ROM716及びRAM717等を備えており、上記各部は、バス718によって接続されている。
また、プリンタ部100は、I/F・セレクタ721、パターン生成部722、画像形成用プリンタγ補正回路723及び上記プリンタ部100の画像形成を実際に行うプリンタエンジン724等を備えている。
CPU715は、ROM716とRAM717にバス718で接続されており、また、シリアルI/Fを通じて、システムコントローラ600と接続されており、操作部500等からのコマンドがシステムコントローラ600を通して送信される。CPU715は、操作部500等から送信されてきた画質モード、濃度情報及び領域情報等に基づいてIPU612の必要な各部に各種パラメータを設定する。
スキャナ部300は、コンタクトガラス3上の原稿GをR、G、Bに色分解して、例えば、10ビットで読み取り、読み取った原稿Gの画像信号を、IPU612のシェーディング補正回路701に出力する。
シェーディング補正回路701は、スキャナ部300から入力される画像信号の主走査方向のムラを補正して、例えば、8ビット信号でスキャナγ変換部703に出力する。
エリア処理部702は、現在処理を行っている画像データが原稿G内のどの領域に属するかを区別するための領域信号を発生し、この領域信号により、後段の画像処理で用いるパラメータが切り換えられる。このエリア処理部702は、指定領域毎に、文字、銀塩写真(印画紙)、印刷原稿、インクジェット、蛍光ペン、地図、熱転写原稿など、それぞれの原稿Gに最適な色補正係数、空間フィルタ、階調変換テーブル等の画像処理パラメータをそれぞれ画像領域に応じて設定する。
スキャナγ変換部703は、スキャナ部300からの読取信号を反射率データから明度データに変換し、画像メモリ704に記憶させる。画像メモリ704は、スキャナγ変換後の画像信号を記憶して、画像分離部705及びI/F706を介してMTFフィルタ707に出力する。画像分離部705は、原稿Gの画像の文字部と写真部の判定及び有彩色・無彩色の判定を行い、判定結果をMTFフィルタ707に出力する。
MTFフィルタ707は、シャープな画像やソフトな画像等のように使用者の好みに応じたエッジ強調や平滑化等の画像信号の周波数特性を変更する処理に加えて、画像信号のエッジ度に応じたエッジ強調処理を行う。例えば、MTFフィルタ707は、文字エッジに対してはエッジ強調を行い、網点画像に対してはエッジ強調を行わないといういわゆる適応エッジ強調をR、G、B信号それぞれに対して行う。
具体的には、例えば、MTFフィルタ707は、図6に示すように、平滑化フィルタ730、エッジ量検出フィルタ731、ラプラシアンフィルタ732、平滑化フィルタ733、テーブル変換734、積算器735及び加算器736等を備えており、平滑化フィルタ730が、スキャナγ変換部703によって反射率リニアから明度リニアに変換された画像信号を、以下に示す係数を使用して平滑化して画像信号Aとしてラプラシアンフィルタ732及び加算器736に出力する。
次に、3×3のラプラシアンフィルタ732が、図7に示すようなフィルタを使用して、画像データの微分成分を抽出して、画像信号Bとして積算器735に出力する。
スキャナγ変換部703によるγ変換の行われない10ビットの画像信号のうち、例えば、上位8ビット成分が、エッジ量検出フィルタ731に入力され、エッジ量検出フィルタ731は、図8−1に示す副走査方向エッジ検出フィルタ、図8−2に示す主走査方向エッジ検出フィルタ及び図8−3と図8−4に示す斜め方向検出フィルタを使用して、エッジ検出を行って、検出したエッジ量のうち、最大値をエッジ度として、平滑化フィルタ733に出力する。
平滑化フィルタ733は、エッジ量検出フィルタ731の検出したエッジ度を、必要に応じて、例えば、次に示す係数を使用して平滑化して、スキャナ部300の偶数画素と奇数画素の感度差の影響を軽減し、テーブル変換回路734に出力する。
テーブル変換回路734は、求められたエッジ度をテーブル変換して、画像信号Cとして積算器735に出力する。この場合、テーブル変換回路734は、テーブルの値により、線や点の濃さ(コントラスト、濃度を含む)および網点部の滑らかさを指定する。テーブルの例を図9に示す。そして、エッジ度は、白地に黒い線や点等で最も大きくなり、印刷の細かい網点や銀塩写真や熱転写原稿等のように画素の境界が滑らかなものになるほど小さくなる。
積算器735は、テーブル変換回路734によって変換されたエッジ度(画像信号C)と、ラプラシアンフィルタ732の出力値(画像信号B)との積をとって画像信号Dとして加算器736に出力し、加算器736が、画像信号Dに平滑処理後の画像信号(画像信号A)を加算して、画像信号Eとして後段の画像処理回路である色相判定回路708及び色変換UCR処理回路709に出力する。
色変換UCR処理回路709は、入力系の色分解特性と出力系の色材の分光特性の違いを補正し、忠実な色再現に必要な色材YMCの量を計算する色補正処理部と、YMCの3色が重なる部分をK(ブラック)に置き換えるためのUCR処理部とからなる。色補正処理は、下式のようなマトリクス演算をすることにより実現できる。
ここで、s(R),s(G),s(B)は、スキャナγ変換処理後のスキャナ部300のR,G,B信号を表す。hueは、White,Black,Yellow,Red,Magenta,Blue,Cyan,Greenなどの各色相を表す。この色相の分割は一例であり、もっと細かく分割しても良い。マトリクス係数aij(hue)は入力系と出力系(色材)の分光特性によって前述した色相毎に決まる。ここでは、1次マスキング方程式を例に挙げたが、s(B)×s(B),s(B)×s(G)のような2次項、あるいは、さらに高次の項を用いることにより、より精度良く色補正することができる。また、ノイゲバウアー方程式を用いるようにしても良い。何れの方法にしても、Y,M,Cは、s(B),s(G),s(R)の値から求めることができる。
色相の判定は、一例として以下のように行う。
スキャナ部300の読み取り値と測色値との関係は、所定の係数bij(i,j=1,2,3)を用いて、
と表される。
測色値の定義から、
などと関係づけられるので、スキャナ部300のR,G,B信号から読み取った原稿のある画素がどの色相に相当するかを判定することができる。図10に色相の一例を図示した。図10の色相については、一般に良く知られているので概略のみを説明する。上部の同心円の中心は、L*a*b*表色系で、a*=b*=0で無彩色の軸である。円の中心から放射方向への距離は、彩度c*で、a*>0かつb*=0の直線からある点までの角度は色相角h*である。Yellow,Red,Magenta,Blue,Cyan,Greenの各色相は、彩度のある基準値c0*に対し、彩度c*≧c0*となる彩度を有し、かつ、色相角がそれぞれ、
Yellow:H1*≦h*<H6*
Red:H2*≦h*<H1*
Magenta:H3*≦h*<0および0≦h*<H2*
Blue:H4*≦h*<H3*
Cyan:H5*≦h*<H4*
Green:H6*≦h*<H5*
などと定義する(一例である)。
図10の下の図の縦軸は、L*(明度)を表し、彩度c*が、c*≦c0*であり、
White:L=100
Black:L=0
などと定義する。
また、簡易的には、s(B),s(G),s(R)の各信号の比s(B):s(G):s(R)と絶対値から、色相を判定することも可能である。
一方、色変換UCR処理回路709は、次式を用いて演算することにより行うことができる。
Y'=Y−α・min(Y,M,C)
M'=M−α・min(Y,M,C)
C'=C−α・min(Y,M,C)
Bk=α・min(Y,M,C)
上式において、αはUCRの量を決める係数であり、α=1の時100%UCR処理となる。αは一定値でも良い。例えば、高濃度部では、αは1に近く、ハイライト部(低画像濃度部)では、0に近くすることにより、画像のハイライト部での画像を滑らかにすることができる。上記の色補正係数(マスキング係数)は、RGBYMCの6色相をそれぞれ更に2分割した12色相に、更に黒および白の14色相毎に異なる。
色相判定回路708は、スキャナ部300の読み取った画像データがどの色相に属するかを判定し、判定結果を色変換UCR処理回路709に出力する。
色変換UCR処理回路709は、色相判定回路708の判定結果に基づいて、各色相毎のマスキング係数を選択して、上記色補正処理を行う。
変倍回路711は、色補正処理の完了した画像データに対して縦横変倍を行い、画像加工(クリエイト)回路712は、変倍処理の完了した画像データに対してリピート処理等を施して画像処理用プリンタγ変換回路713に出力する。
画像処理用プリンタγ変換回路713は、文字、写真等の画質モードに応じて、画像信号の補正を行い、地肌飛ばし等も同時に行うこともできる。画像処理用プリンタγ変換回路713は、上記画像加工回路712が発生した領域信号に対応して切り換え可能な複数本(例えば、10本)の階調変換テーブル(画像信号変換テーブル)を有し、文字、銀塩写真(印画紙)、印刷原稿、インクジェット、蛍光ペン、地図、熱転写原稿等のそれぞれの原稿に最適な階調変換テーブルを複数の画像処理パラメータの中から選択して、画質モードに応じた画像信号の補正を行って、階調処理回路714に出力する。
階調処理回路714は、画像処理用プリンタγ変換回路713から入力される画像データに対してディザ処理を施して、プリンタ部100のインタフェース・セレクタ721に出力する。階調処理回路714の出力は、画素周波数を1/2に下げるため、2画素分のデータを同時にプリンタ部100に転送することができるように、画像データバスは、16ビットの幅(8ビットの画像データの2本分)を有する。
ここで、図11は階調処理回路714の構成を示すブロック図である。図11に示すように、階調処理回路714は、多階調の画像データ1100を受け取り、その量子化データ1101を出力するもので、階調処理手段として機能する量子化処理部1120と、特徴量抽出手段として機能する画像特徴抽出部1130と、閾値発生手段として機能する量子化閾値発生部1140と、量子化処理部1120と画像特徴抽出部1130とのタイミング調整のための信号遅延部1150とから構成される。この信号遅延部1150は必要に応じて設けられるものであり、例えば所要ライン数のラインメモリである。入力される画像データ1100は、例えばスキャナ部300によって600dpiで読み取られた8ビット/画素のデータである。一般に、このような画像データ1100は、中間調を滑らかに表現するために平滑化フィルタを通してから入力される。通常、150Lpi程度の画像周期から平滑化されるため、グラビア印刷などで用いられる175Lpi以上の高線数網点画像の周期性成分は画像データ1100には残っていない。
量子化処理部1120は、量子化閾値発生部1140で生成された量子化閾値を用いて多階調の画像データを誤差拡散法により量子化するものであり、本実施例においては図11に示すように、量子化器(比較器)1121と、誤差計算部1122と、誤差記憶部1123と、誤差拡散マトリクス部1124と、誤差加算部1125とから構成される。画像データ1100は、信号遅延部1150によってタイミングを調整されて誤差加算部1125に入力される。誤差加算部1115によって拡散誤差を加算された画像データは、量子化器1121に入力する。量子化器1121は、入力した画像データを量子化閾値発生部1140より与えられる量子化閾値を用いて量子化し、量子化結果を量子化データ1101として出力する。
本実施例においては、4ビットの誤差拡散処理を例に説明する。量子化閾値発生部1140では、量子化閾値1〜15(th1〜th15)を生成する。量子化閾値の関係は、
量子化閾値1(th1)≦量子化閾値2(th2)≦…≦量子化閾値15(th15)
とする。
量子化器1121は、入力した画像データ1100をth1〜th15と比較し、それぞれth15より大きい場合に“16”、th14より大きい場合に“15”、以下同様に、th1より大きい場合に“1”、th1より小さい場合に“0”の値をとる4ビット(16階調)の量子化データ1101を出力する。
誤差計算部1122は、量子化器1121の量子化誤差を算出するものである。ここでは8ビットの画像データを扱っているため、この誤差計算においては、例えば、量子化データ1101の“16”をFFh(16進数)=255(10進数)、“15”をEEh(16進数)=238(10進数)、以下同様に、“1”を11h(16進数)=17(10進数)、“0”を0(10進数)として扱う。算出された量子化誤差は、誤差記憶部1123に一時的に記憶される。この誤差記憶部1123は、注目画素の周辺の処理済み画素に関する量子化誤差を保存するためのものである。本実施例では、次に述べるように量子化誤差を2ライン先の周辺画素まで拡散させるため、例えば3ラインのラインメモリが誤差記憶部1123として用いられる。
誤差拡散マトリクス部1124は、誤差記憶部1123に記憶されている量子化誤差データから次の注目画素に加算する拡散誤差を計算するものである。本実施例では、誤差拡散マトリクス部1124は、図12に示すような副走査方向が3画素、主走査方向が5画素のサイズの誤差拡散マトリクスを用いて拡散誤差データを算出する。図12において、*印は次の注目画素の位置に相当し、a,b,...,k,lは周辺の12個の処理済み画素の位置に対応した係数(総和は32)である。誤差拡散マトリクス部1124では、それら12個の処理済み画素に対する量子化誤差と対応した係数a〜lとの積和を32で除した値を、次の注目画素に対する拡散誤差として誤差加算部1125に与える。
画像特徴抽出部1130は、エッジ検出部1131と領域拡張処理部1132からなる。エッジ検出部1131は、画像データ1100のエッジ検出を行うもので、本実施例ではレベル0(エッジ度最大)からレベル8(非エッジ)までのエッジレベルを表す4ビットのエッジデータを出力する。より具体的には、例えば図13−1〜図13−4に示す4種類の5×5の一次微分エッジ検出フィルタ1〜4、および図14−1〜図14−4に示す4種類の二次微分フィルタ1〜4を用いて、主走査方向、副走査方向、主走査方向から±45゜傾いた方向の4方向についてエッジ量を検出し、その中で絶対値が最大のエッジ量を選び、そのエッジ量の絶対値をレベル0からレベル3までの4レベルのエッジレベルに量子化して出力する。領域拡張処理部1132は、エッジ検出部1131により検出されたエッジに対して7画素幅の領域拡張処理を行うもので、エッジ検出部1131より出力されたエッジデータを参照し、注目画素の周囲の7×7画素の領域(主走査方向の前後3画素、副走査方向の前後3画素の範囲)の中で最小のエッジレベル(最大のエッジ度合)を注目画素のエッジレベルとして、それを4ビットのエッジデータとして出力する。このエッジデータは、量子化閾値発生部1140に与えられる。
量子化閾値発生部1140は、領域拡張処理部1132より出力されたエッジデータで表されるエッジレベルに応じた振動幅で、画像空間上で周期的に振動する量子化閾値を生成し、それを量子化処理部1120の量子化器1121に与えるもので、ディザ閾値発生部1141と、このディザ閾値発生部1141の出力値に、エッジデータで示されるエッジレベルに対応した係数(0〜3)を掛ける乗算部1142と、乗算部1142の出力値に固定値を加算する加算部1143とから構成される。
一例として、ディザ閾値発生部1141は、図15に示すような1から6までの閾値を小さいものから順に(1が最小、6が最大)ラインを成長させるように配置した4×4のディザ閾値マトリクスを用い、画像平面上で周期的に1から6まで振動するディザ閾値を出力する。ここで、同じ値の画素は同じ閾値を使用している。ディザ閾値周期は、これは600dpiの画像形成の場合には192Lpiに相当する。このようなディザ閾値発生部1141は、上記ディザ閾値マトリクスを格納したROMと、画像データの主,副走査のタイミング信号をカウントして、このROMの読み出しアドレスを発生するカウンタなどによって容易に実現できる。
ここで、図15において“1”と設定された画素は、主走査方向に並べることにより、主走査方向に2画素並んだドットを最初に形成することを表す。このように、安定したドット形成がなされることを意図して、エネルギーが少ない書込みレベルである1値を2画素並べる。
この場合のスクリーン角とラインの成長方向を図16に示した。ラインの成長方向は、図中の“ラインが成長する方向1”に示した。
乗算部1142は、画像特徴抽出部1130からのエッジデータで示されるエッジレベルがレベル0(非エッジ)の時に係数3を、レベル1の時に係数2を、レベル2の時に係数1を、レベル3(最大エッジ度合)の時に係数0を、ディザ閾値発生部1141の出力値に乗じる。
以上のように構成された量子化データ1101を、プリンタ部100に与えることにより、文字、画像の変化点や比較的低線数の網点画像部などは解像性が良く、写真、画像の変化の少ない部分、高線数の網点画像などは滑らかで安定性が良く、それら領域が違和感なく整合した高品位な画像を形成可能である。これについて、以下において説明する。
画像中の文字や線画のエッジ部のような変化が急峻でエッジレベルがレベル3(エッジ度合最高)となる部分では、量子化閾値発生部1140で生成される量子化閾値は固定され、量子化処理部1120で固定閾値を用いた純粋な誤差拡散法による量子化処理が行われるため、解像性の良い画像を形成できる。
写真や画像の平坦部のようにエッジ度合が低い部分では、量子化閾値発生部1140によって生成される量子化閾値の振動幅が大きくなるため、量子化処理部1120の量子化処理はディザ基調の処理となり、画像データはディザ閾値周期で網点化される。図15に示すような閾値配置のディザ閾値マトリクスが量子化閾値の生成に用いられるため、画像データの濃度レベルが上昇するにつれて、ディザ閾値周期内でスクリーン角にそって成長したライン中央部より渦巻き状に出力ドットが成長するようになる。
なお、図17は、図15に対する別の実施例として、ラインが成長する順番、および量子化閾値の大小関係を示した。図17に示す閾値配置のディザ閾値マトリクスによれば、ラインが成長する際に形成されていく画素の順番が図15の場合と異なるが、このような値を設定しても同様にスクリーン角に沿ったラインを形成し、滑らかな画像をえることができる。
なお、上述したようなIPU612は、SIMD型のプロセッサで実現することができる。そこで、以下では、SIMD型のプロセッサについて説明する。
図18は、SIMD型プロセッサ1506の概略構成を示す説明図である。SIMD(Single Instruction-stream Multiple Data-stream)型プロセッサ1506は、複数のデータに対し単一の命令を並列に実行させるもので、複数のPE(プロセッサ・エレメント)より構成される。それぞれのPEはデータを格納するレジスタ(Reg)2001、他のPEのレジスタをアクセスするためのマルチプレクサ(MUX)2002、バレルシフター(ShiftExpand)2003、論理演算器(ALU)2004、論理結果を格納するアキュムレーター(A)2005、アキュムレーターの内容を一時的に退避させるテンポラリー・レジスタ(F)2006から構成される。
各レジスタ2001は、アドレスバスおよびデータバス(リード線およびワード線)に接続されており、処理を規定する命令コード、処理の対象となるデータを格納する。レジスタ2001の内容は論理演算器2004に入力され、演算処理結果はアキュムレーター2005に格納される。結果をPE外部に取り出すために、テンポラリー・レジスタ2006に一旦退避させる。テンポラリー・レジスタ2006の内容を取り出すことにより、対象データに対する処理結果が得られる。
命令コードは各PEに同一内容で与え、処理の対象データをPEごとに異なる状態で与え、隣接PEのレジスタ2001の内容をマルチプレクサ2002において参照することで、演算結果は並列処理され、各アキュムレーター2005に出力される。
たとえば、画像データ1ラインの内容を画素ごとにPEに配置し、同一の命令コードで演算処理させれば、1画素ずつ逐次処理するよりも短時間で1ライン分の処理結果が得られる。特に、空間フィルタ処理はPEごとの命令コードは演算式そのもので、PE全てに共通に処理を実施することができる。
次に、カラー複写装置1に用いるSIMD型の画像データ処理と逐次型の画像データ処理とで実現する場合のハードウェア構成について説明する。図19は、SIMD型の画像データ処理を実行するSIMD型画像データ処理部1500と、逐次型の画像データ処理を実行する逐次型画像データ処理部1507との構成についてハードウェア説明するブロック図である。本実施の形態では、まず、SIMD型画像データ処理部1500について説明し、続いて逐次型画像データ処理部1507について説明する。
SIMD型画像データ処理部1500と逐次型画像データ処理部1507とは、一方向に配列された複数の画素で構成される複数の画素ラインとして画像を処理するものである。図20は、画素ラインを説明するための図であり、画素ラインa〜dの4本の画素ラインを示している。また、図中に斜線を付して示した画素は、今回処理される注目画素である。
本実施の形態では、注目画素の誤差拡散処理に当たり、注目画素に対して周囲の画素の影響を、同一の画素ラインに含まれる画素、異なる画素ラインに含まれる画素の両方について考慮している。そして、注目画素とは異なる画素ラインに含まれる画素との間の誤差拡散処理をSIMD型画像データ処理部1500で行ない、注目画素と同一の画素ラインに含まれる画素(図中に丸付き数字の1,2,3を付して示した画素)との間の誤差拡散処理を逐次型画像データ処理部1507で行なう。
SIMD型画像データ処理部1500は、SIMD型プロセッサ1506と、SIMD型画像データ処理部1500に画像データおよび制御信号を入力する5つのデータ入出力用バス1501a〜1501eと、データ入出力用バス1501a〜1501eをスイッチングしてSIMD型プロセッサ1506に入力する画像データおよび制御信号を切り替えるとともに、接続されたバスのバス幅を切り替えるバススイッチ1502a〜1502cと、入力した画像データの処理に使用されるデータを記憶する20個のRAM1503と、各々対応するRAM1503を制御するメモリコントローラ1505a、メモリコントローラ1505b、メモリコントローラ1505aまたはメモリコントローラ1505bの制御にしたがってRAM1503をスイッチングする4つのメモリスイッチ1504a〜1504dを有している。
なお、以上の構成では、バススイッチ1502a〜1502cによって制御されるメモリコントローラをメモリコントローラ1505bとし、バススイッチ1502a〜1502cの制御をうけないメモリコントローラをメモリコントローラ1505aとして区別した。
上記したSIMD型プロセッサ1506は、レジスタ0(R0)〜レジスタ23(R23)を備えている。R0〜R23の各々は、SIMD型プロセッサ1506にあるPEとメモリコントローラ1505a,1505bとのデータインターフェースとして機能する。バススイッチ1502aは、R0〜R3に接続されたメモリコントローラ1505bを切り替えてSIMD型プロセッサに制御信号を入力する。
また、バススイッチ1502bは、R4,R5に接続されたメモリコントローラ1505を切り替えてSIMD型プロセッサ1506に制御信号を入力する。また、バススイッチ1502cは、R6〜R9に接続されたメモリコントローラ1505を切り替えてSIMD型プロセッサ1506に制御信号を入力する。そして、バススイッチ1502cは、R6〜R9に接続されたメモリコントローラ1505bを切り替えてSIMD型プロセッサ1506に制御信号を入力する。
メモリスイッチ1504aは、R0〜R5に接続されたメモリコントローラ1505bを使用してSIMD型プロセッサ1506内部のPEとRAM1503との間で画像データを授受している。また、メモリスイッチ1504bは、R6,R7に接続されたメモリコントローラ1505bを使用してSIMD型プロセッサ1506内部のPEとRAM1503との間で画像データを授受している。また、メモリスイッチ1504cは、R8〜R13に接続されたメモリコントローラ1505aまたはメモリコントローラ1505bを使用してSIMD型プロセッサ1506内部のPEとRAM1503との間で画像データを授受している。
そして、メモリスイッチ1504dは、R14〜R19に接続されたメモリコントローラ1505aを使用してSIMD型プロセッサ1506内部のPEとRAM1503との間で画像データを授受している。
画像データ制御部1203は、画像データとともに画像データを処理するための制御信号を、データ入出力用バス1501a〜1501eを介してバススイッチ1502a〜1502cに入力する。バススイッチ1502a〜1502cは、制御信号に基づいて接続されているバスのバス幅を切り替える。また、間接的に、あるいは直接接続されたメモリコントローラ1505bを制御し、画像データの処理に必要なデータをRAM1503から取り出すようにメモリスイッチ1504a〜1504cをスイッチングさせる。
SIMD型画像データ処理部1500は、誤差拡散処理を行なう場合、画像データ制御部1203(図21参照)を介して画像データを入力する。そして、注目画素が含まれる画素ライン(現画素ライン)よりも前に処理された画素ライン(前画素ライン)に含まれる画素の画素データと所定の閾値との差である誤差データと注目画素の画素データとを加算する。
SIMD型画像データ処理部1500では、SIMD型プロセッサ1506を用い、誤差データとの加算を複数の注目画素について並列的に実行する。このため、SIMD型プロセッサ1506に接続されているRAM1503のいずれかには、SIMD型プロセッサ1506で一括して処理される画素の数に対応する複数の誤差データが保存されている。本実施の形態では、SIMD型プロセッサ1506において1画素ライン分の加算処理を一括して行なうものとし、RAM1503に1画素ライン分の誤差データを保存するものとした。
SIMD型プロセッサ1506で一括して処理された1画素ライン分の画像データと誤差データとの加算値は、R20,R21,R23,R22の少なくとも2つから逐次型画像データ処理部1507に一つずつ出力される。また、以上の処理に使用される誤差データは、後述する逐次型画像データ処理部1507によって算出され、SIMD型プロセッサ1506に入力されるものである。
一方、逐次型画像データ処理部1507a,1507bは、コンピュータプログラムの制御によらず稼動するハードウェアである。なお、図19では、逐次型画像データ処理部1507をSIMD型プロセッサ1506に2個接続するものとしているが、本実施の形態の画像処理部では、このうちの1507bを逐次行なう誤差拡散処理専用に使用するものとし、もう一つの逐次型画像データ処理部1507は、γ変換などのテーブル変換用として用いるように機能特化している。
カラー複写装置1の画像処理部を構成する画像処理プロセッサ1204のハードウェア構成について説明する。図21は、本画像処理プロセッサ1204の内部構成を示すブロック図である。図21のブロック図において、画像処理プロセッサ1204は、外部とのデータ入出力に関し、複数個の入出力ポート1401を備え、それぞれデータの入力および出力を任意に設定することができる。
また、入出力ポート1401と接続するように内部にバススイッチ/ローカル・メモリ群1402を備え、使用するメモリ領域、データバスの経路をメモリ制御部1403において制御する。入力されたデータおよび出力のためのデータは、バススイッチ/ローカル・メモリ群1402をバッファー・メモリとして割り当て、それぞれに格納し、外部とのI/Fを制御される。
バススイッチ/ローカル・メモリ群1402に格納された画像データに対してプロセッサ・アレー部1404において各種処理を行ない、出力結果(処理された画像データ)を再度バススイッチ/ローカル・メモリ群1402に格納する。プロセッサ・アレー部1404における処理手順、処理のためのパラメータ等は、プログラムRAM1405およびデータRAM1406との間でやりとりが行なわれる。
プログラムRAM1405、データRAM1406の記録データは、シリアルI/F1408を通じて、プロセス・コントローラ211からホスト・バッファー1407にダウンロードされる。また、プロセス・コントローラ211がデータRAM1406の内容を読み出して、処理の経過を監視する。
処理の内容を変えたり、システムで要求される処理形態が変更になる場合は、プロセッサ・アレー部1404が参照するプログラムRAM1405およびデータRAM1406の内容を更新して対応する。以上述べた構成のうち、プロセッサ・アレー部1404が、前述のSIMD型画像データ処理部1500と逐次型画像データ処理部1507とに相当する。
図22は、逐次型画像データ処理部1507を説明するためのブロック図である。図示の逐次型画像データ処理部1507bは、誤差データ算出部1801と、誤差データ算出部1801が算出した誤差データから一つを選択するマルチプレクサ1807と、マルチプレクサ1807によって選択された誤差データを加工してSIMD型画像データ処理部1500から入力したデータに加算する誤差データ加算部1808とを備えている。
また、逐次型画像データ処理部1507bは、誤差データの選択に必要な信号をマルチプレクサ1807に入力するデコーダ1806と、逐次型画像データ処理部1507に対し、あらかじめ設定されている誤差拡散のモード(2値誤差拡散、3値誤差拡散、4値誤差拡散)のうちのいずれによって誤差拡散を実行するか、あるいは誤差拡散処理に使用される演算係数を設定できる誤差拡散処理ハードウェアレジスタ群1805を備えている。さらに、逐次型画像データ処理部1507bは、ブルーノイズ信号発生部1809を備え、誤差拡散処理にブルーノイズを使用するか否かをも誤差拡散処理ハードウェアレジスタ群1805の設定によって選択可能に構成されている。
誤差データ算出部1801は、現画素ラインに含まれる画素の画素データと所定の閾値との差である誤差データを算出する構成である。誤差データ算出手段1801は、3つの量子化基準値保存部1803a〜1803cと、3つのコンパレータ1804a〜1804cと、3つのマルチプレクサ1802a〜1802cのそれぞれに接続した閾値テーブル群1810a〜1810cを備えている。
閾値テーブル群1810a〜1810cは、一例としてそれぞれ6つの閾値テーブルTHxA〜THxF(x=0,1,2)が接続している。これは、誤差拡散処理ハードウェアレジスタ群1805の設定によって選択可能であり、本実施例における階調処理では、MagentaおよびCyanの画像データの階調処理に用いる画像処理プロセッサと、YellowおよびBlackの画像データを階調処理する画像処理プロセッサの2つの画像処理プロセッサを使用する。
以下は、例としてMagentaおよびCyanの画像データ処理用の画像処理プロセッサについて説明する。Magenta用にTHxA〜THxC(x=0,1,2)を、Cyan用にTHxD〜THxF(x=0,1,2)を使用する。Magenta用として用いるTHxA〜THxC(x=0,1,2)は、文字、写真、中間などの画像の特徴量による抽出結果に応じて、それぞれどの閾値テーブルが選択されるように選択可能としておくことができる。文字部分では主走査もしくは副走査の位置によらない固定閾値を設定した単純な誤差拡散、写真部分では線数が低いディザ閾値を設定した誤差拡散、中間部分では写真部より高線数の閾値を設定した誤差拡散を行うことができ、より好ましい画像を形成することができる。TH0A〜TH2Aは、同じ特徴量に判定された画素に対する閾値である。Cyan用についても同様である。また、YellowおよびBlackの画像データを処理するプロセッサについては、上の説明のMagentaをYellowに、CyanをBlackに読み替えたものと同様である。
本実施の形態では、量子化基準値保存部1803a、コンパレータ1804a、閾値テーブル群1810aが接続したマルチプレクサ1802aが1組となって動作する。また、量子化基準値保存部1803b、コンパレータ1804b、閾値テーブル群1810bが接続したマルチプレクサ1802bが1組となって動作し、量子化基準値保存部1803c、コンパレータ1804c、閾値テーブル群1810cに接続したマルチプレクサ1802cが1組となって動作する。
逐次型画像データ処理部1507は、画像データと誤差データとの加算値(加算値データ)をSIMD型プロセッサ1506から入力する。この画像データは、今回処理される注目画素の画像データであり、誤差データは、注目画素以前に処理された画素の誤差データである。
入力した加算値データは、以前に処理された画素の誤差データに基づいて誤差データ加算部1808が算出した値を加算され、演算誤差低減のために16または32で除算される。さらに、除算された加算値データは、誤差データ算出部1801の3つのコンパレータ1804a〜1804cのすべてに入力する。なお、誤差データ加算部1808が以前に処理された画素の誤差データに基づいて算出した値については、後述する。
コンパレータ1804a〜1804cは、それぞれ接続された閾値テーブル群に接続したマルチプレクサ1802a〜1802cから閾値を入力する。そして、入力した加算値データから閾値を差し引き、画像データを作成する。また、加算値データからそれぞれの量子化基準値保存部1803a〜1803cに保存されている量子化基準値を差し引いた値を誤差データとしてマルチプレクサ1807に出力する。この結果、マルチプレクサ1807には、合計3つの誤差データが同時に入力することになる。なお、誤差拡散処理にブルーノイズを使用する場合には、ブルーノイズ信号発生部709がブルーノイズデータを比較的高周期でオン、オフしてブルーノイズを発生する。閾値は、コンパレータ1804a〜1804cに入力する以前にブルーノイズから差し引かれる。ブルーノイズを用いた処理により、閾値に適当なばらつきを持たせて画像に独特のテクスチャーが発生することを防ぐことができる。
閾値テーブル1802a〜1802cには、それぞれ異なる値の閾値が保存されている。本実施の形態では、閾値テーブル1802a〜1802cのうち、閾値テーブル1802aが最も大きい閾値を保存し、次いで閾値テーブル1802b、閾値テーブル1802cの順序で保存される閾値が小さくなるものとした。また、量子化標準値保存部1804a〜1804cは、接続された閾値テーブル1802a〜1802cに応じて保存する量子化基準値が設定されている。たとえば、画像データが0〜255の256値で表される場合、量子化基準値保存部1803aには255が、また、量子化基準値保存部1803bには170が、量子化基準値保存部1803cには85が保存される。
コンパレータ1804a〜1804cは、作成した画像データをデコーダ1806に出力する。デコーダ1806は、このうちから注目画素の画像データを選択してマルチプレクサ1807に入力する。マルチプレクサ1807は、入力した画像データに応じて3つの誤差データのうちのいずれかを注目画素の誤差データとして選択する。選択された誤差データは、SIMD型プロセッサ1506のPEを介してRAM1503のいずれかに入力する。
さらに、デコーダ1806が出力した画像データは、マルチプレクサ1807に入力する以前に分岐され、SIMD型プロセッサ1506のPEのいずれかに入力する。本実施の形態では、画像データを上位ビット、下位ビットの2ビットで表されるデータとした。このため、この処理では、コンパレータ1804aは使用されていない。なお、本実施の形態では、以降、注目画素の画像データを画素データと称する。
選択された誤差データは、誤差データ加算部1808に入力する。誤差データ加算部1808は、図20に丸付き数字の1,2,3を付して示した画素、つまり注目画素に対して3つ前に処理された画素の誤差データ(図22中に誤差データ3と記す)、2つ前に処理された画素の誤差データ(図22中に誤差データ2と記す)、一つ前に処理された画素の誤差データ(図22中に誤差データ1と記す)を保存している。
誤差データ加算部1808は、誤差データ3に演算係数である0または1を乗じる。また、誤差データ2に演算係数である1または2を乗じ、誤差データ1に演算係数である2または4を乗じる。そして、3つの乗算値を足し合わせ、この値(重み付け誤差データ)をSIMD型プロセッサ1506から次に入力した加算値データと足し合わせる。この結果、注目画素に近い位置にある画素ほど注目画素の誤差拡散処理に大きい影響を及ぼすことになり、画素の誤差を適切に拡散し、元画像のイメージに近い画像を形成することができる。
以上述べた逐次型画像データ処理部1507における画像データの作成は、一般的にIIR型フィルタシステムと呼ばれる構成を用いて行なわれている。IIR型フィルタシステムで用いられる演算式は、図23に示すように、
ODn=(1−K)×ODn-1+K・IDn …… (1)
(但し、ODn:演算後の画素濃度、ODn-1:一つ前の画素データを用いての演算結果、IDn:現画素データ、K:重み係数)
と表すことができる。
式(1)および図23から明らかなように、演算後の濃度ODnは、一つ前の画素データを用いての演算結果ODn-1と現画素データIDnの値から求められる。一般的にIIR型フィルタシステムは、現画素より以前に処理された画素を用いた演算結果を使用して現画素についての演算を行なう、いわゆる逐次変換を行なうための専用の回路である。本実施の形態にかかる画像処理装置の逐次型画像データ処理部1507は、図24に図示するような処理によらず、図23に示したような逐次変換の全般に使用することができる。
以上のように、逐次処理を実行する手段を有するSIMD処理を行う画像処理プロセッサ1204を用いることにより、画像の特徴量の抽出と、この抽出結果に基づいて量子化閾値を選択し誤差拡散処理を行う画像処理装置を作成することができ、装置の製造コストを提言することができる。
再び、図5において、プリンタ部100は、上述のように、I/F・セレクタ721によりIPU612と接続されており、I/F・セレクタ721は、スキャナ部300で読み取った画像データを外部の画像処理装置等で処理するために、出力したり、外部のホストコンピュータ740あるいは画像処理装置からの画像データをプリンタ部100で出力するための切換機能を有する。なお、外部ホストコンピュータ740からの画像データは、プリンタコントローラ741を介してI/F・セレクタ721に入力される。
画像形成用プリンタγ(プロセス・コントロールγ)γ補正回路723は、I/F・セレクタ721からの画像信号を階調変換テーブル(画像信号変換テーブル)を用いて変換し、プリンタエンジン724のレーザ変調回路に出力する。
カラー複写装置1は、上述のように、ホストコンピュータ740からの画像信号がプリンタコントローラ741を通してI/F・セレクタ721に入力され、画像形成用プリンタγ補正回路723により階調変換されて、プリンタエンジン724により画像形成が行われることで、プリンタとして利用することができる。
そして、カラー複写装置1は、CPU715がROM716内のプログラムに基づいてRAM717をワークメモリとして利用しつつ、IPU612の各部を制御することで、上記画像処理を実行し、CPU715がシリアルI/Fを通じて、システムコントローラ600と接続されていて、操作部500等からの画質モード、濃度情報及び領域情報等のコマンドがシステムコントローラ600を通じて送信されると、当該画質モード、濃度情報及び領域情報等に基づいてIPU612に各種パラメータを設定して、画像処理を行わせる。
そして、IPU612のパターン生成部710及びプリンタ部100のパターン生成部722は、それぞれIPU612及びプリンタ部100で使用する階調パターンを発生させる。
また、エリア処理部702は、上述のように、現在処理を行っている画像データが原稿G内のどの領域に属するかを区別するための領域信号を発生し、この領域信号により、後段の画像処理で用いるパラメータが切り換えられるが、このエリア処理部702のエリア処理の概念は、図25のように示すことができる。すなわち、図25において、文字領域(領域0)、印画紙領域(領域1)、インクジェット領域(領域2)等の複数の領域を有する原稿Gをスキャナ部300で読み取った画像データに対して、エリア処理部702は、当該原稿G上の指定されたエリア情報(領域情報)と画像読取時の読取位置情報とを比較し、エリア信号を発生する。IPU612は、図25に画像処理用プリンタγ変換回路713、階調処理回路714について示すように、このエリア処理部702からのエリア信号に基づいて、スキャナγ変換部703、MTFフィルタ707、色変換UCR処理回路709、画像加工回路712、画像処理用プリンタγ変換回路713、階調処理回路714で使用するパラメータを変更する。
例えば、画像処理用プリンタγ変換回路713は、エリア処理部702からのエリア信号をデコーダでデコードし、セレクタにより、文字(テーブル1)、インクジェット(テーブル2)、印画紙(テーブル3)、印刷(テーブル4)等の複数の階調変換テーブルの中から選択する。図25の原稿Gでは、文字の領域0と、印画紙の領域1と、インクジェットの領域2が存在する例を図示しており、画像処理用プリンタγ変換回路713は、文字の領域0に対しては、文字用の階調変換テーブル1、印画紙の領域1に対しては、印画紙用の階調変換テーブル3、インクジェットの領域2に対しては、インクジェット用の階調変換テーブル2を選択する。
階調処理回路714は、画像処理用プリンタγ変換回路713で階調変換された画像信号に対して、再びエリア信号をデコーダによってデコードした信号に基づいて、セレクタ2により、ディザを使用しない処理、ディザを行った処理、誤差拡散処理等の階調処理のうち、使用する階調処理を切り換える。なお、階調処理回路714は、インクジェット原稿Gや原稿Gのインクジェット領域に対しては、誤差拡散処理を行う。
階調処理回路714は、階調処理後の画像信号を、デコーダにより、読取位置情報に基づいてライン1であるか、または、ライン2であるかを選択するが、このライン1及びライン2の選択は、副走査方向に1画素異なる毎に切り換えられる。階調処理回路714は、ライン1のデータについては、セレクタの下流に位置するFIFO(First In First Out)メモリに一時的に蓄え、ライン1とライン2のデータを出力することで、画素周波数を1/2に下げてI/F・セレクタ721に出力する。
そして、カラー複写装置1は、そのプリンタ部100の上記レーザ光学系106に、図26に示すようなレーザ変調回路120を備えており、ルックアップテーブル(LUT)121、パルス幅変調回路(PWM)122及びパワー変調回路(PM)123等を備えている。このレーザ変調回路120での書込周波数は、18.6[MHz]であり、1画素の走査時間は、53.8[nsec]である。
ルックアップテーブル(LUT)121には、8ビットの画像データが入力され、ルックアップテーブル(LUT)は、入力される画像データをγ変換してパルス幅変調回路(PWM)122に出力する。パルス幅変調回路(PWM)122は、ルックアップテーブル(LUT)121から入力される8ビットの画像信号の上位3ビットの信号に基づいて、8値のパルス幅に変換してパワー変調回路(PM)123に出力し、パワー変調回路(PM)123は、下位5ビットで32値のパワー変調を行う。パワー変調回路(PM)123には、レーザダイオード(LD)124とフォトディテクタ(PD)125が接続されており、パワー変調回路(PM)123は、レーザダイオード(LD)124を変調した信号に基づいて発光させるとともに、フォトディテクタ(PD)125からのモニター信号に基づいてレーザダイオード(LD)124の発光強度をモニターして、1ドット毎に補正を行う。このレーザダイオード(LD)124の出射するレーザ光の強度の最大値は、画像信号とは独立に、8ビット(256段階)に可変できる。
また、レーザダイオード(LD)124の出射するレーザ光の1画素の大きさに対する主走査方向のビーム径(静止時のビームの強度が最大値に対し、1/e2に減衰するときの幅として定義される)は、600DPI、1画素42.3[μm]では、主走査方向50[μm]、副走査方向60[μm]が使用される。
このレーザ変調回路120は、図25で説明したライン1、ライン2の画像データのそれぞれに対応して、用意されており、ライン1及びライン2の画像データは、同期していて、感光体ドラム104K〜104C上を主走査方向に並行して走査する。
次に、スキャナ部300は、図27に示すように、回路ブロック構成されており、上記CCD312、増幅回路321、S/H(サンプルホールド)回路322、A/D変換回路323、黒補正回路324、CCDドライバ325、パルスジェネレータ326及びクロックジェネレータ327等を備えている。
スキャナ部300は、原稿Gを図2に示したハロゲンランプ302により照射して、原稿Gからの反射光を、CCD312のRGBフィルタにより色分解して原稿Gの画像をCCD312で読み取り、CCD312からアナログの画像信号を増幅回路321に出力する。CCDドライバ325は、CCD312を駆動するためのパルス信号を供給し、CCDドライバ325を駆動するために必要なパルス源は、パルスジェネレータ326で生成される。パルスジェネレータ326は、水晶発振子等からなるクロックジェネレータ327の発振するクロック信号を基準信号として、パルス信号を生成するとともに、S/H回路322がCCD312からの画像信号をサンプルホールドするために必要なタイミング信号をS/H回路322に供給する。
増幅回路321は、CCD312からのアナログの画像信号を所定レベルに増幅して、S/H回路322に出力し、S/H回路322は、増幅回路321からの画像信号をサンプルホールドしてA/D変換回路323に出力する。A/D変換回路323は、S/H回路322のサンプルホールドしたアナログの画像信号を、例えば、8ビット信号にデジタル化して、黒補正回路324に出力し、黒補正回路324は、A/D変換回路323でデジタル変換された画像データに対して、CCD312のチップ間、画素間の黒レベル(光量が少ない場合の電気信号)のばらつきを低減して、画像の黒部にスジやムラが生じることを防止してIPU612のシェーディング補正回路701に出力する。
シェーディング補正回路701は、上述のように、白レベル(光量が多い場合の電気信号)を補正し、図28に示すように、白レベルを、スキャナ部300を均一な白基準板の位置に移動して照射した時の白色データに基づいて、照射系、光学系やCCD312の感度ばらつきを補正することで補正する。
シェーディング補正回路701からの画像信号は、上記IPU612のエリア処理部702から階調処理回路714までの画像処理部で処理され、プリンタ部100で記録出力される。上記各回路は、CPU715がROM716及びRAM717内のプログラム及びデータに基づいて制御する。
そして、上記増幅回路321の増幅量は、ある特定の原稿濃度に対して、A/D変換回路323の出力値が所望の値になるように決定され、例えば、通常のコピー時に原稿濃度が、0.05(反射率で、0.891)のものを8ビット信号値で240値として得られるようにし、シェーディング補正時には、増幅率を下げてシェーディング補正の感度を上げる。その理由は、通常のコピー時の増幅率では、反射光が多い場合には、8ビット信号で255値を超える大きさの画像信号となると、255値に飽和してしまい、シェーディング補正に誤差が生じるためである。すなわち、図29は、増幅回路321で増幅された画像の読取信号がS/H回路322でサンプルホールドされる模式図であり、横軸は、増幅後のアナログ画像信号がS/H回路322を通過する時間、縦軸は、増幅後のアナログ信号の大きさを表している。図29に示す所定のサンプルホールド時間でアナログ信号がサンプルホールドされて、A/D変換回路323に信号が送られる。図29は、白レベルを読み取った画像信号で、増幅後の画像信号は、コピー時は、例えば、A/D変換後の値として240値、白補正時は、180値とした増幅後の画像信号の例を示している。
次に、本発明の特徴である階調処理部714における階調補正に用いる特徴量抽出閾値および量子化閾値を選択するための処理(特徴量抽出閾値選択手段、量子化閾値選択手段)について説明する。
このように特徴量抽出閾値および量子化閾値を選択するようにしたのは、階調処理パラメータ(誤差拡散処理の量子化閾値および特徴量抽出閾値)により画像データに対して階調処理を行った場合、階調処理パラメータにより、モアレが発生したり、粒状性、粒状感・ざらつき感などが変わったり、低コントラスト文字(特に薄い文字)や細線の再現性が異なったりする場合があるためである。
図3に示した操作部500の液晶画面511で所定の設定モードを操作者が選択すると、カラー複写装置1は、図30に示すような操作画面を液晶画面511に表示させる。
操作画面の画質調整タブの階調処理の項目に、<文字画質>、<写真画質>、<文字と写真の中間部の画質>、<文字と写真の切り替えレベル>が表示され、それぞれ5段階ずつ選択可能である。
<文字画質>については、<くっきり>〜<普通>〜<滑らか>の5段階が選択可能であり、一例として、下記に示す表3のような量子化閾値を割り当て、量子化閾値発生部1140において選択可能とする。
なお、図31には、<文字画質>用の文字閾値のうち、<くっきり>、<普通>、<滑らか>で設定される量子化閾値の一例を図示した。図31の横軸は、閾値への入力値で、縦軸は4ビット出力(16値出力)のうち、何値で出力されるかを示したグラフである。線分の片方が“○”で、他方が“●”であるが、横軸が同じ値である場合に、“○”は出力されず、“●”の示す値が出力されることを表す。
一方、<写真画質>については、<超高精細>〜<高精細>〜<普通>〜<やや高階調>〜<高階調>の5段階が選択可能であり、一例として、下記に示す表4のような量子化閾値を割り当て、量子化閾値発生部1140において選択可能とする。
また、量子化閾値発生部1140は、振幅A1で周期的に振動する第1の量子化閾値と、画素の位置xによらず固定(振幅A2=0)の第2の量子化閾値と、第1の量子化閾値の振幅A1と、前記第2の量子化閾値の振幅A2に対して、
A1(x)≧A3(x)≧A2(x)
ただし、A1≠A2
を満たす振幅A3を有する第3の量子化閾値と、を選択可能である。ここで、写真用には、周期的に振動する第1の量子化閾値を使用し、処理後の画像データはディザのような周期的な網点状、もしくは線状の画像が形成され、階調性に優れている。一方、文字用には、固定であるか、もしくは写真用に対して線数が高い第2の閾値を用いることにより、文字や細線の先鋭性に優れた階調処理を行う。そして、写真用の第1の量子化閾値と、文字用の第2の量子化閾値との移行がスムーズになるように、線数もしくは量子化閾値の振幅が、第1と第2の間の特性になるように、第3の量子化閾値を使用する。したがって、<文字と写真の中間部の画質>は、操作部の選択レベル(<文字寄り>〜<普通>〜<写真寄り>)と、<写真画質>のレベルとから、一例として、下記に示す表5のような線数および閾値の振幅A3を選択できる。また、固定閾値の誤差拡散処理(以下、EDと称す)の閾値の振幅A3(ii)(ii=1,2,3,4,5)は、A3=0である。ii=1,2,3,4,5は、それぞれ、<文字寄り>、<やや文字寄り>、<普通>、<やや写真寄り>、<写真寄り>に対応する。
これにより、写真用の第1の量子化閾値と、文字部用の第2の量子化閾値との切り替わり部分で発生するドット影(図32参照)や、細線割れ(図33参照)などを低減することができる。
また、上述した<中間閾値>の線数(第3の量子化閾値の選択値)に応じて、特徴量抽出閾値のデフォルト値を変更することもできる。これは以下の理由による。
第3の量子化閾値は、写真用の第1の量子化閾値に対して線数は変更せずに、振幅を小さくした第1の場合がある。この場合には、第3の量子化閾値は、主に写真に対して使用し、文字画像に対しては出来るだけ使用しないように特徴量抽出閾値を設定する。一方、第3の量子化閾値として、振幅を写真用よりも小さくするか、もしくは線数を大きくした第2の場合がある。この場合には、第3の量子化閾値を写真に対して使用せずに、文字画像に対して使用するように特徴量抽出閾値を設定する。しかしながら、特徴量抽出閾値が固定であると、低コントラスト文字(濃度が低い文字)や濃度が低い細線を写真用の処理をされたりして、文字がぼけて見えたり、太って見えたりする場合がある。
そこで、第3の量子化閾値が上記の第1の場合の設定値が選択された場合には、写真画像に適応され、文字画像に適応されないような特徴量抽出閾値をデフォルトとする。一方、第3の量子化閾値が第2の場合の設定値が選択された場合には、反対に、写真画像には適応されず、文字画像に適応されるような特徴量抽出閾値がデフォルトとなるように変更する。これにより、第3の量子化値を変更したことにより、低コントラスト文字(濃度が薄い文字)が、文字がぼけて見えたり、太って見えたりすることを低減することができる。
下記に示す表6は、<文字と写真の切り替えレベル>の選択レバルと中間閾値のための特徴量抽出閾値の関係を示すものである。
ここで、表6に示す特徴量抽出閾値の項目について説明する。文字と取りやすくする設定値〜写真と取り易くする設定値の順を、
文字3 (最も文字と取りやい設定)
文字2 (2番目に文字と取りやすい設定)
文字1 (中間閾値を文字画像に適用する設定)
写真1 (中間閾値を写真画像に適用する設定)
写真2 (2番目に写真と取りやすい設定)
写真3 (最も写真と取りやすい設定)
とする。
ここで、画像特徴抽出部1130における特徴量抽出の機能を説明する。図34は、(a)〜(e)のグラフからなり、横軸は一次元の画素の位置を表し、縦軸はそれぞれのユニットの出力値の相対値を表す。
図34の(a)は、画像特徴抽出部1130への入力画像データであって、ハッチングは高濃度領域を表す。
図34の(b)において、実線は一次微分フィルタの出力結果で、破線は一次微分フィルタの出力結果のうち、負の値の部分を絶対値化した結果を示す。
図34の(c)は、一次微分結果の最大値の選択結果で量子化する閾値との関係を図示した。ハッチングは一次微分判定閾値1が真となる領域であって、かつ高濃度判定閾値が真となる領域を図示した。なお、図34の(b)の結果はすでに最大値を得るフィルタの処理結果としたので、図34の(c)の絶対値を取った結果のグラフの形状と変わらない。
図34の(d)は、二次微分フィルタによる二次微分算出結果の最大値を選択した結果を表す。ハッチングは、二次微分判定閾値による判定が真となる領域を表している。
図34の(e)は、入力画像データで、ハッチングは一次微分判定閾値、高濃度判定領域+二次微分判定閾値による判定領域を表す。
図34に示すように、高濃度閾値、一次微分特徴量抽出閾値1,一次微分特徴量抽出閾値2,二次微分特徴量抽出閾値1,二次微分特徴量抽出閾値2の値によって、文字領域として判定される領域(図のハッチング部分)を調整することができる。例えば、図35に示すように、いずれの閾値も低く設定することにより、文字として判定される領域が拡大する。なお、図35の横軸は、操作部の選択レベルに対応し、縦軸は、設定される値である。中間閾値が使用される領域は、(一次微分判定閾値1&高濃度判定領域+二次微分判定閾値1)による判定領域から、(一次微分判定閾値2&高濃度判定領域+二次微分判定閾値2)による判定領域を除いた領域とする。
図36は、画像特徴抽出部1130における特徴量抽出閾値の基本的な設定処理の流れを示すフローチャートである。図36に示すように、まず、中間閾値が写真用であるかを、ユーザの設定値に基づいて表5を使用して中間閾値の線数、振幅、写真用であるか文字用であるかを判定する(ステップS1)。
そして、続くステップS2において、操作部500により設定された特徴量抽出閾値の選択レベルに応じて、表6に基づいて、特徴量抽出閾値(高濃度抽出閾値,一次微分特徴量抽出閾値1,一次微分特徴量抽出閾値2,二次微分特徴量抽出閾値1,二次微分特徴量抽出閾値2)を決定する。
ところで、フルカラー画像に対して、ピンク、ライトグリーン、ベージュなどのように単色で濃度が薄い色のようなシングルカラーは、最高濃度の出力値が低い(黒を255値、白を0値として、128値など)ことから画像特徴抽出部1130への入力値が低いので、文字と判定されるべき領域であっても、特徴量抽出結果が低く文字と判定されずに写真処理される場合がある。それを防ぐために、本実施の形態においては、最高濃度が低い色味(ピンクやライトグリーンなど)により全面画像が形成されている場合には、それに応じて、特徴量抽出閾値を低くする。具体的には、特徴量抽出閾値を文字処理をされるように適宜低く変更することにより、写真処理されることを防ぎ、文字や細線の再現性を向上させる。
ここで、図37は画像特徴抽出部1130における特徴量抽出閾値の設定処理の流れを示すフローチャートである。図37に示すように、まず、フルカラーであるかを判定し(ステップS11)、フルカラーである場合には(ステップS11のYes)、フルカラー用の特徴量抽出閾値(高濃度抽出閾値,一次微分特徴量抽出閾値1,一次微分特徴量抽出閾値2,二次微分特徴量抽出閾値1,二次微分特徴量抽出閾値2)を設定する(ステップS12)。
一方、シングルカラーである場合には(ステップS11のNo)、シングルカラー用の特徴量抽出閾値(高濃度抽出閾値、一次微分特徴量抽出閾値1,一次微分特徴量抽出閾値2,二次微分特徴量抽出閾値1,二次微分特徴量抽出閾値2)を設定する(ステップS13)。
次に、登録色やパステルなどの特徴量抽出閾値の設定処理について説明する。登録色やパステルなどのユーザが最大濃度を設定可能な機能を有する場合には、取り得る濃度の最大値(画像特徴抽出部1130への画像データの入力値のうちに取り得る最大値)から、上記取り得る濃度最大値(画像特徴抽出部1130への画像データの入力値のうちに取り得る最大値)と、特徴量抽出閾値との関係(グラフやテーブルなど)を予め求めておき、ユーザが設定したとりうる最大濃度値に基づいて特徴量抽出閾値を決定する。たとえば、最高濃度の出力値は、通常、最大値である黒は255値であり、白は0値であるが、パステル設定により、取り得る最高濃度を通常に出力可能な濃度に対して50%とした場合には、128値が最大値となる。
図38は画像特徴抽出部1130における特徴量抽出閾値の設定処理の流れを示すフローチャートである。図38に示すように、まず、取り得る最高濃度(書込み値)を計算し(ステップS21)、取り得る最高濃度から特徴量抽出閾値を算出して設定する(ステップS22)。
上述のようなステップS21〜S22の処理は、YMCKの全ての成分について計算されるまで(ステップS23のYes)、繰り返される。
例えば、登録色として薄い緑を設定した場合は、YMCKのそれぞれの成分は、
(Y,M,C,K) = (30%,0%,40%,0%)
などとする。この場合、取り入る最大の値は最大値255値にして、YMCKそれぞれに対して、
(Y,M,C,K) = (77値,0値,102値,0値)
などとなる。
これにより、登録色やパステルなどの、ユーザが最大濃度を設定可能な色味を使用しても、低コントラスト文字や細線の再現を向上することができる。
図39は、特徴量抽出閾値を決定するためのグラフである。上記の値を、図39の横軸の値として、特徴量抽出閾値(高濃度抽出閾値,一次微分特徴量抽出閾値1,一次微分特徴量抽出閾値2,二次微分特徴量抽出閾値1,二次微分特徴量抽出閾値2)のグラフとの交点を求め、出力値とする。
スキャナ部300によって原稿画像を読み取る場合などは、通常、図40に細線の矢線で示すように主走査は左から右へ、副走査は上から下へ行われ、画像データは読み取られた順に入力されるため、量子化処理部1120の量子化処理の方向つまり量子化誤差の伝搬方向は、図40に太線の矢印で示すように左上から右下へ向かう方向である。この場合、画像平坦部において、4画素×4画素のディザ閾値周期内で図41に示すような量子化閾値が生成されるため、濃度レベルが低レベルから上昇するにつれて、図15に示すような順番で出力ドットが発生する。つまり、主走査方向を左から右へとラインが太くなるように出力ドットが成長する。画像の低画像濃度部、中画像濃度部、高画像濃度部における出力ドットの発生の様子を図42、図43、図44にそれぞれ示す。図42〜図44に見られるように、低〜中濃度にかけて、スクリーン角に沿ってライン状に成長する。したがって、低・中濃度の画像平坦部の粒状性が良好で滑らかな画像を形成できる。また、低濃度部では図42に示すように、出力ドットは最初主走査方向に2画素並んだ方向に成長し、続いて、スクリーン角に沿ってライン状に成長する。つまり、低濃度部では、主走査方向へ優先的に2画素並んで成長する横基調のドット成長となる。このような横基調のドット成長とすると、特に電子写真方式のプリンタを画像形成に利用する場合に、1値で副走査方向に2画素並べた場合に比べて、トナー像の再現性が向上し、画像のざらつきが低減し、安定性の優れた高品位な画像を形成できる。
本実施の形態のカラー複写装置1においては、エッジ度合の大きい領域と小さい領域の境界部分ではエッジ度合が大きくなるに従って線数を上げるように、量子化パラメータを変更し、ディザ主体の処理から誤差拡散主体の処理へ、あるいは、その逆向きに量子化処理の特性が滑らかに切り替えられる。したがって、両画像領域の境界部分が違和感なく整合した画像を形成することができる。
エッジ度1(写真寄り)〜3(文字寄り)の量子化閾値パラメータの例をそれぞれ図45〜図47に示した。
図45および図46に一例として示したエッジ度1および2の量子化閾値パラメータは、線数として268Lpi(Line Pair per Inch)であり、図47に示したエッジ度3の量子化閾値パラメータは、低画像濃度領域に置いては300Lpiの線数であり、中〜高画像濃度領域に置いては誤差拡散処理となる。
図48に、異なるスクリーン角の方向にそってライン状にドットを形成するための量子化閾値の例を示した。この場合のスクリーン角を図49に示した。
なお、ADF400として図50に示すようなシートスルータイプを適用した場合には、原稿Gを移動させて読み取りを行うために、原稿Gがコロ410などの搬送部材に接触した衝撃でショックジターが発生し、原稿Gに横スジなどの異常画像(図51参照)が発生する場合がある。
このような場合には、シートスルータイプのADF400を用いて原稿Gを読み取る場合には、原稿Gをコンタクトガラス3に載置させて読み取る場合と比べて特徴量抽出閾値を変更する(例えば、特徴量抽出閾値を写真寄りに設定する)ことにより、ショックジターによる異常画像を低減し、画質との両立を図ることができる。
また、ADF400として図50に示すようなシートスルータイプを適用した場合におけるショックジターによる画像の異常画像(横スジ)の発生は、画像の拡大率・変倍率によって異なる。最もショックジターが発生しやすい画像の解像度もしくは変倍率に、特徴量抽出閾値を調整すると、それ以外の画像の解像度もしくは変倍率での画質が好ましくない。
そこで、特徴量抽出閾値の設定値は、画像の解像度もしくは変倍率に応じて変更するものであっても良い。より具体的には、シートスルータイプのADF400を用いて原稿Gを読み取る場合には、変倍率に応じて特徴量抽出閾値を変更し、原稿Gをコンタクトガラス3に載置させて読み取る場合には、変倍率に応じた特徴量抽出閾値の変更を行わない。これにより、原稿Gをコンタクトガラス3に載置させて読み取る場合における画質に影響を与えずに、シートスルータイプのADF400を用いて原稿Gを読み取る場合のショックジターによる異常画像(横スジ)を低減することができる。
また、シートスルータイプのADF400を用いて原稿Gを読み取る場合には、原稿Gをコンタクトガラス3に載置させて読み取る場合に比べて、拡大時の特徴量抽出閾値を高くし、文字部を取りにくくするようにしても良い。
このように本実施の形態によれば、画像データを誤差拡散法により量子化データに変換する量子化閾値を選択的に指定可能とすること、または、画像データから特徴量を抽出する特徴量抽出閾値を選択的に指定可能とすることにより、低コントラスト文字(濃度が薄い文字)や細線の再現性をユーザの好みに応じて調整したり、モアレの発生を低減したりすることにより、滑らかな画像を得ることができる多値誤差拡散を使用する画像処理装置を提供することができる。