(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスによって実施される方法であって、
画像のカメラベースのスキャニングの開始に応答して前記画像を取り込むステップと、
スキャニングするために、前記取り込まれた画像の中の１つまたは複数の四角形オブジェクトを自動的に選択するステップと、
前記１つまたは複数の四角形オブジェクトが所定の閾値と比較される関連付けられるスコアを有することに基づいて、前記１つまたは複数の四角形オブジェクトの前記自動選択が成功であるかどうかを決定するステップと、
前記１つまたは複数の四角形オブジェクトが前記所定の閾値を超えないスコアを有することに基づいて前記自動選択が不成功である場合に、ユーザ入力に基づいて半自動的補正をして、前記自動選択についてのユーザ修正を行うステップと、
前記選択された１つまたは複数の四角形オブジェクトに対応する前記画像の部分から１つまたは複数のスキャンされた文書を作成するステップであって、前記取り込まれた画像中の前記１つまたは複数の四角形オブジェクトの遠近法ゆがみについて前記部分を補正することを含む、作成するステップと
を含むことを特徴とする方法。
【請求項２】
前記１つまたは複数の四角形オブジェクトを自動的に選択する前記ステップは、
前記取り込まれた画像中のエッジを視覚的差異に基づいて検出するステップと、
前記１つまたは複数の四角形オブジェクトを前記検出されたエッジの組合せとして決定するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
Ｃａｎｎｙのアルゴリズムを使用して前記エッジを検出し、Ｈｏｕｇｈ変換を使用して前記識別されたエッジから可能性のある四角形を形成するステップと、
スコアリング方式を前記可能性のある四角形に適用して前記１つまたは複数の四角形オブジェクトを決定し、前記１つまたは複数の四角形オブジェクトの前記関連付けられるスコアを識別するステップと
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記取り込まれた画像を表示する部分と、前記取り込まれた画像から作成された少なくとも１つのスキャンされた文書を同時に表示する別の部分とを有するユーザインタフェースを見えるようにするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ユーザインタフェースは、
前記取り込まれた画像の中にインディケータを示して前記選択された１つまたは複数の四角形オブジェクトを識別し、
前記インディケータとのユーザインタラクションが、前記１つまたは複数の四角形オブジェクトの前記自動選択をユーザ修正することができるようにし、
前記インディケータとのユーザインタラクションに応答して、前記ユーザ修正に従って作成された少なくとも１つのスキャンされた文書を、更新および表示する
ように構成されることを特徴とする請求項４に記載の方法。
【請求項６】
前記自動選択が成功である場合に、前記自動選択を使用して、前記１つまたは複数のスキャンされた文書の前記作成を行うステップと、
前記自動選択が不成功である場合に、前記半自動補正を通して選択された、前記取り込まれた画像の中の四角形オブジェクトを使用して、前記１つまたは複数のスキャンされた文書の前記作成を行うステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記半自動補正を使用する前記ステップは、
前記取り込まれた画像の中のある位置を選択するユーザ入力を受け取るステップと、
前記ユーザ入力に基づいて対応する四角形を自動的に導き出すステップであって、前記選択された位置が前記対応する四角形の１つの隅部である、ステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項８】
１つまたは複数の視覚的エンハンスメントを適用して、前記１つまたは複数のスキャンされた文書の体裁を改善するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
遠近法ゆがみについて前記部分を補正する前記ステップは、前記取り込まれた画像の前記部分の各々を長方形に対応するように調整することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
携帯型コンピューティングデバイスであって、
カメラと、
メモリに結合された１つまたは複数のプロセッサと、
前記メモリに格納され、前記１つまたは複数のプロセッサを介して実行可能であって前記カメラを介して取り込まれた画像のカメラベースのスキャニングを前記携帯型コンピューティングデバイスに実施させる、取込みアプリケーションとを含み、前記カメラベースのスキャニングの実施は少なくとも、
前記取り込まれた画像からスキャニングするために少なくとも１つの四角形を選択することであって、前記少なくとも１つの四角形は前記取り込まれた画像の中の長方形オブジェクトに対応する、四角形を選択することを含み、前記四角形を選択することは、
前記取り込まれた画像の中の１つまたは複数の可能性のある四角形の検出に基づいて前記少なくとも１つの四角形を識別するために自動選択を行うことと、
少なくとも、前記少なくとも１つの四角形が所定の閾値を超える関連付けられるスコアを有するかどうかを決定することによって、前記自動選択が成功かどうかを決定することと、
前記関連付けられるスコアが前記所定の閾値を超えることに基づいて前記自動選択が成功である場合には、前記自動選択を通して識別された前記少なくとも１つの四角形を選択することと、
前記関連付けられるスコアが前記所定の閾値を超えないことに基づいて前記自動選択が不成功である場合には、ユーザ選択を得て前記少なくとも１つの四角形を識別する半自動補正を開始し、前記半自動選択を通して識別された前記少なくとも１つの四角形を選択することと、
前記取り込まれた画像を処理して、前記選択された少なくとも１つの四角形に対応するスキャンされた文書を生成することと
を含むことを特徴とする携帯型コンピューティングデバイス。
【請求項１１】
前記取込みアプリケーションは、前記１つまたは複数の可能性のある四角形の検出を携帯型コンピューティングデバイスに実施させるようにさらに構成されており、
前記四角形の検出の実施は少なくとも、
前記取り込まれた画像の中のエッジを検出することと、
前記検出されたエッジに対応する線を決定することと、
前記検出されたエッジおよび線を組み合わせて可能性のある四角形を導き出すことと
を含むことを特徴とする請求項１０に記載の携帯型コンピューティングデバイス。
【請求項１２】
前記エッジを検出することは、アルゴリズムを適用して、前記エッジに対応する輝度の急激な変化を見つけることを含むことを特徴とする請求項１１に記載の携帯型コンピューティングデバイス。
【請求項１３】
前記検出されたエッジに対応する線を決定することは、線形変換を適用して、前記検出されたエッジの中の欠陥を補正することを含むことを特徴とする請求項１１に記載の携帯型コンピューティングデバイス。
【請求項１４】
前記自動選択を行うことは、前記取り込まれた画像の中の前記四角形の位置および前記取り込まれた画像の中での前記四角形の相対的な大きさを少なくとも説明するスコアリング方式を、前記取り込まれた画像の中で検出された前記１つまたは複数の可能性のある四角形に適用することを含むことを特徴とする請求項１０に記載の携帯型コンピューティングデバイス。
【請求項１５】
前記取り込まれた画像を処理して前記スキャンされた文書を生成することは、
前記取り込まれた画像を、前記少なくとも１つの四角形に対応するようにトリミングすることと、
前記トリミングされた画像のゆがみを除去して、遠近法ゆがみを補正することと、
１つまたは複数の視覚的エンハンスメントを前記トリミングされた画像に適用することと
を含むことを特徴とする請求項１０に記載の携帯型コンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラベースのスキャニングに関する。
【背景技術】
【０００２】
カメラを含むコンピューティングデバイスは、例えばラップトップコンピュータ、タブレット型パソコン、デジタルカメラデバイス、携帯電話、ウルトラモバイルパソコン、並びに、他の移動データ、メッセージング、および／または通信デバイスなど、ますます一般的かつ移動性の高いものになっている。ユーザは、コンピューティングデバイスに関連付けられたカメラを利用し、プレゼンテーション、ホワイトボード、名刺、文書、スケッチブック、絵などの画像を取り込むことを含めて、様々な写真を撮ることができる。次いで、ユーザは、取り込まれた画像を参照し、図、絵、表、および他のテキストなど、そこに含まれた情報を思い出すことができる。しばしば、ユーザは、取り込まれた画像の情報を自分自身の文書、ノート、および／またはプレゼンテーションで利用できればよいと思う。しかし、従来、カメラで取り込まれた画像は静的なものであり、使用可能および／または編集可能な情報を静止画像から電子的に抽出することは簡単でないことがある。
【０００３】
取り込まれた画像のスキャンされたものを生成するために利用される従来の技術は、画像のプリントを得ること、および、次に手作業でスキャナを操作して画像のスキャンされたものを作成することを必要とする。取り込まれた画像を使って仕事をするために使用される他の従来技術は、画像を取込みデバイスからデスクトップコンピュータに移し、次いでデスクトップコンピュータの画像編集アプリケーションを使用してさらに画像を処理することを必要とする。取り込まれた画像に含まれる情報を得るために従来使用されているそのような手作業の多い技術は、ユーザにとって不便かつ時間のかかるものであり得る。
【発明の概要】
【０００４】
この概要は、カメラベースのスキャニングの簡単な概念を紹介するために提供されている。これらの簡単な概念は、下記の詳細な説明でさらに説明されている。この概要は、特許請求内容の基本的な特徴を識別することは意図されておらず、特許請求内容の範囲を決定する際に使用することも意図されていない。
【０００５】
カメラベースのスキャニングの実施形態が説明される。様々な実施形態で、スキャンされた文書は、デバイスに関連付けられたカメラによって取り込まれた画像を使用して作成することができる。カメラによって取り込まれた画像は、処理され、紙、名刺、ホワイトボード、画面など、長方形オブジェクトに対応する、画像内の四角形部分を識別される。これらの四角形部分の１つまたは複数を、スコアリング方式に基づいて自動的におよび／またはユーザからの入力の助けで半自動的に、スキャニングするために選択することができる。１つまたは複数のスキャンされた文書は、選択された部分のゆがみを除去して遠近法の影響を取り除き（例えば、これらの部分を長方形に調整し）さらに様々な画像エンハンスメントを適用して体裁を改善することによって、選択された四角形部分から作成される。
【図面の簡単な説明】
【０００６】
カメラベースのスキャニングの実施形態は、次の図面に関連して説明される。図面全体を通して同じ数字を使用し、同様な特徴および構成要素を参照する。
【０００７】
【図１】カメラベースのスキャニングの様々な実施形態を実現することができるデバイスの例を示す図である。
【図２】カメラベースのスキャニングの実施形態を実現することができる例示的なシステムを示す図である。
【図３】１つまたは複数の実施形態に従ったカメラベースのスキャニングの例示的な方法を示す図である。
【図４】１つまたは複数の実施形態に従ったカメラベースのスキャニングの例示的な他の方法を示す図である。
【図５】カメラベースのスキャニングの実施形態を実現することができる例示的なデバイスの様々な構成要素を示す図である。
【発明を実施するための形態】
【０００８】
カメラベースのスキャニングの実施形態は、適切に構成されたコンピューティングデバイスのユーザが、そのコンピューティングデバイスに関連付けられたカメラによって取り込まれた画像を使って、文書、プレゼンテーション、および他の被写体をスキャンする技術を提供する。カメラベースのスキャニングは、紙、名刺、ホワイトボード、画面など、長方形オブジェクトに対する遠近法の影響を補正することができる。
【０００９】
例えば、ユーザは、携帯型デバイスのカメラを被写体に向けて、ボタン、タッチ、または他の適切な入力を使用してその被写体の画像の取込みを開始することができる。ユーザによって取込みが開始されたとき、取込み動作が行われ、その被写体の画像を取り込むことができる。画像取込みにより、取り込まれた画像の様々な処理が開始され、取り込まれた画像から１つまたは複数のスキャンされた文書を作成することができる。ある実施形態では、関心のある領域と、画像取込みが行われるべきである領域とを示すために、タッチ画面上でのタッチ入力またはタッチ事象を開始することができる。タッチ入力の位置をその後の処理ステップで使用し、スコアリング機能を案内することができる。この処理は、スキャニングするための潜在的な部分として考えられる、取り込まれた画像内の四角形を識別することを含むことができる。デバイスは、スコアリング方式に基づいて自動的におよび／またはユーザからの入力の助けで半自動的に、１つまたは複数の識別された四角形を選択するように構成されてもよい。次に、選択された四角形のゆがみを除去して遠近法の影響を取り除くこと（例えば、四角形を長方形に調整すること）によって、および様々な画像エンハンスメントを適用して体裁を改善することによって、１つまたは複数のスキャンされた文書を作成することができる。
【００１０】
カメラベースのスキャニングの説明されるシステムおよび方法の特徴および概念は、いくつかの異なる環境、システム、および／または様々な構成で実現することができるが、カメラベースのスキャニングの実施形態は、次の例示的なシステムおよび環境の背景の中で説明される。
【００１１】
図１は、カメラベースのスキャニングの様々な実施形態を実現することができるコンピューティングデバイス１０２の例１００を示す。コンピューティングデバイス１０２は、図２に関連して説明される例示的な携帯デバイスを含めて様々な型のデバイスの１つの例であり、また、図５に示される例示的なデバイスに関連して説明されるように任意の数および組合せの異なる構成要素を用いて実現することができる。コンピューティングデバイス１０２は、ユーザインタフェース、ユーザインタフェース要素および特徴、ユーザ選択可能制御、様々な表示可能オブジェクトなどを表示するための一体型ディスプレイ画面１０４を含む。コンピューティングデバイス１０２は、また、デジタル画像を取り込むためのカメラ１０６を含む。図示の例では、カメラ１０６は、コンピューティングデバイス１０２の、ディスプレイ画面１０４と反対の側に示されている。
【００１２】
コンピューティングデバイス１０２は、さらに、少なくとも入力ドライバ１０８を含み、ユーザからの様々な入力を処理してコンピューティングデバイス１０２を動作させる。少なくともいくつかの実施形態では、ディスプレイ画面１０４は、タッチ画面であり、入力ドライバ１０８は、様々なタッチ入力および／またはタッチ事象を検出し処理するように動作することができる。ある実施形態では、関心のある領域と、画像取込みを開始する領域とを示すために、タッチ画面１０４上でのタッチ入力またはタッチ事象を開始することができる。取り込むべき画像のプレビューとして画像をディスプレイ画面に表示することができ、画面上の特定の位置に対してのタッチ事象が、その画像が取り込まれるべきであることを示す。さらに、この特定の位置は、後の処理アルゴリズムでスコアリング機能にとって関心のあるものとして識別される。したがって、タッチ入力を利用して、画像の一部を選択し、カメラを起動してその画像を取り込むように写真を撮ることができる。
【００１３】
コンピューティングデバイス１０２は、また、ユーザインタフェース１１２および様々なユーザインタフェース要素、特徴の表示を起動し、およびカメラ１０６による画像取込みおよびその画像の処理を容易にするための制御を行なう、取込みアプリケーション１１０を含む。さらに、取込みアプリケーション１１０は、本明細書で説明されるカメラベースのスキャニング技術を実現するコンピューティングデバイス１０２の機能を表わす。例示的なユーザインタフェース１１２は、ビューファインダ１１４とスキャン画像ディスプレイ１１６とを有する分割画面インタフェースとして示されている。ビューファインダ１１４は、カメラ１０６からの現在画像を示し、また写真が撮られるとき、取り込まれた画像を示すように切り換わることができる。さらに、ユーザは、ビューファインダ１１４とのインタラクションを介して、取り込まれた画像の部分を修正し選択することができることがある。
【００１４】
スキャン画像ディスプレイ１１６は、スキャンされた文書を生成するように取込みアプリケーション１１０によって処理される取り込まれた画像の１つまたは複数の部分を示すことができる。分割画面は、ビューファインダ１１４の取り込まれた画像と、スキャン画像ディスプレイ１１６の取り込まれた画像から生成されたスキャンされた文書とを同時に表示することができる。このようにして、ユーザは、取り込まれた画像とその画像のうちのスキャンされた部分の両方を見ることができ、さらにユーザインタフェース１１２を使用して直感的な調節、例えば、選択された部分の境界の修正または異なる部分の選択などを行うことができる。
【００１５】
カメラベースのスキャニングの実施形態では、コンピューティングデバイス１０２のユーザは、被写体１１８の写真を撮ることによってカメラベースのスキャニングを開始することができる。写真の被写体１１８は、文書、紙、名刺、写真、ホワイトボードなど、１つまたは複数の長方形オブジェクトを含むことができる。図１の例では、被写体１１８は、業務用プレゼンテーションに使用されているディスプレイ画面のように見える。写真が撮られて、カメラベースのスキャニングが開始されるとき、取込みアプリケーション１１０は、被写体１１８の画像を取り込み、ユーザインタフェース１１２のビューファインダ１１４にその画像を出力することができる。
【００１６】
取込みアプリケーション１１０は、長方形オブジェクトに対応する取り込まれた画像の部分を検出するように実現される。特に、取込みアプリケーション１１０は、スキャニングするための潜在的な領域として考えられる、取り込まれた画像内の四角形を識別するように構成されてもよい。画像内の四角形は、画像および他の文書の中の任意の形を見つけるのに適した様々な特徴抽出技術を使用して識別することができる。
【００１７】
少なくともいくつかの実施形態では、取込みアプリケーション１１０は、輝度の急激な変化などの眼に見える違いに基づいてエッジを検出するように動作することができるエッジ検出器を含むか、さもなければエッジ検出器を利用する。エッジ検出に適した１つの例示的なアルゴリズムは、Ｃａｎｎｙのアルゴリズムである。エッジが識別されたとき、そのエッジは、つなぎ合わされて、四角形を形成する接続線（connected lines）にされることがある。例えば、エッジ検出器によって頂点（隅部）を識別することができ、次にその頂点を接続して四角形を形成することができる。これは、例えば、線形Ｈｏｕｇｈ変換を適用して、検出されたエッジの欠陥を補正してエッジに対応する線を導き出すことを含むことがある。したがって、検出されたエッジと線とを使用して１組の可能性のある四角形を導き出すことができ、その場合、それらの線は、特定の方向に沿って同様に方向付けされたエッジから検出され、次いで四角形を形成するように組み合わされる。
【００１８】
取込みアプリケーション１１０は、インディケータ１２０が、ユーザインタフェース１１２に現われて、取り込まれた画像内で検出されたおよび／または選択された四角形を表すようにすることができる。例えば、図１のビューファインダ１１４の取り込まれた画像は、エッジに沿って現われる頂点の点および破線として構成されたインディケータ１２０を含む。アニメーション化された線、色の変化、フラグなどの他のインディケータ１２０も考えられる。可能性のある四角形がビューファインダを介して示されて、ユーザが、スキャニングするために１つまたは複数の四角形を選択することができるようになる。
【００１９】
ある実装例では、取込みアプリケーション１１０は、スコアリング方式に基づいてスキャンすべき１つまたは複数の可能性のある四角形を自動的に選択するように構成されてもよい。スコアリング方式は、例えば大きさ、位置、テキストおよび文面などの内容の認識などを含めて様々な基準に基づいて、可能性のある四角形を評価することができる。最高得点の四角形は、自動的に選択されることが可能である。他の例では、閾値得点を超える任意の四角形が選択されることが可能である。
【００２０】
取込みアプリケーション１１０は、さらに、自動選択により適切な四角形が見つけられないとき、および／またはユーザが半自動選択を開始したとき、四角形の半自動選択を実現するように構成されてもよい。そうするために、自動的に選択された四角形、隅部、および／または線が、上述のようにインディケータ１２０を使用してユーザインタフェース１１２に提示されてもよい。そのとき、ユーザは入力を与えて、自動的に選択された四角形を修正し、ある四角形を除き、カスタム四角形を定義するなどをすることができる。
【００２１】
ある実装例では、インディケータ１２０は、隅部をドラッグしてその隅部を再位置付けするなどによって四角形を修正するように、ユーザによる選択可能なものとすることができる。他の例では、ユーザは、ユーザインタフェース１１２とのインタラクションを通して１つの隅部を選択することよってカスタム四角形を定義することができる。取込みアプリケーション１１０は、１つの隅部のユーザ選択に基づいて対応する四角形を自動的に導き出すように構成されてもよい。ユーザは、また、ユーザインタフェース１１２の選択およびドラッグツールを操作してカスタム四角形の領域を識別することができる。コンピューティングデバイス１０２がタッチ有効であるとき、ユーザは、ディスプレイ画面１０４に直接タッチしドラッグして四角形を修正し、また定義することができる。例えばスタイラス、マウス、方向キー、および／または他の適切な入力デバイスを含めて他の入力デバイスが、また、四角形の半自動選択のために使用されてもよい。
【００２２】
次に、選択された四角形のゆがみを除去して遠近法の影響を取り除き（例えば、四角形を長方形に調整し）、さらに様々な画像エンハンスメントを適用して体裁を改善することによって、１つまたは複数のスキャンされた文書を作成することができる。特に、ゆがみ除去を行うために、取込みアプリケーション１１０は、取り込まれた画像の遠近法によるゆがみを検出し補正するように実現されてもよい。例えば、取込みアプリケーション１１０は、選択された四角形の角度および比率に基づいて遠近法を決定することができる。取込みアプリケーション１１０は、選択された四角形に一致するように取り込まれた画像をトリミングすることができる。取込みアプリケーション１１０は、次に、少なくともいくつかの部分を回転し、大きさを変え、さもなければトリミングされた画像に補正を加えて遠近法のゆがみを明らかにして、さらに長方形に調整され、ゆがみを除去された画像（以下、ゆがみ除去済画像）を生成することができる。
【００２３】
取込みアプリケーション１１０は、また、様々な画像エンハンスメントを適用して、ゆがみ除去済画像の体裁を改善することができる。これらの画像エンハンスメントの例には、２〜３例を挙げると、色の強化、明るさおよび陰の補正、および背景除去がある。画像エンハンスメントには、また、光学式文字認識（ＯＣＲ）をゆがみ除去済画像に適用してテキストを識別し、編集可能なテキスト部分を有するスキャンされた文書を生成することを含むことができる。
【００２４】
図１に示された業務用プレゼンテーションの特定の例を考える。業務用プレゼンテーションは、ディスプレイ画面に現われ、テキストおよび人のイラストを含む。ユーザが業務用プレゼンテーションの写真を撮るとき、画像が取り込まれ、さらにビューファインダ１１４に現われることが可能である。写真が撮られた角度のために画像がゆがんで現われることに留意されたい。最初に、取込みアプリケーション１１０は、本明細書で述べられるカメラベースのスキャニング技術を使用して画面境界を識別することができる。したがって、画面に対応する四角形が、インディケータ１２０を使用してビューファインダ１１４中に識別される。さらに、取込みアプリケーション１１０は、最初に、スキャン画像ディスプレイ１１６を介して、テキストおよびイラストを含んだ画面のスキャンされたものを示すことができる。
【００２５】
しかし、図示された例では、ユーザは、カスタム四角形を選んで、テキストのないイラストを選択した。例えば、ユーザは、コンピューティングデバイス１０２のディスプレイ画面１０４にタッチして隅部を選び（pick）、および／または選択ボックスをイラストのまわりにドラッグすることができる。この選択に応答して、選択された部分（例えば、イラスト）は、ゆがみを除去して遠近法の影響（例えば、ゆがみ）を取り除きさらにエンハンスメントを適用することによって、スキャンされている。結果として得られたスキャンされたイラストは、スキャン画像ディスプレイ１１６に現われ、また、ユーザインタフェース１１２の分割画面を使用して、ビューファインダ１１４の取り込まれた業務用プレゼンテーションと共に同時に示されることが可能である。ユーザは、様々なやり方で、例えば、注釈を付け加えて、同僚と共有して、ウェブサイトまたはブログに発表するなどして、スキャンされたイラストを利用することができる。
【００２６】
図２は、カメラベースのスキャニングの様々な実施形態を実現することができる例示的なシステム２００を示す。例示的なシステム２００は、携帯型デバイス２０２（例えば、有線デバイスおよび／または無線デバイス）を含み、この携帯型デバイス２０２は、モバイルパーソナルコンピュータ２０４、パーソナルデジタルアシスタント（ＰＤＡ）、データ、メッセージング、および／または音声通信のために実現された携帯電話２０６（例えば、セルラー、ＶｏｌＰ、ＷｉＦｉ、その他）、携帯型コンピュータデバイス２０８（例えば、ラップトップコンピュータ、タッチ画面付きラップトップコンピュータなど）、メディアデバイス２１０（例えば、パーソナルメディアプレーヤ、携帯型メディアプレーヤなど）、ゲームデバイス、電気器具デバイス、電子デバイス、および／または、オーディオ、ビデオ、および／または画像データの任意の形でデータを受け取り、表示し、および／または伝えることができる任意の他の型の携帯型デバイスのうちの任意の１つまたは組合せであってもよい。
【００２７】
様々な携帯型デバイスの各々は、一体型ディスプレイおよび／または一体型タッチ画面または他のディスプレイ、並びにユーザがデータおよび／または選択を入力することができる選択可能な入力制御を含むことができる。例えば、モバイルパーソナルコンピュータ２０４は、ユーザインタフェース２１４を表示することができる一体型タッチ画面２１２を含み、この一体型タッチ画面２１２は、表示可能オブジェクトおよび／またはユーザインタフェース要素２１６、例えば任意の型の画像、グラフィック、テキスト、選択可能なボタン、ユーザの選択可能な制御、メニュー選択、地図要素、および／または任意の他の型のユーザインタフェースのディスプレイ可能な特徴または事項などを含む。ユーザインタフェース２１４は、また、本明細書で説明されるカメラベースのスキャニングの１つまたは複数の実施形態に従って、取り込まれた画像およびスキャンされた画像を、分割画面を介して表示することができる。
【００２８】
本明細書で説明される様々な携帯型デバイスのどれでも、１つまたは複数のセンサ、プロセッサ、通信構成要素、データ入力、メモリ構成要素、記憶媒体、処理および制御回路、および／または内容レンダリングシステムを用いて実現することができる。また、これらの携帯型デバイスのどれでも通信ネットワークを介した通信のために実現することができ、その通信ネットワークは、任意の型のデータネットワーク、音声ネットワーク、同時通報ネットワーク、ＩＰベースのネットワーク、および／または、データ、メッセージング、および／または音声通信を容易にする無線ネットワークなど、であってもよい。携帯型デバイスは、また、図５に示された例示的なデバイスに関連して説明されるような様々な構成要素の任意の数および組合せを用いて実現することができる。携帯型デバイスは、また、携帯型デバイスが、ユーザ、ソフトウェア、および／またはデバイスの組合せを含む論理デバイスを表すように、携帯型デバイスを操作するユーザ（すなわち、人）および／またはエンティティと関連付けられることがある。
【００２９】
この例では、携帯型デバイス２０２は、１つまたは複数のプロセッサ２１８（例えば、マイクロプロセッサ、制御装置、および同様なものうちのどれか）、データ、メッセージング、および／または音声通信のための通信インタフェース２２０、およびメディアコンテンツ２２４を受け取るためのデータ入力２２２を含む。メディアコンテンツ（例えば、記録されたメディアコンテンツを含む）は、任意のメディアコンテンツまたはデータソース、例えば、メッセージ、テレビジョンメディアコンテンツ、音楽、ビデオクリップ、データフィード、双方向ゲーム、ネットワークベースのアプリケーション、および任意の他の内容などから受け取られた任意の型のオーディオ、ビデオ、および／または画像データを含むことができる。携帯型デバイス２０２は、制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに固有のコード、および／または特定のデバイスのためのハードウェア抽象化レイヤの任意の１つまたは組合せを含むデバイス管理プログラム２２６で実現される。
【００３０】
携帯型デバイス２０２は、プロセッサ２１８が処理し、さもなければ実行することができる取込みアプリケーション２３０など、構成要素を内蔵することができる様々なソフトウェアおよび／またはメディアアプリケーション２２８を含む。メディアアプリケーション２２８は、音楽および／またはビデオプレーヤ、撮像アプリケーション、ウェブブラウザ、電子メールアプリケーション、メッセージングアプリケーション、デジタル写真アプリケーション、および同様なものを含むことができる。携帯型デバイス２０２は、取込みアプリケーション２３０からユーザインタフェースをレンダリングして任意の携帯型デバイスにディスプレイを生じさせるレンダリングシステム２３２を含む。レンダリングシステム２３２は、また、任意のメディアコンテンツおよび／またはデータソースから得られる任意の形のオーディオ、ビデオ、および／または画像データを受け取ってレンダリングするように実現される。携帯型デバイス２０２は、また、タッチ画面２１２用のタッチ画面ドライバを内蔵するか、さもなければ利用することができるカメラ２３４および入力ドライバ２３６を含む。入力ドライバ２３６は、様々な入力および／またはジェスチャ、入力、および／または動作の決定可能な表現を検出し処理するように構成されて、カメラベースのスキャニングを実現する取込みアプリケーション２３０の動作を含めて携帯型デバイス２０２の機能を動作させることができる。取込みアプリケーション２３０および入力ドライバ２３６の実装例は、図１に示された取込みアプリケーション１１０および入力ドライバ１０８に関連して、および本明細書で説明されるようなカメラベースのスキャニングの実施形態に関連して説明される。
【００３１】
例示的な方法３００および４００は、カメラベースのスキャニングの１つまたは複数の実施形態に従って、それぞれの図３および４に関連して説明される。一般に、本明細書で説明される機能、方法、手順、構成要素、およびモジュールのどれでも、ハードウェア、ソフトウェア、ファームウェア、固定論理回路、手作業処理、またはこれらの任意の組合せを使用して実現することができる。ソフトウェア実装例は、コンピュータプロセッサによって実行されたとき指定されたタスクを実施するプログラムコードを表わす。例示的な方法は、コンピュータ実行可能命令の一般的な背景の中で説明されることがあり、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、構成要素、データ構造、手順、モジュール、機能、および同様なものを含むことができる。その方法は、また、通信ネットワークを通してつながれた処理デバイスよって、分散コンピューティング環境で実施されることも可能である。分散コンピューティング環境では、コンピュータ実行可能命令は、ローカルおよびリモートコンピュータ記憶媒体および／またはデバイスの両方に位置付けられることが可能である。さらに、本明細書で説明される特徴は、プラットフォームに無関係であり、様々なプロセッサを備える様々なコンピューティングプラットフォームで実現することができる。
【００３２】
図３は、カメラベースのスキャニングの例示的な方法３００を示す。本方法が説明される順序は、限定として解釈されるように意図されていないし、説明される方法ブロックの任意の数を任意の順序で組み合わせて、本方法または代替方法を実現することができる。
【００３３】
ブロック３０２で、画像の取込みを開始する入力が検出される。例えば、コンピューティングデバイス１０２の入力ドライバ１０８が、ユーザ選択を検出して被写体１１８の写真を撮る。被写体１１８は、カメラベースのスキャニングにとって検出可能な１つまたは複数の長方形オブジェクトを含むことが可能である。この取込みは、タッチ画面ボタン、キーを押すこと、コンピューティングデバイス１０２の専用シャッタボタンの動作、または他の適切な入力のユーザ操作によって開始されることが可能である。
【００３４】
ブロック３０４で、入力に応答して、画像が取り込まれる。例えば、コンピューティングデバイス１０２の取込みアプリケーション１１０が、ブロック３０２の入力に応答して、カメラ１０６を使用して被写体１１８の画像を取り込むことができる。取り込まれた画像は、コンピューティングデバイス１０２のユーザインタフェース１１２を介して示すことができる。
【００３５】
ブロック３０６で、取り込まれた画像中の四角形の検出に基づいて、取り込まれた画像の１つまたは複数の部分がスキャンされる。ブロック３０８で、１つまたは複数のスキャンされた部分にエンハンスメントが適用される。四角形は、様々な技術を使用して、取り込まれた画像の中で検出することができる。例えば、コンピューティングデバイス１０２の取込みアプリケーション１１０は、図１との関連で述べられた自動および半自動技術のどちらかまたは両方を使用して、四角形を識別することができる。他の例では、取り込まれた画像をコンピューティングデバイス１０２を介してユーザに示して四角形を手作業で選択することができる手作業技術が使用されてもよい。この例では、取込みアプリケーション１１０による四角形の自動検出を可能にする機能は、禁止されることがあり、含まれないことがあり、またはさもなければ利用不可能であることがある。その１つまたは複数のスキャンされた部分の体裁を改善する様々なエンハンスメントが考えられる。四角形を検出し、スキャンされた画像の画質を高める技術に関するさらなる詳細は、図４に示される例示的な方法４００に関連して以下で提供される。
【００３６】
ブロック３１０で、１つまたは複数の部分に対応するスキャンされた文書が出力される。例えば、コンピューティングデバイス１０２の取込みアプリケーション１１０は、スキャンされた文書がユーザインタフェース１１２のスキャン文書ディスプレイに示されるようにすることができる。次に、ユーザは、文書を保管し、注釈を付け加え、文書を１つまたは複数の受取人に送るなどして、スキャンされた文書を扱う仕事をすることができることがある。
【００３７】
図４は、カメラベースのスキャニングの例示的な方法４００を示す。特に、図４は、コンピューティングデバイス１０２のカメラ１０６を介して取り込まれた画像をスキャンするのに適した例示的なアルゴリズムを表す。本方法が説明される順序は、限定として解釈されるように意図されていないし、説明される方法ブロックの任意の数を任意の順序で組み合わせて、本方法または代替方法を実現することができる。
【００３８】
ブロック４０２で、取り込まれた画像は、前処理される。例えば、コンピューティングデバイス１０２の取込みアプリケーションは、取り込まれた画像を様々なやり方で前処理して、カメラベースのスキャニングするために画像を用意することができる。例として、前処理は、画像フィルタの使用、コントラストの強調、輝度の調節、縮小、ＧＳ変換、メジアンフィルタ処理などを含むことができる。ある実施形態では、前処理は、画像の縮小、コントラストの強調、およびノイズフィルタ処理のうちの１つまたは複数を含む。縮小は、画像の解像度および画像のために処理すべきピクセルの数を減らすために行われることがある。画像の解像度が増すにつれて、より多くのコンピューティングリソースが画像を処理するために費やされ、さらにより多くの誤った（例えば、望ましくない）エッジがエッジ検出で生じることがある。したがって、縮小は、処理のスピードを上げ、さらに改善されたエッジ検出を可能にすることができる。
【００３９】
コントラスト強調は、画像中で最も明るい色調を白に設定し、最も暗い色調を黒に設定するように使用することができる。これは、また、コントラストおよび／または輝度の著しい差異を見つける検出アルゴリズムによるエッジおよび線の検出を改善することができる。ノイズフィルタ処理は、１つまたは複数のフィルタを利用して画像ノイズを除去することを含む。ガウスぼかしなどのいくつかのノイズフィルタは、画像のエッジを劣化させ（例えば、滑らかにし）、エッジを検出することをいっそう困難にすることがある。したがって、エッジを維持するノイズフィルタ処理技術、例えばバイラテラルフィルタおよび／またはメジアンフィルタ処理などは、エッジ劣化を防ぐためにカメラベースのスキャニング技術と共に使用されてもよい。
【００４０】
前処理の後で、方法４００は、次に、取り込まれた画像中の四角形の検出を行うことができる。ブロック４０４で、取り込まれた画像でエッジが検出される。検出されるエッジは、名刺のエッジ、絵の額縁、ディスプレイ画面のエッジなど、画像の中の長方形オブジェクトの境界に対応することが可能である。これらのエッジは、任意の適切なやり方で検出することができる。例えば、コンピューティングデバイス１０２の取込みアプリケーション１１０は、Ｃａｎｎｙのアルゴリズムを適用してコントラストの急激な変化に基づいてエッジを検出するように実現されることがある。
【００４１】
Ｃａｎｎｙのアルゴリズムは、エッジを検出するのに十分なコントラスト差の量を定義する設定可能な閾値を利用することができる。ある実施形態では、Ｃａｎｎｙのアルゴリズムで使用される閾値は、適応性があることがある。例えば、高いインスタンスのエッジ（例えば、カーペット、テーブル、または他のテクスチャ表面）を有する画像の領域の閾値は、高くすることができる。これによって、そのような領域で検出されるいくつかの誤ったエッジを減らすことができる。同様に、比較的低いインスタンスのエッジを有する画像の領域の閾値は、比較的小さなコントラスト差を有するエッジを検出する可能性を高めるために下げられることがある。
【００４２】
ブロック４０６で、検出されたエッジに対応する線が決定される。取込みアプリケーション１１０は、検出されたエッジを利用して対応する線を組み立てることができる。ある実装例では、線は、線形Ｈｏｕｇｈ変換を適用して決定される。不完全なエッジ、波状のエッジなどのエッジの検出で生じる欠陥を補正するための線を識別することができる。このステップは、また、スコアリング方式に従って線を採点すること、およびスコアリング基準に基づいて線を選択して廃棄することを含む。例えば、孤立した線、不確実な線、適切な四角形を形成しないと決定された線は、廃棄または無視することができる。
【００４３】
線を採点し選択する様々な技術が考えられる。ある実施形態では、Ｈｏｕｇｈ変換を適用することによって決定される設定可能な数の最上位得点の線に対して、採点精密化が適用されることがある。特に、最上位得点の線の各々は、線を取り囲む領域をスキャンしてほぼ同じ向きを有するエッジを見つけることによって、再採点し再分類されることがある。特定の線の新しい得点は、スキャンされた領域で見つけられたほぼ同じ向きのエッジの数に比例する。
【００４４】
ある実施形態では、特定の線のためにスキャンされる領域が、線の向きに基づいて調節されることがある。例えば、実質的に水平な線では、スキャンされる領域は、その線のピクセルより上／下の設定可能な数のピクセルを含むことができる。同様に、実質的に垂直な線では、スキャンされる領域は、線のピクセルの左／右の方の設定可能な数のピクセルを含むことができる。
【００４５】
ブロック４０８で、検出されたエッジおよび線を使用して、可能な四角形が得られる。特に、コンピューティングデバイス１０２の取込みアプリケーション１１０は、ブロック４０４で検出されたエッジとブロック４０６で決定された線とを利用して、可能な四角形を組み立てることができる。言い換えると、様々な線を組み合わせて四角形を形成することがき、その場合、それらの線は、特定の方向に沿ってほぼ同じように方向付けされたエッジから検出される。それらの線を組み合わせて四角形を形成することは、様々なやり方で行うことができる。ある例では、検出された線が処理されて、最初に、四角形の相対する辺を形成する線を見つけることによって可能な四角形が見つけられることがある。検出された線は、四角形の隅部を形成する線に基づいて可能な四角形を見つけるために、再び処理されることがある。いくつかの以前の技術と違って、隅部は、実質的に直角を形成する隅部だけでなく、不均整なまたはゆがんだ四角形に対応することが可能である。
【００４６】
ブロック４１０で、スキャンするための四角形が選択される。例えば、ブロック４０８で組み立てられた可能な四角形の組を使用して、取込みアプリケーション１１０は、スコアリング基準に従って四角形を自動的に選択するように構成されてもよい。このステップは、スコアリング方式に基づいて線の有意の組合せを識別し、さらに意味がないと考えられる組合せを廃棄することを含むことができる。スコアリング方式は、画像の中の位置、相対的な大きさ、四角形の中および外に含まれる内容などを含めて様々な基準を説明することができる。
【００４７】
スコアリング方式は、取込みアプリケーション１１０で使用して、可能な四角形の中から有望な四角形を選択することができる。言い換えると、取込みアプリケーション１１０は、基準を使用して可能な四角形を採点して、取り込まれた画像の意図された内容について、有望なまたはほぼ最善の推測を行うことができる。例えば、取り込まれた画像の中心近くの大きな四角形は、意図された内容のものでありそうなので、得点に基づいて取込みアプリケーション１１０によって選択されることが可能である。対照的に、中心から離れて位置し、かつ色の変化がほとんどまたは全くない小さな四角形は、おそらく有意な四角形ではなく、廃棄されうる。
【００４８】
最適な四角形を見つけるために、様々な発見的問題解決法を使用することができる。ある実施形態では、スコアリング方式は、特定の四角形の最初の得点を計算し、次いで任意選択で、最初の得点を上げるか減らすことができる四角形の様々な特性を説明するように最初の得点を修正することができる。例えば、最初の得点は、四角形の相対的な大きさに基づいて計算することができる。相対的な大きさに基づいて最初の得点を計算することができる１つのやり方は、四角形の面積を画像の面積で割りその値の平方根を取ることによるものである。任意選択で、最初の得点を修正する四角形の様々な特性が考えられる。例えば、最初の得点は、得点を上げるエンハンスメントおよび／または得点を減らすペナルティとともに修正されることがある。
【００４９】
１つの特定の例では、最初の得点は、「望ましくない」四角形特性を説明する様々なペナルティ係数を掛けられるか、さもなければペナルティ係数で調節されることがある。例えば、ペナルティ係数は、０と１の間の範囲の乗数として構成されてもよい。様々な異なるペナルティおよび対応するペナルティ係数が考えられる。例えば、四角形の隅部の２つの線がその隅部を通り越して延びるとき、ペナルティを適用することができる。ペナルティ係数は、線が隅部を通り越して延びる距離に比例することがある。
【００５０】
他のペナルティは、四角形の隅部で２つの線の間に形成される角度に基づいていることがある。この場合のペナルティ係数は、直角との角度の差に比例することがある。他の例示的なペナルティは、画像の境界を通り越して広がる四角形、画像の境界に対して相当にゆがんでいる四角形、および／または画像の中心から遠く離れて位置付けされた、またはさもなければ誤って位置合わせされた四角形について課されることがある。
【００５１】
四角形の最初の得点は、また、「望ましい」四角形特性を説明する様々なエンハンスメント係数を掛けられるか、さもなければ様々なエンハンスメント係数で調節されることがある。例えば、例示的なエンハンスメント係数は、画像の中心近くにある四角形、画像と実質的に位置合わせされた四角形、形の良い四角形などに適用することができる。留意されることであるが、本明細書で説明されるエンハンスメントおよびペナルティは、四角形を選択するためにスコアリング方式を実現するように個々におよび／または組み合わせて使用することができる。
【００５２】
ブロック４１２で、四角形の選択が成功であるかどうかについて決定がなされる。例えば、取込みアプリケーション１１０は、適切な四角形が選択されたときを決定することができる。いくつかの場合に、ブロック４０４〜４１０での四角形の自動選択は、適切な四角形を検出することができないことがある。例えば、取込みアプリケーション１１０は、可能な四角形のどれも定義された得点閾値を満たさないと決定することがある。この場合、選択は不成功であると決定され、半自動補正が開始されることがある。
【００５３】
他の例では、ブロック４１０で自動的に選択された１つまたは複数の四角形が、ユーザによる承認を求めて、コンピューティングデバイス１０２のユーザインタフェース１１２を介して示されることがある。そのとき、ユーザは、示された四角形を承認するまたは承認しない入力を与えることができる。この例では、ブロック４１２での決定は、ユーザによって与えられた入力に従って行われる。ユーザが承認する場合には、選択は成功と考えられる。ユーザが承認しない場合には、選択は不成功であると決定され、半自動補正が開始されることがある。
【００５４】
上のシナリオで選択が不成功である場合、ブロック４１４で、半自動補正が、四角形を選択するユーザ入力に基づいて使用される。半自動補正は、ユーザが、取込みアプリケーション１１０によって行われる自動選択を修正する入力を与えることができるようにする。例えば、ブロック４１０で自動的に選択された１つまたは複数の四角形が、コンピューティングデバイス１０２のユーザインタフェース１１２を介して示されることがある。この表示は、インディケータ１２０を利用して四角形の境界を示すことができる。ある実装例では、インディケータ１２０の少なくともいくつかは、対応する四角形を修正するためのタッチ入力または他の適切な入力によって選択することができる。取込みアプリケーション１１０は、インディケータ１２０とのインタラクションを検出し、四角形に対して対応する修正を引き起こすことができる。例えば、ユーザはインディケータ１２０とインタラクションして、隅部の点（例えば、頂点）を選択しドラッグして四角形の大きさを変えること、四角形を異なる位置に動かすようにドラッグすること、四角形を回転することなど、修正を行うことができる。
【００５５】
さらに、または代わりに、ユーザは、ユーザインタフェース１１２とのインタラクションを通して１つまたは複数の隅部を選択することによって、カスタム四角形を定義することができる。再び、このインタラクションは、タッチ入力または他の適切な入力によることが可能である。取込みアプリケーション１１０は、本明細書で説明される技術を使用して１つの隅部を選択するユーザインタラクションに応答して、対応する四角形を自動的に導き出すように構成されてもよい。ユーザが依然として四角形に満足しない場合には、ユーザは別の隅部を選択することができ、取込みアプリケーション１１０は、両方の選択された隅部を使用して対応する四角形を導き出すことができる。このプロセスは、第３の隅部を選択することによって三度繰り返すことができる。ユーザがまだ不満足で第４の隅部が選択された場合、取込みアプリケーション１１０は、４つの選択された隅部に対応する頂点を持つ四角形を出力することができる。このようにして、ユーザは、連続するヒントを提供して、取込みアプリケーション１１０によって自動的に選択される四角形を調節することができる。
【００５６】
また、ユーザは、ユーザインタフェース１１２の選択およびドラッグツールを操作して、カスタム四角形の領域を識別することができる。例えば、図１に、ユーザインタフェース１１２のビューファインダ１１４の人のイラストを選択するユーザのインタラクションが描かれている。半自動補正の後で、方法４００はブロック４１６に進む。
【００５７】
ブロック４１６で、選択された四角形の遠近法のゆがみを除去する処理が行われる。このステップは、ブロック４１２で四角形選択が成功であると決定されたときと、ブロック４１４での半自動補正の後との両方で行われることがある。一般に、ゆがみ除去は、長方形に調整される選択された四角形に対応するゆがみ除去済画像を生成するために行われる。例えば、取込みアプリケーション１１０は、選択された四角形の角度および比率に基づいて遠近法を決定することができる。また、取込みアプリケーション１１０は、取り込まれた画像を、選択された四角形に一致するようにトリミングすることができる。さらに、取込みアプリケーション１１０は、回転すること、部分の大きさを変えること、さもなければ遠近法ゆがみを説明するための補正を行うことによって、遠近法を補正することができる。
【００５８】
ブロック４１８で、視覚的エンハンスメントが、ゆがみ除去済画像に適用される。上記の図に関して前に述べられたように、様々なエンハンスメントが、取込みアプリケーション１１０によって、ゆがみ除去済画像に適用されることがある。
【００５９】
図５は、図１および２に関連して説明されたように任意の型の携帯型および／またはコンピュータデバイスとして実現されて、カメラベースのスキャニングの実施形態を実現することができる例示的なデバイス５００の様々な構成要素を示す。デバイス５００は、デバイスデータ５０４（例えば、受け取られたデータ、受け取られるデータ、同時通報予定のデータ、データのデータパケットなど）の有線および／または無線通信を可能にする通信デバイス５０２を含む。デバイスデータ５０４または他のデバイス内容は、デバイス、デバイスに格納されたメディアコンテンツ、および／またはデバイスのユーザに関連する情報の構成設定を含むことができる。デバイス５００に格納されたメディアコンテンツは、任意の型のオーディオ、ビデオ、および／または画像データを含むことができる。デバイス５００は、１つまたは複数のデータ入力５０６を含み、このデータ入力５０６を介して、任意の型のデータ、メディアコンテンツおよび／または入力、例えば、ユーザ選択可能な入力、メッセージ、音楽、テレビジョンメディアコンテンツ、記録されたビデオコンテンツ、および任意のコンテンツおよび／またはデータソースから受け取られる任意の他の型のオーディオ、ビデオ、および／または画像データなど、を受け取ることができる。
【００６０】
また、デバイス５００は、通信インタフェース５０８を含み、この通信インタフェース５０８は、直列および／または並列インタフェース、無線インタフェース、任意の型のネットワークインタフェース、モデムの任意の１つまたは複数として、および任意の他の型の通信インタフェースとして、実現されることがある。通信インタフェース５０８は、他の電子デバイス、コンピューティングデバイス、および通信デバイスがデバイス５００とデータをやりとりする通信ネットワークと、デバイス５００との間の接続および／または通信リンクを提供する。
【００６１】
デバイス５００は、様々なコンピュータ実行可能命令を処理してデバイス５００の動作を制御しさらにカメラベースのスキャニングの実施形態を実現する１つまたは複数のプロセッサ５１０（例えば、マイクロプロセッサ、制御装置、および同様なもののどれか）を含む。代わりに、またはそれに加えて、デバイス５００は、一般に５１２で識別される処理および制御回路に関連して実現されるハードウェア、ファームウェア、または固定論理回路の任意の１つまたは組合せを用いて、実現することができる。図示されないが、デバイス５００は、デバイス内の様々な構成要素を結合するシステムバスまたはデータ転送システムを含むことができる。システムバスは、メモリバスまたはメモリ制御装置、周辺機器用バス、ユニバーサルシリアルバス、および／または様々なバスアーキテクチャのどれかを利用するプロセッサまたはローカルバスなどの異なるバス構造の任意の１つまたは組合せを含むことができる。
【００６２】
また、デバイス５００は、１つまたは複数のメモリ構成要素などのコンピュータ読取り可能媒体５１４を含み、その例には、ＲＡＭ（Random Access Memory）、不揮発性メモリ（例えば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの任意の１つまたは複数）、およびディスク型記憶デバイスなどがある。ディスク型記憶デバイスは、ハードディスクドライブ、記録可能および／または書換え可能ＣＤ（Compact Disk）、任意の型のＤＶＤ（Digital Versatile Disk）、および同様なものなどの任意の型の磁気または光記憶デバイスとして実現されることがある。デバイス５００は、また、大容量記憶媒体デバイス５１６を含むことができる。
【００６３】
コンピュータ読取り可能媒体５１４は、デバイスデータ５０４を格納するためのデータ記憶機構、並びに、デバイス５００の動作態様に関連する様々なデバイスアプリケーション５１８および任意の他の型の情報および／またはデータを提供する。例えば、オペレーティングシステム５２０は、コンピュータ読取り可能媒体５１４によってコンピュータアプリケーションとして保持され、プロセッサ５１０で実行されることがある。デバイスアプリケーション５１８は、デバイス管理プログラム（例えば、制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに固有のコード、特定のデバイスのためのハードウェア抽象化レイヤなど）を含むことができる。デバイスアプリケーション５１８は、また、カメラベースのスキャニングの実施形態を実現するための任意のシステム構成要素またはモジュールを含む。この例では、デバイスアプリケーション５１８は、ソフトウェアモジュールおよび／またはコンピュータアプリケーションとして示される取込みアプリケーション５２２および入力ドライバ５２４を含む。代わりに、またはそれに加えて、取込みアプリケーション５２２および入力ドライバ５２４は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せとして実現されることがある。
【００６４】
デバイス５００は、また、オーディオデータをオーディオシステム５２８に供給しおよび／またはビデオデータをディスプレイシステム５３０に供給するオーディオおよび／またはビデオ入力出力システム５２６を含む。オーディオシステム５２８および／またはディスプレイシステム５３０は、オーディオ、ビデオ、および画像データを処理し、表示し、および／またはさもなければレンダリングする任意のデバイスを含むことができる。そのようなデバイスは、ビデオおよび画像の取込みを可能にするために少なくともカメラ５３２を含むことができる。ビデオ信号およびオーディオ信号は、ＲＦ（無線周波数）リンク、Ｓビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、ＤＶＩ（Digital Video Interface）、アナログオーディオ接続、または他の同様な通信リンクを介して、デバイス５００からオーディオデバイスおよび／またはディスプレイデバイスに伝えられることがある。ある実施形態では、オーディオシステム５２８および／またはディスプレイシステム５３０は、デバイス５００の外部構成要素として実現される。代わりに、オーディオシステム５２８および／またはディスプレイシステム５３０は、例示的なデバイス５００の一体型構成要素として実現される。同様に、カメラ５３２は、デバイス５００の外部または内部構成要素として実現されることが可能である。
【００６５】
カメラベースのスキャニングの実施形態は特徴および／または方法に固有の用語で説明されたが、添付の特許請求の範囲の内容が、必ずしも説明された特定の特徴または方法に限定されないことを理解されたい。特定の特徴および方法は、むしろカメラベースのスキャニングの例示的な実装例として開示されている。
【図１】
0005451888.tif 000002
【図２】
0005451888.tif 000003
【図３】
0005451888.tif 000004
【図４】
0005451888.tif 000005
【図５】
0005451888.tif 000006