(57)【要約】【課題】現実場面の仮想モデル内の仮想オブジェクトの配置補正に使用するコンピュータ実施方法を提供する。【解決手段】オブジェクトの配置は、仮想オブジェクトの位置および向きの両方からなる。方法は、仮想オブジェクトを含む仮想モデルを生成するステップと、仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得するステップとを含む。方法は、また、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算するステップと、この画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整するステップと、仮想オブジェクトの補正した配置に対して仮想モデルを調整するステップとを含む。【選択図】図２
2014123376.tif 000002
【特許請求の範囲】
【請求項１】
現実場面の仮想モデルの配置補正に使用するためのコンピュータ実施方法であって、
仮想オブジェクトを含む前記仮想モデルを生成するステップと、
前記現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得するステップであって、前記現実のオブジェクトは、前記仮想オブジェクトに対応する、ステップと、
前記仮想オブジェクト上の少なくとも１つの所定の点と前記現実のオブジェクト上の少なくとも１つの対応する点との間の画像ベースの位置の相違を計算するステップと、
前記画像の位置の相違に基づいて、前記仮想オブジェクトの位置および向きの少なくとも１つを調整するステップと、
前記仮想オブジェクトの補正した配置に関して前記仮想モデルを調整するステップと
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記仮想モデルを生成する前記ステップは、前記仮想オブジェクト上で複数の特定可能な点に基づいて前記仮想オブジェクトのための配置変換を計算するステップを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記配置変換を計算する前記ステップは、前記複数の特定可能な点の少なくとも一部のユーザ選択を受信するステップを含むことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記仮想モデルを生成する前記ステップは、
前記仮想オブジェクトおよび対応する基準オブジェクトを特定するステップと、
前記仮想オブジェクト上の前記少なくとも１つの所定の点、および前記基準オブジェクト上の対応する点を特定するステップと
を含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項５】
前記基準オブジェクト上の前記所定の点と、対応する現実の基準オブジェクト上の点とを実質上一致させるように、仮想ビューのプログラムの調整をさらに含むことを特徴とする請求項４に記載のコンピュータ実施方法。
【請求項６】
仮想ビューのプログラムの調整と、
前記取得したデジタル画像の各々に関して、前記仮想オブジェクト上の前記少なくとも１つの所定の点と前記現実のオブジェクト上の前記少なくとも１つの対応する点との間の前記画像ベースの位置の相違を計算するステップと
をさらに含むことを特徴とする請求項４に記載のコンピュータ実施方法。
【請求項７】
前記仮想オブジェクトの配置変換を繰り返すことによって、前記画像の位置の相違を最小化するステップをさらに含むことを特徴とする請求項６に記載のコンピュータ実施方法。
【請求項８】
現実場面の仮想モデルの配置補正に使用するためのコンピュータであって、
前記仮想モデルおよび前記仮想モデルの仮想オブジェクトを記憶するように構成されたメモリ領域と、
前記メモリ領域に連結されたプロセッサであって、
前記仮想オブジェクトを含む前記仮想モデルを生成し、
前記現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得し、前記現実のオブジェクトは、前記仮想オブジェクトに対応し、
前記仮想オブジェクト上の少なくとも１つの所定の点と前記現実のオブジェクト上の少なくとも１つの対応する点との間の画像ベースの位置の相違を計算し、
前記画像の位置の相違に基づいて、前記仮想オブジェクトの位置および向きの少なくとも１つを調整し、
前記仮想オブジェクトの補正した配置に関して前記仮想モデルを調整する
ように構成されたプロセッサと
を備えたことを特徴とするコンピュータ。
【請求項９】
前記プロセッサは、前記仮想オブジェクト上の複数の特定可能な点に基づいて前記仮想オブジェクトの配置変換を計算するようにさらに構成されたことを特徴とする請求項８に記載のコンピュータ。
【請求項１０】
前記プロセッサは、前記複数の特定可能な点の少なくとも一部のユーザ選択を受信するようにさらに構成されたことを特徴とする請求項９に記載のコンピュータ。
【請求項１１】
前記プロセッサは、
前記仮想オブジェクトおよび対応する基準オブジェクトを特定し、
前記仮想オブジェクト上の前記少なくとも１つの所定の点および前記基準オブジェクト上の対応する点を特定する
ようにさらに構成されたことを特徴とする請求項８に記載のコンピュータ。
【請求項１２】
前記プロセッサは、前記基準オブジェクト上の前記所定の点と、対応する現実の基準オブジェクト上の点とを実質上一致させるように、仮想ビューをプログラムで調整するようにさらに構成されたことを特徴とする請求項１１に記載のコンピュータ。
【請求項１３】
前記プロセッサは、
前記基準オブジェクト上の前記所定の点と、対応する現実の基準オブジェクト上の点とを実質上一致させるように仮想ビューをプログラムで調整し、
前記取得したデジタル画像の各々に関して、前記仮想オブジェクト上の前記少なくとも１つの所定の点と前記現実のオブジェクト上の前記少なくとも１つの対応する点との間の前記画像ベースの位置の相違を計算する
ようにさらに構成されたことを特徴とする請求項１１に記載のコンピュータ。
【請求項１４】
前記プロセッサは、前記仮想オブジェクトの配置変換を繰り返すことによって前記画像の位置の相違を最小化するようにさらに構成されたことを特徴とする請求項１３に記載のコンピュータ。
【請求項１５】
現実場面の仮想モデルの配置補正に使用するためのコンピュータ実行可能コンポーネントを有する１つまたは複数の非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、
前記コンポーネントは、
プロセッサによって実行されると、前記プロセッサに、仮想オブジェクトを含む前記仮想モデルを生成させる生成コンポーネントと、
前記プロセッサによって実行されると、前記プロセッサに、前記現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得させる取得コンポーネントであって、前記現実のオブジェクトは、前記仮想オブジェクトに対応する、取得コンポーネントと、
前記プロセッサによって実行されると、前記プロセッサに、
前記仮想オブジェクト上の少なくとも１つの所定の点と前記現実のオブジェクト上の少なくとも１つの対応する点との間の画像ベースの位置の相違を計算させ、
前記画像の位置の相違に基づいて、前記仮想オブジェクトの位置および向きの少なくとも１つを調整させ、
前記仮想オブジェクトの補正した配置に関して前記仮想モデルを調整させる
補正コンポーネントと
を含むことを特徴とするコンピュータプログラム製品。
【請求項１６】
前記生成コンポーネントは、さらに、前記プロセッサに、
複数の特定可能な点の少なくとも一部のユーザ選択を受信させ、
前記仮想オブジェクト上の前記複数の特定可能な点に基づいて前記仮想オブジェクトの配置変換を計算させることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記生成コンポーネントは、さらに、前記プロセッサに、
前記仮想オブジェクトおよび対応する基準オブジェクトを特定させ、
前記仮想オブジェクト上の前記少なくとも１つの所定の点および前記基準オブジェクト上の対応する点を特定させることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１８】
前記補正コンポーネントは、さらに、前記プロセッサに、基準オブジェクト上の前記所定の点と、対応する現実の基準オブジェクト上の点とを実質上一致させるように、仮想ビューをプログラムで調整させることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１９】
前記補正コンポーネントは、さらに、前記プロセッサに、
仮想ビューをプログラムで調整させ、
前記取得したデジタル画像の各々に関して、基準オブジェクト上の前記少なくとも１つの所定の点と前記現実の基準オブジェクト上の前記少なくとも１つの対応する点との間の前記画像ベースの位置の相違を計算させることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項２０】
前記補正コンポーネントは、さらに、前記プロセッサに、前記仮想オブジェクトの配置変換を繰り返すことによって前記画像の位置の相違を最小化させることを特徴とする請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想オブジェクトの配置補正に関する。
【背景技術】
【０００２】
本明細書に記載の実施形態は、一般的に、現実のオブジェクトおよび／または現実場面のグラフィック表示に関し、さらに詳細には、現実のオブジェクトを表す仮想オブジェクトの、３次元（３Ｄ）コンピュータグラフィックモデリングおよびシミュレーション、レイアウトおよび配置較正に関する。オブジェクトの配置は、オブジェクトの位置および向きの両方からなる。
【０００３】
製造ワークセルの３次元のコンピュータグラフィックシミュレーションは、現在、製造プロセスのシミュレーションに用いられる。次に、プログラムまたはシミュレーションモデルは、工場現場にある、産業ロボット等の資源を駆動するコンピュータにダウンロードされる。このプロセスの一部として、（製造プロセスに用いられる機械、備品、加工中の品を含む）製造ワークセルの仮想３Ｄモデルは、工場現場の実際のワークセルの実際の位置および向きに一致するように、シミュレーションしたワークセルのレイアウトを調整する必要がある。こうすることによって、シミュレーションした製造プログラムは、到達可能性や衝突等の問題に関してプロセスを有効にすることができる。また、これによって、工場の産業ロボット等の製造資源にダウンロードされるオフラインプログラムを正しく動作させることができる。
【０００４】
シミュレーションモデルの３Ｄ配置補正の既知の方法では、座標測定機、セオドライト、および／またはレーザ測距器等の高価で複雑な測定器具を用いる。しかしながら、そのような器具は、工場に設置する必要がある。工場で取得した測定データは、次に、３Ｄシミュレーションにインポートされ、モデルの調整に使われる。従って、このような既知の方法は、別個の装置を購入し、その装置を使えるようにユーザを訓練する必要がある。さらに、このような既知の方法は、異なる場所における複数のステップを必要とする。
【発明の概要】
【０００５】
一態様においては、現実場面の仮想モデルの配置補正に使用するコンピュータ実施方法を提供する。方法は、仮想オブジェクトを含む仮想モデルを生成するステップと、その仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得するステップとを含む。方法は、また、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算するステップと、その画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整するステップと、仮想オブジェクトの補正した配置に対して仮想モデルを調整するステップとを含む。
【０００６】
別の態様においては、現実場面の仮想モデルの配置補正に使用するコンピュータを提供する。コンピュータは、仮想モデルおよび仮想モデル内の仮想オブジェクトを記憶するように構成されたメモリ領域を含む。コンピュータは、また、メモリ領域に接続されたプロセッサを含む。プロセッサは、仮想オブジェクトを含む仮想モデルを生成し、かつ、その仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得するように構成される。プロセッサは、また、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算し、その画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整し、かつ、仮想オブジェクトの補正した配置に対して仮想モデルを調整するように構成される。
【０００７】
別の態様においては、コンピュータプログラム製品は、現実場面の仮想モデルの配置補正に使用するコンピュータ実行可能コンポーネントを有する１つまたは複数の非一時的なコンピュータ可読記憶媒体を含む。コンポーネントは、仮想オブジェクトを含む仮想モデルをプロセッサに生成させる生成コンポーネントと、仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像をプロセッサに取得させる取得コンポーネントとを含む。コンポーネントは、また、プロセッサに、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算させ、その画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整させ、かつ、仮想オブジェクトの補正した配置に対して仮想モデルを調整させる補正コンポーネントを含む。
【図面の簡単な説明】
【０００８】
【図１】現実場面の仮想モデルの配置補正に使用するコンピュータシステムの例を示す概略ブロック図である。
【図２】図１に示すコンピュータシステムの動作を示すフローチャートである。
【図３】図１に示すコンピュータシステムの動作をさらに示すフローチャートである。
【図４Ａ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｂ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｃ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｄ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｅ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｆ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図４Ｇ】図１に示すコンピュータシステムで使用されるクライアントデバイスのディスプレイの例を示す図である。
【図５】図１に示すサーバシステムおよび／またはクライアントデバイスと共に使用するコンピュータアーキテクチャの例を示す概略ブロック図である。
【発明を実施するための形態】
【０００９】
本発明の例示の実施形態を以下に記載する。
【００１０】
本明細書に引用した特許、公開出願および参考文献全ての教示は、参照により、その内容を全て本明細書に援用する。
【００１１】
現実場面の仮想モデルの配置補正に使用する、コンピュータ実施方法、コンピュータデバイス、コンピュータシステム、およびコンピュータプログラム製品の例示の実施形態を本明細書に記載する。本明細書に記載の実施形態は、内蔵デジタルカメラ付きハンドヘルドタブレットコンピュータ、３Ｄグラフィックシミュレーション、またはバーチャルリアリティソフトウェア等を用いた、コンピュータグラフィックモデルにおける仮想オブジェクトの３Ｄ配置補正を容易にし、かつ、所望の空間較正を達成する方法を容易にする。本明細書に記載の実施形態は、ソフトウェアからの３Ｄモデル画像の数学的に厳密なレンダリングと共に、上記のハンドヘルドタブレットコンピュータに組み込まれた高解像度の写真機能および計算機能の組み合わせを活用する。その手法は、ユーザがワークセルの静止画像を少数枚デジタルカメラで撮り、その画像をタブレットコンピュータ上で、ワークセルモデルの３Ｄ仮想画像の上に重ね合わせるという、一種の「介在された現実」を伴う。しかしながら、本明細書に記載の実施形態は、仮想モデルへの画像の重ね合わせを必要としないことは、理解されたい。例えば、本明細書に記載の実施形態は、用途ごとに別個に位置の計算および位置の移動を追跡できるように、コンピュータデバイスに、画像および仮想モデルを並べて表示させることもできる。下記に詳述する計算手法により、仮想モデル内の仮想オブジェクトの３Ｄ配置を調整して、較正の問題を解決する。
【００１２】
さらに、本明細書に記載の実施形態は、使用を簡単にし、手順を早め、測定および器具にかかるコスト並びに設置時間を大幅に減らす。さらに、本明細書に記載の実施形態は、３Ｄ配置調整の際に、タブレットコンピュータに内蔵されたデジタルカメラの、ハードウェア固有のカスタマイズまたは長さ基準の較正を不要にする手法を含む。さらに、本明細書に記載の実施形態は、オブジェクトの小さい寸法から大きい寸法まで拡大縮小が可能であり、かつ、下記に詳述するように、調整の精度を細かくすることも粗くすることもできる。
【００１３】
本明細書では、産業資源および／または製造資源に関連して実施形態を記載するが、実施形態は、これらの使用に限定されないことは理解されたい。例えば、実施形態は、部屋のインテリア改装のインテリア設計に用いてもよく、その場合、再設計を開始する前に、家具等の既存のオブジェクトのレイアウトの３Ｄグラフィックモデルを、部屋の実際のレイアウトに正確に一致するように調整することができる。別の例は建築である。この場合、タブレットコンピュータを戸外に持ち出し、現地を歩きながら建物のデジタル画像を撮影して、実際の位置に対して仮想モデル内におおまかに配置した一連の建物の３Ｄモデルを調整することができる。
【００１４】
図１は、現実場面の仮想モデルの配置補正に使用する、かつ／または、下記のプロセスおよび／または下記プロセスに関連し得る追加のプロセスの実行に使用する、コンピュータシステム１００の例を示す概略ブロック図である。例示の実施形態においては、メモリ領域１０２は、現実場面のシミュレーションに関連するデータ等のデータの記憶に使用する１つまたは複数の記憶装置１０４を含む。記憶装置１０４は、１つまたは複数のデータベースとして実現してよく、かつ／または、単一もしくは複数の地理的場所に置かれてよい。一部の実施形態においては、メモリ領域１０２は、サーバシステム１０６に接続される。代替実施形態においては、メモリ領域１０２は、サーバシステム１０６と一体となっている。例示の実施形態においては、サーバシステム１０６は、１つまたは複数のクライアントデバイス１０８にネットワーク１１０を介して接続される。クライアントデバイス１０８は、ラップトップコンピュータ、タブレットコンピュータ、および／または、スマートフォンを含むモバイルクライアントデバイスを含んでよいが、必ずしもそれらに限らない。さらに、クライアントデバイス１０８は、デスクトップコンピュータ等の通常は可動でない据置型のクライアントデバイスを含んでよい。
【００１５】
理解されるように、ネットワーク１１０は、インターネット等のパブリックネットワーク、ＬＡＮまたはＷＡＮ等のプライベートネットワーク、またはそれらの任意の組み合わせであってもよく、また、ネットワーク１１０は、ＰＳＴＮまたはＩＳＤＮのサブネットワークを含むこともできる。ネットワーク１１０は、イーサネット（登録商標）ネットワーク等、有線であってもよく、ＥＤＧＥ、３Ｇ、４ＧまたはＬＴＥの無線セルラーシステムを含むセルラーネットワーク等、無線であってもよい。無線ネットワークは、また、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または既知の任意の他の無線通信形態であってよい。従って、ネットワーク１１０は、例示のためにすぎず、多少なりとも本進歩の範囲を限定するものではない。
【００１６】
サーバシステム１０６および／またはクライアントデバイス１０８は、図５を参照して下記に記載するコンピュータアーキテクチャ等の任意の適切なコンピュータアーキテクチャであってもよく、既知の任意の他のコンピュータアーキテクチャであってもよい。さらに、サーバシステム１０６は、下記のプロセスおよび／または下記のプロセスに関連し得る任意の追加のプロセスを実行するように構成されることは理解されたい。
【００１７】
一部の実施形態においては、サーバシステム１０６は、また、クライアントデバイス１０８が下記のプロセスを実行するように、クライアントデバイス１０８に必要に応じてメモリ領域１０２からデータを提供することができる。そのため、図１は、クラウドコンピューティング、分散コンピューティング等を介したコンピュータシステム１００の実施を含む。さらに、一部の実施形態においては、サーバシステム１０６は、下記のプロセスを実行するためのコンピュータ可読命令を記憶し、ネットワーク１１０を介してクライアントデバイス１０８にそれらの命令を提供する。このようなコンピュータ可読命令は、現実場面の仮想モデルの配置補正に使用するコンピュータ実行可能コンポーネントを有する１つまたは複数の非一時的なコンピュータ可読記憶媒体を備えたコンピュータプログラム製品として実現してよい。下記にさら詳述するように、コンポーネントは、仮想オブジェクトを含む仮想モデルをプロセッサに生成させる生成コンポーネントと、仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像をプロセッサに取得させる取得コンポーネントとを含む。コンポーネントは、また、プロセッサに、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算させ、その画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整させ、かつ、仮想オブジェクトの補正した配置に対して仮想モデルを調整させる補正コンポーネントを含む。
【００１８】
図２は、図１に示すコンピュータシステム１００の動作を示すフローチャート２００である。図１および図２を参照すると、例示の実施形態においては、サーバシステム１０６は、現実場面のシミュレーションまたは仮想表示で使用する３Ｄモデル等の、現実場面またはワークセルの仮想モデルを、ネットワーク１１０を介してクライアントデバイス１０８に送信する（２０２）。クライアントデバイス１０８は、その仮想モデルをシミュレーションソフトウェアモジュールまたはバーチャルリアリティソフトウェアモジュールにロードし（２０４）、ユーザが空間配置を調整したい１つまたは複数の仮想オブジェクトの選択をユーザから受信する（２０６）。クライアントデバイス１０８は、また、仮想モデル内の基準オブジェクトまたは基準点の選択をユーザから受信する（２０８）。次に、クライアントデバイス１０８は、デジタルカメラ画像を、仮想３Ｄビュー上に重ね合わせて、または仮想３Ｄビューと並べて表示する（２１０）。クライアントデバイス１０８の３Ｄビューは、追加のユーザ入力に基づいて、仮想で回転、平行移動させることによって、仮想モデルの表示をズームおよび向きという点で所望の視点に合わせて、重ねられたカメラ画像に３Ｄビューがほぼ一致するように調整される（２１２）。次に、デジタル画像が、対応する３Ｄ仮想ビューと共に、クライアントデバイス１０８によって取得され（２１４）、クライアントデバイス１０８および／またはサーバ１０６に保存される。
【００１９】
例示の実施形態においては、次に、ユーザは、部屋のレイアウト、工場現場、または建物の敷地等の現実場面でクライアントデバイス１０８を持ち、仮想モデルを伴うデジタルカメラ画像の表示（２１０）に異なる視点を得るように、クライアントデバイス１０８を持ったまま動く（２１６）。例示の実施形態においては、ユーザは、仮想３Ｄビューの表示を繰り返し調整し（２１２）、その都度、３Ｄビューと共に新しいデジタル画像を撮影する（２１４）。クライアントデバイス１０８および／またはサーバシステム１０６は、次に、フローチャート３００で後述するように、撮影したデジタル画像（複数可）を用いて、対応する現実のオブジェクトと比較して仮想オブジェクトの位置および向きを特定する配置補正機能を呼び出す（２１８）。クライアントデバイス１０８および／またはサーバシステム１０６が配置補正機能を完了すると、現実場面内の現実のオブジェクトに対する仮想モデル内の仮想オブジェクトの位置および向きがより正確になる。配置補正を完了した製造シミュレーションまたは仮想表示は、空間的誤差および／または時間的誤差が減って改善される。一部の実施形態においては、クライアントデバイス１０８は、仮想オブジェクトの新しい位置および／または向き等の仮想オブジェクトおよび／または仮想モデルの特性を、メモリ領域１０２に記憶するために、サーバシステム１０６に送信する。このような実施形態においては、記憶されたデータには、その後のシミュレーションのために後にアクセスすることができる。
【００２０】
図３は、図１に示すコンピュータシステム１００の動作をさらに示すフローチャート３００である。図１および図３を参照すると、例示の実施形態においては、サーバシステム１０６は、現実場面を表す仮想モデルを生成する（３０２）。サーバシステム１０６は、その仮想モデルを、ネットワーク１１０を介してクライアントデバイス１０８に送信する（３０４）。クライアントデバイス１０８は、シミュレーションソフトウェアモジュールまたはバーチャルリアリティソフトウェアモジュールに仮想モデルをロードする（３０６）。例示の実施形態においては、クライアントデバイス１０８は、仮想モデル内の仮想オブジェクトおよび基準オブジェクトを特定するユーザ入力を受信する（３０８）。仮想オブジェクトは、ユーザが本明細書に記載の配置補正ステップを行いたいオブジェクトである。基準オブジェクトは、それに対して配置補正を完了している関連のあるオブジェクトである。例えば、図４Ａは、クライアントデバイス１０８のディスプレイ４００の例を示す図である。クライアントデバイス１０８は、仮想オブジェクト４０２および基準オブジェクト４０４を表示する。
【００２１】
一部の実施形態においては、クライアントデバイス１０８は、また、仮想オブジェクト４０２に関する１つまたは複数の所定の比較のための特徴、および基準オブジェクト４０４に関する１つまたは複数の対応する比較のための特徴を特定するユーザ入力を受信する（３１０）。代替実施形態においては、視覚処理アルゴリズムおよび／またはパターン認識アルゴリズムを用いて、仮想オブジェクト４０２および基準オブジェクト４０４の所定の特徴を特定してよい。図４Ａに示すように、仮想オブジェクト４０２の３Ｄビューは、頂点４０６の形で３つの所定の特徴を有し、基準オブジェクト４０４は、頂点４０８の形で３つの対応する所定の特徴を有する。図４Ｂは、クライアントデバイス１０８のディスプレイ４００の別の図で、クライアントデバイスに内蔵されたカメラによるデジタル画像を示す。図４Ｂに示すように、現実のオブジェクト４１０は、仮想オブジェクト４０２上のユーザが選択した点４０６に対応する３つの点４１２を有する。現実の基準オブジェクト４１４は、仮想基準オブジェクト４０４上のユーザが選択した点４０８に対応する３つの点４１６を有する。図４Ａおよび図４Ｂは、仮想オブジェクト４０２、仮想基準オブジェクト４０４、現実のオブジェクト４１０、および現実の基準オブジェクト４１４を、立方体のオブジェクトとして表しているが、本明細書に記載の実施形態は立方体のオブジェクトを用いたものに限らないことは理解されたい。むしろ、本明細書に記載の実施形態は、特定可能な点の組を選択することができる任意の形のオブジェクトを用いてよい。さらに、所定の比較のための特徴４０６、４０８、４１２、および／または４１６は、図４Ａおよび図４Ｂから分かるように頂点であるが、線、平面、または面であってよい。一部の実施形態においては、クライアントデバイス１０８は、特定した点４０６、４０８、４１２、および／または４１６の座標等、特定した点に関するデータをサーバシステム１０６に送信する。
【００２２】
所定の点４０６および／または点４０８を特定した後、クライアントデバイス１０８は、特定した点４０６および／または点４０８に基づいて配置変換を計算する（３１２）。仮想モデルにおいては、各仮想オブジェクトの位置および向きは、６つのパラメータ（Ｘ、Ｙ、Ｚ、Ｗ、Ｐ、Ｒ）で定義される。第１の３つのパラメータ（Ｘ、Ｙ、Ｚ）は、仮想オブジェクトのｘ方向、ｙ方向、ｚ方向の位置を定める距離である。第２の３つのパラメータ（Ｗ、Ｐ、Ｒ）は、仮想オブジェクトの向きを定める角で、Ｗはヨー角、Ｐはピッチ角、Ｒはロール角を表す。これらの６つのパラメータは、まとめて、仮想オブジェクトの配置変換と呼ぶことができる。さらに、仮想オブジェクト４０２の配置変換は、仮想基準オブジェクト４０４が示す座標系等の基準座標系に対して計算される。詳細には、仮想オブジェクト４０２の配置変換は、仮想オブジェクト４０２上の特定した点４０６と基準オブジェクト４０４上の特定した点４０８の位置（Ｘ、Ｙ、Ｚ）に基づいて計算される。図４Ａに示すように、仮想オブジェクト４０２上の点４０６は、配置変換の計算（３１２）に用いられる点である。例示の実施形態においては、基準オブジェクト４０４は、配置補正を完了するための基準座標系および寸法の長さ基準の両方を提供する。従って、基準オブジェクト４０４の３Ｄモデルは、特定した点４０８の配置に関して、現実の基準オブジェクト（図示せず）にほぼ一致する。言い換えれば、仮想基準オブジェクト４０４の特定した各点４０８と、現実の基準オブジェクトの対応する各点との間の各距離が、用途依存の所定の許容差内で同一となるはずである。
【００２３】
配置変換を計算した後、クライアントデバイス１０８のカメラデバイスは、図２の２１０から２１４で説明したように、現実場面の３Ｄ仮想ビューと共に現実場面のデジタル画像を取得する（３１４）。さらに、図２を再度参照すると、クライアントデバイス１０８は、仮想基準オブジェクト４０４を操作する形で、ユーザ入力を受信する（２１２）。例えば、ユーザは、タッチスクリーンを用いて、回転、平行移動、および／またはズームの操作を用いる等して、仮想オブジェクト４０２および基準オブジェクト４０４が現実のオブジェクト４１０および基準オブジェクト４１４とほぼ同じ位置になるように再配置してよい。図４Ｃと図４Ｄは、クライアントデバイス１０８のディスプレイ４００の別の図である。詳細には、図４Ｃは、仮想オブジェクト４０２および対応する現実のオブジェクト４１０、並びに、基準オブジェクト４０４および対応する現実の基準オブジェクト４１４を含み、現実場面を重ねて、または現実場面と同時に、クライアントデバイス１０８が仮想モデルを表示していることを示す。図４Ｃに示す状況は、ユーザが３Ｄ仮想ビューを現実の画像とほぼ同じ位置になるように調整した（２１２）後である。クライアントデバイス１０８および／またはサーバ１０６は、次に、基準オブジェクト４０４上の所定の点４０８が現実の基準オブジェクト４１４上の点４１６とほぼ一致するように、ビュー回転、ビュー平行移動、および／またはビューズームの細かい修正によって、３Ｄ仮想ビューのプログラムでの調整を開始する（３１６）。このプログラムでのビューの調整は、異なる視点から取得した（３１４）現実場面の各画像に対して行われる。図４Ｄは、ステップ３１６で仮想基準オブジェクト４０４を現実の基準オブジェクト４１４に一致させた状況を示している。詳細には、基準オブジェクト４０４の点４０８は、現実の基準オブジェクト４１４の対応する点４１６とほぼ同じ位置にある。さらに、ハードウェア固有のカメラ較正の必要性を無くし、基準オブジェクト４０４の寸法で表される長さ基準が、自動的に次の配置補正で確実に把握されるのは、このプログラムでの調整（３１６）による。
【００２４】
基準オブジェクト４０４が、プログラムでの調整（３１６）によって現実の基準オブジェクト４１４とほぼ同じ位置になると、クライアントデバイス１０８および／またはサーバシステム１０６は、仮想オブジェクトの点４０６と現実のオブジェクト４１０上の対応する点４１２との間の不一致を判定する。詳細には、クライアントデバイス１０８および／またはサーバシステム１０６は、仮想オブジェクト４０２上の点４０６と現実のオブジェクト４１０上の対応する点４１２との画像上の位置の相違を計算する（３１８）。例示の実施形態においては、相違は、Ｘ方向およびＹ方向それぞれ、画素数で計算される。図４Ｅは、クライアントデバイス１０８のディスプレイ４００の別の図である。詳細には、図４Ｅは、仮想オブジェクト４０２の点４０６の１つおよび現実のオブジェクト４１０の対応する点４１２に関して、Ｘ方向（デルタＸ）およびＹ方向（デルタＹ）それぞれの距離を示す。しかしながら、例示の実施形態においては、クライアントデバイス１０８および／またはサーバシステム１０６は、特定した点４０６および４１２の全ての点同士の相違を計算する（３１８）。例示の実施形態においては、それらの相違をメモリ領域１０２に記憶する。クライアントデバイス１０８および／またはサーバシステム１０６は、現実場面の異なる視点から取得した（３１４）各画像に対して、画像上の位置の相違を計算する。図４Ｆは、クライアントデバイス１０８のディスプレイの別の図である。詳細には、図４Ｆは、基準オブジェクト４０４を現実の基準オブジェクト４１４と再びほぼ同じ位置にした後の、現実場面の別の視点からの別の撮影画像に関して画像上の位置の相違の計算を示している。
【００２５】
クライアントデバイス１０８および／またはサーバシステム１０６は、次に、仮想オブジェクト４０２と現実のオブジェクト４１０との画像上の位置の相違全ての組み合わせを最小化するように、仮想オブジェクト４０２の配置変換を繰り返す（３２０）。一実施形態においては、クライアントデバイス１０８および／またはサーバシステム１０６は、一連の可変パラメータを調整することによってコスト関数を最小化する標準的な非線形回帰を用いる。例示の実施形態においては、コスト関数は、計算したデルタＸおよびデルタＹの相違の全てに関する二乗平均平方根（ＲＭＳ）誤差の和である。可変パラメータは、仮想オブジェクト４０２の（Ｘ、Ｙ、Ｚ、Ｗ、Ｐ、Ｒ）の値、すなわち、仮想オブジェクト４０２の計算した配置変換となる。この最小化ステップ３２０の結果に基づいて、クライアントデバイス１０８および／またはサーバシステム１０６は、仮想オブジェクト４０２の位置および／または向きを調整し（３２２）、仮想オブジェクト４０２の補正した配置に対して仮想モデルを調整する（３２４）。図４Ｇは、クライアントデバイス１０８のディスプレイの別の図である。詳細には、図４Ｇは、仮想オブジェクト４０２および仮想モデルを全体として、向きおよび／または位置を再度変更した最終結果を示す。
【００２６】
上記ステップは、単一の仮想オブジェクトの位置調整にのみ基づいて仮想モデルを調整することを記載しているが、本明細書に記載の実施形態は、複数の仮想オブジェクトの位置を、一度に１つまたは複数調整することを意図していることを理解されたい。例示の実施形態においては、各仮想モデルの調整には同じ基準オブジェクトを用いる。しかしながら、一部の実施形態においては、異なる仮想オブジェクトに対しては異なる基準オブジェクトを用いてよく、および／または、オブジェクトではなく単に空間内の基準点を用いてよい。
【００２７】
図５は、サーバシステム１０６および／またはクライアントデバイス１０８（それぞれ図１に示す）と共に用いられるコンピュータアーキテクチャ５００の例の概略ブロック図である。
【００２８】
例示の実施形態においては、コンピュータアーキテクチャ５００は、上記のプロセスおよび／または上記のプロセスに関連し得る任意の追加のプロセスを実行する１つまたは複数のプロセッサ（ＣＰＵ）５０２を含む。「プロセッサ」という語は、一般に、システムおよびマイクロコントローラを含む任意のプログラム可能システム、ＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｉｒｃｕｉｔｓ）、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、プログラム可能論理回路、および／または、本明細書に記載の機能を実行することができる任意の他の回路またはプロセッサを指すことを理解されたい。上記の例は、例示のためのものであり、「プロセッサ」という語の定義および／または意味を多少なりとも制限するものではない。
【００２９】
上記のプロセスおよび／または上記のプロセスに関連し得る任意の追加のプロセスのステップは、コンピュータ実行可能命令として、例えばシステムバス５０６を介してプロセッサ５０２に動作可能および／または通信可能に接続されるメモリ領域５０４等に記憶してよい。本明細書において、「メモリ領域」は、一般に、現実場面の仮想モデルの配置補正に役立つ、かつ／または、上記のプロセスおよび／または上記のプロセスに関連し得る追加のプロセスの実行に使用される、１つまたは複数のプロセッサによって実行可能な非一時的なプログラムコードおよび命令を記憶する任意の手段を指す。メモリ領域５０４は、１つまたは複数の形態のメモリを含んでよい。例えば、メモリ領域５０４は、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）５０８を含んでよく、ＲＡＭ５０８は、不揮発性ＲＡＭ、磁気ＲＡＭ、強誘電体ＲＡＭ、および／または他の形態のＲＡＭを含むことができる。メモリ領域５０４は、また、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）５１０および／またはフラッシュメモリおよび／またはＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ−ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）を含んでよい。ＨＤＤ（ｈａｒｄ−ｄｉｓｋ  ｄｒｉｖｅ）５１２等の、任意の他の適切な磁気メモリ、光学メモリ、および／または半導体メモリを、単独で、または他の形態のメモリと共に、メモリ領域５０４に含んでよい。ＨＤＤ５１２を、また、プロセッサ５０２とのメッセージの送受信に使用するためにディスクコントローラ５１４に接続してよい。さらに、メモリ領域５０４は、また、適切なカートリッジディスク、ＣＤ−ＲＯＭ、ＤＶＤ、またはＵＳＢメモリ等の取り外し可能または着脱可能なメモリ５１６であってもよく、それらを含んでもよい。上記の例は、例示のためのものであり、「メモリ領域」と言う語の定義および／または意味を多少なりとも制限するものではない。
【００３０】
コンピュータアーキテクチャ５００は、また、ディスプレイコントローラ５２０に、動作可能に接続等、接続されるディスプレイデバイス５１８を含む。ディスプレイコントローラ５２０は、ディスプレイデバイス５１８が表示するためのデータを、システムバス５０６を介して受信する。ディスプレイデバイス５１８は、モニタ、テレビのディスプレイ、プラズマディスプレイ、ＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）、ＬＥＤ（ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）ディスプレイ、ＯＬＥＤ（ｏｒｇａｎｉｃ  ＬＥＤ）ディスプレイ、ポリマーＬＥＤディスプレイ、表面電界ディスプレイ、映像および／または反射像を含むディスプレイ、または任意の他の適切な電子デバイスもしくはディスプレイ機構であってよいが、それらに限らない。さらに、ディスプレイデバイス５１８は、タッチスクリーン５２２を、タッチスクリーン５２２に関連付けられたタッチスクリーンコントローラ５２４と共に含んでよい。上記の例は例示のためのものであり、「ディスプレイデバイス」という語の定義および／または意味を多少なりとも限定するものではない。
【００３１】
さらに、コンピュータアーキテクチャ５００は、ネットワーク（図５には示していない）との通信に用いるネットワークインタフェース５２６を含む。さらに、コンピュータアーキテクチャ５００は、キーボード５２８、および／または、ローラボール、マウス、タッチパッド等のポインティングデバイス５３０等、１つまたは複数の入力装置を含む。タッチスクリーン５２２およびそのコントローラ５２４は、統合されたキーボード５２８および／またはポインティングデバイス５３０として考えてもよい。入力装置は、Ｉ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）インタフェース５３２に接続され、Ｉ／Ｏインタフェース５３２によって制御される。Ｉ／Ｏインタフェース５３２は、さらに、システムバス５０６に接続される。コンピュータアーキテクチャ５００は、また、少なくとも１つのデジタルカメラ５３４を、デジタルカメラ５３４に関連付けられたデジタルカメラコントローラ５３６と共に含む。
【００３２】
ディスプレイデバイス５１８、キーボード５２８、ポインティングデバイス５３０、並びに、ディスプレイコントローラ５２０、ディスクコントローラ５１４、ネットワークインタフェース５２６、およびＩ／Ｏインタフェース５３２に関する一般的な特徴および機能は知られているので、簡潔にするため、本明細書では記載を省略する。
【００３３】
図２〜図５を参照すると、動作中、プロセッサ５０２は、現実場面を表す仮想モデルを生成し、その仮想モデルをシミュレーションソフトウェアモジュールまたはバーチャルリアリティソフトウェアモジュールにロードする。例示の実施形態においては、プロセッサ５０２は、仮想モデル内の仮想オブジェクトおよび基準オブジェクトを特定するユーザ入力を、例えば、タッチスクリーン５２２を介して受信する。仮想オブジェクトは、ユーザが本明細書に記載の配置補正ステップを行いたいオブジェクトである。基準オブジェクトは、配置補正をそれに対して完了しているオブジェクトである。
【００３４】
一部の実施形態においては、プロセッサ５０２は、また、仮想オブジェクト上の１つまたは複数の所定の点および基準オブジェクト上の１つまたは複数の対応する点を特定するユーザ入力を受信する。所定の点を特定した後、プロセッサ５０２は、特定した点に基づいて配置変換を計算する。さらに、仮想オブジェクトの配置変換を、基準オブジェクト等の基準点に対して計算する。配置変換計算後、カメラデバイス５３４は、仮想オブジェクトに対応する、現実場面内の現実のオブジェクトのデジタル画像を取得する。さらに、画像取得中、プロセッサ５０２は、３Ｄ仮想ビューを操作する形で、ユーザ入力を受信する。例えば、ユーザは、タッチスクリーン５２２を用いて、回転操作、平行移動操作、および／またはズーム操作を用いる等して、基準オブジェクトが現実の基準オブジェクトとほぼ同じ位置になるように再配置してよい。このおおよその位置合わせの後、プロセッサ５０２は、基準オブジェクトの点が現実の基準オブジェクトの点にほぼ一致するように、ビュー回転、ビュー平行移動、および／またはビューズームの細かい修正によって、３Ｄ仮想ビューをプログラムで調整する。
【００３５】
基準オブジェクトが現実の基準オブジェクトとほぼ同じ位置になると、プロセッサ５０２は、仮想オブジェクトの点と現実のオブジェクト上の対応する点との間の不一致を判断する。詳細には、プロセッサ５０２は、仮想オブジェクト上の点と現実のオブジェクト上の対応する点との画像上の位置の相違を計算する。例示の実施形態においては、相違は、Ｘ方向およびＹ方向それぞれ、画素数で計算される。プロセッサ５０２は、現実場面の異なる視点から取得した各画像に対して、この画像上の位置の相違を計算する。
【００３６】
プロセッサ５０２は、次に、画像の位置の相違全ての組み合わせを最小化するように、仮想オブジェクトの配置変換を繰り返す。詳細には、プロセッサ５０２は、一連の可変パラメータを調整することによってコスト関数を最小化する標準的な非線形回帰を用いる。その最小化ステップに基づいて、プロセッサ５０２は、仮想オブジェクトの位置および／または向きを調整し、仮想オブジェクトの補正した配置に対して仮想モデルを調整する。
【００３７】
現実場面の仮想モデルの配置補正に使用する、コンピュータシステム、コンピュータデバイス、コンピュータ実施方法、および、コンピュータプログラム製品の例示の実施形態を、上記に詳述した。これらの実施形態は、本明細書に記載の特定の実施形態に限定されず、方法の動作、ならびに／または、システムおよび／または装置のコンポーネントは、本明細書に記載の他の動作および／またはコンポーネントとは独立して別個に用いてよい。さらに、記載の動作および／またはコンポーネントは、他のシステム、方法、および／または装置で定義してもよく、それらと組み合わせて用いてもよく、かつ、本明細書に記載のシステム、方法、および記憶媒体と共にのみ実施することに限定されない。
【００３８】
本明細書に記載のコンピュータアーキテクチャを有するコンピュータデバイス等のコンピュータデバイスは、少なくとも１つのプロセッサまたは処理ユニット、およびシステムメモリを含む。コンピュータデバイスは、典型的には、少なくとも何らかの形態のコンピュータ可読媒体を有する。例を挙げると、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むが、それらに限らない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報を記憶する任意の方法または技術で実施される、揮発性媒体、不揮発性媒体、取り外し可能な媒体、および取り外し不可能な媒体を含む。通信媒体は、典型的に、コンピュータ可読命令、データ構造、プログラムモジュール、搬送波または他の搬送機構等の変調データ信号における他のデータを実現し、かつ、任意の情報伝達媒体を含む。当業者は、変調データ信号に精通していようが、変調データ信号は、その特性の１つまたは複数を、その信号に情報を符号化するように設定または変更したものである。上記の任意のものの組み合わせも、コンピュータ可読媒体の範囲に含まれる。
【００３９】
さらに、本発明の実施形態は、現実場面の仮想モデルの配置補正に使用するコンピュータ実行可能コンポーネントを有する１つまたは複数の非一時的なコンピュータ可読記憶媒体を備えたコンピュータプログラム製品として実現してよい。コンポーネントは生成コンポーネントを含む。生成コンポーネントをプロセッサが実行すると、プロセッサは仮想オブジェクトを含む仮想モデルを生成する。また、生成コンポーネントによって、プロセッサは、複数の特定可能な点の少なくとも一部に対するユーザ選択を受信し、仮想オブジェクト上のその複数の特定可能な点に基づいて、仮想オブジェクトの配置変換を計算する。さらに、生成コンポーネントによって、プロセッサは、仮想オブジェクトおよび対応する基準オブジェクトを特定し、仮想オブジェクト上の少なくとも１つの所定の点および基準オブジェクト上の対応する点を特定する。
【００４０】
コンポーネントは、また、取得コンポーネントを含む。取得コンポーネントをプロセッサが実行すると、プロセッサは、仮想オブジェクトに対応する、現実場面内の現実のオブジェクトの少なくとも１つのデジタル画像を取得する。さらに、コンポーネントは補正コンポーネントを含む。補正コンポーネントをプロセッサが実行すると、プロセッサは、仮想オブジェクト上の少なくとも１つの所定の点と現実のオブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算し、その画像上の位置の相違に基づいて仮想オブジェクトの位置および／または向きを調整し、仮想オブジェクトの補正した配置に対して仮想モデルを調整する。また、補正コンポーネントによって、プロセッサは、基準オブジェクトの点が現実の基準オブジェクの点とほぼ一致するように、ビュー回転、ビュー平行移動、および／またはビューズームの細かい修正によって、３Ｄ仮想ビューのプログラムでの調整を行う。次に、補正コンポーネントによって、プロセッサは、基準オブジェクト上の少なくとも１つの所定の点と現実の基準オブジェクト上の少なくとも１つの対応する点との画像上の位置の相違を計算する。一部の実施形態においては、補正コンポーネントによって、プロセッサは、画像上の位置の相違全てを組み合わせたものを最小化するように、仮想オブジェクトの配置変換を繰り返す。
【００４１】
本発明を例示のコンピュータシステム環境に関連して記載したが、本発明の実施形態は、多くの他の汎用もしくは特定用途のコンピュータシステム環境またはコンピュータシステム構成と共に動作可能である。コンピュータシステム環境は、本発明のいかなる態様の使用または機能の範囲にも限定されない。さらに、コンピュータシステム環境は、例示の動作環境に示すコンポーネントの任意の１つまたは組合せに依存すると解釈するべきでなく、それらを必要とするとも解釈するべきではない。本発明の態様に使用するのに適切と思われる周知のコンピュータシステム、コンピュータ環境および／またはコンピュータ構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、携帯電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスの任意のシステムまたはデバイスを含む分散コンピュータ環境等を含むが、それらに限らない。
【００４２】
本発明の実施形態は、プログラムコンポーネントまたはプログラムモジュール等の、１つまたは複数のコンピュータまたは他のデバイスで実行されるコンピュータ実行可能命令という一般的状況で記載してよい。本発明の態様は、任意の数および編成のコンポーネントまたはモジュールで実施してよい。例えば、本発明の態様は、図に図示されて本明細書に記載された、特定のコンピュータ実行可能命令、または、特定のコンポーネントもしくは特定のモジュールに限定されない。本発明の代替実施形態は、図示されて本明細書に記載された機能より多いまたは少ない機能を有する、様々なコンピュータ実行可能命令またはコンポーネントを含んでよい。
【００４３】
図示されて本明細書に記載された本発明の実施形態の動作の実行の順序は、特段の記載のない限り、必須ではない。すなわち、動作は、特段の記載のない限り、任意の順序で行ってよく、かつ、本発明の実施形態は、本明細書に記載の動作に追加の動作を含んでもよく、記載の動作より少ない動作を含んでもよい。例えば、ある特定の動作を別の動作の前、同時、または後に実行することは本発明の態様の範囲内にあるものとする。
【００４４】
本発明の態様または本発明の実施形態の要素を述べるとき、冠詞「１つの」「１つの」「その」および「前記」は、１つまたは複数の要素があることを意味する。「備える」「含む」「有する」等の語は、包括的な語であって、列挙した要素以外に追加の要素があってよいことを意味する。
【００４５】
この明細書では例を用いて、最良の形態を含む本発明を開示し、それによって、当業者が、任意のデバイスまたはシステムを構築、使用すること、任意の援用した方法を実行すること等、発明を実践することを可能にする。本発明の特許可能な範囲は請求項により定義され、当業者が着想する他の例を含んでよい。このような他の例は、請求項の文言と異ならない構造的要素を有する場合、または、請求項の文言から少ししか相違しない同等な構造的要素を含む場合、請求項の範囲内にある。
【００４６】
本発明を特に例示の実施形態に関連して示し記載したが、添付請求項により網羅される本発明の範囲を逸脱することなく、形態、詳細を様々に変更してよいことは、当業者に理解されよう。
【図１】
2014123376.tif 000003
【図２】
2014123376.tif 000004
【図３】
2014123376.tif 000005
【図４Ａ】
2014123376.tif 000006
【図４Ｂ】
2014123376.tif 000007
【図４Ｃ】
2014123376.tif 000008
【図４Ｄ】
2014123376.tif 000009
【図４Ｅ】
2014123376.tif 000010
【図４Ｆ】
2014123376.tif 000011
【図４Ｇ】
2014123376.tif 000012
【図５】
2014123376.tif 000013
【外国語明細書】
2014123376000001.pdf