"少なくとも1つの2次元画像からバーチャルツアーを生成するための、コンピュータ実装方法であって、プロセッサで、バーチャル3次元空間内での、前記少なくとも1つの2次元画像に関する位置および配向を確立することと、前記プロセッサで、前記バーチャル3次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の最初のカメラ視野を生成することと、前記最初のカメラ視野を出力デバイスに出力することと、前記プロセッサで、前記バーチャル3次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することと、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の変更されたカメラ視野を生成することと、前記変更されたカメラ視野を前記出力デバイスに出力することと、を含む、コンピュータ実装方法。バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、少なくとも1つの2次元画像からの距離で、最初の位置を確立することを含み、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項1に記載のコンピュータ実装方法。2次元画像のそれぞれが、物理的場所の視界を含む、請求項1に記載のコンピュータ実装方法。入力デバイスで、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを制御するための、ユーザー入力を受け取ることを更に含み、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することが、前記受け取られたユーザー入力に応答して実行される、請求項1に記載のコンピュータ実装方法。前記プロセッサで、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定することを更に含み、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、前記画定されたバーチャルケージの内部での位置を確立することを含み、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することが、前記制約の侵害を防止することを含む、請求項1に記載のコンピュータ実装方法。前記バーチャルケージを画定することが、バーチャルカメラの場所と、少なくとも1つの2次元画像の2つの縁部とを結ぶことによって、前記バーチャルケージの少なくとも2つの側壁部を画定することと、前記バーチャルケージの出口ポータルの場所を画定することであって、前記出口ポータルが少なくとも2つの縁部を有することと、前記2つの側壁部と前記出口ポータルの2つの縁部とを結ぶことによって、前記バーチャルケージの、少なくとも2つの更なる壁部を画定することと、を含む、請求項5に記載のコンピュータ実装方法。前記バーチャルケージを画定することが、前記バーチャルケージの出口ポータルの場所を画定することを更に含み、前記プロセッサで、前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定することであって、前記パイプが、開始点および終了点を有することと、前記プロセッサで、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定することと、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記プロセッサで、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させることと、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成することと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することと、を更に含む、請求項5に記載のコンピュータ実装方法。少なくとも1つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、請求項7に記載のコンピュータ実装方法。前記プロセッサで、第1の2次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第1のバーチャルケージを画定することと、前記プロセッサで、第2の2次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第2のバーチャルケージを画定することと、を更に含み、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することが、前記画定された第1のバーチャルケージの内部での位置を確立することを含み、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することが、前記制約の侵害を防止することを含む、請求項1に記載のコンピュータ実装方法。前記第1のバーチャルケージを画定することが、前記第1のバーチャルケージの出口ポータルの場所を画定することを更に含み、前記第2のバーチャルケージを画定することが、前記第2のバーチャルケージの入口ポータルの場所を画定することを更に含み、前記プロセッサで、前記第1のバーチャルケージの前記出口ポータルから、前記第2のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のためのパイプを画定することであって、前記パイプが、前記第1のバーチャルケージの前記出口ポータルに対応する開始点、および前記第2のバーチャルケージの前記入口ポータルに対応する終了点を有することと、前記プロセッサで、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記出口ポータルの前記画定された場所に対応するか否かを判定することと、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、前記プロセッサで、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させることと、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成することと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することと、前記第2のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、を更に含む、請求項9に記載のコンピュータ実装方法。少なくとも1つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、請求項10に記載のコンピュータ実装方法前記第1のバーチャルケージを画定することが、前記第1のバーチャルケージの第1の出口ポータルの場所を画定することと、前記第1のバーチャルケージの第2の出口ポータルの場所を画定することと、を含み、前記第2のバーチャルケージを画定することが、前記第2のバーチャルケージの入口ポータルの場所を画定することを含み、前記プロセッサで、第3の2次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第3のバーチャルケージを画定することと、前記プロセッサで、前記第3のバーチャルケージの入口ポータルの場所を画定することと、前記プロセッサで、前記第1のバーチャルケージの前記第1の出口ポータルから、前記第2のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のための第1のパイプを画定することであって、前記第1のパイプが、前記第1のバーチャルケージの前記第1の出口ポータルに対応する開始点、および前記第2のバーチャルケージの前記入口ポータルに対応する終了点を有することと、前記プロセッサで、前記第1のバーチャルケージの前記第2の出口ポータルから、前記第3のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のための第2のパイプを画定することであって、前記第2のパイプが、前記第1のバーチャルケージの前記第2の出口ポータルに対応する開始点、および前記第3のバーチャルケージの前記入口ポータルに対応する終了点を有することと、前記プロセッサで、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの出口ポータルの、1つの前記画定された場所に対応するか否かを判定することと、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記第1の出口ポータルの前記画定された場所に対応することに応答して、前記プロセッサで、前記バーチャルカメラを、前記第1のパイプの前記開始点から前記終了点まで、自動的に移動させることと、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記第1のパイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成することと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することと、前記第2のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記第2の出口ポータルの前記画定された場所に対応することに応答して、前記プロセッサで、前記バーチャルカメラを、前記第2のパイプの前記開始点から前記終了点まで、自動的に移動させることと、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記第2のパイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成することと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することと、前記第3のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立することと、を更に含む、請求項9に記載のコンピュータ実装方法。少なくとも1つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記パイプを通って移動する際の、一連の更なるカメラ視野を生成することを含み、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、請求項12に記載のコンピュータ実装方法。前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することが、自動的に実行される、請求項1に記載のコンピュータ実装方法。前記バーチャルケージを画定することが、前記バーチャルケージの入口ポータルの場所を画定することと、前記バーチャルケージの出口ポータルの場所を画定することと、を含み、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することが、前記入口ポータルから前記出口ポータルへと、前記バーチャルカメラを自動的に移動させることを含み、前記フレームバッファで、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記入口ポータルから前記出口ポータルへと移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成することと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することと、を更に含む、請求項14に記載のコンピュータ実装方法。少なくとも1つの更なるカメラ視野を生成することが、前記バーチャルカメラが、前記入口ポータルから前記出口ポータルへと移動する際の、一連の更なるカメラ視野を生成することを含み、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力することが、前記更なるカメラ視野の連続的な視野を出力することを含む、請求項15に記載のコンピュータ実装方法。バーチャル3次元空間内での、前記少なくとも1つの2次元画像に関する位置および配向を確立することが、少なくとも第1の2次元画像ならびに第2の2次元画像に関する、位置および配向を確立することを含み、前記最初のカメラ視野が、前記第1の2次元画像の少なくとも一部分を含み、前記変更されたカメラ視野が、前記第2の2次元画像の少なくとも一部分を含む、請求項1に記載のコンピュータ実装方法。前記ユーザーによる入力がない場合に、前記最初のカメラ視野と前記変更されたカメラ視野との間の移行を、前記出力デバイスに自動的に出力することを更に含む、請求項17に記載のコンピュータ実装方法。前記最初のカメラ視野および前記変更されたカメラ視野の少なくとも一方が、前記第1の2次元画像の少なくとも一部分と前記第2の2次元画像の少なくとも一部分との組み合わせを含む、請求項17に記載のコンピュータ実装方法。記憶デバイスで、カメラ視野を表す一連のフレームを記憶することを更に含む、請求項1に記載のコンピュータ実装方法。カメラ視野を表す一連のフレームを記憶することが、ビデオファイルを記憶することを含む、請求項20に記載のコンピュータ実装方法。電子ネットワークを通じて、前記記憶されたビデオファイルを伝送することを更に含む、請求項21に記載のコンピュータ実装方法。前記少なくとも1つの2次元画像の最初のカメラ視野を生成することが、前記少なくとも1つの2次元画像に変換を適用することを含む、請求項1に記載のコンピュータ実装方法。変換を適用することが、前記少なくとも1つの2次元画像に対する、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つに基づいて、変換を適用することを含む、請求項23に記載のコンピュータ実装方法。変換を適用することが、メッシュ変形を適用することを含む、請求項24に記載のコンピュータ実装方法。前記ことのうちの少なくとも1つが、クライアントのデバイスで実行され、前記ことのうちの少なくとも1つが、前記クライアントのデバイスに対して遠隔配置されるサーバで実行される、請求項1に記載のコンピュータ実装方法。サーバで、バーチャルツアーを含むウェブページに関する、クライアントの機械からの要求を受け取ることと、前記受け取られた要求に応答して、前記クライアントの機械に、バーチャルツアーを含むウェブページを送信することであって、前記バーチャルツアーが、少なくとも前記最初のカメラ視野および前記変更されたカメラ視野を含むことと、を更に含む、請求項1に記載のコンピュータ実装方法。少なくとも2つの2次元画像からバーチャルツアーを作成するための、コンピュータ実装方法であって、入力デバイスで、少なくとも2つの2次元画像を選択するユーザー入力を受け取ることと、前記入力デバイスで、前記2次元画像の少なくとも1つと前記2次元画像の少なくとも別の1つとの間の、少なくとも1つの移行を選択するユーザー入力を受け取ることと、プロセッサで、バーチャル3次元空間内での、前記少なくとも2つの2次元画像に関する位置および配向を確立することであって、前記位置および配向が、前記選択された少なくとも1つの移行に基づいて確立されることと、前記プロセッサで、バーチャル3次元空間内での前記少なくとも2つの2次元画像に関する、前記確立された位置および配向に基づいて、前記2次元画像の少なくとも1つから前記2次元画像の少なくとももう1つへの、探査経路を規定することと、記憶デバイスで、前記2次元画像、前記選択された少なくとも1つの移行、および前記規定された探査経路を、バーチャルツアーとして記憶することと、を含む、コンピュータ実装方法。少なくとも2つの2次元画像を選択するユーザー入力を受け取ることが、少なくとも2つの連続的な2次元画像を取得するための、ユーザー入力を受け取ることを含む、請求項28に記載のコンピュータ実装方法。前記プロセッサで、前記バーチャル3次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、前記プロセッサで、前記規定された探査経路を、前記バーチャルカメラに横断させることと、フレームバッファで、前記バーチャルカメラの、前記探査経路を横断する際の、前記位置、配向、およびズームレベルに基づいて、前記少なくとも2つの2次元画像の一連のカメラ視野を生成することと、前記生成された一連のカメラ視野を出力することと、を更に含む、請求項28に記載のコンピュータ実装方法。少なくとも1つの2次元画像からバーチャルツアーを生成するためのシステムであって、プロセッサであって、バーチャル3次元空間内での、前記少なくとも1つの2次元画像に関する位置および配向を確立し、前記バーチャル3次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、前記バーチャル3次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更するように構成される、プロセッサと、フレームバッファであって、前記プロセッサに通信できるように結合され、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の最初のカメラ視野を生成し、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の変更されたカメラ視野を生成するように構成される、フレームバッファと、出力デバイスであって、前記フレームバッファに通信できるように結合され、前記最初のカメラ視野を出力し、前記変更されたカメラ視野を出力するように構成される、出力デバイスと、を含む、システム。前記プロセッサが、少なくとも1つの2次元画像からの距離で、最初の位置を確立することによって、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立するように更に構成され、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項31に記載のシステム。2次元画像のそれぞれが、物理的場所の視界を含む、請求項31に記載のシステム。前記プロセッサに通信できるように結合され、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを制御するためのユーザー入力を受け取るように構成される、入力デバイスを更に含み、前記プロセッサが、前記受け取られたユーザー入力に応答して、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更するように更に構成される、請求項31に記載のシステム。前記プロセッサが、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定し、前記画定されたバーチャルケージの内部での位置を確立することによって、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、前記制約の侵害を防止することによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更するように更に構成される、請求項31に記載のシステム。前記プロセッサが、前記バーチャルケージの出口ポータルの場所を画定することによって、前記バーチャルケージを画定し、前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定し、前記パイプが、開始点および終了点を有し、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定し、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させるように更に構成され、前記フレームバッファが、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成するように更に構成され、前記出力デバイスが、前記少なくとも1つの更なるカメラ視野を出力するように更に構成される、請求項35に記載のシステム。前記プロセッサが、第1の2次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第1のバーチャルケージを画定し、第2の2次元画像に対して、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、第2のバーチャルケージを画定し、前記画定された第1のバーチャルケージの内部での位置を確立することによって、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、前記制約の侵害を防止することによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更するように更に構成される、請求項31に記載のシステム。前記プロセッサが、前記第1のバーチャルケージの出口ポータルの場所を画定することによって、前記第1のバーチャルケージを画定し、前記第2のバーチャルケージの入口ポータルの場所を画定することによって、前記第2のバーチャルケージを画定し、前記第1のバーチャルケージの前記出口ポータルから、前記第2のバーチャルケージの前記入口ポータルへの、前記バーチャルカメラの自動化移動のためのパイプを画定し、前記パイプが、前記第1のバーチャルケージの前記出口ポータルに対応する開始点、および前記第2のバーチャルケージの前記入口ポータルに対応する終了点を有し、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記出口ポータルの前記画定された場所に対応するか否かを判定し、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させ前記第2のバーチャルケージの前記入口ポータルの前記画定された場所で、前記バーチャルカメラに関する位置を確立するように更に構成され、前記フレームバッファが、前記バーチャルカメラの前記位置が、前記第1のバーチャルケージの前記出口ポータルの前記画定された場所に対応することに応答して、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成するように更に構成され、前記出力デバイスが、前記少なくとも1つの更なるカメラ視野を出力するように更に構成される、請求項37に記載のシステム。前記プロセッサが、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを、自動的に変更するように更に構成される、請求項31に記載のシステム。前記プロセッサが、前記バーチャルケージの入口ポータルの場所を画定し、前記バーチャルケージの出口ポータルの場所を画定することによって、前記バーチャルケージを画定し、前記入口ポータルから前記出口ポータルへと、前記バーチャルカメラを自動的に移動させることによって、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更するように更に構成され、前記フレームバッファが、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記入口ポータルから前記出口ポータルへと移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成するように更に構成され、前記出力デバイスが、前記少なくとも1つの更なるカメラ視野を出力するように更に構成される、請求項39に記載のシステム。前記プロセッサが、少なくとも第1の2次元画像ならびに第2の2次元画像に関する、位置および配向を確立することによって、バーチャル3次元空間内での、前記少なくとも1つの2次元画像に関する位置および配向を確立するように更に構成され、前記最初のカメラ視野が、前記第1の2次元画像の少なくとも一部分を含み、前記変更されたカメラ視野が、前記第2の2次元画像の少なくとも一部分を含む、請求項31に記載のシステム。前記出力デバイスが、前記ユーザーによる入力がない場合に、前記最初のカメラ視野と前記変更されたカメラ視野との間の移行を、自動的に出力するように更に構成される、請求項41に記載のシステム。前記最初のカメラ視野および前記変更されたカメラ視野の少なくとも一方が、前記第1の2次元画像の少なくとも一部分と前記第2の2次元画像の少なくとも一部分との組み合わせを含む、請求項41に記載のシステム。前記プロセッサに通信できるように結合され、カメラ視野を表す一連のフレームを記憶するように構成される記憶デバイスを更に含む、請求項31に記載のシステム。前記フレームバッファが、前記少なくとも1つの2次元画像に変換を適用することによって、前記少なくとも1つの2次元画像の最初のカメラ視野を生成するように更に構成される、請求項31に記載のシステム。少なくとも2つの2次元画像からバーチャルツアーを作成するシステムであって、入力デバイスであって、少なくとも2つの2次元画像を選択するユーザー入力を受け取り、前記2次元画像の少なくとも1つと前記2次元画像の少なくとも別の1つとの間の、少なくとも1つの移行を選択するユーザー入力を受け取るように構成される、入力デバイスと、プロセッサであって、前記入力デバイスに通信できるように結合され、バーチャル3次元空間内での、前記少なくとも2つの2次元画像に関する位置および配向を確立し、前記位置および配向が、前記選択された少なくとも1つの移行に基づいて確立され、バーチャル3次元空間内での、前記少なくとも2つの2次元画像に関する、前記確立された位置および配向に基づいて、前記2次元画像の少なくとも1つから前記2次元画像の少なくとも別の1つへの、探査経路を規定するように構成される、プロセッサと、記憶デバイスであって、前記プロセッサに通信できるように結合され、前記2次元画像、前記選択された少なくとも1つの移行、および前記規定された探査経路を、バーチャルツアーとして記憶するように構成される、記憶デバイスと、を含む、システム。前記入力デバイスに通信できるように結合され、2次元画像を取得するように構成される、画像取得デバイスを更に含み、前記入力デバイスが、前記画像取得デバイスに、少なくとも2つの連続的な2次元画像を取得させることによって、少なくとも2つの2次元画像を選択するユーザー入力を受け取るように構成される、請求項46に記載のシステム。前記プロセッサが、前記バーチャル3次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立し、前記規定された探査経路を、前記バーチャルカメラに横断させるように更に構成され、フレームバッファであって、前記プロセッサに通信できるように結合され、前記バーチャルカメラの、前記探査経路を横断する際の、前記位置、配向、およびズームレベルに基づいて、前記少なくとも2つの2次元画像の一連のカメラ視野を生成するように構成される、フレームバッファと、出力デバイスであって、前記フレームバッファに通信できるように結合され、前記生成された一連のカメラ視野を出力するように構成される、出力デバイスと、を更に含む、請求項46に記載のシステム。少なくとも1つの2次元画像からバーチャルツアーを生成するための、コンピュータプログラム製品であって、非一過性コンピュータ可読記憶媒体と、コンピュータプログラムコードであって、前記媒体上に符号化され、少なくとも1つのプロセッサに、バーチャル3次元空間内での、前記少なくとも1つの2次元画像に関する位置および配向を確立することと、前記バーチャル3次元空間内での、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立することと、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記最初の位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の最初のカメラ視野を生成することと、前記最初のカメラ視野を出力デバイスに出力させることと、前記バーチャル3次元空間内での、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更することと、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する前記変更された少なくとも1つの位置、配向、およびズームレベルに基づいて、前記少なくとも1つの2次元画像の変更されたカメラ視野を生成することと、を実行させるように構成される、コンピュータプログラムコードと、コンピュータプログラムコードであって、前記媒体上に符号化され、前記変更されたカメラ視野を出力デバイスに出力させるように構成される、コンピュータプログラムコードと、を含む、コンピュータプログラム製品。少なくとも1つのプロセッサに、バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立させるように構成される、前記コンピュータプログラムコードが、少なくとも1つのプロセッサに、少なくとも1つの2次元画像からの距離で、最初の位置を確立させるように構成される、コンピュータプログラムコードを含み、前記距離が、前記バーチャルカメラの焦点距離に等しい、請求項49に記載のコンピュータプログラム製品。2次元画像のそれぞれが、物理的場所の視界を含む、請求項49に記載のコンピュータプログラム製品。入力デバイスに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを制御するための、ユーザー入力を受け取らせるように構成される、前記コンピュータプログラムコードを更に含み、少なくとも1つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更させるように構成される、前記コンピュータプログラムコードが、前記受け取られたユーザー入力に応答して動作する、請求項49に記載のコンピュータプログラム製品。少なくとも1つのプロセッサに、前記バーチャルカメラの前記位置および配向の少なくとも一方に関する制約を含む、バーチャルケージを画定させるように構成される、コンピュータプログラムコードを更に含み、少なくとも1つのプロセッサに、前記バーチャルカメラに関する最初の位置、配向、およびズームレベルを確立させるように構成される、前記コンピュータプログラムコードが、少なくとも1つのプロセッサに、前記画定されたバーチャルケージの内部での位置を確立させるように構成される、コンピュータプログラムコードを含み、少なくとも1つのプロセッサに、前記バーチャルカメラの前記位置、配向、およびズームレベルのうちの少なくとも1つを変更させるように構成される、前記コンピュータプログラムコードが、少なくとも1つのプロセッサに、前記制約の侵害を防止させるように構成される、コンピュータプログラムコードを含む、請求項49に記載のコンピュータプログラム製品。少なくとも1つのプロセッサに、前記バーチャルケージを画定させるように構成される、前記コンピュータプログラムコードが、少なくとも1つのプロセッサに、前記バーチャルケージの出口ポータルの場所を画定させるように構成される、コンピュータプログラムコードを更に含み、少なくとも1つのプロセッサに、前記出口ポータルからの、前記バーチャルカメラの自動化移動のためのパイプを画定させるように構成される、コンピュータプログラムコードであって、前記パイプが、開始点および終了点を有する、コンピュータプログラムコードと、少なくとも1つのプロセッサに、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応するか否かを判定させるように構成される、コンピュータプログラムコードと、少なくとも1つのプロセッサに、前記バーチャルカメラの前記位置が、前記出口ポータルの前記画定された場所に対応することに応答して、前記バーチャルカメラを、前記パイプの前記開始点から前記終了点まで、自動的に移動させ、前記少なくとも1つの2次元画像の前記位置および配向に基づいて、かつ更に前記バーチャルカメラに関する、前記パイプを通って移動する際の、少なくとも1つの位置、配向、およびズームレベルに基づいて、少なくとも1つの更なるカメラ視野を生成させるように構成される、コンピュータプログラムコードと、前記少なくとも1つの更なるカメラ視野を、前記出力デバイスに出力させるように構成される、コンピュータプログラムコードと、を更に含む、請求項53に記載のコンピュータプログラム製品。少なくとも1つのプロセッサに、第1の2次元画像に対して、前記バーチャしかしながら、ある1つの場所または情景を対象範囲とする、デジタル写真の完全なセットを使用する場合であっても、殆どの既存の技術では、没入型の3次元バーチャルツアーを提供することは不可能である。反対に、一般的には、そのようなツアーを生成することができるのは、専用機器を使用して、環境の3次元モデルを作成する場合のみであり、そのような機器は、高コストで、使用が困難であり、一般のユーザーには容易に利用することができない。したがって、高品質のバーチャルツアーは、一般的には、そのような機器を導入して使用することができる物理的場所に関してのみ可能である。物理的場所の3次元モデルを取得する能力を有さないため、バーチャルツアーの生成に関する従来の方法は、十分な没入方のツアーを生成するための機構を提供することができない。更には、バーチャルツアーの提供に関する既存の技術は、十分なユーザー体験を提供するために著しい量のデータを伝送しなければならないため、全般的に、多大な帯域幅を消費する。更には、ツアーの一態様または一部分の変更には、一般に、そのツアー全体の再描画が必要となるため、バーチャルツアーに変更を加えることは、困難である場合が多い。更には、バーチャルツアーの提供に関する既存の技術は、全般的には、ユーザーがマウスをドラッグするか、またはキーボード上のキーを押すことによって、情景内をナビゲートすることを必要とする。1つの画像から次の画像への移行は、ユーザーの動作に応答して実施される。従来の機構は、全般的には、1つの画像から次の画像への移行が、ユーザー入力を必要とすることなく自動的に実施される技術を提供するものではない。更には、バーチャルツアーの提供に関する多くの既存の技術は、1つの画像から次の画像へと移行する際に、不連続部を生じさせ、この不連続部により、ユーザーは、自身の空間的基準を喪失させられる恐れがある。本発明の様々な実施形態によれば、対話型の3次元3Dバーチャルツアーが、写真などの、通常の2次元2D静止画像から生成される。2つ以上の2D画像が組み合わされて、3次元空間内での、それらの2D画像間の関係を規定する、3D情景を形成する。規定される空間関係に従って、2D画像を互いに接続するために、また、1つの画像から次の画像への、バーチャルカメラの移動を導くために、3Dパイプが画定される。3Dパイプが画定されると、ユーザーは、その3Dの情景の内部で画像を横断することによって、例えば1つの画像から別の画像へと3Dパイプに沿って移動することによって、3Dバーチャルツアーを行なうことができる。様々な実施形態では、一部または全ての2D画像を、選択的に歪めるか、もしくは他の方法で変換して、3D効果を増強することにより、ユーザーが3D空間の内部を移動しているという印象を補強することができる。様々な実施形態では、3Dバーチャルツアー内をナビゲートするための、種々の機構を提供することができる。情景を通過するバーチャルな移動を制御する機会を、ユーザーに提供することができる。あるいは、情景内でのナビゲーションが、ユーザーとの対話処理を必要とすることなく自動的に実施される、インターフェースを提供することができる。一実施形態では、ナビゲーションは、自動的に、パイプおよび写真を通過して移動し、パイプを横断する際に2D画像間の移行を開始することによって達成される。1つの画像から次の画像への移行は、それゆえ、ユーザー入力を必要とすることなく、自動的に実施することができる。様々な実施形態によれば、本明細書で説明されるように、3D情景を符号化して記憶するためのファイル形式が定義される。この3D情景ファイルから、3D対話型バーチャルツアーを生成するための、方法およびユーザーインターフェースもまた説明される。様々な実施形態によれば、2つ以上の画像ファイルの内部に、それらの画像ファイル間の3D空間関係を説明するためのデータを埋め込むことができる。様々な実施形態によれば、本発明のシステムおよび方法は、地理位置情報によって地図上に位置決めされる360°パノラマ写真に基づく、GOOGLESTREETVIEWおよびBINGSTREETSIDEなどの、パノラマ式景観を提供するための他の技術に勝る、幾つかの有利点を提供する。例えば、一実施形態では、本発明のシステムおよび方法により、ユーザーは、2D画像を使用して作成されるバーチャル3D環境の内部で移動することが可能になる。一実施形態では、1つの画像から次の画像への移行は、ユーザーが、パイプの前面ドアと交差する際に実施され、ユーザーは、そのような移行を開始するために、いずれの明示的な命令を実行する必要がない。この技術は、クリックなしナビゲーションNWCと称される。更には、一実施形態では、本発明のシステムおよび方法により、生成するために特別な機器が必要となる場合があるパノラマ画像を必要とすることなく、通常のデジタルカメラで取得される2D画像から、3Dバーチャルツアーを生成することが可能になる。3Dバーチャルツアーは、ビデオのソースファイルを必要とすることなく、静止画像から生成することができる。更には、本発明によって生成される3Dバーチャルツアーは、ビデオをストリーミングすることによって消費されるよりも小さい帯域幅が使用され、かつ多くの既存のバーチャルツアーシステムよりも小さい帯域幅が使用される、クライアント/サーバ環境で提供することができる。3Dバーチャルツアーのサイズは、同じ物理的領域を対象範囲とするビデオよりも、著しく小さいものにすることができる。更には、2D画像は、新たな画像に置き換えることができ、次にその新たな画像を使用して、新たなバーチャルツアーを生成することができるため、容易に変更を加えることができる。様々な実施形態によれば、本発明のシステムおよび方法を使用して、多種多様な用途に関する3Dバーチャルツアーを生成することができる。例としては、不動産、旅行、教育、オンラインショッピング、グリーティングカード、人々、博物館、大学キャンパス、競技場、クルーズ、ホテル、行楽地、産業施設、レストラン、カフェ、店舗、教室、ゲーム、バーチャルトレーニングなどが挙げられる。これらのうちのいずれも、ネットワーク化、分散化、ウェブ対応化、および/または独立型のいずれかの、任意の既知のアーキテクチャーで構成することができ、パーソナルコンピュータ、モバイルデバイス、キオスク、および/または任意の電子デバイスを使用してアクセスすることができる。当業者には、このリストは単に例示的なものであり、本発明の技術は、3Dバーチャルツアーを生成することが有用であり得る、いずれの状況においても実装することができる点が理解されるであろう。添付される図面は、本発明の幾つかの実施形態を示し、説明と併せて、その実施形態による本発明の原理を説明するために役立つ。当業者には、図面に示される具体的な実施形態は、単に例示的なものであり、本発明の範囲を限定するものではないことが理解されるであろう。本発明の様々な実施形態によれば、3D対話型バーチャルツアーは、写真などの、2つ以上の静止画像から生成される。以下の説明の全体を通して、用語画像、写真、および写真画像を使用するが、しかしながら、当業者には、本発明は、任意の静止画像を使用して実装することができ、写真に限定されるものではないことが理解されるであろう。それゆえ、画像、写真、および写真画像への言及は、任意の静止画像、絵図、写真、見取り図などを包含すると見なすべきである。本明細書で提供される説明では、以下の用語が使用される。2D画像とは、デジタル画像ファイル内に符号化される、写真などの任意の画像である。3D情景とは、2つ以上の2D画像間の、3D空間内での位置および関係を規定する、構成体である。カメラとは、3D情景の内部での焦点距離、位置、および配向の観点から規定される、バーチャルカメラである。ユーザーのためのスクリーン画像は、このカメラの位置および配向、ならびにカメラの視界の範囲内に同時に存在する1つ以上の2D画像に基づいて生成される。ケージとは、2D画像を視認している間の、許容されるカメラの移動の範囲を規定する、3D空間内の構成体である。3Dパイプ、すなわちパイプとは、1つの2D画像の視界から別の2D画像の視界へと移動する際に、バーチャルカメラによって横断される、画定された経路である。3D対話型バーチャルツアー、すなわち3Dバーチャルツアーとは、3D情景を通過する探査であり、この探査は、ユーザーによって制御することができ、または自動化することもできる。一実施形態では、3D情景は、2D写真間の1つ以上の関係を、3D空間内で確立することによって生成される。1つの2D写真から別の2D写真への移動は、3Dパイプの観点から指定される。一実施形態では、3D情景は、3D関係を説明する情報を伴う写真を含む、ファイルとして生成される。次いで、その3D情景を使用して、バーチャルツアーを実装する。他の実施形態では、3D情景の定義ファイルを、写真自体から分離することができる。システムアーキテクチャー様々な実施形態によれば、本発明は、任意の電子デバイス上に、または任意数の電子デバイスを含む電子ネットワーク上に実装することができる。そのような電子デバイスのそれぞれは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末PDA、携帯電話、スマートフォン、音楽プレーヤー、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク、ゲームシステムなどとすることができる。後述のように、本発明は、独立型コンピューティングシステムもしくは他の電子デバイス内に、または電子ネットワークを通じて実装されるクライアント/サーバ環境内に実装することができる。2つ以上の電子デバイス間の通信を可能にする電子ネットワークは、ハイパーテキスト転送プロトコルHTTP、セキュリティ強化ハイパーテキスト転送プロトコルSHTTP、伝送制御プロトコル/インターネットプロトコルTCP/IPなどのような、周知のネットワークプロトコルを使用して実装することができる。そのようなネットワークは、例えば、インターネットまたはイントラネットとすることができる。ネットワークへの安全なアクセスは、バーチャルプライベートネットワークVPNなどの周知の技術を介して促進することができる。本発明は、例えばインターネットを介した3D対話型バーチャルツアーの提示に関連して、本明細書で説明されるが、当業者には、本発明の技術を、他の関連で、また実際に、2D画像からの情景の3D表現を生成することが望ましい任意のシステム内で、実装することができる点が理解されるであろう。したがって、以下の説明は、本発明の様々な実施形態を、特許請求される発明の範囲を限定するためではなく、例として示すものとする。一実施形態では、本発明は、コンピュータデバイス上で動作するソフトウェアアプリケーションとして実装される。別の実施形態では、本発明は、少なくとも1つのサーバおよび少なくとも1つのクライアントを含む、クライアント/サーバ環境内で動作するソフトウェアアプリケーションとして実装される。例えば、本発明は、3D対話型バーチャルツアーを提示するためのウェブサイトの一部として、サーバからコンピューティングデバイスにウェブページのセットを送信することによって、実装することができ、そのようなウェブページは、ADOBEFLASH、QUICKTIME、ダイナミックHTMLDHTMLなどを介して提示される、動的コンテンツを含み得る。ユーザーは、コンピュータ、モバイルデバイススマートフォンなど、タブレットコンピュータ、もしくは他のコンピューティングデバイス上で動作する、ブラウザーまたは他のソフトウェアアプリケーションを介して、3D対話型バーチャルツアーを視認および対話処理することができる。あるいは、本明細書で説明される技術は、任意の他のタイプのコンピューティングデバイス、デバイスの組み合わせ、またはプラットフォーム上に実装することができる。ここで図7を参照すると、本発明の一実施形態による、独立型コンピューティングデバイス701内で、3D対話型情景バーチャルツアーファイル501から3D対話型バーチャルツアーを生成するためのシステム700に関する、ハードウェアアーキテクチャーを示すブロック図が示される。システム700は、3D対話型バーチャルツアービューアー711を実行するためのプロセッサ810を有する、コンピューティングデバイス701を含み、この3D対話型バーチャルツアービューアー711を、本明細書で説明される工程を実行するためのソフトウェアとして実装することができる。コンピューティングデバイス701は、3D対話型情景バーチャルツアーファイル501を記憶するための、ハードディスクドライブなどの局部記憶装置710を含む。コンピューティングデバイス701は、ソフトウェアを動作させるために適合される任意の電子デバイスとすることができ、例えば、コンピューティングデバイス701は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末PDA、携帯電話、スマートフォン、音楽プレーヤー、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク、ゲームシステムなどとすることができる。一実施形態では、コンピューティングデバイス701は、MICROSOFTCORPORATIONREDMOND,WASHINGTONより入手可能なMICROSOFTWINDOWS登録商標、もしくはAPPLEINC.CUPERTINO,CALIFORNIAより入手可能なMACOSX、もしくはAPPLEINC.CUPERTINO,CALIFORNIAより入手可能なIOS、もしくはGOOGLE,INC.MOUNTAINVIEW,CALIFORNIAより入手可能なANDROIDなどのオペレーティングシステムを動作させる、デスクトップコンピュータまたはモバイルコンピューティングデバイスである。一実施形態では、コンピューティングデバイス701は、APPLEINC.CUPERTINO,CALIFORNIAより入手可能なIPHONEまたはIPADである。モバイルプラットフォームに特に適している実装の実施例を、本明細書で説明する。本発明の技術は、周知の技術によりコンピューティングデバイス701上で動作する、ソフトウェアアプリケーション内に実装することができる。例えば、このソフトウェアアプリケーションは、独立型ソフトウェアアプリケーションとするか、あるいはMICROSOFTCORPORATIONREDMOND,WASHINGTONより入手可能なMICROSOFTINTERNETEXPLORERなどのブラウザーを介して、もしくは専用のウェブベースのクライアントソフトウェアによってアクセス可能な、ウェブベースのアプリケーションまたはウェブサイトとすることができる。一実施形態では、コンピューティングデバイス701は、当業者には周知であるような、多数のハードウェア構成要素を含む。入力デバイス803は、キーボード、マウス、タッチスクリーン、トラックボール、トラックパッド、5方向スイッチ、音声入力デバイス、ジョイスティック、および/またはこれらの任意の組み合わせとすることができ、この入力デバイス803を使用して、ユーザー830は、3Dツアーソフトウェア711に入力を提供することができる。出力デバイス805は、3Dツアーの視覚的態様を含めた情報を、ユーザー830に対して表示するためのディスプレイ画面とすることができ、かつ/あるいはスピーカー、プリンター、および/またはこれらの任意の組み合わせを含み得る。出力デバイス805は、2Dまたは3Dの出力デバイスとすることができる。コンピューティングデバイス701は、グラフィカルユーザーインターフェースを提供するようにプラグラムすることができ、このグラフィカルユーザーインターフェースを通じて、ソフトウェア711がユーザー830と対話し、また逆も同様である。プロセッサ810は、ソフトウェアの指示下でデータに対する操作を実行するための、周知の技術による、従来のマイクロプロセッサとすることができる。メモリ812は、ソフトウェアを動作させる過程でプロセッサ810によって使用されるための、当該技術分野では既知であるような構造およびアーキテクチャーを有する、ランダムアクセスメモリとすることができる。局部記憶装置710は、デジタル形式でのデータの記憶のための、任意の磁気記憶装置、光学記憶装置、および/または電気記憶装置とすることができ、例としては、フラッシュメモリ、磁気ハードドライブ、CD-ROMなどが挙げられる。一実施形態では、局部記憶装置710は、バーチャルツアーを提示する際に使用されるデータを含む3Dツアーファイル510、および/またはバーチャルツアーを提示する過程でプロセッサ810によって実行される3Dツアーソフトウェア711を含む。当業者には、図7に示すハードウェア要素の具体的な配置構成は、単に例示的なものであり、本発明は、多種多様な方法のうちのいずれかで構成される、種々のハードウェア要素を使用して実装することができる点が理解されるであろう。それゆえ、図7に示す具体的なアーキテクチャーは、単に説明的なものであって、いかなる方法でも本発明の範囲を限定するものではない。ここで図8を参照すると、本発明の一実施形態による、クライアント/サーバ環境内で本発明を実践するための、ハードウェアアーキテクチャーを示すブロック図が示される。そのようなアーキテクチャーは、例えば、ウェブページまたはウェブベースの3Dツアーアプリケーションに関連して、本発明の技術を実装するために、使用することができる。プロセッサ810が、周知の技術により、ブラウザー813のソフトウェアを動作させる。ブラウザー813は、MICROSOFTCORPORATIONREDMOND,WASHINGTONより入手可能なMICROSOFTINTERNETEXPLORERなどの、任意の従来のブラウザーとすることができる。ネットワーク通信インターフェース807は、通信ネットワーク823を介した、他のコンピューティングデバイスとの間でのデータの通信を促進する、電子構成要素である。通信ネットワーク823は、インターネット、または任意の他の電子通信ネットワークとすることができる。例えば、通信は、TCP/IPプロトコルおよびHTTPプロトコルを使用して、インターネットを介して実装することができる。サーバ821は、ネットワーク823を介してコンピューティングデバイス701と通信し、一実施形態では、コンピューティングデバイス701に対して遠隔配置または手元配置することができる。一実施形態では、サーバ821は、データ記憶822に関連付けられ、このデータ記憶822は、ウェブページ824および/または3Dツアーファイル501などのウェブベースのリソースに関する、リポジトリとしての役割を果たし得る。あるいは、3Dツアーファイル501は、コンピューティングデバイス701の局部記憶装置710内に存在する場合がある。一実施形態では、コンピューティングデバイス701からの要求に応答して、サーバ821は、ネットワーク823を介して、コンピューティングデバイス701にウェブページ824を送信する。そのようなウェブページ824のいずれか、または全ては、ブラウザー813を介して本発明の技術の一部または全てを実装するための、コンピューティングデバイス701上での実行に関するコードを含み得る。あるいは、本発明の技術を実装するためのソフトウェアコードは、コンピューティングデバイス801に存在する場合がある。例えば、3Dツアーソフトウェア811を、ブラウザー813用のプラグインとして実装することができ、または3Dツアーソフトウェア811は、データ記憶822に存在する場合があり、コンピューティングデバイス701からの要求に応答して、その場所で実行することができる。当業者には、本発明は、適切な場合には、分散型ソフトウェアアーキテクチャーを使用して実装することができる点が理解されるであろう。当業者には、図8に示すクライアント/サーバアーキテクチャーは、単に例示的なものであり、ウェブベースである場合も、またはウェブベースではない場合もあるアーキテクチャーを含めた、他のアーキテクチャーを使用して、本発明を実装することができる点が更に理解されるであろう。それゆえ、図8に示す具体的なアーキテクチャーは、単に説明的なものであって、いかなる方法でも本発明の範囲を限定するものではない。単一の画像から生成される3D空間一実施形態では、本発明は、写真などの単一の2D画像から作成されるバーチャル3D空間内で、バーチャルカメラを移動させることによって、対話型3Dバーチャルツアーを提供する。この2D画像は、例えば、部屋、風景、または史跡などのような、任意の情景のものとすることができる。それゆえ、この2D画像は、現実世界の3次元空間の、平坦な表現とすることができる。2D画像を視認している間に、3D空間内でバーチャルカメラを移動させることによって、本発明のシステムは、その2D画像が、実際には現実世界の3次元空間の3D表現を全く含まない場合であっても、根底にある現実世界の3次元空間または、その近似の内部での移動を、シミュレートすることが可能である。ユーザーの画面上では、その2D画像は、現実世界の3次元空間の内部での移動をシミュレートする方式で、歪められ、サイズ変更され、かつ/または他の方法で変換される。一実施形態では、バーチャルカメラは、ユーザー入力に応答して移動し、別の実施形態では、バーチャルカメラは、ユーザー入力を必要とすることなく、自動的に移動する。一実施形態では、このシミュレーションは、2D画像に3D位置情報を追加することによって、増強することができる。3D空間は、2D画像から抽出される自動的に、または人間の入力に基づいて消失点によって、2D画像から生成される。3Dモデルは、既知の写真測量技術および描画ルーチンを使用して、その消失点を用いて構築される。あるいは、特に実際の消失点を抽出することが現実的または可能とすることができない場合の用途では、消失点は、特定の場所に存在するものとして想定することができる。2つ以上の画像から生成される3D空間別の実施形態では、本発明は、2つ以上の2D画像から、それらの2D画像間の3D空間内での関係を規定することによって作成される、バーチャル3D空間内で、バーチャルカメラを移動させることによって、対話型3Dバーチャルツアーを提供する。それゆえ、バーチャルカメラは、2D画像のうちの1つを視認している間に移動して、1つの2D画像を視認している位置から、別の2D画像を視認している別の位置へと移動することができる。一実施形態では、そのような移動は、3Dパイプの観点から規定される3D移行経路に沿って実施される。カメラはまた、2D画像のうちのいずれかを視認している間、画定されたケージの内部で移動することにより、上述の方式で3D移動をシミュレートすることもできる。この3D移動の現実性を改善するために、単一画像の実装に関して上述したものと同じ方式で、消失点を抽出または想定して、3Dモデルを作成することができる。任意数の2D画像を、3D空間内に位置決めして、1つの画像から次の画像へと、3Dパイプが導くことで、ユーザーによって横断することができる3D空間を規定することができる。一実施形態では、バーチャルカメラは、ユーザー入力に応答して移動し、別の実施形態では、バーチャルカメラは、ユーザー入力を必要とすることなく、自動的に移動する。移動は、画定されたケージによって制約することができる。これらの様々な形態の行程および移動が、それゆえ、3D対話型バーチャルツアーを形成する。3D情景の構成要素ここで図1を参照すると、本発明の一実施形態による、3D対話型バーチャルツアーを生成するための、3D情景の実施例100が示される。実施例100は、3次元空間103内に画定されるパイプ103と共に、2つの画像101および画像102写真または任意の他のタイプの画像とすることができるを含む。110に示すように、一実施形態では、3次元空間内で、画像101と画像102との間に、空間関係が規定され、この空間関係は、3Dパイプ103によって規定される。ここで図2Aおよび図2Bも参照すると、本発明の一実施形態による、対話型バーチャルツアーの生成のための、3D情景の実施例が、より詳細に示される。図2Aでは、画像101の3次元表現200の実施例を示す。この実施例では、カメラの視点201は、画像を取得するために使用されたカメラの焦点距離203に定置される。射線202などの射線が、カメラの視点201、および画像101内の選択点204によって規定される。説明図210は、3次元空間内に画定されるような3Dパイプ103を示す。この実施例では、パイプ103は、それぞれ、3Dパイプ103を通過するカメラの経路の入口および出口を表す、前面ポータル211および後面ポータル212それぞれ前面ドアおよび後面ドアとも称されるによって画定される。壁部213などの壁部は、ポータル211およびポータル212によって決定される。図2Bは、本発明の一実施形態による、より詳細な3D情景の実施例250を示す。画像101および画像102が、3次元空間内で、3Dパイプ103に対して位置決めされる。パイプ103は、3次元空間内に配置され、その幾何学形状は、例えば、座標のセットによって規定することができる。説明図251は、図示の実施例による、前面ポータル211に対する画像101の相対的位置決めを示す、平面図を示す。画像101の場所は、例えば、カメラの視点201と前面ポータルの中心223との間の、3D変換252並進および回転マトリックスによって説明することができる。画像102は、後面ポータルに対して位置決めされる。その場所は、例えば、カメラの視点205と後面ポータルの中心224との間の、3D変換253並進および回転マトリックスによって説明することができる。図3は、3Dパイプ103に沿って誘導されるカメラの移動を規定するための機構の実施例300を示す。一実施形態では、経路301などの経路は、前面ポータル211内の中心点から後面ポータル212内の中心点までの探査に基づいて決定される。所定の錘台角度303を有するバーチャルカメラ302が、そのような経路に沿って、定められたフレームレートで移動する。一実施形態では、バーチャルカメラ302は、そのバーチャルカメラ302の位置および視角から視認されるような画像101の表現を含む、フレームバッファと関連付けられる。バーチャルカメラ302のフレームバッファのコンテンツは、その情景のカメラ視野とも称され、出力デバイス805に送って、ユーザー830に対して表示することができる。あるいは、フレームバッファのコンテンツを示す連続的なフレームは、後の視認のために記憶することができ例えば、ビデオファイルとして、かつ/または送信する例えば、電子ネットワークを介してことができる。3D情景の作成ここで図4を参照すると、本発明の一実施形態による、対話型バーチャルツアーに関する3D情景を作成および生成するための方法を示す、流れ図が示される。図4の方法は、図7もしくは図8に示すアーキテクチャーを有するシステムによって、または任意の他の好適なアーキテクチャーを有するシステムによって、実行することができる。図4の方法を使用して、図2Bに関連して上述したような3D情景を構築することができる。本方法が開始される400。工程401では、3Dパイプ103が画定される。上述のように、3Dパイプ103は、3次元空間座標によって規定することができる。カメラ302の移動は、3Dパイプ103の前面ポータル211と後面ポータル212との間に規定された経路に沿って誘導される。このパイプおよび経路の規定は、例えば、局部記憶装置710および/またはサーバのデータ記憶822内の、XMLファイル内に記憶させることができる。画像が、例えばデータベース内のポインタを使用して、パイプの前面ゲートおよび後面ゲートと関連付けられる。この画像が、3D情景に関連付けられる第1の画像のペアであるか否かの判定が行なわれる402。これらの画像が第1のペアである場合には、第1の画像は、パイプ103の前面ポータル211の場所に従って、3D空間内の一定の距離および回転で位置決めされる403。第2の画像は、パイプ103の後面ポータル212の場所に従って、3D空間内の一定の距離および回転で位置決めされる404。これらの距離および回転のそれぞれは、例えば、並進および回転のマトリックスによって、または任意の他の好適な手段によって規定することができる。工程402で、3D情景と関連付けられる新たな画像が、第1のペアの一部ではない場合には、新たなパイプ103が構築され、パイプ103の前面ポータル211が、直前に関連付けられた従前の画像のカメラ302の視点に対して位置決めされる。命名法の容易性のために、新たなパイプ103は、パイプXと称され、また従前の画像は、画像X-1と称され、3D情景と直前に関連付けられた画像を指す。3D情景と新たに関連付けられる画像画像Xは、3Dパイプ103の後面ポータル212に対して位置決めされる406。それゆえ、新たな画像のそれぞれが3D情景と関連付けられる際、新たなパイプ103が構築され、その位置は、従前の画像に対して規定され、新たな画像は、その新たなパイプ103に対して規定される位置を有する。工程407で、3D情景と関連付けられる画像が更に存在する場合には、本方法は工程401に戻る。存在しない場合には、3D情景の生成は完了する。一実施形態では、画像ファイルを含めた情景の情報は、パイプの幾何学形状、誘導されるカメラ302の移動、および3D空間内での全ての構成要素間の相対位置を説明する、3Dデータと共に、単一のファイルへと圧縮される408。そのようなファイルに関して、任意の好適なデータ構造および形式を使用することができ、一実施例を、図5に関連して以下に記載する。次いで、本方法が終了する499。3D情景のファイル形式図5は、本発明の一実施形態による、対話型バーチャルツアーの生成に関するファイルを生成する際に使用することができるような、3D情景を説明するためのファイル形式500の実施例を示す。この実施例では、ファイル形式501は、メタデータを有するヘッダー510を含み、このメタデータは、例えば、画像および3Dパイプの数、ならびにそのサイズを含む。また、ファイル形式501内には、1~Nに配列される、その情景の全ての画像のデータストリームを提供する、データブロック511も含まれる。画像データを、そのファイル自体の中に含めることができ、またはポインタを含めることにより、何らかのデータ記憶デバイス内の、その画像の場所を参照することもできる。また、ファイル形式501内には、1~N-1に配列される、各パイプの幾何学形状を説明するデータストリームを提供する、データブロック512が含まれる。当業者には、図5に示すファイル形式は、単に例示的なものであり、本発明の本質的特性から逸脱することなく、他のデータの配列を使用することができる点が理解されるであろう。更には、本発明の本質的特性から逸脱することなく、図示の要素のうちのいずれかを省略することができ、かつ/または新たな要素を追加することができる。3D対話型バーチャルツアーの生成図6は、図5に関連して上述した形式501により、3D情景ファイル内に記憶される3D情景から、3D対話型バーチャルツアーを生成するための方法600を示す、流れ図である。本方法が開始される600。3Dバーチャルツアーファイル501が復号され601、3D情景が確立する。工程601は、例えば、画像101、102などの解凍、それらの画像の3D空間内での位置決め、ならびに/あるいは3Dパイプ103の確立および画像の視点へのリンク付けを含み得る。フレームレート、視点などのようなパラメータが決定された、バーチャルカメラ302が確立される602。一実施形態では、バーチャルカメラ302の視点は、カメラ302の焦点距離に、画像1101を取得するために使用されたCCD開口率を加えたものに等価となるように確立される。カメラ302のパラメータは、例えば、XMLファイルを介して規定することができる。一実施形態では、バーチャルカメラ302は、3D情景内に、第1の画像101画像1とも称されるの焦点距離で、かつその法線に垂直に位置決めされる603。このことにより、カメラ302の視点は、第1の画像101の全体を対象範囲とすることが可能になる。バーチャルカメラ302の位置からの画像は、例えば、カメラ302のフレームバッファのコンテンツを、ユーザー830に提示するために、出力デバイス805に対して出力することによって、表示される604。その結果は、第1の画像101の描画である。カメラの自由度は、それらの自由度に沿ったカメラの移動を実施させるイベントと共に、規定される605。例えば、一実施形態では、カメラ302は、第1の画像101に垂直な平面の範囲内での移動を可能にする一方で、ピッチおよびロールの回転を不可能にするように構成することができる。他の実施形態では、他のタイプの移動を、可能または不可能にすることができる。位置および回転を含めたカメラの移動は、例えば、入力デバイス803に対して提供される入力を介して、ユーザー830によって制御することができ、例えば、ユーザー830は、入力デバイス803によって提供される入力モードに応じて、マウスもしくはトラックボールなどのポインティングデバイスを操作するか、または矢印キーを押すか、またはタッチセンシティブスクリーンもしくは他の表面に触れることができる。あるいは、一実施形態では、そのようなナビゲーションは、ユーザー入力を使用することなく、自動的に実施される。カメラ302を移動させるための、ユーザー入力が受け取られる606あるいは、そのような移動が自動的に実施される。工程607では、カメラ302が、パイプ103の前面ポータル211と交差したか否かの判定が行なわれる。一実施形態では、このことにより、カメラ302は、その新たなパイプ103を通り、その後面ポータルへと自動的に移動する609。一実施形態では、この自動的な移動は、滞りなく、かつユーザー830によるいずれの行為も必要とすることなく、実行される。この技術は、クリックなしナビゲーションNWCと称される。別の実施形態では、ユーザー830は、パイプ103を通過する移動を制御することができる。工程607で、カメラ302が、パイプ103の前面ポータル211と交差していない場合には、カメラ302は、ユーザー入力によってまたは自動的な移動によって規定される、新たな位置に移動する。カメラ302の新たな位置からの画像は、例えば、カメラ302のフレームバッファのコンテンツを、ユーザー803に提示するために、出力デバイス805に対して出力することによって、表示される608。この方式で、バーチャル3D情景を、バーチャルカメラ302が通過して移動するように見せる。バーチャルツアーを終了する場合610には、本方法は終了する699。そうではない場合には、本方法は、工程606に戻る。ケージおよびパイプの実施例一実施形態では、3D空間の内部でのバーチャルカメラ302の移動を制約するために、バーチャルケージが確立される。ここで図9A~9Dを参照すると、本発明の一実施形態による、カメラ302の移動を制御するためのケージ901、および1つの画像から次の画像へとカメラ302を誘導するためのパイプ103を、作成ならびに構成するための技術の実施例が示される。図9Aは、カメラ302が、画像写真など102Aから、焦点距離903と等しい距離で定置される、初期設定を示す。この場合、パイプ103は、三角形の断面上方から見る場合を有する構成体として示される。パイプ103は、前面ポータル211および後面ポータル212を含む。この実施例では、カメラ302は、前面ポータル211の境界を定める水平の線に沿った任意の地点で、パイプ103に進入することができる。カメラ302がパイプ103に進入すると、カメラ302は、後面ポータル212に向けて方向付けられ、一実施形態では、そのような移動は、自動的に実施されることにより、1つの画像102Aから別の画像へと、ビューアーを円滑に移送することができる。一実施形態では、出力デバイス805ディスプレイ画面など上に示される画像は、カメラ302の視座からの、画像102Aのバーチャルな視界に基づいて形成される。それゆえ、その画像は、画像102Aの、歪められ、傾けられ、拡大され、または他の方法で修正されたバージョンとすることができる。以下でより詳細に説明されるように、メッシュ変形および/または他の変換機構を、提示される画像を歪めるために使用することができる。一実施形態では、画像102Aは、写真測量技術を使用して生成および/または補正された透視図法を有する、コンピュータ支援設計CADモデルなどの、3Dモデルを表す。このCADモデルは、写真から生成することができ、例えば、その写真から抽出される、描画された人工的なテクスチャー、および/またはマップされたテクスチャーを有し得る。ここで図9B~9Dを参照すると、画像102Aの視認が、3D空間を通過する3次元移動に比較的一致して見えるように、カメラ302の移動を制約するための、ケージ901の構築に関する技術の実施例が示される。ケージ901は、画像102Aの現実的な描画を生成することができる領域の外側に、ユーザー830がカメラ302を移動させないことを確実にする。一実施形態では、カメラの移動は、ケージ901によって制約されるが、カメラの回転は、画像102Aの辺縁によって制約されるそれにより、ユーザー830は、そのような辺縁の外側に存在する望ましくない領域を視認するように、カメラ302をパンさせることができない。図9Bでは、ケージ901の垂直壁部902Aが、カメラ302の中心点と画像102Aの縁部とを結ぶことによって画定され、三角形を形成する。図9Cでは、ケージ901は、カメラが実際に前面ポータル211を通過しない限り、カメラ302が、前面ポータル211に対応する線を越えることができないように、更に制約される。この方式では、パイプ103を迂回する移動を防止するために、更なる制約が課される。この目標を達成するために、壁部902Aと、パイプ103の2つの前面角部すなわち、前面ポータル211の2つの端部のそれぞれとの間に、線を引くことによって、ケージ901に関する新たな壁部902B、902Bが構築され、このことはまた、前面ポータル211に対応する壁部902も画定する。図9Dでは、一実施形態では、カメラ302が、図9Bで画定された三角形の最も後部に移動する場合に生じる恐れがある、浮動小数点の計算の問題を回避するために、ケージ901の最後尾の角部もまた切断され、別の壁部902Dが形成される。最終的な結果は、図9Dに示すような、6面形状を有するケージ901である。1つの側面902Cは、パイプ103の前面ポータル211に接して、前面ポータル211の幅と等しい幅を有する。図9Dはまた、明瞭性のために、壁部902Dの周囲の領域の詳細図も含む。一実施形態では、ユーザーは、ケージ901によって説明される境界の内部で、前面ポータル211と交差するまで、画像102Aを視認しつつ、カメラ302を自由にナビゲートすることができる。図6の工程609に関連して上述したように、前面ポータル211と交差すると、一実施形態では、カメラ302は、後面ポータル212へと、パイプ103を自動的に辿り、カメラ302は、新たな画像図示せずを向くように方向付けられる。当業者には、図9A~9Dに示すような、ケージ901を画定するための具体的な技術は、単に例示的なものであり、カメラ302の移動を制約するために、他の方法を使用することができる点が理解されるであろう。ここで図10A~10Dを参照すると、2つの画像写真など102A、102Bが、3D空間内に位置決めされ、ケージ901A、901B、およびパイプ103Aが、カメラ302の移動を制御および/または制約するために確立されている、実施例が示される。この実施例は、説明の目的のために提示されるものであり、本発明の動作をより容易に理解することができるように、2つの画像102A、102Bを含む単純化された3D情景を示す。しかしながら、当業者には、本発明の本質的な特性から逸脱することなく、任意数の画像を有する任意の3D情景に、図示の技術を拡張することができる点が理解されるであろう。明瞭性のために、画像102A、102Bの実際のコンテンツは、図10Aおよび図10Bから省略される。図10Aに示すように、ケージ901Aは、画像102Aを視認している間、カメラ302の移動を制約する。視認領域1001は、カメラ302の現在の位置、ズームレベルなどに基づいて、カメラ302によって現在視認されている3D情景の部分を示す。カメラ302が前面ポータル211と交差すると、パイプ103Aが、カメラ302の移動を制御する。その時点で、カメラ302は、後面ポータル212で再出現するまで、パイプ103Aに沿って円滑に方向付けられ、画像102Bを向くように再配向される。次いで、ケージ901Bが、画像102Bを視認している間、カメラ302の移動を制約する。ケージ901Bは、ケージ901Aと同様の方式で、カメラ302の移動を制約するように機能する。図10Bは、図10Aと同じ実施例を示すが、別の視点からのものである。この場合、カメラ302は、前面ポータル211を通過して移動し、現在、パイプ103Aの内部にある。図10Cは、図10Aと同じ実施例を示すが、画像102Aに関する写真の実施例も含む。図10Dは、図10Aと同じ実施例を示すが、出力デバイス805上に表示することができるような、2つのウインドウ1010、1015も含む。ウインドウ1010は、図10A~10Cに関連して上記で示し、説明したような、ケージ901A、901B、パイプ103Aと、画像102A、102Bとの関係を示す。ウインドウ1015は、カメラの視点が、画像102Aおよび画像102Bの双方に及ぶ間に示すことができる、スクリーン画像1020の実施例を含む。図10Dに示し得るように、カメラ302が、パイプ103Aに沿って移動している間に、スクリーン画像1020は、1つの画像102Aから次の102Bへと移行する。この移行の間、2つの画像102A、102Bの諸部分が組み合わされて、画像102A、102Bの要素を含む、移行的スクリーン画像1020が生成される。図10Dの実施例では、スクリーン画像1020の左側1021は、画像102Aから取得され、一方で、右側1022は、画像102Bから取得される。一実施形態では、カメラ302が、パイプ103に沿って移動する際、スクリーン画像1020は、ワイプ形式で、または何らかの他の好適な移行効果を使用して、滑らかに変化して、画面から画像102Aを取り除き、画像102Bを取り込む。一実施形態では、画像102は、パイプ形状103によって規定されるような、画像102間の3D関係に対応する、回転または他の効果をシミュレートするように、移行中に、互いに滑らかに融合される。例えば、一実施形態では、画像が融合される際に、様々な程度の透明性を提供する、Αブレンディングを使用して、そのような移行を実装することができる。画像102を、必要に応じて歪ませ、3D空間を通過して移動する様相を補強することができる。一実施形態では、1つの画像102から別の画像への種々のタイプの移行に関して、種々のパイプ103を確立することができる。ここで図11を参照すると、本発明の一実施形態により提供することができる、様々なタイプのパイプのリスト1101の実施例が示される。複数のパイプ一実施形態では、特定の画像102に関して、複数のパイプ103を画定することができる。ここで図12A~12Fを参照すると、本発明の一実施形態による、複数のパイプ103を含む3D情景の様々な実施例が示される。図12Aは、ユーザーが、画像102Cから画像102Dへとパイプ103Dを介して、次いで、画像102E、102F、または画像102Gのうちのいずれかへと、ナビゲートすることができる、実施例を示す。移動は、最初に、ケージ901Cによって制約され画像102Cを視認している間、次いで、ケージ901Dによって制約される画像102Dを視認している間。画像102E、102F、または画像102Gのいずれが提示されるかの決定は、パイプ103E、103F、またはパイプ103Gのいずれに進入するかその前面ポータルを横断することによってに応じて変化する。進入したパイプ103が、次いで、対応する画像102E、102F、または画像102Gに、カメラを方向付ける。パイプ103E、103F、またはパイプ103Gが横断されると、ユーザーは、画像102E、102F、または画像102Gに対応する、ケージ901E、901F、またはケージ901Gの内部で、カメラを自由に移動させる。図12A~12Fは、図12Aに示される配置構成の、追加的な視図および詳細な視図を示す。図12Bは俯瞰図を示す。図12Cおよび図12Dは、ケージ901C、901D、ならびにパイプ103Dの前面ポータル211および後面ポータル212を含む、パイプ103Dの詳細図を示す。図12Eおよび図12Fは、ケージ901E、901F、901G、およびパイプ103E、103F、103Gの詳細図を示す。バーチャルツアーを作成するためのユーザーインターフェース一実施形態では、本発明のシステムおよび方法は、2D画像から3Dバーチャルツアーを生成するためのユーザーインターフェースを提供する。一実施形態では、そのようなユーザーインターフェースはまた、例えば露出レベルの調整、トリミング、回転などによって、2D画像を編集するための機能も提供する。ここで図13A~13Nを参照すると、本発明の一実施形態による、そのようなユーザーインターフェースに関する、一連のスクリーンショットが示される。図13Aは、ハードドライブまたは他のソースから画像をアップロードするためにクリックすることができる、入力域1301A、1301Bと、入力域1301A、1301Bにアップロードされた画像間の移行を選択するためのボタン1302Aとが、ユーザーに提示される、スクリーンショット1300の実施例を示す。ユーザーは、入力域1301A、または入力域1301Bをクリックして、所望の画像例えば、手元または遠隔のハードドライブ上のへとナビゲートし、その画像を、アップロードするために選択することができる。任意数の連続的画像および移行を、アップロードおよび指定することができる。ツアーを作成している際に、そのツアーを視認するための、プレビューペイン1303もまた含まれる。アップロードされた画像、および選択された移行から、3Dツアー、もしくは3Dツアーの一部分を作成するための、ボタン1304が提供され、このツアーは、スイープと称される。一実施形態では、ボタン1304は、少なくとも2つの画像が、入力域1301A、1301B内にアップロードまたは選択されており、かつ少なくとも1つの移行が、ボタン1302Aを介して選択されている場合にのみ、有効である。露出制御、トリミング、および水平位置調整などの画像編集ツールを開くための、ボタン1305が提供される。3Dツアー、または3Dツアーの一部分を、アルバムに追加するための、ボタン1306が提供される。ボタン1307は、アップロードされた画像および移行を含めた、3Dツアーのクリエータを消去する。図13Bは、第1の画像が、入力域1301Aにアップロードされている、スクリーンショット1300の実施例を示す。図13Cは、ボタン1302Aがクリックされて、ユーザーが、ダイアログボックス1311を介して移行を選択することができる、スクリーンショット1300の実施例を示す。一実施形態では、方向転換1312、位置移動1313、パノラマ回転1314、階段1315などを含めた、幾つかのタイプの移行が利用可能である。最も一般的な移行のリスト1316もまた提供され、この実施例では、それらは、一連のアイコンとして示される。当業者には、いずれの移行も、テキストボックス、アイコン、および/またはこれらの任意の組み合わせ、ならびに/あるいは任意の他の好適な視覚的要素として示すことができる点が理解されるであろう。ユーザーは、所望の移行に関するボタンをクリックする。図13Dは、90°の方向転換が、移行として選択されている、スクリーンショット1300の実施例を示す。ダイアログボックス1311には、選択を指示する確認テキスト1342が示される。図13Eは、90°の方向転換が選択され、ダイアログボックス1311が閉じた後の、スクリーンショット1300の実施例を示す。従前に示されていた移行ボタン1302Aは、移行標識1341に置き換わる。一実施形態では、ユーザーは、移行標識1341をクリックして、ダイアログボックス1311を呼び出すことによって、移行を変更することができる。2つの画像がアップロードされて選択されると、ボタン1302Bおよび入力域1301Cが、それぞれ、移行および別の画像を選択するために、使用可能となる。図13Fは、2つの画像がアップロードされた後の、スクリーンショット1300の実施例を示し、ユーザーは、この時点で、移行ボタン1302Bをクリックすることによって、第2の画像と第3の画像との間の移行を選択することができ、入力域1301Cをクリックすることによって、第3の画像をアップロードすることができる。図13Gおよび図13Hは、第2の画像と第3の画像との間に適用される移行を選択するための、スクリーンショット1300のセットの実施例を示す。この実施例では、直進の移行が選択されて適用される。図13Iは、ユーザーが、入力域1301Cをクリックすることによって、第3の画像を選択した後の、スクリーンショット1300の実施例を示す。入力域1301Aに関連して上述したように、ユーザーは、所望の画像例えば、手元または遠隔のハードドライブ上のへとナビゲートし、その画像を、アップロードするために選択することができる。図13Jは、ユーザーが、ボタン1304をクリックすることによって、3Dツアー、または3Dツアーの一部分を作成した後の、スクリーンショット1300の実施例を示す。プレビューペイン1303は、3Dツアー、または3Dツアーの一部分を示し、ユーザーは、プレビューペイン1303をクリックして、その3Dツアーを見ることができる。一実施形態では、画像編集機能もまた提供される。図13Kは、ユーザーが、ボタン1305をクリックすることによって、画像エディターを開始した後の、スクリーンショット1300の実施例を示す。露出レベルの調整1321、水平軸1322、およびトリミング1323に関する制御が、リセットボタン1324と共に、各画像に関して提示される。当業者には、任意の画像編集の制御を提供することができ、更なる例としては、鮮明度の調整、色補正、ぼかし、歪みなどが挙げられることが、理解されるであろう。一実施形態では、露出レベル制御1321をクリックすることにより、図13Lに示すようなスライダー1331が、インスタンス形成される。ユーザーは、所望の位置にスライダー1331を移動させることによって、指定のパラメータを調整することができる。この実施例では、ユーザーは、画像の輝度、すなわち露出レベルを編集している。一実施形態では、トリミング制御1323をクリックすることにより、図13Mに示すようなトリミング矩形1332が、インスタンス形成される。ユーザーは、所望の位置にトリミング矩形1332の角部を移動させることによって、画像をトリミングすることができる。一実施形態では、水平軸調整制御1322をクリックすることにより、水平線を表示させる。ユーザーは、水平線を移動させて、画像内部の水平軸の位置を調整することができる。一実施形態では、ユーザーは、ボタン1305をクリックすることによって、画像エディターを終了することができる。図13Nは、制御が閉じられた後の、スクリーンショット1300の実施例を示す。この場合、ユーザーは、露出レベル制御1321を使用して、第1の画像を暗くしており、制御を閉じている。次いで、ユーザーは、ボタン1304をクリックすることによって、新たなバーチャルツアー、またはバーチャルツアーの一部分を作成することができる。プレビューペイン1303は、そのバーチャルツアー、またはバーチャルツアーの一部分を示し、ユーザーは、プレビューペイン1303をクリックして、そのバーチャルツアーを見ることができる。バーチャルツアーの提示、およびバーチャルツアー内のナビゲーション本明細書で論じられるように、本発明の技術は、ユーザーの要求に応答してオンザフライで生成することができるバーチャルツアー、あるいは局部記憶装置および/またはウェブサーバに記憶させることができるバーチャルツアーを構築して提示するために、使用することができる。一実施形態では、バーチャルツアーが作成されると、そのバーチャルツアーを、サーバまたは他の好適な場所に記憶させることができる。ユーザーは、例えばウェブページ上のリンクをクリックすることによって、そのバーチャルツアーにアクセスすることができる。一実施形態では、プラグインをユーザーのブラウザーにインストールして、そのユーザーが、対話式に、または受動的観察者として、バーチャルツアーを体験することを可能にすることができる。一実施形態では、ユーザーは、ポインティングデバイス、タッチスクリーン、キーボード、および/または任意の他の適切な入力デバイスを介して、入力を提供することによって、このツアーを制御して、3D情景内をナビゲートする。別の実施形態では、情景内のナビゲートが、ユーザーとの対話処理を必要とすることなく、自動的に実施されるインターフェースを、提供することができる。一実施形態では、バーチャルツアーは、2D画像からオンザフライで生成することができる。それゆえ、2D画像がアップデートされる場合には、その画像を取り入れるいずれのバーチャルツアーも、新たにアップデートされた画像を使用する。別の実施形態では、バーチャルツアーは、ユーザーへの提示に先立って、生成および記憶手元で、またはサーバーですることが可能であり、任意の適切な形式で記憶させることができる、そのツアーファイルは、次いで、オンデマンドで素早く検索して再生することができる。そのような手法は、特定の状況では、パフォーマンスを改善して、待ち時間を低減することができる。いずれの技術でも、2D画像は、新たな画像に置き換えることができ、次にその新たな画像を使用して、新たなバーチャルツアーを生成することができるため、容易にバーチャルツアーに変更を加えることができる。一実施形態では、上述のように、ユーザーは、リンクをクリックして、ツアーをロードして再生させることができる。別の実施形態では、特定のツアーへの任意数のリンクを提供することができる。リンクは、ツアーの開始点ではなく、いずれかの中間点でツアーを開始させるように提供することができる。ウェブページは、それゆえ、コンテンツの表などの、リンクのリストを提供することができ、それらのリンクのそれぞれは、同じツアーを参照するが、そのツアーを異なる地点開始点、またはいずれかの中間点で開始させる。例えば、家の幾つかの部屋のバーチャルツアーを提供することができ、コンテンツの表には、そのツアーへの幾つかのリンクが記載され、各リンクは、異なる部屋に対応する。ユーザーは、適切なリンクをクリックすることによって、任意の所望の部屋でツアーを開始することができる。一実施形態では、ツアーは、指定された地点から、終了までユーザーによって中断されない限り継続することができる。別の実施形態では、中間点で起動されるツアーは、カメラが、その中間点に対応する場所から離れる際に、中断することができ、例えば、特定の部屋でのツアーの開始は、カメラがキッチンから離れる際に、そのツアーを終了させることができる。更に別の実施形態では、ツアーを視認しているユーザーは、その中間点に対応する場所からカメラが離れた後に、ツアーを継続するべきか否かを指定することができる。移動マッピング一実施形態では、ユーザーが3次元空間をツアーしているという印象を補強するために、一部または全ての2D画像を、選択的に歪めるか、もしくは他の方法で変換することができる。そのような歪みは、3D環境の内部でのユーザーの位置および移動に応答して、動的に実施することができ、この説明の目的上、そのような歪みは、移動マッピングと称される。例えば、ユーザーが3D空間内で前方に移動すると、視認される2D画像が、より接近して、その2D画像に対するズーミングと同様の動作となり、移動マッピングは、画像の縁部付近の領域を、画像の中心付近の領域よりも、急激にズームさせるように実装することができる。このことは、画像の中心部分を、縁部よりも遠く離れているように見せ、1つの画像から次の画像への移行の不協和を、より少なくするために役立ち得る。様々な実施形態では、画像シーケンス、シミュレートされている環境、ユーザーの選好などの具体的な特性に応じて、種々のマッピング曲線を、移動マッピングに関して使用することができる。一実施形態では、移動マッピングは、ソースの2D画像のピクセル位置を、マッピング曲線を介して、新たな場所にマップすることによって実行される。マッピング曲線は、それゆえ、ピクセル位置の変換を規定する。例えば、X軸およびY軸の観点から座標を表すことができる2D画像では、各軸に関してマッピング曲線を提供することができる。一実施形態では、マッピング曲線は、3D空間の錯覚を増強することができるような、バーチャルカメラからの距離の関数である。それゆえ、この変換への入力は、2D画像からのカメラの距離を表すZ値を伴う、XまたはYのピクセル座標であり、その出力は、変換されたXまたはYのピクセル座標である。元の座標の場所で描かれたであろうピクセル値は、次いで、変換された座標の場所に描かれる。一実施形態では、本発明のシステムは、2D画像にメッシュ変形を適用することによって、移動マッピングを実行する。このメッシュ変形のパラメータは、3D空間内での、バーチャルカメラと2D画像との距離に基づいて決定される。ここで図14を参照すると、本発明の一実施形態による、移動マッピングの実施例が示される。グラフ1401は、元の2D画像内のX、Yの位置と、マップ2D画像内のX ́、Y ́の位置との関係を規定する、マッピング曲線1406を示す。例えば、マッピング曲線1406は、元の2D画像102J内のピクセル位置と、マップ2D画像102K内の対応するピクセル位置との関係を指定する。説明の目的上、元の2D画像102Jの元のピクセル1402の位置を、座標X1、Y1で示す。マッピング曲線1406に基づいて、ピクセル1402は、位置X2、Y2に配置される、マップ2D画像102Kのピクセル1403へとマップされる。この方式で、元の2D画像102Jの歪められたバージョンを、バーチャルツアーを提示する過程で、生成して表示することができる。上述のように、マッピング曲線1406は、バーチャルカメラと画像102Jとの距離に応じて、変更することができる。当業者には、図14に示される具体的なマッピング曲線1406は、単に例示的なものであり、他のマッピング曲線を使用することができる点が理解されるであろう。ここで図15Aを参照すると、本発明の一実施形態による移動マッピングに関する、パラメータ化変形曲線1406Aを含む、グラフ1401Aの実施例が示される。この場合、XとX ́との関係は、直線部分1501ならびに直線部分1502の、スプライン、モジュール、および角度によって規定される。一実施形態では、同じ関係が、YとY ́との間で規定される。別の実施形態では、変形は、一方の軸X軸などのみに適用され、他方の軸Y軸などは変形されない。ここで図15B~15Gを参照すると、本発明の一実施形態による移動マッピングに関する、変形曲線1406B~1406Gを含む、グラフ1401B~1401Gの更なる実施例が示される。一実施形態では、これらの曲線1401B~1401Gは、図15Aに示すパラメータ化変形曲線1406Aに、種々のパラメータを適用することによって生成される。曲線1401B~1401Gに対応する、モジュールおよび角度の値を、説明の目的上、それぞれの図に示す。本明細書で説明されるような変形曲線を使用して、画像を選択的に変形することによって、3Dバーチャル空間を通過する移動の印象を、補強することができる。単一の画像102の連続的変形を使用して、バーチャル空間内での移動および/または回転をシミュレートすることができる。そのような機構はまた、1つの画像102から次の画像への移行も改善する。ここで図16A~16I、図17A~17I、図18A~18I、図19A~19I、および図20A~20Fを参照すると、種々のパラメータを有する変形曲線を使用して変形されている、様々な画像の実施例が示される。これらの図に示される画像102の全ては、同じソース画像を有する。図15B~15Gに示す変形曲線に対応する、5つの異なる変形曲線が適用されており、カメラは、各変形曲線に関して、6つの異なる位置で示される。更には、一部の画像102では、カメラは回転されている。説明の目的上、変形曲線は、画像102の中心に関して対称であり、かつX軸にのみ適用される方式で、適用される。それゆえ、これらの実施例では、Y軸は変形されない。実施例では、適用される変形曲線は、写真までのカメラの距離に関しては一定であり、スプラインを使用して生成される。表1は、図16A~16I、図17A~17I、図18A~18I、図19A~19I、および図20A~20Fでの各画像に関して使用されるパラメータを記載する。カメラの位置は0~4で示され、0は原点であり、大きい数字ほど、カメラの位置がより画像102に近いことを示す。変形曲線0、1、2、3、4、および変形曲線5は、それぞれ、図15B、15C、15D、15E、15F、および図15Gに示す曲線に対応する。回転は、カメラが、画像102に直接向けられているなしか、左に45度で曲げられている左か、または右に45度で曲げられている右かのいずれかを示す。当業者には、これらが単に例示的なものであり、他の角度、曲線、およびカメラの位置を使用することができる点が理解されるであろう。状態の変化を表すためのバーチャルツアー一部の実施形態では、このバーチャルツアーの連続的なフレームは、機械または環境の種々の状態を表すことができる。それゆえ、一部の場合には、バーチャルカメラは、必ずしも1つのフレームから次のフレームで位置を変更しない場合があり、むしろ、固定されたまま維持され、機械を操作する際の連続的工程、またはユーザーの環境に対する何らかの他の変化が示される。例えば、キオスクを操作する際の連続的工程を、このバーチャルツアーの連続的なフレームによって表すことができる。別の実施例としては、バーチャルツアーは、場所または環境に対する、経時的な変化を表すことができ、例えば、バーチャルツアーは、比較的固定式のバーチャルカメラを使用して、博物館内の群集の低速度撮影表現を示すことができる。別の実施形態では、そのような状態変化を、カメラの移動と組み合わせて示すことができる。バーチャルツアーのオンザフライ作成一実施形態では、連続的な画像をインクリメンタルに追加することができ、新たな画像が追加されるたびに、新たなバーチャルツアーを生成することができる。そのような用途は、本発明のコンピューティングデバイス701が、スマートフォンなどのモバイルデバイスである環境では、特に有効であり、1つの例は、APPLEINC.CUPERTINO,CALIFORNIAより入手可能なIPHONEであるが、当業者には、そのようなバーチャルツアーのオンザフライ作成は、任意の好適なプラットフォーム、コンピューティング機械、または他の電子デバイス上で実装することができる点が理解されるであろう。ここで図21を参照すると、本発明の一実施形態による、連続的に取得される画像からの、3D対話型バーチャルツアーのオンザフライ作成に関する方法を示す、流れ図が示される。当業者には、図21に示す方法は、内臓カメラおよび加速度計が装備された、スマートフォンなどの、モバイルデバイスを使用して実装することができるが、図示の方法はまた、任意の好適な電子デバイスを使用して実践することができる点が理解されるであろう。ここで図22A~22Eも参照すると、本発明の一実施形態による、スマートフォン上での3D対話型バーチャルツアーのオンザフライ作成に関する、一連のスクリーンショットが示される。図22Aのスクリーンショット2201に示すように、カメラのビューファインダー2206が、ユーザーに提示される2101。ユーザーは、所望の方向にデバイスを向け、画像を取得するためにボタン2207をタップする2102。スクリーンショット2201はまた、画像の取得に関して設定することができる、様々な選択肢へのアクセスを提供する、選好ボタン2208も含む。図22Bのスクリーンショット2202に示すように、デバイスの光学素子およびセンサーを使用して、画像が取得される2103。ユーザーは、ボタン2209をタップすることによって承認するか、またはボタン2211をタップすることによって、その画像を拒否して再取得するかを、入力要求される。工程2104で、ユーザーが画像を拒否する場合には、本方法は、工程2101に戻る。工程2104で、ユーザーが画像を承認する場合には、その画像が、バーチャルツアーに関する第1の取得画像であるか否かの判定が行なわれる2109。第1の取得画像である場合には、その取得画像を含む、新たなバーチャルツアーが確立される2110。そうではない場合には、その画像は、工程2107で選択される移行以下で説明するようなを使用して、既存のバーチャルツアーに追加される2105。図22Cのスクリーンショット2210に示すように、ユーザーは、ボタン2210をタップすることによって、バーチャルツアーに別の画像を追加する機会を与えられる。ユーザーが、バーチャルツアーに別の画像を追加するべきであると指示する2106場合には、移行が選択される2107。図22Dのスクリーンショット2204に示すように、この移行は、ユーザーによって提供される明示的な入力に基づいて、リスト1316から選択することができる2107。あるいは、従前の画像の取得と現在の画像の取得との間で、ユーザーがどのようにデバイスを移動させたかを、デバイスが、その加速度計を介して検出することができる。一実施形態では、その自動的に検出された移行が、自動的に選択されるが、あるいは、その検出された移行は、必要に応じてユーザーが無効にすることができる、デフォルトとして提示することができる。移行が選択されると2107、本方法は、図22Eのスクリーンショット2205に示すように、別の画像の取得のために、工程2101に戻る。工程2106で、ユーザーが他の画像を追加するべきではないと指示する場合には、例えば、図22Cの完了ボタン2212をタップすることによって、そのバーチャルツアーのファイルは、適切な方式で、記憶および/または出力され2108、本方法は終了する2199。バーチャルツアーを生成するための、このオンザフライ機構により、連続的に取得される画像を使用して、インクリメンタルにツアーを生成することが可能になり、このことは、ユーザーが特定の状況でツアーを生成することを、より容易にすることができる。用途の例当業者には、本発明の技術は、1つ以上の2D画像から3Dバーチャルツアー提供することが有用な、いずれの状況または環境でも、使用することができる点が理解されるであろう。以下は、本発明の可能な用途の一部を示すことを目的とする、例のリストであるが、しかしながら、このリストは、いかなる方法でも、これらの特定の例に本発明を限定するものではない。店舗例えば、大型店舗の内部で特定の物品を見つけ出すため、販売用の家例えば、部屋もしくは他の区域の、屋外および屋内ツアー、賃貸用アパート例えば、部屋もしくは他の区域の、屋外および屋内ツアー、ホテルの部屋例えば、部屋および/または公共区域のツアー、クルーズ船例えば、客室および/または公共区域のツアー特定の設備および/または特定のシナリオに関するバーチャルトレーニング例えば、発電所作業員に、緊急事態での対処行動を示すため、コンサートおよび他のイベント会場、キオスクまたは公共端末についての解説指導例えば、鉄道駅で切符販売機から切符を購入する方法を、旅行者に示すため、博物館、大学およびビジネススクールのキャンパス、その他。本発明は、可能な実施形態に関しての具体的な詳細で説明されている。当業者には、本発明は、他の実施形態で実践することができる点が理解されるであろう。第1に、構成要素の具体的な命名、用語の大文字使用、属性、データ構造、またはいずれの他のプログラミングの態様、もしくは構造的な態様も、強制的または重要なものではなく、本発明および/または本発明の特徴を実装する機構は、異なる名称、形式、またはプロトコルを有し得る。更には、本システムは、説明されるようなハードウェアとソフトウェアとの組み合わせを介して、または完全にハードウェア要素内で、または完全にソフトウェア要素内で、実装することができる。同様に、本明細書で説明される様々なシステム構成要素の間での、機能の具体的な区分は、単に例示的なものであり、強制的なものではなく、単一のシステム構成要素によって実行される機能は、複数の構成要素によって、代わりに実行することができ、複数のシステム構成要素によって実行される機能は、単一の構成要素によって、代わりに実行することができる。様々な実施形態では、本発明は、上述の技術を単独で、または任煮の組み合わせで実行するための、システムもしくは方法として実装することができる。別の実施形態では、本発明は、非一過性コンピュータ可読記憶媒体と、コンピューティングデバイスまたは他の電子デバイス内のプロセッサに上述の技術を実行させるための、その媒体上に符号化されるコンピュータプログラムコードとを含む、コンピュータプログラム製品として実装することができる。本明細書中での一実施形態または実施形態への言及は、その実施形態に関連して説明される、具体的な機構、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書中の様々な場所での一実施形態ではという語句の出現は、必ずしも全てが、同じ実施形態に言及するものではない。上記の一部の部分は、コンピューティングデバイスのメモリ内部のデータビットに対する操作の、アルゴリズムおよび記号表現の観点から提示される。これらのアルゴリズム的な説明および表現は、データ処理技術における当業者が、自身の仕事の実質的な内容を、他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、この場合、また一般的に、所望の結果を導く自己矛盾のない工程命令のシーケンスであると考えられる。工程とは、物理量の物理的操作を必要とするものである。通常は、必須ではないが、これらの量は、蓄積、転送、結合、比較、および他の方法で操作することが可能な、電気信号、磁気信号、もしくは光学信号の形態を取る。主に一般的な使用の理由から、時には、これらの信号を、ビット、値、要素、記号、文字、用語、数字として言及することが簡便である。更には、物理量の物理的操作を必要とする工程の特定の配列を、一般性を失うことなく、時には、モジュールまたはコードデバイスとして言及することもまた簡便である。しかしながら、これらの用語および同様の用語の全ては、適切な物理量と関連付けられるものであり、これらの量に適用される、単に簡便な標識に過ぎないことに留意するべきである。特に具体的な指定のない限り、以下の論考から明らかであるように、説明の全体を通して、処理、またはコンピューティング、または計算、または表示、または決定などのような用語を利用する論考は、コンピュータシステムのメモリもしくはレジスター、または他のそのような情報記憶デバイス、伝送デバイス、もしくは表示デバイス内部の、物理電子量として表されるデータを、操作および変換する、コンピュータシステム、あるいは同様の電子コンピューティングモジュールおよび/またはデバイスの、動作ならびに処理を指すものと理解される。本発明の特定の態様は、本明細書ではアルゴリズムの形態で説明される、処理工程および命令を含む。本発明の処理工程および命令は、ソフトウェア、ファームウェア、および/またはハードウェアとして具体化することができ、ソフトウェアとして具体化される場合、様々なオペレーティングシステムによって使用される、種々のプラットフォームにダウンロードして、そのプラットフォーム上に存在させ、そのプラットフォームから操作することができる点に留意するべきである。本発明はまた、本明細書での動作を実行するための装置にも関連する。この装置は、必要とされる目的に関して特別に構成することができ、またはコンピューティングデバイス内に記憶されるコンピュータプログラムによって、選択的に起動もしくは再構成される、汎用コンピューティングデバイスを含み得る。そのようなコンピュータプログラムは、限定するものではないが、フロッピー登録商標ディスク、光学ディスク、CD-ROM、磁気光学ディスクを含めた任意のタイプのディスク、読み出し専用メモリROM、ランダムアクセスメモリRAM、EPROM、EEPROM、フラッシュメモリ、ソリッドステートドライブ、磁気カードもしくは光学カード、特定用途向け集積回路ASIC、または電子命令を記憶させるために好適な任意のタイプの媒体などの、コンピュータ可読記憶媒体内に記憶させ、それぞれを、コンピュータシステムバスに接続することができる。更には、本明細書で言及されるコンピューティングデバイスとしては、シングルプロセッサを挙げることができ、またはコンピューティング能力の増大のために、マルチプロセッサ設計を採用するアーキテクチャーとすることもできる。本明細書に提示されるアルゴリズムおよび表示は、いずれかの特定のコンピューティングデバイス、バーチャル化システム、または他の装置に、固有に関連付けられるものではない。様々な汎用システムもまた、本明細書での教示に従うプログラムと共に使用することができ、または、より専用化された装置を構築して、必要とされる方法工程を実行することが簡便であると判明する場合もある。これらの様々なシステムに関して必要とされる構造は、本明細書に提供される説明から明らかとなる。更には、本発明は、いずれかの特定のプログラミング言語を参照して説明されるものではない。様々なプログラミング言語を使用して、本明細書で説明されるような本発明の教示を実装することができ、特定の言語への上記のいずれの言及も、本発明の実施可能かつ最良のモードの開示のために提供されるものであることが理解されるであろう。したがって、様々な実施形態では、本発明は、ソフトウェア、ハードウェア、および/またはコンピュータシステム、コンピューティングデバイス、もしくは他の電子デバイスを制御するための、他の要素、あるいはこれらの任意の組み合わせまたは複数として、実装することができる。そのような電子デバイスとしては、例えば、当該技術分野において周知の技術による、プロセッサ、入力デバイスキーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォン、および/またはこれらの任意の組み合わせなど、出力デバイススクリーン、スピーカーなど、メモリ、長期記憶装置磁気記憶装置、光学記憶装置など、および/またはネットワーク接続性を挙げることができる。本発明を実装するために使用することができる電子デバイスとしては、携帯電話、携帯情報端末、スマートフォン、キオスク、サーバコンピュータ、企業コンピューティングデバイス、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、消費者向け電子デバイス、テレビ、セットトップボックスなどが挙げられる。本発明を実装するための電子デバイスは、例えば、LINUX登録商標;MICROSOFTCORPORATIONREDMOND,WASHINGTONより入手可能なMICROSOFTWINDOWS登録商標;APPLEINC.CUPERTINO,CALIFORNIAより入手可能なMACOSX;APPLEINC.CUPERTINO,CALIFORNIAより入手可能なIOS;GOOGLE,INC.MOUNTAINVIEW,CALIFORNIAより入手可能なANDROID、および/または、そのデバイス上での使用に関して適合される、任意の他のオペレーティングシステムなどの、任意のオペレーティングシステムを使用することができる。様々な実施形態では、本発明は、分散処理環境、ネットワーク化コンピューティング環境、またはウェブベースのコンピューティング環境で実装することができる。本発明の要素は、クライアントのコンピューティングデバイス、サーバ、ルーター、および/または他のネットワーク構成要素もしくは非ネットワーク構成要素上に実装することができる。一部の実施形態では、本発明は、一部の構成要素が1つ以上のクライアントのコンピューティングデバイス上に実装され、他の構成要素が1つ以上のサーバ上に実装される、クライアント/サーバのアーキテクチャーを使用して実装される。一実施形態では、本発明の技術を実装する過程で、クライアントは、サーバからコンテンツを要求し、サーバは、その要求に応答してコンテンツを返す。そのような要求および応答を可能にするために、またユーザーが、そのような対話処理を開始および制御して、提示されるコンテンツを視認することができる、ユーザーインターフェースを提供するために、クライアントのコンピューティングデバイスに、ブラウザーをインストールすることができる。本発明を実装するためのネットワーク構成要素のいずれか、または全ては、一部の実施形態では、任意の好適な電子ネットワーク使用して、有線または無線、もしくはそれらの任意の組み合わせで、互いに通信できるように結合し、そのような通信を可能にするための、任意の好適なプロトコルを使用することができる。そのようなネットワークの一例は、インターネットであるが、本発明は、他のネットワークを使用しても、同様に実装することができる。本発明は、限られた数の実施形態に関して説明されているが、上記の説明の恩恵を受けることにより、当業者には、本明細書で説明される本発明の範囲から逸脱することのない、他の実施形態を考案することができる点が理解されるであろう。更には、本明細書で使用される語法は、主に可読性および指示目的のために選択されており、本発明の主題の境界を定めるために、または制限するために選択されているとは限らないことに留意するべきである。したがって、本発明の開示は、特許請求の範囲に記載される、本発明の範囲を例示するものであり、限定するものではない。"