(57)【特許請求の範囲】
【請求項１】
カメラにより取得された３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定することであって、前記カメラにより取得された３Ｄ画像は、第１のカメラにより取得された画像と第２のカメラにより取得された画像とから形成された第１の立体視画像を含む、決定することと、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることであって、前記仮想３Ｄオブジェクトは、第１の仮想画像と第２の仮想画像から形成された第２の立体視画像を含む、レンダリングすることと、
混合リアリティ３Ｄ画像を生成するために前記カメラにより取得された３Ｄ画像と前記仮想３Ｄオブジェクトとを組み合わせることと、
前記第１の仮想画像の第１のビューポートをシフトさせることと、
前記第２の仮想画像の第２のビューポートをシフトさせることと、を備え、前記第１のビューポートをシフトさせることおよび前記第２のビューポートをシフトさせることは、前記混合リアリティ３Ｄ画像のビュー深度を調整する、方法。
【請求項２】
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトについての両眼間隔値を決定することと、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングすることとをさらに備える、請求項１に記載の方法。
【請求項３】
前記カメラにより取得された３Ｄ画像がステレオカメラによってキャプチャされる、請求項１に記載の方法。
【請求項４】
前記方法が、
前記ステレオカメラのアスペクト比を決定することと、
前記射影行列に関する前記１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用することとをさらに備える、請求項３に記載の方法。
【請求項５】
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、請求項１に記載の方法。
【請求項６】
前記カメラにより取得された３Ｄ画像についてのニア平面視差値を決定することと、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることとをさらに備える、請求項１に記載の方法。
【請求項７】
前記カメラにより取得された３Ｄ画像についてのファー平面視差値を決定することと、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることとをさらに備える、請求項１に記載の方法。
【請求項８】
前記混合リアリティ３Ｄ画像のビューポートをシフトすることをさらに備える、請求項１に記載の方法。
【請求項９】
３次元（３Ｄ）ビデオデータを処理するためのシステムであって、前記システムが、
カメラにより取得された３Ｄ画像をキャプチャするように構成されたカメラと、
１つまたは複数のプロセッサであって、
キャプチャされた３Ｄ画像についてのゼロ視差平面までの距離を決定することであって、前記カメラにより取得された３Ｄ画像は第１のカメラにより取得された画像と第２のカメラにより取得された画像とから形成された第１の立体視画像を含む、決定することと、
前記ゼロ視差平面までの前記距離に少なくとも基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることであって、前記仮想３Ｄオブジェクトは、第１の仮想画像と第２の仮想画像から形成された第２の立体視画像を含む、レンダリングすることと、
混合リアリティ３Ｄ画像を生成するために前記カメラにより取得された３Ｄ画像と前記仮想３Ｄオブジェクトとを組み合わせることと、
前記第１の仮想画像の第１のビューポートをシフトさせることと、
前記第２の仮想画像の第２のビューポートをシフトさせることと、を行うように構成された１つまたは複数のプロセッサと、を備え、前記第１のビューポートをシフトさせることおよび前記第２のビューポートをシフトさせることは、前記混合リアリティ３Ｄ画像のビュー深度を調整する、システム。
【請求項１０】
前記１つまたは複数のプロセッサが、さらに、
前記ゼロ視差平面までの前記距離に少なくとも基づいて前記仮想３Ｄオブジェクトについての両眼間隔値を決定し、前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングするように構成された、請求項９に記載のシステム。
【請求項１１】
前記カメラがステレオカメラを含む、請求項９に記載のシステム。
【請求項１２】
前記１つまたは複数のプロセッサが、さらに、前記ステレオカメラのアスペクト比を決定し、前記射影行列に関する前記１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用するように構成された、請求項１１に記載のシステム。
【請求項１３】
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、請求項９に記載のシステム。
【請求項１４】
前記１つまたは複数のプロセッサが、さらに、前記カメラにより取得された３Ｄ画像についてのニア平面視差値を決定し、同じニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするように構成された、請求項９に記載のシステム。
【請求項１５】
前記仮想画像ソースが、さらに、前記カメラにより取得された３Ｄ画像についてのファー平面視差値を決定し、同じファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするように構成された、請求項９に記載のシステム。
【請求項１６】
前記１つまたは複数のプロセッサが、さらに、前記混合リアリティ３Ｄ画像のビューポートをシフトするように構成された、請求項９に記載のシステム。
【請求項１７】
カメラにより取得された３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定するための手段であって、前記カメラにより取得された３Ｄ画像は、第１のカメラにより取得された画像と第２のカメラにより取得された画像とから形成された第１の立体視画像を含む、決定するための手段と、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定するための手段と、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングするための手段であって、前記仮想３Ｄオブジェクトは、第１の仮想画像と第２の仮想画像から形成された第２の立体視画像を含む、レンダリングするための手段と、
混合リアリティ３Ｄ画像を生成するために前記カメラにより取得された３Ｄ画像と前記仮想３Ｄオブジェクトとを組み合わせるための手段と、
前記第１の仮想画像の第１のビューポートをシフトさせるための手段と、
前記第２の仮想画像の第２のビューポートをシフトさせるための手段と、を備え、前記第１のビューポートをシフトさせることおよび前記第２のビューポートをシフトさせることは、前記混合リアリティ３Ｄ画像のビュー深度を調整する、装置。
【請求項１８】
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトについての両眼間隔値を決定するための手段と、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングするための手段とをさらに備える、請求項１７に記載の装置。
【請求項１９】
前記カメラにより取得された３Ｄ画像がステレオカメラによってキャプチャされる、請求項１７に記載の装置。
【請求項２０】
前記装置が、
前記ステレオカメラのアスペクト比を決定するための手段と、
前記射影行列に関する前記１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用するための手段とをさらに備える、請求項１９に記載の装置。
【請求項２１】
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、請求項１７に記載の装置。
【請求項２２】
前記カメラにより取得された３Ｄ画像についてのニア平面視差値を決定するための手段と、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするための手段とをさらに備える、請求項１７に記載の装置。
【請求項２３】
前記カメラにより取得された３Ｄ画像についてのファー平面視差値を決定するための手段と、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするための手段とをさらに備える、請求項１７に記載の装置。
【請求項２４】
前記混合リアリティ３Ｄ画像のビューポートをシフトするための手段をさらに備える、請求項１７に記載の装置。
【請求項２５】
１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
カメラにより取得された３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定することであって、前記カメラにより取得された３Ｄ画像は、第１のカメラにより取得された画像と第２のカメラにより取得された画像とから形成された第１の立体視画像を含む、決定することと、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることであって、前記仮想３Ｄオブジェクトは、第１の仮想画像と第２の仮想画像から形成された第２の立体視画像を含む、レンダリングすることと、
混合リアリティ３Ｄ画像を生成するために前記カメラにより取得された３Ｄ画像と前記仮想３Ｄオブジェクトとを組み合わせることと、
前記第１の仮想画像の第１のビューポートをシフトさせることと、
前記第２の仮想画像の第２のビューポートをシフトさせることと、を行わせる１つまたは複数の命令を有形に記憶する、非一時的コンピュータ可読記憶媒体であって、前記第１のビューポートをシフトさせることおよび前記第２のビューポートをシフトさせることは、前記混合リアリティ３Ｄ画像のビュー深度を調整する、非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトについての両眼間隔値を決定することと、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングすることとを行わせるさらなる命令を記憶する、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記カメラにより取得された３Ｄ画像がステレオカメラによってキャプチャされる、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記ステレオカメラのアスペクト比を決定することと、
前記射影行列に関する前記１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用することと行わせるさらなる命令を記憶する、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記カメラにより取得された３Ｄ画像についてのニア平面視差値を決定することと、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることとを行わせるさらなる命令を記憶する、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記カメラにより取得された３Ｄ画像についてのファー平面視差値を決定することと、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることとを行わせるさらなる命令を記憶する、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項３２】
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記混合リアリティ３Ｄ画像のビューポートをシフトすることを行わせるさらなる命令を記憶する、請求項２５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１０年１２月３日に出願された米国仮出願第６１／４１９，５５０号の利益を主張する。
【０００２】
本開示は、一般にマルチメディアデータの処理およびレンダリングに関し、より詳細には、仮想オブジェクトと現実オブジェクトの両方を有する３次元（３Ｄ）ピクチャおよびビデオデータの処理およびレンダリングに関する。
【背景技術】
【０００３】
ステレオビデオ処理の計算の複雑さは、３次元（３Ｄ）グラフィックスのレンダリングにおいて、特に、低電力デバイスまたはリアルタイム設定における３Ｄシーンの可視化において、重要な考慮事項である。一般に、ステレオ対応ディスプレイ（たとえば、裸眼立体視（auto-stereoscopic）ディスプレイまたは立体視（stereoscopic）ディスプレイ）上での３Ｄグラフィックスのレンダリングの難しさは、ステレオビデオ処理の計算の複雑さに起因し得る。
【０００４】
計算の複雑さは、現実オブジェクト（real objects）と仮想オブジェクト（virtual objects）の両方を備えた混合リアリティシーン（mixed reality scenes）を生成する、リアルタイムハイブリッドリアリティビデオデバイスの場合、特に重要な考慮事項となり得る。混合リアリティ３Ｄシーンの可視化は、ビデオゲーム、ユーザインターフェース、および他の３Ｄグラフィックスアプリケーションなどの多くのアプリケーションにおいて有用であり得る。低電力デバイスの計算リソースが限られていることにより、３Ｄグラフィックスのレンダリングは過度に時間のかかるルーチンになる可能性があり、時間のかかるルーチンは、一般にリアルタイムアプリケーションに適合しない。
【発明の概要】
【０００５】
３次元（３Ｄ）混合リアリティは、たとえば３Ｄカメラによってキャプチャされた現実３Ｄ画像またはビデオを、コンピュータまたは他の機械によってレンダリングされた仮想３Ｄ画像と組み合わせる。３Ｄカメラは、共通のシーンの２つの別個の画像（たとえば、左側および右側）を取得し、該２つの別個の画像を重畳して、３Ｄ深度効果をもつ現実画像を作成することができる。仮想３Ｄ画像は、一般に、カメラによって取得された画像から生成されるのではなく、ＯｐｅｎＧＬなどのコンピュータグラフィックスプログラムによって描かれる。現実３Ｄ画像と仮想３Ｄ画像の両方を組み合わせる混合リアリティシステムを用いると、ユーザは、コンピュータによって描かれた仮想オブジェクトと３Ｄカメラによってキャプチャされた現実オブジェクトの両方から構成された空間に没入しているように感じることができる。本開示では、計算効率の良い方法で混合シーンを生成するためのものとし得る技法について説明する。
【０００６】
一例では、方法は、現実３次元（３Ｄ）画像についてのゼロ視差（zero disparity）平面までの距離を決定することと、ゼロ視差平面までの距離に少なくとも部分的に基づいて射影行列（projection matrix）に関する１つまたは複数のパラメータを決定することと、射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることと、混合リアリティ３Ｄ画像を生成するために現実画像と仮想オブジェクトとを組み合わせることとを含む。
【０００７】
別の例では、３次元（３Ｄ）ビデオデータを処理するためのシステムは、現実３Ｄ画像ソースであって、現実画像ソースが、キャプチャされた３Ｄ画像についてのゼロ視差平面までの距離を決定するように構成された、現実３Ｄ画像ソースと、ゼロ視差平面までの距離に少なくとも基づいて射影行列に関する１つまたは複数のパラメータを決定し、射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングするように構成された仮想画像ソースと、混合リアリティ３Ｄ画像を生成するために現実画像と仮想オブジェクトとを組み合わせるように構成された混合シーン合成ユニットとを含む。
【０００８】
別の例では、装置は、現実３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定するための手段と、ゼロ視差平面までの距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定するための手段と、射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングするための手段と、混合リアリティ３Ｄ画像を生成するために現実画像と仮想オブジェクトとを組み合わせるための手段とを含む。
【０００９】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装する場合、装置は、集積回路、プロセッサ、ディスクリート論理、またはそれらの任意の組合せとして実現され得る。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサで実行され得る。本技法を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサにロードされて実行され得る。
【００１０】
したがって、別の例では、非一時的コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに現実３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定することと、ゼロ視差平面までの距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定することと、射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることと、混合リアリティ３Ｄ画像を生成するために現実画像と仮想オブジェクトを組み合わせることとを行わせる１つまたは複数の命令を有形に記憶する。
【００１１】
本開示の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示の技法を実行するように構成された例示的なシステムを示すブロック図である。
【図２】本開示の技法による、ソースデバイスが宛先デバイスに３次元（３Ｄ）画像データを送る例示的なシステムを示すブロック図である。
【図３Ａ】ピクセルの深度に基づく正の視差値の例を示す概念図である。
【図３Ｂ】ピクセルの深度に基づくゼロ視差値の例を示す概念図である。
【図３Ｃ】ピクセルの深度に基づく負の視差値の例を示す概念図である。
【図４Ａ】現実シーンの立体視ビューを取得するための２カメラシステムと、得られる３Ｄ画像によって包含される視野との概念トップダウン図である。
【図４Ｂ】図４Ａに示したものと同じ２カメラシステムの概念側面図である。
【図５Ａ】仮想ディスプレイシーンの概念トップダウン図である。
【図５Ｂ】図５Ａに示したものと同じ仮想ディスプレイシーンの概念側面図である。
【図６】混合リアリティシーンをレンダリングするための３Ｄ視野角錐体（viewing frustum）を示す３Ｄ図である。
【図７】図６の視野角錐体の概念トップダウン図である。
【図８】本開示の技法を示す流れ図である。
【発明を実施するための形態】
【００１３】
３次元（３Ｄ）混合リアリティは、たとえば３Ｄカメラによってキャプチャされた現実３Ｄ画像またはビデオを、コンピュータまたは他の機械によってレンダリングされた仮想３Ｄ画像と組み合わせる。３Ｄカメラは、共通のシーンの２つの別個の画像（たとえば、左側および右側）を取得し、その２つの別個の画像を重畳して、３Ｄ深度効果をもつ現実画像を作成することができる。仮想３Ｄ画像は、一般に、カメラによって取得された画像から生成されるのではなく、ＯｐｅｎＧＬなどのコンピュータグラフィックスプログラムによって描かれる。現実３Ｄ画像と仮想３Ｄ画像の両方を組み合わせる混合リアリティシステムを用いると、ユーザは、コンピュータによって描かれた仮想オブジェクトと３Ｄカメラによってキャプチャされた現実オブジェクトの両方から構成された空間に没入しているように感じることができる。１ウェイ混合リアリティシーンの一例では、閲覧者（viewer）は、セールスマン（現実オブジェクト）がコンピュータ生成された仮想３Ｄ車（仮想オブジェクト）などの仮想オブジェクトと対話するショールームにおいて、そのセールスマンを見ることができる。２ウェイ混合リアリティシーンの一例では、チェスの仮想ゲームなどの仮想ゲームにおいて、第１のコンピュータのところの第１のユーザが第２のコンピュータのところの第２のユーザと対話し得る。２つのコンピュータは、互いに対して遠く離れた物理的ロケーションに位置し得るものであり、インターネットなど、ネットワークを介して接続され得る。３Ｄディスプレイ上では、第１のユーザは、コンピュータ生成されたチェスボードおよびチェスの駒（仮想オブジェクト）をもつ第２のユーザ（現実オブジェクト）の３Ｄビデオを見ることができ得る。異なる３Ｄディスプレイ上で、第２のユーザは、同じコンピュータ生成チェスボード（仮想オブジェクト）をもつ第１のユーザ（現実オブジェクト）の３Ｄビデオを見ることができ得る。
【００１４】
混合リアリティシステムでは、上述のように、仮想オブジェクトからなる仮想シーンのステレオディスプレイ視差は、現実オブジェクトからなる現実シーンのステレオディスプレイ視差に一致する必要がある。「視差」という用語は、概して、深度などの３Ｄ効果をもたらすべき、一方の画像（たとえば、左現実画像）中のピクセルの、他方の画像（たとえば、右現実画像）中の対応するピクセルに対する水平方向オフセットを表す。現実シーンと仮想シーンとの間の視差ずれ（disparity mismatch）は、現実シーンと仮想シーンとが混合リアリティシーンに組み合わされたときに望ましくない効果を引き起こすことがある。たとえば、仮想チェスゲームでは、視差ずれにより、混合シーン中のチェスボード（仮想オブジェクト）が、ユーザ（現実オブジェクト）の前にあるように見えるのではなく、部分的にユーザの後ろにあるように見えるようになるか、またはユーザの中に突き出るように見えるようになることがある。仮想チェスゲームにおける別の例としては、視差ずれにより、チェスの駒（仮想オブジェクト）が正しくないアスペクト比を有し、人間（現実オブジェクト）を備えた混合リアリティシーン中でひずんで見えるようになることがある。
【００１５】
仮想シーンと現実シーンとの視差を一致させることに加えて、現実シーンと仮想シーンとの射影スケールを一致させることも望ましい。射影スケールは、以下でより詳細に説明するように、概して、ディスプレイ平面上に射影されたときの画像のサイズおよびアスペクト比を指す。現実シーンと仮想シーンとの間の射影スケールのミスマッチにより、仮想オブジェクトが現実オブジェクトに対して大きすぎるまたは小さすぎるものになることがあり、または仮想オブジェクトが現実オブジェクトに対してひずんだ形状を有するようになることがある。
【００１６】
本開示の技法は、現実シーンの現実画像と仮想シーンの仮想画像との間の射影スケール一致を達成するためのアプローチと、現実シーンの現実画像と仮想シーンの仮想画像との間の視差スケール一致を達成するためのアプローチとを含む。本技法は、通信ネットワークのアップストリーム方向またはダウンストリーム方向のいずれかにおいて、すなわち、３Ｄ画像コンテンツの送信側または３Ｄ画像コンテンツの受信側のいずれかによって、計算効率の良い方法で適用され得る。既存のソリューションとは異なり、本開示の技法は、リアルタイムアプリケーションにおける現実シーンと仮想シーンとの間の正しい深度感覚を達成するためにディスプレイチェーンにおいても適用され得る。
【００１７】
本開示で使用する「視差」という用語は、概して、３Ｄ効果をもたらすような、一方の画像中のピクセルの、他方の画像中の対応するピクセルに対する水平方向オフセットを表す。本開示で使用する、対応するピクセルとは、概して、３Ｄ画像をレンダリングするために左画像と右画像とが合成されるときの３Ｄオブジェクト中の同じ点に関連するピクセル（左画像中のピクセルおよび右画像中のピクセル）を指す。
【００１８】
画像のステレオペアに関する複数の視差値は、視差マップと呼ばれるデータ構造中に記憶され得る。画像のステレオペアに関連する視差マップは、第１の画像中の所与の（ｘ，ｙ）座標における値ｄが、第２の画像中の対応するピクセルを見つけるために第２の画像中の座標（ｘ，ｙ）におけるピクセルに適用される必要があるｘ座標のシフトに対応するような、第１の画像中のピクセル座標（ｘ，ｙ）を視差値（ｄ）にマッッピングする２次元（２Ｄ）関数ｄ（ｘ，ｙ）を表す。たとえば、特定の例として、視差マップは、第１の画像中の座標（２５０，１５０）におけるピクセルについてのｄ値６を記憶し得る。この例では、ｄ値６が与えられると、第１の画像中の、クロマ値およびルミナンス値など、ピクセル（２５０，１５０）を表すデータが、第２の画像中のピクセル（２５６，１５０）において生じる。
【００１９】
図１は、本開示の態様を実装するための例示的なシステムであるシステム１１０を示すブロック図である。図１に示すように、システム１１０は、現実画像ソース１２２と、仮想画像ソース１２３と、混合シーン合成ユニット（ＭＳＳＵ：mixed scene synthesizing unit）１４５と、画像ディスプレイ１４２とを含む。ＭＳＳＵ１４５は、現実画像ソース１２２から現実画像を受信し、仮想画像ソース１２３から仮想画像を受信する。現実画像は、たとえば、３Ｄカメラによってキャプチャされた３Ｄ画像であり得、仮想画像は、たとえば、コンピュータ生成された３Ｄ画像であり得る。ＭＳＳＵ１４５は、現実オブジェクトと仮想オブジェクトの両方を含む混合リアリティシーンを生成し、混合リアリティシーンを画像ディスプレイ１４２に出力する。本開示の技法によれば、ＭＳＳＵ１４５は、現実画像に関する複数のパラメータを決定し、それらのパラメータに基づいて、仮想画像の射影スケールおよび視差が現実画像の射影スケールおよび視差に一致するような仮想画像を生成する。
【００２０】
図２は、本開示の諸態様を実装するための別の例示的なシステムであるシステム２１０を示すブロック図である。図２に示すように、システム２１０は、現実画像ソース２２２と、仮想画像ソース２２３と、視差処理ユニット２２４と、エンコーダ２２６と、送信機２２８とを備えるソースデバイス２２０を含むことができ、またさらに、画像ディスプレイ２４２と、現実ビュー合成ユニット２４４と、混合シーン合成ユニット（ＭＳＳＵ）２４５と、デコーダ２４６と、受信機２４８とを備える宛先デバイス２４０を含むことができる。図１および図２のシステムは、本開示の諸態様が実装され得る複数のタイプのシステムのうちの２つの例にすぎず、説明の目的で使用される。以下でより詳細に説明するように、本開示の諸態様を実装する代替システムでは、システム２１０の様々な要素は、別様に構成され、代替要素によって置き換えられ、または場合によっては完全に省略され得る。
【００２１】
図２の例では、宛先デバイス２４０は、ソースデバイス２２０から符号化画像データ２５４を受信する。ソースデバイス２２０および／または宛先デバイス２４０は、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、専用コンピュータ、スマートフォンなどのワイヤレス通信デバイス、または通信チャネルを介してピクチャおよび／またはビデオ情報を通信することができる任意のデバイスを備え得る。いくつかの事例では、単一のデバイスは、双方向通信をサポートするソースデバイスと宛先デバイスの両方であり得、したがってソースデバイス２２０と宛先デバイス２４０の両方の機能を含み得る。ソースデバイス２２０と宛先デバイス２４０との間の通信チャネルは、ワイヤードまたはワイヤレス通信チャネルを備えることができ、インターネットなどのネットワーク接続であり得、または直接通信リンクであり得る。宛先デバイス２４０は、３次元（３Ｄ）ディスプレイデバイスまたは３Ｄレンダリングデバイスと呼ばれることがある。
【００２２】
現実画像ソース２２２は、第１のビュー２５０と第２のビュー２５６とを含む画像のステレオペアを視差処理ユニット２２４に与える。視差処理ユニット２２４は、第１のビュー２５０と第２のビュー２５６とを使用して３Ｄ処理情報２５２を生成する。視差処理ユニット２２４は、３Ｄ処理情報２５２と、２つのビューのうちの１つ（図２の例では第１のビュー２５０）とをエンコーダ２２６に転送し、エンコーダ２２６は、第１のビュー２５０と３Ｄ処理情報２５２とを符号化して符号化画像データ２５４を形成する。エンコーダ２２６はまた、仮想画像ソース２２３からの仮想画像データ２５３を符号化画像データ２５４内に含める。送信機２２８は、符号化画像データ２５４を宛先デバイス２４０に送信する。
【００２３】
受信機２４８は、送信機２２８から符号化画像データ２５４を受信する。デコーダ２４６は、符号化画像データ２５４を復号して、第１のビュー２５０を抽出し、符号化画像データ２５４から３Ｄ処理情報２５２ならびに仮想画像データ２５３を抽出する。第１のビュー２５０および３Ｄ処理情報２５２に基づいて、ビュー合成ユニット２４４は第２のビュー２５６を再構築することができる。第１のビュー２５０および第２のビュー２５６に基づいて、現実ビュー合成ユニット２４４は現実３Ｄ画像をレンダリングすることができる。図１には示されていないが、第１のビュー２５０および第２のビュー２５６は、ソースデバイス２２０または宛先デバイス２４０のいずれかにおいて追加の処理を受け得る。したがって、いくつかの例では、ビュー合成ユニット２４４によって受信された第１のビュー２５０、または画像ディスプレイ２４２によって受信された第１のビュー２５０および第２のビュー２５６は、実際には、画像ソース２５６から受信された第１のビュー２５０および第２のビュー２５６の修正されたバージョンであり得る。
【００２４】
３Ｄ処理情報２５２は、たとえば、視差マップを含むことがあり、または視差マップに基づく深度情報を含んでいることがある。視差情報に基づいて深度情報を決定し、またその逆を行うための様々な技法が存在する。したがって、本開示で視差情報の符号化、復号、または送信について説明するときはいつでも、視差情報に基づく深度情報が符号化され、復号され、または送信され得ることも企図される。
【００２５】
現実画像ソース２２２は、画像センサアレイ、たとえば、デジタル静止ピクチャカメラもしくはデジタルビデオカメラ、１つまたは複数の記憶された画像を備えるコンピュータ可読記憶媒体、または外部ソースからデジタル画像を受信するためのインターフェースを含み得る。いくつかの例では、現実画像ソース２２２は、デスクトップ、ラップトップ、またはタブレットコンピュータなどのパーソナルコンピューティングデバイスの３Ｄカメラに対応し得る。仮想画像ソース２２３は、ビデオゲームまたは他の対話型マルチメディアソース、または画像データの他のソースを実行することなどによって、デジタル画像を生成する処理ユニットを含み得る。現実画像ソース２２２は、概して、キャプチャされた画像またはプリキャプチャされた画像のいずれか１つのタイプのソースに対応し得る。概して、本開示における画像への言及は、静止ピクチャとビデオデータのフレームの両方を含む。したがって、本開示の諸態様は、静止デジタルピクチャと、キャプチャされたデジタルビデオデータまたはコンピュータ生成されたデジタルビデオデータのフレームの両方に適用し得る。
【００２６】
現実画像ソース２２２は、画像２５０および２５６のステレオペアに関する画像データを、それらの画像間の視差値の計算のために視差処理ユニット２２４に与える。画像２５０および２５６のステレオペアは、第１のビュー２５０と第２のビュー２５６とを備える。視差処理ユニット２２４は、画像２５０および２５６のステレオペアに関する視差値を自動的に計算するように構成されることができ、この視差値は、３Ｄ画像中のオブジェクトに関する深度値を計算するために使用されることができる。たとえば、現実画像ソース２２２は、シーンの２つのビューを異なるパースペクティブでキャプチャし、次いで、決定された視差マップに基づいてシーン中のオブジェクトに関する深度情報を計算することができる。様々な例では、現実画像ソース２２２は、標準的な２次元カメラ、シーンの立体視ビューを与える２カメラシステム、シーンの複数のビューをキャプチャするカメラアレイ、または１つのビューと深度情報とをキャプチャするカメラを備えることができる。
【００２７】
現実画像ソース２２２は、複数のビュー（すなわち、第１のビュー２５０および第２のビュー２５６）を与えることができ、視差処理ユニット２２４は、これらの複数のビューに基づいて視差値を計算することができる。ソースデバイス２２０は、しかしながら、第１のビュー２５０と３Ｄ処理情報２５２（すなわち、視差マップ、または視差マップから決定されたシーンのビューの各ペアに関する深度情報）のみを送信し得る。たとえば、現実画像ソース２２２は、異なる角度から見られるシーンのビューの４つのペアを生成するように意図された、８カメラアレイを備え得る。ソースデバイス２２０は、ビューの各ペアに関する視差情報または深度情報を計算し、各ペアのただ１つの画像と、ペアに関する視差情報または深度情報とを宛先デバイス２４０に送信することができる。したがって、８つのビューを送信するのではなく、ソースデバイス２２０は、この例では、符号化画像データ２５４を含むビットストリームの形態で、４つのビューと、４つのビューの各々に関する深度／視差情報（すなわち、３Ｄ処理情報２５２）とを送信することができる。いくつかの例では、視差処理ユニット２２４は、ユーザから、または別の外部デバイスから、画像に関する視差情報を受信することができる。
【００２８】
視差処理ユニット２２４は、第１のビュー２５０と３Ｄ処理情報２５２とをエンコーダ２２６に渡す。３Ｄ処理情報２５２は、画像２５０および２５６のステレオペアに関する視差マップを備え得る。エンコーダ２２６は、第１のビュー２５０と３Ｄ処理情報２５２と仮想画像データ２５３とに関する符号化画像データを含む、符号化画像データ２５４を形成する。いくつかの例では、エンコーダ２２６は、符号化画像データ２５４をソースデバイス２２０から宛先デバイス２４０に送信するために必要とされるビット数を低減するために、様々なロスレス（lossless）またはロッシー（lossy）コーディング技法を適用し得る。エンコーダ２２６は、符号化画像データ２５４を送信機２２８に渡す。
【００２９】
第１のビュー２５０がデジタル静止ピクチャであるときには、エンコーダ２２６は、たとえば、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＪＰＥＧ）画像として第１のビュー２５０を符号化するように構成されることができる。第１のビュー２５０がビデオデータのフレームであるときには、エンコーダ２２６は、たとえば、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）、ＭＰＥＧ−２、国際電気通信連合（ＩＴＵ）Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｈ．２６４  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、ＩＴＵ−ＴＨ．２６５と呼ばれることもある新生のＨＥＶＣ規格、または他のビデオ符号化規格などのビデオコーディング規格に従って第１のビュー２５０を符号化するように構成されることができる。たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、概してＨ．２６４規格に準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書では、Ｈ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。新生のＨＥＶＣ規格など、新しいビデオコーディング規格が発展し、出現し続けている。本開示で説明する技法は、Ｈ．２６４などの現世代の規格と、新生のＨＥＶＣ規格などの将来世代の規格の両方と互換性があり得るものである。
【００３０】
視差処理ユニット２２４は、視差マップの形態で３Ｄ処理情報２５２を生成することができる。エンコーダ２２６は、符号化画像データ２５４としてビットストリームで送信される３Ｄコンテンツの一部として視差マップを符号化するように構成され得る。このプロセスは、１つのキャプチャされたビューに関する１つの視差マップ、またはいくつかの送信されたビューに関する視差マップを生成することができる。エンコーダ２２６は、１つまたは複数のビューと視差マップとを受信し、複数のビューをジョイントコーディングすることができるＨ．２６４またはＨＥＶＣ、または深度とテクスチャとをジョイントコーディングすることができるスケーラブルビデオコーディング（ＳＶＣ）のようなビデオコーディング規格を用いて、該１つまたは複数のビューと視差マップとをコーディングすることができる。
【００３１】
上記のように、画像ソース２２２は、３Ｄ処理情報２５２を生成する目的で、視差処理ユニット２２４に同じシーンの２つのビューを与えることができる。そのような例では、エンコーダ２２６は、３Ｄ処理情報２５６とともにビューのうちの１つのみを符号化することができる。概して、ソースデバイス２２０は、３Ｄ処理情報２５２とともに第１の画像２５０を宛先デバイス２４０などの宛先デバイスに送るように構成され得る。視差マップまたは深度マップとともにただ１つの画像を送ることにより、そうでなければ３Ｄ画像を生成するためにシーンの２つの符号化ビューを送る結果として生じ得る、帯域幅消費量を低減し、および／または記憶スペースの使用量を低減することができる。
【００３２】
送信機２２８は、符号化画像データ２５４を含むビットストリームを宛先デバイス２４０の受信機２４８に送ることができる。たとえば、送信機２２８は、トランスポートレベルカプセル化技法、たとえば、ＭＰＥＧ−２システム技法を使用して、ビットストリーム中の符号化画像データ２５４をカプセル化することができる。送信機２２８は、たとえば、ネットワークインターフェース、ワイヤレスネットワークインターフェース、無線周波数送信機、送信機／受信機（トランシーバ）、または他の送信ユニットを備え得る。他の例では、ソースデバイス２２０は、符号化画像データ２５４を含むビットストリームを、たとえば、コンパクトディスクなどの光ストレージ媒体、デジタルビデオディスク、ブルーレイ（登録商標）ディスク、フラッシュメモリ、磁気媒体、または他の記憶媒体などの物理媒体に記憶するように構成され得る。そのような例では、記憶媒体は、宛先デバイス２４０のロケーションに物理的に移送され、データを取り出すために適切なインターフェースユニットによって読み取られ得る。いくつかの例では、符号化画像データ２５４を含むビットストリームは、送信機２２８によって送信される前に変調器／復調器（モデム）によって変調され得る。
【００３３】
符号化画像データ２５４をもつビットストリームを受信し、そのデータをカプセル化解除した後、いくつかの例では、受信機２４８は、符号化画像データ２５４をデコーダ２４６に（または、いくつかの例では、ビットストリームを復調するモデムに）与えることができる。デコーダ２４６は、符号化画像データ２５４から、第１のビュー２５０と、３Ｄ処理情報２５２と、仮想画像データ２５３とを復号する。たとえば、デコーダ２４６は、３Ｄ処理情報２５２から第１のビュー２５０と第１のビュー２５０に関する視差マップとを再現することができる。視差マップの復号後、送信されていない他のビューに関するテクスチャを生成するためにビュー合成アルゴリズムが実装され得る。デコーダ２４６はまた、第１のビュー２５０と３Ｄ処理情報２５２とを現実ビュー合成ユニット２４４に送ることができる。現実ビュー合成ユニット２４４は、第１のビュー２５０と３Ｄ処理情報２５２とに基づいて第２のビュー２５６を再現する。
【００３４】
概して、ヒューマンビジョンシステム（ＨＶＳ）は、オブジェクトに対する収束角に基づいて深度を知覚する。閲覧者に比較的近いオブジェクトは、閲覧者から比較的遠いオブジェクトよりも大きい角度で閲覧者の眼がオブジェクトに収束することにより、閲覧者により近いと知覚される。ピクチャおよびビデオなどのマルチメディアにおいて３次元をシミュレートするために、２つの画像、すなわち、閲覧者の眼の各々に対して１つの画像（左側および右側）が、閲覧者に表示される。画像内の同じ空間ロケーションに位置するオブジェクトは、概して、画像が表示されているスクリーンと同じ深度にあるものとして知覚される。
【００３５】
深度の錯覚を生み出すために、オブジェクトは、水平軸に沿って画像の各々におけるわずかに異なる位置に示され得る。２つの画像におけるオブジェクトのロケーション間の差は、視差と呼ばれる。概して、オブジェクトが、スクリーンに対して、閲覧者のより近くに見えるようにするために、負の視差値が使用されることができ、オブジェクトがスクリーンに対してユーザからより遠くに見えるようにするために、正の視差値が使用されることができる。正または負の視差をもつピクセルは、いくつかの例では、焦点からの正または負の深度の効果をさらに生み出すために、シャープネスまたはぼけ度を増加または減少させるように、より高いまたはより低い解像度で表示され得る。
【００３６】
ビュー合成は、任意のビューアングルでビューを生成するために密にサンプリングされたビューを使用するサンプリング問題と見なされ得る。しかしながら、実際の適用例では、密にサンプリングされたビューによって必要とされる記憶または送信帯域幅は、比較的大きいものとなり得る。したがって、疎にサンプリングされたビューとそれらの深度マップとに基づくビュー合成に関する研究が行われている。詳細は異なるが、疎にサンプリングされたビューに基づくアルゴリズムは、ほとんど３Ｄワーピングに基づいている。３Ｄワーピングでは、深度とカメラモデルとが与えられると、リファレンスビューのピクセルが最初に２Ｄカメラ座標から世界座標における点Ｐに逆射影され得る。点Ｐは、次いで、宛先ビュー（生成されるべき仮想ビュー）に射影され得る。世界座標における同じオブジェクトの異なる射影に対応する２つのピクセルは、同じ色強度を有し得る。
【００３７】
現実ビュー合成ユニット２４４は、画像のオブジェクト（たとえば、ピクセル、ブロック、ピクセルのグループ、またはブロックのグループ）に関する視差値を、オブジェクトに関する深度値に基づいて計算するように構成されることができ、または符号化画像データ２５４をもつビットストリーム中で符号化された視差値を受信することができる。現実ビュー合成ユニット２４４は、視差値を使用して第１のビュー２５０から第２のビュー２５６を生成することができ、これにより、閲覧者が一方の眼で第１のビュー２５０を見て、他方の眼で第２のビュー２５６を見るときに３次元効果が生み出される。現実ビュー合成ユニット２４４は、第１のビュー２５０と第２のビュー２５６とを、画像ディスプレイ２４２上に表示されるべき混合リアリティシーン中に含まれるように、ＭＳＳＵ２４５に渡すことができる。
【００３８】
画像ディスプレイ２４２は、立体視ディスプレイまたは裸眼立体視ディスプレイを備えることができる。概して、立体視ディスプレイは、２つの画像を表示することによって３次元をシミュレートする。閲覧者は、１つの画像を一方の眼に、第２の画像を他方の眼に向けるために、ゴーグルまたは眼鏡などの頭部装着型ユニットを着用することができる。いくつかの例では、各画像は、たとえば、偏光眼鏡またはカラーフィルタ処理眼鏡を使用して、同時に表示される。いくつかの例では、画像は、高速で交互に入れ替えられ、眼鏡またはゴーグルは、正しい画像が対応する眼のみに示されるように、ディスプレイと同期して、高速にシャッタリングを交互に入れ替える。裸眼立体視ディスプレイは、眼鏡を使用せず、代わりに、正しい画像を閲覧者の対応する眼に向けることができる。たとえば、裸眼立体視ディスプレイは、閲覧者の眼がどこに位置するかを決定するためのカメラと、閲覧者の眼に画像を向けるための機械的手段および／または電子的手段とを備えることができる。画像を分離し、および／または画像をユーザの異なる眼に向けるために、カラーフィルタ処理技法、偏光フィルタ処理技法、または他の技法も使用され得る。
【００３９】
現実ビュー合成ユニット２４４は、閲覧者に対して、スクリーンの後ろ、スクリーン、およびスクリーンの前、に関する深度値を用いて構成され得る。現実ビュー合成ユニット２４４は、符号化画像データ２５４中に表されたオブジェクトの深度を視差値にマッピングする関数を用いて構成され得る。したがって、現実ビュー合成ユニット２４４は、オブジェクトに関する視差値を計算するために関数のうちの１つを実行することができる。３Ｄ処理情報２５２に基づいて第１のビュー２５０のオブジェクトに関する視差値を計算した後に、現実ビュー合成ユニット２４４は、第１のビュー２５０と視差値とから第２のビュー２５６を生成することができる。
【００４０】
現実ビュー合成ユニット２４４は、スクリーンの前または後ろに最大深度でオブジェクトを表示するための最大視差値を用いて構成されることができる。このようにして、現実ビュー合成ユニット２４４は、ゼロ視差値から最大の正および負の視差値までの視差範囲を用いて構成されることができる。閲覧者は、宛先デバイス２４０によってオブジェクトが表示されるスクリーンの前または後ろの最大深度を変更するように設定を調節することができる。たとえば、宛先デバイス２４０は、閲覧者が操作し得る遠隔制御ユニットまたは他の制御ユニットと通信し得る。遠隔制御は、オブジェクトを表示すべきスクリーンの前の最大深度およびスクリーンの後ろの最大深度を閲覧者が制御できるようにするユーザインターフェースを備え得る。このようにして、閲覧者は、閲覧経験（viewing experience）を改善するために画像ディスプレイ２４２に関する設定パラメータを調節することが可能である。
【００４１】
スクリーンの前およびスクリーンの後ろにオブジェクトが表示されるように最大視差値を設定することによって、ビュー合成ユニット２４４は、比較的単純な計算を使用して３Ｄ処理情報２５２に基づいて視差値を計算することが可能である。たとえば、ビュー合成ユニット２４４は、深度値を視差値にマッピングする関数を適用するように構成されることができる。該関数は、収束深度間隔における深度値を有するピクセルがゼロの視差値にマッピングされ、スクリーンの前の最大深度にあるオブジェクトが最小の（負の）視差値にマッピングされ、したがってスクリーンの前にあるように示され、また、最大深度にあり、したがってスクリーンの後ろにあるように示されるオブジェクトがスクリーンの後ろに関する最大の（正の）視差値にマッピングされるような、深度と対応する視差値範囲内の１つの視差値との間の線形関係を備え得る。
【００４２】
現実世界座標に関する一例では、深度範囲は、たとえば［２００，１０００］であり得、収束深度距離は、たとえば約４００であり得る。この場合、スクリーンの前の最大深度は２００に対応し、スクリーンの後ろの最大深度は１０００であり、収束深度間隔は、たとえば［３９５，４０５］であり得る。しかしながら、現実世界座標系における深度値は、利用可能でないことがあり、または、たとえば、８ビット値（０〜２５５に及ぶ）であり得る、より小さいダイナミックレンジに量子化され得る。いくつかの例では、値が０〜２５５であるそのような量子化深度値は、深度マップが格納もしくは送信されるとき、または深度マップが推定されるときのシナリオにおいて使用され得る。一般的な深度画像ベースレンダリング（ＤＩＢＲ）プロセスは、視差が計算される前に、低ダイナミックレンジ量子化深度マップを現実世界深度マップ中のマップに変換することを含み得る。従来は、より小さい量子化深度値が、現実世界座標中のより大きい深度値に対応することに留意されたい。しかしながら、本開示の技法では、この変換を実行することが不要であり、したがって、現実世界座標中の深度範囲、または量子化深度値から現実世界座標中の深度値への変換関数を知ることが不要である。例示的な視差範囲［−ｄｉｓn，ｄｉｓp］について考えると、量子化深度範囲が、（０であり得る）ｄminから（２５５であり得る）ｄmaxまでの値を含むときには、深度値ｄminはｄｉｓpにマッピングされ、（２５５であり得る）深度値ｄmaxは−ｄｉｓnにマッピングされる。この例ではｄｉｓnが正であることに留意されたい。収束深度マップ間隔が［ｄ0−δ，ｄ0＋δ］であると仮定した場合、この間隔中の深度値は視差ゼロにマッピングされる。概して、本開示において、「深度値」という句は、低ダイナミックレンジ［ｄmin，ｄmax］における値を指す。δ値は、許容値と呼ばれることもあり、各方向で同じである必要はない。すなわち、ｄ0は、第１の許容差値δ1と、潜在的に異なる第２の許容差値δ2とによって修正されることができ、その結果、［ｄ0−δ2，ｄ0＋δ1］は、ゼロ視差値にすべてマッピングされ得る様々な深度値を表すことができる。このようにして、宛先デバイス２４０は、たとえば、焦点距離、仮定されたカメラパラメータ、および現実世界の深度範囲値などの追加の値を考慮する、より複雑な手順を用いることなく、視差値を計算することができる。
【００４３】
システム２１０は、本開示に合致する１つの例示的な構成にすぎない。上記で説明したように、本開示の技法はソースデバイス２２０または宛先デバイス２４０によって実行され得る。いくつかの代替構成では、たとえば、ＭＳＳＵ２４５の機能の一部は、宛先デバイス２４０の代わりにソースデバイス２２０のところにあることができる。そのような構成では、仮想画像ソース２２３は、実際の仮想３Ｄ画像に対応する仮想画像データ２２３を生成するために本開示の技法を実装し得る。他の構成では、宛先デバイス２４０のＭＳＳＵ２４５が仮想３Ｄ画像をレンダリングすることができるように、仮想画像ソース２２３は、３Ｄ画像を記述するデータを生成することができる。さらに、他の構成では、ソースデバイス２２０は、１つの画像と視差マップとを送信するのではなく、現実画像２５０および２５６を直接、宛先デバイス２４０に送信することができる。さらに他の構成では、ソースデバイス２２０は、混合リアリティシーンを生成し、その混合リアリティシーンを宛先デバイスに送信することができる。
【００４４】
図３Ａ〜図３Ｃは、ピクセルの深度に基づく、正の視差値、ゼロの視差値、および負の視差値の例を示す概念図である。概して、３次元効果を作り出すために、２つの画像が、たとえば、スクリーン上に示される。スクリーンの前または後ろのいずれかに表示されるべきオブジェクトのピクセルは、それぞれ正または負の視差値を有しており、スクリーンの深度のところに表示されるべきオブジェクトは、ゼロの視差値を有する。いくつかの例では、たとえば、ユーザが頭部装着型ゴーグルを着用したときには、「スクリーン」の深度は、共通の深度ｄ0に対応し得る。
【００４５】
図３Ａ〜図３Ｃは、スクリーン３８２が、同時に、または高速で連続的に、左画像３８４と右画像３８６とを表示する例を示す。図３Ａは、スクリーン３８２の後ろに（または内部に）生じるものとしてピクセル３８０Ａを示す。図３Ａの例では、スクリーン３８２は、左画像ピクセル３８８Ａと右画像ピクセル３９０Ａとを表示し、ここで、左画像ピクセル３８８Ａおよび右画像ピクセル３９０Ａは、一般に、同じオブジェクトに対応し、したがって、同様のまたは同一のピクセル値を有し得る。いくつかの例では、たとえば、わずかに異なる角度からオブジェクトを見るときに生じ得る照度または色差におけるわずかな変化を考慮するために、左画像ピクセル３８８Ａと右画像ピクセル３９０Ａとに関するルミナンス値およびクロミナンス値は、３次元閲覧経験をさらに改善するためにわずかに異なり得る。
【００４６】
この例では、左画像ピクセル３８８Ａの位置は、スクリーン３８２によって表示されたとき、右画像ピクセル９０Ａの左側に生じる。すなわち、左画像ピクセル３８８Ａと右画像ピクセル３９０Ａとの間に正の視差がある。視差値がｄであり、左画像ピクセル３９２Ａが左画像３８４中の水平位置ｘのところに生じ、左画像ピクセル３９２Ａが左画像ピクセル３８８Ａに対応すると仮定すると、右画像ピクセル３９４Ａは、右画像３８６中の水平位置ｘ＋ｄのところに生じ、右画像ピクセル３９４Ａは右画像ピクセル３９０Ａに対応する。この正の視差により、ユーザの左眼が左画像ピクセル８８Ａに焦点を合わせ、ユーザの右眼が右画像ピクセル３９０Ａに焦点を合わせるときに、閲覧者の眼は、スクリーン３８２の比較的後ろにある点に収束し、ピクセル８０Ａがスクリーン３８２の後ろにあるように見える錯覚を生み出す。
【００４７】
左画像３８４は、図２に示した第１の画像２５０に対応し得る。他の例では、右画像３８６が第１の画像２５０に対応し得る。図３Ａの例において正の視差値を計算するために、現実ビュー合成ユニット２４４は、左画像３８４と、スクリーン３８２の後ろの左画像ピクセル３９２Ａの深度位置を示す左画像ピクセル３９２Ａに関する深度値とを受信することができる。現実ビュー合成ユニット２４４は、左画像３８４をコピーして右画像３８６を形成し、右画像ピクセル３９４Ａの値を、左画像ピクセル３９２Ａの値に合致または類似するように変更することができる。すなわち、右画像ピクセル３９４Ａは、左画像ピクセル３９２Ａと同じまたは同様のルミナンス値および／またはクロミナンス値を有し得る。したがって、画像ディスプレイ２４２に対応し得るスクリーン３８２は、ピクセル３８０Ａがスクリーン３８２の後ろに生じるという効果を生み出すために、左画像ピクセル３８８Ａと右画像ピクセル３９０Ａとを、実質的に同時に、または高速で連続的に、表示することができる。
【００４８】
図３Ｂは、ピクセル３８０Ｂがスクリーン３８２の深度のところに描かれる一例を示す。図３Ｂの例では、スクリーン３８２は、左画像ピクセル３８８Ｂと右画像ピクセル３９０Ｂとを同じ位置に表示する。すなわち、この例では、左画像ピクセル３８８Ｂと右画像ピクセル３９０Ｂとの間にゼロ視差がある。左画像３８４中の（スクリーン３８２によって表示される左画像ピクセル３８８Ｂに対応する）左画像ピクセル３９２Ｂが水平位置ｘのところに生じると仮定すると、（スクリーン３８２によって表示される右画像ピクセル３９０Ｂに対応する）右画像ピクセル３９４Ｂも、右画像３８６中の水平位置ｘのところに生じる。
【００４９】
現実ビュー合成ユニット２４４は、左画像ピクセル３９２Ｂに関する深度値が、スクリーン３８２の深度に等しい深度ｄ0のところにある、またはスクリーン３８２の深度から小さい距離δ内にあると決定し得る。したがって、現実ビュー合成ユニット２４４は、左画像ピクセル３９２Ｂにゼロの視差値を割り当て得る。左画像３８４と視差値とから右画像３８６を構築するときには、現実ビュー合成ユニット２４４は、右画像ピクセル３９４Ｂの値を左画像ピクセル３９２Ｂと同じままにし得る。
【００５０】
図３Ｃは、スクリーン３８２の前にあるピクセル３８０Ｃを示す。図３Ｃの例では、スクリーン３８２は、左画像ピクセル３８８Ｃを、右画像ピクセル３９０Ｃの右側に表示する。すなわち、この例では、左画像ピクセル３８８Ｃと右画像ピクセル３９０Ｃとの間に負の視差がある。したがって、ユーザの眼は、スクリーン３８２の前の位置に収束し、ピクセル３８０Ｃがスクリーン３８２の前にあるように見える錯覚を生み出す。
【００５１】
現実ビュー合成ユニット２４４は、左画像ピクセル３９２Ｃに関する深度値がスクリーン３８２の前である深度のところにあると決定し得る。したがって、現実ビュー合成ユニット２４４は、左画像ピクセル３９２Ｃの深度を負の視差値−ｄにマッピングする関数を実行し得る。次いで、現実ビュー合成ユニット２４４は、左画像３８４と負の視差値とに基づいて、右画像３８６を構築し得る。たとえば、右画像３８６を構築するときには、左画像ピクセル３９２Ｃが水平位置ｘを有すると仮定すると、現実ビュー合成ユニット２４４は、右画像３８６中の水平位置ｘ−ｄのところにあるピクセル（すなわち、右画像ピクセル３９４Ｃ）の値を、左画像ピクセル３９２Ｃの値に変更し得る。
【００５２】
現実ビュー合成ユニット２４４は、第１のビュー２５０および第２のビュー２５６をＭＳＳＵ２４５に送信する。ＭＳＳＵ２４５は、現実３Ｄ画像を作り出すために第１のビュー２５０と第２のビュー２５６とを組み合わせる。ＭＳＳＵ２４５はまた、画像ディスプレイ２４２によるディスプレイのための混合リアリティ３Ｄ画像を生成するために、仮想画像データ２５３に基づいて現実３Ｄ画像に仮想３Ｄオブジェクトを追加する。本開示の技法によれば、ＭＳＳＵ２４５は、現実３Ｄ画像から抽出されたパラメータのセットに基づいて仮想３Ｄオブジェクトをレンダリングする。
【００５３】
図４Ａは、現実シーンの立体視ビューを取得するための２カメラシステムと得られた３Ｄ画像によって包含された視野とのトップダウン図を示し、図４Ｂは、図４Ａに示した同じ２カメラシステムの側面図を示す。２カメラシステムは、たとえば、図１中の現実画像ソース１２２または図２中の現実画像ソース２２２に対応し得る。Ｌ’は２カメラシステムについての左カメラ位置を表し、Ｒ’は２カメラシステムについての右カメラ位置を表す。Ｌ’およびＲ’のところに位置するカメラは、上記で説明した第１のビューと第２のビューとを取得することができる。Ｍ’はモノスコープカメラ位置を表し、Ａは、Ｍ’とＬ’との間の距離ならびにＭ’とＲ’との間の距離を表す。したがって、Ｌ’とＲ’との間の距離は２＊Ａである。
【００５４】
Ｚ’はゼロ視差平面（ＺＤＰ）までの距離を表す。ＺＤＰのところにある点は、ディスプレイ上にレンダリングされたときには、ディスプレイ平面上にあるように見える。ＺＤＰの後ろの点は、ディスプレイ上にレンダリングされたときにはディスプレイ平面の後ろにあるように見え、ＺＤＰの前の点は、ディスプレイ上にレンダリングされたときにはディスプレイ平面の前にあるように見える。Ｍ’からＺＤＰまでの距離は、レーザ測距器（rangefinder）、赤外線測距器、または他のそのような距離測定ツールを使用するカメラによって測定されることができる。いくつかの動作環境では、Ｚ’の値は、測定される必要のない既知の値であり得る。
【００５５】
写真撮影では、画角（ＡＯＶ：angle of view）という用語は、一般に、カメラによって画像化される所与のシーンの角度範囲を表すために使用される。ＡＶＯは、しばしば、視野（ＦＯＶ：field of view）というより一般的な用語と互換的に使用される。カメラについての水平方向画角（θ’h）は、特定のカメラについてのセットアップに基づく既知の値である。カメラセットアップによってキャプチャされるＺＤＰの幅の半分を表すＷ’の値は、θ’hの既知の値とＺ’の決定された値とに基づいて、次のように計算される。  
【数１】
0005654138.tif 000002
【００５６】
カメラによってキャプチャされるＺＤＰの高さの半分を表すＨ’の値は、カメラに関する既知のパラメータである所与のアスペクト比を使用して、次のように決定される。  
【数２】
0005654138.tif 000003
【００５７】
したがって、カメラセットアップの垂直方向画角（θ’v）は、次のように計算される。  
【数３】
0005654138.tif 000004
【００５８】
図５Ａは、仮想ディスプレイシーンのトップダウン概念図を示し、図５Ｂは、同じ仮想ディスプレイシーンの側面図を示す。図５Ａおよび図５Ｂにおいてディスプレイシーンを表すパラメータは、図４Ａおよび図４Ｂの現実シーンについて決定されたパラメータに基づいて選択される。具体的には、仮想シーンの水平方向ＡＯＶ（θh）は、現実シーンの水平方向ＡＯＶ（θ’h）に一致するように選択され、仮想シーンの垂直方向ＡＯＶ（θv）は現実シーンの垂直方向ＡＯＶ（θ’v）に一致するように選択され、仮想シーンのアスペクト比（Ｒ）は、現実シーンのアスペクト比（Ｒ’）に一致するように選択される。仮想シーンが現実シーンと同じ閲覧量を有するように、また、仮想オブジェクトがレンダリングされるときに視覚ひずみがないように、仮想ディスプレイシーンの視野は、カメラによって取得された現実３Ｄ画像の視野に一致するように選ばれる。
【００５９】
図６は、混合リアリティシーンをレンダリングするための３Ｄ視野角錐体を示す３Ｄ図である。３Ｄ視野角錐体は、３Ｄグラフィックスを生成するためのアプリケーションプログラムインターフェース（ＡＰＩ）によって定義され得る。Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ（ＯｐｅｎＧＬ）は、たとえば、３Ｄコンピュータグラフィックスを生成するために使用される１つの共通のクロスプラットフォームＡＰＩである。ＯｐｅｎＧＬにおける３Ｄ視野角錐体は、図６に示す６つのパラメータ（左境界（ｌ）、右境界（ｒ）、上部境界（ｔ）、下部境界（ｂ）、Ｚnear、およびＺfar）によって定義され得る。ｌパラメータ、ｒパラメータ、ｔパラメータ、およびｂパラメータは、上記で決定された水平ＡＯＶおよび垂直ＡＯＶを使用して以下のように決定される。  
【数４】
0005654138.tif 000005
【数５】
0005654138.tif 000006
【００６０】
ｌの値およびｔの値を決定するために、Ｚnearの値が決定される必要がある。ＺnearおよびＺfarは、以下の制約を満たすように選択される。  
【数６】
0005654138.tif 000007
【００６１】
以上で決定されたＷの値とθhの値とを使用して、ＺZDPの値が、以下のように決定される。  
【数７】
0005654138.tif 000008
【００６２】
ＺZDPの値を決定した後、ＺnearおよびＺfarの値が、仮想ディスプレイ平面に対応する、現実シーンのニア（near）およびファー（far）クリッピング平面に基づいて選ばれる。ＺＤＰが、たとえばディスプレイ上にある場合、ＺＤＰは、閲覧者からディスプレイまでの距離に等しい。ＺfarとＺnearとの間の比が、深度バッファの非線形性問題により深度バッファ精度に影響を及ぼすことがあるが、深度バッファは、通常、ニア平面に近い領域においてより高い精度を有し、ファー平面に近い領域においてより低い精度を有する。この精度変化は、閲覧者により近いオブジェクトの画質を改善し得る。したがって、ＺnearおよびＺfarの値は、以下のように選択される。  
【数８】
0005654138.tif 000009
【数９】
0005654138.tif 000010
【００６３】
他の、ＣZnおよびＣZfの値が、また、システム設計者およびシステムユーザの選好に基づいて選択され得る。Ｚnearの値とＺfarの値とを決定した後、ｌの値およびｔの値が、上記の式（４）および式（５）を使用して決定されることができる。ｒの値およびｂの値は、それぞれ、ｌの負数およびｔの負数であり得る。ＯｐｅｎＧＬ角錐体パラメータが導出される。したがって、ＯｐｅｎＧＬ射影行列は、以下のように導出される。  
【数１０】
0005654138.tif 000011
【００６４】
上記の射影行列を使用して、シーン中の仮想オブジェクトの射影スケールがシーン中の現実オブジェクトの射影スケールと一致する、混合リアリティシーンが、レンダリングされることができる。上記の式４および式５に基づいて、以下であることがわかる。  
【数１１】
0005654138.tif 000012
【数１２】
0005654138.tif 000013
【００６５】
射影スケール一致に加えて、本開示の諸態様は、現実３Ｄ画像と仮想３Ｄ画像との間の視差スケールを一致させることをさらに含む。再び図４を参照すると、現実画像の視差は、以下のように決定される。  
【数１３】
0005654138.tif 000014
【００６６】
前述のように、Ａの値は、使用された３Ｄカメラに基づいて既知であり、Ｚ’の値は、既知であるかまたは測定され得る。Ｎ’の値およびＦ’の値は、それぞれ、上記で決定されたＺnearの値およびＺfarの値に等しい。仮想３Ｄ画像の視差スケールを現実３Ｄ画像に一致させるために、仮想画像のニア平面視差（ｄN）は、ｄ’Nに等しく設定され、仮想画像のファー平面視差（ｄF）は、ｄ’Fに等しく設定される。仮想画像に関する両眼間隔値（eye separation value）（Ｅ）を決定するためには、以下のいずれかの式を解くことができる：  
【数１４】
0005654138.tif 000015
【００６７】
例としてニア平面視差（ｄN）を使用する。  
【数１５】
0005654138.tif 000016
【００６８】
したがって、式１３は、ニア視差平面の場合、以下のようになる：  
【数１６】
0005654138.tif 000017
【００６９】
次に、現実世界座標が、画像平面ピクセル座標にマッピングされる必要がある。３Ｄカメラのカメラ解像度がＷ’P×Ｈ’Pであることがわかっていると仮定すると、ニア平面視差は、以下のようになる：  
【数１７】
0005654138.tif 000018
【００７０】
閲覧者空間視差をグラフィックス座標からディスプレイピクセル座標にマッピングすると、ディスプレイ解像度は、Ｗp×Ｈpであり、ここで、以下のとおりである：  
【数１８】
0005654138.tif 000019
【００７１】
ｄ’Np＝ｄNpの視差の等式、およびディスプレイからキャプチャされた画像への以下のスケーリング比（Ｓ）を使用すると：  
【数１９】
0005654138.tif 000020
【００７２】
ＯｐｅｎＧＬにおいて閲覧者ロケーションを決定するために使用され得る両眼間隔値は、以下のように決定される：  
【数２０】
0005654138.tif 000021
【００７３】
両眼間隔値は、仮想３Ｄ画像を生成するためのＯｐｅｎＧＬ関数呼び出しで使用されるパラメータである。
【００７４】
図７は、図６の視野角錐体のような視野角錐体のトップダウン図を示す。ＯｐｅｎＧＬでは、視野角錐体内のすべての点は、通常、ニアクリッピング平面（たとえば、図７に図示）上に射影され、次いで、ビューポートスクリーン座標にマッピングされる。左ビューポートと右ビューポートの両方を動かすことによって、シーンのうちの特定の部分の視差を変えることができる。これにより、ＺＤＰ調整およびビュー深度調整の両方が達成されることができる。ひずみのないステレオビューを維持するために、左ビューポートと右ビューポートの両方が、同じ距離の量だけ対称的に反対方向にシフトされることができる。図７は、左ビューポートが少量の距離だけ左にシフトされ、右ビューポートが同じ量の距離だけ右にシフトされるときのビュー空間ジオメトリを示す。線７０１ａおよび線７０１ｂは、元の左ビューポート構成を表し、線７０２ａおよび７０２ｂ線は、変更された左ビューポート構成を表す。線７０３ａおよび線７０３ｂは、元の右ビューポート構成を表し、線７０４ａおよび線７０４ｂは、変更された右ビューポート構成を表す。Ｚobjは、ビューポートのシフト前のオブジェクト距離を表し、Ｚ’objは、ビューポートのシフト後のオブジェクト距離を表す。ＺZDPは、ビューポートのシフト前のゼロ視差平面距離を表し、Ｚ’ZDPは、ビューポートのシフト後のゼロ視差平面距離を表す。Ｚnearはニアクリッピング平面距離を表し、Ｅは上記で決定された両眼間隔値を表す。点Ａはビューポートのシフト前のオブジェクト深度位置であり、点Ａ’はビューポートのシフト後のオブジェクト深度位置である。
【００７５】
ビューポートをシフトすることの深度変化の数学的関係は、以下のように導出され、Δはオブジェクトの投影ビューポートサイズの半分であり、ＶＰsはビューポートがシフトされた量である。点Ａ、点Ａ’ならびに左眼および右眼の位置の三角法に基づいて、式（２０）および式（２１）が導出される。  
【数２１】
0005654138.tif 000022
【数２２】
0005654138.tif 000023
【００７６】
ビューポートのシフト後の閲覧者空間におけるオブジェクト距離を導出するために、次のように、式（２０）および式（２１）が組み合わされることができる。  
【数２３】
0005654138.tif 000024
【００７７】
式（２２）に基づいて、閲覧者空間における新しいＺＤＰ位置が次のように導出される。  
【数２４】
0005654138.tif 000025
【００７８】
Ｚ’ZDPを使用すると、新しい射影行列が、ＺnearおよびＺfarの新しい値を使用して生成されることができる。
【００７９】
図８は、本開示の技法を示す流れ図である。技法について、図２のシステム２１０に関連して説明するが、技法は、そのようなシステムに限定されない。現実画像ソース２２２が、キャプチャされた現実３Ｄ画像について、ゼロ視差平面までの距離を決定することができる（８１０）。ＭＳＳＵ２４５が、ゼロ視差平面までの距離に基づいて、射影行列に関する１つまたは複数のパラメータを決定することができる（８２０）。ＭＳＳＵ２４５が、ゼロ視差平面までの距離に基づいて、仮想画像に関する両眼間隔値も決定することができる（８３０）。射影行列と両眼間隔値とに少なくとも部分的に基づいて、仮想３Ｄオブジェクトがレンダリングされることができる（８４０）。上記で説明したように、射影行列の決定および仮想３Ｄオブジェクトのレンダリングは、ソースデバイス２２０など、ソースデバイスによって、または、宛先デバイス２４０など、宛先デバイスによって実行されることができる。ＭＳＳＵ２４５は、混合リアリティ３Ｄシーンを生成するために仮想３Ｄオブジェクトと現実３Ｄ画像とを組み合わせることができる（８５０）。混合リアリティシーンの生成は、ソースデバイスまたは宛先デバイスのいずれかによって同様に実行され得る。
【００８０】
本開示の技法は、ワイヤレスハンドセット、および集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置において具体化され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットなどによる実現を必ずしも必要とするわけではない。
【００８１】
したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれの任意の組合せで実装され得る。モジュールまたは構成要素として説明する任意の機能は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装する場合、これらの技法は、プロセッサで実行されると、上記で説明した方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現され得る。コンピュータ可読媒体は、有形コンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセス、読取り、および／または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【００８２】
コードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【００８３】
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
【００８４】
本開示の多くの態様について説明した。特許請求の範囲から逸脱することなく、様々な修正を行うことができる。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願の出願当初請求項に記載された発明を付記する。
［Ｃ１］
現実３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定することと、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることと、
混合リアリティ３Ｄ画像を生成するために前記現実画像と前記仮想オブジェクトとを組み合わせることと
を備える、方法。
［Ｃ２］
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて両眼間隔値を決定することと、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングすることと
をさらに備える、上記［Ｃ１］に記載の方法。
［Ｃ３］
前記現実３Ｄ画像がステレオカメラによってキャプチャされる、上記［Ｃ１］に記載の方法。
［Ｃ４］
前記方法が、
前記ステレオカメラのアスペクト比を決定することと、
前記射影行列に関する１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用することと
をさらに備える、上記［Ｃ３］に記載の方法。
［Ｃ５］
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、上記［Ｃ１］に記載の方法。
［Ｃ６］
前記現実３Ｄ画像についてのニア平面視差値を決定することと、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることと
をさらに備える、上記［Ｃ１］に記載の方法。
［Ｃ７］
前記現実３Ｄ画像についてのファー平面視差値を決定することと、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることと
をさらに備える、上記［Ｃ１］に記載の方法。
［Ｃ８］
前記混合リアリティ３Ｄ画像のビューポートをシフトすること
をさらに備える、上記［Ｃ１］に記載の方法。
［Ｃ９］
３次元（３Ｄ）ビデオデータを処理するためのシステムであって、前記システムが、
現実３Ｄ画像ソースであって、キャプチャされた３Ｄ画像についてのゼロ視差平面までの距離を決定するように構成された現実３Ｄ画像ソースと、
仮想画像ソースであって、
前記ゼロ視差平面までの前記距離に少なくとも基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることと、を行うように構成された仮想画像ソースと、
混合リアリティ３Ｄ画像を生成するために前記現実画像と前記仮想オブジェクトとを組み合わせるように構成された混合シーン合成ユニットと
を備える、システム。
［Ｃ１０］
前記仮想画像ソースが、さらに、
前記ゼロ視差平面までの前記距離に少なくとも基づいて前記両眼間隔値を決定し、前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングするように構成された、上記［Ｃ９］に記載のシステム。
［Ｃ１１］
前記現実３Ｄ画像ソースがステレオカメラである、上記［Ｃ９］に記載のシステム。
［Ｃ１２］
前記仮想画像ソースが、さらに、前記ステレオカメラのアスペクト比を決定し、前記射影行列に関する１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用するように構成された、上記［Ｃ１１］に記載のシステム。
［Ｃ１３］
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、上記［Ｃ９］に記載のシステム。
［Ｃ１４］
前記仮想画像ソースが、さらに、前記現実３Ｄ画像についてのニア平面視差値を決定し、前記同じニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするように構成された、上記［Ｃ９］に記載のシステム。
［Ｃ１５］
前記仮想画像ソースが、さらに、前記現実３Ｄ画像についてのファー平面視差値を決定し、前記同じファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするように構成された、上記［Ｃ９］に記載のシステム。
［Ｃ１６］
前記混合シーン合成ユニットが、さらに、前記混合リアリティ３Ｄ画像のビューポートをシフトするように構成された、上記［Ｃ９］に記載のシステム。
［Ｃ１７］
現実３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定するための手段と、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定するための手段と、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングするための手段と、
混合リアリティ３Ｄ画像を生成するために前記現実画像と前記仮想オブジェクトとを組み合わせるための手段と
を備える、装置。
［Ｃ１８］
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて両眼間隔値を決定するための手段と、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングするための手段と
をさらに備える、上記［Ｃ１７］に記載の装置。
［Ｃ１９］
前記現実３Ｄ画像がステレオカメラによってキャプチャされる、上記［Ｃ１７］に記載の装置。
［Ｃ２０］
前記装置が、
前記ステレオカメラのアスペクト比を決定するための手段と、
前記射影行列に関する１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用するための手段と
をさらに備える、上記［Ｃ１９］に記載の装置。
［Ｃ２１］
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、ファークリッピング平面パラメータを備える、上記［Ｃ１７］に記載の装置。
［Ｃ２２］
前記現実３Ｄ画像についてのニア平面視差値を決定するための手段と、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするための手段と
をさらに備える、上記［Ｃ１７］に記載の装置。
［Ｃ２３］
前記現実３Ｄ画像についてのファー平面視差値を決定するための手段と、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングするための手段と
をさらに備える、上記［Ｃ１７］に記載の装置。
［Ｃ２４］
前記混合リアリティ３Ｄ画像のビューポートをシフトするための手段
をさらに備える、上記［Ｃ１７］に記載の装置。
［Ｃ２５］
１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
現実３次元（３Ｄ）画像についてのゼロ視差平面までの距離を決定することと、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて射影行列に関する１つまたは複数のパラメータを決定することと、
前記射影行列に少なくとも部分的に基づいて仮想３Ｄオブジェクトをレンダリングすることと、
混合リアリティ３Ｄ画像を生成するために前記現実画像と前記仮想オブジェクトとを組み合わせることと
を行わせる１つまたは複数の命令を有形に記憶する、非一時的コンピュータ可読記憶媒体。
［Ｃ２６］
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記ゼロ視差平面までの前記距離に少なくとも部分的に基づいて両眼間隔値を決定することと、
前記両眼間隔値に少なくとも部分的に基づいて前記仮想３Ｄオブジェクトをレンダリングすることと
を行わせるさらなる命令を記憶する、上記［Ｃ２５］に記載のコンピュータ可読記憶媒体。
［Ｃ２７］
前記現実３Ｄ画像がステレオカメラによってキャプチャされる、上記［Ｃ２５］に記載のコンピュータ可読記憶媒体。
［Ｃ２８］
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記ステレオカメラのアスペクト比を決定することと、
前記射影行列に関する１つまたは複数のパラメータのうちの少なくとも１つを決定するために前記アスペクト比を使用することと
行わせるさらなる命令を記憶する、上記［Ｃ２７］に記載のコンピュータ可読記憶媒体。
［Ｃ２９］
前記パラメータが、左境界パラメータ、右境界パラメータ、上境界パラメータ、下境界パラメータ、ニアクリッピング平面パラメータ、およびファークリッピング平面パラメータを備える、上記［Ｃ２７］に記載のコンピュータ可読記憶媒体。
［Ｃ３０］
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記現実３Ｄ画像についてのニア平面視差値を決定することと、
前記ニア平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることと
を行わせるさらなる命令を記憶する、上記［Ｃ２５］に記載のコンピュータ可読記憶媒体。
［Ｃ３１］
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記現実３Ｄ画像についてのファー平面視差値を決定することと、
前記ファー平面視差値を用いて前記仮想３Ｄオブジェクトをレンダリングすることと
を行わせるさらなる命令を記憶する、上記［Ｃ２５］に記載のコンピュータ可読記憶媒体。
［Ｃ３２］
前記１つまたは複数のプロセッサによって実行されたときに前記１つまたは複数のプロセッサに、
前記混合リアリティ３Ｄ画像のビューポートをシフトすること
を行わせるさらなる命令を記憶する、上記［Ｃ２５］に記載のコンピュータ可読記憶媒体。
【図１】
0005654138.tif 000026
【図２】
0005654138.tif 000027
【図３Ａ】
0005654138.tif 000028
【図３Ｂ】
0005654138.tif 000029
【図３Ｃ】
0005654138.tif 000030
【図４Ａ】
0005654138.tif 000031
【図４Ｂ】
0005654138.tif 000032
【図５Ａ】
0005654138.tif 000033
【図５Ｂ】
0005654138.tif 000034
【図６】
0005654138.tif 000035
【図７】
0005654138.tif 000036
【図８】
0005654138.tif 000037