(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
文字を含む対象画像を表す対象画像データを取得する対象画像取得部であって、前記対象画像データは、表色系を構成する複数の成分のそれぞれに対応する複数の成分画像データを含む、前記対象画像取得部と、
前記対象画像データを用いて、前記対象画像内の文字を表す二値画像データを生成する生成部と、
を備え、
前記生成部は、
前記対象画像内の背景の色を表す背景色値を特定する背景色特定部であって、前記背景色値は、前記複数の成分の値で構成される、前記背景色特定部と、
前記対象画像内の文字の色を表す文字色値を特定する文字色特定部であって、前記文字色値は、前記複数の成分の値で構成される、前記文字色特定部と、
前記背景色値と前記文字色値との差分を取得する差分取得部であって、前記差分は、前記複数の成分に対応する複数の成分差分を含む、前記差分取得部と、
前記複数の成分画像データの中から、前記複数の成分のうちの１つの特定成分に対応する１つの特定成分画像データを選択する選択部であって、前記特定成分は、前記複数の成分差分のうちの最大の成分差分に対応する成分である、前記選択部と、
１つの前記特定成分画像データに対して二値化処理を実行して、１つの前記二値画像データを生成する二値化処理部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記生成部は、さらに、
前記背景色値を構成する前記特定成分の値と、前記文字色値を構成する前記特定成分の値と、を用いて、二値化閾値を決定する閾値決定部を備え、
前記二値化処理部は、前記二値化閾値を用いて、前記特定成分に対応する１つの前記特定成分画像データに対する前記二値化処理を実行する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記生成部は、さらに、
前記対象画像を構成する複数の画素のうち、前記背景色値を含む所定範囲の色値を有する画素を除いた一部の画素群を特定する画素群特定部を備え、
前記文字色特定部は、前記画素群の一部の複数の画素を用いて、前記文字色値を特定する、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、さらに、
前記対象画像取得部は、親画像データによって表わされる親画像のうちの一部である前記対象画像を表す前記対象画像データを取得し、
前記背景色特定部は、前記親画像データのうち、前記対象画像データとは異なるデータを用いて前記背景色値を特定する、画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記文字色特定部は、前記背景色値を用いて、前記文字色値を特定する、画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、さらに、
前記二値画像データと、前記対象画像データと、を用いて、背景画像データを生成する背景画像生成部と、
前記二値画像データと、前記文字色値と、前記背景画像データと、を用いて、前記対象画像を再現するための画像ファイルを生成する画像ファイル生成部と、
を備える、画像処理装置。
【請求項７】
画像処理プログラムであって、
文字を含む対象画像を表す対象画像データを取得する対象画像取得機能であって、前記対象画像データは、表色系を構成する複数の成分のそれぞれに対応する複数の成分画像データを含む、前記対象画像取得機能と、
前記対象画像データを用いて、前記対象画像内の文字を表す二値画像データを生成する生成機能と、
をコンピュータに実現させ、
前記生成機能は、
前記対象画像内の背景の色を表す背景色値を特定する背景色特定機能であって、前記背景色値は、前記複数の成分の値で構成される、前記背景色特定機能と、
前記対象画像内の文字の色を表す文字色値を特定する文字色特定機能であって、前記文字色値は、前記複数の成分の値で構成される、前記文字色特定機能と、
前記背景色値を構成する値と前記文字色値を構成する値との差分を取得する差分取得機能であって、前記差分は、前記複数の成分にそれぞれ対応する成分差分を含む、前記差分取得機能と、
前記複数の成分画像データの中から、前記複数の成分のうちの１つの特定成分に対応する１つの特定成分画像データを選択する選択機能であって、前記特定成分は、前記複数の成分差分のうちの最大の成分差分に対応する成分である、前記選択機能と、
１つの前記特定成分画像データに対して二値化処理を実行して、１つの前記二値画像データを生成する二値化処理機能と、
を備える、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字を含む画像を表す画像データを用いる画像処理に関する。。
【背景技術】
【０００２】
文字を含む対象画像を表す対象画像データを用いて、文字を適切に表す二値画像データを生成する技術が求められている。当該二値画像データは、対象画像データの圧縮や文字認識処理（ＯＣＲ処理）のために、有効に利用することができる。例えば、ＲＧＢ画像データに対して色成分ごとに二値化を行い、３つの色成分の二値データの論理和を取得することによって二値画像データを生成する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３３３０２２号公報
【特許文献２】特開平９−９７３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、文字の色について十分に考慮されているとは言えず、文字の色によっては、文字を表す適切な二値画像データを生成できない可能性があった。
【０００５】
本発明の主な利点は、文字を含む画像を表す画像データを用いて、文字を表す適切な二値画像データを生成できる新たな技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、文字を含む対象画像を表す対象画像データを取得する対象画像取得部であって、前記対象画像データは、表色系を構成する複数の成分のそれぞれに対応する複数の成分画像データを含む、前記対象画像取得部と、前記対象画像データを用いて、前記対象画像内の文字を表す二値画像データを生成する生成部と、を備え、前記生成部は、前記対象画像内の背景の色を表す背景色値を特定する背景色特定部であって、前記背景色値は、前記複数の成分の値で構成される、前記背景色特定部と、前記対象画像内の文字の色を表す文字色値を特定する文字色特定部であって、前記文字色値は、前記複数の成分の値で構成される、前記文字色特定部と、前記背景色値を構成する値と前記文字色値を構成する値との差分を取得する差分取得部であって、前記差分は、前記複数の成分にそれぞれ対応する成分差分を含む、前記差分取得部と、前記複数の成分画像データの中から、前記複数の成分のうちの１つの特定成分に対応する１つの特定成分画像データを選択する選択部であって、前記特定成分は、前記複数の成分差分のうちの最大の成分差分に対応する成分である、前記選択部と、１つの前記特定成分画像データに対して二値化処理を実行して、１つの前記二値画像データを生成する二値化処理部と、を備える、画像処理装置。
【０００８】
上記構成によれば、背景色値を構成する値と文字色値を構成する値との差分が最大である成分に対応する１つの特定成分画像データのみを用いて、１つの二値画像データを生成する。この結果、文字を適切に表す二値画像データを生成することができる。
【０００９】
［適用例２］
適用例１に記載の画像処理装置であって、
前記生成部は、さらに、
前記背景色値を構成する前記特定成分の値と、前記文字色値を構成する前記特定成分の値と、を用いて、二値化閾値を決定する閾値決定部を備え、
前記二値化処理部は、前記二値化閾値を用いて、前記特定成分に対応する１つの前記特定成分画像データに対する前記二値化処理を実行する、画像処理装置。
［適用例３］
適用例１または適用例２に記載の画像処理装置であって、
前記生成部は、さらに、
前記対象画像を構成する複数の画素のうち、前記背景色値を含む所定範囲の色値を有する画素を除いた一部の画素群を特定する画素群特定部を備え、
前記文字色特定部は、前記画素群の一部の複数の画素を用いて、前記文字色値を特定する、画像処理装置。
［適用例４］
適用例１ないし適用例３のいずれかに記載の画像処理装置であって、さらに、
前記対象画像取得部は、親画像データによって表わされる親画像のうちの一部である前記対象画像を表す前記対象画像データを取得し、
前記背景色特定部は、前記親画像データのうち、前記対象画像データとは異なるデータを用いて前記背景色値を特定する、画像処理装置。
［適用例５］
適用例１ないし適用例４のいずれかに記載の画像処理装置であって、
前記文字色特定部は、前記背景色値を用いて、前記文字色値を特定する、画像処理装置。
本発明は、種々の形態で実現することが可能であり、例えば、上記装置の機能を実現する方法、上記装置の機能を実現するコンピュータプログラム、当該コンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置としての計算機２００の構成を示すブロック図。
【図２】画像処理のフローチャート。
【図３】スキャンデータが表すスキャン画像ＳＩの一例を示す図。
【図４】エッジ画像データが表すエッジ画像ＥＧＩの一例を示す図。
【図５】スキャン画像ＳＩ（図３）に対応する二値画像データの一例を示す図。
【図６】オブジェクトラベリング処理のフローチャート。
【図７】オブジェクトラベリング処理の説明図。
【図８】輝度分布を表すヒストグラムの一例を示す図。
【図９】判定テーブル２９２の一例を示す図。
【図１０】圧縮画像生成処理のフローチャート。
【図１１】圧縮画像生成処理の説明図。
【図１２】文字二値データ生成処理のフローチャート。
【図１３】文字オブジェクト画像の一例を示す図。
【図１４】文字色特定処理のフローチャート。
【図１５】文字オブジェクト画像のヒストグラムの一例を示す図。
【図１６】使用成分の選択について説明する図。
【図１７】二値化閾値決定処理のフローチャート。
【図１８】実施例の効果を説明する図。
【図１９】文字の鮮鋭度と閾値ＴＨとの関係を説明する図。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１．画像処理装置の構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、実施例における画像処理装置としての計算機２００の構成を示すブロック図である。
【００１２】
計算機２００は、例えば、パーソナルコンピュータであり、ＣＰＵ２１０と、ＲＯＭとＲＡＭとを含む内部記憶装置２４０と、マウスやキーボードなどの操作部２７０と、外部装置と通信を行うための通信部２８０と、ハードディスクドライブなどの外部記憶装置２９０と、を備えている。
【００１３】
計算機２００は、通信部２８０を介して、外部装置であるスキャナ３００と複合機４００と通信可能に接続されている。スキャナ３００は、光学的に原稿を読み取ることによってスキャンデータを取得する画像読取装置である。複合機４００は、光学的に原稿を読み取ることによってスキャンデータを取得する画像読取部を備えている。
【００１４】
内部記憶装置２４０には、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２４１が設けられている。外部記憶装置２９０は、ドライバプログラム２９１と、後述する画像処理において参照される判定テーブル２９２と、を格納している。ドライバプログラム２９１は、ＣＤ−ＲＯＭなどに格納されて提供される。
【００１５】
ＣＰＵ２１０は、ドライバプログラム２９１を実行することにより、スキャナドライバ１００として機能する。スキャナドライバ１００は、スキャンデータに対して後述する画像処理を実行して高圧縮ＰＤＦファイルを生成する。スキャナドライバ１００は、スキャンデータ取得部１１０と、領域特定部１２０と、文字二値画像生成部１３０とを備えている。
【００１６】
領域特定部１２０は、後述するように、スキャンデータを用いて文字を含む領域に対応する画像（文字オブジェクト画像）を特定して、当該文字オブジェクト画像を表す部分画像データを取得する。
【００１７】
文字二値画像生成部１３０は、仮特定部１３１と、背景色特定部１３２と、文字色特定部１３３と、差分取得部１３４と、選択部１３５と、特徴値決定部１３６と、閾値決定部１３７と、二値化処理部１３８と、を備えている。文字二値画像生成部１３０は、領域特定部１２０によって取得された部分画像データを用いて、文字二値データを生成する。
【００１８】
Ａ−２．画像処理：
図２は、画像処理のフローチャートである。
ステップＳ１００では、スキャナドライバ１００のスキャンデータ取得部１１０は、処理対象のスキャンデータを取得する。具体的には、スキャンデータ取得部１１０は、スキャナ３００または複合機４００の画像読取部を制御して、スキャンデータを取得する。スキャンデータは、ＲＧＢ画素データによって構成されたビットマップデータである。ＲＧＢ画素データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの成分値（本実施例の各成分値は、２５６階調の階調値）を含む画素データである。
【００１９】
図３は、スキャンデータが表すスキャン画像ＳＩの一例を示す図である。このスキャン画像ＳＩは、背景画像Ｂｇ１と、文字を表す文字オブジェクトＯｂ２と、写真を表す写真オブジェクトＯｂ３と、描画を表す描画オブジェクトＯｂ４とを含んでいる。ここで、描画オブジェクトは、イラスト、表、線図、模様などを表すオブジェクトである。文字オブジェクトＯｂ２は、３行分の文字を含んでいる。３行の文字群は、行ごとに色が異なっている。
【００２０】
ステップＳ１５０（図２）では、領域特定部１２０は、スキャンデータを用いて、エッジ画像ＥＧＩを表すエッジ画像データを作成する。エッジ画像データは、スキャンデータに含まれる複数の画素の各成分値に対して、ｓｏｂｅｌフィルタを適用して得られる。エッジ画像データは、スキャンデータと同数の画素データを含む。エッジ画像データの各画素データは、スキャン画像ＳＩの対応する画素のエッジ強度をＲ、Ｇ、Ｂの各成分値についてそれぞれ表したデータである。具体的には、エッジ画像ＥＧＩにおける画素位置（ｘ，ｙ）の画素の所定の成分値Ｓ（ｘ，ｙ）は、スキャン画像ＳＩにおける９つの画素の成分値Ｐを用いて、以下の式（１）によって算出される。
【００２１】
【数１】
0005958023.tif 000002
...式（１）
【００２２】
ここで、上記式（１）に示すように、９つの画素は、エッジ画像ＥＧＩにおける画素位置（ｘ，ｙ）に対応するスキャン画像ＳＩにおける画素位置（ｘ，ｙ）を中心とした上下左右の９つの位置の画素である。上記式（１）の第１項および第２項は、９つの位置の画素の成分値に、対応する係数をそれぞれ乗じた値の和の絶対値である。なお、エッジ画像ＥＧＩの作成には、Ｓｏｂｅｌフィルタに限らず、Ｐｒｅｗｉｔｔフィルタ、Ｒｏｂｅｒｔｓフィルタなど種々のエッジ検出用フィルタが利用できる。エッジ強度は、注目画素と周辺画素との間の成分値の変化の大きさ（微分値）で表され、式（１）の第１項は、横方向の微分を算出する項であり、第２項は、縦方向の微分を算出する項である。
【００２３】
図４は、エッジ画像データが表すエッジ画像ＥＧＩの一例を示す図である。なお、図４では、便宜上、エッジ強度が小さい画素を白で、エッジ強度が大きい画素を黒で示している。エッジ画像ＥＧＩには、スキャン画像ＳＩの各オブジェクトＯｂ２〜Ｏｂ４のエッジＥｇ２〜Ｅｇ４が含まれていることが解る。
【００２４】
ステップＳ２００では、領域特定部１２０は、エッジ画像ＥＧＩに対して複数のブロックＢ（図４）を設定する。ブロックＢは、エッジ画像ＥＧＩに対して格子状に配置されたブロックである。１つのブロックＢは、例えば、縦Ｎ画素×横Ｎ画素（Ｎは所定の自然数）の大きさを有する。Ｎの値は、例えば、１０〜５０程度に設定される。エッジ画像ＥＧＩとスキャン画像ＳＩとは同じサイズ（縦および横の画素数が同じ）であるので、ブロックＢはスキャン画像ＳＩに対して設定されていると言うこともできる。
【００２５】
ステップＳ２５０では、領域特定部１２０は、ブロック単位でベタ領域と非ベタ領域とを特定する。具体的には、領域特定部１２０は、スキャン画像ＳＩにおける各ブロックＢの平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）を算出する。平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）は、エッジ画像ＥＧＩにおけるブロックＢ内の複数の画素の各成分値（Ｒ、Ｇ、Ｂ）の平均値である。そして、領域特定部１２０は、ブロックＢの平均エッジ強度と所定の基準値とを比較して、当該ブロックＢを、ベタブロックおよび非ベタブロックのいずれかに分類する。ベタブロックは、平均エッジ強度が所定の基準値より小さいブロックである。非ベタ領域は、平均エッジ強度が所定の基準値以上である領域である。例えば、領域特定部１２０は、平均エッジ強度（ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅ）を、成分ごとに定められた基準値（ＥＴｒ、ＥＴｇ、ＥＴｂ）と比較する。この結果、領域特定部１２０は、ＥＲａｖｅ＜ＥＴｒ、かつ、ＥＧａｖｅ＜ＥＴｇ、かつ、ＥＢａｖｅ＜ＥＴｂが成立する場合には、領域特定部１２０は、処理対象のブロックＢをベタブロックに分類する。逆に、ＥＲａｖｅ≧ＥＴｒ、および、ＥＧａｖｅ≧ＥＴｇ、および、ＥＢａｖｅ≧ＥＴｂのうちの少なくとも一つが成立する場合には、領域特定部１２０は、処理対象のブロックＢを非ベタブロックに分類する。
【００２６】
領域特定部１２０は、１または複数の非ベタブロックで構成される非ベタ領域と、１または複数のベタブロックで構成されるベタ領域と、を特定する。具体的には、領域特定部１２０は、互いに隣接する複数の非ベタブロックを連結して、１つの非ベタ領域として特定する。また、領域特定部１２０は、周囲を全てベタブロックで囲まれた１つの非ベタブロックを、１つの非ベタ領域として特定する。同様に、領域特定部１２０は、互いに隣接する複数のベタブロックを連結して、１つのベタ領域として特定する。また、領域特定部１２０は、周囲を全て非ベタブロックで囲まれた１つのベタブロックを、１つのベタ領域として特定する。
【００２７】
この結果、スキャン画像ＳＩ（図３）において破線で示す領域Ａ２、Ａ３、Ａ４内のブロックＢが非ベタ領域として特定され、これらの領域Ａ２、Ａ３、Ａ４を除いた領域Ａ１がベタ領域として特定される。非ベタ領域Ａ２、Ａ３、Ａ４は、それぞれ、オブジェクトＯｂ２、Ｏｂ３、Ｏｂ４に対応する領域であることが解る。また、ベタ領域Ａ１は、背景画像Ｂｇ１に対応する領域であることが解る。上述したように互いに隣接する非ベタブロックは、１つの非ベタ領域として特定されるために、非ベタ領域は、通常、ベタ領域に囲まれている。
【００２８】
ステップＳ３００では、領域特定部１２０は、スキャン画像ＳＩにおいて、非ベタ領域の周囲を囲むベタ領域の画素のＲＧＢの各成分値を用いて、非ベタ領域を二値化するための二値化基準値を、成分ごとに特定する。図３の例では、各非ベタ領域Ａ２〜Ａ４は、１つのベタ領域Ａ１に囲まれているので、各非ベタ領域Ａ２〜Ａ４を二値化するための二値化基準値は、ベタ領域Ａ１の画素の成分値を用いて特定される。具体的には、領域特定部１２０は、ベタ領域Ａ１の各成分の平均値（ＢＣＲ、ＢＣＧ、ＢＣＢ）を二値化基準値として算出する。すなわち、領域特定部１２０は、ベタ領域Ａ１を構成する全画素について、各成分値の平均値（平均成分値）を算出する。なお、二値化基準値としては、各成分の平均値に代えて、各成分の最頻値や、各成分の中間値などが採用されても良い。二値化基準値は、ベタ領域のうち、非ベタ領域に比較的近い一部の領域の画素データを用いて特定されても良い。
【００２９】
ステップＳ３５０では、領域特定部１２０は、二値化基準値（ＢＣＲ、ＢＣＧ、ＢＣＢ）を用いて、各非ベタ領域の二値画像データを生成する。具体的には、領域特定部１２０は、スキャン画像ＳＩの非ベタ領域を構成する各画素の画素値を「０」および「１」のいずれかに二値化することによって、当該非ベタ領域を構成する各画素を、「１」に対応するオブジェクト画素と、「０」に対応する非オブジェクト画素とに分類する。領域特定部１２０は、非ベタ領域を構成する画素ｉの成分値（Ｒｉ、Ｇｉ、Ｂｉ）が、以下の式（２）〜式（４）を全て満たす場合には、画素ｉに対応する二値画像データの画素値を「０」とし、式（２）〜式（４）のいずれかを満たさない場合には、当該画素値を「１」とする。
【００３０】
ＢＣＲ−ΔＶ＜Ｒｉ＜ＢＣＲ＋ΔＶ    ...（２）
ＢＣＧ−ΔＶ＜Ｇｉ＜ＢＣＧ＋ΔＶ    ...（３）
ＢＣＢ−ΔＶ＜Ｂｉ＜ＢＣＢ＋ΔＶ    ...（４）
【００３１】
文字二値データ内の画素値が「１」である画素は、文字を構成する文字構成画素であり、画素値が「０」である画素は、文字を構成しない非文字構成画素である。上記式（２）〜（４）から解るように、画素ｉの色が、周囲のベタ領域の色と、ほぼ同じである場合（色値の差分がΔＶ未満である場合）には、画素ｉは、文字構成画素に分類される。画素ｉの色が、周囲のベタ領域の色と、異なる場合（色値の差分がΔＶ以上である場合）には、画素ｉは、非文字構成画素に分類される。
【００３２】
図５は、スキャン画像ＳＩ（図３）に対応する二値画像データの一例を示す図である。図５において黒い部分はオブジェクト画素によって構成される画像を表しており、白い部分は非オブジェクト画素によって構成される画像を表している。
【００３３】
ステップＳ４００（図２）では、領域特定部１２０は、ラベリング処理を実行する。図６はラベリング処理のフローチャートである。図７は、ラベリング処理の説明図である。図７には、非ベタ領域Ａ２（図３）に対応する部分二値画像ＰＷＩが示されている。
【００３４】
ステップＳ４１０では、領域特定部１２０は、二値画像データ（図５）を用いてオブジェクト画素および非オブジェクト画素にラベリングを実行する。互いに隣接する複数のオブジェクト画素から構成されるオブジェクト画素群には、１つのラベル（識別子）が付される。図７の例では、各文字（例えば、文字ＢＫ１１、ＢＫ１２）には、別々のラベルが付され、１つの文字を構成する分離したパーツ（例えば、パーツＢＫ２１、ＢＫ２２）には、別々のラベルが付される。また、互いに隣接する複数の非オブジェクト画素から構成される非オブジェクト画素群には、１つのラベルが付される。図７の例では、文字を囲む領域に対応する周囲部分ＷＯ１と、１つの文字に囲まれた微小領域ＷＯ２、ＷＯ３とには、別々のラベルが付される。
【００３５】
ステップＳ４２０では、領域特定部１２０は、統合条件を満たす複数のオブジェクト画素群を統合する（同じラベルを付す）。統合条件は、１．互いの距離が基準値より近いこと  ２．互いの色の相違が基準値より小さいこと、の両方を満たすことを含んでいる。２つのオブジェクト画素群の距離は、例えば、２つのオブジェクト画素群の外接矩形の縦方向の距離と、横方向の距離とで表される。オブジェクト画素群の色は、スキャン画像ＳＩにおけるオブジェクト画素群に対応する全ての画素データの各成分の平均値（Ｒｏｂ、Ｇｏｂ、Ｂｏｂ）で表される。２つのオブジェクト画素群の色の相違は、当該２つの色のＲＧＢ色空間における距離（ユークリッド距離）で表される。
【００３６】
統合条件の基準値を適切に設定することによって、実質的に同じ色とみなせ、かつ、距離が比較的近い複数のオブジェクト画素群を統合し、１つの統合オブジェクト画素群として特定することができる。また、実質的に色が異なる複数の文字は、互いの距離とは無関係に、それぞれ別のオブジェクト画素群として特定することができる。上述したように、スキャン画像ＳＩの文字オブジェクトＯｂ２（図３）の３行分の複数の文字は、行ごとに色が異なる。このために、図７の例では、文字オブジェクトＯｂ２を表す複数のオブジェクト画素は、上側の１行の文字群（アルファベット）と、中央の１行の文字群（記号）と、下側の１行の文字群（アルファベット）と、をそれぞれ表す３つのオブジェクト画素群に統合される。
【００３７】
ステップＳ７３０では、領域特定部１２０は、統合条件を満たす複数の非オブジェクト画素群を統合する（同じラベルを付す）。具体的には、領域特定部１２０は、大きさが基準値より小さい非オブジェクト画素群を、当該非オブジェクト画素群をオブジェクト画素を挟んで囲んでいる別の非オブジェクト画素群に統合する。統合条件の基準値を適切に設定することによって、文字群の背景を構成する非オブジェクト画素群を１つの画素群として特定することができる。図７の例では、上述した周囲部分ＷＯ１と、微小領域ＷＯ２、ＷＯ３とが、１つの非オブジェクト画素群に統合される。
【００３８】
以上説明したラベリング処理によって、図５に破線で示すオブジェクト画像ＢＫ１〜ＢＫ５が特定される。１つのオブジェクト画像は、それぞれ、１つのラベルが付されたオブジェクト画素群の外接矩形に対応する部分画像である。図５の例では、文字オブジェクトＯｂ２（図３）と、写真オブジェクトＯｂ３（図３）と、描画オブジェクトＯｂ４（図３）とにそれぞれ対応する５つのオブジェクト画像ＢＫ１〜ＢＫ５が特定されている。すなわち、二値画像データにラベリングされることによって、スキャン画像ＳＩの部分画像として５つのオブジェクト画像ＢＫ１〜ＢＫ５が特定される。
【００３９】
図２のステップＳ４５０では、領域特定部１２０は、オブジェクト属性判定処理を実行することによって、スキャン画像ＳＩ内の各オブジェクト画像の属性を判定する。領域特定部１２０は、処理対象のオブジェクト画像の画素密度Ｄ、分布幅Ｗ、色数Ｃに基づいて、オブジェクト画像の属性を判定する。
【００４０】
画素密度Ｄは、スキャン画像ＳＩ内のオブジェクト画像に占めるオブジェクト画素（対応する二値画像データにおける画素値が「１」である画素）の割合を示す値である。画素密度Ｄは、Ｄ＝Ｎｏ／Ｎａで表される。ここで、Ｎｏは、オブジェクト画素の数、Ｎａは、オブジェクト画像の全ての画素の数である。
【００４１】
ステップＳ４５０では、領域特定部１２０は、さらに、スキャン画像ＳＩ内のオブジェクト画像の輝度分布を算出する。図８は、オブジェクト画像の輝度分布を表すヒストグラムの一例を示す図である。図８のヒストグラムは、横軸に輝度値Ｙ（２５６階調）を取り、各輝度値を有する画素の数を縦軸にプロットして得られる。輝度値Ｙは、ＲＧＢ画素データ（Ｒ、Ｇ、Ｂ）を用いて、例えば、輝度値Ｙ=((0.298912×Ｒ)＋(0.586611×Ｇ)＋(0.114478×Ｂ))という式で算出される。
【００４２】
分布幅Ｗは、例えば、有効輝度値の最大値と有効輝度値の最小値との差分である。有効輝度値は、階調数分（例えば、２５６個）の輝度値Ｙのうち、基準数Ｔｈ２以上の画素が有する輝度値Ｙ（図８のハッチングされた領域に対応する輝度値）である（図８）。図８の例では、分布幅Ｗは、輝度値Ｙ６と、輝度値Ｙ１との差分である。
【００４３】
色数Ｃは、本実施例では、上述した有効輝度値の数である。輝度値Ｙが異なれば、その画素の色が異なるので、異なる輝度値Ｙの数（輝度値Ｙの種類の数）は、色の数（色の種類の数）を表している。図８の例では、色数Ｃは、Ｃ１＋Ｃ２＋Ｃ３である（Ｃ１＝Ｙ２−Ｙ１、Ｃ２＝Ｙ４−Ｙ３、Ｃ３＝Ｙ６−Ｙ５）。
【００４４】
領域特定部１２０は、上述した画素密度Ｄと、分布幅Ｗと、色数Ｃとに基づいて、オブジェクト画像の属性を判定する。例えば、領域特定部１２０は、上述した画素密度Ｄ、分布幅Ｗ、色数Ｃのそれぞれが、対応する基準値Ｄｔｈ、Ｗｔｈ、Ｃｔｈ以上であるか否かを判断する。領域特定部１２０は、これらの判断結果を用いて、判定テーブル２９２を参照して、オブジェクト画像の属性を判定する。本実施例では、オブジェクト画像の属性は、「写真」「文字」「描画」のいずれかに判定される。
【００４５】
図９は、判定テーブル２９２の一例を示す図である。
判定テーブル２９２から解るように、対象領域の属性が「文字」であると判定される場合は、以下の２つである。
（１−１）色数Ｃ＜Ｃｔｈ、かつ、画素密度Ｄ＜Ｄｔｈ
（１−２）分布幅Ｗ＜Ｗｔｈ、かつ、色数Ｃ≧Ｃｔｈ、かつ、画素密度Ｄ＜Ｄｔｈ
また、対象領域の属性が「描画」であると判定される場合は、以下の１つである。
（２−１）色数Ｃ＜Ｃｔｈ、かつ、画素密度Ｄ≧Ｄｔｈ
また、対象領域の属性が「写真」であると判定される場合は、以下の２つである。
（３−１）分布幅Ｗ≧Ｗｔｈ、かつ、色数Ｃ≧Ｃｔｈ
（３−２）分布幅Ｗ＜Ｗｔｈ、かつ、色数Ｃ≧Ｃｔｈ、かつ、画素密度Ｄ≧Ｄｔｈ
【００４６】
例えば、（１−１）に示す場合に、対象領域の属性を「文字」であると判定するので、色数Ｃが比較的少なく、画素密度Ｄが比較的小さいという、典型的な文字の特徴を有する画像領域の属性を、正しく判定することができる。また、（２−１）に示す場合に、対象領域の属性を「描画」であると判定するので、色数Ｃが比較的少なく、画素密度Ｄが比較的大きいという、典型的な描画の特徴を有する画像領域の属性を、正しく判定することができる。また、（３−１）に示す場合に、対象領域の属性を「写真」であると判定するので、分布幅Ｗが比較的大きく、色数Ｃが比較的多いという、典型的な写真の特徴を有する画像領域の属性を、正しく判定することができる。
【００４７】
分布巾Ｗが比較的小さく、かつ、色数Ｃが比較的多く、かつ、画素密度Ｄが比較的小さい場合には、分布巾Ｗが比較的小さい点、画素密度Ｄが比較的小さい点の２点で、「文字」の特徴に合致している。一方、「写真」の特徴に合致している点は、色数Ｃが比較的多い点だけであり、「描画」の特徴に合致している点は、見られない。本実施例では、上述した（１−２）の場合には、対象領域の属性は、「文字」であると判定するので、典型的ではないものの、特徴の合致点の多さに基づいて、精度良く画像領域の属性を特定することができる。
【００４８】
スキャン画像ＳＩの例では、３つのオブジェクト画像ＢＫ１〜ＢＫ３の属性は「文字」であると判定され、オブジェクト画像ＢＫ４、ＢＫ５の属性は、それぞれ「写真」「描画」であると判定される。
【００４９】
ステップＳ５００では、スキャナドライバ１００は、属性が「文字」であると判定されたオブジェクト画像（文字オブジェクト画像）があるか否かを判断する。文字オブジェクト画像がない場合には（ステップＳ５００：ＮＯ）、スキャナドライバ１００は、ステップＳ６００に処理を移行する。文字オブジェクト画像がある場合には（ステップＳ５００：ＹＥＳ）、スキャナドライバ１００の文字二値画像生成部１３０は、文字二値データ生成処理を実行する（ステップＳ５５０）。
【００５０】
ステップＳ５５０で生成される文字二値データは、文字を適切に表す二値画像データであり、上述したステップＳ３５０にて生成された二値画像データ（図５）とは異なる。文字二値データは、文字を構成する文字構成画素を「１」で表し、文字を構成しない非文字構成画素を「０」で表したデータである。詳細は後述するが、文字二値データ生成処理によって、属性が「文字」であると判定された各オブジェクト画像（スキャン画像ＳＩの例では、３つのオブジェクト画像ＢＫ１〜ＢＫ３（図５））について、それぞれ文字二値データが生成される。文字二値データ生成処理が終了すると、スキャナドライバ１００は、ステップＳ６００に処理を移行する。
【００５１】
ステップＳ６００では、スキャナドライバ１００は、圧縮画像データ生成処理を実行する。図１０は、圧縮画像生成処理のフローチャートである。図１１は、圧縮画像生成処理の説明図である。
【００５２】
ステップＳ６１０では、スキャナドライバ１００は、文字二値データと、スキャンデータとを用いて、背景画像データを生成する。具体的には、スキャナドライバ１００は、スキャンデータに含まれる複数の画素データのうち、文字二値データによって特定される文字構成画素に対応する画素データ（色値）を背景色値に置き換える。この結果、スキャン画像ＳＩから文字が消去された背景画像ＢＧＩを表す背景画像データが生成される。背景色値は、スキャン画像ＳＩにおける文字オブジェクトの背景の色を表す値である。本実施例では、背景色値として、文字オブジェクトを含む非ベタ領域Ａ２を囲むベタ領域Ａ１の平均色値を用いる。すなわち、図２のステップＳ３００にて二値化基準値として算出されたベタ領域Ａ１の平均色値（ＢＣＲ、ＢＣＧ、ＢＣＢ）を背景色値として用いる。図１１（Ａ）には、図３のスキャン画像ＳＩに対応する背景画像ＢＧＩが図示されている。文字オブジェクトＯｂ２（図３）が消去され、写真オブジェクトＯｂ３と、描画オブジェクトＯｂ４とが残されていることが解る。
【００５３】
ステップＳ６２０では、スキャナドライバ１００は、生成された背景画像データを圧縮して、圧縮背景画像データを生成する。背景画像ＢＧＩは、文字を含んでおらず、写真や描画を含み得る多階調（例えば、２５６階調）画像である。スキャナドライバ１００は、このような多階調画像の圧縮に適したＪＰＥＧ（Joint Photographic Experts Group）圧縮を用いて、圧縮背景画像データを生成する。背景画像データは、文字を含んでいないので、高周波数成分が比較的少ない。この結果、背景画像データをＪＰＥＧ圧縮を用いて圧縮した際の圧縮率は、元画像（文字を含むスキャンデータ）を圧縮した際の圧縮率より高くなる。
【００５４】
ステップＳ６３０では、スキャナドライバ１００は、文字二値データを圧縮して、圧縮文字二値データを生成する。図１１（Ｂ）には、スキャン画像ＳＩの３つの文字オブジェクト画像ＢＫ１〜ＢＫ３を二値化した３つの文字二値データが表す３つの文字画像ＴＬ１〜ＴＬ３が図示されている。文字画像ＴＬ１〜ＴＬ３は、解像度を落とすとエッジのがたつきが目立ち、視認性が悪化しやすい。スキャナドライバ１００は、二値画像データを、高い圧縮率で、かつ、解像度を落とすことなく圧縮できる可逆圧縮方式であるＭＭＲ（Modified Modified Read）圧縮を用いて、圧縮文字二値データを生成する。
【００５５】
ステップＳ６４０では、スキャナドライバ１００は、圧縮背景画像データと、圧縮文字二値データと、圧縮文字二値データが表す文字の色を表す文字色値（文字色を表すＲＧＢ値）と、座標情報とを用いて、高圧縮ＰＤＦデータを生成する。なお、文字色値は、後述する文字二値データ生成処理（図２のＳ５５０）において特定される。座標情報は、圧縮文字二値データが表す文字画像ＴＬ１〜ＴＬ３が、圧縮背景画像データが表す背景画像ＢＧＩとの位置関係を、背景画像ＢＧＩにおける座標で表した情報である。ＰＤＦでは、複数の異なる形式の画像データを１つのファイルに格納し、当該ファイルを再現する際には、これらの画像データを重畳して１つの画像として再現可能なように、規格が定められている。スキャナドライバ１００は、規格に従って、１つのファイルに、圧縮背景画像データと圧縮文字二値データとを格納するとともに、当該ファイルに、文字色値と座標情報を圧縮文字二値データと関連付けて格納することによって、スキャン画像ＳＩを表す高圧縮ＰＤＦデータを生成する。この結果、文字を含むスキャン画像ＳＩを、文字がシャープで読みやすく、かつ、データ量が比較的小さい形で保存することができる。高圧縮ＰＤＦデータを生成すると、スキャナドライバ１００は、画像処理を終了する。
【００５６】
Ａ−３：文字二値データ生成処理：
図１２は、図２のＳ５５０の文字二値データ生成処理のフローチャートである。上述のように、文字二値データ生成処理は、文字オブジェクト画像について、文字を適切に表す二値画像データである文字二値データを生成する処理である。
【００５７】
ステップＳ５５１では、文字二値画像生成部１３０は、１つの文字オブジェクト画像を処理対象として選択する。図１３は、文字オブジェクト画像の一例を示す図である。以下では、図１３に示す文字オブジェクト画像ＢＫ２が処理対象として選択されたものとして、説明する。
【００５８】
ステップＳ５５２では、文字二値画像生成部１３０の仮特定部１３１と背景色特定部１３２と文字色特定部１３３は、文字色特定処理を実行して、文字オブジェクト画像ＢＫ２内の文字の色を表す文字色値を特定する。
【００５９】
図１４は、文字色特定処理のフローチャートである。
ステップＳ５５２１では、仮特定部１３１は、文字オブジェクト画像ＢＫ２の文字構成画素を仮特定して、有効画素数ＶＭＮを算出する。具体的には、仮特定部１３１は、図２のステップＳ３５０で生成された文字オブジェクト画像ＢＫ２の二値画像データのオブジェクト画素（画素値が「１」）を文字構成画素として仮特定する。仮特定部１３１は、仮特定された文字構成画素の総数を算出する。仮特定部１３１は、文字構成画素の総数に、所定の係数（割合）を乗じて、有効画素数ＶＭＮを算出する。本実施例では、係数は、０．２に設定されている。
【００６０】
ステップＳ５５２２では、背景色特定部１３２は、文字オブジェクト画像ＢＫ２の背景の色を表す背景色値を特定する。本実施例では、背景色特定部１３２は、スキャン画像ＳＩにおいて、文字オブジェクト画像ＢＫ２を含む非ベタ領域Ａ２の周囲を囲むベタ領域Ａ１の色データ（画素データ）を用いて、背景色値を特定する。文字オブジェクト画像ＢＫ２の背景は、ベタ領域Ａ１と連続する領域であるので、ベタ領域Ａ１とほぼ同一であると考えられるためである。具体的には、ベタ領域Ａ１の平均色値（ＢＣＲ、ＢＣＧ、ＢＣＢ）を背景色値として特定する。この背景色値は、上述したステップＳ３００にて二値化基準値として算出された色値と同じである。
【００６１】
ステップＳ５５２３では、文字色特定部１３３は、文字オブジェクト画像ＢＫ２を表す画像データ（スキャンデータの部分画像データ）の画素データに用いられている表色系を構成する複数の成分（本実施例では、ＲＧＢの３成分）の中から、１つの成分を選択する。
【００６２】
ステップＳ５５２４では、選択された成分に対応する成分画像データの色分布データ（ヒストグラム）を生成する。文字オブジェクト画像ＢＫ２を表す画像データの各画素データは、ＲＧＢの３つの成分値を含んでいる。すなわち、文字オブジェクト画像ＢＫ２を表す画像データは、３つの成分画像データを含んでいるということができる。各成分画像データは、３つ成分値のうちの１つの成分値で構成される画像データである。色分布データは、選択された成分に対応する成分画像データのうち、上述した文字構成画素群について生成される。
【００６３】
図１５は、文字オブジェクト画像ＢＫ２のヒストグラムの一例を示す図である。図１５は、文字オブジェクト画像ＢＫ２のＲ成分のヒストグラム（Ｒ成分画像データのヒストグラム）を示している。このヒストグラムのうち、実線で示す部分ＨＧＲ１は、ステップＳ５５２２にて仮特定された文字オブジェクト画像ＢＫ２内の文字構成画素群のヒストグラムであり、破線で示す部分ＨＧＲ２は、当該文字構成画素群を除いた画素群（背景部分を表す画素群）のヒストグラムである。
【００６４】
ステップＳ５５２５では、文字色特定部１３３は、生成したヒストグラムを用いて、仮特定された文字構成画素群の最大成分値Ｍｘと最小成分値Ｍｎとを特定する（図１５）。ステップＳ５５２６では、文字色特定部１３３は、背景色値のうちの選択された成分の階調値（背景色成分値）と最大成分値Ｍｘとの差分ＤＷ１と、背景色成分値と最小成分値Ｍｎとの差分ＤＷ２と、を比較する。そして、文字色特定部１３３は、最大成分値Ｍｘと最小成分値Ｍｎのうち、背景成分値との差分が大きい値は、いずれであるかを判断する。図１５の例は、最小成分値Ｍｎと背景色成分値ＢＣＲとの差分ＤＷ２が、最大成分値Ｍｘと背景色成分値ＢＣＲとの差分ＤＷ１より大きい場合を示している（例えば、背景色が白に近く、文字色が黒に近い場合）。逆に、最大成分値Ｍｘと背景色成分値ＢＣＲとの差分ＤＷ１が、最小成分値Ｍｎと背景色成分値ＢＣＲとの差分ＤＷ２より大きい場合も考えられる（例えば、背景色が黒に近く、文字色が白に近い場合）。
【００６５】
背景成分値との差分が大きい値が最小成分値Ｍｎである場合には（ステップＳ５５２６：Ｍｎ）、文字色特定部１３３は、最小成分値Ｍｎから有効上限成分値ＶＶまでの範囲の成分値を有する文字構成画素の平均成分値を、文字色成分値として算出する（ステップＳ５５２７）。有効上限成分値ＶＶは、最小成分値Ｍｎから有効上限成分値ＶＶまでの範囲の成分値を有する文字構成画素の数が、有効画素数ＶＭＮ個となるように、設定される。具体的には、文字色特定部１３３は、ヒストグラムにおいて最小成分値Ｍｎから順に１つずつ成分値を選択して、選択された成分値を有する文字構成画素の数をカウントする。文字色特定部１３３は、選択済みの全ての成分値のカウント値の合計が有効画素数ＶＭＮを超えるまで、成分値の選択と、文字構成画素の数のカウントを繰り返す。文字色特定部１３３は、選択済みの全ての成分値のカウント値の合計が有効画素数ＶＭＮを超えた時点で、成分値の選択と、文字構成画素の数のカウントを終了し、その時点でカウント対象とされたＶＭＮ個の文字構成画素の平均成分値を算出する。図１５の例では、有効画素数ＶＭＮ相当の画素が含まれるヒストグラムの領域ＶＡ（図１５：ハッチング）に含まれる画素群のＲ成分の平均成分値ＴＣＲが、文字色成分値として算出される。
【００６６】
背景成分値との差分が大きい値が最大成分値Ｍｘである場合には（ステップＳ５５２６：Ｍｘ）、文字色特定部１３３は、最大成分値Ｍｘから有効下限成分値ＶＵまでの範囲の成分値を有する文字構成画素の平均成分値を、文字色成分値として算出する（ステップＳ５５２８）。有効下限成分値ＶＵは、最小成分値Ｍｎから有効下限成分値ＶＵまでの範囲の成分値を有する文字構成画素の数が、有効画素数ＶＭＮ個となるように、設定される。具体的には、文字色特定部１３３は、最大成分値Ｍｘから順に１つずつ成分値を選択して、上述したステップＳ５５２７と同様の処理を実行することによって、文字色成分値を算出する。図１５には、Ｒ成分の文字色成分値ＴＣＲが示されている。
【００６７】
ステップＳ５５２９では、文字色特定部１３３は、表色系を構成する３つの成分が選択されたか否かを判断する。文字色特定部１３３は、３つの成分が選択済みである場合には（ステップＳ５５２９：ＹＥＳ）、文字色特定処理を終了する。文字色特定部１３３は、３つの成分が選択済みでない場合には（ステップＳ５５２９：ＮＯ）、ステップＳ５５２３に戻って未選択の成分を選択して、上述したステップＳ５５２４〜Ｓ５５２８までの処理を繰り返す。
【００６８】
文字色特定処理が終了した時点で、表色系を構成する各成分について、文字色成分値が算出される。この結果、これらの文字色成分値の組を含む文字色値が特定される。本実施例では、ＲＧＢ表色系で表された文字色値（ＴＣＲ、ＴＣＧ、ＴＣＢ）が特定される。ここで、文字オブジェクト画像ＢＫ２は、スキャナ３００や複合機４００の画像読取部によって生成されたスキャンデータによって表されるスキャン画像ＳＩの一部である。このために、文字オブジェクト画像ＢＫ２は、図１３に示すように、文字と背景とのエッジ近傍に、背景色と文字色との中間色を有する中間色領域ＴＥＡが表れ得る。上述した文字色特定処理では、文字構成画素のうち、ヒストグラム上で背景色から最も遠い色（成分値間の差が最も大きい色）から順に所定割合の画素を用いて文字色を算出している。これは、文字オブジェクト画像ＢＫ２上で言えば、文字構成画素のうち、文字と背景とのエッジからの距離が遠い領域ＴＣＡ（文字のコア領域ＴＣＡとも呼ぶ）の画素を用いて文字色を算出していると言える。
【００６９】
図１２のステップＳ５５３では、差分取得部１３４は、背景色値（ＢＣＲ、ＢＣＧ、ＢＣＢ）と文字色値（ＴＣＲ、ＴＣＧ、ＴＣＢ）との差分を、表色系を構成する複数の成分ごとに算出して取得する。すなわち、本ステップで取得される差分は、ＲＧＢの各成分の差分ＤＦＲ、ＤＦＧ、ＤＦＧを含む。Ｒ成分の差分ＤＦＲは、（ＢＣＲ−ＴＣＲ）の絶対値である。Ｇ成分の差分ＤＦＧは、（ＢＣＧ−ＴＣＧ）の絶対値である。Ｂ成分の差分ＤＦＢは、（ＢＣＢ−ＴＣＢ）の絶対値である。
【００７０】
ステップＳ５５４では、選択部１３５は、３つの差分ＤＦＲ、ＤＦＧ、ＤＦＢのうちの最大の差分に対応する特定成分を選択する。図１６は、使用成分の選択について説明する図である。図１６（Ａ）〜（Ｃ）は、１つの文字オブジェクト画像に含まれるＲ成分画像データと、Ｇ成分画像データと、Ｂ成分画像データと、のヒストグラムＨＧＲ、ＨＧＧ、ＨＧＢをそれぞれ示している。この例のように、ＲＧＢ表色系を構成する３つの成分の差分は、それぞれ異なり得る。この例では、３つの成分の差分の関係は、（Ｒ成分の差分ＤＦＲ）＞（Ｂ成分の差分ＤＦＢ）＞（Ｇ成分の差分ＤＦＧ）である。したがって、この例では、選択部１３５は、Ｒ成分を使用成分として選択する。すなわち、選択部１３５は、Ｒ成分画像データを、後述するステップＳ５５５、Ｓ５５６において使用する１つの成分画像データとして選択する。
【００７１】
ステップＳ５５５（図１２）では、特徴値決定部１３６と閾値決定部１３７は、二値化閾値決定処理を実行する。図１７は、二値化閾値決定処理のフローチャートである。ステップＳ５５５１では、特徴値決定部１３６は、処理対象である文字オブジェクト画像の使用成分の平均値を取得する。使用成分の平均値は、文字オブジェクト画像に含まれる全ての文字構成画素の平均値である。例えば、図１５に示すＲ成分の平均値ＡＶＲは、文字オブジェクト画像を構成する複数の画素のうち、最小成分値Ｍｎから最大成分値Ｍｘまでの範囲内のＲ成分値を有する画素群のＲ成分値の平均値である。
【００７２】
ステップＳ５５５２では、特徴値決定部１３６は、先に特定された文字色値のうちの使用成分の階調値（使用成分の文字色成分値）と、使用成分の平均値とを用いて、文字の鮮鋭度に関する特徴値ＴＬ（以下、鮮鋭度ＴＬと呼ぶ。）を取得する。具体的には、特徴値決定部１３６は、（使用成分の文字色成分値−使用成分の平均成分値）の絶対値ＳＬを算出する。鮮鋭度ＴＬは、この絶対値ＳＬの逆数で表される（鮮鋭度ＴＬ＝１／ＳＬ）。なお、文字のぼけ度は、鮮鋭度ＴＬが高いほど小さくなり、鮮鋭度ＴＬが低いほど大きくなる。従って、絶対値ＳＬは、文字のぼけ度を表す指標値と言うことが出来る。すなわち、鮮鋭度ＴＬが比較的大きい値である場合には、文字のぼけ度が比較的小さいことを示し、鮮鋭度ＴＬが比較的小さい値である場合には、文字のぼけ度が比較的大きいことを示している。図１５には、使用成分であるＲ成分の絶対値ＳＬ（平均成分値ＡＶＲ−文字色成分値ＴＣＲ）が図示されている。
【００７３】
ステップＳ５５５３では、閾値決定部１３７は、鮮鋭度ＴＬを用いて、文字二値データを生成するための閾値ＴＨ（二値化閾値）を決定する。具体的には、閾値決定部１３７は、まず、パラメータＰＲを、以下の式を用いて算出する。
【００７４】
ＰＲ＝２×（１／ＴＬ）−２０  ...（５）
【００７５】
さらに、閾値決定部１３７は、パラメータＰＲを用いて、以下の式を用いて閾値ＴＨを算出する。具体的には、閾値決定部１３７は、使用成分の文字色成分値を、パラメータＰＲ分だけ、使用成分の背景色成分値の方向にずらした値を閾値ＴＨとして算出する。すなわち、閾値決定部１３７は、（使用成分の文字色成分値）≦（使用成分の背景色成分値）である場合（例えば、文字よりも背景が明るい場合）には、（使用成分の文字色成分値）＋（パラメータＰＲ）を閾値ＴＨとし、（使用成分の文字色成分値）＞（使用成分の背景色成分値）である場合（例えば、背景よりも文字が明るい場合）には、（使用成分の文字色成分値）−（パラメータＰＲ）を閾値ＴＨとする。この結果、閾値ＴＨは、使用成分の文字色成分値と、使用成分の背景色成分値との間に、適切に決定される。図１５には、使用成分であるＲ成分の閾値ＴＨＲが図示されている。図１５の例では、文字色成分値ＴＣＲ≦背景色成分値ＢＣＲであるので、閾値ＴＨＲは、（文字色成分値ＴＣＲ＋パラメータＰＲ）である。
【００７６】
ステップＳ５５６では、二値化処理部１３８は、使用成分の成分画像データに対して、決定された閾値ＴＨを用いた二値化処理を実行する。この結果、文字オブジェクト画像ＢＫ２の文字を表す文字二値データが生成される。使用成分がＲ成分である場合を例に説明する。二値化処理部１３８は、Ｒ成分値≦背景色成分値ＢＣＲである場合には、Ｒ成分画像データに含まれる複数のＲ成分値のうち、閾値ＴＨＲ以下であるＲ成分値を「１」とし、閾値ＴＨＲを超えるＲ成分値を「０」とすることによって、文字二値データを生成する。また、二値化処理部１３８は、文字色成分値ＢＣＲ＞Ｒ成分値である場合には、Ｒ成分画像データに含まれる複数のＲ成分値のうち、閾値ＴＨＲ以上であるＲ成分値を「１」とし、閾値ＴＨＲ未満であるＲ成分値を「０」とすることによって、文字二値データを生成する。
【００７７】
ステップＳ５５７では、文字二値画像生成部１３０は、全ての文字オブジェクト画像が処理対象として選択済みか否かを判断する。全ての文字オブジェクト画像が処理対象として選択済みである場合には（ステップＳ５５７：ＹＥＳ）、文字二値画像生成部１３０は、文字二値データ生成処理を終了する。未選択の文字オブジェクト画像がある場合には（ステップＳ５５７：ＮＯ）、文字二値画像生成部１３０は、ステップＳ５５１に戻って、未選択の文字オブジェクト画像を選択して、上述したステップＳ５５２〜Ｓ５５６までの処理を繰り返す。
【００７８】
以上説明した本実施例の文字二値データ生成処理によれば、文字オブジェクト画像の背景色値（例えば、背景色成分値ＢＣＲ）と、文字色値（例えば、文字色成分値ＴＣＲ）と、鮮鋭度ＴＬとを用いて、閾値ＴＨを決定する。この結果、文字の鮮鋭度に応じて、文字を適切に表す文字二値データを生成することができる。
【００７９】
図１３を用いて文字オブジェクト画像ＢＫ２の例で説明したように、スキャン画像の文字には、コア領域ＴＣＡと、コア領域ＴＣＡの周囲に位置する中間色領域ＴＥＡ（文字と背景とのエッジ近傍の領域）が表れる。文字画像の中間色領域ＴＥＡのサイズ（太さ）が大きいほど、文字の鮮鋭度ＴＬが低く、ぼけ度が大きい（文字の輪郭がぼけている）ということができる。また、文字画像の中間色領域ＴＥＡのサイズ（太さ）が小さいほど、鮮鋭度ＴＬが高く、文字のぼけ度が小さい（文字の輪郭がクリアである）ということができる。このような文字オブジェクト画像の文字二値データにおいて、適切な閾値ＴＨを決定できない場合には、文字二値画像によって表される文字の構成要素（主として細線）が、不適切な太さになる可能性がある。
【００８０】
図１８は、本実施例の効果を説明する図である。図１８（Ａ）は、本実施例の文字二値データ生成処理（図１２）によって生成された文字二値データによって表される文字画像の例を示している。図１８（Ｂ）は、比較例１として、閾値ＴＨが背景色値に近すぎる値（文字色値から遠すぎる値）に設定された場合に生成される二値データによって表される文字画像の例を示している。この比較例１の文字画像は、文字の構成要素が過度に太くなり、実施例の文字画像（図１８（Ａ））と比較して、文字の見栄えや識別性（識別のしやすさ）が低下している。例えば、左から３番目の文字（＠）では、離間しているべき構成要素が繋がっていることが解る。
【００８１】
図１８（Ｃ）は、比較例２として、閾値ＴＨが背景色値から遠すぎる値（文字色値に近すぎる値）に設定された場合に生成される二値データによって表される文字画像の例を示している。この比較例１の文字画像は、文字の構成要素が過度に細くなり、実施例の文字画像（図１８（Ａ））と比較して、文字の見栄えや識別性が低下している。例えば、右から２番目の文字（￥）および右から３番目の文字（＃）では、細線の欠けが生じていることが解る。
【００８２】
これに対して、本実施例では、特に、鮮鋭度ＴＬを用いて、二値化のための閾値ＴＨを適切に決定することできるので、図１８（Ａ）に示すように、生成される文字二値データによって表される文字の見栄えや識別性の低下を抑制することができる。
【００８３】
図１９は、文字の鮮鋭度ＴＬと、本実施例にて決定される閾値ＴＨと、の関係を説明する図である。図１９（Ａ）は、鮮鋭度ＴＬが比較的低い場合の所定成分の成分値のヒストグラムを示している。図１９（Ｂ）は、文字の鮮鋭度ＴＬが比較的高い場合の所定成分の成分値のヒストグラムを示す。鮮鋭度ＴＬが比較的低い場合には、ヒストグラムＨＧ１の広がり（例えば、分散で表される）が、比較的大きくなる。すなわち、文字色値（コア領域ＴＣＡの色（図１３））と、文字全体の平均色値との差が大きくなり、絶対値ＳＬの値が大きくなる。また、鮮鋭度ＴＬが比較的高い場合には、ヒストグラムＨＧ２の広がりが、比較的小さくなる。すなわち、文字色値と、平均色値との差が小さくなり、絶対値ＳＬの値も小さくなる。このように、特徴値決定部１３６は、仮に特定された文字構成画素群（図２：ステップＳ３５０で生成される二値画像データによって特定される）の平均色値と、文字色値と、の差分に応じて、鮮鋭度ＴＬを適切に決定することができる。
【００８４】
ここで、本実施例の閾値決定部１３７は、上述したように使用成分の文字色成分値を、パラメータＰＲ分だけ、使用成分の背景色成分値の方向にずらした値を閾値ＴＨとして算出する。そして、閾値ＴＨの文字色成分値からのずれ量に対応するパラメータＰＲは、ＰＲ＝２×（１／ＴＬ）−２０の式を用いて算出される。したがって、鮮鋭度ＴＬが比較的高い場合（文字のぼけ度が比較的小さい場合）には、閾値ＴＨは、文字色値と閾値ＴＨとの差分が比較的小さくなるように、決定される。また、鮮鋭度ＴＬが比較的低い場合（文字のぼけの程度が比較的大きい場合）には、閾値ＴＨは、文字色値と閾値ＴＨとの差分が比較的大きくなるように、決定される。したがって、本実施例の文字二値データ生成処理によれば、鮮鋭度ＴＬが比較的低い場合（文字のぼけ度が比較的大きい場合）と、鮮鋭度ＴＬが比較的高い場合（文字のぼけ度が比較的小さい場合）の両方において、適切な二値化閾値を決定ことができる。この結果、文字を適切に表す文字二値データを生成することができる。
【００８５】
さらに、本実施例の文字二値データ生成処理によれば、スキャンデータで用いられているＲＧＢ表色系の複数の成分（ＲＧＢ成分）のうちの１つの特定成分に対応する成分画像データを用いて、二値画像データを生成している。特定成分は、文字色値と背景色値との３つの成分差分ＤＦＲ、ＤＦＧ、ＤＦＢのうちの最大の成分差分に対応する成分である。成分差分が小さい場合には、閾値ＴＨの位置の僅かな違いで、二値化の結果を大きく変化する可能性がある。このために、成分差分が小さい成分画像データでは、適切な閾値ＴＨを決定することが困難な場合がある。
【００８６】
例えば、成分差分が比較的小さい成分画像データについて、最適な閾値ＴＨより僅かに文字色値に近い閾値ＴＨが決定されたとする。この場合には、当該成分画像データと当該閾値ＴＨとを用いて生成された文字二値データによって表される文字画像は、図１８の比較例２のように、過度に文字の構成要素が細い画像になる可能性が高くなる。逆に、成分差分が比較的小さい成分画像データについて、最適な閾値ＴＨより僅かに背景色値に近い閾値ＴＨが決定されたとする。この場合には、当該成分画像データと当該閾値ＴＨとを用いて生成された文字二値データによって表される文字画像は、図１８の比較例１のように、過度に文字の構成要素が太い画像になる可能性が高くなる。これに対して、成分差分が比較的大きい成分画像データを用いる場合には、最適な閾値ＴＨからずれた閾値ＴＨを用いたとしても、生成された文字二値データによって表される文字画像が、最適な閾値ＴＨを用いた場合の文字画像と比較して、大きく異なる可能性は低くなる。すなわち、成分差分が比較的大きい成分画像データを用いる場合には、許容される閾値ＴＨの範囲が広くなり、安定して良好な文字画像を表す文字二値データを生成することができる。本実施例のスキャナドライバ１００は、最大の成分差分に対応する成分画像データを用いて、文字を適切に表す文字二値データを生成することができる。
【００８７】
また、極端な例として、背景色が白色（２５６階調のＲＧＢ値で（２５５、２５５、２５５））で、文字色が黄色（２５６階調のＲＧＢ値で（２５５、２５５、０））である場合を考える。この例のように、背景色値と文字色値の組合せによっては、第１の成分画像データ（例えば、Ｒ成分画像データまたはＧ成分画像データ）では、成分差分がほとんど無いが、第２の成分画像データ（例えば、Ｂ成分画像データ）では、大きな成分差分がある場合がある。このような場合には、第１の成分画像データを用いて、文字二値データを生成することは困難である。しかしながら、大きな成分差分を有する第２の成分画像データを用いて、容易に適切な文字二値画像データを生成することができる。すなわち、本実施例によれば、背景色値と文字色値の組合せに拘わらず、容易に適切な文字二値画像データを生成することができる。
【００８８】
また、背景色が白色で、文字色が黄色である場合には、背景色の輝度値Ｙと文字色の輝度値との間に、大きな差分は生じない。輝度値Ｙは、例えば、輝度値Ｙ=((0.298912×Ｒ)＋(0.586611×Ｇ)＋(0.114478×Ｂ))の式で定義されることから解るように、黄色と白色との差が生じるＢ成分の輝度値Ｙに対する寄与は、Ｒ、Ｇ成分と比較して、非常に小さいからである。すなわち、背景色値と文字色値の組合せによっては、輝度画像データを用いても、適切な文字二値データを生成できない可能性がある。しかしながら、本実施例によれば、最大の成分差分を有する成分画像データを用いて、容易に適切な文字二値画像データを生成することができる。
【００８９】
また、上記実施例では、閾値決定部１３７は、背景色値を構成する３つの成分のうち、最大の成分差分を有する成分（特定成分）の値と、文字色値の特定成分の値とを用いて、閾値ＴＨを決定している。具体的には、閾値決定部１３７は、背景色値の特定成分の値と文字色値の特定成分の値とを比較し、文字色値の特定成分の値を、パラメータＰＲ分だけ、背景色値の特定成分の値の方向にずらした値を閾値ＴＨとして算出している。このとき、背景色値の特定成分の値と文字色値の特定成分の値との差分（特定成分の成分差分）が小さいと、用いる各値（背景色値の特定成分値と、文字色値の特定成分値、パラメータＰＲ）を高い精度で適切に決定しないと、適切な閾値ＴＨを算出することが困難な場合がある。しかしながら、本実施例によれば、最大の差分を有する背景色値の特定成分の値と文字色値の特定成分の値とを用いて、容易に適切な閾値ＴＨを算出することができる。
【００９０】
また、上記実施例では、文字色特定部１３３は、背景色値を用いて、文字色値を特定する。さらに、文字色特定部１３３は、仮特定された文字構成画素群のうちの一部の画素群を用いて、文字色値を特定する。この結果、適切な文字色値を特定することができる。すなわち、上記実施例では、文字色特定部１３３は、オブジェクト画像のヒストグラムにおいて、仮特定された画素群の最大成分値Ｍｘと、最小成分値Ｍｎとを特定する。文字色特定部１３３は、最大成分値Ｍｘと最小成分値Ｍｎのうち、背景色値との差分が大きい値の近傍の成分値を有する画素群（有効画素数ＶＭＮ個の画素を含む）を用いて、文字色値を特定している。すなわち、文字色値の特定も用いられる画素群は、仮特定された文字構成画素群のうち、背景色値との差分が最も大きい色値（最大成分値Ｍｘまたは最小成分値Ｍｎのうちの一方）を含んでいる。したがって、文字の鮮鋭度や、背景色値に依存しにくい文字のコア領域ＴＣＡ（図１３）との色を表す色値を、文字色値として特定することができる。この結果、文字の鮮鋭度（ぼけ度）や、背景色の種類に拘わらず、適切な文字色値を特定することができる。
【００９１】
また、上記実施例では、背景色特定部１３２は、スキャン画像ＳＩにおいて、文字オブジェクト画像を囲むベタ領域Ａ１の画素値を用いて背景色値を特定している。すなわち、スキャン画像ＳＩを表すスキャンデータのうち、文字オブジェクト画像を表す部分データとは異なる部分データを用いて背景色値を特定するので、スキャン画像ＳＩにおける文字オブジェクト画像とは異なる部分に応じて適切な背景色値を特定することができる。このように、文字オブジェクト画像を表すデータは、対象画像データの例であり、スキャン画像ＳＩを表すスキャンデータは、対象画像データの親データの例である。また、領域特定部１２０は、対象画像取得部の例である。
【００９２】
Ｂ．変形例：
（１）上記実施例では、指標値ＳＬを用いて、パラメータＰＲを算出し、当該パラメータＰＲを用いて、閾値ＴＨを算出しているが、別の閾値を採用しても良い。例えば、閾値ＴＨは、以下の式（６）を用いて算出されてもよい。
【００９３】
ＴＨ＝文字色成分値×ＰＲ２＋背景色成分値×（１−ＰＲ２）  ...（６）
【００９４】
ここで、ＰＲ２は、０＜ＰＲ２＜１の範囲で設定される設計値である。例えば、生成される文字二値データによって表される文字を比較的細くしたい場合には、設計値ＰＲ２は、比較的小さい値に設定される。逆に、生成される文字二値データによって表される文字を比較的太くしたい場合には、設計値ＰＲ２は、比較的大きい値に設定される。
【００９５】
（２）上記各実施例において、文字の鮮鋭度に関する特徴値として、上述した鮮鋭度ＴＬ＝（１／ＳＬ）、（ＳＬは、（平均成分値ＡＶＲ−文字色成分値ＴＣＲ）の絶対値）が用いられているが、他の様々な特徴値が採用され得る。具体的には、文字オブジェクト画像のヒストグラムにおけるピークの広がりと相関のある統計量、例えば、分散の逆数、文字構成画素数に対するピークの高さなどが、特徴値として用いられても良い。また、スキャンデータの生成に用いられた画像読取装置（スキャナ３００など）の特性、例えば、光学センサ（ＣＣＤなど）や光源の特性を含む装置特性、特に、文字の鮮鋭度に相関のある装置特性が特徴値として用いられても良い。
【００９６】
また、文字オブジェクト画像の背景色値には、当該文字オブジェクト画像を囲むベタ領域に含まれる全ての画素の平均色値が用いられているが、これに限られない。例えば、ベタ領域のうちの一部の領域、例えば、文字オブジェクト画像を囲む所定幅の環状の領域の平均色値を採用しても良い。所定幅は、例えば、領域特定の際に設定されるブロックＢ（図４）の１個〜数個分の幅であっても良い。また、背景色特定部１３２は、文字オブジェクト画像に含まれる画素を用いて背景色値を特定しても良い。背景色特定部１３２は、例えば、文字オブジェクト画像に含まれる画素のうち、文字構成画素を除く複数の画素の全部または一部の画素を用いて、背景色値を特定しても良い。
【００９７】
また、上記各実施例において具体的に説明した文字色の特定方法は一例であり、これに限られない。例えば、文字色特定部１３３は、文字オブジェクト画像のヒストグラムにおいて、基準値以上の画素数がある成分値の範囲（最大成分値Ｍｘ−最小成分値Ｍｎ）において、背景色成分値がある側とは反対側から所定の位置（例えば、成分値の範囲の４分の１の位置）にある成分値を文字色成分値としても良い。
【００９８】
（３）上記実施例では、差分取得部１３４は、ＲＧＢ表色系を構成する成分の成分画像データのヒストグラムを用いて、成分差分（成分ごとの文字色値と背景色値との差分）を算出している。そして、選択部１３５は、最大の成分差分に対応する成分を使用成分として選択している。差分取得部１３４は、他の表色系、例えば、ＹＣａＣｂ表色系を構成する３つの成分、または、ＣＩＥＬＡＢ表色系を構成する３つの成分の成分差分を算出しても良い。そして、選択部１３５は、これらの成分差分のうちの最大の成分差分に対応する成分を使用成分として選択しても良い。このように、表色系を構成する複数の成分は、ＲＧＢ表色系を構成する各成分のように、全ての成分が色味に関連する色成分であっても良いし、ＹＣａＣｂ表色系を構成する輝度成分（Ｙ）のように、色味に関連しない成分を含んでも良い。
【００９９】
（４）上記実施例では、最終的に文字二値データが生成される前に、仮に文字構成画素を特定するために、背景色値を基準にした二値化処理を行っている（図２：ステップＳ６００）。仮に文字構成画素を特定する手法はこれに限らず、画素群特定部１３１は、二値化処理（二値データの生成）を行うことなく、背景色値に近い画素を除く文字構成画素を仮特定しても良い。一般的には、画素群特定部１３１は、文字オブジェクト画像を構成する複数の画素のうち、背景色値を含む所定範囲の色値を有する画素を除いた一部の画素群を、文字を構成する画素群として特定すれば良い。こうすれば、文字を構成する画素群を容易に特定することができる。
【０１００】
（５）上記各実施例において、計算機２００のスキャナドライバ１００が備える画像処理機能は、複合機４００やスキャナ３００などの画像読取部を有する装置、あるいは、デジタルカメラなどの光学的な画像データ生成部を有する装置に備えられても良い。この場合には、例えば、当該画像処理機能を備える複合機やスキャナは、自身が有する画像読取部を用いて生成したスキャンデータに対して画像処理を行って、処理済み画像データ（例えば、高圧縮ＰＤＦデータ）を生成し、当該処理済み画像データを、通信可能に接続された計算機（パーソナルコンピュータなど）に出力しても良い。
【０１０１】
一般的に言えば、スキャナドライバ１００の画像処理機能を実現する装置は、計算機２００に限らず、複合機、デジタルカメラ、スキャナなどによって実現されても良い。また、当該画像処理機能は、１つの装置で実現されても良いし、ネットワークを介して接続された複数の装置によって、実現されても良い。この場合には、当該画像処理機能を実現する複数の装置を備えるシステムが、画像処理装置に相当する。
【０１０２】
（６）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１０３】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１０４】
２００...複合機、２１０...ＣＰＵ、２４０...内部記憶装置、２７０...操作部、２８０...通信部、２９０...外部記憶装置、２９１...ドライバプログラム、２９２...判定テーブル、１００...スキャナドライバ、１１０...領域特定部、１３０...文字二値画像生成部 
【図１】
0005958023.tif 000003
【図２】
0005958023.tif 000004
【図４】
0005958023.tif 000005
【図５】
0005958023.tif 000006
【図６】
0005958023.tif 000007
【図７】
0005958023.tif 000008
【図８】
0005958023.tif 000009
【図９】
0005958023.tif 000010
【図１０】
0005958023.tif 000011
【図１２】
0005958023.tif 000012
【図１４】
0005958023.tif 000013
【図１５】
0005958023.tif 000014
【図１６】
0005958023.tif 000015
【図１７】
0005958023.tif 000016
【図１８】
0005958023.tif 000017
【図１９】
0005958023.tif 000018
【図３】
0005958023.tif 000019
【図１１】
0005958023.tif 000020
【図１３】
0005958023.tif 000021