(57)【特許請求の範囲】
【請求項１】
画像を表す画像データを取得する取得部であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記取得部と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する判定部であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記判定部と、
を備え、
前記判定部は、前記部分範囲に含まれる複数の階調値の数と相関のある値と、前記部分範囲内の前記複数の階調値にそれぞれ対応する画素数のうちの最大の画素数と、の積と、前記複数の階調値にそれぞれ対応する画素数の合計値と、を用いて、前記写真条件が満たされるか否かを判定する、
画像処理装置。
【請求項２】
画像を表す画像データを取得する取得部であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記取得部と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する判定部であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記判定部と、
を備え、
前記部分範囲に含まれる前記階調値の数は、前記画像の中で文字を構成する複数の画素の階調値の数よりも多い、
画像処理装置。
【請求項３】
画像を表す画像データを取得する取得部であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記取得部と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する判定部であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記判定部と、
を備え、
前記写真条件は、互いに異なる複数の前記部分範囲のうち、前記変化の度合いが最も小さい前記部分範囲内における前記変化の度合いが前記基準よりも小さいことを要し、
前記写真条件の判定では、予め設定されるＮ（Ｎは２以上の整数）個の前記部分範囲のうち、前記部分範囲に含まれる前記画素数が第１基準値以上である前記部分範囲が、用いられる、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記複数の部分範囲に含まれる階調値の数は、互いに同じである、画像処理装置。
【請求項５】
請求項１から４のいずれかに記載の画像処理装置であって、
前記部分範囲に含まれる前記階調値の数は、前記複数の画素が表す複数の階調値のうち、最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、画像処理装置。
【請求項６】
請求項１から５のいずれかに記載の画像処理装置であって、
前記画像データが表す前記画像中のエッジ評価値を算出するエッジ算出部を備え、
前記判定部は、算出された前記エッジ評価値が、第２基準値以上であることを要する文字条件が満たされる場合には、前記画像が、文字画像であると判定し、前記文字条件が満たされない場合には、前記画像が、非文字画像であると判定する、画像処理装置。
【請求項７】
画像処理をコンピュータに実行させるためのプログラムであって、
画像を表す画像データを取得する機能であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記機能と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する機能であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記機能と、
をコンピュータに実行させ、
前記判定する機能は、前記部分範囲に含まれる複数の階調値の数と相関のある値と、前記部分範囲内の前記複数の階調値にそれぞれ対応する画素数のうちの最大の画素数と、の積と、前記複数の階調値にそれぞれ対応する画素数の合計値と、を用いて、前記写真条件が満たされるか否かを判定する、
プログラム。
【請求項８】
画像処理をコンピュータに実行させるためのプログラムであって、
画像を表す画像データを取得する機能であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記機能と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する機能であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記機能と、
をコンピュータに実行させ、
前記部分範囲に含まれる前記階調値の数は、前記画像の中で文字を構成する複数の画素の階調値の数よりも多い、
プログラム。
【請求項９】
画像処理をコンピュータに実行させるためのプログラムであって、
画像を表す画像データを取得する機能であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記機能と、
複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する機能であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記機能と、
をコンピュータに実行させ、
前記写真条件は、互いに異なる複数の前記部分範囲のうち、前記変化の度合いが最も小さい前記部分範囲内における前記変化の度合いが前記基準よりも小さいことを要し、
前記写真条件の判定では、予め設定されるＮ（Ｎは２以上の整数）個の前記部分範囲のうち、前記部分範囲に含まれる前記画素数が第１基準値以上である前記部分範囲が、用いられる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の種類を判定する技術に関する。
【背景技術】
【０００２】
画像を表す画像データに基づいて、画像内の処理対象の領域（以下、対象領域と呼ぶ）の種類（例えば、写真、文字等）を判定する技術が知られている。対象領域の種類を正しく判定できれば、種類に応じた画像処理を施すことができる等のメリットがある。例えば、画像を複数のブロックに分割し、ブロックごとのコントラストを算出する。そして、各ブロックのコントラストに基づいて、各ブロックを写真、文字等に分類する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５―２２５３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像の種類を正しく判定することは、難しく、誤判定の可能性があった。
【０００５】
本発明は、画像の種類の判定精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］
画像を表す画像データを取得する取得部であって、前記画像データは、階調値をそれぞれ有する複数の画素によって表される、前記取得部と、複数の階調値を含む部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、前記画像が写真画像であると判定する判定部であって、前記部分範囲に含まれる階調値の数は、前記階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない、前記判定部と、を備える、画像処理装置。
【０００８】
上記構成によれば、階調値が取り得る最小の階調値と最大の階調値との間に含まれる階調値の数よりも少ない階調値を含む部分範囲であって、その部分範囲内の階調値の分布における画素数の変化の度合いが基準よりも小さいことを少なくとも要する写真条件が利用されるので、画像が写真画像であるか否かの判定精度を向上させることができる。すなわち、画像の種類の判定精度を向上させることができる。
【０００９】
なお、本発明は、種々の形態で実現することが可能であり、画像処理装置の他、例えば、画像処理方法、画像処理方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体などの形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例における画像処理装置としての計算機２００の構成を示すブロック図である。
【図２】画像処理のフローチャートである。
【図３】スキャンデータが表すスキャン画像ＳＩの一例を示す図である。
【図４】エッジ画像データが表すエッジ画像ＥＧＩの一例を示す図である。
【図５】判定画像ＢＩの一例を示す図である。
【図６】ラベル画像ＬＩの一例を示す図である。
【図７】領域判定処理を示すフローチャートである。
【図８】領域判定処理を示すフローチャートである。
【図９】領域判定処理を説明するための図である。
【図１０】エッジ評価値算出処理のフローチャートを示す図である。
【図１１】領域判定処理におけるオブジェクト画像の種類の判定を行うための条件を表す判定テーブルを示す図である。
【図１２】画像の種類が「文字画像」である非ベタ領域の例について説明する図である。
【図１３】画像の種類が「描画画像」である非ベタ領域の例について説明する図である。
【図１４】画像の種類が「写真画像」である非ベタ領域の例について説明する図である。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１．画像処理装置の構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、実施例における画像処理装置としての計算機２００の構成を示すブロック図である。
【００１２】
計算機２００は、例えば、パーソナルコンピュータであり、ＣＰＵ２１０と、ＤＲＡＭなど揮発性記憶装置２４０と、マウスやキーボードなどの操作部２７０と、外部装置と通信を行うための通信部２８０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置２９０と、を備えている。
【００１３】
計算機２００は、通信部２８０を介して、外部装置であるスキャナ３００と複合機４００と通信可能に接続されている。スキャナ３００は、光学的に原稿を読み取ることによってスキャンデータを取得する画像読取装置である。複合機４００は、光学的に原稿を読み取ることによってスキャンデータを取得する画像読取部（図示せず）を備えている。
【００１４】
揮発性記憶装置２４０には、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２４１が設けられている。不揮発性記憶装置２９０は、ドライバプログラム２９１を格納している。また、不揮発性記憶装置２９０は、後述の画像処理で生成される画像データ２９３を格納する。ドライバプログラム２９１は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどで提供され得る。また、ドライバプログラム２９１は、提供時と同一または異なる、コンピュータ読み取り可能な記録媒体に記録された形態で使用されてもよい。
【００１５】
ＣＰＵ２１０は、ドライバプログラム２９１を実行することにより、後述する画像処理を実行する画像処理機能を含むスキャナドライバ１００として機能する。スキャナドライバ１００は、取得部１１０と、エッジ処理部１１５と、区分部１２０と、ラベリング処理部１２５と、二値化処理部１３０と、頻度率算出部１３５と、色数算出部１４０と、密度算出部１４５と、エッジ算出部１５０と、判定部１５５と、を備えている。これら機能ブロックは、後述の画像処理を実行する。特に、頻度率算出部１３５と、色数算出部１４０と、密度算出部１４５と、エッジ算出部１５０と、判定部１５５とは、後述の領域判定処理を実行する。
【００１６】
Ａ−２．画像処理：
図２は、画像処理のフローチャートである。この画像処理は、スキャンデータが表すスキャン画像に含まれるオブジェクト画像の種類を特定するための処理である。
【００１７】
図２のステップＳ１００では、取得部１１０は、処理対象とするスキャンデータを取得する。具体的には、スキャナドライバ１００は、スキャナ３００または複合機４００の画像読取部を制御して、スキャンデータを取得する。スキャンデータは、ＲＧＢ画素データによって構成されたビットマップデータである。ＲＧＢ画素データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの成分値（本実施例の各成分値は、２５６階調の階調値）を含む画素データである。色成分のうち、レッド成分をＲ成分とも呼び、グリーン成分をＧ成分とも呼び、ブルー成分をＢ成分とも呼ぶ。
【００１８】
図３は、スキャンデータが表すスキャン画像ＳＩの一例を示す図である。図３に示すように、スキャン画像ＳＩは、背景画像Ｂｇ１と、文字を表す文字オブジェクト画像Ｏｂ２と、写真を表す写真オブジェクト画像Ｏｂ３と、描画を表す描画オブジェクト画像Ｏｂ４とを含んでいる。ここで、描画オブジェクト画像は、イラスト、表、線図、模様などを含む画像である。本実施例では、背景画像Ｂｇ１は、薄いグレー色である。オブジェクト画像Ｏｂ２は、３つの文字列群Ｏｂ２ａ、Ｏｂ２ｂ、Ｏｂ２ｃを含んでいる。これら文字列群は、互いに異なる色で表される。ステップＳ１００で、取得部１１０によって取得された画像データが、スキャン画像ＳＩを表すスキャンデータであることとして、以下の画像処理を説明する。
【００１９】
図２のステップＳ１００で、スキャンデータを取得後、ステップＳ２００では、エッジ処理部１１５は、スキャンデータに対して、縦３画素×横３画素の大きさであるｓｏｂｅｌフィルタを用いたエッジ検出処理を実行して、エッジ画像ＥＧＩを表すエッジ画像データを生成する。具体的には、エッジ処理部１１５は、スキャンデータの色成分（Ｒ、Ｇ、Ｂ成分）ごとに、以下の色成分データ生成処理を実行する。すなわち、エッジ処理部１１５は、スキャン画像ＳＩの注目画素（ｘ,ｙ）に、ｓｏｂｅｌフィルタを配置する。ここで、ｘは、第１方向Ｄｘの画素位置を表し、ｙは、第１方向Ｄｘと直交する第２方向Ｄｙの画素位置を表す。エッジ処理部１１５は、処理対象とする色成分の成分値Ｐであって、注目画素（ｘ,ｙ）を含む９つの画素の成分値Ｐを用いて、以下の式（１）により、エッジ強度ＥＳ（ｘ,ｙ）を算出する。そして、エッジ処理部１１５は、算出したエッジ強度ＥＳ（x,ｙ）を、注目画素における処理対象の色成分の成分値に設定する第１処理を行う。エッジ処理部１１５は、スキャン画像ＳＩのすべての画素を注目画素に設定して、それぞれ第１処理を実行することで、処理対象の色成分に対応したエッジ画像データを生成する色成分データ生成処理を実行する。エッジ処理部１１５は、すべての色成分（Ｒ、Ｇ、Ｂ成分）に対して、色成分データ生成処理を実行するエッジ検出処理を実現する。
【００２０】
【数１】
0005888068.tif 000002
...式（１）
【００２１】
ここで、上記式（１）に示すように、９つの画素は、エッジ画像ＥＧＩにおける画素位置（ｘ，ｙ）に対応するスキャン画像ＳＩにおける画素位置（ｘ，ｙ）を中心とした隣り合う３行３列の９つの位置の画素である。上記式（１）の第１項および第２項は、９つの位置の画素の成分値に、対応する係数をそれぞれ乗じた値の和の絶対値である。上述したエッジ強度ＥＳ（x,ｙ）は、注目画素と周辺画素との間の成分値の変化の大きさで表され、式（１）の第１項は、第１方向Ｄｘの変化の大きさを算出する項であり、第２項は、第２方向Ｄｙの変化の大きさを算出する項である。なお、エッジ画像ＥＧＩの生成には、Ｓｏｂｅｌフィルタに限らず、Ｐｒｅｗｉｔｔフィルタ、Ｒｏｂｅｒｔｓフィルタなど種々のエッジ検出用フィルタが利用できる。
【００２２】
図４は、エッジ画像データが表すエッジ画像ＥＧＩの一例を示す図である。図４では、エッジ強度が所定の閾値よりも小さい画素を白で、エッジ強度が所定の閾値よりも大きい画素を黒で示している。エッジ画像ＥＧＩには、スキャン画像ＳＩの各オブジェクト画像Ｏｂ２〜Ｏｂ４のエッジＥｇ２〜Ｅｇ４が含まれていることが分かる。エッジＥｇ３は、写真オブジェクト画像Ｏｂ３のエッジを表している。エッジＥｇ４は、描画オブジェクト画像Ｏｂ４のエッジを表している。エッジＥｇ２は、エッジＥｇ２ａ、Ｅｇ２ｂ、Ｅｇ２ｃを含んでいる。これらエッジＥｇ２ａ、Ｅｇ２ｂ、Ｅｇ２ｃは、それぞれ、スキャン画像ＳＩの文字列群Ｏｂ２ａ、Ｏｂ２ｂ、Ｏｂ２ｃのエッジを表している。
【００２３】
図２のステップＳ２００で、エッジ画像データを生成した後、ステップＳ３００では、区分部１２０は、エッジ画像ＥＧＩに対して複数の単位ブロックＢ（図４）を設定する。単位ブロックＢは、エッジ画像ＥＧＩに対して格子状に配置されたブロックである。１つの単位ブロックＢは、例えば、縦Ｌ画素×横Ｌ画素（Ｌは１以上の整数）の大きさを有する。Ｌの値は、例えば、１０〜５０程度に設定される。エッジ画像ＥＧＩとスキャン画像ＳＩとは同じサイズ（縦および横の画素数が同じ）であるので、単位ブロックＢはスキャン画像ＳＩに対して設定されていると言うこともできる。
【００２４】
次いで、図２のステップＳ４００では、区分部１２０は、判定画像ＢＩを設定する。図５は、判定画像ＢＩの一例を示す図である。判定画像ＢＩを構成する画素ＢＰは、上述した複数の単位ブロックＢのそれぞれに対応している。判定画像ＢＩの各画素ＢＰの画素値としては、画素値画素値各ブロックのエッジ強度に関連する値が用いられる。判定画像ＢＩは、ステップＳ４００の段階では、すべての画素ＢＰの画素値が０に設定されている。
【００２５】
次いで、図２のステップＳ５００では、区分部１２０は、判定を行って、各単位ブロックＢを、ベタブロックと非ベタブロックとに区分する。具体的には、区分部１２０は、スキャン画像ＳＩにおける各単位ブロックＢの平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）を算出する。平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）は、エッジ画像ＥＧＩにおける単位ブロックＢ内の複数の画素の各成分（Ｒ、Ｇ、Ｂ）ごとの平均値である。そして、区分部１２０は、単位ブロックＢの平均エッジ強度と所定の基準値とを比較して、当該単位ブロックＢを、ベタブロックおよび非ベタブロックのいずれかに区分する。ベタブロックは、平均エッジ強度が所定の基準値より小さいブロックである。非ベタブロックは、平均エッジ強度が所定の基準値以上のブロックである。
【００２６】
例えば、区分部１２０は、平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）を、色成分ごとに定められた基準値（ＥＴｒ、ＥＴｇ、ＥＴｂ）と比較する。この結果、区分部１２０は、ＥＲａｖｅ＜ＥＴｒ、かつ、ＥＧａｖｅ＜ＥＴｇ、かつ、ＥＢａｖｅ＜ＥＴｂが成立する場合には、処理対象の単位ブロックＢをベタブロックに区分する。逆に、区分部１２０は、ＥＲａｖｅ≧ＥＴｒ、および、ＥＧａｖｅ≧ＥＴｇ、および、ＥＢａｖｅ≧ＥＴｂのうちの少なくとも一つが成立する場合には、処理対象の単位ブロックＢを非ベタブロックに区分する。
【００２７】
区分部１２０は、処理対象の単位ブロックＢの判定を行う度に、言い換えれば、単位ブロックＢを、ベタブロックまたは非ベタブロックに区分する度に、各単位ブロックＢに対応する画素ＢＰの画素値を、判定結果の表す値に変更する。具体的には、区分部１２０は、処理対象の単位ブロックＢをベタブロックに区分した場合には、判定画像ＢＩの対応する画素ＢＰの画素値を１に更新する。区分部１２０は、処理対象の単位ブロックＢを非ベタブロックに区分した場合には、判定画像ＢＩの対応する画素ＢＰの画素値を変更しない（すなわち、画素ＢＰの画素値は０に維持される）。
【００２８】
図５に示すように、区分部１２０がすべての単位ブロックＢに対して区分を実行した後の段階では、判定画像ＢＩの各画素ＢＰの画素値は、「０」か「１」となっている。画素値「０」は、その画素ＢＰに対応する単位ブロックＢが非ベタブロックに区分されたことを示している。画素値「１」は、その画素ＢＰに対応するブロックＢがベタブロックに区分されたことを示している。
【００２９】
図２のステップＳ５００で、ベタブロックと非ベタブロックとに区分した後、ステップＳ６００では、ラベリング処理部１２５は、スキャン画像ＳＩにおいて、ベタ領域と非ベタ領域とを特定するためのラベリング処理を実行する。具体的には、ラベリング処理部１２５は、判定画像ＢＩ（図５）において、画素値が「０」であり、互いに隣接する画素ＢＰから構成される領域を１つの非ベタ領域として特定する。また、ラベリング処理部１２５は、画素値が「１」であり、互いに隣接する画素ＢＰから構成される領域を１つのベタ領域として特定する。そして、ラベリング処理部１２５は、同じ領域に属する複数の画素ＢＰが同じ画素値を有し、互いに異なる領域に属する複数の画素ＢＰが互いに異なる画素値を有するように、判定画像ＢＩの画素値を変更する。この結果を、下記ラベル画像ＬＩとして示す。
【００３０】
図６は、ラベル画像ＬＩの一例を示す図である。ラベル画像ＬＩを構成する画素ＬＢは、上述した複数の画素ＢＰのそれぞれに対応している。図６に示すように、ラベル画像ＬＩにおいて、同じ画素値を有する画素で構成される画像領域が特定される。そして、ベタ領域及び非ベタ領域を構成する各画素ＬＢに対して、各ベタ領域及び非ベタ領域毎に識別子が付される。図６の例では、各画像領域ＰＧ１〜ＰＧ４を構成する画素ＬＢに対して、それぞれ「１」〜「４」の識別子が付されており、４つの画像領域ＰＧ１〜ＰＧ４が特定されていることが分かる。これら４つの画像領域ＰＧ１〜ＰＧ４は、エッジ画像ＥＧＩの単位ブロックＢが連結して構成される領域（ベタ領域および非ベタ領域）、言い換えれば、スキャン画像ＳＩの各画素が連結して構成される領域にそれぞれ対応する。また、画像領域ＰＧ１は、ステップＳ５００の処理で、画素値が「１」とされた画素ＢＰに対応する領域によって構成されるので、ベタ領域である。画像領域ＰＧ２〜ＰＧ４は、ステップＳ５００の処理で、画素値が「０」とされた単位ブロックＢに対応する領域によって構成されるので、非ベタ領域である。
【００３１】
この結果、スキャン画像ＳＩ（図３参照）において破線で示す画像領域Ａ２、Ａ３、Ａ４内の領域が非ベタ領域として特定され、これらの画像領域Ａ２、Ａ３、Ａ４を除いた画像領域Ａ１がベタ領域として特定される。非ベタ領域Ａ２、Ａ３、Ａ４は、それぞれ、オブジェクト画像Ｏｂ２、Ｏｂ３、Ｏｂ４に対応する領域であることが分かる。また、ベタ領域Ａ１は、背景画像Ｂｇ１に対応する領域であることが分かる。図６に示すように、互いに隣接する非ベタブロックは、１つの非ベタ領域として特定される。従って、非ベタ領域は、通常、ベタ領域に囲まれている。
【００３２】
図２のステップＳ６００で、領域ごとに識別子を付すラベリング処理を実行した後、ステップＳ７００では、判定部１５５は、スキャン画像ＳＩにおいて特定された非ベタ領域（画像領域Ａ２〜Ａ４）の中から１つの非ベタ領域を、対象領域として選択する。次いで、ステップＳ１１００では、スキャナドライバ１００は、対象領域として選択された非ベタ領域の画像の種類を判定する領域判定処理を実行する。
【００３３】
図７および図８は、領域判定処理を示すフローチャートである。図９は、領域判定処理を説明するための図である。図７のステップＳ１１０３において、二値化処理部１３０は、対象領域である非ベタ領域の周囲に位置するベタ領域（以下、単に周囲領域とも呼ぶ。）を特定する。例えば、対象領域である非ベタ領域が画像領域Ａ２（図３参照）である場合には、二値化処理部１３０は、背景画像Ｂｇ１に対応する画像領域Ａ１の全体を周囲領域として特定する。これに代えて、二値画像データ生成部１３０は、画像領域Ａ１のうちの一部の領域、例えば、対象領域である画像領域Ａ２の近傍の一部の領域を周囲領域として特定しても良い。例えば、図６のラベル画像ＬＩにおいて符号ＲＩで示す領域に対応する画像領域、すなわち、背景画像Ｂｇ１に対応する画像領域Ａ１のうち、対象領域の周囲を囲む所定幅（例えば、１つの単位ブロックＢ分の幅）の環状の領域を周囲領域としても良い。
【００３４】
次いで、図７のステップＳ１１０５では、二値化処理部１３０は、判定画像ＢＩにおいて特定した周囲領域の色成分ごとの平均階調値（ＡＲａｖｅ、ＡＧａｖｅ、ＡＢａｖｅ）を算出する。すなわち、二値化処理部１３０は、周囲領域を構成する全画素について、ＲＧＢ画素データの各成分値（階調値）の平均値を算出する。平均値に代えて、最頻値や、中間値などを採用しても良い。
【００３５】
次いで、図７のステップＳ１１０７では、二値化処理部１３０は、平均値（ＡＲａｖｅ、ＡＧａｖｅ、ＡＢａｖｅ）を用いて、対象領域の二値化を行う。すなわち、二値化処理部１３０は、対象領域を構成する各画素を「０」および「１」のいずれかに二値化することによって、対象領域を構成する各画素を、「１」に対応するオブジェクト画素と、「０」に対応する非オブジェクト画素（背景画像を表す画素に対応）とに分類する。具体的には、二値化処理部１３０は、対象領域を構成する画素ｉのＲＧＢ画素データの成分値（Ｒｉ、Ｇｉ、Ｂｉ）が、以下の式（２）〜式（４）を全て満たす場合には、画素ｉの画素値を「０」に設定し、式（２）〜式（４）のいずれかを満たさない場合には、画素ｉの画素値を「１」に設定する。
｜Ｒｉ−ＡＲａｖｅ｜＜Ｔｈ１    ...（２）
｜Ｇｉ−ＡＲａｖｅ｜＜Ｔｈ１    ...（３）
｜Ｂｉ−ＡＲａｖｅ｜＜Ｔｈ１    ...（４）
【００３６】
式（２）〜式（４）から分かるように、周囲領域の色の平均値（平均階調値）と、対象領域における画素ｉの成分値との差の絶対値が、全ての色成分について閾値Ｔｈ１より小さい場合に、画素ｉは、非オブジェクト画素に分類される。そして、少なくとも１つの色成分の当該絶対値が、閾値Ｔｈ１以上である場合に、画素ｉは、オブジェクト画素に分類される。なお、このステップＳ１１０７で二値化されて生成される画像、すなわち、オブジェクト画素と非オブジェクト画素との特定結果を表す画像を二値画像とも呼ぶ。
【００３７】
図７のステップＳ１１０７で、対象領域の二値化を行った後、ステップＳ１１１０では、頻度率算出部１３５は、対象領域内のオブジェクト画素の輝度値分布（ヒストグラム）を表す輝度値分布データを生成する。図９（ａ）は、輝度値分布を表すヒストグラムＨＧの一例を示す図である。ヒストグラムＨＧは、横軸に輝度値Ｙ（２５６階調）を取り、各輝度値を有する画素数を縦軸にプロットして得られる。頻度率算出部１３５は、全てのオブジェクト画素の輝度値Ｙを算出し、輝度値Ｙの範囲を表す階級ごとに、その階級に含まれる輝度値Ｙを有する画素数（頻度）をカウントすることで、ヒストグラムＨＧを表す輝度値分布データを生成する。本実施例では、輝度値Ｙが取り得る階調数は、２５６個である。また、図９（ａ）のヒストグラムＨＧにおける輝度値Ｙの各階級は、それぞれ２５６階調のうちの２階調を含むように設定される。従って、本実施例では、ヒストグラムにおける輝度値Ｙは、１２８個の階級で表される。このように、輝度値Ｙと、階級とは、互いに相関がある。対象領域を構成するオブジェクト画素の輝度値Ｙは、ＲＧＢ画素データ（各オブジェクト画素の３つの色成分（Ｒ成分、Ｇ成分、Ｂ成分）の階調値）を用いて、例えば、以下の式（５）によって算出される。
輝度値Ｙ=((0.298912×Ｒ)＋(0.586611×Ｇ)＋(0.114478×Ｂ))  ...（５）
【００３８】
輝度値分布データの大きさ（ビット数）は、ヒストグラムＨＧにおける輝度値Ｙの階級の数と、その階級に対応する画素数（頻度）の最大値との積によって決まる。この結果、上述のように、ヒストグラムＨＧにおいて、輝度値Ｙの各階級が、それぞれ２５６階調のうちの２階調を含むように設定することにより、輝度値Ｙの各階級が２５６階調のうちの１階調にそれぞれ対応するように設定される場合と比較して、輝度値分布データを２分の１に圧縮することができる。
【００３９】
図７のステップＳ１１１０で、対象領域内のオブジェクト画素の輝度値分布（ヒストグラム）を表す輝度値分布データを生成した後、ステップＳ１１１５では、頻度率算出部１３５は、図９（ａ）に示すように、ヒストグラムにおける輝度値Ｙの階級（階調値）をＮ（Ｎは２以上の整数）個に区分する。区分された階級（階調値）の１つの範囲を部分範囲ＢＬ（ｍ）（ｍは１以上Ｎ以下の整数の範囲で設定される変数）とも呼ぶ。具体的には、頻度率算出部１３５は、輝度値Ｙの階級「０」から、Ｊ（Ｊは２以上（Ｋ−１）以下の整数。Ｋは輝度値Ｙが取り得る全階級の数）個の階級ずつ区分していく。部分範囲ＢＬ（ｍ）は、含まれる階級が小さいほどｍの値が小さく、含まれる階級が大きいほどｍの値が大きい。ＫがＪで割りきれない場合には、最後に区分される部分範囲ＢＬ（Ｎ）に含まれる階級の数は、Ｊよりも小さい。以下では、最後に区分される部分範囲ＢＬ（Ｎ）に含まれる階級の数を特にＪ１と呼ぶ。ＫがＪで割り切れる場合には、ＪとＪ１の値は等しい。
【００４０】
本実施例では、全階級の数Ｋは、上述のように１２８に設定され、１つの部分範囲ＢＬ（ｍ）に含まれる階級の総数Ｊは、１０に設定され、部分範囲ＢＬ（ｍ）の総数Ｎは、１３に設定される。従って、本実施例では、１３個の部分範囲（部分範囲ＢＬ（１）〜部分範囲ＢＬ（１３））が、設定される。例えば、部分範囲ＢＬ（１）は、階級「０」を含む階級の範囲であり、部分範囲ＢＬ（１３）は、階級「１２８」を含む階級の範囲である。また、部分範囲ＢＬ（１）〜部分範囲ＢＬ（１２）のそれぞれに含まれる輝度値Ｙの階級の数（Ｊ）は、１０であるのに対し、最後に区分される部分範囲ＢＬ（１３）に含まれる輝度値Ｙの階級の数（Ｊ１）は、８である。なお、輝度値Ｙは、各色成分（Ｒ成分、Ｇ成分、Ｂ成分）の成分値を用いて、例えば、上記式（５）で算出される。
【００４１】
なお、本実施例では、１つの部分範囲ＢＬ（ｍ）に含まれる階級の数Ｊは、１０に設定されている。この数Ｊ「１０」は、部分範囲ＢＬ（ｍ）に含まれる輝度値Ｙの数が、スキャン画像ＳＩの中で文字を構成する複数の画素の階調値の数よりも多くなるように設定されている。一般的に、１つの部分範囲ＢＬ（ｍ）に含まれる輝度値Ｙの数Ｊを、スキャン画像ＳＩの中で文字を構成する複数の画素の階調値の数よりも多くなるように設定することが好ましい。また、部分範囲ＢＬ（ｍ）に含まれる輝度値Ｙの数Ｊは、スキャン画像ＳＩの中で単色文字を構成する複数の画素の階調値の数よりも多くなるように設定されることが特に好ましい。この理由については後述する。
【００４２】
図７のステップＳ１１１５で、ヒストグラムにおける輝度値Ｙの階級（階調値）をＮ（Ｎは２以上の整数）個に区分した後、ステップＳ１１２０では、頻度率算出部１３５は、上述した変数ｍを初期値「０」に設定する。続く、ステップＳ１１２５では、頻度率算出部１３５は、変数ｍに１を加算する。
【００４３】
次いで、図７のステップＳ１１３０では、ヒストグラムＨＧにおいて、部分範囲ＢＬ（ｍ）内の頻度の総数（画素数の総数）Ｈ（ｍ）を算出する。Ｈ（ｍ）は、部分範囲ＢＬ（ｍ）内の輝度値分布の積分値と等しい。図９（ａ）の右図（ヒストグラムＨＧにおける領域ａｒ１の拡大図）の例では、部分範囲ＢＬ（１１）内の頻度の総数Ｈ（１１）は、図のハッチング部分の面積と、等しい。
【００４４】
次いで、図７のステップＳ１１３５では、頻度率算出部１３５は、算出したＨ（ｍ）が閾値Ｔｈ２よりも大きいか否かを判定する。頻度率算出部１３５は、Ｈ（ｍ）が閾値Ｔｈ２以下の場合（ステップＳ１１３５：Ｎｏ）には、後述のステップＳ１１５０に移行する。
【００４５】
頻度率算出部１３５は、Ｈ（ｍ）が閾値Ｔｈ２よりも大きい場合（ステップＳ１１３５：Ｙｅｓ）には、続いて、部分範囲ＢＬ（ｍ）内における最大の頻度を表す最大頻度Ｍａ（ｍ）を取得し、区分面積Ｓ（ｍ）を算出する（ステップＳ１１４０）。具体的には、頻度率算出部１３５は、ｍが１から（Ｎ−１）のうちのいずれかの場合、部分範囲ＢＬ（ｍ）内の最大頻度Ｍａ（ｍ）と、部分範囲ＢＬ（ｍ）内の階級の数Ｊとを用いて、以下の式（６）により、区分面積Ｓ（ｍ）を算出する。また、頻度率算出部１３５は、ｍがＮの場合、部分範囲ＢＬ（ｍ）内の最大頻度Ｍａ（ｍ）と、部分範囲ＢＬ（ｍ）内の階級の数Ｊ１とを用いて、以下の式（７）により、区分面積Ｓ（ｍ）を算出する。式（６）、（７）に示すように、区分面積Ｓ（ｍ）は、最大頻度Ｍａ（ｍ）と、部分範囲ＢＬ（ｍ）内の階級の数（ＪまたはＪ１）との積によって表される。
Ｓ（ｍ）＝Ｍａ（ｍ）×Ｊ  ...（６）
Ｓ（ｍ）＝Ｍａ（ｍ）×Ｊ１  ...（７）
【００４６】
例えば、図９（ａ）の右図（領域ａｒ１の拡大図）に示すように、部分範囲ＢＬ（１１）内の区分面積Ｓ（１１）は、Ｍａ（１１）と、Ｊと、の積で表される。
【００４７】
図７のステップＳ１１４０で、区分面積Ｓ（ｍ）を算出した後、ステップＳ１１４５では、頻度率算出部１３５は、以下の式（８）により、部分範囲ＢＬ（ｍ）における頻度率Ｗ（ｍ）を算出する。この頻度率Ｗ（ｍ）は、部分範囲ＢＬ（ｍ）内のヒストグラムＨＧ（輝度値分布）の変化の度合いを表している。式（８）から分かるように、頻度率Ｗ（ｍ）が大きければ（頻度の総数Ｈ（ｍ）が大きければ）、部分範囲ＢＬ（ｍ）内のヒストグラムＨＧの変化の度合いが小さいと言え、逆に、頻度率Ｗ（ｍ）が小さければ（頻度の総数Ｈ（ｍ）が小さければ）、部分範囲ＢＬ（ｍ）内のヒストグラムＨＧの変化の度合いが大きいと言える。
Ｗ（ｍ）＝Ｈ（ｍ）／Ｓ（ｍ）  ...（８）
【００４８】
次いで、図７のステップＳ１１５０では、頻度率算出部１３５は、全ての部分範囲ＢＬ（ｍ）に対して処理が行われたか否か、言い換えれば、ｍ＝Ｎとなったか否かを判定する。頻度率算出部１３５は、ｍ＝Ｎとなっていない場合（ステップＳ１１５０：Ｎｏ）には、再び、ステップＳ１１２５の処理に移行する。
【００４９】
頻度率算出部１３５は、ｍ＝Ｎとなった場合（ステップＳ１１５０：Ｙｅｓ）には、続いて、算出された頻度率Ｗ（１）〜Ｗ（Ｎ）のうちの最大値を、最大頻度率Ｗに設定する（ステップＳ１１５５）。
【００５０】
次いで、図７のステップＳ１１６０では、色数算出部１４０は、上述したヒストグラムＨＧ（輝度値分布）に基づいて、対象領域におけるオブジェクト画素の有効階級の数である色数Ｃを算出する。図９（ｂ）には、色数Ｃを説明するためのヒストグラムＨＧが示されている。有効階級は、ヒストグラムＨＧの全ての階級（本実施例では、１２８個の階級）のうち、閾値Ｔｈ３以上の画素数を有する階級（図９（ｂ）のハッチングされた領域に対応する階級）である。輝度値Ｙが異なれば、その画素の色が異なるので、互いに異なる階級の数は、互いに異なる色の数（色の種類の数）を表している。図９（ｂ）の例では、色数Ｃは、Ｃ１とＣ２とＣ３との和である（Ｃ１＝Ｙ２−Ｙ１、Ｃ２＝Ｙ４−Ｙ３、Ｃ３＝Ｙ６−Ｙ５）。
【００５１】
次いで、図７のステップＳ１１７０では、密度算出部１４５は、対象領域における画素密度Ｄを算出する。具体的には、密度算出部１４５は、下記の式（９）により、画素密度Ｄを算出する。画素密度Ｄは、スキャン画像ＳＩ内のオブジェクト画像に占めるオブジェクト画素（対応する二値画像データにおける画素値が「１」である画素）の割合を示す値である。なお、式（９）において、値Ｎｏは、オブジェクト画素の画素数、値Ｐｓは、ステップＳ７００で選択した対象領域の全ての画素数である。
Ｄ＝Ｎｏ／Ｐｓ  ...（９）
【００５２】
次いで、図７のステップＳ１１８０では、エッジ算出部１５０は、エッジ評価値Ｅを算出するためのエッジ評価値算出処理を実行する。エッジ算出部１５０は、ステップＳ１１０７で生成された対象領域の二値画像を用いて、エッジ評価値Ｅを算出する。図９（ｃ）には、エッジ評価値Ｅを説明するための例として、オブジェクト画像Ｏｂ２の文字列群Ｏｂ２ａが二値化されて生成された二値画像ＢＶ２ａが示されている。二値画像ＢＶ２ａの黒い部分がオブジェクト画素ＯＰに対応する。白い部分が非オブジェクト画素ＱＰに対応する。エッジ算出部１５０は、図９（ｃ）に示すように、第１方向Ｄｘ（図では横方向）と第２方向Ｄｙ（図では縦方向）のそれぞれの方向で、オブジェクト画素ＯＰから非オブジェクト画素ＱＰに変化している部分（変化部分とも呼ぶ）ｃｈを探索していき、第１方向Ｄｘにおける変化部分の数を第１エッジ評価数Ｅｘにカウントし、第２方向Ｄｙにおける変化部分ｃｈの数を第２エッジ評価数Ｅｙにカウントする。そして、エッジ算出部１５０は、第１エッジ評価数Ｅｘおよび第２エッジ評価数Ｅｙに基づいて、エッジ評価値Ｅを算出する。図９（ｃ）の下図（二値画像ＢＶ２ａにおける領域ａｒ２の拡大図）には、変化部分ｃｈを探索することにより、第１エッジ評価数Ｅｘ、および、第２エッジ評価数Ｅｙが１カウントされる様子が示されている。エッジ評価値算出処理について、具体的に説明する。
【００５３】
図１０は、エッジ評価値算出処理のフローチャートを示す図である。図１０のステップＳ１６１０では、エッジ算出部１５０は、第１エッジ評価数Ｅｘの値を初期値０に設定し、注目画素（ｘ,ｙ）の位置を（０,０）に設定する。
【００５４】
次いで、ステップＳ１６２０では、エッジ算出部１５０は、対象領域の二値画像において、注目画素（ｘ,ｙ）の画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、注目画素（ｘ,ｙ）より第１方向Ｄｘに一つ進んだ画素（ｘ＋１,ｙ）の画素値Ｑ（ｘ＋１,ｙ）が「０」であるか否か、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈであるか否かを判定する。エッジ算出部１５０は、画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、画素値Ｑ（ｘ＋１,ｙ）が「０」であるという条件が満たされない場合、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈでない場合（ステップＳ１６２０：Ｎｏ）には、ステップＳ１６４０の処理に移行する。
【００５５】
エッジ算出部１５０は、画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、画素値Ｑ（ｘ＋１,ｙ）が「０」である場合、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈである場合（ステップＳ１６２０：Ｙｅｓ）には、第１エッジ評価数Ｅｘに１を加算する（ステップＳ１６３０）。
【００５６】
次いで、ステップＳ１６４０では、エッジ算出部１５０は画素位置を更新して（ｘ＝ｘ＋１、ｙ＝ｙ）、注目画素を第１方向Ｄｘに一つずらす処理を行う。ただし、ｘ＝（ｗｉｄｔｈ−２）（ｗｉｄｔｈは対象領域の二値画像における第１方向Ｄｘの画素数）であれば、注目画素を第１方向Ｄｘに一つずらすと、新たな注目画素が一番端に位置することになるため、ｘ＝０、ｙ＝ｙ＋１として、注目画素を第２方向Ｄｙに一つずらした行の端に移動させる。
【００５７】
次いで、ステップＳ１６５０では、エッジ算出部１５０は、ｘ＝０、かつ、ｙ＝ｈｅｉｇｈｔ（ｈｅｉｇｈｔは対象領域の二値画像における第２方向Ｄｙの画素数）であるか否か、言い換えれば、すべての行について、第１方向Ｄｘにおける変化部分ｃｈの探索が終了したか否かを判定する。エッジ算出部１５０は、ｘ＝０、かつ、ｙ＝ｈｅｉｇｈｔであるという条件が満たされない場合、言い換えれば、すべての行について、第１方向Ｄｘにおける変化部分ｃｈの探索が終了していない場合（ステップＳ１６５０：Ｎｏ）には、再び、ステップＳ１６２０に移行する。
【００５８】
エッジ算出部１５０は、ｘ＝０、かつ、ｙ＝ｈｅｉｇｈｔである場合、言い換えれば、すべての行について、第１方向Ｄｘにおける変化部分ｃｈの探索が終了した場合（ステップＳ１６５０：Ｙｅｓ）には、続いて、第２エッジ評価数Ｅｙの値を初期値０に設定し、注目画素（ｘ,ｙ）の位置を（０,０）に設定する（ステップＳ１６６０）。
【００５９】
次いで、ステップＳ１６７０では、エッジ算出部１５０は、対象領域の二値画像において、注目画素（ｘ,ｙ）の画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、注目画素（ｘ,ｙ）より第２方向Ｄｙに一つ進んだ画素（ｘ,ｙ＋１）の画素値Ｑ（ｘ,ｙ＋１）が「０」であるか否か、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈであるか否かを判定する。エッジ算出部１５０は、画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、画素値Ｑ（ｘ,ｙ＋１）が「０」であるという条件が満たされない場合、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈでない場合（ステップＳ１６７０：Ｎｏ）には、ステップＳ１６９０の処理に移行する。
【００６０】
エッジ算出部１５０は、画素値Ｑ（ｘ,ｙ）が「１」であり、かつ、画素値Ｑ（ｘ,ｙ＋１）が「０」である場合、言い換えれば、注目画素（ｘ,ｙ）が変化部分ｃｈである場合（ステップＳ１６７０：Ｙｅｓ）には、第２エッジ評価数Ｅｙに１を加算する（ステップＳ１６８０）。
【００６１】
次いで、ステップＳ１６９０では、エッジ算出部１５０は画素位置を更新して（ｙ＝ｙ＋１、ｘ＝ｘ）、注目画素を第２方向Ｄｙに一つずらす処理を行う。ただし、ｘ＝（ｈｅｉｇｈｔ−２）であれば、注目画素を第２方向Ｄｙに一つずらすと、新たな注目画素が一番端に位置することになるため、ｙ＝０、ｘ＝ｘ＋１として、注目画素を第１方向Ｄｘに一つずらした列の端に移動させる。
【００６２】
次いで、ステップＳ１７００では、エッジ算出部１５０は、ｙ＝０、かつ、ｘ＝ｗｉｄｔｈであるか否か、言い換えれば、すべての列について、第２方向Ｄｙにおける変化部分ｃｈの探索が終了したか否かを判定する。エッジ算出部１５０は、ｙ＝０、かつ、ｙ＝ｗｉｄｔｈであるという条件が満たされない場合、言い換えれば、すべての列について、第２方向Ｄｙにおける変化部分ｃｈの探索が終了していない場合（ステップＳ１７００：Ｎｏ）には、再び、ステップＳ１６７０に移行する。
【００６３】
エッジ算出部１５０は、ｙ＝０、かつ、ｙ＝ｗｉｄｔｈである場合、言い換えれば、すべての列について、第２方向Ｄｙにおける変化部分ｃｈの探索が終了した場合（ステップＳ１７００：Ｙｅｓ）には、ステップＳ１７１０にて、エッジ評価値Ｅを、下記の式（１０）により算出する。なお、式（１０）における値Ｐｓは、上述したように、ステップＳ７００で選択した対象領域の全ての画素数であり、言い換えれば、ｗｉｄｔｈとｈｅｉｇｈｔとの積である。エッジ評価値Ｅは、対象領域における単位面積（単位画素）当りのエッジ数と言うことができる。
Ｅ＝(０．５×Ｅｘ＋０．５×Ｅｙ)／Ｐｓ  ...（１０）
【００６４】
図１１は、領域判定処理におけるオブジェクト画像の種類の判定を行うための条件を表す判定テーブルを示す図である。以下では、図８のステップＳ１１８５〜ステップＳ１２５０の処理、すなわち、オブジェクト画像の種類を判定する処理について説明する。図８のステップＳ１１８５〜ステップＳ１２５０の処理は、図１１の判定テーブル２９２に対応する処理である。図７のステップＳ１１８０で、エッジ評価値Ｅを算出した後、ステップＳ１１８５では、判定部１５５は、最大頻度率Ｗが、閾値Ｗｔｈ以上か否かを判定する。判定部１５５は、最大頻度率Ｗが、閾値Ｗｔｈ以上の場合（ステップＳ１１８５：Ｙｅｓ）には、続いて、色数Ｃが、閾値Ｃｔｈ以上か否かを判定する（ステップＳ１１９０）。判定部１５５は、色数Ｃが、閾値Ｃｔｈ以上の場合（ステップＳ１１９０：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、写真画像と判定する（ステップＳ１２００）（図１１参照）。
【００６５】
一方、判定部１５５は、色数Ｃが、閾値Ｃｔｈ未満の場合（ステップＳ１１９０：Ｎｏ）には、続いて、画素密度Ｄが、閾値Ｄｔｈ以上か否かを判定する（ステップＳ１２０５）。判定部１５５は、画素密度Ｄが、閾値Ｄｔｈ以上の場合（ステップＳ１２０５：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、描画画像と判定する（ステップＳ１２１０）（図１１参照）。
【００６６】
また、判定部１５５は、画素密度Ｄが、閾値Ｄｔｈ未満の場合（ステップＳ１２０５：Ｎｏ）には、続いて、エッジ評価値Ｅが、閾値Ｅｔｈ以上か否かを判定する（ステップＳ１２１５）。判定部１５５は、エッジ評価値Ｅが、閾値Ｅｔｈ以上の場合（ステップＳ１２１５：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、文字画像と判定する（ステップＳ１２２０）（図１１参照）。
【００６７】
一方、判定部１５５は、エッジ評価値Ｅが、閾値Ｅｔｈ未満の場合（ステップＳ１２１５：Ｎｏ）には、対象領域のオブジェクト画像の種類を、描画画像と判定する（ステップＳ１２３０）。
【００６８】
ステップＳ１１８５に説明を戻す。判定部１５５は、最大頻度率Ｗが、閾値Ｗｔｈ未満の場合（ステップＳ１１８５：Ｎｏ）には、続いて、色数Ｃが、閾値Ｃｔｈ以上か否かを判定する（ステップＳ１２２５）。判定部１５５は、色数Ｃが、閾値Ｃｔｈ以上の場合（ステップＳ１２２５：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、描画画像と判定する（ステップＳ１２３０）（図１１参照）。
【００６９】
一方、判定部１５５は、色数Ｃが、閾値Ｃｔｈ未満の場合（ステップＳ１２２５：Ｎｏ）には、続いて、画素密度Ｄが、閾値Ｄｔｈ以上か否かを判定する（ステップＳ１２３５）。判定部１５５は、画素密度Ｄが、閾値Ｄｔｈ以上の場合（ステップＳ１２３５：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、描画画像と判定する（ステップＳ１２３０）（図１１参照）。
【００７０】
また、判定部１５５は、画素密度Ｄが、閾値Ｄｔｈ未満の場合（ステップＳ１２３５：Ｎｏ）には、続いて、エッジ評価値Ｅが、閾値Ｅｔｈ以上か否かを判定する（ステップＳ１２４０）。判定部１５５は、エッジ評価値Ｅが、閾値Ｅｔｈ以上の場合（ステップＳ１２４０：Ｙｅｓ）には、対象領域のオブジェクト画像の種類を、文字画像と判定する（ステップＳ１２４５）（図１１参照）。
【００７１】
一方、判定部１５５は、エッジ評価値Ｅが、閾値Ｅｔｈ未満の場合（ステップＳ１２４０：Ｎｏ）には、対象領域のオブジェクト画像の種類を、描画画像と判定する（ステップＳ１２５０）（図１１参照）。
【００７２】
図８の各ステップＳ１２００、Ｓ１２１０、Ｓ１２２０、Ｓ１２３０、Ｓ１２４５、Ｓ１２５０の処理を完了した後、図２のステップＳ１３００では、判定部１５５は、全ての非ベタ領域の処理が完了したか否かを判定する。判定部１５５は、未処理の非ベタ領域が残っている場合（ステップＳ１３００：Ｎｏ）には、再び、ステップＳ７００に移行する。判定部１５５は、全ての非ベタ領域の処理が完了した場合（ステップＳ１３００：Ｙｅｓ）には、この画像処理を終了する。この画像処理の後には、例えば、画像の種類が特定された画像領域ごとに、画像の種類に応じた画質調整処理が実行され得る。例えば、「写真画像」と特定された画像領域には、ホワイトバランス、明るさなどを調整する処理が実行され、「文字画像」と特定された画像領域には、シャープネス、コントラストを強くする処理が実行され得る。また、画像の種類が特定された画像領域ごとに、画像の種類に応じた圧縮処理を実行してもよい。
【００７３】
Ａ−３．文字画像、描画画像、写真画像の例の説明：
ここで、対象画像の画像の種類が、「文字画像」、「描画画像」、「写真画像」である非ベタ領域の例について説明する。
【００７４】
文字画像の例：
図１２は、画像の種類が「文字画像」である非ベタ領域の例について説明する図である。図１２（ａ）は、スキャン画像ＳＩ（図３）における文字オブジェクト画像Ｏｂ２を含む非ベタ領域Ａ２を示している。図１２（ｂ）は、非ベタ領域Ａ２を二値化した二値画像ＢＶ２を示している。図１２（ｃ）は、非ベタ領域Ａ２のオブジェクト画素ＯＰのヒストグラムＨＧ１を示している。
【００７５】
非ベタ領域Ａ２は、図１２（ａ）に示すように、互いに異なる色からなる３つの文字列群Ｏｂ２ａ、Ｏｂ２ｂ、Ｏｂ２ｃを含んでいる。図１２（ｃ）に示すように、画像領域Ａ２のヒストグラムＨＧ１は、３つの文字列群のそれぞれに対応する３つの輝度値のピークが形成されている。ヒストグラムＨＧ１における色数Ｃは、文字列群Ｏｂ２ａ、Ｏｂ２ｂ、Ｏｂ３ｃにそれぞれ対応する有効階級の数Ｃ３、Ｃ４、Ｃ５の和で表される。このように、典型的な文字画像は少ない種類の色で表現される場合が多いので、画像の種類が「文字画像」である場合は、「写真画像」である場合と比較して、色数Ｃが少なくなる傾向がある。また、図１２（ｂ）に示す例では、オブジェクト画素ＯＰの領域の面積は、非オブジェクト画素ＱＰの領域の面積より小さい。このように、文字は、線によって構成されることが多く、塗りつぶされた領域を含むことは少ないので、画像の種類が「文字画像」である場合は、領域全体の面積に占めるオブジェクト画像の面積の割合が比較的小さく、「写真画像」や「描画画像」と比較して、オブジェクト画素ＯＰの画素密度Ｄが小さくなる傾向がある。さらに、文字画像は、直線や曲線によって複雑に構成されるので、図１２（ｂ）のラインＬＮに示すように、二値画像ＢＶ２では、オブジェクト画素ＯＰと非オブジェクト画素ＱＰとが連続する部分（上述の変化部分ｃｈに対応）が多く出現する。従って、画像の種類が「文字画像」である場合は、「写真画像」や「描画画像」と比較して、エッジ評価値Ｅが高くなる傾向がある。
【００７６】
本実施例では、上述の領域判定処理（図８）、または、図１１の判定テーブルに示すように、色数Ｃが閾値Ｃｔｈ未満であり、かつ、画素密度Ｄが閾値Ｄｔｈ未満であり、かつ、エッジ評価値Ｅが閾値Ｅｔｈ以上である場合に、オブジェクト画像の種類が文字画像であると判定される。従って、色数Ｃが比較的少なく、画素密度Ｄが比較的小さく、さらに、エッジ評価値Ｅが比較的高いという、上述のような文字画像の特徴を有するオブジェクト画像の種類を、正しく特定することができる。
【００７７】
描画画像の例：
図１３は、画像の種類が「描画画像」である非ベタ領域の例について説明する図である。図１３（ａ）は、スキャン画像ＳＩ（図３）における描画オブジェクト画像Ｏｂ４を含む非ベタ領域Ａ４を示している。図１３（ｂ）は、非ベタ領域Ａ４を二値化した二値画像ＢＶ４を示している。図１３（ｃ）は、非ベタ領域Ａ４のオブジェクト画素ＯＰのヒストグラムＨＧ２を示している。
【００７８】
図１３（ａ）に示す描画画像は、色が徐々に変化するような領域を含む。このような描画画像では、色が徐々に変化しつつも、同じ色が使われやすく、文字画像よりも多数の色を含み、ヒストグラム（輝度値分布）の変化の度合いが局所的に大きくなる場合が想定される。図１３（ｃ）の右図（領域ａｒ３の拡大図）には、ヒストグラムＨＧ２の部分範囲ＢＬ（９）における頻度率Ｗ（９）が小さいこと、すなわち、ヒストグラムＨＧ２の変化の度合いが局所的に大きいことが示されている。なお、ヒストグラムＨＧ２における色数Ｃは、有効階級の数Ｃ６、Ｃ７、Ｃ８、Ｃ９の和で表される。
【００７９】
そこで、本実施例では、上述の領域判定処理（図８）、または、図１１の判定テーブル２９２に示すように、最大頻度率Ｗが閾値Ｗｔｈ未満であり、かつ、色数Ｃが閾値Ｃｔｈ以上である場合に、オブジェクト画像の種類が描画画像であると判定される。従って、ヒストグラムＨＧ２（輝度値分布）の変化の度合いが局所的に大きいが、色数Ｃが比較的多い上述のような描画画像の特徴を有するオブジェクト画像の種類を、正しく特定することができる。
【００８０】
写真画像の例：
図１４は、画像の種類が「写真画像」である非ベタ領域の例について説明する図である。図１４（ａ）は、スキャン画像ＳＩ（図３）における写真オブジェクト画像Ｏｂ３を含む非ベタ領域Ａ３を示している。図１４（ｂ）は、非ベタ領域Ａ３を二値化した二値画像ＢＶ３を示している。図１４（ｃ）は、非ベタ領域Ａ３のオブジェクト画素ＯＰのヒストグラムＨＧ３を示している。図１４（ａ）に示す写真画像は、露出アンダーである暗い領域を含む。
【００８１】
典型的な写真画像は、文字画像および描画画像と比較して、多数の色を含む傾向がある。従って、画像の種類の判定をし易かった。
【００８２】
しかしながら、図１４（ａ）に示す写真画像では、典型的な写真画像と比較して、色数Ｃが少ない場合があるので、画像の種類の判定が難しい場合がある。このような問題は、写真画像が露出アンダーである暗い領域を含む場合に限らず、写真画像が、露出オーバーである明るい領域を含む場合や、同じような色の背景を含む場合においても、同様に生じ得る。なお、ヒストグラムＨＧ３における色数Ｃは、有効階級の数Ｃ１０、Ｃ１１の和で表される。
【００８３】
一方で、図１４（ａ）に示すような暗い領域を含むような写真画像であっても、典型的な写真画像と同様に、一部の部分範囲ＢＬに限れば、ヒストグラム（輝度値分布）の変化の度合いが比較的小さい場合がある。図１４（ｃ）の右図（領域ａｒ４の拡大図）には、ヒストグラムＨＧ３の部分範囲ＢＬ（７）における頻度率Ｗ（７）が大きいこと、すなわち、ヒストグラムＨＧ３の変化の度合いが局所的に小さいことが示されている。
【００８４】
そこで、本実施例では、上述の領域判定処理（図８）、または、図１１の判定テーブル２９２に示すように、最大頻度率Ｗが閾値Ｗｔｈ以上であり、かつ、色数Ｃが閾値Ｃｔｈ以上である場合に、オブジェクト画像の種類が写真画像であると判定される。従って、ヒストグラムＨＧ２（輝度値分布）の変化の度合いが局所的に大きくなるような写真画像であっても、オブジェクト画像の種類を、正しく特定することができる。
【００８５】
本実施例では、領域判定処理（図７、図８）で、対象領域内の複数の画素（オブジェクト画素）が表す複数の輝度値Ｙ（０〜２５５）のうち、最小の輝度値Ｙ「０」と最大の輝度値Ｙ「２５５」との間に含まれる階調値の数よりも少ない階調値を含む部分範囲ＢＬ（ｍ）（図９（ａ）参照）における最大頻度率Ｗが閾値Ｗｔｈ以上の場合（図８：ステップＳ１１８５）に、オブジェクト画像の種類が写真画像と判定され得る。言い換えれば、部分範囲ＢＬ（ｍ）内のヒストグラム（輝度値分布）における頻度（画素数）の変化の度合いが基準よりも小さい場合に、オブジェクト画像の種類が写真画像と判定され得る。このように、オブジェクト画像が写真画像であるか否かの判定に、部分範囲ＢＬ（ｍ）内のヒストグラム（輝度値分布）における頻度（画素数）の変化の度合いが基準よりも小さいことを要する条件が利用されるので、オブジェクト画像が写真画像であるか否かの判定精度を向上させることができる。すなわち、オブジェクト画像の種類の判定精度を向上させることができる。
【００８６】
本実施例では、領域判定処理（図８）で、オブジェクト画像が、写真画像であると判定され得る条件として、複数の部分範囲ＢＬのうち、最大頻度率Ｗを要する部分範囲ＢＬ（ｍ）内の頻度率Ｗ（ｍ）が閾値Ｗｔｈ以上であることが条件とされる。こうすれば、ヒストグラム（輝度値分布）における頻度（画素数）の変化の度合いが局所的に大きくなる部分範囲ＢＬ（ｍ）を用いることなく、写真画像の判定を行うことができるので、オブジェクト画像が、上述した典型的ではない写真画像（ヒストグラム（輝度値分布）の変化の度合いが局所的に大きくなるような写真画像）であっても、精度よく判定することができる。
【００８７】
本実施例では、領域判定処理（図７）のステップＳ１１１５で設定される部分範囲ＢＬ（ｍ）のうち、少なくとも部分範囲ＢＬ（１）〜部分範囲ＢＬ（Ｎ−１）に含まれる輝度値Ｙの数は、互いに同じである。こうすれば、例えば、頻度率Ｗ（ｍ）を導くためのＳ（ｍ）やＨ（ｍ）を算出する場合に、階級の数を固定することができるので、頻度率Ｗ（ｍ）を算出する処理を含む領域判定処理の実装を容易にすることができる。
【００８８】
本実施例では、領域判定処理（図７）で、画素数の総数Ｈ（ｍ）が閾値Ｔｈ２以下の部分範囲ＢＬ（ｍ）を除いて（図８：ステップＳ１１３５）、画素数の総数Ｈ（ｍ）が閾値Ｔｈ２より多い部分範囲ＢＬ（ｍ）を用いて、最大頻度率Ｗが算出される。すなわち、画素数の総数Ｈ（ｍ）が閾値Ｔｈ２より多い部分範囲ＢＬ（ｍ）を用いて、写真画像の判定が行われる。こうすれば、画素数の総数Ｈ（ｍ）が閾値Ｔｈ２以下である部分範囲ＢＬ（ｍ）、すなわち、画像の特徴を表していない部分範囲ＢＬ（ｍ）を用いることなく、最大頻度率Ｗが算出されるので、最大頻度率Ｗの算出精度を高めることができる。
【００８９】
本実施例では、領域判定処理（図７、図８）で、ステップＳ１１４０で算出される区分面積Ｓ（ｍ）と、ステップＳ１１３０で算出される画素数（頻度）の総数Ｈ（ｍ）と、を用いて最大頻度率Ｗが算出され、オブジェクト画像が写真画像か否かの判定が行われる。こうすれば、ヒストグラム（輝度値分布）が細かく変化している場合（例えば、頻度がキザキザ状に変化する場合）であっても、ヒストグラム（輝度値分布）をスムージングする処理などをすることなく、区分面積Ｓ（ｍ）と、画素数（頻度）の総数Ｈ（ｍ）とから、適切に最大頻度率Ｗを算出することができる。この結果、最大頻度率Ｗを用いて、オブジェクト画像が写真画像か否かの判定を適切に行うことができる。
【００９０】
オブジェクト画像が、文字画像の場合には、変化の度合いが局所的に高いヒストグラム（輝度値分布）が形成され得る。そこで、本実施例では、部分範囲ＢＬ（ｍ）に含まれる輝度値Ｙの数は、スキャン画像ＳＩの中で文字を構成する複数の画素の階調値の数よりも多くなるように設定される。こうすれば、オブジェクト画像が、文字画像の場合に、文字画像によって表されるヒストグラム（輝度値分布）のピークの幅（ピークにおける最大の輝度値Ｙと最小の輝度値Ｙの幅）よりも、部分範囲ＢＬ（ｍ）が広いので、文字画像から値の小さな最大頻度率Ｗを算出することができ、文字画像を他の種類の画像と誤判定することを抑制することができる。
【００９１】
本実施例では、領域判定処理（図７、図８）のステップＳ１２１５およびステップＳ１２４０で、エッジ評価値Ｅが、閾値Ｅｔｈ以上の場合には、対象領域のオブジェクト画像の種類が、文字画像と判定される。また、エッジ評価値Ｅが、閾値Ｅｔｈ未満の場合には、対象領域のオブジェクト画像の種類が、文字画像とは判定されず、描画画像と判定される。こうすれば、文字画像を適切に判定することができる。なお、描画画像は非文字画像の例である。
【００９２】
また、１つの部分範囲ＢＬ（ｍ）に含まれる階級の数Ｊ「１０」は、通常は、写真画像の輝度値が分布する範囲の最小の輝度値（例えば、３０）と最大の輝度値（例えば、２３０）との間に含まれる輝度値の数（例えば、２００）に対応する階級の数よりも少ない。一般的には、１つの部分範囲ＢＬ（ｍ）に含まれる輝度値の数（すなわち、階級の数Ｊ）は、一般的な写真画像（写真と判定すべき画像）の輝度値が分布する範囲の最小の輝度値（最小の階級）と最大の輝度値（最大の階級）との間に含まれる輝度値の数（階級の数）よりも少ないことが好ましい。こうすれば、頻度率算出部１３５は、複数の部分範囲ＢＬ（ｍ）のうちの少なくとも１つの部分範囲ＢＬ（ｍ）で、ヒストグラム（輝度値分布）における画素数の変化の度合いが小さい部分を、検出することが可能となる。なお、１つの部分範囲ＢＬ（ｍ）に含まれる階級の数Ｊとしては、静的に予め決められた値を採用可能である。
【００９３】
本実施例において、図８の領域判定処理におけるステップＳ１１９０の処理が、写真条件の例である。図７のステップＳ１１３５で用いられる閾値Ｔｈ２が、第１基準値の例である。図８の領域判定処理におけるステップＳ１２１５、ステップＳ１２４０の処理が、文字条件の例である。図８のステップＳ１２１５、ステップＳ１２４０で用いられる閾値Ｅｔｈが、第２基準値の例である。スキャン画像ＳＩの画素の階調値から算出される値（例えば、輝度値）も、画素の階調値の一種である。すなわち、上記実施例の輝度値は、階調値の例である。
【００９４】
Ｂ．変形例：
（１）上記実施例では、領域判定処理（図７、図８）で、オブジェクト画像が、写真画像であると判定され得る条件として、複数の部分範囲ＢＬのうち、最大頻度率Ｗを有する部分範囲ＢＬ（ｍ）内の頻度率Ｗ（ｍ）が閾値Ｗｔｈ以上であることが条件とされるが、これに限られるものではない。例えば、オブジェクト画像が、写真画像であると判定され得る条件として、複数の部分範囲ＢＬ（ｍ）のうち、少なくとも１つの部分範囲ＢＬ（ｍ）におけるＷ（ｍ）が閾値Ｗｔｈ以上であることを条件としてもよい。すなわち、オブジェクト画像が、写真画像であると判定され得る条件として、少なくとも１つの部分範囲ＢＬ（ｍ）内のヒストグラム（輝度値分布）における頻度（画素数）の変化の度合いが基準よりも小さいことを条件としてもよい。こうすれば、ヒストグラム（輝度値分布）における頻度（画素数）の変化の度合いが局所的に大きくなる部分範囲ＢＬ（ｍ）を用いることなく、写真画像の判定を行うことができるので、オブジェクト画像が、上述した典型的ではない写真画像（ヒストグラム（輝度値分布）の変化の度合いが局所的に大きくなるような写真画像）であっても、精度よく判定することができる。
【００９５】
また、オブジェクト画像が、写真画像であると判定され得る条件として、複数の部分範囲ＢＬ（ｍ）のうち、頻度率Ｗ（ｍ）が閾値Ｗｔｈ以上である部分範囲ＢＬ（ｍ）の数が、所定値よりも多いことを条件としてもよい。
【００９６】
（２）上記実施例では、判定部１５５は、領域判定処理（図７、８）で、部分範囲ＢＬ（ｍ）における頻度率Ｗ（ｍ）が閾値Ｗｔｈ以上である場合（図８：ステップＳ１１８５：Ｙｅｓ）に、オブジェクト画像の種類が写真画像と判定され得るが、これに限られるものではない。例えば、判定部１５５は、１つの部分範囲ＢＬ（ｍ）における最大の頻度（画素数）から最小の頻度（画素数）を引いた値である最大変化値が、閾値以下であることを、オブジェクト画像の種類が写真画像と判定するための条件として、採用してもよい。また、判定部１５５は、１つの部分範囲ＢＬ（ｍ）における頻度（画素数）の分散が、閾値以下であることを、オブジェクト画像の種類が写真画像と判定するための条件として、採用してもよい。
【００９７】
一般的に言えば、部分範囲ＢＬ（ｍ）内のヒストグラム（輝度値分布）における画素数の変化の度合いが基準よりも小さいことを要する写真条件が満たされる場合に、オブジェクト画像の種類が写真画像と判定してもよい。
【００９８】
（３）上記実施例では、判定部１５５は、上述のエッジ評価値算出処理（図１０）によって算出される、対象領域における単位面積当りのエッジ数を、エッジ評価値Ｅとして、領域判定処理（図８）において用いるようにしているが、これに限られるものではない。例えば、判定部１５５は、第１エッジ評価数Ｅｘと、第２エッジ評価数Ｅｙとの少なくとも一方を、エッジ評価値Ｅとして用いるようにしてもよい。
【００９９】
（４）上記実施例では、ヒストグラムにおいて、輝度値Ｙの各階級が、それぞれ２５６階調のうちの２階調を含むように設定されているが、輝度値Ｙの各階級が、それぞれ２５６階調のうちの３階調以上を含むように設定されてもよい。こうすれば、ヒストグラムを表す輝度値分布出データの圧縮率を高めることができる。
【０１００】
（５）上記実施例では、スキャナドライバ１００の画像処理機能は、計算機２００によって実現されているが、これに代えて、複合機、デジタルカメラ、スキャナなどによって実現されてもよい。また、当該画像処理機能は、１つの装置で実現されてもよいし、これに代えて、ネットワークを介して接続される複数の装置によって、実現されても良い。この場合には、当該画像処理機能を実現する複数の装置を備えるシステムが、画像処理装置に相当する。
【０１０１】
（６）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１０２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１０３】
２００...計算機、２１０...ＣＰＵ、２４０...揮発性記憶装置、２７０...操作部、２８０...通信部、２９０...不揮発性記憶装置、３００...スキャナ、４００...複合機
【図１】
0005888068.tif 000003
【図２】
0005888068.tif 000004
【図４】
0005888068.tif 000005
【図５】
0005888068.tif 000006
【図６】
0005888068.tif 000007
【図７】
0005888068.tif 000008
【図８】
0005888068.tif 000009
【図９】
0005888068.tif 000010
【図１０】
0005888068.tif 000011
【図１１】
0005888068.tif 000012
【図１３】
0005888068.tif 000013
【図３】
0005888068.tif 000014
【図１２】
0005888068.tif 000015
【図１４】
0005888068.tif 000016