(57)【特許請求の範囲】
【請求項１】
２値画像として取り扱うべき画素の位置を示す情報である位置情報を用いて、対象の画素が２値画像として取り扱うべきか否かを判断する第１の判断手段と、
前記第１の判断手段によって対象の画素が２値画像として取り扱うべきと判断された場合は、該画素と所定の距離内にあって、２値画像として取り扱うべきではない複数の画素の画素値を用いて、前記対象の画素の画素値を算出する第１の画素値算出手段と、
前記対象の画素の画素値を前記第１の画素値算出手段によって算出された画素値に変更し、該画素値を変更した画素の前記位置情報を２値画像として取り扱うべきではない画素を示す位置情報に変更する画素値変更手段と、
前記画素値変更手段によって変更された位置情報を用いて、対象の複数画素である第１の画素群が２値画像として取り扱うべきか否かを判断する第２の判断手段と、
前記第２の判断手段によって第１の画素群が２値画像として取り扱うべきと判断された場合は、該第１の画素群と所定の距離内にあって、２値画像として取り扱うべきではない複数画素である第２の画素群の画素値を用いて、該第１の画素群の画素値を算出する第２の画素値算出手段
を具備し、
前記第２の判断手段が処理対象とする第１の画素群は、複数の画素により構成されており、前記第１の画素値算出手段が処理対象とした対象の画素は含まれておらず、前記第２の画素群とは異なる
ことを特徴とする画像処理装置。
【請求項２】
前記第２の判断手段は、対象としている複数画素のうち、２値画像として取り扱うべきものと２値画像として取り扱うべきではないものとが混在しているか否かを判断し、
前記第２の画素値算出手段は、前記第２の判断手段によって混在していると判断された場合は、前記２値画像として取り扱うべきではない画素の画素値を用いて、前記２値画像として取り扱うべき画素の画素値を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の判断手段は、対象としている複数画素が、２値画像として取り扱うべきもののみであるか否かを判断し、
前記第２の画素値算出手段は、前記第２の判断手段によって２値画像として取り扱うべきもののみであると判断された場合は、前記対象としている複数画素の周辺の複数の画素を用いて、該対象としている複数画素の画素値を算出する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
コンピュータを、
２値画像として取り扱うべき画素の位置を示す情報である位置情報を用いて、対象の画素が２値画像として取り扱うべきか否かを判断する第１の判断手段と、
前記第１の判断手段によって対象の画素が２値画像として取り扱うべきと判断された場合は、該画素と所定の距離内にあって、２値画像として取り扱うべきではない複数の画素の画素値を用いて、前記対象の画素の画素値を算出する第１の画素値算出手段と、
前記対象の画素の画素値を前記第１の画素値算出手段によって算出された画素値に変更し、該画素値を変更した画素の前記位置情報を２値画像として取り扱うべきではない画素を示す位置情報に変更する画素値変更手段と、
前記画素値変更手段によって変更された位置情報を用いて、対象の複数画素である第１の画素群が２値画像として取り扱うべきか否かを判断する第２の判断手段と、
前記第２の判断手段によって第１の画素群が２値画像として取り扱うべきと判断された場合は、該第１の画素群と所定の距離内にあって、２値画像として取り扱うべきではない複数画素である第２の画素群の画素値を用いて、該第１の画素群の画素値を算出する第２の画素値算出手段
として機能させ、
前記第２の判断手段が処理対象とする第１の画素群は、複数の画素により構成されており、前記第１の画素値算出手段が処理対象とした対象の画素は含まれておらず、前記第２の画素群とは異なる
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
ＩＴＵ−Ｔ勧告Ｔ．４４に示されるようなミクストラスタコンテント（ＭＲＣ、Ｍｉｘｅｄ  Ｒａｓｔｅｒ  Ｃｏｎｔｅｎｔ）方式の画像圧縮方式がある。
これは、文字や線画などを含んだ画像をＪＰＥＧ等の変換符号化で圧縮すると、文字や線画部の歪が大きくなるという問題を解消する方式である。
ＭＲＣでは、入力画像から、文字や線画部を抽出する。また、抽出した文字や線画の色データを抽出する。さらに、入力画像から前記の文字や線画部を除去する。文字や線画部は２値データとして、ＭＨ、ＭＭＲ、ＪＢＩＧ等の２値データ圧縮方式で符号化される。色データは、ＪＰＥＧ等の多値画像圧縮方式で符号化される。さらに、入力画像から前記の文字や線画部を除去した後のバックグラウンド画像は、ＪＰＥＧ等の多値画像圧縮方式で符号化される。
【０００３】
このようなマルチプレーンの圧縮を行うことにより、高い圧縮率の場合であっても、文字や線画の画像品質を高く保つことが可能となる。図１９は、ＩＴＵ−Ｔ勧告Ｔ．４４から引用した図である。Ｆｏｒｅｇｒｏｕｎｄ１９０１が色データである。Ｍａｓｋ１９０２が文字線画部の情報、Ｂａｃｋｇｒｏｕｎｄ１９０３が入力画像１９００から前記の文字や線画部を除去した後のバックグラウンド画像である。
あるいは、前記のようなＭＲＣフォーマットではなくて、文字や線画を圧縮する場合に、文字や線画の色ごとに違う２値データとすることも可能である。
例えば、入力画像から黒の文字や線画を抜き出して２値データを作成する。また、入力画像から赤の文字や線画を抜き出して２値データを作成する。さらに、入力画像から、前記黒や赤の文字や線画を除去した多値画像データを作成する。黒の文字や線画を抜き出して作成した２値データは２値データ圧縮方式で圧縮される。また、この画像の色は黒であるという情報を別途付与する。同様に、赤の文字や線画を抜き出して作成した２値データは２値データ圧縮方式で圧縮される。また、この画像の色は赤であるという情報を別途付与する。さらに、入力画像から前記の文字や線画部を除去した後のバックグラウンド画像は、ＪＰＥＧ等の多値画像圧縮方式で符号化される。
【０００４】
図２０の例に示されるように、赤色で描画された文字（「ＡＢＣ」、赤文字２００１）と、黒色で描画された文字（「ＤＥＦ」、黒文字２００２）と、非文字線画部（家が描かれた画像部分、家画像２００３）からなる入力画像２０００が存在する場合、赤色文字のＡＢＣのみを抽出した２値画像２００５と、黒色文字のＤＥＦのみを抽出した２値画像２００６と、残りの部分である多値画像２００７とに分割し、それぞれの画像を独立に符号化する。また、ＡＢＣを抽出した２値画像２００５の色が赤であり、ＤＥＦを抽出した２値画像２００６の色が黒であるという情報を別途付与する。
以上のようにバックグラウンド画像を作成する場合、単純に文字や線画部分を除去しただけでは、高周波成分が発生し、ＪＰＥＧ等の変換符号化に適さない画像となってしまう。抜き出した文字や線画部を穴埋めすることによって、圧縮効率を上げることが可能となる。穴埋め画素値は、復号時に文字線画部で上書きされてしまうため、任意である。そのため、様々な穴埋め方式が提案されている。
【０００５】
これらに関連する技術として、例えば、特許文献１から特許文献９では、文字線画部の周囲画素の平均値で穴埋めする方法が述べられている。
また、例えば、特許文献１０、特許文献１１では、バックグラウンド画像に平滑化フィルタをかけて穴埋めする方法が述べられている。
また、例えば、特許文献１２、特許文献１３、特許文献１４では、最も近い非文字線画部の画素値で穴埋めする方法が述べられている。
あるいは、例えば、特許文献１５では、平均値や最も近い非文字線画部の画素値で穴埋めした後で平滑化フィルタをかける手法が述べられている。
【特許文献１】特許第２６１１０１２号公報
【特許文献２】特許第３０８３３３６号公報
【特許文献３】特開２００２−７７６３３号公報
【特許文献４】特開２００２−３６９０１１号公報
【特許文献５】特開２００３−１８４１２号公報
【特許文献６】特開２００３−１８４１３号公報
【特許文献７】特開２００３−２１９１８７号公報
【特許文献８】特開２００３−２４４４４７号公報
【特許文献９】特開２００４−２６０３２７号公報
【特許文献１０】特許第２９１００００号公報
【特許文献１１】特許第２７２０９２６号公報
【特許文献１２】特開平１１−３２２０６号公報
【特許文献１３】特開２００５−２０２２７号公報
【特許文献１４】特開２００６−１９９５７号公報
【特許文献１５】特許第３２３１８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、多値画像から２値画像として取り扱うべき画像を削除し、後に復元する場合に、その復元画像の画質が低減することを抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、２値画像として取り扱うべき画素の位置を示す情報である位置情報を用いて、対象の画素が２値画像として取り扱うべきか否かを判断する第１の判断手段と、前記第１の判断手段によって対象の画素が２値画像として取り扱うべきと判断された場合は、該画素と所定の距離内にあって、２値画像として取り扱うべきではない複数の画素の画素値を用いて、前記対象の画素の画素値を算出する第１の画素値算出手段と、前記対象の画素の画素値を前記第１の画素値算出手段によって算出された画素値に変更し、該画素値を変更した画素の前記位置情報を２値画像として取り扱うべきではない画素を示す位置情報に変更する画素値変更手段と、前記画素値変更手段によって変更された位置情報を用いて、対象の複数画素である第１の画素群が２値画像として取り扱うべきか否かを判断する第２の判断手段と、前記第２の判断手段によって第１の画素群が２値画像として取り扱うべきと判断された場合は、該第１の画素群と所定の距離内にあって、２値画像として取り扱うべきではない複数画素である第２の画素群の画素値を用いて、該第１の画素群の画素値を算出する第２の画素値算出手段を具備し、前記第２の判断手段が処理対象とする第１の画素群は、複数の画素により構成されており、前記第１の画素値算出手段が処理対象とした対象の画素は含まれておらず、前記第２の画素群とは異なることを特徴とする画像処理装置である。
【０００８】
請求項２の発明は、前記第２の判断手段は、対象としている複数画素のうち、２値画像として取り扱うべきものと２値画像として取り扱うべきではないものとが混在しているか否かを判断し、前記第２の画素値算出手段は、前記第２の判断手段によって混在していると判断された場合は、前記２値画像として取り扱うべきではない画素の画素値を用いて、前記２値画像として取り扱うべき画素の画素値を算出することを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記第２の判断手段は、対象としている複数画素が、２値画像として取り扱うべきもののみであるか否かを判断し、前記第２の画素値算出手段は、前記第２の判断手段によって２値画像として取り扱うべきもののみであると判断された場合は、前記対象としている複数画素の周辺の複数の画素を用いて、該対象としている複数画素の画素値を算出することを特徴とする請求項１又は２に記載の画像処理装置である。
【００１０】
請求項４の発明は、コンピュータを、２値画像として取り扱うべき画素の位置を示す情報である位置情報を用いて、対象の画素が２値画像として取り扱うべきか否かを判断する第１の判断手段と、前記第１の判断手段によって対象の画素が２値画像として取り扱うべきと判断された場合は、該画素と所定の距離内にあって、２値画像として取り扱うべきではない複数の画素の画素値を用いて、前記対象の画素の画素値を算出する第１の画素値算出手段と、前記対象の画素の画素値を前記第１の画素値算出手段によって算出された画素値に変更し、該画素値を変更した画素の前記位置情報を２値画像として取り扱うべきではない画素を示す位置情報に変更する画素値変更手段と、前記画素値変更手段によって変更された位置情報を用いて、対象の複数画素である第１の画素群が２値画像として取り扱うべきか否かを判断する第２の判断手段と、前記第２の判断手段によって第１の画素群が２値画像として取り扱うべきと判断された場合は、該第１の画素群と所定の距離内にあって、２値画像として取り扱うべきではない複数画素である第２の画素群の画素値を用いて、該第１の画素群の画素値を算出する第２の画素値算出手段として機能させ、前記第２の判断手段が処理対象とする第１の画素群は、複数の画素により構成されており、前記第１の画素値算出手段が処理対象とした対象の画素は含まれておらず、前記第２の画素群とは異なることを特徴とする画像処理プログラムである。
【発明の効果】
【００１１】
請求項１の画像処理装置によれば、多値画像から２値画像として取り扱うべき画像を削除し、後に復元する場合に、その復元画像の画質が低減することを抑制することができる。
【００１２】
請求項２の画像処理装置によれば、処理速度を従来よりも高速にすることができる。
【００１３】
請求項３の画像処理装置によれば、処理速度を従来よりも高速にすることができる。
【００１４】
請求項４の画像処理プログラムによれば、多値画像から２値画像として取り扱うべき画像を削除し、後に復元する場合に、その復元画像の画質が低減することを抑制し、処理速度を従来よりも高速にすることができる。
【発明を実施するための最良の形態】
【００１５】
まず、本実施の形態を説明する前に、その前提を説明する。この前提の説明は、本実施の形態を理解を容易にすることを目的とするものである。
１つの画像を文字線画等からなる２値画像と背景画像である多値画像（カラー画像を含む）とに分離して扱えるようにするためのファイルを対象とし、特に、多値画像から２値画像として取り扱うべき画像を削除したものを対象とする。その２値画像として取り扱うべき画像を削除した部分を、ここでは「穴」ともいう。また、その穴の位置にある画素を他の画素値で置き換えることを「穴埋め」ともいう。２値画像として取り扱うべき画像としては、例えば、文字線画がある。以後、２値画像として取り扱うべき画像（領域）を「文字線画部」ともいう。
【００１６】
文字線画部の周囲画素値が大きく変化する場合であって、かつ、穴の形状と埋め込むべき文字線画部の形状が一致しない場合に画質の劣化が生じやすい。このことについて、図４から図１１を用いて説明する。
図４に示す例は、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）による圧縮対象である１つのブロック４００を示している。ブロック４００内には、境界線４２０を境にして、非穴領域４１０と穴領域４３０が混在している。
穴領域４３０は、文字線画部として抽出された領域が抜き出された（削除された）後の画像領域である。抜き出された部分（穴領域４３０）の画素値は任意であるが、ここでは０としている。また、非穴領域４１０内は、３種類の画素値を有する画素（画素４０１、４０２、４０３）があるとする。
【００１７】
図５は、穴領域の穴埋めの例を示す説明図である。
例えば、図４に示したブロック４００に対して、背景技術欄で示した技術を用いた場合、ブロック毎に非穴領域の画質を大きく変えずに圧縮率を上げるために、非穴領域４１０の画素の平均値を用いて穴領域４３０に対して穴埋め処理を行うと、図５に示す例のブロック５００の穴埋後領域５３０のようになる。
【００１８】
図６は、境界線が変化した場合の例を示す説明図である。
図５に示した例のブロック５００の状態に対して、穴の形状がベクトル化、アンチエイリアシング処理などによって変化した場合（つまり、図４に示した境界線４２０が図６に示す境界線６２０に変化）、図６に示す例のブロック６００のように穴埋めした画素値（画素６０１、６０２、６０３）が露出し、ＪＰＥＧによる圧縮をしたときに画質が劣化してしまう。
【００１９】
図７は、穴領域を穴埋めした後に圧縮、復号した場合の例を示す説明図である。
図５の例に示したブロック５００をそのままＪＰＥＧによる圧縮をした場合に非穴領域４１０と穴埋後領域５３０との境界の画素値差が大きい場合は、図７の例に示すブロック７００のように、非穴領域７１０における境界部分（境界線４２０に接する画素７１１〜７２０）の画質が劣化するおそれがある。
【００２０】
図８は、ブロック化における非穴領域と穴領域の関係例を示す説明図である。
画像８００は、８画素×８画素の４つのブロック（ブロック８６０、８７０、８８０、８９０）からなる。ブロック８６０は、非穴領域８１０のみからなる。ブロック８７０、８８０は、境界線８２０によって区切られており、非穴領域８１０と穴領域８３０の両方が混在している。ブロック８９０は、穴領域８３０のみからなる。
画像８００のように、ブロック内の画素全てが穴領域８３０となるブロック８９０がある場合は、そのブロック内に非穴領域の画素がないため、背景技術欄で示した技術を用いた場合、穴埋め処理はできない。
【００２１】
図９は、ブロック化における境界線が変化した場合の例を示す説明図である。
図８の例に示した画像８００に対して、穴の形状（境界線８２０）がベクトル化、アンチエイリアシング処理などによって変化した場合、図９の例に示すように穴埋めされない画素（白抜けとなる画素９５１）が露出し、ＪＰＥＧによる圧縮をしたときに画質が劣化してしまう。
また穴の形状が変わらないような場合でも、非穴領域の画素がないブロックを穴埋めできない場合は、図７に示す例のようにＪＰＥＧによる圧縮をした場合に、非穴領域の境界付近で画質劣化が生じるおそれがある。
【００２２】
次に、図１０、１１を用いて、周辺にある画素値を用いて、画素単位の穴埋め処理を行う場合について説明する。
図１０は、周辺にある画素値を用いた穴領域の穴埋めの例を示す説明図である。つまり、図４の例に示したブロック４００に対して、５×５の平均値フィルタを用いて穴埋め処理を行った結果を示している。
図１１は、図１０の例に示したブロック１０００の穴領域を穴埋めした後に圧縮、復号した場合の例を示す説明図である。
穴の形状がベクトル化、アンチエイリアシング処理などによって変化した場合でも、図１１の例に示すブロック１１００のように、画質劣化は少ない。さらに穴の形状が変わらない場合においても、非穴領域１１１０と穴領域１１３０との境界線１１２０付近の画素値の差が少ないため、図７の例に示すブロック７００のような非穴領域７１０の境界線４２０付近に見られる画質劣化は少ない。つまり、画質劣化している画素は、ブロック１１００では画素１１０１から１１０３の３画素であり、ブロック７００では画素７１１から７２０の１０画素である。
ただし、図１０の例に示すブロック１０００のように、穴埋め処理後の穴領域１０３０の画素値は微妙に変わる（様々な画素値を持つ）ため、高圧縮を目的に行った穴埋め処理の効果は少なくなってしまう。
【００２３】
本実施の形態は、この穴埋めに関する処理を行うものである。
次に、本実施の形態の概要を説明する。本実施の形態は、画素毎の穴埋め処理、複数画素（例えばブロック、以下ブロックを例示する）毎の穴埋め処理の２つの穴埋め処理を行っている。
【００２４】
まず、画素毎の穴埋め処理の概要について説明する。非穴領域と穴領域との境界付近にある穴領域は、画素毎に穴埋め処理を行う。
前述の前提からわかるように、穴埋め処理は以下の条件を満たしていることが望ましい。つまり、
（１）穴領域の外側（非穴領域）の画素値を用いて、穴領域の画素値を作成する。
（２）できるだけ、距離的に近い非穴領域の画素値を用いて、穴領域の画素値を作成する。
（３）しかしながら、複数の非穴領域の画素値を用いて穴領域の画素値を作成したほうが安定性が高い。
（４）しかも、穴領域の任意の画素値の影響をのぞくため、穴領域の画素値は用いないことが望ましい。
（５）また、フィルタリング処理で対応でき、そのフィルタリングは２次元的に行うことが望ましい。
【００２５】
本実施の形態は、前述の条件をできるだけ満たすように構成されたものである。
つまり、例えば、以下のような構成とする。
（１）複数の画素値を用いて穴領域の画素値を作成する以下のフィルタリング処理を行う。フィルタを用いることによって、穴埋めすべき画素と所定距離内にある画素を用いることができるようになる。
（２）対象画素の近くであれば、より影響度の高いフィルタ係数を用いる。
（３）穴領域の影響度は０とする。
【００２６】
このようなフィルタリングを以下のように実現する。
画素位置（Ｉ，Ｊ）の画素値をＰ（Ｉ，Ｊ）とする。
次に示すような穴／非穴情報Ｔ（Ｉ，Ｊ）を利用する。
・画素位置（Ｉ，Ｊ）が非穴画素（非文字線画部）であるとき、Ｔ（Ｉ，Ｊ）＝１とする。
・画素位置（Ｉ，Ｊ）が穴画素（文字線画部）であるとき、Ｔ（Ｉ，Ｊ）＝０とする。
すなわち、２値画像として取り扱うべき画素の位置を示す情報としての具体例が、Ｔ（Ｉ，Ｊ）となる。そして、ここでは、２値画像として取り扱うべき画素とは、穴の領域内にある画素のことである。
サイズが（２Ｎ＋１）×（２Ｎ＋１）のフィルタＨ（ｍ，ｎ）（ただし、−Ｎ≦ｍ≦Ｎ、−Ｎ≦ｎ≦Ｎ）を予め用意する（記憶装置に記憶させておく）。
【００２７】
そして、非穴画素（非文字線画部）は、元の画像の画素値をそのままとする。穴画素（文字線画部）は、数１を分子とし、数２を分母とした数３の式で計算する。
【数１】
0004831089.tif 000002
【数２】
0004831089.tif 000003
【数３】
0004831089.tif 000004
すなわち、画素位置（Ｉ，Ｊ）のフィルタ出力、すなわち、穴埋め画像Ｑ（Ｉ，Ｊ）を数４の式で算出する。
【数４】
0004831089.tif 000005
【００２８】
このように、計算することによって、非穴の画素のみフィルタリング処理に利用することになる。
さらに、フィルタＨ（ｍ、ｎ）を後述するようにすれば、対象画素の近くであれば、より影響度の高いフィルタ係数を利用することが可能となる。
【００２９】
次に、ブロック毎の穴埋め処理について説明する。
穴領域と非穴領域との境界から所定の距離以上にあるものに対しては、ブロック内に非穴領域の画素があれば、その平均値で穴埋め処理をする。
そして、ブロック内の全ての画素が穴領域である場合は、付近の非穴領域があるブロック内の画素値を用いて穴埋め処理をし、付近に非穴領域があるブロックがない場合は処理をしない。この処理を繰り返し行うことで、ブロック内の全ての画素が穴領域であるブロックの穴埋め処理を行う。
【００３０】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。
【００３１】
第１の実施の形態は、図１に示すように、画素単位穴埋処理モジュール１１０、ブロック単位穴埋処理モジュール１２０を有している。
画素単位穴埋処理モジュール１１０は、穴／非穴判定処理モジュール１１１、フィルタリング処理モジュール１１２、出力モジュール１１３を有している。
ブロック単位穴埋処理モジュール１２０は、ブロック分割処理モジュール１２１、穴／非穴ブロック判定処理モジュール１２２、ブロック内画素値決定処理モジュール１２３、フィルタリング処理モジュール１２４、出力モジュール１２５を有している。
【００３２】
画素単位穴埋処理モジュール１１０は、画素毎の穴埋め処理を行う。穴埋め処理の対象の画素は、穴領域内であって、非穴領域との境界から所定の距離内（本実施の形態では、フィルタの大きさに応じた距離内）にある画素である。つまり、穴領域と非穴領域の境界に近い領域にある画素であるので、ベクトル化、アンチエイリアシング処理などによって境界が変化した場合に、背景画像として表面に出現する可能性が高い領域にある画素である。これらの画素を画素単位穴埋処理モジュール１１０は対象とする。
【００３３】
穴／非穴判定処理モジュール１１１は、フィルタリング処理モジュール１１２、出力モジュール１１３と接続されており、穴／非穴情報Ｔ（Ｉ，Ｊ）と対象とする画像を受け取り、その穴／非穴情報を用いて、受け取った画像内の対象の画素Ｐ（Ｉ，Ｊ）が穴領域内の画素か否かを判断する。穴領域内の画素であれば、フィルタリング処理モジュール１１２によるフィルタリング処理を行うようにする。非穴領域内の画素であれば、その画素値を出力モジュール１１３へ渡す。
【００３４】
フィルタリング処理モジュール１１２は、穴／非穴判定処理モジュール１１１、出力モジュール１１３と接続されており、数３の計算を行う。その結果を出力モジュール１１３へ渡す。
出力モジュール１１３は、穴／非穴判定処理モジュール１１１、フィルタリング処理モジュール１１２、ブロック単位穴埋処理モジュール１２０のブロック分割処理モジュール１２１と接続されており、穴／非穴判定処理モジュール１１１からＰ（Ｉ，Ｊ）の画素値を受け取り、又はフィルタリング処理モジュール１１２からフィルタリング処理の結果を受け取り、ブロック単位穴埋処理モジュール１２０のブロック分割処理モジュール１２１へ出力する。そして、画素値を変更した画素の穴／非穴情報Ｔ（Ｉ，Ｊ）を非穴画素（Ｔ（Ｉ，Ｊ）＝１）に変更する。
【００３５】
ブロック単位穴埋処理モジュール１２０は、ブロック毎の穴埋め処理を行う。穴埋め処理の対象の画素は、穴領域内であって、非穴領域との境界から所定の距離よりも離れた位置にある画素であり、つまり画素単位穴埋処理モジュール１１０によっては穴埋め処理が行われなかった画素である。そして、その画素に対しては、ブロック毎に穴埋め処理を行う。ブロック単位穴埋処理モジュール１２０の穴埋め処理の対象とする画素は、文字線画部として上書きされる可能性が高い領域（つまり画質に影響を及ぼさない領域）にある画素である。したがって、これらの画素に対しては、圧縮率又は処理速度優先となる画素値を与えるようにする。
【００３６】
ブロック分割処理モジュール１２１は、画素単位穴埋処理モジュール１１０の出力モジュール１１３、穴／非穴ブロック判定処理モジュール１２２と接続されており、画素単位穴埋処理モジュール１１０の出力モジュール１１３から画素値を受け取り、その画素からなる画像をブロック（例えば、５画素×５画素のブロック）に分割する。分割した画像を穴／非穴ブロック判定処理モジュール１２２へ渡す。なお、ブロックサイズを、穴埋め画像を対象とするＪＰＥＧによる圧縮処理のブロックサイズと同じにしてもよい。
【００３７】
穴／非穴ブロック判定処理モジュール１２２は、ブロック分割処理モジュール１２１、ブロック内画素値決定処理モジュール１２３、フィルタリング処理モジュール１２４、出力モジュール１２５と接続されている。ブロック分割処理モジュール１２１によってブロックに分割された画像を受け取り、穴／非穴情報Ｔ（Ｉ，Ｊ）を受け取る。なお、穴／非穴情報Ｔ（Ｉ，Ｊ）は、出力モジュール１１３によって変更されている。受け取った画像内の対象の複数画素が穴領域内の画素か否かを判断する。穴領域内の画素であれば、ブロック内画素値決定処理モジュール１２３によるブロック内の画素値を決定させる処理、又はフィルタリング処理モジュール１２４によるフィルタリング処理を行うようにする。非穴領域内の画素であれば、その画素値を出力モジュール１２５へ渡す。より具体的には、ブロック内に穴領域内の画素と非穴領域の画素が混在している場合はブロック内画素値決定処理モジュール１２３による処理を行わせ、ブロック内の全ての画素が穴領域内の画素である場合はフィルタリング処理モジュール１２４による処理を行わせ、ブロック内の全ての画素が非穴領域の画素である場合はそのブロック内の画素値を出力モジュール１２５へ渡す。
【００３８】
ブロック内画素値決定処理モジュール１２３は、穴／非穴ブロック判定処理モジュール１２２、出力モジュール１２５と接続されており、穴／非穴ブロック判定処理モジュール１２２によってブロック内に穴領域内の画素と非穴領域の画素が混在していると判断された場合であって、そのブロック内の穴領域内の画素の画素値を、そのブロック内の非穴領域の画素の画素値の平均値とする。
フィルタリング処理モジュール１２４は、穴／非穴ブロック判定処理モジュール１２２、出力モジュール１２５と接続されており、穴／非穴ブロック判定処理モジュール１２２によってブロック内の全ての画素が穴領域内の画素であると判断された場合であって、ブロックを画素と見立てて数３と同様の計算を行う。なお、数３内の画素値としては、対応するブロック内の画素の平均値とする。
【００３９】
出力モジュール１２５は、穴／非穴ブロック判定処理モジュール１２２、ブロック内画素値決定処理モジュール１２３、フィルタリング処理モジュール１２４と接続されており、穴／非穴ブロック判定処理モジュール１２２からブロック内の画素値を受け取り、ブロック内画素値決定処理モジュール１２３から処理されたブロック内の画素値、又はフィルタリング処理モジュール１２４からフィルタリング処理の結果であるブロック内の画素値を受け取り、穴埋め画像として出力する。そして、ブロック毎に画素値を変更した画素の穴／非穴情報Ｔ（Ｉ，Ｊ）を非穴画素（Ｔ（Ｉ，Ｊ）＝１）に変更する。
【００４０】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、穴／非穴判定処理モジュール１１１が対象とする画像Ｐ（Ｉ，Ｊ）を受け付ける。
ステップＳ２０４では、穴／非穴判定処理モジュール１１１が穴／非穴情報Ｔ（Ｉ，Ｊ）を受け付ける。
ステップＳ２０６では、穴／非穴判定処理モジュール１１１が対象とする画素は穴であるか否かを判断する。かかる判断において穴であると判断した場合（Ｙ）はステップＳ２０８へ進み、それ以外の場合（Ｎ）はステップＳ２１０へ進む。
ステップＳ２０８では、フィルタリング処理モジュール１１２がフィルタリング処理を行う。
ステップＳ２１０では、出力モジュール１１３がステップＳ２０８で処理された画素値又はステップＳ２０６で対象となった画素の画素値を画像として出力する。また、穴／非穴情報Ｔ（Ｉ，Ｊ）を変更する。
【００４１】
ステップＳ２１２では、ブロック分割処理モジュール１２１がステップＳ２１０で出力された画像を受け付ける。
ステップＳ２１４では、ブロック分割処理モジュール１２１がステップＳ２１２で受け取った画像内をブロックに分割する。
ステップＳ２１６では、穴／非穴ブロック判定処理モジュール１２２が穴／非穴情報Ｔ（Ｉ，Ｊ）を受け付ける。
ステップＳ２１８では、穴／非穴ブロック判定処理モジュール１２２が対象となっているブロック内の一部に穴があるか否かを判断する。かかる判断において穴があると判断した場合（Ｙ）はステップＳ２２０へ進み、それ以外の場合（Ｎ）はステップＳ２２２へ進む。
ステップＳ２２０では、ブロック内画素値決定処理モジュール１２３が、同じブロック内の非穴領域の画素の画素値を用いて、そのブロック内の穴領域の画素の画素値を決定する。
ステップＳ２２２では、穴／非穴ブロック判定処理モジュール１２２が対象となっているブロック内の全ての画素は穴であるか否かを判断する。かかる判断において穴であると判断した場合（Ｙ）はステップＳ２２４へ進み、それ以外の場合（Ｎ）はステップＳ２２６へ進む。
ステップＳ２２４では、フィルタリング処理モジュール１２４がフィルタリング処理によって画素値を決定する。
ステップＳ２２６では、出力モジュール１２５が穴埋めされた画像を出力する。
この後に、穴埋めされた画像に対して、ＪＰＥＧによる圧縮処理等が行われる。
【００４２】
より詳細に説明する。まず、画素単位穴埋処理モジュール１１０による処理について説明する。
穴／非穴判定処理モジュール１１１は、穴／非穴情報Ｔ（Ｉ，Ｊ）と、穴埋め前の入力画像Ｐ（Ｉ，Ｊ）を受け付ける。
穴／非穴判定処理モジュール１１１において、
・Ｔ（Ｉ，Ｊ）＝１の場合は、Ｐ（Ｉ，Ｊ）の画素値を穴埋め画像Ｑ（Ｉ，Ｊ）の画素値として出力する。
・Ｔ（Ｉ，Ｊ）＝０の場合は、穴埋め画像Ｑ（Ｉ，Ｊ）の画素値を計算する。
そして、ｍ及びｎを−Ｎ≦ｍ≦Ｎ、−Ｎ≦ｎ≦Ｎの範囲で変化させて、フィルタリング処理モジュール１１２では、Ｔ（Ｉ＋ｍ，Ｊ＋ｎ）＝１の場合のみ、数１を計算する。つまり、フィルタ係数Ｈ（ｍ，ｎ）と、Ｐ（Ｉ＋ｍ，Ｊ＋ｎ）を乗算してさらに積算する。そして、数２を計算する。つまり、フィルタ係数Ｈ（ｍ，ｎ）を積算する。そして、数３を計算して、穴埋め画像Ｑ（Ｉ，Ｊ）を得る。
出力モジュール１１３は、穴／非穴判定処理モジュール１１１からの穴埋め画像Ｑ（Ｉ，Ｊ）又はフィルタリング処理モジュール１１２からの穴埋め画像Ｑ（Ｉ，Ｊ）を出力する。
【００４３】
フィルタリング処理モジュール１１２が用いるフィルタの例として、例えば、図３（Ａ）から（Ｆ）に例示したフィルタを挙げることができる。
なお、フィルタ係数は整数であっても小数であってもよい。ただし、整数を用いると演算が簡易であり処理速度が向上する。さらに、２の冪乗であれば、乗算がさらに簡易となり処理速度向上の要請に対応できる。
【００４４】
次に、図１２から図１７を用いて、ブロック単位穴埋処理モジュール１２０による処理を説明する。
図１２は、画素単位で穴埋め処理を行った後の画像例を示す説明図である。つまり、画素単位穴埋処理モジュール１１０によって、穴領域側にあって、非穴領域と穴領域との境界領域に対して、画素単位穴埋め処理を行った後、その画像をＪＰＥＧブロックサイズに分割する。図１２の例に示すように、画素単位穴埋処理モジュール１１０による穴埋め処理が終了した画像１２００を６×５個のブロック１２０１に分割する。なお、画素単位穴埋処理モジュール１１０によって穴埋めされた画素は、画像１２００内の１２１０（右上斜め線の領域）と穴領域１２３０（空白の領域）との境界線１２２０の穴領域１２３０側にある画素単位穴埋領域１２４０（右下斜め線の領域）である。フィルタリング処理モジュール１１２で用いるフィルタサイズが５×５である場合は、画素単位穴埋領域１２４０の幅は２画素である。
なお、画像１２００を縮小する場合は、縮小率を考慮してブロックサイズを決定するようにしてもよい。例えば、１／２に縮小する場合、ここで分割するブロックサイズを１６×１６とする。
【００４５】
ブロック内に非穴領域にある画素が存在する場合、ブロック内画素値決定処理モジュール１２３は、その非穴領域の画素の平均値でブロック内を塗りつぶす。つまり、画素単位の穴埋め処理をした画素は、非穴領域となり（画素単位穴埋領域１２４０）、図１３の例に示すように、ブロック単位穴埋領域１３５０（右上斜め線と右下斜め線が交わった領域）のブロック単位に、非穴領域の画素（画素単位穴埋領域１２４０）の平均値で、穴領域の穴埋め処理を行う。
【００４６】
また、非穴領域の画素が存在しないブロックに対しては、フィルタリング処理モジュール１２４は、ブロックを１画素とみなして、前述の画素単位穴埋処理モジュール１１０のフィルタリング処理モジュール１１２と同様にフィルタリング処理を行う。このフィルタリング処理で生成した画素値でブロック内を全て塗りつぶす。適用するフィルタは例えば図１４の例に示す３×３フィルタとするが、フィルタサイズ及びフィルタ係数はこれに限定されるものではない。このフィルタでは、１ブロック分のみの画素値の穴埋めしかできない。そこで、ブロックに対するフィルタリング処理を反復させて、全ての穴を埋めるようにする。この処理は、反復処理となるが、ブロック単位に処理を行うため、処理負荷は比較的少ない。
【００４７】
図１５に示す例は、フィルタリング処理モジュール１２４によってブロック単位の穴埋め処理を１回行った場合の結果である。ブロック単位の穴埋め処理は逐次処理ではないため、この時点では穴埋めの対象領域中央のブロック（穴領域１２３０の空白の領域である２ブロック）は周りのブロックの穴埋め処理がなされていないため（つまり、ブロック単位穴埋領域１３５０に対する穴埋め処理が穴／非穴情報に反映されていないため）、穴埋め処理の対象とはされない。しかし、フィルタリング処理モジュール１２４によって反復される穴埋め処理によって、図１６に示す例のように穴埋め（ブロック単位穴埋領域１６７０）される。
【００４８】
図１７の例に示した画像１７００は、図８の例に示した画像８００に対して、画素単位穴埋処理モジュール１１０、ブロック単位穴埋処理モジュール１２０による穴埋め処理を行った結果である。つまり、穴領域１７３０側であって境界線１７２０付近の画素は、非穴領域１７１０の画素値を用いて作成されており、画像１７００の右下にあるブロック内の画素は全て同じ値となっている。
【００４９】
第２の実施の形態について説明する。
第２の実施の形態は、第１の実施の形態のフィルタリング処理モジュール１１２による処理を以下に示す処理にするものである。
対象画像の距離変換を行い、距離画像を作成する。図４の例に示した対象画像に対して、距離変換を行った結果である距離画像１８００を図１８に示す。つまり、距離画像は対象画像と同じサイズを有しており、穴領域１８３０の画素が非穴領域１８１０からどれだけ離れているかを示すものであり、ここでの距離は、非穴領域１８１０へたどり着くまでの画素数（縦横斜めを含む）で表している。フィルタリング処理モジュール１１２は、穴／非穴情報を用いて距離画像を生成して、距離画像を用いて、フィルタリング処理を行ってもよい。
つまり、フィルタリング処理モジュール１１２が画素単位のフィルタリング処理を行う場合、この距離画像の距離値を参照して、距離値が所定値以下のものに対してだけフィルタリング処理を行い、穴中心部にある画素に対してはフィルタリング処理を行わせないようにすることができ、さらなる高速化が可能となる。
【００５０】
図２１を参照して、本実施の形態のハードウェア構成例について説明する。図２１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２１１７と、プリンタなどのデータ出力部２１１８を備えたハードウェア構成例を示している。
【００５１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、穴／非穴判定処理モジュール１１１、フィルタリング処理モジュール１１２、ブロック分割処理モジュール１２１、穴／非穴ブロック判定処理モジュール１２２、ブロック内画素値決定処理モジュール１２３、フィルタリング処理モジュール１２４等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１０２は、ＣＰＵ２１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１０３は、ＣＰＵ２１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２１０４により相互に接続されている。
【００５３】
ホストバス２１０４は、ブリッジ２１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２１０６に接続されている。
【００５４】
キーボード２１０８、マウス等のポインティングデバイス２１０９は、操作者により操作される入力デバイスである。ディスプレイ２１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージ情報として表示する。
【００５５】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象画像や穴／非穴情報などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５６】
ドライブ２１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２１０７、外部バス２１０６、ブリッジ２１０５、及びホストバス２１０４を介して接続されているＲＡＭ２１０３に供給する。リムーバブル記録媒体２１１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５７】
接続ポート２１１４は、外部接続機器２１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２１１４は、インタフェース２１０７、及び外部バス２１０６、ブリッジ２１０５、ホストバス２１０４等を介してＣＰＵ２１０１等に接続されている。通信部２１１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部２１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５８】
なお、図２１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５９】
なお、前記実施の形態においては、数式を用いて説明したが、数式には、その数式と同等のものを含めてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、穴埋め対象である複数画素としてブロックを例示したが、ブロックの形状は矩形に限る必要はない。同様に、フィルタの形状も矩形に限る必要はない。
【００６０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００６１】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】フィルタの例を示す説明図である。
【図４】非穴領域と穴領域の関係例を示す説明図である。
【図５】穴領域の穴埋めの例を示す説明図である。
【図６】境界線が変化した場合の例を示す説明図である。
【図７】穴領域を穴埋めした後に圧縮、復号した場合の例を示す説明図である。
【図８】ブロック化における非穴領域と穴領域の関係例を示す説明図である。
【図９】ブロック化における境界線が変化した場合の例を示す説明図である。
【図１０】周辺画素値を用いた穴領域の穴埋めの例を示す説明図である。
【図１１】穴領域を穴埋めした後に圧縮、復号した場合の例を示す説明図である。
【図１２】第１の実施の形態によって、画素単位で穴埋め処理を行った後の画像例を示す説明図である。
【図１３】第１の実施の形態におけるブロック内画素値決定処理モジュールによる処理例を示す説明図である。
【図１４】フィルタの例を示す説明図である。
【図１５】第１の実施の形態におけるフィルタリング処理モジュールによる第１回目の処理例を示す説明図である。
【図１６】第１の実施の形態におけるフィルタリング処理モジュールによる第２回目の処理例を示す説明図である。
【図１７】第１の実施の形態によって、穴埋め処理を行った例を示す説明図である。
【図１８】第２の実施の形態によって、対象とされる画像を距離画像に変換した処理例を示す説明図である。
【図１９】従来例を示す説明図である。
【図２０】従来例を示す説明図である。
【図２１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００６２】
１１０…画素単位穴埋処理モジュール
１１１…穴／非穴判定処理モジュール
１１２…フィルタリング処理モジュール
１１３…出力モジュール
１２０…ブロック単位穴埋処理モジュール
１２１…ブロック分割処理モジュール
１２２…穴／非穴ブロック判定処理モジュール
１２３…ブロック内画素値決定処理モジュール
１２４…フィルタリング処理モジュール
１２５…出力モジュール
【図１】
0004831089.tif 000006
【図２】
0004831089.tif 000007
【図３】
0004831089.tif 000008
【図４】
0004831089.tif 000009
【図５】
0004831089.tif 000010
【図６】
0004831089.tif 000011
【図７】
0004831089.tif 000012
【図８】
0004831089.tif 000013
【図９】
0004831089.tif 000014
【図１０】
0004831089.tif 000015
【図１１】
0004831089.tif 000016
【図１２】
0004831089.tif 000017
【図１３】
0004831089.tif 000018
【図１４】
0004831089.tif 000019
【図１５】
0004831089.tif 000020
【図１６】
0004831089.tif 000021
【図１７】
0004831089.tif 000022
【図１８】
0004831089.tif 000023
【図１９】
0004831089.tif 000024
【図２０】
0004831089.tif 000025
【図２１】
0004831089.tif 000026