JP4676225B2 - スキャン・ドキュメントから電子フォームに取り込むための方法および装置 - Google Patents

スキャン・ドキュメントから電子フォームに取り込むための方法および装置 Download PDF

Info

Publication number
JP4676225B2
JP4676225B2 JP2005083418A JP2005083418A JP4676225B2 JP 4676225 B2 JP4676225 B2 JP 4676225B2 JP 2005083418 A JP2005083418 A JP 2005083418A JP 2005083418 A JP2005083418 A JP 2005083418A JP 4676225 B2 JP4676225 B2 JP 4676225B2
Authority
JP
Japan
Prior art keywords
image
field
information
captured
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005083418A
Other languages
English (en)
Other versions
JP2005302011A (ja
Inventor
イー.ハーレー コルマック
エッチ.チェラピッラ クメール
エー.ビオラ ポール
テー.クリスチャンソン トラスティ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005302011A publication Critical patent/JP2005302011A/ja
Application granted granted Critical
Publication of JP4676225B2 publication Critical patent/JP4676225B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/127Detection or correction of errors, e.g. by rescanning the pattern with the intervention of an operator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Description

本発明は、スキャン・ドキュメント(scanned documents)または他の電子イメージから電子フォームに自動的に取り込むための、コンピュータによって実施される方法および装置に関する。
スキャン・ドキュメントなどの電子イメージからデータを取り込むことは、手間がかかるタスクである。しばしば、イメージの、スキャンなどの電子コピーなどではなく、使用可能なフォームに入ったデータまたは他のテキスト情報も必要になる。コンピュータ生成されたフォームに完成させるのを支援するほとんどの従来技術では、スキャンされたドキュメント内の特定のタイプの情報要素を識別するために光学式文字認識技術、自然言語処理技術、および他の人工知能技術が使用されている。情報要素が識別された後に、これらの情報要素は、選択されたフォーム上の適切なフィールド中またはロケーションに配置される。しかし、これらの方法は、非常に信頼できないものとして広く知られている。
さらに、従来技術のシステムでは、一度に1つのドキュメントしか処理できず、さらに、手間と時間が、取り込まれた電子ドキュメントに関連して、追加される。また、ドキュメントをスキャンし、コンピュータ生成されたフォームに完成させるのを支援するために使用されるハードウェアでは、ドキュメントを適切にスキャンできるようにするために、ドキュメントがあらかじめ確定されたサイズおよびオリエンテーション(向き)を有することを必要とする。このことは、このシステムの汎用性を制限する可能性があり、したがって特定のタイプのドキュメントをスキャンするためには特定のハードウェアの購入を必要とする可能性もある。例えば、今では名刺スキャナが入手可能になっており、これにより、ユーザは名刺を一度に1枚ずつこのスキャナに供給し、アドレス帳にデータを取り込むための連絡先情報を抽出できるようになる。このスキャナは、あらかじめ確定されたサイズおよびオリエンテーション(向き)を持つ名刺を受け入れることができるような大きさになっている。これらのスキャナは、購入レシートや請求書などの他のタイプおよびサイズのドキュメントをスキャンするために使用することができない。また、名刺は、一度に1枚ずつスキャンする必要があり、これが効率を低下させる。Hotcard Technology Pte Ltd.が販売するスキャナなど、他の名刺専用のスキャナでは、一度に複数のカードをスキャンすることができるが、これらのカードがスキャナ上で特定のオリエンテーション(向き)を持つ必要がある。
米国特許第6,411,313号明細書 Y. Caron, P. Makris and N. Vincent, "A Method of Detecting Objects Using Legendre Transform", RFAI Team Publication, Meghrebian Conference on Computer Science MCSEAI, Annaba(Algeria), May 2002, pp. 219-225. T. Haenselmann, C. Schremrner and W. Effelsberg, "Wavelet-Based Semi-Automatic Segmentation of Image Objects", Proc. Signal and Image Processing (SIP 2000), LasVegas, USA, 2000, pp. 1-8. S. Jehan-Besson, M. Barlaud and G. Aubert, "Region-Based Active Contours for Video Object Segmentation with Camera Compensation", Proceedings of IEEE Int'l Conference on Image Processing, 2001, Vol. 2, pp.61-64. P. Viola and M. Jones "Robust Real-Time Object Detection", CRL-2001/0l, Feb.2001., pp. 1-29. D. Kim and Y. Ho., "Shape Training for Video Object Segmentation", Int'l Workshop on Very Low Bitrate Video (VLBV) Coding, Oct. 2001., pp. 186-190. K. Lee and W. Nick Street, "Learning Shapes for Automatic Image Segmentation",Proceedings of the INRORMS-KORMS Conference, June 2000, pp. 1461-1468. D.K. Park, H.S. Yoon and C.S. Won, "Fast Object Tracking in Digital Video", IEEE Trans. Consumer Electorics, Aug. 2000, Vol. 46, No. 3, pp. 785-790. N. Roggero, "Object Segmentation With Region Growing and Principal Component Analysis", Proceeding of the Photogrammetric Computer Vision ISPRS Commission III, Symposium, Sept. 9-13, 2002. Graz, Austria, pp. 239-294. Y.C. Shao and L.C. Chen, "Object Segmentation in Elevation Space Using Mathematic Morphology", Proceedings of the 22nd Asian Conference on Remote Sensing, Singapore 2001, pp.227-232. T. Shioyama, H. Wu and S. Mitani, "Segmentation and Object Detection with Gabor Filters and Cumulative Histograms", Proc. of the 1Oth International Conference on Image Analysis and Processing (Venice), 1999, pp. 412-417. K. Tieu and E. Grimson, "Object Segmentation with Pixel Stacks", ArtificialI"telligence Laboratory, Massachusetts Institute of Technology, 2001, pp.125-126. A. Yla-Jaaski and R. Ade, "Grouping Symmetrical Structures for Object Segmentation and Description", Computer Vision and Image Understanding, Vol. 63, No. 3, May 1996. pp. 399-417. S.X. Yu, R. Gross and J. Shi, "Concurrent 0bjectt Recognition and Segmentation with Graph Partitioning", Neural Information Processing Systems, Dec. 2002, pp.1-8 Singapore Hotcard Technology PTE LTD "www.hotcardtech.com", 2003, pgs 1-6.
したがって、フォーム・フィリング(form filling)は、退屈で、時間がかかり、人的なエラーを非常に受けやすい可能性がある。したがって、より高速でより正確なフォーム・フィリングを実施するシステムおよび方法に対する技術分野において、満たされていないニーズが存在する。スキャン・ドキュメント(scanned documents)または他の電子イメージから電子フォームに取り込むための改良された方法および装置が、望まれている。
本発明の一実施形態は、電子イメージから電子フォームに取り込むための方法を対象としている。この方法は、(a)この電子イメージ内の、任意のオリエンテーション(向き)を有する第1のオブジェクトのサイズ、オリエンテーション(向き)および位置を識別すること、(b)この第1のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別すること、(c)グラフィック・ユーザ・インターフェースを介してこの電子フォームのフィールドおよびこの識別された情報要素をユーザに対して表示すること、(d)この情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および(e)このタグ付きグループをこの電子フォームのフィールドに取り込んで、取り込まれたフォームを生成し、このグラフィック・ユーザ・インターフェースを介してユーザがこの取り込まれたフィールドを編集できるようにすること、を含んでいる。
本発明の他の実施形態は、コンピュータによって実行されたときに、(a)この電子イメージ内の、任意のオリエンテーション(向き)を有する第1のオブジェクトのサイズ、オリエンテーション(向き)および位置を識別すること、(b)この第1のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別すること、(c)グラフィック・ユーザ・インターフェースを介してこの電子フォームのフィールドおよびこの識別された情報要素をユーザに対して表示すること、(d)この情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および(e)このタグ付きグループをこの電子フォームのフィールドに取り込んで、取り込まれたフォームを生成し、このグラフィック・ユーザ・インターフェースを介してユーザがこの取り込まれたフィールドを編集できるようにすることを含む方法を実施するコンピュータ実行可能命令を備えるコンピュータ読取り可能媒体を対象としている。
本発明の他の実施形態は、少なくとも部分的に電子フォームに取り込むためのシステムを対象としている。このシステムは、オブジェクト検出および抽出モジュールを含んでおり、このモジュールは、この電子イメージ中のピクセルを処理して、この電子イメージ内の任意のオリエンテーション(向き)を有するオブジェクトのサイズ、オリエンテーション(向き)および位置を識別する。光学式文字認識モジュールは、この第1のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別する。グラフィック・ユーザ・インターフェースは、この電子フォームのフィールドおよびこの識別された情報要素をユーザに対して同時に表示する。解析モジュールは、この情報要素を解析して異なる情報タイプのタグ付きグループに分類し、少なくとも部分的にこのタグ付きグループをこのフィールドに取り込んで、取り込まれた電子フォームを生成する。
本発明のさらに他の実施形態は、異なる情報タイプの第1および第2のオブジェクトを有する電子イメージから電子フォームに取り込むための方法を対象としている。この方法は、この電子イメージ内のこの第1および第2のオブジェクトのサイズ、オリエンテーション(向き)および位置を識別することを含んでいる。この電子イメージは、各オブジェクトのサイズ、オリエンテーション(向き)および位置に関連付けられた、電子イメージ中のピクセルに対応する複数の、サブ・イメージに分割される。光学式文字認識を各サブ・イメージ上で実施して、この対応するオブジェクト内のタグの付いていない情報要素を識別する。サブ・イメージごとに、タグの付いていない情報が解析されてタグ付き情報要素に分類される。第1の電子フォーム・タイプ中のフィールドには、この第1のオブジェクトのサブ・イメージから識別されたタグ付き情報要素が取り込まれて、第1の取り込まれたフォームが生成される。第2の電子フォーム・タイプ中のフィールドには、この第2のオブジェクトのサブ・イメージから識別されたタグ付き情報要素が取り込まれて、第2の取り込まれたフォームが生成される。この第1および第2の取り込まれたフォームおよびそのタグの付いていない情報要素が、グラフィック・ユーザ・インターフェースを介してユーザに対して表示される。このユーザは、このグラフィック・ユーザ・インターフェースを介してこの第1および第2の取り込まれたフォームを編集することができるようになる。
本発明の実施形態は、名刺、請求書、購入レシートなどのオブジェクトの電子イメージから得られるデータを電子フォームに取り込む際にユーザを支援するための方法および装置を提供する。電子イメージは、電子ファイルやデジタル・イメージング装置からなど任意のソースから取得することができる。一実施形態においては、これらのイメージは、汎用スキャナまたはデジタル・カメラから取得される。各イメージは、未知のサイズ、オリエンテーション(向き)および位置を有する1つまたは複数のオブジェクトを含むことができる。このイメージ中の各オブジェクトは、名刺の場合における名前および連絡情報や、レシートの場合におけるベンダ、日付および金額など特定の情報タイプのタグの付いてない情報要素を含んでいる。
イメージ内の個々のオブジェクトがセグメント化され、これらのセグメント化されたオブジェクト内の情報要素が識別される。このシステムは、同じイメージ中で一緒にスキャンされる多数の小さなドキュメントを認識してセグメント化することができる。このイメージ中のオブジェクトごとに、このシステムは、このオブジェクト内のテキスト・データを認識し、特定の情報タイプに基づいてこのテキスト・データを解析し、ターゲット・アプリケーションまたは電子フォーム中のフィールドに自動的に取り込む。例えば、このターゲット・アプリケーションがアドレス帳の連絡先である場合、ユーザは、1つまたは複数の名刺を一度にスキャンすることができ、このシステムは、これらの個々にセグメント化された名刺から、名前、電話番号、電子メール・アドレス、および他の情報を抽出することになる。10桁を含むテキスト・ストリングは、米国電話番号である可能性が高く、フォームxxxx@yyyy.zzzのストリングは、電子メールである可能性が高い。 各名刺からの情報要素を使用して、ユーザの連絡リストを自動的に取り込む。イメージは、参照するために保持することができる。
別の実施形態においては、ユーザは、数枚のレシートをスキャンし、経費報告書アプリケーション、スプレッドシート、Microsoft Money(商標)などの財務管理ソフトウェアなどの財務ソフトウェア・アプリケーション中の適切なフィールド中に日付、金額および/または他のテキスト・ブロックをドラッグ・アンド・ドロップ(drag and drop)することができる。レシートのイメージは、参照するために記憶することができ、および/または、経費報告書と共に送付することができる。経費報告書のフィリング・システムでは、デジタル・イメージを改ざんするのを防止するために、その支払いパーティのパブリック・キーを使用してイメージ・ファイルを暗号化し、暗号ハッシュとすることができる。
このシステムは、グラフィック・ユーザ・インターフェースを介してこの解析されたテキストおよび取り込まれたフィールドをユーザに対して提示し、識別されたテキストのクラスタを適切なフィールドへとドラッグ・アンド・ドロップすることができるという点で、間違いを許容している。また、ユーザは、これらのフィールドのうちの任意のフィールドに直接にデータを入力することができる。たとえOCR(optical character recognition;光学式文字認識)が会社名など名刺上の一つのテキスト・ブロックを正しく識別することに失敗したとしても、このシステムは、テキスト・ブロックをクラスタ化している可能性がある。次いで、ユーザは、そのブロックを適切なフィールドにドラッグすることができる。これは、レシートなどのドキュメントがスキャンされるアプリケーションでは特に有用である。レシート上には、多数の数字ブロックおよびテキスト・ブロックが、存在する可能性があり、そのうち、ユーザは、多分、一般的にベンダ名、日付、最終金額およびおそらく税金だけを入力することに関心があるであろう。このオブジェクト上のテキストがクラスタ化される限り、ユーザは、このフォームまたはターゲット・アプリケーションの適切なフィールドに適切なブロックをドラッグすることができる。
図1は、本発明の一部の実施形態を実装することができる適切なコンピューティング・システム環境100の一実施例を示している。コンピューティング・システム環境100は、適切なコンピューティング環境の一実施例に過ぎず、本発明の使用または機能の範囲についてのどのような限定も示唆するものではない。このコンピューティング環境100は、この例示の動作環境100に示すコンポーネントのうちのどの1つまたは組合せに関連する依存性または必要性を有するものとも解釈すべきではない。
本発明は、他の多数の汎用または専用のコンピューティング・システム環境またはコンピューティング・システム構成を用いて動作可能である。本発明を用いて使用することを適切とすることができるよく知られているコンピューティング・システム、コンピューティング環境、および/またはコンピューティング構成には、それだけには限定されないが、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・デバイスまたはラップトップ・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、セットトップボックス、プログラム可能な家電、ネットワークPC、ミニ・コンピュータ、メイン・フレーム・コンピュータ、上記システムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などが含まれる。
本発明は、コンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般にプログラム・モジュールは、個々のタスクを実施し、または個々の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。本発明はまた、分散コンピューティング環境中で実行することもでき、この分散コンピューティング環境中では、タスクは、通信ネットワークを介してリンクされるリモート処理デバイスによって実施される。分散コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル・コンピュータ・ストレージ媒体にもリモート・コンピュータ・ストレージ媒体にも配置することができる。
図1を参照すると、本発明を実装するためのシステムの一例は、コンピュータ110の形態の汎用コンピューティング・デバイスを含んでいる。コンピュータ110のコンポーネントは、それだけには限定されないが、処理装置120、システム・メモリ130、およびこのシステム・メモリを含めて様々なシステム・コンポーネントを処理装置120に結合するシステム・バス121を含むことができる。このシステム・バス121は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、および様々なバス・アーキテクチャのうちのいずれかを使用したローカル・バスを含めていくつかのタイプのバス構造のうちのどれであってもよい。実施例として、限定するものではないが、かかるアーキテクチャには、ISA(Industry Standard Architecture;業界標準アーキテクチャ)バス、MCA(Micro Channel Architecture;マイクロ・チャネル・アーキテクチャ)バス、EISA(Enhanced ISA;拡張ISA)バス、VESA(Video Electronics Standards Association;ビデオ・エレクトロニクス規格協会)ローカル・バス、およびメザニン(Mezzanine)バスとしても知られているPCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ110は、一般的に様々なコンピュータ読取り可能媒体を含んでいる。コンピュータ読取り可能媒体は、コンピュータ110がアクセスすることができる任意の使用可能媒体とすることができ、揮発性媒体も不揮発性媒体も、着脱可能媒体も着脱不能媒体も両方を含んでいる。実施例として、限定するものではないが、コンピュータ読取り可能媒体は、コンピュータ・ストレージ媒体および通信媒体を含むことができる。コンピュータ・ストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラム・モジュール、他のデータなど情報のストレージのための任意の方法または技術で実装される揮発性および不揮発性の着脱可能および着脱不能な媒体を含んでいる。コンピュータ・ストレージ媒体には、それだけには限定されないが、RAM、ROM、EEPROM、フラッシュ・メモリまたは他のメモリ技術、CD−ROM、DVD(digital versatile disk;デジタル多用途ディスク)または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気ストレージ・デバイス、あるいは所望の情報を記憶するために使用することができ、コンピュータ100がアクセスすることができる他の任意の媒体が含まれる。通信媒体は、一般的に搬送波や他の搬送メカニズムなどの被変調データ信号の形のコンピュータ読取り可能命令、データ構造、プログラム・モジュールまたは他のデータを実施し、任意の情報配信媒体を含んでいる。用語「被変調データ信号」は、その1つまたは複数の特性が、信号に情報を符号化するように設定または変更された信号を意味する。実施例として、限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体と、音響、RF、赤外線、他の無線媒体などの無線媒体とを含んでいる。以上のうちの任意の組合せもまた、コンピュータ読取り可能媒体の範囲内に含められるべきである。
システム・メモリ130は、ROM(read only memory;読取り専用メモリ)131やRAM(random access memory;ランダム・アクセス・メモリ)132など、揮発性および/または不揮発性のメモリの形態のコンピュータ・ストレージ媒体を含んでいる。起動中などコンピュータ110内の要素間で情報を転送する助けをする基本ルーチンを含むBIOS(basic input/output system;基本入出力システム)133は、一般的にROM131に記憶される。RAM132は、処理装置120にとってダイレクトにアクセス可能な、または処理装置120によって現在動作させられている、あるいはその両方のデータおよび/またはプログラム・モジュールを一般的に含んでいる。実施例として、限定するものではないが、図1は、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、およびプログラム・データ137を示している。
コンピュータ110はまた、他の着脱可能/着脱不能な揮発性/不揮発性のコンピュータ・ストレージ媒体を含むことができる。実施例に過ぎないが、図1は、着脱不能な不揮発性磁気媒体から読み取りまたはそれに書き込むハードディスク・ドライブ141、着脱可能な不揮発性磁気ディスク152から読み取りまたはそれに書き込む磁気ディスク・ドライブ151、およびCD−ROMや他の光媒体など着脱可能な不揮発性光ディスク156から読み取りまたはそれに書き込む光ディスク・ドライブ155を示している。例示の動作環境において使用することができる他の着脱可能/着脱不能な揮発性/不揮発性のコンピュータ・ストレージ媒体には、それだけには限定されないが、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク(DVD)、デジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROMなどが含まれる。ハードディスク・ドライブ141は一般的に、インターフェース140など着脱不能メモリ・インターフェースを介してシステム・バス121に接続され、磁気ディスク・ドライブ151および光ディスク・ドライブ155は、一般的にインターフェース150など着脱可能なメモリ・インターフェースによってシステム・バス121に接続される。
前述され、図1に示されるこれらのドライブおよびその関連するコンピュータ・ストレージ媒体は、コンピュータ110についてのコンピュータ読取り可能命令、データ構造、プログラム・モジュールおよび他のデータのストレージを提供する。図1において、例えばハードディスク・ドライブ141は、オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146、およびプログラム・データ147を記憶するものとして示されている。これらのコンポーネントは、オペレーティング・システム134、アプリケーション・プログラム135、他のプログラム・モジュール136、およびプログラム・データ137と同じとすることもでき、また異なるものとすることもできる。オペレーティング・システム144、アプリケーション・プログラム145、他のプログラム・モジュール146、およびプログラム・データ147は、ここでは少なくともこれらが異なるコピーであることを示すために異なる番号が付与されている。
ユーザは、ポインティング・デバイス161、キーボード162、マイクロフォン163、デジタル・イメージング・デバイス164などの入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。ポインティング・デバイス161は、例えばマウス、トラック・ボール、またはタッチ・パッドを含むことができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲーム・パッド、サテライト・ディッシュなどを含むことができる。これらおよび他の入力デバイスは、このシステム・バスに結合されるユーザ入力インターフェース160を介して処理ユニット120にしばしば接続されるが、これは、パラレル・ポート、ゲーム・ポート、USB(universal serial bus;ユニバーサル・シリアル・バス)など他のインターフェースおよびバス構造によって接続することもできる。モニタ191または他のタイプのディスプレイ・デバイスも、ビデオ・インターフェース190などのインターフェースを介してシステム・バス121に接続される。このモニタに追加して、コンピュータは、スピーカ197やプリンタ196などの他のペリフェラル出力デバイスも含むことができ、これらは、出力ペリフェラル・インターフェース190を介して接続することができる。
コンピュータ110は、リモート・コンピュータ180など1つまたは複数のリモート・コンピュータに対する論理接続を使用してネットワーク環境で動作することが可能である。リモート・コンピュータ180は、パーソナル・コンピュータ、ハンドヘルド・デバイス、サーバ、ルータ、ネットワークPC、ピア・デバイス、または他の共通ネットワーク・ノードとすることができ、一般的に、コンピュータ110に関連した前述の要素の多くまたはすべてを含んでいる。図1に示す論理接続は、LAN(local area network;ローカル・エリア・ネットワーク)171およびWAN(wide area network;ワイド・エリア・ネットワーク)173を含んでいるが、他のネットワークを含んでいてもよい。かかるネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的なものになっている。
LANネットワーク環境中で使用する際には、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境中で使用する際には、コンピュータ110は、一般的にインターネットなどのWAN173上で通信を確立するためのモデム172または他の手段を含んでいる。モデム172は、内蔵でも外付けでもよいが、ユーザ入力インターフェース160または他の適切なメカニズムを介してシステム・バス121に接続することができる。ネットワーク環境においては、コンピュータ110に関連して示すプログラム・モジュール、またはその一部分は、リモート・メモリ・ストレージ・デバイスに記憶することができる。実施例として、限定するものではないが、図1は、リモート・アプリケーション・プログラム185をリモート・コンピュータ180上に存在するものとして示している。図に示すネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することもできることが理解されよう。
本発明の一部実施形態のコンテクスト中では、名刺、請求書、レシートなどの電子イメージは、デジタル・イメージング・デバイス164などのソースからローカルに、または例えばモデム172またはLAN171を介してリモート・ソースから取得することができる。このイメージは、前述および/または図1に図示の揮発性または不揮発性のメモリ・ストレージ媒体のいずれかに記憶されたファイルから取得することもできる。デジタル・イメージング・デバイス164は、例えば汎用または専用のスキャナ、写真複写機、デジタル・スチル・カメラ、またはデジタル・ビデオ・カメラを含むことができる。関心のある1つまたは複数のオブジェクトの電子イメージを取得するために他のタイプのイメージング・デバイスを使用することもできる。
I. 1つのイメージから複数のオブジェクトをセグメント化すること
光学式スキャナおよび他のイメージング・デバイスは、(テキスト、図、写真などの)印刷情報を含むオブジェクトを獲得し、この情報をコンピュータが使用できるデジタル形式に変換するために使用される。一般に、ユーザは、スキャンすべきオブジェクトをスキャナのプラテン(platen)上に配置する。スキャナ・ヘッドが、プラテン区域上で通過させられ、結果としてのイメージが、複数のピクセルへと分割される。各ピクセル・ロケーションには、このピクセルのカラーまたは明暗度に依存する値が割り当てられる。次いで、(ビットマップと呼ばれる)結果としてのビット・マトリクスは、ファイル中として格納し、モニタ上に表示し、ソフトウェア・アプリケーションによって操作することができる。
前述のように、ユーザには、複数のオブジェクトをスキャンする必要がしばしばある。実施例として、ユーザは、複数の名刺、請求書、またはレシートをスキャンしたいと望むこともある。時間を節約するためには、一度に複数のオブジェクトをスキャンすることが望ましい。したがって、ユーザは、このスキャナのプラテン上に複数のオブジェクトを配置し、これらのオブジェクトを1回のパスでスキャンすることになる。ユーザは、オブジェクトごとにこのスキャナ・プラテン上にこれらのオブジェクトを配置し、そのふたを閉め、スキャニング・ソフトウェアを用いてインターフェースするプロセスを反復する必要がないので、これによって時間もエネルギーも共に節約される。
複数のオブジェクトを同時にスキャンすることに伴う1つの問題は、このオブジェクトがこのスキャン・イメージ中で、1つのビットマップとして表されるということである。これは、このスキャン済みのイメージが、ファイルとして保存され、モニタ上に表示され、あるいはソフトウェア・アプリケーションによって操作されるときに、このイメージが、1つのイメージまたはオブジェクトと見なされることを意味する。しばしばユーザは、各オブジェクトを個別のファイルとして保存したいと思うことがある。一部のスキャニング・アプリケーションは、ユーザが、各オブジェクトの境界を手動で選択し、このオブジェクトを個別のファイルとして保存することを可能にする。しかし、スキャン・イメージ内で各オブジェクトを手動で分離するこのプロセスは、繰り返しが多く、退屈で、時間のかかるプロセスである。
したがって、本発明の一実施形態は、スキャン済みのイメージから複数のオブジェクトを検出し抽出するための簡単でロバスト(robust)システムおよび方法を提供する。このシステムおよび方法は、ユーザがスキャナ上で複数のオブジェクトを配置できるようにし、このスキャナ上のオブジェクト数を認識し、ユーザが各オブジェクトを別のファイルとして、記憶したいかどうかについてユーザに問い合わせすることを可能にし、あるいは別々の電子フォームに取り込むために使用される。かかるシステムおよび方法は、このスキャンニング・プロセスをより速やかでより効率的なものにし、このスキャン済みのイメージ中の各オブジェクトを手動でセグメント化する負担から、ユーザを解放する。
A.システムの概要
本明細書中で説明しているこのオブジェクトの検出および抽出のシステムおよび方法は、デジタル・イメージ・データ内で所望のオブジェクトを自動的に見つけ出し、他のオブジェクトおよび任意のバックグラウンドからこれらの所望のオブジェクトを分離することができる。これによって、単一のパスで複数のオブジェクトをスキャンする利点を依然として保持しながら、各オブジェクトがそれ自体の個別のオブジェクトであると見なすことができるようになる。したがって、各個別のオブジェクトは、それ自体のファイルとして保存することができ、またこのスキャン・イメージ中に含まれる他のオブジェクトとは独立にソフトウェア・アプリケーションによって個別に操作することもできる。例えば、このシステムおよび方法は、フラットベッド・スキャナ(flatbed scanner)の単一パスによってスキャンされる際に、互いに隣接して配置されている複数の名刺を識別することができる。
一般的に言って、このオブジェクトの検出および抽出のシステムおよび方法は、形状が知られているがサイズ、オリエンテーション(向き)および個数が知られていないオブジェクトを検出し、抽出することができる。これは、オブジェクトの各方向、すなわち次元に沿った「イメージ・ファンクション(イメージの変化する様子)」を明確化することによって部分的に達成される。このイメージ・ファンクションは、原本のイメージ中のデータのファンクションであり、このデータを表している。1例として、イメージが、複数の長方形の2次元(2−D)オブジェクトを含んでいるものと想定する。さらにこのイメージ中に存在する長方形オブジェクトの数、ならびに各オブジェクトのサイズ、オリエンテーション(向き)および位置を決定することが望ましいものと想定する。この情報を決定するために、このオブジェクトの検出および抽出のシステムおよび方法は、2つの結合された1次元(1−D)のイメージ特性ファンクションを明確化する。これらのファンクションから、オブジェクト数、ならびにそれらのサイズ、オリエンテーション(向き)および位置を、多くの場合、決定することができる。
各イメージ・ファンクションは、ある種の要件を有している。所望のタイプの1つのオブジェクトしかこのイメージ中に存在しないときには、1つの要件は、このファンクションが特定の認識可能な特性を有するはずだということである。例えば、このオブジェクト・タイプが、長方形であり、このオブジェクトの特性ファンクションが、(データ・ピクセルと呼ばれる)このオブジェクト内に配置される特定の方向に沿ったピクセルの総数である場合、この認識可能な特性は、このファンクションが台形(trapezoid)であるということである。もちろん他の所望のオブジェクト・タイプおよび他のオブジェクト特性ファンクションは、他の認識可能な特性をもたらすことになる。一般的に、この認識可能な特性は、形状であるが、他の実施形態においては、この特性が、例えばピクセル・カラーまたはピクセルの強度(intensity)であることもある。
このオブジェクト特性ファンクションは、2つ以上の異なる方向に沿って算出され、このデータ・ピクセル中のどこかにギャップまたはディスパリティ(disparity)が存在する場合、このイメージは、複数のサブ・イメージへと分割される。これらのギャップは、この方向のうちの1つに沿ったその位置において所望のオブジェクトが存在しないことを示している。このサブ・イメージのサブ分割は、このオブジェクト特性ファンクションの認識可能な特性が2つの可能性のうちの一方を示すまで反復式に継続される。第1の可能性は、サブ・イメージが、(1つの長方形の名刺など)1つの所望のオブジェクトを含んでいることである。他方の可能性は、1つの所望のオブジェクトを見出すことができず、さらなるサブ分割が可能ではないことである。後者が起こる場合には、このシステムは、この所望のオブジェクトの完全な数、サイズ、オリエンテーション(向き)および位置を決定することができないことをユーザに通知する。
B.イメージ処理システム
図2は、前述のこのオブジェクトの検出および抽出のシステムおよび方法を組み込んだイメージ処理システム200の実装形態の一例を示す全体ブロック図である。一般的に言うと、デジタル・イメージ・データは、オブジェクトの検出および抽出システム202によって処理されて、このデジタル・イメージ・データ中に含まれるオブジェクト数、ならびに各オブジェクトのサイズ、オリエンテーション(向き)および位置が決定される。このシステム202は、これを、各オブジェクトの境界を決定し、これらのオブジェクトを自動的に別々のイメージ・オブジェクトに分離することによって、達成する。このことは、ユーザが手間暇をかけて各オブジェクトの手動分離を実施しなくても済むようにする。
ユーザは、(フラット・ベッド・スキャナや図1中の他のデジタル・イメージング・デバイス164などの)スキャニング・デバイス206のプラテン204上に(名刺やレシートなど)複数のオブジェクトO(1)、O(2)、およびO(3)を配置する。図2に示す破線は、このプラテン204がスキャニング・デバイス206上に収容されることを示している。次いでユーザは、プラテン204上に配置されたオブジェクトをスキャンし、デジタル・イメージ・データ210が取得される。このデジタル・イメージ・データ210は、各オブジェクト(O(1)、O(2)、およびO(3))、ならびにバックグラウンド・データ212を含む1つのデジタル・イメージである。図2においてハッチングされた線によって示されるバックグラウンド・データは、一般的にこのスキャニング・プロセス中にプラテン204を覆うスキャニング・デバイス206のふた(図示せず)のカラーを表す。この実装形態の一例では、このバックグラウンドのカラーが、知られており、あるいは推定したり、または決定したりすることができることを想定している。
オブジェクト検出および抽出システム202は、図1に示すコンピューティング環境100などの内部のコンピューティング・デバイス214上に配置される。以下で詳細に説明するように、デジタル・イメージ・データ210は、オブジェクト検出および抽出システム202に送られ、処理される。オブジェクト検出および抽出システム202は、デジタル・イメージ・データ210内の各オブジェクト(O(1)、O(2)、およびO(3))を見つけ出し、このデータ210から各オブジェクトを抽出する。抽出されると、これらのオブジェクトは、他のオブジェクトおよびバックグラウンド・データ212から切り離された個別のイメージ・オブジェクトとして処理することができる。
C.オブジェクト検出および抽出システム
オブジェクト検出および抽出システム202は、図3に示すいくつかのプログラム・モジュールを含んでおり、これらは、このシステムが、デジタル・イメージ・データ210中の1つまたは複数のオブジェクトを互いに自動的に区別できるようにする。オブジェクト検出および抽出システム202は、データ・ピクセル検出モジュール300、セグメンテーション・モジュール310、および単一オブジェクト抽出モジュール320を含んでいる。
(図2に示すイメージ・データ210などの)イメージ330は、データ・ピクセル検出モジュール300が受け取り、モジュール300は、このイメージ内の各ピクセルを解析し、分類して、ピクセル・データ340を取得する。このピクセル・データ340は、ピクセルがデータ・ピクセルか、それともバックグラウンド・ピクセルかなどの情報を含んでいる。データ・ピクセルは、イメージ330内に配置されたこれらのオブジェクトのうちのいずれかの内部に配置されたピクセルである。他方、バックグラウンド・ピクセルは、これらのオブジェクトの外部にあり、バックグラウンド中に存在するピクセルである。さらに、ピクセル・データ340は、イメージ330の2方向以上に沿ったデータ・ピクセル数などの情報を含んでいる。このデータ・ピクセル検出モジュールは、イメージ・ファンクションを明確化して、このピクセル・データを処理する。例えば、このイメージ・ファンクションがこのイメージの方向に沿ってこのデータの総和を取るように定義されている場合には、ピクセル・データ340は、イメージ330を記述する座標系の1軸に沿ったデータ・ピクセル数と、この座標系の別の軸に沿ったデータ・ピクセル数とを含むことになる。
次に、ピクセル・データ340は、セグメンテーション・モジュール310へと送られる。セグメンテーション・モジュール310は、このイメージ・ファンクションおよびピクセル・データ340中に何らかのディスパリティまたはギャップが存在するかどうかを決定する。以下で詳細に説明するように、これらのディスパリティは、通常、(周囲領域に対して)ほとんどデータ・ピクセルが存在しないか、どんなものであれデータ・ピクセルが存在しない、イメージ330中の領域である。次いで、ディスパリティが見出されたかどうかに基づいてイメージ330を分割することができるかどうかが決定される(ボックス350)。見出された場合には、イメージ330は、分割することができ、この対応するディスパリティに沿って分割される。このことは、イメージ330を複数の部分またはサブ・イメージに切断する結果を生じさせる(ボックス360)。次いで、各サブ・イメージは、処理するためにデータ・ピクセル検出モジュール300へとサブミットされ(ボックス370)、イメージ330がイメージ330の一部分(すなわち、各サブイメージ)によって置き換えられた状態で、再帰プロセスが開始される。各サブ・イメージについてのこの反復プロセスは、このサブ・イメージが1つのオブジェクトしか含まなくなるまで、またはこのサブ・イメージの分割がさらに可能でなくなるまで、継続される。この第1の状況においては、このサブ・イメージは、処理するために単一オブジェクト抽出モジュール320に送られる。この第2の状況においては、このシステムおよび方法は、このサブ・イメージ中のオブジェクトの数、サイズ、オリエンテーション(向き)および位置を決定できないことをユーザに通知する。しかし、このシステムおよび方法が非常に堅牢(robust)であるので、この後者の状況は、まれにしか起こらない。したがって、この方法は、このイメージをサブ・イメージに再帰的に分解することによって、各オブジェクトの所在を突き止め、分離する。この分解は、各サブ・イメージが1つのオブジェクトを含み、またはさらに分解できなくなるまで継続される。
前述のように、ディスパリティが存在しない場合には、この分割できないイメージ330の部分が単一オブジェクト抽出モジュール320に送られる。単一オブジェクト抽出モジュール320は、イメージ330を処理し、その結果、イメージ330内のオブジェクトが検出され抽出され、イメージ330中のオブジェクトについての数、サイズ、オリエンテーション(向き)および位置が求められる。この抽出されたオブジェクト380は、オブジェクト検出および抽出システム202から出力される。例えば、この抽出済みのオブジェクトは、この全体イメージ330内の1枚の名刺またはレシートのサブ・イメージを可能性がある。
図4は、図3に示す単一オブジェクト抽出モジュール320の詳細を示すブロック図である。一般に、単一オブジェクト抽出モジュール320は、1つのオブジェクトを含むかまたは全くオブジェクトを含まないサブ・イメージを検査し、存在する場合には、このオブジェクトの所在を突き止める。このモジュール320は、そのサブ・イメージがそれ以上分割できないと決定された後にこの主要イメージ330からの各サブ・イメージを処理する。または、主要イメージ330が分割できないと決定される場合には、モジュール320は、この主要イメージを処理する。
単一オブジェクト抽出モジュール320は、ピクセル解析モジュール400、検証モジュール410、およびオブジェクト・ロケーション出力モジュール420を含んでいる。1つのオブジェクトを含む可能性があるサブ・イメージ430は、ピクセル解析モジュール400が受け取り、ピクセル・データを生成する。このピクセル・データに基づいて、サブ・イメージ430内のオブジェクトのロケーションの推定座標が算出される。この推定座標は、検証モジュール410に送られる。検証モジュール410は、各推定座標を、サブ・イメージ430がその部分となっている主要イメージ330と比較する。イメージ330は、サブ・イメージ430と同じになり得る可能性があることに留意されたい。この比較を使用してこれらの推定座標のうちのどれがイメージ330と正しく適合しそうかどうかを決定し、サブ・イメージ430中におけるオブジェクトの存在を検証する。正しそうな適合が見出される場合には、この正しい座標が、オブジェクト・ロケーション出力モジュール420に送られ、次いで出力として送られる(ボックス440)。これらの座標により、サブ・イメージ430からこのオブジェクトを分離し、抽出することができる。正しそうな適合が見出されない場合には、オブジェクト・ロケーション出力モジュール420は、検証モジュール410によって、このことについて通知される。この場合、オブジェクト・ロケーション出力モジュール420は、この1つのオブジェクトの座標を出力しないが、その代わりにサブ・イメージ430中にはオブジェクトを見出すことができなかったことを述べるメッセージを出力する。
D.オブジェクト検出および抽出システムの全般的なフロー
図5は、本発明の一実施形態による、図2〜4に示すオブジェクト検出および抽出方法の詳細の一実施例を示す流れ図である。ステップ500においてイメージを受け取る。ステップ501において、第1の方向のデータ・ピクセル数を算出して第1のデータ・セットを生成する。同様にして、ステップ502において、第2の方向のデータ・ピクセル数を算出して第2のデータ・セットを生成する。一実施例として、このイメージは、一般的にピクセルの行および列を含む長方形のスキャン・イメージである。イメージ・ファンクションは、1方向のデータ・ピクセルの総和として定義することができる。この状況においては、行中のデータ・ピクセル数が、このイメージ中の行ごとに算出される。同様にして、列中のデータ・ピクセル数が、このイメージの列ごとに算出される。第1のデータ・セットは、このイメージの各行上のデータ・ピクセルの分布を含み、第2のデータ・セットは、このイメージの各列上のデータ・ピクセルの分布を含んでいる。
次にステップ503において、ステップ504においてディスパリティ領域が存在するかどうかを決定するために、この第1および第2のデータ・セットが調べられる。これらのディスパリティ領域、すなわちギャップは、データ・ピクセルがほとんどないかまたは全く存在しないイメージ中の区域である。ディスパリティが存在する場合には、ステップ505においてデータ・ディスパリティ線がディスパリティ領域に沿って確定される。例えば、このイメージ中のある行がデータ・ピクセルを含んでいない場合には、データ・ディスパリティ線がこの行に沿って確定される。ステップ506において、このデータ・ディスパリティ線に基づいて、このイメージは、サブ・イメージへと分割され、またはセグメント化される。これらのサブ・イメージが作成されると、これらのサブ・イメージは、その由来する入力イメージと切り離された別のイメージとして取り扱われる。次いで、ステップ507において各サブ・イメージは、この場合にも個別に処理される。したがって、ボックス501〜506は、サブ・イメージごとに反復プロセスにおいて反復される。
ステップ504において処理中のサブ・イメージの1つにディスパリティが存在していない場合には、このサブ・イメージは、この場合にも個別に処理される。この処理は、ステップ508において、この第1の方向の、このサブ・イメージ内のデータ・ピクセル数を算出して第3のデータ・セットを生成すること、ステップ509において、この第2の方向のデータ・ピクセル数を算出して第4のデータ・セットを生成すること、を含む。
この方法の最初の(または第1の)反復においてディスパリティが見出されない場合には、ボックス508および509は、実施する必要がないことに留意されたい。これは、この第1の方向のデータ・ピクセル数と、この第2の方向のデータ・ピクセル数とがボックス501および502においてこのイメージについてすでに算出されているという理由による。これについては、図5において、ステップ508および509を囲む破線のボックスによって示されている。
このピクセル・データが算出された後に、ステップ510においてこのデータの変曲点(inflection point)を使用して、このオブジェクトの潜在的な座標が決定される。このピクセル・データに対応する複数のオブジェクトが存在する可能性がある。この理由から、ステップ511において、この潜在的な座標をその入力イメージに対して検査して、これらの潜在座標のうち(もしあれば)どれがこの入力イメージと正しく適合しそうかを決定する。ステップ512における決定が肯定的であり、1組の潜在的な座標が正しく適合しそうである場合には、ステップ513において、これらの座標が出力として送り出される。このイメージ内の1つのオブジェクトの座標およびロケーションが分かった後に、このオブジェクトをこのイメージから分離し抽出することができる。このイメージに対するこの潜在的な座標が正しく適合しそうでない場合には、ステップ514において、このイメージ中でオブジェクトを見出すことができないと決定される。
E.動作例
このオブジェクト検出および抽出方法の詳細を例証するために、次に2つの動作例を提示することにする。
1.1つのオブジェクトの例
図6は、スキャン・イメージ(scanned image)602を備えるオブジェクト600を示している。この動作実施例において、このオブジェクト600は、レシートなどの長方形オブジェクトである。オブジェクト600は、長方形など、あらかじめ確定された形状を有することを想定している。しかし、オブジェクト600のサイズ、オリエンテーション(向き)、および位置については未知である。
このオブジェクトを抽出する際における第1のステップは、スキャン・イメージ602中の各ピクセルをバックグラウンド・ピクセルまたはデータ・ピクセルとして分類することである。この動作実施例においては、この分類は、各ピクセルのカラーを検査することによって実施される。バックグラウンド・ピクセルは、このオブジェクト600の外部に位置しているピクセルである。他方、データ・ピクセルは、このオブジェクト600内に位置しているピクセルである。このバックグラウンドbのカラー(すなわち、このオブジェクト600の外部のピクセルの値)は、知られており、または推定することができるものと、想定する。さらに、オブジェクト600内のピクセルの少なくとも大多数が、しきい値(threshold)量を超える分だけbとは異なるものと想定する。数学的観点では、スキャン・イメージ602中において、
|Im(i,j)−b|>しきい値
が成り立つどのピクセルも、データ・ピクセルとして確定され、他のすべてのピクセルは、バックグラウンド・ピクセルとして確定される。データ・ピクセルとバックグラウンド・ピクセルとを区別するためにグレースケール法ではなくてカラーを使用することができること、この決定が、単一しきい値の使用よりもより複雑な方法に基づくことが可能なこと、に留意されたい。
次に、スキャン・イメージ602上で設定される(複数の)軸を使用して、これらのデータ・ピクセルの総和が求められる。この動作例においては、i−軸が水平方向(すなわち、横行)に対応し、j−軸が垂直方向(すなわち、縦列)に対応するように、2次元の直交座標系604がこのスキャン・イメージ602上で設定された。第1に、各横行におけるデータ・ピクセル数が算出された。これは、P(j)(ここでP(j)は、横行またはi方向におけるイメージ・ファンクションである)として指定される固定されたj値についてのi−軸に沿ってデータ・ピクセル数を合計することによって達成された。これは、すべてのj値について実施される。P(j)(j番目の行のデータ・ピクセルの合計)についてのこの結果グラフが、第1の台形形状620である。第2に、各縦列のデータ・ピクセル数が、算出された。データ・ピクセル数は、Q(i)(ここでQ(j)は、列またはj方向におけるイメージ・ファンクションである)として指定される固定されたi値についてのj−軸に沿って合計された。これは、すべてのi値について実施される。Q(i)(i番目の行のデータ・ピクセルの合計)についてのこの結果グラフが、第2の台形形状630である。
次いで、初歩の幾何学が、この第1および第2の台形形状620および630に対して使用された。この幾何学的配置から、P(j)のグラフのトップ部分が、x cos(theta)に等しく、Q(i)のグラフのトップ部分がy sin(theta)に等しく、式中でxおよびyは、オブジェクト600の寸法であり、theta(シータ)は、オブジェクトが向いている角度である。このオブジェクト600のコーナは、4つの座標点(g,a)、(h,c)、(f,d)および(e,b)であり、これらは、この第1の台形形状P(j)および第2の台形形状Q(i)の変曲点に対応する。
スキャン・イメージ中のオブジェクトが、P(j)(第1の台形形状620)の同じグラフと、Q(i)(第2の台形形状630)の同じグラフを生じさせることになる別の状況が存在することに留意されたい。この可能性を図7に示す。この状況においては、第2のオブジェクト700が、第2のスキャン・イメージ702内に配置される。この第2のオブジェクト700は、図6に示す第1のオブジェクトと同じサイズを有しているが、逆のオリエンテーション(向き)になっている(すなわち、第2のオブジェクト700は、角度(theta)の代わりに角度(−theta)の向きになっている)。第2のオブジェクト700は、座標(h,b)、(g,d)、(e,c)および(f,a)を有しており、この同じ台形形状620および630を生成することになる他のただ1つの可能なオブジェクトである。
この単一オブジェクトのケースにおいては、第1のオブジェクト600または第2のオブジェクト700のどちらかが、スキャン・イメージ602および702の状態で、存在すると決定することができる。しかし、どちらのオブジェクトが存在するかについては検査を行う必要がある。どちらのオブジェクトが存在するかを決定するためには、このスキャン・イメージ・データに対して、各オブジェクトについての頂点が検査される。次いで、このデータに最もよく適合するオブジェクトが使用され、他方のオブジェクトは切り捨てられる。換言すれば、各長方形を解析して、そのサイズ、位置およびオリエンテーション(向き)の長方形が、|Im(i,j)−b|がその指定されたしきい値よりも大きいピクセルのほとんどすべてを、実際に含んでいることを決定する。1つのしきい値を使用してデータ・ピクセルおよびバックグラウンド・ピクセルを区別するケースが実施例として使用される。より複雑な方法、例えば、グレースケール・イメージの状態の単一色の代わりにカラーイメージの状態の3色カラーのすべてを使用するより複雑な方法は、より優れた結果をもたらすことができる。
2.複数のオブジェクトのケース
単一オブジェクトのケースについて以上で開示したオブジェクト抽出方法は、複数オブジェクトのケースにも拡張することができる。一般的に言えば、これは、複数のオブジェクトのケースを複数の単一オブジェクトのケースに分解するものであり、この単一オブジェクトのケースは、前述のように解決することができる。図8に示すように、この第2の動作例においては、スキャン・イメージ800は、複数のオブジェクト、すなわち第1のオブジェクト801、第2のオブジェクト802、および第3のオブジェクト803を含んでいる。この複数のオブジェクトのケースにおいては、以上で開示したものと同じオブジェクト抽出方法が使用されるが、再帰的方法で行われる。
具体的には、単一オブジェクトのケースと同様にスキャン・イメージ800中の各ピクセルは、データ・ピクセルまたはバックグラウンド・ピクセルのどちらかに分類された。この分類は、ピクセル・カラーに基づいて実施された。次に、イメージは、ある一方向におけるデータ・ピクセルの合計として定義された。この動作実施例においては、軸に沿ってのデータ・ピクセルの合計が算出され、P(j)(j番目の行におけるデータ・ピクセルの合計)についての結果グラフは、第1の台形形状810であり、Q(i)(i番目の行におけるデータ・ピクセルの合計)についての結果グラフは、第2の台形形状812である。このスキャン・イメージ800が複数のオブジェクトから構成されるこのケースにおいては、数量P(j)およびQ(i)は、個々のオブジェクトのそれぞれによって生成された台形形状の合計からなる、ことに留意されたい。
何らかの簡略化なしには、台形形状810および812のパラメータを推定することは難しいはずである。しかし、第1の台形形状810においては、このP(j)グラフが、jにおいてディスパリティ(またはギャップ)を有し、このjは、このデータ中でP(j)がゼロに等しくなるロケーションであることに留意されたい。これは、このロケーションには、イメージ・データがないことを示しており、したがってスキャン・イメージ800の行jより上および下の部分は、別々に取り扱われる。このことを利用して、このオブジェクト検出および抽出方法は、スキャン・イメージ800を、2つのサブ・イメージ、すなわち(1)上部サブ・イメージ820(jより上の行)、および(2)下部サブ・イメージ822(jより下の行)へと分割する。
スキャン・イメージ800が分割された後に、前述のこのオブジェクト検出および抽出方法をこの場合にも使用して、サブ・イメージ820および822のそれぞれを処理する。特に、両方の方向におけるイメージ・ファンクション(P(j)およびQ(i))が、上部サブ・イメージ820上および下部サブ・イメージ822上で算出される。図8を参照すると、上部サブ・イメージ820は、この問題が前述の単一オブジェクトのケースに分解されるような単一の長方形(第1のオブジェクト、801)を含んでいることが分かる。したがって、第1のオブジェクト801の座標は、単一オブジェクトのケースについて前述した方法を使用することによって見出される。
下部サブ・イメージ822は、第2のオブジェクト802および第3のオブジェクト803を含んでいる。このオブジェクト検出および抽出方法の別の反復を実施して、下部サブ・イメージ822内の各ピクセルが、ピクセル・カラーに基づいてデータ・ピクセルまたはバックグラウンド・ピクセルのどちらかとして分類される。この反復についての処理を図9に示す。具体的には、P(j)およびQ(i)についての量が算出された。P(j)についての結果グラフは、第1の台形形状830であり、Q(i)についての結果グラフは、第2の台形形状832である。図9に示すように、Q(i)にはロケーションiにおいてデータディスパリティ(またはギャップ)が存在する。これは、下部サブ・イメージ822は、iの左側のこれらの列(左のサブ・サブイメージ834)、およびiの右側のこれらの列(右のサブ・サブイメージ836)を取ることによってサブ・イメージにさらに分割することができることを示している。
F.擬似コードの実施例
一実施例として限定するものではないが、以下の擬似コードは、このオブジェクト検出および抽出方法の可能な一実装形態を記述するものである。
function procMult(Im);
I0=0; j0=0; i1=leni; j1=lenj;
[P, Q]=getProjections(Im);
[gapsi, gapsj]=getGaps(P, Q);
if ((length(gapsi)-2)+(length(gapsj)-2)<1)
drawObject(Im, P, Q);
else
for m=0:length(gapsi)-2
for n=0:length(gapsj)-2
procMult(Im(gapsi(m):gapsi(m+1),
gapsj(n):gapsj(n+1))
end
end
end
このコールされるファンクションは以下の通りである。
[P, Q]=getProjections(Im)
これは、イメージ領域上でP(j)、Q(i)を算出するルーチンである。
[gapsi, gapsj]=getGaps(P, Q)
これは、P(j)、Q(i)中で任意のギャップの位置を決定する。図6におけるこのイメージに対する応答は、gapsi=[0, imax]およびgapsj[0, jmax]となり、図8に対しては、gapsi=[0, imax]およびgapsj=[0, j0jmax]とな。
drawObject(Im, P, Q)
これは、各台形についてのP(j)、Q(i)を検査し、これらのパラメータを推定し、どの長方形がこのデータに適合するかどうかを決定する。適合する場合、グローバル・リストに頂点を追加する。
G.実装の課題
以上の説明では、バックグラウンド・ピクセルとデータ・ピクセルの間に混同がないことを想定している。この理想的な状況においては、グラフP(j)およびQ(i)によって形成される台形は、理想的な台形となることになり、自信を持って簡単にこの変曲点を決定することができる。
しかし実際には、すべてのピクセルを正確に分類することが可能でないこともある。この不正確さは、これらの台形が例えばノイズに起因して理想的なものとは異なる可能性があるという結果をもたらす。しかし、幸いに、これらのイメージ・ファンクション(P(j)およびQ(i))がある方向のすべてのピクセルについての総和を取ったものとして定義されるので、これらのP(j)ファンクションおよびQ(i)ファンクションは本来、堅牢なものとなる。さらに、これらの台形のトップ・ラインは、一般的に最も共通の値(common value)であるので、これはヒストグラムから堅牢に推定することが容易である。次いで、変曲点は、この共通の値のしきい値内にあるポイントとして推定することができる。さらに、これらのP(j)ファンクションおよびQ(i)ファンクション内にデータ・ディスパリティまたはギャップが存在するかどうかを決定する際に、このノイズまたはバックグラウンド・カラーの誤推定により、P(j)およびQ(i)が正確にゼロには等しくなることは殆どない、ということが通常である。
この動作例中で使用されるこれらのイメージ・ファンクション(P(j)およびQ(i))は、複数の異なる方向におけるデータ・ピクセルの総和として定義されたが、他の定義を使用することもできることに留意されたい。実施例として、イメージ・ファンクションR(j)は、「最右部データ・ピクセルの列位置マイナス最左部データ・ピクセルの列位置」に等しいように定義することができ、また別のイメージ・ファンクションS(i)は、「最上部データ・ピクセルの行位置マイナス最下部データ・ピクセルの行位置」に等しいように定義することもできる。この状況においては、R(j)およびS(i)もまた、このオブジェクト検出および抽出方法が効率的に動作することを可能にすることになる。実際に、ノイズがない場合に、このイメージが単一長方形オブジェクトからなるときには、P(j)=R(j)およびQ(i)=S(i)となることに留意されたい。
サブ・イメージ中で単一オブジェクトを見出す特定のアプローチは、可能性のある多数のアプローチのうちのただ1つに過ぎないことに留意されたい。サブ・イメージが単一オブジェクトしか含まないと決定された後には、他の多くのアプローチが、満足な結果をもたらすことができる。
H.追加の実施形態
一実施形態においては、このオブジェクト検出および抽出プロセスは、このイメージのサブ・サンプリングされた(sub-sampled)バージョンに対して適用される。このイメージのサブ・サンプリングされたバージョンを使用する利点は、これによってハイレゾリューション(high resolution)イメージ・データの処理が回避できること、にある。
他の実施形態においては、サブ・イメージがおそらく単一オブジェクトしか含んでいないと決定された後に、フィティング・アルゴリズムを使用してこれらP(j)ファンクションおよびQ(i)ファンクションに対する台形の最良適合を推定する。次いで、このデータに最良に適合する台形の変曲点(またはニー・ポイント(knee point))を使用してこのオブジェクトの頂点の推定値を形成する。
さらに他の実施形態においては、サブ・イメージ中のこの単一オブジェクトの頂点の推定値が見出された後に、このサブ・イメージのコンテンツに対する単一オブジェクトの最良適合が決定される。これは、このサブ・イメージ中の実際のデータとこの提案された適合長方形の間の平方平均値(または他のメトリック)を最小にする長方形オブジェクトを決定する技法を使用することによって達成される。
さらに他の実施形態においては、このスキャナ・プラテンのバックグラウンド・カラーを自動的に決定できると判明しない場合に、ユーザは、マウスなどのポインティング・デバイスを用いてバックグラウンド・ピクセルを指し示してこのプロシージャを支援することができる。
他の実施形態においては、このアルゴリズムがオブジェクトを正しくセグメント化するのに失敗した場合に、ユーザは、このオブジェクトの境界またはコーナを示してこのプロシージャを支援することができる。
II.光学式文字認識および各セグメント化オブジェクトのクラスタリング(clustering)
(図2に示す)オブジェクト検出および抽出システム202が各識別オブジェクトの座標を出力し、これらのオブジェクトがその全体イメージから抽出された後に、各オブジェクトのイメージを処理して、このオブジェクト中に含まれる有用な情報要素を識別することができる。次いで、アドレス帳への連絡先エントリや経費報告書へのエントリなど関連する電子フォームに入力する際にユーザを支援するために、これらの情報要素を、クラスタ化して、モジュールに提供することができる。
図10は、本発明の一実施形態による、情報要素を識別しこれらの要素をクラスタ化するための方法900を示すフローチャートである。ステップ901において、オブジェクト検出および抽出システム202に依って識別された個々のオブジェクトが、その全体イメージから抽出される。一実施形態においては、各オブジェクトは任意のオリエンテーション(向き)の長方形である。これらの長方形は、名刺、レシートまたは他のタイプのオブジェクトに対応することが可能である。
ステップ902において、各オブジェクトは、回転されて上下正しく水平に向けられる。前述のように、これらのオブジェクトは、そのスキャナ上にランダムに、上下正しく、横向きに、上下が逆さまに、あるいはこれらの間の任意の角度になど、任意のオリエンテーション(向き)に配置することができる。
ステップ903において、回転済みの各オブジェクトのイメージは、すべての4つの直交するオリエンテーションで光学式文字認識(OCR)モジュールを使用して処理される。ここで、このオブジェクトは、念のために、ステップ902において上下が逆さまに、または横向きに、回転されている。これらのオリエンテーションは、想定されている上下正しい水平の位置から、0度、90度、180度および270度回転されたオリエンテーションを含んでいる。ステップ903は、テキスト・コンテキストおよびロケーション情報に加えて、オブジェクトのオリエンテーションを決定するために使用される。このステップ903の出力は、このオブジェクト上の認識済みのテキスト・ブロックおよびその2次元(2−D)ロケーションのリストである。
このテキスト・ブロックは、アルファ・ニューメリック・キャラクタや他の記号のストリングなど、任意の情報要素を含むことが可能である。これらの要素は、ワード、数字、他のグラフィック情報など任意の使用可能な形態でも取ることができる。
ステップ904において、ステップ902で認識されたテキスト・ブロックが、テキスト領域を識別するためにクラスタ化される。テキスト領域の実施例は、1)(名刺の最上部などにおける)名前および肩書きと、2)自宅電話番号、職場電話番号および携帯電話番号、ならびにファクシミリ情報と、3)電子メールおよびウェブURL情報と、4)ロゴおよび会社名、などを含んでいる。これらのテキスト領域は、これらの領域内のワードについてのワード間のスペーシングが、異なるテキスト領域間のスペーシングと比べると、平均的にずっと小さくなっていることによって特徴づけられる。これらのテキスト領域は、オーバーラップしていない。ワードをテキスト領域内にクラスタ化するプロセスについては、図11を参照して以下でさらに詳細に説明している。
ステップ905において、特定のオブジェクトについてのテキスト領域は、適切なテキスト領域区切り記号(text region delimiter)を用いて単一ストリームのテキストにシリアル化される。例えば、このテキスト領域は、このオブジェクトの左上コーナからこのオブジェクトの右下コーナへの順序でシリアル化することができる。このテキスト領域区切り記号は、例えば改行または段落の切れ目を含むことができる。次いで、このクラスタ化されシリアル化されたテキスト領域は、アドレス帳における連絡先レコードなど関連する電子フォームへの入力に使用するために、支援フォーム・フィリング・モジュール(assisted form-filling module)へと渡される。
図11は、図10のステップ904内のテキスト領域のワードをクラスタ化するための方法を示すフローチャートである。前述のように、図10のステップ903において識別されたワードは、テキスト領域を識別するためにクラスタ化される。ステップ910において、この方法は、このオブジェクト内の最近接の2つのワードをテキスト領域として識別する。一実施形態においては、近接性は、このオブジェクト内のワードについての境界ボックス間のx距離およびy距離に基づいて確定される。これらの距離は、例えばユークリッド距離およびマンハッタン距離を表すことができる。ステップ911において、このクラスタリング・プロセスは、このテキスト領域に含まれるワードについての平均x距離および平均y距離を計算する。
ステップ912において、このクラスタリング・プロセスは、このテキスト領域に最近接するワードで、このテキスト領域中にまだ含まれていないワードを見つけ出す。テキスト領域とこのテキスト領域中に含まれていないワードとの間の距離の一例は、そのワードとこのテキスト領域中の任意のワードとの間の最小距離として確定される。別の例は、このワードとこのテキスト領域の境界ボックスとの間の距離である。
ステップ913において、このクラスタリング・モジュールは、この最近接するワードについてのこのテキスト領域までのx距離およびy距離が、このテキスト領域の平均x距離と平均y距離のある倍数よりも小さいかどうかを決定する。独立のファクタをこのx距離およびy距離について使用することができる。小さい場合には、ステップ914において、このワードがこのテキスト領域に追加され、このクラスタリング・モジュールはステップ912に戻る。小さくない場合には、このテキスト領域は、ステップ915においてこのオブジェクト上でこの1組のワードから抽出され、このクラスタリング・モジュールは、ステップ910に戻ってこのオブジェクト上に残っているワード内において2つの次の最近接するワードを見つけ出す。このプロセスは、このオブジェクト上のすべてのワードがテキスト領域中へとクラスタ化されてしまうまで反復される。
III.支援フォーム・フィリング
次いで認識済みのテキスト・ブロックのこのクラスタ化されたテキスト領域は、フォーム・フィリング・モジュールで使用するために、図1に示すローカル・メモリ・デバイスまたはリモート・メモリ・デバイスのうちの一方など、タグ付けされていないメディア・データ・ストアに記憶される。
図12は、本発明の一実施形態による、電子フォームの支援フォーム・フィリングを容易にするFFI(form filler interface;フォーム・フィラー・インターフェース)1002を生成し、動作させるためのシステム1000を示す図である。この例においては、このフォームは、アドレス帳の連絡先レコードである。このフォーム・フィリング・モジュールは、ユーザに対してフォーム・フィラー・インターフェース1002を提示し、クラスタ化されたテキスト領域からのタグの付いていないデータをタグ付きデータ(例えば、XMLフォーマットのデータ)へと、またはデータベースへと転送することによって、このフォームに入力する際にこのユーザを支援する。(本明細書中では「コンピュータ画面」とも呼ばれる)FFI1002は、(本明細書中では「フォーム」とも呼ばれる)フォーム・データ・グラフィック・ユーザ・インターフェース(GUI)1004と、(本明細書中では「テキスト・ボックス」とも呼ばれる)オブジェクト・データGUI1006とを備え、これらのGUIは、ユーザの便宜のためにこのスクリーン上に互いに隣接して配置することができる。
フォーム・データGUI1004は、各フィールドが、個々の情報部分(例えば、ラスト・ネーム、ファースト・ネーム、住所、郵便番号など)のために確保されるように複数のフィールド1008を含んでいる。ステータス・インジケータ(status indicator)1010を各フィールド1008に関連付けて、この特定のフィールドにおける現在の情報ステータスについてユーザに通知することができる。信頼度インジケータ(confidence indicator)1012も各フィールド1008に関連付けて、フィールド1008中の情報の正しさに関連する確率についてユーザに通知することもできる。さらに、フォーム・フィラー・インターフェース1002は、処理中のオブジェクトのイメージ(図12に図示せず)を表示することができる。
図12に示すFFI1002は、アドレス帳に連絡先情報を入力するためのインターフェースを例示している。最初にフォーム・データGUI1004および空のテキスト・ボックス1006が、ユーザに対して提示される。ユーザは、このデータストアからテキスト・ボックス1006に、(例えば、この画面上の表示ウィンドウからカット・アンド・ペースト(cutting and pasting)を介して)このクラスタ化されたテキスト領域をコピーすることができる。代わりに、このフォーム・フィリング・モジュールは、この関連するオブジェクト(例えば、名刺、請求書またはレシート)から取得されたクラスタ化されたテキスト領域をテキスト・ボックス1006に自動的に挿入することができる。この元のイメージが複数のオブジェクトを含む場合には、このフォーム・フィリング・モジュールは、例えばオブジェクトごとに1つの連絡先レコードを入力する。
このフォーム・フィリング・モジュールは、タグの付いていないオブジェクト・データを分類し、または解析して、テキスト・ボックス1006中のオブジェクト・データ内の情報要素を識別しようと試みることができる。このオブジェクト・データが解析されると、このモジュールは、フォーム1004のフィールド1008にこれらの識別された要素を入力する。このテキスト・ボックス1006中の、オリジナルのタグの付いていないオブジェクト・データと、フォーム1004とは、画面1002上に同時に表示することができ、その結果、今やタグ付きのオブジェクト・データが、(例えば、カラー・コーディングまたは他のビジュアル・インジケータ(visual indicator)を使用して)関連付けを視覚的に示すように、補強することができる。例えば、システム1000は、紫色のカラーを使用して、テキスト中のある種の要素がフォーム1004中の住所フィールドに取り込むために使用されたことを示すことができる。この例によれば、別のカラー(例えば、オレンジ色)を使用して、特定のテキストには潜在的に関心があるが、信頼度レベルがそのテキストをフィールドに割り当てるのに十分には高くないことをこのモジュールが決定していることを示すことができ、したがってユーザは、この特定のテキストを特定のフィールドに割り当てるべきかどうかを決定することができる。
本発明の一実施形態によれば、ユーザは、フォーム1004の一部分に入力することができ、このフォーム・フィリング・モジュールは、テキスト・ボックス1006中の使用可能なオブジェクト・データを検索し、可能性のあるフィールド・エントリ候補を突き止め、この突き止められた要素を表示し、このフォームの残っているフィールドに入力することができる。このようにして半自動フィリング(partial autofill)を実施することができる。
このフォーム・フィリング・モジュールが、名刺上の会社名などのテキスト・ブロックを正しく識別することに失敗する場合には、このモジュールがこのテキスト領域をクラスタ化してしまっている可能性がある。ユーザは、例えばポインティング・デバイスを使用してテキスト・ボックス1006から適切なフィールド1008へとこのテキスト・ブロックをドラッグすることができる。これは、レシートなどのドキュメントをスキャンするアプリケーションでは特に有用である。レシート上には、数字およびテキストの多数のブロックがある場合もあり、このうちでユーザは、ベンダ名、日付、最終金額、およびおそらく税金などのフィールドに入力することにしか関心がない。これらのテキスト領域が、クラスタ化され、テキスト・ボックス1006に表示される限り、ユーザは、適切なテキスト・ブロックを適切なフィールドにドラッグすることができる。
ユーザは解析の正しさを速やかに検証することができる。この解析にエラーがある場合、ユーザは、テキスト・ボックス1006からその要素をドラッグし、それをフォーム1004中の対応するフィールド1008上にドロップすることにより、フィールド1008に直接にタイプ入力することにより、またテキスト・ボックス1006中のテキストを訂正することなどによって、これらのエラーを訂正することができる。さらに、解析プロトコルは、ユーザによって提供される以前の訂正や追加などのサイド情報を利用することができる。例えば、ユーザがフィールド中に情報を入力し、または最初の解析を訂正している場合には、ユーザは、(図12中の「Auto Fill」とマークの付いたボタンをクリックすることにより)このオブジェクト・データを再解析し、ユーザによって提供されるサイド情報を利用するようにこのシステムに指示することができる。
例えば、名前「John Smith」が名刺から抽出される場合、これは、特定の連絡先の「John」がファースト・ネームであり、「Smith」がラスト・ネームであることを示唆している。しかし、ユーザは、この連絡先のファースト・ネームおよびラスト・ネームが、偶然か別の理由でこの元のオブジェクトにおいて順序が入れ替わっていることを理解し、上述のドラッグ・アンド・ドロップ技法を使用して「John」をファースト・ネーム・フィールドに移動することができる。さらに、フィールドに対してドロップ・ダウン・メニューを提供することができ、それにより、テキスト・ボックス1006中に表示されるオブジェクト・データが複数のファースト・ネームを含む場合、例えばこれらのファースト・ネームの一方をこのファースト・ネーム・フィールドに表示し、他方をこのドロップ・ダウン・メニューに提供することができる。ユーザは、このフィールドが訂正を必要とする場合に、単にこのメニューをオープンし(例えばこのフィールド上をクリックし、またはフィールド上で停止し)、代替名を選択することができる。
このアクションに応じて、このシステムは、「Smith」をこのラスト・ネーム・フィールドに自動的に移動し、ユーザが、「John」がこの連絡先のファースト・ネームであり、したがってこの連絡先のラスト・ネームではないことを検証したことに基づいて、このラスト・ネーム・フィールドについての信頼度レベルを増大させながらこのフォームに取り込むために必要とされるユーザ・アクションの数を減らす。かかる自動化ポスト・ユーザ・アクション・フィールド・フィリング(automated post-user-action field filling)は、訂正伝搬の一実施例である。
一部のケースでは、どのフィールドをサイド情報として使用できるかをユーザが指定できるようにすることが有利になり得る。例えば、これらのフィールドは、ユーザが入力しまたは訂正するフィールドを含むことができる。ユーザは、このシステムが他のフィールドを上書きできることを指定することができる。このような許可は、このステータス・インジケータ1010を介して容易にすることができ、このインジケータは、ユーザが、このフィールド上で実行していないこと、またはこのフィールド中への情報の検証、訂正、および/または入力を行っていることを示すことができる。各フィールドのステータスは、例えば「未入力で未検証」、「自動入力済みだが未検証」、または「ユーザによりまたは自動的に入力済みで検証済み」とすることが可能である。
例えば、「未入力で未検証」フィールドは、第1のカラー(例えば、赤色)のステータス・インジケータ1010を有することが可能である。このシステム1000がこのフィールドに入力する(例えば、このフィールドが自動入力される)場合には、このステータス・インジケータは、第2のステータス・インジケータ・カラー(例えば、黄色)にアップグレードされて、このフィールドは自動的に入力済みだが未検証であるとユーザに警告することができる。かかるインジケータは、「John Smith」の実施例におけるようにユーザ検証を必要とするが必ずしも訂正が必要とは限らないという状態についてこのユーザに警告することができる。このフィールド中の情報が正しいことをユーザが検証する場合、このステータス・インジケータを第3のカラー(例えば、緑色)にアップグレードして、「入力済みで検証済み」というステータスを示すことができる。この実施例をさらに進めると、ユーザが赤色ステータス・インジケータを有するフィールドに情報を入力する場合には、ユーザはこのフィールドに入力し、そうすることによってこの情報が正しいことを検証しているので、このステータス・インジケータを直接に緑色へとアップグレードすることができる。したがって、このフィールドは、今や「入力済みで検証済み」というステータスである。さらに、この第1のフィールドのユーザによる検証および/または訂正を介して他の1つまたは複数のフィールドの信頼度をアップデートおよび/または改善することができる。例えば、「John Smith」の実施例において、どの名前がファースト・ネームであり、どの名前がラスト・ネームであるかが検証されていない場合には、ファースト・ネーム・フィールドもラスト・ネーム・フィールドも共に黄色のステータス・インジケータを有する可能性がある。「John」が正しいファースト・ネームであることをこのユーザが検証する場合には、このモジュールは、(例えば、緑色のステータス・インジケータ・カラーを用いて)このファースト・ネーム・フィールドのステータスを「ユーザにより入力済みで検証済み」にアップグレードすることができる。「John」がファースト・ネームであること(したがってラスト・ネームではないこと)をこのユーザは検証しているので、このシステムは、「Smith」をこのラスト・ネーム・フィールドに保持することができ、したがってこのラスト・ネーム・フィールドについての信頼度インジケータを同様に黄色から緑色(例えば、自動的に入力済みで検証済み)へとアップグレードすることができる。
本発明の関連した態様によれば、カラー・コード化された信頼度インジケータ1012(例えば、図12に示すようなフィールドの周囲に描かれたボックス、またはこのフィールドの境界カラー、フィールドおよび/またはテキストのバックグラウンド・カラーなど)は、特定のフィールド1008に関連付けることができる。例えば、このシステム1000にとって高い信頼度ファクタで入力することが難しいフィールドは、このフィールド中の情報が所望の信頼度しきい値よりも小さいことをユーザに示すことができるカラー・スキームに従って、ラベル付けすることができる。1つまたは複数の信頼度インジケータは、カラーの異なる陰影で、0から1の値を表すことができる。さらに、この実施例における信頼度インジケータ1012は、例えば、ソリッド・インジケータ(solid indicator)、ブリンキング・インジケータ(blinking indicator)、フルの明度やコントラストのフェード・インしている、あるいはフェード・アウトしているインジケータなど、あるいは対象となる1つまたは複数のフィールドに関する様々な信頼度レベルを示すことができる他の適切な任意のインジケータ・スキーム、とすることができる。
例えば、「@」または「.com」を含む情報部分は、このフォーム中の「電子メール」フィールドに自動的に挿入することができる。同様に、フォーマット(nnn)nnn−nnnn、nnn−nnn−nnnnまたはnnn−nnnnなどを有し、nが整数である情報の部分は、高い信頼度で電話番号フィールドへと自動挿入することができる。高信頼度指標(high-confidence indicia)は、かかる情報を挿入することができるフィールドに関する他の情報タイプにも関連付けることができること、および、かかる情報の自動挿入が、電子メール・フィールドおよび/または電話番号フィールドだけには限定されないこと、を理解されたい。
図13は、本発明の一代替実施形態によるフォーム・フィリング・インターフェース1102を示す図である。図12に示す実施形態と同様に、フォーム・フィリング・インターフェース1102は、異なる情報タイプに対応する複数のフィールド1108とフィールド1108ごとのステータス・インジケータ1110とを有するフォーム・データGUI1104を含んでいる。しかし、フォーム・フィリングGUI1102は、光学式スキャナなどから取得された電子イメージ1122を表示するためのプレビュー・ペイン(preview pane)(GUI)1120をさらに含んでいる。イメージ1122は、図3に示すオブジェクト検出および抽出モジュール202によってこのイメージ1120からセグメント化されている、名刺1124など複数のオブジェクトを含んでいる。一実施形態においては、各オブジェクト1124は、このオブジェクトを取り囲むカラー化された境界によってハイライトされている。例えば、各オブジェクトは、赤色境界によってハイライトすることができる。
これらの個別オブジェクト1124は、全体イメージ1122からセグメント化されているので、このユーザは、例えば特定のオブジェクト1124上でカーソルを移動することにより、またこのオブジェクトをクリックすることにより各オブジェクトを個別に選択することができる。この場合、このオブジェクトは、オブジェクト・ペイン(GUI)1106中に表示される。オブジェクト・ペイン1106は、図12に示すオブジェクト・データGUI1006と同様であるが、この選択されたオブジェクト1124を、テキスト・ブロック1130によって表される(解析され、または解析されていない)オブジェクト・データの状態で表示するために修正されている。
各テキスト・ブロックは、例えばこの関連するテキストを取り囲むカラー化されたボックス1132によってオブジェクト・ペイン1106中で識別される。同じ情報タイプに属するテキスト・ブロックは、同じカラー・ボックス1132を用いてハイライトすることができる。異なるクラスタからのテキスト・ブロックは、したがって異なるカラー・ボックス1132を有することになる。このカラーは、異なる情報領域1140を識別するために使用されるどのカラーにも合わせることができる。例えば、複数のワード「Tooth Fairy,Inc.」は、会社名を識別し、青色ボックス1132を用いてハイライトすることができ、これは、対応する情報領域1140と同じカラーに合わせることができる。テキスト・ブロック中の各ワードまたはトークンは、図13に示すようにそれ自体のカラー・ボックス1132を有することができ、あるいはこの同じテキスト・ブロックのすべてのワードを単一のカラー・ボックス132を用いてハイライトすることもできる。同様に、住所テキスト・ブロックは、紫色など異なるカラーのカラー・ボックスを有することができる。「Magical Figurines」など使用されないテキスト・ブロックは、さらに他のカラー・ボックス1132を用いてハイライトすることができる。
図12に示す実施形態と同様に、このカラー関連付けとハイライトされたテキストは、ユーザが、この解析されたデータを検証し、このフォーム・フィリング・モジュールによって入力されているフィールド1108のうちのどれでもアップデートしまたは訂正するのを支援する。このユーザは、フィールド1108に直接にタイプ入力したり、オブジェクト・ペイン1106からこのフィールドへと情報要素をドラッグ・アンド・ドロップしたり、あるいはこのフィールド中のドロップ・ダウン・メニューを介して複数の情報要素から選択したり、することができる。例えば、このフォーム・フィリング・モジュールは、「John Smith」および「Jim Doe」を2組の異なるファースト・ネームおよびラスト・ネームとして識別することができる。このフォーム・フィリング・モジュールが、これらの「ファースト・ネーム」フィールドおよび「ラスト・ネーム」フィールド1108に間違った名前を入力する場合、ユーザは、以上の方法のうちの1つによってその正しい名前を簡単に選択することができる。これらの訂正が行われているときに、このフォーム・フィリング・モジュールは、関連したフィールドを自動的にアップデートできるように、このテキスト・ブロックを再解析して、新しい「サイド情報」を使用することができる。
この場合にも、ステータス・インジケータ1110は、特定のフィールドにおける任意の情報のステータスを示す。これらのインジケータは、例えば「未入力で未検証」、「自動的に入力済みだが未検証」または「入力済みで検証済み」を示すことができる。
図13は、また、オブジェクト1124aのうちの1つが、このイメージ1122内に任意の角度に方向づけられている一例を示している。この例においては、オブジェクト1124aは、水平に対して若干傾いている。選択されると、オブジェクト1124aは、オブジェクト・ペイン1106内に表示される。しかし、(図2に示す)オブジェクト検出および抽出システム202が各オブジェクト1124の座標を識別しており、これらのオブジェクトがその全体イメージから「抽出されて」いるので、各オブジェクトのサブ・イメージを回転して、オブジェクト・ペイン1106に示すように水平方向に上下正しく向けることができる。このことは、このOCRモジュールが、各オブジェクト上で信頼できる文字認識を実施し、このフォーム・フィリング・モジュールによって解析するためにこの認識済みのテキスト・ブロックをクラスタ化することができるようになる。したがって、このオブジェクトは、0度および360度を含めてその間の任意の角度など、その全体イメージ1122内で任意のオリエンテーションを有することができる。
図14は、例えば(図12に示す)フォーム・フィリング・インターフェース1002、または(図13に示す)フォーム・フィリング・インターフェース1102を介して支援フォーム・フィリングを容易にするフォーム・フィリング・モジュールまたはシステム1200を示す図である。図12および13の両者からの参照番号が図14に含められて、両方の実施形態の同様な要素を指し示している。システム1200は、制御コンポーネント1202、解析コンポーネント1208、タグの付いていないメディア・データ・ストア1210、フォーム・データ・ストア1212、およびサイド情報ストア1214を含んでいる。制御コンポーネント1202は、フォーム・データGUI1004、1106、オブジェクト・データGUI1006、1106、および解析コンポーネント1208に動作可能に結合されている。本出願において使用される際に、用語「コンポーネント」は、コンピュータに関連したエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのことを意味する。例えば、コンポーネントは、それだけには限定されないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータを含んでいる。実例として、サーバ上で実行されるアプリケーションもサーバもコンピュータ・コンポーネントとすることが可能である。1つまたは複数のコンポーネントが、プロセスおよび/または実行スレッド内に存在することができ、またコンポーネントは、1台のコンピュータ上に局所化されることもあり、または複数のコンピュータ間に分散されることもあり、あるいはその両方とすることができる。「スレッド」は、そのオペレーティング・システムのカーネルが実行のためにスケジュールするプロセス内のエンティティである。当技術分野においてよく知られているように、各スレッドは、このスレッドの実行に関連付けられた揮発性データである関連する「コンテクスト」を有する。スレッドのコンテクストは、このスレッドのプロセスに属するシステム・レジスタの内容および仮想アドレスを含んでいる。したがって、スレッドのコンテクストを含む実際のデータは、スレッドの実行につれて変化する。
制御コンポーネント1202は、タグの付いていないオブジェクト・データを受け取り、解析して、フォーム中のフィールドへの取り込むことを容易にする。かかるタグの付いていないデータは、オブジェクト・データGUI1006、1106を介してユーザに提示することができる。このタグの付いていないデータは、例えば名刺、インボイスまたは購入レシートからの認識済みのテキストとすることが可能である。このタグの付いていないデータは、テキスト領域中にクラスタ化されたときに、タグの付いていないメディア・ストア1210に記憶することができる。解析コンポーネント1208は、タグの付いていないメディア・データ・ストア1210に記憶されたタグの付いていないデータを解析して、情報タイプを識別し、可能性のあるフォーム・フィラー・データ(form filler data)を決定する。前述のように、このフォーム・フィラー・データは、名前、数値データ・セット、住所、電話番号、郵便番号などの適切な名詞を含むことができ、次いでこれらをフォーム・データ・ストア1212に記憶することができる。フォーム・データ・ストア1212に記憶されるデータを使用してこのフォーム中のフィールドに取り込み、フォーム・データGUI1004、1104を介してユーザに提示することができる。また、オブジェクト・データGUI1006、1106中のこのタグ付きの解析済みのオブジェクト・データを、ビジュアル・インジケータを用いてハイライトして、このデータが属す特定の情報タイプまたはフィールドを特定することができる。
図12および13に関して述べたように、次いでこのユーザは、このフォーム中の個別のフィールドの検証および/または訂正を行うことができ、かかる検証および/または訂正をサイド情報としてサイド情報ストア1214に記憶することができる。解析コンポーネント1208は、記憶されたサイド情報を使用して、このユーザによって行われる検証および/または変更に従ってこのフォーム・データ・ストア1212をアップデートすることができる。このようにして、テキストの分類および/またはラベル付けをアップデートすることができ、これにより、自動的に入力されたフィールドに関連付けられたるステータス・レベルは、訂正伝搬を容易にするように、フィールドについてのユーザによる検証および/または訂正に応答してアップグレードすることができるようになる。
本明細書中で説明するデータ記憶(例えば、メモリ)コンポーネントは、例えば、図1を参照して説明したそのローカル・メモリまたはリモート・メモリのうちのどちらを含むことも可能であり、揮発性メモリまたは不揮発性メモリを含むことも可能であり、また揮発性メモリも不揮発性メモリも共に含むことも可能であることが理解されよう。
本発明の一実施形態においては、解析コンポーネント1208は、特定のデータ部分を入力することができる最も適切なフィールドに関して推論(inference)を行うことができるAI(artificial intelligence;人工知能)コンポーネントを含んでいる。本明細書中で使用する際に、用語「推論」は一般に、イベントおよび/またはデータによって捕捉される1組の観察結果からそのシステム、環境、および/またはユーザの状態について推理し、または推論するプロセスのことを意味する。推論を使用して、特定のコンテクストまたはアクションを識別することができ、また例えば複数の状態上の確率的分布を生成することができる。この推論は、確率的とすることができる。すなわち、この推論は、データおよびイベントの考察に基づいた対象となる複数の状態の確率的分布の計算を含むことが可能である。推論はまた、1組のイベントおよび/またはデータからより高レベルのイベントを構成するために使用される技法のことを意味する場合もある。これらのイベントが一時的な近い近接性で相関していようとなかろうと、またこれらのイベントおよびデータが1つまたはいくつかのイベントおよびデータ・ソースに由来していようとも、かかる推論は、1組の観察されたイベントおよび/または記憶されたイベント・データから新しいイベントまたはアクションの構築をもたらす。サポート・ベクトル・マシン(support vector machine)、ニューラル・ネットワーク(neural network)、エキスパート・システム(expert system)、ベイジアン信念ネットワーク(Bayesian belief network)、ファジー・ロジック(fuzzy logic)、データ・フュージョン・エンジン(data fusion engine)など様々な分類スキームまたは分類システムは、本主題の発明に関連して自動アクションおよび/または推論アクションを実施することに関連して使用することができる。さらに、本発明の一実施形態においては、HMM(hidden Markov model;隠れマルコフモデル)に基づいて推論を行うことができる。
図15は、本発明の一実施形態による支援フォーム・フィリングを容易にするHMMの使用を示すダイアグラム1300である。HMMおよび他の確率的モデルを使用してユーザ・インターフェースからパーサへと情報を「バック・チャネリング(back-channel)」して訂正の伝搬を実施することができ、これによって1つのフィールドをユーザが修正したときに隣接したフィールドの訂正を行うことが可能になる。HMMは、1組の状態Q、出力アルファベットO、遷移確率A、出力確率B、および初期の状態確率Πを有する有限状態機械の変形形態である。現在の状態は、一般的に観測可能ではない。その代わりに、各状態は、ある確率Bで出力を生成することができる。通常、これらの状態Q、および出力Oについては理解されており、したがって、HMMは、以下の特性を備える3つ組(triple)(A,B,Π)と言われる。
A=[aij=P(q at t+1|q at t)]
B=[bik=P(o|q)],
Π=[p=P(q at t=1)].
表記法P(a|b)は、「b」を仮定したときの「a」の条件付き確率を表す。上式において、現在の状態が(時刻tにおける)「q」であり、q∈Qであると仮定すると、Aは、次の状態(時刻t+1における)「q」へと遷移する確率である。現在の状態がqであると仮定すると、Bは、その出力がoである確率であり、式中o∈Oである。Πは、状態指数「i」ごとに時刻t=1において状態qにある確率である。
図15によれば、フォーム中のフィールドを表すことができる様々なランダム変数XないしXが示されている。かかる各フィールドは、{ファースト・ネーム、接尾辞、ラスト・ネーム、街路住所番号、街路名、市、州、郵便番号、1つまたは複数の電話番号、1つまたは複数の電子メール・アドレスなど}を含む1組のフィールドの一部分とすることが可能である。この中に入力できる1組のXフィールド、およびその情報要素Yは、前述の例示の情報フィールドだけには限定されないが、代わりに他の適切な任意の情報部分および/またはフィールドを含むことができることを理解されたい。Yは、所与のXに対応する実際の情報要素を表すことができ、この場合、Yが「John」に等しく、X=「ファースト・ネーム」である(例えば、P(X=ファースト・ネーム)=0.23、P(X=ラスト・ネーム)=0.03、P(X=市名)=0.093など)場合には、最高のスコアを示すラベル(例えば、この例による「ファースト・ネーム」)を選択することになる。かかる推論は、この隠れ変数の最良の設定を見出すことを容易にする。隠れマルコフモデルのケースにおいては、最も可能性の高い状態シーケンスを見出すことができる。例えば、以下のようになる。
Figure 0004676225
同様な一実施例によれば、特定のXには、条件「5ディジット」が関連付けられており、この場合、Yが7ディジット(例えば、555−1234)を有する場合には、対象となるこの特定のXについて低い確率(例えば、P(Y=555−1234|x)=0.00001)が示されることになる。逆に、12345などの情報を含むYは、この特定のXについて高い確率(例えば、P(Y=555−1234|x)=0.9989)を示すことになり、この場合、このフォーム中の関連するフィールドに挿入することができる。同様に、7ディジットのYは、条件「7ディジット」を有するXについて高い確率を示すことになる。本発明は、支援フォーム・フィリングを容易にするために、任意数の適切な変数、またはテストを使用して、どの特定のYが特定のXに関連する条件を満たすかを決定することができる。
本発明の一部の実施形態は、特定のフィールドのラベルに対応する状態に対して隠れ変数(X)(複数)を設定することにより、隠れランダム変数、および観察されたランダム変数を含む、前述のHMMなどの確率的モデルの利点を生かすことができる。例えば、前述のこのHMM中のYランダム変数は、「観察された」ランダム変数であり、ここで、各変数は1つのトークンに対応している。トークンとは、トークン区切り記号(例えば、スペース、ダッシュ、カンマなど)の間のテキスト・セグメントのことである。例えば、テキスト・ストリング「this−is a,test」は、以下のようにトークン化されることになる。
「this」=トークン1
「is」=トークン2
「a」=トークン3
「test」=トークン4
この隠れ変数X(複数)sは、これらのトークンがこれらの各許容ラベルを有する(例えば、これらのトークンは、これらのラベル上に分散されている)確率を表している。情報抽出のフィールドにおいてはほとんどの場合、「サイド情報」が使用されないので、Xは、観察されないままとなる。サイド情報を(例えば、ユーザが供給したテキストを持つテキスト・フィールドのフォームにおいて)確率的モデルが使用するようにさせると、ユーザが供給したテキストに対応するトークンを検索することができ、この対応する隠れ変数Xは、このフィールドのラベルに対応する状態に設定することができる。これは、P(X1=ファースト・ネーム)=1およびP(X1=ラスト・ネーム)=0などに設定し、推論中にはアップデートしないものと見なすことができる。例えば、このユーザが、このフォームのラスト・ネーム・フィールドに「Smith」をタイプ入力した場合、すべてのトークンを介して検索を実施して「Smith」を見つけ出すことができる。次いで、P(X2=ラスト・ネーム)=1を設定し、推論中には、P(X2)についての確率分布をアップデートしない。
訂正伝搬はさらに、ユーザ・インターフェースからこのパーサにバック・チャネリング情報をもたらすことができる。このようにして、1つのフィールドがユーザによって訂正されるときに隣接するフィールドに取り込むことが可能である。例えば、本発明では、ルール・ベースの解析方法を使用することができ、ここで、ルールの簡略化されたバージョンでは、「ラスト・ネーム・フィールドがユーザによって設定される場合には、このタグの付いていないテキスト中でラスト・ネームを検索し、このラスト・ネームの直前のワードをファースト・ネームとしてラベル付けする」と決められる。ファースト・ネームについての対応するルールも存在する。このようにして、このラスト・ネームの訂正は、このファースト・ネームへと「伝搬」する。本明細書中で説明している訂正伝搬は、ファースト・ネームおよびラスト・ネームだけには限定されず、逆に任意のすべての関連したタイプの情報、テキストなどに適用することができることを理解されたい。
さらに、本発明の一部の実施形態では、HMMモデルと最大エントロピー・モデル(maximum entropy model)の両者を一般化したものであるCRF(conditional random field;条件付きランダム・フィールド)を使用することができる。CRFは、任意の非局所的特徴の導入を可能にし、ラベルの間の依存性を捕捉し、解析された情報要素の信頼度を推定することを可能にする。このようにして、本発明では、その情報が高い信頼度レベルを有するときには、解析された情報要素をフィールドに自動的に割り当てることができ、また低い信頼度レベルを有するある情報要素には、ユーザの再検討および/または訂正を求めるために、フラグをたてることができる。
図16は、ランダムな不正確なフィールドを訂正する以前のCRFと、訂正した以後のCRFの間の関係を示すヒストグラム1400である。以下でさらに詳細に説明するように、複数のフォームが、各フォーム中のエラーを含むフィールド数に従って、図16中でグループ化されている。ソリッド・バーは、任意の訂正を行う以前のCRFを示し、中空バーは、1つのランダムな不正確なフィールドが訂正された後の分布を示す。フォーム・フィリング中の、フィールド検証および訂正に関するユーザの振る舞いは、いくつかのUIM(user interaction model;ユーザ介入モデル)を介して、予想および/またはモデル化することができる。例えば、簡単なシナリオUIM1においては、ユーザには、自動入力されるフォームが提示され、ユーザがすべてのエラーを訂正することを求められる(例えば、訂正伝搬が実施されない)可能性がある。したがって、必要とされるユーザ・アクション数は、自動フィリング中に引き起こされるエラー総数に等しい。
第2のシナリオUIM2によれば、初期の自動フィールド割当てが想定されており、ユーザは、1つのランダム選択された訂正を実施し、この訂正に基づいてこのシステムは、訂正伝搬を開始することができる。これはすべてのフィールドが正しくなるまで反復することができる。
第3のシナリオUIM3によれば、初期の自動フィールド割当てが想定されており、したがって、ユーザは、最低信頼度の不正確なフィールドに関して訂正を実施する。例えば、このユーザには、エラーが見出される限り、図12中の信頼度インジケータ1012などによる信頼度の順序でこれらのフィールドに対して、視覚的に注意を促されることになる。訂正伝搬は、この最低信頼度フィールドの訂正に従って実施することが可能であり、ユーザは、残りの任意のエラーを訂正するように促されることになる。
フォーム・フィリングは、一般に完全な正確さを必要とする。したがって、フィリング時間が短縮されるとき、ユーザの認識に関する負担が削減されるとき、またはそれらの両方のときには、いつでも利点が自覚されることになる。本発明の一実施形態では、他の標準的な性能メジャーに加えて、ENUA(expected number of user action;予想ユーザ・アクション数)と呼ばれる効率メジャーが使用される。ENUAは、フォーム中のすべてのフィールドに正しく入力するために必要とされるユーザ・アクション(例えば、クリックなど)の数として定義される。このENUAは、前述のようにそのUIMに応じて変化する可能性がある。このENUAを表すために、表記法P(i;j)が使用され、これは、i回の手動による訂正後のエラー数j上における確率分布である。かかる分布は、図16のヒストグラムによって表現される。
例えばUIM1の下では、ENUAは以下のように表現される。
Figure 0004676225
式中でP(0;n)は、不正確なフィールド数上における分布である。
例えば、モデルUIM2およびUIM3によれば、ENUAは以下のように表現される。
Figure 0004676225
式中でP(0;0)は、すべてのフィールドが最初に正しく割り当てられる確率であり、P(1;n)は、1つのフィールドが訂正された後に、このフォーム中の不正確なフィールド数上における分布である。どのUIMが使用されたかに応じて異なる分布がもたらされる可能性がある。ENUA上の上付き文字1は、訂正伝搬が一度実施されたことを示している。
引き続き図16を参照すると、複数のフォームは、各フォーム中のエラーを含むフィールド数に従ってグループ化される。ソリッド・バーは、任意の訂正以前のCRFベース・パーサを使用した結果を示し、中空バーは、1つのランダムな不正確なフィールドが訂正された後の分布を示す。かかる情報を利用してそれぞれP(0;n)およびP(1;n)を推定することができる。
図17は、本発明の一実施形態による自動フォーム・フィリング支援のための方法1500を示すフローチャートである。1つまたは複数の手順が一連の動作(acts)またはステップとして示され説明されているが、本発明がステップのこの順序によって限定されれず、一部のステップが、本発明に従って、本明細書中に示され、説明される順序とは異なる順序で、及び/または他のステップと同時に行うことができることを理解されたい。例えば、ある方法は、状態図などにおいて、一連の相関する状態またはイベントとして代替的に表現できることが当業者には理解されよう。さらに、本発明による方法を実装するために、必ずしもすべての図示されたステップが必要とされることはない。
ステップ1502において、選択された、タグの付いていないデータが、オブジェクト・データGUI中のテキスト・ボックスに挿入される。図12に示す実施例において、このタグの付いていないデータは、オブジェクト・データGUI1006中に表示される。図13に示す実施例においては、このオブジェクト・データは、オブジェクト・データGUI1106中のオブジェクトのイメージ内に表示される。1504において、このオブジェクト・データを解析して、フォーム中の特定のフィールドに取り込むために利用できる可能性がある要素を決定する。1506において、フィールド中に入力する要素に対して、ステータスを割り当て、これをユーザに対して示すことができる。例えば、「John Smith」や「Jane Doe」など選択されたタグの付いていないデータは、2つのファースト・ネームと2つのラスト・ネームを含んでいる。「John」を使用して、例えば連絡先リストの「ファースト・ネーム」フィールドに取り込む場合には、「John」がこのファースト・ネーム・フィールドにおける正しいエントリではないかも知れないということについてユーザに警告することができるステータス・インジケータ(例えば、「入力済みだが未検証」)を「John」に関連付けておくことが可能である。さらに、このファースト・ネーム・フィールドの潜在的ユーザ訂正を容易にするために、ドロップ・ダウン・メニューを介して「Jane」をそのユーザにとって使用可能にすることができる。例えば、このインジケータは、このファースト・ネーム・フィールドに隣接したカラー・コード化ステータス・インジケータ「光(light)」とすることができる。この実施例をさらに進めると、赤色−黄色−緑色プロトコルを使用して、赤色は入力済みだが未検証であることを示し、緑色はフィールドが(自動的にまたはそのユーザによって)入力済みで検証済みであることを示すという様々なステータス・レベルを示すことができる。本実施例においては、このファースト・ネーム・フィールドは、ファースト・ネーム・フィールドが入力されているが、このファースト・ネーム「John」がまだ検証されていないことを示す黄色のステータス・インジケータを有することができる。
一実施形態においては、この方法は、直接にステップ1510へと進むことができ、このステップで、このユーザは、例えば緑色ステータス(例えば、緑色が入力済みで検証済みのステータスを示す場合)以外の任意ステータスを示すフィールドを検証し、または訂正するように促される。別の実施形態においては、この方法はまず、1508へと進み、このステップで、すべてのフィールドが最も高いと見込まれるステータスを示しているか(例えば、すべてのフィールドが「入力済みで検証済み」であるかどうか)に関する決定が行われる。1508においてすべてのフィールドが「入力済みで検証済み」のステータスを表示する場合には、ユーザはアクションを取るように促される必要もなく、このプロセスは、終了することが可能である。
しかし、何れかのフィールドが、「入力済みで検証済み」のステータス以外のステータスを示す場合には、この方法は、1510へと進むことができ、このステップで、ユーザは、疑わしいフィールドがあれば、訂正および/または検証するように促される。1512において、ユーザが情報を訂正(例えば、変更)しているかどうかに関して決定が行われる。本実施例によれば、「John」がこの「ファースト・ネーム」フィールドにおける所望のエントリでない場合には、このユーザは、このテキスト・ボックス(またはオブジェクト・ペイン)中で「Jane」をクリックし、「Jane」をこのファースト・ネーム・フィールドにドラッグしてこのエントリを訂正することができる。代わりに、このファースト・ネーム・フィールド中にすでに提示されているドロップ・ダウン・メニューから「Jane」を選択することもできる。ユーザが、何れかの情報でも訂正した場合には、この方法は、1514へと進むことができ、このステップでユーザ入力に従って1つまたは複数のフィールドをアップデートすることができ、テキスト・ボックス1006(図12)またはオブジェクト・ペイン1106(図13)中のタグの付いていないデータについて再解析することができる。次いでこの方法は、ステータス・アップグレードおよびフォーム・フィールド中へのデータのエントリのために1506に戻ることができ、これはユーザ入力に関連して発生することになる。
1512においてユーザが情報を訂正しない場合には、1516においてこのユーザがフィールド・エントリを検証しているかどうかに関して決定を行うことができる。1516においてユーザが、所望のステータス以外を持つフィールド・エントリを検証していない場合には、この方法は、このユーザがアクションを取るようにさらに促すために1510へと戻ることができる。1516においてユーザが正確な情報を検証した場合には、1518においてフィールドおよびその対応するステータスをアップデートすることができる。例えば、「John」がこのファースト・ネーム・フィールドについての所望のエントリである場合には、ステータス・インジケータを黄色から緑色へとアップグレードすることができる。
図18は、本発明の他の実施形態による方法1600を示すフローチャートである。1602において、タグの付いていないデータが解析される。1604において、隠れマルコフ・モデル(HMM)を使用して特定の要素を入力することができる適切なフィールドを決定する。ステップ1606において、1つまたは複数の要素が、ステータス・インジケータを伴う決定された適切なフィールド中に表示される。1608において、この1つまたは複数のフィールド中に入力された情報を検証および/または訂正するようにユーザを促すことができる。1610において、ユーザ訂正が検出されているかどうかに関して決定が行われる。もし検出されている場合には、1612において、訂正伝搬を介してこのユーザ訂正された1つまたは複数のフィールドを他の1つまたは複数のフィールドと一緒にアップデートすることができ、それらの対応するステータス・インジケータをそれに応じてアップグレードすることができる。次いでこの方法は、1606へと戻ることができ、このステップで、ユーザ入力に従って、諸要素が表示され、ステータスが示される。1610において訂正が検出されない場合には、1614において、ユーザ検証が行われているかどうかに関して決定が行われる。このユーザが、この入力済みの情報が正しいことを検証していない場合には、この方法は、このユーザにアクションを取るようにさらに促すために1608へと戻ることができる。1614においてこのユーザが疑わしいフィールドにおける情報が正しいと検証していることが決定される場合には、この方法は、1616へと進むことができ、このステップで、この検証済みの要素が適切なフィールドに表示され、アップグレードされたステータスが表示される。
図19は、本発明の他の実施形態による方法1700を示すフローチャートである。1702において、タグの付いていないオブジェクト・データが、タグの付いていないメディア・ストアに読み込まれる。1704において、サイド情報(例えば、データ・エントリ、検証、訂正などのユーザ・アクションから収集された情報)が、サイド情報ストアに読み込まれる。1706において、このタグの付いていないデータを解析して、フォーム・フィールドに取り込む可能性のある要素を識別する。1708において識別済みの要素をフォーム・データ・ストアに書き込むことができる。次いで、1710において、識別済みの要素は、フォームGUI中のフォーム・フィールドという形でユーザに対して表示することができる。1712において、このオブジェクト・データGUI中のオブジェクト・データは、このフォーム・フィールドに入力する際にユーザの支援を容易にするビジュアル・インジケータと共に表示することができる。例えば、このオブジェクト・データGUI中のファースト・ネームは、特定のカラー(例えば、オレンジ色)でカラー・コード化して、これらのファースト・ネームをフォームGUI中のファースト・ネーム・フィールド、このフィールドもやはりオレンジ色でカラー・コード化される、に入力することができることを示すことができる。別の実施例によれば、「@」記号を含む解析済みのオブジェクト・データは、例えば青色でコード化して、かかるテキストが、このフォームGUI中の「電子メール」フィールド、このフィールドもやはり青色でカラー化することができる、に入力できることを示すことができる。
1714において、このユーザは、このフォームGUI中のフィールドに対する要素の割当ての検証および/または訂正を行うように促される。次いで、1716において、このオブジェクト・データを再度解析する決定をすることができる。かかる決定が行われる場合には、1718において、ユーザ入力がこのサイド情報ストアに追加され、この方法は、タグの付いていないデータの解析および要素の識別を反復するために1706へと戻る。1716においてさらなる解析が必要とされないと決定される場合には、1720において、このフォーム・データ・ストアの内容をデータベースまたはファイルに書き込むことができる。
図17〜19に示す方法は、スキャンされたその全体イメージから抽出される個々のオブジェクトのそれぞれについて実施することができる。各オブジェクトが名刺である実施例においては、各カード上のテキスト情報が、解析され、アドレス帳の連絡先レコードなど対応するフォーム中のフォーム・フィールドに入力するために、使用される。したがって、1つの連絡先レコードが、このイメージ中に含まれる名刺ごとに作成されることになる。各カードの抽出済みのイメージはまた、この連絡先レコードと共に記憶することもできる。
これらの実施例においては、ユーザは、各名刺を別々にスキャンする必要がない。というよりも、多数のカードを一度にイメージ化することができる。この全体イメージから、このシステムは、各カードのイメージを抽出し、次いで各カード上の情報要素を識別し、ユーザが別々の連絡先レコード中の対応するフィールドにこれらの要素を割り当てるのを、支援する。このことは、多数のカードからデータを入力することについての効率をおおいに増大させる。
各オブジェクトが購入レシートである実施例においては、各レシート上のテキスト・ブロックが、(図12に示すように)クラスタ化され、このタグの付いていないテキスト・ボックス1006中に表示される。図13に示す実施例においては、各レシートは、プレビュー・ペイン1120中で別々に選択し、オブジェクト・ペイン1106中に表示することができる。このレシート内のテキスト・ブロックは、解析され、経費報告書や他の財務ソフトウェア・アプリケーションなど対応するフォーム中の適切なフィールドに入力するのに使用される。レシート上には、多数のディジット・ブロックおよびテキスト・ブロックが存在することもあり、これらのブロックのうちで、このユーザは、ベンダ名、日付、最終金額、おそらく税金、などのフィールドを入力することだけに関心がある。これらのテキスト領域がオブジェクト・データGUI1006または1106中で識別され、表示される限り、このユーザは、適切なテキスト・ブロックを適切なフィールド1008(図12)または1108(図13)へとドラッグすることができる。
一実施形態においては、ユーザは、一度にいくつかのレシートをスキャンし、各レシート中の日付、金額および/または他のテキスト・ブロックを、経費報告書アプリケーション、スプレッドシート、Microsoft Money(商標)などの財務管理ソフトウェア、などの財務ソフトウェア・アプリケーション中の適切なフィールドへとドラッグ・アンド・ドロップすることができる。このレシートのイメージは、参照のために記憶し、またはこの経費報告書と共に送付し、あるいはその両方を行うことができる。経費報告書のフィリング・システムでは、このイメージ・ファイルの暗号化ハッシュは、このデジタル・イメージの改ざんを防止するために、この支払いパーティのパブリック・キーを使用して暗号化することができる。
他の実施形態においては、このシステムは、1つのイメージから異なるタイプの複数のオブジェクトを抽出することができる。例えば、いくつかの名刺およびレシートを同時にスキャンすることができ、次いで各オブジェクトが、その全体イメージから抽出される。各オブジェクトのテキスト要素が識別および/またはクラスタ化された後に、これらのテキスト要素を処理して、スキャンされているオブジェクトのタイプを決定することができる。会社名、個人名、住所、電話番号、電子メール・アドレスなどの連絡先情報を有するオブジェクトは、名刺である可能性が高い。ベンダ名、日付、および金額を表す列中の(複数の)ディジットを有するオブジェクトは、レシートである可能性が高い。他のタイプのオブジェクトもスキャンすることができる。この特定のタイプのオブジェクトに基づいて、このシステムは、そのユーザがその適切な電子フォーム中にこのテキストを入力する支援を行う。例えば、図13に示す実施形態においては、このシステムは、オブジェクト・データGUI1106中の選択されたオブジェクトと、フォームGUI1104中の適切なフォームから成る諸フィールド1108を表示する。代わりに、このシステムは、完成するためにこの適切な電子フォームのフィールドを表示する前に、オブジェクト・データGUI1106中にオブジェクトのイメージを表示し、このオブジェクト・タイプを識別するようにユーザに促すことができる。
本発明のシステムおよび/または方法は、コンピュータ・コンポーネント、および同様に非コンピュータ関連コンポーネントを支援するウェブ・クローリング・システム(web-crawling system)中で利用することができることを理解されたい。さらに、本発明のシステムおよび/または方法は、それだけには限定されないが、コンピュータ、サーバ、および/または有線および/または無線などの可能なハンドヘルド電子デバイスなどを含めて、広範な数多くの電子関連技術中において使用可能であることが当業者には理解されよう。
以上で説明してきたものには、本発明の実施例が含まれている。本発明を説明する目的でコンポーネントまたは方法の考えられるあらゆる組合せを記述することはもちろん可能ではないが、本発明のさらに多くの組合せおよび置換が可能であることが当業者には理解されよう。したがって、本発明は、特許請求の範囲の趣旨および範囲に含まれるかかるすべての代替形態、変更形態、および変形形態を包含することが意図されている。
本発明を、好ましい実施形態に関して説明してきたが、本発明の趣旨および範囲を逸脱することなく、形態および細部において変更を行うことができることが、当業者には理解されよう。例えば、1つまたは複数のオブジェクトの任意の電子イメージから、フォームに取り込むことが可能である。このイメージは、光学式スキャナやデジタル・カメラなど、任意のタイプのデジタル・イメージング装置によって取得することができる。この1つまたは複数のオブジェクトは、名刺、請求書、購入レシートなど、有用なテキスト情報を有する任意のタイプのドキュメントを含むことができる。
本発明の一実施形態による、従来のパーソナル・コンピュータの形態で本発明を実装するための例示のシステムのブロック図である。 本明細書中で説明しているオブジェクト抽出システムおよび方法を組み込んだイメージ処理システムの例示の一実装形態の全体ブロック図である。 図2に示すオブジェクト抽出システムのコンポーネントまたはモジュールを示すブロック図/流れ図である。 図3に示す1つのオブジェクト抽出モジュールの詳細を示すブロック図である。 図4に示すオブジェクト検出および抽出プロセスのさらなる詳細を示す全般的な流れ図である。 このオブジェクト検出および抽出方法を使用してイメージ中で1つのオブジェクトを見出す第1の動作実施例を示す図である。 図6のオブジェクトと同じサイズであるが異なるオリエンテーション(向き)を有するオブジェクトを示す図である。 このオブジェクト検出および抽出方法を使用してイメージ中で複数のオブジェクトを見出す第2の動作実施例を示す図である。 図8に示すイメージのサブ・イメージの処理を示す図である。 各オブジェクト・イメージ内のテキストを光学的に認識し、この認識済みのテキストをクラスタ化する方法を示すフローチャートである。 図10に示す方法においてこの認識済みのテキストをクラスタ化しながら実施されるステップを示すフローチャートである。 本発明の一実施形態による、ユーザが電子フォーム中のフィールドに取り込むのを支援することを容易にするフォーム・フィリング・インターフェースを示す図である。 本発明の代替実施形態によるフォーム・フィリング・インターフェースを示す図である。 本発明の一実施形態による図12および図13に示すインターフェースを介しての支援フォーム・フィリングを容易にするシステムの図である。 ユーザがフォーム中のフィールドに取り込むのを支援することを容易にする隠れマルコフモデルの一例を示す図である。 ユーザがフォームに取り込むのを支援する際の本発明の効率を示すヒストグラムである。 本発明の一実施形態による、フォームに入力する方法を示すフローチャートである。 本発明の他の実施形態による、フォームに入力する方法を示すフローチャートである。 本発明の他の実施形態による、フォームに入力する方法を示すフローチャートである。
符号の説明
100 コンピューティング・システム環境
110 コンピュータ
120 処理ユニット
130 システム・メモリ
134 オペレーティング・システム
135 アプリケーション・プログラム
136 他のプログラム・モジュール
137 プログラム・データ
140 着脱不能な不揮発性メモリ・インターフェース
141 ハードディスク・ドライブ
144 オペレーティング・システム
145 アプリケーション・プログラム
146 他のプログラム・モジュール
147 プログラム・データ
150 着脱可能な不揮発性メモリ・インターフェース
151 着脱可能な不揮発性磁気ディスクの磁気ディスク・ドライブ
152 着脱可能な不揮発性磁気ディスク
155 光ディスク・ドライブ
156 着脱可能な不揮発性光ディスク
160 ユーザ入力インターフェース
161 ポインティング・デバイス
162 キーボード
163 マイクロフォン
164 イメージング・デバイス
170 ネットワーク・インターフェース
171 ローカル・エリア・ネットワーク
172 モデム
173 ワイド・エリア・ネットワーク
180 リモート・コンピュータ
185 リモート・アプリケーション・プログラム
190 ビデオ・インターフェース
191 モニタ
195 出力ペリフェラル・インターフェース
196 プリンタ
197 スピーカ
200 イメージ処理システム
202 オブジェクト検出および抽出システム
204 プラテン
206 スキャニング・デバイス
210 デジタル・イメージ・データ
212 バックグラウンド・データ
214 コンピューティング・デバイス
300 オブジェクト・ピクセル検出モジュール
310 セグメンテーション・モジュール
320 単一オブジェクト抽出モジュール
330 デジタル・イメージ・データ
340 オブジェクト・ピクセル・データ
350 セグメンテーションが生じているか
360 イメージをサブ・イメージに分割する
370 各サブ・イメージを処理するために入力する
380 抽出されたイメージ・オブジェクト
400 オブジェクト・ピクセル解析モジュール
410 検証モジュール
420 オブジェクト・ロケーション出力モジュール
430 単一オブジェクトをおそらく含むイメージ・データ
440 単一オブジェクトについての座標
600 オブジェクト
602、702 スキャン・イメージ
604、704 2次元の直交座標系
620、720 第1の台形形状
630、730 第2の台形形状
800 スキャン・イメージ
801、802、803 オブジェクト
810、830 第1の台形形状
820、832 第2の台形形状
820 上部サブ・イメージ
822 下部サブ・イメージ
834 左のサブ・サブイメージ834
1000 FFI1002を生成し、動作させるためのシステム
1002 フォーム・フィラー・インターフェース
1004 フォーム・データGUI
1006 オブジェクト・データGUI
1008 フィールド
1010 ステータス・インジケータ
1012 信頼度インジケータ
1102 フォーム・フィリング・インターフェース
1104 フォーム・データGUI
1106 オブジェクト・ペイン(GUI)/オブジェクト・データGUI
1108 フィールド
1110 ステータス・インジケータ
1120 プレビュー・ペイン(GUI)/オブジェクト・データGUI
1122 全体イメージ
1124 個別オブジェクト
1130 テキスト・ブロック
1132 カラー化されたボックス
1140 情報領域
1200 フォーム・フィリング・モジュールまたはシステム
1202 制御コンポーネント
1208 解析コンポーネント
1210 タグの付いていないメディア・データ・ストア
1212 フォーム・データ・ストア
1214 サイド情報ストア
1300 支援フォーム・フィリングを容易にするHMMの使用を示すダイアグラム
1400 ヒストグラム

