JP6303594B2 - 単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング - Google Patents

単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング Download PDF

Info

Publication number
JP6303594B2
JP6303594B2 JP2014035636A JP2014035636A JP6303594B2 JP 6303594 B2 JP6303594 B2 JP 6303594B2 JP 2014035636 A JP2014035636 A JP 2014035636A JP 2014035636 A JP2014035636 A JP 2014035636A JP 6303594 B2 JP6303594 B2 JP 6303594B2
Authority
JP
Japan
Prior art keywords
data
image
symbol
filter
request
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.)
Active
Application number
JP2014035636A
Other languages
English (en)
Other versions
JP2014170539A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2014170539A publication Critical patent/JP2014170539A/ja
Application granted granted Critical
Publication of JP6303594B2 publication Critical patent/JP6303594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Hardware Design (AREA)

Description

本明細書はフォームの処理に関する。具体的に、本明細書は、列中の一以上のセルが画像データとシンボルデータの両方を含むテーブルの生成と、そのテーブルのソーティング及びフィルタリングに関する。
ポータブルコンピューティングデバイスの利用が一般的になるにつれ、多くのユーザが、ポータブルコンピューティングデバイス上でスタイラスや指先を用いて、フォームに情報を入力する。例えば、ユーザは、ソフトキーボードを用いてスタイラスでデータを入力する。ソフトキーボードを用いてフォーム中にキャプチャされたシンボルデータは、一般的にはデータベースに送信される。データベースにおいては、各フォームがテーブル中の行になり、データはテーブルの列にキャプチャされる。データベース中のこれらのテーブルは、セル中のテキストまたはシンボルデータに従ってソート及びフィルタリングされる。しかし、列中のセルが画像を含む場合、このアプローチはうまくいかない。結果として、これらのテーブルの有用性は限定されてしまう。
一般的に、データベース中の列は、単一タイプのデータ、ストリング、日付、数字、またはユニフォームリソースロケータ(URL)のみを含む。これらは、すべて固有の順序を有する一タイプのシンボルデータであり、標準的なソーティング及びフィルタリング手法を用いてソート及びフィルタできる。シンボルテキストを含む列に画像が追加されると、画像とテキストを一緒に順序付ける方法が無い。
しかし、画像が、その画像自体ではなくその画像に関連するテキストとメタデータに従ってランク付けされる、画像をクエリする他のシステムが存在する。結果として、このアプローチは、孤立した画像を整理するのには使えない。
本開示は、先行技術の欠点を、画像データと記号データの両方を有する一以上のセルを含むテーブルをソーティング及びフィルタリングするシステムで解消するものである。一実施形態では、画像ベースドキュメント管理(IBDM)サーバは、テーブルジェネレータ、記号表現モジュール、ソートエンジン、及びユーザインタフェースエンジンを含む。テーブルジェネレータはフォーム画像からテーブルを生成し、そのテーブルを更新する。テーブルは画像データ、記号データ、画像&記号データ、及び空値を含むデータタイプを有するセルを有する。記号表現モジュールは、画像データを有する少なくとも一セルを記号データに変換し、その記号データをセルに付加する。ソートエンジンは、ユーザから受け取ったテーブルの少なくとも2つのデータタイプを含む列に対するソート要求から、少なくとも第1のデータタイプの第1のプライオリティを決定し、ソート要求から、一データタイプ内における第2のプライオリティを決定し、ソート要求に従って列をソートする。ユーザインタフェースエンジンは、ユーザにテーブルを表示し、ユーザからソート要求を受け取る。
また、IBDMサーバは、ユーザからのフィルタ要求の受け取りに応じてテーブルの列をフィルタリングするフィルタエンジンを含む。一実施形態では、フィルタエンジンは、フィルタ要求からフィルタ基準を特定し、フィルタ基準はデータタイプまたはデータの特徴に基づき、フィルタ基準にマッチしない行を削除することによりフィルタ基準を列に適用し、テーブル中の残りの行をユーザに表示することにより、列をフィルタする。
他の態様は、これらの及びその他の革新的態様を有する、対応する方法、システム、装置、及びコンピュータプログラム製品を含む。
本システムは、有利にも、画像&記号データを含むテーブルをソート及びフィルタする。結果として、本システムを用いて、画像データを有するすべてのセルを記号表現に変換する高価なプロセスを必要とせずに、一以上のユーザからのデータを素早く整理できる。ここに説明する特徴と優位性は、すべてを包含するものではなく、当業者には、図面と説明を考慮して、多くの追加的特徴と優位線が明らかであろう。さらに、留意点として、明細書で用いた言葉は、読みやすさと教育的目的のために選択されており、発明的主題の範囲を限定するものではない。
本発明は、添付した図面で例によって示すが、本発明を限定するものではない。同じ参照数字は同じ要素を示すために使用される。
テーブルの列をソーティング及びフィルタリングするシステムの一実施形態を示すブロック図である。 画像ベース文書管理(ImageBased Document Management (IBDM))サーバの一実施形態をより詳細に示すブロック図である。 画像データと記号データを含むテーブル例を示す図である。 画像データと記号データの変換を示すテーブル例を示す図である。 テーブルの列中の画像データを分類することにより生成されるグループを示す図である。 4タイプのデータを含むテーブルの列の例を示す図である。 ビジター登録フォームの例を示す図である。 複数のフォーム画像のテーブル例を示す図である。 テーブルの列をソーティングする方法の一実施形態を示すフロー図である。 テーブルの列をフィルタリングする方法の一実施形態を示すフロー図である。 第1プライオリティの順序を指定するユーザインタフェース例を示す図である。 テーブルの列をソーティングするメニューを含むテーブル例を示す図である。 画像データタイプのソーティングオプション例を示す図である。 第1と第2のプライオリティが指定された後のソート結果例を示す図である。 テーブルの列のフィルタリングのためのメニューを含むテーブル例を示す図である。 テーブルの列のフィルタリングのフィルタリング結果例を示す図である。 画像データのフィルタリングのためのユーザインタフェース例を示す図である。 記号データのフィルタリングのためのユーザインタフェース例を示す図である。 画像データと記号データのフィルタリングのためのユーザインタフェース例を示す図である。
画像データと記号データを両方含む一以上のセルを含むテーブルをソーティング及びフィルタリングするシステムと方法を説明する。説明を目的として、本発明を完全に理解してもらうために、多数の具体的な詳細事項を記載する。しかし、言うまでもなく、実施形態はこれらの詳細がなくても実施することができる。他の場合では、本発発明が不明瞭になることを避けるために、ブロック図の形式で構造とデバイスを示す。例えば、本発明を、例えば、スマートフォンと具体的なソフトウェア及びハードウェアとのユーザデバイスを参照して、一実施形態で説明する。しかし、この説明は、データとコマンドを受信できるどのタイプのコンピューティングデバイスにも、及びサービスを提供するどの周辺デバイスにも当てはまる。
本明細書において「一実施形態」とは、その実施形態に関して説明する機能、構造、特徴が少なくとも1つの実施形態に含まれることを意味している。本明細書ではいろいろな箇所で「一実施形態とは」と記載するが、必ずしも同じ実施形態を指すものではない。
以下の詳細な説明の一部は、コンピュータメモリ中のデータビットに対する操作のアルゴリズムと記号による表現により表されている。これらのアルゴリズムによる説明と表現は、データ処理技術の当業者が、自分の仕事内容を他の分野の人に最も効果的に伝える手段である。ここで、また一般的に、アルゴリズムとは、所望の結果に導く自己矛盾のないステップのシーケンスである。このステップは、物理量の物理的操作を要するステップである。通常、必ずしも必要ではないが、この物理量には、記憶し、伝達し、結合し、比較し、操作できる電気的または磁気的信号の形をとる。主に一般的な使用のために、これらの信号をビット、値、要素、記号、文字、式、数字等で表すと便利な時がある。
しかし、これらの用語や類似の用語は適当な物理量と関連しているべきであり、これらの物理量に付された便利なラベルに過ぎないことに留意すべきである。特に断らなければ、以下の説明から明らかなように、言うまでもなく、この明細書全体において、「処理」、「算出」、「計算」、「判断」、「表示」等の用語を用いた説明は、コンピュータシステム、類似の電子的計算機器の動作やプロセスを指す。このプロセスは、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量として表されたデータを操作し、コンピュータシステムメモリやレジスタ、その他の情報記憶装置、伝送機器、表示機器内の物理量として同様に表された他のデータに変換するものの動作や処理である。
本発明は、また、これらの動作を実行する装置にも関する。この装置は、必要な目的のために特に構成されたものでもよく、コンピュータ中に記憶されたコンピュータプログラムにより選択的に起動または再構成された汎用コンピュータを有していてもよい。かかるコンピュータプログラムは、コンピュータによる読み取りが可能な記憶媒体に記憶することができる。このような記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、光磁気ディスク等のいかなるタイプのディスクを含む。また、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、または電子的命令を格納するのに好適な、コンピュータシステムバスに結合されたいかなるタイプの媒体も含む。しかし、これらに限定されるわけではない。
いくつかの実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアを両方含む実施形態の形式を取ることができる。好ましい一実施形態はソフトウェアで実施できる。このソフトウェアは、ファームウェア、レジデントソフトウェア、マイクロコードなどを含むが、これらに限定されない。
さらに、いくつかの実施形態は、コンピュータや命令実行システムにより使用されるプログラムコードを提供するコンピュータ利用可能媒体またはコンピュータ読み取り可能媒体からアクセスできるコンピュータプログラム製品の形体を取りうる。本発明を目的として、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスにより、またはそれらに関して使用される、プログラムを包含、格納、伝達、伝送、搬送できる任意の装置である。
プログラムコードを格納及び/又は実行するのに好適なデータ処理システムは、システムバスを通してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含む。メモリエレメントは、プログラムコードの実行時に使われるローカルメモリと、バルク記憶と、実行時にコードをバルク記憶から読み出さねばならない回数を低減するために、少なくともプログラムコードの一部を一時的に記憶するキャッシュメモリと、を含む。(キーボード、ディスプレイ、ポインティングデバイスなどを含むがこれに限定されない)入出力すなわちI/Oデバイスを、直接的に、またはI/Oコントローラを介在させて、システムに結合できる。
ネットワークアダプタをシステムに結合して、データ処理システムを、プライベートネットワークやパブリックネットワークを通して、他のデータ処理システムやリモートプリンタや記憶装置に結合することもできる。モデム、ケーブルモデム及びイーサネット(登録商標)カードは、現在利用できるネットワークアダプタの一部である。
最後に、ここで説明するアルゴリズムとディスプレイは、特定のコンピュータその他の装置に本来的に関係するものではない。いろいろな汎用システムをここでの教示に従ったプログラムで用いることができるし、必要な方法ステップを実行することに特化した装置を構成しても便利である。これらのシステムに必要な構成を以下に示す。また、本明細書は特定のプログラミング言語により記述されるものではない。言うまでもなく、ここに説明する様々な実施形態の教示は、いろいろなプログラミング言語を用いて実施できる。
システムの概要
図1は、画像データと記号データを両方含む一以上のセルを含むテーブルをソーティング及びフィルタリングするシステム100を示すブロック図である。システム100は、画像コンバータ101、ポータブルコンピューティングデバイス102a−102n、ユーザデバイス103a−103n、及び画像ベース文書管理(IBDM)サーバ106を含む。これらはネットワーク104にそれぞれ通信可能に結合している。図1と残りの図において、「102a」等の参照番号の後ろの文字は、その参照番号を有する要素を指すものである。「102」等の参照番号が付いていないテキスト中の参照番号は、その参照番号を担う要素の任意のまたはすべての場合を指すものである。
ネットワーク104は、従来タイプの有線または無線のものであり、スター構成、トークンリング構成、その他の公知の構成など、任意数の構成であり得る。さらに、ネットワーク104は、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、その他の相互接続されたデータパス(data path)であって複数の装置が通信できるものなどである。さらに他の一実施形態では、ネットワーク104はピア・ツー・ピアネットワークであり得る。ネットワーク104は、異なる様々な通信プロトコルでデータを送信する通信ネットワークの部分に結合され、またはその部分を含み得る。さらに他の一実施形態では、ネットワーク104は、ブルートゥース通信ネットワークまたはセルラー通信ネットワークを含む。これらは、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファープロトコル(HTTP)、直接データ接続、ワイヤレスアプリケーションプロトコル(WAP)、電子メールなどを介してデータを送受信する。複数のユーザデバイス103a−103n、複数のポータブルコンピューティングデバイス102a−102n、及びIBDMサーバ106にはネットワーク104のみが結合している。しかし、実際には、これらのエンティティに接続できるネットワーク104の数はいくつでもよい。
ポータブルコンピューティングデバイス102a−102nは、それぞれ信号ライン112a−112nを介してネットワーク104に無線結合されている。ポータブルコンピューティングデバイス102は、メモリ、プロセッサ及び無線通信機能を含む任意のコンピューティングデバイスである。例えば、ポータブルコンピューティングデバイス102は、タブレットコンピュータ、パーソナルデジタルアシスタント、スマートフォンなどである。ポータブルコンピューティングデバイス102は、フォーム画像を受け取り、フォーム画像にストロークを加え、画像コンバータ101またはIBDMサーバ106にストロークを含むフォーム画像を送るように構成されている。フォームは要求された情報の挿入をするフィールド(すなわち、ブランクスペース)を含む任意の文書である。フォームは、要求された情報で満たされた時、ステートメント、オーダー、要求などになる。例えば、フォームは税金フォーム、保険フォーム、医療フォーム、電子チェック、ジョブアプリケーション、調査、受領書などであり得る。
一実施形態では、ポータブルコンピューティングデバイス102は、コンピューティングパッドとスタイラスを含むタブレットコンピュータである。コンピューティングパッドは、フォーム画像を表示して、スタイラスやユーザの指先を用いてフォーム画像上に書き込まれた任意のストロークをキャプチャするように構成されている。ストロークは、一般的には、紙上にペンで書かれたように、画像上に表示される。コンピューティングパッドは、通常、ストロークを、ロケーション、タイミング、圧力の情報とともに一連の点またはセグメントとしてキャプチャする。コンピューティングパッドは、例えば、スケーラブルベクトルグラフィックス(SVG)ファイルフォーマットなど本技術分野の当業者に知られた任意のフォーマットで、キャプチャされたストロークを含むフォーム画像を送る。スケーラブルベクトルグラフィックスは、ストロークと画像の両方を含み得るものである。一実施形態では、コンピューティングパッドは、ストロークと関連する情報を、例えばロケーションとタイミングの情報を、フォーム画像に、メタデータとして付加する。ポータブルコンピューティングデバイス102は、グローバルポジショニングシステム(GPS)回路を用いて、ロケーション情報を決定する。またはローカル無線アクセスポイントのメディアアクセスコントロール(MAC)アドレスを含むデータベースにアクセスして、ロケーション情報を決定する。一実施形態では、キャプチャされたストロークは、スケーラブルベクトルグラフィックス(SVG)やインクマークアップランゲージ(InkML)を含む当業者には知られたストロークフォーマットで保存される。
画像コンバータ101は信号ライン111を介してネットワークに結合している。画像コンバータ101は、ポータブルコンピューティングデバイス102から直接、またはIBDMサーバ106から間接的に、ストロークを含むフォーム画像を受け取るように構成されている。画像コンバータ101は、任意的に、ストロークを記号データに変換し、その記号データをIBDMサーバ106に送り返す。記号データは、ユニバーサルキャラクタセット・トランスフォーメーションフォーマット−8ビット(UTF−8)などのマシン符号化テキストを含む。記号データは、「真(TRUE)」と「偽(FALSE)」という用語のような意味を有し得る。記号データは、図2を参照して詳細に説明する。一実施形態では、画像コンバータ101はAmazon(登録商標)により提供されるMechanical Turkシステムなどのhuman-in-the-loop(HITL)システムである。例えば、ユーザデバイス103にアクセスしているユーザは、ネットワーク104によりMechanical Turkシステムと相互作用して、フォーム上の手書きをユニコードテキスト(例えば、UTF−8)に変換する。一実施形態では、画像コンバータ101は、フォーム画像とともに、ストロークとそのストロークから変換された記号データとを両方とも保存し、フォーム画像、ストローク及び記号データをIBDMサーバ106に送る。
ユーザデバイス103a−103nは、それぞれ信号ライン113a−113nを介してネットワーク104に結合されている。ユーザデバイス103は、例えば、デスクトップコンピュータ、ラップトップコンピュータなどの、メモリとプロセッサを含むコンピューティングデバイスである。ユーザデバイス103は、IBDMサーバ106との間でデータを送受信するように構成されている。例えば、ユーザデバイス103は、テーブルを見る要求及び/またはテーブルを修正する要求をIBDMサーバ106に送る。ユーザデバイス103は、ポータブルコンピューティングデバイス102に送信されたフォームの制作者やIBDMサーバ106の管理者など、IBDMサーバ106の情報にアクセスすることを許可されたユーザによりアクセスされる。
IBDMサーバ106は信号ライン116を介してネットワークに結合している。一実施形態では、IBDMサーバ106は、ポータブルコンピューティングデバイス102a−102nからストロークを含むフォーム画像を受信し、フォーム画像からテーブルを生成する。また、テーブルの列(列中の一以上のセルが画像データと記号データを両方とも含む)をソーティングするソート要求またはフィルタリングするフィルタ要求をユーザから受け取る。そして、ソート要求またはフィルタ要求に基づき列をソートまたはフィルタする。図示したIBDMサーバ106は1つだけだが、本技術分野の当業者には言うまでもなく、ネットワーク104に結合できるIBDMサーバ106の数はいくつでもよい。IBDMサーバ106は、図2を参照して下でより詳細に説明する。
画像ベース文書管理(IBDM)サーバ106
ここで図2を参照するに、画像ベース文書管理(IBDM)サーバ106を、より詳細に説明する。図2は、IBDMサーバ106を示すブロック図である。これは、コントローラ202、テーブルジェネレータ204、記号表現モジュール206、ソートエンジン208、フィルタエンジン210、ユーザインタフェースエンジン212、プロセッサ240、メモリ245、通信ユニット255、及びデータ記憶部250を含む。
プロセッサ240、メモリ245、通信ユニット255、及びデータ記憶部250は、バス230に通信可能に結合している。バス230は、ISAバス、PCIバス、USB、または同様な機能を提供するその他の本技術分野で知られたバスを含む一以上のバスである。
プロセッサ240は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、その他のプロセッサアレイであり、計算を行い、ディスプレイ装置に電子的表示信号を供給する。プロセッサ240は、信号ライン272を介して他のコンポーネントと通信するためバス230に結合している。プロセッサ240は、データ信号を処理するものである。CISCアーキテクチャ、RISCアーキテクチャ、命令セットの組合せを実行するアーキテクチャを含む様々なコンピューティングアーキテクチャを有し得る。図2には単一のプロセッサのみを示したが、複数のプロセッサが含まれてもよい。処理能力は、画像の表示及び画像のキャプチャ及び伝送のサポートに限定され得る。処理能力は、様々なタイプの特徴抽出及びサンプリングを含むより複雑なタスクを実行するのに十分であってもよい。当業者には明らかであるが、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理的構成が可能である。
メモリ245は、プロセッサ240により実行される命令及び/またはデータを格納する。メモリ245は、信号ライン274を介して他のコンポーネントと通信するためバス230に結合している。命令及び/またはデータは、ここに説明する方法のいずれかを及び/またはすべてを実行するコードを含み得る。メモリ245は、DRAMデバイス、SRAMデバイス、フラッシュメモリまたは本技術分野で知られているその他のメモリデバイスである。一実施形態では、メモリ245は、不揮発性メモリまたは同様の永続的記憶デバイス及びメディアである。例えばハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、またはその他のより永続的に情報を記憶する大規模記憶装置を含む。
通信ユニット255は、プロセッサ240をネットワーク104とその他の処理システムにリンクすることにより、データを受送信するハードウェアである。通信ユニット255は、ユーザデバイス103からの要求などのデータを受信し、その要求を、例えばテーブルに対するクエリ要求などを、テーブルジェネレータ204に送信する。通信ユニット255は、ポータブルコンピューティングデバイス102から、フォーム画像などの情報を受信する。通信ユニット255は、テーブルを、例えばクエリに応答した修正テーブルを、ユーザデバイス103に送信する。通信ユニット255は信号ライン278を介してバス230に結合している。
一実施形態では、通信ユニット255は、ユーザデバイス103、ポータブルコンピューティングデバイス102、または他の通信チャンネルに直接的物理的接続のためのポートを含む。例えば、通信ユニット255は、ユーザデバイス103と有線接続するためのRJ45ポートまたは同様のポートを含む。他の一実施形態では、通信ユニット255は、IEEE802.11、IEEE802.16、ブルートゥース(登録商標)、またはその他の好適な無線通信方法などの一以上の無線通信方法を用いて、ユーザデバイス103、ポータブルコンピューティングデバイス102、またはその他の任意の通信チャンネルとデータを交換する無線トランシーバ116を含む。
さらに他の一実施形態では、通信ユニット255は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファープロトコル(HTTP)、直接データ接続、ワイヤレスアプリケーションプロトコル(WAP)、電子メール、またはその他の好適なタイプの電子的通信などを介して、セルラー通信ネットワークによりデータを送受信するセルラー通信トランシーバを含む。さらに他の一実施形態では、通信ユニット255は、有線ポート及び無線トランシーバを含む。通信ユニット255は、当業者には言うまでもなく、例えば、TCP/IP、http、https及びSMTP等の標準ネットワークプロトコルを用いて、ファイル及び/またはメディアオブジェクトを配信するネットワーク104への他の従来の接続を提供する。
データ記憶部250は、ポータブルコンピューティングデバイス102a−102nから受信した複数のフォーム画像に関連する情報を記憶する非一時的メモリである。例えば、データ記憶部250は、フォーム画像、フォーム画像から生成されたテーブル、テーブルの一以上の列をソーティングまたはフィルタリングするユーザから受け取ったソート要求またはフィルタ要求、及びテーブルの一以上の列をソーティングまたはフィルタリングした結果を記憶する。データ記憶部250は、信号ライン276を介して他のコンポーネントと通信するためバス230に結合している。
コントローラ202は、ソフトウェア及びルーチンである。通信ユニット255を介してデータを受信し、適当なコンポーネントにデータをルーティングし、ユーザデバイス103やシステム100のその他のコンポーネントに送信するために通信ユニット255にコンポーネントからの応答を送信する。一実施形態では、コントローラ202は、IBDMサーバ106のコンポーネントとシステム100のその他のコンポーネントとの間のデータ転送を管理する以下に説明する機能を提供するプロセッサ240により実行可能な一組の命令である。他の一実施形態では、コントローラ202は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、コントローラ202は、プロセッサ240、通信ユニット255、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
本明細書において、ストロークデータは、点のシーケンス、ラインセグメントまたは曲線として、フォームからキャプチャされ、任意的にストロークに関連する圧力、時間、及び加速度情報を含む。便宜上、ストロークは頻繁に画像に変換されるが、画像は圧力や時間のデータなどのストロークに関するメタデータを含み得る。メタデータは、画像に含まれるか、他の方法で画像と関連付けられる。ストロークデータと画像データは、ポータブルコンピューティングデバイス102においてストロークとしてキャプチャされたデータを指すように頻繁に、交換可能に用いられる。
テーブルジェネレータ204は、一組のフォーム画像に関連するテーブルを生成するソフトウェア及びルーチンである。一実施形態では、テーブルジェネレータ204は、テーブルを生成する以下に説明する機能を提供する、プロセッサ240により実行可能な一組の命令である。他の一実施形態では、テーブルジェネレータ204は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、テーブルジェネレータ204は、プロセッサ240、通信ユニット255、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
テーブルジェネレータ204は、コントローラ202を介してポータブルコンピューティングデバイス102からストロークを含む一組のフォーム画像を受信する。そして、ストロークを含むその一組のフォーム画像からフィールドとラベルの画像を生成し、そのフィールドとラベルの画像を含むテーブルを生成する。理解を容易にするため、今後、フォーム画像という場合、記入されたフォーム(completed forms)からのストロークデータも含むフォーム画像であるものとする。一実施形態では、テーブルジェネレータ204は、フォーム画像中の一群のストロークを特定し、その一群のストロークを含む境界ボックスを決定し、その境界ボックスに基づきフォーム画像からフィールド画像を決定することにより、フィールド画像を生成する。いくつかの実施形態では、テーブルジェネレータ204は、フィールド画像の周りのエリアを分析し、一群の関連画素をそのフィールド画像のラベルとして特定する。そして、そのフォーム画像からラベル画像をクロッピング(cropping)することにより、ラベル画像を生成する。
テーブルジェネレータ204は、フィールド画像とフォームから生成されたラベル画像とに基づいて一組のフォーム画像と関連するテーブルを生成する。一実施形態では、テーブルジェネレータ204は、各ラベル画像をテーブルの列ヘッダとして指定し、各ラベル画像と関連するフィールド画像でポ各列をピュレート(populate)することにより、自動的にテーブルを生成する。他の実施形態では、ユーザがラベルを確定し、またはフォーム識別子及びフィールド画像のロケーションに基づきレベルが特定される。いくつかの実施形態では、テーブルジェネレータ204は、一組のフォーム画像に関連するメタデータを抽出し、そのメタデータをテーブルの一以上の列に組み込む。例えば、テーブルジェネレータ204は、フォームが埋められた日付を抽出し、テーブルの日付列を追加する。
テーブルに含まれるフィールド画像とラベル画像を決定するのに加え、テーブルジェネレータ204は、フィールド画像とラベル画像の順序を決定し、その順序に従ってフィールド画像とラベル画像を整理する。例えば、テーブルジェネレータ204は、JaneとAliceなどのユーザにより埋められたビジター登録フォームからテーブルを生成する。テーブルジェネレータ204は、テーブルの「名前」列において、「Jane」を「Alice」より上のフィールドに配置する。JaneとAliceにより埋められたビジター登録フォームに関連するメタデータが、JaneがAliceより早くフォームを埋めたことを示すからである。テーブルジェネレータ204は、「名前」列をテーブルの第1列として構成する。「名前」の画像がユーザにより埋められるビジター登録フォームのトップに配置されているからである。当業者には言うまでもなく、テーブルジェネレータ204は、フィールド画像とラベル画像を異なる順序でテーブルに配置することができる。
テーブル中の各セルのコンテンツは、潜在的に4つの状態、すなわち空値、画像データ、記号データ、または記号データと画像データの両方の組み合わせ(画像データ及び記号データとの区別するため画像&記号データと呼ぶ)を含む。テーブル中のセルの内容は空値を含み得る。例えば、フォームのフィールド中にユーザにより情報が提供されていなければ、換言すると、ユーザがフォーム中のフィールドにストロークを提供しなければ、セルは空値(empty value)を含む。フィールド画像とレベル画像の内容は画像データも含む。図3Aは画像データの例を示す。図3Aの第1列(例えば、画像列)は、手書きデータ(例えば、手書きの日付、手書きの「×」、手書きの電子メールアドレス)とラジオボタン(例えば、非選択のラジオボタンと選択されたラジオボタン)を含む画像データを示す。手書きデータは、ユーザがポータブルコンピューティングデバイス102上でスタイラスや指先を用いてフォームを埋めた時にキャプチャされたストロークであり得る。ラジオボタンは、ユーザ選択に応じて選択された画像、またはユーザ選択なしである。
フィールド画像により表されるセル中の内容は、任意的に記号データを含む。例えば、フィールド画像とラベル画像を生成するのに用いられる一組のフォームの各フォームは、いつフォームが提出されたかを示すタイムスタンプを含む。一実施形態では、テーブルジェネレータ204は、画像コンバータ101から記号データを受け取る。画像コンバータ101または記号表現モジュール206は、一組のフォーム中の画像データを記号データに変換する。例えば、図3Aの第2列(例えば、記号列)は、第1列の画像データに対応する記号データ、例えば第1列に含まれる手書きの日付や電子メールアドレスに対するテキスト(printed text)などを示す。他の一実施形態では、テーブルジェネレータ204は画像データを記号データに変換する画像データを記号表現モジュール206に送信する。他の一例では、ユーザはソフトキーボードを用いて記号データを入力する。
一実施形態では、テーブルジェネレータ204は、画像コンバータ101または記号表現モジュール206から受信した記号データを、記号データが生成される画像データに関連付ける。テーブルジェネレータ204は、記号データと画像データの両方を、そのフィールドに関連した画像&記号データとして1つのセルに保存する。
記号表現モジュール206は、テーブル中の画像データの記号表現を生成するソフトウェア及びルーチンである。一実施形態では、記号表現モジュール206に送信は、記号表現を生成する以下に説明する機能を提供する、プロセッサ240により実行可能な一組の命令である。他の一実施形態では、記号表現モジュール206は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、記号表現モジュール206に送信は、プロセッサ240、通信ユニット255、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
一実施形態では、記号表現モジュール206は、テーブルジェネレータ204からフィールド画像またはラベル画像中の画像データを受け取る。そして、例えば光学文字認識(OCR)、光学マーク認識(OMR)、インテリジェント文字認識(ICR)、手書き認識、パターン認識などを用いて、その画像データに対応する記号データを生成する。例えば、記号表現モジュール206は、手書き認識を実行して、「Amy」の名前の手書きから彼女の名前を取得する。
他の一実施形態では、記号表現モジュール206は、テーブルに含まれた画像データをネットワーク104によりユーザに送信し、ユーザはマニュアルで画像データを記号データに変換する。図3Bは、ユーザがマニュアルでOscar Mikeの手書きを記号データに変換する例を示す。例えば、ユーザは、「画像」列中の会社名の手書き(例えば、タブレット上のストローク)に一致するように「記号」列に会社名「PQR」を入力する。画像データを記号データにマニュアルで変換するとき、ユーザは、画像データのどの部分を変換するか及びどの記号データがよいかを選択できる。図3Bでは、ユーザは手書きデータを記号データに変換しないことを選択している。ユーザは、名前の記号表現を、図3Bに示した「Oscar Mike」ではなく、「Oscar C. Mike」として入力することを選択することもできる。記号表現モジュール206は、列全体の画像データではなく、列の一部の画像データを記号データに変換することにより、計算時間と費用を節約する。
さらに他の一実施形態では、記号表現モジュール206は、テーブル中の画像データを分類して記号データを生成する。一実施形態では、記号表現モジュール206は、テーブルの列中のフィールドとラベル画像に含まれる画像データ(例えば、ストローク)を受信する。そして、列中の画像データ間の類似性を決定し、その類似性に基づき(例えば、階層的クラスタを生成することにより)、K個(例えば、1、2、3、・・・)のグループに列中の画像データを分類する。そして、各グループを分類データで表し、その分類データを記号データとして用いる。一実施形態では、記号表現モジュール206は、Kグループのうちの各グループからストローク例を抽出し、そのストローク例を分類データに変換する。一グループは異なる複数のストロークを含み得るが、記号表現モジュール206は、一ストローク例を選択して、一分類を設けてそのグループを表す。
図3Cは、画像データを分類して記号データを取得する一例を示す図である。記号表現モジュール206は、テーブルジェネレータ204からテーブルの複数列を受け取り、そのテーブルの複数列に含まれる画像データ(例えば、ストローク)を記号データに変換する。例えば、テーブルジェネレータ204は、複数のユーザにより記入された(filled in)質問フォームからテーブルを生成する。テーブル中の複数列は、「名前」列、「年」列、「ペット数」列、「子供数」列、「電子メールアドレス」列を含む。図3Cに示した例では、記号表現モジュール206は、ストローク間の類似性に基づき列(例えば、「ペット数」列)中のストロークを6グループに分類する。しかし、各グループを左上から右下までそれぞれ分類データA、B、C、D、E、Fで、記号の値や意味は決めずに表し、ストロークを類似性に基づいてグループ分けする。例えば、グループEとFは両方とも3に見える多くのストロークを含むが、書き方が少し違うので別分類としている。
記号表現モジュール206は、ストロークが生じるたびにそのストロークを記号データに変換するのではなく、ストロークに関する既存の分類データに基づき、テーブル中のストロークの記号データを生成する。そうすることにより記号データを生成する計算時間を大幅に短縮できる。変換に分類データを用いると、テーブルが同じタイプのストロークや複数の列に複数回同じストロークを含む場合に、特に有用である。上記の例についての説明を続けるが、記号表現モジュール206は、「年」列、「ペット数」列、及び「子供の数」列中の同じタイプのストロークを受け取る。記号表現モジュール206は、「ペット数」列中のストロークについて6つのグループを構成すると、その6つのグループを用いて、「年」列と「子供の数」列中のストロークに対する記号データを生成する。
一実施形態では、記号表現モジュール206は、テーブルジェネレータ204からのテーブルに含まれた画像データの一部を記号データに変換する。多くのデータは変換しなくても判読可能なので、画像データをすべて変換することは、計算的に高価であり不必要であろう。一実施形態では、記号表現モジュール206はデータ記憶部250に記号データを記憶する。他の一実施形態では、記号表現モジュール206は、記号データをテーブルジェネレータ204に送信する。
テーブルジェネレータ204は、記号表現モジュール206から記号データを受け取り、その記号データが生成された画像データにその記号データを関連づけ、テーブルを更新する。更新されたテーブルは、4タイプのデータを、例えば、空値、画像データ、記号データ、及び画像&記号データを含み得る。例えば、テーブルジェネレータ204は、テーブルの第1列の行(例えば、セル)を更新し、第1のセルが画像データを含み、第2のセルが画像&記号データを含むようにする。ここで図3Dを参照して、テーブルの「国名」列330を示す。列中の各セルは一タイプのデータを含む。図3Dにおいて、空値を有するセルをセル334に示した。空値は、テーブルを生成するのに使われるフォーム中のフィールドに、ユーザが情報を入力していないことを示す。画像データは、手書き、フォームに組み込まれたオブジェクト(例えば、チェックボックス)、ストローク及びその他のメディア(例えば、写真)を含む。例えば、図3Dのセル336は、手書きの「US」を表す画像データを含む。画像データは一組のフォーム画像中、ユーザにより提供される。記号データはユニコード文字を含む。例えば、図3Dのセル338は、「Germany」を表す記号データを含む。記号データは、一組のフォーム画像に含まれ、または画像コンバータ101または記号表現モジュール206を用いてテーブル中の画像データの変換により生成される。
画像&記号データは、画像データに関連する画像データと記号データを含む。一実施形態では、テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信する。そして、他の3タイプのデータの表示とは異なる方法で、画像&記号データを表示して、どちらのタイプのデータが表示されているかに応じて、記号表現または画像データが利用できることを強調する。例えば、図3Dのセル332は、背景を灰色にした画像&記号データを含む。黄色い背景、下線、フラグ、矢印など、その他の強調が可能である。一実施形態では、テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信して、ユーザからの要求受信に応じて、画像&記号データに含まれる画像データまたは記号データの表示を切り替える。表示を切り替えるプロセスを、図3Fを参照しつつ以下により詳細に説明する。
図3Eは、ユーザOscar Mikeにより記入されたビジター登録フォーム340の一例を示す。このフォームは、日付、ビジター名、会社名、訪問先氏名、電子メールアドレス、国籍及び署名のフィールドを含む。また、ポータブルコンピューティングデバイス102にカメラがあれば、それによりキャプチャできるビジターの写真を入れる場所もフォーム上にある。
図3Fは、図3Eに示したフォームを含む一組のビジター登録フォームから生成されたテーブル352を含むユーザインタフェース350を示す。テーブルジェネレータ204は、記号表現モジュール206と通信して、4つのデータタイプを、すなわち空値、画像データ、記号データ、及び画像&記号データを含むテーブル352を生成する。テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信して、ユーザインタフェース350でテーブルをユーザに提示する。ユーザインタフェース350はモードボタン354も含む。ユーザがモードボタン354を選択すると、テーブルジェネレータ204はユーザインタフェースエンジン212と通信して、表示のため、画像&記号データに含まれる画像データまたは記号データのいずれかを提示する。モードボタン354が記号モードである場合、画像&記号データに含まれる記号データが表示される。例えば、図3Fにおいて、モードボタン354は記号であり、結果としてセル355は画像&記号データを含む陰付きセルのひとつである。これは現在記号データを表示している。同様に、列356中のすべての非空セルは、モードボタン354が記号モードなので、記号データとして表示される。モードボタン354が画像モードである場合、画像&記号データに含まれる画像データが表示される。ユーザインタフェースエンジン212は、他の3タイプのデータの、例えば空値、画像データ、及び記号データの表示を制御するモードボタン354を設けていない。例えば、ユーザインタフェースエンジン212は、モードボタン354がどのモードであるかに関わらず、ユーザインタフェース350中の「国名」列の第1行に空セルを表示し、「サイン」列にサインの画像を表示する。
ソートエンジン208は、ソート要求の受け取りに応じてテーブルの列をソーティングするルーチンを含むソフトウェアである。一実施形態では、ソートエンジン208は、テーブルの列をソートする、プロセッサ240により実行可能な一組の命令である。他の一実施形態では、ソートエンジン208は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、ソートエンジン208は、プロセッサ240、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
ソートエンジン208、コントローラ202を介してユーザからテーブルの列に対するソート要求を受け取り、ソート要求に基づいて順序を決定し、その順序でテーブルをソートする。テーブルは、テーブルジェネレータ204により生成され、複数のデータタイプを、例えば空値、画像データ、記号データ、及び画像&記号データを含む。テーブル中の少なくとも1つの列は、少なくとも2つのデータタイプを含む。
ソートエンジン208は、ソート要求から、列に含まれるデータタイプの少なくとも第1のプライオリティを決定し、少なくともその第1のプライオリティに基づき列中にデータを配列(arrange)する。一実施形態では、ソート要求は、ユーザにより指定された順序を含む。その順序は、列における各データタイプの位置を決定する。他の一実施形態では、ソート要求は、どのタイプのデータを分離すべきか、どのタイプのデータが列の下部に来られないか、などに関するユーザ指示を含む。ソートエンジン208は、ソート要求を分析して、その分析から第1のプライオリティを決定する。ソートエンジン208は、データタイプのプライオリティが下がる方向で、列中のデータをソートする。例えば、ソートエンジン208は、各列が10セルを有するテーブルに対するソート要求を受け取る。ソートエンジン208は、第1のソート要求を受け取り、テーブル中の「国名」列をソートする第1のソート要求を受け取る。一例として、この列は10個のセルを、すなわち4個の空セルと、ユーザの手書き国名(例えば、ユーザのストロークから取得した画像データ)を含む6個のセル含む。手書き名を有する6個のセルのうちの3個は、記号情報に変換されて、画像&記号データを含むようにされる。(例えば、記号表現モジュール206または画像コンバータを用いて手書きを記号データに変換することにより求めた画像&記号データ)。ソートエンジン208は、ソート要求中に指定されたプライオリティに基づき、(1)画像データ、(2)記号データ、及び(3)空セルに対して、降順でプライオリティを決定する。ソートエンジン208は、「国名」列とグループ画像&記号データとを含むテーブルを、画像データタイプでソートする。データタイプの第1のプライオリティの順序は、(1)画像データを有する3つのセル及び画像&記号データを有する3つのセルと、(2)空の4つのセルである。他方、プライオリティが、(1)記号データ、(2)画像データ、(3)空セルである場合、画像&記号データは記号データとグループにされる。具体的に、第1のプライオリティの順序は、(1)画像&記号データを有する3つのセル、(2)画像データを有する3つのセル、及び(3)4つの空セルである。この例は、図3F、図6A、図6B、及び図6Cに関連して、さらに詳細に参照される。
ソートエンジン208は、第1のプライオリティを用いて、列中の各データタイプの位置を決定する。列中の各データタイプ間の位置を決定した後、ソートエンジン208はソート要求から各データタイプ内の第2のプライオリティを決定する。ソートエンジン208は、第1のプライオリティと第2のプライオリティを組み込んで、順序を決定し、両方のプライオリティによりテーブル中のセルをソートする。
一実施形態では、ソートエンジン208は、画像プロパティ(例えば、幅、高さ、色)、ストロークプロパティ(例えば、長さ)、及びその他のプロパティ(例えば、チェックボックスが選択されているまたは非選択である、画像データがどのグループに分類されている、など)に基づき画像データタイプの第2のプライオリティを決定する。例えば、ソートエンジン208は、画像の幅に基づき画像データの第2のプライオリティを決定し、最も狭い画像から最も広い画像まで画像データをソートする。
一実施形態では、ソートエンジン208は、記号データの特徴(例えば、記号データが英文字か数字であること)に基づき記号データタイプの第2のプライオリティを決定する。例えば、ソートエンジン208は、小さい番号は大きい番号よりプライオリティを有することを判断して、数字が大きくなる順序で記号データをソートする。
ソートエンジン208は、第1のプライオリティと第2のプライオリティを決定すると、順序を決定し、その順序でテーブル中のセルをソートし、ソートしたテーブルをテーブルジェネレータ204に送る。テーブルジェネレータ204は、ソートされた列でテーブルを更新し、ユーザインタフェースエンジン212と通信して、更新されたテーブルをユーザに表示する。図3Fを参照して上で説明したように、テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信し、(例えば、モードボタン354を用いて)ユーザから選択の受信に応じて、画像モードまたは記号モードでテーブルを表示できる。画像モードにおいて画像&記号データに含まれる画像データを表示することをユーザが選択すると、内在する記号データにより画像&記号データがソートされる。及びその逆である。例えば、ユーザインタフェースエンジン212は、ユーザのソート要求に基づき列をソートした結果として、列の最初の3つのセル中のテキスト「four」を表示するために、グラフィカルデータを生成する。ユーザインタフェースエンジン212は、テーブルジェネレータ204により命令されて、ユーザにテキストまたは記号の数字を提示する。ユーザが記号モードでテーブルを表示することを選択したからである。ソートエンジン208は、3つのセルのそれぞれに含まれる画像データに基づき、例えば、画像データのヒストグラムに基づき、列の最初の3つのセル中のテキスト「four」の順序を決定する。
フィルタエンジン210は、ユーザからのフィルタ要求の受け取りに応じて、テーブルの列をフィルタリングするルーチンを含むソフトウェアである。一実施形態では、フィルタエンジン210は、テーブルの列をフィルタする、プロセッサ240により実行可能な一組の命令である。他の一実施形態では、フィルタエンジン210は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、フィルタエンジン210は、プロセッサ240、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
フィルタエンジン210は、コントローラ202を介してユーザからテーブルの列に対するフィルタ要求を受け取り、フィルタ要求からフィルタ基準を特定する。そして、列中のどのセルがそのフィルタ基準にマッチするか判断し、そのフィルタ基準にマッチする新しいテーブルを生成するようにテーブルジェネレータ204に命令する。テーブルジェネレータ204は、フィルタ基準にマッチするセルを含む行で、テーブルを更新する。テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信して、更新されたテーブルをユーザに表示するグラフィカルデータを生成するユーザインタフェースを提供する。
一実施形態では、フィルタエンジン210は、一以上のデータタイプに基づくフィルタ基準を特定する。例えば、フィルタエンジン210は、ユーザのフィルタ要求から、空セルが無い列をユーザが欲しがっていることを特定し、それゆえ列中の空値を有するセルを含む行を除去するフィルタ基準を決定する。
他の一実施形態では、フィルタエンジン210は、データの特徴に関するフィルタ基準を特定する。画像データの特徴は、画像プロパティ(サイズ、幅、高さ、ヒストグラム、明るさ、主要色など)、ストロークプロパティ(長さ、ペン速度または加速度など)、分類フィーチャ(同様の画像データを有するグループなど)、及びその他のプロパティ(選択されたラジオボタンまたは選択されてないラジオボタンを表す、yesまたはno画像など)を含むが、これらに限定されない。記号データの特徴は、記号データのタイプ(例えば、英文字または数字データ)を含むが、これに限定されない。一般的に、記号データは、当業者には周知の方法で、「正規表現」(例えば、「^J[a−zA−Z]*」や「abc[012345]」)を用いてフィルタまたはマッチ(match)される。本来は数値である記号データは、数学式(「>10」または「<=5」)を用いてマッチ(match)またはフィルタできる。フィルタエンジン210は、データの特徴に基づきフィルタ基準を特定する。例えば、フィルタエンジン210は、ユーザフィルタ要求から、100ピクセルより広い手書きの名前(例えば、画像データ)と、テーブルの「Last Name」列の12文字より長い名字(例えば、記号データ)とをユーザが見たいことを特定する。そのため、列から<=100ピクセルの手書き画像を除去する第1のフィルタ基準と、列から12文字以下の名字を除去する第2のフィルタ基準を決定する。列に含まれる画像&記号データの場合、フィルタエンジン210は、画像&記号データに含まれる画像データまたは記号データ、または両方に基づき、フィルタ基準を決定する。
一実施形態では、フィルタエンジン210は、ユーザにより生成されたフィルタ要求を受け取る。他の一実施形態では、フィルタエンジン210は、ユーザインタフェースエンジン212と通信して、ユーザインタフェースに複数のオプションを提供する。一実施形態では、フィルタ要求は、ユーザにより指定され、ユーザが残したいまたは除去したい列中の内容を示す一以上のフィルタ式を含む。例えば、フィルタ要求は、100ピクセルより広い画像を含む画像データを残す第1のフィルタ式と、非ホワイトピクセルが30%より少ない画像データを除去する第2のフィルタ式と、真(TRUE)である記号データを残す第3のフィルタ式と、文字「J」で始まる記号データを残す第4のフィルタ式とを含む。フィルタ式は、正規表現、論理式、算術式を含むが、これらに限定されない。
一実施形態では、フィルタエンジン210はフィルタ要求に基づきテーブルの列をフィルタする。他の一実施形態では、フィルタエンジン210は、テーブルの二以上の列をフィルタするフィルタ要求を受け取る。フィルタエンジン210は、テーブルジェネレータ204に列をフィルタリングした結果を送る。テーブルジェネレータ204は、テーブルを更新して、ユーザインタフェースエンジン212と通信して、更新されたテーブルを表示するグラフィカルデータを生成する。一実施形態では、フィルタエンジン210は、画像&記号データに含まれた記号データに基づき列中の画像&記号データをフィルタし、ユーザインタフェースエンジン212は、ユーザからの選択に基づき画像&記号データに含まれる画像データを表示する。逆の場合も同じである。
ユーザインタフェースエンジン212は、テーブルを含むユーザインタフェースを表示するグラフィカルデータを生成するルーチンを含むソフトウェアである。一実施形態では、ユーザインタフェースエンジン212は、ユーザインタフェースを生成する、プロセッサ240により実行可能な一組の命令である。他の一実施形態では、ユーザインタフェースエンジン212は、メモリ245に記憶され、プロセッサ240によりアクセス可能かつ実行可能である。どちらの実施形態でも、ユーザインタフェースエンジン212は、プロセッサ240、及びIBDMサーバ106の他のコンポーネントと協働及び通信するように構成されている。
一実施形態では、ユーザインタフェースを要求するユーザデバイス103のユーザに応えて、ユーザインタフェースエンジン212は、テーブルジェネレータ204から又はデータ記憶部250からテーブルに関する情報を読み出し、テーブルを表示するためのグラフィカルデータを生成する。例えば、ユーザインタフェースエンジン212は、ユーザから画像モードの選択の受け取りに応じて、ユーザに画像モードでテーブルを表するユーザインタフェースを提供する。
他の一実施形態では、ユーザインタフェースエンジン212は、テーブルジェネレータ204から更新されたテーブルを受け取り、ユーザに更新されたテーブルを表示するグラフィカルデータを生成する。一実施形態では、テーブルは、ソートエンジン208からのソート結果またはフィルタエンジン210からのフィルタ結果に基づき、テーブルジェネレータ204により更新される。ユーザインタフェースエンジン212は、テーブルの列によりソートされたテーブル、または一以上の行が削除テーブルを示すユーザインタフェースを生成する。
さらに別の一実施形態では、ユーザインタフェースエンジン212は、ユーザからのソート要求またはフィルタ要求を受け取るユーザインタフェースを生成する。一実施形態では、ユーザインタフェースエンジン212は、ソートエンジン208またはフィルタエンジン210と通信して、ユーザとインターラクトしてソート要求またはフィルタ要求を生成するグラフィカルデータを提供する。例えば、ユーザインタフェースエンジン212は、テーブルの列をソートするソート要求を生成するドロップダウンメニューをユーザに提供する。
方法
ここで図4及び図5を参照して、本発明の本実施形態の方法をより詳細に説明する。図4は、テーブルの列をソーティングする方法の一実施形態を示すフロー図400である。IBDMサーバ106は、テーブルジェネレータ204と記号表現モジュール206とソートエンジン208とユーザインタフェースエンジン212とを含む。テーブルジェネレータ204は、ポータブルコンピューティングデバイス102からフォーム画像を受け取り、そのフォーム画像からテーブルを生成する(ステップ402)。テーブルは、画像データ、記号データ、画像&記号データ(画像データと記号データの両方)、及び/または空値を含むデータタイプを有するセルを含む。一実施形態では、テーブルジェネレータ204は、フォーム画像からフィールド画像とラベル画像を生成して、フィールド画像とラベル画像を含むテーブルを生成する。
画像データは、手書き、フォームに組み込まれたオブジェクト(例えば、チェックボックス)、ストローク及びその他のメディア(例えば、写真)を含む。画像データは、テーブルを生成するのに用いられるフォーム画像で、ユーザにより提供される。記号データは、一般的にはUTF−8や同様の符号化を用いてユニコードキャラクタとして記憶される。記号データは、フォーム画像に含まれ、または画像コンバータ101または記号表現モジュール206を用いてテーブル中の画像データの変換により生成される。画像&記号データは、画像データに関連する画像データと記号データを含む。空値は、ユーザがフォーム画像に完全な情報(full information)を提供していないことを示す。
記号表現モジュール206は、一セルからの画像データを記号データに変換し、そのセルの画像データに記号データを付加する(ステップ404)。一実施形態では、記号表現モジュール206は、テーブルの列中に含まれる画像データ(例えば、ストローク)を受信し、列中の画像データ間の類似性を決定する。そして、その類似性に基づき(例えば、階層的クラスタを生成することにより)、K個(例えば、1、2、3、・・・)のグループに列中の画像データを分類する。そして、各グループを分類データで表し、その分類データを記号データとして用いる。
他の一実施形態では、記号表現モジュール206は、例えば光学的文字認識(OCR)、光学的マーク認識(OMR)、インテリジェント文字認識(ICR)、手書き認識、パターン認識などを用いて、画像データに対応する記号データを生成する。さらに他の一実施形態では、記号表現モジュール206は、テーブルに含まれた画像データをネットワーク104によりユーザに送信し、ユーザはマニュアルで画像データを記号データに変換する。
テーブルジェネレータ204は、画像データを含む第1のセルと、画像&記号データを含む第2のセルとを含む第1の列を有するテーブルを更新する(ステップ406)。テーブルジェネレータ204は、記号表現モジュール206から記号データを受け取り、その記号データが生成された画像データにその記号データを関連づけ、テーブルを更新する。テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信して、ユーザにテーブルを表示するグラフィカルデータを生成する(ステップ408)。
ソートエンジン208は、ユーザから、テーブルの列に対するソート要求を受け取る(ステップ410)。ソートエンジン208は、ソート要求から、データタイプに基づきソートする第1のプライオリティを決定する(ステップ412)。列は少なくとも2つのデータタイプを含む。ソートエンジン208は、画像データと記号データのデータタイプ間のプライオリティを比較する。画像データタイプのプライオリティが記号データタイプのプライオリティより高い場合、ソートエンジン208は、画像&記号データを画像データでグループ分けする。記号データタイプのプライオリティが画像データタイプのプライオリティより高い場合、ソートエンジン208は、画像&記号データを記号データでグループ分けする。
ソートエンジン208は、ソート要求から、複数のデータタイプ中の一データタイプにおける第2のプライオリティを決定する(ステップ414)。一実施形態では、ソートエンジン208は、画像プロパティ(例えば、幅、高さ、明るさ、色)、ストロークプロパティ(例えば、長さ)、及びその他のプロパティ(例えば、チェックボックスが選択されているまたは非選択である、画像データがどのグループに分類されている、など)に基づき画像データタイプの第2のプライオリティを決定する。一実施形態では、ソートエンジン208は、記号データの特徴(例えば、記号データが英文字か数字であること、昇順または降順)に基づき記号データタイプの第2のプライオリティを決定する。
ソートエンジン208は、ソート要求に従ってテーブルをソートする(ステップ416)。これは、第1のプライオリティに対して指定された順序に従った画像&記号データのソーティングを含む。一実施形態では、ソートエンジン208は、順序を決定し、テーブル中のセルをその順序でソートし、ソートされたテーブルをテーブルジェネレータ204に送る。テーブルジェネレータ204は、テーブルを更新して、ユーザインタフェースエンジン212と通信して、ソート要求に基づいてソートされたテーブルを表示するグラフィカルデータを生成する(ステップ418)。ユーザインタフェースエンジン212は、通信ユニット255を介してユーザにソートされたテーブルを提供する(ステップ420)。
図5は、テーブルの列をフィルタリングする方法の一実施形態を示すフロー図500である。IBDMサーバ106は、テーブルジェネレータ204と記号表現モジュール206とフィルタエンジン210とユーザインタフェースエンジン212とを含む。テーブルジェネレータ204は、ポータブルコンピューティングデバイス102からフォーム画像を受け取り、そのフォーム画像からテーブルを生成する(ステップ502)。テーブルは、画像データ、記号データ、画像&記号データ(画像データと記号データの両方)、及び/または空値を含むデータタイプを有するセルを含む。記号表現モジュール206は、一セルからの画像データを記号データに変換し、そのセルの画像データに記号データを付加する(ステップ504)。変換は画像データを分類して記号データを生成するステップを含む。 テーブルジェネレータ204は、画像データを含む第1のセルと、画像&記号データを含む第2のセルとを含む第1の列を有するテーブルを更新する(ステップ506)。テーブルジェネレータ204は、ユーザインタフェースエンジン212と通信して、ユーザにテーブルを表示するグラフィカルデータを生成する(ステップ508)。
フィルタエンジン210は、ユーザからテーブルに対するフィルタ要求を受け取る(ステップ510)。いくつかの実施形態では、フィルタ要求は、テーブルの列中のデータをフィルタリングする要求である。フィルタエンジン210は、フィルタからフィルタ基準を特定する(ステップ512)。フィルタ基準はデータタイプまたはデータの特徴に基づく。一例では、フィルタエンジン210は、ユーザのフィルタ要求から、空セルが無い列をユーザが欲しがっていることを特定し、それゆえ空値が無いセルを特定して更新されたテーブルに含めるフィルタ基準を決定する。他の例では、フィルタエンジン210は、ユーザのフィルタ要求から、100ピクセルより広い手書きの名前(例えば、画像データ)と、テーブルの「Last Name」列の12文字より長い名字(例えば、記号データ)とをユーザが見たいことを特定する。そのため、100ピクセルより長い手書きの名前を有するセルを特定する第1のフィルタ基準と、12文字より長い記号データを有するセルを特定する第2のフィルタ基準とを決定する。
フィルタエンジン210は、フィルタ基準にマッチする行を特定することにより、フィルタ基準を列に適用する(ステップ514)。フィルタエンジン210は、ユーザインタフェースエンジン212と通信して、列中のマッチするセル(matching cell)を有する行を表示するグラフィカルデータを生成する(ステップ516)。ユーザインタフェースエンジン212は、通信ユニット255を介してユーザに、列中のマッチするセルを提供する(ステップ518)。
テーブルのソーティングとフィルタリングの例
図6Aは、データのタイプに基づいてテーブルをソーティングする第1のプライオリティを設定するユーザインタフェース600のグラフィック表現の一例である。第1のダイアローグボックス601に、アイテムを並べ替えられるリストボックス602がある。ここで、リストボックス602は、空データタイプのための第1のプライオリティ、画像データタイプのための第2のプライオリティ、及び記号データタイプのための第3のプライオリティ(603で示す)を含む。ユーザはデータタイプをドラッグ&ドロップして、タイプに基づいてソート順序を指定できる。この例では、ユーザは、記号ボックス603を、第2のリストボックスに示したように、3番目の位置から2番目の位置にドラッグする。同様に、ユーザは、空データタイプを1番目の位置から3番目の位置に、画像データタイプを2番目の位置から1番目の位置にドラッグしている。
図6Bは、ユーザインタフェースエンジン212により生成された、ユーザデバイス103上に表示されたユーザインタフェース610のグラフィック表現の一例である。この例では、ユーザインタフェース610は、テーブルジェネレータ204により生成された、図3Fに示されたテーブル352を含む。ユーザインタフェース610は、ユーザが、テーブル352をソートするソート要求を生成するメニューも含む。この例では、ユーザがソーティングのために「Company Name」列を選択したのに応じて、ユーザインタフェースエンジン212はユーザにドロップダウンメニューを提供する。ドロップダウンメニューは、第1のメニューリスト605と第2のメニューリスト606と第3のメニューリスト607とを含む。ユーザインタフェースエンジン212は、ユーザに第1のメニューリスト605を表示するグラフィカルデータを生成し、ユーザが列のソーティングとフィルタリングを選択できるようにする。ここでは、ユーザがソーティングを選択した。ユーザインタフェースエンジン212は、ユーザに第2のメニューリスト606を表示して、画像データ、記号データ及び空値のデータタイプに対する第1のプライオリティを決定する。ユーザは、例えば図6Aを参照して上で説明したように、順序を選択する。他のメカニズムも可能である。例えば、データタイプをユーザが指定する数字(例えば、1、2または3)とともに表示してもよい。
最初、ユーザは第1のメニュー605でソートを選択した。ソートの主順序を選択するリストボックスを含むダイアログが、ユーザに提示される。「Image」、「Symbolic」及び「Empty」を含む3つのアイテムが提示される。ユーザは、3つのアイテムを望む順序にドラッグして、図6Aに示したように第1のプライオリティを示すことができる。また、ユーザは、複数のアイテムのうち一アイテムを選択し(例えば、マウスでダブルクリックまたは右クリック)、オプションの第3のメニュー607を提示され得る。「Symbolic」の場合、ユーザは情報を、英文字(例えば、「a」、「1」、「10」、「9」、「Abc」、「abc」)としてまたは数字(例えば、「1」、「9」、「10」、「Abc」、「abc」)として、任意的に昇順または降順に、及びケースを無視するか(「abc」==「ABC」)どうかにより、ソートできる。「Empty」の場合、追加オプションはない。「Image」の場合、ユーザは、画像フィル(暗いピクセルと明るいピクセルのパーセンテージ)、画像サイズ、幅または高さ、主色、画像エントロピー、画像ファイルサイズ、またはその他の様々な選択によりソートするオプションが与えられる。ユーザに提供される副選択は、ソーティングの第2のプライオリティまたはグループ内でどうソートするかを示す。
ソートエンジン208は、第2のメニューリスト606のユーザ選択から、第1のプライオリティの順序を決定する。この例では、第1のプライオリティは記号データ、画像データ、及び空値を降順で含む。
第2のメニューリスト606のユーザ選択の受信に応じて、ユーザインタフェースエンジン212は、各データタイプの第2のプライオリティを選択するため、第3のメニューリスト607をユーザに提示する。ここで、記号データの第2のプライオリティのオプションは、英文字順か数字順かである。この例では、ソートエンジン208は、「Alpha」の隣のチェックボックスをチェックすることにより、記号データを英字順で並べる。当業者は、ドロップダウンメニューが他のオプションまたはメニューリストを有すること、例えば第4のメニューリストが、列をソーティングする順序を決定するために、降順か昇順のオプションを含むことを認識する。
図6Cは、画像データの第2のプライオリティのソーティングオプションのグラフィカル表示620を示す図である。この例では、第1のプライオリティの順序は、記号データを最初にリストしている。第2のメニュー618は、画像データの第2のプライオリティを指定する。ここで、ユーザはソーティング基準に画像幅を取っている。他のオプションは画像の高さ、特徴、及び画像サイズである。
図6Dは、第1と第2のプライオリティが指定された後のソート結果のグラフィカル表示630の例を示す図である。図6Bに示したように、データタイプをソーティングする第1のプライオリティは、(1)記号;(2)画像;及び(3)空セルの順序を有する。これは、画像&記号データは、記号データでグループ分けされていることを意味する。行1−5(631)は画像データと画像&記号データを含む。列6−7(632)は画像データを含む。記号データの第2のプライオリティは、会社名列634に基づく英字順である。結果として、第1の行は「herald」であり、第2の行は「T&B」であり、第3の行は「TPM」であり、第4の行は「xyz」であり、第5の行は「Z studios」である。図6Cに示したように、画像データのデータタイプにおけるソーティングの第2のプライオリティは、会社名列634の画像幅に基づく。結果として、「PQR」を有する行は、「HWSK」を有する行の前に来る。会社名について空セルを有する行633は、第1のプライオリティで指定された順序により、最後に配置される。
図7Aは、ユーザインタフェースエンジン212により生成された、ユーザデバイス103上に表示されたユーザインタフェース700のグラフィック表現の一例である。この例では、ユーザインタフェース700は、テーブル352と、テーブル352の列をフィルタリングするフィルタ要求をユーザが生成するメニューとを含む。この例では、ユーザがフィルタリングのために「Company Name」列を選択したのに応じて、ユーザインタフェースエンジン212はユーザにドロップダウンメニューを提供する。ドロップダウンメニューは、メニューリスト702とポップアップ704とを含む。ユーザインタフェースエンジン212は、メニューリスト702をユーザに表示し、ユーザが列をフィルタリングするオプションを選択できるようにする。ユーザインタフェースエンジン212は、フィルタ式を含むフィルタ要求を生成するポップアップ704をユーザに提供する。ユーザは、フィルタ式を入力し、またはユーザインタフェース700とインターラクトして、フィルタ式を生成できる。フィルタエンジン210は、フィルタ要求に含まれるフィルタ式からフィルタ基準を決定し、そのフィルタ基準に基づき「Company Name」をフィルタする。
図7Bは、列330をフィルタリングするための第1のフィルタ要求と第2のフィルタ要求の受け取りに応じて生成された第1のフィルタ結果752と第2のフィルタ結果754のグラフィック表示の一例を示す。フィルタエンジン210は、第1のフィルタ要求からフィルタ基準を決定し、列330からの画像データと空値とのデータタイプを除去し、第1のフィルタ結果752に記号データと画像&記号データのみを含める。また、フィルタエンジン210は、第2のフィルタ要求からフィルタ基準を決定し、画像&記号データと空値のデータタイプを列330から削除し、文字「J」で始まる記号データをフィルタアウトし、記号データ「Germany」と手書きの「US」を第2のフィルタ結果754に含める。
図8Aは、署名列の画像データのフィルタリング例を示すグラフィック表現800である。グラフィック表現800は、画像データと記号データとの間のフィルタを指定するオプションを含む。ここで、画像データのオプションは、画像無し、指定幅、指定高さ、指定サイズ、類似ストロークのグループ化、ブラックピクセルの割合を含む。ここで、画像幅は100ピクセルより大きいと指定されている。第4列により、ユーザは、「すべての」基準が満たされないとならないか、いずれかの基準を満たせばよいか、選択できる。これは論理表現ORまたはANDと同様である。「Any」(例えば、OR)は、1つの基準のみにマッチするセルもフィルタにマッチする。「All」(例えば、AND)は、セルがすべての基準にマッチすることを要し、さもないとセルは拒絶される。
図8Bは、記号データのフィルタリング例のグラフィック表現810である。グラフィック表現810は、画像データと記号データとの間のフィルタを指定するオプションを含み、記号データのオプションは、正規表現、算術、論理、非包含及び包含を含む。ここで、正規表現は「^J[a−zA−Z]」である。これは、署名が「J」で始まり、他の文字はアルファベットのどの大文字でも小文字でもよいことを意味する。
図8Cは、画像データと記号データの両方のフィルタリングの例を示すグラフィック表現820である。ここで、署名画像は、100ピクセルより広く、表現「^J[a−zA−Z]」を有していなければならない。
実施形態の上記の説明は、例示と説明を目的にしたものである。包括的であること、開示した詳細な内容に本発明を限定することを意図したものではない。上記の教示を考慮して、多くの修正と変形が可能である。実施形態の範囲はこの詳細な説明により限定されるのではなく、本出願の特許請求の範囲により限定される。当業者には言うまでもなく、実施例はその精神と本質的特徴から逸脱することなく、他の具体的な形式に化体させることができる。同様に、モジュール、ルーチン、機能、属性、方法その他の態様の具体的な名称や分け方は必須でも重要でもなく、本発明を実施するメカニズムや機能の名称、分け方、フォーマットは異なるものであってもよい。さらに、当業者には言うまでもなく、本発明のモジュール、ルーチン、機能、属性、方法、その他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せとして実施することができる。もちろん、本発明のコンポーネント(例えばモジュール)がソフトウェアとして実施された場合、そのコンポーネントはスタンドアロンのプログラムとして、大きなプログラムの一部として、複数の個別プログラムとして、静的または動的にリンクされたライブラリとして、カーネルロードモジュールとして、デバイスドライバとして、及び/またはコンピュータプログラミングの当業者が現在または将来知り得るその他の任意の方法として実施することができる。また、本発明は、特定のプログラミング言語や特定のオペレーティングシステムや環境における実装に決して限定されない。従って、本発明の開示は、本発明の範囲を例示することを目的とするものであり、限定することを目的とはしていない。本発明の範囲は特許請求の範囲に記載されている。

