(57)【特許請求の範囲】
【請求項１】
電子イメージから電子フォームに取り込むための、コンピュータによって実施される方法であって、
（ａ）前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
（ｂ）前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
（ｃ）グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第１のステータス、前記フィールドが入力済みだが未検証である第２のステータス、前記フィールドが入力済みで検証済みである第３のステータスを含むこと
を備えることを特徴とする方法。
【請求項２】
前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、前記電子イメージ内の複数のオブジェクトのうちの前記第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別することを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、
前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、
イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、
前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、および
前記サブ・イメージを処理して前記第１のオブジェクトを含めて前記オブジェクトごとにサイズ、オリエンテーションおよび位置を決定すること
を備えることを特徴とする請求項１に記載の方法。
【請求項４】
イメージ内の各ピクセルを分類してピクセル分類データを生成すること、イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、を前記イメージが単一オブジェクトを含むようになるまで、または前記イメージをもはや分割することができなくなるまで、繰り返すことをさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを備えることを特徴とする請求項３に記載の方法。
【請求項６】
ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義すること、
第１の方向における前記イメージ・ファンクションを算出して第１のデータ・セットを生成すること、
第２の方向における前記イメージ・ファンクションを算出して第２のデータ・セットを生成すること、および
前記第１の方向における前記イメージ・ファンクションと前記第２の方向における前記イメージ・ファンクションにおけるディスパリティを検索すること
をさらに備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別することは、光学式文字認識を使用して前記第１のオブジェクト内のテキスト・ブロック、および前記テキスト・ブロックの２次元ロケーションを識別することを備え、
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記電子フォームの前記フィールドと同時に前記識別されたテキスト・ブロックを前記ユーザに対して表示することを備える
ことを特徴とする請求項１に記載の方法。
【請求項８】
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記第１のオブジェクトのイメージ内の前記識別された情報要素を前記ユーザに対して表示することを備え、
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記第１のオブジェクトの前記イメージ内の異なる情報タイプの前記タグ付きのグループを、前記異なる情報タイプを示すビジュアル・インジケータを用いてハイライトすることを備える
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取ること、および前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別することを備え、
前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることは、前記情報要素の少なくとも１つを、その要素の前記情報タイプに基づいて前記フィールドの少なくとも１つに自動的に取り込むことを備え、
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示すること、およびフォーム・グラフィック・ユーザ・インターフェースを介して前記取り込まれたフィールドと未だ取り込まれていない任意のフィールドとを表示することを備える
ことを特徴とする請求項１に記載の方法。
【請求項１０】
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記オブジェクト・データ・グラフィック・ユーザ・インターフェースにおけるビジュアル・インジケータを使用して、情報要素が前記フォーム中の特定のフィールドと適合可能であることを示すことをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記フォーム中の少なくとも１つの取り込まれたフィールドにおける少なくとも１つの情報要素に関連付けられたステータス・レベルを示すことをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１２】
グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記示されたステータス・レベルに基づいて、前記少なくとも１つの取り込まれたフィールドにおける前記少なくとも１つの情報要素を検証および／または訂正するように前記ユーザに促すことをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記少なくとも１つの情報要素についての前記ユーザの検証および／または訂正に基づいて、前記取り込まれたフォームの他のフィールドをアップデートすることを備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
（ｆ）前記取り込まれたフィールドのうちのいずれかに対して行われる編集から収集されるサイド情報をサイド情報ストアに書き込むこと、および
（ｇ）前記情報要素を、（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することにおいて、再解析して異なる情報タイプのタグ付きグループへと分類し、（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記サイド情報に基づいて少なくとも１つの他のフィールドに再取り込みすること
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１５】
前記電子イメージは、複数のオブジェクトを備え、前記方法は、
（ｆ）オブジェクトごとに、対応する電子フォームの各フィールドが、そのオブジェクト内のピクセルから取得された情報要素で少なくとも部分的に取り込まれるように、オブジェクトごとに、
（ａ）前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
（ｂ）前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
（ｃ）グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および
（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込んで取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること
を実施すること
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１６】
前記複数のオブジェクトは、異なるタイプのオブジェクトを備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
コンピュータによって実行されたときに、
（ａ）電子イメージ内の任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
（ｂ）前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
（ｃ）グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第１のステータス、前記フィールドが入力済みだが未検証である第２のステータス、前記フィールドが入力済みで検証済みである第３のステータスを含むこと
を備える方法を実施するコンピュータ実行可能命令を備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１８】
前記電子イメージは、前記第１のオブジェクトを含めて複数のオブジェクトを備え、前記方法は、
（ｆ）オブジェクトごとに、対応する電子フォームの各フィールドが、そのオブジェクト内のピクセルから取得された情報要素で少なくとも部分的に取り込まれるように、オブジェクトごとに、
（ａ）電子イメージ内の任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
（ｂ）前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
（ｃ）グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および
（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること
を実施すること
をさらに備えることを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記複数のオブジェクトは、異なるタイプのオブジェクトを備えることを特徴とする請求項１８に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別することは、
前記イメージ内の各ピクセルを分類してピクセル分類データを生成すること、
イメージ・ファンクションを明確化して前記ピクセル分類データを処理すること、
前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをサブ・イメージに分割すること、および
前記サブ・イメージを処理して前記第１のオブジェクトを含めて前記オブジェクトごとにサイズ、オリエンテーションおよび位置を決定すること
を備えることを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２１】
前記イメージ内の各ピクセルを分類してピクセル分類データを生成することは、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを備えることを特徴とする請求項２０に記載のコンピュータ読取り可能媒体。
【請求項２２】
ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義すること、
第１の方向における前記イメージ・ファンクションを算出して第１のデータ・セットを生成すること、
第２の方向における前記イメージ・ファンクションを算出して第２のデータ・セットを生成すること、および
前記第１の方向における前記イメージ・ファンクションと前記第２の方向における前記イメージ・ファンクションにおけるディスパリティを検索すること
をさらに備えることを特徴とする請求項２１に記載のコンピュータ読取り可能媒体。
【請求項２３】
前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別することは、光学式文字認識を使用して前記第１のオブジェクト内のテキスト・ブロック、および前記テキスト・ブロックの２次元ロケーションを識別することを備え、
グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記グラフィック・ユーザ・インターフェースを介して前記第１のオブジェクトのイメージ内の前記識別されたテキスト・ブロックを前記ユーザに対して表示することを備え、
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、異なる情報タイプの前記タグ付きのグループを前記異なる情報タイプを示すビジュアル・インジケータを伴う前記第１のオブジェクトの前記イメージ内においてハイライトすることを備える
ことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２４】
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取ること、および前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別することを備え、
前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることは、前記情報要素の少なくとも１つをその要素の前記情報タイプに基づいて前記フィールドの少なくとも１つに自動的に取り込むことを備え、
グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示すること、およびフォーム・グラフィック・ユーザ・インターフェースを介して前記取り込まれたフィールドと未だ取り込まれていない任意のフィールドとを表示することを備える
ことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２５】
グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記オブジェクト・データ・グラフィック・ユーザ・インターフェースにおけるビジュアル・インジケータを使用して、情報要素が前記フォーム中の特定のフィールドと適合可能であることを示すことをさらに備えることを特徴とする請求項２４に記載のコンピュータ読取り可能媒体。
【請求項２６】
グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記フォーム中の少なくとも１つの取り込まれたフィールドにおける少なくとも１つの情報要素に関連付けられたステータス・レベルを示すことをさらに備えることを特徴とする請求項２４に記載のコンピュータ読取り可能媒体。
【請求項２７】
グラフィック・ユーザ・インターフェースを介して電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示することは、前記示されたステータス・レベルに基づいて前記少なくとも１つの取り込まれたフィールドにおける前記少なくとも１つの情報要素を検証および／または訂正するように前記ユーザに促すことをさらに備えることを特徴とする請求項２６に記載のコンピュータ読取り可能媒体。
【請求項２８】
前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することは、前記少なくとも１つの情報要素の前記ユーザの検証および／または訂正に基づいて前記取り込まれたフォームの他のフィールドをアップデートすることを備えることを特徴とする請求項２７に記載のコンピュータ読取り可能媒体。
【請求項２９】
（ｆ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記ユーザによって行われる編集から収集されるサイド情報をサイド情報ストアに書き込むこと、および
（ｇ）前記情報要素を前記解析することを、前記情報要素を解析して異なる情報タイプのタグ付きグループに分類することにおいて、再解析して異なる情報タイプのタグ付きグループへと分類し、前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれた電子フォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすることにおいて、前記サイド情報に基づいて少なくとも１つの他のフィールドに再取り込みこと
をさらに備えることを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項３０】
電子フォームに少なくとも部分的に取り込むためのシステムであって、
電子イメージ中のピクセルを処理して前記電子イメージ内の任意のオリエンテーションを有するオブジェクトのサイズ、オリエンテーションおよび位置を識別するオブジェクト検出および抽出モジュールと、
前記第１のオブジェクトに対応する前記電子イメージ内のピクセルから情報要素を識別する光学式文字認識モジュールと、
前記電子フォームのフィールドおよび前記識別された情報要素をユーザに対して同時に表示するグラフィック・ユーザ・インターフェースと、
前記情報要素を解析して異なる情報タイプのタグ付きグループへと分類し、前記タグ付きグループを前記フィールドに少なくとも部分的に取り込み、取り込まれた電子フォームを生成する解析モジュールと、
前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供する手段であって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第１のステータス、前記フィールドが入力済みだが未検証である第２のステータス、前記フィールドが入力済みで検証済みである第３のステータスを含む手段と
を備えることを特徴とするシステム。
【請求項３１】
前記グラフィック・ユーザ・インターフェースによって、前記ユーザは、前記取り込まれたフィールドおよび未だ取り込まれていない任意のフィールドを編集できるようになることを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記オブジェクト検出および抽出モジュールは、
イメージの各ピクセルを分類し、イメージ・ファンクションを明確化するデータ・ピクセル検出モジュールと、
前記イメージ・ファンクション中のディスパリティに基づいて前記イメージをより小さなサブ・イメージへと分割することが可能なセグメンテーション・モジュールと、
前記サブ・イメージを処理して前記イメージ内のオブジェクトの数、サイズ、オリエンテーションおよび位置を検出する単一オブジェクト抽出モジュールと
を備えることを特徴とする請求項３０に記載のシステム。
【請求項３３】
前記データ・ピクセル検出モジュールは、データ・ピクセルまたはバックグラウンド・ピクセルのうちの一方として各ピクセルを分類することを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記データ・ピクセル検出モジュールは、ある方向におけるデータ・ピクセルの総和として前記イメージ・ファンクションを定義し、第１の方向における前記イメージ・ファンクションを算出して第１のデータ・セットを生成し、第２の方向における前記イメージ・ファンクションを算出して第２のデータ・セットを生成し、前記第１の方向における前記イメージ・ファンクション中、および前記第２の方向における前記イメージ・ファンクション中のディスパリティを検索することを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記光学式文字認識モジュールは、光学式文字認識を使用して前記第１のオブジェクト内のテキスト・ブロックおよび前記テキスト・ブロックの２次元ロケーションを識別する手段を備え、
前記グラフィック・ユーザ・インターフェースは、前記グラフィック・ユーザ・インターフェースを介して、前記第１のオブジェクトのイメージ内の前記識別されたテキスト・ブロックを前記ユーザに対して表示し、前記第１のオブジェクトの前記イメージ内の異なる情報タイプの前記タグ付きグループを、前記異なる情報タイプを示すビジュアル・インジケータを用いてハイライトする手段を備える
ことを特徴とする請求項３０に記載のシステム。
【請求項３６】
前記解析モジュールは、タグの付いていないメディア・ストアからのタグの付いていないメディアとして前記情報要素を受け取り、前記タグの付いていないメディアを解析して前記情報要素の情報タイプを識別し、その要素の前記情報タイプに基づいて、前記情報要素のうちの少なくとも１つを前記フィールドのうちの少なくとも１つに自動的に取り込む手段を備え、
前記グラフィック・ユーザ・インターフェースは、オブジェクト・データ・グラフィック・ユーザ・インターフェースを介して前記情報要素を表示し、フォーム・グラフィックユーザ・インターフェースを介して前記取り込まれたフィールドおよび未だ取り込まれていない任意のフィールドを表示する手段を備える
ことを特徴とする請求項３０に記載のシステム。
【請求項３７】
前記オブジェクト・データ・グラフィック・ユーザ・インターフェースは、情報要素が前記フォームの特定のフィールドと適合可能であることを示すビジュアル・インジケータを備えることを特徴とする請求項３５に記載のシステム。
【請求項３８】
前記フォーム・グラフィック・ユーザ・インターフェースは、前記フォーム中の少なくとも１つの取り込まれたフィールドにおける少なくとも１つの情報要素に関連付けられたステータス・レベル・インジケータを備えることを特徴とする請求項３５に記載のシステム。
【請求項３９】
前記グラフィック・ユーザ・インターフェースは、少なくとも１つの取り込まれたフィールド中の少なくとも１つの情報要素をそのフィールドに関連付けられた前記ステータス・レベル・インジケータに基づいて検証および／または訂正するように前記ユーザを促す手段を備えることを特徴とする請求項３７に記載のシステム。
【請求項４０】
前記解析モジュールは、前記取り込まれたフィールドおよび前記未だ取り込まれていないフィールドに対する前記ユーザによって行われる編集に従って前記取り込まれたフォームの他のフィールドをアップデートするための手段を備えることを特徴とする請求項３１に記載のシステム。
【請求項４１】
異なる情報タイプの第１および第２のオブジェクトを有する電子イメージから電子フォームに取り込む方法であって、
前記電子イメージ内の前記第１および第２のオブジェクトのサイズ、オリエンテーションおよび位置を識別し、各オブジェクトの前記サイズ、オリエンテーションおよび位置に関連付けられ、前記電子イメージ中のピクセルに対応する、サブ・イメージに前記電子イメージを分割すること、
各サブ・イメージ上で光学式文字認識を実施して前記対応するオブジェクト内のタグの付いていない情報要素を識別すること、
サブ・イメージごとに、前記タグの付いていない情報要素を解析してタグ付きの情報要素に分類すること、
前記第１のオブジェクトの前記サブ・イメージから識別される前記タグ付きの情報要素を第１の電子フォーム・タイプ中のフィールドに取り込んで第１の取り込まれたフォームを生成すること、
前記第２のオブジェクトの前記サブ・イメージから識別される前記タグ付きの情報要素を第２の電子フォーム・タイプ中のフィールドに取り込んで第２の取り込まれたフォームを生成すること、
グラフィック・ユーザ・インターフェースを介して、前記第１および第２の取り込まれたフォームと前記タグの付いていない情報要素とをユーザに対して表示し、前記ユーザが、前記グラフィック・ユーザ・インターフェースを介して前記第１および第２の取り込まれたフォームを編集できるようにすること、および
前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第１のステータス、前記フィールドが入力済みだが未検証である第２のステータス、前記フィールドが入力済みで検証済みである第３のステータスを含むこと
を備えることを特徴とする方法。
【請求項４２】
前記第１のオブジェクトは名刺を含み、前記第２のオブジェクトは購入レシートを含み、
前記第１の電子フォームは、ソフトウェア・アドレス帳の連絡先レコードを備え、前記第２の電子フォームは、ソフトウェア財務アプリケーションの電子財務レコードを備える
ことを特徴とする請求項４１に記載の方法。
【請求項４３】
電子イメージから電子フォームに取り込むための、コンピュータによって実施される方法であって、
（ａ）前記電子イメージ内の、任意のオリエンテーションを有する第１のオブジェクトのサイズ、オリエンテーションおよび位置を識別すること、
（ｂ）前記第１のオブジェクトに対応する前記電子イメージ内のピクセルからの情報要素を識別すること、
（ｃ）グラフィック・ユーザ・インターフェースを介して前記電子フォームのフィールドと前記識別された情報要素とをユーザに対して表示すること、
（ｄ）前記情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、
（ｅ）前記タグ付きグループを前記電子フォームの前記フィールドに取り込み、取り込まれたフォームを生成し、前記グラフィック・ユーザ・インターフェースを介して前記ユーザが前記取り込まれたフィールドを編集できるようにすること、および
前記フィールドの入力および検証についてのステータスを前記ユーザに示すステータス・インジケータを、前記フィールドに隣接して配置して提供することであって、前記フィールドのステータスは、前記フィールドが未入力で未検証である第１のステータス、前記フィールドが入力済みだが未検証である第２のステータス、前記フィールドが入力済みで検証済みである第３のステータスを含むこと
を備え、
前記ステータス・インジケータは、色を用いて前記ステータスを示し、
前記第１のステータス又は前記第２のステータスは、前記フィールドが正しい情報を含んでいるかについての検証が完了していないことを示し、
前記第３のステータスは、前記フィールドが正しい情報を含んでいるかについての検証が完了していることを示すことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン・ドキュメント（scanned documents）または他の電子イメージから電子フォームに自動的に取り込むための、コンピュータによって実施される方法および装置に関する。
【背景技術】
【０００２】
スキャン・ドキュメントなどの電子イメージからデータを取り込むことは、手間がかかるタスクである。しばしば、イメージの、スキャンなどの電子コピーなどではなく、使用可能なフォームに入ったデータまたは他のテキスト情報も必要になる。コンピュータ生成されたフォームに完成させるのを支援するほとんどの従来技術では、スキャンされたドキュメント内の特定のタイプの情報要素を識別するために光学式文字認識技術、自然言語処理技術、および他の人工知能技術が使用されている。情報要素が識別された後に、これらの情報要素は、選択されたフォーム上の適切なフィールド中またはロケーションに配置される。しかし、これらの方法は、非常に信頼できないものとして広く知られている。
【０００３】
さらに、従来技術のシステムでは、一度に１つのドキュメントしか処理できず、さらに、手間と時間が、取り込まれた電子ドキュメントに関連して、追加される。また、ドキュメントをスキャンし、コンピュータ生成されたフォームに完成させるのを支援するために使用されるハードウェアでは、ドキュメントを適切にスキャンできるようにするために、ドキュメントがあらかじめ確定されたサイズおよびオリエンテーション（向き）を有することを必要とする。このことは、このシステムの汎用性を制限する可能性があり、したがって特定のタイプのドキュメントをスキャンするためには特定のハードウェアの購入を必要とする可能性もある。例えば、今では名刺スキャナが入手可能になっており、これにより、ユーザは名刺を一度に１枚ずつこのスキャナに供給し、アドレス帳にデータを取り込むための連絡先情報を抽出できるようになる。このスキャナは、あらかじめ確定されたサイズおよびオリエンテーション（向き）を持つ名刺を受け入れることができるような大きさになっている。これらのスキャナは、購入レシートや請求書などの他のタイプおよびサイズのドキュメントをスキャンするために使用することができない。また、名刺は、一度に１枚ずつスキャンする必要があり、これが効率を低下させる。Ｈｏｔｃａｒｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ｐｔｅ  Ｌｔｄ．が販売するスキャナなど、他の名刺専用のスキャナでは、一度に複数のカードをスキャンすることができるが、これらのカードがスキャナ上で特定のオリエンテーション（向き）を持つ必要がある。
【０００４】
【特許文献１】米国特許第６，４１１，３１３号明細書
【非特許文献１】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）または他の電子イメージから電子フォームに取り込むための改良された方法および装置が、望まれている。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、電子イメージから電子フォームに取り込むための方法を対象としている。この方法は、（ａ）この電子イメージ内の、任意のオリエンテーション（向き）を有する第１のオブジェクトのサイズ、オリエンテーション（向き）および位置を識別すること、（ｂ）この第１のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別すること、（ｃ）グラフィック・ユーザ・インターフェースを介してこの電子フォームのフィールドおよびこの識別された情報要素をユーザに対して表示すること、（ｄ）この情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および（ｅ）このタグ付きグループをこの電子フォームのフィールドに取り込んで、取り込まれたフォームを生成し、このグラフィック・ユーザ・インターフェースを介してユーザがこの取り込まれたフィールドを編集できるようにすること、を含んでいる。
【０００７】
本発明の他の実施形態は、コンピュータによって実行されたときに、（ａ）この電子イメージ内の、任意のオリエンテーション（向き）を有する第１のオブジェクトのサイズ、オリエンテーション（向き）および位置を識別すること、（ｂ）この第１のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別すること、（ｃ）グラフィック・ユーザ・インターフェースを介してこの電子フォームのフィールドおよびこの識別された情報要素をユーザに対して表示すること、（ｄ）この情報要素を解析して異なる情報タイプのタグ付きグループに分類すること、および（ｅ）このタグ付きグループをこの電子フォームのフィールドに取り込んで、取り込まれたフォームを生成し、このグラフィック・ユーザ・インターフェースを介してユーザがこの取り込まれたフィールドを編集できるようにすることを含む方法を実施するコンピュータ実行可能命令を備えるコンピュータ読取り可能媒体を対象としている。
【０００８】
本発明の他の実施形態は、少なくとも部分的に電子フォームに取り込むためのシステムを対象としている。このシステムは、オブジェクト検出および抽出モジュールを含んでおり、このモジュールは、この電子イメージ中のピクセルを処理して、この電子イメージ内の任意のオリエンテーション（向き）を有するオブジェクトのサイズ、オリエンテーション（向き）および位置を識別する。光学式文字認識モジュールは、この第１のオブジェクトに対応する電子イメージ内のピクセルから情報要素を識別する。グラフィック・ユーザ・インターフェースは、この電子フォームのフィールドおよびこの識別された情報要素をユーザに対して同時に表示する。解析モジュールは、この情報要素を解析して異なる情報タイプのタグ付きグループに分類し、少なくとも部分的にこのタグ付きグループをこのフィールドに取り込んで、取り込まれた電子フォームを生成する。
【０００９】
本発明のさらに他の実施形態は、異なる情報タイプの第１および第２のオブジェクトを有する電子イメージから電子フォームに取り込むための方法を対象としている。この方法は、この電子イメージ内のこの第１および第２のオブジェクトのサイズ、オリエンテーション（向き）および位置を識別することを含んでいる。この電子イメージは、各オブジェクトのサイズ、オリエンテーション（向き）および位置に関連付けられた、電子イメージ中のピクセルに対応する複数の、サブ・イメージに分割される。光学式文字認識を各サブ・イメージ上で実施して、この対応するオブジェクト内のタグの付いていない情報要素を識別する。サブ・イメージごとに、タグの付いていない情報が解析されてタグ付き情報要素に分類される。第１の電子フォーム・タイプ中のフィールドには、この第１のオブジェクトのサブ・イメージから識別されたタグ付き情報要素が取り込まれて、第１の取り込まれたフォームが生成される。第２の電子フォーム・タイプ中のフィールドには、この第２のオブジェクトのサブ・イメージから識別されたタグ付き情報要素が取り込まれて、第２の取り込まれたフォームが生成される。この第１および第２の取り込まれたフォームおよびそのタグの付いていない情報要素が、グラフィック・ユーザ・インターフェースを介してユーザに対して表示される。このユーザは、このグラフィック・ユーザ・インターフェースを介してこの第１および第２の取り込まれたフォームを編集することができるようになる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態は、名刺、請求書、購入レシートなどのオブジェクトの電子イメージから得られるデータを電子フォームに取り込む際にユーザを支援するための方法および装置を提供する。電子イメージは、電子ファイルやデジタル・イメージング装置からなど任意のソースから取得することができる。一実施形態においては、これらのイメージは、汎用スキャナまたはデジタル・カメラから取得される。各イメージは、未知のサイズ、オリエンテーション（向き）および位置を有する１つまたは複数のオブジェクトを含むことができる。このイメージ中の各オブジェクトは、名刺の場合における名前および連絡情報や、レシートの場合におけるベンダ、日付および金額など特定の情報タイプのタグの付いてない情報要素を含んでいる。
【００１１】
イメージ内の個々のオブジェクトがセグメント化され、これらのセグメント化されたオブジェクト内の情報要素が識別される。このシステムは、同じイメージ中で一緒にスキャンされる多数の小さなドキュメントを認識してセグメント化することができる。このイメージ中のオブジェクトごとに、このシステムは、このオブジェクト内のテキスト・データを認識し、特定の情報タイプに基づいてこのテキスト・データを解析し、ターゲット・アプリケーションまたは電子フォーム中のフィールドに自動的に取り込む。例えば、このターゲット・アプリケーションがアドレス帳の連絡先である場合、ユーザは、１つまたは複数の名刺を一度にスキャンすることができ、このシステムは、これらの個々にセグメント化された名刺から、名前、電話番号、電子メール・アドレス、および他の情報を抽出することになる。１０桁を含むテキスト・ストリングは、米国電話番号である可能性が高く、フォームｘｘｘｘ＠ｙｙｙｙ．ｚｚｚのストリングは、電子メールである可能性が高い。  各名刺からの情報要素を使用して、ユーザの連絡リストを自動的に取り込む。イメージは、参照するために保持することができる。
【００１２】
別の実施形態においては、ユーザは、数枚のレシートをスキャンし、経費報告書アプリケーション、スプレッドシート、Ｍｉｃｒｏｓｏｆｔ  Ｍｏｎｅｙ（商標）などの財務管理ソフトウェアなどの財務ソフトウェア・アプリケーション中の適切なフィールド中に日付、金額および／または他のテキスト・ブロックをドラッグ・アンド・ドロップ（drag and drop）することができる。レシートのイメージは、参照するために記憶することができ、および／または、経費報告書と共に送付することができる。経費報告書のフィリング・システムでは、デジタル・イメージを改ざんするのを防止するために、その支払いパーティのパブリック・キーを使用してイメージ・ファイルを暗号化し、暗号ハッシュとすることができる。
【００１３】
このシステムは、グラフィック・ユーザ・インターフェースを介してこの解析されたテキストおよび取り込まれたフィールドをユーザに対して提示し、識別されたテキストのクラスタを適切なフィールドへとドラッグ・アンド・ドロップすることができるという点で、間違いを許容している。また、ユーザは、これらのフィールドのうちの任意のフィールドに直接にデータを入力することができる。たとえＯＣＲ（optical character recognition；光学式文字認識）が会社名など名刺上の一つのテキスト・ブロックを正しく識別することに失敗したとしても、このシステムは、テキスト・ブロックをクラスタ化している可能性がある。次いで、ユーザは、そのブロックを適切なフィールドにドラッグすることができる。これは、レシートなどのドキュメントがスキャンされるアプリケーションでは特に有用である。レシート上には、多数の数字ブロックおよびテキスト・ブロックが、存在する可能性があり、そのうち、ユーザは、多分、一般的にベンダ名、日付、最終金額およびおそらく税金だけを入力することに関心があるであろう。このオブジェクト上のテキストがクラスタ化される限り、ユーザは、このフォームまたはターゲット・アプリケーションの適切なフィールドに適切なブロックをドラッグすることができる。
【００１４】
図１は、本発明の一部の実施形態を実装することができる適切なコンピューティング・システム環境１００の一実施例を示している。コンピューティング・システム環境１００は、適切なコンピューティング環境の一実施例に過ぎず、本発明の使用または機能の範囲についてのどのような限定も示唆するものではない。このコンピューティング環境１００は、この例示の動作環境１００に示すコンポーネントのうちのどの１つまたは組合せに関連する依存性または必要性を有するものとも解釈すべきではない。
【００１５】
本発明は、他の多数の汎用または専用のコンピューティング・システム環境またはコンピューティング・システム構成を用いて動作可能である。本発明を用いて使用することを適切とすることができるよく知られているコンピューティング・システム、コンピューティング環境、および／またはコンピューティング構成には、それだけには限定されないが、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・デバイスまたはラップトップ・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、セットトップボックス、プログラム可能な家電、ネットワークＰＣ、ミニ・コンピュータ、メイン・フレーム・コンピュータ、上記システムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などが含まれる。
【００１６】
本発明は、コンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般にプログラム・モジュールは、個々のタスクを実施し、または個々の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。本発明はまた、分散コンピューティング環境中で実行することもでき、この分散コンピューティング環境中では、タスクは、通信ネットワークを介してリンクされるリモート処理デバイスによって実施される。分散コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル・コンピュータ・ストレージ媒体にもリモート・コンピュータ・ストレージ媒体にも配置することができる。
【００１７】
図１を参照すると、本発明を実装するためのシステムの一例は、コンピュータ１１０の形態の汎用コンピューティング・デバイスを含んでいる。コンピュータ１１０のコンポーネントは、それだけには限定されないが、処理装置１２０、システム・メモリ１３０、およびこのシステム・メモリを含めて様々なシステム・コンポーネントを処理装置１２０に結合するシステム・バス１２１を含むことができる。このシステム・バス１２１は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、および様々なバス・アーキテクチャのうちのいずれかを使用したローカル・バスを含めていくつかのタイプのバス構造のうちのどれであってもよい。実施例として、限定するものではないが、かかるアーキテクチャには、ＩＳＡ（Industry Standard Architecture；業界標準アーキテクチャ）バス、ＭＣＡ（Micro Channel Architecture；マイクロ・チャネル・アーキテクチャ）バス、ＥＩＳＡ（Enhanced ISA；拡張ＩＳＡ）バス、ＶＥＳＡ（Video Electronics Standards Association；ビデオ・エレクトロニクス規格協会）ローカル・バス、およびメザニン（Mezzanine）バスとしても知られているＰＣＩ（Peripheral Component Interconnect）バスが含まれる。
【００１８】
コンピュータ１１０は、一般的に様々なコンピュータ読取り可能媒体を含んでいる。コンピュータ読取り可能媒体は、コンピュータ１１０がアクセスすることができる任意の使用可能媒体とすることができ、揮発性媒体も不揮発性媒体も、着脱可能媒体も着脱不能媒体も両方を含んでいる。実施例として、限定するものではないが、コンピュータ読取り可能媒体は、コンピュータ・ストレージ媒体および通信媒体を含むことができる。コンピュータ・ストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラム・モジュール、他のデータなど情報のストレージのための任意の方法または技術で実装される揮発性および不揮発性の着脱可能および着脱不能な媒体を含んでいる。コンピュータ・ストレージ媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（digital versatile disk；デジタル多用途ディスク）または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気ストレージ・デバイス、あるいは所望の情報を記憶するために使用することができ、コンピュータ１００がアクセスすることができる他の任意の媒体が含まれる。通信媒体は、一般的に搬送波や他の搬送メカニズムなどの被変調データ信号の形のコンピュータ読取り可能命令、データ構造、プログラム・モジュールまたは他のデータを実施し、任意の情報配信媒体を含んでいる。用語「被変調データ信号」は、その１つまたは複数の特性が、信号に情報を符号化するように設定または変更された信号を意味する。実施例として、限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、他の無線媒体などの無線媒体とを含んでいる。以上のうちの任意の組合せもまた、コンピュータ読取り可能媒体の範囲内に含められるべきである。
【００１９】
システム・メモリ１３０は、ＲＯＭ（read only memory；読取り専用メモリ）１３１やＲＡＭ（random access memory；ランダム・アクセス・メモリ）１３２など、揮発性および／または不揮発性のメモリの形態のコンピュータ・ストレージ媒体を含んでいる。起動中などコンピュータ１１０内の要素間で情報を転送する助けをする基本ルーチンを含むＢＩＯＳ（basic input/output system；基本入出力システム）１３３は、一般的にＲＯＭ１３１に記憶される。ＲＡＭ１３２は、処理装置１２０にとってダイレクトにアクセス可能な、または処理装置１２０によって現在動作させられている、あるいはその両方のデータおよび／またはプログラム・モジュールを一般的に含んでいる。実施例として、限定するものではないが、図１は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７を示している。
【００２０】
コンピュータ１１０はまた、他の着脱可能／着脱不能な揮発性／不揮発性のコンピュータ・ストレージ媒体を含むことができる。実施例に過ぎないが、図１は、着脱不能な不揮発性磁気媒体から読み取りまたはそれに書き込むハードディスク・ドライブ１４１、着脱可能な不揮発性磁気ディスク１５２から読み取りまたはそれに書き込む磁気ディスク・ドライブ１５１、およびＣＤ−ＲＯＭや他の光媒体など着脱可能な不揮発性光ディスク１５６から読み取りまたはそれに書き込む光ディスク・ドライブ１５５を示している。例示の動作環境において使用することができる他の着脱可能／着脱不能な揮発性／不揮発性のコンピュータ・ストレージ媒体には、それだけには限定されないが、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク（ＤＶＤ）、デジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭなどが含まれる。ハードディスク・ドライブ１４１は一般的に、インターフェース１４０など着脱不能メモリ・インターフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライブ１５１および光ディスク・ドライブ１５５は、一般的にインターフェース１５０など着脱可能なメモリ・インターフェースによってシステム・バス１２１に接続される。
【００２１】
前述され、図１に示されるこれらのドライブおよびその関連するコンピュータ・ストレージ媒体は、コンピュータ１１０についてのコンピュータ読取り可能命令、データ構造、プログラム・モジュールおよび他のデータのストレージを提供する。図１において、例えばハードディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７と同じとすることもでき、また異なるものとすることもできる。オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７は、ここでは少なくともこれらが異なるコピーであることを示すために異なる番号が付与されている。
【００２２】
ユーザは、ポインティング・デバイス１６１、キーボード１６２、マイクロフォン１６３、デジタル・イメージング・デバイス１６４などの入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力することができる。ポインティング・デバイス１６１は、例えばマウス、トラック・ボール、またはタッチ・パッドを含むことができる。他の入力デバイス（図示せず）は、ジョイスティック、ゲーム・パッド、サテライト・ディッシュなどを含むことができる。これらおよび他の入力デバイスは、このシステム・バスに結合されるユーザ入力インターフェース１６０を介して処理ユニット１２０にしばしば接続されるが、これは、パラレル・ポート、ゲーム・ポート、ＵＳＢ（universal serial bus；ユニバーサル・シリアル・バス）など他のインターフェースおよびバス構造によって接続することもできる。モニタ１９１または他のタイプのディスプレイ・デバイスも、ビデオ・インターフェース１９０などのインターフェースを介してシステム・バス１２１に接続される。このモニタに追加して、コンピュータは、スピーカ１９７やプリンタ１９６などの他のペリフェラル出力デバイスも含むことができ、これらは、出力ペリフェラル・インターフェース１９０を介して接続することができる。
【００２３】
コンピュータ１１０は、リモート・コンピュータ１８０など１つまたは複数のリモート・コンピュータに対する論理接続を使用してネットワーク環境で動作することが可能である。リモート・コンピュータ１８０は、パーソナル・コンピュータ、ハンドヘルド・デバイス、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、または他の共通ネットワーク・ノードとすることができ、一般的に、コンピュータ１１０に関連した前述の要素の多くまたはすべてを含んでいる。図１に示す論理接続は、ＬＡＮ（local area network；ローカル・エリア・ネットワーク）１７１およびＷＡＮ（wide area network；ワイド・エリア・ネットワーク）１７３を含んでいるが、他のネットワークを含んでいてもよい。かかるネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的なものになっている。
【００２４】
ＬＡＮネットワーク環境中で使用する際には、コンピュータ１１０は、ネットワーク・インターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境中で使用する際には、コンピュータ１１０は、一般的にインターネットなどのＷＡＮ１７３上で通信を確立するためのモデム１７２または他の手段を含んでいる。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステム・バス１２１に接続することができる。ネットワーク環境においては、コンピュータ１１０に関連して示すプログラム・モジュール、またはその一部分は、リモート・メモリ・ストレージ・デバイスに記憶することができる。実施例として、限定するものではないが、図１は、リモート・アプリケーション・プログラム１８５をリモート・コンピュータ１８０上に存在するものとして示している。図に示すネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することもできることが理解されよう。
【００２５】
本発明の一部実施形態のコンテクスト中では、名刺、請求書、レシートなどの電子イメージは、デジタル・イメージング・デバイス１６４などのソースからローカルに、または例えばモデム１７２またはＬＡＮ１７１を介してリモート・ソースから取得することができる。このイメージは、前述および／または図１に図示の揮発性または不揮発性のメモリ・ストレージ媒体のいずれかに記憶されたファイルから取得することもできる。デジタル・イメージング・デバイス１６４は、例えば汎用または専用のスキャナ、写真複写機、デジタル・スチル・カメラ、またはデジタル・ビデオ・カメラを含むことができる。関心のある１つまたは複数のオブジェクトの電子イメージを取得するために他のタイプのイメージング・デバイスを使用することもできる。
【００２６】
Ｉ．  １つのイメージから複数のオブジェクトをセグメント化すること
光学式スキャナおよび他のイメージング・デバイスは、（テキスト、図、写真などの）印刷情報を含むオブジェクトを獲得し、この情報をコンピュータが使用できるデジタル形式に変換するために使用される。一般に、ユーザは、スキャンすべきオブジェクトをスキャナのプラテン（platen）上に配置する。スキャナ・ヘッドが、プラテン区域上で通過させられ、結果としてのイメージが、複数のピクセルへと分割される。各ピクセル・ロケーションには、このピクセルのカラーまたは明暗度に依存する値が割り当てられる。次いで、（ビットマップと呼ばれる）結果としてのビット・マトリクスは、ファイル中として格納し、モニタ上に表示し、ソフトウェア・アプリケーションによって操作することができる。
【００２７】
前述のように、ユーザには、複数のオブジェクトをスキャンする必要がしばしばある。実施例として、ユーザは、複数の名刺、請求書、またはレシートをスキャンしたいと望むこともある。時間を節約するためには、一度に複数のオブジェクトをスキャンすることが望ましい。したがって、ユーザは、このスキャナのプラテン上に複数のオブジェクトを配置し、これらのオブジェクトを１回のパスでスキャンすることになる。ユーザは、オブジェクトごとにこのスキャナ・プラテン上にこれらのオブジェクトを配置し、そのふたを閉め、スキャニング・ソフトウェアを用いてインターフェースするプロセスを反復する必要がないので、これによって時間もエネルギーも共に節約される。
【００２８】
複数のオブジェクトを同時にスキャンすることに伴う１つの問題は、このオブジェクトがこのスキャン・イメージ中で、１つのビットマップとして表されるということである。これは、このスキャン済みのイメージが、ファイルとして保存され、モニタ上に表示され、あるいはソフトウェア・アプリケーションによって操作されるときに、このイメージが、１つのイメージまたはオブジェクトと見なされることを意味する。しばしばユーザは、各オブジェクトを個別のファイルとして保存したいと思うことがある。一部のスキャニング・アプリケーションは、ユーザが、各オブジェクトの境界を手動で選択し、このオブジェクトを個別のファイルとして保存することを可能にする。しかし、スキャン・イメージ内で各オブジェクトを手動で分離するこのプロセスは、繰り返しが多く、退屈で、時間のかかるプロセスである。
【００２９】
したがって、本発明の一実施形態は、スキャン済みのイメージから複数のオブジェクトを検出し抽出するための簡単でロバスト（robust）システムおよび方法を提供する。このシステムおよび方法は、ユーザがスキャナ上で複数のオブジェクトを配置できるようにし、このスキャナ上のオブジェクト数を認識し、ユーザが各オブジェクトを別のファイルとして、記憶したいかどうかについてユーザに問い合わせすることを可能にし、あるいは別々の電子フォームに取り込むために使用される。かかるシステムおよび方法は、このスキャンニング・プロセスをより速やかでより効率的なものにし、このスキャン済みのイメージ中の各オブジェクトを手動でセグメント化する負担から、ユーザを解放する。
【００３０】
Ａ．システムの概要
本明細書中で説明しているこのオブジェクトの検出および抽出のシステムおよび方法は、デジタル・イメージ・データ内で所望のオブジェクトを自動的に見つけ出し、他のオブジェクトおよび任意のバックグラウンドからこれらの所望のオブジェクトを分離することができる。これによって、単一のパスで複数のオブジェクトをスキャンする利点を依然として保持しながら、各オブジェクトがそれ自体の個別のオブジェクトであると見なすことができるようになる。したがって、各個別のオブジェクトは、それ自体のファイルとして保存することができ、またこのスキャン・イメージ中に含まれる他のオブジェクトとは独立にソフトウェア・アプリケーションによって個別に操作することもできる。例えば、このシステムおよび方法は、フラットベッド・スキャナ（flatbed scanner）の単一パスによってスキャンされる際に、互いに隣接して配置されている複数の名刺を識別することができる。
【００３１】
一般的に言って、このオブジェクトの検出および抽出のシステムおよび方法は、形状が知られているがサイズ、オリエンテーション（向き）および個数が知られていないオブジェクトを検出し、抽出することができる。これは、オブジェクトの各方向、すなわち次元に沿った「イメージ・ファンクション（イメージの変化する様子）」を明確化することによって部分的に達成される。このイメージ・ファンクションは、原本のイメージ中のデータのファンクションであり、このデータを表している。１例として、イメージが、複数の長方形の２次元（２−Ｄ）オブジェクトを含んでいるものと想定する。さらにこのイメージ中に存在する長方形オブジェクトの数、ならびに各オブジェクトのサイズ、オリエンテーション（向き）および位置を決定することが望ましいものと想定する。この情報を決定するために、このオブジェクトの検出および抽出のシステムおよび方法は、２つの結合された１次元（１−Ｄ）のイメージ特性ファンクションを明確化する。これらのファンクションから、オブジェクト数、ならびにそれらのサイズ、オリエンテーション（向き）および位置を、多くの場合、決定することができる。
【００３２】
各イメージ・ファンクションは、ある種の要件を有している。所望のタイプの１つのオブジェクトしかこのイメージ中に存在しないときには、１つの要件は、このファンクションが特定の認識可能な特性を有するはずだということである。例えば、このオブジェクト・タイプが、長方形であり、このオブジェクトの特性ファンクションが、（データ・ピクセルと呼ばれる）このオブジェクト内に配置される特定の方向に沿ったピクセルの総数である場合、この認識可能な特性は、このファンクションが台形（trapezoid）であるということである。もちろん他の所望のオブジェクト・タイプおよび他のオブジェクト特性ファンクションは、他の認識可能な特性をもたらすことになる。一般的に、この認識可能な特性は、形状であるが、他の実施形態においては、この特性が、例えばピクセル・カラーまたはピクセルの強度（intensity）であることもある。
【００３３】
このオブジェクト特性ファンクションは、２つ以上の異なる方向に沿って算出され、このデータ・ピクセル中のどこかにギャップまたはディスパリティ（disparity）が存在する場合、このイメージは、複数のサブ・イメージへと分割される。これらのギャップは、この方向のうちの１つに沿ったその位置において所望のオブジェクトが存在しないことを示している。このサブ・イメージのサブ分割は、このオブジェクト特性ファンクションの認識可能な特性が２つの可能性のうちの一方を示すまで反復式に継続される。第１の可能性は、サブ・イメージが、（１つの長方形の名刺など）１つの所望のオブジェクトを含んでいることである。他方の可能性は、１つの所望のオブジェクトを見出すことができず、さらなるサブ分割が可能ではないことである。後者が起こる場合には、このシステムは、この所望のオブジェクトの完全な数、サイズ、オリエンテーション（向き）および位置を決定することができないことをユーザに通知する。
【００３４】
Ｂ．イメージ処理システム
図２は、前述のこのオブジェクトの検出および抽出のシステムおよび方法を組み込んだイメージ処理システム２００の実装形態の一例を示す全体ブロック図である。一般的に言うと、デジタル・イメージ・データは、オブジェクトの検出および抽出システム２０２によって処理されて、このデジタル・イメージ・データ中に含まれるオブジェクト数、ならびに各オブジェクトのサイズ、オリエンテーション（向き）および位置が決定される。このシステム２０２は、これを、各オブジェクトの境界を決定し、これらのオブジェクトを自動的に別々のイメージ・オブジェクトに分離することによって、達成する。このことは、ユーザが手間暇をかけて各オブジェクトの手動分離を実施しなくても済むようにする。
【００３５】
ユーザは、（フラット・ベッド・スキャナや図１中の他のデジタル・イメージング・デバイス１６４などの）スキャニング・デバイス２０６のプラテン２０４上に（名刺やレシートなど）複数のオブジェクトＯ（１）、Ｏ（２）、およびＯ（３）を配置する。図２に示す破線は、このプラテン２０４がスキャニング・デバイス２０６上に収容されることを示している。次いでユーザは、プラテン２０４上に配置されたオブジェクトをスキャンし、デジタル・イメージ・データ２１０が取得される。このデジタル・イメージ・データ２１０は、各オブジェクト（Ｏ（１）、Ｏ（２）、およびＯ（３））、ならびにバックグラウンド・データ２１２を含む１つのデジタル・イメージである。図２においてハッチングされた線によって示されるバックグラウンド・データは、一般的にこのスキャニング・プロセス中にプラテン２０４を覆うスキャニング・デバイス２０６のふた（図示せず）のカラーを表す。この実装形態の一例では、このバックグラウンドのカラーが、知られており、あるいは推定したり、または決定したりすることができることを想定している。
【００３６】
オブジェクト検出および抽出システム２０２は、図１に示すコンピューティング環境１００などの内部のコンピューティング・デバイス２１４上に配置される。以下で詳細に説明するように、デジタル・イメージ・データ２１０は、オブジェクト検出および抽出システム２０２に送られ、処理される。オブジェクト検出および抽出システム２０２は、デジタル・イメージ・データ２１０内の各オブジェクト（Ｏ（１）、Ｏ（２）、およびＯ（３））を見つけ出し、このデータ２１０から各オブジェクトを抽出する。抽出されると、これらのオブジェクトは、他のオブジェクトおよびバックグラウンド・データ２１２から切り離された個別のイメージ・オブジェクトとして処理することができる。
【００３７】
Ｃ．オブジェクト検出および抽出システム
オブジェクト検出および抽出システム２０２は、図３に示すいくつかのプログラム・モジュールを含んでおり、これらは、このシステムが、デジタル・イメージ・データ２１０中の１つまたは複数のオブジェクトを互いに自動的に区別できるようにする。オブジェクト検出および抽出システム２０２は、データ・ピクセル検出モジュール３００、セグメンテーション・モジュール３１０、および単一オブジェクト抽出モジュール３２０を含んでいる。
【００３８】
（図２に示すイメージ・データ２１０などの）イメージ３３０は、データ・ピクセル検出モジュール３００が受け取り、モジュール３００は、このイメージ内の各ピクセルを解析し、分類して、ピクセル・データ３４０を取得する。このピクセル・データ３４０は、ピクセルがデータ・ピクセルか、それともバックグラウンド・ピクセルかなどの情報を含んでいる。データ・ピクセルは、イメージ３３０内に配置されたこれらのオブジェクトのうちのいずれかの内部に配置されたピクセルである。他方、バックグラウンド・ピクセルは、これらのオブジェクトの外部にあり、バックグラウンド中に存在するピクセルである。さらに、ピクセル・データ３４０は、イメージ３３０の２方向以上に沿ったデータ・ピクセル数などの情報を含んでいる。このデータ・ピクセル検出モジュールは、イメージ・ファンクションを明確化して、このピクセル・データを処理する。例えば、このイメージ・ファンクションがこのイメージの方向に沿ってこのデータの総和を取るように定義されている場合には、ピクセル・データ３４０は、イメージ３３０を記述する座標系の１軸に沿ったデータ・ピクセル数と、この座標系の別の軸に沿ったデータ・ピクセル数とを含むことになる。
【００３９】
次に、ピクセル・データ３４０は、セグメンテーション・モジュール３１０へと送られる。セグメンテーション・モジュール３１０は、このイメージ・ファンクションおよびピクセル・データ３４０中に何らかのディスパリティまたはギャップが存在するかどうかを決定する。以下で詳細に説明するように、これらのディスパリティは、通常、（周囲領域に対して）ほとんどデータ・ピクセルが存在しないか、どんなものであれデータ・ピクセルが存在しない、イメージ３３０中の領域である。次いで、ディスパリティが見出されたかどうかに基づいてイメージ３３０を分割することができるかどうかが決定される（ボックス３５０）。見出された場合には、イメージ３３０は、分割することができ、この対応するディスパリティに沿って分割される。このことは、イメージ３３０を複数の部分またはサブ・イメージに切断する結果を生じさせる（ボックス３６０）。次いで、各サブ・イメージは、処理するためにデータ・ピクセル検出モジュール３００へとサブミットされ（ボックス３７０）、イメージ３３０がイメージ３３０の一部分（すなわち、各サブイメージ）によって置き換えられた状態で、再帰プロセスが開始される。各サブ・イメージについてのこの反復プロセスは、このサブ・イメージが１つのオブジェクトしか含まなくなるまで、またはこのサブ・イメージの分割がさらに可能でなくなるまで、継続される。この第１の状況においては、このサブ・イメージは、処理するために単一オブジェクト抽出モジュール３２０に送られる。この第２の状況においては、このシステムおよび方法は、このサブ・イメージ中のオブジェクトの数、サイズ、オリエンテーション（向き）および位置を決定できないことをユーザに通知する。しかし、このシステムおよび方法が非常に堅牢（robust）であるので、この後者の状況は、まれにしか起こらない。したがって、この方法は、このイメージをサブ・イメージに再帰的に分解することによって、各オブジェクトの所在を突き止め、分離する。この分解は、各サブ・イメージが１つのオブジェクトを含み、またはさらに分解できなくなるまで継続される。
【００４０】
前述のように、ディスパリティが存在しない場合には、この分割できないイメージ３３０の部分が単一オブジェクト抽出モジュール３２０に送られる。単一オブジェクト抽出モジュール３２０は、イメージ３３０を処理し、その結果、イメージ３３０内のオブジェクトが検出され抽出され、イメージ３３０中のオブジェクトについての数、サイズ、オリエンテーション（向き）および位置が求められる。この抽出されたオブジェクト３８０は、オブジェクト検出および抽出システム２０２から出力される。例えば、この抽出済みのオブジェクトは、この全体イメージ３３０内の１枚の名刺またはレシートのサブ・イメージを可能性がある。
【００４１】
図４は、図３に示す単一オブジェクト抽出モジュール３２０の詳細を示すブロック図である。一般に、単一オブジェクト抽出モジュール３２０は、１つのオブジェクトを含むかまたは全くオブジェクトを含まないサブ・イメージを検査し、存在する場合には、このオブジェクトの所在を突き止める。このモジュール３２０は、そのサブ・イメージがそれ以上分割できないと決定された後にこの主要イメージ３３０からの各サブ・イメージを処理する。または、主要イメージ３３０が分割できないと決定される場合には、モジュール３２０は、この主要イメージを処理する。
【００４２】
単一オブジェクト抽出モジュール３２０は、ピクセル解析モジュール４００、検証モジュール４１０、およびオブジェクト・ロケーション出力モジュール４２０を含んでいる。１つのオブジェクトを含む可能性があるサブ・イメージ４３０は、ピクセル解析モジュール４００が受け取り、ピクセル・データを生成する。このピクセル・データに基づいて、サブ・イメージ４３０内のオブジェクトのロケーションの推定座標が算出される。この推定座標は、検証モジュール４１０に送られる。検証モジュール４１０は、各推定座標を、サブ・イメージ４３０がその部分となっている主要イメージ３３０と比較する。イメージ３３０は、サブ・イメージ４３０と同じになり得る可能性があることに留意されたい。この比較を使用してこれらの推定座標のうちのどれがイメージ３３０と正しく適合しそうかどうかを決定し、サブ・イメージ４３０中におけるオブジェクトの存在を検証する。正しそうな適合が見出される場合には、この正しい座標が、オブジェクト・ロケーション出力モジュール４２０に送られ、次いで出力として送られる（ボックス４４０）。これらの座標により、サブ・イメージ４３０からこのオブジェクトを分離し、抽出することができる。正しそうな適合が見出されない場合には、オブジェクト・ロケーション出力モジュール４２０は、検証モジュール４１０によって、このことについて通知される。この場合、オブジェクト・ロケーション出力モジュール４２０は、この１つのオブジェクトの座標を出力しないが、その代わりにサブ・イメージ４３０中にはオブジェクトを見出すことができなかったことを述べるメッセージを出力する。
【００４３】
Ｄ．オブジェクト検出および抽出システムの全般的なフロー
図５は、本発明の一実施形態による、図２〜４に示すオブジェクト検出および抽出方法の詳細の一実施例を示す流れ図である。ステップ５００においてイメージを受け取る。ステップ５０１において、第１の方向のデータ・ピクセル数を算出して第１のデータ・セットを生成する。同様にして、ステップ５０２において、第２の方向のデータ・ピクセル数を算出して第２のデータ・セットを生成する。一実施例として、このイメージは、一般的にピクセルの行および列を含む長方形のスキャン・イメージである。イメージ・ファンクションは、１方向のデータ・ピクセルの総和として定義することができる。この状況においては、行中のデータ・ピクセル数が、このイメージ中の行ごとに算出される。同様にして、列中のデータ・ピクセル数が、このイメージの列ごとに算出される。第１のデータ・セットは、このイメージの各行上のデータ・ピクセルの分布を含み、第２のデータ・セットは、このイメージの各列上のデータ・ピクセルの分布を含んでいる。
【００４４】
次にステップ５０３において、ステップ５０４においてディスパリティ領域が存在するかどうかを決定するために、この第１および第２のデータ・セットが調べられる。これらのディスパリティ領域、すなわちギャップは、データ・ピクセルがほとんどないかまたは全く存在しないイメージ中の区域である。ディスパリティが存在する場合には、ステップ５０５においてデータ・ディスパリティ線がディスパリティ領域に沿って確定される。例えば、このイメージ中のある行がデータ・ピクセルを含んでいない場合には、データ・ディスパリティ線がこの行に沿って確定される。ステップ５０６において、このデータ・ディスパリティ線に基づいて、このイメージは、サブ・イメージへと分割され、またはセグメント化される。これらのサブ・イメージが作成されると、これらのサブ・イメージは、その由来する入力イメージと切り離された別のイメージとして取り扱われる。次いで、ステップ５０７において各サブ・イメージは、この場合にも個別に処理される。したがって、ボックス５０１〜５０６は、サブ・イメージごとに反復プロセスにおいて反復される。
【００４５】
ステップ５０４において処理中のサブ・イメージの１つにディスパリティが存在していない場合には、このサブ・イメージは、この場合にも個別に処理される。この処理は、ステップ５０８において、この第１の方向の、このサブ・イメージ内のデータ・ピクセル数を算出して第３のデータ・セットを生成すること、ステップ５０９において、この第２の方向のデータ・ピクセル数を算出して第４のデータ・セットを生成すること、を含む。
【００４６】
この方法の最初の（または第１の）反復においてディスパリティが見出されない場合には、ボックス５０８および５０９は、実施する必要がないことに留意されたい。これは、この第１の方向のデータ・ピクセル数と、この第２の方向のデータ・ピクセル数とがボックス５０１および５０２においてこのイメージについてすでに算出されているという理由による。これについては、図５において、ステップ５０８および５０９を囲む破線のボックスによって示されている。
【００４７】
このピクセル・データが算出された後に、ステップ５１０においてこのデータの変曲点（inflection point）を使用して、このオブジェクトの潜在的な座標が決定される。このピクセル・データに対応する複数のオブジェクトが存在する可能性がある。この理由から、ステップ５１１において、この潜在的な座標をその入力イメージに対して検査して、これらの潜在座標のうち（もしあれば）どれがこの入力イメージと正しく適合しそうかを決定する。ステップ５１２における決定が肯定的であり、１組の潜在的な座標が正しく適合しそうである場合には、ステップ５１３において、これらの座標が出力として送り出される。このイメージ内の１つのオブジェクトの座標およびロケーションが分かった後に、このオブジェクトをこのイメージから分離し抽出することができる。このイメージに対するこの潜在的な座標が正しく適合しそうでない場合には、ステップ５１４において、このイメージ中でオブジェクトを見出すことができないと決定される。
【００４８】
Ｅ．動作例
このオブジェクト検出および抽出方法の詳細を例証するために、次に２つの動作例を提示することにする。
【００４９】
１．１つのオブジェクトの例
図６は、スキャン・イメージ（scanned image）６０２を備えるオブジェクト６００を示している。この動作実施例において、このオブジェクト６００は、レシートなどの長方形オブジェクトである。オブジェクト６００は、長方形など、あらかじめ確定された形状を有することを想定している。しかし、オブジェクト６００のサイズ、オリエンテーション（向き）、および位置については未知である。
【００５０】
このオブジェクトを抽出する際における第１のステップは、スキャン・イメージ６０２中の各ピクセルをバックグラウンド・ピクセルまたはデータ・ピクセルとして分類することである。この動作実施例においては、この分類は、各ピクセルのカラーを検査することによって実施される。バックグラウンド・ピクセルは、このオブジェクト６００の外部に位置しているピクセルである。他方、データ・ピクセルは、このオブジェクト６００内に位置しているピクセルである。このバックグラウンドｂのカラー（すなわち、このオブジェクト６００の外部のピクセルの値）は、知られており、または推定することができるものと、想定する。さらに、オブジェクト６００内のピクセルの少なくとも大多数が、しきい値（threshold）量を超える分だけｂとは異なるものと想定する。数学的観点では、スキャン・イメージ６０２中において、
｜Ｉｍ（ｉ，ｊ）−ｂ｜＞しきい値
が成り立つどのピクセルも、データ・ピクセルとして確定され、他のすべてのピクセルは、バックグラウンド・ピクセルとして確定される。データ・ピクセルとバックグラウンド・ピクセルとを区別するためにグレースケール法ではなくてカラーを使用することができること、この決定が、単一しきい値の使用よりもより複雑な方法に基づくことが可能なこと、に留意されたい。
【００５１】
次に、スキャン・イメージ６０２上で設定される（複数の）軸を使用して、これらのデータ・ピクセルの総和が求められる。この動作例においては、ｉ−軸が水平方向（すなわち、横行）に対応し、ｊ−軸が垂直方向（すなわち、縦列）に対応するように、２次元の直交座標系６０４がこのスキャン・イメージ６０２上で設定された。第１に、各横行におけるデータ・ピクセル数が算出された。これは、Ｐ（ｊ）（ここでＰ（ｊ）は、横行またはｉ方向におけるイメージ・ファンクションである）として指定される固定されたｊ値についてのｉ−軸に沿ってデータ・ピクセル数を合計することによって達成された。これは、すべてのｊ値について実施される。Ｐ（ｊ）（ｊ番目の行のデータ・ピクセルの合計）についてのこの結果グラフが、第１の台形形状６２０である。第２に、各縦列のデータ・ピクセル数が、算出された。データ・ピクセル数は、Ｑ（ｉ）（ここでＱ（ｊ）は、列またはｊ方向におけるイメージ・ファンクションである）として指定される固定されたｉ値についてのｊ−軸に沿って合計された。これは、すべてのｉ値について実施される。Ｑ（ｉ）（ｉ番目の行のデータ・ピクセルの合計）についてのこの結果グラフが、第２の台形形状６３０である。
【００５２】
次いで、初歩の幾何学が、この第１および第２の台形形状６２０および６３０に対して使用された。この幾何学的配置から、Ｐ（ｊ）のグラフのトップ部分が、ｘ  ｃｏｓ（ｔｈｅｔａ）に等しく、Ｑ（ｉ）のグラフのトップ部分がｙ  ｓｉｎ（ｔｈｅｔａ）に等しく、式中でｘおよびｙは、オブジェクト６００の寸法であり、ｔｈｅｔａ（シータ）は、オブジェクトが向いている角度である。このオブジェクト６００のコーナは、４つの座標点（ｇ，ａ）、（ｈ，ｃ）、（ｆ，ｄ）および（ｅ，ｂ）であり、これらは、この第１の台形形状Ｐ（ｊ）および第２の台形形状Ｑ（ｉ）の変曲点に対応する。
【００５３】
スキャン・イメージ中のオブジェクトが、Ｐ（ｊ）（第１の台形形状６２０）の同じグラフと、Ｑ（ｉ）（第２の台形形状６３０）の同じグラフを生じさせることになる別の状況が存在することに留意されたい。この可能性を図７に示す。この状況においては、第２のオブジェクト７００が、第２のスキャン・イメージ７０２内に配置される。この第２のオブジェクト７００は、図６に示す第１のオブジェクトと同じサイズを有しているが、逆のオリエンテーション（向き）になっている（すなわち、第２のオブジェクト７００は、角度（ｔｈｅｔａ）の代わりに角度（−ｔｈｅｔａ）の向きになっている）。第２のオブジェクト７００は、座標（ｈ，ｂ）、（ｇ，ｄ）、（ｅ，ｃ）および（ｆ，ａ）を有しており、この同じ台形形状６２０および６３０を生成することになる他のただ１つの可能なオブジェクトである。
【００５４】
この単一オブジェクトのケースにおいては、第１のオブジェクト６００または第２のオブジェクト７００のどちらかが、スキャン・イメージ６０２および７０２の状態で、存在すると決定することができる。しかし、どちらのオブジェクトが存在するかについては検査を行う必要がある。どちらのオブジェクトが存在するかを決定するためには、このスキャン・イメージ・データに対して、各オブジェクトについての頂点が検査される。次いで、このデータに最もよく適合するオブジェクトが使用され、他方のオブジェクトは切り捨てられる。換言すれば、各長方形を解析して、そのサイズ、位置およびオリエンテーション（向き）の長方形が、｜Ｉｍ（ｉ，ｊ）−ｂ｜がその指定されたしきい値よりも大きいピクセルのほとんどすべてを、実際に含んでいることを決定する。１つのしきい値を使用してデータ・ピクセルおよびバックグラウンド・ピクセルを区別するケースが実施例として使用される。より複雑な方法、例えば、グレースケール・イメージの状態の単一色の代わりにカラーイメージの状態の３色カラーのすべてを使用するより複雑な方法は、より優れた結果をもたらすことができる。
【００５５】
２．複数のオブジェクトのケース
単一オブジェクトのケースについて以上で開示したオブジェクト抽出方法は、複数オブジェクトのケースにも拡張することができる。一般的に言えば、これは、複数のオブジェクトのケースを複数の単一オブジェクトのケースに分解するものであり、この単一オブジェクトのケースは、前述のように解決することができる。図８に示すように、この第２の動作例においては、スキャン・イメージ８００は、複数のオブジェクト、すなわち第１のオブジェクト８０１、第２のオブジェクト８０２、および第３のオブジェクト８０３を含んでいる。この複数のオブジェクトのケースにおいては、以上で開示したものと同じオブジェクト抽出方法が使用されるが、再帰的方法で行われる。
【００５６】
具体的には、単一オブジェクトのケースと同様にスキャン・イメージ８００中の各ピクセルは、データ・ピクセルまたはバックグラウンド・ピクセルのどちらかに分類された。この分類は、ピクセル・カラーに基づいて実施された。次に、イメージは、ある一方向におけるデータ・ピクセルの合計として定義された。この動作実施例においては、軸に沿ってのデータ・ピクセルの合計が算出され、Ｐ（ｊ）（ｊ番目の行におけるデータ・ピクセルの合計）についての結果グラフは、第１の台形形状８１０であり、Ｑ（ｉ）（ｉ番目の行におけるデータ・ピクセルの合計）についての結果グラフは、第２の台形形状８１２である。このスキャン・イメージ８００が複数のオブジェクトから構成されるこのケースにおいては、数量Ｐ（ｊ）およびＱ（ｉ）は、個々のオブジェクトのそれぞれによって生成された台形形状の合計からなる、ことに留意されたい。
【００５７】
何らかの簡略化なしには、台形形状８１０および８１２のパラメータを推定することは難しいはずである。しかし、第１の台形形状８１０においては、このＰ（ｊ）グラフが、ｊ０においてディスパリティ（またはギャップ）を有し、このｊ０は、このデータ中でＰ（ｊ）がゼロに等しくなるロケーションであることに留意されたい。これは、このロケーションには、イメージ・データがないことを示しており、したがってスキャン・イメージ８００の行ｊ０より上および下の部分は、別々に取り扱われる。このことを利用して、このオブジェクト検出および抽出方法は、スキャン・イメージ８００を、２つのサブ・イメージ、すなわち（１）上部サブ・イメージ８２０（ｊ０より上の行）、および（２）下部サブ・イメージ８２２（ｊ０より下の行）へと分割する。
【００５８】
スキャン・イメージ８００が分割された後に、前述のこのオブジェクト検出および抽出方法をこの場合にも使用して、サブ・イメージ８２０および８２２のそれぞれを処理する。特に、両方の方向におけるイメージ・ファンクション（Ｐ（ｊ）およびＱ（ｉ））が、上部サブ・イメージ８２０上および下部サブ・イメージ８２２上で算出される。図８を参照すると、上部サブ・イメージ８２０は、この問題が前述の単一オブジェクトのケースに分解されるような単一の長方形（第１のオブジェクト、８０１）を含んでいることが分かる。したがって、第１のオブジェクト８０１の座標は、単一オブジェクトのケースについて前述した方法を使用することによって見出される。
【００５９】
下部サブ・イメージ８２２は、第２のオブジェクト８０２および第３のオブジェクト８０３を含んでいる。このオブジェクト検出および抽出方法の別の反復を実施して、下部サブ・イメージ８２２内の各ピクセルが、ピクセル・カラーに基づいてデータ・ピクセルまたはバックグラウンド・ピクセルのどちらかとして分類される。この反復についての処理を図９に示す。具体的には、Ｐ（ｊ）およびＱ（ｉ）についての量が算出された。Ｐ（ｊ）についての結果グラフは、第１の台形形状８３０であり、Ｑ（ｉ）についての結果グラフは、第２の台形形状８３２である。図９に示すように、Ｑ（ｉ）にはロケーションｉ１においてデータディスパリティ（またはギャップ）が存在する。これは、下部サブ・イメージ８２２は、ｉ１の左側のこれらの列（左のサブ・サブイメージ８３４）、およびｉ１の右側のこれらの列（右のサブ・サブイメージ８３６）を取ることによってサブ・イメージにさらに分割することができることを示している。
【００６０】
Ｆ．擬似コードの実施例
一実施例として限定するものではないが、以下の擬似コードは、このオブジェクト検出および抽出方法の可能な一実装形態を記述するものである。  
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)  
これは、イメージ領域上でＰ（ｊ）、Ｑ（ｉ）を算出するルーチンである。  
[gapsi, gapsj]=getGaps(P, Q)  
これは、Ｐ（ｊ）、Ｑ（ｉ）中で任意のギャップの位置を決定する。図６におけるこのイメージに対する応答は、gapsi=[0, imax]およびgapsj[0, jmax]となり、図８に対しては、gapsi=[0, imax]およびgapsj=[0, j0jmax]とな。  
drawObject(Im, P, Q)  
これは、各台形についてのＰ（ｊ）、Ｑ（ｉ）を検査し、これらのパラメータを推定し、どの長方形がこのデータに適合するかどうかを決定する。適合する場合、グローバル・リストに頂点を追加する。
【００６１】
Ｇ．実装の課題
以上の説明では、バックグラウンド・ピクセルとデータ・ピクセルの間に混同がないことを想定している。この理想的な状況においては、グラフＰ（ｊ）およびＱ（ｉ）によって形成される台形は、理想的な台形となることになり、自信を持って簡単にこの変曲点を決定することができる。
【００６２】
しかし実際には、すべてのピクセルを正確に分類することが可能でないこともある。この不正確さは、これらの台形が例えばノイズに起因して理想的なものとは異なる可能性があるという結果をもたらす。しかし、幸いに、これらのイメージ・ファンクション（Ｐ（ｊ）およびＱ（ｉ））がある方向のすべてのピクセルについての総和を取ったものとして定義されるので、これらのＰ（ｊ）ファンクションおよびＱ（ｉ）ファンクションは本来、堅牢なものとなる。さらに、これらの台形のトップ・ラインは、一般的に最も共通の値（common value）であるので、これはヒストグラムから堅牢に推定することが容易である。次いで、変曲点は、この共通の値のしきい値内にあるポイントとして推定することができる。さらに、これらのＰ（ｊ）ファンクションおよびＱ（ｉ）ファンクション内にデータ・ディスパリティまたはギャップが存在するかどうかを決定する際に、このノイズまたはバックグラウンド・カラーの誤推定により、Ｐ（ｊ）およびＱ（ｉ）が正確にゼロには等しくなることは殆どない、ということが通常である。
【００６３】
この動作例中で使用されるこれらのイメージ・ファンクション（Ｐ（ｊ）およびＱ（ｉ））は、複数の異なる方向におけるデータ・ピクセルの総和として定義されたが、他の定義を使用することもできることに留意されたい。実施例として、イメージ・ファンクションＲ（ｊ）は、「最右部データ・ピクセルの列位置マイナス最左部データ・ピクセルの列位置」に等しいように定義することができ、また別のイメージ・ファンクションＳ（ｉ）は、「最上部データ・ピクセルの行位置マイナス最下部データ・ピクセルの行位置」に等しいように定義することもできる。この状況においては、Ｒ（ｊ）およびＳ（ｉ）もまた、このオブジェクト検出および抽出方法が効率的に動作することを可能にすることになる。実際に、ノイズがない場合に、このイメージが単一長方形オブジェクトからなるときには、Ｐ（ｊ）＝Ｒ（ｊ）およびＱ（ｉ）＝Ｓ（ｉ）となることに留意されたい。
【００６４】
サブ・イメージ中で単一オブジェクトを見出す特定のアプローチは、可能性のある多数のアプローチのうちのただ１つに過ぎないことに留意されたい。サブ・イメージが単一オブジェクトしか含まないと決定された後には、他の多くのアプローチが、満足な結果をもたらすことができる。
【００６５】
Ｈ．追加の実施形態
一実施形態においては、このオブジェクト検出および抽出プロセスは、このイメージのサブ・サンプリングされた（sub-sampled）バージョンに対して適用される。このイメージのサブ・サンプリングされたバージョンを使用する利点は、これによってハイレゾリューション（high resolution）イメージ・データの処理が回避できること、にある。
【００６６】
他の実施形態においては、サブ・イメージがおそらく単一オブジェクトしか含んでいないと決定された後に、フィティング・アルゴリズムを使用してこれらＰ（ｊ）ファンクションおよびＱ（ｉ）ファンクションに対する台形の最良適合を推定する。次いで、このデータに最良に適合する台形の変曲点（またはニー・ポイント（knee point））を使用してこのオブジェクトの頂点の推定値を形成する。
【００６７】
さらに他の実施形態においては、サブ・イメージ中のこの単一オブジェクトの頂点の推定値が見出された後に、このサブ・イメージのコンテンツに対する単一オブジェクトの最良適合が決定される。これは、このサブ・イメージ中の実際のデータとこの提案された適合長方形の間の平方平均値（または他のメトリック）を最小にする長方形オブジェクトを決定する技法を使用することによって達成される。
【００６８】
さらに他の実施形態においては、このスキャナ・プラテンのバックグラウンド・カラーを自動的に決定できると判明しない場合に、ユーザは、マウスなどのポインティング・デバイスを用いてバックグラウンド・ピクセルを指し示してこのプロシージャを支援することができる。
【００６９】
他の実施形態においては、このアルゴリズムがオブジェクトを正しくセグメント化するのに失敗した場合に、ユーザは、このオブジェクトの境界またはコーナを示してこのプロシージャを支援することができる。
【００７０】
ＩＩ．光学式文字認識および各セグメント化オブジェクトのクラスタリング（clustering）
（図２に示す）オブジェクト検出および抽出システム２０２が各識別オブジェクトの座標を出力し、これらのオブジェクトがその全体イメージから抽出された後に、各オブジェクトのイメージを処理して、このオブジェクト中に含まれる有用な情報要素を識別することができる。次いで、アドレス帳への連絡先エントリや経費報告書へのエントリなど関連する電子フォームに入力する際にユーザを支援するために、これらの情報要素を、クラスタ化して、モジュールに提供することができる。
【００７１】
図１０は、本発明の一実施形態による、情報要素を識別しこれらの要素をクラスタ化するための方法９００を示すフローチャートである。ステップ９０１において、オブジェクト検出および抽出システム２０２に依って識別された個々のオブジェクトが、その全体イメージから抽出される。一実施形態においては、各オブジェクトは任意のオリエンテーション（向き）の長方形である。これらの長方形は、名刺、レシートまたは他のタイプのオブジェクトに対応することが可能である。
【００７２】
ステップ９０２において、各オブジェクトは、回転されて上下正しく水平に向けられる。前述のように、これらのオブジェクトは、そのスキャナ上にランダムに、上下正しく、横向きに、上下が逆さまに、あるいはこれらの間の任意の角度になど、任意のオリエンテーション（向き）に配置することができる。
【００７３】
ステップ９０３において、回転済みの各オブジェクトのイメージは、すべての４つの直交するオリエンテーションで光学式文字認識（ＯＣＲ）モジュールを使用して処理される。ここで、このオブジェクトは、念のために、ステップ９０２において上下が逆さまに、または横向きに、回転されている。これらのオリエンテーションは、想定されている上下正しい水平の位置から、０度、９０度、１８０度および２７０度回転されたオリエンテーションを含んでいる。ステップ９０３は、テキスト・コンテキストおよびロケーション情報に加えて、オブジェクトのオリエンテーションを決定するために使用される。このステップ９０３の出力は、このオブジェクト上の認識済みのテキスト・ブロックおよびその２次元（２−Ｄ）ロケーションのリストである。
【００７４】
このテキスト・ブロックは、アルファ・ニューメリック・キャラクタや他の記号のストリングなど、任意の情報要素を含むことが可能である。これらの要素は、ワード、数字、他のグラフィック情報など任意の使用可能な形態でも取ることができる。
【００７５】
ステップ９０４において、ステップ９０２で認識されたテキスト・ブロックが、テキスト領域を識別するためにクラスタ化される。テキスト領域の実施例は、１）（名刺の最上部などにおける）名前および肩書きと、２）自宅電話番号、職場電話番号および携帯電話番号、ならびにファクシミリ情報と、３）電子メールおよびウェブＵＲＬ情報と、４）ロゴおよび会社名、などを含んでいる。これらのテキスト領域は、これらの領域内のワードについてのワード間のスペーシングが、異なるテキスト領域間のスペーシングと比べると、平均的にずっと小さくなっていることによって特徴づけられる。これらのテキスト領域は、オーバーラップしていない。ワードをテキスト領域内にクラスタ化するプロセスについては、図１１を参照して以下でさらに詳細に説明している。
【００７６】
ステップ９０５において、特定のオブジェクトについてのテキスト領域は、適切なテキスト領域区切り記号（text region delimiter）を用いて単一ストリームのテキストにシリアル化される。例えば、このテキスト領域は、このオブジェクトの左上コーナからこのオブジェクトの右下コーナへの順序でシリアル化することができる。このテキスト領域区切り記号は、例えば改行または段落の切れ目を含むことができる。次いで、このクラスタ化されシリアル化されたテキスト領域は、アドレス帳における連絡先レコードなど関連する電子フォームへの入力に使用するために、支援フォーム・フィリング・モジュール（assisted form-filling module）へと渡される。
【００７７】
図１１は、図１０のステップ９０４内のテキスト領域のワードをクラスタ化するための方法を示すフローチャートである。前述のように、図１０のステップ９０３において識別されたワードは、テキスト領域を識別するためにクラスタ化される。ステップ９１０において、この方法は、このオブジェクト内の最近接の２つのワードをテキスト領域として識別する。一実施形態においては、近接性は、このオブジェクト内のワードについての境界ボックス間のｘ距離およびｙ距離に基づいて確定される。これらの距離は、例えばユークリッド距離およびマンハッタン距離を表すことができる。ステップ９１１において、このクラスタリング・プロセスは、このテキスト領域に含まれるワードについての平均ｘ距離および平均ｙ距離を計算する。
【００７８】
ステップ９１２において、このクラスタリング・プロセスは、このテキスト領域に最近接するワードで、このテキスト領域中にまだ含まれていないワードを見つけ出す。テキスト領域とこのテキスト領域中に含まれていないワードとの間の距離の一例は、そのワードとこのテキスト領域中の任意のワードとの間の最小距離として確定される。別の例は、このワードとこのテキスト領域の境界ボックスとの間の距離である。
【００７９】
ステップ９１３において、このクラスタリング・モジュールは、この最近接するワードについてのこのテキスト領域までのｘ距離およびｙ距離が、このテキスト領域の平均ｘ距離と平均ｙ距離のある倍数よりも小さいかどうかを決定する。独立のファクタをこのｘ距離およびｙ距離について使用することができる。小さい場合には、ステップ９１４において、このワードがこのテキスト領域に追加され、このクラスタリング・モジュールはステップ９１２に戻る。小さくない場合には、このテキスト領域は、ステップ９１５においてこのオブジェクト上でこの１組のワードから抽出され、このクラスタリング・モジュールは、ステップ９１０に戻ってこのオブジェクト上に残っているワード内において２つの次の最近接するワードを見つけ出す。このプロセスは、このオブジェクト上のすべてのワードがテキスト領域中へとクラスタ化されてしまうまで反復される。
【００８０】
ＩＩＩ．支援フォーム・フィリング
次いで認識済みのテキスト・ブロックのこのクラスタ化されたテキスト領域は、フォーム・フィリング・モジュールで使用するために、図１に示すローカル・メモリ・デバイスまたはリモート・メモリ・デバイスのうちの一方など、タグ付けされていないメディア・データ・ストアに記憶される。
【００８１】
図１２は、本発明の一実施形態による、電子フォームの支援フォーム・フィリングを容易にするＦＦＩ（form filler interface；フォーム・フィラー・インターフェース）１００２を生成し、動作させるためのシステム１０００を示す図である。この例においては、このフォームは、アドレス帳の連絡先レコードである。このフォーム・フィリング・モジュールは、ユーザに対してフォーム・フィラー・インターフェース１００２を提示し、クラスタ化されたテキスト領域からのタグの付いていないデータをタグ付きデータ（例えば、ＸＭＬフォーマットのデータ）へと、またはデータベースへと転送することによって、このフォームに入力する際にこのユーザを支援する。（本明細書中では「コンピュータ画面」とも呼ばれる）ＦＦＩ１００２は、（本明細書中では「フォーム」とも呼ばれる）フォーム・データ・グラフィック・ユーザ・インターフェース（ＧＵＩ）１００４と、（本明細書中では「テキスト・ボックス」とも呼ばれる）オブジェクト・データＧＵＩ１００６とを備え、これらのＧＵＩは、ユーザの便宜のためにこのスクリーン上に互いに隣接して配置することができる。
【００８２】
フォーム・データＧＵＩ１００４は、各フィールドが、個々の情報部分（例えば、ラスト・ネーム、ファースト・ネーム、住所、郵便番号など）のために確保されるように複数のフィールド１００８を含んでいる。ステータス・インジケータ（status indicator）１０１０を各フィールド１００８に関連付けて、この特定のフィールドにおける現在の情報ステータスについてユーザに通知することができる。信頼度インジケータ（confidence indicator）１０１２も各フィールド１００８に関連付けて、フィールド１００８中の情報の正しさに関連する確率についてユーザに通知することもできる。さらに、フォーム・フィラー・インターフェース１００２は、処理中のオブジェクトのイメージ（図１２に図示せず）を表示することができる。
【００８３】
図１２に示すＦＦＩ１００２は、アドレス帳に連絡先情報を入力するためのインターフェースを例示している。最初にフォーム・データＧＵＩ１００４および空のテキスト・ボックス１００６が、ユーザに対して提示される。ユーザは、このデータストアからテキスト・ボックス１００６に、（例えば、この画面上の表示ウィンドウからカット・アンド・ペースト（cutting and pasting）を介して）このクラスタ化されたテキスト領域をコピーすることができる。代わりに、このフォーム・フィリング・モジュールは、この関連するオブジェクト（例えば、名刺、請求書またはレシート）から取得されたクラスタ化されたテキスト領域をテキスト・ボックス１００６に自動的に挿入することができる。この元のイメージが複数のオブジェクトを含む場合には、このフォーム・フィリング・モジュールは、例えばオブジェクトごとに１つの連絡先レコードを入力する。
【００８４】
このフォーム・フィリング・モジュールは、タグの付いていないオブジェクト・データを分類し、または解析して、テキスト・ボックス１００６中のオブジェクト・データ内の情報要素を識別しようと試みることができる。このオブジェクト・データが解析されると、このモジュールは、フォーム１００４のフィールド１００８にこれらの識別された要素を入力する。このテキスト・ボックス１００６中の、オリジナルのタグの付いていないオブジェクト・データと、フォーム１００４とは、画面１００２上に同時に表示することができ、その結果、今やタグ付きのオブジェクト・データが、（例えば、カラー・コーディングまたは他のビジュアル・インジケータ（visual indicator）を使用して）関連付けを視覚的に示すように、補強することができる。例えば、システム１０００は、紫色のカラーを使用して、テキスト中のある種の要素がフォーム１００４中の住所フィールドに取り込むために使用されたことを示すことができる。この例によれば、別のカラー（例えば、オレンジ色）を使用して、特定のテキストには潜在的に関心があるが、信頼度レベルがそのテキストをフィールドに割り当てるのに十分には高くないことをこのモジュールが決定していることを示すことができ、したがってユーザは、この特定のテキストを特定のフィールドに割り当てるべきかどうかを決定することができる。
【００８５】
本発明の一実施形態によれば、ユーザは、フォーム１００４の一部分に入力することができ、このフォーム・フィリング・モジュールは、テキスト・ボックス１００６中の使用可能なオブジェクト・データを検索し、可能性のあるフィールド・エントリ候補を突き止め、この突き止められた要素を表示し、このフォームの残っているフィールドに入力することができる。このようにして半自動フィリング（partial autofill）を実施することができる。
【００８６】
このフォーム・フィリング・モジュールが、名刺上の会社名などのテキスト・ブロックを正しく識別することに失敗する場合には、このモジュールがこのテキスト領域をクラスタ化してしまっている可能性がある。ユーザは、例えばポインティング・デバイスを使用してテキスト・ボックス１００６から適切なフィールド１００８へとこのテキスト・ブロックをドラッグすることができる。これは、レシートなどのドキュメントをスキャンするアプリケーションでは特に有用である。レシート上には、数字およびテキストの多数のブロックがある場合もあり、このうちでユーザは、ベンダ名、日付、最終金額、およびおそらく税金などのフィールドに入力することにしか関心がない。これらのテキスト領域が、クラスタ化され、テキスト・ボックス１００６に表示される限り、ユーザは、適切なテキスト・ブロックを適切なフィールドにドラッグすることができる。
【００８７】
ユーザは解析の正しさを速やかに検証することができる。この解析にエラーがある場合、ユーザは、テキスト・ボックス１００６からその要素をドラッグし、それをフォーム１００４中の対応するフィールド１００８上にドロップすることにより、フィールド１００８に直接にタイプ入力することにより、またテキスト・ボックス１００６中のテキストを訂正することなどによって、これらのエラーを訂正することができる。さらに、解析プロトコルは、ユーザによって提供される以前の訂正や追加などのサイド情報を利用することができる。例えば、ユーザがフィールド中に情報を入力し、または最初の解析を訂正している場合には、ユーザは、（図１２中の「Ａｕｔｏ  Ｆｉｌｌ」とマークの付いたボタンをクリックすることにより）このオブジェクト・データを再解析し、ユーザによって提供されるサイド情報を利用するようにこのシステムに指示することができる。
【００８８】
例えば、名前「Ｊｏｈｎ  Ｓｍｉｔｈ」が名刺から抽出される場合、これは、特定の連絡先の「Ｊｏｈｎ」がファースト・ネームであり、「Ｓｍｉｔｈ」がラスト・ネームであることを示唆している。しかし、ユーザは、この連絡先のファースト・ネームおよびラスト・ネームが、偶然か別の理由でこの元のオブジェクトにおいて順序が入れ替わっていることを理解し、上述のドラッグ・アンド・ドロップ技法を使用して「Ｊｏｈｎ」をファースト・ネーム・フィールドに移動することができる。さらに、フィールドに対してドロップ・ダウン・メニューを提供することができ、それにより、テキスト・ボックス１００６中に表示されるオブジェクト・データが複数のファースト・ネームを含む場合、例えばこれらのファースト・ネームの一方をこのファースト・ネーム・フィールドに表示し、他方をこのドロップ・ダウン・メニューに提供することができる。ユーザは、このフィールドが訂正を必要とする場合に、単にこのメニューをオープンし（例えばこのフィールド上をクリックし、またはフィールド上で停止し）、代替名を選択することができる。
【００８９】
このアクションに応じて、このシステムは、「Ｓｍｉｔｈ」をこのラスト・ネーム・フィールドに自動的に移動し、ユーザが、「Ｊｏｈｎ」がこの連絡先のファースト・ネームであり、したがってこの連絡先のラスト・ネームではないことを検証したことに基づいて、このラスト・ネーム・フィールドについての信頼度レベルを増大させながらこのフォームに取り込むために必要とされるユーザ・アクションの数を減らす。かかる自動化ポスト・ユーザ・アクション・フィールド・フィリング（automated post-user-action field filling）は、訂正伝搬の一実施例である。
【００９０】
一部のケースでは、どのフィールドをサイド情報として使用できるかをユーザが指定できるようにすることが有利になり得る。例えば、これらのフィールドは、ユーザが入力しまたは訂正するフィールドを含むことができる。ユーザは、このシステムが他のフィールドを上書きできることを指定することができる。このような許可は、このステータス・インジケータ１０１０を介して容易にすることができ、このインジケータは、ユーザが、このフィールド上で実行していないこと、またはこのフィールド中への情報の検証、訂正、および／または入力を行っていることを示すことができる。各フィールドのステータスは、例えば「未入力で未検証」、「自動入力済みだが未検証」、または「ユーザによりまたは自動的に入力済みで検証済み」とすることが可能である。
【００９１】
例えば、「未入力で未検証」フィールドは、第１のカラー（例えば、赤色）のステータス・インジケータ１０１０を有することが可能である。このシステム１０００がこのフィールドに入力する（例えば、このフィールドが自動入力される）場合には、このステータス・インジケータは、第２のステータス・インジケータ・カラー（例えば、黄色）にアップグレードされて、このフィールドは自動的に入力済みだが未検証であるとユーザに警告することができる。かかるインジケータは、「Ｊｏｈｎ  Ｓｍｉｔｈ」の実施例におけるようにユーザ検証を必要とするが必ずしも訂正が必要とは限らないという状態についてこのユーザに警告することができる。このフィールド中の情報が正しいことをユーザが検証する場合、このステータス・インジケータを第３のカラー（例えば、緑色）にアップグレードして、「入力済みで検証済み」というステータスを示すことができる。この実施例をさらに進めると、ユーザが赤色ステータス・インジケータを有するフィールドに情報を入力する場合には、ユーザはこのフィールドに入力し、そうすることによってこの情報が正しいことを検証しているので、このステータス・インジケータを直接に緑色へとアップグレードすることができる。したがって、このフィールドは、今や「入力済みで検証済み」というステータスである。さらに、この第１のフィールドのユーザによる検証および／または訂正を介して他の１つまたは複数のフィールドの信頼度をアップデートおよび／または改善することができる。例えば、「Ｊｏｈｎ  Ｓｍｉｔｈ」の実施例において、どの名前がファースト・ネームであり、どの名前がラスト・ネームであるかが検証されていない場合には、ファースト・ネーム・フィールドもラスト・ネーム・フィールドも共に黄色のステータス・インジケータを有する可能性がある。「Ｊｏｈｎ」が正しいファースト・ネームであることをこのユーザが検証する場合には、このモジュールは、（例えば、緑色のステータス・インジケータ・カラーを用いて）このファースト・ネーム・フィールドのステータスを「ユーザにより入力済みで検証済み」にアップグレードすることができる。「Ｊｏｈｎ」がファースト・ネームであること（したがってラスト・ネームではないこと）をこのユーザは検証しているので、このシステムは、「Ｓｍｉｔｈ」をこのラスト・ネーム・フィールドに保持することができ、したがってこのラスト・ネーム・フィールドについての信頼度インジケータを同様に黄色から緑色（例えば、自動的に入力済みで検証済み）へとアップグレードすることができる。
【００９２】
本発明の関連した態様によれば、カラー・コード化された信頼度インジケータ１０１２（例えば、図１２に示すようなフィールドの周囲に描かれたボックス、またはこのフィールドの境界カラー、フィールドおよび／またはテキストのバックグラウンド・カラーなど）は、特定のフィールド１００８に関連付けることができる。例えば、このシステム１０００にとって高い信頼度ファクタで入力することが難しいフィールドは、このフィールド中の情報が所望の信頼度しきい値よりも小さいことをユーザに示すことができるカラー・スキームに従って、ラベル付けすることができる。１つまたは複数の信頼度インジケータは、カラーの異なる陰影で、０から１の値を表すことができる。さらに、この実施例における信頼度インジケータ１０１２は、例えば、ソリッド・インジケータ（solid indicator）、ブリンキング・インジケータ（blinking indicator）、フルの明度やコントラストのフェード・インしている、あるいはフェード・アウトしているインジケータなど、あるいは対象となる１つまたは複数のフィールドに関する様々な信頼度レベルを示すことができる他の適切な任意のインジケータ・スキーム、とすることができる。
【００９３】
例えば、「＠」または「．ｃｏｍ」を含む情報部分は、このフォーム中の「電子メール」フィールドに自動的に挿入することができる。同様に、フォーマット（ｎｎｎ）ｎｎｎ−ｎｎｎｎ、ｎｎｎ−ｎｎｎ−ｎｎｎｎまたはｎｎｎ−ｎｎｎｎなどを有し、ｎが整数である情報の部分は、高い信頼度で電話番号フィールドへと自動挿入することができる。高信頼度指標（high-confidence indicia）は、かかる情報を挿入することができるフィールドに関する他の情報タイプにも関連付けることができること、および、かかる情報の自動挿入が、電子メール・フィールドおよび／または電話番号フィールドだけには限定されないこと、を理解されたい。
【００９４】
図１３は、本発明の一代替実施形態によるフォーム・フィリング・インターフェース１１０２を示す図である。図１２に示す実施形態と同様に、フォーム・フィリング・インターフェース１１０２は、異なる情報タイプに対応する複数のフィールド１１０８とフィールド１１０８ごとのステータス・インジケータ１１１０とを有するフォーム・データＧＵＩ１１０４を含んでいる。しかし、フォーム・フィリングＧＵＩ１１０２は、光学式スキャナなどから取得された電子イメージ１１２２を表示するためのプレビュー・ペイン（preview pane）（ＧＵＩ）１１２０をさらに含んでいる。イメージ１１２２は、図３に示すオブジェクト検出および抽出モジュール２０２によってこのイメージ１１２０からセグメント化されている、名刺１１２４など複数のオブジェクトを含んでいる。一実施形態においては、各オブジェクト１１２４は、このオブジェクトを取り囲むカラー化された境界によってハイライトされている。例えば、各オブジェクトは、赤色境界によってハイライトすることができる。
【００９５】
これらの個別オブジェクト１１２４は、全体イメージ１１２２からセグメント化されているので、このユーザは、例えば特定のオブジェクト１１２４上でカーソルを移動することにより、またこのオブジェクトをクリックすることにより各オブジェクトを個別に選択することができる。この場合、このオブジェクトは、オブジェクト・ペイン（ＧＵＩ）１１０６中に表示される。オブジェクト・ペイン１１０６は、図１２に示すオブジェクト・データＧＵＩ１００６と同様であるが、この選択されたオブジェクト１１２４を、テキスト・ブロック１１３０によって表される（解析され、または解析されていない）オブジェクト・データの状態で表示するために修正されている。
【００９６】
各テキスト・ブロックは、例えばこの関連するテキストを取り囲むカラー化されたボックス１１３２によってオブジェクト・ペイン１１０６中で識別される。同じ情報タイプに属するテキスト・ブロックは、同じカラー・ボックス１１３２を用いてハイライトすることができる。異なるクラスタからのテキスト・ブロックは、したがって異なるカラー・ボックス１１３２を有することになる。このカラーは、異なる情報領域１１４０を識別するために使用されるどのカラーにも合わせることができる。例えば、複数のワード「Ｔｏｏｔｈ  Ｆａｉｒｙ，Ｉｎｃ．」は、会社名を識別し、青色ボックス１１３２を用いてハイライトすることができ、これは、対応する情報領域１１４０と同じカラーに合わせることができる。テキスト・ブロック中の各ワードまたはトークンは、図１３に示すようにそれ自体のカラー・ボックス１１３２を有することができ、あるいはこの同じテキスト・ブロックのすべてのワードを単一のカラー・ボックス１３２を用いてハイライトすることもできる。同様に、住所テキスト・ブロックは、紫色など異なるカラーのカラー・ボックスを有することができる。「Ｍａｇｉｃａｌ  Ｆｉｇｕｒｉｎｅｓ」など使用されないテキスト・ブロックは、さらに他のカラー・ボックス１１３２を用いてハイライトすることができる。
【００９７】
図１２に示す実施形態と同様に、このカラー関連付けとハイライトされたテキストは、ユーザが、この解析されたデータを検証し、このフォーム・フィリング・モジュールによって入力されているフィールド１１０８のうちのどれでもアップデートしまたは訂正するのを支援する。このユーザは、フィールド１１０８に直接にタイプ入力したり、オブジェクト・ペイン１１０６からこのフィールドへと情報要素をドラッグ・アンド・ドロップしたり、あるいはこのフィールド中のドロップ・ダウン・メニューを介して複数の情報要素から選択したり、することができる。例えば、このフォーム・フィリング・モジュールは、「Ｊｏｈｎ  Ｓｍｉｔｈ」および「Ｊｉｍ  Ｄｏｅ」を２組の異なるファースト・ネームおよびラスト・ネームとして識別することができる。このフォーム・フィリング・モジュールが、これらの「ファースト・ネーム」フィールドおよび「ラスト・ネーム」フィールド１１０８に間違った名前を入力する場合、ユーザは、以上の方法のうちの１つによってその正しい名前を簡単に選択することができる。これらの訂正が行われているときに、このフォーム・フィリング・モジュールは、関連したフィールドを自動的にアップデートできるように、このテキスト・ブロックを再解析して、新しい「サイド情報」を使用することができる。
【００９８】
この場合にも、ステータス・インジケータ１１１０は、特定のフィールドにおける任意の情報のステータスを示す。これらのインジケータは、例えば「未入力で未検証」、「自動的に入力済みだが未検証」または「入力済みで検証済み」を示すことができる。
【００９９】
図１３は、また、オブジェクト１１２４ａのうちの１つが、このイメージ１１２２内に任意の角度に方向づけられている一例を示している。この例においては、オブジェクト１１２４ａは、水平に対して若干傾いている。選択されると、オブジェクト１１２４ａは、オブジェクト・ペイン１１０６内に表示される。しかし、（図２に示す）オブジェクト検出および抽出システム２０２が各オブジェクト１１２４の座標を識別しており、これらのオブジェクトがその全体イメージから「抽出されて」いるので、各オブジェクトのサブ・イメージを回転して、オブジェクト・ペイン１１０６に示すように水平方向に上下正しく向けることができる。このことは、このＯＣＲモジュールが、各オブジェクト上で信頼できる文字認識を実施し、このフォーム・フィリング・モジュールによって解析するためにこの認識済みのテキスト・ブロックをクラスタ化することができるようになる。したがって、このオブジェクトは、０度および３６０度を含めてその間の任意の角度など、その全体イメージ１１２２内で任意のオリエンテーションを有することができる。
【０１００】
図１４は、例えば（図１２に示す）フォーム・フィリング・インターフェース１００２、または（図１３に示す）フォーム・フィリング・インターフェース１１０２を介して支援フォーム・フィリングを容易にするフォーム・フィリング・モジュールまたはシステム１２００を示す図である。図１２および１３の両者からの参照番号が図１４に含められて、両方の実施形態の同様な要素を指し示している。システム１２００は、制御コンポーネント１２０２、解析コンポーネント１２０８、タグの付いていないメディア・データ・ストア１２１０、フォーム・データ・ストア１２１２、およびサイド情報ストア１２１４を含んでいる。制御コンポーネント１２０２は、フォーム・データＧＵＩ１００４、１１０６、オブジェクト・データＧＵＩ１００６、１１０６、および解析コンポーネント１２０８に動作可能に結合されている。本出願において使用される際に、用語「コンポーネント」は、コンピュータに関連したエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのことを意味する。例えば、コンポーネントは、それだけには限定されないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータを含んでいる。実例として、サーバ上で実行されるアプリケーションもサーバもコンピュータ・コンポーネントとすることが可能である。１つまたは複数のコンポーネントが、プロセスおよび／または実行スレッド内に存在することができ、またコンポーネントは、１台のコンピュータ上に局所化されることもあり、または複数のコンピュータ間に分散されることもあり、あるいはその両方とすることができる。「スレッド」は、そのオペレーティング・システムのカーネルが実行のためにスケジュールするプロセス内のエンティティである。当技術分野においてよく知られているように、各スレッドは、このスレッドの実行に関連付けられた揮発性データである関連する「コンテクスト」を有する。スレッドのコンテクストは、このスレッドのプロセスに属するシステム・レジスタの内容および仮想アドレスを含んでいる。したがって、スレッドのコンテクストを含む実際のデータは、スレッドの実行につれて変化する。
【０１０１】
制御コンポーネント１２０２は、タグの付いていないオブジェクト・データを受け取り、解析して、フォーム中のフィールドへの取り込むことを容易にする。かかるタグの付いていないデータは、オブジェクト・データＧＵＩ１００６、１１０６を介してユーザに提示することができる。このタグの付いていないデータは、例えば名刺、インボイスまたは購入レシートからの認識済みのテキストとすることが可能である。このタグの付いていないデータは、テキスト領域中にクラスタ化されたときに、タグの付いていないメディア・ストア１２１０に記憶することができる。解析コンポーネント１２０８は、タグの付いていないメディア・データ・ストア１２１０に記憶されたタグの付いていないデータを解析して、情報タイプを識別し、可能性のあるフォーム・フィラー・データ（form filler data）を決定する。前述のように、このフォーム・フィラー・データは、名前、数値データ・セット、住所、電話番号、郵便番号などの適切な名詞を含むことができ、次いでこれらをフォーム・データ・ストア１２１２に記憶することができる。フォーム・データ・ストア１２１２に記憶されるデータを使用してこのフォーム中のフィールドに取り込み、フォーム・データＧＵＩ１００４、１１０４を介してユーザに提示することができる。また、オブジェクト・データＧＵＩ１００６、１１０６中のこのタグ付きの解析済みのオブジェクト・データを、ビジュアル・インジケータを用いてハイライトして、このデータが属す特定の情報タイプまたはフィールドを特定することができる。
【０１０２】
図１２および１３に関して述べたように、次いでこのユーザは、このフォーム中の個別のフィールドの検証および／または訂正を行うことができ、かかる検証および／または訂正をサイド情報としてサイド情報ストア１２１４に記憶することができる。解析コンポーネント１２０８は、記憶されたサイド情報を使用して、このユーザによって行われる検証および／または変更に従ってこのフォーム・データ・ストア１２１２をアップデートすることができる。このようにして、テキストの分類および／またはラベル付けをアップデートすることができ、これにより、自動的に入力されたフィールドに関連付けられたるステータス・レベルは、訂正伝搬を容易にするように、フィールドについてのユーザによる検証および／または訂正に応答してアップグレードすることができるようになる。
【０１０３】
本明細書中で説明するデータ記憶（例えば、メモリ）コンポーネントは、例えば、図１を参照して説明したそのローカル・メモリまたはリモート・メモリのうちのどちらを含むことも可能であり、揮発性メモリまたは不揮発性メモリを含むことも可能であり、また揮発性メモリも不揮発性メモリも共に含むことも可能であることが理解されよう。
【０１０４】
本発明の一実施形態においては、解析コンポーネント１２０８は、特定のデータ部分を入力することができる最も適切なフィールドに関して推論（inference）を行うことができるＡＩ（artificial intelligence；人工知能）コンポーネントを含んでいる。本明細書中で使用する際に、用語「推論」は一般に、イベントおよび／またはデータによって捕捉される１組の観察結果からそのシステム、環境、および／またはユーザの状態について推理し、または推論するプロセスのことを意味する。推論を使用して、特定のコンテクストまたはアクションを識別することができ、また例えば複数の状態上の確率的分布を生成することができる。この推論は、確率的とすることができる。すなわち、この推論は、データおよびイベントの考察に基づいた対象となる複数の状態の確率的分布の計算を含むことが可能である。推論はまた、１組のイベントおよび／またはデータからより高レベルのイベントを構成するために使用される技法のことを意味する場合もある。これらのイベントが一時的な近い近接性で相関していようとなかろうと、またこれらのイベントおよびデータが１つまたはいくつかのイベントおよびデータ・ソースに由来していようとも、かかる推論は、１組の観察されたイベントおよび／または記憶されたイベント・データから新しいイベントまたはアクションの構築をもたらす。サポート・ベクトル・マシン（support vector machine）、ニューラル・ネットワーク（neural network）、エキスパート・システム（expert system）、ベイジアン信念ネットワーク（Bayesian belief network）、ファジー・ロジック（fuzzy logic）、データ・フュージョン・エンジン（data fusion engine）など様々な分類スキームまたは分類システムは、本主題の発明に関連して自動アクションおよび／または推論アクションを実施することに関連して使用することができる。さらに、本発明の一実施形態においては、ＨＭＭ（hidden Markov model；隠れマルコフモデル）に基づいて推論を行うことができる。
【０１０５】
図１５は、本発明の一実施形態による支援フォーム・フィリングを容易にするＨＭＭの使用を示すダイアグラム１３００である。ＨＭＭおよび他の確率的モデルを使用してユーザ・インターフェースからパーサへと情報を「バック・チャネリング（back-channel）」して訂正の伝搬を実施することができ、これによって１つのフィールドをユーザが修正したときに隣接したフィールドの訂正を行うことが可能になる。ＨＭＭは、１組の状態Ｑ、出力アルファベットＯ、遷移確率Ａ、出力確率Ｂ、および初期の状態確率Πを有する有限状態機械の変形形態である。現在の状態は、一般的に観測可能ではない。その代わりに、各状態は、ある確率Ｂで出力を生成することができる。通常、これらの状態Ｑ、および出力Ｏについては理解されており、したがって、ＨＭＭは、以下の特性を備える３つ組（triple）（Ａ，Ｂ，Π）と言われる。  
Ａ＝［ａｉｊ＝Ｐ（ｑｊ  ａｔ  ｔ＋１｜ｑｉ  ａｔ  ｔ）］  
Ｂ＝［ｂｉｋ＝Ｐ（ｏｋ｜ｑｉ）］，  
Π＝［ｐｉ＝Ｐ（ｑｉ  ａｔ  ｔ＝１）］．
表記法Ｐ（ａ｜ｂ）は、「ｂ」を仮定したときの「ａ」の条件付き確率を表す。上式において、現在の状態が（時刻ｔにおける）「ｑｉ」であり、ｑｉ∈Ｑであると仮定すると、Ａは、次の状態（時刻ｔ＋１における）「ｑｊ」へと遷移する確率である。現在の状態がｑｉであると仮定すると、Ｂは、その出力がｏｋである確率であり、式中ｏｋ∈Ｏである。Πは、状態指数「ｉ」ごとに時刻ｔ＝１において状態ｑｉにある確率である。
【０１０６】
図１５によれば、フォーム中のフィールドを表すことができる様々なランダム変数Ｘ１ないしＸｎが示されている。かかる各フィールドは、｛ファースト・ネーム、接尾辞、ラスト・ネーム、街路住所番号、街路名、市、州、郵便番号、１つまたは複数の電話番号、１つまたは複数の電子メール・アドレスなど｝を含む１組のフィールドの一部分とすることが可能である。この中に入力できる１組のＸフィールド、およびその情報要素Ｙは、前述の例示の情報フィールドだけには限定されないが、代わりに他の適切な任意の情報部分および／またはフィールドを含むことができることを理解されたい。Ｙは、所与のＸに対応する実際の情報要素を表すことができ、この場合、Ｙ１が「Ｊｏｈｎ」に等しく、Ｘ１＝「ファースト・ネーム」である（例えば、Ｐ（Ｘ１＝ファースト・ネーム）＝０．２３、Ｐ（Ｘ１＝ラスト・ネーム）＝０．０３、Ｐ（Ｘ１＝市名）＝０．０９３など）場合には、最高のスコアを示すラベル（例えば、この例による「ファースト・ネーム」）を選択することになる。かかる推論は、この隠れ変数の最良の設定を見出すことを容易にする。隠れマルコフモデルのケースにおいては、最も可能性の高い状態シーケンスを見出すことができる。例えば、以下のようになる。
【０１０７】
【数１】
0004676225.tif 000002
【０１０８】
同様な一実施例によれば、特定のＸには、条件「５ディジット」が関連付けられており、この場合、Ｙが７ディジット（例えば、５５５−１２３４）を有する場合には、対象となるこの特定のＸについて低い確率（例えば、Ｐ（Ｙ＝５５５−１２３４｜ｘ）＝０．００００１）が示されることになる。逆に、１２３４５などの情報を含むＹは、この特定のＸについて高い確率（例えば、Ｐ（Ｙ＝５５５−１２３４｜ｘ）＝０．９９８９）を示すことになり、この場合、このフォーム中の関連するフィールドに挿入することができる。同様に、７ディジットのＹは、条件「７ディジット」を有するＸについて高い確率を示すことになる。本発明は、支援フォーム・フィリングを容易にするために、任意数の適切な変数、またはテストを使用して、どの特定のＹＳが特定のＸＳに関連する条件を満たすかを決定することができる。
【０１０９】
本発明の一部の実施形態は、特定のフィールドのラベルに対応する状態に対して隠れ変数（Ｘ）（複数）を設定することにより、隠れランダム変数、および観察されたランダム変数を含む、前述のＨＭＭなどの確率的モデルの利点を生かすことができる。例えば、前述のこのＨＭＭ中のＹランダム変数は、「観察された」ランダム変数であり、ここで、各変数は１つのトークンに対応している。トークンとは、トークン区切り記号（例えば、スペース、ダッシュ、カンマなど）の間のテキスト・セグメントのことである。例えば、テキスト・ストリング「ｔｈｉｓ−ｉｓ  ａ，ｔｅｓｔ」は、以下のようにトークン化されることになる。  
「ｔｈｉｓ」＝トークン１  
「ｉｓ」＝トークン２  
「ａ」＝トークン３  
「ｔｅｓｔ」＝トークン４
【０１１０】
この隠れ変数Ｘ（複数）ｓは、これらのトークンがこれらの各許容ラベルを有する（例えば、これらのトークンは、これらのラベル上に分散されている）確率を表している。情報抽出のフィールドにおいてはほとんどの場合、「サイド情報」が使用されないので、Ｘは、観察されないままとなる。サイド情報を（例えば、ユーザが供給したテキストを持つテキスト・フィールドのフォームにおいて）確率的モデルが使用するようにさせると、ユーザが供給したテキストに対応するトークンを検索することができ、この対応する隠れ変数Ｘは、このフィールドのラベルに対応する状態に設定することができる。これは、Ｐ（Ｘ１＝ファースト・ネーム）＝１およびＰ（Ｘ１＝ラスト・ネーム）＝０などに設定し、推論中にはアップデートしないものと見なすことができる。例えば、このユーザが、このフォームのラスト・ネーム・フィールドに「Ｓｍｉｔｈ」をタイプ入力した場合、すべてのトークンを介して検索を実施して「Ｓｍｉｔｈ」を見つけ出すことができる。次いで、Ｐ（Ｘ２＝ラスト・ネーム）＝１を設定し、推論中には、Ｐ（Ｘ２）についての確率分布をアップデートしない。
【０１１１】
訂正伝搬はさらに、ユーザ・インターフェースからこのパーサにバック・チャネリング情報をもたらすことができる。このようにして、１つのフィールドがユーザによって訂正されるときに隣接するフィールドに取り込むことが可能である。例えば、本発明では、ルール・ベースの解析方法を使用することができ、ここで、ルールの簡略化されたバージョンでは、「ラスト・ネーム・フィールドがユーザによって設定される場合には、このタグの付いていないテキスト中でラスト・ネームを検索し、このラスト・ネームの直前のワードをファースト・ネームとしてラベル付けする」と決められる。ファースト・ネームについての対応するルールも存在する。このようにして、このラスト・ネームの訂正は、このファースト・ネームへと「伝搬」する。本明細書中で説明している訂正伝搬は、ファースト・ネームおよびラスト・ネームだけには限定されず、逆に任意のすべての関連したタイプの情報、テキストなどに適用することができることを理解されたい。
【０１１２】
さらに、本発明の一部の実施形態では、ＨＭＭモデルと最大エントロピー・モデル（maximum entropy model）の両者を一般化したものであるＣＲＦ（conditional random field；条件付きランダム・フィールド）を使用することができる。ＣＲＦは、任意の非局所的特徴の導入を可能にし、ラベルの間の依存性を捕捉し、解析された情報要素の信頼度を推定することを可能にする。このようにして、本発明では、その情報が高い信頼度レベルを有するときには、解析された情報要素をフィールドに自動的に割り当てることができ、また低い信頼度レベルを有するある情報要素には、ユーザの再検討および／または訂正を求めるために、フラグをたてることができる。
【０１１３】
図１６は、ランダムな不正確なフィールドを訂正する以前のＣＲＦと、訂正した以後のＣＲＦの間の関係を示すヒストグラム１４００である。以下でさらに詳細に説明するように、複数のフォームが、各フォーム中のエラーを含むフィールド数に従って、図１６中でグループ化されている。ソリッド・バーは、任意の訂正を行う以前のＣＲＦを示し、中空バーは、１つのランダムな不正確なフィールドが訂正された後の分布を示す。フォーム・フィリング中の、フィールド検証および訂正に関するユーザの振る舞いは、いくつかのＵＩＭ（user interaction model；ユーザ介入モデル）を介して、予想および／またはモデル化することができる。例えば、簡単なシナリオＵＩＭ１においては、ユーザには、自動入力されるフォームが提示され、ユーザがすべてのエラーを訂正することを求められる（例えば、訂正伝搬が実施されない）可能性がある。したがって、必要とされるユーザ・アクション数は、自動フィリング中に引き起こされるエラー総数に等しい。
【０１１４】
第２のシナリオＵＩＭ２によれば、初期の自動フィールド割当てが想定されており、ユーザは、１つのランダム選択された訂正を実施し、この訂正に基づいてこのシステムは、訂正伝搬を開始することができる。これはすべてのフィールドが正しくなるまで反復することができる。
【０１１５】
第３のシナリオＵＩＭ３によれば、初期の自動フィールド割当てが想定されており、したがって、ユーザは、最低信頼度の不正確なフィールドに関して訂正を実施する。例えば、このユーザには、エラーが見出される限り、図１２中の信頼度インジケータ１０１２などによる信頼度の順序でこれらのフィールドに対して、視覚的に注意を促されることになる。訂正伝搬は、この最低信頼度フィールドの訂正に従って実施することが可能であり、ユーザは、残りの任意のエラーを訂正するように促されることになる。
【０１１６】
フォーム・フィリングは、一般に完全な正確さを必要とする。したがって、フィリング時間が短縮されるとき、ユーザの認識に関する負担が削減されるとき、またはそれらの両方のときには、いつでも利点が自覚されることになる。本発明の一実施形態では、他の標準的な性能メジャーに加えて、ＥＮＵＡ（expected number of user action；予想ユーザ・アクション数）と呼ばれる効率メジャーが使用される。ＥＮＵＡは、フォーム中のすべてのフィールドに正しく入力するために必要とされるユーザ・アクション（例えば、クリックなど）の数として定義される。このＥＮＵＡは、前述のようにそのＵＩＭに応じて変化する可能性がある。このＥＮＵＡを表すために、表記法Ｐ（ｉ；ｊ）が使用され、これは、ｉ回の手動による訂正後のエラー数ｊ上における確率分布である。かかる分布は、図１６のヒストグラムによって表現される。
【０１１７】
例えばＵＩＭ１の下では、ＥＮＵＡは以下のように表現される。  
【０１１８】
【数２】
0004676225.tif 000003
【０１１９】
式中でＰ（０；ｎ）は、不正確なフィールド数上における分布である。
【０１２０】
例えば、モデルＵＩＭ２およびＵＩＭ３によれば、ＥＮＵＡは以下のように表現される。
【０１２１】
【数３】
0004676225.tif 000004
【０１２２】
式中でＰ（０；０）は、すべてのフィールドが最初に正しく割り当てられる確率であり、Ｐ（１；ｎ）は、１つのフィールドが訂正された後に、このフォーム中の不正確なフィールド数上における分布である。どのＵＩＭが使用されたかに応じて異なる分布がもたらされる可能性がある。ＥＮＵＡ１上の上付き文字１は、訂正伝搬が一度実施されたことを示している。
【０１２３】
引き続き図１６を参照すると、複数のフォームは、各フォーム中のエラーを含むフィールド数に従ってグループ化される。ソリッド・バーは、任意の訂正以前のＣＲＦベース・パーサを使用した結果を示し、中空バーは、１つのランダムな不正確なフィールドが訂正された後の分布を示す。かかる情報を利用してそれぞれＰ（０；ｎ）およびＰ（１；ｎ）を推定することができる。
【０１２４】
図１７は、本発明の一実施形態による自動フォーム・フィリング支援のための方法１５００を示すフローチャートである。１つまたは複数の手順が一連の動作（acts）またはステップとして示され説明されているが、本発明がステップのこの順序によって限定されれず、一部のステップが、本発明に従って、本明細書中に示され、説明される順序とは異なる順序で、及び／または他のステップと同時に行うことができることを理解されたい。例えば、ある方法は、状態図などにおいて、一連の相関する状態またはイベントとして代替的に表現できることが当業者には理解されよう。さらに、本発明による方法を実装するために、必ずしもすべての図示されたステップが必要とされることはない。
【０１２５】
ステップ１５０２において、選択された、タグの付いていないデータが、オブジェクト・データＧＵＩ中のテキスト・ボックスに挿入される。図１２に示す実施例において、このタグの付いていないデータは、オブジェクト・データＧＵＩ１００６中に表示される。図１３に示す実施例においては、このオブジェクト・データは、オブジェクト・データＧＵＩ１１０６中のオブジェクトのイメージ内に表示される。１５０４において、このオブジェクト・データを解析して、フォーム中の特定のフィールドに取り込むために利用できる可能性がある要素を決定する。１５０６において、フィールド中に入力する要素に対して、ステータスを割り当て、これをユーザに対して示すことができる。例えば、「Ｊｏｈｎ  Ｓｍｉｔｈ」や「Ｊａｎｅ  Ｄｏｅ」など選択されたタグの付いていないデータは、２つのファースト・ネームと２つのラスト・ネームを含んでいる。「Ｊｏｈｎ」を使用して、例えば連絡先リストの「ファースト・ネーム」フィールドに取り込む場合には、「Ｊｏｈｎ」がこのファースト・ネーム・フィールドにおける正しいエントリではないかも知れないということについてユーザに警告することができるステータス・インジケータ（例えば、「入力済みだが未検証」）を「Ｊｏｈｎ」に関連付けておくことが可能である。さらに、このファースト・ネーム・フィールドの潜在的ユーザ訂正を容易にするために、ドロップ・ダウン・メニューを介して「Ｊａｎｅ」をそのユーザにとって使用可能にすることができる。例えば、このインジケータは、このファースト・ネーム・フィールドに隣接したカラー・コード化ステータス・インジケータ「光（light）」とすることができる。この実施例をさらに進めると、赤色−黄色−緑色プロトコルを使用して、赤色は入力済みだが未検証であることを示し、緑色はフィールドが（自動的にまたはそのユーザによって）入力済みで検証済みであることを示すという様々なステータス・レベルを示すことができる。本実施例においては、このファースト・ネーム・フィールドは、ファースト・ネーム・フィールドが入力されているが、このファースト・ネーム「Ｊｏｈｎ」がまだ検証されていないことを示す黄色のステータス・インジケータを有することができる。
【０１２６】
一実施形態においては、この方法は、直接にステップ１５１０へと進むことができ、このステップで、このユーザは、例えば緑色ステータス（例えば、緑色が入力済みで検証済みのステータスを示す場合）以外の任意ステータスを示すフィールドを検証し、または訂正するように促される。別の実施形態においては、この方法はまず、１５０８へと進み、このステップで、すべてのフィールドが最も高いと見込まれるステータスを示しているか（例えば、すべてのフィールドが「入力済みで検証済み」であるかどうか）に関する決定が行われる。１５０８においてすべてのフィールドが「入力済みで検証済み」のステータスを表示する場合には、ユーザはアクションを取るように促される必要もなく、このプロセスは、終了することが可能である。
【０１２７】
しかし、何れかのフィールドが、「入力済みで検証済み」のステータス以外のステータスを示す場合には、この方法は、１５１０へと進むことができ、このステップで、ユーザは、疑わしいフィールドがあれば、訂正および／または検証するように促される。１５１２において、ユーザが情報を訂正（例えば、変更）しているかどうかに関して決定が行われる。本実施例によれば、「Ｊｏｈｎ」がこの「ファースト・ネーム」フィールドにおける所望のエントリでない場合には、このユーザは、このテキスト・ボックス（またはオブジェクト・ペイン）中で「Ｊａｎｅ」をクリックし、「Ｊａｎｅ」をこのファースト・ネーム・フィールドにドラッグしてこのエントリを訂正することができる。代わりに、このファースト・ネーム・フィールド中にすでに提示されているドロップ・ダウン・メニューから「Ｊａｎｅ」を選択することもできる。ユーザが、何れかの情報でも訂正した場合には、この方法は、１５１４へと進むことができ、このステップでユーザ入力に従って１つまたは複数のフィールドをアップデートすることができ、テキスト・ボックス１００６（図１２）またはオブジェクト・ペイン１１０６（図１３）中のタグの付いていないデータについて再解析することができる。次いでこの方法は、ステータス・アップグレードおよびフォーム・フィールド中へのデータのエントリのために１５０６に戻ることができ、これはユーザ入力に関連して発生することになる。
【０１２８】
１５１２においてユーザが情報を訂正しない場合には、１５１６においてこのユーザがフィールド・エントリを検証しているかどうかに関して決定を行うことができる。１５１６においてユーザが、所望のステータス以外を持つフィールド・エントリを検証していない場合には、この方法は、このユーザがアクションを取るようにさらに促すために１５１０へと戻ることができる。１５１６においてユーザが正確な情報を検証した場合には、１５１８においてフィールドおよびその対応するステータスをアップデートすることができる。例えば、「Ｊｏｈｎ」がこのファースト・ネーム・フィールドについての所望のエントリである場合には、ステータス・インジケータを黄色から緑色へとアップグレードすることができる。
【０１２９】
図１８は、本発明の他の実施形態による方法１６００を示すフローチャートである。１６０２において、タグの付いていないデータが解析される。１６０４において、隠れマルコフ・モデル（ＨＭＭ）を使用して特定の要素を入力することができる適切なフィールドを決定する。ステップ１６０６において、１つまたは複数の要素が、ステータス・インジケータを伴う決定された適切なフィールド中に表示される。１６０８において、この１つまたは複数のフィールド中に入力された情報を検証および／または訂正するようにユーザを促すことができる。１６１０において、ユーザ訂正が検出されているかどうかに関して決定が行われる。もし検出されている場合には、１６１２において、訂正伝搬を介してこのユーザ訂正された１つまたは複数のフィールドを他の１つまたは複数のフィールドと一緒にアップデートすることができ、それらの対応するステータス・インジケータをそれに応じてアップグレードすることができる。次いでこの方法は、１６０６へと戻ることができ、このステップで、ユーザ入力に従って、諸要素が表示され、ステータスが示される。１６１０において訂正が検出されない場合には、１６１４において、ユーザ検証が行われているかどうかに関して決定が行われる。このユーザが、この入力済みの情報が正しいことを検証していない場合には、この方法は、このユーザにアクションを取るようにさらに促すために１６０８へと戻ることができる。１６１４においてこのユーザが疑わしいフィールドにおける情報が正しいと検証していることが決定される場合には、この方法は、１６１６へと進むことができ、このステップで、この検証済みの要素が適切なフィールドに表示され、アップグレードされたステータスが表示される。
【０１３０】
図１９は、本発明の他の実施形態による方法１７００を示すフローチャートである。１７０２において、タグの付いていないオブジェクト・データが、タグの付いていないメディア・ストアに読み込まれる。１７０４において、サイド情報（例えば、データ・エントリ、検証、訂正などのユーザ・アクションから収集された情報）が、サイド情報ストアに読み込まれる。１７０６において、このタグの付いていないデータを解析して、フォーム・フィールドに取り込む可能性のある要素を識別する。１７０８において識別済みの要素をフォーム・データ・ストアに書き込むことができる。次いで、１７１０において、識別済みの要素は、フォームＧＵＩ中のフォーム・フィールドという形でユーザに対して表示することができる。１７１２において、このオブジェクト・データＧＵＩ中のオブジェクト・データは、このフォーム・フィールドに入力する際にユーザの支援を容易にするビジュアル・インジケータと共に表示することができる。例えば、このオブジェクト・データＧＵＩ中のファースト・ネームは、特定のカラー（例えば、オレンジ色）でカラー・コード化して、これらのファースト・ネームをフォームＧＵＩ中のファースト・ネーム・フィールド、このフィールドもやはりオレンジ色でカラー・コード化される、に入力することができることを示すことができる。別の実施例によれば、「＠」記号を含む解析済みのオブジェクト・データは、例えば青色でコード化して、かかるテキストが、このフォームＧＵＩ中の「電子メール」フィールド、このフィールドもやはり青色でカラー化することができる、に入力できることを示すことができる。
【０１３１】
１７１４において、このユーザは、このフォームＧＵＩ中のフィールドに対する要素の割当ての検証および／または訂正を行うように促される。次いで、１７１６において、このオブジェクト・データを再度解析する決定をすることができる。かかる決定が行われる場合には、１７１８において、ユーザ入力がこのサイド情報ストアに追加され、この方法は、タグの付いていないデータの解析および要素の識別を反復するために１７０６へと戻る。１７１６においてさらなる解析が必要とされないと決定される場合には、１７２０において、このフォーム・データ・ストアの内容をデータベースまたはファイルに書き込むことができる。
【０１３２】
図１７〜１９に示す方法は、スキャンされたその全体イメージから抽出される個々のオブジェクトのそれぞれについて実施することができる。各オブジェクトが名刺である実施例においては、各カード上のテキスト情報が、解析され、アドレス帳の連絡先レコードなど対応するフォーム中のフォーム・フィールドに入力するために、使用される。したがって、１つの連絡先レコードが、このイメージ中に含まれる名刺ごとに作成されることになる。各カードの抽出済みのイメージはまた、この連絡先レコードと共に記憶することもできる。
【０１３３】
これらの実施例においては、ユーザは、各名刺を別々にスキャンする必要がない。というよりも、多数のカードを一度にイメージ化することができる。この全体イメージから、このシステムは、各カードのイメージを抽出し、次いで各カード上の情報要素を識別し、ユーザが別々の連絡先レコード中の対応するフィールドにこれらの要素を割り当てるのを、支援する。このことは、多数のカードからデータを入力することについての効率をおおいに増大させる。
【０１３４】
各オブジェクトが購入レシートである実施例においては、各レシート上のテキスト・ブロックが、（図１２に示すように）クラスタ化され、このタグの付いていないテキスト・ボックス１００６中に表示される。図１３に示す実施例においては、各レシートは、プレビュー・ペイン１１２０中で別々に選択し、オブジェクト・ペイン１１０６中に表示することができる。このレシート内のテキスト・ブロックは、解析され、経費報告書や他の財務ソフトウェア・アプリケーションなど対応するフォーム中の適切なフィールドに入力するのに使用される。レシート上には、多数のディジット・ブロックおよびテキスト・ブロックが存在することもあり、これらのブロックのうちで、このユーザは、ベンダ名、日付、最終金額、おそらく税金、などのフィールドを入力することだけに関心がある。これらのテキスト領域がオブジェクト・データＧＵＩ１００６または１１０６中で識別され、表示される限り、このユーザは、適切なテキスト・ブロックを適切なフィールド１００８（図１２）または１１０８（図１３）へとドラッグすることができる。
【０１３５】
一実施形態においては、ユーザは、一度にいくつかのレシートをスキャンし、各レシート中の日付、金額および／または他のテキスト・ブロックを、経費報告書アプリケーション、スプレッドシート、Ｍｉｃｒｏｓｏｆｔ  Ｍｏｎｅｙ（商標）などの財務管理ソフトウェア、などの財務ソフトウェア・アプリケーション中の適切なフィールドへとドラッグ・アンド・ドロップすることができる。このレシートのイメージは、参照のために記憶し、またはこの経費報告書と共に送付し、あるいはその両方を行うことができる。経費報告書のフィリング・システムでは、このイメージ・ファイルの暗号化ハッシュは、このデジタル・イメージの改ざんを防止するために、この支払いパーティのパブリック・キーを使用して暗号化することができる。
【０１３６】
他の実施形態においては、このシステムは、１つのイメージから異なるタイプの複数のオブジェクトを抽出することができる。例えば、いくつかの名刺およびレシートを同時にスキャンすることができ、次いで各オブジェクトが、その全体イメージから抽出される。各オブジェクトのテキスト要素が識別および／またはクラスタ化された後に、これらのテキスト要素を処理して、スキャンされているオブジェクトのタイプを決定することができる。会社名、個人名、住所、電話番号、電子メール・アドレスなどの連絡先情報を有するオブジェクトは、名刺である可能性が高い。ベンダ名、日付、および金額を表す列中の（複数の）ディジットを有するオブジェクトは、レシートである可能性が高い。他のタイプのオブジェクトもスキャンすることができる。この特定のタイプのオブジェクトに基づいて、このシステムは、そのユーザがその適切な電子フォーム中にこのテキストを入力する支援を行う。例えば、図１３に示す実施形態においては、このシステムは、オブジェクト・データＧＵＩ１１０６中の選択されたオブジェクトと、フォームＧＵＩ１１０４中の適切なフォームから成る諸フィールド１１０８を表示する。代わりに、このシステムは、完成するためにこの適切な電子フォームのフィールドを表示する前に、オブジェクト・データＧＵＩ１１０６中にオブジェクトのイメージを表示し、このオブジェクト・タイプを識別するようにユーザに促すことができる。
【０１３７】
本発明のシステムおよび／または方法は、コンピュータ・コンポーネント、および同様に非コンピュータ関連コンポーネントを支援するウェブ・クローリング・システム（web-crawling system）中で利用することができることを理解されたい。さらに、本発明のシステムおよび／または方法は、それだけには限定されないが、コンピュータ、サーバ、および／または有線および／または無線などの可能なハンドヘルド電子デバイスなどを含めて、広範な数多くの電子関連技術中において使用可能であることが当業者には理解されよう。
【０１３８】
以上で説明してきたものには、本発明の実施例が含まれている。本発明を説明する目的でコンポーネントまたは方法の考えられるあらゆる組合せを記述することはもちろん可能ではないが、本発明のさらに多くの組合せおよび置換が可能であることが当業者には理解されよう。したがって、本発明は、特許請求の範囲の趣旨および範囲に含まれるかかるすべての代替形態、変更形態、および変形形態を包含することが意図されている。
【０１３９】
本発明を、好ましい実施形態に関して説明してきたが、本発明の趣旨および範囲を逸脱することなく、形態および細部において変更を行うことができることが、当業者には理解されよう。例えば、１つまたは複数のオブジェクトの任意の電子イメージから、フォームに取り込むことが可能である。このイメージは、光学式スキャナやデジタル・カメラなど、任意のタイプのデジタル・イメージング装置によって取得することができる。この１つまたは複数のオブジェクトは、名刺、請求書、購入レシートなど、有用なテキスト情報を有する任意のタイプのドキュメントを含むことができる。
【図面の簡単な説明】
【０１４０】
【図１】本発明の一実施形態による、従来のパーソナル・コンピュータの形態で本発明を実装するための例示のシステムのブロック図である。
【図２】本明細書中で説明しているオブジェクト抽出システムおよび方法を組み込んだイメージ処理システムの例示の一実装形態の全体ブロック図である。
【図３】図２に示すオブジェクト抽出システムのコンポーネントまたはモジュールを示すブロック図／流れ図である。
【図４】図３に示す１つのオブジェクト抽出モジュールの詳細を示すブロック図である。
【図５】図４に示すオブジェクト検出および抽出プロセスのさらなる詳細を示す全般的な流れ図である。
【図６】このオブジェクト検出および抽出方法を使用してイメージ中で１つのオブジェクトを見出す第１の動作実施例を示す図である。
【図７】図６のオブジェクトと同じサイズであるが異なるオリエンテーション（向き）を有するオブジェクトを示す図である。
【図８】このオブジェクト検出および抽出方法を使用してイメージ中で複数のオブジェクトを見出す第２の動作実施例を示す図である。
【図９】図８に示すイメージのサブ・イメージの処理を示す図である。
【図１０】各オブジェクト・イメージ内のテキストを光学的に認識し、この認識済みのテキストをクラスタ化する方法を示すフローチャートである。
【図１１】図１０に示す方法においてこの認識済みのテキストをクラスタ化しながら実施されるステップを示すフローチャートである。
【図１２】本発明の一実施形態による、ユーザが電子フォーム中のフィールドに取り込むのを支援することを容易にするフォーム・フィリング・インターフェースを示す図である。
【図１３】本発明の代替実施形態によるフォーム・フィリング・インターフェースを示す図である。
【図１４】本発明の一実施形態による図１２および図１３に示すインターフェースを介しての支援フォーム・フィリングを容易にするシステムの図である。
【図１５】ユーザがフォーム中のフィールドに取り込むのを支援することを容易にする隠れマルコフモデルの一例を示す図である。
【図１６】ユーザがフォームに取り込むのを支援する際の本発明の効率を示すヒストグラムである。
【図１７】本発明の一実施形態による、フォームに入力する方法を示すフローチャートである。
【図１８】本発明の他の実施形態による、フォームに入力する方法を示すフローチャートである。
【図１９】本発明の他の実施形態による、フォームに入力する方法を示すフローチャートである。
【符号の説明】
【０１４１】
１００  コンピューティング・システム環境
１１０  コンピュータ
１２０  処理ユニット
１３０  システム・メモリ
１３４  オペレーティング・システム
１３５  アプリケーション・プログラム
１３６  他のプログラム・モジュール
１３７  プログラム・データ
１４０  着脱不能な不揮発性メモリ・インターフェース
１４１  ハードディスク・ドライブ
１４４  オペレーティング・システム
１４５  アプリケーション・プログラム
１４６  他のプログラム・モジュール
１４７  プログラム・データ
１５０  着脱可能な不揮発性メモリ・インターフェース
１５１  着脱可能な不揮発性磁気ディスクの磁気ディスク・ドライブ
１５２  着脱可能な不揮発性磁気ディスク
１５５  光ディスク・ドライブ
１５６  着脱可能な不揮発性光ディスク
１６０  ユーザ入力インターフェース
１６１  ポインティング・デバイス
１６２  キーボード
１６３  マイクロフォン
１６４  イメージング・デバイス
１７０  ネットワーク・インターフェース
１７１  ローカル・エリア・ネットワーク
１７２  モデム
１７３  ワイド・エリア・ネットワーク
１８０  リモート・コンピュータ
１８５  リモート・アプリケーション・プログラム
１９０  ビデオ・インターフェース
１９１  モニタ
１９５  出力ペリフェラル・インターフェース
１９６  プリンタ
１９７  スピーカ
２００  イメージ処理システム
２０２  オブジェクト検出および抽出システム
２０４  プラテン
２０６  スキャニング・デバイス
２１０  デジタル・イメージ・データ
２１２  バックグラウンド・データ
２１４  コンピューティング・デバイス
３００  オブジェクト・ピクセル検出モジュール
３１０  セグメンテーション・モジュール
３２０  単一オブジェクト抽出モジュール
３３０  デジタル・イメージ・データ
３４０  オブジェクト・ピクセル・データ
３５０  セグメンテーションが生じているか
３６０  イメージをサブ・イメージに分割する
３７０  各サブ・イメージを処理するために入力する
３８０  抽出されたイメージ・オブジェクト
４００  オブジェクト・ピクセル解析モジュール
４１０  検証モジュール
４２０  オブジェクト・ロケーション出力モジュール
４３０  単一オブジェクトをおそらく含むイメージ・データ
４４０  単一オブジェクトについての座標
６００  オブジェクト
６０２、７０２  スキャン・イメージ
６０４、７０４  ２次元の直交座標系
６２０、７２０  第１の台形形状
６３０、７３０  第２の台形形状
８００  スキャン・イメージ
８０１、８０２、８０３  オブジェクト
８１０、８３０  第１の台形形状
８２０、８３２  第２の台形形状
８２０  上部サブ・イメージ
８２２  下部サブ・イメージ
８３４  左のサブ・サブイメージ８３４
１０００  ＦＦＩ１００２を生成し、動作させるためのシステム
１００２  フォーム・フィラー・インターフェース
１００４  フォーム・データＧＵＩ
１００６  オブジェクト・データＧＵＩ
１００８  フィールド
１０１０  ステータス・インジケータ
１０１２  信頼度インジケータ
１１０２  フォーム・フィリング・インターフェース
１１０４  フォーム・データＧＵＩ
１１０６  オブジェクト・ペイン（ＧＵＩ）／オブジェクト・データＧＵＩ
１１０８  フィールド
１１１０  ステータス・インジケータ
１１２０  プレビュー・ペイン（ＧＵＩ）／オブジェクト・データＧＵＩ
１１２２  全体イメージ
１１２４  個別オブジェクト
１１３０  テキスト・ブロック
１１３２  カラー化されたボックス
１１４０  情報領域
１２００  フォーム・フィリング・モジュールまたはシステム
１２０２  制御コンポーネント
１２０８  解析コンポーネント
１２１０  タグの付いていないメディア・データ・ストア
１２１２  フォーム・データ・ストア
１２１４  サイド情報ストア
１３００  支援フォーム・フィリングを容易にするＨＭＭの使用を示すダイアグラム
１４００  ヒストグラム
【図１】
0004676225.tif 000005
【図２】
0004676225.tif 000006
【図３】
0004676225.tif 000007
【図４】
0004676225.tif 000008
【図５】
0004676225.tif 000009
【図６】
0004676225.tif 000010
【図７】
0004676225.tif 000011
【図８】
0004676225.tif 000012
【図９】
0004676225.tif 000013
【図１０】
0004676225.tif 000014
【図１１】
0004676225.tif 000015
【図１２】
0004676225.tif 000016
【図１３】
0004676225.tif 000017
【図１４】
0004676225.tif 000018
【図１５】
0004676225.tif 000019
【図１６】
0004676225.tif 000020
【図１７】
0004676225.tif 000021
【図１８】
0004676225.tif 000022
【図１９】
0004676225.tif 000023