(57)【要約】【課題】ドット安定性の高いドット配置を確保した上で、モアレが視認されない好適なハーフトーン画像を取得する。【解決手段】画像データに対して、所定の処理領域毎にディザ処理を行う画像処理装置であって、処理領域の平坦レベルを検出する平坦レベル検出手段と、処理領域の各画素値から平坦レベルを差し引いて、差分レベルを検出する差分レベル検出手段と、平坦レベルと第１の閾値マトリクスから、ＡＭ配置情報を生成するＡＭ配置情報生成手段と、差分レベルと第２の閾値マトリクスから、ＦＭ配置情報を生成するＦＭ配置情報生成手段と、ＡＭ配置情報とＦＭ配置情報に基づいて、処理領域の各画素の出力階調値を決定する階調値決定手段とを備える。【選択図】図２
2020014127.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して、所定の処理領域毎にディザ処理を行う画像処理装置であって、
前記処理領域の平坦レベルを検出する平坦レベル検出手段と、
前記処理領域の各画素値から前記平坦レベルを差し引いて、差分レベルを検出する差分レベル検出手段と、
前記平坦レベルと第１の閾値マトリクスから、ＡＭ配置情報を生成するＡＭ配置情報生成手段と、
前記差分レベルと第２の閾値マトリクスから、ＦＭ配置情報を生成するＦＭ配置情報生成手段と、
前記ＡＭ配置情報と前記ＦＭ配置情報に基づいて、前記処理領域の各画素の出力階調値を決定する階調値決定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の閾値マトリクスは前記第２の閾値マトリクスよりも低周波成分の割合が高く、前記第２の閾値マトリクスは前記第１の閾値マトリクスよりも高周波成分の割合が高いことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の閾値マトリクスはドット集中型の閾値マトリクスであり、前記第２の閾値マトリクスはドット分散型の閾値マトリクスであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記処理領域における目標階調値を導出する階調値導出手段をさらに備え、
前記階調値決定手段は、前記処理領域の各画素の出力階調値の総和が前記目標階調値と一致するように、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記階調値導出手段は、前記処理領域の各画素値の平均値と前記第１の閾値マトリクスから、前記目標階調値を導出することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記ＦＭ配置情報生成手段は、前記ＦＭ配置情報として、前記差分レベルと前記第２の閾値マトリクスから作成した評価値に基づいて、ドットを配置する優先度を生成することを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記階調値決定手段は、前記ＡＭ配置情報によるドット配置を前記ＦＭ配置情報によるドット配置よりも優先して、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記階調値決定手段は、前記ＡＭ配置情報を前記処理領域の各画素の出力階調値として仮設定し、さらに、前記目標階調値と当該仮設定された出力階調値との差分と一致するように、前記ＦＭ配置情報の優先度に基づいて、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記ＡＭ配置情報生成手段は、前記ＡＭ配置情報として、前記第１の閾値マトリクスから、ドットを配置する優先度を生成することを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記階調値決定手段は、前記目標階調値と前記処理領域の各画素の出力階調値とが一致するように、前記ＡＭ配置情報の優先度と前記ＦＭ配置情報の優先度に基づいて、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記階調値決定手段は、前記ＡＭ配置情報の優先度と前記ＦＭ配置情報の優先度が同じである場合に、前記ＡＭ配置情報におけるドット配置を前記ＦＭ配置情報におけるドット配置よりも優先して、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記階調値決定手段は、前記ＡＭ配置情報によるドット配置と前記ＦＭ配置情報によるドット配置が互いに重複しないように、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項６から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記階調値決定手段は、前記優先度に従ってドット配置を予定する画素に既にドットが配置されている場合に、当該優先度の次に優先度の高い画素に繰り上げてドットを配置するように、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記平坦レベル検出手段は、前記処理領域の画素値のうち、最小値を前記平坦レベルとして検出することを特徴とする請求項４から１３のいずれか１項に記載の画像処理装置。
【請求項１５】
前記ＦＭ配置情報生成手段は、前記ＦＭ配置情報として、前記差分レベルと前記第２の閾値マトリクスから第１のＦＭ配置情報と、オフセット調整した前記差分レベルと前記第２の閾値マトリクスから第２のＦＭ配置情報とを各々、生成し、
前記階調値決定手段は、前記ＡＭ配置情報と前記第１のＦＭ配置情報との論理和と、前記第２のＦＭ配置情報との論理積から、前記処理領域の各画素の出力階調値を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項１６】
コンピュータを、請求項１から１５のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１７】
画像データに対して、所定の処理領域毎にディザ処理を行う画像処理装置における画像処理方法であって、
前記処理領域の平坦レベルを検出する平坦レベル検出ステップと、
前記処理領域の各画素値から前記平坦レベルを差し引いて、差分レベルを検出する差分レベル検出ステップと、
前記平坦レベルと第１の閾値マトリクスから、ＡＭ配置情報を生成するＡＭ配置情報生成ステップと、
前記差分レベルと第２の閾値マトリクスから、ＦＭ配置情報を生成するＦＭ配置情報生成ステップと、
前記ＡＭ配置情報と前記ＦＭ配置情報に基づいて、前記処理領域の各画素の出力階調値を決定する階調値決定ステップと
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像データをハーフトーン画像データに変換する技術に関する。
【背景技術】
【０００２】
デジタル画像データを構成する各々の画素は、一般に、１色当り８ビットや１６ビットの多階調で表現される。そこで、近年では、このようなデジタル画像データをプリンタで印刷する場合、プリンタで印刷可能な階調数に削減しつつ、元の階調を疑似的に表現するハーフトーン処理を施すことが知られている。
【０００３】
ハーフトーン処理の１つとして、閾値マトリクスを用いるディザ処理と呼ばれるものがある。このディザ処理は、複数の閾値が等確率で配置された閾値マトリクスを周期的に並べて、画素データとその画素データに対応する閾値を比較し、その比較結果に応じて画像データを中間調画像に変換することで、階調数を低減する処理である。
【０００４】
ディザ処理に用いられる閾値マトリクスには、比較結果が均等に分散して出現するような高周波成分を多く有するドット分散型閾値マトリクスと比較結果がある点に集中して出現するような低周波成分を多く有するドット集中型閾値マトリクスがある。また、ドット分散型閾値マトリクスを用いたハーフトーン処理をＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）スクリーン、ドット集中型閾値マトリクスを用いたハーフトーン処理をＡＭ（Ａｍｐｌｉｔｕｄｅ  Ｍｏｄｕｌａｔｉｏｎ）スクリーンと呼ぶ。
【０００５】
なお、いずれの閾値マトリクスにおいても、階調が一様な平坦画像が入力されたときに、印刷を実行するプリンタがその階調を表現できる理想的な処理結果となるように、閾値の配置が予め決められている。但し、ドット集中型閾値マトリクスを用いたハーフトーン処理（即ち、ＡＭスクリーン）では、ドット安定性が高いものの、画素データと各閾値を比較したときに、比較結果が所望の出現頻度とならず、偏ってしまうことがある。これにより、入力画像の画素データの分布パターンとドット集中型閾値マトリクスの有する空間周波数が干渉して折り返し成分を生じさせることで、モアレ（干渉縞）、ざらつき感、細線の途切れ等の画質弊害が現れる問題がある。
【０００６】
これに対し、特許文献１には、高周波数ハーフトーンスクリーンを適用したハーフトーン画像と低周波数ハーフトーンスクリーンを適用したハーフトーン画像を、画像の特徴量に応じた重みによって併合する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−３３１５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の技術では、モアレが観測されにくい高周波数ハーフトーン画像の比重を上げることと、ドット安定性の高い低周波数ハーフトーン画像の比重を上げることはトレードオフの関係にあり、最適な比重を算出することは困難となる。そのため、ドット安定性の高いドット配置と、モアレの視認性（モアレが視認されないこと）を同時に満たすハーフトーン画像を得ることができなかった。
【０００９】
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、ドット安定性の高いドット配置を確保した上で、モアレが視認されない好適なハーフトーン画像を取得することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の画像処理装置は、画像データに対して、所定の処理領域毎にディザ処理を行う画像処理装置であって、前記処理領域の平坦レベルを検出する平坦レベル検出手段と、前記処理領域の各画素値から前記平坦レベルを差し引いて、差分レベルを検出する差分レベル検出手段と、前記平坦レベルと第１の閾値マトリクスから、ＡＭ配置情報を生成するＡＭ配置情報生成手段と、前記差分レベルと第２の閾値マトリクスから、ＦＭ配置情報を生成するＦＭ配置情報生成手段と、前記ＡＭ配置情報と前記ＦＭ配置情報に基づいて、前記処理領域の各画素の出力階調値を決定する階調値決定手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ドット安定性の高いドット配置を確保した上で、モアレが視認されない好適なハーフトーン画像を取得することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理装置のハードウェア構成を示すブロック図である。
【図２】画像処理装置の画像処理部の機能構成を示すブロック図である。
【図３】画像処理部における処理の手順を示すフローチャートである。
【図４】入力画像と処理単位とする領域を説明するための図である。
【図５】ドット集中型の閾値マトリクスを示す図である。
【図６】ドット分散型の閾値マトリクスを示す図である。
【図７】平坦レベルの検出処理を説明するための図である。
【図８】ＡＭ配置情報の生成方法を説明するための図である。
【図９】差分レベルの検出処理を説明するための図である。
【図１０】ＦＭ配置情報の生成方法を説明するための図である。
【図１１】出力階調値の決定方法を説明するための図である。
【図１２】画像処理装置の画像処理部の機能構成を示すブロック図である。
【図１３】平坦レベルの検出処理を説明するための図である。
【図１４】ＡＭ配置情報を示す図である。
【図１５】ＦＭ配置情報の生成方法を説明するための図である。
【図１６】出力階調値の決定方法を説明するための図である。
【図１７】ＡＭ配置情報を示す図である。
【図１８】出力階調値の決定方法を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明を好適な実施形態に基づいて説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に必ずしも限定されるものではない。
【実施形態１】
【００１４】
本実施形態では、２５６値（即ち、８ビット）の入力画像を２値（即ち、１ビット）の出力画像に変換するハーフトーン処理において、４画素×４画素の領域毎に処理を行う場合について説明する。
【００１５】
（画像処理装置のハードウェア構成）
図１は、本実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。画像処理装置は、図１に示されるように、ＣＰＵ１００、ＲＡＭ１０１、ＲＯＭ１０２、操作部１０３、表示部１０４、画像処理部１０５、Ｉ／Ｆ（インターフェース）部１０６、及びバス１０７を備える。
【００１６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００は、ＲＡＭ１０１、ＲＯＭ１０２に格納されているコンピュータプログラムやデータを用いて、画像処理装置全体の動作を制御する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０１は、Ｉ／Ｆ部１０６を介して外部の記憶装置からロードされたコンピュータプログラムやデータを一時的に記憶する。また、ＲＡＭ１０１は、ＣＰＵ１００が各種の処理を実行する際に用いる記憶領域や画像処理部１０５が画像処理を実行する際に用いる記憶領域としても機能する。このように、ＲＡＭ１０１は、各種の記憶領域を適宜提供することができる。
【００１７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、画像処理装置の設定データやブートプログラム等を格納する。操作部１０３はキーボードやマウス等の入力装置により構成されており、画像処理装置の操作者は、操作部１０３を用いて、各種の指示をＣＰＵ１００に対して入力することができる。
【００１８】
表示部１０４は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶画面等により構成されており、ＣＰＵ１００による処理結果を画像や文字等で表示することができる。画像処理部１０５は、コンピュータプログラムを実行可能なプロセッサや専用の画像処理回路により構成される。画像処理部１０５は、例えば、ＣＰＵ１００から画像処理を実行する命令を受け付けると、ＲＡＭ１０１に格納された入力画像に対してハーフトーン処理を実行し、その実行結果（画像処理結果）を出力する。なお、画像処理部１０５は、上述のように、画像処理の過程で、ＲＡＭ１０１の記憶領域を用いる。
【００１９】
Ｉ／Ｆ部１０６は、外部記憶装置やインターネットに画像処理装置を接続するためのインターフェースとして機能する。画像処理装置は、Ｉ／Ｆ部１０６を介して、外部記憶装置に格納される、ＣＰＵ１００に処理させるプログラム、画像データ、画像処理パラメータ等を適宜ＲＡＭ１０１にロードする。バス１０７は、上述の各部を接続し、各種データ等の転送を行う。
【００２０】
なお、画像処理装置のハードウェア構成は、図１に示した構成に必ずしも限定されない。以下、画像処理装置の画像処理部１０５の機能構成に関して、図２に示すブロック図を用いて説明する。また、画像処理装置の画像処理部１０５における処理の手順に関して、図３に示すフローチャートを用いて説明する。補足として、画像処理部１０５を専用の画像処理回路として実現する場合には、その画像処理回路に図２に示した各構成要素を実装すればよい。また、画像処理部１０５の機能をプロセッサのプログラム動作によって実現する場合には、図３に示したフローチャートに従って、処理を実行すればよい。
【００２１】
（画像処理部の機能構成）
図２は、本実施形態に係る画像処理装置の画像処理部１０５の機能構成を示すブロック図である。画像処理部１０５は、図２に示されるように、画素値取得部２００、ＡＭ閾値取得部２０１、平坦レベル検出部２０２、ＡＭ配置情報生成部２０３、ＦＭ閾値取得部２０４、差分レベル検出部２０５、ＦＭ配置情報生成部２０６、出力階調値決定部２０７を備える。
【００２２】
画素値取得部２００は、ＲＡＭ１０１に格納された入力画像から、ハーフトーン処理を実行する領域を構成する画素群を取得する。本実施形態においては、図４に示すような８ビットの入力画像４００から、縦４画素、横４画素の画素群４０１を処理単位（ブロック）として取得する。
【００２３】
ＡＭ閾値取得部２０１は、ＲＡＭ１０１に格納された閾値群からハーフトーン処理を実行する領域に合わせたサイズのＡＭスクリーンの閾値群を取得する。ここで、本実施形態では、図５に示すような閾値群（周期的な閾値パターン）を用いることを想定する。図５に示される閾値群は、破線で囲まれた１３個の閾値を１組とするドット集中型の閾値マトリクス（第１の閾値マトリクス）である。この第１の閾値マトリクスが、画像全体に繰り返しタイル状に対応づけられる。そして、このような閾値群に基づいて、画素値取得部２００で取得した画素群に対応するブロック単位のＡＭスクリーンの閾値群（実線で囲まれた１６個の閾値）を取得する。
【００２４】
なお、図５に示す閾値群において、ＡＭスクリーンの閾値の値がより小さい場合に、ドットが配置される確率が高くなる。また、処理単位とする領域（以下、処理領域と称する）及び閾値マトリクスの形状については、必ずしもこれに限定されない。さらに、閾値群は、必ずしもＲＡＭ１０１から取得される必要はなく、Ｈｏｌｌａｄａｙのハーフトーン方法によって生成することも、また、処理領域と閾値マトリクスの相対位置分を予め用意することもできる。
【００２５】
平坦レベル検出部２０２は、処理領域から平坦レベルを検出する。本実施形態においては、４画素×４画素の画素群における画素の画素値の平均値を平坦レベルとして検出する。ＡＭ配置情報生成部２０３は、平坦レベル検出部２０２で検出した平坦レベルとＡＭ閾値取得部２０１で取得したＡＭスクリーンの閾値群を用いて、ＡＭ配置情報を生成する。ＡＭ配置情報は、集中型のドット配置を示すものである。
【００２６】
ＦＭ閾値取得部２０４は、ＲＡＭ１０１に格納された閾値群からハーフトーン処理を実行する領域に合せたサイズのＦＭスクリーンの閾値群を取得する。ここで、本実施形態では、図６に示すような閾値群を用いることを想定する。図６に示される閾値群は、縦横６４画素を１組とするドット分散型の閾値マトリクス（第２の閾値マトリクス）である。そして、このような画像群から、画素値取得部２００で取得した画素群に対応するブロック状のＦＭスクリーンの閾値群６００（実線で囲まれた１６個の閾値）を取得する。なお、図６に示す閾値群において、ＦＭスクリーンの閾値の値がより小さい場合に、ドットが配置される確率が高くなる。
【００２７】
差分レベル検出部２０５は、処理領域における各画素の差分レベルを検出する。差分レベル検出部２０５は、処理領域における各画素の画素値から、平坦レベル検出部２０２より取得される平坦レベルを差し引くことで各画素の差分値を算出する。ここでは処理領域における全画素の差分値をまとめて、差分レベルと呼ぶ。
【００２８】
ＦＭ配置情報生成部２０６は、差分レベル検出部２０５で検出した差分レベルとＦＭ閾値取得部２０４で取得したＦＭスクリーンの閾値群６００を用いて、ＦＭ配置情報を生成する。ＦＭ配置情報は、差分レベルを分散型のドット配置に変換した情報であり、ＡＭ配置情報を補正するために用いられる。出力階調値決定部２０７は、ＡＭ配置情報生成部２０３より取得されたＡＭ配置情報及びＦＭ配置情報生成部２０６より取得されたＦＭ配置情報から処理領域の各画素の出力階調値を決定する。
【００２９】
（画像処理部における処理の手順）
次に、画像処理部１０５における動作（処理）を、図３に示すフローチャートを用いて具体的に説明する。なお、以下において、フローチャートの説明における記号「Ｓ」は、ステップを表すものとする。
【００３０】
先ず、Ｓ３００において、画素値取得部２００は、ＲＡＭ１０１から画素データを取得する。画素値取得部２００は、画素データを取得する。Ｓ３０１において画素値取得部２００は、処理領域とする画像群の画素データの全てが揃ったか否かを判定する。
【００３１】
なお、本実施形態では、上述のように、図４に示すような８ビットの入力画像４００に対して、４画素×４画素の画素群４０１で示すブロック単位にハーフトーン処理を実行する。そのため、Ｓ３０１においては、４画素×４画素の矩形領域の画素群が揃ったか否かを判定する。
【００３２】
判定の結果、画素群の画像データの全てが揃わない場合に（Ｓ３０１  Ｎｏ）、画素値取得部２００は、処理をＳ３００に返し、画素データの取得処理を繰り返し実行する。他方、画素群の画像データの全てが揃うと（Ｓ３０１  Ｙｅｓ）、画素値取得部２００は、処理をＳ３０２に移行させる。
【００３３】
Ｓ３０２において、平坦レベル検出部２０２は、処理領域内の平坦レベルを検出する。本実施形態では、平坦レベル検出部２０２により処理領域内の画素群の画素値の平均値を算出し、その算出した値を平坦レベルとする。
【００３４】
ここで、図７を用いて、平坦レベルの検出処理について説明する。図７（ａ）は画素群の画素位置をアルファベット（ａ−ｐ）で示しており、図７（ｂ）はこの画素群の画素値を示している。また、図７（ｃ）は、この画素群の画素位置を横軸、画素値を縦軸に示したグラフである。平坦レベル検出部２０２は、図７（ｂ）の画素値の平均値を算出し、この画素群の平均値である「１１０」を平坦レベルとする。画素群の平均値は、処理領域内で変動しない値であるため、図７（ｃ）において凹凸のない平坦な値として示される。
【００３５】
Ｓ３０３において、ＡＭ閾値取得部２０１は、ＡＭスクリーンの閾値データを取得する。ＡＭ閾値取得部２０１は閾値データを取得すると、Ｓ３０４において処理単位とする閾値群の閾値データの全てが揃ったか否かを判定する。なお、本実施形態では、上述のように、図５に示すドット集中型閾値マトリクスから、処理単位である４画素×４画素の矩形領域の画素群に対応するブロック単位のＡＭスクリーンの閾値群５００を取得する。
【００３６】
判定の結果、閾値群の閾値データの全てが揃わない場合に（Ｓ３０４  Ｎｏ）、ＡＭ閾値取得部２０１は、処理をＳ３０３に返し、閾値データの取得処理を繰り返し実行する。他方、閾値群の閾値データの全てが揃うと（Ｓ３０４  Ｙｅｓ）、ＡＭ閾値取得部２０１は、処理をＳ３０５に移行させる。
【００３７】
Ｓ３０５において、ＡＭ配置情報生成部２０３は、処理領域内のＡＭ配置情報を生成する。本実施形態において、ＡＭ配置情報生成部２０３は、平坦レベル検出部２０２で検出した平坦レベルに対して、処理領域の画素群に対応するブロック単位のＡＭスクリーンの閾値群５００を用いてディザ処理を施すことで、ＡＭ配置情報を生成する。
【００３８】
ここで、図８を用いて、ＡＭ配置情報生成部２０３におけるＡＭ配置情報の生成方法について説明する。図８は、図７（ｂ）に示す画素群に対応する平坦レベル（即ち、「１１０」という値）に対して、ＡＭスクリーンの閾値群５００を用いてディザ処理を施し、ＡＭ配置情報８００を生成する処理（方法）を示している。ＡＭ配置情報生成部２０３は、ディザ処理として、平坦レベルと各々の閾値を比較する。つまり、１６画素からなる処理領域において、全画素の画素値が平坦レベルの値であるとみなして、ディザ処理をすることに相当する。平坦レベルが閾値以上であればドットを配置することを意味する「１」を、平坦レベルが閾値未満であればドットを配置しないことを意味する「０」を配置情報として出力する。例えば、処理領域における左上の画素については、平坦レベル１１０の方が、対応する閾値２９よりも大きいので、配置情報として「１」が決定される。
【００３９】
Ｓ３０６において、差分レベル検出部２０５は、処理領域内の画素群の画素値から平坦レベルを差し引くことで、処理領域に対応する差分レベルを検出する。ここで、図９を用いて、差分レベルについて説明する。図９（ａ）は、図７（ｂ）に示す処理領域内の画素群から平坦レベルである「１１０」を差し引くことで取得される差分レベルを示している。また、図９（ｂ）は、この画像群の画素位置を横軸、差分レベルを縦軸に示したグラフである。なお、図９（ｂ）において、差分値「０」の軸は、平坦レベルに一致している。
【００４０】
Ｓ３０７において、ＦＭ閾値取得部２０４は、ＦＭスクリーンの閾値データを取得する。ＦＭ閾値取得部２０４は、閾値データを取得すると、Ｓ３０８において処理単位とする閾値群の閾値データの全てが揃ったか否かを判定する。なお、本実施形態では、上述のように、図６に示すドット分散型閾値マトリクスから、処理単位である４画素×４画素の矩形領域の画素群に対応するブロック単位のＦＭスクリーンの閾値群６００を取得する。
【００４１】
判定の結果、閾値群の閾値データの全てが揃わない場合に（Ｓ３０８  Ｎｏ）、ＦＭ閾値取得部２０４は、処理をＳ３０７に返し、閾値データの取得処理を繰り返し実行する。他方、閾値群の閾値データの全てが揃うと（Ｓ３０８  Ｙｅｓ）、ＦＭ閾値取得部２０４は、処理をＳ３０９に移行させる。
【００４２】
Ｓ３０９において、ＦＭ配置情報生成部２０６は、処理領域に対応するＦＭ配置情報を生成する。ここで、図１０を用いて、ＦＭ配置情報生成部２０６におけるＦＭ配置情報の生成方法について説明する。ＦＭ配置情報生成部２０６は、先ず、差分レベル検出部２０５で検出した差分レベルに対して、ＦＭスクリーンの閾値群６００を用いてディザ処理を施すことで、ＦＭ配置情報１０００を生成する。ＦＭ配置情報生成部２０６は、ディザ処理として、差分レベルにおける各画素の差分値と各々の画素に対応する閾値を比較する。差分値が閾値以上であれば、相対的にドットを配置すべき画素を示す「１」を配置情報として出力する。また、差分値が閾値未満であれば、相対的にドットを配置すべき画素ではない画素を示す「０」を配置情報として出力する。なお、ドットを配置すべき画素は、周囲画素よりも画素値が相対的に大きい画素であり、処理領域内の画素値分布を特徴付ける画素である可能性が高い。また、ＦＭスクリーンの閾値群６００を用いることで、処理領域内において、ドットを配置すべき画素の位置は集中せず、均等に分散される。
【００４３】
また、ＦＭ配置情報生成部２０６は、差分レベル検出部２０５で検出した差分レベルに対して、ＦＭスクリーンの閾値群６００からオフセット値「２５５」を差し引いて調整した閾値群を用いてディザ処理を施すことで、ＦＭ配置情報１００１を生成する。なお、オフセット値である「２５５」は、入力画像における画素値レンジの最大値である。ＦＭ配置情報生成部２０６は、ディザ処理として、差分レベルにおける各画素の差分値と、各々の画素に対応するオフセット調整後の閾値とを比較する。差分値が調整後の閾値未満であれば、差分レベルから相対的にドットを配置すべきではない画素を示す「０」を配置情報として出力する。また、差分値が調整後の閾値以上であれば、相対的にドットを配置すべきではない画素ではない画素を示す「１」を配置情報として出力する。なお、ドット配置すべきでない画素は、周囲画素よりも画素値が相対的に小さい画素であり、処理領域内の画素値分布を特徴付ける画素である可能性が高い。また、ＦＭスクリーンの閾値群６００により、処理領域内において、ドットを配置すべきでない画素の位置は集中せず、均等に分散される。
【００４４】
Ｓ３１０において、出力階調値決定部２０７は、Ｓ３０５で生成されたＡＭ配置情報及びＳ３０９で生成されたＦＭ配置情報に基づいて、処理領域における各画素の出力階調値を決定する。ここで、図１１を用いて、出力階調値決定部２０７における出力階調値の決定方法について説明する。出力階調値決定部２０７は、先ず、ＡＭ配置情報８００とＦＭ配置情報１０００の論理和を計算することで、ドットの配置対象とする全ての候補１１００を決定する。つまり、ＡＭ配置情報に対して、さらにＦＭ配置情報１０００に基づいてドットを付加している。候補１１００において、画素値が「１」である画素はドットを配置する候補であり、画素値が「０」である画素はドットが配置しない画素の候補である。出力階調値決定部２０７は、次に、このドットの配置対象とする全ての候補１１００とＦＭ配置情報１００１の論理積を計算することで、候補１１００のうちドットを配置すべきでない画素分のドットを抜く。つまり、候補１１００からＦＭ配置情報１００１に基づいてドットを削減する。その結果、処理領域における処理結果１１０１として、各画素の出力階調値が得られる。処理結果１１０１においてドットが配置される画素の出力階調値は「１」、ドットが配置されない画素の出力階調値は「０」である。
【００４５】
Ｓ３１１において、画像処理部１０５は、入力画像４００の全ての画素について処理領域毎に処理が終了したか否かを判定し、終了していない場合には（Ｓ３１１  Ｎｏ）、処理をＳ３００に返し、処理を繰り返し実行する。
【００４６】
なお、本実施形態では、上述のように、平坦レベルとして、処理領域内の画素群の画素値の平均値を用いている。そのため、ＡＭ配置情報は、処理領域における画素群全体の階調値（総ドット数に相当）を表現している。これに対し、差分レベルから算出したＦＭ配置情報は、画素値分布の形状を表現するものである。ここでは特にＦＭスクリーンを用いて、ドットを配置すべき画素位置を示すＦＭ配置情報１０００と、ドットを配置すべきではない画素位置を示すＦＭ配置情報１００１がある。ここで、図１１で説明した出力階調値の決定方法では、ＦＭスクリーンを用いてドットを配置すべきと判定された画素位置は、必ずドットが配置され、ドットを配置すべきではないと判定された画素位置は、必ずドットが配置されない。このように図１１で説明した方法によれば、ＦＭ形状を表現することに重点を置いているため、画素群全体の階調値が変動することもあり得る。処理領域における階調の維持を重視する場合には、ＦＭ配置情報１０００によるドット付加数とＦＭ配置情報１００１によるドット削除数を一定に保つことで、処理領域における階調値を保持することができる。
【００４７】
上述の処理により、各画素の画素値を処理領域に対応する平坦レベルと差分レベルに分割し、各々に適合する閾値マトリクスによって配置情報を生成することで、ドット安定性が高く、かつ、モアレが生じないドット配置を実現している。この点、説明を簡単に補足する。
【００４８】
元々、ドット安定性の高いドット集中型閾値マトリクスは、入力画像と干渉を起こしやすい低周波帯の周波数成分を多く有することから、モアレの発生を回避するためにはＡＭスクリーンにより処理対象とする領域を限定することが一般的である。他方、ドット安定性を高めるためには、隣接する複数画素において、ＡＭスクリーンによる処理結果を採用することが一般的である。
【００４９】
そこで、本実施形態では、所定の処理領域に対して平坦レベルを検出している。本実施形態では、処理領域における各画素が一様な平坦レベルであるとみなしてドット集中型閾値マトリクスを用いたディザ処理を実行するため、低周波帯の周波数成分の割合が高いドット集中型閾値マトリクスであってもモアレは生じない。加えて、処理領域内で一定の値によりＡＭ配置情報を生成することで、どのような画像に対してもドット安定性の高いドット配置を確保することができる。また、本実施形態では、画素値分布の形状を表現する差分レベルとドット分散型閾値マトリクスにより出力画像の形状を補正することができる。そのため、画素値分布の平均化による画質劣化（画像ぼけ）を抑制することができる。なお、ＦＭスクリーンでは、高周波数帯の周波数成分の割合が高いため、元々モアレが視認されにくい。
【００５０】
以上、説明したように、元々モアレを発生しやすい低周波成分を多く有し、ドット安定性の高い出力結果が得られるドット集中型の閾値マトリクス（第１の閾値マトリクス）を用いて、平坦レベルによってＡＭ配置情報を生成する。また、高周波成分を多く有するドット分散型の閾値マトリクス（第２の閾値マトリクス）を用いて、差分レベルによってＦＭ配置情報を生成する。そして、ＡＭ配置情報をＦＭ配置情報によって補正することで、ドット安定性の高いドット配置を確保した上で、モアレが視認されないドット配置が可能となり、好適なハーフトーン画像を得ることができる。
【実施形態２】
【００５１】
本実施形態では、ＡＭ配置情報とＦＭ配置情報から出力階調値を決定する上で、処理領域内の目標階調値に基づいて出力階調値を決定することで、処理領域全体の出力階調値を保持する例について説明する。また、ここでは、平坦レベルとして、処理領域内の最小値を用いる例を示す。なお、本実施形態に係る画像処理装置のハードウェア構成は、図１に示す実施形態１に係る画像処理装置のハードウェア構成と同様のハードウェア構成で実現可能であることから、ここでは、その説明を省略する。
【００５２】
図１２は、本実施形態に係る画像処理装置の画像処理部１０５の機能構成を示すブロック図である。画像処理部１０５は、実施形態１と同様に、画素値取得部２００、ＡＭ閾値取得部２０１、平坦レベル検出部２０２、ＡＭ配置情報生成部２０３、ＦＭ閾値取得部２０４、差分レベル検出部２０５、ＦＭ配置情報生成部２０６、出力階調値決定部２０７を備える。また、画像処理部１０５は、これらの機能ブロックに加えて、目標階調値算出部（目標階調値導出部）２０８を備える。なお、以下の説明において、同じ符号が付された機能ブロックについては、その説明を省略し、差異のある機能ブロックに着目して説明する。
【００５３】
平坦レベル検出部２０２は、上述のように、処理領域内の最小値を平坦レベルとして算出する。例えば、図７（ｂ）の画素群において、平坦レベル検出部２０２は、最小値である「８７」を平坦レベルとして検出する。
【００５４】
ここで、図１３を用いて、平坦レベルの検出処理について説明する。図１３（ａ）は、図７（ｂ）に示す画素群の画素位置を横軸、画素値を縦軸に示したグラフである。なお、図１３（ａ）において、平坦レベル「８７」も併せて図示している。また、差分レベル検出部２０５は、図１３（ａ）の矢印で示されるように、平坦レベル検出部２０２により検出した平坦レベル「８７」に基づいて、差分レベルを検出する。検出した差分レベルの大きさを、図１３（ｂ）に示す。図１３（ｂ）に示されるように、処理領域内の最小値を平坦レベルとして設定したため、差分レベルにおける差分値は全て正の値である。
【００５５】
ＡＭ配置情報生成部２０３は、平坦レベル検出部２０２で検出した平坦レベル「８７」に対して、処理領域の画素群に対応するブロック単位のＡＭスクリーンの閾値群５００を用いてディザ処理を施すことで、図１４に示すＡＭ配置情報を生成する。
【００５６】
ＦＭ配置情報生成部２０６は、差分レベル検出部２０５で検出した差分レベルとＦＭ閾値取得部２０４で取得したＦＭスクリーンの閾値群６００を用いて、ＦＭ配置情報を生成する。ＦＭ配置情報生成部２０６は、差分レベルとＦＭスクリーンの閾値群６００から評価値を作成し、さらに、その作成した評価値に基づいて、ドットを配置する優先度（優先順）を定めることで、ＦＭ配置情報を生成する。
【００５７】
ここで、図１５を用いて、ＦＭ配置情報生成部２０６におけるＦＭ配置情報の生成方法について説明する。ＦＭ配置情報生成部２０６は、先ず、差分レベル検出部２０５で検出した差分レベル（即ち、図１３（ｂ）で示した差分レベル）から、ＦＭスクリーンの閾値群６００を差し引くことで、評価値群１５００を取得する。なお、評価値群１５００の評価値は、ドットを配置する優先順を示す情報である。評価値は、差分値が大きい画素ほどドットが配置されやすく、また、対応する閾値が小さい画素ほどドットが配置されやすいように、構成される。
【００５８】
ＦＭ配置情報生成部２０６は、評価値群１５００を取得すると、続いて、評価値の大きさからドットを配置する優先度を算出する。なお、評価値の大きさが同じ画素については、ＦＭスクリーンの閾値群６００において、閾値のより小さい画素（即ち、よりドットが配置されやすい画素）に対して、ドットを配置する優先度を高くする。ＦＭ配置情報生成部２０６は、以上のように処理することで、ＦＭ配置情報１５０１を取得する。
【００５９】
目標階調値算出部２０８は、処理領域の各画素の出力値合計となる目標階調値を算出する。なお、目標階調値に関して、例えば、特許文献「特開２０１６−２１７３５」、特許文献「特開２０１６−１１１４８３」等で開示される技術を用いて、処理領域に対応する画素群と閾値群から算出すればよい。本実施形態では、処理領域内の画素群の平均値に対して処理領域に対応する閾値群を用いてディザ処理を施し、さらに、このディザ処理の結果の総和をとることで目標階調値を算出する。
【００６０】
また、このディザ処理に使用する閾値群がＡＭ配置情報を生成するときに使用する閾値群と一致する場合、処理領域が平坦な画素値におけるドット配置は、通常のＡＭスクリーンによる処理結果と同一となり好ましい。本実施形態の場合、画素群の平均値に対してＡＭ閾値群を用いてディザ処理を施すことで、図８に示すようなドット配置が取得される。さらに、このディザ処理の結果の総和をとることで、目標階調値を「８」と算出する。
【００６１】
出力階調値決定部２０７は、上述のＡＭ配置情報、ＦＭ配置情報、及び目標階調数から処理領域の各画素の出力階調値を決定する。ここで、図１６を用いて、出力階調値の決定方法について説明する。図１６（ａ）は、出力階調値を決定する処理の手順を示すフローチャートである。
【００６２】
先ず、Ｓ１６００において、出力階調値決定部２０７は、図１４に示されるようなＡＭ配置情報を各画素の出力階調値として仮設定する。Ｓ１６０１において、出力階調値決定部２０７は、各画素のドット数を集計し、出力階調値の総和を取得する。
【００６３】
そして、Ｓ１６０２において、上述のＳ１６０１で集計した出力階調値の総和が目標階調値と一致するか否かを判定する。出力階調値決定部２０７は、目標階調値と一致すると判定した場合（Ｓ１６０２  Ｙｅｓ）、出力階調値として、現在のドット配置を出力する。また、出力階調値決定部２０７は、目標階調値と一致しないと判定した場合（Ｓ１６０２  Ｎｏ）、処理をＳ１６０３に返す。
【００６４】
Ｓ１６０３において、出力階調値決定部２０７は、ＦＭ配置情報１５０１（図１６（ｂ））に示されるドットを配置する優先度（優先順）に従って、ドットを配置する。具体的には、出力階調値決定部２０７は、ＦＭ配置情報１５０１に示されるドットを配置する優先順の１番から順に、対象とする１画素に対して、ドットを配置する。但し、ドットの配置対象とする画素に、既にＡＭ配置情報によってドットが配置されている場合には、ＡＭ配置情報によるドットの配置と重複しないように優先順位を次の順番の画素に繰り上げてドットを配置する。そして、１画素について、ドットを配置すると、出力階調値決定部２０７は、処理をＳ１６０１に返す。
【００６５】
このように、出力階調値の総和が目標階調値と一致するまで（ここでは、出力階調値の総和が目標階調値である「８」になるまで）ドット配置を繰り返すことで、図１６（ｃ）に示す出力階調値が取得される。図１６（ｃ）では、ＡＭ配置情報（図１４）で示されるドット配置に、ＦＭ配置情報によって付加されたドット２つ分（図１６（ｂ）に示される優先順が「１」、「２」の画素（丸で囲まれた画素））の計８つのドットが配置されている。
【００６６】
以上のように、目標階調値を算出し、出力階調値がその算出した目標階調値と一致するまで、ＡＭ配置情報にＦＭ配置情報由来のドットを付加（配置）する例を示した。また、このように画素群単位で処理することにより、処理領域の目標階調数は維持され、良好な階調表現を得ることができる。加えて、処理領域の平坦レベルとして最小値を用いることで、ＡＭ配置情報に最低限のドット安定性を確保した上で、ＡＭスクリーンに起因するモアレを生じさせない。また、ＦＭ配置情報を、差分レベルによって画素値分布上の凹凸を表現する差分レベルに基づいて生成し、平坦レベルから乖離の大きな差分レベルを有する画素のドット配置の有無を決めることで、画質劣化（画像ぼけ）を生じさせない。
【実施形態３】
【００６７】
本実施形態では、ＡＭ配置情報とＦＭ配置情報から出力階調値を決定する上で、各々の配置情報の優先度（優先順）の高い画素において、任意の割合でドットを配置する例について説明する。
【００６８】
なお、本実施形態に係る画像処理装置のハードウェア構成は、図１に示す実施形態１に係る画像処理装置のハードウェア構成と同様のハードウェア構成で実現可能であることから、ここでは、その説明を省略する。また、以下の説明において、同じ符号が付された機能ブロックについても、その説明を省略し、差異のある機能ブロックに着目して説明する。
【００６９】
ＡＭ配置情報生成部２０３は、ＡＭスクリーンの閾値群５００を用いてドットを配置する優先度を生成する。ドットを配置する優先順は、ＡＭスクリーンの閾値群５００を構成する画素の閾値の大小関係により定められる。即ち、ドットが配置される可能性の高い、閾値の小さい画素に対して、優先度が高く設定される。ここで、ＡＭスクリーンの閾値群５００に基づいて生成したＡＭ配置情報を図１７に示す。なお、図１７に示すＡＭ配置情報において、閾値が同値となる画素に関して、より左側に位置する画素の優先度を高く設定している。
【００７０】
出力階調値決定部２０７では、ＡＭ配置情報生成部２０３で生成したＡＭ配置情報と上述の図１５に示されるＦＭ配置情報１５０１から、目標階調数となるように出力階調値を決定する。ここで、図１８を用いて、出力階調値決定部２０７における出力階調値の決定方法について説明する。
【００７１】
先ず、予め各々の配置情報によって、ドットを配置する割合を決定する。本実施形態では、このドットを配置する割合を１：１とし、ＡＭ配置情報により優先度の高い画素にドットを配置すると、次に、ＦＭ配置情報により優先度の高い画素にドットを配置する。即ち、図１８に示されるように、ＡＭ配置情報とＦＭ配置情報の優先度の高い画素から順に選択され、ドットが配置される。
【００７２】
なお、上述のように、ドットを配置する上で、そのドットの配置対象とする画素において既にドットが配置されている場合も想定される。具体的には、ＦＭ配置情報の４番目の優先度を有する画素（処理領域における右下の画素）はＡＭ配置情報の２番目の優先度を有する画素に該当するため、ＦＭ配置情報の優先度に基づいてドットを配置する段階では、既にドットが配置されていることになる。この場合、新たにドットを配置することができず、ＦＭ配置情報の次の優先度を有する画素（即ち、５番目の優先度を有する画素）に基づいて、ドットを配置する。そして、このドット配置を目標階調数と一致するまで実施することにより、出力階調値を決定する。
【００７３】
以上のように、ＡＭ配置情報及びＦＭ配置情報の各々の優先度に従って、ドットを配置する例を示した。なお、本実施形態においても、処理領域の平坦レベルとして、処理領域内の最小値を用いている。そのため、例えば、１画素のみが最小値であって、その他の画素がある程度大きな画素値を有する画素の場合であっても、ある程度ＡＭスクリーンによるドットの配置が形成されることで、ドット安定性の高い配置パターンを確保することができる。また、上述したように、既にドットが配置されている画素に他方の配置情報の優先度に従ってドットの配置が予定される場合に、新たにドットを配置することができないため、その優先度の次に優先度の高い画素に対して、ドットを配置する。これは、領域単位で出力値を決定しているために可能とされるもので、これにより、領域における階調は保持される。
【００７４】
（その他の実施形態）
なお、実施形態１では、平坦レベルとして処理領域における画素値の平均値を用いた。これによりＡＭ配置情報は、処理領域に対応する階調群（濃度）に応じたドット数の配置情報を決定することができる。また実施形態２では、平坦レベルとして処理領域内における画素値の最小値を用いた。これにより、差分レベルが正の差分値によってのみ構成され、差分レベルについて処理しやすくなる。但し、平坦レベルについては、処理領域に対応する固定値であれば、処理領域内の最大値や中央値など他の値を用いることもできる。また、実施形態２では、必ずしも最小値ではなくても、相対的に小さい値（例えば、最小値の次に小さい画素値等）を用いることもできる。また、平坦レベルに関して、処理領域内に対して、値の近い複数の画素値で構成させることもできる。
【００７５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７６】
２０２  平坦レベル検出部
２０３  ＡＭ配置情報生成部
２０５  差分レベル検出部
２０６  ＦＭ配置情報生成部
２０７  出力階調値決定部
【図１】
2020014127.tif 000003
【図２】
2020014127.tif 000004
【図３】
2020014127.tif 000005
【図４】
2020014127.tif 000006
【図５】
2020014127.tif 000007
【図６】
2020014127.tif 000008
【図７】
2020014127.tif 000009
【図８】
2020014127.tif 000010
【図９】
2020014127.tif 000011
【図１０】
2020014127.tif 000012
【図１１】
2020014127.tif 000013
【図１２】
2020014127.tif 000014
【図１３】
2020014127.tif 000015
【図１４】
2020014127.tif 000016
【図１５】
2020014127.tif 000017
【図１６】
2020014127.tif 000018
【図１７】
2020014127.tif 000019
【図１８】
2020014127.tif 000020