Claims (20)

  1. コンピュータにより実施される方法であって、
    フォーム画像を受け取り、前記フォーム画像からテーブルを生成する、前記テーブルは画像データと、画像データ及び記号データと、空値とを含むデータタイプを有するセルを有するステップと、
    一以上のコンピューティングデバイスを用いて、画像データを有する少なくとも一セルを記号データに変換するステップと、
    前記テーブルの列に対するソート要求を前記ユーザから受け取るステップと、
    前記一以上のコンピューティングデバイスを用いて、前記ソート要求から、前記データタイプに基づくソーティングの第1のプライオリティを決定する、前記列は少なくとも2つのデータタイプを含むステップと、
    前記一以上のコンピューティングデバイスを用いて、前記ソート要求に従って前記テーブルをソーティングするステップと、
    前記ソート要求に基づき前記ソートされたテーブルを提供するステップと、を有する方法。
  2. 前記ソート要求から、一データタイプ内における第2のプライオリティを決定するステップをさらに有し、
    前記ソート要求に従って前記テーブルをソーティングするステップは、前記第2のプライオリティに基づきソーティングするステップを含む、
    請求項1に記載の方法。
  3. 一セルからの画像データを記号データに変換し、前記記号データを前記セル中の前記画像データに付加するステップをさらに有する、
    請求項1に記載の方法。
  4. 前記データタイプはさらに記号データを含む、
    請求項1に記載の方法。
  5. 前記テーブルの列に対するフィルタ要求を前記ユーザから受け取るステップと、
    前記フィルタ要求に基づいて前記テーブルをフィルタリングするステップとをさらに有する、
    請求項1に記載の方法。
  6. 前記フィルタ要求に基づいて前記列をフィルタリングするステップは、さらに、
    前記フィルタ要求からフィルタ基準を特定する、前記フィルタ基準はデータタイプまたはデータの特徴に基づくステップと、
    前記フィルタ基準にマッチする行を特定することにより、前記フィルタ基準を前記列に適用するステップと、
    前記テーブル中の、セルがマッチする行を前記ユーザに提供するステップとを有する、
    請求項5に記載の方法。
  7. 前記列をソーティングするステップは、さらに、前記ソート要求に基づき前記画像データで、前記画像及び記号データをソートするステップを有する、
    請求項1に記載の方法。
  8. 少なくとも画像データを含む第1のセルと、画像及び記号データを含む第2のセルとを含む第1の列で前記テーブルを更新するステップをさらに有する、
    請求項1に記載の方法。
  9. システムであって、
    一以上のプロセッサと、
    メモリに記憶され、前記一以上のプロセッサにより実行可能なコントローラであって、フォーム画像を受け取るように構成されたコントローラと、
    前記フォーム画像からテーブルを生成するように構成されたテーブルジェネレータであって、前記テーブルは画像データと、画像データ及び記号データと、空値とを含むデータタイプを有するセルを有する、テーブルジェネレータと、
    ユーザから受け取った前記テーブルの列に対するソート要求を受け取り、前記ソート要求から、前記データタイプに基づきソーティングする第1のデータタイプの第1のプライオリティを決定し、前記列は少なくとも2つの前記データタイプを含み、前記ソート要求に従って前記テーブルをソートするように構成されたソートエンジンと、
    前記ソート要求に基づいて前記ソートされたテーブルを提供するように構成された通信ユニットとを有する
    システム。
  10. 前記ソートエンジンは前記ソート要求から一データタイプ内の第2のプライオリティを決定し、前記ソート要求により前記テーブルをソーティングするステップは前記第2のプライオリティに基づいてソーティングするステップを含む、
    請求項9に記載のシステム。
  11. 一セルからの画像データを記号データに変換し、前記セルの前記画像データに前記記号データを付加する記号表現モジュールをさらに有する、
    請求項9に記載のシステム。
  12. 前記データタイプはさらに記号データを含む、
    請求項11に記載のシステム。
  13. 前記ユーザから前記テーブルの列に対するフィルタ要求を受け取り、前記フィルタ要求に基づいて前記テーブルをフィルタリングするフィルタエンジンをさらに有する、
    請求項9に記載のシステム。
  14. 前記フィルタ要求に基づいて前記列をフィルタリングするステップは、さらに、
    前記フィルタ要求からフィルタ基準を特定する、前記フィルタ基準はデータタイプまたはデータの特徴に基づくステップと、
    前記フィルタ基準にマッチする行を特定することにより、前記フィルタ基準を前記列に適用するステップと、
    前記テーブル中の、セルがマッチする行を前記ユーザに提供するステップとを有する、
    請求項13に記載のシステム。
  15. 前記ソートエンジンは、前記ソート要求に基づき前記画像データで、前記画像及び記号データをソートする、
    請求項9に記載のシステム。
  16. 前記テーブルジェネレータは、画像データを含む第1のセルと、画像及び記号データを含む第2のセルとを少なくとも含む第1の列で、前記テーブルを更新する、
    請求項9に記載のシステム。
  17. コンピュータにより実施される方法であって、
    フォーム画像を受け取り、前記フォーム画像からテーブルを生成する、前記テーブルは画像データと、画像及び記号の両データと、空値とを含むデータタイプを有するセルを有するステップと、
    前記ユーザから、前記テーブルに対するフィルタ要求を受け取るステップと、
    一以上のコンピューティングデバイスを用いて、前記フィルタ要求からフィルタ基準を特定する、前記フィルタ基準はデータタイプまたはデータの特徴に基づくステップと、
    前記一以上のコンピューティングデバイスを用いて、前記フィルタ基準にマッチする行を特定することにより、前記列に前記フィルタを適用するステップと、
    前記列中の、セルがマッチする行を前記ユーザに提供するステップとを有する
    方法。
  18. 一セルからの画像データを記号データに変換するステップと、
    前記記号データを前記セル中の前記画像データに付加するステップとをさらに有する、
    請求項17に記載の方法。
  19. 少なくとも画像データを含む第1のセルと、画像及び記号データを含む第2のセルとを含む第1の列で前記テーブルを更新するステップをさらに有する、
    請求項17に記載の方法。
  20. 前記画像データは、画像が無い、画像の幅、指定の高さ、指定のサイズ、ストロークの類似性、及びブラックピクセルの割合に従ってフィルタされる、
    請求項17に記載の方法。
