(57)【要約】 【課題】  不要な二値画像を生成せずにＯＣＲ処理のための二値画像を生成すること。【解決手段】  画像処理装置は、入力画像からヒストグラムを生成し、ヒストグラムに基づいて中間調の背景を検出し、中間調の背景より明るい白抜き文字の検出を行い、二値画像の生成を行う。二値画像の生成では、中間調の背景が検出され、かつ白抜き文字が検出された場合には中間調の背景と白抜き文字との間の閾値で二値画像を生成する。【選択図】  図４
2020102148.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
入力画像から輝度に基づいてヒストグラムを生成するヒストグラム生成手段と、
前記ヒストグラムに基づいて中間調の背景を検出する背景検出手段と、
前記中間調の背景より高い輝度の白抜き文字の検出を行う文字検出手段と、
前記白抜き文字の検出に応じた閾値に従って二値画像の生成を行う二値画像生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記二値画像生成手段は、前記中間調の背景が検出され、かつ前記白抜き文字が検出された場合には前記中間調の背景と前記白抜き文字との間の輝度の閾値で二値画像を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記二値画像生成手段は、前記中間調の背景が検出された場合には、さらに前記中間調の背景より低い輝度の閾値で二値画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記中間調の背景より低い輝度の非白抜き文字の検出を行う第２の文字検出手段を備え、
前記二値画像生成手段は、前記中間調の背景が検出され、かつ前記非白抜き文字が検出された場合には前記中間調の背景と前記非白抜き文字との間の輝度の閾値で二値画像を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記二値画像に対してＯＣＲ処理を行うＯＣＲ手段をさらに有することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記ＯＣＲ手段は、前記二値画像の文字領域に対して、前記ＯＣＲ処理を行うことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記ＯＣＲ手段によって得られた文字情報を結合する結合手段をさらに有することを特徴とする請求項５または６記載の画像処理装置。
【請求項８】
前記結合手段によって得られた文字情報から、ＯＣＲ結果付きのＰＤＦファイルを生成するファイル生成手段を有することを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記文字検出手段は、エッジ検出を行い、エッジである画素の合計が所定の閾値より多い場合に、白抜き文字があると判定することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記文字検出手段は、白画素の塊に外接する矩形領域の面積が、所定の閾値より小さい場合に、該矩形領域が白抜き文字を含むと判定することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
画像処理方法であって、
入力画像からヒストグラムを生成するヒストグラム生成工程と、
前記ヒストグラムに基づいて中間調の背景を検出する背景検出工程と、
前記中間調の背景より高い輝度の白抜き文字の検出を行う文字検出工程と、
前記白抜き文字の検出に応じた閾値に従って二値画像の生成を行う二値画像生成工程と、
を有することを特徴とする画像処理方法。
【請求項１２】
請求項１乃至１０の何れか一項に記載の画像処理装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像データに文字認識処理を行うための画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
紙文書を読み取った入力画像データ（多値画像データ）に文字認識処理（ＯＣＲ処理）を実行し、入力画像データに文字情報を付加して、文字列検索可能なファイル（ＯＣＲ結果付きのＰＤＦ）を生成し、外部装置へ送信する機能を有する画像処理装置がある。一般的に、ＯＣＲ処理では、読み取った入力画像データを二値化したモノクロ画像データに対して行うことが前提となる。
【０００３】
ここで、入力画像データが、中間調の背景上に中間調の背景よりも暗い文字（非白抜き文字）と中間調の背景よりも明るい文字（白抜き文字）と含む場合、単一の閾値で二値化を行うと、一方の文字が消えてしまいＯＣＲ処理によって得られる情報が少なくなる。従って、非白抜き文字と白抜き文字との両方の文字に対してＯＣＲ処理で認識するためには、中間調の背景よりも暗い閾値と、中間調の背景よりも明るい閾値との少なくとも二つの閾値を含む複数の閾値で二値化を行う必要がある。
【０００４】
特許文献１では、読み取った入力画像データから複数の閾値を決定し、複数の二値画像を生成する方法が提案されている。この方法を用いると、中間調の背景よりも暗い閾値と明るい閾値とで二値化した二値画像が生成されるため、それぞれの二値画像に対してＯＣＲ処理を実行することで、非白抜き文字と白抜き文字とをＯＣＲ処理にかけることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１９０９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、非白抜き文字・白抜き文字の有無に関わらず、複数の閾値による二値化が行われる。このため、中間調および中間調より明るい色の背景と、１色の中間調より暗い文字とを有する入力画像データの場合にも、複数の二値画像が生成される。従って、ＯＣＲ処理にとっては、不要な二値画像、つまり、文字のない二値画像が生成されるため、文字のない二値画像に対して、ＯＣＲ処理を行うと、誤認識が増えてしまう課題がある。また、色の数が増えるほど不要な二値画像を生成するため、処理速度の低下が懸念される。
【０００７】
本発明の目的は、上述の課題に鑑みてなされたものであり、不要な二値画像を生成せずにＯＣＲ処理のための二値画像を生成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によると、画像処理装置は、入力画像からヒストグラムを生成するヒストグラム生成手段と、ヒストグラムに基づいて中間調の背景を検出する背景検出手段と、中間調の背景より明るい白抜き文字の検出を行う文字検出手段と、二値画像の生成を行う二値画像生成手段と、を有し、二値画像生成手段は、中間調の背景が検出され、かつ白抜き文字が検出された場合には中間調の背景と白抜き文字との間の閾値で二値画像を生成する。
【発明の効果】
【０００９】
本発明によると、不要な二値画像を生成せずにＯＣＲ処理のための二値画像を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理システムを示すブロック図。
【図２】第１実施形態に係るＭＦＰのハードウェア構成図。
【図３】第１実施形態に係るデータ処理部２１５のブロック図。
【図４】第１実施形態に係るＰＤＦ（ＯＣＲ結果付き）ファイル生成のフローチャート。
【図５】第１実施形態に係る入力画像データおよび二値画像データの一例。
【図６】第１実施形態に係る入力画像データおよび二値画像データの一例。
【図７Ａ】図５（Ａ）のヒストグラムの説明図。
【図７Ｂ】図６（Ａ）のヒストグラムの説明図。
【図７Ｃ】図１２のヒストグラムの説明図。
【図８】第１実施形態に係るＵＩ画面。
【図９】第１実施形態に係る中間調の背景検出のフローチャート。
【図１０】第１実施形態に係るＰＤＦ構造の模式図。
【図１１】第１実施形態に係る白抜き文字の検出のフローチャート。
【図１２】第２実施形態に係る入力画像データおよび二値画像データの一例。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜第１実施形態＞
図１は、第１実施形態におけるシステム構成を示す概略図である。図１では、複合機（ＭＦＰ）１０１とクライアントＰＣ１０２とが、ネットワーク１０３を介して接続されている。
【００１３】
点線１０４および１０５は紙文書を読み取った入力画像データにＯＣＲ処理を実行し、入力画像データに文字情報を付加して、ＯＣＲ結果付きのＰＤＦファイルを生成し、クライアントＰＣ１０２へ送信する処理の流れを示す。点線１０４は、ユーザがＭＦＰ１０１のスキャナを用いて紙文書を読み込ませて入力画像データを生成する処理を示す。
【００１４】
点線１０５は、ユーザから指定された各種設定に基づいて、ＭＦＰ１０１のソフトウェアあるいはハードウェアを利用してデータを生成し、指定された宛先に送信する処理を示す。クライアントＰＣ１０２へ送信された画像は、ＰＤＦなどのファイル形式で送信されるため、ＰＤＦビューアなどの、クライアントＰＣ１０２の有する汎用的なソフトウェアを用いて閲覧可能である。
【００１５】
ユーザは、後述するＭＦＰ１０１のユーザーインタフェース（ＵＩ）を用いて、スキャン画像を送信する宛先の設定と、スキャンや送信に関わる各種設定とを行うことができる。本実施形態では、データ書式としてカラーのＰＤＦ（ＯＣＲ結果付き）が指定された場合について説明するが、各種設定として、ユーザは、その他のカラーモードやファイル形式（例えば、ＪＰＥＧ、ＴＩＦＦ、ＰＤＦ）などを指定できる。ＰＤＦ（ＯＣＲ結果付き）のファイル構造の詳細については後述する。
【００１６】
図２は、ＭＦＰ１０１のハードウェア構成を示す図である。ＭＦＰ１０１は、画像入力デバイスであるスキャナ部２０１と、画像出力デバイスであるプリンタ部２０２、ＭＦＰ全体の制御を行う制御ユニット２０４、ユーザーインタフェースである操作部２０３等を有する。
【００１７】
制御ユニット２０４は、スキャナ部２０１、プリンタ部２０２、操作部２０３と接続し、一方では、ＬＡＮ２０９と接続することで、画像情報やデバイス情報の入出力を行うコントローラである。制御ユニット２０４は、ＣＰＵ２０５、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０６、操作部インタフェース（Ｉ／Ｆ）２０７、ネットワークＩ／Ｆ２０８、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１０、および記憶部２１１を含む。また、制御ユニット２０４はイメージバスＩ／Ｆ２１２、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）部２１３、デバイスＩ／Ｆ２１４、およびデータ処理部２１５を含む。
【００１８】
ＣＰＵ２０５はＭＦＰ１０１の全体を制御するプロセッサであり、ＲＯＭ２１０または記憶部２１１に格納されたソフトウェアをＲＡＭに展開して実行することができる。ＲＡＭ２０６はＣＰＵ２０５が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＲＯＭ２１０はブートＲＯＭであり、システムのブートプログラム等のプログラムが格納されている。記憶部２１１は、ハードディスクドライブ（ＨＤＤ）等の不揮発性記憶媒体であり、システム制御ソフトウェアや画像データを格納する。操作部Ｉ／Ｆ２０７は操作部（ＵＩ）２０３とのインタフェースであり、操作部２０３に表示するための画像データを操作部２０３に対して出力する。また、操作部Ｉ／Ｆ２０７は、操作部２０３を介してＭＦＰのユーザが指示した情報を、ＣＰＵ２０５に伝える役割をする。
【００１９】
ネットワークＩ／Ｆ２０８はＭＦＰ１０１をＬＡＮ２０９に接続し、データの入出力を行う（例えば、ＰＤＦ形式の圧縮データを別の装置に送信したり、別の装置からＰＤＦ形式の圧縮データを受信したりする）。
【００２０】
ＣＰＵ２０５、ＲＡＭ２０６、操作部Ｉ／Ｆ２０７、ネットワークＩ／Ｆ２０８、ＲＯＭ２１０、記憶部２１１、およびイメージバスＩ／Ｆ２１２はシステムバス２１６上に配置される。イメージバスＩ／Ｆ２１２は、システムバス２１６と画像データを高速で転送する画像バス２１７とを接続し、データ構造を変換するバスブリッジである。画像バス２１７は、例えば、ＰＣＩバスやＩＥＥＥ１３９４で構成される。画像バス２１７には、イメージバスＩ／Ｆ２１２に加え、ＲＩＰ部２１３、デバイスＩ／Ｆ２１４、およびデータ処理部２１５が接続される。
【００２１】
ＲＩＰ部２１３は、ＰＤＬ（ページ記述言語）コードを解析し、指定された解像度のビットマップイメージに展開する、いわゆるレンダリング処理を実現する。デバイスＩ／Ｆ２１４は、信号線２１８を介して画像入力デバイスであるスキャナ部２０１を接続し、信号線２１９を介して画像出力デバイスであるプリンタ部２０２を接続しており、画像データの同期系／非同期系の変換を行う。データ処理部２１５では、ＯＣＲやＰＤＦファイル生成などの処理を行うことで、ＰＤＦ（ＯＣＲ結果付き）を生成する。生成されたＰＤＦ（ＯＣＲ結果付き）は、ネットワークＩ／Ｆ２０８及びＬＡＮ２０９を介して、指定された宛先（例えば、クライアントＰＣ１０２）に送信される。また、データ処理部２１５は、ネットワークＩ／Ｆ２０８及びＬＡＮ２０９を介して受信した圧縮データの解凍（展開）を行うこともできる。解凍した画像は、デバイスＩ／Ｆ２１４を介してプリンタ部２０２に送られ、印刷されてもよい。
【００２２】
＜操作部２０３の画面例＞
第１実施形態に係るＭＦＰ１０１において、スキャン画像を送信する際に、操作部２０３に表示される画面の一例を図８（Ａ）〜（Ｃ）に示す。
【００２３】
図８（Ａ）の設定画面８００には、例えば、送信する画像データのカラーモードを指定するための設定ボタン８０１と、送信する画像データのファイル形式を指定するための設定ボタン８０２とが表示される。また、送信するための宛先を追加するための設定ボタン８０３が表示される。
【００２４】
図８（Ａ）において設定ボタン８０１が押下された場合、操作部２０３に図８（Ｂ）に示す設定画面８１０が表示される。そして、ユーザは、カラーモードとして、例えば、白黒８１１またはカラー８１２を選択できる。なお、設定画面８１０上で設定された設定情報は保存され、デフォルトのカラーモードとしてＲＡＭ２０６に記憶されてもよい。
【００２５】
図８（Ａ）において設定ボタン８０２が押下された場合は、操作部２０３に図８（Ｃ）に示す設定画面８２０が表示される。ユーザは、例えば、ＪＰＥＧ（８２１）、ＯＯＸＭＬ（８２２）、ＰＤＦ（８２３）、ＰＤＦ（ＯＣＲ）８２４等から画像データのファイル形式を選択することができる。なお、設定画面８２０上で設定された設定情報は保存され、デフォルトの画像データのファイル形式としてＲＡＭ２０６に記憶されてもよい。
【００２６】
例えば、図８（Ｃ）のファイル形式選択画面において、ＰＤＦ（ＯＣＲ）８２４が選択された場合、読み取った原稿に含まれている文字情報を文字コードとして画像データに付加する為に、当該画像データに対して以下に説明するＯＣＲ処理が行われる。
【００２７】
＜データ処理部２１５の構成＞
次に、入力画像データからＰＤＦ（ＯＣＲ結果付き）ファイルを生成する画像処理部として機能する図２のデータ処理部２１５の構成について、図３のブロック図を用いて説明する。
【００２８】
図３は、データ処理部２１５の構成を示すブロック図であり、入力データ（ＲＧＢの多値画像データ）から出力データ（ＰＤＦ（ＯＣＲ結果付き））を生成するためのモジュールを示す。データ処理部２１５は、ＣＰＵ２０５が図３の各モジュールに対応するソフトウェアプログラムを実行することにより実現してもよいし、その一部または全部をＡＳＩＣや電子回路等のハードウェアによって実現してもよい。
【００２９】
まず、データ処理部２１５に入力された入力データは、グレー変換部３０１に入力される。グレー変換部３０１は、スキャナ部２０１によって読み取られた入力データ（ＲＧＢの多値画像データ）からグレースケールの多値画像データを生成する。
【００３０】
本実施形態では、グレーの信号として一般的なＹＵＶカラースペースにおいて  Ｙ=０．２９９×Ｒ  ＋０．５８７×Ｇ＋０．１１４×Ｂ  で定義される輝度Ｙを用いるが、これに限るものではない。
【００３１】
ここで、グレー変換部３０１から得られるグレーの多値画像データの一例を図５（Ａ）、及び図６（Ａ）に示す。図５（Ａ）の５００は中間調の背景上に５０１の文字列「ＡＢＣ」、５０２の白抜き文字「ＤＥＦ」、５０３の写真を含む入力画像データの一例である。図６（Ａ）の６００は、白抜き文字を含んでおらず、中間調の背景上に６０１の文字列「ＡＢＣ」、６０２の写真を含む入力画像データの一例である。各部分の輝度の最頻値は、文字列「ＡＢＣ」は「０」、白抜き文字「ＤＥＦ」は「２５５」、写真は「１５０」、中間調の背景は「１００」であるものとする。実際には、紙文書をスキャンする際に、輝度の読み取り誤差（ばらつき）があるため、輝度値は均一ではなくてもよい。
【００３２】
図３の説明に戻る。グレー変換部３０１で生成されたグレーの多値画像データは、ヒストグラム生成部３０２に入力され、ヒストグラム生成部３０２は多値画像データの輝度値のヒストグラムを生成する。
【００３３】
ここで、図７Ａおよび図７Ｂを参照して、図５（Ａ）および図６（Ａ）に示したグレーの多値画像データから得られるヒストグラムを説明する。図７Ａおよび図７Ｂの横軸は画像に含まれる所定の範囲（ピクセル）の輝度（信号値）に対応する値（８ｂｉｔ）であって、範囲が０（暗い）〜２５５（明るい）である信号値を示す。縦軸は、多値画像データ中に含まれる特定の信号値のピクセルの数（度数）に対応する。
【００３４】
図７Ａの７０１は図５（Ａ）の文字列「ＡＢＣ」５０１に対応し、７０２は背景画素の部分に対応し、７０３は写真５０３に対応し、７０４は白抜き文字「ＤＥＦ」５０２および写真５０３に対応する信号値の度数である。同様に、図７Ｂの７１１は図６（Ａ）の文字列「ＡＢＣ」６０１に対応し、７１２は背景画素に対応し、７１３および７１４は写真６０２の範囲に対応する信号値の度数である。
【００３５】
図３の説明に戻る。中間調の背景検出部３０３は、ヒストグラム生成部３０２で生成されたヒストグラムから中間調の背景の検出を行う。中間調の背景の検出については、公知の手法を用いることができ、本明細書では一例として、図９のフローチャートを用いて説明を行う。図９のフローチャートに示す各動作（ステップ）は、ＣＰＵ２０５がＲＯＭ２１０または記憶部２１１に記憶された各制御モジュールを実現するためのプログラムをＲＡＭ２０６に読み出し、実行することにより実現される。
【００３６】
まず、図９のＳ９０１で、ＣＰＵ２０５は予め定めた中間調の信号値の範囲（例えば、６４〜１９２）で、ピーク（度数最大）となる信号値を検出する。次に、ＣＰＵ２０５は処理をＳ９０２に進め、ピーク近傍（例えば、正規分布における±２σ）の度数を累計する。次に、ＣＰＵ２０５は処理をＳ９０３に進め、Ｓ９０２で得られた度数の累計が閾値より大きいか否かを判定する。Ｓ９０３で、度数の累計が閾値より大きい場合（Ｓ９０３でＹｅｓ）、ＣＰＵ２０５は処理をＳ９０４に進め、中間調の背景検出部３０３は中間調の背景があることを指し示す信号を出力する。Ｓ９０３で、度数の累計が閾値以下である場合（Ｓ９０３でＮｏ）、ＣＰＵ２０５は処理をＳ９０５に進め、中間調の背景検出部３０３は中間調の背景がないことを指し示す信号を出力する。
【００３７】
例えば、図７Ａの例では、中間調の信号値範囲（例えば、６４〜１９２）で、７０２に示すピーク（度数最大）となる信号値が検出される。そして、ピーク近傍の度数の累計が、閾値より大きいため、中間調の背景があると判定される。同様に、図７Ｂでも、７１２に示す度数の累計が、閾値より大きいため、中間調の背景がありと判定される。
【００３８】
なお、中間調の背景を検出する理由は、入力データに中間調の背景がある場合、中間調の背景上に中間調の背景よりも暗い通常文字（非白抜き文字）と、中間調の背景よりも明るい白抜き文字が混在している場合があるためである。
【００３９】
ここで、中間調の背景上に非白抜き文字と白抜き文字が混在している場合、ＯＣＲ処理でそれぞれの文字情報を得るためには、中間調の背景の信号値よりも暗い閾値と、明るい閾値との少なくとも２つの閾値で二値化を行う必要がある。
【００４０】
図３の説明に戻る。白抜き文字の検出部３０４は、ヒストグラム生成部３０２から得られるヒストグラム、及びグレー変換部３０１から得られるグレーの多値画像データから白抜き文字の検出を行う。本実施形態では、白抜き文字の検出について説明を行うが、特にこれに限るものではなく、中間調の背景よりも輝度が高い（明るい）信号値の範囲であれば、例えば黄色抜き文字の検出を行ってもよい。なお、白抜き文字は信号値が白レベル付近に集まるため、白抜き文字がないことの確認が比較的容易である。
【００４１】
白抜き文字の検出方法について、図１１のフローチャートを参照して説明を行う。なお、ＯＣＲ処理を行うグレーの多値画像データとして図５（Ａ）および図６（Ａ）を、これらの多値画像データのヒストグラムとして、図７Ａおよび図７Ｂを用いる。図１１のフローチャートに示す各動作（ステップ）は、ＣＰＵ２０５が記憶部２１１に記憶された各制御モジュールを実現するためのプログラムをＲＡＭ２０６に読み出し、実行することにより実現される。
【００４２】
まず、Ｓ１１０１でＣＰＵ２０５はヒストグラムから、予め定めた信号値の範囲（例えば、信号値が２２４〜２５５の白画素）の度数を合計する。次に、ＣＰＵ２０５はＳ１１０２に処理を進め、Ｓ１１０１で取得した度数の合計が所定の閾値ｔｈＷより大きいか否かを判定する。度数の合計が閾値ｔｈＷより大きい場合（Ｓ１１０２でＹｅｓ）、ＣＰＵ２０５は処理をＳ１１０３に進め、度数の合計が閾値ｔｈＷ以下である場合（Ｓ１１０２でＮｏ）、ＣＰＵ２０５は処理をＳ１１１０へ進め、白抜き文字がないと判定する。
【００４３】
例えば、グレーの多値画像データ５００のヒストグラムである図７Ａでは、信号値範囲（２２４〜２５５）に位置する７０４に示す度数の合計が所定値ｔｈＷより大きいため白抜き文字があると判定する。一方、グレーの多値画像データ６００のヒストグラムである図７Ｂでは、信号値範囲（２２４〜２５５）の度数の合計が所定値ｔｈＷより小さい場合には白抜き文字なしと判定する。
【００４４】
図１１のＳ１１０３以降の処理では、グレーの多値画像データを入力として、多値画像データ中の所定の信号値範囲の画素それぞれを注目画素として、Ｓ１１０３〜Ｓ１１０６のエッジ検出などの処理を行う。
【００４５】
ＣＰＵ２０５はＳ１１０３で注目画素が白画素か否かを判定する。信号値範囲は、２２４〜２５５とする。注目画素が白画素であると判定された場合（Ｓ１１０３でＹｅｓ）、ＣＰＵ２０５はＳ１１０４へ処理を進め、公知のエッジ検出を行う。注目画素が白画素ではないと判定された場合（Ｓ１１０３でＮｏ）、ＣＰＵ２０５はＳ１１０７へ処理を進める。
【００４６】
Ｓ１１０４では、ＣＰＵ２０５は、注目画素が白抜き文字の白画素なのか、写真の一部に含まれる白画素なのかを識別するためにエッジ検出を行う。例えば、図６（Ｄ）の６０３は、写真が階調をもっており、一部に白画素が含まれる。このような場合、Ｓ１１０４では、エッジ画素は検出されない（または微小である）ため、注目画素は白抜き文字の白画素ではないことがわかる。
【００４７】
ここで、グレーの多値画像データ５００において、Ｓ１１０４で白画素と判定された画素に対してエッジ検出を行った結果の一例を図５（Ｊ）の５８０に示す。５８１に示す黒画素がエッジ画素と判定された画素とする。
【００４８】
次に、Ｓ１１０５で注目画素がエッジ画素か否かを判定する。注目画素がエッジ画素と判定された場合（Ｓ１１０５でＹｅｓ）ＣＰＵ２０５はＳ１１０６に処理を進め、当該画素をエッジ画素に加える。注目画素がエッジ画素ではないと判定された場合（Ｓ１１０５でＮｏ）、ＣＰＵ２０５はＳ１１０７に処理を進める。
【００４９】
続いて、Ｓ１１０７でＣＰＵ２０５は、全ての画素についてＳ１１０３（および選択的にＳ１１０４〜Ｓ１１０６）の処理が終了したか否かを判定する。全ての画素について処理が終了していると判定する場合（Ｓ１１０７でＹｅｓ）、ＣＰＵ２０５は処理をＳ１１０８に進める。全ての画素について処理が終了していないと判定する場合（Ｓ１１０７でＮｏ）、ＣＰＵ２０５は処理をＳ１１０３に進め、次の注目画素について、Ｓ１１０３の処理を繰り返す。
【００５０】
Ｓ１１０８で、ＣＰＵ２０５はＳ１１０６で算出したエッジ画素の合計が、所定の閾値ｔｈＥより大きいか否かを判定する。ＣＰＵ２０５が、エッジ画素の合計が閾値ｔｈＥより大きいと判定した場合（Ｓ１１０８でＹｅｓ）、Ｓ１１０９に処理を進め、白抜き文字の検出部３０４から白抜き文字があることを指し示す信号を二値画像生成部３０５に出力する。ＣＰＵ２０５がエッジ画素の合計が閾値ｔｈＥ以下であると判定した場合（Ｓ１１０８でＮｏ）、ＣＰＵ２０５は処理をＳ１１１０に進め、白抜き文字なしと判定する。
【００５１】
白抜き文字を検出したか否かによって、単一の閾値で二値化を行うか、複数の閾値で二値化を行うかを制御することで、不必要な二値画像が生成されないようにすることができる。例えば、図６（Ａ）の６００のように、白抜き文字が検出されない場合には、複数の閾値で二値化を行う必要がない。
【００５２】
図３の説明に戻る。二値画像生成部３０５は、グレー変換部３０１から得られるグレーの多値画像データから二値画像データを生成する。本実施形態において、ヒストグラム生成部３０２から得られるヒストグラムから複数、または単一の閾値を算出し、当該閾値によって二値化を行う。中間調の背景が検出され、かつ白抜き文字が検出された場合、中間調の背景上に非白抜き文字と白抜き文字があると判定し、複数の閾値で二値化を行う。一方、中間調の背景と、白抜き文字のいずれか一方が検出されなかった場合、単一の閾値で二値化を行う。
【００５３】
例えば、図７Ａは、前述の通り、中間調の背景、かつ白抜き文字が検出されるため、中間調の背景上に非白抜き文字と白抜き文字があると判定し、複数の閾値で二値化を行う。閾値は、中間調の背景として検出された７０２の信号値よりも暗い閾値ｔｈＡと、７０２の信号値よりも明るい閾値ｔｈＢが算出される。
【００５４】
図５（Ａ）の５００の多値画像データを、閾値ｔｈＡおよびｔｈＢでそれぞれ二値化した結果を図５（Ｂ）および図５（Ｃ）に示す。中間調の背景よりも暗い閾値ｔｈＡで二値化された二値画像５１０は、文字列「ＡＢＣ」５０１を含む二値画像であり、中間調の背景よりも暗い閾値ｔｈＢで二値化された二値画像５２０は、白抜き文字「ＤＥＦ」５０２および写真５０３を含む二値画像である。５２０は、白抜き文字を含んでいるため、白黒を反転した二値画像５３０を生成することで、白抜き文字用のＯＣＲ処理を行うことなく、非白抜き文字と同様のＯＣＲ処理を適用することができる。
【００５５】
図７Ｂでは、中間調の背景は検出されるが、白抜き文字は検出されないため、単一の閾値で二値化を行う。閾値は、中間調の背景として検出された７１２よりも暗い閾値ｔｈＡのみ算出される。つまり、７１２の分布よりも明るい閾値では二値化を行わない。図６（Ａ）の６００に対して、閾値ｔｈＡで二値化した結果を６１０に示す。図６（Ｂ）の６１０は、文字列「ＡＢＣ」６０１を含む二値画像である。仮に、７１２よりも明るい閾値を算出し、図６（Ａ）の６００に対して、当該閾値で二値化した結果を図６（Ｃ）の６２０に示す。６２０は、写真を含む二値画像であり、文字列は含まない。したがって、このような二値画像は、文字情報を抽出するためのＯＣＲ処理には不要な画像である。
【００５６】
図３の説明に戻る。二値画像生成部３０５で生成された二値画像データは領域判定部３０６に入力され、領域判定部３０６では、二値画像データに基づいて文字領域と写真領域とを検出する。図５（Ｅ）および（Ｆ）のの５４０及び５５０は、領域判定部３０６によって、文字領域と写真領域が検出された結果を示す。これにより、例えば、５４１と５５１が文字領域として、５５２が写真領域として検出される。
【００５７】
この処理は、例えば特開平０６−０６８３０１号公報に記載された、公知の領域識別手法によって実行することができる。例えば、図５（Ｆ）の二値画像５５０に対して、領域判定を行った場合について概要説明する。
（１）黒画素の輪郭を追跡することにより、黒画素の塊を検出する。その結果、図５（Ｇ）の５５３に示すように黒画素塊５５４〜５５７が得られる。
（２）得られた黒画素塊５５４〜５５７を、大きさ、形状、および黒画素密度のうちの少なくとも１つを用いて、文字か写真かに分類する。例えば、縦横比が１に近く、かつ大きさが定められた範囲の黒画素塊を、文字を構成する黒画素塊と判定する。そして、残りの黒画素塊は、写真を構成する画素塊と判定する。その結果、図５（Ｇ）の５５３の黒画素塊５５４〜５５６は、文字と判定され、黒画素塊５５７は、大きさが大きいため写真と判定される。
（３）文字と判定された黒画素塊同士の距離が所定の距離（例えば、３画素）内である場合に、その黒画素塊同士を同じグループに分類する。その上で、同じグループに分類された黒画素塊に外接する矩形領域を文字領域と判定する。その結果、図５（Ｇ）の５５３の黒画素塊５５４〜５５６は黒画素塊同士の距離が近いと判断され、文字領域と判定される。
【００５８】
上記の（１）から（３）の処理により、図５（Ｆ）の５５１が文字領域、５５２が写真領域であるという判定結果が出力される。
【００５９】
図３の説明に戻る。続いて、ＯＣＲ部３０７は、領域判定部３０６で文字領域と判定された領域に対して文字切り出し処理を行い、文字切り矩形毎にＯＣＲ処理を行う。
【００６０】
図５（Ｈ）および（Ｉ）の５６０および５７０は、図５（Ｅ）および（Ｆ）の文字領域５４１および５５１に対して、文字切り出し処理を行った結果を示す。文字切り出し処理においては、文字領域の中で、横方向からの射影と縦方向からの射影に基づいて、各文字に外接する矩形を文字切りし、矩形として切り出す。ＯＣＲ部３０７は、文字切りされた矩形情報を参照しながら、公知のＯＣＲ処理を行うことで文字コードを得る。図５（Ｈ）および（Ｉ）の５６０、５７０は、図５（Ｅ）および（Ｆ）の文字領域５４１、５５１に対して、文字切り出し処理を行った結果である。図５（Ｈ）および（Ｉ）の各文字切り矩形にＯＣＲ処理を行うと、各文字の文字コード"Ａ"、"Ｂ"、"Ｃ"、"Ｄ"、"Ｅ"、および"Ｆ"が得られる。
【００６１】
ＯＣＲ結果結合部３０８は、ＯＣＲ部３０７によって得られた文字コードを結合し、ファイル生成部３０９へ文字コードに関する情報を渡す。ＯＣＲ部３０７によって得られる文字コードは、５６０の "Ａ"、"Ｂ"、および"Ｃ"、ならびに５７０の"Ｄ"、"Ｅ"、および"Ｆ"である。以上のように、ＯＣＲ結果結合部３０８は、ＯＣＲ部３０７によって得られた文字コードを結合し、ファイル生成部３０９へ文字コードを渡す。
【００６２】
ファイル生成部３０９は、データ処理部２１５に入力された入力データ（多値画像データ）と、ＯＣＲ結果結合部３０８によって得られた文字コードとから、ＰＤＦ（ＯＣＲ結果付き）形式のファイルを生成する。
【００６３】
図１０は、ファイル生成部３０９によって生成されるＰＤＦ（ＯＣＲ結果付き）形式のファイルに含まれるレイヤ構造の模式図である。レイヤ１００１は、ＯＣＲ部３０７によって取得した文字コードに関する情報を含むレイヤである。文字コード"Ａ"、"Ｂ"、"Ｃ"、"Ｄ"、"Ｅ"、および"Ｆ"を含むレイヤ１００１は、ユーザには非表示にされながらも、文字による検索を有効にするために、レイヤ１００２上に透明色で描画される。レイヤ１００２は、入力データ（多値画像データ）のレイヤである。多値画像データは、例えばＪＰＥＧ形式などの非可逆圧縮を行うことが一般的である。
【００６４】
これらのレイヤ１００１および１００２を合成し、ＰＤＦ形式に変換することでＰＤＦ（ＯＣＲ結果付き）形式のファイルを生成する。生成されたファイルは、上述したように、クライアントＰＣ１０２などの外部装置へ送信される。
【００６５】
次に、図４のフローチャートを参照して、データ処理部２１５が紙文書をＰＤＦ（ＯＣＲ結果付き）形式のファイルを生成するための処理を説明する。なお、図４に示す各動作（ステップ）は、スキャンの指示を受けたＭＦＰ１０１のＣＰＵ２０５が、ＲＯＭ２１０または記憶部２１１に記憶された各制御モジュールを実現するためのプログラムをＲＡＭ２０６に読み出し、実行することで実現される。ＣＰＵ２０５は、イメージバスＩ／Ｆ２１２、システムバス２１６、画像バス２１７を用いて、データ処理部２１５とデータのやり取りをすることが可能である。
【００６６】
まず、最初に、Ｓ４０１で、ＣＰＵ２０５は、スキャン処理に対してＯＣＲ設定がされているか否かを判定する。図８で前述したように、例えば、ＰＤＦ（ＯＣＲ）８２４が選択された場合にＯＣＲ設定がされていると判定することができる。ＯＣＲ設定がされていると判定した場合（Ｓ４０１でＹｅｓ）、ＣＰＵ２０５は処理をＳ４０２へ進める。ＯＣＲ設定がされていないと判定した場合は、二値画像生成が不要であるため、ＣＰＵ２０５は処理をＳ４１２に進め、ファイル生成部３０９は、入力データ（多値画像データ）からファイルを生成し、図４のフローチャートを終了する。
【００６７】
Ｓ４０２では、ＣＰＵ２０５はスキャナ部２０１によって読み取られた入力データ（ＲＧＢの多値画像データ）からグレーの多値画像データを生成するグレー変換部３０１の処理を実行する。続いて、ＣＰＵ２０５は処理をＳ４０３に進め、グレー変換部３０１から得られるグレーの多値画像データのヒストグラムを生成するヒストグラム生成部３０２の上述した処理を実行する。
【００６８】
次に、ＣＰＵ２０５は処理をＳ４０４に進め、Ｓ４０３で得られるヒストグラムから中間調の背景の検出を行う中間調の背景検出部３０３の上述した処理を行う。中間調の背景が検出された場合（Ｓ４０４でＹｅｓ）、ＣＰＵ２０５は処理をＳ４０５へ進め、検出されなかった場合（Ｓ４０４でＮｏ）は、ＣＰＵ２０５は処理をＳ４０８へ進める。
【００６９】
次に、Ｓ４０５では、ＣＰＵ２０５は、ヒストグラム生成部３０２から得られるヒストグラムから白抜き文字の検出を行う白抜き文字の検出部３０４の上述した処理を実行する。白抜き文字が検出された場合（Ｓ４０５でＹｅｓ）、ＣＰＵ２０５は処理をＳ４０６へ進め、検出されなかった場合（Ｓ４０５でＮｏ）、処理をＳ４０８へ進める。
【００７０】
Ｓ４０６では、ＣＰＵ２０５は、中間調の背景と白抜き文字との間の閾値を算出する。本実施形態では、非白抜き文字を検出するために、中間調の背景と非白抜き文字との間の閾値も算出する。すなわち、本実施形態ではＣＰＵ２０５はヒストグラム生成部３０２から得られるヒストグラムから複数の閾値を算出し、グレー変換部３０１から得られるグレーの多値画像データから二値画像データを生成する二値画像生成部３０５の処理を実行する。複数の閾値（ｔｈＡおよびｔｈＢ）は、例えば前述した通り、中間調の背景よりも暗い閾値ｔｈＡと中間調の背景よりも明るい閾値ｔｈＢであるものとする。
【００７１】
続いて、ＣＰＵ２０５は処理をＳ４０７に進め、中間調の背景よりも暗い閾値ｔｈＢで二値化された二値画像を反転する二値画像生成部３０５の処理を実行し、処理をＳ４０９に進める。
【００７２】
Ｓ４０８でＣＰＵ２０５は、ヒストグラム生成部３０２で得られるヒストグラムから単一の閾値を算出し、グレー変換部３０１から得られる多値画像データから二値画像データを生成する二値画像生成部３０５の処理を実行し、処理をＳ４０９に進める。単一の閾値は、例えば前述した通り、中間調の背景よりも暗い閾値ｔｈＡである。
【００７３】
次に、Ｓ４０９では、ＣＰＵ２０５は、二値画像生成部３０５で生成された二値画像データから、文字領域と写真領域を検出する領域判定部３０６の処理を実行する。続いて、ＣＰＵ２０５は処理をＳ４１０に進め、領域判定部３０６で文字領域と判定された領域に対して文字切り出し処理を行い、文字切り矩形毎にＯＣＲ処理を行うＯＣＲ部３０７の処理を実行し、処理をＳ４１１に進める。
【００７４】
Ｓ４１１では、ＣＰＵ２０５は、ＯＣＲ部３０７によって得られた文字コードを結合し、ファイル生成部３０９へ文字コードを渡すＯＣＲ結果結合部３０８の処理を実行する。続いて、Ｓ４１２に処理を進め、ＣＰＵ２０５は、入力データ（多値画像データ）とＯＣＲ結果結合部３０８によって得られた文字コードとからＰＤＦ（ＯＣＲ結果付き）を生成するファイル生成部３０９の処理を実行する。生成されたファイルは、上述の通り、ユーザにより指定された宛先へと送信される。
【００７５】
以上説明したように、中間調の背景があり、白抜き文字を含む場合は、複数の二値画像が得られ、白抜き文字を含まない場合は、単一の二値画像が得られる。このようにＰＤＦ（ＯＣＲ結果付き）のＯＣＲ処理にとって、紙文書の内容に応じて最適な二値画像が得られるため、文字または白抜き文字のない不要な二値画像が得られることはなく、ＯＣＲの誤認識を減らす効果や、ＯＣＲ処理の速度を向上させる効果がある。
【００７６】
なお、Ｓ４０６およびＳ４０８で説明したように、本実施形態では、常に中間調の背景より信号値が低い非白抜き文字を検出するための閾値ｔｈＡを用いて二値画像を生成する。しかしながら、一例では、Ｓ４０５と同様の方法を用いて、非白抜き文字が存在するか否かを判定してもよい。すなわち、ＣＰＵ２０５は、中間調の背景を検出した（Ｓ４０４でＹｅｓ）場合、非白抜き文字を検出したか否かを判定し、閾値ｔｈＡを用いて二値画像を生成するか判定してもよい。続いて、ＣＰＵ２０５は、白抜き文字を検出したか否かを判定し、閾値ｔｈＢを用いて二値画像を生成するか判定してもよい。ここで、ＣＰＵ２０５が中間調の背景を検出しなかった（Ｓ４０４でＮｏ）場合は、単一の閾値（例えばｔｈＡまたはｔｈＢ）を用いて二値画像を生成してもよい。
【００７７】
＜第２実施形態＞
第１実施形態では、グレーの多値画像データから白画素の信号値範囲（例えば、２２４〜２５５）におけるエッジ検出を行い、エッジ画素の合計が、所定の閾値より大きいか否かを判定することで、白抜き文字があるか否かを判定することができる。しかしながら、写真が白画素を含み、かつエッジも含むような場合、エッジ画素の合計が、所定の閾値より大きくなり、白抜き文字と判定されてしまう場合がある。第２実施形態では、白抜き文字の検出部３０４において、白画素の輪郭を追跡し、白画素の塊に接する矩形を求めることで、精度よく白抜き文字があるか否かを判定する方法について説明を行う。なお、第１実施形態と同様の構成または処理については説明を省略する。
【００７８】
図１２（Ａ）は、１２０１で示す中間調の背景上に１２０２の白抜き文字、１２０３の写真（白を含む）、および白色の下地１２０４を含む画像の一例である。図７Ｃは、図１２に示すグレーの多値画像データから得られるヒストグラムを示す図である。
【００７９】
図７Ｃの７２１は、図１２（Ａ）に示す中間調の背景１２０１に対応する分布であり、図７Ｃの７２２は、図１２（Ａ）に示す白抜き文字１２０２、写真の白部分１２０３、および下地１２０４に対応する分布である。
【００８０】
ここで、図１２（Ａ）の画像に対して図４に示す処理を実行すると、図４のＳ４０４において、図１２（Ａ）の画像は中間調の背景を含むと判定される。続いて、ＣＰＵ２０５は処理をＳ４０５に進め、図１１の処理を実行する。また、図１１のＳ１１０２において、白画素の合計が閾値ｔｈＷより大きく、Ｓ１１０８においてエッジ画素の合計が閾値ｔｈＥより大きくなる。
【００８１】
続いて、Ｓ４０９に処理を進める前に、第２実施形態に係る白抜き文字の検出処理では、グレーの多値画像データから、白画素の信号値範囲（例えば、２２４〜２５５）における白画素の輪郭追跡を行い、白画素の塊に外接する矩形を求める。続いて、各矩形に関する１つ以上のパラメータに基づいて文字であるか否かを判定する文字検出処理を行う。文字検出処理において、図１２（Ａ）の白画素の輪郭追跡を行い、白画素の塊に接する矩形を求めた結果を、図１２（Ｂ）の点線で示す矩形１２０５〜１２０７で示す。矩形１２０５〜１２０７の幅と高さとの組み合わせを（幅、高さ）で表したものをそれぞれ（Ｗ１、Ｈ１）、（Ｗ２、Ｈ２）、および（Ｗ３、Ｈ３）とする。
【００８２】
ここで、一例では、矩形１２０５〜１２０７のそれぞれの面積と、所定の閾値を比較することで、白抜き文字か否かを簡易的に判定可能である。つまり、矩形領域の面積が所定の閾値より大きい場合は、白抜き文字ではないと判定し、所定の閾値以下の場合は、白抜き文字と判定する。例えば、矩形１２０５、１２０７は、矩形領域の面積が所定の閾値より大きいため、白抜き文字ではないと判定され、矩形１２０６は、矩形領域の面積が閾値以下であるため、白抜き文字と判定される。
【００８３】
別の例では、矩形１２０５〜１２０７のそれぞれの面積に対する白画素の面積の割合またはエッジ画素の割合が、所定の範囲内であるか否かを判定することで、白抜き文字か否かを簡易的に判定可能である。例えば、矩形の面積に対する白画素の面積の割合が第１閾値（例えば１０％）以上かつ第２閾値（例えば５０％）以下である場合に白抜き文字であると判定する。そのような場合、矩形１２０５は、矩形の面積に対する白画素の面積の割合が第２閾値より高く、矩形１２０７は矩形の面積に対する白画素の面積の割合が第１閾値より低いため、白抜き文字ではないと判定する。一方、矩形１２０６は、矩形の面積に対する白画素の面積の割合が第１閾値以上かつ第２閾値以下であるため、白抜き文字であると判定する。
【００８４】
別の例では、矩形の幅と高さに加え、横方向の始点と縦方向の始点とを考慮し、矩形間の位置関係に基づいて白抜き文字か否かを判定する。例えば、矩形１２０５は、その内側に矩形を含むため、白枠である可能性が高く、白抜き文字ではないと判定することができる。
【００８５】
なお、たとえば「回数」の「回」などのような文字は、「囗（くにがまえ）」（「外側の口」と称する）とその内側の「口」（「内側の口」と称する）とに対応する矩形が検出されることができる。このような場合、外側の口に対応する矩形を文字領域として認識する必要がある。このような場合、例えば外側の口に対応する矩形の大きさと、「数」に対応する矩形の大きさとを比較することで内側の口に対応する矩形ではなく、外側の口に対応する矩形が白抜き文字であると判定してもよい。あるいは、横方向または縦方向で外側の口に対応する矩形の位置と、「数」に対応する矩形の位置とが近いことなどによって、内側の口に対応する矩形ではなく、外側の口に対応する矩形が白抜き文字であると判定してもよい。
【００８６】
以上のように、図１１のＳ１１０８に加え、または代替的に文字検出処理を実行することで、白抜き文字を含むか否かの判定精度を向上させることが可能である。
【００８７】
＜その他の実施例＞
第１および第２実施形態では、スキャナ部２０１によって読み取られた入力データに対してＯＣＲ処理を行う構成について説明を行ったが、本実施形態は他の外部装置からネットワーク１０３を介して多値画像データを受信する構成にも適用することができる。
【００８８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８９】
上述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９０】
１０１：ＭＦＰ、１０２：クライアントＰＣ、１０３：ネットワーク、１０４：スキャン、１０５：送信
【図１】
2020102148.tif 000003
【図２】
2020102148.tif 000004
【図３】
2020102148.tif 000005
【図４】
2020102148.tif 000006
【図５】
2020102148.tif 000007
【図６】
2020102148.tif 000008
【図７Ａ】
2020102148.tif 000009
【図７Ｂ】
2020102148.tif 000010
【図７Ｃ】
2020102148.tif 000011
【図８】
2020102148.tif 000012
【図９】
2020102148.tif 000013
【図１０】
2020102148.tif 000014
【図１１】
2020102148.tif 000015
【図１２】
2020102148.tif 000016