IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特許7417116情報処理システム、情報処理方法、プログラム
<>
  • 特許-情報処理システム、情報処理方法、プログラム 図1
  • 特許-情報処理システム、情報処理方法、プログラム 図2
  • 特許-情報処理システム、情報処理方法、プログラム 図3
  • 特許-情報処理システム、情報処理方法、プログラム 図4
  • 特許-情報処理システム、情報処理方法、プログラム 図5
  • 特許-情報処理システム、情報処理方法、プログラム 図6
  • 特許-情報処理システム、情報処理方法、プログラム 図7
  • 特許-情報処理システム、情報処理方法、プログラム 図8
  • 特許-情報処理システム、情報処理方法、プログラム 図9
  • 特許-情報処理システム、情報処理方法、プログラム 図10
  • 特許-情報処理システム、情報処理方法、プログラム 図11
  • 特許-情報処理システム、情報処理方法、プログラム 図12
  • 特許-情報処理システム、情報処理方法、プログラム 図13
  • 特許-情報処理システム、情報処理方法、プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】情報処理システム、情報処理方法、プログラム
(51)【国際特許分類】
   G06V 30/14 20220101AFI20240111BHJP
   G06V 30/244 20220101ALI20240111BHJP
   G06V 30/414 20220101ALI20240111BHJP
