(58)【調査した分野】(Int.Cl.,DB名)
前記変換部は、各ブロックの最小値が最大値以下となるように、(i)補正前の最大値が第1閾値以下の場合と、(ii)補正前の最大値が第1閾値を超えるが、補正前の最大値と補正前の最小値の差が第2閾値以下の場合と、(iii)補正前の最大値が第1閾値を超え、補正前の最大値と補正前の最小値の差が第2閾値を超える場合とで、それぞれ異なる変換式を決定することを特徴とする請求項1に記載の画像処理装置。
前記変換部は、前記(ii)補正前の最大値が第1閾値を超えるが、補正前の最大値と補正前の最小値の差が第2閾値以下の場合、下記式(2)で表す変換式に決定することを特徴とする請求項2又は3に記載の画像処理装置。
(2) Cout=Cin×(Max*/Max)
〔上記式(2)において、Cinは変換前の画素値、Coutは変換後の画素値を表す。Maxは補正前の最大値、Max*は補正後の最大値を表す。〕
前記変換部は、前記(iii)補正前の最大値が第1閾値を超え、補正前の最大値と補正前の最小値の差が第2閾値を超える場合、下記式(3)で表す変換式に決定することを特徴とする請求項2〜4のいずれか一項に記載の画像処理装置。
(3) Cout=(Cin−min)
×{(Max*−min*)/(Max−min)}+min*
〔上記式(3)において、Cinは変換前の画素値、Coutは変換後の画素値を表す。Maxは補正前の最大値、Max*は補正後の最大値を表す。minは補正前の最小値、min*は補正後の最小値を表す。〕
【発明を実施するための形態】
【0020】
以下、本発明の画像処理装置及び画像処理方法の実施の形態について、図面を参照して説明する。
【0021】
図1は、本発明の実施の形態の画像処理装置Gを搭載した、電子写真方式の画像形成装置10の構成を機能ごとに示している。
図1に示すように画像形成装置10は、制御部11、記憶部12、操作部13、表示部14、通信部15、画像生成部16、画像メモリー17、画像処理装置G、画像形成部18等を備えている。
【0022】
制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)等を備えて構成され、記憶部12から各種プログラムを読み出して実行することにより、各部を制御する。
例えば、制御部11は、画像生成部16により生成した画像データを圧縮処理して記憶部12に保存し、記憶部12から画像メモリー17へ画像データを転送する。制御部11は、画像メモリー17に転送した画像データを画像処理装置Gにより画像処理させて、画像処理後の画像データに基づいて、画像形成部18により用紙上に画像を形成させる。
【0023】
記憶部12は、制御部11により読み取り可能なプログラム、プログラムの実行時に用いられるファイル、圧縮した画像データ等を記憶している。記憶部12としては、ハードディスク等の大容量メモリーを用いることができる。
【0024】
操作部13は、ユーザーの操作に応じた操作信号を生成し、制御部11に出力する。操作部13としては、キーパッド、表示部14と一体に構成されたタッチパネル等を用いることができる。
【0025】
表示部14は、制御部11の指示にしたがって操作画面等を表示する。表示部14としては、LCD(Liquid Crystal Display)、OELD(Organic Electro Luminescence Display)等を用いることができる。
【0026】
通信部15は、ネットワーク上の外部装置、例えばユーザー端末、サーバー、他の画像形成装置等と通信する。
通信部15は、ネットワークを介してユーザー端末等から、画像を形成する指示内容がページ記述言語(PDL:Page Description Language)で記述されたデータ(以下、PDLデータという)を受信する。
【0027】
画像生成部16は、プリントコントローラーとも呼ばれ、通信部15により受信したPDLデータをラスタライズ処理し、ビットマップ形式の画像データを生成する。画像データは、各画素がC(シアン)、M(マジェンタ)、Y(イエロー)及びK(黒)の4色の画素値を有する。画素値は画像の濃淡を表すデータ値であり、例えば8ビット(bit)のデータ値は0〜255階調の濃淡を表す。以下、画素値の値域の最小値を0%、最大値を100%として、画素値を0〜100%で表すことがある。例えば、0〜255階調の場合、0階調の画素値を0%、128階調の画素値を50%、255階調の画素値を100%と表すことがある。
【0028】
画像生成部16は、画像データの各画素の属性を示す属性データを生成することができる。
例えば、画像生成部16は、ラスタライズ処理時に、PDLデータ中の文字コードの記述にしたがって描画した、かな、アルファベット、数字等の画像の各画素の属性を文字(Text)と決定することができる。また、画像生成部16は、DXF、SVG、WMF等のベクター形式の記述にしたがって描画した多角形、円、罫線等の画像の各画素の属性を図形(Graphics)と決定し、JPEG形式のファイルにより描画した写真画像等の画像の属性を写真(Image又はPicture)と決定することができる。
【0029】
画像メモリー17は、画像形成のタイミングに合わせて、制御部11により圧縮した画像データを一時的に保持するバッファーメモリーである。画像メモリー17としては、DRAM(Dynamic RAM)等を用いることができる。
【0030】
画像処理装置Gは、圧縮した画像データを画像メモリー17から読み出して、伸長処理、掃き寄せ補正処理、エッジ処理、中間調処理等の各種画像処理を施す。
【0031】
画像形成部18は、エンジンとも呼ばれ、画像処理装置Gにおいて画像処理した画像データの各画素のC、M、Y及びKの4色の画素値に応じて、4色からなる画像を用紙上に形成する。
図2は、電子写真方式の画像形成部18の構成の一例を示している。
画像形成部18は、
図2に示すように、4つの書込みユニット21、中間転写ベルト22、2次転写ローラー23、定着装置24、給紙トレイ25等を備えている。
【0032】
4つの書込みユニット21は、中間転写ベルト22のベルト面に沿って直列(タンデム)に配置され、C、M、Y及びKの各色の画像を形成する。各書込みユニット21は形成する画像の色が異なるだけで構成は同じであり、
図2に示すように、露光部2a、感光体2b、現像部2c、帯電部2d、クリーニング部2e及び1次転写ローラー2fを備えている。
【0033】
画像形成時、各書込みユニット21では、帯電部2dにより感光体2bを帯電させた後、画像データに基づいて露光部2aにより出射した光束で回転する感光体2b上を露光走査し、静電潜像を形成する。現像部2cは現像スリーブ2ccを備え、当該現像スリーブ2ccにより感光体2b上にトナーを供給して、感光体2b上の静電潜像を現像する。このようにして、4つの書込みユニット21の感光体2b上にそれぞれ形成した画像を、それぞれの1次転写ローラー2fにより、中間転写ベルト22上に順次重ねて転写(1次転写)する。これにより、中間転写ベルト22上には各色からなる画像が形成される。1次転写後、クリーニング部2eにより感光体2b上に残留するトナーを除去する。
【0034】
画像形成部18は、給紙トレイ25から用紙を給紙し、2次転写ローラー23により中間転写ベルト22から用紙上に画像を転写(2次転写)した後、用紙を定着装置24により加熱及び加圧して、定着処理を施す。用紙の両面に画像を形成する場合は、搬送経路26に用紙を搬送してその表裏を反転した後、再度2次転写ローラー23へ用紙を搬送する。
【0035】
上記画像形成装置10では、通信部15によりPDLデータを受信すると、画像生成部16においてPDLデータをラスタライズ処理し、画像データを生成する。この画像データを、制御部11がブロック単位で圧縮して記憶部12に保存し、画像形成のタイミングに合わせて記憶部12から画像メモリー17へと圧縮した画像データを転送する。
【0036】
画像データの圧縮(伸長)方法としては、画像データの各画素を分割したときの各ブロックの画素値の最大値及び最小値を用いる方法であれば、例えばBTC(Block Truncation Coding)圧縮、縮退圧縮、3Dc等を使用することができる。縮退圧縮は、解像度変換を組み合わせたBTC圧縮の1種であり、特許第4424404号公報、特許第5029560号公報等に記載の方法を使用することができる。
【0037】
以下、BTC圧縮により、解像度が600dpi、1画素の画素値が8ビットの画像データを4×4画素のブロック単位に分割して、解像度が600dpi、1画素の画素値が4ビットの画像データに圧縮する例を説明する。
図3は、圧縮前後の4×4画素のブロックを示している。
図3に示すように、圧縮前のブロックは、8ビットの画素値aij(a00〜a33)を有する16個の画素からなる。圧縮後のブロックは、圧縮前と解像度が変わらず、16個の画素からなるが、各画素の画素値は4ビットの画素値bij(b00〜b33)にそれぞれ変換されている。なお、iはブロック内における各画素の主走査方向xの位置を表し、jは副走査方向yの位置を表している。
【0038】
制御部11は、分割した各ブロックにおいて、画素値の最大値Max及び最小値minを決定し、決定した最小値minから最大値Maxまでの値域を8分割する7つの閾値TH1〜TH7を下記式に示すように算出する。
TH1=min+(Max−min)× 1/14
TH2=min+(Max−min)× 3/14
TH3=min+(Max−min)× 5/14
TH4=min+(Max−min)× 7/14
TH5=min+(Max−min)× 9/14
TH6=min+(Max−min)×11/14
TH7=min+(Max−min)×13/14
【0039】
制御部11は、算出した閾値TH1〜TH7により、ブロック内の各画素値aijを、下記式に示すように3ビットの画素値bijに変換する。
min≦aij<TH1のとき、bij=000
TH1≦aij<TH2のとき、bij=001
TH2≦aij<TH3のとき、bij=010
TH3≦aij<TH4のとき、bij=011
TH4≦aij<TH5のとき、bij=100
TH5≦aij<TH6のとき、bij=101
TH6≦aij<TH7のとき、bij=110
TH7≦aij≦Maxのとき、bij=111
【0040】
制御部11は、ブロック内の各画素の3ビットの画素値bijの最下位ビットとして、8ビットの最大値Max及び最小値minの各1ビットを付加し、得られた4ビットの画素値bijを、圧縮した画像データとして出力する。
図4は、圧縮後の4×4画素のブロックのデータ構成を示している。
図4に示すように、圧縮後のブロックの画像データを、0〜3の各ビット位の4×4画素のデータ層であるプレーンbij[0]〜[3]として表すと、上位のプレーンbij[1]〜[3]は、各画素の画素値aijを変換して得られた3ビットの画素値bijをそれぞれ保持している。また、最下位のプレーンbij[0]は、8ビットの最大値Max及び最小値minを1ビットずつ保持している。
図4において、Max[0]〜Max[7]及びmin[0]〜min[7]は、それぞれ8ビットの最大値Max及び最小値minのうちの各ビット位0〜7の1ビットを表している。
【0041】
以上、8ビットを4ビットに圧縮する4/8圧縮の例を示したが、圧縮率は任意に設定することができる。例えば、最小値minから最大値Maxまでを4等分する閾値TH1〜TH3を用いて、8ビットの画素値aijを2ビットの画素値bijに変換し、その最下位ビットに8ビットの最大値Max及び最小値minの各1ビットを加えることにより、8ビットを3ビットに圧縮する3/8圧縮が可能である。
【0042】
〔画像処理装置〕
画像処理装置Gでは、画像メモリー17から圧縮した画像データを入力し、圧縮した画像データから掃き寄せの補正値を算出する一方で、圧縮した画像データを伸長し、画像処理を施すことができる。また、画像処理装置Gでは、伸長され画像処理された画像データに対して、算出した掃き寄せの補正値を用いて掃き寄せの補正を施し、得られた画像データにさらに中間調処理等を施して、画像形成部18に出力する。
【0043】
図5は、画像処理装置Gのうち、並行して実施する掃き寄せの補正処理と画像処理の構成部分を機能ごとに示している。
図5に示すように、画像処理装置Gは、入力部101、伸長部102、画像処理部103及び掃き寄せ補正部104を備えている。
画像処理装置Gの各部の処理内容は、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の画像処理回路を用いてハードウェア処理により実現することができる。
【0044】
入力部101は、画像メモリー17から圧縮した画像データを複数のブロック単位で入力する。入力部101は、複数ライン分のラインメモリー等により構成することができる。ラインメモリーのライン数は、掃き寄せ補正や画像処理に必要なライン数に決定すればよい。例えば、掃き寄せ補正する範囲がエッジから4ブロックである場合は、16ラインの圧縮した画像データを保持できるラインメモリーを備えればよい。
【0045】
伸長部102は、入力部101により入力した、圧縮した画像データの各ブロックの最大値Max及び最小値minを用いて、圧縮した画像データを伸長する。
上述したBTC圧縮の場合、伸長部102は、プレーンbij[0]に保持されているMax[0]〜Max[7]及びmin[0]〜min[7]を抽出し、8ビットの最大値Max及び最小値minを得る。
【0046】
伸長部102は、得られた8ビットの最大値Max及び最小値minを用いて、プレーンbij[1]〜bij[3]に保持されている3ビットの画素値bijを、下記式に示すように8ビットの画素値a
*ijに変換し、伸長した画像データとして出力する。
bij=000の場合、a
*ij=min+(Max−min)× 0/14
bij=001の場合、a
*ij=min+(Max−min)× 2/14
bij=010の場合、a
*ij=min+(Max−min)× 4/14
bij=011の場合、a
*ij=min+(Max−min)× 6/14
bij=100の場合、a
*ij=min+(Max−min)× 8/14
bij=101の場合、a
*ij=min+(Max−min)×10/14
bij=110の場合、a
*ij=min+(Max−min)×12/14
bij=111の場合、a
*ij=min+(Max−min)×14/14
【0047】
画像処理部103は、伸長部102により伸長した画像データに、必要に応じて各種画像処理を施す。施すことができる画像処理としては、例えばスムージング(アンチエイリアス)処理、文字等のオブジェクトの輪郭を強調する輪郭強調処理、線幅を細くする細線化処理等のエッジ処理が挙げられる。
【0048】
掃き寄せ補正部104は、トナーの掃き寄せにより生じる濃度変動を解消するための掃き寄せ補正を実施する。
掃き寄せ補正部104は、
図5に示すように、抽出部31、エッジ検出部32、補正値算出部33及び変換部34を備えている。
【0049】
〔抽出〕
抽出部31は、入力部101により入力した、圧縮した画像データの各ブロックから最大値Max及び最小値minを抽出する。上述した4/8圧縮の場合、抽出部31は、最下位ビットのプレーンbij[0]からMax[7]〜Max[0]及びmin[7]〜min[0]を抽出して、8ビットの最大値Max及び最小値minを得る。
【0050】
〔エッジ検出〕
エッジ検出部32は、抽出部31により抽出した各ブロックの最大値Max及び最小値minの少なくとも1つを用いて、オブジェクトのエッジを検出する。オブジェクトとは、文字や図形等のトナーにより形成する画像をいう。
トナーの掃き寄せが生じると、画像形成部18においてトナーにより感光体2b上に形成する画像のシフト方向(感光体2bの回転方向つまり副走査方向yであり、画像を形成した用紙の搬送方向と同じ方向)におけるオブジェクトの先端側又は後端側に濃度変動が生じる。よって、トナーの掃き寄せによる濃度変動を解消するためのエッジ補正を行う場合、エッジ検出部32は、画像のシフト方向におけるオブジェクトの先端又は後端のエッジを検出する。
【0051】
具体的には、エッジ検出部32は、各ブロックの最大値Maxを、画像のシフト方向において各ブロックからdブロック先又は後のブロックの最大値Maxと比較する。
図6は、画像データの各ブロックBIJを示している。
図6において、Iは各ブロックの主走査方向xの位置を表し、Jは副走査方向yの位置を表している。
例えば、
図6に示すように、ブロックB12を注目ブロックとする場合、エッジ検出部32は、当該注目ブロックB12の最大値Maxを、画像のシフト方向Dyにおいて2ブロック先に位置するブロックB10の最大値Max又は2ブロック後に位置するブロックB14の最大値Maxと比較する。
【0052】
エッジ検出部32は、比較した注目ブロックとdブロック先のブロックの最大値Maxが下記式(11)を満たす場合、オブジェクトの先端のエッジを検出する。また、比較した注目ブロックとdブロック後のブロックの最大値Maxが下記式(12)を満たす場合、エッジ検出部32は、オブジェクトの後端のエッジを検出する。いずれの場合も、注目ブロックがオブジェクトの輪郭画素を含む。
(11) Max(I,J)−Max(I,J−d)>Th
(12) Max(I,J)−Max(I,J+d)>Th
〔上記式(11)及び(12)において、Max(I,J)は注目ブロックBIJの最大値Maxを表す。Max(I,J−d)は注目ブロックBIJよりdブロック先のブロックBI(J−d)の最大値Maxを表し、Max(I,J+d)は注目ブロックBIJよりdブロック後のブロックBI(J+d)の最大値Maxを表す。Thはエッジ検出用の閾値を表す。〕
【0053】
図7は、元の画像データと圧縮した画像データを示している。
図7に示すように、ブロックB11はオブジェクトの一部であり、各画素の元の画素値が255である。圧縮後のブロックB11の最大値Max及び最小値minはそれぞれ255である。ブロックB12はオブジェクトの後端のエッジを含み、元の画素値が255の画素と0の画素が混在している。圧縮後のブロックB12の最大値Maxは255、最小値minは0である。ブロックB13及びB14はオブジェクトの背景であり、各画素の元の画素値はすべて0であるため、圧縮後のブロックB13及びB14はいずれも最大値Max及び最小値minが0である。
【0054】
ブロックB12が注目ブロックである場合、ブロックB12とブロックB14の最大値Maxは上記式(12)を満たすため、エッジ検出部32は、ブロックB12において後端のエッジを検出する。
上記式(11)又は(12)を満たす場合であっても、前回のエッジ検出からのブロック数が一定値以下である場合は、エッジ検出部32はエッジ検出を無効にすることが好ましい。これにより、画素値の単調増加又は単調減少が続くときのエッジの誤検出を防ぐことができる。
【0055】
なお、最大値Max及び最小値minの少なくとも1つを用いてエッジを検出できるのであれば、他のエッジ検出方法を使用することもできる。
例えば、注目ブロックと注目ブロックに隣接するブロックの最大値Max及び最小値minを比較して、注目ブロックの最大値Max≧隣接するブロックの最大値Maxを満たし、かつ注目ブロックの最小値min−隣接するブロックの最小値min>Thを満たすとき、エッジを検出してもよい。
【0056】
〔補正値算出〕
補正値算出部33は、エッジ検出部32により検出したエッジから補正範囲内にある各ブロックの最大値Maxか、又は最大値Maxと最小値minを、当該エッジからの距離に応じて増減することにより、補正後の最大値Max
*及び最小値min
*を算出する。補正値算出部33は、補正前の最大値Max及び最小値minと、補正後の最大値Max
*及び最小値min
*とを変換部34へ出力する。
【0057】
トナーの掃き寄せが生じる場合、オブジェクトの先端及び後端において濃度変動が生じる。
図8は、現像方式が、感光体2bと現像スリーブ2ccの回転方向が逆であるカウンター方式の場合の濃度変動の例を示している。
図8に示すように、オブジェクトの先端では先端のエッジに近いほど濃度が大きく低下している。この先端側の濃度低下は、かすれと呼ばれることがある。また、オブジェクトの後端では後端のエッジに近いほど濃度が大きく上昇している。この濃度変動の補正を行う場合、補正値算出部33は、元の濃度が再現できるように、先端及び後端のエッジから濃度変動が生じる範囲を補正範囲kw(単位はブロック)として、補正範囲kw内にあるオブジェクト内部の各ブロックの最大値Max及び最小値minを、エッジからの距離に応じて増減する。
【0058】
具体的には、補正値算出部33は、エッジ検出部32により先端のエッジを検出した場合、下記式(21)により補正後の最大値Max
*及び最小値min
*を算出する。
また、補正値算出部33は、エッジ検出部32により後端のエッジを検出した場合、下記式(22)により補正後の最大値Max
*及び最小値min
*を算出する。
【0059】
(21) E
*(c)=E(c)+max{0,kh×(1−c/kw)}
(22) E
*(c)=E(c)−max{0,kh×(1−c/kw)}
上記式(21)及び(22)において、E
*(c)は、補正範囲kw内にある各ブロックのうち、エッジからの距離(ブロック数)がcのブロックの補正後の最大値Max
*又は最小値min
*を表す。E(c)は、同じくブロック数cのブロックの補正前の最大値Max又は最小値minを表す。max{A,B}は、AとBのうち大きい方を選択して出力する関数を表す。khは、エッジからの距離に応じて補正量を調整する補正係数である。
【0060】
なお、補正値算出部33は、(i)補正前の最大値Maxが第1閾値Tha以下である場合か、(ii)補正前の最大値Maxが第1閾値Thaを超えるが、補正前の最大値Maxと補正前の最小値minの差が第2閾値Thb以下の場合、最大値Maxのみを補正し、補正後の最小値min
*としては補正前の最小値minをそのまま出力すればよい。また、補正値算出部33は、(iii)補正前の最大値Maxが第1閾値Thaを超え、さらに補正前の最大値Maxと補正前の最小値minの差が第2閾値Thbを超える場合、最大値Max及び最小値minの両方を補正すればよい。
【0061】
図9は、画像データの補正例を示している。
上記のように算出した補正後の最大値Max
*及び最小値min
*を用いて掃き寄せ補正することにより、
図9に示すように、オブジェクトの先端のエッジから補正範囲kw内にあるオブジェクト内部の各ブロックの画素値を、先端のエッジに近いほど大きく増やすことができる。また、オブジェクトの後端のエッジから補正範囲kw内にあるオブジェクト内部の各ブロックの画素値を、後端のエッジに近いほど大きく減らすことができる。これにより、トナーの掃き寄せによる濃度変動が生じても、
図8に示す本来の濃度を再現することができる。
【0062】
補正範囲kw及び補正係数khは、任意に設定することができる。例えば、実際に画像を形成して確認した濃度変動が生じる範囲を補正範囲kwとすることができる。また、同様にしてエッジからの距離と濃度変動量の関係を確認し、その関係に応じてエッジからの距離に比例する補正係数khを設定することができる。
【0063】
最大濃度か又は最小濃度に近いオブジェクトはトナーが掃き寄せられても濃度変動が少ないが、中間濃度付近のオブジェクトは濃度変動が大きく画質劣化として目立ちやすくなる。よって、掃き寄せによる濃度変動が小さい濃度範囲では補正量が小さく、濃度変動が大きい濃度範囲では補正量が大きくなるように調整係数を決定し、この調整係数を乗算した補正係数khを、上記式(21)及び(22)の演算に用いることが好ましい。これにより、補正精度を高めることができる。
【0064】
同様に、オブジェクトの幅が短いほど、掃き寄せによる濃度変動が目立ちにくい。よって、幅が短いほど補正量が小さくなるように調整係数を決定し、この調整係数を乗算した補正係数khを、上記式(21)及び(22)の演算に用いることが好ましい。これにより、補正精度を高めることができる。オブジェクトの幅としては、オブジェクトの先端のエッジから後端のエッジまでのブロック数を求めればよい。
【0065】
なお、現像方式が、感光体2bと現像スリーブ2ccの回転方向が同じであるウィズ方式の場合はカウンター方式と逆の現象が生じるので、逆の補正、すなわち先端部分の画素値を減らし、後端部分の画素値を増やすように、最大値Max及び最小値minの補正を行えばよい。
【0066】
〔変換〕
変換部34は、補正値算出部33により出力した、補正前の最大値Max及び最小値minと補正後の最大値Max
*及び最小値min
*とを用いて画素値の変換式を決定し、決定した変換式にしたがって、伸長部102において圧縮した画像データを伸長した画像データの各画素値を変換することにより、掃き寄せの補正を行う。掃き寄せ補正と並行してエッジ補正等を行う場合、変換する画像データは、伸長部102において伸長した後、画像処理部103において画像処理した画像データである。
【0067】
変換部34は、各ブロックの最小値が最大値以下となるように、(i)補正前の最大値Maxが第1閾値Tha以下であり、画素値の値域の最小値0%に近い場合と、(ii)補正前の最大値Maxが第1閾値Thaを超えるが、補正前の最大値Maxと最小値minの差が第2閾値Thb以下であり、補正前の最大値Maxと最小値minがほぼ同じである場合と、(iii)それ以外の場合、すなわち補正前の最大値Maxが第1閾値Thaを超え、補正前の最大値Maxと最小値minの差が第2閾値Thbを超える場合とで、それぞれ異なる変換式を決定することが好ましい。これにより、各ブロックにおいて最小値が最大値以下となる関係を維持することができ、変換による画質劣化を防ぐことができる。
【0068】
第1閾値Thaは、画素値の最小値0%に近いか否かを判定するための閾値であり、第2閾値Thbは、補正前の最大値Maxと最小値minがほぼ同じか否かを判定するための閾値である。第1閾値Tha及び第2閾値Thbは、適切な数値を実験的に求める等して任意に設定することができる。
【0069】
変換部34は、上記(i)の場合、下記式(1)で表す変換式に決定することが好ましい。
(1) Cout=Cin
〔上記式(1)において、Cinは変換前の画素値、Coutは変換後の画素値を表す。〕
【0070】
図10は、上記(i)の場合の変換式の例を示している。
図10に示すように、変換式は傾きが1、切片が0の1次関数であり、入力した画素値をそのまま出力することができる。
【0071】
補正前の最大値Maxが画素値の値域の最小値0%に近いブロックは、非画像部(用紙の下地部分)であり、補正が不要であるため、上記のように変換式を決定することにより、補正の対象外とすることができる。
【0072】
変換部34は、上記(ii)の場合、下記式(2)で表す変換式に決定することが好ましい。
(2) Cout=Cin×Max
*/Max
〔上記式(2)において、Cinは変換前の画素値、Coutは変換後の画素値を表す。Maxは補正前の最大値、Max
*は補正後の最大値を表す。〕
【0073】
図11は、上記(ii)の場合の変換式の例を示している。
図11に示すように、Max=minの場合、傾きがMax
*/Maxの実線で示す変換式を使用することができる。
なお、min〜Maxの範囲を超えるMax〜100%の範囲においては、点線で示す変換式、すなわち(Max,Max
*)と(100,100)の2点を結ぶ1次関数を使用してもよい。これにより、補正前のMax〜100%の間の画素値を、補正後のMax
*〜100%の間の画素値に変換することができ、どのような入力値も変換できる。
【0074】
Max≒minのとき、最大値Max及びMax
*と最小値min及びmin
*を用いた変換式は極端に大きな傾きとなり得るが、上記のように変換式を決定することにより、補正前の最大値Maxと最小値minがほぼ同じである画像部分において、変換後の最大値Max
*と最小値min
*の大小関係の逆転やトーンジャンプの発生等を防ぐことができ、安定した変換を行うことができる。
【0075】
変換部34は、上記(iii)の場合、下記式(3)で表す変換式に決定することが好ましい。
(3) Cout=(Cin−min)
×{(Max
*−min
*)/(Max−min)}+min
*
〔上記式(3)において、Cinは変換前の画素値、Coutは変換後の画素値を表す。Maxは補正前の最大値、Max
*は補正後の最大値を表す。minは補正前の最小値、min
*は補正後の最小値を表す。〕
【0076】
図12は、上記(iii)の場合の変換式の例を示している。
図12に示すように、傾きが{(Max
*−min
*)/(Max−min)}の実線で示す変換式を使用することができる。
【0077】
なお、min〜Maxの範囲を超えるMax〜100%の範囲においては、
図12において点線で示す変換式、すなわち(Max,Max
*)と(100,100)の2点を結ぶ1次関数を使用してもよい。これにより、補正前のMax〜100%の間の画素値を、補正後のMax
*〜100%の間の画素値に変換することができ、どのような入力値も変換できる。
同様に、0〜min%の範囲においては、
図12において点線で示す変換式、すなわち(min,min
*)と(0,0)の2点を結ぶ1次関数を使用してもよい。これにより、補正前の0〜min%の間の画素値を、補正後の0〜min
*の間の画素値に変換することができ、どのような入力値も変換できる。
【0078】
上記のように変換式を決定することにより、もともと補正前のmin〜Maxの範囲内にあった画素値は、補正後のmin
*〜Max
*の範囲内の画素値にリニアに対応するように変換され、補正前のmin〜Maxの範囲外にある画素値も範囲内にある画素値と同じ対応関係で変換される。最大値Max
*と最小値min
*の大小関係を維持できるとともに、掃き寄せ補正後の濃度変化が連続的となり、伸長処理後に画像処理した画像データにおいても、トーンジャンプ等の画質劣化を生じさせることなく、掃き寄せ補正の効果を得ることができる。
【0079】
図13は、
図7に示す圧縮した画像データの補正後の最大値Max*及び最小値minと、伸長後に画像処理した画像データと、当該画像データを変換して掃き寄せ補正した画像データと、を示している。
図7及び
図13に示すように、伸長後に画像処理した画像データは、元の画素値が255であった各画素値が180に減っている。一方、掃き寄せ補正のため、ブロックB11では最大値Maxも最小値minも255から220に減っている。エッジを含むブロックB12では、最大値Maxが255から200へと、ブロックB11よりも大きく減っている。
【0080】
ブロックB11は上記(ii)の場合に該当するので、伸長後、画像処理した画像データのブロックB11内の各画素値は上記式(2)で表す変換式にしたがって変換される。ブロックB12は上記(iii)の場合に該当するので、ブロックB12内の各画素値は上記式(3)で表す変換式にしたがって変換される。その結果、ブロックB11では元の画素値が255であった各画素の画素値が155に変換され、ブロックB12では元の画素値255であった画素は141に変換され、後端のエッジに近いほど画素値を大きく減じた画像データが得られる。
【0081】
変換部34は、画像データの各画素の属性を示す属性データを入力し、当該属性データが示す属性に応じて、変換(掃き寄せ補正)を行うか行わないかをブロックごとに切り替えることが好ましい。
例えば、文字及び図形の属性のブロックの補正を行い、写真の属性のブロックの補正を行わないように切り替えることにより、写真の属性のブロックを補正対象外とすることができる。写真の画像領域は、ノイズ除去のためにローパスフィルター処理等が施されてオブジェクトと背景のコントラスト差が明瞭でなく、エッジとして検出しにくいことがある。また、オブジェクトの濃度が平坦な領域が少なく、トナーの掃き寄せによる濃度変動がもともと目立ちにくく補正の効果が小さい反面、補正により意図しない濃度変動が生じることがあるため、写真の属性の画素を補正対象外とすることにより、新たな画質劣化を防止することができる。
【0082】
切り替え時、変換部34は、画素単位の属性を、ブロック単位の属性に変換する。例えば、変換部34は、ブロック内に文字の属性の画素が少なくとも1つある場合は、当該ブロックの属性を文字に変換し、文字の属性の画素はないが図形の属性の画素が少なくとも1つある場合は、当該ブロックの属性を図形に変換し、文字及び図形の属性の画素がなく写真の属性の画素がある場合は、当該ブロックの属性を写真に変換することができる。
【0083】
図14は、上述した画像処理装置Gの処理手順を示している。
図14に示すように、画像処理装置Gでは、入力部101により圧縮した画像データを入力し(ステップS1)、伸長部102においてこの圧縮した画像データを伸長する(ステップS2)。伸長した画像データを、画像処理部103において画像処理、例えばエッジ処理する(ステップS3)。
【0084】
伸長及びエッジ処理と並行して、掃き寄せ補正部104では、抽出部31において圧縮した画像データから各ブロックの最大値Max及び最小値minを抽出する(ステップS4)。抽出した最大値Max及び最小値minを用いてエッジ検出部32においてエッジを検出し(ステップS5)、検出したエッジからのブロック数に応じて、補正値算出部33において掃き寄せ補正後の最大値Max
*及びmin
*を算出する(ステップS6)。
【0085】
変換部34では、補正前の最大値Max及び最小値minと、補正後の最大値Max
*及びmin
*により、変換式を決定する。そして、伸長部102において伸長し、画像処理部103において画像処理した画像データの各画素値を、変換部34において、決定した変換式にしたがって変換し(ステップS7)、変換後の画像データを出力する(ステップS8)。これにより、エッジ処理及び掃き寄せ補正を施した画像データを得ることができる。画像処理装置Gでは、この画像データにさらに中間調処理等を施した後、画像形成部18へ出力する。
【0086】
以上のように、本実施の形態の画像処理装置Gは、ブロック単位で各画素を分割し、各ブロックの画素値の最大値Maxと最小値minを用いて圧縮した画像データから、各ブロックの最大値Max及び最小値minを抽出する抽出部31と、抽出部31により抽出した各ブロックの最大値Max及び最小値minを用いて、画像の先端又は後端のエッジを検出するエッジ検出部32と、エッジ検出部32により検出したエッジからの距離に応じて、画像(オブジェクト)の先端又は後端から一定範囲内に位置する各ブロックの最大値Maxか、最大値Maxと最小値minを補正し、補正後の最大値Max
*及びmin
*を算出する補正値算出部33と、各ブロックの補正前の最大値Max及び最小値minと補正値算出部33により算出した補正後の最大値Max
*及びmin
*とを用いて画素値の変換式を決定し、決定した変換式にしたがって、圧縮した画像データを伸長した画像データの各画素値を変換することにより、掃き寄せの補正を行う変換部34と、を備えている。
【0087】
これにより、圧縮した画像データから掃き寄せの補正値、すなわち補正後の最大値Max
*及び最小値min
*を算出し、その補正値を用いて伸長した画像データに掃き寄せ補正を施すことができる。掃き寄せの補正処理と並行して、伸長した画像データに対するエッジ処理等の画像処理を実施できて効率的であるとともに、ラインメモリー等の共有化が可能になり、回路規模の拡大及びコストアップを防ぐことができる。
【0088】
上記実施の形態は本発明の好適な一例であり、これに限定されない。本発明の主旨を逸脱しない範囲で適宜変更可能である。