次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
図1は、本発明に係る画像変換処理装置の一実施の形態を示し、この画像変換処理装置1は、大別して、メモリ2、二値化処理部3、誤差分散処理部4、FMスクリーニング画像作成処理部5及び画素融合処理部6を備える。
画像変換処理装置1には、スキャナ等の外部の入力機器から出力された、多値の階調値を有するグレースケール画像をデータ化した入力多値画像データ10が入力される。この入力多値画像データ10は、原画像であるカラー画像から色変換によって得られるCMYK各色のグレースケール画像に基づくものである。
次に、画像変換処理装置1は、この入力多値画像データ10に対して各種の処理を施した後、各画素の階調値が「1」である黒画素と、階調値が「0」である白画素との二値で表現された出力二値画像データ20を出力する。
メモリ2は、外部から入力された入力多値画像データ10を記憶すると共に、二値化処理部3、誤差分散処理部4、FMスクリーニング画像作成処理部5及び画素融合処理部6で各種の処理が施された画像データや、各処理において必要な情報等を記憶するための記憶媒体である。
二値化処理部3は、メモリ2に記憶された入力多値画像データ10を読み出し、この入力多値画像データ10による入力多値画像(入力グレースケール画像)の多値階調値を黒画素及び白画素の二値階調値のみからなる二値画像(第1の二値画像)に変換すると共に、第1の二値画像に含まれる黒画素の数を検出する。変換された第1の二値画像、及び検出された黒画素数を示す第1の黒画素数情報は、メモリ2に記憶される。
誤差分散処理部4は、メモリ2に記憶された第1の二値画像及び第1の黒画素数情報を読み出す。そして、誤差分散処理部4は、第1の黒画素数情報に基づき、二値化処理部3で変換された第1の二値画像に対して二値化処理部3による画像変換の際に生じるトーンジャンプ現象を抑制するための誤差分散処理を行い、第2の二値画像を作成する。また、誤差分散処理部4は、作成した第2の二値画像に含まれる黒画素数を検出する。作成された第2の二値画像及び検出された黒画素数を示す第2の黒画素数情報は、メモリ2に記憶される。
FMスクリーニング画像作成処理部5は、メモリ2に記憶された第2の二値画像及び第2の黒画素数情報を読み出し、第2の黒画素数情報を用いてFMスクリーニング画像を作成する。作成されたFMスクリーニング画像は、メモリ2に記憶される。また、FMスクリーニング画像作成処理部5は、FMスクリーニング画像を作成する際に用いられる、図示しない要配置画素数カウンタを有する。この要配置画素数カウンタについては、後述する。
画素融合処理部6は、メモリ2に記憶されたFMスクリーニング画像を読み出し、このFMスクリーニング画像から所定の画素パターンを検出する。そして、画素融合処理部6は、検出された所定の画素パターンに対して画素融合処理を施し、ハイブリッドスクリーニング画像を作成する。作成されたハイブリッドスクリーニング画像は、メモリ2に記憶される。
尚、上述した二値化処理部3、誤差分散処理部4、FMスクリーニング画像作成処理部5及び画素融合処理部6は、必ずしもハードウェアによって構成する必要はなく、その一部又は全部をソフトウェア(プログラム)によって構成してもよい。
次に、上記構成を有する画像変換処理装置1におけるハイブリッドスクリーニング画像作成処理について、各部における処理毎に説明する。
まず、二値化処理部3による二値化処理について、図2を参照して説明する。二値化処理においては、まず、入力多値画像データ10の解像度情報に基づき、網点を作成する際と同様に、ハーフトーンセル(網点セル)ブロックを、入力多値画像データ10に含まれる黒画素を検出するための検出単位である変換ブロックとして設定する。そして、変換ブロック毎に入力多値画像データ10を黒画素及び白画素からなる第1の二値画像に変換する。
次に、変換ブロックに含まれる各画素の階調値に基づき、変換ブロック内の入力多値画像データ10の平均階調値を算出し、算出された平均階調値を用いて、対応する第1の二値画像の変換ブロックにおける、黒画素の数とすべての画素の数との比率を示す濃度値を取得する。そして、変換ブロックの濃度値に基づき、多値画像であるグレースケール画像における変換ブロック内の平均階調値に対応する黒画素数を検出する。
すなわち、変換ブロックサイズを横方向及び縦方向に「Lx」画素及び「Ly」画素に設定し、グレースケール画像の階調値をPとした場合、変換により得られる第1の二値画像の黒画素数s(第1の黒画素数情報)は、数式(1)に基づき取得することができる。
ここで、二値化処理では、グレースケール画像の変換ブロックに含まれる画素の階調値を平均化して第1の二値画像における黒画素数を取得するため、ハーフトーンセルブロックのサイズによって表現できる最大階調数を決定することができる。また、ハーフトーンセルブロックに含まれる画素数により、表現できる階調数が変化し、画素数で階調の変化を表現する。
そのため、ハーフトーンセルブロックのサイズが大きい場合、変換された第1の二値画像は、表現できる階調数を多くすることができるが、粒子の粗い画像となり、画質が劣化する。一方、ハーフトーンセルブロックのサイズが小さい場合、変換された第1の二値画像は、表現できる階調数が少なくなるが、粒子の細かい画像となり、画質を向上させることができる。
本実施の形態における二値化処理を用いて変換される第1の二値画像は、グレースケール画像に対して平均フィルタによるぼけ処理を行った場合と同様の変換画質となるため、変換ブロックのサイズをできるだけ小さくすることが必要である。本発明者は、評価実験により、変換ブロックのサイズを「4×4」画素〜「6×6」画素程度に設定することにより、よりよい変換画質が得られることを検証した。尚、図2に示す例では、変換ブロックのサイズを「6×6」とした場合の多値画像の階調値と、変換される第1の二値画像の黒画素数との対応関係を示す。
次に、誤差分散処理部4による誤差分散処理について、図3を参照して説明する。
上述したように、ハーフトーンセルブロックを変換ブロックとして設定して二値化処理を行った場合、変換ブロックのサイズに応じて表現できる階調数が変化する。ここで、変換ブロックのサイズを大きくした場合には、網点の大きさが人の目に見える程度に大きくなるため、変換された二値画像全体の画質が悪化する。
一方、このような画質の悪化を防ぐため、変換ブロックのサイズを小さくする必要があるが、変換ブロックのサイズを小さくすると、変換ブロック毎に表現できる階調数が少なくなる。そのため、変換された二値画像では、ハーフトーン間(変換ブロック間)に境界が生じる「トーンジャンプ現象」が発生する。
ところで、上述した二値化処理において、数式(1)に基づいて取得した黒画素数sは、変換ブロックの多値階調値画素に対応する二値画像における黒画素数であり、黒画素として表現できる整数部分と、黒画素として表現できない小数点以下の部分を含む。このとき、黒画素として表現できない小数点以下の部分が、グレースケール画像を二値画像に変換する際の変換誤差となり、トーンジャンプ現象が発生する原因となる。
そこで、本実施の形態では、二値化処理による画質ぼけの影響を抑制し、より精細な画質を得るために、第1の二値画像に対して誤差分散処理を行う。これにより、変換ブロックサイズを上述したように小さく設定することによって階調表現が少なくなることにより生じるトーンジャンプ現象を防止することができる。
誤差分散処理においては、図3に示すように、二値化処理において生じる変換ブロック毎の誤差(階調値変換誤差)εを、隣接する周囲の変換ブロックに対して所定の割合で分散させる。例えば、注目する変換ブロックに対して相関性の高い変換ブロックに対しては、相関性の低い変換ブロックと比較して高い割合で階調値変換誤差εを分散させる。そして、変換対象となる変換ブロックでは、周囲の変換ブロックから分散された階調値変換誤差εを用い、数式(2)に基づいて変換誤差を考慮した黒画素数s”(第2の黒画素数情報)を取得すると共に、第1の二値画像に対して誤差分散処理を行った第2の二値画像を作成する。
尚、この数式(2)では、階調値変換誤差εの初期値(ε0,0)として、値「0」が用いられる。これは、最初に誤差分散処理を行う変換ブロックにおいて、隣接する周囲の変換ブロックから分散される階調値変換誤差εを値「0」とするためである。
図4は、誤差分散処理を行った場合の効果を示し、図4(a)は、ハーフトーンブロックサイズを小さく設定した場合の第1の二値画像(誤差分散処理なし)を示し、図4(b)は、第2の二値画像(誤差分散処理あり)を示す。
このように、誤差分散処理を行うことにより、擬似輪郭のようなトーンジャンプ現象が発生することなく、階調表現が滑らかであり、かつモアレ等が発生しない二値画像を作成することができる。
次に、FMスクリーニング画像作成処理部5によるFMスクリーニング画像の作成処理について、図5及び図6を参照して説明する。
FMスクリーニング画像作成処理においては、誤差分散処理部4による誤差分散処理によって検出された第2の黒画素数情報(黒画素数s”)と、予め用意された第2の二値画像と同サイズの迷宮模様画像とに基づき、誤差分散処理部4で作成された第2の二値画像からFMスクリーニング画像を作成する。
ここで、迷宮模様画像は、例えば図6に示すように、画像内の連続する黒画素及び白画素によって、横方向及び縦方向の直線のみで構成される画像である。また、この例における迷宮模様画像は、画像内の黒画素数及び白画素数が同一となるように、従来から用いられる所定のアルゴリズムを用いて作成することができる。
このFMスクリーニング画像作成処理では、まず、第2の二値画像と同サイズの迷宮模様画像における変換ブロックに対応する部分の黒画素数BMを取得する。次に、取得した迷宮模様画像の黒画素数BMと、第2の二値画像の対応する変換ブロック内の黒画素数s”とから差分画素数Bsを算出する。差分画素数Bsは、以下の数式(3)に基づき算出することができる。
第2の二値画像の黒画素数 s”
迷宮模様画像の黒画素数 BM=(Lx×Ly)/2 ・・・(3)
差分画素数 Bs=s”−BM
次に、このようにして算出された差分画素数Bsに基づき、迷宮模様画像内の白画素又は黒画素を、差分画素数Bsの値だけ黒画素又は白画素に変換する。
差分画素数Bsが正数である場合には、白画素を黒画素に変換することによって差分画素数Bs分の黒画素を追加する(黒画素増加処理)。一方、差分画素数Bsが負数である場合には、黒画素を白画素に変換することによって差分画素数Bs分の黒画素を削除する(黒画素減少処理)。
具体的には、まず、差分画素数Bsに基づき、黒画素増加処理及び黒画素減少処理のうちどちらの処理を行うかを決定し、画素配置条件を設定する。差分画素数Bsが正数の場合には、画素配置条件として黒画素増加処理を設定し、差分画素数Bsが負数の場合には、画素配置条件として黒画素減少処理を設定する。
次に、変換ブロックにおいて、増加又は減少させる黒画素を決定するため、横方向及び縦方向の座標に対応する各々の乱数を発生させ、乱数の値に対応する座標に位置する画素の種類(黒画素又は白画素)を判断する。
次に、この画素が配置条件に合致する画素種類である場合、当該画素の種類を変換する。例えば、画素配置条件が黒画素増加処理である場合で、乱数の値に対応する画素が白画素であるときには、この白画素を黒画素に変換する。また、画素配置条件が黒画素減少処理である場合で、乱数の値に対応する画素が黒画素であるときには、この黒画素を白画素に変換する。そして、このような黒画素増加処理又は黒画素減少処理を差分画素数Bsの値だけ繰り返して行う。
尚、乱数の値に対応する画素の種類が画素配置条件に合致しない場合には、画素の変換処理を行わず、再度乱数を発生させて上述の処理を繰り返す。ここで、画素配置条件に合致しない場合とは、画素配置条件が黒画素増加処理である場合で、乱数の値に対応する画素が黒画素であるとき、及び画素配置条件が黒画素減少処理である場合で、乱数の値に対応する画素が白画素であるときである。
このように、FMスクリーニング画像作成処理では、例えば、図5(a)に示す多値の原画像に基づき取得した黒画素数と、図5(b)に示す迷宮模様画像の黒画素数とから得られる差分画素数Bsに基づき、図5(b)の迷宮模様画像に対して黒画素増加処理又は黒画素減少処理を行う。これにより、図5(c)に示すFMスクリーニング画像を作成することができる。このFMスクリーニング画像は、従来の方法によって作成されたFMスクリーニング画像とは異なったものとなる。
また、図7は、本実施の形態によるFMスクリーニング画像作成処理を用いて作成したグラデーション画像である。この画像では、ハイライト領域からシャドウ領域までのすべての領域における階調が連続的かつ平滑的に表現されていることが確認できる。
次に、画素融合処理部6による画素融合処理について、図8〜図11を参照して説明する。上述したFMスクリーニング画像作成処理部5において作成されたFMスクリーニング画像では、単独の画素及び黒・白画素からなる曲線による大域的な均等分布と局部的なランダム分布とのバランスを維持した分布特性を実現できる。そのため、従来の誤差拡散処理によって作成されたFMスクリーニング画像におけるワーム状のモアレが発生しないという特徴を有する。
しかし、図5(c)に示すように、このFMスクリーニング画像では、孤立した画素や細線が最小情報単位であるドットとなるため、このままでは、印刷工程に適さないという問題がある。
そこで、本実施の形態では、FMスクリーニング画像の長所を保持したまま印刷工程に適したスクリーニングを実現するため、最小情報単位であるドットの大きさを印刷しやすい大きさに変換するための画素融合処理を行う。
画素融合処理においては、まず、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画素間隔で分布する画素パターン内の黒画素同士が連続的に分布するように、黒画素と白画素とを交換することにより、所定のスクリーニング画像を作成する。
次に、画素画素融合処理においては、上述した二次元画素融合処理によって変換されたスクリーニング画像に対してラスタスキャンを行う。そして、角度方向で隣接する複数の画素によって形成される画素パターンから、黒画素及び白画素が1画素間隔で分布する所定の画素パターンを検出し、検出された所定の画素パターンに対して一次元画素融合処理を行う。
一次元画素融合処理では、まず、スクリーニング画像から角度方向で互いに隣接し、各々の画素が「白・黒・白・黒」のように並ぶ4画素からなる第3の画素パターンを検出する。
そして、第3の画素パターンを検出した場合には、この第3の画素パターンに対して第3の画素融合処理を行う。第3の画素融合処理では、「白・黒・白・黒」のように並ぶ第3の画素パターンを、「白・白・黒・黒」のように並ぶ画素パターンに変換する。
ここで、第3の画素パターンの検出は、図10(a)に示すように、画像の360°空間において45°間隔で行う。具体的には、第3の画素融合処理では、0°方向に第3の画素パターンが検出された場合に、図10(b)に示すように、0°方向に左から右方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(0°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(0°))。
45°方向に第3の画素パターンが検出された場合には、図10(c)に示すように、45°方向に左下から右上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(45°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(45°))。
90°方向に第3の画素パターンが検出された場合には、図10(d)に示すように、90°方向に下から上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(90°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(90°))。
135°方向に第3の画素パターンが検出された場合には、図10(e)に示すように、135°方向に右下から左上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(135°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(135°))。
180°方向に第3の画素パターンが検出された場合には、図10(f)に示すように、180°方向に右から左方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(180°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(180°))。
225°方向に第3の画素パターンが検出された場合には、図10(g)に示すように、225°方向に右上から左下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(225°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(225°))。
270°方向に第3の画素パターンが検出された場合には、図10(h)に示すように、270°方向に上から下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(270°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(270°))。
315°方向に第3の画素パターンが検出された場合には、図10(i)に示すように、315°方向に左上から右下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(315°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3の画素融合処理(315°))。
360°方向については、0°方向と同様であるので、第3の画素パターンの検出は行われない。
このように、第3の画素融合処理では、画像の360°空間に対して45°間隔で第3の画素パターンを順次検出し、スクリーニング画像から第3の画素パターンが検出できなくなるまで上述した変換処理が繰り返される。
そして、このように画素融合処理によって第1〜第3の画素融合処理が行われた画像が、FMスクリーニング画像を変換したハイブリッドスクリーニング画像となる。
図11は、画素融合処理を行うことによって作成されたハイブリッドスクリーニング画像を示す。図11(a)は、FMスクリーニング画像作成処理によって作成されたFMスクリーニング画像(画素融合処理部6に入力されるFMスクリーニング画像)である。また、図11(b)は、図11(a)に示すFMスクリーニング画像に対して二次元画素融合処理(第1及び第2の画素融合処理)を行ったスクリーニング画像である。さらに、図11(c)は、図11(b)に示すスクリーニング画像に対して一次元画素融合処理(第3の画素融合処理)を行うことによって作成されたハイブリッドスクリーニング画像である。
このように画素融合処理を行うことにより、孤立する画素を減少させ、複数の画素によって形成された大きなドットに変換することができる。
また、図12は、本実施の形態によるハイブリッドスクリーニング画像作成処理によって作成されたハイブリッドスクリーニング画像を示す。図12(a)は、従来の網点画像であり、図12(b)は、誤差拡散処理を用いて作成された従来のFMスクリーニング画像である。また、図12(c)は、本実施の形態による各処理を行うことによって作成されたハイブリッドスクリーニング画像である。
これらの各画像は、同一の原画像を用いて作成されたものであり、各々の画像を比較すると、図11(c)に示すハイブリッドスクリーニング画像が従来の網点画像及びFMスクリーニング画像の長所を兼ね備えたものであり、有効性を確認することができる。
次に、画像変換処理装置1における各処理の流れについて、図13〜図18に示すフローチャートを参照して説明する。
まず、外部から入力された入力多値画像データ10を出力二値画像データ20に変換して出力する画像変換処理装置1全体の処理について、図13を参照して説明する。
各処理に先立ち、外部からグレースケール画像である入力多値画像データ10が画像変換処理装置1に対して入力されると、画像変換処理装置1は、入力多値画像データ10をメモリ2に記憶する。
二値化処理部3は、メモリ2に記憶された入力多値画像データ10を読み出し、入力多値画像データ10に関する解像度情報に基づき、入力多値画像データ10に対して変換ブロックを設定する。そして、変換ブロック毎の画像を第1の二値画像に変換すると共に第1の黒画素数sを検出する二値化処理を行う(ステップS1)。二値化処理部3は、二値化処理により得られた第1の二値画像及び第1の黒画素数情報sを、一旦メモリ2に記憶する。
次に、誤差分散処理部4は、メモリ2に記憶された第1の二値画像及び第1の黒画素数情報sを読み出し、これらの画像及び情報に基づき、第1の二値画像を第2の二値画像に変換すると共に、第2の黒画素数s”を検出する誤差分散処理を行う(ステップS2)。誤差分散処理部4は、誤差分散処理により得られた第2の二値画像及び第2の黒画素数情報s”を、一旦メモリ2に記憶する。
次に、FMスクリーニング画像作成処理部5は、メモリ2に記憶された第2の黒画素数情報s”を読み出し、第2の黒画素数情報s”が示す各変換ブロック毎の黒画素数に基づき、変換ブロックと同サイズの迷宮模様画像を用いて第2の二値画像をFMスクリーニング画像に変換するFMスクリーニング変換処理を行う(ステップS3)。FMスクリーニング画像作成処理部5は、FMスクリーニング変換処理によって作成したFMスクリーニング画像を、一旦メモリ2に記憶する。
次に、画素融合処理部6は、メモリ2に記憶されたFMスクリーニング画像を読み出し、このFMスクリーニング画像に対して、二次元画素融合処理(第1及び第2の画素融合処理)を行う(ステップS4)。画素融合処理部6は、二次元画素融合処理によって作成されたスクリーニング画像を、一旦メモリ2に記憶する。
次に、画素融合処理部6は、二次元画素融合処理によって作成されたスクリーニング画像をメモリ2から読み出し、このスクリーニング画像に対して、一次元画素融合処理(第3の画素融合処理)を行う(ステップS5)。これにより、入力多値画像データ10がハイブリッドスクリーニング画像に変換される。画素融合処理部6は、画素融合処理によって作成したハイブリッドスクリーニング画像を、メモリ2に記憶する。
そして、メモリ2に記憶されたハイブリッドスクリーニング画像は、出力二値画像データ20として出力される。
尚、図13に示す例では、ステップS1、ステップS2及びステップS3の処理が順次行われるように説明したが、これに限られず、例えば、ステップS1、ステップS2及びステップS3の処理が互いに並行して行われるようにしてもよい。
次に、図13のステップS1及びステップS2における二値化処理及び誤差分散処理の流れについて、図14を参照して説明する。
まず、ステップS11において、二値化処理部3は、設定した変換ブロックに含まれる各画素の階調値に基づき、上述した数式(1)を用いて第1の二値画像の黒画素数である第1の黒画素数sを計算する。
次に、ステップS12において、二値化処理部3は、処理対象の変換ブロックの周辺に位置する変換ブロックからの分散誤差を加算して、誤差分散処理を行う。最後に、二値化処理部3は、数式(2)を用いることにより、第2の黒画素数情報である第2の黒画素数s”を計算すると共に、周辺の変換ブロックに対する分散誤差εを計算する(ステップS13)。
次に、図13のステップS3におけるFMスクリーニング変換処理の流れについて、図15を参照して説明する。
まず、ステップS21において、FMスクリーニング画像作成処理部5は、メモリ2から第2の二値画像を読み出し、第2の二値画像に関する解像度情報に基づき、第2の二値画像に対して変換ブロックを設定する。
次に、FMスクリーニング画像作成処理部5は、設定した変換ブロックに対応する、変換ブロックと同サイズの迷宮模様画像内の黒画素数BMを取得する(ステップS22)。
そして、FMスクリーニング画像作成処理部5は、第2の二値画像に対して変換ブロック単位でのラスタスキャンを行い(ステップS23)、変換ブロック毎に各々の変換ブロック内の黒画素数s”を取得する(ステップS24)。尚、黒画素数s”は、上述した図14のステップS13で計算した第2の黒画素数情報を用いてもよい。
次に、ステップS25において、FMスクリーニング画像作成処理部5は、ステップS22で取得した迷宮模様画像の黒画素数BMと、ステップS24で取得した第2の二値画像の黒画素数s”とに基づき、数式(3)を用いて差分画素数Bsを算出する。
ステップS26において、FMスクリーニング画像作成処理部5は、差分画素数Bsに基づき、迷宮模様画像内の黒画素を増加させるか否かを判断する。差分画素数Bsが正数であり、黒画素を増加させると判断した場合には、処理がステップS27に移行し、FMスクリーニング画像作成処理部5は、配置処理として黒画素増加処理を行う。一方、差分画素数Bsが負数であり、黒画素を減少させると判断した場合には、処理がステップS28に移行し、FMスクリーニング画像作成処理部5は、配置処理として黒画素減少処理を行う。尚、黒画素増加処理及び黒画素減少処理の詳細については、後述する。
最後に、FMスクリーニング画像作成処理部5は、迷宮模様画像に対する黒画素の配置処理が完了したか否かを判断する(ステップS29)。配置処理が完了したと判断した場合(ステップS29;Yes)には、一連の処理が終了する。
一方、黒画素の配置処理が完了していないと判断した場合(ステップS29;No)には、処理がステップS25に戻り、FMスクリーニング画像作成処理部5は、すべての変換ブロックにおける黒画素の配置処理が完了するまで、ステップS25〜ステップS28の処理を繰り返す。
このように、変換ブロック単位で入力多値画像からFMスクリーニング画像を作成し、すべての変換ブロックについてFMスクリーニング画像を作成することにより、入力多値画像をFMスクリーニング画像に変換することができる。
次に、図15のステップS27及びステップS28における配置処理の流れについて、図16を参照して説明する。
まず、ステップS31において、FMスクリーニング画像作成処理部5は、図15のステップS26における判断に基づき、黒画素増加処理又は黒画素減少処理のうちいずれかの処理を配置処理として決定し、画素配置条件を設定する。決定した配置処理が黒画素増加処理である場合、FMスクリーニング画像作成処理部5は、画素配置条件を「黒画素の増加」に設定する。一方、決定した配置処理が黒画素減少処理である場合、FMスクリーニング画像作成処理部5は、画素配置条件を「黒画素の減少」に設定する。
次に、FMスクリーニング画像作成処理部5は、図15のステップS25で算出した差分画素数Bsの絶対値を要配置画素数カウンタに設定する(ステップS32)。この要配置画素数カウンタの値は、配置処理で配置(変換)する黒画素の最大画素数となる。
ステップS33において、FMスクリーニング画像作成処理部5は、一様乱数を発生させ、黒画素を配置(変換)するための配置画素座標(m,n)を決定する。
次に、ステップS34において、FMスクリーニング画像作成処理部5は、ステップS33で決定した配置画素座標における画素の種類がステップS31で設定した画素配置条件を満足するか否かを判断する。
配置画素座標(m,n)における画素の種類が画素配置条件を満足すると判断した場合(ステップS34;Yes)には、処理がステップS35に移行し、FMスクリーニング画像作成処理部5は、配置画素座標(m,n)における画素の種類を変換する。このとき、配置処理が黒画素増加処理である場合には、配置画素座標(m,n)における画素の種類が「白画素」であるため、この白画素を黒画素に変換し、黒画素を増加させる。また、配置処理が黒画素減少処理である場合には、配置画素座標(m,n)における画素の種類が「黒画素」であるため、この黒画素を白画素に変換し、黒画素を減少させる。そして、FMスクリーニング画像作成処理部5は、要配置画素数カウンタの値を「1」だけデクリメントする(ステップS36)。
一方、ステップS34において、配置画素座標(m,n)における画素の種類が画素配置条件を満足しないと判断した場合(ステップS34;No)には、処理がステップS33に戻る。そして、FMスクリーニング画像作成処理部5は、ステップS33で決定した配置画素座標(m,n)を廃棄すると共に、新たに一様乱数を発生させて配置画素座標(m,n)を決定する。
ステップS37において、FMスクリーニング画像作成処理部5は、要配置画素数カウンタの値が「0」であるか否かを判断する。要配置画素数カウンタの値が「0」であると判断した場合(ステップS37;Yes)、FMスクリーニング画像作成処理部5は、配置(変換)すべきすべての黒画素に対する処理が終了したと判断し、一連の処理が終了する。
一方、要配置画素数カウンタの値が「0」ではないと判断した場合(ステップS37;No)には、処理がステップS33に戻る。そして、FMスクリーニング画像作成処理部5は、新たに一様乱数を発生させて配置画素座標(m,n)を決定し、要配置画素数カウンタの値が「0」となるまで、ステップS33〜ステップS36の処理を繰り返す。
このようにして、差分画素数Bsの値だけ迷宮模様画像内の画素を変換することにより、変換ブロック単位でFMスクリーニング画像を作成することができる。
次に、図13のステップS4における二次元画素融合処理(第1及び第2の画素融合処理)の流れについて、図17を参照して説明する。
まず、ステップS41において、画素融合処理部6は、メモリ2から処理対象画像であるFMスクリーニング画像を読み出し、ラスタスキャンを行う。次に、画素融合処理部6は、ステップS41で得られた2画素×2画素の画素パターンから、第1の画素パターンが検出されたか否かを判断する(ステップS42)。
第1の画素パターンが検出されたと判断した場合(ステップS42;Yes)、画素融合処理部6は、ステップS43において乱数を発生させる。この例では、乱数として、値が「0」から「1」までの区間において、すべての実数が同じ確率で出現する一様乱数を用いる。
次に、ステップS44において、画素融合処理部6は、ステップS43で発生した乱数の値が「0.5」未満であるか否かを判断する。乱数値が0.5以上である場合(ステップS44;No)、画素融合処理部6は、図8(c)に示すように、ステップS42で検出された第1の画素パターンに対して第1の画素融合処理100aを行う(ステップS45)。
また、乱数値が0.5未満である場合(ステップS44;Yes)、画素融合処理部6は、図8(d)に示すように、ステップS42で検出された第1の画素パターンに対して第1の画素融合処理100bを行う(ステップS46)。
一方、ステップS42において、画素融合処理部6が第1の画素パターンが検出されていないと判断した場合(ステップS42;No)には、処理がステップS47に移行する。
ステップS47において、画素融合処理部6は、ステップS41で得られた2画素×2画素の画素パターンから、第2の画素パターンが検出されたか否かを判断する。第2の画素パターンが検出されたと判断した場合(ステップS47;Yes)、画素融合処理部6は、値が「0」から「1」までの一様乱数を発生させる(ステップS48)。
次に、画素融合処理部6は、ステップS48で発生した乱数の値が「0.5」未満であるか否かを判断する(ステップS49)。乱数値が0.5以上である場合(ステップS49;No)、画素融合処理部6は、図9(c)に示すように、ステップS47で検出された第2の画素パターンに対して第2の画素融合処理200aを行う(ステップS50)。
また、乱数値が0.5未満である場合(ステップS49;Yes)、画素融合処理部6は、図9(d)に示すように、ステップS47で検出された第2の画素パターンに対して第2の画素融合処理200bを行う(ステップS51)。
一方、ステップS47において、画素融合処理部6が第2の画素パターンが検出されていないと判断した場合(ステップS47;No)には、処理がステップS52に移行する。
次に、ステップS52において、画素融合処理部6は、FMスクリーニング画像に対するスキャンが終了したか否かを判断する。画素融合処理部6がスキャンが終了したと判断した場合(ステップS52;Yes)には、処理がステップS53に移行する。一方、画素融合処理部6がスキャンが終了していないと判断した場合(ステップS52;No)には、処理がステップS41に戻り、FMスクリーニング画像に対するスキャンを継続する。
ステップS53において、画素融合処理部6は、処理対象画像から第1及び第2の画素パターンが検出できなくなったか否かを判断する。画素融合処理部6が第1及び第2の画素パターンが検出できなくなったと判断した場合(ステップS53;Yes)には、一連の処理が終了する。一方、画素融合処理部6が第1及び第2の画素パターンが検出できると判断した場合(ステップS53;No)には、処理がステップS41に戻る。
以上のようにして、画素融合処理部6は、FMスクリーニング画像作成処理部5で作成されたFMスクリーニング画像に対して二次元画素融合処理を行うことにより、一次元画素融合処理を行う際に用いられるスクリーニング画像を作成し、メモリ2に記憶する。
次に、図13のステップS5における一次元画素融合処理(第3の画素融合処理)の流れについて、図18を参照して説明する。
まず、ステップS61において、画素融合処理部6は、メモリ2から処理対象画像である二次元画素融合処理によって作成されたスクリーニング画像を読み出し、ラスタスキャンを行う。
次に、画素融合処理部6は、ステップS61で得られた画素パターンから、0°方向の第3の画素パターン(0°)が検出されたか否かを判断する(ステップS62)。第3の画素パターン(0°)が検出されたと判断した場合(ステップS62;Yes)、画素融合処理部6は、図10(b)に示すように、この第3の画素パターン(0°)に対して第3の画素融合処理(0°)を行う(ステップS63)。
一方、画素融合処理部6が第3の画素パターン(0°)が検出されていないと判断した場合(ステップS62;No)には、処理がステップS64に移行する。
次に、ステップS64において、画素融合処理部6は、45°方向の第3の画素パターン(45°)が検出されたか否かを判断する。第3の画素パターン(45°)が検出されたと判断した場合(ステップS64;Yes)、画素融合処理部6は、図10(c)に示すように、この第3の画素パターン(45°)に対して第3の画素融合処理(45°)を行う(ステップS65)。
一方、画素融合処理部6が第3の画素パターン(45°)が検出されていないと判断した場合(ステップS64;No)には、処理がステップS66に移行する。
次に、ステップS66において、画素融合処理部6は、90°方向の第3の画素パターン(90°)が検出されたか否かを判断する。第3の画素パターン(90°)が検出されたと判断した場合(ステップS66;Yes)、画素融合処理部6は、図10(d)に示すように、この第3の画素パターン(90°)に対して第3の画素融合処理(90°)を行う(ステップS67)。
一方、画素融合処理部6が第3の画素パターン(90°)が検出されていないと判断した場合(ステップS66;No)には、処理がステップS68に移行する。
次に、ステップS68において、画素融合処理部6は、135°方向の第3の画素パターン(135°)が検出されたか否かを判断する。第3の画素パターン(135°)が検出されたと判断した場合(ステップS68;Yes)、画素融合処理部6は、図10(e)に示すように、この第3の画素パターン(135°)に対して第3の画素融合処理(135°)を行う(ステップS69)。
一方、画素融合処理部6が第3の画素パターン(135°)が検出されていないと判断した場合(ステップS68;No)には、処理がステップS70に移行する。
次に、ステップS70において、画素融合処理部6は、180°方向の第3の画素パターン(180°)が検出されたか否かを判断する。第3の画素パターン(180°)が検出されたと判断した場合(ステップS70;Yes)、画素融合処理部6は、図10(f)に示すように、この第3の画素パターン(180°)に対して第3の画素融合処理(180°)を行う(ステップS71)。
一方、画素融合処理部6が第3の画素パターン(180°)が検出されていないと判断した場合(ステップS70;No)には、処理がステップS72に移行する。
次に、ステップS72において、画素融合処理部6は、225°方向の第3の画素パターン(225°)が検出されたか否かを判断する。第3の画素パターン(225°)が検出されたと判断した場合(ステップS72;Yes)、画素融合処理部6は、図10(g)に示すように、この第3の画素パターン(225°)に対して第3の画素融合処理(225°)を行う(ステップS73)。
一方、画素融合処理部6が第3の画素パターン(225°)が検出されていないと判断さした場合(ステップS72;No)には、処理がステップS74に移行する。
次に、ステップS74において、画素融合処理部6は、270°方向の第3の画素パターン(270°)が検出されたか否かを判断する。第3の画素パターン(270°)が検出されたと判断した場合(ステップS74;Yes)、画素融合処理部6は、図10(h)に示すように、この第3の画素パターン(270°)に対して第3の画素融合処理(270°)を行う(ステップS75)。
一方、画素融合処理部6が第3の画素パターン(270°)が検出されていないと判断した場合(ステップS74;No)には、処理がステップS76に移行する。
次に、ステップS76において、画素融合処理部6は、315°方向の第3の画素パターン(315°)が検出されたか否かを判断する。第3の画素パターン(315°)が検出されたと判断した場合(ステップS76;Yes)、画素融合処理部6は、図10(i)に示すように、この第3の画素パターン(315°)に対して第3の画素融合処理(315°)を行う(ステップS77)。
一方、画素融合処理部6が第3の画素パターン(315°)が検出されていないと判断した場合(ステップS76;No)には、処理がステップS78に移行する。
次に、ステップS78において、画素融合処理部6は、スクリーニング画像に対するスキャンが終了したか否かを判断する。画素融合処理部6がスキャンが終了したと判断した場合(ステップS78;Yes)には、処理がステップS79に移行する。一方、画素融合処理部6がスキャンが終了していないと判断した場合(ステップS78;No)には、処理がステップS61に戻り、画素融合処理部6は、スクリーニング画像に対するスキャンを継続する。
ステップS79において、画素融合処理部6は、処理対象画像から第3の画素パターンが検出できなくなったか否かを判断する。画素融合処理部6が第3の画素パターンが検出できなくなったと判断した場合(ステップS79;Yes)には、一連の処理が終了する。一方、画素融合処理部6が第3の画素パターンが検出できると判断した場合(ステップS79;No)には、処理がステップS61に戻る。
以上のように、画素融合処理部6は、二次元画素融合処理を行うことにより作成されたスクリーニング画像に対して一次元画素融合処理を行うことにより、ハイブリッドスクリーニング画像を作成し、メモリ2に記憶する。
このように、本実施の形態に係る画像変換処理装置1では、周期性を持たずランダムに分布する、網点よりも小さいドットで印刷画像に適したハイブリッドスクリーニング画像を作成することができる。すなわち、本実施の形態に係る画像変換処理装置1では、従来の網点及びFMスクリーニングの長所を兼ね備えたハイブリッドスクリーニング画像を作成することができる。
以上のように、本実施の形態による画像変換処理装置では、入力された多値画像であるグレースケール画像を、黒画素及び白画素からなる第1の二値画像に変換する二値化処理を行う。次に、変換した第1の二値画像に含まれる第1の黒画素数を変換ブロック毎に検出すると共に、第1の黒画素数の検出の際に生じる誤差(変換誤差)を考慮して第2の二値画像を作成する誤差分散処理を行う。そして、作成された第2の二値画像に含まれる黒画素数を変化ブロック毎に検出し、検出された黒画素数と、予め用意された迷宮模様画像内の黒画素数との差を示す差分画素数に基づいてFMスクリーニング画像を作成するFMスクリーニング画像作成処理を行う。最後に、作成されたFMスクリーニング画像に対して第1〜第3の画素融合処理を行い、ハイブリッドスクリーニング画像を作成する画素融合処理を行う。
このように、本実施の形態による画像変換処理装置では、二値化処理の際に生じる変換誤差を考慮した誤差分散処理を行うことにより、変換ブロック間で発生するトーンジャンプ現象や、変換ブロックの境界に発生するモアレを低減させることができる。また、迷宮模様画像に対して差分画素数分の画素をランダムに配置(変換)することにより、ランダマイズ性を抑えながらムラの発生を抑制できるFMスクリーニング画像を作成することができる。さらに、画素融合処理を行うことにより、孤立する画素を印刷工程に適したサイズのドットに変換すると共に、周期性のないクラスタ模様に変換することができる。
これにより、画質を向上させることができると共に、網点画像が有する印刷工程に適し、扱いが容易であるという長所と、FMスクリーニング画像が有する高品質であるという長所とを兼ね備えるハイブリッドスクリーニング画像を作成することができる。また、シャープネス等の画質を印刷条件やユーザの要求に応じて調整することが可能となる。
尚、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
多値の階調値を有する多値画像をハイブリッドスクリーニング画像に変換する画像変換処理方法であって、
多値画像を黒画素及び白画素からなる第1の二値画像に変換すると共に、該第1の二値画像に含まれる第1の黒画素数を検出し、該第1の二値画像の作成の際に生じる変換誤差を検出する二値化ステップと、
前記第1の黒画素数及び前記変換誤差に基づき、前記第1の二値画像を第2の二値画像に変換すると共に、該第2の二値画像に含まれる第2の黒画素数を検出する誤差分散ステップと、
検出された前記第2の黒画素数と予め用意された黒画素及び白画素からなる所定の二値画像の黒画素数との差分に基づき、前記差分の数だけ前記所定の二値画像内における一方の画素を他方の画素に変換することにより、前記第2の二値画像をFMスクリーニング画像に変換するFMスクリーニング画像作成ステップと、
作成された前記FMスクリーニング画像から、隣接する複数の画素で形成される所定の画素パターンを検出し、検出された前記所定の画素パターンに対して所定の画素融合処理を行い、ハイブリッドスクリーニング画像を作成する画素融合ステップとを備える画像変換処理方法。
(付記2)
前記二値化ステップは、
前記多値画像の解像度情報に基づき、前記FMスクリーニング画像の作成単位となる、前記多値画像のハーフトーンセルのサイズに対応する変換ブロックを前記多値画像に対して設定し、
前記変換ブロック内の前記第1の黒画素数を検出する付記1に記載の画像変換処理方法。
(付記3)
前記誤差分散ステップは、所定の前記変換ブロックにおける変換誤差を、該変換ブロックに隣接する周囲の変換ブロックに対して分散させる付記2に記載の画像変換処理方法。
(付記4)
前記所定の二値画像は、画像内の連続する黒画素及び白画素によって、横方向及び縦方向の直線のみで構成され、前記黒画素及び前記白画素が同数とされる迷宮模様画像である付記1、2又は3に記載の画像変換処理方法。
(付記5)
前記FMスクリーニング画像作成ステップは、
前記所定の二値画像内のすべての画素に対して横方向及び縦方向の座標を設定し、
前記座標に対応して発生させる乱数に基づき決定された座標位置の画素を変換することにより、前記FMスクリーニング画像を作成する付記1乃至4のいずれかに記載の画像変換処理方法。
(付記6)
前記FMスクリーニング画像作成ステップは、
前記差分が正数であり、前記所定の二値画像における前記座標位置の画素が白画素である場合に、該白画素を黒画素に変換する黒画素増加処理を行い、
前記差分が負数であり、前記所定の二値画像における前記座標位置の画素が黒画素である場合に、該黒画素を白画素に変換する黒画素減少処理を行い、
前記黒画素増加処理及び前記黒画素減少処理のいずれかを前記差分の数だけ行う付記5に記載の画像変換処理方法。
(付記7)
前記画素融合ステップは、
作成された前記FMスクリーニング画像から、隣接する複数の画素によって形成されると共に、前記黒画素及び前記白画素が1画素間隔で分布する前記所定の画素パターンを検出し、
検出された前記所定の画素パターン内の前記黒画素が連続的に分布するように前記黒画素及び前記白画素を互いに交換する前記画素融合処理を行う付記1乃至6のいずれかに記載の画像変換処理方法。
(付記8)
前記画素融合ステップは、
2画素×2画素からなる互いに隣接する4画素によって形成された画素パターンから、黒画素及び白画素が1画素間隔で分布する画素パターンを検出し、検出された該画素パターン内の前記黒画素が連続的に分布するように前記黒画素及び前記白画素を互いに交換する二次元画素融合処理と、
前記二次元画素融合処理を行った画像に対して、角度方向で互いに隣接する4画素によって形成された画素パターンから、黒画素及び白画素が1画素間隔で分布する画素パターンを検出し、検出された該画素パターン内の前記黒画素が連続的に分布するように前記黒画素及び前記白画素を互いに交換する一次元画素融合処理とを行う付記7に記載の画像変換処理方法。
(付記9)
前記二次元画素融合処理は、
左上及び右下の画素が黒画素であり、右上及び左下の画素が白画素である第1の画素パターンを検出した場合に、前記右下の黒画素と前記右上又は左下の白画素とを交換する第1の画素融合処理と、
左上及び右下の画素が白画素であり、右上及び左下の画素が黒画素である第2の画素パターンを検出した場合に、前記右下の白画素と前記右上又は左下の黒画素とを交換する第2の画素融合処理とを行い、
前記第1及び第2の画素融合処理を、前記第1及び第2の画素パターンが検出されなくなるまで交互に行う付記8に記載の画像変換処理方法。
(付記10)
前記一次元画素融合処理は、
前記角度方向で互いに隣接し、白画素・黒画素・白画素・黒画素のように並ぶ4画素からなる第3の画素パターンを検出した場合に、前記第3の画素パターンを白画素・白画素・黒画素・黒画素のように並ぶ画素パターンに変換する第3の画素融合処理を行い、
前記第3の画素融合処理を、前記第3の画素パターンが検出されなくなるまで45°間隔で順次行う付記8又は9に記載の画像変換処理方法。
(付記11)
前記一次元画素融合処理は、前記第3の画素融合処理を0°から360°まで45°間隔でおこなう付記8、9又は10に記載の画像変換処理方法。
(付記12)
多値の階調値を有する多値画像をハイブリッドスクリーニング画像に変換する画像変換処理方法をコンピュータ装置に実行させるためのプログラムであって、
多値画像を黒画素及び白画素からなる第1の二値画像に変換すると共に、該第1の二値画像に含まれる第1の黒画素数を検出し、該第1の二値画像の作成の際に生じる変換誤差を検出する二値化ステップと、
前記第1の黒画素数及び前記変換誤差に基づき、前記第1の二値画像を第2の二値画像に変換すると共に、該第2の二値画像に含まれる第2の黒画素数を検出する誤差分散ステップと、
検出された前記第2の黒画素数と予め用意された黒画素及び白画素からなる所定の二値画像の黒画素数との差分に基づき、前記差分の数だけ前記所定の二値画像内における一方の画素を他方の画素に変換することにより、前記第2の二値画像をFMスクリーニング画像に変換するFMスクリーニング画像作成ステップと、
作成された前記FMスクリーニング画像から、隣接する複数の画素で形成される所定の画素パターンを検出し、検出された前記所定の画素パターンに対して所定の画素融合処理を行い、ハイブリッドスクリーニング画像を作成する画素融合ステップとを備える画像変換処理方法をコンピュータ装置に実行させるプログラム。
(付記13)
多値の階調値を有する多値画像をハイブリッドスクリーニング画像に変換する画像変換処理装置であって、
多値画像を黒画素及び白画素からなる第1の二値画像に変換すると共に、該第1の二値画像に含まれる第1の黒画素数を検出し、該第1の二値画像の作成の際に生じる変換誤差を検出する二値化処理部と、
前記第1の黒画素数及び前記変換誤差に基づき、前記第1の二値画像を第2の二値画像に変換すると共に、該第2の二値画像に含まれる第2の黒画素数を検出する誤差分散処理部と、
検出された前記第2の黒画素数と予め用意された黒画素及び白画素からなる所定の二値画像の黒画素数との差分に基づき、前記差分の数だけ前記所定の二値画像内における一方の画素を他方の画素に変換することにより、前記第2の二値画像をFMスクリーニング画像に変換するFMスクリーニング画像作成処理部と、
作成された前記FMスクリーニング画像から、隣接する複数の画素で形成される所定の画素パターンを検出し、検出された前記所定の画素パターンに対して所定の画素融合処理を行い、ハイブリッドスクリーニング画像を作成する画素融合処理部とを備える画像変換処理装置。