(57)【要約】【課題】適切なシンボリック処理を実行するシンボリック表現処理方法及び装置等を提供すること。【解決手段】1つ以上のフォーム画像からテーブルを作成するシステム及び方法が開示される。画像ベースの文書管理(IBDM)サーバは、ストローク認識モジュールと、画像生成部と、テーブル生成部と、好みモジュールとを含む。ストローク認識モジュールは、手書きフィールドと、メディアフィールドと、シンボリックフィールドと共に1つ以上のフォームから記入済みフォームデータを受信する。画像生成部は、手書きフィールド、メディアフィールド及びシンボリックフィールドの組み合わせであるフィールド画像を生成する。好みモジュールは、テーブルを表示する際のユーザの好みを決定する。テーブル生成部はユーザの好みに基づいてフィールド画像からテーブルを生成する。【選択図】図１
2014170544.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する処理方法であって、
手書きフィールドを有する１つ以上のフォームについての記入済みフォームデータを受信するステップと、
図形表現から第１のフィールド画像を生成しかつシンボリック表現から第２のフィールド画像を生成するステップと、
前記第１のフィールド画像及び前記第２のフィールド画像からテーブルを生成するステップと、
表示する前記テーブルを提供するステップと
を有する処理方法。
【請求項２】
シンボリックフィールド及びメディアフィールドを有する未記入フォームを受信するステップと、
前記図形表現を描くための変化の仕方を保存するステップと、
シンボリックフィールド各々について、ライン、着色及び基本図形を保存するステップと、
図形表現を描くための変化の仕方を保存するステップと、
メディアフィールド各々について基本図形を保存するステップと、
メディアをレンダリングすることで前記メディアフィールドを含む第３のフィールド画像を生成するステップと、
シンボリックフィールド各々について基本図形を描くことでシンボリックフィールドを含む第４のフィールド画像を生成するステップと
を更に有し、ストロークを描くことで、前記手書きフィールドを含む前記第１のフィールド画像を生成する際に、前記第３のフィールド画像が前記メディアフィールド及び前記手書きフィールドの双方を含んでいた場合、前記メディアがレンダリングされた後に前記ストロークが描かれる、請求項１に記載の処理方法。
【請求項３】
前記第１のフィールド画像をシンボリックデータに変換するステップと、
前記第１のフィールド画像に関連するシンボリックデータ及び画像を保存するステップと
を更に有する請求項１に記載の処理方法。
【請求項４】
前記テーブルを表示する際のユーザの好みを特定するステップであって、前記ユーザの好みは、手書きデータを含むフィールド画像又はシンボリック表現を含むフィールド画像に関連している、ステップと、
前記ユーザの好みに基づいて前記テーブルを生成するステップと、
表示する前記テーブルを前記ユーザ装置に提供するステップと
を更に有する請求項３に記載の処理方法。
【請求項５】
前記ユーザの好みに基づいて前記テーブルを生成する前記ステップが、
シンボリック表現を含む前記フィールド画像に関連する信頼度スコアを決定するステップと、
前記信頼度スコアが閾値を上回っているか否かを判断するステップと、
前記信頼度スコアが閾値を超えていたことに応じて、シンボリック表現を含むフィールド画像についての前記ユーザの好みに基づいて前記テーブルを生成するステップと
を有する、請求項４に記載の処理方法。
【請求項６】
１つ以上のフォームについての前記記入済みフォームデータが、写真、オーディオ記録又はビデオ記録にリンクしたアイコン、及びサムネイルのうちの少なくとも１つを含む、請求項１に記載の処理方法。
【請求項７】
１つ以上のフォームについての前記記入済みフォームデータが、選択肢を示す文字列、フォーム画像に関連するタイムスタンプ、前記フォーム画像に入力されたストロークに関連するタイムスタンプ、及び前記フォーム画像が記入された場所のうちの少なくとも１つが含まれている少なくとも１つのシンボリックフィールドを含む、請求項１に記載の処理方法。
【請求項８】
プロセッサと、
メモリに保存されかつ前記プロセッサにより実行可能なストローク認識モジュールであって、手書きフィールドを有する１つ以上のフォームについての記入済みフォームデータを受信するストローク認識モジュールと、
前記メモリに保存されかつ前記プロセッサにより実行可能な画像生成部であって、前記ストローク認識モジュールに結合され、図形表現から第１のフィールド画像を生成しかつシンボリック表現から第２のフィールド画像を生成する画像生成部と、
前記メモリに保存されかつ前記プロセッサにより実行可能なテーブル生成部であって、前記画像生成部に結合され、前記第１のフィールド画像及び前記第２のフィールド画像からテーブルを生成し、表示する前記テーブルを提供するテーブル生成部と
を有するシステム。
【請求項９】
当該システムは、前記ストローク認識モジュールに結合されたフォームフィールド抽出エンジンを更に有し、前記フォームフィールド抽出エンジンは、シンボリックフィールド及びメディアフィールドを有する未記入フォームを受信し、前記図形表現を描くための変化の仕方を保存し、シンボリックフィールド各々について、ライン、着色及び基本図形を保存し、図形表現を描くための変化の仕方を保存し、メディアフィールド各々について基本図形を保存し、
前記画像生成部は、メディアをレンダリングすることで前記メディアフィールドを含む第３のフィールド画像を生成し、シンボリックフィールド各々について基本図形を描くことでシンボリックフィールドを含む第４のフィールド画像を生成し、ストロークを描くことで、前記手書きフィールドを含む前記第１のフィールド画像を生成し、前記第３のフィールド画像が前記メディアフィールド及び前記手書きフィールドの双方を含んでいた場合、前記メディアがレンダリングされた後に前記ストロークが描かれる、請求項８に記載のシステム。
【請求項１０】
前記テーブル生成部に結合されたシンボリック表現モジュールであって、前記第１のフィールド画像をシンボリックデータに変換するシンボリック表現モジュールと、
前記第１のフィールド画像に関連するシンボリックデータ及び画像を保存するデータベースと
を更に有する請求項８に記載のシステム。
【請求項１１】
当該システムは、前記テーブル生成部に結合されたユーザ好みモジュールを更に有し、前記ユーザ好みモジュールは、前記テーブルを表示する際のユーザの好みを特定し、前記ユーザの好みは、手書きデータを含むフィールド画像又はシンボリック表現を含むフィールド画像に関連し、
前記テーブル生成部は、前記ユーザの好みに基づいて前記テーブルを生成し、表示する前記テーブルを前記ユーザ装置に提供する、請求項１０に記載のシステム。
【請求項１２】
前記テーブル生成部は、
シンボリック表現を含む前記フィールド画像に関連する信頼度スコアを決定し、前記信頼度スコアが閾値を上回っているか否かを判断し、前記信頼度スコアが閾値を超えていたことに応じて、シンボリック表現を含むフィールド画像についてのユーザの好みに基づいて前記テーブルを生成することで、前記ユーザの好みに基づいて前記テーブルを生成する、請求項１０に記載のシステム。
【請求項１３】
１つ以上のフォームについての前記記入済みフォームデータが、写真、オーディオ記録又はビデオ記録にリンクしたアイコン、及びサムネイルのうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１４】
処理方法をコンピュータに実行させるコンピュータプログラムであって、前記処理方法は、
手書きフィールドを有する１つ以上のフォームについての記入済みフォームデータを受信するステップと、
図形表現から第１のフィールド画像を生成しかつシンボリック表現から第２のフィールド画像を生成するステップと、
前記第１のフィールド画像及び前記第２のフィールド画像からテーブルを生成するステップと、
表示する前記テーブルを提供するステップと
を有する、コンピュータプログラム。  
【請求項１５】
前記処理方法が、
シンボリックフィールド及びメディアフィールドを有する未記入フォームを受信するステップと、
前記図形表現を描くための変化の仕方を保存するステップと、
シンボリックフィールド各々について、ライン、着色及び基本図形を保存するステップと、
図形表現を描くための変化の仕方を保存するステップと、
メディアフィールド各々について基本図形を保存するステップと、
メディアをレンダリングすることで前記メディアフィールドを含む第３のフィールド画像を生成するステップと、
シンボリックフィールド各々について基本図形を描くことでシンボリックフィールドを含む第４のフィールド画像を生成するステップと
を更に有し、ストロークを描くことで、前記手書きフィールドを含む前記第１のフィールド画像を生成する際に、前記第３のフィールド画像が前記メディアフィールド及び前記手書きフィールドの双方を含んでいた場合、前記メディアがレンダリングされた後に前記ストロークが描かれる、請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記処理方法が、
前記第１のフィールド画像をシンボリックデータに変換するステップと、
前記第１のフィールド画像に関連するシンボリックデータ及び画像を保存するステップと
を更に有する、請求項１４に記載のコンピュータプログラム。
【請求項１７】
前記処理方法が、
前記テーブルを表示する際のユーザの好みを特定するステップであって、前記ユーザの好みは、手書きデータを含むフィールド画像又はシンボリック表現を含むフィールド画像に関連している、ステップと、
前記ユーザの好みに基づいて前記テーブルを生成するステップと、
表示する前記テーブルを前記ユーザ装置に提供するステップと
を更に有する、請求項１４に記載のコンピュータプログラム。
【請求項１８】
前記第２のフィールド画像が、手書きデータをシンボリック表現に変換することで生成される、請求項１４に記載のコンピュータプログラム。
【請求項１９】
ユーザの好みに基づいて前記テーブルを生成する前記ステップが、
シンボリック表現を含む前記フィールド画像に関連する信頼度スコアを決定するステップと、
前記信頼度スコアが閾値を上回っているか否かを判断するステップと、
前記信頼度スコアが閾値を超えていたことに応じて、シンボリック表現を含むフィールド画像についての前記ユーザの好みに基づいて前記テーブルを生成するステップと
を有する、請求項１６に記載のコンピュータプログラム。
【請求項２０】
１つ以上のフォームについての前記記入済みフォームデータが、写真、オーディオ記録又はビデオ記録にリンクしたアイコン、及びサムネイルのうちの少なくとも１つを含む、請求項１４に記載のコンピュータプログラム。
【請求項２１】
１つ以上のフォームについての前記記入済みフォームデータが、選択肢を示す文字列、フォーム画像に関連するタイムスタンプ、前記フォーム画像に入力されたストロークに関連するタイムスタンプ、及び前記フォーム画像が記入された場所のうちの少なくとも１つが含まれている少なくとも１つのシンボリックフィールドを含む、請求項１４に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
明細書に記載されている事項は1つ以上のフォーム画像からテーブルを作成するためのシステム及び方法等に関連する。特に、明細書に記載されている事項は、手書きの線及び手書きの線によるシンボリック表現を含むセルと共にテーブルを作成すること等に関連する。
【背景技術】
【０００２】
携帯コンピュータ装置は情報をフォームに入力するために利用できる。ユーザがスタイラスを利用して情報を入力すると、フォームは、光学文字認識(OCR)、インテリジェント文字認識(ICR)、光学式マーク認識(OMR)等を利用して、ストローク情報を有するシンボリック情報(symbolic  information)に全体的に変換され、後の処理に備えて保存される。しかしながら、シンボリック変換はエラーを起こしやすい傾向があり、手書きの線の情報を対象とする場合は特にそうであり、シンボリック変換でなければ他の方法に利用可能であったかもしれないコンピュータリソースを必要とする一方で、エラーを検出して訂正するためにかなりの人手を介させなければならないことも間々ある。更に、フォームに記入された機密情報のシンボリック変換は、フォーム処理システムにアクセスするユーザにとってプライバシ上の懸念もあり、ユーザの署名のシンボリック変換は不要であるし負担が大きい(energy  intensive)。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
実施の形態の課題は、適切なシンボリック処理を実行するシンボリック表現処理方法及び装置等を提供することである。
【課題を解決するための手段】
【０００４】
実施の形態による処理方法は、
コンピュータが実行する処理方法であって、
手書きフィールドを有する１つ以上のフォームについての記入済みフォームデータを受信するステップと、
図形表現から第１のフィールド画像を生成しかつシンボリック表現から第２のフィールド画像を生成するステップと、
前記第１のフィールド画像及び前記第２のフィールド画像からテーブルを生成するステップと、
表示する前記テーブルを提供するステップと
を有する処理方法である。
【発明の効果】
【０００５】
実施の形態によれば、適切なシンボリック処理を実行するシンボリック表現処理方法及び装置等を提供することができる。
【図面の簡単な説明】
【０００６】
【図１】複数のフォーム画像からテーブルを作成するシステムの一実施形態を示す上位概念的なブロック図。
【図２】一実施形態による画像ベースの文書管理(IBDM)サーバを詳細に示すブロック図。
【図３Ａ】例示的なフォームを示す図。
【図３Ｂ】画像ベースの文書管理(IBDM)サーバにより受信される手書きストロークを含むフォーム画像を示す図。
【図３Ｃ】画像ベースの文書管理(IBDM)サーバにより受信される手書きストロークを含むフォーム画像を示す図。
【図４Ａ】手書きストロークを含むフィールド画像について設定された好みに基づく複数のフォーム画像を伴うテーブルを含むユーザインタフェースの一例を示す図。
【図４Ｂ】単独のフォームのシンボリックデータを編集する表編集ウィンドウを含むユーザインタフェースの一例を示す図。
【図４Ｃ】シンボリック表現を含むフィールド画像について設定された好みに基づく複数のフォーム画像を伴うテーブルを含むユーザインタフェースの一例を示す図。
【図５Ａ】フォーム画像からテーブルを作成する方法の一例をフローチャートで示す図。
【図５Ｂ】フォーム画像からテーブルを作成する方法の別の例を示すフローチャート。
【図６】テーブルについてのユーザの好みを表示する一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
＜実施の形態の概要＞
開示される実施形態は、フォーム画像からテーブルを作成するシステム及び方法により従来の問題を少なくとも軽減し、フォーム画像におけるセルは、手書きの線と手書きの線により象徴的表現又はシンボリック表現(symbolic  representation)とを含んでいる。画像ベースの文書管理(Image  Based  Document  Management：IBDM)サーバは、ストローク認識モジュールと、フォームフィールド認識モジュールと、画像生成部と、テーブル生成部と、シンボリック表現モジュールと、優先モジュール(又は好みモジュール)とを含む。一実施形態において、ストローク認識モジュールは、手書きフィールドの手書き線と、メディアフィールドのメディアと、シンボリックフィールドに関連するシンボリック値と共に複数のフォーム画像を受信する。画像生成部は、シンボリックフィールド、メディアフィールド及び手書きフィールドの組み合わせであるフィールド画像を生成する。テーブル生成部は、1つ以上の列を含むフィールド画像と共にテーブルを生成し、1つ以上の列は、メディアフィールド及び手書きフィールドの双方を含む第1のフィールド画像と、手書きデータのシンボリック表現を含む第2のフィールド画像と、手書きデータを含む第3のフィールド画像と、シンボリックフィールドのシンボリック値を含む第4のフィールド画像とを含む。テーブル生成部は、手書きデータ及びシンボリック表現を、第2のフィールド画像に関連付けるように保存する。ユーザ優先モジュールは、テーブルを表示する際のユーザの好みを決定し、ユーザの好みは、手書きデータを含むフィールド画像又はシンボリック表現を含むフィールド画像に関連している。一実施形態において、テーブル生成部はユーザの好みに基づいてテーブルを生成する。
【０００８】
他の実施形態は、対応する方法、システム、装置、コンピュータプログラムプロダクト、コンピュータプログラムを含み、これらは上記及びその他の開示内容に関連している。
【０００９】
実施の形態によれば、演算負担が少なくかつ高速に処理を行うフォーム処理をもたらすことができる。本願により説明される特徴及び効果は全てを網羅するものではなく、明細書及び図面により多くの更なる特徴及び効果が明らかになるであろう。更に、明細書で使用されている言葉は原則として読みやすさや説明の便宜等の観点から選択されており、本願により開示される内容を限定するようには意図されていない点に留意すべきである。
【００１０】
＜実施の形態の詳細な説明＞
以下、単なる具体例にすぎない非限定的な添付図面と共に、本発明を説明する。図中、同様な番号は同様な要素を指す。
【００１１】
以下、手書きストローク(handwriting  stroke)と手書きストロークによりシンボリック表現(symbolic  representation)とを含むテーブルのセルと共にフォーム画像からテーブルを作成するシステム及び方法を説明する。説明の便宜上、多くの具体的な詳細が本発明の十分な理解を促すために記述されている。しかしながら、実施の形態はそのような具体的な詳細によらずに実行されてもよいことは、当業者にとって明らかであろう。また、構造及び装置は本発明を曖昧にしないようにブロック図で示されている。例えば、本発明はスマートフォン等のようなユーザ装置及び具体的なソフトウェアやハードウェアを参照しながら説明されている。しかしながら本説明はデータ及びコマンドを受信することが可能な任意のタイプのコンピュータ装置、及びサービスを提供する任意のペリフェラル装置にも適用できる。
【００１２】
「一実施形態」又は「実施の形態」という明細書中の用語は、その形態に関連して具体的に説明される特徴、構造又は特性等が少なくとも1つの形態に含まれていることを意味する。本明細書中で多数登場する「一実施形態」又は「実施の形態」という語句は必ずしも全てが同じ形態を指すとは限らない。
【００１３】
後述の詳細な説明の一部は、コンピュータメモリ内のデータビットに関する動作の象徴的表現及びアルゴリズムの観点からなされている。これらのアルゴリズム的な説明及び表現は、当業者が他の当業者に各自の意図を非常に効果的に伝えるためにデータ処理の技術分野で彼らによって使用されている。本願におけるアルゴリズムは、一般に、所望の結果を得るための一貫した一連のステップであると考えられる。これらのステップは物理量の物理的な処理を必要とする。必須ではないが、通常、これらの量は、保存、転送、結合、比較及びその他の処理を行うことが可能な電気的又は磁気的な信号の形式をとる。一般的な理由から、これらの信号を、ビット、値、要素、シンボル、キャラクタ、期間、数等として言及することがしばしば便利であることが分かる。
【００１４】
しかしながら、これら及び類似する用語の全ては、適切な物理量に関連付けられるが、これらの物理量に適用される便宜的なラベルにすぎないことに留意を要する。明示的に言及しない限り、以下の説明から明らかであるように、本説明を通じて、「処理」又は「演算」又は「計算」又は「決定」又は「表示」等のような用語を用いた説明は、コンピュータシステム又は類似する電子コンピュータ装置による処理及びプロセスに関連することが理解され、そのコンピュータシステム等は、コンピュータシステムのレジスタ及びメモリ内で物理量として表現されているデータを、コンピュータシステムメモリ又は他のそのような情報を保存、通信又は表示する装置の中で物理量として表現される同様な他のデータに、処理及び変換する。
【００１５】
本発明は本願による処理を実行する装置にも関連している。本装置は、必要とされる目的に特化して構築されてもよいし、或いはコンピュータに保存されたコンピュータプログラムにより選択的にアクティブに又は再構築される汎用コンピュータを備えていてもよい。そのようなコンピュータプログラムはコンピュータで読み取ることが可能な記憶媒体(コンピュータ読み取り可能記憶媒体)に保存されていてもよく、その記憶媒体は、限定ではないが、例えば、フロッピディスク、光ディスク、CD-ROM及び磁気ディスク等を含む任意のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、光カード、不揮発性メモリを備えたUSBキーを含むフラッシュメモリ、又は電子命令を保存するのに適した任意のタイプのメディア等であり、これらの各々はコンピュータシステムバスにより結合されている。
【００１６】
一実施形態は、完全なハードウェアの形態、完全なソフトウェアの形態、又はハードウェア及びソフトウェア双方を含む形態をとることが可能である。好ましい実施の形態はソフトウェアで実施され、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
【００１７】
更に、実施の形態はコンピュータプログラム又はコンピュータプログラムプロダクトの形態をとることが可能であり、コンピュータ又は何らかの命令実行システムにより又はそれらに関連して使用されるプログラムコードを提供するコンピュータにより利用することが可能な又は読み取ることが可能な媒体からアクセスできる。本発明に関し、コンピュータにより利用することが可能な又は読み取ることが可能な媒体は、命令実行システム、装置又はデバイスにより又はそれらに関して使用されるプログラムを包含、保存、格納、通信、伝送又は転送することが可能な任意の装置とすることが可能である。
【００１８】
プログラムコードを保存及び/又は実行するのに適したデータ処理システムは、システムバスを介してメモり要素に直接的又は間接的に結合される少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量ストレージ(バルクストレージ)及びキャッシュメモリを含むことが可能であり、キャッシュメモリは少なくとも幾つかのプログラムコードの一時的な記憶を行い、実行の最中にバルクストレージからコードを取り出さなければならない回数を減らす。入力/出力(I/O)装置(例えば、キーボード、ディスプレイ、ポインティングデバイス等であるが、これらに限定されない)は、直接的に又は介在するI/Oコントローラを介してシステムに結合されてもよい。
【００１９】
ネットワークアダプタがシステムに結合され、データ処理システムが、介在するプライベート又はパブリックネットワークを介して、他のデータ処理システム、リモートプリンタ又はストレージ装置に結合できるようになっていてもよい。モデム、ケーブルモデム及びイーサーネット(登録商標)カードは、現在利用可能なタイプのネットワークアダプタの一例である。
【００２０】
そして、本願で説明されるアルゴリズム及びディスプレイは何らかの特定のコンピュータや他の装置に固有に関連してはいない。本願による教示内容によるプログラムと共に様々な汎用システムが使用されよいし、或いは必要な方法ステップを実行するように具体的に装置を特化させて構築してもよい。これらの様々なシステムに必要な構造は以下の詳細な説明から更に明らかになるであろう。更に、本明細書は何らかの特定のプログラミング言語に関連して説明されてはいない。本願で説明される様々な実施形態の教示内容を実現するために、様々なプログラミング言語が使用されてよいことが、理解されるであろう。
【００２１】
＜システム概要＞
図1は、複数のフォーム画像からテーブルを作成するシステム100の上位概念的なブロック図を示す。図示のシステム100の実施形態は、画像取得装置101と、携帯コンピュータ装置102a-102aと、ユーザ装置103a-103nと、電子ライタサーバ107と、画像ベースの文書管理(IBDM)サーバ106とを有し、これら各々はネットワーク104に通信可能に結合されている。図1及び他の図面において、参照番号の後の文字、例えば「102a」はその特定の参照番号を有する要素を示す。後に続く文字を有しない文字列による参照番号、例えば「102」はその参照番号を担う要素の全て又は任意の何れかを一般的に指している。
【００２２】
ネットワーク104は、従来のタイプ、有線又は無線によるものであり、スター構成、トークンリング構成又は当該技術分野で既知の他の形態等のような様々な任意の形態を有してよい。更に、ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、及び/又は複数の装置が通信する相互接続された任意のデータ経路を含んでいてよい。更に別の形態では、ネットワーク104はピアツーピアネットワークであってもよい。ネットワーク104は多種多様な通信プロトコルでデータを送信する通信ネットワークの部分に結合されていてもよいし或いはそのような部分を含んでいてもよい。更に別の形態では、ネットワーク104はブルートゥース(登録商標)通信ネットワーク又はセルラ通信ネットワークを含み、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、直接的なデータ接続、無線アプリケーションプロトコル(WAP)、電子メール等によるデータを送受信する。複数の携帯コンピュータ装置102a-102a、複数のユーザ装置103a-103n、電子ライタサーバ107及び画像ベースの文書管理(IBDM)サーバ106にただ1つのネットワーク104しか結合されていないが、実際には任意の数のネットワーク104が個々の装置又はエンティティに接続されていてよい。
【００２３】
画像取得装置101が信号線111を介してネットワーク104に結合されている。ただ1つの画像取得装置101しか図示されていないが、当業者は任意の数の画像取得装置101がネットワーク104に結合可能であることを認めるであろう。画像取得装置101は、例えばペン、鉛筆等を用いて記入されたストローク(筆跡、１画1画、線等)(stroke)を含む印刷された形式の画像(印刷フォーム画像)を取得し、その印刷フォーム画像を電子ライタサーバ107に送信するのに適合している。一実施形態において、画像取得装置101は、マークされていない印刷フォーム画像(すなわち、如何なるストロークも記入されていない印刷フォーム画像)を、メタデータとして、取得した画像と共に電子ライタサーバ107に送信する。画像取得装置101は、例えば、スキャナ、ディジタルカメラ、標準的なセルラ電話機、ウェブカム、ビデオレコーダ等である。
【００２４】
携帯コンピュータ装置102a-102aの各々は信号線112a-112nによりネットワーク104に無線でそれぞれ接続される。携帯コンピュータ装置102は、メモリ、プロセッサ及び無線通信機能を有する任意のコンピュータ装置である。例えば、携帯コンピュータ装置102は、タブレットコンピュータ、パーソナルディジタルアシスタント、スマートフォン等とすることが可能である。携帯コンピュータ装置102は、フォーム画像を受信し、そのフォーム画像にストローク注釈(例えば、手書きのマークやコメント等)を付加し、注釈の付いたフォーム画像を電子ライタサーバ107に送信する。フォームは、記入が必要な又は要求されているフィールド(すなわち、空白領域)を含む任意の文書である。記入された場合に、必要な情報を伴うフォームは、取引文書、注文書、要求書等をなしてもよい。例えば、フォームは、納税様式、保険記入用紙、医療問診票、電子小切手、就職申込書、調査様式、受領書等であってもよい。
【００２５】
一実施形態において、携帯コンピュータ装置102は、コンピュータのパッド及びスタイラスを含むタブレットコンピュータである。コンピュータパッドは、フォーム画像を表示し、かつスタイラスやユーザの指のタップによりフォーム画像に記入される任意のストロークを取得するように適合している。ストロークは、典型的には、あたかも紙にペンで記入するかのように画像の表面に表示される。コンピュータパッドは、通常、ストロークを、一連の複数の点又は一連の複数のセグメントとして、場所、タイミング及び圧力(応力)情報と共に取得する。コンピュータパッドは、取得したストロークを含むフォーム画像を、当該技術分野で既知の何らかの画像フォーマットで、例えばスケーラブルベクトルグラフィックスファイルフォーマット(SVG)(これは、ストローク及び画像の双方を包含することが可能である)で送信する。一実施形態において、コンピュータパッドは、ストロークに関連する情報(例えば、場所、圧力特性、及びタイミング情報)をメタデータとしてフォーム画像に付随させる。携帯コンピュータ装置102は、自ら測位するために装置に内蔵されたグローバルポジショニングシステム(GPS)を利用することで、位置情報を確認する。一実施形態において、携帯コンピュータ装置102は、媒体アクセス制御(MAC)アドレスとインターネット上のロケーションとのペアを示すデータベースにアクセスする。位置を確認するために、携帯コンピュータ装置102は、データベースからアクセスポイントのMACアドレスに対応する位置を取得するだけである。屋内にある携帯コンピュータ装置102の位置を確認するために、携帯コンピュータ装置102は無線周波数、超音波信号又は不可視光線の通信を利用する。例えば、携帯コンピュータ装置102は、受信した信号の強度の測定に基づいて、無線アクセスポイント(複数)を介して自身の位置を確認する。一実施形態において、取得したストロークは、SVG又はインクマークアップ言語(InkML)等を含む当該技術分野で知られているストロークフォーマットで保存される。
【００２６】
ユーザ装置103a-103nの各々は信号線113a-113nを介してネットワーク104に結合されている。ユーザ装置103はメモリ及びプロセッサを含む任意のコンピュータ装置であり、例えばデスクトップコンピュータ、ラップトップコンピュータ等である。ユーザ装置103はIBDMサーバ106へのデータを送信する及びIBDMサーバ106からのデータを受信するように適合している。例えば、ユーザ装置103は、テーブル形式でテーブルを見るためにIBDMサーバ106にリクエストを送信し、IBDMサーバ106はジャバスクリプトオブジェクトノーテーション(JSON)及びPNGフォーマットでデータをユーザ装置103に提供する。ユーザ装置103は、IBDMサーバ106の情報にアクセスすることが許可されているユーザによりアクセスされ、そのようなユーザは、例えば携帯コンピュータ装置102に送信したフォームの作成者や、IBDMサーバ106の管理者である。ユーザ装置103はIBDMサーバ106により提供される情報を表示するディスプレイを含む。例えば、ユーザ装置103は、スプレッドシートのような表形式で及び/又はサマリ(概要)の形式で複数のフォーム画像の詳細をユーザ装置103のディスプレイで眺めるために、ユーザ装置103はIBDMサーバ106から図形データを受信する。
【００２７】
電子ライタサーバ107はメモリ及びプロセッサを有する任意のコンピュータ装置であり、信号線109を介してネットワーク104に結合される。一実施形態において、電子ライタサーバ107はユーザが記入する1つ以上のタイプのフォーム画像を生成する。例えば、電子ライタサーバ107は、来客名簿、患者の病歴、銀行の記入用紙等に関するフォームを生成してもよく、これらはPDF、PNG、JPEG等のような様々なフォーマットを有していてもよい。別の実施形態において、電子ライタサーバ107は、印の付いていない又は未記入の空白フォーム画像を画像取得装置101から受信する。電子ライタサーバ107は、フォームのフィールドの座標、個々のフィールドのラベル、及びフォーム画像内のフィールド群のラベル等を特定するソフトウェア(図示せず)を有する。一実施形態において、電子ライタサーバ107は、1つ以上のタイプのフォームに関し、指定されるフィールド各々についてのフィールド識別子、及び指定されるラベル各々についてのラベル識別子を生成する。1つ以上のタイプのフォームにはフォーム識別子が割り当てられる。電子ライタサーバ107は、ブランクフォーム画像におけるラベルについてのシンボリックテキスト及び/又は画像、ラベル、フィールドの場所及び識別子を示すメタデータ、及びブランクフォーム画像を、IBDMサーバ106に提供する。
【００２８】
一実施形態において、電子ライタサーバ107は、手書きストロークと共に記入されかつ1つ以上のタイプのメディアが付いているフォーム画像を、複数の携帯コンピュータ装置102a-102aから受信する。電子ライタサーバ107は、フォーム画像、手書きストローク、及びフォーム画像に関連するメディアを収集し、IBDMサーバ106に配布する。ただ1つの電子ライタサーバ107しか図示されていないが、任意の数の電子ライタサーバ107がネットワーク104に結合されてよいことを、当業者は認めるであろう。別の実施形態において、携帯コンピュータ装置102a-102aは、記入済みのフォームをIBDMサーバ106に直接的に送信する。
【００２９】
IBDMサーバ106はメモリ及びプロセッサを有する任意のコンピュータ装置であり、信号線116を介してネットワーク104に結合される。一実施形態において、IBDMサーバ106は、手書きストロークを含むフォーム画像を電子ライタサーバ107から受信し、フォーム画像の各々においてフィールド及びラベルを自動的に認識又は確認し、認識又は確認したフィールドについてフィールド画像を生成し、フィールド画像及び関連するメタデータをデータストレージ250に保存する。一実施形態において、IBDMサーバ106は、受信したフォーム画像からテーブルを作成し、ユーザの好みに基づいてテーブルの表示を修正する。ただ1つのIBDMサーバ106しか示されていないが、任意の数のIBDMサーバ106がネットワーク104に結合されてよいことを、当業者は認めるであろう。一実施形態において、IBDMサーバ106の構成要素又はコンポーネントは、サーバの一部ではなくユーザ装置103の一部をなしていてもよい。IBDMサーバ106については図2を参照しながら更に詳細に説明する。
【００３０】
＜画像ベースの文書管理(IBDM)サーバ106＞
図2を参照すると、画像ベースの文書管理(Image  Based  Document  Management：IBDM)サーバ106が詳細に示されている。図2はIBDMサーバ106のブロック図であり、IBDMサーバ106は、コントローラ202と、フォームフィールド抽出エンジン204と、ストローク認識モジュール206と、画像生成部208と、テーブル生成部210と、シンボリック表現モジュール212と、好みモジュール又は優先モジュール214と、ユーザインタフェースエンジン216と、プロセッサ240と、メモリ245と、通信ユニット255と、データストレージ250とを含む。
【００３１】
プロセッサ240と、メモリ245と、通信ユニット255と、データストレージ250とはバス230に通信可能に結合されている。バス230は、業界標準アーキテクチャ(ISA)バス、ペリフェラルコンポーネント相互接続(PCI)バス、ユニバーサルシリアルバス(USB)、又はその他の何らかの類似する機能を発揮する既存のバス等を含む1つ以上のバスを表現してもよい。
【００３２】
プロセッサ240は、算術演算論理ユニット、マイクロプロセッサ、汎用コントローラ又は演算を実行するその他の何らかのプロセッサアレイを有する。プロセッサ240は、信号線272を介してIBDMサーバ106の他の要素と通信するためにバス230に結合されている。プロセッサ240は、データ信号を処理し、様々な演算アーキテクチャを有し、例えば、複合命令セットコンピュータ(CSIC)アーキテクチャ、縮小命令セットコンピュータ(RISC)、又は組み合わせによる命令セットを実行するアーキテクチャを含む。図2にはただ1つのプロセッサしか示されていないが、複数のプロセッサが含まれていてもよい。処理能力は画像の表示、画像の取得、及び画像の通信に限定されない。処理能力は、様々なタイプの特徴抽出やサンプリング等を含む更なる複合的なタスクを実行できるほど十分であってもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ及び物理コンフィギュレーションが可能であることは、当業者にとって明らかであろう。
【００３３】
メモリ245は、プロセッサ240により実行されてよい命令及び/又はデータを保存する。メモリ245は、信号線274を介してIBDMサーバ106の他の要素と通信するためにバス230に結合されている。命令及び/又はデータは、本願で説明される技法の全部及び/又は何れかを実行するコードを有してもよい。メモリ245は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、又はその他の当該技術分野で知られている何らかの他のメモリ装置であってもよい。一実施形態において、メモリ245は、不揮発性メモリ又は同様な永続的なストレージ装置及び媒体を含んでもよく、例えば、ハードディスクドライブ、フロッピディスクドライブ、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RAM装置、DVD-RW装置、フラッシュメモリ装置又はその他の当該技術分野で既知の情報を永続的に保存する何らかの大容量ストレージ装置等である。
【００３４】
通信ユニット255は、プロセッサ240をネットワーク104及びその他の処理システムに接続することで、データを受信及び送信するハードウェアである。通信ユニット255は、ユーザ装置103からのリクエスト(例えば、テーブルを閲覧するためのリクエスト)のようなデータを受信し、そのリクエストをテーブル生成部210に送信する。通信ユニット255は、フォーム画像等のような情報を電子ライタサーバ107から受信する。通信ユニット255は、例えばリクエストに応じて、表示するテーブルを含む情報をユーザ装置103に送信する。通信ユニット255は信号線278を介してバス230に結合されている。一実施形態において、通信ユニット255は、ユーザ装置103、携帯コンピュータ装置102又はその他の通信チャネルに対する直接的な物理接続のためのポートを含んでいる。例えば、通信ユニット255は、ユーザ装置103との有線接続のためのRJ45ポート又は同様なポートを含む。別の実施形態では、通信ユニット255は、ユーザ装置103、携帯コンピュータ装置102又は他の任意の通信チャネルとの間で1つ以上の無線通信方式を利用してデータを通信するための無線トランシーバ116を含み、無線通信方式は例えばIEEE802.11、IEEE802.16、ブルートゥース(登録商標)又はその他の適切な無線通信方式である。
【００３５】
更に別の実施形態では、通信ユニット255はセルラ通信ネットワークを介してデータを送受信するセルラ通信トランシーバを含み、例えば、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータ接続、WAP、電子メール又はその他の適切な何らかのタイプの電子通信を行う。更に別の実施形態では、通信ユニット255は有線ポート及び無線トランシーバを含む。当業者に理解されるように、通信ユニット255は、ネットワーク204との他の従来の接続を行い、標準的なネットワークプロトコル(例えば、TCP/IP、HTTP、HTTPS及びSMTP)を利用してファイル及び/又はメディアオブジェクトを通信する。
【００３６】
データストレージ250は、一時的でない有体メモリであり、電子ライタサーバ107から受信した複数のフォーム画像に関連する情報を保存する。データストレージ250は、信号線276を介して他の要素と通信するためにバス230に結合されている。一実施形態において、データストレージ250は、電子ライタサーバ107から情報を受信し、ブランクフォーム画像のラベルに関するシンボリックテキスト及び/又は画像、ラベル、フィールドの場所及び識別子を記述するメタデータ及びブランクフォーム画像を保存する。一実施形態では、データストレージ250はフィールド抽出エンジン204から情報を受信し、その情報は、抽出された情報(例えば、基本図形又はドローイングプリミティブ(drawing  primitives)、変化の仕方又は変換又はトランスフォーム(transform)、線又はライン(line)、着色又はフィルカラー(fill  color)等)及びメディアフィールドやシンボリックフィールドに関連するメタデータを含む。別の実施形態において、データストレージ250は、ストローク認識モジュール206から受信した手書きストロークデータを圧縮されたフォーマット(例えば、InkML、SVG、PNG等)で保存する。
【００３７】
一実施形態において、データストレージ250は画像生成部208から情報を受信し、その情報は、手書きストロークのフィールド画像、シンボリックフィールド、メディアフィールド、フィールド画像に関連するメタデータ(フィールド画像、フォーム識別子、フィールド識別子等としてストロークを再生するためのストロークメタデータを含む)を含む。メタデータは、ストロークが入力された時点の日時と各ストロークの場所とを含むストローク情報を含む。そして、メタデータはOCR、OMR、ICR等に委ねられるフィールド画像に関連するシンボリック表現情報を含み、シンボリック変換に関連する信頼度スコア(confidence  sore)を含む。メタデータは以下に詳細に説明されるようにテーブルを生成する際に使用される。
【００３８】
コントローラ202は、通信ユニット255を介してデータを受信し、適切なコンポーネントにデータをルーティングし、かつコンポーネントからの応答(レスポンス)を通信ユニット255に送信し、ユーザ装置103及びシステム100の他のコンポーネントへ送信を行うソフトウェア及びルーチンである。一実施形態において、コントローラ202はプロセッサ240により実行可能な一群の命令であり、IBDMサーバ106のコンポーネントとシステム100の他のコンポーネントとの間のデータ転送を管理するための後述の機能を発揮する。別の実施形態において、コントローラ202は、メモリ245に保存され、プロセッサ240によりアクセス可能でありかつ実行可能である。何れにせよ、コントローラ202は、プロセッサ240、通信ユニット255、フォームフィールド抽出エンジン204、ストローク認識エンジン206、ユーザインタフェースエンジン216、及びIBDMサーバ106の他のコンポーネントと共に協働して通信するように適合されている。
【００３９】
フォームフィールド抽出エンジン204は、電子ライタサーバ107から受信した1つ以上のフォーム内のフィールドに関連する情報を抽出する(あるいは、一実施形態では携帯コンピュータ装置102から直接的に抽出する)ソフトウェア及びルーチンである。一実施形態において、フォームフィールド抽出エンジン204はプロセッサ240により実行可能な一群の命令であり、フォーム画像からフィールドに関する情報を抽出する後述の機能を発揮する。別の実施形態において、フォームフィールド抽出エンジン204は、メモリ245に保存され、プロセッサ240によりアクセス可能でありかつ実行可能である。何れにせよ、フィールド抽出エンジン204は、コントローラ202、画像生成部208、データストレージ250、及びIBDMサーバ106の他のコンポーネントと共に協働して通信するように適合されている。
【００４０】
一実施形態において、フォームフィールド抽出エンジン204は、コントローラ202を介して電子ライタサーバ107から受信した1つ以上のフォームに属する記入済みフォームデータから背景画像(background  image)を抽出する。背景画像は、1つ以上の記入済みフォームに対応する未記入フォーム画像を特定するのに使用される。別の実施形態において、背景画像は、整理又は組織化する目的で、1つ以上の記入済みフォームに追加するフォームの「集まり又は集合又はコレクション(collection)」を特定するために使用される。例えば、訪問者は「来客名簿(visitor  registration)」のフォームに記入し、そのフォーム画像がデータストレージ250内の来客名簿フォーム画像の集まりに加えられる。
【００４１】
図3Aは、手書きフィールド307、シンボリックフィールド309及びメディアフィールド311を含む多数のフィールドを含む例示的なフォーム300を示す。フィールドは、名前、会社名、署名等の(フィールドに)対応するラベルを有する。四角い枠(ボックス)内にストロークを入力することで(例えば、ソフトキーボードでキー入力することで、又はスタイラスで筆記体を書くことで)、起動されるまでラジオボタン(radio  button)を選択することで(例えば、チェックマーク、「X」及び実線の円)、及びメディアフィールドの上にストロークをマークすることで(例えば、写真)、ユーザはフィールドに記入する。
【００４２】
1つ以上のフォームに関して記入されたフォームデータは、手書きフィールド、シンボリックフィールド及びメディアフィールドを含んでいる。手書きフィールドは手書きのデータを含み、例えば、ユーザがストロークを書き込む、描く及び/又はマークする(印を付ける)ことを含む。シンボリックフィールドは、チェックボックスに記入させる指示等のような図形表現(例えば、基本線、変換、線及び着色、ビットマップ)を含む。シンボリックフィールドはシンボリックデータを含み、例えば、選択(例えば、チェックボックスの隣にある「はい」、「いいえ」等のような語句)、フォームに関連するタイムスタンプメタデータ(例えば、記入した時間及び/又は元の日付)、ストローク入力に関するタイムスタンプメタデータ(例えば、最初のストロークの入力時間、中間のストロークの入力時間、最後のストロークの入力時間等)、フォームが提出される場所のメタデータ等のようなシンボリック表現を含む。一実施形態において、製品を選択するためのシンボリックフィールドは、製品の画像である図形表現と、製品のモデル番号であるシンボリック値とを有する。別の実施形態におけるシンボリックフィールドは、アイコン、ロゴ及び漫画を利用した図形表現を有する。メディアフィールドは、携帯コンピュータ装置102で取得されるメディアデータ、又はフォームで使用される携帯コンピュータ装置102のストレージに保存されているメディアデータを含み、例えば、音声又はビデオの記録にリンクしているアイコン又は写真等である。一実施形態において、手書きフィールド及びメディアフィールドの双方が、記入されるフォームの同じ場所に登場することも可能である。例えば、ユーザはフォーム画像の写真の上にストロークを書いてもよい。
【００４３】
1つ以上の記入済みフォームのシンボリックフィールドを参照し、一実施形態によるフォームフィールド抽出エンジン204は、ライン及びフィルカラー、ドローイングプリミティブ(例えば、四角いチェックボックス、手書きの線を受け付けるための四角い枠、「X」の印、楕円、破線等)と、シンボリックフィールドに関連する図形表現を描くのに使用されるトランスフォームとを抽出する。別の実施形態において、フォームフィールド抽出エンジン204はシンボリックフィールドに関連するシンボリック値を抽出する。例えば、ラジオボタンの隣で選択内容を示すテイストフレーズ(文字列)、タブレットのソフトキーボードによりテキストフィールドに入力された電子メールアドレス等が抽出される。更に別の実施形態では、フォームフィールド抽出エンジン204はフォーム画像に関連するタイムスタンプ及びロケーションを抽出する。例えば、フォームが記入された日、フォームが記入された場所、フィールドへストロークを入力した時間等が抽出される。一実施形態において、フォームフィールド抽出エンジン204は、シンボリックフィールドから抽出した情報を、画像生成部208及びシンボリック表現モジュール212に送信する。別の実施形態では、フォームフィールド抽出エンジン204は抽出した情報をデータストレージ250に保存する。抽出された情報は、例えばジャバスクリプトオブジェクトノーテーション(JSON)等のような当業者にとって既知の構造化されシリアル化されたデータフォーマットで保存される。
【００４４】
1つ以上の記入済みフォームのメディアフィールドを参照し、一実施形態によるフォームフィールド抽出エンジン204は、図形表現を描くのに使用されるトランスフォームと、メディアフィールドに関連するドローイングプリミティブとを抽出する。例えば、メディアフィールドのドローイングプリミティブは、写真のようなメディアが位置付けられる場所を規定する幾何学形状又はトランスフォーム(例えば、四角形の座標)とすることが可能である。ドローイングプリミティブとして抽出される他のタイプのメディアは、オーディオ又はビデオの記録に関連するアイコンやサムネイル等を含む。一実施形態において、フォームフィールド抽出エンジン204は、メディアフィールドから抽出した情報を画像生成部208に送信する。別の実施形態において、フォームフィールド抽出エンジン204は抽出した情報をデータストレージ250に保存する。
【００４５】
一実施形態において、フォームフィールド抽出エンジン204は、1つ以上の記入されたフォームに対応する記入済みフォームデータを利用して、シンボリックフィールド及びメディアフィールドから、図形表現等を描くのに使用されるトランスフォーム、ドローイングプリミティブ、ライン及びフィルカラーを抽出する。1つ以上の記入済みフォームの手書きフィールドから手書きストロークを抽出する処理については、ストローク認識モジュール206に関連して更に説明される。
【００４６】
ストローク認識モジュール206は、フォーム画像のフィールドに関連するストロークを認識又は特定し、手書きフィールドに関連する図形表現を描くのに使用される情報を抽出するソフトウェア及びルーチンである。一実施形態において、ストローク認識モジュール206は、プロセッサ240により実行可能な一群の命令であり、フォーム画像からフィールドに関連するストロークを認識又は特定するために後述する機能を発揮する。別の実施形態において、ストローク認識モジュール206はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、ストローク認識モジュール206は、コントローラ202、画像生成部208、テーブル生成部210、データストレージ250、及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００４７】
一実施形態において、ストローク認識モジュール206は、手書きストロークを含む1つ以上のフォーム内のフォームデータを、コントローラ202から受信する。ストローク認識モジュール206は、フォーム画像中の画素(手書きストロークを表現している画素)を、例えば画素の輝度、画素の色等に基づいて認識又は特定する。ストローク認識モジュール206は、フォーム画像注のストロークの位置(例えば、x-y座標)を判定する。ストローク認識モジュール206はフィールド識別子によりフィールドの手書きストロークを認識する。一実施形態において、ストローク認識モジュール206は、受信したフォーム画像と共にメタデータ(フォーム画像内の手書きストロークの位置情報を含んでいる)を受信する。ストローク認識モジュール206はメタデータに基づいてフォーム画像内のストローク各々の位置を認識又は特定する。
【００４８】
一実施形態において、ストローク認識モジュール206は手書きストロークを含む記入済みフォームデータを(例えば、InkML又はその他のベクトルフォーマットで)コントローラ202から受信する。受信したフォームデータは、マークされていないブランクのフォーム画像又は未記入の空白様式画像(すなわち、如何なるストロークも記入されていないフォームの画像)もメタデータとして含んでいる。別の実施形態において、ストローク認識モジュール206は、例えば、入力された記入済みフォーム画像と未記入の空白フォーム画像との差分をとることで、記入されたフォーム各々について、入力された記入済みフォーム画像から、記入されたフォームデータを生成する。ストローク認識モジュール206は、記入されたフォームデータ内のストローク各々の位置を認識又は特定し、それとフォームのフィールドの既知の場所とを比較する。
【００４９】
図3Aを参照すると、ストローク認識モジュール206により受信されたフォーム画像300の図形表現が示されている。図示の例では、フォーム画像300は、携帯コンピュータ装置102を用いてユーザがフォーム300に記入した手書きストロークを含んでいる。ストローク認識モジュール206は、フォーム画像300からストローク(例えば、文字Oである301、文字sである303、文字Pである305)を認識し、かつフォーム画像300中のストローク各々の位置を特定する。
【００５０】
一実施形態において、ストローク認識モジュール206は、記入されたフォームデータの一群の手書きストロークに関し、ストローク境界枠を特定又は生成又は設定する。一実施形態において、ストローク認識モジュール206は、ストロークの位置に基づいて、フォーム画像の中で(境界枠と)互いにオーバーラップ又は重複している手書きストロークを認識し、ストローク周辺のストローク境界枠を特定する。ストローク境界枠の各々は固有であるべきであり、他のストローク境界枠と多くは重なっているべきでない。ストローク認識モジュール206は、フォーム画像内のストローク間の距離に基づいてストローク境界枠を特定する。この例の場合、ストローク各々の場所同士の間の距離は閾値距離の範囲内にある。例えば閾値距離は文字同士の間で数ミリメートルである。
【００５１】
一実施形態において、ストローク認識モジュール206は、一群の手書きストロークが記されているフォーム画像に関連するx-y座標と共に、一群の手書きストロークのストローク境界枠を特定又は生成する。例えば、ストローク境界枠は、フォーム画像の左上隅からストローク境界枠の左上隅までのx-yオフセットを含むように生成される。別の実施形態において、ストローク認識モジュール206は、未記入のフォーム画像のフィールド(例えば、空白部分)との重複又は近接性に基づいて一群の手書きストロークを決定する。更に別の実施形態では、ストローク認識モジュール206は、記入済みフォームデータと共にメタデータとして受信したストロークのタイミング情報に基づいて、一群の手書きストロークを特定する。例えば、ストローク認識モジュール206は、同時に記入された一群の手書きストロークについてストローク境界枠を特定又は生成又は設定する。
【００５２】
図3Bを参照すると、ストローク認識モジュール206により生成されたストローク境界枠を含むフォーム画像350の図形表現が示されている。ストローク境界枠は波線の四角で示されている。ストローク境界枠の場所は、ストローク境界枠の起点を示す実線矢印で示されている。図示の例において、ストローク認識モジュール206は、「Oscar  Mike」という言葉351及び「PQR」という言葉353をなす一群の手書きストロークと、「7/1/2013」という日付をなす一群のストローク355と、写真画像上で「priority」という言葉をなす一群のストローク357とについて、ストローク境界枠を特定している。一実施形態において、ストローク認識モジュール206は、ストローク境界枠について抽出した情報を画像生成部208に送信する。別の実施形態において、ストローク認識モジュール206は、ストローク境界枠について抽出した情報をデータストレージ250に保存する。情報は、スケーラブルベクトルグラフィックス(SVG)又はインクマークアップ言語(InkML)等を含む当該技術分野で知られている圧縮ストロークフォーマットで保存される。
【００５３】
画像生成部208は、記入されたフォームデータにおける手書きフィールド、シンボリックフィールド及びメディアフィールドから、フィールド画像を生成するソフトウェア及びルーチンである。一実施形態において、画像生成部208は、プロセッサ240により実行可能な一群の命令であり、フォーム画像各々からフィールド画像を生成する後述する機能を発揮する。別の実施形態において、画像生成部208はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、画像生成部208は、コントローラ202、テーブル生成部210、シンボリック表現モジュール212、データストレージ250、及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００５４】
画像生成部208は、フォームフィールド抽出エンジン204及びストローク認識モジュール206により抽出された1つ以上のフォーム画像のフィールドに関連する情報を受信する。一実施形態において、画像生成部208は、データストレージ250からフィールドに関連する情報を抽出する。画像生成部208は、フォーム画像内の手書きフィールド、シンボリックフィールド及びメディアフィールドの組み合わせから抽出した情報に基づいて、フィールド画像を生成する。一実施形態において、画像生成部208は、フォームフィールド抽出エンジン204により保存されたドローイングプリミティブに基づいてシンボリックフィールドのフィールド画像を生成する。描かれたドローイングプリミティブは、シンボリックフィールドに関する図形表現と、ユーザの動作(例えば、チェックボックスをチェックしたこと又はチェックしなかったこと)に起因するシンボリックフィールドの何らかの変化又は状態とを表現する。画像生成部208は、例えば、チェックされた四角チェックボックス、選択された円形ラジオボタン、四角い名称フィールド、楕円等をフィールド画像として生成する。別の実施形態において、画像生成部208は、フォームフィールド抽出エンジン204によりドローイングプリミティブとして抽出されたメディアを処理又はレンダリング(rendering)することで、メディアフィールドのフィールド画像を生成する。ドローイングプリミティブは、フィールド画像を生成する際にメディアをレンダリングするのに使用される。画像生成部208は、例えば、来客の写真、支払いレシートの写真、会議の音声記録に関するアイコン等をフィールド画像としてレンダリング又は処理する。別の実施形態において、画像生成部208は、ストローク認識モジュール206によりベクトルデータとして保存されている手書きストロークをレンダリングすることで、手書きフィールドのフィールド画像を生成する。着色、幅(長さ)、圧力(筆圧)の情報を含むベクトルデータは、手書きストロークをフィールド画像としてレンダリングするのに使用される。画像生成部208は、例えば、スタイラスを用いて署名されたユーザの手書き署名をフィールド画像としてレンダリングする。
【００５５】
一実施形態において、画像生成部208は、フォーム画像の同じ場所に或る手書きフィールド及びメディアフィールドの双方についてフィールド画像を生成する。そのような場合、先ずメディアをレンダリングし、次にメディアの上に記載された手書きストロークをレンダリングすることで、画像生成部208はフィールド画像を生成する。画像生成部208は、例えば、先ず支払いレシートの写真を、次に支払いレシートの写真に記入された何らかの手書きストロークを、フィールド画像としてレンダリングする。
【００５６】
一実施形態において、記入されたフォームデータのオーバーレイを生成し、各フォームのストロークのグループを特定し、ストロークのグループに遭遇するストローク境界枠のサイズ及び位置を特定し、グループ各々からフィールド画像を生成することで、画像生成部208はフィールド画像を生成する。別の実施形態において、画像生成部208は境界枠のサイズ及び位置に基づいてフォーム画像からフィールド画像を切り取ってもよい又はトリミングしてもよい。
【００５７】
一実施形態において、フィールド画像とフィールド画像に関連するフォーム画像とを受信し、フォーム画像内のフィールド画像付近の領域を分析して関連する画素のグループを特定し、関連する画素のグループをフィールド画像のラベルとして特定し、記入されていないフォーム画像からラベル画像を切り取る又はトリミングすることで、画像生成部208はラベル画像を生成する。この処理(プロセス)は、電子ライタサーバ107から受信したフォーム画像の全てについて反復される。これらの具体例は、フォーム画像の中にただ1つのフィールド及びただ1つのラベルしかないことを仮定している。この処理(プロセス)はフォーム画像に含まれている任意の数のフィールド及びラベルに適用できることを当業者は認めるであろう。一実施形態において、画像生成部208はラベルに関する情報を管理者又はアドミニストレータから受信する。例えば、アドミニストレータは、ラベルについてシンボリック表現と共にフィールド画像に注釈を付ける。別の実施形態において、テーブル生成部210がテーブルを生成した後に、アドミニストレータは列の各々についてラベルを決定する。
【００５８】
画像生成部208は、フィールド画像及びラベル画像を何らかのメタデータと共にテーブル生成部210に送信する。一実施形態において、画像生成部208は、フィールド画像及びラベル画像を何らかのメタデータと共にデータストレージ250に保存する。別の実施形態において、画像生成部208は、スケーラブルベクトルグラフィックス(SVG)やポータブルネットワークグラフィクス(PNG)等を含む当業者に既知の1つ以上のフォーマットでフィールド画像を保存する。フィールド画像は透明な背景又はバックグランドを有していてもよい(例えば、手書きストロークに対して透明な背景の上でストロークは黒色又は他の着色でなされてもよい)。
【００５９】
テーブル生成部210は複数のフォーム画像に関連するテーブルを生成するソフトウェア及びルーチンである。一実施形態において、テーブル生成部210は、プロセッサ240により実行可能な一群の命令であり、テーブルを生成する後述する機能を発揮する。別の実施形態において、テーブル生成部210はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、テーブル生成部210は、プロセッサ240、画像生成部208、シンボリック表現モジュール212、及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００６０】
テーブル生成部210は、テーブルを閲覧することを求めるリクエストを、コントローラ201を介してユーザから受信する。一実施形態において、テーブル生成部210は、フィールド画像及び選択的にラベル画像を画像生成部208から受信し、或いはフィールド画像及びラベル画像をデータストレージから、テーブルを生成する目的で取得する。一実施形態において、テーブル生成部210は、先ず、ラベル画像をテーブルの列ヘッダ又はカラムヘッダ(column  header)として指定することでテーブルを自動的に生成する。同じフォーム画像から別のラベル画像が利用可能であった場合、別のラベル画像もカラムヘッダとして指定される。テーブル生成部210は、次に、各フィールドに関連するフィールド識別子に応じて、ラベル画像に関連するフィールド画像でカラム又は列を埋める(結果的に、各フィールド画像に関連することになる)。テーブル生成部210により生成されたテーブルにおいて、ロー又は行(row)の各々は記入されたフォームを表し、カラム又は列の各々は特定のフィールドに属するフィールド画像である(例えば、ブランクフォームにおける特定のブランクスペース)。
【００６１】
一実施形態において、カラムヘッダ以降のフィールド画像の順序は、フィールド画像に関連するフォーム識別子に基づいて決定される。フィールド画像に関連するフォーム識別子は、別のフォーム画像における別のフィールド画像より前のフォーム画像に関連する提出の日付又は時間エントリ(記入した時間)を示すことが可能であり、フィールド画像が、2番目のフィールド画像より上位に第1のフィールド画像が登場するように並べられるようにする。
【００６２】
テーブル生成部210は、様々な方法で組織化された列又はカラムを有するテーブルを生成する。一実施形態において、ラベル画像はフォーム画像内での各自の場所に応じて配置され、例えば、フォーム画像の中で第1のフィールドが第2のフィールドの前に登場するようにしてもよい。これは読み取り順と言及される。別の実施形態では、テーブル生成部210は、固有の番号を含むフィールド画像を含む列を他のフィールド画像の前に配置する。例えば、テーブル生成部210は、携帯コンピュータ装置102のユーザのソーシャルセキュリティ番号のフィールド画像を最初の列として配置してもよい(それはそのユーザを一意に識別するように使用可能だからである)。
【００６３】
一実施形態において、テーブル生成部210は、フォーム画像に関連するメタデータをシンボリックフィールドとして特定し、そのようなメタデータのフィールド画像を少なくとも1つの追加的な列に組み入れる。例えば、テーブル生成部210は、フォームが記入された時点のタイムスタンプ又はフォームが記入された場所のGPSロケーションに関連する、画像生成部により生成されたフィールド画像を特定し、テーブルに2つの列を付加する。別の実施形態において、テーブル生成部210は、最初のストローク入力、最後のストローク入力に関連するタイムスタンプメタデータ等の列を、フォーム画像に追加する。一実施形態において、テーブル生成部210は、記入されたフォーム画像をテーブルに関連付け、テーブルの行にあるフィールド画像上をユーザがホバーリング(hovering)したことに応じて(ユーザがカーソルをうろつかせたことに応じて)、記入済みフォーム画像と共にポップアップを生成することをユーザインタフェースエンジン216に指示する。記入済みフォーム画像はテーブルの行に対応する。別の実施形態では、テーブルの行をユーザが選択したことに応じて、ポップアップがユーザに提供される。一実施形態では、未記入フォーム画像の上にフィールド画像を描画することにより、記入済みフォーム画像が生成される。
【００６４】
一実施形態において、テーブル生成部210は、以下において詳細に説明される好みモジュール214からユーザの好みの情報を受信したことに応じてテーブルの表示を修正する。一実施形態において、テーブルは、ユーザの好みに応じて、手書きストロークの画像と手書きストロークの画像のシンボリック表現との間でトグル(toggle)動作を行うテーブルを表示することに関連する表示モードを有する。例えば、第1の表示モードは、ユーザの好みが画像表現(非シンボリック情報)に関連していた場合に、手書きストロークの画像、チェックされたチェックボックスの画像、写真の画像等を含むテーブルを示す。別の例において、第2の表示モードは、ユーザの好みがシンボリック表現に関連していた場合に、手書き画像のシンボリック表現、チェックボックスに関するシンボリック値(チェックボックスの近くで選択肢を示す文字列)、写真等を含むテーブルを示す。第3の例による第3の表示モードは、ユーザの好みがシンボリック表現に関連しかつ手書きストロークの所定の画像のみがシンボリック表現モジュールによるシンボリック変換に委ねられることに起因して、手書きストロークの画像と手書きストロークの画像のシンボリック表現との混合を含むテーブルを示す。一実施形態において、テーブル生成部210は、ユーザが編集したシンボリック表現をシンボリック表現モジュール212から受信したことに応答して、テーブルの手書きストロークの画像のシンボリック表現を置換し、この点については後述する。
【００６５】
一実施形態において、テーブル生成部210は、シンボリック表現に関する信頼度スコアに基づいて、手書きストロークの画像から手書きストロークの画像のシンボリック表現へトグルで切り替える。一実施形態において、テーブル生成部210は、フィールド画像に関する信頼度スコアをシンボリック表現モジュール212からメタデータとして受信し、この点については後述する。テーブル生成部210は、シンボリック表現の信頼度スコアが閾値を上回っていた場合、手書きストロークの画像からシンボリック表現へトグルで切り替える。例えば、50％の信頼度としてアドミニストレータにより指定された閾値を信頼度スコアが上回っていた場合、テーブルの「名前」の列に関連する手書きストロークのフィールド画像は、テーブル生成部210によりシンボリック表現にトグルで切り替えられる。
【００６６】
一実施形態において、テーブル生成部210はテーブルのセルについて4種類のデータを含むテーブルを生成する。例えば、テーブルのセルは以下のデータ状態のうちの何れかに属する：(1)空白の値、(2)画像データ(例えば、手書きストローク、写真、ラジオボタンの図形表現等を含むフィールド画像)、(3)シンボリックデータ(例えば、手書きストロークのシンボリック表現、ラジオボタンに関連するシンボリック値、フォームのメタデータから抽出されたシンボリック情報等を含む画像データ)、(4)画像及びシンボリックデータの組み合わせ(例えば、手書きストロークと手書きストロークのシンボリック表現とを含むフィールド画像)。
【００６７】
シンボリック表現モジュール212は、テーブルに関連するフィールド画像の内容に関するシンボリック表現を生成するソフトウェア及びルーチンである。一実施形態において、シンボリック表現モジュール212は、プロセッサ240により実行可能な一群の命令であり、シンボリック表現を生成する後述する機能を発揮する。別の実施形態において、シンボリック表現モジュール212はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、シンボリック表現モジュール212は、プロセッサ240、通信ユニット255、画像生成部208、テーブル生成部210、及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００６８】
一実施形態において、シンボリック表現モジュール212は、画像生成部208からフィールド画像を受信し、及び/又はフォームフィールド抽出エンジン204から関連するシンボリック情報を受信し、又はストローク認識モジュール206からベクトルストロークデータを受信する。別の実施形態において、シンボリック表現モジュール212は、フィールド画像及び/又は関連するシンボリックデータ又はベクトルストロークデータをデータストレージ250から抽出する。シンボリック表現モジュール212は、例えば、光学文字認識(OCR)、光学マーク認識(OMR)、インテリジェントキャラクタ認識(ICR)、手書き認識、パターン認識、ヒューマンインザループ(human-in-the-loop：HITL)システムとのやりとり等を用いて、フィールド画像に関するシンボリック情報を生成する(例えば、ユニバーサルキャラクタセット変換フォーマット-8ビット(UTF-8)を生成する)。別の例において、シンボリック表現モジュール212は、シンボリック表現への変換後にフィールド画像を表す新たな画像を生成し、シンボリック情報とそれに関連する信頼度スコアとを新たな画像に対するメタデータとして関連付ける。そして、シンボリック表現モジュール212は、新たな画像をテーブル生成部210に送信する。一実施形態において、シンボリック表現モジュール212は、重要な又は秘密のフィールド画像に関するシンボリック情報(例えば、従業者のソーシャルセキュリティ番号)を生成しなくてもよい。別の実施形態において、シンボリック表現モジュール212は、日本語の漢字で手書きした従業者の名前のシンボリック変換を実行しなくてもよい。
【００６９】
一実施形態において、シンボリック表現モジュール212は、ユーザの操作に起因して、第1のフィールド画像の状態が変更されるか否かを判断し、そして第2のフィールド画像のシンボリック情報を生成する。図3Cを参照すると、IBDMサーバ106により受信されるストロークを含むフォーム画像の図形表現375が示されている。図示の例では、シンボリック表現モジュール212は、チェックマークボックス381を表すフィールド画像がチェックされているか否かを判定する。チェックボックス381がチェックされていた場合に限り、シンボリック表現モジュール212は電話番号383を表すフィールド画像のシンボリック表現を生成し、これにより、演算リソースを効率的に活用でき、重要でないフィールド画像のシンボリック変換を回避し、時間を節約できる。
【００７０】
一実施形態において、シンボリック表現モジュール212は、テーブルの少なくとも1つのフィールド(すなわち、少なくとも1つの列)をシンボリック表現に変換するリクエストをコントローラ202を介して受信する。一実施形態において、シンボリック表現は常には正確でないかもしれないので、テーブルを利用する1人以上のユーザはテーブルのシンボリック表現を含むラベル画像又はフィールド画像を変更及び/又は追加することを希望するかもしれない。例えば、第1のユーザは彼/彼女の解釈を表すシンボリック表現を含むフィールド画像を編集し、編集内容を保存する。第2のユーザは第1のユーザの後に第2のユーザの解釈を表すシンボリック表現を含むフィールド画像を第2の時点で編集する。別の例では、シンボリック表現モジュール212は、そのテーブルを利用した複数のユーザによる変更を受けたフィールド画像のシンボリック表現について信頼度スコアを生成する。例えば、シンボリック表現モジュール212は、シンボリック表現を含むフィールド画像に対して編集を行った10人のユーザを特定し、10人中6人がそのシンボリック表現を含むフィールド画像に対して同じ編集を行ったことを確認し、そのシンボリック表現を含むフィールド画像に対して60％の信頼度スコアを割り当てる。
【００７１】
任意のユーザの編集に応じて、シンボリック表現モジュール212は、シンボリック表現を含むフィールド画像を更新しかつ更新されたフィールド画像をデータストレージ250に保存することを、テーブル生成部210に指示する。一実施形態において、シンボリック表現モジュール212は、シンボリック表現を含むフィールド画像に対して1人以上のユーザによりなされた最後の編集を組み込む(考慮する)ようにテーブル生成部210に指示してもよい。別の例において、ユーザインタフェースエンジン216は、シンボリック情報を含む編集されたフィールド画像でテーブルを更新する。
【００７２】
別の実施形態において、シンボリック表現モジュール212はヒューマンインザループ(HITL)システムに接続され、シンボリック変換は、ユーザ装置103にアクセスしている人的なユーザにネットワーク104を介してフィールド画像を提供しかつ人的なユーザが好みのシンボリック表現を含む画像を選択できるようにすることで、個々のサーバで実行される。人が選択した表現はシンボリック表現モジュール212に返され、新たな表現をテーブル生成部210及びストレージ250に送信する。例えば、テーブルを利用するユーザは、生成されたテーブルで「名前」の列に関する手書きストロークのフィールド画像を変換することを希望し、アマゾン(登録商標)のメカニカルタークシステム(Mechanical  Truk  system)のようなHITLシステムに変換することによる変換を要求することが可能である。これは、テーブル全体ではなく、テーブルのうちデータの一部分(フォーム画像全体のうちの同じフィールドに属するデータを表す1列)の変換をユーザが簡易に要求できるようにし、これにより演算リソースを効率的に利用しかつ時間を短縮できる。
【００７３】
好みモジュール214は、テーブルを表示する際のユーザの好みを受信するソフトウェア及びルーチンである。一実施形態において、好みモジュール214は、プロセッサ240により実行可能な一群の命令であり、テーブルを表示する際にユーザの好みを受信する後述する機能を発揮する。別の実施形態において、好みモジュール214はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、好みモジュール214は、プロセッサ240、通信ユニット255、テーブル生成部210、及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００７４】
一実施形態において、好みモジュール214はユーザ装置103を利用するユーザからコントローラ202を介してユーザの好みを受信する。例えば、ユーザは、手書きストロークのフィールド画像、図形表現を含むシンボリックフィールドのフィールド画像(チェックボックス、ラジオボタン、楕円等)、メディアフィールドのフィールド画像(写真、オーディオ記録又はビデオ記録にリンクしたアイコン等)のみをテーブルに表示するという好みを指定する。別の実施形態では、ユーザは、手書きストロークのシンボリック表現を含むフィールド画像、シンボリックフィールドに関するシンボリック値のフィールド画像(例えば、チェックボックス付近で選択肢を示す文字列、ラジオボタン等)、フォーム画像に関連するタイムスタンプや場所のシンボリック情報のフィールド画像のみを表示するという好みを指定する。一実施形態において、好みモジュール214はユーザの好みをデータストレージ250に保存する。別の実施形態において、好みモジュール214はユーザの好みをテーブル生成部210に送信し、テーブルの表示を修正し、ユーザのインタフェースエンジン216にテーブルを更新するように指図する。
【００７５】
ユーザインタフェースエンジン216は、複数のフォーム画像を表示するテーブルを含むユーザインタフェースを表示する図形データを生成するソフトウェア及びルーチンである。一実施形態において、ユーザインタフェースエンジン216は、プロセッサ240により実行可能な一群の命令であり、ユーザインタフェースを生成する。別の実施形態において、ユーザインタフェースエンジン216はメモリ245に保存されかつプロセッサ240によりアクセスされ実行される。何れにせよ、ユーザインタフェースエンジン216は、プロセッサ240及びIBDMサーバ106の他のコンポーネントと共に協働しかつ通信するように適合されている。
【００７６】
一実施形態において、ユーザ装置103のユーザがユーザインタフェースを要求したことに応じて、ユーザインタフェースエンジン216は、テーブル生成部210又はデータストレージ250からテーブルを取得し、テーブルを表示する際の図形データを生成する。例えば、図形データは、テーブルをレンダリング又は処理するために利用するユーザ装置103のPNG画像及びJSON記述を含む。一実施形態において、テーブルは、コントローラ202を介して好みモジュール214から受信したユーザの好みに応じて修正される。例えば、ユーザインタフェースエンジン216は、手書きストロークを含むフィールド画像からシンボリック表現を含むフィールド画像へ又はその逆向きにテーブルの表示を変更することに関する指示をユーザ装置103を介して受信する。一実施形態において、ユーザインタフェースエンジン216は、行がフォーム画像に属するフィールド画像を含むように、かつ列が1つのラベル画像に関連する複数のフォームに属するフィールド画像を表すように、行及び列を並べる。
【００７７】
別の実施形態において、ユーザインタフェースエンジン216は、フォームのシンボリック表現を含むフィールド画像を編集することを求めるリクエストをコントローラ202を介して受信する。ユーザインタフェースエンジン216は、元の記入済みフォームのフィールド画像を表す図形データを生成し、その図形データを通信ユニット255を介してユーザ装置103に送信する。一実施形態において、ユーザインタフェースエンジン216は、1人以上のユーザからコントローラ202を介して編集事項を受信し、フォームデータを修正し、フォームデータはデータストレージ250に保存される。例えば、「名前」の列ヘッダに続く手書きストロークを含むフィールド画像が、理解を促すようにユーザが解釈したシンボリック表現に変換されるべきことを、ユーザは要求する。ユーザインタフェースエンジン216は、手書きストローク及びシンボリック表現の双方を包含するようにフィールド画像を更新する。別の実施形態では、ユーザインタフェースエンジン216は、ユーザ装置103のユーザからコントローラ202を介して、シンボリック表現モジュール212がフィールド画像から変換したシンボリック表現の編集内容を受信する。ユーザインタフェースエンジン216は、ユーザによる編集内容を組み込むように(考慮するように)テーブルを生成する情報を更新する。これらの具体例の図形表現については後述する。
【００７８】
＜ユーザインタフェースの具体例＞
図4Aを参照すると、テーブルに複数のフォーム画像が含まれているユーザインタフェース400の一例に関する図形表現が示されている。この図形表現において、ユーザインタフェース400はテーブル401を含み、このテーブル401は、「スプレッドシート」ボタン415をユーザがクリックしたことに応じて、画像ベースの文書管理(IBDM)サーバ106により受信された複数のフォーム画像から生成されている。テーブル401は、行403の中で同じフォーム画像に属するフィールド画像を含み、かつ列ヘッダ405と同じラベル画像に関連するフォーム画像のフィールド画像を含んでいる。一実施形態において、ラベル画像は、テーブル401の「名前」の列ヘッダ407のような列ヘッダとして使用されている。テーブル401は或る表示モードを有し、ユーザはトグルボタン417をクリックすることでテーブル401の表示を切り替える。テーブル401内のセルは4種類のデータを含んでいる。例えば、テーブルのセルは以下のデータ構造の何れかに該当する：空白の値、画像データ(例えば、手書きストローク、写真、無線ボタンの図形表現等)、シンボリックデータ(手書きストロークのシンボリック表現、ラジオボタンに関連するシンボリック値等)、又は画像及びシンボリックデータの組み合わせ。図示の例の場合、テーブル401の表示モードに関し、ユーザの好みは、トグルボタン417に示されているように「ストローク」に設定されている。テーブルの第1のセル409は空白(フィールド画像なし)であり、第2のセル411及び第3のセル413は手書きストロークの画像を含むフィールド画像になっている。
【００７９】
図4Bはユーザインタフェース425の図形表現の一例であり、テーブル401の行403をユーザが選択したことに応答しかつ図4Aで「シングルフォーム-編集」のタブ419をクリックすることで生成されている。この図形表現の場合、ユーザインタフェース425は、テーブル401の行403が表現しているフォーム画像のシンボリック表現を含むフィールド画像を編集するための平面的な又は表形式の編集ウィンドウ431を含んでいる。この表形式の編集ウィンドウ431は「画像」の列433と「シンボリック」の列435とを含む。「画像」の列433は、手書きのストローク437と、写真439と、シンボリックフィールドの図形表現441と、関連する図形コマンドとを含むフィールド画像しか列挙していない。「シンボリック」の列435は、手書きストロークのシンボリック表現443と、シンボリックフィールドに関連するシンボリック値445と、フォーム画像のメタデータに関連するシンボリック情報447とを含むフィールド画像を列挙している。一実施形態において、ユーザは、「シンボル」の列435に属する最初のフィールド画像(「画像」の列433に属する2番目のフィールド画像に対応する)をタップし、そのシンボリック表現を含む最初のフィールド画像を編集する。シンボリック表現を含む最初のフィールド画像のこの変更は、図4Aのテーブル401を更新する。
【００８０】
図4Cはユーザインタフェース450の図形表現の一例であり、ユーザがシンボリックモード427のトグルボタンを選択して好みを「シンボリック」に設定したことに応じて生成される。この図形表現において、ユーザインタフェース450は、図4Aに対して不変のまま残る第1のセル409及び第2のセル411と共にテーブル401を含む(なぜなら、これらのセルはシンボリックデータを含んでいないからである)。ユーザインタフェース450は、テーブルにおいて、第1のセル409が「空白」のセルであり、第2のセル411が「画像データ」のセルであることを示している。ユーザインタフェース450は、シンボリック表現のフィールド画像を含む第3のセル413を表示しており、第3のセル413が「画像及びシンボリックデータ」の組み合わせを含むことを示している。更に、ユーザインタフェース450は、フォームのメタデータから抽出されたシンボリック情報のフィールド画像を含む第4のセル415も含んでいる。例えば、フォームが記入された時点のタイムスタンプ「元の日時(Original  Date)」のような第2の情報が、フォーム画像にメタデータとして付加され、テーブル401の中の1列で表現されている。この情報はシンボリックに表現される。なぜなら、テーブル生成部210はその情報をメタデータから抽出しており、携帯コンピュータ装置102のユーザがスタイラスを用いて入力した情報ではないからである。従って第4のセル415は「シンボリックデータ」のセルである。
【００８１】
＜方法＞
図5A、図5B及び図6を参照しながら、本発明の様々な実施形態を説明する。図5Aは、フォーム画像からテーブルを作成する方法の一例をフローチャート500で示す。IBDMサーバ106は、フォームフィールド抽出エンジン204と、画像生成部208と、テーブル生成部210と、シンボリック表現モジュール212とを含む。フォームフィールド抽出エンジン204は、手書きフィールドを有する1つ以上のフォームについて記入済みフォームデータを受信する(502)。画像生成部208は、図形表現から第1のフィールド画像を生成しかつシンボリック表現から第2のフィールド画像を生成する(504)。テーブル生成部210は、第1のフィールド画像及び第2のフィールド画像からテーブルを生成する(506)。シンボリック表現モジュール212は、第1のフィールド画像をシンボリックデータに変換する(508)。第1のフィールド画像に関連するシンボリックデータ及び画像は、データストレージ250に保存される(510)。テーブル生成部210は、通信ユニット255を介して、テーブルをディスプレイに提供する(512)。
【００８２】
図5Bは、フォーム画像からテーブルを作成する方法の一例を示すフローチャートである。IBDMサーバ106は、フォームフィールド抽出エンジン204と、ストローク認識モジュール206と、画像生成部208と、テーブル生成部210と、シンボリック表現モジュール212とを含む。一実施形態において、フォームフィールド抽出エンジン204は、シンボリックフィールド及びメディアフィールドを有するブランクフォームを受信する(514)。ブランクフォームは電子ライタサーバ107から受信される1つ以上の記入済みフォームに対応する。例えば、大規模な多国籍企業は「来客名簿」様式を記入することになる多数の訪問客を受け入れているし、病院は「患者病歴」を記入することになる多数の患者を受け入れいている、等々である。フォームフィールド抽出エンジン204は、シンボリックフィールドの各々に関し、図形表現を描くためのブランクフォームにおけるトランスフォームを保存し(516)、例えば、チェックボックスの画像、名前を入力するための四角いフィールド、波線等を保存する。フォームフィールド抽出エンジン204は、選択的に、シンボリックフィールド各々について、ライン及びフィルカラー及びドローイングプリミティブを保存する。フォームフィールド抽出エンジン204は、メディアフィールドの各々に関し、図形表現を描くためのトランスフォームを保存し(518)、例えば、写真等のようなメディアがフォーム画像に設けられる場所の四角い枠を保存する。フォームフィールド抽出エンジン204は、選択的に、メディアフィールド各々について、ドローイングプリミティブ(例えば、直線、曲線、円等のセグメント)を保存する。
【００８３】
一実施形態において、ストローク認識モジュール206は、手書きデータを含む手書きフィールド、及び少なくとも1つのメディアフィールドに関連するメディア、及び/又は少なくとも1つのシンボリックフィールドに関連するシンボリック値と共に1つ以上のフォームについて記入済みフォームデータを受信する(520)。シンボリック値は、例えば、選択肢を示すチェックボックス付近の語句、フォーム画像に関連するタイムスタンプメタデータ(記入した時間及び/又は元の日時)、入力したストロークのタイムスタンプメタデータ(例えば、最初のストローク、中間のストローク、最後のストローク等についてのタイムスタンプデータ)、及びフォームが提出される場所のメタデータ(例えば、GPS測位情報)等を含む。画像生成部208は、シンボリックフィールド、メディアフィールド及び手書きフィールドの組み合わせであるフィールド画像を生成する(各々のフィールド画像は初期化された未記入フィールド画像を含む)(522)。例えば、手書きフィールドは、例えば、ユーザにより書き込まれた、描かれた及び/又はマーキングされた手書きデータを含む。シンボリックフィールドは、例えば、チェックボックスの図形表現や、選択肢のシンボリック表現(例えば、チェックボックス付近の「はい」、「いいえ」等のような文字列)等のようなシンボリックデータを含む。メディアフィールドは、携帯コンピュータ装置102により取得されたメディアデータ、又は携帯コンピュータ装置102のストレージに保存されているメディアデータを含み、これらは例えば写真、オーディオ記録、ビデオ記録等の形式で使用される。一実施形態において、手書きフィールド及びメディアフィールドの双方が同じ場所にあってもよい。例えば、ユーザはフォーム画像の写真上にストロークを付してもよい。
【００８４】
画像生成部208は、フィールド画像がシンボリックフィールドを含んでいた場合は、ドローイングプリミティブを描き(524)、フィールド画像がメディアフィールドを含んでいた場合、メディアをレンダリングし(526)、フィールド画像が手書きフィールドを含んでいた場合は、ストロークを描く(528)。フィールド画像がメディアフィールド及び手書きフィールドの双方を含んでいた場合、メディアがレンダリングされた後にストロークが描かれる。一実施形態において、シンボリックフィールドのフィールド画像は、ユーザの操作によりなされたシンボリックフィールドにおける何らかの変更及びシンボリックフィールドに関する図形表現を含む(例えば、チェックされた四角いチェックボックス、選択された円形ラジオボタン等を含む)。別の実施形態では、メディアフィールドのフィールド画像は、(例えば、来客の写真等のような)メディアをレンダリングすることを含む。第3の例では、手書きフィールドのフィールド画像は、ストローク認識モジュール206により保存されたベクトルデータに基づいて手書きストローク(例えば、名前、署名等)をレンダリングすることを含む。そして、同じ場所に表示される手書きフィールド及びメディアフィールドについてのフィールド画像は、最初にメディア(例えば、支払いレシートの写真)をレンダリングし、次にメディア上の手書きストローク(例えば、写真に記入された「重要又は優先(priority)」)をレンダリングすることを含む。
【００８５】
シンボリック表現モジュール212は、手書きデータをシンボリック表現に変換し、第2のフィールド画像を形成する(530)。一実施形態において、シンボリック表現モジュール212は、手書きデータを含む第1のフィールド画像を受信し、手書きデータのシンボリック表現を含む第2のフィールド画像を生成する。シンボリック表現モジュール212は、例えば、光学文字認識(OCR)、光学マーク認識(OMR)、インテリジェント文字認識(ICR)、手書き認識、パターン認識、ヒューマンインザループ(HITL)システムとのやり取り等を利用して、フィールド画像についてのシンボリック情報(例えば、ユニバーサルキャラクタセット変換フォーマット−8ビット(UTF-8)等のようなマシン符号化テキスト(machine  encoded  text))を生成する。シンボリック表現のフィールド画像はシンボリック値から生成することも可能である。
【００８６】
テーブル生成部210は、手書きフィールドを含む第1のフィールド画像と、シンボリック表現を含む第2のフィールド画像と、メディアフィールド及び手書きフィールドの双方を含む第3のフィールド画像とが含まれる列を含むテーブルをフィールド画像から生成する(532)。シンボリック値は、例えば、フォームが記入された時のタイムスタンプ「元の日時(Original  Date)」のような二次的な情報を含み、メタデータとしてフォーム画像に付随させることができる。この情報はフィールド画像として象徴的に(シンボルとして)表現される。なぜなら、テーブル生成部210は、その情報をメタデータから取得しており、その情報は携帯コンピュータ装置102のユーザがスタイラスを用いて入力した情報ではないからである。テーブル生成部210は、手書きデータ及びシンボリック表現を第2のフィールド画像に関連付けて保存する(534)。例えば、図4Aのテーブル401の「名前」の列に属するセルは、手書きデータのフィールド画像とシンボリック表現との双方を含んでもよい。
【００８７】
図6は、フォーム画像からテーブルを生成する方法の別の例を示すフローチャート600を示す。IBDMサーバ106はテーブル生成部210及び好みモジュール214を含む。テーブル生成部210は、テーブルを生成することを求めるリクエストをユーザ装置から受信し(602)、複数のフィールド画像を取得する(604)。一実施形態において、テーブル生成部210は、フィールド画像に関連するフォーム識別子に基づいて、フィールド画像のエントリの順序又は順番を決定する。好みモジュール214は、テーブルで情報を表示する際のユーザの好みを特定し(606)、そのユーザの好みは、手書きデータ又はシンボリック表現を含むフィールド画像に関連している。例えば、ユーザは、手書きストロークのフィールド画像、図形表現を含むシンボリックフィールドのフィールド画像(チェックボックス、ラジオボタン、楕円等)、メディアフィールドのフィールド画像(写真、オーディオ記録又はビデオ記録にリンクしたアイコン等)等のみをテーブルに表示するという好みを指定する。別の実施形態では、ユーザは、手書きストロークのシンボリック表現を含むフィールド画像、シンボリックフィールドに関するシンボリック値のフィールド画像(例えば、チェックボックス付近で選択肢を示す文字列、ラジオボタン等)、フォーム画像に関連するタイムスタンプや場所のシンボリック情報のフィールド画像のみを表示するという好みを指定する。テーブル生成部210は、フィールド画像及びユーザの好みに基づいてテーブルを生成する(608)。そして、ユーザインタフェースエンジン216は、テーブルを表示するための図形データを生成し、表示するテーブルを通信ユニット255を介してユーザ装置103に提供する。一実施形態において、フォーム画像のレイアウトは複数のフォーム画像に関して共通するので、テーブルは何らかの1つのフォーム画像の読み取り順に生成される。読み取り順はメタデータに基づいて決定され、メタデータは、ユーザが各フィールドにストローク情報を入力した時点のタイムスタンプを含む。別の実施形態では、テーブルは、複数のフォーム画像に属する或るフォーム画像を表す(テーブルの)少なくとも1つの行と、複数のフォーム画像中の少なくとも1つの列に関連する少なくとも1つのフィールド画像を表す(テーブルの)少なくとも1つの列とを有する。
【００８８】
実施の形態に関する上記の記述は例示及び説明の観点からなされている。これは網羅的ではなく、説明された特定の形態に明細書を限定しようとするものでもない。上記の説明により多くの修正例及び変形例が可能である。実施の形態の範囲はこれら説明された例に限定されず、本願の特許請求の範囲によって規定されるように意図されている。当業者に理解されるように、開示される内容は、本願の精神及び本質的特徴から逸脱することなく、他の形態でも実施されてよい。同様に、モジュール、ルーチン、特徴、属性、方法及びその他の形態に関する具体的な名称や区分けは必須でも重要でもなく、本願及び本願の特徴を実施する手段は異なる名称、区分け及び/又はフォーマットを有してもよい。更に、当業者に明らかであるように、本明細書におけるモジュール、ルーチン、特徴、属性、手段及びその他の形態は、フォルトウェア、ハードウェア、ファームウェア又はそれら3つのうちの任意の組み合わせとして実現することが可能である。また、本明細書に関してコンポーネント(具体例は、モジュール)がソフトウェアで実施される場合、コンポーネントは、スタンドアローンプログラムとして、大規模なプログラムの一部分として、複数の個々のプログラムとして、静的又は動的にリンクしたライブラリとして、ロード可能なカーネルモジュールとして、装置ドライバとして実施することが可能であり、及び/又はコンピュータプログラミングの技術分野における当業者にとって現在知られている又は将来知られる他の全ての方法で実施されてもよい。更に、本明細書は特定の如何なるプログラミング言語で実施することにも限定されず、特定の如何なるオペレーティングシステムや環境で実施することにも限定されず。従って、開示される内容は例示的であって限定的ではなく、開示される内容は添付の特許請求の範囲によって規定される。
【符号の説明】
【００８９】
100  システム
101  画像取得装置
102a-102a  携帯コンピュータ装置
103a-103n  ユーザ装置
104  ネットワーク
106  画像ベースの文書管理(IBDM)サーバ
107  電子ライタサーバ
【図１】
2014170544.tif 000003
【図２】
2014170544.tif 000004
【図３Ａ】
2014170544.tif 000005
【図３Ｂ】
2014170544.tif 000006
【図３Ｃ】
2014170544.tif 000007
【図４Ａ】
2014170544.tif 000008
【図４Ｂ】
2014170544.tif 000009
【図４Ｃ】
2014170544.tif 000010
【図５Ａ】
2014170544.tif 000011
【図５Ｂ】
2014170544.tif 000012
【図６】
2014170544.tif 000013