【FI】
G06V30/14 340J
G06V30/244
G06V30/414
【請求項の数】 4
(21)【出願番号】P 2021090955
(22)【出願日】2021-05-31
(65)【公開番号】P2022104498
(43)【公開日】2022-07-08
【審査請求日】2022-07-07
(31)【優先権主張番号】P 2020218455
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】八尾 唯仁
【審査官】宮島 潤
(56)【参考文献】
【文献】特開平9-134406(JP,A)
【文献】特開2001-34763(JP,A)
【文献】特開2007-26470(JP,A)
【文献】特開2006-92345(JP,A)
【文献】特開2006-172284(JP,A)
【文献】広瀬 克昌 Katsumasa HIROSE,文書画像中の連結成分の模擬的拡大による各構成単位の切出し,電子情報通信学会1999年総合大会講演論文集 情報・システム2 PROCEEDINGS OF THE 1999 IEICE GENERAL CONFERENCE,日本,社団法人電子情報通信学会,1999年03月08日
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/14 - 30/168
G06V 30/224
G06V 30/40 - 30/416
G06V 30/00 - 30/12
G06V 30/226 - 30/32
G06V 30/42 - 30/424
(57)【特許請求の範囲】
【請求項1】
文字認識の対象となる二値化された画像における、同じ画素値の画素が連続して存在することで形成される画素片複数取得する連続画素取得手段と、
前記連続画素取得手段により取得された複数の画素片のそれぞれについて、当該画素片が取得された領域を含む矩形領域を特定する第1の特定手段と、
前記第1の特定手段により特定された矩形領域を拡張して他の矩形領域と結合させることで、1文字ごとの領域を示す文字領域を特定する第2の特定手段と、
前記第2の特定手段により特定された文字領域のうち、文字領域のアスペクト比が所定の閾値よりも1に近い特定文字領域について、水平方向に一定の距離以内であり同じ高さにある位置関係にある他の特定文字領域と結合することで、複数の文字を含む複数文字領域を特定する第3の特定手段と、
前記第3の特定手段により特定された複数文字領域ごとに、当該複数文字領域に含まれる文字の認識処理を実行する文字認識手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記複数文字領域が、表領域における複数のセルにまたがって存在する場合、当該複数文字領域を当該複数のセルの境界で分割する分割手段をさらに備え、
前記文字認識手段は、前記分割手段により複数文字領域が分割された場合、当該分割された領域ごとに、前記認識処理を実行することを特徴とする請求項に記載の情報処理システム。
【請求項3】
情報処理システムの連続画素取得手段が、文字認識の対象となる二値化された画像における、同じ画素値の画素が連続して存在することで形成される画素片複数取得する連続画素取得工程と、
前記情報処理システムの第1の特定手段が、前記連続画素取得工程により取得された複数の画素片のそれぞれについて、当該画素片が取得された領域を含む矩形領域を特定する第1の特定工程と、
前記情報処理システムの第2の特定手段が、前記第1の特定工程により特定された矩形領域を拡張して他の矩形領域と結合させることで、1文字ごとの領域を示す文字領域を特定する第2の特定工程と、
前記情報処理システムの第3の特定手段が、前記第2の特定工程により特定された文字領域のうち、文字領域のアスペクト比が所定の閾値よりも1に近い特定文字領域について、水平方向に一定の距離以内であり同じ高さにある位置関係にある他の特定文字領域と結合することで、複数の文字を含む複数文字領域を特定する第3の特定工程と、
前記情報処理システムの文字認識手段が、前記第3の特定工程により特定された複数文字領域ごとに、当該複数文字領域に含まれる文字の認識処理を実行する文字認識工程と、
を備えることを特徴とする情報処理方法。
【請求項4】
コンピュータを、請求項1または2に記載の各手段として機能させるためのプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、プログラムに関する。
【背景技術】
【0002】
印刷された帳票から情報を読み取ってシステムに入力する業務を補助するものとしてOCR(光学文字認識)が存在する。OCRでは文字を認識する前に、帳票内に文字が印刷された領域を検出する文字検出という処理が存在する。
【0003】
OCRで読み取り対象とされる文書は刊行物、ビジネス文書など多岐にわたり、用途によってOCRに対する要求にも差がある。この中でも、帳票をOCRする際の文字検出においては、「短い文字列でも見落とさないこと」、「文字間隔が開いた見出しを1つの文字列として認識できること」、「互いに無関係な文字列同士が結合されないこと」といった点が要求される。
【先行技術文献】
【非特許文献】
【0004】
【文献】Hybrid Page Layout Analysis via Tab-Stop Detectionhttps://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/35094.pdf
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1において、雑誌や新聞、論文などの段組みの文章に対するOCR技術について記載されている。
【0006】
これに対して、請求書や領収書といった帳票は、段組みの文章として扱いOCR処理を実行してしまうと、互いに関係ない近接文字列同士を1つの段落として結合してしまうという課題が生じてしまう。
【0007】
非特許文献1以外でも、機械学習による物体検出手法を応用した文字検出手法が提案されているが、物体検出ベースの手法は帳票中の見出しや値のような単一行の短い文字列(ただし帳票内では重要な意味を持つ文字列)を見逃す傾向があり、前述の帳票OCRに対する要求を満たさない。
【0008】
そこで本発明は、より適切な文字認識結果が得られる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の情報処理システムは、文字認識の対象の画像から、連続して存在する画素を取得する連続画素取得手段と、前記連続画素取得手段により取得された画素に基づき、文字領域を推定する推定手段と、前記推定手段により推定された文字領域の単位で文字認識処理を実行する文字認識手段と、を備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、より適切な文字認識結果を得ることが可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態における、表抽出システムのシステム構成の一例を示す図である。
図2】本発明の実施形態における、PCのハードウェア構成の一例を示すブロック図である。
図3】本発明の実施形態における、機能構成の一例を示す図である。
図4】本発明の実施形態における、画像前処理部の処理結果の一例を示す図である。
図5】本発明の実施形態における、連続画素検出部の検出結果の一例を示す図である。
図6】本発明の実施形態における、画像片分類部の処理結果の一例を示す図である。
図7】本発明の実施形態における、文字領域推定部の処理の流れを示すフローチャートである。
図8】本発明の実施形態における、文字と分類された画像片の座標をプロットしたワーク画像の一例を示す図である。
図9】本発明の実施形態における、文字のまとまりを推定する処理の一例を示す図である。
図10】本発明の実施形態における、孤立文字の結合処理の一例を示す図である。
図11】本発明の実施形態における、文字検出結果の一例を示す図である。
図12】本発明の実施形態における、出力結果の一例を示す図である。
図13】本発明の実施形態における、セル分割部の処理の一例を示す図である。
図14】本発明の実施形態における、文字列画像の活字、手書き分類の処理の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0013】
図1は、本発明の実施形態における文字認識システムのシステム構成の一例を示す図である。
【0014】
文字認識の主要な処理を行うためのクライアントPC101および、帳票をスキャンして画像ファイル化するスキャナ102が通信経路100を介して接続される構成となっている。
【0015】
通信経路100はスキャナ102の有する物理インターフェースに応じて、有線LAN,無線LAN,USBなどの形態をとることができる。
【0016】
通信経路100上にはファイルサーバー103を置いてもよい。スキャナ102でスキャンした画像をクライアントPC101に取り込む方法として、スキャナ102からクライアントPC101に直接画像を送信する方法、スキャナ102で取り込んだ画像ファイルをいったんファイルサーバー103に保管し、クライアントPC101がファイルサーバー103から画像ファイルを取り出す方法などがあるが、いずれの方法であっても良い。
【0017】
図2は、本発明のクライアントPC101、スキャナ102、ファイルサーバー103に適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【0018】
図2に示すように、情報処理装置は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声コントローラ206、ビデオコントローラ207、メモリコントローラ208、よび通信I/Fコントローラ209が接続される。
【0019】
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
【0020】
ROM202あるいは外部メモリ213は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
【0021】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ213からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0022】
入力コントローラ205は、キーボード210や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0023】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0024】
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【0025】
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【0026】
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
【0027】
通信I/Fコントローラ209は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の4G回線、5G回線等を用いた通信が可能である。
【0028】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示を可能としている。また、CPU201は、ディスプレイ212上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0029】
図3は、クライアントPC101の機能構成の一例を示す図である。
【0030】
入力受付部251は、スキャナ102やファイルサーバー103を介して画像の入力を受け付ける。
【0031】
画像前処理部252は、入力受付部251で受け付けた入力画像のノイズ除去や二値化処理を行う。
【0032】
連続画素検出部253は、画像前処理部252による処理で得られた二値化画像の中から連続した画素(隣り合った画素)を検出し、画像片として切り出す。なお、完全に隣り合っておらず、数画素離れている程度で、かすれに起因するものであると判断できる部分は同一の画像片として切り出してもよい。すなわち、連続画素検出部253は、ひと続き(一連)の繋がった線であると判定(評価)される部分を1つの画像片として切り出す。
【0033】
画像片分類部254は、連続画素検出部253により切り出された画像片が、文字由来のものかそれ以外のものかを判定し分類する機能を持つ。分類の際には、分類モデル255に格納されたパラメータを用いる。
【0034】
文字領域推定部256は、画像片分類部254によって文字由来と分類された画像片の領域情報から、帳票上の文字列の塊の領域を推定する。
【0035】
セル分割部257は、帳票上の表やセルの座標情報が与えられている場合に、セルの座標情報を用いて文字列領域を分割する。
【0036】
活字手書き判定部260は、文字領域内に書かれている文字が活字(第1種別の文字)であるか手書き文字(第2種別の文字)であるかを分類(特定)する機能を持つ。分類の際には、分類モデル261に格納されたパラメータを用いる。
【0037】
文字認識部258は、文字領域推定部256により推定された各文字領域に対して、OCR処理(文字認識処理)を行い、当該領域に書かれた文字を認識する。
【0038】
結果出力部259は、検出された文字領域とそこに書かれた文字をセットにしてファイルとして出力する。
【0039】
図4は、画像前処理部252による処理の一例を示す図である。
【0040】
入力画像401は、スキャナ102などを通して取り込まれた画像である。
【0041】
画像前処理部252は入力画像401を二値化、白黒反転したのち、ノイズ除去の処理を行い、前処理画像402を生成する。
【0042】
図5は、連続画素検出部253の検出結果の一例を示す図である。
【0043】
連続画素検出部253は、前処理画像402から、白い画素が連続した領域を検出し、画像片として切り出す。画像片は文字の偏、旁、ロゴ、罫線、印鑑の断片などからなる。後述の分類器の精度向上のため、画像片は連続画素の周辺領域をある程度含めて切り出すようにする。
【0044】
画像片501-506は連続画素検出部253によって切り出された画像片の例である。
【0045】
図6は、画像片分類部254による処理結果の一例を示す図である。
【0046】
画像片501-506はその由来が文字であるか否かによって、文字と非文字に分類される。図6の例では、501、502、505が文字に分類され、503、504、506が非文字に分類されている。非文字として分類されたものは、ロゴや印鑑や罫線などである。
【0047】
文字、非文字の分類の手がかりとしては、分類モデル255が使われる。分類モデル255は機械学習によって文字、非文字の特徴を記憶した学習モデルである。機械学習による画像の分類モデルとしてはVGG、ResNet等が知られている。
【0048】
図7は、文字領域推定部256の処理の流れを示すフローチャートである。
【0049】
ステップS701では、文字領域の推定に使用するワーク画像801を生成する。ワーク画像801は前処理画像402と同サイズで画像全体が黒で塗りつぶされている画像である。
【0050】
ステップS702-S705では連続画素検出部253によって検出され、画像片分類部254によって分類された各画像片に対して処理を行う。
【0051】
ステップS703では、処理対象の画像片が文字として分類されているかどうかを参照し、文字と分類されていた場合は、処理をステップS704に移行する。
【0052】
文字として分類されていない場合は、次の画像片に対する処理に移行する。
【0053】
ステップS704では、ワーク画像801に、処理対象の画像片が検出された領域を描画する。
【0054】
図8は、ステップS704で描画された画像片が検出された領域(矩形で示した領域)の一例である。前処理画像402から検出された連続画素のうち文字と分類されたもののバウンディングボックス(矩形領域)をワーク画像801上に白い領域(矩形)として描画している。描画された矩形の集合は矩形群802となる。ここでは文字以外の要素(下線、罫線など)に対応する矩形は描画されず、これにより帳票内から文字が書かれた領域だけを抽出するという目的を実現する。
【0055】
ステップS706では、ステップS704で描画されたそれぞれの矩形の領域を拡張する。具体的には、ワーク画像801内の白い画素領域を拡張し矩形間の隙間を埋めて結合することにより、編や旁などに分割された文字内の要素を文字列のレベルまでまとめていく。
【0056】
矩形領域を拡張について、具体的には、例えば、あらかじめ決まった画素数分だけ各矩形を広げるという方法や、矩形のサイズに応じた割合(20%など)で広げるといった方法がある。どちらの場合も、上下の行の文字列と結合されてしまうことを低減させるため、主に横方向に広げ、縦方向には少しだけ広げるのが望ましい。
【0057】
ステップS707では、拡張された矩形群に対して再度連続画素のまとまりを抽出する。
【0058】
ステップS708では、ステップS707で抽出したまとまりを内包するバウンディングボックスでワーク画像801を塗りつぶす。
【0059】
ステップS709では、ワーク画像内の孤立した矩形を連結する。
【0060】
ステップS710では、ステップS709で連結した矩形を内包するバウンディングボックスでワーク画像801を塗りつぶす。
【0061】
以上のように、文字の部品単位や文字単位で検出された領域を拡張し結合していくことで、文字列単位の領域を特定することが可能となる。
【0062】
図9は、ステップS706、S707、S708によって文字のまとまりを推定する処理の一例を示す図である。
【0063】
矩形で示した各領域を拡張することにより領域群901が得られ、領域群901内の各領域のバウンディングボックスを塗りつぶすことで文字列候補群902を得る。
【0064】
ステップS709、S710では、ワーク画像801中の孤立した矩形を他の矩形に連結して1つの文字列としてまとめる。
【0065】
帳票中の見出しの中には文字間が大きく開いたものがあり、そうした見出しの中にはステップS706では結合できずに見出し中の1文字が孤立してしまう場合が多い。ここではそうした孤立文字同士を連結して本来の文字列のまとまりに統合することが可能となる。
【0066】
図10は、ステップS709、S710による孤立文字の結合処理の一例を示す図である。ここで、ワーク画像801には、孤立した文字列候補1010、1011、1012が存在しているものとする。これらは図4の入力画像401上では本来「納品書01」という1つの文字列を形成しているものである。
【0067】
ステップS709では、各文字列候補領域に対して、矩形のアスペクト比が所定の閾値よりも1に近い(すなわち、1文字だけ孤立していると推定される)、水平方向の一定以内の距離に同じ高さの文字列候補領域が存在している、という2つの条件を満たす領域を直線で結び、連続画素となるよう加工する。矩形のアスペクト比が所定の閾値よりも1に近いとは、具体的には例えば以下のような条件のいずれかとなる。
・Th1>(矩形の横サイズ/縦サイズ)>Th2(Th1>1、Th2<1)という条件。
・(矩形の長辺サイズ/短辺サイズ)<Th3(>1)という条件。
・(矩形の短辺サイズ/長辺サイズ)>Th4(<1)という条件。
【0068】
図10では、文字候補矩形1010から同1011、同1011から1010、同1011から同1012の組み合わせが上記の条件に該当する。これらの文字候補矩形を直線で連結すると連続画素領域1013が得られる。文字候補矩形1010と1011の一つ下にある2行目先頭の矩形は、アスペクト比が所定の閾値よりも1に近いという条件は満たすが、水平方向に一定以内の距離に同じ高さの文字列候補が存在するという条件を満たさないため、非連結対象となっている。
【0069】
ステップS710では、この状態のワーク画像801に対してステップS708と同様に連続画素領域のバウンディングボックスを抽出して塗りつぶす。これにより文字列領域群1001が得られる。
【0070】
ステップS711では、ステップS710で抽出されたバウンディングボックスに対応する位置にある文字列画像を入力画像から取得する。
【0071】
図11は、文字検出処理の出力結果の一例を示す図である。
【0072】
この例は入力画像401に対して文字列領域群1001を当てはめたものである。入力画像401からバウンディングボックスに対応する領域をそれぞれ切り出すことで、文字列画像1101-1106を取得する。
【0073】
ステップS712では、ステップS711で取得された文字列画像に係る文字が活字(第1種別の文字)であるか手書き文字(第2種別の文字)であるかを分類する。分類にあたっては、活字手書き分類モデル261に格納されたパラメータを用いて行う。活字手書き分類モデル261としては、活字と手書き文字とを学習(機械学習)させることで生成された学習済みモデルが好適な例である。すなわち、ステップS712では、ステップS711で取得された文字列画像のそれぞれについて、手書きと活字のいずれであるかを判定する。あるいは、活字であるか否かまたは手書きであるか否かを判定する。そして判定結果に基づいて分類を行う。
【0074】
図14は、活字手書き分類部260が文字列画像を活字と手書き文字とに分類した様子を示す図である。
【0075】
文字列画像1401-1406のうち、1402、1403、1404が活字に分類され、1401、1405、1406が手書きに分類されている様子を示している。
【0076】
そして、文字認識部258によって、分類された各文字列画像に対して文字認識処理を行う。文字認識処理においては、ステップS712の分類結果に応じて、活字と分類された文字列については活字に適した文字認識エンジンを用いて文字認識を行い、手書き文字と分類された文字列については、手書き文字に適した文字認識エンジンを用いて文字認識を行うといったように、文字認識エンジンを使い分けることで、より適切な文字認識結果を得ることが可能となる。
【0077】
また、活字として分類された文字列については文字認識処理を行わず、手書き文字として分類された文字列について文字認識処理を行うようにすることで、手書きされる前の帳票(活字文字列が記載された帳票)を予め登録しなくても手書き後の帳票から手書き文字列を抽出することが可能となる。この場合、ステップS712では、活字であるか否かの判定、分類は行わず、手書き文字であるか否かの判定に応じて、手書き文字であると判定された文字列画像に対して文字認識処理を行い、手書き文字であると判定されなかた文字列画像には文字認識処理を行わないようにすればよい。
【0078】
図12は、結果出力部259による出力結果の一例を示す図である。本実施例では出力結果1201はJSON形式のテキストファイルとして文字領域のID、矩形座標、読み取ったテキスト内容を含んでいる。
【0079】
セル分割部257は、帳票内の表に関して、表領域とセル領域の情報が外部から与えられている場合に、セルの情報を用いて文字検出結果を分割する処理を行う。
【0080】
文字領域推定部256は画像片分類部254によって文字と分類された領域のみを対象にして処理を行うため、この時点で罫線の情報が失われており、文字領域推定部256の出力結果は複数のセル内の文字列が結合されている場合がある。この結果を補正するため、セル矩形の情報を用いて複数のセルにまたがった文字列領域を分割する。
【0081】
図13は、セル分割部の処理の一例を示す図である。
【0082】
入力画像1301を入力として本手法で文字検出を行った場合、文字列画像1311-1313が得られるが、このうち文字列画像1312は右詰と左詰のテキストのセルが隣接しているため、文字列がセルをまたいで結合されている。
【0083】
表、セルの情報が外部から表1320、セル1321-1324としてそれぞれの矩形情報が与えられた場合、その情報を用いて文字列画像1312を文字列画像1314と1315に分割する。
【0084】
このように、表形式の領域については、複数のセルに記載された文字を一つの領域と特定することなく、それぞれのセル毎に文字列領域を特定し、OCR処理を実行することが可能となる。
【0085】
以上説明した通り、本願発明では、OCRの対象の画像から、連続して存在する画素を取得し、取得した画素に基づき、文字領域を推定する。そして、推定された文字領域の単位でOCR処理を実行する。このように、画素片から文字を検出することで、予め文字が存在する領域を限定してから検出する方法に比べ、文字の見落としを防ぐことが可能となる。
【0086】
また、推定された文字領域を結合することで、一つの文字を2文字と判定してしまう(例えば偏と旁を別々の文字と認識してしまう)ことを低減させることが可能とある。
【0087】
また、推定された文字領域同士を結合することで、帳票のタイトル等でよく見られる文字と文字の間隔が広い文字列についても、1つの文字列として認識することが可能となる。
【0088】
また、本実施例のように、文字領域の結合や分割処理を実施したあとに、活字と手書き文字とを分類することで、一つの文字であるにもかかわらず、偏は手書き文字、旁は活字と分類してしまうことを低減させることが可能となる。
【0089】
また、表領域の情報(表領域の位置やセルの形状・位置など)の情報に基づき推定された文字領域を分割することで、複数のセルに記入された文字列を一つの文字列として認識してしまうことを低減させることが可能となる。
【0090】
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0091】
また、本発明におけるプログラムは、図7に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図7の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図7の各装置の処理方法ごとのプログラムであってもよい。
【0092】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0093】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0094】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0095】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0097】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0098】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0099】
100 LAN
101 クライアントPC
102 スキャナ
103 ファイルサーバー
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14