(57)【特許請求の範囲】
【請求項１】
デジタル画像に対して施す画像処理方法であって、
前記デジタル画像の少なくとも一部の画像領域を処理対象領域とし、
前記処理対象領域内の画素を注目画素として、その注目画素に対してシフト方向とシフト量とをランダムに決定したシフトデータに基づきその注目画素の位置をシフトしたと仮定したときに、そのシフト後の位置の近傍画素の階調値に基づき、そのシフト後の位置に応じたその注目画素の新たな階調値を求める処理を、前記処理対象領域内の各画素を順次注目画素として行い、
前記処理対象領域内の各画素の階調値を前記新たな階調値に置き換えた処理後のデジタル画像を得ることを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
各画素に対する前記シフトデータのシフト方向とシフト量とをランダムに決定するに際して、初期値の規定をランダムに行った周期関数を用いて決定することを特徴とする画像処理方法。
【請求項３】
請求項１または２に記載の画像処理方法において、
前記デジタル画像内で周期性を有する画像パターンが存在する画像領域を抽出し、抽出した画像領域を前記処理対象領域とすることを特徴とする画像処理方法。
【請求項４】
請求項３に記載の画像処理方法において、
２次元のデジタル画像内で互いに直交する２つの画素列方向それぞれに沿った周期性を有する画像パターンの存在を調べて前記処理対象領域を抽出することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル画像に対して施す画像処理方法に係り、特には、モアレの発生の抑制などに効果がある画像処理方法に関する。
【０００２】
【従来の技術】
デジタル画像は、従来、ＣＣＤなどの画像入力器で原稿、または、対象物体を光学的に読み取ってデジタル化することで得られる。そして、このデジタル画像に対して、必要に応じて種々の処理が施される。
【０００３】
例えば、デジタル画像の鮮鋭度を向上させる場合にはシャープネス処理が施される。また、デジタル画像を印刷する場合には網点化処理を行って網点画像に変換される。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来、例えば、デジタル画像に対してシャープネス処理などの画像処理を行った場合、処理後の画像にモアレが発生することがある。
【０００５】
本発明者は、このようなモアレの発生状態や発生原因を調査した。
その結果、まず、このようなモアレは、デジタル画像内に布地や網模様、格子パターンなどの周期性を有する画像パターンが存在する画像領域で発生することが判明した。
【０００６】
また、このようなモアレは、以下のような原因で発生すると考えられる。
例えば、原稿内に図１９に示すような周期性を有する画像パターン（白黒の縞模様）ＧＰＴが存在し、この原稿を画像入力器で読み取ってデジタル画像を得る場合を考える。このとき、原稿の画像パターンＧＰＴと画像入力器の光学読み取り素子（光電素子）ＩＤとの位置関係によって、得られたデジタル画像の各画素の階調値は変化する。
【０００７】
例えば、原稿の画像パターンＧＰＴと光電素子ＩＤとの位置関係が図１９（ａ）に示す状態であれば、得られたデジタル画像の各画素の階調値は、図２０（ａ）の階調プロファイルに示すように、白黒が明確に分かれる「ＩＮフェイズ状態」となる。また、原稿の画像パターンＧＰＴと光電素子ＩＤとの位置関係が図１９（ｂ）に示す状態であれば、得られたデジタル画像の各画素の階調値は、図２０（ｂ）の階調プロファイルに示すように、白黒の中間値が発生する「ＯＵＴフェイズ状態」となる。
【０００８】
図２０に示す各階調プロファイルは「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とで相違するが、各々の平均階調値ＡＫIN、ＡＫOUT は略等しい。
【０００９】
しかしながら、デジタル画像に、例えば、シャープネス処理を施すと、「ＩＮフェイズ状態」で読み取られたデジタル画像と「ＯＵＴフェイズ状態」で読み取られたデジタル画像とで平均階調値ＡＫIN、ＡＫOUT に違いが生じる。例えば、図２０（ａ）、（ｂ）に示す各デジタル画像にそれぞれシャープネス処理を施すと、計算上、各画素の階調値は各々図２１（ａ）、（ｂ）に示すようになる。ここで、計算上、階調値が階調レンジＫＲ（図では、０〜２５５）から外れるサチレーションが起きると、その階調値は、強制的に階調レンジＫＲの上下限値に修正される。すなわち、図２０（ａ）、（ｂ）に示す各デジタル画像にそれぞれシャープネス処理を施すと、処理後の各画素の階調値は各々図２２（ａ）、（ｂ）の実線に示すようになる。
【００１０】
ここで、この例の画像パターンＧＰＴは、デジタル画像上で４画素周期の周期性を有しているが、１周期ごとに、図２２（ａ）では、白２画素だけにサチレーションＳＲが起き、図２２（ｂ）では、白１画素と黒１画素とにサチレーションＳＲが起きている。その結果、図２２（ａ）（「ＩＮファイズ状態」）の平均階調値ＡＫINは、図２２（ｂ）（「ＯＵＴファイズ状態」）の平均階調値ＡＫOUT に比べて低くなる。
【００１１】
ところで、図１９では、画像パターンＧＰＴの白黒の幅が、光電素子ＩＤの幅の整数倍である場合を示したが、画像パターンＧＰＴの白黒の幅が、光電素子ＩＤの幅の整数倍でない場合、原稿の画像パターンＧＰＴと光電素子ＩＤとの位置関係が周期的にずれるので、得られたデジタル画像上では、画像パターンＧＰＴは、「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とで読み込まれる状態が周期的に繰り返されることになる。この場合、このデジタル画像にシャープネス処理を施すと、平均階調値が周期的に変動する状態が生じる。この平均階調値が周期的に変動する状態が、モアレとなって現れるものと考えられる。
【００１２】
この周期変動は、原稿や対象物体には無い画像であるため、画像の品質が著しく低下することになる。
【００１３】
上記ではデジタル画像に対してシャープネス処理を施した場合について説明したが、例えば、図２３に示すようなルックアップテーブルによって各画素の階調値を変換するような階調変換処理など、サチレーションに偏りが生じるような画像処理を施した場合にも上記のような平均階調値が周期的に変動する状態が発生し、その結果、処理後の画像にモアレが発生すると考えられる。
【００１４】
さらに、例えば、図２４に示すようなルックアップテーブルによって各画素の階調値を変換する階調変換処理などでも、「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とで平均階調値に違いが生じ、上記のような平均階調値が周期的に変動する状態が発生する結果、処理後の画像にモアレが発生すると考えられる。
【００１５】
また、従来、デジタル画像に対して網点化処理を施して網点画像を印刷したときにも、周期性を有する画像パターンが存在する画像領域で、印刷された網点画像上にモアレが発生することがある。
【００１６】
本発明者の調査の結果、この場合のモアレは以下のような原因によって発生するものと考えられる。
【００１７】
すなわち、網点化処理は、各網点に対応した多数のしきい値が平面的に展開されたしきい値群を用いて、デジタル画像の各画素を、その階調値に応じた網点濃度の網点群に変換する処理である。
【００１８】
そして、デジタル画像上の周期性を有する画像パターンと、上記しきい値群とが周期的にずれると、網点画像上で再現される画像パターンの網点濃度は周期的に変動することになり、このような網点濃度が周期的に変動する状態が、モアレとなって現れるものと考えられる。
【００１９】
本発明は、このような事情に鑑みてなされたものであって、モアレの発生の抑制などに効果がある画像処理方法を提供することを目的とする。
【００２０】
【課題を解決するための手段】
本発明は、このような目的を達成するために、次のような構成をとる。
すなわち、請求項１に記載の発明は、デジタル画像に対して施す画像処理方法であって、前記デジタル画像の少なくとも一部の画像領域を処理対象領域とし、前記処理対象領域内の画素を注目画素として、その注目画素に対してシフト方向とシフト量とをランダムに決定したシフトデータに基づきその注目画素の位置をシフトしたと仮定したときに、そのシフト後の位置の近傍画素の階調値に基づき、そのシフト後の位置に応じたその注目画素の新たな階調値を求める処理を、前記処理対象領域内の各画素を順次注目画素として行い、前記処理対象領域内の各画素の階調値を前記新たな階調値に置き換えた処理後のデジタル画像を得ることを特徴とするものである。
【００２２】
請求項２に記載の発明は、上記請求項１に記載の画像処理方法において、各画素に対する前記シフトデータのシフト方向とシフト量とをランダムに決定するに際して、初期値の規定をランダムに行った周期関数を用いて決定することを特徴とするものである。
【００２４】
請求項３に記載の発明は、上記請求項１または２に記載の画像処理方法において、前記デジタル画像内で周期性を有する画像パターンが存在する画像領域を抽出し、抽出した画像領域を前記処理対象領域とすることを特徴とするものである。
【００２５】
請求項４に記載の発明は、上記請求項３に記載の画像処理方法において、２次元のデジタル画像内で互いに直交する２つの画素列方向それぞれに沿った周期性を有する画像パターンの存在を調べて前記処理対象領域を抽出することを特徴とするものである。
【００２８】
【作用】
請求項１に記載の発明の作用は次のとおりである。
デジタル画像の少なくとも一部の画像領域を処理対象領域として、以下のような画像処理を施して、処理対象領域内の各画素の階調値を変更したデジタル画像を得る。
【００２９】
すなわち、処理対象領域内の画素を注目画素として、その注目画素に対してシフト方向とシフト量とをランダムに決定したシフトデータに基づきその注目画素の位置をシフトしたと仮定したときに、そのシフト後の位置の近傍画素の階調値に基づき、そのシフト後の位置に応じたその注目画素の新たな階調値を求める処理を、処理対象領域内の各画素を順次注目画素として行う。そして、処理対象領域内の各画素の階調値を上記で求めた新たな階調値に置き換えた処理後のデジタル画像を得る。
【００３０】
なお、処理対象領域は、デジタル画像の全領域であってもよいし、デジタル画像内の一部の画像領域であってもよい。
【００３２】
請求項２に記載の発明によれば、各画素に対するシフトデータのシフト方向とシフト量とをランダムに決定するに際して、初期値の規定をランダムに行った周期関数を用いて決定する。
【００３４】
請求項３に記載の発明によれば、モアレが発生する可能性がある周期性を有する画像パターンが存在する画像領域を抽出し、この抽出した画像領域を処理対象領域として、上記請求項１または２のいずれかに記載の発明に係る画像処理を施す。
【００３５】
請求項４に記載の発明によれば、２次元のデジタル画像内で互いに直交する２つの画素列方向それぞれに沿った周期性を有する画像パターンの存在を調べて処理対象領域を抽出する。
【００３８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は本発明に係る画像処理方法を実現するための一実施例に係る画像処理装置のハードウエア構成を示すブロック図である。
【００３９】
この実施例装置はコンピューターシステムで構成されている。ＣＰＵ１は、内部メモリ２に記憶された処理プログラムに従って、本発明に係る処理対象領域を抽出する処理（以下、処理対象領域抽出処理とも略す）やモアレの発生を抑制する画像処理（以下、モアレ抑制処理とも略す）の他、シャープネス処理などの画像処理や網点化処理などの処理を実行する。ＣＰＵ１と内部メモリ２とはバスラインＢＬを介して接続されている。内部メモリ２には、上述した処理プログラムを記憶するプログラム記憶部２ａ以外にも、少なくともモアレ抑制処理を施す前のデジタル画像（以下、処理前画像とも言う）を記憶する処理前画像記憶部２ｂやモアレ抑制処理を施した後のデジタル画像（以下、処理後画像とも言う）を記憶する処理後画像記憶部２ｃを有する。
【００４０】
また、ＣＰＵ１は、入出力インターフェイスＩＦを介して、記憶媒体用ドライバ３、外部記憶装置４、表示装置５、入力装置６、画像入力器７などにも接続されている。
【００４１】
記憶媒体用ドライバ３には、上述した各処理をＣＰＵ１に実行させるための処理プログラムが記憶されている記憶媒体８が装填される。記憶媒体８から読み出された処理プログラムは内部メモリ２内のプログラム記憶部２ａに記憶され、ＣＰＵ１に実行される。
【００４２】
ハードディスクや光磁気ディスクなどで構成される外部記憶装置４は、処理前画像や処理後画像などの画像の保存などに用いられる。また、ＣＲＴなどで構成される表示装置５は、処理前画像や処理後画像、シャープネス処理後の画像などの表示などに用いられる。さらに、キーボードやマウスなどで構成される入力装置６は、オペレータからの各種の指示や処理に必要なデータの設定などに用いられる。
【００４３】
画像入力器７によって読み込まれたデジタル画像（処理前画像）は、内部メモリ２内の処理前画像記憶部２ｂに記憶され、この処理前画像に対して、後述するような処理対象領域抽出処理やモアレ抑制処理が施される。
【００４４】
図２は本発明に係る画像処理方法を実現するための画像処理装置の機能ブロック図であり、図３は本発明に係る画像処理方法の一手順を示すフローチャートである。
【００４５】
図２に示すように、この画像処理装置は機能的に、処理対象領域抽出処理を実行する処理対象領域抽出部１０と、モアレ抑制処理を実行するモアレ抑制処理部２０とに分けられる。また、図２では、モアレ抑制処理部２０は、さらに、処理対象領域内の各画素に対するシフトデータを決定するシフトデータ決定部２１と、処理対象領域内の各画素の新たな階調値を求めて処理後画像記憶部２ｃに記憶するとともに、処理前画像の内の処理対象領域外の各画素の階調値を処理前画像記憶部２ｂから処理後画像記憶部２ｃにそのまま転写する処理後画像生成部２２とに分けられている。
【００４６】
処理の手順は、図３に示すように、まず、処理対象領域抽出部１０が、処理前画像内においてモアレ抑制処理を施す処理対象領域（モアレが発生する可能性がある画像領域）である、周期性を有する画像パターンが存在する画像領域を抽出する（ステップＳ１）。この抽出された処理対象領域に関する情報は、モアレ抑制処理部２０内のシフトデータ決定部２１と処理後画像生成部２２とに与えられ、また、この処理対象領域内の画像パターンの周期性を示す周期性データ（詳細は後述する）が、シフトデータ決定部２１に与えられる。
【００４７】
次に、シフトデータ決定部２１が、与えられた周期性データや、入力装置６から与えられた指示や設定値などに基づき、ステップＳ１で抽出された処理対象領域内の各画素に対するシフトデータを決定する（ステップＳ２）。
【００４８】
そして、処理後画像生成部２２が、ステップＳ１で抽出された処理対象領域内の画素を注目画素として、その注目画素に対して決定したシフトデータに基づきその注目画素の位置をシフトしたと仮定したときに、そのシフト後の位置の近傍画素の階調値に基づき、そのシフト後の位置に応じたその注目画素の新たな階調値を求め、その新たな階調値を、その注目画素に対応する処理後画像記憶部２ｃ内の画素の階調値として記憶する処理（ステップＳ３）を、処理対象領域内の各画素を順次注目画素として行う（ステップＳ４）。最後に、処理後画像生成部２２は、処理前画像の内の処理対象領域外の各画素の階調値を処理前画像記憶部２ｂから処理後画像記憶部２ｃにそのまま転写し、処理後画像を処理後画像記憶部２ｃに生成する（ステップＳ５）。
【００４９】
次に、図３のステップＳ１〜Ｓ３の処理内容を詳細に説明する。
【００５０】
〔ステップＳ１〕
周期性を有する画像パターンが存在する画像領域の抽出は、処理前画像の自己相関特性を調べることで行う。
【００５１】
すなわち、処理前画像の画素を中心画素(xc,yc) として、以下の式（１）によって中心画素(xc,yc) の周辺領域の自己相関データＳ(a,b) を求める。
【００５２】
0003714820.tif 000002
【００５３】
但し、
ABS ｛  ｝は、絶対値を求める関数
Ｐ(x,y) は、処理前画像の画素(x,y) の階調値
m,n は、差分積算領域Ｅを決める定数
a,b は、自己相関を比較するズラシ量
wx,wy は、１つの中心画素(xc,yc) に対して自己相関特性を調べる範囲Ｗを決める定数
である。
【００５４】
(xc,yc)=(4,4) 、m=n=1 （差分積算領域：３×３）、wx=xy=2 （a=b=-2〜+2）とした場合において、a=b=+2のときの自己相関データＳ(a,b) の算出時の形態を図４に示す。
【００５５】
なお、m,n,wx,wy は固定値として処理するようにしてもよいし、入力装置６からオペレータによって適宜に変更可能に構成してもよい。
【００５６】
ところで、上記式（１）では、自己相関データを２次元的に求めているので処理量が多くなる。そこで、例えば、２次元の処理前画像内で互いに直交する２つの画素列方向であるｘ方向、ｙ方向それぞれに沿った周期性を有する画像パターンの存在を調べて処理対象領域を抽出するために、ｘ方向、ｙ方向それぞれに沿った自己相関データＨ(a) 、Ｖ(b) を以下の式（２）、式（３）によって求めて、処理の高速化を図るようにしてもよい。
【００５７】
0003714820.tif 000003
【００５８】
(xc,yc)=(4,4) 、m=1 （差分積算領域：３×１）、wx=2（a=-2〜+2）とした場合において、a=+2のときのｘ方向に沿った自己相関データＨ(a) の算出時の形態を図５に、(xc,yc)=(4,4) 、n=1 （差分積算領域：１×３）、wy=2（b=-2〜+2）とした場合において、b=+2のときのｙ方向に沿った自己相関データＶ(b) の算出時の形態を図６にそれぞれ示す。
【００５９】
次に、上記で求めた自己相関データ（Ｓ(a,b) 、または、Ｈ(a) 、Ｖ(b) ）に基づき、画像の周期性の有無を調べる。
【００６０】
すなわち、周期性を有する画像パターンが存在すると、その画像パターンの周期ごとに自己相関が高く、すなわち、上記式（１）、（２）、（３）で求まる自己相関データは小さくなる。従って、まず、（Ａ）自己相関データの極小値を検索し、（Ｂ）それら極小値が所定レベル以下で、かつ、（Ｃ）それら極小値が規則的に存在していることを調べる。
【００６１】
図７は(xc,yc)=(7,3) 、m=1 、wx=5（a=-5〜+5）とした場合のＰ(x,y) 、Ｈ(a) の一例を示すデータとそのＨ(a) をグラフ化した図である。なお、a=0 は、同じ画素同志の自己相関であるので、Ｈ(0) ＝０となり極小値になる。
【００６２】
自己相関データＨ(a) について、上記（Ａ）の処理は、〔（Ｈ(k-1) ＞Ｈ(k) ）and （Ｈ(k) ＜Ｈ(k+1) ）〕の条件を満たすk を＋側と−側とで求める。
【００６３】
上記（Ｂ）の処理は、上記（Ａ）の条件を満たすＨ(k) が、（Ｈ(k) ＜ＳＬ）の条件を満たす否かで判定する。ＳＬは判定レベルであり、例えば、Ｈ(a) の最大値Ｈmax のＺ％（例えば、Ｚ＝５０：ＳＬ＝Ｈmax ×0.5 ）と決める。Ｈ(a) の最大値Ｈmax は、全てのＨ(a) 中の最大値であってもよいし、次のように選定してもよい。例えば、k=0 から＋側にk の値を変えながら上記（Ａ）の処理を行いつつ、＋側の最初の極小値までのＨ(a) の最大値を検索し、そのＨ(a) の最大値を、＋側の最初の極小値に対するレベル判定に用いる。すなわち、隣接する極小値の間のＨ(a) の最大値をその極小値のレベル判定に用いる。
【００６４】
なお、ＳＬの採り方により周期性度合い（周期性が強いか弱いか）を調べることもできる。すなわち、上記（Ｂ）の条件を満たすＳＬの値が小さければそれだけ周期性度合いが高い（周期性が強い）ことになる。従って、ＳＬの値を段階的に変化させて上記（Ｂ）の判定を行って、どの程度の周期性度合いがあるかを調べるようにしてもよい。
【００６５】
上記（Ｃ）の処理では、例えば、上記（Ａ）の条件を満たす＋側のk をkp、−側のk をkmとしたとき（ ABS｛kp-km ｝≦１）を満たすか否かで判定する。また、例えば、上記（Ａ）の条件を満たす各極小値に対して、隣接する各極小値間の幅の相互の差分の絶対値が各々１以下であるか否か、すなわち、 ABS｛D(d+1)-D(d) ｝≦１（d=0,1,2,…：図７では、d=0 ）によって判定することもできる。後者の判定によれば、例えば、極小値が＋側、−側にそれぞれ２個以上存在する場合にも適用できる。
【００６６】
Ｈ（ａ）に極小値が存在しても、ある程度大きかったり（レベルＳＬを越えていたり）、それら極小値が不規則に存在しているような場合は周期性が有るとは言い難いが、上記（Ｂ）によりレベル判定が行え、上記（Ｃ）により極小値の規則性が判別でき、周期性の有無を判定できる。
【００６７】
従って、上記（Ａ）、（Ｂ）、（Ｃ）の条件を全て満たす場合、中心画素(xc,yc) の周囲の範囲Ｗ内の画像に周期性がある画像パターンが存在することになる。例えば、図７に示すＨ(a) には周期性が有り、図８に示すようなＨ(a) には周期性が無いことになる。
【００６８】
また、ｘ方向の周期値Thは（(kp-km)/2)）または（D(d)）である。
【００６９】
上記ではｘ方向に沿った周期性の有無や周期性度合い、及び周期値（Th）について説明したが、ｙ方向に沿った周期性の有無や周期性度合い、及び周期値（Tv）も同様の処理により求めることができる。
【００７０】
図９に示すように、ｘ方向の周期値（Th）とｙ方向の周期値（Tv）が判れば、周期方向θは（arctan(Tv/Th) ）であり、処理前画像上の実際の周期値（周期方向に沿った周期値）T は（Th×sin(θ) ）（または、Tv×cos θ）により求めることができる。
【００７１】
自己相関データＳ(a,b) を用いた場合には、上記と同様の処理を２次元的に行うことで、周期性の有無や周期性度合い、処理前画像上の実際の周期方向及び周期値を得ることができるが、上述したようにｘ方向、ｙ方向それぞれに沿った自己相関データＨ(a) 、Ｖ(b) を用いても同様の結果を高速に得ることができる。なお、自己相関データＳ(a,b) を用いた場合、実際の画像パターンの周期を種々の方向から調べることになるが、このとき、周期値が最小となる方向がその画像パターンの周期方向となる。
【００７２】
上述したような一連の処理を、処理前画像内の全ての画素（または、一定間隔ごとの画素でもよい）を順次中心画素(xc,yc) として行うことで、処理前画像内において、周期性を有する画像パターンが存在する画像領域を全て抽出することができる。
【００７３】
なお、上記処理で随時説明した周期性度合いと周期方向と周期値とを周期性データとする。
【００７４】
〔ステップＳ２〕
処理前画像の各画素(x,y) のシフトデータは、図１０に示すように、ｘ方向のシフト量dx(x,y) と、ｙ方向のシフト量dy(x,y) とにより規定する。なお、図１０では格子状の交点部分が各画素位置であり、処理前画像の画素(xu,yu) に対するｘ方向のシフト量dx(xu,yu) と、ｙ方向のシフト量dy(xu,yu) とにより規定されるシフト方向とシフト量とを示している。このようなシフトデータの決定には以下のような方法を採用できる。
【００７５】
▲１▼  ランダムに決定する。
dx(x,y) ＝Ｋ×Ｒ（-1.0〜+1.0）
dy(x,y) ＝Ｋ×Ｒ（-1.0〜+1.0）
【００７６】
但し、
Ｋは、最大シフト量（通常は、０＜Ｋ≦１）
Ｒ（-1.0〜+1.0）は、-1.0〜+1.0の間の乱数を発生する関数
である。
【００７７】
なお、dx(x,y) を決定する際のＲ（-1.0〜+1.0）とdy(x,y) を決定する際のＲ（-1.0〜+1.0）とは別個であり、決定されたdx(x,y) の値とdy(x,y) の値とは必ずしも同じではない。
【００７８】
このようにdx(x,y) とdy(x,y) とをランダムに決定することにより、シフト方向とシフト量とをランダムに決定することができる。
【００７９】
▲２▼  周期関数を用いて決定する。
dx(x,y) ＝Ｋ×sin ｛２πＦ×ｙ＋２π×ＲＲ(x) ｝
dy(x,y) ＝Ｋ×sin ｛２πＦ×ｘ＋２π×ＲＲ(y) ｝
ＲＲ(x) ＝Ｒ(0.0〜+1.0)
ＲＲ(y) ＝Ｒ(0.0〜+1.0)
【００８０】
但し、
Ｋは、最大シフト量（通常は、０＜Ｋ≦１）であり、ここでは周期関数の振幅
Ｆは、周期関数の周波数（通常は、０＜Ｆ≦１）
Ｒ（0.0 〜+1.0）は、 0.0〜+1.0の間の乱数を発生する関数、
ＲＲ(x) はｘ座標における周期関数の初期値を規定するデータ
ＲＲ(y) はｙ座標における周期関数の初期値を規定するデータ
である。
【００８１】
dx(xu,y0〜y0+5) を図１１に、 dy(x0〜x0+5,yu)を図１２にそれぞれ示す。この周期関数は、決定しようとするシフト方向と直交する方向に周期性を有する関数であり、dx(x,y) の決定においてはｘ座標が同じdx(x,y) は全て同じ周期関数によって決定し、dy(x,y) の決定においてはｙ座標が同じdy(x,y) は全て同じ周期関数によって決定する。なお、図１１においてxuは処理対象領域内の任意のｘ座標、y0は処理対象領域のｙ方向（−）側の境界のｙ座標であり、また、図１２においてx0は処理対象領域のｘ方向（−）側の境界のｘ座標、yuは処理対象領域内の任意のｙ座標である。
【００８２】
なお、周期関数としてはsin 関数に限らずcos 関数など周期性を有するdx(x,y) 、dy(x,y) が決定できる関数を用いることができる。
【００８３】
▲３▼  固定する。
[dx(x,y),dy(x,y)] を常に、例えば、[+0.5,+0.5] や[+0.5,-0.5] 、[-0.5,+0.5] 、[-0.5,-0.5] などに固定する。この方法でシフトデータを決定したとき、後述するように、画像パターンが２画素周期の周期性を有するときに効果がある。
【００８４】
周期性データにより、上記のいずれの方法でシフトデータを決定するかを決めてもよい。例えば、画像パターンが２画素周期の周期性を有する（周期値が２の）ときには▲３▼の方法を選択することが考えられる。また、本発明者の実験により、画像パターンが所定の周期値の場合に▲２▼の方向でシフトデータを決定すると良好な結果が得られないことがあったので、例えば、周期値が２以外で、かつ、上記所定の周期値以外の場合は▲２▼の方法を選択し、上記所定の周期値の場合は▲１▼の方法を選択することなども考えられる。
【００８５】
また、上記ＫやＦは固定値として処理してもよいし、入力装置６からオペレーターにより設定されたデータを用いて処理してもよいし、さらに、周期性データに基づき決定してもよい。例えば、画像パターンの周期性度合いが高ければそれだけモアレの発生が起き易く、一方で、シフトデータのシフト量が大きければそれだけモアレの抑制効果が高いので、周期性度合いに応じてＫの値を決定することが好ましい。また、▲２▼の方法では周期関数の周期と、画像パターンの周期とが干渉するのを避けるようなＦを決定することが好ましい。
【００８６】
乱数を発生する関数Ｒ（乱数発生範囲）による乱数の発生頻度は乱数発生範囲内で均一にしてもよいし、例えば、0.0 付近の乱数を発生し易くしたり、+1.0付近の乱数を発生し易くしたりするなど、乱数の発生頻度を偏重させるようにしてもよい。この乱数の発生頻度の設定は、入力装置６からオペレーターにより設定可能に構成してもよい。
【００８７】
また、例えば、画像パターンの周期方向がｘ方向と一致していれば、dy(x,y) =0として、dx(x,y) だけでシフトデータを決定したり、画像パターンの周期方向がｙ方向と一致していれば、dx(x,y) =0として、dy(x,y) だけでシフトデータを決定したりして、図３のステップＳ３で画像パターンの周期方向だけに注目画素の位置がシフトされるようにシフトデータのシフト方向を決定してもよい。
【００８８】
〔ステップＳ３〕
シフト後の位置に応じた注目画素(xu,ｙu)の新たな階調値Ｑ(xu,yu) は、シフト後の位置の近傍画素の階調値を補間して求める。この補間法は、一般的なバイリニア法などを採用することができる。具体的な計算方法を図１３に示す。
【００８９】
なお、図１３では、 0.0＜dx(xu,yu) ＜+1.0で 0.0＜dy(xu,yu) ＜+1.0の場合を示しているが、dx(xu,yu) 、dy(xu,yu) がその他の値であれば以下のようにＱ(xu,yu) を求める。
【００９０】
0.0＜dx(xu,yu) ＜+1.0で-1.0＜dy(xu,yu) ＜0.0 の場合は、
Ｐ(xu,yu),Ｐ(xu+1,yu),Ｐ(xu,yu-1),Ｐ(xu+1,yu-1) を、
-1.0＜dx(xu,yu) ＜0.0 で 0.0＜dy(xu,yu) ＜+1.0の場合は、
Ｐ(xu,yu),Ｐ(xu-1,yu),Ｐ(xu,yu+1),Ｐ(xu-1,yu+1) を、
-1.0＜dx(xu,yu) ＜0.0 で-1.0＜dy(xu,yu) ＜0.0 の場合は、
Ｐ(xu,yu),Ｐ(xu-1,yu),Ｐ(xu,yu-1),Ｐ(xu-1,yu-1) を、
それぞれ用いて図１３と同様の方法でＱ(xu,yu) を求める。
【００９１】
また、 0.0＜dx(xu,yu) ＜+1.0でdy(xu,yu)=0.0 の場合は、図１４に示すようにＱ(xu,yu) を求め、-1.0＜dx(xu,yu) ＜0.0 でdy(xu,yu)=0.0 の場合は、Ｐ(xu,yu),Ｐ(xu-1,yu) を用いて図１４と同様の方法でＱ(xu,yu) を求める。
【００９２】
さらに、dx(xu,yu)=0.0 で 0.0＜dy(xu,yu) ＜+1.0の場合は、図１５に示すようにＱ(xu,yu) を求め、dx(xu,yu)=0.0 で-1.0＜dy(xu,yu) ＜0.0 の場合は、Ｐ(xu,yu),Ｐ(xu,yu-1) を用いて図１５と同様の方法でＱ(xu,yu) を求める。
【００９３】
また、dx(x,y) ＝-1.0または0.0 または+1.0で、dy(x,y) ＝-1.0または0.0 または+1.0の場合は、シフト後の位置は処理前画像の画素位置と一致するので、この場合はシフト後の位置の画素の階調値をＱ(xu,yu) とする（図１６参照）。
【００９４】
なお、図３のステップＳ３〜ステップＳ５の処理の状態を図１７に模式的に示す。図１７中の符号ＰＡは処理対象領域を示し、ＰＧは処理前画像を、ＡＧは処理後画像をそれぞれ示す。
【００９５】
上記画像処理を施すことにより以下のような作用効果が得られる。
例えば、処理前画像上で、画像パターンが、「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とで読み込まれる状態が周期的に繰り返されている場合、上記モアレ抑制処理を施した結果、「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」との周期性が崩れ、「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とがランダムに分散される。従って、シャープネス処理など、従来、モアレが発生していた画像処理を、上記モアレ抑制処理を施した後の処理後画像に対して施しても、平均階調値が周期的に変動する状態が生じず、その結果、モアレの発生を抑制することができる。
【００９６】
ここで、処理前画像の画像パターンが２画素周期である場合、図１８に示すように、「ＩＮフェイズ状態」では白黒が明確に分かれ、「ＯＵＴフェイズ状態」では全てグレーになる。この場合、「ＩＮフェイズ状態」で読み込まれた画像領域だけが処理対象領域として抽出されるが、この「ＩＮフェイズ状態」で読み込まれた画像領域だけに上記▲１▼や▲２▼の方法でシフトデータを決定してＱ(xu,yu) を求めてもモアレの発生を抑制する効果はあるが、それよりも、「ＩＮフェイズ状態」で読み込まれた画像領域を、「ＯＵＴフェイズ状態」で読み込まれた画像領域と同等のグレーに変換した方がモアレの発生をより確実に抑制することができる。ここで、処理前画像の画像パターンが２画素周期である場合、白黒の画素を均等に補間したＱ(xu,yu) を得ることができるシフトデータ（例えば、[dx(x,y),dy(x,y)] ＝[+0.5,+0.5] や[+0.5,-0.5] 、[-0.5,+0.5] 、[-0.5,-0.5] など）を特定することができる。従って、「ＩＮフェイズ状態」で読み込まれた画像領域に対して常にそのようなシフトデータに固定してＱ(xu,yu) を求めれば、「ＩＮフェイズ状態」で読み込まれた画像領域を、「ＯＵＴフェイズ状態」で読み込まれた画像領域と同等のグレーに一様に変換することができ、この画像パターン部分を全て略均一な平均階調値にすることができる。その結果、シャープネス処理などの画像処理を施しても、モアレの発生をより確実に抑制することができる。
【００９７】
また、処理後画像では、画像パターンの周期性が崩れた状態となっているので、網点化処理を行っても、網点画像上で再現される画像パターンの網点濃度が周期的に変動することを抑制でき、モアレの発生を抑制することができる。なお、処理前画像の画像パターンが２画素周期である場合、▲３▼の方法でシフトデータを決定し、この画像パターン部分を全て略均一な平均階調値にすれば、網点化処理を行っても、網点画像上で再現される画像パターンの網点濃度が周期的に変動することが無くなり、モアレの発生をより確実に抑制することができる。
【００９８】
本発明者による実験の結果、従来、シャープネス処理や網点化処理などの処理を施したことによりモアレが発生していた処理前画像に対して本発明に係る画像処理（上記モアレ抑制処理）を施した後、シャープネス処理や網点化処理などの処理を施したところ、モアレの発生が抑制されたことを多種多数のデジタル画像について確認することができた。
【００９９】
なお、上記説明では、処理対象領域内の各画素のＱ(xu,yu) を求める前に、処理対象領域内の各画素のシフトデータをまとめて決定するようにしたが、処理対象領域内の各画素のＱ(xu,yu) を求めるごとに、現在の注目画素に対するシフトデータを随時決定するようにしてもよい。
【０１００】
また、上記説明では、処理前画像内で周期性を有する画像パターンが存在する画像領域を抽出して処理対象領域を決めたが、その画像領域（処理対象領域）の抽出を省略し、処理前画像の全領域を処理対象領域として図３のステップＳ２〜Ｓ４のモアレ抑制処理で処理前画像の全画素の新たな階調値を求めて処理後画像を得るようにしてもよい。
【０１０１】
なお、上述したモアレ抑制処理を施すと、処理前画像の各画素の階調値を変更することになるので、若干画質が劣化することもある。従って、上記図３に示す手順のようにモアレが発生する可能性がある画像領域だけに対してモアレ抑制処理を施せば、それ以外の画像領域の画質の劣化は全く起きず、画質が劣化する領域を最小限にすることができる。
【０１０２】
また、シフトデータのシフト量が小さければそれだけ、新たな階調値Ｑ(xu,yu) は、元の注目画素(xu,yu) の階調値Ｐ(xu,yu) が大きく反映されるので、画質の劣化を小さくすることができる。従って、画像パターンの周期性度合いが低くモアレが発生し難い部分には、最大シフト量Ｋの値を小さくして必要以上の画質の劣化を抑制しつつモアレの発生を抑制するように処理することが好ましい。
【０１０３】
なお、上記▲１▼の方法で説明したようにシフトデータのシフト方向とシフト量とをランダムに決定すれば、簡単な演算でシフトデータが得られ、処理量を軽減することができる。
【０１０４】
一方で、シフトデータのシフト方向とシフト量とをランダムに決定したとき、処理後画像の階調値分布に偏りが起こることがあり、この階調値分布の偏りが部分的な画質の劣化として目立つことも考えられる。これに対して、上記▲２▼の方法で説明したようにシフトデータのシフト方向とシフト量とを周期関数を用いて決定すれば、処理後画像の階調値分布は周期的に分散され、階調値分布の偏りを抑制できるので、階調値分布の偏りによる部分的な画質の劣化を防止することが期待できる。
【０１０５】
また、処理対象領域内の画像パターンの周期性（周期性データ）に応じて、シフトデータを決定すれば、画像パターンに応じた最適なシフトデータを決定することができる。
【０１０６】
さらに、処理対象領域内の画像パターンの周期方向だけに注目画素の位置がシフトされるようにシフトデータのシフト方向を決定することにより、特に、次のような場合に効果が得られる。すなわち、画像パターンの周期方向がｘ方向と一致する場合またはｙ方向と一致する場合、処理前画像内で直交する他方の画素列方向（ｙ方向またはｘ方向）に対するシフトを行わないので、モアレ抑制処理を、画像パターンの周期方向（ｘ方向またはｙ方向）だけに対して施すことができ、シフトしない方向への画質の劣化を抑制することができ、不必要な画質の劣化を抑制することができる。
【０１０７】
【発明の効果】
以上の説明から明らかなように、請求項１に記載の発明に係る画像処理をデジタル画像に施せば、各画素に対するシフトデータのシフト方向とシフト量とをランダムに決定するので、各画素に対するシフトデータのシフト方向とシフト量とを簡単な演算により決定することができ、その処理後のデジタル画像に対して、従来、モアレが発生していたシャープネス処理や網点化処理などの処理を施してもモアレの発生を抑制することができ
【０１０９】
請求項２に記載の発明によれば、各画素に対するシフトデータのシフト方向とシフト量とをランダムに決定するに際して、初期値の規定をランダムに行った周期関数を用いて決定するので、階調値分布の偏りによる部分的な画質の劣化を防止しつつモアレの発生を抑制することが可能となる。
【０１１１】
請求項３に記載の発明によれば、デジタル画像内で周期性を有する画像パターンが存在する画像領域を抽出し、抽出した画像領域を処理対象領域として上記請求項１または２のいずれかに記載の発明に係る画像処理を施すので、デジタル画像内でモアレが発生する可能性がある画像領域だけに対してモアレの発生を抑制する画像処理を施すことができる。従って、モアレが発生する可能性がない画像領域の画質の劣化を起こすことがなく、また、不要な処理が省けて処理量を軽減することもできる。
【０１１２】
請求項４に記載の発明によれば、２次元のデジタル画像内で互いに直交する２つの画素列方向それぞれに沿った周期性を有する画像パターンの存在を調べて処理対象領域を抽出するので、デジタル画像内でモアレが発生する可能性がある画像領域の抽出処理を高速に行うことができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理方法を実現するための一実施例に係る画像処理装置のハードウエア構成を示すブロック図である。
【図２】本発明に係る画像処理方法を実現するための画像処理装置の機能ブロック図である。
【図３】本発明に係る画像処理方法の一手順を示すフローチャートである。
【図４】自己相関データの算出時の一例の形態を示す図である。
【図５】ｘ方向に沿った自己相関データの算出時の一例の形態を示す図である。
【図６】ｙ方向に沿った自己相関データの算出時の一例の形態を示す図である。
【図７】処理前画像の各画素の階調値の一例及びそれから得られたｘ方向に沿った自己相関データを示すデータとその自己相関データをグラフ化した図である。
【図８】周期性が無いｘ方向に沿った自己相関データの一例を示す図である。
【図９】ｘ方向に沿った周期値及びｙ方向に沿った周期値と実際の周期方向及び周期値との関係を示す図である。
【図１０】シフトデータのシフト方向とシフト量とを示す図である。
【図１１】周期関数を用いてｘ方向のシフト量を決定する状態を模式的に示す図である。
【図１２】周期関数を用いてｙ方向のシフト量を決定する状態を模式的に示す図である。
【図１３】シフト後の位置に応じた注目画素の新たな階調値の算出方式を示す図である。
【図１４】ｙ方向のシフト量が 0.0である場合の新たな階調値の算出方式を示す図である。
【図１５】ｘ方向のシフト量が 0.0である場合の新たな階調値の算出方式を示す図である。
【図１６】シフト後の位置が処理前画像の画素位置と一致する場合の新たな階調値を示す図である。
【図１７】図３のステップＳ３〜ステップＳ５の処理の状態を模式的に示した図である。
【図１８】処理前画像の画像パターンが２画素周期である場合の「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とを示す図である。
【図１９】従来の問題点を説明するための図であって、画像パターンと光電素子との位置関係を示す図である。
【図２０】デジタル画像の画像パターンが４画素周期である場合の「ＩＮフェイズ状態」と「ＯＵＴフェイズ状態」とを示す図である。
【図２１】図２０のデジタル画像にシャープネス処理を施した場合の計算上の各画素の階調値を示す図である。
【図２２】図２０のデジタル画像にシャープネス処理を施した場合の各画素の最終的な階調値を示す図である。
【図２３】モアレが発生し得る階調変換処理を実施するルックアップテーブルの一例を示す図である。
【図２４】モアレが発生し得る階調変換処理を実施するルックアップテーブルの他の例を示す図である。
【符号の説明】
２ｂ：処理前画像記憶部
２ｃ：処理後画像記憶部
１０：処理対象領域抽出部
２０：モアレ抑制処理部
ＰＧ：モアレ抑制処理前の画像
ＡＧ：モアレ抑制処理後の画像
ＰＡ：処理対象領域
(xu,yu) ：注目画素
dx(xu,yu) ：注目画素に対して決定したｘ方向のシフト量
dy(xu,yu) ：注目画素に対して決定したｙ方向のシフト量
Ｑ(xu,yu) ：シフト後の位置に応じた注目画素の新たな階調値
【図１】
0003714820.tif 000004
【図２】
0003714820.tif 000005
【図３】
0003714820.tif 000006
【図４】
0003714820.tif 000007
【図５】
0003714820.tif 000008
【図６】
0003714820.tif 000009
【図７】
0003714820.tif 000010
【図８】
0003714820.tif 000011
【図９】
0003714820.tif 000012
【図１０】
0003714820.tif 000013
【図１１】
0003714820.tif 000014
【図１２】
0003714820.tif 000015
【図１３】
0003714820.tif 000016
【図１４】
0003714820.tif 000017
【図１５】
0003714820.tif 000018
【図１６】
0003714820.tif 000019
【図１７】
0003714820.tif 000020
【図１８】
0003714820.tif 000021
【図１９】
0003714820.tif 000022
【図２０】
0003714820.tif 000023
【図２１】
0003714820.tif 000024
【図２２】
0003714820.tif 000025
【図２３】
0003714820.tif 000026
【図２４】
0003714820.tif 000027