(58)【調査した分野】(Int.Cl.,DB名)
前記データが前記スプレッドシートと関連付けられる時に前記データの書式を保持して、前記データが表示される時に前記キャプチャー画像に含まれている書式が示されるようにするステップを更に含む、請求項1に記載の方法。
前記データが前記既存のスプレッドシートと関連付けられていると判定された場合に、前記データで前記スプレッドシートを更新する前記ステップは、前記キャプチャー画像から取得されたデータと前記既存のスプレッドシートにおけるデータとの差分を求めるステップと、前記差分を反映するように前記スプレッドシートを更新するステップとを含む、請求項1に記載の方法。
前記キャプチャー画像から取得された前記データを、前記キャプチャー画像の文章間の間隔に基づいて前記スプレッドシート内に配置するステップを更に含む、請求項1に記載の方法。
キャプチャーされた画像データをスプレッドシートと共に使用する方法を実行するためのコンピューター実行可能命令を格納したコンピューター読み取り可能記憶デバイスであって、前記方法は、
キャプチャー画像を受け取るステップであって、前記キャプチャー画像は文字を含んだ光学的に認識可能なデータを含んでいる、ステップと、
前記キャプチャー画像からデータを取得するステップであって、前記取得されたデータの少なくとも一部分は文字である、ステップと、
前記キャプチャー画像に示されている前記データの書式を保持して、前記データが表示される時に前記キャプチャー画像に含まれている前記書式が示されるようにするステップと、
前記キャプチャー画像内において数式が取得されるか否かを判定するステップと、
前記数式が既存のスプレッドシートと関連付けられていると判定された場合に、前記数式で前記既存のスプレッドシートを更新するステップであって、前記既存のスプレッドシートを更新するステップは、前記数式の中の変数を前記既存のスプレッドシートの要素と関連付けることによって前記数式を前記既存のスプレッドシートのセルに追加するステップを含む、ステップと、
前記数式が前記既存のスプレッドシートと関連付けられていないと判定された場合に、前記数式を別のスプレッドシートと関連付けるステップであって、前記数式を関連付けるステップは、前記数式の中の変数を前記別のスプレッドシートの要素と関連付けることによって前記数式を前記別のスプレッドシートのセル内に配置するステップを含む、ステップと、
を含む、コンピューター読み取り可能記憶デバイス。
前記方法は、前記キャプチャー画像から取得されたデータからのグラフを前記キャプチャー画像の少なくとも一部分の表示と共に表示するステップを更に含む、請求項5に記載のコンピューター読み取り可能記憶デバイス。
前記キャプチャー画像から取得された前記データを用いて前記ディスプレイを更新するステップは、前記キャプチャー画像から取得されたデータからのグラフを前記キャプチャー画像の少なくとも一部分の表示と共に表示するステップを含む、請求項7に記載のシステム。
【発明を実施するための形態】
【0005】
[0015] ここで、同様の符号が同様の要素を表している図面を参照して、様々な実施態様が説明される。特に、
図1とそれに対応する議論は、実施態様が実現可能な好適なコンピューティング環境の簡潔で概括的な説明を提供することを意図されている。
【0006】
[0016] 概して、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び、特定のタスクを実行し又は特定の抽象データ型を実現する他の種類の構造を含む。ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家電製品、ミニコンピューター、メインフレームコンピューター等を含む、他のコンピューターシステム構成も利用可能である。通信ネットワークを通じてリンクされたリモートプロセッシングデバイスによってタスクが実行される、分散コンピューティング環境も利用可能である。分散コンピューティング環境では、プログラムモジュールは、ローカルのメモリー記憶デバイスとリモートのメモリー記憶デバイスの何れにも配置されることができる。
【0007】
[0017] ここで
図1を参照して、様々な実施態様において利用されるコンピューター100の例示的なコンピューター環境が説明される。
図1に示されたコンピューター環境は、それぞれがサーバー、デスクトップ若しくはモバイルコンピューター、又は何らかの他の種類のコンピューティングデバイスとして構成されることができ、中央処理装置5(「CPU」)、ランダムアクセスメモリー9(「RAM」)及びリードオンリーメモリー(「ROM」)10を含むシステムメモリー7、並びに、メモリーを中央処理装置(「CPU」)5に結合するシステムバス12を有している、コンピューティングデバイスを含む。
【0008】
[0018] 例えば起動時にコンピューター内部の要素の間で情報を転送するのを容易にする基本ルーチンを備えた基本入出力システムは、ROM10に格納されている。コンピューター100は、更に、オペレーティングシステム16、スプレッドシート11、スプレッドシートアプリケーション24、他のプログラムモジュール25、及び以下でより詳細に説明される画像マネージャー26を格納するためのマスストレージデバイス14を含んでいる。
【0009】
[0019] マスストレージデバイス14は、バス12に接続されたマスストレージコントローラー(不図示)を通じてCPU5に接続されている。マスストレージデバイス14とそれに関係するコンピューター読み取り可能媒体は、コンピューター100のための不揮発性記憶を提供する。本明細書に含まれるコンピューター読み取り可能媒体の説明はハードディスクドライブ又はCD−ROMドライブのようなマスストレージデバイスを引き合いに出しているけれども、コンピューター読み取り可能媒体は、コンピューター100によってアクセスされることができる任意の利用可能な媒体であり得る。
【0010】
[0020] 限定ではなく例として、コンピューター読み取り可能媒体は、コンピューター記憶媒体と通信媒体を含んでもよい。コンピューター記憶媒体は、コンピューター読み取り可能命令、データ構造、プログラムモジュール、若しくは他のデータといったような、情報の記憶のための任意の方法又は技術により実現された、揮発性及び不揮発性、リムーバブル及び非リムーバブルの媒体を含む。コンピューター記憶媒体は、RAM、ROM、消去可能プログラマブルリードオンリーメモリー(「EPROM」)、電気的消去可能プログラマブルリードオンリーメモリー(「EEPROM」)、フラッシュメモリー若しくは他の固体メモリー技術、CD−ROM、デジタル多用途ディスク(「DVD」)、若しくは他の光学的ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、又は、所望の情報を記憶するのに使用可能でありコンピューター100によってアクセス可能な任意の他の媒体を含むが、これらには限定されない。
【0011】
[0021] コンピューター100は、インターネット等のネットワーク18を通じたリモートコンピューターへの論理接続を用いるネットワーク環境において動作する。コンピューター100は、バス12に接続されたネットワークインターフェースユニット20を通じてネットワーク18に接続することができる。ネットワーク接続は、無線及び/又は有線であり得る。ネットワークインターフェースユニット20はまた、他の種類のネットワーク及びリモートコンピューターシステムに接続するのにも利用可能である。コンピューター100はまた、キーボード、マウス、又は電子スタイラス(
図1には示されていない)を含む、他の多くのデバイスからの入力を受け取り処理するための入出力コントローラー22も含むことができる。同様に、入出力コントローラー22は、スキャナー、カメラ、ディスプレイ画面23、プリンター、又は他の種類の入力及び/又は出力デバイスへの入出力を提供することができる。
【0012】
[0022] 上で簡潔に触れたように、多くのプログラムモジュール及びデータファイルがコンピューター100のマスストレージデバイス14及びRAM9に格納されることができ、それには、ワシントン州レッドモンドのマイクロソフト社からのウィンドウズ7(登録商標)オペレーティングシステム等の、コンピューターの動作を制御するのに適したオペレーティングシステム16が含まれる。マスストレージデバイス14及びRAM9はまた、1又は複数のプログラムモジュールを格納することもできる。特に、マスストレージデバイス14及びRAM9は、スプレッドシートアプリケーション24及びプログラムモジュール25を含む、1又は複数のアプリケーションプログラムを格納することができる。一実施態様によれば、スプレッドシートアプリケーション24は、マイクロソフトのエクセルのスプレッドシートアプリケーションである。他のスプレッドシートアプリケーションもまた使用可能である。
【0013】
[0023] 画像マネージャー26は、キャプチャーされた画像から得られるデータをスプレッドシートと統合するように構成されている。画像マネージャー26は、図示されるようにスプレッドシートアプリケーション24とは別個に設けられてもよいし、あるいはスプレッドシートアプリケーション24の一部分であってもよい。更に、画像マネージャー26によって提供される機能の全て/いくつかは、スプレッドシートアプリケーション24の内部/外部に設けられることができる。
【0014】
[0024] スプレッドシートアプリケーション24は、1又は複数のキャプチャーされた画像から得られるデータを統合するように構成されている。例えば、データを含んでいる1又は複数のキャプチャーされた画像は、画像マネージャー26を用いて1又は複数のスプレッドシートと自動的に関連付けられる電子データに変換されることができる。キャプチャーされたデータの書式と内在する数式は、関連付けられたスプレッドシート内に表現されることができる(例えば、キャプチャーされた画像の中のハイライトされたデータは電子的なスプレッドシート内でハイライトされたままとなる)。キャプチャーされた画像から得られるデータは、既存の電子データと比較されて統合されることもできる。例えば、キャプチャーされた画像の中のデータと既存のスプレッドシートの中のデータとの差分を用いて、既存のスプレッドシートを更新することができる。キャプチャーされた画像からのデータを用いて、表示が拡張されることもできる。例えば、キャプチャーされた画像内に含まれているデータに基づいて、グラフが作成され表示されることができる。より詳しい内容は以下で説明される。
【0015】
[0025]
図2は、キャプチャーされた画像からのデータを自動的にスプレッドシートに組み込むためのシステムを示す。図示されるように、システム200は、画像マネージャー26、アプリケーションプログラム210、コールバックコード212、ソース220、及びユーザー215を含む。使用されるコンピューティングデバイスは、データをキャプチャーし当該データをスプレッドシートと関連付けることに関する動作を実行するように構成された、任意の種類のコンピューティングデバイスであり得る。例えば、コンピューティングデバイスのいくつかは、モバイルコンピューティングデバイス(例えば、携帯電話端末、タブレット、スマートフォン、ラップトップ等)、デスクトップコンピューティングデバイス、及びサーバーであり得る。
【0016】
[0026] 画像マネージャー26との通信を容易にするために、コールバックコード212として
図2に示されている1又は複数のコールバックルーチンが実装されることができる。一実施態様によれば、アプリケーションプログラム24はスプレッドシートアプリケーションである。
【0017】
[0027] 画像マネージャー26は、1又は複数の異なるソースから画像データを取得するように構成されている。例えば、ソース220は、カメラ、スキャナー、写真、ビデオ、及び画像マネージャー26が取得可能な他の画像データを示している。概して、画像マネージャー26は、キャプチャーされ得る任意のデータを取得することができる。ソースは、静的(即ち1枚の写真)及び/又は動的(例えばビデオフィード)であり得る。一実施態様によれば、画像マネージャー26は、動的フィードから画像をキャプチャーするように構成されている。
【0018】
[0028] 画像(例えば、写真、ビデオ、ライブストリーム)が(スキャナー、ウェブカメラ、カメラ付き電話、ハンドヘルドカメラ等を用いて)キャプチャーされた後、画像マネージャー26は、光学文字認識(OCR)技術を利用して任意の光学的に認識可能なデータを検出する。例えば、キャプチャーされた画像には、1又は複数のライン上に同じパターンが続く空白スペースによって隔てられた列の形に並んだ表形式のデータが含まれる場合がある。一実施態様によれば、この間隔とラインによって、電子的なスプレッドシートにおいてそれぞれの数の列と行が作られる。キャプチャーされた画像には、スプレッドシートと一体化可能な写真が含まれる場合もある。キャプチャーされた画像には、スプレッドシートと一体化可能な書式が含まれる場合もある。例えば、文字は、キャプチャーされた画像内の他の文字とは異なる形に書式が設定されている場合がある。この書式は、関連付けされたスプレッドシートに取り込まれて表示されることができる。キャプチャーされた画像には、スプレッドシートに組み込まれることが可能な数式が含まれる場合もある。一実施態様によれば、画像マネージャー26は、どんな数式であっても解析して、対応するスプレッドシートの数式を生成する。数式をスプレッドシートに変換するのを補助するために、ユーザーインターフェースがユーザーに提供されることができる。例えば、ユーザーインターフェースを用いて、数式の中の変数がスプレッドシートの要素と関連付けられることができる。
【0019】
[0029] ディスプレイ215は、スプレッドシートから得られるデータの表現を表示するように構成されている。データは、スプレッドシートの表示の中に含められること、及び/又は、別のオブジェクトの表示を生成するのに利用されることができる。例えば、キャプチャーされた画像から得られるデータは、表示されるグラフの作成、値のリストの並び替え、1又は複数の値の書式の変更等に利用されることができる。
【0020】
[0030]
図3−9は、キャプチャーされた画像データをスプレッドシートで利用することを表している例示的なシナリオを示す。
【0021】
[0031]
図3は、スプレッドシートに統合されているレシートのキャプチャー画像を示す。図示されるように、
図3は、レシート310の写真、レシート310を統合する前のスプレッドシート320、及びレシート310を統合した後のスプレッドシート330を含んでいる。
【0022】
[0032] レシート310は、電子的に印刷されたレシート、手書きのレシート、及び/又は手書きとタイプされたデータの組み合わせであり得る。例えば、ユーザーは、レシート上の1又は複数の語をハイライトすることができる(例えば、図示されるように、21.00がハイライトされている)。
【0023】
[0033] スプレッドシート320は、商品(Item)列と価格(Cost)列を含んだ例示的なスプレッドシートを示している。スプレッドシート320は、より多くの又はより少ない予め決められた列を含むことができる。例えば、スプレッドシート320は、初期状態では空のスプレッドシートであってもよい。スプレッドシート320は、1又は複数のレシートと関連付けられることができる。
【0024】
[0034] スプレッドシート330は、レシート310からスプレッドシート320へのデータの統合を示している。図示されるように、スプレッドシート330の行2は、レシート310の第1行からのデータを含んでいる。行3は、レシート310の第2行からのデータを含んでいる。行4は、レシート310の第3行からのデータを含んでいる。レシート310のキャプチャー画像から得られるデータの統合は、手動/自動で行われることができる。例えば、ユーザーは、ユーザーインターフェース要素を選択して、レシートからのキャプチャー画像の統合を開始することができる。スプレッドシートはまた、レシートのキャプチャーと関連付けられて、レシートの写真がキャプチャーされた時に、当該キャプチャーされた画像から得られるデータが関連付けられたスプレッドシートに自動的に挿入されるようにすることもできる。例えば、ある店又はある種類の店からのレシートは特定のスプレッドシートと関連付けられることができ、一方、別の店からのレシートは別のスプレッドシートと関連付けられる。一実施態様によれば、レシート310上に含まれている書式は、スプレッドシート330に表示される。スプレッドシート330の行3は、レシート310上の対応するデータがボールド体であるので、ボールド体の書式で示されている。価格「21.00」は、レシート310のキャプチャー画像上でハイライトされているので、ハイライトされて示されている。
【0025】
[0035]
図4は、スプレッドシートに統合された手書きの紙のキャプチャー画像を表す。図示されるように、
図4は、手書き文字410のキャプチャー画像、及び手書き文字を統合した後のスプレッドシート420を含んでいる。
【0026】
[0036] 本例では、ユーザーは、来客(Guest)列と持参品(Bringing)列を含んだ手書きの表の画像をキャプチャーしている。画像410がキャプチャーされた後、キャプチャーされた画像内に含まれているデータが、光学的に認識されてスプレッドシート420に組み込まれる。図示されるように、列の見出し「来客(Guest)」と「(Bringing)」がスプレッドシート420と関連付けられている。書式(例えば下線)もスプレッドシート420に転写されている。画像マネージャーによって間違って認識された語を訂正するために、ユーザーインターフェース要素が利用可能である。一実施態様によれば、表の中のそれぞれの値は、スプレッドシート420の別個のセルに配置される。
【0027】
[0037]
図5は、ユーザーがキャプチャーされた画像の一部分を選択し当該選択した一部分をスプレッドシートに統合していることを示す。
【0028】
[0038] キャプチャーされた画像510は、データ1、データ2、写真及びデータ3を含んでいる。選択ボックス512は、写真及びデータ3がスプレッドシートへの統合のために選択されていることを示している。本例では、当該写真はセルA1に配置され、データ3はセルA2に配置される。より多数の又はより少数のセルが利用可能である。例えば、データ3は、スプレッドシート520のセル内にそれぞれが配置される値のリストであり得る。
【0029】
[0039]
図6は、ユーザーがスプレッドシートに統合される3つの異なる画像をキャプチャーしていることを示す。時には1つの画像では全てのデータをキャプチャーすることができない場合があり、そのため、2以上の画像がキャプチャーされスプレッドシートに統合されてもよい。それらの画像は、1つのキャプチャーされた画像から、及び/又はビデオから由来することができる。
【0030】
[0040] 図示されるように、3つの異なる画像(622、624、及び626)がデータ610から取得されている。これらの画像(622、624、及び626)は結合されて、当該キャプチャーされた画像のそれぞれに含まれている対応するデータが、スプレッドシート内に配置されている。スプレッドシート630は、当該3つの異なる画像のそれぞれからのデータの全てがスプレッドシートに組み込まれていることを示している。データは、キャプチャーされた画像における当該データのレイアウトに従って、及び/又は何らかの他の方法を用いて、スプレッドシート内に配置されることができる。例えば、ある種類のデータはスプレッドシートのある場所に配置されることができ、一方、別の種類のデータはスプレッドシートの異なる場所に配置されることができる。
【0031】
[0041]
図7は、キャプチャー画像が手書き文字を含んだスプレッドシートの一部分を含んでいることを示す。
【0032】
[0042] 画像710では、ユーザーは、スプレッドシート712内の「Tim」という名前を棒線で消して、「Joe」という名前を手書きしている。ユーザーはまた、「デザート(Dessert)」を棒線で消して「チーズ(Cheese)」を手書きしている。
【0033】
[0043] スプレッドシート712の大部分は変更されていない。一実施態様によれば、既存のスプレッドシートからのデータがキャプチャー画像と照合される場合、当該既存のスプレッドシートと当該キャプチャー画像との差分が求められる。任意の差分が、既存の電子的なスプレッドシートの中に反映されることができる。例えば、スプレッドシート720は、手書きの変更によって更新されたスプレッドシート712を示している。スプレッドシート720は、Timという名前がJoeで置き換えられ、デザート(Dessert)のエントリーがチーズ(Cheese)で置き換えられたことを示している。既存のスプレッドシートに変更が加えられる前に当該変更を確認/承諾するために、ユーザーインターフェース要素が利用可能である。別の実施態様によれば、データの全てがスプレッドシートに組み込まれる。スプレッドシート730は、データの全てがスプレッドシートに組み込まれたことを示している。
【0034】
[0044]
図8は、キャプチャーされた画像からのデータを用いて当該キャプチャーされた画像を拡張することを示す。キャプチャーされた画像は、レシート、メニュー、銀行口座取引明細書、スポーツスコア欄、及びスプレッドシートの操作が実施可能なデータを含んでいる他の画像といったような、数多くの様々な種類の物理的な品目の画像であり得る。図示されるように、画像810は、様々な食べ物の品目を含んでいるメニューである。上で論じられたように、キャプチャーされた画像810からのデータは、スプレッドシートと関連付けられることができる。一実施態様によれば、スプレッドシートは表示されない。その代わりに、キャプチャーされた画像を利用した拡張画像が、ユーザーに対して表示される。表示820では、メニューの画像は、メニューの品目がカロリー値の順で並べ替えられて表示されている。表示820は、一番カロリーの低い品目を最初に、一番カロリーの高い品目を最後に示している。他の並び替え/表示の選択も利用可能である。例えば、一番高いものから一番低いもの、最も栄養的に良いもの、及び/又は何らかの他の条件が利用可能である。拡張された画像は、数多くの様々な方法で書式を設定されることができる。例えば、条件付きの書式/強調表示の組み合わせが適用可能である(例えば、列は、ある値によって並べ替えられることが可能であり、同じ/異なる値に基づいて同じ列/異なる列に適用された書式/強調表示を有することが可能である)。拡張された画像を生成するために、データの2以上の列が使用されることができる。
【0035】
[0045] 表示830は、一番カロリーの低い品目が強調表示された元のメニュー810を示している。この例では、ハンバーガーのエントリーが強調されて示されている。一実施態様によれば、キャプチャーされた画像810が強調を付加されて示される。強調表示は、値を強調する任意の種類の書式であり得る(例えば、アイコンベース、写真ベース、グラデーション等)。
【0036】
[0046] 表示840は、一番カロリーの低い品目が四角い枠で囲まれ、それぞれのメニュー品目の隣にカロリー含有量の順序を示す数字を含んだ、元のメニュー810を示している。
【0037】
[0047] 表示850は、メニューのエントリーを含んだグラフを示している。図示されるように、グラフ850は、円グラフである。他のグラフも示されることができる(例えば、棒グラフ、折れ線グラフ、散布図)。
【0038】
[0048]
図9は、画像をキャプチャーし当該キャプチャーされた画像を拡張する別の例を示す。
【0039】
[0049] 図示されるように、表示910及び表示920は、銀行口座取引明細書の画像からキャプチャーされたデータ914から作成されるグラフで拡張された銀行口座取引明細書の表示を示している。表示910におけるグラフ912は、円グラフである。表示920におけるグラフ922は、棒グラフである。
【0040】
[0050] グラフを作成するのに用いられるデータを得るために、銀行口座取引明細書から1又は複数の画像が取得されることができる。グラフは、ユーザーがキャプチャーされたデータを視覚化するのを手助けするのに利用される。作成されたグラフは、関連付けされたスプレッドシートと共に保存されることができ、及び/又は関連付けされたスプレッドシートの中に含まれているデータから必要な時に再作成されることができる。
【0041】
[0051]
図10は、スプレッドシートに組み込まれる数式を含んだキャプチャー画像を示す。
【0042】
[0052] 画像1010は、キャプチャーされた画像の中にある選択された数式1012を示している。数式は、スプレッドシート内で表現可能な任意の種類の数式であり得る。例示のために、スプレッドシート1020が行1の列A−Dのデータ及び行2−4の列B−Dのデータを含んでいると想定されたい。ユーザーインターフェース要素を用いて、数式1012は1又は複数のセル(例えばセルA2、A3、及びA4)と関連付けられることができる。数式1012がセルと関連付けられた後に、スプレッドシートは更新されて計算結果を示すことができる。図示されるように、セルA2、A3、及びA4は、対応するB、C、及びD列から得られた値を用いて更新されている。
【0043】
[0053] ここで
図11を参照して、キャプチャーされた画像からのデータをスプレッドシートと関連付けるための例示的な処理が説明される。本明細書において提示されたルーチンに関する議論を読む際には、様々な実施態様の論理演算は、(1)コンピューティングシステム上で動作する一連のコンピューター実施行為又はプログラムモジュールとして、及び/又は(2)コンピューティングシステム内の相互接続されたマシン論理回路又は回路モジュールとして、実現可能であるということが認識されるべきである。実装は、本発明を実施するコンピューティングシステムの性能要件に依存する選択の問題である。したがって、本明細書で説明される実施態様を構成する例示された論理演算は、演算、構造的デバイス、動作、又はモジュールと様々に呼ばれる。これらの演算、構造的デバイス、動作、及びモジュールは、ソフトウェア、ファームウェア、特定用途向けデジタル論理、及びそれらの任意の組み合わせの形で実現されることができる。
【0044】
[0054] 開始ブロックの後、処理1100は動作1110へ移行し、画像がキャプチャーされる。画像は、静止画像又は動画像からキャプチャー可能である。例えば、画像は、ビデオからキャプチャーされること、又は、レシート、文章/手書き文字が書かれた1枚の紙切れ、若しくは何らかの他の物品の写真をとることによってキャプチャーされることができる。一実施態様によれば、画像は、スプレッドシート内で利用可能な文字を含んでいる。例えば、画像は、表形式の数字及び当該数字を説明する文章を含むことができる。画像はまた、手書きのメモ/コメント、及び/又は印刷されたデータを含むこともできる。
【0045】
[0055] 動作1120へ移行すると、キャプチャーされた画像が処理される。一実施態様によれば、画像の処理は、キャプチャーされた画像に対して光学文字認識(OCR)動作を実施することを含む。OCR動作は、専用アプリケーションによって実施されること、及び/又は、画像マネージャー及び/又はスプレッドシートアプリケーションの機能の中に含まれることができる。OCR動作は、キャプチャーされた画像内のデータがスプレッドシートオブジェクト、例えば表、リスト、又は何らかの他のスプレッドシートオブジェクトの形式である場合に、認識を行うように構成されている。例えば、OCR動作は、キャプチャーされた画像の中の文字と線との間隔を判定し、その情報を用いてリスト/表の配列を決定することができるように構成されることができる。
【0046】
[0056] 動作1130へ進むと、キャプチャーされた画像からデータが取得される。データは、画像の全部/一部分であり得る。例えば、ユーザーは、画像の一部分を処理することだけを選択することができる。データを取得するのに全体の画像が使用されることもできる。加えて、データを取得するのに2以上の画像が使用されることができる。例えば、単一の表からデータをキャプチャーするのに2以上のキャプチャーされた画像が使用されることができる。この場合、表全体のデータを取得するために、キャプチャーされた画像のそれぞれが結合されることができる。
【0047】
[0057] 判定動作1140へ遷移すると、データが既存のスプレッドシートに関係するか否かに関する判定が行われる。例えば、キャプチャーされた画像から得られたデータの一部分は、既存のスプレッドシートの中に既に格納されている場合がある。ある種類の画像が既存のスプレッドシートと関連付けられることもできる。例えば、銀行口座取引明細書のキャプチャー画像は銀行口座取引明細書に関係した既存の取引明細書と関連付けられることができ、食料品のレシートは食料品の品目/支出を含んだ既存の取引明細書と関連付けられることができる等である。データは、手動で及び/又は自動でスプレッドシートと関連付けられることができる。例えば、ユーザーは、ユーザーインターフェースを用いて、キャプチャーされた画像の全部/一部分と関連付けるスプレッドシートを選択することができる。スプレッドシートを画像からキャプチャーされたデータと関連付けるのに、論理が使用されることもできる。例えば、デフォルトの銀行取引のスプレッドシートは銀行取引のデータと関連付けられることができ、一方、デフォルトの家計のスプレッドシートは一般的に用いられる家計のデータと関連付けられることができる。ユーザーはまた、スプレッドシートをキャプチャーされたデータと関連付けるように論理を記述することもできる。
【0048】
[0058] 既存のスプレッドシートがキャプチャーされた画像と関連付けられていない場合、処理は動作1150へ移行し、新たなスプレッドシートが作成される。
【0049】
[0059] 既存のスプレッドシートがキャプチャーされた画像と関連付けられている場合、処理は動作1160へ進む。
【0050】
[0060] 動作1160において、スプレッドシート(新たなスプレッドシートと既存のスプレッドシートの何れも)が取得されたデータで更新される。スプレッドシートの更新は、スプレッドシートにセルを追加/削除すること、スプレッドシート内の値/数式/オブジェクトを更新すること等を含むことができる。一実施態様によれば、取得されたデータが既存のスプレッドシートに関係している場合、スプレッドシート内の更新するセルを決定するために、差分演算が実施される。
【0051】
[0061] 動作1170へ進むと、スプレッドシート及び取得されたデータを使用している表示が更新される。当該表示は、スプレッドシートの表示、及び/又は取得されたデータを用いているオブジェクトの表示であり得る。例えば、当該表示は、グラフを作成するキャプチャー画像からのデータを用いたグラフであり得る。当該表示は、異なる形に書式設定されたキャプチャー画像であり得る(例えば、品目がキャプチャーされた画像内で強調表示される)。
【0052】
[0062] 処理は、次いで、終了ブロックへ進み、他のアクションの処理へ戻る。
【0053】
[0063] 上記の明細書、例、及びデータは、本発明の構成の製造及び使用に関する完全な説明を提供する。本発明の趣旨及び範囲から逸脱することなく本発明の数多くの実施態様がなされることが可能であるので、本発明は、以下に添付された特許請求の範囲に存している。