(57)【特許請求の範囲】
【請求項１】
Ｃ色（Ｃ≧２）から構成される原画像の画質改善処理を行う画像処理装置において、原画像の局所領域毎に前記局所領域内の固定位置から注目色Ｃ１、Ｃ２を選択する注目色選択手段と、前記注目色選択手段で選択された注目色の配置から前記局所領域を細線、第１の太線、第２の太線を含むいずれかに分類する分類手段と、該分類手段によって細線、第１の太線、第２の太線のいずれかに分類された場合にエッジ方向を推定して該エッジ方向から前記注目色Ｃ１、Ｃ２の面積占有率に従って高解像度化処理またはアンチエイリアス処理またはアンチエイリアス拡大処理を画質改善処理として行う処理手段を有することを特徴とする画像処理装置。
【請求項２】
さらに、原画像を拡大する拡大手段と、該拡大手段により拡大された画像を記憶する記憶手段を有し、前記記憶手段に記憶されている前記拡大された画像を原画像として画質改善処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の太線はＣ１色太線であり、前記第２の太線はＣ２色太線であることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記分類手段は、細線に分類された前記局所領域に対して、更に、当該局所領域の周囲の画素値から、前記第１の太線または前記第２の太線あるいはその他のいずれかに分類することを特徴とする請求項１ないし請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
前記分類手段は、細線に分類された前記局所領域について、前記局所領域における注目色Ｃ１の画素数と注目色Ｃ２の画素数とを比較し、注目色Ｃ１の画素数が注目色Ｃ２の画素数よりも多い場合には第１の太線に分類し、注目色Ｃ２の画素数が注目色Ｃ１の画素数よりも多い場合には第２の太線に分類し、前記局所領域における注目色Ｃ１の画素数と注目色Ｃ２の画素数が等しい場合に、前記局所領域を含む所定の領域内の画素値におけるＣ１色画素の総量が所定数以下の場合に前記第１の太線に分類し、Ｃ２色画素の総量が所定数以下の場合に前記第２の太線に分類することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
さらに、原画像内から所定のＭ×Ｎ画素サイズのブロックを前記局所領域として抽出するブロック抽出手段を有することを特徴とする請求項１ないし請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
さらに、原画像内から２×２画素サイズのブロックを前記局所領域として抽出するブロック抽出手段を有し、前記注目色選択手段は、２×２画素サイズのブロックの上側の２画素の画素値を注目色Ｃ１、Ｃ２として選択し、前記分類手段は、注目色Ｃ１と注目色Ｃ２が互いに隣接する市松パターンを細線、所定の３画素が注目色Ｃ１であり１画素が注目色Ｃ２であるパターンを第１の太線、所定の３画素が注目色Ｃ２であり１画素が注目色Ｃ１であるパターンを第２の太線として分類することを特徴とする請求項１ないし請求項４のいずれか１項に記載の画像処理装置。
【請求項８】
前記処理手段は、注目色Ｃ１と注目色Ｃ２の関係を相互に入れ替えることにより前記第１の太線に対する画質改善処理または前記第２の太線に対する画質改善処理のいずれか一方により前記第１の太線および前記第２の太線に分類された前記局所領域についての画質改善処理を行うことを特徴とする請求項１ないし請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
前記処理手段は、前記分類手段で初めに細線であると分類された後に前記第１の太線または前記第２の太線に分類された前記局所領域に関しては、前記第１の太線に対する画質改善処理または前記第２の太線に対する画質改善処理を行った後に、該局所領域から１画素分所定方向にずれた局所領域を対象として、再び画質改善処理を繰り返すことを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項１０】
前記処理手段は、前記局所領域を含む予め決められたサイズのブロックの画素値を参照して接続方向が垂直方向または水平方向のいずれに属するかを判定する角度概算手段と、前記角度概算手段において判定された前記接続方向に応じて水平方向または垂直方向への所定のパターンの連続性により接続長を計数する角度精算手段と、前記接続方向及び前記接続長に従って前記画質改善処理を行う画素値出力手段を有することを特徴とする請求項１ないし請求項９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記角度精算手段は、前記角度概算手段において判定された水平方向、垂直方向について前記接続長が予め決められた長さ以下である場合に４５度方向であると判定し、当該４５度方向における所定のパターンの連続性により前記接続長を計数することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記角度概算手段は、前記局所領域がＭ×Ｎ画素サイズのブロックであるとき、該Ｍ×Ｎ画素サイズのブロックを含む所定の（Ｍ＋１）×（Ｎ＋１）画素サイズ以下のブロック内の画素値から、当該太線の方向が垂直方向または水平方向のいずれに属するかを判定することを特徴とする請求項１０または請求項１１に記載の画像処理装置。
【請求項１３】
Ｃ色（Ｃ≧２）から構成される原画像の画質改善処理を行う画像処理方法において、原画像の局所領域毎に前記局所領域内の固定位置から２色の注目色Ｃ１、Ｃ２を注目色選択手段で選択し、選択された注目色の配置から前記局所領域を細線、第１の太線、第２の太線を含むいずれかに分類手段で分類し、該分類結果に従って細線、第１の太線、第２の太線のいずれかに分類された場合にエッジ方向を推定して該エッジ方向から前記注目色Ｃ１、Ｃ２の面積占有率に従って高解像度化処理またはアンチエイリアス処理またはアンチエイリアス拡大処理を画質改善処理として処理手段で行うことを特徴とする画像処理方法。
【請求項１４】
さらに、原画像を拡大手段で拡大し、該拡大された画像を記憶手段に記憶させておき、前記記憶手段に記憶されている前記拡大された画像を原画像として画質改善処理を行うことを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記第１の太線はＣ１色太線であり、前記第２の太線はＣ２色太線であることを特徴とする請求項１３または請求項１４に記載の画像処理方法。
【請求項１６】
前記局所領域の分類により細線に分類された前記局所領域に対して、更に、当該局所領域の周囲の画素値から、前記第１の太線または前記第２の太線あるいはその他のいずれかに分類することを特徴とする請求項１３ないし請求項１５のいずれか１項に記載の画像処理方法。
【請求項１７】
前記局所領域の分類により細線に分類された前記局所領域について、前記局所領域における注目色Ｃ１の画素数と注目色Ｃ２の画素数とを比較し、注目色Ｃ１の画素数が注目色Ｃ２の画素数よりも多い場合には第１の太線に分類し、注目色Ｃ２の画素数が注目色Ｃ１の画素数よりも多い場合には第２の太線に分類し、前記局所領域における注目色Ｃ１の画素数と注目色Ｃ２の画素数が等しい場合に、前記局所領域を含む所定の領域内の画素値におけるＣ１色画素の総量が所定数以下の場合に前記第１の太線に分類し、Ｃ２色画素の総量が所定数以下の場合に前記第２の太線に分類することを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記局所領域として、原画像内から所定のＭ×Ｎ画素サイズのブロックを抽出することを特徴とする請求項１３ないし請求項１７のいずれか１項に記載の画像処理方法。
【請求項１９】
前記局所領域として、原画像内から２×２画素サイズのブロックを抽出し、該２×２画素サイズのブロックの上側の２画素の画素値を注目色Ｃ１、Ｃ２として選択し、注目色Ｃ１と注目色Ｃ２が互いに隣接する市松パターンを細線、所定の３画素が注目色Ｃ１であり１画素が注目色Ｃ２であるパターンを第１の太線、所定の３画素が注目色Ｃ２であり１画素が注目色Ｃ１であるパターンを第２の太線として分類することを特徴とする請求項１３ないし請求項１６のいずれか１項に記載の画像処理方法。
【請求項２０】
注目色Ｃ１と注目色Ｃ２の関係を相互に入れ替えることにより前記第１の太線に対する画質改善処理または前記第２の太線に対する画質改善処理のいずれか一方により前記第１の太線および前記第２の太線に分類された前記局所領域についての画質改善処理を行うことを特徴とする請求項１３ないし請求項１９のいずれか１項に記載の画像処理方法。
【請求項２１】
前記局所領域の分類によって、初めに細線であると分類された後に前記第１の太線または前記第２の太線に分類された前記局所領域に関しては、前記第１の太線に対する画質改善処理または前記第２の太線に対する画質改善処理を行った後に、該局所領域から１画素分所定方向にずれた局所領域を対象として、再び画質改善処理を繰り返すことを特徴とする請求項１６または請求項１７に記載の画像処理方法。
【請求項２２】
前記局所領域を含む予め決められたサイズのブロックの画素値を参照して接続方向が垂直方向または水平方向のいずれに属するかを角度概算手段で判定し、判定した前記接続方向に応じて水平方向または垂直方向への所定のパターンの連続性により接続長を角度精算手段で計数し、前記接続方向及び前記接続長に従って前記画質改善処理を画素値出力手段で行うことを特徴とする請求項１３ないし請求項２１のいずれか１項に記載の画像処理方法。
【請求項２３】
さらに、判定された前記太線の方向である水平方向、垂直方向について、前記接続長が予め決められた長さ以下である場合に４５度方向であると判定し、当該４５度方向における所定のパターンの連続性により前記接続長を計数することを特徴とする請求項２２に記載の画像処理方法。
【請求項２４】
前記局所領域がＭ×Ｎ画素サイズのブロックであるとき、該Ｍ×Ｎ画素サイズのブロックを含む所定の（Ｍ＋１）×（Ｎ＋１）画素サイズ以下のブロック内の画素値から、当該太線の方向が垂直方向または水平方向のいずれに属するかを判定することを特徴とする請求項２２または請求項２３に記載の画像処理方法。
【請求項２５】
Ｃ色（Ｃ≧２）から構成される原画像に対する画像処理をコンピュータに実行させる画像処理プログラムであって、請求項１ないし請求項１２のいずれか１項に記載の画像処理装置の機能または請求項１３ないし請求項２４のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項２６】
Ｃ色（Ｃ≧２）から構成される原画像に対する画像処理をコンピュータに実行させる画像処理プログラムを格納したコンピュータ読取可能な記憶媒体において、請求項１ないし請求項１２のいずれか１項に記載の画像処理装置の機能または請求項１３ないし請求項２４のいずれか１項に記載の画像処理方法をコンピュータに実行させる画像処理プログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された特定色のデジタル画像をプリンタやディスプレイ装置などへ印刷出力または表示出力する際の画質を改善する技術に関するものである。
【背景技術】
【０００２】
近年の電子文書の広汎な流通により、一般的にデジタル画像を高品質に表示または印刷することが求められている。高品質に表示または印刷するためには、画像の画質改善技術が必要となるが、とりわけ、異なる解像度を持った出力機器に画像を高画質出力するための拡大技術が重要となる。例えば、ディスプレイ解像度が７５ｄｐｉの画像を、例えば解像度が６００ｄｐｉのプリンタに出力する場合には、８倍の画像拡大が必要となる。もちろん画像を大判に拡大するような場合にも拡大処理が使われる。
【０００３】
ところで、デジタル画像は、画像全体に渡って使用されている色数によって分類することができる。例えば、デジタルカメラで撮影された画像は多くの色数を含んでおり、連続階調画像に分類できる。連続階調画像には明確な定義はないが、簡易的には、画像中で使用されている色数が２５７色以上の画像と考えればよい。また、例えばプリンタやファックスで出力される画像は白黒の２色しか使われていないため、２値画像に分類できる。
【０００４】
更に、連続階調画像と２値画像の中間に位置するものとして、限定色画像がある。限定色画像にも明確な定義はないが、簡易的には、画像全体で使用されている色数が２５５色以下の画像と考えればよい。その意味では、２値画像は限定色画像のうちで２色しか使われていない画像という見方ができ、限定色画像の特別な場合と言える。
【０００５】
限定色画像は、連続階調画像の色数を２５６色に減色して作成される画像、例えば自然画像を減色処理して得られる２５６色画像と、もともとの色数が２５６色以下しかない画像、例えば、地図、地形図、ＧＩＳ（地理情報システム）情報、ＣＡＤ図面画像、グラフィック画像などに分類できる。なお、例外としては、例えばＲＧＢの連続階調画像をグレー変換した画像や、ＲＧＢを分版した画像は、いずれも２５６色以下の画像となるが、これらの画像は限定色画像に含めずに、連続階調画像と見なす方が自然である。
【０００６】
このようなことから、限定色画像は、例えば８色や１６色、２５６色などの少数の色のみで表現され、これらの表現される色は例えば自明でないカラーマップ等により対応づけることができ、更に画像にアンチエイリアス処理が施されていない画像、とすることができる。
【０００７】
ここでアンチエイリアス処理は、画像のエッジ部に見られるジャギーを軽減する技術であり、限定色画像の場合、画像を多色化してエッジ部を滑らかに見せる画像処理技術である。多色化してしまうため、アンチエイリアス処理が施された画像は限定色画像よりも連続階調画像の性質が強くなる。
【０００８】
このアンチエイリアス処理によってエッジ部が見かけ上滑らかになり、画質が改善されるが、画像を拡大して解像度を向上させても画質を向上させることができる。図３３は、一般的な限定色画像の拡大処理に関わる画質改善処理の一例の説明図である。上述のように、画質改善処理として、アンチエイリアス処理や解像度を向上させるための拡大処理があるが、さらに図３３に示したように、それらを組み合わせたアンチエイリアス拡大処理がある。このアンチエイリアス拡大処理は、アンチエイリアス処理、拡大処理、それぞれ単体の処理に比べると上位概念の処理であると言える。つまり、アンチエイリアス拡大した画像を再限定色化すれば原画像に対する拡大画像が得られ、原画像サイズに平均値縮小すれば原画像に対するアンチエイリアス画像が得られる。
【０００９】
図３４は、画質改善処理と面積占有率の概念の関係の一例の説明図である。図３４（Ａ）に示す原画像に対して、図３４（Ｂ）に示すように本来あるべきエッジ線が推定できれば、そのエッジ線が画素を横切る面積占有率によって、図３４（Ｃ）〜（Ｆ）に示すように画質改善画像を得ることができる。ここで、図３４（Ｃ）はアンチエイリアス画像、図３４（Ｄ）は拡大画像、図３４（Ｅ）はアンチエイリアス拡大画像、図３４（Ｆ）はドットサイズ変調画像である。なお、図示の都合上、色の違いはハッチングを異ならせて示している。また白または黒の部分についても、実際には白、黒でなくてよい。
【００１０】
例えば図３４（Ｂ）中の丸印を付した画素について、黒く図示した部分の面積占有率が４０％であったとする。また黒く図示した画素の色をＣ１，白く図示した画素の色をＣ２とすると、丸印を付した画素の値はＣ１×０．４＋Ｃ２×０．６で求めることができる。また、拡大する場合にも、拡大した後の各画素について同様に計算すればよい。
【００１１】
このようにして原画像のそれぞれの画素について処理を行うことによって、例えば図３４（Ｇ）に示すように画素単位での処理を行えば図３４（Ｃ）に示すアンチエイリアス画像が得られる。また、例えば図３４（Ｈ）に示すように原画像の１画素から２×２画素を生成すれば、図３４（Ｅ）に示すようにアンチエイリアス拡大画像が得られる。このアンチエイリアス拡大画像を再限定色化すれば図３４（Ｄ）に示す拡大画像が得られる。また、図３４（Ｅ）に示したアンチエイリアス拡大画像を例えば平均値縮小すれば、図３４（Ｃ）に示したアンチエイリアス画像が得られる。なお、図３４（Ｂ）に示した原画像の各画素における面積占有率をそのまま画素の大きさに置き換えれば図３４（Ｆ）に示すようなドットサイズ変調画像が得られる。
【００１２】
上述した、画像を高画質に拡大するという課題は、デジタル画像共通の課題である。しかしながら、上述のように一般に使われているデジタル画像には幾つかの種類があり、画像の持つ性質が異なっているため、高画質拡大する際には、それぞれの性質を捉えた拡大方法が必要となる。例えば、連続階調画像の拡大方式としては、例えば特許文献１に記載されている方法がある。この方法は、入力された画像に対して、連続階調画像の持つ性質である適切なアンチエイリアス処理がなされていることを前提として、基本的には、処理対象のドメインブロックと周辺の画素を含むレンジブロックをドメインブロックのサイズに縮小してドメインブロックとするという局所コラージュ反復処理によって、ジャギーのない高画質な拡大画像を得ることができる。また、２値文字線画画像の拡大方式としては、例えば特許文献２に記載されている方法がある。この方法は、２値画像内の各局所領域に対して、太線、細線の接続方向に必要分だけアンチエイリアス拡大することによって高画質な拡大画像を得ることができている。このように、連続階調画像と２値画像とでは画像の持つ性質が異なるため、その性質に合った拡大方法を適用してそれぞれ高画質に拡大することができる。
【００１３】
次に、本発明が対象としている限定色画像に対する従来の拡大方法に付いて述べる。限定色画像は、多値画像であるから、少なくとも連続階調画像用の拡大方法をそのまま適用することができ、例えば、上述の特許文献１に記載されている局所コラージュ反復の方式を適用することができる。しかしながら、このような連続階調画像用の拡大方法をそのまま適用すると、拡大画像にはジャギーが発生し、高画質に拡大することができない。このことは、連続階調画像と限定色画像とで画像の性質が異なることが原因である。
【００１４】
そこで、限定色画像に特化した従来の拡大方式として、例えば、特許文献３に記載されている方法がある。この方法では、カラー画像から単色領域の色と形状を抽出し、抽出された単色領域の形状に基づいて、その単色領域の境界を表すベクトル座標を抽出し、抽出されたベクトル座標に基づいて輪郭の平滑化、拡大を行う。この方法は、限定色画像の持つ性質に着目しているので、特に限定色画像の拡大に向いている。しかし、輪郭線ベクトルの抽出精度が悪い場合、高画質拡大できないという欠点がある。
【００１５】
また、更に別の方法として特許文献４に記載されている方法がある。この方法の場合、各色成分のデータを平滑化して線形補間し、高解像度用の画素データを一旦生成する。更に、注目画素とその周辺画素の中から代表色Ｐ，Ｑを選択しておき、入力された補間後の該当する各色成分のデータと、代表色Ｐ，Ｑの同色成分に基づいて最終的な高解像度用の画素の色成分を生成する。この方法は、限定色画像を線形補間法で拡大した際に生じる中間色を、予め決められている原画像の限定色を利用して限定色画像の拡大を行う方法である。しかし、拡大処理に線形補間法を使用しているため、拡大画像においてエッジ線のジャギーが残って画質が低下する場合があるという問題がある。
【００１６】
以上をまとめると、簡便かつ確実な方法で、誤りなく限定色画像のエッジ部における面積占有率の推定（連続曲線エッジの推定）を行い、原画像の情報を忠実に保存し、かつジャギーのない高画質な拡大画像を作成する方法が望まれている。
【００１７】
【特許文献１】特開２００３−２８３８１１号公報
【特許文献２】特開２００５−３９８０２号公報
【特許文献３】特開平７−３３４６４８号公報
【特許文献４】特開平１０−３３６６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、上述した事情に鑑みてなされたもので、簡潔な構成で限定色画像について細部の情報を保ったまま高画質に拡大でき、また適切にアンチエイリアス処理することができる画像処理装置および画像処理方法、画像処理プログラム、その画像処理プログラムを格納した記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００１９】
本発明は、限定色の原画像に対して拡大処理、あるいは、アンチエイリアス処理またはアンチエイリアスおよび拡大処理（アンチエイリアス拡大処理）などの画質改善処理を行う画像処理装置および画像処理方法において、原画像内から所定のＭ×Ｎ画素サイズのブロックなどの局所領域を抽出し、その抽出した局所領域から注目色を局所領域内の固定位置から２色選択し、選択した２色の注目色Ｃ１、Ｃ２を用いて、局所領域の種類を細線、第１の太線、第２の太線を含むいずれかに分類し、分類結果に従って細線、第１の太線、第２の太線のいずれかに分類された場合にエッジ方向を推定して該エッジ方向から前記注目色Ｃ１、Ｃ２の面積占有率に従って高解像度化処理またはアンチエイリアス処理またはアンチエイリアス拡大処理を画質改善処理として局所領域に対して行うことを特徴とするものである。第１の太線および第２の太線は、例えばそれぞれ、Ｃ１太線およびＣ２太線とすることができる。
【００２０】
なお、本発明において、細線、太線は、以下のように定義するものとする。すなわち、細線は、線幅１画素未満の部分を含む連続した線分とする。ここで線幅１画素未満の線分とは、線分内に局所的に２×２の市松パターンを含むもので定義できる。また、太線は線幅１画素以上の連続した線分とし、線分を構成する色がＣ１の場合をＣ１太線、Ｃ２の場合をＣ２太線とする。細線についても同様にＣ１細線、Ｃ２細線を定義できる。なお、太線に関しては、線幅が∞、つまり片側のエッジ線のみしか分からないような要素も含めることとする。これらの細線、太線の定義から分かるように、連続した線分に細線と太線の両方が存在する場合があるが、このような場合も線分を小サイズに分割すると、細線か太線に分類することができる。後述するように、本発明はこれら分類した各要素を最終的に単一の処理方法で処理することができる。
【００２１】
また、本発明の特徴から、画像内に存在する様々な細線、太線（Ｃ１太線、Ｃ２太線）の全てを処理の対象とするわけではなく、特定の条件を満たしたもののみについて処理を行えばよい。例えば予め原画像を拡大手段で拡大し、その拡大された画像を記憶手段に記憶させておき、その拡大された画像を原画像として画質改善することにより高画質の拡大画像、アンチエイリアス画像、あるいはアンチエイリアス拡大画像を得るように構成することができる。
【００２２】
具体例として、２×２画素サイズのブロックを局所領域として抽出し、注目色Ｃ１と注目色Ｃ２が互いに隣接する市松パターンを細線、所定の３画素が注目色Ｃ１の画素であり１画素が注目色Ｃ２の画素であるパターンをＣ１太線である第１の太線、所定の３画素が注目色Ｃ２の画素であり１画素が注目色Ｃ１の画素であるパターンをＣ２太線である第２の太線として分類し、第１の太線について第１の太線に対する画質改善処理を行い、第２の太線については第２の太線に対する画質改善処理を行うことができる。その際に局所領域内だけでなく、さらに局所領域の周囲の画素に対しても適用することができる。このとき、第１の太線または第２の太線の一方については色関係を反転することによって他方についての処理を共用することができる。
【００２３】
また、細線については、更に、当該ブロックの周囲の画素値から、第１の太線または第２の太線あるいはその他のいずれかに分類することによって、実質的に細線の処理を太線の処理によって代行することができる。第１の太線と第２の太線の画質改善処理を共用する場合、細線、第１の太線、第２の太線のいずれの処理も、共通の処理に集約することが可能である。
【００２４】
細線に分類されたブロックの再分類の方法としては、局所領域を含む領域、例えば局所領域がＭ×Ｎ画素サイズのブロックであれば、（Ｍ＋２）×（Ｎ＋２）サイズ以下のブロックの領域について、その領域内の画素値における注目色Ｃ１の画素数と注目色Ｃ２の画素数とを比較し、注目色Ｃ１の画素数が注目色Ｃ２の画素数よりも多い場合には第１の太線に分類し、注目色Ｃ２の画素数が注目色Ｃ１の画素数よりも多い場合には第２の太線に分類し、局所領域における注目色Ｃ１の画素数と注目色Ｃ２の画素数が等しい場合に、Ｃ１画素の総量が所定数以下の場合に第１の太線に分類し、Ｃ２画素の総量が所定数以下の場合に第２の太線に分類することができる。
【００２５】
また、初めに細線であると分類された後に第１の太線または第２の太線に分類されたブロックに関しては、第１の太線に対する画質改善処理または第２の太線に対する画質改善処理を行った後に、該ブロックから１画素分所定方向にずれた当該ブロックと対になるブロックを対象として、再び画質改善処理を繰り返すように構成することができる。
【００２６】
太線に対する画質改善処理としては、局所領域を含む予め決められたサイズのブロックの画素値を参照して接続方向が垂直方向または水平方向のいずれに属するかを判定し、判定した前記接続方向に応じて水平方向または垂直方向への所定のパターンの連続性により接続長を計数し、接続方向及び接続長に従って画質改善処理を行うように構成することができる。例えば抽出された局所領域がＭ×Ｎ画素サイズのブロックであるとき、そのブロックを含む所定の（Ｍ＋１）×（Ｎ＋１）サイズ以下のブロック内の画素値から、当該太線の接続方向が垂直方向または水平方向のいずれに属するかを判定することができる。
【００２７】
また、太線の方向が垂直方向または水平方向のいずれに属するかを判定した結果について、接続長が予め決められた長さ以下である場合に４５度方向であると判定し、当該４５度方向における所定のパターンの連続性により接続長を計数することができる。
【００２８】
さらに本発明は、上述のような本発明の画像処理装置の機能または画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラムと、そのような画像処理プログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体を提供するものである。
【発明の効果】
【００２９】
本発明によれば、限定色画像の各局所領域から２色の注目色を抽出し、この２色に着目して、更に局所領域を線画像の種類、例えば細線、太線、あるいはその他に分類し、太線についてはさらに例えば第１の太線、第２の太線に分類し、それぞれの分類に対応した拡大処理やアンチエイリアス処理などの画質改善処理を行うので、処理を非常に単純化することができ、簡潔な構成でありながら、適切に拡大処理あるいはアンチエイリアス処理またはアンチエイリアス拡大処理を行うことができる。例えば２×２画素サイズのブロックを局所領域として分類し、当該局所領域あるいはさらにその周囲の画素に対する処理を行うことができ、従来のような大きなサイズのパターンマッチングや多数のパターンマッチングを行う必要がないため、高速に処理を行うことができる。さらに、細線、第１の太線、第２の太線について処理を共用することが可能であり、さらに構成の簡単化および処理の高速化が可能である。
【００３０】
また、局所領域が上述のような小さいブロックサイズの場合でも、エッジ方向を精度よく決定し、処理に反映することができるため、例えば面積占有率を用いたアンチエイリアス処理またはアンチエイリアス拡大処理を行う場合でも、細部の情報を保ったまま適切にアンチエイリアス処理を行うことができ、ジャギーのない高画質な画像を得ることができる。
【００３１】
さらに、抽出した局所領域に含まれる線画像の方向に従って処理を行うので、特に４５度方向など、垂直、水平方向以外の方向についても適切な画質改善処理を行うことができる。
【００３２】
本発明によれば、このように多くの効果を奏するものであり、以下に説明するように、このほかにも様々な効果を奏するものである。
【発明を実施するための最良の形態】
【００３３】
図１は、本発明の実施の一形態を含むシステムの一例を示すブロック図である。図中、１は画像入力部、２はメモリ部、３は画像処理部、４は画像出力部、５は制御部、１１はブロック抽出部、１２は注目色選択部、１３はブロック分類部、１４は画質改善部、２１は角度概算部、２２は角度精算部、２３は画素値出力部である。なお、図１に示した画質改善処理部３の各ブロックや制御部５などはコンピュータ上の処理プログラムモジュールとして存在してもよいし、一部または全部が専用のハードウェアで構成されていてもよい。
【００３４】
画像入力部１は、図１に示したシステムの外部からデジタル化された限定色画像データを入力し、メモリ部２に転送する。メモリ部２は、前記画像入力部１から入力された画像データや、画質改善後の画像データ、さらに画質改善処理に用いられる各種の途中の演算結果や処理パラメータなどを保持する。画像処理部３は、メモリ部２に保持された処理対象の画像に対して画質改善処理を施す。画像出力部４は、画像処理部３により画質が改善された画像データなどを、図１に示したシステムの外部に出力する。制御部５は、各部の処理を制御する。
【００３５】
画像処理部３は、ブロック抽出部１１、注目色選択部１２、ブロック分類部１３、画質改善部１４などを含んで構成されている。ブロック抽出部１１は、原画像内から局所領域として、ここではＭ×Ｎ画素サイズのブロック（以下、Ｍ×Ｎブロックと呼ぶ）を抽出する。
【００３６】
注目色選択部１２は、ブロック抽出部１１で抽出したＭ×Ｎブロックの所定位置から２色の注目色Ｃ１，Ｃ２を選択する。
【００３７】
ブロック分類部１３は、ブロック抽出部１１で抽出したＭ×Ｎブロックを、そのブロックに含まれる線画像の種類に応じて分類する。本発明では線幅が∞の場合にも「線」として含める。従って、ブロックを分類することと線画像を分類することは同義である。分類の一例としては、細線、太線、その他に分類することができ、太線についてはさらに第１の太線、第２の太線に分類することができる。もちろん、その他の分類についてさらに細分してもかまわない。第１の太線および第２の太線としては、ここではそれぞれＣ１太線、Ｃ２太線であるものとする。このＣ１、Ｃ２は、注目色選択部１２で選択された注目色である。また、細線に分類されたブロックに関しては、Ｍ×Ｎブロックを含む（Ｍ＋２）×（Ｎ＋２）画素サイズ以下のブロック内の画素値から、第１の太線（Ｃ１太線）、第２の太線（Ｃ２太線）、その他のいずれかに再分類する。
【００３８】
画質改善部１４は、ブロック分類部１３で細線、第１の太線（Ｃ１太線）、第２の太線（Ｃ２太線）に分類されたブロックについて、それぞれの分類に対応した画質改善処理を行う。なお、上述のように細線に分類されたブロックは、第１の太線（Ｃ１太線）、第２の太線（Ｃ２太線）、その他に再分類することによって、第１の太線（Ｃ１太線）と第２の太線（Ｃ２太線）に対応した画質改善処理を利用することができる。本発明における画質改善部１４において行う画質改善処理は、エッジ方向を推定し、そのエッジ方向から面積占有率に従ってアンチエイリアス画像またはアンチエイリアス拡大画像あるいは拡大画像を生成するものである。もちろん、画質改善処理としてこれに限られるものではないが、以下の説明ではこの方法を用いた画質改善処理を行うものとする。
【００３９】
さらに画質改善部１４は、ブロック分類部１３で細線に分類された後に第１の太線（Ｃ１太線）に分類されたブロックに関して、所定部位に第１の太線（Ｃ１太線）としての画質改善処理を行い、細線に分類された後に第２の太線（Ｃ２太線）に分類されたブロックに関して、所定部位に第２の太線（Ｃ２太線）としての画質改善処理を行う。
【００４０】
この画質改善部１４は、角度概算部２１、角度精算部２２、画素値出力部２３などを含んで構成されている。角度概算部２１は、ブロック抽出部１１で抽出したＭ×Ｎブロックを含む原画像の（Ｍ＋１）×（Ｎ＋１）画素サイズ以下の所定の大きさのブロックの画素から、Ｍ×Ｎブロックが水平方向、垂直方向のいずれに属するかを概算角度として判定する。
【００４１】
角度精算部２２は、角度概算部２１で決定された概算角度が水平方向である場合には、ブロックの左右方向にそれぞれ所定パターンの続く長さから角度を精算する。また、概算角度が垂直方向である場合には、ブロックの上下方向にそれぞれ、所定パターンの続く長さから角度を精算する。更に、角度精算部２２の判定処理において判定された角度が、所定条件を満たし、４５度に近い場合には、再びブロックの所定の４５度方向に所定パターンの続く長さから角度を精算する。
【００４２】
画素値出力部２３は、角度精算部２２で得られた角度に従って、Ｍ×Ｎブロックと対応する画質改善画像内の所定位置に所定の数だけ画素値を出力する。この処理には、例えば角度精算部２２で得られた角度をエッジ方向とした面積占有率を用いたアンチエイリアス処理またはアンチエイリアス拡大処理、あるいはそれらをベースとした拡大処理を行うことができる。なお、画質改善部１４の処理は、画素の参照開始位置、書き込み開始位置などの所定位置情報を除き、第１の太線（Ｃ１太線）と第２の太線（Ｃ２太線）の処理は対称的に行われる。また、上述の画質改善部１４の構成では、角度概算部２１及び角度精算部２２は、ブロックに含まれる線画像の方向性を認識し、画素値出力部２３は、認識された方向に従って画質改善処理を行うものと見ることもできる。
【００４３】
なお、画像処理部３は、限定色画像を対象としているため、処理に入る前に、入力された画像が限定色画像であるかどうかを判定する処理部を設けても良いし、入力された画像が限定色画像でない場合には処理を終了するようにしても良い。
【００４４】
以下、本発明の主要部である画像処理部３についてさらに説明してゆく。なお、以下の説明において、入力される原画像は限定色画像であるとする。また、Ｍ＝２，Ｎ＝２とし、また第１の太線はＣ１太線、第２の太線はＣ２太線であるものとして説明する。具体例についての説明においてはアンチエイリアス２倍拡大処理を行う場合について示すが、アンチエイリアス処理あるいは２倍拡大処理であってよいことは言うまでもない。
【００４５】
図２は、本発明の実施の一形態における画像処理部３の動作の一例を示すフローチャートである。動作を開始する前の準備として、原画像の縦横それぞれ２倍サイズで８ビット値の画像を記憶するためのメモリ領域をメモリ部２中に確保し、原画像を最近傍法等の公知の方法で拡大した画素値で初期化する。これは、画像処理部３から出力される画質改善画像（アンチエイリアス拡大画像）を書き込んでゆくためのメモリ領域であり、画質改善部１４における画質改善処理の対象となる画像である。２倍拡大の処理は、例えば画像処理部３内の図示しない拡大処理部、あるいは制御部５で行うことができ、これらが本発明の拡大手段を構成する。
【００４６】
なお、この例では、入力される原画像の画素値が色値そのものであっても良いし、カラーパレット番号であっても良い。後者の場合には、通常、画像のヘッダ部にカラーマップが付されているので、このカラーマップに従って、原画像に格納されているパレット番号から実際の色を求めてこの色値を画素値として使用しても良いし、カラーパレット番号自体を画素値として使用しても良い。但し、後述するように、画質改善部３４における画質改善画素値を出力する際には、それぞれ適切な方法で画素値の計算を行う必要がある。
【００４７】
まず、Ｓ１０１において、ブロック抽出部１１により原画像の中からＭ×Ｎ画素サイズのブロック画像を抽出する。この例ではＭ＝２、Ｎ＝２としているので、２×２画素サイズのブロック画像（２×２ブロック）を抽出する。図３は、ブロック抽出部１１で抽出される２×２ブロック画像の一例の説明図である。ブロック抽出部１１では、原画像の端から１画素ずつシフトさせた２×２画素サイズのブロック画像を順次抽出してゆく。そして、抽出したブロック画像を処理対象とし、以下の処理によって画質を改善し、出力される画素値をメモリ部２内の対応する位置に書き込んでゆく。以降の処理は１つのブロック画像についての処理であり、この処理について説明する。
【００４８】
図２に戻って、Ｓ１０２において、ブロック抽出部３１により抽出したＭ×Ｎ画素サイズのブロック画像から注目色Ｃ１、Ｃ２を選択する。この例ではＭ＝２、Ｎ＝２であり、２×２ブロックに対して、常に上側２×１ブロックの左側画素をＣ１、右側画素をＣ２として選択することにする。
【００４９】
Ｓ１０３において、Ｓ１０１でブロック抽出部１１により抽出した１つの２×２ブロックについて、そのパターンが細線、Ｃ１太線、Ｃ２太線、あるいはその他のいずれかに該当するかを判定する。図４は、２×２ブロックの分類方法の一例の説明図である。図４（Ａ）に示すように左下及び右上に同じ色（Ｃ２）が存在し、かつ右下の色Ｃ３≠Ｃ２である場合と、図４（Ｂ）に示すように左上及び右下に同じ色（Ｃ１）が存在し、かつ左下の色Ｃ４≠Ｃ１である場合に、細線と判定する。また図４（Ｃ）に示すように左上、左下、右下の画素が同じ色（Ｃ１）である場合にはＣ１太線と判定し、図４（Ｄ）に示すように左下、右上、右下の画素が同じ色（Ｃ２）である場合にはＣ２太線判定する。ここで、細線には図４（Ａ）、（Ｂ）に示した２種類があり、Ｃ３及びＣ４の画素値はそれぞれＣ３≠Ｃ２、Ｃ４≠Ｃ１を満たせば何でも良いものとする。
【００５０】
なお、本発明の画質改善処理は、Ｃ１、Ｃ２の具体的な色に左右されない。従って、以降の説明では、図示の都合上、２×２ブロックの左上画素の色Ｃ１については黒く塗りつぶして示し、右上画素の色Ｃ２については白く抜いて示すこととする。なお、図４に示す４つのパターンは、二つの細線を同一としてみると、パターンの形状である、市松、Ｌ字、逆Ｌ字という呼び方を使うことができるので、併せて以後の説明で使用する。左上画素がＣ１であれば、市松は細線、Ｌ字はＣ１太線、逆Ｌ字はＣ２太線に対応する。左上画素をＣ１とすることによって、図４に示す各パターンの色が入れ替わった場合でも、同じ関係となることが理解できよう。
【００５１】
なお、図４に示す４パターンとも、２×２ブロックの上側にある２つの画素値がＣ１、Ｃ２で異なっている。従って、細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）の判定の際には、まず２×２の上側にある２つの画素値Ｃ１、Ｃ２が異なるか否かを先に調べておき、その後にいずれのパターンであるかを判定しても良い。図５は、２×２ブロックの上部２×１画素による分類方法の一例の説明図である。例えば図５（Ａ）に示すように２×２ブロックの上部の２つの画素とも等しい場合には、細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）のいずれのパターンにも該当しないと判断できる。例えば４画素とも同じ色であったり、上側の２画素と下側の２画素の色が異なる、あるいは、下側のそれぞれの画素が上側の色と異なる等の場合がある。
【００５２】
また、図５（Ｂ）に示したように、上側の２つの画素値が異なる場合には、図５（Ｃ）〜（Ｆ）に示した細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）のいずれかのパターンである可能性がある。従って、図５（Ｂ）に示すように上部の２つの画素値が異なる場合に、細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）のパターンを検出するように構成すればよい。
【００５３】
図５（Ａ）の場合、及び図５（Ｂ）の場合であっても細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）のいずれのパターンでもない場合には、この例では当該２×２ブロックに対しては画質改善処理を行わず、Ｓ１１１へ進んで全ての２×２ブロックを対象としたか否かを判定し、まだ処理対象としていない２×２ブロックが残っている場合にはＳ１０１に戻って次の２×２ブロックの抽出を行う。このように、この例では２×２の上側の２×１ブロックから選択した注目色Ｃ１、Ｃ２が異なる場合にのみ処理を行う。なお、図５（Ｂ）の場合であっても細線（市松）、Ｃ１太線（Ｌ字）、Ｃ２太線（逆Ｌ字）のいずれのパターンでもない場合としては、例えば、左側の２画素がＣ１で右側の２画素がＣ２のパターンや、さらに下側の２画素にＣ１，Ｃ２以外の色が存在するパターンなどが含まれる。
【００５４】
図２に戻り、Ｓ１０３で２×２ブロックが細線（市松）に分類されたと判定された場合には、Ｓ１０４に進んで２×２ブロック内で注目色Ｃ１の画素数（以下、Ｃ１画素数）と注目色Ｃ２の画素数（以下、Ｃ２画素数）の大小によって、それぞれ場合分けを行う。Ｃ１画素数の方が多い（つまりＣ１画素数＝２、Ｃ２画素数＝１）ときには、注目色Ｃ１の線が存在しているものと判定し、Ｓ１０７においてＣ１太線（Ｌ字）に分類する。また、Ｃ２画素数の方が多い（つまりＣ２画素数＝２、Ｃ１画素数＝１）ときには、注目色Ｃ２の線が存在しているものと判定し、Ｓ１０８においてＣ２太線（逆Ｌ字）に分類する。Ｃ１太線、Ｃ２太線に分類された場合には、Ｓ１０９に処理を進める。Ｓ１０９の処理は後述する。
【００５５】
Ｓ１０４においてＣ１画素数とＣ２画素数が等しい（つまりＣ２画素数＝２、Ｃ１画素数＝２）のときには、更にＳ１０５、Ｓ１０６に進んで判定処理を行う。Ｓ１０５では、２×２ブロックを中央に含む４×４画素のブロックのＣ１画素数とＣ２画素数を計数する。そしてＳ１０６において、Ｃ１画素数とＣ２画素数をそれぞれの所定値と比較する。ここではそれぞれの所定値の具体例として、いずれも６として示している。すなわち、Ｃ１画素数≦６か否か、および、Ｃ２画素数≦６か否かを判定する。Ｃ１画素数≦６ならば注目色Ｃ１の線が存在しているものと判定し、Ｓ１０７においてＣ１太線（Ｌ字）に分類する。また、Ｓ１０６においてＣ２画素数≦６ならば注目色Ｃ２の線が存在しているものと判定し、Ｓ１０８においてＣ２太線（逆Ｌ字）に分類する。Ｃ１太線、Ｃ２太線に分類された場合には、Ｓ１０９に処理を進める。もちろん所定数は６に限られるものではない。
【００５６】
Ｓ１０６でＣ１太線またはＣ２太線のいずれにも分類されなかった場合には、画質を改善するための処理を行わずに、当該ブロックの処理を終了してＳ１１１へ進み、次のブロックの処理に移る。
【００５７】
Ｓ１０３でＣ１太線、Ｃ２太線に分類された場合、及びＳ１０７でＣ１太線、Ｓ１０８でＣ２太線に分類された場合には、Ｓ１０９でそれぞれＣ１太線用またはＣ２太線用の方法を用いて、原画像でのドットの方向（水平ｏｒ垂直）を概算し、更に接続長から角度を精算する。更にＳ１１０において、Ｓ１０９で求めたドットの方向及び角度に基づいて、２倍拡大された原画像の相当位置に、精算角度から求められるエッジの面積占有率に従って画素を出力する。
【００５８】
全ての２×２ブロックを抽出し、処理対象としたか否かをＳ１１１で判定し、未処理の２×２ブロックが残っている場合には、当該未処理の２×２ブロックを処理対象とすべく、Ｓ１０１へ戻る。全ての２×２ブロックについて処理を終えたら、画像処理部３における処理を終了する。
【００５９】
以下、図２におけるＳ１０９、Ｓ１１０の処理について詳細に説明してゆく。図６、図７は、画像処理部３における画質改善部１４の処理の一例を示すフローチャートである。この処理は、図２のＳ１０９及びＳ１１０に対応している。まずＳ１２１において、２×２ブロックがＣ１太線に分類されたのか、あるいはＣ２太線に分類されたのかを判定する。例えば図２のＳ１０３及びＳ１０７で２×２ブロックがＣ１太線であると判定された場合には、Ｓ１２２へ進む。また、例えば図２のＳ１０３及びＳ１０８で２×２ブロックがＣ２太線であると判定された場合には、図７のＳ１４１へ進む。
【００６０】
２×２ブロックがＣ１太線に分類された場合には、Ｓ１２２において、Ｃ１太線のエッジが水平方向へ延びるものか、あるいは垂直方向へ延びるものかを、角度概算部２１で概算して判定する。水平方向ならばＳ１２３に進み左右の接続長を計数し、垂直方向ならばＳ１２９に進み上下の接続長を計数する。
【００６１】
図８は、画像処理部３におけるＣ１太線に分類された２×２ブロックの接続方向（概算角度）および接続長（精算角度）の抽出処理の一例を示すフローチャート、図９は、Ｃ１太線に分類された２×２ブロックに対する角度概算処理の一例を示す図、図１０は、同じく接続方向及び接続長の抽出と画素補正処理の具体例の説明図である。図７におけるＳ１２２、Ｓ１２３、Ｓ１２９の処理を図８に示している。
【００６２】
まず、図７のＳ１２２においてＣ１太線のエッジが水平方向へ延びるものか、あるいは垂直方向へ延びるものかを判定する際には、図９（Ａ）にハッチングを施して示した画素と２×２ブロックを含む３×３画素サイズのブロックの画素値を参照する。そして、図８のＳ１６１およびＳ１７０において、ドットの接続方向（水平方向または垂直方向）を判定する。これは当該エッジの角度を概算する処理である。例えば図９（Ｄ）に示すように、２×２ブロックの上にある２つの画素（図９（Ｄ）ではｒ1 、ｒ2 で示した）と２×２ブロックの右の上側にある画素（図９（Ｄ）ではｑ1 で示した）が共に注目色Ｃ２であれば、このエッジは水平方向に延びていると推測することができる。この場合には、Ｓ１６１からＳ１６２へ進む。また、２×２ブロックの右側にある２つの画素（図９（Ｅ）ではｑ1 、ｑ2 で示した）と２×２ブロックの上部の右側にある画素（図９（Ｅ）ではｒ2 で示した）が共に注目色Ｃ２であれば、このエッジは垂直方向に延びていると推測することができる。この場合には、Ｓ１７０からＳ１７１へ進む。両方とも満たさない場合には、当該２×２ブロックについての処理を終了する。
【００６３】
なお、Ｓ１６１およびＳ１７０における判定の処理は、図９（Ｂ）に示したように、初めに２×２ブロックの上部の２画素のうちの右側の画素（図９（Ｂ）ではｒ2 で示した）と、右部の２画素のうち上側の画素（図９（Ｂ）ではｑ1 で示した）が共に注目色Ｃ２の画素であるか否かを先に調べる。そして、共に注目色Ｃ２であった場合に、図９（Ｄ）に示すように画素ｒ1 が注目色Ｃ２であれば水平方向であると判定し、図９（Ｅ）に示すように画素ｑ2 が注目色Ｃ２であれば垂直方向であると判定してもよい。また、図８に示すフローチャートでは初めにＳ１６１で水平方向か否かを判断し、次にＳ１７０で垂直方向か否かを判断しているが、これはその逆でも良い。
【００６４】
次に、例えば、接続方向が水平方向であった場合には、左右それぞれについて、ドットの接続長を算出する。例えば図１０（Ｂ）に示すように、２×２ブロックの左上にｐ1 ，ｐ2 ，…を設定する。また、２×２ブロックの右側に上述のｑ1 ，ｑ2 を含むｑ3 ，ｑ4 ，…を設定する。図８のＳ１６２で変数ｉ＝２として初期化し、Ｓ１６３でｐi-1 ＝Ｃ２、ｐi ＝Ｃ１であるか否かを判定し、条件に合致していればＳ１６４でｉに２を加算してＳ１６３へ戻り、左側に隣接する２画素の判定を繰り返す。このようにして、２×２ブロックの左上側に水平方向に連続するｐi-1 ＝Ｃ２、ｐi ＝Ｃ１のペアをｉにより計数してゆき、Ｓ１６５でｉを１／２にして左接続長とする。
【００６５】
さらに、Ｓ１６６で変数ｉ＝２に初期化して、Ｓ１６７でｑi-1 ＝Ｃ２、ｑi ＝Ｃ１であるか否かを判定し、条件に合致していればＳ１６８でｉに２を加算してＳ１６７へ戻り、右側に隣接する２画素の判定を繰り返す。このようにして、２×２ブロックの右側に水平方向に連続するｑi-1 ＝Ｃ２、ｑi ＝Ｃ１のペアをｉにより計数してゆき、Ｓ１６９でｉを１／２にして右接続長とする。
【００６６】
これによって、左右それぞれの方向の接続長が求められる。その後、図６のＳ１２４に進む。なお、図１０（Ｂ）にはｐ6 ，ｑ6 までしか示していないが、連続する限り計数してもかまわないし、ある程度で計数を打ち切ってもよい。
【００６７】
同様に、接続方向が垂直方向であった場合には、上下それぞれについて、ドットの接続長を算出する。例えば図１０（Ｃ）に示すように、２×２ブロックの上部に上述のｒ1 ，ｒ2 を含むｒ3 ，ｒ4 ，…を設定する。また、２×２ブロックの右下にｓ1 ，ｓ2 ，…を設定する。図８のＳ１７１で変数ｉ＝２として初期化し、Ｓ１７２でｒi-1 ＝Ｃ１、ｒi ＝Ｃ２であるか否かを判定し、条件に合致していればＳ１７３でｉに２を加算してＳ１７２へ戻り、上側に隣接する２画素の判定を繰り返す。このようにして、２×２ブロックの上側に垂直方向に連続するｒi-1 ＝Ｃ１、ｒi ＝Ｃ２のペアをｉにより計数してゆき、Ｓ１７４でｉを１／２にして上接続長とする。
【００６８】
さらに、Ｓ１７５で変数ｉ＝２として初期化し、Ｓ１７６でｓi-1 ＝Ｃ１、ｓi ＝Ｃ２であるか否かを判定し、条件に合致していればＳ１７７でｉに２を加算してＳ１７６へ戻り、右下側に隣接する２画素の判定を繰り返す。このようにして、２×２ブロックの右下側に垂直方向に連続するｓi-1 ＝Ｃ１、ｓi ＝Ｃ２のペアをｉにより計数してゆき、Ｓ１７８でｉを１／２にして下接続長とする。
【００６９】
これによって、上下それぞれの方向の接続長が求められる。その後、図６のＳ１３０に進む。なお、図１０（Ｃ）にはｒ6 ，ｓ6 までしか示していないが、垂直方向の場合にも、連続する限り計数してもかまわないし、ある程度で計数を打ち切ってもよい。
【００７０】
図６に戻り、Ｓ１２２で接続方向が水平方向であると判定され、Ｓ１２３で接続長を算出した後、Ｓ１２４において、接続方向が４５度条件を満たすか否かを判定する。もし、接続方向が４５度条件を満たしていれば、Ｓ１２５に進んで角度精算部２２によって接続方向の角度を精算する。エッジ方向が４５度に近い場合、単純に接続長だけでは４５度方向の角度を精度良く得ることができないため、十分な画質改善効果が得られない場合がある。そのため、４５度に近い場合にはその角度を精度良く得るための角度精算処理を行う。
【００７１】
図１１は、２×２ブロックがＣ１太線であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。例えば、Ｓ１２４における４５度条件の判定としては、接続長が短い場合を抽出すればよく、例えば図１１（Ａ）に示す左接続長＝２、右接続長＝１か、図１１（Ｂ）に示す左接続長＝１、右接続長＝２の場合に、接続方向が４５度方向であると判定することができる。それ以外の場合には接続方向が４５度方向でないと判定し、Ｓ１２６に進む。
【００７２】
Ｓ１２４において接続方向が４５度条件を満たす場合には、Ｓ１２５へ進んで、左接続長＝２、右接続長＝１ならば、図１１（Ｃ）に粗いハッチングを施して示した右下方向の左右に隣接する２画素のペアを参照してゆき、接続長を算出する。この接続長の算出は、水平方向や垂直方向の接続長の算出方法と同じであるため詳細を省略するが、この例では、左右に並ぶ２画素のペアのうち、左側画素がＣ１で右側画素がＣ２であるようなペアが続く長さが接続長となる。同様に、左接続長＝１、右接続長＝２ならば、図１１（Ｄ）に粗いハッチングを施して示した左上方向の左右に隣接する２画素のペアを参照してゆき、接続長を算出する。この場合にも、左右に並ぶ２画素のペアのうち、左側画素がＣ１で右側画素がＣ２であるようなペアが続く長さが接続長となる。なお、水平方向の場合にはそれぞれ左右、垂直方向の場合にはそれぞれ上下、いずれも２方向の接続長を算出していたが、４５度条件を満たした場合には、所定の１方向（この場合は右下、左上のどちらか片側のみ）の接続長を算出するようにする。以上のようにして４５度方向の接続長を算出したらＳ１２６へ進む。
【００７３】
一方、図６のＳ１２２で接続方向が垂直方向であると判定され、Ｓ１２９で接続長を算出した後、Ｓ１３０において、同様に接続方向が４５度条件を満たすか否かを判定する。もし、接続方向が４５度条件を満たしていれば、Ｓ１３１に進んで角度精算部２２によって接続方向の角度を精算する。
【００７４】
図１２は、２×２ブロックがＣ１太線であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。例えば、Ｓ１３０における４５度条件の判定としては、接続長が短い場合を抽出すればよく、例えば図１２（Ａ）に示す上接続長＝２、下接続長＝１か、図１２（Ｂ）に示す上接続長＝１、下接続長＝２の場合に、接続方向が４５度方向であると判定することができる。それ以外の場合には接続方向が４５度方向でないと判定し、Ｓ１３２に進む。
【００７５】
Ｓ１３０において接続方向が４５度条件を満たす場合には、Ｓ１３１へ進んで、上接続長＝２、下接続長＝１ならば、図１２（Ｃ）に粗いハッチングを施して示した右下方向の上下に隣接する２画素のペアを参照してゆき、この場合には、上下に参照色Ｃ２と参照色Ｃ１のペアが続く長さから再び接続長を算出する。なお、２画素のペアの参照は、ドットの補正を開始する位置に相当する原画像の２×２ブロック内のペアから数えて２画素目から開始する。同様に、上接続長＝１、下接続長＝２ならば、図１２（Ｄ）に粗いハッチングを施して示した左上方向の上下に隣接する２画素のペアを参照してゆき、この場合にも、上下に参照色Ｃ２と参照色Ｃ１のペアが続く長さから再び接続長を算出する。以上のようにして４５度方向の接続長を算出したらＳ１３２へ進む。
【００７６】
次に、Ｓ１２６、Ｓ１３２において行う処理について説明する。ここでは、左右方向または上下方向または４５度方向の接続長が抽出されているので、それぞれ対応する精算角度に応じて補正画素を出力してゆく。この例ではアンチエイリアス拡大処理による画質改善処理を行うものとしているので、予め２倍に拡大された原画像内に、処理後の値を出力してゆく。接続方向が水平方向の場合には、例えば図１０（Ｄ）〜（Ｇ）に示すように、接続方向である水平方向に対して、２倍原画像中に、接続長に応じた画素値を配分する。例えば、左方向の接続長がｋであれば、ｋ個分の長さの画素値を出力する。右方向についても同様に画素の配置を行えばよい。
【００７７】
なお、図１０（Ｄ）〜（Ｇ）に示す例では、左右の接続長が同じであった場合のドット配置の例を図示している。例えば図１０（Ｄ）は接続長が１の場合を、図１０（Ｅ）は接続長が２の場合を、図１０（Ｆ）は接続長が３の場合を、図１０（Ｇ）は接続長が４の場合を、それぞれ示している。左右の接続長が異なる場合、例えば左方向の接続長が２で右方向の接続長が４の場合には、左方向には図１０（Ｅ）の左側に配置した２ドット、右方向には図１０（Ｇ）の右側に配置した４個のドット、計６個のドットを対応位置に配置すればよい。
【００７８】
また、接続方向が垂直方向の場合には、例えば図１０（Ｈ）〜（Ｋ）に示すように、接続方向である垂直方向に対して、２倍原画像中に、接続長に応じた画素値を配分する。例えば、接続長がｋであれば、ｋ個分の長さの画素値を出力すればよい。図１０（Ｈ）〜（Ｋ）に示す例では、上下の接続長が同じであった場合のドット配置の例を図示しており、図１０（Ｈ）は接続長が１の場合を、図１０（Ｉ）は接続長が２の場合を、図１０（Ｊ）は接続長が３の場合を、図１０（Ｋ）は接続長が４の場合を、それぞれ示している。上下の接続長が異なる場合には、それぞれの上方向、下方向の接続長に応じたドットを対応位置に配置すればよい。
【００７９】
また、接続方向が４５度方向であった場合についても、水平方向、垂直方向の場合と同様にしてドットの配置を行うことができる。図１３は、２×２ブロックがＣ１太線であり接続方向が水平方向で４５度方向と判定された場合の処理の一例の説明図である。Ｓ１２４で４５度条件を満たしていて、Ｓ１２５で４５度方向の接続長を算出した場合には、Ｓ１２６において、図１３に示すように、水平方向に対応した右下方向または左上方向に画素値の配分を行う。
【００８０】
図１１（Ｃ）（図１３（Ｂ））で説明したようにＳ１２５において右下方向に接続長を計数した場合には、図１３（Ｄ）〜（Ｇ）に示すように画素値の配分を行う。また、図１１（Ｄ）（図１３（Ｃ））で説明したようにＳ１２５において左上方向に接続長を計数した場合には、図１３（Ｈ）〜（Ｋ）に示すように画素値の配分を行う。
【００８１】
図１４は、２×２ブロックがＣ１太線であり接続方向が垂直方向で４５度方向と判定された場合の処理の一例の説明図である。Ｓ１３０で４５度条件を満たしていて、Ｓ１３１で４５度方向の接続長を算出した場合には、Ｓ１３２において、図１４に示すように、垂直方向に対応した右下方向または左上方向に画素値の配分を行う。
【００８２】
図１２（Ｃ）（図１４（Ｂ））で説明したようにＳ１３１において右下方向に接続長を計数した場合には、図１４（Ｄ）〜（Ｇ）に示すように画素値の配分を行う。また、図１２（Ｄ）（図１４（Ｃ））で説明したようにＳ１３１において左上方向に接続長を計数した場合には、図１４（Ｈ）〜（Ｋ）に示すように画素値の配分を行う。
【００８３】
それぞれの画素値の配分は、例えば接続長がｋであれば、ｋ個分の長さの２ドットペアの画素値を出力することによって行うことができる。なお、配分する画素値の具体的な画素値については、水平方向、垂直方向のいずれの場合についても、４５度方向の場合を含めて後述する。上述の例では、便宜的に接続方向が水平方向の場合にＳ１２６で処理し、垂直方向の場合にＳ１３２で処理するようにしているが、もちろん共通化してもよい。
【００８４】
以上によって、Ｃ１太線（Ｃ１太線）の場合に関して、Ｓ１２６およびＳ１３２における画質改善のための処理が行われた。次に、Ｓ１２７およびＳ１３３に進んで、処理した２×２ブロックが図２のＳ１０６においてＣ１太線と判定されたのか、あるいはＳ１０４においてＣ１太線と判定されていたのかを判定する。Ｓ１０４においてＣ１太線と判定されていた場合（つまり、はじめからＣ１太線に分類されていた場合）には、処理を終了する。
【００８５】
Ｓ１０６においてＣ１太線と判定されてＣ１太線として処理された場合（つまり、はじめは細線に分類され、後にＣ１太線に分類された場合）であって、１回目の処理であった場合には、図６においてＳ１２８およびＳ１３４に進んで、注目する２×２ブロックの位置を所定方向に１画素分ずらして、再び処理を行う。
【００８６】
図１５は、細線と判定された後にＣ１太線に分類された場合の２回目のＣ１太線の処理を行うブロック位置の説明図である。例えば、細線と判定された後にＣ１太線に分類され、さらに接続方向が水平方向である場合には、図１５（Ａ）に示すように、１画素分下にずれた位置の２×２画素をＳ１２８で処理対象のブロックとして、再びＳ１２３に戻って水平方向のＣ１太線処理を繰り返す。
【００８７】
Ｓ１２６における処理は、上側がＣ２、下側がＣ１のエッジが存在している部分に対して画素の配置を行うものであり、Ｃ１太線を想定しているため下部はＣ１であることを前提として処理を行っている。そのため、例えば図１０（Ｄ）〜（Ｇ）や図１３に示したように、２×２ブロックの上側にしか画素の配置を行っていない。しかし、細線の場合には、２×２ブロックについて上側がＣ２で下側がＣ１のエッジとともに、上側がＣ１で下側がＣ２のエッジも存在することになる。そのため、上側のエッジの処理だけでは下側のエッジに対する画質改善処理が行われなくなってしまう。このような処理の抜けを防止するため、図１５（Ａ）に示すように処理対象の２×２ブロックに対して１画素分下にずらした２×２ブロック（内側に矩形を付して示した２×２ブロック）を処理対象とする。この１画素分下にずらした２×２ブロックは、Ｃ１太線のパターンについてＣ１とＣ２を入れ替えたものであるから、上述のＣ１太線の処理についてＣ１とＣ２を入れ替えた処理を行えばよい。これによって、細線の下側のエッジに関しても画素値の補正を行うことができる。
【００８８】
同様に、例えば細線と判定された後にＣ１太線に分類され、さらに接続方向が垂直方向である場合には、図１５（Ｂ）に示すように、１画素分左にずれた位置の２×２画素をＳ１３４で処理対象のブロックとして、再びＳ１２９に戻って水平方向のＣ１太線処理を繰り返す。
【００８９】
Ｓ１３２における処理は、右側がＣ２、左側がＣ１のエッジが存在している部分に対して画素の配置を行うものであり、Ｃ１太線を想定しているため左側部分には太線の内部であるＣ１の画素が存在していることを前提として処理を行っている。そのため、例えば図１０（Ｈ）〜（Ｋ）や図１４に示したように、２×２ブロックの右側にしか画素の配置を行っていない。しかし、細線の場合には、２×２ブロックについて右側がＣ２で左側がＣ１のエッジとともに、右側がＣ１で左側がＣ２のエッジも存在することになる。そのため、右側のエッジの処理だけでは左側のエッジに対する画質改善処理が行われなくなってしまう。このような処理の抜けを防止するため、図１５（Ｂ）に示すように処理対象の２×２ブロックに対して１画素分左にずらした２×２ブロック（内側に矩形を付して示した２×２ブロック）を処理対象とする。この１画素分左にずらした２×２ブロックは、Ｃ１太線のパターンについてＣ１とＣ２を入れ替えたものであるから、上述のＣ１太線の処理についてＣ１とＣ２を入れ替えた処理を行えばよい。これによって、細線の左側のエッジに関しても画素値の補正を行うことができる。
【００９０】
なお、１画素分下または左にずらした２×２ブロックについての処理を終えたら、さらにブロックをずらすことはせず、Ｓ１２７およびＳ１３３から処理を終了する。以上によって、最初に市松（細線）と分類された後にＣ１太線に分類された場合を含めて、Ｃ１太線（Ｃ１太線）と分類された２×２ブロックに関する全ての処理が終了する。
【００９１】
Ｃ２太線に分類された２×２ブロックの処理に関しても、Ｃ１太線の場合と同様である。図７のＳ１４１において、Ｃ２太線のエッジが水平方向へ延びるものか、あるいは垂直方向へ延びるものかを、角度概算部２１で概算して判定する。Ｃ２太線の場合も上述のＣ１太線の場合と同様に、例えば、２×２画素の上２画素と左側の上の画素の計３画素がＣ１であれば水平方向であると判定し、２×２画素の左２画素と上側の左の画素の計３画素がＣ１であれば垂直方向であると判定すればよい。水平方向ならばＳ１４２に進み左右の接続長を計数し、垂直方向ならばＳ１４８に進み上下の接続長を計数する。
【００９２】
図１６は、Ｃ２太線に分類された２×２ブロックに対する角度概算処理の一例を示す図、図１７は、画像処理部３におけるＣ２太線に分類されたブロックの接続方向および接続長の抽出と画質改善処理の具体例の説明図である。上述の水平方向、垂直方向の判定は、Ｃ１太線の場合と同様に、図１６（Ｂ）に示したように、初めに２×２ブロックの上側の左部の画素と、左側の上部の画素が共にＣ１画素であるか否かを先に調べ、ともにＣ１であった場合に、図１６（Ｄ）、（Ｅ）に示すように上側の右の画素がＣ１か否か、あるいは左側の下の画素がＣ１か否かを判定することによって、水平方向か垂直方向かを判定することができる。そして、水平方向であればＳ１４３において図１７（Ｂ）に粗いハッチングを施して示した２画素ずつについて、垂直方向であればＳ１４８において図１７（Ｃ）に粗いハッチングを施して示した２画素ずつについて、それぞれＣ２とＣ１のペアを計数し、それぞれの接続長を求める。
【００９３】
更に、求めたそれぞれの接続長から４５度方向の判定を行う。水平方向の場合はＳ１４３において４５度条件、例えば左接続長＝１、右接続長＝２または左接続長＝２、右接続長＝１であるか否かを判定し、４５度条件を満たしている場合には４５度方向であるとみなす。それ以外の場合には接続方向が４５度方向でないと判定し、Ｓ１４５の画質改善処理に進む。
【００９４】
図１８は、２×２ブロックがＣ２太線であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。Ｓ１４３において接続方向が４５度条件を満たす場合には、Ｓ１４４へ進んで、図１８（Ａ）に示すように左接続長＝２、右接続長＝１ならば、図１８（Ｃ）に粗いハッチングを施して示した右上方向の左右に隣接する２画素のペアを参照してゆき、接続長を算出する。この例では、左右に並ぶ２画素のペアのうち、左側画素がＣ１で右側画素がＣ２であるようなペアが続く長さが接続長となる。なお、２画素のペアの参照は、ドットの補正を開始する位置に相当する原画像の２×２ブロック内のペアから数えて２画素目から開始する。
【００９５】
同様に、図１８（Ｂ）に示すように左接続長＝１、右接続長＝２ならば、図１８（Ｄ）に粗いハッチングを施して示した左下方向の左右に隣接する２画素のペアを参照してゆき、接続長を算出する。この場合にも、左右に並ぶ２画素のペアのうち、左側画素がＣ１で右側画素がＣ２であるようなペアが続く長さが接続長となる。Ｃ１太線の場合と同様に、４５度条件を満たした場合には、所定の１方向（この場合は右上、左下のどちらか片側のみ）の接続長を算出している。以上のようにして４５度方向の接続長を算出したらＳ１４５へ進む。
【００９６】
一方、Ｓ１４１で接続方向が垂直方向であると判定され、Ｓ１４８で接続長を算出した後、Ｓ１４９において、同様に接続方向が４５度条件を満たすか否かを判定する。もし、接続方向が４５度条件を満たしていれば、Ｓ１５０に進んで角度精算部２２によって接続方向の角度を精算する。
【００９７】
図１９は、２×２ブロックがＣ２太線であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。例えば、Ｓ１４９における４５度条件の判定としては、接続長が短い場合を抽出すればよく、例えば図１９（Ａ）に示す上接続長＝２、下接続長＝１か、図１９（Ｂ）に示す上接続長＝１、下接続長＝２の場合に、接続方向が４５度方向であると判定することができる。それ以外の場合には接続方向が４５度方向でないと判定し、Ｓ１５１の画質改善処理に進む。
【００９８】
Ｓ１４９において接続方向が４５度条件を満たす場合には、Ｓ１５０へ進んで、上接続長＝２、下接続長＝１ならば、図１９（Ｃ）に粗いハッチングを施して示した左下方向の上下に隣接する２画素のペアを参照してゆき、この場合には、上下にＣ１とＣ２のペアが続く長さから再び接続長を算出する。同様に、上接続長＝１、下接続長＝２ならば、図１９（Ｄ）に粗いハッチングを施して示した右上方向の上下に隣接する２画素のペアを参照してゆき、この場合にも、上下にＣ１とＣ２のペアが続く長さから再び接続長を算出する。以上のようにして４５度方向の接続長を算出したらＳ１５１へ進む。
【００９９】
次に、Ｓ１４５、Ｓ１５１において行う処理について説明する。ここでは、左右方向または上下方向または４５度方向の接続長が抽出されているので、それぞれ対応する精算角度に応じて補正画素を出力してゆく。ここではアンチエイリアス拡大処理により画質の改善を図るものとしているので、予め２倍に拡大された原画像内に、処理後の値を出力してゆく。接続方向が水平方向の場合には、例えば図１７（Ｄ）〜（Ｇ）に示すように、接続方向である水平方向に対して、２倍原画像中に、接続長に応じた画素値を配分する。また、接続方向が垂直方向の場合には、例えば図１７（Ｈ）〜（Ｋ）に示すように、接続方向である垂直方向に対して、２倍原画像中に、接続長に応じた画素値を配分する。
【０１００】
また、接続方向が４５度方向であった場合についても同様にしてドットの配置を行うことができる。図２０は、２×２ブロックがＣ２太線であり接続方向が水平方向で４５度方向と判定された場合の処理の一例の説明図、図２１は、２×２ブロックがＣ２太線であり接続方向が垂直方向で４５度方向と判定された場合の処理の一例の説明図である。Ｓ１４３で４５度条件を満たしていて、Ｓ１４４で図２０（Ｂ）に示すように右上方向に４５度方向の接続長を算出した場合には、Ｓ１４５において、図２０（Ｄ）〜（Ｇ）に示すように右上方向に画素値の配分を行う。また、Ｓ１４３で４５度条件を満たしていて、Ｓ１４４で図２０（Ｃ）に示すように左下方向に４５度方向の接続長を算出した場合には、Ｓ１４５において、図２０（Ｈ）〜（Ｋ）に示すように左下方向に画素値の配分を行う。
【０１０１】
さらに接続方向が垂直方向であり、Ｓ１４９で４５度条件を満たしていて、Ｓ１５０で図２１（Ｂ）に示すように左下方向に４５度方向の接続長を算出した場合には、Ｓ１５１において、図２１（Ｄ）〜（Ｇ）に示すように左下方向に画素値の配分を行う。またＳ１４９で４５度条件を満たしていて、Ｓ１５０で図２１（Ｃ）に示すように右上方向に４５度方向の接続長を算出した場合には、Ｓ１５１において、図２１（Ｈ）〜（Ｋ）に示すように右上方向に画素値の配分を行う。
【０１０２】
なお、配分する画素値の具体的な画素値については、水平方向、垂直方向のいずれの場合についても、４５度方向の場合を含めて後述する。また、このＣ２太線の場合にも、上述の例のように便宜的に接続方向が水平方向の場合にＳ１４５で処理し、垂直方向の場合にＳ１５１で処理するほか、共通化してもよい。
【０１０３】
その後Ｓ１４６またはＳ１５２において、Ｃ２太線のうち、元々は市松（細線）と分類されていた２×２ブロックであり、１回目の処理であったか否かを判定する。初めは市松（細線）に分類された後、Ｃ２太線（Ｃ２太線）に分類された２×２ブロックについては、Ｓ１４７，Ｓ１５３において注目する２×２ブロックの位置を所定方向に１画素分ずらし、Ｓ１４２，Ｓ１４８へ戻って再び処理を行う。
【０１０４】
図２２は、細線と判定された後にＣ２太線に分類された場合の２回目のＣ２太線の処理を行うブロック位置の説明図である。例えば、細線と判定された後にＣ２太線に分類され、さらに接続方向が水平方向である場合には、図２２（Ａ）に示すように、注目している２×２ブロックに対して１画素分下にずれた位置の２×２画素をＳ１４７で処理対象のブロックとして、再びＳ１４２に戻って水平方向のＣ２太線の処理を繰り返す。また、例えば細線と判定された後にＣ２太線に分類され、さらに接続方向が垂直方向である場合には、図２２（Ｂ）に示すように、この場合には１画素分右にずれた位置の２×２画素をＳ１５３で処理対象のブロックとし、再びＳ１４８に戻って水平方向のＣ２太線の処理を繰り返す。なお、再度のＣ２太線の処理は、Ｃ２とＣ１を入れ替えて上述のＣ２太線の処理を行えばよい。
【０１０５】
以上によって、Ｃ２太線の場合の処理も終了する。なお、上述したように、図４に示したパターンについてＣ２とＣ１を入れ替えたパターンについても、全ての画素関係をＣ２とＣ１を入れ替えて上述の細線、Ｃ１太線、Ｃ２太線の分類によって処理を行えばよい。全てのブロックについて上述の処理を行うことによって、処理結果がメモり部２に格納されるので、処理後の画像（この例ではアンチエイリアス２倍拡大画像）を画像出力部４に出力すればよい。
【０１０６】
Ｓ１２６，Ｓ１３２，Ｓ１４５，Ｓ１５１において行う画素配置の具体的な処理方法について説明する。画質改善の処理によって配置する画素値の出力は、図１０、図１３、図１４、図１７、図２０、図２１に示したように、水平方向、垂直方向、４５度方向となっている。図２３は、水平方向のＣ１太線に対する精算角度と画素配置の一例の説明図、図２４は、水平方向のＣ１太線に対するエッジ線の面積占有率の説明図である。例えば図２３に示すＣ１太線の２×２パターンについて、水平方向の右へのエッジに関する処理を考えれば、この処理の上下（左右）反転、９０度単位回転、Ｃ１とＣ２の画素値の入れ替えの組み合わせで、全ての水平方向、垂直方向の処理を行うことができる。また、後述する図２５に示すように、４５度右下方向のエッジに関する処理を考えれば、やはりこの処理の上下（左右）反転、９０度単位回転、Ｃ１とＣ２の画素値の入れ替えの組み合わせで、全ての４５度方向の処理を行うことができる。従って、補正画素値としては、水平方向（片側）、４５度方向（片側）を用意すれば、全ての方向の補正において共通化できる。例えばテーブル化しておいて、各方向の処理の際に適切な形で使用することもできる。水平方向、４５度方向の補正画素値の計算は、アンチエイリアスにおける、エッジが画素に占める面積占有率の概念に従っている。以下、補正画素の計算方法をそれぞれ説明する。
【０１０７】
まず、図２３、図２４を参照しながら、接続方向が水平方向で、接続長がｎであった場合に、新たにｎ個の画素を対応位置に配置する際の画素値の計算方法を説明する。図２３（Ａ）に示した例はＣ１太線に分類される２×２ブロックの場合を示しており、この場合、２×２ブロックの右方向に上にＣ２、下にＣ１の２画素が続けば、水平右方向にエッジが存在する可能性がある。このような場合、上述の方法で接続長を算出して、図２３（Ｂ）に示すように接続長分だけＣ１太線の部分にドットを配置する。なお、図２３（Ｂ）に示す例は接続長が４の場合を示している。
【０１０８】
このとき、接続長が２であれば図２３（Ｃ）に示すエッジが、接続長が３であれば図２３（Ｄ）に示すエッジが、接続長が４であれば図２３（Ｅ）に示すエッジが、接続長が５であれば図２３（Ｆ）に示すエッジが、それぞれ存在すると考える。これらの場合に、接続長からエッジの角度がそれぞれ図２３（Ｃ）〜（Ｆ）に示すように精算されているので、画素を配置した際にこの角度のエッジ線が画素を占める面積占有率を計算すればよい。
【０１０９】
配分するｎ個の画素値は、図２４に示すように、１画素の一辺の長さをｎとおいて、１画素をｎ×ｎ単位にみなし、エッジ線の下側の面積を左側から順にＡ1 ，…，Ａn と置けば、台形の面積を計算して、ｋ＝１，…，ｎに対して、
Ａk ＝（（ｎ−（ｋ−１））＋（ｎ−ｋ））・ｎ／２
＝（２ｎ−２ｋ＋１）・ｎ／２
となる。それぞれの画素値は、画素全体の面積値（＝ｎ2 ）に対する比として、
Ｐ（Ａk ）＝（Ｃ２−（２ｎ−２ｋ＋１）・ｎ／２）／ｎ2 ×（Ｃ２−Ｃ１）
＝Ｃ２−（２ｎ−２ｋ＋１）／（２ｎ）×（Ｃ２−Ｃ１）
として求めることができる。なお、この式はＣ１太線の場合の値であり、図２３においてＣ２とＣ１を入れ替えたパターンの場合には、上記の式によって算出される値のＣ２とＣ１を入れ替えた値であり、すなわち
Ｐ（Ａk ）＝（Ｃ１−（２ｎ−２ｋ＋１）・ｎ／２）／ｎ2 ×（Ｃ１−Ｃ２）
＝Ｃ１−（２ｎ−２ｋ＋１）／（２ｎ）×（Ｃ１−Ｃ２）
となる。
【０１１０】
この処理は、注目色Ｃ１と注目色Ｃ２の間を均等にｎ等分し、ｎ色の中間色を配する処理である。後述するように、Ｃ１、Ｃ２がカラーマップのカラーパレット番号を指す場合には、上式にはＣ１、Ｃ２ではなく、Ｃ１、Ｃ２が指し示すカラーマップの実際の色を代入するものとする。なお、このような場合には、適切な色空間（例えばＲＧＢなど）において、ｎ等分した色を出力するようにする。また、やはり後述するように、アンチエイリアスすることなしに、限定色の原画像から限定色の拡大画像を直接作成する場合に、Ｃ１太線なら、
Ｐ（Ａk ）＝Ｃ１  …（２ｎ−２ｋ＋１）／（２ｎ）＞０．５のとき
＝Ｃ２  …（２ｎ−２ｋ＋１）／（２ｎ）≦０．５のとき、
Ｃ２太線なら、
Ｐ（Ａk ）＝Ｃ２  …（２ｎ−２ｋ＋１）／（２ｎ）＞０．５のとき
＝Ｃ１  …（２ｎ−２ｋ＋１）／（２ｎ）≦０．５のとき、
とすればよい。
【０１１１】
なお、上述のようにして接続長から２倍拡大画像に対して画質改善のための画素を配置するため、例えば原画像における接続長分の画素の半分までしか画素の配置が行われない。例えば接続長が４であれば、２倍拡大画像では８画素分の接続長に相当するが、配置される画素は４画素である。これは、例えば接続長が４であり、原画像上で４画素進んだ位置で再び段差が存在する場合、その段差に対する画質改善処理で２倍拡大画像における残りの４画素の配置が行われる。これによって、例えば斜めに直線状に連続するエッジについては、平坦部を挟む両側の段差部分から半分ずつ画質改善処理によって画素が配置され、全体として画質の改善を図ることができる。
【０１１２】
図２５は、４５度方向のＣ１太線に対する画質改善処理による画素配置の一例の説明図、図２６は、４５度方向のＣ１太線に対するエッジ線の面積占有率の説明図である。図２５、図２６を参照しながら、接続方向が４５度方向で、接続長がｎであった場合に、新たに２ｎ個の画素を対応位置に配置する際の画素値の計算方法を説明する。図２５（Ａ）に示した例はＣ２とＣ１を置き換えたＣ１太線パターンの場合を示しており、この場合、左接続長＝２、右接続長＝１で、２×２ブロックの右下方向に、左右にＣ２とＣ１のペア画素が続けば、右下方向にエッジが存在する可能性がある。このような場合も、上述の方法で接続長を算出して、図２５（Ｂ）に示すように接続長分だけドットを配置する。図２５（Ｂ）に示す例では、４５度方向の接続長が４の場合について示している。
【０１１３】
このとき、接続長が２であれば図２５（Ｃ）に示すエッジが、接続長が３であれば図２５（Ｄ）に示すエッジが、接続長が４であれば図２５（Ｅ）に示すエッジが、接続長が５であれば図２５（Ｆ）に示すエッジが、それぞれ存在すると考えられる。これらの場合も、接続長からエッジの角度がそれぞれ精算されているので、画素を配置した際にこの角度のエッジ線が画素を占める面積占有率を計算すればよい。
【０１１４】
配分する２ｎ個の画素値は、図２６に示すように、１画素の一辺の長さをｎ＋１とおいて、（ｎ＋１）×（ｎ＋１）単位とみなし、エッジ線の上側の面積を、２画素ペアの左画素について、左側から順にＡ1 ，…，Ａn と置き、２画素ペアの右画素について、左側から順にＢ1 ，…，Ｂn と置く。それぞれ三角形の面積を計算すると、ｋ＝１，…，ｎに対して、
Ａk ＝（ｎ−ｋ＋１）2 ・（ｎ＋１）／２ｎ
Ｂk ＝（ｎ＋１）2 −ｋ2 （ｎ＋１）／２ｎ
となる。従って、それぞれの濃度値は、画素全体の面積値（＝（ｎ＋１）2 ）に対する比として、
Ｐ（Ａk ）＝Ｃ２−（（ｎ−ｋ＋１）2 ・（ｎ＋１）／２ｎ）／（（ｎ＋１）2 ）×（Ｃ２−Ｃ１）
＝Ｃ２−（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））×（Ｃ２−Ｃ１）
Ｐ（Ｂk ）＝Ｃ２−（（ｎ＋１）2 −ｋ2 （ｎ＋１）／２ｎ）／（（ｎ＋１）2 ）×（Ｃ２−Ｃ１）
＝Ｃ２−（１−ｋ2 ／２ｎ（ｎ＋１））×（Ｃ２−Ｃ１）
として求めることができる。
【０１１５】
なお、上記の式はＣ２太線の場合の値であり、図２５においてＣ２とＣ１を置き換えたパターンの場合には、上記の式によって算出される値のＣ２とＣ１を置き換えた値であり、すなわち
Ｐ（Ａk ）＝Ｃ１−（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））×（Ｃ１−Ｃ２）
Ｐ（Ｂk ）＝Ｃ１−（１−ｋ2 ／２ｎ（ｎ＋１））×（Ｃ１−Ｃ２）
となる。
【０１１６】
この処理も、注目色Ｃ１と注目色Ｃ２の間を均等にｎ等分し、ｎ色の中間色を配する処理であり、やはり、Ｃ１、Ｃ２がカラーマップのカラーパレット番号を指す場合には、上式にはＣ１、Ｃ２ではなく、Ｃ１、Ｃ２が指し示すカラーマップの実際の色を代入するものとし、適切な色空間（例えばＲＧＢなど）において、ｎ等分した色を出力するようにする。また、アンチエイリアスすることなしに、限定色の原画像から限定色の拡大画像を直接作成する場合には、Ｃ１太線なら、
Ｐ（Ａk ）＝Ｃ１  …（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））＞０．５のとき
＝Ｃ２  …（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））≦０．５のとき
Ｐ（Ｂk ）＝Ｃ１  …（１−ｋ2 ／２ｎ（ｎ＋１））＞０．５のとき
＝Ｃ２  …（１−ｋ2 ／２ｎ（ｎ＋１））≦０．５のとき、
Ｃ２太線なら、
Ｐ（Ａk ）＝Ｃ２  …（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））＞０．５のとき
＝Ｃ１  …（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））≦０．５のとき
Ｐ（Ｂk ）＝Ｃ２  …（１−ｋ2 ／２ｎ（ｎ＋１））＞０．５のとき
＝Ｃ１  …（１−ｋ2 ／２ｎ（ｎ＋１））≦０．５のとき
とすればよい。
【０１１７】
上述したように、水平方向（片側）と４５度方向（片側）の補正画素値を接続長（精算角度）によってそれぞれテーブル化しておけば、本発明で使用する全ての補正角度はテーブルを引くことにより行うことができる。このとき、Ｃ２とＣ１を置き換えたパターンについてもテーブルを作成しておくとよい。
【０１１８】
以下、上述の説明について、いくつかの補足説明を行う。本発明では、「限定色画像は、局所的には有意な２色のみの情報に絞ることが可能である」という仮定を置いて、画像の全ての部分の処理を行っていることが大きな特徴である。実際、各注目ブロックの処理の初めに、注目色Ｃ１、Ｃ２（Ｃ１≠Ｃ２）を設定し、その後の処理もＣ１、Ｃ２のみに注目して処理を進めている。そして、常に２色のみに限定して考えることで、各部分で２値画像を処理しているのと同じように処理することができる。
【０１１９】
例えば色が画素毎に細かく変化している場合、Ｃ１太線、Ｃ２太線、細線のいずれにも分類されない場合が生じるが、そのような局所領域については処理を行わず、従って原画像（最近傍法で拡大された画像）がそのまま残ることになる。従って、上述のような仮定を置いて処理を行っても、この仮定に合わない部分について不具合が生じることはほとんどない。むしろ、限定色画像では線画などのように色が大きく異なるエッジ部が多く存在し、それらのエッジに対してアンチエイリアス処理が施され、あるいは拡大画像についてもエッジが滑らかに補間されるため、画像内の大部分で画質の向上を図ることができる。
【０１２０】
上述のように本発明では２色のみに限定して考えているので、アンチエイリアス処理を伴わない拡大処理を行う場合、つまり、出力画素値Ｃの値を、注目画素値Ｃ１、Ｃ２のうちのどちらか（面積占有率の多い側）にするような場合には、具体的な色を全く考慮する必要がないという利点がある。限定色画像は、カラーマップ付き画像として提供される場合が多いが、この場合には、各画素値には実際の色ではなく、カラーパレット番号が割り当てられている。例えば、２５６色カラーマップ付き画像には、ヘッダ部分に０〜２５５のパレット番号が何色を指し示すかというパレットテーブルが付され、画像データ部分には０〜２５５のパレット番号が与えられ、具体的な色はパレットテーブルを参照するという構造になっている。このようなカラーマップ付き画像に対して、本発明のアンチエイリアスを伴わない拡大処理を行う場合には、入力画像のカラーマップをそのまま出力画像のカラーマップにコピーしておき、拡大処理自体は、カラーマップの内部を参照することなく、画像データを直接処理することで行える。実際、本発明のアンチエイリアスを伴わない拡大処理の場合、色数が増大することもなく、注目したＣ１、Ｃ２のどちらかの色が割り当てられるので、カラーマップの具体的な値は処理に影響を与えない。このように、限定色画像がカラーマップ付き画像として入力された場合、本発明のアンチエイリアスを伴わない拡大処理は、画質、速度の面で非常に有利である。
【０１２１】
上述のように、本発明は、限定色画像の各局所領域の有意な情報は２色に限定できるという仮定を利用するものである。従来の技術のうち、２色の情報を抽出するという概念が使用されているものとして、上述した特許文献４が挙げられる。この方法では、拡大処理自体は線形補間法を使っている。そして、拡大後に、最終的に得られる拡大画像におけるエッジ部分の色を、原画像における限定色から得られる中間調の値で置き換えて、色の不具合を解消している。従って、この方式における注目色２色の決定は、画像を拡大する際に利用するというよりも、最終的に色を整える際に使用されているものであって、本発明の意味で有意色２色に限定して画像を拡大しているわけではない。一方、本発明では、限定色の原画像から原画像と同じ限定色の拡大画像を作成する際にも、各２×２ブロックで有意色を２色選択し、この２色に着目してエッジの方向及び長さを抽出して、補間画素としても直接この２色を配置している。つまり、限定色画像の各局所領域の有意な情報は２色に限定できるという仮定をそのまま利用していると言える。
【０１２２】
限定色画像の有意情報は局所的には２色に限定できる、という本発明の着眼点を利用すると、本発明の処理を開始する前に、入力された画像が限定色画像か否かを判定する際にも、適切な判定処理を行うことができる。例えば、入力された原画像全体を走査して、全２×２ブロックのうち、２色以下のブロックが９割以上であれば、限定色画像であると判定しても良い。限定色画像の判定の際に、このような処理を行うと、多階調画像から作成された限定色自然画像を対象外とすることができる。多階調画像から作成された限定色自然画像の場合、限定色画像でありながら、性質はむしろ多階調画像に近く、拡大処理も多階調画像用の処理を使うのが好ましいからである。逆に、色数が限定されていないフルカラーの画像であっても、線描画のような限定された色しか使用していない画像では、上述のような判定により限定色画像であると判断し、本発明を適用することが可能である。
【０１２３】
次に、細線（市松）に分類された２×２ブロックに関して、Ｃ１太線またはＣ２太線として処理を２回繰り返す理由を説明する。図２７は、もともとＣ１太線と判定された場合と細線（市松）と判定された場合の違いの説明図である。図２７（Ａ）、（Ｂ）には、もともとＣ１太線と判定された場合を示している。もともとＣ１太線と判定された２×２ブロックは、太線の片側（この例では上側）に補正処理が行われる。では、太線のもう一方の側（この例では下側）はどうかというと、図２７（Ａ）に示すように、単なるステップエッジのような部分では上側のエッジの処理のみでよいことは明らかであろう。この場合としては、ある領域が塗りつぶされていたり、線幅が非常に広い線分などが該当する。
【０１２４】
また、図２７（Ｂ）に示すように、太線の上側のエッジに対して２×２ブロックａによってＣ１太線の補正処理が施された後、処理が進んで、太線の反対側（下側）のエッジについては、２×２ブロックｂが処理対象となったときに、Ｃ２とＣ１を入れ替えたＣ１太線として再びＣ１太線の補正処理が行われる。これは、もっと太線の線幅が太くなったとしても同様である。従って、もともとＣ１太線、あるいはＣ２太線として処理された２×２ブロックに関しては、該２×２ブロックのみについて補正処理を行えば問題ない。
【０１２５】
次に、図２７（Ｃ）に示すように、細線（市松）部分をＣ１太線として処理した場合、２×２ブロックｃが処理対象となったときに細線の片側（この例では上側）に補正処理が行われる。では、細線のもう一方の側（この例では下側）はどうかというと、図２７（Ｃ）を見ると、処理が進んで、２×２ブロックｄが処理対象となったときに、パターンとしてはＣ２とＣ１を入れ替えたＣ１太線となる。しかし、図２７（Ｃ）に「＊」で示した画素がＣ２であるため、Ｃ１太線の判定（図９（Ｂ）のｒ２）で処理対象から外され、補正処理が施されないことになってしまう。
【０１２６】
そこで、市松の場合にはこの２×２ブロックｄについても同時に処理を行わせるように構成している。この処理が、例えば図６，図７におけるＳ１２８からＳ１２３へ、Ｓ１３４からＳ１２９へ、Ｓ１４７からＳ１４２へ、Ｓ１５３からＳ１４８への処理である。２回目の処理では、図９（Ｂ）に示したｒ２の値のチェックは行わないので、Ｃ１太線としての処理が可能である。
【０１２７】
もちろん、分類を行う際の判定の条件を弱めて、ｒ２の値のチェックを行わないように構成すれば、図２７（Ｃ）の２×２ブロックｃとｄをそれぞれ別々に処理することも可能である。そのため、細線の場合に限って２箇所に処理を行うというのは、必ずしも必須ではない。しかし、太線と違って細線の場合には処理した２×２ブロックから１画素ずれた２×２ブロックに、必ずもう片側のエッジが存在するので、細線と分かった時点で、両側を同時に処理する方が画質の点からも誤りがなく好ましい。
【０１２８】
上述の説明において接続長を算出する際の例として、水平、垂直、４５度ともそれぞれ６画素分までしか図示していないが、上述のように同様の手順で最大で画像の端まで画素を参照するようにしても良いし、あるいはある程度で打ち切るようにしてもよい。例えば上下左右に１６画素程度を参照すると、低角のエッジまで拾うことができ、確実に高画質化することができる。もちろん、これらの周辺の画素を参照する際には、画像の上下左右端などでは走査域が外にはみ出ないように注意する必要がある。また、上下左右に参照する範囲は、固定でなく、パラメータにしておいて画質や速度とのバランスによって選択できるようにしておいてもよい。
【０１２９】
さらに、上述の説明では４５度方向の接続長の算出の際に、一旦水平もしくは垂直方向の接続長を算出した後に、再度４５度方向の接続長を算出している。この処理は、接続長が２または１の場合にのみ行われるので、接続長を２回計算しても、前段の処理が軽いため大きな負荷にはならない。加えて、接続長は、水平ならば左右の両側、垂直ならば上下の両側、それぞれについて算出するが、４５度の場合は４５度方向のうちの片側のみ算出するだけなので、このことからも負荷はそれほど増加しない。もちろん、初めから水平、垂直、４５度を同時に判定するように構成してもよい。この場合、角度概算処理の際の参照画素は増加する。
【０１３０】
上述の処理では、既に処理された画素が再び画質改善処理対象となる場合がある。例えば細線（市松）の処理を行った場合、上述したように１ライン先にあるブロックも同時に処理される場合があるので、次のラインを処理した際に一部の画素の処理が重複する場合がある。このような場合は、先に処理された結果を優先するようにしてもよいし、その逆でも良いし、後から処理された結果との平均値を使うようにしても良い。
【０１３１】
上述の説明では、アンチエイリアス拡大を行う場合を基本に説明してきた。しかしこれに限らず、拡大を行わないアンチエイリアス処理や拡大処理に対しても適用可能である。図３３、図３４を用いて説明したように、アンチエイリアス拡大処理の概念は、アンチエイリアス処理や拡大処理の上位概念として位置づけることができる。従って、上述の処理によって作成したアンチエイリアス拡大画像を限定色化すれば拡大画像が得られるし、平均値縮小すればアンチエイリアス画像が得られるが、上述のように限定色を直接配置する方法を用いることによって、より簡易に拡大画像を得ることもできる。なお、以上の説明では、予め最近傍法で拡大した画像のエッジ部分に対して、図３４（Ｄ）の効果を与える処理を行っている。前述したように、本発明の画質改善処理の一つは拡大処理であるが、このような観点からは高解像度化と言い換えてもよい。
【０１３２】
一般に、限定色画像を拡大してプリンタ出力するような場合には、アンチエイリアス処理を行うことなく、このように拡大画像を直接作成する方が好ましい。このようにすることで、入力画像の総色数あるいはビット数と、出力画像の総色数あるいはビット数が一致し、色数の増加に伴う余計なメモリを用意する必要がない。アンチエイリアス処理を行うと適度なぼけ効果が出るので、画面上で拡大画像を視認する場合には好都合であるが、プリンタで出力するような場合には、画質の点からも、単なる色数の増加を伴わない拡大が好ましい。これは、限定色画像では、地図や図面など、画像内に２値的な要素（ある色Ｃと紙白の部分）が多いためでもある。なお、アンチエイリアス拡大画像を限定色化して拡大画像を得るための方法としては、上述のように、アンチエイリアス拡大画像の各画素を、原画像で使用されている限定色のうち、最も距離の近い限定色に置き換える方法を使うことができる。また、補正画素値の平均値縮小画素値を予めテーブル化しておけば、この値と原画像との重み付け平均によって直接アンチエイリアス画像を作成することもできる。
【０１３３】
さらに、上述の説明では画素値を新たに配置する際に、エッジが画素を通過する面積占有率に従って行っている。もちろん配置する画素の個数や濃度の種類は上述の例に限られるものではない。図２８は、配置する画質改善のための画素値の別の例の説明図である。例えば図２８に示した例では、接続長が５の場合の推定エッジ線を表している。図２８（Ａ）は上述した面積占有率によって補正画素値を求めたものであり、配置する画素値は、画素全体に対するハッチングで示した領域の面積比と等しい。
【０１３４】
一方、図２８（Ｂ）にハッチングで示した面積比は、推定されるエッジ線の面積占有率よりも小さく設定した例を示している。この例では、図２８（Ａ）の場合に比べてエッジ線が細くなる効果がある。出力機器の特性に応じて、このように面積占有率による補正画素値を基準として、補正画素値を予め一律に補正しておいてもよい。
【０１３５】
以上の説明では、各部分の処理を分かりやすくするために、それぞれエッジの方向毎に分けて説明している。しかし、本発明の一つの特徴である、細線部分も太線の処理法で共通化できるという点に加えて、上下（左右）反転、９０度単位回転、Ｃ１とＣ２の入れ替えの組み合わせによって、更により多くの部分を共通化できる。つまり、ブロックの参照開始の位置や書き込み開始の位置、細線（市松）の場合における２回目の処理位置、などの情報を管理しておけば、処理自体の構造は非常にシンプルなものとなる。特に上述の例の場合、細線、Ｃ１太線、Ｃ２太線の判定を２×２ブロックで行い、概算角度の判定を３×３ブロック内で行っているため、無駄な参照画素が少なく、高速でもある。また、このようにブロックを小さく取るということは、判定漏れを防ぐことにもつながり、確実に高画質化を実現することができる。
【０１３６】
上述のようにして作成されたアンチエイリアス拡大画像は、２倍拡大画像にアンチエイリアスが掛かった状態の画像であり、単に２倍拡大とアンチエイリアス（アンチエイリアス拡大）を同時に行うというだけではなく、アンチエイリアスを掛けた際の情報喪失を２倍拡大によって抑えてもいる。つまり、画像の情報が適切に保たれ、かつ高画質化されているので、この後段で更に拡縮する際にもより好都合となっている。
【０１３７】
さらに、限定色画像の任意倍の高画質拡大に本発明を適用することができる。本発明の方法を利用して高画質な任意倍拡大画像を作成する方法としては、いくつかの方法がある。図２９は、任意倍拡大処理の一例を示すフローチャートである。図２９に示す方法では、まずＳ１８１において、与えられた拡大倍率（ｑｘ、ｑｙ）に対して（ｑｘ：横方向倍率、ｑｙ：縦方向倍率）、（ｑｘ＋ｑｙ）／２＞２n を満たす最大の整数ｎ＞０を選択する。Ｓ１８２において、処理対象の画像となる限定色の入力画像を準備する。最初は原画像を処理対象の画像とする。Ｓ１８３において、上述の方法で処理対象の画像からアンチエイリアス２倍拡大画像を作成する。Ｓ１８４でｎ回反復したか否かを判定し、ｎ回まではＳ１８５でアンチエイリアス拡大画像を限定色化し、Ｓ１８２へ戻って、限定色化したアンチエイリアス拡大画像（これは限定色の拡大画像である）を新たな処理対象の画像とする。
【０１３８】
このようなアンチエイリアス２倍拡大画像＋限定色化の処理を、毎回、処理対象の画像を更新して計ｎ回繰り返す。その後、Ｓ１８６において、残りの倍率分を線形補間法などの所定の方法により拡大して、最後にＳ１８７で再び限定色化する。このような処理によって、原画像に対してｑｘ×ｑｙ倍拡大された画像を生成することができる。
【０１３９】
なお、Ｓ１８６で行う線形補間法はぼけを生じやすい拡大法であるが、本発明の方法で充分高い解像度に変換されたアンチエイリアス拡大画像は、更に２倍未満の線形補間法で拡大しても、線形補間法により発生するぼけの影響は少ない。このようにして作成された画像は、限定色の原画像に対してアンチエイリアス処理が施された拡大画像となっているので、最後に原画像と同じ色によって限定色化すれば、限定色の拡大画像が得られる。
【０１４０】
図３０は、任意倍拡大処理の別の例を示すフローチャートである。図３０に示す方法では、まず図２９で説明した処理と同様に、Ｓ１９１において、与えられた拡大倍率（ｑｘ、ｑｙ）に対して（ｑｘ：横方向倍率、ｑｙ：縦方向倍率）、（ｑｘ＋ｑｙ）／２＞２n を満たす最大の整数ｎ＞０を選択し、Ｓ１９２において、処理対象の画像となる限定色の入力画像を準備する。そしてＳ１９３において、上述の方法で処理対象の画像から、アンチエイリアス処理を施さないで限定色の２倍拡大画像を作成する。Ｓ１９４でｎ回反復したか否かを判定し、ｎ回まではＳ１９２へ戻って、Ｓ１９３による限定色の２倍拡大画像の作成処理を行う。
【０１４１】
このようなアンチエイリアスを伴わない限定色の２倍拡大処理を、毎回、処理対象の画像を更新して計ｎ回繰り返す。その後、Ｓ１９５において、残りの倍率分を最近傍法などの所定の方法により拡大する。このような処理によって、原画像に対してｑｘ×ｑｙ倍拡大された画像を生成することができる。
【０１４２】
なお、なお、最近傍法はジャギーを生じやすい拡大法であるが、本発明の方法で充分高い解像度に変換された画像は、更に２倍未満の最近傍法で拡大しても、最近傍法の影響から発生するジャギーの影響は少ない。これは特に、プリンタ出力の場合には、限定色画像にはスクリーンによる２値化処理が行われるため、最後の最近傍法の拡大によるジャギーは、スクリーンの網点の構造が与えるジャギーに吸収されてしまう。言い換えると、最後の拡大処理をより高画質な方式に変更しても、スクリーン構造が与えるジャギーが発生する。従って、最後の最近傍法は、プリンタ出力の場合には影響はほとんどないと言える。なお、最近傍法を使う別の理由としては、最近傍法も本発明と同じく、色数を増加させない拡大処理のため、処理に好都合であるからでもある。
【０１４３】
図３１は、任意倍拡大処理のさらに別の例を示すフローチャートである。図３０に示す方法では、Ｓ２０１において処理対象の画像となる限定色の入力画像を準備し、Ｓ２０２において、上述の本発明の方法でアンチエイリアスを伴わない限定色の２倍拡大処理を行う。その後、Ｓ２０３において、残りの倍率を全て最近傍法で拡大する。
【０１４４】
この方法の場合、残りの倍率を最近傍法で拡大することによるジャギーの影響がより強くなる。しかし、それでもなお、本発明による２倍拡大処理を初めに行うことの効果が大きく、全ての倍率を最近傍法で拡大する方法と比べて、なお大きな高画質化の効果を発揮できる。この図３１に示す方法を使った場合、図２９，図３０で説明した本発明の２倍拡大を繰り返す方式に比べて更に高速となる。このように、図３１に示した方法は、上記の２つの方法よりも高速であり、また従来の方法に比べて充分高画質を達成できるため、有力な方法と言える。
【０１４５】
もちろん任意倍拡大の方法は、２倍拡大を使う方法以外に、直接ｎ倍（ｎは整数）を得る方法を利用することも可能である。これには、エッジ線を推定し、画素をより細かく分割しておいてエッジ線が画素を横切る面積占有率を図２３〜図２６、図２８などで説明したようにして、水平（片側）、４５度（片側）に対して求めればよい。一般には、２倍毎に画像を更新して行く方がその都度細かい角度の補正が行われてゆくので、よりジャギーの現れにくい画像を得ることができるが、このような２倍よりも大きな倍率へ直接拡大する方式を組み合わせると、画質を劣化させずにより高速化できる場合がある。
【０１４６】
上述の例では、基本的なブロック単位をＭ＝２、Ｎ＝２として説明したが、もちろんこれ以外のブロック単位でも同様である。つまり、細線、Ｃ１太線、Ｃ２太線の抽出を行ってから、細線部をＣ１太線、Ｃ２太線のどちらかに分類し、更にはＣ２太線の処理は対称性を利用してＣ１太線の処理で共有化して、結局は全ての部分にＣ１太線用の処理を適用して画質を改善することができる。上述したように、細線は片側だけ見れば太線と同じ形をしているため、太線の片側を適切に補正する処理を構成しておけば、後は細線にも適用することができる。しかし、Ｍ＝２、Ｎ＝２というサイズは高速性と高画質性の二つの観点から見て優れているといえる。ブロックサイズが大きくなるに従って、判定が複雑になり処理時間が増えるし、更にブロックサイズが大きいことによって判定で拾えないような抜け漏れも増えてくるからである。本発明における画質改善方式の利点は、細線を太線とみなして、全ての部位に太線としての画質改善を行える処理の簡便性にあるが、Ｍ＝２、Ｎ＝２という小さなブロックサイズを用いることによって、更に高速性と高画質性を実現している。
【０１４７】
図３２は、本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。図中、３１はプログラム、３２はコンピュータ、４１は光磁気ディスク、４２は光ディスク、４３は磁気ディスク、４４はメモリ、５１は光磁気ディスク装置、５２は光ディスク装置、５３は磁気ディスク装置である。
【０１４８】
上述の本発明の実施の一形態の説明で示した画像処理部３の機能は、コンピュータにより実行可能なプログラム３１によっても実現することが可能である。その場合、そのプログラム３１およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶することも可能である。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク４１，光ディスク４２、磁気ディスク４３，メモリ４４（ＩＣカード、メモリカードなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【０１４９】
これらの記憶媒体にプログラム３１を格納しておき、例えばコンピュータ３２の光磁気ディスク装置５１，光ディスク装置５２，磁気ディスク装置５３，あるいは図示しないメモリスロットにこれらの記憶媒体を装着することによって、コンピュータからプログラム３１を読み出し、本発明の画像処理装置の機能または画像処理方法を実行することができる。あるいは、予め記憶媒体をコンピュータ３２に装着しておき、例えばネットワークなどを介してプログラム３１をコンピュータ３２に転送し、記憶媒体にプログラム３１を格納して実行させてもよい。あるいは、他のコンピュータにおいて記録媒体に格納されたプログラムを読み出し、コンピュータ３２に転送して実行しても良い。
【０１５０】
なお、コンピュータ３２は、図１に示すメモリ部２、制御部５と一体となってよいし、更に画像入力部１あるいは画像出力部４などと一体となっていてもよい。もちろん、本発明の一部の機能についてハードウェアによって構成することもできるし、あるいは、すべてをハードウェアで構成してもよい。
【図面の簡単な説明】
【０１５１】
【図１】本発明の第１の実施の形態を含むシステムの一例を示すブロック図である。
【図２】本発明の第１の実施の形態における画像処理部３の動作の一例を示すフローチャートである。
【図３】ブロック抽出部１１で抽出される２×２ブロック画像の一例の説明図である。
【図４】２×２ブロックの分類方法の一例の説明図である。
【図５】２×２ブロックの上部２×１画素による分類方法の一例の説明図である。
【図６】画像処理部３における画質改善部１４の処理の一例を示すフローチャートである。
【図７】画像処理部３における画質改善部１４の処理の一例を示すフローチャート（続き）である。
【図８】画像処理部３におけるＣ１太線に分類された２×２ブロックの接続方向（概算角度）および接続長（精算角度）の抽出処理の一例を示すフローチャートである。
【図９】Ｃ１太線に分類された２×２ブロックに対する角度概算処理の一例を示す図である。
【図１０】Ｃ１太線に分類された２×２ブロックに対する接続方向及び接続長の抽出と画素補正処理の具体例の説明図である。
【図１１】２×２ブロックがＣ１太線であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。
【図１２】２×２ブロックがＣ１太線であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。
【図１３】２×２ブロックがＣ１太線であり接続方向が水平方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図１４】２×２ブロックがＣ１太線であり接続方向が垂直方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図１５】細線と判定された後にＣ１太線に分類された場合の２回目のＣ１太線の処理を行うブロック位置の説明図である。
【図１６】Ｃ２太線に分類された２×２ブロックに対する角度概算処理の一例を示す図である。
【図１７】画像処理部３におけるＣ２太線に分類されたブロックの接続方向および接続長の抽出と画質改善処理の具体例の説明図である。
【図１８】２×２ブロックがＣ２太線であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。
【図１９】２×２ブロックがＣ２太線であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。
【図２０】２×２ブロックがＣ２太線であり接続方向が水平方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図２１】２×２ブロックがＣ２太線であり接続方向が垂直方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図２２】細線と判定された後にＣ２太線に分類された場合の２回目のＣ２太線の処理を行うブロック位置の説明図である。
【図２３】水平方向のＣ１太線に対する精算角度と画質改善処理による画素配置の一例の説明図である。
【図２４】水平方向のＣ１太線に対するエッジ線の面積占有率の説明図である。
【図２５】４５度方向のＣ１太線に対する画質改善処理による画素配置の一例の説明図である。
【図２６】４５度方向のＣ１太線に対するエッジ線の面積占有率の説明図である。
【図２７】もともとＣ１太線と判定された場合と細線（市松）と判定された場合の違いの説明図である。
【図２８】配置する画質改善のための画素値の別の例の説明図である。
【図２９】任意倍拡大処理の一例を示すフローチャートである。
【図３０】任意倍拡大処理の別の例を示すフローチャートである。
【図３１】任意倍拡大処理のさらに別の例を示すフローチャートである。
【図３２】本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。
【図３３】一般的な限定色画像の拡大処理に関わる画質改善処理の一例の説明図である。
【図３４】画質改善処理と面積占有率の概念の関係の一例の説明図である。
【符号の説明】
【０１５２】
１…画像入力部、２…メモリ部、３…画像処理部、４…画像出力部、５…制御部、１１…ブロック抽出部、１２…注目色選択部、１３…ブロック分類部、１４…画質改善部、２１…角度概算部、２２…角度精算部、２３…画素値出力部、３１…プログラム、３２…コンピュータ、４１…光磁気ディスク、４２…光ディスク、４３…磁気ディスク、４４…メモリ、５１…光磁気ディスク装置、５２…光ディスク装置、５３…磁気ディスク装置。
【図１】
0004623290.tif 000002
【図２】
0004623290.tif 000003
【図３】
0004623290.tif 000004
【図４】
0004623290.tif 000005
【図５】
0004623290.tif 000006
【図６】
0004623290.tif 000007
【図７】
0004623290.tif 000008
【図８】
0004623290.tif 000009
【図９】
0004623290.tif 000010
【図１０】
0004623290.tif 000011
【図１１】
0004623290.tif 000012
【図１２】
0004623290.tif 000013
【図１３】
0004623290.tif 000014
【図１４】
0004623290.tif 000015
【図１５】
0004623290.tif 000016
【図１６】
0004623290.tif 000017
【図１７】
0004623290.tif 000018
【図１８】
0004623290.tif 000019
【図１９】
0004623290.tif 000020
【図２０】
0004623290.tif 000021
【図２１】
0004623290.tif 000022
【図２２】
0004623290.tif 000023
【図２３】
0004623290.tif 000024
【図２４】
0004623290.tif 000025
【図２５】
0004623290.tif 000026
【図２６】
0004623290.tif 000027
【図２７】
0004623290.tif 000028
【図２８】
0004623290.tif 000029
【図２９】
0004623290.tif 000030
【図３０】
0004623290.tif 000031
【図３１】
0004623290.tif 000032
【図３２】
0004623290.tif 000033
【図３３】
0004623290.tif 000034
【図３４】
0004623290.tif 000035