Claims (43)

  1. 電子イメージから電子フォームに取り込むための、コンピュータによって実施される方法であって、
    (a)前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
    (b)前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
    (c)グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
    (d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
    (e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
    前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第1のステータス、前記フィールドが入力済みだが未検証である第2のステータス、前記フィールドが入力済みで検証済みである第3のステータスを含むこと
    を備えることを特徴とする方法。
  2. 前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、前記電子イメージ内の複数のオブジェクトのうちの前記第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別することを備えることを特徴とする請求項1に記載の方法。
  3. 前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、
    前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、
    イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、
    前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、および
    前記サブ・イメージを処理して前記第1のオブジェクトを含めて前記オブジェクトごとにサイズ、オリエンテーションおよび位置を決定すること
    を備えることを特徴とする請求項1に記載の方法。
  4. イメージ内の各ピクセルを分類してピクセル分類データを生成すること、イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、を前記イメージが単一オブジェクトを含むようになるまで、または前記イメージをもはや分割することができなくなるまで、繰り返すことをさらに備えることを特徴とする請求項3に記載の方法。
  5. 前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを備えることを特徴とする請求項3に記載の方法。
  6. ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義すること、
    第1の方向における前記イメージ・ファンクションを算出して第1のデータ・セットを生成すること、
    第2の方向における前記イメージ・ファンクションを算出して第2のデータ・セットを生成すること、および
    前記第1の方向における前記イメージ・ファンクションと前記第2の方向における前記イメージ・ファンクションにおけるディスパリティを検索すること
    をさらに備えることを特徴とする請求項5に記載の方法。
  7. 前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別することは、光学式文字認識を使用して前記第1のオブジェクト内のテキスト・ブロック、および前記テキスト・ブロックの2次元ロケーションを識別することを備え、
    グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記電子フォームの前記フィールドと同時に前記識別されたテキスト・ブロックを前記ユーザに対して表示することを備える
    ことを特徴とする請求項1に記載の方法。
  8. グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記第1のオブジェクトのイメージ内の前記識別された情報要素を前記ユーザに対して表示することを備え、
    前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記第1のオブジェクトの前記イメージ内の異なる情報タイプの前記タグ付きのグループを、前記異なる情報タイプを示すビジュアル・インジケータを用いてハイライトすることを備える
    ことを特徴とする請求項7に記載の方法。
  9. 前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取ること、および前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別することを備え、
    前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることは、前記情報要素の少なくとも1つを、その要素の前記情報タイプに基づいて前記フィールドの少なくとも1つに自動的に取り込むことを備え、
    グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示すること、およびフォーム・グラフィック・ユーザ・インターフェースを介して前記取り込まれたフィールドと未だ取り込まれていない任意のフィールドとを表示することを備える
    ことを特徴とする請求項1に記載の方法。
  10. グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記オブジェクト・データ・グラフィック・ユーザ・インターフェースにおけるビジュアル・インジケータを使用して、情報要素が前記フォーム中の特定のフィールドと適合可能であることを示すことをさらに備えることを特徴とする請求項9に記載の方法。
  11. グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記フォーム中の少なくとも1つの取り込まれたフィールドにおける少なくとも1つの情報要素に関連付けられたステータス・レベルを示すことをさらに備えることを特徴とする請求項9に記載の方法。
  12. グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記示されたステータス・レベルに基づいて、前記少なくとも1つの取り込まれたフィールドにおける前記少なくとも1つの情報要素を検証および/または訂正するように前記ユーザに促すことをさらに備えることを特徴とする請求項11に記載の方法。
  13. 前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記少なくとも1つの情報要素についての前記ユーザの検証および/または訂正に基づいて、前記取り込まれたフォームの他のフィールドをアップデートすることを備えることを特徴とする請求項12に記載の方法。
  14. (f)前記取り込まれたフィールドのうちのいずれかに対して行われる編集から収集されるサイド情報をサイド情報ストアに書き込むこと、および
    (g)前記情報要素を、(d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することにおいて、再解析して異なる情報タイプのタグ付きグループへと分類し、(e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記サイド情報に基づいて少なくとも1つの他のフィールドに再取り込みすること
    をさらに備えることを特徴とする請求項1に記載の方法。
  15. 前記電子イメージは、複数のオブジェクトを備え、前記方法は、
    (f)オブジェクトごとに、対応する電子フォームの各フィールドが、そのオブジェクト内のピクセルから取得された情報要素で少なくとも部分的に取り込まれるように、オブジェクトごとに、
    (a)前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
    (b)前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
    (c)グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
    (d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および
    (e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること
    を実施すること
    をさらに備えることを特徴とする請求項1に記載の方法。
  16. 前記複数のオブジェクトは、異なるタイプのオブジェクトを備えることを特徴とする請求項15に記載の方法。
  17. コンピュータによって実行されたときに、
    (a)電子イメージ内の任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
    (b)前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
    (c)グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
    (d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
    (e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
    前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第1のステータス、前記フィールドが入力済みだが未検証である第2のステータス、前記フィールドが入力済みで検証済みである第3のステータスを含むこと
    を備える方法を実施するコンピュータ実行可能命令を備えることを特徴とするコンピュータ読取り可能媒体。
  18. 前記電子イメージは、前記第1のオブジェクトを含めて複数のオブジェクトを備え、前記方法は、
    (f)オブジェクトごとに、対応する電子フォームの各フィールドが、そのオブジェクト内のピクセルから取得された情報要素で少なくとも部分的に取り込まれるように、オブジェクトごとに、
    (a)電子イメージ内の任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
    (b)前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
    (c)グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
    (d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および
    (e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること
    を実施すること
    をさらに備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  19. 前記複数のオブジェクトは、異なるタイプのオブジェクトを備えることを特徴とする請求項18に記載のコンピュータ読取り可能媒体。
  20. 前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、
    前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、
    イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、
    前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、および
    前記サブ・イメージを処理して前記第1のオブジェクトを含めて前記オブジェクトごとにサイズ、オリエンテーションおよび位置を決定すること
    を備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  21. 前記イメージ内の各ピクセルを分類してピクセル分類データを生成することは、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを備えることを特徴とする請求項20に記載のコンピュータ読取り可能媒体。
  22. ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義すること、
    第1の方向における前記イメージ・ファンクションを算出して第1のデータ・セットを生成すること、
    第2の方向における前記イメージ・ファンクションを算出して第2のデータ・セットを生成すること、および
    前記第1の方向における前記イメージ・ファンクションと前記第2の方向における前記イメージ・ファンクションにおけるディスパリティを検索すること
    をさらに備えることを特徴とする請求項21に記載のコンピュータ読取り可能媒体。
  23. 前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別することは、光学式文字認識を使用して前記第1のオブジェクト内のテキスト・ブロック、および前記テキスト・ブロックの2次元ロケーションを識別することを備え、
    グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記第1のオブジェクトのイメージ内の前記識別されたテキスト・ブロックを前記ユーザに対して表示することを備え、
    前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、異なる情報タイプの前記タグ付きのグループを前記異なる情報タイプを示すビジュアル・インジケータを伴う前記第1のオブジェクトの前記イメージ内においてハイライトすることを備える
    ことを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  24. 前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取ること、および前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別することを備え、
    前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることは、前記情報要素の少なくとも1つをその要素の前記情報タイプに基づいて前記フィールドの少なくとも1つに自動的に取り込むことを備え、
    グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示すること、およびフォーム・グラフィック・ユーザ・インターフェースを介して前記取り込まれたフィールドと未だ取り込まれていない任意のフィールドとを表示することを備える
    ことを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  25. グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記オブジェクト・データ・グラフィック・ユーザ・インターフェースにおけるビジュアル・インジケータを使用して、情報要素が前記フォーム中の特定のフィールドと適合可能であることを示すことをさらに備えることを特徴とする請求項24に記載のコンピュータ読取り可能媒体。
  26. グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記フォーム中の少なくとも1つの取り込まれたフィールドにおける少なくとも1つの情報要素に関連付けられたステータス・レベルを示すことをさらに備えることを特徴とする請求項24に記載のコンピュータ読取り可能媒体。
  27. グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記示されたステータス・レベルに基づいて前記少なくとも1つの取り込まれたフィールドにおける前記少なくとも1つの情報要素を検証および/または訂正するように前記ユーザに促すことをさらに備えることを特徴とする請求項26に記載のコンピュータ読取り可能媒体。
  28. 前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記少なくとも1つの情報要素の前記ユーザの検証および/または訂正に基づいて前記取り込まれたフォームの他のフィールドをアップデートすることを備えることを特徴とする請求項27に記載のコンピュータ読取り可能媒体。
  29. (f)前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記ユーザによって行われる編集から収集されるサイド情報をサイド情報ストアに書き込むこと、および
    (g)前記情報要素を前記解析することを、前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することにおいて、再解析して異なる情報タイプのタグ付きグループへと分類し、前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記サイド情報に基づいて少なくとも1つの他のフィールドに再取り込みこと
    をさらに備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
  30. 電子フォームに少なくとも部分的に取り込むためのシステムであって、
    電子イメージ中のピクセルを処理して前記電子イメージ内の任意のオリエンテーションを有するオブジェクトのサイズ、オリエンテーションおよび位置を識別するオブジェクト検出および抽出モジュールと、
    前記第1のオブジェクトに対応する前記電子イメージ内のピクセルから情報要素を識別する光学式文字認識モジュールと、
    前記電子フォームのフィールドおよび前記識別された情報要素をユーザに対して同時に表示するグラフィック・ユーザ・インターフェースと、
    前記情報要素を解析して異なる情報タイプのタグ付きグループへと分類し、前記タグ付きグループを前記フィールドに少なくとも部分的に取り込み、取り込まれた電子フォームを生成する解析モジュールと、
    前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供する手段であって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第1のステータス、前記フィールドが入力済みだが未検証である第2のステータス、前記フィールドが入力済みで検証済みである第3のステータスを含む手段と
    を備えることを特徴とするシステム。
  31. 前記グラフィック・ユーザ・インターフェースによって、前記ユーザは、前記取り込まれたフィールドおよび未だ取り込まれていない任意のフィールドを編集できるようになることを特徴とする請求項30に記載のシステム。
  32. 前記オブジェクト検出および抽出モジュールは、
    イメージの各ピクセルを分類し、イメージ・ファンクションを明確化するデータ・ピクセル検出モジュールと、
    前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをより小さなサブ・イメージへと分割することが可能なセグメンテーション・モジュールと、
    前記サブ・イメージを処理して前記イメージ内のオブジェクトの数、サイズ、オリエンテーションおよび位置を検出する単一オブジェクト抽出モジュールと
    を備えることを特徴とする請求項30に記載のシステム。
  33. 前記データ・ピクセル検出モジュールは、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを特徴とする請求項32に記載のシステム。
  34. 前記データ・ピクセル検出モジュールは、ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義し、第1の方向における前記イメージ・ファンクションを算出して第1のデータ・セットを生成し、第2の方向における前記イメージ・ファンクションを算出して第2のデータ・セットを生成し、前記第1の方向における前記イメージ・ファンクション中、および前記第2の方向における前記イメージ・ファンクション中のディスパリティを検索することを特徴とする請求項33に記載のシステム。
  35. 前記光学式文字認識モジュールは、光学式文字認識を使用して前記第1のオブジェクト内のテキスト・ブロックおよび前記テキスト・ブロックの2次元ロケーションを識別する手段を備え、
    前記グラフィック・ユーザ・インターフェースは、前記グラフィック・ユーザ・インターフェースを介して、前記第1のオブジェクトのイメージ内の前記識別されたテキスト・ブロックを前記ユーザに対して表示し、前記第1のオブジェクトの前記イメージ内の異なる情報タイプの前記タグ付きグループを、前記異なる情報タイプを示すビジュアル・インジケータを用いてハイライトする手段を備える
    ことを特徴とする請求項30に記載のシステム。
  36. 前記解析モジュールは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取り、前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別し、その要素の前記情報タイプに基づいて、前記情報要素のうちの少なくとも1つを前記フィールドのうちの少なくとも1つに自動的に取り込む手段を備え、
    前記グラフィック・ユーザ・インターフェースは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示し、フォーム・グラフィックユーザ・インターフェースを介して前記取り込まれたフィールドおよび未だ取り込まれていない任意のフィールドを表示する手段を備える
    ことを特徴とする請求項30に記載のシステム。
  37. 前記オブジェクト・データ・グラフィック・ユーザ・インターフェースは、情報要素が前記フォームの特定のフィールドと適合可能であることを示すビジュアル・インジケータを備えることを特徴とする請求項35に記載のシステム。
  38. 前記フォーム・グラフィック・ユーザ・インターフェースは、前記フォーム中の少なくとも1つの取り込まれたフィールドにおける少なくとも1つの情報要素に関連付けられたステータス・レベル・インジケータを備えることを特徴とする請求項35に記載のシステム。
  39. 前記グラフィック・ユーザ・インターフェースは、少なくとも1つの取り込まれたフィールド中の少なくとも1つの情報要素をそのフィールドに関連付けられた前記ステータス・レベル・インジケータに基づいて検証および/または訂正するように前記ユーザを促す手段を備えることを特徴とする請求項37に記載のシステム。
  40. 前記解析モジュールは、前記取り込まれたフィールドおよび前記未だ取り込まれていないフィールドに対する前記ユーザによって行われる編集に従って前記取り込まれたフォームの他のフィールドをアップデートするための手段を備えることを特徴とする請求項31に記載のシステム。
  41. 異なる情報タイプの第1および第2のオブジェクトを有する電子イメージから電子フォームに取り込む方法であって、
    前記電子イメージ内の前記第1および第2のオブジェクトのサイズ、オリエンテーションおよび位置を識別し、各オブジェクトの前記サイズ、オリエンテーションおよび位置に関連付けられ、前記電子イメージ中のピクセルに対応する、サブ・イメージに前記電子イメージを分割すること、
    各サブ・イメージ上で光学式文字認識を実施して前記対応するオブジェクト内のタグの付いていない情報要素を識別すること、
    サブ・イメージごとに、前記タグの付いていない情報要素を解析してタグ付きの情報要素に分類すること、
    前記第1のオブジェクトの前記サブ・イメージから識別される前記タグ付きの情報要素を第1の電子フォーム・タイプ中のフィールドに取り込んで第1の取り込まれたフォームを生成すること、
    前記第2のオブジェクトの前記サブ・イメージから識別される前記タグ付きの情報要素を第2の電子フォーム・タイプ中のフィールドに取り込んで第2の取り込まれたフォームを生成すること、
    グラフィック・ユーザ・インターフェースを介して、前記第1および第2の取り込まれたフォームと前記タグの付いていない情報要素とをユーザに対して表示し、前記ユーザが、前記グラフィック・ユーザ・インターフェースを介して前記第1および第2の取り込まれたフォームを編集できるようにすること、および
    前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第1のステータス、前記フィールドが入力済みだが未検証である第2のステータス、前記フィールドが入力済みで検証済みである第3のステータスを含むこと
    を備えることを特徴とする方法。
  42. 前記第1のオブジェクトは名刺を含み、前記第2のオブジェクトは購入レシートを含み、
    前記第1の電子フォームは、ソフトウェア・アドレス帳の連絡先レコードを備え、前記第2の電子フォームは、ソフトウェア財務アプリケーションの電子財務レコードを備える
    ことを特徴とする請求項41に記載の方法。
  43. 電子イメージから電子フォームに取り込むための、コンピュータによって実施される方法であって、
    (a)前記電子イメージ内の、任意のオリエンテーションを有する第1のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
    (b)前記第1のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
    (c)グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
    (d)前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
    (e)前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
    前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第1のステータス、前記フィールドが入力済みだが未検証である第2のステータス、前記フィールドが入力済みで検証済みである第3のステータスを含むこと
    を備え、
    前記ステータス・インジケータは、色を用いて前記ステータスを示し、
    前記第1のステータス又は前記第2のステータスは、前記フィールドが正しい情報を含んでいるかについての検証が完了していないことを示し、
    前記第3のステータスは、前記フィールドが正しい情報を含んでいるかについての検証が完了していることを示すことを特徴とする方法。
JP2005083418A 2004-03-24 2005-03-23 スキャン・ドキュメントから電子フォームに取り込むための方法および装置 Expired - Fee Related JP4676225B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/808,194 US7305129B2 (en) 2003-01-29 2004-03-24 Methods and apparatus for populating electronic forms from scanned documents

Publications (2)

Publication Number Publication Date
JP2005302011A JP2005302011A (ja) 2005-10-27
JP4676225B2 true JP4676225B2 (ja) 2011-04-27

Family

ID=34862070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005083418A Expired - Fee Related JP4676225B2 (ja) 2004-03-24 2005-03-23 スキャン・ドキュメントから電子フォームに取り込むための方法および装置

Country Status (5)

Country Link
US (1) US7305129B2 (ja)
EP (1) EP1580666A3 (ja)
JP (1) JP4676225B2 (ja)
KR (1) KR101122854B1 (ja)
CN (1) CN100465945C (ja)

Families Citing this family (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7614008B2 (en) * 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US6931589B2 (en) * 2001-11-29 2005-08-16 Orbograph Ltd. Distributed document processing
US7689623B1 (en) * 2002-04-08 2010-03-30 Syncsort Incorporated Method for performing an external (disk-based) sort of a large data file which takes advantage of “presorted” data already present in the input
JP3827152B2 (ja) * 2002-05-20 2006-09-27 村田機械株式会社 ファクシミリ装置及び読取画像の送信方法
US20050131725A1 (en) * 2003-10-14 2005-06-16 Gretchen Sleeper Mapping algorithm for identifying data required to file for state and federal tax credits related to enterprise zones, renewal communities, and empowerment zones
US20060041484A1 (en) * 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US7664734B2 (en) 2004-03-31 2010-02-16 Google Inc. Systems and methods for generating multiple implicit search queries
US9009153B2 (en) 2004-03-31 2015-04-14 Google Inc. Systems and methods for identifying a named entity
US20080040315A1 (en) * 2004-03-31 2008-02-14 Auerbach David B Systems and methods for generating a user interface
US8631001B2 (en) 2004-03-31 2014-01-14 Google Inc. Systems and methods for weighting a search query result
US7693825B2 (en) * 2004-03-31 2010-04-06 Google Inc. Systems and methods for ranking implicit search results
US7707142B1 (en) 2004-03-31 2010-04-27 Google Inc. Methods and systems for performing an offline search
US8041713B2 (en) 2004-03-31 2011-10-18 Google Inc. Systems and methods for analyzing boilerplate
US7272601B1 (en) 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US7697759B2 (en) * 2004-05-11 2010-04-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Split-remerge method for eliminating processing window artifacts in recursive hierarchical segmentation
JP2007537515A (ja) * 2004-05-13 2007-12-20 ロジャーズ,ロバート,ジョン 情報を取り出すためのシステムと方法および情報を保存するためのシステムと方法
US7251782B1 (en) * 2004-06-22 2007-07-31 Sun Microsystems, Inc. Method and apparatus for validating user input fields in a graphical display
US8626730B2 (en) * 2004-06-28 2014-01-07 Sap Ag Data processing methods, systems and computer programs for providing a payment using a web service
US7788274B1 (en) * 2004-06-30 2010-08-31 Google Inc. Systems and methods for category-based search
US8131754B1 (en) 2004-06-30 2012-03-06 Google Inc. Systems and methods for determining an article association measure
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US20060115145A1 (en) * 2004-11-30 2006-06-01 Microsoft Corporation Bayesian conditional random fields
US8606665B1 (en) 2004-12-30 2013-12-10 Hrb Tax Group, Inc. System and method for acquiring tax data for use in tax preparation software
US20060212798A1 (en) * 2005-01-12 2006-09-21 Lection David B Rendering content natively on local operating system
US8631324B2 (en) * 2005-01-12 2014-01-14 International Business Machines Corporation Running content emitters natively on local operating system
US7496832B2 (en) * 2005-01-13 2009-02-24 International Business Machines Corporation Web page rendering based on object matching
US20060179404A1 (en) * 2005-02-08 2006-08-10 Microsoft Corporation Method for a browser auto form fill
US8154769B2 (en) * 2005-02-15 2012-04-10 Ricoh Co. Ltd Systems and methods for generating and processing evolutionary documents
US20060218088A1 (en) * 2005-03-24 2006-09-28 Flora John R Intelligent auto-fill transaction data
US7383254B2 (en) * 2005-04-13 2008-06-03 Microsoft Corporation Method and system for identifying object information
US20070002375A1 (en) * 2005-06-30 2007-01-04 Lexmark International, Inc. Segmenting and aligning a plurality of cards in a multi-card image
TWI265715B (en) * 2005-07-21 2006-11-01 Inventec Appliances Corp Method for collecting business card data in mobile communication apparatus
US8935379B1 (en) * 2005-09-07 2015-01-13 Reversevision, Inc. Methods, systems, and products for evaluating electronic data and electronic forms
US8732570B2 (en) * 2005-09-08 2014-05-20 Ricoh Co. Ltd. Non-symbolic data system for the automated completion of forms
JP4719543B2 (ja) * 2005-09-26 2011-07-06 株式会社リコー ワークフローシステム、サーバ装置、ワークフローシステムの処理方法及びワークフロープログラム
JP2007094818A (ja) * 2005-09-29 2007-04-12 Internatl Business Mach Corp <Ibm> 複数データの一括コピー及びペースト方法、装置、およびコンピュータ・プログラム
US7512574B2 (en) * 2005-09-30 2009-03-31 International Business Machines Corporation Consistent histogram maintenance using query feedback
DE102005048600B4 (de) * 2005-10-06 2008-09-25 Klaus Rehm Verfahren zum Erfassen von Daten
US8619313B2 (en) * 2005-10-28 2013-12-31 Hewlett-Packard Development Company, L.P. Scanning device with plural image capture zones on a platen
US20070106496A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Adaptive task framework
US7822699B2 (en) * 2005-11-30 2010-10-26 Microsoft Corporation Adaptive semantic reasoning engine
US7606700B2 (en) * 2005-11-09 2009-10-20 Microsoft Corporation Adaptive task framework
US7933914B2 (en) * 2005-12-05 2011-04-26 Microsoft Corporation Automatic task creation and execution using browser helper objects
US20070130134A1 (en) * 2005-12-05 2007-06-07 Microsoft Corporation Natural-language enabling arbitrary web forms
US7831585B2 (en) * 2005-12-05 2010-11-09 Microsoft Corporation Employment of task framework for advertising
US20070133876A1 (en) * 2005-12-14 2007-06-14 Nokia Corporation Device, method, and computer program product for enhancing the use of electronic forms in mobile devices
US7529761B2 (en) * 2005-12-14 2009-05-05 Microsoft Corporation Two-dimensional conditional random fields for web extraction
US7631271B2 (en) * 2005-12-16 2009-12-08 Xerox Corporation Touch screen user interface with multi-text field display
US8177121B2 (en) * 2006-01-13 2012-05-15 Intuit Inc. Automated aggregation and comparison of business spending relative to similar businesses
US8509563B2 (en) * 2006-02-02 2013-08-13 Microsoft Corporation Generation of documents from images
US7996783B2 (en) * 2006-03-02 2011-08-09 Microsoft Corporation Widget searching utilizing task framework
US20070260631A1 (en) * 2006-03-09 2007-11-08 Microsoft Corporation Embedded decision support
DE112006003817T5 (de) * 2006-03-29 2009-02-12 Intel Corporation, Santa Clara Vorrichtung und Verfahren für ein mobiles Personal Computer (MPC)-System mit einem eingebauten Scanner
JP4810287B2 (ja) * 2006-04-13 2011-11-09 キヤノン株式会社 データ処理装置及びそのデータ登録方法
US8001130B2 (en) * 2006-07-25 2011-08-16 Microsoft Corporation Web object retrieval based on a language model
US7720830B2 (en) * 2006-07-31 2010-05-18 Microsoft Corporation Hierarchical conditional random fields for web extraction
US7921106B2 (en) * 2006-08-03 2011-04-05 Microsoft Corporation Group-by attribute value in search results
JP2008059081A (ja) * 2006-08-29 2008-03-13 Sony Corp 画像処理装置及び画像処理方法、並びにコンピュータ・プログラム
US8352850B1 (en) * 2006-10-31 2013-01-08 Intuit Inc. Dynamic paragraphs
US8098936B2 (en) * 2007-01-12 2012-01-17 Seiko Epson Corporation Method and apparatus for detecting objects in an image
US8244588B1 (en) * 2007-01-22 2012-08-14 Intuit Inc. Method and apparatus for entering purchase information
US7778953B2 (en) * 2007-02-19 2010-08-17 Kabushiki Kaisha Toshiba Document management apparatus and document management method
US20080249764A1 (en) * 2007-03-01 2008-10-09 Microsoft Corporation Smart Sentiment Classifier for Product Reviews
US8144990B2 (en) 2007-03-22 2012-03-27 Sony Ericsson Mobile Communications Ab Translation and display of text in picture
US8448061B1 (en) * 2007-03-30 2013-05-21 Adobe Systems Incorporated User interfaces and methods to create electronic documents with forms implementing content input fields
KR100835378B1 (ko) * 2007-04-03 2008-06-04 삼성전자주식회사 통합리모컨의 기기 제어 방법
US7849398B2 (en) * 2007-04-26 2010-12-07 Xerox Corporation Decision criteria for automated form population
JP5303865B2 (ja) * 2007-05-23 2013-10-02 株式会社リコー 情報処理装置、及び、情報処理方法
US8635537B1 (en) 2007-06-29 2014-01-21 Amazon Technologies, Inc. Multi-level architecture for image display
US8601361B2 (en) * 2007-08-06 2013-12-03 Apple Inc. Automatically populating and/or generating tables using data extracted from files
US8635127B1 (en) 2007-09-14 2014-01-21 Hrb Innovations, Inc. System and method for identifying tax documents to customize preparation of a tax return
US9753908B2 (en) * 2007-11-05 2017-09-05 The Neat Company, Inc. Method and system for transferring data from a scanned document into a spreadsheet
JP2009124319A (ja) * 2007-11-13 2009-06-04 Murata Mach Ltd 画像編集装置
US8910073B2 (en) * 2007-11-26 2014-12-09 Qualcomm Incorporated Enhancing visual continuity in scrolling operations
US8908998B2 (en) 2007-12-07 2014-12-09 Educational Testing Service Method for automated quality control
JP4631905B2 (ja) * 2007-12-28 2011-02-16 ブラザー工業株式会社 印刷装置および印刷システム
US9177551B2 (en) 2008-01-22 2015-11-03 At&T Intellectual Property I, L.P. System and method of providing speech processing in user interface
US9846689B2 (en) * 2008-01-29 2017-12-19 Adobe Systems Incorporated Method and system to provide portable database functionality in an electronic form
GB2458891A (en) * 2008-03-31 2009-10-07 Triad Group Plc Automatic form filling by extracting components form a text file
JP5354442B2 (ja) * 2008-04-22 2013-11-27 富士ゼロックス株式会社 定型情報管理装置および定型情報管理プログラム
JP5111242B2 (ja) * 2008-06-04 2013-01-09 キヤノン株式会社 画像処理装置及び方法
US8570279B2 (en) 2008-06-27 2013-10-29 Apple Inc. Touch screen device, method, and graphical user interface for inserting a character from an alternate keyboard
US20100050101A1 (en) * 2008-08-21 2010-02-25 Palm, Inc. Converting Information Objects
US20100070360A1 (en) * 2008-09-13 2010-03-18 At&T Intellectual Property I, L.P. System and method for creating a speech search platform for coupons
US8225213B2 (en) 2008-10-07 2012-07-17 Siegal Bess L M User interface (UI) control for attestation process
US8019664B1 (en) * 2008-10-14 2011-09-13 Intuit Inc. System and method for completing a form
US7930447B2 (en) 2008-10-17 2011-04-19 International Business Machines Corporation Listing windows of active applications of computing devices sharing a keyboard based upon requests for attention
US8271005B2 (en) * 2009-01-12 2012-09-18 Jlt Group, Inc. Mobile communication device and system with limited data transfer
US8538071B2 (en) * 2009-03-18 2013-09-17 Raytheon Company System and method for target separation of closely spaced targets in automatic target recognition
US8356252B2 (en) * 2009-09-02 2013-01-15 Synchronoss Technologies, Inc. System and method for providing a computer display form layout
US9563815B2 (en) * 2009-09-15 2017-02-07 Tandent Vision Science, Inc. Method and system for processing an image received from a remote source
US10402847B2 (en) * 2009-11-20 2019-09-03 Mobisave Llc System and method of electronically verifying required proof-of-performance to secure promotional rewards
US20160104189A1 (en) * 2009-11-20 2016-04-14 Mobisave Llc In-aisle competitive offer push system and method
US8806362B2 (en) * 2010-01-06 2014-08-12 Apple Inc. Device, method, and graphical user interface for accessing alternate keys
EP2531965A4 (en) * 2010-02-05 2015-01-07 Medversant Technologies Llc SYSTEM AND METHOD FOR HOMOLOGOUS REFERENCING IN AN ONLINE COMPUTER SYSTEM
US8788583B2 (en) 2010-05-13 2014-07-22 International Business Machines Corporation Sharing form training result utilizing a social network
CA2707929A1 (en) * 2010-06-15 2011-12-15 Faizal Haji Method and system for generating electronic receipts from print data
JP5253462B2 (ja) * 2010-07-30 2013-07-31 株式会社富士通マーケティング 店舗別レシートデータ収集装置およびそのプログラム
US20120050819A1 (en) * 2010-08-30 2012-03-01 Jiang Hong Approach For Processing Scanned Document Data
US9083826B2 (en) 2010-08-31 2015-07-14 Ricoh Company, Ltd. Tracking the processing of electronic document data by network services using trace
US8515930B2 (en) 2010-08-31 2013-08-20 Ricoh Company, Ltd. Merging a scanned document with an existing document on a server
US20120050818A1 (en) * 2010-08-31 2012-03-01 Kaoru Watanabe Sending scanned document data through a network to a mobile device
US9042653B2 (en) 2011-01-24 2015-05-26 Microsoft Technology Licensing, Llc Associating captured image data with a spreadsheet
US10409892B2 (en) 2011-01-26 2019-09-10 Microsoft Technology Licensing, Llc Formatting data by example
US20120197805A1 (en) * 2011-01-31 2012-08-02 Intuit Inc. Method and apparatus for capturing financial data using a camera-equipped computing device
US8811726B2 (en) * 2011-06-02 2014-08-19 Kriegman-Belhumeur Vision Technologies, Llc Method and system for localizing parts of an object in an image for computer vision applications
US11323505B2 (en) 2011-06-20 2022-05-03 Ibotta, Inc. Computer networks for selective node delivery
JP5844564B2 (ja) * 2011-07-07 2016-01-20 隆均 半田 帳票認識システム
US20130022257A1 (en) * 2011-07-19 2013-01-24 General Electric Company Systems and methods for automatic generation of medical image sheets
US10769554B2 (en) * 2011-08-01 2020-09-08 Intuit Inc. Interactive technique for using a user-provided image of a document to collect information
WO2013039025A1 (ja) * 2011-09-16 2013-03-21 Necカシオモバイルコミュニケーションズ株式会社 情報管理編集機能を備えた情報処理装置
US20140258243A1 (en) * 2011-10-11 2014-09-11 Applyrapid, Inc. Online system, apparatus, and method for obtaining or apply for information programs, services and/or products
US9858548B2 (en) 2011-10-18 2018-01-02 Dotloop, Llc Systems, methods and apparatus for form building
JP5878004B2 (ja) * 2011-11-15 2016-03-08 隆均 半田 複数文書認識システム及び複数文書認識方法
US11182820B2 (en) 2011-12-02 2021-11-23 T-Mobile Usa Inc. System and method for electronic submission of a rebate request with validation information
KR101356629B1 (ko) 2012-01-20 2014-02-04 한국과학기술원 상관 클러스터링을 이용한 이미지 분할 방법, 이를 처리하는 시스템 및 기록매체
US20130191714A1 (en) * 2012-01-25 2013-07-25 Microsoft Corporation Fill by example animation and visuals
US10044938B2 (en) * 2012-02-08 2018-08-07 Abukai, Inc. Method and apparatus for processing images of receipts
GB201203858D0 (en) * 2012-03-05 2012-04-18 Porta Holding Ltd Automated processing of documents
US9811850B2 (en) 2012-04-08 2017-11-07 Microsoft Technology Licensing, Llc User task completion via open market of actions and/or providers
JP5246364B1 (ja) * 2012-05-18 2013-07-24 富士ゼロックス株式会社 情報処理システム及びプログラム
US11631265B2 (en) * 2012-05-24 2023-04-18 Esker, Inc. Automated learning of document data fields
US9536141B2 (en) * 2012-06-29 2017-01-03 Palo Alto Research Center Incorporated System and method for forms recognition by synthesizing corrected localization of data fields
US9342495B2 (en) * 2012-07-18 2016-05-17 Think Research Corporation Methods, software and devices for improving visibility of user-filled data in an electronic form
US9430456B2 (en) * 2012-08-10 2016-08-30 Transaxy Inc. System for entering data into a data processing system
US9092667B2 (en) * 2012-08-27 2015-07-28 Symbol Technologies, Llc Arrangement for and method of reading forms in correct orientation by image capture
US10826951B2 (en) 2013-02-11 2020-11-03 Dotloop, Llc Electronic content sharing
US9189468B2 (en) * 2013-03-07 2015-11-17 Ricoh Company, Ltd. Form filling based on classification and identification of multimedia data
US20140258825A1 (en) * 2013-03-08 2014-09-11 Tuhin Ghosh Systems and methods for automated form generation
US20140258838A1 (en) * 2013-03-11 2014-09-11 Sap Ag Expense input utilities, systems, and methods
US8924259B2 (en) 2013-03-14 2014-12-30 Square, Inc. Mobile device payments
JP5654627B2 (ja) * 2013-03-14 2015-01-14 株式会社富士通マーケティング 店舗別レシートデータ収集装置およびそのプログラム
JP5814284B2 (ja) * 2013-03-22 2015-11-17 ヤフー株式会社 端末装置、表示方法、表示制御プログラム及びサーバ装置
US9575622B1 (en) 2013-04-02 2017-02-21 Dotloop, Llc Systems and methods for electronic signature
US9406089B2 (en) * 2013-04-30 2016-08-02 Intuit Inc. Video-voice preparation of electronic tax return
KR101504156B1 (ko) * 2013-05-20 2015-04-02 주식회사 엠앤엘솔루션 클라우드 서비스 기반 문서 인식 및 개인정보 공유 서비스 장치
US10229101B2 (en) 2013-06-14 2019-03-12 Microsoft Technology Licensing, Llc Smart fill
US9148771B2 (en) 2013-07-29 2015-09-29 Motorola Solutions, Inc. Method to provide context-aware linkage between NG9-1-1 SMS and public safety incident
US10140257B2 (en) 2013-08-02 2018-11-27 Symbol Technologies, Llc Method and apparatus for capturing and processing content from context sensitive documents on a mobile device
US10769362B2 (en) 2013-08-02 2020-09-08 Symbol Technologies, Llc Method and apparatus for capturing and extracting content from documents on a mobile device
US9710440B2 (en) * 2013-08-21 2017-07-18 Microsoft Technology Licensing, Llc Presenting fixed format documents in reflowed format
US10867143B2 (en) 2013-09-17 2020-12-15 Integrated Solutions International, Llc Systems and methods for age-restricted product registration
US11886952B2 (en) 2013-09-17 2024-01-30 Integrated Solutions International, Llc Systems and methods for point of sale age verification
US10867144B2 (en) 2013-09-17 2020-12-15 Integrated Solutions International Llc Systems and methods for point of sale age verification
US9558387B2 (en) * 2013-09-17 2017-01-31 Michael F. Sweeney Systems and methods for decoding and using data on cards
WO2015048291A1 (en) * 2013-09-25 2015-04-02 Chartspan Medical Technologies, Inc. User-initiated data recognition and data conversion process
US10061835B2 (en) 2013-10-28 2018-08-28 Motorola Solutions, Inc. Establishing user-confidence levels of data inputs
US9799021B1 (en) 2013-11-26 2017-10-24 Square, Inc. Tip processing at a point-of-sale system
CN103716670A (zh) * 2013-11-27 2014-04-09 深圳市同洲电子股份有限公司 一种自定义栏位的方法和系统
US9286526B1 (en) * 2013-12-09 2016-03-15 Amazon Technologies, Inc. Cohort-based learning from user edits
KR101516684B1 (ko) * 2013-12-19 2015-05-11 주식회사 지트레이스 Ocr을 이용한 문서 변환 서비스 방법
USD738909S1 (en) * 2014-01-09 2015-09-15 Microsoft Corporation Display screen with animated graphical user interface
US10552525B1 (en) * 2014-02-12 2020-02-04 Dotloop, Llc Systems, methods and apparatuses for automated form templating
US8885916B1 (en) 2014-03-28 2014-11-11 State Farm Mutual Automobile Insurance Company System and method for automatically measuring the dimensions of and identifying the type of exterior siding
US20150301987A1 (en) * 2014-04-18 2015-10-22 Microsoft Corporation Multiple monitor data entry
KR101633974B1 (ko) * 2014-05-14 2016-06-27 중소기업은행 카드사용 명세서 생성 장치 및 방법
CN104090648B (zh) * 2014-05-21 2017-08-25 中兴通讯股份有限公司 数据录入方法及终端
US10824799B2 (en) 2014-06-30 2020-11-03 Microsoft Technology Licensing, Llc Summary data autofill
JP6399872B2 (ja) * 2014-07-07 2018-10-03 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US20160012030A1 (en) * 2014-07-08 2016-01-14 Tuyen Tran Data form generation and gathering
US10733364B1 (en) 2014-09-02 2020-08-04 Dotloop, Llc Simplified form interface system and method
US9741026B1 (en) 2014-09-30 2017-08-22 Square, Inc. Payment by use of identifier
US9384391B2 (en) * 2014-10-03 2016-07-05 Xerox Corporation Methods and systems for processing documents
EP3213504B1 (en) * 2014-10-28 2022-04-13 Hewlett-Packard Development Company, L.P. Image data segmentation
US20170185832A1 (en) * 2015-02-04 2017-06-29 Vatbox, Ltd. System and method for verifying extraction of multiple document images from an electronic document
US10621676B2 (en) * 2015-02-04 2020-04-14 Vatbox, Ltd. System and methods for extracting document images from images featuring multiple documents
US10755357B1 (en) 2015-07-17 2020-08-25 State Farm Mutual Automobile Insurance Company Aerial imaging for insurance purposes
US9519901B1 (en) 2015-09-16 2016-12-13 Square, Inc. Biometric payment technology
US9805511B2 (en) * 2015-10-21 2017-10-31 International Business Machines Corporation Interacting with data fields on a page using augmented reality
WO2017075392A1 (en) 2015-10-30 2017-05-04 Acxiom Corporation Automated interpretation for the layout of structured multi-field files
US10387561B2 (en) 2015-11-29 2019-08-20 Vatbox, Ltd. System and method for obtaining reissues of electronic documents lacking required data
US10558880B2 (en) 2015-11-29 2020-02-11 Vatbox, Ltd. System and method for finding evidencing electronic documents based on unstructured data
US11138372B2 (en) 2015-11-29 2021-10-05 Vatbox, Ltd. System and method for reporting based on electronic documents
US10509811B2 (en) 2015-11-29 2019-12-17 Vatbox, Ltd. System and method for improved analysis of travel-indicating unstructured electronic documents
WO2017128273A1 (en) 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Error block determination
JP6690278B2 (ja) * 2016-02-10 2020-04-28 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
CN105718432B (zh) * 2016-03-16 2019-02-01 北京睿新科技有限公司 一种用于电网运行设备的信息挖掘与数据质量的校验方法
CN107239453B (zh) * 2016-03-28 2020-10-02 平安科技(深圳)有限公司 信息写入方法和装置
US11507688B1 (en) 2016-05-10 2022-11-22 Ibotta, Inc. Methods and systems for tracking and regulating the availability of syndicated data items across multiple communication channels including online and offline channels
CN106648308A (zh) * 2016-11-17 2017-05-10 北京小度信息科技有限公司 界面显示方法、信息输入方法和装置
US10062074B1 (en) 2016-11-30 2018-08-28 Square, Inc. System for improving card on file transactions
KR102004180B1 (ko) * 2016-12-22 2019-10-01 김학현 시험지 인식을 통한 유사 문제 추출 장치 및 그 방법
CN106844567A (zh) * 2016-12-23 2017-06-13 《中国医药科学》杂志社有限公司 一种纸质稿件转换为网络文本页面的方法及系统
US9992022B1 (en) * 2017-02-06 2018-06-05 Northern Trust Corporation Systems and methods for digital identity management and permission controls within distributed network nodes
JP6957889B2 (ja) * 2017-02-08 2021-11-02 富士フイルムビジネスイノベーション株式会社 画像処理装置及び画像処理プログラム
CN107040592A (zh) * 2017-03-31 2017-08-11 南京钧元网络科技有限公司 一种手持式一站式检测服务系统及方法
WO2019017873A1 (en) 2017-07-17 2019-01-24 Hewlett-Packard Development Company, L.P. IMAGING OBJECT PROCESSING
EP3662393A1 (en) * 2017-08-02 2020-06-10 Canoe Software Inc. Automated reporting system
US10268883B2 (en) * 2017-08-10 2019-04-23 Adobe Inc. Form structure extraction network
KR102029980B1 (ko) * 2017-08-31 2019-10-08 한국전자통신연구원 대체 텍스트 생성 장치 및 그 방법
US10762286B2 (en) * 2017-09-21 2020-09-01 Payformix LLC Automated electronic form generation
US10789422B2 (en) * 2017-09-27 2020-09-29 Equifax Inc. Synchronizing data-entry fields with corresponding image regions
US11010677B2 (en) 2017-09-30 2021-05-18 Oracle International Corporation Event management system
US11301945B2 (en) 2017-09-30 2022-04-12 Oracle International Corporation Recruiting and admission system
US11062411B2 (en) 2017-09-30 2021-07-13 Oracle International Corporation Student retention system
US11151672B2 (en) 2017-10-17 2021-10-19 Oracle International Corporation Academic program recommendation
US10817656B2 (en) 2017-11-22 2020-10-27 Adp, Llc Methods and devices for enabling computers to automatically enter information into a unified database from heterogeneous documents
KR102458338B1 (ko) * 2017-11-30 2022-10-25 삼성전자주식회사 컴퓨팅 장치의 정보 입력 방법 및 그 컴퓨팅 장치
JP7158845B2 (ja) * 2017-11-30 2022-10-24 キヤノン株式会社 画像読取装置、画像読取装置の制御方法、及びプログラム
US10452904B2 (en) * 2017-12-01 2019-10-22 International Business Machines Corporation Blockwise extraction of document metadata
KR102023833B1 (ko) * 2018-01-22 2019-09-20 숭실대학교산학협력단 광학문자인식 기반 전자 가계부 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
JP7032692B2 (ja) 2018-01-31 2022-03-09 セイコーエプソン株式会社 画像処理装置および画像処理プログラム
US10949608B2 (en) * 2018-02-21 2021-03-16 Oracle International Corporation Data feedback interface
KR102036915B1 (ko) * 2018-04-03 2019-10-25 주식회사 한글과컴퓨터 개체 일괄 편집 방법 및 이를 이용하는 개체 일괄 편집 장치
WO2019197924A1 (en) * 2018-04-13 2019-10-17 Perry + Currier Inc. System and method for automatic docketing and data entry
US10241992B1 (en) * 2018-04-27 2019-03-26 Open Text Sa Ulc Table item information extraction with continuous machine learning through local and global models
US10846550B2 (en) * 2018-06-28 2020-11-24 Google Llc Object classification for image recognition processing
US11321519B1 (en) * 2018-08-29 2022-05-03 Applied Statistics & Management Inc. Data parsing and verification in a network environment
US10878402B1 (en) 2018-08-31 2020-12-29 Square, Inc. Temporarily provisioning payment functionality to alternate payment instrument
US10997583B1 (en) 2018-08-31 2021-05-04 Square, Inc. Temporarily provisioning card on file payment functionality to proximate merchants
US10713524B2 (en) 2018-10-10 2020-07-14 Microsoft Technology Licensing, Llc Key value extraction from documents
CN109388675A (zh) * 2018-10-12 2019-02-26 平安科技(深圳)有限公司 数据分析方法、装置、计算机设备及存储介质
US11880438B2 (en) 2018-10-17 2024-01-23 Integrated Solutions International, Llc Systems and methods for age restricted product activation
US11144715B2 (en) * 2018-11-29 2021-10-12 ProntoForms Inc. Efficient data entry system for electronic forms
EP3895068A4 (en) * 2018-12-12 2022-07-13 Hewlett-Packard Development Company, L.P. SCANNERS WITH ZONAL OCR USER INTERFACES
CN109684400A (zh) * 2018-12-29 2019-04-26 国网江苏省电力有限公司 一种基于rpa财务机器人的主数据管理自动化的方法
JP2020136728A (ja) * 2019-02-13 2020-08-31 キヤノン株式会社 画像処理装置、システム、方法およびプログラム
KR20200100918A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 카메라를 이용하는 어플리케이션을 통해 다양한 기능을 제공하는 전자 장치 및 그의 동작 방법
US11543943B2 (en) * 2019-04-30 2023-01-03 Open Text Sa Ulc Systems and methods for on-image navigation and direct image-to-data storage table data capture
CN111913930A (zh) * 2019-05-10 2020-11-10 上海中晶科技有限公司 物种数据解析方法、系统及电脑程序产品
US11295072B2 (en) 2019-06-03 2022-04-05 Adp, Llc Autoform filling using text from optical character recognition and metadata for document types
US10839147B1 (en) * 2019-09-24 2020-11-17 Intersections Inc. Method, a system and a machine-readable data carrier for classifying input fields and groups of input fields of a webpage
US11423042B2 (en) 2020-02-07 2022-08-23 International Business Machines Corporation Extracting information from unstructured documents using natural language processing and conversion of unstructured documents into structured documents
US11392753B2 (en) * 2020-02-07 2022-07-19 International Business Machines Corporation Navigating unstructured documents using structured documents including information extracted from unstructured documents
JP2021149184A (ja) * 2020-03-16 2021-09-27 富士フイルムビジネスイノベーション株式会社 文書処理装置、文書管理サーバ及びプログラム
US11423219B2 (en) * 2020-03-19 2022-08-23 International Business Machines Corporation Generation and population of new application document utilizing historical application documents
US11803415B2 (en) * 2020-03-31 2023-10-31 Microsoft Technology Licensing, Llc Automating tasks for a user across their mobile applications
CN111652176A (zh) * 2020-06-11 2020-09-11 商汤国际私人有限公司 信息提取方法、装置、设备及存储介质
US11568284B2 (en) * 2020-06-26 2023-01-31 Intuit Inc. System and method for determining a structured representation of a form document utilizing multiple machine learning models
US11669215B2 (en) * 2020-09-11 2023-06-06 Future Dial, Inc. Computing device identifier retrieval
CN112184164A (zh) * 2020-09-27 2021-01-05 中国建设银行股份有限公司 租赁物信息的管理方法、装置、电子设备及存储介质
US11755348B1 (en) * 2020-10-13 2023-09-12 Parallels International Gmbh Direct and proxy remote form content provisioning methods and systems
CN112257396A (zh) * 2020-10-20 2021-01-22 浪潮云信息技术股份公司 一种基于人工智能技术的手机端辅助填表方法
CN112306333A (zh) * 2020-11-11 2021-02-02 天津汇商共达科技有限责任公司 一种数据填充的方法及装置
US11315353B1 (en) 2021-06-10 2022-04-26 Instabase, Inc. Systems and methods for spatial-aware information extraction from electronic source documents
CN113449496A (zh) * 2021-06-25 2021-09-28 北京京东振世信息技术有限公司 一种自动生成维修单据的方法和装置
US11829701B1 (en) * 2022-06-30 2023-11-28 Accenture Global Solutions Limited Heuristics-based processing of electronic document contents

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001155114A (ja) * 1999-11-30 2001-06-08 Pfu Ltd 文字認識前処理装置及び方法並びにプログラム記録媒体
JP2001344562A (ja) * 2000-05-31 2001-12-14 Toshiba Corp 文書読取装置および文書読取方法
JP2002133367A (ja) * 2000-10-20 2002-05-10 Oki Electric Ind Co Ltd 文字認識装置
JP2003036260A (ja) * 2001-07-25 2003-02-07 Canon Inc データ管理装置およびデータ管理装置の制御方法およびプログラムおよび記憶媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03210688A (ja) * 1990-01-12 1991-09-13 Oki Electric Ind Co Ltd 行検出装置
KR100253629B1 (ko) 1994-04-25 2000-04-15 송정식 컴퓨터에의 자료입력이 용이한 명함과 명함 판독기
JP3727422B2 (ja) * 1996-09-03 2005-12-14 松下電器産業株式会社 文字認識装置及びその方法
US6366696B1 (en) 1996-12-20 2002-04-02 Ncr Corporation Visual bar code recognition method
JPH10198688A (ja) * 1997-01-10 1998-07-31 Matsushita Electric Ind Co Ltd 定型文書読み取り装置
US6108444A (en) 1997-09-29 2000-08-22 Xerox Corporation Method of grouping handwritten word segments in handwritten document images
JP2000353845A (ja) * 1999-06-10 2000-12-19 Sumitomo Electric Ind Ltd 半導体レーザモジュール
US6411313B1 (en) 1999-06-14 2002-06-25 Microsoft Corporation User interface for creating a spreadsheet pivottable
CN1147807C (zh) * 2000-08-22 2004-04-28 英业达集团(上海)电子技术有限公司 名片自动识别方法与系统
US7746510B2 (en) * 2001-02-01 2010-06-29 Pandipati Radha K C Receipts scanner and financial organizer
US20020131636A1 (en) * 2001-03-19 2002-09-19 Darwin Hou Palm office assistants
KR20020076087A (ko) * 2001-03-27 2002-10-09 황은성 스캐너와 컴퓨터를 이용한 인터넷 상에서의 명함정보의디지털화 및 관리방법
US6898316B2 (en) * 2001-11-09 2005-05-24 Arcsoft, Inc. Multiple image area detection in a digital image
JP3921390B2 (ja) 2002-01-23 2007-05-30 Necインフロンティア株式会社 電話帳情報抽出方式及びその方法
TW581972B (en) * 2002-05-06 2004-04-01 Newsoft Technology Corp Method to determine adjacency relation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001155114A (ja) * 1999-11-30 2001-06-08 Pfu Ltd 文字認識前処理装置及び方法並びにプログラム記録媒体
JP2001344562A (ja) * 2000-05-31 2001-12-14 Toshiba Corp 文書読取装置および文書読取方法
JP2002133367A (ja) * 2000-10-20 2002-05-10 Oki Electric Ind Co Ltd 文字認識装置
JP2003036260A (ja) * 2001-07-25 2003-02-07 Canon Inc データ管理装置およびデータ管理装置の制御方法およびプログラムおよび記憶媒体

Also Published As

Publication number Publication date
KR101122854B1 (ko) 2012-03-22
EP1580666A2 (en) 2005-09-28
JP2005302011A (ja) 2005-10-27
CN100465945C (zh) 2009-03-04
EP1580666A3 (en) 2007-01-17
US20040181749A1 (en) 2004-09-16
CN1673995A (zh) 2005-09-28
KR20060044691A (ko) 2006-05-16
US7305129B2 (en) 2007-12-04

Similar Documents

Publication Publication Date Title
JP4676225B2 (ja) スキャン・ドキュメントから電子フォームに取り込むための方法および装置
US10867171B1 (en) Systems and methods for machine learning based content extraction from document images
JP4829920B2 (ja) フォーム自動埋込方法及び装置、グラフィカルユーザインターフェース装置
KR101114194B1 (ko) 보조된 서식 채우기
CN101297318B (zh) 用于混合介质文档系统的数据组织和访问
CN102289667B (zh) 对经历光学字符识别(ocr)过程的文本文档中出现的错误的用户纠正
EP3869385A1 (en) Method for extracting structural data from image, apparatus and device
CN101578597A (zh) 转换文本
US20190340429A1 (en) System and Method for Processing and Identifying Content in Form Documents
US11741735B2 (en) Automatically attaching optical character recognition data to images
CN111539414B (zh) 一种ocr图像字符识别和字符校正的方法及系统
CN117083605A (zh) 用于文本-图像-布局变换器模型的迭代训练
US11914567B2 (en) Text-based machine learning extraction of table data from a read-only document
CN115294593A (zh) 一种图像信息抽取方法、装置、计算机设备及存储介质
JP2010061403A (ja) 文字列認識装置及び方法、並びにプログラム
JP5720182B2 (ja) 画像処理装置及び画像処理プログラム
JP5134383B2 (ja) Ocr装置、証跡管理装置及び証跡管理システム
US20220044048A1 (en) System and method to recognise characters from an image
Alzuru et al. Cooperative human-machine data extraction from biological collections
JP6682827B2 (ja) 情報処理装置及び情報処理プログラム
KR102555809B1 (ko) 문서 양식을 웹폼으로 변환하는 방법 및 시스템
US10339376B2 (en) System and method for automated processing of electronic documents
US20230289515A1 (en) Methods and systems for adding annotations from a printed version of a document to a digital version of the document
Kurhekar et al. Automated text and tabular data extraction from scanned document images
JP2005078287A (ja) 文字認識装置、文字認識プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110121

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees