JP2020127075A - 画像処理装置、画像処理方法、およびプログラム - Google Patents
画像処理装置、画像処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2020127075A JP2020127075A JP2019016911A JP2019016911A JP2020127075A JP 2020127075 A JP2020127075 A JP 2020127075A JP 2019016911 A JP2019016911 A JP 2019016911A JP 2019016911 A JP2019016911 A JP 2019016911A JP 2020127075 A JP2020127075 A JP 2020127075A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- image
- halftone
- image processing
- scaling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることができる。【解決手段】画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、前記画像処理装置は、前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第1の方向の画素の挿抜位置を決定する。また、前記ハーフトーン画像のスクリーン角度に基づいて、前記第1の方向に直交する第2の方向の各位置において、前記第1の方向の前記画素の挿抜位置を前記第1の方向に移動させるオフセット量を導出する。さらに、前記第1の方向の前記画素の挿抜位置と前記第2の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する。【選択図】図3
Description
本発明は、ハーフトーン画像に対して行われる画像処理技術に関する。
電子写真方式の印刷方式では、色材を含むトナーを用紙に定着させる定着処理において、用紙に熱と圧力をかけることで色材を用紙上に融解させ、用紙の表面に色材を定着させる。その際、用紙は、熱と圧力をかけられることで縮小または伸張する。また、用紙の伸縮に応じて用紙の表面上の印刷画像も伸縮する。このような用紙の伸縮は、その用紙に対する一度目の定着処理において顕著に生じる。よって、両面印刷において表面に印刷される画像と裏面に印刷される画像との間で大きさにわずかな差異が生じる場合があった。また片面印刷においても、カラー印刷の場合、最初に定着される色材に対応する画像とその後に定着される色材に対応する画像との間で大きさにわずかな差異が生じる場合があった。
このような課題に対して、用紙の伸縮に合わせて印刷画像のサイズを微調整する方法が提案されている。特許文献1には、所定数の画素ごとに1画素をランダムに選択して挿入処理や間引き処理(以後、挿入処理と間引き処理とを合わせて挿抜処理または変倍処理と呼ぶ。)を実行することで、ハーフトーン画像の拡大や縮小を行う方法が開示されている。また、特許文献2には、そのような画素の挿抜によってディザパターンが崩れてしまわないように、画素の挿抜位置を制御して画像形成を安定させる方法が開示されている。特許文献2に記載の方法では、隣接する画素(変倍方向に直交する方向において隣接する画素)の挿抜位置間の相対距離が所定画素数以下になるように制御することでディザパターンの崩れを抑制している。
しかし、従来の方法では、画素の挿抜により形状変化する網点が周期的に生成される可能性があり、それらの網点によって出力画像上においてモアレが視認される可能性がある。そこで、本発明は、ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることが可能な画像処理装置を提供することを目的の1つとする。また、本発明の他の目的は、画像処理装置における出力画像の画質を高めることにある。
本発明による画像処理装置は、画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第1の方向の画素の挿抜位置を決定する決定手段と、前記ハーフトーン画像のスクリーン角度に基づいて、前記第1の方向に直交する第2の方向の各位置において、前記第1の方向の前記画素の挿抜位置を前記第1の方向に移動させるオフセット量を導出する導出手段と、前記第1の方向の前記画素の挿抜位置と前記第2の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行手段とを備えることを特徴とする。
本発明の1つの側面によれば、ハーフトーン画像に対する変倍処理により生じる画質の劣化を抑制し、良好な出力画像を得ることができる。また、本発明の別の側面によれば、画像処理装置における出力画像の画質を高めることができる。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態に記載されている構成要素は、本発明の例としての形態を示すものであり、本発明の範囲をそれらのみに限定するものではない。
[実施形態1]
図1は、本発明の第1実施形態にかかる画像処理装置のブロック図である。第1実施形態にかかる画像処理装置1は、CPU101、操作部102、RAM103、ROM104、ネットワークインタフェース(ネットワークIF)106、画像処理コントローラ107、及び出力バッファ110を備える。また、これらの各構成要素はバス105を介して互いにデータを送受信する。さらに、画像処理装置1は、出力バッファ110を介して、記録装置(以下、プリンタユニットとも呼ぶ。)111に接続される。
図1は、本発明の第1実施形態にかかる画像処理装置のブロック図である。第1実施形態にかかる画像処理装置1は、CPU101、操作部102、RAM103、ROM104、ネットワークインタフェース(ネットワークIF)106、画像処理コントローラ107、及び出力バッファ110を備える。また、これらの各構成要素はバス105を介して互いにデータを送受信する。さらに、画像処理装置1は、出力バッファ110を介して、記録装置(以下、プリンタユニットとも呼ぶ。)111に接続される。
CPU(Central Processing Unit)101は、ROM(Read Only Memory)104に格納されている制御プログラムをRAM103にロードし展開して実行する。それにより、画像処理装置1が動作する。なお、RAM(Random Access Memory)103はCPU101が上記制御プログラムを実行する際のワーク用メモリや、ビットマップ画像データ等のデータの一時保存用メモリとしても利用される。
操作部102は、ユーザからの変倍率の設定を受け付ける。CPU101は、操作部102を介して設定された変倍率を示す情報(以下、変倍率情報と呼ぶ。)をRAM103に格納する。プリンタユニット111で両面印刷が行われる場合には、変倍率は、裏面に印刷される画像の位置及び大きさを表面に印刷される画像の位置及び大きさに合わせるような値に設定される。例えば変倍率が99%で指定された場合には、裏面に印刷される画像(ハーフトーン画像)の画素に間引き処理が施されて、該画像の縮小が図られる。また例えば変倍率が101%で指定された場合には、裏面に印刷される画像(ハーフトーン画像)の画素に挿入処理が施されて、該画像の拡大が図られる。変倍率が100%で指定された場合には、変倍処理(挿抜処理)は実行されずに表面に印刷された画像と等倍の画像が裏面に印刷される。また、操作部102及びネットワークIF106は、ユーザからの各種指示を受け付ける。例えばユーザが原稿をコピーする場合、CPU101は、操作部102を介してユーザからのコピー指示を受け付ける。CPU101はコピー指示を受け付けると、スキャナユニット(不図示)で読み取られた原稿のビットマップ画像データをRAM103に格納する。また、例えばRAM103にすでに格納されているビットマップ画像データをプリントする場合、ユーザはホストコンピュータ(不図示)からそのビットマップ画像データの印刷実行指示を、ネットワークIF106を介してCPU101に送信する。CPU101は、ユーザからの印刷実行指示を受け付けると、RAM103に格納されているビットマップ画像データを印刷する。なお、以降の説明では、印刷対象であるビットマップ画像データがRAM103にすでに格納されているものとする。
画像処理コントローラ107は、RAM103に格納されているビットマップ画像データに対してディザ処理を実行してハーフトーン画像データを生成する。画像処理コントローラ107が実行するディザ処理の詳細については後述する。画像処理コントローラ107は、生成したハーフトーン画像データを、出力バッファ110に格納する。また、画像処理コントローラ107は、生成したハーフトーン画像データが示す画像(ハーフトーン画像)の大きさに関する情報をRAM103に格納する。以降の説明において、ハーフトーン画像の大きさについて、ハーフトーン画像の主走査方向の長さを主走査入力サイズと表現し、副走査方向の長さを副走査入力サイズと表現する。
CPU101は、出力バッファ110に格納されたハーフトーン画像データに対して、変倍処理を実行する。CPU101は、変倍処理を施したハーフトーン画像をプリンタユニット111に転送する。画像処理コントローラ107が実行する変倍処理の詳細については後述する。プリンタユニット111は、変倍処理後のハーフトーン画像データを取得し、取得した画像データに基づいて画像形成を実行する。プリンタユニット111は、用紙などの記録媒体の両面に対して印刷可能である。
次に、図2を用いて、画像処理コントローラ107が実行するディザ処理について説明する。図2は、画素値が多値(例えば8bit、256階調)である入力画像データを2値化するディザ処理を行うための閾値マトリクスの一例を示す図である。閾値マトリクスには、複数の閾値から構成される網点セルが、繰り返し配置されている。図2(a)に示す1つの網点セルは、32(=8×4)個の閾値で構成される。画像処理コントローラ107は、閾値マトリクスを用いて、入力画像データの各画素を0〜1の値を有する2階調へと二値化する。具体的には、画像処理コントローラ107は、入力画像データの各画素について、閾値マトリクスの対応する画素位置から閾値を読み出し、読み出した閾値と該閾値に対応する画素の値とを比較する。そして、画像処理コントローラ107は、画素の値が閾値を超える場合は1を出力し、画素の値が閾値以下である場合は0を出力することで、入力画像データの各画素を二値化する。画素値が大きく濃度が高い画素を多く含む入力画像データほど各画素の画素値が閾値を超える確率が高くなり、1が出力される面積が大きくなり、濃い画像を表現することが可能である。逆に、画像値が小さく濃度が低い画素を多く含む入力画像データは、各画素の画素値が閾値を超えにくく、白を表す0が出力される面積が大きくなる。本実施形態では、十分な階調数(256階調)を得るために、閾値の異なる複数の網点セルを組み合わせて階調を表現するサブマトリクス法と呼ばれる手法を用いる。図2(a)に示す例では、それぞれ異なる閾値の組み合わせを有する16種類の網点セルが閾値マトリクス内に規則的に連続して配置されている。すなわち、閾値マトリクスは16個のサブマトリクスを有し、閾値マトリクス全体としては512(=32×16)個の閾値配列となる。図2(a)に示す閾値マトリクスは、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。画像処理コントローラ107は、2値化を行う際、閾値マトリクスの個数(ここでは512)に合わせて入力画像データの画素値を正規化したのちに、2値化を行う。例えば入力画像データが256階調であれば各画素値を512/255倍したのちに2値化することで、網点の面積で256階調を表現することができる。
同様に、図2(b)には図2(a)とは異なる閾値マトリクスの一例が示されている。図2(b)に示す閾値マトリクスの1つの網点セルは長方形ではなく、かぎ型の26個の閾値で構成されている。また、図2(b)に示す閾値マトリクスは、サブマトリクスを16個有し、閾値マトリクス全体として416(=26×16)個の閾値配列となっている。図2(b)に示す閾値マトリクスは図2(a)に示す閾値マトリクスと同様に、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。
図2(a),(b)では、閾値が160未満である箇所に色を付することで、各画素の値が160である入力画像データに対して閾値マトリクスを適用したときに得られるドット(網点)が示されている。図2(a),(b)に示されるように、網点はある特定の周期で繰り返し生成される。そして、この網点群が水平方向(図における左右方向)に対してなす角度θをスクリーン角度と呼ぶ。図2(a)に示す閾値マトリクスではスクリーン角度は45°となっていて、図2(b)に示す閾値マトリクスではスクリーン角度は約78.7°(以下、単に78.7と記す。)となっている。また閾値マトリクスにより生成される網点は上記スクリーン角度に対して90°直交する向きにも並んでいる。つまり、図2(a)に示す例では45°に対して90°直交する135°の向きにも等間隔に網点が並んでいる。図2(b)に示す例では78.7°に対して90°直交する168.7°の向きにも等間隔に網点が並んでいる。
なお、前述したハーフトーン画像に対する画素の挿入や間引きを実施するためには、挿入や間引きすべき画素位置を決定する処理(以下、決定処理と呼ぶ。)と、当該画素位置の画素を間引く又は当該画素位置に近接する位置に画素を挿入する変倍処理とを行う必要がある。本実施形態では、上記決定処理と変倍処理とをCPU101等のプロセッサによって実行する場合を想定している。しかし、例えば専用の演算回路(例えば、ASIC)等の別個のハードウェア回路を設けて、それらを用いて上記決定処理と変倍処理を実行するようにしてもよい。また例えば、FPGA(Field−Programmable Gate Array)やDSP(Digital Signal Processor)などを用いて上記決定処理と変倍処理を実行するようにしてもよい。
続いて図3を用いて、CPU101が出力バッファ110に格納されたハーフトーン画像データを走査しながら実行する変倍処理を説明する。図3に示す処理は、ROM104に格納されている制御プログラムをCPU101がRAM103にロードし展開して実行することで実現される。なお、図3には、副走査方向を処理方向とする変倍処理についてのフローが示されているが、図3に示すフローは主走査方向を処理方向とする変倍処理にも適用可能である。その場合、図3に示すフローにおけるx座標とy座標とを入れ替えて、同様に処理を実行すればよい。なお、図3に示す処理を実行する前に、変倍率が操作部102を介してユーザによって設定され、該変倍率を示す変倍率情報がRAM103に格納されているものとする。また、CPU101はユーザによる印刷実行命令を受け付けていて、RAM103に格納されているビットマップ画像データに対して画像処理コントローラ107によるディザ処理が実行され、ハーフトーン画像データがすでに生成されているものとする。つまり、変倍処理前のハーフトーン画像データが出力バッファ110に格納されているものとする。なお、変倍率については、操作部102からユーザが設定するだけではなく、自動で設定するようにしてもよい。例えば、表面と裏面とに印刷される画像のずれ量をテスト印刷等により予め自動で検出して、そのずれ量を変倍率として用いるようにしてもよい。また、図3に示すフローは、カラー画像を印刷する場合にも適用可能である。カラー画像を印刷する場合、通常、CMYKの4色分のハーフトーン画像データが必要になる。そこで、パッチを出力し、各色のハーフトーン画像どうしのずれ量を計測し、計測したずれ量を変倍率として図3に示す処理を実行し、各色間で発生する倍率差を吸収するようしてもよい。
S301において、CPU101は、RAM103に格納されている変倍率情報から、変倍処理の処理単位を以下の式から求める。また、S301において、CPU101は、RAM103から主走査入力サイズと副走査入力サイズを取得し、変倍処理によって生成される変倍処理後のハーフトーン画像の大きさ(主走査出力サイズ、副走査出力サイズ)を演算によって求める。
変倍処理単位(ライン)=1÷倍率
変倍処理単位とは、例えば、1%(0.01倍)の変倍処理(拡大処理または縮小処理)の場合、変倍処理単位は100(=1÷0.01)ラインとなる。つまり、100ライン毎に挿入や間引きを実行することになる。
変倍処理単位(ライン)=1÷倍率
変倍処理単位とは、例えば、1%(0.01倍)の変倍処理(拡大処理または縮小処理)の場合、変倍処理単位は100(=1÷0.01)ラインとなる。つまり、100ライン毎に挿入や間引きを実行することになる。
S302において、CPU101は、x座標の初期化処理を実行する。x座標の初期化処理とは、変倍処理後のハーフトーン画像内の主走査方向の座標(x座標)の位置を表すパラメータxをリセット(x=0)する処理である。以降の説明では、パラメータxを主走査位置xと記す。
S303において、CPU101は、x座標に応じた画素挿抜ベクトル(以下、単に挿抜ベクトルと呼ぶ。)を意味するオフセット量ofsを導出する。具体的には、特定の長さLのofsテーブルから、xとLの剰余算の結果をインデックスとして値を取得する。例えばL=8である場合を例にすると、x=0の場合はofsテーブル[0]の値が、x=1の場合はofsテーブル[1]の値が、x=7の場合はofsテーブル[7]の値がオフセット量ofsとして取得される。x≧8の場合も同様にして、ofsテーブル[x%8]の値が、オフセット量ofsとして取得される。この挿抜ベクトルはスクリーン角度に最適化される必要があり、その最適値は、変倍処理前のハーフトーン画像が有するスクリーン角度によって異なる。ofsテーブルの最適値の導出方法については後述する。
続いてS304において、CPU101は、y座標の初期化処理を実行する。前述したS302の処理と同様に、変倍処理後のハーフトーン画像面内の副走査方向の座標(y座標)の位置を表すパラメータyをリセット(y=0)する処理である。以降の説明では、パラメータxを副走査位置yと記す。なお、ここでは、yとともに、後述するS306の処理で用いるカウンタNも初期化(N=0)する。
S305において、CPU101は、副走査位置yとステップS303で導出したofsの値を加算した値と、ステップS301で求めた変倍処理単位との剰余算の結果が0であるかを判定する。剰余算の結果が0である場合(S305でYES)、CPU101は、副走査位置yが変倍処理単位に到達したと判断し、S306に進む。剰余算の結果が0でない場合(S305でNO)、処理はステップS307に進む。変倍処理単位の周期で剰余算の結果が0になり、剰余算の結果が0になるy座標において挿入または間引きが行われることを意味している。
S306において、CPU101は、カウンタNをインクリメントする。カウンタNは、主走査位置xにおいて副走査位置yが何回変倍処理単位を超えたかを示す。つまり、カウンタNは、変倍処理単位に達した回数を示す。
S307において、CPU101は、参照すべき入力ハーフトーン画像の副走査位置を演算する。ここでは、以下の式を用いて、出力として変倍前のどの副走査位置の値を用いればよいかを決定する。拡大の場合、すなわち変倍処理後の画素数が増える場合、参照すべき入力ハーフトーン画像の副走査位置y´はカウンタNを用いて、
y´=y−N
で求めることができる。上記式におけるyは変倍処理後の副走査位置を表している。この式は、S306にてカウンタNのインクリメントが行われた副走査位置で、同じ入力画素が2回連続出力されることを意味している。つまりその副走査位置で画素の挿入が行われることを意味している。
y´=y−N
で求めることができる。上記式におけるyは変倍処理後の副走査位置を表している。この式は、S306にてカウンタNのインクリメントが行われた副走査位置で、同じ入力画素が2回連続出力されることを意味している。つまりその副走査位置で画素の挿入が行われることを意味している。
同様に縮小の場合、すなわち変倍処理後の画素数が減る場合には、
y’=y+N
で求めることができる。この式は、S306にてカウンタNのインクリメントが行われた副走査位置で、入力画素の出力が行われないことを意味している。つまり、その副走査位置で画素の間引きが行われることを意味している。
y’=y+N
で求めることができる。この式は、S306にてカウンタNのインクリメントが行われた副走査位置で、入力画素の出力が行われないことを意味している。つまり、その副走査位置で画素の間引きが行われることを意味している。
S308において、CPU101は、入力ハーフトーン画像における座標(x,y´)の画素データを出力する。このy´は、S307で求めた、参照すべき入力ハーフトーン画像の副走査位置である。S309において、CPU101は、副走査位置yをインクリメントする。
その後S310にて、CPU101は、副走査位置yが副走査出力サイズ未満か否かを判定する。副走査出力サイズ未満である場合、つまりすべての副走査位置について画素を出力し終えていない場合(S310のYES)、CPU101は、S305からの処理を繰り返す。副走査出力サイズ未満でない場合、つまりすべての副走査位置について画素を出力し終えている場合(S310のNO)、CPU101は、S311の処理に進む。S305〜S310の処理で、副走査方向1ライン分に対する変倍処理が完了する。
S311において、CPU101は、主走査位置xをインクリメントする。これにより、主走査位置xを1画素ずらした主走査位置x+1において、S305〜S310の処理が繰り返し実行されることになる。
最後にS312にて、CPU101は、主走査位置xの値が主走査出力サイズ未満か否かを判定する。主走査出力サイズ未満である場合、つまりすべての主走査位置について画素を出力し終えていない場合(S312のYES)、CPU101は、S303からの処理を繰り返す。主走査出力サイズ未満でない場合、つまりすべての主走査位置について画素の出力をし終えている場合(S312のNO)、処理は終了する。
続いて図4及び図5を用いて、S303の処理で用いられるofsテーブルの最適値の導出方法について説明する。先に述べたように、ofsテーブルは画素挿抜ベクトルを意味していて、テーブル内の値がスクリーン角度に応じて変更される。ここで、スクリーン角度に応じて変更する理由について説明する。図4には、図2(a)に示すスクリーン角度45°の網点セルが敷き詰められたハーフトーン画像に対して変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の様子が示されている。図4(a)には変倍前のハーフトーン画像が示されていて、図4(b)には変倍後のハーフトーン画像が示されている。図5には、図2(b)に示すスクリーン角度78.7の網点セルが敷き詰められたハーフトーン画像に対して変倍処理を適用した場合における、変倍処理前後のハーフトーン画像の様子が示されている。図5(a)には変倍前のハーフトーン画像が示されていて、図5(b)には変倍後のハーフトーン画像が示されている。図4(b)及び図5(b)において枠が付された画素列は、変倍処理によって挿入された各画素を表している。図4(b)及び図5(b)にはいずれもofsテーブルの最適化を行っていない場合、つまりofsの値が常に0である場合における変倍後の画像が示されている。すなわち、すべての主走査位置において同一の副走査位置に画素が挿入されて変倍された画像が示されている。
図4(b)に示す変倍後の画像において、画素の挿入により形状変化した網点401によって、網点401が存在する副走査位置において濃度が上昇している。ただし、図4(b)の網点パターンの場合、形状変化した網点401が主走査方向に横一列に既存の網点間隔と同じ距離402で並んでいるため、パターン変化は視認されにくい。対して図5(b)に示す変倍後の画像においては、隣り合う2つの網点501で構成される網点群が形状変化し、そのような網点群が、主走査方向において網点間の距離に比べて長い距離502で繰り返し並んでいる。図5(b)に示す網点パターンの場合、用紙などの記録媒体に印刷したときに、形状変化した網点501が距離502の周期でパターンとして視認されてしまい、画質上好ましくない。このように、スクリーン角度が異なる画像に対して同じように画素を挿入すると画質上好ましくないパターンが視認される可能性があるため、スクリーン角度に応じて各画像に使用するofsテーブルを切り替える必要がある。これがスクリーン角度に応じてofsテーブルを最適化させる理由である。
図5(c)には、最適化されたofsテーブルを用いて変倍処理を行った場合における変倍後のハーフトーン画像が示されている。図5(c)に示す例では、挿抜ベクトルの角度がスクリーン角度に対して45°になるように最適化されたofsテーブルが用いられている。具体的には、以下に示すL=26の要素からなるofsテーブルが用いられている。
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[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テーブルは、基準位置(y座標)505からの距離506、つまり挿抜位置を移動させる距離を、主走査位置(x座標)毎に羅列したものである。つまり、主走査位置x=0,1,2,3,4,5・・・における距離506が12,12,11,10,9,8・・・であることを意味している。このように、ofsテーブルは、基準位置からの距離を挿抜座標として保持することで挿抜ベクトルを表現する。ここでは、x方向に+3進むとy方向に―2進む挿抜ベクトルが表現されている。つまり、この挿抜ベクトルは、スクリーン角度を示す網点ベクトル(1,−5)に対して45°の角度をなす方向(3,−2)を有する。このように最適化されたofsテーブルを用いることで、図5(c)に示すように、形状変化した網点503が、図5(b)に示す距離502に対して十分短い距離504で繰り返し出力されるようになる。そのため、図5(c)に示す網点パターンの場合、用紙などの記録媒体に印刷した場合でも、パターン変化が視認しづらくなる。つまり、ofsテーブルの最適化を行うことで、変倍後のハーフトーン画像の画質を向上させることができる。なお、上記ofsテーブルでは、挿抜ベクトルを挿抜ベクトルに対して直交する方向(2,3)に折り返すように値が設定されている。その理由は、ofsの値が大きくなりすぎると、変倍処理単位からのずれが大きくなり(理想的な挿抜位置からのずれが大きくなり)、例えば、用紙の伸縮方向と変倍方向とがマッチしなくなる可能性があるためである。また、ここでは、画素挿入による拡大を行った場合におけるパターン変化の視認性について説明した。しかし、画素間引きによる縮小を行う場合にも同様に、最適化されたofsテーブルを用いることでパターン変化を視認しづらくさせることができ画質を向上させることができる。
以上のように、本実施形態によれば、変倍処理を行うことにより生じうるハーフトーン画像の画質の低下を抑制することができる。またそれにより、変倍処理を行った場合でも、良好な画質のハーフトーン画像を出力することが可能となる。
なお、本実施形態では、スクリーン角度に対して45°ずらした位置を画素挿抜位置として用いる例を示した。しかし、形状変化する網点の繰り返し周期が短いほどパターン変化を視認しづらくすることができるので、画素挿抜位置は必ずしもスクリーン角度に対して45°ずらした位置に限定されない。上記繰り返し周期がより短くなるように、スクリーン角度や網点の形状に応じて、スクリーン角度に対して所定の角度ずらした位置を画素挿抜位置として設定するようにしてもよい。
また、形状変化する網点どうしの距離を図5(b)に示す距離502よりも短くすることができれば、挿抜ベクトルはどのように折り返されてもよい。つまり、挿抜ベクトルを折り返す方向は、必ずしも挿抜ベクトルに直交する方向である必要はない。例えば以下のように、画像に対して垂直方向すなわち副走査方向に挿抜ベクトルを折り返すようにしてもよい。つまり、挿抜ベクトルが方向(3,−2)のみを有していてもよい。
ofs[18] = 12,12,11,10,10,9,8,8,7,6,6,5,4,4,3,2,2,1
ofs[18] = 12,12,11,10,10,9,8,8,7,6,6,5,4,4,3,2,2,1
なお、ここではL=18の要素からなるofsテーブルを例にしたが、形状変化する網点の距離がより短くなるように、スクリーン角度や網点の形状に応じてofsテーブルの幅を調整するようにしてもよい。
さらに、本実施形態では1色のハーフトーン画像データに対して画素の挿抜を行う場合について説明した。しかし、本実施形態は、モノクロ画像に限らずカラー画像を印刷する場合にも適用可能である。通常、カラー画像を印刷する場合には、CMYKの4色分のハーフトーン画像が必要になる。また、それらのハーフトーン画像は、通常、モアレを回避するために互いに異なるスクリーン角度を有する。したがって、カラー印刷に本実施形態を適用する場合には、色毎に挿抜ベクトルを設定する必要がある。つまり、色毎に異なるofsテーブルを用意しておき、色毎に変倍処理を行えばよい。
[実施形態2]
第1実施形態では、画像全体に対して単一の閾値マトリクスを適用することを前提とし、ハーフトーン画像内に網点パターンが1種類しか存在しない場合における変倍処理を説明した。しかし、画像内の領域ごとの特徴に応じて、領域ごとに、異なる閾値マトリクスを適用して異なる網点パターンを形成するケースもある。そこで、本実施形態では、そのように複数の網点パターンが並存するハーフトーン画像に対して変倍処理を行う場合について説明する。なお、本実施形態における画像処理装置の構成は、第1実施形態と同様である。
第1実施形態では、画像全体に対して単一の閾値マトリクスを適用することを前提とし、ハーフトーン画像内に網点パターンが1種類しか存在しない場合における変倍処理を説明した。しかし、画像内の領域ごとの特徴に応じて、領域ごとに、異なる閾値マトリクスを適用して異なる網点パターンを形成するケースもある。そこで、本実施形態では、そのように複数の網点パターンが並存するハーフトーン画像に対して変倍処理を行う場合について説明する。なお、本実施形態における画像処理装置の構成は、第1実施形態と同様である。
ディザ処理により得られるハーフトーン画像の網点は、通常、周期が広い(すなわち、線数が低い)ものほど濃度特性が安定し、入力画像に対する階調再現性が高い。その反面、網点の周期が広いと、エッジ部のジャギーが発生しやすくなる。逆に、周期が狭い網点(すなわち、線数が高い網点)は、入力画像に対する階調再現性が低い反面、エッジ部のジャギーは発生しにくい。そのため、1つのハーフトーン画像内において、写真やグラフィック等の階調性が重視されるようなオブジェクトには線数が低い網点を、文字やラインのような多くのエッジで構成されるようなオブジェクトには線数が高い網点を適用的に割り当てる場合がある。その場合、それぞれのオブジェクトの領域に対して、スクリーン角度が異なる閾値マトリクスが適用されることになる。そのため、第1実施形態で説明したようなofsテーブル(挿抜ベクトル)を画像全体に適用して変倍処理を行うと、挿抜ベクトルと閾値マトリクスとが適合しない領域が発生し、そのような領域において上述したようなパターン変化が視認される可能性がある。
図6は、図2に示す閾値マトリクスとは異なる角度の網点を形成する閾値マトリクス601の一例を示す図である。閾値マトリクス601を用いることで、図2(a)(b)に示す閾値マトリクスより、周期が短い(線数が多い)網点のハーフトーン画像を生成することができるとともに、ジャギーがより少なく解像感が高いハーフトーン画像を得ることができる。閾値マトリクス601の各網点セル(サブマトリクス)は、長方形をしておらずかぎ型になっていて、20画素で構成されている。また、閾値マトリクス601は、サブマトリクスを16個有し、閾値マトリクス全体として計320個の閾値配列となっている。閾値マトリクス601は、前述した閾値マトリクスと同様に、入力画像データに対してタイル状に敷き詰めるようにして繰り返し利用される。
また、図6では、96未満の閾値に色が付されている。色が付された画素は、各画素の値が160である入力画像データに対して閾値マトリクス601を適用したときに得られる網点を表現している。図6に示されるように、網点はある特定の周期で繰り返し生成される。この網点のスクリーン角度は約26.7°(以下、単に26.7°と記す。)である。また、この網点は、スクリーン角度26.7°に直交する向きにも等間隔に並んでいる。
図7は、図6に示すスクリーン角度26.7°の網点が画像全体に敷き詰められたハーフトーン画像を示す図である。図7(a)には、変倍前のハーフトーン画像が示されている。一方、図7(b)には、第1実施形態で説明した挿抜ベクトル、つまりスクリーン角度78.7°に対応するように最適化された挿抜ベクトルによる拡大後のハーフトーン画像が示されている。図7(b)に示すように、スクリーン角度26.7°のハーフトーン画像データに対して、スクリーン角度78.7°に対応するように最適化された挿抜ベクトルを適用すると、領域701において、各網点のサイズが大きくなり濃度上昇が起こる。また、領域702において、空白部が増えることで濃度下降が起こる。それにより、周期703でモアレのようなスジが視認されるようになってしまう。
したがって、ハーフトーン画像データに対して挿抜ベクトルを適用する際には、そのハーフトーン画像データのスクリーン角度に対して最適な挿抜ベクトルを適用する必要がある。特に、上述したように1つのハーフトーン画像内にスクリーン角度が異なる複数の領域が並存する場合には、各領域のスクリーン角度に応じた最適な挿抜ベクトルを設定する必要がある。以下では、各領域のスクリーン角度から、各領域に共通に設定する挿抜ベクトルを導出する方法について説明する。
次に、図8を用いて、上記のモアレのようなスジが発生する仕組みを説明する。図8(a)には、図2(b)に示すスクリーン角度78.7°のハーフトーン画像の一部が示されている。図8(b)には、図6に示すスクリーン角度26.7°のハーフトーン画像の一部が示されている。図8(a)(b)において実線の矢印801は、スクリーン角度78.7°に対応するように最適化された挿抜ベクトルの方向を示している。この挿抜ベクトルは、図8(a)ではスクリーン角度に対して最適な方向を向いているが、図8(b)ではスクリーン角度と合わずにスクリーン角度との間に僅かな差異が生じている。この僅かな差異が、長周期のモアレのようなスジを発生させる原因となる。図8(c)に示す実線の矢印803は、起点となる網点から、挿抜ベクトルの方向(3,−2)において次に現れる網点までの距離(干渉周期)を表していて、その長さは約36であり矢印801の長さの5倍となっている。この距離で周期的な濃淡変化が繰り返し起こると、印刷された画像においてその周期がモアレのようなスジとして視認される可能性がある。
そこで、本実施形態では、互いのスクリーン角度(スクリーン角度78.7°とスクリーン角度26.7)から、挿抜ベクトルと網点との干渉周期が短くなるような向き、例えば破線の矢印802の方向を有する挿抜ベクトルを設定する。それにより、2つの網点パターンがハーフトーン画像内に並存する場合においても、スジ状の画質劣化を起こりにくくさせる。
図8(a)において破線の矢印802は(7,−9)の方向を向いていて、その方向において次に現れる網点との距離(つまり、矢印802の長さ)は11.4となり、矢印801の長さ7.2よりも長くなっている。しかし、図8(b)では、矢印802の方向において次に現れる網点との距離は10であり、図8(c)に示す矢印803の長さの約1/3になっている。つまり、挿抜ベクトルと網点との干渉周期がより視認しづらい長さに保たれている。よって、ハーフトーン画像内にスクリーン角度が異なる複数の領域が並存する場合には、各領域のスクリーン角度に応じた最適な挿抜ベクトルを適用することで濃淡変化の周期をより短くすることができモアレのようなスジをより視認しづらくさせることができる。なお、ここでは、画像内に2つの網点パターンが並存する場合を例にしたが、画像内に3つ以上の網点パターンが並存する場合も同様である。つまり、各網点パターンにおいて干渉周期がより短くなるような方向を有する挿抜ベクトルを適用するようにすればよい。
以上のように、本実施形態によれば、ハーフトーン画像内に異なる網点パターンが並存する場合においても、変倍処理に伴う画質の不具合を抑制することができ、変倍後のハーフトーン画像を良好な画質で出力することが可能となる。
なお、ハーフトーン画像内に異なる網点パターンが並存する場合において、各網点パターンの境界が既知であれば、その境界の位置(座標)で挿抜ベクトルを切り替えることも可能である。そのような方法によれば、各網点パターンのそれぞれについて最適なofsテーブル(挿抜ベクトル)を割り当てることができるので、上述したようなスジ状の画質劣化をさらに起こりにくくさせることが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (11)
- 画素の挿抜によりハーフトーン画像の変倍を行う画像処理装置であって、
前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第1の方向の画素の挿抜位置を決定する決定手段と、
前記ハーフトーン画像のスクリーン角度に基づいて、前記第1の方向に直交する第2の方向の各位置において、前記第1の方向の前記画素の挿抜位置を前記第1の方向に移動させるオフセット量を導出する導出手段と、
前記第1の方向の前記画素の挿抜位置と前記第2の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行手段とを備える
ことを特徴とする画像処理装置。 - 前記導出手段は、
前記画素の挿抜により形状変化する網点どうしの間隔が、前記第1の方向の前記画素の挿抜位置を移動させずに前記画素の挿抜を実行した場合よりも短くなるように、前記オフセット量を導出する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記導出手段は、
前記実行手段により挿抜される各画素からなる画素列の角度が、前記スクリーン角度に対して所定の角度を有するように、前記オフセット量を導出し、
前記所定の角度が、前記画素の挿抜により形状変化する網点どうしの間隔が、前記第1の方向の前記画素の挿抜位置を移動させずに前記画素の挿抜を実行した場合よりも短くなるように、設定される
ことを特徴とする請求項2に記載の画像処理装置。 - 前記所定の角度は、前記スクリーン角度に対して45°をなす角度である
ことを特徴とする請求項3に記載の画像処理装置。 - 前記第2の方向の各位置について導出された前記オフセット量が、前記第2の方向に周期を有する
ことを特徴とする請求項1から請求項4のうちのいずれか1項に記載の画像処理装置。 - 前記導出手段は、
網点パターンが異なる複数の領域が前記ハーフトーン画像に含まれる場合、各領域のスクリーン角度に基づいて前記オフセット量を導出する
ことを特徴とする請求項1または請求項2に記載の画像処理装置。 - 前記導出手段は、
網点パターンが異なる複数の領域が前記ハーフトーン画像に含まれる場合、各領域のスクリーン角度に基づいて領域ごとに前記オフセット量を導出し、
前記実行手段は、
前記第1の方向における前記画素の挿抜位置と前記導出手段が導出した各領域の前記オフセット量とに従って、領域ごとに画素の挿抜を実行する
ことと特徴とする請求項6に記載の画像処理装置。 - 前記変倍率が、両面印刷において記録媒体の表面に形成されるハーフトーン画像と前記記録媒体の裏面に形成されるハーフトーン画像とのずれ量に基づき決定される
ことを特徴とする請求項1から請求項7のうちのいずれか1項に記載の画像処理装置。 - 前記変倍率が、カラー印刷において記録媒体に形成される一の色に対応するハーフトーン画像と他の色に対応するハーフトーン画像とのずれ量に基づき決定される
ことを特徴とする請求項1から請求項7のうちのいずれか1項に記載の画像処理装置。 - 画素の挿抜によりハーフトーン画像の変倍を行う画像処理方法であって、
前記ハーフトーン画像の変倍を行う際の変倍率に基づいて、変倍方向である第1の方向の画素の挿抜位置を決定する決定ステップと、
前記ハーフトーン画像のスクリーン角度に基づいて、前記第1の方向に直交する第2の方向の各位置において、前記第1の方向の前記画素の挿抜位置を前記第1の方向に移動させるオフセット量を導出する導出ステップと、
前記第1の方向の前記画素の挿抜位置と前記第2の方向の各位置の前記オフセット量とに従って、前記画素の挿抜を実行する実行ステップとを含む
ことを特徴とする画像処理方法。 - コンピュータに、請求項10に記載の画像処理方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016911A JP2020127075A (ja) | 2019-02-01 | 2019-02-01 | 画像処理装置、画像処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016911A JP2020127075A (ja) | 2019-02-01 | 2019-02-01 | 画像処理装置、画像処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020127075A true JP2020127075A (ja) | 2020-08-20 |
Family
ID=72084217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019016911A Pending JP2020127075A (ja) | 2019-02-01 | 2019-02-01 | 画像処理装置、画像処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020127075A (ja) |
-
2019
- 2019-02-01 JP JP2019016911A patent/JP2020127075A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5874721B2 (ja) | 画像処理装置、画像補正方法、及び、プログラム | |
US10546220B2 (en) | Image processing apparatus that generates halftone image, image processing method, and storage medium | |
US10511741B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable medium | |
JP2017098693A (ja) | 画像処理装置、画像処理方法及びプログラム。 | |
US20160191744A1 (en) | Image processing apparatus, image processing method, and recording medium | |
JP5863001B2 (ja) | 画像処理装置、画像形成装置およびプログラム | |
JP5499981B2 (ja) | 画像処理装置 | |
JP4111190B2 (ja) | 画像処理装置 | |
KR100869284B1 (ko) | 화상 처리 장치 및 화상 처리 방법 | |
JP6079728B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2011004277A (ja) | 画像形成装置 | |
JP2020127075A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP5825306B2 (ja) | 画像変倍装置および画像変倍方法 | |
JP2002281306A (ja) | 画像形成装置、画像形成方法および記録媒体 | |
US9876938B2 (en) | Image processing apparatus, image processing method, and computer program | |
JP2013026865A (ja) | 画像処理装置及び画像処理方法 | |
JP5990217B2 (ja) | 画像処理装置、画像形成装置、およびそれらの制御方法 | |
JP5656800B2 (ja) | 画像処理装置および画像形成装置 | |
JP2007300390A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4905403B2 (ja) | 画像処理装置及び画像処理方法 | |
US10477067B2 (en) | Image forming apparatus, image forming method, and storage medium | |
JP2013150111A (ja) | 画像処理装置および画像処理方法 | |
JP6651776B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP2016072971A (ja) | 低オーバヘッド近単位スケーリング技術 | |
JP2015076644A (ja) | 色変動監視装置、画像形成システムおよびプログラム |