(57)【要約】【課題】ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることができる。【解決手段】画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、前記画像処理装置は、前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第１の方向の画素の挿抜位置を決定する。また、前記ハーフトーン画像のスクリーン角度に基づいて、前記第１の方向に直交する第２の方向の各位置において、前記第１の方向の前記画素の挿抜位置を前記第１の方向に移動させるオフセット量を導出する。さらに、前記第１の方向の前記画素の挿抜位置と前記第２の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する。【選択図】図３
2020127075.tif 000002
【特許請求の範囲】
【請求項１】
画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、
前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第１の方向の画素の挿抜位置を決定する決定手段と、
前記ハーフトーン画像のスクリーン角度に基づいて、前記第１の方向に直交する第２の方向の各位置において、前記第１の方向の前記画素の挿抜位置を前記第１の方向に移動させるオフセット量を導出する導出手段と、
前記第１の方向の前記画素の挿抜位置と前記第２の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行手段とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記導出手段は、
前記画素の挿抜により形状変化する網点どうしの間隔が、前記第１の方向の前記画素の挿抜位置を移動させずに前記画素の挿抜を実行した場合よりも短くなるように、前記オフセット量を導出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記導出手段は、
前記実行手段により挿抜される各画素からなる画素列の角度が、前記スクリーン角度に対して所定の角度を有するように、前記オフセット量を導出し、
前記所定の角度が、前記画素の挿抜により形状変化する網点どうしの間隔が、前記第１の方向の前記画素の挿抜位置を移動させずに前記画素の挿抜を実行した場合よりも短くなるように、設定される
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記所定の角度は、前記スクリーン角度に対して４５°をなす角度である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第２の方向の各位置について導出された前記オフセット量が、前記第２の方向に周期を有する
ことを特徴とする請求項１から請求項４のうちのいずれか１項に記載の画像処理装置。
【請求項６】
前記導出手段は、
網点パターンが異なる複数の領域が前記ハーフトーン画像に含まれる場合、各領域のスクリーン角度に基づいて前記オフセット量を導出する
ことを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項７】
前記導出手段は、
網点パターンが異なる複数の領域が前記ハーフトーン画像に含まれる場合、各領域のスクリーン角度に基づいて領域ごとに前記オフセット量を導出し、
前記実行手段は、
前記第１の方向における前記画素の挿抜位置と前記導出手段が導出した各領域の前記オフセット量とに従って、領域ごとに画素の挿抜を実行する
ことと特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記変倍率が、両面印刷において記録媒体の表面に形成されるハーフトーン画像と前記記録媒体の裏面に形成されるハーフトーン画像とのずれ量に基づき決定される
ことを特徴とする請求項１から請求項７のうちのいずれか１項に記載の画像処理装置。
【請求項９】
前記変倍率が、カラー印刷において記録媒体に形成される一の色に対応するハーフトーン画像と他の色に対応するハーフトーン画像とのずれ量に基づき決定される
ことを特徴とする請求項１から請求項７のうちのいずれか１項に記載の画像処理装置。
【請求項１０】
画素の挿抜によりハーフトーン画像の変倍を行う画像処理方法であって、
前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第１の方向の画素の挿抜位置を決定する決定ステップと、
前記ハーフトーン画像のスクリーン角度に基づいて、前記第１の方向に直交する第２の方向の各位置において、前記第１の方向の前記画素の挿抜位置を前記第１の方向に移動させるオフセット量を導出する導出ステップと、
前記第１の方向の前記画素の挿抜位置と前記第２の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行ステップとを含む
ことを特徴とする画像処理方法。
【請求項１１】
コンピュータに、請求項１０に記載の画像処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハーフトーン画像に対して行われる画像処理技術に関する。
【背景技術】
【０００２】
電子写真方式の印刷方式では、色材を含むトナーを用紙に定着させる定着処理において、用紙に熱と圧力をかけることで色材を用紙上に融解させ、用紙の表面に色材を定着させる。その際、用紙は、熱と圧力をかけられることで縮小または伸張する。また、用紙の伸縮に応じて用紙の表面上の印刷画像も伸縮する。このような用紙の伸縮は、その用紙に対する一度目の定着処理において顕著に生じる。よって、両面印刷において表面に印刷される画像と裏面に印刷される画像との間で大きさにわずかな差異が生じる場合があった。また片面印刷においても、カラー印刷の場合、最初に定着される色材に対応する画像とその後に定着される色材に対応する画像との間で大きさにわずかな差異が生じる場合があった。
【０００３】
このような課題に対して、用紙の伸縮に合わせて印刷画像のサイズを微調整する方法が提案されている。特許文献１には、所定数の画素ごとに１画素をランダムに選択して挿入処理や間引き処理（以後、挿入処理と間引き処理とを合わせて挿抜処理または変倍処理と呼ぶ。）を実行することで、ハーフトーン画像の拡大や縮小を行う方法が開示されている。また、特許文献２には、そのような画素の挿抜によってディザパターンが崩れてしまわないように、画素の挿抜位置を制御して画像形成を安定させる方法が開示されている。特許文献２に記載の方法では、隣接する画素（変倍方向に直交する方向において隣接する画素）の挿抜位置間の相対距離が所定画素数以下になるように制御することでディザパターンの崩れを抑制している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−２０６３６５号公報
【特許文献２】特開２０１２−１２４５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の方法では、画素の挿抜により形状変化する網点が周期的に生成される可能性があり、それらの網点によって出力画像上においてモアレが視認される可能性がある。そこで、本発明は、ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることが可能な画像処理装置を提供することを目的の１つとする。また、本発明の他の目的は、画像処理装置における出力画像の画質を高めることにある。
【課題を解決するための手段】
【０００６】
本発明による画像処理装置は、画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第１の方向の画素の挿抜位置を決定する決定手段と、前記ハーフトーン画像のスクリーン角度に基づいて、前記第１の方向に直交する第２の方向の各位置において、前記第１の方向の前記画素の挿抜位置を前記第１の方向に移動させるオフセット量を導出する導出手段と、前記第１の方向の前記画素の挿抜位置と前記第２の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の１つの側面によれば、ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることができる。また、本発明の別の側面によれば、画像処理装置における出力画像の画質を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態にかかる画像処理装置のブロック図である。
【図２】ディザ処理を行うための閾値マトリクスの一例を示す図である。
【図３】第１実施形態にかかる変倍処理のフローチャートである。
【図４】変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の例を示す図である。
【図５】変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の他の例を示す図である。
【図６】ディザ処理を行うための閾値マトリクスの一例を示す図である。
【図７】第２実施形態の変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の様子を示す図である。
【図８】第２実施形態における挿抜ベクトルを説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態に記載されている構成要素は、本発明の例としての形態を示すものであり、本発明の範囲をそれらのみに限定するものではない。
【００１０】
［実施形態１］
図１は、本発明の第１実施形態にかかる画像処理装置のブロック図である。第１実施形態にかかる画像処理装置１は、ＣＰＵ１０１、操作部１０２、ＲＡＭ１０３、ＲＯＭ１０４、ネットワークインタフェース（ネットワークＩＦ）１０６、画像処理コントローラ１０７、及び出力バッファ１１０を備える。また、これらの各構成要素はバス１０５を介して互いにデータを送受信する。さらに、画像処理装置１は、出力バッファ１１０を介して、記録装置（以下、プリンタユニットとも呼ぶ。）１１１に接続される。
【００１１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４に格納されている制御プログラムをＲＡＭ１０３にロードし展開して実行する。それにより、画像処理装置１が動作する。なお、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３はＣＰＵ１０１が上記制御プログラムを実行する際のワーク用メモリや、ビットマップ画像データ等のデータの一時保存用メモリとしても利用される。
【００１２】
操作部１０２は、ユーザからの変倍率の設定を受け付ける。ＣＰＵ１０１は、操作部１０２を介して設定された変倍率を示す情報（以下、変倍率情報と呼ぶ。）をＲＡＭ１０３に格納する。プリンタユニット１１１で両面印刷が行われる場合には、変倍率は、裏面に印刷される画像の位置及び大きさを表面に印刷される画像の位置及び大きさに合わせるような値に設定される。例えば変倍率が９９％で指定された場合には、裏面に印刷される画像（ハーフトーン画像）の画素に間引き処理が施されて、該画像の縮小が図られる。また例えば変倍率が１０１％で指定された場合には、裏面に印刷される画像（ハーフトーン画像）の画素に挿入処理が施されて、該画像の拡大が図られる。変倍率が１００％で指定された場合には、変倍処理（挿抜処理）は実行されずに表面に印刷された画像と等倍の画像が裏面に印刷される。また、操作部１０２及びネットワークＩＦ１０６は、ユーザからの各種指示を受け付ける。例えばユーザが原稿をコピーする場合、ＣＰＵ１０１は、操作部１０２を介してユーザからのコピー指示を受け付ける。ＣＰＵ１０１はコピー指示を受け付けると、スキャナユニット（不図示）で読み取られた原稿のビットマップ画像データをＲＡＭ１０３に格納する。また、例えばＲＡＭ１０３にすでに格納されているビットマップ画像データをプリントする場合、ユーザはホストコンピュータ（不図示）からそのビットマップ画像データの印刷実行指示を、ネットワークＩＦ１０６を介してＣＰＵ１０１に送信する。ＣＰＵ１０１は、ユーザからの印刷実行指示を受け付けると、ＲＡＭ１０３に格納されているビットマップ画像データを印刷する。なお、以降の説明では、印刷対象であるビットマップ画像データがＲＡＭ１０３にすでに格納されているものとする。
【００１３】
画像処理コントローラ１０７は、ＲＡＭ１０３に格納されているビットマップ画像データに対してディザ処理を実行してハーフトーン画像データを生成する。画像処理コントローラ１０７が実行するディザ処理の詳細については後述する。画像処理コントローラ１０７は、生成したハーフトーン画像データを、出力バッファ１１０に格納する。また、画像処理コントローラ１０７は、生成したハーフトーン画像データが示す画像（ハーフトーン画像）の大きさに関する情報をＲＡＭ１０３に格納する。以降の説明において、ハーフトーン画像の大きさについて、ハーフトーン画像の主走査方向の長さを主走査入力サイズと表現し、副走査方向の長さを副走査入力サイズと表現する。
【００１４】
ＣＰＵ１０１は、出力バッファ１１０に格納されたハーフトーン画像データに対して、変倍処理を実行する。ＣＰＵ１０１は、変倍処理を施したハーフトーン画像をプリンタユニット１１１に転送する。画像処理コントローラ１０７が実行する変倍処理の詳細については後述する。プリンタユニット１１１は、変倍処理後のハーフトーン画像データを取得し、取得した画像データに基づいて画像形成を実行する。プリンタユニット１１１は、用紙などの記録媒体の両面に対して印刷可能である。
【００１５】
次に、図２を用いて、画像処理コントローラ１０７が実行するディザ処理について説明する。図２は、画素値が多値（例えば８ｂｉｔ、２５６階調）である入力画像データを２値化するディザ処理を行うための閾値マトリクスの一例を示す図である。閾値マトリクスには、複数の閾値から構成される網点セルが、繰り返し配置されている。図２（ａ）に示す１つの網点セルは、３２（＝８×４）個の閾値で構成される。画像処理コントローラ１０７は、閾値マトリクスを用いて、入力画像データの各画素を０〜１の値を有する２階調へと二値化する。具体的には、画像処理コントローラ１０７は、入力画像データの各画素について、閾値マトリクスの対応する画素位置から閾値を読み出し、読み出した閾値と該閾値に対応する画素の値とを比較する。そして、画像処理コントローラ１０７は、画素の値が閾値を超える場合は１を出力し、画素の値が閾値以下である場合は０を出力することで、入力画像データの各画素を二値化する。画素値が大きく濃度が高い画素を多く含む入力画像データほど各画素の画素値が閾値を超える確率が高くなり、１が出力される面積が大きくなり、濃い画像を表現することが可能である。逆に、画像値が小さく濃度が低い画素を多く含む入力画像データは、各画素の画素値が閾値を超えにくく、白を表す０が出力される面積が大きくなる。本実施形態では、十分な階調数（２５６階調）を得るために、閾値の異なる複数の網点セルを組み合わせて階調を表現するサブマトリクス法と呼ばれる手法を用いる。図２（ａ）に示す例では、それぞれ異なる閾値の組み合わせを有する１６種類の網点セルが閾値マトリクス内に規則的に連続して配置されている。すなわち、閾値マトリクスは１６個のサブマトリクスを有し、閾値マトリクス全体としては５１２（＝３２×１６）個の閾値配列となる。図２（ａ）に示す閾値マトリクスは、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。画像処理コントローラ１０７は、２値化を行う際、閾値マトリクスの個数（ここでは５１２）に合わせて入力画像データの画素値を正規化したのちに、２値化を行う。例えば入力画像データが２５６階調であれば各画素値を５１２／２５５倍したのちに２値化することで、網点の面積で２５６階調を表現することができる。
【００１６】
同様に、図２（ｂ）には図２（ａ）とは異なる閾値マトリクスの一例が示されている。図２（ｂ）に示す閾値マトリクスの１つの網点セルは長方形ではなく、かぎ型の２６個の閾値で構成されている。また、図２（ｂ）に示す閾値マトリクスは、サブマトリクスを１６個有し、閾値マトリクス全体として４１６（＝２６×１６）個の閾値配列となっている。図２（ｂ）に示す閾値マトリクスは図２（ａ）に示す閾値マトリクスと同様に、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。
【００１７】
図２（ａ），（ｂ）では、閾値が１６０未満である箇所に色を付することで、各画素の値が１６０である入力画像データに対して閾値マトリクスを適用したときに得られるドット（網点）が示されている。図２（ａ），（ｂ）に示されるように、網点はある特定の周期で繰り返し生成される。そして、この網点群が水平方向（図における左右方向）に対してなす角度θをスクリーン角度と呼ぶ。図２（ａ）に示す閾値マトリクスではスクリーン角度は４５°となっていて、図２（ｂ）に示す閾値マトリクスではスクリーン角度は約７８．７°（以下、単に７８．７と記す。）となっている。また閾値マトリクスにより生成される網点は上記スクリーン角度に対して９０°直交する向きにも並んでいる。つまり、図２（ａ）に示す例では４５°に対して９０°直交する１３５°の向きにも等間隔に網点が並んでいる。図２（ｂ）に示す例では７８．７°に対して９０°直交する１６８．７°の向きにも等間隔に網点が並んでいる。
【００１８】
なお、前述したハーフトーン画像に対する画素の挿入や間引きを実施するためには、挿入や間引きすべき画素位置を決定する処理（以下、決定処理と呼ぶ。）と、当該画素位置の画素を間引く又は当該画素位置に近接する位置に画素を挿入する変倍処理とを行う必要がある。本実施形態では、上記決定処理と変倍処理とをＣＰＵ１０１等のプロセッサによって実行する場合を想定している。しかし、例えば専用の演算回路（例えば、ＡＳＩＣ）等の別個のハードウェア回路を設けて、それらを用いて上記決定処理と変倍処理を実行するようにしてもよい。また例えば、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などを用いて上記決定処理と変倍処理を実行するようにしてもよい。
【００１９】
続いて図３を用いて、ＣＰＵ１０１が出力バッファ１１０に格納されたハーフトーン画像データを走査しながら実行する変倍処理を説明する。図３に示す処理は、ＲＯＭ１０４に格納されている制御プログラムをＣＰＵ１０１がＲＡＭ１０３にロードし展開して実行することで実現される。なお、図３には、副走査方向を処理方向とする変倍処理についてのフローが示されているが、図３に示すフローは主走査方向を処理方向とする変倍処理にも適用可能である。その場合、図３に示すフローにおけるｘ座標とｙ座標とを入れ替えて、同様に処理を実行すればよい。なお、図３に示す処理を実行する前に、変倍率が操作部１０２を介してユーザによって設定され、該変倍率を示す変倍率情報がＲＡＭ１０３に格納されているものとする。また、ＣＰＵ１０１はユーザによる印刷実行命令を受け付けていて、ＲＡＭ１０３に格納されているビットマップ画像データに対して画像処理コントローラ１０７によるディザ処理が実行され、ハーフトーン画像データがすでに生成されているものとする。つまり、変倍処理前のハーフトーン画像データが出力バッファ１１０に格納されているものとする。なお、変倍率については、操作部１０２からユーザが設定するだけではなく、自動で設定するようにしてもよい。例えば、表面と裏面とに印刷される画像のずれ量をテスト印刷等により予め自動で検出して、そのずれ量を変倍率として用いるようにしてもよい。また、図３に示すフローは、カラー画像を印刷する場合にも適用可能である。カラー画像を印刷する場合、通常、ＣＭＹＫの４色分のハーフトーン画像データが必要になる。そこで、パッチを出力し、各色のハーフトーン画像どうしのずれ量を計測し、計測したずれ量を変倍率として図３に示す処理を実行し、各色間で発生する倍率差を吸収するようしてもよい。
【００２０】
Ｓ３０１において、ＣＰＵ１０１は、ＲＡＭ１０３に格納されている変倍率情報から、変倍処理の処理単位を以下の式から求める。また、Ｓ３０１において、ＣＰＵ１０１は、ＲＡＭ１０３から主走査入力サイズと副走査入力サイズを取得し、変倍処理によって生成される変倍処理後のハーフトーン画像の大きさ（主走査出力サイズ、副走査出力サイズ）を演算によって求める。
変倍処理単位（ライン）＝１÷倍率
変倍処理単位とは、例えば、１％（０．０１倍）の変倍処理（拡大処理または縮小処理）の場合、変倍処理単位は１００（＝１÷０．０１）ラインとなる。つまり、１００ライン毎に挿入や間引きを実行することになる。
【００２１】
Ｓ３０２において、ＣＰＵ１０１は、ｘ座標の初期化処理を実行する。ｘ座標の初期化処理とは、変倍処理後のハーフトーン画像内の主走査方向の座標（ｘ座標）の位置を表すパラメータｘをリセット（ｘ＝０）する処理である。以降の説明では、パラメータｘを主走査位置ｘと記す。
【００２２】
Ｓ３０３において、ＣＰＵ１０１は、ｘ座標に応じた画素挿抜ベクトル（以下、単に挿抜ベクトルと呼ぶ。）を意味するオフセット量ｏｆｓを導出する。具体的には、特定の長さＬのｏｆｓテーブルから、ｘとＬの剰余算の結果をインデックスとして値を取得する。例えばＬ＝８である場合を例にすると、ｘ＝０の場合はｏｆｓテーブル［０］の値が、ｘ＝１の場合はｏｆｓテーブル［１］の値が、ｘ＝７の場合はｏｆｓテーブル［７］の値がオフセット量ｏｆｓとして取得される。ｘ≧８の場合も同様にして、ｏｆｓテーブル［ｘ％８］の値が、オフセット量ｏｆｓとして取得される。この挿抜ベクトルはスクリーン角度に最適化される必要があり、その最適値は、変倍処理前のハーフトーン画像が有するスクリーン角度によって異なる。ｏｆｓテーブルの最適値の導出方法については後述する。
【００２３】
続いてＳ３０４において、ＣＰＵ１０１は、ｙ座標の初期化処理を実行する。前述したＳ３０２の処理と同様に、変倍処理後のハーフトーン画像面内の副走査方向の座標（ｙ座標）の位置を表すパラメータｙをリセット（ｙ＝０）する処理である。以降の説明では、パラメータｘを副走査位置ｙと記す。なお、ここでは、ｙとともに、後述するＳ３０６の処理で用いるカウンタＮも初期化（Ｎ＝０）する。
【００２４】
Ｓ３０５において、ＣＰＵ１０１は、副走査位置ｙとステップＳ３０３で導出したｏｆｓの値を加算した値と、ステップＳ３０１で求めた変倍処理単位との剰余算の結果が０であるかを判定する。剰余算の結果が０である場合（Ｓ３０５でＹＥＳ）、ＣＰＵ１０１は、副走査位置ｙが変倍処理単位に到達したと判断し、Ｓ３０６に進む。剰余算の結果が０でない場合（Ｓ３０５でＮＯ）、処理はステップＳ３０７に進む。変倍処理単位の周期で剰余算の結果が０になり、剰余算の結果が０になるｙ座標において挿入または間引きが行われることを意味している。
【００２５】
Ｓ３０６において、ＣＰＵ１０１は、カウンタＮをインクリメントする。カウンタＮは、主走査位置ｘにおいて副走査位置ｙが何回変倍処理単位を超えたかを示す。つまり、カウンタＮは、変倍処理単位に達した回数を示す。
【００２６】
Ｓ３０７において、ＣＰＵ１０１は、参照すべき入力ハーフトーン画像の副走査位置を演算する。ここでは、以下の式を用いて、出力として変倍前のどの副走査位置の値を用いればよいかを決定する。拡大の場合、すなわち変倍処理後の画素数が増える場合、参照すべき入力ハーフトーン画像の副走査位置ｙ´はカウンタＮを用いて、
ｙ´＝ｙ−Ｎ
で求めることができる。上記式におけるｙは変倍処理後の副走査位置を表している。この式は、Ｓ３０６にてカウンタＮのインクリメントが行われた副走査位置で、同じ入力画素が２回連続出力されることを意味している。つまりその副走査位置で画素の挿入が行われることを意味している。
【００２７】
同様に縮小の場合、すなわち変倍処理後の画素数が減る場合には、
ｙ’＝ｙ＋Ｎ
で求めることができる。この式は、Ｓ３０６にてカウンタＮのインクリメントが行われた副走査位置で、入力画素の出力が行われないことを意味している。つまり、その副走査位置で画素の間引きが行われることを意味している。
【００２８】
Ｓ３０８において、ＣＰＵ１０１は、入力ハーフトーン画像における座標（ｘ，ｙ´）の画素データを出力する。このｙ´は、Ｓ３０７で求めた、参照すべき入力ハーフトーン画像の副走査位置である。Ｓ３０９において、ＣＰＵ１０１は、副走査位置ｙをインクリメントする。
【００２９】
その後Ｓ３１０にて、ＣＰＵ１０１は、副走査位置ｙが副走査出力サイズ未満か否かを判定する。副走査出力サイズ未満である場合、つまりすべての副走査位置について画素を出力し終えていない場合（Ｓ３１０のＹＥＳ）、ＣＰＵ１０１は、Ｓ３０５からの処理を繰り返す。副走査出力サイズ未満でない場合、つまりすべての副走査位置について画素を出力し終えている場合（Ｓ３１０のＮＯ）、ＣＰＵ１０１は、Ｓ３１１の処理に進む。Ｓ３０５〜Ｓ３１０の処理で、副走査方向１ライン分に対する変倍処理が完了する。
【００３０】
Ｓ３１１において、ＣＰＵ１０１は、主走査位置ｘをインクリメントする。これにより、主走査位置ｘを１画素ずらした主走査位置ｘ＋１において、Ｓ３０５〜Ｓ３１０の処理が繰り返し実行されることになる。
【００３１】
最後にＳ３１２にて、ＣＰＵ１０１は、主走査位置ｘの値が主走査出力サイズ未満か否かを判定する。主走査出力サイズ未満である場合、つまりすべての主走査位置について画素を出力し終えていない場合（Ｓ３１２のＹＥＳ）、ＣＰＵ１０１は、Ｓ３０３からの処理を繰り返す。主走査出力サイズ未満でない場合、つまりすべての主走査位置について画素の出力をし終えている場合（Ｓ３１２のＮＯ）、処理は終了する。
【００３２】
続いて図４及び図５を用いて、Ｓ３０３の処理で用いられるｏｆｓテーブルの最適値の導出方法について説明する。先に述べたように、ｏｆｓテーブルは画素挿抜ベクトルを意味していて、テーブル内の値がスクリーン角度に応じて変更される。ここで、スクリーン角度に応じて変更する理由について説明する。図４には、図２（ａ）に示すスクリーン角度４５°の網点セルが敷き詰められたハーフトーン画像に対して変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の様子が示されている。図４（ａ）には変倍前のハーフトーン画像が示されていて、図４（ｂ）には変倍後のハーフトーン画像が示されている。図５には、図２（ｂ）に示すスクリーン角度７８．７の網点セルが敷き詰められたハーフトーン画像に対して変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の様子が示されている。図５（ａ）には変倍前のハーフトーン画像が示されていて、図５（ｂ）には変倍後のハーフトーン画像が示されている。図４（ｂ）及び図５（ｂ）において枠が付された画素列は、変倍処理によって挿入された各画素を表している。図４（ｂ）及び図５（ｂ）にはいずれもｏｆｓテーブルの最適化を行っていない場合、つまりｏｆｓの値が常に０である場合における変倍後の画像が示されている。すなわち、すべての主走査位置において同一の副走査位置に画素が挿入されて変倍された画像が示されている。
【００３３】
図４（ｂ）に示す変倍後の画像において、画素の挿入により形状変化した網点４０１によって、網点４０１が存在する副走査位置において濃度が上昇している。ただし、図４（ｂ）の網点パターンの場合、形状変化した網点４０１が主走査方向に横一列に既存の網点間隔と同じ距離４０２で並んでいるため、パターン変化は視認されにくい。対して図５（ｂ）に示す変倍後の画像においては、隣り合う２つの網点５０１で構成される網点群が形状変化し、そのような網点群が、主走査方向において網点間の距離に比べて長い距離５０２で繰り返し並んでいる。図５（ｂ）に示す網点パターンの場合、用紙などの記録媒体に印刷したときに、形状変化した網点５０１が距離５０２の周期でパターンとして視認されてしまい、画質上好ましくない。このように、スクリーン角度が異なる画像に対して同じように画素を挿入すると画質上好ましくないパターンが視認される可能性があるため、スクリーン角度に応じて各画像に使用するｏｆｓテーブルを切り替える必要がある。これがスクリーン角度に応じてｏｆｓテーブルを最適化させる理由である。
【００３４】
図５（ｃ）には、最適化されたｏｆｓテーブルを用いて変倍処理を行った場合における変倍後のハーフトーン画像が示されている。図５（ｃ）に示す例では、挿抜ベクトルの角度がスクリーン角度に対して４５°になるように最適化されたｏｆｓテーブルが用いられている。具体的には、以下に示すＬ＝２６の要素からなるｏｆｓテーブルが用いられている。
ofs[26]=12,12,11,10,10,9,8,8,7,6,6,5,4,4,3,2,2,1,3,4,6,7,9,10,12,13
【００３５】
このｏｆｓテーブルは、基準位置（ｙ座標）５０５からの距離５０６、つまり挿抜位置を移動させる距離を、主走査位置（ｘ座標）毎に羅列したものである。つまり、主走査位置ｘ＝０，１，２，３，４，５・・・における距離５０６が１２，１２，１１，１０，９，８・・・であることを意味している。このように、ｏｆｓテーブルは、基準位置からの距離を挿抜座標として保持することで挿抜ベクトルを表現する。ここでは、ｘ方向に＋３進むとｙ方向に―２進む挿抜ベクトルが表現されている。つまり、この挿抜ベクトルは、スクリーン角度を示す網点ベクトル（１，−５）に対して４５°の角度をなす方向（３，−２）を有する。このように最適化されたｏｆｓテーブルを用いることで、図５（ｃ）に示すように、形状変化した網点５０３が、図５（ｂ）に示す距離５０２に対して十分短い距離５０４で繰り返し出力されるようになる。そのため、図５（ｃ）に示す網点パターンの場合、用紙などの記録媒体に印刷した場合でも、パターン変化が視認しづらくなる。つまり、ｏｆｓテーブルの最適化を行うことで、変倍後のハーフトーン画像の画質を向上させることができる。なお、上記ｏｆｓテーブルでは、挿抜ベクトルを挿抜ベクトルに対して直交する方向（２，３）に折り返すように値が設定されている。その理由は、ｏｆｓの値が大きくなりすぎると、変倍処理単位からのずれが大きくなり（理想的な挿抜位置からのずれが大きくなり）、例えば、用紙の伸縮方向と変倍方向とがマッチしなくなる可能性があるためである。また、ここでは、画素挿入による拡大を行った場合におけるパターン変化の視認性について説明した。しかし、画素間引きによる縮小を行う場合にも同様に、最適化されたｏｆｓテーブルを用いることでパターン変化を視認しづらくさせることができ画質を向上させることができる。
【００３６】
以上のように、本実施形態によれば、変倍処理を行うことにより生じうるハーフトーン画像の画質の低下を抑制することができる。またそれにより、変倍処理を行った場合でも、良好な画質のハーフトーン画像を出力することが可能となる。
【００３７】
なお、本実施形態では、スクリーン角度に対して４５°ずらした位置を画素挿抜位置として用いる例を示した。しかし、形状変化する網点の繰り返し周期が短いほどパターン変化を視認しづらくすることができるので、画素挿抜位置は必ずしもスクリーン角度に対して４５°ずらした位置に限定されない。上記繰り返し周期がより短くなるように、スクリーン角度や網点の形状に応じて、スクリーン角度に対して所定の角度ずらした位置を画素挿抜位置として設定するようにしてもよい。
【００３８】
また、形状変化する網点どうしの距離を図５（ｂ）に示す距離５０２よりも短くすることができれば、挿抜ベクトルはどのように折り返されてもよい。つまり、挿抜ベクトルを折り返す方向は、必ずしも挿抜ベクトルに直交する方向である必要はない。例えば以下のように、画像に対して垂直方向すなわち副走査方向に挿抜ベクトルを折り返すようにしてもよい。つまり、挿抜ベクトルが方向（３，−２）のみを有していてもよい。
ofs[18] = 12,12,11,10,10,9,8,8,7,6,6,5,4,4,3,2,2,1
【００３９】
なお、ここではＬ＝１８の要素からなるｏｆｓテーブルを例にしたが、形状変化する網点の距離がより短くなるように、スクリーン角度や網点の形状に応じてｏｆｓテーブルの幅を調整するようにしてもよい。
【００４０】
さらに、本実施形態では１色のハーフトーン画像データに対して画素の挿抜を行う場合について説明した。しかし、本実施形態は、モノクロ画像に限らずカラー画像を印刷する場合にも適用可能である。通常、カラー画像を印刷する場合には、ＣＭＹＫの４色分のハーフトーン画像が必要になる。また、それらのハーフトーン画像は、通常、モアレを回避するために互いに異なるスクリーン角度を有する。したがって、カラー印刷に本実施形態を適用する場合には、色毎に挿抜ベクトルを設定する必要がある。つまり、色毎に異なるｏｆｓテーブルを用意しておき、色毎に変倍処理を行えばよい。
【００４１】
［実施形態２］
第１実施形態では、画像全体に対して単一の閾値マトリクスを適用することを前提とし、ハーフトーン画像内に網点パターンが１種類しか存在しない場合における変倍処理を説明した。しかし、画像内の領域ごとの特徴に応じて、領域ごとに、異なる閾値マトリクスを適用して異なる網点パターンを形成するケースもある。そこで、本実施形態では、そのように複数の網点パターンが並存するハーフトーン画像に対して変倍処理を行う場合について説明する。なお、本実施形態における画像処理装置の構成は、第１実施形態と同様である。
【００４２】
ディザ処理により得られるハーフトーン画像の網点は、通常、周期が広い（すなわち、線数が低い）ものほど濃度特性が安定し、入力画像に対する階調再現性が高い。その反面、網点の周期が広いと、エッジ部のジャギーが発生しやすくなる。逆に、周期が狭い網点（すなわち、線数が高い網点）は、入力画像に対する階調再現性が低い反面、エッジ部のジャギーは発生しにくい。そのため、１つのハーフトーン画像内において、写真やグラフィック等の階調性が重視されるようなオブジェクトには線数が低い網点を、文字やラインのような多くのエッジで構成されるようなオブジェクトには線数が高い網点を適用的に割り当てる場合がある。その場合、それぞれのオブジェクトの領域に対して、スクリーン角度が異なる閾値マトリクスが適用されることになる。そのため、第１実施形態で説明したようなｏｆｓテーブル（挿抜ベクトル）を画像全体に適用して変倍処理を行うと、挿抜ベクトルと閾値マトリクスとが適合しない領域が発生し、そのような領域において上述したようなパターン変化が視認される可能性がある。
【００４３】
図６は、図２に示す閾値マトリクスとは異なる角度の網点を形成する閾値マトリクス６０１の一例を示す図である。閾値マトリクス６０１を用いることで、図２（ａ）（ｂ）に示す閾値マトリクスより、周期が短い（線数が多い）網点のハーフトーン画像を生成することができるとともに、ジャギーがより少なく解像感が高いハーフトーン画像を得ることができる。閾値マトリクス６０１の各網点セル（サブマトリクス）は、長方形をしておらずかぎ型になっていて、２０画素で構成されている。また、閾値マトリクス６０１は、サブマトリクスを１６個有し、閾値マトリクス全体として計３２０個の閾値配列となっている。閾値マトリクス６０１は、前述した閾値マトリクスと同様に、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。
【００４４】
また、図６では、９６未満の閾値に色が付されている。色が付された画素は、各画素の値が１６０である入力画像データに対して閾値マトリクス６０１を適用したときに得られる網点を表現している。図６に示されるように、網点はある特定の周期で繰り返し生成される。この網点のスクリーン角度は約２６．７°（以下、単に２６．７°と記す。）である。また、この網点は、スクリーン角度２６．７°に直交する向きにも等間隔に並んでいる。
【００４５】
図７は、図６に示すスクリーン角度２６．７°の網点が画像全体に敷き詰められたハーフトーン画像を示す図である。図７（ａ）には、変倍前のハーフトーン画像が示されている。一方、図７（ｂ）には、第１実施形態で説明した挿抜ベクトル、つまりスクリーン角度７８．７°に対応するように最適化された挿抜ベクトルによる拡大後のハーフトーン画像が示されている。図７（ｂ）に示すように、スクリーン角度２６．７°のハーフトーン画像データに対して、スクリーン角度７８．７°に対応するように最適化された挿抜ベクトルを適用すると、領域７０１において、各網点のサイズが大きくなり濃度上昇が起こる。また、領域７０２において、空白部が増えることで濃度下降が起こる。それにより、周期７０３でモアレのようなスジが視認されるようになってしまう。
【００４６】
したがって、ハーフトーン画像データに対して挿抜ベクトルを適用する際には、そのハーフトーン画像データのスクリーン角度に対して最適な挿抜ベクトルを適用する必要がある。特に、上述したように１つのハーフトーン画像内にスクリーン角度が異なる複数の領域が並存する場合には、各領域のスクリーン角度に応じた最適な挿抜ベクトルを設定する必要がある。以下では、各領域のスクリーン角度から、各領域に共通に設定する挿抜ベクトルを導出する方法について説明する。
【００４７】
次に、図８を用いて、上記のモアレのようなスジが発生する仕組みを説明する。図８（ａ）には、図２（ｂ）に示すスクリーン角度７８．７°のハーフトーン画像の一部が示されている。図８（ｂ）には、図６に示すスクリーン角度２６．７°のハーフトーン画像の一部が示されている。図８（ａ）（ｂ）において実線の矢印８０１は、スクリーン角度７８．７°に対応するように最適化された挿抜ベクトルの方向を示している。この挿抜ベクトルは、図８（ａ）ではスクリーン角度に対して最適な方向を向いているが、図８（ｂ）ではスクリーン角度と合わずにスクリーン角度との間に僅かな差異が生じている。この僅かな差異が、長周期のモアレのようなスジを発生させる原因となる。図８（ｃ）に示す実線の矢印８０３は、起点となる網点から、挿抜ベクトルの方向（３，−２）において次に現れる網点までの距離（干渉周期）を表していて、その長さは約３６であり矢印８０１の長さの５倍となっている。この距離で周期的な濃淡変化が繰り返し起こると、印刷された画像においてその周期がモアレのようなスジとして視認される可能性がある。
【００４８】
そこで、本実施形態では、互いのスクリーン角度（スクリーン角度７８．７°とスクリーン角度２６．７）から、挿抜ベクトルと網点との干渉周期が短くなるような向き、例えば破線の矢印８０２の方向を有する挿抜ベクトルを設定する。それにより、２つの網点パターンがハーフトーン画像内に並存する場合においても、スジ状の画質劣化を起こりにくくさせる。
【００４９】
図８（ａ）において破線の矢印８０２は（７，−９）の方向を向いていて、その方向において次に現れる網点との距離（つまり、矢印８０２の長さ）は１１．４となり、矢印８０１の長さ７．２よりも長くなっている。しかし、図８（ｂ）では、矢印８０２の方向において次に現れる網点との距離は１０であり、図８（ｃ）に示す矢印８０３の長さの約１／３になっている。つまり、挿抜ベクトルと網点との干渉周期がより視認しづらい長さに保たれている。よって、ハーフトーン画像内にスクリーン角度が異なる複数の領域が並存する場合には、各領域のスクリーン角度に応じた最適な挿抜ベクトルを適用することで濃淡変化の周期をより短くすることができモアレのようなスジをより視認しづらくさせることができる。なお、ここでは、画像内に２つの網点パターンが並存する場合を例にしたが、画像内に３つ以上の網点パターンが並存する場合も同様である。つまり、各網点パターンにおいて干渉周期がより短くなるような方向を有する挿抜ベクトルを適用するようにすればよい。
【００５０】
以上のように、本実施形態によれば、ハーフトーン画像内に異なる網点パターンが並存する場合においても、変倍処理に伴う画質の不具合を抑制することができ、変倍後のハーフトーン画像を良好な画質で出力することが可能となる。
【００５１】
なお、ハーフトーン画像内に異なる網点パターンが並存する場合において、各網点パターンの境界が既知であれば、その境界の位置（座標）で挿抜ベクトルを切り替えることも可能である。そのような方法によれば、各網点パターンのそれぞれについて最適なｏｆｓテーブル（挿抜ベクトル）を割り当てることができるので、上述したようなスジ状の画質劣化をさらに起こりにくくさせることが可能となる。
【００５２】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020127075.tif 000003
【図２】
2020127075.tif 000004
【図３】
2020127075.tif 000005
【図４】
2020127075.tif 000006
【図５】
2020127075.tif 000007
【図６】
2020127075.tif 000008
【図７】
2020127075.tif 000009
【図８】
2020127075.tif 000010