(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】データ入力支援装置、データ入力支援方法、表示装置、及びプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20240325BHJP
G06V 30/12 20220101ALI20240325BHJP
【FI】
G06V30/412
G06V30/12
(21)【出願番号】P 2020025035
(22)【出願日】2020-02-18
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】五十嵐 洋介
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2012-133507(JP,A)
【文献】特開2019-040467(JP,A)
【文献】特開2016-143284(JP,A)
【文献】特開2009-122722(JP,A)
【文献】特開2016-126356(JP,A)
【文献】特開2006-209599(JP,A)
【文献】特開2020-017149(JP,A)
【文献】特開2008-158988(JP,A)
【文献】BitMap Family,個人でも買えるエプソンの名刺カードリーダー,PC WAVE 1994-11,日本,株式会社電波実験社,1994年11月01日,第2巻 第11号 ,P.113-117
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
G06V 30/12
G06T 7/00
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
画像に対する文字認識
処理により得られる複数の
文字列を取得す
る取得手段と、
確認画面を表示する表示手段と
を有し、
前記確認画面は、
前
記画像の全体または一部を表示する第一の表示領域と、
所定項目に対
応付けて
、前記複数の
文字列の中から1つの文字列を表示する第二の表示領域と、
前記
所定項目に対
応付けて、
前記画像の部分画像であって、前記所定項目に対応する文字列の項目名を含む複数の部分画像を表示する第三の表示領域と
、を含
み、
前記第二の表示領域において前記所定項目に対応付けて前記1つの文字列を表示するために、前記第三の表示領域において、前記所定項目に対応する文字列の項目名を含む前記複数の部分画像の中から1つの部分画像の選択をユーザから受け付ける、
ことを特徴とするデータ入力支援装置。
【請求項2】
前記表示手段は、前記
複数の部分画像に含まれる項目名に対応する文字列の正規形が一致する
場合、前記
複数の部分画像をグループ化し
て前記第三の表示領域に表示することを特徴とする請求項1記載のデータ入力支援装置。
【請求項3】
前記正規形は、前記
所定項目に
対応付けて決められた書式に基づくことを特徴とする請求項2記載のデータ入力支援装置。
【請求項4】
前記複数の部分画像に含まれる項目名は、部分画像ごとに異なることを特徴とする請求項1乃至3のいずれか1項に記載のデータ入力支援装置。
【請求項5】
前記所定項目に対応する文字列を含む領域及び
当該文字列に対応する項目名を含む領域の外接矩形領域を前
記画像から切り出し、前記外接矩形領域の間の距離が閾値より大きければ前記距離を小さくした画像
が前記
部分画像として作成
されることを特徴とする請求項1乃至4のいずれか1項に記載のデータ入力支援装置。
【請求項6】
前記表示手段は、ユーザによって選択された前記
部分画像に対応する
文字列及び
当該文字列に対応する項目名を包含し、かつ前記
文字列及び前記項目
名が所定のサイズより大きくなるように、前記第一の表示領域における前
記画像をトリミングして表示することを特徴とする請求項1乃至5のいずれか1項に記載のデータ入力支援装置。
【請求項7】
前記表示手段は、前記ユーザによって前
記画像の表示位置あるいは表示倍率が変更された結果、選択された前記
部分画像に対応する
文字列あるいは
当該文字列に対応する項目名が前記第一の表示領域に表示された前
記画像の画像外にある場合には、前記画像外にある前記
文字列あるいは前記
項目名を、前記第一の表示領域に表示された前
記画像の枠上に表示することを特徴とする請求項6記載のデータ入力支援装置。
【請求項8】
コンピュータを、請求項1乃至7のいずれか1項に記載のデータ入力支援装置として機能させるためのプログラム。
【請求項9】
画像に対する文字認識処理により得られた複数の文字列の確認画面を表示する表示装置であって、前記確認画面は、
前
記画像の全体または一部を表示する第一の表示領域と、
所定
項目に対
応付けて、
前記複数の
文字列の中から1つの文字列を表示する第二の表示領域と、
前記所定
項目に対
応付けて、
前記画像の部分画像であって、前記所定項目に対応する文字列の項目名を含む複数の部分画像を表示する第三の表示領域と、
を含み、
前記第二の表示領域において前記所定項目に対応付けて前記1つの文字列を表示するために、前記第三の表示領域において、前記所定項目に対応する文字列の項目名を含む前記複数の部分画像の中から1つの部分画像の選択をユーザから受け付ける、
ことを特徴とする表示装置。
【請求項10】
画像に対する文字認識
処理により得られた複数の
文字列を取得す
る取得工程と、
確認画面を表示する表示工程と
を含み、
前記確認画面は、
前
記画像の全体または一部を表示する第一の表示領域と、
所定項目に対
応付けて
、前記複数の
文字列の中から1つの文字列を表示する第二の表示領域と、
前記
所定項目に対
応付けて、
前記画像の部分画像であって、前記所定項目に対応する文字列の項目名を含む複数の部分画像を表示する第三の表示領域と
、を含
み、
前記第二の表示領域において前記所定項目に対応付けて前記1つの文字列を表示するために、前記第三の表示領域において、前記所定項目に対応する文字列の項目名を含む前記複数の部分画像の中から1つの部分画像の選択をユーザから受け付ける、
ことを特徴とするデータ入力支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ入力支援装置、データ入力支援方法、表示装置、及びプログラムに関する。
【背景技術】
【0002】
従来、帳票に記載された項目を読み取り、システムに入力するデータ入力業務を支援するために、帳票画像中の所定の位置にある文字列を項目値として読み取りデータ入力作業者に表示することで該業務を支援するシステムがあった。しかしながらかかるシステムでは、帳票のレイアウト毎に項目の位置を登録しなければならず、多様なレイアウトが存在し得る帳票に対して適用することは困難であった。例えば請求書は、通常、発行元が独自のテンプレートを用いて作成するため、レイアウトが多様化しやすい。
【0003】
特許文献1及び2には、このようにテンプレートの登録が困難な非定型帳票からデータ(項目値)を自動的に抽出する方法が開示されている。特許文献1では、データの属性を表す文字列である項目名とデータを表す項目値とを帳票画像の文字認識結果から検索し、両者の位置関係に基づいて項目名と項目値とを対応付けることで項目値を抽出する。特許文献2では、読み取り対象の項目名領域を抽出しハイライト表示した上で、該項目名に対応する項目値の位置または領域をユーザが大まかに入力することで項目値を抽出する。
【0004】
特許文献1及び2に開示された方法によると、項目値を自動抽出できるが、抽出した項目値の文字認識結果は誤ることがあり、オペレータによる目視確認が必須である。特許文献1の
図26では、項目値の文字認識結果を認識結果領域に表示するとともに、帳票画像上において当該認識対象となった項目値の領域を太線の枠で囲んで表示する表示方法が開示される。また、特許文献2の
図8では、文字イメージ82と認識結果83とを並べて表示することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-51339号公報
【文献】特開2018-37036号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
帳票内に同じ種類のデータ(数値など)が複数存在する場合、認識結果のデータだけを確認してもそのデータが所望の項目名に対応するものなのか判断しにくいことが多い。すなわち、認識結果のデータを確認する際は、どの項目名に対応する値として帳票画像から抽出されたデータであるのかも合わせて確認することが必要である。しかしながら、特許文献1の表示方法では、帳票画像上で認識対象となった領域が太線枠で示されるだけである。したがって、ユーザは、認識結果が帳票画像上のどの領域に対応するのかを探し、さらに、その領域はどの項目名に対応するのかを帳票画像上で目視で確認する必要があり、確認作業に手間と時間を要する。また、特許文献2の表示方法では、文字認識結果に対応する文字イメージを確認することは容易であるが、その文字イメージが正しい項目名に対応するかどうかを確認するためには、帳票画像を別途表示させて確認する必要があり、確認作業に手間と時間を要する。
【0007】
本発明は、このような問題に鑑みてなされたものであり、帳票画像から抽出された項目値の確認作業を容易にすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の一実施形態におけるデータ入力支援装置は、画像に対する文字認識処理により得られる複数の文字列を取得する取得手段と、確認画面を表示する表示手段とを有し、前記確認画面は、前記画像の全体または一部を表示する第一の表示領域と、所定項目に対応付けて、前記複数の文字列の中から1つの文字列を表示する第二の表示領域と、前記所定項目に対応付けて、前記画像の部分画像であって、前記所定項目に対応する文字列の項目名を含む複数の部分画像を表示する第三の表示領域と、を含み、前記第二の表示領域において前記所定項目に対応付けて前記1つの文字列を表示するために、前記第三の表示領域において、前記所定項目に対応する文字列の項目名を含む前記複数の部分画像の中から1つの部分画像の選択をユーザから受け付ける、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、帳票画像から抽出された項目値の確認作業を容易にすることができる。
【図面の簡単な説明】
【0010】
【
図1】データ入力支援装置のハードウェア構成を示す図である。
【
図2】データ入力支援装置の表示部105及び入力部106を実現するUIを示す図である。
【
図3】データ入力支援装置のソフトウェア構成を示す図である。
【
図5】帳票画像400を対象に得られる検出結果501を示す図である。
【
図6】データ入力支援装置による処理フローを示すフローチャートである。
【
図7】S604で生成される確認画面700を示す図である。
【
図8】下位候補表示ボタン705cを押下して表示される項目種類「電話番号」に対応する項目情報を表す図である。
【
図9】項目画像を表示する処理フローを示すフローチャートである。
【
図10】S903における項目画像作成処理のフローチャートである。
【
図11】S1005における部分画像作成処理のフローチャートである。
【
図12】部分画像作成処理の具体的な動作を説明する図である。
【
図13】俯瞰画像の更新処理に関するフローチャートである。
【
図14】確認画面700において項目画像704baが選択されて表示される画面を表す図である。
【
図15】俯瞰画像の表示領域が変更された状態を説明する図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するため必須の手段であるとは限らない。また、本発明は、以下の実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0012】
本実施形態では、帳票画像400を対象として抽出される項目名及び項目値を表示するデータ入力支援装置について説明する。
【0013】
<第1の実施形態>
[ハードウェア構成]
図1は、第1の実施形態に係るデータ入力支援装置のハードウェア構成を示す図である。データ入力支援装置100は、制御部101と、ROM102と、RAM103と、HDD104と、表示部105と、入力部106と、スキャナ107とを有する。
【0014】
制御部101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。制御部101は、1または複数のCPU(中央演算装置)とすることができる。RAM103は、制御部101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、各種データや各種プログラム等を記憶する。なお、後述するデータ入力支援装置100の機能や処理は、制御部101がROM102またはHDD104に格納されているプログラムを読み出し、このプログラムを実行することにより実現される。
【0015】
表示部105は、各種情報を表示する表示装置である。入力部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部105と入力部106は、タッチパネルのように一体に設けられてもよい。また、表示部105は、プロジェクタによる投影を行うものであってもよく、入力部106は、投影された画像に対する指先の位置を、カメラで認識するものであってもよい。
【0016】
スキャナ107は、紙面を読み取ってスキャン画像を生成する。なお、スキャナ107は、接触型スキャナに限らず、書画カメラやスマートフォンを非接触型スキャナとして用いてもよい。
【0017】
本実施形態においては、スキャナ107が帳票等の紙文書を読み取って帳票画像を生成し、当該画像をHDD104などの記憶装置に記憶する。
【0018】
[UI(ユーザインタフェース)]
図2は、本実施形態におけるデータ入力支援装置100の表示部105及び入力部106を実現するUI(User Interface)を示す図である。操作パネル201は、表示部105を実現する。操作パネル201はタッチパネル202及びテンキー203を備える。タッチパネル202は、ログイン中のユーザIDや、メインメニューなどを表示する。
【0019】
本実施形態において、UIは処理対象の帳票画像或いは情報抽出結果等をユーザに提供するための一手段であり、タッチパネル202上で提供される。なお、UIはタッチパネルに限定されず、PC(パーソナルコンピュータ)に接続されたディスプレイを用いて実行してもよい。
【0020】
[ソフトウェア構成]
図3は、本実施形態におけるデータ入力支援装置100のソフトウェア構成を示す図である。データ入力支援装置100は、各種のモジュール(301~310)を含む。該モジュールを実現するプログラムは、ROM102またはHDD104に記憶される。
【0021】
制御部301は、プログラムを実行し、各種モジュールに対する指示、及び管理を行う。
【0022】
表示部302は、制御部301からの指示に従い、上述したUI、及び各種の処理結果を表示部105に提供する。
【0023】
入力部303は、ユーザの操作を受け付ける。
【0024】
記憶部304は、プログラム、及びプログラムが管理するその他の情報をROM102またはHDD104に記憶する。
【0025】
文字認識部305は、帳票画像に含まれる文字あるいは文字列の、座標及び文字種を特定する。
【0026】
項目情報抽出部306は、帳票画像からデータ入力業務の対象となる項目を項目情報として抽出する。項目情報抽出部306は、さらにサブモジュール(307~310)を有する。
【0027】
項目値領域検出部307は、帳票画像からデータ入力業務の対象データとなる文字列を含む領域を、項目値領域として検出する。
【0028】
項目名領域検出部308は、帳票画像から項目値の名称を表す文字列を含む領域を、項目名領域として検出する。
【0029】
項目値取得部309は、文字認識部305により得られる項目値領域の文字列を、項目値として取得する。
【0030】
項目名取得部310は、文字認識部305により得られる項目名領域の文字列を、項目名として取得する。
【0031】
項目値領域、項目名領域、項目値、及び項目名は、特許文献1で開示される方法等の公知の方法で取得できる。
【0032】
なお、文字認識部305は、帳票画像全体の文字列を対象とする必要はなく、項目値取得部309及び項目名取得部310で必要な文字列が認識されればよい。例えば、文字候補領域を抽出後、該領域の位置、サイズ、領域間のレイアウト等に基づき該領域が項目名値ではないと判定した場合、該領域は文字種を特定しない。そうすることで、計算量を軽減できる。
【0033】
[項目検出結果]
図4は、本実施形態における帳票画像400を示す図である。
図5は、帳票画像400から項目情報抽出部306が抽出した検出結果501を示す図である。検出結果501は、複数の項目情報(
図5における各行)を有する。さらに項目情報は、項目種類、順位、項目値、複数の項目名、正規形、及び項目値及び項目名毎に不図示の領域情報(領域の頂点座標)を有する。
図4における領域401~408は、それぞれ
図5におけるNo.1~8の項目値に対応する領域である。同様に領域402a、403a、404a~b、405a~b、406a~b、407a、408aは、No.2~6の各項目名に対応する領域である。またNo.7の項目名2は領域405bに対応し、No.8の項目名2は領域406bに対応する。
【0034】
項目種類は、抽出された項目情報の種類を表す。検出結果501では「発行日」項目、「請求金額」項目、「電話番号」項目の3種類が検出されている。順位は、該項目情報が同種の項目種類の中で正しく該項目種類である確率の高さに基づき決まる。項目値は、該項目情報が表す項目値であり、帳票画像に含まれる文字列である。項目名は、項目種類に対応する文字列である。例えば検出結果501の「請求金額」項目に対応する項目名として「合計金額」、「合計」、「価格」が検出されている。正規形は、項目種類毎に決められた書式に項目値を適用することで正規化された文字列である。例えば「発行日」項目は「YYYYMMDD」の書式を正規形とし、検出結果501におけるNo.1では「2019年3月8日」が「20190308」に変換された文字列を正規形とする。同様に、「請求金額」項目では「小数点以下2桁の実数」を正規形として変換され、「電話番号」項目は「数字のみで構成される文字列」を正規形として変換される。これにより、帳票毎の項目値の表記の揺れを吸収する。
【0035】
[処理フロー]
次に、本実施形態の処理フローについて、
図6のフローチャートを用いて説明する。
【0036】
フローチャートで示される一連の処理は、データ入力支援装置100の制御部101がROM102またはHDD104に格納されているプログラムを読み出し、RAM103に展開して実行することにより行われる。あるいはまた、フローチャートにおけるステップの一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。フローチャートの説明における記号「S」は、当該フローチャートにおける「ステップ」を意味する。その他のフローチャートについても同様である。
【0037】
まず、S601で、制御部301は、RAM103またはHDD104に記憶された帳票画像400を取得する。
【0038】
次に、S602で、文字認識部305は、帳票画像400を対象に文字認識処理を行う。これにより帳票画像400中の各文字列領域及び文字種が認識結果として得られる。
【0039】
次に、S603で、項目情報抽出部306は、文字認識結果に基づき、帳票画像400から項目情報を抽出する。これにより検出結果501が得られる。
【0040】
次に、S604で、表示部302は、帳票画像400及び検出結果501をユーザに提示し、該検出結果を確認及び修正するための確認画面を生成し表示する。該処理については
図7以降を用いて後述する。
【0041】
次に、S605で、入力部303は、ユーザ操作を取得する。ここでユーザは検出結果501の確認及び修正を行う。ユーザの入力内容に基づき、確認及び修正が終了したらS607に遷移し、そうでなければS606に遷移し確認画面を更新してS605に戻り、再度ユーザ入力の受付を行う。
【0042】
最後にS607で、制御部301は、ユーザによる確認及び修正が完了した項目情報を不図示の外部システムに送信し、処理を終了する。
【0043】
[確認画面]
図7は、上記S604で生成される確認画面700を示す図である。確認画面700はユーザに対して検出結果501の内容を提示する。ユーザは、該画面で項目値が正しい領域から検出されているか、また正しい値が抽出されているかの確認を行い、誤りがあればその修正を行う。確認画面700は、俯瞰画像701、項目種類テキスト702a~c、項目値テキスト703a~c、項目画像704a~c、下位候補表示ボタン705a、705c、終了ボタン710を含む。項目画像704bは、さらに項目画像704ba、704bbを有する。
【0044】
俯瞰画像701は、帳票画像400に対して、検出結果501の順位1の各項目情報(No.1、No.3、No.5)に対応する領域401、403、403a、405、405a、405bをハイライト表示した画像である。項目値に関する領域401、403、405と、項目名に関する領域403a、405a、405bとが、それぞれ区別できるようにハイライト表示される。ユーザは俯瞰画像701上でスワイプ操作やピンチイン・ピンチアウト操作を行うことで、俯瞰画像701の表示位置や表示倍率の変更が可能である。
【0045】
項目種類テキスト702a~cは、
図6におけるS607で外部システムに送信される項目種類の名称を表示する。確認画面700では、項目種類テキスト702aに「発行日」、項目種類テキスト702bに「請求金額」、項目種類テキスト702cに「電話番号」が表示されている。
【0046】
項目値テキスト703a~cは、俯瞰画像701にハイライト表示された領域に対応する項目値が表示されるテキストエリアである。各テキストエリアはユーザ入力が可能であり、ユーザは、文字認識結果に誤りがある場合にはここで修正を行う。
【0047】
項目画像704a~cは、俯瞰画像701にハイライト表示された領域に対応する項目名領域および項目値領域から作成される画像である。項目画像の作成方法については、
図9~12を用いて後述する。各項目画像は上記S605にてユーザによる選択が可能である。項目画像が選択されると、該項目画像に対応する項目情報から項目値テキストが取得され表示される。さらに上記項目情報から項目名領域及び項目値領域が取得され、俯瞰画像701が該領域の位置をハイライトする表示に更新される。俯瞰画像701の更新に関する詳細は
図13を用いて後述する。
【0048】
下位候補表示ボタン705a、705cは、それぞれ対応する項目種類の下位候補を表示するためのボタンである。下位候補表示ボタン705aは項目種類「発行日」に対応し、下位候補表示ボタン705cは項目種類「電話番号」に対応する。下位候補表示ボタン705c押下時の動作については
図8を用いて後述する。
【0049】
終了ボタン710は、確認画面700を終了するためのボタンである。確認画面700による検出結果501の結果の確認及び修正が完了した後、ユーザは該ボタンを押下し確認を終了する。
【0050】
図8は、下位候補表示ボタン705cを押下して表示される項目種類「電話番号」に対応する項目情報を表す図である。確認画面700で下位候補表示ボタン705cを押下すると、検出結果501において項目種類「電話番号」の項目情報が全て表示される。部分画像704ca~704cdは、検出結果501におけるNo.5~8の項目情報に対応する項目名領域、及び項目値領域を含む画像である。これらの画像は
図7の項目画像704a~cと同様に各々選択可能であり、選択に応じて確認画面700は更新される。なお、下位候補表示ボタン705aを押下すると、項目種類「電話番号」の場合と同様に、項目種類が「発行日」である項目情報の部分画像が全て表示される。
【0051】
[項目画像の表示]
次に、
図9のフローチャートを用いて、上記項目画像を表示する処理フローについて説明する。なお、ここでは検出結果501を対象として、
図7の各項目画像704a~c、及び
図8の部分画像704ca~cdを表示するフローを説明する。
【0052】
S901からS906までの処理は、項目種類毎(「発行日」、「請求金額」、「電話番号」)に実施される。
【0053】
まずS902~S904において、表示部302は、項目情報毎に項目画像を作成する。S903における項目画像作成の処理フローは
図10を用いて後述する。例えば項目種類「請求金額」については、
図7に示すように、項目情報No.3の項目画像704ba及びNo.4の項目画像704bbが作成される。
【0054】
次にS905において、表示部302は、作成された同種の項目画像に対して、正規形が同じ候補をグループ化する。項目種類「請求金額」については、No.3及びNo.4の正規形が一致するためグループ化され、項目画像704bが作成される。
【0055】
上記処理の終了後、S907において、表示部302は、作成された項目画像を確認画面700上に表示し、本処理フローは終了する。
【0056】
図10は、上記S903における項目画像作成の処理フローを示す図である。ここでは検出結果501における項目情報No.5を入力した場合を例に説明する。
【0057】
まずS1001からS1004の処理がi=1~Nまで繰り返される。ここでNは、入力される項目情報と同種の項目情報が有する最大項目名数とする。No.5が入力の場合、項目種類は「電話番号」であり、その最大項目名数は2となる。
【0058】
S1002では、表示部302は、項目名のi個の集合Vを準備する。ここで集合V=[v_1,・・・,v_M]とし、集合Vの要素v_j=[項目名1(j),・・・,項目名i(j)]と定義する。なお、Mは同項目種類における項目情報数、項目名i(j)は順位jの項目名iとする。項目種類「電話番号」においてはM=4である。また初回のループではi=1であり、V=[[TEL],[TEL],[FAX],[FAX]]となる。
【0059】
S1003では、表示部302は、Vの要素に重複があるかどうか判定する。本実施形態では、重複判定は「2つの要素v_a、v_bについて「x=1~i全てで「v_axとv_bxに包含関係がある」」なら真」を返す関数により行う。該関数によれば、Vの要素間で重複がある([TEL]及び[FAX]がそれぞれ重複する)ので、S1004に遷移する。
【0060】
S1004ではiをインクリメントしS1001へ遷移する。以上の処理をi=Nまで繰り返す。
【0061】
No.5を入力としたi=2のループでは、S1002における集合Vは[[TEL,本社],[TEL,営業所],[FAX,本社],[FAX,営業所]]となる。該集合Vに対してS1003では重複はないと判定される。具体的には、v_1=[TEL,本社]とv_2=[TEL,営業所]を比較すると、v_11=「TEL」とv_21=「TEL」は包含関係がある(完全一致する)が、v_12=「本社」とv_22=「営業所」は包含関係がない。したがって、v_1とv_2は重複しない。同様にv_1、v_2、v_3、v_4間の全ての組み合わせについて重複がないため、S1003からループを抜けてS1005へ遷移する。
【0062】
S1005では、表示部302は、項目値領域及び項目名1~i領域を有する部分画像を作成し、これを項目画像として取得する。項目情報No.5においてはi=2であり、項目値、項目名1、項目名2を含む部分画像が作成され、これにより項目画像704cが取得される。S1005の処理の詳細は、
図11を用いて後述する。
【0063】
図10に示す処理フローでは、項目情報間で区別可能な粒度の項目名のみを含む項目画像を作成する。例えば検出結果501の項目種類「電話番号」では項目名1及び2が含まれるが、仮にNo.6及びNo.8が検出されず、No.5及びNo.7のみが検出された場合、項目画像に含まれるのは項目値領域及び項目名1領域のみとなる。
【0064】
図11は、上記S1005における部分画像作成の処理フローを説明する図である。
【0065】
まず、S1101において、表示部302は、RAM103またはHDD104に記憶された帳票画像を取得する。
【0066】
次に、S1102において、表示部302は、項目値領域を取得しこれをRとする。項目値領域Rは、帳票画像中の矩形領域であり、矩形の4頂点の座標を有する。
【0067】
次に、S1103からS1110までの処理をn回繰り返す。ここでnは、入力される項目情報が有する項目名数である。
【0068】
S1104では、表示部302は、項目名iの領域を取得しこれをSとする。
【0069】
次にS1105において、表示部302は、領域Rと領域S間のy方向距離distY(R,S)を取得し、これが所定の値Tyより大であるか否かの判定をする。distY(R,S)は、両領域をy軸上に射影した際に重複があれば距離0とし、重複が無ければ両領域間の距離を得る関数とする。Tyは例えば10ピクセルとする。
【0070】
S1105においてy方向距離がTyより大である場合、S1106に遷移し、領域Rと領域S間の距離を小さくするように画像に対して圧縮処理を行いS1107へ遷移する。該処理の詳細は
図12で具体例を用いて説明する。S1105において距離がTy以下である場合は、S1106はスキップされ、S1107へ遷移する。
【0071】
S1107及びS1108は、上記S1105及びS1106と同様の処理をx方向に対して適用する。Txは例えば20ピクセルとする。
【0072】
S1109では、表示部302は、項目値領域Rを、画像圧縮後の座標系における上記領域Rと上記領域Sの外接矩形として更新する。
【0073】
S1110では、表示部302は、iをインクリメントし、S1104へ遷移する。
【0074】
最後に、S1111で表示部302は領域Rをトリミングし、新たな画像を作成し、部分画像として出力し終了する。
【0075】
続いて、
図12を用いて
図11に示した部分画像作成フローの具体的な動作を説明する。
図12では次の項目情報の入力を想定している。項目種類「請求金額」、項目値「11,286」、項目名1「合計」、項目名2「価格」である。
【0076】
図12(a)は、説明のため帳票画像の一部をトリミングした画像を示す。領域1201は項目値「11,286」に対応する領域であり、領域1202は項目名1「合計」に対応する領域であり、領域1203は項目名2「価格」に対応する領域である。
図12(b)では、領域1201の左辺の延長線上を線1201L、領域1202の右辺の延長線上を線1202Rで示し、同様に領域1203についても左右の辺の延長線を線1203L、Rで表している。
【0077】
まず上記S1102において表示部302は領域R=項目名領域を取得する。
図12(a)において、領域Rは領域1201である。次にS1104で表示部302は領域S=項目名1領域を取得する。
図12(a)において領域Sは領域1202である。次にS1105において、表示部302は領域Rと領域Sのy方向距離を取得し、閾値Tyより大であるか判定する。領域1201と領域1202は、y軸上で重複があるためy方向距離は0であり、S1106はスキップされる。次にS1107において、表示部302は両領域のx方向距離を取得し、Txより大であるか判定する。x方向距離は
図12(b)における線1201Lと線1202R間の距離である。ここでは該距離がTxより大であるものとし、S1108へ遷移し、x方向圧縮処理を適用する。x方向圧縮処理は、両領域間の画像を除去することで実現する。ただし、除去される領域に他の項目名領域があれば、該領域は残すように除去する。ここでは除去対象領域である線1202Rと線1201Lの間に領域1203が含まれるため、線1202Rと線1203Lの間、及び線1203Rと線1201Lの間が除去される。これにより作成される画像を
図12(c)に示す。なお、ここでは領域間の画像を除去する際に、各領域の近傍に一定サイズの余白を持たせている。続いてS1109で、新たに作成された画像内の上記領域Rと領域Sの外接矩形領域を新たに領域Rとして更新する。
図12(c)において、更新後の領域Rは領域1204となる。
【0078】
上記処理の終了後、i=2としてS1104から2回目の処理を行う。2回目のS1104では、領域Sは項目名2の領域1205となる。続いてS1105でy方向距離を判定する。y方向距離は
図12(d)における線1204Tと線1205B間の距離となる。該距離は閾値Tyより大きいものとし、S1106で表示部302はy方向圧縮処理を行う。該処理では上記x方向圧縮処理と同様の処理をy方向に対して行う。領域1204と領域1205の間には他の項目名領域が無いため、両領域間を除去すればよい。S1107では同様にx方向距離を判定するが、領域1204と領域1205はx軸上で重複し、距離0であるためx方向圧縮処理は行われない。
【0079】
以上の処理により作成される部分画像を
図12(e)に示す。なお、
図12(c)、(e)では、圧縮されたことをユーザに明示するためのマーカー1206~1208を示す。該マーカーにより画像が除去された領域がユーザにわかりやすくなる。
【0080】
[項目画像選択時の俯瞰画像更新]
確認画面700において、各項目画像はユーザが選択することが可能である。項目画像が選択されると、俯瞰画像701は該項目画像に対応する項目名領域、及び項目値領域がハイライト表示された画像に更新される。
図13は俯瞰画像701の更新処理に関する処理フローである。
【0081】
まずS1301において、表示部302は帳票画像を取得する。
【0082】
次にS1302において、表示部302はユーザによって選択された項目画像に対応する項目値領域、及び項目名領域を取得する。
【0083】
続いて、S1303において、表示部302は取得された上記領域の外接矩形を取得する。
【0084】
続いて、S1304において、表示部302は点Pを上記外接矩形の中心座標として取得する。
【0085】
続いて、S1305において、表示部302は倍率Scaleを[表示文字サイズ]/[最小文字高さ]として計算する。[表示文字サイズ]は事前に設定されたパラメータであり、[最小文字高さ]はS1302で取得した各領域の文字高さの最小値である。これにより、帳票画像をScale倍すると各領域の高さは[表示文字サイズ]ピクセル以上となる。
【0086】
続いて、S1306において、表示部302は[外接矩形サイズ×Scale]が俯瞰画像表示エリアのサイズよりも大きいか否か判定する。ここで外接矩形サイズとはS1303で取得された外接矩形の幅及び高さであり、俯瞰画像表示エリアとは確認画面700において俯瞰画像701を表示する領域の幅及び高さとする。幅、あるいは高さのいずれかが条件を満たせばS1306は真としてS1307に遷移し、偽であればS1308に遷移する。
【0087】
上記S1306が真の場合、S1307で表示部302は、上記S1304で取得した点Pを項目名領域の中心座標に更新し、さらに上記S1305で取得したScaleを[表示文字サイズ]/[項目値領域高さ]に更新する。
【0088】
続いてS1308において、表示部302は、帳票画像をScale倍した画像を、点Pを中心として上記俯瞰画像表示エリアのサイズにトリミングして、トリミング画像を作成する。仮にS1306が偽であった場合、上記トリミング画像には上記S1302で取得した全領域が含まれ、その中心が画像中心となる。一方、S1306が真であった場合、上記トリミング画像は項目名領域を中心とした画像となる。
【0089】
続いて、S1309において、表示部302は上記トリミング画像において、上記領域をハイライト表示する。
【0090】
最後に、S1310において、表示部302は上記トリミング画像を俯瞰画像表示エリアに表示し、処理フローを終了する。
【0091】
なお、
図13には不図示であるが、S1307の次に、さらにScale×[項目名領域の幅]が上記俯瞰画像表示エリアの幅よりも大きければ、項目名領域が該表示エリアの幅以下になるようにScaleを調整してもよい。
【0092】
図14は、確認画面700において項目画像704baが選択されて表示される画面を表した図である。ここでは、項目画像704baが選択されたことをハイライト表示する枠1401が描画され、
図13に示した処理フローで更新された俯瞰画像1402が表示されている。俯瞰画像1402は選択された項目画像に対応する項目値領域1403a及び項目名領域1403bが所定のサイズで表示される倍率に拡大され、また両領域がハイライト表示されることで各領域が視認しやすくなっている。
【0093】
[俯瞰画像外の項目領域表示]
前述のように確認画面700においてユーザ操作を行うことで、俯瞰画像701の表示画像位置、あるいは表示倍率を変更することが可能である。この際、
図14に示した俯瞰画像1402に対して同操作を行うと、ハイライト表示された選択中の項目名領域及び項目値領域が画像外に出てしまう場合がある。このように、選択された項目名領域あるいは項目値領域が画像外にある場合には、該領域を俯瞰画像上でハイライト表示する。
【0094】
図15は、確認画面700において項目画像704bbが選択された状態で、俯瞰画像の表示領域が変更された状態を説明する図である。帳票画像400に対して領域1501が俯瞰画像の領域として指定され、該領域が切り出されて俯瞰画像1503が作成される。俯瞰画像1503において、選択済みの項目画像704bbに対応する領域404及び領域404aは領域1501に内包されるため、
図14の領域1403a及び領域1403bと同様に項目値領域1504及び項目名領域1505としてハイライト表示される。一方で領域404bは領域1501の外側にある。そこで、領域1501の中心と領域404bの中心とを結ぶ直線と、領域1501の交点1502を求め、俯瞰画像1503上で交点1502に対応する点1507上(すなわち、俯瞰画像1503の枠上)に、ポップアップ画像1506を重畳する。ポップアップ画像1506は、領域404bを切り出した画像から作成する。
【0095】
以上説明したように、本実施形態によると、帳票画像から抽出された項目値に対応する項目名を合わせて表示することにより、抽出された項目値の確認作業が容易になる。
【0096】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。