(57)【要約】 【課題】オブジェクトの種類に拘わらずに、オブジェクトの色数を判断する。【解決手段】画像処理装置は、対象画像データによって表される対象画像において、オブジェクトを構成する複数個の第１の画素と、背景を構成する画素を少なくとも含む複数個の第２の画素と、を特定するオブジェクト特定部と、第１の画素と第２の画素とを含む複数個の画素によって構成される注目範囲を用いて、注目範囲内の少なくとも１個の第１の画素を、第２の画素に変更する変更部であって、変更される第１の画素は、第２の画素と隣り合う画素を少なくとも含む、変更部と、第２の画素に変更される第１の画素を除く複数個の第１の画素の値を用いて、オブジェクトの色数に関する特徴量を決定する決定部と、を備える。【選択図】  図６
2014197804.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
対象画像データによって表される対象画像において、オブジェクトを構成する複数個の第１の画素と、背景を構成する画素を少なくとも含む複数個の第２の画素と、を特定するオブジェクト特定部と、
前記第１の画素と前記第２の画素とを含む複数個の画素によって構成される注目範囲を用いて、前記注目範囲内の少なくとも１個の前記第１の画素を、前記第２の画素に変更する変更部であって、前記変更される第１の画素は、前記第２の画素と隣り合う画素を少なくとも含む、前記変更部と、
前記第２の画素に変更される前記第１の画素を除く複数個の前記第１の画素の値を用いて、前記オブジェクトの色数に関する特徴量を決定する決定部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記変更部は、前記注目範囲内の特定の位置の画素である注目画素が前記第１の画素であり、かつ、前記注目範囲内に前記第２の画素が含まれる場合に、前記注目画素としての前記第１の画素を前記第２の画素に変更する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記決定部は、前記第２の画素に変更される画素を除く複数個の前記第１の画素の個数が、基準値未満である場合には、複数個の前記第１の画素の値に拘わらずに、前記色数に関する特徴量を特定値に決定する、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、さらに、
決定される前記色数に関する特徴量を用いて、前記オブジェクトが、文字であるか否かを判定する判定部を備える、画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記対象画像データは、原稿を読み取ることによって生成されるデータであり、
前記注目範囲のサイズは、前記前記原稿が読み取られる際の読み取り解像度に応じて決定される、画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、さらに、
画素の値を、明るさを示す第１の成分値と、色味を示す第２の成分値と、を含む特定の表色系に変換する変換部を備え、
前記決定部は、前記第２の画素に変更される画素を除く複数個の前記第１の画素の値を変換して得られる複数個の前記第２の成分値を用いて、前記色数に関する特徴量を決定する、画像処理装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の画像処理装置であって、
前記対象画像データは、原稿を読み取ることによって生成されるデータ、および、非可逆圧縮方式を用いて圧縮済みのデータのうちの少なくとも一方のデータである、画像処理装置。
【請求項８】
請求項１ないし請求項７のいずれかに記載の画像処理装置であって、
前記オブジェクト特定部は、
前記第１の画素と前記第２の画素とを含むオブジェクト領域と、前記オブジェクト領域の周囲に配置される周囲領域と、を特定する領域特定部と、を備え、
前記オブジェクト特定部は、前記周囲領域内の画素の値を用いて、前記オブジェクト領域内における前記第１の画素と前記第２の画素とを特定する、画像処理装置。
【請求項９】
画像処理を実現するためのコンピュータプログラムであって、
対象画像データによって表される対象画像において、オブジェクトを構成する複数個の第１の画素と、背景を構成する画素を少なくとも含む複数個の第２の画素と、を特定するオブジェクト特定機能と、
前記第１の画素と前記第２の画素とを含む複数個の画素によって構成される注目範囲を用いて、前記注目範囲内の少なくとも１個の前記第１の画素を、前記第２の画素に変更する変更機能であって、前記変更される第１の画素は、前記第２の画素と隣り合う画素を少なくとも含む、前記変更機能と、
前記第２の画素に変更される前記第１の画素を除く複数個の前記第１の画素の値を用いて、前記色数に関する特徴量を決定する決定機能と、
をコンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像内のオブジェクトに対する画像処理に関し、特に、オブジェクトの特性に関する判断を行うための画像処理に関する。
【背景技術】
【０００２】
画像データを解析して、画像内に含まれるオブジェクトの属性を判断する技術が知られている。例えば、特許文献１には、画像内で検出された文字に対して細線化処理を行い、細線化された文字の色に基づいて、文字が単色であるか否かを判断する画像処理技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２４２０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献には、文字以外のオブジェクトを細線化することについては開示されていない。このために、上記文献に開示された技術では、文字か否かが不明なオブジェクトや、文字以外のオブジェクトの色数を適切に判断することができない可能性がある。
【０００５】
本発明の目的は、オブジェクトの種類に拘わらずに、オブジェクトの色数を判断することができる新たな技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、
対象画像データによって表される対象画像において、オブジェクトを構成する複数個の第１の画素と、背景を構成する画素を少なくとも含む複数個の第２の画素と、を特定するオブジェクト特定部と、
前記第１の画素と前記第２の画素とを含む複数個の画素によって構成される注目範囲を用いて、前記注目範囲内の少なくとも１個の前記第１の画素を、前記第２の画素に変更する変更部であって、前記変更される第１の画素は、前記第２の画素と隣り合う画素を少なくとも含む、前記変更部と、
前記第２の画素に変更される前記第１の画素を除く複数個の前記第１の画素の値を用いて、前記オブジェクトの色数に関する特徴量を決定する決定部と、
を備える、画像処理装置。
【０００８】
上記構成によれば、注目範囲内の第１の画素と第２の画素とに基づいて、第２の画素に変更される第１の画素を除く複数個の第１の画素の値を用いて、オブジェクトの色数に関する特徴量を決定する。この結果、様々なオブジェクトの色数を適切に判断することができる。
【０００９】
本発明は、種々の形態で実現することが可能であり、例えば、上記装置の機能を実現する方法、上記装置の機能を実現するコンピュータプログラム、当該コンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例としての計算機２００の構成を示すブロック図である。
【図２】画像処理のフローチャートである。
【図３】領域特定処理とオブジェクト特定処理との説明図である。
【図４】本実施例におけるエッジ強度の算出式を示している。
【図５】オブジェクト属性判定処理のフローチャートである。
【図６】対象オブジェクトの輝度のヒストグラムの一例を示す図である。
【図７】色数決定処理のフローチャートである。
【図８】オブジェクト収縮処理のフローチャートである。
【図９】オブジェクト収縮処理の説明図である。
【図１０】収縮二値画像について説明する図である。
【図１１】Ｃｒ値のヒストグラムの一例を示す図である。
【図１２】判定テーブル２３３の一例を示す図である。
【図１３】高圧縮方式ＰＤＦについて説明する図である。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１：計算機２００の構成
次に、本発明の実施の形態を実施例に基づき説明する。図１は、本発明の一実施例としての計算機２００の構成を示すブロック図である。計算機２００は、例えば、パーソナルコンピュータであり、ＣＰＵ２１０と、ＤＲＡＭ（Dynamic Random Access Memoryの略）等を含む揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブ等を含む不揮発性記憶装置２３０と、タッチパネルやキーボード等の操作部２４０と、外部装置と通信を行うためのインタフェースである通信部２５０と、を備えている。
【００１２】
計算機２００は、通信部２５０を介して、スキャナ３００と複合機４００等の外部装置に、通信可能に接続されている。スキャナ３００は、例えば、原稿などの対象物を光学的に読み取ることによってスキャンデータを取得する画像読取装置である。複合機４００は、光学的に対象物を読み取ることによってスキャンデータを取得する画像読取部を備えている。なお、画像読読取部の図示は、省略されている。
【００１３】
揮発性記憶装置２２０には、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２２１が設けられている。不揮発性記憶装置２３０は、ドライバプログラム２３１と、画像処理を実行する画像処理プログラム２３２と、画像処理にて用いられる判定テーブル２３３と、を格納している。これらのプログラムおよびテーブルは、一体化された１個のプログラムとして、あるいは、分離された複数個のプログラムとして、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memoryの略）やＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memoryの略）などに格納された形態で提供される。あるいは、これらのプログラムおよびテーブルは、ネットワークを介して計算機２００に接続されたサーバからダウンロードされる形態で提供される。
【００１４】
ＣＰＵ２１０は、ドライバプログラム２３１を実行することにより、スキャナ３００または複合機４００の画像読取部を制御して、スキャンデータを生成するためのスキャナドライバ５０として機能する。ＣＰＵ２１０は、画像処理プログラム２３２を実行することにより、対象画像データ（例えば、スキャンデータ）に対して後述する画像処理を実行して、圧縮ＰＤＦファイルを生成する画像処理部１００として機能する。画像処理部１００は、領域特定部１１０と、オブジェクト特定部１２０と、変更部１３０と、決定部１４０と、変換部１５０と、判定部１６０と、を備えている。
【００１５】
領域特定部１１０は、対象画像データを解析して対象画像内のオブジェクト領域や周囲領域を特定する。具体的には、領域特定部１１０は、対象画像から、オブジェクト領域の一例である非ベタ領域と、オブジェクト領域の周囲に位置する周囲領域の一例であるベタ領域と、を特定する。オブジェクト特定部１２０は、対象画像のオブジェクト領域内のオブジェクトを特定する。具体的には、後段にて詳述するが、オブジェクト特定部１２０は、第１の画素の一例であるオブジェクト領域内のオブジェクトを構成する複数個のオブジェクト画素と、第２の画素の一例である複数個の背景画素と、を特定する。変更部１３０は、複数個のオブジェクト画素のうちの一部の画素を、背景画素に変更する処理を実行する。決定部１４０は、背景画素に変更されるオブジェクト画素を除く複数個のオブジェクト画素の色値を用いて、オブジェクトの色数に関する特徴量を決定する。変換部１５０は、ＲＧＢの表色系で表されるＲＧＢ値等の画素の色値を、明るさを示す第１の成分値と、色味を示す第２の成分値と、を含むＹＣｒＣｂ表色系等の特定の表色系に変換する。判定部１６０は、色数に関する特徴量を用いて、オブジェクトが、文字であるか否かを判定する。これらの各機能部が実行する処理については後述する。
【００１６】
Ａ−２：画像処理
図２は、画像処理のフローチャートである。この画像処理は、スキャナドライバ５０が利用者から読取指示を受け付けたときに実行される。利用者は、読取対象の原稿をスキャナ３００または複合機４００にセットして、読取指示を実行する。ステップＳ１０では、スキャナドライバ５０（図１）は、通信部２５０を介して、スキャンデータを対象画像データとして取得し、取得したスキャンデータをバッファ領域２２１（図１）に格納する。具体的には、スキャナドライバ５０は、スキャナ３００または複合機４００の画像読取部を制御して、スキャンデータを取得する。スキャンデータは、複数の画素毎の色をＲＧＢ値で表すビットマップデータである。
【００１７】
図３は、領域特定処理（図２のステップＳ１５〜Ｓ２５）と、オブジェクト特定処理（図２のステップＳ１５〜Ｓ２５）と、の説明図である。図３（Ａ）の対象画像ＳＩは、スキャンデータ等の対象画像データによって表される画像の一例である。対象画像ＳＩには、図示しない複数の画素が、第１方向Ｄ１と、第１方向Ｄ１と直交する第２方向Ｄ２と、に沿って、マトリクス状に配置されている。１個の画素の色値であるＲＧＢ値は、例えば、赤（Ｒ）と緑（Ｇ）と青（Ｂ）との３個の色成分の階調値（以下、成分値とも呼ぶ）を含んでいる。本実施例では、各成分値の階調数は、２５６階調である。
【００１８】
図３（Ａ）の例では、対象画像ＳＩは、背景Ｂｇと、描画ＤＲと、写真ＰＴと、４個の文字ＴＸ１〜ＴＸ４と、を含んでいる。描画は、イラスト、表、グラフ、線図、ベクトルグラフィックス、模様等を含む。４個の文字ＴＸ１〜ＴＸ４は、実質的に１つの色を有している単色のオブジェクトである。ここで、単色のオブジェクトとは、通常の観察者、例えば、スキャナ３００や複合機４００の利用者が、対象画像ＳＩの当該オブジェクトを観察した場合に、１色であると認識するオブジェクトである。単色のオブジェクトは、当該オブジェクトを構成する複数個の画素の色値であるＲＧＢ値が、１種類の値であることを意味するわけではない。写真ＰＴは、一般的には、単色のオブジェクトではなく、描画ＤＲは、単色のオブジェクトである場合もあるが、単色のオブジェクトではない場合が多い。
【００１９】
図２のステップＳ１５では、領域特定部１１０（図１）は、対象画像データを用いて、エッジ画像データを生成して、バッファ領域２２１に格納する。図３（Ｂ）は、エッジ画像データによって表されるエッジ画像ＥＩの概略図である。
【００２０】
エッジ画像ＥＩは、対象画像ＳＩ内の各画素位置におけるエッジ強度を表している。エッジ強度は、画像内の位置の変化に対する階調値の変化の大きさ、すなわち、互いに隣り合う複数個の画素間の階調値の差分の大きさを表している。なお、画像内の位置の変化に対する階調値の変化の大きさの一例は、微分等がある。図４は、本実施例におけるエッジ強度の算出式を示している。本実施例では、領域特定部１１０は、いわゆるソーベルオペレータ（Sobel operator）を用いて、ＲＧＢの３個の色成分毎に、エッジ強度Ｓｅを算出する。
【００２１】
図４の階調値Ｐ（ｘ，ｙ）は、対象画像ＳＩ内の特定の画素位置（ｘ，ｙ）の階調値を表している。位置ｘは、第１方向Ｄ１の画素位置を示し、位置ｙは、第２方向Ｄ２の画素位置を示している。図示するように、対象画像ＳＩ内の画素位置（ｘ，ｙ）におけるエッジ強度Ｓｅ（ｘ，ｙ）は、その画素位置（ｘ，ｙ）を中心とし隣り合う３行３列の９つの画素を用いて算出される。図４の算出式の第１項および第２項は、９つの位置の画素の階調値に、対応する係数をそれぞれ乗じた値の和の絶対値である。第１項は、第１方向Ｄ１の階調値の微分（すなわち、横方向の微分）であり、第２項は、第２方向Ｄ２の階調値の微分（すなわち、縦方向の微分）である。
【００２２】
図３（Ｂ）では、エッジ強度が比較的大きい画素（以下、エッジ画素とも呼ぶ）の位置を、一点破線Ｅｇ１〜Ｅｇ６で示している。図３（Ｂ）のエッジ画像ＥＩは、対象画像ＳＩの描画ＤＲ、写真ＰＴ、文字ＴＸ１〜ＴＸ４にそれぞれ対応する複数個のエッジ画素Ｅｇ１〜Ｅｇ６を含んでいることが解る。
【００２３】
エッジ画像データを生成した後、続くステップＳ２０では、領域特定部１１０は、複数個の画素を含むブロックＢＬをエッジ画像ＥＩ上に設定する。図３（Ｂ）の破線は、エッジ画像ＥＩ上にマトリクス状に配置されたブロックＢＬを示している。１個のブロックＢＬは、例えば、ＢＬｎ行×ＢＬｎ列（ＢＬｎは、２以上の整数）の画素ＰＸで構成されたブロックである。ＢＬｎの値には、例えば、１０〜５０の範囲内の値を採用可能である。エッジ画像ＥＩと対象画像ＳＩとは、互いに同じサイズ（縦横の画素数が等しい）であるので、ブロックＢＬは、対象画像ＳＩ上に設定されていると言うこともできる。
【００２４】
ブロックＢＬが設定されると、続くステップＳ２５では、領域特定部１１０は、ブロックＢＬ単位で、ベタ領域と非ベタ領域とを特定する。ベタ領域は、領域が有するエッジ強度が所定の基準未満の領域であり、非ベタ領域とは、領域が有するエッジ強度が所定の基準以上の領域である。具体的には、領域特定部１１０は、ブロックＢＬ毎に、平均エッジ強度であるＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅを算出する。平均エッジ強度ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅは、ＲＧＢの３個の色成分毎に、算出される。領域特定部１１０は、処理対象のブロックＢＬの平均エッジ強度と所定の基準とを比較して、処理対象のブロックＢＬを、ベタブロックおよび非ベタブロックのいずれかに分類する。ベタブロックは、平均エッジ強度が所定の基準より小さいブロックＢＬである。非ベタブロックは、平均エッジ強度が所定の基準以上であるブロックＢＬである。本実施例では、領域特定部１１０は、平均エッジ強度ＥＲａｖｅ、ＥＧａｖｅ、ＥＢａｖｅを、色成分ごとに定められた基準値であるＥＴｒ、ＥＴｇ、ＥＴｂと比較する。この結果、領域特定部１１０は、ＥＲａｖｅ＜ＥＴｒ、かつ、ＥＧａｖｅ＜ＥＴｇ、かつ、ＥＢａｖｅ＜ＥＴｂが成立する場合には、処理対象のブロックＢＬをベタブロックに分類する。ＥＲａｖｅ≧ＥＴｒ、および、ＥＧａｖｅ≧ＥＴｇ、および、ＥＢａｖｅ≧ＥＴｂのうちの少なくとも一つが成立する場合には、領域特定部１１０は、処理対象のブロックＢＬを非ベタブロックに分類する。
【００２５】
図３（Ｂ）のエッジ画像ＥＩにおいて、非ベタブロックには、ハッチングが付され、ベタブロックには、ハッチングが付されていない。領域特定部１１０は、全てのブロックＢＬを、ベタブロックと非ベタブロックとに分類した後、互いに隣り合う（連続する）１個以上の非ベタブロックに対応する領域を、１個の非ベタ領域として特定する。また、領域特定部１１０は、互いに隣り合う１個以上のベタブロックに対応する領域を、１個のベタ領域として特定する。このように、連続する１個以上の非ベタブロックは、１個の非ベタ領域に組み込まれるので、非ベタ領域は、通常は、ベタ領域およびエッジ画像ＥＩの外縁に囲まれている。図３（Ｂ）の例では、対象画像ＳＩ（図３（Ａ））の描画ＤＲと写真ＰＴにそれぞれ対応する２個の非ベタ領域Ｌ１１、Ｌ１２が特定されている。また、対象画像ＳＩの２個の文字ＴＸ１、ＴＸ２に対応する１個の非ベタ領域Ｌ１３と、２個の文字ＴＸ３、ＴＸ４に対応する１個の非ベタ領域Ｌ１４と、が特定されている。さらに、対象画像ＳＩの背景Ｂｇに対応する１個のベタ領域Ｌ１０が特定されている。エッジ画像ＥＩにおいて、ベタ領域と非ベタ領域が特定されることは、対象画像ＳＩにおいて、同様にベタ領域と非ベタ領域が特定されること、と同義である。なお、非ベタ領域は、オブジェクト領域の一例であり、ベタ領域は、オブジェクト領域の周囲に位置する周囲領域の一例である。
【００２６】
続く、ステップＳ３０では、オブジェクト特定部１２０は、対象画像ＳＩ内の各非ベタ領域を二値化するための基準値（以下、二値化基準値とも呼ぶ）を、対象画像ＳＩ内の非ベタ領域の周囲を囲むベタ領域内の画素の色値を用いて、非ベタ領域Ｌ１１〜Ｌ１４毎に決定する。本実施例では、二値化基準値は、ＲＧＢの成分毎に決定される。具体的には、非ベタ領域の周囲を囲むベタ領域の全ての画素についての、ＲＧＢの各成分値の平均値であるＲｒ、Ｇｒ、Ｂｒが、二値化基準値として採用される。図３（Ｂ）の例では、全ての非ベタ領域Ｌ１１〜Ｌ１４は、背景Ｂｇに対応する１個のベタ領域Ｌ１０に囲まれているので、全ての非ベタ領域Ｌ１１〜Ｌ１４の二値化基準値は、同じ値、すなわち、ベタ領域Ｌ１０内の各成分値の平均値となる。
【００２７】
例えば、Ｒｒ、Ｇｒ、Ｂｒなどの二値化基準値が決定されると、次のステップＳ３５では、オブジェクト特定部１２０は、非ベタ領域Ｌ１１〜Ｌ１４毎に、二値画像データを生成する。本実施例では、オブジェクト特定部１２０は、二値化基準値であるＲｒ、Ｇｒ、Ｂｒを用いて算出される６個の閾値Ｒ１、Ｒ２、Ｇ１、Ｇ２、Ｂ１、Ｂ２を用いて二値化処理を実行する。
Ｒ成分の下限閾値Ｒ１＝Ｒｒ−ｄＶ、Ｒ成分の上限閾値Ｒ２＝Ｒｒ＋ｄＶ
Ｇ成分の下限閾値Ｇ１＝Ｇｒ−ｄＶ、Ｇ成分の上限閾値Ｇ２＝Ｇｒ＋ｄＶ
Ｂ成分の下限閾値Ｂ１＝Ｂｒ−ｄＶ、Ｂ成分の上限閾値Ｂ２＝Ｂｒ＋ｄＶ
ここで、値ｄＶは、予め決められた値である。これらの値Ｒ１、Ｒ２、Ｇ１、Ｇ２、Ｂ１、Ｂ２は、二値化対象の非ベタ領域を囲むベタ領域の平均色に比較的近い色の範囲、すなわち、背景の色に比較的近い色の範囲を、定めている。
【００２８】
オブジェクト特定部１２０は、これらの６個の閾値Ｒ１、Ｒ２、Ｇ１、Ｇ２、Ｂ１、Ｂ２を用いて、対象画像ＳＩにおける非ベタ領域内の各画素を、１画素毎に、オブジェクト画素と、背景画素とに分類することによって、非ベタ領域の二値画像データを生成する。
【００２９】
具体的には、非ベタ領域内の画素Ｐｘｉの階調値であって、ＲＧＢの色成分の階調値であるＲｉ、Ｇｉ、Ｂｉが、以下の３つの条件を全て満たす場合に、オブジェクト特定部１２０は、画素Ｐｘｉを、背景画素に分類し、以下の３つの条件のいずれかを満たさない場合に、画素Ｐｘｉをオブジェクト画素に分類する。
（第１条件）Ｒ１＜Ｒｉ＜Ｒ２
（第２条件）Ｇ１＜Ｇｉ＜Ｇ２
（第３条件）Ｂ１＜Ｂｉ＜Ｂ２
【００３０】
このように、ベタ領域内の画素の色を用いて算出された背景の色に比較的近い画素を、背景画素に分類し、その他の画素をオブジェクト画素に分類することによって、オブジェクトを構成するオブジェクト画素を精度良く特定した二値画像データを生成することができる。例えば、二値画像データが生成される際に、オブジェクト画素に分類した画素の画素値を「１」に設定し、背景画素に分類した画素の画素値を「０」に設定する。図３（Ｃ）には、二値画像ＢＩが示されている。実際には、上述した非ベタ領域Ｌ１１〜Ｌ１４毎に、別々の二値画像データが生成されるが、図３（Ｃ）では、１個の二値画像ＢＩで示している。
【００３１】
二値画像データを生成された後、続くステップＳ４０では、オブジェクト特定部１２０は、二値画像データを利用して、オブジェクトと背景とを特定して、特定されたオブジェクトと背景に識別子を付すラベリングを実行する。
【００３２】
具体的には、オブジェクト特定部１２０は、１個の非ベタ領域内の複数個のオブジェクト画素で構成される１個の領域を、１個のオブジェクトとして特定する。また、オブジェクト特定部１２０は、連続する１個以上の背景画素で構成される１個の領域を、１個の背景として特定する。ラベリングの結果、例えば、特定されたオブジェクトまたは背景と、これらを識別する識別子とを、対応付けたラベルデータが生成されて、バッファ領域２２１に格納される。さらに、オブジェクトに外接する外接矩形に対応する部分二値画像を表す部分二値画像データが、オブジェクトを識別する識別子と対応付けて、バッファ領域２２１に格納される。
【００３３】
図３（Ｃ）の例では、二値画像ＢＩにおいて、描画ＤＲに対応するオブジェクトＯｂ１と、写真ＰＴに対応するオブジェクトＯｂ２と、２個の文字ＴＸ１、ＴＸ２に対応するオブジェクトＯｂ３と、２個の文字ＴＸ３、ＴＸ４に対応するオブジェクトＯｂ４と、が特定される。そして、これらのオブジェクトＯｂ１〜Ｏｂ４に外接する外接矩形に対応する部分二値画像ＢＩ１〜ＢＩ４を表す部分二値画像データがバッファ領域２２１に格納される。二値画像ＢＩを構成する各画素は、対象画像ＳＩを構成する各画素と対応しているので、二値画像ＢＩにおいて、オブジェクトＯｂ１〜Ｏｂ４が特定されることは、対象画像ＳＩにおいて、オブジェクトＯｂ１〜Ｏｂ４に対応するオブジェクト、すなわち、描画ＤＲ、写真ＰＴ、文字ＴＸ３〜ＴＸ４の位置が特定されること同義である。また、単に、オブジェクト画素の色値と呼ぶときには、二値画像データによって特定されたオブジェクト画素に対応する対象画像ＳＩのＲＧＢ値等の画素の色値を意味するものとする。
【００３４】
ステップＳ５０では、画像処理部１００は、対象画像ＳＩ内で特定されたオブジェクトごとに、オブジェクトの種類が「文字」であるか否かを判定するオブジェクト属性判定処理を実行する。
【００３５】
図５は、オブジェクト属性判定処理のフローチャートである。ステップＳ１１０では、画像処理部１００は、ステップＳ１１０では、特定されたオブジェクトＯｂ１〜Ｏｂ４の中から処理対象のオブジェクト（以下、対象オブジェクトとも呼ぶ）を選択する。
【００３６】
ステップＳ１２０では、画像処理部１００は、対象オブジェクトの画素密度Ｓを算出して、バッファ領域２２１に格納する。画素密度Ｓは、対象オブジェクトを表す部分二値画像内の総画素数に対する、対象オブジェクトを構成するオブジェクト画素の画素数であり、例えば、オブジェクトＯｂ３を表す部分二位置画像ＢＩ３（図３（Ｃ））内の総画素数に対する、オブジェクトＯｂ３構成するオブジェクト画素の画素数である。すなわち、画素密度Ｓは、単位面積当たりのオブジェクト画素の画素数である。なお、部分二値画像内の総画素数は、対象オブジェクトに外接する外接矩形内の総画素数と言い換えることができる。
【００３７】
ステップＳ１３０は、画像処理部１００は、対象オブジェクトの色の分布幅Ｗを算出して、バッファ領域２２１に格納する。図６は、対象オブジェクトの輝度のヒストグラムの一例を示す図である。先ず、画像処理部１００は、図６に示すような輝度のヒストグラムを表すヒストグラムデータを生成する。このヒストグラムデータは、対象オブジェクトを構成する各オブジェクト画素を、各オブジェクト画素の輝度に応じて、複数のクラスに分類することによって得られるデータである。本実施例では、各オブジェクト画素の色値に基づいて２５６階調の輝度値が算出され、２５６階調の輝度値のそれぞれを１個のクラスとして、ヒストグラムデータが生成される。各オブジェクト画素の輝度値は、例えば、ＲＧＢの３個の成分値から、ＹＣｂＣｒ色空間の輝度成分であるＹ成分を算出する算出式が、用いられる。図６に示すように、画像処理部１００は、輝度のヒストグラムデータにおいて、頻度値、すなわち、画素数が所定の閾値ＴＨｕ以上である輝度値の最低値と最高値との間の差（幅）を、色の分布幅Ｗとして算出する。
【００３８】
ステップＳ１４０では、画像処理部１００は、対象オブジェクトの色数に関する特徴量Ｃを算出（決定）するための色数決定処理を実行する。
【００３９】
図７は、色数決定処理のフローチャートである。ステップＳ２１０では、二値画像ＢＩ上において対象オブジェクトを収縮させるオブジェクト収縮処理を実行する。このオブジェクト収縮処理は、二値画像ＢＩにおいて複数個のオブジェクト画素、すなわち、画素値が「１」の画素によって構成されるオブジェクトＯｂ１〜Ｏｂ４（図３（Ｃ））をそれぞれ収縮させる処理である。オブジェクト収縮処理は、対象画像ＳＩ内のオブジェクトである描画ＤＲ、写真ＰＴ、文字ＴＸ１〜ＴＸ４（図３（Ａ））に変化をもたらす処理ではない。二値画像ＢＩにおけるオブジェクトの収縮は、対象オブジェクトを構成する複数個のオブジェクト画素を、背景画素に変更することによって、実現される。
【００４０】
図８は、オブジェクト収縮処理のフローチャートである。図９は、オブジェクト収縮処理の説明図である。ステップＳ３１０では、変更部１３０は、対象画像データの解像度に応じてオブジェクトの収縮に用いるフィルタのサイズを決定する。フィルタの横方向および縦方向の幅ＦＷは、変数Ｎ（Ｎは自然数）を用いて、ＦＷ＝２Ｎ＋１で表される。図９（Ａ）には、フィルタの例として、Ｎ＝１（ＦＷ＝３）、Ｎ＝２（ＦＷ＝５）、Ｎ＝３（ＦＷ＝７）にそれぞれ対応する３個のフィルタＦＩ１〜ＦＩ３が図示されている。変数Ｎは、オブジェクトを収縮させる程度を表し、変数Ｎが大きいほど、オブジェクトを収縮させる程度が大きくなる。
【００４１】
本実施例では、変数Ｎは、対象画像データであるスキャンデータが生成される場合に、読取対象の原稿がスキャナ３００または複合機４００に読み取られる際の読み取り解像度が低いほど大きな値に設定される。例えば、本実施例では、読み取り解像度が３００ｄｐｉである場合には、変数Ｎ＝３に設定され、読み取り解像度が６００ｄｐｉである場合には、変数Ｎ＝１に設定される。この理由については後述する。
【００４２】
ステップＳ３２０では、変更部１３０は、収縮二値画像を表す収縮二値画像データの初期データをバッファ領域２２１に準備する。初期データは、対象オブジェクトを表す部分二値画像と同じサイズの領域を表す二値画像データであり、全ての画素値が、初期値として、例えば、「０」に設定されている。
【００４３】
ステップＳ３３０では、変更部１３０は、対象オブジェクトを表す部分二値画像内の複数個の画素の中から１個の注目画素を選択する。
【００４４】
ステップＳ３４０では、変更部１３０は、注目画素と中心位置ＣＣ（図９（Ａ））とが重なるように配置されたフィルタの範囲（以下、注目範囲とも呼ぶ）内に、背景画素が存在するか否かを判断する。図９（Ｂ）には、対象オブジェクトを表す部分二値画像の一例としての画像ＢＩａの一部分が示されている。部分二値画像ＢＩａは、ハッチングされた部分である複数個のオブジェクト画素で構成されたオブジェクトＯｂａと、ハッチングされていない部分である複数個の背景画素で構成された背景Ｂｇａと、を含んでいる。この部分二値画像ＢＩａに、縦５画×横５画素のフィルタＦＩ２（図９（Ａ））の適用する場合を例に説明する。背景画素が注目画素である場合には、背景画素ＰＸ１が注目画素である例（図９（Ｂ））のように、注目画素の周囲の画素とは無関係に、注目範囲内に背景画素が存在すると判断される。オブジェクト画素ＰＸ２が注目画素である例（図９（Ｂ））のように、オブジェクト画素が注目画素である場合であって、注目範囲内に少なくとも１個の背景画素が存在する場合には、注目範囲内に背景画素が存在すると判断される。ブジェクト画素ＰＸ３が注目画素である例（図９（Ｂ））のように、オブジェクト画素が注目画素である場合であって、注目範囲内に１個の背景画素も存在しない場合には、注目範囲内に背景画素が存在しないと判断される。
【００４５】
変更部１３０は、注目範囲内に背景画素が存在する場合には（ステップＳ３４０：ＹＥＳ）、注目画素に対応する収縮二値画像内の画素（以下、対応画素とも呼ぶ）を背景画素に設定する（ステップＳ３５０）。具体的には、変更部１３０は、対応画素の画素値を「０」のまま変更しない。変更部１３０は、注目範囲内に背景画素が存在しない場合には（ステップＳ３４０：ＮＯ）、収縮二値画像内の対応画素をオブジェクト画素に設定する（ステップＳ３６０）。具体的には、変更部１３０は、対応画素の画素値を「０」から「１」に変更する。
【００４６】
収縮二値画像内の対応画素がオブジェクト画素と背景画素とのうちのいずれかに設定されると、ステップＳ３７０では、変更部１３０は、対象オブジェクトを表す部分二値画像内の全ての画素を注目画素として選択したか否かを判断する。未選択の画素がある場合には（ステップＳ３７０：ＮＯ）、変更部１３０は、ステップＳ３３０に戻って、未選択の画素を新たに選択して、上述したステップＳ３４０〜Ｓ３６０の処理を繰り返す。全ての画素が選択済みである場合には（ステップＳ３７０：ＹＥＳ）、変更部１３０は、オブジェクト収縮処理を終了する。なお、オブジェクト収縮処理が完了することで、収縮二値画像データは、全ての画素値が「０」に設定されていた初期データから、全ての画素が「０」又は「１」に設定された変更済みのデータに変更される。
【００４７】
図９（Ｃ）には、部分二値画像ＢＩａ（図９（Ｂ））に対応する収縮二値画像ＢＩｂが示されている。収縮二値画像ＢＩｂは、ハッチングされた部分である複数個のオブジェクト画素で構成されたオブジェクトＯｂｂと、ハッチングされていない部分である複数個の背景画素で構成された背景Ｂｇｂと、を含んでいる。図３（Ｂ）の破線は、部分二値画像ＢＩａ（図９（Ｂ））のオブジェクトＯｂａの外縁を示している。収縮二値画像ＢＩｂのオブジェクトＯｂｂは、部分二値画像ＢＩａのオブジェクトＯｂａと比較して、２画素分だけ収縮されていることが解る。図９の（Ｂ）（Ｃ）の例で用いたフィルタＦＩ２（図９（Ａ））は、Ｎ＝２のフィルタであることから解るように、フィルタのサイズを規定する変数Ｎは、画素数を単位とする収縮量を表す値と、言うことができる。
【００４８】
図１０は、収縮二値画像について説明する図である。図１０（Ａ）〜（Ｃ）には、対象画像ＳＩ内の３つのオブジェクト、すなわち、文字ＴＸ３、描画ＤＲ、写真ＰＴが図示されている。ハッチングされた領域である文字ＴＸ３、描画ＤＲ、写真ＰＴのそれぞれの外縁部ＯＥ１〜ＯＥ３の外側の線は、収縮処理前の二値画像のオブジェクトと対応する領域を示している。また、文字ＴＸ３、描画ＤＲ、写真ＰＴのそれぞれの外縁部ＯＥ１〜ＯＥ３の内側の線は、収縮二値画像のオブジェクトと対応する領域を示している。換言すれば、図１０の外縁部ＯＥ１〜ＯＥ３に対応する二値画像内のオブジェクト画素が、オブジェクト収縮処理によって、背景画素に変更される画素である。また、具体的には、画素値が「１」から「０」に変更される画素である。
【００４９】
ここで、対象画像データはスキャンデータであるので、対象画像ＳＩ内のオブジェクトの外縁部ＯＥ１〜ＯＥ３、すなわち、オブジェクトと背景の境界領域には、いわゆる「ぼけ」が発生する。例えば、スキャナは、イメージセンサの原稿に対する位置を副走査方向に移動させながら、イメージセンサによって原稿からの光を受光して、スキャンデータを生成する。このとき、外縁部の画素データは、オブジェクトからの光と、背景からの光との両方に基づいて生成され得る。この結果、外縁部の色は、原稿のオブジェクトの色と背景の色とに基づく様々な色となり、「ぼけ」が発生する。例えば、オブジェクトの色が濃い赤で、背景の色が白である場合には、外縁部の色は、薄い赤やピンクなどの色を含み得る。本実施例において、収縮二値画像を生成するのは、対象画像ＳＩにおいて、「ぼけ」が発生している外縁部を除いたオブジェクトを特定するためである。したがって、オブジェクト収縮処理において、オブジェクトを収縮させる程度、すなわち、除くべき外縁部の幅（換言すると、太さ）は、対象画像ＳＩに発生している「ぼけ」が大きいほど、大きくすることが好ましい。
【００５０】
ここで、上述したオブジェクト収縮処理のステップＳ３１０にて、読み取り解像度が低いほど、変数Ｎの値、換言すると、フィルタのサイズを大きくするのは、読み取り解像度が低いほど、対象画像ＳＩ内に発生する「ぼけ」が大きくなる傾向があるためである。この結果、読み取り解像度に応じて、適切なオブジェクト画素が背景画素に変更された収縮二値画像データを生成することができる。
【００５１】
図７に戻って説明を続ける。オブジェクト収縮処理が終了すると、続くステップＳ２２０では、決定部１４０は、収縮二値画像において対象オブジェクトを構成するオブジェクト画素の個数ＰＮを算出する。ステップＳ２３０では、決定部１４０は、オブジェクト画素の個数ＰＮが基準値ＴＨ１以上であるか否かを判断する。以下では、収縮二値画像において対象オブジェクトを構成するオブジェクト画素、すなわち、収縮処理前の二値画像において対象オブジェクトを構成する複数個のオブジェクト画素から外縁部（図１０参照）のオブジェクト画素を除いた画素を、収縮後のオブジェクト画素とも呼ぶ。
【００５２】
収縮後のオブジェクト画素の個数ＰＮが基準値ＴＨ１以上である場合には（ステップＳ２３０：ＹＥＳ）、決定部１４０の変換部１５０は、ＰＮ個のオブジェクト画素の色値を、ＹＣｒＣｂ表色系の色値に変換する（ステップＳ２５０）。
【００５３】
ステップＳ２６０では、決定部１４０は、Ｃｒ値と、Ｃｂ値と、のヒストグラムを表すヒストグラムデータを生成して、バッファ領域２２１に格納する。ヒストグラムデータは、収縮後の各オブジェクト画素を、各オブジェクト画素のＣｒ値に応じて、複数のクラスに分類することによって得られるデータである。本実施例では、２５６階調のＣｒ値のそれぞれを１個のクラスとして、ヒストグラムデータが生成される。Ｃｂ値についても同様である。図１１は、Ｃｒ値のヒストグラムの一例を示す図である。図１１のヒストグラムＨＧ１は、文字に代表される単色のオブジェクトのヒストグラムである。このために、ヒストグラムＨＧ１では、頻度値（画素数）が、Ｃｒ値やＣｂ値が取り得る範囲内の比較的狭い範囲に集中して分布している。単色ではないオブジェクト、例えば、カラー写真のヒストグラムでは、例えば、図６に示すヒストグラムのように、頻度値が、Ｃｒ値やＣｂ値が取り得る範囲内の比較的広い範囲に亘って分布する。
【００５４】
ステップＳ２７０では、決定部１４０は、生成されたヒストグラムデータを用いて、Ｃｒ値の最頻値Ｃｒｍと、Ｃｂ値の最頻値Ｃｂｍと、を算出する。図１１には、Ｃｒ値の最頻値Ｃｒｍが図示されている。
【００５５】
ステップＳ２８０では、決定部１４０は、対象オブジェクトの色数に関する特徴量Ｃを算出して、バッファ領域２２１に格納する。先ず、決定部は、Ｃｒ値に基づく特徴量Ｃ_crと、Ｃｂ値に基づく特徴量Ｃ_cbを算出する。Ｃｒ値に基づく特徴量Ｃ_crは、(ＰＮａ+ＰＮｂ)/ＰＮtotalと表される。ＰＮａ、ＰＮｂは、図１１のヒストグラムにおいてハッチングで示す領域ＣＡａ、ＣＡｂに属するオブジェクト画素の個数である。領域ＣＡａ、ＣＡｂは、Ｃｒ値の最頻値Ｃｒｍを中心とした所定範囲｛（Ｃｒｍ−ＴＨ２）＜Ｃｒ＜（Ｃｒｍ＋ＴＨ２）｝の外側の領域である。ＴＨ２は、予め定められた基準値である。すなわち、ＰＮａは、（Ｃｒｍ−ＴＨ２）以下のＣｒ値を有するオブジェクト画素の個数であり、ＰＮｂは、（Ｃｒｍ＋ＴＨ２）以上のＣｒ値を有するオブジェクト画素の個数である。ＰＮtotalは、収縮後のオブジェクト画素の総数である。以上の説明から解るように、Ｃｒ値に基づく特徴量Ｃ_crは、収縮後のオブジェクト画素の総数に対する、所定範囲内のオブジェクト画素の割合である。
【００５６】
同様に、Ｃｂ値に基づく特徴量Ｃ_cbは、(ＰＮｃ+ＰＮｄ)/ＰＮtotalと表される。ＰＮｃは、（Ｃｂｍ−ＴＨ２）以下のＣｂ値を有するオブジェクト画素の個数であり、ＰＮｄは、（Ｃｂｍ＋ＴＨ２）以上のＣｂ値を有するオブジェクト画素の個数である。決定部は、Ｃｒ値に基づく特徴量Ｃ_cｒと、Ｃｂ値に基づく特徴量Ｃ_cbと、の平均値を、色数に関する特徴量Ｃとして算出する。
【００５７】
図１１に示すように、基準値ＴＨ２の値は、所定範囲｛（Ｃｒｍ−ＴＨ２）＜Ｃｒ＜（Ｃｒｍ＋ＴＨ２）｝が、実質的に単色とみなせる程度に狭いＣｒ値の範囲を規定するように、予め定められている。このために、対象オブジェクトが単色である場合には、色数に関する特徴量Ｃは、比較的小さくなり、対象オブジェクトの色数が多くなるほど、色数に関する特徴量Ｃは、大きくなる。なお、決定部１４０は、ステップＳ２８０にて、対象オブジェクトの色数に関する特徴量Ｃを算出すると、色数決定処理を終了する。
【００５８】
収縮後のオブジェクト画素の個数ＰＮが基準値ＴＨ１未満である場合には（ステップＳ２３０：ＮＯ）、決定部１４０は、オブジェクト画素の色値に拘わらずに、対象オブジェクトの色数に関する特徴量Ｃを最小値に決定し、バッファ領域２２１に格納する（ステップＳ２４０）。具体的には、最小値は、「０」である。
【００５９】
ここで、対象オブジェクトが文字でない場合、すなわち、非文字である場合、例えば、図１０（Ｂ）の描画ＤＲや図１０（Ｃ）の写真ＰＴである場合には、オブジェクトの面積に対する外縁部の比率が比較的小さいので、収縮後のオブジェクト画素の個数ＰＮが基準値ＴＨ１未満となる可能性は低い。これに対して、対象オブジェクトが文字である場合、例えば、図１０（Ａ）の文字ＴＸ３である場合には、オブジェクトの面積に対する外縁部の比率が比較的大きくなる。特に、文字が比較的小さい場合や、文字が比較的細い場合には、オブジェクトの面積に対する外縁部の比率が大きくなり、場合によっては、収縮後のオブジェクト画素がほとんどなくなってしまう可能性がある。このような場合には、収縮後のオブジェクト画素の色値を用いて、適切に、特徴量Ｃを決定することができない可能性がある。さらに、収縮後のオブジェクト画素がほとんどなくなってしまう場合には、対象オブジェクトが比較的細い線である可能性や、文字である可能性が高いので、対象オブジェクトは、単色である可能性が高い。このために、本実施例では、収縮後のオブジェクト画素の個数ＰＮが基準値ＴＨ１未満である場合には、オブジェクト画素の色値に拘わらずに、色数に関する特徴量Ｃを最小値に決定している。この結果、収縮後のオブジェクト画素の個数ＰＮが過度に少ない場合であっても、適切な特徴量Ｃを決定することができる。なお、決定部１４０は、ステップＳ２４０にて、対象オブジェクトの色数に関する特徴量Ｃを決定すると、色数決定処理を終了する。
【００６０】
図５に戻って説明を続ける。色数決定処理が終了すると、続くステップＳ１５０では、判定部１６０は、画素密度Ｓと、分布幅Ｗと、色数に関する特徴量Ｃと、に基づいて、対象オブジェクトの属性を判定する。一般的に、文字は、単色で表現されることが多い。逆に、描画や写真などの非文字は、色数が比較的多くなる。例えば、写真は、撮影された被写体の種々の色を表すので、色数が比較的多くなる。また、一般的に、文字は、背景上に、背景とは異なる色の線で書かれているので、外接矩形の大部分を占める可能性が低いため画素密度Ｓが比較的小さくなる。逆に、非文字は、画素密度Ｓが比較的大きくなる。例えば、写真は、外接矩形の大部分を占める可能性が高いので、写真は、画素密度Ｓが比較的大きくなる。以上を考慮して作成された判定テーブル２３３を参照して、判定部１６０は、対象オブジェクトが、文字であるか否かを判定する。判定結果は、対象オブジェクトの識別子と関連付けられて、バッファ領域２２１に格納される。
【００６１】
図１２は、判定テーブル２３３の一例を示す図である。判定テーブル２３３から解るように、判定部１６０は、以下に示す判定条件（１）または（２）が満たされる場合には、対象オブジェクトは、文字であると判定し、判定条件が満たされない場合には、対象オブジェクトは、文字でない（非文字である）と判定する。
（１）分布幅Ｗが閾値Ｗｔｈ以上、かつ、色数に関する特徴量Ｃが閾値Ｃｔｈ未満、かつ、画素密度Ｓが閾値Ｓｔｈ未満であること
（２）分布幅Ｗが閾値Ｗｔｈ未満、かつ、色数に関する特徴量Ｃが閾値Ｃｔｈ未満、かつ、画素密度Ｓが閾値Ｓｔｈ未満であること
なお、閾値Ｃｔｈは、色数に関する特徴量Ｃが閾値Ｃｔｈ未満である場合に、対象オブジェクトが単色となるように、実験的に定められている。
【００６２】
対象オブジェクトが文字であるか否かが判定されると、続くステップＳ１６０では、画像処理部１００は、特定された全てのオブジェクトを対象オブジェクトとして選択したか否かを判断する。未選択のオブジェクトがある場合には（ステップＳ１６０：ＮＯ）、画像処理部１００は、ステップＳ１１０に戻って、未選択のオブジェクトを新たに選択して、上述したステップＳ１２０〜Ｓ１６０の処理を繰り返す。全てのオブジェクトが選択済みである場合には（ステップＳ１６０：ＮＯ）、画像処理部１００は、オブジェクト属性判定処理を終了する。
【００６３】
図２に戻って説明を続ける。オブジェクト属性判定処理が終了すると、続くステップＳ５５では、画像処理部１００は、対象画像ＳＩから文字が消去された背景画像ＧＩを表す背景画像データを生成する。具体的には、画像処理部１００は、ステップＳ３５にて、オブジェクトを特定するために生成された二値画像データのうち、文字であると判定されたオブジェクトを表す部分二値画像ＢＩ３、ＢＩ４（図３（Ｃ））を表す二値画像データを用いて、対象画像ＳＩにおける文字を構成する画素を特定する。そして、画像処理部１００は、対象画像ＳＩにおける文字を構成する画素の色値を、対象画像ＳＩの背景Ｂｇの色を表す値に変更する。この結果、対象画像ＳＩから文字が消去される。なお、対象画像ＳＩの背景Ｂｇの色を表す値は、ステップＳ３０にて、二値化基準値であるＲｒ、Ｇｒ、Ｂｒとして、算出されている。
【００６４】
図１３は、高圧縮方式ＰＤＦについて説明する図である。図１３（Ａ）には、背景画像ＧＩの一例が示されている。背景画像ＧＩは、対象画像ＳＩ（図３（Ａ））の描画ＤＲおよび写真ＰＴを含んでいるが、文字ＴＸ１〜ＴＸ４を含んでいないことが解る。
【００６５】
続くステップＳ６０では、画像処理部１００は、文字を表す二値画像データを圧縮して、圧縮文字画像データを生成する。具体的には、画像処理部１００は、文字であると判定されたオブジェクトを表す部分二値画像ＢＩ３、ＢＩ４を表す二値画像データを、それぞれ、可逆圧縮方式、例えば、ＦＬＡＴＥ圧縮方式を用いて圧縮する。生成された圧縮文字画像データは、バッファ領域２２１に格納される。
【００６６】
続くステップＳ６５では、ステップＳ５５にて生成された背景画像データを圧縮して圧縮背景画像データを生成する。背景画像データの圧縮には、非可逆圧縮方式、例えば、ＪＰＥＧ圧縮方式が用いられる。生成された圧縮背景画像データは、バッファ領域２２１に格納される。
【００６７】
続くステップＳ７０では、画像処理部１００は、圧縮済みの各画像データを用いて、圧縮ＰＤＦファイルを生成する。具体的には、画像処理部１００は、ステップＳ６５にて生成された圧縮背景画像データを、最下層のレイヤーとして表示させる画像データとして、ＰＤＦファイルに格納する。
【００６８】
また、画像処理部１００は、ステップＳ６０にて生成された圧縮文字画像データを、圧縮背景画像データより上位層のレイヤーとして表示する画像データとして、ＰＤＦファイルに格納する。圧縮文字画像データは、文字色値ＴＣおよび座標値ＣＤと関連付けて、ＰＤＦファイルに格納される。文字色値ＴＣは、文字の色を表すＲＧＢ値であり、例えば、対象画像ＳＩ内の文字を構成する画素の色値であるＲＧＢ値の平均値である。座標値ＣＤは、圧縮背景画像データによって表される背景画像ＧＩに対して、圧縮文字画像データによって表される部分二値画像が配置されるべき位置を表す情報である。座標値ＣＤは、例えば、部分二値画像の左上の角の画素の座標値（Ｘ、Ｙ）で表される。図１３（Ｂ）の例では、部分二値画像ＢＩ３を表す圧縮文字画像データに、文字色値ＴＣ１（Ｒ１、Ｇ１、Ｂ１）と、座標値ＣＤ１（Ｘ１、Ｙ１）と、が関連付けられている。部分二値画像ＢＩ４を表す圧縮文字画像データに、文字色値ＴＣ２（Ｒ２、Ｇ２、Ｂ２）と、座標値ＣＤ２（Ｘ２、Ｙ２）と、が関連付けられている。
【００６９】
圧縮ＰＤＦファイルが生成されると、例えば、画像処理部１００は、生成されたＰＤＦファイルを、例えば、不揮発性記憶装置２３０に格納し、バッファ領域２２１に格納された各種の中間データを消去した後、画像処理を終了する。
【００７０】
ＰＤＦファイルは、複数個の異なる形式の画像データを１個のファイルに格納可能であり、当該ファイルを用いて画像を表示する際には、格納された複数個の画像データを重畳して１個の画像として再現可能なように規格が定められている。ステップＳ７０において、ＰＤＦ規格に従って、圧縮済みの各画像データ（図１３）がＰＤＦファイルに格納されるので、本実施例にて作成された圧縮ＰＤＦファイルは、ＰＤＦファイルの閲覧ソフトを用いて表示すると、対象画像ＳＩ（図３（Ａ））を、再現することができる。
【００７１】
以上説明した本実施例の画像処理によれば、変更部１３０は、オブジェクト収縮処理（図８）を実行することによって、収縮前の二値画像内のオブジェクトを構成するオブジェクト画素のうち、オブジェクトの外縁部（図１０参照）に位置する画素が、背景画素に変更された収縮二値画像を生成する。そして、決定部１４０は、色数決定処理（図７）を実行することによって、収縮後のオブジェクト画素の色値を用いて、オブジェクトの色数に関する特徴量Ｃを決定する。この結果、オブジェクトの色数に関する特徴量Ｃを適切に決定することができる。したがって、オブジェクトが文字であるか否かを適切に判断することができる。
【００７２】
仮に、オブジェクト収縮処理を行うことなく、収縮前の二値画像内のオブジェクト画素に基づいて、特徴量Ｃを算出すると、オブジェクトの外縁部（図１０）に位置する画素の色値が、特徴量Ｃの算出に用いられてしまう。図１１に破線で示すヒストグラムＨＧ２は、収縮前の二値画像内のオブジェクト画素に基づいて算出されるヒストグラムを示している。オブジェクトの外縁部は、上述したように、オブジェクトが単色である場合であっても、様々な色を有するオブジェクト画素を含み得る。この結果、オブジェクトが単色である場合であっても、ヒストグラムＨＧ２において、Ｃｒ値やＣｂ値が取り得る範囲内の比較的広い範囲に、オブジェクト画素が分布してしまう。外縁部に含まれるオブジェクト画素の色は、周囲の背景の色や、スキャナの特性によって、変化する。このために、外縁部（図１０）に位置するオブジェクト画素の色値が、特徴量Ｃの算出に用いられると、特徴量Ｃの算出に用いられる基準値ＴＨ２（図１１）や、特徴量Ｃを用いてオブジェクトが単色であるか否かを判断するための閾値Ｃｔｈ（図１２）を、適切な１個の値に定めることは困難である。この結果、オブジェクトが単色であるか否かを適切に判断することが困難になる。さらには、オブジェクトが文字であるか否かを適切に判断することが困難になる。
【００７３】
さらに、上記実施例のオブジェクト収縮処理によれば、フィルタ（図９（Ａ））を用いることによって、注目範囲内（具体的には、フィルタが配置された範囲内）のオブジェクト画素と背景画素とに基づいて、背景画素に変更すべきオブジェクト画素を適切に判断することができる。この手法は、オブジェクトの種類に拘わらずに採用できるので、例えば、オブジェクトが文字であるか否かが不明であっても、適切に外縁部を除いた収縮後のオブジェクト画素を特定することができる。したがって、予めオブジェクトの属性を判定することなく、様々なオブジェクトの色数を適切に判断することができる。
【００７４】
上記実施例のオブジェクト収縮処理によれば、収縮前の二値画像に配置されたフィルタ内の注目画素がオブジェクト画素であり、かつ、フィルタの範囲内に背景画素が含まれる場合に、対応画素が背景画素に設定された収縮二値画像が生成される（図８：ステップＳ３４０、Ｓ３５０）。すなわち、収縮前の二値画像に配置された注目画素としてのオブジェクト画素が、背景画素に変更された収縮二値画像が生成される。この結果、複数個のオブジェクト画素のうちの変更すべき適切な画素を背景画素に変更することができる。
【００７５】
さらに、上記実施例の色数決定処理では、変換部１５０は、オブジェクト画素の色値、具体的にはＲＧＢ値を、ＹＣｒＣｂ表色系の色値に変換し、決定部１４０は、変換して得られるＹ値を用いずに、変換して得られるＣｒ値、Ｃｂ値を用いて、特徴量Ｃを算出している（図８：ステップＳ２５０〜Ｓ２８０）。一般的に、スキャンデータによって表される画像では、Ｃｒ値、Ｃｂ値などの色味を示す成分値のばらつきが、輝度値などの明るさを示す成分のばらつきより大きい。このために、オブジェクトの色数を判断するためには、色味を示す成分値のみを用いることによって、より適切に、オブジェクトの色数を判断できる。ここで、ＹＣｒＣｂ表色系のＣｒ値、Ｃｂ値に限らず、Ｌａｂ表色系の＊ａ値、＊ｂ値や、ＨＳＶ表色系のＳ値やＶ値が用いられても良い。一般的に言えば、明るさを示す第１の成分値と、色味を示す第２の成分値と、を含む特定の表色系における第２の成分値を用いて、特徴量Ｃが算出されることが好ましい。
【００７６】
Ｃ．変形例：
（１）上記実施例では、スキャンデータが、対象画像データとして用いられている。このために、スキャンデータによって表される画像に生じる「ぼけ」に影響されることなく、画像内のオブジェクトの特徴量Ｃを適切に決定することができる。これに限らず、例えば、ＪＰＥＧ方式などの非可逆圧縮方式を用いて圧縮済みの圧縮画像データが対象画像データとして用いられても良い。例えば、ＪＰＥＧ方式では、圧縮によってエッジのシャープさが失われるので、オブジェクトの外縁部に「ぼけ」が発生する。本実施例の画像処理を用いれば、圧縮画像データによって表される画像に生じる「ぼけ」に影響されることなく、画像内のオブジェクトの特徴量Ｃを適切に決定することができる。
【００７７】
（２）上記実施例のオブジェクト収縮処理における収縮二値画像の生成方法は、一例であり、これに限られない。例えば、変更部１３０は、収縮二値画像データの初期データとして、全ての画素値がオブジェクト画素、例えば、画素値が「１」である画像データを準備する。変更部１３０は、図９（Ａ）に示すフィルタを、実施例と同様に、収縮前の二値画像の注目画素と、フィルタの中心位置ＣＣ（図９（Ａ））とが重なるように、配置する。そして、変更部１３０は、注目画素が背景画素である場合には、フィルタ内の全ての画素に対応する収縮二値画像内の複数個の画素を背景画素、例えば、画素値を「０」に設定する。一方、変更部１３０は、注目画素がオブジェクト画素である場合には、収縮二値画像内の画素値の変更を行わない。変更部１３０は、収縮前の二値画像内の全ての画素を注目画素として、上記処理を実行することによって、収縮二値画像データを生成しても良い。この例によれば、実施例と同様に、フィルタの横方向および縦方向の幅ＦＷ＝２Ｎ＋１の矩形のフィルタを用いることによって、Ｎ画素分だけ収縮されたオブジェクトを表す収縮二値画像データを生成することができる。
【００７８】
また、変更部１３０は、横方向および縦方向の幅ＦＷ＝Ｎ＋１の矩形のフィルタを用いることによって、Ｎ画素分だけ収縮されたオブジェクトを表す収縮二値画像データを生成することができる。具体的には、変更部１３０は、収縮二値画像データの初期データとして、全ての画素値がオブジェクト画素、例えば、画素値が「１」である画像データを準備する。変更部１３０は、収縮前の二値画像の注目画素と、当該矩形のフィルタ内の特定の位置、例えば、左上の角の位置とが重なるように、配置する。変更部１３０は、フィルタ内に少なくとも１個の背景画素が存在する場合には、フィルタ内の全ての画素に対応する収縮二値画像内の複数個の画素を背景画素、例えば、画素値を「０」に設定する。一方、変更部１３０は、フィルタ内の全ての画素がオブジェクト画素である場合には、収縮二値画像内の画素値の変更を行わない。変更部１３０は、収縮前の二値画像内の全ての画素を注目画素として、上記処理を実行することによって、収縮二値画像データを生成しても良い。
【００７９】
（３）上記実施例では、色数に関する特徴量Ｃを用いて、オブジェクトが単色であるか否かを判断しているが、単色か否かに限らず、色数に関する様々な判断がなされ得る。例えば、オブジェクトが２色であるか否か、３色であるか否かなどが判断されても良い。また、色数に関する判断の内容に応じて、色数に関する特徴量も１個または複数個の様々な値が用いられ得る。例えば、色数に関する特徴量は、例えば、ヒストグラム（図１１参照）のピークの数、ピークの幅などが用いられても良い。
【００８０】
（４）上記実施例の色数算出処理において、収縮後のオブジェクト画素の個数ＰＮが基準値ＴＨ１未満である場合には、色数に関する特徴量Ｃは、最小値、例えば、「０」に決定される（図７：ステップＳ２４０）。これに限らず、特徴量Ｃは、最小値とは異なる値に決定されても良い。例えば、上記実施例では、色数に関する特徴量Ｃが、閾値Ｃｔｈ（図１２）より小さい値に決定されれば、文字であるか否かの判定結果は、同じになる。
【００８１】
（５）上記実施例では、原稿の読み取り解像度が小さいほど、フィルタの大きさ、すなわち、変数Ｎの値を大きくしているが、スキャナの特性などによっては、原稿の読み取り解像度が大きいほど、フィルタの大きさを小さくしても良い。例えば、収縮二値画像におけるオブジェクトの収縮幅を、原稿上における実寸値を単位として比較した場合に、読み取り解像度に拘わらずに同じ値にする場合には、Ｎ＝（ＳＲ／３００）に設定されても良い。ＳＲは、ｄｐｉが単位である読み取り解像度である。
【００８２】
（６）上記実施例の画像処理では、色数算出処理（図７）のステップＳ２１０のオブジェクト収縮処理の後に、ステップＳ２５０にて、色数に関する特徴量Ｃを算出するために、変換部１５０は、オブジェクト画素の色値であるＲＧＢ値を、ＹＣｒＣｂ表色系の色値に変換している。この表色系の変換は、オブジェクト収縮処理の後に限らず、他のタイミングで実行されても良い。例えば、変換部１５０は、色数算出処理の前、例えば、オブジェクト属性判定処理（図５）の対象オブジェクトの選択（ステップＳ１１０）と、画素密度Ｓの算出（ステップＳ１２０）と、の間に、オブジェクト収縮処理前の対象オブジェクトを構成する複数個のオブジェクト画素の色値を、ＹＣｒＣｂ表色系の色値に変換しても良い。また、変換部１５０は、図２のステップＳ１０にて、スキャンデータが取得された直後に、スキャンデータの全ての画素の色値を、ＹＣｒＣｂ表色系の色値に変換しても良い。この場合には、ステップＳ１５のエッジ画像データの生成や、ステップＳ３５の二値画像データの生成は、ＹＣｒＣｂ表色系に変換済みのスキャンデータを用いて実行されても良い。
【００８３】
（７）上述した計算機２００の画像処理部１００による画像処理機能は、光学的に対象物を読み取ることによって対象物を表す画像データを生成する画像読取部を含む画像処理装置によって実現されてもよい。例えば、複合機４００やスキャナ３００や図示しないデジタルカメラによって実現されてもよい。この場合には、画像処理装置は、自身の画像読取部によって生成された画像データを用いて、画像処理（例えば、図２の処理）を行えばよい。
【００８４】
一般的には、画像処理、例えば、図２の処理を実現する画像処理装置は、計算機２００に限らず、種々の装置であってよい。例えば、プリンタ、デジタルカメラ、スキャナなどの画像関連機器の内部のコンピュータ、汎用のパーソナルコンピュータ、ネットワークに接続されたサーバ等を採用可能である。また、ネットワークを介して互いに通信可能な複数個のコンピュータが、画像処理に要する機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい。この場合、複数個のコンピュータの全体が、画像処理装置に対応する。
【００８５】
（８）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【００８６】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００８７】
５０...スキャナドライバ、１００...画像処理部、１１０...領域特定部、１２０...オブジェクト特定部、１３０...変更部、１４０...決定部、１５０...変換部、１６０...判定部、２００...計算機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２３１...ドライバプログラム、２３２...画像処理プログラム、２３３...判定テーブル、２４０...操作部、２４１...バッファ領域、２５０...通信部、３００...スキャナ、４００...複合機
【図１】
2014197804.tif 000003
【図２】
2014197804.tif 000004
【図３】
2014197804.tif 000005
【図４】
2014197804.tif 000006
【図５】
2014197804.tif 000007
【図６】
2014197804.tif 000008
【図７】
2014197804.tif 000009
【図８】
2014197804.tif 000010
【図９】
2014197804.tif 000011
【図１０】
2014197804.tif 000012
【図１１】
2014197804.tif 000013
【図１２】
2014197804.tif 000014
【図１３】
2014197804.tif 000015