特許第6187307号(P6187307)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許6187307-画像処理装置及び画像処理プログラム 図000002
  • 特許6187307-画像処理装置及び画像処理プログラム 図000003
  • 特許6187307-画像処理装置及び画像処理プログラム 図000004
  • 特許6187307-画像処理装置及び画像処理プログラム 図000005
  • 特許6187307-画像処理装置及び画像処理プログラム 図000006
  • 特許6187307-画像処理装置及び画像処理プログラム 図000007
  • 特許6187307-画像処理装置及び画像処理プログラム 図000008
  • 特許6187307-画像処理装置及び画像処理プログラム 図000009
  • 特許6187307-画像処理装置及び画像処理プログラム 図000010
  • 特許6187307-画像処理装置及び画像処理プログラム 図000011
  • 特許6187307-画像処理装置及び画像処理プログラム 図000012
  • 特許6187307-画像処理装置及び画像処理プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6187307
(24)【登録日】2017年8月10日
(45)【発行日】2017年8月30日
(54)【発明の名称】画像処理装置及び画像処理プログラム
(51)【国際特許分類】
   G06K 9/62 20060101AFI20170821BHJP
   G06K 9/68 20060101ALI20170821BHJP
   G06K 9/00 20060101ALI20170821BHJP
   G06K 9/20 20060101ALI20170821BHJP
【FI】
   G06K9/62 610C
   G06K9/68 B
   G06K9/00 P
   G06K9/20 340L
