(57)【要約】  対話型３次元（３Ｄ）バーチャルツアーが、写真などの、通常の２次元（２Ｄ）静止画像から生成される。２つ以上の２Ｄ画像が組み合わされて、３Ｄ空間内での、２Ｄ画像間の関係を規定する、３Ｄ情景を形成する。３Ｄパイプが、規定される空間関係に従って、また、１つの画像から次の画像へのバーチャルカメラの移動を導くために、２Ｄ画像を互いに接続する。ユーザーは、その３Ｄの情景の内部で画像を横断することによって、例えば、ユーザーの入力に応答して、または自動的に、１つの画像から別の画像へと３Ｄパイプに沿って移動することによって、３Ｄバーチャルツアーを行なうことができる。様々な実施形態では、一部または全ての２Ｄ画像を選択的に歪めて、３Ｄ効果を増強させることにより、ユーザーが３Ｄ空間の内部を移動しているという印象を補強することができる。１つの画像から次の画像への移行は、明示的なユーザーとの対話処理を必要とすることなく、自動的に実施することができる。【選択図】図２Ａ、図２Ｂ、図６
2014504384.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの２次元画像からバーチャルツアーを生成するための、コンピュータ実装方法であって、
プロセッサで、バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立することと、
前記プロセッサで、前記バーチャル３次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、
フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の最初のカメラ視野を生成することと、
前記最初のカメラ視野を出力デバイスに出力することと、
前記プロセッサで、前記バーチャル３次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することと、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の変更されたカメラ視野を生成することと、
前記変更されたカメラ視野を前記出力デバイスに出力することと、
を含む、コンピュータ実装方法。
【請求項２】
バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、少なくとも１つの２次元画像からの距離で、最初の位置を確立することを含み、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項１に記載のコンピュータ実装方法。
【請求項３】
２次元画像のそれぞれが、物理的場所の視界を含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
入力デバイスで、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを制御するための、ユーザー入力を受け取ることを更に含み、
前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することが、前記受け取られたユーザー入力に応答して実行される、
請求項１に記載のコンピュータ実装方法。
【請求項５】
前記プロセッサで、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定することを更に含み、
前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、前記画定されたバーチャルケージの内部での位置を確立することを含み、
前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することが、前記制約の侵害を防止することを含む、
請求項１に記載のコンピュータ実装方法。
【請求項６】
前記バーチャルケージを画定することが、
バーチャルカメラの場所と、少なくとも１つの２次元画像の２つの縁部とを結ぶことによって、前記バーチャルケージの少なくとも２つの側壁部を画定することと、
前記バーチャルケージの出口ポータルの場所を画定することであって、前記出口ポータルが少なくとも２つの縁部を有することと、
前記２つの側壁部と前記出口ポータルの2つの縁部とを結ぶことによって、前記バーチャルケージの、少なくとも２つの更なる壁部を画定することと、
を含む、請求項５に記載のコンピュータ実装方法。
【請求項７】
前記バーチャルケージを画定することが、前記バーチャルケージの出口ポータルの場所を画定することを更に含み、
前記プロセッサで、前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定することであって、前記パイプが、開始点および終了点を有することと、
前記プロセッサで、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定することと、
前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、
前記プロセッサで、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させることと、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成することと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することと、
を更に含む、請求項５に記載のコンピュータ実装方法。
【請求項８】
少なくとも１つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、
請求項７に記載のコンピュータ実装方法。
【請求項９】
前記プロセッサで、第１の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第１のバーチャルケージを画定することと、
前記プロセッサで、第２の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第２のバーチャルケージを画定することと、
を更に含み、
前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、前記画定された第１のバーチャルケージの内部での位置を確立することを含み、
前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することが、前記制約の侵害を防止することを含む、
請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記第１のバーチャルケージを画定することが、前記第１のバーチャルケージの出口ポータルの場所を画定することを更に含み、
前記第２のバーチャルケージを画定することが、前記第２のバーチャルケージの入口ポータルの場所を画定することを更に含み、
前記プロセッサで、前記第１のバーチャルケージの前記出口ポータルから、前記第２のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のためのパイプを画定することであって、前記パイプが、前記第１のバーチャルケージの前記出口ポータルに対応する開始点、および前記第２のバーチャルケージの前記入口ポータルに対応する終了点を有することと、
前記プロセッサで、前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応するか否かを判定することと、
前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、
前記プロセッサで、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させることと、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成することと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することと、
前記第２のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、
を更に含む、
請求項９に記載のコンピュータ実装方法。
【請求項１１】
少なくとも１つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、
請求項１０に記載のコンピュータ実装方法
【請求項１２】
前記第１のバーチャルケージを画定することが、
前記第１のバーチャルケージの第１の出口ポータルの場所を画定することと、
前記第１のバーチャルケージの第２の出口ポータルの場所を画定することと、
を含み、
前記第２のバーチャルケージを画定することが、前記第２のバーチャルケージの入口ポータルの場所を画定することを含み、
前記プロセッサで、第３の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第３のバーチャルケージを画定することと、
前記プロセッサで、前記第３のバーチャルケージの入口ポータルの場所を画定することと、
前記プロセッサで、前記第１のバーチャルケージの前記第１の出口ポータルから、前記第２のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のための第１のパイプを画定することであって、前記第１のパイプが、前記第１のバーチャルケージの前記第１の出口ポータルに対応する開始点、および前記第２のバーチャルケージの前記入口ポータルに対応する終了点を有することと、
前記プロセッサで、前記第１のバーチャルケージの前記第２の出口ポータルから、前記第３のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のための第２のパイプを画定することであって、前記第２のパイプが、前記第１のバーチャルケージの前記第２の出口ポータルに対応する開始点、および前記第３のバーチャルケージの前記入口ポータルに対応する終了点を有することと、
前記プロセッサで、前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの出口ポータルの、１つの前記画定された場所に対応するか否かを判定することと、
前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記第１の出口ポータルの前記画定された場所に対応することに応答して、
前記プロセッサで、前記バーチャルカメラを、前記第１のパイプの前記開始点から前記終了点まで、自動的に移動させることと、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記第１のパイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成することと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することと、
前記第２のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、
前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記第２の出口ポータルの前記画定された場所に対応することに応答して、
前記プロセッサで、前記バーチャルカメラを、前記第２のパイプの前記開始点から前記終了点まで、自動的に移動させることと、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記第２のパイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成することと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することと、
前記第３のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、
を更に含む、
請求項９に記載のコンピュータ実装方法。
【請求項１３】
少なくとも１つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、
請求項１２に記載のコンピュータ実装方法。
【請求項１４】
前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することが、自動的に実行される、請求項１に記載のコンピュータ実装方法。
【請求項１５】
前記バーチャルケージを画定することが、
前記バーチャルケージの入口ポータルの場所を画定することと、
前記バーチャルケージの出口ポータルの場所を画定することと、
を含み、
前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することが、前記入口ポータルから前記出口ポータルへと、前記バーチャルカメラを自動的に移動させることを含み、
前記フレームバッファで、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記入口ポータルから前記出口ポータルへと移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成することと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することと、
を更に含む、
請求項１４に記載のコンピュータ実装方法。
【請求項１６】
少なくとも１つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記入口ポータルから前記出口ポータルへと移動する際の、一連の更なるカメラ視野を生成することを含み、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、
請求項１５に記載のコンピュータ実装方法。
【請求項１７】
バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立することが、少なくとも第１の２次元画像ならびに第２の２次元画像に関する、位置および配向を確立することを含み、
前記最初のカメラ視野が、前記第１の２次元画像の少なくとも一部分を含み、
前記変更されたカメラ視野が、前記第２の２次元画像の少なくとも一部分を含む、
請求項１に記載のコンピュータ実装方法。
【請求項１８】
前記ユーザーによる入力がない場合に、前記最初のカメラ視野と前記変更されたカメラ視野との間の移行を、前記出力デバイスに自動的に出力することを更に含む、請求項１７に記載のコンピュータ実装方法。
【請求項１９】
前記最初のカメラ視野および前記変更されたカメラ視野の少なくとも一方が、前記第１の２次元画像の少なくとも一部分と前記第２の２次元画像の少なくとも一部分との組み合わせを含む、請求項１７に記載のコンピュータ実装方法。
【請求項２０】
記憶デバイスで、カメラ視野を表す一連のフレームを記憶することを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項２１】
カメラ視野を表す一連のフレームを記憶することが、ビデオファイルを記憶することを含む、請求項２０に記載のコンピュータ実装方法。
【請求項２２】
電子ネットワークを通じて、前記記憶されたビデオファイルを伝送することを更に含む、請求項２１に記載のコンピュータ実装方法。
【請求項２３】
前記少なくとも１つの２次元画像の最初のカメラ視野を生成することが、前記少なくとも１つの２次元画像に変換を適用することを含む、請求項１に記載のコンピュータ実装方法。
【請求項２４】
変換を適用することが、前記少なくとも１つの２次元画像に対する、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つに基づいて、変換を適用することを含む、請求項２３に記載のコンピュータ実装方法。
【請求項２５】
変換を適用することが、メッシュ変形を適用することを含む、請求項２４に記載のコンピュータ実装方法。
【請求項２６】
前記ことのうちの少なくとも１つが、クライアントのデバイスで実行され、前記ことのうちの少なくとも１つが、前記クライアントのデバイスに対して遠隔配置されるサーバで実行される、請求項１に記載のコンピュータ実装方法。
【請求項２７】
サーバで、バーチャルツアーを含むウェブページに関する、クライアントの機械からの要求を受け取ることと、
前記受け取られた要求に応答して、前記クライアントの機械に、バーチャルツアーを含むウェブページを送信することであって、前記バーチャルツアーが、少なくとも前記最初のカメラ視野および前記変更されたカメラ視野を含むことと、
を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項２８】
少なくとも２つの２次元画像からバーチャルツアーを作成するための、コンピュータ実装方法であって、
入力デバイスで、少なくとも２つの２次元画像を選択するユーザー入力を受け取ることと、
前記入力デバイスで、前記２次元画像の少なくとも１つと前記２次元画像の少なくとも別の１つとの間の、少なくとも１つの移行を選択するユーザー入力を受け取ることと、
プロセッサで、バーチャル３次元空間内での、前記少なくとも２つの２次元画像に関する位置および配向を確立することであって、前記位置および配向が、前記選択された少なくとも１つの移行に基づいて確立されることと、
前記プロセッサで、バーチャル３次元空間内での前記少なくとも２つの２次元画像に関する、前記確立された位置および配向に基づいて、前記２次元画像の少なくとも１つから前記２次元画像の少なくとももう１つへの、探査経路を規定することと、
記憶デバイスで、前記２次元画像、前記選択された少なくとも１つの移行、および前記規定された探査経路を、バーチャルツアーとして記憶することと、
を含む、コンピュータ実装方法。
【請求項２９】
少なくとも２つの２次元画像を選択するユーザー入力を受け取ることが、少なくとも２つの連続的な２次元画像を取得するための、ユーザー入力を受け取ることを含む、
請求項２８に記載のコンピュータ実装方法。
【請求項３０】
前記プロセッサで、前記バーチャル３次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、
前記プロセッサで、前記規定された探査経路を、前記バーチャルカメラに横断させることと、
フレームバッファで、前記バーチャルカメラの、前記探査経路を横断する際の、前記位置、配向、およびズームレベルに基づいて、前記少なくとも２つの２次元画像の一連のカメラ視野を生成することと、
前記生成された一連のカメラ視野を出力することと、
を更に含む、請求項２８に記載のコンピュータ実装方法。
【請求項３１】
少なくとも１つの２次元画像からバーチャルツアーを生成するためのシステムであって、
プロセッサであって、
バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立し、
前記バーチャル３次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、
前記バーチャル３次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更するように構成される、プロセッサと、
フレームバッファであって、前記プロセッサに通信できるように結合され、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の最初のカメラ視野を生成し、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の変更されたカメラ視野を生成するように構成される、フレームバッファと、
出力デバイスであって、前記フレームバッファに通信できるように結合され、
前記最初のカメラ視野を出力し、
前記変更されたカメラ視野を出力するように構成される、出力デバイスと、
を含む、システム。
【請求項３２】
前記プロセッサが、少なくとも１つの２次元画像からの距離で、最初の位置を確立することによって、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立するように更に構成され、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項３１に記載のシステム。
【請求項３３】
２次元画像のそれぞれが、物理的場所の視界を含む、請求項３１に記載のシステム。
【請求項３４】
前記プロセッサに通信できるように結合され、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを制御するためのユーザー入力を受け取るように構成される、入力デバイスを更に含み、
前記プロセッサが、前記受け取られたユーザー入力に応答して、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更するように更に構成される、
請求項３１に記載のシステム。
【請求項３５】
前記プロセッサが、
前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定し、
前記画定されたバーチャルケージの内部での位置を確立することによって、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、
前記制約の侵害を防止することによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更するように更に構成される、
請求項３１に記載のシステム。
【請求項３６】
前記プロセッサが、
前記バーチャルケージの出口ポータルの場所を画定することによって、前記バーチャルケージを画定し、
前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定し、前記パイプが、開始点および終了点を有し、
前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定し、
前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させるように更に構成され、
前記フレームバッファが、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成するように更に構成され、
前記出力デバイスが、前記少なくとも１つの更なるカメラ視野を出力するように更に構成される、
請求項３５に記載のシステム。
【請求項３７】
前記プロセッサが、
第１の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第１のバーチャルケージを画定し、
第２の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第２のバーチャルケージを画定し、
前記画定された第１のバーチャルケージの内部での位置を確立することによって、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、
前記制約の侵害を防止することによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更するように更に構成される、
請求項３１に記載のシステム。
【請求項３８】
前記プロセッサが、
前記第１のバーチャルケージの出口ポータルの場所を画定することによって、前記第１のバーチャルケージを画定し、
前記第２のバーチャルケージの入口ポータルの場所を画定することによって、前記第２のバーチャルケージを画定し、
前記第１のバーチャルケージの前記出口ポータルから、前記第２のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のためのパイプを画定し、前記パイプが、前記第１のバーチャルケージの前記出口ポータルに対応する開始点、および前記第２のバーチャルケージの前記入口ポータルに対応する終了点を有し、
前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応するか否かを判定し、
前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、
前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させ
前記第２のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立するように更に構成され、
前記フレームバッファが、前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成するように更に構成され、
前記出力デバイスが、前記少なくとも１つの更なるカメラ視野を出力するように更に構成される、
請求項３７に記載のシステム。
【請求項３９】
前記プロセッサが、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを、自動的に変更するように更に構成される、請求項３１に記載のシステム。
【請求項４０】
前記プロセッサが、
前記バーチャルケージの入口ポータルの場所を画定し、前記バーチャルケージの出口ポータルの場所を画定することによって、前記バーチャルケージを画定し、
前記入口ポータルから前記出口ポータルへと、前記バーチャルカメラを自動的に移動させることによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更するように更に構成され、
前記フレームバッファが、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記入口ポータルから前記出口ポータルへと移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成するように更に構成され、
前記出力デバイスが、前記少なくとも１つの更なるカメラ視野を出力するように更に構成される、
請求項３９に記載のシステム。
【請求項４１】
前記プロセッサが、少なくとも第１の２次元画像ならびに第２の２次元画像に関する、位置および配向を確立することによって、バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立するように更に構成され、
前記最初のカメラ視野が、前記第１の２次元画像の少なくとも一部分を含み、
前記変更されたカメラ視野が、前記第２の２次元画像の少なくとも一部分を含む、
請求項３１に記載のシステム。
【請求項４２】
前記出力デバイスが、前記ユーザーによる入力がない場合に、前記最初のカメラ視野と前記変更されたカメラ視野との間の移行を、自動的に出力するように更に構成される、請求項４１に記載のシステム。
【請求項４３】
前記最初のカメラ視野および前記変更されたカメラ視野の少なくとも一方が、前記第１の２次元画像の少なくとも一部分と前記第２の２次元画像の少なくとも一部分との組み合わせを含む、請求項４１に記載のシステム。
【請求項４４】
前記プロセッサに通信できるように結合され、カメラ視野を表す一連のフレームを記憶するように構成される記憶デバイスを更に含む、
請求項３１に記載のシステム。
【請求項４５】
前記フレームバッファが、前記少なくとも１つの２次元画像に変換を適用することによって、前記少なくとも１つの２次元画像の最初のカメラ視野を生成するように更に構成される、請求項３１に記載のシステム。
【請求項４６】
少なくとも２つの２次元画像からバーチャルツアーを作成するシステムであって、
入力デバイスであって、少なくとも２つの２次元画像を選択するユーザー入力を受け取り、前記２次元画像の少なくとも１つと前記２次元画像の少なくとも別の１つとの間の、少なくとも１つの移行を選択するユーザー入力を受け取るように構成される、入力デバイスと、
プロセッサであって、前記入力デバイスに通信できるように結合され、
バーチャル３次元空間内での、前記少なくとも２つの２次元画像に関する位置および配向を確立し、前記位置および配向が、前記選択された少なくとも１つの移行に基づいて確立され、
バーチャル３次元空間内での、前記少なくとも２つの２次元画像に関する、前記確立された位置および配向に基づいて、前記２次元画像の少なくとも１つから前記２次元画像の少なくとも別の１つへの、探査経路を規定するように構成される、プロセッサと、
記憶デバイスであって、前記プロセッサに通信できるように結合され、前記２次元画像、前記選択された少なくとも１つの移行、および前記規定された探査経路を、バーチャルツアーとして記憶するように構成される、記憶デバイスと、
を含む、システム。
【請求項４７】
前記入力デバイスに通信できるように結合され、２次元画像を取得するように構成される、画像取得デバイスを更に含み、
前記入力デバイスが、前記画像取得デバイスに、少なくとも２つの連続的な２次元画像を取得させることによって、少なくとも２つの２次元画像を選択するユーザー入力を受け取るように構成される、
請求項４６に記載のシステム。
【請求項４８】
前記プロセッサが、前記バーチャル３次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、前記規定された探査経路を、前記バーチャルカメラに横断させるように更に構成され、
フレームバッファであって、前記プロセッサに通信できるように結合され、前記バーチャルカメラの、前記探査経路を横断する際の、前記位置、配向、およびズームレベルに基づいて、前記少なくとも２つの２次元画像の一連のカメラ視野を生成するように構成される、フレームバッファと、
出力デバイスであって、前記フレームバッファに通信できるように結合され、前記生成された一連のカメラ視野を出力するように構成される、出力デバイスと、
を更に含む、
請求項４６に記載のシステム。
【請求項４９】
少なくとも１つの２次元画像からバーチャルツアーを生成するための、コンピュータプログラム製品であって、
非一過性コンピュータ可読記憶媒体と、
コンピュータプログラムコードであって、前記媒体上に符号化され、少なくとも１つのプロセッサに、
バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立することと、
前記バーチャル３次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の最初のカメラ視野を生成することと、
前記最初のカメラ視野を出力デバイスに出力させることと、
前記バーチャル３次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更することと、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも１つの２次元画像の変更されたカメラ視野を生成することと、
を実行させるように構成される、コンピュータプログラムコードと、
コンピュータプログラムコードであって、前記媒体上に符号化され、前記変更されたカメラ視野を出力デバイスに出力させるように構成される、コンピュータプログラムコードと、
を含む、コンピュータプログラム製品。
【請求項５０】
少なくとも１つのプロセッサに、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、少なくとも１つの２次元画像からの距離で、最初の位置を確立させるように構成される、コンピュータプログラムコードを含み、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項４９に記載のコンピュータプログラム製品。
【請求項５１】
２次元画像のそれぞれが、物理的場所の視界を含む、請求項４９に記載のコンピュータプログラム製品。
【請求項５２】
入力デバイスに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを制御するための、ユーザー入力を受け取らせるように構成される、前記コンピュータプログラムコードを更に含み、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更させるように構成される、前記コンピュータプログラムコードが、前記受け取られたユーザー入力に応答して動作する、
請求項４９に記載のコンピュータプログラム製品。
【請求項５３】
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定させるように構成される、コンピュータプログラムコードを更に含み、
少なくとも１つのプロセッサに、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記画定されたバーチャルケージの内部での位置を確立させるように構成される、コンピュータプログラムコードを含み、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記制約の侵害を防止させるように構成される、コンピュータプログラムコードを含む、
請求項４９に記載のコンピュータプログラム製品。
【請求項５４】
少なくとも１つのプロセッサに、前記バーチャルケージを画定させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記バーチャルケージの出口ポータルの場所を画定させるように構成される、コンピュータプログラムコードを更に含み、
少なくとも１つのプロセッサに、前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定させるように構成される、コンピュータプログラムコードであって、前記パイプが、開始点および終了点を有する、コンピュータプログラムコードと、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定させるように構成される、コンピュータプログラムコードと、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、
前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させ、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成させるように構成される、コンピュータプログラムコードと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力させるように構成される、コンピュータプログラムコードと、
を更に含む、請求項５３に記載のコンピュータプログラム製品。
【請求項５５】
少なくとも１つのプロセッサに、第１の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第１のバーチャルケージを画定させるように構成される、コンピュータプログラムコードと、
少なくとも１つのプロセッサに、第２の２次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第２のバーチャルケージを画定させるように構成される、コンピュータプログラムコードと、
を更に含み、
少なくとも１つのプロセッサに、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記画定された第１のバーチャルケージの内部での位置を確立させるように構成される、コンピュータプログラムコードを含み、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記制約の侵害を防止させるように構成される、コンピュータプログラムコードを含む、
請求項４９に記載のコンピュータプログラム製品。
【請求項５６】
少なくとも１つのプロセッサに、前記第１のバーチャルケージを画定させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記第１のバーチャルケージの出口ポータルの場所を画定させるように構成される、コンピュータプログラムコードを更に含み、
少なくとも１つのプロセッサに、前記第２のバーチャルケージを画定させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記第２のバーチャルケージの入口ポータルの場所を画定させるように構成される、コンピュータプログラムコードを更に含み、
少なくとも１つのプロセッサに、前記第１のバーチャルケージの前記出口ポータルから、前記第２のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のためのパイプを画定させるように構成される、コンピュータプログラムコードであって、前記パイプが、前記第１のバーチャルケージの前記出口ポータルに対応する開始点、および前記第２のバーチャルケージの前記入口ポータルに対応する終了点を有するコンピュータプログラムコードと、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応するか否かを判定させるように構成される、コンピュータプログラムコードと、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置が、前記第１のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、
前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させ、
前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成させ、
前記第２のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立させるように構成される、コンピュータプログラムコードと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力させるように構成される、コンピュータプログラムコードと、
を更に含む、
請求項５５に記載のコンピュータプログラム製品。
【請求項５７】
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更させるように構成される、前記コンピュータプログラムコードが、自動的に動作する、請求項４９に記載のコンピュータプログラム製品。
【請求項５８】
少なくとも１つのプロセッサに、前記バーチャルケージを画定させるように構成される、前記コンピュータプログラムコードが、
少なくとも１つのプロセッサに、前記バーチャルケージの入口ポータルの場所を画定させるように構成される、コンピュータプログラムコードと、
少なくとも１つのプロセッサに、前記バーチャルケージの出口ポータルの場所を画定させるように構成される、コンピュータプログラムコードと、
を更に含み、
少なくとも１つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも１つを変更させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記入口ポータルから前記出口ポータルへと、前記バーチャルカメラを自動的に移動させるように構成される、コンピュータプログラムコードを含み、
少なくとも１つのプロセッサに、前記少なくとも１つの２次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記入口ポータルから前記出口ポータルへと移動する際の、少なくとも１つの位置、配向、およびズームレベルに基づいて、少なくとも１つの更なるカメラ視野を生成させるように構成される、コンピュータプログラムコードと、
前記少なくとも１つの更なるカメラ視野を、前記出力デバイスに出力させるように構成される、コンピュータプログラムコードと、
を更に含む、
請求項５７に記載のコンピュータプログラム製品。
【請求項５９】
少なくとも１つのプロセッサに、バーチャル３次元空間内での、前記少なくとも１つの２次元画像に関する位置および配向を確立させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、少なくとも第１の２次元画像ならびに第２の２次元画像に関する、位置および配向を確立させるように構成される、コンピュータプログラムコードを含み、
前記最初のカメラ視野が、前記第１の２次元画像の少なくとも一部分を含み、
前記変更されたカメラ視野が、前記第２の２次元画像の少なくとも一部分を含む、
請求項４９に記載のコンピュータプログラム製品。
【請求項６０】
前記ユーザーによる入力がない場合に、前記最初のカメラ視野と前記変更されたカメラ視野との間の移行を、前記出力デバイスに自動的に出力させるように構成される、コンピュータプログラムコードを更に含む、請求項５９に記載のコンピュータプログラム製品。
【請求項６１】
前記最初のカメラ視野および前記変更されたカメラ視野の少なくとも一方が、前記第１の２次元画像の少なくとも一部分と前記第２の２次元画像の少なくとも一部分との組み合わせを含む、請求項５９に記載のコンピュータプログラム製品。
【請求項６２】
記憶デバイスに、カメラ視野を表す一連のフレームを記憶させるように構成される、コンピュータプログラムコードを更に含む、
請求項４９に記載のコンピュータプログラム製品。
【請求項６３】
少なくとも１つのプロセッサに、前記少なくとも１つの２次元画像の最初のカメラ視野を生成させるように構成される、前記コンピュータプログラムコードが、少なくとも１つのプロセッサに、前記少なくとも１つの２次元画像に変換を適用させるように構成される、コンピュータプログラムコードを含む、請求項４９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれる、２０１０年１０月２６日出願の、米国仮特許出願第６１／４０６，９４０号、「ＧＥＮＥＲＡＴＩＮＧ  ＴＨＲＥＥ−ＤＩＭＥＮＳＩＯＮＡＬ  ＶＩＲＴＵＡＬ  ＴＯＵＲＳ  ＦＲＯＭ  ＴＷＯ−ＤＩＭＥＮＳＩＯＮＡＬ  ＩＭＡＧＥＳ」の優先権を主張する。
【０００２】
本出願は、参照により本明細書に組み込まれる、２０１１年９月７日出願の、米国実用特許出願第１３／２２６，６９５号、「ＧＥＮＥＲＡＴＩＮＧ  ＴＨＲＥＥ−ＤＩＭＥＮＳＩＯＮＡＬ  ＶＩＲＴＵＡＬ  ＴＯＵＲＳ  ＦＲＯＭ  ＴＷＯ−ＤＩＭＥＮＳＩＯＮＡＬ  ＩＭＡＧＥＳ」の優先権を更に主張する。
【０００３】
本発明は、物理的な場所を表すバーチャルツアーの生成および提示に関する。
【背景技術】
【０００４】
バーチャルツアーは、物理的な場所または所在地の種々の部分を、種々の透視図法から、種々の方向で視認するための機構を、ユーザーに提供する。バーチャルカメラが、部屋から部屋へと移動して、方向を変え、空間内の特定の地点から種々の方向で視界を提示し、かつユーザーがバーチャルツアーに関与することを可能にする他の動作を実行する。一部の場合には、ユーザーは、そのバーチャルカメラの移動、配向、および焦点距離を制御することができる。
【０００５】
そのようなバーチャルツアーは、ユーザーが種々の角度および視点から物理的所在地を視認することが有利であり得る、多種多様な状況で有用である。バーチャルツアーで提示することができる物理的所在地の例としては、以下のものが挙げられる。
・販売用の家または他の不動産
・ホテルの部屋またはクルーズ船の客室
・博物館、美術館、または他の観光地
・作業訓練用の原子力発電所
・ストリートビュー
【０００６】
バーチャルツアーは、ウェブサイトを介して、ワールドワイドウェブ上で提供される場合が多い。そのようなウェブベースのバーチャルツアーは、例えばＡＤＯＢＥ  ＦＬＡＳＨなどの、任意の好適な形式を介して提示することができる。
【０００７】
バーチャルツアーは、多数のデジタル写真を繋ぎ合わせることによって作成される場合が多い。デジタルカメラは、様々な配向で画像を取得することができるように、様々な位置に回転させることができる。一部の場合には、物理的場所の床から天井までの視界を可能にする魚眼レンズなどの、専用機器を使用することができる。いずれの場合にも、バーチャルツアーの作成は、特定の画像のセットを取得することと、それらの取得画像が、バーチャルツアーの作成に利用することができる、互いに規定された空間関係を有することとを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ある１つの場所または情景を対象範囲とする、デジタル写真の完全なセットを使用する場合であっても、殆どの既存の技術では、没入型の３次元バーチャルツアーを提供することは不可能である。反対に、一般的には、そのようなツアーを生成することができるのは、専用機器を使用して、環境の３次元モデルを作成する場合のみであり、そのような機器は、高コストで、使用が困難であり、一般のユーザーには容易に利用することができない。したがって、高品質のバーチャルツアーは、一般的には、そのような機器を導入して使用することができる物理的場所に関してのみ可能である。物理的場所の３次元モデルを取得する能力を有さないため、バーチャルツアーの生成に関する従来の方法は、十分な没入方のツアーを生成するための機構を提供することができない。
【０００９】
更には、バーチャルツアーの提供に関する既存の技術は、十分なユーザー体験を提供するために著しい量のデータを伝送しなければならないため、全般的に、多大な帯域幅を消費する。
【００１０】
更には、ツアーの一態様または一部分の変更には、一般に、そのツアー全体の再描画が必要となるため、バーチャルツアーに変更を加えることは、困難である場合が多い。
【００１１】
更には、バーチャルツアーの提供に関する既存の技術は、全般的には、ユーザーがマウスをドラッグするか、またはキーボード上のキーを押すことによって、情景内をナビゲートすることを必要とする。１つの画像から次の画像への移行は、ユーザーの動作に応答して実施される。従来の機構は、全般的には、１つの画像から次の画像への移行が、ユーザー入力を必要とすることなく自動的に実施される技術を提供するものではない。
【００１２】
更には、バーチャルツアーの提供に関する多くの既存の技術は、１つの画像から次の画像へと移行する際に、不連続部を生じさせ、この不連続部により、ユーザーは、自身の空間的基準を喪失させられる恐れがある。
【課題を解決するための手段】
【００１３】
本発明の様々な実施形態によれば、対話型の３次元（３Ｄ）バーチャルツアーが、写真などの、通常の２次元（２Ｄ）静止画像から生成される。２つ以上の２Ｄ画像が組み合わされて、３次元空間内での、それらの２Ｄ画像間の関係を規定する、３Ｄ情景を形成する。規定される空間関係に従って、２Ｄ画像を互いに接続するために、また、１つの画像から次の画像への、バーチャルカメラの移動を導くために、３Ｄパイプが画定される。３Ｄパイプが画定されると、ユーザーは、その３Ｄの情景の内部で画像を横断することによって、例えば１つの画像から別の画像へと３Ｄパイプに沿って移動することによって、３Ｄバーチャルツアーを行なうことができる。
【００１４】
様々な実施形態では、一部または全ての２Ｄ画像を、選択的に歪めるか、もしくは他の方法で変換して、３Ｄ効果を増強することにより、ユーザーが３Ｄ空間の内部を移動しているという印象を補強することができる。
【００１５】
様々な実施形態では、３Ｄバーチャルツアー内をナビゲートするための、種々の機構を提供することができる。情景を通過するバーチャルな移動を制御する機会を、ユーザーに提供することができる。あるいは、情景内でのナビゲーションが、ユーザーとの対話処理を必要とすることなく自動的に実施される、インターフェースを提供することができる。一実施形態では、ナビゲーションは、自動的に、パイプおよび写真を通過して移動し、パイプを横断する際に２Ｄ画像間の移行を開始することによって達成される。１つの画像から次の画像への移行は、それゆえ、ユーザー入力を必要とすることなく、自動的に実施することができる。
【００１６】
様々な実施形態によれば、本明細書で説明されるように、３Ｄ情景を符号化して記憶するためのファイル形式が定義される。この３Ｄ情景ファイルから、３Ｄ対話型バーチャルツアーを生成するための、方法およびユーザーインターフェースもまた説明される。
【００１７】
様々な実施形態によれば、２つ以上の画像ファイルの内部に、それらの画像ファイル間の３Ｄ空間関係を説明するためのデータを埋め込むことができる。
【００１８】
様々な実施形態によれば、本発明のシステムおよび方法は、地理位置情報によって地図上に位置決めされる３６０°パノラマ写真に基づく、ＧＯＯＧＬＥ  ＳＴＲＥＥＴ  ＶＩＥＷおよびＢＩＮＧ  ＳＴＲＥＥＴＳＩＤＥなどの、パノラマ式景観を提供するための他の技術に勝る、幾つかの有利点を提供する。例えば、一実施形態では、本発明のシステムおよび方法により、ユーザーは、２Ｄ画像を使用して作成されるバーチャル３Ｄ環境の内部で移動することが可能になる。一実施形態では、１つの画像から次の画像への移行は、ユーザーが、パイプの前面ドアと交差する際に実施され、ユーザーは、そのような移行を開始するために、いずれの明示的な命令を実行する必要がない。この技術は、「クリックなしナビゲーション」（ＮＷＣ）と称される。
【００１９】
更には、一実施形態では、本発明のシステムおよび方法により、生成するために特別な機器が必要となる場合があるパノラマ画像を必要とすることなく、通常のデジタルカメラで取得される２Ｄ画像から、３Ｄバーチャルツアーを生成することが可能になる。３Ｄバーチャルツアーは、ビデオのソースファイルを必要とすることなく、静止画像から生成することができる。更には、本発明によって生成される３Ｄバーチャルツアーは、ビデオをストリーミングすることによって消費されるよりも小さい帯域幅が使用され、かつ多くの既存のバーチャルツアーシステムよりも小さい帯域幅が使用される、クライアント／サーバ環境で提供することができる。３Ｄバーチャルツアーのサイズは、同じ物理的領域を対象範囲とするビデオよりも、著しく小さいものにすることができる。更には、２Ｄ画像は、新たな画像に置き換えることができ、次にその新たな画像を使用して、新たなバーチャルツアーを生成することができるため、容易に変更を加えることができる。
【００２０】
様々な実施形態によれば、本発明のシステムおよび方法を使用して、多種多様な用途に関する３Ｄバーチャルツアーを生成することができる。例としては、不動産、旅行、教育、オンラインショッピング、グリーティングカード、人々、博物館、大学キャンパス、競技場、クルーズ、ホテル、行楽地、産業施設、レストラン、カフェ、店舗、教室、ゲーム、バーチャルトレーニングなどが挙げられる。これらのうちのいずれも、ネットワーク化、分散化、ウェブ対応化、および／または独立型のいずれかの、任意の既知のアーキテクチャーで構成することができ、パーソナルコンピュータ、モバイルデバイス、キオスク、および／または任意の電子デバイスを使用してアクセスすることができる。当業者には、このリストは単に例示的なものであり、本発明の技術は、３Ｄバーチャルツアーを生成することが有用であり得る、いずれの状況においても実装することができる点が理解されるであろう。
【００２１】
添付される図面は、本発明の幾つかの実施形態を示し、説明と併せて、その実施形態による本発明の原理を説明するために役立つ。当業者には、図面に示される具体的な実施形態は、単に例示的なものであり、本発明の範囲を限定するものではないことが理解されるであろう。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態による、３Ｄ対話型バーチャルツアーを生成するための、３Ｄ情景の実施例を示す。
【図２Ａ】本発明の一実施形態による、３Ｄ情景の構成要素を示す。
【図２Ｂ】本発明の一実施形態による、より詳細な３Ｄ情景を示す。
【図３】本発明の一実施形態による、３Ｄパイプの内部で誘導されるカメラの移動を示す。
【図４】本発明の一実施形態による、３Ｄ情景を作成および生成するための方法を示す、流れ図である。
【図５】本発明の一実施形態による、３Ｄ情景を説明するためのファイル形式の実施例を示す。
【図６】本発明の一実施形態による、３Ｄ情景から３Ｄ対話型バーチャルツアーを生成するための方法を示す、流れ図である。
【図７】本発明の一実施形態による、独立型コンピューティングデバイス内で、３Ｄ対話型バーチャルツアーを生成するためのシステムに関する、ハードウェアアーキテクチャーを示すブロック図である。
【図８】本発明の一実施形態による、クライアント／サーバ環境内で、３Ｄ対話型バーチャルツアーを生成するためのシステムに関する、ハードウェアアーキテクチャーを示すブロック図である。
【図９Ａ−９Ｄ】本発明の一実施形態による、カメラの移動を制御するためのケージ、ならびに１つの画像から次の画像へとカメラを誘導するためのパイプの、作成および構成の実施例を示す。
【図１０Ａ−１０Ｄ】本発明の一実施形態による、２つの画像１０２Ａ、１０２Ｂが３Ｄ空間内に位置決めされ、ケージおよびパイプが、カメラの移動を制御するように確立されている、実施例を示す。
【図１１】本発明の一実施形態により提供することができる、様々なタイプのパイプのリストの実施例を示す。
【図１２Ａ−１２Ｆ】本発明の一実施形態による、複数のパイプを含む３Ｄ情景の実施例を示す。
【図１３Ａ−１３Ｎ】本発明の一実施形態による、３Ｄ対話型バーチャルツアーを作成するためのユーザーインターフェースに関する、一連のスクリーンショットを示す。
【図１４】本発明の一実施形態による、移動マッピングの実施例を示す。
【図１５Ａ】本発明の一実施形態による、移動マッピングに関するパラメータ化変形曲線の実施例を示す。
【図１５Ｂ−１５Ｇ】本発明の一実施形態による、移動マッピングに関する変形曲線の更なる実施例を示す。
【図１６Ａ−１６Ｉ】種々のパラメータを有する変形曲線を使用して変形されている画像の、様々な実施例を示す。
【図１７Ａ−１７Ｉ】種々のパラメータを有する変形曲線を使用して変形されている画像の、様々な実施例を示す。
【図１８Ａ−１８Ｉ】種々のパラメータを有する変形曲線を使用して変形されている画像の、様々な実施例を示す。
【図１９Ａ−１９Ｉ】種々のパラメータを有する変形曲線を使用して変形されている画像の、様々な実施例を示す。
【図２０Ａ−２０Ｆ】種々のパラメータを有する変形曲線を使用して変形されている画像の、様々な実施例を示す。
【図２１】本発明の一実施形態による、連続的に取得される画像からの、３Ｄ対話型バーチャルツアーのオンザフライ生成に関する方法を示す、流れ図である。
【図２２Ａ−２２Ｅ】本発明の一実施形態による、３Ｄ対話型バーチャルツアーのオンザフライ作成に関する、一連のスクリーンショットを示す。
【発明を実施するための形態】
【００２３】
本発明の様々な実施形態によれば、３Ｄ対話型バーチャルツアーは、写真などの、２つ以上の静止画像から生成される。以下の説明の全体を通して、用語「画像」、「写真」、および「写真画像」を使用するが、しかしながら、当業者には、本発明は、任意の静止画像を使用して実装することができ、写真に限定されるものではないことが理解されるであろう。それゆえ、「画像」、「写真」、および「写真画像」への言及は、任意の静止画像、絵図、写真、見取り図などを包含すると見なすべきである。
【００２４】
本明細書で提供される説明では、以下の用語が使用される。
・２Ｄ画像とは、デジタル画像ファイル内に符号化される、写真などの任意の画像である。
・３Ｄ情景とは、２つ以上の２Ｄ画像間の、３Ｄ空間内での位置および関係を規定する、構成体である。
・カメラとは、３Ｄ情景の内部での焦点距離、位置、および配向の観点から規定される、バーチャルカメラである。ユーザーのためのスクリーン画像は、このカメラの位置および配向、ならびにカメラの視界の範囲内に同時に存在する１つ以上の２Ｄ画像に基づいて生成される。
・ケージとは、２Ｄ画像を視認している間の、許容されるカメラの移動の範囲を規定する、３Ｄ空間内の構成体である。
・３Ｄパイプ、すなわち「パイプ」とは、１つの２Ｄ画像の視界から別の２Ｄ画像の視界へと移動する際に、バーチャルカメラによって横断される、画定された経路である。
・３Ｄ対話型バーチャルツアー、すなわち「３Ｄバーチャルツアー」とは、３Ｄ情景を通過する探査であり、この探査は、ユーザーによって制御することができ、または自動化することもできる。
【００２５】
一実施形態では、３Ｄ情景は、２Ｄ写真間の１つ以上の関係を、３Ｄ空間内で確立することによって生成される。１つの２Ｄ写真から別の２Ｄ写真への移動は、３Ｄパイプの観点から指定される。一実施形態では、３Ｄ情景は、３Ｄ関係を説明する情報を伴う写真を含む、ファイルとして生成される。次いで、その３Ｄ情景を使用して、バーチャルツアーを実装する。他の実施形態では、３Ｄ情景の定義ファイルを、写真自体から分離することができる。
システムアーキテクチャー
【００２６】
様々な実施形態によれば、本発明は、任意の電子デバイス上に、または任意数の電子デバイスを含む電子ネットワーク上に実装することができる。そのような電子デバイスのそれぞれは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン、音楽プレーヤー、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク、ゲームシステムなどとすることができる。後述のように、本発明は、独立型コンピューティングシステムもしくは他の電子デバイス内に、または電子ネットワークを通じて実装されるクライアント／サーバ環境内に実装することができる。２つ以上の電子デバイス間の通信を可能にする電子ネットワークは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュリティ強化ハイパーテキスト転送プロトコル（ＳＨＴＴＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）などのような、周知のネットワークプロトコルを使用して実装することができる。そのようなネットワークは、例えば、インターネットまたはイントラネットとすることができる。ネットワークへの安全なアクセスは、バーチャルプライベートネットワーク（ＶＰＮ）などの周知の技術を介して促進することができる。
【００２７】
本発明は、例えばインターネットを介した３Ｄ対話型バーチャルツアーの提示に関連して、本明細書で説明されるが、当業者には、本発明の技術を、他の関連で、また実際に、２Ｄ画像からの情景の３Ｄ表現を生成することが望ましい任意のシステム内で、実装することができる点が理解されるであろう。したがって、以下の説明は、本発明の様々な実施形態を、特許請求される発明の範囲を限定するためではなく、例として示すものとする。
【００２８】
一実施形態では、本発明は、コンピュータデバイス上で動作するソフトウェアアプリケーションとして実装される。別の実施形態では、本発明は、少なくとも１つのサーバおよび少なくとも１つのクライアントを含む、クライアント／サーバ環境内で動作するソフトウェアアプリケーションとして実装される。例えば、本発明は、３Ｄ対話型バーチャルツアーを提示するためのウェブサイトの一部として、サーバからコンピューティングデバイスにウェブページのセットを送信することによって、実装することができ、そのようなウェブページは、ＡＤＯＢＥ  ＦＬＡＳＨ、ＱＵＩＣＫ  ＴＩＭＥ、ダイナミックＨＴＭＬ（ＤＨＴＭＬ）などを介して提示される、動的コンテンツを含み得る。ユーザーは、コンピュータ、モバイルデバイス（スマートフォンなど）、タブレットコンピュータ、もしくは他のコンピューティングデバイス上で動作する、ブラウザーまたは他のソフトウェアアプリケーションを介して、３Ｄ対話型バーチャルツアーを視認および対話処理することができる。あるいは、本明細書で説明される技術は、任意の他のタイプのコンピューティングデバイス、デバイスの組み合わせ、またはプラットフォーム上に実装することができる。
【００２９】
ここで図７を参照すると、本発明の一実施形態による、独立型コンピューティングデバイス７０１内で、３Ｄ対話型情景バーチャルツアーファイル５０１から３Ｄ対話型バーチャルツアーを生成するためのシステム７００に関する、ハードウェアアーキテクチャーを示すブロック図が示される。
【００３０】
システム７００は、３Ｄ対話型バーチャルツアービューアー７１１を実行するためのプロセッサ８１０を有する、コンピューティングデバイス７０１を含み、この３Ｄ対話型バーチャルツアービューアー７１１を、本明細書で説明される工程を実行するためのソフトウェアとして実装することができる。コンピューティングデバイス７０１は、３Ｄ対話型情景バーチャルツアーファイル５０１を記憶するための、ハードディスクドライブなどの局部記憶装置７１０を含む。
【００３１】
コンピューティングデバイス７０１は、ソフトウェアを動作させるために適合される任意の電子デバイスとすることができ、例えば、コンピューティングデバイス７０１は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン、音楽プレーヤー、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク、ゲームシステムなどとすることができる。一実施形態では、コンピューティングデバイス７０１は、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ＲＥＤＭＯＮＤ，
ＷＡＳＨＩＮＧＴＯＮ）より入手可能なＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）、もしくはＡＰＰＬＥ  ＩＮＣ．（ ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＭＡＣ  ＯＳ  Ｘ、もしくはＡＰＰＬＥ  ＩＮＣ．（
ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＩＯＳ、もしくはＧＯＯＧＬＥ，ＩＮＣ．（ＭＯＵＮＴＡＩＮ  ＶＩＥＷ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＡＮＤＲＯＩＤなどのオペレーティングシステムを動作させる、デスクトップコンピュータまたはモバイルコンピューティングデバイスである。一実施形態では、コンピューティングデバイス７０１は、ＡＰＰＬＥ  ＩＮＣ．（ ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＩＰＨＯＮＥまたはＩＰＡＤである。モバイルプラットフォームに特に適している実装の実施例を、本明細書で説明する。
【００３２】
本発明の技術は、周知の技術によりコンピューティングデバイス７０１上で動作する、ソフトウェアアプリケーション内に実装することができる。例えば、このソフトウェアアプリケーションは、独立型ソフトウェアアプリケーションとするか、あるいはＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ＲＥＤＭＯＮＤ，
ＷＡＳＨＩＮＧＴＯＮ）より入手可能なＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲなどのブラウザーを介して、もしくは専用のウェブベースのクライアントソフトウェアによってアクセス可能な、ウェブベースのアプリケーションまたはウェブサイトとすることができる。
【００３３】
一実施形態では、コンピューティングデバイス７０１は、当業者には周知であるような、多数のハードウェア構成要素を含む。入力デバイス８０３は、キーボード、マウス、タッチスクリーン、トラックボール、トラックパッド、５方向スイッチ、音声入力デバイス、ジョイスティック、および／またはこれらの任意の組み合わせとすることができ、この入力デバイス８０３を使用して、ユーザー８３０は、３Ｄツアーソフトウェア７１１に入力を提供することができる。出力デバイス８０５は、３Ｄツアーの視覚的態様を含めた情報を、ユーザー８３０に対して表示するためのディスプレイ画面とすることができ、かつ／あるいはスピーカー、プリンター、および／またはこれらの任意の組み合わせを含み得る。出力デバイス８０５は、２Ｄまたは３Ｄの出力デバイスとすることができる。コンピューティングデバイス７０１は、グラフィカルユーザーインターフェースを提供するようにプラグラムすることができ、このグラフィカルユーザーインターフェースを通じて、ソフトウェア７１１がユーザー８３０と対話し、また逆も同様である。
【００３４】
プロセッサ８１０は、ソフトウェアの指示下でデータに対する操作を実行するための、周知の技術による、従来のマイクロプロセッサとすることができる。メモリ８１２は、ソフトウェアを動作させる過程でプロセッサ８１０によって使用されるための、当該技術分野では既知であるような構造およびアーキテクチャーを有する、ランダムアクセスメモリとすることができる。局部記憶装置７１０は、デジタル形式でのデータの記憶のための、任意の磁気記憶装置、光学記憶装置、および／または電気記憶装置とすることができ、例としては、フラッシュメモリ、磁気ハードドライブ、ＣＤ−ＲＯＭなどが挙げられる。一実施形態では、局部記憶装置７１０は、バーチャルツアーを提示する際に使用されるデータを含む３Ｄツアーファイル５１０、および／またはバーチャルツアーを提示する過程でプロセッサ８１０によって実行される３Ｄツアーソフトウェア７１１を含む。
【００３５】
当業者には、図７に示すハードウェア要素の具体的な配置構成は、単に例示的なものであり、本発明は、多種多様な方法のうちのいずれかで構成される、種々のハードウェア要素を使用して実装することができる点が理解されるであろう。それゆえ、図７に示す具体的なアーキテクチャーは、単に説明的なものであって、いかなる方法でも本発明の範囲を限定するものではない。
【００３６】
ここで図８を参照すると、本発明の一実施形態による、クライアント／サーバ環境内で本発明を実践するための、ハードウェアアーキテクチャーを示すブロック図が示される。そのようなアーキテクチャーは、例えば、ウェブページまたはウェブベースの３Ｄツアーアプリケーションに関連して、本発明の技術を実装するために、使用することができる。プロセッサ８１０が、周知の技術により、ブラウザー８１３のソフトウェアを動作させる。ブラウザー８１３は、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ＲＥＤＭＯＮＤ，
ＷＡＳＨＩＮＧＴＯＮ）より入手可能なＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲなどの、任意の従来のブラウザーとすることができる。
【００３７】
ネットワーク通信インターフェース８０７は、通信ネットワーク８２３を介した、他のコンピューティングデバイスとの間でのデータの通信を促進する、電子構成要素である。通信ネットワーク８２３は、インターネット、または任意の他の電子通信ネットワークとすることができる。例えば、通信は、ＴＣＰ／ＩＰプロトコルおよびＨＴＴＰプロトコルを使用して、インターネットを介して実装することができる。
【００３８】
サーバ８２１は、ネットワーク８２３を介してコンピューティングデバイス７０１と通信し、一実施形態では、コンピューティングデバイス７０１に対して遠隔配置または手元配置することができる。一実施形態では、サーバ８２１は、データ記憶８２２に関連付けられ、このデータ記憶８２２は、ウェブページ８２４および／または３Ｄツアーファイル５０１などのウェブベースのリソースに関する、リポジトリとしての役割を果たし得る。あるいは、３Ｄツアーファイル５０１は、コンピューティングデバイス７０１の局部記憶装置７１０内に存在する場合がある。
【００３９】
一実施形態では、コンピューティングデバイス７０１からの要求に応答して、サーバ８２１は、ネットワーク８２３を介して、コンピューティングデバイス７０１にウェブページ８２４を送信する。そのようなウェブページ８２４のいずれか、または全ては、ブラウザー８１３を介して本発明の技術の一部または全てを実装するための、コンピューティングデバイス７０１上での実行に関するコードを含み得る。あるいは、本発明の技術を実装するためのソフトウェアコードは、コンピューティングデバイス８０１に存在する場合がある。例えば、３Ｄツアーソフトウェア８１１を、ブラウザー８１３用のプラグインとして実装することができ、または３Ｄツアーソフトウェア８１１は、データ記憶８２２に存在する場合があり、コンピューティングデバイス７０１からの要求に応答して、その場所で実行することができる。
【００４０】
当業者には、本発明は、適切な場合には、分散型ソフトウェアアーキテクチャーを使用して実装することができる点が理解されるであろう。当業者には、図８に示すクライアント／サーバアーキテクチャーは、単に例示的なものであり、ウェブベースである場合も、またはウェブベースではない場合もあるアーキテクチャーを含めた、他のアーキテクチャーを使用して、本発明を実装することができる点が更に理解されるであろう。それゆえ、図８に示す具体的なアーキテクチャーは、単に説明的なものであって、いかなる方法でも本発明の範囲を限定するものではない。
単一の画像から生成される３Ｄ空間
【００４１】
一実施形態では、本発明は、写真などの単一の２Ｄ画像から作成されるバーチャル３Ｄ空間内で、バーチャルカメラを移動させることによって、対話型３Ｄバーチャルツアーを提供する。この２Ｄ画像は、例えば、部屋、風景、または史跡などのような、任意の情景のものとすることができる。それゆえ、この２Ｄ画像は、現実世界の３次元空間の、平坦な表現とすることができる。２Ｄ画像を視認している間に、３Ｄ空間内でバーチャルカメラを移動させることによって、本発明のシステムは、その２Ｄ画像が、実際には現実世界の３次元空間の３Ｄ表現を全く含まない場合であっても、根底にある現実世界の３次元空間（または、その近似）の内部での移動を、シミュレートすることが可能である。ユーザーの画面上では、その２Ｄ画像は、現実世界の３次元空間の内部での移動をシミュレートする方式で、歪められ、サイズ変更され、かつ／または他の方法で変換される。一実施形態では、バーチャルカメラは、ユーザー入力に応答して移動し、別の実施形態では、バーチャルカメラは、ユーザー入力を必要とすることなく、自動的に移動する。
【００４２】
一実施形態では、このシミュレーションは、２Ｄ画像に３Ｄ位置情報を追加することによって、増強することができる。３Ｄ空間は、２Ｄ画像から抽出される（自動的に、または人間の入力に基づいて）消失点によって、２Ｄ画像から生成される。３Ｄモデルは、既知の写真測量技術および描画ルーチンを使用して、その消失点を用いて構築される。あるいは、特に実際の消失点を抽出することが現実的または可能とすることができない場合の用途では、消失点は、特定の場所に存在するものとして想定することができる。
２つ以上の画像から生成される３Ｄ空間
【００４３】
別の実施形態では、本発明は、２つ以上の２Ｄ画像から、それらの２Ｄ画像間の３Ｄ空間内での関係を規定することによって作成される、バーチャル３Ｄ空間内で、バーチャルカメラを移動させることによって、対話型３Ｄバーチャルツアーを提供する。それゆえ、バーチャルカメラは、２Ｄ画像のうちの１つを視認している間に移動して、１つの２Ｄ画像を視認している位置から、別の２Ｄ画像を視認している別の位置へと移動することができる。一実施形態では、そのような移動は、３Ｄパイプの観点から規定される３Ｄ移行経路に沿って実施される。カメラはまた、２Ｄ画像のうちのいずれかを視認している間、画定された「ケージ」の内部で移動することにより、上述の方式で３Ｄ移動をシミュレートすることもできる。この３Ｄ移動の現実性を改善するために、単一画像の実装に関して上述したものと同じ方式で、消失点を抽出または想定して、３Ｄモデルを作成することができる。任意数の２Ｄ画像を、３Ｄ空間内に位置決めして、１つの画像から次の画像へと、３Ｄパイプが導くことで、ユーザーによって横断することができる３Ｄ空間を規定することができる。一実施形態では、バーチャルカメラは、ユーザー入力に応答して移動し、別の実施形態では、バーチャルカメラは、ユーザー入力を必要とすることなく、自動的に移動する。移動は、画定されたケージによって制約することができる。これらの様々な形態の行程および移動が、それゆえ、３Ｄ対話型バーチャルツアーを形成する。
３Ｄ情景の構成要素
【００４４】
ここで図１を参照すると、本発明の一実施形態による、３Ｄ対話型バーチャルツアーを生成するための、３Ｄ情景の実施例１００が示される。実施例１００は、３次元空間１０３内に画定されるパイプ１０３と共に、２つの画像１０１および画像１０２（写真または任意の他のタイプの画像とすることができる）を含む。１１０に示すように、一実施形態では、３次元空間内で、画像１０１と画像１０２との間に、空間関係が規定され、この空間関係は、３Ｄパイプ１０３によって規定される。
【００４５】
ここで図２Ａおよび図２Ｂも参照すると、本発明の一実施形態による、対話型バーチャルツアーの生成のための、３Ｄ情景の実施例が、より詳細に示される。
【００４６】
図２Ａでは、画像１０１の３次元表現２００の実施例を示す。この実施例では、カメラの視点２０１は、画像を取得するために使用されたカメラの焦点距離２０３に定置される。射線２０２などの射線が、カメラの視点２０１、および画像１０１内の選択点２０４によって規定される。説明図２１０は、３次元空間内に画定されるような３Ｄパイプ１０３を示す。この実施例では、パイプ１０３は、それぞれ、３Ｄパイプ１０３を通過するカメラの経路の入口および出口を表す、前面ポータル２１１および後面ポータル２１２（それぞれ前面ドアおよび後面ドアとも称される）によって画定される。壁部２１３などの壁部は、ポータル２１１およびポータル２１２によって決定される。
【００４７】
図２Ｂは、本発明の一実施形態による、より詳細な３Ｄ情景の実施例２５０を示す。画像１０１および画像１０２が、３次元空間内で、３Ｄパイプ１０３に対して位置決めされる。パイプ１０３は、３次元空間内に配置され、その幾何学形状は、例えば、座標のセットによって規定することができる。説明図２５１は、図示の実施例による、前面ポータル２１１に対する画像１０１の相対的位置決めを示す、平面図を示す。画像１０１の場所は、例えば、カメラの視点２０１と前面ポータルの中心２２３との間の、３Ｄ変換２５２（並進および回転）マトリックスによって説明することができる。画像１０２は、後面ポータルに対して位置決めされる。その場所は、例えば、カメラの視点２０５と後面ポータルの中心２２４との間の、３Ｄ変換２５３（並進および回転）マトリックスによって説明することができる。
【００４８】
図３は、３Ｄパイプ１０３に沿って誘導されるカメラの移動を規定するための機構の実施例３００を示す。一実施形態では、経路３０１などの経路は、前面ポータル２１１内の中心点から後面ポータル２１２内の中心点までの探査に基づいて決定される。所定の錘台角度３０３を有するバーチャルカメラ３０２が、そのような経路に沿って、定められたフレームレートで移動する。一実施形態では、バーチャルカメラ３０２は、そのバーチャルカメラ３０２の位置および視角から視認されるような画像１０１の表現を含む、フレームバッファと関連付けられる。バーチャルカメラ３０２のフレームバッファのコンテンツは、その情景の「カメラ視野」とも称され、出力デバイス８０５に送って、ユーザー８３０に対して表示することができる。あるいは、フレームバッファのコンテンツを示す連続的なフレームは、後の視認のために記憶することができ（例えば、ビデオファイルとして）、かつ／または送信する（例えば、電子ネットワークを介して）ことができる。
３Ｄ情景の作成
【００４９】
ここで図４を参照すると、本発明の一実施形態による、対話型バーチャルツアーに関する３Ｄ情景を作成および生成するための方法を示す、流れ図が示される。図４の方法は、図７もしくは図８に示すアーキテクチャーを有するシステムによって、または任意の他の好適なアーキテクチャーを有するシステムによって、実行することができる。図４の方法を使用して、図２Ｂに関連して上述したような３Ｄ情景を構築することができる。
【００５０】
本方法が開始される（４００）。工程４０１では、３Ｄパイプ１０３が画定される。上述のように、３Ｄパイプ１０３は、３次元空間座標によって規定することができる。カメラ３０２の移動は、３Ｄパイプ１０３の前面ポータル２１１と後面ポータル２１２との間に規定された経路に沿って誘導される。このパイプおよび経路の規定は、例えば、局部記憶装置７１０および／またはサーバのデータ記憶８２２内の、ＸＭＬファイル内に記憶させることができる。
【００５１】
画像が、例えばデータベース内のポインタを使用して、パイプの前面ゲートおよび後面ゲートと関連付けられる。この画像が、３Ｄ情景に関連付けられる第１の画像のペアであるか否かの判定が行なわれる（４０２）。これらの画像が第１のペアである場合には、第１の画像は、パイプ１０３の前面ポータル２１１の場所に従って、３Ｄ空間内の一定の距離および回転で位置決めされる（４０３）。第２の画像は、パイプ１０３の後面ポータル２１２の場所に従って、３Ｄ空間内の一定の距離および回転で位置決めされる（４０４）。これらの距離および回転のそれぞれは、例えば、並進および回転のマトリックスによって、または任意の他の好適な手段によって規定することができる。
【００５２】
工程４０２で、３Ｄ情景と関連付けられる新たな画像が、第１のペアの一部ではない場合には、新たなパイプ１０３が構築され、パイプ１０３の前面ポータル２１１が、直前に関連付けられた従前の画像のカメラ３０２の視点に対して位置決めされる。命名法の容易性のために、新たなパイプ１０３は、「パイプＸ」と称され、また従前の画像は、「画像Ｘ−１」と称され、３Ｄ情景と直前に関連付けられた画像を指す。３Ｄ情景と新たに関連付けられる画像（「画像Ｘ」）は、３Ｄパイプ１０３の後面ポータル２１２に対して位置決めされる（４０６）。それゆえ、新たな画像のそれぞれが３Ｄ情景と関連付けられる際、新たなパイプ１０３が構築され、その位置は、従前の画像に対して規定され、新たな画像は、その新たなパイプ１０３に対して規定される位置を有する。
【００５３】
工程４０７で、３Ｄ情景と関連付けられる画像が更に存在する場合には、本方法は工程４０１に戻る。存在しない場合には、３Ｄ情景の生成は完了する。一実施形態では、画像ファイルを含めた情景の情報は、パイプの幾何学形状、誘導されるカメラ３０２の移動、および３Ｄ空間内での全ての構成要素間の相対位置を説明する、３Ｄデータと共に、単一のファイルへと圧縮される（４０８）。そのようなファイルに関して、任意の好適なデータ構造および形式を使用することができ、一実施例を、図５に関連して以下に記載する。次いで、本方法が終了する（４９９）。
３Ｄ情景のファイル形式
【００５４】
図５は、本発明の一実施形態による、対話型バーチャルツアーの生成に関するファイルを生成する際に使用することができるような、３Ｄ情景を説明するためのファイル形式５００の実施例を示す。この実施例では、ファイル形式５０１は、メタデータを有するヘッダー５１０を含み、このメタデータは、例えば、画像および３Ｄパイプの数、ならびにそのサイズを含む。また、ファイル形式５０１内には、１〜Ｎに配列される、その情景の全ての画像のデータストリームを提供する、データブロック５１１も含まれる。画像データを、そのファイル自体の中に含めることができ、またはポインタを含めることにより、何らかのデータ記憶デバイス内の、その画像の場所を参照することもできる。また、ファイル形式５０１内には、１〜Ｎ−１に配列される、各パイプの幾何学形状を説明するデータストリームを提供する、データブロック５１２が含まれる。
【００５５】
当業者には、図５に示すファイル形式は、単に例示的なものであり、本発明の本質的特性から逸脱することなく、他のデータの配列を使用することができる点が理解されるであろう。更には、本発明の本質的特性から逸脱することなく、図示の要素のうちのいずれかを省略することができ、かつ／または新たな要素を追加することができる。
３Ｄ対話型バーチャルツアーの生成
【００５６】
図６は、図５に関連して上述した形式５０１により、３Ｄ情景ファイル内に記憶される３Ｄ情景から、３Ｄ対話型バーチャルツアーを生成するための方法６００を示す、流れ図である。
【００５７】
本方法が開始される（６００）。３Ｄバーチャルツアーファイル５０１が復号され（６０１）、３Ｄ情景が確立する。工程６０１は、例えば、画像１０１、１０２などの解凍、それらの画像の３Ｄ空間内での位置決め、ならびに／あるいは３Ｄパイプ１０３の確立および画像の視点へのリンク付けを含み得る。
【００５８】
フレームレート、視点などのようなパラメータが決定された、バーチャルカメラ３０２が確立される（６０２）。一実施形態では、バーチャルカメラ３０２の視点は、カメラ３０２の焦点距離に、画像１（１０１）を取得するために使用されたＣＣＤ開口率を加えたものに等価となるように確立される。カメラ３０２のパラメータは、例えば、ＸＭＬファイルを介して規定することができる。
【００５９】
一実施形態では、バーチャルカメラ３０２は、３Ｄ情景内に、第１の画像１０１（画像１とも称される）の焦点距離で、かつその法線に垂直に位置決めされる（６０３）。このことにより、カメラ３０２の視点は、第１の画像１０１の全体を対象範囲とすることが可能になる。バーチャルカメラ３０２の位置からの画像は、例えば、カメラ３０２のフレームバッファのコンテンツを、ユーザー８３０に提示するために、出力デバイス８０５に対して出力することによって、表示される（６０４）。その結果は、第１の画像１０１の描画である。
【００６０】
カメラの自由度は、それらの自由度に沿ったカメラの移動を実施させるイベントと共に、規定される（６０５）。例えば、一実施形態では、カメラ３０２は、第１の画像１０１に垂直な平面の範囲内での移動を可能にする一方で、ピッチおよびロールの回転を不可能にするように構成することができる。他の実施形態では、他のタイプの移動を、可能または不可能にすることができる。
【００６１】
位置および回転を含めたカメラの移動は、例えば、入力デバイス８０３に対して提供される入力を介して、ユーザー８３０によって制御することができ、例えば、ユーザー８３０は、入力デバイス８０３によって提供される入力モードに応じて、マウスもしくはトラックボールなどのポインティングデバイスを操作するか、または矢印キーを押すか、またはタッチセンシティブスクリーンもしくは他の表面に触れることができる。あるいは、一実施形態では、そのようなナビゲーションは、ユーザー入力を使用することなく、自動的に実施される。
【００６２】
カメラ３０２を移動させるための、ユーザー入力が受け取られる（６０６）（あるいは、そのような移動が自動的に実施される）。工程６０７では、カメラ３０２が、パイプ１０３の前面ポータル２１１と交差したか否かの判定が行なわれる。一実施形態では、このことにより、カメラ３０２は、その新たなパイプ１０３を通り、その後面ポータルへと自動的に移動する（６０９）。一実施形態では、この自動的な移動は、滞りなく、かつユーザー８３０によるいずれの行為も必要とすることなく、実行される。この技術は、クリックなしナビゲーション（ＮＷＣ）と称される。別の実施形態では、ユーザー８３０は、パイプ１０３を通過する移動を制御することができる。
【００６３】
工程６０７で、カメラ３０２が、パイプ１０３の前面ポータル２１１と交差していない場合には、カメラ３０２は、ユーザー入力によって（または自動的な移動によって）規定される、新たな位置に移動する。カメラ３０２の新たな位置からの画像は、例えば、カメラ３０２のフレームバッファのコンテンツを、ユーザー８０３に提示するために、出力デバイス８０５に対して出力することによって、表示される（６０８）。この方式で、バーチャル３Ｄ情景を、バーチャルカメラ３０２が通過して移動するように見せる。
【００６４】
バーチャルツアーを終了する場合（６１０）には、本方法は終了する（６９９）。そうではない場合には、本方法は、工程６０６に戻る。
ケージおよびパイプの実施例
【００６５】
一実施形態では、３Ｄ空間の内部でのバーチャルカメラ３０２の移動を制約するために、バーチャル「ケージ」が確立される。ここで図９Ａ〜９Ｄを参照すると、本発明の一実施形態による、カメラ３０２の移動を制御するためのケージ９０１、および１つの画像から次の画像へとカメラ３０２を誘導するためのパイプ１０３を、作成ならびに構成するための技術の実施例が示される。
【００６６】
図９Ａは、カメラ３０２が、画像（写真など）１０２Ａから、焦点距離９０３と等しい距離で定置される、初期設定を示す。この場合、パイプ１０３は、三角形の断面（上方から見る場合）を有する構成体として示される。パイプ１０３は、前面ポータル２１１および後面ポータル２１２を含む。この実施例では、カメラ３０２は、前面ポータル２１１の境界を定める水平の線に沿った任意の地点で、パイプ１０３に進入することができる。カメラ３０２がパイプ１０３に進入すると、カメラ３０２は、後面ポータル２１２に向けて方向付けられ、一実施形態では、そのような移動は、自動的に実施されることにより、１つの画像１０２Ａから別の画像へと、ビューアーを円滑に移送することができる。
【００６７】
一実施形態では、出力デバイス８０５（ディスプレイ画面など）上に示される画像は、カメラ３０２の視座からの、画像１０２Ａのバーチャルな視界に基づいて形成される。それゆえ、その画像は、画像１０２Ａの、歪められ、傾けられ、拡大され、または他の方法で修正されたバージョンとすることができる。以下でより詳細に説明されるように、メッシュ変形および／または他の変換機構を、提示される画像を歪めるために使用することができる。一実施形態では、画像１０２Ａは、写真測量技術を使用して生成および／または補正された透視図法を有する、コンピュータ支援設計（ＣＡＤ）モデルなどの、３Ｄモデルを表す。このＣＡＤモデルは、写真から生成することができ、例えば、その写真から抽出される、描画された人工的なテクスチャー、および／またはマップされたテクスチャーを有し得る。
【００６８】
ここで図９Ｂ〜９Ｄを参照すると、画像１０２Ａの視認が、３Ｄ空間を通過する３次元移動に比較的一致して見えるように、カメラ３０２の移動を制約するための、ケージ９０１の構築に関する技術の実施例が示される。ケージ９０１は、画像１０２Ａの現実的な描画を生成することができる領域の外側に、ユーザー８３０がカメラ３０２を移動させないことを確実にする。一実施形態では、カメラの移動は、ケージ９０１によって制約されるが、カメラの回転は、画像１０２Ａの辺縁によって制約される（それにより、ユーザー８３０は、そのような辺縁の外側に存在する望ましくない領域を視認するように、カメラ３０２をパンさせることができない）。
【００６９】
図９Ｂでは、ケージ９０１の垂直壁部９０２Ａが、カメラ３０２の中心点と画像１０２Ａの縁部とを結ぶことによって画定され、三角形を形成する。
【００７０】
図９Ｃでは、ケージ９０１は、カメラが実際に前面ポータル２１１を通過しない限り、カメラ３０２が、前面ポータル２１１に対応する線を越えることができないように、更に制約される。この方式では、パイプ１０３を迂回する移動を防止するために、更なる制約が課される。この目標を達成するために、壁部９０２Ａと、パイプ１０３の２つの前面角部（すなわち、前面ポータル２１１の２つの端部）のそれぞれとの間に、線を引くことによって、ケージ９０１に関する新たな壁部９０２Ｂ、９０２Ｂが構築され、このことはまた、前面ポータル２１１に対応する壁部９０２も画定する。
【００７１】
図９Ｄでは、一実施形態では、カメラ３０２が、図９Ｂで画定された三角形の最も後部に移動する場合に生じる恐れがある、浮動小数点の計算の問題を回避するために、ケージ９０１の最後尾の角部もまた切断され、別の壁部９０２Ｄが形成される。
【００７２】
最終的な結果は、図９Ｄに示すような、６面形状を有するケージ９０１である。１つの側面９０２Ｃは、パイプ１０３の前面ポータル２１１に接して、前面ポータル２１１の幅と等しい幅を有する。図９Ｄはまた、明瞭性のために、壁部９０２Ｄの周囲の領域の詳細図も含む。
【００７３】
一実施形態では、ユーザーは、ケージ９０１によって説明される境界の内部で、前面ポータル２１１と交差するまで、画像１０２Ａを視認しつつ、カメラ３０２を自由にナビゲートすることができる。図６の工程６０９に関連して上述したように、前面ポータル２１１と交差すると、一実施形態では、カメラ３０２は、後面ポータル２１２へと、パイプ１０３を自動的に辿り、カメラ３０２は、新たな画像（図示せず）を向くように方向付けられる。
【００７４】
当業者には、図９Ａ〜９Ｄに示すような、ケージ９０１を画定するための具体的な技術は、単に例示的なものであり、カメラ３０２の移動を制約するために、他の方法を使用することができる点が理解されるであろう。
【００７５】
ここで図１０Ａ〜１０Ｄを参照すると、２つの画像（写真など）１０２Ａ、１０２Ｂが、３Ｄ空間内に位置決めされ、ケージ９０１Ａ、９０１Ｂ、およびパイプ１０３Ａが、カメラ３０２の移動を制御および／または制約するために確立されている、実施例が示される。この実施例は、説明の目的のために提示されるものであり、本発明の動作をより容易に理解することができるように、２つの画像１０２Ａ、１０２Ｂを含む単純化された３Ｄ情景を示す。しかしながら、当業者には、本発明の本質的な特性から逸脱することなく、任意数の画像を有する任意の３Ｄ情景に、図示の技術を拡張することができる点が理解されるであろう。明瞭性のために、画像１０２Ａ、１０２Ｂの実際のコンテンツは、図１０Ａおよび図１０Ｂから省略される。
【００７６】
図１０Ａに示すように、ケージ９０１Ａは、画像１０２Ａを視認している間、カメラ３０２の移動を制約する。視認領域１００１は、カメラ３０２の現在の位置、ズームレベルなどに基づいて、カメラ３０２によって現在視認されている３Ｄ情景の部分を示す。カメラ３０２が前面ポータル２１１と交差すると、パイプ１０３Ａが、カメラ３０２の移動を制御する。その時点で、カメラ３０２は、後面ポータル２１２で再出現するまで、パイプ１０３Ａに沿って円滑に方向付けられ、画像１０２Ｂを向くように再配向される。次いで、ケージ９０１Ｂが、画像１０２Ｂを視認している間、カメラ３０２の移動を制約する。ケージ９０１Ｂは、ケージ９０１Ａと同様の方式で、カメラ３０２の移動を制約するように機能する。
【００７７】
図１０Ｂは、図１０Ａと同じ実施例を示すが、別の視点からのものである。この場合、カメラ３０２は、前面ポータル２１１を通過して移動し、現在、パイプ１０３Ａの内部にある。
【００７８】
図１０Ｃは、図１０Ａと同じ実施例を示すが、画像１０２Ａに関する写真の実施例も含む。
【００７９】
図１０Ｄは、図１０Ａと同じ実施例を示すが、出力デバイス８０５上に表示することができるような、２つのウインドウ１０１０、１０１５も含む。ウインドウ１０１０は、図１０Ａ〜１０Ｃに関連して上記で示し、説明したような、ケージ９０１Ａ、９０１Ｂ、パイプ１０３Ａと、画像１０２Ａ、１０２Ｂとの関係を示す。ウインドウ１０１５は、カメラの視点が、画像１０２Ａおよび画像１０２Ｂの双方に及ぶ間に示すことができる、スクリーン画像１０２０の実施例を含む。図１０Ｄに示し得るように、カメラ３０２が、パイプ１０３Ａに沿って移動している間に、スクリーン画像１０２０は、１つの画像１０２Ａから次の１０２Ｂへと移行する。この移行の間、２つの画像１０２Ａ、１０２Ｂの諸部分が組み合わされて、画像１０２Ａ、１０２Ｂの要素を含む、移行的スクリーン画像１０２０が生成される。図１０Ｄの実施例では、スクリーン画像１０２０の左側１０２１は、画像１０２Ａから取得され、一方で、右側１０２２は、画像１０２Ｂから取得される。一実施形態では、カメラ３０２が、パイプ１０３に沿って移動する際、スクリーン画像１０２０は、「ワイプ」形式で、または何らかの他の好適な移行効果を使用して、滑らかに変化して、画面から画像１０２Ａを取り除き、画像１０２Ｂを取り込む。
【００８０】
一実施形態では、画像１０２は、パイプ形状１０３によって規定されるような、画像１０２間の３Ｄ関係に対応する、回転または他の効果をシミュレートするように、移行中に、互いに滑らかに融合される。例えば、一実施形態では、画像が融合される際に、様々な程度の透明性を提供する、Αブレンディングを使用して、そのような移行を実装することができる。画像１０２を、必要に応じて歪ませ、３Ｄ空間を通過して移動する様相を補強することができる。
【００８１】
一実施形態では、１つの画像１０２から別の画像への種々のタイプの移行に関して、種々のパイプ１０３を確立することができる。ここで図１１を参照すると、本発明の一実施形態により提供することができる、様々なタイプのパイプのリスト１１０１の実施例が示される。
複数のパイプ
【００８２】
一実施形態では、特定の画像１０２に関して、複数のパイプ１０３を画定することができる。ここで図１２Ａ〜１２Ｆを参照すると、本発明の一実施形態による、複数のパイプ１０３を含む３Ｄ情景の様々な実施例が示される。
【００８３】
図１２Ａは、ユーザーが、画像１０２Ｃから画像１０２Ｄへと（パイプ１０３Ｄを介して）、次いで、画像１０２Ｅ、１０２Ｆ、または画像１０２Ｇのうちのいずれかへと、ナビゲートすることができる、実施例を示す。移動は、最初に、ケージ９０１Ｃによって制約され（画像１０２Ｃを視認している間）、次いで、ケージ９０１Ｄによって制約される（画像１０２Ｄを視認している間）。画像１０２Ｅ、１０２Ｆ、または画像１０２Ｇのいずれが提示されるかの決定は、パイプ１０３Ｅ、１０３Ｆ、またはパイプ１０３Ｇのいずれに進入するか（その前面ポータルを横断することによって）に応じて変化する。進入したパイプ１０３が、次いで、対応する画像１０２Ｅ、１０２Ｆ、または画像１０２Ｇに、カメラを方向付ける。パイプ１０３Ｅ、１０３Ｆ、またはパイプ１０３Ｇが横断されると、ユーザーは、画像１０２Ｅ、１０２Ｆ、または画像１０２Ｇに対応する、ケージ９０１Ｅ、９０１Ｆ、またはケージ９０１Ｇの内部で、カメラを自由に移動させる。
【００８４】
図１２Ａ〜１２Ｆは、図１２Ａに示される配置構成の、追加的な視図および詳細な視図を示す。図１２Ｂは俯瞰図を示す。図１２Ｃおよび図１２Ｄは、ケージ９０１Ｃ、９０１Ｄ、ならびにパイプ１０３Ｄの前面ポータル２１１および後面ポータル２１２を含む、パイプ１０３Ｄの詳細図を示す。図１２Ｅおよび図１２Ｆは、ケージ９０１Ｅ、９０１Ｆ、９０１Ｇ、およびパイプ１０３Ｅ、１０３Ｆ、１０３Ｇの詳細図を示す。
バーチャルツアーを作成するためのユーザーインターフェース
【００８５】
一実施形態では、本発明のシステムおよび方法は、２Ｄ画像から３Ｄバーチャルツアーを生成するためのユーザーインターフェースを提供する。一実施形態では、そのようなユーザーインターフェースはまた、例えば露出レベルの調整、トリミング、回転などによって、２Ｄ画像を編集するための機能も提供する。
【００８６】
ここで図１３Ａ〜１３Ｎを参照すると、本発明の一実施形態による、そのようなユーザーインターフェースに関する、一連のスクリーンショットが示される。
【００８７】
図１３Ａは、ハードドライブまたは他のソースから画像をアップロードするためにクリックすることができる、入力域１３０１Ａ、１３０１Ｂと、入力域１３０１Ａ、１３０１Ｂにアップロードされた画像間の移行を選択するためのボタン１３０２Ａとが、ユーザーに提示される、スクリーンショット１３００の実施例を示す。ユーザーは、入力域１３０１Ａ、または入力域１３０１Ｂをクリックして、所望の画像（例えば、手元または遠隔のハードドライブ上の）へとナビゲートし、その画像を、アップロードするために選択することができる。任意数の連続的画像および移行を、アップロードおよび指定することができる。ツアーを作成している際に、そのツアーを視認するための、プレビューペイン１３０３もまた含まれる。アップロードされた画像、および選択された移行から、３Ｄツアー、もしくは３Ｄツアーの一部分を作成するための、ボタン１３０４が提供され、このツアーは、「スイープ」と称される。一実施形態では、ボタン１３０４は、少なくとも２つの画像が、入力域１３０１Ａ、１３０１Ｂ内にアップロードまたは選択されており、かつ少なくとも１つの移行が、ボタン１３０２Ａを介して選択されている場合にのみ、有効である。露出制御、トリミング、および水平位置調整などの画像編集ツールを開くための、ボタン１３０５が提供される。３Ｄツアー、または３Ｄツアーの一部分を、アルバムに追加するための、ボタン１３０６が提供される。ボタン１３０７は、アップロードされた画像および移行を含めた、３Ｄツアーのクリエータを消去する。
【００８８】
図１３Ｂは、第１の画像が、入力域１３０１Ａにアップロードされている、スクリーンショット１３００の実施例を示す。
【００８９】
図１３Ｃは、ボタン１３０２Ａがクリックされて、ユーザーが、ダイアログボックス１３１１を介して移行を選択することができる、スクリーンショット１３００の実施例を示す。一実施形態では、方向転換１３１２、位置移動１３１３、パノラマ回転１３１４、階段１３１５などを含めた、幾つかのタイプの移行が利用可能である。最も一般的な移行のリスト１３１６もまた提供され、この実施例では、それらは、一連のアイコンとして示される。当業者には、いずれの移行も、テキストボックス、アイコン、および／またはこれらの任意の組み合わせ、ならびに／あるいは任意の他の好適な視覚的要素として示すことができる点が理解されるであろう。ユーザーは、所望の移行に関するボタンをクリックする。
【００９０】
図１３Ｄは、９０°の方向転換が、移行として選択されている、スクリーンショット１３００の実施例を示す。ダイアログボックス１３１１には、選択を指示する確認テキスト１３４２が示される。
【００９１】
図１３Ｅは、９０°の方向転換が選択され、ダイアログボックス１３１１が閉じた後の、スクリーンショット１３００の実施例を示す。従前に示されていた移行ボタン１３０２Ａは、移行標識１３４１に置き換わる。一実施形態では、ユーザーは、移行標識１３４１をクリックして、ダイアログボックス１３１１を呼び出すことによって、移行を変更することができる。
【００９２】
２つの画像がアップロードされて選択されると、ボタン１３０２Ｂおよび入力域１３０１Ｃが、それぞれ、移行および別の画像を選択するために、使用可能となる。図１３Ｆは、２つの画像がアップロードされた後の、スクリーンショット１３００の実施例を示し、ユーザーは、この時点で、移行ボタン１３０２Ｂをクリックすることによって、第２の画像と第３の画像との間の移行を選択することができ、入力域１３０１Ｃをクリックすることによって、第３の画像をアップロードすることができる。
【００９３】
図１３Ｇおよび図１３Ｈは、第２の画像と第３の画像との間に適用される移行を選択するための、スクリーンショット１３００のセットの実施例を示す。この実施例では、直進の移行が選択されて適用される。
【００９４】
図１３Ｉは、ユーザーが、入力域１３０１Ｃをクリックすることによって、第３の画像を選択した後の、スクリーンショット１３００の実施例を示す。入力域１３０１Ａに関連して上述したように、ユーザーは、所望の画像（例えば、手元または遠隔のハードドライブ上の）へとナビゲートし、その画像を、アップロードするために選択することができる。
【００９５】
図１３Ｊは、ユーザーが、ボタン１３０４をクリックすることによって、３Ｄツアー、または３Ｄツアーの一部分を作成した後の、スクリーンショット１３００の実施例を示す。プレビューペイン１３０３は、３Ｄツアー、または３Ｄツアーの一部分を示し、ユーザーは、プレビューペイン１３０３をクリックして、その３Ｄツアーを見ることができる。
【００９６】
一実施形態では、画像編集機能もまた提供される。図１３Ｋは、ユーザーが、ボタン１３０５をクリックすることによって、画像エディターを開始した後の、スクリーンショット１３００の実施例を示す。露出レベルの調整１３２１、水平軸１３２２、およびトリミング１３２３に関する制御が、リセットボタン１３２４と共に、各画像に関して提示される。当業者には、任意の画像編集の制御を提供することができ、更なる例としては、鮮明度の調整、色補正、ぼかし、歪みなどが挙げられることが、理解されるであろう。
【００９７】
一実施形態では、露出レベル制御１３２１をクリックすることにより、図１３Ｌに示すようなスライダー１３３１が、インスタンス形成される。ユーザーは、所望の位置にスライダー１３３１を移動させることによって、指定のパラメータを調整することができる。この実施例では、ユーザーは、画像の輝度、すなわち露出レベルを編集している。
【００９８】
一実施形態では、トリミング制御１３２３をクリックすることにより、図１３Ｍに示すようなトリミング矩形１３３２が、インスタンス形成される。ユーザーは、所望の位置にトリミング矩形１３３２の角部を移動させることによって、画像をトリミングすることができる。
【００９９】
一実施形態では、水平軸調整制御１３２２をクリックすることにより、水平線を表示させる。ユーザーは、水平線を移動させて、画像内部の水平軸の位置を調整することができる。
【０１００】
一実施形態では、ユーザーは、ボタン１３０５をクリックすることによって、画像エディターを終了することができる。図１３Ｎは、制御が閉じられた後の、スクリーンショット１３００の実施例を示す。この場合、ユーザーは、露出レベル制御１３２１を使用して、第１の画像を暗くしており、制御を閉じている。次いで、ユーザーは、ボタン１３０４をクリックすることによって、新たなバーチャルツアー、またはバーチャルツアーの一部分を作成することができる。プレビューペイン１３０３は、そのバーチャルツアー、またはバーチャルツアーの一部分を示し、ユーザーは、プレビューペイン１３０３をクリックして、そのバーチャルツアーを見ることができる。
バーチャルツアーの提示、およびバーチャルツアー内のナビゲーション
【０１０１】
本明細書で論じられるように、本発明の技術は、ユーザーの要求に応答してオンザフライで生成することができるバーチャルツアー、あるいは局部記憶装置および／またはウェブサーバに記憶させることができるバーチャルツアーを構築して提示するために、使用することができる。一実施形態では、バーチャルツアーが作成されると、そのバーチャルツアーを、サーバまたは他の好適な場所に記憶させることができる。ユーザーは、例えばウェブページ上のリンクをクリックすることによって、そのバーチャルツアーにアクセスすることができる。一実施形態では、プラグインをユーザーのブラウザーにインストールして、そのユーザーが、対話式に、または受動的観察者として、バーチャルツアーを体験することを可能にすることができる。
【０１０２】
一実施形態では、ユーザーは、ポインティングデバイス、タッチスクリーン、キーボード、および／または任意の他の適切な入力デバイスを介して、入力を提供することによって、このツアーを制御して、３Ｄ情景内をナビゲートする。別の実施形態では、情景内のナビゲートが、ユーザーとの対話処理を必要とすることなく、自動的に実施されるインターフェースを、提供することができる。
【０１０３】
一実施形態では、バーチャルツアーは、２Ｄ画像からオンザフライで生成することができる。それゆえ、２Ｄ画像がアップデートされる場合には、その画像を取り入れるいずれのバーチャルツアーも、新たにアップデートされた画像を使用する。別の実施形態では、バーチャルツアーは、ユーザーへの提示に先立って、生成および記憶（手元で、またはサーバーで）することが可能であり、任意の適切な形式で記憶させることができる、そのツアーファイルは、次いで、オンデマンドで素早く検索して再生することができる。そのような手法は、特定の状況では、パフォーマンスを改善して、待ち時間を低減することができる。いずれの技術でも、２Ｄ画像は、新たな画像に置き換えることができ、次にその新たな画像を使用して、新たなバーチャルツアーを生成することができるため、容易にバーチャルツアーに変更を加えることができる。
【０１０４】
一実施形態では、上述のように、ユーザーは、リンクをクリックして、ツアーをロードして再生させることができる。別の実施形態では、特定のツアーへの任意数のリンクを提供することができる。リンクは、ツアーの開始点ではなく、いずれかの中間点でツアーを開始させるように提供することができる。ウェブページは、それゆえ、コンテンツの表などの、リンクのリストを提供することができ、それらのリンクのそれぞれは、同じツアーを参照するが、そのツアーを異なる地点（開始点、またはいずれかの中間点）で開始させる。
【０１０５】
例えば、家の幾つかの部屋のバーチャルツアーを提供することができ、コンテンツの表には、そのツアーへの幾つかのリンクが記載され、各リンクは、異なる部屋に対応する。ユーザーは、適切なリンクをクリックすることによって、任意の所望の部屋でツアーを開始することができる。一実施形態では、ツアーは、指定された地点から、終了まで（ユーザーによって中断されない限り）継続することができる。別の実施形態では、中間点で起動されるツアーは、カメラが、その中間点に対応する場所から離れる際に、中断することができ、例えば、特定の部屋でのツアーの開始は、カメラがキッチンから離れる際に、そのツアーを終了させることができる。更に別の実施形態では、ツアーを視認しているユーザーは、その中間点に対応する場所からカメラが離れた後に、ツアーを継続するべきか否かを指定することができる。
移動マッピング
【０１０６】
一実施形態では、ユーザーが３次元空間をツアーしているという印象を補強するために、一部または全ての２Ｄ画像を、選択的に歪めるか、もしくは他の方法で変換することができる。そのような歪みは、３Ｄ環境の内部でのユーザーの位置および移動に応答して、動的に実施することができ、この説明の目的上、そのような歪みは、「移動マッピング」と称される。例えば、ユーザーが３Ｄ空間内で前方に移動すると、視認される２Ｄ画像が、より接近して、その２Ｄ画像に対するズーミングと同様の動作となり、移動マッピングは、画像の縁部付近の領域を、画像の中心付近の領域よりも、急激にズームさせるように実装することができる。このことは、画像の中心部分を、縁部よりも遠く離れているように見せ、１つの画像から次の画像への移行の不協和を、より少なくするために役立ち得る。様々な実施形態では、画像シーケンス、シミュレートされている環境、ユーザーの選好などの具体的な特性に応じて、種々のマッピング曲線を、移動マッピングに関して使用することができる。
【０１０７】
一実施形態では、移動マッピングは、ソースの２Ｄ画像のピクセル位置を、マッピング曲線を介して、新たな場所にマップすることによって実行される。マッピング曲線は、それゆえ、ピクセル位置の変換を規定する。例えば、Ｘ軸およびＹ軸の観点から座標を表すことができる２Ｄ画像では、各軸に関してマッピング曲線を提供することができる。一実施形態では、マッピング曲線は、３Ｄ空間の錯覚を増強することができるような、バーチャルカメラからの距離の関数である。それゆえ、この変換への入力は、２Ｄ画像からのカメラの距離を表すＺ値を伴う、ＸまたはＹのピクセル座標であり、その出力は、変換されたＸまたはＹのピクセル座標である。元の座標の場所で描かれたであろうピクセル値は、次いで、変換された座標の場所に描かれる。
【０１０８】
一実施形態では、本発明のシステムは、２Ｄ画像にメッシュ変形を適用することによって、移動マッピングを実行する。このメッシュ変形のパラメータは、３Ｄ空間内での、バーチャルカメラと２Ｄ画像との距離に基づいて決定される。
【０１０９】
ここで図１４を参照すると、本発明の一実施形態による、移動マッピングの実施例が示される。グラフ１４０１は、元の２Ｄ画像内のＸ、Ｙの位置と、マップ２Ｄ画像内のＸ´、Ｙ´の位置との関係を規定する、マッピング曲線１４０６を示す。例えば、マッピング曲線１４０６は、元の２Ｄ画像１０２Ｊ内のピクセル位置と、マップ２Ｄ画像１０２Ｋ内の対応するピクセル位置との関係を指定する。説明の目的上、元の２Ｄ画像１０２Ｊの元のピクセル１４０２の位置を、座標（Ｘ１、Ｙ１）で示す。マッピング曲線１４０６に基づいて、ピクセル１４０２は、位置（Ｘ２、Ｙ２）に配置される、マップ２Ｄ画像１０２Ｋのピクセル１４０３へとマップされる。
【０１１０】
この方式で、元の２Ｄ画像１０２Ｊの歪められたバージョンを、バーチャルツアーを提示する過程で、生成して表示することができる。上述のように、マッピング曲線１４０６は、バーチャルカメラと画像１０２Ｊとの距離に応じて、変更することができる。
【０１１１】
当業者には、図１４に示される具体的なマッピング曲線１４０６は、単に例示的なものであり、他のマッピング曲線を使用することができる点が理解されるであろう。
【０１１２】
ここで図１５Ａを参照すると、本発明の一実施形態による移動マッピングに関する、パラメータ化変形曲線１４０６Ａを含む、グラフ１４０１Ａの実施例が示される。この場合、ＸとＸ´との関係は、直線部分１５０１ならびに直線部分１５０２の、スプライン、モジュール、および角度によって規定される。一実施形態では、同じ関係が、ＹとＹ´との間で規定される。別の実施形態では、変形は、一方の軸（Ｘ軸など）のみに適用され、他方の軸（Ｙ軸など）は変形されない。
【０１１３】
ここで図１５Ｂ〜１５Ｇを参照すると、本発明の一実施形態による移動マッピングに関する、変形曲線１４０６Ｂ〜１４０６Ｇを含む、グラフ１４０１Ｂ〜１４０１Ｇの更なる実施例が示される。一実施形態では、これらの曲線１４０１Ｂ〜１４０１Ｇは、図１５Ａに示すパラメータ化変形曲線１４０６Ａに、種々のパラメータを適用することによって生成される。曲線１４０１Ｂ〜１４０１Ｇに対応する、モジュールおよび角度の値を、説明の目的上、それぞれの図に示す。
【０１１４】
本明細書で説明されるような変形曲線を使用して、画像を選択的に変形することによって、３Ｄバーチャル空間を通過する移動の印象を、補強することができる。単一の画像１０２の連続的変形を使用して、バーチャル空間内での移動および／または回転をシミュレートすることができる。そのような機構はまた、１つの画像１０２から次の画像への移行も改善する。
【０１１５】
ここで図１６Ａ〜１６Ｉ、図１７Ａ〜１７Ｉ、図１８Ａ〜１８Ｉ、図１９Ａ〜１９Ｉ、および図２０Ａ〜２０Ｆを参照すると、種々のパラメータを有する変形曲線を使用して変形されている、様々な画像の実施例が示される。これらの図に示される画像１０２の全ては、同じソース画像を有する。図１５Ｂ〜１５Ｇに示す変形曲線に対応する、５つの異なる変形曲線が適用されており、カメラは、各変形曲線に関して、６つの異なる位置で示される。更には、一部の画像１０２では、カメラは回転されている。説明の目的上、変形曲線は、画像１０２の中心に関して対称であり、かつＸ軸にのみ適用される方式で、適用される。それゆえ、これらの実施例では、Ｙ軸は変形されない。実施例では、適用される変形曲線は、写真までのカメラの距離に関しては一定であり、スプラインを使用して生成される。
【０１１６】
表１は、図１６Ａ〜１６Ｉ、図１７Ａ〜１７Ｉ、図１８Ａ〜１８Ｉ、図１９Ａ〜１９Ｉ、および図２０Ａ〜２０Ｆでの各画像に関して使用されるパラメータを記載する。カメラの位置は０〜４で示され、０は原点であり、大きい数字ほど、カメラの位置がより画像１０２に近いことを示す。変形曲線０、１、２、３、４、および変形曲線５は、それぞれ、図１５Ｂ、１５Ｃ、１５Ｄ、１５Ｅ、１５Ｆ、および図１５Ｇに示す曲線に対応する。回転は、カメラが、画像１０２に直接向けられている（「なし」）か、左に４５度で曲げられている（「左」）か、または右に４５度で曲げられている（「右」）かのいずれかを示す。当業者には、これらが単に例示的なものであり、他の角度、曲線、およびカメラの位置を使用することができる点が理解されるであろう。
【表１】
2014504384.tif 000003
状態の変化を表すためのバーチャルツアー
【０１１７】
一部の実施形態では、このバーチャルツアーの連続的なフレームは、機械または環境の種々の状態を表すことができる。それゆえ、一部の場合には、バーチャルカメラは、必ずしも１つのフレームから次のフレームで位置を変更しない場合があり、むしろ、固定されたまま維持され、機械を操作する際の連続的工程、またはユーザーの環境に対する何らかの他の変化が示される。例えば、キオスクを操作する際の連続的工程を、このバーチャルツアーの連続的なフレームによって表すことができる。別の実施例としては、バーチャルツアーは、場所または環境に対する、経時的な変化を表すことができ、例えば、バーチャルツアーは、比較的固定式のバーチャルカメラを使用して、博物館内の群集の低速度撮影表現を示すことができる。別の実施形態では、そのような状態変化を、カメラの移動と組み合わせて示すことができる。
バーチャルツアーのオンザフライ作成
【０１１８】
一実施形態では、連続的な画像をインクリメンタルに追加することができ、新たな画像が追加されるたびに、新たなバーチャルツアーを生成することができる。そのような用途は、本発明のコンピューティングデバイス７０１が、スマートフォンなどのモバイルデバイスである環境では、特に有効であり、１つの例は、ＡＰＰＬＥ  ＩＮＣ．（
ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＩＰＨＯＮＥであるが、当業者には、そのようなバーチャルツアーのオンザフライ作成は、任意の好適なプラットフォーム、コンピューティング機械、または他の電子デバイス上で実装することができる点が理解されるであろう。
【０１１９】
ここで図２１を参照すると、本発明の一実施形態による、連続的に取得される画像からの、３Ｄ対話型バーチャルツアーのオンザフライ作成に関する方法を示す、流れ図が示される。当業者には、図２１に示す方法は、内臓カメラおよび加速度計が装備された、スマートフォンなどの、モバイルデバイスを使用して実装することができるが、図示の方法はまた、任意の好適な電子デバイスを使用して実践することができる点が理解されるであろう。ここで図２２Ａ〜２２Ｅも参照すると、本発明の一実施形態による、スマートフォン上での３Ｄ対話型バーチャルツアーのオンザフライ作成に関する、一連のスクリーンショットが示される。
【０１２０】
図２２Ａのスクリーンショット２２０１に示すように、カメラのビューファインダー２２０６が、ユーザーに提示される（２１０１）。ユーザーは、所望の方向にデバイスを向け、画像を取得するためにボタン２２０７をタップする（２１０２）。スクリーンショット２２０１はまた、画像の取得に関して設定することができる、様々な選択肢へのアクセスを提供する、選好ボタン２２０８も含む。
【０１２１】
図２２Ｂのスクリーンショット２２０２に示すように、デバイスの光学素子およびセンサーを使用して、画像が取得される（２１０３）。ユーザーは、ボタン２２０９をタップすることによって承認するか、またはボタン２２１１をタップすることによって、その画像を拒否して再取得するかを、入力要求される。工程２１０４で、ユーザーが画像を拒否する場合には、本方法は、工程２１０１に戻る。
【０１２２】
工程２１０４で、ユーザーが画像を承認する場合には、その画像が、バーチャルツアーに関する第１の取得画像であるか否かの判定が行なわれる（２１０９）。第１の取得画像である場合には、その取得画像を含む、新たなバーチャルツアーが確立される（２１１０）。そうではない場合には、その画像は、工程２１０７で選択される移行（以下で説明するような）を使用して、既存のバーチャルツアーに追加される（２１０５）。
【０１２３】
図２２Ｃのスクリーンショット２２１０に示すように、ユーザーは、ボタン２２１０をタップすることによって、バーチャルツアーに別の画像を追加する機会を与えられる。ユーザーが、バーチャルツアーに別の画像を追加するべきであると指示する（２１０６）場合には、移行が選択される（２１０７）。図２２Ｄのスクリーンショット２２０４に示すように、この移行は、ユーザーによって提供される明示的な入力に基づいて、リスト１３１６から選択することができる（２１０７）。あるいは、従前の画像の取得と現在の画像の取得との間で、ユーザーがどのようにデバイスを移動させたかを、デバイスが、その加速度計を介して検出することができる。一実施形態では、その自動的に検出された移行が、自動的に選択されるが、あるいは、その検出された移行は、必要に応じてユーザーが無効にすることができる、デフォルトとして提示することができる。移行が選択されると（２１０７）、本方法は、図２２Ｅのスクリーンショット２２０５に示すように、別の画像の取得のために、工程２１０１に戻る。
【０１２４】
工程２１０６で、ユーザーが他の画像を追加するべきではないと指示する場合には、例えば、図２２Ｃの完了ボタン２２１２をタップすることによって、そのバーチャルツアーのファイルは、適切な方式で、記憶および／または出力され（２１０８）、本方法は終了する（２１９９）。
【０１２５】
バーチャルツアーを生成するための、このオンザフライ機構により、連続的に取得される画像を使用して、インクリメンタルにツアーを生成することが可能になり、このことは、ユーザーが特定の状況でツアーを生成することを、より容易にすることができる。
用途の例
【０１２６】
当業者には、本発明の技術は、１つ以上の２Ｄ画像から３Ｄバーチャルツアー提供することが有用な、いずれの状況または環境でも、使用することができる点が理解されるであろう。以下は、本発明の可能な用途の一部を示すことを目的とする、例のリストであるが、しかしながら、このリストは、いかなる方法でも、これらの特定の例に本発明を限定するものではない。
・店舗（例えば、大型店舗の内部で特定の物品を見つけ出すため）、
・販売用の家（例えば、部屋もしくは他の区域の、屋外および屋内ツアー）、
・賃貸用アパート（例えば、部屋もしくは他の区域の、屋外および屋内ツアー）、
・ホテルの部屋（例えば、部屋および／または公共区域のツアー）、
・クルーズ船（例えば、客室および／または公共区域のツアー）
・特定の設備および／または特定のシナリオに関するバーチャルトレーニング（例えば、発電所作業員に、緊急事態での対処行動を示すため）、
・コンサートおよび他のイベント会場、
・キオスクまたは公共端末についての解説指導（例えば、鉄道駅で切符販売機から切符を購入する方法を、旅行者に示すため）、
・博物館、
・大学およびビジネススクールのキャンパス、
・その他。
【０１２７】
本発明は、可能な実施形態に関しての具体的な詳細で説明されている。当業者には、本発明は、他の実施形態で実践することができる点が理解されるであろう。第１に、構成要素の具体的な命名、用語の大文字使用、属性、データ構造、またはいずれの他のプログラミングの態様、もしくは構造的な態様も、強制的または重要なものではなく、本発明および／または本発明の特徴を実装する機構は、異なる名称、形式、またはプロトコルを有し得る。更には、本システムは、説明されるようなハードウェアとソフトウェアとの組み合わせを介して、または完全にハードウェア要素内で、または完全にソフトウェア要素内で、実装することができる。同様に、本明細書で説明される様々なシステム構成要素の間での、機能の具体的な区分は、単に例示的なものであり、強制的なものではなく、単一のシステム構成要素によって実行される機能は、複数の構成要素によって、代わりに実行することができ、複数のシステム構成要素によって実行される機能は、単一の構成要素によって、代わりに実行することができる。
【０１２８】
様々な実施形態では、本発明は、上述の技術を単独で、または任煮の組み合わせで実行するための、システムもしくは方法として実装することができる。別の実施形態では、本発明は、非一過性コンピュータ可読記憶媒体と、コンピューティングデバイスまたは他の電子デバイス内のプロセッサに上述の技術を実行させるための、その媒体上に符号化されるコンピュータプログラムコードとを含む、コンピュータプログラム製品として実装することができる。
【０１２９】
本明細書中での「一実施形態」または「実施形態」への言及は、その実施形態に関連して説明される、具体的な機構、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書中の様々な場所での「一実施形態では」という語句の出現は、必ずしも全てが、同じ実施形態に言及するものではない。
【０１３０】
上記の一部の部分は、コンピューティングデバイスのメモリ内部のデータビットに対する操作の、アルゴリズムおよび記号表現の観点から提示される。これらのアルゴリズム的な説明および表現は、データ処理技術における当業者が、自身の仕事の実質的な内容を、他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、この場合、また一般的に、所望の結果を導く自己矛盾のない工程（命令）のシーケンスであると考えられる。工程とは、物理量の物理的操作を必要とするものである。通常は、必須ではないが、これらの量は、蓄積、転送、結合、比較、および他の方法で操作することが可能な、電気信号、磁気信号、もしくは光学信号の形態を取る。主に一般的な使用の理由から、時には、これらの信号を、ビット、値、要素、記号、文字、用語、数字として言及することが簡便である。更には、物理量の物理的操作を必要とする工程の特定の配列を、一般性を失うことなく、時には、モジュールまたはコードデバイスとして言及することもまた簡便である。
【０１３１】
しかしながら、これらの用語および同様の用語の全ては、適切な物理量と関連付けられるものであり、これらの量に適用される、単に簡便な標識に過ぎないことに留意するべきである。特に具体的な指定のない限り、以下の論考から明らかであるように、説明の全体を通して、「処理」、または「コンピューティング」、または「計算」、または「表示」、または「決定」などのような用語を利用する論考は、コンピュータシステムのメモリもしくはレジスター、または他のそのような情報記憶デバイス、伝送デバイス、もしくは表示デバイス内部の、物理（電子）量として表されるデータを、操作および変換する、コンピュータシステム、あるいは同様の電子コンピューティングモジュールおよび／またはデバイスの、動作ならびに処理を指すものと理解される。
【０１３２】
本発明の特定の態様は、本明細書ではアルゴリズムの形態で説明される、処理工程および命令を含む。本発明の処理工程および命令は、ソフトウェア、ファームウェア、および／またはハードウェアとして具体化することができ、ソフトウェアとして具体化される場合、様々なオペレーティングシステムによって使用される、種々のプラットフォームにダウンロードして、そのプラットフォーム上に存在させ、そのプラットフォームから操作することができる点に留意するべきである。
【０１３３】
本発明はまた、本明細書での動作を実行するための装置にも関連する。この装置は、必要とされる目的に関して特別に構成することができ、またはコンピューティングデバイス内に記憶されるコンピュータプログラムによって、選択的に起動もしくは再構成される、汎用コンピューティングデバイスを含み得る。そのようなコンピュータプログラムは、限定するものではないが、フロッピー（登録商標）ディスク、光学ディスク、ＣＤ−ＲＯＭ、磁気光学ディスクを含めた任意のタイプのディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ソリッドステートドライブ、磁気カードもしくは光学カード、特定用途向け集積回路（ＡＳＩＣ）、または電子命令を記憶させるために好適な任意のタイプの媒体などの、コンピュータ可読記憶媒体内に記憶させ、それぞれを、コンピュータシステムバスに接続することができる。更には、本明細書で言及されるコンピューティングデバイスとしては、シングルプロセッサを挙げることができ、またはコンピューティング能力の増大のために、マルチプロセッサ設計を採用するアーキテクチャーとすることもできる。
【０１３４】
本明細書に提示されるアルゴリズムおよび表示は、いずれかの特定のコンピューティングデバイス、バーチャル化システム、または他の装置に、固有に関連付けられるものではない。様々な汎用システムもまた、本明細書での教示に従うプログラムと共に使用することができ、または、より専用化された装置を構築して、必要とされる方法工程を実行することが簡便であると判明する場合もある。これらの様々なシステムに関して必要とされる構造は、本明細書に提供される説明から明らかとなる。更には、本発明は、いずれかの特定のプログラミング言語を参照して説明されるものではない。様々なプログラミング言語を使用して、本明細書で説明されるような本発明の教示を実装することができ、特定の言語への上記のいずれの言及も、本発明の実施可能かつ最良のモードの開示のために提供されるものであることが理解されるであろう。
【０１３５】
したがって、様々な実施形態では、本発明は、ソフトウェア、ハードウェア、および／またはコンピュータシステム、コンピューティングデバイス、もしくは他の電子デバイスを制御するための、他の要素、あるいはこれらの任意の組み合わせまたは複数として、実装することができる。そのような電子デバイスとしては、例えば、当該技術分野において周知の技術による、プロセッサ、入力デバイス（キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォン、および／またはこれらの任意の組み合わせなど）、出力デバイス（スクリーン、スピーカーなど）、メモリ、長期記憶装置（磁気記憶装置、光学記憶装置など）、および／またはネットワーク接続性を挙げることができる。本発明を実装するために使用することができる電子デバイスとしては、携帯電話、携帯情報端末、スマートフォン、キオスク、サーバコンピュータ、企業コンピューティングデバイス、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、消費者向け電子デバイス、テレビ、セットトップボックスなどが挙げられる。本発明を実装するための電子デバイスは、例えば、ＬＩＮＵＸ（登録商標）；ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ＲＥＤＭＯＮＤ，
ＷＡＳＨＩＮＧＴＯＮ）より入手可能なＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）；ＡＰＰＬＥ  ＩＮＣ．（ ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＭＡＣ  ＯＳ  Ｘ；ＡＰＰＬＥ  ＩＮＣ．（
ＣＵＰＥＲＴＩＮＯ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＩＯＳ；ＧＯＯＧＬＥ，ＩＮＣ．（ＭＯＵＮＴＡＩＮ  ＶＩＥＷ，ＣＡＬＩＦＯＲＮＩＡ）より入手可能なＡＮＤＲＯＩＤ、および／または、そのデバイス上での使用に関して適合される、任意の他のオペレーティングシステムなどの、任意のオペレーティングシステムを使用することができる。
【０１３６】
様々な実施形態では、本発明は、分散処理環境、ネットワーク化コンピューティング環境、またはウェブベースのコンピューティング環境で実装することができる。本発明の要素は、クライアントのコンピューティングデバイス、サーバ、ルーター、および／または他のネットワーク構成要素もしくは非ネットワーク構成要素上に実装することができる。一部の実施形態では、本発明は、一部の構成要素が１つ以上のクライアントのコンピューティングデバイス上に実装され、他の構成要素が１つ以上のサーバ上に実装される、クライアント／サーバのアーキテクチャーを使用して実装される。一実施形態では、本発明の技術を実装する過程で、クライアントは、サーバからコンテンツを要求し、サーバは、その要求に応答してコンテンツを返す。そのような要求および応答を可能にするために、またユーザーが、そのような対話処理を開始および制御して、提示されるコンテンツを視認することができる、ユーザーインターフェースを提供するために、クライアントのコンピューティングデバイスに、ブラウザーをインストールすることができる。
【０１３７】
本発明を実装するためのネットワーク構成要素のいずれか、または全ては、一部の実施形態では、任意の好適な電子ネットワーク使用して、有線または無線、もしくはそれらの任意の組み合わせで、互いに通信できるように結合し、そのような通信を可能にするための、任意の好適なプロトコルを使用することができる。そのようなネットワークの一例は、インターネットであるが、本発明は、他のネットワークを使用しても、同様に実装することができる。
【０１３８】
本発明は、限られた数の実施形態に関して説明されているが、上記の説明の恩恵を受けることにより、当業者には、本明細書で説明される本発明の範囲から逸脱することのない、他の実施形態を考案することができる点が理解されるであろう。更には、本明細書で使用される語法は、主に可読性および指示目的のために選択されており、本発明の主題の境界を定めるために、または制限するために選択されているとは限らないことに留意するべきである。したがって、本発明の開示は、特許請求の範囲に記載される、本発明の範囲を例示するものであり、限定するものではない。
【図１】
2014504384.tif 000004
【図２Ａ】
2014504384.tif 000005
【図２Ｂ】
2014504384.tif 000006
【図３】
2014504384.tif 000007
【図４】
2014504384.tif 000008
【図５】
2014504384.tif 000009
【図６】
2014504384.tif 000010
【図７】
2014504384.tif 000011
【図８】
2014504384.tif 000012
【図９Ａ】
2014504384.tif 000013
【図９Ｂ】
2014504384.tif 000014
【図９Ｃ】
2014504384.tif 000015
【図９Ｄ】
2014504384.tif 000016
【図１０Ａ】
2014504384.tif 000017
【図１０Ｂ】
2014504384.tif 000018
【図１０Ｃ】
2014504384.tif 000019
【図１０Ｄ】
2014504384.tif 000020
【図１１】
2014504384.tif 000021
【図１２Ａ】
2014504384.tif 000022
【図１２Ｂ】
2014504384.tif 000023
【図１２Ｃ】
2014504384.tif 000024
【図１２Ｄ】
2014504384.tif 000025
【図１２Ｅ】
2014504384.tif 000026
【図１２Ｆ】
2014504384.tif 000027
【図１３Ａ】
2014504384.tif 000028
【図１３Ｂ】
2014504384.tif 000029
【図１３Ｃ】
2014504384.tif 000030
【図１３Ｄ】
2014504384.tif 000031
【図１３Ｅ】
2014504384.tif 000032
【図１３Ｆ】
2014504384.tif 000033
【図１３Ｇ】
2014504384.tif 000034
【図１３Ｈ】
2014504384.tif 000035
【図１３Ｉ】
2014504384.tif 000036
【図１３Ｊ】
2014504384.tif 000037
【図１３Ｋ】
2014504384.tif 000038
【図１３Ｌ】
2014504384.tif 000039
【図１３Ｍ】
2014504384.tif 000040
【図１３Ｎ】
2014504384.tif 000041
【図１４】
2014504384.tif 000042
【図１５Ａ】
2014504384.tif 000043
【図１５Ｂ】
2014504384.tif 000044
【図１５Ｃ】
2014504384.tif 000045
【図１５Ｄ】
2014504384.tif 000046
【図１５Ｅ】
2014504384.tif 000047
【図１５Ｆ】
2014504384.tif 000048
【図１５Ｇ】
2014504384.tif 000049
【図１６Ａ】
2014504384.tif 000050
【図１６Ｂ】
2014504384.tif 000051
【図１６Ｃ】
2014504384.tif 000052
【図１６Ｄ】
2014504384.tif 000053
【図１６Ｅ】
2014504384.tif 000054
【図１６Ｆ】
2014504384.tif 000055
【図１６Ｇ】
2014504384.tif 000056
【図１６Ｈ】
2014504384.tif 000057
【図１６Ｉ】
2014504384.tif 000058
【図１７Ａ】
2014504384.tif 000059
【図１７Ｂ】
2014504384.tif 000060
【図１７Ｃ】
2014504384.tif 000061
【図１７Ｄ】
2014504384.tif 000062
【図１７Ｅ】
2014504384.tif 000063
【図１７Ｆ】
2014504384.tif 000064
【図１７Ｇ】
2014504384.tif 000065
【図１７Ｈ】
2014504384.tif 000066
【図１７Ｉ】
2014504384.tif 000067
【図１８Ａ】
2014504384.tif 000068
【図１８Ｂ】
2014504384.tif 000069
【図１８Ｃ】
2014504384.tif 000070
【図１８Ｄ】
2014504384.tif 000071
【図１８Ｅ】
2014504384.tif 000072
【図１８Ｆ】
2014504384.tif 000073
【図１８Ｇ】
2014504384.tif 000074
【図１８Ｈ】
2014504384.tif 000075
【図１８Ｉ】
2014504384.tif 000076
【図１９Ａ】
2014504384.tif 000077
【図１９Ｂ】
2014504384.tif 000078
【図１９Ｃ】
2014504384.tif 000079
【図１９Ｄ】
2014504384.tif 000080
【図１９Ｅ】
2014504384.tif 000081
【図１９Ｆ】
2014504384.tif 000082
【図１９Ｇ】
2014504384.tif 000083
【図１９Ｈ】
2014504384.tif 000084
【図１９Ｉ】
2014504384.tif 000085
【図２０Ａ】
2014504384.tif 000086
【図２０Ｂ】
2014504384.tif 000087
【図２０Ｃ】
2014504384.tif 000088
【図２０Ｄ】
2014504384.tif 000089
【図２０Ｅ】
2014504384.tif 000090
【図２０Ｆ】
2014504384.tif 000091
【図２１】
2014504384.tif 000092
【図２２Ａ】
2014504384.tif 000093
【図２２Ｂ】
2014504384.tif 000094
【図２２Ｃ】
2014504384.tif 000095
【図２２Ｄ】
2014504384.tif 000096
【図２２Ｅ】
2014504384.tif 000097
【国際調査報告】
2014504384.tif 000098
2014504384.tif 000099
2014504384.tif 000100
2014504384.tif 000101