【誤訳訂正書】
【提出日】平成29年2月14日(2017.2.14)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】モーションセンサーデータに基づく３Ｄモデルを計算するように構成されたモバイルデバイス
【技術分野】
【０００１】
関連出願の相互参照
[0001]  本出願は、その開示全体が引用により本明細書に組み込まれる、２０１２年１月２６日に出願された米国仮特許出願第６１／５９１，１９６号と、２０１２年１１月９日に出願された米国特許出願第１３／６７３，６８１号の利益を主張する。
【０００２】
[0002]  本開示は、一般的にはオブジェクトの３次元モデル（three-dimensional (3D) models of objects.）の発生に関する。
【背景技術】
【０００３】
[0003]  技術における進歩は、より小型で、より強力な計算デバイスをもたらした。例えば、小型で、軽く、かつユーザによって容易に持ち運ばれる携帯用無線電話、携帯情報端末（ＰＤＡ）、およびページングデバイスなどの無線計算デバイスを含むさまざまな携帯用パーソナル計算デバイスが現在存在している。より具体的には、セルラ電話およびインターネットプロトコル（IP）電話のようなポータブル無線電話は、無線ネットワーク上で音声およびデータパケットを通信することができる。また、このような無線電話は、インターネットにアクセスするために使用されることができるウェブブラウザアプリケーションなどのソフトウェアアプリケーションを含む実行可能な命令を処理することができる。または、これらの無線電話は、重要な計算能力を含み得、および、３次元（３Ｄ）オブジェクトの図形処理能力があり得る。
【０００４】
[0004]  オブジェクトの３次元（３Ｄ）モデルは、オブジェクトのマルチビューイメージ（例えば、異なった角度および／または、場所から、１つまたは複数のカメラにより撮られたオブジェクトの複数の視界に基づき発生され得る。３次元（３Ｄ）モデルは、ワイヤレスデバイスのユーザに、便利な興味深い情報を提供し得、および、ユーザの経験全体を高め得る。３Ｄ復元は、セキュリティ、調査およびロボット工学に使用され得る。さらに、３Ｄ復元は、仮想の旅行を発生するための、または航海目的のための構築のモデルの開発のために、使用され得る。さらに、すでに破壊されている可能性のあるオブジェクトは、再現され保存され得る(例えば博物館において)。
【発明の概要】
【０００５】
[0005]  ワイヤレスデバイスの複数の視界処理におけるオブジェクト復元を公式化された動作の方法とシステムが開示される。開示された具体的表現は、１つまたは複数の３Ｄ復元技術に関連した３次元（３Ｄ）モデル(例えば３Ｄ構造)を発生させることの複雑性を減少させるために、１つまたは複数のモーションセンサによって提供されたワイヤレスデバイスの動作の情報を利用する。
【０００６】
[0006]  特定な例によると、特徴点基準復元技術（例えばバンドル調整技術（bundle adjustment technique））は、３Ｄモデルを計算するためにモーションセンサデータの接続に使用されている。幾つかのアプローチによると、バンドル調整は、次の式のための「最大尤度ソリューション（maximum likelihood solution）」である。
【数１】
2015508197.tif 000001
【０００７】
ここでＰｉは、カメラのｉ番目の射影マトリクス（projection matrix）（つまり、カメラによりとられ、およびｉ番目のイメージに投影されたオブジェクトの特徴点の表現）であり、ここでＸｊは、オブジェクトのｊ番目の特徴点であり、ここでｘｉｊは、ｉ番目のイメージにおけるｊ番目の特徴点の座標であり、ここでｄ（・）は、下記で説明する距離関数（distance function）を表す。オブジェクトの特徴点は、オブジェクトの３Ｄモデルを発生させるために重要であり得るオブジェクトの部分を含む(例えばオブジェクトにおけるコーナー、オブジェクトにおけるカーブ、オブジェクトの端等)。例えば、特徴点は、マグのハンドル、マグのグラフィックパターンのコーナー、文字列を含むマグの部分、およびマグの底を含み得る。
【０００８】
[0007]   バンドル調整技術（bundle adjustment technique）の少なくとも一つの使用によれば、カメラの最初の場所から次の場所へのカメラの位置と方向を推定している最初の（例えばｉ＝1）、および、次の(例えばｉ＝２，３，．．．，ｎ)射影マトリクス（projection matrix）Ｐｉは、推定される。オブジェクトの特徴点Ｘｊは、推定され、カメラによりキャプチャされたオブジェクトの複数のイメージにおける特徴点ｘｉｊの座標もまた、推定される。バンドル調整ソリューションは、推定される大量のパラメータのために、大きな、コンピュータ的に激しい問題をもたらし得る。それ故に、バンドル調整ソリューションは、コンピュータ的に要求が多くなり得、プロセッサのリソースに負担をかけ得る。
【０００９】
[0008]  少なくとも本開示の一つの具体例によれば、バンドル調整技術の複雑性は、Ｐｉ＋１を決定(または、Ｐｉ＋１の推定)するために、モーションセンサデータを使用することにより減少され得る。例えば、バンドル調整の複雑性は、式により、減少され得る：
【数２】
2015508197.tif 000002
【００１０】
Ｐｉ＋１＝［Ｒｉ｜Ｔｉ］Ｐｉの影響を受け、ここで、ＲｉとＴｉは、それぞれ、回転および変換マトリクス（rotational and translation matrices）であり、［Ｒｉ｜Ｔｉ］は、ワイヤレスデバイスの１つまたは複数のセンサによってなされた測定に基づいた、ワイヤレスデバイスと関係がある相対位置マトリクス（relative pose matrix）である。それ故に、少なくとも一つのｉ番目＋１の射影マトリクス（projection matrix）は、一つまたは複数のモーションセンサにより供給されるワイヤレスデバイスのモーション情報に、由来し得、バンドル調整技術を経由して、反復して推定される必要がなく、全体の複雑性の減少をもたらす。
【００１１】
[0009]  他の特別な例によると、モーションセンサの測定は、シルエット基準３Ｄ（silhouette-based 3D）オブジェクトを発生するためのカメラの位置情報を引き出すために使用される（例えば、視覚外殻構造技術（visual hull technique）を用いて発生させられた３Ｄオブジェクト）。モーションセンサの測定を用いて、シルエット基準３Ｄ（silhouette-based 3D）モデルは、モバイルデバイス(例えば、「固定された」または、あらかじめ位置を決められた、とは関係しないデバイス)により効果的に発生させられ得る。
【００１２】
[0010]  特別な具体例においては、方法は、モバイルデバイスのカメラにて、モバイルデバイスが、第１のポジションにいる間、オブジェクトの第１のイメージを、キャプチャリングすること、および、モバイルデバイスが、第２のポジションにいる間、オブジェクトの第２のイメージを、キャプチャリングすること、を含んでいる。方法は、モバイルデバイスの少なくとも１つのモーションセンサーによる出力データに基づき、第１の位置から第２の位置へのモバイルデバイスの動きを決定することを含んでいる。方法は、第１のイメージ、第２のイメージ、およびモバイルデバイスの決定された動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算することも含んでいる。
【００１３】
[0011]  特定の具体例においては、装置は、第１のポジションの間、オブジェクトの第１のイメージを捕えるように、第２のポジションの間、オブジェクトの第２のイメージを捕えるように構成されたカメラを含んでいる。装置は、少なくとも１つのモーションセンサー、プロセッサおよびプロセッサにより実行可能な命令を記憶しているメモリを含んでいる。命令は、少なくとも１つのモーションセンサにより出力されたデータに基づき、第１の位置から第２の位置までカメラの動きを決定するために、および、第１のイメージ、第２のイメージ、およびカメラの決定された動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算するために実行可能である。
【００１４】
[0012]  特定の具体例において、方法は、少なくとも１つのモーションセンサから受信されたデータに基づき、第１の位置から第２の位置までのモバイルデバイスの動きを、決定することを含んでいる。方法は、モバイルデバイスの第１の位置からのオブジェクトの第１の視野に対応したオブジェクトの第１のイメージに基づき、さらに、モバイルデバイスの第２の位置からのオブジェクトの第２の視野に対応したオブジェクトの第２のイメージに基づき、さらに、モバイルデバイスの動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算することもまた含んでいる。
【００１５】
[0013]  特定の具体例において、装置は、少なくとも１つのモーションをセンスするための手段から受信されたデータに基づき、第１の位置から第２の位置までのモバイルデバイスの動きを、決定するための手段を含んでいる。装置は、モバイルデバイスの第１の位置からのオブジェクトの第１の視野に対応したオブジェクトの第１のイメージに基づき、さらに、モバイルデバイスの第２の位置からのオブジェクトの第２の視野に対応したオブジェクトの第２のイメージに基づき、さらに、モバイルデバイスの動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算する手段もまた含んでいる。
【００１６】
[0014]  特定の具体例において、一時的でないコンピュータ可読媒体は、プロセッサにより実行されたときに、少なくとも１つのモーションセンサから受信されたデータに基づき、第１の位置から第２の位置までのモバイルデバイスの動きを、決定することをプロセッサに引き起こす命令を含んでいる。命令は、さらにモバイルデバイスの第１の位置からのオブジェクトの第１の視野に対応したオブジェクトの第１のイメージに基づき、さらに、モバイルデバイスの第２の位置からのオブジェクトの第２の視野に対応したオブジェクトの第２のイメージに基づき、さらに、モバイルデバイスの動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算することも実行可能である。
【００１７】
[0015]  本開示の他の態様、利点、および特徴が、下記のセクション：図面の簡単な説明、発明を実施するための形態、および特許請求の範囲、を含む本願全体のレビュー後に明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】[0016]  第1図は、モーションセンサデータに基づき３Ｄモデルを計算するように構成された、モバイルデバイスを含むシステムの特定の具体例の図である；
【図２】[0017]  図２は、図１のモバイルデバイスの特定の実例となる具体例の図である；
【図３】[0018]  図３は、図１のモバイルデバイスの他の特定の実例となる具体例の図である；
【図４】[0019]  図４は、図１のモバイルデバイスの他の特定の実例となる具体例の図である；
【図５】[0020]  図５は、モーションセンサデータに基づく３Ｄモデルを計算する方法の特定の具体例を説明しているフロー図である；
【図６】[0021]  図６は、モーションセンサデータに基づく３Ｄモデルを計算する方法の他の特定の具体例を説明しているフロー図である；
【図７】[0022]  図７は、モーションセンサデータに基づく特徴点基準復元技術（feature point-based reconstruction technique）（例えばバンドル調整技術（bundle adjustment technique））による３Ｄモデルを計算する方法の特定の具体例を説明しているフロー図である；
【図８】[0023]  図８は、モーションセンサデータに基づくシルエット基準復元技術（例えば視覚外殻構造技術（visual hull technique））による３Ｄモデルを計算する方法の特定の具体例を説明しているフロー図である；
【図９】[0024]  図９は、モーションセンサデータに基づくシルエット基準復元技術（silhouette-based reconstruction technique）（例えば視覚外殻構造技術（visual hull technique））による３Ｄモデルを計算する方法の他の特定の具体例を説明しているフロー図である；
【図１０】[0025]  図１０は、図１のモバイルデバイスの他の特定の実例となる具体例の図であり、ここで、モバイルデバイスは、モーションセンサデータに基づく特徴点基準復元技術（feature point-based reconstruction technique）（例えばバンドル調整技術（bundle adjustment technique））による３Ｄモデルを計算するように構成されている。
【図１１】[0026]  図１１は、図１のモバイルデバイスの他の特定の実例となる具体例の図であり、ここで、モバイルデバイスは、モーションセンサデータに基づくシルエット基準復元技術（silhouette-based reconstruction technique ）（例えば視覚外殻構造技術（visual hull technique ））による３Ｄモデルを計算するように構成されている。
【発明を実施するための形態】
【００１９】
［0027］  図１を参照し、システムの特定の具体例の図が、概して１００に指定され、開示されている。システム１００は、オブジェクト１３０のような１または複数のオブジェクトの、１または複数のイメージ(例えば第１のイメージ１２０と第２のイメージ１２２)をキャプチャするように構成された、カメラ１０８を含むモバイルデバイス１０２を含んでいる。モバイルデバイス１０２はさらに、１または複数のモーションセンサ１０４、１または複数の記憶デバイス１０６、および３Ｄモデラー１１０を含んでいる。３Ｄモデラー１１０は、さらに下述するようにハードウェアを用いて、コンピュータ可読な有形の媒体に保存されたプロセッサ実行可能な命令を、またはそれらの組み合わせを用いて実装され得る。
【００２０】
[0028]  オブジェクト１３０は、オブジェクト１３０の頂点、オブジェクト１３０の土台、オブジェクト１３０のハンドル、オブジェクト１３０における文字列または画像、オブジェクト１３０のカーブ、オブジェクト１３０の１または複数の他の目立つ点、またはこれらの任意の組み合わせのような、１または複数の特徴点を含み得る。図１は、モバイルデバイス１０２が、２つのポジションにいたときの、カメラ１０８によりキャプチャされた、オブジェクト１３０の１２０、１２２の２つのイメージを表しているが、モバイルデバイス１０２の複数のポジションに対応したオブジェクト１３０の複数のイメージがカメラ１０８により、キャプチャされ得ることは、注目されるべきである。
【００２１】
[0029]  カメラ１０８は、モバイルデバイス１０２の複数のポジションでオブジェクト１３０のイメージをキャプチャするように構成され得る(例えば、座標システムまたは、最初のポジションに対して異なる角度および／または、回転)。例えば、カメラ１０８は、モバイルデバイス１０２（およびカメラ１０８）が、第１のポジション(例えばオブジェクト１３０の第１の視界１４０)に位置するとき、オブジェクト１３０の第１のイメージ１２０をキャプチャし得、および、カメラ１０８は、モバイルデバイス１０２（およびカメラ１０８）が、第２のポジション(例えばオブジェクト１３０の第２の視界１５０)に位置するとき、オブジェクト１３０の第２のイメージ１２２をキャプチャし得る。少なくとも１つの具体例において、第１の視点１４０と第２の視点１５０に対応したイメージデータは、１または複数の記憶デバイス１０６に保存され得る。
【００２２】
[0030]  １つまたは複数のセンサ１０４は、モバイルデバイス１０２の場所を示すモーションセンサデータを、発生するように構成され得る（例えば、モバイルデバイス１０２の最初のポジションに対する、または座標システムに対するモバイルデバイス１０２の回転および／または、移動）。例えば、１つまたは複数のモーションセンサ１０４は、第1のイメージ１２０をキャプチャしているカメラ１０８と同時に、モーションセンサデータ１１２を、発生するように構成され得る。他の例として、１つまたは複数のモーションセンサ１０４は、第２のイメージ１２２をキャプチャしているカメラ１０８と同時に、モーションセンサデータ１１４を、発生するように構成され得る。少なくとも1つの具体例において、モバイルデバイス１０２は、さらに下述されたように、モーションセンサデータ１１２、１１４を用い、さらに、イメージ１２０，１２２に関するイメージデータを用い、オブジェクト１３０の３Ｄモデル１１６を発生するために、３Ｄモデラー１１０を使用する。
【００２３】
[0031]  動作中に、モバイルデバイス１０２は、カメラ１０８の第１の視点１４０に基づくカメラ１０８を介し、オブジェクト１３０の第1のイメージ１２０をキャプチャし得る。モバイルデバイス１０２は、第２のポジション（例えばモバイルデバイス１０２のユーザの動きによる）に移動し得、カメラ１０８の第２の視点１５０に基づくカメラ１０８を介し、オブジェクト１３０の第２のイメージ１２２をキャプチャし得る。モバイルデバイス１０２の１つまたは複数のセンサ１０４は、第１のポジションから第２のポジションへのモバイルデバイス１０２の移動の決定を可能にするモバイルデバイス１０２のモーションデータに対応したモーションセンサデータ１１２、１１４を出力し得る。モーションセンサデータ１１２、１１４は、モバイルデバイス１０２の回転および並進運動を示し得る。
【００２４】
[0032]  説明のため、モバイルデバイス１０２が第１のポジションに位置するとき、３Ｄモデラー１１０は、第１のイメージ１２０に対応したデータ受信し得、さらに、１つまたは複数のモーションセンサ１０４により出力されたモーションセンサデータ１１２を受信し得る。同様に、モバイルデバイス１０２が、第２のポジションに位置するとき、３Ｄモデラー１１０は、第２のイメージ１２２に対応したデータ受信し得、さらに、１つまたは複数のモーションセンサ１０４により出力されたモーションセンサデータ１１４を受信し得る。モーションセンサデータ１１４は、第１のポジションから第２のポジションへのモバイルデバイス１０２の移動情報を示し得る。例えば、モーションセンサデータ１１４は、第１のポジションから第２のポジションへのモバイルデバイス１０２の回転および並進に対応した、モバイルデバイス１０２の回転および並進マトリクス（rotational and translational matrices）を含み得る。他の例として、モーションセンサデータ１１２、１１４は、モバイルデバイス１０２の回転および並進マトリクスの発生を可能にする情報を提供し得る。モーションセンサデータ１１２、１１４は、さらに下述するように、１つまたは複数のモーションセンサ１０４から取得された「カメラポーズ」マトリクス（“camera pose” matrix）を含みまたは示し得る。
【００２５】
[0033]  説明目的のため、無制限に、例示の動作は、オブジェクト１３０の３Ｄモデル１１６を発生するためにイメージ１２０、１２０に対応したデータおよびモーションセンサデータ１１２、１１４を使用した３Ｄモデラー１１０に供給される。特定の例において、３Ｄモデラー１１０は、１つまたは複数のモーションセンサ１０４により供給されたモーションセンサデータ１１４に基づくバンドル調整式
【数３】
2015508197.tif 000003
【００２６】
を計算により３Ｄモデル１１６を発生するように構成されている。そのような具体例によると、およびさらに下述するように、３Ｄモデラー１１０は、計算に基づきオブジェクト１３０の３Ｄ特徴点を出力し得る。３Ｄ特徴点の出力は、オブジェクト１３０の３Ｄモデルに対応している。特定の具体例において、バンドル調整式を計算することは、１つまたは複数のモーションセンサ１０４データ出力および、第１の推定された再射影されたイメージポイント、第２の推定された再射影されたイメージポイントの機能に基づきオブジェクト１３０の特徴点を決定することを含み得る。例えば、バンドル調整式を計算することは、オブジェクト１３０の１つまたは複数の特徴点（Ｘｊ）および第１のポジション（すなわちＰ１）の第１の推定の結果に基づきオブジェクト１３０の第１の推定された再射影されたイメージポイントを決定することを含み得る（すなわちＰ１Ｘｊを計算すること）。バンドル調整式を計算することは、オブジェクト１３０の１つまたは複数の特徴点（Ｘｊ）および第２のポジション（すなわちＰ２）の第２の推定の結果に基づきオブジェクトの第２の推定された再射影されたイメージポイントを決定すること（すなわちＰ２Ｘｊを計算すること）もまた含み得る。バンドル調整式を計算することは、第１の推定された再射影されたイメージポイントと第１のイメージ１２０におけるオブジェクト１３０の座標の間の第１のユークリッド距離の平方を決定すること（すなわち
【数４】
2015508197.tif 000004
【００２７】
を計算すること）および、第２の推定された再射影されたイメージポイントと第２のイメージ１２２におけるオブジェクト１３０の座標の間の第２のユークリッド距離の平方を決定すること（すなわち
【数５】
2015508197.tif 000005
【００２８】
を計算すること）もまた含み得る。バンドル調整式を計算することは、第１のユークリッド距離の平方、および第２のユークリッド距離の平方の合計を減少する、または「最小化」するために、３Ｄモデル１１６の推定を修正することを含み得る(すなわち
【数６】
2015508197.tif 000006
【００２９】
を「最小化」すること)。第１のポジションの第１の推定Ｐ１は、平方の合計をさらに減少するために、修正され得る。しかしながら、第１のポジションの第１の推定Ｐ２は、Ｐｉ＋１＝βＰｉとなるように制限され、ここで、βは、回転マトリクス（rotation matrix）Ｒおよび／または変換マトリクス（transformation matrix）Ｔのような、カメラのポーズ情報を指している。例えば、少なくとも１つの具体例では、β＝［Ｒｉ｜Ｔｉ］  である。Ｐ２．．．Ｐｎを制限することにより、特徴点を発生することの複雑さは大いに軽減され得る。ユークリッド距離関数は、前述の例との関係において示されるが、他の距離関数が利用されていることは、注目されるべきである。例えばｄ（・）は、イメージにおける、測定された特徴座標と射影された特徴座標間の距離または開きを測定する任意の他のメトリックまたは、幾何学的な距離のような距離関数を表している。
【００３０】
[0034]  カメラのポーズ情報は、技術の種類により決定され得る。説明のため、１つまたは複数の特徴点Ｘｊの少なくとも１つが、カメラ１０８によりキャプチャされたＮのイメージ(例えば第一のイメージ１２０と第２イメージ１２２)において「一致した」（例えば判明された）と仮定する。一致した特徴点は、ｍｉとして示され得、ここで（ｉ＝１，．．．Ｎ）につきｍｉ＝［ｘｉ，ｙｉ，１］Ｔである。一致した特徴点は、ｍｉは、空間ポジションＭ＝［ＸＹＺ１］Ｔと関連している。スケーリング因子μｉに対し，μｉ［ｘｉ，ｙｉ，１］Ｔ＝ＰｉＭ、ｉ＝１，．．．，Ｎ≧２に対し、ここでＰｉ＝Ｋｉ［Ｒｉ｜Ｔｉ］はｉ番目のカメラ射影マトリクスでＫｉは、ｉ＝１，．．．Ｎに対するモバイルデバイス１０２のｉ番目のカメラ(例えばカメラ１０８のマルチカメラの具体例に対し、それは、明瞭な説明のため図１からは削除されている)の上三角較正マトリクス（upper triangular calibration matrix）（例えば３×３上三角較正マトリクス）である。上三角較正マトリクス（upper triangular calibration matrix）Ｋｉは、同じカメラでキャプチャされたイメージに対してと同様であり得る(例えば、モバイルデバイス１０２の一つのカメラの具体例に対するように、カメラ１０８が、Ｎ個のイメージのそれぞれをキャプチャするのに使用されたとき)。［Ｒｉ｜Ｔｉ］は、ｉ番目のカメラに関する、相対ポーズマトリクス（relative pose matrix）であり得る。それ故、
【数７】
2015508197.tif 000007
【００３１】
[0035］  ここで、Ｐｊｉは、ｉ番目のカメラの投影マトリクスのｊ番目の列で、３つの未知数（Ｘ，Ｙ，Ｚ）を伴うＡＭ＝０は、２Ｎ個の同次方程式（homogeneous equations）のセットである。全てのカメラ射影マトリクスは知られ得、Ｎは２と等しいか超える数であり得るので、方程式は、最小二乗解（least squares solution）を持ち得、それは、代数的な再射影誤差（algebraic reprojection error）の最小化を可能にし得る。
【００３２】
[0036]  以下の記述に対応するバンドル調整技術は、３Ｄモデル１１６の計算的に効率的な決定および簡易化を可能にするためにカメラポーズデータ（例えばモーションセンサデータ１１２、１１４）を利用し得ることは理解されるべきである。従来のアプローチ(例えばモーションセンサ情報を利用しないバンドル調整計算)は、幾何学的な誤差を「最小化する」ための非線形解によるような、計算的に集中的な「最小二乗解（least squares solution）」の支配を受け得る。  
[0037]
【数８】
2015508197.tif 000008
【００３３】
[0038]   図２は、モバイルデバイス１０２の特定の実例となる具体例を描写している。図２のモバイルデバイス１０２は、１つまたは複数のモーションセンサ１０４、１つまたは複数のストレージデバイス１０６、カメラ１０８および３Ｄモデラー１１０を含んでいる。
【００３４】
[0039]  図２の特定の具体例において、１つまたは複数のストレージデバイス１０６は、３Ｄモデル１１６を発生するために３Ｄモデラー１１０に使用されるため、３Ｄ復元データ２０２を記憶している。３Ｄ復元データ２０２は、モーションセンサデータ１１２、１１４を含み得、および、さらにそれぞれ図１の第１のイメージ１２０および図１の第２のイメージ１２２に対応した第１のイメージデータ２２０および第２のイメージデータ２２２を含み得る。３Ｄモデル１１６は、モバイルデバイス１０２のディスプレイに表示され得る(図２に不示)。
【００３５】
[0040]  特定の実例となる具体例によると、図２のイメージデータ２２０、２２０は、ユーザの入力への応答において個別にキャプチャされている各画像であるが、画像のシーケンスに対応している(例えば、ビデオシーケンスの一部でなく、および、ユーザにより「手動」によってキャプチャされた「スチル」または「スナップショット」画像)。少なくとも一つの具体例において、図２の例は、ユーザが使用しているカメラ１０８によりキャプチャされたスチル画像に基づく、３Ｄモデル１１６のような３Ｄモデルをユーザに発生させることを可能にするモバイルデバイス１０２の適用とのつながりにおいて使用され得る。さらなる具体例によると、およびさらに下記に論じられるように、イメージデータ２２０、２２２は、ビデオフレームシーケンスのビデオフレーム対応し得る（例えば、「自動的に」周期的にキャプチャされたシーケンシャルなスチルイメージ）。
【００３６】
[0041]  図３は、図１を参照して描かれたモバイルデバイス１０２他の特定の実例となる具体例を表現している。図３のモバイルデバイス１０２は、１つまたは複数のモーションセンサ１０４、１つまたは複数のストレージデバイス１０６、カメラ１０８、３Ｄモデラー１１０およびディスプレイ３２０を含んでいる。図３の３Ｄモデラー１１０は、シンクロナイザ３０８を含んでいる。図３の１つまたは複数のストレージデバイス１０６は、モーションセンサデータバッファ３０６およびビデオフレームバッファ３０４を含んでいる。随意に、図３のモバイルデバイス１０２は、メインメモリ３１０を含み得る。
【００３７】
[0042]  動作において、カメラ１０８は、ビデオフレームシーケンス３０２をキャプチャし得る。ビデオフレームバッファ３０４は、カメラ１０８に応答し得、ビデオフレームシーケンス３０２の１つまたは複数のビデオフレームを保存するように構成され得る。例えば、図３の例において、イメージデータ２２０、２２２は、ビデオフレームシーケンス３０２のビデオフレームに対応している。モーションセンサデータバッファ３０６は、１つまたは複数のモーションセンサ１０４に応答し得る。モーションセンサデータバッファ３０６は、モーションセンサデータ１１２、１１４を記憶し得る。
【００３８】
[0043]  シンクロナイザ３０８は、モーションセンサデータバッファ３０６からのデータに関して、ビデオフレームバッファ３０４からのデータを同期し得る。例えば、シンクロナイザ３０８は、第１のモーションセンサデータ１１２と第１のイメージデータ２２０を同期し得、更に第２のモーションセンサデータ１１４と第２のイメージデータ２２２を同期し得る。少なくとも第１の技術によると、シンクロナイザ３０８は、イメージデータ２２０、２２２と関連するタイムスタンプとモーションセンサデータ１１２、１１４と関係があるタイムスタンプとの比較によるように、タイムスタンプを比較することにより、モーションセンサデータバッファ３０６からのデータに関してビデオフレームバッファ３０４からのデータを同期する。少なくとも第２の技術によると、シンクロナイザ３０８は、定期的に、ビデオフレームバッファ３０４からのおよびモーションセンサデータバッファ３０６からのデータにアクセスする。少なくとも第３の技術によると、シンクロナイザ３０８は、モバイルデバイス１０２の動きに反応し（例えば、１つまたは複数のモーションセンサ１０４反応する）、検出された動作への応答において、ビデオフレームバッファ３０４からの、およびモーションセンサデータバッファ３０６からのデータを引き出す。更なる技術は、１つまたは複数の第１の技術、第２の技術、および第３の技術の組み合わせを利用し得る。随意に、ビデオフレームバッファ３０４によるデータ出力は、ビデオフレームシーケンス３０２を含むビデオファイル３１２として、メインメモリ３１０において記憶され得る。
【００３９】
[0044]  理解されるように、メインメモリ３１０の代わりに「一時的な」ストレージからデータ引き出すことにより(例えば図３のモーションセンサデータバッファ３０６およびビデオフレームバッファ３０４)、３Ｄモデラー１１０は「急いで」動作し得る。例えば、３Ｄモデラー１１０は、３Ｄモデル１１６を発生し得、モバイルデバイス１０２は、キャプチャされたビデオフレームシーケンス３０２と同時に、または実質的に同時に、ディスプレイ３２０において３Ｄモデル１１６を表示し得る。ここで使われているように、「急いで」「同時に」および「実質的に同時に」は、ユーザが同時に起こっていると把握するオブジェクトの３Ｄモデルの発生とキャプチャされたオブジェクトの視野との間の関係を参照する。
【００４０】
[0045]  それ故、図３に関連して説明された例は、３Ｄモデル１１６の「急いで」の発生に対応し得る。例えば、ユーザは、オブジェクトについてのモバイルデバイス１０２を移動させるので（図１のオブジェクト１３０のように）、３Ｄモデラー１１０は、「自動的」に、３Ｄモデル１１６を繰り出し得、それはユーザの動きと同時に、ディスプレイ３２０において表示される。さらなる具体例によると、さらに下記に論じるように、１つまたは複数の具体例が、ビデオフレームシーケンスとモーションセンサデータに基づく非同時な３Ｄモデルの発生を可能にし得る。
【００４１】
[0046]  図４は、図１を参照して描かれたモバイルデバイス１０２の他の特定の実例となる具体例を表現している。図４のモバイルデバイス１０２は、１つまたは複数のモーションセンサ１０４、１つまたは複数のストレージデバイス１０６、カメラ１０８、３Ｄモデラー１１０、ビデオフレームバッファ３０４、およびディスプレイ３２０を含んでいる。
【００４２】
[0047]  動作において、１つまたは複数のモーションセンサ１０４は、モーションセンサデータ１１２、１１４を発生し得、それは、１つまたは複数のストレージデバイス１０６において記憶され得る。カメラ１０８は、ビデオフレームシーケンス３０２をキャプチャし得、それは、ビデオフレームシーケンス３０２と関係がある「プレビュー」特性との関連におけるように、ビデオフレームバッファ３０４において、一時的に記憶され得、およびディスプレイ３２０において表示され得る。例えば、ビデオフレームシーケンス３０２は、１つまたは複数のストレージデバイス１０６において記憶されているビデオフレームシーケンス３０２（例えばイメージデータ２２０、２２２として）に先んじて、および／または３Ｄモデル１１６を発生している３Ｄモデラー１１０に先んじて、ディスプレイ３２０に表示され得る。
【００４３】
[0048]  それ故、図４の特定の具体例において、３Ｄモデラー１１０は、「ポストプロセシング」技術によれば、３Ｄモデル１１６を発生し得る。例えば、３Ｄモデル１１６は、カメラ１０８によりキャプチャされたビデオフレームシーケンス３０２と同時に表示および発生させられないので、ディスプレイ３２０は、そのかわりにカメラ１０８によりキャプチャされたイメージの「プレビュー」を見せ得る。さらに、ディスプレイ３２０は、カメラポジションに対するユーザの命令を表示し得る(例えば、見られるオブジェクトとの関係でカメラがホールドされるべきポジションおよび／または角度)。３Ｄモデル１１６は、その後、１つまたは複数のストレージデバイス１０６にアクセスすることにより、３Ｄモデラー１１０により発生させられ、それは、図３との関係で表現されているメインメモリ３１０のような「メインメモリ」であり得る。
【００４４】
[0049]  図５に関して、モーションセンサデータに基づいて、３Ｄモデルを計算する方法の特定の具体例を説明している図が、概して５００に指定され、開示されている。方法５００は、モバイルデバイスが、５０２における第１のポジションにいる間、オブジェクトの第１のイメージをモバイルデバイスのカメラにおいてキャプチャすること、および、モバイルデバイスが、５０４における第２のポジションにいる間、オブジェクトの第２のイメージをキャプチャすること、を含む。例えば、カメラ１０８は、モバイルデバイス１０２が、第１のポジションにいる間、オブジェクト１３０の第１のイメージ１２０をキャプチャし得、およびカメラ１０８は、モバイルデバイス１０２が、第２のポジションにいる間、オブジェクト１３０の第２のイメージ１２２をキャプチャし得る。第１のイメージ１２０は、第１のポジションにいる間、カメラ１０８によりキャプチャされたものとしてオブジェクト１３０の第１の視点１４０に対応し得、第２のイメージ１２２は、第２のポジションにいる間、カメラ１０８によりキャプチャされたものとしてオブジェクト１３０の第２の視点１５０に対応し得る。
【００４５】
[0050]  方法５００は、さらに、５０６において、第１のポジションから、第２のポジションへのモバイルデバイスの動きを、モバイルデバイスの少なくとも１つのモーションセンサにより出力されたデータに基づき決定することを含む。例えば、１つまたは複数のモーションセンサ１０４は、モバイルデバイス１０２のモーション情報に対応したモーションセンサデータ１１２、１１４を出力し得る。特定の具体例において、モーション情報は、第１のポジションから、第２のポジションへのモバイルデバイス１０２の回転および並進を含み得る。説明のため、１つまたは複数のモーションセンサは、第１のポジションに対応したモバイルデバイス１０２の第１の回転および／または並進マトリクスおよび、第２のポジションに対応したモバイルデバイス１０２の第２の回転および／または並進マトリクスを提供し得る。少なくとも１つの具体例において、モバイルデバイスの第１のポジションは、「基準」ポジションとして使用され、第２のポジションは、それに応じて、モバイルデバイスのポジションにおける変化を示す。他の具体例によると、他のポジション(例えば前回のポジション、または、あらかじめ定められた座標システムに対応したポジション)が、「基準」ポジションとして使用され、第１のポジション、第２のポジション両方が、モバイルデバイスのポジションにおける変化を各、表示する。
【００４６】
[0051]  方法５００は、５０８において、モバイルデバイスの決定された動きおよび第１のイメージ、第２のイメージに基づきオブジェクトの３Ｄモデルを計算することも含む。例えば、特徴点基準復元技術（feature point-based reconstruction technique）によれば、および少なくとも図１への言及に記述されたように、３Ｄモデラー１１０は、第１のイメージ１２０と第２のイメージ１２２に基づく、オブジェクト１３０の特徴点を計算し得る。特定の具体例において、３Ｄモデラー１１０は、第１のイメージ１２０、第２のイメージ１２２および、１つまたは複数のモーションセンサ１０４により供給されるモーションセンサデータ１１４に基づくバンドル調整式（bundle adjustment expression）
【数９】
2015508197.tif 000009
【００４７】
を計算するように構成され得る。更なる具体例によれば、および、さらに下記に表現されたように、３Ｄモデルは、シルエット基準技術（silhouette-based technique ）(例えば視覚外殻構造技術（visual hull technique）)により計算され得る。
【００４８】
[0052]   図６を参照し、モーションセンサデータに基づく３次元（３Ｄ）モデルを計算する方法の他の特定の具体例を説明している図が、概して６００に指定され、開示されている。方法６００は、６０２において第１のポジションから第２のポジションへのモバイルデバイスの動きを、少なくとも１つのモーションセンサから受信したデータに基づき、決定することを含んでいる。データ、少なくとも１つのモーションセンサ、およびモバイルデバイスは、モーションセンサデータ１１２、１１４、１つまたは複数のモーションセンサ１０４およびモバイルデバイス１０２に、それぞれ対応し得る。
【００４９】
[0053]  方法６００は、６０４において、さらに、モバイルデバイスの第１のポジションからオブジェクトの第１の視点に対応するオブジェクトの第１のイメージに基づき、さらに、モバイルデバイスの第２のポジションからオブジェクトの第２の視点に対応するオブジェクトの第２のイメージに基づき、さらに、モバイルデバイスの動きに基づき、オブジェクトの３Ｄモデルを計算することを含む。例えば、カメラ１０８は、モバイルデバイス１０２が、第１のポジションに位置する間、オブジェクト１３０の第１のイメージ１２０をキャプチャし得、カメラ１０８は、モバイルデバイス１０２が、第２のポジションに位置する間、オブジェクト１３０の第２のイメージ１２２をキャプチャし得る。第１のイメージ１２０は、第１のポジションに位置する間、カメラ１０８によりキャプチャされるようにオブジェクト１３０の第１の視点１４０に対応し得、第２のイメージ１２２は、第２のポジションに位置する間、カメラ１０８によりキャプチャされるようにオブジェクト１３０の第２の視点１５０に対応し得る。
【００５０】
［0054］  図７を参照し、モーションセンサデータに基づく特徴点基準復元技術（feature point-based reconstruction technique ）(例えばバンドル調整技術（bundle adjustment technique）)による３Ｄモデルを計算する方法の特定の具体例を説明しているフロー図は、表現され、概して７００に指定されている。方法７００は、７０２において、モバイルデバイス(例えばモバイルデバイス１０２)のカメラ(例えばカメラ１０８)を用いて、オブジェクト（例えばオブジェクト１３０）のイメージ(例えばイメージ１２０，１２２)をキャプチャすることを含んでいる。
【００５１】
[0055]  ７０４において、方法７００は、１つまたは複数のモーションセンサを用い（例えば１つまたは複数のモーションセンサ１０４）モーションセンサデータ（例えばモーションセンサデータ１１２、１１４）を決定することを含んでいる。７０６において、イメージの１つまたは複数の特徴点が一致し、および、７０８において、１つまたは複数の一致した特徴点のそれぞれの３Ｄロケーションが決定される。１つまたは複数の特徴点および、１つまたは複数の一致した特徴点のそれぞれの３Ｄロケーションを決定することは、少なくとも図１を参照して上記で説明したようにバンドル調整技術（bundle adjustment technique）のような、任意の適切な技術を使用して実行され得る。
【００５２】
[0056]  ７１０において、オブジェクトの３Ｄモデルは、１つまたは複数の一致した特徴を用いて発生させられる(例えばバンドル調整技術（bundle adjustment technique）により)。少なくとも１つの具体例において、図７の方法７００は、少なくとも図１０を参照して、さらに表現されたようにモバイルデバイス１０２のプロセッサを用いて実行される。
【００５３】
[0057]  図８を参照して、モーションセンサデータに基づくシルエット基準復元技術（silhouette-based reconstruction technique）（例えば視覚外殻構造技術（visual hull technique））により３Ｄモデルを計算する方法の特定の具体例を説明しているフロー図が、概して８００に指定され、表現されている。方法８００は、８０２において、モバイルデバイス(例えばモバイルデバイス１０２)のカメラ(例えばカメラ１０８)を用いて、オブジェクト（例えばオブジェクト１３０）のイメージ(例えばイメージ１２０，１２２)をキャプチャすることを含んでいる。
【００５４】
[0058]  ８０４において、モバイルデバイスの１つまたは複数のモーションセンサを用い（例えば１つまたは複数のモーションセンサ１０４）モーションセンサデータ（例えばモーションセンサデータ１１２、１１４）は決定される。８０６において、イメージのそれぞれにおけるオブジェクトのシルエットは、発生させられる。方法８００は、８０８において、オブジェクトのシルエット基準モデルを発生することを、８１０において、シルエット基準モデルに基づいた３Ｄモデルを発生することを、さらに含んでいる。シルエット基準復元技術（silhouette-based reconstruction technique）の特定の例が、図９を参照して、表わされている。
【００５５】
[0059]  図９を参照して、モーションセンサデータに基づくシルエット基準復元技術（例えば視覚外殻構造技術）により３Ｄモデルを計算する方法の他の特定の具体例を説明しているフロー図が、概して９００に指定され、表現されている。方法９００は、９０２において、第１の視点の各画素をモバイルデバイス(例えばモバイルデバイス１０２)によりスキャンすること、および視野方向に基づき光線Ｒを投影することを含んでいる。９０４において、光線Ｒは、１つまたは複数の参照イメージに投影され、インターバルＩは、インターバルＩが、イメージのそれぞれのシルエットに交差するように見いだされる。
【００５６】
[0060]  ９０６において、モバイルデバイスのポジションにおける変化（change in position）（例えば第１のポジションから第２のポジションへの）を示しているモーションセンサデータ（例えばモーションセンサデータ１１２、１１４）は、少なくとも１つのセンサを経由して（例えば１つまたは複数のモーションセンサ１０４を経由して）決定される。少なくとも１つの具体例において、９０６において決定されたモーションセンサデータは、９０２において１つまたは複数の参照イメージに光線Ｒを投影するために使用される。方法９００は、さらに、９０８において、３ＤインターバルＬとして、知られたカメラ射影Ｐｉを用いて、もとの３Ｄスペースの中にインターバルＩを射影することを含んでいる。知られたカメラ射影Ｐｉは、モーションセンサデータから由来し得る。方法９００はさらに、９１０において、重なっているＬから、いちばん深い(例えば一番短い)（innermost）交点Ｑを選択することを含んでおり、ここで、Ｑは、構成されるべき３Ｄモデルの表面のポイントに対応したエンドポイントを持つ最後の３Ｄインターバルである。９１４において、閾値Ｎより交点Ｑの数が少ないことに応じて、他の光線または視点が加えられる。閾値Ｎを満足するＱの数が満足することに応じて、３Ｄモデル（例えば３Ｄモデル１１６）は、交点Ｑを用いて発生される。図８の方法８００、図９の方法９００、またはこれらの組み合わせは、少なくとも図１１を参照して、さらに記述されるように、モバイルデバイス１０２のプロセッサを用いて実行され得る。
【００５７】
[0061]  図１０は、モバイルデバイス１０２の他の特定の実例となる具体例の図であり、ここでモバイルデバイス１０２は、モーションセンサデータに基いた特徴点基準復元技術（feature point-based reconstruction technique）（例えばバンドル調整技術（bundle adjustment technique））によって３Ｄモデルを計算するように構成されている。図１０のモバイルデバイス１０２は、１つまたは複数のモーションセンサ１０４およびメモリ１０３２に接続された、プロセッサ１０１０のような、プロセッサを含んでいる。１つまたは複数のモーションセンサ１０４は、また、メモリ１０３２に接続され得る。
【００５８】
[0062]  メモリ１０３２は、コンピュータ可読な、データ(例えばモバイルデバイス１０２のモーションセンサデータ)、命令、またはそれらの組み合わせを記憶する非一時的な媒体であり得る。特定の具体例において、メモリ１０３２は、モバイルデバイス１０２の１つまたは複数の機能を実行するための、プロセッサ１０１０を引き起こすため、プロセッサ１０１０により実行され得る命令１０５４を含み得る。例えば、命令１０５４は、ユーザアプリケーション、オペレーティングシステムまたは他の実行可能な命令またはそれらの組み合わせを含み得る。命令１０５４は、１つまたは複数のモーションセンサ１０４により決定されるモーションセンサデータ（例えばモーションセンサデータ１１２、１１４）に基づき、モバイルデバイス１０２の動きを決定することのような、ここに記載されたように、１つまたは複数の動作を実行するためのプロセッサ１０１０を引き起こすため、プロセッサ１０１０により実行可能であり得る。少なくとも１つの具体例において、メモリ１０３２は、図３を参照して、記述されるように、メインメモリ３１０のような「メインメモリ」である。代替としてまたは加えて、メモリ１０３２は、１つまたは複数のストレージデバイス１０６、モーションセンサデータバッファ３０６、ビデオフレームバッファ３０４またはそれらの組み合わせを含み得る。
【００５９】
[0063]  プロセッサ１０１０は、３Ｄモデラー１１０を含み得る。例えば、３Ｄモデラー１１０は、プロセッサ１０１０のハードウェアコンポーネント、プロセッサ１０１０にて実行され得る命令のセット（メモリ１０３２において記憶された命令、またはそれらの組み合わせであり得る。図１０の特定の具体例において、３Ｄモデラー１１０は、特徴点発生器１０９２を含み、それは特徴点基準復元技術（feature-point based reconstruction technique）に関連したオブジェクトのキャプチャされたイメージ（例えば図１の第１のイメージ１２０および第２のイメージ１２２）の特徴点１０９４を決定し得る。３Ｄモデラー１１０は、特徴点１０９４に基づいた３Ｄモデル１１６を発生し得る。
【００６０】
[0064]  図１０は、イメージ１２０，１２２および／または３Ｄモデラー１１０により処理されるビデオデータを提供し得るカメラコントローラ１０９０に接続されたカメラ１０８を説明している。カメラコントローラ１０９０は、プロセッサ１０１０ディスプレイコントローラ１０２６に接続され得る。カメラ１０８は、ビデオカメラ、非ビデオカメラ、単数のカメラ、複数のカメラ(例えばステレオカメラ）または、それらの組み合わせであり得る。
【００６１】
[0065]  図１０は、ディスプレイコントローラ１０２６が、プロセッサ１０１０およびディスプレイ３２０に接続され得ることを示す。コーダ／デコーダ（コーデック（CODEC））１０３４(例えばオーディオおよび／またはボイスコーデック（voice CODEC）は、プロセッサ１０１０に接続され得る。スピーカ１０３６およびマイクロホン１０３８が、コーデック（CODEC）１０３４に接続されうる。図１０は、ワイヤレスコントローラ１０４０が、プロセッサ１０１０およびワイヤレスアンテナ１０４２に接続されているトランシーバ１０５０に接続され得ることも示している。特定の具体例において、プロセッサ１０１０、１つまたは複数のモーションセンサ１０４、カメラコントローラ１０９０、ディスプレイコントローラ１０２６、メモリ１０３２、コーデック（CODEC）１０３４、ワイヤレスコントローラ１０４０、トランシーバ１０５０はシステムインパッケージ（system-in-package）またはシステムオンチップ（system-on-chip）デバイス１０２２に含まれる。
【００６２】
[0066]  特定の具体例において、入力デバイス１０３０および電源１０４４が、システムオンチップ（system-on-chip）デバイス１０２２に接続される。さらに、特定の具体例において、図１０において説明されるように、ディスプレイ３２０、カメラ１０８、入力デバイス１０３０、スピーカ１０３６、マイクロホン１０３８、ワイヤレスアンテナ１０４２および電源１０４４は、システムオンチップ（system-on-chip）デバイス１０２２の外付けとなる。しかしながら、ディプレイ３２０、入力デバイス１０３０、スピーカ１０３６、マイクロホン１０３８、ワイヤレスアンテナ１０４２、および電源１０４４の各々は、インタフェースまたはコントローラなどの、システムオンチップ（system-on-chip）デバイス１０２２のコンポーネントに接続されうる。しかしながら、１つまたは複数のモーションセンサ１０４は、システムオンチップ（system-on-chip）デバイス１０２２に含まれるものとして説明され、他の具体例において、１つまたは複数のモーションセンサ１０４は、システムオンチップ（system-on-chip）デバイス１０２２の外付けおよび、システムオンチップ（system-on-chip）デバイス１０２２に接続され得る。
【００６３】
[0067]  図１１は、モバイルデバイス１０２の他の特定の実例となる具体例の図であり、ここで、モバイルデバイス１０２は、モーションセンサデータに基づきシルエット基準復元技術（silhouette-based reconstruction technique）（例えば視覚外殻構造技術（visual hull technique））により３Ｄモデルを計算するように構成されている。図１１のあるモバイルデバイス１０２の特徴とコンポーネントは、プロセッサ１０１０、１つまたは複数のモーションセンサ１０４、カメラコントローラ１０９０、ディスプレイコントローラ１０２６、メモリ１０３２、命令１０５４、コーデック（CODEC）１０３４、ワイヤレスコントローラ１０４０、トランシーバ１０５０、システムインパッケージ（system-in-package）またはシステムオンチップ（system-on-chip）デバイス１０２２、ワイヤレスアンテナ１０４２、入力デバイス１０３０、ディスプレイ３２０、カメラ１０８、スピーカ１０３６、マイクロホン１０３８および電源１０４４のような、概して、図１０のモバイルデバイス１０２に関連して表現され得る。しかしながら、図１１の３Ｄモデラー１１０は、例えば、視覚外殻構造技術（visual hull technique）との関係で、シルエット１１９４を発生するための、シルエット発生器（silhouette generator）１１９２を、含んでいる。シルエット１１９４は、３Ｄモデル１１６を発生するために３Ｄモデラー１１０により使用され得る。
【００６４】
[0068]  本開示は、説明の簡易化のために、モバイルデバイス（例えばモバイルデバイス１０２）との関連で、表現されているが、ここに説明された機能性は、他のデバイスを用いて実装され得ることを、理解されるべきである。例えば、図１０と１１のプロセッサ１０１０およびメモリ１０３２は、マルチメヂィアプレーヤ、娯楽ユニット、ナビゲーションデバイス、パーソナルデジタルアシスタント（personal digital assistant (PDA)）、固定位置データユニット（fixed location data unit）またはコンピュータ(例えばタブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなど)、メディアデバイス、ワイヤレスでデータを通信するように構成された他のデバイス、またはそれらの組み合わせに集積され得る。さらに、説明の便利のため、様々な技術（例えば、特徴点基準（feature point-based）およびシルエット基準復元技術（silhouette-based reconstruction techniques）のような、復元技術)が離れて表現されてきたが、１つまたは複数のそのような技術（またはそれらの要素）は結合され得る。
【００６５】
[0069]  説明された具体例と連結して、第１のポジションから第２のポジションへのモバイルデバイスの動きを、動作をセンスするための少なくとも１つの手段から受信したデータに基づき、決定するための手段を含む装置が開示されている。例えば、決定するための手段は、図１−４，１０，および１１の３Ｄモデラー１１０、図１０および１１のプロセッサ１０１０、モバイルデバイスの動きを決定するように構成された１つまたは複数の他のデバイスまたは、それらの任意の組み合わせを含み得る。動作をセンスするための手段は、１つまたは複数のモーションセンサ１０４を含み得る。
【００６６】
[0070]  装置は、モバイルデバイスの第１のポジションからオブジェクトの第１の視点に対応するオブジェクトの第１のイメージに基づいた、さらにモバイルデバイスの第２のポジションからオブジェクトの第２の視点に対応するオブジェクトの第２のイメージに基づいた、さらにモバイルデバイスの動きに基づいたオブジェクトの３次元（３Ｄ）モデルを計算するための手段をさらに含む。例えば、３Ｄモデルを計算するための手段は、図１−４，１０と１１の３Ｄモデラー１１０、図１０と１１のプロセッサ１０１０、３Ｄモデルを計算するように構成された１つまたは複数の他のデバイス、またはそれらの組み合わせを含み得る。
【００６７】
[0071]  当業者はさらに、ここに開示された具体例に関連して表現された様々な実例となる論理ブロック、構成、モデル、回路、およびアルゴリズムステップは、電気的なハードウェア、コンピュータ可読な有形な媒体、記憶されたプロセッサで実行可能な命令、または両方の組み合わせに実装され得ることを理解すべきである。さまざまな例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップは、一般的にそれらの機能の観点から上述された。このような機能が、ハードウェアとして実装されるか、あるいはソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、各々の特定のアプリケーションのために、多様な方法で説明された機能を実装し得るが、このような実装の決定は、本開示の範囲からの逸脱を引き起こしていると解釈されるべきでない。
【００６８】
[0072]  ここで開示された実施形態に関連して説明されたアルゴリズムまたは方法のステップは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、あるいは２つの組み合わせにおいて、具体化されうる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、リードオンリーメモリ（ＲＯＭ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、あるいは非一時的な記憶媒体の他の任意の形状に存在しうる。典型的な記憶媒体は、プロセッサがこの記憶媒体から情報を読み取り、またこの記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替において、記憶媒体は、プロセッサと一体化されうる。プロセッサおよび記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）内に存在しうる。ＡＳＩＣは、計算デバイスまたはユーザ端末（例えば、モバイルフォンまたはＰＤＡ）内に存在しうる。代替において、プロセッサおよび記憶媒体は、ユーザ端末または計算デバイスに個別のコンポーネントとして存在しうる。
【００６９】
[0073]  開示された実施形態の先の説明は、開示された実施形態を製造および使用することを当業者に可能にするために提供される。これらの実施形態への種々の変更は、当業者にとって容易に明らかであり、ここに定義された原理は、本開示の範囲から逸脱することなく他の実施形態に応用されうる。したがって、本開示は、ここに開示された実施形態に制限されるようには意図されず、下記の特許請求の範囲によって定義されるような原理および新規な特徴と一致する最も広い範囲と一致すべきである。
なお、本願の出願当初の請求項と同一の記載を以下に付記する。
［Ｃ１］
モバイルデバイスが第１のポジションに位置する間に、オブジェクトの第１のイメージを前記モバイルデバイスのカメラにおいて、キャプチャすること、前記モバイルデバイスが第２のポジションに位置する間に、前記オブジェクトの第２のイメージをキャプチャすること、前記第１のポジションから前記第２のポジションへの前記モバイルデバイスの動きを、前記モバイルデバイスの少なくとも１つのモーションセンサにより出力されたデータに基づき、決定すること、および前記モバイルデバイスの前記決定された動きおよび、前記第１のイメージ、前記第２のイメージに基づき前記オブジェクトの３次元（３Ｄ）モデルを計算することを備える方法。
［Ｃ２］
前記第１のイメージ、前記第２のイメージは、記憶されたビデオファイルに関連するビデオフレームであり、さらに、前記ビデオフレームにアクセスするために前記記憶されたビデオファイルに周期的にアクセスすることを備えるＣ１記載の方法。
［Ｃ３］
前記第１のイメージ、前記第２のイメージは、ビデオフレームシーケンスに関連するビデオフレームであり、さらに、ビデオファイルとしての前記ビデオフレームシーケンスを記憶することにより前に、ビデオフレームにアクセスすることを備えるＣ１記載の方法。
［Ｃ４］
前記第１のイメージ、前記第２のイメージは、スナップショットイメージであるＣ１記載の方法。
［Ｃ５］
前記オブジェクトの３Ｄモデルを計算することは、さらに、前記オブジェクトの１つまたは複数のシルエットに基づくＣ１記載の方法。
［Ｃ６］
前記少なくとも１つのモーションセンサにより出力された前記データは、前記モバイルデバイスに関連する回転動作、前記モバイルデバイスに関連する並進動作またはそれらの組み合わせを含むＣ１記載の方法。
［Ｃ７］
前記モバイルデバイスの前記決定された動きは、前記モバイルデバイスの回転、前記モバイルデバイスの移動、またはそれらの組み合わせを含むＣ１記載の方法。
［Ｃ８］
前記オブジェクトの前記３Ｄモデルを計算することは、さらに少なくとも１つのモーションセンサにより出力された前記データおよび、第一の推測された再射影されたイメージポイント、第二の推測された再射影されたイメージポイント、の関数に基づき前記オブジェクトの特徴点を決定することを備えるＣ１記載の方法。
［Ｃ９］
前記オブジェクトの前記３次元モデルを計算することは、さらに前記オブジェクトの１つまたは複数の特徴点および前記第１のポジションの第１の推定の成果に基づいた前記オブジェクトの第１の推定され再射影されたイメージポイントを、決定すること、前記オブジェクトの前記１つまたは複数の特徴点および前記第２のポジションの第２の推定の成果に基づいた前記オブジェクトの第２の推定され再射影されたイメージポイントを、決定すること、前記第１のイメージにおける前記オブジェクトの座標と前記第１の推定され再射影されたイメージポイントの間の第１のユークリッド距離の平方を決定すること、前記第２のイメージにおける前記オブジェクトの座標と前記第２の推定され再射影されたイメージポイントの間の第２のユークリッド距離の平方を決定すること、前記第１のユークリッド距離の前記平方、および前記第２のユークリッド距離の前記平方の合計を最小化するため、前記３Ｄモデルの推定を修正すること、を含み、前記第２のポジションの前記第２の推定は、少なくとも１つのモーションセンサにより出力された前記データ、および前記第１のポジションの前記第１の推定に基づき発生されるＣ１記載の方法。
［Ｃ１０］
前記３Ｄモデルの前記推定を修正することは、
【数１０】
2015508197.tif 000010
の最大尤度ソリューションを決定するためにバンドル調整技術により実行されここでｄは、距離の演算に関係し、ここでＰiは、前記カメラの射影マトリクスであり、ここでＸｊは、前記オブジェクトのｊ番目の特徴点であり、ここでｘiｊは、ｉ番目のイメージにおけるｊ番目の特徴点の座標であるＣ９記載の方法。
［Ｃ１１］
第１のポジションに位置する間に、オブジェクトの第１のイメージをキャプチャするように、および第２のポジションに位置する間に、前記オブジェクトの第２のイメージをキャプチャするように、構成されたカメラと、少なくとも１つのモーションセンサと、プロセッサと、前記第１のポジションから前記第２のポジションへの前記カメラの動きを、少なくとも１つのモーションセンサにより出力されたデータに基づき、決定すること、および前記カメラの前記決定された動きおよび、前記第１のイメージ、前記第２のイメージに基づき前記オブジェクトの３次元（３Ｄ）モデルを計算することを、前記プロセッサにより実行可能な命令を記憶しているメモリと、を備える装置。
［Ｃ１２］
前記プロセッサは、モバイルデバイス、カメラ、マルチメヂィアプレーヤ、娯楽ユニット、ナビゲーションデバイス、パーソナルデジタルアシスタント（ＰＤＡ）、ポータブルコンピュータまたはそれらの任意の組み合わせに集積されているＣ１１の装置。
［Ｃ１３］
前記少なくとも１つのモーションセンサにより出力された前記データは、前記カメラに関連する回転の情報、前記カメラに関連する並進の情報またはそれらの組み合わせを含むＣ１１の装置。
［Ｃ１４］
前記カメラの前記決定された動きは、前記カメラの回転、前記カメラの並進、またはそれらの組み合わせを含むＣ１１の装置。
［Ｃ１５］
前記命令は、さらに前記少なくとも１つのモーションセンサにより出力された前記データおよび、第１の推定された再射影されたイメージポイント、第２の推定された再射影されたイメージポイント、の関数に基づき前記オブジェクトの特徴点を決定するために、前記プロセッサにより実行可能であるＣ１１の装置。
［Ｃ１６］
前記オブジェクトの１つまたは複数の特徴点および前記第１のポジションの第１の推定の成果に基づいた前記オブジェクトの第１の推定され再射影されたイメージポイントを、決定するために前記オブジェクトの前記１つまたは複数の特徴点および前記第２のポジションの第２の推定の成果に基づいた前記オブジェクトの第２の推定された再射影されたイメージポイントを、決定するために前記第１のイメージにおける前記オブジェクトの座標と前記第１の推定され再射影されたイメージポイントの間の第１のユークリッド距離の平方を決定するために、前記第２のイメージにおける前記オブジェクトの座標と前記第２の推定され再射影されたイメージポイントの間の第２のユークリッド距離の平方を決定するために、前記第１のユークリッド距離の前記平方、および前記第２のユークリッド距離の前記平方の合計を最小化するため、前記３Ｄモデルの推定を修正するために、前記命令は、前記プロセッサにより、さらに実行可能であり、前記第２のポジションの前記第２の推定は、前記少なくとも１つのモーションセンサにより出力された前記データ、および前記第１のポジションの前記第１の推定に基づき発生されるＣ１１の装置。
［Ｃ１７］
前記３Ｄモデルの前記推定を修正することは、
【数１１】
2015508197.tif 000011
の最大尤度ソリューションを決定するためにバンドル調整技術により実行されここでｄは、距離の演算に関係し、ここでＰiは、前記カメラの射影マトリクスであり、ここでＸｊは、前記オブジェクトのｊ番目の特徴点であり、ここでｘiｊは、ｉ番目のイメージにおけるｊ番目の特徴点の座標であるＣ１６の装置。
［Ｃ１８］
第１のポジションから第２のポジションへのモバイルデバイスの動きを、少なくとも１つのモーションセンサから受信されたデータに基づき、決定すること、および前記モバイルデバイスの前記第１のポジションからのオブジェクトの第１の視野に対応した前記オブジェクトの第１のイメージに基づき、さらに、前記モバイルデバイスの前記第２のポジションからの前記オブジェクトの第２の視野に対応した前記オブジェクトの第２のイメージに基づき、さらに、前記モバイルデバイスの前記動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算すること、を備える方法。
［Ｃ１９］
第１のポジションから第２のポジションへのモバイルデバイスの動きを、少なくとも１つのモーションをセンスする手段から受信されたデータに基づき決定する手段、および前記モバイルデバイスの前記第１のポジションからのオブジェクトの第１の視野に対応した前記オブジェクトの第１のイメージに基づき、さらに、前記モバイルデバイスの前記第２のポジションからの前記オブジェクトの第２の視野に対応した前記オブジェクトの第２のイメージに基づき、さらに、前記モバイルデバイスの前記動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算する手段、を備える装置。
［Ｃ２０］
さらに、前記第１のイメージをキャプチャするための手段と、前記第２のイメージをキャプチャするための手段を備えるＣ１９の装置。
［Ｃ２１］
さらに、前記少なくとも１つのモーションをセンスするための手段により受信された前記データおよび、第１の推定された再射影されたイメージポイント、第２の推定された再射影されたイメージポイント、の関数に基づく前記オブジェクトの特徴点を決定するための手段を備えるＣ１９の装置。
［Ｃ２２］
プロセッサにより実行されたときにプロセッサに、第１のポジションから第２のポジションへのモバイルデバイスの動きを、少なくとも１つのモーションセンサから受信されたデータに基づき決定すること、および、前記モバイルデバイスの前記第１のポジションからのオブジェクトの第１の視野に対応した前記オブジェクトの第１のイメージに基づき、さらに、前記モバイルデバイスの前記第２のポジションからの前記オブジェクトの第２の視野に対応した前記オブジェクトの第２のイメージに基づき、さらに、前記モバイルデバイスの前記動きに基づき、オブジェクトの３次元（３Ｄ）モデルを計算すること、を引き起こす命令を備えたコンピュータ可読媒体。
［Ｃ２３］
データは、前記モバイルデバイスに対応した回転の情報、前記モバイルデバイスに対応した並進の情報、またはそれらの組み合わせを含むＣ２２のコンピュータ可読媒体。
［Ｃ２４］
前記データおよび、第１の推定され再射影されたイメージポイント、第二の推定され再射影されたイメージポイント、の関数に基づく前記オブジェクトの特徴点を決定することを、プロセッサにより実行可能な命令を備えるＣ２２のコンピュータ可読媒体。
［Ｃ２５］
さらに、前記オブジェクトに対応した１つまたは複数のシルエットを発生するための前記プロセッサにより実行可能な命令を備え、前記オブジェクトの前記３Ｄモデルは、さらに１つまたは複数のシルエットに基づく、Ｃ２２のコンピュータ可読媒体。