(57)【要約】【課題】種々の画像において適切に文字を扱うことができる技術を提供することを目的とする。【解決手段】前記対象画像から、網点画像を表す網点領域と、網点領域とは異なるとともに文字列を表す文字列領域とを検出し、対象画像中の文字列領域を拡大する。【選択図】図３
2009105541.tif 000002
【特許請求の範囲】
【請求項１】
対象画像を表す対象画像データを処理する画像処理装置であって、
前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する領域分類部と、
前記対象画像中の前記文字列領域を拡大する画像処理部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記領域分類部は、前記網点画像が文字を含むか否かに拘わらず、前記網点画像を表す領域を前記網点領域として検出する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記領域分類部は、余白領域を検出し、
前記画像処理部は、前記文字列領域を、前記文字列領域に隣接する前記余白領域内で拡大する、
画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、
前記領域分類部は、前記対象画像データに含まれる複数の画素の中から文字を表す文字画素を検出し、離れて配置された文字画素間を連結することによって得られる連結領域を含む領域を前記文字列領域として検出する、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記領域分類部は、所定の方向に沿って前記文字画素を連結する異方性連結によって前記連結領域を得る、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記領域分類部は、前記所定の方向が互いに異なるＮ種類（Ｎは２以上の整数）の異方性連結のそれぞれの結果に関して、前記文字画素が連結した領域の前記所定方向に沿った長さの代表値を決定し、前記代表値が最も長い前記異方性連結に従って前記文字列領域を検出する、画像処理装置。
【請求項７】
対象画像を表す対象画像データを処理する画像処理方法であって、
前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する工程と、
前記対象画像中の前記文字列領域を拡大する工程と、
を有する画像処理方法。
【請求項８】
対象画像を表す対象画像データを処理するためのコンピュータプログラムであって、
前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する機能と、
前記対象画像中の前記文字列領域を拡大する機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、方法、および、プログラムに関するものである。
【背景技術】
【０００２】
従来より、画像中の文字を扱う技術が知られている。例えば、文字要素を１文字ずつ分類して拡大する技術が知られている。
【０００３】
【特許文献１】特開平１１−２５２８３号公報
【０００４】
ところで、画像には、文字やイラストや写真等のように様々な種類の対象を表すものがある。ところが、従来は、このような種々の画像において適切に文字を扱うことに関しては十分な工夫がなされていないのが実情であった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、種々の画像において適切に文字を扱うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］対象画像を表す対象画像データを処理する画像処理装置であって、前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する領域分類部と、前記対象画像中の前記文字列領域を拡大する画像処理部と、を備える、画像処理装置。
【０００８】
この構成によれば、網点領域と、網点領域とは異なる文字列領域とが検出され、文字列領域が拡大されるので、種々の画像において適切に文字を扱うことができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記領域分類部は、前記網点画像が文字を含むか否かに拘わらず、前記網点画像を表す領域を前記網点領域として検出する、画像処理装置。
【００１０】
この構成によれば、網点画像が文字を含むか否かに拘わらず、文字列拡大の影響によって網点領域が過剰に変形することを抑制できる。
【００１１】
［適用例３］適用例１または適用例２に記載の画像処理装置であって、前記領域分類部は、余白領域を検出し、前記画像処理部は、前記文字列領域を、前記文字列領域に隣接する前記余白領域内で拡大する、画像処理装置。
【００１２】
この構成によれば、文字列領域が、文字列領域に隣接する余白領域内で拡大されるので、画像のレイアウトが過剰に崩れることを抑制できる。
【００１３】
［適用例４］適用例１ないし適用例３のいずれかに記載の画像処理装置であって、前記領域分類部は、前記対象画像データに含まれる複数の画素の中から文字を表す文字画素を検出し、離れて配置された文字画素間を連結することによって得られる連結領域を含む領域を前記文字列領域として検出する、画像処理装置。
【００１４】
この構成によれば、文字画素の連結によって文字列領域が検出されるので、文字列領域を検出する処理の負荷を軽減できる。
【００１５】
［適用例５］適用例４に記載の画像処理装置であって、前記領域分類部は、所定の方向に沿って前記文字画素を連結する異方性連結によって前記連結領域を得る、画像処理装置。
【００１６】
この構成によれば、文字列領域を適切に検出することができる。
【００１７】
［適用例６］適用例５に記載の画像処理装置であって、前記領域分類部は、前記所定の方向が互いに異なるＮ種類（Ｎは２以上の整数）の異方性連結のそれぞれの結果に関して、前記文字画素が連結した領域の前記所定方向に沿った長さの代表値を決定し、前記代表値が最も長い前記異方性連結に従って前記文字列領域を検出する、画像処理装置。
【００１８】
この構成によれば、種々の対象画像に関して、適切に文字列領域を検出することができる。
【００１９】
［適用例７］対象画像を表す対象画像データを処理する画像処理方法であって、前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する工程と、前記対象画像中の前記文字列領域を拡大する工程と、を有する画像処理方法。
【００２０】
［適用例８］対象画像を表す対象画像データを処理するためのコンピュータプログラムであって、前記対象画像から、網点画像を表す網点領域と、前記網点領域とは異なるとともに文字列を表す文字列領域とを検出する機能と、前記対象画像中の前記文字列領域を拡大する機能と、をコンピュータに実現させるコンピュータプログラム。
【００２１】
［適用例９］適用例２に記載の画像処理装置であって、前記画像処理部は、前記網点領域を拡大せずに前記文字列領域を拡大する、画像処理装置。
【００２２】
この構成によれば、網点領域が拡大されないので、対象画像のレイアウトが過剰に崩れることを抑制できる。
【００２３】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２４】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．文字列領域拡大の変形例：
Ｃ．文字列検出の変形例：
Ｄ．画素分類処理の実施例：
Ｅ．変形例：
【００２５】
Ａ．第１実施例：
本発明の実施例について説明する。
Ａ−１．プリンタ１０の概略構成：
図１は、本願の画像処理装置の実施例としてのプリンタ１０の概略構成を示す説明図である。プリンタ１０は、印刷機能の他に、スキャナ機能、コピー機能を備えた、いわゆる複合機プリンタである。プリンタ１０は、制御ユニット２０、キャリッジ移動機構６０、キャリッジ７０、紙送り機構８０、スキャナ９１、操作パネル９６を備えている。
【００２６】
キャリッジ移動機構６０は、キャリッジモータ６２、駆動ベルト６４、摺動軸６６を備えており、摺動軸６６に移動自在に保持されたキャリッジ７０を、主走査方向に駆動させる。キャリッジ７０は、インクヘッド７１とインクカートリッジ７２とを備えており、インクカートリッジ７２からインクヘッド７１に供給されたインクを、印刷用紙Ｐに吐出する。紙送り機構８０は、紙送りローラ８２、紙送りモータ８４、プラテン８６を備えており、紙送りモータ８４が紙送りローラ８２を回転させることで、プラテン８６の上面に沿って印刷用紙Ｐを搬送する。スキャナ９１は、光学的に画像を読み込むイメージスキャナであり、本実施例においては、ＣＣＤ（Charge Coupled Devices）方式を用いたが、ＣＩＳ（Contact Image Sensor）方式など種々の方式を用いることができる。
【００２７】
上述した各機構は、制御ユニット２０により制御される。制御ユニット２０は、ＣＰＵ３０、ＲＡＭ４０、ＲＯＭ５０を備えるマイクロコンピュータとして構成されており、ＲＯＭ５０に記憶されたプログラムをＲＡＭ４０に展開して実行することで、上述の各機構の制御のほか、図１に示す機能部として機能する。これらの機能部の詳細については、後述する。
【００２８】
以上のような構成を有するプリンタ１０は、スキャナ９１によって読み取った画像を、印刷用紙Ｐに印刷することで、コピー機として機能する。なお、上述の印刷機構は、インクジェット式に限らず、レーザ式、熱転写式など、種々の印刷方式を用いることができる。
【００２９】
Ａ−２．画像複製処理：
プリンタ１０を用いて所定の画像のコピーを行う画像複製処理の流れを示すフローチャートを図２に示す。また、図３は、この画像複製処理を示す概略図である。この処理は、ユーザが、コピーの対象とする画像（例えば、印刷物等の原稿）をプリンタ１０にセットし、操作パネル９６を用いてコピーの指示操作を行うことにより開始される。この処理が開始されると、ＣＰＵ３０は、画像入力処理として、スキャナ９１を用いて、結像された光学像を電気信号に変換する（ステップＳ１００）。そして、画像変換処理として、得られたアナログ信号をＡＤ変換回路でデジタル信号に変換し、更に、画像全体が一様な明るさとなるようにシェーディング補正を行う（ステップＳ１１０）。
【００３０】
次のステップＳ１２２では、ＣＰＵ３０は、得られた画像データ（「対象画像データＳＩ」とも呼ぶ）に対して、領域の分類を行う（ステップＳ１２２）。この処理では、対象画像データＳＩによって表される対象画像ＳＩＩの全体が、網点部分を表す網点領域と、文字列を表す文字列領域と、余白を表す余白領域とに分類される。図３の分類画像ＤＡＩは、対象画像ＳＩＩに対する領域分類処理の結果を表している。対象画像ＳＩＩは、水平方向（ｘ方向）に延びる５つの文字列ＣＳ１〜ＣＳ５と、絵部分ＰＢとを表している。絵部分ＰＢは、文字ＣＳＰと写真とを重ね合わせた画像を表している。コピー対象である元画像（例えば、原稿）では、この絵部分ＰＢは網点によって表されていることとする。
【００３１】
分類画像ＤＡＩが示すように、対象画像ＳＩＩは、５つの文字列領域ＣＡ１〜ＣＡ５と、１つの網点領域ＤＡと、１つの余白領域ＢＡとに分類されている。５つの文字列領域ＣＡ１〜ＣＡ５は、５つの文字列ＣＳ１〜ＣＳ５を、それぞれ表している。網点領域ＤＡは、網点で表された絵部分ＰＢを表している。余白領域ＢＡは、残りの部分を表している。なお、領域分類処理の詳細については、後述する。
【００３２】
次のステップＳ１３２では、ＣＰＵ３０は、文字列領域を拡大した拡大画像を生成する。この処理では、文字列領域が拡大される。図３の拡大領域画像ＥＡＩでは、分類画像ＤＡＩ中の５つの文字列領域ＣＡ１〜ＣＡ５が、５つの拡大文字列領域ＥＣＡ１〜ＥＣＡ５に、それぞれ置換されている。そして、対象画像ＳＩＩ中の文字列領域が表す画像が、拡大文字列領域と一致するように拡大される。図３の拡大画像ＰＩでは、対象画像データＳＩ中の５つの文字列ＣＳ１〜ＣＳ５が、５つの拡大文字列ＥＣＳ１〜ＥＣＳ５に、それぞれ置換されている。このような拡大画像ＰＩは、対象画像ＳＩＩと、拡大された文字列画像とを合成することによって生成される。拡大画像ＰＩを生成する処理（「画像合成処理」とも呼ぶ）の詳細については、後述する。
【００３３】
画像合成処理を行うと、ＣＰＵ３０は、出力時に色合い等が再現できるように、ガンマ補正や、入力画像と出力画像の色情報の誤差を小さくする色補正などの全体補正処理を行い（ステップＳ１４０）、印刷制御部３５の処理として、キャリッジ移動機構６０、キャリッジ７０、紙送り機構８０等を駆動させて、画像を印刷用紙Ｐ上に出力する（ステップＳ１５０）。このようにして、画像の複製処理は完了する。
【００３４】
領域分類処理：
図４は、図２のステップＳ１２２に示す領域分類処理の手順を示すフローチャートである。最初のステップＳ７００では、ＣＰＵ３０は、画像入力部３１の処理として、上記ステップＳ１１０で得られた画像データ（ここでは、ＲＧＢデータ）をＲＡＭ４０に読み込む。そして、ＣＰＵ３０は、続く各ステップＳ７１０〜Ｓ７５０の処理を、領域分類部３３の処理として実行する。
【００３５】
ステップＳ７１０では、ＣＰＵ３０は、領域分類部３３の処理として、画素毎の判定処理（属性判定処理とも呼ぶ）を行う。ここで、画素の属性は、画素が表す画像領域の種類に関する属性を表している。本実施例では、この処理によって、対象画像ＳＩＩを表す複数の画素は、文字を表す文字画素と、網点部分を表す網点画素と、余白を表す余白画素に分類される。なお、後述するように、文字が網点によって表されている場合には、その文字を表す画素は網点画素に分類される。このような画素の分類方法としては、任意の方法を採用可能である。画素分類の実施例の詳細については、後述する。
【００３６】
次のステップＳ７２０、Ｓ７３０では、ＣＰＵ３０は、領域分類部３３の文字列検出部３３６の処理として、文字列領域を検出する。まず、ＣＰＵ３０は、図形の拡大（expansion）と縮退（shrinking）とによって文字画素を連結する（Ｓ７２０）。
【００３７】
図５は、図形の拡大と縮退との概略図である。図中には、対象画像データＳＩが示されている。対象画像データＳＩは、水平方向（ｘ方向）と垂直方向（ｙ方向）に沿ってマトリクス状に配置された複数の画素ｐｉｘのそれぞれの階調値を表している。以下、左上の頂点（隅）の画素（「基準画素ｐｉｘ＿ｓ」と呼ぶ）を基準に、＋ｘ方向と＋ｙ方向とのそれぞれの方向に画素ｐｉｘが並んでいることとする。また、図中では、複数の画素ｐｉｘが、文字画素と非文字画素（文字画素ではない画素）とに分けて表されている。
【００３８】
図５の下部には、図形の拡大と縮退の概要が示されている。図形の拡大は、或る注目画素ｐｉｘ＿ｉが「文字画素」である場合に、その注目画素ｐｉｘ＿ｉの周囲の画素の属性を文字画素に設定する処理である。これにより、文字（文字画素の領域）が拡大される。以下、属性が「文字画素」に設定される画素領域を「文字拡大領域」と呼ぶ。図５の例では、注目画素ｐｉｘ＿ｉを中心とする所定の矩形領域が、文字拡大領域として利用される。この矩形領域のｘ方向の長さは９画素であり、ｙ方向の長さは３画素である。その結果、＋ｘ方向と−ｘ方向とのそれぞれの方向に４画素ずつ文字画素の領域が広がり、さらに、＋ｙ方向と−ｙ方向とのそれぞれの方向に１画素ずつ文字画素の領域が広がる。このように、図５に示す実施例では、文字がｘ方向に沿って広く拡大される。なお、図形の拡大では、対象画像データＳＩの全ての画素に対して上述の矩形領域が適用される。
【００３９】
一方、図形の縮退は、注目画素ｐｉｘ＿ｉが「非文字画素」である場合に、その注目画素ｐｉｘ＿ｉの周囲の画素の属性を「非文字画素」に設定する処理である。これにより、文字（文字画素の領域）が縮退する。以下、属性が「非文字画素」に設定される画素領域を「文字縮退領域」と呼ぶ。図５の例では、文字拡大領域と同じ９×３画素の矩形領域が、文字縮退領域として利用される。その結果、＋ｘ方向と−ｘ方向とのそれぞれの方向に４画素ずつ文字画素の領域が縮退し、さらに、＋ｙ方向と−ｙ方向とのそれぞれの方向に１画素ずつ文字画素の領域が縮退する。このように、図５に示す実施例では、文字がｘ方向に沿って強く縮退する。なお、図形の縮退では、対象画像データＳＩの全ての画素に対して上述の矩形領域が適用される。
【００４０】
図６（Ａ）〜６（Ｃ）、図７（Ａ）〜（Ｃ）は、図形の拡大と縮退とによる文字画素の連結を示す概略図である。各図は、ｘ方向とｙ方向とに沿って配置された複数の画素を示している。図中の１つの黒ドットは、１つの文字画素を表している。黒ドットの無い部分は「非文字画素」を表している。
【００４１】
図６（Ａ）は、図４のステップＳ７１０の結果の一例を示している。この例は、ｘ方向に延びる２本の文字列ＣＳａ、ＣＳｂを表している。本実施例では、ＣＰＵ３０は、図形の拡大を２回繰り返し、続けて、図形の縮退を２回繰り返す。これにより、各画素の属性は、図６（Ａ）、６（Ｂ）、６（Ｃ）、７（Ａ）、７（Ｂ）の順番に変化する。
【００４２】
最初の図形拡大によって、各画素の属性は、図６（Ａ）から図６（Ｂ）に変化する。次の図形拡大によって、各画素の属性は、図６（Ｂ）から図６（Ｃ）に変化する。図形拡大によって文字画素の領域が広がるので、各文字を表す文字画素は、新たに設定された文字画素によって連結される。特に、本実施例では、ｘ方向に沿って広く文字画素の領域が広がる（図５）。その結果、ｘ方向に延びる２本の文字列ＣＳａ、ＣＳｂのそれぞれにおいて、ｘ方向に沿って文字が連結される。
【００４３】
次に、図形縮退によって、各画素の属性は、図６（Ｃ）から図７（Ａ）に変化する。次の図形縮退によって、各画素の属性は、図７（Ａ）から図７（Ｂ）に変化する。これらの図形縮退によって、過剰に広がった文字画素の領域が縮退する。ただし、文字列中の文字間は文字画素によって埋められているので、文字間の文字画素による連結は維持される。これらの結果、ＣＰＵ３０は、複数の文字の文字画素がｘ方向に沿って連結した領域を形成する。
【００４４】
図４の次のステップＳ７３０では、ＣＰＵ３０は、文字列領域を検出する。図７（Ｂ）、７（Ｃ）は、検出された文字列領域ＣＡａ、ＣＡｂを示している。本実施例では、文字画素が連結した領域を包含する矩形領域を、文字列領域として検出する。そして、１つの文字列領域は、１つの連結領域を包含する最小の矩形領域である。この矩形領域の４つの頂点は、１つの連結領域におけるｘ方向の最大画素位置と最小画素位置とｙ方向の最大画素位置と最小画素位置とを組み合わせて得られる４つの画素位置に設定される。このような文字列領域は、連結領域毎に検出される。図７（Ｂ）の例では、２つの文字列領域ＣＡａ、ＣＡｂが検出されている。以上のように、ＣＰＵ３０は、複数の文字が連結した連続な文字列領域を検出する。
【００４５】
図７（Ｃ）は、図６（Ａ）と同じ画像に、２つの文字列領域ＣＡａ、ＣＡｂを重ね合わせた様子を示している。図示するように、第１文字列領域ＣＡａは、第１文字列ＣＳａを表す文字画素を包含する最小の矩形領域である。また、第２文字列領域ＣＡｂは、第２文字列ＣＳｂを表す文字画素を包含する最小の矩形領域である。本実施例では、文字拡大領域と文字縮退領域とが同じであり、さらに、図形拡大の回数と図形縮退の回数も同じである。従って、過不足の無い文字列領域の検出が可能である。
【００４６】
なお、図５に示す実施例では、ｘ方向に沿って文字（文字画素）を広く連結する処理（拡大−縮退）を採用したが、他の方向（例えば、ｙ方向）に沿って文字を広く連結する処理を採用してもよい。以下、このような方向性を有する画素連結を、異方性連結と呼ぶ。
【００４７】
図４の次のステップＳ７４０では、ＣＰＵ３０は、領域分類部３３の余白検出部３３８の処理として、余白領域を検出する。具体的には、ＣＰＵ３０は、ステップＳ７１０で特定された余白画素から、ステップＳ７３０で検出された文字列領域に含まれる画素（文字画素）を除いた残りの画素によって表される領域を、余白領域として検出する。検出された余白領域からは、文字列領域の周囲の余白のサイズ（画素数）と、文字列領域間の距離（行間）とを特定可能である。
【００４８】
次のステップＳ７５０では、ＣＰＵ３０は、領域分類部３３の処理として、領域分類の結果をＲＡＭ４０に書き込む。本実施例では、対象画像データＳＩの各画素が、文字列領域と網点領域と余白領域とのいずれに属するかを表すデータが、ＲＡＭ４０に書き込まれる。そして、ＣＰＵ３０は、領域分類処理を終了し、処理を図２の画像複製処理に戻す。なお、ＣＰＵ３０（領域分類部３３）は、ステップＳ７１０で検出された網点画素によって表される領域を、そのまま網点領域として採用する。
【００４９】
画像合成処理：
図８は、図２のステップＳ１３２に示す画像合成処理の手順を示すフローチャートである。ＣＰＵ３０は、画像合成部３６の処理として、図８の各ステップＳ８００〜Ｓ８３０を実行する。ＣＰＵ３０は、最初のステップＳ８００でＲＡＭ４０に格納された対象画像データＳＩを参照し、次のステップＳ８１０でＲＡＭ４０に格納された領域分類の結果を参照する。
【００５０】
次のステップＳ８２０では、ＣＰＵ３０は、網点領域を拡大せずに、文字列領域を拡大する。図９は、文字列領域拡大の概略図である。図中には、図３に示した画像と同じ分類画像ＤＡＩと拡大領域画像ＥＡＩとが示されている。ＣＰＵ３０は、検出された１以上の文字列領域のそれぞれを、後述する条件を満たす範囲内で最大限に拡大する。その条件は、以下の通りである。ＣＰＵ３０は、文字列領域を、その文字列領域に接する余白領域内で拡大する。ここで、文字列領域の重心位置は固定される。また、文字列領域の縦横比率は維持されない、すなわち、ｘ方向の拡大率と、ｙ方向の拡大率とは、互いに独立に調整される。複数の文字列領域が余白領域を挟んで並ぶ場合には、各文字列領域が重ならないように、各文字列領域を拡大する。この際、ｘ方向の拡大率とｙ方向の拡大率は、各文字列領域に共通である。これらの結果、分類画像ＤＡＩ中の５つの文字列領域ＣＡ１〜ＣＡ５は同じ拡大率で拡大されて、５つの拡大文字列領域ＥＣＡ１〜ＥＣＡ５が、それぞれ生成される。
【００５１】
また、本実施例では、ＣＰＵ３０は、拡大文字列領域の周囲に余白ＢＣを残すこととしている。こうすれば、拡大された文字列が他の画像部分（例えば、他の文字列）と接触することが防止されるので、文字列を読みやすくすることができる。このような余白ＢＣのサイズとしては、種々のサイズを採用可能である（この場合、余白ＢＣのサイズは、拡大文字列領域から余白領域以外の他の画像領域（例えば、他の拡張文字列領域）までの最短距離に相当する）。例えば、ＣＰＵ３０は、所定サイズ（例えば、所定画素数や印刷結果における所定長さ）を採用可能である。この代わりに、ＣＰＵ３０は、対象画像データＳＩに従って余白ＢＣのサイズを決定してもよい。例えば、拡大文字列領域の幅ＷＣ（長手方向と垂直な方向の長さ）が大きいほど、その拡大文字列領域の周囲の余白ＢＣのサイズを大きくしてもよい。また、ＣＰＵ３０は、ユーザの指示に従って余白ＢＣのサイズを決定してもよい。なお、ＣＰＵ３０は、拡大文字列領域の周囲に余白ＢＣを残すこと無く、文字列領域を最大限に拡大してもよい。
【００５２】
また、本実施例では、ＣＰＵ３０は、拡大領域画像ＥＡＩ（対象画像ＳＩＩ）の縁ＥＤに余白ＢＥを残すこととしている。こうすれば、拡大された文字列が縁ＥＤと接触することが防止されるので、文字列を読みやすくすることができる。このような余白ＢＥのサイズとしては、種々のサイズを採用可能である（この場合、余白ＢＥのサイズは、拡大領域画像ＥＡＩ（対象画像ＳＩＩ）の縁ＥＤから拡大文字列領域までの最短距離に相当する）。例えば、ＣＰＵ３０は、所定サイズ（例えば、所定画素数や印刷結果における所定長さ）を採用可能である。この代わりに、ＣＰＵ３０は、印刷設定に従って余白ＢＥのサイズを決定してもよい。例えば、プリンタの中には、印刷用紙Ｐの四辺に余白を残さないフチなし印刷が可能なものがある。フチなし印刷は、印刷用のデータをわずかに拡大印刷してフチなしにて印刷するものである。ここで、拡大文字列領域が印刷用紙Ｐの外にはみ出ないように、余白ＢＥのサイズを決定してもよい。ここで、余白ＢＥのサイズが、印刷用紙Ｐの大きさに従った可変値であってもよい。なお、ＣＰＵ３０は、縁ＥＤに余白ＢＥを残すこと無く、文字列領域を最大限に拡大してもよい。
【００５３】
次にＣＰＵ３０は、文字列領域内の画像を、拡大文字列領域に合わせて拡大する。拡大後の画像のサイズと形状と位置とは、その文字列領域に対応付けられた拡大文字列領域と同じである。画像拡大方法としては、種々の方法を採用可能である。例えば、アフィン変換（線形変換）を採用してもよい。図３に示す実施例では、ＣＰＵ３０は、文字列ＣＳ１を表す画像を拡大することによって、拡大文字列ＥＣＳ１を表す画像を生成する。他の文字列ＣＳ２〜ＣＳ５についても同様である。そして、ＣＰＵ３０は、生成した画像と対象画像ＳＩＩとを合成することによって、拡大画像ＰＩを生成する（拡大画像ＰＩを表す画像データを生成する）。なお、本実施例では、ＣＰＵ３０は、網点領域を拡大しない。その結果、網点によって表されている文字ＣＳＰは、拡大されない。
【００５４】
図８の次のステップＳ８３０では、ＣＰＵ３０は、拡大画像ＰＩを表す画像データをＲＡＭ４０に格納する。そして、ＣＰＵ３０は、画像合成処理を終了し、処理を図２の画像複製処理に戻す。図２のステップＳ１４０、Ｓ１５０では、この拡大画像ＰＩを表す画像データに従って、処理が実行される。
【００５５】
以上のように、本実施例では、対象画像ＳＩＩ中の文字列が拡大されるので、画像全体を大きくせずに、文字列を読みやすくすることができる。また、文字列（複数の文字）を表す連続する文字列領域が拡大されるので、拡大後の文字列内で文字が崩れることを抑制できる。また、文字列を表す画像を拡大することによって文字を表す線も太くなるので、文字の可読性を高めることができる。また、対象画像ＳＩＩ中の余白内で文字列領域を拡大するので、種々の対象画像ＳＩＩに関して、拡大画像ＰＩのレイアウトが過剰に崩れることを抑制できる。その結果、拡大画像ＰＩを見たユーザが、文字列を誤読することを抑制できる。さらに、網点領域が拡大対象から外れているので、網点によって表される画像（例えば、写真やイラスト）の拡大に起因して拡大画像ＰＩのレイアウトが過剰に崩れることを抑制できる。そして、文字列を拡大できなくなることを抑制できる。また、本実施例では、網点画像が文字を含むか否かに拘わらずに、網点画像を表す領域が網点領域として検出される。従って、網点によって表される画像部分に文字が含まれる場合であっても、その文字部分が拡大対象として利用されることが抑制される。その結果、その網点によって表される画像部分が不自然に変形されることを抑制できる。
【００５６】
また、図５〜図７に示すように、離れて配置された文字画素間を連結することによって得られる連結領域を含む領域が文字列領域として利用されるので、１つの文字列領域は、対象画像データＳＩ中の１本の文字列の全体を含むことが可能である。そして、１つの文字列領域は分断されずに拡大されるので、文字列の途中で書式が変わることを抑制できる（例えば、文字列の途中で改行されることを抑制できる）。その結果、拡大画像ＰＩを見たユーザが、文字列を誤読することを抑制できる。また、文字を１文字ずつ認識するための解析を省略できるので、処理の負担を軽減できる。
【００５７】
また、図５〜図７に示すように、異方性連結によって文字画素が連結されるので、文字列領域を適切に検出することができる。また、行間を表す部分が文字を表す領域として認識されることを抑制できる。その結果、文字列領域の拡大に行間を利用することができるので、文字を大きくすることが容易である。
【００５８】
なお、本実施例では、画像合成部３６（図１）が特許請求の範囲における「画像処理部」に相当する。
【００５９】
Ｂ．文字列領域拡大の変形例：
図１０は、文字領域拡大の別の実施例の概略図である。図９に示す実施例との差違は、文字領域の重心位置が可変である点だけである。図１０には、分類画像ＤＡＩａと拡大領域画像ＥＡＩａとが示されている。分類画像ＤＡＩａは、図９の分類画像ＤＡＩから第４文字列領域ＣＡ４と第５文字列領域ＣＡ５とを削除したものと同じである。従って、網点領域ＤＡと文字列領域との間の余白領域ＢＡは、図９の分類画像ＤＡＩと比べて広い。
【００６０】
ＣＰＵ３０（図１）は、３つの文字列領域ＣＡ１〜ＣＡ３を拡大することによって、３つの拡大文字列領域ＥＣＡ１ａ〜ＥＣＡ３ａを、それぞれ生成する。この際、ＣＰＵ３０は、文字列領域と網点領域ＤＡとの間の余白領域ＢＡを最大限に利用する。具体的には、ＣＰＵ３０は、各拡大文字列領域ＥＣＡ１ａ〜ＥＣＡ３ａの重心位置を、各文字列領域ＣＡ１〜ＣＡ３の重心位置よりも網点領域ＤＡ側に移動させる。その結果、図１０の拡大領域画像ＥＡＩａに示すように、各拡大文字列領域ＥＣＡ１ａ〜ＥＣＡ３ａを大きくすることができる。
【００６１】
なお、文字列領域拡大としては、他の種々の態様を採用可能である。例えば、文字列領域の縦横比率を維持してもよい。こうすれば、文字が過剰に変形することを抑制できる。また、文字列領域の拡大率の上限を予め決めても良い。こうすれば、文字列が過剰に大きくなることを抑制できる。また、複数の文字列領域が余白領域を挟んで並ぶ場合に、拡大率が文字列領域毎に異なっていても良い。また、拡大文字列領域が、余白領域以外の他の領域（例えば、網点領域）内に広がってもよい。
【００６２】
Ｃ．文字列検出の変形例：
図１１は、文字列検出の別の実施例を示す概略図である。図１１の実施例は、図４のステップＳ７２０の代わりに実行される処理を示している。図５に示す実施例との差違は、所定方向に沿って文字画素を連結する代わりに、ｘ方向に沿って文字画素を広く連結した結果とｙ方向に沿って文字画素を広く連結した結果との一方を、これらの結果の比較によって選択する点だけである。この選択によって、対象画像データＳＩにおける文字列の延びる方向に適した文字列検出が可能となる。
【００６３】
最初のステップＳ９００では、ＣＰＵ３０は、対象画像データＳＩの文字画素に対して、ｘ方向に沿って文字（文字画素）を広く連結する拡大−縮退を実行する（以下、「ｘ方向連結」と呼ぶ）。このｘ方向連結は、図５〜図７で説明した処理と同じである。そして、ＣＰＵ３０は、このｘ方向連結の結果を表すｘ方向連結画像ＣＩ＿ｘを生成する。このｘ方向連結画像ＣＩ＿ｘは、図７（Ｂ）の画像と同様に、文字（文字画素）が連結した連結領域を表している。このｘ方向連結画像ＣＩ＿ｘ中の最長連結領域ＣＡｘ＿ｍａｘは、ｘ方向に沿った長さが最大である連結領域を示している（この長さを「ｘ方向最大長Ｌｘ＿ｍａｘ」と呼ぶ）。
【００６４】
次のステップＳ９１０では、ＣＰＵ３０は、対象画像データＳＩの文字画素に対して、ｙ方向に沿って文字（文字画素）を広く連結する拡大−縮退を実行する（以下、「ｙ方向連結」と呼ぶ）。このｙ方向連結では、文字拡大領域と文字縮退領域とのそれぞれとして、９×３画素の矩形領域の代わりに、３（ｘ方向）×９（ｙ方向）画素の矩形領域が利用される。これにより、ｙ方向に沿って文字（文字画素）が広く連結される。そして、ＣＰＵ３０は、このｙ方向連結の結果を表すｙ方向連結画像ＣＩ＿ｙを生成する。このｙ方向連結画像ＣＩ＿ｙも、文字（文字画素）が連結した連結領域を表している。このｙ方向連結画像ＣＩ＿ｙ中の最長連結領域ＣＡｙ＿ｍａｘは、ｙ方向に沿った長さが最大である連結領域を示している（この長さを「ｙ方向最大長Ｌｙ＿ｍａｘ」と呼ぶ）。
【００６５】
次のステップＳ９２０では、ＣＰＵ３０は、ｘ方向最大長Ｌｘ＿ｍａｘとｙ方向最大長Ｌｙ＿ｍａｘとを比較する。ｘ方向最大長Ｌｘ＿ｍａｘがｙ方向最大長Ｌｙ＿ｍａｘより大きい場合には、ＣＰＵ３０は、ｘ方向連結画像ＣＩ＿ｘを選択する。そして、図４の次のステップＳ７３０では、ＣＰＵ３０は、選択したｘ方向連結画像ＣＩ＿ｘに従って文字列領域を検出する。逆に、ｘ方向最大長Ｌｘ＿ｍａｘがｙ方向最大長Ｌｙ＿ｍａｘ以下である場合には、ＣＰＵ３０は、ｙ方向連結画像ＣＩ＿ｙを選択する。そして、図４の次のステップＳ７３０では、ＣＰＵ３０は、選択したｙ方向連結画像ＣＩ＿ｙに従って文字列領域を検出する。
【００６６】
このように、ｘ方向連結とｙ方向連結との内の最大長の長い方を選択する理由は、以下の通りである。すなわち、対象画像データＳＩにおける文字列の延びる方向は、種々の方向を取り得る。例えば、文字列がｘ方向に延びる場合や、文字列がｙ方向に延びる場合がある。いずれの場合も、通常は、行間は文字間よりも広い。従って、文字列がｘ方向に延びる対象画像に対しては、ｘ方向連結の方がｙ方向連結よりも長い連結領域が得られる。図１１に示すｘ方向連結画像ＣＩ＿ｘとｙ方向連結画像ＣＩ＿ｙとは、このような場合を示している。逆に、文字列がｙ方向に延びる対象画像に対しては、ｙ方向連結の方がｘ方向連結よりも長い連結領域が得られる。以上により、ｘ方向連結とｙ方向連結との内の最大長の長い方を選択することによって、対象画像データＳＩにおける文字列の延びる方向に適した文字列検出が可能となる。
【００６７】
なお、比較対象は最大長に限らず、文字画素の連結結果に含まれる１以上の連結領域のそれぞれの長さから得られる代表値を採用可能である。代表値としては、各連結領域の長さの関数で表される種々の値を採用可能である（例えば、平均値、最大値、中央値（メディアン）、最小値）。いずれの場合も、特定の方向に沿って文字画素を広く連結した結果（異方性連結の結果）を評価するためには、連結領域のその方向に沿った長さの代表値を利用すればよい。そして、その代表値が大きいほど、その異方性連結が対象画像データＳＩに適しているということができる。
【００６８】
また、異方性連結の方向の選択肢としては、ｘ方向と、ｘ方向と垂直なｙ方向との２方向に限らず、種々の方向を採用可能である。例えば、ｘ方向と、ｙ方向と、ｘ方向と４５度の角度をなす方向との３方向を採用してもよい。一般には、文字列検出部３３６（ＣＰＵ３０）は、方向性が互いに異なるＮ種類（Ｎは２以上の整数）の異方性連結を利用可能である。ここで、文字列検出部３３６（ＣＰＵ３０）は、長さの代表値が最も長い異方性連結に従って文字列領域を検出すればよい。この代わりに、文字列検出部３３６（ＣＰＵ３０）は、ユーザの指示に従って、Ｎ種類の異方性連結の中から利用する異方性連結を選択してもよい。
【００６９】
また、特定の方向に沿って文字画素を広く連結させる処理（異方性連結処理）としては、図５に示す処理に限らず、種々の処理を採用可能である。例えば、文字拡大領域と文字縮退領域とのそれぞれとしては、９×３画素の矩形領域に限らず、種々の異方性領域（例えば、１０×３の矩形領域や、楕円領域）を採用可能である。また、文字縮退領域が文字拡大領域と異なっていてもよい。また、図形拡大と図形縮退とのそれぞれの回数も任意に設定可能であり、図形縮退の回数が図形拡大の回数と異なっていても良い。また、図形縮退を省略してもよい。一般的には、異方性の連結処理としては、１画素以上離れた２つの文字画素間が連結され得る距離（「連結可能距離」と呼ぶ）に関して、特定方向に沿った連結可能距離が、特定方向と垂直な方向に沿った連結可能距離よりも長いような任意の処理を採用可能である。
【００７０】
また、文字画素を連結する処理としては、このような方向性を有する処理に限らず、他の処理を採用可能である。例えば、図５に示す処理において、文字拡大領域と文字縮退領域とが等方性領域（略円）であってもよく、また、正方形であってもよい。
【００７１】
Ｄ．画素分類処理の実施例：
Ｄ−１．画素分類処理の第１実施例：
図４のステップＳ７１０に示した画素分類処理（画素毎の領域分類処理）の流れを示すフローチャートを図１２に示す。この処理が開始されると、ＣＰＵ３０は、まず、ＲＡＭ４０に格納された対象画像データＳＩを参照する（Ｓ２００）。
【００７２】
次のステップＳ２０５では、ＣＰＵ３０は、積分データ生成部３２の処理として、対象画像データを解析することによって第１積分データＩＤ１（図１）と第２積分データＩＤ２（図１）とを生成する。画像データの読み込みをバンド単位で行う場合には、バンド単位で積分データＩＤ１、ＩＤ２を生成してもよい。ＣＰＵ３０は、生成した積分データＩＤ１、ＩＤ２をＲＡＭ４０に格納する。積分データＩＤ１、ＩＤ２の詳細については、「Ｄ−２．積分データを利用した計算」で後述する。
【００７３】
次のステップＳ２１０では、ＣＰＵ３０は、領域分類部３３に含まれる特徴量算出部３３２の処理として、注目画素を含む部分領域における輝度値の統計的分散（以下、単に「分散」と呼ぶ）を算出する。図１３は、対象画像データＳＩと注目画素ｐｉｘ＿ｋを示す概略図である。なお、画素が表す輝度値は、画素が表すＲＧＢの階調値から公知の手法により求めることができる。
【００７４】
図１３中には、注目画素ｐｉｘ＿ｋが示されている。注目画素ｐｉｘ＿ｋは、その画素が、エッジ部分と網点部分とのいずれに該当するかという属性判定の対象の画素である。本実施例では、ＣＰＵ３０は、画像の左上隅の画素から右下隅の画素まで注目画素を順番に移動させて、各画素の属性を判定する。
【００７５】
後述するように、注目画素ｐｉｘ＿ｋの判定には、注目画素ｐｉｘ＿ｋを含む３つの部分領域ＳＡｋ０、ＳＡｋ１、ＳＡｋ２のそれぞれにおける輝度値の分散が利用される。各領域ＳＡｋ０〜ＳＡｋ２は、注目画素ｐｉｘ＿ｋを中心とする正方形の領域である（第１部分領域ＳＡｋ０は５×５画素に対応し、第２部分領域ＳＡｋ１は７×７画素に対応し、第３部分領域ＳＡｋ２は９×９画素に対応している）。
【００７６】
ＣＰＵ３０は、以下の数式１に従って、各部分領域ＳＡｋ０、ＳＡｋ１、ＳＡｋ２の分散を算出する。
【００７７】
【数１】
2009105541.tif 000003
【００７８】
後述するように、ＣＰＵ３０は、第１積分データＩＤ１（図１）を利用することによって輝度値ｆの平均値Ｅ（ｆ）を算出し、第２積分データＩＤ２を利用することによって輝度値ｆの２乗の平均値Ｅ（ｆ2）を算出する。算出された分散は、次のステップＳ２２０で利用される。
【００７９】
次に、ＣＰＵ３０は、領域分類部３３の領域判定部３３４（属性判定部３３４とも呼ぶ）の処理として領域判定処理（属性判定処理とも呼ぶ）を行い、注目画素がエッジ構成部分であるのか、それとも網点構成部分であるのかを判定する（ステップＳ２２０）。この属性判定処理の詳細については、「Ｄ−３．属性判定処理」において後述する。
【００８０】
なお、ステップＳ２２０では、ＣＰＵ３０は、先ず、画像データＳＩの複数の画素を、網点画素とエッジ画素とに分類する。次に、ＣＰＵ３０は、網点画素の内の所定の条件を満たす画素を、余白画素として識別する。余白画素の条件としては、対象画像ＳＩＩの背景部分を表すことを示す任意の条件を採用可能である。例えば、所定の色範囲（例えば、輝度値が所定の閾値以上の色範囲）内の色を示すことを採用可能である。次に、ＣＰＵ３０は、対象画像データＳＩの複数の画素の内の、エッジ画素によって囲まれる閉領域内の画素を、文字画素として識別する。これらの結果、ＣＰＵ３０は、対象画像データＳＩの複数の画素を、文字画素と網点画素と余白画素とに分類する。
【００８１】
そして、注目画素の属性を判定すると、ＣＰＵ３０は、その結果をＲＡＭ４０に書き込む（ステップＳ２４０）。そして、対象画像データによって表される対象画像の全ての画素について、上記の処理が終了したか否かを判断し（ステップＳ２５０）、終了していなければ（ステップＳ２５０：ＮＯ）、処理を上記ステップＳ２１０に戻し、終了していれば（ステップＳ２５０：ＹＥＳ）、画素分類処理を終了して、処理を図４の領域分類処理に戻す。
【００８２】
Ｄ−２．積分データを利用した計算：
図１４は、対象画像データＳＩと第１積分データＩＤ１との概略図である。以下、基準画素ｐｉｘ＿ｓからｘ方向にｘａ番目、ｙ方向にｙａ番目の画素を、ｐｉｘ（ｘａ、ｙａ）で表す。また、その画素の輝度値をｆ（ｘａ、ｙａ）で表す。なお、ｘａの範囲は１〜Ｎｘであり、ｙａの範囲は１〜Ｎｙである（Ｎｘ、Ｎｙは整数であり、対象画像データＳＩに応じて決まる）。
【００８３】
第１積分データＩＤ１は、対象画像データＳＩの各画素ｐｉｘの輝度積分値（輝度値の合計値）を表している。或る画素ｐｉｘ（ｘｔ、ｙｔ）の輝度積分値ｐ（ｘｔ、ｙｔ）は、以下の数式２で表される。
【００８４】
【数２】
2009105541.tif 000004
【００８５】
この輝度積分値ｐ（ｘｔ、ｙｔ）は、基準画素ｐｉｘ＿ｓと、画素ｐｉｘ（ｘｔ、ｙｔ）との２つの画素が対角画素である矩形領域ＩＡｔ内の輝度値の合計値を表している（図１４では、矩形領域ＩＡｔにハッチングが付されている）。
【００８６】
図１５は、第１積分データＩＤ１を利用した平均値算出を示す概略図である。図１５は、図１４と同じ対象画像データＳＩと第１積分データＩＤ１とを示している。各画像データＳＩ、ＩＤ１には、注目画素ｐｉｘ＿ｋ（＝ｐｉｘ（ｘｋ、ｙｋ））を中心とする対象矩形領域Ａｄが示されている。この対象矩形領域Ａｄのｘ方向の画素数Ｗは「２×ｄｘ＋１」であり、ｙ方向の画素数Ｈは「２×ｄｙ＋１」である（ｄｘは１以上の整数、ｄｙは１以上の整数）。
【００８７】
また、図中には、対象矩形領域Ａｄの４つの隅画素ｐｉｘ＿ａ〜ｐｉｘ＿ｄが示されている。第１隅画素ｐｉｘ＿ａは、基準画素ｐｉｘ＿ｓに最も近い隅画素である。第４隅画素ｐｉｘ＿ｄは、基準画素ｐｉｘ＿ｓから最も遠い隅画素である。第２隅画素ｐｉｘ＿ｂは、第１隅画素ｐｉｘ＿ａと同じ画素行に含まれる他の隅画素であり、第３隅画素ｐｉｘ＿ｃは、第１隅画素ｐｉｘ＿ａと同じ画素列に含まれる他の隅画素である。
【００８８】
また、図１５には、隅矩形領域ＡＬが示されている。この隅矩形領域ＡＬは、基準画素ｐｉｘ＿ｓと第４隅画素ｐｉｘ＿ｄとの２つの画素が対角画素である矩形領域である。この隅矩形領域ＡＬは、直交する２本の直線Ｌ１、Ｌ２によって４つの領域Ａａ、Ａｂ、Ａｃ、Ａｄに分割される。第１直線Ｌ１は、対象矩形領域Ａｄの−ｙ側の辺（隣接する画素間の境界線を表す画素境界線）を通るｘ方向と平行な直線であり、第２直線Ｌ２は、対象矩形領域Ａｄの−ｘ側の辺（画素境界線）を通るｙ方向と平行な直線である。第１領域Ａａは、基準画素ｐｉｘ＿ｓを含み、対象矩形領域Ａｄの対角方向の左上（−ｘかつ−ｙ側）に位置する矩形領域である。第２領域Ａｂは、対象矩形領域Ａｄの−ｙ側に位置する矩形領域である。第３領域Ａｃは、対象矩形領域Ａｄの−ｘ側に位置する矩形領域である。
【００８９】
図１５の上部は、平均値Ｅ（ｆ）の算出の比較例を示している。平均値Ｅ（ｆ）は、対象矩形領域Ａｄにおける輝度値ｆの平均値を表している。比較例では、対象矩形領域Ａｄ内の各画素の輝度値が対象画像データＳＩから読み出され、合計値が算出される。そして、合計値を総画素数（Ｗ×Ｈ）で割ることによって、平均値Ｅ（ｆ）が算出される。この場合には、１つの注目画素ｐｉｘ＿ｋに関する平均値Ｅ（ｆ）の算出に、Ｈ×Ｗ回の対象画像データＳＩ（ＲＡＭ４０）に対するアクセスが必要である。例えば、Ｈ＝９、Ｗ＝９の場合には、８１回のアクセスが要る。そして、８１個の値の演算（加算）も要る。
【００９０】
図１５の下部は、本実施例における平均値Ｅ（ｆ）の算出を示している。図中には、平均値Ｅ（ｆ）の算出に利用される４つの算出画素ｐｉｘ＿１〜ｐｉｘ＿４が示されている。ＣＰＵ３０は、これら４つの算出画素ｐｉｘ＿１〜ｐｉｘ＿４を、４つの隅画素ｐｉｘ＿ａ〜ｐｉｘ＿ｄの位置に従って選択する。
【００９１】
第１算出画素ｐｉｘ＿１は、第１隅画素ｐｉｘ＿ａから、行（ｙ方向位置）と列（ｘ方向位置）とを基準画素ｐｉｘ＿ｓ側に１つずつシフトした位置の画素である。この第１算出画素ｐｉｘ＿１の輝度積分値ｐ（ｘ１、ｙ１）は、第１領域Ａａ内の輝度値の合計値を表している。
【００９２】
第２算出画素ｐｉｘ＿２は、第２隅画素ｐｉｘ＿ｂから、行（ｙ方向位置）を基準画素ｐｉｘ＿ｓ側に１だけシフトした位置の画素である。この第２算出画素ｐｉｘ＿２の輝度積分値ｐ（ｘ２、ｙ２）は、第１領域Ａａと第２領域Ａｂとの全体の内の輝度値の合計値を表している。
【００９３】
第３算出画素ｐｉｘ＿３は、第３隅画素ｐｉｘ＿ｃから、列（ｘ方向位置）を基準画素ｐｉｘ＿ｓ側に１だけシフトした位置の画素である。この第３算出画素ｐｉｘ＿３の輝度積分値ｐ（ｘ３、ｙ３）は、第１領域Ａａと第３領域Ａｃとの全体の内の輝度値の合計値を表している。
【００９４】
第４算出画素ｐｉｘ＿４は、第４隅画素ｐｉｘ＿ｄと同じである。第４算出画素ｐｉｘ＿４の輝度積分値ｐ（ｘ４、ｙ４）は、隅矩形領域ＡＬ全体の内の輝度値の合計値を表している。
【００９５】
これら４つの算出画素ｐｉｘ＿１〜ｐｉｘ＿４は、対象矩形領域Ａｄの輪郭線（対象矩形領域Ａｄを囲む矩形状の画素境界線）上の４つの頂点に対して基準画素ｐｉｘ＿ｓの方向にそれぞれ隣接している。そして、ＣＰＵ３０は、これらの算出画素ｐｉｘ＿１〜ｐｉｘ＿４を利用し、以下の数式３に従って、平均値Ｅ（ｆ）を算出する。
【００９６】
【数３】
2009105541.tif 000005
【００９７】
この実施例では、ＨとＷとの大きさに拘わらずに、第１積分データＩＤ１（ＲＡＭ４０）に対する４回のアクセスで、１つの注目画素ｐｉｘ＿ｋに関する平均値Ｅ（ｆ）を算出することができる。このように、実施例では、上述の比較例と比べて、ＲＡＭ４０に対するアクセス数を大幅に低減することができる。また、４つの値の演算（加算）で分子を算出することができるので、演算負荷を大幅に軽減することができる。
【００９８】
輝度値ｆの２乗（ｆ2）の平均値Ｅ（ｆ2）の算出も、輝度値ｆの平均値Ｅ（ｆ）の算出と同様である。図１２のステップＳ２０５で生成される第２積分データＩＤ２（図１）は、対象画像データＳＩの各画素ｐｉｘの輝度２乗積分値ｐｓを表している。ある画素ｐｉｘ（ｘｔ、ｙｔ）の輝度２乗積分値ｐｓ（ｘｔ、ｙｔ）は、以下の数式４で表される。
【００９９】
【数４】
2009105541.tif 000006
【０１００】
図１２のステップＳ２１０では、ＣＰＵ３０は、上述した４つの算出画素ｐｉｘ＿１〜ｐｉｘ＿４の輝度２乗積分値ｐｓを第２積分データＩＤ２（ＲＡＭ４０）から取得し、以下の数式５に従って輝度値ｆの２乗の平均値Ｅ（ｆ2）を算出する。
【０１０１】
【数５】
2009105541.tif 000007
【０１０２】
図１２のステップＳ２１０では、ＣＰＵ３０は、算出した平均値Ｅ（ｆ）、Ｅ（ｆ2）を利用して分散Ｖ（ｆ）を算出する（数式１）。なお、第１部分領域ＳＡｋ０（図１３）の分散ＶＡＲ０の算出では、ｄｘ＝ｄｙ＝２である（図１５）。第２部分領域ＳＡｋ１の分散ＶＡＲ１の算出では、ｄｘ＝ｄｙ＝３である。第３部分領域ＳＡｋ２の分散ＶＡＲ２の算出では、ｄｘ＝ｄｙ＝４である。
【０１０３】
Ｄ−３．属性判定処理：
図１６は、図１２のステップＳ２２０に示した領域判定処理（属性判定処理）の流れを示すフローチャートである。ＣＰＵ３０は、図１６に示す各ステップＳ５００〜Ｓ５２０の処理を、領域分類部３３に含まれる領域判定部３３４の処理として実行する。このような属性判定処理も画像処理の一種である。
【０１０４】
最初のステップＳ５００では、ＣＰＵ３０は、注目画素が、網点部分を表しているか否かを、輝度値の分散を利用して判断する。
【０１０５】
図１７は、エッジ部分と網点部分との２つの部分領域における輝度値の例を示している。注目画素ｐｉｘ＿ｋがエッジ部分を表す場合は、部分領域内で色が大きく変化するので、通常は輝度値の分散は大きい。注目画素ｐｉｘ＿ｋが網点部分を表す場合は、部分領域内で色が周期的に変化する。ただし、網点部分での色の変化はエッジ部分と比べて小さい場合が多いので、通常は輝度値の分散はエッジ部分と比べて小さい。
【０１０６】
図１８（Ａ）、１８（Ｂ）、１８（Ｃ）は、それぞれ、５×５画素、７×７画素、９×９画素の部分領域における分散のヒストグラムの例を示している（横軸は、標準偏差（分散の正の平方根）が均等に並ぶように設定されている）。各ヒストグラムは、網点部分とエッジ部分とのそれぞれの分散を示している。これらのヒストグラムは、様々な画像データの様々な領域の解析結果に従って作成されている。図示するように、網点部分とエッジ部分との間では、分散分布の偏りが互いに異なっている。従って、分散の大きさを閾値で判定することによって、エッジ部分と網点部分とを、或る程度の精度で判定できる。
【０１０７】
さらに、複数の部分領域の分散を総合することによって、判定の精度を向上させることもできる。図１９は、網点部分を表す部分領域の一例を示している。図中には、５×５画素、７×７画素、９×９画素のそれぞれの分散ＶＡＲｘ０〜ＶＡＲｘ２が示されている。図１８の各ヒストグラムに示す分散ＶＡＲｘ０〜ＶＡＲｘ２は、図１９に示すこれらの分散を示している。
【０１０８】
図１８に示すように、５×５画素の分散ＶＡＲｘ０は、網点部分の典型的な分散分布における特に大きい値（頻度の比較的少ない値）を示している。その結果、この分散ＶＡＲｘ０のみを利用する場合には、注目画素ｐｉｘ＿ｋがエッジ部分であると誤判定する可能性が高くなる。一方、７×７画素の分散ＶＡＲｘ１と、９×９画素の分散ＶＡＲｘ２とは、典型的な分散分布におけるピークに近い値（頻度の比較的多い値）を示している。その結果、これらの分散ＶＡＲｘ１、ＶＡＲｘ２を利用すれば、誤判定の可能性を低減できる。
【０１０９】
複数の部分領域のそれぞれの分散は、注目画素ｐｉｘ＿ｋの周辺における色変化パターン（例えば、対象画像が表す被写体や網点サイズ）に従って変わる。その結果、複数の部分領域の内の判定に適した部分領域は、色変化パターンに従って変わり得る。例えば、９×９画素の分散よりも、５×５画素の分散を利用した方が、誤判定の可能性を低減できる場合もあり得る。
【０１１０】
そこで、本実施例では、色変化パターンに拘わらずに判定精度を高めるために、ＣＰＵ３０は、サイズの異なる３つの部分領域ＳＡｋ０、ＳＡｋ１、ＳＡｋ２（図１３）のそれぞれの分散ＶＡＲ０、ＶＡＲ１、ＶＡＲ２を利用して判定を行う。具体的には、ＣＰＵ３０は、以下の数式６に従って算出される評価値ＥＶａが０以上の場合に、注目画素ｐｉｘ＿ｋがエッジ部分であると判定し、評価値ＥＶａが０未満の場合に、網点部分であると判定する。
【０１１１】
【数６】
2009105541.tif 000008
【０１１２】
識別子ｔは、部分領域の識別子である。本実施例では、ｔ＝０が５×５画素に対応し、ｔ＝１は７×７画素に対応し、ｔ＝２は９×９画素に対応している。最大値Ｔは、識別子ｔの最大値である（本実施例では２）。係数Ｃａｔは、各部分領域に対する重みを表す所定の正値である。閾値ＴＨａｔは、部分領域毎に予め決められた分散の閾値である。分散ＶＡＲｔは、各部分領域での分散である。符号関数ｓｉｇｎは、引数の符号を返す関数である。ＶＡＲｔ＞ＴＨａｔの場合にはｓｉｇｎ＝＋１であり、ＶＡＲｔ＝ＴＨａｔの場合にはｓｉｇｎ＝０であり、ＶＡＲｔ＜ＴＨａｔの場合にはｓｉｇｎ＝−１である。
【０１１３】
評価値ＥＶａは、分散ＶＡＲｔが閾値ＴＨａｔよりも大きいか否かの判定結果を、各部分領域毎に重みを付けて足し合わせた値を表している。従って、図１９に示す例のように一部の部分領域からは正しい判定結果が得られない場合であっても、さらに他の部分領域を利用することによって、正しい判定結果を得ることができる。これらの結果、色変化パターンに拘わらずに判定精度を高めることができる。なお、閾値ＴＨａ０、ＴＨａ１、ＴＨａ２と係数Ｃａ０、Ｃａ１、Ｃａ２とのそれぞれは、多数の画像を分析することで、予め、実験的、経験的に求められる。
【０１１４】
ＣＰＵ３０は、評価値ＥＶａを算出し、評価値ＥＶａが０未満であるか否かを判定する（図１６：Ｓ５００）。ＣＰＵ３０は、評価値ＥＶａが０未満であれば注目画素を網点部分と判断し（Ｓ５１０）、評価値ＥＶａが０以上であれば注目画素をエッジ部分と判断する（Ｓ５２０）。そして、ＣＰＵ３０は、属性判定処理を終了し、図１２に示した画素分類処理に処理を戻す。
【０１１５】
なお、上述したように、ＣＰＵ３０は、網点画素とエッジ画素との分類結果に従って、文字画素と網点画素と余白画素との分類を実行する。なお、通常は、網点部分の輝度値の分散は、その網点部分が文字を含むか否かに拘わらずに、エッジ部分の輝度値の分散よりも小さい。従って、網点部分が文字を含むか否かに拘わらずに、網点部分の画素は網点画素として分類される。
【０１１６】
以上のように、画素分類処理の第１実施例では、サイズの異なる複数の部分領域のそれぞれの分散を利用して属性が判定される。すなわち、局所的な視点と大域的な視点との両方を考慮して属性が判定される。その結果、判定精度を高めることができる。また、積分データを利用して分散が算出されるので、対象画像データＳＩの複数の画素位置のそれぞれに関する分散を算出する場合であっても、メモリに対するアクセス数が過剰に多くなることを抑制できる。そして、演算負荷を軽減できる。
【０１１７】
なお、本実施例においては、変化を検知しやすいことから、ＲＧＢの階調値から輝度の階調値を算出し、算出した輝度の階調値を用いて属性判定を行ったが、階調値は輝度に限るものではなく、色を表す階調値であればよい。例えば、画像データがＹＣｂＣｒ形式で与えられる場合には、輝度の階調値として画像データのＹ成分を直接用いてもよいし、Ｃｂ成分やＣｒ成分を用いてもよいし、画素のＲ成分などを用いてもよい。
【０１１８】
かかる構成のプリンタ１０は、注目画素の周辺の所定範囲の画素群の分散を算出し、これを基に評価値ＥＶａを算出し、その結果に基づいて注目画素の属性を判定する。したがって、分散計算を中心とした簡単な演算処理で、エッジ構成部分、網点構成部分といった画素の属性の判定を行うことができる。また、当該判定技術は、簡単な演算処理で構成されることから、ソフトウェアで安価に構成することができる。また、簡単な演算処理の組合せで構成されるので、ＳＩＭＤ（Single Instruction Multiple Data）向き並列処理として実装でき、高速処理が可能となる。例えば、画像データの読み込みと領域分類（判定）とを並列化してもよい。
【０１１９】
Ｄ−４．画素分類処理の第２実施例：
図２０は、図１２のステップＳ２２０に示した領域判定処理（属性判定処理）の別の実施例を示すフローチャートである。図１６の実施例との差違は、網点部分とエッジ部分とに加えて、文字内部とその他との４種類の判定が行われる点である。なお、ＣＰＵ３０（図１）は、図２０に示す各ステップＳ４００〜Ｓ４４５の処理を、領域分類部３３に含まれる領域判定部３３４の処理として、実行する。
【０１２０】
最初のステップＳ４００では、ＣＰＵ３０は、注目画素の色が背景色範囲に含まれているか否かを判定する。注目画素の色が背景色範囲に含まれている場合には、ＣＰＵ３０は、その注目画素を「その他」と判断する（Ｓ４４５）。背景色範囲は、対象画像の背景部分を表す色の範囲を示している。ＣＰＵ３０は、例えば、対象画像中の所定の縁部分（例えば、縁からの距離が２０画素以内の部分）の平均色を中心とする所定サイズの色範囲を背景色範囲として採用する。例えば、白い紙を用いた印刷物を対象画像が表す場合には、紙の白色を表す色範囲が背景色範囲として採用される。この代わりに、所定の色範囲（例えば、輝度値が所定の閾値以上の色範囲）が背景色範囲として採用されてもよい。
【０１２１】
次のステップＳ４１０、Ｓ４２０、Ｓ４３０では、ＣＰＵ３０は、注目画素が、文字内部、網点部分、エッジ部分のいずれに該当するかを、輝度値の分散を利用して判断する。
【０１２２】
図２１は、３つの部分領域における輝度値の例を示している。図１７との差異は、文字内部が追加されている点だけである。注目画素ｐｉｘ＿ｋが文字内部を表す場合は、しばしば部分領域内の各画素の色がほぼ同じであるので、通常は輝度値の分散は、網点部分と比べて小さい。
【０１２３】
図２２（Ａ）、２２（Ｂ）、２２（Ｃ）は、それぞれ、３つの部分領域における分散のヒストグラムの例を示している。図１８との差異は、文字内部のヒストグラムが追加されている点だけである。図示するように、文字内部と網点部分との間では、分散分布の偏りが互いに異なっている。従って、網点部分とエッジ部分との判定と同様に、分散の大きさを閾値ＴＨｂ０、ＴＨｂ１、ＴＨｂ２で判定することによって、文字内部と網点部分とを、或る程度の精度で判定できる。
【０１２４】
図２０のステップＳ４１０では、ＣＰＵ３０（図１）は、図１６と同様の方法で、注目画素が「文字内部」であるか否かを判定する。ステップＳ４２０は、図１６のステップＳ５００と同じである（注目画素が「網点部分」であるか否かの判定）。ステップＳ４３０では、ＣＰＵ３０は、図１６と同様の方法で、注目画素が「エッジ部分」であるか否かを判定する。ステップＳ４３０では、分散が過剰に大きい場合に、注目画素がエッジ部分では無いと判定される。ただし、ステップＳ４３０を省略してもよい。この場合には、背景でもなく文字内部でもなく網点部分でもないと判断された画素の全てが、エッジ部分であると判断される。
【０１２５】
なお、ステップＳ４１０、Ｓ４３０のそれぞれの判定には、上述の評価値ＥＶａ（数式６）と同様の評価値が利用される。ステップＳ４１０では、ＣＰＵ３０は、評価値が０未満の場合に、注目画素が文字内部であると判定し、評価値が０以上の場合に、文字内部では無いと判定する。ステップＳ４３０では、ＣＰＵ３０は、評価値が０未満の場合に、注目画素がエッジ部分であると判定し、評価値が０以上の場合に、エッジ部分では無いと判定する。各評価値の算出に利用される係数（係数Ｃａｔに相当）と閾値（閾値ＴＨａｔに相当）とは、多数の画像を分析することで、予め、実験的、経験的に求められる。
【０１２６】
図２３は、文字と網点とを表す画像部分ＩＰの判定結果の概略図である。第１パターンＰ１は、各画素がエッジ部分か否かを表す２値パターンである。第２パターンＰ２は、各画素が文字内部か否かを表す２値パターンである。第３パターンＰ３は、各画素が網点部分か否かを表す２値パターンである。第４パターンＰ４は、各画素がその他か否かを表す２値パターンである。図中では、各部分に該当する画素が実線またはハッチングで表されている。図示するように、文字の輪郭を表す画素はエッジ部分と判定され、文字の内部を表す画素は文字内部と判定され、網点画像を表す画素は網点部分と判定され、背景はその他と判定される。
【０１２７】
図１２のステップＳ２４０では、ＣＰＵ３０は、領域判定部３３４の処理として判定結果をＲＡＭ４０に書き込む。書き込まれる判定結果としては、例えば、図２３に示す４つの２値パターンデータを採用してもよく、また、各画素が４つの属性のいずれであるかを示す４値パターンデータを採用してもよい。
【０１２８】
ここで、ＣＰＵ３０は、エッジ部分と文字内部との両方の画素を文字画素として識別し、そして、その他と判定された画素を余白画素として識別する。また、図１２のステップＳ２４０では、ＣＰＵ３０は、文字画素と網点画素と余白画素とを識別可能な任意のデータをＲＡＭ４０に格納すればよい。このようなデータとしては、例えば、３つの属性のいずれであるかを示す３値パターンデータを採用可能である。
【０１２９】
以上のような画素分類処理の各実施例と、文字画素連結による文字列領域の検出とを組み合わせることによって、文字列領域の検出に要する負担を軽減することができる。例えば、文字を１文字ずつ認識する解析処理（例えば、いわゆるＯＣＲ（optical character recognition）や、文字を表す領域を１文字ずつ分類する処理を省略できる。
【０１３０】
なお、画素が表す画像種類の分類方法としては、上述の各実施例の方法に限らず、周知の種々の方法を採用可能である。ここで、注目画素とその周辺の所定範囲内の画素とを含む一部の領域内における画素値の分布に従って注目画素の種類を特定する方法を採用すれば、分類処理の負担を軽減することができる。例えば、上述の各実施例において、分散の代わりに、注目画素ｐｉｘ＿ｋの周辺の画素値の最大差分を利用してもよい。
【０１３１】
また、識別される画素の種類としては、余白と網点と文字との３種類に限らず、少なくとも網点と文字とを含む任意の種類を採用可能である。例えば、文字領域が余白以外の他の領域（例えば、網点領域）内にも広がる場合には、余白画素の特定を省略してもよい。
【０１３２】
Ｃ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１３３】
変形例１：
上述の各実施例において、文字列とは異なる画像を表す部分も文字列領域として分類される場合がある。例えば、対象画像データＳＩにグラフを表す部分が含まれる場合には、そのグラフを表す部分が文字列領域として分類され得る。この場合には、グラフも、文字列と同様に、拡大されるが、実用上の問題は無い。但し、グラフを表す領域を、文字列領域から区別し、グラフ領域を拡大対象から外してもよい。
【０１３４】
変形例２：
上述の各実施例において、文字列領域の検出方法としては、文字画素検出と文字画素連結とを組み合わせた方法に限らず、任意の方法を採用可能である。例えば、いわゆるＯＣＲ（optical character recognition）を利用して文字列領域を検出してもよい。
【０１３５】
また、網点領域を検出する方法としても、種々の方法を採用可能である。例えば、パターンマッチングに従って網点領域を検出してもよい。
【０１３６】
いずれの場合も、ＣＰＵ３０（領域分類部３３）は、網点画像が文字を含むか否かに拘わらずに、網点画像を表す領域を網点領域として検出することが好ましい。こうすれば、網点によって表される画像に文字が含まれている場合であっても、文字列拡大の影響によって網点領域が過剰に変形することを抑制できる。例えば、先ず対象画像から網点領域を分類（検出）し、次に網点領域を除いた残りの領域から文字列領域を分類（検出）すればよい。
【０１３７】
変形例３：
上述の各実施例において、ＣＰＵ３０（画像合成部３６）は、文字列領域と同様に、網点領域を拡大してもよい。この場合も、ＣＰＵ３０（領域分類部３３）が網点領域と文字列領域とを分類することによって、網点によって表される画像が不自然に変形されることを抑制できる。
【０１３８】
変形例４：
上述の各実施例において、対象画像データとしては、スキャナ９１によるスキャンによって生成された画像データに限らず、種々の画像データを採用可能である。例えば、プリンタ１０は、着脱可能なメモリカードや、ネットワークを介して接続された他の装置から対象画像データを取得してもよい。
【０１３９】
また、上述の各実施例において、文字列領域が拡大された後の画像データの用途としては、印刷に限らず、種々の用途を採用可能である。例えば、ディスプレイ装置に画像を表示してもよく、画像データを含むデータファイルをユーザに提供してもよい。
【０１４０】
変形例５：
以上、本発明の実施例について説明したが、本発明はこうした実施例に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明の画像処理装置は、実施例に示したプリンタ複合機に限らず、プリンタ単独機、デジタル複写機、イメージスキャナなど各種デジタル機器に搭載することができる。また、画像処理装置としての構成に限らず、判定画像処理方法や、コンピュータプログラム等の形態でも実現することができる。
【０１４１】
また、図１１の実施例のように対象画像中の文字列を検出する画像処理装置、文字列の検出方法、文字列を検出するためのコンピュータプログラム等の形態でも実現することができる。このような形態を採用すれば、種々の画像において適切に文字列を検出することができる。なお、このような画像処理装置としては以下の構成を採用可能である。例えば、対象画像を表す対象画像データを処理する画像処理装置は、対象画像から文字列を表す文字列領域を検出する領域検出部を備えている。そして、この領域検出部は、上述の適用例３、４、５に示す領域分類部と同じ特徴を有する。
【０１４２】
変形例６：
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の領域分類部３３の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【０１４３】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【０１４４】
【図１】本願の画像処理装置の実施例としてのプリンタ１０の概略構成を示す説明図である。
【図２】画像複製処理の流れを示すフローチャートである。
【図３】画像複製処理を示す概略図である。
【図４】図２のステップＳ１２２に示す領域分類処理の手順を示すフローチャートである。
【図５】図形の拡大と縮退との概略図である。
【図６】図形の拡大と縮退とによる文字画素の連結を示す概略図である。
【図７】図形の拡大と縮退とによる文字画素の連結を示す概略図である。
【図８】図２のステップＳ１３２に示す画像合成処理の手順を示すフローチャートである。
【図９】文字列領域拡大の概略図である。
【図１０】文字領域拡大の別の実施例の概略図である。
【図１１】文字列検出の別の実施例を示す概略図である。
【図１２】画素分類処理の流れを示すフローチャート。
【図１３】対象画像データＳＩと注目画素を示す概略図である。
【図１４】対象画像データＳＩと第１積分データＩＤ１との概略図である。
【図１５】第１積分データＩＤ１を利用した平均値算出を示す概略図である。
【図１６】領域判定処理（属性判定処理）の流れを示すフローチャートである。
【図１７】部分領域における輝度値の例を示す説明図。
【図１８】分散のヒストグラムの例を示す説明図。
【図１９】網点部分を表す部分領域の一例を示す説明図。
【図２０】領域判定処理（属性判定処理）の別の実施例を示すフローチャートである。
【図２１】３つの部分領域における輝度値の例を示す説明図。
【図２２】分散のヒストグラムの例を示す説明図。
【図２３】文字と網点とを表す画像部分ＩＰの判定結果の概略図である。
【符号の説明】
【０１４５】
１０…プリンタ
２０…制御ユニット
３０…ＣＰＵ
３１…画像入力部
３２…積分データ生成部
３３…領域分類部
３５…印刷制御部
３６…画像合成部
４０…ＲＡＭ
５０…ＲＯＭ
６０…キャリッジ移動機構
６２…キャリッジモータ
６４…駆動ベルト
６６…摺動軸
７０…キャリッジ
７１…インクヘッド
７２…インクカートリッジ
８０…紙送り機構
８２…ローラ
８４…モータ
８６…プラテン
９１…スキャナ
９６…操作パネル
３３２…特徴量算出部
３３４…領域判定部（属性判定部）
３３６…文字列検出部
３３８…余白検出部
Ｐ…印刷用紙
ＩＤ１…第１積分データ
ＩＤ２…第２積分データ
【図１】
2009105541.tif 000009
【図２】
2009105541.tif 000010
【図３】
2009105541.tif 000011
【図４】
2009105541.tif 000012
【図５】
2009105541.tif 000013
【図６】
2009105541.tif 000014
【図７】
2009105541.tif 000015
【図８】
2009105541.tif 000016
【図９】
2009105541.tif 000017
【図１０】
2009105541.tif 000018
【図１１】
2009105541.tif 000019
【図１２】
2009105541.tif 000020
【図１３】
2009105541.tif 000021
【図１４】
2009105541.tif 000022
【図１５】
2009105541.tif 000023
【図１６】
2009105541.tif 000024
【図１７】
2009105541.tif 000025
【図１８】
2009105541.tif 000026
【図１９】
2009105541.tif 000027
【図２０】
2009105541.tif 000028
【図２１】
2009105541.tif 000029
【図２２】
2009105541.tif 000030
【図２３】
2009105541.tif 000031