(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-28
(45)【発行日】2022-05-12
(54)【発明の名称】画像処理
(51)【国際特許分類】
H04N 21/238 20110101AFI20220502BHJP
H04N 19/597 20140101ALI20220502BHJP
H04N 19/46 20140101ALI20220502BHJP
H04N 7/18 20060101ALI20220502BHJP
G06T 15/20 20110101ALI20220502BHJP
【FI】
H04N21/238
H04N19/597
H04N19/46
H04N7/18 U
G06T15/20 500
(21)【出願番号】P 2019516613
(86)(22)【出願日】2017-09-28
(86)【国際出願番号】 EP2017074632
(87)【国際公開番号】W WO2018060334
(87)【国際公開日】2018-04-05
【審査請求日】2020-09-25
(32)【優先日】2016-09-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】110001690
【氏名又は名称】特許業務法人M&Sパートナーズ
(72)【発明者】
【氏名】ヴァレカンプ クリスティアーン
(72)【発明者】
【氏名】バンドワール パトリック ルク エルス
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特開2003-143505(JP,A)
【文献】特開2004-193941(JP,A)
【文献】特開2009-116532(JP,A)
【文献】特開2007-150747(JP,A)
【文献】特開2012-015788(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/238
H04N 19/597
H04N 19/46
H04N 7/18
G06T 15/20
(57)【特許請求の範囲】
【請求項1】
3次元のシーンのための複数の画像を記憶するためのストアであって、前記画像は前記シーンの異なる位置及び見る方向に対応し、前記ストアは更に前記複数の画像のための関連位置パラメータベクトルを記憶し、前記複数の画像のうちの1つの画像の前記関連位置パラメータベクトルは、前記画像の見る位置及び見る方向を示すデータを含む、ストアと、
リモートクライアントから見る位置のパラメータベクトルを受信するための受信器と、
前記見る位置のパラメータベクトルと前記関連位置パラメータベクトルとの比較に応答して前記複数の画像のうちの画像のセットを選択するためのセレクタと、
前記画像のセットから合成画像を生成するための画像シンセサイザと、
前記合成画像のための基準位置パラメータベクトルを生成するデータジェネレータであって、前記基準位置パラメータベクトルは前記合成画像の見る位置及びビューの方向を示す、データジェネレータと、
前記合成画像をエンコードしてエンコードされた前記合成画像を生成するための画像エンコーダと、
エンコードされた前記合成画像及び前記基準位置パラメータベクトルを含む出力画像信号を生成するための出力ジェネレータと、
前記出力画像信号を前記リモートクライアントに送信するための送信器とを備える、
装置。
【請求項2】
前記関連位置パラメータベクトル及び前記見る位置のパラメータベクトルのうちの少なくとも1つが時間パラメータを含み、前記画像のセットの前記選択は、前記見る位置のパラメータベクトルの時間パラメータ値と前記関連位置パラメータベクトルのうちの少なくとも1つの位置パラメータベクトルの時間パラメータ値との差の比較を含む、請求項1に記載の装置。
【請求項3】
前記セレクタが、複数の受信された見る位置のパラメータベクトルから修正済みの見る位置のパラメータベクトルを予測し、且つ、
前記セレクタが、前記修正済みの見る位置のパラメータベクトルに応答して前記画像のセットを選択する、又は、
前記画像シンセサイザが、前記修正済みの見る位置のパラメータベクトルに応答して前記合成画像を生成する、
請求項1又は2に記載の装置。
【請求項4】
キャッシュと、前記複数の受信された見る位置のパラメータベクトルから修正済みの見る位置のパラメータベクトルを予測し、前記修正済みの見る位置のパラメータベクトルと前記関連位置パラメータベクトルとの比較に応答して、予測される前記画像のセットを前記複数の画像から事前に選択し、予測された前記画像のセットを前記キャッシュに記憶するプリセレクタとを更に備え、前記セレクタは、前記キャッシュに記憶された前記予測された前記画像のセットから前記画像のセットのうちの少なくとも1つの画像を取得する、請求項1から3のいずれか一項に記載の装置。
【請求項5】
前記ストアは更に、前記画像の深度データを含み、前記画像シンセサイザは、前記画像のセットの深度データに応答して前記合成画像の深度データを更に生成し、前記データジェネレータは、前記出力画像信号内に前記深度データを含む、請求項1から4のいずれか一項に記載の装置。
【請求項6】
一連の見る位置のパラメータベクトルを受信して、前記一連の見る位置のパラメータベクトルに対応する前記合成画像のシーケンスを含むように前記出力画像信号を生成する、請求項1から5のいずれか一項に記載の装置。
【請求項7】
前記受信器が、前記一連の見る位置のパラメータベクトルのうちの少なくとも1つのパラメータにローパスフィルタを適用する、請求項6に記載の装置。
【請求項8】
前記受信器は更に、選択命令を受信し、前記セレクタは、前記選択命令に応答して前記画像のセットを選択するための選択基準を適応させる、請求項1から7のいずれか一項に記載の装置。
【請求項9】
前記セレクタは、パラメータが無視されるべきであると要求する選択命令の受信に応答して比較中の前記見る位置のパラメータベクトルの前記パラメータを無視する、請求項8に記載の装置。
【請求項10】
前記ストアが、領域木構造内の前記関連位置パラメータベクトルを記憶し、前記セレクタが、前記領域木構造における検索に応答してサブセットを選択する、請求項1から9のいずれか一項に記載の装置。
【請求項11】
見る位置及び見る方向を示すパラメータを含む第1の見る位置のパラメータベクトルを決定するための位置プロセッサと、
前記
第1の見る位置のパラメータベクトルをリモート画像サーバに送信するための送信器と、
前記リモート画像サーバから信号を受信するための受信器であって、前記信号が
前記第1の見る位置のパラメータベクトルに基づいて合成された画像である第1の画像と前記第1の画像の視聴者方向及び視聴者位置を示す基準位置パラメータベクトルとを含む、受信器と、
前記第1の見る位置のパラメータベクトルに対する視聴者の位置及びビューの方向の変化を反映した更新された見る位置のパラメータベクトルを決定する更新プロセッサと、
前記基準位置パラメータベクトル及び前記更新された見る位置のパラメータベクトルに応答して前記第1の画像から合成画像を生成する画像シンセサイザとを備える、
画像処理装置。
【請求項12】
前記画像シンセサイザは、前記更新された見る位置のパラメータベクトルと前記基準位置パラメータベクトルとの間のビューの差に対応する、前記第1の画像に対するビュー変換を適用する、請求項11に記載の画像処理装置。
【請求項13】
請求項1から10のいずれか一項に記載の装置を備える画像サーバと、請求項11
又は12に記載の画像処理装置を備える画像クライアントとを備える、画像処理システム。
【請求項14】
画像を提供するための方法であって、
3次元のシーンのための複数の画像を記憶するステップであって、前記画像は前記シーンの異なる位置及び見る方向に対応する、ステップと、
前記複数の画像の関連位置パラメータベクトルを記憶するステップであって、前記複数の画像のうちの1つの画像の関連位置パラメータベクトルは、前記画像の見る位置及び見る方向を示すデータを有する、ステップと、
見る位置のパラメータベクトルをリモートクライアントから受信するステップと、
前記見る位置のパラメータベクトルと前記関連位置パラメータベクトルとの比較に応答して、前記複数の画像のうちの画像のセットを選択するステップと、
前記画像のセットから合成画像を生成するステップと、
前記合成画像のための基準位置パラメータベクトルを生成するステップであって、前記基準位置パラメータベクトルは、前記合成画像の見る位置及びビューの方向を示す、ステップと、
前記合成画像をエンコードしてエンコードされた合成画像を生成するステップと、
前記エンコードされた合成画像及び前記基準位置パラメータベクトルを含む出力画像信号を生成するステップと、
前記出力画像信号を前記リモートクライアントに送信するステップとを有する、
方法。
【請求項15】
見る位置及び見る方向を示すパラメータを有する第1の見る位置のパラメータベクトルを決定するステップと、
前記
第1の見る位置のパラメータベクトルをリモート画像サーバに送信するステップと、
信号を前記リモート画像サーバから受信するステップであって、前記信号は
前記第1の見る位置のパラメータベクトルに基づいて合成された画像である第1の画像と前記第1の画像の視聴者方向及び視聴者の位置を示す基準位置パラメータベクトルとを含む、ステップと、
前記第1の見る位置のパラメータベクトルに関する視聴者の位置及びビューの方向の変化を反映した、更新された見る位置のパラメータベクトルを決定するステップと、
前記基準位置パラメータベクトル及び前記更新された見る位置のパラメータベクトルに応答して、前記第1の画像から合成画像を合成するステップとを有する、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理に関し、より詳細には、ただし排他的にではなく、仮想現実システムにおいて3次元画像を提供するためのシステムに関する。
【背景技術】
【0002】
近年、新たなサービス並びにビデオの利用及び購入手段が継続的に開発、導入されて、画像及びビデオアプリケーションの多様性及び範囲は大幅に広がった。
【0003】
たとえば、人気の高まっている1つのサービスは、視聴者がアクティブ且つ動的にシステムと対話してレンダリングのパラメータを変更することができるような形でのビデオの提供である。多くのアプリケーションにおける非常に魅力的な特徴は、たとえば、提示されているシーンにおいて視聴者が動いたり、「見回す」ことを可能にするなど、視聴者の効果的な見る位置及び見る方向を変える能力である。
【0004】
このような特徴は、具体的には、仮想現実体験がユーザに提供されることを可能にすることができる。これは、ユーザが(相対的に)自由にシーン内で動き回ること、及びユーザがどこを見るかを動的に変更することを可能にする。通常、このような仮想現実アプリケーションは、シーンの3次元モデルに基づき、モデルは動的に評価されて特定の要求されたビューを提供する。この手法は、たとえば、コンピュータ及びコンソールのための、1人称シューティングのカテゴリにあるような、ゲームアプリケーションから、よく知られている。
【0005】
しかしながら、このようなアプリケーションは、それがシーンの所定のモデルに基づくという点で、本質的に制限されている。ユーザが見る位置及び方向を選択することができる仮想現実効果が、現実のキャプチャされたビデオに実施可能であれば、これは、多くのアプリケーションにとって望ましい。このような特徴の試みは、異なる見る位置及び方向を有する複数のカメラを使用することにより、視聴者の現在の位置に最も近いと考えられるカメラからのビデオが選択されて、実施されてきた。しかしながら、このような手法は、比較的多数の並列ビデオストリームが配信されることを必要とし、ビューが1つのカメラから別のカメラに切り替わるのがユーザに明確にわかる準最適な体験ももたらす傾向がある。
【0006】
特に仮想現実アプリケーションにとって、提示される画像が3次元画像であることもまた望ましい。実際に、視聴者の熱中を最適化するために、3次元シーンとして提示されるシーンをユーザが体験することが通常は望ましい。実際に、仮想現実体験は、好ましくは、ユーザが自身の位置、カメラの視点、及び仮想世界に関する時間における瞬間を選択することを可能にすべきである。「理想的な」仮想世界では、動的シーンが、すべての位置からすべての方向でカメラセンサによって継続的にキャプチャされている。
【0007】
一例として、仮想現実眼鏡が、現在、市場に参入している。この眼鏡は、キャプチャされた360度(パノラマ)ビデオを視聴者が体験することを可能にする。これらの360度ビデオは、しばしば、カメラ装備を使用して予めキャプチャされ、個々の画像は、ともに、単一の球面マッピングに縫い合わされる。360度ビデオのための共通のステレオフォーマットは、上/下及び左/右である。非パノラマステレオビデオと同様に、左目及び右目の画像は、単一のH.264ビデオストリームの一部として圧縮される。単一フレームを解読した後、視聴者は、頭を回して自身の周りの世界を見る。本例は、カーネギーホールにおけるコンサートのGoogleによって行われた記録である[https://performingarts.withgoogle.tabhumblecom/en_us/performances/carnegie-hall]。本例では、視聴者は、360度見回す効果を体験することができ、異なる位置から記録された3つのビデオストリームを個々に切り替えることができる。切り替えると、別のビデオストリームがロードされ、体験に割り込む。
【0008】
ステレオパノラマビデオ手法の1つの欠点は、視聴者が仮想世界における位置を変更することができないということである。パノラマステレオビデオに加えてパノラマ深度図をエンコード及び送信することで、クライアント側にある視聴者の小さな並進運動の補正を可能にすることができるが、このような補正は、小さな変化及び動きに本質的に限定され、熱中できる自由な仮想現実体験を提供することはできない。
【0009】
関連する技術は、深度図を有する複数の視点がエンコードされ、単一ビデオストリームにおいて送信される、自由な視点のビデオである。ビデオストリームのビットレートは、よく知られている時間予測方式に加えて視点間の角度依存を活用することによって、低減することができる。しかしながら、本手法は、高いビットレートを更に必要とし、生成することができる画像に関して制限される。それは、3次元仮想現実世界における完全に自由な動きの体験を実際には提供することはできない。
【0010】
しかしながら、先行技術のいずれも、理想的な体験を届けることができず、位置及び見る方向の変更の自由度において限定される傾向にある。更に、先行技術は、非常に高いデータレートを必要とし、個々の画像/ビューの生成に必要なものよりも更に多くのデータを含むデータストリームを提供する傾向がある。
【0011】
したがって、改良された画像処理手法は有益である。具体的には、オペレーションの改良、柔軟性の向上、異なる見る位置及び方向に対応する画像を生成する範囲の拡大、仮想現実体験の改良、データレートの低減、配信の円滑化、複雑性の低減、実施の円滑化、及び/又は、パフォーマンス及び/又はオペレーションの改良を可能にする手法は、有益である。
【発明の概要】
【発明が解決しようとする課題】
【0012】
したがって、本発明は、好ましくは、前述の不利益のうちの1つ又は複数を単独で又は任意の組合せで軽減、緩和、又は解消しようとするものである。
【課題を解決するための手段】
【0013】
本発明の一態様によれば、3次元シーンのための複数の画像を記憶するためのストアであって、画像はシーンの異なる位置及び見る方向に対応し、ストアは更に複数の画像のための関連位置パラメータベクトルを記憶するように構成され、複数の画像のうちの1つの画像の関連位置パラメータベクトルは、画像の見る位置及び見る方向を示すデータを含む、ストアと、リモートクライアントから見る位置のパラメータベクトルを受信するための受信器と、見る位置のパラメータベクトルと関連位置パラメータベクトルとの比較に応答して複数の画像のうちの画像のセットを選択するためのセレクタと、画像のセットから合成画像を生成するための画像シンセサイザと、合成画像のための基準位置パラメータベクトルを生成するように構成されたデータジェネレータであって、基準位置パラメータベクトルは合成画像の見る位置及びビューの方向を示す、データジェネレータと、合成画像をエンコードしてエンコードされた合成画像を生成するための画像エンコーダと、エンコードされた合成画像及び基準位置パラメータベクトルを含む出力画像信号を生成するための出力ジェネレータと、出力画像信号をリモートクライアントに送信するための送信器とを備える装置が提供される。
【0014】
本発明は、たとえば、現実の画像のキャプチャに基づいて、カスタイマイズされたユーザ体験をサポートするための改良された手法を提供する。本手法は、具体的には、たとえば、イベント/シーンのキャプチャに基づく仮想現実体験、の改良されたサポートを提供する。本手法は、カスタイマイズされた体験の生成を可能にし、その中で、リモートクライアントは、ストアに記憶された画像によって表される環境において視聴者の動きを変更し、制御することができる。
【0015】
具体的には、本手法は、多数の実施形態において、セットアップを効果的にサポートし、その中で、リモートクライアントは、サーバとして動作する装置から受信した画像に基づいて仮想現実体験を提供することができる。サーバによって提供される画像は、サーバにおける仮想現実アプリケーションの現在の条件及び要件に合わせて効果的にカスタイマイズすることができ、それにより、リモートクライアントによって必要とされる後処理の量を最小限に抑える。しかしながら、サーバは、通信された画像によって表されるものからの現在の視聴者の位置/方向の偏差を調整するために、受信した画像をサーバが精緻化することを可能にする情報を更に提供する。
【0016】
多数の実施形態において、改良された体験、及び、更に自由に制御可能な体験を提供することができる。更に、これは、過大な帯域幅を必要とせずに、提供することができ、実際に、ほとんどの実施形態において、適応性のある、柔軟な仮想現実体験が、単一ビデオストリームの帯域幅に対応するサーバからクライアントへの帯域幅だけを必要としつつ、キャプチャされたビデオに基づいて達成可能である。
【0017】
多数の実施形態において、複数の画像は、シーンのキャプチャされた画像であって、具体的には、現実のシーンにおいてカメラによってキャプチャされた画像である。ストアに記憶された複数の画像は、現実のシーンをキャプチャする画像である。多数の実施形態において、複数の画像は、異なる瞬間に撮られた画像を含み、したがって、それらは、シーンにおける動的変化を反映することができる。複数の画像は、具体的には、現実のシーンのキャプチャされたビデオのフレームを含む。
【0018】
位置パラメータベクトルは、1つ又は複数のパラメータを示す1つ又は複数の値を含むデータ構造体又は配列であって、少なくとも1つのパラメータは、見る位置を示し、少なくとも1つのパラメータは、見る方向を示す。キャプチャされた画像について、見る位置及び方向は、画像をキャプチャするときのカメラの位置及び向き/方向に対応する。位置パラメータベクトルを表すデータは、適切な形で配置され、たとえば、複数の画像に共通して提供される値を含む。
【0019】
受信器は、ネットワークを含む、具体的にはインターネットを含む、通信媒体を介してリモートクライアントから見る位置のパラメータベクトルを受信するように構成される。見る位置のパラメータベクトルは、合成画像が装置/サーバによって生成される所望の見る位置及び見る方向を示す。見る位置のパラメータベクトルは、多数の実施形態において、ストアに記憶された画像によって表される仮想シーンにおけるユーザの位置及び見る方向を表すように生成される。
【0020】
画像のセットの選択は、具体的には、見る位置のパラメータベクトル及び関連位置パラメータベクトルの近接性基準に応答する。具体的には、見る位置のパラメータベクトルと個々の関連する見る位置のパラメータベクトルとの間の距離尺度が決定され、選択は、この距離尺度に応答する。通常は、画像のセットが、その距離尺度が基準(たとえば、それが閾値未満、又はN個の最低差異測度のうちの1つであること、など)を満たす画像を含むように選択される。
【0021】
画像の合成は、画像のセットのうちの複数の画像に基づく合成を含む。具体的には、多数の実施形態において、合成は、画像のセットのうちの複数の画像に基づくビュー合成の実行を含む。いくつかの実施形態では、合成は、画像のセットから単一の画像(最も近いものなど)を選択することを含む。多数の実施形態において、合成は、画像のセットの見る位置のパラメータベクトル及び関連位置パラメータベクトルに応答する。具体的には、見る位置のパラメータベクトルは、所望の見る位置及び方向を表すと考えられる。
【0022】
いくつかの実施形態において、合成画像は、画像のセットのうちの1つ又は複数の画像のうちの画像のビュー変換によって生成され、ビュー変換は、見るポイント及び方向を1つ又は複数の画像の見るポイント及び方向から所望の見る位置及び方向に変換することに対応する。しかしながら、いくつかの実施形態において、合成画像の見る位置及び方向は、画像の見る位置及び方向を考慮することによって、見る位置のパラメータベクトルによって表されるような所望の見る位置及び方向から修正される。たとえば、記憶された画像が、その位置パラメータベクトルに非常に近い位置パラメータベクトルを有する場合、合成画像の見る位置及び方向は、記憶された画像の見る位置及び方向にセットされる。
【0023】
データジェネレータは、第1のセットの画像のうちの画像の関連位置パラメータベクトルに応答して、そして時には、見る位置のパラメータベクトルに応答して、合成画像のための基準位置パラメータベクトルを生成するように構成される。たとえば、生成される基準見る位置のパラメータベクトルは、合成画像が生成された見る方向及び位置として生成される。
【0024】
多数の実施形態において、装置は、複数のリモートクライアントを同時にサポートする。具体的には、装置は、複数のリモートクライアントの各々から、見る位置のパラメータベクトルを受信し、それに応答して、各個々のリモートクライアント/見る位置のパラメータベクトルの合成画像を生成し、これらを適切なクライアントに送り返す。
【0025】
見る位置及び見る方向は、画像によって表されるシーンを参照して提供される。それらは、これらの画像によって表される仮想世界/シーンにおける位置及び方向として提供される。
【0026】
本発明の任意選択の特徴によれば、関連位置パラメータベクトル及び見る位置のパラメータベクトルのうちの少なくとも1つが時間パラメータを含み、画像のセットの選択は、見る位置のパラメータベクトルの時間パラメータ値と関連位置パラメータベクトルのうちの少なくとも1つの位置パラメータベクトルの時間パラメータ値との差の比較を含む。
【0027】
これにより、多数の実施形態において、改良されたオペレーション及び/又は改良されたユーザ体験/サービスを提供する。具体的には、それは、動的に変化するシーンの改良されたサポートを提供する。たとえば、それは、コンサート又はスポーツイベントなどのライブの動的イベントの仮想現実体験の提供をサポートする。
【0028】
合成画像は、単純に、生成された画像であって、合成画像の参照は、生成された画像の参照に置き換えることができる。
【0029】
本発明の任意選択の特徴によれば、セレクタが、複数の受信された見る位置のパラメータベクトルから修正済みの見る位置のパラメータベクトルを予測するように構成され、セレクタが、修正済みの見る位置のパラメータベクトルに応答して画像のセットを選択するように構成される、或いは、画像シンセサイザが、修正済みの見る位置のパラメータベクトルに応答して合成画像を生成するように構成される。
【0030】
これにより、多数の実施形態及びシナリオにおいて改良されたオペレーションを提供する。それは、具体的には、リモートクライアントが画像を受信するときにリモートクライアントによって必要とされるものにより近そうな合成画像を生成する装置をもたらす。複数の受信される見る位置のパラメータベクトルは、現在/直近に受信された見る位置のパラメータベクトルを含む。
【0031】
本発明の任意選択の特徴によれば、本装置は更に、キャッシュと、複数の受信された見る位置のパラメータベクトルから修正済みの見る位置のパラメータベクトルを予測し、修正済みの見る位置のパラメータベクトルと関連位置パラメータベクトルとの比較に応答して、予測される画像のセットを複数の画像から事前に選択し、予測された画像のセットをキャッシュに記憶するように構成されたプリセレクタとを備え、セレクタは、キャッシュに記憶された予測された画像のセットから画像のセットのうちの少なくとも1つの画像を取得するように構成される。
【0032】
これにより、多数の実施形態及びシナリオにおいて、改良されたオペレーションを提供する。それは、合成画像のより高速な生成を可能にし、それにより、応答の遅延を低減する。本手法は、全体的なレイテンシを低減し、したがって、リモートクライアントによる後処理の必要の少なそうなサーバに本装置が画像を提供する結果をもたらす。複数の受信される見る位置のパラメータベクトルは、現在/直近に受信された見る位置のパラメータベクトルを含む。
【0033】
本発明の任意選択の特徴によれば、ストアは更に、画像の深度データを含み、画像シンセサイザは、画像のセットの深度データに応答して合成画像の深度データを更に生成するように構成され、ジェネレータは、出力画像信号内に深度データを含むように構成される。
【0034】
これにより、受信した画像のリモートクライアントにおける後処理を円滑化及び/又は改善して、これを現在の条件により密接に対応させる。具体的には、それは、視点変換を改善する。多数の実施形態において、深度データは、深度図又は3次元メッシュの形を取る。
【0035】
本発明の任意選択の特徴によれば、本装置は、一連の見る位置のパラメータベクトルを受信して、一連の見る位置のパラメータベクトルに対応する合成画像のシーケンスを含むように出力画像信号を生成するように構成される。
【0036】
本手法は、連続的オペレーションをサポートし、リモートクライアントは、見る位置のパラメータベクトルを連続的に送信し、本装置は、これに応答して、リモートクライアンに送り返される合成画像を連続的に生成する。多数の実施形態において、本装置は、リモートクライアントによって処理及びレンダリングすることができるビデオストリームを実際に形成する一連の画像を生成する。
【0037】
多数の実施形態において、本装置は、受信されている各見る位置のパラメータベクトルの複数の合成画像を生成するように構成される。たとえば、同じ画像が、新しい見る位置のパラメータベクトルが受信されるまで、繰り返して送信される。これは、たとえば、静的な世界における非常にゆっくりと動くアプリケーションに適している。他の実施形態では、新しい合成画像が、所望のフレームレートに対応するレートで生成される。これらの画像は、各々、同じ見る位置のパラメータベクトルに基づくが、異なる画像、具体的には異なる瞬間の画像、に基づく。これは、たとえば、そのシーンで起こる動的イベントを反映するビデオストリームを提供するが、これらの動的イベントは、同じ見る位置から同じ方向で見られている(たとえば、じっと座って同じ方向を見ているスポーツイベントの観客)。
【0038】
いくつかの実施形態において、本装置は、異なる受信された見る位置のパラメータベクトルの間を補間するように構成される、又は、受信されている見る位置のパラメータベクトル間の時間について、見る位置のパラメータベクトルを予測することができる。この場合、これらの補間/予測された見る位置のパラメータベクトルは、見る位置のパラメータベクトルが受信される瞬間と瞬間との間に使用することができる。
【0039】
本発明の任意選択の特徴によれば、受信器が、一連の見る位置のパラメータベクトルのうちの少なくとも1つのパラメータにローパスフィルタを適用するように構成される。
【0040】
これにより、多数の実施形態において、改良されたユーザ体験を提供する、又は可能にする。具体的には、それは、体験されるビューのよりスムーズな更新及び変更の達成を可能にする。それは更に、画像/ビデオのエンコードを円滑にし、通常、所与の品質のために必要とされるデータレートを低減する。フィルタは、通常は、時間ローパスフィルタである。
【0041】
本発明の任意選択の特徴によれば、受信器は更に、選択命令を受信するように構成され、セレクタは、選択命令に応答して画像のセットを選択するための選択基準を適応させるように構成される。
【0042】
これにより、具体的には、個々のユーザ/アプリケーションの個々の優先度及び要件に合わせたカスタマイズ及び適応の向上を可能にする。それは、具体的には、異なる仮想現実モード/サービスのサポート、制御、及び/又は切り替えの効率的手段を提供する。
【0043】
本発明の任意選択の特徴によれば、セレクタは、パラメータが無視されるべきであると要求する選択命令の受信に応答して比較中の見る位置のパラメータベクトルのパラメータを無視するように構成される。
【0044】
これにより、個々のユーザ/アプリケーションの個々の優先度及び要件に合わせた特に効率的なカスタマイズ及び適応を実現する。パラメータは、通常、時間パラメータである。
【0045】
本発明の任意選択の特徴によれば、ストアが、領域木構造内の関連位置パラメータベクトルを記憶するように構成され、セレクタが、領域木構造における検索に応答してサブセットを選択するように構成される。
【0046】
これにより、特に効率的な手法を提供し、具体的には、たとえば仮想現実体験に適した、要件に合う適切な画像の効率的な検索及び選択を可能にする。多数のシナリオにおいて、それは、大量の記憶されたビデオストリームに基づく制御可能なビデオストリームのリアルタイムの提供を可能にする。
【0047】
本発明の一態様によれば、見る位置及び見る方向を示すパラメータを含む第1の見る位置のパラメータベクトルを決定するための位置プロセッサと、見る位置のパラメータベクトルをリモート画像サーバに送信するための送信器と、リモート画像サーバから信号を受信するための受信器であって、信号が第1の画像と第1の画像の視聴者方向及び視聴者位置を示す基準位置パラメータベクトルとを含む、受信器と、第1の見る位置のパラメータベクトルに対する視聴者の位置及びビューの方向の変化を反映した更新された見る位置のパラメータベクトルを決定するように構成された更新プロセッサと、基準位置パラメータベクトル及び更新された見る位置のパラメータベクトルに応答して第1の画像から合成画像を生成するように構成された画像シンセサイザとを備える画像処理装置が提供される。
【0048】
本発明は、たとえば、現実の画像のキャプチャに基づいて、カスタイマイズされたユーザ体験をサポートするための改良された手法を提供する。本手法は、具体的には、たとえば、イベント/シーンのキャプチャに基づく仮想現実体験のサポートの改良を実現する。本手法は、カスタイマイズされた体験の生成を可能にし、リモートクライアントは、ストアに記憶された画像によって表される環境において視聴者の動きを変更し、制御することができる。
【0049】
本手法は、シーンの画像を提供する画像/ビデオサーバのためのリモートクライアントとして画像処理装置が動作することを可能にする。画像処理装置は、送信された見る位置のパラメータベクトルに基づいて、シーンにおいて見る位置及び方向を制御することができる。リモートサーバからユーザに受信された画像を提示することは、たとえば、仮想現実体験を提供するために使用することができる。ユーザは、この動きに沿った適切な画像を提供するようにリモートサーバを制御する画像処理装置を用いて、この仮想現実シーン内で動くことができる。
【0050】
更に、画像処理装置によって、見る位置のパラメータベクトルを動的に更新することと、ローカルな後処理を実行して、最初に送信された見る位置のパラメータベクトルとの差を反映する画像を生成/合成することと、改良された体験とを実現することができる。具体的には、本手法は、レイテンシを補正し、認知可能なラグのない仮想現実体験をもたらすことができる。
【0051】
本発明の任意選択の特徴によれば、画像シンセサイザは、更新された見る位置のパラメータベクトルと基準位置パラメータベクトルとの間のビューの差に対応する第1の画像に対するビュー変換を適用するように構成される。
【0052】
これにより、現在の状態をより厳密に反映する画像が提示され、ユーザ体験の改良を実現する。
【0053】
基準位置パラメータベクトル及び更新された見る位置のパラメータベクトルに応答した第1の画像からの合成画像の生成は、具体的には、更新された位置パラメータベクトルと見る位置のパラメータベクトルとの間の見る位置及び/又は見る方向の差を反映したビュー変換を実行することを含む。このようなビュー変換は、たとえば、画像とともに受信された、すなわちリモートサーバから同様に受信された、深度データに基づく。
【0054】
本発明の一態様によれば、前述のような装置を備える画像サーバと、前述のような画像処理装置を備える画像クライアントとを備える、画像処理システムが提供される。
【0055】
本発明の一態様によれば、画像を提供するための方法であって、3次元シーンのための複数の画像を記憶するステップであって、画像はシーンの異なる位置及び見る方向に対応する、ステップと、複数の画像の関連位置パラメータベクトルを記憶するステップであって、複数の画像のうちの1つの画像の関連位置パラメータベクトルは画像の見る位置及び見る方向を示すデータを有する、ステップと、見る位置のパラメータベクトルをリモートクライアントから受信するステップと、見る位置のパラメータベクトルと関連位置パラメータベクトルとの比較に応答して複数の画像のうちの画像のセットを選択するステップと、画像のセットから合成画像を生成するステップと、合成画像のための基準位置パラメータベクトルを生成するステップであって、基準位置パラメータベクトルは合成画像の見る位置及びビューの方向を示す、ステップと、合成画像をエンコードしてエンコードされた合成画像を生成するステップと、エンコードされた合成画像及び基準位置パラメータベクトルを含む出力画像信号を生成するステップと、出力画像信号をリモートクライアントに送信するステップとを有する方法が提供される。
【0056】
本発明の一態様によれば、見る位置及び見る方向を示すパラメータを有する第1の見る位置のパラメータベクトルを決定するステップと、見る位置のパラメータベクトルをリモート画像サーバに送信するステップと、信号をリモート画像サーバから受信するステップであって、信号は第1の画像と第1の画像の視聴者方向及び視聴者の位置を示す基準位置パラメータベクトルとを含む、ステップと、第1の見る位置のパラメータベクトルに関する視聴者の位置及びビューの方向の変化を反映した更新された見る位置のパラメータベクトルを決定するステップと、基準位置パラメータベクトル及び更新された見る位置のパラメータベクトルに応答して第1の画像から合成画像を合成するステップとを有する方法が提供される。
【0057】
本発明のこれらの及び他の態様、特徴及び利点が、後述する実施形態から明らかとなり、これらの実施形態を参照して説明される。
【0058】
本発明の実施形態が、以下のような図面を参照して、単に例として、説明される。
【図面の簡単な説明】
【0059】
【
図1】本発明のいくつかの実施形態による画像処理及び配信システムの要素の一例を示す図である。
【
図2】
図1のシステムの画像サーバの要素の一例を示す図である。
【
図3】
図1のシステムの画像クライアントの要素の一例を示す図である。
【
図4】カメラ位置及び方向に対する見る位置及び方向の例を示す図である。
【
図5】カメラ位置及び方向に対する見る位置及び方向の例を示す図である。
【発明を実施するための形態】
【0060】
以下の説明は、3次元仮想現実アプリケーションをサポートする画像処理及び配信システムに適用可能な本発明の実施形態に焦点を当てる。しかしながら、本発明はこのアプリケーションに限定されず、多数の他の画像処理アルゴリズム及びシステムに適用されることが、理解されよう。
【0061】
図1は、クライアント/サーバの手法に基づく画像/ビデオ配信システムを示す。本システムは、クライアントデバイス101が3次元(3D)仮想現実体験をユーザに提供する例を参照して説明される。本例では、クライアントデバイス101は、具体的には、仮想現実ヘッドセットに備わったディスプレイ103につながれる。ディスプレイ103は、仮想現実体験をユーザに提供するために、クライアントデバイス101によって生成された画像を提示する。具体的には、3D深度体験を提供するステレオ画像が、ユーザの目に投影される。
【0062】
クライアントデバイス101は更に、ユーザがそれを介して仮想世界におけるユーザの仮想運動を制御することができるユーザインターフェース105につながれる。ユーザインターフェース105は、通常、ユーザの運動及び見る方向の変化の両方を制御するための手段を提供する。ユーザインターフェース105は、ユーザが動きを直接制御することを必要とする能動的な入力(たとえば、ジョイスティック)を使用する、或いは、たとえば、ユーザの運動を自動的に検出する更に受動的な入力を含む。たとえば、ユーザインターフェース105は、ユーザの頭部の運動を検出する、加速度計などの検出器を含む。具体的な例として、ユーザインターフェース105及びディスプレイ103の両方が、仮想現実ヘッドセットによって(少なくとも部分的に)実施される。
【0063】
仮想現実体験は、好ましくは、仮想世界に関する時間において位置、視点/方向、及び運動をユーザが選択することを可能にすべきである。しかしながら、これは、グラフィックモデル(コンピュータゲーム内などの)に基づいて人工的仮想現実体験において実施することができるが、現実のキャプチャされた画像又はビデオに基づく体験について効果的且つ正確に達成することは非常に難しい。実際には、「理想的な」仮想世界において、動的シーンは、すべての方向ですべての位置からカメラセンサによって連続的にキャプチャされることになる。しかしながら、明らかに、このような手法は実現可能ではない。
【0064】
これは、現実の特徴のキャプチャ(通常はカメラによる)に基づく仮想世界体験と純粋なコンピュータグラフィックの場合との基本的な差を示し、純粋なコンピュータグラフィックの場合には、3Dモデル及びテクスチャはオフラインで製作され、仮想世界は、知られているコンピュータグラフィック技法を用いて生成される。たとえば、ライブビデオでは、このような手法は実現可能ではない。実際、単一の幾何学的モデルをライブビデオから開発することができることが恐らく想像されるであろうが、高い精度及び詳細を有するそのような世界を自動的に生成することは実質的に実現不可能である。したがって、この手法は、ほとんどのアプリケーションについて、特にリアルタイムのアプリケーションについては、実現不可能である。
【0065】
図1のシステムでは、3D仮想現実体験が、リモート画像サーバ107から受信された画像/ビデオに基づいてユーザに提供される。クライアントデバイス101とリモート画像サーバ107とは、この具体的な例ではネットワーク109によって実施される通信チャネルを介して、つながれる。ネットワーク109は、具体的には、インターネットでもよく、又はインターネットを備える。
【0066】
本システムでは、リモート画像サーバ107が、クライアントデバイス101に画像を提供し、それに基づいてクライアントデバイス101がユーザに提示される画像を生成する。リモート画像サーバ107は、潜在的に多数の画像キャプチャデバイス、この具体的な例ではビデオカメラ111、につながれる。カメラ111は、通常多数の異なる方向で、多数の異なる見る位置から、現実のシーンをキャプチャする。これらの画像/ビデオストリームは、リモート画像サーバ107に記憶され、クライアントデバイス101に画像を提供するために使用され、これにより、クライアントデバイス101は、ユーザがこのシーン内の運動及び見る方向を動的に制御することを可能にしつつ、キャプチャされたシーンに対応する画像を生成することができる。シーンは、一部の実施形態では、静的シーンであるが、多数の実施形態では、時間の関数として変化する動的シーン(たとえば、スポーツイベントの記録のような)でもある。
【0067】
実際に使用可能なシステムを提供するために、リモート画像サーバ107とクライアントデバイス101との間のデータレートを低減することが重要である。したがって、キャプチャされた画像ストリーム/ビデオを単純に送信することは適当ではない。更に、キャプチャされたビデオをユーザが切り替えることを単純に可能にすると、体験の大幅な低下をもたらし、概して、リアルな仮想現実体験を可能にしない。キャプチャの問題とは別に、ビューの方向の選択に加えて視聴者が3D空間内の任意の位置に着く自由度の増加とともに、ユーザにストリーミング配信される必要のある画像データの量は更に増大する。
【0068】
図1のシステムでは、リモート画像サーバ107は、カメラ111からの画像/ビデオをローカルメモリに記憶する。クライアントデバイス101は、見る位置のパラメータベクトルをリモート画像サーバ107に送信するように構成され、見る位置のパラメータベクトルはシーン内の(所望の)見る位置及び方向を示す。リモート画像サーバ107は、受信された見る位置のパラメータベクトルに基づいて、メモリから適切な画像を取得し、受信された見る位置のパラメータベクトルに関連する画像を生成/合成するように構成される。合成画像と呼ばれる、生成された画像は、具体的には、受信された見る位置のパラメータベクトルにおいて示される位置及び方向のビューに対応するものになるように生成される。
【0069】
合成画像は、クライアントデバイス101に送り返され、ユーザに提示される前に処理される(具体的には、比較的小さなビューのシフトが、前に送信された見る位置のパラメータベクトルと現在の見る位置/方向との差を調整するために使用される)。
【0070】
具体的には、本システムにおいて、記憶されたビデオストリームに基づいて、カスタイマイズされたビデオは、リモート画像サーバ107によってエンコードされ、仮想世界内の個々のユーザの場所及びビューの方向に応じて、ユーザに送信される。したがって、1つの同じ仮想現実データベースにアクセスする2人のユーザは、仮想3D空間内の自身の現在の場所及び見る方向に応じて、異なるエンコードされたビデオストリームを受信することになる(たとえば、H.264で)。
【0071】
したがって、個々のユーザのためのビデオストリームは、個々のユーザに対してカスタイマイズされ、具体的には、現在の見る位置及び方向に対応するビューに近くなる。しかしながら、レイテンシにより、見る位置のパラメータベクトルが送信されてから位置及び見る方向は変化しており、これに応じて、クライアントデバイス101は、この偏差をなくすように、受信した画像を修正する。
【0072】
したがって、本システムにおいて、1つのみの画像がリモート画像サーバ107からクライアントデバイス101に送信されればよく、したがって、データレートを低く保つことができる。しかしながら、本システムは、画像がユーザの現在の位置及び見る方向に密接に対応する、正確な画像がユーザに提示されることを更に可能にする。本手法は、カスタイマイズされた手法を使用することによってこれを達成し、ユーザのための画像の合成は、リモート画像サーバ107及びクライアントデバイス101に亘って分配され、リモート画像サーバ107は、現在の位置及び見る方向に対応する画像に通常は近くなる適切な画像を生成し、クライアントデバイス101は、いかなる偏差もなくなるように、この画像を微調整する。
【0073】
具体的な例として、リモート画像サーバ107は、事前に記憶された画像データベース上の多次元クエリを介して個々のユーザのためのパーソナルH.264ビデオストリームを生成する。クエリは、通常は、仮想世界におけるユーザの現在の状況を反映する6つのパラメータ(3つは位置について、2つは見る方向について、そして、1つは時間パラメータ)を有する見る位置のパラメータベクトルを使用する。ビデオのエンコード処理中に、リモート画像サーバ107は、ユーザ位置及び見る方向の実際の測定値をクライアントデバイス101から受信する。これらのパラメータに応じて、画像のセットがメモリ/データベースから取得される。ユーザの実際のビューは、画像ベースのレンダリングを用いて、これらの画像から合成され、その結果は、H.264エンコードストリームに追加される。これにより、パーソナルビデオが、ユーザの変化する場所及び見る方向パラメータに応答して、リアルタイムで作成される。
【0074】
実際の例のアプリケーションには、ポップコンサートの記録がある。たとえば、100人がイベントのビデオをキャプチャしている。「従来の」記憶手法では、サーバ側でこれらの100個のビデオストリームを記憶する。次いで、顧客が、群衆の中をナビゲートしたいと思った場合、これは、毎回1つのビデオストリームから別のビデオストリームに切り替える(そして、別の解読処理を開始する)、サーバに対する一連の要求をもたらす。
【0075】
これと対照的に、本明細書に記載される例示的手法によれば、100個のキャプチャされたビデオストリームのすべてを、単一データベース内に個々の画像として記憶することができ、各画像には、たとえば、位置、向き及び時間のインデックスが付けられる。提案される視覚化のワークフローは、次いで、以下のようになる。
1.クライアントデバイス101が、場所/向き/時間をリモート画像サーバ107に送る。
2.検索が実行されて、関連画像を決定する。
3.リモート画像サーバ107が、関連画像からビュー画像を合成する。
4.リモート画像サーバ107が、合成されたビュー画像を現在の出力ビデオストリームに追加する。
5.クライアントデバイス101が、メタデータ(位置及びビューの方向、並びに任意選択的に時間パラメータ)を有するビデオをリモート画像サーバ107から受信する。
6.クライアントデバイス101が、現在の(デバイスの)見る位置、方向及び時間に応じて、現在のビューを合成する。
【0076】
図2は、
図1のリモート画像サーバ107のいくつかの要素をより詳細に示す。
【0077】
リモート画像サーバ107は、カメラ111からのキャプチャされた画像/ビデオストリームが記録されるストア/メモリ201を備える。画像/ビデオストリームに加えて、位置、カメラ方向(見る方向)、及び場合により個々の画像の時間を示して、メタデータが記憶されることになる。メタデータは、共通メタデータとして記憶され、たとえば、固定カメラでは位置及び場合によりカメラの方向が、そのようにストリームについて単純に提供される。しかしながら、多数の実施形態において、時間とともに変化するカメラ位置及び/又は方向を反映するメタデータが記憶され、その結果、異なる画像は、異なる関連するメタデータを有する。
【0078】
以下において、画像/ビデオという用語は、システムにおいて提供される信号を参照する場合に同義で使用されるが、ビデオストリームは、本質的に、個々の画像(フレーム)から成ることと、本手法は、画像のシーケンスを必ずしも必要とせず、単一画像に適用され得ることとが理解されよう。
【0079】
したがって、メモリ201内の画像と記憶されたメタデータは、複数のパラメータを含むデータベクトルを提供する。個々の画像のこれらのパラメータは、(少なくとも)画像の見る位置及び見る方向を示す値を提供する。たとえば、ベクトルは、具体的には仮想世界におけるx、y及びz座標のような、見る位置を示す3つのパラメータを含む。加えて、ベクトルは、アジマス及び標高値など、見る方向を示す2つのパラメータを含む。したがって、位置パラメータベクトルは、位置(及び見る方向)を定義するパラメータ値を含むデータセット又は構造体でもよい。本例では、3つの位置パラメータ/座標及び2つの方向パラメータが含まれているが、他の実施形態では他の数が使用されることが理解されよう。データベクトルは、任意の適切な形で表現、記憶又は処理され、たとえば連続的なメモリの場所に、ともに記憶された、たとえば5個又は6個の値である必要はないこともまた理解されよう。そうではなくて、ベクトルは、(少なくとも)見る位置及び見る方向の指示を含む画像のためのパラメータを提供する何らかの表現である。
【0080】
たとえば、カメラが、仮想世界を通る所定の道を辿る場合、この道は、単一変数の関数として表現され、ベクトルは、場合により、この変数を表す単一のパラメータ値のみによって表される。この場合、カメラの特定の位置及び見る方向が、変数の所定の関数として計算される。このような実施形態では、位置パラメータベクトルは、関数の評価から生じる値(たとえば、計算された位置又は見る方向の座標)又は入力変数自体に対応すると考えられることが、理解されよう。
【0081】
多数の実施形態において、位置パラメータベクトルのパラメータ値は、黙示的又は複数の画像に共通であることもまた理解されよう。たとえば、1グループのカメラが、たとえば同じx座標上に、一列に配置される。このような場合、対応する位置パラメータベクトルが、変化する位置/見る方向パラメータの個々のパラメータ値によって従われるグループのx座標を示す単一値によって記憶/表現される。
【0082】
コンサート又はスポーツイベントの特定の例示的アプリケーションなど、多数の実施形態において、時間的態様が重要である。具体的には、静的仮想世界体験では、時間パラメータは、通常、無視され、時間にかかわらず同じ見る位置及び方向について同じ画像が生成されることになる。このようなアプリケーションの一例は、多数の異なる位置から多数の異なる方向で写真に撮った/フィルムに収めた誰もいない博物館である。すべての画像について、その個々の画像の位置及びカメラ方向を反映する関連位置パラメータベクトルが、記憶される。しかしながら、シーンが静的であって、時間とともに変化しないので、キャプチャの時間も記録する必要性又は意味はない。したがって、5つのパラメータデータベクトルが、その画像について記憶される。
【0083】
クライアントデバイス101は、このような例において、5つのパラメータ値も有する見る位置のパラメータベクトルをリモート画像サーバ107に提供する。これに応答して、リモート画像サーバ107は、時間的態様を考慮せずに適切な画像を生成する。本手法は、たとえば、クライアントデバイス101が仮想現実体験を生成することを可能にし、そこでは、ユーザは自由に3次元仮想博物館の中を歩き回って様々な展示を見ることができる。
【0084】
しかしながら、たとえば、コンサート又はスポーツイベントのレンダリングなど、ほとんどのアプリケーションにおいて、キャプチャされたシーンは時間とともに変化する。このような場合、記憶された画像は、通常、時間パラメータとも関連付けられ、すなわち、関連位置パラメータベクトルは時間パラメータも含む。これにより、動的なリアルタイムのイベントを反映する仮想体験が提供されることを可能にする。以下の説明は、たとえばコンサート又はスポーツイベントなど、時間的イベントの仮想現実体験(ただの静的仮想現実世界ではなく)を提供するための本手法の適用例に焦点を当てる。
【0085】
カメラは、多数の異なる位置から多数の異なる方向で一連の画像(具体的にはビデオストリーム)により動的シーンをキャプチャする。リモート画像サーバ107は、関連位置パラメータベクトルとともに別個の画像としてメモリ201に動的仮想世界を記憶する。
【0086】
具体的には、画像は、領域木(https://en.wikipedia.org/wiki/Range_tree)に対応する構造で記憶される。実際には、本発明者らは、特定のアプリケーションについて、領域木構造を使用すると、それが所与の受信された見る位置のパラメータベクトルについての適切な画像の識別及び選択を大幅に容易にするため、特に有利な手法を実現することに気付いた。
【0087】
特定の例において、関連位置パラメータベクトルは6つの異なるパラメータを表し、これに応じて、領域木内の単一のポイントを6次元のパラメータベクトルによって表すことができる。
ν=(x,y,z,θ,φ,t)
ここで、x、y、zは、ユークリッド座標におけるカメラ位置を表し、θはカメラ極角であって、φはカメラアジマス角であって、tは時間を表す。
【0088】
リモート画像サーバ107は更に、リモート画像サーバ107が他のデバイスと通信できるように、リモート画像サーバ107をネットワーク109にインターフェースするように構成されたネットワークインターフェース203を備える。具体的には、ネットワークインターフェース203は、データをクライアントデバイス101から受信し、クライアントデバイス101に送信するように構成される。インターネットなどのネットワークを介する通信を含む、2つのデバイス間の通信のための多数の手法を当業者なら十分に承知しているであろうことが理解されよう。したがって、簡潔にするために、これらについて詳しく説明しないが、リモート画像サーバ107及びクライアントデバイス101が互いに通信するための任意の適切な手法が使用されることが理解されよう。
【0089】
リモート画像サーバ107は、特に見る位置のパラメータベクトルをクライアントデバイス101から受信することができる受信器205を備える。見る位置のパラメータベクトルは、いくつかのパラメータを有し、視聴者の位置の指示及び視聴者が仮想世界において見る方向の指示を提供する。視聴者の位置パラメータベクトルは、(仮想世界/シーンの)画像が提供されることをクライアントデバイス101が要求する見る位置及び方向の指示を提供する。それにより、見る位置のパラメータベクトルは、通常、クライアントデバイス101において生成された3次元仮想世界内で動くユーザの具体的な視聴者の位置及び方向を示す。
【0090】
通常、見る位置のパラメータベクトルは、前述したような時間パラメータを更に含む1セットのパラメータを有する。たとえば、スポーツイベントアプリケーションについて、見る位置のパラメータベクトルは、視聴者の位置、見る方向を示す2つのパラメータ値、及び、画像が求められている瞬間を表す1つのパラメータ値を示す、3つのパラメータ値を含む。
【0091】
したがって、メモリ201内の画像について記憶された関連位置パラメータベクトルに対応して、見る位置のパラメータベクトルが、具体的には、6次元パラメータベクトルによって表される。
νc=(x,y,z,θ,φ,t)
ここで、x、y、zはユークリッド座標における視聴者の位置を表し、θは極角であって、φは、視聴者が見る方向のアジマス角であって、tは時間を表す。
【0092】
リモート画像サーバ107は、次いで、見る位置のパラメータベクトルに対応する画像の合成に進む、すなわち、時間tにおいてθ、φの方向を見るときのx、y、zの位置からのビューに対応する画像の生成に進む。
【0093】
それを行うために、リモート画像サーバ107は、先ず、メモリ201から記憶済みの画像の適切なセットを選択し、その後、リモート画像サーバ107は、選択された画像のセットに基いて、見る位置のパラメータベクトルに対応する画像を合成する。
【0094】
したがって、受信器205は、見る位置のパラメータベクトルと関連位置パラメータベクトルとの比較に応答してメモリに記憶済みの画像のうちの画像のセットを選択するように構成されたセレクタ207に接続される。選択は、通常、所与の近接性要件を満たす画像の選択を含むことになる。たとえば、位置パラメータベクトルのパラメータの値の間の距離尺度は、すべての記憶済みの画像について定義及び評価される。画像のセットは、次いで、たとえば、所与の閾値未満の距離尺度を有する画像として、又は、たとえば、最低の距離尺度を有するN画像として、選択される。
【0095】
原則として、すべての記憶済みの画像の検索は、多数のシステムにおける非常に複雑でリソースを消費するオペレーションになる。しかしながら、記載されている例では、画像は領域木構造で記憶され、具体的には、領域木構造は、位置パラメータベクトルのパラメータを中心に編成される。領域木は、N次元の木であって、Nはベクトルの次元であって、すなわち、Nはパラメータの数を反映する。
【0096】
特定の例において、(クライアントによって提供された実際の場所/回転及び時間を反映する)受信された見る位置のパラメータベクトルを所与として、再帰的二分探索が領域木において行われて、たとえば以下を満たす、すべての画像を見つける。
νc,k-Δk<νk≦νc,k+Δk
ここで、すべてのkについて、kはベクトルの個々のパラメータを表すインデックスであって、νcは見る位置のパラメータベクトルである。個々のパラメータkの許容偏差値Δkは、異なるパラメータで異なり、いくつかの実施形態において、後述するように、クライアントデバイス101によって制御可能である。
【0097】
比較は、通常(たとえば、静的世界仮想現実体験が提供されない限り)、時間パラメータの検討を含む。具体的には、上記の式で、kの1つの値は時間パラメータに対応する。許容偏差Δkは、しばしば、画像の時間に一致した生成を確保するために(具体的には、時間に一致したビデオが生成されることを確保するために)、時間的パラメータに対して比較的低くセットされることになる。
【0098】
領域木に基づくこの特定の探索は、非常に効率的であって、実際に、複雑性は、
O((logn)d+k)
のように決定され、ここで、nはデータ(画像)の数であって、dは探索空間の次元性であって、kは、要求される間隔内の画像の数である。
【0099】
許容偏差Δkに応じて、範囲探索は、0からN個の取得された画像をもたらすことができる。画像のセットが空であることに対応する、0個の画像が見つかった場合、これは、ユーザが、リモート画像サーバ107によってサポートされる仮想世界によって表される空間/キャプチャされた画像の外を移動していることを示す。この場合、リモート画像サーバ107は、たとえば、エラーメッセージを返す、及び/又は、最も近いキャプチャされた画像に対応する画像を提供する。
【0100】
リモート画像サーバ107はまた、選択及び取得された画像のセットから、見る位置のパラメータベクトルに対応する画像を生成する/合成するように構成された画像シンセサイザ209も含む。この合成は、具体的には、たとえば、画像のセットのうちの画像を使用してビューのシフト、補間などを実行する、ビュー合成オペレーションを含む。いくつかの実施形態において、この合成は更に、画像のセットのうちのサブセットを選択することと、単にこれを合成に使用することとを含む。多くの状況において、合成は、複数の画像に基づき、画像のセットのうちの少なくとも2つの画像の間のビュー補間を具体的に含む。
【0101】
合成の処理の一例として、画像シンセサイザ209は、パラメータ空間において近い画像のペアの間の視差推定を実行し、深度図を推測する。深度図に基づいて、新しい画像を合成することができる。
【0102】
画像シンセサイザ209は、適切なフォーマットで合成画像をエンコードするように構成された画像エンコーダ211につながれる。たとえば、リモート画像サーバ107は、クライアントデバイス101に送信されるH.264エンコードされたビデオストリームを生成し、画像エンコーダ211は、H.264エンコードフォーマットに従って合成画像をエンコードするように構成される。任意の適切なビデオ又は画像エンコードフォーマットが使用されることが理解されよう。
【0103】
画像エンコーダ211は、エンコードされた合成画像を含むデータストリームの形で出力信号を生成するように構成された出力ジェネレータ213につながれる。出力ジェネレータ213は、出力データストリームをクライアントデバイス101に送信するように構成されたネットワークインターフェース203につながれる。
【0104】
したがって、見る位置、方向及び通常は時間を示す見る位置のパラメータベクトルの送信に応答して、クライアントデバイス101は、リモート画像サーバ107からこれらのパラメータに対応する画像を受信することになる。その結果、クライアントデバイス101のユーザは、仮想世界における位置及びビューの方向(及び時間)を定義することができ、次に、ユーザがこの位置からこの方向で(そして、この時間に)知覚することになる仮想世界のビューを提供しようとする画像を受信することになる。
【0105】
リモート画像サーバ107は更に、合成画像のための基準位置パラメータベクトルを生成するように構成されたデータジェネレータ215を備え、基準位置パラメータベクトルは、合成画像のための、見る位置及び見る方向、そして通常は瞬間を示す。
【0106】
基準位置パラメータベクトルは、関連位置パラメータベクトル及び/又は見る位置のパラメータベクトルと同じフォーマットでもよい。基準位置パラメータベクトルは、合成画像のための対応する情報を提供し、ベクトルの形でもしばしば提供される。
ν=(x,y,z,θ,φ,t)
ここで、x、y、zはユークリッド座標における見る位置であって、θは見る方向の極角であって、φは見る方向のアジマス角であって、tは時間を表す。実際には、見る位置のパラメータベクトル(及び関連位置パラメータベクトル)に関して提供されるコメントもまた、必要な変更を加えて、基準位置パラメータベクトルに関連する。
【0107】
したがって、基準位置パラメータベクトルは、合成画像の基準点を提供し、具体的には、画像が生成された位置及び見る方向(及び時間)を示す。これらは受信された値とは異なり、すなわち、基準位置パラメータベクトルは、見る位置のパラメータベクトルとは異なる。これは、たとえば、キャプチャされた画像の粒度により生じる。たとえば、見る位置のパラメータベクトルのものとはわずかに異なる位置又は時間の合成画像を生成することにより、記憶された画像のうちの1つ又は複数をより直接的に使用することが可能であって、これにより、更に高い画像品質を提供する。
【0108】
もう1つの例として、サーバは、ユーザがどこを見ようとしているか及びユーザが時間とともにどのように動くかを予測することができる予測モデルを所定の位置に有することが可能である。予測を行うことは、クライアントによって要求されたものとは異なるパラメータベクトルをサーバが送り返すことになることを意味する。
【0109】
したがって、通常、基準位置パラメータベクトルは見る位置のパラメータベクトルから外れるが、偏差は、通常、比較的小さくなり、実際に、クライアントデバイス101は、通常、要求されたパラメータのものに非常に近い合成画像を受信することになる。
【0110】
データジェネレータ215は、クライアントデバイス101に送信される生成されたデータストリーム内に基準位置パラメータベクトルを含むように構成された出力ジェネレータ213につながれる。
【0111】
図3は、
図1のクライアントデバイス101のいくつかの要素を更に詳しく示す。
【0112】
クライアントデバイス101は、リモート画像サーバ107から受信した画像に基づいてユーザに仮想現実体験を提供する仮想現実アプリケーションを実行するように構成された仮想現実プロセッサ301を備える。仮想現実プロセッサ301は、具体的には、仮想世界におけるユーザの運動及び頭部運動を追跡するために、仮想現実ヘッドセット、及び/又は、たとえばジョイスティックとインターフェースする。仮想現実プロセッサ301は、3D画像を仮想現実ヘッドセットに提供し、仮想現実ヘッドセットからの入力に基づいてユーザが頭をどのように動かすかを追跡する。
【0113】
仮想現実プロセッサ301は、仮想世界における見る位置及び見る方向を示すパラメータを有する現在の見る位置のパラメータベクトルを決定するように構成された位置プロセッサ303につながれる。位置プロセッサ303は、具体的には、位置及び見る方向の情報を仮想現実プロセッサ301から受信し、このデータを適切なデータ構造体にパッケージ化する。位置プロセッサ303は更に、現在の瞬間(たとえば、リアルタイムの又は仮想現実の時間フレームにおける)など、時間パラメータを追加する。いくつかの実施形態において、位置プロセッサ303はまた、時間情報を仮想現実プロセッサ301から受信する。
【0114】
位置プロセッサ303は、クライアントデバイス101が他のデバイスと通信することができるようにクライアントデバイス101をネットワーク109にインターフェースするように構成されたネットワークインターフェース305につながれる。他の実施形態では他の通信手段が使用されることが理解されよう。
【0115】
したがって、クライアントデバイス101は、見る位置のパラメータベクトルを生成し、送信器としてネットワークインターフェース203を使用して見る位置のパラメータベクトルをリモート画像サーバ107に送信するように構成される。これに応答して、リモート画像サーバ107は、対応する画像を合成し、前述のような基準位置パラメータベクトルとともにクライアントデバイス101にこの画像を送信する。
【0116】
ネットワークインターフェース305は、双方向通信をサポートし、それにより、画像及び基準位置パラメータベクトルを有するこの信号/データストリームを受信する受信器としても機能する。ネットワークインターフェース305は、受信した画像に基づいて出力画像を合成するように構成されたクライアント画像シンセサイザ307につながれる。この合成された出力画像は仮想現実プロセッサ301に供給され、仮想現実プロセッサ301は、次いで、この画像をユーザに提示する。
【0117】
しかしながら、システムのレイテンシにより、見る位置のパラメータベクトルがリモート画像サーバ107に送信されてから、仮想世界におけるユーザの現在の位置は変化していることがある。したがって、クライアントデバイス101は、送信された見る位置のパラメータベクトルに対する見る位置及び見る方向の変化を反映する更新された見る位置のパラメータベクトルを決定するように構成された更新プロセッサ309を備える。
【0118】
いくつかの実施形態において、更新された見る位置のパラメータベクトルが、たとえば現在の値と送信された見る位置のパラメータベクトル値との差を示す、相対ベクトルとして生成される。しかしながら、他の実施形態では、更新された見る位置のパラメータベクトルは、単純に、現在の見る位置のパラメータベクトルである。したがって、いくつかの実施形態において、更新プロセッサ309は、単純に、現在の見る位置のパラメータベクトルを位置プロセッサ303に要求する。実際に、位置プロセッサ303は、見る位置のパラメータベクトルを連続的に生成してリモート画像サーバ107に送信し、これらを更に更新プロセッサ309に提供する。したがって、現在送信されている見る位置のパラメータベクトルはまた、前に送信された見る位置のパラメータベクトルの(したがって、現在受信される画像/基準位置パラメータベクトルの)更新された見る位置のパラメータベクトルである。
【0119】
更新された見る位置のパラメータベクトルは、クライアント画像シンセサイザ307に供給され、クライアント画像シンセサイザ307は、受信した画像、基準位置パラメータベクトル、及び更新された見る位置のパラメータベクトルに基づいて、出力画像の合成へと進む。
【0120】
ユーザの位置及び見る方向の変化、並びにリモート画像サーバ107における処理により導入されるいずれの偏差も、通常は、比較的小さい。したがって、更新された見る位置のパラメータベクトルと基準位置パラメータベクトルとの差は、通常は、比較的小さい。通常、この差は、ユーザの位置及び/又はユーザが見る方向の比較的小さい変化を示す。
【0121】
したがって、クライアント画像シンセサイザ307は、出力画像を合成するとき、受信した画像に比較的小さい修正を行うことが可能である。具体的には、クライアント画像シンセサイザ307は、ステレオ画像内のピクセルの位置を適切に移動することによりビューの回転又は移動を実行する。たとえば、関連する3Dメッシュを有する画像が、クライアントによって受信される。現在のビューは、次いで、テクスチャマッピングを使用して合成することができる。別法として、関連深度図を有する画像が、クライアントによって受信される。クライアントは、次いで、ピクセル毎の深度に基づくメッシュを作成し、これに新しいビューを合成するためのテクスチャマッピングが再び続く。もう1つの例では、クライアントは、深度画像ベースのレンダリング方法を用いて関連深度図を有する画像から新しいビューを生成する。
【0122】
したがって、クライアント画像シンセサイザ307は、具体的には、レンダリングより前に、受信した画像に見るポイント/方向の変換を実行するように構成され、見るポイント/方向の変換は、受信された基準位置パラメータベクトルと生成された更新された見る位置のパラメータベクトルとの差に依存する。
【0123】
クライアント側でのビュー変換の適用の利点は、
図4及び
図5に示されている。
図4は、この軌道(適切な粒度/ステップサイズを有する)に沿った各位置でキャプチャされる多方向の画像を有するシーンをキャプチャするときにカメラによって辿られた軌道401を示す。
図5は、仮想環境においてユーザによって取られる軌道501の一例を示す。各見る位置において、最も近い利用可能なキャプチャされた画像が、ビデオストリームに追加される(たとえば、セレクタ207は最も近い画像を選択する)。クライアントデバイス101は、この最も近いポイントの画像を解読する。しかしながら、図のように、これらの位置は、同一ではなくて、小さな差がある。リモート画像サーバ107は、基準位置パラメータベクトルも提供するので、クライアント画像シンセサイザ307は、これを更新された見る位置のパラメータベクトルと比較し、それに応じてこれを補うビュー変換を実行することができる。したがって、この変換は、更新された見る位置のパラメータベクトルと基準位置パラメータベクトルとのビューの差を補正する。これにより、レイテンシの問題と、受信したパラメータ測定値の起こり得る誤りとを補正する。
【0124】
多数の動的実施形態において、この処理はまた、時間パラメータを考慮する。これは、たとえば、一連の受信した画像の間を補間するために使用され、及び/又は、たとえば、受信した画像/基準位置パラメータベクトルとローカルに生成された更新された見る位置のパラメータベクトルとを適合させるために使用される。
【0125】
したがって、システムは、ユーザが現実のキャプチャ画像に基づいて3次元体験を動的に且つ滑らかに提供されることが可能な手法を提供する。本手法は、仮想世界における動きの高度な柔軟性及び滑らかさを実現する。実際に、多くのアプリケーションにおいて、運動に制約がなく、連続的に見えて、通常は高い画像品質を有する体験をユーザは提供される(熱中できる体験のために、一部のアプリケーションでは、画像品質は、たとえば、たとえば高品質TV放送で、消費者が慣れているものよりも低い)。
【0126】
本手法は、サーバ及びクライアントデバイス101に亘る画像生成の分散に基づき、サーバは、クライアントデバイス101において精緻化することができる、通常は粗いがほぼ正確な画像を提供する。これは、リモート画像サーバ107における処理によってもたらされるレイテンシ若しくはアーティファクト又はキャプチャポイント若しくはデバイスの数が限られていることから本質的に生じる粒度などの問題に対処するために使用される。
【0127】
更に、個々のクライアントデバイス101に単一の画像/ビデオストリームのみを必要として、サービスに必要とされるデータレート及び帯域幅は低く保たれる。したがって、複数の並列ストリームは必要とされない。
【0128】
多数の実施形態において、画像シンセサイザ209及び/又はクライアント画像シンセサイザ307の画像合成は、深度データに基づく3Dビュー変換の実行に基づく。深度データは、たとえば、画像の3Dメッシュの形でもよく、又は、たとえば、画像のピクセルの深度又は視差値を有する深度図でもよい。
【0129】
したがって、多数の実施形態において、メモリ201は、画像に加えて、深度図などの深度情報を記憶する。深度図は、たとえば、3Dカメラであるカメラ111によって直接生成される。
【0130】
画像のセットを抽出するとき、セレクタ207はまた、これらの画像の深度データ(具体的には深度図)を抽出する。画像及び関連深度図は、次いで、調整を行うために、画像シンセサイザ209によって使用される。合成画像の生成に加えて、画像シンセサイザ209はまた、合成画像の深度図又はメッシュなどの深度情報を生成する。この深度図/メッシュはまた、出力ジェネレータ213に供給され、出力ファイルに含まれる。
【0131】
いくつかの実施形態において、画像シンセサイザ209は、単純に、最も近い画像の選択により画像を合成する。このような場合、出力深度図/メッシュは、単純に、その画像の記憶された深度図/メッシュに対応する。
【0132】
したがって、いくつかの実施形態において、クライアントデバイス101は、見る位置のパラメータベクトルに対応する画像に加えて、この画像の深度データもまた受信する。これは、通常、深度図又はメッシュの形であって、ビュー変換を実行するためにクライアント画像シンセサイザ307によって直接使用される。たとえば視聴者が移動するときの、個々のピクセルの変位は、たとえば、深度に依存する。具体的には、視聴者に近いオブジェクトは、視聴者から更に離れたオブジェクトよりも大きくシフトされることになる。
【0133】
記載されている手法の具体的な利点は、それが動的ユーザ体験に特に適していることである。実際には、見る位置のパラメータベクトルを連続的に提供するクライアントデバイス101と、応答して画像の連続的ストリーム、特にビデオストリームを提供するリモート画像サーバ107との動的処理をサポートする。更に、これは、単一ビデオストリームに基本的に対応するフォワード帯域幅及び低レートデータ接続に対応するリバース帯域幅のみを使用して効果的に達成される。
【0134】
したがって、多数の実施形態において、リモート画像サーバ107は、たとえば更新レート5~100Hzで、一連の見る位置のパラメータベクトルを受信する。これに応答して、リモート画像サーバ107は、合成画像を生成し、それらを、たとえば適切なフレームレートを有する(或いは、場合により、含まれている時間パラメータに基づいてフレームレート適応(たとえば、補間を使用する)を実行することができるクライアントデバイス101で必要とされるのよりも高い又は低いフレームレートを有する)ビデオストリームとしてクライアントデバイス101に返す。したがって、リモート画像サーバ107は、一連の見る位置のデータベクトルに対応する合成画像のシーケンスを有するように出力画像信号を生成する。
【0135】
実際に、多数の実施形態において、本手法は、動的リアルタイム仮想現実体験が高い画像品質及び帯域幅要件で提供されることを可能にする。
【0136】
本手法はまた、リモート画像サーバ107が複数のユーザを同時にサポートすることを可能にする。具体的には、リモート画像サーバ107は、見る位置のパラメータベクトルを複数のクライアントデバイスから受信することができ、これに応答して、各クライアントデバイス/ユーザのためのカスタイマイズ及びパーソナライズされたビデオストリームを生成することができる。
【0137】
いくつかの実施形態において、セレクタ209は、複数の受信された見る位置のパラメータベクトル(現在のものを含む)から修正済みの見る位置のパラメータベクトルを予測するように構成される。たとえば、セレクタ209は、カルマンフィルタなどの多次元予測フィルタを含む。これは、3次元仮想空間におけるユーザの軌道を予測し、たとえば、追加で又は別法として、見る方向を予測する。単純な例として、
図5の例におけるユーザの軌道は、1次の線形予測フィルタによっても容易に予測することができる。
【0138】
したがって、一連の受信された見る位置のパラメータベクトルに基づいて、未来の見る位置のパラメータベクトル(又は、少なくともいくつかのそのパラメータ)が、リモート画像サーバ107によって予測される。したがって、いくつかの実施形態において、セレクタ209は、未来の見る位置及び/又は見る方向の推定に対応する修正済みの見る位置のパラメータベクトルを予測する予測器を備える。
【0139】
このような予測は、異なる形で使用される。
【0140】
たとえば、いくつかの実施形態において、セレクタ107が、修正済みの見る位置のパラメータベクトルに応答して画像のセットを選択するように構成され、及び/又は、クライアント画像シンセサイザ307が、修正済みの見る位置のパラメータベクトルに応答して合成画像を合成するように構成される。
【0141】
具体的には、前述の手法は、受信された見る位置のパラメータベクトルを直接使用する代わりに使用され、修正済みの見る位置のパラメータベクトルが使用される。これは、通常わずかに修正された位置/見る方向に対応する画像の生成をもたらす。具体的には、リモート画像サーバ107は、レイテンシを推定する(たとえば、クライアントデバイス101にpingを送ること、又はリモート画像サーバ107とクライアントデバイス101との間のメッセージに含まれるタイミング情報に基づいてタイミング推定処理を適用することによって)。予測器は、次いで、このレイテンシによってオフセットされた時間にそれが受信することを期待する見る位置のパラメータベクトルを推定するために使用される。したがって、リモート画像サーバ107は、このようにして、クライアントデバイス101によって画像が受信又はレンダリングされた時間におけるユーザ位置/見る方向の予測を図ることができる。リモート画像サーバ107は、次いで、この位置/見る方向に対応する合成画像を提供する。多数の実施形態において、これは、所望のビューにより近い画像をもたらす可能性が高く、したがって、クライアントデバイス101によって必要とされる後処理/ビュー変換の量を減らす。
【0142】
別法として又は追加で、予測が、事前選択を実行するために使用される。たとえば、リモート画像サーバ107は、画像をメモリ201から取得した後に記憶することができるキャッシュを含む。キャッシュは、たとえば、クライアント画像シンセサイザ307のGPUメモリ又は専用メモリに対応する。したがって、このキャッシュ内の画像は、メモリ201(通常は、速度ではなくて容量について最適化されることになる)からよりも速く取得される。
【0143】
いくつかの実施形態において、セレクタ209は、プリセレクタを有し、プリセレクタは、予測された修正済みの見る位置のパラメータベクトルに基づいて、メモリ201から抽出されてキャッシュに記憶された画像のセットを選択する。修正済みの見る位置のパラメータベクトルは、具体的には、次の見る位置のパラメータベクトル及びいつこれが受信されるかの予測であって、選択された画像は、実際にそれらが事前選択されていた場合、メモリ201ではなくてキャッシュから取得される。
【0144】
一例として、事前選択は、たとえば更に大きな偏差を可能にすること以外は、選択と全く同じ原理に基づく。たとえば、事前選択はまた、たとえば以下を満たすすべての画像の発見に基づく。
νc,k-Δk<νk≦νc,k+Δk
しかしながら、値Δkは、予測における不確実性を補正するために、後に続く選択のそれよりも事前選択では大幅に高く選択される。
【0145】
ユーザがどこに進んでいるかに関して行われる予測に基づく基準ビューのこのようなプリフェッチは、合成画像の生成における時間遅延を低減し、その結果、全体的レイテンシを低減する。
【0146】
いくつかの実施形態において、受信器は、一連の見る位置のパラメータベクトルのうちの少なくとも1つのパラメータにローパスフィルタを適用するように構成される。たとえば、一連の連続的な見る位置のパラメータベクトルの受信されたx、y及びz座標は、滑らかな位置軌道を提供するために、個々にフィルタリングされる。したがって、実際に、個々のパラメータは、より滑らかなオペレーションを反映するために、時間的にローパスフィルタリングされる。したがって、本手法は、たとえば、クライアントデバイス101によるその後の受信画像/フレームの間の時間的補間の必要なしに、ユーザ体験の特に効率的なスムージングを可能にする。本手法は、具体的には、シーケンスの後続の画像のより高い一貫性及び滑らかな変化を可能にする。これは、ビデオのエンコードを円滑にする。
【0147】
実際には、ビデオストリームの効率的エンコードのために、ビデオが時間的に滑らかな動きを辿ることが好ましい。これを確実にするために、ユーザ位置及び見る方向パラメータは、時間とともに滑らかに変化するビデオを作るために、リモート画像サーバ107によってフィルタリングされる。これは、同じ品質のためのビットレートを低減する。実際の位置及び向きに関する導入された差は、クライアント側ビュー合成(送信されたメッシュ又は深度図を使用する)によって補正され、すなわち、クライアント画像シンセサイザ307がビュー変換を実行する手法は、知覚される品質を不合理に下げることなく、受信された見る位置のパラメータベクトルに関する偏差を導入するフィルタリングを可能にする。知られていない往復遅延が存在することがあるので、リモート画像サーバ107は、前述のように、各ビデオフレームで基準位置パラメータベクトルを送信する。クライアントデバイス101は、この情報を正確なビュー合成のために使用することができる。新しく受信されたデータと現在合成されるデータとの間の時間的不整合を回避するために、アルファブレンディングを使用して滑らかな動きの体験を実現することができる。
【0148】
いくつかの実施形態において、クライアントデバイス101は更に、リモート画像サーバ107のオペレーションに影響を及ぼす制御データを送信するように構成される。これは、たとえば、リモート画像サーバ107によって生成された画像の特性を制御するために使用され、具体的には、たとえば、オペレーションの異なるモードの中から、及び異なる仮想現実体験の中から、選択するために使用される。具体的には、それは、合成画像の生成に課される制約を制御する。
【0149】
いくつかの実施形態において、クライアントデバイス101は、具体的には、セレクタ209が画像のセットをどのように選択するかを制御する選択命令を送信するように構成される。したがって、クライアントデバイス101は、選択命令をリモート画像サーバ107に送信し、これを受信したことに応答して、リモート画像サーバ107は、セレクタ209によって使用される選択基準を適応させる。
【0150】
選択命令は、具体的には、異なるパラメータがどのように優先順位を付けられるべきか、又は、たとえば、異なるパラメータに対してどの位大きな偏差が受け入れられるかの指示を含む。たとえば、選択命令は、たとえば、y方向の変動が低く保たれなければならない一方でx方向での比較的大きな変動が許容可能であることを示す。
【0151】
具体的には、選択命令は、画像を選択するときに特定のパラメータ(又はパラメータのセット)が無視されるべきであることを示す。具体的には、選択命令は、時間パラメータが無視されるべきであることと、画像がいつ得られたかにかかわらず、指示された位置及び見る方向に十分近いすべての画像が含まれるべきであることとを示す。もう1つの例として、選択命令は、非対称の基準が含まれるべきであることと、(仮想世界における)現在の時刻の瞬間の後にキャプチャされた画像のみが含まれるべきであることとを示す。
【0152】
そのような選択命令を含むことで、たとえば、クライアントデバイス101が、たとえばユーザによって、制御される異なるモードで動作することを可能にする。
【0153】
たとえば、コンテンツのタイプに応じて、ユーザは、キャプチャされた環境を異なる形で探索したいと考える。前述のセットアップにおいて、これは、クライアントデバイス101からリモート画像サーバ107に選択命令が送信されることによって制御することができる間隔パラメータΔkの異なる設定を使用して対処することができる。
【0154】
例示的動作モードは、たとえば、以下を含む。
1. クロノモード:イベントが発生する時系列が重要である。再生は、一時停止することができるが、フレームは決して時間を遡ってはならない。時間パラメータΔtにおける小さな変動のみが可能にされる。
例:コンサート(音声が最も重大な部分である)、スポーツイベント。
2. 静的世界モード:記録は静的3Dモデルとして探索され、フレームがキャプチャされた時間は問題ではなくなる。6つのパラメータ空間は、ここで、5つのパラメータ空間に減らされる。これにより、データをそこから取得する更に密度の高い空間と、それによる視聴者の更に密度の高い有効な位置/視野角度とをもたらすことになる。
例:仮想博物館訪問、アーキテクチャ。
3. 軌道モード:記録は、静的3D世界として探索される。3D空間(x,y,z)におけるこのような軌道又はパスは、次いで、異なるルートを取って、異なる方向で探索することができる。
例:ハイキングコース。
【0155】
一部のアプリケーションでは、探索空間の次元性を更に減らすことができる。
1. 前述の静的世界モードにおいて、時間の次元は存在せず、5D空間をもたらす。
2. 前述の軌道モードにおいて、時間の次元は存在せず、(x,y,z)の位置は、軌道に沿った単一パラメータsに減らすことができる。これは3D空間をもたらす。
3. スポーツイベントでは、時間の次元は重大であるが、見る位置及び方向は、通常、制限することができる(視聴者は、通常、フィールドを見ていて、スタジアム自体をあまり見ない)。
【0156】
たとえば、ユーザは、かなり大きな時間間隔Δtにわたる仮想世界の体験をユーザは望むと決定する可能性がある。その場合、ユーザは、短い時間のインスタンスの場所及び向きのみに依存するビデオを受信することになり、ユーザ自体の動きによって誘発されるもの以外のシーン内の動きはない。
【0157】
いくつかの実施形態において、クライアント画像シンセサイザ307は更に、合成画像を生成するときに、受信された画像を切り取ることができる。したがって、いくつかの実施形態において、ユーザに提示される合成画像によって表される視野角度は、受信された画像のものよりも小さい。切り取りは、更新された見る位置のパラメータベクトル及び基準位置パラメータベクトルに依存する。
【0158】
したがって、いくつかの実施形態において、リモート画像サーバ107は、ユーザに画像を表示するために使用されるディスプレイによって実際に必要とされるものより大きな視界を有する画像を生成する。これは、合成画像を生成するために使用される受信画像の選択が、更新された見る位置のパラメータベクトルに最もよく対応するように選択されることを可能にするので、クライアント画像シンセサイザ307のオペレーションを円滑にする。低複雑度の例として、見る位置のパラメータベクトルが送信されてから、ユーザがその頭を左に向けた場合、クライアント画像シンセサイザ307は、受信した画像の左手側に更に向かう画像セクションを選択し、これを合成に使用する。代わりにユーザがその頭を右に向けた場合、画像の右手側に更に向かう画像セクションが使用される。
【0159】
前述の説明は、明確にするために、異なる機能回路、ユニット及びプロセッサを参照して本発明の実施形態を説明していることが理解されよう。しかしながら、本発明を損なうことなく、異なる機能回路、ユニット又はプロセッサの間で機能の任意の適切な分配が使用されることは明らかであろう。たとえば、別個のプロセッサ又はコントローラによって実行されるように示されている機能が、同じプロセッサ又はコントローラによって実行される。したがって、特定の機能ユニット又は回路の参照は、厳密な論理又は物理構造又は編成を示すのではなくて、記載されている機能を提供するための適切な手段を参照するものとして単に見なされるべきである。
【0160】
本発明は、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組合せを含む任意の適切な形で実施することができる。本発明は、任意選択的に、1つ又は複数のデータプロセッサ及び/又はデジタル信号プロセッサ上で実行するコンピュータソフトウェアとして少なくとも部分的に実施される。本発明の実施形態の要素及び構成要素は、任意の適切な形で、物理的、機能的、及び論理的に実施される。実際に、機能は、単一ユニットにおいて、複数のユニットにおいて、又は他の機能ユニットの一部として、実施される。このようにして、本発明は、単一ユニットにおいて実施される、或いは、異なるユニット、回路及びプロセッサの間で物理的及び機能的に分散される。
【0161】
本発明はいくつかの実施形態に関して説明されているが、本発明は、本明細書に記載されている特定の形に限定されることは意図されていない。そうではなくて、本発明の範囲は、添付の特許請求の範囲によってのみ限定される。加えて、特徴は特定の実施形態に関して説明されているように見えるが、記載されている実施形態の様々な特徴は、本発明に従って結合されることを、当業者は認めるであろう。請求項において、有する(備える)という用語は、他の要素又はステップの存在を排除しない。
【0162】
更に、個々にあげられているが、複数の手段、要素、回路又は方法のステップは、たとえば、単一の回路、ユニット又はプロセッサによって実施される。加えて、個々の特徴は異なる請求項に含まれることがあるが、これらは、場合により、有利に結合され、異なる請求項に含まれることは、特徴の結合が実行可能及び/又は有利でないことを暗示しない。また、1つのカテゴリの請求項に特徴を含めることは、このカテゴリへの限定を暗示せず、そうではなくて、必要に応じてその特徴が他の請求項のカテゴリに同等に適用可能であることを示す。更に、請求項における特徴の順序は、その特徴が機能させられる必要のある特定の順序を暗示せず、具体的には、方法の請求項における個々のステップの順序は、それらのステップがこの順序で実行されなければならないことを暗示しない。そうではなくて、ステップは、任意の適切な順序で実行される。加えて、単数形の参照は複数性を排除しない。したがって、「ある(a)、(an)」、「第1の」、「第2の」などの参照は、複数性を除外しない。請求項における参照記号は、単に分かりやすい例として提供されており、いかなる形でも請求の範囲を制限するものとして解釈されないものとする。