以下、図面を参照して本発明の実施形態を詳細に説明する。
図1に示すように、本実施形態に帳票システム100は、情報処理装置101及びサーバ102が、ネットワーク103により通信可能に接続された構成をとる。
情報処理装置101は、カメラ等を用いて帳票の画像(以下、撮像画像)を取り込み、記入不備チェックを行う。情報処理装置101は、撮像画像の記入不備チェックするために必要な、記入内容の認識領域と記入種別を帳票フォーム識別情報(以下、フォームIDと記す)毎に管理している。
なお、この実施形態においては、情報処理装置101において記入不備チェックを行うとしたが、これに限定するものではなく、情報処理装置101がサーバ102へ撮像画像を送信し、サーバ102において記入不備チェックを行うとしてもよい。
情報処理装置101は、携帯電話、スマートフォン、タブレット端末、ノートPC、及びPDA端末などの持ち運び可能な端末であって、ブラウザ又は帳票システムのアプリケーションがインストールされており、無線通信によりネットワーク103を介して、サーバ102と通信可能である。
以下、図2を用いて、図1に示した情報処理装置101に適用可能なハードウエア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ212には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ212からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、タッチセンサ210からの入力を制御する。206はビデオコントローラで、ディスプレイ211等の表示器への表示を制御する。なお、図2では、ディスプレイ211と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて情報処理装置101のユーザが使用するものである。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ212へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク103を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ211上での表示を可能としている。また、CPU201は、ディスプレイ211上のタッチセンサ210におけるユーザのタッチ操作指示を受付けることを可能とする。
本発明を実現するための後述する各種プログラムや各種テーブルは、外部メモリ212に記録されており、必要に応じてRAM202にロードされ、CPU201によって実行されるものである。
209は撮像画像入力コントローラで、撮像画像入力処理部214を介してカメラ215からの入力を制御する。カメラ215から入力された撮像画像を認識し、撮像することが可能となっている。
図3は、情報処理装置101の機能構成の一例を示すブロック図である。
取込部301は、撮像装置を用いてオブジェクトを撮像することにより電子データとして取込む機能部である。
項目管理部302は、取込部301により取込まれた電子データから値を読取る項目の識別情報を管理する機能部である。
読取部303は、当該電子データから管理手段により管理されている項目に対応する値を読取る機能部である。
位置情報管理部304は、項目管理部302により管理されている項目のうち読取部303により値を読取られていない項目の位置情報を管理する機能部である。
表示部305は、位置情報管理部304により管理されている位置情報に基づき、読取部303により値を読取られていない項目の位置を示す表示をする機能部である。
表示部305は、項目管理部302により管理されている項目のうち読取部303により値を読取られていない項目が存在する方向を示す情報を表示する機能部である。
条件管理部306は、読取部303により読取られた項目に対応する値が正常又は異常を判定する条件を管理する機能部である。
判定部307は、条件管理部306により管理されている条件に基づき、読取部303により読取られた項目に対応する値が正常又は異常を判定する機能部である。
表示部305は、項目管理部302により管理されている項目のうち判定部307により異常と判定された項目の位置を示す表示をする機能部である。
オブジェクト識別情報特定部308は、取込部301により取込まれた電子データから、オブジェクトを識別する識別情報を特定する機能部である。
項目決定部309は、オブジェクト識別情報特定部308により特定されたオブジェクトの識別情報に基づき、項目管理部302により電子データから値を読取る項目を決定する機能部である。
図4は、情報処理装置101における記入不備チェック処理の一例を示すフローチャートである。
また、図11は、情報処理装置101において帳票フォームを管理するテーブルの一例を示す図である。フォームテーブル1100は、サーバ102の外部メモリ212に記憶され、サーバ102で管理する帳票フォームについて、「フォームID」「フォーム名」「フォーム画像のファイル名」を管理する。
フォームテーブル1100のレコードは、帳票システム100のシステム管理者が登録し、システム管理者がメンテナンス画面(不図示)を用いてメンテナンスを行い、サーバ102に記憶しておき、情報処理装置101は、定期的、帳票アプリケーションの起動時、情報処理装置101のユーザからの要求等に従って、メンテナンスされたフォームテーブル1100に含まれるレコードを取得し、情報処理装置101の外部メモリ212に記憶しておく。
なお、フォームテーブル1100のメンテナンスとは、例えば、帳票フォームを新規作成する場合にフォームテーブル1100に新規レコードを登録する、帳票のレイアウト変更や文言変更によって「フォーム名」「フォーム画像のファイル名」等が変更された場合にフォームテーブル1100のフォーム画像の値を新しいフォーム画像ファイルに更新する等を意味する。
図4の記入不備チェック処理について、説明する。
ステップS401において、情報処理装置101は、帳票システムのユーザによって行われる帳票システムへのログインを受け付ける。なお、この記入不備チェック処理において、ユーザインターフェースとなる帳票アプリケーションは、情報処理装置101にインストールされたアプリケーションであってもよいし、ブラウザに表示されるWebアプリケーションなどのアプリケーションであってもよい。
ステップS402において、情報処理装置101は、記入済帳票を撮像するモードの選択を受け付ける(不図示)。本実施形態における撮像モードとは、「全体撮像(静止画)」「部分撮像(動画)」である。「全体撮像(静止画)」モードの選択を受け付けた場合はステップS403に進み、「部分撮像(動画)」モードの選択を受け付けた場合はステップS411に進む。ここでは、本実施形態における撮像モードについて説明しておく。
「全体撮像(静止画)」は、記入済帳票の全体を静止画で撮像するモードである。静止画で撮像するため解像度が高く、文字認識及びチェック処理を正確に行え、一度の撮像で多くの文字認識及びチェック処理をまとめてすることができるというメリットがある。
「部分撮像(動画)」は、記入済帳票の一部を撮像しながら、その撮像画像をリアルタイムに文字認識及びチェック処理を行うモードである。このモードは、「全体撮像(静止画)」のように情報処理装置101を撮像時ぶれないよう固定したり、枠内に帳票全体が収まるよう調整したりする必要がなく、文字認識及びチェック処理の正常・異常を即時に把握でき、「全体撮像(静止画)」と比較して、より気軽に且つより効率的に文字認識及びチェックを行うことができる。特に、複数の項目の記入内容の文字認識及びチェック処理をリアルタイムに続けて行いたい場合は、連続して即時に正常・異常を把握できるため、「全体撮像(静止画)」に比べてメリットが大きい。また、帳票の一部分を拡大して撮像するため、静止画よりも解像度が低いというデメリットは大きな問題にはならない。しかし、情報処理装置101を動かしながら撮像するため、画像のぶれや動かす速度によっては、文字認識及びチェック処理を正確に行えないため、適切な拡大及び適切な速度で情報処理装置101を動かす必要がある。
なお、この実施形態においては、「部分撮像(動画)」は、動画撮像することによって文字認識及びチェック処理を行うとしたが、撮像した動画を記憶することは必須ではなく、例えば、カメラ215が捉えた画像を外部メモリ212に記憶せず、当該画像に基づいて、認識領域がガイド枠内に収まったと判定したこと、認識項目の項目名や識別情報が認識されたこと等をトリガーにして、リアルタイムに当該画像を解析して、文字認識及びチェック処理を行う方法であってもよい。また、カメラ215が捉えた画像を上記トリガーに応じて自動で静止画撮像し、その静止画を解析して、文字認識及びチェック処理を行う等の方法であってもよい。
なお、本実施形態においては、撮像モードとは「全体撮像(静止画)」「部分撮像(動画)」の2つに限定したが、これらに限定するものではなく、「部分撮像(静止画)」や「全体撮像→部分撮像(動画)」等、他のモードがあってもよい。
ステップS403において、情報処理装置101は、カメラ215を用いて記入不備チェックを行う記入済帳票の全体を撮像し、撮像された静止画像(以下、撮像画像)(図7)を外部メモリ212に記憶する。すなわち、ステップS403は、撮像装置を用いてオブジェクトを撮像することにより電子データとして取込む処理の一例を示すステップである。なお、この実施形態においては、情報処理装置101のカメラ215を用いて撮像画像を得るとしたが、デジタルカメラ等を用いて撮像された画像やスキャナーなどを用いてスキャンされた画像を情報処理装置101に取り込む等の方法であってもよい。
ステップS404において、情報処理装置101は、撮像画像から撮像した帳票のフォームIDを特定する。すなわち、ステップS404は、取込まれた電子データから、オブジェクトを識別する識別情報を特定する処理の一例を示すステップである。
具体的には、フォームテーブル1100の全レコードを検索し、「フォーム画像」カラムに記憶されているファイルパスを用いて外部メモリ212から取り出したフォーム画像と撮像画像とを比較することで、記入不備チェックを行う帳票フォームのフォームIDを特定する。外部メモリ212から取り出したフォーム画像と撮像画像を比較し、所定の値以上の割合で画像が一致した場合、撮像画像はフォーム画像に対応する帳票フォームであると判定し、撮像した帳票のフォームIDは、一致したフォーム画像に対応するフォームIDであると特定する。本実施例においては、撮像画像からフォームID=FORM01の「ショッピングクレジット申込書」が特定されたとする。
なお、この画像比較に用いる2つの画像は未加工のまま画像を比較してもよいし、画像比較の精度を上げるために、輪郭を抽出するなどの画像加工を施した後に画像比較を行うとしてもよい。
なお、この実施形態においては、撮像画像とサーバ102で管理するフォーム画像とを比較することで、記入不備チェックを行う帳票フォームの特定を行ったが、この方法に限定するものではなく、フォームIDを示すバーコードや番号を帳票に記しておき、撮像時の読み取り又は撮像画像の解析から帳票のフォームIDを特定する方法などであってもよい。
ステップS405において、情報処理装置101は、全体記入不備チェック処理(図5)を行う。すなわち、ステップS405は、管理されている条件に基づき、読取られた項目に対応する値が正常又は異常を判定する処理の一例を示すステップである。
ここで、図5について説明しておく。
図5は、情報処理装置101における全体記入不備チェック処理の一例を示すフローチャートである。
また、図12は、情報処理装置101においてフォームごとの記入不備チェック認識領域及びチェック方法を管理するフォーム定義テーブルの一例を示す図である。フォーム定義テーブル1200は、サーバ102の外部メモリ212に記憶され、「フォームID」「(複数の認識領域をまとめたグループを識別する)グループID」「(記入不備チェックにおいて認識領域を識別する)チェックID」「フォーム名」「(記入不備チェックの)記入種別」「(認識領域の)起点座標(X、Y))」と「終点座標(X、Y)」を管理する。
すなわち、フォーム定義テーブル1200は、取込まれた電子データから値を読取る項目の識別情報を管理する手段の一例である。また、フォーム定義テーブル1200は、読取られた項目に対応する値が正常又は異常を判定する条件を管理する手段の一例である。
フォーム定義テーブル1200のレコードは、帳票システム100のシステム管理者が登録し、システム管理者がメンテナンス画面(不図示)を用いてメンテナンスを行い、サーバ102に記憶しておき、情報処理装置101は、定期的、帳票アプリケーションの起動時、情報処理装置101のユーザからの要求等に従って、メンテナンスされたフォーム定義テーブル1200に含まれるレコードを取得し、情報処理装置101の外部メモリ212に記憶しておく。
なお、フォーム定義テーブル1200のメンテナンスとは、例えば、帳票フォームを新規作成する場合にフォーム定義テーブル1200に新規レコードを登録する、帳票のレイアウト変更、フォーム要件変更によって「フォーム名」「記入種別」「認識領域座標」等が変更された場合にフォーム定義テーブル1200の各レコードの値を更新する等を意味する。
なお、本実施形態においては、フォーム定義テーブル1200に認識領域の座標の値を持つとしたが、これに限定するものではなく、撮像画像に含まれる帳票の枠、帳票用紙の座標を識別するドットパターン又は印刷文字等の読取項目を識別する識別情報の値を持ち、その値に基づき読取項目の認識領域を決定する等の方法であってもよい。
なお、この実施形態においては、サーバ102においてフォームテーブル1100及びフォーム定義テーブル1200を管理し、サーバ102からそのデータを取得し、情報処理装置101においてフォームテーブル1100及びフォーム定義テーブル1200を管理し、そのテーブルを用いて情報処理装置101において記入不備チェックを行うとしたが、この方法に限定するものではなく、情報処理装置101がサーバ102に撮像画像を送信し、サーバ102が管理するフォームテーブル1100及びフォーム定義テーブル1200を用いて、サーバ102において記入不備チェックを行い、そのチェック結果を情報処理装置101に送信し、情報処理装置101がチェック結果を表示するとしてもよい。
図5の全体記入不備チェック処理について説明する。
ステップS501において、情報処理装置101は、ステップS404にて特定された「フォームID」を検索キーとして、フォーム定義テーブル1200を検索し、フォーム定義情報リストを取得する。
ステップS502において、情報処理装置101は、変数iに1を代入し、RAM202に記憶する。
ステップS503において、情報処理装置101は、ステップS501にて取得したフォーム定義情報リストのレコード数だけ、ステップS504〜ステップS509を繰り返す。
ステップS504において、情報処理装置101は、フォーム定義情報リストのi番目のレコードから、認識領域の起点(X座標、Y座標)と終点(X座標、Y座標)と必須要件・記入種別を取得する。
ステップS505において、情報処理装置101は、ステップS504にて取得した必須要件=“○(必須)”の場合はステップS506に進み、必須要件=“NULL(必須でない)”の場合はステップS507に進む。
ステップS506において、情報処理装置101は、撮像画像の認識領域が記入必須項目に該当するため、当該認識領域に文字や記号が記入されているか否かを判定する。文字や記号が記入されている場合は“有(OK)”と判定しステップS507に進み、文字や記号が記入されていない場合は“無(NG)”と判定しステップS508に進む。なお、この判定処理には、OCR等による解析技術を用いるが、既知の技術であるため、その説明は省略する。
ステップS507において、情報処理装置101は、撮像画像の認識領域の記入内容がステップS504にて取得した記入種別と一致している(=“OK”)か不一致(=“NG”)かを判定する。“OK”の場合はステップS509に進み、“NG”の場合はステップS508に進む。すなわち、ステップS506及びステップS507は、電子データから読取項目に対応する値を読取る処理の一例を示すステップである。また、ステップS506及びステップS507は、管理されている条件に基づき、読取られた項目に対応する値が正常又は異常を判定する処理の一例を示すステップである。
例えば、記入種別=“丸囲み”の場合は、記入内容が丸印のみ(=OK)か否(=NG)かを判定する。丸印が記入されている場合は“OK”と判定しステップS509に進み、丸印以外の文字・記号が記入されている場合は“NG”と判定しステップS508に進む。なお、この判定処理は、OMR等による解析技術を用いるが、既知の技術であるため、その説明は省略する。なお、本実施例では丸印を例として挙げたが、丸印に限定するものではなく、レ点やその他の図形・記号などの判定であってもよい。また、上記において、丸印の数については特に限定しなかったが、フォーム定義テーブル1200に、「チェック上限数」や「チェック数」などのカラムを設け、丸印の数が「チェック上限数」を超えた場合は“NG”、丸印の数が「チェック数」以外の場合は“NG”と判定するとしてもよい。
また、記入種別=“数字”の場合は、記入内容が数字のみ(=OK)か否(=NG)かを判定する。同様に、記入種別=“カタカナ”の場合は、カタカナのみ(=OK)か否(=NG)かを判定する。
また、記入種別=“日付”の場合は、日付形式の数字が正しく記入されている(=OK)か否(=NG)かを判定する。よって、「2017年2月31日」のように日付形式の数字が記入されていた場合も、その様な日付は存在しないため、“NG”と判定する。
同様に、記入種別=“郵便番号”の場合は、郵便番号形式の数字が正しく記入されている(=OK)か否(=NG)かを判定する。よって、図7の704の「140−9999」のように不正な郵便番号が記入されていた場合も、その様な郵便番号は存在しないため、“NG”と判定する。その場合、情報処理装置101に郵便番号データベースを記憶しておく又はネットワーク103を通じて外部のサービス等を利用することで、郵便番号の正常・異常を判定する。また、他の記入領域(例:住所)と組み合わせて判定し、郵便番号との組み合わせが正常・異常を判定するとしてもよい。
また、この実施例には挙げなかったが、「健康診断結果票」の様な帳票を読み取る場合であって、記入種別=“総コレステロール”の記入領域の数字が「150〜219(mg/dl)」に該当する場合は“OK”、該当しない場合は“NG”と判定する。その場合、帳票に記載されている“総コレステロール”の適正値範囲を読み取る、情報処理装置101に健康診断適正数値のデータベースを記憶しておく又はネットワーク103を通じて外部のサービスを利用する等の方法により、健康診断の測定値の正常・異常を判定する。また、身長と体重のように、2つの項目の数値を用いて計算し、その計算結果について正常・異常を判定するとしてもよい。
なお、フォーム定義テーブル1200には、記入種別として、”丸囲み”、“数字”、“カタカナ”、“日付”、“郵便番号”の他にも、“漢字”、“電話番号”、“都道府県”等があるが、これらに限定するものではなく、“桁数”、“ユーザ定義”等、その他の種別があってもよい。例えば、“桁数”の場合は、フォーム定義テーブル1200に「桁数」カラムを設け、記入された文字が定義された桁数であれば“OK”、定義された桁数以外であれば“NG”と判定する。“ユーザ定義”の場合は、フォーム定義テーブル1200に「ユーザ定義」カラムを設け、記入された文字がユーザによって定義された形式であれば“OK”、定義された形式以外であれば“NG”と判定する。
また、OCR等による解析結果で、記入された文字を認識できなかった場合、“NG”と判定するとしてもよい。
また、認識領域が記入種別に適合しているかの判定結果は、“OK”及び“NG”の2つに限定するものではなく、 “認識不可”、“不鮮明”、“矛盾”等の値を持つとしてもよい。
ステップS508において、情報処理装置101は、記入不備チェック結果リスト1300(図13)にフォーム定義情報リストのi番目のレコードを挿入する。図13の記入不備チェック結果リスト1300は、記入不備チェックの結果=“NG”となったフォーム定義情報レコードのリストである。
なお、記入不備チェック結果リスト1300には、図13のように「エラー内容」カラムを持ち、記入不備チェックの結果=“NG”と判定された理由(“必須”、“丸囲み”、”郵便番号(=不正な郵便番号)“、“認識不可”、“不鮮明”、“矛盾”等)を記録する。
ステップS509において、情報処理装置101は、変数iの値をインクリメントする。
ステップS510において、ステップS501にて取得したフォーム定義情報リストのレコードが残っている場合、ステップS504〜ステップS509を繰り返す。
以上で、図5の全体記入不備チェック処理の説明を終了する。図5の全体記入不備チェック処理によって、記入不備チェック結果リスト1300には、記入不備チェックの結果=“NG”となったフォーム定義情報レコードが登録されていることになる。
図4の記入不備チェック処理の説明に戻る。
ステップS406において、情報処理装置101は、ステップS405又はステップS413の記入不備チェックにて検出された不備数を判定する。具体的には、記入不備チェック結果リスト1300に存在するレコード数によって判定する。不備が無いと判定された場合はステップS407に進み、不備数が1以上所定数未満と判定された場合はステップS408に進み、不備数が所定数以上と判定された場合はステップS410に進む。なお、この所定数とは、1以上の数である。すなわち、ステップS406は、エラーと判定された箇所が所定数以上ある場合、第2モードに切り替えるよう制御する処理の一例を示すステップである。
ステップS407において、情報処理装置101は、記入不備チェック結果画面(記入不備なし)900(図9)を表示する。
具体的には、「全体撮像(静止画)」モードでの撮像の場合は、ステップS403にて撮像した撮像画像901をディスプレイ211に表示し、「記入不備はありませんでした。」の様なメッセージを重畳させ、図4の記入不備チェック処理を終了する。
一方、「部分拡大撮像(静止画)」モードでの撮像の場合は、撮像画像901の様な画像は撮像していないため、「記入不備はありませんでした。」の様なメッセージをディスプレイ211に表示し(不図示)、図4の記入不備チェック処理を終了する。なお、「全体撮像(静止画)」モードでの撮像後、記入不備部分の記入内容を修正し、「部分拡大撮像(静止画)」モードでの撮像することで不備が無くなった場合は、少なくとも一度は「全体撮像(静止画)」モードで撮像画像901を取得しているため、撮像画像901に「部分拡大撮像(静止画)」モードで不備が解消されたと判定を行った際の動画のキャプチャ画像を合成し、記入不備チェック結果画面(記入不備なし)900(図9)を表示するとしてもよい。
ステップS408において、情報処理装置101は、記入不備チェック結果画面(記入不備あり)800(図8)を表示する。
具体的には、「全体撮像(静止画)」モードでの撮像の場合は、ステップS403にて撮像した撮像画像801をディスプレイ211に表示し、「○箇所の記入不備があります。」の様なメッセージを表示し、記入不備領域を識別して表示する(802〜806)。なお、記入不備領域の識別表示は、ステップS405で生成された記入不備チェック結果リスト1300のレコード(1301〜1305)から、「認識領域」の起点座標(X、Y)と終点座標(X、Y)を取得し、その2点を対角とする矩形を撮像画像上に描き、赤い枠で囲むことにより行う。これにより、記入不備のあった領域を識別可能に表示することができる。
なお、記入不備部分802〜805の表示は、赤い枠に限定するものではなく、赤以外の色による枠による囲み、塗りつぶし、印、点滅、拡大、反転表示など、ユーザによる識別が可能となる表示であればよい。また、表示による識別方法に限定するものではなく、音声による記入不備部分の読み上げなど、その他の方法による識別方法であってもよい。
一方、「部分拡大撮像(静止画)」モードでの撮像の場合は、撮像画像901の様な画像は撮像していないため、「○箇所の記入不備があります。」のメッセージ及び記入不備の判定を行った際の動画のキャプチャ画像を記入不備の分だけディスプレイ211に表示する(不図示)。これにより、「部分拡大撮像(静止画)」モードであっても、記入不備のあった領域を識別可能に表示することができる。
また、記入不備チェック結果画面(記入不備あり)800には、「全体を再撮像する(静止画)ボタン804」と「不備部分を拡大して再撮像する(動画)ボタン805」を表示し、記入不備チェックの内容によって、ユーザが再撮像の方法を選択できるようにする。
ステップS409において、情報処理装置101は、ユーザによる再撮像モードの選択を受け付ける。「全体を再撮像する(静止画)ボタン804」の押下を受け付けた場合はステップS403に進み、「不備部分を拡大して再撮像する(動画)ボタン805」の押下を受け付けた場合はステップS411に進む。すなわち、ステップS409は、帳票の全体を撮像する第1モードと、帳票の部分を撮像する第2モードとを切り替える処理の一例を示すステップである。
具体的には、誤記や記入漏れ等、帳票への記入内容が原因でエラーが発生したとユーザが判断した場合、記入内容を修正した後、ユーザは「全体を再撮像するボタン(静止画)804」を押下する。これにより、複数の記入不備があった場合でも、一度の再撮像で再チェックを行うことができる。一方、撮像画像の不鮮明さ、文字や記号の潰れ、かすれ、重なり、用紙汚れ、ゴミ等が原因でエラーが発生した、つまり拡大して再撮像すればエラーは解消されるとユーザが判断した場合、ユーザは「不備部分を拡大して再撮像する(動画)ボタン805」を押下する。これにより、帳票を再撮像する場合、上記のようにエラー部分を拡大して再撮像するか、エラー部分を記入し直したため帳票全体を再撮像するか、をユーザが自由に選択できないという課題を解決することができる。
なお、この実施形態のステップS409においては、「全体を再撮像する」か「不備部分を拡大して再撮像する」をユーザが選択するとしたが、これに限定するものではなく、記入不備チェック結果リスト1300の「エラー内容」の値が“必須”、“丸囲み”、“矛盾”等の場合は、誤記など記入内容によるエラーと捉え、帳票を修正するようメッセージを表示して全体を再撮像させ、「エラー内容」の値が“不鮮明”、“認識不可”等の場合は、撮像画像によるエラーと捉え、不備部分のみを拡大して再撮像させるなど、記入不備チェック結果リスト1300に含まれる値に従って、情報処理装置101が「全体を再撮像する」か「不備部分を拡大して再撮像する」のどちらを実行するかを決定するとしてもよい。
ステップS410において、情報処理装置101は、記入不備チェック結果画面(記入不備あり)800(図8)を表示する。詳細は、ステップS408と同様であるが、ステップS410で表示する記入不備チェック結果画面(記入不備あり)800には、「全体を再撮像する(静止画)ボタン804」を表示しない(又は表示しても押下できないよう非活性化しておく)。その後、「不備部分を拡大して再撮像する(動画)ボタン805」の押下を受け付ける(又は所定時間が経過する)と、ステップS411に進む。これにより、不備数が所定数以上と判定されて帳票を再撮像する場合、エラー部分を拡大して再撮像させるよう制御することにより、複数のエラー部分の文字認識及びチェック処理をリアルタイムに続けて行い、連続して即時に正常・異常を把握できるため、より気軽に且つより効率的に文字認識及びチェックを行うことができる。
ステップS411において、情報処理装置101は、記入済帳票の部分撮像を開始する。すなわち、ステップS411〜ステップS413は、撮像装置を用いてオブジェクトを撮像することにより電子データとして取込む処理の一例を示すステップである。カメラ215が捉えた画像は、リアルタイムにディスプレイ211に表示する(図10の1001)。その画面には、「文字が読み取れるよう、ゆっくりと動かしてください。」(図10の1002)や「動画撮像中」(図10の1003)の様なメッセージを表示し、ユーザに対し、ゆっくりカメラを動かすよう注意を促す。
ステップS412において、情報処理装置101は、撮像画像の帳票のフォームIDを特定する。詳細は、ステップS404と同様である。すなわち、ステップS412は、取込まれた電子データから、オブジェクトを識別する識別情報を特定する処理の一例を示すステップである。
ステップS413において、情報処理装置101は、部分記入不備チェック処理(図6)を行う。すなわち、ステップS413は、管理されている条件に基づき、読取られた項目に対応する値が正常又は異常を判定する処理の一例を示すステップである。また、ステップS413は、撮像したオブジェクトの部分画像を電子データとして取得する処理の一例を示すステップである。ここで、図6について説明しておく。
図6は、情報処理装置101における部分記入不備チェック処理の一例を示すフローチャートである。図5の全体記入不備チェック処理のフローチャートを部分記入不備チェック処理用に置き換え、図5のステップと同じ処理については、同じステップ番号を付与し説明を省略する。図6の処理により、撮像された部分帳票の記入不備チェックを行う。
ステップS601において、情報処理装置101は、ステップS412にて特定した「フォームID」を検索キーとして、フォーム定義テーブル1200を検索し、取得したフォーム定義情報リストを記入不備チェック結果リスト1300に「エラー内容」=NULLとして挿入する。つまり、図6の部分記入不備チェック処理において、図13の記入不備チェック結果リスト1300は、「エラー内容」=NULLのレコードは記入不備チェックが済んでいない項目であり、「エラー内容」≠NULLのレコードは記入不備チェックの結果=“NG”となったレコードである。すなわち、記入不備チェック結果リスト1300は、管理されている読取項目のうち値を読取られていない項目の位置情報を管理する手段の一例である。また、ステップS601は、オブジェクトの識別情報に基づき、電子データから値を読取る項目を決定する処理の一例を示すステップである。
ステップS602において、情報処理装置101は、撮像画像から座標識別項目を特定する。例えば、撮像画像が図10の1001の様な画像だった場合、撮像画像から「(1)お申込年月日」「(2)お申込者」「(3)お勤め先」の様な黒塗の見出し部分を座標識別項目として特定する。なお、本実施形態においては、黒塗の見出し部分を座標識別項目としたが、これに限定するものではなく、例えば、帳票の各項目、帳票のフォームIDを示すバーコードや番号、帳票の枠、帳票用紙の端又は帳票用紙の座標を識別するドットパターン等を座標識別項目としてもよい。つまり、部分撮像画像から、帳票全体のどの位置が撮像されているのかを特定できる情報であればよい。
ステップS603において、情報処理装置101は、ステップS602にて特定した座標識別項目から撮像座標を算出する。例えば、撮像画像において、座標識別項目「(1)お申込年月日」が、撮像画像の左上を原点として起点座標(10、30)―終点座標(150、110)の2点を対角とする矩形(ヨコ:140ピクセル、タテ:80ピクセル)に位置した場合、フォーム定義テーブル1200のフォーム定義レコード1201から拡大しない場合の「(1)お申込年月日」は起点座標(50、50)―終点座標(120、90)の2点を対角とする矩形(ヨコ:70ピクセル、タテ:40ピクセル)であるため、帳票を全体に収めて撮像するときに比べて2倍に拡大して撮像していることがわかる。これらから、現在撮像している画像が帳票全体のどの位置(この場合、起点座標(45、35)―終点座標(455、520))を撮像しているかを算出できる。
ステップS604において、情報処理装置101は、記入不備チェック結果リスト1300のレコード数だけ、ステップS605〜ステップS610を繰り返す。
ステップS605において、情報処理装置101は、記入不備チェック結果リスト1300のレコード1件から、必須要件、記入種別、エラー内容及び認識領域の起点(X座標、Y座標)と終点(X座標、Y座標)を取得する。
ステップS606において、情報処理装置101は、ステップS603にて算出した撮像座標の内にステップS605にて取得した認識領域の座標が収まっているかを判定し、収まっている場合はステップS505(図6)に進み、収まっていない場合はステップS510(図6)に進む。具体的には、ステップS601にて取得したフォーム定義情報リストには、『ショッピングクレジット申込書』の全項目が含まれているが、ステップS603にて算出された撮像座標を用いて、記入不備チェックを行う対象を絞ることができる。これにより、文字認識及びチェック処理を高速化することができるようになる。
以降のステップS505(図6)〜ステップS507(図6)は、図5の説明と同様である。
ただし、ステップS506及びステップS507の認識領域は、ステップS602にて特定した座標識別項目からの距離(ピクセル数)に基づき決定する。例えば、撮像画像において、座標識別項目「(1)お申込年月日」が、撮像画像の左上を原点として起点座標(10、30)―終点座標(150、110)の2点を対角とする矩形(ヨコ:140ピクセル、タテ:80ピクセル)に位置した場合、ステップS603の説明から、2倍に拡大して撮像していることがわかっているため、フォーム定義テーブル1200のフォーム定義レコード1202の「申込年月日」は、座標識別項目「(1)お申込年月日」の撮像画像における座標及びフォーム定義レコード1202の座標に基づき、撮像画像において起点座標(150、30)―終点座標(410、110)の矩形に存在することがわかる。これにより、拡大して撮像された画像を用いて、記入不備チェックを行うことができるようになる。
なお、この実施形態においては、拡大して再撮像された撮像画像に含まれる座標識別項目からの距離に従って認識領域を決定するとしたが、これに限定するものではなく、例えば、座標や座標識別項目からの距離等を用いず、撮像画像に含まれる帳票の枠、帳票用紙の座標を識別するドットパターン又は印刷文字等を認識することによって、フォーム定義テーブル1200の各レコードの項目の認識領域を決定する等の方法であってもよい。
ステップS607において、情報処理装置101は、ステップS506(図6)又はステップS507(図6)にて“NG”と判定した項目の認識領域又はその近傍に「認識NG」とわかるよう撮像画像に重畳して表示する(図10の1004及び1006)。また、「認識NG」の近傍には、認識NGの詳細説明を吹き出し等で表示する(図10の1005及び1007)。すなわち、ステップS607は、異常と判定された項目の位置を示す表示をする処理の一例を示すステップである。以上により、撮像画像をリアルタイムに文字認識及びチェック処理をすることができるため、記入不備チェックを好適に行う仕組みを提供することができる。
ステップS608において、情報処理装置101は、ステップS506(図6)又はステップS507(図6)にて“NG”と判定した記入不備チェック結果リスト1300のレコードの「エラー内容」の値を、記入不備チェックの結果=“NG”と判定された理由(“必須”、“丸囲み”、”郵便番号(=不正な郵便番号)“、“認識不可”、“不鮮明”、“矛盾”等)に更新する。以上により、撮像画像をリアルタイムに文字認識及びチェック処理をすることができるため、記入不備チェックを好適に行う仕組みを提供することができる。
ステップS609において、情報処理装置101は、ステップS507(図6)にて“OK”と判定した項目の認識領域又はその近傍に「認識OK」とわかるよう撮像画像に重畳して表示する(図10の1008)。以上により、撮像画像をリアルタイムに文字認識及びチェック処理をすることができるため、記入不備チェックを好適に行う仕組みを提供することができる。
ステップS610において、情報処理装置101は、記入不備チェック結果リスト1300に、ステップS609にて記入不備チェックの結果=“OK”となったレコードが存在する場合、記入不備チェック結果リスト1300からそのレコードを削除する。これにより、記入不備チェックの結果=“NG”→“OK”となったレコードがリアルタイムに記入不備チェック結果リスト1300から削除されるため、記入不備チェック結果リスト1300には記入不備チェックをする必要のあるレコードのみが残っているということになる。
ステップS611において、情報処理装置101は、記入不備チェック結果リストに「エラー内容」=NULLのレコード有無を判定し、レコードが有る場合はステップS612に進み、無い場合はすべての読取項目について記入不備チェック処理が終了したと捉えて図6の処理を終了する。
ステップS612において、情報処理装置101は、記入不備チェック結果リストの「エラー内容」=NULLのレコードの位置を枠や矢印等を用いて表示をする。例えば、当該レコードが撮像画像(=当該レコードの座標がステップS603にて算出した撮像座標)内に位置する場合はそのレコードの座標の領域を枠で囲み(図10の1009)、当該レコードが撮像画像(=当該レコードの座標がステップS603にて算出した撮像座標)外に位置する場合はそのレコードの座標の領域が存在する方向を矢印で示す(図10の1010)。
すなわち、ステップS612は、位置情報に基づき、値を読取られていない項目の位置を示す表示をする処理の一例を示すステップである。また、ステップS612は、位置情報に基づき、値を読取られていない項目が存在する方向を示す情報を表示する処理の一例を示すステップである。
具体的には、記入不備チェック結果リストに「エラー内容」=NULLのレコード(図13の1304及び1305)が存在する場合、レコード1304(フォーム名:市町番地)の座標と、ステップS603にて算出した現在表示中の撮像画像の撮像座標とを比較すると、撮像画像内にレコード1304の座標が収まっていることがわかるため、レコード1304の座標を用いて枠を表示し(図10の1009)、レコード1305(フォーム名:税込年収)の座標と、ステップS603にて算出した現在表示中の撮像画像の撮像座標とを比較し、撮像画像よりもレコード1305の座標が下方向に位置することがわかるため、下向きの矢印と共に「この方向に読取項目があります。カメラをゆっくり移動させてください。」の様なメッセージを表示する(図10の1010)。これにより、読取られていない項目がどこにあるかがわかるため、カメラの移動、文字認識及びチェックをより効率的に行うことができる。つまり、拡大して撮像したとき、ユーザが帳票のどの部分を撮像すればよいかわからないという課題を解決することができる。
なお、本実施形態においては、枠や矢印等を用いて読取る項目表示するとしたが、これらに限定するものではなく、色を変える、点滅させる、音声による通知等、ユーザが識別可能となるものであればよい。ステップS612の後は、ステップS602に戻り、すべての読取項目について記入不備チェック処理が終了するまで、部分記入不備チェックを繰り返す。
以上で、図6の部分記入不備チェック処理の説明を終了する。図6の処理によって、撮像された部分帳票の記入不備チェックを行い、記入不備チェック結果リスト1300には、撮像された部分帳票の記入不備チェックの結果=“NG”が解消されていないフォーム定義情報レコードが残っていることになる。図4の記入不備チェック処理の説明に戻る。
ステップS414において、情報処理装置101は、帳票の部分撮像を終了する。
以上で、図4の記入不備チェック処理の説明を終了する。
以上によりオブジェクトに読取るべき項目が複数存在するとき、読取られていない項目がどこに位置するかわからないという課題を解決することができ、撮像画像を用いた文字認識を好適に行う仕組みを提供することができる。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。