次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。以下の説明では、網点の色を「黒」とし、背景の色を「白」とした二値画像を例にとって説明する。
図1は、本発明にかかる画像変換処理装置の一実施の形態を示し、この画像変換処理装置1は、大別して、メモリ2、黒画素数検出部3、FMスクリーニング画像作成処理部4及び画素パターン変換処理部5を備える。
画像変換処理装置1には、スキャナ等の入力機器から出力された、各画素の階調値が「1」である黒画素と、階調値が「0」である白画素との二値で表現された網点画像である入力二値画像データ10が入力され、この入力二値画像データ10に対して各種の処理を施した後、出力二値画像データ20を出力する。
メモリ2は、外部から入力された入力二値画像データ10を記憶すると共に、黒画素数検出部3、FMスクリーニング画像作成処理部4及び画素パターン変換処理部5で各種処理が施された画像データや、各処理において必要な情報等を記憶するための記憶媒体である。
黒画素数検出部3は、メモリ2に記憶された入力二値画像データ10を読み出し、この入力二値画像データ10に関する網点線数情報に基づき、入力二値画像データ10に含まれる黒画素の数を検出する。検出された黒画素数を示す黒画素数情報は、メモリ2に記憶される。
FMスクリーニング画像作成処理部4は、メモリ2に記憶された黒画素数情報を読み出し、この黒画素数情報を用いてFMスクリーニング画像を作成する。作成されたFMスクリーニング画像は、メモリ2に記憶される。また、FMスクリーニング画像作成処理部4は、FMスクリーニング画像を作成する際に用いられる、図示しない要配置画素数カウンタ及び配置済み画素数カウンタを有する。これらのカウンタについては、後述する。
画素パターン変換処理部5は、メモリ2に記憶されたFMスクリーニング画像を読み出し、このFMスクリーニング画像から後述する画素パターンを検出する。そして、画素パターン変換処理部5は、検出された画素パターンに対してパターン変換処理を施し、ハイブリッドスクリーニング画像である出力二値画像データ20を作成する。作成された出力二値画像データ20は、メモリ2に記憶される。
尚、上述した黒画素数検出部3、FMスクリーニング画像作成処理部4及び画素パターン変換処理部5は、必ずしもハードウェアによって構成する必要はなく、その一部又は全部をソフトウェア(プログラム)によって構成してもよい。
次に、上記構成を有する画像変換処理装置1における各部の処理について説明する。
まず、黒画素数検出部3による黒画素数検出処理について、図2を参照して説明する。
黒画素数検出処理においては、まず、入力二値画像データ10の網点の線数に基づき、入力二値画像データ10内の黒画素を検出するための検出単位である変換ブロックを設定する。変換ブロックは、入力二値画像データ10に関する網点線数情報により、1つの網点を収める仮想的な領域を示すスクリーンセルのサイズと同等のサイズに設定される。
尚、網点の線数情報を予め取得することが困難である場合には、これに限られず、例えば、網点のスクリーンセルサイズを推測し、サイズが多少異なる変換ブロックを設定してもよい。図2に示す例は、スクリーンセルサイズが「8画素×8画素」である網点画像に対して、近似的に、「9画素×9画素」の変換ブロックを設定した場合を示す。
次に、上述のようにして変換ブロックが設定された入力二値画像データ10に対してラスタスキャンを行い、変換ブロック内に含まれる黒画素を検出し、変換ブロック毎の黒画素数を計数する。図2に示す例の場合、各変換ブロック毎の黒画素数は、図の左上から右下まで、順に「4」、「8」、「12」、「10」、「6」、「12」、「18」、「16」、「6」、「12」、「18」、「14」となる。
次に、FMスクリーニング画像作成処理部4によるFMスクリーニング画像の作成処理について、図3を参照して説明する。
FMスクリーニング画像作成処理においては、黒画素数検出部3による黒画素数検出処理によって検出された黒画素数に基づき、各変換ブロック毎に検出された黒画素をランダムに配置することにより、FMスクリーニング画像を作成する。
黒画素をランダムに配置する場合には、チェスボード形画素配置図と称する、黒画素を配置するための仮想的な配置図を用いる。
具体的には、まず、図3(a)に示すように、変換ブロックの各画素に対して配置画素座標(m,n)を定義する。図3(a)の例では、左上の画素から右下の画素まで、配置画素座標が(0,0)、(1,0)、・・・、(0,Ly)、・・・、(Lx,Ly)のように定義される。このとき、作成されるFMスクリーニング画像についての画像情報が上下左右の4方向に均等に分布されるようにするため、横方向の座標の値「Lx」と縦方向の座標の値「Ly」とが同じになるように定義する。
このように配置画素座標を定義した場合、変換ブロックのサイズは、「(Lx+1)×(Ly+1)」となるため、変換ブロック内の総画素数は、「Lx」及び「Ly」の値が奇数の場合に偶数となり、「Lx」及び「Ly」の値が偶数の場合に奇数となる。
次に、このように配置画素座標が定義された変換ブロックに対して、チェスボード形画素配置図を設定する。チェスボード形画素配置図は、図3(b)に示すように、変換ブロックと同サイズであり、配置画素を配置するための第1配置層及び第2配置層が市松模様状に交互に設定される。また、チェスボード形画素配置図における各画素に対して、変換ブロックに対して定義された配置画素座標と同様の座標(0,0)〜(Lx,Ly)が設定される。
黒画素数検出処理で検出された、配置画素である黒画素は、このチェスボード形画素配置図における第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」である場合、以下の数式(1)を用いて決定される。
m=x(「0」〜「Lx」までの値を取り得る乱数により決定)
n=y(「0」〜「Ly」までの値を取り得る乱数により決定) ・・・(1)
画素配置判断条件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スクリーニング画像作成処理部4に設けられた要配置画素数カウンタの値を「1」だけデクリメントすると共に、配置済み画素数カウンタの値を「1」だけインクリメントする。
ここで、要配置画素数カウンタは、配置すべき画素の数をカウントするためのものであり、初期値として当該変換ブロック内の黒画素数が設定され、配置画素を配置する度に、値を「1」ずつデクリメントする。
また、配置済み画素数カウンタは、配置が完了した配置画素の数をカウントするためのものであり、初期値として値「0」が設定され、配置画素を配置する度に、値を「1」ずつインクリメントする。
配置済み画素数カウンタの値が当該配置層の総配置画素数を超えた場合には、配置層の配置可能なすべての座標の位置に、配置画素が配置されたことを示す。
ここで、配置層の総配置画素数よりも、要配置画素数が多い場合が考えられる。このような場合には、予め設定された画素配置判断条件を変更し、次の配置層に配置画素を配置するように設定する。
具体的には、例えば、画素配置判断条件を「偶数」に設定し、この条件の下で配置画素の配置処理を行う。そして、配置可能なすべての配置座標に配置画素が配置された後に、配置すべき配置画素が残っている場合には、画素配置判断条件を「奇数」に変更し、残りの配置画素に対する配置処理を行う。
このようにして、上述した配置処理を要配置画素数カウンタの値が「0」となるまで繰り返し、要配置画素数カウンタの値が「0」となった場合には、配置すべき配置画素の配置が完了したと判断し、配置画素の配置処理を終了する。これにより、所定の変換ブロックに対応する網点画像をFMスクリーニング画像に変換することができる。
図4は、上述したFMスクリーニング画像作成処理によって作成されたFMスクリーニング画像の一例を示す。このFMスクリーニング画像は、大域均等分布と局部ランダム分布とのバランスを取りながら、上下左右の4方向に画素分布特性を有することが大きな特徴である。
本実施の形態によるFMスクリーニング画像作成処理によって作成されたFMスクリーニング画像では、大域の均等分布特性と、局部のランダム分布特性とを両立することで、従来の誤差拡散処理によって作成されたFMスクリーニング画像で発生するワーム状のモアレが発生しないという特徴を有する。
また、図4に示すFMスクリーニング画像では、画素毎に上下左右の4方向に隣接した画素と、1画素間隔で孤立している。そこで、本実施の形態では、FMスクリーニング画像の高画質の良さを保持しつつ、輪転機による紙へのインクの着肉性を改善した印刷工程に適したスクリーニングを実現するため、以下に示す画素パターン変換処理によって、孤立する画素を印刷に適した大きさのドットに変換する。
次に、画素パターン変換処理部5による画素パターン変換処理について、図5〜図7を参照して説明する。
画素パターン変換処理においては、まず、FMスクリーニング画像作成処理部4によって作成されたFMスクリーニング画像に対してラスタスキャンを行う。そして、互いに隣接する複数の画素によって形成される画素パターンから、黒画素及び白画素が1画素間隔で分布する画素パターンを検出し、検出された画素パターンに対して二次元パターン変換処理を行う。
具体的には、まず、FMスクリーニング画像から図5(a)に示す「2画素×2画素」の4画素からなる第1の画素パターンを検出する。具体的には、第1の画素パターンは、左上及び右下の画素が黒画素であり、右上及び左下の画素が白画素となるパターンである。
そして、第1の画素パターンを検出した場合には、この第1の画素パターンに対して第1のパターン変換処理を行う。第1のパターン変換処理では、図5(b)に示すように、第1の画素パターンにおける右下の黒画素と、隣接する右上又は左下の白画素とを入れ替える交換処理を行う。このとき、右下の黒画素と、右上又は左下の白画素との交換確率を共に50%とする。
すなわち、第1のパターン変換処理では、50%の確率で、図5(c)に示す右下の黒画素と右上の白画素とを入れ替える交換処理(以下、「第1のパターン変換処理100a」とする)、及び図5(d)に示す右下の黒画素と左下の白画素とを入れ替える交換処理(以下、「第1のパターン変換処理100b」とする)のうち、いずれかの交換処理を行う。
次に、二次元パターン変換処理では、図6(a)に示す第2の画素パターンを検出する。具体的には、第2の画素パターンは、左上及び右下の画素が白画素であり、右上及び左下の画素が黒画素となるパターンである。
そして、第2の画素パターンを検出した場合には、この第2の画素パターンに対して第2のパターン変換処理を行う。第2のパターン変換処理では、図6(b)に示すように、第2の画素パターンにおける右下の白画素と、隣接する右上又は左下の黒画素とを入れ替える交換処理を行う。このとき、右下の白画素と、右上又は左下の黒画素との交換確率を共に50%とする。
すなわち、第2のパターン変換処理では、50%の確率で、図6(c)に示す右下の白画素と右上の黒画素とを入れ替える交換処理(以下、「第2のパターン変換処理200a」とする)、及び図6(d)に示す右下の白画素と左下の黒画素とを入れ替える交換処理(以下、「第2のパターン変換処理200b」とする)のうち、いずれかの交換処理を行う。
最後に、二次元パターン変換処理では、FMスクリーニング画像から第1及び第2の画素パターンが検出できなくなるまで、第1及び第2のパターン変換処理を交互に行う。
このように、二次元パターン変換処理では、黒画素及び白画素が1画素間隔で分布する画素パターン内の黒画素同士が連続的に分布するように、黒画素と白画素とを交換することにより、所定のスクリーニング画像を作成する。
次に、画素パターン変換処理においては、上述した二次元パターン変換処理によって変換されたスクリーニング画像に対してラスタスキャンを行う。そして、角度方向で隣接する複数の画素によって形成される画素パターンから画素パターンを検出し、検出された画素パターンに対して後述する一次元パターン変換処理を行う。
一次元パターン変換処理では、まず、スクリーニング画像から角度方向で互いに隣接し、各々の画素が「白・黒・白・黒」のように並ぶ4画素からなる第3の画素パターンを検出する。
そして、第3の画素パターンを検出した場合には、この第3の画素パターンに対して第3のパターン変換処理を行う。第3のパターン変換処理では、「白・黒・白・黒」のように並ぶ第3の画素パターンを、「白・白・黒・黒」のように並ぶ画素パターンに変換する。
ここで、第3の画素パターンの検出は、図7(a)に示すように、画像の360°空間において45°間隔で行う。具体的には、第3のパターン変換処理では、0°方向に第3の画素パターンが検出された場合に、図7(b)に示すように、0°方向に左から右方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(0°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(0°))。
45°方向に第3の画素パターンが検出された場合には、図7(c)に示すように、45°方向に左下から右上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(45°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(45°))。
90°方向に第3の画素パターンが検出された場合には、図7(d)に示すように、90°方向に下から上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(90°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(90°))。
135°方向に第3の画素パターンが検出された場合には、図7(e)に示すように、135°方向に右下から左上方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(135°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(135°))。
180°方向に第3の画素パターンが検出された場合には、図7(f)に示すように、180°方向に右から左方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(180°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(180°))。
225°方向に第3の画素パターンが検出された場合には、図7(g)に示すように、225°方向に右上から左下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(225°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(225°))。
270°方向に第3の画素パターンが検出された場合には、図7(h)に示すように、270°方向に上から下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(270°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(270°))。
315°方向に第3の画素パターンが検出された場合には、図7(i)に示すように、315°方向に左上から右下方向に「白・黒・白・黒」と並ぶ第3の画素パターン(以下、「第3の画素パターン(315°)」とする)を、「白・白・黒・黒」と並ぶ画素パターンに変換する(第3のパターン変換処理(315°))。
360°方向については、0°方向と同様であるので、第3の画素パターンの検出は行われない。
このように、第3のパターン変換処理では、画像の360°空間に対して45°間隔で第3の画素パターンを順次検出し、スクリーニング画像から第3の画素パターンが検出できなくなるまで上述した変換処理が繰り返される。
そして、このように画素パターン変換処理によって第1〜第3のパターン変換処理が行われた画像が、FMスクリーニング画像からハイブリッドスクリーニング画像に変換された出力二値画像データ20となる。
次に、画像変換処理装置1における各処理の流れについて、図8〜図12に示すフローチャートを参照して説明する。
まず、外部から入力された入力二値画像データ10を出力二値画像データ20に変換して出力する画像変換処理装置1全体の処理について、図8を参照して説明する。
外部から入力二値画像データ10が入力され、メモリ2に記憶されると、黒画素数検出部3により、メモリ2に記憶された入力二値画像データ10が読み出され、入力二値画像データ10に関する網点線数情報に基づき、入力二値画像データ10に対して変換ブロックを設定し、変換ブロック毎の黒画素数を検出する黒画素数検出処理が行われる(ステップS1)。この黒画素数検出処理によって検出された各変換ブロックにおける黒画素数情報は、一旦メモリ2に記憶される。
次に、FMスクリーニング画像作成処理部4により、メモリ2に記憶された黒画素数情報が読み出され、黒画素数情報が示す各変換ブロック毎の黒画素数に基づき、変換ブロックと同サイズのチェスボード形画素配置図を用いて入力二値画像データ10である網点画像をFMスクリーニング画像に変換するFMスクリーニング変換処理が行われる(ステップS2)。このFMスクリーニング変換処理によって作成されたFMスクリーニング画像は、一旦メモリ2に記憶される。
次に、画素パターン変換処理部5により、メモリ2に記憶されたFMスクリーニング画像が読み出され、このFMスクリーニング画像に対して、二次元パターン変換処理(第1及び第2のパターン変換処理)が行われる(ステップS3)。二次元パターン変換処理によって作成されたスクリーニング画像は、一旦メモリ2に記憶される。
そして、二次元パターン変換処理によって作成されたスクリーニング画像がメモリ2から読み出され、このスクリーニング画像に対して、一次元パターン変換処理(第3のパターン変換処理)が行われる(ステップS4)。これにより、網点画像である入力二値画像データ10がハイブリッドスクリーニング画像に変換される。変換されたハイブリッドスクリーニング画像は、メモリ2に記憶され、メモリ2から出力二値画像データ20として出力される。
尚、図8に示す例では、ステップS1及びステップS2の処理が順次行われるように説明したが、これに限られず、例えば、ステップS1及びステップS2の処理が互いに並行して行われるようにしてもよい。
次に、図8のステップS2におけるFMスクリーニング変換処理の流れについて、図9を参照して説明する。尚、以下の説明では、特に記載のない限り、FMスクリーニング画像作成処理部4によって各処理が実行されるものとする。
まず、ステップ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スクリーニング画像に変換することができる。
次に、図9のステップS17及びステップS18における配置処理の流れについて、図10を参照して説明する。尚、以下の説明では、特に記載のない限り、FMスクリーニング画像作成処理部4によって各処理が実行されるものとする。
まず、ステップS21において、図9のステップS15において決定された画素配置判断条件が設定される。次に、図9のステップS14で検出された黒画素数が要配置画素数カウンタに設定され、配置済み画素数カウンタの値が「0」にリセットされる(ステップS22、S23)。
ステップS24では、上述した数式(1)に基づいて配置画素Pの座標を決定するための一様乱数が発生され、配置画素座標(m,n)が決定される。
次に、ステップS25において、数式(1)に基づき、画素配置判断条件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では、配置済み画素数カウンタの値と、図9のステップS12により得られた当該配置層における総配置画素数とが比較され、配置済み画素数カウンタ値が総配置画素数以上であるか否かが判断される。
配置済み画素数カウンタ値が総配置画素数以上である場合(ステップS31;Yes)には、当該配置層に対して配置画素がすべて配置されたと判断され、ステップS21で設定された画素配置判断条件が変更される(ステップS32)。具体的には、画素配置判断条件が「偶数」に設定されていた場合には、「奇数」に変更され、画素配置判断条件が「奇数」に設定されていた場合には、「偶数」に変更される。そして、処理がステップS24に戻る。
一方、ステップS31において、配置済み画素数カウンタ値が総配置画素数未満であると判断された場合(ステップS31;No)には、処理がステップS24に戻る。
このようにして、配置画素である黒画素をチェスボード形画素配置図上に配置することにより、変換ブロック単位でFMスクリーニング画像を作成することができる。
次に、図8のステップS3における二次元パターン変換処理(第1及び第2のパターン変換処理)の流れについて、図11を参照して説明する。尚、以下の説明では、特に記載のない限り、画素パターン変換処理部5によって各処理が実行されるものとする。
まず、ステップS41において、メモリ2から処理対象画像であるFMスクリーニング画像が読み出され、ラスタスキャンが行われる。次に、ステップS41で得られた「2画素×2画素」の画素パターンから、第1の画素パターンが検出されたか否かが判断される(ステップS42)。
第1の画素パターンが検出されたと判断された場合(ステップS42;Yes)には、ステップS43において、乱数が発生される。この例では、乱数として、値が「0」から「1」までの区間において、すべての実数が同じ確率で出現する一様乱数が用いられる。
次に、ステップS44において、ステップS43で発生した乱数の値が「0.5」未満であるか否かが判断される。乱数値が0.5以上である場合(ステップS44;No)には、図5(c)に示すように、ステップS42で検出された第1の画素パターンに対して第1のパターン変換処理100aが行われる(ステップS45)。
乱数値が0.5未満である場合(ステップS44;Yes)には、図5(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)には、図6(c)に示すように、ステップS47で検出された第2の画素パターンに対して第2のパターン変換処理200aが行われる(ステップS50)。
乱数値が0.5未満である場合(ステップS49;Yes)には、図6(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スクリーニング画像作成処理部4で作成されたFMスクリーニング画像に対して二次元パターン変換処理を行うことにより、一次元パターン変換処理を行う際に用いられるスクリーニング画像が作成され、メモリ2に記憶される。
次に、図8のステップS4における一次元パターン変換処理(第3のパターン変換処理)の流れについて、図12を参照して説明する。
まず、ステップS61において、メモリ2から処理対象画像である二次元パターン変換処理によって作成されたスクリーニング画像が読み出され、ラスタスキャンが行われる。
次に、ステップS61で得られた画素パターンから、0°方向の第3の画素パターン(0°)が検出されたか否かが判断される(ステップS62)。第3の画素パターン(0°)が検出されたと判断された場合(ステップS62;Yes)には、図7(b)に示すように、この第3の画素パターン(0°)に対して第3のパターン変換処理(0°)が行われる(ステップS63)。
一方、第3の画素パターン(0°)が検出されていないと判断された場合(ステップS62;No)には、処理がステップS64に移行する。
次に、ステップS64において、45°方向の第3の画素パターン(45°)が検出されたか否かが判断される。第3の画素パターン(45°)が検出されたと判断された場合(ステップS64;Yes)には、図7(c)に示すように、この第3の画素パターン(45°)に対して第3のパターン変換処理(45°)が行われる(ステップS65)。
一方、第3の画素パターン(45°)が検出されていないと判断された場合(ステップS64;No)には、処理がステップS66に移行する。
次に、ステップS66において、90°方向の第3の画素パターン(90°)が検出されたか否かが判断される。第3の画素パターン(90°)が検出されたと判断された場合(ステップS66;Yes)には、図7(d)に示すように、この第3の画素パターン(90°)に対して第3のパターン変換処理(90°)が行われる(ステップS67)。
一方、第3の画素パターン(90°)が検出されていないと判断された場合(ステップS66;No)には、処理がステップS68に移行する。
次に、ステップS68において、135°方向の第3の画素パターン(135°)が検出されたか否かが判断される。第3の画素パターン(135°)が検出されたと判断された場合(ステップS68;Yes)には、図7(e)に示すように、この第3の画素パターン(135°)に対して第3のパターン変換処理(135°)が行われる(ステップS69)。
一方、第3の画素パターン(135°)が検出されていないと判断された場合(ステップS68;No)には、処理がステップS70に移行する。
次に、ステップS70において、180°方向の第3の画素パターン(180°)が検出されたか否かが判断される。第3の画素パターン(180°)が検出されたと判断された場合(ステップS70;Yes)には、図7(f)に示すように、この第3の画素パターン(180°)に対して第3のパターン変換処理(180°)が行われる(ステップS71)。
一方、第3の画素パターン(180°)が検出されていないと判断された場合(ステップS180;No)には、処理がステップS72に移行する。
次に、ステップS72において、225°方向の第3の画素パターン(225°)が検出されたか否かが判断される。第3の画素パターン(225°)が検出されたと判断された場合(ステップS72;Yes)には、図7(g)に示すように、この第3の画素パターン(225°)に対して第3のパターン変換処理(225°)が行われる(ステップS73)。
一方、第3の画素パターン(225°)が検出されていないと判断された場合(ステップS72;No)には、処理がステップS74に移行する。
次に、ステップS74において、270°方向の第3の画素パターン(270°)が検出されたか否かが判断される。第3の画素パターン(270°)が検出されたと判断された場合(ステップS74;Yes)には、図7(h)に示すように、この第3の画素パターン(270°)に対して第3のパターン変換処理(270°)が行われる(ステップS75)。
一方、第3の画素パターン(270°)が検出されていないと判断された場合(ステップS74;No)には、処理がステップS76に移行する。
次に、ステップS76において、315°方向の第3の画素パターン(315°)が検出されたか否かが判断される。第3の画素パターン(315°)が検出されたと判断された場合(ステップS76;Yes)には、図7(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に戻る。
以上のようにして、画素パターン変換処理部5において二次元パターン変換処理を行うことにより作成されたスクリーニング画像に対して一次元パターン変換処理を行うことにより、ハイブリッドスクリーニング画像が作成され、メモリ2に記憶される。
図13(a)は、本実施の形態に係る画像変換処理装置1に入力された入力二値画像データ10(網点画像)を示し、図13(b)は、入力二値画像データ10に対して上述した図8〜図12に示す処理を行うことにより得られる出力二値画像データ20(ハイブリッドスクリーニング画像)を示す。この例では、1200dpi(dot per inch)の網点画像をハイブリッドスクリーニング画像に変換したものである。
このように、本実施の形態に係る画像変換処理装置1では、周期性を有する大きなドットで表現された網点画像を、ランダムに分布する小さなドットで表現され、印刷画像に適したハイブリッドスクリーニング画像に変換することができる。
以上のように、本実施の形態によれば、入力された網点画像から変換ブロック毎に黒画素数を検出し、検出された黒画素数に基づいてFMスクリーニング画像を作成すると共に、作成されたスクリーニング画像に対して第1〜第3のパターン変換処理を行うことにより、ハイブリッドスクリーニング画像を生成するため、網点画像が有する印刷工程に適した長所と、FMスクリーニング画像が有する高画質であるという長所とを兼ね備えるハイブリッドスクリーニング画像を作成することができる。