(57)【要約】【課題】  規則的なパターンで描画されている領域の検出を精度良く行い、規則的なパターンで描画されている領域とディザ画像との干渉を抑え、ユーザ所望の色味の画像を提供する為の技術を提供すること。【解決手段】  ２色率算出部４０４は、参照画素の近傍４画素が２色で構成されている場合にはカウントアップする。連続画素率算出部４０５は、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さの合計値を求める。差分算出部４０６は、解像度変換処理済み画素ブロックと着目画素ブロックとの差分を示す差分値を求める。パターン検出部４０７は、合計値、差分値、カウント値と、予め設定された閾値との大小比較結果に基づいて、着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する。【選択図】  図４
2009246838.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数の画素ブロックに分割する分割手段と、
前記分割手段が分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント手段と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める手段と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算手段と、
前記合計値、前記差分値、前記カウント手段によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定手段と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記着目画素ブロック内で座標位置（ｘ、ｙ）に位置する画素の画素値をＶ’（ｘ、ｙ）、前記解像度変換処理済み画素ブロックで（ｘ、ｙ）に位置する画素の画素値をＶ（ｘ、ｙ）とすると、
前記計算手段は、以下の式
Ｖ（ｘ、ｙ）＝（Ｖ’（２ｘ、２ｙ）＋Ｖ’（２ｘ＋１、ｙ）＋Ｖ’（２ｘ、２ｙ＋１）＋Ｖ’（２ｘ＋１、２ｙ＋１））／４
を全てのｘ、ｙについて計算することで、解像度変換処理済み画素ブロックを生成し、更に、前記差分値Ｄを、以下の式
2009246838.tif 000004
を計算することで求めることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記カウント値を前記着目画素ブロックを構成する画素の数で割った結果が予め設定された閾値よりも大きく、前記合計値を前記着目画素ブロックを構成する画素の数で割った結果が予め設定された閾値よりも小さく、前記差分値が予め設定された閾値よりも大きい場合に、前記着目画素ブロックが規則的なパターンを含む画素ブロックであると判定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記処理手段は、前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して平滑化フィルタを用いたフィルタ処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
画像を複数の画素ブロックに分割する分割手段と、
前記分割手段が分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント手段と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める手段と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算手段と、
前記着目画素ブロックの属性を判別する判別手段と、
前記合計値、前記カウント手段によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、若しくは、前記差分値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、のうち、前記判別手段により判別された属性に応じて決まる一方の判定処理を実行する判定手段と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理手段と
を備えることを特徴とする画像処理装置。
【請求項６】
画像を複数の画素ブロックに分割する分割工程と、
前記分割工程で分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント工程と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める工程と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算工程と、
前記合計値、前記差分値、前記カウント工程によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定工程と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理工程と
を備えることを特徴とする画像処理方法。
【請求項７】
画像を複数の画素ブロックに分割する分割工程と、
前記分割工程で分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント工程と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める工程と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算工程と、
前記着目画素ブロックの属性を判別する判別工程と、
前記合計値、前記カウント工程によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、若しくは、前記差分値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、のうち、前記判別工程で判別された属性に応じて決まる一方の判定処理を実行する判定工程と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理工程と
を備えることを特徴とする画像処理方法。
【請求項８】
コンピュータを、請求項１乃至５の何れか１項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関するものである。
【背景技術】
【０００２】
従来、パーソナルコンピュータで使用されるアプリケーションソフトにおいて、規則的なパターン画像を描画することによって擬似的な色味や透明度を実現させようとする際、ディザパターンとその規則的なパターン画像とが干渉を起こしていた。これにより、所望の色合いが出なかったり、状況によっては干渉により絵が消えてしまうという障害があった。
【０００３】
これに対し、ディザパターンと上記パターン画像の周期の位相をずらすことにより、これら障害を解決する手法が提案されている。またその他にも、半透明オブジェクトに対し前景と背景の抽出処理を行い、両画素の平均値を計算することで、これらモワレやざらつき感を発生させないようにする手法も提案されている。更には、指定された画像の規則性によって最適なディザパターンを選択することによりこれら問題を解決し、理想の色を再現しようとする技術も提案されている。
【特許文献１】特開２００２−２２５３８１号公報
【特許文献２】特開２００２−１５２５２６号公報
【特許文献３】特開２００３−２８１５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来方式ではそれら規則的なパターンを持つ画像を抽出する際に、特別な処理系を用意する必要があり、またその処理も複雑である。また、ページ記述言語依存の場合、ラスタ画像として入力されたものに対して、その検出処理が不可能な場合が考えられる。今後、アプリケーションの多機能化に伴い想定される規則的パターンの種類は千差万別であり、これらすべてに対応することは難しい。
【０００５】
本発明は以上の問題に鑑みて成されたものであり、規則的なパターンで描画されている領域の検出を精度良く行い、規則的なパターンで描画されている領域とディザ画像との干渉を抑え、ユーザ所望の色味の画像を提供する為の技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【０００７】
即ち、画像を複数の画素ブロックに分割する分割手段と、
前記分割手段が分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント手段と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める手段と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算手段と、
前記合計値、前記差分値、前記カウント手段によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定手段と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理手段と
を備えることを特徴とする。
【０００８】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【０００９】
即ち、画像を複数の画素ブロックに分割する分割手段と、
前記分割手段が分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント手段と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める手段と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算手段と、
前記着目画素ブロックの属性を判別する判別手段と、
前記合計値、前記カウント手段によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、若しくは、前記差分値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、のうち、前記判別手段により判別された属性に応じて決まる一方の判定処理を実行する判定手段と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理手段と
を備えることを特徴とする。
【００１０】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１１】
即ち、画像を複数の画素ブロックに分割する分割工程と、
前記分割工程で分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント工程と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める工程と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算工程と、
前記合計値、前記差分値、前記カウント工程によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定工程と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理工程と
を備えることを特徴とする。
【００１２】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１３】
即ち、画像を複数の画素ブロックに分割する分割工程と、
前記分割工程で分割したそれぞれの画素ブロックについて
着目画素ブロック内の各画素を参照し、参照した画素の近傍４画素が２色で構成されている場合にはカウントアップするカウント工程と、
前記着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出し、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める工程と、
前記着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、前記着目画素ブロックとの差分を示す差分値を求める計算工程と、
前記着目画素ブロックの属性を判別する判別工程と、
前記合計値、前記カウント工程によるカウント値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、若しくは、前記差分値と、予め設定された閾値との大小比較結果に基づいて、前記着目画素ブロックが規則的なパターンを含む画素ブロックであるのか否かを判定する判定処理、のうち、前記判別工程で判別された属性に応じて決まる一方の判定処理を実行する判定工程と、
前記着目画素ブロックが規則的なパターンを含む画素ブロックである場合には、前記着目画素ブロックに対して、画質を低減させるための処理を施す処理工程と
を備えることを特徴とする。
【発明の効果】
【００１４】
本発明の構成によれば、規則的なパターンで描画されている領域の検出を精度良く行い、規則的なパターンで描画されている領域とディザ画像との干渉を抑え、ユーザ所望の色味の画像を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１６】
［第１の実施形態］
図１は、本実施形態に係る画像処理装置を適用するシステムの構成例を示すブロック図である。図１に示す如く、システムは、本実施形態に係る画像処理装置として機能するプリンタ装置１０と、ホストコンピュータ５０と、で構成されている。
【００１７】
先ず、プリンタ装置１０について説明する。プリンタ装置１０は、ホストコンピュータ５０から送信された印刷ジョブを受信し、受信した印刷ジョブに基づいて記録紙等の記録媒体上に可視画像を形成する装置である。プリンタ装置１０は、制御部１１、プリンタエンジン１４、ＨＤＤ（ハードディスクドライブ）１０５、を有している。
【００１８】
制御部１１は、プリンタ装置１０全体の制御を行うと共に、プリンタ装置１０が行うものとして後述する各処理を実行する。制御部１１は、ホストコンピュータ５０から送信された印刷ジョブを解析し、プリンタエンジン１４に提供可能な形態の画像データを生成する。係る処理は、実際には、制御部１１が有するＣＰＵ１２が行う。ＣＰＵ１２は、係る処理を、メモリ１３に格納されているプログラムを実行することで行う。もちろん、メモリ１３には、その他の処理をＣＰＵ１２に実行させるためのプログラムやデータが格納されている。
【００１９】
プリンタエンジン１４は、制御部１１による制御に従って動作するものであり、制御部１１から送出された画像データに従って記録紙上に可視像を形成する。なお、プリンタエンジン１４には、電子写真方式、インクジェット方式、感熱方式等、各種のプリンタエンジンを適用することができる。
【００２０】
ＨＤＤ１０５には、ホストコンピュータ５０から送出された印刷ジョブなどを格納する。
【００２１】
次に、ホストコンピュータ５０について説明する。
【００２２】
プリンタ装置１０に印刷動作を行わせたり、プリンタ装置１０に係る情報をプリンタ装置１０から取得するために、ホストコンピュータ５０には、プリンタ装置１０のドライバソフトウェア（所謂プリンタドライバ）が予めインストールされている。例えば、ホストコンピュータ５０上で動作しているアプリケーションを用いてある文書の印刷指示を発行したとする。この場合、このインストールされているプリンタドライバにより、この文書の「プリンタ装置１０が解析可能なページ記述言語（ＰＤＬ）で構成されている印刷ジョブ」が生成され、ホストコンピュータ５０は、この印刷ジョブをプリンタ装置１０に送信する。
【００２３】
プリンタ装置１０に送信された印刷ジョブのデータは、プリンタ装置１０が有するＨＤＤ１０５に一旦格納される。次にＣＰＵ１２は、係る印刷ジョブに対してＰＤＬ解析を行うと共に、ＰＤＬに基づいてビットマップイメージをメモリ１３上にレンダリングする。そして更に制御部１１は、ＰＤＬ解析時に画素毎の属性情報を得て属性フラグデータを生成する。即ち、ＰＤＬコマンドにおけるコマンドの種別を示す情報を参照して、黒文字画素を構成する画素を識別するための属性情報を画素単位で生成し、属性データとする。なお、属性データとしては黒文字を示すものに限定されるわけではなく、例えば色文字領域、網点領域、ベクターグラフィックス領域、などの各種属性を示す多ビットの情報を属性フラグデータとして用いることができる。
【００２４】
そして、制御部１１は、これにより得られたビットマップイメージをプリンタエンジン１４に出力する。
【００２５】
ここで、本実施形態では、ＣＰＵ１２は、レンダリングしたビットマップイメージを複数の画素ブロックに分割し、画素ブロック単位で、規則的なパターンを含む画像領域を検出する。そして、規則的なパターンを含む画像領域を検出した画素ブロックについては、平滑化フィルタリング処理など、画質を低減させるための処理を行う。そして、各画素ブロックのデータは順次、プリンタエンジン１４に送出される。
【００２６】
次に、プリンタ装置１０がビットマップイメージに対して行う処理についてより詳細に説明する。
【００２７】
ここで、ビットマップイメージ（画像）は、モノクロ多値の画像でも良いが、本実施形態では、各画素がＲＧＢで表現されるカラー画像であるとする。また、Ｒ、Ｇ、Ｂのそれぞれは８ビットで表現されるものとするので、Ｒ、Ｇ、Ｂのそれぞれの輝度値は、０〜２５５の値を取りうる。また、画像のサイズは、水平方向にＷ画素、垂直方向にＨ画素であるとする。また、Ｒ、Ｇ、Ｂのそれぞれに対して成分番号０、１、２を割り当て、ビットマップイメージの左上隅を座標（０、０）とし、水平方向画素位置ｘ、垂直方向画素位置ｙにある成分番号Ｃの画素の画素値をＰ（ｘ、ｙ、Ｃ）と表す。例えば、位置（ｘ、ｙ）＝（３、４）である画素が（Ｒ、Ｇ、Ｂ）＝（２５５、１２８、０）という画素値を持つ場合、Ｐ（３、４、０）＝２５５、Ｐ（３、４、１）＝１２８、Ｐ（３、４、２）＝０と表現する。
【００２８】
図４は、制御部１１の機能構成例を示すブロック図である。以下、図４を用いて、制御部１１が画像に対して行う処理について説明する。
【００２９】
ＣＰＵ１２は、ホストコンピュータ５０から送信された印刷ジョブに基づいて、画像をバッファ４０１上にレンダリングする。バッファ４０１は、メモリ１３内の部分領域である。
【００３０】
ＣＰＵ１２の一機能としてのブロック分割部４０２は、バッファ４０１に１ストライプ分の画像（Ｔｈライン分の画像）が格納されると、この１ストライプ分の画像を複数の画素ブロックに分割する。ここで、係る画素ブロックのサイズは、水平方向Ｔｗ画素、垂直方向Ｔｈ画素であるとする。説明の便宜上、画像の水平方向の画素数ＷはＴｗの整数倍であるとする。以下の説明では、この水平方向Ｔｗ画素、垂直方向Ｔｈ画素で構成される画素ブロックをタイルと呼称する場合もある。
【００３１】
バッファ４０３は、１タイル分の画素ブロックのデータを格納する為の領域を有しており、ブロック分割部４０２から出力される画素ブロックのデータを順次格納する。従って、バッファ４０３に必要とされる最低容量は、Ｔｗ×Ｔｈ×３（ＲＧＢ）バイトである。バッファ４０３に格納される１タイル分の画素ブロックにおいて、水平方向画素位置ｘ、垂直方向画素位置ｙにある画素のコンポーネントｃの輝度値をＰ（ｘ、ｙ、ｃ）と定義する。なお、ｘ＝０〜（Ｔｗ−１）、ｙ＝０〜（Ｔｈ−１）であり、ｃは、０〜２の何れか１つ（即ちＲ、Ｇ、Ｂの何れかに対応する成分番号）である。
【００３２】
次に、ＣＰＵ１２の一機能としての２色率算出部４０４は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出すと、係る着目画素ブロックを構成する各画素をラスタスキャン順に参照する。そして、現在参照している画素の近傍４画素が２色で構成されているか否かをチェックする。図６は、現在参照している画素と、その近傍４画素を示す図である。図６において、ｘは、現在参照している画素である。ａ，ｂ，ｃ，ｄは、画素ｘの近傍４画素である。従って、図６の場合、ａ，ｂ，ｃ，ｄのそれぞれの画素の画素値を参照し、画素値の関係がａ＝ｂ及びｃ＝ｄ、若しくはａ＝ｃ及びｂ＝ｄ、若しくはａ＝ｄ及びｂ＝ｃの何れかであれば、「近傍４画素は２色で構成されている」と判断することができる。そして、「近傍４画素は２色で構成されている」と判断した場合には、カウント値を１つカウントアップする。もちろん、係るカウント値は、画素ブロック毎に初期化される。即ち、２色率算出部４０４が着目画素ブロックに対して処理を開始する前には既に０に初期化されている。
【００３３】
このような処理を、着目画素ブロックを構成する各画素について行う。これにより、着目画素ブロックにおいて、「近傍４画素ａ〜ｄが２色で構成されている」ような画素ｘの数をカウントすることができる。
【００３４】
ここで、着目画素ブロックを構成する画素の数はＴｈｘＴｗであるので、着目画素ブロックについてカウントした結果をＴとすると、周囲４画素ａ〜ｄが２色で構成されているような画素ｘの着目画素ブロック内の出現確率はＴ／(ＴｈｘＴｗ)であらわされる。係る出現確率は、着目画素ブロックについてカウントしたカウント値を、着目画素ブロックを構成する画素の数で割った結果である。この出現確率を以下の説明では「２色率」と呼称し、２色率算出部４０４は、この出現確率を「２色率」として出力する。即ち、２色率算出部４０４は、２色率を、画素ブロック毎に出力することになる。
【００３５】
次に、ＣＰＵ１２の一機能としての連続画素率算出部４０５は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出すと、係る着目画素ブロックを構成する各画素をラスタスキャン順に参照する。そして、着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出する。そして、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める。着目画素ブロックを構成する画素の数は上述の通りＴｈ×Ｔｗであるので、係る合計値をＲとすると、画素列の着目画素ブロック内の出現確率はＲ／（ＴｈｘＴｗ）で表される。係る出現確率は、着目画素ブロックについて求めた上記合計値を、着目画素ブロックを構成する画素の数で割った結果である。この出現確率を以下の説明では「ラン率」と呼称し、連続画素率算出部４０５は、この出現確率を「ラン率」として出力する。即ち、連続画素率算出部４０５は、ラン率を、画素ブロック毎に出力することになる。
【００３６】
次に、ＣＰＵ１２の一機能としての差分算出部４０６は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出す。そして読み出した着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、読み出した着目画素ブロックとの差分を示す差分値を求める。
【００３７】
ここで、差分算出部４０６が行う処理についてより詳細に説明する。図５（ａ）は、バッファ４０３から読み出した着目画素ブロックを構成する各画素を示す図である。図５（ｂ）は、バッファ４０３から読み出した着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックを構成する各画素を示す図である。
【００３８】
着目画素ブロックの左上端を（０、０）とし、水平方向ｘ座標、垂直方向ｙ座標を定義する。この場合、着目画素ブロックにおいて座標位置（ｐ、ｑ）にある画素の画素値をＶ’（ｐ、ｑ）と表す。同様に、解像度変換処理済み画素ブロックの左上端を（０、０）とし、水平方向ｘ座標、垂直方向ｙ座標を定義する。この場合、解像度変換処理済み画素ブロックにおいて座標位置（ｐ、ｑ）にある画素の画素値をＶ（ｐ、ｑ）と表す。
【００３９】
差分算出部４０６は先ず、着目画素ブロックに対して解像度変換を施し、水平方向、垂直方向、共に１／２のサイズに縮小した縮小タイル画素ブロック（解像度変換処理済み画素ブロック）を生成する。具体的には、着目画素ブロック内で（ｘ、ｙ）に位置する画素の画素値をＶ’（ｘ、ｙ）、解像度変換処理済み画素ブロックで（ｘ、ｙ）に位置する画素の画素値をＶ（ｘ、ｙ）とすると、以下の式を全てのｘ、ｙについて計算する。ここで、全てのｘ、ｙについて計算するとは、ｘ＝０〜（Ｔｗ−２）／２、ｙ＝０〜（Ｔｈ−２）／２のそれぞれについて計算することを意味する。これにより、解像度変換処理済み画素ブロックを生成することができる。
【００４０】
Ｖ（ｘ、ｙ）＝（Ｖ’（２ｘ、２ｙ）＋Ｖ’（２ｘ＋１、ｙ）＋Ｖ’（２ｘ、２ｙ＋１）＋Ｖ’（２ｘ＋１、２ｙ＋１））／４
なお、係る処理は、Ｒ、Ｇ、Ｂのそれぞれの色成分（component）について行う。図５では、Ｖ’（０、０）、Ｖ’（１、０）、Ｖ’（０、１）、Ｖ’（１、１）の平均値が、Ｖ（０、０）となる。
【００４１】
これにより、（Ｔｗ／２）画素×（Ｔｈ／２）画素のサイズの解像度変換処理済み画素ブロックを生成することができる。
【００４２】
次に、差分算出部４０６は、以下の式に基づいて、着目画素ブロックと解像度変換処理済み画素ブロックとの差分値を計算する。
【００４３】
【数１】
2009246838.tif 000003
【００４４】
これにより、差分値Ｄを求めることができる。
【００４５】
次に、ＣＰＵ１２の一機能としてのパターン検出部４０７は、２色率算出部４０４、連続画素率算出部４０５、差分算出部４０６のそれぞれから出力された３つの情報を取得する。そしてパターン検出部４０７は、この３つの情報を用いて、着目画素ブロックが、解像度変換などによる画質の変化の大きい領域であるパターン（規則的なパターン）を含む画素ブロックであるのか否かを判定する。規則的なパターンを含む画素ブロックの一例としては、図７に示すような１ドット１スペースで形成される画像がある。以下ではパターン検出部４０７の動作を、図７に例示する画素ブロックを用いて説明する。もちろん、以下の説明は、係る画素ブロックに限定するものではない。
【００４６】
図７に例示する画素ブロックの場合、２色率Ｔｒは１００％に近く、ラン率Ｒｒは０％に近く、また差分値Ｄは大きいという特性がある。一方、自然画では２色率Ｔｒや差分値Ｄは小さく、ラン率Ｒｒは少し高い。従って、予め設定された２色率用の閾値Ｓｔを２０、ラン率用の閾値Ｓｒを３０、差分値用の閾値Ｓｄを１００に設定し、着目画素ブロックがＴｒ＞ＳｔかつＲｒ＜ＳｒかつＤ＞Ｓｄを満たす場合、係る着目画素ブロックは規則的なパターンを含む、と判定される。
【００４７】
このように、２色率、ラン率、差分値のそれぞれに対する閾値を設定し、２色率、ラン率、差分値のそれぞれについて閾値との大小比較を行うだけで（大小比較結果だけで）、規則的なパターンを含む画素ブロックを検出することができる。
【００４８】
その後、パターン検出部４０７は、規則的なパターンを含まない画素ブロックとして判定したものについてはそのままＰＤＬの作成処理対象とする。一方、パターン検出部４０７は、規則的なパターンを含む画素ブロックについては、ＰＤＬの作成処理対象とする前に、平滑化フィルタを用いたフィルタリング処理など、画質を低減させるための処理を行う。これにより、その周期的なパターンがなまり、それら画像がぼやけたイメージとなる。そして、この平滑化処理により、その後の処理であるディザとの干渉を低減することが可能になり、ユーザがディスプレイ等他の画像表示装置にて見ていたものに近い色味が実現できる。
【００４９】
なお、画質を低減させる為の処理には、平滑化フィルタを用いた処理以外にも、様々なものを適用することができる。例えば、規則的なパターンを含む画素ブロックの代わりに、この画素ブロックについて前述の処理で求めた解像度変換処理済み画素ブロックの縦横を２倍にしたものを、出力しても良い。
【００５０】
次に、プリンタ装置１０がビットマップイメージに対して行う処理について、同処理のフローチャートを示す図２を用いて以下説明する。なお、各ステップにおける各処理については上述の通りであるので、ここでは簡単に説明する。
【００５１】
先ず、ステップＳ２０１では、ＣＰＵ１２の一機能としてのブロック分割部４０２は、バッファ４０１に１ストライプ分の画像（Ｔｈライン分の画像）が格納されると、この１ストライプ分の画像を複数の画素ブロックに分割する。
【００５２】
次に、ステップＳ２０２では、ＣＰＵ１２の一機能としての２色率算出部４０４は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出すと、係る着目画素ブロックを構成する各画素をラスタスキャン順に参照する。そして、現在参照している画素の近傍４画素が２色で構成されているか否かをチェックする。そして、「近傍４画素は２色で構成されている」と判断した場合には、カウント値を１つカウントアップする。そして、周囲４画素が２色で構成されているような画素の着目画素ブロック内の出現確率を２色率Ｔｒとして求める。
【００５３】
一方、ステップＳ２０３では、ＣＰＵ１２の一機能としての連続画素率算出部４０５は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出すと、係る着目画素ブロックを構成する各画素をラスタスキャン順に参照する。そして、着目画素ブロック内で、同じ画素値を有する画素で構成されている画素列を検出する。そして、検出したそれぞれの画素列の長さを求め、求めたそれぞれの画素列の長さの合計値を求める。着目画素ブロックを構成する画素の数は上述の通りＴｈ×Ｔｗであるので、係る合計値をＲとすると、画素列の着目画素ブロック内の出現確率はＲ／（ＴｈｘＴｗ）で表され、連続画素率算出部４０５は、この出現確率をラン率Ｒｒとして出力する。
【００５４】
一方、ステップＳ２０４では、ＣＰＵ１２の一機能としての差分算出部４０６は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出す。そして読み出した着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックと、読み出した着目画素ブロックとの差分を示す差分値Ｄを求める。
【００５５】
次に、ステップＳ２０５では、ＣＰＵ１２の一機能としてのパターン検出部４０７は、着目画素ブロックがＴｒ＞ＳｔかつＲｒ＜ＳｒかつＤ＞Ｓｄを満たすか否かを判断する。そして、係る判断の結果、着目画素ブロックがＴｒ＞ＳｔかつＲｒ＜ＳｒかつＤ＞Ｓｄを満たす場合には処理をステップＳ２０６に進め、満たさない場合には、処理をステップＳ２０７に進める。
【００５６】
ステップＳ２０６では、パターン検出部４０７は、着目画素ブロックに対して、平滑化フィルタを用いたフィルタ処理など、画質を低減させるための処理を行う。
【００５７】
そしてステップＳ２０７では、着目画素ブロックをＰＤＬの作成処理対象とすべく、係る着目画素ブロックのデータをＰＤＬ作成処理へと出力する。
【００５８】
次に、ステップＳ２０８では、ＣＰＵ１２は、ステップＳ２０１で分割した全ての画素ブロックについてステップＳ２０２〜Ｓ２０７の処理を行ったか否かを判断し、行った場合には本処理を終了させる。一方、まだステップＳ２０２〜Ｓ２０７の処理を行って以内画素ブロックが残っている場合には、処理をステップＳ２０１の直後に戻し、この残っている画素ブロックについてステップＳ２０２以降の処理を行う。
【００５９】
［第２の実施形態］
第１の実施形態では、図７に示すように、パターンが１ドット１スペースであるような画像を例にとって説明を行ったが、パターンには様々な種類があり、種類に応じて２色率やラン率、差分値の傾向が変わってくる可能性がある。従って、パターンの種類に応じて、パターン検出の条件を変えてもよい。
【００６０】
例えば、半透明処理において網掛けの透過率を選択できる機能があり、パターン画像は透過率によっては１ドット１スペースの画像とはまったく異なったパラメータ分布になる。例えば、透過率が２０％未満の網掛け部分では２色率は低くラン率が高くなり、差分値も低くなる。そのため、２色率用の閾値Ｓｔは１０％、ラン率用の閾値Ｓｒは５０％、差分値用の閾値Ｓｄは６０、というようにパターン検出条件の閾値を緩和し、あらゆる網掛けのパターンに対応できるよう閾値を設定する。しかし、パラメータの閾値を緩和するだけではパターン検出の精度は上がるが、パターン領域以外を誤判定することが多くなり、問題である。従って、誤判定を抑制するために、パターン検出の条件にパラメータを追加してもよい。
【００６１】
図８は、制御部１１の機能構成例を示すブロック図である。以下、図８を用いて、制御部１１が画像に対して行う処理について説明する。なお、図８において、図１と同じ部分については同じ参照番号を付けており、その説明は省略する。
【００６２】
ＣＰＵ１２の一機能としての近傍一致画素算出部５０１は、バッファ４０３から１つの画素ブロック（着目画素ブロック）のデータを読み出すと、係る着目画素ブロックを構成する各画素をラスタスキャン順に参照する。そして、現在参照している画素ｘの近傍４画素のうち、現在参照している画素ｘと同じ画素値を有する画素があれば、係る画素ｘを近傍一致画素と見なし、カウント値Ｋを１つカウントアップする。係るカウント値Ｋは、画素ブロック毎に初期化される。即ち、近傍一致画素算出部５０１が着目画素ブロックに対して処理を開始する前には既に０に初期化されている。更に、近傍一致画素算出部５０１は、近傍一致画素と見なされた画素の近傍４画素が２色で構成されている場合には、カウント値Ｋ’を１つカウントアップする。係るカウント値Ｋ’は、画素ブロック毎に初期化される。即ち、近傍一致画素算出部５０１が着目画素ブロックに対して処理を開始する前には既に０に初期化されている。
【００６３】
このような処理を、着目画素ブロックを構成する各画素について行う。これにより、着目画素ブロックにおいて、近傍一致画素と見なされた画素ｘの数Ｋ、近傍一致画素と見なされた画素であって近傍４画素が２色で構成されている画素の数Ｋ’をカウントすることができる。そして近傍一致画素算出部５０１は、このようにして求めたカウント値Ｋ、Ｋ’を用いてＫ’／Ｋを求め、求めたＫ’／Ｋをパターン検出部５０２に対して送出する。ここで、Ｋ’／Ｋは、近傍一致画素のうち近傍４画素が２色で構成されている画素の比率を表すことになる。即ち、近傍一致画素算出部５０１は、画素ブロック毎に、「近傍一致画素のうち近傍４画素が２色で構成されている画素の比率」を出力することになる。なお、画素ｘと近傍４画素との関係は、例えば、図６に示したように、画素ｘと、近傍４画素ａ〜ｄとの関係である。
【００６４】
パターン検出部５０２は、２色率算出部４０４、連続画素率算出部４０５、差分算出部４０６のそれぞれからの情報に加え、近傍一致画素算出部５０１からの情報をも取得する。そして、着目画素ブロックが、解像度変換などによる画質の変化の大きい領域であるパターン（規則的なパターン）を含む画素ブロックであるのか否かを判定する。
【００６５】
「近傍一致画素のうち近傍４画素が２色で構成されている画素の比率」（＝Ｑ）は、パターン領域ではほぼ１００％付近に分布しているが、自然画領域では６０％〜８０％辺りに分布している。従ってパターン検出部５０２は、２色率、ラン率、差分値に加えてＱを用い、ステップＳ２０５における判定処理に「Ｑが１００％に限りなく近いか？」を加える。そして、ステップＳ２０５について第１の実施形態で説明した条件が満たされると共に、Ｑが１００％に限りなく近い場合には、着目画素ブロックは規則的なパターンを含む画素ブロックであると判定する。これにより、２色率、ラン率、差分値を緩和することにより起こっていた自然画像領域の誤判定が抑制され、パターンの種類によらずに良好な検出処理を行うことが可能になる。
【００６６】
［第３の実施形態］
第２の実施形態では、網掛けの透過率の違いにより、パラメータが異なる例について説明を行ったが、パターンの種類だけなく背景画像の違いによってもパラメータの分布傾向は異なる。本実施形態では、検出するパターンの背景に応じて、パターンの検出方法を切り換える。
【００６７】
図３は、制御部１１の機能構成例を示すブロック図である。以下、図３を用いて、制御部１１が画像に対して行う処理について説明する。なお、図３において、図１と同じ部分については同じ参照番号を付けており、その説明は省略する。
【００６８】
図３に示す如く、本実施形態に係る制御部１１の機能構成は、第１の実施形態に係る制御部１１の構成（図４）に、スイッチ７０２、属性バッファ７０３、画像判別部７０１を加えると共に、バッファ４０１には、画像に加え、属性情報が入力される。
【００６９】
バッファ４０１には上述の通り、画像に加えて属性情報が入力されるが、この属性情報とは、係る画像を構成する各画素の属性を示すフラグの集合である。例えば、着目画素が文字を構成する画素であれば、着目画素に対応するフラグの値は１、着目画素が文字以外を構成する画素であれば、着目画素に対応するフラグの値は０を有する。このように、画素毎にフラグの値が関連付けられており、画素の並びと同じ並びで対応するフラグを配列させたものが属性情報である。
【００７０】
ブロック分割部４０２は、第１の実施形態と同様に、画像を複数の画像ブロックに分割するのであるが、本実施形態では更に、属性情報をも同様に、複数の画像ブロックに分割する。これにより、各画素ブロックに対応する属性情報（分割属性情報）を得ることができる。分割されたそれぞれの分割属性情報は、属性バッファ７０３に格納される。
【００７１】
画像判別部７０１は、各分割属性情報を参照し、対応する画素ブロックの属性を判定する。例えば、着目分割属性情報を構成する各フラグのうち値が「１」であるフラグの数が、着目分割属性情報を構成するフラグの数に対して所定の割合以上であれば、着目分割属性情報に対応する画素ブロックは、文字を含む画素ブロックであると判定する。一方、着目分割属性情報を構成する各フラグのうち値が「０」であるフラグの数が、着目分割属性情報を構成するフラグの数に対して所定の割合以上であれば、着目分割属性情報に対応する画素ブロックは、自然画像を含む画素ブロックであると判定する。
【００７２】
そして画像判別部７０１は、着目分割属性情報に対応する画素ブロックが、文字を含む画素ブロックであると判定した場合には、判定情報「０」をスイッチ７０２とパターン検出部４０７とに対して出力する。一方、画像判別部７０１は、着目分割属性情報に対応する画素ブロックが、自然画像を含む画素ブロックであると判定した場合には、判定情報「１」をスイッチ７０２とパターン検出部４０７とに対して出力する。
【００７３】
スイッチ７０２は、バッファ４０３から１タイル分の画素ブロックのデータを読み出すと共に、係る画素ブロックに対応する判定情報を画像判別部７０１から取得する。従って、スイッチ７０２は、バッファ４０１から読み出した画素ブロックが、文字を含む画素ブロックであるのか、自然画像を含む画像ブロックであるのかを判別することができる。スイッチ７０２は、画像判別部７０１から判別情報「０」を受けた場合には、端子ａに接続する。これにより、文字を含む画素ブロックのデータは、バッファ４０３からスイッチ７０２を介して２色率算出部４０４、連続画素率算出部４０５に送出される。一方、スイッチ７０２は、画像判別部７０１から判別情報「１」を受けた場合には、端子ｂに接続する。これにより、自然画像を含む画素ブロックのデータは、バッファ４０３からスイッチ７０２を介して差分算出部４０６に送出される。
【００７４】
パターン検出部４０７は、画像判別部７０１から判別情報「０」を受けた場合には、２色率算出部４０４と連続画素率算出部４０５とから送出される情報を取得する。そして、パターン検出部４０７は、この取得した２つの情報を用いて、着目画素ブロックが、解像度変換等による画質の変化の大きい領域であるパターン（規則的なパターン）を含む画素ブロックであるのか否かを判定する。パターン検出部４０７における２つの情報の個々についての取り扱いについては、第１の実施形態と同じである。
【００７５】
一方、パターン検出部４０７は、画像判別部７０１から判別情報「１」を受けた場合には、差分算出部４０６から送出される情報を取得する。そして、パターン検出部４０７は、この取得した情報を用いて、着目画素ブロックが、解像度変換等による画質の変化の大きい領域であるパターン（規則的なパターン）を含む画素ブロックであるのか否かを判定する。パターン検出部４０７における差分算出部４０６から送出される情報の取り扱いについては、第１の実施形態と同じである。
【００７６】
これは、パターンと文字が重なっている領域では、２色率とラン率の分布の傾向は変わらないが、差分値のパラメータ分布がばらばらでパターン検出が困難なため、２色率とラン率のみの利用でもパターンの検出を行うことが可能であることに起因する。また、網掛けの色と背景の色とが似ているパターン領域の場合には、２色率とラン率のパラメータ分布は変わらないが、差分値が小さくなるため、このような画像では２色率とラン率のみを用いてパターン検出を行う。
【００７７】
一方、パターンと自然画像とが重なっている領域では２色率が低く、ラン率が高い自然画像領域と似たパラメータ分布となっている。そのため、２色率やラン率を用いることでパターン領域の検出精度を向上させることは困難ではあるが、差分値は１ドット１スペースなどと同様に高い値であり、分布傾向は変わらないので、差分値を利用することでパターン検出は可能である。このことから、差分値のみを用いてパターン検出を行う。つまり、画像の種類によってパラメータの設定を変更するだけで、より簡易な方法でパターン検出が可能となる。
【００７８】
なお、本実施形態では、説明を簡潔にするために、属性情報を持った画像を入力し、各画素ブロックの属性をこの属性情報を用いて判別するとしたが、これ以外の方法を用いて、各画素ブロックの属性を判別しても良い。例えば、バッファ４０３から出力される画素ブロックのデータを用いて、係る画素ブロック内に存在する色数を計数し、係る計数結果に基づいて、係る画素ブロックが自然画像を含むのか、文字を含むのか、を判別してもよい。
【００７９】
なお、パターン検出部４０７から出力される画素ブロックについて、この画素ブロックの属性に応じた処理を行うようにしても良い。例えば、着目画素ブロックに対応する着目分割属性情報を用いて、着目画素ブロックに対するフィルタリング処理に用いるフィルタ係数を切り替えるようにしても良い。また、着目分割属性情報に応じて、着目画素ブロックとディザとの干渉を和らげる処理（例えばディザの係数）等を切り替えても良い。
【００８０】
また、以上で述べた様々な技術事項は、適宜組み合わせて用いても良い。
【００８１】
また、上記実施形態で説明した各処理は、プリンタ装置１０が行うものとして説明したが、一般のＰＣ（パーソナルコンピュータ）が行うようにしても良い。即ち、ＰＣが、処理対象画像を複数の画素ブロックに分割し、それぞれの画素ブロックのうち、規則的なパターンを含む画素ブロックについては、平滑化フィルタを用いたフィルタリング処理など、画質を低減させるための処理を行うようにしても良い。
【００８２】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００８３】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施形態に係る画像処理装置を適用するシステムの構成例を示すブロック図である。
【図２】プリンタ装置１０がビットマップイメージに対して行う処理のフローチャートである。
【図３】制御部１１の機能構成例を示すブロック図である。
【図４】制御部１１の機能構成例を示すブロック図である。
【図５】（ａ）はバッファ４０３から読み出した着目画素ブロックを構成する各画素を示す図、（ｂ）はバッファ４０３から読み出した着目画素ブロックに対して解像度変換処理を行うことで得られる解像度変換処理済み画素ブロックを構成する各画素を示す図である。
【図６】現在参照している画素と、その近傍４画素を示す図である。
【図７】画素ブロックの一例を示す図である。
【図８】制御部１１の機能構成例を示すブロック図である。
【図１】
2009246838.tif 000005
【図２】
2009246838.tif 000006
【図３】
2009246838.tif 000007
【図４】
2009246838.tif 000008
【図５】
2009246838.tif 000009
【図６】
2009246838.tif 000010
【図７】
2009246838.tif 000011
【図８】
2009246838.tif 000012