(57)【特許請求の範囲】
【請求項１】
入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定する領域設定手段と、
前記領域設定手段により設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定する色数判定手段と、
前記領域選択手段により設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択する選択手段と、
画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とする階調値決定手段と
を有する画像処理装置。
【請求項２】
それぞれの画像領域には、縮小処理の対象となる注目領域が含まれており、
前記階調値決定手段は、前記注目領域に含まれる色の数が１である場合に、この画像領域に含まれる階調値を、この注目領域に対応する縮小画像の階調値とし、
１色のみからなる注目領域の数を、それぞれの色毎に計数するベタ領域計数手段
をさらに有する請求項１に記載の画像処理装置。
【請求項３】
前記色数判定手段は、前記画像領域それぞれに含まれる色の数と基準値Ｃとの大小関係を判定し、
前記選択手段は、色の数が基準値Ｃ以下となる画像領域について、前記ベタ領域計数手段により計数された計数値を用いた階調値の決定方法を選択する
請求項２に記載の画像処理装置。
【請求項４】
色の数が基準値Ｃ以下となる画像領域において、他の画像を透過させる透過領域が規則的に設けられた透過型パターンの有無を判定する透過型パターン判定手段
をさらに有し、
前記選択手段は、前記透過型パターン判定手段により透過型パターンが存在すると判定された画像領域について、階調値の平均化処理を用いる方法を選択する
請求項１又は３に記載の画像処理装置。
【請求項５】
入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成する頻度評価手段
をさらに有し、
前記階調値決定手段は、前記領域設定手段により設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、前記頻度評価手段により生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とする
請求項１に記載の画像処理装置。
【請求項６】
前記評価値は、入力画像における、単一の色のみからなる注目領域の出現回数であり、
前記頻度評価手段は、前記領域設定手段により設定された複数の注目領域において、単一の色のみからなる注目領域の出現回数を、それぞれの色毎に計数し、
前記階調値決定手段は、前記頻度評価手段により色毎に計数された出現回数に基づいて、縮小画像の階調値を決定する
請求項５に記載の画像処理装置。
【請求項７】
前記注目領域を含む画像領域において、既定の階調変化パターンが存在するか否かを判定するパターン判定手段
をさらに有し、
前記階調値決定手段は、前記パターン判定手段により画像領域に階調変化パターンが存在すると判定された場合に、この画像領域に含まれる注目領域の色の中から、前記頻度評価手段により生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を、この注目領域に対応する縮小画像の階調値とする
請求項５に記載の画像処理装置。
【請求項８】
前記階調値決定手段は、前記パターン判定手段により画像領域において階調変化パターンが存在すると判定された場合に、この画像領域に含まれる注目領域の色それぞれに対応する前記評価値を互いに比較し、出現頻度が最も低いと評価される色を選択する
請求項７に記載の画像処理装置。
【請求項９】
入力画像に含まれる画像要素の一端と、この一端が含まれる前記注目領域との関係、及び、前記画像要素の他端と、この他端が含まれる注目領域との関係に基づいて、注目領域に含まれる階調値の中から、縮小画像に適用すべき階調値を選択する階調値選択手段
をさらに有する請求項１に記載の画像処理装置。
【請求項１０】
入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定し、
設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定し、
設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択し、
画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とする
画像処理方法。
【請求項１１】
入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成し、
設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とする
請求項１０に記載の画像処理方法。
【請求項１２】
入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定するステップと、
設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定するステップと、
設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択するステップと、
画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とするステップと
をコンピュータに実行させるプログラム。
【請求項１３】
入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成するステップと、
設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とするステップと
をさらにコンピュータに実行させる請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像を縮小させる画像処理装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、２値画像において、線幅１の細線を検出して保存する縮小変換装置を開示する。
また、特許文献２は、２値画像において、水平方向、垂直方向及び斜め方向に対して細線の有無を判定し、細線の色を出力する画像の縮小変換方法を開示する。
また、特許文献３は、２値画像において、２×２を含む４×４ブロックに対して黒率が高い場合に、黒画素を、白率が高い場合に、白画素を出力する画像処理装置を開示する。
【特許文献１】特開平５−４１７９５号公報
【特許文献２】特許第２５２５７６８号公報
【特許文献３】特開平６−２３１２３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、高画質な縮小画像を生成する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
[画像処理装置]
上記目的を達成するために、本発明にかかる画像処理装置は、入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定する領域設定手段と、前記領域設定手段により設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定する色数判定手段と、前記領域選択手段により設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択する選択手段と、画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とする階調値決定手段とを有する。
【０００８】
好適には、それぞれの画像領域には、縮小処理の対象となる注目領域が含まれており、前記階調値決定手段は、前記注目領域に含まれる色の数が１である場合に、この画像領域に含まれる色、つまり階調値を、この注目領域に対応する縮小画像の階調値とし、１色のみからなる注目領域の数を、それぞれの色毎に計数するベタ領域計数手段をさらに有する。
【０００９】
好適には、前記色数判定手段は、前記画像領域それぞれに含まれる色の数が基準値Ｃ以下であるか否かを判定し、前記選択手段は、色の数が基準値Ｃ以下となる画像領域について、前記ベタ領域計数手段により計数された計数値を用いた階調値の決定方法を選択する。
【００１０】
好適には、色の数が基準値Ｃ以下となる画像領域において、他の画像を透過させる透過領域が規則的に設けられた透過型パターンの有無を判定する透過型パターン判定手段をさらに有し、前記選択手段は、前記透過型パターン判定手段により透過型パターンが存在すると判定された画像領域について、階調値の平均化処理を用いる方法を選択する。
【００１１】
また、本発明にかかる画像処理装置は、入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成する頻度評価手段をさらに有し、前記階調値決定手段は、前記領域設定手段により設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、前記頻度評価手段により生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とする。
【００１３】
好適には、前記評価値は、入力画像における、単一の色のみからなる注目領域の出現回数であり、前記頻度評価手段は、前記領域設定手段により設定された複数の注目領域において、単一の色のみからなる注目領域の出現回数を、それぞれの色毎に計数し、前記階調値決定手段は、前記頻度評価手段により色毎に計数された出現回数に基づいて、縮小画像の階調値を決定する。
【００１４】
好適には、前記注目領域を含む画像領域において、既定の階調変化パターンが存在するか否かを判定するパターン判定手段をさらに有し、前記階調値決定手段は、前記パターン判定手段により画像領域に階調変化パターンが存在すると判定された場合に、この画像領域に含まれる注目領域の色の中から、前記頻度評価手段により生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を、この注目領域に対応する縮小画像の階調値とする。
【００１５】
好適には、前記階調値決定手段は、前記パターン判定手段により画像領域において階調変化パターンが存在すると判定された場合に、この画像領域に含まれる注目領域の色それぞれに対応する評価値を互いに比較し、出現頻度が最も低いと評価される色を選択する。
【００１６】
また、本発明にかかる画像処理装置は、入力画像に含まれる画像要素の一端と、この一端が含まれる前記注目領域との関係、及び、前記画像要素の他端と、この他端が含まれる注目領域との関係に基づいて、注目領域に含まれる階調値の中から、縮小画像に適用すべき階調値を選択する階調値選択手段をさらに有する。
【００１７】
[画像処理方法]
また、本発明にかかる画像処理方法は、入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定し、設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定し、設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択し、画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とする。
【００１８】
また、本発明にかかる画像処理方法は、入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成し、設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とする。
【００１９】
[プログラム]
また、本発明にかかるプログラムは、入力画像に対して、縮小処理の対象となる注目領域と、この注目領域の周囲にある周囲領域とからなる既定サイズの画像領域を複数設定するステップと、設定された画像領域に含まれる色の数と、既定の基準値Ｃ（Ｃは２以上の値）との大小関係を判定するステップと、設定された画像領域毎に、注目領域が縮小された縮小領域からなる縮小画像を構成する階調値の決定方法として、色の数が前記基準値Ｃよりも大きい場合には、階調値の平均化処理を用いる方法を選択し、色の数が前記基準値Ｃ以下である場合には、含まれている階調値のうちの１つを縮小画像の階調値とする方法を選択するステップと、画像領域に含まれる色の数が前記基準値Ｃよりも大きい場合に、注目領域の平均階調値を、この注目領域に対応する縮小領域の階調値とし、画像領域に含まれる色の数が前記基準値Ｃ以下である場合に、注目領域に含まれている階調値のうちの１つを、この注目領域に対応する縮小領域の階調値とするステップとをコンピュータに実行させる。
【００２０】
また、本発明にかかるプログラムは、入力画像で出現する複数の色それぞれの出現頻度を評価し、それぞれの色に対する評価値を生成するステップと、設定された注目領域に複数の色が含まれている場合に、この注目領域に含まれている複数の色の中から、生成された評価値に基づいて、１つの色を選択し、選択された色に対応する階調値を縮小画像の階調値とするステップとをさらにコンピュータに実行させる。
【発明の効果】
【００２１】
本発明の画像処理装置によれば、高画質な縮小画像を得ることができる。
【発明を実施するための最良の形態】
【００２２】
まず、本発明の理解を助けるために、その背景及び概略を説明する。
近年の電子文書の広汎な流通により、一般的にデジタル画像を高品質に表示または印刷することが求められている。高品質に表示または印刷するためには、画像の画質改善技術が必要となるが、とりわけ、異なる解像度を持った出力機器に画像を高画質出力するための技術が重要となる。
例えば、ディスプレイ解像度７５ｄｐｉの画像を６００ｄｐｉプリンタ装置で出力する場合には、８倍の画像拡大が必要となる。
また、その逆に例えば６００ｄｐｉでスキャンされた画像を７５ｄｐｉのディスプレイで閲覧する場合には１／８倍の画像縮小が必要となる。
【００２３】
ところで、デジタル画像は、画像全体に渡って使用されている色数によって、分類をすることができる。例えば、デジタルカメラで撮影された画像は、多くの色数を含んでおり、連続階調画像に分類できる。連続階調画像には明確な定義はないが、簡易的には、画像中で使用されている色数が２５７色以上の画像と考えればよい。
また、例えばプリンタ装置やファックス装置で出力される画像の中には、白黒の２色しか使われていない画像があり、これは２値画像に分類できる。
更に、連続階調画像と２値画像の中間に位置するものとして、限定色画像がある。限定色画像にも明確な定義はないが、簡易的には、画像全体で使用されている色数が２５６色以下の画像と考えればよい。その意味では、２値画像は、限定色画像のうちで２色しか使われていない画像という見方ができ、限定色画像の特別な場合と言える。
また、限定色画像は、連続階調画像の色数を２５６色に減色して作成される画像（例えば自然画像を減色処理して得られる２５６色画像）と、もともとの色数が２５６色以下しかない画像（例えば、地図、地形図、ＧＩＳ（地理情報システム）情報、ＣＡＤ図面画像、コンピュータグラフィック画像）などに分類できる。
【００２４】
なお、例えば、ＲＧＢの連続階調画像を分版した画像や輝度成分のみに変換した画像は、いずれも２５６色以下の画像となるが、これらの画像は、限定色画像に含めずに、連続階調画像と見なされる。このようなことから、限定色画像の定義は、より厳密には、２５６色以下であり、自明でないカラーマップが付いている画像、ということができる。このようなことから、限定色画像は、カラーマップ付き画像、あるいはインデックスカラー画像、などと呼ぶこともある。
【００２５】
上述した、画像を高画質に拡大／縮小するという課題は、デジタル画像共通の課題である。
しかしながら、このように一般に使われているデジタル画像には幾つかの種類があり、画像の持つ性質が異なっているため、高画質に拡大／縮小する際には、それぞれの性質を捉えた処理方法が必要となる。
実際、画像の拡大処理については、連続階調画像、２値文字線画画像、限定色画像の高画質な拡大方法が、それぞれ本願発明者が先に出願した特開２００３−２８３８１１号公報、特願２００４−１８４１１４号、及び、特願２００５−１９４０５１号に開示されている。これらの拡大方法は、高画質な拡大画像の生成を実現する。そしてこれらの発明のうち自然画と限定色画像とでは、個々の画像の特徴によってそれぞれ異なる処理を行っており、それぞれ高画質を達成できている。
【００２６】
次に、画像の縮小方法に目を向けてみると、連続階調画像の縮小方法としては、一般には各画素の（重み付き）平均値を縮小画素とする平均値縮小法が、画質の観点から優れている。実際、画像の縮小は、基本的に原画像の情報を減らす処理であり、拡大のような復元の要素が薄いため、一般には拡大処理よりも簡単な処理で行える。特に、連続階調画像は、前記したように自然画像などを対象としており、画像全面に渡って情報があるため、平均値縮小法や単純間引き法で、原画像の情報を全体に残して縮小を行うことができる。
また、平均値縮小法や単純間引き法は、処理が単純であり高速実行できる点も有利となっている。しかしその一方で、２値文字線画画像を含む限定色画像では、一般に画像全面に渡っての情報よりも、文字や線の部分に情報が集中しているため、平均値縮小法や単純間引き法による縮小処理を行った場合に、文字や線の部分の劣化が目立ちやすいという特徴がある。
実際に、限定色画像を平均値縮小法で縮小した場合、文字や線のぼけの問題が生じる。これは、例えば白地に黒文字が描かれているような画像を縮小した場合に、平均化処理により、中間調のグレー値が発生するためである。この効果は、画面上などでの閲覧時には、適度なアンチエイリアス効果となる場合もあるが、一般には縮小画像がぼけた印象となることは否めない。
また、単純間引き法で画像を縮小した場合には、ぼけが発生しない代わりに、線の消えが発生する、線の太さの均一性が失われる、などの問題が発生する。
なお、実際には、平均値縮小法を適用した場合においても、縮小処理後に２値化処理（ハーフトーン化処理）が行われると、ぼけた部分の値が０か１に振られた結果、線の消えが起こるため、平均値縮小法においても文字や線の消えの問題が出る。
【００２７】
このように、限定色画像に対する画像縮小処理においては、平均値縮小法や単純間引き法などを適用すると、文字や線の消え、ぼけ、線幅不均一が発生し、縮小画像の画質を劣化させる原因となる。
【００２８】
これらの問題を解決するための方法として、いくつかの方法が開示されている。例えば、特許文献１では、２値画像の原画像から線幅１の細線を検出し、細線を消失させることなく１／２に縮小する方法が開示されている。また、特許文献２では、２値画像に対して、水平方向、垂直方向、斜め方向に対して細線の有無を判定し、細線の色を出力する方法が開示されている。さらに、特許文献３では、２値画像に対して２×２を含む４×４ブロックに対して黒率が高ければ黒画素、白率が高ければ白画素を出力する方法が開示されている。
これらの方法は、前述した文字や線の消え、ぼけ、線幅不均一の問題を部分的に解決することができ、画質を向上することができるが、いずれも２値画像以外の限定色画像を処理することができないという問題がある。
【００２９】
以上述べたように、限定色画像に対する画像縮小処理において、文字や線の消え、ぼけ、線幅不均一などを発生させない高速で高画質な縮小方式が必要となっている。
【００３０】
そこで、本実施形態における画像処理装置は、縮小処理の対象が限定色画像であるか否かを判定し、限定色画像の縮小においては、文字や線の消え、ぼけ、線幅不均一がない縮小方法を適用して、高画質な縮小画像を高速に得ることを可能にする。
【００３１】
［第１実施形態］
以下、本発明の第１の実施形態を説明する。
まず、本実施形態における画像処理装置２のハードウェア構成を説明する。
図１は、本発明にかかる画像処理方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図１に例示するように、画像処理装置２は、ＣＰＵ２０２及びメモリ２０４などを含む制御装置２０、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６から構成される。
画像処理装置２は、例えば、画像処理プログラム５（後述）がインストールされた汎用コンピュータであり、通信装置２２又は記録装置２４などを介して画像データを取得し、取得された画像データを出力解像度に応じて縮小する。例えば、画像処理装置２は、プリンタ装置１０に対して画像データを出力する場合には、６００ｄｐｉ又は２４００ｄｐｉなどの解像度に変換し、ＵＩ装置２６に対して画像データを出力する場合には、７５ｄｐｉなどの解像度に変換する。
【００３２】
［画像処理プログラム］
図２は、制御装置２０（図１）により実行され、本発明にかかる画像処理方法を実現する画像処理プログラム５の機能構成を例示する図である。
図２に例示するように、画像処理プログラム５は、画像入力部５００、記憶部５０５、ブロック抽出部５１０、ベタ領域判定部５１５、色数反低部５２０、算出方法決定部５２５、ベタ領域計数部５３０、画素値決定部５４０、及び画像出力部５９０を有する。また、画素値決定部５４０は、平均値算出部５４５、画素値選択部５５０、及び単一値出力部５７０を含む。
なお、画像処理プログラム５の全部又は一部をＡＳＩＣなどのハードウェアで実現してもよい。
【００３３】
画像処理プログラム５において、画像入力部５００は、通信装置２２（図１）又は記憶装置２４（図１）を介して、デジタル化された画像データ（入力画像）を入力し、記憶部５０５に出力する。
記憶部５０５は、画像入力部５００から入力された入力画像の画像データ、画像処理後の画像データ、及び、画像処理に用いられる各種の途中演算結果又は処理パラメータなどを保持する。
【００３４】
ブロック抽出部５１０（領域設定手段）は、入力画像から、既定サイズの注目ブロック及び画像ブロックを抽出する。注目ブロックとは、画像処理（縮小処理）の対象となる画像領域であり、他の注目ブロックと重なりあわないように設定される。また、画像ブロックとは、注目ブロックを中心位置に含む画像領域であり、本例では、注目ブロックと、注目ブロックの周囲に隣接する画素群とが含まれた画像領域である。なお、互いに隣接する画像ブロック同士は、互いに重なり合う。
本例のブロック抽出部５１０は、２×２サイズの注目ブロックと、この注目ブロックを中心位置に含む４×４サイズの画像ブロックとを設定する。２×２サイズのブロックとは、互いに直交する方向（本例では、主走査方向及び副走査方向）が２画素で構成される矩形領域であり、４×４サイズのブロックとは、互いに直交する方向が４画素で構成される矩形領域である。
【００３５】
ベタ領域判定部５１５は、入力画像において、単一の画素値（階調値）のみを有する画像領域（以下、ベタ領域）を検出する。
本例のベタ領域判定部５１５は、ブロック抽出部５１０により抽出される注目ブロックが単一の画素値のみを有するか否か（すなわち、２×２の注目ブロックがベタ領域であるか否か）を判定し、判定結果をベタ領域計数部５３０に出力する。
【００３６】
色数判定部５２０（色数判定手段）は、入力画像の既定領域に含まれる色の数が基準値Ｃ以下であるか否かを判定する。既定領域とは、例えば、ブロック抽出部５１０により抽出された画像ブロック又は注目ブロック、入力画像を既定のサイズで分割した分割領域、あるいは、入力画像全体であり、本例では、画像ブロックである。また、基準値Ｃとは、２以上の値であり、例えば、既定領域に含まれる画素数に応じて設定される。例えば、２×２サイズの注目ブロック毎に色の数が判定される場合には、基準値Ｃは２であり、４×４サイズの画像ブロック毎に色の数が判定される場合には、基準値Ｃは、３又は４である。
また、色数判定部５２０は、カラー画像が複数の色成分（例えば、Ｒ成分、Ｇ成分、及びＢ成分）に分解された場合には、それぞれの色成分画像において出現する複数の階調値をそれぞれカウントする。例えば、色数判定部５２０は、既定領域の輝度成分又は明度成分の画像において（Ｙ成分画像又はＬ成分画像において）、階調値０、階調値１２３、及び階調値２５５が出現する場合に、階調値の数３を色の数として、基準値Ｃと比較する。
本例の色数判定部５２０は、ブロック抽出部５１０により抽出された注目ブロックそれぞれについて、色の数を計数し、それぞれの注目ブロックに含まれる色の数が基準値Ｃ以下であるか否かを判定し、判定結果を算出方法決定部５２５に出力する。
【００３７】
算出方法決定部５２５（選択手段）は、色数判定部５２０による判定結果に応じて、縮小画像を構成する画素値（階調値）の決定方法（算出方法）を選択し、選択された決定方法を画素値決定部５４０に通知する。画素値の決定方法には、例えば、平均値縮小法、及び、単純間引き法に加えて、注目ブロックに含まれる色の中から、適用すべき色を選択する画素値選択法などが含まれる。
本例の算出方法決定部５２５は、色数判定部５２０により注目ブロックに含まれる色の数が基準値Ｃよりも大きいと判定された場合には、平均値縮小法を選択し、色数判定部５２０により注目ブロックに含まれる色の数が２（すなわち、既定の基準値Ｃ以下）であると判定された場合に、画素値選択法を選択し、色数判定部５２０により注目ブロックに含まれる色の数が１であると判定された場合に、注目ブロックに含まれる単一の色をそのまま適用する単純適用法（単純間引き法）を選択する。
【００３８】
ベタ領域計数部５３０（ベタ領域計数手段、頻度評価手段）は、入力画像で出現する複数の色それぞれの出現頻度を評価して、それぞれの色に対する評価値を生成する。ここで、出現頻度の評価値とは、それぞれの色が出現する頻度に関する評価値であり、例えば、既定サイズの単色領域の出現回数、又は、それぞれの色を有する画素の数などである。
本例のベタ領域計数部５３０は、単一の色からなる２×２サイズの画像領域（単色領域）を色毎に計数し、色毎の計数値を出現頻度の評価値とする。すなわち、本例のベタ領域計数部５３０は、ベタ領域判定部５１５によりベタ領域として判定された注目ブロックの数を、色毎にカウントする。
【００３９】
画素値決定部５４０（階調値決定手段）は、算出方法決定部５２５により選択された決定方法を用いて、縮小画像の画素値を決定する。
本例の画素値決定部５４０は、平均値算出部５４５、画素値選択部５５０及び単一値出力部５７０を含み、注目ブロックに含まれる色の数が基準値Ｃよりも大きい場合には、平均値算出部５４５が、平均値縮小法を用いて、この注目ブロックに対応する縮小画素の画素値を算出し、注目ブロックに含まれる色の数が２（すなわち、既定の基準値Ｃ以下）である場合に、画素値選択部５５０が、画素値選択法を用いて、この注目ブロックに対応する縮小画素の画素値を、注目ブロックに含まれる画素値の中から選択し、注目ブロックに含まれる色の数が１である場合に、単一値出力部５７０が、単純適用法を用いて、注目ブロックに含まれる単一の色を、そのまま縮小画素の色として適用する。
【００４０】
平均値算出部５４５は、注目ブロックに含まれる画素の平均画素値を算出し、算出された平均画素値を、縮小画素の画素値として出力する。
画素値選択部５５０は、注目ブロックに含まれる複数の画素の画素値の中から、１つの画素値を選択し、選択された画素値を、縮小画素の画素値として出力する。
単一値出力部５７０は、注目ブロックに含まれる単一の画素値を、そのまま縮小画素の画素値として出力する。
【００４１】
画像出力部５９０は、画素値決定部５４０により決定された縮小画素の画素値を、縮小画像の画像データとして、プリンタ装置１０（図１）等に出力する。
【００４２】
図３は、図２に示された画素値選択部５５０の機能をより詳細に説明する図である。
図３に例示するように、画素値選択部５５０は、最大最小選択部５５２、色属性決定部５５４、特定パターン判定部５５６、閾値設定部５５８、閾値比較部５６０、起点パターン登録部５６２、既定情報記憶部５６４、及び終点パターン判定部５６６を含む。
画素値選択部５５０において、最大最小選択部５５２は、注目ブロックに含まれる画素の画素値から、最大画素値ＣＭＡＸ、及び、最小画素値ＣＭＩＮを選択し、選択された最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮを色属性決定部５５４に出力する。
【００４３】
色属性決定部５５４は、注目ブロックに含まれる最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮそれぞれが背景色ＣＢであるか前景色ＣＦであるかを判定する。
より具体的には、色属性決定部５５４は、ベタ領域計数部５３０により色毎にカウントされたベタ領域の出現回数に基づいて、最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮのいずれか一方を背景色ＣＢとし、いずれか他方を前景色ＣＦとする。
本例の色属性決定部５５４は、最大画素値ＣＭＡＸに対応する出現回数と、最小画素値ＣＭＩＮに対応する出現回数とを比較して、出現回数がより少ない方の画素値を前景色ＣＦと判定し、出現回数がより多い方の画素値を背景色ＣＢと判定し、判定結果を閾値設定部５５８に出力する。すなわち、入力画像において、同一の画素値を有する２×２サイズの画像領域（すなわち、同一画素値のベタ領域）が多数出現する場合には、この画素値が背景色である可能性が高く、本例の色属性決定部５５４は、最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮそれぞれのベタ領域が出現する回数を比較して、最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮそれぞれを背景色と前景色とに分類する。
【００４４】
特定パターン判定部５５６（パターン判定手段）は、画像ブロックにおける階調変化のパターンと、既定の特定パターンとを比較して、この画像ブロックに含まれる注目ブロックが細線又は端点であるかどうかを判定し、細線又は端点の有無を閾値設定部５５８に出力する。ここで、特定パターンとは、細線又は端点を検出するための階調変化パターンであり、予め複数用意されている。
本例の特定パターン判定部５５６は、いずれかの特定パターンに対応する階調変化パターンが画像ブロックに含まれている場合に、細線又は端点が存在するものと判定し、いずれの特定パターンに対応する階調変化パターンが画像ブロックに含まれていない場合に、細線及び端点が存在しないものと判定する。
【００４５】
閾値設定部５５８は、色属性決定部５５４から入力された判定結果（すなわち、背景色の画素値、及び、前景色の画素値）と、判定パターン判定部５５６から入力された判定結果（細線又は端点の有無）とに応じて、縮小画素の画素値を決定するための閾値ＴＨを算出する。
より具体的には、閾値設定部５５８は、判定パターン判定部５５６により細線又は端点が存在すると判定された場合（すなわち、画像ブロックに特定パターンが存在する場合）に、第１の閾値ＴＨを算出し、細線及び端点が存在しないと判定された場合（すなわち、画像ブロックに特定パターンが存在しない場合）に、第１の閾値ＴＨとは異なる第２の閾値ＴＨを算出する。
本例の第１の閾値ＴＨは、以下の数式により算出される。なお、ＣＢは、注目ブロックにおける背景色の画素値であり、ＣＦは、注目ブロックにおける前景色の画素値である。
【００４６】
ＴＨ＝（ＣＢ×４＋ＣＦ）／５
【００４７】
同様に、第２の閾値ＴＨは、以下の数式により算出される。
【００４８】
ＴＨ＝（ＣＢ×２＋ＣＦ）／３
【００４９】
閾値比較部５６０は、閾値設定部５５８により算出された閾値ＴＨと、注目ブロックの平均画素値Ｖとを比較して、縮小画素の画素値として選択すべき画素値を選択する。
本例の閾値比較部５６０は、平均画素値Ｖが閾値ＴＨよりも小さい場合に、最小画素値ＣＭＩＮを縮小画素の画素値として選択し、平均画素値Ｖが閾値ＴＨよりも大きい場合に、最大画素値ＣＭＡＸを縮小画素の画素値として選択する。
【００５０】
起点パターン登録部５６２は、線幅保存処理が必要な画像要素の一方の端部（以下、処理順の上流側を起点という）を検出し、起点が検出された場合に、その旨を起点情報記憶部５６４に登録する。線幅保存処理とは、縮小前に同一の線幅を有する複数の細線を、縮小後にも互いに同一の線幅となるように調整する処理である。
本例の起点パターン登録部５６２は、画素の配列方向（すなわち、主走査方向及び副走査方向）に対して平行な端部（すなわち、主走査方向の端部及び副走査方向の端部）を検出し、検出された端部の種類（主走査方向の起点、又は、副走査方向の起点）を起点情報記憶部５６４に登録する。
【００５１】
起点情報記憶部５６４は、起点パターン登録部５６２により登録された起点情報（主走査方向の起点、及び、副走査方向の起点の有無を示す情報）を記憶する。
また、本例の起点情報記憶部５６４は、線幅保存処理がなされた場合、又は、画素の配列方向と平行でない端部が検出された場合に、記憶している起点情報を削除する。
なお、本例では、主走査方向に１ライン処理して副走査方向に１つ進める処理順で縮小処理を行うため、主走査方向の起点の有無を示す起点情報に対して、１ライン分のメモリが必要になる。これは、起点情報記憶部５６４が、主走査方向に配列された画素それぞれに対して起点の有無を記憶する必要があるからである。また、副走査方向の起点の有無を示す起点情報に対して、１画素分のメモリが必要になる。これは、常に、直前に処理した副走査方向の起点情報のみが対象となるからである。
【００５２】
終点パターン判定部５６６は、線幅保存処理が必要な画像要素の他方の端部（以下、処理順の下流側を終点という）を検出し、終点が検出された場合に、検出された終点に対応する起点が起点情報記憶部５６４に登録されているか否かを判断し、終点に対応する起点が登録されている場合に、線幅保存処理を行うよう決定する。
本例の終点パターン判定部５６６は、主走査方向の終点又は副走査方向の終点を検出し、いずれかの終点が検出された場合に、対応する起点（すなわち、主走査方向の端部及び副走査方向の端部）が起点情報記憶部５６４に登録されているか否かを判断し、登録されている場合に、第２の閾値ＴＨを再計算するよう閾値設定部５５８に指示する。閾値比較部５６０は、終点パターン判定部５６６の指示により再計算された第２の閾値ＴＨを適用して、細線の終点における縮小画素の画素値を選択することにより、線幅保存処理を実現する。
【００５３】
図４は、ブロック抽出部５１０（図２）により設定される注目ブロック及び画像ブロックを例示する図である。
図４に例示するように、ブロック抽出部５１０は、入力画像において、主走査方向に２画素、副走査方向に２画素を有する注目ブロックと、この注目ブロックを中心位置に含む画像ブロックとを設定する。注目ブロックは、入力画像の最上端の左側から、主走査方向に順に設定される。また、順に設定される複数の注目ブロックは、互いに隣接して重なり合うことはない。
ブロック抽出部５１０は、入力画像の右端まで注目ブロックを設定すると、副走査方向に２画素分移動して、左端から注目ブロックを設定していく。
【００５４】
図５（Ａ）は、算出方法決定部５２５（図２）により選択される縮小法（縮小画素値の決定方法）を例示し、図５（Ｂ）は、ベタ領域計数部５３０（図２）により計数される計数値を例示する図である。
図５（Ａ）に例示するように、本例の算出方法決定部５２５は、入力画像の既定領域に含まれる色の数と、それぞれの色の数で適用される決定方法とを予め対応付けておく。本例では、色数１に対して、単一値出力部５７０による単純適用法が対応付けられており、２以上基準値Ｃ以下の色数に対して、画素値選択部５５０による画素値選択法が対応付けられており、基準値Ｃよりも多い色数に対して、平均値算出部５４５による平均値縮小法が対応付けられている。
【００５５】
図５（Ｂ）に例示するように、本例のベタ領域計数部５３０は、それぞれの階調値のみを含む注目ブロックの出現回数（カウント値）を、それぞれの階調値に対応付けて記憶している。なお、本例では、カラー画像が分版されて、それぞれの色成分画像毎に縮小処理されるために、ベタ領域の出現回数（カウント値）が階調値毎に計数されているが、カラー画像を分版せずにそのまま縮小処理する場合には、ベタ領域の出現回数を、色毎（すなわち、複数の色成分それぞれの階調値の組合せ毎）に計数してもよい。
【００５６】
図６は、特定パターン判定部５５６（図３）により判定される特定パターンを例示する図であり、図６（Ａ）は、注目ブロック及び画像ブロックに含まれる画素の位置を例示し、図６（Ｂ）は、複数の細線端点パターン（特定パターン）を例示する。
図６（Ａ）に例示するように、注目ブロック及び画像ブロックに含まれる画素を特定した場合に、特定パターン判定部５５６は、画像ブロックに含まれる画素の画素値と、図６（Ｂ）に例示する細線端点パターンとを比較して、いずれかの細線端点パターンが画像ブロックに含まれているか否かを判断する。
なお、図６（Ｂ）において、「Ａ」及び「Ｂ」は、互いに異なる色又は画素値を示す。すなわち、細線端点パターンＡは、画像ブロックに含まれる画素Ｘ１、画素Ｘ２、画素Ｘ３及び画素Ｙ６が同一の画素値であり、画素Ｘ４が画素Ｘ１等と異なる画素値を有することを意味する。同様に、細線端点パターンＢは、画像ブロックに含まれる画素Ｘ１、画素Ｘ２、画素Ｘ３及び画素Ｙ７が同一の画素値であり、画素Ｘ４が画素Ｘ１等と異なる画素値であることを意味し、細線端点パターンＣは、画像ブロックに含まれる画素Ｘ１、画素Ｘ３、画素Ｘ４及び画素Ｙ５が同一の画素値であり、画素Ｘ２が画素Ｘ１等と異なる画素値であることを意味し、細線端点パターンＤは、画像ブロックに含まれる画素Ｘ１、画素Ｘ３、画素Ｘ４及び画素Ｙ４が同一の画素値であり、画素Ｘ２が画素Ｘ１等と異なる画素値であることを意味する。
【００５７】
図７（Ａ）は、起点パターン登録部５６２により検出される起点を例示し、図７（Ｂ）は、終点パターン判定部５６６により検出される終点を例示し、図７（Ｃ）は、終点パターン判定部５６６による判定結果を例示する図である。
図７（Ａ）に例示するように、起点パターン登録部５６２は、主走査方向の起点に相当する線左端パターンを、注目ブロック内で検出する。線左端パターンは、注目ブロックの左側（すなわち、主走査方向上流側）の２画素が背景色ＣＢの画素値であり、注目ブロックの右側（すなわち、主走査方向下流側）の２画素が前景色ＣＦである。すなわち、起点パターン登録部５６２は、図７（Ａ）に例示された線左端パターンを用いて、副走査方向に長軸を有する細線の左端を検出する。なお、起点パターン登録部５６２は、色属性決定部５５４による決定に基づいて、注目ブロックに含まれる画素の画素値それぞれが、前景色ＣＦであるか背景色ＣＢであるかを判別する。
同様に、起点パターン登録部５６２は、副走査方向の起点に相当する線上端パターンを、注目ブロック内で検出する。線上端パターンは、注目ブロックの上側（すなわち、副走査方向上流側）の２画素が背景色ＣＢの画素値であり、注目ブロックの下側（すなわち、副走査方向下流側）の２画素が前景色ＣＦである。すなわち、起点パターン登録部５６２は、図７（Ａ）に例示された線上端パターンを用いて、主走査方向に長軸を有する細線の上端を検出する。
【００５８】
また、図７（Ｂ）に例示するように、終点パターン判定部５６６は、主走査方向の終点に相当する線右端パターンを、注目ブロック内で検出する。線右端パターンは、注目ブロックの左側（すなわち、主走査方向上流側）の２画素が前景色ＣＦの画素値であり、注目ブロックの右側（すなわち、主走査方向下流側）の２画素が背景色ＣＢである。すなわち、終点パターン判定部５６６は、図７（Ｂ）に例示された線右端パターンを用いて、副走査方向に長軸を有する細線の右端を検出する。なお、終点パターン判定部５６６も、色属性決定部５５４による決定に基づいて、注目ブロックに含まれる画素の画素値それぞれが、前景色ＣＦであるか背景色ＣＢであるかを判別する。
同様に、終点パターン判定部５６６は、副走査方向の終点に相当する線下端パターンを、注目ブロック内で検出する。線下端パターンは、注目ブロックの上側（すなわち、副走査方向上流側）の２画素が前景色ＣＦの画素値であり、注目ブロックの下側（すなわち、副走査方向下流側）の２画素が背景色ＣＢである。すなわち、終点パターン判定部５６６は、図７（Ｂ）に例示された線下端パターンを用いて、主走査方向に長軸を有する細線の下端を検出する。
【００５９】
終点パターン判定部５６６は、起点パターン登録部５６２により起点（線左端パターン又は線上端パターン）が注目ブロックで検出された後に、次の注目ブロックで、対応する終点（線右端パターン又は線下端パターン）が検出した場合に、図７（Ｃ）に例示するように、線幅保存処理を行うよう閾値設定部５５８に指示する。
【００６０】
［動作］
次に、画像処理プログラム５（図２）の動作を説明する。
図８は、画像処理プログラム５による画像処理（Ｓ１０）の動作を示すフローチャートである。なお、以下の説明では、最大２５６階調値を持った原画像を１／２サイズに縮小する場合を具体例として説明する。従って、カラーＲＧＢ画像は、Ｒ面、Ｇ面及びＢ面に分版してそれぞれ本実施例を適用すればよく、ＣＭＹＫ画像も４版に分けて適用すればよい。また、２５６階調値自体は本質的ではなく、任意のｎ階調値の画像に適用することができる。
【００６１】
ステップ１００（Ｓ１００）において、記憶部５１０（図２）は、画像処理を開始する前の準備として、メモリ２０４（図１）内にメモリ領域を確保して、０で初期化する。また、記憶部５１０は、ベタ領域計数部５３０がベタ領域の出現回数をカウントするためのカウンタ、及び、起点情報記憶部５６４が起点情報を記憶する記憶領域も初期化する。
画像入力部５００は、通信装置２２（図１）又は記録装置２４（図１）等を介して、入力画像を取得し、取得された入力画像の画像データを記憶部５１０に出力する。
ブロック抽出部５１０は、入力画像において、図４に例示した注目ブロック及び画像ブロックを設定する。
【００６２】
ステップ１１０（Ｓ１１０）において、ベタ領域判定部５１５は、２×２サイズの注目ブロックに含まれる４画素が全て同一の画素値であるかどうかを判定する。
画像処理プログラム５は、注目ブロックに含まれる４画素が全て同一の画素値である場合（すなわち、注目ブロックがベタ領域である場合）に、Ｓ１２０の処理に移行し、注目ブロックに含まれる４画素が２種類以上の画素値を有する場合（すなわち、注目ブロックがベタ領域でない場合）に、Ｓ１４０の処理に移行する。
【００６３】
ステップ１２０（Ｓ１２０）において、ベタ領域計数部５３０（図２）は、注目ブロックに含まれる画素値に対応するカウンタの値を１増加させる。
ステップ１３０（Ｓ１３０）において、単一値出力部５７０は、注目ブロックに含まれる単一の画素値を、そのまま縮小画素の画素値として出力する。
【００６４】
ステップ１４０（Ｓ１４０）において、平均値算出部５４５は、注目ブロックに含まれる４画素の平均画素値Ｖを算出する。
【００６５】
ステップ１５０（Ｓ１５０）において、色数判定部５２０（図２）は、画像ブロックに含まれる色の数（すなわち、画素値の種類数）をカウントし、画像ブロックに含まれる色数（画素値の種類数）が基準値Ｃ以下であるか否かを判定する。なお、色数判定部５２０は、４×４ブロックを参照してゆく過程で、全ての画素値を参照し終えなくても、途中でＣ色よりも多い色数を検出した時点で判定してよい。
画像処理プログラム５は、画像ブロックに含まれる色数（画素値の種類数）が基準値Ｃ以下である場合に、Ｓ２０の処理に移行し、画像ブロックに含まれる色数が基準値Ｃよりも大きい場合に、Ｓ１６０の処理に移行する。
【００６６】
ステップ２０（Ｓ２０）において、画素値選択部５５０は、注目ブロックに含まれる４画素の画素値の中から、１つの画素値を選択し、選択された画素値を縮小画素の画素値として出力する。
すなわち、本例の画像処理プログラム５は、画像ブロックに含まれる色の数が基準値Ｃ以下である場合に、この画像ブロックに含まれる注目ブロックが、限定色画像に近い特性を有すると判定して、画素値選択法を適用して、文字画像又は線画像のぼけを防止する。
【００６７】
ステップ１６０（Ｓ１６０）において、平均値算出部５４５は、注目ブロックについて算出された平均画素値を縮小画素の画素値として出力する。
すなわち、本例の画像処理プログラム５は、画像ブロックに含まれる色の数が基準値Ｃより大きい場合に、この画像ブロックに含まれる注目ブロックが、自然画像に近い特性を有すると判定して、平均値縮小法を適用する。
【００６８】
ステップ１７０（Ｓ１７０）において、画像処理プログラム５は、全ての注目ブロックについて処理を行ったか否かを判定し、全ての注目ブロックについて処理が終了した場合に、画像出力部５９０に縮小画素の画素値をまとめて縮小画像の画像データとして外部に出力させ、未処理の注目ブロックが存在する場合に、ブロック抽出部５１０に次の注目ブロック及び画像ブロックを設定させて、Ｓ１１０の処理に戻る。
【００６９】
図９は、図８に示された画素値選択処理（Ｓ２０）のフローチャートである。
図９に示すように、ステップ２００（Ｓ２００）において、画素値選択部５５０の最大最小選択部５５２（図３）は、注目ブロックに含まれる画素の画素値から、最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮを選択する。なお、この処理が行われる段階では、注目ブロックが単一色の場合（ベタ領域の場合）を既に上位（図８のＳ１１０、Ｓ１２０及びＳ１３０）で処理しているため、必ず最大画素値ＣＭＡＸが最小画素値ＣＭＩＮと一致することはない。また、説明の便宜上、このような順序にしているが、例えば、処理の高速化のために、注目ブロックの最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮを計算しつつ、画像ブロックの色数を計数するよう構成にしてもよい。
なお、最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮは、いずれも入力画像の注目ブロックに実在する色であり、以下の処理において、いずれかが縮小画素の画素値として選択される。そのため、縮小画素の画素値は、入力画像の色を忠実に再現し、ぼけの発生が抑制される。
【００７０】
ステップ２０２（Ｓ２０２）において、色属性決定部５５４は、注目ブロックの最大画素値ＣＭＡＸ及び最小画素値ＣＭＩＮがそれぞれ背景色ＣＢであるか前景色ＣＦであるかを判定する。すなわち、色属性決定部５５４は、ベタ領域計数部５３０（図２）のカウンタを参照して、最大画素値ＣＭＡＸに対応するカウント値（すなわち、この最大画素値と同一の画素値を有するベタ領域の出現回数）と、最小画素値ＣＭＩＮに対応するカウント値（すなわち、この最小画素値と同一の画素値を有するベタ領域の出現回数）とを比較して、より少ないカウント値を持っている方（最大画素値ＣＭＡＸ又は最小画素値ＣＭＩＮ）を前景色ＣＦと置き、より大きなカウント値を持っている方（最大画素値ＣＭＡＸ又は最小画素値ＣＭＩＮ）を背景色ＣＢと置く。
【００７１】
ステップ２０４（Ｓ２０４）において、特定パターン判定部５５６は、注目ブロックが細線又は端点であるかどうかを判定する。具体的には、特定パターン判定部５５６は、画像ブロックが図６（Ｂ）に例示したいずれかの細線端点パターンと一致するかどうか判定し、一致する場合に、注目ブロックが細線又は端点であると判定し、いずれも一致しない場合に、注目ブロックが細線及び端点のいずれでもないと判定する。
画像処理プログラム５は、注目ブロックが細線又は端点であると判定された場合に、Ｓ２０６の処理に移行し、注目ブロックが細線及び端点のいずれでもないと判定された場合に、Ｓ２０８の処理に移行する。
【００７２】
ステップ２０６（Ｓ２０６）において、閾値設定部５５８（図３）は、色属性決定部５５４により背景色ＣＢであると判定された画素値（最大画素値又は最小画素値の一方）と、前景色ＣＦであると判定された画素値（最大画素値又は最小画素値の他方）とを用いて、第１の閾値ＴＨ（ＴＨ＝（ＣＢ×４＋ＣＦ）／５）を算出する。
【００７３】
ステップ２０８（Ｓ２０８）において、閾値設定部５５８は、色属性決定部５５４により背景色ＣＢであると判定された画素値と前景色ＣＦであると判定された画素値とを用いて、第２の閾値ＴＨ（ＴＨ＝（ＣＢ×２＋ＣＦ）／３）を算出する。
【００７４】
ステップ２１０（Ｓ２１０）において、画素値選択部５５０（起点パターン登録部５６２及び終点パターン判定部５６６）は、注目ブロックが水平線（主走査方向に長軸を有する細線の端部）又は垂直線（副走査方向に長軸を有する細線の端部）の一部であるか否かを判定する。
画像処理プログラム５は、注目ブロックが水平線の一部である場合に、Ｓ２１２の処理に移行し、注目ブロックが垂直線の一部である場合に、Ｓ２２２の処理に移行し、注目ブロックが水平線の一部でも垂直線の一部でもない場合に、Ｓ２３２の処理に移行する。
【００７５】
ステップ２１２（Ｓ２１２）において、起点パターン登録部５６２は、注目ブロックに線上端パターン（図７（Ａ））が含まれているか否かを判定し、含まれている場合に、Ｓ２１４の処理に移行し、含まれていない場合に、Ｓ２１６の処理に移行する。
【００７６】
ステップ２１４（Ｓ２１４）において、起点パターン登録部５６２は、線上端が検出された旨を起点情報登録部５６４に登録する。
【００７７】
ステップ２１６（Ｓ２１６）において、終点パターン判定部５６６は、起点情報登録部５６４に線上端が検出された旨が登録されているか否かを判定し、登録されている場合に、Ｓ２１８の処理に移行し、登録されていない場合に、Ｓ２３４の処理に移行する。
【００７８】
ステップ２１８（Ｓ２１８）において、終点パターン判定部５６６は、線上端が検出された旨を起点情報記憶部５６４から削除する。
ステップ２２０（Ｓ２２０）において、終点パターン判定部５６６は、第２の閾値ＴＨを再計算するよう閾値設定部５５８に指示する。閾値設定部５５８は、終点パターン判定部５６６からの指示に応じて、第２の閾値ＴＨを再計算する。
すなわち、終点パターン判定部５６６は、注目ブロックが線下端パターン（図７（Ｂ））に相当し、かつ、線上端が検出された旨が起点情報登録部５６４に登録されている場合に限り、第２の閾値ＴＨ（ＴＨ＝（ＣＢ×２＋ＣＦ）／３）を再計算させて、第２の閾値ＴＨを適用させる。
【００７９】
ステップ２２２（Ｓ２２２）において、起点パターン登録部５６２は、注目ブロックに線左端パターン（図７（Ａ））が含まれているか否かを判定し、含まれている場合に、Ｓ２２４の処理に移行し、含まれていない場合に、Ｓ２２６の処理に移行する。
【００８０】
ステップ２２４（Ｓ２２４）において、起点パターン登録部５６２は、線左端が検出された旨を起点情報登録部５６４に登録する。
【００８１】
ステップ２２６（Ｓ２２６）において、終点パターン判定部５６６は、起点情報登録部５６４に線左端が検出された旨が登録されているか否かを判定し、登録されている場合に、Ｓ２２８の処理に移行し、登録されていない場合に、Ｓ２３４の処理に移行する。
【００８２】
ステップ２２８（Ｓ２２８）において、終点パターン判定部５６６は、線左端が検出された旨を起点情報記憶部５６４から削除する。
ステップ２３０（Ｓ２３０）において、終点パターン判定部５６６は、第２の閾値ＴＨを再計算するよう閾値設定部５５８に指示する。閾値設定部５５８は、終点パターン判定部５６６からの指示に応じて、第２の閾値ＴＨを再計算する。
すなわち、終点パターン判定部５６６は、注目ブロックが線右端パターン（図７（Ｂ））に相当し、かつ、線上端が検出された旨が起点情報登録部５６４に登録されている場合に限り、第２の閾値ＴＨ（ＴＨ＝（ＣＢ×２＋ＣＦ）／３）を再計算させて、第２の閾値ＴＨを適用させる。
【００８３】
ステップ２３２（Ｓ２３２）において、画素値選択部５５０（起点パターン登録部５６２又は終点パターン判定部５６６）は、注目ブロックが水平線の一部でも垂直線の一部でもない場合には、起点情報記憶部５６４に記憶されている情報を初期化する。
【００８４】
ステップ２３４（Ｓ２３４）において、閾値比較部５６０は、閾値設定部５５８により設定された閾値（第１の閾値ＴＨ又は第２の閾値ＴＨ）と、平均値算出部５４５（図２）により算出された平均画素値Ｖとを比較して、最大画素値ＣＭＡＸ又は最小画素値ＣＭＩＮを縮小画素の画素値として選択する。
具体的には、閾値比較部５６０は、平均画素値Ｖが閾値ＴＨよりも小さい場合に、最小画素値ＣＭＩＮを、この注目ブロックに対応する縮小画素の画素値として出力し、平均画素値Ｖが閾値ＴＨよりも大きい場合に、最大画素値ＣＭＡＸを、この注目ブロックに対応する縮小画素の画素値として出力する。なお、ここで、平均画素値Ｖが閾値ＴＨと一致することはない。これは、背景色ＣＢと前景色ＣＦに重みをつけて閾値ＴＨを設定しているためである。
【００８５】
なお、上記画素値選択処理（Ｓ２０）における線幅保存処理（Ｓ２１０〜Ｓ２３２）の考え方は、縮小後の線幅を揃えるために導入されたものであり、簡単に言えば、水平方向や垂直方向の線で、線の一方の端部を処理したときにそのことを記憶しておき、線のもう一方の端部が処理対象となったときに、その記憶状態に応じて出力値をコントロールするためのものである。この概念によって、各線の線幅を知らなくても、縮小後の線幅を揃えることができる。
【００８６】
以上説明したように、本実施形態における画像処理装置２は、ベタ領域の出現頻度に応じて、前景色で構成された細線部分を抽出し、縮小後にもこの細線部分を構成する画素（色）を保存するようにしている。例えば、放射状の細線が集まって来るような部分では、２×２ブロック（注目ブロック）だけでは細線色を判定するのが難しく、誤判定の結果、線消失につながる場合があった。本実施形態で説明した方法を適用すると、このような部位に対しても、より適切に細線色判定を行うことができ、線消失を防ぐことができる。なお、一般には線の消えを防止するためには、線全体が太くなるようにすればよいが、文字が全体に太くなると入力画像（元の画像）の情報を忠実に再現することができない。そこで、特に消えが目立つ細線についてのみ例外的に線が太め（消えない程度）になるように縮小する。
また、本画像処理装置２は、入力画像の既定領域（本例では画像ブロック）に含まれる色数に応じて、自然画像部分であるか限定色画像部分であるかを判定し、限定色画像部分に対して、ぼけの防止のために、縮小画素値に平均値縮小のような中間色が現れないように、画素値選択法を適用している。つまり、限定色画像部分の縮小画像は、局所的な注目ブロックに存在する画素値のみを使用して構成される。これによって、原画像（入力画像）と縮小画像で使用される色（濃度）が一致するため、ぼけの問題が解消される。
また、本画像処理装置２は、水平方向及び垂直方向の細線に対して線幅保存処理を施すことにより、縮小画像における線幅の不均一を解消している。
【００８７】
線幅不均一の解消について説明する。
線幅不均一とは、例えば入力画像において線幅２であった線が、縮小画像において線幅が１になる場合と２になる場合があることを意味している。例えば、「書」の文字には、横方向に平行な線が８本あるが、文字のバランスとして、どの線の幅も等しいのが普通である。ところが、線幅不均一性を持つ縮小方式で縮小すると、８本全ての線幅を揃えることができず、文字としてのバランスが悪くなり、視認性低下につながる。
このような線幅不均一の問題は、単純間引き法などを適用した場合に顕著である。
そこで、本画像処理装置２は、線幅不均一の解消のために、入力画像において線幅Ｌであった線を、１／２縮小後に線幅（切り上げ）（Ｌ／２）となるようにしている。例えば、線幅１及び２の線は、１／２に縮小されると、線幅１の線となり、線幅３及び４の線は、１／２に縮小されると、線幅２の線となり、線幅５及び６の線は、１／２に縮小されると、線幅３の線となる。
一方、単純間引き法を適用した場合に、処理対象のブロックと、線との位相によって、線幅１の線が、線幅１になったり、線幅０になったりし、線幅３の線が、線幅１になったり、線幅２になったりする。
【００８８】
本画像処理装置２は、水平な線を対象とする場合に、線上端部分の注目ブロック（２×２サイズ）が全て背景色であって、線下端部分の注目ブロック（２×２サイズ）の上２画素が前景色で下２画素が背景色ならば、縮小画素値として前景色を出力し、線上端部分の注目ブロックの上２画素が背景色で下２画素が前景色であって、線下端部分の注目ブロックの上２画素が前景色で下２画素が背景色ならば、縮小画素値として背景色を出力することにより、線幅保存処理を実現している。また、画像処理装置２は、垂直な線を対象とする場合も、線左端部分の状態（図７（Ａ）の線左端パターンと一致するか否か）と、線右端部分の状態（図７（Ｂ）の線右端パターンと一致するか否か）とに基づいて、前景色又は背景色を縮小画素値として選択することにより、線幅保存を実現する。
なお、本例では、線幅保存処理（線幅不均一の解消）は、水平線及び垂直線のみ（主走査方向の線及び副走査方向の線のみ）に対して行い、斜め方向の線を対象としていないが、これは、斜め方向の線幅の変動が視覚的に目立ちにくいという点と、機械的に処理しても大きな線幅の変動が発生しないことによる。
【００８９】
また、本実施形態において、初めにベタ領域であるかどうかを判定し、その後で自然画部であるか文字線画部であるかを判定する処理順序、及び、文字線画部において線幅の抽出を行わずに線幅を揃える処理方法、これらのいずれもが処理を高速化することにも効果を出しており、本画像処理装置２は、従来の平均値縮小法と比べても、大きな速度低下を起こさずに画像縮小処理を行うことができる。
【００９０】
このように、文字や線の消え、ぼけ、線幅不均一の３つの問題点を解決するために、本画像処理装置２は、いくつかの特別処理を置いているが、その他の部位については、機械的な処理で処理を行うことができる。ここで機械的というのは、決定論的に定まるという意味であり、例えばパターンマッチによる方法でもよい。本実施形態では、パターンマッチではなく、閾値との比較によって、背景値もしくは前景値に振る、という処理を採用している。この方法を使用すると、パターンマッチ処理が不要になり、さらに、上述した３つの問題点を解決する際の特別処理時に特別に閾値を変化させるようにしておき、それ以外の部分はデフォルトの閾値を使用することができ、縮小画像の画素値を決定する部分を共有できる。
【００９１】
［変形例］
次に、第１の実施形態の変形例を説明する。
図１０は、第２の画像処理プログラム５２の機能構成を例示する図である。なお、本図に示された各構成のうち、図２に示された構成と実質的に同一のものには同一の符号が付されている。
図１０に例示するように、第２の画像処理プログラム５２は、図２に示された画像処理プログラム５に、例外処理部５８０を追加した構成をとる。
【００９２】
例外処理部５８０は、入力画像において線幅の異なる複数の線が一端の辺で共通する場合に、例外的に既に処理された方の線幅に合わせるように補正する。
図１１は、例外処理部５８０による補正処理を説明する図である。
第１の実施形態をそのまま適用して、図１１（Ａ）に例示する入力画像を１／２に縮小すると、図１１（Ｂ）に例示するように、線の下端が揃わなくなる場合がある。
これは、図１１（Ａ）に例示する入力画像には、線幅５の水平線と、線幅３０の水平線とが互いに結合されており、これらの水平線の下端が共通している。
このような入力画像は、第１の実施形態をそのまま適用すると、それぞれの線幅を（切り上げ）（５／２）＝３、（切り上げ）（３０／２）＝１５に揃えられた結果、縮小画像において、図１１（Ｂ）に例示するように、線の下端部分がずれてしまう。
漢字などでこのような部分が生じると、見た目の画質劣化につながる。
そこで、例外処理部５８０は、このような異なる線幅だが、線の片側が共通であるような場合には、例外的に既に処理された方の線幅に合わせるように補正する。つまり、例外処理部５８０は、本来線幅１５であるべきところを、既に処理された部分にあわせ、図１１（Ｃ）に例示するように、線幅１６に補正してしまう。この補正処理によって、線幅保存処理が行われても、線の片側のずれを起こさないようにすることができる。
なお、この例外処理も、実際には線幅を知る必要がなく、該当ブロックの処理を行っているときに、それ以前に線幅保存処理を行った部分があったかどうかによって判別することができる。つまり、図１１に示したような不具合が起こるのは、線幅保存処理を適用して線幅を調整した部分だけであり、例外処理部５８０は、そのときに合わせて例外処理を行えばよい。
【００９３】
また、上記実施形態では、入力画像を１／２に縮小する形態を具体例として説明したが、本画像処理装置２は、この実施形態で説明した画像処理（Ｓ１０）を、縮小された画像を入力画像として再帰的にｎ回繰り返せば、１／２＾ｎ縮小を行うことができる。
更に、画像処理装置２は、任意ｑ倍（ｑ＜１）縮小に関しても、ｑ倍に最も近い１／２＾ｎ倍縮小画像から縮小や拡大を行ってｑ倍画像を得ることができ、入力画像から直接ｑ倍縮小画像を得る場合よりも細線消えのない縮小画像を得ることができる。
【００９４】
［第２実施形態］
次に、第２の実施形態を説明する。
第１の実施形態では、細線消えの防止、ぼけの抑制、及び線幅の保存を実現する形態を説明したが、第２の実施形態では、細線消えの防止に特化した形態を説明する。
図１２は、第２の画素値選択部６５０の機能構成を例示する図である。
図１２に例示するように、第２の画素値選択部６５０は、特定パターン判定部６５２、色属性決定部６５４、パターン色数判定部６５６、出力画素選択部６５８及び平均画素値算出部６７０を有する。
なお、第２の実施形態における画像処理プログラムは、図２に示された画像処理プログラム５において、第１の画素値選択部５５０を、第２の画素値選択部６５０（図１２）で置換した構成をとる。
【００９５】
画素値選択部６５０において、特定パターン判定部６５２は、画像ブロックにおける階調変化のパターンと、既定の特定パターンとを比較して、この画像ブロックに含まれる注目ブロックにおいて、細線の候補画素を検出し、候補画素の画素値を色属性決定部６５４及びパターン色数判定部６５６に出力する。本例において、特定パターンとは、細線を検出するための階調変化パターンであり、予め複数用意されている。
本例の特定パターン判定部６５２は、いずれかの特定パターンに対応する階調変化パターンが画像ブロックに含まれている場合に、この特定パターンに対応する画素値Ｂ、画素値Ｃ、及び画素値Ａ（いずれも図１３で後述）を、それぞれ候補画素の画素値、第１の非候補画素の画素値、及び第２の非候補画素の画素値として、色属性決定部６５４及びパターン色数判定部６５６に出力する。なお、後述するように、各画素値Ａは画素値Ｂと異なる値であり、画素値Ｂは画素値Ｃと異なる値である。
【００９６】
色属性決定部６５４は、注目ブロックに含まれる候補画素が前景色ＣＦであるか否かを判定し、判定結果を出力画素選択部６５８に出力する。
より具体的には、色属性決定部６５４は、ベタ領域計数部５３０（図２）により色毎にカウントされたベタ領域の出現回数に基づいて、特定パターン判定部６５２により検出された候補画素の画素値が背景色ＣＢであるか前景色ＣＦであるかを決定する。
本例の色属性決定部６５４は、候補画素の画素値Ｂに対応する出現回数と、第１の非候補画素の画素値Ｃに対応する出現回数とを比較して、画素値Ｂに対応する出現回数が画素値Ｃに対応する出現回数よりも少ない場合に、この候補画素の画素値Ｂを前景色ＣＦであると判定する。
【００９７】
パターン色数判定部６５６は、注目ブロックに含まれる候補画素が三色文字の一部であるか否かを判定し、判定結果を出力画素選択部６５８に出力する。
より具体的には、パターン色数判定部６５６は、特定パターン判定部６５２により画像ブロックで検出された特定パターンに含まれる色数を判定し、判定結果を出力画素選択部６５８に出力する。
本例のパターン色数判定部６５６は、第１の非候補画素の画素値Ｃと、第２の非候補画素の画素値Ａとを比較して、画素値Ｃと画素値Ａとが一致しない場合に、その旨（すなわち、３色存在する旨）を出力画素選択部６５８に出力し、画素値Ｃと画素値Ａとが一致する場合に、その旨（すなわち、２色存在する旨）を出力画素選択部６５８に出力する。
【００９８】
出力画素選択部６５８は、特定パターン判定部６５２による判定結果、色属性決定部６５４により判定結果、及び、パターン色数判定部６５６の判定結果に基づいて、縮小画素の画素値として出力すべき画素を注目ブロックから選択する。
本例の出力画素選択部６５８は、特定パターン判定部６５２により特定パターンが存在すると判定され、かつ、色属性決定部６５４により候補画素の画素値Ｂが前景色ＣＦであると判定された場合に、この画素値Ｂを縮小画素の画素値として選択する。
また、出力画素選択部６５８は、特定パターン判定部６５２により特定パターンが存在すると判定され、かつ、パターン色数判定部６５６により画素値Ｃと画素値Ａとが一致しない（すなわち、３色存在する）と判定された場合に、候補画素の画素値Ｂを縮小画素の画素値として選択する。
また、出力画素選択部６５８は、特定パターン判定部６５２により特定パターンが存在しないと判定された場合、又は、色属性決定部６５４により候補画素の画素値Ｂが背景色ＣＢであると判定され、かつ、パターン色数判定部６５６により画素値Ｃと画素値Ａとが一致する（すなわち、２色存在する）と判定された場合に、平均画素値算出部６７０に平均画素値を縮小画素の画素値として出力するよう指示する。
【００９９】
平均画素値算出部６７０は、出力画素選択部６５８からの指示に応じて、注目ブロックに含まれる画素の平均画素値を算出し、算出された平均画素値を縮小画素の画素値として出力する。
【０１００】
図１３は、特定パターン判定部６５２（図１２）により判定される特定パターンを例示する図である。
特定パターン判定部６５２は、画像ブロックに含まれる画素の画素値と、図１３に例示されている複数の細線パターンＡ’〜Ｈ’とを比較して、いずれかの細線パターンが画像ブロックに含まれているか否かを判断し、いずれかの細線パターンが画像ブロックに含まれている場合に、画像ブロックに含まれる画素の画素値から、候補画素の画素値Ｂ、第１の非候補画素の画素値Ｃ、及び第２の非候補画素の画素値Ａを決定する。
なお、図１３において、「Ａ」及び「Ｂ」は、互いに異なる色又は画素値であることを示し、「Ｂ」及び「Ｃ」も、互いに異なる色又は画素値であることを示す。
すなわち、細線パターンＡ'〜Ｄ'は、副走査方向（図の上下方向）の階調変化に関するパターンであり、候補画素の画素値Ｂが、副走査方向に隣接する第１の非候補画素、及び、第２の非候補画素Ａと異なる画素値を有し、かつ、第１の非候補画素が副走査方向に２画素連続しており、横方向の細線（細線色Ｂ）が存在していることを示す。
同様に、細線パターンＥ'〜Ｈ'は、主走査方向（図の左右方向）の階調変化に関するパターンであり、候補画素の画素値Ｂが、主走査方向に隣接する第１の非候補画素、及び、第２の非候補画素Ａと異なる画素値を有し、かつ、第１の非候補画素が副走査方向に２画素連続しており、縦方向の細線（細線色Ｂ）が存在していることを示す。
【０１０１】
図１４は、第２の実施形態における画素値選択処理（Ｓ２４）のフローチャートである。
図１４に示すように、ステップ２４２（Ｓ２４２）において、画素値選択部６５０の特定パターン判定部６５２（図１２）は、注目ブロックに細線の候補画素が存在するか否かを判定する。具体的には、特定パターン判定部６５２は、画像ブロックが図１３に例示した細線パターンＡ’〜Ｈ’のいずれかと一致するかどうか判定する。
【０１０２】
ステップ２４４（Ｓ２４４）において、特定パターン判定部６５２は、画像ブロックに細線パターン（図１３）が存在すると判定した場合に、候補画素の画素値Ｂ、第１の非候補画素の画素値Ｃ及び第２の非候補画素の画素値Ａを色属性決定部６５４及びパターン色数判定部６５６に出力して、画像処理プログラムは、Ｓ２４６の処理に移行する。
また、特定パターン判定部６５２は、画像ブロックに細線パターンが存在しないと判定した場合に、その旨を出力画素選択部６５８に出力し、画像処理プログラムは、Ｓ２５６の処理に移行する。すなわち、画素値選択部６５０は、画像ブロックに細線パターンが存在しないと判定した場合に、平均画素値を縮小画素の画素値として出力する。
【０１０３】
ステップ２４６（Ｓ２４６）において、パターン色数判定部６５６は、細線の背景候補色が２色で構成されているか否かを判定する。
具体的には、パターン色数判定部６５６は、第１の非候補画素の画素値Ｃと、第２の非候補画素の画素値Ａとを比較して、画素値Ｃと画素値Ａとが一致していない場合に、背景候補色が２色であると判定し、画素値Ｃと画素値Ａとが一致している場合に、背景候補色が単色であると判定する。
【０１０４】
ステップ２４８（Ｓ２４８）において、画像処理プログラムは、画素値Ｃと画素値Ａとが異なる値を有する場合に、Ｓ２５４の処理に移行し、画素値Ｃと画素値Ａとが同一の値を有する場合に、Ｓ２５０の処理に移行する。
すなわち、画素値選択部６５０は、画素値Ｃと画素値Ａとが不一致の場合に、細線（画素値Ｂ）の背景色が２色であるとみなし、縮小画素値として画素値Ｂ、つまり細線色を出力する。
【０１０５】
ステップ２５０（Ｓ２５０）において、色属性決定部６５４は、細線の候補画素の画素値Ｂが前景色ＣＦであるか否かを判定する。
具体的には、色属性決定部６５４（図１２）は、ベタ領域計数部５３０（図２）により色（画素値）毎にカウントされているカウント値（出現回数）を参照して、画素値Ｂに対応するカウント値と、画素値Ｃに対応するカウント値とを比較する。
【０１０６】
ステップ２５２（Ｓ２５２）において、色属性決定部６５４は、画素値Ｂに対応するカウント値が画素値Ｃに対応するカウント値よりも小さい場合に、画素値Ｂを前景色ＣＦであると判定し、画像処理プログラムは、Ｓ２５４の処理に移行し、画素値Ｂに対応するカウント値が画素値Ｃに対応するカウント値以上である場合に、画素値Ｂを前景色ＣＦでないと判定し、画像処理プログラムは、Ｓ２５６の処理に移行する。
すなわち、画素値選択部６５０は、画素値Ｂが前景色ＣＦである場合に、縮小画素値として画素値Ｂ、つまり細線色を出力する。
【０１０７】
ステップ２５４（Ｓ２５４）において、出力画素選択部６５８は、候補画素の画素値Ｂを縮小画素の画素値として出力する。
【０１０８】
ステップ２５６（Ｓ２５６）において、出力画素選択部６５８は、平均画素値を出力するよう平均画素値算出部６７０に指示する。
平均画素値算出部６７０は、出力画素選択部６５８からの指示に応じて、注目ブロックに含まれる４画素の平均画素値を算出し、算出された平均画素値を縮小画素の画素値として出力する。
【０１０９】
このように、第２の実施形態における画素値選択部６５０は、注目ブロック（２×２ブロック）を中央位置に含む画像ブロック（４×４ブロック）の色数が所定色Ｃ色以下の場合には、注目ブロックが前景色細線であるかどうかを判定し、前景色細線である場合に、この前景色細線を縮小画素の画素値として選択する。
【０１１０】
以上説明したように、第２の実施形態における画像処理装置２は、特定パターンを用いて、細線の候補を検出し、細線候補の画素値Ｂが前景色である場合、又は、細線候補が他の３色文字の一部である場合に、細線候補の画素値Ｂを縮小画素の画素値として選択する。これにより、前景色で構成された細線部分が抽出され、縮小後にもこの細線部分を構成する画素（色）が保存される。
特に、本実施形態における画像処理装置２は、細線消えの防止に特化しており、ぼけの抑制及び線幅保存を行わないため、より確実に細線を保存することができる。
【０１１１】
第２の実施形態における画像処理装置２は、局所的に２色のみから構成されている細線を、過去に処理済みのベタ部の統計結果に基づいて、２色のうちから前景色を選択して出力することができ、結果として縮小後も、ぼけや消えを生じさせずに限定色画像の細線を保存できる。
更に、第２の実施形態における画像処理装置２は、例えば、白地に空色のゴシック文字が描かれていて、更にゴシック文字の境界に青い縁取りがあるような飾り文字が含まれている場合にも好適に縮小処理を行うことができる。この場合、境界部分は３色から構成されているが、第２の実施形態で説明した方法は、このような部分にも効果を発揮する。従来の２値画像を処理する方法ではこのような画像を処理することができず、また、単純に平均値縮小を使用した場合には、境界の青い部分がぼけて消えてしまう場合がある。一方、本実施形態の方法は、境界の青部分を細線と認識し、この色を保存したまま縮小することができるので、より原画像（入力画像）に忠実な縮小画像を得ることができる。
【０１１２】
［変形例］
次に、第２の実施形態の変形例を説明する。
図１５は、第３の画素値選択部６５１の機能構成を例示する図である。なお、本図に示された各構成のうち、図１２に示された構成と実質的に同一のものには同一の符号が付されている。
図１５に例示するように、第３の画素値選択部６５１は、図１２に示された第２の画素値選択部６５０に、透過型パターン判定部６７２を追加した構成をとる。
透過型パターン判定部６７２は、画像ブロックに透過型パターンが存在するか否かを判定し、透過型パターンが存在する場合に、注目ブロックの平均画素値を縮小画素の画素値として出力するよう平均画素値算出部６７０に指示する。透過型パターンとは、背景画像をマスクする規則パターンであり、既定の規則に従って背景画像を透過する透過領域を有しており、文字、グラフィック画像又は自然画像などをマスクして、半透明の効果を生じさせる。
透過型パターンは、限定色画像であるため、透過型パターンでマスクされた背景画像がそのまま上記第２の実施形態を適用すると、画素値選択法が適用される場合がある。
しかしながら、透過型パターンでマスクされた背景画像が自然画像である場合には、その部分には平均値縮小法を適用することが望ましい。
そこで、本変形例の透過型パターン判定部６７２は、画像部録に透過型パターンが存在するか否かを判定し、透過型パターンが存在する場合に、平均値縮小法を適用するよう画素値選択部６５０を制御する。
【０１１３】
図１６（Ａ）は、透過型パターンを例示し、図１６（Ｂ）は、三色文字のパターンを例示し、図１６（Ｃ）は、太線部のパターンを例示する図である。なお、図中の「Ａ」、「Ｂ」及び「Ｃ」は、互いに異なる画素値を示す。
図１６（Ａ）に例示するように、本例の透過型パターンは、２×２サイズの市松パターンを非透過領域として有し、２×２サイズの透過領域を有する。市松パターンは、同一の画素値Ａを有する。また、透過領域は、背景画像が表示される領域であるため、任意の画素値となる。
したがって、本例の透過型パターン判定部６７２は、画像ブロックに含まれる画素のうち、８つの画素が同じ画素値を有することを条件として、画像ブロックに透過型パターンが存在すると判定する。
なお、本例では、画像ブロック１６画素のうち、透過領域が８画素、非透過領域が８画素の場合（すなわち、透過率５０％の「半透明透過」の場合）を具体例として説明しているが、他の透過率の場合にも、透過型パターン判定部６７２は、透過率に応じた画素が同じ画素値を有することを条件として、透過パターンの存在を判定することができる。
【０１１４】
一方、図１６（Ｂ）に例示するように、画像ブロックに三色文字の一部が含まれる場合にも、８画素が同じ画素値を有することになるため、本例の透過型パターン判定部６７２は、他の４画素が同じ画素値を有しないことをさらなる条件として、透過型パターンの存在を判定する。
すなわち、本例の透過型パターン判定部６７２は、画像ブロックに含まれる画素群のうち、８画素が同じ画素値を有し、かつ、他の４画素が同じ画素値を有しない場合に、透過型パターンが画像ブロック内に存在すると判定する。
なお、図１６（Ｃ）に例示するように、画像ブロックが太線の一部である場合にも、透過型パターンが存在するように判定されるが、本実施例においては、このような太線には、もともと平均値縮小法を適用するという前提であるので問題ない。
【０１１５】
このように、本変形例の画素値選択部６５１は、透過型パターンの検出を行う透過型パターン判定部６７２を追加して、透過型パターンが画像ブロックに含まれている場合に、平均値縮小法を適用することにより、半透明化処理がなされた入力画像を高画質に縮小することができる。さらに、本変形例における透過パターンの検出は、透過部分に存在するであろう多くのパターンを考慮せずに、マスク部分に設定された固定色の色数だけを利用して直接判定を行うことができる。
【０１１６】
次に、第１の実施形態及び第２の実施形態に共通する変形例を説明する。
図１７は、背景色と前景色とは画像領域で切り替わっている入力画像を例示する図である。
上記第１の実施形態及び第２の実施形態では、ベタ領域の出現頻度が多い方の色を背景色と置いているので、例えば図１７に例示するように画像全体において出現頻度の高い方の色が前景色になっている画像領域（図中の白抜き文字部分）では誤判定が起こる。
このような部分では、背景側性質を保存するように処理されてしまうため、結果として細線が消えてしまうという場合がある。このような場合に対処するため、例外的に、背景色が細線であるような場合には、前景色と背景色を入れ替えてから処理を行えばよい。
また、ベタ領域計数部５３０がベタ領域の出現回数をカウントする画像領域を制限してもよい。すなわち、ベタ領域計数部５３０は、既定の画像領域毎に、ベタ領域の出現回数を初期化して画像領域毎にベタ領域をカウントしてもよい。
なお、第２の実施形態では、画像全体において出現頻度の高い方の色が前景色である場合には、平均値縮小で処理する構成となっている。従って、このような変形処理を行わなくても、得られる画質は平均値縮小の画質になり、、背景色と前景色を取り違えて大きな画質劣化が起こるということはない。
【図面の簡単な説明】
【０１１７】
【図１】本発明にかかる画像処理方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
【図２】制御装置２０（図１）により実行され、本発明にかかる画像処理方法を実現する画像処理プログラム５の機能構成を例示する図である。
【図３】図２に示された画素値選択部５５０の機能をより詳細に説明する図である。
【図４】ブロック抽出部５１０（図２）により設定される注目ブロック及び画像ブロックを例示する図である。
【図５】（Ａ）は、算出方法決定部５２５（図２）により選択される縮小法（縮小画素値の決定方法）を例示し、（Ｂ）は、ベタ領域計数部５３０（図２）により計数される計数値を例示する図である。
【図６】特定パターン判定部５５６（図３）により判定される特定パターンを例示する図である。
【図７】（Ａ）は、起点パターン登録部５６２により検出される起点を例示し、（Ｂ）は、終点パターン判定部５６６により検出される終点を例示し、（Ｃ）は、終点パターン判定部５６６による判定結果を例示する図である。
【図８】画像処理プログラム５による画像処理（Ｓ１０）の動作を示すフローチャートである。
【図９】図８に示された画素値選択処理（Ｓ２０）のフローチャートである。
【図１０】第２の画像処理プログラム５２の機能構成を例示する図である。
【図１１】例外処理部５８０による補正処理を説明する図である。
【図１２】第２の画素値選択部６５０の機能構成を例示する図である。
【図１３】特定パターン判定部６５２（図１２）により判定される特定パターンを例示する図である。
【図１４】第２の実施形態における画素値選択処理（Ｓ２４）のフローチャートである。
【図１５】第３の画素値選択部６５１の機能構成を例示する図である。
【図１６】（Ａ）は、透過型パターンを例示し、（Ｂ）は、三色文字のパターンを例示し、（Ｃ）は、太線部のパターンを例示する図である。
【図１７】背景色と前景色とは画像領域で切り替わっている入力画像を例示する図である。
【符号の説明】
【０１１８】
２・・・画像処理装置
５・・・画像処理プログラム
５００・・・画像入力部
５０５・・・記憶部
５１０・・・ブロック抽出部
５１５・・・ベタ領域判定部
５２０・・・色数判定部
５２５・・・算出方法決定部
５３０・・・ベタ領域計数部
５４０・・・画素値決定部
５４５・・・平均値算出部
５５０、６５０・・・画素値選択部
５７０・・・単一値出力部
５９０・・・画像出力部
【図１】
0004507279.tif 000002
【図２】
0004507279.tif 000003
【図３】
0004507279.tif 000004
【図４】
0004507279.tif 000005
【図５】
0004507279.tif 000006
【図６】
0004507279.tif 000007
【図７】
0004507279.tif 000008
【図８】
0004507279.tif 000009
【図９】
0004507279.tif 000010
【図１０】
0004507279.tif 000011
【図１１】
0004507279.tif 000012
【図１２】
0004507279.tif 000013
【図１３】
0004507279.tif 000014
【図１４】
0004507279.tif 000015
【図１５】
0004507279.tif 000016
【図１６】
0004507279.tif 000017
【図１７】
0004507279.tif 000018