(57)【要約】【課題】１つ以上の事前に識別された領域をそれら領域がカメラの視野内にあるときに不明瞭化するフィルタを含む、可動カメラで撮影されたビデオ・データをリアルタイムで遠隔の受信者に伝送する、遠隔視覚体験アプリケーションを提供する。【解決手段】本アプリケーションは、共有視覚体験アプリケーションであり、このアプリケーションでは、カメラがローカル・ユーザの着用可能器具に搭載される。本アプリケーションは、本アプリケーションが使用されることになる空間の諸領域をマッピングし、該空間の相異なる領域に対し相異なる遠隔アクセスのレベルを定義するための機能を含むことができる。空間マップは、遠隔のユーザへのビデオの伝送の前または伝送の間に生成することが可能である。例示的な諸実施形態は、仮想ベンダ在宅コール・アプリケーションまたはゲームを含む。本アプリケーションは、オーディオ信号をフィルタリングするためのオーディオ・フィルタをさらに含んでよい。【選択図】図１
2020536431.tif 000002
【特許請求の範囲】
【請求項１】
三次元空間内の複数の領域、および前記複数の領域の各領域に対する少なくとも１つのそれぞれの遠隔アクセス属性を識別する入力を受信するステップと、
可動カメラから前記空間の少なくとも一部のビデオを遠隔視覚体験アプリケーションのために取得するステップと、
前記可動カメラの視野内にある、前記三次元空間内の領域を特定するステップと、
前記可動カメラから得られた前記ビデオの中に撮影された前記複数の領域の各領域に対し、前記各領域の前記少なくとも１つのそれぞれの遠隔アクセス属性を用いて、前記ビデオの中に撮影された前記複数の領域の第一領域内のビデオ画像を不明瞭化し、前記ビデオの中に撮影された前記複数の領域の第二領域内の画像を不明瞭化しないことによって、前記ビデオを修正するステップと、
前記遠隔視覚体験アプリケーションの少なくとも一人の遠隔のユーザに表示するために修正された前記ビデオをリアルタイムで提供するステップと、
を含む、コンピュータ実行の方法。
【請求項２】
前記カメラがローカル・ユーザの着用可能な器具に搭載されている、請求項１に記載のコンピュータ実行の方法。
【請求項３】
前記遠隔視覚体験アプリケーションが、共有視覚体験アプリケーションである、請求項１に記載のコンピュータ実行の方法。
【請求項４】
前記遠隔視覚体験アプリケーションが、仮想ベンダ家庭訪問アプリケーションである、請求項１に記載のコンピュータ実行の方法。
【請求項５】
前記可動カメラの前記視野内にある前記三次元空間内の領域を特定する前記ステップが、
１つ以上の基準マーカの各々からそれぞれの信号を受信するステップと、
１つ以上の基準マーカの各々からの前記それぞれの信号を用いて前記可動カメラの位置および方位を算定するステップと、
前記三次元空間内の、前記可動カメラの前記視野内にある領域を特定するために、前記可動カメラの前記算定された位置および方位を用いるステップと、
を含む、請求項１に記載のコンピュータ実行の方法。
【請求項６】
前記三次元空間の少なくとも一部の空間マップを生成するステップをさらに含み、前記空間マップは少なくとも１つの基準ポイントに対する基準座標系を定義し、前記基準座標系における前記複数の領域を識別する、請求項１に記載のコンピュータ実行の方法。
【請求項７】
前記空間マップが、前記遠隔視覚体験アプリケーションの複数の実行インスタンスの各々における利用のために、前記遠隔視覚体験アプリケーションの前記複数の実行インスタンスの実行の前に生成され保存される、請求項６に記載のコンピュータ実行の方法。
【請求項８】
前記複数の領域が、前記空間マップ中に明示的に画定された境界と、デフォルト領域とを含み、前記デフォルト領域は、前記空間マップ中に明示的に画定された境界を有する前記少なくとも１つの領域のいずれもの外側に在る前記三次元空間の部分である、請求項６に記載のコンピュータ実行の方法。
【請求項９】
前記三次元空間の少なくとも一部の空間マップを生成するステップが、
複数の基準ポイントを指定するユーザ入力を受信するステップと、
基準座標系中の原点および方位を選択するために前記複数の基準ポイントを用いるステップと、
前記基準座標系中の前記複数の基準ポイントの各基準ポイントのそれぞれの座標を算定するステップと、
前記基準座標系中の前記複数の領域の少なくとも１つの領域に関連付けられたそれぞれの座標を算定するステップと、
を含む、請求項６に記載のコンピュータ実行の方法。
【請求項１０】
少なくとも１つの事前指定されたオーディオ・フィルタリング・パラメータに従って、前記ビデオに付随するオーディオ信号をフィルタリングするステップをさらに含む、請求項１に記載のコンピュータ実行の方法。
【請求項１１】
複数のコンピュータ実行可能命令を有するコンピュータ・プログラムを含むコンピュータ・プログラム製品であって、前記コンピュータ・プログラムは、少なくとも１つのコンピュータ・システムによって実行されたとき、前記少なくとも１つのコンピュータ・システムに、
三次元空間内の複数の領域、および前記複数の領域の各領域に対する少なくとも１つのそれぞれの遠隔アクセス属性を識別する入力を受信するステップと、
可動カメラから前記空間の少なくとも一部のビデオを遠隔視覚体験アプリケーションのために取得するステップと、
前記可動カメラの視野内にある、前記三次元空間内の領域を特定するステップと、
前記可動カメラから得られた前記ビデオの中に撮影された前記複数の領域の各領域に対し、前記各領域の前記少なくとも１つのそれぞれの遠隔アクセス属性を用いて、前記ビデオの中に撮影された前記複数の領域の第一領域内のビデオ画像を不明瞭化し、前記ビデオの中に撮影された前記複数の領域の第二領域内の画像を不明瞭化しないことによって前記ビデオを修正するステップと、
前記遠隔視覚体験アプリケーションの少なくとも一人の遠隔のユーザに表示するため修正された前記ビデオをリアルタイムで提供するステップと、
を含む動作を実行させる、
コンピュータ・プログラム製品。
【請求項１２】
前記カメラがローカル・ユーザの着用可能な器具に搭載されている、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
前記遠隔視覚体験アプリケーションが、仮想ベンダ家庭訪問アプリケーションである、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１４】
前記可動カメラの前記視野内にある前記三次元空間内の領域を特定する前記ステップが、
１つ以上の基準マーカの各々からそれぞれの信号を受信するステップと、
１つ以上の基準マーカの各々からの前記それぞれの信号を用いて前記可動カメラの位置および方位を算定するステップと、
前記三次元空間内の、前記可動カメラの前記視野内にある領域を判断するために、前記可動カメラの前記算定された位置および方位を用いるステップと、
を含む、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１５】
前記コンピュータ・プログラムが、前記少なくとも１つのコンピュータ・システムによって実行されたとき、前記少なくとも１つのコンピュータ・システムに、
前記三次元空間の少なくとも一部の空間マップを生成するステップを含む動作をさらに実行させ、
前記空間マップは少なくとも１つの基準ポイントに対する基準座標系を定義し、前記基準座標系において前記複数の領域を識別する、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１６】
前記複数の領域が、前記空間マップ中に明示的に画定された境界と、デフォルト領域とを含み、前記デフォルト領域は、前記空間マップ中に明示的に画定された境界を有する前記少なくとも１つの領域のいずれもの外側に在る前記三次元空間の部分である、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記三次元空間の少なくとも一部の空間マップを前記生成するステップが、
複数の基準ポイントを指定するユーザ入力を受信するステップと、
基準座標系中の原点および方位を選択するために前記複数の基準ポイントを用いるステップと、
前記基準座標系中の前記複数の基準ポイントの各基準ポイントのそれぞれの座標を算定するステップと、
前記基準座標系中の前記複数の領域の少なくとも１つの領域に関連付けられたそれぞれの座標を算定するステップと、
を含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１８】
前記コンピュータ・プログラムが、少なくとも１つのコンピュータ・システムによって実行されたとき、前記少なくとも１つのコンピュータ・システムに、少なくとも１つの事前指定されたオーディオ・フィルタリング・パラメータに従って、前記ビデオに付随するオーディオ信号をフィルタリングするステップを含む動作をさらに実行させる、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１９】
遠隔視覚体験アプリケーションの実行をサポートするデータ処理装置であって、
少なくとも１つの物理プロセッサと、
少なくとも１つの物理メモリと、
前記少なくとも１つのプロセッサ上で実行可能で、前記少なくとも１つのメモリに格納可能な命令として具現化された遠隔視覚体験アプリケーションであって、前記遠隔視覚体験アプリケーションは、三次元空間内の複数の領域を識別するデータ構造、および前記複数の領域の各領域に対する少なくとも１つのそれぞれの遠隔アクセス属性を用いて、少なくとも一人の遠隔のユーザに提示される視覚像の部分の選択的な不明瞭化を実装する、前記遠隔視覚体験アプリケーションと、
を備え、
前記遠隔視覚体験アプリケーションは、可動カメラから、前記空間の少なくとも一部のビデオを受信し、
前記遠隔視覚体験アプリケーションは、前記可動カメラの視野内にある前記三次元空間内の諸領域を特定し、前記可動カメラから受信された前記ビデオ中に撮影された前記複数の領域の各領域に対し、前記各領域の前記少なくとも１つのそれぞれの遠隔アクセス属性を用いて、前記ビデオの中に撮影された前記複数の領域の第一領域内のビデオ画像を不明瞭化し、前記ビデオの中に撮影された前記複数の領域の第二領域内の画像を不明瞭化しないことによって前記ビデオを修正し、
前記遠隔視覚体験アプリケーションが、前記遠隔視覚体験アプリケーションの少なくとも一人の遠隔のユーザに表示するため修正された前記ビデオをリアルタイムで提供する、
データ処理装置。
【請求項２０】
前記遠隔視覚体験アプリケーションが、前記三次元空間の少なくとも一部の空間マップを生成する空間マップ生成機能を含み、前記空間マップは少なくとも１つの基準ポイントに対する基準座標系を定義し、前記基準座標系中の前記複数の領域を識別する、請求項１９に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデジタル・データ処理に関し、具体的には、遠隔の受信者に視覚データを表示するための伝送またはストリーミングの管理のためのデジタル・データ・システムに関する。
【背景技術】
【０００２】
二十世紀の後半において、情報革命として知られる現象が始まった。この情報革命は、いかなる１つのイベントまたはマシンよりも範囲の広い歴史的発展である一方、デジタル電子コンピュータよりも、この情報革命をより象徴する単一のデバイスはない。コンピュータ・システムの発展はまさに革命的であった。年毎にコンピュータ・システムはより高速になり、より多くのデータを格納し、コンピュータのユーザにより多方面の応用を提供している。同時に、コンピューティング・リソースのコストも一貫して低下し、数年前には、収集し、格納し、処理するコストが高すぎた情報も、今ではコンピュータによる取扱いが経済的に実現可能になっている。情報処理の低減されたコストは、製品設計、製造工程、リソース・スケジューリング、管理業務、および多くの他の業務をより効率的にするので、雪だるま的効果で生産性の増大を推進する。
【０００３】
デジタル・データ処理技術の応用の中には、静止および動画ビデオ両方の形での画像の撮影、ストレージ、伝送および他の処理がある。現今では、多種多様なアプリケーションが何らかの形で画像を処理している。画像処理に対する需要が大きいので、標準のコンピュータ・システムは、現今ではこのための特別プロセッサおよび他のハードウェアを備えており、静止および動画ビデオ画像のストレージに、デジタル・データ・ストレージの相当な量が割り振られている。
【０００４】
遠隔の受信者に表示するためリアルタイムでビデオ・データを伝送する様々なアプリケーションが出現している。一例にテレビ会議アプリケーションがあり、これでは、ビデオ・カメラは、通常、指定された部屋の固定位置に設置され、そのカメラの視野内の空間のビデオ画像が、一人以上の会議参加者に表示するために遠隔の場所に伝送される。初期のテレビ会議および類似のアプリケーションは、高価なハードウェアおよびソフトウェアを必要とし、したがって、数および利用度が限定されていた。カメラ、処理装置、伝送バンド幅、および関連リソースのコストが低下するにつれ、ビデオ伝送を使うアプリケーションの数および利用度が劇的に増加してきた。
【０００５】
アプリケーションの最新の型は、ローカル・ユーザの視覚体験を、遠隔のユーザにリアルタイムで共有させる。このカメラは、例として、着用可能な器具上に搭載されて、ローカル・ユーザに物理的に取付けられる。ローカル・ユーザが、構造体の周りを動く、自分の頭を回すなどして自分の視野を変化させると、カメラの視野が、そのローカル・ユーザの視野と近似するように、カメラはそれらの動きに自動的に追従する。カメラで撮影されたビデオは遠隔のユーザに伝送され、その遠隔のユーザがローカル・ユーザの見たものを見ることを可能にする。例えば、かかるアプリケーションは、遠隔で設備を診断したりまたは修理したりするために使うことが可能でないかと提案されており、該提案では、遠隔のユーザ（専門家）がローカル・ユーザ（自家所有者など）にアドバイス、分析、および指示などを提供する。
【０００６】
さらなる例において、急速に成長しているバーチャル・リアリティ業界は、娯楽またはビジネス用のバーチャル・リアリティ・アプリケーション、およびバーチャル・リアリティ実現ハードウェア・デバイスを提供している。これらハードウェア・デバイスの中には、組み込みのカメラ、マイクロフォン、およびディスプレイを含み得るバーチャル・リアリティ・ヘッドセットがある。このディスプレイは、ユーザの眼を覆う透明なスクリーン上に投影され、ユーザがスクリーンを透かして見ながら、同時にディスプレイ上に投影された画像を見ることを可能にする。あるいは、表示される画像は、ユーザの視野を覆い隠すような仕方で投影または表示することができ、ユーザが、ディスプレイによって提示されたものだけを見ることを可能にする。或るバーチャル・リアリティ・アプリケーションは、ローカル・ユーザが見た通りのビデオをリアルタイムで遠隔のユーザに伝送することによって、その遠隔のユーザが、ローカル・ユーザの体験に浸ることを可能にできる。かかるバーチャル・リアリティ環境は、娯楽、または様々な仮想ベンダ家庭訪問アプリケーションのいずれかに、あるいは別途に用いることができよう。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
１つ以上の事前に識別された領域をそれら領域がカメラの視野内にあるときに不明瞭化するフィルタを含む、可動カメラで撮影されたビデオ・データをリアルタイムで遠隔の受信者に伝送する、遠隔視覚体験アプリケーションを提供する。
【課題を解決するための手段】
【０００８】
１つ以上の実施形態において、必ずしも本発明の実施形態だけでないが、遠隔視覚体験アプリケーションは、共有視覚体験アプリケーションであり、該アプリケーションでは、カメラがローカル・ユーザの着用可能器具に搭載される。ローカル・ユーザが、そのカメラの方向もしくは位置またはその両方を変更すると、本アプリケーションは、ローカル・ユーザと視覚体験を共有している遠隔の受信者に表示すべきでない領域を自動的に識別し、遠隔の受信者に伝送されるビデオ・ストリーム中のそれらの領域を不明瞭化する。
【０００９】
１つ以上の実施形態において、必ずしも本発明の実施形態だけでないが、本遠隔視覚体験アプリケーションは、ユーザの自宅での使用が意図されており、フィルタが、自宅内のプライベートな領域または物体を第三者への開示から保護する。
【００１０】
１つ以上の実施形態において、必ずしも本発明の実施形態だけでないが、本遠隔視覚体験アプリケーションは、ユーザが、自宅内または周辺の空間、ビジネス空間、または他の空間など、その中でアプリケーションが用いられることになる空間の様々な領域をマップし、該空間のいろいろな領域に対する遠隔アクセスの異なったレベルを定義するためのマッピング・ユーティリティを含む。
【００１１】
１つ以上の実施形態において、必ずしも本発明の実施形態だけでないが、ユーザは、ある空間に対し１つ以上のデフォルトの遠隔アクセス属性を定義し、該空間の１つ以上の識別された領域に対し、このデフォルトへの１つ以上の例外を定義する。これらの例外処置は、遠隔のユーザが例外とされた領域内のビデオを見る能力を拡げたりまたは狭めたりすることが可能である。例えば、ユーザは、遠隔視聴者の少なくとも１つのクラスに対して、１つ以上の定義領域を除き、空間全体を視界から覆い隠すように指定することができる。
【００１２】
空間は、ビデオを遠隔のユーザに伝送することによって、本遠隔視覚体験アプリケーションを実行する前に、または遠隔のユーザへのビデオの伝送と同時に、マップされてよい。マッピングは、作動状態のカメラ、方向検知装置、位置検知装置、もしくは距離計測装置またはこれらの組み合せとともに空間の様々な領域をウォークスルーすることによって行うことが可能である。本アプリケーションは、このウォークスルーの間のセンサ・データを使って自動的に当該空間のマップを生成することができる。複数の領域の各々に対し、ユーザは、音声コマンド、キー入力、手のジェスチャなどによって、対応するプライバシのレベルを指定することができる。
【００１３】
或る例示的な実施形態において、本遠隔視覚体験アプリケーションは、仮想ベンダ家庭訪問アプリケーションであり、該アプリケーションは、自宅内のローカル・ユーザ（例えば、自家所有者または賃借人）が遠隔のユーザにビデオを提示し、そのユーザから援助を得る。本アプリケーションの目的は、ローカル・ユーザが、遠隔のユーザの実際の臨場を必要とせずにその遠隔のユーザのサービスを得ることを可能にすることである。この遠隔のユーザは、当該サービスを提供するビジネスに従事する専門家であってよく、あるいは、ある程度の専門技術を有する、友人、家族の一員などであってもよい。例示であって限定ではないが、提供されるサービスには、家屋またはその内容物の修理または改良（例えば、配管、電気工事、器具の修理、大工仕事など）を含むことができ、あるいは、救急サービスを含む医療／看護サービス、教育サービス、園芸サービス、獣医サービスまたは他のペットの介護、運動トレーニング、料理サービスなど、数多くの他のサービスのいずれかを含めることが可能である。或る実施形態において、ローカル・ユーザはカメラを搭載した器具を着用し、遠隔のユーザが、ローカル・ユーザが見ているものを見ることを可能にする。遠隔のユーザは、アドバイスおよび援助を提供するために、ローカル・ユーザに、特定のオペレーションを行うこと、特定の方向を熟視することなどを指示することができる。そうする中で、本明細書で開示するビデオ・フィルタリング・メカニズムがなければ、ローカル・ユーザは、遠隔のユーザに、遠隔のユーザに要請したサービスと無関係のまたはそれを実施するのに必要のないプライベートなまたは秘匿的な性質の情報を露呈する可能性がある。
【００１４】
別の例示的な実施形態において、仮想ベンダ家庭訪問は、自宅所有者または入居者であるローカル・ユーザに限定されるものでなく、ビジネス事業体に様々なサービスのいずれかを提供するために用いることもできよう。これらは、自宅所有者によって用いられるのとの同じ種類のサービス（配管、電気工事、園芸など）のいくつかを含むことができようし、あるいは、工程のモニタリングまたは分析、従業員訓練または認証、適用法規に対するコンプライアンス監査、労働契約など、一般に企業だけによって用いられる他のサービスとすることも可能であろう。
【００１５】
別の例示的な実施形態において、本遠隔視覚体験アプリケーションは、ビデオ情報を共有する児童または成人によってプレーが可能なゲームまたは他の娯楽であって、かかるアプリケーションでは、参加者は空間を自由に跋渉することが可能で、本明細書で開示するビデオ・フィルタリング・メカニズムがなければ、秘匿的なまたはプライベートな性質のビデオ画像を不注意に撮影し伝送することがある。
【００１６】
また、或る別の実施形態では、フィルタリング装置は、遠隔のユーザに伝送されるビデオ信号の音声部分をフィルタすることもできる。
【００１７】
事前指定された指示に従って空間の諸領域を選択的にフィルタリングすることによって、ビデオを遠隔の視聴者に提示する際に、プライベートなまたは秘匿性情報の不注意によるまたは故意になされた開示のリスクが大幅に低減され、これにより、ユーザのプライバシは強化される。さらに、かかるプライバシの強化は、遠隔のビデオを提示する様々なバーチャル・リアリティまたは他のアプリケーションに、より幅広い受容と使用をもたらすことが可能で、これにより、サービスの提供と受領の効率を向上し、コストを低減し、または娯楽の体験を大いに増強する。
【００１８】
本発明の詳細は、その構成およびオペレーションの両方に関し、添付の図面を参照することによって最善に理解することができ、これらの図面では、同じ参照符号は同じ部分を参照する。
【図面の簡単な説明】
【００１９】
【図１】様々な実施形態による、遠隔視覚体験アプリケーションを実行するための仮想ベンダ家庭訪問環境を表す。
【図２】様々な実施形態による、いくつかの機能要素のいずれかの役割を実行するために使用することが可能であり得る典型的な汎用コンピュータ・システムの主要ハードウェア・コンポーネントのハイレベルのブロック図である。
【図３】様々な実施形態による、遠隔視覚体験アプリケーションをサポートするローカル・コンピュータ・システムのメモリ中のいくつかのソフトウェア・コンポーネントの概念図である。
【図４】様々な実施形態による、遠隔視覚体験アプリケーションをサポートするための空間マップ・データ構造の概念的表現である。
【図５】様々な実施形態による、遠隔視覚体験アプリケーションをサポートするためのプロファイル・データ構造の概念的表現である。
【図６】様々な実施形態による、遠隔視覚体験アプリケーションにより実行されるプロセスを、ハイレベルで表すフロー図である。
【図７】様々な実施形態による、遠隔視覚体験がその中で動作するローカル空間の空間マップを生成するプロセスをより詳細に表すフロー図である。
【図８】様々な実施形態による、ｘ−ｙ−ｚ基準座標系およびその基準座標系中の複数の基準ポイントを算定するプロセスをより詳細に表すフロー図である。
【図９】様々な実施形態による、カメラの視野内にある空間の定義された領域を測定するプロセスをより詳細に表すフロー図である。
【発明を実施するための形態】
【００２０】
遠隔視覚体験環境
図面を参照すると、いくつかの図面を通して同じ符号は同じ部分を示しており、図１は、１つ以上の実施形態による、１つ以上のコンピュータ・システム上で実行されるアプリケーションが遠隔視覚体験をサポートしている、例示的な仮想ベンダ家庭訪問環境のハイレベルの図である。図１を参照すると、ローカル・ユーザ１０２が空間を回遊し、その空間内の物体を知覚することができるローカル環境１０１が存在する。或る例示的な実施形態において、このローカル環境は、ユーザの自宅内の空間であるが、但し、このローカル環境は、ビジネス事業所内の空間など何らかの他の空間であってもよい。ローカル・ユーザ１０２は、可動ビデオ・カメラ１０３を、ローカル・ユーザの環境中の１つ以上の対象の物体１２０に向ける。図１の例において、この対象の物体は、洗面台および関連する配管部品を含むが、当然のことながら、この対象物体はローカル環境中の広範囲の物体を含んでよい。カメラ１０３によって生成されたビデオ・データは、遠隔視覚体験アプリケーションをサポートしているローカル・コンピュータ・システム１０５に伝送され、該アプリケーションは、本例では仮想ベンダ家庭訪問アプリケーションであり、これはビデオ・データをネットワーク１０６を介して遠隔のコンピュータ・システム１０７にさらに伝送する。遠隔のシステム１０７はディスプレイ１０８を含み、これがカメラ１０３から得られたビデオ画像を遠隔のユーザ１０９に提示する。
【００２１】
１つ以上の実施形態において、該アプリケーションが、カメラ１０３の位置もしくは方位またはその両方を測定できるようにするため、ローカル環境内に１つ以上の基準マーカ１１２が配置される。１つ以上の別の実施形態では、カメラ１０３の位置もしくは方位またはその両方は、基準マーカが必要のない別の手段を用いて測定される。
【００２２】
１つ以上の実施形態において、ビデオ・カメラ１０３は、着用者（すなわち、ローカル・ユーザ）の視野または視線方向に近似する方位に該カメラを搭載した着用可能装置１０４の部分であり、ワイヤレス通信リンクを介してローカル・システム１０５と通信する。例えば、ビデオ・カメラ１０３は、頭に着用するヘッドギア装置の一部であってよく、これは、着用者の視線に近付けるため着用者の頭の動きに追従する。かかる装置は、ビデオ・カメラの位置および方位を検出するためのセンサを含んでよい。かかる装置は、着用者の頭の方位に一致するように搭載された単純なカメラとすることができよう。あるいは、これは、着用者の眼を覆い、ユーザ自身の視界が、ヘッドセットによって着用者に対し表示されるコンピュータ生成のデータによって、全体的にまたは部分的に覆い隠されるかもしくは修正される、様々ないわゆるバーチャル・リアリティ・ヘッドセットのいずれかであってよいであろう。例えば、かかるヘッドセットは、着用者がビデオ・カメラによって生成された画像だけを見ることができるように（しかして、遠隔のユーザとローカル・ユーザとが全く同じ画像を見るように）、着用者の視線を完全に覆い隠すことができ、または、着用者の視界が部分的にだけ遮蔽されるようにして、コンピュータ生成の画像を着用者が透明なスクリーンを透かして見るものと重ね合わせることもできる。かかるヘッドセットは、着用者の眼の動きをより高い精度で追跡するためのセンサを含んでよい。
【００２３】
好ましくは、本遠隔視覚体験アプリケーションは、ローカル・ユーザと遠隔のユーザとの間での、或るレベルの双方向通信を備える。例えば、ローカル・ユーザ１０２のヘッドセット１０４にマイクロフォンを搭載し、別のマイクロフォンを遠隔のシステム１０７に取付けることができ、ローカル・ユーザ１０２と遠隔のユーザ１０９とは、各々が他方の声を聞きそれに応答できるようにすることが可能である。ローカル・ユーザが遠隔のユーザからのビデオ画像を、ローカル・システム１０５に連結されたディスプレイ１１０上で見ることができるように、双方向でビデオ画像が送信されるようにすることがさらに可能である。例えば、遠隔のユーザは、ローカル・ユーザが見られるように、固定されたビデオ・カメラの前に位置していてよい。かかるアプリケーションにおいて、双方向通信は有用で、ローカル・ユーザは、遠隔のユーザからコマンドまたはアドバイスを受けそれに応答することができる。具体的に、かかるコマンドには、ユーザの視野を特定の物に向ける要請を含めることができ、遠隔のユーザがローカル・ユーザの環境中の様々な物体のどれでも見ることを可能にする。
【００２４】
ネットワーク１０６は、インターネットであってよく、または何らかの他のネットワークもしくはネットワークの組み合せであってもよい。１つ以上の実施形態において、ネットワーク１０６に連結されたサーバ・システム１１１が本遠隔視覚体験アプリケーションをサポートする。例えば、サーバ・システム１１１は、複数の遠隔のクライアントがログ・オンし、それを介して、遠隔視覚体験アプリケーションの一部として、リアルタイムでビデオおよび他のデータを伝送するための接続を確立する、ウェブ・サイトを維持することが可能である。１つ以上の実施形態において、ローカル・システム１０５と遠隔のシステム１０８との間のビデオ信号もしくは他の通信またはその両方は、サーバ・システム１１１を経由して送信される。１つ以上の実施形態において、サーバ・システムは、諸当事者の識別を検証し、１つ以上の接続を確立するためのプロキシとしての役割を果たし、接続が確立されたならば、ビデオもしくは他のデータまたはその両方は、サーバを介することなく、ローカル・システムと遠隔のシステムとの間で直接に伝送される。本明細書では、サーバ・システム１１１は、様々な機能を実行する単一のコンピュータ・システムとして表され説明されるが、当然のことながら、これに換えて、サーバ・システムによって実行される諸動作は、様々なクラスタ・コンピューティング配置またはクラウド・コンピューティングのいずれかとして知られる、複数のコンピュータ・システムによって行われてもよい。
【００２５】
本明細書では、例示のために単一のローカル・ユーザと単一の遠隔のユーザが示され説明されているが、但し、それぞれのローカルおよび遠隔のシステムを共有可能な、または相異なるそれぞれのシステムを使用可能な、複数のローカル・ユーザもしくは複数の遠隔のユーザまたはその両方がいてもよい。さらに、複数の遠隔のシステムが、相互に遠隔の複数の相異なる場所に配置されていてもよい。
【００２６】
図１中には、例示的な仮想ベンダ家庭訪問の実施形態が表され、該実施形態では、ローカル・ユーザは遠隔のユーザから住宅修理の援助を得ているが、当然のことながら、本発明による遠隔視覚体験アプリケーションは、必ずしも仮想ベンダ家庭訪問の実施形態に限定されるものでなく、様々な別の実施形態を含むことが可能であり、それらは、遠隔のユーザによるローカル・ユーザへの他のサービスの提供を含んでよく、あるいは、様々なユーザがピアツーピアの関係で操作し互いに楽しむゲームまたは他の娯楽を含んでよく、あるいは、様々な他の応用を含んでよい。
【００２７】
コンピュータ・システムのハードウェア・コンポーネント
図２は、典型的な汎用コンピュータ・システム２００の主要ハードウェア・コンポーネントのハイレベルのブロック図である。１つ以上の実施形態において、ローカル・コンピュータ・システム１０５、遠隔のコンピュータ・システム１０７、およびサーバ・コンピュータ・システム１１１は、各々が、それぞれ１つ以上の汎用コンピュータ・システムとして物理的に具現化されており、システム２００は、一切のかかる汎用コンピュータ・システムの代表例である。
【００２８】
コンピュータ・システム２００は、主メモリ２０２からの命令および処理データを実行する１つ以上の汎用プログラム可能処理装置（ＣＰＵ）２０１を含む。主メモリ２０２は、好ましくは、様々なメモリ技術のいずれかを用いた、少なくとも１つの、通常は複数の、半導体集積回路チップ・モジュールを含む、揮発性ランダム・アクセス・メモリであり、１つまたは複数のＣＰＵ２０１による処理のため、その中にストレージからまたは別途にデータがロードされる。
【００２９】
１つ以上の通信バス２０５は、ＣＰＵ２０１と、主メモリ２０２と、Ｉ／Ｏプロセッサ（ＩＯＰ：Ｉ／Ｏプロセッサ）またはＩ／Ｏアダプタ（ＩＯＡ：Ｉ／Ｏ  ａｄａｐｔｅｒ）としても知られる様々なインターフェース・ユニット２１１、２１２、２１３との間に、データ伝送のためのデータ通信経路を提供する。これらインターフェース・ユニットは、様々なストレージ、Ｉ／Ｏデバイス、および／またはネットワークとの通信をサポートする。例えば、ストレージ・インターフェース２１１は、必要に応じメモリ中にロード可能なデータの不揮発性ストレージを提供する、１つ以上のストレージ・デバイス２２１〜２２３の取り付けをサポートする。かかるストレージ・デバイスには、周知の回転式磁気ハードディスク・ドライブ・ストレージ・デバイス、固体デバイス（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｅｖｉｃｅ）、着脱式メモリ・カード、光ストレージ、フラッシュ・メモリ、などを含めてよく、またさらには、ネットワーク接続ストレージ（ＮＡＳ：ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）、ストレージ域ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）に接続されたデバイス、もしくはディスク・ドライブのアレイ、またはホストに対して単一の大きなストレージ・デバイスに見えるように構成された他のストレージ・デバイス群を含めることもできよう。ストレージは、１つ以上のネットワークを介してアクセス可能なクラウド・ストレージ・デバイスをさらに含んでもよい。Ｉ／Ｏデバイス・インターフェース・ユニット（１つまたは複数）２１２は、ユーザ端末、ディスプレイ、キーボードまたは他の入力デバイス、プリンタなど、様々な他の種類のＩ／Ｏデバイスのいずれの接続をもサポートでき、当然のことながら、他のまたは追加のＩ／Ｏデバイスも用いることができよう。ネットワーク・インターフェース・アダプタ（１つまたは複数）２１３は、１つ以上の他のデジタル・デバイスとの通信のため１つ以上の外部ネットワークへの、具体的には図１中に表されたデバイスとの通信のためネットワーク１０６への、接続をサポートすることが可能である。ネットワーク・アダプタ２１３は、単一のネットワークへの冗長接続をサポートすることができ、または相互に通信していることもありないこともある別々のネットワークに連結することもできよう。かかる外部ネットワークは、好ましくはインターネットを含み、また、ローカル・エリア・ネットワークなど、それらを介してインターネットとの通信が行われる１つ以上の中間のネットワークを含んでよい。
【００３０】
当然のことながら、図２は、ハイレベルで、汎用コンピュータ・システム２００の典型的な主要コンポーネントを表すことを意図されたものであり、個々のコンポーネントは、図２に表されるよりもより高い複雑性を有し得、図２中の示されたものと違ったまたはそれらに加えてのコンポーネントが存在し得、かかるコンポーネントの数、型、および構成が変わり得、複雑なコンピュータ・システムは、通常、図２に表されたのよりももっと多くのコンポーネントを有することになろう。かかる追加の複雑性または追加のバリエーションのいくつかの具体例が本明細書に開示されるが、当然のことながら、それらは例示のためだけのものであり、必ずしもかかるバリエーションに限られるものではない。
【００３１】
図２には、例示目的のため、１つだけのＣＰＵ２０１が示されているが、当該技術分野で周知のように、コンピュータ・システム２００は複数のＣＰＵを包含することが可能である。図２では主メモリ２０２が単一のモノリシックな構成要素として示されているが、当該技術分野で周知のように、メモリ２０２は、実際は、分散化されもしくは階層化され、またはその両方であってよい。例えば、メモリは、複数レベルのキャッシュで存在してよく、それらのキャッシュは、１つのキャッシュが命令を保持し、別のキャッシュは、プロセッサまたはプロセッサ群によって使われる命令外のデータを保持するように、機能によってさらに分割されていてもよい。メモリは、さらに、様々ないわゆる不均等メモリ・アクセス（ＮＵＭＡ：ｎｏｎ−ｕｎｉｆｏｒｍ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コンピュータ・アーキテクチャのいずれかとして知られる、相異なるＣＰＵまたはＣＰＵに分散し関連付けることが可能である。図２では、通信バス２０５は単一の構成要素として示されているが、実際は、様々なシステム・コンポーネントの間の通信は、通常、バス、インターフェースなどの複雑な階層を介して達成され、その中では、ＣＰＵ２０１とメモリ２０２との間の通信のためには高速の経路が使われ、Ｉ／Ｏインターフェース・ユニット２１１〜２１３との通信のためにはより低い速度の経路が使われる。バス２０５は、階層になったポイントツーポイント・リンク、スターまたはウェブ構成、多重階層バス、並列および冗長経路など、様々な形態のいずれかに配置されてよい。例えば、ＮＵＭＡアーキテクチャにおいて知られるように、通信経路はノード・ベースで配置される。バスは、例えば、業界標準ＰＣＩバス、または任意の他の適切なバス技術を使用してよい。バス２０５を様々なＩ／Ｏデバイスに向け延びる様々な通信経路に分けている、複数のＩ／Ｏインターフェース・ユニットが示されているが、この代わりに、これらＩ／Ｏデバイスの一部または全部を、１つ以上のシステム・バスに直接接続することも可能であろう。図１は、ネットワーク１０６を単一のエンティティとして表しているが、１つ以上の実施形態では、１つ以上の共有ストレージ・サーバと通信するため、別個のネットワークまたはストレージ・バスが存在してもよく、かかる通信は、汎用ネットワーク・アダプタ２１３とは別個の専用の１つ以上のストレージ・インターフェース・ユニット２１１によって駆動されてもよい。
【００３２】
図２に表されたコンピュータ・システム２００は、複数ユーザ「メインフレーム」コンピュータ・システムに代表され得るように、複数の接続端末を含むことが可能である。コンピュータ・システム２００が、ユーザの自宅における個人使用のためのローカル・コンピュータ・システム１０５である場合、これは、デスクトップまたはラップトップ・パソコンのように、通常、単一のディスプレイ１１０を有する自己充足型装置であろう。コンピュータ・システム２００が、サーバ・コンピュータ・システム１１１である場合、これは、限定された数の端末だけ、またさらには、例えばシステム管理者によるメンテナンス・インターフェースとしての使用など、単一の端末だけを包含してよく、または場合によっては全く端末なしで、管理機能は遠隔で行われてもよい。コンピュータ・システム２００が、遠隔のコンピュータ・システム１０７である場合、そのサイズおよび構成は、遠隔のユーザ１０９を雇用している企業のサイズの如何により得、例えば、個人の配管業者またはよろず屋などの小さな企業は、デスクトップまたはラップトップのような自己充足型パソコンを有してよく、他方、より大きな企業は、ローカル・エリア・ネットワークを介して接続が可能な複数の端末またはコンピュータを含む、より複雑なシステムを使用することが可能である。当然のことながら、図２の例図は、コンピュータ・システムの一般的ハードウェア機能を表すことを意図されており、具体的な構成においては多くのバリエーションが可能である。さらに、本明細書では特定の諸機能が、例示目的の上で、単一のコンピュータ・システム中に具現化して説明されるが、これに換えて、これらの機能の一部または全部は、相互に通信しているコンピュータ・システム群の分散型ネットワークを用いて実装することが可能であり、該実装では、本明細書で説明する相異なる機能は、相異なるコンピュータ・システム上で実行される。
【００３３】
図１〜２では、ローカル・システム１０５、遠隔のシステム１０７、およびサーバ・システム１１１は、完全に独立したシステムとして表されているが、これらの構成要素のいずれかまたは全てを、１つ以上の論理的に区分けされたコンピュータ・システムの対応する論理的区分として実装することも可能である。例えば、ＣＰＵ群２０１のいずれかを、実際には、より大きい論理的に区分化されたコンピュータ・システムの処理リソース容量の対応部分とすることができ、当該ＣＰＵは対応する論理的区分域に割り当てられ、メモリ２０２は、実際には、より大きい論理的に区分化されたコンピュータ・システムのメモリ容量の対応部分とすることができ、該メモリは対応する論理的区分域に割り当てられる。
【００３４】
様々なシステム・コンポーネントをハイレベルで説明し図示してきたが、当然のことながら、通常のコンピュータ・システムは、図示されていない多くの他のコンポーネントを含んでおり、これらは本発明の理解のために必須のものではない。
【００３５】
遠隔視覚体験アプリケーション
図３は、様々な実施形態による、遠隔視覚体験アプリケーションをサポートし、特に仮想ベンダ家庭訪問アプリケーションをサポートする、ローカル・システム１０５のメモリ３００中のいくつかのソフトウェア・コンポーネントをより詳細に示す概念図である。図３に示されるように、典型的なローカル・システムのメモリは、オペレーティング・システム・カーネル３０１、遠隔視覚体験アプリケーション３１１のローカルのコピーまたはエージェント、およびいくつかの共有遠隔視覚体験アプリケーション・データ３２１を含む。
【００３６】
オペレーティング・システム・カーネル３０１は、当該技術分野では周知のように、デバイス・インターフェース、メモリ・ページの管理、複数のタスクの管理および作業分配、アプリケーション・プログラムに対する共通のサービスなど、様々なローレベルのソフトウェア機能を提供する、実行可能コードおよび状態データである。具体的に、ＯＳカーネル３０１は、好ましくは、ネットワーク・インターフェース２１３を介して、ネットワーク１０６を含む１つ以上のネットワークとの通信を取り扱うための１つ以上のネットワーク・アダプタ・ドライバ３０２を含む。ＯＳカーネルは、好ましくは、ビデオ・カメラ１０３、マイクロフォン、位置／方位センサ、ディスプレイ、または他のＩ／Ｏデバイスとの通信を取り扱うための１つ以上のＩ／Ｏデバイス・ドライバを含み、図３では、これらは、ヘッドセット・ドライバ３０３として表され、当然のことながら、単一のインターフェース、または別個のインターフェースを備えた複数のＩ／Ｏデバイスを有する単一の統合ヘッドセットがあってもよい。
【００３７】
遠隔視覚体験アプリケーション３１１は、該遠隔視覚体験アプリケーションのサポートにおいて様々な機能を実行するための実行可能コードを含む。例えば、遠隔視覚体験アプリケーションは、カメラ１０３またはローカルのマイクロフォンからの、ビデオもしくはオーディオ・データまたはその両方を受信すること、サーバ・システム１１１もしくは遠隔のシステム１０８またはその両方へビデオ／オーディオ・データを伝送すること、および遠隔のシステム１０８から受信されたビデオ／オーディオ・データをディスプレイ１１０または他のＩ／Ｏデバイスを介してユーザに表示／提示することなど、様々な従来型機能のいずれをも実行する。遠隔視覚体験アプリケーション３１１は、様々な遠隔視覚体験アプリケーション・データ３２１を生成しもしくは参照しまたはその両方を行う。１つ以上の実施形態において、遠隔視覚体験アプリケーション３１１は、方位機能３１２、空間マップ・ジェネレータ機能３１３、ランタイム・マッピング機能３１４、および不明瞭化機能３１５をさらに含む。
【００３８】
方位機能３１２は、カメラ１０３もしくは１つ以上のローカルの位置センサまたはその両方からデータを受信し、それらセンサ・データから、カメラ１０３の焦点の場所および方向を算定する。空間マップ・ジェネレータ機能３１３は、ローカルの三次元（３Ｄ）空間のマップを生成し、空間マップ３２４を遠隔視覚体験アプリケーション・データ３２１中に格納する。ランタイム・マッピング機能３１４は、ランタイム時に、空間マップ中のどの対象物が現在カメラの視野内にあるかを判断し、それらの場所をビデオ画像にマップする。不明瞭化機能３１５は、事前に指定されたプロファイル・データ３２３を用い、空間マップ３２４によってマップされた３Ｄ空間中の、遠隔のユーザによる視界から不明瞭化する対象の領域を識別し、不明瞭化対象の領域を包含するビデオ画像またはその一部を不明瞭化するため、生のビデオ・データを修正する。
【００３９】
１つ以上の実施形態において、遠隔視覚体験アプリケーション・データ３２１は、状態データ３２２、プロファイル・データ３２３、空間マップ３２４、生ビデオ・バッファ３２５、および処理済みビデオ・バッファ３２６を含む。状態データ３２２は、現在のプログラム状態を特定するデータを含み、具体的にはカメラ１０３の現在の位置／方位を特定するデータを含む。状態データは、当事者の識別、接続の状態、どのデータが送信され受信されたかを示すバッファ・ポインタ等々、遠隔視覚体験アプリケーションを動作させるために必要な様々な付加データのいずれを含んでもよい。プロファイル・データは、本遠隔視覚体験アプリケーションの好ましいまたはデフォルトのオペレーティング・パラメータを指定する、様々なデータを含むことが可能である。具体的に、１つ以上の実施形態において、プロファイル・データは、空間マップ３２４によって定義された空間の異なる区域のビデオ・データを、相異なる諸ユーザにどのように提示すべきかを指定するデータを含む。空間マップ３２４は、本遠隔視覚体験アプリケーションが、その中で動作するように意図された、すなわち、該アプリケーションがそのビデオ・データを受信し、処理し、および送信する１つ以上の空間の、境界および有意な対象物を識別するデータを含む。生のビデオ・バッファ３２５は、カメラ１０３から受信されたビデオ・データが、本遠隔視覚体験アプリケーションによる処理を待つ間、一時的にその中に格納されるバッファである。処理済みビデオ・バッファ３２６は、遠隔のユーザに伝送するため処理されたビデオ・データが、ネットワーク１０６を介する伝送を待つ間、一時的に格納されるバッファである。本明細書で、ビデオ・データはリアルタイムで伝送され格納されると述べたが、当然のことながら、ビデオ・データを処理し、それをネットワークを介して伝送するためには少々の遅延が必要である。
【００４０】
図４は、様々な実施形態による、遠隔視覚体験アプリケーションをサポートし、特に仮想ベンダ家庭訪問アプリケーションをサポートする空間マップ・データ構造３２４の概念的表現である。空間マップ３２４は、遠隔視覚体験アプリケーションが、遠隔のビデオ、諸領域の物理的境界、空間内での方向付けを助力する（例えばマーカ１１２などの）基準ポイントまたは対象物、３Ｄ空間内でのカメラの視野を限定することが可能な隔壁または他の有効な不透明オブジェクトを提供する対象となる、３Ｄ空間中の複数の領域を識別する。
【００４１】
図４を参照すると、空間マップ３２４は、ヘッダ部分４０１と、各々がそれぞれの基準ポイントを定義している１つ以上の基準ポイント記録４１０（図４にはその１つが示されている）を包含する基準ポイント部分４０２と、各々が空間内のそれぞれの領域を定義している１つ以上の領域記録４２０（図４にはその１つが示されている）を包含している領域部分４０３と、各々が空間内のそれぞれの不透明オブジェクトを定義する、１つ以上の不透明オブジェクト記録４３０（図４にはその１つが示されている）を包含する不透明オブジェクト部分４０４とを含む。
【００４２】
ヘッダ部分４０１は、（遠隔視覚体験アプリケーションが複数の空間内で用いられた場合）空間マップに関連付けられた当該空間を識別する空間識別子フィールド４０５と、基準ポイント部分４０２内に包含される基準ポイント記録４１０の数を指定する、基準ポイント数フィールド４０６と、領域部分４０３内に包含される領域記録４２０の数を指定する領域数フィールド４０７と、不透明オブジェクト部分４０４内に包含される不透明オブジェクト記録の数を指定する不透明オブジェクト数フィールド４０８とを含む。ヘッダ部分４０１は、当該空間を識別し、空間マップ内のデータにアクセスし、または別途に空間マップを利用するために役立ち得る任意の追加データ４０９を含んでよい。
【００４３】
基準ポイント部分４０２は、各々が、空間マップに関連する空間内での方向付けのため使われるそれぞれの基準ポイントに対応する、少なくとも１つの、好ましくは複数の基準ポイント記録４１０を包含する。基準ポイントは、当該空間内の任意の識別可能な場所であってよい。基準ポイントは、必須ではないが、当目的のため空間内に配置された基準マーカ１１２の位置であってもよい。あるいは、これは、当該空間内の任意の識別可能な対象物の位置であってもよい。例えば、このポイントは、２つの壁と床とが会合する部屋のコーナー、照明取付け具または配管取付け具上のポイント、一般に固定場所を有する家具上のポイント等々であってもよかろう。
【００４４】
基準ポイントの数は変わり得る。まとめると、これら基準ポイントは、（単独で、または想定された他のデータと共に）、ｘ−ｙ−ｚ座標系などの基準座標系を定義する。一般には、ｘ−ｙ−ｚ座標格子系を定義するためには最小限３つのポイントが必要であるが、但し、より高い精度のためには、さらに多くの基準ポイントがある方がよい。さらに、他の手段によって方向が分かるならば、３つより少ない基準ポイントであってもよい。例えば、ｘ−ｙ−ｚ座標系のｚ軸が床レベルに対し垂直であることが想定されていて、垂直方向が、共有視覚体験アプリケーションがアクセス可能なセンサによって、または他の手段で測定できる場合、この格子系を定義するために最小限２つの基準ポイントだけが必要となろう。
【００４５】
各基準ポイント記録４１０は、当該基準ポイントの一意的識別子を有する基準ポイント識別子フィールド４１１と、空間マップのｘ−ｙ−ｚ座標系中の基準ポイントのそれぞれの座標を包含する、ｘ位置４１２、ｙ位置４１３、ｚ位置４１４のフィールドと、共有視覚体験アプリケーションが基準ポイントを認識することを可能にするデータを包含する基準ポイント・シグネチャ・フィールド４１５とを包含する。このシグネチャ・データには、例えば、基準ポイントを認識するため、カメラからの撮影ビデオ画像データに合致する基準ポイントおよびその周辺域のデジタルに記録された画像を含めることができよう。このデータは、上記に変えてまたは加えて、基準マーカによって送信される電子シグネチャを含んでもよい。これには、上記に変えてまたは加えて、例えば、特定のラインまたは対象物が床に平行であることの方向配位データを含めることも可能であろう。シグネチャ・データは、対応する基準ポイントを認識するための複数の種類のデータを含むこともできよう。
【００４６】
領域部分４０３は、各々が、空間マップの対象である、空間のそれぞれの領域またはサブ領域に対応する少なくとも１つの領域記録４２０を包含する。領域部分４０３中に定義された領域またはサブ領域は、多角形の側面を有し、好ましくは、直方体など矩形の形状を有する、空間の３次元部分（または、場合によっては１つ以上の次元に制約されない平面図形）である。これら側面は平面図形なので、領域はその頂点の場所によって完全に定義される。
【００４７】
各領域記録４２０は、対応する領域の一意的識別子を有する領域識別子フィールド４２１、領域の型を定義する領域型フィールド４２２、および、各々が、当該領域のそれぞれの頂点のｘ、ｙ、およびｚ座標位置を識別する複数の頂点のｘ、ｙ、ｚ座標位置４２３（そのうちの４つが図４に示されている）を包含する。領域型フィールドは領域の形状を定義する。例えば、領域は、直方体、三角柱などであってよい。また、領域型は、何らかの次元で制限されない領域を含んでもよく、この場合、所定の頂点のいくつかによって、少なくとも１つの方向に無限に延び領域のそれぞれのエッジを形成する１つ以上のラインを画定することができよう。頂点の数は領域型フィールドによって定まるが、但し、代わりに、領域記録４２０中に頂点座標４２３の数を有する別個のフィールドを設けることも可能であろう。領域記録は、領域のテキスト記述を包含する領域記述フィールド４２４をさらに含み、このテキスト記述は、ユーザに視覚的に表示される、もしくは聴覚的に提示される、またはその両方が可能である。
【００４８】
１つ以上の実施形態において、ユーザは、複数のサブ領域の併合として合成領域を定義することができる。かかる場合、複数の領域記録４２０の各々がそれぞれのサブ領域を定義する。合成領域のサブ領域の各々は、領域ＩＤフィールド４２１中に同じ領域識別子値を包含する。さらに、当該記録が、より大きな合成領域のサブ領域に関連付けられていることを示すために、領域型フィールド４２２（または別個のフィールド）が用いられる。合成領域の使用は、ユーザがほぼ任意の複雑さの領域形状を定義することを可能にする。簡単な例として、Ｌ形状の部屋は、２つの直方体のサブ領域の併合で形成された単一の合成領域として定義することができる。
【００４９】
１つ以上の実施形態において、空間中に、空間マップによって定義された諸領域のいずれからも外れたデフォルト領域が存在することが想定される。このデフォルト領域は、それが事実上他の領域によって定義されるので、該領域を定義する領域記録４２０を有する必要はない。このデフォルト領域を識別するために特別な予備の識別子を用いることができ、あるいは、デフォルト領域の識別子は、ヘッダ４０１中に包含される他のデータ４０９の中にあってもよい。
【００５０】
不透明オブジェクト部分４０４は、各々が空間マップの対象である空間中のそれぞれの不透明オブジェクトに対応する、少なくとも１つの不透明オブジェクト記録４３０を包含する。不透明オブジェクト部分４０４中に定義された不透明オブジェクトは、カメラの視野に対する２次元のバリアである。不透明オブジェクト記録の目的は、カメラの特定された視野からある領域を隔離し、しかして、カメラの方向にあるが不透明オブジェクトの背後に存在する領域は、カメラの視野内とは見なされない。通常、不透明オブジェクト記録は、物理環境中の壁、床、もしくは天井またはそれらの部分を表現する。これはもっと小さな不透明オブジェクトを表現することもできようが、この記録の目的はカメラの視野の限界を定めることなので、当該空間中のあらゆる不透明オブジェクトに対して不透明オブジェクト記録を生成する必要はない。例えば、部屋内の椅子または類似の物体は、その椅子または類似の物体によって不明瞭化される対象体が重要である場合を除き、通常、不透明オブジェクト記録の対象とはならないであろう。
【００５１】
各不透明オブジェクト記録４３０は、対応する不透明オブジェクトの一意的識別子を有する不透明オブジェクト識別子フィールド４３１と、不透明オブジェクトの型を定義する不透明オブジェクト型フィールド４３２と、各々が不透明オブジェクトのそれぞれの頂点のｘ、ｙ、およびｚ座標位置を識別する、複数の頂点ｘ、ｙ、ｚ座標４３３（図４にはそのうちの３つが示されている）とを包含する。不透明オブジェクト型フィールドは、不透明オブジェクトの形状を定義する。例えば、不透明オブジェクトは矩形、三角形等々であってよい。また、不透明オブジェクト型は、１つ以上の次元によって制約されない不透明オブジェクトを含むこともあり、この場合、指定された頂点のいくつかが、少なくとも一方向に無限に延び、当該物体のそれぞれのエッジをその平面に形成する１つ以上のラインを画定することができよう。頂点の数は、不透明オブジェクト型フィールドによって定められるが、但し、これに換えて、不透明オブジェクト記録４３０中に、頂点座標４３３の数を有する別個のフィールドを設けることも可能であろう。不透明オブジェクト記録は、不透明オブジェクトのテキスト記述を包含する不透明オブジェクト記述フィールド４３４をさらに含み、これはユーザに視角的に表示でき、もしくは聴覚的に提示でき、またはその両方が可能である。
【００５２】
１つ以上の実施形態において、１つ以上の領域記録４２０によって定義された領域は、その領域の各境界面に不透明バリアを暗黙裡に含み得る。領域型フィールド４２２、または何らかの他のフィールドは、当該領域が不透明バリアを含むかどうかを示すために用いられてよい。かかる場合、本遠隔視覚体験アプリケーションは、暗黙裡の不透明バリアを有する領域の各境界面に対するそれぞれの不透明バリア記録４３０を自動的に生成することが可能であろうし、あるいは、本アプリケーションは、実行の過程でかかる領域を識別し、かかる領域の全ての面を不透明バリアとして扱うこともできよう。
【００５３】
１つ以上の実施形態において、不透明バリア記録４３０は、負の不透明バリア、すなわち、元来不透明なバリアの開口部または他の透明な部分を含むことができよう。かかる場合において、負の不透明バリアの不透明オブジェクトＩＤフィールド４３１は、それが関連する不透明バリアの値と同じであり、その不透明オブジェクト型４３２は負のバリアを示す。かかる負のバリア記録は、例えば、元来不透明バリア中の、ドア、窓、または類似の開口部を表すために使用されてよい。
【００５４】
１つ以上の実施形態において、空間中にデフォルトの不透明オブジェクトが存在することが想定されており、このデフォルトの不透明オブジェクトはそれを定義する不透明オブジェクト記録４３０を有する必要はない。例えば、床または地面は、想定されたデフォルトの不透明オブジェクトであってよい。デフォルトの不透明オブジェクトを識別するために特別な予備の識別子を用いることが可能であり、あるいは、デフォルトの不透明オブジェクトの識別子はヘッダ４０１中の他のデータ４０９の中にあってもよい。
【００５５】
図５は、様々な実施形態による、遠隔視覚体験アプリケーションをサポートし、特に仮想ベンダ家庭訪問アプリケーションをサポートするプロファイル・データ構造３２３の概念的表現である。プロファイル・データ構造は、なかんずく、空間マップ３２４中に定義されたいろいろな領域をいろいろなユーザにどのように提示するかを指定するデータを含む。１つ以上の実施形態において、プロファイル・データ構造３２３は、オーディオ・フィルタリングのパラメータをさらに含む。
【００５６】
図５を参照すると、プロファイル３２３は、ヘッダ部分５０１と、オーディオ・フィルタリングのパラメータを包含するオーディオ・フィルタ部分５０２と、複数の領域の各々対する、いろいろなユーザに当該領域をどのように視覚的に提示するか定義するそれぞれの領域記録５３０を包含する領域部分５０３（図５にはそのうちの１つの領域記録が示されている）とを含む。このプロファイル記録は、図示されていない追加のデータを含んでよい。
【００５７】
ヘッダ部分５０１は、空間マップに関連付けられ、（本遠隔視覚体験アプリケーションが複数の空間で用いられる場合に）当該プロファイルが関連する空間を識別する空間識別子フィールド５０５と、領域部分５０３内に包含されている領域記録５２０の数を特定する領域数フィールド５０６と、ビデオ・ストリームにおいて視覚像のフィルタリングが有効化されているかどうかを示すビデオ・フィルタ有効化フラグ（ＶＦＥ）５０７と、撮影されたビデオのオーディオ信号部分のオーディオ・フィルタリングが有効化されているかどうかを示す別個のオーディオ・フィルタ有効化フラグ（ＡＦＥ）５０８と、を含む。ヘッダ部分５０１には、本遠隔視覚体験アプリケーションの実行を制御するために有用であり得る任意の追加データ５０９を含めることができよう。
【００５８】
オーディオ・フィルタ部分５０２は、実行対象のオーディオ・フィルタリングの型を指定するオーディオ・フィルタ型フィールド５１１と、オーディオ・フィルタ部分５０２中に包含されるオーディオ・シグネチャの数を指定するビデオ・シグネチャ数フィールド５１２と、可変数のオーディオ・シグネチャ５１３と、を包含する。
【００５９】
オーディオ・フィルタリングは様々な仕方で行うことができる。１つ以上の実施形態において、フィルタリングは、ヘッドセット中に搭載されたマイクロフォンなど特定のオーディオ源またはオーディオ源群が伝送対象のオーディオ信号として指定され、周囲のオーディオは、それが人間の声を含むかどうかに関わらずフィルタ除外される、ノイズ除去技法を使って行われる。一般に、かかる技法は、指定された伝送対象のオーディオ信号から遠隔に配置された少なくとも１つの他のマイクロフォンを必要とする。この第二のマイクロフォンで検出された周囲のオーディオは、当該オーディオ信号からフィルタ除外され、指定されたマイクロフォンのごく近くで生成されたオーディオ、すなわち、ヘッドセットを着用している人の声だけが残される。
【００６０】
１つ以上の別の実施形態において、１つ以上のオーディオ・シグネチャが記録され、オーディオ信号は、その１つ以上のオーディオ・シグネチャに該当する音声をフィルタリング除去するか、もしくはそのオーディオ・シグネチャに該当する音声以外の全てをフィルタリング除去することによってフィルタされる。このような仕方で、遠隔視覚体験アプリケーションに双方向的に参加していない人々の背景での会話をフィルタ除外することが可能である。
【００６１】
領域部分５０３は、空間マップ３２４によって定義された各領域（デフォルトの領域を含む）に対する領域記録５２０を包含する。各領域記録５２０は、対応する領域の一意的識別子を有する領域識別子フィールド５２１と、対応する領域のデフォルトのプライバシ属性を指定するプライバシ型フィールド５２２と、どのように不明瞭化機能を実行するかを指定する不明瞭化機能型フィールド５２３と、アクセス制御リストの引き続くエントリ数を指定するアクセス制御リスト長（ＡＣＬ  Ｌｅｎ）フィールド５２４とを包含する。各領域記録は、各々がそれぞれのユーザＩＤフィールド５２６および有効期限フィールド５２７を包含する、可変数のアクセス制御リストエントリ５２５（図５にはそのうちの２つが示されている）をさらに包含することができる。
【００６２】
プライバシ型フィールド５２２は、当該領域に対するデフォルトのプライバシ属性を指定し、この型は「制限なし」、または「ローカルだけ」、または「許可された場合だけ」とすることができよう。「制限なし」プライバシ属性は、対応する領域の視覚像がフィルタせずに全てのユーザに提示されることを意味し、「ローカルだけ」は、ローカルのユーザだけに視覚像がフィルタせずに提示されることを意味し、遠隔のユーザに提示される場合には不明瞭化され、「許可された場合だけ」は、ユーザが、アクセス制御リストによって許可されている場合にだけフィルタせずに提示されることを意味する。不明瞭化機能型フィールドは、視覚データが、それをフィルタせずに見ることを許可されていないユーザに提示される場合にそれをどのように不明瞭化するかを指定する。例えば、視覚像は、単色の領域を提示することによって完全に覆い隠すことが可能であり、あるいは、画像の詳細は隠すが完全には遮蔽しないでおくために、様々なぼかし技法のいずれかを用いてぼかすことも可能である。
【００６３】
各アクセス制御リスト・エントリ５２５は、対応する領域のフィルタされていないビデオ画像を受信するユーザを識別するユーザＩＤフィールド５２６と、そのユーザがフィルタされないビデオ画像を受信することを許可されている期間を示す有効期限フィールド５２７とを包含する。この有効期限は、「常時」（ユーザは、何時でもフィルタされていないビデオを受信することを許可されている）とすることができ、あるいは、現在の実行インスタンスの終了など、特定の時間または特定のイベントまでとしてもよい。このアクセス制御リストはプライバシ属性よりも優先される。すなわち、アクセス制御リスト中に識別されたユーザには、プライバシ属性の設定の如何に関わらず、フィルタされていないビデオ画像が提示される。
【００６４】
図３〜５では、様々なソフトウェア構成要素が、本明細書で説明される様々なシステムまたはデバイス一切のそれぞれのメモリ中に包含されているとして概念的に表されている。しかしながら、周知のように、コンピュータまたは他のデジタル・デバイスのメモリは、通常、全てのソフトウェア構成要素および他のデータを同時に保持するには不十分であり、ソフトウェア構成要素および他のデータの選択された部分が、通常、ストレージから必要に応じてメモリ中にロードされる。さらに、図３〜５では、様々なソフトウェア構成要素が、別々の構成要素または他の構成要素に包含されているとして表されている。但し、当然のことながら、このような表現は、例示目的のためだけのもので、具体的なモジュールまたはデータ構成要素は、別々の構成要素であっても、または共通のモジュールの一部であっても、またはモジュールのパッケージであってもよい。さらに、図３〜５の概念的な表現の中では特定の数および型のソフトウェア構成要素が示されているが、当然のことながら、かかる構成要素の実際の数は変えることができ、特に、遠隔視覚体験環境においては、かかる構成要素の数および複雑さは、通常ずっと大きい。加えて、表現の完全性のため、特定のソフトウェア・コンポーネントが、それぞれ単一のシステム内にあるように表されているが、全てのプログラム、機能、およびデータが必ずしも単一のシステム中に存在する必要はなく、同じコンピュータ・システムの別のパーティション中に、または異なるコンピュータ・システム中に存在してもよい。最後に、当然のことながら、図３〜５の概念的表現は、いかなる特定のメモリ編成モデルをも示唆することを意味するものでもなく、データ・ストリーミング・アプリケーションまたはデータベースをホストするコンピュータ・システムは、単一のアドレス空間仮想メモリを用いてもよく、オーバーラップのある複数の仮想アドレス空間を用いてもよいであろう。
【００６５】
カメラまたは対象物の位置の測定
１つ以上の実施形態によれば、遠隔視覚体験アプリケーションは、カメラが位置を変えるのに応じ、該アプリケーション用のビデオを撮影するための可動カメラ１０３の現在の位置（すなわち、場所および方位）を知っている。実行の過程で、本遠隔視覚体験アプリケーションは、好ましくは、空間マップ３２４によって定義された基準座標系に対する現在のカメラの位置を測定しその測定を絶えず更新する。さらに、様々な基準ポイントまたは他の対象物の場所が特定される初期フェーズの過程で、カメラと対象物との間の相対距離を自動的に測定することができ、これを三次元基準座標系中の対象物の位置を定めるために用いることができる。
【００６６】
以降に展開される技法に加えて、様々なバーチャル・リアリティ・アプリケーションまたは類似の機能を実行する他のアプリケーションのいずれかにおいて使われる様々な既知の技法のどれかを、カメラもしくは対象物またはその両方の位置を測定するために用いることができよう。かかる技法は、以下に限らないが、光学追跡技法、慣性追跡技法、音響追跡技法、磁気追跡技法、もしくは、いろいろな種類のセンサ入力の結合を使う技法、またはこれらの組み合せを含んでよい。光学追跡は、１つ以上のカメラを含むことが可能で、これらは、遠隔視覚体験アプリケーションの部分として伝送されるビデオを撮影するカメラを含んでよく、もしくは、追跡のために使われる１つ以上の別個のカメラを含んでよく、またはその両方を含んでよく、これら別個のカメラは、伝送されるビデオを撮影するため使われるカメラとは物理的に離れた静止場所にあってよい。
【００６７】
１つ以上の実施形態において、１つ以上の基準マーカが当該空間内の静止場所に配置され、カメラの位置はそれらマーカに対して測定される。カメラの位置は、検出された基準マーカから三辺測量または三角測量によって測定することができる。基準マーカは任意の識別可能な物体であってよいが、とりわけ、カメラによって検出可能な赤外線信号を発信する発信デバイスであるとよい。上記の代わりに、基準マーカは、カメラに近接するトランスミッタによって発信される赤外線信号を反射し、その反射信号がカメラによって検出可能な、受動型赤外線デバイスであってもよい。上記に換えて、基準マーカは、音響デバイスなど、検出可能な送波を発信または反射する能動型または受動型デバイスの何らかの他の形のものであってもよい。最後に、基準マーカは、何らかの特別な電気的、磁気的、音響的、または他の物理的特性を有する必要はないが、但し、カメラによって容易に認識可能な物体でありさえすればよい。何らかの形の基準マーカまたはマーカ群の使用が望ましいが、これに換えて、例えば、カメラによって撮影されたビデオ画像を当該空間の既知の３Ｄモデルと対比することによるなど、基準マーカなしでカメラの位置を追跡することも可能にできよう。
【００６８】
一般に、より多い数のマーカによってより高い位置精度が可能となる。例えば、カメラに視野内に３つのマーカがある場合、三次元空間中のカメラの現在位置は、カメラ・レンズのセンタと諸マーカとの間のそれぞれのラインと、レンズの中心ライン軸とによって構成される角度から算定することが可能である。これより少ないマーカしか見えない場合、他のデータを使って位置を見積もることができるかもしれない。例えば、マーカ、または床もしくは天井など何らかの他の基準への距離は、カメラのオートフォーカス機能などの他の手段によって見積もることが可能である。既知のオフセットで搭載されたカメラの対（つい）を用い、立体視によって深度の測定機能を設けることもできよう。
【００６９】
カメラの位置を測定するために用いられる技法の如何によっては、空間中のカメラの方位を算定するために１つ以上の追加のセンサを含めることが望ましいかもしれない。例えば、地面に対する（すなわち、地球の重力場に対する）カメラの方位を測定するためにレベル・センサを使うことが可能であろう。地球の磁場に対するカメラの方位を算定するために、コンパスとして磁気センサが使用されてもよい。これら２つのセンサが合わさって、３Ｄ空間中のカメラのレンズ軸の方向を提供することができよう。カメラの位置を算定するために、他の位置情報と併せてこれらを使用してよい。追加の参照データを得るために追加のセンサをカメラと連結することも可能であろう。
【００７０】
遠隔視覚体験のオペレーション
１つ以上の実施形態によれば、遠隔視覚体験のためその中でカメラを動作させビデオ画像を撮影する空間の領域をマップした、空間マップが構築される。少なくとも１つの、それぞれのプライバシ属性が、空間の複数の領域の各々に関連付けられ、この１つ以上のプライバシ属性は、とりわけ、一人以上の遠隔のユーザが、空間の対応領域のビデオ画像を見る資格を定義する。いずれか１つの空間に関連付けられたプライバシ属性は、いずれかの他の空間に関連付けられたプライバシ属性とは無関係である。
【００７１】
遠隔視覚体験アプリケーションの実行の過程では、カメラによってビデオ・データが撮影され、カメラの視野を、具体的には視野内の空間の領域（１つまたは複数）を特定するために、カメラの位置／方位が連続的にまたは周期的にリアルタイムで更新される。本アプリケーションは、いずれかの領域（１つまたは複数）が不明瞭化されるべきかどうか判断するために、それら領域の対応するプライバシ属性を参照し、それに従い、当該領域を不明瞭化することによってビデオを修正する。修正されたビデオは、例えば、遠隔のユーザの制御の下にあるディスプレイ・デバイス上での視聴のため、その遠隔のユーザに伝送される。
【００７２】
図６は、様々な実施形態による、遠隔視覚体験アプリケーションにより実行されるプロセスを、ハイレベルで表すフロー図である。図６を参照すると、本遠隔視覚体験アプリケーションがその中で動作することになる空間のマップが生成される（ブロック６０１）。図６中のブロック６０１として表され、図７中でより詳細に示されている空間マップの生成は、遠隔視覚アプリケーションの実行インスタンスよりかなり前に行われてもよく、ほぼ同時に行われてもよいであろう。空間マップは、たとえ実行中であっても、例えば、追加の領域を含めるためまたは既存の領域を拡げるために空間を拡張することによって修正されてよく、カメラは、空間マップの当初に定義された空間内になかったものをその視野空間内に取り入れるように移動される。
【００７３】
１つ以上の実施形態において、ユーザは、当該空間内に少なくとも１つ、好ましくは複数の基準場所を設定することにより、且つ、該空間の様々な領域をカメラの視野内に取り入れるためにカメラを移動することによって、本遠隔視覚体験アプリケーションのためにその中でビデオが撮影されることになるローカル空間を定義する。図７は、様々な実施形態による、遠隔視覚体験がその中で動作するローカル空間の空間マップ３２４を生成するプロセスをより詳細に表すフロー図であり、このプロセスは、空間マップ・ジェネレータ３１３によって行われる。
【００７４】
図７を参照すると、ユーザは、空間内のそれぞれの場所に、空間に対する方位を確立するためのそれぞれの基準ポイントとして使われることになる１つ以上の基準マーカ１１２を随意に配置する（ブロック７０１）。当該空間内に既に存在する認識可能な固定対象物が基準ポイントとして代わりに使用されてもよいので、ブロック７０１は、随意的なステップと見なされる。
【００７５】
ユーザは、少なくとも１つの好ましくは複数の基準ポイントを選択し、カメラ（もしくはそれに関連付けられたセンサまたはその両方）は、選択に応じて、各選択された基準ポイントに対するそれぞれの基準ポイント・シグネチャ・データを取得する（ブロック７０２）。選択される基準ポイントは、好ましくは少なくとも３つであるが、但し、地平面に対する方位を提供する重力センサなど、追加のセンサ・データが使われる場合はより少ない基準ポイントによって３Ｄ空間中の方位を得ることも可能である。このシグネチャ・データは、各それぞれの基準ポイントに対応するシグネチャ・データ・フィールド４１５中に保存される。基準ポイントの選択は、選択された基準ポイントにカメラを向けることによって、または選択された基準ポイントの場所を示す手のジェスチャによって、または音声のコマンドによって、カーソル・ポインティング・デバイスを使って表示された画像の或るポイントにカーソルを移動することによって、または他の手段もしくは手段の組み合せによって達成することができよう。これらシグネチャ・データは、適切なセンサ・データ（これはカメラからの画像データを含んでよい）が入力として受信されたとき、対応する基準ポイントを認識するため、遠隔視覚体験アプリケーションによって用いられる。具体的に、実行の過程で、受信されたセンサ・データは、空間マップが生成されたとき基準ポイントを識別するために格納されたシグネチャ・データと、照合される。シグネチャ・データは、このため、基準ポイントの認識を可能にするようなものは何でも含んでよく、複数の発信源からのセンサ・データを含んでもよい。
【００７６】
基準ポイントの相互に対する（および、必要な場合、何らかの他の方位軸または軸群に対する）位置と、これら基準ポイントに基づくｘ−ｙ−ｚ基準座標系と、各基準ポイントの該ｘ−ｙ−ｚ基準座標系中のそれぞれのｘ、ｙ、およびｚ座標とが、空間マップ・ジェネレータ３１３によって自動的に算定され、空間マップ３２４中に格納される（ブロック７０３）。これらは、様々な技法のいずれかを用いて算定することができよう。基準座標系および基準ポイントの座標を算定するための例示的な技法、ならびにその特定のバリエーションが以下に説明され、図８に示されるが、当然のことながら、本明細書で説明するこれらの例示的な技法およびバリエーションは、必ずしもこれらだけがこのために使用可能な技法ではない。
【００７７】
図８は、様々な実施形態による、ｘ−ｙ−ｚ基準座標系、当該基準系中の複数の基準ポイントの座標を算定するプロセスをより詳細に表すフロー図である。１つ以上の実施形態において、基準ポイントの諸対（つい）の間の距離は、センサの距離および角度のデータを使って算定される。複数の基準ポイントの対の各々に対し、検知デバイスから当該対の第一基準ポイントまでのそれぞれの第一距離が測定され、該検知デバイスから当該対の第二基準ポイントまでのそれぞれの第二距離が測定され、その上で、検知デバイスから該第一基準ポイントまでのラインと検知デバイスから該第二基準ポイントまでのラインとによって形成される角度が測定される（ブロック８０１）。この例において、「検知デバイス」はカメラであってよく、これは、オートフォーカス機能を使って、これら２つの基準ポイント上に別々に合焦し、撮影された画像上のこれら基準ポイントの投影によって角度を測定する。これに換えて、１つ以上の別個のセンサを、センサ単独でまたはカメラと共同して用いることもできよう。
【００７８】
各対の２つのポイントへのこれらの距離および角度は、三角の２つの辺と隣接角とを形成し、これらから、対辺の長さ（対の２つの基準ポイントの間の距離）が計算される（ブロック８０２）。
【００７９】
ｘ−ｙ−ｚ基準座標系に対する原点が選択される（ブロック８０３）。空間中の任意の便利な点が原点として選択されてよい。１つ以上の実施形態では、基準ポイントの１つが原点として任意に選ばれる。あるいは、原点は、そのようなセンサがあれば、固定場所を有するセンサの場所として選択されてもよい。
【００８０】
ｚ軸の方位（これは、原点と共に、ｘおよびｙ軸平面を決める）が選択される（ブロック８０４）。１つ以上の実施形態において、ｚ軸方位は、重力センサまたはレベル・センサを用いて決められ、このｚ軸は重力と平行である。かかるセンサがない場合、ｚ軸は、既知の垂直方位を有する対象物を基準として定めることも可能であろう。
【００８１】
ｘ軸およびｙ軸の方位が選択される（ブロック８０５）。ｚ軸の方位を選択した後、ｘ軸の方位は、原点から、第二の任意に選ばれた基準ポイントのｘおよびｙ軸平面上への投影への方向に一致するように選ぶことができ、このｘおよびｙ軸平面は、原点を包含しｚ軸に対し垂直な平面である。このとき、ｘおよびｙ軸平面中のｙ軸はｚ軸に垂直である。
【００８２】
上記に換えて、１つ以上の実施形態において、これら軸の方位は、同一直線上にない３つの任意に選択されたポイントによって定められてもよい。かかる実施形態では、例えば、ｘ軸は、原点（第一の任意に選ばれた基準ポイント）と第二の任意に選ばれた基準ポイントとを通過するラインとして、任意に選ばれる。次いで、ｘ軸と第三の任意に選ばれた基準ポイントとからｘ−ｙ軸平面を定義し、ｘ軸に垂直にその平面中に横たわるラインとしてｙ軸を定義することによって、ｙ軸の方位が選ばれる。このとき、ｚ軸はｘおよびｙ軸両方に対し垂直なラインである。
【００８３】
各基準ポイントのｘ、ｙ、およびｚ座標は、選択されたｘ−ｙ−ｚ基準座標系に沿って算定され、空間マップ３２４中の各々の基準ポイント記録４１０の対応するｘ、ｙ、およびｚ位置のフィールド４１２、４１３、４１４中に保存される。ｘ、ｙ、ｚ座標を算定するために用いられる方法は、選ばれた基準座標系により決まり得る。
【００８４】
１つ以上の実施形態において、（ｘ軸を配向するために使われた）第二基準ポイントのｘ、ｙ、ｚ座標が算定される（ブロック８０６）。例えば、ｚ軸の方位を決めるために重力センサまたはレベル・センサが使われた場合、第一基準ポイント（原点）から第二基準ポイントへのラインと垂直線（ｚ軸）との間に形成される角度θが、センサおよびカメラによって測定でき、第二基準ポイントのｘおよびｚ座標が、それぞれｄ×ｓｉｎθおよびｄ×ｃｏｓθとして導出可能で、このｄは、最初の２つの基準ポイント（第二基準ポイントのｙ座標は０である）の間の距離である。
【００８５】
後続の基準ポイントの座標は、第一および第二基準ポイントへの参照によって算定されるか（ブロック８０７）、あるいは、座標が既に算定済みの他の基準ポイントへの参照によって算定される。具体的に、原点（第一ポイント）と後続のポイントとの間の既知の距離、および原点からのラインとｚ軸との角度から、第二ポイントのｚ座標と同じ仕方で、これら後続のポイントのｚ座標を算定することができる。ｘ−ｙ平面上へのこの距離の投影も同様にして計算される。第二ポイントと後続のポイントとの間の距離、およびそれらそれぞれのｚ座標の間の差を使って、第二ポイントと後続のポイントとの間の距離のｘ−ｙ平面状への投影を算定することが可能である。これら２つの投影および第二ポイントの既知のｘ座標から、ｘ−ｙ平面中に三角形の三辺が形成され、これは、原点に１つの頂点と、ｘ−ｙ平面上の第二ポイントの投影に第二の頂点と、ｘ−ｙ平面上の後続ポイントの投影に第三の頂点とを有する。これらの３つの距離から、後続ポイントのｘおよびｙ座標の計算が可能である。
【００８６】
あるいは、３つより多い基準ポイントの座標が判明している場合、後続の基準ポイントの座標は、最初の３つの基準ポイントから三辺測量によって算定することができる。
【００８７】
さらなる別の実施形態として、例えば、３つの任意に選ばれた基準ポイントが基準座標系を定義している場合、その第一ポイントは原点であり、第二ポイントは、最初の２つのポイントの間の距離に等しいｘ座標と、０のｙおよびｚ座標を有し、（ｘ−ｙ平面中に在る）第三ポイントは０のｚ座標と、最初の２つのポイントおよびそのそれぞれと第三との間の既知の距離から三角測量によって算定されたｘおよびｙ座標とを有する。後続の基準ポイントは、最初の３つから三角測量によって算定が可能である。
【００８８】
必ず必要ではないが、諸ポイントがカメラからおおむね等距離にある場合、カメラを使った、２つの基準ポイントの間の距離および垂直線に対する角度の測定において、一般により高い精度が達成されよう。オプションとして、本遠隔視覚体験アプリケーションが、ユーザに、各基準ポイントの対（つい）に対して、上記のような場所に移動するよう指示するようにもできよう。あるいは、本アプリケーションが、ユーザが適用空間を動き回ってカメラの位置を変えるにつれ、多くの異なるカメラ位置から撮られたデータを収集し、諸ポイントがほぼ等距離になるようにポイントの各対に対するそれぞれの位置を選択することも可能であろう。さらに、様々な技法のいずれかを用い、それによって、複数のカメラまたはいろいろな測定場所から測定データを取得し、それらを調整して合成された測定を得ることもできよう。
【００８９】
上記で開示した諸実施形態において、本アプリケーションは、関連する距離およびｘ−ｙ−ｚ基準座標系中の各基準ポイントの座標を自動的に算定しているが、１つ以上の別の実施形態では、ユーザが、測定値または座標データの一部または全部を手動で入力してもよく、ユーザがデータの一部だけを手動で入力する場合、本アプリケーションは、基準ポイントの座標を算定するために必要で欠如している一切のデータを測定しもしくは導出しまたはその両方を行うことができよう。
【００９０】
再び図７を参照すると、ユーザは、空間マップ３２４の空間中に１つ以上の領域を定義する。領域は、空間中に画定された任意の三次元幾何形状であってよい。１つ以上の実施形態において、デフォルト領域は、明示的に定義された領域内にない当該空間中のいずれかの部分を含む。１つ以上の実施形態において、デフォルト領域に対するものを除き、限定された数の領域形状だけがサポートされ、おそらくは１つだけの領域形状がサポートされる。例えば、デフォルト領域以外の全領域が、直方体であってよい。１つ以上の実施形態において、或る領域は、複数の単純な形状の結合体として定義されてよく、これは、複数の直方体など、オーバーラップしていてもよい。
【００９１】
デフォルト領域の１つ以上の属性が、明示のユーザ入力によって、もしくはデフォルトで指定される（ブロック７０４）。これら１つ以上の属性は、とりわけ、当該デフォルト領域の画像を見ることに対するアクセス制限を定義する少なくとも１つのアクセス属性を含む。例えば、アクセス属性は、対応する領域がローカルおよび遠隔の全てのユーザによって自由に見ることができることを指定することができ、またはそれがユーザの１つ以上の特定のクラスによってだけ見ることができることを指定することができ、あるいは、アクセス制御リストもしくは当該デフォルト領域を見るためのアクセスを有するユーザを管理する他のデータ構造を参照することができる。アクセス属性は、アクセスを、遠隔視覚体験アプリケーションの実行段階の持続時間の間だけ、または特定の一日の特定の時間の間だけ認可するなど、特定の時間枠にさらに制限できようし、または別途にアクセスを制限することが可能であろう。
【００９２】
ユーザは、領域または不透明バリアなど、空間マップ中に定義されるべき対象物を選択し、適用される場合には、対象物の種類を指定する（ブロック７０５）。本遠隔視覚体験アプリケーションは、複数の領域型もしくは複数の不透明バリア型またはその両方をサポートすることができる。例えば、領域型は、領域形状の一部または全部に対し、領域がデフォルトで不透明バリアによって取り囲まれているかどうか、および／または、指定された領域がサブ領域であるかどうか、すなわち、該領域が１つ以上の他の指定されたサブ領域に結合されて空間マップ中により大きな合成領域を形成するものであるかどうかを指定することができる。また、不透明バリア型は、形状を、もしくは定義された形状がバリアかまたは開口部なのかどうかを、またはその両方を含むことが可能で、この開口部は、窓またはドアによって形成が可能なような、より大きな不透明部の中の不透明さがない開口である。
【００９３】
本アプリケーションは、該当する場合、領域ＩＤフィールド４２１またはバリアＩＤフィールド４３１中へのエントリに対し、領域ＩＤまたはバリアＩＤを自動的に割り当てることできる。領域が、１つ以上の他の指定サブ領域と結合されることになるサブ領域である場合、本アプリケーションは、ユーザに、ドロップダウン・メニューなどによって前に指定された領域のリストなどを提示するなどして、そのサブ領域が結合することになる領域を指定するようユーザにプロンプトし、ユーザの選択を受信する。ユーザは、加えて、（該当する場合、領域記述フィールド４２４または不透明オブジェクト記述フィールド４３４中へのエントリに対し）対応する対象物の記述を指定することができる。
【００９４】
ユーザは、選択された対象物の境界を指定する（ブロック７０６）。１つ以上の実施形態において、ユーザは、選択された対象物のコーナーまたはエッジを示すために手のジェスチャまたは手と音声との組み合せのコマンドを用いる。境界は、壁、家具など適用空間内に存在する何らかの物体と合致していてよく、または単に空間中の任意の場所であってもよい。１つ以上の実施形態において、ユーザは、音声コマンドによってまたは別の方法で、カメラが現在位置している部屋全体が指定対象領域であることを指示し、その領域の諸境界の識別を可能にするため、全ての境界面およびエッジを視界中に取り込むような仕方で部屋全周にカメラをパンすることができる。
【００９５】
各ユーザが境界を指定するのに応じて、本遠隔視覚体験アプリケーションは、基準座標系中の境界の位置を算定し、選択された対象物を画定する適用対象の頂点のｘ−ｙ−ｚ座標を算定し保存する（ブロック７０７）。境界および頂点の座標位置は、前述した、基準座標系中の基準ポイントの座標を算定するための技法のいずれかを使って算定することが可能である。該当する場合、これら頂点の座標は、空間マップ３２４の頂点座標フィールド４２３または４３３中に保存される。
【００９６】
選択された対象物が、暗に含まれた不透明バリアをその境界の各々に包含している型の領域である場合（ブロック７０８からの「はい」分岐）、本アプリケーションは、その領域の各境界面に対し、不透明バリア記録４３０を自動的に生成する（ブロック７０９）。当該領域が、より大きな合成領域のサブ領域である場合、バリア記録は、領域全体の外表面に対してだけ生成される。あるいは、本アプリケーションは、ランタイムで、不透明バリアの存在を判断するために１つ以上の領域記録を用いることも可能であろう。
【００９７】
入力対象のバリアまたは領域がまだ残っている場合、ブロック７１０からの「はい」分岐が取られ、ブロック７０５で次の対象物が選択される。全ての対象物が入力済の場合、ブロック７１０からの「いいえ」分岐が取られ、空間マップの生成は完了する。
【００９８】
ユーザが本アプリケーションにデータを入力する必要がある場合、かかる入力は、デジタル・デバイスにデータを入力するために現在知られている、または今後開発される任意の方法によって達成ができようし、本アプリケーションに異種のデータを入力するために異種の方法を用いることもできよう。例えば、手のジェスチャは、三次元空間中で場所または対象物を示すのに有用であり、基準ポイントおよび領域の境界もしくはバリアを指定するために使われてよい。対象物の名称またアクセス属性など、他のデータは、キーボード、音声コマンド、メニューからのポインタ選択などを介する入力がより便利であり得よう。本明細書では、特定の処置に関連して特定のデータ入力方法が記述されていることがあるが、遠隔視覚体験アプリケーションは必ずしもかかる入力方法には限定されない。
【００９９】
１つ以上の例示的な実施形態において、ローカル空間の空間マップは、前述のように、１つ以上の基準ポイントを定義し、当該空間の画像を撮影することによって生成されるが、空間は、代わりに、他の手段によって定義されてもよく、これを、本遠隔視覚体験アプリケーションの実行の前またはその間に行うことが可能である。例えば、データは、建築図面など、保管されている当該空間をマッピングしたデジタル記録からインポートする、もしくは変換するまたはその両方を行うことができよう。データは、ユーザが手動で入力することすら可能である。
【０１００】
代替法のさらなる例として、空間マップは、実行の間にその場で、当該空間のビデオを撮影し、手のジェスチャもしくは音声コマンドまたはその両方を使い１つ以上の領域を画定することによって、定義されてもよい。かかる代替法の実施形態では、空間全体が、初期的には背景領域として定義されてよく、実行中に、ユーザによって１つ以上の追加領域を定義することが可能で、各追加領域は背景領域から差し引かれる。例えば、ローカル・ユーザが、定義され、限定された区域だけを遠隔のユーザによる視聴に露呈することを望む場合、そのローカル・ユーザは、当該空間全体を背景領域として指定し（且つ、該背景領域が遠隔のユーザによる視聴に露呈されるべきでないことを示すプライバシ属性を設け）、実行中に、背景領域から差し引く対象の１つ以上の追加領域を生成することが可能で、これら１つ以上の追加領域は、それらが遠隔のユーザに露呈されることを許可するプライバシ属性を有する。かかる空間マップは、今後の再使用のため保存されても、または実行インスタンスの終了時に削除されてもよい。
【０１０１】
図６を参照すると、遠隔のユーザによる視聴アクセスを制御する少なくとも１つのそれぞれのプライバシ属性が、各領域に割り当てられ、プロファイル・データ３２３の一部として格納される（ブロック６０２）。プライバシ属性は、デフォルトで割り当てることもでき、またはユーザからの明示のコマンドによって割り当てることも可能で、このコマンドは、音声入力、手のジェスチャ、キーボード入力、またはデジタル・データ・デバイスへの様々な入力法のいずれであってもよい。領域へのプライバシ属性の割り当ては、通常、領域の定義と同時に行われることになろうが、これは、必ずしも同時でなければならないことはなく、また、当該領域が定義されたときからずっと後にでも修正することができよう。この１つ以上のプライバシ属性は、遠隔アクセスが許されるかどうかを示すバイナリ・フラグのような簡単なものであってもよく、またはある範囲の数値もしくは品質のいずれかであってもよい。異なるユーザに対する複数レベルのプライバシまたはアクセスが定義されてもよく、この定義では、一部の領域は一部の遠隔のユーザには見ることができないことになろうが、他のユーザには見ることが可能で、一部の領域はどの遠隔のユーザも見ることができないことになろう。
【０１０２】
或る例示的な実施形態では、プライバシ属性は、一人以上の指定ユーザ（またはユーザのクラス）に対し対応する領域のビデオを見ることを許可する、アクセス制御リストとして実装することができ、各領域が、それぞれの独立したアクセス制御リストを有し、これによって、ユーザはビデオを見ることを個別的に許可される。
【０１０３】
また、１つ以上のオプションの実施形態において、ユーザは、ビデオ・ストリームのオーディオ信号部分への遠隔アクセスを制御するための１つ以上のオーディオ・プライバシ属性を指定することも可能で、これも同様にプロファイル・データ３２３中に格納される。このオーディオ・プライバシ属性は、通常、或る領域に特定されるものでなく、背景オーディオ（すなわち、特定のマイクロフォンから以外のオーディオ）をフィルタする、または特定の人の声をフィルタするために用いることができる。
【０１０４】
本遠隔視覚体験アプリケーションの実行は、図６中に、破線のボックス６０３内で行われる活動として表されており、当然ながら、前に述べたようにブロック６０１もしくは６０２またはその両方は、ランタイムに行われてもよい。
【０１０５】
ビデオ・ストリームは、可動カメラ１０３によって撮影され、生ビデオ・バッファ３２５に一時的に格納される（ブロック６０４）。
【０１０６】
カメラ１０３の現在の視野内の領域が、方位機能３１２およびランタイム・マッピング機能３１４を使って周期的または連続的に特定される（ブロック６０５）。現在の視野の特定は、一定の比較的に短い時間間隔で行われてもよく、カメラの視野に有意な変化があったことを示す入力があったのに応じて行われてもよい。
【０１０７】
１つ以上の実施形態において、図９により詳細に表されているように、この視野は（前述したように）空間中のカメラ位置を算定することによって特定され、この視野を空間マップにマッピングすることによって、視野内の諸領域が判断される。諸領域を識別する別の方法もあり得よう。例えば、各領域がそれ自体の識別マーカまたは他の参照物体を有することが可能で、これらは、撮影されたビデオ画像上に位置付けられ、かかる参照物体から領域が直接的にマップされてもよい。
【０１０８】
図９は、様々な実施形態による、カメラの視野内にありしたがって現在撮影されたビデオ画像上で観察可能な、空間の定義された領域を特定するプロセスをより詳細に表すフロー図である。図９を参照すると、ビデオ・カメラの現在の位置および方位が特定される（ブロック９０１）。この位置は、カメラのｘ−ｙ−ｚ座標によって定義された三次元空間中の位置である。この方位は、レンズの軸の方向である。これらは、方位機能３１２によって、カメラ位置の算定について前述したような様々な技法のいずれかを使って算定される。
【０１０９】
ランタイム・マッピング機能３１４は、カメラ位置からのカメラの視野の境界を形成する４つの平面のセットを導出する（ブロック９０２）。これらの４つの平面はレンズの軸上のレンズの直ぐ後ろのポイントで収束し、レンズ軸に垂直ないずれかの平面と交差し矩形を形成する。これら４つの平面とカメラ軸に垂直な平面とによって形成される三次元の多面体は矩形状錐体である。これらの４つの平面で境界付けられた三次元領域は、カメラの視野であり、少なくとも初期的には、空間中に無限に延びていると想定される。
【０１１０】
ブロック９０３〜９０９に示されるように、不透明バリア記録は、次いで、ブロック９０２で前述した４つの平面の境界の内側に在る一切の不透明バリアを識別するために処理され、視野の部分を不明瞭化する不透明バリアの順序リストを構築する。処理対象のいずれかの不透明バリア記録が残っている場合、ブロック９０３からの「はい」分岐が取られ、選択された不透明バリアに関連する開口部を含め、次の不透明バリア記録が選択される（ブロック９０４）。
【０１１１】
選択された不透明バリアが、４つの平面で画定された視野の完全に外側に在る場合、ブロック９０５からブロック９０３への「いいえ」分岐が取られ、次の記録が存在すれば処理のため選択される。選択された不透明バリアが視野内に在る場合、ブロック９０５からブロック９０６への「はい」分岐が取られる。この場合、ランタイム・マッピング機能は、当該不透明バリアが、リスト上の何らか先行の不透明バリアによってその全面が不明瞭化されるのかどうかを判断する。不明瞭化されている場合、ブロック９０６から９０３への「はい」分岐が取られ、次の記録が存在すれば処理のため選択される。現在選択されている不透明バリアが、先行の不透明バリアによって完全には不明瞭化されていない場合、ブロック９０６からの「いいえ」分岐が取られ、現在選択されている不透明バリアが、不透明バリアの順序リストのカメラに対するその近接度に対応するリスト位置に加えられ、このリストでは、カメラに最も近接するバリアが第一にリストされる（ブロック９０７）。次いで、該マッピング機能は、順序付けで現在のバリアに後続してリスト上に既存するいずれかのバリアが、現在のバリアによって完全に不明瞭化されるかどうかを判断する（ブロック９０８）。そのようなバリアがある場合、一切のかかる不明瞭化されるバリアは、バリアのリストから削除される（ブロック９０９）。その後、マッピング機能は、ブロック９０３に戻って、次のバリアが存在すれば処理のため選択する。
【０１１２】
全てのバリアが斯く処理されたならば、ブロック９０３からブロック９１０への「いいえ」分岐が取られる。ランタイム・マッピング機能は、領域記録を処理し、ブロック９１０〜９１４に示されるように、空間マップ中に識別された各領域について、その領域のいずれかの部分が、バリア記録によって限定されたカメラの視野内に在るかどうかを判断し、カメラで撮影された二次元ビデオ画像上への各々のかかる領域の投影の境界を算定する。
【０１１３】
処理対象の領域記録がまだ残っている場合、９１０からの「はい」分岐が取られ、次の領域記録が選択される（ブロック９１１）。合成領域については複数の記録が必要となる。
【０１１４】
選択された領域全体が、４つの平面によって画定された視野の外側に在る場合、ブロック９１２からブロック９１０への「いいえ」分岐が取られ、次の領域記録が存在すれば処理のため選択される。選択された領域が視野内に在る場合、ブロック９１２からブロック９１３への「はい」分岐が取られる。この場合、ランタイム・マッピング機能は、選択された領域全体が、不透明バリア・リスト上の何らかの不透明バリアまたは不透明バリア群によって不明瞭化されているかどうかを判断する。されている場合、ブロック９１３からブロック９１０への「はい」分岐が取られ、次の領域記録が存在すれば処理のため選択される。現在選択されている領域が、不透明バリア・リスト上の１つ以上の不透明バリアによって完全には不明瞭化されていない場合、ブロック９１３からの「いいえ」分岐が取られる。この場合、マッピング機能は、どのバリアにも不明瞭化されていない領域部分の、ビデオ・カメラによって撮影された二次元画像上への投影を算定し、その投影を領域投影の順序リストに加える（ブロック９１４）。リスト中の諸投影は、相互に重なってもよく、対応する領域のカメラへの近接度に従って、カメラに最近接の領域を重なった投影の最上部にして順序付け（上重ね）される。次いで、マッピング機能は、次の領域記録が存在すれば、それを選択するためにブロック９１０に戻る。
【０１１５】
デフォルト領域がサポートされている場合、これは、どの他の領域中にも含まれない空間で定義されているので最後に選択される。デフォルト領域の境界が測定されたならば、それは、それが視野内に在るかどうか、それが１つ以上のバリアによって不明瞭化されているかどうか、および不明瞭化されていない部分が存在する場合その投影を、判断することによって、他の領域と同様な仕方で処理される。
【０１１６】
全ての領域が斯く処理されたならば、ブロック９１０からの「いいえ」分岐が取られ可視の領域の投影の算定は完了する。
【０１１７】
再び図６を参照すると、カメラの視野内の１つ以上の領域の１つ以上のプライバシ属性が、格納されたプロファイル・データ３２３から取得される（ブロック６０６）。これらのプライバシ属性は、領域の表示を不明瞭化する必要があるかどうかを判断するために、現在の遠隔のユーザの識別またはアクセス権利と対比される。現在の遠隔のユーザが見ることを許可されていない一切の領域に関し、視界からその領域が不明瞭になるようにビデオが変更される（ブロック６０７）。領域の「不明瞭化」には、視覚的詳細を見ることを困難または不可能にするための任意の既知の技法を用いることができよう。これは、画像中の当該領域を空白のブルー画面パターンに置き換えることによってもよく、もしくは「ピンぼけ効果」を出すためにピクセルの一部をランダム化することによってもよく、または当該領域内の詳細を見ることを困難または不可能にする何らかの他の形をとることも可能であろう。修正されたビデオは、処理済みビデオ・バッファ３２６に一時的に格納される。
【０１１８】
１つ以上の実施形態において、ビデオ・データのオーディオ信号部分もまた、プロファイル・データ３２３のオーディオ部分５０２中に指定されたオーディオ・フィルタリング・パラメータに従ってフィルタされ、処理済みビデオ・バッファ３２６中に格納される（ブロック６０８）。これは、ビデオ画像の処理に後続して行われる処置として図６に表されているが、当然のことながら、オーディオ処理とビデオ画像処理とは同時に行うこともできよう。１つ以上の別の実施形態では、オーディオのフィルタリングは行われない。
【０１１９】
処理済みビデオ・バッファ３２６からの修正済みビデオが（付属するオーディオ信号があればそれも含めて）、遠隔のユーザにリアルタイムで表示するために、ネットワーク１０６を介して遠隔１０７に伝送される（ブロック６０９）。完了条件が満たされなければ、本プロセスは継続する（ブロック６１０からの「いいえ」分岐）。本アプリケーションを終結するコマンドなどの完了条件が満たされれば、ブロック６１０からの「はい」分岐で示されるように、本プロセスは終了する
【０１２０】
利点
共有の視覚体験アプリケーションはごく最近に開発されたものであり、今後、もっと多くのかかるアプリケーションが開発されることが期待できる。かかる将来のアプリケーションは、前述したような簡単な例をはるかに凌駕して敢行されてよい。共有視覚体験アプリケーションは、教育、ヘルス・ケア、娯楽、マーケティング、建物および設備のメンテナンス、建築、法の執行、および他の多くのことに有用であり得る。
【０１２１】
初期の遠隔会議環境では、カメラの視野に対して確保された空間を設け、その空間から遠隔のユーザに呈示すべきでないあらゆるものを当該空間から除外することが普通であった。しかしながら、共有視覚体験アプリケーションでは、遠隔のユーザに見える可能性のあるものを制御するのははるかに難しい。ローカル・ユーザは、不注意で、または遠隔のユーザの指示で、遠隔のユーザに見せるべきでない物体を含むカメラの視野に移動するかもしれない。例えば、自宅内にいるローカル・ユーザは、機密性の文書、家のレイアウトの詳細またはその中に包含される貴重品、ばつの悪いまたは私事状態にある人、子供等々を露呈するかもしれない。
【０１２２】
いくつかの実施形態の利点は、ビデオ・データが、遠隔の受信者への表示のためリアルタイムで伝送されるときに、特に、ビデオ・データが共有視覚体験アプリケーションによって遠隔のユーザに伝送されるときに、人々のプライバシを保護する改良された技法を含む。
【０１２３】
本明細書で説明した、三次元空間の選択された領域のビデオ画像を不明瞭化するシステムは、機密性の、プライベートな、または秘密の物事の、不注意な開示からの比較的により安全で確実な保護を提供する。ユーザは、当該空間内の全てのあり得る機密性の物事について考える必要はなく、選択された領域が、本遠隔視覚体験アプリケーションの目的に関連する何物も有しさえしなければ、それら領域を広く除外することが可能である。例えば、仮想ベンダ家庭訪問アプリケーションの場合には、ユーザは、特定の取付け具の修理など、その仮想ベンダ家庭訪問の主題に関連する領域を狭く定義し、他の領域中の保護を必要とする具体的なコンテンツについて考える必要なく、当該空間中の全ての他の領域を不明瞭化することができる。さらに、可動カメラの視野内にある三次元空間内の諸領域を特定することによって、カメラが移動しても、カメラの位置および方位の如何に関わらず、プライベートな領域中の物事の保護が維持される。
【０１２４】
他のバリエーション
１つ以上の好適なもしくは別形のまたはその両方の実施形態として、上記で一連のステップを説明してきたが、当然のことながら、遠隔視覚体験のためのプロセスの多くのバリエーションが可能である。具体的には、本明細書で説明した諸機能を実行するために、一部のステップは異なる順序で行うことが可能であり、異なるデータ構造が使用可能であり、もしくは異なるハードウェアまたはソフトウェア・リソースを用いることが可能であり、またはこれらの組み合せを行うことが可能である。さらに、特定の算式、閾値、論理条件等々が、１つ以上の実施形態として開示されていることがあるが、当然のことながら、これらの算式、閾値、論理条件など、およびそれらのバリエーションは、可能な実施形態のほんの一部であり、他の技法を替わりに用いることができよう。
【０１２５】
本発明は、任意の可能な技術的詳細の集約度で、システム、方法、もしくはコンピュータ・プログラム製品またはこれらの組み合せとすることができる。このコンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラムを有するコンピュータ可読ストレージ媒体（または媒体群）を含むことが可能である。
【０１２６】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し格納できる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のデバイスの任意の適切な組み合せであってよい。コンピュータ可読ストレージ媒体のさらに具体的な例の非包括的リストには、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去およびプログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙまたはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フレキシブル・ディスク、パンチカードまたは記録された命令を有する溝中の嵩上げ構造体などの機械的符号化デバイス、および前述の任意の適切な組み合せが含まれる。コンピュータ可読ストレージ媒体の例が、システム・メモリ２０２およびデータ・ストレージ・デバイス２２１〜２２３として図２に表されている。本明細書で用いられるコンピュータ可読ストレージ媒体は、無線波または他の自由に伝播する電磁波、ウェーブガイドまたは他の送信媒体（例えば、光ファイバを通過する光パルス）、またはワイヤを通って送信される電気信号など、一時的な信号それ自体であると解釈されるものではない。
【０１２７】
本明細書に述べられたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング／処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくはワイヤレス・ネットワークまたはこれらの組み合せなどのネットワークを介して、外部のコンピュータもしくは外部のストレージ・デバイスにダウンロードすることが可能である。このネットワークには、銅伝送ケーブル、光伝送ファイバ、ワイヤレス通信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバまたはこれらの組み合せが含まれてよい。それぞれのコンピューティング／処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、ストレージのため、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体の中に転送する。
【０１２８】
本発明との矛盾がない限り、または別途に指定されている場合を除き、本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令集合アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合せで記述されたソース・コードもしくはオブジェクト・コードであってよい。このコンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことも可能である。いくつかの実施形態において、例えば、プログラム可能論理回路、フィールドプログラム可能ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、またはプログラム可能論理アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙ）を含む電子回路は、本発明の諸態様を実行すべく、該電子回路をカスタマイズするためコンピュータ可読プログラム命令の状態情報を利用することによって、該コンピュータ可読プログラム命令を実行することができる。
【０１２９】
本発明の諸態様は、本発明の諸実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら本明細書で説明されている。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合せは、コンピュータ可読プログラム命令によって実装することが可能である。
【０１３０】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに提供し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するための手段を生成するようにすることができる。また、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイスまたはこれらの組み合せに対し特定の仕方で機能するよう命令することが可能なこれらのコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体に格納し、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に特定されている機能／動作の諸態様を実装する命令群を包含する製造品を構成するようにすることができる。
【０１３１】
さらに、これらコンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上で、他のプログラム可能装置上で、または他のデバイス上で一連のオペレーション・ステップを実施させて、コンピュータ実装のプロセスを作り出し、当該コンピュータ上で、他のプログラム可能装置上でもしくは他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するようにすることも可能である。
【０１３２】
諸図面中のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品から可能となる実装のアーキテクチャ、機能性、およびオペレーションを表している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定の１つ以上の論理機能を実装するための１つ以上の実行可能命令を含む、モジュール、セグメント、または命令の部分を表し得る。いくつかの別の実装においては、ブロック中に記載された機能が、図面に記載された順序から外れて行われてよい。例えば、連続して示された２つのブロックが、関与する機能性に応じ、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合せは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステムによって実装でき、または特殊用途ハードウェアとコンピュータ命令との組み合せによって実行できることにも留意すべきである。
【０１３３】
いくつかの代案とともに本発明の具体的な実施形態を開示してきたが、当業者は、添付の特許請求の範囲内で、形態および詳細についてのさらなるバリエーションを加えることが可能なことを認識していよう。
【図１】
2020536431.tif 000003
【図２】
2020536431.tif 000004
【図３】
2020536431.tif 000005
【図４】
2020536431.tif 000006
【図５】
2020536431.tif 000007
【図６】
2020536431.tif 000008
【図７】
2020536431.tif 000009
【図８】
2020536431.tif 000010
【図９】
2020536431.tif 000011
【国際調査報告】
2020536431.tif 000012
2020536431.tif 000013