JP2010062610A - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2010062610A JP2010062610A JP2008223209A JP2008223209A JP2010062610A JP 2010062610 A JP2010062610 A JP 2010062610A JP 2008223209 A JP2008223209 A JP 2008223209A JP 2008223209 A JP2008223209 A JP 2008223209A JP 2010062610 A JP2010062610 A JP 2010062610A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- image
- edge direction
- resolution conversion
- determined
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000006243 chemical reaction Methods 0.000 claims abstract description 126
- 238000012545 processing Methods 0.000 claims description 100
- 241000519995 Stachys sylvatica Species 0.000 claims description 80
- 238000012937 correction Methods 0.000 claims description 31
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 description 35
- 238000000605 extraction Methods 0.000 description 14
- 238000009499 grossing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- VVNRQZDDMYBBJY-UHFFFAOYSA-M sodium 1-[(1-sulfonaphthalen-2-yl)diazenyl]naphthalen-2-olate Chemical compound [Na+].C1=CC=CC2=C(S([O-])(=O)=O)C(N=NC3=C4C=CC=CC4=CC=C3O)=CC=C21 VVNRQZDDMYBBJY-UHFFFAOYSA-M 0.000 description 1
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】エッジ方向を用いた解像度変換において白抜けの防止を図る。
【解決手段】画像処理装置は、画像の各画素についてエッジ方向を判定するエッジ方向判定部22と、前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記判定されたエッジ方向によって決定する解像度変換部と、前記解像度変換後の画像に白抜けが発生するか否かを判定する白抜け判定部24と、前記白抜け判定部により白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正するエッジ方向修正部25と、を備え、前記解像度変換部は、前記修正されたエッジ方向によって、解像度変換後の各画素に割り当てる画素値を決定する。
【選択図】図3
【解決手段】画像処理装置は、画像の各画素についてエッジ方向を判定するエッジ方向判定部22と、前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記判定されたエッジ方向によって決定する解像度変換部と、前記解像度変換後の画像に白抜けが発生するか否かを判定する白抜け判定部24と、前記白抜け判定部により白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正するエッジ方向修正部25と、を備え、前記解像度変換部は、前記修正されたエッジ方向によって、解像度変換後の各画素に割り当てる画素値を決定する。
【選択図】図3
Description
本発明は、画像処理装置及び画像処理方法に関する。
電子写真方式のエンジンを搭載したプリンタで、1200dpiの高解像度能を持つプリンタの中には、600dpiの低解像度の多値画像を一旦2値化し、エッジ領域にのみスムージング処理を施した後、解像度変換を行って1200dpiの画像を出力するものがある。このようなプリンタでは、色変換や空間フィルタ処理等、計算コストのかかる処理をなるべく600dpiの低解像度で行い、1200dpiの高解像度に解像度変換した後に施す画像処理を少なくしている。これにより、回路規模を抑えた構成で画像処理の高速化を実現することができ、安価なプリンタを提供することが可能となる。
プリンタで行われる画像処理の一つとして、上記スムージング(アンチエリアシング)処理が挙げられる。これは通常、2値画像の主に文字や線画部分について行われる処理である。例えば、注目画素の周辺M×N画素領域を対象として、入力された2値画像からテンプレートマッチングによりジャギーが検出されると、注目画素の2値データを多値データに変換し、当該多値データに応じて1画素内のレーザ露光量を制御するスムージング処理方法が開示されている(例えば、特許文献1、2)。レーザ露光量の制御によりエッジのざらつきが滑らかに補正される。
また、印字する1画素内をさらに細かくサブピクセルに分割しておき、テンプレートによってジャギーが検出された場合にはエッジが平滑化されるように各サブピクセルのドット出力のオン/オフを制御する技術も開示されている(例えば、特許文献3、4参照)。
スムージングは2値画像だけではなく、多値画像の中の2値で表された文字や線画部分に対しても行われる。このとき、例えば文字周辺の背景の色が白ではない場合に、上記の技術を適用すると、文字と背景の間に隙間ができることがあった。このような現象は白抜けと呼ばれる。白抜けの問題に対しては、背景の画素値と注目画素の画素値との間で線形補間演算を行うことによって、隙間を無くす技術が開示されている(例えば、特許文献5参照)。これによって、背景が中間調の濃度である文字に対してもスムージングを施すことが可能となった。
また、解像度変換は画像の画素数を変える処理であるが、例えば600dpiの画素を1200dpiの解像度に変換する場合は、1画素で表現していたものを4画素で表現することになる。最も単純に行うのであれば、変換された4画素は一様に解像度変換前の1画素の画素値をそのまま引き継げばよい。しかしながら、これでは解像度変換しても画質は向上しない。そこで、4画素の画素値を一様ではなく、異ならせることによって見た目の解像度を上げることが行われている。特にエッジにおいては解像度が上がった分だけ品質の向上が期待されるので、パターンマッチングによって、或いは最近接内挿法等によってエッジのジャギーを除去する処理が行われている(例えば、特許文献6参照)。
ところで、上述のスムージング処理によって輪郭がぼけている場合には、パターンマッチングを用いた解像度変換を行いにくいという場合がある。上記特許文献6に記載の方法において、パターンマッチングは3×3画素についてのドット出力のオン/オフの信号に対して行うので、中間調のようにオン(最大値でドット出力)でもオフ(ドット非出力)でもない画素値が含まれる場合にはマッチングせず、うまく解像度変換ができないことがあり得るのである。
そこで、解像度変換の他の方法として、エッジ方向によって解像度変換を行う技術が開示されている(例えば、特許文献7参照)。
米国特許第4847641号
特開平2−112966号公報
米国特許第4437122号
特開平4−341059号公報
特開2000−156784号公報
特開平7−262361号公報
特開2006−54899号公報
しかしながら、エッジ方向だけで解像度変換を行うことにおいては、あまり良い結果が得られない場合がある。輪郭処理を600dpiの解像度で行い、その後、解像度変換を行って1200dpiに変換する場合を例に説明すると、まず600dpiの画像はスムージング等の輪郭処理が施される。スムージング等の輪郭処理では、文字等の輪郭及びその周辺の画素値を変更することによって、文字等の輪郭を強調したりぼかしたりする。特に、スムージングの場合は輪郭に沿って中間調の画素が発生することになる。輪郭処理ではエッジが認識されているので、輪郭処理の際にエッジの画素値とエッジ方向とが求められる。
その後、輪郭処理された画像の解像度変換が行われる。解像度変換では600dpiの1画素が1200dpiの4画素に変換されるが、変換された4画素にはエッジ方向によって画素値が割り当てられる。図21にエッジ方向と画素値の割当パターン例をいくつか示す。図21に示すように、解像度変換後の4画素のうちエッジ方向に位置する画素から先に大きい画素値が割り当てられるよう割当順序が定められており、この割当順序に従って画素値が割り当てられる。例えば、図21に示すパターン3のように、エッジ方向が右上であれば解像度変換後の4画素のうち右上に位置する画素ほど大きな画素値が割り当てられ、右上方向の濃度勾配が生じることとなる。
このような解像度変換が画像に対して行われた具体例を例示する。図22(a)は濃度50%のオブジェクトob11を含む画像を示している。また、図22(b)は、図22(a)の画像に対し、エッジ方向を用いた解像度変換を行った画像を示している。
図22(a)においてオブジェクトob11の斜め部分のエッジである画素e1のエッジ方向は右下方向である。このエッジ方向と画素e1の画素値からすれば、画素e1の割当パターンは図21のパターン3に該当する。よって、画素e1については解像度変換後の4画素のうち、右下方向に位置する画素に濃度100%の画素値が割り当てられ、当該画素と対向する位置にある画素は濃度0%の画素値が割り当てられる。一方、オブジェクトob11の直線部分のエッジである画素e2はエッジ方向が下方向である。このエッジ方向と画素値から画素e2の割当パターンは、図21に示すパターン4に該当する。よって、画素e2の解像度変換後の4画素については、下方向に位置する2画素に濃度100%の画素値が割り当てられ、残る2画素に濃度0%の画素値が割り当てられる。
図22(a)においてオブジェクトob11の斜め部分のエッジである画素e1のエッジ方向は右下方向である。このエッジ方向と画素e1の画素値からすれば、画素e1の割当パターンは図21のパターン3に該当する。よって、画素e1については解像度変換後の4画素のうち、右下方向に位置する画素に濃度100%の画素値が割り当てられ、当該画素と対向する位置にある画素は濃度0%の画素値が割り当てられる。一方、オブジェクトob11の直線部分のエッジである画素e2はエッジ方向が下方向である。このエッジ方向と画素値から画素e2の割当パターンは、図21に示すパターン4に該当する。よって、画素e2の解像度変換後の4画素については、下方向に位置する2画素に濃度100%の画素値が割り当てられ、残る2画素に濃度0%の画素値が割り当てられる。
このように、エッジ方向を用いた解像度変換では、斜めや上等のエッジ方向をもつ場合には4画素のうちの1画素又は2画素の画素値を濃度0%にしているため、図22(b)に示すように解像度変換によってオブジェクトのサイズが小さくなってしまう。また、斜めのエッジ部分ではエッジ内側の画素の画素値が大きくなり、画質が劣化している。
さらに、図23(a)に示すように、このオブジェクトob11が濃度50%のシアンの背景のオブジェクトob21に接している場合を考える。この場合、オブジェクトob11のみエッジ方向を用いた解像度変換を行うと、図23(b)に示すように背景のオブジェクトob21との間に画素値が0%の画素が存在するため、白抜けが発生することとなる。
また、背景のオブジェクトob21もエッジを有し、エッジ方向を用いた解像度変換が行われるため、図23(c)に示すように背景のオブジェクトob21側のエッジにも画素値0%の画素が発生する。その結果、白抜けの部分が広がることとなる。
また、背景のオブジェクトob21もエッジを有し、エッジ方向を用いた解像度変換が行われるため、図23(c)に示すように背景のオブジェクトob21側のエッジにも画素値0%の画素が発生する。その結果、白抜けの部分が広がることとなる。
本発明の課題は、エッジ方向を用いた解像度変換において白抜けの防止を図ることである。
請求項1に記載の発明によれば、
画像の各画素についてエッジ方向を判定するエッジ方向判定部と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記判定されたエッジ方向によって決定する解像度変換部と、
前記解像度変換後の画像に白抜けが発生するか否かを判定する白抜け判定部と、
前記白抜け判定部により白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正するエッジ方向修正部と、を備え、
前記解像度変換部は、前記修正されたエッジ方向によって、解像度変換後の各画素に割り当てる画素値を決定する画像処理装置が提供される。
画像の各画素についてエッジ方向を判定するエッジ方向判定部と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記判定されたエッジ方向によって決定する解像度変換部と、
前記解像度変換後の画像に白抜けが発生するか否かを判定する白抜け判定部と、
前記白抜け判定部により白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正するエッジ方向修正部と、を備え、
前記解像度変換部は、前記修正されたエッジ方向によって、解像度変換後の各画素に割り当てる画素値を決定する画像処理装置が提供される。
請求項2に記載の発明によれば、
前記エッジ方向は、少なくとも上、下、左、右、中央の方向を含み、
前記解像度変換部は、前記エッジ方向が上、下、左又は右の何れかと判定された画素については、その画素値を用いて、当該画素の解像度変換後の複数の画素のうちエッジ方向に位置する画素ほど画素値が大きくなるように各画素の画素値を決定し、前記エッジ方向が中央と判定された画素については、その画素値を用いて、当該画素の解像度変換後の各画素の画素値が均等となるように画素値を決定し、
前記エッジ方向修正部は、白抜けが発生すると判定された画素について前記判定されたエッジ方向を中央に修正する請求項1に記載の画像処理装置が提供される。
前記エッジ方向は、少なくとも上、下、左、右、中央の方向を含み、
前記解像度変換部は、前記エッジ方向が上、下、左又は右の何れかと判定された画素については、その画素値を用いて、当該画素の解像度変換後の複数の画素のうちエッジ方向に位置する画素ほど画素値が大きくなるように各画素の画素値を決定し、前記エッジ方向が中央と判定された画素については、その画素値を用いて、当該画素の解像度変換後の各画素の画素値が均等となるように画素値を決定し、
前記エッジ方向修正部は、白抜けが発生すると判定された画素について前記判定されたエッジ方向を中央に修正する請求項1に記載の画像処理装置が提供される。
請求項3に記載の発明によれば、
前記画像の各画素について細線構造に該当するか否かを判定する細線構造判定部を備え、
前記白抜け判定部は、前記細線構造判定部により細線構造に該当すると判定された画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置が提供される。
前記画像の各画素について細線構造に該当するか否かを判定する細線構造判定部を備え、
前記白抜け判定部は、前記細線構造判定部により細線構造に該当すると判定された画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置が提供される。
請求項4に記載の発明によれば、
前記白抜け判定部は、複数色の画像のうち何れかの色の画像において処理対象とする注目画素が白色でないとともに、注目画素の周辺画素が何れの色の画像においても白色でない場合、当該注目画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置が提供される。
前記白抜け判定部は、複数色の画像のうち何れかの色の画像において処理対象とする注目画素が白色でないとともに、注目画素の周辺画素が何れの色の画像においても白色でない場合、当該注目画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置が提供される。
請求項5に記載の発明によれば、
前記エッジ方向は、左上、左下、右上、右下の斜め方向を含み、
前記解像度変換部は、前記エッジ方向が前記斜め方向であると判定された画素については、当該画素の画素値より小さい画素値を、解像度変換後の各画素に配分するように各画素の画素値を決定する請求項1〜4の何れか一項に記載の画像処理装置が提供される。
前記エッジ方向は、左上、左下、右上、右下の斜め方向を含み、
前記解像度変換部は、前記エッジ方向が前記斜め方向であると判定された画素については、当該画素の画素値より小さい画素値を、解像度変換後の各画素に配分するように各画素の画素値を決定する請求項1〜4の何れか一項に記載の画像処理装置が提供される。
請求項6に記載の発明によれば、
画像に輪郭処理を施す輪郭処理部を備え、
前記解像度変換部は、前記輪郭処理された画像を解像度変換する請求項1〜5の何れか一項に記載の画像処理装置が提供される。
画像に輪郭処理を施す輪郭処理部を備え、
前記解像度変換部は、前記輪郭処理された画像を解像度変換する請求項1〜5の何れか一項に記載の画像処理装置が提供される。
請求項7に記載の発明によれば、
画像の各画素についてエッジ方向を判定する工程と、
前記画像がより高解像度に解像度変換され、この解像度変換において解像度変換後の各画素に割り当てる画素値が、前記画像及び前記判定されたエッジ方向によって決定されるにあたり、当該解像度変換後の画像に白抜けが発生するか否かを判定する工程と、
白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正する工程と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記修正されたエッジ方向によって決定する工程と、
を含む画像処理方法が提供される。
画像の各画素についてエッジ方向を判定する工程と、
前記画像がより高解像度に解像度変換され、この解像度変換において解像度変換後の各画素に割り当てる画素値が、前記画像及び前記判定されたエッジ方向によって決定されるにあたり、当該解像度変換後の画像に白抜けが発生するか否かを判定する工程と、
白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正する工程と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記修正されたエッジ方向によって決定する工程と、
を含む画像処理方法が提供される。
本発明によれば、エッジ方向を用いた解像度変換において白抜けが発生すると判定された画素については、その解像度変換後の各画素に画素値が均等に割り当てられるように、エッジ方向が修正される。よって、白抜けが発生すると判定された画素においては解像度変換によって濃度0%の画素値が発生せず、白抜けの発生を防ぐことができる。
以下、図を参照して、本発明の実施の形態について説明する。
本実施形態では、本発明をMFP(Multi Function Peripheral)に適用した例を説明する。MFPは、複写機能、印刷機能等の複数の機能を備えた複合型の画像形成装置である。
本実施形態では、本発明をMFP(Multi Function Peripheral)に適用した例を説明する。MFPは、複写機能、印刷機能等の複数の機能を備えた複合型の画像形成装置である。
図1に、本実施形態に係るMFPの機能的構成を示す。
MFP100は、外部PC(パーソナルコンピュータ)200と接続されており、当該外部PC200から送信されたPDL(Page Description Language)形式のデータから画像データを生成して画像処理した後、印刷を行うことができる。
MFP100は、外部PC(パーソナルコンピュータ)200と接続されており、当該外部PC200から送信されたPDL(Page Description Language)形式のデータから画像データを生成して画像処理した後、印刷を行うことができる。
図1に示すように、MFP100は、コントローラ20、画像処理部10、制御部11、読取部12、操作部13、表示部14、記憶部15、画像メモリ16、印刷装置17を備えて構成されている。
コントローラ20は、ラスタライズ処理により画素毎の画像データを生成する。
例えば、外部PC200において作成されたドキュメントのデータが、プリンタドライバソフトによってPDL形式に変換され、コントローラ20に送信される。コントローラ20はラスタライズ処理によって、送信されたPDLデータに含まれるPDLコマンドを解析し、描画すべき画像単位(これをオブジェクトという)毎に画素を割り当て、この割り当てた画素毎に画素値を設定した画像のデータを生成する。画像はC(シアン)、M(マジェンタ)、Y(イエロー)、K(黒)の色毎に生成される。
なお、本実施形態ではコントローラ20をMFP100内に内蔵する構成を説明したが、コントローラ20をMFP100外部に設ける構成であってもよい。
例えば、外部PC200において作成されたドキュメントのデータが、プリンタドライバソフトによってPDL形式に変換され、コントローラ20に送信される。コントローラ20はラスタライズ処理によって、送信されたPDLデータに含まれるPDLコマンドを解析し、描画すべき画像単位(これをオブジェクトという)毎に画素を割り当て、この割り当てた画素毎に画素値を設定した画像のデータを生成する。画像はC(シアン)、M(マジェンタ)、Y(イエロー)、K(黒)の色毎に生成される。
なお、本実施形態ではコントローラ20をMFP100内に内蔵する構成を説明したが、コントローラ20をMFP100外部に設ける構成であってもよい。
制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)等を備えて構成されている。制御部11は、記憶部15に記憶されている各種処理プログラムとの協働により、演算を行ったり、MFP100の各部を集中制御したりして各種処理を実行する。
読取部12は、光学系やCCD(Charge Coupled Device)を有するスキャナを備え、原稿を光走査して画像信号(アナログ信号)を生成する。生成された画像信号は、図示しない処理部において各種補正処理が施された後、デジタル変換されて画像処理部10に出力される。
操作部13は、オペレータの操作指示を入力するためのものであり、各種キーや表示部14と一体に構成されるタッチパネル等を備えて構成されている。操作部13は、操作に応じた操作信号を生成して制御部11に出力する。
表示部14は、制御部11の制御に従ってディスプレイ上に操作画面等を表示する。
記憶部15は、各種処理プログラムの他、処理に必要なパラメータや設定データ等を記憶している。記憶部15としては、ハードディスク等の不揮発性メモリを用いることができる。
画像メモリ16は画像のデータを記憶するためのメモリである。画像メモリ16としては、DRAM(Dynamic RAM)、ハードディスク等を用いることができる。
表示部14は、制御部11の制御に従ってディスプレイ上に操作画面等を表示する。
記憶部15は、各種処理プログラムの他、処理に必要なパラメータや設定データ等を記憶している。記憶部15としては、ハードディスク等の不揮発性メモリを用いることができる。
画像メモリ16は画像のデータを記憶するためのメモリである。画像メモリ16としては、DRAM(Dynamic RAM)、ハードディスク等を用いることができる。
印刷装置17は、画像処理部10から入力される印刷用の画像に基づいて印刷を行う。印刷用の画像とは、コントローラ20によって生成された画像に、画像処理部10が画像処理を施して生成したものである。
印刷装置17は、電子写真方式による印刷を行い、例えば給紙部、露光部、現像部、定着部等を含んで構成されている。印刷時には、画像のデータに基づいて露光部が感光ドラム上にレーザ光を照射して静電潜像を形成する。静電潜像は現像部により現像され観光ドラム上にはトナー像が形成される。トナー像の形成はC、M、Y、Kの各色の画像について行われ、各色のトナー像は中間転写ベルト上に重ねて転写されてカラー像となる。カラー像は転写ローラ等によって給紙部から給紙された用紙上に転写され、定着部により定着処理が施される。
印刷装置17は、電子写真方式による印刷を行い、例えば給紙部、露光部、現像部、定着部等を含んで構成されている。印刷時には、画像のデータに基づいて露光部が感光ドラム上にレーザ光を照射して静電潜像を形成する。静電潜像は現像部により現像され観光ドラム上にはトナー像が形成される。トナー像の形成はC、M、Y、Kの各色の画像について行われ、各色のトナー像は中間転写ベルト上に重ねて転写されてカラー像となる。カラー像は転写ローラ等によって給紙部から給紙された用紙上に転写され、定着部により定着処理が施される。
次に、画像処理部10について説明する。
画像処理部10は、コントローラ20から入力される画像や、読取部12から入力される画像に画像処理を施す。画像処理としては、例えば拡大縮小や階調補正処理等が挙げられる。また、読取部12から入力された画像についてはRGBをYMCKの色に変換する色変換処理が施される。また、画像処理部10は解像度変換処理、階調補正処理、スクリーン処理等を施して印刷用の画像を生成する。
画像処理部10は、コントローラ20から入力される画像や、読取部12から入力される画像に画像処理を施す。画像処理としては、例えば拡大縮小や階調補正処理等が挙げられる。また、読取部12から入力された画像についてはRGBをYMCKの色に変換する色変換処理が施される。また、画像処理部10は解像度変換処理、階調補正処理、スクリーン処理等を施して印刷用の画像を生成する。
図2は、画像処理部10のうち、印刷用の画像を生成する際に主に機能する構成部分を示す図である。図2に示すように、画像処理部10は、輪郭処理部1、エッジ調整部2、解像度変換部3、スクリーン処理部4、セレクタ5を含んで構成されている。本実施形態では、図2に示す構成において、1画素×8bitからなる600dpiの入力画像INを処理対象とし、4画素×4bitからなる1200dpiの出力画像OUTを出力する例を説明する。入力画像INはC、M、Y、Kの各色の画像である。
輪郭処理部1は、入力画像IN(1画素×8bit)に対し輪郭強調処理、細線化処理、スムージング処理(アンチエイリアス処理ともいう)等の輪郭処理を施し、処理画像OUTol(1画素×8bit)を生成する。輪郭強調処理は、入力画像INに含まれる文字や線画等のオブジェクトのエッジに該当する画素について画素値を大きくする等して、オブジェクトの輪郭を強調する処理である。逆に、細線化処理はエッジに該当する画素の画素値を小さくする等の調整を行う処理である。スムージング処理は入力画像INに含まれる文字や線画のオブジェクトのエッジ周辺に中間調の画素値を持つ画素を設ける処理である。オブジェクトのエッジであるかどうかは、エッジ調整部2から入力されるエッジ情報EDにより判別することができる。
処理画像OUTolは解像度変換部3、スクリーン処理部4にそれぞれ出力される。
処理画像OUTolは解像度変換部3、スクリーン処理部4にそれぞれ出力される。
次に、図3を参照してエッジ調整部2について説明する。
図3に示すように、エッジ調整部2は、エッジ抽出部21、エッジ方向判定部22、細線構造判定部23、白抜け判定部24、エッジ方向修正部25を含んで構成されている。
図3に示すように、エッジ調整部2は、エッジ抽出部21、エッジ方向判定部22、細線構造判定部23、白抜け判定部24、エッジ方向修正部25を含んで構成されている。
エッジ抽出部21は、入力画像IN(1画素×8bit)に含まれるオブジェクトのエッジを抽出し、画素毎にエッジであるか否かを示すエッジ情報EDを設定する。エッジ情報EDは輪郭処理部1、細線構造判定部23にそれぞれ出力される。
まず、エッジ抽出部21は入力画像INのうち、図4に示すように処理対象とする注目画素Xと注目画素Xに隣接する周辺画素p0、p1、p2、p3の画素値の差E0、E1、E2、E3を算出する。注目画素Xの画素値をX、周辺画素p0、p1、p2、p3の画素値をp0、p1、p2、p3で表すと、E0〜E3は下記式で表される。
E0=X−p0
E1=X−p1
E2=X−p2
E3=X−p3
まず、エッジ抽出部21は入力画像INのうち、図4に示すように処理対象とする注目画素Xと注目画素Xに隣接する周辺画素p0、p1、p2、p3の画素値の差E0、E1、E2、E3を算出する。注目画素Xの画素値をX、周辺画素p0、p1、p2、p3の画素値をp0、p1、p2、p3で表すと、E0〜E3は下記式で表される。
E0=X−p0
E1=X−p1
E2=X−p2
E3=X−p3
次に、エッジ抽出部21はE0〜E3のうちの最大値を正のエッジ信号PEDとする。また、エッジ抽出部21はE0〜E3の符号を反転させたものの中から最大値を求め、これを負のエッジ信号REDとする。
PED、REDは下記式により示される。なお、Max()は、かっこ内の値のうち最大値を出力する関数を示す。
PED=Max(E0、E1、E2、E3)
ただし、PED<REDのときPED=0
RED=Max(−E0、−E1、−E2、−E3))
ただし、RED<PEDのときRED=0
PED、REDは下記式により示される。なお、Max()は、かっこ内の値のうち最大値を出力する関数を示す。
PED=Max(E0、E1、E2、E3)
ただし、PED<REDのときPED=0
RED=Max(−E0、−E1、−E2、−E3))
ただし、RED<PEDのときRED=0
このようにして求めたE0〜E3と、PED、REDがエッジ強度である。エッジ抽出部21は、C、M、Y、Kの各色の画像の各画素についてエッジ強度を求める。
次に、エッジ抽出部21は各色の画像について求めたPED、REDと、重み係数Wc、Wm、Wy、Wkとを用いて、下記式によりTPED、TREDを求める。TPED、TREDは0〜255の整数であり、Wc、Wm、Wy、Wkはそれぞれ8bitの係数である。[c]はシアン、[m]はマジェンタ、[y]はイエロー、[k]は黒の色についての値であることを示す識別子である。
TPED=(PED[c]×Wc+PED[m]×Wm+PED[y]×Wy+PED[k]×Wk)
TRED=(RED[c]×Wc+RED[m]×Wm+RED[y]×Wy+RED[k]×Wk)
ただし、Wc+Wm+Wy+Wk≦255である。
次に、エッジ抽出部21は各色の画像について求めたPED、REDと、重み係数Wc、Wm、Wy、Wkとを用いて、下記式によりTPED、TREDを求める。TPED、TREDは0〜255の整数であり、Wc、Wm、Wy、Wkはそれぞれ8bitの係数である。[c]はシアン、[m]はマジェンタ、[y]はイエロー、[k]は黒の色についての値であることを示す識別子である。
TPED=(PED[c]×Wc+PED[m]×Wm+PED[y]×Wy+PED[k]×Wk)
TRED=(RED[c]×Wc+RED[m]×Wm+RED[y]×Wy+RED[k]×Wk)
ただし、Wc+Wm+Wy+Wk≦255である。
TPED、TREDは、前景と背景のそれぞれのオブジェクトのエッジにおける、各色のエッジ強度RED、PEDを、比視感度に相当する係数Wc、Wm、Wy、Wkで重み付けし足し合わせた値である。TPED、TREDの大小関係を見ることによって注目画素Xと周辺画素p0〜p4とのどちらが高濃度側か、つまり前景か背景かを判定することができる。
エッジ抽出部21は求めたTPED、TREDを比較し、TPED>TREDを満たす場合には前景のエッジであることを示すED=1に設定し、満たさない場合には前景のエッジではないことを示すED=0に設定する。
エッジ抽出部21は求めたTPED、TREDを比較し、TPED>TREDを満たす場合には前景のエッジであることを示すED=1に設定し、満たさない場合には前景のエッジではないことを示すED=0に設定する。
なお、視覚的な濃度差に応じた処理を行いたい場合には、重み付け係数Wc、Wm、Wy、Wkに、比視感度に応じた数値を適宜設定すればよい。例えば、Y(イエロー)は最大濃度であっても他の色に比べて視覚的な濃度差が得られないのに対し、K(黒)は最も視覚的な濃度差が得られる。よって、このような関係を反映し、例えばWc=80、Wm=32、Wy=16、Wk=127と設定することができる。
また、エッジ抽出の処理をより簡易化するため、TPED、TREDを求めるまでもなく、PEDとREDの比較によってエッジか否かの判定を行うこととしてもよい。この場合、PED−fb>REDを満たせば、前景のエッジであるとして、エッジ抽出部21はED=1に設定する。満たさない場合には前景のエッジではないとして、エッジ抽出部21はED=0に設定する。fbはPEDとREDの差が小さい場合には前景か背景かの判断を行わないようにするための閾値である。
エッジ方向判定部22は、入力画像IN(1画素×8bit)の各画素についてエッジ方向を判定し、その判定されたエッジ方向を示すエッジ方向情報posを設定する。エッジ方向情報posは、エッジ方向修正部25に出力される。
エッジ方向を判定するため、まずエッジ方向判定部22は入力画像INのうち、図4に示すように処理対象とする注目画素Xと注目画素Xに隣接する周辺画素p0、p1、p2、p3の画素値の差E0、E1、E2、E3を算出する。E0〜E3の算出方法はエッジ抽出における方法と同じである。ただし、E0〜E3の値が負であるとき、E0〜E3の値は0とする。
次に、エッジ方向判定部22はE0〜E3を比較することにより、エッジ方向を判定する。
エッジ方向判定部22はまず上下左右の方向について判定し、下記条件(1)〜(6)に従ってパラメータx、yを決定する。xは左右方向を示すパラメータであり、x=−1は左方向、x=0は中央、x=1は右方向を示す。yは上下方向を示すパラメータであり、y=−1は下方向、y=0は中央、y=1は上方向を示す。なお、gapはエッジ強度の差を明確にするために使用する係数である。
エッジ方向判定部22はまず上下左右の方向について判定し、下記条件(1)〜(6)に従ってパラメータx、yを決定する。xは左右方向を示すパラメータであり、x=−1は左方向、x=0は中央、x=1は右方向を示す。yは上下方向を示すパラメータであり、y=−1は下方向、y=0は中央、y=1は上方向を示す。なお、gapはエッジ強度の差を明確にするために使用する係数である。
(1)E0+gap<E2のとき、x=−1
すなわち、左右のうち左のエッジ強度が十分小さければ左方向と判定する。
(2)E0>E2+gapのとき、x=1
すなわち、左右のうち右のエッジ強度が十分小さければ右方向と判定する。
(3)上記(1)、(2)の何れも満たさないとき、x=0
すなわち、左右のエッジ強度に大差がなければ中央と判定する。
すなわち、左右のうち左のエッジ強度が十分小さければ左方向と判定する。
(2)E0>E2+gapのとき、x=1
すなわち、左右のうち右のエッジ強度が十分小さければ右方向と判定する。
(3)上記(1)、(2)の何れも満たさないとき、x=0
すなわち、左右のエッジ強度に大差がなければ中央と判定する。
(4)E1+gap<E3のとき、y=1
すなわち、上下のうち上のエッジ強度が十分小さければ上方向と判定する。
(5)E1>E3+gapのとき、y=−1
すなわち、上下のうち下のエッジ強度が十分小さければ下方向と判定する。
(6)上記(4)、(5)の何れも満たさないとき、y=0
すなわち、上下のエッジ強度に大差がなければ中央と判定する。
すなわち、上下のうち上のエッジ強度が十分小さければ上方向と判定する。
(5)E1>E3+gapのとき、y=−1
すなわち、上下のうち下のエッジ強度が十分小さければ下方向と判定する。
(6)上記(4)、(5)の何れも満たさないとき、y=0
すなわち、上下のエッジ強度に大差がなければ中央と判定する。
次に、エッジ方向判定部22はパラメータx、yを用い、下記条件(1)〜(9)に従って注目画素Xのエッジ方向を判定し、エッジ方向情報posを設定する。判定されるエッジ方向は、中央、上、下、左、右、右上、右下、左上、左下の合計9方向である。
(1)x=1、y=−1のとき、右下を示すpos=2
(2)x=1、y=0のとき、右を示すpos=5
(3)x=1、y=1のとき、右上を示すpos=8
(4)x=0、y=−1のとき、下を示すpos=1
(5)x=0、y=0のとき、中央を示すpos=4
(6)x=0、y=1のとき、上を示すpos=7
(7)x=−1、y=−1のとき、左下を示すpos=0
(8)x=−1、y=0のとき、左を示すpos=3
(9)x=−1、y=1のとき、左上を示すpos=6
(1)x=1、y=−1のとき、右下を示すpos=2
(2)x=1、y=0のとき、右を示すpos=5
(3)x=1、y=1のとき、右上を示すpos=8
(4)x=0、y=−1のとき、下を示すpos=1
(5)x=0、y=0のとき、中央を示すpos=4
(6)x=0、y=1のとき、上を示すpos=7
(7)x=−1、y=−1のとき、左下を示すpos=0
(8)x=−1、y=0のとき、左を示すpos=3
(9)x=−1、y=1のとき、左上を示すpos=6
図5に、エッジ方向情報posの値とその値が示すエッジ方向との関係を示す。図5において矢印の示す方向がエッジ方向であり、矢印の中に記載された数値がそのエッジ方向を示すposの値である。
細線構造判定部23は、入力画像IN(1画素×8bit)の各画素について、細線構造であるか否かを判定し、その判定結果を示す細線情報TLを設定する。細線情報TLは、細線構造であると判定された場合にTL=1に設定され、細線構造ではないと判定された場合にTL=0に設定される。
細線構造か否かの判定において、細線構造判定部23は図6に示すように入力画像INから注目画素Xとその周辺画素p0〜p7の画素値を抽出する。そして、各画素値が次の(1)〜(10)の条件の何れかを満たす場合、細線構造判定部23は注目画素Xが細線構造であると判定する。一方、下記条件(1)〜(10)の何れも満たさない場合、細線構造判定部23は注目画素Xが細線構造ではないと判定する。以下の条件(1)〜(10)では、注目画素Xの画素値をX、各周辺画素p0〜p7の画素値をp0〜p7で示す。
まず、細線構造判定部23は、下記3つの条件(1)〜(3)により注目画素Xが1画素幅の細線に含まれているかどうかを判定する。
(1)p1=p3かつp1≠X
(2)p0=p2かつp0≠X
(3)p5=Xかつp1≠X
(1)p1=p3かつp1≠X
(2)p0=p2かつp0≠X
(3)p5=Xかつp1≠X
次に、細線構造判定部23は、下記3つの条件(4)〜(6)により注目画素Xに隣接する画素が1画素幅の細線に含まれているかどうかを判定する。
(4)p4=Xかつp0≠X
(5)p7=Xかつp3≠X
(6)p6=Xかつp2≠X
(4)p4=Xかつp0≠X
(5)p7=Xかつp3≠X
(6)p6=Xかつp2≠X
次に、細線構造判定部23は、下記4つの条件(7)〜(10)により注目画素が2画素幅の細線に含まれているかどうかを判定する。
(7)p5=p3かつX≠p3
(8)p4=p2かつX≠p2
(9)p7=p1かつp1≠X
(10)p6=p0かつp0≠X
以上の判定により設定された細線情報TLは、白抜け判定部24に出力される。
(7)p5=p3かつX≠p3
(8)p4=p2かつX≠p2
(9)p7=p1かつp1≠X
(10)p6=p0かつp0≠X
以上の判定により設定された細線情報TLは、白抜け判定部24に出力される。
白抜け判定部24は、入力画像INと細線情報TLにより、エッジ方向を用いた解像度変換により白抜けが発生するか否かを画素毎に判定し、その判定結果を示す白抜け情報cwを設定する。白抜け情報cwは、白抜けが発生すると判定された場合はcw=1に設定され、白抜けが発生しないと判定された場合にはcw=0に設定される。
白抜け判定部24は、次の2つの条件(1)、(2)を満たす場合、白抜けが発生すると判定する。
(1)何れかの色の入力画像IN(1画素×8bit)において、図4に示すように処理対象とする注目画素Xが注目色において白色でなく、かつ注目画素Xに隣接する周辺画素p0〜p3が何れの色においても白色でない場合
この条件(1)を満たす場合、注目画素、周辺画素についてエッジ方向を用いた解像度変換が行われると、注目画素及び周辺画素の解像度変換後の画素のうち、注目画素と周辺画素間の境界部分に位置する画素に画素値0の画素が生じ、白抜けが発生する。
(1)何れかの色の入力画像IN(1画素×8bit)において、図4に示すように処理対象とする注目画素Xが注目色において白色でなく、かつ注目画素Xに隣接する周辺画素p0〜p3が何れの色においても白色でない場合
この条件(1)を満たす場合、注目画素、周辺画素についてエッジ方向を用いた解像度変換が行われると、注目画素及び周辺画素の解像度変換後の画素のうち、注目画素と周辺画素間の境界部分に位置する画素に画素値0の画素が生じ、白抜けが発生する。
白色とは閾値soaとの比較により、画素値がsoa以下となる場合をいう。閾値soaは白色の判定用に予め設定される閾値である。よって、注目画素Xの画素値をX、周辺画素p0〜p3の画素値をp0〜p3で表すと、下記の条件式全てを満たす場合、周辺画素p0〜p3の全てが何れの色においても白色でないと判定できる。なお、[c]はシアン、[m]はマジェンタ、[y]はイエロー、[k]は黒の色の画素値であることを示す識別子である。
p0[c]>soa、p0[m]>soa、p0[y]>soa、p0[k]>soa
p1[c]>soa、p1[m]>soa、p1[y]>soa、p1[k]>soa
p2[c]>soa、p2[m]>soa、p2[y]>soa、p2[k]>soa
p3[c]>soa、p3[m]>soa、p3[y]>soa、p3[k]>soa
p0[c]>soa、p0[m]>soa、p0[y]>soa、p0[k]>soa
p1[c]>soa、p1[m]>soa、p1[y]>soa、p1[k]>soa
p2[c]>soa、p2[m]>soa、p2[y]>soa、p2[k]>soa
p3[c]>soa、p3[m]>soa、p3[y]>soa、p3[k]>soa
周辺画素p0〜p3の全てが何れの色においても白色ではないと判定された場合、白抜け判定部24は、さらに注目画素Xの注目色の画素値X[c]、X[m]、X[y]、X[k]についてsoaと比較する。そして、soaより大きければその注目色の画像について白抜けが発生すると判定し、soa以下であれば白抜けは発生しないと判定する。
(2)細線構造を有する場合
白抜け判定部24は、注目画素について細線情報TLを参照し、TL=1であれば、白抜けが発生すると判定する。細線構造を持つ画素については、エッジ方向を用いた解像度変換によってより細線化され、白抜けが生じる可能性がある。
以上の判定により設定された白抜け情報cwはエッジ方向修正部25に出力される。
白抜け判定部24は、注目画素について細線情報TLを参照し、TL=1であれば、白抜けが発生すると判定する。細線構造を持つ画素については、エッジ方向を用いた解像度変換によってより細線化され、白抜けが生じる可能性がある。
以上の判定により設定された白抜け情報cwはエッジ方向修正部25に出力される。
エッジ方向修正部25は、白抜け情報cwにより白抜けすると判定された画素のエッジ方向を中央に修正する。中央は、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向である。すなわち、エッジ方向修正部25はcw=1に設定されている画素について、その画素のエッジ方向情報posを強制的にpos=4に修正する。修正されたエッジ方向情報posは解像度変換部3に出力される。
上述した白抜け判定部24、エッジ方向修正部25の処理の流れについて、図7を参照して説明する。図7に示す処理は各色の入力画像INに対し画素毎に行われる。
図7に示すように、まず白抜け判定部24により注目画素が細線構造を有するか否か判定する(ステップS11)。細線構造を有しない場合(ステップS11;N)、白抜け判定部24はさらに注目色、つまり処理対象としている入力画像INの色において、注目画素が白色でなく、かつ隣接する周辺4画素の全てが何れの色においても白色ではないか否か判定する(ステップS12)。細線構造を有する場合(ステップS11;Y)、或いは注目色において注目画素が白色でなく、かつ周辺4画素が何れの色においても白色ではない場合(ステップS12;Y)、白抜け判定部24は白抜けが発生すると判定し、cw=1に設定する(ステップS13)。それ以外の場合は(ステップS11;N、S12;N)、白抜け判定部24は白抜けは発生しないと判定し、cw=0に設定する(ステップS14)。
図7に示すように、まず白抜け判定部24により注目画素が細線構造を有するか否か判定する(ステップS11)。細線構造を有しない場合(ステップS11;N)、白抜け判定部24はさらに注目色、つまり処理対象としている入力画像INの色において、注目画素が白色でなく、かつ隣接する周辺4画素の全てが何れの色においても白色ではないか否か判定する(ステップS12)。細線構造を有する場合(ステップS11;Y)、或いは注目色において注目画素が白色でなく、かつ周辺4画素が何れの色においても白色ではない場合(ステップS12;Y)、白抜け判定部24は白抜けが発生すると判定し、cw=1に設定する(ステップS13)。それ以外の場合は(ステップS11;N、S12;N)、白抜け判定部24は白抜けは発生しないと判定し、cw=0に設定する(ステップS14)。
次に、エッジ方向修正部25では注目画素について白抜けが発生したと判定されたか否か、つまりcw=1であるか否かを判定する(ステップS15)。cw=1であり、白抜けが発生すると判定された場合(ステップS15;Y)、エッジ方向修正部25はエッジ方向情報posを、強制的にpos=4に修正する(ステップS16)。cw=0であり、白抜けは発生しないと判定された場合(ステップS15;N)、上記のようなエッジ方向情報posの修正を行うことなく処理を終了する。この場合は修正されていない、エッジ方向判定部22から入力されたエッジ方向情報posが、エッジ方向修正部25から出力されることとなる。
次に、図8を参照して解像度変換部3について説明する。
図8に示すように、解像度変換部3は階調補正部31、画素分割部32、画素値割当部33を含んで構成されている。
図8に示すように、解像度変換部3は階調補正部31、画素分割部32、画素値割当部33を含んで構成されている。
階調補正部31は、輪郭処理された処理画像OUTol(1画素×8bit)に階調補正処理を施す。階調補正部31は、8bitの入力(255階調)に対し、6bitの出力(61階調)を定めたLUT(ルックアップテーブル)を用いて階調補正を行う。LUTは図9に示すような階調補正カーブにおける入力画素値に対する出力画素値が設定されたものである。階調補正カーブは印刷装置17の階調特性を元に求められたカーブである。
このように、階調補正と同時に階調数を変更するのは、後段の演算を簡易にするためである。後段の演算では1画素が4分割され、4画素×4bitの16階調(最小値0〜最大値15)に解像度変換される。よって、解像度変換前の1画素の階調が、解像度変換後の4画素で表現できる階調0〜60(最大値15×4画素)に一致するように階調数を変更する。
階調補正処理が施された処理画像OUTol(1画素6bit)は、画素分割部32、画素値割当部33にそれぞれ出力される。
階調補正処理が施された処理画像OUTol(1画素6bit)は、画素分割部32、画素値割当部33にそれぞれ出力される。
画素分割部32は、階調補正された処理画像OUTol(1画素6bit、600dpi)の各画素を均等に4分割する。4分割後の4画素の位置関係を、図10に示すようにA、B、C、Dで示す。4分割された各画素A、B、C、D(4画素×4bit、1200dpi)は、画素値割当部33に出力される。
画素値割当部33は、分割された各画素A、B、C、D(4画素×4bit、1200dpi)について、画素値を割り当てて処理画像OUTre(4画素×4bit、1200dpi)を生成する。処理画像OUTreはセレクタ5に出力される。
まず、画素値割当部33は、階調補正処理された処理画像OUTolの各画素についてエッジ方向情報posを参照し、画素値の割当順序のタイプを決定する。割当順序のタイプはタイプJ1〜J3の3つである。タイプJ1は左右上下の何れかの方向に勾配を設けるように画素値の割当順序が定められており、タイプJ2は左上、左下、右上、右下の何れかの斜め方向に勾配を設けるように画素値の割当順序が定められている。また、タイプJ3は勾配は設けずにできるだけ均等に画素値を割り当てるように割当順序が定められている。
割当順序のタイプを決定すると、画素値割当部33は階調補正処理された処理画像OUTolと決定したタイプJ1〜J3とから、A、B、C、Dの4画素に割り当てる画素値CV1、CV2、CV3、CV4を算出する。
以下、図11〜図14を参照して、タイプの決定から画素値の算出までの処理の流れを説明する。この処理は階調補正処理された各色の処理画像OUTolの各画素を対象に行われる。
画素値割当部33に処理画像OUTol、エッジ方向情報posが入力されると(ステップS21)、画素値割当部33は処理画像OUTolのうち処理対象とする注目画素についてposの値を参照する。そして、posが1、3、5又は7の何れかである場合(ステップS22;Y)、すなわち、エッジ方向が左右上下の何れかの方向である場合には、画素値割当部33は注目画素の割当順序のタイプをタイプJ1に決定する(ステップS23)。
画素値割当部33に処理画像OUTol、エッジ方向情報posが入力されると(ステップS21)、画素値割当部33は処理画像OUTolのうち処理対象とする注目画素についてposの値を参照する。そして、posが1、3、5又は7の何れかである場合(ステップS22;Y)、すなわち、エッジ方向が左右上下の何れかの方向である場合には、画素値割当部33は注目画素の割当順序のタイプをタイプJ1に決定する(ステップS23)。
一方、posが4である場合(ステップS22;N、S24;Y)、画素値割当部33は注目画素の割当順序のタイプをタイプJ3に決定する(ステップS26)。また、posが2、6、8、9である場合(ステップS22;N、S24;N)、画素値割当部33は注目画素の割当順序のタイプをタイプJ2に決定する(ステップS25)。
次に、図12を参照してタイプJ1に決定された場合について説明する。以下の説明において、解像度変換前の処理画像OUTolの各画素の画素値をOUTolで示す。また、cmaxは解像度変換後の各画素A、B、C、Dが取りうる最大の画素値である。解像度変換後は1画素が4bitであり、0〜15の値を取りうるので、cmax=15である。
図12に示すように、画素値割当部33は、注目画素の画素値OUTolと2cmaxとを比較する(ステップS31)。OUTol>2cmaxである場合(ステップS31;Y)、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する(ステップS32)。
CV1=cmax
CV2=cmax
CV3=Rest−CV4
CV4=Rest/2
ただし、Rest=OUTol−(CV1+CV2)
CV1=cmax
CV2=cmax
CV3=Rest−CV4
CV4=Rest/2
ただし、Rest=OUTol−(CV1+CV2)
一方、OUTol>2cmaxでない場合(ステップS31;N)、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する(ステップS33)。
CV1=OUTol−CV2
CV2=OUTol/2
CV3=0
CV4=0
CV1=OUTol−CV2
CV2=OUTol/2
CV3=0
CV4=0
次に、図13を参照してタイプJ2に決定された場合について説明する。
図13に示すように、画素値割当部33は注目画素の画素値OUTolを(OUTol+1)/2に置き換える(ステップS41)。次いで、画素値割当部33は置き換えたOUTolとcmaxとを比較する(ステップS42)。OUTol>cmaxを満たさない場合(ステップS42;N)、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する(ステップS44)。
CV1=OUTol
CV2=0
CV3=0
CV4=0
図13に示すように、画素値割当部33は注目画素の画素値OUTolを(OUTol+1)/2に置き換える(ステップS41)。次いで、画素値割当部33は置き換えたOUTolとcmaxとを比較する(ステップS42)。OUTol>cmaxを満たさない場合(ステップS42;N)、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する(ステップS44)。
CV1=OUTol
CV2=0
CV3=0
CV4=0
一方、OUTol>cmaxを満たす場合(ステップS42;Y)、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4のうち、CV1を下記のように算出する。また、画素値割当部33はCV1の値からRestを算出する(ステップS43)。
CV1=cmax
Rest=OUTol−CV1
CV1=cmax
Rest=OUTol−CV1
次いで、画素値割当部33は算出したRestが、Rest>2cmaxを満たす場合(ステップS45;Y)、下記のようにCV2〜CV4を算出する(ステップS46)。 CV2=cmax
CV3=cmax
CV4=Rest−2cmax
CV3=cmax
CV4=Rest−2cmax
一方、RestがRest>2cmaxを満たさない場合(ステップS45;N)、画素値割当部33は下記のようにCV2〜CV4を算出する(ステップS47)。
CV2=Rest−CV3
CV3=Rest/2
CV4=0
CV2=Rest−CV3
CV3=Rest/2
CV4=0
次に、図14を参照してタイプJ3に決定された場合について説明する。
図14に示すように、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する。また、画素値割当部33はCV1の値からRestを算出する(ステップS51)。
CV1=OUTol/4
CV2=OUTol/4
CV3=OUTol/4
CV4=OUTol/4
Rest=OUTol−4CV1
図14に示すように、画素値割当部33は注目画素の解像度変換後の4画素A、B、C、Dに割り当てる画素値CV1〜CV4を下記のように算出する。また、画素値割当部33はCV1の値からRestを算出する(ステップS51)。
CV1=OUTol/4
CV2=OUTol/4
CV3=OUTol/4
CV4=OUTol/4
Rest=OUTol−4CV1
次いで、画素値割当部33は算出したRestがRest=1であれば(ステップS52;Y)、上記算出したCV1にRest(Rest=1)を加算した値をCV1とする(ステップS53)。算出したRestがRest=2であれば(ステップS52;N、S54;Y)、画素値割当部33は上記算出したCV1、CV2に、Rest(Rest=2)のうちの1をそれぞれ加算した値をCV1、CV2とする(ステップS55)。さらに、Rest=3であれば(ステップS52;N、S54;N、S56;Y)、画素値割当部33は上記算出したCV1、CV2、CV3に、Rest(Rest=3)のうちの1をそれぞれ加算した値をCV1、CV2、CV3とする(ステップS57)。
以上のようにCV1〜CV4を算出すると、画素値割当部33は算出した画素値CV1〜CV4を、割当順序のタイプJ1〜J3に応じて4分割後の画素A、B、C、Dに割り当て、処理画像OUTreとする。タイプJ1〜J3と各画素A、B、C、DへのCV1〜CV4の割り当ての関係は、下記表に示す通りである。
すなわち、エッジ方向が中央であり、割当順序がタイプJ3に定められている場合、画素値割当部33は勾配を設けるような配分はせずに、解像度変換後の各画素A、B、C、Dの画素値が均等になるように画素値を決定している。一方、中央以外のエッジ方向の場合、画素値割当部33は本来解像度変換後の4画素がそれぞれ引き継ぐべき、解像度変換前の1画素の画素値OUTolを、エッジ方向に勾配を設けるように画素値CV1〜CV4に配分し、各画素A、B、C、Dに割り当てている。つまり、エッジ方向に位置する画素の画素値を最大として、当該画素に位置が離れた画素ほど画素値が小さくなるように画素値CV1〜CV4を決定し、各画素A、B、C、Dに割り当てている。
ただし、エッジ方向が斜め方向であり、割当順序がタイプJ2に定められている場合、元の画素値OUTolよりも小さい値(OUTol+1)/2を用いて画素値CV1〜CV4を算出している。これは、エッジ方向が斜め方向となる画素については、解像度変換によってオブジェクトのエッジ内側の画素の画素値が大きくなるように割り当てられることから、このような画素の画素値を全体的に減少させ、オブジェクトの内側が不自然に強調されるのを防ぐためである。
解像度変換後の処理画像OUTreはセレクタ5に出力される。
解像度変換後の処理画像OUTreはセレクタ5に出力される。
次に、スクリーン処理部4について説明する。
スクリーン処理部4は、処理画像OUTol(1画素×8bit、600dpi)に対し階調補正処理とスクリーン処理を施し、処理画像SC(4画素×4bit、1200dpi)を生成する。処理画像SCはセレクタ5に出力される。
スクリーン処理部4は、処理画像OUTol(1画素×8bit、600dpi)に対し階調補正処理とスクリーン処理を施し、処理画像SC(4画素×4bit、1200dpi)を生成する。処理画像SCはセレクタ5に出力される。
セレクタ5は、各画素について入力されるエッジ情報EDを参照し、ED=1に設定されている画素については解像度変換部3から入力される処理画像OUTre(4画素×4bit、1200dpi)を選択して出力する。また、ED=0に設定されている画素についてはスクリーン処理部4から入力される処理画像SC(4画素×4bit、1200dpi)を選択して出力する。この選択により出力される画像が出力画像OUTである。
白抜けが発生すると判定された画素については、エッジ方向修正部25によって強制的にエッジ情報posがpos=4とされている。そのため、白抜けが発生すると判定された画素について処理画像OUTreが選択され出力された場合でも、解像度変換後の各画素の画素値CV1〜CV4はほぼ均等な値で割り当てられ、画素値が0となる画素はない。よって、白抜けの発生を防止することができる。
図15〜図20を参照して解像度変換の処理結果の一例を示す。
処理結果例1:背景が白色ではない画像の場合
図15に示す画像g11は、K(黒)の中間調の濃度を持つ前景のオブジェクトと、C(シアン)の中間調の濃度を持つ背景のオブジェクトとを含んでいる。この画像g11に対し、白抜け判定によるエッジ方向の修正を行わずに解像度変換が行われた場合、処理結果として図15に示す画像g12が得られる。一方、白抜け判定によるエッジ方向の修正後、解像度変換が行われた場合、処理結果として図15に示す画像g13が得られる。なお、画像g11、g13に記載されている数値はエッジ方向情報posの値を示している。
処理結果例1:背景が白色ではない画像の場合
図15に示す画像g11は、K(黒)の中間調の濃度を持つ前景のオブジェクトと、C(シアン)の中間調の濃度を持つ背景のオブジェクトとを含んでいる。この画像g11に対し、白抜け判定によるエッジ方向の修正を行わずに解像度変換が行われた場合、処理結果として図15に示す画像g12が得られる。一方、白抜け判定によるエッジ方向の修正後、解像度変換が行われた場合、処理結果として図15に示す画像g13が得られる。なお、画像g11、g13に記載されている数値はエッジ方向情報posの値を示している。
また、図16に示す画像g21は、前景としてM(マジェンタ)のオブジェクト、背景としてK(黒)のオブジェクトを含んでいる。この画像g21に対し、白抜け判定によるエッジ方向の修正がなされずに解像度変換された処理結果が画像g22であり、白抜け判定によるエッジ方向の修正が行われたうえで解像度変換された処理結果が画像g23である。
図15、図16に示すように、エッジ方向の修正が行われない場合、解像度変換時にエッジ方向側に画素値の配分が偏る結果、前景と背景との間に画素値0となる画素が生じ、白抜けが発生している。これに対し、エッジ方向の修正が行われた場合、白抜けが発生するエッジ部分の画素についてはエッジ方向を中央に修正し、画素値の配分が偏らないように均等に画素値が割り当てられ、白抜けの発生を防ぐことができる。
処理結果例2:背景が白色である画像の場合
図17に示す画像g31は、背景を白色とするK(黒)のオブジェクトを含んでいる。画像g31において示す数値はエッジ方向を示している。この画像g31に対し、白抜け判定によるエッジ方向の修正がなされずに解像度変換が行われたのが画像g32であり、白抜け判定によるエッジ方向の修正がなされたうえで解像度変換が行われたのが画像g33である。
同様に、図18に示す画像g41は白色の線構造のオブジェクトを背景として、K(黒)の前景のオブジェクトを含む画像である。画像g42は白抜け判定によるエッジ方向の修正がなされずに画像g41が解像度変換された画像であり、画像g43は白抜け判定によるエッジ方向の修正がなされたうえで画像g41が解像度変換された画像である。
図17に示す画像g31は、背景を白色とするK(黒)のオブジェクトを含んでいる。画像g31において示す数値はエッジ方向を示している。この画像g31に対し、白抜け判定によるエッジ方向の修正がなされずに解像度変換が行われたのが画像g32であり、白抜け判定によるエッジ方向の修正がなされたうえで解像度変換が行われたのが画像g33である。
同様に、図18に示す画像g41は白色の線構造のオブジェクトを背景として、K(黒)の前景のオブジェクトを含む画像である。画像g42は白抜け判定によるエッジ方向の修正がなされずに画像g41が解像度変換された画像であり、画像g43は白抜け判定によるエッジ方向の修正がなされたうえで画像g41が解像度変換された画像である。
背景が白色である場合、オブジェクトのエッジ部分の画素については白抜けが発生する条件に該当しないため、白抜け判定部24では白抜けは発生しないと判定される。よって、図17に示すように、白抜け判定が行われても、その処理結果である画像g33は、白抜け判定がなされなかった場合の画像g32と同じ結果となる。図18に示す画像g42、g43についても同様のことがいえる。
処理結果例3:細線構造を含む画像の場合
図19に示す画像g51は、中間調の濃度を持つ2画素幅の細線構造を含む画像である。この画像g51に対し、白抜け判定によるエッジ方向の修正がなされずに解像度変換が行われたのが画像g52であり、白抜け判定によるエッジ方向の修正がなされたうえで解像度変換が行われたのが画像g53である。画像g51、g53に記載された数値はエッジ方向情報posの値を示している。
図19に示す画像g51は、中間調の濃度を持つ2画素幅の細線構造を含む画像である。この画像g51に対し、白抜け判定によるエッジ方向の修正がなされずに解像度変換が行われたのが画像g52であり、白抜け判定によるエッジ方向の修正がなされたうえで解像度変換が行われたのが画像g53である。画像g51、g53に記載された数値はエッジ方向情報posの値を示している。
同様に、図20に示す画像g61は中間調の濃度を持つ細線構造を含む画像である。画像g62は白抜け判定によるエッジ方向の修正がなされずに画像g61が解像度変換された画像であり、画像g63は白抜け判定によるエッジ方向の修正がなされたうえで画像g61が解像度変換された画像である。
図19及び図20に示すように、エッジ方向の修正が行われない場合、解像度変換時にエッジ方向側に画素値の配分が偏る結果、細線がより細線化されてしまう。その結果、図19に示す画像g52や、図20に示す画像g62のように、線が途切れる部分が生じている。これに対し、エッジ方向の修正が行われた場合、画素値は均等に割り当てられるため、図19に示す画像g53や図20に示す画像g63のように過剰な細線化を防いで元の細線構造を再現することができる。
以上のように、本実施形態によれば、エッジ方向判定部22により入力画像INの各画素についてエッジ方向を判定し、白抜け判定部24においてエッジ方向を用いた解像度変換を行った処理画像OUTreに白抜けが発生するか否かを判定する。白抜けが発生する場合、エッジ方向修正部25がエッジ方向を中央に修正する。解像度変換部3は輪郭処理された処理画像OUTolの各画素を4分割してより高解像度に解像度変換し、この解像度変換後の各画素に割り当てる画素値CV1〜CV4を修正されたエッジ方向によって決定する。セレクタ5では、エッジについては解像度変換された処理画像OUTre、エッジ以外についてはスクリーン処理された処理画像SCからなる出力画像OUTを出力する。
これにより、エッジ方向を用いた解像度変換において白抜けが発生する画素については、その解像度変換後の各画素に画素値が均等に割り当てられるので、濃度0%の画素値が発生せず、白抜けの発生を防ぐことができる。
なお、上記実施形態は本発明を適用した好適な一例であり、これに限定されない。
例えば、MFP以外にも画像処理を行うコンピュータ装置であれば本発明を適用することが可能である。
例えば、MFP以外にも画像処理を行うコンピュータ装置であれば本発明を適用することが可能である。
また、上記実施形態では、計算コストがかかる輪郭処理は画像が600dpiと低解像度のときに実行し、その後、解像度変換によって印刷性能に応じた高解像度とする状況の下で、本発明を適用した例を説明した。しかし、本発明は輪郭処理の有無に拘わらず、エッジ方向を用いた解像度変換に広く適用することができる。
また、上述した画像処理部10の各構成部の処理をプログラム化し、当該プログラムを用いてソフトウェアによる画像処理を行うこととしてもよい。この場合、プログラムのコンピュータ読み取り可能な媒体としては、ROM、フラッシュメモリ等の不揮発性メモリ、CD-ROM等の可搬型記録媒体を適用することが可能である。また、プログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も適用される。
100 MFP
10 画像処理部
1 輪郭処理部
2 エッジ調整部
21 エッジ抽出部
22 エッジ方向判定部
23 細線構造判定部
24 白抜け判定部
25 エッジ方向修正部
3 解像度変換部
31 階調補正部
32 画素分割部
33 画素値割当部
4 スクリーン処理部
5 セレクタ
10 画像処理部
1 輪郭処理部
2 エッジ調整部
21 エッジ抽出部
22 エッジ方向判定部
23 細線構造判定部
24 白抜け判定部
25 エッジ方向修正部
3 解像度変換部
31 階調補正部
32 画素分割部
33 画素値割当部
4 スクリーン処理部
5 セレクタ
Claims (7)
- 画像の各画素についてエッジ方向を判定するエッジ方向判定部と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記判定されたエッジ方向によって決定する解像度変換部と、
前記解像度変換後の画像に白抜けが発生するか否かを判定する白抜け判定部と、
前記白抜け判定部により白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正するエッジ方向修正部と、を備え、
前記解像度変換部は、前記修正されたエッジ方向によって、解像度変換後の各画素に割り当てる画素値を決定する画像処理装置。 - 前記エッジ方向は、少なくとも上、下、左、右、中央の方向を含み、
前記解像度変換部は、前記エッジ方向が上、下、左又は右の何れかと判定された画素については、その画素値を用いて、当該画素の解像度変換後の複数の画素のうちエッジ方向に位置する画素ほど画素値が大きくなるように各画素の画素値を決定し、前記エッジ方向が中央と判定された画素については、その画素値を用いて、当該画素の解像度変換後の各画素の画素値が均等となるように画素値を決定し、
前記エッジ方向修正部は、白抜けが発生すると判定された画素について前記判定されたエッジ方向を中央に修正する請求項1に記載の画像処理装置。 - 前記画像の各画素について細線構造に該当するか否かを判定する細線構造判定部を備え、
前記白抜け判定部は、前記細線構造判定部により細線構造に該当すると判定された画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置。 - 前記白抜け判定部は、複数色の画像のうち何れかの色の画像において処理対象とする注目画素が白色でないとともに、注目画素の周辺画素が何れの色の画像においても白色でない場合、当該注目画素について白抜けが発生すると判定する請求項1又は2に記載の画像処理装置。
- 前記エッジ方向は、左上、左下、右上、右下の斜め方向を含み、
前記解像度変換部は、前記エッジ方向が前記斜め方向であると判定された画素については、当該画素の画素値より小さい画素値を、解像度変換後の各画素に配分するように各画素の画素値を決定する請求項1〜4の何れか一項に記載の画像処理装置。 - 画像に輪郭処理を施す輪郭処理部を備え、
前記解像度変換部は、前記輪郭処理された画像を解像度変換する請求項1〜5の何れか一項に記載の画像処理装置。 - 画像の各画素についてエッジ方向を判定する工程と、
前記画像がより高解像度に解像度変換され、この解像度変換において解像度変換後の各画素に割り当てる画素値が、前記画像及び前記判定されたエッジ方向によって決定されるにあたり、当該解像度変換後の画像に白抜けが発生するか否かを判定する工程と、
白抜けが発生すると判定された画素について前記判定されたエッジ方向を、解像度変換後の各画素に均等に画素値を割り当てる割当順序が定められているエッジ方向に修正する工程と、
前記画像をより高解像度に解像度変換し、この解像度変換において解像度変換後の各画素に割り当てる画素値を、前記画像及び前記修正されたエッジ方向によって決定する工程と、
を含む画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223209A JP2010062610A (ja) | 2008-09-01 | 2008-09-01 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223209A JP2010062610A (ja) | 2008-09-01 | 2008-09-01 | 画像処理装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010062610A true JP2010062610A (ja) | 2010-03-18 |
Family
ID=42188993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008223209A Pending JP2010062610A (ja) | 2008-09-01 | 2008-09-01 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010062610A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013034181A (ja) * | 2011-06-29 | 2013-02-14 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
JP2013034180A (ja) * | 2011-06-29 | 2013-02-14 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
JP2013070359A (ja) * | 2011-09-05 | 2013-04-18 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
US10133927B2 (en) | 2014-11-14 | 2018-11-20 | Sony Corporation | Method and system for processing video content |
-
2008
- 2008-09-01 JP JP2008223209A patent/JP2010062610A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013034181A (ja) * | 2011-06-29 | 2013-02-14 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
JP2013034180A (ja) * | 2011-06-29 | 2013-02-14 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
JP2013070359A (ja) * | 2011-09-05 | 2013-04-18 | Konica Minolta Business Technologies Inc | 画像処理装置及び画像処理方法 |
US10133927B2 (en) | 2014-11-14 | 2018-11-20 | Sony Corporation | Method and system for processing video content |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4912270B2 (ja) | 画像処理装置及びその制御方法 | |
US7889395B2 (en) | Image processing apparatus, image processing method, and program | |
JP5060502B2 (ja) | 画像処理装置及び画像処理装置の制御方法 | |
US9967429B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US8295592B2 (en) | Apparatus and method for adjusting pixels values of object edges within images | |
JP6403490B2 (ja) | 画像処理装置、画像形成装置、画像処理方法及びプログラム。 | |
JP4779987B2 (ja) | 画像処理装置及び画像処理方法 | |
JP6127877B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP3992789B2 (ja) | 入力画像変換方法及び画素値量子化方法 | |
JP5499981B2 (ja) | 画像処理装置 | |
JP2010062610A (ja) | 画像処理装置及び画像処理方法 | |
US7315398B2 (en) | Multi-level error diffusion with color image data | |
JP2011004277A (ja) | 画像形成装置 | |
JP2007043394A (ja) | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム | |
JP4861506B2 (ja) | 画像処理装置およびその制御方法 | |
US20050135674A1 (en) | Image processing method for generating multi-level data | |
JP2010074627A (ja) | 画像処理装置及び画像処理方法 | |
JP5316312B2 (ja) | 画像処理装置 | |
US20190191055A1 (en) | Image forming apparatus for outputting a halftone image and image forming method | |
JP5017898B2 (ja) | 画像処理方法、画像形成装置、およびコンピュータプログラム | |
JP4905403B2 (ja) | 画像処理装置及び画像処理方法 | |
JP6910326B2 (ja) | 画像形成装置 | |
JP6648933B2 (ja) | 画像処理装置、画像形成装置、画像処理方法及びプログラム。 | |
JP2018037833A (ja) | 画像処理装置、画像形成装置、画像処理方法、及び画像処理プログラム | |
US8922836B2 (en) | Image processing apparatus, method, and computer program product for conversion of rendering commands into transparent object |