(57)【要約】【課題】  簡潔な構成で２値文字線画画像のエッジ部の面積占有率の推定を高精度に行い、細部の情報を保ったまま適切にアンチエイリアス処理すると共に高画質に拡大できる画像処理装置および画像処理方法を提供する。【解決手段】  ブロック抽出部１１で抽出した２×２ブロックについて、ブロック分類部１２は、細線、黒太線、白太線、その他のいずれかに分類し、さらに細線について黒太線、白太線と見なせるものと、その他に分類する。黒太線と白太線は白黒反転で画質改善部１３を共通化できる。画質改善部１３では、太線用の処理として、角度概算部２１で水平方向または垂直方向、４５度方向に分類し、角度精算部２２で角度を精算する。画素値出力部２３は、精算された角度に従って画質改善処理を行い、アンチエイリアス拡大画像を出力する。最初に細線に分類されたブロックについては、隣接するブロックについても処理を行う。【選択図】  図１
2005039802.tif 000002
【特許請求の範囲】
【請求項１】
２値の原画像の画質改善処理を行う画像処理装置において、原画像内から所定のＭ×Ｎ画素サイズのブロックを抽出するブロック抽出手段と、前記ブロック抽出手段により抽出したブロックを該ブロックに含まれる線画像の種類に応じて分類するブロック分類手段と、前記ブロック分類手段で分類されたブロックについてそれぞれの分類に対応した画質改善処理を行う画質改善手段を有することを特徴とする画像処理装置。
【請求項２】
前記ブロック分類手段は、前記ブロックを細線、第１の太線、第２の太線を含むいずれかに分類することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画質改善手段は、原画像に対する画質改善処理として、アンチエイリアス処理または拡大処理あるいはアンチエイリアスおよび拡大処理のいずれかを行うことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第１の太線は黒太線であり、前記第２の太線は白太線であることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記ブロック抽出手段は、Ｍ＝２、Ｎ＝２として２×２画素サイズのブロックを抽出し、前記ブロック分類手段は、黒と白が互いに隣接する市松パターンを細線、所定の３画素が黒画素であり１画素が白画素であるパターンを第１の太線、所定の３画素が白画素であり１画素が黒画素であるパターンを第２の太線として分類することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記画質改善手段は、前記ブロック分類手段で前記第１の太線に分類されたブロックについて該ブロックあるいはさらに該ブロックの周囲の画素に対して第１の太線用の画質改善処理を行い、前記第２の太線に分類されたブロックについて該ブロックあるいはさらに該ブロックの周囲の画素に対して第２の太線用の画質改善処理を行うことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記第１の太線は黒太線であり、また前記第２の太線は白太線であり、前記画質改善手段は、画素値を反転することにより前記第１の太線用の画質改善処理または前記第２の太線用の画質改善処理のいずれか一方により前記第１の太線および前記第２の太線に分類されたブロックについての画質改善処理を行うことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画質改善手段は、前記第１の太線用または前記第２の太線用の画質改善処理を行う際に当該太線の方向が垂直方向または水平方向のいずれに属するかを判定する角度概算手段と、前記角度概算手段の判定結果を受けて当該太線の角度を決定する角度精算手段と、前記角度精算手段の結果に応じて改善画素値を出力する画素値出力手段を有することを特徴とする請求項６または請求項７に記載の画像処理装置。
【請求項９】
前記角度概算手段は、前記ブロック抽出手段で抽出されたＭ×Ｎサイズブロックの周囲の画素値から、垂直方向または水平方向のいずれに属するかを判定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記角度精算手段は、前記角度概算手段において判定された水平方向、垂直方向の各場合に応じて、当該方向における所定のパターンの連続性を検出することにより太線の角度を決定することを特徴とする請求項８または請求項９に記載の画像処理装置。
【請求項１１】
前記角度精算手段は、前記角度概算手段において判定された水平方向、垂直方向について所定の条件を満たした場合に４５度方向であると判定し、当該４５度方向における所定のパターンの連続性を検出して太線の角度を決定することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記角度概算手段は、前記ブロック抽出手段で抽出されたＭ×Ｎサイズブロックを含む所定の（Ｍ＋１）×（Ｎ＋１）サイズ以下のブロック内の画素値から、当該太線の方向が垂直方向または水平方向のいずれに属するかを判定することを特徴とする請求項８ないし請求項１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記ブロック分類手段は、細線に分類されたブロックに対して、更に、当該ブロックの周囲の画素値から、前記第１の太線または前記第２の太線あるいはその他のいずれかに分類することを特徴とする請求項２に記載の画像処理装置。
【請求項１４】
前記ブロック分類手段は、細線に分類されたブロックについて、前記ブロック抽出手段で抽出されたＭ×Ｎサイズブロックを含む所定の（Ｍ＋２）×（Ｎ＋２）サイズ以下のブロック内の画素値における黒画素の総量が所定数以下の場合に前記第１の太線に分類し、白画素の総量が所定数以下の場合に前記第２の太線に分類することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記画質改善手段は、前記ブロック分類手段で初めに細線であると分類された後に前記第１の太線または前記第２の太線に分類されたブロックに関しては、前記第１の太線用の画質改善処理または前記第２の太線用の画質改善処理を行った後に、該ブロックから１画素分所定方向にずれたブロックを対象として、再び画質改善処理を繰り返すことを特徴とする請求項１３または請求項１４に記載の画像処理装置。
【請求項１６】
２値の原画像の画質改善処理を行う画像処理装置において、原画像内から所定のＭ×Ｎ画素サイズのブロックを抽出するブロック抽出手段と、抽出したブロックに含まれる線画像の方向性を認識する認識手段と、前記認識手段により認識された方向に線画像の画質改善処理を行う画質改善手段を有することを特徴とする画像処理装置。
【請求項１７】
２値の原画像の画質改善処理を行う画像処理方法において、原画像内から所定のＭ×Ｎ画素サイズのブロックをブロック抽出手段で抽出し、抽出したブロックを該ブロックに含まれる線画像の種類に応じてブロック分類手段で分類し、分類されたブロックについてそれぞれの分類に対応した画質改善処理を画質改善手段で行うことを特徴とする画像処理方法。
【請求項１８】
抽出した前記ブロックを、細線、第１の太線、第２の太線を含むいずれかに分類することを特徴とする請求項１７に記載の画像処理方法。
【請求項１９】
原画像に対する画質改善処理として、アンチエイリアス処理、または拡大処理、あるいはアンチエイリアスおよび拡大処理、のいずれかを行うことを特徴とする請求項１７に記載の画像処理方法。
【請求項２０】
前記第１の太線は黒太線であり、前記第２の太線は白太線であることを特徴とする請求項１８に記載の画像処理方法。
【請求項２１】
原画像内からＭ＝２、Ｎ＝２として２×２画素サイズのブロックを抽出し、黒と白が互いに隣接する市松パターンを細線、所定の３画素が黒画素であり１画素が白画素であるパターンを第１の太線、所定の３画素が白画素であり１画素が黒画素であるパターンを第２の太線として分類することを特徴とする請求項１８に記載の画像処理方法。
【請求項２２】
２値の原画像の画質改善処理を行う画像処理方法において、原画像内から所定のＭ×Ｎ画素サイズのブロックをブロック抽出手段で抽出し、抽出したブロックに含まれる線画像の方向性を認識手段で認識し、認識された方向に線画像の画質改善処理を画質改善手段で行うことを特徴とする画像処理方法。
【請求項２３】
２値の原画像の画質改善処理を行う画像処理をコンピュータに実行させる画像処理プログラムであって、請求項１７ないし請求項２２のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項２４】
２値の原画像の画質改善処理を行う画像処理をコンピュータに実行させるプログラムを格納したコンピュータ読取可能な記憶媒体において、請求項１７ないし請求項２２のいずれか１項に記載の画像処理方法をコンピュータに実行させるプログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された２値のデジタル画像をプリンタやディスプレイ装置などへ印刷出力または表示出力する際の画質を改善する技術に関するものである。
【背景技術】
【０００２】
プリンタ、低解像度ディスプレイ、携帯端末など、表現可能な色数が少ない装置においては、従来から擬似階調処理（スクリーン処理）によって所望の色数に減色し、擬似階調画像を作成している。擬似階調画像のうち、２値画像はプリンタ、ファクシミリ等、様々な装置に広く用いられており、多値画像（連続階調画像）に比べてデータ量が格段に少ないことから、データ伝送にも適している。また、近年の文書の電子化に伴い、紙文書をスキャンして、デジタルドキュメントとして保存するということが広く行われている。このような場合にも、データ量が少ない２値画像が用いられる場合が多い。更に、印刷のみを目的とした文書、画像は、元のデータを伝送するよりも、２値画像に変換してから伝送する方が改竄などの耐性が高く、セキュリティの観点からも２値画像の利点が多い。このような背景から、２値画像は広く用いられている。
【０００３】
ところで、近年の電子文書の広汎な流通により、一般的にデジタル画像を高品質に表示または印刷することが求められており、この要求は２値画像においても同じである。例えば、スキャン文書、ファクシミリ画像、地図、地形図、ＧＩＳ（地理情報システム）情報、図面画像などの２値画像の高精細な印刷、あるいはオンデマンド印刷が重要な要求の一つである。
【０００４】
高品質に表示または印刷するためには、２値画像の画質改善技術が必要となるが、とりわけ、異なる解像度を持った出力機器に画像を高画質出力するための拡大技術が重要となる。そこで、以下に２値画像を拡大する従来の方法について述べる。
【０００５】
２値画像には大きく分けて２つの種類の画像がある。一つは、文字や線画などの画像であり、これらは画素一つ一つが意味を持っている画像である。このような２値画像を、以後、文字線画画像と呼ぶ。もう一つは、多値画像に擬似階調処理を施した画像であり、これは、一つ一つのドットが意味を持つのではなく、ドットの集合が画像の濃度を表現するものとなる。このような２値画像を、以後、ハーフトーン画像、または中間調画像と呼ぶ。なお、文字線画画像も多値画像に擬似階調処理が施されて得られる場合がある。その場合には、多値画像において例えば所定の濃度未満を０、所定の濃度以上を１に変換する単純２値化の方法、あるいはそれに類した方法が取られることが多い。
【０００６】
文字線画画像としては、スキャン文書、ファクシミリ画像、地図画像、地形図画像、図面画像などさまざまなものがある。一方、ハーフトーン画像は写真などを２値化したものが多い。これらの分類は、画像の内容ではなく、ハーフトーン処理の際の方法で行う方が良い。一例を挙げると網点法、誤差拡散法などによってハーフトーン画像を分類できる。このように、文字線画画像とハーフトーン画像とでは、画像そのものの意味が異なっているため、画像処理を行う際にもそれぞれ異なる処理が行われる場合が多い。なお上述のスキャン文書、ファクシミリ画像などには文字線画画像とハーフトーン画像が１枚の画像に含まれている場合もあるが、このような場合には、文字／画像分離部を設けてそれぞれを分離して処理する構成がとられる場合もある。
【０００７】
前記したスキャン文書、ファクシミリ画像、地図、地形図、ＧＩＳ（地理情報システム）、図面画像などが２値画像として提供される場合、それは文字線画画像としての場合が多いといえる。なぜならこれらの画像は細部の情報を忠実に保つ必要性があるため、細部情報が一定範囲でまとめられて一つの濃淡情報に変換されるハーフトーン画像ではその目的に合わないからである。
【０００８】
また、２値の文字線画画像をプリンタなどの２値の高解像度出力機器に出力する場合、多値画像以上に高解像度での出力能力を享受することができる。なぜなら、多値画像の場合には、プリンタの解像度限界まで解像度を上げたとしても、ハーフトーン処理によって実際の解像度がスクリーン線数まで低下してしまう。これに対して２値文字線画画像の場合、プリンタの解像度限界そのものの解像度で出力できる。逆に言えば、２値画像は、出力機器に応じた解像度変換を適切に施さないと画像の劣化が目立ちやすいといえる。例えば、６００ｄｐｉのプリンタにそれぞれ４００ｄｐｉの多値画像と２値画像を出力する場合、前者は任意の解像度変換法を使用しても画質にほとんど差が出ないのに対し、後者は解像度変換法の差が明白に画質に現れる。こうした点から、２値文字線画画像の拡大法は、より精密に行う必要がある。
【０００９】
一方、文字線画画像の拡大処理と関連して、アンチエイリアス処理という画質改善処理がある。アンチエイリアス処理は、画像のエッジ部に見られるジャギーを軽減する技術であり、２値の文字線画画像の場合、画像の階調数を増やしてエッジ部を滑らかに見せることが目的である。アンチエイリアス処理の処理法の一つとして、与えられた画像から本来あるべき連続曲線エッジを推定し、このエッジを複数の画素からなる画像にサブサンプリングしたときに、連続曲線エッジが画素に占める面積占有率によって画像を多値化する、という処理方法がある。このようなアンチエイリアス処理の概念は、上述した連続曲線エッジをサブサンプリングする際の画素数を原画像よりも増やせば、アンチエイリアス処理だけでなく、画像の拡大にも応用できる。そこで、このようなアンチエイリアス処理と拡大処理を共に行う場合を、以後アンチエイリアス拡大（処理）と呼ぶことにする。
【００１０】
図４９は、一般的な２値文字線画画像の拡大処理に関わる画質改善処理の一例の説明図である。図４９に示したように、アンチエイリアス拡大処理は、アンチエイリアス処理、拡大処理、それぞれ単体の処理に比べると上位概念の処理であると言える。つまり、アンチエイリアス拡大した画像を２値化すれば原画像に対する拡大画像が得られ、原画像サイズに平均値縮小すれば原画像に対するアンチエイリアス画像が得られる。
【００１１】
図５０は、画質改善処理と面積占有率の概念の関係の一例の説明図である。図５０（Ａ）に示す原画像に対して、図５０（Ｂ）に示すように本来あるべきエッジ線が推定できれば、そのエッジ線が画素を横切る面積占有率によって、図５０（Ｃ）〜（Ｆ）に示すように画質改善画像を得ることができる。ここで、図５０（Ｃ）はアンチエイリアス画像、図５０（Ｄ）は拡大画像、図５０（Ｅ）はアンチエイリアス拡大画像、図５０（Ｆ）はドットサイズ変調画像である。
【００１２】
例えば図５０（Ｂ）中の丸印を付した画素について、面積占有率が４０％であったとする。また白画素の値を２５５，黒画素の値を０とすると、丸印を付した画素の値は図５０（Ｇ）に示すように１５３と求めることができる。また、この１画素を図５０（Ｈ）に示すように２×２画素によって表現する場合、左上および右上の画素値は２５５、左下の画素値は７６、右下の画素値は２５といったようにそれぞれ求めることができる。
【００１３】
このようにして原画像のそれぞれの画素について処理を行うことによって、例えば図５０（Ｇ）に示すように画素単位での処理を行えば図５０（Ｃ）に示すアンチエイリアス画像が得られる。また、例えば図５０（Ｈ）に示すように原画像の１画素から２×２画素を生成すれば、図５０（Ｅ）に示すようにアンチエイリアス拡大画像が得られる。このアンチエイリアス拡大画像を単純２値化すれば図５０（Ｄ）に示す拡大画像が得られる。また、図５０（Ｅ）に示したアンチエイリアス拡大画像を例えば平均値縮小すれば、図５０（Ｃ）に示したアンチエイリアス画像が得られる。なお、図５０（Ｇ）に示した原画像の各画素における面積占有率をそのまま画素の大きさに置き換えれば図５０（Ｆ）に示すようなドットサイズ変調画像が得られる。
【００１４】
上述のようにアンチエイリアス拡大画像からアンチエイリアス画像や拡大画像が得られることを考えると、２値の文字線画画像の拡大方式としては、一つにはアンチエイリアスの概念（より好ましくは本来あるべき連続曲線エッジの推定）との結びつきの強度によってその性能が左右されるということができる。
【００１５】
文字線画画像の従来の拡大方式のうち、上述したアンチエイリアスの概念との結びつきが低い方法として、例えば、特許文献１に記載されているように、原画像を空間フィルタリングなどの方法で一旦多値化して、多値画像用の拡大方式によって拡大する方法がある。この方法では、アンチエイリアスの概念が考慮されていないので、本来あるべき連続曲線エッジの推定が適切に行われず、得られる拡大画像にジャギーが発生し、画質に問題が残る。
【００１６】
また、例えば特許文献２に記載されているように、注目画素を含む５×５ブロックの画素のパターンマッチあるいは画素の状態から注目画素に対する補間画素値を出力する方法がある。この方法は、アンチエイリアスの概念との結びつきがあるものの、エッジ線の角度の推定精度が低い。そのため、上述の特許文献１に記載されている方法よりも高画質になるものの、浅い角度を中心としてジャギーが残る。
【００１７】
エッジ線の角度をより精度良く推定するためには、より多くの画素を参照する必要が生じる。例えば特許文献３に記載されているように、段差タイプと段差長さをパターンマッチングにより検出して、段差を補間することによって画像の拡大を行う方法がある。この方法は、角度の浅いエッジを含めて、連続曲線エッジの推定を比較的正確に行うことができ、特に段差部での形状をより細かく分類し、また面積占有率の概念が加味されているため、ジャギーの少ない高画質な画像を得ることができる。しかしながら、このように連続曲線エッジの推定の精度を上げてゆくと、パターンマッチングのために多量のパターンを記憶する必要が生じると共に、処理時間が増えるという問題がある。また、個々のパターンのサイズが大きいためにパターンマッチングから漏れる部分が出て画質が低下する場合がある。
【００１８】
このように、本来あるべき連続曲線エッジの推定を行って画像をアンチエイリアスもしくは拡大する方法は、比較的高画質を達成できるが、エッジの推定を行わない方法に比べると、パターンマッチのために多量のパターンを記憶する必要があったり、処理が複雑であったり、誤ったパターンマッチ（認識漏れを含む）によって部分的に画質が低下するといった問題が生じる場合がある。
【００１９】
以上をまとめると、簡便かつ確実な方法で、誤りなく２値の文字線画画像のエッジ部における面積占有率の推定（連続曲線エッジの推定）を行い、原画像の情報を忠実に保存し、かつジャギーのない高画質なアンチエイリアス拡大画像、アンチエイリアス画像、拡大画像を、作成する方法が望まれている。
【００２０】
【特許文献１】特開平９−１４９２４１号公報
【特許文献２】特開平５−９１２９９号公報
【特許文献３】特開平４−３２９４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
本発明は、上述した事情に鑑みてなされたもので、簡潔な構成で２値文字線画画像のエッジ部の面積占有率の推定を高精度に行い、細部の情報を保ったまま適切にアンチエイリアス処理すると共に高画質に拡大できる画像処理装置および画像処理方法、画像処理プログラム、その画像処理プログラムを格納した記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００２２】
本発明は、２値の原画像に対してアンチエイリアス処理、または拡大処理、あるいはアンチエイリアスおよび拡大処理（アンチエイリアス拡大処理）などの画質改善処理を行う画像処理装置および画像処理方法において、原画像内から所定のＭ×Ｎ画素サイズのブロックを抽出し、その抽出したブロックを、そのブロックに含まれる線画像の種類に応じて分類し、それぞれの分類に対応した画質改善処理をブロックに対して行うことを特徴とするものである。ブロックの分類としては、細線、太線を含む分類を行うことができ、太線についてはさらに第１の太線、第２の太線を含む分類を行うことができる。第１の太線および第２の太線は、例えばそれぞれ、黒太線および白太線とすることができる。
【００２３】
なお、本発明において、細線、太線は、以下のように定義するものとする。すなわち、細線は、線幅１画素未満の部分を含む連続した線分とする。ここで線幅１画素未満の線分とは、線分内に局所的に２×２の市松パターンを含むもので定義できる。また、太線は線幅１画素以上の連続した線分とし、線分を構成する色が黒の場合を黒太線、白の場合を白太線とする。細線についても同様に黒細線、白細線を定義できる。なお、太線に関しては、線幅が∞、つまり片側のエッジ線のみしか分からないような要素も含めることとする。これらの細線、太線の定義から分かるように、連続した線分に細線と太線の両方が存在する場合があるが、このような場合も線分を小サイズに分割すると、細線か太線に分類することができる。後述するように、本発明はこれら分類した各要素を最終的に単一の処理方法で処理することができる。また、本発明の特徴から、画像内に存在する様々な細線、太線（黒太線、白太線）の全てを処理の対象とするわけではなく、特定の条件を満たしたもののみについて処理を行えばよい。
【００２４】
具体例として、Ｍ＝２、Ｎ＝２として２×２画素サイズのブロックを抽出し、黒と白が互いに隣接する市松パターンを細線、所定の３画素が黒画素であり１画素が白画素であるパターンを黒太線である第１の太線、所定の３画素が白画素であり１画素が黒画素であるパターンを白太線である第２の太線として分類し、それぞれの画質改善処理を行うことができる。
【００２５】
画質改善処理は、第１の太線について第１の太線用の画質改善処理を行い、第２の太線について第２の太線用の画質改善処理を行うことができ、その際にブロック内だけでなく、さらにブロックの周囲の画素に対しても適用することができる。このとき、第１の太線または第２の太線の一方については画素値を反転することによって他方についての画質改善処理を共用することができる。
【００２６】
また、細線については、更に、当該ブロックの周囲の画素値から、第１の太線または第２の太線あるいはその他のいずれかに分類することによって、実質的に細線の処理を太線の処理によって代行することができる。第１の太線と第２の太線の画質改善処理を共用する場合、細線、第１の太線、第２の太線のいずれの処理も、共通の画質改善処理に集約することが可能である。
【００２７】
細線に分類されたブロックの再分類の方法としては、例えば、ブロック抽出手段で抽出されたＭ×Ｎサイズブロックを含む所定の（Ｍ＋２）×（Ｎ＋２）サイズ以下のブロック内の画素値における黒画素の総量が所定数以下の場合に第１の太線に分類し、白画素の総量が所定数以下の場合に第２の太線に分類することができる。
【００２８】
また、初めに細線であると分類された後に第１の太線または第２の太線に分類されたブロックに関しては、第１の太線用の画質改善処理または第２の太線用の画質改善処理を行った後に、該ブロックから１画素分所定方向にずれた当該ブロックと対になるブロックを対象として、再び画質改善処理を繰り返すように構成することができる。
【００２９】
画質改善処理としては、太線の方向が垂直方向または水平方向のいずれに属するかを判定し、その判定結果を受けて当該太線の角度を決定し、その結果に応じて改善画素値を出力するように構成することができる。垂直方向または水平方向のいずれに属するかの判定は、抽出されたＭ×Ｎサイズブロックの周囲の画素値から行うことができる。例えば抽出されたＭ×Ｎサイズブロックを含む所定の（Ｍ＋１）×（Ｎ＋１）サイズ以下のブロック内の画素値から、当該太線の方向が垂直方向または水平方向のいずれに属するかを判定することができる。
【００３０】
また、太線の角度の決定は、判定された水平方向、垂直方向の各場合に応じて、当該方向における所定のパターンの連続性を検出することにより行うことができる。さらに、太線の方向が垂直方向または水平方向のいずれに属するかを判定した結果について、所定の条件を満たした場合に４５度方向であると判定し、当該４５度方向における所定のパターンの連続性を検出して太線の角度を決定することができる。
【００３１】
また本発明は、２値の原画像の画質改善処理を行う画像処理装置及び画像処理方法において、原画像内から所定のＭ×Ｎ画素サイズのブロックを抽出し、抽出したブロックに含まれる線画像の方向性を認識し、認識された方向に線画像の画質改善処理を行うことを特徴とするものである。
【００３２】
さらに本発明は、上述のような画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラムと、そのような画像処理プログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体を提供するものである。
【発明の効果】
【００３３】
本発明によれば、ブロックを線画像の種類、例えば細線、太線、あるいはその他に分類し、太線についてはさらに例えば第１の太線、第２の太線に分類し、それぞれの分類に対応した画質改善処理を行うので、処理を非常に単純化することができ、簡潔な構成でありながら、適切にアンチエイリアス処理あるいはアンチエイリアス拡大処理または拡大処理を行うことができる。例えば２×２サイズのブロックで分類し、当該ブロックあるいはさらにその周囲の画素に対する画質改善処理を行うことができ、従来のような大きなサイズのパターンマッチングや多数のパターンマッチングを行う必要がないため、高速に処理を行うことができる。さらに、細線、第１の太線、第２の太線について、画質改善処理を共用することが可能であり、さらに構成の簡単化および処理の高速化が可能である。
【００３４】
また、上述のような小さいブロックサイズの場合でも、エッジ方向を精度よく決定し、画質改善処理に反映することができるため、例えば画質改善処理として面積占有率を用いたアンチエイリアス処理またはアンチエイリアス拡大処理を行うことにより、細部の情報を保ったまま適切にアンチエイリアス処理を行うことができ、ジャギーのない高画質な画像を得ることができる。
【００３５】
さらに、抽出したブロックに含まれる線画像の方向を認識して、その方向に従って画質改善処理を行うので、特に４５度方向など、垂直、水平方向以外の方向についても適切な画質改善処理を行うことができる。
【００３６】
本発明によれば、このように多くの効果を奏するものであり、以下に説明するように、このほかにも様々な効果を奏するものである。
【発明を実施するための最良の形態】
【００３７】
図１は、本発明の第１の実施の形態を含むシステムの一例を示すブロック図である。図中、１は画像入力部、２はメモリ部、３は画像処理部、４は画像出力部、５は制御部、１１はブロック抽出部、１２はブロック分類部、１３は画質改善部、２１は角度概算部、２２は角度精算部、２３は画素値出力部である。なお、図１に示した画質改善処理部３の各ブロックや制御部５などはコンピュータ上の処理プログラムモジュールとして存在してもよいし、一部または全部が専用のハードウェアで構成されていてもよい。
【００３８】
画像入力部１は、図１に示したシステムの外部からデジタル化された２値画像データを入力し、メモリ部２に転送する。メモリ部２は、前記画像入力部１から入力された画像データや、画質改善後の画像データ、さらに画質改善処理に用いられる各種の途中の演算結果や処理パラメータなどを保持する。画質改善処理部３は、メモリ部２に保持された処理対象の画像に対して画質改善処理を施す。画像出力部４は、画質改善処理部３により画質が改善された画像データなどを、図１に示したシステムの外部に出力する。制御部５は、各部の処理を制御する。
【００３９】
画像処理部３は、ブロック抽出部１１、ブロック分類部１２、画質改善部１３などを含んで構成されている。ブロック抽出部１１は、原画像内からＭ×Ｎ画素サイズのブロック（以下、Ｍ×Ｎブロックと呼ぶ）を抽出する。
【００４０】
ブロック分類部１２は、ブロック抽出部１１で抽出したＭ×Ｎブロックを、そのブロックに含まれる線画像の種類に応じて分類する。本発明では上述のように線幅が∞の場合にも「線」として含めるので、ブロックを分類することと線画像を分類することは同義である。分類の一例としては、細線、太線、その他に分類することができ、太線についてはさらに第１の太線、第２の太線に分類することができる。もちろん、その他の分類についてさらに細分してもかまわない。第１の太線および第２の太線としては、ここではそれぞれ黒太線、白太線であるものとする。また、細線に分類されたブロックに関しては、Ｍ×Ｎブロックを含む（Ｍ＋２）×（Ｎ＋２）画素サイズ以下のブロック内の画素値から、第１の太線（黒太線）、第２の太線（白太線）、その他のいずれかに再分類する。
【００４１】
画質改善部１３は、ブロック分類部１２で細線、第１の太線（黒太線）、第２の太線（白太線）に分類されたブロックについて、それぞれの分類に対応した画質改善処理を行う。なお、上述のように細線に分類されたブロックは、第１の太線（黒太線）、第２の太線（白太線）、その他に再分類することによって、第１の太線（黒太線）と第２の太線（白太線）に対応した画質改善処理を利用することができる。本発明における画質改善部１３において行う画質改善処理は、エッジ方向を推定し、そのエッジ方向から面積占有率に従ってアンチエイリアス画像またはアンチエイリアス拡大画像あるいは拡大画像を生成するものである。もちろん、画質改善処理としてこれに限られるものではないが、以下の説明ではこの方法を用いた画質改善処理を行うものとする。
【００４２】
さらに画質改善部１３は、ブロック分類部１２で細線に分類された後に第１の太線（黒太線）に分類されたブロックに関して、所定部位に第１の太線（黒太線）としての画質改善処理を行い、細線に分類された後に第２の太線（白太線）に分類されたブロックに関して、所定部位に第２の太線（白太線）としての画質改善処理を行う。
【００４３】
この画質改善部１３は、角度概算部２１、角度精算部２２、画素値出力部２３などを含んで構成されている。角度概算部２１は、ブロック抽出部１１で抽出したＭ×Ｎブロックを含む原画像の（Ｍ＋１）×（Ｎ＋１）画素サイズ以下の所定の大きさのブロックの画素から、Ｍ×Ｎブロックが水平方向、垂直方向のいずれに属するかを概算角度として判定する。
【００４４】
角度精算部２２は、角度概算部２１で決定された概算角度が水平方向である場合には、ブロックの左右方向にそれぞれ所定パターンの続く長さから角度を精算する。また、概算角度が垂直方向である場合には、ブロックの上下方向にそれぞれ、所定パターンの続く長さから角度を精算する。更に、角度精算部２２の判定処理において判定された角度が、所定条件を満たし、４５度に近い場合には、再びブロックの所定の４５度方向に所定パターンの続く長さから角度を精算する。
【００４５】
画素値出力部２３は、角度精算部２２で得られた角度に従って、Ｍ×Ｎブロックと対応する画質改善画像内の所定位置に所定の数だけ画素値を出力する。この処理には、例えば角度精算部２２で得られた角度をエッジ方向とした面積占有率を用いたアンチエイリアス処理またはアンチエイリアス拡大処理、あるいはそれらをベースとした拡大処理を行うことができる。なお、画質改善部１３の処理は、画素の参照開始位置、書き込み開始位置などの所定位置情報を除き、第１の太線（黒太線）と第２の太線（白太線）の処理は対称的に行われる。また、上述の画質改善部１３の構成では、角度概算部２１及び角度精算部２２は、ブロックに含まれる線画像の方向性を認識し、画素値出力部２３は、認識された方向に従って画質改善処理を行うものと見ることもできる。
【００４６】
なお、画像処理部３は、２値文字線画画像を対象としているため、処理に入る前に、入力された画像が２値文字線画画像であるかどうかを判定する処理部を設けても良いし、入力された画像が２値文字線画画像でない場合には処理を終了するようにしても良い。
【００４７】
図２は、画像処理部３の動作の概要を示すフローチャートである。Ｓ１０１において、ブロック抽出部１１は、原画像内からＭ×Ｎブロックを抽出する。次にＳ１０２において、ブロック分類部１２は、ブロック抽出部１１で抽出したＭ×Ｎブロックを、細線、第１の太線、第２の太線、その他のいずれかに分類する。Ｓ１０３において、分類結果を判定し、細線、第１の太線、第２の太線以外であれば、そのまま処理を終える。なおこの場合には、原画像をそのまま出力画像としたり、拡大処理を伴う場合には、単純拡大などにより拡大処理を行って（あるいはあらかじめ拡大処理を行っておいて）出力画像とする。
【００４８】
細線に分類された場合には、Ｓ１０４において、さらに第１の太線（黒太線）、第２の太線（白太線）と見なせるか否かを判定する。細線が第１の太線（黒太線）、第２の太線（白太線）と見なせるか否かは、上述のようにＮ×Ｍブロックの周囲の画素値などから判定することができる。
【００４９】
Ｓ１０３で第１の太線（黒太線）、第２の太線（白太線）に分類された場合と、Ｓ１０３では細線に分類されたが、Ｓ１０４において第１の太線（黒太線）、第２の太線（白太線）と見なせると判定された場合には、Ｓ１０５において、画質改善部１３で太線用の画質改善処理を行う。なお、第１の太線が黒太線、第２の太線が白太線である場合には、白黒を反転することによって、いずれか一方の処理で対応することができる。従って、第１の太線（黒太線）、第２の太線（白太線）、および細線のうち第１の太線（黒太線）、第２の太線（白太線）と見なせるＭ×Ｎブロックに対して、ほぼ同様の太線用の画質改善処理で対応することができる。これによって、構成を簡単化することができる。
【００５０】
画質改善処理の後、Ｓ１０６において、当該画質改善処理が１回目で、初めに（Ｓ１０２で）細線であると判定され、その後Ｓ１０４で第１の太線（黒太線）、第２の太線（白太線）と見なせると判定されたＭ×Ｎブロックであるか否かを判定する。そのようなＭ×Ｎブロックである場合には、当該Ｍ×Ｎブロックと所定の関係にあるＭ×Ｎブロックに対して、Ｓ１０５へ戻って画質改善処理を施す。これは、細線を太線と見なして処理を行うことによる処理の漏れを防ぎ、同時に細線の対になる部分の認識処理を割愛するためのものである。なお、最初から第１の太線（黒太線）、第２の太線（白太線）に分類されたＭ×Ｎブロックや、再度の画質改善処理を行った後は、当該Ｍ×Ｎブロックの処理を終える。
【００５１】
このような処理を、原画像のＭ×Ｎブロック毎に行うことによって、原画像に対して画質改善処理を施すことができる。
【００５２】
以下、本発明の主要部である画像処理部３について、さらに説明してゆく。なお、以下の説明において、入力される原画像は２値文字線画画像であるとする。また、Ｍ＝２，Ｎ＝２とし、また第１の太線は黒太線、第２の太線は白太線であるものとして説明する。具体例についての説明においては、アンチエイリアス拡大処理を行う場合について示す。
【００５３】
図３は、本発明の第１の実施の形態における画像処理部３の動作のより具体的な例を示すフローチャートである。動作を開始する前の準備として、原画像の縦横それぞれ２倍サイズで８ビット値の画像を記憶するためのメモリ領域をメモリ部２中に確保し、原画像を最近傍法等の公知の方法で拡大した画素値で初期化する。これは、画像処理部３から出力される画質改善画像（アンチエイリアス拡大画像）を書き込んでゆくためのメモリ領域であり、画質改善部１３における画質改善処理の対象画像である。
【００５４】
まず、Ｓ１１１において、ブロック抽出部１１により原画像の中からＭ×Ｎ画素サイズのブロック画像を抽出する。この例ではＭ＝２、Ｎ＝２としているので、２×２画素サイズのブロック画像（２×２ブロック）を抽出する。図４は、ブロック抽出部１１で抽出される２×２ブロック画像の一例の説明図である。ブロック抽出部１１では、原画像の端から１画素ずつシフトさせた２×２画素サイズのブロック画像を順次抽出してゆく。そして、抽出した２×２ブロックを処理対象とし、以下の処理によって画質を改善し、出力される画素値をメモリ部２内の対応する位置に書き込んでゆく。
【００５５】
図２に戻って、Ｓ１１２において、Ｓ１１１で抽出した１つの２×２ブロックについて、そのパターンが細線、黒太線、白太線、あるいはその他のいずれかに該当するかを判定する。図５は、２×２ブロックの分類方法の一例の説明図である。図５（Ａ）に示すように、２×２ブロックの４つの画素の値から、計６種類の場合に関して判定して、細線、黒太線、白太線のいずれかに該当するか、あるいはその他のパターンかを判定する。ここでは、隣接する画素の値が互いに異なる、いわゆる市松パターンを細線、４画素のうち１画素のみが異なる値を持つパターンを太線とし、所定の３画素が白で１画素が黒のパターンを白太線、所定の３画素が黒で１画素が白のパターンを黒太線として示している。なお、２×２ブロックの上部の２画素が等しい場合にも黒太線、白太線を定義できるが、後述するように本発明の特徴から、このような場合は処理の必要はなく、従って分類も必要ない。ここでは図５（Ａ）に示すパターンを代表例として、以下、説明してゆく。
【００５６】
これらの細線、黒太線、白太線であるか、他のパターンであるかの判定は、図５（Ｂ）に示すように、２×２ブロックの左上の画素値ｐと、更に残りの画素値がｐと一致するか否かによって細線、黒太線、白太線のいずれかに該当するか、あるいは他のパターンであるかを判定することができる。すなわち、左上の画素値ｐと右下の画素値が等しく、右上と左下の画素値が異なる場合には細線（市松）であると判定できる。また、左上の画素値ｐと左下および右下の画素値が等しく、右上の画素値が異なる場合には、図５（Ａ）の中段に示した黒太線または白太線のいずれかであると判断できる。これらのパターンは、白と黒を反転させただけのパターンであることから、便宜上、Ｌ字パターンと呼ぶことにする。さらに、左上の画素値ｐと、左下、右下、右上の画素値が異なる場合には、図５（Ａ）の下段に示した白太線または黒太線のいずれかであると判断できる。これらのパターンについても白と黒を反転させただけのパターンであることから、便宜上、逆Ｌ字パターンと呼ぶことにする。
【００５７】
後述のように、本発明の画質改善処理は白黒反転した画像に対して、本質的に全く同様に進めることができる。従って以降の説明では、２×２ブロックの左上画素が黒の場合（つまり、図５（Ａ）の左側に示した３種類）に限って説明をすることとする。また、このように見た場合、図５（Ｂ）に示すようにパターンの形状である、市松、Ｌ字、逆Ｌ字という呼び方と、細線、黒太線、白太線とを対応づけることができるので、両者を適宜用いて説明することとする。すなわち、左上の画素が黒であれば、市松は細線、Ｌ字は黒太線、逆Ｌ字は白太線に対応する。
【００５８】
なお、図５（Ａ）の左側に示す３パターン（あるいは図５（Ｂ）に示す３つのパターン）とも、２×２の上側にある２つの画素値が異なっている。従って、市松、Ｌ字、逆Ｌ字の判定の際には、２×２の上側にある２つの画素値が異なるか否かを先に調べておき、その後にいずれのパターンであるかを判定しても良い。図６は、２×２ブロックの上部２×１画素による分類方法の一例の説明図である。例えば図６（Ａ）に示すように２×２ブロックの左上の画素の値をｐとするとき、図６（Ｂ）に示したように上部の２つの画素とも等しい場合には、市松、Ｌ字、逆Ｌ字のいずれのパターンにも該当しないと判断できる。例えば４画素とも黒、４画素とも白、上側の２画素が白で下側の２画素が黒あるいはその反転パターン等が含まれる。
【００５９】
また、図６（Ｃ）に示したように、２つの画素値が異なる場合には、図６（Ｄ）〜（Ｆ）に示した市松、Ｌ字、逆Ｌ字のいずれかのパターンである可能性がある。従って、図６（Ｃ）に示すように上部の２つの画素値が異なる場合に、市松、Ｌ字、逆Ｌ字のパターンを検出するように構成すればよい。例えば左上の画素値ｐが黒である場合には、市松は細線、Ｌ字は黒太線、逆Ｌ字は白太線に分類することができる。逆に左上の画素値ｐが白である場合には、市松は細線、Ｌ字は白太線、逆Ｌ字は黒太線に分類することができる。上述のように両者は互いに白と黒を反転するだけで、他方のパターンとなる。
【００６０】
図６（Ｂ）の場合、及び図６（Ｃ）の場合であっても市松、Ｌ字、逆Ｌ字のいずれのパターンでもない場合には、この例では当該２×２ブロックに対しては画質改善処理を行わず、Ｓ１１９へ進んで全ての２×２ブロックを対象としたか否かを判定し、まだ処理対象としていない２×２ブロックが残っている場合にはＳ１１１に戻って次の２×２ブロックの抽出を行う。なお、図６（Ｃ）の場合であっても市松、Ｌ字、逆Ｌ字のいずれのパターンでもない場合としては、例えば、左側の２画素が白で右側の２画素が黒、あるいはその反転パターン等が含まれる。
【００６１】
図３に戻り、Ｓ１１２で２×２ブロックが市松に分類されたと判定された場合には、Ｓ１１３に進んで２×２ブロックを中央に含む４×４ブロックの白画素数と黒画素数を計数する。さらにＳ１１４において、Ｓ１１３による白画素および黒画素の計数値を、それぞれの所定値と比較する。ここではそれぞれの所定値の具体例として、いずれも６として示している。すなわち、黒画素数≦６か否か、および、白画素数≦６か否かを判定する。黒画素数≦６ならば黒線が存在しているものと判定し、Ｓ１１５においてＬ字（黒太線）に分類する。また、白画素≦６ならば白線が存在しているものと判定し、Ｓ１１６において逆Ｌ字（白太線）に分類して処理を進める。それ以外（黒画素、白画素とも７画素以上）の場合には、背景柄などのテクスチャである可能性を含んでいるので、ここでは画質改善処理を行わずにＳ１１９へ進む。なお、所定値は６に限られるものではない。
【００６２】
なお、２×２パターンの左上画素が白である場合には、Ｌ字と逆Ｌ字の関係が入れ替わり、黒画素≦６ならば黒線が存在しているものと判定し、Ｓ１１５において逆Ｌ字（黒太線）に分類し、白画素≦６ならば白線が存在しているものと判定し、Ｓ１１６においてＬ字（白太線）に分類する。
【００６３】
Ｓ１１２でＬ字、逆Ｌ字に分類された場合、及びＳ１１５でＬ字、Ｓ１１６で逆Ｌ字に分類された場合には、Ｓ１１７でそれぞれＬ字用または逆Ｌ字用の方法を用いて、原画像でのドットの方向（水平ｏｒ垂直）を概算し、更に接続長から角度を精算する。更にＳ１１８において、２倍拡大された原画像の相当位置に、Ｓ１１７で精算した角度から求められるエッジの面積占有率に従って画素を出力する。このＳ１１７，Ｓ１１８の処理の詳細は後述する。
【００６４】
全ての２×２ブロックを抽出し、処理対象としたか否かをＳ１１９で判定し、未抽出の２×２ブロックが残っている場合には、当該未抽出の２×２ブロックを処理対象とすべく、Ｓ１１１へ戻る。全ての２×２ブロックを抽出して処理対象とし、適宜画質改善処理を行ったら、画像処理部３における処理を終了する。
【００６５】
以下、図３におけるＳ１１７、Ｓ１１８の処理について詳細に説明してゆく。図７、図８は、画像処理部３における画質改善部１３の処理の一例を示すフローチャートである。この処理は、図３のＳ１１７及びＳ１１８に対応している。まずＳ１２１において、２×２ブロックがＬ字に分類されたのか、あるいは逆Ｌ字に分類されたのかを判定する。例えば図３のＳ１１２及びＳ１１５で２×２ブロックがＬ字（黒太線）であると判定された場合には、Ｓ１２２へ進む。また、例えば図３のＳ１１２及びＳ１１６で２×２ブロックが逆Ｌ字（白太線）であると判定された場合には、図８のＳ１４１へ進む。
【００６６】
２×２ブロックがＬ字に分類された場合には、Ｓ１２２において、黒太線のエッジが水平方向へ延びるものか、あるいは垂直方向へ延びるものかを、角度概算部２１で概算して判定する。水平方向ならばＳ１２３に進み左右の接続長を計数し、垂直方向ならばＳ１２９に進み上下の接続長を計数する。
【００６７】
図９は、画像処理部３におけるＬ字に分類された２×２ブロックの接続方向（概算角度）および接続長（精算角度）の抽出処理の一例を示すフローチャート、図１０は、Ｌ字に分類された２×２ブロックに対する角度概算処理の一例を示す図、図１１は、同じく接続方向及び接続長の抽出と画素補正処理の具体例の説明図である。図８におけるＳ１２２、Ｓ１２３、Ｓ１２９の処理を図９に示している。
【００６８】
まず、図８のＳ１２２において黒太線のエッジが水平方向へ延びるものか、あるいは垂直方向へ延びるものかを判定する際には、図１０（Ａ）にハッチングを施して示した画素および２×２ブロックを含む３×３画素サイズのブロックの画素値を参照する。そして、図９のＳ１６１およびＳ１７０において、ドットの接続方向（水平方向または垂直方向）を判定する。これは当該エッジの角度を概算する処理である。例えば図１０（Ｄ）に示すように、２×２ブロックの上にある２つの画素（図１０（Ｄ）ではｒ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 ×２５５
＝（２ｎ−２ｋ＋１）／（２ｎ）×２５５
となる。
【０１１６】
なお、上述のようにして接続長から２倍拡大画像に対して画質改善のための画素を配置するため、例えば原画像における接続長分の画素の半分までしか画素の配置が行われない。例えば接続長が４であれば、２倍拡大画像では８画素分の接続長に相当するが、配置される画素は４画素である。これは、例えば接続長が４であり、原画像上で４画素進んだ位置で再び段差が存在する場合、その段差に対する画質改善処理で２倍拡大画像における残りの４画素の配置が行われる。これによって、例えば斜めに直線状に連続するエッジについては、平坦部を挟む両側の段差部分から半分ずつ画質改善処理によって画素が配置され、全体として画質の改善を図ることができる。
【０１１７】
図２６は、４５度方向の黒太線に対する画質改善処理による画素配置の一例の説明図、図２７は、４５度方向の黒太線に対するエッジ線の面積占有率の説明図である。図２６、図２７を参照しながら、接続方向が４５度方向で、接続長がｎであった場合に、新たに２ｎ個の画素を対応位置に配置する際の画素値の計算方法を説明する。図２６（Ａ）に示した例は白黒反転したＬ字パターンの場合を示しており、この場合、左接続長＝２、右接続長＝１で、２×２ブロックの右下方向に、左右に白黒のペア画素が続けば、右下方向にエッジが存在する可能性がある。このような場合も、上述の方法で接続長を算出して、図２６（Ｂ）に示すように接続長分だけドットを配置する。図２６（Ｂ）に示す例では、４５度方向の接続長が４の場合について示している。
【０１１８】
このとき、接続長が２であれば図２６（Ｃ）に示すエッジが、接続長が３であれば図２６（Ｄ）に示すエッジが、接続長が４であれば図２６（Ｅ）に示すエッジが、接続長が５であれば図２６（Ｆ）に示すエッジが、それぞれ存在すると考えられる。これらの場合も、接続長からエッジの角度がそれぞれ精算されているので、画素を配置した際にこの角度のエッジ線が画素を占める面積占有率を計算すればよい。
【０１１９】
配分する２ｎ個の画素値は、図２７に示すように、１画素の一辺の長さをｎ＋１とおいて、（ｎ＋１）×（ｎ＋１）単位とみなし、エッジ線の上側の面積を、２画素ペアの左画素について、左側から順にＡ1 ，…，Ａn と置き、２画素ペアの右画素について、左側から順にＢ1 ，…，Ｂn と置く。それぞれ三角形の面積を計算すると、ｋ＝１，…，ｎに対して、
Ａk ＝（ｎ−ｋ＋１）2 ・（ｎ＋１）／２ｎ
Ｂk ＝（ｎ＋１）2 −ｋ2 （ｎ＋１）／２ｎ
となる。従って、それぞれの濃度値は、画素全体の面積値（＝（ｎ＋１）2 ）に対する比として、
Ｐ（Ａk ）＝（（ｎ−ｋ＋１）2 ・（ｎ＋１）／２ｎ）／（（ｎ＋１）2 ）×２５５
＝（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））×２５５
Ｐ（Ｂk ）＝（（ｎ＋１）2 −ｋ2 （ｎ＋１）／２ｎ）／（（ｎ＋１）2 ）×２５５
＝（１−ｋ2 ／２ｎ（ｎ＋１））×２５５
として求めることができる。
【０１２０】
なお、上記の式は白Ｌ字（白太線）の場合の値であり、図２６において白黒反転した黒Ｌ字（黒太線）の場合には、上記の式によって算出される値の白黒反転値であり、すなわち
Ｐ（Ａk ）＝  ２５５−（（ｎ−ｋ＋１）2 ／２ｎ（ｎ＋１））×２５５
Ｐ（Ｂk ）＝  ２５５−（１−ｋ2 ／２ｎ（ｎ＋１））×２５５
となる。なお、どちらの場合にもＰ（Ａk ）＝２５５−Ｐ（Ｂn −ｋ＋１）の関係があるので、Ａk とＢk のうち例えばＡk だけ計算してもよい。
【０１２１】
上述したように、水平方向（片側）と４５度方向（片側）の補正画素値を接続長（精算角度）によってそれぞれテーブル化しておけば、本発明で使用する全ての補正角度はテーブルを引くことにより行うことができる。白黒反転に関しては、処理毎に２５５からの減算を計算すると遅くなる場合があるので、白黒反転したテーブルも作成しておいてもよい。
【０１２２】
以下、上述の説明について、いくつかの補足説明を行う。まず、細線（市松）に分類された２×２ブロックに関して、黒太線（Ｌ字）または白太線（逆Ｌ字）として処理を２回繰り返す理由を説明する。図２８は、もともと黒太線（Ｌ字）と判定された場合と細線（市松）と判定された場合の違いの説明図である。図２８（Ａ）、（Ｂ）には、もともと黒太線（Ｌ字）と判定された場合を示している。もともと黒太線（Ｌ字）と判定された２×２ブロックは、太線の片側（この例では上側）に補正処理が行われる。では、太線のもう一方の側（この例では下側）はどうかというと、図２８（Ａ）に示すように、単なるステップエッジのような部分では上側のエッジの処理のみでよいことは明らかであろう。この場合としては、ある領域が塗りつぶされていたり、線幅が非常に広い線分などが該当する。
【０１２３】
また、図２８（Ｂ）に示すように、太線の上側のエッジに対して２×２ブロックａによってＬ字（黒太線）の画質改善処理が施された後、処理が進んで、太線の反対側（下側）のエッジについては、２×２ブロックｂが処理対象となったときに、白黒反転したＬ字（白太線）として再びＬ字の画質改善処理が行われる。これは、もっと太線の線幅が太くなったとしても同様である。従って、もともと黒太線、あるいは白太線として処理された２×２ブロックに関しては、該２×２ブロックのみについて処理を行えば問題ない。
【０１２４】
次に、図２８（Ｃ）に示すように、細線（市松）部分を黒太線（Ｌ字）として処理した場合、２×２ブロックｃが処理対象となったときに細線の片側（この例では上側）に画質改善処理が行われる。では、細線のもう一方の側（この例では下側）はどうかというと、図２８（Ｃ）を見ると、処理が進んで、２×２ブロックｄが処理対象となったときに、パターンとしては白黒反転したＬ字（白太線）となる。しかし、図２８（Ｃ）に「＊」で示した画素が白であるため、Ｌ字の判定（図１０（Ｂ）のｒ２）で処理対象から外され、画質改善処理が行われないことになってしまう。
【０１２５】
そこで、市松の場合にはこの２×２ブロックｄについても同時に処理を行わせるように構成している。この処理が、例えば図７，図８におけるＳ１２８からＳ１２３へ、Ｓ１３４からＳ１２９へ、Ｓ１４７からＳ１４２へ、Ｓ１５３からＳ１４８への処理である。２回目の処理では、図１０（Ｂ）に示したｒ２の値のチェックは行わないので、Ｌ字としての処理が可能である。
【０１２６】
もちろん、分類を行う際の判定の条件を弱めて、ｒ２の値のチェックを行わないように構成すれば、図２８（Ｃ）の２×２ブロックｃとｄをそれぞれ別々に画質改善処理することも可能である。そのため、細線の場合に限って２箇所に処理を行うというのは、必ずしも必須ではない。しかし、太線と違って細線の場合には処理した２×２ブロックから１画素ずれた２×２ブロックに、必ずもう片側のエッジが存在するので、細線と分かった時点で、両側を同時に処理する方が画質の点からも誤りがなく好ましい。
【０１２７】
このような、細線部に関してのみ、対になるエッジ部も同時に画質改善処理を行うという方法は、画質と速度の観点から見て好ましいが、このような構成を取れるのは、本発明におけるブロック分類処理において細線部に分類する工程が含まれているからである。例えば、初めから細線に分類せずに第１の太線か第２の太線かに分類するような構成を取った場合には、新たに細線かどうかを判定しなければこのような方法を採ることができない。
【０１２８】
また、上述の説明において、黒太線、白太線ともに、２×２ブロックの上部の２画素が異なる場合のみを処理の対象としている。２×２ブロックの上部の２画素が等しい場合についても黒太線、白太線を定義できるが、本発明の特徴から、これらの場合は処理が不要であり、従って分類自体も不要である。例えば図２８（Ｂ）において、ブロックｂの１画素上にある２×２ブロックを見ると、２×２ブロックの上部が共に黒画素で下部が白画素と黒画素で構成される黒太線となっている。しかし、ブロックａとブロックｂについて処理すればそれで充分であることは、これまでの説明から明らかである。このような２×２ブロックの上部の２画素が等しいブロックについて処理が不要な理由は、本発明において、線のエッジ部分の両側を、白黒を反転させて考えることにより、同じ形態として扱えるためである。なお、逆に言えば、上述した画質改善の方法を、２×２ブロックの下部の２画素が異なる場合、あるいは左側の２画素が異なる場合、あるいは右側の２画素が異なる場合、のうちどれか一つの場合について処理を行う構成にすることも可能である。実際、そのような場合には、上述の一連の説明全てを９０度単位の必要角度で回転させて考えればよいだけである。本発明において「上側の２画素が異なる場合」を採用しているのは、処理速度の観点から見て、初めに１ライン目に連続した２画素を見るのが妥当と考えられるためである。
【０１２９】
また、上述の説明において接続長を算出する際の例として、水平、垂直、４５度ともそれぞれ６画素分までしか図示していないが、上述のように同様の手順で最大で画像の端まで画素を参照するようにしても良いし、あるいはある程度で打ち切るようにしてもよい。例えば上下左右に１６画素程度を参照すると、低角のエッジまで拾うことができ、確実に高画質化することができる。もちろん、これらの周辺の画素を参照する際には、画像の上下左右端などでは走査域が外にはみ出ないように注意する必要がある。また、上下左右に参照する範囲は、固定でなく、パラメータにしておいて画質や速度とのバランスによって選択できるようにしておいてもよい。
【０１３０】
さらに、上述の説明では４５度方向の接続長の算出の際に、一旦水平もしくは垂直方向の接続長を算出した後に、再度４５度方向の接続長を算出している。この処理は、接続長が２または１の場合にのみ行われるので、接続長を２回計算しても、前段の処理が軽いため大きな負荷にはならない。加えて、接続長は、水平ならば左右の両側、垂直ならば上下の両側、それぞれについて算出するが、４５度の場合は４５度方向のうちの片側のみ算出するだけなので、このことからも負荷はそれほど増加しない。もちろん、初めから水平、垂直、４５度を同時に判定するように構成してもよい。
【０１３１】
上述の処理では、既に処理された画素が再び画質改善処理対象となる場合がある。例えば市松の処理を行った場合、上述したように１ライン先にあるブロックも同時に処理される場合があるので、次のラインを処理した際に一部の画素の処理が重複する場合がある。このような場合は、先に処理された結果を優先するようにしてもよいし、その逆でも良いし、後から処理された結果との平均値を使うようにしても良い。
【０１３２】
上述の説明では、アンチエイリアス拡大を行う場合について説明してきた。しかしこれに限らず、拡大を行わないアンチエイリアス処理や拡大処理に対しても適用可能である。図４９、図５０を用いて説明したように、アンチエイリアス拡大処理の概念は、アンチエイリアス処理や拡大処理の上位概念として位置づけることができる。従って、簡単にアンチエイリアス画像や拡大画像を生成することができる。
【０１３３】
例えば拡大画像の作成は、上述のアンチエイリアス拡大画像を作成する処理において配置する画質改善のための画素として、濃度５０％を越えるもの（例えば画素値１２８値以上）を１、５０以下のもの（例えば画素値１２７値以下）を０に置き直せば、上述のアンチエイリアス拡大画像を作成するための処理のままで、拡大画像を得ることができる。また、配置する補正画素値の平均値を縮小画素値として求めれば、この値と原画像との重み付け平均によって直接アンチエイリアス画像を作成することができる。もちろん、上述のようにして作成したアンチエイリアス拡大画像を単純２値化すれば拡大画像が得られるし、平均値縮小すればアンチエイリアス画像を得ることができる。
【０１３４】
さらに、上述の説明では画素値を新たに配置する際に、エッジが画素を通過する面積占有率に従って行っている。もちろん配置する画素の個数や濃度の種類は上述の例に限られるものではない。図２９は、配置する画質改善のための画素値の別の例の説明図である。例えば図２９に示した例では、接続長が５の場合の推定エッジ線を表している。図２９（Ａ）は上述した面積占有率によって補正画素値を求めたものであり、配置する画素値は、画素全体に対するハッチングで示した領域の面積比と等しい。
【０１３５】
一方、図２９（Ｂ）にハッチングで示した面積比は、推定されるエッジ線の面積占有率よりも小さく設定した例を示している。この例では、図２９（Ａ）の場合に比べてエッジ線が細くなる効果がある。出力機器の特性に応じて、このように面積占有率による補正画素値を基準として、補正画素値を予め一律に補正しておいてもよい。
【０１３６】
以上の説明では、各部分の処理を分かりやすくするために、それぞれエッジの方向毎に分けて説明している。しかし、本発明の一つの特徴である、細線部分も太線の処理法で共通化できるという点に加えて、上下（左右）反転、９０度単位回転、濃度反転の組み合わせによって、更により多くの部分を共通化できる。つまり、ブロックの参照開始の位置や書き込み開始の位置、細線（市松）の場合における２回目の処理位置、などの情報を管理しておけば、処理自体の構造は非常にシンプルなものとなる。特に上述の例の場合、細線、黒太線、白太線の判定を２×２ブロックで行い、概算角度の判定を３×３ブロック内で行っているため、無駄な参照画素が少なく、高速でもある。また、このようにブロックを小さく取るということは、判定漏れを防ぐことにもつながり、確実に高画質化を実現することができる。
【０１３７】
上述のようにして作成されたアンチエイリアス拡大画像は、２倍拡大画像にアンチエイリアスが掛かった状態の画像であり、単に２倍拡大とアンチエイリアス（アンチエイリアス拡大）を同時に行うというだけではなく、アンチエイリアスを掛けた際の情報喪失を２倍拡大によって抑えてもいる。つまり、画像の情報が適切に保たれ、かつ高画質化されているので、この後段で更に拡縮する際にもより好都合となっている。特に、もともとの目的が２値画像の拡大であるならば、単なるアンチエイリアスではなく、アンチエイリアス拡大の方法が適している。
【０１３８】
さらに、２値文字線画画像の任意倍の高画質拡大に本発明を適用することができる。本発明の方法を利用して高画質な任意倍拡大画像を作成する方法としては、いくつかの方法がある。図３０は、任意倍拡大処理の一例を示すフローチャートである。図３０に示す方法では、まずＳ１８１において、与えられた拡大倍率（ｑｘ、ｑｙ）に対して（ｑｘ：横方向倍率、ｑｙ：縦方向倍率）、（ｑｘ＋ｑｙ）／２＞２n を満たす最大の整数ｎ＞０を選択する。Ｓ１８２において、処理対象の画像となる２値の入力画像を準備する。最初は原画像を処理対象の画像とする。Ｓ１８３において、上述の方法で処理対象の画像からアンチエイリアス２倍拡大画像を作成する。Ｓ１８４でｎ回反復したか否かを判定し、ｎ回まではＳ１８５でアンチエイリアス拡大画像を単純２値化し、Ｓ１８２へ戻って単純２値化したアンチエイリアス拡大画像を新たな処理対象の画像とする。
【０１３９】
このようなアンチエイリアス２倍拡大画像＋単純２値化の処理を、毎回、処理対象の画像を更新して計ｎ回繰り返す。その後、Ｓ１８６において、残りの倍率分を線形補間法などの所定の方法により拡大して、最後にＳ１８７で再び単純２値化する。このような処理によって、原画像に対してｑｘ×ｑｙ倍拡大された画像を生成することができる。
【０１４０】
なお、Ｓ１８６で行う線形補間法はぼけを生じやすい拡大法であるが、本発明の方法でアンチエイリアス２倍拡大した画像は、エッジにおいて適切なアンチエイリアスが掛かっているため、更に２倍未満の線形補間法で拡大した後に単純２値化しても、線形補間法のぼけの影響から発生するジャギーはほとんど現れない。また、最後の２倍拡大処理のみアンチエイリアス拡大とし、それより前に行う２倍拡大は、直後に単純２値化するものなので、その部分には上述したアンチエイリアスを伴わない拡大法を使用してもよい。
【０１４１】
図３１は、原画像および最近傍法で４倍に拡大した画像の具体例の説明図、図３２は、原画像と本発明を用いて４倍に拡大した画像の具体例の説明図である。図３１に示した最近傍法では、エッジ部にジャギーが発生しており、画質は劣悪である。これに対して図３２に示したように、本発明の処理を用いて４倍に拡大した画像では、エッジ部にジャギーがほとんど発生しておらず、高画質の拡大画像を得ることができる。
【０１４２】
もちろん任意倍の拡大の方法は、２倍拡大を繰り返す方法以外に、直接ｎ倍（ｎは整数）を得る方法を利用するようにしてもよい。これには、エッジ線を推定し、画素をより細かく分割しておいてエッジ線が画素を横切る面積占有率を図２４〜図２７、図２９などと同様に、水平（片側）、４５度（片側）に対して求めればよい。一般には、２倍毎に画像を更新して行く方がその都度細かい角度の補正が行われてゆくので、よりジャギーの現れにくい画像を得ることができる。しかし、このような２よりも大きな倍率へ直接拡大する方式を組み合わせると、画質を劣化させずにより高速化できる場合がある。
【０１４３】
また、本発明の高画質化の効果は、文字認識における認識率向上という副次的な効果も併せ持っている。文字認識の際には、各文字を所定の画素サイズに正規化してから認識処理を行う場合がある。例えば、原画像からそれぞれ文字を切り出してから、各文字を３２×３２画素サイズに解像度変換してから文字認識を行う場合がある。このような解像度変換の際に本方式による拡大処理を行うことで、特に元々の画素数が少ないような小さい文字に関する認識率を向上させることができる。この処理の際には、各文字を切り出した後に拡大する方法の他に、文字認識に掛ける前に、画像全体を一括して拡大してから文字認識させても良い。このように、スキャンした画像の場合には、本発明による拡大処理によって高画質出力が可能となる他、文字認識した際の認識率も同時に向上させることができる。
【０１４４】
上述の説明では、基本的なブロック単位をＭ＝２、Ｎ＝２として説明したが、もちろんこれ以外のブロック単位でも同様である。つまり、細線、黒太線、白太線の抽出を行ってから、細線部を黒太線、白太線のどちらかに分類し、更には白太線の処理は対称性を利用して黒太線の処理で共有化して、結局は全ての部分に黒太線用の処理を適用して画質改善できる。上述したように、細線は片側だけ見れば太線と同じ形をしているため、太線の片側を適切に補正する処理を構成しておけば、後は細線にも適用することができる。しかし、上述のＭ＝２、Ｎ＝２というサイズは、高速性と高画質性の二つの観点から見て優れているといえる。ブロックサイズが大きくなるに従って、判定が複雑になり処理時間が増えるし、更にブロックサイズが大きいことによって判定で拾えないような抜け漏れも増えてくるからである。
【０１４５】
本発明における画質改善方式の利点の一つは、細線を太線とみなして、全ての部位に太線としての画質改善を行える処理簡便性にあるが、Ｍ＝２、Ｎ＝２という小さなブロックサイズを用いることによって、更に高速性と高画質性を実現することができている。例えば、上述した従来の方法の中では最も画質が良い方法の１つである特許文献３に記載されている方法を使用すると、初期のパターンマッチング（エッジの段差の特定）において、最大１１７個の画素を参照する必要が生じる。更にパターンマッチングに４×３などの中サイズのブロックを使用しているので、１１７個の画素の参照だけでは認識できないような、抜け漏れのエッジパターンが存在し、その部分で画質が劣化する場合がある。これに対して、上述のような本発明の方法の場合、エッジ角度の概算までに最大でも１６個の画素を参照すれば充分であり、細線の処理は黒太線、白太線に帰結され、白太線の処理は黒太線との対称性のためにやはり黒太線に帰結されており、処理が簡潔かつ確実である。
【０１４６】
なお、これまでに述べてきた説明から明らかであるように、本発明において黒太線、白太線の用語は便宜性のためであり、上述したように例えば。Ｌ字、逆Ｌ字、といったような用語で言い換えてもよい。本発明の本質は、画像内部にあるさまざまな形態の線要素の中から処理すべきものだけを抽出し、更に効率的な方法で、最適化された単一の画質改善処理に集約させて処理させる点にある。
【０１４７】
図３３は、本発明の第２の実施の形態を含むシステムの一例を示すブロック図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。３１は初期拡大処理部、３２はドメインブロック抽出部、３３はドメインブロック分類部、３４はレンジブロック抽出部、３５は縮小レンジブロック作成部、３６は類似度判定部、３７は改良ドメインブロック作成部、３８はエッジ強調処理部、３９は平均値演算部、４０は反復処理部である。この第２の実施の形態では、上述の第１の実施の形態で説明したようにしてアンチエイリアス拡大画像を得た後、さらに別の方法で画質改善処理を施す例を示している。
【０１４８】
この第２の実施の形態では、画像処理部３は、さらに初期拡大処理部３１、ドメインブロック抽出部３２、ドメインブロック分類部３３、レンジブロック抽出部３４、縮小レンジブロック作成部３５、類似度判定部３６、改良ドメインブロック作成部３７、エッジ強調処理部３８、平均値演算部３９、反復処理部４０などを含んで構成されている。画像処理部３から出力される改良ドメインブロック画像はメモリ部２に書き込まれるが、このとき、同じ画素について先に書き込まれている値に対して新たな改良ドメインブロック画像の画素値を加算して値を更新してゆく。以下、各部の概要を説明する。なお、詳細については後述する。
【０１４９】
初期拡大処理部３１は、入力される２値の原画像を例えば最近傍法でｎ倍に拡大し、さらにここでは単純多値化して多値のｎ倍原画像を得る。この初期拡大処理部３１は、上述の第１の実施の形態において最初に２倍拡大画像で初期化していたが、この処理を行うものである。なお、拡大方法は任意であり、最近傍法に限られるものではない。また、以下の説明では簡単のため２倍に拡大するものとし、ｎ倍原画像は２倍原画像として説明するが、ｎ倍において同様である。さらに、多値化の方法も任意であるが、ここでは上述のように２値の０，１を多値の最小値、最小値とする単純多値化の方法を採用したものとして説明する。なお、多値の最大値、最小値としては、以下の説明で必要であれば０，２５５として説明するが、これに限られるものではない。
【０１５０】
ドメインブロック抽出部３２は、画質改善部１３によって得られたアンチエイリアス２倍拡大画像から第１のブロック単位Ｄ１の大きさでドメインブロック画像を抽出する。なお、ブロック単位とは、ブロックサイズによって定められる任意のブロック全体の総称を意味する。抽出するドメインブロック画像は、それぞれのドメインブロック画像が重ならないように原画像を分割するほか、原画像上で共通部分を有するようにドメインブロック画像を抽出することもできる。また、原画像がカラー画像である場合には、原画像の各色成分について、相対的に同一の位置からレンジブロック画像を抽出する。
【０１５１】
ドメインブロック分類部３３は、ドメインブロック抽出部３２で抽出したドメインブロック画像の種類を分類する。分類は、例えばドメインブロック画像の標準偏差および凹凸度などに基づいて行うことができる。分類する種類としては、例えば平坦部、ステップエッジ部、細線部、テクスチュア部などに分類することができる。更に分類した結果に応じて、細線部の場合には、第１のブロック単位Ｄ１以下の第３のブロック単位Ｄ２、テクスチュア部であれば第３のブロック単位Ｄ２以下の第５のブロック単位Ｄ３で、それぞれドメインブロック画像から複数の分割ドメインブロック画像を得る。以後の処理では、この分割ドメインブロック画像をドメインブロック画像として扱う。
【０１５２】
なお、ジャギーなどの画質劣化は主にステップエッジ部、細線部、テクスチュア部に発生している。従って、これらに対して画質改善のための処理を行えば全体として画質の向上を図ることが可能である。そのため、例えば平坦部などでは、以下の処理を行わずにアンチエイリアス２倍拡大画像のドメインブロック画像をそのまま改良ドメインブロック画像として出力するように制御し、処理時間を短縮することが可能である。また、第３のブロック単位Ｄ２と第５のブロック単位Ｄ３は第１のブロック単位Ｄ１と同じ大きさにすることもでき、その場合には、効果としてはブロックを分類するだけで、分割ドメインブロックの作成を行わないようにすることもできる。
【０１５３】
なお、上述のような分類は一例であり、さらに細分してもよいし、処理対象を絞るのであればもっと少なく分類してもよい。また、このようなドメインブロック画像の分類による処理の制御自体を行わなければ、このドメインブロック分類部３３を設けずに構成することも可能である。
【０１５４】
レンジブロック抽出部３４は、ドメインブロック分類部３３で抽出したドメインブロック画像について、第１のブロック単位Ｄ１よりも大きな第２のブロック単位Ｒ１でアンチエイリアス２倍拡大画像からレンジブロック画像を抽出する。また、ドメインブロック分類部３３で第３のブロック単位Ｄ２または第５のブロック単位Ｄ３でドメインブロック画像（分割ドメインブロック画像）を抽出した場合には、それぞれ第３のブロック単位Ｄ２よりも大きな第４のブロック単位Ｒ２、第５のブロック単位Ｄ３よりも大きな第６のブロック単位Ｒ３で、それぞれアンチエイリアス２倍拡大画像からレンジブロック画像を抽出する。ここで、抽出するレンジブロック画像は、ドメインブロック画像に対してはドメインブロック画像を含むように抽出し、分割ドメインブロックに対しては分割ドメインブロック画像を含むように抽出する。このとき、１つのドメインブロック画像または分割ドメインブロック画像に対して複数のレンジブロック画像を抽出してもよい。
【０１５５】
縮小レンジブロック作成部３５は、レンジブロック抽出部３４で抽出した第２のブロック単位Ｒ１、第４のブロック単位Ｒ２、第６のブロック単位Ｒ３のレンジブロック画像を、それぞれ第１のブロック単位Ｄ１、第３のブロック単位Ｄ２、第５のブロック単位Ｄ３の大きさに縮小し、縮小レンジブロック画像を作成する。縮小方法は任意である。なお、レンジブロック抽出部３４で複数のレンジブロック画像を抽出している場合には、それぞれのレンジブロック画像について縮小を行う。
【０１５６】
類似度判定部３６は、縮小レンジブロック作成部３５により縮小した縮小レンジブロック画像と、ドメインブロック抽出部３２で抽出したドメインブロック画像（ドメインブロック分類部３３で抽出した分割ドメインブロック画像を含む）との類似度を判定し、類似度に関する情報を改良ドメインブロック作成部３７に渡す。類似度の判定は任意であるが、例えば、縮小レンジブロック画像の画素値ｚを一次式ａｚ＋ｂによりドメインブロック画像の画素値に最小二乗近似した際の最小二乗誤差を用いることができる。この時の最小二乗係数ａ，ｂを改良ドメインブロック作成部３７に渡すように構成することができる。なお、レンジブロック画像が複数抽出されている場合、ドメインブロック画像と最も類似度が高い縮小レンジブロック画像を選択する。上述のような最小二乗誤差を用いる場合、その最小二乗誤差が最小の縮小レンジブロック画像を最類似縮小レンジブロック画像として選択すればよい。また、レンジブロック画像が一つだけ抽出されている場合、類似度の判定を行わず、最小２乗係数ａ，ｂを改良ドメインブロック作成部３７に直接渡すように構成することもできる。
【０１５７】
改良ドメインブロック作成部３７は、縮小レンジブロック作成部３５で作成された縮小レンジブロック画像に対して、類似度判定部３６で得られた類似度に関する情報を元に画素値の変換を行い、画素値変換の結果を改良ドメインブロック画像として出力する。例えば類似度判定部３６で最小二乗誤差を計算している場合、そのとき得られた最小二乗係数ａ、ｂを用いて縮小レンジブロック画像（最類似縮小レンジブロック画像）の画素値を一次式ａｚ＋ｂで変換することにより改良ドメインブロック画像を作成する。
【０１５８】
エッジ強調処理部３８は、ドメインブロック分類部５２において平坦部以外に分類されたドメインブロック画像に対応する改良ドメインブロック画像に対して、改良ドメインブロック画像内の画素値の最大値と最小値の関係からエッジ強調処理を行う。具体的には、改良ドメインブロック画像内の最大画素値と最小画素値の平均値を取り、エッジ強調の強度に従い、平均値よりも大きい画素値を平均値との距離に応じてより大きく変換し、平均値よりも小さい画素値を平均値との距離に応じてより小さく変換することができる。このときのエッジ強調の強度は、ドメインブロック画像の画素値の標準偏差値が小さい場合には強く、標準偏差値が大きい場合には弱くなるように設定することもできる。なお、ドメインブロック分類部３３を設けない構成の場合には、ドメインブロック画像の画素値の標準偏差値が所定値以上のときだけエッジ強調処理を行うようにすれば良い。
【０１５９】
平均値演算部３９は、ドメインブロック抽出部３２でドメインブロック画像を抽出し、ドメインブロック分類部３３で分割ドメインブロック画像を抽出した際に、処理後の改良ドメインブロック画像が重複する画素について平均値を演算する。この演算は、改良ドメインブロック画像の作成の際に、改良ドメインブロック画像の各画素値をメモリに加算すると同時に、メモリ２に別に用意した画素値の重複量記憶用メモリに、１回の重複につき１を加算してゆき、全てのドメインブロックについて処理が終わった後に、この重複量記憶メモリの値を参照して、加算された画素値を除算するようにして行うことができる。あるいは、原画像における位置からあらかじめ重複量がわかる場合には、改良ドメインブロック画像の画素値を重複量で除算した後にメモリ２中の画素値と加算して書き戻すように構成してもよい。
【０１６０】
反復処理部４０は、平均値演算部３９が終了して得られた画質改善画像を新たなアンチエイリアス２倍拡大画像として、再び画質改善部１３またはドメインブロック抽出部３２以降の処理を反復させる。なお、反復は所定回数だけ行ったり、得られた画質改善画像から特徴量を抽出して自動的に終了判定を行ってもよい。
【０１６１】
なお、この第２の実施の形態における画像処理部３は、２値文字線画画像を対象としている。そのため、処理に入る前に、入力された画像が２値文字線画画像であるか否かを判定する処理部を設けても良いし、入力された画像が２値文字線画画像でない場合には処理を終了するようにしても良い。
【０１６２】
以下、この第２の実施の形態における画像処理部３について、図を参照しながらいくつかの例について詳細に説明してゆく。なお、各例において、入力される原画像は２値文字線画画像であるとする。
【０１６３】
まず第１の例について説明する。この第１の例では、第１のブロック単位Ｄ１、第３のブロック単位Ｄ２、第５のブロック単位Ｄ３を等しいものとし、また１つのドメインブロック画像に対して複数のレンジブロック画像を抽出して最適な縮小レンジブロック画像を選択する例を示している。
【０１６４】
図３４は、本発明の第２の実施の形態における画像処理部３の動作の一例を示すフローチャート、図３５は、同じくドメインブロック抽出部３２以降の処理の一例を説明するための模式図である。動作を開始する前の準備として、画質改善処理の対象となる原画像の縦横それぞれ２倍のサイズで８ビット値の画像を記憶するためのメモリ領域をメモリ部２中に確保し、０で初期化しておく。これは、画像処理部３から出力される改良ドメインブロック画像（エッジ強調処理を行ったものを含む）を加算して書き込んでゆくために行うものである。
【０１６５】
Ｓ２０１において、初期拡大処理部３１により原画像を２倍サイズの画像に例えば最近傍法などによって拡大し、上述のアンチエイリアス拡大処理のための原画像を生成しておく。例えば、原画像を最近傍法によって２倍に拡大した後に、０は０に、１は２５５に変換してアンチエイリアス拡大処理のための初期画像を得る。
【０１６６】
Ｓ２０２においては、画質改善部１３によってアンチエイリアス拡大処理を行う。この処理は上述の第１の実施の形態の処理をそのまま適用することができる。
【０１６７】
Ｓ２０３においては、ドメインブロック抽出部３２により画質改善部１３で得られたアンチエイリアス２倍拡大画像の中からドメインブロック画像を抽出する。図３６は、ドメインブロック抽出部３２で抽出されるドメインブロック画像の一例の説明図である。ここでは第１のブロック単位Ｄ１の大きさを３×３画素とし、３×３画素の大きさのドメインブロック画像を抽出している。なお、図３５（Ａ）においても、３×３画素のドメインブロック画像を太線で示している。ここでは、アンチエイリアス２倍拡大画像の端から１画素ずつシフトさせた３×３画素の大きさのドメインブロック画像を順次抽出してゆく。そして、抽出したドメインブロック画像を処理対象とし、以下の処理によって画質を改善し、作成される改良ドメインブロック画像をメモリ部２内のドメインブロック画像に対応する位置に加算して書き込んでゆく。以下の説明では、１つのドメインブロック画像についての処理を説明してゆく。
【０１６８】
Ｓ２０４では、ドメインブロック分類部３３により、Ｓ２０３で抽出したドメインブロック画像の種類を分類する。図３７は、ドメインブロック分類部３３におけるドメインブロック画像の分類処理の一例を示すフローチャートである。まずＳ２２１において、ドメインブロック画像内の画素値｛ｄij｜ｉ，ｊ＝１，２，３｝について、画素平均値Ｄｖ＝Σｄij／９並びに画素標準偏差ＶＤｖ＝Σ（ｄij−Ｄｖ）2 を求める。Ｓ２２２において、Ｓ２２１で得られた画素値標準偏差ＶＤｖが、予め定めたエッジ部判定用閾値Ｓｖ１に対して、Ｓｖ１＜ＶＤｖを満たしているか否かを判定し、満たしていた場合にはＳ２２３でドメインブロック画像をエッジ部に分類する。満たしていない場合には、Ｓ２２４においてドメインブロック画像を平坦部に分類する。なお、この例ではドメインブロック画像の種類をエッジ部と平坦部にしか分類していないが、後述の例のようにさらに多くの種類に分類してもよい。また、判定用閾値Ｓｖ１は任意であり、固定値でも、可変値でもよい。なお、ここでの標準偏差ＶＤｘの値は、正確には変動と呼ばれる値であり、真の標準偏差値から定数項と平方根を除いたものを使用している。
【０１６９】
図３４に戻り、Ｓ２０４においてドメインブロック画像の分類結果を判定し、分類結果がエッジ部であったドメインブロック画像については、以下に示すさらなる画質改善処理を行う。また、分類結果がエッジ部以外、すなわちこの例では平坦部であると判定されたドメインブロック画像については、画質改善処理を行わずにＳ２１１に進み、ドメインブロック画像をそのまま改良ドメインブロック画像として、メモリ部２の画質改善後の画像を記憶するためのメモリ領域へ加算書き込みを行う。
【０１７０】
Ｓ２０５では、Ｓ２０４で分類された結果に応じてドメインブロック画像を更に小さなブロックに分割し、分割ドメインブロック画像を抽出する。ただし、この動作例では、この時点でドメインブロック画像はエッジ部のみに分類されており、ここでは分割ドメインブロックの抽出を行わない。あるいは、ドメインブロック画像と同じ大きさの分割ドメインブロック画像を抽出すると考えてもよい。
【０１７１】
Ｓ２０６では、レンジブロック抽出部３４により原画像からドメインブロック画像を含むレンジブロック画像を抽出する。ここでは一例として、第１のブロック単位Ｄ１よりも大きい第２のブロック単位Ｒ１として４×４画素とする。図３８は、レンジブロック抽出部５３で抽出するレンジブロック画像の一例の説明図である。レンジブロック画像の大きさを４×４画素とし、５×５画素の範囲をレンジブロック画像の抽出範囲とした場合、３×３画素の大きさのドメインブロック画像を含むレンジブロック画像としては、図３８（Ａ）〜（Ｄ）に示すような４つのレンジブロック画像の抽出が可能である。なお、図３５（Ａ）では図３８（Ｂ）に示した例を記載している。
【０１７２】
Ｓ２０７では、Ｓ２０６で抽出したすべてのレンジブロック画像を、縮小レンジブロック作成部３５によりドメインブロック画像と同じ大きさにそれぞれ縮小して縮小レンジブロック画像を得る。上述のように、ここではドメインブロック画像のサイズを３×３画素としているので、４×４画素のレンジブロック画像を３×３画素の縮小レンジブロック画像に縮小することになる。縮小方法としては任意であるが、ここでは一例として投影法を用いることとする。なお、特に投影法（線形縮小）を用いた場合には、隣り合う画素値を面積比に応じて加重加算して縮小するため、ジャギーの補正を特に効果的に行うことができる。
【０１７３】
図３９は、縮小レンジブロック作成部３５における投影法による縮小処理の一例の説明図である。ここでの投影法による縮小処理は、例えば図３９（Ａ）に一部示すように、４×４画素の画像を３×３画素の画像に投影した際の領域比率に基づいて、画素値を加重加算することによって行う。図３９（Ｂ）に示す４×４サイズの画素値を｛Ｐij｜ｉ，ｊ＝１，２，３，４｝、図３９（Ｃ）に示す縮小後の３×３サイズの画素値を｛Ｑij｜ｉ，ｊ＝１，２，３｝とした場合に、各Ｑijは、
Ｑ11＝（９×Ｐ11＋３×Ｐ21＋３×Ｐ12＋１×Ｐ22）／１６
Ｑ21＝（６×Ｐ21＋６×Ｐ31＋２×Ｐ22＋２×Ｐ32）／１６
Ｑ31＝（３×Ｐ31＋３×Ｐ42＋９×Ｐ41＋１×Ｐ32）／１６
Ｑ12＝（６×Ｐ12＋６×Ｐ13＋２×Ｐ22＋２×Ｐ23）／１６
Ｑ22＝（４×Ｐ22＋４×Ｐ32＋４×Ｐ23＋４×Ｐ33）／１６
Ｑ32＝（６×Ｐ42＋６×Ｐ43＋２×Ｐ32＋２×Ｐ33）／１６
Ｑ13＝（９×Ｐ14＋３×Ｐ13＋３×Ｐ24＋１×Ｐ23）／１６
Ｑ23≡（２×Ｐ23＋２×Ｐ33＋６×Ｐ24＋６×Ｐ34）／１６
Ｑ33＝（３×Ｐ43＋３×Ｐ34＋９×Ｐ44＋１×Ｐ33）／１６
で与えられる。
【０１７４】
一般にドメインブロック画像と、そのドメインブロック画像を含むレンジブロック画像とは類似していることが予想される（局所自己相似性）。このような仮定が成り立つ場合には、エッジ部に現出するジャギーは加重加算によってある程度軽減される。しかし、これはドメインブロック画像とレンジブロック画像とが類似していることが前提である。そのため、次のステップでドメインブロック画像に類似しているレンジブロック画像を選択する。
【０１７５】
図３４に戻り、Ｓ２０８では、類似度判定部３６において、Ｓ２０７でそれぞれのレンジブロック画像から作成した縮小レンジブロック画像とドメインブロック画像との類似度を判断する。ここでは、縮小レンジブロック画像に対して画素値変換を行うことにより、ドメインブロック画像と最も類似した画素値及びパターンを持つ縮小レンジブロック画像の選出と、そのとき得られる類似度に関する情報の取得を行う。まず、全ての縮小レンジブロック画像の画素値｛ｒijk ｜ｉ，ｊ＝１，２，３，ｋ＝１，…，４｝について、それぞれ画素平均値Ｒｖk ＝Σｒijk ／９、並びに、画素標準偏差ＶＲｖk ＝Σ（ｒijk −Ｒｖk ）2 を求める。次に、縮小レンジブロック画像の画素値ｚをそれぞれ一次変換ａｚ＋ｂで対応するドメインブロック画像の画素値に最小二乗近似した際の変換係数ａk とｂk 、並びに変換誤差Ｅk ＝Σ（ｄij−ａk ×ｒijk −ｂk ）2 を求める。最小二乗法において、ａk 、ｂk 、Ｅk は以下の計算式で直接求めることができる。なお、Ｄｖ、ＶＤｖは、ドメインブロック分類部３３で計算したものを使うことができる。
ａk ＝（Σ（ｒijk −Ｒｖk ）×（ｄij−Ｄｖ））／ＶＲｖk 
ｂk ＝Ｄｖ−ａk ×Ｒｖk 
Ｅk ＝ＶＤｖ−ａk ×ａk ×ＶＲｖk 
【０１７６】
ここで、Ｅ＝ｍｉｎ｛Ｅk ｜ｋ∈Ｇ｝とおき、Ｅ＝Ｅk なるｋに対して、ａ＝ａk 、ｂ＝ｂk とおく。このｋが指し示す縮小レンジブロック画像が最もドメインブロック画像と類似したものとなる。なお、実際にはｂk はＥk の決定に必要ないので、Ｅk が最小となるｋが求まり、最終的にａk が決まった後にｂk を計算すれば良い。
【０１７７】
Ｓ２０９では、改良ドメインブロック作成部３７により、類似度判定部３６において選択された３×３サイズの縮小レンジブロック画像の全画素ｚに対して、類似度判定部３６において求められた変換係数ａ、ｂによって画素値変換ａｚ＋ｂを施す。この結果を図３５（Ｄ）に示すように３×３画素のドメインブロック画像の改良ドメインブロック画像とする。
【０１７８】
このような処理において、得られた改良ドメインブロック画像はレンジブロック画像から作成されたものである。しかし、上述のようにドメインブロック画像とレンジブロック画像が類似していれば、縮小レンジブロック画像は縮小によってドメインブロック画像のジャギーがある程度軽減された画像である。さらに、改良ドメインブロック作成部３７で作成した改良ドメインブロック画像では、画素値変換によってドメインブロック画像に類似させた（最小二乗近似させた）画像となっている。従って、改良ドメインブロック画像は、ドメインブロック画像について画質を改良した画像であると言うことができる。
【０１７９】
さらにエッジ部の画質を向上させるため、エッジ強調処理部３８によるエッジ強調処理を施すことができる。Ｓ２１０において、エッジ強調処理部３８により改良ドメインブロック画像に対してエッジ強調処理を行う。ここでは、改良ドメインブロック画像内の画素値の中間値ａｖに対して、ａｖよりも大きな画素値はより大きく、ａｖよりも小さい画素値はより小さくすることによってエッジ強調処理を行う。
【０１８０】
図４０は、エッジ強調処理部３８におけるエッジ強調処理の一例の説明図である。図４０（Ａ）に示す３×３画素の改良ドメインブロック画像ｐij（ｉ，ｊ＝１，２，３）に対して、画素最小値ｍｉｎｐ及び画素最大値ｍａｘｐを
ｍｉｎｐ＝ｍｉｎ｛ｐij｝
ｍａｘｐ＝ｍａｘ｛ｐij｝
とおき、更に
ａｖ＝（ｍａｘｐ＋ｍｉｎｐ）／２
ｌ＝（ｍａｘｐ−ｍｉｎｐ）／２
とおく。
【０１８１】
このとき、以下の演算によって図４０（Ｃ）に示すエッジ強調画素値ｑij（ｉ，ｊ＝１，２，３）が得られる。
ｑij＝ａｖ＋ｆ（（ｐij−ａｖ）／ｌ）・ｌ
ここで、エッジ強調関数ｆとしては、図４０（Ｂ）に示したように原点（０，０）を中心にＳ字型をした関数を用いる。例えば、
ｆ（ｘ）＝ｘ（１−ｘ2 ）・α＋ｘ    （α＝０．０〜１．０）
などの関数を使用することができる。変数αはエッジ強調の強度を規定するパラメータであり、この場合は０．０〜１．０の値を取ることができる。なお、α＞０．５の場合には、関数が単調増加でなくなるため、オーバーシュート／アンダーシュートが発生しやすくなるという欠点があるものの、エッジ強調の効果を大きくすることができる。α＝０．０とした場合には、実質上エッジ強調がなされず、α値が大きいほど強いエッジ強調効果が与えられる。α値は固定にしておいても良いし、エッジ部の強度に対応する画素値標準偏差ＶＤｖ値の逆数に比例するように可変にしても良い。このようにすると、ボケた部分（すなわち標準偏差が小さい部分）には強めのエッジ強調が掛かり、もともとシャープな部分（すなわち標準偏差が大きい部分）には弱めにエッジ強調が掛かるように調整することができる。もちろん、ｆ（ｘ）として、この他の関数を使用することもでき、エッジ強調のパラメータは各関数固有に定めることができる。例えばエッジ強調を行うか否かを切り替えるような構成も可能である。
【０１８２】
Ｓ２１１では、以上のようにしてエッジ強調処理を施した改良ドメインブロック画像を、メモリ部２中の画質改善画像用領域に対して加算書き込みを行う（図３５（Ｆ））。エッジ強調処理を行わない場合には、改良ドメインブロック作成部３７で作成された改良ドメインブロック画像自体を、また分類された種別が平坦部であった場合にはドメインブロック抽出部３２で抽出したドメインブロック画像自体を、メモリ部２中の画質改善用領域に加算書き込みを行う。加算書き込みは、書き込む領域の画素値をメモリ部２から読み出し、読み出した画素値と得られた改良ドメインブロック画像等の画素値とを加算し、改めて同じ位置に書き込むことによって行われる。
【０１８３】
Ｓ２１２において、ドメインブロック抽出部３２で抽出すべき全てのドメインブロック画像について処理を行ったか否かを判定し、未処理のドメインブロック画像が存在する場合にはＳ２０３へ戻り、処理を繰り返す。
【０１８４】
すべてのドメインブロック画像について処理を終えたら、Ｓ２１３で平均値演算部３９においてメモリ部２中の画質改善用領域に書き込まれた画像について平均値を算出する処理を行う。図４１は、平均値演算部３９における平均値演算処理の一例の説明図である。上述のようなドメインブロック画像に対する処理を行うと、原画像におけるドメインブロック画像の重複量（加算回数）は図４１に示すような値となる。従って、平均値演算部３９では、メモリ部２の画質改善画像用領域に格納されている値を、この重複量の値で除算した結果得られる画像を、画質改善画像メモリに再度書き込み、画素値を更新する。この際に、画素値が０以下になっている場合には、その画素値を０に置き換え、最大値（例えば２５５）を越える場合には、最大値（例えば２５５）に置き換える。
【０１８５】
上述のような処理を行うことによって、第１の実施の形態で得られたアンチエイリアス拡大画像よりもさらに画質が改善された２倍拡大画像を得ることができる。このような処理を複数回繰り返すことによって、よりアンチエイリアスの効果を高めることができる。Ｓ２１４において、反復処理部４０は上述のような工程を所定回数反復したか否かを判断する。所定回数反復していない場合には、Ｓ２１５において、出力された２倍拡大画像を、処理対象のアンチエイリアス２倍拡大画像に置き換えてＳ２０３へ戻り、処理を繰り返す。所定回数反復した場合には、画像を画像出力部３へ出力し、画質改善処理を終了する。ここでは一例として反復回数として５回を指定し、５回反復したら終了とする。
【０１８６】
なお、平均値演算部３９による平均化処理は、重複計算が全て終了した画素に対しては順次行って出力しても良く、そのようにすることで省メモリ化できる。また、２値画像の場合、平坦部（真白または真黒）が多く、ドメインブロック分類部３３で平坦部に分類され、画質改善処理を施さずにドメインブロック抽出部３２で抽出したドメインブロック画像をそのまま改良ドメインブロック画像とする場合が多く発生する。このような変更のないドメインブロック画像をＳ２１１でメモリ２中の値に加算せず、平坦部は全く処理を行わずに、代わりにエッジ部をＳ２１１でメモリ２の値と加算する際に、メモリ２中に予め用意した重複量記憶領域に重複量を１つずつ追加してゆくこともできる。この場合、Ｓ２１３で平均値計算を行う際に、この重複量記憶領域を参照して重複量で除算すれば平均値計算を行うことができる。つまり、実際に画質改善処理を行った新しい画素のみをメモリ２中の値と加算すると同時に、その各画素の重複処理量も加算し、最後に各画素をその重複量で除算する。また重複量記憶領域中の重複量が０の部分は、上述の第１の実施の形態で説明したようにして得られたアンチエイリアス２倍拡大画像の値をそのまま出力すれば良い。このように部分的に加算を行う方法の場合、すべての画素について加算を行う上述の例の結果とは若干画素値が変わる部分が生じるが、拡大画質に大きな差は現れず、平坦部が多いほど高速化の効果を得ることができる。
【０１８７】
また、上述の画質改善処理は、エッジ部に対して局所コラージュ処理を行って画質を改善している。つまり、３×３画素のドメインブロック画像を含む４×４画素のレンジブロック画像を選択し、その４×４画素を３×３画素に縮小して輝度合わせを行い、エッジ強調後にドメインブロック画像に置き換えている。４×４画素を３×３画素に縮小すると、上述のようにジャギーの目立つエッジ部は平均化されて多少のボケが加わってアンチエイリアスされ、更にエッジ強調処理によって、シャープ化される。また、２値画像の場合、１回の処理でジャギーが取れきれない部分がある。そのため、上述のように反復処理部４０により反復処理を行って２倍画像の画質を徐々に改善している。もちろん、１回の処理のみで終了してもよい。特に画質改善部１３によってアンチエイリアス拡大処理を行っているため、それほど反復処理を行わなくても十分な画質を得ることができる。
【０１８８】
さらに、ドメインブロック画像、レンジブロック画像の形状は共に正方形としたが、もちろんどちらか片方、あるいは両方を長方形にしても良い。例えば、ドメインブロック画像のサイズを２×３画素とし、これに対してレンジブロック画像のサイズを３×４画素としても良いし、ドメインブロック画像のサイズを２×３画素とし、これに対するレンジブロック画像のサイズを４×４画素としても良い。以下にレンジブロック画像のサイズを変更した例として、第２の例を示す。
【０１８９】
第２の例について説明する。上述の第１の例では、レンジブロック画像のサイズを４×４画素としたが、この第２の例では５×５画素とした例について説明してゆく。ドメインブロック画像のサイズは第１の例と同じく３×３画素とする。さらに、この第２の例では、レンジブロック画像の探索処理を行わず、ドメインブロック画像に対して常に同じ位置からレンジブロック画像を１つ選択するものとして説明する。
【０１９０】
この第２の例において、上述の第１の例と異なるのは、レンジブロック抽出部３４、縮小レンジブロック作成部３５、類似度判定部３６の処理、すなわち図３４に示した処理のうちのＳ２０６〜Ｓ２０８の処理である。以下、その部分について具体的に説明する。
【０１９１】
ドメインブロック分類部３３によってドメインブロック画像を分類した結果、ドメインブロック画像がエッジ部に分類された場合、レンジブロック抽出部３４によりアンチエイリアス２倍拡大画像からレンジブロック画像を抽出する。図４２は、レンジブロック抽出部３４におけるレンジブロック画像抽出処理の別の例の説明図である。この第２の例では、図４２に示すようにドメインブロック画像を中央位置に含むように５×５ブロックを選択する。この場合、レンジブロック画像は１つのみが抽出される。もちろん、レンジブロック画像の抽出範囲を広げれば複数のレンジブロック画像を検索することができるが、上述のようにこの例では図４２に示すように１つのレンジブロック画像を固定的に抽出する。レンジブロック画像の抽出に際して、画像の緑の部分では、３×３画素のドメインブロック画像を中央に含むように５×５画素のレンジブロック画像を取れない。このような場合には、例えば１画素分シフトした位置からレンジブロック画像を選択すれば良い。
【０１９２】
なお、ドメインブロック画像が平坦部に分類された場合はレンジブロック画像の抽出を行わず、ドメインブロック画像自身を改良ドメインブロック画像として選択し、例えば図３４におけるＳ２１１へ移行し、メモリ部２への加算書き込みを行う。
【０１９３】
次に、抽出した５×５画素サイズのレンジブロック画像を、縮小レンジブロック作成部３５により３×３サイズの縮小レンジブロックに縮小する。ここでの縮小方法も投影法を用いる。図４３は、縮小レンジブロック作成部３５における投影法による縮小処理の別の例の説明図である。投影法による縮小処理は、例えば図４３（Ａ）に一部示したように、５×５画素サイズの画像を３×３画素サイズの画像に投影した際の領域比率に基づいて画素値を加重加算して行う。図４３（Ｂ）に示すように５×５画素サイズのレンジブロック画像の画素値が｛Ｐij｜ｉ，ｊ＝１，２，３，４，５｝、図４３（Ｃ）に示すように縮小後の３×３画素サイズの縮小レンジブロック画像の画素値を｛Ｑij｜ｉ，ｊ＝１，２，３｝とした場合に、各Ｑijは、
Ｑ11＝（９×Ｐ11＋６×Ｐ21＋６×Ｐ12＋４×Ｐ22）／２５
Ｑ21＝（３×Ｐ21＋３×Ｐ41＋２×Ｐ22＋２×Ｐ42＋６×Ｐ32＋９×Ｐ31）／２５
Ｑ31＝（６×Ｐ31＋６×Ｐ42＋９×Ｐ41＋４×Ｐ32）／２５
Ｑ12＝（３×Ｐ12＋３×Ｐ14＋２×Ｐ22＋２×Ｐ23＋６×Ｐ23＋９×Ｐ13）／２５
Ｑ22＝（１×Ｐ22＋１×Ｐ42＋１×Ｐ24＋１×Ｐ44＋３×Ｐ32＋３×Ｐ23＋３×Ｐ43＋３×Ｐ44＋９×Ｐ33）／２５
Ｑ32＝（３×Ｐ52＋３×Ｐ54＋２×Ｐ42＋２×Ｐ44＋６×Ｐ43＋９×Ｐ53）／２５
Ｑ13＝（９×Ｐ15＋６×Ｐ14＋６×Ｐ25＋４×Ｐ24）／２５
Ｑ23＝（３×Ｐ25＋３×Ｐ45＋２×Ｐ24＋２×Ｐ44＋６×Ｐ34＋９×Ｐ35）／２５
Ｑ33＝（６×Ｐ54＋６×Ｐ45＋９×Ｐ55＋４×Ｐ44）／２５
で与えられる。
【０１９４】
次に類似度判定部３６で類似度の判定処理を行うが、この第２の例ではレンジブロック画像を一つだけしか選択していないため、最類似縮小レンジブロック画像を選択するという処理は、実用上は必要ない。つまり、縮小レンジブロック作成部３５で作成した縮小レンジブロック画像自身を最類似縮小レンジブロック画像として選択すれば良い。まず、全ての縮小レンジブロック画像の画素値｛ｒij｜ｉ，ｊ＝１，２，３｝について、それぞれ画素平均値Ｒｖ＝Σｒij／９及び画素標準偏差ＶＲｖ＝Σ（ｒij−Ｒｖ）2 を求める。次に、縮小レンジブロック画素値をそれぞれ一次変換ａｚ＋ｂで対応するドメインブロック画像画素値に最小二乗近似した際の変換係数ａ、ｂを以下の式から求める。
ａ＝（Σ（ｒij−Ｒｖ）×（ｄij−Ｄｖ））／ＶＲｖ
ｂ＝Ｄｖ−ａ×Ｒｖ
この第２の例では、最類似縮小レンジブロック画像を選択する処理が必要ないので、上述の第１の例で行っている最小二乗誤差の計算は不要である。
【０１９５】
以降の改良ドメインブロック作成部３７、エッジ強調処理部３８、平均値演算部３９、反復処理部４０の処理については上述の第１の例と同様であるので、ここでは説明を省略する。なお、この第２の例においても、平均値計算部６０の除算量はメモリ２を使用して記憶しておいても良い。つまり、ドメインブロック画像がエッジ部と分類されて処理されたときに限って新しい画素値を加算すると同時に、予め用意した重複量記憶領域に１を加算しておき、最後の平均値計算部６０での除算の際にこの重複領域奥領域を参照して除算しても良い。このようにすることで、平坦部に関してＳ２１１で行うメモリ２への加算書き込みを省略して高速化することができる。
【０１９６】
この第２の例では、上述の第１の例で４×４画素としていたレンジブロック画像のサイズを５×５画素に変更した例を示した。５×５画素から３×３画素に縮小した場合、４×４から３×３に縮小するよりもアンチエイリアス効果が高い。従って、この第２の例では第１の例に比べて、エッジ部の改善効果が高く、良好な処理画像を得ることができる。加えて、レンジブロック画像を探索せずに、常に３×３ブロックを中央位置に含む５×５ブロックを最類似縮小レンジブロック画像として選択しているため、４箇所の４×４ブロックのうちの１つを選択する場合に比べて、画像全体に渡って均一なコラージュ処理が施され、画質が安定する。特に２値画像の場合には、このことが画質に与える効果が大きく、探索を行わずに５×５ブロックを縮小する方が高画質な場合がある。もちろん探索処理を行わない分だけ高速化することもできる。
【０１９７】
ここで、上述の第２の実施の形態における第１の例と第２の例で述べた本発明の効果をまとめる。この第２の実施の形態のようにドメインブロック画像を含むレンジブロック画像を抽出し、縮小して改良ドメインブロック画像として書き込むという局所コラージュ処理の部分は、画像の局所自己相似性の仮定を前提としている。しかし、この局所コラージュ処理は自然画において良好な画質改善が得られるが、２値画像の場合、必ずしも適切な効果が出ない場合がある。この理由としては、２値画像の場合、ジャギーが強く細線が多いために、局所自己相似性をより強く適切に追求する必要があり、通常の局所コラージュ処理では、局所自己相似性の追求が足りていないからであると考えられる。そのため本発明では、この点に関して大きな改善を図っている。
【０１９８】
この第２の実施の形態では、原画像に対してあらかじめ初期拡大処理部３１および画質改善部１３によってアンチエイリアス２倍拡大画像を得ている。この拡大処理を行わず、原画像に対して整数サイズのブロックを使用して局所コラージュ処理を行った場合、上述のように２値画像においては局所自己相似性が不足する部分が生じる。そのため本発明においては拡大された画像を用いることによって、原画像に対してより小さな小数サイズのブロックを使用した局所コラージュ処理を行い、より適切に局所自己相似性を追求することができる。
【０１９９】
上述のように、この第２の実施の形態における第１，第２の例では、原画像に対して小数サイズブロックで局所コラージュ処理を行ったのと同様の効果があり、細部の情報を忠実に保ったまま拡大することができる。その反面で、小さなブロックを使用しているため１回の処理で得られるアンチエイリアスの効果が減るという欠点がある。そのため、上述の第１，第２の例では、反復処理部４０によって局所コラージュ処理を複数回反復する処理を行ってアンチエイリアスの効果を徐々に高めることができる。このように反復を行うことは画質の点から好ましいが、処理速度が遅くなるという点からは、できるだけ反復を少なくすることが好ましい。この第２の実施の形態では、画質改善部１３によって上述の第１の実施の形態で説明したようにしてアンチエイリアス拡大画像を得てから、局所コラージュ処理を行うことによって、反復回数を減少させ、より高画質の出力画像を高速に得ることができる。さらに高速化するための方法を以下の第３の例として示す。
【０２００】
第３の例について説明する。以上述べてきた第１、第２の例ではブロックサイズを全て固定して処理を行った。この第３の例では、画像の各部位に応じてブロックサイズを変更して、それぞれ少ない回数の反復で各部に適切にアンチエイリアス効果が得られる処理方法について説明する。なお、この第３の例でも第２の例と同じく、レンジブロック画像の探索処理を行わず、ドメインブロック画像に対して常に同じ位置からレンジブロック画像を１つ選択するものとして説明する。
【０２０１】
この第３の例において、上述の第２の例と本質的に異なるのは、ドメインブロック分類部３３、レンジブロック抽出部３４、縮小レンジブロック作成部３５の処理である。すなわち、図３４に示した処理のうちのＳ２０４〜Ｓ２０６の処理である。以下、その部分について具体的に説明する。
【０２０２】
まず、第１のブロック単位Ｄ１の大きさを４×４画素とし、ドメインブロック抽出部３２でアンチエイリアス２倍拡大画像からドメインブロック画像を抽出する。
【０２０３】
この第３の例においては上述の第１，第２の例とは異なり、ドメインブロック分類部３３において、ドメインブロック画像を平坦部、ステップエッジ部、細線部、孤立点部、先端部、テクスチュア部に分類する。つまり、第１，第２の例ではエッジ部として共通に扱っていた部分を細分し、それぞれ別の部分として分類する。
【０２０４】
図４４は、ドメインブロック分類部３３におけるドメインブロック画像の分類処理の別の例を示すフローチャートである。ここで、Ｓ２３１〜Ｓ２３４におけるエッジ部と平坦部の分類までは、第１，第２の例における図３７に示したフローチャートと同じである。Ｓ２３３でエッジ部と分類された場合には、次のＳ２３５において、ドメインブロック画像の凹凸量と白画素数、黒画素数を計算する。
【０２０５】
図４５は、凹凸量の計算処理の一例の説明図である。凹凸量の計算としては、例えば図４５に示すように、先に抽出した４×４ドメインブロック画像（図４５（Ａ）中の太枠線）を、図４５（Ｂ）に示す原画像上に逆射影する。アンチエイリアス２倍拡大画像上における４×４ドメインブロック画像に対応する原画像上の画像は、２×２ブロックサイズの２値画像である。なお、逆射影した際の位置が小数単位である場合には、小数を切り捨てた位置のブロックを使用すれば良い。
【０２０６】
この逆射影した原画像上の２×２ブロックの周囲の画素、例えば４×４ブロック画像を使用して凹凸量を計算することができる。この４×４ブロック画像のうち、中央の２×２以外の画素（ｐ1 〜ｐ12、ｐ13＝ｐ1 、各ｐi は０か１の値）に対して、
凹凸量＝Σi=112 ｜ｐi −ｐi+1 ｜
で凹凸量を計算することができる。
【０２０７】
また、逆射影した原画像上の４×４ブロック画像内の白画素数と黒画素数をそれぞれカウントする。このようにしてアンチエイリアス２倍拡大画像におけるドメインブロック画像に対応する逆射影した原画像の画素およびその周囲の画素から、原画像における凹凸量、黒画素数、白画素数を得ることができる。図４５に示した例では、凹凸量＝４、黒画素数＝５、白画素数＝９となる。
【０２０８】
図４４に戻り、Ｓ２３６において、Ｓ２３５で算出した凹凸量の値に応じて処理を分岐する。まず、凹凸量＝０の場合には、Ｓ２４０において孤立点に分類する。次に、凹凸量＝４の場合には、Ｓ２４１において細線部に分類する。次に、凹凸量＞４の場合には、Ｓ２４２においてテクスチュア部に分類する。最後に、凹凸量＝２の場合には、Ｓ２３７において黒画素数と白画素数の差に応じて更に分類する。すなわち、黒画素数と白画素数の差が所定以下の場合、Ｓ２３８においてステップエッジ部に分類し、所定以上の場合、Ｓ２３９において先端部に分類する。例えば所定数を４とし、
｜黒画素数−白画素数｜≦４
のときステップエッジ部と分類することができる。
【０２０９】
図４６は、ドメインブロック分類部３３におけるドメインブロック画像の分類処理の別の例による分類結果の具体例の説明図である。上述の図４４で示したフローチャートにより分類した結果をまとめて図４６に図示している。なお、図４６においては、逆射影した原画像上での画像を示している。まず図４６（Ａ）の例では、中央の２×２ブロックの周囲には黒画素が存在しない。従って凹凸量は０となり、孤立点として分類される。図４６（Ｂ）の例では、中央の２×２ブロックの周囲の画素から凹凸量を算出すると、４となる。従って、この場合は細線に分類される。図４６（Ｃ）に示す例では、中央の２×２ブロックの周囲の画素から凹凸量が６と算出される。従ってこの場合はテクスチュア部に分類される。図４６（Ｄ）および（Ｅ）に示す例では、中央の２×２ブロックの周囲の画素から凹凸量はいずれも２と算出されるので、さらに白画素数と黒画素数の差を算出する。図４６（Ｄ）に示す例では白画素数および黒画素数とも８であるので、差は０となり、差が所定以下と判断されてステップエッジ部に分類される。また図４６（Ｅ）に示す例では白画素数は１３、黒画素数は３であるので、差は１０となり、所定以上と判断されて先端部に分類される。図４６に示したこれらの例においては、それぞれの分類結果は妥当なものと考えられるであろう。
【０２１０】
ドメインブロック画像を分類したら、図３４のＳ２０４で平坦部か否かを判断し、平坦部以外の場合にはＳ２０５へ進む。上述のＳ２０５の説明では、分類結果に応じてドメインブロック画像をさらに小さなブロックに分割するとのみ述べ、第１の例ではエッジ部のみに分類されているため実際には分割を行わなかった。この第３の例では、この時点でステップエッジ部、細線部、孤立点部、先端部、テクスチュア部に分類されている。これらの分類に応じて、必要ならさらに小さなブロックへの分割を行う。
【０２１１】
図４７は、分類結果に従ったドメインブロック画像の分割処理およびレンジブロック画像の抽出の一例の説明図である。ドメインブロック分類部３３による分類結果がステップエッジ部であった場合には、図４７（Ａ）に示すように、ドメインブロック画像のブロック単位は第１のブロック単位Ｄ１（＝４）のままとしている。この場合、ドメインブロック画像の分割は行わない。
【０２１２】
また、細線部に分類されたドメインブロック画像については、図４７（Ｂ）に示すように、ブロック単位として第１のブロック単位Ｄ１以下の第３のブロック単位Ｄ２とする。ここでは第３のブロック単位Ｄ２＝３としている。この場合、元の４×４ブロックサイズのドメインブロック画像から３×３ブロックサイズの分割ドメインブロック画像を取得する方法は４通り存在する。すなわち図４７（Ｂ）に示すように左上に寄せた位置のほか、左下、右上、右下にそれぞれ寄せた位置の３×３サイズのブロックを分割ドメインブロック画像として取得することができる。
【０２１３】
さらに、先端部、孤立点部、テクスチュア部に分類されたドメインブロック画像については、図４７（Ｃ）に示すように、ブロック単位として第２のブロック単位Ｄ３以下の第５のブロック単位Ｄ３とする。ここでは第５のブロック単位Ｄ３＝２としている。この場合、元の４×４ブロックサイズのドメインブロック画像から２×２ブロックサイズの分割ドメインブロック画像を取得する方法は９通り存在し、それぞれ、分割ドメインブロック画像として取得する。
【０２１４】
なお、細線部に分類されたドメインブロック画像から得られた４つの分割ドメインブロック画像、および、先端部、孤立点部、テクスチュア部に分類されたドメインブロック画像から得られた９つの分割ドメインブロック画像は、以降の処理ではドメインブロック抽出部３２で抽出した元のドメインブロック画像に代えて新たなドメインブロック画像として扱い、処理を進める。
【０２１５】
次に、図３４のＳ２０６においてレンジブロック抽出部３４でレンジブロック画像の抽出処理が行われる。ドメインブロック分類部３３で分類された結果、ステップエッジ部の場合には第１のブロック単位Ｄ１のドメインブロック画像が１個、細線部は第３のブロック単位Ｄ２の分割ドメインブロックが４個、先端部、孤立点部、テクスチュア部は第５のブロック単位Ｄ３の分割ドメインブロックが９個、それぞれ抽出されている。そこで、第１のブロック単位Ｄ１、第３のブロック単位Ｄ２、第５のブロック単位Ｄ３に対してそれぞれ第２のブロック単位Ｒ１、第４のブロック単位Ｒ２、第６のブロック単位Ｒ３（Ｒ１＞Ｄ１、Ｒ２＞Ｄ２、Ｒ３＞Ｄ３）のレンジブロック画像を抽出する。
【０２１６】
つまり、ステップエッジ部の場合には、第２のブロック単位Ｒ１でドメインブロック画像を含むようにレンジブロック画像を抽出する。また、細線部の場合には、４個の分割ドメインブロック画像に対して、第４のブロック単位Ｒ２でそれぞれの分割ドメインブロック画像を含むようにレンジブロック画像を抽出し、４個のレンジブロック画像を得る。さらに、先端部、孤立点部、テクスチュア部の場合には、９個の分割ドメインブロック画像に対して、第６のブロック単位Ｒ３でそれぞれの分割ドメインブロック画像を含むようにレンジブロック画像を抽出し、９個のレンジブロック画像を得る。第２のブロック単位Ｒ１、第４のブロック単位Ｒ２、第６のブロック単位Ｒ３としては、例えば、
ステップエッジ部：第２のブロック単位Ｒ１＝６
細線部：第４のブロック単位Ｒ２＝５
先端部、孤立点部、テクスチュア部：第６のブロック単位Ｒ３＝４
とすることができる。このようにレンジブロック画像のブロック単位を定めた場合には、上述の第２の例と同様、レンジブロック画像の探索を行わずに、ドメインブロックまたは分割ドメインブロック画像を中央に含むようにレンジブロック画像をそれぞれ１つだけ抽出することができる。そのため、レンジブロック画像の探索は行わない。
【０２１７】
それぞれの分類に応じて抽出されるレンジブロック画像の一例を図４７に示している。図４７（Ａ）はステップエッジ部の場合であり、４×４サイズのドメインブロック画像を含む６×６サイズのレンジブロック画像を抽出する。また、図４７（Ｂ）は細線部の場合であって、分割ドメインブロック画像としてドメインブロック画像の左上の３×３ブロックについてレンジブロック画像を抽出した例を示している。それぞれの分割ドメインブロック画像について、同様にレンジブロック画像が抽出される。図４７（Ｃ）は先端部、孤立点部、テクスチュア部の場合であり、分割ドメインブロック画像としてドメインブロック画像の左上の２×２ブロックについてレンジブロック画像を抽出した例を示している。９個のそれぞれの分割ドメインブロック画像について、同様にレンジブロック画像が抽出される。
【０２１８】
この第３の例における残りの処理は、本質的には第２の例と同様である。つまり、ドメインブロック抽出部３２で抽出されたドメインブロック画像がステップエッジ部に分類された場合には第２のブロック単位Ｒ１のレンジブロック画像を第１のブロック単位Ｄ１に縮小し、最小二乗近似して改良ドメインブロック画像として採用する。また、細線部に分類された場合には、第３のブロック単位Ｄ２の４個の分割ドメインブロックに対して、それぞれ第４のブロック単位Ｒ２の４個のレンジブロック画像を第３のブロック単位Ｄ２に縮小し、最小二乗近似して、４個の改良ドメインブロック画像として採用する。さらに、先端部、孤立点部、テクスチュア部に分類された場合には、第５のブロック単位Ｄ３の９個の分割ドメインブロック画像に対して、それぞれ第６のブロック単位Ｒ３の９個のレンジブロック画像を第５のブロック単位Ｄ３に縮小し、最小二乗近似して、９個の改良ドメインブロック画像として採用する。これらの結果は、ブロック単位にかかわらず、全てメモリ２中の改良ドメインブロック画像による更新用の記憶領域の対応する位置に加算される。なお、各レンジブロック画像の縮小の際には、それぞれブロックサイズに応じて図３８や図４２に示したのと同様の投影法を使用すると良い。
【０２１９】
なお、この第３の例における平均値演算部３９は、異なるブロックサイズで改良ドメインブロック画像を重複させて加算しているため、第１，第２の例で行ったように固定的に除算処理を行うことができない、そこで、平均値演算部３９での除算処理のために、第１，第２の例の最後の部分で述べたように、除算値を記憶するための記憶領域（重複量記憶領域）を用意し、改良ドメインブロック画像の画素値を加算する際に、重複量記憶領域の同じ位置に１を加算してゆき、処理が終わった後に、この重複量記憶領域の値で画素値を除算するように構成すればよい。
【０２２０】
この第３の例の場合、逆射影した原画像を利用してドメインブロックを分類しているが、処理対象となるアンチエイリアス２倍拡大画像から分類することも可能である。但し、反復処理部４０によって反復される毎に処理対象のアンチエイリアス２倍拡大画像が更新されるため、反復の度に分類結果が変わる可能性がある。
【０２２１】
第３の例では、ステップエッジ部には大きいブロックサイズ、細線にはやや小さ目のブロックサイズ、先端部、孤立点部、テクスチュア部には小さいブロックサイズをそれぞれ使用することにより、各部に局所コラージュ処理を適用する際に、より適切な効果を得ることができる。大きなブロックを固定で使用した場合、ステップエッジ部の画質の向上量が大きいものの、細線部、テクスチュア部などではつぶれなどの問題が生じる。一方、小さなブロックサイズを固定して使用した場合、全ての部分に画質向上を行え、かつ、つぶれなどの問題も少ないが、全体に画質向上量が小さくなる。そのため、特にステップエッジ部などの部分で効果が小さくなり、充分な画質向上を得るには多くの反復が必要となる。第３の例ではこれらの点を考慮し、各部分でそれぞれ適切なブロックサイズを選択している。言い換えれば、各部分で画像の局所自己相似性を適切に高めるようにしている。
【０２２２】
この第３の例では、このような点から第１，第２の例に比べても、同じ反復回数（例えば５回）を使用したときに、より高画質な画像を得ることができる。
【０２２３】
図４８は、本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。図中、５１はプログラム、５２はコンピュータ、６１は光磁気ディスク、６２は光ディスク、６３は磁気ディスク、６４はメモリ、７１は光磁気ディスク装置、７２は光ディスク装置、７３は磁気ディスク装置である。
【０２２４】
上述の本発明の第１，第２の実施の形態の説明及び第２の実施の形態における第１乃至第３の例として示した画像処理部３の機能は、コンピュータにより実行可能なプログラム５１によっても実現することが可能である。その場合、そのプログラム５１およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶することも可能である。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク６１，光ディスク６２、磁気ディスク６３，メモリ６４（ＩＣカード、メモリカードなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【０２２５】
これらの記憶媒体にプログラム５１を格納しておき、例えばコンピュータ５２の光磁気ディスク装置７１，光ディスク装置７２，磁気ディスク装置７３，あるいは図示しないメモリスロットにこれらの記憶媒体を装着することによって、コンピュータからプログラム５１を読み出し、本発明の画像処理装置の機能または画像処理方法を実行することができる。あるいは、予め記憶媒体をコンピュータ５２に装着しておき、例えばネットワークなどを介してプログラム５１をコンピュータ５２に転送し、記憶媒体にプログラム５１を格納して実行させてもよい。あるいは、他のコンピュータにおいて記録媒体に格納されたプログラムを読み出し、コンピュータ５２に転送して実行しても良い。
【０２２６】
なお、コンピュータ５２は、図３３に示すメモリ部２、制御部５と一体となってよいし、更に画像入力部１や画像出力部４などと一体となっていてもよい。もちろん、本発明の一部の機能についてハードウェアによって構成することもできるし、あるいは、すべてをハードウェアで構成してもよい。
【図面の簡単な説明】
【０２２７】
【図１】本発明の第１の実施の形態を含むシステムの一例を示すブロック図である。
【図２】画像処理部３の動作の概要を示すフローチャートである。
【図３】本発明の第１の実施の形態における画像処理部３の動作のより具体的な例を示すフローチャートである。
【図４】ブロック抽出部１１で抽出される２×２ブロック画像の一例の説明図である。
【図５】２×２ブロックの分類方法の一例の説明図である。
【図６】２×２ブロックの上部２×１画素による分類方法の一例の説明図である。
【図７】画像処理部３における画質改善部１３の処理の一例を示すフローチャートである。
【図８】画像処理部３における画質改善部１３の処理の一例を示すフローチャート（続き）である。
【図９】画像処理部３におけるＬ字に分類された２×２ブロックの接続方向（概算角度）および接続長（精算角度）の抽出処理の一例を示すフローチャートである。
【図１０】Ｌ字に分類された２×２ブロックに対する角度概算処理の一例を示す図である。
【図１１】Ｌ字に分類された２×２ブロックに対する接続方向及び接続長の抽出と画素補正処理の具体例の説明図である。
【図１２】２×２ブロックがＬ字であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。
【図１３】２×２ブロックがＬ字であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。
【図１４】２×２ブロックがＬ字であり接続方向が水平方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図１５】２×２ブロックがＬ字であり接続方向が垂直方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図１６】細線と判定された後にＬ字に分類された場合の２回目のＬ字の処理を行うブロック位置の説明図である。
【図１７】逆Ｌ字に分類された２×２ブロックに対する角度概算処理の一例を示す図である。
【図１８】画像処理部３における逆Ｌ字に分類されたブロックの接続方向および接続長の抽出と画質改善処理の具体例の説明図である。
【図１９】２×２ブロックが逆Ｌ字であり接続方向が水平方向の場合の４５度方向の角度精算の一例の説明図である。
【図２０】２×２ブロックが逆Ｌ字であり接続方向が垂直方向の場合の４５度方向の角度精算の一例の説明図である。
【図２１】２×２ブロックが逆Ｌ字であり接続方向が水平方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図２２】２×２ブロックが逆Ｌ字であり接続方向が垂直方向で４５度方向と判定された場合の画質改善処理の一例の説明図である。
【図２３】細線と判定された後に逆Ｌ字に分類された場合の２回目の逆Ｌ字の処理を行うブロック位置の説明図である。
【図２４】水平方向の黒太線に対する精算角度と画質改善処理による画素配置の一例の説明図である。
【図２５】水平方向の黒太線に対するエッジ線の面積占有率の説明図である。
【図２６】４５度方向の黒太線に対する画質改善処理による画素配置の一例の説明図である。
【図２７】４５度方向の黒太線に対するエッジ線の面積占有率の説明図である。
【図２８】もともと黒太線（Ｌ字）と判定された場合と細線（市松）と判定された場合の違いの説明図である。
【図２９】配置する画質改善のための画素値の別の例の説明図である。
【図３０】任意倍拡大処理の一例を示すフローチャートである。
【図３１】原画像および最近傍法で４倍に拡大した画像の具体例の説明図である
【図３２】原画像と本発明を用いて４倍に拡大した画像の具体例の説明図である。
【図３３】本発明の第２の実施の形態を含むシステムの一例を示すブロック図である。
【図３４】本発明の第２の実施の形態における画像処理部３の動作の一例を示すフローチャートである。
【図３５】本発明の第２の実施の形態におけるドメインブロック抽出部３２以降の処理の一例を説明するための模式図である。
【図３６】ドメインブロック抽出部３２で抽出されるドメインブロック画像の一例の説明図である。
【図３７】ドメインブロック分類部３３におけるドメインブロック画像の分類処理の一例を示すフローチャートである。
【図３８】レンジブロック抽出部５３で抽出するレンジブロック画像の一例の説明図である。
【図３９】縮小レンジブロック作成部３５における投影法による縮小処理の一例の説明図である。
【図４０】エッジ強調処理部３８におけるエッジ強調処理の一例の説明図である。
【図４１】平均値演算部３９における平均値演算処理の一例の説明図である。
【図４２】レンジブロック抽出部３４におけるレンジブロック画像抽出処理の別の例の説明図である。
【図４３】縮小レンジブロック作成部３５における投影法による縮小処理の別の例の説明図である。
【図４４】ドメインブロック分類部３３におけるドメインブロック画像の分類処理の別の例を示すフローチャートである。
【図４５】凹凸量の計算処理の一例の説明図である。
【図４６】ドメインブロック分類部３３におけるドメインブロック画像の分類処理の別の例による分類結果の具体例の説明図である。
【図４７】分類結果に従ったドメインブロック画像の分割処理およびレンジブロック画像の抽出の一例の説明図である。
【図４８】本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。
【図４９】一般的な２値文字線画画像の拡大処理に関わる画質改善処理の一例の説明図である。
【図５０】画質改善処理と面積占有率の概念の関係の一例の説明図である。
【符号の説明】
【０２２８】
１…画像入力部、２…メモリ部、３…画像処理部、４…画像出力部、５…制御部、１１…ブロック抽出部、１２…ブロック分類部、１３…画質改善部、２１…角度概算部、２２…角度精算部、２３…画素値出力部、３１…初期拡大処理部、３２…ドメインブロック抽出部、３３…ドメインブロック分類部、３４…レンジブロック抽出部、３５…縮小レンジブロック作成部、３６…類似度判定部、３７…改良ドメインブロック作成部、３８…エッジ強調処理部、３９…平均値演算部、４０…反復処理部、５１…プログラム、５２…コンピュータ、６１…光磁気ディスク、６２…光ディスク、６３…磁気ディスク、６４…メモリ、７１…光磁気ディスク装置、７２…光ディスク装置、７３…磁気ディスク装置。
【図１】
2005039802.tif 000003
【図２】
2005039802.tif 000004
【図３】
2005039802.tif 000005
【図４】
2005039802.tif 000006
【図５】
2005039802.tif 000007
【図６】
2005039802.tif 000008
【図７】
2005039802.tif 000009
【図８】
2005039802.tif 000010
【図９】
2005039802.tif 000011
【図１０】
2005039802.tif 000012
【図１１】
2005039802.tif 000013
【図１２】
2005039802.tif 000014
【図１３】
2005039802.tif 000015
【図１４】
2005039802.tif 000016
【図１５】
2005039802.tif 000017
【図１６】
2005039802.tif 000018
【図１７】
2005039802.tif 000019
【図１８】
2005039802.tif 000020
【図１９】
2005039802.tif 000021
【図２０】
2005039802.tif 000022
【図２１】
2005039802.tif 000023
【図２２】
2005039802.tif 000024
【図２３】
2005039802.tif 000025
【図２４】
2005039802.tif 000026
【図２５】
2005039802.tif 000027
【図２６】
2005039802.tif 000028
【図２７】
2005039802.tif 000029
【図２８】
2005039802.tif 000030
【図２９】
2005039802.tif 000031
【図３０】
2005039802.tif 000032
【図３１】
2005039802.tif 000033
【図３２】
2005039802.tif 000034
【図３３】
2005039802.tif 000035
【図３４】
2005039802.tif 000036
【図３５】
2005039802.tif 000037
【図３６】
2005039802.tif 000038
【図３７】
2005039802.tif 000039
【図３８】
2005039802.tif 000040
【図３９】
2005039802.tif 000041
【図４０】
2005039802.tif 000042
【図４１】
2005039802.tif 000043
【図４２】
2005039802.tif 000044
【図４３】
2005039802.tif 000045
【図４４】
2005039802.tif 000046
【図４５】
2005039802.tif 000047
【図４６】
2005039802.tif 000048
【図４７】
2005039802.tif 000049
【図４８】
2005039802.tif 000050
【図４９】
2005039802.tif 000051
【図５０】
2005039802.tif 000052