(57)【要約】 【課題】  対象画像内の文字画素を精度良く抽出する。【解決手段】画像処理装置は、複数個の画素にて構成され、文字を含む対象画像を表す対象画像データを取得する画像取得部と、対象画像内の文字に対応する文字コードを取得するコード取得部と、対象画像内の文字に対応する文字コードを用いて、対象画像内の文字を構成する複数個の文字画素の個数に関する指標値を取得する指標値取得部と、指標値を用いて、第１の抽出条件を決定する決定部と、対象画像内の複数個の画素の中から、第１の抽出条件を満たす複数個の文字画素を抽出する抽出部と、を備える。【選択図】  図２
2017135613.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
複数個の画素にて構成され、文字を含む対象画像を表す対象画像データを取得する画像取得部と、
前記対象画像内の文字に対応する文字コードを取得するコード取得部と、
前記対象画像内の文字に対応する前記文字コードを用いて、前記対象画像内の文字を構成する複数個の文字画素の個数に関する指標値を取得する指標値取得部と、
前記指標値を用いて、第１の抽出条件を決定する決定部と、
前記対象画像内の複数個の画素の中から、前記第１の抽出条件を満たす前記複数個の文字画素を抽出する抽出部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記決定部は、前記対象画像データと、前記指標値と、を用いて、前記第１の抽出条件を決定する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記決定部は、
前記対象画像データを用いて、前記指標値を用いずに、第２の抽出条件を満たす複数個の抽出画素を抽出し、
前記第２の抽出条件を満たす前記複数個の抽出画素の抽出結果と、前記指標値と、を用いて、前記第１の抽出条件を決定する、画像処理装置。
【請求項４】
請求項１〜３のいずれかに記載の画像処理装置であって、
前記指標値取得部は、前記対象画像データを用いずに、前記対象画像内の特定領域内の前記複数個の文字画素の個数に関する前記指標値を取得する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記決定部は、
前記対象画像データを用いて、前記指標値を用いずに、第２の抽出条件を満たす複数個の抽出画素を抽出し、
前記特定領域内の前記第２の抽出条件を満たす前記複数個の抽出画素の個数が、前記指標値によって示される前記特定領域内に抽出すべき前記複数個の文字画素の個数に近づくように、前記第２の抽出条件を調整することによって、前記第１の抽出条件を決定する、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記第１の抽出条件は、第１の閾値と、判定対象の画素の値と、の比較に基づく条件であり、
前記第２の抽出条件は、第２の閾値と、判定対象の画素の値と、の比較に基づく条件であり、
前記決定部は、前記特定領域内の前記第１の抽出条件を満たす前記複数個の文字画素の個数が、前記特定領域内の前記第２の抽出条件を満たす前記複数個の抽出画素の個数よりも、前記指標値によって示される前記特定領域内に抽出すべき前記複数個の文字画素の個数に近づくように、前記第２の閾値を基準として、前記第１の閾値を決定する、画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、
前記決定部は、
前記特定領域内の前記第２の抽出条件を満たす前記複数個の抽出画素の個数が、前記指標値によって示される前記特定領域内に抽出すべき前記複数個の文字画素の個数から基準値を超えて離れている場合には、前記第２の抽出条件の調整を行わず、
前記抽出部は、前記第２の抽出条件を満たす前記複数個の抽出画素を、前記複数個の文字画素として抽出する、画像処理装置。
【請求項８】
請求項４〜７のいずれかに記載の画像処理装置であって、
前記指標値取得部は、
前記文字コードを用いて、前記対象画像データを用いずに、前記特定領域に対応する文字画像を示す参照画像データを生成し、
前記参照画像データを用いて、前記特定領域内の前記指標値を取得する、画像処理装置。
【請求項９】
請求項１〜８のいずれかに記載の画像処理装置であって、さらに、
前記対象画像内の１個以上の文字領域を特定する特定部を備え、
前記決定部は、特定済みの前記文字領域ごとに、前記文字領域に対応する前記指標値を用いて、前記第１の抽出条件を決定し、
前記抽出部は、特定済みの前記文字領域ごとに、前記第１の抽出条件を満たす前記複数個の文字画素を抽出する、画像処理装置。
【請求項１０】
請求項１〜９のいずれかに記載の画像処理装置であって、さらに、
抽出済みの前記複数個の文字画素を示す文字画像データと、前記対象画像データと、を用いて、背景画像データを生成する背景画像生成部と、
前記文字データと前記背景画像データとを用いて、前記対象画像を示す画像ファイルであって、それぞれ異なる方法で圧縮された前記文字データと前記背景画像データとを含む前記画像ファイルを生成するファイル生成部と、
を備える、画像処理装置。
【請求項１１】
コンピュータプログラムであって、
複数個の画素にて構成され、文字を含む対象画像を表す対象画像データを取得する画像取得機能と、
前記対象画像内の文字に対応する文字コードを取得するコード取得機能と、
前記対象画像内の文字に対応する前記文字コードを用いて、前記対象画像内の文字を構成する複数個の文字画素の個数に関する指標値を取得する指標値取得機能と、
前記指標値を用いて、第１の抽出条件を決定する決定機能と、
前記対象画像内の複数個の画素の中から、前記第１の抽出条件を満たす前記複数個の文字画素を抽出する抽出機能と、
をコンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、文字を含む画像を表す画像データを用いる画像処理に関する。
【背景技術】
【０００２】
文字を含む対象画像を表す対象画像データを用いて、文字を構成する文字画素を適切に抽出する技術が求められている。例えば、抽出済みの文字画素を示す二値データは、対象画像データの圧縮、具体的には、いわゆる高圧縮ＰＤＦファイルの生成のために、有効に利用することができる（例えば、特許文献１）。この技術では、対象画像において、文字色値と背景色値と文字の鮮鋭度に関する特徴値とを用いて、文字画素を示す二値データが生成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１１７５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、文字画素を抽出するために考慮される情報が十分でないために、文字画素を高い精度で抽出できない可能性があった。
【０００５】
本明細書は、対象画像データを用いて対象画像内の文字画素を精度良く抽出することができる新たな技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、複数個の画素にて構成され、文字を含む対象画像を表す対象画像データを取得する画像取得部と、前記対象画像内の文字に対応する文字コードを取得するコード取得部と、前記対象画像内の文字に対応する前記文字コードを用いて、前記対象画像内の文字を構成する複数個の文字画素の個数に関する指標値を取得する指標値取得部と、前記指標値を用いて、第１の抽出条件を決定する決定部と、前記対象画像内の複数個の画素の中から、前記第１の抽出条件を満たす前記複数個の文字画素を抽出する抽出部と、を備える、画像処理装置。
【０００８】
上記構成によれば、対象画像内の文字に対応する文字コードを用いて、文字を構成する文字画素の個数に関する指標値が取得され、該指標値を用いて、第１の抽出条件が決定されるので、対象画像内の複数個の文字画素を精度良く抽出することができる。
【０００９】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、上記の画像処理装置、画像読取装置、複合機、これらの制御方法、これらの装置や方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】計算機２００の構成を示すブロック図である。
【図２】画像処理のフローチャートである。
【図３】画像処理で用いられる画像の一例を示す図である。
【図４】抽出範囲の設定について説明する図である。
【図５】文字画素の抽出結果の一例を示す図である。
【図６】圧縮画像生成処理のフローチャートである。
【図７】高圧縮ＰＤＦファイルＩＦを概念的に示す図である。
【図８】文字領域ＴＡ１の射影ヒストグラムの一例を示す図。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１．画像処理装置の構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、実施例における画像処理装置としての計算機２００の構成を示すブロック図である。
【００１２】
計算機２００は、例えば、パーソナルコンピュータやスマートフォンなどの端末装置である。計算機２００は、計算機２００のコントローラとしてのＣＰＵ２１０と、ＲＡＭなどの揮発性記憶装置２２０と、ハードディスクドライブなどの不揮発性記憶装置２３０と、液晶ディスプレイなどの表示部２６０と、マウスやキーボードなどの操作部２７０と、通信部２８０と、を備えている。計算機２００は、通信部２８０を介して、スキャナ３００や複合機４００などの外部装置と通信可能に接続される。
【００１３】
揮発性記憶装置２２０は、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２２１を提供する。不揮発性記憶装置２３０には、アプリケーションプログラムＰＧ１と、スキャナドライバプログラムＰＧ２と、が格納されている。アプリケーションプログラムＰＧ１は、デバイス、例えば、複合機４００やスキャナ３００の管理や利用のためのアプリケーションを実現するためのコンピュータプログラムであり、例えば、アプリケーションの一部として後述する画像処理を実現する。スキャナドライバプログラムＰＧ２は、複合機４００のスキャン機能やスキャナ３００を制御するためのスキャナドライバを実現するためのコンピュータプログラムである。これらのコンピュータプログラムＰＧ１、ＰＧ２は、例えば、サーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムＰＧ１、ＰＧ２は、ＤＶＤ−ＲＯＭなどに格納される形態で提供されてもよい。
【００１４】
計算機２００は、通信部２８０を介して、外部のデバイスであるスキャナ３００と複合機４００と通信可能に接続されている。スキャナ３００は、光学的に原稿を読み取ることによってスキャンデータを生成する画像読取装置である。複合機４００は、光学的に原稿を読み取ることによってスキャンデータを生成する画像読取部（図示省略）と、所定の方式（例えば、インクジェット、レーザー）によって用紙などの印刷媒体に画像を印刷する印刷実行部（図示省略）と、を備えている。
【００１５】
ＣＰＵ２１０は、アプリケーションプログラムＰＧ１を実行することにより、後述する画像処理を実行する。
【００１６】
Ａ−２．画像処理：
図２は、画像処理のフローチャートである。この画像処理は、原稿を光学的に読み取ることによってスキャン画像を示すスキャンデータを生成し、該スキャンデータを用いて、スキャン画像を示す高圧縮ＰＤＦファイルを生成する処理である。この画像処理は、保存形式として高圧縮ＰＤＦファイルが指定された原稿の読み取り指示が、ユーザから操作部２７０を介して計算機２００に入力された場合に実行される。高圧縮ＰＤＦファイルは、文字画像を表す圧縮済の文字画像データと、背景画像を表す圧縮済の背景画像データと、を含み、これらの複数個の画像データによって１個の画像を表すＰＤＦ形式の画像ファイルである。
【００１７】
Ｓ１０では、ＣＰＵ２１０は、対象画像データとしてのスキャンデータを取得する。具体的には、ＣＰＵ２１０は、スキャナドライバプログラムＰＧ２を起動して、スキャナドライバとしての機能を実行する。これによって、ＣＰＵ２１０は、スキャナ３００または複合機４００の画像読取部を制御して、ユーザが準備した原稿を光学的に読み取ることによってスキャンデータを取得する。スキャンデータは、複数個の画素にて構成されるビットマップデータ、具体的には、画素ごとの色をＲＧＢ値で表すＲＧＢ画像データである。１個の画素のＲＧＢ値は、赤（Ｒ）と緑（Ｇ）と青（Ｂ）との３個の色成分の階調値（以下、成分値とも呼ぶ）を含んでいる。本実施例では、各成分値の階調数は、２５６階調である。
【００１８】
なお、変形例では、ＣＰＵ２１０は、予め生成されて不揮発性記憶装置２３０などの記憶装置に格納済みのスキャンデータを、当該記憶装置から取得しても良い。
【００１９】
図３は、画像処理で用いられる画像の一例を示す図である。図３（Ａ）には、スキャンデータによって表されるスキャン画像ＳＩ、すなわち、本実施例の対象画像としてのスキャン画像ＳＩの一例が示されている。スキャン画像ＳＩには、図示しない複数の画素が、横方向と縦方向とに沿って、マトリクス状に配置されている。
【００２０】
スキャン画像ＳＩは、背景Ｂｇ１と、複数個のオブジェクトＯｂ１〜Ｏｂ４と、を含んでいる。オブジェクトＯｂ１、Ｏｂ２は、文字である。オブジェクトＯｂ３は、写真であり、オブジェクトＯｂ４は、描画である。描画は、イラスト、表、線図、模様などを表すオブジェクトである。
【００２１】
Ｓ１５では、ＣＰＵ２１０は、スキャン画像ＳＩ内の文字Ｏｂ１、Ｏｂ２に対応する文字情報Ｔｘ１、Ｔｘ２（図３（Ａ））を取得する。具体的には、ＣＰＵ２１０は、スキャンデータに対して、公知のＯＣＲ（Optical Character Recognition）技術で利用される文字認識処理を実行することによって、文字情報Ｔｘ１、Ｔｘ２を生成する。
【００２２】
文字情報Ｔｘ１は、対応する文字Ｏｂ１を示す文字コードを少なくとも含む。文字コードは、文字や記号をコンピュータで扱うために、文字や記号に割り当てられた識別情報（具体的には、数値）であり、例えば、「Ｕｎｉｃｏｄｅ」である。なお、本実施例では、文字情報Ｔｘ１は、さらに、文字コード以外の文字に関する情報、例えば、対応する文字Ｏｂ１のサイズを示すサイズ情報と、対応する文字Ｏｂ１のフォントを示すフォント情報と、を含んでいる。また、文字情報Ｔｘ１は、文字Ｏｂ１が配置された文字領域ＴＡ１のスキャン画像ＳＩ内の位置を示す座標情報を含んでいる。この座標情報によって、文字情報Ｔｘ１は、スキャン画像ＳＩ内の文字Ｏｂ１と対応付けられている。文字Ｏｂ２（文字領域ＴＡ２）に対応する文字情報Ｔｘ２についても同様である。
【００２３】
Ｓ２０では、ＣＰＵ２１０は、文字情報Ｔｘ１、Ｔｘ２を用いて、文字画像（参照画像ＲＩとも呼ぶ）を示す参照画像データを生成する。具体的には、生成される参照画像ＲＩに含まれる文字は、文字情報Ｔｘ１、Ｔｘ２に含まれる文字コードによって示される文字であり、文字情報Ｔｘ１、Ｔｘ２に含まれるサイズ情報によって示されるサイズを有する。また、参照画像ＲＩに含まれる文字は、文字情報Ｔｘ１、Ｔｘ２に含まれるフォント情報によって示されるフォントの文字であり、文字情報Ｔｘ１、Ｔｘ２に含まれる座標情報によって示される参照画像ＲＩ内の位置に配置される。参照画像データは、文字情報Ｔｘ１、Ｔｘ２をラスタライズすることによって得られるビットマップデータ、と言うこともできる。なお、参照画像データは、文字情報Ｔｘ１、Ｔｘ２を用いて、スキャンデータを用いずに、生成される。
【００２４】
図３（Ｂ）には、参照画像データによって示される参照画像ＲＩの一例が示されている。参照画像ＲＩは、スキャン画像ＳＩと同じサイズの画像、すなわち、スキャン画像ＳＩと同一の横方向および縦方向の画素数分の画素にて構成される画像である。参照画像ＲＩは、スキャン画像ＳＩ内の文字Ｏｂ１、Ｏｂ２に対応する文字画像である。すなわち、参照画像ＲＩは、スキャン画像ＳＩ内の文字Ｏｂ１に対応する文字情報Ｔｘ１を用いて生成される文字Ｔｏ１と、スキャン画像ＳＩ内の文字Ｏｂ２に対応する文字情報Ｔｘ２を用いて生成される文字Ｔｏ２と、背景Ｂｏ１と、を含んでいる。参照画像ＲＩは、文字Ｔｏ１、Ｔｏ２を構成する複数個の文字画素と、背景Ｂｏ１を構成する複数個の背景画素と、を含む二値画像である。
【００２５】
Ｓ２５では、ＣＰＵ２１０は、スキャンデータを用いて、スキャン画像ＳＩ内の文字を含む１個以上の文字領域を特定するための文字領域特定処理を実行する。具体的には、ＣＰＵ２１０は、ｓｏｂｅｌフィルタなどのエッジ検出フィルタをスキャンデータに適用して、エッジ画像ＥＩ（図３（Ｃ））を表すエッジ画像データを生成する。ＣＰＵ２１０は、エッジ画像ＥＩ内の、エッジ強度が基準値より大きい領域を特定し、当該領域に対応するスキャン画像ＳＩ内の領域をオブジェクト領域として特定する。図３（Ｂ）の例では、スキャン画像ＳＩの４つのオブジェクトＯｂ１〜Ｏｂ４にそれぞれ対応する４つのオブジェクト領域ＯＡ１〜ＯＡ４が、エッジ画像ＥＩ内に特定されている。エッジ画像ＥＩ内に４つのオブジェクト領域ＯＡ１〜ＯＡ４が特定されることは、スキャン画像ＳＩ内に、４つのオブジェクト領域が特定されることに等しい。ＣＰＵ２１０は、スキャン画像ＳＩ内の各オブジェクト領域の色分布に応じて、各オブジェクト領域が、文字領域であるか否かを判定する。具体的には、ＣＰＵ２１０は、オブジェクト領域の輝度のヒストグラムを用いて、当該領域内に含まれる輝度値の種類数Ｃ（色数Ｃ）を算出する。ＣＰＵ２１０は、オブジェクト領域に含まれる複数の画素を、オブジェクト領域の周囲の色（下地の色）に近似する色を有する非オブジェクト画素と、非オブジェクト画素以外のオブジェクト画素とに分類し、背景画素の数に対するオブジェクト画素の比率Ｄ（画素密度Ｄ）を算出する。文字は、文字以外のオブジェクトと比較して、色数Ｃ、および、画素密度Ｄが小さい傾向がある。ＣＰＵ２１０は、例えば、判定対象のオブジェクト領域の色数Ｃが第１の閾値より小さく、かつ、画素密度Ｄが第２の閾値より小さい場合に、当該オブジェクト領域は、文字領域であると判定する。
【００２６】
なお、文字領域を特定する手法は、様々な公知の手法を採用することができ、公知の手法は、例えば、特開平５−２２５３７８号公報、特開２００２−２８８５８９号公報に開示されている。
【００２７】
図３（Ａ）の例では、文字Ｏｂ１、Ｏｂ２にそれぞれ対応する文字領域ＴＡ１、ＴＡ２が、スキャン画像ＳＩ内に特定されている。
【００２８】
Ｓ３０〜Ｓ８５では、ＣＰＵ２１０は、特定済みの文字領域ごとに、文字を構成する複数個の文字画素を抽出するための一連の処理を実行する。
【００２９】
Ｓ３０では、ＣＰＵ２１０は、スキャン画像ＳＩ内に特定済みの複数個の文字領域の中から、処理対象の１個の文字領域を選択する。図３（Ａ）の例では、特定済みの文字領域ＴＡ１、ＴＡ２の中から、１つの文字領域が１個ずつ選択される。
【００３０】
Ｓ３５では、ＣＰＵ２１０は、処理対象の文字領域内の複数個の文字画素を抽出するための抽出条件を設定する。具体的には、ＣＰＵ２１０は、抽出すべき文字画素のＲＧＢ値の範囲（以下、抽出範囲とも呼ぶ）を設定する。
【００３１】
図４は、抽出範囲の設定について説明する図である。ＣＰＵ２１０は、処理対象の文字領域のＲＧＢの各成分値のヒストグラムを生成する。例えば、文字領域ＴＡ１、ＴＡ２のうち、Ｓ３０で選択された処理対象の１個の文字領域のＲ成分のヒストグラム（図４（Ａ））は、当該文字領域内の各画素を、各画素が有するＲ成分の値に応じて、複数のクラスに分類することによって生成される。本実施例では、Ｒ成分の値が取り得る２５６階調の階調値のそれぞれを、１個のクラスとして、ヒストグラムが生成される。図４（Ｂ）、（Ｃ）に示すＧ、Ｂ成分のヒストグラムについても同様である。
【００３２】
各成分のヒストグラムは、背景に対応するピークと、文字に対応するピークと、を含む。背景に対応するピークは、例えば、その成分の最頻値に対応するピーク、すなわち、ヒストグラムにおいて最も高いピークである。文字に対応するピークは、例えば、２番目に高いピークである。図４（Ａ）〜（Ｃ）のＲ、Ｇ、Ｂの各成分のヒストグラムでは、背景に対応するピークは、それぞれ、値Ｒｂｇ、Ｇｂｇ、Ｂｂｇの位置にあるピークであり、文字に対応するピークは、それぞれ、値Ｒｔｘ、Ｇｔｘ、Ｂｔｘの位置にあるピークである。文字に対応するピークに対応するＲＧＢ値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）は、文字の色を示す文字色値であり、背景に対応するピークに対応するＲＧＢ値（Ｒｂｇ、Ｇｂｇ、Ｂｂｇ）は、背景の色を示す背景色値である。
【００３３】
ＣＰＵ２１０は、ヒストグラムを用いて、文字色値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）を特定し、該文字色値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）に基づいて、抽出範囲を設定する。具体的には、文字色値の各成分の値を中心とする予め定められたデフォルトの幅を有する範囲が、各成分の抽出範囲として設定される。例えば、図４（Ａ）〜（Ｃ）の例では、Ｒ成分の範囲ＳＲｄ、Ｇ成分の範囲ＳＧｄ、Ｂ成分の範囲ＳＢｄが設定される。なお、範囲ＳＲｄ、ＳＧｂ、ＳＢｄを設定することは、これらの範囲の上限と下限を示す閾値を設定することであるので、文字画素を抽出するための閾値を設定すること、とも言うことができる。
【００３４】
抽出範囲が設定されることによって、抽出範囲に含まれる値を有する画素であることが、文字画素の抽出条件として設定される。より詳しくは、範囲ＳＲｄ、ＳＧｂ、ＳＢｄが設定されることによって、Ｒ成分の範囲ＳＲｄ内のＲ成分の値と、Ｇ成分の範囲ＳＧｄ内のＧ成分の値と、Ｂ成分の範囲ＳＢｄ内のＢ成分の値と、を含むＲＧＢ値を有する画素であることが、文字画素の抽出条件として設定される。なお、Ｓ３５にて設定される抽出条件をデフォルトの抽出条件とも呼ぶ。
【００３５】
Ｓ４０では、ＣＰＵ２１０は、デフォルトの抽出条件を満たす文字画素を抽出する。具体的には、ＣＰＵ２１０は、処理対象の文字領域内の複数個の画素のうち、Ｓ３５にて設定済みの抽出条件を満たす画素を文字画素に分類し、該抽出条件を満たさない画素を背景画素に分類する二値化処理を実行する。
【００３６】
図５は、文字画素の抽出結果の一例を示す図である。図５（Ａ）には、図３（Ａ）の文字領域ＴＡ１が処理対象の文字領域である場合に、文字領域ＴＡ１内においてデフォルトの抽出条件を用いて抽出される文字画素ＴＰｄが示されている。
【００３７】
Ｓ４２では、ＣＰＵ２１０は、処理対象の文字領域内にて抽出済みの文字画素の個数ＮＴ１を算出する。
【００３８】
Ｓ４４では、ＣＰＵ２１０は、処理対象の文字領域に対応する参照画像ＲＩ内の対応領域を特定する。ここで、文字領域に対応する対応領域は、互いに同じサイズのスキャン画像ＳＩと参照画像ＲＩとを、４辺が互いに重なるように重ねた場合に、スキャン画像ＳＩ内の文字領域と重なる参照画像ＲＩ内の領域である。例えば、図３（Ａ）の文字領域ＴＡ１が処理対象の文字領域である場合には、図３（Ｂ）の領域ＣＡ１が、対応領域として特定される。スキャン画像ＳＩ内の文字領域と、該文字領域に対応する参照画像ＲＩ内の対応領域とは、互いに同一の画素数を有する互いに同一のサイズの領域である。
【００３９】
Ｓ４６では、ＣＰＵ２１０は、参照画像ＲＩ内の対応領域内の文字画素の個数ＮＴ２を算出する。
【００４０】
Ｓ５０では、ＣＰＵ２１０は、２個の領域間の文字画素の個数の差分ΔＴ、すなわち、処理対象の文字領域内の文字画素の個数ＮＴ１と、対応領域内の文字画素の個数ＮＴ２と、の差分ΔＴを算出する（ΔＴ＝（ＮＴ１−ＮＴ２））。
【００４１】
Ｓ５５では、ＣＰＵ２１０は、差分ΔＴの絶対値が、第１の基準値ＴＨ１より大きいか否かを判断する。第１の基準値ＴＨ１には、例えば、処理対象の文字領域内の画素の総数の第１の割合分の個数が用いられる。第１の割合は、本実施例では、１０％である。
【００４２】
差分ΔＴの絶対値が、第１の基準値ＴＨ１より大きい場合には（Ｓ５５：ＹＥＳ）、Ｓ６０にて、ＣＰＵ２１０は、差分ΔＴの絶対値が第２の基準値ＴＨ２以下であるか否かを判断する。第２の基準値ＴＨ２には、例えば、処理対象の文字領域内の画素の総数の第２の割合分の個数が用いられる。第２の割合は、上述した第１の割合より大きな値であり、本実施例では、３０％である。
【００４３】
差分ΔＴの絶対値が、第２の基準値ＴＨ２以下である場合には（Ｓ６０：ＹＥＳ）、Ｓ６５〜Ｓ７５にて、文字画素のデフォルトの抽出条件の調整が行われる。デフォルトの抽出条件の調整は、抽出条件を満たす文字画素の個数ＮＴ１が、対応領域内の文字画素の個数ＮＴ２に近づくように行われる。
【００４４】
Ｓ６５では、ＣＰＵ２１０は、対応領域内の文字画素の個数ＮＴ２は、処理対象の文字領域内の文字の個数ＮＴ１より大きいか否かを判断する。
【００４５】
対応領域内の文字画素の個数ＮＴ２が、処理対象の文字領域内の文字画素の個数ＮＴ１より多い場合には（Ｓ６５：ＹＥＳ）、処理対象の文字領域内の文字画素の個数ＮＴ１は、抽出すべき適切な文字画素の個数より過度に少ないと考えられる。このために、この場合には、抽出条件を満たす文字画素の個数ＮＴ１が増加するように、デフォルトの抽出条件が調整される。具体的には、Ｓ７０にて、ＣＰＵ２１０は、Ｓ３５にて設定された抽出範囲を広げる。より具体的には、抽出範囲は、図４（Ａ）〜（Ｃ）のＲ、Ｇ、Ｂ成分の範囲ＳＲｄ、ＳＧｄ、ＳＢｄから、より広い範囲ＳＲｂ、ＳＧｂ、ＳＢｂに変更される。図４（Ａ）〜（Ｃ）に示すように、変更後の範囲ＳＲｂ、ＳＧｂ、ＳＢｂは、文字色値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）の各成分の値を中心とし、かつ、デフォルトの幅より広い幅を有する範囲である。
【００４６】
対応領域内の文字画素の個数ＮＴ２が、処理対象の文字領域内の文字画素の個数ＮＴ１以下である場合には（Ｓ６５：ＮＯ）、処理対象の文字領域内の文字画素の個数ＮＴ１は、抽出すべき適切な文字画素の個数より過度に多いと考えられる。このために、この場合には、抽出条件を満たす文字画素の個数ＮＴ１が減少するように、デフォルトの抽出条件が調整される。具体的には、Ｓ７５にて、ＣＰＵ２１０は、Ｓ３５にて設定された抽出範囲を狭くする。より具体的には、抽出範囲は、図４（Ａ）〜（Ｃ）のＲ、Ｇ、Ｂ成分の範囲ＳＲｄ、ＳＧｄ、ＳＢｄから、より狭い範囲ＳＲｓ、ＳＧｓ、ＳＢｓに変更される。図４（Ａ）〜（Ｃ）に示すように、変更後の範囲ＳＲｓ、ＳＧｓ、ＳＢｓは、文字色値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）の各成分の値を中心とし、かつ、デフォルトの幅より狭い幅を有する範囲である。
【００４７】
Ｓ８０では、ＣＰＵ２１０は、調整済みの抽出条件を満たす文字画素を抽出する。具体的には、ＣＰＵ２１０は、処理対象の文字領域内の複数個の画素のうち、Ｓ７０またはＳ７５にて調整済みの抽出条件を満たす画素を文字画素に分類し、該調整済みの抽出条件を満たさない画素を背景画素に分類する二値化処理を実行する。調整済みの抽出条件を用いて抽出された文字画素が、処理対象の文字領域内で最終的に抽出される文字画素となる。
【００４８】
図５（Ｂ）には、抽出範囲を広げることによって、デフォルトの抽出条件が調整された場合に、文字領域ＴＡ１内において調整済みの抽出条件を用いて抽出される文字画素ＴＰｂが示されている。図５（Ｃ）には、抽出範囲を狭くすることによって、デフォルトの抽出条件が調整された場合に、文字領域ＴＡ１内において調整済みの抽出条件を用いて抽出される文字画素ＴＰｓが示されている。図５（Ｂ）、（Ｃ）には、比較のために、デフォルトの抽出条件を用いて抽出される文字画素ＴＰｄ（図５（Ａ））が波線で示されている。
【００４９】
図５（Ｂ）では、調整済みの抽出条件を用いて抽出される文字画素ＴＰｂによって表現される文字の太さが、デフォルトの抽出条件を用いて抽出される文字画素ＴＰｄより太くなっている。このように、図５（Ｂ）では、文字画素ＴＰｂの個数は、文字画素ＴＰｄの個数より増加していることが解る。図５（Ｃ）では、調整済みの抽出条件を用いて抽出される文字画素ＴＰｓによって表現される文字の太さが、デフォルトの抽出条件を用いて抽出される文字画素ＴＰｄより細くなっている。このように、図５（Ｃ）では、文字画素ＴＰｓの個数は、文字画素ＴＰｄの個数より減少していることが解る。
【００５０】
差分ΔＴの絶対値が、第１の基準値ＴＨ１以下である場合には（Ｓ５５：ＮＯ）、Ｓ７０〜Ｓ８０の処理は、スキップされる。すなわち、この場合には、Ｓ４０にてデフォルトの抽出条件を用いて抽出された文字画素が、そのまま、最終的に抽出される文字画素になる。この場合には、差分ΔＴの絶対値が比較的小さいので、デフォルトの抽出条件を用いて抽出された文字画素の個数ＮＴ１は、適切な個数である、と考えられるからである。
【００５１】
差分ΔＴの絶対値が、第２の基準値ＴＨ２より大きい場合にも（Ｓ６０：ＮＯ）、Ｓ７０〜Ｓ８０の処理は、スキップされ、Ｓ４０にてデフォルトの抽出条件を用いて抽出された文字画素が、そのまま、最終的に抽出される文字画素になる。このように、差分ΔＴの絶対値が過度に大きい場合には、例えば、Ｓ１５での文字認識の誤りによって、取得した文字コードが実際の文字を示していないことなどに起因して、参照画像ＲＩ内の対応領域内の文字画素の個数ＮＴ２が異常な値となっている可能性が高い。対応領域内の文字画素の個数ＮＴ２が異常な値となっている場合には、抽出条件の調整を行うことによって、抽出される文字画素の個数を適切な値に調整することはできないと考えられる。このために、Ｓ７０〜Ｓ８０の処理をスキップすることが適切であると考えられるからである。
【００５２】
このように、１個の文字領域を処理対象として、Ｓ３５〜Ｓ８０の処理が行われた結果、処理対象の文字領域において抽出された文字画素を示す文字二値データが生成される。文字二値データは、例えば、文字画素を「ＯＮ」の画素とし、背景画素を「ＯＦＦ」の画素とする二値データである。図３（Ｄ）には、スキャン画像ＳＩの文字領域ＴＡ１、ＴＡ２（図３（Ａ））に対応する文字二値データによって示される二値画像ＴＩＡ、ＴＩＢが示されている。
【００５３】
Ｓ８５では、ＣＰＵ２１０は、Ｓ２５にて特定済みの全ての文字領域を処理したか否かを判断する。未処理の文字領域がある場合には（Ｓ８５：ＮＯ）、ＣＰＵ２１０は、Ｓ３０に戻る。全ての文字領域を処理した場合には（Ｓ８５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ９０に処理を進める。
【００５４】
Ｓ９０では、ＣＰＵ２１０は、スキャン画像ＳＩを示す画像ファイルとして、高圧縮ＰＤＦファイルを生成する圧縮画像生成処理を実行する。図６は、圧縮画像生成処理のフローチャートである。
【００５５】
Ｓ１１０では、ＣＰＵ２１０は、文字二値データと、スキャンデータとを用いて、背景画像データを生成する。具体的には、ＣＰＵ２１０は、スキャンデータによって示されるスキャン画像ＳＩに含まれる複数の画素のうち、文字二値データによって特定される文字画素の値（ＲＧＢ値）を背景色値に置き換える。背景色値は、スキャン画像ＳＩの背景Ｂｇ１の色を表す値であり、例えば、上述した背景Ｂｇ１に対応するピークに対応するＲＧＢ値（Ｒｂｇ、Ｇｂｇ、Ｂｂｇ）である（図４）。この結果、スキャン画像ＳＩから文字が消去された背景画像ＢＩを表す背景画像データが生成される。図３（Ｅ）には、図３（Ａ）のスキャン画像ＳＩに対応する背景画像ＢＩが図示されている。背景画像ＢＩは、消去された文字Ｏｂ１、Ｏｂ２を含まず、文字以外のオブジェクト、すなわち、写真Ｏｂ３と、描画Ｏｂ４とを含んでいる。
【００５６】
Ｓ１２０では、ＣＰＵ２１０は、生成された背景画像データを圧縮する。背景画像ＢＩは、文字を含んでおらず、写真や描画を含み得る多階調（例えば、２５６階調）の画像である。ＣＰＵ２１０は、このような多階調の画像の圧縮に適した圧縮方式、具体的には、ＪＰＥＧ（Joint Photographic Experts Group）圧縮を用いて、背景画像データを圧縮する。背景画像ＢＩは、文字を含んでいないので、高周波数成分が比較的少ない。この結果、背景画像データをＪＰＥＧ圧縮によって圧縮した際の圧縮率は、元データ（スキャンデータ）を圧縮した際の圧縮率より高くなる。
【００５７】
ステップＳ１３０では、ＣＰＵ２１０は、文字二値データを圧縮する。例えば、図３（Ｄ）に示す二値画像ＴＩＡ、ＴＩＢをそれぞれ示す２個の文字二値データが圧縮される。文字を示す二値画像は、解像度を落とすとエッジのがたつきが目立ち、視認性が悪化しやすい。ＣＰＵ２１０は、二値データに適した圧縮方式、具体的には、高い圧縮率で、かつ、解像度を落とすことなく二値データを圧縮できる可逆圧縮方式、例えば、ＦＡＸＧ３やＭＭＲ（Modified Modified Read）圧縮を用いて、文字二値データを圧縮する。このように、背景画像データと、文字二値データとは、それぞれ異なる方法で圧縮される。
【００５８】
ステップＳ１４０では、ＣＰＵ２１０は、圧縮済みの背景画像データと、圧縮済みの文字二値データと、文字色値と、座標情報と、文字コードと、を用いて、高圧縮ＰＤＦファイルＩＦを生成する。文字色値は、各文字二値データによって示される二値画像内の文字の色を表す色値であり、例えば、上述した文字に対応するピークに対応するＲＧＢ値（Ｒｔｘ、Ｇｔｘ、Ｂｔｘ）である（図４）。座標情報は、文字二値データによって示される二値画像の背景画像内の位置を示す情報である。文字コードは、文字二値データによって示される二値画像内の各文字を示す識別情報であり、図２のＳ１５にて取得済みである。ＰＤＦでは、複数の異なる形式の画像データを１つのファイルに格納し、当該ファイルを再現する際には、これらの画像データを重畳して１つの画像として再現可能なように、規格が定められている。ＣＰＵ２１０は、規格に従って、高圧縮ＰＤＦファイルＩＦを生成する。この結果、文字を含むスキャン画像ＳＩを、文字がシャープで読みやすく、かつ、データ量が比較的小さい形で保存することができる。また、文字に、対応する文字コードが関連付けられていることで、例えば、高圧縮ＰＤＦファイルＩＦを、端末装置において、ビューアプログラムを用いて表示した場合に、表示された画像内の特定の文字の位置を検索することができる。
【００５９】
図７は、高圧縮ＰＤＦファイルＩＦを概念的に示す図である。この高圧縮ＰＤＦファイルＩＦは、図３（Ａ）のスキャン画像ＳＩを示す高圧縮ＰＤＦファイルＩＦである。図７に示すように、１個の高圧縮ＰＤＦファイルＩＦには、図３（Ｅ）の背景画像ＢＩを示す圧縮済みの背景画像データと、図３（Ｄ）の二値画像ＴＩＡ、ＴＩＢをそれぞれ示す圧縮済みの文字二値データと、が格納されている。高圧縮ＰＤＦファイルＩＦには、さらに、二値画像ＴＩＡ、ＴＩＢ内の文字の色を示す文字色値と、二値画像ＴＩＡ、ＴＩＢの背景画像ＢＩ内での位置を示す座標情報と、二値画像ＴＩＡ、ＴＩＢの背景画像ＢＩ内の各文字を示す文字コードとが、圧縮済みの文字二値データと関連付けて格納されている。
【００６０】
図２のＳ９０の圧縮画像データ生成処理が終了すると、図２の画像処理は終了される。生成済みの高圧縮ＰＤＦファイルＩＦは、例えば、様々な形で出力される。例えば、高圧縮ＰＤＦファイルＩＦは、不揮発性記憶装置２３０に格納される。これに代えて、高圧縮ＰＤＦファイルＩＦは、ユーザの他の端末装置に送信されても良い。また、高圧縮ＰＤＦファイルＩＦは、高圧縮ＰＤＦファイルＩＦを用いて表示部２６０にスキャン画像ＳＩを表示させる形態で、出力されても良いし、高圧縮ＰＤＦファイルＩＦをプリンタに送信して、プリンタにスキャン画像ＳＩを印刷させる形態で、出力されても良い。
【００６１】
以上説明した本実施例によれば、ＣＰＵ２１０は、スキャン画像ＳＩ内の文字Ｏｂ１、Ｏｂ２に対応する文字コードを含む文字情報Ｔｘ１、Ｔｘ２を用いて、スキャン画像ＳＩ内の複数個の文字画素の個数に関する指標値を取得する。具体的には、スキャン画像ＳＩ内の文字領域ＴＡ１、ＴＡ２に対応する参照画像ＲＩ内の対応領域ＣＡ１、ＣＡ２内の文字画素の個数ＮＴ２が、指標値として取得される（図２のＳ２０、Ｓ４４、Ｓ４６）。そして、ＣＰＵ２１０は、当該指標値を用いて、文字画素の抽出条件を決定する（図２のＳ３５、Ｓ５０〜Ｓ７５）。この結果、スキャン画像ＳＩ内の複数個の文字画素を精度良く抽出することができる。
【００６２】
仮に、文字コード等を用いない場合には、考慮すべき情報が不十分であるために、適切な抽出条件を決定できない可能性がある。例えば、スキャン画像ＳＩ内の文字の色のばらつきの程度や、文字のエッジ強度などは、画像によって異なり得るので、上述した抽出範囲などの抽出条件を、適切に決定することは比較的困難である。例えば、抽出範囲が過度に狭い場合には、抽出される文字画素の個数が過度に少なくなり、抽出される文字画素によって表現される文字がかすれてしまう場合がある。また、抽出範囲が過度に広い場合には、抽出される文字画素の個数が過度に多くなり、抽出される文字画素によって表現される文字が潰れてしまう場合がある。いずれの場合でも抽出される文字画素によって表現される文字の判読性や見栄えが低下する不具合が発生し得る。本実施例では、文字コードを用いて取得される指標値を用いて、文字画素の抽出条件が決定されるので、複数個の文字画素を精度良く抽出できる。その結果、例えば、上記不具合を抑制できる。
【００６３】
また、上記実施例では、ＣＰＵ２１０は、上記の指標値と、スキャンデータと、を用いて、文字画素の抽出条件を決定するので、スキャン画像ＳＩ内の文字画素をより精度良く抽出することができる。
【００６４】
より具体的には、ＣＰＵ２１０は、スキャンデータを用いて、上記の指標値を用いずに、デフォルトの抽出条件を満たす複数個の文字画素を抽出する（図２のＳ３５、Ｓ４０）。そして、ＣＰＵ２１０は、デフォルトの抽出条件を満たす複数個の文字画素の抽出結果（具体的には、抽出された文字画素の個数ＮＴ１）と、上記の指標値（具体的には、対応領域内の文字画素の個数ＮＴ２）と、を用いて、最終的な文字画素の抽出条件を決定する（Ｓ５０〜Ｓ７５）。この結果、より適切な文字画素の抽出条件を決定することができる。例えば、デフォルトの抽出条件が適切ではない場合であっても、適切な文字画素の抽出条件を決定することができる。
【００６５】
さらに、詳しく説明すれば、上記の指標値、具体的には、対応領域内の文字画素の個数ＮＴ２は、処理対象の文字領域内に抽出すべき文字画素の個数ＮＴ２を示していると、言うことができる。上記実施例では、文字領域内のデフォルトの抽出条件を満たす文字画素の個数ＮＴ１が、指標値によって示される文字領域内に抽出すべき文字画素の個数ＮＴ２に近づくように、デフォルトの抽出条件が調整されることによって、最終的な文字画素の抽出条件が決定される（図２のＳ５５〜Ｓ７５）。この結果、より適切な抽出条件を決定することができる。例えば、デフォルトの抽出条件を満たす文字画素の個数が、指標値から見て過度に多いと考えられる場合には、抽出すべき文字画素の個数が減少するように、デフォルトの抽出条件が調整される（図２のＳ６４：ＮＯ、Ｓ７５）。これによって、適切に最終的な文字画素の抽出条件が決定される。逆に、デフォルトの抽出条件を満たす文字画素の個数が、指標値から見て過度に少ないと考えられる場合には、抽出すべき文字画素の個数が増加するように、デフォルトの抽出条件が調整される（図２のＳ６４：ＹＥＳ、Ｓ７０）。これによって、適切に最終的な文字画素の抽出条件が決定される。
【００６６】
さらに、上述したように、デフォルトの抽出条件や、最終的な抽出条件は、抽出範囲内に判定対象の画素の値が含まれるか否かに基づく条件である。すなわち、最終的な抽出条件は、抽出範囲の上限や下限を定義する第１の閾値と、判定対象の画素の値と、の比較に基づく条件である。また、デフォルトの抽出条件は、抽出範囲の上限や下限を定義する第２の閾値と、判定対象の画素の値と、の比較に基づく条件である。したがって、上記実施例における抽出範囲の調整（Ｓ７０、Ｓ７５）は、最終的な抽出条件を満たす文字画素の個数が、デフォルトの抽出条件を満たす文字画素の個数ＮＴ１よりも、指標値によって示される抽出すべき前記複数個の文字画素の個数ＮＴ２に近づくように、第２の閾値を基準として、第１の閾値を決定するものである、と言うことができる。このように、デフォルトの抽出条件における第２の閾値を基準として、最終的な抽出条件の第１の閾値が決定されるので、最終的な抽出条件を容易に適切な値に決定することができる。
【００６７】
また、指標値（具体的には、対応領域内の文字画素の個数ＮＴ２）は、スキャンデータを用いずに、取得される（図２のＳ２０、Ｓ４４、Ｓ４６）。この結果、スキャンデータを用いずに取得される文字領域内の文字画素の個数に関する指標値を用いて、精度良く文字画素を抽出できる抽出条件を決定することができる。
【００６８】
より詳しくは、ＣＰＵ２１０は、文字コードを用いて、スキャンデータを用いずに、文字領域に対応する文字画像（具体的には、図３（Ｂ）内の対応領域ＣＡ１、ＣＡ２内の画像）を含む参照画像ＲＩを示す参照画像データを生成する（図２のＳ２０）。そして、ＣＰＵ２１０は、参照画像データを用いて、文字領域内の指標値を取得する（図２のＳ４４、Ｓ４６）。この結果、参照画像データを用いて、適切な指標値を取得することができる。
【００６９】
さらに、ＣＰＵ２１０は、差分ΔＴの絶対値が第２の基準値ＴＨ２より大きい場合、すなわち、デフォルトの抽出条件を満たす文字画素の個数ＮＴ１が、指標値によって示される抽出すべき文字画素の個数ＮＴ２から第２の基準値ＴＨ２を超えて離れている場合には（図２のＳ６０：ＮＯ）、Ｓ７０やＳ７５の抽出条件の調整を行わない。そして、ＣＰＵ２１０は、デフォルトの抽出条件を満たす文字画素を、最終的な文字画素として抽出する。この結果、指標値が適切でない場合に、デフォルトの抽出条件が不適切に調整されることを抑制できる。したがって、不適切な複数個の文字画素が抽出されることを抑制することができる。
【００７０】
また、ＣＰＵ２１０は、差分ΔＴの絶対値が第１の基準値ＴＨ１以下である場合、すなわち、デフォルトの抽出条件を満たす文字画素の個数ＮＴ１が、指標値によって示される抽出すべき文字画素の個数ＮＴ２から第１の基準値ＴＨ１を超えるほど離れていない場合には（図２のＳ５５：ＮＯ）、Ｓ７０やＳ７５の抽出条件の調整を行わない。そして、ＣＰＵ２１０は、デフォルトの抽出条件を満たす文字画素を、最終的な文字画素として抽出する。この結果、デフォルトの抽出条件を用いることが妥当である場合に、デフォルトの抽出条件が調整されないので、適切な複数個の文字画素を抽出することができる。
【００７１】
さらに、ＣＰＵ２１０は、スキャン画像ＳＩ内の１個以上の文字領域を特定し（図２のＳ２５）、特定済みの文字領域ごとに、Ｓ３５〜Ｓ８０の処理を行う。すなわち、特定済みの文字領域ごとに、指標値の算出（Ｓ４６）や、最終的な抽出条件の決定（Ｓ６５〜Ｓ７５）や、文字画素の抽出（Ｓ８０）が実行される。この結果、文字領域ごとに、適切に文字画を抽出できるので、文字画素の抽出精度をさらに向上することができる。
【００７２】
以上の説明から解るように、上記実施例のＳ４０で用いられるデフォルトの抽出条件は、第２の抽出条件の例であり、Ｓ８０で用いられる抽出条件は、第１の抽出条件の例である。また、Ｓ４０にて抽出される複数個の文字画素は、第２の抽出条件を満たす複数個の抽出画素の例であり、Ｓ８０にて抽出される複数個の文字画素は、第１の抽出条件を満たす複数個の文字画素の例である。また、上記実施例のスキャン画像ＳＩ内の文字領域ＴＡ１、ＴＡ２は、対象画像内の特定領域の例である。
【００７３】
Ｂ．変形例：
（１）上記実施例では、指標値は、参照画像ＲＩ内の対応領域内の文字画素の個数ＮＴ２である。指標値は、これに限られず、スキャン画像ＳＩ内の文字画素の個数に関する値であれば良い。例えば、指標値は、例えば、対応領域の面積に対する対応領域内の文字画素の個数のレベルを、複数段階（例えば、３段階）で示す値であっても良い。この場合には、例えば、ＣＰＵ２１０は、文字コードによって示される文字が数字やアルファベットである場合には、文字画素の個数が比較的少ないことを示す指標値を取得し、文字コードによって示される文字がひらがなやカタカナである場合には、文字画素の個数が標準的であることを示す指標値を取得し、文字コードによって示される文字が漢字である場合には、文字画素の個数が比較的多いことを示す指標値を取得しても良い。そして、ＣＰＵ２１０は、指標値が文字画素の個数が比較的多いことを示すにも関わらず、デフォルトの抽出条件を満たす文字画素の個数ＮＴ１が、基準値より少ない場合には、抽出条件を満たす文字画素の個数が増加するように、抽出条件を調整しても良い。また、ＣＰＵ２１０は、指標値が文字画素の個数が比較的少ないことを示すにも関わらず、デフォルトの抽出条件を満たす文字画素の個数ＮＴ１が、基準値より多い場合には、抽出条件を満たす文字画素の個数が減少するように、抽出条件を調整しても良い。
【００７４】
（２）上記実施例では、文字情報は、文字コードと、サイズ情報と、フォント情報と、を含んでいるが、少なくとも文字コードを含んでいれば良く、サイズ情報やフォント情報は省略されても良い。例えば、上記変形例（１）に示す例では、指標値を取得するために、サイズ情報やフォント情報は、必要ないことがわかる。
【００７５】
（３）上記実施例では、文字情報を用いて、参照画像データを生成し、該参照画像データを用いて、指標値（具体的には、対応領域内の文字画素の個数ＮＴ２）を決定している。これに代えて、参照画像データを生成することなく、文字情報を用いて、指標値を決定しても良い。例えば、例えば、上記変形例（１）に示す例では、指標値を取得するために、参照画像データを生成する必要はないことがわかる。
【００７６】
また、各文字コードによって示される文字の画像における画素数を、例えば、文字のサイズごとに予め算出し、当該画素数を記憶したデータベースを予め準備しておいても良い。この場合には、ＣＰＵ２１０は、参照画像データを生成することなく、該データベースを参照して、文字コードと文字のサイズに対応する文字画素の個数ＮＴ２を決定しても良い。該データベースは、計算機２００の不揮発性記憶装置２３０に格納されていても良く、計算機２００と通信可能に接続された他の計算機、例えば、サーバに格納されていても良い。
【００７７】
（４）また、指標値は、例えば、いわゆる射影ヒストグラムを用いて算出される値であっても良い。図８は、文字領域ＴＡ１の射影ヒストグラムの一例を示す図である。ＣＰＵ２１０は、例えば、処理対象の文字領域の射影ヒストグラムを、デフォルトの抽出条件を満たす文字画素について生成する。例えば、文字領域ＴＡ１の複数個の画素を、縦方向の位置に基づいて、複数個のクラスに分類する。本実施例では、縦方向の位置が等しい複数個の画素、すなわち、横方向に延びる１本の画素のライン上の複数個の画素が、１個のクラスに分類される。例えば、文字領域ＴＡ１のサイズが、縦Ｐ画素×横Ｑ画素である場合には、文字領域ＴＡ１内の複数個の画素は、Ｐ個のクラスに分類され、１個のクラスに属する画素数は、Ｑ個である。そして、ＣＰＵ２１０は、Ｐ個のクラスのそれぞれについて、各クラスに属するＱ個の画素のうち、文字画素の個数をカウントすることによって、縦方向の射影ヒストグラムＢｈ１（図８）を作成する。同様に、ＣＰＵ２１０は、横方向の射影ヒストグラムＢｈ２（図８）を生成する。
【００７８】
そして、ＣＰＵ２１０は、同様に、参照画像ＲＩの対応領域について、それぞれ、縦方向および横方向の射影ヒストグラムを生成する（図示省略）。ＣＰＵ２１０は、これらの射影ヒストグラムの形状に関する特徴値（例えば、ヒストグラムの面積など）を、指標値として算出する。そして、これらの射影ヒストグラムの形状に関する特徴値に基づいて、参照画像ＲＩの対応領域の射影ヒストグラムと、文字領域ＴＡ１の射影ヒストグラムと、が類似しているか否かを判断する。そして、ＣＰＵ２１０は、類似している場合には、デフォルトの抽出条件の調整を行わない。そして、類似していない場合には、参照画像ＲＩの対応領域の射影ヒストグラムと、文字領域ＴＡ１の射影ヒストグラムとが、類似するように、デフォルトの抽出条件の調整を行うことによって、最終的な抽出条件を決定しても良い。
【００７９】
（５）上記実施例では、デフォルトの抽出条件を設定し、指標値を用いて、デフォルトの抽出条件を調整することによって、最終的な抽出条件を決定している。これに代えて、デフォルトの抽出条件を設定することなく、指標値を用いて、最終的な抽出条件を決定しても良い。例えば、文字画素は、一般的に、明度が比較的低い画素であり、背景画素は、明度が比較的高い画素であることが多い。このために、ＣＰＵ２１０は、指標値として、対応領域内の文字画素の個数ＮＴ２を取得した場合には、処理対象の文字領域内の複数固の画素のうち、明度が低い順に、１番目からＮＴ２番目までの画素を、文字画素として抽出するように、文字画素の最終的な抽出条件を決定しても良い。
【００８０】
（６）上記実施例では、スキャンデータと、指標値と、を用いて、最終的な抽出条件を決定している。これに代えて、指標値だけを用いて、最終的な抽出条件を決定してもよい。例えば、ＣＰＵ２１０は、文字コードを用いて、文字コードによって示される文字の平均の画数を指標値として、算出する。そして、ＣＰＵ２１０は、画数が比較的多い場合には、文字が潰れて見栄えが低下しやすいために、文字が潰れないように、比較的狭い抽出範囲を用いる抽出条件を、最終的な抽出条件として決定し、画数が比較的少ない場合には、文字が潰れる可能性は低いために、文字がかすれないように、比較的広い抽出範囲を用いる抽出条件を、最終的な抽出条件として決定しても良い。
【００８１】
（７）なお、上記実施例では、文字領域ごとに、指標値の取得や、抽出条件の決定を行っているが、スキャン画像ＳＩの全体で１個の指標値を取得しても良く、スキャン画像ＳＩの全体で１個の抽出条件を決定しても良い。
【００８２】
（８）上記実施例では、文字画素の抽出条件では、１個の色成分について、上限と下限との２個の閾値を有する抽出範囲が用いられているが、１個の閾値のみを有する抽出範囲が用いられても良い。例えば、１個の色成分について、１個の閾値未満の範囲を抽出範囲とし、１個の閾値以上の範囲を非抽出範囲としても良い。
【００８３】
（９）上記実施例では、デフォルトの抽出条件の抽出範囲を変更して、最終的な抽出条件を決定している。例えば、抽出範囲を広げることに代えて、デフォルトの抽出条件を満たす複数個の文字画素を含む二値画像に対して、二値画像内の文字を太らせるいわゆる太らせフィルタを適用することによって、抽出すべき文字画素の個数を増加させても良い。この場合には、デフォルトの抽出条件を満たす複数個の画素を含む二値画像に対して、太らせフィルタして得られる画素であることが、最終的な文字画素の抽出条件である、と言うことができる。同様に、抽出範囲を狭くすることに代えて、デフォルトの抽出条件を満たす複数個の文字画素を含む二値画像に対して、二値画像内の文字を細らせるいわゆる細らせフィルタを適用することによって、抽出すべき文字画素の個数を減少させても良い。
【００８４】
（１０）上記実施例では、文字画素の抽出結果を用いて、高圧縮ＰＤＦファイルが生成されている。これに代えて、例えば、ＣＰＵ２１０は、ＸＰＳ形式などの他の形式の画像ファイルを生成しても良い。また、ＣＰＵ２１０は、文字画素の抽出結果を用いて、抽出された文字画素によって特定された文字に対して所定の補正処理を行った補正済み画像を示す画像ファイルを生成してもよい。所定の補正処理は、例えば、文字の色を見やすい色に補正する処理や、文字のエッジを強調する処理などが含まれる。
【００８５】
（１１）上記実施例では、対象画像データは、スキャンデータであるが、これに限られない。対象画像データは、例えば、ワープロソフトなどの文書作成アプリケーションによって生成された画像ファイル（例えば、ＰＤＦファイル）であっても良い。この場合等において、ＰＤＦファイルに予め文字情報が付加されている場合には、図２の画像処理において、文字認識処理を行う必要はなく、図２のＳ１５では、ＣＰＵ２１０は、ＰＤＦファイルに予め付加されている文字情報を取得すればよい。
【００８６】
（１２）上記各実施例において、計算機２００が実行する図２の画像処理は、複合機４００やスキャナ３００などの画像読取部を有する装置、あるいは、デジタルカメラなどの光学的な画像データ生成部を有する装置、あるいは、計算機２００と通信可能な図示しないサーバによって実行されても良い。例えば、当該画像処理機能を備える複合機やスキャナは、自身が有する画像読取部を用いて生成したスキャンデータに対して画像処理を行って、処理済み画像データ（例えば、高圧縮ＰＤＦデータ）を生成し、当該処理済み画像データを、通信可能に接続された計算機２００に出力しても良い。また、当該画像処理機能を備えるサーバは、計算機２００や複合機４００やスキャナ３００からネットワークを介して取得したスキャンデータに対して画像処理を行って、処理済み画像データを生成し、当該処理済み画像データを、ネットワークを介して計算機２００に出力しても良い。
【００８７】
一般的に言えば、画像処理機能を実現する装置は、計算機２００に限らず、複合機、デジタルカメラ、スキャナ、サーバなどによって実現されても良い。また、当該画像処理機能は、１つの装置で実現されても良いし、ネットワークを介して接続された複数の装置によって、実現されても良い。この場合には、当該画像処理機能を実現する複数の装置を備えるシステムが、画像処理装置に相当する。
【００８８】
（１３）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【００８９】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００９０】
２００...計算機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２６０...表示部、２７０...操作部、２８０...通信部、３００...スキャナ、４００...複合機、ＰＧ１...アプリケーションプログラム、ＰＧ２...スキャナドライバプログラム
【図１】
2017135613.tif 000003
【図２】
2017135613.tif 000004
【図３】
2017135613.tif 000005
【図４】
2017135613.tif 000006
【図５】
2017135613.tif 000007
【図６】
2017135613.tif 000008
【図７】
2017135613.tif 000009
【図８】
2017135613.tif 000010