IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ バルブ コーポレーションの特許一覧

特許7608341HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転
<>
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図1
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図2
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図3
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図4
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図5
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図6
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図7
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図8
  • 特許-HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-20
(45)【発行日】2025-01-06
(54)【発明の名称】HMD内のディスプレイパネルおよび/または仮想カメラの反対への回転
(51)【国際特許分類】
   H04N 5/64 20060101AFI20241223BHJP
【FI】
H04N5/64 511A
【請求項の数】 18
(21)【出願番号】P 2021540309
(86)(22)【出願日】2020-01-14
(65)【公表番号】
(43)【公表日】2022-03-11
(86)【国際出願番号】 US2020013438
(87)【国際公開番号】W WO2020150188
(87)【国際公開日】2020-07-23
【審査請求日】2023-01-04
(31)【優先権主張番号】62/792,290
(32)【優先日】2019-01-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/366,981
(32)【優先日】2019-03-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】セラン、ジェレミー・アダム
【審査官】三沢 岳志
(56)【参考文献】
【文献】特開平08-160353(JP,A)
【文献】特開2004-029188(JP,A)
【文献】米国特許出願公開第2012/0127284(US,A1)
【文献】特開平11-295643(JP,A)
【文献】米国特許第07511684(US,B2)
【文献】国際公開第2017/115505(WO,A1)
【文献】国際公開第2017/051564(WO,A1)
【文献】特開2007-133415(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/64
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイ(HMD)システムであって、
ユーザの頭に装着可能なHMDと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、を備え、
前記HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、第1のディスプレイパネルおよび第2のディスプレイパネルを含み、前記第1のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの左眼に対応する位置に取り付けられ、前記第2のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの右目に対応する位置に取り付けられる、一対のディスプレイパネルと、を含み、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを時計回り方向に、直立パネル配向に対して前記第1のディスプレイパネルが回転されられることによる第1の配向に配向され、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りを反時計回り方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが回転させられることによる第2の配向に配向されており、
前記コンピュータ実行可能命令は、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することと、
前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが、直立カメラ配向に対して、前記反時計回り方向に回転されていることを指定する第1の回転カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが、前記直立カメラ配向に対して前記時計回り方向に回転されていることを指定する第2の回転カメラ配向とを含んでいること、
前記アプリケーションから前記フレームを受信することと、
再サンプリングされたフレームの修正されたピクセルデータを取得するために、前記フレームのピクセルデータを修正することによって前記フレームを再サンプリングすることと、
前記修正されたピクセルデータをフレームバッファに出力することと、
を前記1つ以上のプロセッサとによって実行可能である、HMDシステム。
【請求項2】
前記アプリケーションがビデオゲームアプリケーションである、請求項1に記載のHMDシステム。
【請求項3】
ヘッドマウントディスプレイ(HMD)システムであって、
ユーザの頭に装着可能なHMDと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、を備え、
前記HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、第1のディスプレイパネルおよび第2のディスプレイパネルを含み、前記第1のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの左眼に対応する位置に取り付けられ、前記第2のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの右眼に対応する位置に取り付けられる、一対のディスプレイパネルと、を含み、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを時計回り方向に、直立パネル配向に対して前記第1のディスプレイパネルが回転されられることによる第1の配向に配向され、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りを反時計回り方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが回転させられることによる第2の配向に配向されており、
前記コンピュータ実行可能命令は、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することと、
前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが直立カメラ配向にあることを指定する第1の直立カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向にあることを指定する第2の直立カメラ配向とを含んでいること、
前記アプリケーションから前記フレームを受信することと、
前記フレームを再サンプリングして、再サンプリングされたフレームを取得することと、
前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の仮想カメラに関連付けられた前記フレームのピクセルデータの第1のサブセットを前記反時計回り方向に回転させること、および
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の仮想カメラに関連付けられた前記フレームの前記ピクセルデータの第2のサブセットを前記時計回り方向に回転させることによって行われること、
前記修正されたピクセルデータをフレームバッファに出力することとを、
前記1つ以上のプロセッサによって実行可能である、HMDシステム。
【請求項4】
各ディスプレイパネルが等しい回転量によって回転させられることによって、前記第1のディスプレイパネルが、前記第1の配向に配向され、前記第2のディスプレイパネルが、前記第2の配向に配向されている、請求項1に記載のHMDシステム。
【請求項5】
前記等しい回転量が、前記直立パネル配向に対して10~80度の範囲内である、請求項4に記載のHMDシステム。
【請求項6】
前記一対のディスプレイパネルが、同一平面内にある、請求項1に記載のHMDシステム。
【請求項7】
前記第1のディスプレイパネルが、前記第1のディスプレイパネルが前記直立パネル配向の横断面に直交する軸の周りでさらに傾けられることによって、前記第1の配向に配向され、
前記第2のディスプレイパネルが、前記第2のディスプレイパネルが前記直立パネル配向の前記横断面に直交する前記軸の周りで、前記第1のディスプレイパネルの方向とは反対の方向にさらに傾けられることによって、前記第2の配向に配向される、請求項1に記載のHMDシステム。
【請求項8】
ヘッドマウントディスプレイ(HMD)システムであって、
ユーザの頭に装着可能なHMDと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、を備え、
前記HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、前記一対のディスプレイパネルが、第1のディスプレイパネルおよび前記第1のディスプレイパネルに隣接する第2のディスプレイパネルを含み、前記第1のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの左眼に対応する位置に取り付けられ、前記第2のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの右眼に対応する位置に取り付けられる、一対のディスプレイパネルと、を含み、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを時計回り方向に、直立パネル配向に対して前記第1のディスプレイパネルが回転させることにより第1の配向に配向され、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りを反時計回り方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが回転させることにより第2の配向に配向されており、
前記コンピュータ実行可能命令は、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することと、
前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが、直立カメラ配向に対して前記反時計回り方向に回転されることを示す第1の回転カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向に対して前記時計回りに回転されることを示す第2の回転カメラ配向とを含んでいること、
前記アプリケーションから前記フレームを受信することと、
再サンプリングされたフレームの修正されたピクセルデータを取得するために、前記フレームのピクセルデータを修正することによって前記フレームを再サンプリングすることと、
前記修正されたピクセルデータをフレームバッファに出力することとを、
前記1つ以上のプロセッサとによって実行可能である、HMDシステム。
【請求項9】
前記第1のディスプレイパネルは、前記時計回り方向に、前記直立パネル配向に対して前記第1のディスプレイパネルが10度以上の回転量回転させられることによって、前記第1の配向に配向され、
前記第2のディスプレイパネルは、前記反時計回り方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが前記回転量回転させられることによって、前記第2の配向に配向されている、求項8に記載のHMDシステム。
【請求項10】
前記アプリケーションが、ビデオゲームアプリケーションである、請求項9に記載のHMDシステム。
【請求項11】
ヘッドマウントディスプレイ(HMD)システムであって、
ユーザの頭に装着可能なHMDと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、を備え、
前記HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、前記一対のディスプレイパネルが、第1のディスプレイパネルおよび前記第1のディスプレイパネルに隣接する第2のディスプレイパネルを含み、前記第1のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの左眼に対応する位置に取り付けられ、前記第2のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの右眼に対応する位置に取り付けられる、一対のディスプレイパネルと、を含み、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを時計回り方向に、直立パネル配向に対して前記第1のディスプレイパネルが回転させることにより第1の配向に配向され、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りを反時計回り方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが回転させることにより第2の配向に配向されており、
前記コンピュータ実行可能命令は、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することと、
前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが直立カメラ配向にあることを示す第1の直立カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向にあることを示す第2の直立カメラ配向とを含んでいること、
前記アプリケーションから前記フレームを受信することと、
前記フレームを再サンプリングして、再サンプリングされたフレームを取得することと、
前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の仮想カメラに関連付けられた前記フレームのピクセルデータの第1のサブセットを前記反時計回り方向に回転させること、
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の仮想カメラに関連付けられた前記フレームの前記ピクセルデータの第2のサブセットを前記時計回り方向に回転させることによって行われること、
前記修正されたピクセルデータをフレームバッファに出力することとを、
前記1つ以上のプロセッサによって実行可能である、HMDシステム。
【請求項12】
前記アプリケーションが、ビデオゲームアプリケーションである、請求項11に記載のHMDシステム。
【請求項13】
前記HMDが、仮想現実ヘッドセットまたは拡張現実ヘッドセットのうちの少なくとも1つである、請求項8に記載のHMDシステム。
【請求項14】
前記第1のディスプレイパネルが、前記直立パネル配向の横断面に直交する軸の周りを第1の方向に傾けられ、
前記第2のディスプレイパネルが、前記直立パネル配向の前記横断面に直交する前記軸の周りを前記第1の方向とは反対の第2の方向に傾けられている、請求項8に記載のHMDシステム。
【請求項15】
ヘッドマウントディスプレイ(HMD)システムであって、
一対のディスプレイパネルを含み、ユーザの頭に装置可能なHMDであって、前記一対のディスプレイパネルは、第1のディスプレイパネルおよび第2のディスプレイパネルを含み、前記第1のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの左眼に対応する位置に取り付けられ、前記第2のディスプレイパネルは、前記HMDを前記頭に装着した前記ユーザの右眼に対応する位置に取り付けられる、HMDと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、前記1つ以上のプロセッサによってた実行可能なコンピュータ実行可能命令と、を備え、
前記実行可能なコンピュータ実行可能命令は、
反対方向回転カメラ配向を含むカメラポーズデータをフレームを出力するように構成されたアプリケーションに送信することと、
前記カメラポーズデータは、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第1のディスプレイパネルは、直立カメラ配向に対して反時計方向に回転される第1の回転カメラ配向と、
前記HMDを前記頭に装着した前記ユーザが前記一対のディスプレイパネルを見た場合に、前記第2のディスプレイパネルは、前記直立カメラ配向に対して時計方向に回転される第2の回転カメラ配向とを含んでいること、
前記アプリケーションから前記フレームを受信することであって、前記フレームは、前記反対方向回転カメラ配向に基づいて反対方向回転されたシーンの一対の画像を表すピクセルデータ含む、受信することと、
前記フレームを再サンプリングして、直立に配向された前記シーンの再サンプリングされたフレームを取得することと、
前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の回転カメラ配向に関連付けられた前記ピクセルデータの第1のサブセットを前記時計方向に回転させること、および
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の回転カメラ配向に関連付けられた前記ピクセルデータの第2のサブセットを前記反時計方向に回転させることによって行われること、
前記修正されたピクセルデータをフレームバッファに出力することとを、
前記1つ以上のプロセッサによって行うことが実行可能である、HMDシステム。
【請求項16】
前記一対のディスプレイパネルの第1のディスプレイパネルが、直立パネル配向の横断面に直交する軸の周りに傾けられ、
前記一対のディスプレイパネルの第2のディスプレイパネルが、前記直立パネル配向の前記横断面に直交する前記軸の周りに、前記第1のディスプレイパネルの方向とは反対の方向に傾けられ、
前記カメラポーズデータが、傾けられたカメラ配向をさらに含む、
請求項15に記載のHMDシステム。
【請求項17】
前記フレームを再サンプリングすることが、前記ピクセルデータの前記第1のサブセットおよび前記ピクセルデータの前記第2のサブセットの各々を等しい回転量回転させることを含む、請求項15に記載のHMDシステム。
【請求項18】
前記等しい回転量が、前記直立カメラ配向に対して40~50度の範囲内にある、請求項17に記載のHMDシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月14日に出願された共同出願中の米国仮特許出願第62/792,290号の優先権を主張する、「COUNTERROTATION OF DISPLAY PANELS AND/OR VIRTUAL CAMERAS IN A HMD」と題する2019年3月27日に出願された米国特許出願第16/366,981号の優先権を主張するPCT出願である。出願第16/366,981号および同第62/792,290号は、参照により全体が本明細書に組み込まれる。
【背景技術】
【0002】
ヘッドマウントディスプレイ(HMD)は、ユーザが仮想現実(VR)環境(例えば、VRゲーム)または拡張現実(AR)環境に没入する目的のために、ユーザによって装着され得る。HMDは、アプリケーション(例えば、ビデオゲーム)によって出力されたフレームに基づいて、画像を1つ以上のディスプレイパネルに表示することによって動作する。これらの画像は、HMDに含まれる光学系(例えば、レンズ)を通してユーザによって視認され、ユーザに、ユーザがVRまたはAR環境に没入しているかのように画像を知覚させる。
【0003】
いくつかのHMDは、単一のディスプレイパネルを採用し、他のHMDは、一対のディスプレイパネルを採用する。単一のディスプレイパネルを使用する理由の1つは、一対のディスプレイパネルよりも単一のディスプレイの方が安価であることである(材料および/または製造のコストの観点から)。しかしながら、2つのディスプレイパネルを使用することは、数ある利点の中でも、ディスプレイ帯域幅の増加、利用可能なピクセルのより多くを利用する能力、およびユーザが2つのディスプレイパネル間の距離を調整することを可能にするなどのいくつかの利点を提供する。
【0004】
現在市場に出回っているHMDのすべては、直立パネル配向において1つ以上のディスプレイパネルを有するという、共通点がある。例えば、2つのディスプレイパネルを有するHMDは、それらのそれぞれの側面縁部が互いに平行な、同一平面的に並べられた配置で、ディスプレイパネルをユーザの顔の前に直接向ける。このタイプの直立パネル配向は、いくつかの欠点を被る。例えば、パネルの長さを走る縞またはバンドなどのパネルアーチファクトが、多くの場合、表示された画像とともに直立に配向されたパネル上に現れる。これらのパネルアーチファクトは、ユーザの視認を視覚的に散漫にする。加えて、ユーザが利用可能な視野(FOV)は、典型的には矩形であるディスプレイパネルの幅に限定されるか、またはそれによって制限される。加えて、直立に配向された画像を再サンプリングするために使用される基本フィルタ(例えば、ボックスフィルタ)は、多くの場合、表示された画像の垂直方向および水平方向に沿ってサンプリングアーチファクト(例えば、ぎざぎざの線)をもたらす。これらのサンプリングアーチファクトはまた、特に上記のパネルアーチファクトと結合される場合、ユーザの視認を視覚的にかなり散漫させる。
【0005】
本明細書では、これらのシステムおよび他のシステムを改善および強化するための技術的解決法を提供する。
【図面の簡単な説明】
【0006】
詳細な説明を、添付の図面を参照して説明する。図において、参照符号の左端の数字は、参照符号が最初に現れる図を指す。異なる図における同じ参照番号の使用は、類似または同一の部品または機能を示す。
図1】反対の方向に回転させられた配向の一対のディスプレイパネルを含む例示的なヘッドマウントディスプレイ(HMD)を示す図である。
図2】直立パネル配向におけるディスプレイパネル(HMD内のディスプレイパネルの1つ)の正面図および側面図を示す図である。図2は、また、1つ以上の軸の周りでディスプレイパネルを回転または傾けた後の、直立パネル配向に対するディスプレイパネルの配向を説明するための基準面を示す。
図3】反対の方向に回転させられた配向の一対のディスプレイパネルの正面図、反対の方向に回転させられた配向の一対のディスプレイパネルの上面図、およびディスプレイパネルを傾けた後の一対のディスプレイパネルの追加の上面図を示す図である。
図4】反対方向回転カメラ配向でカメラポーズデータを実行中のアプリケーションに送信し、カメラのポーズデータやディスプレイパネルの配向に基づいた回転調整を行わずに、アプリケーションによって出力されたフレームを再サンプリングし、再サンプリングされたフレームについてのピクセルデータを、反対に回転されるディスプレイパネルに表示するためのフレームバッファに出力するための例示的なプロセスのフロー図である。
図5】本明細書に開示される実施形態による、HMDのレンズを通して視聴するユーザの視点から見た、表示される画像を示す図である。
図6】直立カメラ配向でカメラのポーズデータを実行中のアプリケーションに送信し、アプリケーションによって出力されたフレームを時計回り/反時計回りの方向に回転調整して再サンプリングし、再サンプリングされたフレームのピクセルデータを、反対に回転されるディスプレイパネルに表示するためのフレームバッファに出力するための例示的なプロセスのフロー図である。
図7】直立パネル配向における一対のディスプレイパネルの正面図、直立パネル配向における一対のディスプレイパネルの上面図、およびディスプレイパネルを傾けた後の一対のディスプレイパネルの追加の上面図を示す図である。
図8】反対方向回転カメラ配向でカメラのポーズデータを実行中のアプリケーションに送信し、アプリケーションによって出力されたフレームを時計回り/反時計回りの方向に回転調整して再サンプリングし、再サンプリングされたフレームのピクセルデータをフレームバッファに出力して、直立に配向されているディスプレイパネルに表示するための例示的なプロセスのフロー図である。
図9】本明細書に開示される技術が実装され得る、VRヘッドセットなどのHMDの例示的な部品を例示する。
【発明を実施するための形態】
【0007】
本明細書で説明されるのは、とりわけ、ハウジングおよびハウジング内に取り付けられた一対のディスプレイパネルを有するHMDを含むヘッドマウントディスプレイ(HMD)システムであり、ディスプレイパネルは、反対の方向に回転させられた配向にある。一対のディスプレイパネルは、第1のディスプレイパネル(例えば、HMDを装着しているユーザの左眼によって視聴されるように構成された左のディスプレイパネル)および第2のディスプレイ(例えば、HMDを装着しているユーザの右眼によって視聴されるように構成された右のディスプレイパネル)を含み得る。第1のディスプレイパネルは、第1のディスプレイパネルの前額面に直交する第1の軸の周りを第1の方向に(例えば、時計回りに)直立パネル配向に対して第1のディスプレイパネルが回転させられることによる第1の配向に配向され得、第2のディスプレイパネルは、第2のディスプレイパネルの前額面に直交する第2の軸の周りを第1の方向とは反対の第2の方向に(例えば、反時計回りに)直立パネル配向に対して第2のディスプレイパネルが回転させられることによって、第2の配向に配向され得る。ディスプレイパネルが同一平面にあり、互いに隣接する構成において、第1のディスプレイパネルの側縁部と第2のディスプレイパネルの側縁部とは平行ではない(例えば、一対のディスプレイパネルのそれぞれの側縁部は、排他的に0~180度の間の角度を形成する)。
【0008】
また、本明細書では、HMDのディスプレイパネルが直立に配向されているか、または反対の方向に回転しているかに応じて、実行中のアプリケーション(例えば、ビデオゲームアプリケーション)に反対方向回転カメラ配向のカメラポーズデータを提供し、アプリケーションから受信したフレームを、回転調整を伴うか否かに応じて再サンプリングするための技術も説明される。例えば、アプリケーション(例えば、ビデオゲームアプリケーション)によって出力されるフレームを再サンプリングするために実行されるHMDシステムのコンピュータ可読命令(例えば、コンポジタ)は、アプリケーションに、第1の方向(例えば、反時計回り)に回転される第1の仮想カメラ(例えば、左の仮想カメラ)の第1の回転カメラ配向、および第1の方向とは反対の第2の方向(例えば、時計回り)に回転される第2の仮想カメラ(例えば、右の仮想カメラ)の第2の回転カメラ配向を送信し得る。次いで、コンポジタは、反対方向回転カメラ配向にしたがってアプリケーションによって出力されたフレームを受信し得る。この反対方向回転カメラ配向アプローチは、HMDの直立に配向されたディスプレイパネルと共に使用することができ、この場合、コンポジタは、フレームのピクセルデータの第1および第2のサブセットを、回転されるカメラの方向とは反対の方向に回転させて、直立に配向されたディスプレイパネル上に一対の直立に配向された画像を表示することによって、フレームを再サンプリングする。これは、実行中のアプリケーションに反対方向回転カメラ配向を提供するための開示された技術が、HMDのディスプレイパネルの反対への回転とは独立して実行され得ることを意味する。
【0009】
いくつかの実施形態では、組み合わせられたアプローチは、反対の方向に回転させられた配向の一対のディスプレイパネルを有するHMDを含むHMDシステムに実装され、それによって、コンポジタは、実行中のアプリケーション(例えば、ビデオゲームアプリケーション)に、反対方向回転カメラ配向を有するカメラポーズデータを提供し、コンポジタは、カメラポーズデータに基づいて、またはディスプレイパネルの配向に基づいて、回転調整を行うことなく、アプリケーションから受信したフレームを再サンプリングする。このようにして、直立に配向された画像は、再サンプリングステップにおいて(カメラポーズデータまたはディスプレイパネルの配向に基づいて)回転調整を行わなくても、反対に回転ディスプレイパネル上に表示される。この組み合わせアプローチは、いくつかの利点を提供し、多くはHMDのディスプレイ性能の向上に関連している。例えば、HMDのディスプレイパネルを反対に回転させることは、パネルアーチファクトを偽装することによって、パネルの垂直方向および水平方向にパネルの長さを走る縞またはバンドなどのパネルアーチファクトを軽減する。すなわち、個々のディスプレイパネル上に現れるパネルアーチファクトは依然として存在するが、ディスプレイパネルが回転しているため、ディスプレイ上の同じ位置でユーザの両眼には見えなくなる。その結果、パネルのアーチファクトは、視覚的に散漫にならないように、視認ユーザにとって目立たないようにされる。反対に回転されるディスプレイパネルはまた、直立に配向されたディスプレイパネルと比較して、視認ユーザに、より広い視野(FOV)を提供し、それらはまた、HMDの製造業者(および/またはユーザ)がユーザの顔に近づいてディスプレイパネルを移動させることを可能にすることによって、HMDの奥行き寸法を減少させることを可能にし、これは、より小さく、より軽量で、より快適に装着するより人間工学的なHMDを提供し得る。さらに、HMDのコンポジタが、反対方向回転カメラ配向のカメラポーズデータを実行中のアプリケーションに送信するようにプログラムされる実施形態では、サンプリングアーチファクト(例えば、ぎざぎざの線)も軽減される。これは、反対に回転される画像を再サンプリングするために使用されるフィルタ(例えば、ボックスフィルタ)が、同じフィルタを使用して直立に配向された画像を再サンプリングする場合に発生するサンプリングアーチファクトをもはや引き起こさず、それによって表示される画像により滑らかに見える線を提供するからである。
【0010】
本開示は、本明細書に開示される技術およびプロセスを実装するように構成されたシステム(例えば、HMDシステム)を説明することを理解されたい。いくつかの実施形態では、HMDは、反対の方向に回転させられた配向の一対のディスプレイパネルを含む。他の実施形態では、HMDは、直立に配向されたディスプレイパネルを含んでもよく、この場合、反対方向回転カメラ配向は、フレームをレンダリングするプロセスにおいてHMDのコンポジタによって実行中のアプリケーションに提供される。本明細書には、本明細書に開示される技術およびプロセスを実装するためのコンピュータ実行可能命令を記憶する非一時的コンピュータ可読媒体もまた、開示される。以下の例の多くは、ビデオゲームアプリケーション、特にVRゲームアプリケーションの文脈で説明されているが、本明細書に説明される技術およびシステムは、非限定的に、非VRアプリケーション(例えば、ARアプリケーション)、および/または産業機械アプリケーション、防衛アプリケーション、ロボットアプリケーションなどの非ゲームアプリケーションを含む、他のアプリケーションに利益を提供し得ることを理解されたい。
【0011】
図1は、ユーザ102によって装着されている、例示的なヘッドマウントディスプレイ(HMD)100を示す図である。図1の例のHMD100は、反対の方向に回転させられた配向の一対のディスプレイパネル104(1)および104(2)を含むように示される。ディスプレイパネル104、レンズ鏡筒106、およびレンズ108はそれぞれ、レンズおよびディスプレイアセンブリを構成する。したがって、HMD100は、第1のディスプレイ104(1)、第1のレンズ鏡筒106(1)、および第1のレンズ108(1)を有する第1のレンズおよびディスプレイアセンブリ、ならびに第2のディスプレイ104(2)、第2のレンズ鏡筒106(2)、および第2のレンズ108(2)を有する第2のレンズおよびディスプレイアセンブリを含む一対のレンズおよびディスプレイアセンブリを含み得る。第1のレンズおよびディスプレイアセンブリは、ユーザ102の左眼に対応し得る一方、第2のレンズおよびディスプレイアセンブリは、ユーザ102の右眼に対応し得る。各レンズおよびディスプレイアセンブリは、図1においてZ軸として呼ばれる独自の一次光軸上で整列される。各Z軸(各レンズおよびディスプレイアセンブリと関連付けられた)は、ディスプレイパネル104の前額面に直交する。前述した前額面などの基準面について、図2を参照して以下でより詳細に説明する。
【0012】
図1に示される一対のレンズおよびディスプレイアセンブリは、HMD100のハウジング110内に取り付けられ得る。ハウジング110の外側シェルが図1に示されるが、ハウジング110は、ハウジング110内に様々な電子部品およびプリント回路基板を取り付けるために使用される様々な部品および/または構造を含み得ることを理解されたい。一対のディスプレイパネル104(1)および104(2)(まとめて104)および一対のレンズ108(1)および108(2)(まとめて108)は、任意の好適な取り付け機構(例えば、ねじ、接着剤、ラッチ、ピンなど)を使用して、それぞれレンズ鏡筒106(1)および106(2)(まとめて106)の対向する端に取り付けられ得る。さらに、レンズおよびディスプレイアセンブリは、ディスプレイパネル104の後面に隣接するハウジング110内の中間フレームに取り付けられ得る。この中間フレームは、様々なセンサ、プロセッサなどを備えたマザーボードのような、HMDの他の部品を収容することができる。ハウジング110は、レンズおよびディスプレイアセンブリにレンズ108用の開口部を備えて取り付けられるシュラウド付き(またはフード付き)中間フレームをさらに含み得る。このシュラウド付き中間フレームは、ユーザ102がHMD100を装着している場合に、周囲光がユーザの眼とレンズ108(1)および108(2)(まとめて108)との間の空間に入るのを遮断するように構成され得る。
【0013】
一般に、HMD100は、ユーザが仮想現実(VR)環境(例えば、VRゲーム)および/または拡張現実(AR)環境に没入する目的で、ユーザ102によって装着され得る。したがって、HMD100は、いくつかの例では、VRゲームシステムにて使用するように、VRシステムで使用するためのVRヘッドセットを表し得る。しかしながら、HMD100は、追加的に、または代替的に、ARアプリケーションで使用するためのARヘッドセットとして実装され得る。ARでは、ユーザ102は、実世界環境上に重ね合わされた仮想オブジェクトを見るが、VRでは、ユーザ102は、実世界環境を見ることはなく、HMD100のディスプレイパネル104および光学系(例えば、レンズ108)を介して知覚されるような仮想環境に完全に没入する。本明細書で説明する例は、主にVRベースのHMD100に関係するが、HMD100は、VRアプリケーションでの実装に限定されないことを理解されたい。
【0014】
一対のディスプレイパネル104は、アプリケーション(例えば、ビデオゲーム)によって出力された一連の画像フレーム(以下、「フレーム」と呼ぶ)に基づいて画像を表示するように構成される。これらの画像は、眼に近接するディスプレイを提供するための様々なタイプの光学系を含み得るレンズ108を通してユーザ102によって視認される。このように、ユーザ102は、あたかもユーザ102がVRまたはAR環境に没入しているかのように画像を知覚する。HMD100のコンポジタは、色彩収差、再投影などを実行するなど、様々な技術を利用して、アプリケーションによって出力されるフレームを再サンプリングし得る。いくつかの実施形態では、コンポジタは、以下でより詳細に説明するように、画像がディスプレイパネル104上で直立に配向されて表示されることを保証するために、個々のフレームのピクセルデータのサブセットを(それぞれ時計回りおよび反時計回りの方向に)反対に回転させることによってフレームを再サンプリングし得る。再サンプリングステップがカメラポーズデータおよび/またはディスプレイパネルの方向に基づいて回転調整を含むか否かにかかわらず、再サンプリングされたフレームの修正されたピクセルデータは、ディスプレイパネル104上に画像を表示するためにフレームバッファに出力されてもよい。例えば、HMD100によって使用されるフレームバッファは、一対のディスプレイパネル上に一対の画像をレンダリングするステレオフレームバッファであり得る。例えば、2160×1200ピクセルについてのピクセルデータは、HMD100の一対のディスプレイパネル104上で表示するためにフレームバッファに出力され得る(例えば、ディスプレイパネル104あたり1080×1200ピクセル)。
【0015】
ディスプレイパネル104は、HMD100のディスプレイパネル(複数可)104上でのフレームの提示中に発光要素を利用して光を放出する発光ディスプレイのような、任意の好適なタイプのディスプレイ技術を利用し得る。一例として、HMD100のディスプレイパネル104は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、無機発光ダイオード(ILED)ディスプレイ、またはHMD100アプリケーションについて使用される好適なディスプレイ技術を利用する任意の他の好適なタイプのディスプレイを含み得る。いくつかの実施形態では、HMD100のディスプレイシステムは、低持続性ディスプレイシステムであり得、これは、発光要素が、ディスプレイパネル上に画像をレンダリングするために使用される各フレームに対して、フレーム時間のごく一部(例えば、11.11msのフレーム時間のうちの約1ミリ秒(ms))の間、光を放出することを意味する。
【0016】
図2は、直立パネル配向200におけるディスプレイパネル104の正面図および側面図を示す図である。図2のパネル104は、ディスプレイパネル104(1)または104(2)のいずれかを表し得るが、直立パネル配向200を有する。図2はまた、各ディスプレイパネル104がHMD100のハウジング110内の特定の配向に回転および/または傾けられ得る方法を説明するために本明細書で参照される3つの基準面である、前額面、正中矢状面、および横断面も示す。
【0017】
図2に示されるように、ディスプレイパネル104の前額面は、ディスプレイパネル104の前面および後面に平行である。ディスプレイパネル104の前面は、画像提示中にユーザ102が見ているディスプレイパネル104の表面である。前額面は、ディスプレイパネル104を前半および後半に二分することができ、前半は、ディスプレイパネル104の前面(視認)面を有する。また、図2では、ディスプレイパネル104の前額面に直交する軸をZ軸と呼ぶ。このZ軸は、いくつかの構成において、光がディスプレイパネル104からユーザ102の眼に沿って走る一次光軸に対応し得る。正方向および負方向を任意の方法で定義することができるが、本明細書の例を、HMD100を装着しているユーザ102に向かってディスプレイパネル104から指される正Z方向を基準にして説明する。したがって、負のZ方向は、ディスプレイパネル104に向かってHMD100を装着しているユーザ102から指される方向にあると考えられる。
【0018】
正中矢状面は、ディスプレイパネル104を垂直方向に二分して、左半分および右半分を作成する。ディスプレイパネル104の正中矢状面に直交する軸は、図2におけるX軸として呼ばれる。再び、正方向および負方向は、任意の方法で定義することができるが、本明細書の例は、ディスプレイパネル104の左半分からディスプレイパネル104の右半分に向かって(ユーザ102がディスプレイパネル104の前面を見ている観点から)指す正のX方向を参照して説明される。したがって、負のX方向は、ディスプレイパネル104の右半分からディスプレイパネル104の左半分に向かう方向(再び、ディスプレイパネル104の前面を見ているユーザ102の観点から)を指すと考えられる。
【0019】
横断面は、ディスプレイパネル104を水平方向に二分して、上半分および下半分を作成する。ディスプレイパネル104の横断面と直交する軸は、図2のY軸と呼ばれる。再び、正方向および負方向を任意の方法で定義することができるが、本明細書の例は、ディスプレイパネル104の下半分からディスプレイパネル104の上半分を指す正のY方向を参照して説明される。したがって、負のY方向は、ディスプレイパネル104の上半分からディスプレイパネル104の下半分を指す方向にあると考えられる。
【0020】
図3は、反対の方向に回転させられた配向の一対のディスプレイパネル104(1)および104(2)の正面図300、ならびに反対の方向に回転させられた配向の一対のディスプレイパネル104(1)および104(2)の上面図302、ならびに反対方向にディスプレイパネル104(1)および104(2)が傾いた後の一対のディスプレイパネル104(1)および104(2)の追加の上面図304を示す図である。
【0021】
正面図300は、ディスプレイパネル104(1)および104(2)の前面の図を表し、前面は、各ディスプレイパネル104上のピクセルの配列を介して画像が提示される表面である。したがって、第1のディスプレイパネル104(1)は、ユーザ102の左眼に対応する左ディスプレイパネルを表し得、第2のディスプレイパネル104(2)は、ユーザ102の右眼に対応する右ディスプレイパネルを表し得る。図3に示されるように、第1のディスプレイパネル104(1)は、第1のディスプレイパネル104(1)の前額面に直交する第1の軸(例えば、Z軸)の周りを第1の方向(例えば、時計回りの方向)に、直立パネル配向200に対して回転される第1のディスプレイパネル104(1)によって第1の方向に配向され得る。一方、第2のディスプレイパネル104(2)は、第2のディスプレイパネル104(2)の前額面に直交する第2の軸(例えば、Z軸)の周りを第1の方向とは反対の第2の方向(例えば、反時計回りの方向)に直立パネル配向200に対して第2のディスプレイパネル104(2)が回転されることによって第2の方向に配向され得る。したがって、一対のディスプレイパネル104は、各々、互いに対して反対方向にそれぞれのZ軸を中心に回転されるため、反対の方向に回転させられた配向にある。
【0022】
いくつかの実施形態では、第2のディスプレイパネル104(2)は、第1のディスプレイパネル104(1)に隣接し、逆もまた同様であり、2つのディスプレイパネル104(1)および104(2)は同一平面内にある。ディスプレイパネル104間の間隔は、設定可能であり、ユーザの瞳孔間距離(IPD)と関連付けられたヒューリスティックに基づき得る。いくつかの実施形態では、2つのディスプレイパネル104の最も内側の点(例えば、隣接する上部コーナ)は、触れ得(すなわち、接触)、またはそれらは、約1~3ミリメートル(mm)の距離などの小さなギャップによって分離され得る。いくつかの実施形態では、ディスプレイパネル104(1)および104(2)は、互いに異なって配置され得る。例えば、ディスプレイパネル104(1)および104(2)をユーザ102の眼の直前に位置決めする代わりに、ディスプレイパネル104は、HMDの他の場所(例えば、ユーザ102のこめかみの近く、ユーザ102の額の直前など、に位置し得、導波路、ミラーなどの光学部品を使用して、レンズ108を介して、ディスプレイパネル104上に出力された画像をユーザ102の眼に伝送し得る。ディスプレイパネル104(1)および104(2)がHMD100内で互いに隣接していないこれらの実施形態においても、ディスプレイパネル104(1)および104(2)は、第1のディスプレイパネル104(1)をその前額面に直交する軸を中心に第1の方向に回転させることによって、および第2のディスプレイパネル104(2)をその前額面に直交する軸を中心に第1の方向とは反対の第2の方向に回転させることによって、依然として反対に回転され得る。
【0023】
HMDのハウジング110内のディスプレイパネル104の位置および配向は、固定されてもよく(すなわち、調整不可能)、これにより、較正されたHMD100が「初期状態で」提供されるように、製造業者でのHMD100の較正を可能にし得る。しかしながら、HMD100のハウジング110は、ユーザがハウジング110内で個別にまたは互いに相対的に各ディスプレイパネル104の位置および/または配向を調整することを可能にする1つ以上の機構を含み得る。例えば、ねじの切られたロッドが、図1に示される一対のレンズおよびディスプレイアセンブリを一緒に接続し得、HMD100では、ユーザ102がねじの切られたロッドを回転させるように操作し得、ユーザ102がノブを回転させる方向に応じて、一対のディスプレイパネル104間の距離を増加または減少させるノブまたは同様の調整機構を含み得る。同様の機構の使用により、ディスプレイパネル104の垂直位置が調整され(例えば、ディスプレイパネル104をY軸に沿って上下に移動させる)、または回転量が調整され(例えば、Z軸の周り)、および/またはディスプレイパネル104が傾けられる量が調整される(例えば、X軸および/またはY軸の周り)。これは、ディスプレイパネル104の位置および/または配向を調整するためにユーザ102に追加の柔軟性を提供し得るが、HMD100を較正された状態に維持する際にいくつかの追加の困難を生じ得る。
【0024】
図3の正面図300はまた、第1のディスプレイパネル104(1)の側縁部306(1)と第2のディスプレイパネル104(2)の側縁部306(2)とが平行ではないように、ディスプレイパネル104が互いに隣接し、同一平面内にある構成も示している。これは、一対のディスプレイパネル104がそれぞれ直立配向200に向けられている場合、側縁部306(1)および306(2)が平行であるため、直立配向200に向けられている一対のディスプレイパネル104と対照的になることができる。反対に回転されるディスプレイパネル104では、0度および180度(排他的)の範囲内のある角度が、一対のディスプレイパネル104(1)および104(2)の側縁部306(1)および306(2)の間に形成される。
【0025】
図3の正面図300はまた、第1のディスプレイパネル104(1)および第2のディスプレイパネル104(2)がそれぞれ実質的に等しい回転量θによって回転することを示す。各パネルを異なる回転量回転させると、ユーザの視聴体験を低下させる付加的な問題を引き起こし得る。したがって、各パネル104は、実質的に等しい回転量θによって回転されるべきである。「実質的に等しい回転量」は、本明細書に使用されるとき、2度以内を意味する。したがって、第1のディスプレイパネル104(1)が45度回転され、第2のディスプレイパネル104(2)が44度回転される場合、それらは、本明細書において、実質的に等しい回転量によって回転されると見なされる。
【0026】
各パネル104が回転される回転量θは、直立パネル配向200に対して、10度~80度の範囲内であり得る。この範囲の外の回転量は、反対の方向に回転させられたパネル配向の有益性がユーザ102によって認識される程度を減少させ得る。言い換えれば、軸整列様式(例えば、ディスプレイパネルの垂直方向および水平方向に沿って)で現れる視覚的に散漫な欠陥は、ディスプレイパネルがわずかな量(例えば、10度未満)または多すぎる量で(例えば、80~90度)回転する場合、ユーザ102にとって顕著なままであり得る。いくつかの実施形態では、反対の方向に回転させられた配向の一対のディスプレイパネル104について、各ディスプレイパネル104が回転される回転量θは、直立パネル配向200に対して、20~70度の範囲内、30~60度の範囲内、または40~50度の範囲内であり得る。いくつかの実施形態では、ディスプレイパネル104は、直立パネル配向200に対して、45度に等しい回転量θによって反対に回転され得る。45度の回転は、図3の正面図300に示されるように、最も広いFOV308、ならびにディスプレイパネル104のピクセルレイアウト/パターンに応じて、パネルアーチファクトの最大の緩和を提供し得る。一般的なピクセルパターンとは、ピクセルがディスプレイパネル上の垂直列と水平列に配置されるパターンである。このタイプのピクセルパターンでは、45度の回転は、パネルアーチファクトの最大の軽減を提供し得る。しかしながら、垂直列および水平行に配置されたピクセルを有しない他のピクセルパターンが考慮される。これらの他のタイプのピクセルパターンに関して、異なる回転量θは、パネルアーチファクトを最適に軽減し得る。さらに、10度~45度未満の回転量は、ユーザ102の鼻312の輪郭にしたがうのに最適であり得、これにより、最適化された人間工学的利益を可能にし得る(例えば、ディスプレイパネル104をユーザ102の顔に可能な限り近づけて移動させる)。
【0027】
次に、ディスプレイパネル104を反対に回転されるパネル配向に配向されることによって実現される様々な利点について説明する。1つの利点は、増加した(例えば、より広い)FOV308である。この増加したFOV308は、図3に示されるように、直立パネル配向200に向けられたディスプレイパネルを有する既存のHMD100で利用されないピクセルが、それらの配向が反対に回転される場合にディスプレイパネル104を利用することができるため、「自由に」視聴ユーザに提供され得る。例えば、ディスプレイパネルの角に位置するピクセルは、レンズによって引き起こされた逆ピンクッション歪みのためにディスプレイパネルが直立パネル配向200に配向される場合、およびHMDが角を「切断」し、角にあるピクセルを利用して画像のより美的に快適なプロファイルをユーザに提供しないために利用されない場合がある。図3の正面図300は、これらのディスプレイパネル104が直立パネル配向200に対して45度に等しい回転量θによって回転される場合、どのようにFOV308が矩形形状のディスプレイパネル104の水平寸法で最大まで増大され得るのかを示す。水平寸法における増加したFOV308(すなわち、直立パネル配向200を基準にした正のX方向および負のX方向)は、実際には、現実世界では、周辺ビジョンを使用してかなり広範囲のFOVで見ることができる視認しているユーザ102により現実的な感覚を提供し得る。
【0028】
ディスプレイパネル104を反対に回転されるパネルの配向に配向することによって実現される別の利点は、パネルアーチファクト(例えば、パネルの長さを走る縞またはバンド)を、それらがもはや視覚的に散漫にならないように偽装することによって軽減することである。説明すると、ディスプレイパネルにはパネルアーチファクトと呼ばれる欠陥が含まれることが多く、これらのパネルアーチファクトは軸揃えの仕様で発生することが多い(すなわち、ディスプレイパネル上の水平または垂直と相関する)。ディスプレイの長さを垂直に走る明るい縞および暗い縞またはバンドなど、少なくとも1つのタイプのパネルアーチファクトは、正電圧波形と負電圧波形を交互に使用してフレームごとにディスプレイを駆動する「インバージョン」と呼ばれるディスプレイ駆動スキームによって引き起こされる。正電圧と負電圧は等量の電圧で印加されることを意味するが、実際には通常異なる電圧で印加される。この交流電圧波形の正サイクルと負サイクルの電圧差は、画像がディスプレイパネルに表示されるため、フレームごとにピクセル列ごとにフリック出力を引き起こす。これは、画像内に表示されているコンテンツとは無関係である垂直縞(例えば、明るい縞および暗い縞、交差した縞)として視覚的に認識される。これらの縞は視覚的に見ているユーザを散漫にする。HMDでは、この視覚的な注意の散漫は、ユーザの頭および眼がHMDを使用している間に反対に回転しているユニークな方法のためにさらに顕著である。さらに、直立に配向されたディスプレイパネルでは、両眼は、フレームにわたってディスプレイ上の同じ位置に明るい縞および暗い縞を見ることになり、ユーザの視覚的な散漫の原因となる。
【0029】
別のパネルアーチファクトの例は、赤、緑、および青のピクセルの垂直方向のアライメントによって引き起こされ、これは、両眼が同じ場所で見られる、直立に配向されたディスプレイパネルの長さを走る赤、緑、および青の着色されたバンドとして直立配向のディスプレイパネルで示される。これは、ユーザ102が正確な回転速度で頭を動かしている場合に顕著になり得る。
【0030】
ディスプレイパネル104を反対に回転されるパネル配向に配向することによって、上述したパネルアーチファクトが軽減される。図3は、パネル104が反対に回転されるパネルの配向にある場合に配向される、第1のディスプレイパネル104(1)上の第1のピクセルのグループ310(1)と、第2のディスプレイパネル104(2)上の第2のピクセルのグループ310(2)とを示す。この反対に回転されるパネルの配向は、上述したパネルの欠陥が各眼で異なるように見えることを引き起こし、これは実際にパネルの欠陥を偽装し、視認ユーザ102によって気付かれないようにする。これは、ピクセルのグループ310(1)および310(2)が、それらの反対に回転される配向のために各眼内で整列しなくなったためであり、これは、各眼が、反対に回転されるディスプレイパネル104上で撮像されるシーン内のそれぞれの位置に関して異なる欠陥を見ることを意味し、ユーザ102は、結果としてシーン内のパネル欠陥をもはや知覚しないからである。赤、緑、および青のピクセルの純粋にランダムな分布は、パネル欠陥の最適化された緩和のために最適であり得るが、純粋にランダムな分布は、実現不可能であり得る、および/またはコストを高くし得ることが認識される。反対に回転されるパネルの配向は、ピクセルを整列不良にさせるのに十分であり、それによって両方の眼が同じピクセル欠陥を同時に両方のパネル104上の同じ位置に見ているステレオ融合を防止する。いくつかの欠陥が連続フレームにわたって反対に回転されるディスプレイパネル104の両方に自身を整列させても、これらの欠陥はピクセル当たりのレベルで現れ、反対に回転されるパネルの配向のためにHMD100を装着しているユーザ102によって気付かれない。したがって、図3に示される反対に回転されるパネルの配向は、前述のパネル欠陥をユーザ102のFOVの垂直方向および水平方向にずらし、ユーザ102が結果として両眼に同じパネル欠陥を見ないことを意味し、ユーザ102の視界がパネル欠陥上で「スナッグ」となることがなくなり、それらが目立たないままである。
【0031】
ディスプレイパネル104を反対に回転されるパネルの配向に向けることによって実現される別の利点は、改善された人間工学にある。これは、ユーザ102の鼻312が、共面ディスプレイパネル104の各々の前額面を通過することができるのを、図3の上面図302に見ることができる。直立に配向されたディスプレイパネルでは、ディスプレイパネル間に十分なスペースが提供されないことが多く、これは、ディスプレイパネルがユーザの鼻312と競合する点を超えてユーザの顔に近づけることができないことを意味する。ディスプレイパネル104を反対に回転される配向に向けることによって、ユーザ102の鼻312のための十分な空間が、ディスプレイパネル104の間に提供され、その後、ディスプレイパネル104は、ユーザ102の顔に近づいて移動され得る。つまり、HMD100の奥行は、ユーザ102の眼の直前に直立に配向されたディスプレイパネルを有する既存のHMDと比較して、さらに低減され得る。より小さく、より軽く、かつより近いフィッティングのHMD100は、HMD100をより長時間装着するのにより快適にすることによって、および/またはより重い/よりかさばるHMD100に対してより敏感であり得る若いユーザ(例えば、子供)によって使用可能にすることによって、HMD100の人間工学を改善する。
【0032】
図3の追加の上面図304は、直立パネル配向200の横断面に直交する軸(例えば、Y軸)を中心に各ディスプレイパネル104を傾けることによって提供することができるディスプレイパネル104(1)および104(2)のさらに別の配向を示す。例えば、第1のディスプレイパネル104(1)は、横断面に対して直交軸の周りを第1の方向(例えば、反時計回りの方向)に傾けられ得、第2のディスプレイパネル104(2)は、横断面に対して直交軸の周りを第1の方向と反対側の第2の方向(例えば、時計回りの方向)に傾けられ得る。追加的に、または代替的に、ディスプレイパネル104は、直立パネル配向200の正中矢状面に直交する第2の軸(例えば、X軸)の周りで傾けられ得る。
【0033】
本明細書に記載のプロセスは、ロジックフローグラフ内のブロックの集合として例解され、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせ(つまり、ロジック)に実装することができる一連の動作を表す。ソフトウェアのコンテキストにおいて、ブロックは、1つ以上のプロセッサによって実行される場合、詳述された動作を実行するコンピュータ実行可能命令を表す。全般的に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、部品、データ構造などを含む。動作が記載される順序は、限定として解釈されることを意図するものではなく、記載される任意の数のブロックは、プロセスを実装するために任意の順序で、および/または並列に組み合わせることができる。
【0034】
図4は、反対方向回転カメラ配向を伴うカメラポーズデータを実行中のアプリケーションに送信し、カメラポーズデータやディスプレイパネルの配向に基づいた回転調整を不要として、アプリケーションによって出力されたフレームを再サンプリングし、さらに、再サンプリングされたフレームについてのピクセルデータを、反対に回転されるディスプレイパネルに表示するためのフレームバッファに出力するための例示的なプロセス400のフロー図である。考察目的で、前図を参照してプロセス400を説明する。
【0035】
図4は、ビデオゲームアプリケーションまたは任意の他のタイプのグラフィックスアプリケーションを表し得るアプリケーション407を示す。アプリケーション407は、HMD100自体、またはHMDシステムの一部として、HMD100と関連付けられ、かつそれに連結されたコンピューティングデバイス(例えば、パーソナルコンピュータ(PC)、ゲームコンソールなどの)、コンピューティングデバイス上で実行され得る。したがって、アプリケーション407は、HMD100(またはHMDシステム)のコンポジタ403によって再サンプリングされ、最終的にHMD100のディスプレイパネル(複数可)104上の画像として表示される一連のフレームを出力するように構成され得る。フレームをレンダリングする前に、アプリケーション407は、コンポジタ403から様々なタイプのデータを受信し得る。コンポジタ403がレンダリングフレームにおいてアプリケーション407による使用のためにアプリケーション407に送信する少なくとも1つのタイプのデータは、一対の仮想カメラの位置および配向を有するポーズのセットを含む、カメラポーズデータ405である。アプリケーション407に回転および/または傾けられたカメラの配向を提供するために、アプリケーション407は、いくつかの実施形態において、その能力(例えば、傾けられていない直立カメラ配向ではないより複雑なカメラの配向を受信することが可能であることを示す)をコンポジタ403に通知し得る。HMD100のグラフィックスロジックは、非同期であってもよく、または同期であってもよい。非同期システムにおいて、コンポジタ403は、HMD100(またはHMDシステム)のグラフィックス処理ユニット(複数可)(GPU(複数可))上のアプリケーション407とは別個に(別個の非同期スレッド上で)実行される。
【0036】
402において、HMD100(またはHMDシステム)のコンポジタ403は、カメラポーズデータ405を、ピクセルデータのフレームを出力するように構成された実行アプリケーション407に送信し得る。このピクセルデータの第1のサブセットは、第1のディスプレイパネル104(1)、第1の画像、第1の仮想カメラ、および/またはHMD100を装着しているユーザの第1の眼に関連付けられ、一方、このピクセルデータの第2のサブセットは、第2のディスプレイパネル104(2)、第2の画像、第2の仮想カメラ、および/またはHMD100を装着しているユーザの第2の眼に関連付けられる。カメラポーズデータ405は、カメラポーズデータ405にしたがって、一連のフレームにおいて、次のフレームをどのようにレンダリングするかについてアプリケーション407に通知する。ブロック402における動作(複数可)は、アプリケーションプログラミングインターフェース(API)呼び出しの一部として実行され得る。
【0037】
サブブロック404によって示されるように、カメラポーズデータ405は、第1のディスプレイパネル104(1)上にレンダリングされるフレームについての第1の画像に関連付けられた第1の回転カメラ配向を含み得、この第1の回転カメラ配向は、一対の仮想カメラの第1の仮想カメラが、第1の方向(例えば、反時計回りの方向)に、直立カメラ配向に対して回転されていることを指定する(または示す)。第1の回転カメラ配向において指定された回転量および方向は、その回転されるパネルの配向に関して第1のディスプレイパネル104(1)の回転量および方向に基づき得る。すなわち、第1のディスプレイパネル104(1)が直立パネル配向200に対して時計回りに45度回転される場合、第1の回転カメラ配向は、第1の仮想カメラが直立カメラ配向に対して反時計回りに45度回転されることを示し得る。第1の回転カメラ配向は、本明細書で説明されるように、第1のディスプレイパネル104(1)がその配向において傾けられている場合、第1の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0038】
サブブロック406によって示されるように、カメラポーズデータ405は、第2のディスプレイパネル104(2)上にレンダリングされるフレームについての第2の画像に関連付けられた第2の回転カメラ配向をさらに含んでもよく、この第2の回転カメラ配向は、一対の仮想カメラの第2の仮想カメラが、直立カメラ配向に対して、第1の方向と反対側の第2の方向(例えば、時計回りの方向)に回転されていることを指定する(または示す)。第2の回転カメラ配向で指定される回転量および方向は、その回転されるパネルの配向に関して第2のディスプレイパネル104(2)の回転量および方向に基づき得る。すなわち、第2のディスプレイパネル104(2)が直立パネル配向200に対して反時計回りに45度回転される場合、第2の回転カメラ配向は、第2の仮想カメラが直立カメラ配向に対して時計回りに45度回転されることを示し得る。第2の回転カメラ配向は、本明細書で説明されるように、第2のディスプレイパネル104(2)がたまたまその配向で傾けられている場合、第2の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0039】
408において、コンポジタ403は、アプリケーション407から、第1の画像409(1)(例えば、左画像)および第2の画像409(2)(例えば、右画像)を含むフレームを受信し得る。これらの画像409(1)および409(2)(まとめて409)は、アプリケーション407から、およびコンポジタ403によってピクセルデータとして受信され得ることを理解されたい。各画像409のピクセルデータは、いくつかの実施形態では、ピクセルごとの値(例えば、色値)の2次元配列を含み得る。いくつかの実施形態では、ピクセルデータは、奥行値などの追加のデータまたはメタデータをさらに含む。いくつかの実施形態では、ピクセルデータは、単一の色およびアルファ値のセットによって表される各ピクセルのデータを含み得る(例えば、赤チャネルの1つの色値、緑チャネルの1つの色値、青チャネルの1つの色値、および1つ以上のアルファチャネルの1つ以上の値)。図4に示されるように、一対の画像409は、反対方向回転カメラ配向を含むカメラポーズデータ405にしたがってアプリケーション407によってレンダリングされている。したがって、一対の画像409内のシーンは、反対方向回転カメラ配向に基づいて、対応する回転量によって反対に回転される。言い換えれば、アプリケーション407は、仮想カメラの反対方向回転カメラ配向を自然にレンダリングする。
【0040】
410において、コンポジタ403は、カメラポーズデータまたはディスプレイパネルの配向に基づいて、任意の回転調整を不要としてフレームを再サンプリングし得る。再サンプリングは、アプリケーション407によって出力されたフレームのピクセルデータに1つ以上のデジタル変換を適用して、それがディスプレイパネル104上に提示するためにフレームバッファに出力される前に、アプリケーションによってレンダリングされたフレームを修正/微調整/補正することを含み得る。例えば、コンポジタ403は、フレームを再サンプリングし得、再サンプリングされたフレームの変更されたピクセルデータを取得するように、フレーム409(1)のピクセルデータを修正することによって、再サンプリングされたフレームを取得する。特に、ブロック410におけるフレームのピクセルデータのこの修正は、カメラポーズデータ405またはディスプレイパネル104の配向に基づいてピクセルデータの回転調整を伴わない。例えば、ブロック410における再サンプリング動作(複数可)は、限定されないが、レンズの歪み(例えば、色彩歪み)の補正、ユーザ102の予測された頭部の姿勢にしたがってピクセルデータを修正するために再投影変換を適用すること、および/または視覚的観点から改善される、またはそうでなければ補正される再サンプリングされたフレームを作成するためにピクセルデータを修正する他の数学的動作を含み得る。再投影には、基準軸を中心にフレームを効果的に回転させる回転変換が含まれ得るが、これらの回転変換は、再投影におけるユーザ102の予測された頭部の姿勢に基づいており、仮想カメラに関するカメラポーズデータ405またはディスプレイパネル104の直立に対する回転に基づいていない。ブロック410において、カメラポーズデータ405またはディスプレイパネル104の配向に基づいて回転調整を行わないことによって、レンダリングパイプラインは、再サンプリングステップにおける(時計回り/反時計回り方向の)回転調整を伴う本明細書に記載の他の実施形態と比較して、より効率化にされる。
【0041】
412において、コンポジタ403は、再サンプリングされたフレームと関連付けられた修正されたピクセルデータをフレームバッファに出力し得、その結果、再サンプリングされたフレームは、HMD100の反対に回転されるディスプレイパネル104(1)および104(2)上に一対の画像として出力され得る。
【0042】
414において、再サンプリングされたフレームに基づいた一対の画像は、HMD100の反対に回転されるディスプレイパネル104(1)および104(2)上に表示され得る。図4に示されるように、ディスプレイパネル104上に提示される画像は、ディスプレイパネル104の反対に回転される配向にもかかわらず、直立の配向にある。これは、カメラポーズデータ405においてアプリケーション407へ提供される反対方向回転カメラ配向によるものである。プロセス400が単一のフレームをレンダリングすることを伴い、プロセス400がアプリケーション407の実行中に複数の連続フレームをレンダリングするために反復され得ることを理解されたい。
【0043】
プロセス400の場合のように、反対方向回転カメラ配向を使用することから提供される追加の利点の例は、表示される画像中のサンプリングアーチファクト(例えば、ぎざぎざの線)の軽減である。説明するために、アプリケーション407は、画像409(1)および409(2)を含むフレームをレンダリングするプロセスにおいて、スーパーサンプリング、アンチエイリアシング(例えば、ピクセル当たり16個のサンプル(4×4)からピクセル当たり1個のサンプルへのマルチサンプルアンチエイリアシング(MSAA)バッファの解決)などの様々なサンプリングステップ自体を実行し得る。アプリケーション407におけるこれらのサンプリングステップは、フレームの垂直方向および水平方向に自身を整列させる傾向があるサンプリングアーチファクトを導入する。加えて、コンポジタ403は、通常、アプリケーション407から受信されたフレームを再サンプリングするために8~11ミリ秒の間のどこかを有するため、高速フィルタ(例えば、ボックスフィルタ、リニアフィルタなど)を使用して、再サンプリング動作を高速化する。これらのタイプのフィルタは、多くの場合、軸に整列された特性を有し、軸方向に整列された再サンプリングされたフレーム内にサンプリングアーチファクトが現れる(フレームの垂直方向および水平方向で)。垂直方向に整列されたオブジェクトおよび水平方向に整列されたオブジェクトは、典型的に仮想現実環境においてユビキタスであるため、結果として生じる画像は、直立カメラ配向が仮想カメラに使用される場合、しばしば、画像の垂直方向および水平方向に沿った多くのサンプリングアーチファクト、例えば、表示された画像中の「階段」に見えるぎざぎざの水平線およびぎざぎざの垂直線を含む。これは、特にこれらのぎざぎざの線が視界から入ってくる場合、視覚的にかなり散漫になる場合がある。対照的に、画像の上を斜めに走る線はしばしば滑らかに見え、見分けることができるぎざぎざの外観はない。例えば、プロセス400に記載されるように、フレームをレンダリングするためにアプリケーション407に提供されるカメラポーズデータ405内の反対方向回転カメラ配向を指定することによって、これらのサンプリングアーチファクトは、最終的な画像において非垂直および非水平角度で終わるため、これらのサンプリングアーチファクトが軽減され、画像内のオブジェクトをより美的に見やすくする。
【0044】
図5は、本明細書に開示される実施形態による、HMD100のレンズ108を通して視認ユーザ102の観点から見た、表示された画像のビュー502を例示する図である。ユーザ102は、ディスプレイパネル104が直立パネル配向200にないことを判断することができずに、本明細書に記載される利点(例えば、緩和されたパネルアーチファクト、緩和されたサンプリングアーチファクト、増加したFOVなど)に関する多くの利点を得る。
【0045】
図6は、直立カメラ配向でカメラポーズデータを実行中のアプリケーションに送信し、アプリケーションによって出力されたフレームを時計回り/反時計回りの方向に回転調整して再サンプリングし、再サンプリングされたフレームのピクセルデータをフレームバッファに出力して、反対に回転されるディスプレイパネルに出力するための例示のプロセス600のフロー図である。考察目的で、前図を参照してプロセス600を説明する。
【0046】
602において、HMD100(またはHMDシステム)のコンポジタ403は、カメラポーズデータ605を、ピクセルデータのフレームを出力するように構成された実行アプリケーション407に送信し得る。このピクセルデータの第1のサブセットは、第1のディスプレイパネル104(1)、第1の画像、第1の仮想カメラ、および/またはHMD100を装着しているユーザの第1の眼に関連付けられ、一方、このピクセルデータの第2のサブセットは、第2のディスプレイパネル104(2)、第2の画像、第2の仮想カメラ、および/またはHMD100を装着しているユーザの第2の眼に関連付けられる。カメラポーズデータ605は、カメラポーズデータ605にしたがって、一連のフレームにおいて、次のフレームをどのようにレンダリングするかについてアプリケーション407に通知する。ブロック602における動作(複数可)は、API呼び出しの一部として実行され得る。いくつかの実施形態において、コンポジタ403は、ディスプレイパネルが直立に配向された場合、コンポジタが通常アプリケーション407にレンダリングを要求するピクセルに追加のピクセルをレンダリングするようにアプリケーション407にさらに要求し得る。これは、フレームの画像が、以下のブロック610において再サンプリング動作(複数可)において反対に回転されるためであり、追加のピクセルを使用して、再サンプリング中に画像を配向において回転させることから生じるギャップを埋めることができるからである。
【0047】
サブブロック604によって示されるように、カメラポーズデータ605は、第1のディスプレイパネル104(1)上にレンダリングされるフレームについての第1の画像に関連付けられた第1の直立カメラ配向を含んでもよく、この第1の直立カメラ配向は、一対の仮想カメラの第1の仮想カメラが直立カメラ配向にあることを指定する(または示す)。第1の直立カメラ配向は、本明細書で説明されるように、第1のディスプレイパネル104(1)がその配向において傾けられている場合、第1の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0048】
サブブロック606によって示されるように、カメラポーズデータ605は、第2のディスプレイパネル104(2)上にレンダリングされるフレームについての第2の画像に関連付けられた第2の直立カメラ配向をさらに含んでもよく、この第2の直立カメラ配向は、一対の仮想カメラの第2の仮想カメラが直立カメラ配向にあることを指定する(または示す)。第2の直立カメラ配向は、本明細書で説明されるように、第2のディスプレイパネル104(2)がたまたまその配向で傾けられている場合、第2の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0049】
608において、コンポジタ403は、アプリケーション407から、第1の画像609(1)(例えば、左画像)および第2の画像609(2)(例えば、右画像)を含むフレームを受信してもよい。これらの画像609(1)および609(2)(まとめて609)は、アプリケーション407から、およびコンポジタ403によってピクセルデータとして受信され得ることを理解されたい。さらに、図6に示されるように、一対の画像609は、直立カメラ配向を含むカメラポーズデータ605にしたがってアプリケーション407によってレンダリングされている。したがって、一対の画像609のシーンは、プロセス400の場合のように、直立しており、回転しない。
【0050】
610において、コンポジタ403は、フレームの画像609を反対に回転させることによってフレームを再サンプリングし得る。例えば、コンポジタ403は、第1の回転される画像611(1)に対応する再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、第1の仮想カメラに関連付けられたフレームのピクセルデータの第1のサブセットを第1の方向(例えば、反時計回りの方向)に回転させ、第2の回転される画像611(2)に対応する再サンプリングされたフレームの修正されたピクセルデータの第2のサブセットを取得するために、第2の仮想カメラに関連付けられたフレームのピクセルデータの第2のサブセットを第1の方向とは反対の第2の方向(例えば、時計回りの方向)に回転させることによって、フレームを再サンプリングし得る。これらの回転調整は、ピクセルのX-Yマッピングを利用してもよく、各ピクセルを開始座標(X1、Y1)から目標座標座標(X2、Y2)に移動させるために数学的計算を実行してもよい。ブロック610における再サンプリング動作(複数可)は、限定されないが、レンズ歪み(例えば、色彩歪み)の補正、再投影変換を適用して、ユーザ102の予測された頭部の姿勢にしたがってピクセルデータを修正するなどの追加のデジタル変換を含み得る。
【0051】
612において、コンポジタ403は、再サンプリングされたフレームと関連付けられた修正されたピクセルデータをフレームバッファに出力し得、その結果、再サンプリングされたフレームは、HMD100の反対に回転されるディスプレイパネル104(1)および104(2)上に一対の画像として出力され得る。
【0052】
614において、再サンプリングされたフレームの一対の回転された画像611は、HMD 100の反対に回転されるディスプレイパネル104(1)および104(2)上に表示され得る。図6に示されるように、ディスプレイパネル104上に提示される画像は、ディスプレイパネル104の反対に回転される配向にもかかわらず、直立の配向にある。これは、カメラポーズデータ605においてアプリケーション407に提供される反対方向回転カメラ配向を補償するブロック610における再サンプリング動作(複数可)における回転調整のせいである。プロセス600が単一のフレームをレンダリングすることを伴い、プロセス600がアプリケーション407の実行中に複数の連続フレームをレンダリングするために反復され得ることを理解されたい。本明細書に記載されるサンプリングアーチファクトは、図6の実施形態に表示される画像内に自ら現れ得るが、ディスプレイパネル104の反対に回転する配向は、パネルアーチファクトの軽減、増加したFOV、および改善された人間工学など、本明細書に記載される残りの利点を提供する。
【0053】
図7は、直立パネル配向200における一対のディスプレイパネル104(1)および104(2)の正面図700、ならびに直立パネル配向200における一対のディスプレイパネル104(1)および104(2)の上面図702、さらにディスプレイパネルを傾けた後の一対のディスプレイパネル104(1)および104(2)の追加の上面図704を示す図である。図7のディスプレイパネル104(1)および104(2)の配向は、以下の図8に説明する実施形態の文脈で提示される。すなわち、この実施形態では、ディスプレイパネル104は反対に回転されず、代わりに直立パネル配向200に配向される。いくつかの実施形態では、ディスプレイパネル104は、直立パネル配向200の横断面に直交する軸(例えば、Y軸)の周囲に各ディスプレイパネル104を傾けるなどによって、傾けられ得る。例えば、第1のディスプレイパネル104(1)は、横断面に対して直交軸の周りを第1の方向(例えば、反時計回りの方向)に傾けられ得、第2のディスプレイパネル104(2)は、横断面に対して直交軸の周りを第1の方向と反対側の第2の方向(例えば、時計回りの方向)に傾けられ得る。追加的に、または代替的に、ディスプレイパネル104は、直立パネル配向200の正中矢状面に直交する第2の軸(例えば、X軸)の周りで傾けられ得る。
【0054】
図8は、実行中のアプリケーションに反対に回転されたカメラの配向のカメラポーズデータを送信し、時計回り/反時計回りの方向に回転調整でアプリケーションによって出力されたフレームを再サンプリングし、図7に示されるディスプレイパネルなどの直立に配向されたディスプレイパネル上に表示するために再サンプリングされたフレームについてのピクセルデータをフレームバッファに出力するための例示的なプロセス800のフロー図である。考察目的で、前図を参照してプロセス800を説明する。
【0055】
802において、HMD100(またはHMDシステム)のコンポジタ403は、カメラポーズデータ805を、ピクセルデータのフレームを出力するように構成された実行アプリケーション407に送信し得る。このピクセルデータの第1のサブセットは、第1のディスプレイパネル104(1)、第1の画像、第1の仮想カメラ、および/またはHMD100を装着しているユーザの第1の眼に関連付けられ、一方、このピクセルデータの第2のサブセットは、第2のディスプレイパネル104(2)、第2の画像、第2の仮想カメラ、および/またはHMD100を装着しているユーザの第2の眼に関連付けられる。カメラポーズデータ805は、カメラポーズデータ805にしたがって、一連のフレームにおいて、次のフレームをどのようにレンダリングするかについてアプリケーション407に通知する。ブロック802における動作(複数可)は、API呼び出しの一部として実行され得る。いくつかの実施形態では、コンポジタ403は、コンポジタ403がカメラポーズデータ805内で直立カメラ配向を送信する場合、通常アプリケーション407にレンダリングを要求するピクセルに追加のピクセルをレンダリングするようにアプリケーション407にさらに要求し得る。これは、フレームの画像が、カメラポーズデータ805内の反対方向回転カメラ配向に対抗するために、以下のブロック810で再サンプリング動作(複数可)において反対に回転されることになり、追加のピクセルを使用して、再サンプリング中に画像の配向を回転させることから生じるギャップを埋めることができるからである。
【0056】
サブブロック804によって示されるように、カメラポーズデータ805は、第1のディスプレイパネル104(1)上にレンダリングされるフレームについての第1の画像に関連付けられた第1の回転カメラ配向を含み得、この第1の回転カメラ配向は、一対の仮想カメラの第1の仮想カメラが、第1の方向(例えば、反時計回りの方向)に、直立カメラ配向に対して回転されていることを指定する(または示す)。第1の回転カメラ配向で指定される回転の量は、直立カメラ配向に対して、10~80度の範囲内、20~70度の範囲内、30~60度の範囲内、または40~50度の範囲内であり得る。45度の回転は、サンプリングアーチファクトの最大の軽減を提供し得る。第1の回転カメラ配向は、本明細書で説明されるように、第1のディスプレイパネル104(1)がその配向において傾けられている場合、第1の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0057】
サブブロック806によって示されるように、カメラポーズデータ805は、第2のディスプレイパネル104(2)上にレンダリングされるフレームについての第2の画像に関連付けられた第2の回転カメラ配向をさらに含んでもよく、この第2の回転カメラ配向は、一対の仮想カメラの第2の仮想カメラが、直立カメラ配向に対して、第1の方向と反対側の第2の方向(例えば、時計回りの方向)に回転されていることを指定する(または示す)。第2の回転カメラ配向で指定される回転量は、第1の回転カメラ配向で指定される回転量と実質的に等しくてもよく、サブブロック804を参照して指定される回転範囲内であってもよい。第2の回転カメラ配向は、本明細書で説明されるように、第2のディスプレイパネル104(2)がたまたまその配向で傾けられている場合、第2の仮想カメラが傾けられていることをさらに指定(または指示)し得る。
【0058】
808において、コンポジタ403は、アプリケーション407から、第1の画像809(1)(例えば、左画像)および第2の画像809(2)(例えば、右画像)を含むフレームを受信してもよい。これらの画像809(1)および809(2)(まとめて809)は、アプリケーション407から、およびコンポジタ403によってピクセルデータとして受信され得ることを理解されたい。さらに、図8に示されるように、一対の画像809は、反対方向回転カメラ配向を含むカメラポーズデータ805にしたがってアプリケーション407によってレンダリングされている。したがって、一対の画像809内のシーンは、反対方向回転カメラ配向に基づいて、対応する回転量によって反対に回転される。言い換えれば、アプリケーション407は、仮想カメラの反対方向回転カメラ配向を自然にレンダリングする。
【0059】
810において、コンポジタ403は、フレームの画像809を反対に回転させることによってフレームを再サンプリングし得る。例えば、コンポジタ403は、第1の回転される画像811(1)に対応する再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、第1の仮想カメラに関連付けられたフレームのピクセルデータの第1のサブセットを第1の方向(例えば、時計回りの方向)に回転させ、第2の回転される画像811(2)に対応する再サンプリングされたフレームの修正されたピクセルデータの第2のサブセットを取得するために、第2の仮想カメラに関連付けられたフレームのピクセルデータの第2のサブセットを第1の方向とは反対の第2の方向(例えば、反時計回りの方向)に回転させ、フレームを再サンプリングし得る。ピクセルデータの第2のサブセットが回転する回転量は、ピクセルデータの第1のサブセットが回転する回転量に実質的に等しくてもよく、サブブロック804に関して指定された回転範囲内であってもよい。ブロック810における再サンプリング動作(複数可)は、限定されないが、レンズ歪み(例えば、色彩歪み)の補正、再投影変換を適用して、ユーザ102の予測された頭部の姿勢にしたがってピクセルデータを修正するなどの追加のデジタル変換を含み得る。
【0060】
812において、コンポジタ403は、再サンプリングされたフレームと関連付けられた修正されたピクセルデータをフレームバッファに出力し得、その結果、再サンプリングされたフレームは、図7に示されるようなHMD100の直立に配向されたディスプレイパネル104(1)および104(2)上の一対の画像として出力され得る。
【0061】
814において、一対の回転される画像811は、HMD100の直立に配向されたディスプレイパネル104(1)および104(2)上に表示され得る。図8に示すように、ディスプレイパネル104上に提示される画像は、直立の配向にある。これは、カメラポーズデータ805内にアプリケーション407に提供される反対方向回転カメラ配向を補償するブロック810での再サンプリング動作(複数可)における回転調整のためである。プロセス800が単一のフレームをレンダリングすることを伴い、プロセス800がアプリケーション407の実行中に複数の連続フレームをレンダリングするために反復され得ることを理解されたい。プロセス800は、直立に配向されたディスプレイパネル104を有するHMD100で使用されているにもかかわらず、HMD100のディスプレイ性能を改善するために、本明細書に記載されるサンプリングアーチファクト(例えば、ぎざぎざの線)を軽減する。
【0062】
図9は、具現化され得る本明細書に開示される実施形態による、VRヘッドセットなどのHMD100(またはHMD100を含むHMDシステム)の例示的な部品を例示する。HMD100は、ユーザ102によって(例えば、ユーザ102の頭部に)装着されることになるスタンドアロンデバイスとして実装され得る。いくつかの実施形態では、HMD100は、ユーザ102が、ユーザ102の頭部の周囲に収まるようにサイズ決めされる固設機構(例えば、調整可能バンド)を使用して、HMD100をユーザの頭部に固設することを可能にすることによって、頭部に装着可能であり得る。いくつかの実施形態では、HMD100は、ニアアイまたはニアツーアイディスプレイ(複数可)を含む仮想現実(VR)または拡張現実(AR)ヘッドセットを含む。したがって、「装着可能デバイス」、「装着可能電子デバイス」、「VRヘッドセット」、「ARヘッドセット」、および「ヘッドマウントディスプレイ(HMD)」という用語は、本明細書では互換的に使用されて、図1のデバイス100を指し得る。しかしながら、これらのタイプのデバイスは、HMD100の単なる例であることを理解されたい、HMD100は、様々な他のフォームファクタで実装され得ることを理解されたい。図9に示される部品の一部または全部は、HMD100上に実装され得ることも理解されたい。したがって、いくつかの実施形態では、図9に示される部品のサブセットは、HMDシステムの一部であるが、PC、ゲームコンソール、または任意の他の好適なコンピューティングデバイスのようなHMD100自体とは別個であるコンピューティングデバイス上に実装され得る。
【0063】
図示の実装形態では、HMD100は、1つ以上のプロセッサ902およびメモリ904(例えば、コンピュータ可読媒体904)を含む。いくつかの実装形態では、プロセッサ(複数可)902は、中央処理ユニット(CPU)(複数可)、グラフィック処理ユニット(GPU)(複数可)、CPU(複数可)およびGPU(複数可)の両方、マイクロプロセッサ(複数可)、デジタルシグナルプロセッサ(複数可)、または当該技術分野で知られている他の処理ユニットもしくは部品を含み得る。代替的に、または追加的に、本明細書で機能的に説明される機能は、少なくとも部分的に、1つ以上のハードウェアロジック構成要素によって実施されることができる。例えば、非限定的に、使用され得るハードウェアロジック部品の例示的なタイプとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)などが挙げられる。加えて、プロセッサ(複数可)902の各々は、プログラムモジュール、プログラムデータ、および/または1つ以上のオペレーティングシステムも記憶し得る独自のローカルメモリを保有し得る。
【0064】
メモリ904は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性メモリ、着脱可能および着脱不能媒体を含み得る。そのようなメモリは、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光メモリ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイスからアクセスすることができる任意の他の媒体を含む。メモリ904は、コンピュータ可読記憶媒体(「CRSM」)として実装され得、これは、メモリ904に記憶された命令を実行するためにプロセッサ(複数可)902によってアクセス可能な任意の利用可能な物理媒体であり得る。1つの基本的な実装形態では、CRSMには、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含み得る。他の実装形態において、CRSMは、これらに限定されるものではないが、読み取り専用メモリ(「ROM」)、電気的に消去可能なプログラム可能な読み取り専用メモリ(「EEPROM」)、または所望の情報を記憶するために使用することができ、かつプロセッサ(複数可)902によってアクセスすることができる任意の他の有形媒体を含むことができる。
【0065】
一般に、HMD100は、本明細書に説明される技術、機能、および/または動作を実装するように構成されるロジック(例えば、ソフトウェア、ハードウェア、および/またはファームウェアなど)を含み得る。コンピュータ可読媒体904は、命令、データストアなどの、様々なモジュールを含むものとして示され、これらのモジュールは、本明細書に説明される技術、機能、および/または動作を実施するためにプロセッサ(複数可)902上で実行するように構成され得る。コンピュータ可読媒体904に記憶され、かつプロセッサ(複数可)902上で実行可能なものとして、数個の例示的な機能モジュールが示されているが、同じ機能が、代替的に、ハードウェア、ファームウェア内に、またはシステムオンチップ(SOC)および/もしくは他のロジックとして実装されてもよい。
【0066】
オペレーティングシステムモジュール906は、他のモジュールの便宜のために、HMD100内でHMD100に連結されたハードウェアを管理するように構成され得る。加えて、いくつかの事例では、HMD100は、メモリ904に記憶されているか、またはさもなければHMD100にアクセス可能な1つ以上のアプリケーション407を含み得る。この実装では、アプリケーション(複数可)407は、ビデオゲームアプリケーション(複数可)407を含む。しかしながら、HMD100は、任意の数またはタイプのアプリケーションを含み得、ここに示される特定の例に限定されない。ビデオゲームアプリケーション(複数可)407は、ユーザ102によってプレイ可能であるビデオベースのインタラクティブゲーム(例えば、VRゲーム)のゲームプレイを開始し、HMD100のディスプレイパネル104上にレンダリングされるべきフレームを出力するように構成され得る。コンポジタ403は、HMD100の他のロジックと組み合わせて、アプリケーション407にカメラポーズデータ405/605/805を提供し、フレームを再サンプリングし、フレームバッファに再サンプリングされたフレームについてのピクセルデータを出力するために、本明細書に説明される技術を実施するように構成され得る。
【0067】
全般的に、HMD100は、入力デバイス908および出力デバイス910を有する。入力デバイス908は、制御ボタンを含み得る。いくつかの実装において、1つ以上のマイクロフォンが、ユーザ音声入力などのオーディオ入力を受信するための入力デバイス908として機能し得る。いくつかの実装において、1つ以上のカメラまたは他のタイプのセンサ(例えば、慣性測定ユニット(IMU))が、ユーザ102の手および/または頭部の動きなどの、ジェスチャ入力を受信するための入力デバイス908として機能し得る。いくつかの実施形態において、追加の入力デバイス908が、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティックなどの形態で提供され得る。他の実施形態において、HMD100は、キーボード、キーパッド、または他の同様の形態の機械的入力を省略してもよい。代わりに、HMD100は、入力デバイス908の比較的単純な形態、ネットワークインターフェース(無線または有線ベース)、電源、および処理/メモリ機能で実装され得る。例えば、1つ以上の入力部品の限定されたセット(例えば、構成を開始する、電源をオン/オフするなどのための専用ボタン)が用いられ得、HMD100は、その後に使用され得る。一実装において、入力デバイス(複数可)908は、音量を増加/減少させるための基本的な音量制御ボタン(複数可)、ならびに電源およびリセットボタンなどの制御機構を含み得る。
【0068】
出力デバイス910は、一対のディスプレイパネル104(1)および104(2)を含み得る。出力デバイス910は、非限定的に、照明要素(例えば、LED)、触覚感覚を生み出すためのバイブレータ、スピーカ(複数可)(例えば、ヘッドフォン)などをさらに含み得る。例えば、電源がオンになっているときなどの状態を示すための単純な光要素(例えば、LED)もあり得る。
【0069】
HMD100は、ネットワークへの無線接続を容易にするために、アンテナ914に連結された無線ユニット912をさらに含み得る。無線ユニット912は、Wi-Fi、Bluetooth、無線周波数(RF)などの、様々な無線技術のうちの1つ以上を実装し得る。HMD100は、ネットワーク、接続された周辺デバイス(PC、ゲームコンソールなどを含む)、または他の無線ネットワークと通信し、HMDシステムの一部であり得るプラグインネットワークデバイスへの有線接続を容易にするための物理ポートをさらに含み得ることを理解されたい。
【0070】
HMD100は、1つ以上の光学要素を使用して、ディスプレイパネル104からユーザの眼に光を向ける光学サブシステム916をさらに含み得る。光学サブシステム916は、非限定的に、アパーチャ、レンズ(例えば、フレネルレンズ、凸レンズ、凹レンズなど)、フィルタなどを含む、異なる光学要素の様々なタイプおよび組み合わせを含み得る。レンズ108(1)および108(2)のそれぞれは、これらの光学素子の一部または全部を含み得る。いくつかの実施形態では、光学サブシステム916内の1つ以上の光学要素は、反射防止コーティングなどの1つ以上のコーティングを有し得る。光学サブシステム916による画像光の拡大は、ディスプレイパネル104が、より大型のディスプレイよりも物理的により小型で、軽量で、より低消費電力であることを可能にする。加えて、画像光の拡大は、表示されたコンテンツ(例えば、画像)の視野(FOV)を増加させ得る。例えば、表示されたコンテンツのFOVは、表示されたコンテンツが、ユーザのFOVのほぼすべて(例えば、対角120~150度)、場合によってはすべてを使用して提示されるようなものである。ディスプレイパネル104(1)および104(2)の反対に回転される配向と結合されると、このFOVは、さらに水平方向に増加され得る。ARアプリケーションは、より狭いFOV(例えば、約40度のFOV)を有していてもよい。光学サブシステム916は、非限定的に、樽型歪み、ピンクッション歪み、長手方向色収差、横収差、球面収差、像面湾曲、非点収差などの、1つ以上の光学誤差を補正するように設計され得る。いくつかの実施形態では、表示のためにディスプレイパネル104に提供されるコンテンツは、事前に歪められており、光学サブシステム916は、コンテンツに基づいて生成された、ディスプレイパネル104からの画像光を受光する場合にその歪みを補正する。いくつかの実施形態では、コンポジタ403は、上述のように、レンダリングパイプライン内のフレームを再サンプリングして、歪みを補正するように構成される。
【0071】
HMD100は、動き、位置、および配向データを生成するために使用されるセンサなどの、1つ以上のセンサ918をさらに含み得る。これらのセンサ918は、ジャイロスコープ、加速度計、磁力計、ビデオカメラ、カラーセンサ、または他の動き、位置、および配向センサであり得るか、またはそれらを含み得る。センサ918はまた、動き、位置、および配向データを生成するためにカメラまたはカラーセンサによって外部から視認され得る一連の能動または受動マーカなどの、センサの二次的部分を含み得る。例えば、VRヘッドセットは、その外部に、外部カメラで見た場合、または光(例えば、赤外光または可視光)で照らした場合に、反射器または光(例えば、赤外光または可視光)などの複数のマーカを含み得、動き、位置、および配向データを生成するために、ソフトウェアによる解釈のための1つ以上の基準点を提供し得る。HMD100は、運動、位置、および配向データを生成するためにHMD100の環境内の基地局によって投影または散布される光(例えば、赤外光または可視光)に対して感応性である光センサを含み得る。
【0072】
一例では、センサ(複数可)918は、慣性測定ユニット(IMU)920を含み得る。IMU920は、加速度計、ジャイロスコープ、磁力計、および/または動きの検出、IMU920と関連付けられた誤差の補正、もしくはそれらのいくつかの組み合わせに好適な他のセンサから受信された測定信号に基づいて、較正データを生成する電子デバイスであり得る。測定信号に基づいて、IMU920のような、そのような動きベースのセンサは、HMD100の初期位置に対するHMD100の推定された位置を示す較正データを生成し得る。例えば、複数の加速度計が並進運動(前方/後方、上/下、左/右)を測定し、複数のジャイロスコープが回転運動(例えば、ピッチ、ヨー、ロール)を測定してもよい。IMU920は、例えば、測定信号を迅速にサンプリングし、サンプリングされたデータからHMD100の推定された位置を計算し得る。例えば、IMU920は、経時的に加速度計から受信された測定信号を統合して速度ベクトルを推定し得、経時的に速度ベクトルを統合して、HMD100上の基準点の推定された位置を決定する。基準点は、HMD100の位置を説明するために使用され得る点である。基準点は、全般的に、空間内の点として定義され得るが、様々な実施形態では、基準点は、HMD100内の点(例えば、IMU920の中心)として定義される。代替的に、IMU920は、サンプリングされた測定信号を外部コンソール(または他のコンピューティングデバイス)に提供し、外部コンソールが較正データを決定する。
【0073】
センサ918は、センサデータを高レートで提供するために、比較的高い周波数で動作し得る。例えば、センサデータは、1000Hzのレート(または1ミリ秒ごとに1つのセンサ読み取り)で生成され得る。このようにして、1秒間に1000回の読み取りが行われる。センサがこの速度で(またはそれ以上の速度で)これだけのデータを生成する場合、動きを予測するために使用されるデータセットは、数十ミリ秒ほどの比較的短い期間でも非常に大きくなる。
【0074】
言及されるように、いくつかの実施形態では、センサ918は、3D空間内のHMD100の位置および/または配向、姿勢などを追跡する目的で、HMD100の環境内の基地局によって放出される光に対して感応性である光センサを含み得る。位置および/または配向の計算は、光パルスのタイミング特性、およびセンサ918によって検出される光の有無に基づき得る。
【0075】
HMD100は、眼追跡モジュール922をさらに含み得る。HMD100の内部のカメラまたは他の光学センサは、ユーザの眼の画像情報を捕捉し得、眼追跡モジュール922は、捕捉された情報を使用して、ねじれおよび回転の大きさ(すなわち、ロール、ピッチ、およびヨー)ならびに各眼の注視方向を含む、瞳孔間距離、HMD100に対する各眼の3次元(3D)位置を決定し得る(例えば、歪み調整の目的で)。一例では、赤外光が、HMD100内で放出され、各眼から反射される。反射光は、HMD100のカメラによって受光または検出され、各眼によって反射された赤外光の変化から眼球回転を抽出するために分析される。ユーザ102の眼を追跡するための多くの方法が、眼追跡モジュール922によって使用され得る。したがって、眼追跡モジュール922は、各眼の最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得、追跡された量の少なくともサブセットが、注視点(すなわち、ユーザが見ている仮想シーン内の3D場所または位置)を推定するためにユーザ102の2つの眼から組み合わせられ得る。例えば、眼追跡モジュール922は、過去の測定値からの情報、ユーザ102の頭部の位置を識別する測定値、およびディスプレイパネル104によって提示されるシーンを記述する3D情報を統合し得る。したがって、ユーザ102の眼の位置および配向の情報は、ユーザ102が見ている、HMD100によって提示された仮想シーン内の注視点を決定するために使用される。
【0076】
HMD100は、頭部追跡モジュール924をさらに含み得る。頭部追跡モジュール924は、上述のように、センサ918のうちの1つ以上を利用して、ユーザ102の頭部の回転を含む頭部の動きを追跡し得る。例えば、頭部追跡モジュール924は、HMD100の最大6自由度(すなわち、3D位置、ロール、ピッチ、およびヨー)を追跡し得る。これらの計算は、一連のフレーム(またはフレームペア)のフレーム(またはフレームペア)ごとに行われ得るため、アプリケーション407は、頭部の位置および配向に応じて、次のフレーム内でシーンをどのようにレンダリングするかを決定し得る。いくつかの実施形態では、頭部追跡モジュール924および/または頭部追跡モジュール924を使用するコンポジタ403は、現在および/または過去のデータに基づいて、HMD100の将来の位置および/または配向を予測するように構成される。これは、ユーザ102がディスプレイパネル104上で光(したがって、画像)を実際に見る前に、アプリケーション407がフレーム(またはフレームペア)をレンダリングするように求められるためである。したがって、次のフレーム(またはフレームペア)は、フレーム(またはフレームペア)をレンダリングする前のおよそ25~30ミリ秒(ms)などのより早い時点で行われた、頭部の位置および/または配向のこの将来の予測に基づいて、レンダリングすることができる。頭部追跡モジュール924によって提供される回転データは、任意の好適な測定単位で、HMD100の回転方向およびHMD100の回転量の両方を決定するために使用され得る。例えば、回転方向は、左、右、上、および下に対応する正または負の水平方向および正または負の垂直方向の観点で単純化されて出力され得る。回転量は、度、ラジアンなどの単位であり得る。角速度が、HMD100の回転速度を決定するために計算されてもよい。
【0077】
特に指示されない限り、本明細書および特許請求の範囲で使用される量を表すすべての数字は、用語「約」によってすべての事例で修正されるものとして理解されるべきである。したがって、逆に示されない限り、本明細書および添付の特許請求の範囲に記載される数値パラメータは、本開示によって取得されることを求められる所望の特性に応じて変化し得る近似である。少なくとも、同等物の原理の特許請求の範囲への適用を制限する試みとしてではなく、各数値パラメータは、報告された有意な桁の数に照らして、かつ通常の丸め技術を適用することによって解釈されるべきである。さらなる明確さが必要とされる場合、「約」という用語は、記載された数値または範囲と組み合わせて使用される場合に当業者によって合理的に付与される意味を有し、すなわち、記載された値または範囲の±20%、記載された値の±19%、記載された値の±18%、記載された値の±17%、記載された値の±16%、記載された値の±15%、記載された値の±14%、記載された値の±13%、記載された値の±12%、記載された値の±11%、記載された値の±10%、記載された値の±9%、記載された値の±8%、記載された値の±7%、記載された値の±6%、記載された値の±5%、記載された値の±4%、記載された値の±3%、記載された値の±2%、または記載された値の±1%の範囲内にある。
【0078】
本主題は、構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例示的な形態として開示される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] ヘッドマウントディスプレイ(HMD)システムであって、
HMDが、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、第1のディスプレイパネルおよび第2のディスプレイパネルを含む、一対のディスプレイパネルと、を含み、
前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを第1の方向に、直立パネル配向に対して前記第1のディスプレイパネルが回転されられることによる第1の配向に配向され、
前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りを前記第1の方向とは反対の第2の方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが回転させられることによる第2の配向に配向されている、HMDシステム。
[2] 1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することであって、前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが、直立カメラ配向に対して、前記第2の方向に回転されていることを指定する第1の回転カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向に対して前記第1の方向に回転されていることを指定する第2の回転カメラ配向と、を含む、送信することと、
前記アプリケーションから前記フレームを受信することと、
再サンプリングされたフレームの修正されたピクセルデータを取得するために、前記フレームのピクセルデータを修正することによって前記フレームを再サンプリングすることと、
前記修正されたピクセルデータをフレームバッファに出力することと、を行うように前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、をさらに含む、[1]に記載のHMDシステム。
[3] 前記アプリケーションがビデオゲームアプリケーションである、[2]に記載のHMDシステム。
[4] 1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することであって、前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが直立カメラ配向にあることを指定する第1の直立カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向にあることを指定する第2の直立カメラ配向と、を含む、送信することと、
前記アプリケーションから前記フレームを受信することと、
前記フレームを再サンプリングして、再サンプリングされたフレームを取得することであって、前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の仮想カメラに関連付けられた前記フレームのピクセルデータの第1のサブセットを前記第2の方向に回転させること、および
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の仮想カメラに関連付けられた前記フレームの前記ピクセルデータの第2のサブセットを前記第1の方向に回転させることによって行われる、取得することと、
前記修正されたピクセルデータをフレームバッファに出力することと、を行うように前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、をさらに含む、[1]に記載のHMDシステム。
[5] 各ディスプレイパネルが実質的に等しい回転量によって回転させられることによって、前記第1のディスプレイパネルが、前記第1の配向に配向され、前記第2のディスプレイパネルが、前記第2の配向に配向されている、[1]に記載のHMDシステム。
[6] 前記実質的に等しい回転量が、前記直立パネル配向に対して10~80度の範囲内である、[5]に記載のHMDシステム。
[7] 前記一対のディスプレイパネルが、同一平面内にある、[1]に記載のHMDシステム。
[8] 前記第1のディスプレイパネルが、前記第1のディスプレイパネルが前記直立パネル配向の横断面に直交する軸の周りでさらに傾けられることによって、前記第1の配向に配向され、
前記第2のディスプレイパネルが、前記第2のディスプレイパネルが前記直立パネル配向の前記横断面に直交する前記軸の周りで、前記第1のディスプレイパネルの方向とは反対の方向にさらに傾けられることによって、前記第2の配向に配向される、[1]に記載のHMDシステム。
[9] ヘッドマウントディスプレイ(HMD)システムであって、
HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、前記一対のディスプレイパネルが、第1のディスプレイパネルおよび前記第1のディスプレイパネルに隣接する第2のディスプレイパネルを含み、前記第1のディスプレイパネルおよび前記第2のディスプレイパネルが、前記第1のディスプレイパネルの側縁部および前記第2のディスプレイパネルの側縁部が平行ではないように各々配向されている、一対のディスプレイパネルと、を備える、HMDシステム。
[10] 前記第1のディスプレイパネルは、前記第1のディスプレイパネルの前額面に直交する第1の軸の周りを第1の方向に、直立パネル配向に対して前記第1のディスプレイパネルが10度以上の回転量回転させられることによって、第1の配向に配向され、
前記第2のディスプレイパネルは、前記第2のディスプレイパネルの前額面に直交する第2の軸の周りで前記第1の方向とは反対の第2の方向に、前記直立パネル配向に対して前記第2のディスプレイパネルが前記回転量回転させられることによって、第2の配向に配向されている、[9]に記載のHMDシステム。
[11] 1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することであって、前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが、直立カメラ配向に対して第1の方向に回転されることを示す第1の回転カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向に対して前記第1の方向とは反対の第2の方向に回転されることを示す第2の回転カメラ配向と、を含む、送信することと、
前記アプリケーションから前記フレームを受信することと、
再サンプリングされたフレームの修正されたピクセルデータを取得するために、前記フレームのピクセルデータを修正することによって前記フレームを再サンプリングすることと、
前記修正されたピクセルデータをフレームバッファに出力することと、を行うように前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、をさらに含む、[9]に記載のHMDシステム。
[12] 前記アプリケーションが、ビデオゲームアプリケーションである、[11]に記載のHMDシステム。
[13] 1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することであって、前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが直立カメラ配向にあることを示す第1の直立カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが前記直立カメラ配向にあることを示す第2の直立カメラ配向と、を含む、送信することと、
前記アプリケーションから前記フレームを受信することと、
前記フレームを再サンプリングして、再サンプリングされたフレームを取得することであって、前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の仮想カメラに関連付けられた前記フレームのピクセルデータの第1のサブセットを第1の方向に回転させること、
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の仮想カメラに関連付けられた前記フレームの前記ピクセルデータの第2のサブセットを前記第1の方向とは反対の第2の方向に回転させることによって行われる、取得することと、
前記修正されたピクセルデータをフレームバッファに出力することと、を行うように前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、をさらに含む、[9]に記載のHMDシステム。
[14] 前記アプリケーションが、ビデオゲームアプリケーションである、[13]に記載のHMDシステム。
[15] 前記HMDが、仮想現実ヘッドセットまたは拡張現実ヘッドセットのうちの少なくとも1つである、[9]に記載のHMDシステム。
[16] 前記第1のディスプレイパネルが、直立パネル配向の横断面に直交する軸の周りを第1の方向に傾けられ、
前記第2のディスプレイパネルが、前記直立パネル配向の前記横断面に直交する前記軸の周りを前記第1の方向とは反対の第2の方向に傾けられている、[9]に記載のHMDシステム。
[17] ヘッドマウントディスプレイ(HMD)システムであって、
HMDは、
ハウジングと、
前記ハウジング内に取り付けられた一対のディスプレイパネルであって、前記一対のディスプレイパネルが、第1のディスプレイパネルおよび第2のディスプレイパネルを含み、前記第1のディスプレイパネルおよび前記第2のディスプレイパネルが、それぞれ、直立パネル配向に配向される、一対のディスプレイパネルと、
1つ以上のプロセッサと、
前記HMDシステムのメモリに記憶され、
一対の仮想カメラに関連するカメラポーズデータを、フレームを出力するように構成されたアプリケーションに送信することであって、前記カメラポーズデータは、
前記一対の仮想カメラのうちの第1の仮想カメラが、直立カメラ配向に対して第1の方向に回転されることを示す第1の回転カメラ配向と、
前記一対の仮想カメラのうちの第2の仮想カメラが、前記直立カメラ配向に対して前記第1の方向とは反対の第2の方向に回転されることを示す第2の回転カメラ配向と、を含む、送信することと、
前記アプリケーションから前記フレームを受信することと、
前記フレームを再サンプリングして、再サンプリングされたフレームを取得することであって、前記取得することは、
前記再サンプリングされたフレームの修正されたピクセルデータの第1のサブセットを取得するために、前記第1の仮想カメラに関連付けられた前記フレームのピクセルデータの第1のサブセットを前記第2の方向に回転させること、および
前記再サンプリングされたフレームの前記修正されたピクセルデータの第2のサブセットを取得するために、前記第2の仮想カメラに関連付けられた前記フレームの前記ピクセルデータの第2のサブセットを前記第1の方向に回転させることによって行われる、取得することと、
前記修正されたピクセルデータをフレームバッファに出力することと、を行うように前記1つ以上のプロセッサによって実行可能なコンピュータ実行可能命令と、を含む、HMDシステム。
[18] 前記第1のディスプレイパネルが、前記直立パネル配向の横断面に直交する軸の周りに傾けられ、
前記第2のディスプレイパネルが、前記直立パネル配向の前記横断面に直交する前記軸の周りに、前記第1のディスプレイパネルの方向とは反対の方向に傾けられ、
前記第1の回転カメラ配向が、前記第1の仮想カメラが傾けられていることをさらに示し、
前記第2の回転カメラ配向が、前記第2の仮想カメラが傾けられていることをさらに示す、[17]に記載のHMDシステム。
[19] 前記フレームを再サンプリングすることが、前記ピクセルデータの前記第1のサブセットおよび前記ピクセルデータの前記第2のサブセットの各々を実質的に等しい回転量回転させることを含む、[17]に記載のHMDシステム。
[20] 前記実質的に等しい回転量が、前記直立カメラ配向に対して40~50度の範囲内にある、[19]に記載のHMDシステム。
図1
図2
図3
図4
図5
図6
図7
図8
図9