(57)【特許請求の範囲】
【請求項１】
画像データ中の文字画像から文字コードを認識して文字コードデータを得る文字認識手段と、
前記文字認識手段による認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する検出手段と、
文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する変形手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記変形手段は、
前記文字画像データをベクタデータに変換するベクタ変換手段と、
前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記ベクタデータにおける線の幅を設定する線幅設定手段と
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変形手段は、
前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記ベクタデータにおける線の端部の形状を補正する端部形状補正手段をさらに有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変形手段は、
前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記文字画像データにおける線の幅を補正する線幅補正手段
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記線幅補正手段は、前記文字画像データにおける注目画素の値を当該注目画素の周囲の所定サイズ内での最小値または最大値に置換するファイルタ処理を行うことにより、前記線の幅を補正することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記文字コードデータおよび前記文字画像データの変形後のデータを有する電子ファイルを作成するファイル作成部をさらに有することを特徴とする請求項１〜５に記載の画像処理装置。
【請求項７】
原稿を読み取ることによって画像データを得る読取手段をさらに有することを特徴とする請求項１〜６に記載の画像処理装置。
【請求項８】
画像データ中の文字画像から文字コードを認識して文字コードデータを得る段階と、
前記認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する段階と、
文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する段階と
を有することを特徴とする画像処理方法。
【請求項９】
画像データ中の文字画像から文字コードを認識して文字コードデータを得る手順と、
前記認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する手順と、
文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する手順と
をコンピュータに実行させるための画像処理プログラム。
【請求項１０】
請求項９に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
最近の画像認識装置は、読取に関する条件の良い原稿（例えば標準的なフォントの文字のみで構成された原稿）であれば、当該原稿を読み取った文字画像を極めて高い精度で文字コードとして認識可能である。文字コードに応じて得られた文字コードデータは、キーワード検索が可能なこと、容量が小さいこと、拡大縮小して出力しても画質劣化が少ないことなどの利点を有している。しかしながら、原稿上の文字の品質が悪かったり、原稿上の文字等のレイアウトが複雑であると、文字画像を文字コードとして認識する認識精度が大きく低下し、誤認識される文字画像が増加してしまう。
【０００３】
このような問題に対し、誤認識されている可能性が高い文字画像を文字コードデータに変換することなく、文字画像データ（例えばビットマップ形式の画像データ）のまま出力する技術が提案されている。この技術によれば、原稿上の文字と一致しない文字コードデータを出力してしまうことがない。
【０００４】
【発明が解決しようとする課題】
しかしながら、誤認識されている可能性が高い文字画像のみを文字画像データとして出力した場合、文字画像データと文字コードデータとの間で、フォント、線幅（太さ）あるいはサイズなどの形状の差異が生じてしまい、ユーザに違和感を与えるといった問題があった。
【０００５】
図２５は、文字コードデータの出力時のフォントがセリフ系である場合の従来の出力結果の一例を示す図、図２６は、文字コードデータの出力時のフォントがサンセリフ系である場合の従来の出力結果の一例を示す図である。セリフ系のフォントとは、線の端部に飾り形状を有するフォントをいい、サンセリフ系のフォントとは、線の端部に飾り形状を有しないフォントをいう。図中矩形枠で囲まれた「ｋ」の部分は、誤認識されている可能性が高い文字画像が文字画像データとして出力された部分であり、文字コードデータとして出力された他の部分と、線幅あるいは線の端部の形状が相違している。
【０００６】
本発明の目的は、画像データ中の文字画像から文字コードを認識して得られた文字コードデータと文字画像から文字コードデータに変換することなく切り出された文字画像データとが混在する画像を出力する場合において、双方の混在によりユーザに与える違和感を低減することができる画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読取可能な記録媒体を提供することである。
【０００７】
【課題を解決するための手段】
本発明の目的は、下記する手段により達成される。
【０００８】
（１）画像データ中の文字画像から文字コードを認識して文字コードデータを得る文字認識手段と、前記文字認識手段による認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する検出手段と、文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する変形手段とを有することを特徴とする画像処理装置。
【０００９】
（２）前記変形手段は、前記文字画像データをベクタデータに変換するベクタ変換手段と、前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記ベクタデータにおける線の幅を設定する線幅設定手段とを有することを特徴とする上記（１）に記載の画像処理装置。
【００１０】
（３）前記変形手段は、前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記ベクタデータにおける線の端部の形状を補正する端部形状補正手段をさらに有することを特徴とする上記（２）に記載の画像処理装置。
【００１１】
（４）前記変形手段は、前記文字画像データの近傍に位置される前記文字コードデータの出力時のフォントに応じて、前記文字画像データにおける線の幅を補正する線幅補正手段を有することを特徴とする上記（１）に記載の画像処理装置。
【００１２】
（５）前記線幅補正手段は、前記文字画像データにおける注目画素の値を当該注目画素の周囲の所定サイズ内での最小値または最大値に置換するファイルタ処理を行うことにより、前記線の幅を補正することを特徴とする上記（４）に記載の画像処理装置。
【００１３】
（６）前記文字コードデータおよび前記文字画像データの変形後のデータを有する電子ファイルを作成するファイル作成部をさらに有することを特徴とする上記（１）〜（５）に記載の画像処理装置。
【００１４】
（７）原稿を読み取ることによって画像データを得る読取手段をさらに有することを特徴とする上記（１）〜（６）に記載の画像処理装置。
【００１５】
（８）画像データ中の文字画像から文字コードを認識して文字コードデータを得る段階と、前記認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する段階と、文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する段階とを有することを特徴とする画像処理方法。
【００１６】
（９）画像データ中の文字画像から文字コードを認識して文字コードデータを得る手順と、前記認識の確からしさの度合いである文字認識確度が所定値より低い文字画像を検出する手順と、文字認識確度が所定値より低い文字画像に基づいて得られ文字を表す所定の画像データである文字画像データを、前記文字コードデータの出力時のフォントに応じて変形する手順とをコンピュータに実行させるための画像処理プログラム。
【００１７】
（１０）上記（９）に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００１８】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１９】
図１は、本発明の第１実施形態に係る画像処理装置を含むネットワークシステムの構成を示す図である。
【００２０】
図１に示すネットワークシステムは、スキャナ、プリンタ、およびコピー等の機器の機能を１台に搭載したＭＦＰ（multi-function peripheral）と呼ばれるデジタル複合機２０、データベースサーバ４０、およびプリンタ６０を有しており、これらの機器は、ネットワーク１０を介して相互に通信可能に接続されている。なお、ネットワーク１０上の機器の種類および台数は、実際には図１に示す例に限定されない。
【００２１】
ネットワーク１０は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ（fiber distributed data interface）、無線ＬＡＮ（ＩＥＥＥ８０２.１１）などのＬＡＮ、いくつかのＬＡＮ同士を接続してなるＷＡＮ、あるいはインターネット（the Internet）である。
【００２２】
図２は、デジタル複合機２０の構成の一例を示すブロック図である。
【００２３】
デジタル複合機２０は、ＣＰＵ２１、ＲＯＭ２２、記憶部２３、操作パネル部２４、原稿読取部２５、印刷部２６、画像処理部２７、ネットワークインタフェース２８、および上記各部の間で信号をやり取りするためのバス２９を有している。
【００２４】
ＣＰＵ２１は、プログラムにしたがって各部の制御および各種の演算処理を行う。ＲＯＭ２２は、各種のプログラムおよびデータを記憶する。記憶部２３は、画像データなどの各種データを記憶するとともに、各種処理を実行する際の作業領域を提供する。記憶部２３は、たとえばハードディスクとＲＡＭとから構成される。
【００２５】
操作パネル部２４は、たとえばユーザが各種操作指示を行うための操作部と各種の表示を行うための表示部とから構成される。
【００２６】
原稿読取部２５は、原稿を読み取って画像データを取得する。具体的には、原稿読取部２５は、所定の読取位置にセットされた原稿に光を当て、その反射光をＣＣＤなどの受光素子を用いて電気信号に変換し、この電気信号から画像データを作成する。原稿読取部２５は、自動原稿搬送装置（ＡＤＦ）を備えていてもよい。印刷部２６は、各種データを用紙などの記録材に印刷する。
【００２７】
画像処理部２７は、原稿を読み取って得られた画像データに対し、領域分離、画像補正、圧縮、ファイル作成などの各種処理を行う。ネットワークインタフェース２８は、ネットワーク１０に接続しネットワーク１０上の他の機器と通信するためのインタフェースである。
【００２８】
図３は、画像処理部２７の構成の一例を示すブロック図である。
【００２９】
画像処理部２７は、領域分離部３１、画像圧縮部３２、およびファイル作成部３３を有している。
【００３０】
領域分離部３１は、画像データを、文字画像が存在する文字領域、図形画像が存在する図形領域、および写真画像が存在する写真領域に分離する。画像圧縮部３２は、各領域内の画像に対して、領域の種類に応じた圧縮処理を施す。ファイル作成部３３は、圧縮処理が行われた画像に基づいて、所定形式のファイルを作成する。
【００３１】
図４は、本発明の一実施形態に係る画像処理装置としての機能を有するデータベースサーバ４０の構成の一例を示すブロック図である。
【００３２】
データベースサーバ４０は、ＣＰＵ４１、ＲＯＭ４２、記憶部４３、入力装置４４、ディスプレイ４５、ネットワークインタフェース４６、および上記各部の間で信号をやり取りするためのバス４７を有している。
【００３３】
データベースサーバ４０のＣＰＵ、ＲＯＭ、記憶部、およびネットワークインタフェースは、上記したデジタル複合機２０と同様の機能を有しているため、その説明を省略する。入力装置４４は、ユーザが各種の操作や指示を行うための装置であり、具体的には例えばキーボードやマウスなどである。ディスプレイ４５は、各種の表示を行う。
【００３４】
図５は、画像処理用アプリケーション５０の内容を示す図である。この画像処理用アプリケーション５０は、データベースサーバ４０におけるたとえば記憶部４３のハードディスクに記憶される。
【００３５】
画像処理用アプリケーション５０は、ファイル読み込み部５１、文字認識部５２、ベクタ変換部５３、文字認識後処理部５４、およびファイル作成部５５を有している。
【００３６】
ファイル読み込み部５１は、受信されたファイルから圧縮された画像を領域別に取り出して伸長（解凍）する。文字認識部５２は、文字画像から文字コードを認識して文字コードデータを得る。また、文字認識部５２は、認識の確からしさの度合いである文字認識確度を出力する。ベクタ変換部５３は、画像データからベクタデータを生成する。文字認識後処理部５４は、文字認識部５２による文字認識処理が行われた後の文字画像に対して、後述するビットマップ文字の変形処理などの所定の処理を行う。ファイル作成部５５は、各種の処理後に得られたデータに基づいて、所定形式のファイルを作成する。
【００３７】
図１に示すネットワークシステムにおける動作指示は、デジタル複合機２０の操作パネル部２４を通して行うことができる。たとえば、操作パネル部２４上にはスキャン＆ファイルボタンとスキャン＆プリントボタンとが表示される。スキャン＆ファイルボタンが操作された場合、デジタル複合機２０は原稿読取動作を開始し、読み取って得られた画像データに所定の画像処理が施されて作成されたファイルは、データベースサーバ４０に送信され、文字認識等の画像処理がなされた後、所定形式のファイルとしてデータベースサーバ４０内の記憶部４３に保存される。また、スキャン＆プリントボタンが操作された場合、読み取って得られた画像データに所定の画像処理が施されて作成されたファイルは、プリンタ６０に送信され、用紙などの記録材に印刷される。
【００３８】
次に、図６〜図８を参照して、デジタル複合機２０の操作パネル部２４上でスキャン＆ファイルボタンが操作された場合のネットワークシステムにおける画像処理の手順について説明する。
【００３９】
まず、図６を参照して、デジタル複合機２０における画像処理の手順について説明する。なお、図６のフローチャートにより示されるアルゴリズムは、たとえばＲＯＭ２２にプログラムとして記憶されており、ＣＰＵ２１によって実行される。
【００４０】
ステップＳ１０１では、原稿を読み取って得られたカラーの画像データに対し、ＲＧＢ表色系からＹＣｒＣｂ表色系へと色空間の変換が行われる。ＹＣｒＣｂ表色系では、明度成分（Ｙ）と色成分（Ｃｒ、Ｃｂ）とが分離されるため、それぞれを独立して取り扱うことができる。ただし、ＲＧＢ表色系のままで後の処理を行うことも可能である。また、ＹＣｒＣｂ表色系の代わりに他の表色系を用いることも可能である。
【００４１】
なお、ＲＧＢ表色系からＹＣｒＣｂ表色系への色空間の変換は、
Ｙ    ＝  Ｃ11＊Ｒ  ＋  Ｃ12＊Ｇ  ＋  Ｃ13＊Ｂ
Ｃｂ  ＝  Ｃ21＊Ｒ  ＋  Ｃ22＊Ｇ  ＋  Ｃ23＊Ｂ
Ｃｒ  ＝  Ｃ31＊Ｒ  ＋  Ｃ32＊Ｇ  ＋  Ｃ33＊Ｂ
の線形変換の式により行われる。ここで、Ｃ11〜Ｃ33の係数はあらかじめ与えられる。
【００４２】
ステップＳ１０２では、得られた画像データから、文字画像が存在する文字領域が分離されて抽出される。文字領域の分離は、任意の方法を用いて行うことができる。本実施形態では、たとえば、画像データがＤＣＴ（離散コサイン変換）により周波数成分に分解され、画像データから特定の周波数成分が多い微小領域が検出される。そして、検出された近隣の微小領域同士が連結されることにより、文字領域の分離抽出が行われる。
【００４３】
ステップＳ１０３では、ＹＣｒＣｂ表色系で表されたカラーの画像データから分離された文字領域に対して、２値化処理が行われる。２値化処理に用いられる閾値は、文字領域ごとに明度Ｙに関するヒストグラムを作成することによって求められる。すなわち、作成されたヒストグラムから文字画像の背景に当たる背景画像のピークが検出され、検出されたピークの明度に基づいて、文字画像と背景画像とを明確に区別できる閾値が算出される。
【００４４】
ステップＳ１０４では、分離された文字領域内の文字画像が、元のカラーの画像データから消去される。ここで、分離された矩形の文字領域全体が消去されるのではなく、文字領域内の文字画像の部分のみが消去され、消去後の部分が周囲の背景画像により補完される。なお、消去される部分は、２値化処理後の文字画像をたとえば２〜３画素膨張させることにより求められる。文字画像の膨張処理は、たとえば、文字領域内における注目画素の値を当該注目画素の周囲の所定サイズ（Ｎ×Ｎの画素）内での最小値に置換するＮ×Ｎ最小値ファイルタ処理により行われる。
【００４５】
ステップＳ１０５では、文字画像が消去されて除去された後の画像データから、写真領域と図形領域とが分離されて抽出される。ここで、図形領域とは、線やベタ絵などのたとえばパソコンで作成された画像が存在する領域をいう。写真領域とは、写真や絵柄などの連続的に変化する階調のある画像が存在する領域をいう。図形領域と写真領域とを区別して分離することにより、それぞれの領域に応じて、適切な解像度、色データのビット数、および圧縮アルゴリズムが適用され得る。
【００４６】
写真領域および図形領域の分離は、任意の方法を用いて行うことができる。本実施形態では、たとえば、まず領域の境界が検出され、境界により規定された領域が所定の微小領域に分割されて、各微小領域内でそれぞれ明度Ｙに関するヒストグラムが作成される。ヒストグラムの形状から明度の連続性が検出され、連続性の高い微小領域が写真微小領域、連続性の低い領域が図形微小領域と判別される。そして、領域内における写真微小領域と判別された微小領域の数と図形微小領域と判別された微小領域の数とを比較することにより、当該領域が写真領域であるかまたは図形領域であるかが判別される。
【００４７】
このようにして、画像データは、文字領域、写真領域、および図形領域に分離される。ここで、写真領域は、図形領域とは重ならず、文字領域は、他の２種類の領域上に重ねられ得る。
【００４８】
ステップＳ１０６では、各領域内の画像に対し、ＹＣｒＣｂ表色系からＲＧＢ表色系へと色空間の変換が行われる。
【００４９】
ステップＳ１０７では、文字領域内の文字画像に対し、圧縮処理が行われる。すなわち、文字画像は、たとえば、１画素が１ビットで表された１ビット画像データと領域ごとに設定された色データとに変換された後、ＭＭＲ（modified modified READ）あるいはＪＢＩＧ（joint bi-level image experts group）などの１ビット画像データに適したアルゴリズムにより圧縮される。
【００５０】
ステップＳ１０８では、写真領域内の写真画像に対し、圧縮処理が行われる。すなわち、写真画像はまず、たとえば、より低い解像度に解像度変換される。解像度変換を行わない場合、写真画像は、原稿上の網点によるモアレの発生を防止するため、スムージング処理が施される。次いで、写真画像は、ＪＰＥＧ（joint photographic experts）などのカラーの写真画像に適したアルゴリズムにより圧縮される。
【００５１】
ステップＳ１０９では、図形領域内の図形画像に対し、圧縮処理が行われる。すなわち、図形画像は、たとえば、減色処理が施された後、Ｆｌａｔｅ圧縮などの方法により圧縮される。
【００５２】
ステップＳ１１０では、圧縮された各画像が合成されて１つのファイルが作成される。すなわち、各領域内の画像に対してそれぞれの画像に適したその他の画像処理が施された後、圧縮された各画像が合成され、たとえばＰＤＦ（Portable Document Format）ファイルなどの所定形式のファイルが作成される。ここで、作成されたファイルは、データベースサーバ４０に送信される。圧縮された各画像が合成されたファイルを送信することにより、容量の大きいデータがネットワーク１０上に送信されることを防止することができる。ただし、圧縮処理を省略することも可能である。
【００５３】
次に、図７および図８を参照して、データベースサーバ４０における画像処理の手順について説明する。なお、図７および図８のフローチャートにより示されるアルゴリズムは、たとえばＲＯＭ４２にプログラムとして記憶されており、ＣＰＵ４１によって実行される。
【００５４】
ステップＳ２０１では、デジタル複合機２０から受信したファイルの読み込みが行われる。すなわち、受信したファイルにおいて既に分離されている各領域内の画像が記憶部４３の作業領域に読み込まれる。
【００５５】
ステップＳ２０２では、読み込まれた画像が、それぞれの画像の種類に応じた方法で伸長される。ここで、伸長された文字画像は文字認識部５２に入力される。また、伸長された図形画像はベクタ変換部５３に入力され、図形が点や線などの構成要素の座標値として表されたベクタデータが生成される。
【００５６】
ステップＳ２０３では、文字認識処理が行われる。すなわち、文字認識部５２に入力された文字画像から文字コードが認識される。ここで、文字画像から、行や単語などの文字画像ブロックの認識、および個々の文字画像の切り出しが行われた後、１文字づつ文字コードが認識される。文字画像から文字コードを認識する方法は、たとえば、各文字画像の特徴量とあらかじめ記憶されている辞書パターンとの一致の度合い、および単語辞書における合致する単語の有無などの基準により行われる。また、文字認識部５２は、文字コードのほか、文字コードを認識する確からしさの度合いである文字認識確度と、各文字画像の外接矩形の位置および大きさを示す外接矩形データとを出力する。文字認識確度は、例えば１０段階で与えられ、値が大きいと文字認識確度が高いことを意味する。
【００５７】
ステップＳ２０４では、個々の文字画像の色が、文字認識部５２から出力された当該文字画像の外接矩形に対応する位置において検出される。
【００５８】
ステップＳ２０５では、文字認識部５２から出力された文字認識確度に基づいて、個々の文字画像をコード化文字に変換して文字コードデータとして出力するか否かが判定される。文字コードデータは、文字が文字コードとして表されたコード化文字を有するデータである。
【００５９】
ここで、たとえば文字認識確度が所定の閾値以上である文字画像は、コード化文字に変換されて文字コードデータとして出力される。一方、文字認識確度が所定の閾値より小さい文字画像は、コード化文字に変換されずに文字画像データとして出力される。ここで、文字画像データは、文字認識確度が所定の閾値より小さい文字画像に基づいて得られ、文字が画素の集まりとして表されたビットマップ文字を有する所定の画像データである。なお、ステップＳ２０４で検出された色データは、コード化文字、あるいはビットマップ文字の色として指定される。
【００６０】
ステップＳ２０６では、コード化文字のサイズが算出される。すなわち、まず文字画像の外接矩形データにおける文字高さに基づいて、フォントサイズがポイント数で算出された後、文字高さが元の原稿上の文字と同じになるように調整される。次いで、コード化文字の文字幅が外接矩形データに合致するように調整されることにより、コード化文字の文字幅および文字間隔が元の原稿上の文字と同じになるように調整される。
【００６１】
具体的には、コード化文字の出力時のフォント（出力フォント）のフォントメトリックデータがあらかじめ記憶されているため、フォントサイズの算出は、文字画像の外接矩形データにおける文字高さと出力フォントの文字高さデータとの比を計算することにより行うことができる。元の原稿上の文字のフォントと出力フォントとはたいていの場合異なるため、コード化文字のフォントサイズの値自体は、元の原稿上の文字のフォントサイズと僅かに異なるかもしれないが、上記の方法によれば、出力時の文字高さは元の原稿上の文字高さと同じになる。フォントサイズの算出は、個々のコード化文字単位で行われる場合、文字高さが正確になるが、前後の統一性を考慮して、好ましくは、単語、あるいは行単位程度で行われる。
【００６２】
また、コード化文字の文字幅は、文字画像の外接矩形データにおける文字幅と、算出されたフォントサイズの場合の出力フォントの文字幅との比を計算することにより求めることができる。文字幅の調整は、外接矩形の間隔から求められる文字間隔の値と、水平方向文字倍率との２つを設定することにより可能である。文字幅の調整は、個々のコード化文字単位で行われる場合、文字幅が正確になるが、前後の統一性を考慮して、文字間隔および水平方向文字倍率の両方を設定し、好ましくは、単語、あるいは行単位程度で文字幅が同じになるように行われる。
【００６３】
ステップＳ２０３〜Ｓ２０６の処理により、コード化文字に関する出力フォント、文字コード、フォントサイズ、文字位置、文字間隔、および文字色などのデータが得られる。
【００６４】
ステップＳ２０７では、ステップＳ２０５で得られた文字画像データにおけるビットマップ文字の変形処理が行われる。
【００６５】
次に、図８を参照して、ビットマップ文字の変形処理の手順について説明する。
【００６６】
ステップＳ３０１では、注目するビットマップ文字がベクタ変換され、文字が点や線などの構成要素の座標値として表されたベクタ文字を有する文字ベクタデータが生成される。
【００６７】
ビットマップ文字をベクタ変換する場合、図形領域内の画像をベクタ変換するときの通常のベクタ変換処理よりも、後述する線幅の設定や線の端部形状の補正を考慮して、ビットマップ文字の変換に適した図形認識のパラメータが設定される。たとえば、文字の１本のストローク（線部分）が、属性としての線幅を備えた１本の線要素として認識されるように、線幅検出のパラメータが比較的大きく設定される。線幅検出のパラメータとは、１つの線として認識することができる最大線幅の閾値である。仮に、線幅検出のパラメータを小さく設定すると、１本のストロークは輪郭線とその内部の色データとから構成されるベクタデータに変換されてしまうため好ましくない。また、文字のストロークに合わせて、優先的に線要素における左・上が始点、右・下が終点となるようにパラメータが統一して設定される。さらに、線幅変更の許容値を示すパラメータが、セリフ系のフォントを考慮して、比較的大きい値に設定される。これにより、線幅が途中で変化する線が１つの線として認識される。セリフ系のフォントとは、前述したように、線の端部における飾り形状であるセリフを有するフォントをいう。また、ベクタ変換処理においては、先に短い方の線要素が認識された後、長い方の他の線要素との統合処理が行われ得る。たとえば、２つの線要素が近い角度で連結されている場合、１つの線要素として統合される。このとき、線幅変更の許容値を示すパラメータを比較的大きく設定しておくことにより、たとえば線幅の異なる２つの線要素が１つの線要素に統合される。なお、上記のパラメータは、文字の大きさに応じて設定される。
【００６８】
図９は、ビットマップ文字Ａとビットマップ文字がベクタ変換されて得られたベクタ文字の線要素Ｂとを重ねて例示する図である。図９において、「ｋ」の文字はセリフ系のフォントであるため、セリフの部分Ｂ1、Ｂ2が１つの線として認識されている。
【００６９】
ステップＳ３０２では、図１０に示すように、ベクタ文字の線要素からセリフの部分が削除される。ここで、線の長さが所定の閾値よりも短く、かつ他の線との連結部がＴ型（図９のＢ1）またはＬ型（図９のＢ2）である線要素が、セリフの部分とみなされる。なお、セリフの部分とみなされる線の長さの閾値は、文字の大きさに応じて設定される。
【００７０】
ステップＳ３０３では、注目するビットマップ文字の近傍に位置されるコード化文字（たとえばビットマップ文字に隣接するコード化文字、以下同じ）の出力フォントにおける線幅が算出される。ここで、出力フォントがサンセリフ系のフォントである場合、線幅は文字のストロークの角度（方向）に関係ないので、１つの値が得られる。一方、出力フォントがセリフ系のフォントである場合、線幅は文字のストロークの角度により異なるので、線幅Ｗ1および線幅Ｗ2（線幅Ｗ1＜線幅Ｗ2）の２つの値が得られる。なお、出力フォントの線幅は特定のフォントサイズでのデータとして記憶されているため、近傍のコード化文字のフォントサイズに応じて比例計算することにより算出される。
【００７１】
ステップＳ３０４では、出力フォントがセリフ系のフォントであるか否かが判断される。セリフ系のフォントである場合（ステップＳ３０３：ＹＥＳ）、ステップＳ３０５の処理が実行され、セリフ系のフォントでない場合（ステップＳ３０３：ＮＯ）、ステップＳ３０９の処理が実行される。
【００７２】
ステップＳ３０５では、ベクタ文字を構成する直線要素の線幅が設定される。ここで、図１１に示すように、直線要素の線幅は、当該直線要素の角度に応じて線幅Ｗ1または線幅Ｗ2（線幅Ｗ1＜線幅Ｗ2）に設定される。図１３は、直線要素の角度と線幅との対応テーブルの一例を示す図である。図１３に示されるように、直線要素が水平または右上がり、すなわち直線要素の角度α（度）がα＝０または０＜α＜９０であれば、直線要素の線幅が線幅Ｗ1に設定される。一方、直線要素が垂直または右下がり、すなわち直線要素の角度α（度）がα＝９０または９０＜α＜１８０であれば、直線要素の線幅が線幅Ｗ2に設定される。
【００７３】
ステップＳ３０６では、ベクタ文字を構成する曲線要素の線幅が設定される。図１４は、ビットマップ文字Ｃとビットマップ文字がベクタ変換されて得られたベクタ文字の曲線要素Ｄとを重ねて例示する図、図１５は、認識されたベクタ文字の曲線要素Ｄのみを示す図である。曲線要素の線幅は、たとえば図１６に示すように、曲線要素Ｄの内部集合と、曲線要素Ｄを水平方向に線幅Ｗ2だけずらした曲線要素Ｄｔの内部集合との排他的ＯＲ部分を作成することにより設定される。
【００７４】
ステップＳ３０７では、ベクタ文字を構成する線要素の端部の形状が補正される。ここで、図１２に示すように、線要素の端部Ｅの形状は、当該線要素の角度や端部の外接矩形内における位置などの条件に応じて補正される。
【００７５】
図１７は、線要素の角度などの条件と端部形状との対応テーブルの一例を示す図である。図１７に示されるように、たとえば、線要素が水平、すなわち線要素の角度α（度）がα＝０の場合、端部の外接矩形内における位置によって場合分けされ、さらに線要素の始点かまたは終点かによって場合分けされて、線要素の端部形状が決定される。図１７に示される端部形状は、ベクタデータとしてあらかじめ記憶部４３に記憶される。具体的には、記憶部４３に記憶されている端部形状のベクタデータにベクタ文字の大きさに応じて所定の倍率を掛けた後、ベクタ文字を構成する線要素の端部に端部形状のベクタデータを付加することにより、線要素の端部形状の補正が行われる。ただし、線要素の端部形状の補正方法は、上記方法に必ずしも限定されるものではなく、たとえば端部形状のみがビットマップデータなどの画像データで与えられてもよい。
【００７６】
ステップＳ３０８では、ベクタ文字におけるコーナー部の形状が補正される。図１８は、コーナー部の外接矩形内における位置などの条件とコーナー部形状との対応テーブルの一例を示す図である。図１８に示すように、たとえば文字「Ｅ」などに含まれる直角のコーナー部には図示のようなセリフが追加される。また、たとえば文字「Ｖ」などに含まれるその他のコーナー部は、図示のように線幅の大きい方の線要素の端部を他方の線要素に沿って切除することにより、コーナー部形状の補正が行われる。
【００７７】
一方、ステップＳ３０９では、出力フォントがサンセリフ系のフォントなので、ベクタ文字を構成する線要素の線幅が、ステップＳ３０３で得られた１つの値に設定される。また、ステップＳ３１０では、線要素の端部形状が、線要素のストローク方向に直交する端面を有する四角形状に設定される。
【００７８】
なお、ステップＳ３０１〜Ｓ３０８の処理は、すべてのビットマップ文字に対して行われる。
【００７９】
ステップＳ３１１では、データベースサーバ４０において後述するステップで作成されるファイルの形式がベクタデータに対応しているか否かが判断される。たとえばＰＤＦファイルなどのベクタデータに対応したファイル形式の場合（ステップＳ３１１：ＹＥＳ）、ステップＳ３１２の処理が実行され、ベクタデータに対応していないファイル形式の場合（ステップＳ３１１：ＮＯ）、ステップＳ３１３の処理が実行される。
【００８０】
ステップＳ３１２では、線幅の設定および端部形状の補正などの処理が行われた後のベクタ文字を有する文字ベクタデータが記憶部４３に記憶される。
【００８１】
ステップＳ３１３では、線幅の設定および端部形状の補正などの処理が行われた後のベクタ文字がビットマップデータにラスタライズされ、文字ビットマップデータとして記憶部４３に記憶される（ステップＳ３１４）。
【００８２】
最後に、図７のステップＳ２０８に戻り、写真画像データ、図形画像がベクタ変換されて生成されたベクタデータ、文字コードデータ、および文字画像データの変形後のデータ（図８の場合、文字ベクタデータまたは文字ビットマップデータ）が合成されて、たとえばＰＤＦファイルなどの所定の１つのファイルが作成される。そして、作成されたファイルは、記憶部４３に保存され、ユーザの利用に供される。
【００８３】
このように、第１実施形態によれば、文字認識確度が所定値より低い文字画像に基づいて得られた文字画像データを、その近傍の文字コードデータの出力時のフォントに応じて変形することができる。したがって、文字コードデータと文字画像データとが混在する画像を出力する場合でも、両者の差異を目立たなくすることができ、ユーザに与える違和感を低減することができる。特に、両者の線幅の相違により文字列の一部がボールド文字に誤認されてしまうことを防止することができる。
【００８４】
次に、図１９を参照して、本発明の第２実施形態に係るビットマップ文字の変形処理の手順について説明する。なお、図１９のフローチャートにより示されるアルゴリズムは、たとえばデータベースサーバ４０のＲＯＭ４２にプログラムとして記憶されており、ＣＰＵ４１によって実行される。
【００８５】
この第２実施形態は、上述した第１実施形態と、画像処理におけるビットマップ文字の変形処理（図７のＳ２０７）の内容（図８参照）が相違している。その他の点は、第１実施形態と同様であるため説明を省略する。
【００８６】
まず、ステップＳ４０１では、注目するビットマップ文字の近傍に位置されるコード化文字の出力フォントにおけるフォントサイズが算出される。ここで、フォントサイズの算出は、たとえばディセンダのないコード化文字（「Ｅ」「Ａ」など）の文字高さをポイント数に換算することにより求められる。
【００８７】
ステップＳ４０２では、注目するビットマップ文字が拡大／縮小される。ビットマップ文字の拡大／縮小は、ステップＳ４０１でフォントサイズが算出されたコード化文字の当該フォントサイズに対応する文字高さと、当該コード化文字に対応する文字画像の外接矩形データの文字高さとの比較に基づいて行われる。
【００８８】
ステップＳ４０３では、注目するビットマップ文字の近傍に位置されるコード化文字の出力フォントにおける所定の線幅が算出される。さらに、算出された線幅は、後述する線幅の補正処理に備えて、出力画像の解像度に応じた画素数に変換される。
【００８９】
なお、出力フォントの文字高さ、文字幅、および線幅は、特定のフォントサイズでのデータとして記憶されているため、実際のコード化文字のフォントサイズに応じて比例計算することにより算出される。
【００９０】
ステップＳ４０４では、ステップＳ４０３で線幅が算出されたコード化文字に対応する文字画像についての線幅が検出される。ステップＳ４０３でコード化文字において算出される線幅の位置は文字コードに応じてあらかじめ決められており、当該位置において文字画像の線幅が検出される。
【００９１】
図２０は、線幅の検出方法の一例を説明するための図である。たとえば、図２０に示すような「Ｉ」を表す文字画像の線幅を検出する場合、（ｘ１，（ｙ１＋ｙ２）／２）を始点、（ｘ２，（ｙ１＋ｙ２）／２）を終点とする線上において、１つ目のピーク（「Ｉ」の場合）を示す部分のたとえば黒画素の数を数えることにより線幅が検出される。ただし、「Ｉ」を表す文字画像の外接矩形の左上および右下の座標をそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。なお、黒画素の数を求める際のピークの位置は、文字コードに応じてあらかじめ決められる。
【００９２】
ステップＳ４０５では、注目するビットマップ文字の縦線の幅が補正される。ここで、ステップＳ４０４で検出された文字画像における線幅と、ステップＳ４０３で算出されたコード化文字の出力フォントにおける線幅との相違に相当する画素数の差が、線幅の補正量とされる。
【００９３】
図２１は、縦線幅の補正に用いられるフィルタの一例を説明するための図である。縦線幅の補正量がたとえばマイナスｎ画素（ｎ画素分減少）である場合、図２１に示すような１×ｎ（サイズ）の最小値フィルタ（白画素が０、黒画素が１で表される場合）が用いられる。ただし、図２１では、１×３の最小値フィルタが例示されている。最小値フィルタ処理は、ビットマップ文字における注目画素の値を当該注目画素の周囲の所定サイズ内での最小値に置換する処理である。したがって、１×ｎの最小値フィルタを用いることにより、横方向にｎ画素分、縦線の幅を減少させることができる。逆に、縦線の幅を増加させる場合、ビットマップ文字における注目画素の値を当該注目画素の周囲の所定サイズ内での最大値に置換する最大値フィルタ処理が行われる。
【００９４】
ステップＳ４０６では、注目するビットマップ文字の横線の幅が補正される。
【００９５】
図２２は、横線幅の補正に用いられるフィルタの一例を説明するための図である。横線幅の補正量がたとえばマイナスｍ画素（ｍ画素分減少）である場合、図２２に示すようなｍ×１（サイズ）の最小値フィルタ（白画素が０、黒画素が１で表される場合）が用いられる。ただし、図２２では、３×１の最小値フィルタが例示されている。ｍ×１の最小値フィルタを用いることにより、縦方向にｍ画素分、横線の幅を減少させることができる。逆に、横線の幅を増加させる場合、最大値フィルタ処理が行われる。
【００９６】
なお、ステップＳ４０１〜Ｓ４０６の処理は、すべてのビットマップ文字に対して行われる。
【００９７】
ステップＳ４０７では、ステップＳ４０１〜Ｓ４０６の処理に基づく変形後のビットマップ文字を有する文字画像データが記憶部４３に記憶される。
【００９８】
図２３および図２４は、第２実施形態に係るビットマップ文字の変形処理が施された場合の出力結果の一例を示す図であり、図２３は、出力フォントがセリフ系の場合、図２４は、出力フォントがサンセリフ系の場合を示す。図中において矩形枠で囲まれた部分がビットマップ文字を示しており、それ以外の部分がコード化文字を示している。このように、ビットマップ文字の変形処理が施されない場合の出力結果である図２５および図２６と比べて、第２実施形態に係るビットマップ文字の変形処理を施すことにより、文字コードデータと文字画像データとの差異が目立たなくなっていることがわかる。しかも、第２実施形態によれば、第１実施形態と比較してより簡易な構成により、ビットマップ文字における線の幅の補正を行うことができる。
【００９９】
本発明は、上記した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１００】
たとえば上記実施形態では、文字認識処理およびビットマップ文字の変形処理などの画像処理がデータベースサーバ４０で行われる場合について説明したが、デジタル複合機２０ですべての画像処理が行われてもよい。
【０１０１】
また、領域分離処理がデジタル複合機２０で行われる場合について説明したが、データベースサーバ４０で行われてもよい。この場合、デジタル複合機２０において、画像データ全体が１つの方式で圧縮処理されるか、あるいは圧縮処理が省略される。
【０１０２】
さらに、デジタル複合機２０は、必ずしも印刷機能を備えている必要はなく、たとえばデジタル複合機の代わりにネットワークスキャナなどの他の機器が使用されてもよい。
【０１０３】
また、データベースサーバ４０の代わりにパソコンが使用されてもよく、この場合、デジタル複合機２０から送信されたファイルはパソコンで受信され、当該ファイルに対して図７および図８などに示される画像処理がパソコンで行われる。パソコンで画像処理が行われる場合、画像処理の対象となる画像データは、たとえばデジタルカメラで取り込まれた画像データ、あるいはパソコンに保存されている画像データであってもよい。
【０１０４】
本発明による画像処理における制御または演算を行う各手段、および画像処理方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよい。また、上記プログラムは、単独でアプリケーションソフトとして提供されてもよいし、あるいは装置の一機能としてその装置に組み込まれていてもよい。
【０１０５】
【発明の効果】
以上説明したように、本発明によれば、文字認識確度が所定値より低い文字画像に基づいて得られた文字画像データを、その近傍の文字コードデータの出力時のフォントに応じて変形することができる。したがって、文字コードデータと文字画像データとが混在する画像を出力する場合でも、両者の差異を目立たなくすることができ、ユーザに与える違和感を低減することができる。特に、両者の線幅の相違により文字列の一部がボールド文字に誤認されてしまうことを防止することができる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態に係る画像処理装置を含むネットワークシステムの構成を示す図である。
【図２】  デジタル複合機の構成の一例を示すブロック図である。
【図３】  画像処理部の構成の一例を示すブロック図である。
【図４】  データベースサーバの構成の一例を示すブロック図である。
【図５】  画像処理用アプリケーションの内容を示す図である。
【図６】  デジタル複合機における画像処理の手順を示すフローチャートである。
【図７】  データベースサーバにおける画像処理の手順を示すフローチャートである。
【図８】  ビットマップ文字の変形処理の手順を示すフローチャートである。
【図９】  ビットマップ文字とビットマップ文字がベクタ変換されて得られたベクタ文字の線要素とを重ねて例示する図である。
【図１０】  セリフの部分が削除されたベクタ文字の線要素を示す図である。
【図１１】  直線要素の線幅の設定を説明するための図である。
【図１２】  線要素の端部形状の補正を説明するための図である。
【図１３】  直線要素の角度と線幅との対応テーブルの一例を示す図である。
【図１４】  ビットマップ文字とビットマップ文字がベクタ変換されて得られたベクタ文字の曲線要素とを重ねて例示する図である。
【図１５】  認識されたベクタ文字の曲線要素のみを示す図である。
【図１６】  曲線要素の線幅の設定を説明するための図である。
【図１７】  線要素の角度などの条件と端部形状との対応テーブルの一例を示す図である。
【図１８】  コーナー部の外接矩形内における位置などの条件とコーナー部形状との対応テーブルの一例を示す図である。
【図１９】  第２実施形態に係るビットマップ文字の変形処理の手順を示すフローチャートである。
【図２０】  線幅の検出方法の一例を説明するための図である。
【図２１】  縦線幅の補正に用いられるフィルタの一例を説明するための図である。
【図２２】  横線幅の補正に用いられるフィルタの一例を説明するための図である。
【図２３】  第２実施形態に係るビットマップ文字の変形処理が施された出力結果の一例を示す図であって、出力フォントがセリフ系の場合を示す。
【図２４】  第２実施形態に係るビットマップ文字の変形処理が施された出力結果の一例を示す図であって、出力フォントがサンセリフ系の場合を示す。
【図２５】  従来の出力結果の一例を示す図であって、出力フォントがセリフ系の場合を示す。
【図２６】  従来の出力結果の一例を示す図であって、出力フォントがサンセリフ系の場合を示す。
【符号の説明】
１０…ネットワーク、
２０…デジタル複合機、
２１…ＣＰＵ、
２２…ＲＯＭ、
２３…記憶部、
２５…原稿読取部、
２７…画像処理部、
３１…領域分離部、
３２…画像圧縮部、
３３…ファイル作成部、
４０…データベースサーバ、
４１…ＣＰＵ、
４２…ＲＯＭ、
４３…記憶部、
５０…画像処理用アプリケーション、
５１…ファイル読み込み部、
５２…文字認識部、
５３…ベクタ変換部、
５４…文字認識後処理部、
５５…ファイル作成部、
６０…プリンタ。
【図１】
0004165046.tif 000002
【図２】
0004165046.tif 000003
【図３】
0004165046.tif 000004
【図４】
0004165046.tif 000005
【図５】
0004165046.tif 000006
【図６】
0004165046.tif 000007
【図７】
0004165046.tif 000008
【図８】
0004165046.tif 000009
【図９】
0004165046.tif 000010
【図１０】
0004165046.tif 000011
【図１１】
0004165046.tif 000012
【図１２】
0004165046.tif 000013
【図１３】
0004165046.tif 000014
【図１４】
0004165046.tif 000015
【図１５】
0004165046.tif 000016
【図１６】
0004165046.tif 000017
【図１７】
0004165046.tif 000018
【図１８】
0004165046.tif 000019
【図１９】
0004165046.tif 000020
【図２０】
0004165046.tif 000021
【図２１】
0004165046.tif 000022
【図２２】
0004165046.tif 000023
【図２３】
0004165046.tif 000024
【図２４】
0004165046.tif 000025
【図２５】
0004165046.tif 000026
【図２６】
0004165046.tif 000027