(57)【要約】  開示されたシステム、方法、およびコンピュータプログラム製品は、モバイル装置の画像撮影素子を使用して撮影動作を開始するステップを含む。撮影動作は、映像データを撮影動作と、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備える。また、開示されたシステム、方法、およびコンピュータプログラム製品は、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を使用して複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
2016538783.tif 000002
【特許請求の範囲】
【請求項１】
モバイル装置によって実行可能な命令を記憶するコンピュータ読取可能な媒体を含むコンピュータプログラム製品であって、当該命令は、実行されると、前記モバイル装置に指示して、以下のステップを実行させるように構成され、当該以下のステップは、
前記モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、前記撮影動作は、
映像データを撮影することと、
撮影中に前記画像撮影素子の動きに対応する複数の動きベクトルを推定することとを含み、
前記映像データに表わされた文書を検出するステップと、
前記映像データの全体に亘って、前記検出された文書の位置を追跡するステップと、
前記検出された文書の前記追跡位置と前記推定された動きベクトルとのうち少なくとも一部に基づいて、前記モバイル装置の前記画像撮影素子を用いて複数の画像を選択するステップと、
前記選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む、コンピュータプログラム製品。
【請求項２】
前記文書は、長尺文書である、請求項１に記載のコンピュータプログラム製品。
【請求項３】
前記追跡は、前記推定された複数の動きベクトルのみに基づいている、請求項１に記載のコンピュータプログラム製品。
【請求項４】
前記コンピュータプログラム製品は、前記モバイル装置に指示して、以下のステップを実行させるように構成された命令をさらに含み、当該以下のステップは、
前記推定された複数の動きベクトルの一部またはすべてに基づいて、少なくとも１つの動き変位を決定するステップを含み、各動き変位は撮影中の前記画像撮影素子に対応するものであり、
前記動き変位のうち１つの動き変位が所定の動き変位閾値を超えた値によって特徴付けられるという決定に応じて、前記撮影動作を終了または一時停止するステップと、
前記撮影動作が終了されたことに応じて、新たな撮影動作を開始するステップ、または、前記撮影動作が一時停止されたことに応じて、前記撮影動作を再開するステップ、とを含む、請求項１に記載のコンピュータプログラム製品。
【請求項５】
前記所定の動き変位閾値は、約５ピクセル〜約２５ピクセルの範囲値を有する、請求項４に記載のコンピュータプログラム製品。
【請求項６】
前記モバイル装置に指示して、前記文書を検出するように構成された命令は、前記モバイル装置に指示して、撮影された前記映像データに表わされた前記文書の少なくとも１つの縁部を識別させるよう構成された命令をさらに含む、請求項１に記載のコンピュータプログラム製品。
【請求項７】
前記選択された複数の画像の各々は、前記文書の一部を表わし、
前記合成画像は、前記文書の全体を表わす、請求項１に記載のコンピュータプログラム製品。
【請求項８】
前記合成画像は、前記選択された複数の画像のうち任意画像の画像解像度よりも高い画像解像度と、前記選択された複数の画像のうち任意画像の画像サイズよりも大きい画像サイズと、のうち少なくとも１つの特徴を有する、請求項１に記載のコンピュータプログラム製品。
【請求項９】
前記選択された複数の画像の各々は、前記文書の一部を表わし、
前記合成画像は、前記文書によって記録された金融取引に対応する文書の一部のみを表わす、請求項１に記載のコンピュータプログラム製品。
【請求項１０】
前記コンピュータプログラム製品は、前記モバイル装置に指示して、以下のステップを実行させるように構成された命令をさらに含み、当該以下のステップは、
前記合成画像に基づいて、前記文書の文字情報を表わす１つ以上の部分を識別するステップと、
前記文書内に表わされた文字情報に基づいて、識別された前記文書の各部分を分類し、分類された各部分が金融取引に関連するか否かを判断するステップとを含み、当該判断は部分の分類に基づくものであり、
金融取引に関連しないと判断された各部分を前記合成画像から削除するステップとを含む、請求項９に記載のコンピュータプログラム製品。
【請求項１１】
前記コンピュータプログラム製品は、前記モバイル装置に指示して、金融取引に関連すると判断された部分を整列させるステップと、第２合成画像を生成するステップとを実行させるように構成された命令をさらに含み、
前記第２合成画像は、
前記合成画像の画像サイズとほぼ同様の画像サイズを有し、
前記合成画像の画像解像度とほぼ同様の画像解像度を有し、
前記金融取引に関連しない文字情報を含んでおらず、
前記金融取引に関連する文字情報を含んでおり、前記金融取引に関連する文字情報を含む複数の文字は整列されている、請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
前記モバイル装置に指示して、前記複数の画像を選択するように構成された前記命令は、前記モバイル装置に指示して、複数のフレーム対を定義するように構成された命令をさらに含み、
前記フレーム対の各々は、参照フレームおよび検査フレームで構成され、
前記参照フレームおよび前記検査フレームの各々は、前記映像データから選択される、請求項１に記載のコンピュータプログラム製品。
【請求項１３】
前記モバイル装置に指示して、前記複数の画像を選択するように構成された前記命令は、前記モバイル装置に指示して、各フレーム対内の前記参照フレームと前記検査フレームとの間のオーバラップ量を決定するステップと、前記参照フレームと前記検査フレームとの間のオーバラップ量が所定のオーバラップ閾値よりも大きい各フレーム対に対応する画像を選択するステップとを実行させるように構成された命令をさらに含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記オーバラップ量は、前記文書に対応しており、
前記オーバラップ量は、前記参照フレームに表わされた背景に対応しておらず、
前記オーバラップ量は、前記検査フレームに表わされた背景に対応していない、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記所定のオーバラップ閾値は、前記参照フレームの長さの少なくとも４０％に対応する、請求項１３に記載のコンピュータプログラム製品。
【請求項１６】
前記モバイル装置に指示して、前記合成画像を生成するように構成された命令は、前記モバイル装置に指示して、少なくとも１つのフレーム対内の前記参照フレームおよび前記検査フレームの各々の文字情報を検出するように構成された命令を含み、
前記文字情報は、前記文書に表わされている、請求項１２に記載のコンピュータプログラム製品。
【請求項１７】
前記モバイル装置に指示して、少なくとも１つのフレーム対内の前記参照フレームおよび前記検査フレームの各々の文字情報を検出するように構成された命令は、前記モバイル装置に指示して、以下のステップを実行させるように構成された命令をさらに含み、当該以下のステップは、
前記参照フレームにおいて、前記文字情報の一部またはすべてを表わす前記文書の少なくとも１つの矩形部分を定義するステップと、
前記検査フレームにおいて、前記文字情報の一部またはすべてを表わす前記文書の少なくとも１つの対応矩形部分を定義するステップと、
前記参照フレームに表わされた文書を前記検査フレームに表わされた文書と整列させるステップとを含み、当該整列は、
前記矩形部分のうち少なくとも１つに表わされた文字情報と、
前記対応矩形部分のうち少なくとも１つに表わされた文字情報とに基づいて行われる、請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記文字情報は、
前記矩形部分に表わされた１つ以上の文字のＩＤと、
前記対応矩形部分に表わされた１つ以上の文字のＩＤと、
前記矩形部分に表わされた文字の配列と、
前記対応矩形部分に表わされた文字の配列と、
前記矩形部分に表わされた１つ以上の文字の位置と、
前記対応矩形部分に表わされた１つ以上の文字の位置と、
前記矩形部分に表わされた１つ以上の文字の絶対サイズと、
前記対応矩形部分に表わされた１つ以上の文字の絶対サイズと、
前記対応矩形部分に表わされた１つ以上の文字のサイズに対する前記矩形部分に表わされた１つ以上の文字のサイズと、
前記矩形部分に表わされた１つ以上の文字のサイズに対する前記対応矩形部分に表わされた１つ以上の文字のサイズと、
前記矩形部分に表わされた１つ以上の文字の色と、
前記対応矩形部分に表わされた１つ以上の文字の色と、
前記矩形部分に表わされた１つ以上の文字の形状と、
前記対応矩形部分に表わされた１つ以上の文字の形状とのうち少なくとも１つを含む、請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記モバイル装置に指示して、前記検査フレームに表わされた文書を前記参照フレームに表わされた文書と整列させるように構成された命令は、前記モバイル装置に指示して、少なくとも前記矩形部分および前記対応矩形部分に対する光学文字認識（ＯＣＲ）を実行させるように構成された命令をさらに含む、請求項１７に記載のコンピュータプログラム製品。
【請求項２０】
前記モバイル装置に指示して、前記合成画像を生成するように構成された命令は、前記モバイル装置に指示して、以下のステップを実行させるように構成された命令を含み、当該以下のステップは、
少なくとも１つの前記フレーム対内の前記参照フレームおよび前記検査フレームの少なくとも一方のスキュー角を検出するステップを含み、前記スキュー角は、前記文書に対応しており、０．０度を超える大きさを有し、
前記参照フレームおよび前記検査フレームの少なくとも一方の前記スキュー角を補正するステップを含み、
前記合成画像に表わされた前記文書は、約０．０度のスキュー角を有する、請求項１２に記載のコンピュータプログラム製品。
【請求項２１】
前記コンピュータプログラム製品は、前記モバイル装置に指示して、前記映像データに対して低解像度処理を実行させるように構成された命令を含み、
前記モバイル装置に指示して、前記文書の検出、前記文書の位置の追跡および前記複数の画像の選択を実行させるように構成された命令は、前記モバイル装置に指示して、低解像度処理された映像データを用いて、前記文書の検出、前記文書の位置の追跡および前記複数の画像の選択を実行させるように構成されている、請求項１に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、デジタル映像の撮影およびデジタル映像データの処理に関し、より具体的には、モバイル装置を用いて、デジタル映像データの撮影および処理に関し、さらに具体的には、各フレームが少なくとも「長尺（long）」文書の一部を表わす映像データを撮影し、撮影された映像データを処理することによって、「長尺」文書の全体を表わす単一の合成画像を生成することに関する。
【背景技術】
【０００２】
発明の背景
現代のモバイル装置は、文書、人物、自動車等を含む多様なオブジェクトの画像の撮影に良く適応している。モバイル装置の画像撮影素子の機能および／または処理能力の改善によって、モバイル装置を用いてデジタル画像データの撮影および／または処理を行うためのアプリケーションは、ますますモバイル装置によって推進される経済において、より注目されている。
【０００３】
しかしながら、モバイル装置のハードウェアの制約およびモバイル装置を用いた画像の撮影における実質的な制約が、効率的かつ効果的なデジタル画像処理に対して重要な課題となっている。たとえば、多くの企業内で情報伝達の好適な媒体としての電子文書の普及および高品質画像データを撮影する有能な手段としてのモバイル技術の出現に伴い、多くの企業は、モバイル装置による文書の撮影および処理方法を採用し始める。特定の状況において、一部の文書が大きすぎるため、後続処理に必要する十分な解像度で単一の画像に撮影できない。
【０００４】
従来の画像撮影および処理のアルゴリズム、特に、モバイル装置を撮影装置として使用するために構成された画像撮影および処理のアルゴリズムを使用することは、より現代的な自動化方法を使用する場合に大きな恩恵を受ける非常に有用な技術の実現を妨げる。
【０００５】
したがって、上記の課題を克服するように画像データの撮影および／または処理を行うことができ、特にモバイル装置を用いて「長尺」文書を撮影およびそのデータを処理するユーザの能力を改善するできるシステム、方法および／またはコンピュータプログラム製品を提供することは、有益であろう。
【発明の概要】
【課題を解決するための手段】
【０００６】
発明の概要
モバイル装置で撮影した画像をステッチすることによって長尺文書を形成するためのシステムおよび方法が開示されている。
【０００７】
一実施形態において、方法は、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備える。また、方法は、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【０００８】
別の実施形態において、システムは、ロジックを実行させるように構成されたモバイル装置を含み、このロジックは、実行されると、モバイル装置に指示して、以下のステップを実行させるように構成され、これらのステップは、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備え、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【０００９】
さらに別の実施形態において、コンピュータプログラム製品は、モバイル装置によって実行可能な命令を記憶するコンピュータ読取可能な媒体を含み、これらの命令は、実行されると、モバイル装置に指示して、以下のステップを実行させるように構成され、これらのステップは、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備え、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【００１０】
当然ながら、前述した概要は、本明細書に開示された発明の構想および実施形態の単なる一例として理解されるべきであり、いずれも本明細書の範囲を限定するものとして考えるべきではない。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に従ったネットワークコンピューティング環境を示す簡略図である。
【図２】一実施形態に従ったネットワークと通信するコンピュータワークステーションを示す概略図である。
【図３】一実施形態に従った長尺文書を示す例示的な概略図である。
【図４】図４Ａ〜４Ｃは、一実施形態に従った長尺文書の撮影および処理アルゴリズムのさまざまな段階における図３に示された長尺文書の一部を示す図である。
【図５】一実施形態に従った方法のフローチャートを示す図である。
【図６】一実施形態に従った方法のフローチャートを示す図である。
【図７】一実施形態に従った方法のフローチャートを示す図である。
【発明を実施するための形態】
【００１２】
詳細な説明
以下の説明は、本発明の一般的な原理を例示する目的で記載され、本明細書に保護される発明の構想を限定することを意図していない。さらに、本明細書に記載された特定の特徴は、さまざまな可能な組合および置換の各々に記載された他の特徴と組合わせて使用することができる。
【００１３】
本明細書において特に指定しない限り、すべての用語は、明細書から暗示される意味および当業者によって理解されるおよび／または辞書、論文などに定義される意味を含むように、可能な限り最も広い解釈が与えられるべきものである。
【００１４】
また、注意すべきことは、特に指定しない限り、本明細書および添付の特許請求の範囲に使用された単数形ものは、複数形のものを含むことである。
【００１５】
本願は、画像処理に関する。
画像（たとえば写真、図形、略図、単一フレームの映画、映像、フィルム、クリップなど）は、好ましくはカメラ、特にモバイル装置の画像撮影素子によって撮影されたデジタル画像である。本明細書から理解できるように、モバイル装置は、物理的な接続（たとえばワイヤ、コード、ケーブルなど）を介して電力が供給されなくてもデータを受信することができ、かつ、物理的なデータ接続（たとえばワイヤ、コード、ケーブルなど）を介在しなくてもデータを受信することができる任意の装置である。本開示の範囲に含まれるモバイル装置は、携帯電話、スマートフォン、タブレット、携帯情報端末、iPod（登録商標）、iPad（登録商標）、およびBLACKBERRY（登録商標）装置などの代表的な装置を含む。
【００１６】
しかしながら、さまざまな機能の説明から明らかになるように、本明細書に開示されたモバイル画像の処理アルゴリズムは、必要に応じて何らかの修正を行ってから、スキャナおよび多機能周辺装置（ＭＦＰ）から得た画像に適用することができる。同様に、いくつかの手法において、本明細書に開示された処理アルゴリズムを用いて処理された画像を、従来のスキャナ処理アルゴリズムを用いてさらに処理してもよい。
【００１７】
当然ながら、本明細書に記載のさまざまな実施形態は、ハードウェア、ソフトウェア、またはその所望の組み合わせを用いて実現し得る。そのために、本明細書に記載のさまざまな機能を実現することができる任意種類のロジックを使用してもよい。
【００１８】
モバイル装置の使用における１つの利点は、データプランを用いる場合、スキャナに依存する以前の方法よりも、撮影された画像に基づく画像処理および情報処理をより便利な能率的且つ統合された方法で行うことができる点である。しかしながら、さまざまな理由によって、モバイル装置を文書の撮影および／または処理装置として使用することは、今までは不可能であると考えられてきた。
【００１９】
一手法において、画像は、モバイル装置の画像撮影素子によって撮影されてもよい。「画像撮影素子」という用語は、装置の外部にある物理的なオブジェクト、たとえば一枚の紙の画像を撮影することができる任意種類の装置を含むものとして広く解釈しなければならない。「画像撮影素子」という用語は、周辺装置としてのスキャナまたは多機能装置を包含しない。任意種類の画像撮影素子を使用してもよい。好ましい実施形態は、より高い解像度、たとえば８ＭＰ以上、理想的には１２ＭＰ以上の解像度を有する画像撮影素子を使用することがある。画像の撮影は、カラーで、無彩色で、白黒で、またはそれ以外の既知の光学効果を利用して行ってもよい。「画像」という用語は、本明細書に言及される場合、画像撮影素子の出力に対応する任意種類のデータ、たとえば生のデータ、処理済みのデータなどを含むように意図している。
【００２０】
「長尺文書」という用語は、本明細書に言及される場合、たとえば、文書および／または文書内容の後続処理を達成するのに十分な解像度で、たとえば、個々の文字の位置およびＩＤを識別するのに十分な解像度で、線条および画像などの文書特徴、バーコードまたは（たとえば、実質的に「＋」記号を示す）登録記号などの参照オブジェクトの位置およびＩＤを識別するのに十分な解像度で、および／または文書自体を画像データに表わされた背景テクスチャから区別するのに十分な解像度で、単一の静止画像に撮影できない任意種類の文書を含むように理解すべきである。好適な方法において、「十分な解像度」は、１インチ約２００ドット（ＤＰＩ）または１インチ２００ピクセル（ＰＰＩ）に相当する解像度以上の解像度として理解されるべきである。
【００２１】
以下でより詳細に説明するように、「長尺文書」の代表的な形は、当業者なら本明細書を読めば理解できるように、領収書、（たとえば、幅約８．５インチおよび長さ１４インチのサイズを有する）法的文書、約束手形、抵当証券、権利書、証書、ポスター、バナー、版画、フォーム、封筒などを含む。
【００２２】
換言すれば、さまざまな実施形態において、文書がその最長寸法に沿って約１１インチを超える長さを有する場合および／または文書が少なくとも約２．５：１のアスペクト比を有する場合、その文書は、「長尺」であると見なされてもよい。
【００２３】
画像化される文書が「長尺」である実施形態において、撮影中に画像撮影素子および文書の長手軸が垂直になるように、画像撮影素子を文書の幅方向に対して配向することは、特に有利である。このようにして、文書およびカメラの長手軸が平行に並んでいるときよりも、原稿から所定の距離にあるカメラのファインダに多くの文書を取込むことができるため、撮影される画像の有効解像度を増加することができる。
【００２４】
また、「文字情報」という用語は、本明細書に言及される場合、テキストに含まれる、テキストによって示される、またはテキストから由来する任意種類およびすべての種類の情報を含むように理解すべきである。たとえば、当業者なら本明細書を読めば理解できるように、文字情報は、文書上の文字の位置、文書に表わされた１つ以上の文字（たとえば、英字、数字、記号など）のＩＤ、文書に表わされた一連の文字のＩＤ、文書に表わされた１つ以上の文字の部分形状または全体形状、１つ以上の文字のサイズ（異なる手法において絶対サイズまたは相対サイズ）、１つ以上の文字の色彩、および１つ以上の文字に対応するフォント種類などを含むように理解すべきである。
【００２５】
好適には、文字の形状は、文字のＩＤと区別するように、文書に存在するマーキングの外観を指し、必ずしもマーキングの全体を含まなくてもよく、マーキングが文字である場合に、必ずしもマーキングによって表わされる文字のＩＤを含まなくてもよい。
【００２６】
「文書特徴」という用語は、本明細書に言及される場合、「文字情報」の他に、文書の任意種類およびすべての種類の識別特徴を含むように理解すべきである。たとえば、さまざまな手法において、文書特徴は、文書自身のサイズまたは形状を含んでもよい。また、当業者なら本明細書を読めば理解できるように、文書特徴は、文書に示される任意数のマーキング、たとえば、線条、画像、ロゴ、署名、ホログラム、透かしマークなどの存在、非存在、サイズ、形状および／または位置を含むことができる。さらに、文書特徴は、たとえば、文書の一部または全体に対応する色彩情報、たとえば文書の背景色、文書内の目標領域（たとえば、画像、ロゴ、ホログラム、署名などを示す領域）に対応する色彩分布および／または文書が色彩情報を示すか否かという判断を含むことができる。
【００２７】
１つの手法において、撮影される長尺文書に対して画像撮影素子の相対的動きを追跡するために、画像撮影素子動き追跡器を設ける。追跡処理を加速し、スマートフォンの電力消耗を低減するために、迅速かつ効率的な画像撮影素子の追跡アルゴリズムが適用される。この画像撮影素子追跡アルゴリズムは、元の撮影画像の解像度を低下し、低解像度画像内の画素数を減少する。画像の参照フレームおよび検査フレームからサンプリングされた画素は、直接比較される。最小のマッチング誤差を有する場合、最良のマッチングであると見なされる。
【００２８】
映像の一連のフレームに対して動作を行う実施形態の場合、加算された画像撮影素子移動軌跡が評価される。加算された画像撮影素子の動き変位量が所定の閾値に達したときに、画像が撮影される。画像は、録画モードまたは撮影モードのいずれかで撮影される。画像振れを回避するために、追跡システムは、画像を撮影する間に画像撮影素子を動かさない方が良いことをユーザに通知することができる。
【００２９】
たとえば、長尺文書に関するいくつかの手法において、それぞれが長尺文書の部分画像である一連の画像を撮影する。追跡された隣接する撮影画像間のオーバラップ領域は、その後の精細オーバラップマッチングまたは文字ブロックマッチング時の曖昧さを減らすための制約を与える。精細オーバラップマッチングの場合、文字の形状、文字の位置、文字のＩＤ、文字のサイズ、文字の色彩、文字のフォントを含むがこれらに限定されない文字情報は、画像のオーバラップ領域内の文字を認識するために適用される。
【００３０】
精細オーバラップマッチングは、文字ブロックマッチングの技術に基づいて行うことができる。文字ブロックマッチングを行うために、強力な文字行検出器は、認識された文字および関連する取囲区域に適用される。強力な文字行検出器は、認識された文字の位置に基づいて認識された文字をクラスタ化し、異なる文字行に分類する。文字行を検出した後、文字ブロックマッチングアルゴリズムを適用して、最も合致する文字行を見つける。文字ブロックマッチングアルゴリズムは、異なる配向仮説を用いて２つの文字ブロックの間の相関を比較することによって、最も合致する文字行を検索する。最も合致する文字行を見つけた後、２つの文字行の取囲区域を用いて、連続する画像から現在画像までの変換行列を推定する。連続する画像を現在画像の平面にマッピングし、画像の変形および混合処理を適用する。
【００３１】
このようにして、長尺文書の単一複合画像は、十分な解像度を有するように生成され、多くの有用な環境および用途において長尺文書の後続処理を可能にする。
【００３２】
たとえば、１つの一般的な実施形態において、方法は、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備え、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【００３３】
別の一般的な実施形態において、システムは、システムは、ロジックを実行させるように構成されたモバイル装置を含み、このロジックは、実行されると、モバイル装置に指示して、以下のステップを実行させように構成され、これらのステップは、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備え、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【００３４】
さらに別の一般的な実施形態において、コンピュータプログラム製品は、モバイル装置によって実行可能な命令を記憶するコンピュータ読取可能な媒体を含み、これらの命令は、実行されると、モバイル装置に指示して、以下のステップを実行させるように構成され、これらのステップは、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを含み、撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備え、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを含む。
【００３５】
本明細書の記載は、当業者が本発明を実施および使用することができるように示され、本発明の特定の用途およびその必要条件という文脈で行われる。開示された実施形態のさまざまな変形は、当業者にとって容易に分かるであろう。また、本明細書に定義された一般的な原理は、本発明の精神および範囲から離脱することなく他の実施形態および用途に応用することができる。したがって、本発明は、記載された実施形態に限定されることを意図しておらず、本明細書に開示された原理および特徴に従う最も広い範囲に一致するものである。
【００３６】
特に、本明細書に記載された発明のさまざまな実施形態は、複数のコンピュータシステム間の通信手段としてインターネットを用いて実現される。当業者なら理解するように、本発明は、インターネットを通信媒体として使用することに限定されず、本発明の代替方法は、私用イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、またはそれ以外の通信手段を使用することができる。さらに、有線、無線（たとえば無線周波）および光通信リンクのさまざまな組合わせを利用してもよい。
【００３７】
本発明の一実施形態を実行し得るプログラム環境は、例示として、汎用コンピュータ、またはハンドヘルドコンピュータ等の専用機器を、１つ以上含む。このような機器（たとえばプロセッサ、メモリ、データ記憶装置、入力および出力装置）の詳細は、周知であるため、明瞭化のために省略される。
【００３８】
また、本発明の技術は、さまざまな科学技術を用いて実現し得ることも理解されるべきである。たとえば、本明細書に記載の方法は、コンピュータシステム上で実行されるソフトウェアで実現されてもよく、または、方法の動作を実行するための１つ以上のプロセッサおよびロジック（ハードウェアおよび／またはソフトウェア）、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのプログラマブルロジックデバイス、および／またはこれらをさまざまに組合わせたものを利用するハードウェアで実現されてもよい。例示的な一手法において、本明細書に記載の方法は、コンピュータ読取可能な物理的（たとえば非一時的）媒体などの記録媒体に記憶されたコンピュータ実行可能な一連の命令によって、実現されてもよい。さらに、本発明の特定の実施形態は、オブジェクト指向ソフトウエアプログラムを採用し得るが、本発明は、そのように限定されず、コンピュータの動作を指示する他のソフトウエアプログラムを採用するように容易に適応することができる。
【００３９】
また、本発明は、計算装置（たとえばプロセッサ）および／またはシステムによって実行し得るコンピュータコードを記憶するコンピュータ読取可能な記録または信号媒体を含むコンピュータプログラム製品の形態で、提供されることができる。コンピュータ読取可能な記録媒体は、計算装置またはシステムに使用されるコンピュータコードを格納することが可能な任意の媒体、たとえば、読取専用のＣＤおよびＤＶＤおよび書込可能なＣＤおよびＤＶＤなどの光媒体、磁気メモリまたは媒体（たとえばハードディスクドライブ、テープ）、半導体メモリ（たとえばフラッシュメモリおよびその他のポータブルメモリカードなど）、チップに符号化されたファームウェアなどを含むことができる。
【００４０】
コンピュータ読取可能な信号媒体は、上記記録媒体の分類に含まれないものを指す。たとえば、例示としてのコンピュータ読取可能な信号媒体は、たとえば物理的なネットワークまたは仮想的なネットワークを介して、システム内またはシステム間に一時的な信号を伝達するまたは転送する。
【００４１】
図１は、一実施形態に係るアーキテクチャ１００を示す。図１に示すように、第１遠隔ネットワーク１０４および第２遠隔ネットワーク１０６を含む複数の遠隔ネットワーク１０２が設けられている。ゲートウェイ１０１は、遠隔ネットワーク１０２と近接ネットワーク１０８との間に接続されてもよい。このネットワークアーキテクチャ１００の環境において、ネットワーク１０４、１０６は各々、インターネット、公衆電話交換網（ＰＳＴＮ）、内部電話網などのようなＬＡＮ、ＷＡＮを含むがこれに限定されない形をとることができる。
【００４２】
使用時、ゲートウェイ１０１は、遠隔ネットワーク１０２から近接ネットワーク１０８への入口点として機能する。このため、ゲートウェイ１０１は、ゲートウェイ１０１に到達した所定のデータパケットを導くことができるルータとして、および所定のパケットにゲートウェイ１０１に出入りする実際の経路を与えるスイッチとして機能することができる。
【００４３】
近接ネットワーク１０８に接続され、ゲートウェイ１０１を介して遠隔ネットワーク１０２からアクセス可能な少なくとも１つのデータサーバ１１４がさらに含まれる。なお、データサーバ１１４は、任意種類の計算装置／グループウェアを含んでもよい。複数のユーザ装置１１６は、各データサーバ１１４に接続されている。このようなユーザ装置１１６は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、プリンタまたは他の種類のロジックを含んでもよい。なお、一実施形態において、ユーザ装置１１１は、ネットワークのいずれかに直接接続されてもよい。
【００４４】
１つの周辺装置１２０または一連の周辺装置１２０、たとえば、ファクシミリ機、プリンタ、ネットワーク記憶ユニットなどが、ネットワーク１０４、１０６、１０８のうちの１つ以上に接続されてもよい。なお、データベース、サーバおよび／またはその他構成要素が、ネットワーク１０４、１０６、１０８に接続された任意種類のネットワーク要素とともに使用されてもよく、またはこのようなネットワーク要素に組込まれてもよい。本明細書の文脈において、ネットワーク要素は、ネットワークの任意の構成要素を意味し得る。
【００４５】
いくつかの手法によれば、本明細書に記載の方法およびシステムは、仮想システム、および／または１つ以上の他のシステムを模擬するシステム、たとえばＭＡＣ  ＯＳ環境を模擬するＵＮＩＸ（登録商標）システム、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）環境を仮想的にホストするＵＮＩＸシステム、ＭＡＣ  ＯＳ環境を模擬するＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳシステムなどとともに実現されてもよく、および／またはそのシステム上で実現されてもよい。いくつかの実施形態において、このような仮想化および／または模擬化は、ＶＭＷＡＲＥソフトウェアを使用することによって向上させられてもよい。
【００４６】
さらに他の手法において、１つ以上のネットワーク１０４、１０６および１０８は、一般的に「クラウド」と呼ばれているシステムのクラスタを示すことができる。クラウドコンピューティングにおいて、好ましくはオンデマンドで、処理能力、周辺機器、ソフトウェア、データ処理および／または記憶、サーバなどの共有リソースをクラウド内の任意のシステムに提供することによって、多数の計算システムの間にサービスのアクセスおよび分配を行うことを可能にする。クラウドコンピューティングは、典型的にはクラウド内に動作するシステムの間にインターネットまたはその他高速接続（たとえば４Ｇ  ＬＴＥ、光ファイバーなど）を必要とするが、システムの他の接続技術を使用してもよい。
【００４７】
図１は、一実施形態に係るアーキテクチャ１００を示す。図１に示すように、第１遠隔ネットワーク１０４および第２遠隔ネットワーク１０６を含む複数の遠隔ネットワーク１０２が設けられている。ゲートウェイ１０１は、遠隔ネットワーク１０２と近接ネットワーク１０８との間に接続されてもよい。このネットワークアーキテクチャ１００の環境において、ネットワーク１０４、１０６は各々、インターネット、公衆電話交換網（ＰＳＴＮ）、内部電話網などのようなＬＡＮ、ＷＡＮを含むがこれに限定されない形をとることができる。
【００４８】
使用時、ゲートウェイ１０１は、遠隔ネットワーク１０２から近接ネットワーク１０８への入口点として機能する。このため、ゲートウェイ１０１は、ゲートウェイ１０１に到達した所定のデータパケットを導くことができるルータとして、および所定のパケットにゲートウェイ１０１に出入りする実際の経路を与えるスイッチとして機能することができる。
【００４９】
近接ネットワーク１０８に接続され、ゲートウェイ１０１を介して遠隔ネットワーク１０２からアクセス可能な少なくとも１つのデータサーバ１１４がさらに含まれる。なお、データサーバ１１４は、任意種類の計算装置／グループウェアを含んでもよい。複数のユーザ装置１１６は、各データサーバ１１４に接続されている。このようなユーザ装置１１６は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、プリンタまたは他の種類のロジックを含んでもよい。なお、一実施形態において、ユーザ装置１１１は、ネットワークのいずれかに直接接続されてもよい。
【００５０】
１つの周辺装置１２０または一連の周辺装置１２０、たとえば、ファクシミリ機、プリンタ、ネットワーク記憶ユニットなどが、ネットワーク１０４、１０６、１０８のうちの１つ以上に接続されてもよい。なお、データベース、サーバおよび／またはその他構成要素が、ネットワーク１０４、１０６、１０８に接続された任意種類のネットワーク要素とともに使用されてもよく、またはこのようなネットワーク要素に組込まれてもよい。本明細書の文脈において、ネットワーク要素は、ネットワークの任意の構成要素を意味し得る。
【００５１】
いくつかの手法によれば、本明細書に記載の方法およびシステムは、仮想システム、および／または１つ以上の他のシステムを模擬するシステム、たとえばＭＡＣ  ＯＳ環境を模擬するＵＮＩＸ（登録商標）システム、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）環境を仮想的にホストするＵＮＩＸシステム、ＭＡＣ  ＯＳ環境を模擬するＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳシステムなどとともに実現されてもよく、および／またはそのシステム上で実現されてもよい。いくつかの実施形態において、このような仮想化および／または模擬化は、ＶＭＷＡＲＥソフトウェアを使用することによって向上させられてもよい。
【００５２】
さらに他の手法において、１つ以上のネットワーク１０４、１０６および１０８は、一般的に「クラウド」と呼ばれているシステムのクラスタを示すことができる。クラウドコンピューティングにおいて、好ましくはオンデマンドで、処理能力、周辺機器、ソフトウェア、データ処理および／または記憶、サーバなどの共有リソースをクラウド内の任意のシステムに提供することによって、多数の計算システムの間にサービスのアクセスおよび分配を行うことを可能にする。クラウドコンピューティングは、典型的にはクラウド内に動作するシステムの間にインターネットまたはその他高速接続（たとえば４Ｇ  ＬＴＥ、光ファイバーなど）を必要とするが、システムの他の接続技術を使用してもよい。
【００５３】
図２は、一実施形態に従って、図１のユーザ装置１１６および／またはサーバ１１４に関連する代表的なハードウェア環境を示している。この図に示されたのは、システムバス２１２を介して相互に接続されたマイクロプロセッサ等の中央処理装置２１０および多数の他の装置を備えるワークステーションの典型的なハードウェア構成である。
【００５４】
図２に示されたワークステーションは、ランダムアクセスメモリ（ＲＡＭ）２１４と、読取専用メモリ（ＲＯＭ）２１６と、ディスク記憶ユニット２２０のような周辺装置をバス２１２に接続するためのＩ／Ｏアダプタ２１８と、キーボード２２４、マウス２２６、スピーカ２２８、マイク２３２、および／またはタッチスクリーンおよび画像撮影素子（図示せず）などの他のユーザインターフェイス装置をバス２１２に接続するためのユーザインターフェイスアダプタ２２２と、ワークステーションを通信ネットワーク２３５（たとえばデータ処理ネットワーク）に接続するための通信アダプタ２３４と、ディスプレイ装置２３８をバス２１２に接続するためのディスプレイアダプタ２３６とを含む。
【００５５】
ワークステーションには、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のオペレーティングシステム（ＯＳ）、ＭＡＣ  ＯＳ、およびＵＮＩＸ（登録商標）  ＯＳなどのオペレーティングシステムが常駐してもよい。好ましい実施形態は、上記以外のプラットフォームおよびオペレーティングシステム上で実現することもできることが理解されるであろう。好ましい実施形態は、オブジェクト指向プログラミング技法とともに、ＪＡＶＡ（登録商標）、ＸＭＬ、Ｃ、および／またはＣ＋＋言語、またはその他のプログラミング言語を用いて記述されてもよい。複雑なアプリケーションの開発に多く使用されるオブジェクト指向プログラミング（ＯＯＰ）を用いてもよい。
【００５６】
アプリケーションは、モバイル装置にインストールされてもよく、たとえばモバイル装置の不揮発性メモリに格納されてもよい。１つの手法において、このアプリケーションは、モバイル装置上で画像処理の実行を指示する命令を含む。別の手法において、このアプリケーションは、ネットワークサーバなどの遠隔サーバに画像の送信を指示する命令を含む。さらに他の手法において、このアプリケーションは、モバイル装置上で一部またはすべての処理を実行するか否か、および／または画像を遠隔場所に送信するか否かを判断するように指示する命令を含むことができる。
【００５７】
さまざまな態様において、本明細書に開示された方法、システムおよび／またはコンピュータプログラム製品は、ページ検出、矩形化、不均一照明の検出、照明の正規化、解像度の推定、振れの検出などの画像処理を利用するおよび／または含むことができる。
【００５８】
さまざまな態様において、本明細書に開示された方法、システムおよび／またはコンピュータプログラム製品は、任意の分類処理および／またはデータ抽出処理、たとえば、オブジェクトの特性のうち少なくとも一部に基づく種類に従ってデジタル画像に表わされたオブジェクトを分類する処理、オブジェクトの特性および／またはオブジェクトのクラスに関する情報を用いて実行する画像カスタム処理、特徴ベクトルを構築しておよび／または用いて分類を実行する処理、特徴ベクトルを構築しておよび／または用いてオブジェクトおよび／またはオブジェクトクラス用のデータ抽出モデルを作る処理、データ抽出モデルを用いてデジタル画像からデータを抽出する処理を利用するおよび／または含むことができる。
【００５９】
長尺文書の撮影
図３は、一実施形態に従った例示的な「長尺」画像３００を示す概略図である。長尺文書画像３００は、実質的に領収書を示すが、本明細書に定義されたようにおよび本明細書の説明を読めばより理解するように、長尺文書が任意数または任意種類の「長尺文書」を含むことは、当業者には理解するのであろう。図３に示された画像３００は、明らかに、画像背景３０４と画像前景３０２とを含む。好ましくは、画像前景３０２は、長尺文書に相当する。
【００６０】
さらに図３に示すように、この長尺文書は、文字情報３０６および３０６ａ、複数の境界線または分離線３０８、バーコード３１０などの参照オブジェクト、および画像またはロゴ３１２などの複数の特徴を含む。これらの特徴は、文書の全体に任意に配置されてもよく、部分的にまたは完全にオーバラップしていてもよい。たとえば、いくつかの実施形態において、示された文字情報３０６および３０６ａは、オーバラップしている。
【００６１】
図４Ａ〜４Ｃは、本明細書に開示されたように、さまざまな完成段階における長尺文書の撮影処理のいくつかの実施形態を示す。図４Ａ〜４Ｃの各々は、選択的に撮影された画像４００、４１０および４２０に（それぞれ）対応する。これらの画像４００、４１０および４２０は、（たとえば、図３に示された）文書の全体を表わす単一の合成画像を生成するために利用される。
【００６２】
１つの例示的な実施形態において、「長尺文書の自動ステッチ」は、カメラで撮影したビデオまたは別々の写真に部分的に重なった文書画像をステッチすることができる自動処理を意味する。たとえば、モバイル装置に一般的に使用されるカメラ（たとえば、約８メガピクセルの解像度を有するカメラ）は、長尺領収書を単一の画像に撮影するのに十分な高解像度を備えていない。同一の装置で十分な高解像度を有する長尺領収書の画像を得るために、長尺領収書のいくつかの部分オーバラップ画像を撮影し、ステッチすればよい。図４Ａ〜４Ｃにおいて、オーバラップ部分を有する３つの画像を撮影し、ステッチすることによって、図３に示された長尺文書を実質的に示す１つの画像を形成することができる。
【００６３】
さらに他の手法において、長尺文書の自動ステッチにおける問題は、パノラマ画像のステッチと同様である。２つの問題の主な違いは、長尺文書をステッチする場合、カメラが文書に近いため、その結果、カメラの微動が画像振れを引き起こすことができることである。そのため、長尺文書のステッチは、より困難である。パノラマ画像のステッチのために開発された技術のいくつかは、長尺文書のステッチに適用することができる。しかしながら、モバイル装置の処理能力が限られるため、これらの技術を長尺文書のステッチに直接適用することには、１つ以上のＧＰＵ加速装置および／またはマルチコアＣＰＵサポートなどの追加的な処理資源を使用する必要があるため、ステッチされた文書の継ぎ目には乱れが存在する。モバイル装置のハードウェア限界を考慮して、効率的な長尺文書のステッチ手法を提供する。以下にさらに説明するように、この手法は、文書の追跡、文字ブロックのマッチング、および画像の合成を含む。
【００６４】
特に文書の撮影に関しては、好ましい実施形態において、ユーザは、机の平坦面に長尺文書を配置し、たとえばモバイル設備で撮影動作を開始する。図３に示すように、ユーザは、文書の縦軸に沿って、好ましくは直線でモバイル装置を連続的に移動する。文書がカメラのファインダから外れてしまう状況を避けるために、できる限り直線でこの移動動作を行う必要がある。
【００６５】
また、撮影された画像の間に文書の見かけサイズ上の変化を回避するために、好ましくは、ユーザは、カメラと文書との間の垂直距離を実質的に定常値に維持する。
【００６６】
また、（たとえばモバイル装置のハードウェア限界内に）文書の追跡を可能にするために、好ましくは、カメラの移動速度を実質的に定常値に維持する。いくつかの手法において、移動の定常性が監視され、移動が所定のパラメータから外れた場合、撮影動作を終了または一時停止することができる。上述したように、所定のパラメータは、動き変位閾値を用いて達成することができる。当業者なら本明細書を読めば理解できるように、特定の状況において許容できる動き変位量は、カメラの解像度およびシャッター速度などに部分的に依存してもよい。
【００６７】
同様に、モバイル装置の追加素子、たとえば加速度計から得られた情報に基づいて、カメラの上下移動を検出および制限することができる。必ずしも事前から長尺文書のサイズを知ることができないため、画像データを用いて上下移動を追跡することが望ましくない。その代わりに、有利的には、装置の加速度計に照会することによって、装置が所定の方向（たとえば垂直方向）に沿って所定の時間で所定量（たとえば、１秒間に１センチ）に移動した場合に応じて、撮影動作を終了または一時停止する。
【００６８】
上記で撮影動作の終了または一時停止に対する言及は、本開示の長尺文書のステッチを放棄する規準ではなく、品質管理対策として理解すべきである。好ましい実施形態において、撮影動作の終了または一時停止の後に、新たな（または同一の）撮影動作が開始（再開）され、後続処理およびステッチングに必要な撮影動作を完了する。
【００６９】
文書の追跡および検出に関しては、好適には、カメラ動き追跡の主な目的は、ビデオ内の文書に対するカメラの動きを追跡することである。有利的には、カメラの動き情報を用いて、隣接する撮影画像間のオーバラップ量を推定する。
【００７０】
さまざまな動き追跡技術および画像表示技術を適用することができる。たとえば、追跡手法は、画素に基づいてもよく、特徴に基づいてもよい。好ましい手法において、直接画素−画像手法を適用して、高い撮影速度でカメラの動きを追跡する。一実施形態において、撮影速度は、たとえば２４フレーム／秒を超えており、別の実施形態において、５９フレーム／秒を超えており、さらに別の実施形態において、３０フレーム／秒を超えている。（カメラの移動がカメラと文書との間の距離上の変化を引き起こすため）、好ましくは、カメラの空中回転移動および上下移動を無視する。その代わりに、（図３および図４Ａ〜４Ｃに示された）文書の長手方向軸に沿った二次元変位動き、すなわち、左右動きおよび上下動きのみを追跡することは、好適である。
【００７１】
好ましくは、カメラ動き追跡モジュールを用いて、文書の画像を撮るべきタイミング、および自動で画像を撮るかまたは手動で画像を撮るかを判断する。たとえば、１つの手法において、文書検知モジュールが画像内に文書が存在することを検出したときに、文書の第１フレームが撮影される。文書画像の次のフレームに関して、文書の画像を撮影すべきタイミングは、好ましくは、図４Ａ〜４Ｃに示された文書の２つの隣接フレーム間の指定されたオーバラップ幅によって決定される。画像の隣接フレーム間の指定されたオーバラップ幅（図４Ａ〜４Ｃには、Ωで示される）を画素数に変換することができる。好ましくは、カメラの動き／変位の累積量が規定値（本明細書において、「オーバラップ閾値」とも称する）に近い場合、システムは、文書の画像を撮影する。
【００７２】
追加的および／または代替的な手法において、本開示の文書追跡技術は、元の画像の解像度を低減するために撮影した画像データに低解像度処理を行うステップと、低解像度処理した画像の画素をサンプリングするステップと、動きベクトルを推定するステップとを含む。
【００７３】
たとえば、一実施形態において、動きベクトルを推定するステップは、このようなシナリオを含む。すなわち、画像の２つの隣接フレームを撮影した場合、第１フレームを参照フレームとして指定し、第２フレームを検査フレームとして指定する。実際の動きベクトルの異なる仮定に応じて、検査フレームの画素強度と参照フレームの画素強度との間の残余誤差を計算する。最小の残余誤差を有する動きベクトルは、仮定の最良動きベクトルとして選択される。好ましくは、残余誤差は、参照フレームと検査フレームとの間のすべての画素の累積強度誤差である。１つの例示的な手法において、仮定された動きベクトルは、（ｘ１，ｙ１）、（ｘ２，ｙ２）、・・・（ｘ１０，ｙ１０）などの１０個である。文書追跡技術は、（たとえば検査フレーム内の）１０個の画素の強度を（たとえば参照フレーム内の）参照画素の強度と比較することができる。最小のマッチング誤差を有する画素は、最良のマッチングである。
【００７４】
文書の追跡は、縁部マスクの生成を含む。参照フレームの四隅近傍の画素は、検査フレームのカメラのファインダから外れる可能性がある。これらの画素を画像マッチングに入れないために、これらの画素にマスクを生成することができる。図４Ｃに示すように、幅Δを有するように縁部マスクを生成することができる。好ましくは、幅Δは、追跡処理の開始時に検出された文書全長の約５％〜約１０％範囲内の値である。
【００７５】
動きベクトルの推定および縁部のマスキングは、文書の全体の撮影および処理が終了するまで、繰り返して行うことができる。
【００７６】
カメラの累積動き変位量が所定の閾値に達した場合、追跡システムは、文書の一部の画像を自動的に撮影し、および／または文書の一部の画像を自動的に撮影することをユーザに通知する。たとえば、図４Ｂにおいて、カメラ動き追跡システムは、第１列に示された第１画像と撮影される第２画像とのオーバラップ量が所定のオーバラップ閾値（たとえば４０％）に概ね等しくなることを検出したときに、画像を撮影する。
【００７７】
図４Ｃが本明細書に開示された技術で撮影された画像の「最後」の部分画像であるため、この部分画像と第２画像とのオーバラップ量は、所定値に必ずしも等しくしなくてもよい。よって、文書の右側部分がカメラのファインダに入ると、画像が撮影される。
【００７８】
好ましい手法において、図４Ａ〜４Ｃに示すように、３つの画像が撮影される。システムは、文書の上端（図４Ａに示された左側）がカメラのファインダ内に入ることを検出した後、第１画像（図４Ａ）を撮影する。カメラ追跡システムは、カメラの変位量が所定の閾値にちょうど達したことを検出したときに、第２画像（図４Ｂ）を撮影する。文書の底端部分（図示の右側）がカメラのファインダに入るときに、第３画像（図４Ｃ）を撮影する。
【００７９】
以下、文字ブロックマッチングを説明する。上述した撮影および追跡技術の好ましい実施形態は、長尺文書の一連の部分的に重なる画像を生成する。これらの画像は、２つの隣接フレーム間にオーバラップを有する。オーバラップ幅は、カメラ動き追跡システムによって推定される。これらのオーバラップ幅は、必ずしも画像の２つ隣接フレーム間の正確なオーバラップ幅に等しくなくてもよいが、画像の２つ隣接フレーム間の正確なオーバラップ幅を表わす。換言すれば、オーバラップ幅は、その後に行われる画像の２つの隣接フレームの精細マッチングに制約を与える。これらの制約は、精細マッチングを行うときの曖昧さを低減する。
【００８０】
しかしながら、最も好ましくは、文書内の文字などの文字情報を用いて、精細マッチングを行うことができる。
【００８１】
他の実施形態において、光学式文字認識（ＯＣＲ）を適用することができる。たとえば、ＯＣＲモジュールは、さまざまな画像内の文字情報に示されている文字の位置およびＩＤを認識する。バーコード、参照オブジェクト、ロゴ、写真などは、これらの画像に存在してもよいが、好ましくは無視される。
【００８２】
一実施形態において、ＯＣＲモジュールを用いて、入力画像を処理する。出力画像は、入力画像にスキュー角除去処理を適用することによって、スキュー角を除去した画像として生成されたため、入力画像と異なる可能性がある。また、ＯＣＲモジュールは、入力画像を認識し、認識された文字および関連する取囲区域の文字情報を出力する。
【００８３】
さらなる実施形態において、認識された文字および関連する取囲区域から文字「行」を見つけるために、強力な文字行発見アルゴリズムを適用することが有利である。強力な文字行アルゴリズムは、クラスタリング技術を利用し、文字取囲区域を入力として使用する。このアルゴリズムは、１行内の文字を１文字行にグループ化する。たとえば、当業者なら本明細書を読めば理解できるように、このアルゴリズムは、まず隣接する文字対を定め、次にこの文字対に隣接する文字対を定めて文字三連対を形成し、その後文字三連対に隣接する文字対を定めて文字四連対を形成する。続いて、画像の所定領域内の文字行は、好ましくは、文字ブロックとして編成される。本明細書に記載したように、文字ブロックは、文字ブロックマッチングの基本比較単位として使用される。
【００８４】
一実施形態において、文字ブロックマッチング手法は、次のように行われる。すなわち、２つの隣接する画像のオーバラップ領域における２つの文字ブロックに対して、少なくとも２つの文字ブロックの間の相関性を計算し、計算した相関性に基づいて、最適なマッチング整列仮定を見つけ、特定の整列仮定に対して、マッチングする（たとえば、実質的に同様の文字のＩＤおよび文字の位置を有する）２つの文字ブロックの文字数に基づいて、文字ブロックマッチングスコアを生成し、文字ブロックマッチングスコアを合計することによって、文字行マッチングスコアを生成する。
【００８５】
以下、「合成画像の生成」としても知られている画像の合成およびステッチングを説明する。さまざまな実施形態において、本明細書に開示された本発明の構想は、以下の特徴の一部またはすべてを含む。
【００８６】
一実施形態において、上述した文字ブロックマッチングの結果に基づいて、最良マッチングした文字ブロック内の文字行の取囲区域を用いて、本明細書において「第１変換行列」とも呼ばれるアフィン変換行列または同形変換行列を推定する。第１変換行列を第２画像（検査フレーム）内のすべての画素に適用することによって、第２画像を第１画像（参照フレーム）の座標系に変換する。このようにして、第２画像が第１画像の平面に調整され、両方の画像に表わされる情報を含む合成画像を生成する。
【００８７】
他の実施形態において、たとえば、第２画像とオーバラップする第３画像に対して、２つの画像について上述した手順と同様の手順を適用することによって、第２変換行列を獲得し、第３画像を第２画像の平面にマッピングすることができる。第１変換行列を第２変換行列で乗算することによって、第３画像を第１画像の平面にマッピングする加算変換行列が得られる。このように、合成されるべき任意の数の画像のために、加算変換行列を生成し、画像に適用することができる。
【００８８】
図５は、本開示の一実施形態に従った長尺文書の撮影を達成するための方法５００の例示的なフローチャートを示している。当業者なら本説明書を読めば理解できるように、方法５００は、図１〜４Ｃに示されているものを含むさまざまな実施形態の任意の環境において実行されることができる。
【００８９】
図５に示すように、方法５００は、動作ステップ５０２を含む。このステップにおいて、モバイル装置の画像撮影素子を使用して撮影動作を開始する。撮影動作は、好ましくは、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを含む。
【００９０】
また、方法５００は、動作ステップ５０４を含む。このステップにおいて、映像データに表わされている文書を取得する。好ましくは、この文書は、本明細書に定義された「長尺文書」である。
【００９１】
さらに、方法５００は、動作ステップ５０６を含む。このステップにおいて、映像データの全体に亘って、検出された文書の位置を追跡する。上述したように、「全体に亘って追跡する」とは、時間に基づく措置およびデータに基づく措置を含むように理解すべきである。換言すれば、文書を映像データの「全体に亘って追跡する」とは、（いくつかの不連続時間間隔に亘って行われても）映像データ全体の各部分において文書を追跡すること、および／または映像データを撮影する期間のすべての時間において文書を追跡することを含む。
【００９２】
さらに、方法５００は、動作ステップ５０８を含む。このステップにおいて、画像撮影素子を使用して、各々が文書の一部を表わしている複数の画像を選択する。複数の画像は、検出された文書の追跡位置および推定された動きベクトルの一部または全体に基づいて、選択される。
【００９３】
さらに、方法５００は、動作ステップ５１０を含む。このステップにおいて、選択された複数の画像のうち少なくとも一部に基づいて合成画像を生成する。
【００９４】
さまざまな実施形態において、方法５００は、排他的にモバイル装置を使用して行われてもよく、または方法の一部がモバイル装置を使用して行われ、他の部分がワークステーションまたはネットワークサーバなどの他のリソースを使用して行われてもよい。好ましくは、この方法は、少なくとも撮影ステップ、検出ステップおよび追跡ステップは、複数の装置において行われる。
【００９５】
さまざまな手法において、本明細書に開示された長尺文書の撮影および処理技術は、コンピュータプログラム製品として具現化することができる。このコンピュータプログラム製品は、本明細書に記載された特徴のいずれかまたはすべてを含むことができる。
【００９６】
たとえば、一実施形態において、コンピュータプログラム製品は、コンピュータ読取可能な命令を格納するコンピュータ読取可能な媒体を含む。これらのコンピュータ読取可能な命令は、実行されると、コンピューティング装置に指示して、方法たとえば図５に示され且つ上記に説明した方法５００を実行することができる。好ましくは、コンピューティング装置は、モバイル装置である。当業者なら本明細書を読めば理解できるように、代替的な実施形態において、コンピューティング装置は、モバイル装置、コンピュータワークステーションおよびネットワークサーバなどの装置の任意の組合わせを含むことができる。しかしながら、理解すべきことは、本明細書に開示された本発明の実施形態は、モバイル装置を動作させ、従来のモバイル装置および画像処理手法を用いた他の方法では不可能な長尺文書の撮影を可能にするように特別に構成されていることである。
【００９７】
さらに、コンピュータプログラム製品は、モバイル装置に指示して、画像の選択に応じて、選択された画像のうち少なくとも一部をモバイル装置のメモリに記憶するように構成された命令を含むことができる。
【００９８】
追跡に関しては、好ましい実施形態において、追跡機能は、推定された複数の動きベクトルにのみ基づいている。さらなる手法において、追跡機能は、複数の動きベクトルの代わりにまたは複数の動きベクトルに加えて、文字情報および／または文書特徴に基づくこともできる。
【００９９】
追加的にまたは代替的に、コンピュータプログラム製品は、モバイル装置に指示して、推定された複数の動きベクトルの一部または全部に基づいて、撮影動作時に画像撮影素子に対応する少なくとも１つの動き変位量を決定し、動き変位量のうち１つが所定の動き変位閾値を超えるという決定に応じて、撮影動作を終了するように構成された命令を含むことができる。
【０１００】
さまざまな手法において、所定の動き変位閾値は、約２５ミクロン〜約５０ミクロン、約３０ミクロン〜約４５ミクロン、約３５ミクロン〜約４０ミクロンの範囲に変動する値、または約３７．５ミクロンという値を有することができる。別の手法において、動き変位閾値は、画素単位で測定された値を有し、約５ピクセル〜約２５ピクセル、約１０ピクセル〜約２０ピクセル、約５ピクセル〜約１０ピクセル、５ピクセル、またはこれらの範囲内の任意値を有することができる。
【０１０１】
さらに他の手法において、追加的にまたは代替的に、モバイル装置に指示して文書を検出するように構成された命令は、モバイル装置に指示して、撮影された映像データに表わされた文書の少なくとも１つの縁部を識別するように構成された命令を含むことができる。
【０１０２】
好ましくは、選択された複数の画像の各々は、文書の一部を表わし、合成画像は、文書の全体を表わす。しかしながら、さらなる実施形態において、合成画像は、文書の一部のみ、たとえば、後続の処理動作または特定の取引に関与する文書の一部のみを表わすことができる。同様に、さらに他の手法において、合成画像は、品質管理条件または他の必要条件（たとえば、画像のフォーマット、画像の解像度、および画像のサイズなど）を満たしている文書の部分を表わし、品質管理条件（または他の必要条件）のうちの１つ以上を満たしていない文書の部分を表わさなくてもよい。
【０１０３】
また、この合成画像は、選択された複数の画像のうち任意の画像の解像度よりも高い画像解像度、および選択された複数の画像のうち任意の画像のサイズよりも大きい画像サイズのうち少なくとも１つの特徴を有することができる。たとえば、合成画像は、この合成画像を形成する複数の画像の長さの合計にほぼ等しい長さを有することができる。
【０１０４】
他の実施形態において、合成画像は、この合成画像を形成する複数の画像の長さの合計にほぼ等しい長さを有することができるが、この合成画像を形成する複数の画像間のオーバラップ量を合計に入れていない。たとえば、オーバラップ量の約半分（５０％）をオーバラップ閾値にした場合、合成画像の長さは、この合成画像を形成する複数の画像の長さ合計の２／３にほぼ等しい。同様に、オーバラップ量の約３分の１（３３％）をオーバラップ閾値にした場合、合成画像の長さは、この合成画像を形成する複数の画像の長さ合計の４／５にほぼ等しい。
【０１０５】
最も好ましくは、選択された画像の各々は、文書の一部を表わし、合成画像は、文書によって記録されたビジネスイベント（たとえば、金融取引、契約の成立）に対応する文書の一部のみを表わす。
【０１０６】
さらなる実施形態において、コンピュータプログラム製品は、モバイル装置に指示して、合成画像に基づいて、文書の文字情報を表わす１つ以上の部分を識別するステップと、文書内に表わされた文字情報に基づいて、識別された文書の各部分を分類し、分類された各部分が金融取引に関連するか否かを判断するステップであって、当該判断は部分の分類に基づくものであるステップと、金融取引に関連しないと判断された各部分を合成画像から削除するステップとを実行させるように構成された命令をさらに含むことができる。
【０１０７】
また、コンピュータプログラム製品は、モバイル装置に指示して、金融取引に関連すると判断された部分を整列させるステップと、第２合成画像を生成するステップとを実行させるように構成された命令をさらに含み、第２合成画像は、合成画像の画像サイズとほぼ同様の画像サイズを有し、合成画像の画像解像度とほぼ同様の画像解像度を有し、金融取引に関連しない文字情報を含んでおらず、金融取引に関連する文字情報を含んでいる。
【０１０８】
好ましくは、金融取引に関連する文字情報を含む複数の文字は、互いに整列され、よって、合成画像に表わされたすべての文字情報は、単一の文書画像（すべての文字情報も同様に物理的な文書内に整列されていると仮定する）と同様に、実質的に単一の方向または角に沿って整列される。
【０１０９】
いくつかの手法において、モバイル装置に指示して、複数の画像を選択するように構成された命令は、モバイル装置に指示して、複数のフレーム対を定義するように構成された命令をさらに含むことができる。フレーム対の各々は、参照フレームおよび検査フレームで構成されてもよく、参照フレームおよび検査フレームの各々は、映像データから選択されてもよい。
【０１１０】
追加的におよび／または代替的に、モバイル装置に指示して、複数の画像を選択するように構成された命令は、モバイル装置に指示して、各フレーム対内の参照フレームと検査フレームとの間のオーバラップ量を決定するステップと、参照フレームと検査フレームとの間のオーバラップ量が所定のオーバラップ閾値よりも大きい各フレーム対に対応する画像を選択するステップとを実行させるように構成された命令をさらに含むことができる。
【０１１１】
好ましくは、オーバラップ量は、文書に対応しており、検査フレームおよび／または参照フレームに表わされた背景テクスチャに対応していない。当業者なら理解できるように、背景テクスチャに基づく（または、背景テクスチャを含むが必ずしもそれに基づかなくてもよい）整列は、文書（または実際に画像に表わされた他のオブジェクト）に対して、偽陽性整列を形成するという望ましくない傾向がある。
【０１１２】
さらに好ましくは、さまざまな実施形態において、所定のオーバラップ閾値は、参照フレームの長さの少なくとも５０％、少なくとも４０％、少なくとも３３％、または少なくとも２５％に対応する。他の手法において、オーバラップ閾値は、特定の参照フレームまたは特定の複数の参照フレームに表わされた文書の部分の長さではなく、文書の長さに関連して定義されてもよい。
【０１１３】
複数の実施形態において、モバイル装置に指示して、合成画像を生成するように構成された命令は、モバイル装置に指示して、少なくとも１つのフレーム対内の参照フレームおよび検査フレームの各々の文字情報を検出するように構成された命令をさらに含む。文字情報は、画像背景に表わされず、文書に表わされる。
【０１１４】
さらなる手法において、モバイル装置に指示して、参照フレームおよび検査フレーム内の文字情報を検出するように構成された命令は、モバイル装置に指示して、参照フレームにおいて、文字情報の一部またはすべてを表わす文書の少なくとも１つの矩形部分を定義するステップと、検査フレームにおいて、文字情報の一部またはすべてを表わす文書の少なくとも１つの対応矩形部分を定義するステップと、参照フレームに表わされた文書を検査フレームに表わされた文書と整列させるステップとを実行させるように構成された命令を含む。換言すれば、整列は、（たとえば、縁部または背景テクスチャではなく）文書を整列の基準点として用いて、検査フレームを参照フレームと整列させるように行われる。
【０１１５】
さまざまな態様において、当業者なら本明細書を読めば理解できるように、整列は、文字情報、文書特徴および文書の縁部などのうち１つ以上に基づいて行われてもよい。
【０１１６】
好ましい手法において、文字情報は、矩形部分に表わされた１つ以上の文字のＩＤと、対応矩形部分に表わされた１つ以上の文字のＩＤと、矩形部分に表わされた文字の配列と、対応矩形部分に表わされた文字の配列と、矩形部分に表わされた１つ以上の文字の位置と、対応矩形部分に表わされた１つ以上の文字の位置と、矩形部分に表わされた１つ以上の文字の絶対サイズと、対応矩形部分に表わされた１つ以上の文字の絶対サイズと、対応矩形部分に表わされた１つ以上の文字のサイズに対する矩形部分に表わされた１つ以上の文字のサイズと、矩形部分に表わされた１つ以上の文字のサイズに対する対応矩形部分に表わされた１つ以上の文字のサイズと、矩形部分に表わされた１つ以上の文字の色と、対応矩形部分に表わされた１つ以上の文字の色と、矩形部分に表わされた１つ以上の文字の形状と、対応矩形部分に表わされた１つ以上の文字の形状とのうち少なくとも１つを含む。
【０１１７】
さらに他の手法において、モバイル装置に指示して、検査フレームに表わされた文書を参照フレームに表わされた文書と整列させるように構成された命令は、モバイル装置に指示して、少なくとも矩形部分および対応矩形部分に対する光学文字認識（ＯＣＲ）を実行させるように構成された命令を含む。これらの手法において、整列は、好ましくは、文字位置および文字ＩＤを主な基準点として用いて、行われる。
【０１１８】
また、モバイル装置に指示して、合成画像を生成するように構成された命令は、モバイル装置に、以下の動作を実行させるように構成された命令を含み、これらの動作は、少なくとも１つのフレーム対内の参照フレームおよび検査フレームの少なくとも一方のスキュー角（たとえば、図４Ａ〜４Ｃに示されたθ）を検出することを含み、スキュー角は、文書に対応しており、（図４Ｂに示されたように）０．０度を超える大きさを有し、参照フレームおよび検査フレームの少なくとも一方のスキュー角を補正することを含む。合成画像に表わされた文書特徴は、（図３に示されたように）約０．０度のスキュー角を有する。
【０１１９】
コンピュータプログラム製品は、モバイル装置に指示して、映像データの解像度をたとえば五分の一に低くする低解像度処理を実行させるように構成された命令を含む。モバイル装置に指示して、文書の検出、文書の位置の追跡および複数の画像の選択を実行させるように構成された命令は、モバイル装置に指示して、低解像度処理された映像データを用いて、文書の検出、文書の位置の追跡および複数の画像の選択を実行させるように構成されている。
【０１２０】
上記説明は、本明細書に開示された長尺文書の撮影および処理技術に関与するいくつかの特徴を詳述した。当業者なら本明細書の説明を読めば理解できるように、追加の詳細は、任意の適切な方法で組合わせることができると理解すべきである。本明細書に開示された任意の特徴の合成、組み合わせおよび排列は、本開示の範囲から逸脱することなく、さまざまな実施形態に組み入れまたはそこから除外されてもよい。
【０１２１】
分類および抽出の実現
１つの手法において、たとえば、文書の分類は、図６に示されたフローチャート６００と実質的に同様の方法で行うことができる。当然ながら、このフローチャートは、本明細書に開示された発明の構想に対する理解を容易にするため、例示のみとして提示され、本出願の範囲を限定することを意図していない。
【０１２２】
１つの手法において、文書の分類は、次のように行うことができる。動作ステップ６０２において、補正された画像を受信し、好ましくは、モバイル装置で受信する。
【０１２３】
動作ステップ６０４において、画像処理エンジン、たとえばモバイル装置またはサーバのプロセッサは、分類知識データベースと同期する。分類知識データベースは、好ましくは、独特な特徴、たとえば、特徴ベクトルおよび／または複数の基準特徴行列に応じて定義された複数の所定の文書クラスを含むことができる。
【０１２４】
動作ステップ６０６において、分類知識データベースを用いて、補正された画像に分類動作を実行する。
【０１２５】
動作ステップ６０８において、分類動作の結果、たとえば成功または失敗を判断する。
動作ステップ６１０において、分類動作が成功したという判断に応じて、補正された画像に自動で文書の種類を割当てる。文書の種類の自動割当ては、分類動作が成功した場合に行われる。
【０１２６】
動作ステップ６１２において、分類動作が失敗したという判断に応じて、補正された画像に手動で文書の種類を割当てる。また、好ましくは、手動で割当てた文書の種類を用いて、分類知識データベースを更新する。これによって、将来に類似する文書が補正された画像に表わされた場合、動作ステップ６１０を参照して上述したと同様に、拡大した分類知識データベースに基づいて、対応する文書の種類を自動で割当てることができる。
【０１２７】
動作ステップ６１４において、自動的に割当てられた文書の種類または手動で割当てた文書の種類は、好ましくは、ユーザに報告されまたはモバイル装置のディスプレイ上に表示される。
【０１２８】
さらなる手法において、画像分類技術を利用することが有利である。長尺文書の撮影および処理の際に、固有の課題として、多くの長尺文書（たとえば、領収書）は、所定サイズの標準形状を有しなく、特定の長尺文書に示された特徴は、他の種類の長尺文書の場合に位置を変えることができることである。このようなシナリオの場合、（検査フレームおよび参照フレームに関して上述した内容、特に文字ブロックマッチングに関して上述した内容と同様に）、領収書をいくつかの部分に分割し、各部分を分類することが、有用である。決定された各部分の分類に基づいて、文書全体の分類を決定することができる。たとえば、好ましい手法において、各々の部分が同一の特定の分類に属していると判断された場合、この分類を文書全体の分類として決定することができる。当然ながら、実際の応用に、１００％の一致が希少であり、各部分のさまざまな分類の中で最も頻繁に決定されたクラスは、文書の分類として利用されてもよい。
【０１２９】
同様に、抽出は、図７に示すフローチャート７００と実質的に同様の方法で行うことができる。当然ながら、このフローチャートは、本明細書に開示された発明の構想の実施形態の例示のみとして提示され、本発明の範囲を限定することを意図していない。
【０１３０】
動作ステップ７０２において、文書を表わした画像およびこの文書に対応して付けられた文書の種類を（好ましくは、モバイル装置で）受信する。
【０１３１】
動作ステップ７０４において、文書の種類に基づいて、抽出分類法を決定する。
動作ステップ７０６において、抽出分類法が抽出知識データベースに対応するか否かを判断する。
【０１３２】
動作ステップ７０８ａにおいて、抽出分類法が抽出知識データベースに対応していない場合、（たとえば、ＯＣＲを用いて）文書の内容を認識する。認識された内容は、メタデータを含む。
【０１３３】
動作ステップ７１０ａにおいて、認識された内容に基づいて、新たな抽出モデルを訓練する。抽出分類法が抽出知識データベースに対応していない場合、方法７００は、動作ステップ７１４に進む。
【０１３４】
一方、動作ステップ７０８ｂにおいて、抽出分類法が抽出知識データベースに対応している場合、抽出知識データベースを文書の種類に関連付ける。
【０１３５】
動作ステップ７１０ｂにおいて、抽出知識データベースに基づいて、文書の内容を認識する。認識された内容は、メタデータを含む。
【０１３６】
動作ステップ７１２ｂにおいて、抽出知識データベースに基づいて、メタデータを選択的に抽出する。
【０１３７】
動作ステップ７１４において、関連する検証データベース内の関連検証情報および事前定義されたビジネスルールのうち１つ以上に基づいて、メタデータを検証する。
【０１３８】
動作ステップ７１６において、検証されたメタデータ、ならびに抽出知識データベース、事前定義されたビジネスルールおよび文書種類のうち１つ以上に基づいて、知能文書（好ましくは、ＰＤＦ）を生成する。
【０１３９】
さらに他の手法において、本明細書に開示された方法、システムおよび／またはコンピュータプログラム製品は、本明細書および／または上記の関連特許出願に開示された任意の特徴を容易に実行させるように構成された１つ以上のユーザインターフェイスとともに利用されてもよく、１つ以上のユーザインターフェイスによって実現されてもよく、および／または１つ以上のユーザインターフェイスを含んでもよい。複数の実施形態において、１つ以上のユーザインターフェイスは、モバイル画像処理アプリケーション、ケース管理アプリケーションおよび／または分類アプリケーションを含む。
【０１４０】
さらに他の手法において、本明細書に開示されるシステム、方法および／またはコンピュータプログラム製品は、当業者なら本明細書を読めば理解できるように、特に上記の関連特許出願に開示された使用方法および／またはシナリオの１つ以上に有利的に適用することができる。
【０１４１】
さらに、本明細書に開示された実施形態は、オンデマンドサービスを提供するように、顧客を代表して展開されるサービスとして提供されてもよいことが理解されるであろう。
【０１４２】
典型的な使用事例
支払手形
支払手形のシナリオ（およびモバイル撮影を含む他の応用）における１つの大きな課題は、たとえば、請求書、梱包明細、送金伝票などの原文書の高品質画像を撮影することである。好ましくは、隅または縁部が切らず、カメラのファインダを大幅に埋めるように、文書を撮影する必要がある。また、好ましくは、歪みを最小限にするために、文書を適切に照明および合焦して、法線から比較的小さい偏角で（たとえば、撮像装置を文書と実質的に平行な平面に配置するように）撮影すべきである。また、良好な背景分離、すなわち、テクスチャ、色彩および／または照明に対して均一な背景も必要である。以下に説明する使用事例および開発利用は、これらの目標を達成するためにユーザを支援することができる技術の有用な用途を概説する。
【０１４３】
自動撮影品質の支援
好ましくは、ユーザが支払手形などの文書を撮影する場合、自動撮影は、文書が正しくカメラのファインダに収容されたときに、写真を撮るべきである。文書が正しくカメラのファインダに収容された状況の確認は、さまざまな技術を用いて、撮像装置によって行うことができる。
【０１４４】
たとえば、一実施形態において、撮像装置（たとえば携帯電話）は、ビデオフィードに前処理を行い、ビデオフレームから単一の文書を検出することができる。１つの典型的な手法において、前処理は、文書ページの特徴（たとえば、縁部または類似色領域）の発見、および文書を構成する特徴群の推定を含む。この技術のさまざまな実現例において、当業者なら本明細書を読めば理解できるように、「OpenCV関数」などの関数を使用して、ラプラシアンフィルタまたは他の類似フィルタを用いて事前処理された画像内の領域を発見することができる。
【０１４５】
このようなフィルタを使用することによって、文書がカメラのファインダに完全に収容されたときに、ソフトウェアアプリケーションにインジケータを与えることができる。また、好ましい実施形態において、（たとえば、装置に集積された加速度計などの素子を使用して）装置の安定度合を測定し、（たとえば、装置に集積された回転儀などの素子を使用して）文書が配置される水平面に対して装置の角度を測定することができる。したがって、好ましい実施形態は、これらの品質測度のうち１つ以上、好ましくは３つすべてが満たされたときのみ、撮影処理を開始することができる。
【０１４６】
安定度合の検出
いくつかの手法において、検出された文書のインジケータは、不安定になる場合がある。たとえば、インジケータがあまりにも動き過ぎで、望ましい鮮明な画像の撮影またはビデオプレビューから配置された文書の確認を行うことができない。したがって、ビデオプレビューからより安定した文書を検知することが望ましい。
【０１４７】
１つの手法において、単一のビデオフレームから単一の文書を検出するではなく、マルチフレームを用いて、一定の時間枠に亘って検出された縁部の動き量を平均化することによって、可能な文書の急速動きを回避するという手順を利用して、安定度合を高めることができる。
【０１４８】
複雑な背景
さまざまな例において、撮影される文書が著しく薄色にした裏面（たとえば黒い文字が印刷された白地）を有し、且つ、比較的暗い背景の前で撮影されることは、有利である。残念ながら、多くの場合、ユーザは、このような均一に着色された暗い表面を便利に入手できない。したがって、ユーザのために、多くの異なるテクスチャを有する表面上で文書を撮影することを可能にすることは、望ましい。
【０１４９】
照明条件の評価
理想的には、撮影装置の画像撮影素子は、自動的に周囲の照明条件を評価し、適切な露出を確保するために、撮影設定を最適化すべきである。しかしながら、一部の装置は、光センサを備えていない。いくつかの手法において、前面画像撮影素子および背面画像撮影素子を間接的な光センサとして使用することによって、この不足を補うことができる。
【０１５０】
一実施形態において、単独に背面画像撮影素子（すなわち、最終的に撮影に使用されたもの）を用いて、照明条件を評価することができる。装置は、ビデオフレームの輝度分布を評価し、輝度分布が過去場面の輝度分布と一致した場合または良い露出に導く場合のみ、写真を撮ることができる。
【０１５１】
別の実施形態において、２枚の写真、すなわち、フラッシュを付けるときに１枚およびフラッシュを付けないときに１枚を自動的に撮影し、より良い露出を与える１枚の写真を分析することによって、照明条件を評価することができる。２枚の写真（フラッシュを付けた写真およびフラッシュを付けていない写真）、特に短い時間（たとえば、１秒未満）に（「バーストモード」撮影およびＨＤＲ撮影などの機能を利用して）連続して撮影した２枚の写真を合併することも可能である。
【０１５２】
さらに別の実施形態において、モバイル装置のライト、たとえばビデオランプ（トーチ、懐中電灯など）のようなＬＥＤライトを使用して、最適な撮影条件を見付け出すことができる。ライトの照明レベルが調整できるため、装置は、ライトの照明レベルを上げながら写真を撮影し、どの写真が最良の露出を与えるかを分析することによって、その露光設定で高品質の写真を撮ることができる。良好な露出は、上述した例示的な品質測定のいずれかによって示され得る。
【０１５３】
さらに別の実施形態において、装置は、両方（前面および背面）の画像撮影素子で写真を撮影し、両方の写真の輝度分布を分析することができる。好ましくは、この手法は、主光源が画像撮影素子の後ろにある状況、たとえば画像撮影素子が文書に影を掛ける状況を明らかにすることによって、ユーザが新しい場所に移動し、より良い撮影条件を得るために輝度分布を再評価するように指示することができる。
【０１５４】
たとえば、装置の常駐オペレーティングシステム（ＯＳ）のアプリケーションプログラミングインターフェイス（ＡＰＩ）を介して、装置画面の輝度を設定することができる。この場合、輝度は、好ましくは、装置に当たる光の量（モバイル装置の１つ以上の画像撮影素子に入射する光の量に応じて測定することができる）に相関して、必ずしも必要ではないが文書の表面に当たる光の量に相関して設定される。この相関関係によって、装置および／またはソフトウェアアプリケーションは、周囲に存在する光線を認識することができる。
【０１５５】
眩輝の回避
当業者なら本明細書を読めば理解できるように、たとえばユーザが運転免許証、ギフトカード、クレジットカードなどの光沢のある文書の写真を撮りたい場合、ユーザが写真を撮ろうとするときに、反射によって眩輝が発生し、または埋込まれたホログラムが文書の表面から現れるなどの眩輝が問題となっている状況に、本明細書に開示された技術を適用することは、有利である。本明細書に開示された技術および製品の好ましい実施形態は、光沢のある文書からの眩輝を回避することができる。
【０１５６】
たとえば、１つの手法において、反射面または埋込まれたホログラムを有する文書の写真を撮るときに、わずかな角度で撮影することは、好ましい。したがって、本明細書に開示される技術は、たとえば、サンプルフレームを利用して、潜在的な眩輝を検出することができる。また、いくつかの手法において、フレームから検出された文書を使用して、画像撮影素子と文書との間の現在角度を推定する（すなわち、当業者なら本明細書を読めば理解できるように、加速度計、コンパスおよび回転儀などのモバイル装置の他の構成素子によって提供された情報に独立して、モバイル装置の向きを決定する）ことは、有利である。本実施形態において、ユーザは、たとえば、文書に対してわずかな角度で、すなわち、文書の主要な面方位に対して、法線から約５度、１０度または１５度の偏角で写真を撮る方向に案内される。
【０１５７】
文書の詳細表示
いくつかの手法において、ユーザは、文書に対してモバイル装置の画像撮影素子を整列しながら、撮影される文書を詳細に閲覧したい場合がある。これを達成するために、本技術は、スキュー角除去およびトリミング複合方法を用いて、（必要に応じて、完全な文書が画像撮影素子の視野内に表わされていることを検出することに応じて）フレームを撮影し、撮影したフレームをトリミングおよび矯正することによって、フルサイズの文書をカメラのファインダに表示する。
【０１５８】
文書種別の表示
ユーザが文書を撮影するときに、場合によって、撮影および／または後続処理の成功をより確実にするために、文書の種別を表示することが有利であり得る。
【０１５９】
文書を撮影した後、本明細書に開示される技術は、上述したように文書の画像をトリミングおよび矯正し、分類動作を行うことができる。分類動作を成功に行った場合、たとえば文書の上に緑のオーバーレイを重なることによって、視覚的に示すことができる。必要に応じて、種別は、装置のディスプレイに、メモリに、後続処理アプリケーションのライブラリ関数の呼び出しなどに出力される。
【０１６０】
複数の文書を１つずつ撮影
場合によって、机のような表面上に配置された２つ（または２つ以上）の文書を撮影することができることが有利である。ユーザは、画像撮影素子を文書上方にゆっくり移動し、画像撮影素子を用いて各々の文書を自動的に検出し、必ずしも同一の文書の画像を二回撮ることなく、各々の画像を撮影することができる。
【０１６１】
この使用事例は、フレームから文書の検出に加えて、文書を追跡する機能を充分利用する。追跡機能によって、システムは、第１文書の写真を撮ることができ、その後、第１文書を追跡し続けるが、写真を撮らない。第２文書がファインダに入ると、システムは、第２文書に切替わり、第２文書の追跡を開始する。第２文書がファインダに完全に入る場合、その写真を撮る。好ましい実施形態において、文書の追跡は、上述した長尺文書の撮影と実質的に同様に行われてもよい。
【０１６２】
複数の文書を同時に撮影
より複雑な状況において、ユーザが机のような表面上に配置された２つ（または２つ以上）の文書を撮影する必要があり、時には２つの文書が互いに近接して配置されている場合に、２つの文書を区別することは、困難である。この課題に対処するために、本明細書に開示された技術は、ユーザに指示して、画像撮影素子を文書の上方にゆっくり移動し、画像撮影素子を用いて各々の文書を自動的に検出し、同一の文書の画像を二回撮ることなく、各々の画像を撮影することができる。たとえば、モバイル装置は、好ましい移動方向を示す聴覚的指示をユーザに提供することができる。
【０１６３】
好ましくは、この技術は、単一のフレーム内の複数の文書を追跡する。しかしながら、複数のフレームに亘って複数の文書の動きを追跡することも本開示の範囲に含まれる。いくつかの実現例において、複数の画像を撮影し、撮影した複数の画像から選択された一部のみをたとえば追跡のために保存することが好ましい。選択された部分に対して、マルチ文書撮影アルゴリズムは、表わされた（文書の全部または文書の一部のみを示す）個々の文書を分離し、各文書の最良画像を決定する。好ましい実施形態において、文書の追跡は、実質的に上述した長尺文書の撮影と同様に、行われてもよい。
【０１６４】
複数の文書の撮影および追跡
追加の応用は、複数の文書を撮影し、リアルタイムでまたはほぼリアルタイムでこれらの文書を追跡することを含む。このような手法において、好ましくは、ユーザが撮影装置を文書の上方にホバーしている間に、各文書がどのような文書（たとえば、文書分類）であるか、および上述したようにどの文書が画像に撮影されたかを示すインジケータがユーザに提供される。
【０１６５】
たとえば、カメラのファインダ内において、（検出された所望種別に黄色、撮影された文書に緑色、望ましくない種別に灰色の）オーバーレイを用いて処理された各文書をマーキングすることができる。
【０１６６】
別の例において、ユーザが自分の机から一定の高度から机を概観し始まるシーンを想像する。システムは、５つの文書を検出し、これらの文書を分類することができる。そのうち４つの文書は、ユーザに使用される特定の文書（たとえば、特定の取引に関連する文書または後続処理に適する文書）に関連するため、黄色で色付けられ、無関係な文書は、灰色で色付けられる。
【０１６７】
また、撮影された（または画像撮影素子が配置されている現在の位置から撮影される画像）４つの関連文書を表わす画像の解像度は、４つの所望の文書をすべて良好な品質の画像にするのに十分な解像度ではないことを仮定する。たとえば、ユーザ（拡大解釈すれば、モバイル装置の画像撮影素子）が４つの文書のうち３つの文書から離れすぎたため、十分高い解像度で１つの文書しか撮れない。システムは、画像を撮影し、その１つの文書を分離し、１つ以上の品質保証チェック（たとえば、画像の鮮明度、輝度などのチェック）を実行し、品質保証チェックに合格したという判断に応じて、緑色のオーバーレイを用いて文書をマーキングする。その後、ユーザは、別の文書をファインダ内で大きく表示するように画像撮影素子を移動する。システムは、すべての文書を追跡し、より良く表示されている文書の別の写真を撮影する。その文書の画像を単離およびチェックし、緑色のオーバーレイでマーキングする。他の文書も同様に処理される。
【０１６８】
この手順において、既に検出および処理された文書のいくつかは、ファインダから消される可能性がある（たとえば、ユーザは、１つの特定の文書を拡大するため、他の文章がファインダに表示されなくなる）。ユーザがより大きな写真に戻ると、システムは、これらの文書を既に処理されたものとして認識しなければならない。したがって、少なくともいくつかの例において、文書の相対的な位置を記録および分析する「シーン分析」を実行することは、有利であろう。
【０１６９】
モバイル装置によって実行可能な命令を記憶するコンピュータ読取可能な媒体を含むコンピュータプログラム製品であって、これらの命令は、実行されると、モバイル装置に指示して、モバイル装置の画像撮影素子を用いて撮影動作を開始するステップを実行させるように構成される。撮影動作は、映像データを撮影することと、撮影中に画像撮影素子の動きに対応する複数の動きベクトルを推定することとを備える。また、これらの命令は、モバイル装置に指示して、映像データに表わされた文書を検出するステップと、映像データの全体に亘って、検出された文書の位置を追跡するステップと、検出された文書の追跡位置と推定された動きベクトルとのうち少なくとも一部に基づいて、モバイル装置の画像撮影素子を用いて複数の画像を選択するステップと、選択された複数の画像のうち少なくとも一部に基づいて、合成画像を生成するステップとを実行させるように構成される。
【０１７０】
文書は、長尺文書である。追跡は、推定された複数の動きベクトルのみに基づいている。
【０１７１】
また、コンピュータプログラム製品は、モバイル装置に指示して、以下のステップを実行させるように構成された命令をさらに含み、これらのステップは、推定された複数の動きベクトルの一部またはすべてに基づいて、少なくとも１つの動き変位を決定するステップを含み、各動き変位は撮影中の画像撮影素子に対応するものであり、動き変位のうち１つの動き変位が所定の動き変位閾値を超えた値によって特徴付けられるという決定に応じて、撮影動作を終了または一時停止するステップと、撮影動作が終了されたことに応じて、新たな撮影動作を開始するステップ、または、撮影動作が一時停止されたことに応じて、撮影動作を再開するステップとを含む。所定の動き変位閾値は、約５ピクセル〜約２５ピクセルの範囲値を有する。
【０１７２】
モバイル装置に指示して、文書を検出するように構成された命令は、モバイル装置に指示して、撮影された映像データに表わされた文書の少なくとも１つの縁部を識別させるよう構成される。
【０１７３】
選択された複数の画像の各々は、文書の一部を表わし、合成画像は、文書の全体を表わす。合成画像は、選択された複数の画像のうち任意画像の画像解像度よりも高い画像解像度と、選択された複数の画像のうち任意画像の画像サイズよりも大きい画像サイズと、のうち少なくとも１つの特徴を有する。選択された複数の画像の各々は、文書の一部を表わし、合成画像は、文書によって記録された金融取引に対応する文書の一部のみを表わす。
【０１７４】
また、これらの命令は、モバイル装置に指示して、合成画像に基づいて、文書の文字情報を表わす１つ以上の部分を識別するステップと、文書内に表わされた文字情報に基づいて、識別された文書の各部分を分類し、分類された各部分が金融取引に関連するか否かを判断するステップであって、当該判断は部分の分類に基づくものであるステップと、金融取引に関連しないと判断された各部分を合成画像から削除するステップとを実行させるように構成される。
【０１７５】
コンピュータプログラム製品は、モバイル装置に指示して、金融取引に関連すると判断された部分を整列させるステップと、第２合成画像を生成するステップとを実行させるように構成された命令をさらに含み、第２合成画像は、合成画像の画像サイズとほぼ同様の画像サイズを有し、合成画像の画像解像度とほぼ同様の画像解像度を有し、金融取引に関連しない文字情報を含んでおらず、金融取引に関連する文字情報を含んでおり、金融取引に関連する文字情報を含む複数の文字は整列されている。
【０１７６】
モバイル装置に指示して、複数の画像を選択するように構成された命令は、モバイル装置に指示して、複数のフレーム対を定義するように構成される。フレーム対の各々は、参照フレームおよび検査フレームで構成され、参照フレームおよび検査フレームの各々は、映像データから選択される。
【０１７７】
モバイル装置に指示して、複数の画像を選択するように構成された命令は、モバイル装置に指示して、各フレーム対内の参照フレームと検査フレームとの間のオーバラップ量を決定するステップと、参照フレームと検査フレームとの間のオーバラップ量が所定のオーバラップ閾値よりも大きい各フレーム対に対応する画像を選択するステップとを実行させるように構成される。オーバラップ量は、文書に対応しており、参照フレームに表わされた背景および検査フレームに表わされた背景に対応していない。所定のオーバラップ閾値は、参照フレームの長さの少なくとも４０％に対応する。
【０１７８】
モバイル装置に指示して、合成画像を生成するように構成された命令は、モバイル装置に指示して、少なくとも１つのフレーム対内の参照フレームおよび検査フレームの各々の文字情報を検出するように構成され、文字情報は、文書に表わされている。
【０１７９】
モバイル装置に指示して、少なくとも１つのフレーム対内の参照フレームおよび検査フレームの各々の文字情報を検出するように構成された命令は、モバイル装置に指示して、以下のステップを実行させるように構成された命令をさらに含み、これらのステップは、参照フレームにおいて、文字情報の一部またはすべてを表わす文書の少なくとも１つの矩形部分を定義するステップと、検査フレームにおいて、文字情報の一部またはすべてを表わす文書の少なくとも１つの対応矩形部分を定義するステップと、参照フレームに表わされた文書を検査フレームに表わされた文書と整列させるステップとを含む。整列は、矩形部分のうち少なくとも１つに表わされた文字情報と、対応矩形部分のうち少なくとも１つに表わされた文字情報とに基づいて行われる。
【０１８０】
文字情報は、矩形部分に表わされた１つ以上の文字のＩＤと、対応矩形部分に表わされた１つ以上の文字のＩＤと、矩形部分に表わされた文字の配列と、対応矩形部分に表わされた文字の配列と、矩形部分に表わされた１つ以上の文字の位置と、対応矩形部分に表わされた１つ以上の文字の位置と、矩形部分に表わされた１つ以上の文字の絶対サイズと、対応矩形部分に表わされた１つ以上の文字の絶対サイズと、対応矩形部分に表わされた１つ以上の文字のサイズに対する矩形部分に表わされた１つ以上の文字のサイズと、矩形部分に表わされた１つ以上の文字のサイズに対する対応矩形部分に表わされた１つ以上の文字のサイズと、矩形部分に表わされた１つ以上の文字の色と、対応矩形部分に表わされた１つ以上の文字の色と、矩形部分に表わされた１つ以上の文字の形状と、対応矩形部分に表わされた１つ以上の文字の形状とのうち少なくとも１つを含む。
【０１８１】
モバイル装置に指示して、検査フレームに表わされた文書を参照フレームに表わされた文書と整列させるように構成された命令は、モバイル装置に指示して、少なくとも矩形部分および対応矩形部分に対する光学文字認識（ＯＣＲ）を実行させるように構成された命令をさらに含む。
【０１８２】
モバイル装置に指示して、合成画像を生成するように構成された命令は、モバイル装置に指示して、以下のステップを実行させるように構成された命令を含み、これらのステップは、少なくとも１つのフレーム対内の参照フレームおよび検査フレームの少なくとも一方のスキュー角を検出するステップを含み、スキュー角は、文書に対応しており、０．０度を超える大きさを有し、参照フレームおよび検査フレームの少なくとも一方のスキュー角を補正するステップを含み、合成画像に表わされた文書は、約０．０度のスキュー角を有する。
【０１８３】
コンピュータプログラム製品は、モバイル装置に指示して、映像データに対して低解像度処理を実行させるように構成された命令を含み、モバイル装置に指示して、文書の検出、文書の位置の追跡および複数の画像の選択を実行させるように構成された命令は、モバイル装置に指示して、低解像度処理された映像データを用いて、文書の検出、文書の位置の追跡および複数の画像の選択を実行させるように構成されている。
【０１８４】
以上でさまざまな実施形態を説明してきたが、これらの実施形態は、限定ではなく専ら例示のために示されていることが理解されるべきである。よって、本発明の実施形態の広さおよび範囲は、上述した代表的な実施形態のいずれによっても限定されず、以下の請求項およびこれらの均等物のみに従って定義されるべきものである。
【図１】
2016538783.tif 000003
【図２】
2016538783.tif 000004
【図３】
2016538783.tif 000005
【図４】
2016538783.tif 000006
【図５】
2016538783.tif 000007
【図６】
2016538783.tif 000008
【図７】
2016538783.tif 000009
【国際調査報告】
2016538783.tif 000010