JP2014035636A 2013-02-28 2014-02-26 単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング Active JP6303594B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/781,728 US9449031B2 (en) 2013-02-28 2013-02-28 Sorting and filtering a table with image data and symbolic data in a single cell
US13/781,728 2013-02-28

Publications (2)

Publication Number Publication Date
JP2014170539A JP2014170539A (ja) 2014-09-18
JP6303594B2 true JP6303594B2 (ja) 2018-04-04

Family

ID=51389290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014035636A Active JP6303594B2 (ja) 2013-02-28 2014-02-26 単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング

Country Status (2)

Country Link
US (1) US9449031B2 (ja)
JP (1) JP6303594B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11062615B1 (en) 2011-03-01 2021-07-13 Intelligibility Training LLC Methods and systems for remote language learning in a pandemic-aware world
US10019995B1 (en) 2011-03-01 2018-07-10 Alice J. Stiebel Methods and systems for language learning based on a series of pitch patterns
EP3029607A1 (en) * 2014-12-05 2016-06-08 PLANET AI GmbH Method for text recognition and computer program product
US9934215B2 (en) 2015-11-02 2018-04-03 Microsoft Technology Licensing, Llc Generating sound files and transcriptions for use in spreadsheet applications
US9990350B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Videos associated with cells in spreadsheets
JP7027918B2 (ja) * 2018-02-01 2022-03-02 ブラザー工業株式会社 制御プログラム及び、情報処理装置
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11562030B2 (en) * 2018-11-15 2023-01-24 Cloudflare, Inc. Applying filter expressions to requests at an edge server
CN110442854B (zh) * 2019-08-13 2023-04-07 北京源清慧虹信息科技有限公司 报表的生成方法、装置、计算机设备和可读存储介质
EP4062313A1 (en) 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US11361156B2 (en) 2019-11-18 2022-06-14 Monday.Com Digital processing systems and methods for real-time status aggregation in collaborative work systems
US11526692B2 (en) * 2020-02-25 2022-12-13 UST Global (Singapore) Pte. Ltd. Systems and methods for domain agnostic document extraction with zero-shot task transfer
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11481288B2 (en) 2021-01-14 2022-10-25 Monday.com Ltd. Digital processing systems and methods for historical review of specific document edits in collaborative work systems
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2681454B1 (fr) * 1991-09-16 1995-08-18 Aerospatiale Procede et dispositif de traitement d'informations alphanumeriques et graphiques pour la constitution d'une banque de donnees.
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5632009A (en) * 1993-09-17 1997-05-20 Xerox Corporation Method and system for producing a table image showing indirect data representations
JP4077909B2 (ja) * 1997-10-03 2008-04-23 富士通株式会社 帳票処理装置
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
JP2000251012A (ja) * 1999-03-01 2000-09-14 Hitachi Ltd 帳票処理方法およびシステム
JP2001060164A (ja) * 1999-05-18 2001-03-06 Hitachi Ltd データ処理方法およびデータ処理システム並びにその実施装置及びその処理プログラムを記録した記録媒体
US6613099B2 (en) * 1999-08-20 2003-09-02 Apple Computer, Inc. Process and system for providing a table view of a form layout for a database
KR100372582B1 (ko) * 2000-02-23 2003-02-17 가부시키가이샤 히타치세이사쿠쇼 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체
US20020073089A1 (en) * 2000-09-29 2002-06-13 Andrew Schwartz Method and system for creating and managing relational data over the internet
US6912308B2 (en) 2000-12-01 2005-06-28 Targus Communications Corp. Apparatus and method for automatic form recognition and pagination
US6768816B2 (en) * 2002-02-13 2004-07-27 Convey Corporation Method and system for interactive ground-truthing of document images
US8131471B2 (en) * 2002-08-08 2012-03-06 Agilent Technologies, Inc. Methods and system for simultaneous visualization and manipulation of multiple data types
US7203694B2 (en) * 2002-12-20 2007-04-10 International Business Machines Corporation System and method for multicolumn sorting in a single column
US7542160B2 (en) 2003-08-29 2009-06-02 Hewlett-Packard Development Company, L.P. Rendering with substituted validation input
US8155578B2 (en) 2004-05-14 2012-04-10 Educational Testing Service Method and system for generating and processing an assessment examination
US7356525B2 (en) * 2004-05-28 2008-04-08 International Business Machines Corporation Multi-column multi-data type internationalized sort extension method for web applications
JP2006065524A (ja) * 2004-08-26 2006-03-09 Hitachi Ltd 文書処理装置および方法
US7689037B2 (en) 2004-10-22 2010-03-30 Xerox Corporation System and method for identifying and labeling fields of text associated with scanned business documents
WO2007117334A2 (en) * 2006-01-03 2007-10-18 Kyos Systems Inc. Document analysis system for integration of paper records into a searchable electronic database
JP2007310646A (ja) * 2006-05-18 2007-11-29 Glory Ltd 検索情報管理装置、検索情報管理プログラムおよび検索情報管理方法
US20080065685A1 (en) 2006-08-04 2008-03-13 Metacarta, Inc. Systems and methods for presenting results of geographic text searches
WO2009039530A1 (en) 2007-09-20 2009-03-26 Kyos Systems, Inc. Method and apparatus for editing large quantities of data extracted from documents
JP4998237B2 (ja) * 2007-12-06 2012-08-15 富士通株式会社 論理構造モデル作成支援プログラム、論理構造モデル作成支援装置および論理構造モデル作成支援方法
US9501453B2 (en) * 2007-12-23 2016-11-22 Salesforce.Com Inc. Method and system for a flexible-data column user interface
JP4825243B2 (ja) * 2008-06-20 2011-11-30 富士通フロンテック株式会社 帳票認識装置、方法、データベース作成装置、方法、及びプログラム
US9129234B2 (en) * 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US9042653B2 (en) * 2011-01-24 2015-05-26 Microsoft Technology Licensing, Llc Associating captured image data with a spreadsheet
US20120260237A1 (en) * 2011-04-10 2012-10-11 Requirementslive Llc Portable Business Language and Automated Software Application Development System
US8788930B2 (en) * 2012-03-07 2014-07-22 Ricoh Co., Ltd. Automatic identification of fields and labels in forms
US8892990B2 (en) 2012-03-07 2014-11-18 Ricoh Co., Ltd. Automatic creation of a table and query tools
US8958644B2 (en) * 2013-02-28 2015-02-17 Ricoh Co., Ltd. Creating tables with handwriting images, symbolic representations and media images from forms

