画像処理装置および画像処理方法
【課題】 高画質なハーフトーン画像を生成する。
【解決手段】 入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段とを有する。
【解決手段】 入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハーフトーン処理するものに関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)で処理した画像データを印刷することが広く行われている。しかしながら、画素あたりの階調数を比較すると、PC上で画像データを表現する階調数に対して、印刷装置や表示装置によって表現可能な階調数が少ない場合がある。このため、これら印刷装置や表示装置へ画像データを出力する時には、入力画像データの階調数を出力装置で表現可能な階調数に変換するハーフトーン処理がなされることが多い。
【0003】
ハーフトーン処理の1つとして、入力画像データを周期的に繰り返す閾値と比較することによって出力値を決定するスクリーン処理が知られている。ここでいうスクリーン処理では、面積階調で画像の濃淡を表現したAMスクリーン画像が得られるため、厳密にはAMスクリーン処理とも言われている。
【0004】
スクリーン処理した画像データには、視覚的に目立つ繰り返しパターン(モアレ)が発生し、画質が劣化する場合がある。スクリーン処理では、閾値の周期に近い空間周波数成分を含む入力画像に対して、モアレが生じることが知られている。また、入力画像が細線やエッジを含む場合、細線やエッジの角度とスクリーン処理に用いられるスクリーンのスクリーン角に近いと、細線・エッジ位置と閾値との位相の組み合わせにより、大きく濃度が変動してしまうことがある。
【0005】
従来、周波数特性の異なる複数のスクリーン処理手段を組み合わせることでモアレを低減する方法が提案されている。たとえば、入力階調値に応じて低線数と高線数のディザ処理(スクリーン処理)を選択する方法(特許文献1)がある。また、入力画像信号のパターン周期検出結果に応じてスクリーンを選択する方法(特許文献2)も開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−277808
【特許文献2】特開2006−254095
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら特許文献1では、入力画像の空間周波数成分とは無関係にディザ処理の線数を選択する。そのため、低線数のディザ処理を施してもモアレが目立たない場合にもかかわらず、高線数を選択して階調性が低下するおそれがある。
【0008】
また、特許文献2では、パターン周期検出が煩雑でありながら、エッジ位置とスクリーン閾値の位相の関係が考慮されていない。このため、エッジ部における濃度変動や欠落が改善できない。
【0009】
本発明の目的は、ハーフトーン処理を用いた画像処理装置において、高画質な出力画像を得ることにある。さらに、エッジ部を含む入力画像に対しても、高画質は出力画像得ることも目的とする。
【課題を解決するための手段】
【0010】
前記目的を達成するために本発明は、入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段とを有する。
【発明の効果】
【0011】
以上本発明によれば、ハーフトーン処理を用いた画像処理装置において、高画質な出力画像を得ることができる。さらに、エッジ部を含む入力画像に対しても高画質な出力画像を得ることができる。
【図面の簡単な説明】
【0012】
【図1】実施例1に示す画像処理装置を示す図
【図2】実施例1におけるハーフトーン処理部を示す図
【図3】スクリーン処理の概要を示す図
【図4】図3とは異なるスクリーン線数によるスクリーン処理の概要を示す図
【図5】スクリーン画像データの黒化面積の成長の様子を示す図
【図6】実施例1における第1差分抽出部を示す図
【図7】平滑フィルタ処理で用いられる平滑フィルタを示す図
【図8】実施例1における係数決定処理のフローを示す図
【図9】本発明に係る実施例2におけるハーフトーン処理部を示す図
【図10】実施例2における一様な濃度の画像データに対する各スクリーン処理部による処理結果を示す図
【図11】実施例2におけるエッジを含む画像データに対する各スクリーン処理部による処理結果を示す図
【図12】実施例2における平滑フィルタを示す図
【図13】実施例2におけるエッジ抽出部で用いられるエッジ抽出フィルタの例を示す図
【図14】エッジ判定方法の例を示す図
【図15】実施例2における係数決定処理のフロー図
【図16】実施例2による画像処理結果を示す図
【図17】変形例におけるハーフトーン処理部を示す図
【発明を実施するための形態】
【0013】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例1】
【0014】
図1は本実施例に係る画像処理装置10の構成例を示すブロック図である。図1において画像処理装置10は、画像読み取り部11、描画部12、色分解部13、ハーフトーン処理部14、画像出力部15によって構成される。
【0015】
画像読取部11は、原稿を読み取り、入力画像データを得るためのものである。画像読取部11は必要に応じてコントラスト補正など、精度よく原稿を読み取るための画像処理を含んでいても良い。
【0016】
描画部12は、印刷動作時にホスト・コンピュータ(不図示)から受信した印刷データを、画像読取部11が出力する入力画像データと同様の形式に変換するためのものである。印刷データとしては一般に、画像データ、線の位置、方向、および長さによって構成されるベクトル・データや文字の符号とフォント情報からなる文書データなどが利用されている。これらの印刷データでは、送受信の時間短縮や記憶容量削減のため、しばしば圧縮されている。また、必要に応じて複数の形式の組み合わせが利用されていることもある。
【0017】
なお本実施例では、画像読み取り部11もしくは描画部12から取得する入力画像データはレッド(R)、グリーン(R)、ブラック(K)の3つの色成分により構成されている。
【0018】
色分解部13は、画像読取部11もしくは描画部12から得た入力画像データを画像出力部15が備えた色材色に応じた色データに変換する。本実施例における色材色は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブルー(B)の4種類である。そのため、RGBのカラー入力画像データは、CMYK色分解画像データに変換される。
【0019】
色分解部13は、必要に応じて色域マッピング処理を行ってもよい。また、入力画像データと出力画像データ間の濃度曲線を整合させるためのガンマ変換を含む構成となっていても良い。
【0020】
ハーフトーン処理部14は、画像出力部15が再現可能な階調数に応じて、色分解画像データに対してハーフトーン処理を施す。ここでは、256階調で表された入力画像データを16階調のハーフトーン画像データに変換する例について説明するが、これとは異なる階調数の画像データでもよい。ハーフトーン処理部14の詳細については後述する。
【0021】
画像出力部15は、ハーフトーン処理部14が生成したハーフトーン画像データに基づいて色材を使用して、出力媒体上に画像を形成する。画像出力部15は、たとえば、インクを吐出するインクジェット・プロセス、あるいは静電気を利用してトナーを転写する電子写真プロセスを用いて出力媒体上に画像を形成する。
【0022】
図2は、図1におけるハーフトーン処理部14を詳細に示す図である。ハーフトーン処理部14は、色分解画像データの各色成分別に独立して処理を行う。各色成分に対して同様の処理をするため、以下1色分の色分解画像データを例に説明する。
【0023】
第一スクリーン処理部21および第二スクリーン処理部22は、それぞれ色分解画像データを第一スクリーン画像データおよび第二のスクリーン画像データに変換する。
【0024】
第一スクリーン処理部21におけるスクリーン処理と第二スクリーン処理部22におけるスクリーン処理は、色分解画像データに対して異なるスクリーン処理を施す。つまり第一スクリーン画像データと第二スクリーン画像データは異なるデータとなる。具体的にはスクリーン線数、スクリーン角、成長形状(たとえばドット成長や線成長など)、あるいは、網点位相などが異なっている。異なる複数のスクリーン処理を有することにより、第一スクリーン画像データ、および第二のスクリーン画像データのいずれか一方でモアレが目立つ場合でも、他方ではモアレが目立たないか、他方でもモアレが発生していても位相が異なるようになる。
【0025】
第一差分抽出部23は、第一スクリーン画像データと色分解画像データとの差分の低周波成分を抽出する。また、第二差分抽出部24は第二のスクリーン画像データと色分解画像データとの差分の低周波成分を抽出する。各低周波成分は、色分解画像データとスクリーン画像データとの差分から、スクリーン画像データのスクリーン周波数付近より高域の周波数成分を取り除いた成分である。低周波帯域において、色分解画像データとスクリーン画像データとの差分が大きい場合、モアレ、細線の途切れ、エッジ部におけるジャギーなどが視認できるほど顕著に発生し、画質の低下を招いていることが多い。そこで各差分抽出部は、スクリーン画像データの画質を評価するため、色分解画像データとスクリーン画像データとの差分の低周波成分を抽出する。なお、第一差分抽出部23および第二差分抽出部24が抽出した差分値を、それぞれ第一差分画像データ、および第二差分画像データとする。差分抽出部についての詳細は別途説明する。
【0026】
係数決定部25は、第一差分抽出部23から得た第一差分画像データと第二差分抽出部24から得た第二差分画像データを評価し、第一スクリーン画像データと第二のスクリーン画像データに対する画素毎の合成係数を決定する。係数決定部25における合成係数を決定する方法の詳細は別途説明する。
【0027】
合成部26は、係数決定部25によって決定された合成係数に基づいて第一スクリーン画像データと第二のスクリーン画像データとを合成し、ハーフトーン画像データを作成する。本実施例では、各スクリーン画像データに対応する合成係数を乗じたデータを加算する。
【0028】
以上の構成により、特性の異なる2つのスクリーン処理による結果を適切に合成し、モアレの少ない高品質がハーフトーン画像を得ることができる。
【0029】
以下、ハーフトーン処理部14を構成する各部の詳細についてそれぞれ説明する。
【0030】
図3は第一スクリーン処理部21と第二スクリーン処理部22が行うスクリーン処理の概要を説明する図である。スクリーン処理は、色分解画像データにおける処理対象画素の画素値と処理対象画素の位置に対応する濃度曲線とからスクリーン画素値を決定する。スクリーン処理では、全画素に対してスクリーン画素値の決定し、スクリーン画像データを生成する。
【0031】
図3(a)は、第一スクリーン処理部21における画素位置と濃度曲線との対応関係を示す図である。色分解画像データを構成する各画素に対して、A,B,C,D,ないしEいずれかの濃度曲線が対応している。画素位置と濃度曲線の対応は、5×5の画像領域31の繰り返しとなっている。ここでは処理対象画素の縦横の座標を読み取り、座標を5で割った剰余と、画像領域31内の各画素と濃度曲線の対応によって、処理対象画素の濃度曲線を決定する。
【0032】
図3(b)は、A,B,C,D,ないしE濃度曲線を示す。濃度曲線は色分解画像データの画素値(入力)とスクリーン画素値(出力)との理想的関係を示す。入力に対する出力の感度が高い順に、A,B,C,D,Eとなっている。感度が高い濃度曲線Aにおいては、入力値51に対して出力値が3になるが、他の濃度曲線B,C,D、Eでは同じ入力値51に対する出力値は0である。
【0033】
図3(b)に対して、全ての入力値に対応する出力値が整数となるように量子化(四捨五入)したものが図3(c)である。図3(b)における出力値0.5未満を0とし、出力値0.5以上1.5未満を1というように変換している。本実施例では、入力値となる色分解画像データの各画素値は0以上255以下の整数値であり、出力値となる各スクリーン画素値は0以上3以下の整数値である。スクリーン画像データの量子化値は、画像出力部15の表現能力に応じて決定すると好適である。ここでは、スクリーン画素データは0以上3以下の整数による4値の例を示すが、任意の量子化値に適用可能である。
【0034】
上記のように、第一スクリーン処理部21は、図3(a)と(c)に基づいて、色分解画像データにおける処理対象画素の位置に対応する濃度曲線を決定し、処理対象画素のスクリーン画素値を求める。たとえば、図3(a)の画素32の画素値が51だったとすると、まず図3(a)より濃度曲線Aが選択される。次に図3(c)の濃度曲線Aを参照し、入力された画素値51に対応する3が画素32のスクリーン画素値として得られる。
【0035】
図5(a)は、第一スクリーン処理部21における黒化面積の成長の様子を示している。濃度曲線AからEの5画素合計で見ると、面積比応じて0/15から15/15までの16階調の表現が可能であることがわかる。各画素は4値化されたスクリーン画素値に基づいて、黒化面積が決定される。第一スクリーン処理部21では図5(a)に示したように黒化面積が成長していく。以上の処理によって第一スクリーン処理部は、256階調の色分解画素データを16階調のスクリーン画素データに変換する。
【0036】
同様に、図3(d)は、第二スクリーン処理部22における画素位置と濃度曲線との対応関係を示している。第一スクリーン処理部21で参照される図3(a)とは位相が異なっている。図3の(a)および(c)どちらも大きさ5×5である画像領域31と画像領域35は、色分解画像データにおいて同じ画素位置に対応している。それぞれを比較すると、画像領域31において濃度曲線Aを選択する画素位置において、画像領域35では濃度曲線Eを選択している。濃度曲線の対応関係は、A→E、B→D、C→C、D→B、E→Aとなっている。これは、図3(c)における入力に対する出力の感度が、(a)とは逆順となるように設定されている。そのため図5(a)で示した第1スクリーン処理部における黒化面積の成長とは逆順に、黒化面積が成長する。
【0037】
図5(b)と(c)は、全ての画素値が102である一様な色分解画像データを入力した場合の、第一スクリーン画像データと第二スクリーン画像データを示している。
【0038】
図5(b)と(c)では、濃度曲線としてAまたはBが選択された画素位置において、スクリーン画素値が3となる。また、濃度曲線C,D,のいずれかが選択された画素位置)ではスクリーン画素値は0となる。
【0039】
以上のように、画素位置と濃度曲線との関係を変えることで、色分解画像データの入力を共通とした場合でも、相異なる第一スクリーン画像データと第二スクリーン画像データを得ることができる。
【0040】
第一スクリーン処理部21とは異なる特性のスクリーン処理を行う第二のスクリーン処理部は前述の例に限られない。
【0041】
図3(e)は、図3(a)とはスクリーン角の異なる画素位置と濃度曲線との対応関係である。スクリーン角は、図3(a)における画素32と画素32に対応する濃度曲線Aと同じ濃度曲線Aが対応する最も距離の近い画素とを通る直線33で示される。これに対して、図3(e)におけるスクリーン角を示す直線37は、直線33とは方向が異なっていることで確認できる。図3(e)によるスクリーン処理は、図3(a)とはスクリーン角が異なるため、図3(a)を用いたスクリーン処理とは異なる角度のエッジに対して、良好なスクリーン処理ができる。このため、本実施例にこれら2種類のスクリーンを適応的に組み合わせることで、多方向のエッジを含む画像に対してより好適なスクリーン処理が可能となる。
【0042】
また図4(a)は、図3(a)とはスクリーン線数の異なる画素位置と濃度曲線との対応関係である。図4(b)は、図4(a)に対応する濃度曲線毎の色分解画像データの画素値(入力)とスクリーン画素値(出力)との関係を示す図である。
【0043】
図3(a)における濃度曲線Aの画素32に対して、図4(a)では濃度曲線A1,A2,A3,A4の4画素領域41が対応している。図4(a)では、大きさ10×10である画像領域42の繰り返しパターンで画素位置と濃度曲線との対応関係が決定している。また、図4(b)では、濃度曲線A1,A2,A3,A4の平均が図3(b)における濃度曲線Aと等しくなっている。他の濃度曲線についても同様に、対応する4画素の濃度曲線の平均が図3(b)における濃度曲線と等しくなるように設定する。
【0044】
以上のように図4(a)は、図3(a)と比較して繰返しパターンの周期が各座標軸で2倍、つまり、半分のスクリーン線数に相当するスクリーン処理を行うことができる。図4に示すスクリーン処理は、図3(a)と比較して低線数であり、階調性において優れているが、解像度では劣る。このため、本実施例にこれら2種類のスクリーンを適応的に組み合わせることで、より好適なスクリーン処理が可能となる。
【0045】
図6は第一差分抽出部23における差分抽出処理について説明する図である。以下、第一差分抽出部23の場合について説明するが、第二差分抽出部も同様である。
【0046】
第一差分抽出部23は、色分解画像データと第一スクリーン画像データから、第一差分画像データを算出する。第一差分画像データは、各画素の第一差分画素値の集合体である。
【0047】
図6(a)は本実施例における第一差分抽出部23の構成を示すブロック図である。画素値調整部61は、色分解画像データの値域(0以上255以下)と、第一スクリーン画像データの値域(0以上3以下)との尺度をあわせるためのものである。画素値調整部61は、第一スクリーン画像データの各スクリーン画素値に対して85倍(85=255/3)し、出力する。具体的には0、1、2、3いずれかであるスクリーン画素値がそれぞれ、0、85、170、255に調整される。
【0048】
第一平滑フィルタ部62は色分解画像データに対してフィルタ処理をする。また第二平滑フィルタ部63は、調整された第一スクリーン画像データに対してフィルタ処理を行う。第一平滑フィルタ部62で用いられるフィルタと第二平滑フィルタ部63で用いられるフィルタは、同一のフィルタ係数による空間フィルタである。各平滑フィルタ処理は、スクリーン周期を取り除くため、スクリーン周波数よりも高域の周波数成分を除去している。好ましいフィルタ係数の決定方法については別途説明する。
【0049】
差分算出部64は、各画素において第一平滑フィルタ部62からの出力データと第二平滑フィルタ部63からの出力データとの差分を算出し、第一差分画像データを出力する。第一差分画像データは、スクリーン周期を取り除かれた第一スクリーン画像データと色分解画像データとの差分である。つまり、当該差分の低周波成分を算出している。
【0050】
モアレは、入力画像がスクリーン周期と干渉し、入力画像の高周波成分がスクリーン周期の空間周波数よりも低域に折り返すことによって出現する、視認可能な周期的パターンである。よって、スクリーン画像データと色分解画像データとの差分に対して、スクリーン周期より高域の周波数成分を取り除くようなフィルタ処理を適用することにより抽出される低周波成分はモアレ成分に相当する。
【0051】
なお、第一平滑フィルタ部62と第二平滑フィルタ部63が同一の線形特性を持つ場合は、図6(a)は、図6(b)のように構成することも可能である。画素値調整部65は画素値調整部61と同様に、第一スクリーン画像データ全ての画素に対して画素値の調整をする。差分算出部66は、対応する処理対象画素において、色分解画像データの画素値と調整された第一スクリーン画像データのスクリーン画素値との差分を算出する。その後に、平滑フィルタ部67により平滑化を行う。
【0052】
以下、第一平滑フィルタ部62と第二平滑フィルタ部63、あるいは平滑フィルタ部67における平滑フィルタのフィルタ係数について説明する。これら平滑フィルタのフィルタ係数は、第一スクリーン処理部21のスクリーン処理に応じて決定することが好ましい。前述のとおり第一スクリーン処理部21では、図3(a)のように、5×5画素領域31の繰り返しパターンによってスクリーン処理する。従って、第一スクリーン処理部21による処理結果、第一スクリーン画像データも同様に5×5画素の繰り返し周期をもつ。そこで、第一平滑フィルタ処理62および第二平滑フィルタ部は、図7(a)の係数による空間フィルタを用いる。空間フィルタ(a)は、処理対象画素を含む5×5画素領域内の平均を算出する。これによりフィルタ処理する画像データのスクリーン周期を取り除く。
【0053】
上記空間フィルタへの入力画素群は、第一スクリーン処理部21における繰り返しパターンの境界に合わせても良い。あるいは、処理対象画素が図7(a)の中心画素71となるように、画素単位の移動平均値としても良い。
【0054】
また、他の構成例として、図7(b)に示すように、処理対象画素が中心画素72となるような3×3画素領域の空間フィルタとしても良い。本実施例の場合、どの3×3画素領域をとっても、中心となる処理対象画素と同一の濃度曲線を使用する画素は3×3画素領域内にほかになく、処理対象画素と異なる濃度曲線の画素はそれぞれ2つずつ3×3画素領域内に含まれている。たとえば、図7(c)の画素領域73において、濃度曲線Aの画素は中心の1画素のみで、濃度曲線B,C,D,Eとなる画素は画素領域73内に2画素ずつとなっている。濃度曲線Bとなる画素を中心とする画素領域74や濃度曲線Cとなる画素を中心とする画素領域75についても同様である。よって、各濃度曲線に対する係数の合計が2/10となるようにするため、中心画素75の係数を2/10、他の画素の係数を1/10としたものが図7(b)である。図7(d)のように、中心画素76に近い画素が大きな重みとなるような係数としても良い。
【0055】
なお、ここでは平均濃度を算出する平滑フィルタ処理を構成としたが、必ずしも厳密な平均値を算出しなくても同様の効果を得られる。色分解画像データとスクリーン画像データとの差分に対して、高域の周波数成分を除去する処理となっていればよい。
【0056】
以上のように、各平滑フィルタ処理に用いられるフィルタのフィルタ係数は、対応するスクリーン処理部の繰り返しパターンに合わせて、濃度曲線別の係数合計が均等になるように構成すると好適である。
【0057】
以下、係数決定部25の詳細について説明する。図8は係数決定部25において合成係数を算出するフローを示す図である。合成係数とは、処理対象画素において、第一スクリーン画素値と第二スクリーン画素値を合成するための係数である。係数決定部25は、画素ごとに第一差分画素値と第二差分画素値とから、処理対象画素における合成係数を算出する。第一スクリーン画素値に乗算する第一合成係数と第二スクリーン画素値に乗算する第二合成係数とする。それぞれの合成係数は非負であり、かつ、第一合成係数と第二合成係数との和が1である。
【0058】
ステップ81では、第一差分画素値pが0であるか否かを判定する。これは、後続のステップ86において、0による除算を回避するためである。第一差分画素値pが0である場合にはステップ82に、0でない場合にはステップ83に分岐する。なお、ステップ81において、必ずしも厳密に0と等しいか否かを判定する必要はなく、ごく小さな閾値未満である場合pを0とみなしてもよい。
【0059】
ステップ83では、第一差分画素値pと第二差分画素値sの符号(正負)を比較する。両者が同一の場合はステップ84に、異なる場合はステップ86に分岐する。
【0060】
ステップ86において、第一差分画素値pと第二差分画素値sとが異符号である場合、式(1)、(2)の通りに合成係数を算出する。ただしc1は第一合成係数、c2は第二合成係数である。
c1=|s|/(|p|+|s|) ・・・式(1)
c2=|p|/(|p|+|s|) ・・・式(2)
このようにして算出したc1およびc2は、c1×p+c2×s=0を満たす。
【0061】
一方、第一差分画素値pと第二差分画素値sが同符号である場合、ステップ84において、第一差分画素値pと第二差分画素値sとの絶対値を比較する。両者が同一か、あるいは、第一差分画素値の絶対値|p|が0により近い場合にはステップ82に、第二差分画素値の絶対値|s|が0により近い場合にはステップ85に分岐する。
【0062】
ステップ82は、第一差分画素値pが0である場合、もしくは、第一差分画素値pと第二差分画素値sが同一符号で、かつ、両者が等しい、ないし、第一差分画素値pの方がより0に近い場合の処理である。差分画素値が小さい方が好ましいため、第一スクリーン画素値を最終的な出力値である合成後ハーフトーン画素値となるようにする。よって、第一スクリーン画素値に乗算する第一合成係数を1、第二スクリーン画素値に乗算する第二合成係数を0に設定する。
【0063】
ステップ85は、第一差分画素値pと第二差分画素値sが同一符号で、かつ、第二差分画素値sの方がより0に近い場合の処理である。ステップ82と同様に差分画素値が小さい方が好ましいため、第二スクリーン画素値が最終的な出力値である合成後ハーフトーン画素値となるようにする。よって、第一スクリーン画素値に乗算する第一合成係数を0、第二スクリーン画素値に乗算する第二合成係数を1に設定する。
【0064】
係数決定部25は、以上の合成係数決定処理により各画素における第一合成係数と第二合成係数を算出する。合成係数は、第一スクリーン画素値と第二スクリーン画素値とを合成し、合成後ハーフトーン画素値を算出するための係数である。係数決定部25は、第一差分値と第二差分値が異符号の場合、式(1)と式(2)を用いて、合成後ハーフトーン画素値と色分解画素値との差分の全画素における平均値が0に近づくように合成係数を決定する。また第一差分値と第二差分値が同符号である場合、より色分解画素値に近い方のスクリーン画素値が選択されるように合成係数を決定する。これにより、モアレを低減しながら濃度保存を考慮したスクリーン画像データの合成をすることができる。
【0065】
なお、本実施例ではフローチャートに従って合成係数を決定したが、ルックアップテーブル(LUT)を用いてもよい。
【0066】
合成部26は、第一スクリーン画像データと第二スクリーン画像データを合成する。具体的には、画素ごとに合成する。第一スクリーン画像データを構成する処理対象画素の第一スクリーン画素値と処理対象画素に対応する第一合成係数とを乗算する。同様に、第二スクリーン画像データを構成する処理対象画素の第二スクリーン画素値と処理対象画素に対応する第二合成係数とを乗算する。そして、それぞれ合成係数を乗算した第一画素値と第二画素値とを加算し、端数を四捨五入して合成後ハーフトーン画素値を求める。
【0067】
なお、出力階調数が少ない(たとえば2値)場合には、上記端数処理において、切り捨てと切り上げが一方に偏ると画像全体の濃度が保存されないことがある。これを避けるため、近傍領域内における端数処理前と端数処理後の画素値の平均がかい離しないよう構成することが望ましい。具体的には、切り捨てと切り上げの閾値を乱数によって求めたり、画素位置によって端数処理の閾値を変動させたりすることで、端数処理前と端数処理後の画素値平均の差を小さくすることが可能である。
【0068】
また、ステップ82やステップ85において、第一差分画素値の絶対値|p|と第二差分画素値の絶対値|s|のいずれも0にならない場合、近傍画素の差分画素値の合計が0となるように構成することも可能である。すなわち、差分画素値の絶対値が小さい方の差分値を繰り越して、後続の画素の処理において繰り越した差分値を、第一差分画素値あるいは第二差分画素値それぞれに加算してから合成係数算出処理を行う。このとき、誤差拡散法に準じて、隣接する複数の画素にそれぞれの位置に応じた係数を乗じた差分値を繰り越すように構成しても良い。
【0069】
以上のように、スクリーン処理した後の画像データと色分解後画像データとの差分の低周波成分に基づいて合成係数を決定する。これにより合成部26から得たハーフトーン画像データは、入力の色分解画素値との濃度差が全体として0に近づくように作用する。このため、モアレを抑制しながら濃度保存も実現した視覚的に好ましい出力画像を得ることが可能となる。
【実施例2】
【0070】
実施例1では、画像の特徴に関わらず全ての画素に対して同じ処理を行う例を示した。実施例2では、画像のエッジ量を考慮した例について説明する。なお、実施例1と同一な構成については、同じ符号を付して説明する。
【0071】
図9は、実施例2におけるハーフトーン処理部14(図1)の構成例を示す。実施例2では、ハーフトーン処理部14はエッジ抽出部97を有し、係数決定部98はエッジ抽出部97によるエッジ情報に基づいて合成係数を決定する。また、ハーフトーン処理部14は特性の異なる3つのスクリーン処理部を有している。
【0072】
図10は、一様な濃度の入力画像に対する第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部93による処理結果を示している。入力画像は、25%濃度の(a)、50%濃度の(b)、および75%濃度(c)である。第一スクリーン処理部91による処理結果はそれぞれ(d)、(e)、(f)であり、一般的な網点と同様の格子状の結果となる。第二スクリーン処理部92による処理結果は(g)、(h)、(j)であり、横縞状になっている。また第三スクリーン処理部93による処理結果は(k)、(m)、(n)であり、横縞状となっている。第二スクリーン処理部92、および、第三スクリーン処理部93が強い方向性を有している。すなわち、第二スクリーンおよび第三スクリーンは、第一スクリーンとは網点形状が異なり、特定の方向に線状に配列されたスクリーンである。
【0073】
図11は、線画像に対する第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部93による処理結果を示す。図11において(a)は25%濃度の横線画像、(b)は50%濃度の横線画像、(c)は75%濃度の横線画像である。
【0074】
第一スクリーン処理部91による処理結果はそれぞれ、(d)、(e)、(f)である。(d)では一部の線が欠落している。また、(f)では線によって濃淡の差が生じてしてまっている。第三スクリーン処理部93による処理結果はそれぞれ、(k)、(m)、(n)に示す。いずれの入力画像に対しても、欠落してしまう線がある。これらに対して、第二スクリーン処理部92による処理結果は、(g)、(h)、(j)に示すように、いずれの入力画像においても各線の濃度が均一で、欠落してない。
【0075】
以上のように、入力画像データに特定方向のエッジがある場合には、エッジと直交するスクリーンが好適である。よって本実施例では、一般的なスクリーン処理である第一スクリーン処理部91に加えて、それぞれ特定方向のエッジに最適化された第二スクリーン処理部92と第三スクリーン処理部93を用いる。本実施例では、横方向と縦方向のエッジに適したスクリーン処理を有しているが、これに限らず、必要に応じて異なる方向のエッジに適したスクリーン処理による構成としていればよい。
【0076】
次に実施例2における第一差分抽出部94、第二差分抽出部95、および第三差分抽出部96について説明する。これらの差分抽出部は、それぞれ第一差分画像データ、第二差分画像データ、第三差分画像データを算出する。第一実施例とほぼ同様である。
【0077】
実施例2における第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部による処理結果は、いずれも4×4画素ブロックの繰り返しパターンになる。そこで第一差分抽出部94、第二差分抽出部95、および第三差分抽出部96は、図12(a)のフィルタを用いてフィルタ処理をする。図12(a)に示すフィルタは、処理対象画素を含む4×4のサイズであり、各画素の係数が1/16である。あるいは、処理対象画素に対して対称な係数となるように、図12(b)のような構成にしても良い。いずれもフィルタ処理する画像データから、スクリーン周期を取り除くことができるように設計された空間フィルタである。
【0078】
以下、エッジ抽出部97について説明する。エッジ抽出部97は、特定方向のエッジに最適な第二スクリーン処理部92、ないし、第三スクリーン処理部93を適用すべきか否かを判定するために、エッジ量を抽出する。本実施例では、画素ごとにエッジかどうか、さらにエッジであるならば縦方向か横方向かを判定し、各画素に対してエッジ属性を設定する。
【0079】
エッジ抽出部97は図13(a)、(b)に示す空間フィルタを利用する。エッジ抽出部97は図13(a)のフィルタによるフィルタ処理結果が、所定閾値を超えた画素に対しては縦エッジと判定する。一方、図13(b)のフィルタによるフィルタ処理結果が、所定閾値を超えた画素に対しては横エッジと判定する。
【0080】
また、エッジ抽出部97は、図13(c)に示すフィルタを用いて図14のフロー図に従ってエッジを判定することも可能である。まず図13(c)に示す等方的係数のフィルタを用いてフィルタ処理した結果、エッジ量が所定閾値を超えた画素をエッジ画素として判定する。次に、各差分画素値の絶対値を比較することよって、エッジの方向を判別する。この方法では、図9では不図示であるが、エッジ抽出部97は第一差分抽出部94、第二差分抽出部95、第三差分抽出部96による第一差分画素値p、第二差分画素値s、および、第三差分画素値tを参照している。
【0081】
以下、図14に基づいてエッジ抽出部97の別方法を詳細に説明する。
【0082】
ステップ141は、エッジ量算出処理であり、図13(c)の係数のフィルタによるフィルタ処理し、フィルタ処理結果の絶対値をエッジ量とする。
【0083】
ステップ142は、ステップ141によるエッジ量を所定閾値と比較し、所定閾値以上であればステップ143以下によるエッジ方向判定へ、所定閾値未満であればエッジなしと判定してステップ145へと分岐する。
【0084】
ステップ143は、第一差分画素値pと第二差分画素値sとの絶対値を比較し、縦方向のエッジ成分を判別する。|p|≧|s|の場合は、縦方向のエッジ成分は小さいと判定して、ステップ144へ、|p|<|s|の場合は縦方向のエッジ成分が大きいと判定してステップ146へと分岐する。
【0085】
ステップ144は、第一差分画素値pと第三差分画素値tとの絶対値を比較し、横方向のエッジ成分を判別する。|p|≧|t|の場合は、横方向のエッジ成分が小さいと判定して、ステップ145へ、|p|<|t|の場合は横方向のエッジ成分が大きいと判定してステップ148へと分岐する。
【0086】
ステップ145は、エッジ量が所定閾値未満の場合、もしくは、第一差分画素値pの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、特定方向のエッジがないため、エッジ属性をエッジなしと設定する。
【0087】
ステップ146は、第二差分画素値sと第三差分画素値tとの絶対値を比較し、縦方向と横方向のどちらのエッジ成分が大きいを判別する。すなわち、|s|≧|t|の場合は、縦方向のエッジ成分が大きいと判定して、ステップ147へ、|s|<|t|の場合は横方向のエッジ成分が大きいと判定してステップ148へと分岐する。
【0088】
ステップ147は、第二差分画素値sの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、エッジ属性を縦方向エッジと設定する。
【0089】
ステップ148は、第三差分画素値tの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、エッジ属性を横方向エッジと設定する。
【0090】
以上のように、エッジ抽出部97は、第二スクリーン処理部92、および第三スクリーン処理部93それぞれの特性に対応するエッジの有無を判別することもできる。
【0091】
以下、実施例2における係数決定部98の処理について、図15を参照して説明する。図15(a)は係数決定部98が行う各画素に対する処理のフローを示し、図15(b)はさらに合成候補選択処理について詳細に示したフローである。
【0092】
ステップ151において、第一スクリーン画素値、第二スクリーン画素値、第三スクリーン画素値のうち、合成に用いる二つのスクリーン画素の候補を選択する。
【0093】
次に、ステップ152において、選択した二個の候補に対して、実施例1と同様の方法で対応する合成係数を決定する。このとき、ステップ151で選択しなかったスクリーン画素値に対する合成係数は0とする。なお、ステップ152は実施例1における係数決定部25(図8)と同様であり、詳細な説明は省略する。
【0094】
以下、ステップ151における合成候補選択処理について説明する。
【0095】
ステップ153では、縦エッジに該当するか否かを判定する。エッジ抽出部97によって処理対象画素のエッジ属性が縦エッジに設定されている場合はステップ154に、そうでない場合はステップ155に分岐する。
【0096】
ステップ154は、縦エッジが検出された画素に対する処理である。縦エッジの画素においては、縦エッジに適した第三スクリーン処理部による処理結果の第三スクリーン画素値と、汎用の第一スクリーン処理部による処理結果第一スクリーン画素値の2つを選択する。
【0097】
ステップ155では、横エッジに該当するか否かを判定する。処理対象画素のエッジ属性が横エッジに設定されている場合はステップ156に、そうでない場合はステップ157に分岐する。
【0098】
ステップ156は、横エッジが検出された画素に対する処理である。横エッジの画素においては、横エッジに適した第二スクリーン処理部による処理結果の第二スクリーン画素値と、汎用の第一スクリーン処理部による処理結果の第一スクリーン画素値の2つを選択する。
【0099】
ステップ157以下は、特定方向のエッジが検出されなかった画素に対する処理である。処理対象画素が特定方向のエッジではない場合、処理対象画素の3つの差分画素値によって合成に使用するスクリーン画素値を選択する。
【0100】
ステップ157では、処理対象画素の第一差分画素値、第二差分画素値、第三差分他措置の符号がすべて同一かどうかを判定し、すべて同符号の場合はステップ158に、そうでない場合はステップ159に分岐する。
【0101】
ステップ158は、特定方向のエッジではなく、かつ3つの差分画素値がすべて同符号である画素に対する処理であう。この場合、3つの差分画素値のうち、各差分画素値の絶対値が小さい順に2つのスクリーン画素値を選択する。
【0102】
ステップ159は、特定方向のエッジではなく、かつ全ての差分画素値の符号が同一ではない画素に対する処理である。この場合、3つ差分画素値のうち、2つは同符号であり、1つだけ2つのは異なる符号である。そこで差分画素値が負のものと、非負のものに分けて、それぞれの符号ごとに差分画素値の絶対値の最も小さいもの1つずつ選択する。つまり、異符号である差分画素値に対応するスクリーン画素値と、同符号である2つの差分画素値のうち絶対値が小さい方の差分画素値に対応するスクリーン画素値との2つを選択する。符号の異なる2つのスクリーン画素値を選択するのは、後続の合成部による処理で差分が相殺できるようにするためである。
【0103】
以上のように、実施例2における係数決定部98は、エッジ属性と差分画素値の評価によって、2種類のスクリーン画素値を選択する。その後、実施例1と同様に選択した2つのスクリーン画素値に対応する合成係数をそれぞれ決定し、また、選択しないスクリーンに対応する合成係数は0とすることで、合成係数を求めることができる。
【0104】
図16は、実施2による画像処理の例である。図16(a)は入力画像であり、50%濃度の線から構成される放射状線画像である。また、図16(b)は、入力画像図16(a)に対する第一スクリーン処理部91による処理結果の第一スクリーン画像データである。図16(b)は、入力画像図16(a)に対する第二スクリーン処理部92による処理結果の第二スクリーン画像データである。図16(c)は、入力画像の図16(a)に対する第三スクリーン処理部93による処理結果の第三スクリーン画像データである。さらに図16(e)は、実施例2に従って得られる合成後ハーフトーン画像データである。
【0105】
図16(b)において、第一スクリーン画像データは線の角度によって濃度に大きな差がある。また、図16(c)の第二スクリーン画像データと(d)の第三スクリーン画像データでは、角度によってジャギーが目立つ。これらに対し図16(e)の合成後ハーフトーン画像データでは、濃度差が目立たなくなっているうえ、ジャギーも改善されている。
【0106】
(変形例)
変形例では、前述の実施例においてより精度の高い処理をするため、合成後ハーフトーン画素値をフィードバックする構成について示す。なお、同一の構成については説明を省略する。
【0107】
図17の破線矢印に示すように、合成部26は第一差分抽出部23および第二差分抽出部24に、注目画素の合成後ハーフトーン画素値をフィードバックする。フィードバックされた注目画素の合成後ハーフトーン画素値は、各差分抽出部が有するRAM(不図示)に格納される。つまり、注目画素の画素値は、合成後ハーフトーン画素値に書き換えられる。第一差分抽出部23と第二差分抽出部24は、注目画素近傍の未処理画素に対してフィルタ処理する際は、RAMに格納された画素値を参照する。従って、処理済の画素は出力値である合成後ハーフトーン画素値が繁栄されるため、より精度良く濃度保存することができる。
【0108】
(その他の実施例)
前述の実施例および変形例では、ハーフトーン処理手段としてスクリーン処理のみを例に説明した。しかしながらハーフトーン処理手段はスクリーン処理に限られず、誤差拡散法などのハーフトーン処理を適用することもできる。入力画像に対して量子化して階調数を減らすハーフトーン処理によって、モアレ、細線の途切れ、エッジ部のジャギーといった欠陥が生じてしまうことがある。そこで前述の実施例および変形例を用いれば、入力画像との変化分が小さくなるようにハーフトーン画像を合成し、より高画質な出力を実現することができる。従って、前述の実施例や変形例に示したような入力画像をAMスクリーンに変換するスクリーン処理に限らず、入力画像をFMスクリーンに変換するハーフトーン処理をハーフトーン処理手段として用いてもよい。
【0109】
また、本発明は、上述した実施例の機能(例えば、上記のフロー図により示される機能)を実現するソフトウェアのコンピュータプログラムを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたコンピュータプログラムを読み出し実行することにより、上述した実施例の機能を実現する。
【技術分野】
【0001】
本発明は、ハーフトーン処理するものに関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)で処理した画像データを印刷することが広く行われている。しかしながら、画素あたりの階調数を比較すると、PC上で画像データを表現する階調数に対して、印刷装置や表示装置によって表現可能な階調数が少ない場合がある。このため、これら印刷装置や表示装置へ画像データを出力する時には、入力画像データの階調数を出力装置で表現可能な階調数に変換するハーフトーン処理がなされることが多い。
【0003】
ハーフトーン処理の1つとして、入力画像データを周期的に繰り返す閾値と比較することによって出力値を決定するスクリーン処理が知られている。ここでいうスクリーン処理では、面積階調で画像の濃淡を表現したAMスクリーン画像が得られるため、厳密にはAMスクリーン処理とも言われている。
【0004】
スクリーン処理した画像データには、視覚的に目立つ繰り返しパターン(モアレ)が発生し、画質が劣化する場合がある。スクリーン処理では、閾値の周期に近い空間周波数成分を含む入力画像に対して、モアレが生じることが知られている。また、入力画像が細線やエッジを含む場合、細線やエッジの角度とスクリーン処理に用いられるスクリーンのスクリーン角に近いと、細線・エッジ位置と閾値との位相の組み合わせにより、大きく濃度が変動してしまうことがある。
【0005】
従来、周波数特性の異なる複数のスクリーン処理手段を組み合わせることでモアレを低減する方法が提案されている。たとえば、入力階調値に応じて低線数と高線数のディザ処理(スクリーン処理)を選択する方法(特許文献1)がある。また、入力画像信号のパターン周期検出結果に応じてスクリーンを選択する方法(特許文献2)も開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−277808
【特許文献2】特開2006−254095
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら特許文献1では、入力画像の空間周波数成分とは無関係にディザ処理の線数を選択する。そのため、低線数のディザ処理を施してもモアレが目立たない場合にもかかわらず、高線数を選択して階調性が低下するおそれがある。
【0008】
また、特許文献2では、パターン周期検出が煩雑でありながら、エッジ位置とスクリーン閾値の位相の関係が考慮されていない。このため、エッジ部における濃度変動や欠落が改善できない。
【0009】
本発明の目的は、ハーフトーン処理を用いた画像処理装置において、高画質な出力画像を得ることにある。さらに、エッジ部を含む入力画像に対しても、高画質は出力画像得ることも目的とする。
【課題を解決するための手段】
【0010】
前記目的を達成するために本発明は、入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段とを有する。
【発明の効果】
【0011】
以上本発明によれば、ハーフトーン処理を用いた画像処理装置において、高画質な出力画像を得ることができる。さらに、エッジ部を含む入力画像に対しても高画質な出力画像を得ることができる。
【図面の簡単な説明】
【0012】
【図1】実施例1に示す画像処理装置を示す図
【図2】実施例1におけるハーフトーン処理部を示す図
【図3】スクリーン処理の概要を示す図
【図4】図3とは異なるスクリーン線数によるスクリーン処理の概要を示す図
【図5】スクリーン画像データの黒化面積の成長の様子を示す図
【図6】実施例1における第1差分抽出部を示す図
【図7】平滑フィルタ処理で用いられる平滑フィルタを示す図
【図8】実施例1における係数決定処理のフローを示す図
【図9】本発明に係る実施例2におけるハーフトーン処理部を示す図
【図10】実施例2における一様な濃度の画像データに対する各スクリーン処理部による処理結果を示す図
【図11】実施例2におけるエッジを含む画像データに対する各スクリーン処理部による処理結果を示す図
【図12】実施例2における平滑フィルタを示す図
【図13】実施例2におけるエッジ抽出部で用いられるエッジ抽出フィルタの例を示す図
【図14】エッジ判定方法の例を示す図
【図15】実施例2における係数決定処理のフロー図
【図16】実施例2による画像処理結果を示す図
【図17】変形例におけるハーフトーン処理部を示す図
【発明を実施するための形態】
【0013】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例1】
【0014】
図1は本実施例に係る画像処理装置10の構成例を示すブロック図である。図1において画像処理装置10は、画像読み取り部11、描画部12、色分解部13、ハーフトーン処理部14、画像出力部15によって構成される。
【0015】
画像読取部11は、原稿を読み取り、入力画像データを得るためのものである。画像読取部11は必要に応じてコントラスト補正など、精度よく原稿を読み取るための画像処理を含んでいても良い。
【0016】
描画部12は、印刷動作時にホスト・コンピュータ(不図示)から受信した印刷データを、画像読取部11が出力する入力画像データと同様の形式に変換するためのものである。印刷データとしては一般に、画像データ、線の位置、方向、および長さによって構成されるベクトル・データや文字の符号とフォント情報からなる文書データなどが利用されている。これらの印刷データでは、送受信の時間短縮や記憶容量削減のため、しばしば圧縮されている。また、必要に応じて複数の形式の組み合わせが利用されていることもある。
【0017】
なお本実施例では、画像読み取り部11もしくは描画部12から取得する入力画像データはレッド(R)、グリーン(R)、ブラック(K)の3つの色成分により構成されている。
【0018】
色分解部13は、画像読取部11もしくは描画部12から得た入力画像データを画像出力部15が備えた色材色に応じた色データに変換する。本実施例における色材色は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブルー(B)の4種類である。そのため、RGBのカラー入力画像データは、CMYK色分解画像データに変換される。
【0019】
色分解部13は、必要に応じて色域マッピング処理を行ってもよい。また、入力画像データと出力画像データ間の濃度曲線を整合させるためのガンマ変換を含む構成となっていても良い。
【0020】
ハーフトーン処理部14は、画像出力部15が再現可能な階調数に応じて、色分解画像データに対してハーフトーン処理を施す。ここでは、256階調で表された入力画像データを16階調のハーフトーン画像データに変換する例について説明するが、これとは異なる階調数の画像データでもよい。ハーフトーン処理部14の詳細については後述する。
【0021】
画像出力部15は、ハーフトーン処理部14が生成したハーフトーン画像データに基づいて色材を使用して、出力媒体上に画像を形成する。画像出力部15は、たとえば、インクを吐出するインクジェット・プロセス、あるいは静電気を利用してトナーを転写する電子写真プロセスを用いて出力媒体上に画像を形成する。
【0022】
図2は、図1におけるハーフトーン処理部14を詳細に示す図である。ハーフトーン処理部14は、色分解画像データの各色成分別に独立して処理を行う。各色成分に対して同様の処理をするため、以下1色分の色分解画像データを例に説明する。
【0023】
第一スクリーン処理部21および第二スクリーン処理部22は、それぞれ色分解画像データを第一スクリーン画像データおよび第二のスクリーン画像データに変換する。
【0024】
第一スクリーン処理部21におけるスクリーン処理と第二スクリーン処理部22におけるスクリーン処理は、色分解画像データに対して異なるスクリーン処理を施す。つまり第一スクリーン画像データと第二スクリーン画像データは異なるデータとなる。具体的にはスクリーン線数、スクリーン角、成長形状(たとえばドット成長や線成長など)、あるいは、網点位相などが異なっている。異なる複数のスクリーン処理を有することにより、第一スクリーン画像データ、および第二のスクリーン画像データのいずれか一方でモアレが目立つ場合でも、他方ではモアレが目立たないか、他方でもモアレが発生していても位相が異なるようになる。
【0025】
第一差分抽出部23は、第一スクリーン画像データと色分解画像データとの差分の低周波成分を抽出する。また、第二差分抽出部24は第二のスクリーン画像データと色分解画像データとの差分の低周波成分を抽出する。各低周波成分は、色分解画像データとスクリーン画像データとの差分から、スクリーン画像データのスクリーン周波数付近より高域の周波数成分を取り除いた成分である。低周波帯域において、色分解画像データとスクリーン画像データとの差分が大きい場合、モアレ、細線の途切れ、エッジ部におけるジャギーなどが視認できるほど顕著に発生し、画質の低下を招いていることが多い。そこで各差分抽出部は、スクリーン画像データの画質を評価するため、色分解画像データとスクリーン画像データとの差分の低周波成分を抽出する。なお、第一差分抽出部23および第二差分抽出部24が抽出した差分値を、それぞれ第一差分画像データ、および第二差分画像データとする。差分抽出部についての詳細は別途説明する。
【0026】
係数決定部25は、第一差分抽出部23から得た第一差分画像データと第二差分抽出部24から得た第二差分画像データを評価し、第一スクリーン画像データと第二のスクリーン画像データに対する画素毎の合成係数を決定する。係数決定部25における合成係数を決定する方法の詳細は別途説明する。
【0027】
合成部26は、係数決定部25によって決定された合成係数に基づいて第一スクリーン画像データと第二のスクリーン画像データとを合成し、ハーフトーン画像データを作成する。本実施例では、各スクリーン画像データに対応する合成係数を乗じたデータを加算する。
【0028】
以上の構成により、特性の異なる2つのスクリーン処理による結果を適切に合成し、モアレの少ない高品質がハーフトーン画像を得ることができる。
【0029】
以下、ハーフトーン処理部14を構成する各部の詳細についてそれぞれ説明する。
【0030】
図3は第一スクリーン処理部21と第二スクリーン処理部22が行うスクリーン処理の概要を説明する図である。スクリーン処理は、色分解画像データにおける処理対象画素の画素値と処理対象画素の位置に対応する濃度曲線とからスクリーン画素値を決定する。スクリーン処理では、全画素に対してスクリーン画素値の決定し、スクリーン画像データを生成する。
【0031】
図3(a)は、第一スクリーン処理部21における画素位置と濃度曲線との対応関係を示す図である。色分解画像データを構成する各画素に対して、A,B,C,D,ないしEいずれかの濃度曲線が対応している。画素位置と濃度曲線の対応は、5×5の画像領域31の繰り返しとなっている。ここでは処理対象画素の縦横の座標を読み取り、座標を5で割った剰余と、画像領域31内の各画素と濃度曲線の対応によって、処理対象画素の濃度曲線を決定する。
【0032】
図3(b)は、A,B,C,D,ないしE濃度曲線を示す。濃度曲線は色分解画像データの画素値(入力)とスクリーン画素値(出力)との理想的関係を示す。入力に対する出力の感度が高い順に、A,B,C,D,Eとなっている。感度が高い濃度曲線Aにおいては、入力値51に対して出力値が3になるが、他の濃度曲線B,C,D、Eでは同じ入力値51に対する出力値は0である。
【0033】
図3(b)に対して、全ての入力値に対応する出力値が整数となるように量子化(四捨五入)したものが図3(c)である。図3(b)における出力値0.5未満を0とし、出力値0.5以上1.5未満を1というように変換している。本実施例では、入力値となる色分解画像データの各画素値は0以上255以下の整数値であり、出力値となる各スクリーン画素値は0以上3以下の整数値である。スクリーン画像データの量子化値は、画像出力部15の表現能力に応じて決定すると好適である。ここでは、スクリーン画素データは0以上3以下の整数による4値の例を示すが、任意の量子化値に適用可能である。
【0034】
上記のように、第一スクリーン処理部21は、図3(a)と(c)に基づいて、色分解画像データにおける処理対象画素の位置に対応する濃度曲線を決定し、処理対象画素のスクリーン画素値を求める。たとえば、図3(a)の画素32の画素値が51だったとすると、まず図3(a)より濃度曲線Aが選択される。次に図3(c)の濃度曲線Aを参照し、入力された画素値51に対応する3が画素32のスクリーン画素値として得られる。
【0035】
図5(a)は、第一スクリーン処理部21における黒化面積の成長の様子を示している。濃度曲線AからEの5画素合計で見ると、面積比応じて0/15から15/15までの16階調の表現が可能であることがわかる。各画素は4値化されたスクリーン画素値に基づいて、黒化面積が決定される。第一スクリーン処理部21では図5(a)に示したように黒化面積が成長していく。以上の処理によって第一スクリーン処理部は、256階調の色分解画素データを16階調のスクリーン画素データに変換する。
【0036】
同様に、図3(d)は、第二スクリーン処理部22における画素位置と濃度曲線との対応関係を示している。第一スクリーン処理部21で参照される図3(a)とは位相が異なっている。図3の(a)および(c)どちらも大きさ5×5である画像領域31と画像領域35は、色分解画像データにおいて同じ画素位置に対応している。それぞれを比較すると、画像領域31において濃度曲線Aを選択する画素位置において、画像領域35では濃度曲線Eを選択している。濃度曲線の対応関係は、A→E、B→D、C→C、D→B、E→Aとなっている。これは、図3(c)における入力に対する出力の感度が、(a)とは逆順となるように設定されている。そのため図5(a)で示した第1スクリーン処理部における黒化面積の成長とは逆順に、黒化面積が成長する。
【0037】
図5(b)と(c)は、全ての画素値が102である一様な色分解画像データを入力した場合の、第一スクリーン画像データと第二スクリーン画像データを示している。
【0038】
図5(b)と(c)では、濃度曲線としてAまたはBが選択された画素位置において、スクリーン画素値が3となる。また、濃度曲線C,D,のいずれかが選択された画素位置)ではスクリーン画素値は0となる。
【0039】
以上のように、画素位置と濃度曲線との関係を変えることで、色分解画像データの入力を共通とした場合でも、相異なる第一スクリーン画像データと第二スクリーン画像データを得ることができる。
【0040】
第一スクリーン処理部21とは異なる特性のスクリーン処理を行う第二のスクリーン処理部は前述の例に限られない。
【0041】
図3(e)は、図3(a)とはスクリーン角の異なる画素位置と濃度曲線との対応関係である。スクリーン角は、図3(a)における画素32と画素32に対応する濃度曲線Aと同じ濃度曲線Aが対応する最も距離の近い画素とを通る直線33で示される。これに対して、図3(e)におけるスクリーン角を示す直線37は、直線33とは方向が異なっていることで確認できる。図3(e)によるスクリーン処理は、図3(a)とはスクリーン角が異なるため、図3(a)を用いたスクリーン処理とは異なる角度のエッジに対して、良好なスクリーン処理ができる。このため、本実施例にこれら2種類のスクリーンを適応的に組み合わせることで、多方向のエッジを含む画像に対してより好適なスクリーン処理が可能となる。
【0042】
また図4(a)は、図3(a)とはスクリーン線数の異なる画素位置と濃度曲線との対応関係である。図4(b)は、図4(a)に対応する濃度曲線毎の色分解画像データの画素値(入力)とスクリーン画素値(出力)との関係を示す図である。
【0043】
図3(a)における濃度曲線Aの画素32に対して、図4(a)では濃度曲線A1,A2,A3,A4の4画素領域41が対応している。図4(a)では、大きさ10×10である画像領域42の繰り返しパターンで画素位置と濃度曲線との対応関係が決定している。また、図4(b)では、濃度曲線A1,A2,A3,A4の平均が図3(b)における濃度曲線Aと等しくなっている。他の濃度曲線についても同様に、対応する4画素の濃度曲線の平均が図3(b)における濃度曲線と等しくなるように設定する。
【0044】
以上のように図4(a)は、図3(a)と比較して繰返しパターンの周期が各座標軸で2倍、つまり、半分のスクリーン線数に相当するスクリーン処理を行うことができる。図4に示すスクリーン処理は、図3(a)と比較して低線数であり、階調性において優れているが、解像度では劣る。このため、本実施例にこれら2種類のスクリーンを適応的に組み合わせることで、より好適なスクリーン処理が可能となる。
【0045】
図6は第一差分抽出部23における差分抽出処理について説明する図である。以下、第一差分抽出部23の場合について説明するが、第二差分抽出部も同様である。
【0046】
第一差分抽出部23は、色分解画像データと第一スクリーン画像データから、第一差分画像データを算出する。第一差分画像データは、各画素の第一差分画素値の集合体である。
【0047】
図6(a)は本実施例における第一差分抽出部23の構成を示すブロック図である。画素値調整部61は、色分解画像データの値域(0以上255以下)と、第一スクリーン画像データの値域(0以上3以下)との尺度をあわせるためのものである。画素値調整部61は、第一スクリーン画像データの各スクリーン画素値に対して85倍(85=255/3)し、出力する。具体的には0、1、2、3いずれかであるスクリーン画素値がそれぞれ、0、85、170、255に調整される。
【0048】
第一平滑フィルタ部62は色分解画像データに対してフィルタ処理をする。また第二平滑フィルタ部63は、調整された第一スクリーン画像データに対してフィルタ処理を行う。第一平滑フィルタ部62で用いられるフィルタと第二平滑フィルタ部63で用いられるフィルタは、同一のフィルタ係数による空間フィルタである。各平滑フィルタ処理は、スクリーン周期を取り除くため、スクリーン周波数よりも高域の周波数成分を除去している。好ましいフィルタ係数の決定方法については別途説明する。
【0049】
差分算出部64は、各画素において第一平滑フィルタ部62からの出力データと第二平滑フィルタ部63からの出力データとの差分を算出し、第一差分画像データを出力する。第一差分画像データは、スクリーン周期を取り除かれた第一スクリーン画像データと色分解画像データとの差分である。つまり、当該差分の低周波成分を算出している。
【0050】
モアレは、入力画像がスクリーン周期と干渉し、入力画像の高周波成分がスクリーン周期の空間周波数よりも低域に折り返すことによって出現する、視認可能な周期的パターンである。よって、スクリーン画像データと色分解画像データとの差分に対して、スクリーン周期より高域の周波数成分を取り除くようなフィルタ処理を適用することにより抽出される低周波成分はモアレ成分に相当する。
【0051】
なお、第一平滑フィルタ部62と第二平滑フィルタ部63が同一の線形特性を持つ場合は、図6(a)は、図6(b)のように構成することも可能である。画素値調整部65は画素値調整部61と同様に、第一スクリーン画像データ全ての画素に対して画素値の調整をする。差分算出部66は、対応する処理対象画素において、色分解画像データの画素値と調整された第一スクリーン画像データのスクリーン画素値との差分を算出する。その後に、平滑フィルタ部67により平滑化を行う。
【0052】
以下、第一平滑フィルタ部62と第二平滑フィルタ部63、あるいは平滑フィルタ部67における平滑フィルタのフィルタ係数について説明する。これら平滑フィルタのフィルタ係数は、第一スクリーン処理部21のスクリーン処理に応じて決定することが好ましい。前述のとおり第一スクリーン処理部21では、図3(a)のように、5×5画素領域31の繰り返しパターンによってスクリーン処理する。従って、第一スクリーン処理部21による処理結果、第一スクリーン画像データも同様に5×5画素の繰り返し周期をもつ。そこで、第一平滑フィルタ処理62および第二平滑フィルタ部は、図7(a)の係数による空間フィルタを用いる。空間フィルタ(a)は、処理対象画素を含む5×5画素領域内の平均を算出する。これによりフィルタ処理する画像データのスクリーン周期を取り除く。
【0053】
上記空間フィルタへの入力画素群は、第一スクリーン処理部21における繰り返しパターンの境界に合わせても良い。あるいは、処理対象画素が図7(a)の中心画素71となるように、画素単位の移動平均値としても良い。
【0054】
また、他の構成例として、図7(b)に示すように、処理対象画素が中心画素72となるような3×3画素領域の空間フィルタとしても良い。本実施例の場合、どの3×3画素領域をとっても、中心となる処理対象画素と同一の濃度曲線を使用する画素は3×3画素領域内にほかになく、処理対象画素と異なる濃度曲線の画素はそれぞれ2つずつ3×3画素領域内に含まれている。たとえば、図7(c)の画素領域73において、濃度曲線Aの画素は中心の1画素のみで、濃度曲線B,C,D,Eとなる画素は画素領域73内に2画素ずつとなっている。濃度曲線Bとなる画素を中心とする画素領域74や濃度曲線Cとなる画素を中心とする画素領域75についても同様である。よって、各濃度曲線に対する係数の合計が2/10となるようにするため、中心画素75の係数を2/10、他の画素の係数を1/10としたものが図7(b)である。図7(d)のように、中心画素76に近い画素が大きな重みとなるような係数としても良い。
【0055】
なお、ここでは平均濃度を算出する平滑フィルタ処理を構成としたが、必ずしも厳密な平均値を算出しなくても同様の効果を得られる。色分解画像データとスクリーン画像データとの差分に対して、高域の周波数成分を除去する処理となっていればよい。
【0056】
以上のように、各平滑フィルタ処理に用いられるフィルタのフィルタ係数は、対応するスクリーン処理部の繰り返しパターンに合わせて、濃度曲線別の係数合計が均等になるように構成すると好適である。
【0057】
以下、係数決定部25の詳細について説明する。図8は係数決定部25において合成係数を算出するフローを示す図である。合成係数とは、処理対象画素において、第一スクリーン画素値と第二スクリーン画素値を合成するための係数である。係数決定部25は、画素ごとに第一差分画素値と第二差分画素値とから、処理対象画素における合成係数を算出する。第一スクリーン画素値に乗算する第一合成係数と第二スクリーン画素値に乗算する第二合成係数とする。それぞれの合成係数は非負であり、かつ、第一合成係数と第二合成係数との和が1である。
【0058】
ステップ81では、第一差分画素値pが0であるか否かを判定する。これは、後続のステップ86において、0による除算を回避するためである。第一差分画素値pが0である場合にはステップ82に、0でない場合にはステップ83に分岐する。なお、ステップ81において、必ずしも厳密に0と等しいか否かを判定する必要はなく、ごく小さな閾値未満である場合pを0とみなしてもよい。
【0059】
ステップ83では、第一差分画素値pと第二差分画素値sの符号(正負)を比較する。両者が同一の場合はステップ84に、異なる場合はステップ86に分岐する。
【0060】
ステップ86において、第一差分画素値pと第二差分画素値sとが異符号である場合、式(1)、(2)の通りに合成係数を算出する。ただしc1は第一合成係数、c2は第二合成係数である。
c1=|s|/(|p|+|s|) ・・・式(1)
c2=|p|/(|p|+|s|) ・・・式(2)
このようにして算出したc1およびc2は、c1×p+c2×s=0を満たす。
【0061】
一方、第一差分画素値pと第二差分画素値sが同符号である場合、ステップ84において、第一差分画素値pと第二差分画素値sとの絶対値を比較する。両者が同一か、あるいは、第一差分画素値の絶対値|p|が0により近い場合にはステップ82に、第二差分画素値の絶対値|s|が0により近い場合にはステップ85に分岐する。
【0062】
ステップ82は、第一差分画素値pが0である場合、もしくは、第一差分画素値pと第二差分画素値sが同一符号で、かつ、両者が等しい、ないし、第一差分画素値pの方がより0に近い場合の処理である。差分画素値が小さい方が好ましいため、第一スクリーン画素値を最終的な出力値である合成後ハーフトーン画素値となるようにする。よって、第一スクリーン画素値に乗算する第一合成係数を1、第二スクリーン画素値に乗算する第二合成係数を0に設定する。
【0063】
ステップ85は、第一差分画素値pと第二差分画素値sが同一符号で、かつ、第二差分画素値sの方がより0に近い場合の処理である。ステップ82と同様に差分画素値が小さい方が好ましいため、第二スクリーン画素値が最終的な出力値である合成後ハーフトーン画素値となるようにする。よって、第一スクリーン画素値に乗算する第一合成係数を0、第二スクリーン画素値に乗算する第二合成係数を1に設定する。
【0064】
係数決定部25は、以上の合成係数決定処理により各画素における第一合成係数と第二合成係数を算出する。合成係数は、第一スクリーン画素値と第二スクリーン画素値とを合成し、合成後ハーフトーン画素値を算出するための係数である。係数決定部25は、第一差分値と第二差分値が異符号の場合、式(1)と式(2)を用いて、合成後ハーフトーン画素値と色分解画素値との差分の全画素における平均値が0に近づくように合成係数を決定する。また第一差分値と第二差分値が同符号である場合、より色分解画素値に近い方のスクリーン画素値が選択されるように合成係数を決定する。これにより、モアレを低減しながら濃度保存を考慮したスクリーン画像データの合成をすることができる。
【0065】
なお、本実施例ではフローチャートに従って合成係数を決定したが、ルックアップテーブル(LUT)を用いてもよい。
【0066】
合成部26は、第一スクリーン画像データと第二スクリーン画像データを合成する。具体的には、画素ごとに合成する。第一スクリーン画像データを構成する処理対象画素の第一スクリーン画素値と処理対象画素に対応する第一合成係数とを乗算する。同様に、第二スクリーン画像データを構成する処理対象画素の第二スクリーン画素値と処理対象画素に対応する第二合成係数とを乗算する。そして、それぞれ合成係数を乗算した第一画素値と第二画素値とを加算し、端数を四捨五入して合成後ハーフトーン画素値を求める。
【0067】
なお、出力階調数が少ない(たとえば2値)場合には、上記端数処理において、切り捨てと切り上げが一方に偏ると画像全体の濃度が保存されないことがある。これを避けるため、近傍領域内における端数処理前と端数処理後の画素値の平均がかい離しないよう構成することが望ましい。具体的には、切り捨てと切り上げの閾値を乱数によって求めたり、画素位置によって端数処理の閾値を変動させたりすることで、端数処理前と端数処理後の画素値平均の差を小さくすることが可能である。
【0068】
また、ステップ82やステップ85において、第一差分画素値の絶対値|p|と第二差分画素値の絶対値|s|のいずれも0にならない場合、近傍画素の差分画素値の合計が0となるように構成することも可能である。すなわち、差分画素値の絶対値が小さい方の差分値を繰り越して、後続の画素の処理において繰り越した差分値を、第一差分画素値あるいは第二差分画素値それぞれに加算してから合成係数算出処理を行う。このとき、誤差拡散法に準じて、隣接する複数の画素にそれぞれの位置に応じた係数を乗じた差分値を繰り越すように構成しても良い。
【0069】
以上のように、スクリーン処理した後の画像データと色分解後画像データとの差分の低周波成分に基づいて合成係数を決定する。これにより合成部26から得たハーフトーン画像データは、入力の色分解画素値との濃度差が全体として0に近づくように作用する。このため、モアレを抑制しながら濃度保存も実現した視覚的に好ましい出力画像を得ることが可能となる。
【実施例2】
【0070】
実施例1では、画像の特徴に関わらず全ての画素に対して同じ処理を行う例を示した。実施例2では、画像のエッジ量を考慮した例について説明する。なお、実施例1と同一な構成については、同じ符号を付して説明する。
【0071】
図9は、実施例2におけるハーフトーン処理部14(図1)の構成例を示す。実施例2では、ハーフトーン処理部14はエッジ抽出部97を有し、係数決定部98はエッジ抽出部97によるエッジ情報に基づいて合成係数を決定する。また、ハーフトーン処理部14は特性の異なる3つのスクリーン処理部を有している。
【0072】
図10は、一様な濃度の入力画像に対する第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部93による処理結果を示している。入力画像は、25%濃度の(a)、50%濃度の(b)、および75%濃度(c)である。第一スクリーン処理部91による処理結果はそれぞれ(d)、(e)、(f)であり、一般的な網点と同様の格子状の結果となる。第二スクリーン処理部92による処理結果は(g)、(h)、(j)であり、横縞状になっている。また第三スクリーン処理部93による処理結果は(k)、(m)、(n)であり、横縞状となっている。第二スクリーン処理部92、および、第三スクリーン処理部93が強い方向性を有している。すなわち、第二スクリーンおよび第三スクリーンは、第一スクリーンとは網点形状が異なり、特定の方向に線状に配列されたスクリーンである。
【0073】
図11は、線画像に対する第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部93による処理結果を示す。図11において(a)は25%濃度の横線画像、(b)は50%濃度の横線画像、(c)は75%濃度の横線画像である。
【0074】
第一スクリーン処理部91による処理結果はそれぞれ、(d)、(e)、(f)である。(d)では一部の線が欠落している。また、(f)では線によって濃淡の差が生じてしてまっている。第三スクリーン処理部93による処理結果はそれぞれ、(k)、(m)、(n)に示す。いずれの入力画像に対しても、欠落してしまう線がある。これらに対して、第二スクリーン処理部92による処理結果は、(g)、(h)、(j)に示すように、いずれの入力画像においても各線の濃度が均一で、欠落してない。
【0075】
以上のように、入力画像データに特定方向のエッジがある場合には、エッジと直交するスクリーンが好適である。よって本実施例では、一般的なスクリーン処理である第一スクリーン処理部91に加えて、それぞれ特定方向のエッジに最適化された第二スクリーン処理部92と第三スクリーン処理部93を用いる。本実施例では、横方向と縦方向のエッジに適したスクリーン処理を有しているが、これに限らず、必要に応じて異なる方向のエッジに適したスクリーン処理による構成としていればよい。
【0076】
次に実施例2における第一差分抽出部94、第二差分抽出部95、および第三差分抽出部96について説明する。これらの差分抽出部は、それぞれ第一差分画像データ、第二差分画像データ、第三差分画像データを算出する。第一実施例とほぼ同様である。
【0077】
実施例2における第一スクリーン処理部91、第二スクリーン処理部92、および第三スクリーン処理部による処理結果は、いずれも4×4画素ブロックの繰り返しパターンになる。そこで第一差分抽出部94、第二差分抽出部95、および第三差分抽出部96は、図12(a)のフィルタを用いてフィルタ処理をする。図12(a)に示すフィルタは、処理対象画素を含む4×4のサイズであり、各画素の係数が1/16である。あるいは、処理対象画素に対して対称な係数となるように、図12(b)のような構成にしても良い。いずれもフィルタ処理する画像データから、スクリーン周期を取り除くことができるように設計された空間フィルタである。
【0078】
以下、エッジ抽出部97について説明する。エッジ抽出部97は、特定方向のエッジに最適な第二スクリーン処理部92、ないし、第三スクリーン処理部93を適用すべきか否かを判定するために、エッジ量を抽出する。本実施例では、画素ごとにエッジかどうか、さらにエッジであるならば縦方向か横方向かを判定し、各画素に対してエッジ属性を設定する。
【0079】
エッジ抽出部97は図13(a)、(b)に示す空間フィルタを利用する。エッジ抽出部97は図13(a)のフィルタによるフィルタ処理結果が、所定閾値を超えた画素に対しては縦エッジと判定する。一方、図13(b)のフィルタによるフィルタ処理結果が、所定閾値を超えた画素に対しては横エッジと判定する。
【0080】
また、エッジ抽出部97は、図13(c)に示すフィルタを用いて図14のフロー図に従ってエッジを判定することも可能である。まず図13(c)に示す等方的係数のフィルタを用いてフィルタ処理した結果、エッジ量が所定閾値を超えた画素をエッジ画素として判定する。次に、各差分画素値の絶対値を比較することよって、エッジの方向を判別する。この方法では、図9では不図示であるが、エッジ抽出部97は第一差分抽出部94、第二差分抽出部95、第三差分抽出部96による第一差分画素値p、第二差分画素値s、および、第三差分画素値tを参照している。
【0081】
以下、図14に基づいてエッジ抽出部97の別方法を詳細に説明する。
【0082】
ステップ141は、エッジ量算出処理であり、図13(c)の係数のフィルタによるフィルタ処理し、フィルタ処理結果の絶対値をエッジ量とする。
【0083】
ステップ142は、ステップ141によるエッジ量を所定閾値と比較し、所定閾値以上であればステップ143以下によるエッジ方向判定へ、所定閾値未満であればエッジなしと判定してステップ145へと分岐する。
【0084】
ステップ143は、第一差分画素値pと第二差分画素値sとの絶対値を比較し、縦方向のエッジ成分を判別する。|p|≧|s|の場合は、縦方向のエッジ成分は小さいと判定して、ステップ144へ、|p|<|s|の場合は縦方向のエッジ成分が大きいと判定してステップ146へと分岐する。
【0085】
ステップ144は、第一差分画素値pと第三差分画素値tとの絶対値を比較し、横方向のエッジ成分を判別する。|p|≧|t|の場合は、横方向のエッジ成分が小さいと判定して、ステップ145へ、|p|<|t|の場合は横方向のエッジ成分が大きいと判定してステップ148へと分岐する。
【0086】
ステップ145は、エッジ量が所定閾値未満の場合、もしくは、第一差分画素値pの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、特定方向のエッジがないため、エッジ属性をエッジなしと設定する。
【0087】
ステップ146は、第二差分画素値sと第三差分画素値tとの絶対値を比較し、縦方向と横方向のどちらのエッジ成分が大きいを判別する。すなわち、|s|≧|t|の場合は、縦方向のエッジ成分が大きいと判定して、ステップ147へ、|s|<|t|の場合は横方向のエッジ成分が大きいと判定してステップ148へと分岐する。
【0088】
ステップ147は、第二差分画素値sの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、エッジ属性を縦方向エッジと設定する。
【0089】
ステップ148は、第三差分画素値tの絶対値より大きな絶対値の差分画素値が他にない場合の処理であり、エッジ属性を横方向エッジと設定する。
【0090】
以上のように、エッジ抽出部97は、第二スクリーン処理部92、および第三スクリーン処理部93それぞれの特性に対応するエッジの有無を判別することもできる。
【0091】
以下、実施例2における係数決定部98の処理について、図15を参照して説明する。図15(a)は係数決定部98が行う各画素に対する処理のフローを示し、図15(b)はさらに合成候補選択処理について詳細に示したフローである。
【0092】
ステップ151において、第一スクリーン画素値、第二スクリーン画素値、第三スクリーン画素値のうち、合成に用いる二つのスクリーン画素の候補を選択する。
【0093】
次に、ステップ152において、選択した二個の候補に対して、実施例1と同様の方法で対応する合成係数を決定する。このとき、ステップ151で選択しなかったスクリーン画素値に対する合成係数は0とする。なお、ステップ152は実施例1における係数決定部25(図8)と同様であり、詳細な説明は省略する。
【0094】
以下、ステップ151における合成候補選択処理について説明する。
【0095】
ステップ153では、縦エッジに該当するか否かを判定する。エッジ抽出部97によって処理対象画素のエッジ属性が縦エッジに設定されている場合はステップ154に、そうでない場合はステップ155に分岐する。
【0096】
ステップ154は、縦エッジが検出された画素に対する処理である。縦エッジの画素においては、縦エッジに適した第三スクリーン処理部による処理結果の第三スクリーン画素値と、汎用の第一スクリーン処理部による処理結果第一スクリーン画素値の2つを選択する。
【0097】
ステップ155では、横エッジに該当するか否かを判定する。処理対象画素のエッジ属性が横エッジに設定されている場合はステップ156に、そうでない場合はステップ157に分岐する。
【0098】
ステップ156は、横エッジが検出された画素に対する処理である。横エッジの画素においては、横エッジに適した第二スクリーン処理部による処理結果の第二スクリーン画素値と、汎用の第一スクリーン処理部による処理結果の第一スクリーン画素値の2つを選択する。
【0099】
ステップ157以下は、特定方向のエッジが検出されなかった画素に対する処理である。処理対象画素が特定方向のエッジではない場合、処理対象画素の3つの差分画素値によって合成に使用するスクリーン画素値を選択する。
【0100】
ステップ157では、処理対象画素の第一差分画素値、第二差分画素値、第三差分他措置の符号がすべて同一かどうかを判定し、すべて同符号の場合はステップ158に、そうでない場合はステップ159に分岐する。
【0101】
ステップ158は、特定方向のエッジではなく、かつ3つの差分画素値がすべて同符号である画素に対する処理であう。この場合、3つの差分画素値のうち、各差分画素値の絶対値が小さい順に2つのスクリーン画素値を選択する。
【0102】
ステップ159は、特定方向のエッジではなく、かつ全ての差分画素値の符号が同一ではない画素に対する処理である。この場合、3つ差分画素値のうち、2つは同符号であり、1つだけ2つのは異なる符号である。そこで差分画素値が負のものと、非負のものに分けて、それぞれの符号ごとに差分画素値の絶対値の最も小さいもの1つずつ選択する。つまり、異符号である差分画素値に対応するスクリーン画素値と、同符号である2つの差分画素値のうち絶対値が小さい方の差分画素値に対応するスクリーン画素値との2つを選択する。符号の異なる2つのスクリーン画素値を選択するのは、後続の合成部による処理で差分が相殺できるようにするためである。
【0103】
以上のように、実施例2における係数決定部98は、エッジ属性と差分画素値の評価によって、2種類のスクリーン画素値を選択する。その後、実施例1と同様に選択した2つのスクリーン画素値に対応する合成係数をそれぞれ決定し、また、選択しないスクリーンに対応する合成係数は0とすることで、合成係数を求めることができる。
【0104】
図16は、実施2による画像処理の例である。図16(a)は入力画像であり、50%濃度の線から構成される放射状線画像である。また、図16(b)は、入力画像図16(a)に対する第一スクリーン処理部91による処理結果の第一スクリーン画像データである。図16(b)は、入力画像図16(a)に対する第二スクリーン処理部92による処理結果の第二スクリーン画像データである。図16(c)は、入力画像の図16(a)に対する第三スクリーン処理部93による処理結果の第三スクリーン画像データである。さらに図16(e)は、実施例2に従って得られる合成後ハーフトーン画像データである。
【0105】
図16(b)において、第一スクリーン画像データは線の角度によって濃度に大きな差がある。また、図16(c)の第二スクリーン画像データと(d)の第三スクリーン画像データでは、角度によってジャギーが目立つ。これらに対し図16(e)の合成後ハーフトーン画像データでは、濃度差が目立たなくなっているうえ、ジャギーも改善されている。
【0106】
(変形例)
変形例では、前述の実施例においてより精度の高い処理をするため、合成後ハーフトーン画素値をフィードバックする構成について示す。なお、同一の構成については説明を省略する。
【0107】
図17の破線矢印に示すように、合成部26は第一差分抽出部23および第二差分抽出部24に、注目画素の合成後ハーフトーン画素値をフィードバックする。フィードバックされた注目画素の合成後ハーフトーン画素値は、各差分抽出部が有するRAM(不図示)に格納される。つまり、注目画素の画素値は、合成後ハーフトーン画素値に書き換えられる。第一差分抽出部23と第二差分抽出部24は、注目画素近傍の未処理画素に対してフィルタ処理する際は、RAMに格納された画素値を参照する。従って、処理済の画素は出力値である合成後ハーフトーン画素値が繁栄されるため、より精度良く濃度保存することができる。
【0108】
(その他の実施例)
前述の実施例および変形例では、ハーフトーン処理手段としてスクリーン処理のみを例に説明した。しかしながらハーフトーン処理手段はスクリーン処理に限られず、誤差拡散法などのハーフトーン処理を適用することもできる。入力画像に対して量子化して階調数を減らすハーフトーン処理によって、モアレ、細線の途切れ、エッジ部のジャギーといった欠陥が生じてしまうことがある。そこで前述の実施例および変形例を用いれば、入力画像との変化分が小さくなるようにハーフトーン画像を合成し、より高画質な出力を実現することができる。従って、前述の実施例や変形例に示したような入力画像をAMスクリーンに変換するスクリーン処理に限らず、入力画像をFMスクリーンに変換するハーフトーン処理をハーフトーン処理手段として用いてもよい。
【0109】
また、本発明は、上述した実施例の機能(例えば、上記のフロー図により示される機能)を実現するソフトウェアのコンピュータプログラムを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたコンピュータプログラムを読み出し実行することにより、上述した実施例の機能を実現する。
【特許請求の範囲】
【請求項1】
入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、
前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、
前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、
前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、
前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段
とを有する画像処理装置。
【請求項2】
前記第一のハーフトーン処理手段は、スクリーン処理によって第一のハーフトーン画像データを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第二のハーフトーン処理手段は、スクリーン処理によって第二のハーフトーン画像データを生成することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第一の差分抽出手段は、前記入力画像データと前記第一のハーフトーン画像データとの差分から、前記第一のハーフトーン画像データが有するスクリーン周波数付近より高域の周波数成分を取り除くことを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
【請求項5】
前記第一の差分抽出手段は、フィルタ処理を用いることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
【請求項6】
さらに前記入力画像データのエッジ量を抽出するエッジ抽出手段を有し、
前記合成手段は、前記エッジ量に基づいて前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
【請求項7】
入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理工程と、
前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出工程と、
前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理工程と、
前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出工程と、
前記第一の差分抽出工程の結果と前記第二の差分抽出工程の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成工程
とを有する画像処理方法。
【請求項8】
請求項1から請求項6の何れか一項に記載の画像処理装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項1】
入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理手段と、
前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出手段と、
前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理手段と、
前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出手段と、
前記第一の差分抽出手段の結果と前記第二の差分抽出手段の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成手段
とを有する画像処理装置。
【請求項2】
前記第一のハーフトーン処理手段は、スクリーン処理によって第一のハーフトーン画像データを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第二のハーフトーン処理手段は、スクリーン処理によって第二のハーフトーン画像データを生成することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第一の差分抽出手段は、前記入力画像データと前記第一のハーフトーン画像データとの差分から、前記第一のハーフトーン画像データが有するスクリーン周波数付近より高域の周波数成分を取り除くことを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
【請求項5】
前記第一の差分抽出手段は、フィルタ処理を用いることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
【請求項6】
さらに前記入力画像データのエッジ量を抽出するエッジ抽出手段を有し、
前記合成手段は、前記エッジ量に基づいて前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
【請求項7】
入力画像データから第一のハーフトーン画像データを生成する第一のハーフトーン処理工程と、
前記入力画像データと前記第一のハーフトーン画像データとの差分の低周波成分を抽出する第一の差分抽出工程と、
前記入力画像データから前記第一のハーフトーン画像データとは異なる第二のハーフトーン画像データを生成する第二のハーフトーン処理工程と、
前記入力画像データと前記第二のハーフトーン画像データとの差分の低周波成分を抽出する第二の差分抽出工程と、
前記第一の差分抽出工程の結果と前記第二の差分抽出工程の結果に基づいて、前記第一のハーフトーン画像データと前記第二のハーフトーン画像データとを合成する合成工程
とを有する画像処理方法。
【請求項8】
請求項1から請求項6の何れか一項に記載の画像処理装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−114745(P2012−114745A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2010−262873(P2010−262873)
【出願日】平成22年11月25日(2010.11.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願日】平成22年11月25日(2010.11.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]