(57)【特許請求の範囲】
【請求項１】
コンピュータにより実現される方法であって、
２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断するステップを含み、前記領域を判断するステップは、頭部装着型ディスプレイデバイスで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれ、前記方法は、さらに、
前記領域における画素の一部について深度値を計算するステップと、
前記領域における画素の前記一部についての画像データを含む球状画像を生成するステップと、
前記画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成するステップと、
前記画像データを使用して、前記コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを行なうステップとを含み、前記テクスチャマッピングは、前記画像データを前記コンピュータグラフィックスオブジェクトの前記表面にマッピングすることを含み、前記方法はさらに、
前記深度値と前記球状画像と前記テクスチャマッピングを行なうことにより生成されたテクスチャマップデータとに基づいて左目ビューおよび右目ビューを生成するステップと、
前記頭部装着型ディスプレイデバイスにおいて前記左目ビューおよび右目ビューを表示するステップとを含む、方法。
【請求項２】
画素の前記一部は、前記領域における画素の前記一部のうちの１つ以上に関連付けられた対応する深度値と等しい半径を有する点に位置しているように視認されるために、前記コンピュータグラフィックスオブジェクトの前記表面上に表わされる、請求項１に記載の方法。
【請求項３】
前記複数の画像はビデオコンテンツを含み、前記画像データは、画素の前記一部に関連付けられたＲＧＢデータおよび深度値データを含み、前記方法はさらに、
前記画像データを使用して、前記領域の２次元バージョンを前記領域の３次元バージョンに変換するステップと、
前記頭部装着型ディスプレイデバイスにおける表示のために、前記領域の前記３次元バージョンを提供するステップとを含み、前記球状画像および前記テクスチャマップデータは、前記３次元空間における前記３次元表面上にマッピングされたテクスチャとして画像をレンダリングすることができるように送信される、請求項１または２に記載の方法。
【請求項４】
前記複数の画像は、球状形状のカメラリグ上に搭載された複数のカメラを用いて取込まれる、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記ユーザ入力は頭部回転を含み、前記３次元データは、ビューに対応する前記複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、請求項１に記載の方法。
【請求項６】
前記ユーザ入力は凝視方向の変更を含み、前記３次元データは、ユーザの視線上の前記複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、請求項１に記載の方法。
【請求項７】
コンピュータにより実現されるシステムであって、
少なくとも１つのプロセッサと、
命令を格納するメモリとを含み、前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに複数の動作を行なわせ、前記複数の動作は、
２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断することを含み、前記領域を判断することは、頭部装着型ディスプレイデバイスで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれ、前記複数の動作は、さらに、、
前記領域における画素の一部について深度値を計算することと、
前記領域における画素の前記一部についての画像データを含む球状画像を生成することと、
前記画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成することと、
前記画像データを使用して、前記コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを行なうこととを含み、前記テクスチャマッピングは、前記画像データを前記コンピュータグラフィックスオブジェクトの前記表面にマッピングすることを含み、前記複数の動作はさらに、
前記深度値と前記球状画像と前記テクスチャマッピングを行なうことにより生成されたテクスチャマップデータとに基づいて左目ビューおよび右目ビューを生成することと、
前記頭部装着型ディスプレイデバイスにおいて前記左目ビューおよび右目ビューを表示することとを含む、システム。
【請求項８】
前記複数の画像はビデオコンテンツを含み、前記画像データは、画素の前記一部に関連付けられたＲＧＢデータおよび深度値データを含み、前記システムはさらに、
前記画像データを使用して、前記領域の２次元バージョンを前記領域の３次元バージョンに変換することと、
前記頭部装着型ディスプレイデバイスにおける表示のために、前記領域の前記３次元バージョンを提供することとを含み、前記球状画像および前記テクスチャマップデータは、前記３次元空間における前記３次元表面上にマッピングされたテクスチャとして画像をレンダリングすることができるように送信される、請求項７に記載のシステム。
【請求項９】
前記複数の画像は、球状形状のカメラリグ上に搭載された複数のカメラを用いて取込まれる、請求項７または８に記載のシステム。
【請求項１０】
前記ユーザ入力は凝視方向の変更を含み、前記３次元データは、ユーザの視線上の前記複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、請求項７に記載のシステム。
【請求項１１】
コンピュータにより実現される方法であって、
複数のカメラを用いて複数の画像を取得するステップと、
２次元データを３次元データに変換するための、前記複数の画像内の領域を判断するステップを含み、前記領域を判断するステップは、頭部装着型ディスプレイデバイスで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれ、前記方法は、さらに、
前記複数の画像について少なくとも２つの更新画像を生成するステップとを含み、前記少なくとも２つの更新画像は、予め規定された中心線からの左側オフセットでコンテンツを取込み、前記予め規定された中心線からの右側オフセットでコンテンツを取込むように構成された少なくとも１つの仮想カメラについての視点を補間することによって生成され、前記左側オフセットおよび前記右側オフセットは、前記領域における前記３次元データを提供するために選択され、前記方法はさらに、
頭部装着型ディスプレイの左アイピースに提供するための第１の球状画像を生成するために、前記少なくとも２つの更新画像における第１の画像を第１の球面にマッピングするステップと、
前記頭部装着型ディスプレイの右アイピースに提供するための第２の球状画像を生成するために、前記少なくとも２つの更新画像における第２の画像を第２の球面にマッピングするステップと、
前記頭部装着型ディスプレイの前記左アイピースに前記第１の球状画像を表示し、前記頭部装着型ディスプレイの前記右アイピースに前記第２の球状画像を表示するステップとを含む、方法。
【請求項１２】
前記少なくとも１つの仮想カメラは、１つ以上の物理的カメラを使用して取込まれたコンテンツを使用し、前記コンテンツを前記視点から提供されるよう適合させるように構成される、請求項１１に記載の方法。
【請求項１３】
前記第１の画像のマッピングは、前記第１の画像から前記第１の球面に画素座標を割当てることによって前記第１の画像にテクスチャを適用することを含み、
前記第２の画像のマッピングは、前記第２の画像から前記第２の球面に画素座標を割当てることによって前記第２の画像にテクスチャを適用することを含む、請求項１１または１２に記載の方法。
【請求項１４】
視点を補間することは、前記複数の画像における複数の画素をサンプリングすることと、オプティカルフローを使用して仮想コンテンツを生成することと、前記少なくとも２つの更新画像のうちの少なくとも１つの内部に前記仮想コンテンツを設置することとを含む、請求項１１〜１３のいずれか１項に記載の方法。
【請求項１５】
少なくとも２つの球状画像は、前記左側オフセットで取込まれた前記コンテンツに含まれる前記複数の画素のうちの少なくとも一部を有するＲＧＢ画像と、前記右側オフセットで取込まれた前記コンテンツに含まれる前記複数の画素のうちの少なくとも一部を有するＲＧＢ画像とを含む、請求項１４に記載の方法。
【請求項１６】
前記左側オフセットおよび前記右側オフセットは修正可能であり、また、前記頭部装着型ディスプレイにおける前記第１の画像および前記第２の画像の表示精度を適合させるために機能的である、請求項１１〜１５のいずれか１項に記載の方法。
【請求項１７】
コンピュータによって実行されるプログラムであって、
前記プログラムは、前記コンピュータに、請求項１〜６のいずれか１項に記載の方法を実行する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１５年９月１６日に出願された「全球状取込方法」（General Spherical Capture Methods）と題された米国仮特許出願第６２／２１９，５３４号の優先権を主張する、２０１６年９月１５日に出願された「全球状取込方法」と題された米国非仮特許出願第１５／２６６，６０２号の優先権を主張し、当該非仮特許出願の継続出願である。これらの出願は双方とも、それら全体がここに引用により援用される。
【０００２】
技術分野
本明細書は一般に、２次元（２Ｄ）および３次元（３Ｄ）画像を取込んで処理するための方法および装置に関する。
【背景技術】
【０００３】
背景
球状画像は、シーンの３６０度のビューを提供できる。そのような画像は、特定の投影フォーマットを使用して取込まれ、規定され得る。たとえば、球状画像は、画像の幅および高さに関するアスペクト比が２：１である単一画像を提供するために、正距円筒投影フォーマットで規定されてもよい。別の例では、球状画像は、立方体の６つの面に再マッピングされた画像を提供するために、立方体投影フォーマットで規定されてもよい。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
１つ以上のコンピュータのシステムが、動作時に当該システムにアクションを行なわせる、当該システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することにより、特定の動作またはアクションを行なうように構成され得る。１つ以上のコンピュータプログラムが、データ処理装置によって実行されると当該装置にアクションを行なわせる命令を含むことにより、特定の動作またはアクションを行なうように構成され得る。
【０００５】
一般的な一局面では、これらの命令は、２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断するステップを含む、コンピュータにより実現される方法を含んでいてもよい。２次元データを３次元データに変換するための領域を判断するステップは、頭部装着型ディスプレイで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれてもよい。ユーザ入力は頭部回転を含んでいてもよく、３次元データは、ビューに対応する複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用されてもよい。別の例では、ユーザ入力は凝視方向の変更を含んでいてもよく、３次元データは、ユーザの視線上の複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用されてもよい。
【０００６】
この方法はまた、領域における画素の一部について深度値を計算するステップと、球状画像を生成するステップとを含んでいてもよい。球状画像は、領域における画素の一部についての画像データを含んでいてもよい。いくつかの実現化例では、画素の一部は、領域における画素の一部のうちの１つ以上に関連付けられた対応する深度値と等しい半径で、コンピュータグラフィックスオブジェクトの表面上に表わされる。この方法はまた、画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成するステップと、画像データを使用して、コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを生成するステップとを含んでいてもよい。テクスチャマッピングは、コンピュータグラフィックスオブジェクトの表面への画像データのマッピングを含んでいてもよい。この方法はまた、頭部装着型ディスプレイデバイスにおける表示のために、球状画像およびテクスチャマッピングを送信するステップを含んでいてもよい。本局面の他の実施形態は、これらの方法のアクションを行なうように各々構成された、対応するコンピュータシステム、装置、および、１つ以上のコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
【０００７】
いくつかの実現化例では、この方法はまた、領域に関連付けられた追加の球状画像およびテクスチャマッピングを生成するステップと、画像データの一部と球状画像とを組合せることによって、左目ビューを生成するステップと、追加の画像データを生成し、追加の画像データと追加の球状画像とを組合せることによって、右目ビューを生成するステップと、頭部装着型ディスプレイデバイスにおいて左目ビューおよび右目ビューを表示するステップとを含んでいてもよい。画像データは、領域における画素の一部のうちの少なくともいくつかについての深度値データおよびＲＧＢデータを含んでいてもよい。
【０００８】
いくつかの実現化例では、複数の画像はビデオコンテンツを含み、画像データは、画素の一部に関連付けられたＲＧＢデータおよび深度値データを含む。いくつかの実現化例では、この方法はさらに、画像データを使用して、領域の２次元バージョンを領域の３次元バージョンに変換するステップと、頭部装着型ディスプレイデバイスにおける表示のために、領域の３次元バージョンを提供するステップとを含む。いくつかの実現化例では、複数の画像は、球状形状のカメラリグ上に搭載された複数のカメラを用いて取込まれる。
【０００９】
別の一般的な局面では、複数のカメラを用いて複数の画像を取得するステップと、複数の画像について少なくとも２つの更新画像を生成するステップとを含み、少なくとも２つの更新画像は、予め規定された中心線からの左側オフセットでコンテンツを取込み、予め規定された中心線からの右側オフセットでコンテンツを取込むように構成された少なくとも１つの仮想カメラについての視点を補間することによって生成される、コンピュータにより実現される方法が説明される。いくつかの実現化例では、視点を補間することは、複数の画像における複数の画素をサンプリングすることと、オプティカルフローを使用して仮想コンテンツを生成することと、少なくとも２つの更新画像のうちの少なくとも１つの内部に仮想コンテンツを設置することとを含む。
【００１０】
この方法はさらに、頭部装着型ディスプレイの左アイピースに提供するための第１の球状画像を生成するために、少なくとも２つの更新画像における第１の画像を第１の球面にマッピングするステップと、頭部装着型ディスプレイの右アイピースに提供するための第２の球状画像を生成するために、少なくとも２つの更新画像における第２の画像を第２の球面にマッピングするステップと、頭部装着型ディスプレイの左アイピースに第１の球状画像を表示し、頭部装着型ディスプレイの右アイピースに第２の球状画像を表示するステップとを含んでいてもよい。
【００１１】
いくつかの実現化例では、少なくとも１つの仮想カメラは、１つ以上の物理的カメラを使用して取込まれたコンテンツを使用し、コンテンツを視点から提供されるよう適合させるように構成される。いくつかの実現化例では、第１の画像のマッピングは、第１の画像から第１の球面に画素座標を割当てることによって第１の画像にテクスチャを適用することを含み、第２の画像のマッピングは、第２の画像から第２の球面に画素座標を割当てることによって第２の画像にテクスチャを適用することを含む。いくつかの実現化例では、少なくとも２つの球状画像は、左側オフセットで取込まれたコンテンツに含まれる複数の画素のうちの少なくとも一部を有するＲＧＢ画像と、右側オフセットで取込まれたコンテンツに含まれる複数の画素のうちの少なくとも一部を有するＲＧＢ画像とを含む。いくつかの実現化例では、左側オフセットおよび右側オフセットは修正可能であり、また、頭部装着型ディスプレイにおける第１の画像および第２の画像の表示精度を適合させるために機能的である。
【００１２】
本局面の他の実施形態は、これらの方法のアクションを行なうように各々構成された、対応するコンピュータシステム、装置、および、１つ以上のコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
【００１３】
１つ以上の実現化例の詳細を、添付図面および以下の説明で述べる。他の特徴は、説明および図面から、ならびに請求項から明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】バーチャルリアリティ（ＶＲ）空間のために２Ｄおよび３Ｄコンテンツを取込み、処理し、レンダリングするための例示的なシステム１００のブロック図である。
【図２】ビデオコンテンツの３Ｄ部分を生成する際に使用するシーンの画像を取込むように構成された例示的な球状カメラリグを示す図である。
【図３】ビデオコンテンツの３Ｄ部分を生成する際に使用するシーンの画像を取込むように構成された例示的な二十面体状カメラリグを示す図である。
【図４】ビデオコンテンツの３Ｄ部分を生成する際に使用するシーンの画像を取込むように構成された例示的な六角形球カメラリグを示す図である。
【図５】ビデオコンテンツを生成するためのプロセスの一実施形態を示すフローチャートである。
【図６】ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【００１５】
さまざまな図面における同じ参照符号は、同じ要素を示す。
詳細な説明
シーンの各部分を２次元および／または３次元で正確に再生するために使用され得る画像コンテンツを取得することは一般に、３次元カメラリグに収容された複数のカメラを使用してそのシーンの画像またはビデオを取込むことを含む。これらのカメラは、上部、側部、底部でカメラリグを包囲するシーンの各部分と、間に示されるあらゆるシーンコンテンツとを取込むように構成されてもよい。本開示で説明されるシステムおよび方法は、ほんの数例を挙げると球状形状、二十面体状形状、または３Ｄ多角形形状であるカメラリグを採用することができる。そのようなカメラリグには、リグを包囲する外向きに取込可能なすべてのエリアに関する画像コンテンツを取込むためにリグ上に戦略的に設置されたいくつかのグループ（たとえばトライアド（３つ組））のカメラが収容され得る。画像コンテンツは、複数のカメラ間で取込まれた重複画像コンテンツを含む場合があり、この重複は後に、追加の画像コンテンツを生成し、既存の画像コンテンツをつなぎ合わせ、または画像コンテンツにおいて視覚的効果（たとえば３Ｄ効果）を生成するために使用され得る。
【００１６】
そのような１つの視覚的効果は、画像コンテンツ内に３Ｄ領域を生成することを含んでいてもよい。画像コンテンツ（たとえばビデオコンテンツ）内に３Ｄ領域をランタイム（またはほぼリアルタイム）に生成することは、ここに説明されるシステムおよび方法を用いて取込まれたコンテンツを使用して達成されてもよい。なぜなら、そのようなカメラリグは、カメラを収容するように構成された球または他の３Ｄ形状を包囲する全ての各エリアを取込むように構成されるためである。シーン内のすべての可能なビューイングコンテンツへのアクセスを有することは深度についての計算を可能にし、深度は、２Ｄコンテンツを３Ｄコンテンツに修正し、元に戻すために使用され得る。３Ｄ領域生成の一例は、画像コンテンツに示されるオブジェクトまたはアクションに基づいて、ある特定のエリアが３Ｄで示されるべきであると判断することを含み得る。
【００１７】
たとえば、画像コンテンツが天井から示されるアクロバット演技を表わす場合、本開示で説明されるシステムおよび方法は、たとえば、ユーザがＶＲ空間の天井に目を向けると、ＶＲ空間でユーザの上方に示されるコンテンツに３Ｄ効果が適用されるべきであると判断することができる。３Ｄ効果は、画像コンテンツ（たとえばビデオコンテンツ）に自動的に適用され、ＶＲ頭部装着型ディスプレイ（head mounted display：ＨＭＤ）デバイスにおいてユーザに表示され得る。いくつかの実現化例では、３Ｄ効果は、３Ｄ効果を適用するためのエリアをシフトさせるように手動で構成され得る。たとえば、アクロバットの例での３Ｄ効果は、演技がメインステージから天井に移動するよう予定されている場合、ステージから天井にシフトされてもよい。すなわち、画像コンテンツ（たとえばビデオコンテンツ）は、アクロバットがユーザ（たとえば観客）の上方で行なわれ始めると、３Ｄ効果を天井にシフトさせるように構成され得る。いくつかの実現化例では、画像３Ｄ効果は画像コンテンツの一部に適用可能であり、一方、画像コンテンツの周囲部分は２次元フォーマットのままである。いくつかの実現化例では、ここに説明されるシステムは、画像またはビデオ全体に３Ｄ効果を適用するために使用され得る。他の実現化例では、ここに説明されるシステムは、シーン、シーンの一部、画像／シーンにおけるエリア、ユーザが選択した、またはユーザが凝視して選択した画像／シーンの一部に、３Ｄ効果を適用するために使用され得る。
【００１８】
画像コンテンツの２次元（２Ｄ）から３次元（３Ｄ）への修正を行なうことができるのは、球状カメラリグが球状カメラリグの周りの全角度から画像を取込むために使用されるためであり、このため、すべての可能なエリアを３Ｄ調節可能にする。自動調節は、画像コンテンツに関連付けられた深度マップを計算するために密なオプティカルフローを計算することを含み得る。深度マップを計算することは、カメラの位置に対する、シーンにおけるさまざまな点の距離を表わす、多くの深度値を計算することを含み得る。いくつかの例では、２つ以上の画像を使用して深度値を計算し、２Ｄ画像データに加えてこれらの深度値を使用して、ある特定のシーンの部分についての３Ｄ画像データを推定することができる。
【００１９】
いくつかの実現化例では、オブジェクトへのテクスチャマッピングが、２次元データをオブジェクト上にマッピングする２次元効果を生成してもよい。深度マップデータ（または深度データ）およびテクスチャマップデータを深度面に送信する他の実現化例では、効果は３次元効果であってもよい。
【００２０】
本開示で説明されるシステムおよび方法は、画像コンテンツ内に３Ｄ領域を生成するために、オプティカルフローアルゴリズム、深度マップ計算、ユーザ入力、および／または監督入力を使用することを含んでいてもよい。たとえば、説明されるシステムおよび方法は、画像コンテンツの選択エリアに３Ｄ効果を適用することができる。３Ｄ効果は戦略的に計算され、ビデオコンテンツなどの画像コンテンツ内にほぼリアルタイムに設置され得る。いくつかの実現化例では、３Ｄ効果は、バーチャルリアリティ（ＶＲ）空間に画像コンテンツを提供する前に手動で設置され得る。いくつかの実現化例では、３Ｄ効果は、ユーザがＶＲ空間で画像コンテンツを見ている間に、たとえばユーザが関心エリアの方を向くのに応答して自動的に設置され得る。たとえば、ここに説明されるデバイスを用いて取込まれた画像コンテンツがＶＲ空間においてユーザに提供される場合、ユーザはＶＲ空間においてコンテンツを見るためにあるエリアの方を向く場合があり、ユーザがそのコンテンツに関心を示したのに応答して、そのコンテンツは自動的に３Ｄコンテンツとして生成され得る。
【００２１】
特定の実現化例では、ここに説明されるシステムおよび方法は、３Ｄ画像コンテンツを構成し表示するために、球状カメラリグ上の多くのトライアドのカメラ間の密なオプティカルフロー場を計算することを含み得る。（オプティカルフロー補間手法を使用した）フロー場の計算および送信は、ユーザが見たい特定の３Ｄビューを（ランタイムに、またはランタイムに先立って）再構成するために行なわれ得る。これらの手法は、ユーザの頭部の傾きおよび平行移動を考慮に入れることができ、３Ｄコンテンツが球状カメラリグによって取込まれたシーン内の任意の選択可能エリアで提供されることを可能にしてもよい。いくつかの実現化例では、前方および後方頭部平行移動も行なわれ得る。
【００２２】
いくつかの実現化例では、ここに説明されるシステムおよび方法は、画像の各画素について深度値を得るために、オプティカルフローおよび／またはステレオ整合手法を採用することができる。オプティカルフローおよび／またはステレオ整合手法を使用して生成された球状画像（またはビデオ）は、たとえばＨＭＤデバイスに送信され得る。球状画像は、ＲＧＢ（赤緑青）画素データ、ＹＵＶ（ルーメンおよびクロミナンス）データ、深度データ、もしくは、追加の計算されたまたは取得可能な画像データを含んでいてもよい。ＨＭＤデバイスはそのようなデータを受信し、深度成分によって規定された３Ｄ空間における表面上にマッピングされたテクスチャとして画像をレンダリングすることができる。
【００２３】
いくつかの実現化例では、ここに説明されるシステムおよび方法は、オプティカルフロー手法を使用して多くの異なる仮想カメラを補間することができる。結果として生じるオプティカルフローデータを使用して、少なくとも２つの球状画像が生成され得る（たとえば、左ＲＧＢ球状画像および右ＲＧＢ球状画像）。左ＲＧＢ球状画像における画素は、左にオフセットした仮想カメラから取得可能であり、右ＲＧＢ球状画像における画素は、右にオフセットした仮想カメラから取得可能である。正確な３Ｄ効果を生成するために、ここに説明されるシステムおよび方法は、仮想カメラに使用される左および右のオフセットの量を修正することができる。すなわち、最大オフセットを選択することは、画像またはビデオにおけるコンテンツに基づいて、もしくは監督からの入力に基づいて正確な３Ｄ画像コンテンツを提供するように機能し得る。左および右の画像はその場合、たとえばＨＭＤデバイスにおける（一定半径の）球上にマッピングされたテクスチャであり得る。
【００２４】
図１は、バーチャルリアリティ（ＶＲ）空間のために２Ｄおよび３Ｄコンテンツを取込み、処理し、レンダリングするための例示的なシステム１００のブロック図である。例示的なシステム１００では、球状形状のカメラリグ１０２が静止画像およびビデオ画像を取込み、ネットワーク１０４を通して、またはこれに代えて直接、分析および処理のために画像処理システム１０６に提供し得る。画像が一旦取込まれると、画像処理システム１０６が画像に対して多くの計算およびプロセスを行ない、たとえば、処理画像をレンダリングのためにネットワーク１０４を通して頭部装着型ディスプレイ（ＨＭＤ）デバイス１１０に提供し得る。いくつかの実現化例では、画像処理システム１０６はまた、処理画像を、レンダリング、格納、またはさらなる処理のために、モバイルデバイス１０８に、および／またはコンピューティングデバイス１１２に提供し得る。
【００２５】
ＨＭＤデバイス１１０は、バーチャルリアリティコンテンツを表示できるバーチャルリアリティヘッドセット、眼鏡、アイピース、または他のウェアラブルデバイスを表わしていてもよい。動作時、ＨＭＤデバイス１１０は、受信画像および／または処理画像をユーザに対して再生できるＶＲアプリケーション（図示せず）を実行し得る。いくつかの実現化例では、ＶＲアプリケーションは、図１に示すデバイス１０６、１０８、または１１２のうちの１つ以上によってホストされ得る。一例では、ＨＭＤデバイス１１０は、シーンの部分を３Ｄビデオコンテンツとして生成可能であり、カメラリグ１０２によって取込まれたシーンの３Ｄフォーマットでのビデオ再生を、戦略的に選択された場所で提供可能である。
【００２６】
カメラリグ１０２は、ＶＲ空間においてコンテンツをレンダリングするために画像データを収集するためのカメラ（取込デバイスとも呼ばれ得る）および／または処理デバイスとして使用するために構成され得る。カメラリグ１０２はここでは特定の機能性を有して説明されるブロック図として示されているが、リグ１０２は図２〜図４に示す実現化例のうちのいずれかの形態を取ることができ、加えて、本開示全体にわたってカメラリグについて説明される機能性を有していてもよい。たとえば、システム１００の機能性の説明を簡潔にするために、図１は、画像を取込むためのカメラがリグの周りに配置されていないカメラリグ１０２を示す。カメラリグ１０２の他の実現化例は、リグ１０２などの３Ｄカメラリグ上の任意の点に配置され得る任意の数のカメラを含み得る。
【００２７】
図１に示すように、カメラリグ１０２は、多くのカメラ１３０と、通信モジュール１３２とを含む。カメラ１３０は、スチルカメラまたはビデオカメラを含み得る。いくつかの実現化例では、カメラ１３０は、球状リグ１０２の表面に沿って配置された（たとえば着座した）複数のスチルカメラまたは複数のビデオカメラを含み得る。カメラ１３０は、ビデオカメラ、画像センサ、立体視カメラ、赤外線カメラ、および／またはモバイルデバイスカメラを含んでいてもよい。通信モジュール１３２は、画像、命令、および／または他のカメラ関連コンテンツをアップロードおよびダウンロードするために使用され得る。通信モジュール１３２は有線でも無線でもよく、私設ネットワークまたは公衆ネットワークを通してインターフェイス接続可能である。
【００２８】
カメラリグ１０２は、静止リグまたは回転リグとして機能するように構成され得る。リグ上の各カメラは、リグの回転中心からオフセットして配置（たとえば設置）される。カメラリグ１０２は、たとえば、シーンの３６０度の球状ビューのすべてまたは一部を掃引して取込むために、３６０度回転するように構成され得る。いくつかの実現化例では、リグ１０２は静止位置で動作するように構成可能であり、そのような構成では、追加のカメラをリグに追加してシーンの追加の外向き角度のビューを取込んでもよい。
【００２９】
いくつかの実現化例では、カメラは、特定の時点でカメラリグ上のカメラからビデオを取込むために、同期して機能するように構成（たとえばセットアップ）され得る。いくつかの実現化例では、カメラは、ある期間にわたってカメラのうちの１つ以上からビデオの特定部分を取込むために、同期して機能するように構成され得る。カメラリグを較正する別の例は、受信画像をどのように格納するかを構成することを含み得る。たとえば、受信画像は個々のフレームまたはビデオ（たとえば、ａｖｉファイル、ｍｐｇファイル）として格納可能であり、そのような格納画像は、インターネット、別のサーバまたはデバイスにアップロードされ得るか、もしくはカメラリグ１０２上の各カメラを用いてローカルに記憶され得る。
【００３０】
画像処理システム１０６は、補間モジュール１１４と、オプティカルフローモジュール１１６と、つなぎ合わせモジュール１１８と、深度マップ生成器１２０と、３Ｄ生成器モジュール１２２とを含む。補間モジュール１１４は、たとえば、デジタル画像およびビデオの部分をサンプリングし、カメラリグ１０２から取込まれた隣接画像間で生じそうな多くの補間画像を求めるために使用され得るアルゴリズムを表わす。いくつかの実現化例では、補間モジュール１１４は、隣接画像間の補間された画像フラグメント、画像部分、および／または垂直もしくは水平画像ストリップを求めるように構成され得る。いくつかの実現化例では、補間モジュール１１４は、隣接画像内の関連画素間のフロー場（および／またはフローベクトル）を求めるように構成され得る。フロー場は、画像が受けた両変換、および変換を受けた画像の処理を補償するために使用され得る。たとえば、フロー場は、取得画像の特定の画素格子の変換を補償するために使用され得る。いくつかの実現化例では、補間モジュール１１４は、周囲画像の補間により、取込まれた画像の一部ではない１つ以上の画像を生成可能であり、生成された画像を取込まれた画像にインターリーブして、シーンの追加のバーチャルリアリティコンテンツを生成可能である。たとえば、補間モジュール１１４は、実在する（たとえば物理的な）カメラ間の仮想カメラからのビューを再構成し、各ビューの中心光線を選択して、球の中心から１つの仮想カメラ画像を作り上げることにより、２Ｄ（平面）写真／ビデオ球のつなぎ合わせを提供し得る。
【００３１】
オプティカルフローモジュール１１６は、各トライアドのカメラ間の密なオプティカルフローを計算するように構成され得る。たとえば、モジュール１１６は、球状カメラリグ上に三角形を形成するペアのカメラ間の、３方向のペア状のオプティカルフローを計算し得る。オプティカルフローモジュール１１６は、第１のカメラと第２のカメラとの間、第２のカメラと第３のカメラとの間、および第３のカメラと第１のカメラとの間のオプティカルフローを計算し得る。計算に使用される各ペアのカメラは、ステレオペアと考えられ得る。いくつかの実現化例では、オプティカルフローの計算は、フローベクトルが２Ｄの量または構成を作成するように任意の方向に向けられる場合に、ペアのカメラ間で行なわれ得る。いくつかの実現化例では、オプティカルフローの計算は、フローベクトルが１次元に制限される場合（たとえば、フローが水平である水平ステレオペア）に行なわれ得る。
【００３２】
カメラリグの表面の周りに複数のトライアドのカメラを有する、球状形状のカメラリグ（またはここに説明される他の３Ｄ形状のリグ）を使用して、オプティカルフローモジュール１１６は、リグを包囲する正確なシーンを生成し得る。たとえば、オプティカルフローモジュール１１６は、特定の取込画像コンテンツについてオプティカルフロー場を計算し、つなぎ合わせモジュール１１８にアクセスして、シーンについての平面視パノラマをつなぎ合わせ得る。これは、ビデオコンテンツにおけるアーチファクトを減少させる場合がある。平面視パノラマの生成は、ユーザの両目に同じ画像を提示することを含んでいてもよい。これは、ユーザには２Ｄに見えるかもしれない。いくつかの実現化例では、つなぎ合わせモジュール１１８は、ユーザに関連付けられた各目に独特で異なる画像を提供可能な立体視パノラマをつなぎ合わせることができ、そのような画像はユーザには３Ｄに見えるかもしれない。ここに使用されるように、３Ｄコンテンツは、立体視の提示コンテンツと考えられてもよく、深度面上にマッピングされたテクスチャを示し得る。同様に、２Ｄコンテンツは、たとえば平面または球面上にマッピングされたテクスチャを示す平面視の提示コンテンツと考えられてもよい。
【００３３】
いくつかの実現化例では、モジュール１１４およびつなぎ合わせモジュール１１８は、パノラマツイストを導入するために、または、たとえば選択された方向において３Ｄ効果を導入するために、代わりに非中心光線を採用することによってステレオ球状ペアを生成するために使用され得る。パノラマツイストは、第１の方向に偏向された光線を用いて第１の目（左目）用の光線を取込み、反対方向に偏向された光線を用いて第２の目（右目）用の光線を取込むことを含む。
【００３４】
一般に、オプティカルフローモジュール１１６はオプティカルフロー手法を使用して、カメラの球状集団における隣接ペアのカメラ間のオプティカルフローを計算することにより、正確なモノパノラマおよびステレオ球状パノラマ（たとえば、全方向ステレオまたはメガステレオパノラマ用のパノラマツイスト）を生成し得る。カメラの集団は、空間における各点が少なくとも３台のカメラに見えるように、カメラ配置の制約を受ける場合がある。
【００３５】
いくつかの実現化例では、ここに説明されるカメラリグは、アーチファクト（たとえば、つなぎ合わせエラー／アーチファクト、カメラ境界上のオブジェクトの不連続性、境界での欠損データ、または境界近くでの２重の画像コンテンツ、裂けたオブジェクト、ゆがんたオブジェクト、除去されたコンテンツなど）を減少させるかまたは除去するという利点を提供し得る。アーチファクトは、動画コンテンツを表わすビデオコンテンツについて特に良好に除去され得る。そのようなアーチファクトの除去は、重複したビデオ／画像コンテンツを含むトライアドのカメラを有する球状カメラリグの使用に基づいて可能であり、重複したビデオ／画像コンテンツは、カメラが取込んだ重複画像エリアにアクセスし、オプティカルフロー手法を行ない、アーチファクト／エラーを提供したと思われる画像エリアを再計算することによって、つなぎ合わせエラー／アーチファクトを訂正するために使用され得る。
【００３６】
ここに説明されるシステムおよび方法は、３Ｄ球状形状のカメラリグ（または他の３Ｄ形状のカメラリグ）の周りの取込可能な任意の点でステレオ３Ｄコンテンツを生成するために使用され得る。そのような広く取込まれたコンテンツは、数学的な方法が、スチルまたはビデオコンテンツ内の任意の場所にステレオ３Ｄ効果／ビデオコンテンツを戦略的に設置しつつ、他の場所で３Ｄを除去するかまたは３Ｄ効果を提供せず、ストリーミング帯域幅、処理パワー、および／または記憶空間を節約することを可能にする。
【００３７】
深度マップ生成器１２０は、カメラリグ１０２を用いて取込まれた画像に関するオプティカルフローデータ（たとえばフロー場）にアクセスし、そのようなフローデータを使用して、取込画像コンテンツについての深度マップを計算し得る。たとえば、深度マップ生成器１２０は、さまざまな方向を指し示すリグ１０２上の多くのカメラからの画像データを使用し得る。深度マップ生成器１２０はステレオ整合アルゴリズムにアクセスし、それを採用して、取込画像に表わされた各画素についての深度値を計算し得る。さまざまなカメラからのビューと深度値とが組合されて、各画素についてのＲ（赤）値、Ｇ（緑）値、Ｂ（青）値および深度値を有する１つの球状画像になり得る。ビューアでは、深度マップ生成器１２０は、球の各点が深度値と等しい半径を有するように、すべての画素で深度値を得ることによって構成された３Ｄ空間における表面へのＲＧＢ画像のテクスチャマップを行ない得る。この手法は、典型的には深度値および／または深度マップではなくステレオペアを使用する３Ｄ球状画像手法とは異なるかもしれない。
【００３８】
一般に、深度マップ生成器１２０は、球状画像とともに送信される深度マップを生成する。画像コンテンツとともに深度マップを送信することは、ユーザが、極（たとえば、ユーザの上方の北、およびユーザの下方の南）を含む全方向を見て３Ｄコンテンツを見ることを可能にするという利点を提供できる。加えて、画像コンテンツとともに深度マップを送信することはまた、ユーザが自分の頭部を傾け、依然として３Ｄ効果を見ることを可能にすることもできる。一例では、深度情報が画像コンテンツとともに送信されるため、ユーザは、自分の名目上の場所から（たとえばＸ、Ｙ、および／またはＺ方向に）わずかな距離動き回ることができてもよく、オブジェクトが正しい方法で動くのを適切な視差で見ることができてもよい。ＶＲ空間内でのユーザの動きは実際の動きと呼ばれてもよく、システム１００はユーザ位置を追跡できる。
【００３９】
計算されたオプティカルフローデータ（光照射野送信データを含む）は、球状ビデオデータと組合されてＨＭＤデバイス（または他のデバイス）に送信され、ＨＭＤデバイスにアクセスしているユーザのために左および右のビューを生成し得る。いくつかの実現化例では、深度マップ生成器１２０は、各目について別々のおよび別個の球状画像およびＲＧＢデータを提供し得る。
【００４０】
いくつかの実現化例では、オプティカルフロー補間は、ＨＭＤデバイス１１０と通信しているコンピュータシステムによって実行可能であり、特定の画像コンテンツがＨＭＤデバイスに送信可能である。他の実現化例では、３Ｄ画像コンテンツを表示のために修正するために、補間がＨＭＤデバイス１１０でローカルに実行可能である。フローデータは、ＨＭＤデバイス１１０にアクセスしている左および右目用の左および右のビューを生成するために使用され得る。補間は、ＨＭＤデバイス１１０で実行可能である。なぜなら、システム１１０は、組合されたデータ（たとえば、球状ビデオデータおよびオプティカルフローデータ）をランタイムに提供するためである。
【００４１】
いくつかの実現化例では、３Ｄ発生器モジュール１２２は、オプティカルフローデータおよび深度マップデータを使用して、画像コンテンツ内に３Ｄ領域を生成し、ＶＲ空間でそのような３Ｄ効果をユーザに提供する。３Ｄ効果は、手動または自動で設置されるようトリガされ得る。たとえば、特定の画像コンテンツの３Ｄ局面は、監督の決定時の後処理での取込後に構成され得る。特に、監督は、自分のＶＲ空間におけるシーンが、ＶＲ空間において飛行機およびヘリコプターがユーザの頭上を飛ぶようシミュレートされる飛行機およびヘリコプターのシーケンスを提供するように構成され得る、と判断できる。監督は、３Ｄ生成器ツール（図示せず）を含む１組のツールにアクセスして、３Ｄ効果をビデオコンテンツに適用してもよい。この例では、監督は、ユーザは飛行機またはヘリコプターの騒音が聞こえると空を見上げるであろうと判断でき、飛行機およびヘリコプターを３Ｄコンテンツとして提供するために３Ｄ生成器ツールを使用してビデオ画像コンテンツを調節できる。そのような例では、監督は、ユーザはヘリコプターおよび飛行機が通り過ぎるまで空を見上げているかもしれないため、他の周囲のビデオコンテンツは、３Ｄコンテンツとして提供された場合に、ユーザに使用をあまり提供しないかもしれない、と判断できる。したがって、監督は、ヘリコプターおよび飛行機を含むシーケンスの終了が予定されると、３Ｄ効果を空からビデオコンテンツにおける別のエリアに調節するようにビデオコンテンツを構成できる。
【００４２】
３Ｄ効果を含む画像コンテンツの部分を手動で選択することは、たとえばＶＲ映画監督によってトリガされ得る。監督は、コンテンツに基づいて、または所望のユーザ応答に基づいて画像コンテンツを構成してもよい。たとえば、監督は、ユーザの注目をコンテンツ内のどこかに集中させたいかもしれず、ほんの数例を挙げると、データへの有用なアクセス、芸術的ビジョン、または滑らかな遷移を提供するために、そうすることができる。監督は、画像コンテンツ内に３Ｄ変更を予め構成し、そのような変更がＶＲ空間でユーザに表示される時間を調節することができる。
【００４３】
３Ｄ効果を含む画像コンテンツの部分を自動的に選択することは、効果をトリガするためにユーザ入力を使用することを含み得る。たとえば、システム１００は、ＶＲ空間においてコンテンツにアクセスしているユーザの検出された頭部の傾きに基づいて、３Ｄ効果を画像コンテンツ内に現われるようトリガするために使用され得る。ユーザの他の動き、コンテンツ変更、センサ、および場所ベースの効果が、３Ｄ効果の特定の適用または除去をトリガするための入力として使用され得る。一例では、ステージ上のコンサートをＶＲ空間において３Ｄで表わすことができ、一方、ユーザはコンサート中にまず振り返らないため、コンサートにアクセスしているユーザの背後の観衆は２Ｄのままであってもよい。しかしながら、ユーザが振り返ることを選択した場合、３Ｄ効果は、ステージ／コンサート画像コンテンツから観客画像コンテンツにシフトされ得る。
【００４４】
例示的なシステム１００では、デバイス１０６、１０８、および１１２は、ラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイス、またはゲーム機であってもよい。いくつかの実現化例では、デバイス１０６、１０８、および１１２は、ＨＭＤデバイス１１０内に配置され（たとえば設置され／位置し）得るモバイルコンピューティングデバイスであり得る。モバイルコンピューティングデバイスは、たとえば、ＨＭＤデバイス１１０のためのスクリーンとして使用され得るディスプレイデバイスを含み得る。デバイス１０６、１０８、および１１２は、ＶＲアプリケーションを実行するためのハードウェアおよび／またはソフトウェアを含み得る。加えて、デバイス１０６、１０８、および１１２は、これらのデバイスがＨＭＤデバイス１１０の前に設置されるか、またはＨＭＤデバイス１１０に対してある範囲の位置内に保持される場合に、ＨＭＤデバイス１１０の３Ｄ移動を認識、監視、および追跡可能なハードウェアおよび／またはソフトウェアを含み得る。いくつかの実現化例では、デバイス１０６、１０８、および１１２は、追加のコンテンツをネットワーク１０４を通してＨＭＤデバイス１１０に提供し得る。いくつかの実現化例では、デバイス１０２、１０６、１０８、１１０、および１１２は、ネットワーク１０４を介してペアリングされるかまたは接続された互いのうちの１つ以上と接続／インターフェイス接続され得る。この接続は有線でも無線でもよい。ネットワーク１０４は公衆通信ネットワークでも私設通信ネットワークでもよい。
【００４５】
システム１００は電子記憶装置を含んでいてもよい。電子記憶装置は、情報を電子的に格納する非一時的記憶媒体を含み得る。電子記憶装置は、取込画像、取得画像、前処理された画像、後処理された画像などを格納するように構成されてもよい。開示されるカメラリグのいずれかを用いて取込まれた画像は、ビデオの１つ以上のストリームとして処理されて格納され得るか、または個々のフレームとして格納され得る。いくつかの実現化例では、格納は取込時に起こり、レンダリングは取込みの部分の直後に起こり、取込みおよび処理が同時でなかった場合よりも早く、パノラマステレオコンテンツへの高速アクセスを可能とし得る。
【００４６】
図２は、ビデオコンテンツの３Ｄ部分を生成する際に使用するシーンの画像を取込むように構成された例示的な球状カメラリグ２００を示す図である。カメラリグ２００は、多くのカメラ２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６、および２１８を含む。カメラ２０２〜２１８は、球状形状のリグに取付けられて図示されている。球の他の角度についての追加のカメラは図２に示されていないが、そのような他の角度から画像コンテンツを収集するように構成されている。カメラ２０２〜２１８は、３つのカメラの各々が、球を包囲する各点／エリアについて画像コンテンツを取込むために、ともに機能できるように配置される。各点／エリアを取込むことは、リグ２００を包囲するシーンの静止画像またはビデオ画像を取込むことを含む。カメラ２０２〜２１８は、球（または他の形状のリグ）に当たって設置され得る。いくつかの実現化例では、カメラ２０２〜２１８（および／または、より多いかより少ないカメラ）は、追加の画像コンテンツを取込むために球に対して傾斜して設置され得る。
【００４７】
非限定的な一例では、カメラ２０２、２０４、および２０６は、球を包囲するシーンのエリアの画像を取込むために配置され得る。取込画像は分析され、ともに組合され（たとえばつなぎ合わされ）て、ＶＲ空間においてユーザのための可視シーンを形成し得る。同様に、カメラ２０４を用いて取込まれた画像が、カメラ２０２および２０８を用いて取込まれた画像と組合されて、可視シーンの別のエリアを提供し得る。カメラ２０２、２０８、および２１０を用いて取込まれた画像同士は、カメラ２０６、２１２、および２１４と同じやり方で組合され得る。カメラ間のより広い空間も可能になり得る。たとえば、カメラ２１０、２１２、および２１６を用いて取込まれた画像同士を組合せて、リグ２００の半球の半分から見えるシーン（たとえば点）についての画像コンテンツを提供することができる。球２００の半球の別の半分からの可視画像を提供するために、同様の組合せがカメラ２１０、２１２、および２１８を用いて作られ得る。いくつかの実現化例では、カメラリグ２００の直径２２０は、約０．１５メートル〜約１．５メートルのどこかにあってもよい。非限定的な一例では、直径２２０は約０．２〜約０．９メートルである。別の非限定的な例では、直径２２０は約０．５〜約０．６メートルである。いくつかの実現化例では、カメラ間の間隔は約０．０５メートル〜約０．６メートルであり得る。非限定的な一例では、カメラ間の間隔は約０．１メートルである。
【００４８】
いくつかの実現化例では、空間における各点を取込むために、カメラの集団は、そのような球状カメラリグ（または他の３Ｄ形状のリグ）上に、多くの方向において配置され得る。すなわち、空間における各点は、少なくとも３つのカメラによって取込まれてもよい。一例では、多くのカメラができるだけ接近して球上に（たとえば、二十面体の各隅、ジオデシックドームの各隅などに）配置され得る。多くのリグ構成を以下に説明する。本開示で説明される各構成は、前述のまたは他の直径およびカメラ間距離を有して構成され得る。
【００４９】
図３を参照して、二十面体状カメラリグ３００が示される。カメラリグ３００上には多くのカメラが搭載され得る。カメラは、カメラ３０２、３０４、および３０６によって図示されるように、二十面体における三角形の点に設置され得る。これに代えて、またはこれに加えて、カメラは、カメラ３０８、３１０、３１２、および３１４によって図示されるように、二十面体の三角形の中心に設置され得る。二十面体の辺の周りに、カメラ３１６、３１８、３２０、３２２、および３２４が図示されている。二十面体の周りに、追加のカメラが含まれ得る。カメラ間隔および直径３２６は、本開示全体にわたって説明される他のカメラリグと同様に構成されてもよい。いくつかの実現化例では、カメラは、カメラリグに対して接線方向に設置され得る。他の実現化例では、各カメラは、カメラリグに対してさまざまな角度で設置され得る。
【００５０】
カメラリグ３００は静止していてもよく、視野が広いカメラ３０２〜３２４で構成されてもよい。たとえば、カメラ３０２〜３２４は、約１５０度〜約１８０度の視野を取込むことができる。カメラ３０２〜３２４は、より広いビューを取込むために魚眼レンズを有していてもよい。いくつかの実現化例では、隣り合うカメラ（たとえば、３０２および３２０）はステレオペアとして機能でき、第３のカメラ３０６がカメラ３０２および３２０の各々とペアになって、カメラ３０２、３０６、および３２０から取得された画像からオプティカルフローが計算され得るステレオトライアドのカメラを生成し得る。同様に、図３に示されない数あるカメラ組合せの中でも特に、以下のカメラは、３Ｄ画像を生成するために組合せ可能画像を生成し得る：（カメラ３０２、３１２、および３２４）、（カメラ３０２、３０４、および３２４）、（カメラ３０４、３１６、および３２４）、（カメラ３０２、３０６、および３２０）、（カメラ３０４、３１６、および３１８）、（カメラ３０４、３０６、および３１８）、ならびに（カメラ３１０、３１２、および３１４）。
【００５１】
いくつかの実現化例では、カメラリグ３００（およびここに説明される他のカメラ）は、シーン３３０などのシーンの画像を取込むように構成され得る。画像は、シーン３３０の部分、シーン３３０のビデオ、またはシーン３３０のパノラマビデオを含んでいてもよい。動作時、ここに説明されるシステムは、そのような取込画像を検索し、コンテンツを処理して、取込画像内の特定の領域を３次元フォーマットで表示することができる。たとえば、ここに説明されるシステムは、２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断できる。例示的な領域は、領域３３２、３３４、および３３６を含む。そのような領域は、ユーザにより選択され、監督により選択され、または自動的に選択され得る。いくつかの実現化例では、領域は、画像が取込まれた後に、およびＨＭＤデバイスでの画像の表示中に選択され得る。シーン３３０全体を通して他の領域が選択可能であり、領域３３２、３３４、および３３６は例示的な領域を表わす。領域３３２は、取込経路３３８、３４０、および３４２を使用してリグ３００によって取込まれた領域を示す。
【００５２】
図４を参照して、六角形球カメラリグ４００が示される。カメラリグ４００上には多くのカメラが搭載され得る。カメラは、カメラ４０２、４０４、および４０６によって図示されるように、六角形の点に、または六角形の辺に沿って設置され得る。これに代えて、またはこれに加えて、カメラは、六角形の中心に設置され得る。六角形球カメラリグ４００の周りに、追加のカメラが含まれ得る。カメラ間隔および直径４０８は、本開示全体にわたって説明される他のカメラリグと同様に構成されてもよい。
【００５３】
図５は、ＶＲ空間にアクセスしているユーザに３Ｄ画像コンテンツのエリアを提供するためのプロセス５００の一実施形態を示すフローチャートである。プロセス５００は、取込画像を使用して、ＲＧＢデータを含むもののそれに限定されない画像データを検索および／または計算することができ、そのようなデータを使用して、画像の領域における画素の一部に関連付けられた深度値データを計算することができる。システムは、頭部装着型ディスプレイデバイスにおける表示のために領域の３次元バージョンを提供するために、画像データを使用して領域の２次元バージョンを領域の３次元バージョンに変換することができる。
【００５４】
ブロック５０２で、システム１００は、２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断し得る。複数の画像は、静止画像、ビデオ、画像の部分、および／またはビデオの部分であってもよい。いくつかの実現化例では、複数の画像は、球状形状のカメラリグ上に搭載された多くのカメラを用いて取込まれたビデオ画像コンテンツを含んでいてもよい。いくつかの実現化例では、２次元データを３次元データに変換するための領域を判断するステップは、ディスプレイデバイス１０６などの頭部装着型ディスプレイで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれる。ユーザ入力は、頭部回転、凝視方向の変更、手ぶり、場所変更などを含んでいてもよい。いくつかの実現化例では、領域を判断するステップは、特定のビデオまたは画像内に３Ｄ領域を提供するというＶＲ映画監督の選択に基づいて、手動で起こり得る。
【００５５】
ブロック５０４で、システム１００は、その領域における画素の一部について深度値を計算し得る。いくつかの実現化例では、システム１００は、領域における各画素について深度値を計算し得る。深度値を計算するステップは、複数のカメラによって取込まれた多くの領域を比較するステップを含んでいてもよい。たとえば、領域３３２の３つの画像が、領域３３２に対して異なる角度にある３つのカメラ（たとえば、カメラ３０４、３１６、および３２４）によって取込まれ得る。システム１００は、画素強度の精度を判断するために、３つの画像中の画素強度および場所を比較し得る。比較を使用して、深度値が、領域３３２における１つ以上の画素について計算され得る。画素強度の精度を確認するために、他の基準オブジェクトがシーンで比較され得る。
【００５６】
ブロック５０６で、システム１００は球状画像を生成し得る。球状画像を生成するステップは、画像データを使用して、画像の球状にフォーマット化されたバージョンを計算するステップを含み得る。
【００５７】
ブロック５０８で、システム１００は、画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成し得る。たとえば、画素の一部は、領域における画素の一部のうちの１つ以上に関連付けられた対応する深度値と等しい半径で、コンピュータグラフィックスオブジェクトの表面上に表わされてもよい。コンピュータグラフィックスオブジェクトは、球、二十面体、三角形、または他の多角形であってもよい。
【００５８】
ブロック５１０で、システム１００は、画像データを使用して、コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを生成し得る。テクスチャマッピングは、画像データをコンピュータグラフィックスオブジェクトの表面にマッピングすることを含んでいてもよい。ブロック５１２で、システム１００は、頭部装着型ディスプレイデバイスにおける表示のために、球状画像およびテクスチャマッピングを送信し得る。
【００５９】
ブロック５１２で、システム１００は、頭部装着型ディスプレイデバイスにおける表示のために、球状画像およびテクスチャマッピングを送信し得る。いくつかの実現化例では、プロセス５００は、領域についての追加の球状画像およびテクスチャマッピングを生成するステップと、画像データの一部と球状画像とを組合せることによって、左目ビューを生成するステップとを含んでいてもよい。プロセス５００は加えて、追加の画像データを生成し、追加の画像データと追加の球状画像とを組合せることによって、右目ビューを生成するステップを含み得る。プロセス５００は加えて、頭部装着型ディスプレイデバイスにおいて左目ビューおよび右目ビューを表示するステップを含み得る。いくつかの実現化例では、画像データは、領域における画素の一部のうちの少なくともいくつかについての深度値データおよびＲＧＢデータを含む。
【００６０】
表示は、領域に３Ｄ画像コンテンツを含んでいてもよい。方法はまた、追加の球状画像およびテクスチャマッピングを生成するステップと、深度値の一部をＲＧＢデータおよび球状画像と組合せることによって、左目ビューを生成するステップと、追加の深度値を生成し、追加の深度値を更新されたＲＧＢデータおよび追加の球状画像と組合せることによって、右目ビューを生成するステップと、頭部装着型ディスプレイデバイスにおいて左目ビューおよび右目ビューを表示するステップとを含んでいてもよい。
【００６１】
いくつかの実現化例では、ここに説明されるシステムは、任意の数のカメラを用いて画像を取得するように構成されてもよい。たとえば、カメラ４０２、４０４、および４０６（図４）を使用して、特定の画像を取込むことができる。ここに説明されるシステムは、取込画像のうちの１つ以上を使用して、頭部装着型ディスプレイデバイスに提供するための少なくとも２つの更新画像を生成し得る。更新画像は、２Ｄまたは３Ｄコンテンツを提供するように構成されてもよい。３Ｄコンテンツは、更新画像の部分または更新画像のすべてにおいて構成され得る。更新画像は、たとえばカメラ４０２、４０４、および４０６などの物理的カメラから取込まれた画像から生成された仮想カメラ視点を使用して生成されてもよい。視点は、画像の特定の領域において特定の３Ｄコンテンツを提供するために選択された１つ以上のオフセットに関していてもよい。
【００６２】
いくつかの実現化例では、更新画像は、特定のオフセットから生成された画像データを含む。たとえば、ある更新画像は、コンテンツにおける画素の一部が１つ以上のカメラ４０２、４０４、または４０６の左側に面するオフセットから取込まれた画像コンテンツを含んでいてもよい。別の更新画像は、コンテンツにおける画素の一部が１つ以上のカメラ４０２、４０４、または４０６の右側に面するオフセットから取込まれた画像コンテンツを含んでいてもよい。
【００６３】
一般に、更新画像は、オフセット画像コンテンツ、仮想コンテンツ、さまざまなカメラ角度からのコンテンツ、操作された画像コンテンツ、およびそれらの組合せを含んでいてもよい。いくつかの実現化例では、更新画像は、少なくとも１つの仮想カメラの視点を補間することによって生成されてもよい。補間は、取込画像における複数の画素をサンプリングすることと、オプティカルフローを使用して仮想コンテンツを生成することと、仮想コンテンツが更新画像のうちの少なくとも１つの内部に設置されるよう適合させることとを含んでいてもよい。
【００６４】
仮想カメラは、予め規定された中心線からの左側オフセットでコンテンツを取込み、予め規定された中心線からの右側オフセットでコンテンツを取込むように構成されてもよい。左側オフセットおよび右側オフセットは修正可能であり、また、頭部装着型ディスプレイにおける正確な表示のために画像を適合させるために機能的であってもよい。
【００６５】
仮想カメラは、１つ以上の物理的カメラを用いて取込まれたコンテンツを利用し、コンテンツを補間された視点から提供されるよう適合させるように構成されてもよい。特に、仮想カメラは、１つ以上の物理的カメラによって生成された任意のオフセット（角度）を取込むように適合され得る。オフセットは視点を規定してもよい。オフセットは、物理的カメラの中心線から、または２つの物理的カメラ間に規定された中心線から規定されてもよい。コンテンツの補間は、いずれかの中心線からの任意のオフセットを有するコンテンツを生成するために調整可能であり、オフセットの量および方向は、ＨＭＤディスプレイデバイスにおいて提供される画像において３次元効果の正確な描写を保証するように選択され得る。
【００６６】
少なくとも２つの更新画像を生成すると、ここに説明されるシステムは、頭部装着型ディスプレイの左アイピースに提供するための第１の球状画像を生成するために、第１の画像を第１の球面にマッピングするように構成されてもよい。同様に、ここに説明されるシステムは、頭部装着型ディスプレイの右アイピースに提供するための第２の球状画像を生成するために、第２の画像を第２の球面にマッピングするように構成されてもよい。第１の画像のマッピングおよび第２の画像のマッピングは、第１の画像および第２の画像にテクスチャを適用することを含んでいてもよい。テクスチャの適用は、詳細に上述されたように、第１の画像から第１の球面に画素座標を割当てること、および、第２の画像から第２の球面に画素座標を割当てることを含んでいてもよい。
【００６７】
図６は、ここに説明される手法を用いて使用され得る汎用コンピュータデバイス６００および汎用モバイルコンピュータデバイス６５０の例を示す。コンピューティングデバイス６００は、プロセッサ６０２と、メモリ６０４と、記憶装置６０６と、メモリ６０４および高速拡張ポート６１０に接続している高速インターフェイス６０８と、低速バス６１４および記憶装置６０６に接続している低速インターフェイス６１２とを含む。コンポーネント６０２、６０４、６０６、６０８、６１０、および６１２の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ６０２は、コンピューティングデバイス６００内で実行される命令を処理可能であり、これらの命令は、ＧＵＩのためのグラフィック情報を、高速インターフェイス６０８に結合されたディスプレイ６１６などの外部入出力デバイス上に表示するために、メモリ６０４内または記憶装置６０６上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。加えて、複数のコンピューティングデバイス６００が接続されてもよく、各デバイスは（たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の部分を提供する。
【００６８】
メモリ６０４は、情報をコンピューティングデバイス６００内に格納する。一実現化例では、メモリ６０４は１つまたは複数の揮発性メモリユニットである。別の実現化例では、メモリ６０４は１つまたは複数の不揮発性メモリユニットである。メモリ６０４はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【００６９】
記憶装置６０６は、コンピューティングデバイス６００のための大容量記憶を提供可能である。一実現化例では、記憶装置６０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラム製品が情報担体において有形に具体化され得る。コンピュータプログラム製品はまた、実行されると上述のような１つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ６０４、記憶装置６０６、またはプロセッサ６０２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【００７０】
高速インターフェイス６０８はコンピューティングデバイス６００のための帯域幅集約的な動作を管理し、一方、低速コントローラ６１２はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示に過ぎない。一実現化例では、高速コントローラ６０８は、メモリ６０４、ディスプレイ６１６に（たとえば、グラフィックスプロセッサまたはアクセラレータを介して）、および、さまざまな拡張カード（図示せず）を受付け得る高速拡張ポート６１０に結合される。この実現化例では、低速インターフェイス６１２は、記憶装置６０６および低速拡張ポート６１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの１つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【００７１】
コンピューティングデバイス６００は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ６２０として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム６２４の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ６２２などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス６００からのコンポーネントは、デバイス６５０などのモバイルデバイス（図示せず）における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス６００、６５０のうちの１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス６００、６５０で構成されてもよい。
【００７２】
コンピューティングデバイス６５０は、数あるコンポーネントの中でも特に、プロセッサ６５２と、メモリ６６４と、ディスプレイ６５４などの入出力デバイスと、通信インターフェイス６６６と、トランシーバ６６８とを含む。デバイス６５０にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント６５０、６５２、６６４、６５４、６６６、および６６８の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
【００７３】
プロセッサ６５２は、メモリ６６４に格納された命令を含む、コンピューティングデバイス６５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス６５０が実行するアプリケーション、およびデバイス６５０による無線通信の制御といった、デバイス６５０の他のコンポーネント同士の連携を提供してもよい。
【００７４】
プロセッサ６５２は、ディスプレイ６５４に結合された制御インターフェイス６５８およびディスプレイインターフェイス６５６を介してユーザと通信してもよい。ディスプレイ６５４は、たとえば、ＴＦＴ  ＬＣＤ（Thin-Film-Transistor Liquid Crystal Display：薄膜トランジスタ液晶ディスプレイ）、またはＯＬＥＤ（Organic Light Emitting Diode：有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス６５６は、ディスプレイ６５４を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス６５８は、ユーザからコマンドを受信し、それらをプロセッサ６５２に送出するために変換してもよい。加えて、デバイス６５０と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス６６２がプロセッサ６５２と通信した状態で設けられてもよい。外部インターフェイス６６２は、たとえば、ある実現化例では有線通信を提供し、他の実現化例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
【００７５】
メモリ６６４は、情報をコンピューティングデバイス６５０内に格納する。メモリ６６４は、１つまたは複数のコンピュータ読取可能媒体、１つまたは複数の揮発性メモリユニット、もしくは、１つまたは複数の不揮発性メモリユニットの１つ以上として実現され得る。拡張メモリ６７４も設けられ、拡張インターフェイス６７２を介してデバイス６５０に接続されてもよく、拡張インターフェイス６７２は、たとえばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含んでいてもよい。そのような拡張メモリ６７４は、デバイス６５０に余分の格納スペースを提供してもよく、もしくは、デバイス６５０のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ６７４は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全な情報も含んでいてもよい。このため、たとえば、拡張メモリ６７４はデバイス６５０のためのセキュリティモジュールとして設けられてもよく、デバイス６５０の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でＳＩＭＭカード上に識別情報を乗せるといったように、安全なアプリケーションが追加情報とともにＳＩＭＭカードを介して提供されてもよい。
【００７６】
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび／またはＮＶＲＡＭメモリを含んでいてもよい。一実現化例では、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述のような１つ以上の方法を行なう命令を含む。情報担体は、メモリ６６４、拡張メモリ６７４、またはプロセッサ６５２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ６６８または外部インターフェイス６６２を通して受信され得る。
【００７７】
デバイス６５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス６６６を介して無線通信してもよい。通信インターフェイス６６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ６６８を介して生じてもよい。加えて、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）などを使用して、短距離通信が生じてもよい。加えて、ＧＰＳ（Global Positioning System：全地球測位システム）レシーバモジュール６７０が、追加のナビゲーション関連および位置関連無線データをデバイス６５０に提供してもよく、当該データは、デバイス６５０上で実行されるアプリケーションによって適宜使用されてもよい。
【００７８】
デバイス６５０はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック６６０を使用して、音声通信してもよい。音声コーデック６６０はまた、たとえばデバイス６５０のハンドセットにおいて、スピーカを介すなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音（たとえば、音声メッセージ、音楽ファイルなど）を含んでいてもよく、デバイス６５０上で動作するアプリケーションが生成する音も含んでいてもよい。
【００７９】
コンピューティングデバイス６５０は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話６８０として実現されてもよい。それはまた、スマートフォン６８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【００８０】
ここに説明されたシステムおよび手法のさまざまな実現化例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（application specific integrated circuit：特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現され得る。これらのさまざまな実現化例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実現化例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するとともに、これらにデータおよび命令を送信するように結合されてもよい。
【００８１】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知）は、プログラマブルプロセッサのための機械命令を含んでおり、高レベル手続き型および／またはオブジェクト指向プログラミング言語で、および／またはアセンブリ／機械言語で実現され得る。ここに使用されるように、「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および／またはデバイス（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ））を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【００８２】
ユーザとのやりとりを提供するために、ここに説明されたシステムおよび手法は、情報をユーザに表示するためのディスプレイデバイス（たとえば、ＣＲＴ（cathode ray tube：陰極線管）またはＬＣＤ（liquid crystal display：液晶ディスプレイ）モニタ）と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス（たとえば、マウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを使用してユーザとのやりとりを提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。
【００８３】
ここに説明されたシステムおよび手法は、（たとえばデータサーバとしての）バックエンドコンポーネントを含む、またはミドルウェアコンポーネント（たとえばアプリケーションサーバ）を含む、またはフロントエンドコンポーネント（たとえば、ユーザがここに説明されたシステムおよび手法の実現化例とやりとりできるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）を含む、もしくは、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信（たとえば通信ネットワーク）によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（local area network：ＬＡＮ）、ワイドエリアネットワーク（wide area network：ＷＡＮ）、およびインターネットを含む。
【００８４】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的には通信ネットワークを介してやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００８５】
いくつかの実現化例では、図６に示すコンピューティングデバイスは、バーチャルリアリティ（ＶＲヘッドセット６９０）とインターフェイス接続するセンサを含み得る。たとえば、図６に示すコンピューティングデバイス６５０または他のコンピューティングデバイス上に含まれる１つ以上のセンサは、ＶＲヘッドセット６９０への入力を提供でき、または一般に、ＶＲ空間への入力を提供できる。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含み得るものの、それらに限定されない。コンピューティングデバイス６５０はこれらのセンサを使用して、ＶＲ空間におけるコンピューティングデバイスの絶対位置および／または検出された回転を判断可能であり、それは次に、ＶＲ空間への入力として使用され得る。たとえば、コンピューティングデバイス６５０は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてＶＲ空間に組込まれてもよい。ＶＲ空間に組込まれた場合のコンピューティングデバイス／仮想オブジェクトのユーザによる位置付けは、ユーザが、ＶＲ空間において仮想オブジェクトをある態様で見るようにコンピューティングデバイスを位置付けることを可能にし得る。たとえば、仮想オブジェクトがレーザポインタを表わす場合、ユーザは、コンピューティングデバイスを、実際のレーザポインタであるかのように操作することができる。ユーザはコンピューティングデバイスをたとえば左右に、上下に、円形に動かして、レーザポインタを使用するのと同様の態様でデバイスを使用することができる。
【００８６】
いくつかの実現化例では、コンピューティングデバイス６５０上に含まれ、またはコンピューティングデバイス６５０に接続された１つ以上の入力デバイスは、ＶＲ空間への入力として使用され得る。入力デバイスは、タッチスクリーン、キーボード、１つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロホン、入力機能性を有するイヤホンまたは小型イヤホン、ゲーミングコントローラ、または他の接続可能な入力デバイスを含み得るものの、それらに限定されない。コンピューティングデバイスがＶＲ空間に組込まれた場合にコンピューティングデバイス６５０上に含まれる入力デバイスとやりとりするユーザは、特定のアクションがＶＲ空間で生じるようにすることができる。
【００８７】
いくつかの実現化例では、コンピューティングデバイス６５０のタッチスクリーンは、ＶＲ空間においてタッチパッドとしてレンダリングされ得る。ユーザは、コンピューティングデバイス６５０のタッチスクリーンとやりとりすることができる。やりとりは、たとえばＶＲヘッドセット６９０において、ＶＲ空間におけるレンダリングされたタッチパッド上の動きとしてレンダリングされる。レンダリングされた動きは、ＶＲ空間においてオブジェクトを制御することができる。
【００８８】
いくつかの実現化例では、コンピューティングデバイス６５０上に含まれる１つ以上の出力デバイスは、ＶＲ空間においてＶＲヘッドセット６９０のユーザに出力および／またはフィードバックを提供することができる。出力およびフィードバックは、視覚、触覚、または音声によるものであり得る。出力および／またはフィードバックは、振動、１つ以上のライトまたはストロボをオンオフすることもしくは点滅および／または明滅させること、アラームを鳴らすこと、チャイムを鳴らすこと、歌を演奏すること、および音声ファイルを演奏することを含み得るものの、それらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード（ＬＥＤ）、ストロボ、およびスピーカを含み得るものの、それらに限定されない。
【００８９】
いくつかの実現化例では、コンピューティングデバイス６５０は、コンピュータが生成した３Ｄ環境において別のオブジェクトのように見えてもよい。ユーザによるコンピューティングデバイス６５０とのやりとり（たとえば、タッチスクリーンを回転させ、振動させること、タッチスクリーンに触れること、タッチスクリーンを横切って指をスワイプすること）は、ＶＲ空間におけるオブジェクトとのやりとりとして解釈され得る。ＶＲ空間におけるレーザポインタの例では、コンピューティングデバイス６５０は、コンピュータが生成した３Ｄ環境において仮想レーザポインタのように見える。ユーザがコンピューティングデバイス６５０を操作すると、ユーザはＶＲ空間においてレーザポインタの動きを見る。ユーザは、コンピューティングデバイス６５０上またはＶＲヘッドセット６９０上で、ＶＲ空間におけるコンピューティングデバイス６５０とのやりとりからフィードバックを受信する。
【００９０】
いくつかの実現化例では、コンピューティングデバイスに加えて１つ以上の入力デバイス（たとえばマウス、キーボード）が、コンピュータが生成した３Ｄ環境においてレンダリングされ得る。レンダリングされた入力デバイス（たとえば、レンダリングされたマウス、レンダリングされたキーボード）は、ＶＲ空間においてオブジェクトを制御するために、ＶＲ空間においてレンダリングされたとして使用され得る。
【００９１】
コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス６５０は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は、単なる例示であるよう意図されており、本文書に記載のおよび／または請求項に記載の本発明の実現化例を限定するよう意図されてはいない。
【００９２】
多くの実施形態を説明してきた。しかしながら、明細書の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。
【００９３】
加えて、図面に示す論理フローは、所望の結果を達成するために、図示された特定の順序または順番を必要としない。加えて、説明されたフローに他のステップが提供されてもよく、または当該フローからステップが除去されてもよく、説明されたシステムに他のコンポーネントが追加されてもよく、または当該システムから除去されてもよい。したがって、他の実施形態は以下の請求項の範囲内にある。
【００９４】
以下の例において、さらなる実現化例を要約する。
例１：コンピュータにより実現される方法であって、２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断するステップと、領域における画素の一部について深度値を計算するステップと、領域における画素の一部についての画像データを含む球状画像を生成するステップと、画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成するステップと、画像データを使用して、コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを生成するステップとを含み、テクスチャマッピングは、画像データをコンピュータグラフィックスオブジェクトの表面にマッピングすることを含み、方法はさらに、頭部装着型ディスプレイデバイスにおける表示のために、球状画像およびテクスチャマッピングを送信するステップを含む、方法。
【００９５】
例２：画素の一部は、領域における画素の一部のうちの１つ以上に関連付けられた対応する深度値と等しい半径で、コンピュータグラフィックスオブジェクトの表面上に表わされる、例１に記載の方法。
【００９６】
例３：領域に関連付けられた追加の球状画像およびテクスチャマッピングを生成するステップと、画像データの一部と球状画像とを組合せることによって、左目ビューを生成するステップと、追加の画像データを生成し、追加の画像データと追加の球状画像とを組合せることによって、右目ビューを生成するステップと、頭部装着型ディスプレイデバイスにおいて左目ビューおよび右目ビューを表示するステップとをさらに含み、画像データは、領域における画素の一部のうちの少なくともいくつかについての深度値データおよびＲＧＢデータを含む、例１または例２に記載の方法。
【００９７】
例４：複数の画像はビデオコンテンツを含み、画像データは、画素の一部に関連付けられたＲＧＢデータおよび深度値データを含み、方法はさらに、画像データを使用して、領域の２次元バージョンを領域の３次元バージョンに変換するステップと、頭部装着型ディスプレイデバイスにおける表示のために、領域の３次元バージョンを提供するステップとを含む、例１〜３のうちの１つに記載の方法。
【００９８】
例５：複数の画像は、球状形状のカメラリグ上に搭載された複数のカメラを用いて取込まれる、例１〜４のうちの１つに記載の方法。
【００９９】
例６：２次元データを３次元データに変換するための領域を判断するステップは、頭部装着型ディスプレイで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれる、例１〜５のうちの１つに記載の方法。
【０１００】
例７：ユーザ入力は頭部回転を含み、３次元データは、ビューに対応する複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、例６に記載の方法。
【０１０１】
例８：ユーザ入力は凝視方向の変更を含み、３次元データは、ユーザの視線上の複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、例６または例７に記載の方法。
【０１０２】
例９：コンピュータにより実現されるシステムであって、少なくとも１つのプロセッサと、命令を格納するメモリとを含み、命令は、少なくとも１つのプロセッサによって実行されると、システムに複数の動作を行なわせ、複数の動作は、２次元データを３次元データに変換するための、複数のカメラを用いて取込まれた複数の画像内の領域を判断することと、領域における画素の一部について深度値を計算することと、領域における画素の一部についての画像データを含む球状画像を生成することと、画像データを使用して、画像処理システムによって生成されたコンピュータグラフィックスオブジェクトの３次元空間において３次元表面を構成することと、画像データを使用して、コンピュータグラフィックスオブジェクトの表面へのテクスチャマッピングを生成することとを含み、テクスチャマッピングは、画像データをコンピュータグラフィックスオブジェクトの表面にマッピングすることを含み、複数の動作はさらに、頭部装着型ディスプレイデバイスにおける表示のために、球状画像およびテクスチャマッピングを送信することを含む、システム。
【０１０３】
例１０：追加の球状画像およびテクスチャマッピングを生成することと、画像データの一部と球状画像とを組合せることによって、左目ビューを生成することと、追加の画像データを生成し、追加の画像データと追加の球状画像とを組合せることによって、右目ビューを生成することと、頭部装着型ディスプレイデバイスにおいて左目ビューおよび右目ビューを表示することとをさらに含み、画像データは、領域における画素の一部のうちの少なくともいくつかについての深度値データおよびＲＧＢデータを含む、例９に記載のシステム。
【０１０４】
例１１：複数の画像はビデオコンテンツを含み、画像データは、画素の一部に関連付けられたＲＧＢデータおよび深度値データを含み、システムはさらに、画像データを使用して、領域の２次元バージョンを領域の３次元バージョンに変換することと、頭部装着型ディスプレイデバイスにおける表示のために、領域の３次元バージョンを提供することとを含む、例９または例１０に記載のシステム。
【０１０５】
例１２：複数の画像は、球状形状のカメラリグ上に搭載された複数のカメラを用いて取込まれる、例９〜１１のうちの１つに記載のシステム。
【０１０６】
例１３：２次元データを３次元データに変換するための領域を判断することは、頭部装着型ディスプレイで検出されたユーザ入力に少なくとも部分的に基づいて自動的に行なわれる、例９〜１２のうちの１つに記載のシステム。
【０１０７】
例１４：ユーザ入力は凝視方向の変更を含み、３次元データは、ユーザの視線上の複数の画像のうちの少なくとも１つにおいて３次元部分を生成するために使用される、例１３に記載のシステム。
【０１０８】
例１５：コンピュータにより実現される方法であって、複数のカメラを用いて複数の画像を取得するステップと、複数の画像について少なくとも２つの更新画像を生成するステップとを含み、少なくとも２つの更新画像は、予め規定された中心線からの左側オフセットでコンテンツを取込み、予め規定された中心線からの右側オフセットでコンテンツを取込むように構成された少なくとも１つの仮想カメラについての視点を補間することによって生成され、方法はさらに、頭部装着型ディスプレイの左アイピースに提供するための第１の球状画像を生成するために、少なくとも２つの更新画像における第１の画像を第１の球面にマッピングするステップと、頭部装着型ディスプレイの右アイピースに提供するための第２の球状画像を生成するために、少なくとも２つの更新画像における第２の画像を第２の球面にマッピングするステップと、頭部装着型ディスプレイの左アイピースに第１の球状画像を表示し、頭部装着型ディスプレイの右アイピースに第２の球状画像を表示するステップとを含む、方法。
【０１０９】
例１６：少なくとも１つの仮想カメラは、１つ以上の物理的カメラを使用して取込まれたコンテンツを使用し、コンテンツを視点から提供されるよう適合させるように構成される、例１５に記載の方法。
【０１１０】
例１７： 第１の画像のマッピングは、第１の画像から第１の球面に画素座標を割当てることによって第１の画像にテクスチャを適用することを含み、第２の画像のマッピングは、第２の画像から第２の球面に画素座標を割当てることによって第２の画像にテクスチャを適用することを含む、例１５または例１６に記載の方法。
【０１１１】
例１８：視点を補間することは、複数の画像における複数の画素をサンプリングすることと、オプティカルフローを使用して仮想コンテンツを生成することと、少なくとも２つの更新画像のうちの少なくとも１つの内部に仮想コンテンツを設置することとを含む、例１５〜１７のうちの１つに記載の方法。
【０１１２】
例１９：少なくとも２つの球状画像は、左側オフセットで取込まれたコンテンツに含まれる複数の画素のうちの少なくとも一部を有するＲＧＢ画像と、右側オフセットで取込まれたコンテンツに含まれる複数の画素のうちの少なくとも一部を有するＲＧＢ画像とを含む、例１８に記載の方法。
【０１１３】
例２０：左側オフセットおよび右側オフセットは修正可能であり、また、頭部装着型ディスプレイにおける第１の画像および第２の画像の表示精度を適合させるために機能的である、例１５〜１９のうちの１つに記載の方法。
【図１】
0006643357.tif 000002
【図２】
0006643357.tif 000003
【図３】
0006643357.tif 000004
【図４】
0006643357.tif 000005
【図５】
0006643357.tif 000006
【図６】
0006643357.tif 000007