Also Published As

Publication number Publication date
US9449031B2 (en) 2016-09-20
JP2014170539A (ja) 2014-09-18
US20140244668A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6303594B2 (ja) 単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング
US9558170B2 (en) Creating and switching a view of a collection including image data and symbolic data
US8892990B2 (en) Automatic creation of a table and query tools
US11645826B2 (en) Generating searchable text for documents portrayed in a repository of digital images utilizing orientation and text prediction neural networks
US10614266B2 (en) Recognition and population of form fields in an electronic document
US10200336B2 (en) Generating a conversation in a social network based on mixed media object context
EP3437019B1 (en) Optical character recognition in structured documents
JP6507472B2 (ja) 処理方法、処理システム及びコンピュータプログラム
US10043231B2 (en) Methods and systems for detecting and recognizing text from images
US9767088B2 (en) Stroke autocompletion in a form
CN101408874A (zh) 图像文字翻译装置及方法
US9298685B2 (en) Automatic creation of multiple rows in a table
US8792730B2 (en) Classification and standardization of field images associated with a field in a form
US9558400B2 (en) Search by stroke
JP2005216203A (ja) 表フォーマットデータ処理方法並びに表フォーマットデータ処理装置
Guruprasad et al. An end-to-end, interactive deep learning based annotation system for cursive and print English handwritten text
JP2023177010A (ja) 画像解析方法、画像解析装置及び画像解析プログラム
KR20230161286A (ko) 원소글자를 이용한 한자의 분류 및 조합의 방법
CN112069792A (zh) 命名实体识别方法、装置、设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171206

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: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180219

R151 Written notification of patent or utility model registration

Ref document number: 6303594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151