次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
図1は、本発明にかかる画像変換処理装置の一実施の形態を示し、この画像変換処理装置1は、大別して、メモリ2、二値化処理部3、変換誤差分散処理部4、FMスクリーニング画像作成処理部5、画素パターン変換処理部6及びざらつき補正処理部7を備える。
画像変換処理装置1には、スキャナ等の外部の入力機器から出力された、多値階調の入力グレースケール画像10が入力され、この入力グレースケール画像データ10に対して各種の処理を施した後、各画素の階調値が「1」である黒画素と、階調値が「0」である白画素との二値で表現された出力二値画像データ20を出力する。
メモリ2は、外部から入力された入力グレースケール画像データ10を記憶すると共に、二値化処理部3、変換誤差分散処理部4、FMスクリーニング画像作成処理部5、画素パターン変換処理部6及びざらつき補正処理部7各種処理が施された画像データや、各処理において必要な情報等を記憶するための記憶媒体である。
二値化処理部3は、メモリ2に記憶された入力グレースケール画像データ10を読み出し、この入力グレースケール画像データ10の多値階調値を黒画素及び白画素の二値階調値のみからなる二値画像(第1の二値画像)に変換すると共に、第1の二値画像に含まれる黒画素の数を検出する。また、第1の二値画像に含まれる黒画素数を検出する際には、後述するように誤差が生じるため、この誤差を変換誤差情報として検出する。変換された第1の二値画像、検出された黒画素数を示す第1の黒画素数情報及び変換誤差情報は、メモリ2に記憶される。
変換誤差分散処理部4は、メモリ2に記憶された第1の二値画像、第1の黒画素数情報及び変換誤差情報を読み出し、第1の黒画素数情報及び変換誤差情報に基づき、二値化処理部3で変換された二値画像に対して二値化処理部3による画像変換の際に生じるトーンジャンプ現象を抑制するための処理を行い、第2の二値画像を作成すると共に、第2の二値画像に含まれる黒画素数を検出する。作成された第2の二値画像及び検出された黒画素数を示す第2の黒画素数情報は、メモリ2に記憶される。
FMスクリーニング画像作成処理部5は、メモリ2に記憶された第2の二値画像及び第2の黒画素数情報を読み出し、第2の黒画素数情報を用いてFMスクリーニング画像を作成する。作成されたFMスクリーニング画像は、メモリ2に記憶される。また、FMスクリーニング画像作成処理部5は、FMスクリーニング画像を作成する際に用いられる、図示しない要配置画素数カウンタ及び配置済み画素数カウンタを有する。これらのカウンタについては、後述する。
画素パターン変換処理部6は、メモリ2に記憶されたFMスクリーニング画像を読み出し、このFMスクリーニング画像から所定の画素パターンを検出する。そして、画素パターン変換処理部6は、検出された所定の画素パターンに対してパターン変換処理を施し、ハイブリッドスクリーニング画像である出力二値画像データ20を作成する。作成された出力二値画像データ20は、メモリ2に記憶される。
尚、上述した二値化処理部3、変換誤差分散処理部4、FMスクリーニング画像作成処理部5、画素パターン変換処理部6及びざらつき補正処理部7は、必ずしもハードウェアによって構成する必要はなく、その一部又は全部をソフトウェア(プログラム)によって構成してもよい。
次に、上記構成を有する画像変換処理装置1における各部の処理について説明する。
まず、二値化処理部3による二値化処理について、図2を参照して説明する。二値化処理においては、まず、入力グレースケール画像データ10の解像度情報に基づき、網点を作成する際と同様に、ハーフトーンセル(網点セル)ブロックを、入力グレースケール画像データ10に含まれる黒画素を検出するための検出単位である変換ブロックとして設定し、変換ブロック毎に入力グレースケール画像データ10を黒画素及び白画素からなる第1の二値画像に変換する。
次に、変換ブロックに含まれる各画素の階調値に基づき、変換ブロック内の入力グレースケール画像データ10の平均階調値を算出し、算出された平均階調値を用いて、対応する第1の二値画像の変換ブロックにおける、黒画素の数とすべての画素の数との比率を示す濃度値を取得する。そして、変換ブロックの濃度値に基づき、グレースケール画像における変換ブロック内の平均階調値に対応する黒画素数を検出する。
すなわち、変換ブロックサイズを横方向及び縦方向に「Lx」画素及び「Ly」画素に設定し、グレースケール画像の階調値をPとした場合、変換により得られる第1の二値画像の黒画素数sは、式(1)に基づき取得することができる。
ここで、二値化処理では、グレースケール画像の変換ブロックに含まれる画素の階調値を平均化して第1の二値画像における黒画素数を取得するため、ハーフトーンセルブロックのサイズによって表現できる最大階調数を決定することができる。また、ハーフトーンセルブロックに含まれる画素数により、表現できる階調数が変化し、画素数で階調の変化を表現する。
そのため、ハーフトーンセルブロックのサイズが大きい場合、変換された第1の二値画像は、表現できる階調数を多くすることができるが、粒子の粗い画像となり、画質が劣化する。一方、ハーフトーンセルブロックのサイズが小さい場合、変換された第1の二値画像は、表現できる階調数が少なくなるが、粒子の細かい画像となり、画質を向上させることができる。
本実施の形態における二値化処理を用いて変換される二値画像は、グレースケール画像に対して平均フィルタによるぼけ処理を行った場合と同様の変換画質となるため、変換ブロックのサイズをできるだけ小さくすることが必要である。本発明者は、評価実験により、変換ブロックのサイズを「4×4」画素〜「6×6」画素程度に設定することにより、よい変換画質が得られることを検証した。
次に、変換誤差分散処理部4による変換誤差分散処理について、図3を参照して説明する。
上述したように、ハーフトーンセルブロックを変換ブロックとして設定して二値化処理を行った場合、ハーフトーンセルブロックのサイズに応じて表現できる階調数が変化する。例えば、ハーフトーンセルブロックのサイズを「16×16」画素とした場合には、257(16×16+1)通りの階調表現が可能である。
しかし、このようにハーフトーンセルブロックのサイズが設定されたグレースケール画像を1200dpi(dot per inch)の二値画像に変換した場合には、線数が75(=1200/16)線となり、網点の大きさが人の目に見える程度に大きくなり、画像全体の画質が悪化する。
ここで、人の目は、一般的に200程度の階調を識別できるとされ、例えば、ハーフトーンセルブロックのサイズを小さくし、表現できる階調数が200以下となるように、ハーフトーンセルブロックのサイズを設定した場合(例えば、ハーフトーンセルの場合、「14×14」画素程度)には、ハーフトーン間に境界が生じる「トーンジャンプ現象」が発生する。
上述した二値化処理において、式(1)に基づいて取得した黒画素数sは、変換ブロックの多値階調値画素に対応する二値画像の黒画素数であり、黒画素として表現できる整数部分と、黒画素として表現できない小数点以下の部分を含む。このとき、黒画素として表現できない小数点以下の部分が、グレースケール画像を二値画像に変換する際の変換誤差となり、トーンジャンプ現象が発生する原因となる。
そこで、本実施の形態では、二値化処理による画質ぼけの影響を抑制し、より精細な画質を得るために、変換ブロックサイズを上述したように小さく設定すると共に、変換ブロックサイズを小さくすることによって階調表現が少なくなり、少ない階調表現により生じるトーンジャンプ現象を防止するため、第1の二値画像に対して変換誤差分散処理を行う。
変換誤差分散処理においては、図3に示すように、二値化処理において生じる誤差(階調値変換誤差)εを、隣接する周囲の変換ブロックに対して所定の割合で分散させる。例えば、注目する変換ブロックに対して相関性の高い変換ブロックに対しては、相関性の低い変換ブロックと比較して高い割合で階調値変換誤差εを分散させる。そして、変換対象となる変換ブロックでは、周囲の変換ブロックから分散された階調値変換誤差εを用い、式(2)に基づいて変換誤差を考慮した黒画素数s”を取得すると共に、第1の二値画像に対して変換誤差分散処理を行った第2の二値画像を作成する。
図4は、変換誤差分散処理を行った場合の効果を示し、図4(a)は、ハーフトーンブロックサイズを小さく設定した場合の第1の二値画像(グラデーション画像)を示し、図4(b)は、第1の二値画像に対して変換誤差分散処理を行った場合の第2の二値画像を示す。
このように、変換誤差分散処理を行うことにより、擬似輪郭のようなトーンジャンプ現象が発生することなく、階調表現が滑らかであり、かつモアレ等が発生しない二値画像を作成することができる。
次に、FMスクリーニング画像作成処理部5によるFMスクリーニング画像の作成処理について、図5を参照して説明する。
FMスクリーニング画像作成処理においては、変換誤差分散処理部4による変換誤差分散処理によって検出された黒画素数s”に基づき、各変換ブロック毎に検出された黒画素をランダムに配置することにより、FMスクリーニング画像を作成する。
黒画素をランダムに配置する場合には、チェスボード形画素配置図と称する、黒画素を配置するための仮想的な配置図を用いる。
具体的には、まず、図5(a)に示すように、変換ブロックの各画素に対して配置画素座標(m,n)を定義する。図5(a)の例では、左上の画素から右下の画素まで、配置画素座標が(0,0)、(1,0)、・・・、(0,Ly)、・・・、(Lx,Ly)のように定義される。このとき、作成されるFMスクリーニング画像についての画像情報が上下左右の4方向に均等に分布されるようにするため、横方向の座標の値「Lx」と縦方向の座標の値「Ly」とが同じになるように定義する。
このように配置画素座標を定義した場合、変換ブロックのサイズは、「(Lx+1)×(Ly+1)」となるため、変換ブロック内の総画素数は、「Lx」及び「Ly」の値が奇数の場合に偶数となり、「Lx」及び「Ly」の値が偶数の場合に奇数となる。
次に、このように配置画素座標が定義された変換ブロックに対して、チェスボード形画素配置図を設定する。チェスボード形画素配置図は、図5(b)に示すように、変換ブロックと同サイズであり、配置画素を配置するための第1配置層及び第2配置層が市松模様状に交互に設定される。また、チェスボード形画素配置図における各画素に対して、変換ブロックに対して定義された配置画素座標と同様の座標(0,0)〜(Lx,Ly)が設定される。
変換誤差分散処理で取得した黒画素数s”に基づく、配置画素である黒画素は、このチェスボード形画素配置図における第1配置層及び第2配置層のいずれか一方の配置層に、検出された黒画素の数だけランダムに配置される。
ここで、FMスクリーニング画像作成処理においては、黒画素を第1配置層及び第2配置層のいずれかの配置層に配置するかを決定するための画素配置判断条件を予め設定する。画素配置判断条件は、「偶数」及び「奇数」のいずれか一方がランダムに設定される。具体的には、例えば、値が「0」及び「1」のいずれかを取り得る乱数を用い、乱数値が「0」の場合に画素配置判断条件を「偶数」に設定し、乱数値が「1」の場合に画素配置判断条件を「奇数」に設定する。
次に、設定された画素配置判断条件に応じた第1配置層及び第2配置層における総配置画素数を計算する。例えば、チェスボード形画素配置図におけるLxが「奇数」である場合、配置図内の総画素数が「偶数」となるため、画素配置判断条件が「偶数」及び「奇数」のいずれの場合でも、各配置層における総配置画素数は、同一の画素数となり、「((Lx+1)×(Ly+1))/2」となる。
一方、Lxが「偶数」である場合には、配置図内の総画素数が「奇数」となる。そのため、画素配置判断条件が「偶数」である場合の総配置画素数は、画素配置判断条件が「奇数」となる場合の総配置画素数よりも「1」だけ多くなる。
すなわち、Lxが「偶数」である場合で、画素配置判断条件が「偶数」であるときの総配置画素数は、「((Lx+1)×(Ly+1)+1)/2」となる。また、Lxが「偶数」である場合で、画素配置判断条件が「奇数」であるときの総配置画素数は、「((Lx+1)×(Ly+1)−1)/2」となる。
具体的には、例えば、「6画素×6画素」の変換ブロックの場合、総画素数が36個(偶数)となり、画素配置判断条件が「偶数」及び「奇数」のいずれの場合でも、各々の配置層における総配置画素数は18個となる。
一方、「5画素×5画素」の変換ブロックの場合、総画素数が25個(奇数)となるため、画素配置判断条件が「偶数」である場合の配置層における総配置画素数は13個となり、画素配置判断条件が「奇数」である場合の配置層における総配置画素数は12個となる。
次に、配置画素である黒画素を、予め設定した画素配置判断条件に対応する配置層に対してランダムに配置する。配置される黒画素(配置画素)Pの座標(m,n)は、チェスボード形画素配置図において、横方向の画素数が「Lx+1」であり、縦方向の画素数が「Ly+1」である場合、以下の数式(3)を用いて決定される。
m=x(「0」〜「Lx」までの値を取り得る乱数により決定)
n=y(「0」〜「Ly」までの値を取り得る乱数により決定) ・・・(3)
画素配置判断条件TS=m+n
配置画素座標Pにおける横方向の座標「m」は、値が「0」〜「Lx」までの値を取り得る一様乱数を発生させることにより決定する。同様に、配置画素座標P(m,n)における縦方向の座標「n」は、値が「0」〜「Ly」までの値を取り得る一様乱数を発生させることにより決定する。
そして、このようにして決定された「m」及び「n」に基づき、画素配置判断条件TSを算出し、算出結果(「偶数」又は「奇数」)と、予め設定された画素配置判断条件とを比較する。比較の結果、2つの画素配置判断条件が異なる場合には、一様乱数を再度発生させ、配置画素の新しい配置画素座標を決定する。
一方、2つの画素配置判断条件が一致した場合には、この座標P(m,n)が示す位置に対して配置画素が既に配置済みであるか否かを判断する。判断の結果、当該座標が示す位置に配置画素が既に配置済みである場合には、この配置画素座標P(m,n)を廃棄し、一様乱数を再度発生することにより、新しい画素配置座標を決定する。
一方、当該座標が示す位置に配置画素が配置されていない場合には、配置画素を配置する。そして、FMスクリーニング画像作成処理部5に設けられた要配置画素数カウンタの値を「1」だけデクリメントすると共に、配置済み画素数カウンタの値を「1」だけインクリメントする。
ここで、要配置画素数カウンタは、配置すべき画素の数をカウントするためのものであり、初期値として当該変換ブロック内の黒画素数が設定され、配置画素を配置する度に、値を「1」ずつデクリメントする。
また、配置済み画素数カウンタは、配置が完了した配置画素の数をカウントするためのものであり、初期値として値「0」が設定され、配置画素を配置する度に、値を「1」ずつインクリメントする。
配置済み画素数カウンタの値が当該配置層の総配置画素数を超えた場合には、配置層の配置可能なすべての座標の位置に、配置画素が配置されたことを示す。
ここで、配置層の総配置画素数よりも、要配置画素数が多い場合が考えられる。このような場合には、予め設定された画素配置判断条件を変更し、次の配置層に配置画素を配置するように設定する。
具体的には、例えば、画素配置判断条件を「偶数」に設定し、この条件の下で配置画素の配置処理を行う。そして、配置可能なすべての配置座標に配置画素が配置された後に、配置すべき配置画素が残っている場合には、画素配置判断条件を「奇数」に変更し、残りの配置画素に対する配置処理を行う。
このようにして、上述した配置処理を要配置画素数カウンタの値が「0」となるまで繰り返し、要配置画素数カウンタの値が「0」となった場合には、配置すべき配置画素の配置が完了したと判断し、配置画素の配置処理を終了する。これにより、所定の変換ブロックに対応する網点画像をFMスクリーニング画像に変換することができる。
図6は、上述したFMスクリーニング画像作成処理によって作成されたFMスクリーニング画像の一例を示す。図6(a)は、変換ブロック内の黒画素の濃度が25%である場合に作成されたFMスクリーニング画像を示し、図6(b)は、黒画素の濃度が50%である場合に作成されたスクリーニング画像を示す。また、図6(c)は、黒画素の濃度が75%である場合に作成されたスクリーニング画像を示す。このFMスクリーニング画像は、大域均等分布と局部ランダム分布とのバランスを取りながら、上下左右の4方向に画素分布特性を有することが大きな特徴である。
また、図7は、従来の誤差拡散処理によって作成されたFMスクリーニング画像(図7(a))と、本実施の形態によるFMスクリーニング画像作成処理によって作成されたFMスクリーニング画像(図7(b))とを示す。図7(b)に示すように、本実施の形態によるFMスクリーニング画像作成処理によって作成されたFMスクリーニング画像では、大域の均等分布特性と、局部のランダム分布特性とを両立することで、従来の誤差拡散処理によって作成されたFMスクリーニング画像で発生するワーム状のモアレ等のムラが発生しないという特徴を有する。
ここで、図7に示すFMスクリーニング画像では、チェスボード形画素配置図の画素分布特性により、画素毎に上下左右の4方向に隣接した画素と、1画素間隔で孤立することになる。この状態では、孤立した画素が1画素となるため、画像の最小情報単位であるドットが小さくなり、輪転機による紙へのインクの着肉性が悪く、さらに網点画像と比較して、ドットゲインが非常に大きく発生するため、印刷工程に適さない。
そこで、本実施の形態では、FMスクリーニング画像の高画質の良さを保持しつつ、輪転機による紙へのインクの着肉性を改善した印刷工程に適したスクリーニングを実現するため、以下に示す画素パターン変換処理によって、孤立する画素を印刷に適した大きさのドットに変換する。
次に、画素パターン変換処理部6による画素パターン変換処理について、図8〜図12を参照して説明する。
画素パターン変換処理においては、まず、FMスクリーニング画像作成処理部5によって作成されたFMスクリーニング画像に対してラスタスキャンを行う。そして、互いに隣接する複数の画素によって形成される画素パターンから、黒画素及び白画素が1画素間隔で分布する所定の画素パターンを検出し、検出された所定の画素パターンに対して二次元パターン変換処理を行う。
具体的には、まず、FMスクリーニング画像から図8(a)に示す「2画素×2画素」の4画素からなる第1の画素パターンを検出する。具体的には、第1の画素パターンは、左上及び右下の画素が黒画素であり、右上及び左下の画素が白画素となるパターンである。
そして、第1の画素パターンを検出した場合には、この第1の画素パターンに対して第1のパターン変換処理を行う。第1のパターン変換処理では、図8(b)に示すように、第1の画素パターンにおける右下の黒画素と、隣接する右上又は左下の白画素とを入れ替える交換処理を行う。このとき、右下の黒画素と、右上又は左下の白画素との交換確率を共に50%とする。
すなわち、第1のパターン変換処理では、50%の確率で、図8(c)に示す右下の黒画素と右上の白画素とを入れ替える交換処理(以下、「第1のパターン変換処理100a」とする)、及び図8(d)に示す右下の黒画素と左下の白画素とを入れ替える交換処理(以下、「第1のパターン変換処理100b」とする)のうち、いずれかの交換処理を行う。
次に、二次元パターン変換処理では、図9(a)に示す第2の画素パターンを検出する。具体的には、第2の画素パターンは、左上及び右下の画素が白画素であり、右上及び左下の画素が黒画素となるパターンである。
そして、第2の画素パターンを検出した場合には、この第2の画素パターンに対して第2のパターン変換処理を行う。第2のパターン変換処理では、図9(b)に示すように、第2の画素パターンにおける右下の白画素と、隣接する右上又は左下の黒画素とを入れ替える交換処理を行う。このとき、右下の白画素と、右上又は左下の黒画素との交換確率を共に50%とする。
すなわち、第2のパターン変換処理では、50%の確率で、図9(c)に示す右下の白画素と右上の黒画素とを入れ替える交換処理(以下、「第2のパターン変換処理200a」とする)、及び図9(d)に示す右下の白画素と左下の黒画素とを入れ替える交換処理(以下、「第2のパターン変換処理200b」とする)のうち、いずれかの交換処理を行う。
最後に、二次元パターン変換処理では、FMスクリーニング画像から第1及び第2の画素パターンが検出できなくなるまで、第1及び第2のパターン変換処理を交互に行う。
このように、二次元パターン変換処理では、黒画素及び白画素が1画素間隔で分布する画素パターン内の黒画素同士が連続的に分布するように、黒画素と白画素とを交換することにより、所定のスクリーニング画像を作成する。
図10は、図6(b)に示す黒画素の濃度が50%である場合のFMスクリーニング画像に対して二次元パターン変換処理を行うことによって作成されたスクリーニング画像である。図10に示すように、二次元パターン変換処理を行うことにより、図6(b)において孤立して分布する画素が繋がり、線状に形成されることがわかる。
次に、画素パターン変換処理においては、上述した二次元パターン変換処理によって変換されたスクリーニング画像に対してラスタスキャンを行う。そして、角度方向で隣接する複数の画素によって形成される画素パターンから所定の画素パターンを検出し、検出された所定の画素パターンに対して後述する一次元パターン変換処理を行う。
一次元パターン変換処理では、まず、スクリーニング画像から角度方向で互いに隣接し、各々の画素が「白・黒・白・黒」のように並ぶ4画素からなる第3の画素パターンを検出する。
そして、第3の画素パターンを検出した場合には、この第3の画素パターンに対して第3のパターン変換処理を行う。第3のパターン変換処理では、「白・黒・白・黒」のように並ぶ第3の画素パターンを、「白・白・黒・黒」のように並ぶ画素パターンに変換する。
ここで、第3の画素パターンの検出は、図11(a)に示すように、画像の360°空間において45°間隔で行う。具体的には、第3のパターン変換処理では、0°方向に第3の画素パターンが検出された場合に、図11(b)に示すように、0°方向に左から右方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(0°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(0°))。
45°方向に第3の画素パターンが検出された場合には、図11(c)に示すように、45°方向に左下から右上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(45°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(45°))。
90°方向に第3の画素パターンが検出された場合には、図11(d)に示すように、90°方向に下から上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(90°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(90°))。
135°方向に第3の画素パターンが検出された場合には、図11(e)に示すように、135°方向に右下から左上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(135°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(135°))。
180°方向に第3の画素パターンが検出された場合には、図11(f)に示すように、180°方向に右から左方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(180°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(180°))。
225°方向に第3の画素パターンが検出された場合には、図11(g)に示すように、225°方向に右上から左下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(225°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(225°))。
270°方向に第3の画素パターンが検出された場合には、図11(h)に示すように、270°方向に上から下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(270°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(270°))。
315°方向に第3の画素パターンが検出された場合には、図11(i)に示すように、315°方向に左上から右下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(315°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(315°))。
360°方向については、0°方向と同様であるので、第3の画素パターンの検出は行われない。
このように、第3のパターン変換処理では、画像の360°空間に対して45°間隔で第3の画素パターンを順次検出し、スクリーニング画像から第3の画素パターンが検出できなくなるまで上述した変換処理が繰り返される。
そして、このように画素パターン変換処理によって第1〜第3のパターン変換処理が行われた画像が、FMスクリーニング画像からハイブリッドスクリーニング画像に変換された出力二値画像データ20となる。
図12は、図10に示すスクリーニング画像に対して一次元パターン変換処理を行うことによって作成されたハイブリッドスクリーニング画像である。
次に、ざらつき補正処理部7によるざらつき補正処理について、図13及び図14を参照して説明する。
上述のようにして、入力グレースケール画像データ10に対して各処理を施すことによって作成されたハイブリッドスクリーニング画像は、FMスクリーニング画像のランダムさを強く有するため、画質としてざらつき感を有する場合がある。このざらつき感は、作成されたハイブリッドスクリーニング画像内に存在する端点画素及び孤立点画素が主な原因であるものと考えられる。
ここで、端点画素及び孤立点画素は、所定の画素を注目画素とした場合に、注目画素と、当該注目画素の周囲に隣接する画素との相関関係によって定義される画素である。
例えば、端点画素は、注目画素の周囲に隣接する8画素のうち、連続する複数の画素(例えば、5画素以上)が注目画素と異なる色の画素である場合の注目画素を示す。具体的には、図13(a)に示すように、注目画素が黒画素であるときで、注目画素の周囲8画素のうち連続する5画素が白画素である場合に、注目画素が端点画素となる。また、注目画素が白画素であるときで、注目画素の周囲8画素のうち連続する5画素が黒画素である場合に、注目画素が端点画素となる。
一方、例えば、孤立点画素は、注目画素の周囲に隣接する8画素すべてが注目画素と異なる色の画素である場合の注目画素を示す。具体的には、注目画素が黒画素であるときで、注目画素の周囲8画素すべてが白画素である場合に、注目画素が端点画素となる。また、注目画素が白画素であるときで、注目画素の周囲8画素すべてが黒画素である場合に、注目画素が端点画素となる。
本実施の形態では、この端点画素及び孤立点画素を減少させることによってざらつき感を抑制し、画質を向上させるための補正処理を行う。
ざらつき補正処理においては、まず、画素パターン変換処理部6によって作成されたハイブリッドスクリーニング画像に対してラスタスキャンを行う。次に、予め設定された端点画素及び孤立点画素の定義に基づき、所定の注目画素が端点画素又は孤立点画素であるか否かを判断する。
注目画素が端点画素又は孤立点画素である場合には、この注目画素を中心として所定の領域内に、注目画素と異なる色の端点画素又は孤立点画素が存在するか否かを判断する。具体的には、例えば、注目画素を中心として時計回りに存在する周囲の画素が端点画素又は孤立点画素であるか否かを順次判断する。
そして、注目画素と異なる色の端点画素又は孤立点画素が検出された場合には、図13(b)に示すように、端点画素又は孤立点画素である注目画素と、検出された端点画素又は孤立点画素とを入れ替える。
このように、異なる色の端点画素又は孤立点画素を互いに入れ替えることにより、ざらつき感の原因となる端点画素及び孤立点画素を減少させることができる。また、入れ替え処理にあたっては、異なる色の画素同士を入れ替えるため、画像全体における黒画素及び白画素の数は、入れ替え前の数を維持することができるので、処理前後における画像の濃淡情報を維持しながら、ざらつき感を抑制して画質を向上させることができる。
図14は、図12に示すハイブリッドスクリーニング画像に対してざらつき補正処理を行うことによって補正されたハイブリッドスクリーニング画像である。このように、図12に示すハイブリッドスクリーニング画像に存在するざらつき感を抑制し、画質を向上させることができる。
次に、画像変換処理装置1における各処理の流れについて、図15〜図20に示すフローチャートを参照して説明する。
まず、外部から入力された入力グレースケール画像データ10を出力二値画像データ20に変換して出力する画像変換処理装置1全体の処理について、図15を参照して説明する。
外部から入力グレースケール画像データ10が入力され、メモリ2に記憶されると、二値化処理部3により、メモリ2に記憶された入力グレースケール画像データ10が読み出され、入力グレースケール画像データ10に関する解像度情報に基づき、入力グレースケール画像データ10に対して変換ブロックを設定し、変換ブロック毎の画像を第1の二値画像に変換すると共に第1の黒画素数を検出する二値化処理が行われる(ステップS1)。この二値化処理による第1の二値画像、第1の黒画素数情報及び変換誤差情報は、一旦メモリ2に記憶される。
次に、変換誤差分散処理部4により、メモリ2に記憶された第1の二値画像、第1の黒画素数情報及び変換誤差情報が読み出され、これらの画像及び情報に基づき、第1の二値画像を第2の二値画像に変換すると共に、第2の黒画素数を検出する変換誤差分散処理が行われる(ステップS2)。この変換誤差分散処理による第2の二値画像、第2の黒画素数情報は、一旦メモリ2に記憶される。
次に、FMスクリーニング画像作成処理部5により、メモリ2に記憶された第2の黒画素数情報が読み出され、第2の黒画素数情報が示す各変換ブロック毎の黒画素数に基づき、変換ブロックと同サイズのチェスボード形画素配置図を用いて入力グレースケール画像データ10である第2の二値画像をFMスクリーニング画像に変換するFMスクリーニング変換処理が行われる(ステップS3)。このFMスクリーニング変換処理によって作成されたFMスクリーニング画像は、一旦メモリ2に記憶される。
次に、画素パターン変換処理部6により、メモリ2に記憶されたFMスクリーニング画像が読み出され、このFMスクリーニング画像に対して、二次元パターン変換処理(第1及び第2のパターン変換処理)が行われる(ステップS4)。二次元パターン変換処理によって作成されたスクリーニング画像は、一旦メモリ2に記憶される。
次に、二次元パターン変換処理によって作成されたスクリーニング画像がメモリ2から読み出され、このスクリーニング画像に対して、一次元パターン変換処理(第3のパターン変換処理)が行われる(ステップS5)。一次元パターン変換処理によって作成されたハイブリッドスクリーニング画像は、一旦メモリ2に記憶される。
そして、ざらつき補正処理部7により、一次元パターン変換処理によって作成されたハイブリッドスクリーニング画像がメモリ2から読み出され、このハイブリッドスクリーニング画像に対して、ざらつき補正処理が行われる(ステップS6)。これにより、入力グレースケール画像データ10がざらつき感が低減されたハイブリッドスクリーニング画像に変換される。変換されたハイブリッドスクリーニング画像は、メモリ2から出力二値画像データ20として出力される。
尚、図15に示す例では、ステップS1、ステップS2及びステップS3の処理が順次行われるように説明したが、これに限られず、例えば、ステップS1、ステップS2及びステップS3の処理が互いに並行して行われるようにしてもよい。
次に、図15のステップS3におけるFMスクリーニング変換処理の流れについて、図16を参照して説明する。尚、以下の説明では、特に記載のない限り、FMスクリーニング画像作成処理部5によって各処理が実行されるものとする。
まず、ステップS11において、メモリ2から入力グレースケール画像データ10が読み出され、入力グレースケール画像データ10に関する解像度情報に基づき、入力グレースケール画像データ10に対して変換ブロックが設定される。次に、ステップS11で設定された変換ブロックと同サイズのチェスボード形画素配置図が設定され、第1配置層及び第2配置層における総配置画素数が計算される(ステップS12)。
そして、入力グレースケール画像データ10に対して変換ブロック単位でのラスタスキャンが行われ(ステップS13)、変換ブロック毎に黒画素が検出され、変換ブロック内の黒画素数が検出される(ステップS14)。
次に、ステップS15において、値が「0」又は「1」を取り得る乱数を発生させ、この乱数の値に基づき、画素配置判断条件が決定される。そして、決定された画素配置判断条件に基づき、チェスボード形画素配置図における画素配置層が選択される。
ステップS16では、画素配置判断条件TSが偶数であるか否かが判断される。画素配置判断条件TSが偶数であると判断された場合(ステップS16;Yes)には、画素配置判断条件TSが偶数である場合の配置処理が行われる(ステップS17)。一方、画素配置判断条件TSが偶数でない(奇数である)と判断された場合(ステップS16:No)には、画素配置判断条件TSが奇数である場合の配置処理が行われる(ステップS18)。
次に、ステップS19において、すべての変換ブロックについて黒画素の配置処理が完了し、FMスクリーニング画像への変換処理が終了したか否かが判断される。すべての変換ブロックについて、FMスクリーニング画像への変換処理が完了したと判断された場合(ステップS19;Yes)には、一連の処理が終了する。
一方、すべての変換ブロックについて、FMスクリーニング画像への変換処理が完了していないと判断された場合(ステップS19;No)には、処理がステップS13に戻り、次の変換ブロックについてFMスクリーニング画像への変換処理が繰り返される。
このように、変換ブロック単位でグレースケール画像からFMスクリーニング画像を作成し、すべての変換ブロックについてFMスクリーニング画像を作成することにより、グレースケール画像をFMスクリーニング画像に変換することができる。
次に、図16のステップS17及びステップS18における配置処理の流れについて、図17を参照して説明する。尚、以下の説明では、特に記載のない限り、FMスクリーニング画像作成処理部5によって各処理が実行されるものとする。
まず、ステップS21において、図16のステップS15において決定された画素配置判断条件が設定される。次に、図16のステップS14で検出された黒画素数が要配置画素数カウンタに設定され、配置済み画素数カウンタの値が「0」にリセットされる(ステップS22、S23)。
ステップS24では、上述した数式(3)に基づいて配置画素Pの座標を決定するための一様乱数が発生され、配置画素座標(m,n)が決定される。
次に、ステップS25において、数式(3)に基づき、画素配置判断条件TSがステップS21で設定された画素配置判断条件と一致するか否かが判断される。画素配置判断条件TSが一致すると判断された場合(ステップS25;Yes)には、処理がステップS26に移行する。一方、画素配置判断条件TSが一致しないと判断された場合(ステップS25;No)には、ステップS24で決定された配置画素座標(m,n)が廃棄され、処理がステップS24に戻る。
ステップS26では、ステップS24で決定された配置画素座標(m,n)に、配置画素が既に配置済みであるか否かが判断される。配置画素が配置済みでないと判断された場合(ステップS26;No)には、配置画素が配置画素座標(m,n)に配置されると共に、要配置画素数カウンタの値が「1」だけデクリメントされる(ステップS27、S28)。一方、配置画素が配置済みであると判断された場合(ステップS26;Yes)には、処理がステップS24に戻る。
次に、ステップS29において、要配置画素数カウンタの値が「0」よりも大きいか否かが判断される。要配置画素数カウンタの値が「0」よりも大きいと判断された場合(ステップS29;Yes)には、配置済み画素数カウンタの値が「1」だけインクリメントされる(ステップS30)。一方、要配置画素数カウンタの値が「0」以下である場合(ステップS29;No)には、すべての配置画素の配置が完了したと判断され、一連の処理が終了する。
ステップS31では、配置済み画素数カウンタの値と、図16のステップS12により得られた当該配置層における総配置画素数とが比較され、配置済み画素数カウンタ値が総配置画素数以上であるか否かが判断される。
配置済み画素数カウンタ値が総配置画素数以上である場合(ステップS31;Yes)には、当該配置層に対して配置画素がすべて配置されたと判断され、ステップS21で設定された画素配置判断条件が変更される(ステップS32)。具体的には、画素配置判断条件が「偶数」に設定されていた場合には、「奇数」に変更され、画素配置判断条件が「奇数」に設定されていた場合には、「偶数」に変更される。そして、処理がステップS24に戻る。
一方、ステップS31において、配置済み画素数カウンタ値が総配置画素数未満であると判断された場合(ステップS31;No)には、処理がステップS24に戻る。
このようにして、配置画素である黒画素をチェスボード形画素配置図上に配置することにより、変換ブロック単位でFMスクリーニング画像を作成することができる。
次に、図15のステップS4における二次元パターン変換処理(第1及び第2のパターン変換処理)の流れについて、図18を参照して説明する。尚、以下の説明では、特に記載のない限り、画素パターン変換処理部6によって各処理が実行されるものとする。
まず、ステップS41において、メモリ2から処理対象画像であるFMスクリーニング画像が読み出され、ラスタスキャンが行われる。次に、ステップS41で得られた「2画素×2画素」の画素パターンから、第1の画素パターンが検出されたか否かが判断される(ステップS42)。
第1の画素パターンが検出されたと判断された場合(ステップS42;Yes)には、ステップS43において、乱数が発生される。この例では、乱数として、値が「0」から「1」までの区間において、すべての実数が同じ確率で出現する一様乱数が用いられる。
次に、ステップS44において、ステップS43で発生した乱数の値が「0.5」未満であるか否かが判断される。乱数値が0.5以上である場合(ステップS44;No)には、図8(c)に示すように、ステップS42で検出された第1の画素パターンに対して第1のパターン変換処理100aが行われる(ステップS45)。
乱数値が0.5未満である場合(ステップS44;Yes)には、図8(d)に示すように、ステップS42で検出された第1の画素パターンに対して第1のパターン変換処理100bが行われる(ステップS46)。
一方、ステップS42において、第1の画素パターンが検出されていないと判断された場合(ステップS42;No)には、処理がステップS47に移行する。
ステップS47では、ステップS41で得られた「2画素×2画素」の画素パターンから、第2の画素パターンが検出されたか否かが判断される。第2の画素パターンが検出されたと判断された場合(ステップS47;Yes)には、値が「0」から「1」までの一様乱数が発生される(ステップS48)。
次に、ステップS48で発生した乱数の値が「0.5」未満であるか否かが判断される(ステップS49)。乱数値が0.5以上である場合(ステップS49;No)には、図9(c)に示すように、ステップS47で検出された第2の画素パターンに対して第2のパターン変換処理200aが行われる(ステップS50)。
乱数値が0.5未満である場合(ステップS49;Yes)には、図9(d)に示すように、ステップS47で検出された第2の画素パターンに対して第2のパターン変換処理200bが行われる(ステップS51)。
一方、ステップS47において、第2の画素パターンが検出されていないと判断された場合(ステップS47;No)には、処理がステップS52に移行する。
次に、ステップS52では、FMスクリーニング画像に対するスキャンが終了したか否かが判断される。スキャンが終了したと判断された場合(ステップS52;Yes)には、処理がステップS53に移行する。一方、スキャンが終了していないと判断された場合(ステップS52;No)には、処理がステップS41に戻り、FMスクリーニング画像に対するスキャンが継続される。
ステップS53では、処理対象画像から第1及び第2の画素パターンが検出できなくなったか否かが判断される。第1及び第2の画素パターンが検出できなくなったと判断された場合(ステップS53;Yes)には、一連の処理が終了する。一方、第1及び第2の画素パターンが検出できると判断された場合(ステップS53;No)には、処理がステップS41に戻る。
以上のようにして、FMスクリーニング画像作成処理部5で作成されたFMスクリーニング画像に対して二次元パターン変換処理を行うことにより、一次元パターン変換処理を行う際に用いられるスクリーニング画像が作成され、メモリ2に記憶される。
次に、図15のステップS5における一次元パターン変換処理(第3のパターン変換処理)の流れについて、図19を参照して説明する。
まず、ステップS61において、メモリ2から処理対象画像である二次元パターン変換処理によって作成されたスクリーニング画像が読み出され、ラスタスキャンが行われる。
次に、ステップS61で得られた画素パターンから、0°方向の第3の画素パターン(0°)が検出されたか否かが判断される(ステップS62)。第3の画素パターン(0°)が検出されたと判断された場合(ステップS62;Yes)には、図11(b)に示すように、この第3の画素パターン(0°)に対して第3のパターン変換処理(0°)が行われる(ステップS63)。
一方、第3の画素パターン(0°)が検出されていないと判断された場合(ステップS62;No)には、処理がステップS64に移行する。
次に、ステップS64において、45°方向の第3の画素パターン(45°)が検出されたか否かが判断される。第3の画素パターン(45°)が検出されたと判断された場合(ステップS64;Yes)には、図11(c)に示すように、この第3の画素パターン(45°)に対して第3のパターン変換処理(45°)が行われる(ステップS65)。
一方、第3の画素パターン(45°)が検出されていないと判断された場合(ステップS64;No)には、処理がステップS66に移行する。
次に、ステップS66において、90°方向の第3の画素パターン(90°)が検出されたか否かが判断される。第3の画素パターン(90°)が検出されたと判断された場合(ステップS66;Yes)には、図11(d)に示すように、この第3の画素パターン(90°)に対して第3のパターン変換処理(90°)が行われる(ステップS67)。
一方、第3の画素パターン(90°)が検出されていないと判断された場合(ステップS66;No)には、処理がステップS68に移行する。
次に、ステップS68において、135°方向の第3の画素パターン(135°)が検出されたか否かが判断される。第3の画素パターン(135°)が検出されたと判断された場合(ステップS68;Yes)には、図11(e)に示すように、この第3の画素パターン(135°)に対して第3のパターン変換処理(135°)が行われる(ステップS69)。
一方、第3の画素パターン(135°)が検出されていないと判断された場合(ステップS68;No)には、処理がステップS70に移行する。
次に、ステップS70において、180°方向の第3の画素パターン(180°)が検出されたか否かが判断される。第3の画素パターン(180°)が検出されたと判断された場合(ステップS70;Yes)には、図11(f)に示すように、この第3の画素パターン(180°)に対して第3のパターン変換処理(180°)が行われる(ステップS71)。
一方、第3の画素パターン(180°)が検出されていないと判断された場合(ステップS180;No)には、処理がステップS72に移行する。
次に、ステップS72において、225°方向の第3の画素パターン(225°)が検出されたか否かが判断される。第3の画素パターン(225°)が検出されたと判断された場合(ステップS72;Yes)には、図11(g)に示すように、この第3の画素パターン(225°)に対して第3のパターン変換処理(225°)が行われる(ステップS73)。
一方、第3の画素パターン(225°)が検出されていないと判断された場合(ステップS72;No)には、処理がステップS74に移行する。
次に、ステップS74において、270°方向の第3の画素パターン(270°)が検出されたか否かが判断される。第3の画素パターン(270°)が検出されたと判断された場合(ステップS74;Yes)には、図11(h)に示すように、この第3の画素パターン(270°)に対して第3のパターン変換処理(270°)が行われる(ステップS75)。
一方、第3の画素パターン(270°)が検出されていないと判断された場合(ステップS74;No)には、処理がステップS76に移行する。
次に、ステップS76において、315°方向の第3の画素パターン(315°)が検出されたか否かが判断される。第3の画素パターン(315°)が検出されたと判断された場合(ステップS76;Yes)には、図11(i)に示すように、この第3の画素パターン(315°)に対して第3のパターン変換処理(315°)が行われる(ステップS77)。
一方、第3の画素パターン(315°)が検出されていないと判断された場合(ステップS76;No)には、処理がステップS78に移行する。
ステップS78では、スクリーニング画像に対するスキャンが終了したか否かが判断される。スキャンが終了したと判断された場合には、処理がステップS79に移行する。一方、スキャンが終了していないと判断された場合(ステップS78;No)には、処理がステップS61に戻り、スクリーニング画像に対するスキャンが継続される。
ステップS79では、処理対象画像から第3の画素パターンが検出できなくなったか否かが判断される。第3の画素パターンが検出できなくなったと判断された場合(ステップS79;Yes)には、一連の処理が終了する。一方、第3の画素パターンが検出できると判断された場合(ステップS79;No)には、処理がステップS61に戻る。
以上のようにして、画素パターン変換処理部6において二次元パターン変換処理を行うことにより作成されたスクリーニング画像に対して一次元パターン変換処理を行うことにより、ハイブリッドスクリーニング画像が作成され、メモリ2に記憶される。
次に、図15のステップS6におけるざらつき補正処理の流れについて、図20を参照して説明する。
まず、ステップS81において、メモリ2から処理対象画像である一次元パターン変換処理によって作成されたハイブリッドスクリーニング画像が読み出され、ラスタスキャンが行われる。
次に、ハイブリッドスクリーニング画像内のすべての画素に対するスキャンが終了したか否かが判断される(ステップS82)。すべての画素に対するスキャンが終了していないと判断された場合(ステップS82;No)には、処理がステップS83に移行する。一方、すべての画素に対するスキャンが終了したと判断された場合(ステップS82;Yes)には、一連の処理が終了する。
ステップS83では、端点画素又は孤立点画素が検出されたか否かが判断される。端点画素又は孤立点画素が検出されたと判断された場合には、注目画素を中心として検出範囲が設定され(ステップS84)、所定の検出方法に基づいて、注目画素と異なる色の端点画素又は孤立点画素の検出処理が行われる(ステップS85)。一方、端点画素又は孤立点画素が検出されなかったと判断された場合(ステップS83;No)には、処理がステップS81に戻る。
次に、ステップS86において、注目画素と異なる色の端点画素又は孤立点画素が検出されたか否かが判断される。注目画素と異なる色の端点画素又は孤立点画素が検出されたと判断された場合(ステップS86;Yes)には、注目画素と、検出された端点画素又は孤立点画素とを入れ替える入れ替え処理が行われる(ステップS87)。そして、処理がステップS81に戻る。
一方、注目画素と異なる色の端点画素又は孤立点画素が検出されなかったと判断された場合(ステップS86;No)には、処理がステップS85に戻る。
図21(a)は、本実施の形態に係る画像変換処理装置1に入力される入力グレースケール画像データ10を従来の方法によって変換された網点画像を示し、図21(b)は、入力グレースケール画像データ10に対して上述した図15〜図20に示す処理を行うことにより得られる出力二値画像データ20(ハイブリッドスクリーニング画像)を示す。
図21(a)に示す例は、600dpiであり、線数が75lpi(line per inch)である場合の網点画像である。このように、本実施の形態に係る画像変換処理装置1では、従来の網点及びFMスクリーニングの長所を兼ね備えたハイブリッドスクリーニング画像を作成することができる。
以上のように、本実施の形態によれば、入力されたグレースケール画像を変換した黒画素及び白画素からなる第1の二値画像に含まれる第1の黒画素数を変換ブロック毎に検出すると共に、第1の黒画素数の検出の際に生じる誤差(変換誤差)を考慮して第2の二値画像を作成する。そして、作成された第2の二値画像に含まれる黒画素数を変化ブロック毎に検出し、検出されたに基づいてFMスクリーニング画像を作成し、作成されたFMスクリーニング画像に対して第1〜第3のパターン変換処理を行うと共に、パターン変換処理によって作成されたハイブリッドスクリーニング画像のざらつきを補正して、出力画像であるハイブリッドスクリーニング画像を作成する。そのため、網点画像が有する印刷工程に適し、扱いが容易であるという長所と、FMスクリーニング画像が有する高品質であるという長所とを兼ね備えるハイブリッドスクリーニング画像を作成することができる。