【請求項の数】6
【全頁数】15
(21)【出願番号】特願2014-29113(P2014-29113)
(22)【出願日】2014年2月19日
(65)【公開番号】特開2015-153340(P2015-153340A)
(43)【公開日】2015年8月24日
【審査請求日】2016年7月22日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】100115129
【弁理士】
【氏名又は名称】清水 昇
(74)【代理人】
【識別番号】100102716
【弁理士】
【氏名又は名称】在原 元司
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】福永 正和
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 特開平6−060222(JP,A)
【文献】 特開平11−259596(JP,A)
【文献】 特開2008−108114(JP,A)
【文献】 特開平6−111058(JP,A)
【文献】 特開平3−078891(JP,A)
【文献】 浅田 尚紀、外3名,“電子申請システムのための文書構造化技術に関する研究”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2005年11月10日,Vol.105, No.414,pp.31-36
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/00,9/20,9/62,9/68
(57)【特許請求の範囲】
【請求項1】
表画像内のセル毎の画像を文字認識する認識手段と、
前記表画像の部分領域を抽出する抽出手段と、
前記部分領域のセル内の文字認識結果である文字の種別に基づいて、該部分領域内の文字の種別の偏りを判別し、該偏りがある部分領域における種別の特異点であるセルを抽出する第2の抽出手段と、
前記第2の抽出手段によって抽出されたセル内の画像を、該セルを含む部分領域の偏りの種別の認識辞書を用いて文字認識する第2の認識手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記第2の抽出手段は、前記部分領域内における文字の種別の割合に基づいて種別の偏りを判別し、該偏りのある種別以外の種別である文字が記入されているセルを特異点のセルとして抽出する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記抽出手段は、前記部分領域として行又は列を抽出し、
前記第2の抽出手段は、特異点のセルがある第1の行又は列に対して直交する、該セルを含む第2の列又は行において、該セルが特異点ではない場合は、該セルを第1の行又は列において特異点ではないとする
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記抽出手段は、複数のセルによって構成されるL字型の部分領域、又は複数のセルによって構成される構造が同じであるセル群を、部分領域として抽出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
前記第2の抽出手段は、前記部分領域の文字数による重みを付与して、偏りを判別する
ことを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
コンピュータを、
表画像内のセル毎の画像を文字認識する認識手段と、
前記表画像の部分領域を抽出する抽出手段と、
前記部分領域のセル内の文字認識結果である文字の種別に基づいて、該部分領域内の文字の種別の偏りを判別し、該偏りがある部分領域における種別の特異点であるセルを抽出する第2の抽出手段と、
前記第2の抽出手段によって抽出されたセル内の画像を、該セルを含む部分領域の偏りの種別の認識辞書を用いて文字認識する第2の認識手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、認識対象画像に含まれる項目を下地色によって認識し、各項目毎に適切な文字認識処理を行うことを可能とし、認識率を向上することを課題とし、読み込んだ帳票画像中の下地色に基づいて1つ又は複数の部分領域を抽出し、抽出された各部分領域に適用する文字認識処理を、夫々の下地色に基づいて設定し、各部分領域が数量が記入される項目であるか宛て先コードが記入される項目であるかが判別され、そして、各領域の項目に応じて、数字限定OCR処理か英数字OCR処理のいずれかが選択されて、文字認識処理が行われ、各項目に応じて認識結果に対する検証が行われることが開示されている。
【0003】
特許文献2には、手書文字あるいは活字文字等の字種が未知の文書や帳票などの文字について字種を判別して迅速かつ効率的に信頼性の高い文字認識結果を出力することを目的とし、文書や帳票などから画像を読み取る手段と、読み取った画像中の文字について字種を判別する手段と、判別された字種に基づいて文字認識処理を行い、文字認識結果の信頼性が閾値以上のときに文字認識結果を出力し、一方、閾値以下のときに他の文字認識処理を行ってそのときの信頼性と最初の信頼性とを比較して高い方の文字認識結果を出力する手段とを備えるように構成することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−191142号公報
【特許文献2】特開2001−143020号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、表画像内の文字を認識する場合において、表の部分領域内の文字の種別の偏りに応じた認識辞書を用いて文字認識を行うようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、表画像内のセル毎の画像を文字認識する認識手段と、前記表画像の部分領域を抽出する抽出手段と、前記部分領域のセル内の文字認識結果である文字の種別に基づいて、該部分領域内の文字の種別の偏りを判別し、該偏りがある部分領域における種別の特異点であるセルを抽出する第2の抽出手段と、前記第2の抽出手段によって抽出されたセル内の画像を、該セルを含む部分領域の偏りの種別の認識辞書を用いて文字認識する第2の認識手段を具備することを特徴とする画像処理装置である。
【0007】
請求項2の発明は、前記第2の抽出手段は、前記部分領域内における文字の種別の割合に基づいて種別の偏りを判別し、該偏りのある種別以外の種別である文字が記入されているセルを特異点のセルとして抽出することを特徴とする請求項1に記載の画像処理装置である。
【0008】
請求項3の発明は、前記抽出手段は、前記部分領域として行又は列を抽出し、前記第2の抽出手段は、特異点のセルがある第1の行又は列に対して直交する、該セルを含む第2の列又は行において、該セルが特異点ではない場合は、該セルを第1の行又は列において特異点ではないとすることを特徴とする請求項1又は2に記載の画像処理装置である。
【0009】
請求項4の発明は、前記抽出手段は、複数のセルによって構成されるL字型の部分領域、又は複数のセルによって構成される構造が同じであるセル群を、部分領域として抽出することを特徴とする請求項1又は2に記載の画像処理装置である。
【0010】
請求項5の発明は、前記第2の抽出手段は、前記部分領域の文字数による重みを付与して、偏りを判別することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。
【0011】
請求項6の発明は、コンピュータを、表画像内のセル毎の画像を文字認識する認識手段と、前記表画像の部分領域を抽出する抽出手段と、前記部分領域のセル内の文字認識結果である文字の種別に基づいて、該部分領域内の文字の種別の偏りを判別し、該偏りがある部分領域における種別の特異点であるセルを抽出する第2の抽出手段と、前記第2の抽出手段によって抽出されたセル内の画像を、該セルを含む部分領域の偏りの種別の認識辞書を用いて文字認識する第2の認識手段として機能させるための画像処理プログラムである。
【発明の効果】
【0012】
請求項1の画像処理装置によれば、表画像内の文字を認識する場合において、表の部分領域内の文字の種別の偏りに応じた認識辞書を用いて文字認識を行うことができる。
【0013】
請求項2の画像処理装置によれば、部分領域内における文字の種別の割合に基づいて種別の偏りを判別し、その偏りのある種別以外の種別である文字が記入されているセルを特異点のセルとして抽出することができる。
【0014】
請求項3の画像処理装置によれば、第1の行(列)において特異点であったとしても、直交する第2の列(行)において特異点でない場合は、第1の行(列)においても特異点ではないとすることができる。
【0015】
請求項4の画像処理装置によれば、L字型の部分領域又は構造が同じセル群を、部分領域として抽出することができる。
【0016】
請求項5の画像処理装置によれば、部分領域の文字数による重みを付与して、偏りを判別することができる。
【0017】
請求項6の画像処理プログラムによれば、表画像内の文字を認識する場合において、表の部分領域内の文字の種別の偏りに応じた認識辞書を用いて文字認識を行うことができる。
【図面の簡単な説明】
【0018】
図1】本実施の形態の構成例についての概念的なモジュール構成図である。
図2】本実施の形態による処理例を示すフローチャートである。
図3】本実施の形態による処理例を示す説明図である。
図4】本実施の形態による処理例を示す説明図である。
図5】本実施の形態による処理例を示す説明図である。
図6】本実施の形態による処理例を示す説明図である。
図7】本実施の形態による処理例を示す説明図である。
図8】本実施の形態による処理例を示すフローチャートである。
図9】本実施の形態による処理例を示す説明図である。
図10】本実施の形態による処理例を示す説明図である。
図11】本実施の形態による処理例を示す説明図である。
図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0020】
本実施の形態である画像処理装置100は、表画像内の文字を認識するものであって、図1の例に示すように、画像読込モジュール110、表構造解析モジュール120、一般文字認識モジュール130、パス設定モジュール140、偏り/特異点検出モジュール150、特殊文字認識モジュール160、表示モジュール170を有している。
画像処理装置100の処理の概要を説明する。なお、この説明は、具体的な例を用いているが、本実施の形態の理解を容易にすることを目的とするものであり、画像処理装置100を限定するために用いてはならない。表の行又は列では同タイプの文字種別のデータが並びやすいことを利用して、行又は列毎の文字種別の偏りを検出して、特異点となるセルを誤認識候補として、再度文字認識する。
【0021】
画像読込モジュール110は、表構造解析モジュール120と接続されている。画像読込モジュール110は、対象となる画像を読み込む。画像を読み込むとは、例えば、スキャナ、カメラ(スマートフォンを含む携帯電話に付属しているカメラを含む)等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、表画像が含まれていれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0022】
表構造解析モジュール120は、画像読込モジュール110、一般文字認識モジュール130、パス設定モジュール140、特殊文字認識モジュール160と接続されている。表構造解析モジュール120は、画像読込モジュール110が読み込んだ画像内から表画像を抽出し、その表画像の構造を解析する。公知の技術を用いて、罫線を検出し、セルを検出する。例えば、解析結果として、N行、M列の表であること、各セルの座標位置(例えば、矩形の左上角のXY座標と幅と縦長)等を解析結果とする。なお、表を構成するマス(表内の罫線で囲まれた最小の矩形)1つ1つのことをセルという。
一般文字認識モジュール130は、表構造解析モジュール120、パス設定モジュール140と接続されている。一般文字認識モジュール130は、表画像内のセル毎の画像を文字認識する。例えば、一般的な認識辞書による文字認識機能を有している。一般的な認識辞書とは、文字種別に限定されない網羅的な辞書をいう。例えば、一般文字認識モジュール130による文字認識では、数字「7」をカタカナ「ワ」等に誤認識する場合がある。
【0023】
パス設定モジュール140は、表構造解析モジュール120、一般文字認識モジュール130、偏り/特異点検出モジュール150と接続されている。パス設定モジュール140は、前記表画像の部分領域を抽出する。画像読込モジュール110が読み込んだ画像内の表画像の部分領域(以下、パスともいう)を抽出する。そのために、表構造解析モジュール120による解析結果を用いる。部分領域とは、表を構成する複数のセルによって構成されるものであって、例えば、行、列がある。この他に、複数のセルによって構成されるL字型の部分領域、又は複数のセルによって構成される構造が同じであるセル群(入れ子構造)がある。「L字型」とは、ある1つのセルから右方向又は左方向のうちのいずれか一方に連なるセル群とそのセルから上方向又は下方向のうちいずれか一方に連なるセル群によって構成されるものである。典型的な例として、表の第1行(最上行)と第1列(最左列)によって構成されるセル群がある。
具体的には、部分領域を行又は列とした場合、表構造解析モジュール120による解析結果である表構造データ(セルの座標位置等)を参考にして、行方向又は列方向に隣接セルを辿るパスの一覧を作成する。このパスデータには、各セルの文字認識結果(文字種別の分布)を含んでいてもよい。
【0024】
偏り/特異点検出モジュール150は、パス設定モジュール140、特殊文字認識モジュール160、表示モジュール170と接続されている。偏り/特異点検出モジュール150は、パス設定モジュール140によって抽出された部分領域のセル内の文字認識結果である文字の種別に基づいて、その部分領域内の文字の種別の偏りを判別し、その偏りがある部分領域における種別の特異点であるセルを抽出する。また、偏り/特異点検出モジュール150は、部分領域内における文字の種別の割合に基づいて種別の偏りを判別し、その偏りのある種別以外の種別である文字が記入されているセルを特異点のセルとして抽出するようにしてもよい。ここで「種別の割合に基づいて」とは、その行又は列において、1つの種別の割合が予め定められた閾値より多い又は以上であるか否かによって判別する。1つの種別の割合が予め定められた閾値より多い又は以上である場合は、行又は列はその種別に偏りがあると判断する。文字の種別とは、文字表記における文字体系をいい、例えば、ひらがな、カタカナ、漢字、英字(アルファベット)、アラビア数字、記号等がある。なお、文字の種別として、複数の文字体系の組み合わせであってもよい。例えば、「ひらがな」と「カタカナ」と「漢字」の組み合わせを「日本語」とする。特殊文字認識モジュール160は、この文字の種別毎に認識辞書を有している。逆に、特殊文字認識モジュール160が有している認識辞書に合わせて、文字の種別を定めてもよい。
【0025】
偏り/特異点検出モジュール150は、パス設定モジュール140が部分領域として行又は列を抽出した場合は、特異点のセルがある第1の行又は列に対して直交する、そのセルを含む第2の列又は行において、そのセルが特異点ではない場合は、そのセルを第1の行又は列においても特異点ではないとする。「第1の行又は列」と「第2の列又は行」の関係は、一方が列である場合は他方は行であり、一方が行である場合は他方は列である。詳細については、図8、9の例を用いて後述する。
また、偏り/特異点検出モジュール150は、部分領域の文字数による重みを付与して、偏りを判別するようにしてもよい。
具体的には、偏り/特異点検出モジュール150は、各パス毎に同種の文字種別が続くか否かの判定を行う。続くと判定された領域は偏りのある領域とみなされ、その範囲内に含まれる文字種別がその種別以外ならば特異点としてそのセルをラベル付けする。
【0026】
特殊文字認識モジュール160は、表構造解析モジュール120、偏り/特異点検出モジュール150、表示モジュール170と接続されている。特殊文字認識モジュール160は、偏り/特異点検出モジュール150によって抽出されたセル内の画像を、そのセルを含む部分領域の偏りの種別の認識辞書を用いて文字認識する。
具体的には、特殊文字認識モジュール160は、ラベル付けされた特異点のセルを偏った文字種別の文字認識辞書で再認識する。
表示モジュール170は、偏り/特異点検出モジュール150、特殊文字認識モジュール160と接続されている。表示モジュール170は、偏り/特異点検出モジュール150によって検出された部分領域の文字種別の偏り、特異点のセル、特殊文字認識モジュール160による認識結果を、液晶ディスプレイ等の表示装置に表示する。
【0027】
前述の文字種別だけでなく、さらに、セル内の文字列方向を含めてもよい。つまり、一般文字認識モジュール130では、文字認識結果として、文字列方向をも検出する。偏り/特異点検出モジュール150では、文字種別だけでなく、文字列方向についても偏り、特異点を抽出する。前述の「文字の種別」を「文字列方向」と読み替えればよい。なお、文字列方向として、縦と横がある。特殊文字認識モジュール160では、特異点であるセルについて、偏りにおける文字列方向を指定して、特異点であるセル内の画像を文字認識する。なお、文字列方向を予め指定して文字認識を行うと、一般的に認識率は向上する。
【0028】
図2は、本実施の形態による処理例を示すフローチャートである。ここでは、文字領域として、行のパス(表の横に並ぶセル群)を用いた例である。
ステップS202では、画像読込モジュール110が、画像を読み込む。この画像内には、表画像が含まれている。また、画像から表画像の領域だけを抽出してもよい。例えば、図3に示す表画像300が含まれている画像を読み込む。
ステップS204では、表構造解析モジュール120が、画像内の表を対象として、構造を解析する。具体的には、各セルの位置を認識する。
【0029】
ステップS206では、一般文字認識モジュール130が、表内の各セルの画像を対象として、文字認識を行う。ここでの文字認識は、認識辞書を限定しない文字認識処理である。例えば、図4に示す表認識結果400のような結果を得る。ここでは、日英数の混合の認識辞書を用いた結果である。認識結果410は本来数字「1」であるはずが、英字の小文字「l」と誤認識され、認識結果420は本来数字「77」であるはずが、カタカナ「ワワ」と誤認識されている。他のセルでは、文字認識結果は正解であるとする。
【0030】
ステップS208では、パス設定モジュール140が、表構造の解析結果を利用して、表内のパスを設定する。具体的には、各セルの座標位置を用いて、行、列、L型、同じ構造を有しているセル群を抽出する。例えば、図5に示す表500内のパス510(第1行)、パス520(第2行)、パス530(第3行)、パス540(第4行)を設定する。
ステップS210では、偏り/特異点検出モジュール150が、各パスについて、文字種別の偏り/特異点を検出する。文字種別の偏りがあるか否かを判断し、そして、偏りがある場合は、特異点のセルを抽出する。例えば、図6に示す表500のパス510では文字種別として「日(日本語)」「日」「日」「日」、パス520では文字種別として「英(英字)」「数(数字)」「数」「数」、パス530では文字種別として「数」「数」「数」「日」、パス540では文字種別として「数」「数」「数」「数」、である。ここで、パス内での文字種別の割合を算出し、偏りの閾値として70%とすると、パス510では、全て「日」であるので「日」の割合は100%であり、偏りがあると判定される。パス520では、3/4が「数」であるので「数」の割合は75%であり、「数」の偏りがあり、「英」は特異点であると判定される。パス530では、3/4が「数」であるので「数」の割合は75%であり、「数」の偏りがあり、「日」は特異点であると判定される。パス540では、全て「数」であるので「数」の割合は100%であり、偏りがあると判定される。
【0031】
ステップS212では、特殊文字認識モジュール160が、特異点のセルの画像を対象として、文字種別を限定した認識辞書を用いて文字認識を行う。文字種別の限定は、偏りが発生している文字種別に限定する。つまり、そのセルが含まれているパス内の他のセル(偏りがあるセル)の文字種別の認識辞書を用いる。したがって、偏りがあるパスにおいて、全て同じ文字種別の文字認識結果となる。図6の例では、特異点のセルは2つある。パス520内の「英」のセル(パス520内の第1列のセル)を、パス520の偏りである「数」(数字)の認識辞書を用いて再度文字認識を行う。同様に、パス530内の「日」のセル(パス530内の第4列のセル)を、パス530の偏りである「数」(数字)の認識辞書を用いて再度文字認識を行う。認識結果は、図7の例に示す表認識結果700となる。図4の例で示した認識結果410、認識結果420が再度文字認識され、本来の文字(認識結果410は数字「1」、認識結果420は数字「77」)となっている。
ステップS214では、表示モジュール170が、特異点のセルを他のセルとは異なる態様で表示する。図7の例に示す表認識結果700の第2行第1列、第3行第4列のセル内の背景を、赤色(他のセル内の背景は白)としたり、他の文字よりも大きくしたり、点滅させたりすればよい。
【0032】
図8は、本実施の形態による処理例を示すフローチャートである。図8の例に示すフローチャートは、図2に例に示すフローチャートのステップS208、ステップS210の処理を置き換えたものである。ここでは、文字領域として、行と列の両方を用いた例を示している。
ステップS802では、パス設定モジュール140が、横方向と縦方向のパスを設定する。図9(a)の例に示す表500のパス510〜540は、図5の例に示すパスと同様に横方向にパスを設定したものである。図9(b)に示す例は、同じ表500に対して縦方向にパス(パス910、パス920、パス930、パス940)を設置したものである。
【0033】
ステップS804では、偏り/特異点検出モジュール150が、各パスについて、文字種別の偏り/特異点を検出する。図9(a)に示す例で前述したように、パス510では、「日」の偏りがあり、特異点はなしと判定される。パス520では、「数」の偏りがあり、パス520の第1列が特異点であると判定される。パス530では、「数」の偏りがあり、パス530の第4列が特異点であると判定される。パス540では、「数」の偏りがあり、特異点はなしと判定される。図9(b)に示す例では、パス910は、「日」、「英」、「数」、「数」であるので、偏りはないと判定される。パス920では、「日」、「数」、「数」、「数」であるので、「数」の偏りがあり、パス920の第1行が特異点であると判定される。パス930では、「日」、「数」、「数」、「数」であるので、「数」の偏りがあり、パス930の第1行が特異点であると判定される。パス940では、「日」、「数」、「日」、「数」であるので、偏りはないと判定される。
【0034】
ステップS806では、偏り/特異点検出モジュール150が、一方のパスの特異点のセルは、直交するパスにおいて、偏りに寄与しているセルであるか否かを判断し、偏りに寄与しているセルである場合はステップS808へ進み、それ以外の場合は処理を終了する(ステップS899)。パス520の第1列のセルは特異点であるが、パス910では偏りに寄与していないので、そのセルは特異点である。同様に、パス530の第4列のセルは特異点であるが、パス940では偏りに寄与していないので、そのセルは特異点である。パス920の第1行のセルは特異点であるが、パス510では偏りに寄与している(偏り側の文字種別「日」である)ので、そのセルは特異点ではないとする(ステップS808)。同様に、パス930の第1行のセルは特異点であるが、パス510では偏りに寄与している(偏り側の文字種別「日」である)ので、そのセルは特異点ではないとする(ステップS808)。なお、他方のパスにおいて偏りに寄与しているセルであるという条件に加えて、他方のパスにおける偏りの割合は予め定められた閾値以上であることとしてもよい。ここでの閾値は、ステップS210で偏りを判定するための閾値よりも高い値とする。
ステップS808では、偏り/特異点検出モジュール150が、そのセルは特異点のセルではないとする。
【0035】
図10は、本実施の形態(主にパス設定モジュール140)による処理例を示す説明図である。図10の例に示す表1000は、第2列が1つのセル(統合セル)となっている表である。ここでの横方向のパスとして、統合された同一のセルを通過する。つまり、列又は行が1つのセルで構成されている場合は、直行する行又は列のパスとして、その1つのセルを含むようにパスを構成する。具体的には、セル1010は、セル1011、セル1052、セル1013、セル1014、セル1015によって構成され、セル1020は、セル1021、セル1052、セル1023、セル1024、セル1025によって構成され、セル1030は、セル1031、セル1052、セル1033、セル1034、セル1035によって構成され、セル1040は、セル1041、セル1052、セル1043、セル1044、セル1045によって構成されている。縦方向のパスとして、第2列は1つのセル(セル1052)だけのパスになる。したがって、第2列のパスの偏り度合は最大となる。そのため、行方向のパス上では2列目のセル(セル1052)は評価に含めないこととなる。
【0036】
図11は、本実施の形態(主にパス設定モジュール140)による処理例を示す説明図である。図11の例に示す表1100に対して、パス設定モジュール140は、そのセルの大きさ、互いのセルの位置関係に基づいて、同一構造の入れ子になっている入れ子構造1110、入れ子構造1120、入れ子構造1130を設定する。例えば、表内のセルの大きさが異なっている場合は、最も大きいセルAを選択し、そのセルAと接しているセルB(複数あってもよい)を抽出する。セルAと同じ大きさのセルCがあれば、そのセルCと接しているセルD(複数あってもよい)を抽出して、セルAとセルBの位置関係と、セルCとセルDの位置関係が同じあれば、部分領域(パス)として抽出する。具体的には、最も大きいセル1111を選択し、セル1111に接しているセル1112、セル1113、セル1114を抽出し、位置関係(セル1111の下にセル1112、セル1113、セル1114がある)を解析する。セル1111と同じ大きさであるセル1121を選択し、セル1121に接しているセル1112、セル1113、セル1114、セル1122、セル1123、セル1124を抽出し、位置関係(セル1121の上にセル1112、セル1113、セル1114があり、セル1121の下にセル1122、セル1123、セル1124がある)を解析する。ここで、セル1111とセル1112、セル1113、セル1114との位置関係と、セル1121とセル1122、セル1123、セル1124との位置関係は同じであるので、セル1111、セル1112、セル1113、セル1114によって構成される入れ子構造1110と、セル1121、セル1122、セル1123、セル1124によって構成される入れ子構造1120を部分領域として設定する。同様に、入れ子構造1130も部分領域として設定する。
各部分領域(入れ子構造1110、入れ子構造1120、入れ子構造1130)をパスして、図2の例に示すフローチャートにおけるステップS210以降の処理を行えばよい。つまり、各パスにおいて文字種別の偏りがあれば、その中の特異点であるセルを補正の対象にする。
【0037】
図12を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図12に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1217と、プリンタなどのデータ出力部1218を備えたハードウェア構成例を示している。
【0038】
CPU(Central Processing Unit)1201は、前述の実施の形態において説明した各種のモジュール、すなわち、画像読込モジュール110、表構造解析モジュール120、一般文字認識モジュール130、パス設定モジュール140、偏り/特異点検出モジュール150、特殊文字認識モジュール160、表示モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0039】
ROM(Read Only Memory)1202は、CPU1201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1203は、CPU1201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1204により相互に接続されている。
【0040】
ホストバス1204は、ブリッジ1205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1206に接続されている。
【0041】
キーボード1208、マウス等のポインティングデバイス1209は、操作者により操作される入力デバイスである。ディスプレイ1210は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0042】
HDD(Hard Disk Drive)1211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象としている画像、解析結果、文字認識結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0043】
ドライブ1212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1207、外部バス1206、ブリッジ1205、及びホストバス1204を介して接続されているRAM1203に供給する。リムーバブル記録媒体1213も、ハードディスクと同様のデータ記録領域として利用可能である。
【0044】
接続ポート1214は、外部接続機器1215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1214は、インタフェース1207、及び外部バス1206、ブリッジ1205、ホストバス1204等を介してCPU1201等に接続されている。通信部1216は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0045】
なお、図12に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0046】
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
前述の実施の形態において、偏りを判別する際に、部分領域の文字数による重みを付与してもよい。例えば、セル内に文字種別A、文字種別Bの文字があり、それぞれ文字数X、Yである場合、文字種別AはX/(X+Y)、文字種別BはY/(X+Y)とする。
また、隣合った部分領域における偏りを参考にして、偏りを決定するようにしてもよい。例えば、対象としている部分領域での偏りを決定する際に、隣合った部分領域でも同じ文字種別の偏りであることを条件としてもよい。隣合った部分領域は、既に偏りが決定されたものとし、2つ目以降の部分領域の判定の際に、その条件を課すようにしてもよい。また、表の予め定められた部分領域(例えば、第1行、第1列等)以外の部分領域を対象としてもよい。
【0047】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0048】
100…画像処理装置
110…画像読込モジュール
120…表構造解析モジュール
130…一般文字認識モジュール
140…パス設定モジュール
150…偏り/特異点検出モジュール
160…特殊文字認識モジュール
170…表示モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12