JP7403249B2 - 中心窩シミュレーションのためのシステムおよび方法 - Google Patents

中心窩シミュレーションのためのシステムおよび方法 Download PDF

Info

Publication number
JP7403249B2
JP7403249B2 JP2019118516A JP2019118516A JP7403249B2 JP 7403249 B2 JP7403249 B2 JP 7403249B2 JP 2019118516 A JP2019118516 A JP 2019118516A JP 2019118516 A JP2019118516 A JP 2019118516A JP 7403249 B2 JP7403249 B2 JP 7403249B2
Authority
JP
Japan
Prior art keywords
virtual
component
processor
vector
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019118516A
Other languages
English (en)
Other versions
JP2020030805A (ja
Inventor
ウィリアム・ワイ・ホ・チュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boeing Co filed Critical Boeing Co
Publication of JP2020030805A publication Critical patent/JP2020030805A/ja
Application granted granted Critical
Publication of JP7403249B2 publication Critical patent/JP7403249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0227Cooperation and interconnection of the input arrangement with other functional units of a computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Position Input By Displaying (AREA)

Description

本開示は概して、仮想現実アプリケーションおよび拡張現実アプリケーションの中心窩シミュレーション(foveated simulation)に関する。
中心窩レンダリングは、ユーザが見ている箇所などの固定点に基づいて画像の詳細を変更するための技術である。中心窩レンダリングは、表示画像に含まれる詳細の全体量を低減し、ユーザの視野の中心付近により高い詳細レベルを集中させるために、コンピュータによって使用することができる。しかし、中心窩レンダリングを用いる場合でも、現在の技術は、複雑な仮想現実アプリケーションまたは拡張現実アプリケーションを高い忠実度で実行することができない。
特定の実装において、システムが、ヘッドマウントディスプレイ(head mounted display;HMD)、プロセッサ、およびメモリを含む。HMDは、ユーザの視線ベクトルおよびユーザの位置を示すセンサデータを生成するように構成される。プロセッサは、HMDと通信するように構成される。メモリは、プロセッサに結合され、命令を記憶しており、命令は、プロセッサによって実行されるとき、プロセッサに、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得させる。命令はまた、プロセッサに、仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定させる。命令はさらに、プロセッサに、視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値(alignment value)を計算させ、位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節させる。
別の特定の実装において、装置がプロセッサおよびメモリを含む。メモリは、プロセッサに結合され、命令を記憶しており、命令は、プロセッサによって実行されるとき、プロセッサに、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得させる。命令はまた、プロセッサに、仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定させる。命令はさらに、プロセッサに、視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値を計算させ、位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節させる。
また別の特定の実装において、コンピュータ読み取り可能な記憶装置が命令を含み、命令は、実行されるとき、プロセッサに、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得することを含む動作を行わせる。命令はまた、プロセッサに、仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定することを含む動作を行わせる。命令はまた、プロセッサに、視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値を計算し、位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節することを含む動作を行わせる。
中心窩シミュレーションの使用により、システムは、より少ない処理およびシステムリソースを消費し、視線固定の領域において同様のレベルの視覚的品質およびシミュレーション忠実度をもたらす。追加リソースは、ビジュアルフレームレートを増大させ、動揺病を低減させ、および/または視覚的品質を向上させ、それによって、VRへのユーザの没入感を向上させるために使用することができる。中心窩シミュレーションは、同じ演算ハードウェアを用いる非中心窩シミュレーションと比べて比較的高いビジュアル忠実度でのシミュレーションを可能にする。
中心窩シミュレーションのためのシステムの例を示すブロック図である。 図1のシステムによって行われる中心窩シミュレーションの方法の例のフローチャートである。 図1のVRアプリケーションの仮想環境の例を示す略図である。 図3の仮想環境の別の例を示す略図である。 図3の仮想環境の別の例を示す略図である。 図3の仮想環境の別の例を示す略図である。 図1のVRアプリケーションの仮想環境の平面の例を示す略図である。 中心窩シミュレーションの方法の例のフローチャートである。 本開示による中心窩シミュレーションをサポートするように構成されたコンピューティング環境の特定の例のブロック図である。
開示される実施形態は、中心窩シミュレーションのためのシステムおよび方法を提供する。中心窩シミュレーションは、仮想現実アプリケーションおよび拡張現実アプリケーションによって使用することができる。中心窩シミュレーションは、ユーザの視線固定点の外側にある、仮想現実アプリケーションおよび拡張現実アプリケーションの仮想構成要素の演算リソースを低減する。ユーザの視線固定点は、ヘッドマウントディスプレイ内に位置する視線トラッキングシステムによって決定されてもよい。
仮想現実アプリケーションおよび拡張現実アプリケーションのための高忠実度シミュレーションは、シミュレーションとビジュアルシーン(例えば、仮想環境または拡張環境)のレンダリングとの間の演算負荷の分担を必要とする。シミュレーションとレンダリングとの両方について視線固定点の外側の演算負荷を低減することにより、著しい演算性能の増大を達成することができる。追加演算リソースは、ビジュアルフレームレートの増大、動揺病の低減、および/または視覚的品質の向上のために使用し、仮想または拡張現実アプリケーションにおけるユーザの没入感を増大させることができる。
図1は、中心窩シミュレーションのためのシステム102の例のブロック図100を示す。システム102は、コンピュータ112およびヘッドマウントディスプレイ(HMD)114を含む。コンピュータ112は、プロセッサ122およびプロセッサ122に結合されたメモリ124を含む。メモリ124は、命令を記憶しており、命令は、プロセッサ122によって実行されるとき、VRアプリケーション126を使用した中心窩シミュレーションを可能にするための様々な動作をプロセッサ122に行わせる。プロセッサ122は、(視線ベクトル172によって示される)ユーザが見ている箇所に基づいて中心窩シミュレーションを行う。いくつかの実装において、プロセッサ122は、本明細書にさらに説明されるように、プロセッサ122、コンピュータ112、または両方のリソースに基づいて選択的な中心窩シミュレーションを行う。
仮想現実(Virtual Reality;VR)アプリケーション126は、娯楽、ゲーム、または訓練目的で仮想環境(例えば、図3~図7の仮想環境302)および仮想環境のシミュレーションを提供するように構成される。図1の例示的なシステム102に示されるように、VRアプリケーション126はフライトシミュレータアプリケーションである。VRアプリケーション126は、航空電子工学および制御システムなど、航空機フライトデッキの実際の構成要素に対応する仮想構成要素132を含む。各仮想構成要素132は、航空機の実際のハードウェアおよび/またはソフトウェア構成要素のシミュレーションモデルまたはエミュレーションモデルであり、実際のハードウェアおよび/またはソフトウェア構成要素の動作をシミュレートまたはエミュレートするように構成される。例えば、VRアプリケーション126の仮想構成要素132が、現実的な仮想環境をもたらすために、航空機のハードウェア構成要素によって行われる動作をシミュレート(例えば、近似)またはエミュレート(例えば、複製)することができる。以下で使用される場合、「シミュレートする」および「シミュレーション」という用語は、シミュレーション(すなわち、少なくとも近似による模倣)とエミュレーション(すなわち、複製による模倣)との両方を包含する。例示すると、「エミュレートする」とは、特定の入力を前提として同じ出力を生成するために、エミュレートされるシステムの内部処理を複製することを意味する。「シミュレートする」とは、システムに対する特定の入力を前提として同じ出力を生成することを意味する。しかし、シミュレーションにおいて、内部処理は、複製される必要はない(すなわち、内部処理は、複製されることも、改変されることもできる)。
VRアプリケーション126はさらに、シミュレーションプログラミング134、シミュレーション設定値136、およびシミュレーション閾値138を含む。プロセッサ122は、本明細書にさらに説明されるように、シミュレーションプログラミング134、シミュレーション設定値136、およびシミュレーション閾値138に基づいて、(実際の構成要素をシミュレートするための)仮想構成要素132を生成する。各仮想構成要素132は、関連または対応するシミュレーションプログラミング134、シミュレーション設定値136、およびシミュレーション閾値138を有してもよい。シミュレーションプログラミング134、シミュレーション設定値136、またはシミュレーション閾値138のうちの1つ以上を調節することで、VRアプリケーション126のシミュレーション忠実度が調節される。例えば、特定のシミュレーションプログラミング134の精度を低減する、特定のシミュレーション設定値136を低減する、および/または特定のシミュレーション閾値138を低減することで、VRアプリケーション126の特定の仮想構成要素132による実際の構成要素のシミュレーション忠実度が低減する。VRアプリケーション126のシミュレーション忠実度を低減することにより、VRアプリケーション126は、プロセッサ122の処理リソース(例えば、中央演算処理装置(central processing unit;CPU)のリソース)およびコンピュータ112の演算リソース(例えば、ランダムアクセスメモリ(random access memory;RAM)、グラフィック処理装置(graphics processing unit;GPU)のリソースなど)をより少なく消費する。
コンピュータ112はさらに、ネットワークインターフェイス128およびI/Oインターフェイス130を含む。ネットワークインターフェイス128は、プロセッサ122に結合され、1つ以上のネットワーク装置、HMD114、またはそれらの組合せと通信するように構成される。ネットワークインターフェイス128は、有線インターフェイス、無線インターフェイス、またはそれらの組合せを含んでもよく、またはそれに対応してもよい。I/Oインターフェイス130は、プロセッサ122に結合され、HMD114または1つ以上の入力装置116などの他の装置に対して信号および/またはデータを送受信するように構成される。いくつかの実装において、I/Oインターフェイス130は、ユニバーサルシリアルバス(Universal Serial Bus;USB)3.0インターフェイス、ディスプレイポートインターフェイス、高解像度マルチメディアインターフェイス(High-Definition Multimedia Interface;HDMI(登録商標))インターフェイス、またはそれらの組合せを含む。
HMD114は、ディスプレイ142、1つ以上のセンサ144、およびI/Oインターフェイス130Aを含む。いくつかの実装において、HMD114はさらに、プロセッサ122およびメモリ124と同様の、プロセッサおよびメモリを含む。他の実装において、コンピュータ112はHMD114に内蔵され、システム102は別個のコンピュータ112を含まない。加えて、HMD114は、1つ以上のネットワーク装置、コンピュータ112、またはそれらの組合せと通信するように構成された、ネットワークインターフェイス128Aなどのネットワークインターフェイスを含んでもよい。
ディスプレイ142は、映像を表示または出力するように構成される。例えば、ディスプレイ142は、コンピュータ112によって生成されたグラフィックユーザインターフェイス(graphical user interface;GUI)192を表示するように構成される。GUI192は、VRアプリケーション126の仮想環境を描写するシーンまたはフレームを含み、またはそれらに対応する。
1つ以上のセンサ144は、ユーザ(例えば、仮想環境内のユーザのアバター)の視線ベクトル172および仮想環境内のユーザの位置174を示すセンサデータ162を生成するように構成される。視線ベクトル172は、仮想環境内のユーザの視野角に対応する。視線ベクトル172は、(例えば、ヘッドトラッカによって決定されるときの)頭の向き、または(例えば、アイトラッカによって決定されるときの)目の向きに対応してもよい。いくつかの実装において、視線ベクトル172は単位ベクトルである。1つ以上のセンサ144は、1つ以上のジャイロスコープ152、加速度計154、アイトラッカ、赤外線センサ/エミッタ、電気光学センサ/エミッタ、慣性センサ、またはそれらの組合せを含む。アイトラッカは、カメラ、または網膜の中心窩などのユーザの網膜を追跡するように構成された別の装置を含む。
I/Oインターフェイス130Aは、コンピュータ112または1つ以上の入力装置116などの他の装置に対して信号および/またはデータを送受信するように構成される。例えば、I/Oインターフェイス130Aは、センサデータ162をコンピュータ112に送信する、および/または視線ベクトル172および位置174、すなわち、視線ベクトル172および位置174を示すデータをコンピュータ112に送信する。HMD114のI/Oインターフェイス130Aが視線ベクトル172および位置174を示すデータをコンピュータ112に送信する実装において、HMD114は、プロセッサ122と同様のプロセッサを含み、HMD114のプロセッサは、センサデータ162を処理して視線ベクトル172および位置174を示すデータを生成する。代わりに、ネットワークインターフェイス128Aは、センサデータ162をコンピュータ112に送信する、および/または視線ベクトル172および位置174、すなわち、視線ベクトル172および位置174を示すデータをコンピュータ112に送信するように構成される。
1つ以上の入力装置116は、ユーザ入力に基づいて信号および/またはデータを生成し、信号および/またはデータをコンピュータ112、HMD114、または両方に送信するように構成される。いくつかの実装において、1つ以上の入力装置116は、キーボードおよびマウスを含み、またはそれらに対応する。他の実装において、1つ以上の入力装置116は、ゲームパッドまたはジョイスティックなどのコントローラーを含み、またはそれに対応する。説明のための非限定的な例として、VRアプリケーション126がフライトシミュレータアプリケーションであるとき、1つ以上の入力装置116は、航空機の1つ以上の計器制御パネル、航空機のインセプタ、制御ヨーク、1つ以上のラダーペダル、コレクティブ、サイクリック、またはそれらの組合せを含み、またはそれに対応する。1つ以上の入力装置116は、有線インターフェイスまたは無線インターフェイスを介して、コンピュータ112、HMD114、または両方に結合されてもよい。
図1では、VRアプリケーション126が説明されるが、他の実装において、システム102は拡張現実(Augmented Reality;AR)アプリケーションを含む。例えば、システム102(例えば、そのHMD114)は携帯型でもよく、航空機の実際のフライトデッキの内部で動作し、拡張環境を生成するために物理環境に仮想オブジェクトを重畳してもよい。別の例として、システム102は、航空機の複製フライトデッキ内で動作することができ、仮想オブジェクトを複製フライトデッキに重畳することができる。
いくつかの実装において、プロセッサ122は、プロセッサ122のリソースおよび/またはコンピュータ112のリソースに基づいて、選択的な中心窩シミュレーションを利用する。例えば、リソースは、使用リソースまたは使用可能リソースでもよい。例示すると、プロセッサ122は、プロセッサ122の使用可能リソースが、選択的な中心窩閾値よりも大きいかどうかを決定する。プロセッサ122の使用可能リソースが選択的な中心窩閾値よりも大きいという決定に応答して、プロセッサ122は、仮想構成要素132のシミュレーション設定値136をベース値(例えば、100パーセントまたは高忠実度のシミュレーションを表すデフォルト値)に調節する。プロセッサ122の使用可能リソースが選択的な中心窩閾値以下であるという決定に応答して、プロセッサ122は、図2を参照して説明される1つ以上の動作を行うなど、中心窩シミュレーションを行う。
加えてまたは代わりに、プロセッサ122は、ユーザ入力に基づいて選択的な中心窩シミュレーションを利用する。例えば、中心窩シミュレーションをオンまたはオフするために、コンピュータ112のユーザがVRアプリケーション126の中心窩シミュレーション設定値を設定することができる。
いくつかの実装において、図1のシステム102は、処理リソースおよびシステムリソースをさらに低減し、複雑なVRアプリケーション126の高忠実度シミュレーションを可能にするために、中心窩レンダリングを行うことができる。図2を参照して図1のシステム102の動作が説明される。
図2は、図1のシステム102によって行われる中心窩シミュレーションの例のフローチャート200である。フローチャート200によって表される方法は、コンピュータ112、HMD114、またはそれらの組合せによって行われてもよい。
202にて、システム102は、ユーザの視線ベクトル172およびユーザの位置174を示すデータを取得する。例えば、プロセッサ122は、I/Oインターフェイス130を介してHMD114からセンサデータ162を受信する。別の例として、プロセッサ122は、ネットワークインターフェイス128を介してHMD114からセンサデータ162を受信する。プロセッサ122は、受信したセンサデータ162に基づいてユーザの視線ベクトル172およびユーザの位置174を生成(例えば、計算)する。代わりに、プロセッサ122は、I/Oインターフェイス130またはネットワークインターフェイス128を介して、ユーザの視線ベクトル172およびユーザの位置174を示すデータを受信する。例示すると、HMD114は、センサデータ162に基づいてユーザの視線ベクトル172および位置174を生成し、プロセッサ122は、ユーザの視線ベクトル172およびユーザの位置174、すなわち、ユーザの視線ベクトル172およびユーザの位置174を示すデータを受信する。
204にて、システム102は、ユーザの位置174および仮想構成要素132の位置に基づいて、VRアプリケーション126の仮想構成要素132(例えば、シミュレートされるハードウェア構成要素)の構成要素ベクトル176を決定する。例えば、プロセッサ122は、ユーザの位置174および特定の仮想構成要素132の中心点(例えば、図7の中心点762)に基づいて、特定の仮想構成要素132の構成要素ベクトル176を決定する。
206にて、システム102は、視線ベクトル172および構成要素ベクトル176に基づいて位置合せ値178を計算する。例えば、プロセッサ122は、視線ベクトル172と特定の仮想構成要素132の構成要素ベクトル176との内積に基づいて、特定の仮想構成要素132の位置合せ値178を計算する。例示すると、プロセッサ122は、視線ベクトル172および構成要素ベクトル176を単位ベクトルに変換(例えば、正規化)し、視線ベクトル172の単位ベクトル(すなわち、単位ベクトル表記の視線ベクトル172)と、特定の仮想構成要素132の構成要素ベクトル176の単位ベクトル(すなわち、単位ベクトル表記の構成要素ベクトル176)との内積に基づいて、特定の仮想構成要素132の位置合せ値178を計算する。代わりに、視線ベクトル172および構成要素ベクトル176の1つ以上が、単位ベクトルとして従前に決定または生成されており、プロセッサ122は、視線ベクトル172および/または構成要素ベクトル176の内積に基づいて位置合せ値178を計算する。
208にて、システム102は、位置合せ値178をスケーリングしてスケーリングされた位置合せ値278を生成する。例えば、プロセッサ122は、元の位置合せ値(例えば、位置合せ値178)をスケーリングしてスケーリングされた位置合せ値278を生成する。位置合せ値178は、スケーリングされた位置合せ値278を生成するために線形的または非線形的にスケーリングされることができる。位置合せ値178のスケーリングにより、システム102は、ユーザの視線の中心からより離れた構成要素に比例してシミュレーションを調節(例えば、低減)することが可能となり、領域またはセクションに基づいて調節するよりも精細な制御(例えば、低減)がもたらされ得る。特定の例において、位置合せ値178のスケーリングに使用されるスケーリング係数またはスケーリングされた位置合せ値278の計算に使用される方法が、ユーザの視界の限度または境界に基づく。例示すると、スケーリング係数は、ユーザの視界の中心の外側にあるオブジェクトについてユーザの視覚的明瞭性の低減に基づいて、位置合せ値178をスケーリングするために決定することができる。
説明のための非限定的な例として、線形的なスケーリングを適用するとき、位置合せ値178は、0~1の範囲内(0、1を含む)の値にスケーリングされてもよい。視線ベクトル172および構成要素ベクトル176が単位ベクトルであるとき、位置合せ値178は、-1~1の範囲(-1、1を含む)を有してもよい。この例において、スケーリングされた位置合せ値278(例えば、線形的にスケーリングされた位置合せ値)は、例えば、位置合せ値178に1を加えて得られた結果を2で割って、計算することができる。
説明のための非限定的な別の例として、非線形的なスケーリングを適用するとき、位置合せ値178は、0~1の範囲内(0、1を含む)の値にスケーリングされることができる。視線ベクトル172および構成要素ベクトル176が単位ベクトルであるとき、位置合せ値178は、-1~1の範囲(-1、1を含む)を有することができる。位置合せ値178は、上述されたように、中間値に線形的にスケーリングされてもよく、中間値は、スケーリングされた位置合せ値278(例えば、非線形的にスケーリングされた位置合せ値)を生成するために、対数方程式(例えば、10、2、e、1/10、または1/2などを底とする対数)または指数方程式によって、非線形的にスケーリングされることができる。そのような非線形的なスケーリングの適用は、ユーザがユーザの視線の中心の外側にあるオブジェクト(例えば、オブジェクトの詳細および輝度)を知覚する具合に見合うまたはそれと近似するために、スケーリングと、得られたスケーリングされた位置合せ値278とを良好に関係づける。
210にて、システム102は、仮想構成要素132が立体面平面282を有するかどうかを決定する。例えば、プロセッサ122は、特定の仮想構成要素132が立体面平面282を有するかまたはそれに関連付けられるかどうかを決定する。特定の仮想構成要素132が立体面平面282と関連付けられる場合、立体面平面282を識別するかまたはそのレンダリングを可能にするデータが、メモリ124またはVRアプリケーション126に記憶される。加えてまたは代わりに、プロセッサ122は、特定の仮想構成要素132の境界に基づいて立体面平面282を生成(例えば、計算)することができる。例えば、プロセッサ122は、仮想環境内の特定の仮想構成要素132の表面のコーナーの座標に基づいて立体面平面282を生成する。
212にて、システム102は、仮想構成要素132が立体面平面282を有するという決定に応答して、視線ベクトルおよび立体面平面282のコーナーに基づいて仮想構成要素132の立体面平面282の可視領域284を決定する。例えば、プロセッサ122は、図7を参照してさらに説明されるように、立体面平面282をユーザの視線平面に投影することに基づいて、特定の仮想構成要素132の立体面平面282の(ユーザ/視線ベクトルに対する)可視領域284を計算する。
214にて、システム102は、立体面平面282の可視領域284および位置合せ値178に基づいて調整値(throttle value)182を計算する。例えば、プロセッサ122は、スケーリングされた位置合せ値278(または位置合せ値178)と可視領域284との積に基づいて調整値182を計算する。特定の実装において、プロセッサ122はさらに、スケーリングされた位置合せ値278と可視領域284との積に定数または関数を適用することにより、調整値182を計算する。定数または関数を調整値182に適用することで、シミュレーションレベル値を生成することができる。仮想構成要素132のシミュレーション設定値136(すなわち、シミュレーション忠実度)は、シミュレーションレベル値に基づいて調節される。
いくつかの実装において、システム102は、調整値182に基づいてシミュレーション値を特定の仮想構成要素132に割り当てる(例えば、シミュレーションプログラミング134、シミュレーション設定値136、またはシミュレーション閾値138の値を調節または設定する)ために、プロセス間通信(Inter Process Communication;IPC)法を使用する。シミュレーション値を特定の仮想構成要素132に割り当てることで、特定の仮想構成要素132の忠実度が調節される。これにより、VRアプリケーション126の忠実度は調節され、コンピュータ112の処理および演算リソースなど、システム102によって使用される処理および演算リソースの量が調節される。
図2に示されるように、システム102は、216にて、調整値182に基づいてクリティカルセクション相互排除(critical section mutual exclusion)(ミューテック)値292を仮想構成要素132に割り当てる。例えば、プロセッサ122は、クリティカルセクションミューテック値292を調整値182の値に設定し、クリティカルセクションミューテック値292に基づいて特定の仮想構成要素132のシミュレーションプログラミング134、シミュレーション設定値136、またはシミュレーション閾値138のうちの1つ以上を調節する。シミュレーション値を割り当てるために、(1)メッセージキューを使用して、中心窩シミュレーション処理からシミュレーションプログラミング134にメッセージを送信する(例えば、送る)こと、または(2)ネットワークソケットインターフェイスを使用して、TCPメッセージをシミュレーションプログラミング134に送信することなど、他のIPC法を使用することができる。
代わりに、仮想構成要素132が立体面平面282を有していないという決定に応答して、システム102は、ステップ216に進み、IPC法を使用して、スケーリングされた位置合せ値278(または位置合せ値178)を仮想構成要素132に割り当てる。例えば、プロセッサ122は、クリティカルセクションミューテック値292をスケーリングされた位置合せ値278の値に設定し、クリティカルセクションミューテック値292に基づいて、特定の仮想構成要素132のシミュレーションプログラミング134、シミュレーション設定値136、またはシミュレーション閾値138のうちの1つ以上を調節する。
仮想構成要素132が仮想ディスプレイであるか、それを含むとき、仮想ディスプレイのシミュレーションの調節は、仮想ディスプレイの解像度の低減、仮想環境に対する仮想ディスプレイのリフレッシュレートの低減、仮想ディスプレイに関連付けられたレンダリングフレームレート(例えば、毎秒当りフレーム(frame per second;FPS))の低減、またはそれらの組合せを含む。
制御ローディングシステムが、フライトシミュレータまたは訓練装置の現実的なフライト制御力をユーザ(例えば、パイロット)に提供するように構成される。制御ローディングシステムは、VRアプリケーション126(例えば、フライトシミュレータ)およびユーザから入力を受け、VRアプリケーション126(例えば、フライトシミュレータ)およびユーザに出力を提供する。入力は、力の印加および航空機状態を含み、出力は、フライト制御位置および力を含む。
仮想構成要素132が制御ローディングシステムであるとき、制御ローディングシステムのシミュレーションの調節は、プログラミングショートカットの使用(例えば、ステップまたはルーチンのスキップ)または近似の使用(例えば、処理リソースまたはコンピュータリソースを低減するための代替コードの使用)によるなど、制御ローディングシステムのシミュレーションレベルの低減を含む。仮想構成要素132がインセプタ(例えば、航空機を方向付け操縦するための制御入力装置)であるとき、インセプタのシミュレーションの調節は、インセプタに関連付けられた処理頻度(例えば、更新頻度)の低減を含む。例えば、インセプタの位置を決定するインセプタのセンサが、より高いまたは低い頻度で更新される。
VRアプリケーション126の各仮想構成要素132またはVRアプリケーション126の選択された仮想構成要素132について、(破線ボックス222内に示されるような)ステップ204~216を繰り返すことができる。例えば、プロセッサ122は、図3~図4を参照してさらに説明されるように、中心窩シミュレーションのために1つ以上の特定の構成要素タイプを選択してもよい。
図3~図6は、VRアプリケーション126の仮想環境302のビジュアルレンダリングの特定の例を示す略図である。ビジュアルレンダリングは、HMD114のディスプレイ142またはコンピュータ112に結合された別のディスプレイ装置に出力されてもよい。
図3は、図1のVRアプリケーション126の仮想環境302の例を示す略図300である。図3において、仮想環境302は、仮想構成要素312~332などの複数の仮想構成要素132を含む。仮想構成要素132は、電子機器フライト計測装置システム(Electronics Flight Instrumentation System;EFIS)制御パネル312、モード制御パネル314、EFIS一次機能ディスプレイ(Primary Function Display;PFD)316、EFISナビゲーションディスプレイ318、スタンバイフライトディスプレイ(Standby Flight Display;ISFD)320、無線磁方位指示器(Radio Magnetic Indicator;RMI)322、エンジン多機能ディスプレイ(Multi Function Display;MFD)324、多機能制御ディスプレイユニット(Multi Function Control Display Unit;MCDU)326、第1の計器群328、第2の計器群330、および第3の計器群332を含む。図3に示されるように、仮想環境302は、特定の仮想構成要素132の複数のインスタンスを有してもよい。例えば、仮想環境302は、第1の(例えば、左)EFIS制御パネル312Aおよび第2の(例えば、右)EFIS制御パネル312B、第1の(例えば、左)EFIS PFD316Aおよび第2の(例えば、右)EFIS PFD316B、第1の(例えば、左)EFISナビゲーションディスプレイ318Aおよび第2の(例えば、右)EFISナビゲーションディスプレイ318B、ならびに第1の(例えば、左)MCDU326Aおよび第2の(例えば、右)MCDU326Bを含む。
仮想構成要素312、314、328、330および332は、仮想制御パネル、スイッチ、インセプタなどの制御子に対応する。仮想構成要素316~326は、ディスプレイ、すなわち仮想ディスプレイに対応する。
いくつかの実装において、図1のシステム102は、仮想構成要素のタイプに基づいて中心窩シミュレーションを行う。例えば、プロセッサ122は最初に、使用可能リソースが第1の閾値(例えば、最大閾値)未満であるときに、仮想ディスプレイについて中心窩シミュレーションを行い、使用可能リソースが第2の閾値(例えば、中間閾値)未満であるときに、仮想ディスプレイおよび仮想制御について中心窩シミュレーションを行い、使用可能リソースが第3の閾値(例えば、最小閾値)未満であるときに、仮想ディスプレイ、仮想制御子、および高明瞭(high acuity)構成要素および/またはクリティカル構成要素について中心窩シミュレーションを行う。高明瞭構成要素が、鮮明光または閃光を伴う構成要素を含み、クリティカル構成要素が、時間依存性構成要素(警報、警告、通知、相互接続構成要素など)を含む。
いくつかの実装において、プロセッサ122は、図4~図6を参照してさらに説明されるように、VRアプリケーション126の仮想環境302の領域または範囲について中心窩シミュレーションを行う。
図4は、図3の仮想環境302の別の例を示す略図400である。図4は、仮想環境302の中心部分など、仮想環境302の第1の部分を見ているときのユーザの視界を描写する。例えば、図4に示される例の視線ベクトル172が、ユーザがエンジンMFD324と一致する方向を見ていることを示す。いくつかの実装において、図1のシステム102は、仮想環境302を範囲に区分する、および/または視線ベクトル172に基づいて第1の領域412および第2の領域414などの1つ以上の領域を生成する。図4に示されるように、第1の領域412は円であり、第2の領域414は楕円である。
システム102は、範囲および/または領域に基づいて中心窩シミュレーションを行うことができる。例えば、システム102は、異なる領域の構成要素について異なるレベルのシミュレーションを設定することができる。例示すると、システム102は、第1の領域412内の仮想構成要素132を第1のシミュレーションレベルに設定し、第2の領域414内(かつ第1の領域412の外側)の仮想構成要素132を第2のシミュレーションレベルに設定し、第2の領域414の外側の仮想構成要素を第3のシミュレーションレベルに設定する。
非限定的な例として、図4において、エンジンMFD324は、100パーセント(例えば、ベース値)のシミュレーション設定値136を有し、第1のEFISナビゲーションディスプレイ318Aおよび第2のEFISナビゲーションディスプレイ318Bは、80パーセントのシミュレーション設定値136を有し、第1のEFIS PFD316Aおよび第2のEFIS PFD316Bは、20パーセントのシミュレーション設定値136を有する。図4の例において、第1のMCDU326Aおよび第2のMCDU326Bについて、それぞれの一部分が第2の領域414内にあるので、第4のシミュレーションレベル(例えば、60パーセントのシミュレーション設定値136)を使用することができる。例示すると、仮想構成要素132の位置合せ値178(またはスケーリングされた位置合せ値278もしくは調整値182)は、特定のシミュレーション設定値136に対応する値の範囲内である。例えば、第1のEFISナビゲーションディスプレイ318Aおよび第2のEFISナビゲーションディスプレイ318Bは、第1のシミュレーション閾値138未満かつ第2のシミュレーション閾値138超の位置合せ値178を有し、第1のEFIS PFD316Aおよび第2のEFIS PFD316Bは、第2のシミュレーション閾値138未満かつ第3のシミュレーション閾値138超の位置合せ値178を有する。
加えて、仮想環境302の特定の仮想構成要素132が、シミュレーション閾値138または構成要素のタイプに基づくシミュレーション設定値136を有してもよい。例えば、モード制御パネル314は、第2の領域414の外側にあるが、モード制御パネル314に関連付けられた設定値であるために第2のレベル(例えば、80パーセントのシミュレーション設定値136)に設定されることができる。例示すると、モード制御パネル314は、特定のシミュレーションレベルまたはシミュレーション値(例えば、第2のレベルすなわち80パーセント)に対応するシミュレーション閾値138を有する。ISFD320およびRMI322のシミュレーション設定値136が図4に示されていないが、ISFD320およびRMI322が完全に第2の領域414内にあり、部分的にのみ第1の領域412内にあるために80パーセントのシミュレーション設定値136を有する。
図5は、図3の仮想環境302の別の例を示す略図500である。図5は、仮想環境302の左中央部分など、仮想環境302の第2の部分を見ているときのユーザの視界を描写する。システム102は、更新されたユーザ視線位置に基づいて仮想構成要素132のシミュレーション設定値136を調節(例えば、低減または増加)する。
図5の非限定的な例において、第1のEFISナビゲーションディスプレイ318Aは、ユーザの視界の中心範囲(例えば、第1の領域412)内にあるので、100パーセント(例えば、ベース値)のシミュレーション設定値136を有する。この例において、第1のEFIS PFD316AおよびエンジンMFD324は、ユーザの視界の中心範囲付近(例えば、第2の領域414)内にあり、位置合せ値178(またはスケーリングされた位置合せ値278)が他の仮想構成要素132よりも大きいので、80パーセントのシミュレーション設定値136を有する。いくつかの実装において、第1のMCDU326Aはまた、そのレンダリングされた領域の凡そ半分がユーザの視界の中心範囲付近内にあるので、80パーセントのシミュレーション設定値を有する。第2のEFISナビゲーションディスプレイ318Bおよび第2のMCDU326Bは、中心範囲付近の一部分に部分的に重畳しており、位置合せ値178(またはスケーリングされた位置合せ値278)が第1のEFIS PFD316AおよびエンジンMFD324よりも小さいので、60パーセントのシミュレーション設定値136を有する。第2のEFIS PFD316Bは、中心範囲付近に重畳しておらず、中心範囲から最も離れているので、40パーセントのシミュレーション設定値136を有する。したがって、図5の例において、エンジンMFD324のシミュレーション設定値136は、(図4に対して)低減し、第1のEFISナビゲーションディスプレイ318Aのシミュレーション設定値136は、ユーザの視界の変化に基づいて(図4に対して)増大する。
図6は、図3の仮想環境302の別の例を示す略図600である。図6は、仮想環境302の右上部分など、仮想環境302の第3の部分を見ているときのユーザの視界を描写する。システム102は、更新されたユーザ視線位置に基づいて仮想構成要素132のシミュレーション設定値136を調節(例えば、低減または増加)する。
図6の非限定的な例において、モード制御パネル314は、ユーザの視界の中心範囲(例えば、第1の領域412)内にあるので、100パーセント(例えば、ベース値)のシミュレーション設定値136を有する。この例において、第2のEFISナビゲーションディスプレイ318BおよびエンジンMFD324は、ユーザの視界の中心範囲の付近(例えば、真下)にあり、位置合せ値178(またはスケーリングされた位置合せ値278)が第1のEFIS PFD316A、第2のEFIS PFD316B、第1のEFISナビゲーションディスプレイ318A、第1のMCDU326A、および第2のMCDU326Bよりも大きいので、60パーセントのシミュレーション設定値136を有する。第2のEFIS PFD316Bおよび第1のEFISナビゲーションディスプレイ318Aは、中心範囲の末端付近(例えば、真下)にあり、位置合せ値178(またはスケーリングされた位置合せ値278)が第2のEFISナビゲーションディスプレイ318BおよびエンジンMFD324よりも小さいので、40パーセントのシミュレーション設定値136を有する。第1のEFIS PFD316A、第1のMCDU326A、および第2のMCDU326Bは、中心範囲付近に重畳しておらず(例えば、部分的に内部に含まれておらず)、中心範囲から最も離れているので、20パーセントのシミュレーション設定値136を有する。したがって、第1のEFIS PFD316A、第1のMCDU326A、および第2のMCDU326Bは、最小位置合せ値178(またはスケーリングされた位置合せ値278)を有する。シミュレーション設定値136を調節するために調整値182が使用されるとき、より小さな位置合せ値178(またはスケーリングされた位置合せ値278)は、より小さな調整値182を生成する。
図6に示される実装において、制御子(例えば、第1のEFIS制御パネル312Aおよび第2のEFIS制御パネル312B)に対応する仮想構成要素132は調節されない。他の実装において、制御子(例えば、第1のEFIS制御パネル312Aおよび第2のEFIS制御パネル312B)に対応する仮想構成要素132は調節される。例えば、制御子に対応する仮想構成要素132は、100、80、60などの表示シミュレーションレベルとは対照的に、100パーセント、50パーセント、25パーセントなどの制御シミュレーションレベルに基づいて調節される。代わりに、制御子に対応する仮想構成要素132は、ディスプレイに対応する仮想構成要素132のための表示シミュレーションレベルに基づいて調節されることができる。例示すると、第1のEFIS制御パネル312Aは、中心範囲付近に重畳しておらず(例えば、部分的に内部に含まれておらず)、中心範囲から最も離れているので、20パーセントのシミュレーション設定値136を有し、第2のEFIS制御パネル312Bは、ユーザの視界の中心範囲付近内にあるので、80パーセントのシミュレーション設定値136を有する。
したがって、図4~図6の例において、仮想構成要素132のシミュレーション設定値136は、ユーザの視界の変化に基づいて調節される。したがって、システム102は、ユーザが仮想環境302の視界の異なる部分を見るときに、仮想構成要素132のシミュレーション設定値136を増減させることができる。
図7は、図1のVRアプリケーション126の仮想環境302の平面の例を示す略図700である。図7において、仮想環境302は、視線ベクトル172と、視線ベクトル172に直交する2つのベクトル、すなわち直交視線ベクトル712、714とを描写する。図7に示されるように、直交視線ベクトル712、714は、第1の直交視線ベクトル712(例えば、視線ベクトル上)および第2の直交視線ベクトル714(例えば、視線ベクトル右)を含む。直交視線ベクトル712、714は、視線平面722を規定し、視線ベクトル172は、視線平面722に垂直なベクトルである視線平面722の垂直ベクトルである。
図7に示されるように、立体面平面282を視線平面722に投影することにより、特定の仮想構成要素132の立体面平面282の可視領域284を計算することができる。可視領域284は、ユーザによって視認可能であるような立体面平面282の領域に対応する。立体面平面282を投影するために、立体面平面282の複数のコーナー742~748が視線平面722に投影される。例えば、コーナー742、744、746および748のそれぞれは、対応するコーナー752、754、756および758を生成するために、直交視線ベクトル712、714に基づいて視線平面722に投影される。例示すると、プロセッサ122は、第2の直交視線ベクトル714(例えば、視線ベクトル右)と第1のコーナー742(すなわち、仮想環境の原点からコーナーへのベクトル)との内積に基づいて、視線平面722上の第1の対応するコーナー752の第1の座標(例えば、x軸座標)を計算し、第1の直交視線ベクトル712(例えば、視線ベクトル上)と第1のコーナー742との内積に基づいて、視線平面722上の第1の対応するコーナー752の第2の座標(例えば、y軸座標)を計算する。コーナー754、756および758のうちの1つ以上について、同様の処理を使用することができる。可視領域284の領域は、コーナー752、754、756および758に基づいて計算することができる。
他の実装において、可視領域284を計算するために、立体面平面282の全てのコーナーよりも少ないコーナーが視線平面722に投影される。例えば、正方形の立体面平面282を投影するとき、3つのコーナーを視線平面722に投影することができ、投影された3つのコーナーから第4のコーナーを決定することができる。
図7はさらに、立体面平面282の中心点762を示す。構成要素ベクトル176を決定するために、ユーザの位置174および中心点762を使用することができる。いくつかの実装において、プロセッサ122は、仮想構成要素132のコーナー742~748に基づいて中心点762を決定する。
図8は、中心窩シミュレーションの方法800の特定の例を示す。方法800は、コンピュータ112、HMD114、またはそれらの組合せなど、図1のシステム102によって行われてもよい。方法800は、802にて、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得することを含む。例えば、データは、図1のセンサデータ162、視線ベクトル172、または位置174を含んでもよく、またはそれに対応してもよい。例示すると、プロセッサ122は、図1を参照して説明されたように、ユーザの視線ベクトル172および位置174を取得する。
いくつかの実装において、取得すること802は、センサデータを受信し、視線ベクトルおよび位置を示すデータを生成すること812を含む。例示すると、プロセッサ122は、I/Oインターフェイス130またはネットワークインターフェイス128を介してHMD114からセンサデータ162を受信し、プロセッサ122は、センサデータ162に基づいて視線ベクトル172および位置174を生成する。
他の実装において、取得すること802は、視線ベクトルおよび位置を示すデータを受信すること814を含む。例えば、HMD114は、視線ベクトル172および位置174を決定するためにセンサデータ162を処理し、プロセッサ122は、視線ベクトル172および位置174を示すデータをHMD114から受信する。
方法800はまた、804にて、仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定することを含む。例えば、構成要素ベクトルは、図1の構成要素ベクトル176を含んでもよく、またはそれに対応してもよい。例示すると、プロセッサ122は、ユーザの位置174および仮想構成要素132の立体面平面282の中心点762に基づいて、仮想構成要素132の構成要素ベクトル176を決定する。いくつかの実装において、構成要素ベクトル176は、単位ベクトルとして決定されたり、単位ベクトルに変換または正規化されたりする。特定の実装において、プロセッサ122は、仮想構成要素132の複数のコーナー742~748に基づいて中心点762を計算する。
方法800は、806にて、視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値を計算することを含む。例えば、位置合せ値は、図1の位置合せ値178または図2のスケーリングされた位置合せ値278を含んでもよく、またはそれに対応してもよい。例示すると、プロセッサ122は、視線ベクトル172と構成要素ベクトル176との内積など、視線ベクトル172および構成要素ベクトル176に基づいて、位置合せ値178を計算する。いくつかの実装において、プロセッサ122は、図2を参照して説明されたように、位置合せ値178をスケーリングしてスケーリングされた位置合せ値278を生成する。
方法800はさらに、808にて、位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節することを含む。例えば、シミュレーション設定値は、図1のシミュレーション設定値136を含んでもよく、またはそれに対応してもよい。例示すると、プロセッサ122は、位置合せ値178またはそれ自体が位置合せ値178に基づいて生成されたスケーリングされた位置合せ値278に基づいて、仮想構成要素132のシミュレーション設定値136を調節する。いくつかの実装において、プロセッサ122は、位置合せ値178またはスケーリングされた位置合せ値278の値に基づいて、仮想構成要素132のシミュレーション設定値136を調節する。他の実装において、プロセッサ122は、位置合せ値178またはスケーリングされた位置合せ値278および仮想構成要素132の可視領域284に基づいて、調整値182を計算する。そのような実装において、プロセッサ122は、図2を参照して説明されたように、調整値182に基づいて仮想構成要素132のシミュレーション設定値136を調節する。
仮想構成要素132のシミュレーション設定値136を調節するために調整値182の値を使用することは、位置合せ値178またはスケーリングされた位置合せ値278の値を使用するのに比べて、仮想構成要素132の可視領域284を説明する。したがって、ユーザにとってより大きく見える仮想構成要素132は、同様の位置合せ値178またはスケーリングされた位置合せ値278のより小さな仮想構成要素132と比べて、シミュレーション中の低減がより少ない。しかし、仮想構成要素132のシミュレーション設定値136を調節するために調整値182の値を使用することは、位置合せ値178またはスケーリングされた位置合せ値278の値を使用するのに比べて、より多くのシステムリソースを利用する。
いくつかの実装において、方法800は、視線ベクトルに基づいて仮想現実シミュレータの第1の仮想領域を規定し、視線ベクトルに基づいて仮想現実シミュレータの第2の仮想領域を規定することを含む。特定の実装において、第1の仮想領域は円であり、第2の仮想領域は楕円であり、第2の仮想領域は、図4~図6を参照して説明されたように、第1の仮想領域よりも大きい。仮想領域のそのような配置は、ユーザの視界が詳細を知覚する具合をより精密に反映する。そのような実装において、方法800はさらに、図4~図6を参照して説明されたように、第1の仮想領域内に位置する第1の仮想構成要素に第1のシミュレーション設定値を適用し、第1の仮想領域の外側に位置するとともに第2の仮想領域内に位置する第2の仮想構成要素に第2のシミュレーション設定値を適用し、第1の仮想領域および第2の仮想領域の外側に位置する第3の仮想構成要素に第3のシミュレーション設定値を適用することを含む。仮想構成要素は、第1の仮想構成要素、第2の仮想構成要素、第3の仮想構成要素の一部、または第1、第2および第3の仮想構成要素とは別個とすることができる。
いくつかの実装において、方法800は、プロセッサ、コンピュータ、または両方の使用可能リソースを決定することを含む。方法800はまた、プロセッサ、コンピュータ、または両方の使用可能リソースがシミュレーション閾値よりも大きいかどうかを決定することを含む。方法800はさらに、プロセッサ、コンピュータ、または両方の使用可能リソースがシミュレーション閾値よりも大きいという決定に基づいて、仮想構成要素のシミュレーション設定値をベース値に対し調節することを含む。代わりに、方法800は、プロセッサ、コンピュータ、または両方の使用可能リソースがシミュレーション閾値以下であるという決定に基づいて、仮想構成要素のシミュレーション設定値を調整値に基づいて調節することを含む。いくつかの実装において、方法800はさらに、図1、図2のフローチャート200、またはそれらの組合せを参照して説明された1つ以上の動作を含む。
図8の方法800は、特定用途向け集積回路(application-specific integrated circuit;ASIC)、中央演算処理装置(central processing unit;CPU)、コントローラー、別のハードウェア装置、ファームウェア装置、フィールドプログラマブルゲートアレイ(field-programmable gate array;FPGA)装置などの処理ユニット、またはそれらの任意の組合せによって開始または制御されてもよい。例として、図8の方法800は、制御システムに含まれた1つ以上のプロセッサなどの1つ以上のプロセッサによって開始または制御することができる。いくつかの実装において、図8の方法800の一部分が、図2のフローチャート200の1つ以上の動作と組み合わされてもよい。加えて、図8を参照して説明された1つ以上の動作が、オプションであってもよい、および/または図示または説明のものとは異なる順序で行われてもよい。図8を参照して説明された2つ以上の動作が、少なくとも部分的に同時に行われてもよい。
図9は、本開示によるコンピュータ実施方法およびコンピュータ実行可能プログラム命令(またはコード)の実施形態をサポートするように構成された汎用コンピューティング装置910を含むコンピューティング環境900のブロック図の例示である。例えば、コンピューティング装置910またはその部分は、システム102の機能、または、コンピュータ112もしくはHMD114などシステム102の一部分の機能を行うために命令を実行してもよい。システム102(またはコンピュータ112もしくはHMD114などシステム102の一部分)を制御するための命令は、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得する動作を行うための命令を含んでもよい。システム102(またはシステム102の一部分)を制御するための命令はまた、仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定する動作を行うための命令を含んでもよい。システム102(またはシステム102の一部分)を制御するための命令は、視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値を計算する動作を行うための命令を含んでもよい。システム102(またはシステム102の一部分)を制御するための命令はさらに、位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節する動作を行うための命令を含んでもよい。コンピューティング装置910またはその部分はさらに、図2のフローチャート200、図8の方法800、またはそれらの組合せなど、本明細書に説明されるフローチャートおよび/または方法のいずれかに従って動作を行うための命令を実行してもよい。
コンピューティング装置910はプロセッサ920を含む。プロセッサ920は、システムメモリ930、1つ以上の記憶装置940、1つ以上の入力/出力インターフェイス950、1つ以上の通信インターフェイス960、またはそれらの組合せと通信する。特定の実施形態において、プロセッサ920は、コンピュータ112のプロセッサ122またはHMD114のプロセッサを含み、またはそれに対応する。システムメモリ930は、揮発性メモリ装置(例えば、ランダムアクセスメモリ(random access memory;RAM)装置)、不揮発性メモリ装置(例えば、リードオンリーメモリ(read-only memory;ROM)装置、プログラマブルリードオンリーメモリ、およびフラッシュメモリ)、または両方を含む。システムメモリ930は、コンピューティング装置910を起動するための基本入力/出力システムと、コンピューティング装置910がユーザ、他のプログラム、および他の装置とインタラクトすることを可能にするための完全なオペレーティングシステムとを含んでもよいオペレーティングシステム932を含む。システムメモリ930は、プロセッサ920によって実行可能な1つ以上のアプリケーション934を含む。例えば、1つ以上のアプリケーション934は、中心窩シミュレーションを行うようにシステム102を制御するためにプロセッサ920によって実行可能な命令を含む。例示すると、1つ以上のアプリケーション934はVRアプリケーション126を含む。
プロセッサ920はまた、図1のメモリ124などの1つ以上の記憶装置940と通信する。例えば、1つ以上の記憶装置940は、磁気ディスク、光ディスク、またはフラッシュメモリ装置などの不揮発性記憶装置を含むことができる。記憶装置940は、リムーバブルと非リムーバブルとの両方のメモリ装置を含むことができる。記憶装置940は、オペレーティングシステム、オペレーティングシステムの画像、アプリケーション、および位置合せ値178などのプログラムデータ936を記憶するように構成されることができる。記憶装置940はまた、シミュレーションプログラミング134、シミュレーション設定値136、および/またはシミュレーション閾値138を記憶することができる。特定の実施形態において、システムメモリ930、記憶装置940、または両方は、有形のコンピュータ読み取り可能な媒体を含む。
プロセッサ920は、コンピューティング装置910が1つ以上の入力/出力装置970(図1の入力装置116またはディスプレイ142など)と通信してユーザインタラクションを促進することを可能にする1つ以上の入力/出力インターフェイス950と通信する。入力/出力インターフェイス950は、シリアルインターフェイス(例えば、ユニバーサルシリアルバス(universal serial bus;USB)インターフェイスまたは電気電子技術協会(Institute of Electrical and Electronics Engineers;IEEE)1394インターフェイス)、パラレルインターフェイス、ディスプレイアダプタ、オーディオアダプタ、および他のインターフェイスを含むことができる。入力/出力装置970は、キーボード、ポインティングデバイス、ディスプレイ、スピーカ、マイク、タッチスクリーン、および他の装置を含むことができる。プロセッサ920は、入力/出力インターフェイス950を介して受信されたユーザ入力に基づいて、インタラクションイベントを検出する。加えて、プロセッサ920は、入力/出力インターフェイス950を介してディスプレイ装置(例えば、ディスプレイ142)に表示を送信する。
プロセッサ920は、1つ以上の通信インターフェイス960を介してHMD114、1つ以上の装置980、またはそれらの組合せと通信することができる。1つ以上の通信インターフェイス960は、有線イーサネット(登録商標)インターフェイス、IEEE802無線インターフェイス、他の無線通信インターフェイス、または他のネットワークインターフェイスを含んでもよい。1つ以上の装置980は、ホストコンピュータ、サーバ、ワークステーション、および他のコンピューティング装置を含むことができる。
本明細書に説明される例の例示は、様々な実装の構造の全般的な理解をもたらすことを意図している。例示は、本明細書に説明される構造または方法を利用する装置およびシステムの要素および形態、形状の全てを完全に説明する役割を果たすことを意図していない。本開示を検討すれば、多くの他の実装が当業者にとって明らかとなり得る。他の実装が、本開示の範囲から逸脱せずに構造的および論理的な置換および変更が行われ得るように本開示から利用または導出され得る。例えば、方法動作が図に示されるのとは異なる順序で行われてもよく、または1つ以上の方法動作が省略されてもよい。したがって、本開示および図は、制限ではなく例示とみなされるべきである。
その上、具体的な例が本明細書に例示および説明されてきたが、同じまたは同様の結果を達成するために考案されたその後のいかなる配置も、図示の具体的な実装に取って代わり得ることを理解されたい。本開示は、様々な実装のその後の改造または変形のいずれかおよび全てを包含することを意図している。本説明を検討すれば、上記の実装の組合せ、および本明細書に具体的に説明されていない他の実装が当業者にとって明らかとなるであろう。
さらに、本開示は、以下の条項による実施形態を含む。
条項1.ユーザの視線ベクトル(172)およびユーザの位置(174)を示すセンサデータ(162)を生成するヘッドマウントディスプレイ(HMD)(114)と、
HMDと通信するプロセッサ(122)と、
プロセッサに結合されたメモリ(124)であって、前記メモリは命令を含み、命令は、プロセッサによって実行されるとき、プロセッサに、
ユーザの視線ベクトルおよびユーザの位置を示すデータを取得させ、
仮想現実シミュレータ(126)の仮想構成要素(132)の構成要素ベクトル(176)を、ユーザの位置および仮想構成要素の位置に基づいて決定させ、
視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値(178)を計算させ、
位置合せ値に基づいて仮想構成要素のシミュレーション設定値(134、136、138)を調節させる、メモリ(124)と、
を備えるシステム(102)。
条項2.HMDは、センサデータに基づいてユーザの視線ベクトルおよび位置を示すデータを生成するように構成され、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得することは、視線ベクトルおよび位置を示すデータをHMDから受信することを含む、条項1のシステム。
条項3.命令はさらに、プロセッサに、センサデータをHMDから受信させ、ユーザの視線ベクトルおよびユーザの位置を示すデータを取得することは、センサデータに基づいてユーザの視線ベクトルおよび位置を決定し、ユーザの視線ベクトルおよびユーザの位置を示すデータを生成することを含む、条項1または2のシステム。
条項4.命令はさらに、プロセッサに、
仮想構成要素が立体面平面(284)を有するかどうかを決定させ、
仮想構成要素が立体面平面を有するという決定に応答して、視線ベクトルおよび立体面平面のコーナー(742~748)に基づいて、仮想構成要素の立体面平面の可視領域(284)を計算させ、
立体面平面の可視領域および位置合せ値に基づいて調整値(182)を計算させ、仮想構成要素のシミュレーション設定値は、調整値に基づいて調節される、
条項1から3のいずれかのシステム。
条項5.仮想構成要素の立体面平面の可視領域を計算することは、
立体面平面のコーナーの各コーナーについて、第1の直交視線ベクトル(712)、第2の直交視線ベクトル(714)、および立体面平面のコーナーに基づいて、対応するコーナー(752~758)をユーザに関連付けられた視線平面(722)に投影することと、
視線平面のコーナーに基づいて、仮想構成要素の立体面平面の可視領域を計算することと、
を含む、条項1から4のいずれかのシステム。
条項6.調整値を計算することは、位置合せ値と可視領域との積に定数または関数を適用してシミュレーションレベル値を生成することを含み、仮想構成要素のシミュレーション設定値は、シミュレーションレベル値に基づいて調節される、条項1から5のいずれかのシステム。
条項7.命令はさらに、プロセッサに、プロセス間通信を使用して調整値に基づいてクリティカルセクション相互排除値(292)を仮想構成要素に割り当てさせる、条項1から6のいずれかのシステム。
条項8.位置合せ値は元の位置合せ値(178)であり、命令はさらに、プロセッサに、元の位置合せ値をスケーリングしてスケーリングされた位置合せ値(278)を生成させ、調整値は、スケーリングされた位置合せ値に基づいて計算される、条項1から7のいずれかのシステム。
条項9.HMDに結合された第1の入力/出力(I/O)インターフェイス(130)と、
プロセッサに結合された第2の(I/O)インターフェイス(130A)であって、センサデータをHMDから受信する、またはユーザの視線ベクトルおよび位置を示すデータをHMDから受信する第2の(I/O)インターフェイス(130A)と
をさらに備える、条項1から8のいずれかのシステム。
条項10.プロセッサに結合された1つ以上の入力装置(116)であって、1つ以上のインセプタ、制御ヨーク、ラダーペダル、1つ以上の計器パネル、コレクティブ、サイクリック、またはそれらの組合せを含む1つ以上の入力装置(116)をさらに備える、条項1から9のいずれかのシステム。
条項11.プロセッサ(122)と、
プロセッサに結合されたメモリ(124)であって、メモリは命令を含み、命令は、プロセッサによって実行されるとき、プロセッサに、
ユーザの視線ベクトル(172)およびユーザの位置(174)を示すデータを取得させ、
仮想現実シミュレータ(126)の仮想構成要素(132)の構成要素ベクトル(176)を、ユーザの位置および仮想構成要素の位置に基づいて決定させ、
視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値(178)を計算させ、
位置合せ値に基づいて仮想構成要素のシミュレーション設定値(134、136、138)を調節させる、
メモリ(124)と
を備える装置(112)。
条項12.命令はさらに、プロセッサに、第2の位置合せ値(178)に基づいて、仮想現実シミュレータの第2の仮想構成要素(132)のシミュレーション設定値(136)を調節させる、条項11の装置。
条項13.命令はさらに、プロセッサに、位置合せ値に非線形的なスケーリングを適用して非線形的にスケーリングされた位置合せ値(278)を生成させ、仮想構成要素のシミュレーション設定値は、非線形的にスケーリングされた位置合せ値に基づいて調節される、条項11または12の装置。
条項14.命令はさらに、プロセッサに、
視線ベクトルに基づいて仮想現実シミュレータの第1の仮想領域(412)を規定させ、
視線ベクトルに基づいて仮想現実シミュレータの第2の仮想領域(414)を規定させ、第1の仮想領域は円であり、第2の仮想領域は楕円であり、第2の仮想領域は第1の仮想領域よりも大きく、
第2の仮想領域内に位置する第1の仮想構成要素(132、312~332)に第1のシミュレーション設定値(134、136、138)を適用させ、第1の仮想領域および第2の仮想領域の外側に位置する第2の仮想構成要素(132、312~332)に第2のシミュレーション設定値(134、136、138)を適用させる、
条項11から13のいずれかの装置。
条項15.仮想構成要素は、仮想現実シミュレータの仮想ディスプレイ(316~238)であり、仮想ディスプレイのシミュレーションを調節することは、仮想ディスプレイの解像度を低減すること、仮想ディスプレイのリフレッシュレートを低減すること、仮想ディスプレイに関連付けられたレンダリングフレームレートを低減すること、またはそれらの組合せを含む、条項11から14のいずれかの装置。
条項16.仮想現実シミュレータはフライトシミュレータであり、仮想構成要素はインセプタであり、インセプタのシミュレーションを調節することは、インセプタに関連付けられた処理頻度を低減することを含む、条項11から15のいずれかの装置。
条項17.仮想構成要素は制御ローディングシステムであり、制御ローディングシステムのシミュレーションを調節することは、制御ローディングシステムのシミュレーションレベルを低減することを含む、条項11から16のいずれかの装置。
条項18.命令を含むコンピュータ読み取り可能な記憶装置であって、命令は、実行されるとき、プロセッサに、
ユーザの視線ベクトルおよびユーザの位置を示すデータを取得すること(802)と、
仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、ユーザの位置および仮想構成要素の位置に基づいて決定すること(804)と、
視線ベクトルおよび構成要素ベクトルに基づいて位置合せ値を計算すること(806)と、
位置合せ値に基づいて仮想構成要素のシミュレーション設定値を調節すること(808)と、
を含む動作を行わせる、コンピュータ読み取り可能な記憶装置。
条項19.動作はさらに、
プロセッサの使用可能リソースを決定することと、
プロセッサの使用可能リソースがシミュレーション閾値(138)よりも大きいかどうかを決定することと、
プロセッサの使用可能リソースがシミュレーション閾値よりも大きいという決定に基づいて、仮想構成要素のシミュレーション設定値をベース値に調節することと、
を含む、条項18のコンピュータ読み取り可能な記憶装置。
条項20.視線ベクトルおよび構成要素ベクトルは単位ベクトルであり、位置合せ値を計算することは、視線ベクトルと構成要素ベクトルとの内積に基づく、条項18または19のコンピュータ読み取り可能な記憶装置。
本開示の概要は、請求項の範囲および意味を解釈または限定するために使用されないとの理解のもとで提出される。加えて、前述の詳細な説明において、本開示を円滑にする目的で、様々な形態、形状が一緒に纏められたり、単一の実装において説明されたりすることがある。上述の例は、本開示を示すが、限定するものではない。また、本開示の原理に従って多数の変更または変形が可能であることを理解されたい。以下の請求項が反映するように、請求される主題は、開示される例のいずれかの形態、形状の全てよりも少ないものを対象とすることがある。したがって、本開示の範囲は、以下の請求項およびそれらの均等物によって規定される。
100 ブロック図
102 システム
112 コンピュータ
114 ヘッドマウントディスプレイ(HMD)
116 入力装置
122 プロセッサ
124 メモリ
126 VRアプリケーション
128 ネットワークインターフェイス
128A ネットワークインターフェイス
130 I/Oインターフェイス
130A I/Oインターフェイス
132 仮想構成要素
134 シミュレーションプログラミング
136 シミュレーション設定値
138 シミュレーション閾値
142 ディスプレイ
144 センサ
152 ジャイロスコープ
154 加速度計
162 センサデータ
172 視線ベクトル
174 ユーザ位置
176 構成要素ベクトル
178 最小位置合せ値
182 調整値
192 グラフィックユーザインターフェイス(GUI)
200 フローチャート
222 破線ボックス
278 スケーリングされた位置合せ値
282 立体面平面
284 可視領域
292 クリティカルセクションミューテック値
300 略図
302 仮想環境
312 仮想構成要素、電子機器フライト計測装置システム(EFIS)制御パネル
312A 第1の電子機器フライト計測装置システム(EFIS)制御パネル
312B 第2の電子機器フライト計測装置システム(EFIS)制御パネル
314 仮想構成要素、モード制御パネル
316 仮想構成要素、EFIS一次機能ディスプレイ(PFD)
316A 第1のEFIS一次機能ディスプレイ(PFD)
316B 第2のEFIS一次機能ディスプレイ(PFD)
318 EFISナビゲーションディスプレイ
318A 第1のEFISナビゲーションディスプレイ
318B 第2のEFISナビゲーションディスプレイ
320 スタンバイフライトディスプレイ(ISFD)
322 無線磁方位指示器(RMI)
324 エンジン多機能ディスプレイ(MFD)
326 多機能制御ディスプレイユニット(MCDU)
326A 第1の多機能制御ディスプレイユニット(MCDU)
326B 第2の多機能制御ディスプレイユニット(MCDU)
328 仮想構成要素、第1の計器群
330 仮想構成要素、第2の計器群
332 仮想構成要素、第3の計器群
400 略図
412 第1の領域
414 第2の領域
500 略図
600 略図
700 略図
712 第1の直交視線ベクトル
714 第2の直交視線ベクトル
722 視線平面
742 コーナー
744 コーナー
746 コーナー
748 コーナー
752 コーナー
754 コーナー
756 コーナー
758 コーナー
762 中心点
800 方法
900 コンピューティング環境
910 汎用コンピューティング装置
920 プロセッサ
930 システムメモリ
932 オペレーティングシステム
934 アプリケーション
936 プログラムデータ
940 記憶装置
950 入力/出力インターフェイス
960 通信インターフェイス
970 入力/出力装置
980 装置

Claims (15)

  1. ユーザの視線ベクトル(172)および前記ユーザの位置(174)を示すセンサデータ(162)を生成するように構成されたヘッドマウントディスプレイ(HMD)(114)と、
    前記HMDと通信するように構成されたプロセッサ(122)と、
    前記プロセッサに結合されたメモリ(124)であって、前記メモリは命令を記憶し、前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
    前記ユーザの前記視線ベクトルおよび前記ユーザの前記位置を示すデータを取得させ、
    仮想現実シミュレータ(126)の仮想構成要素(132)の構成要素ベクトル(176)を、前記ユーザの前記位置および前記仮想構成要素の位置に基づいて決定させ、
    前記視線ベクトルおよび前記構成要素ベクトルに基づいて位置合せ値(178)を計算させ、前記視線ベクトルおよび前記構成要素ベクトルは単位ベクトルであり、前記位置合せ値は、前記視線ベクトルと前記構成要素ベクトルとの内積に基づいて計算され、
    前記位置合せ値に基づいて前記仮想構成要素のシミュレーション設定値(134、136、138)を調節させる、メモリ(124)と、
    を備えるシステム(102)。
  2. 前記命令はさらに、前記プロセッサに、
    前記仮想構成要素が立体面平面(284)を有するかどうかを決定させ、
    前記仮想構成要素が前記立体面平面を有するという決定に応答して、前記視線ベクトルおよび前記立体面平面のコーナー(742~748)に基づいて、前記仮想構成要素の前記立体面平面の可視領域(284)を決定させ、
    前記仮想構成要素の前記立体面平面の前記可視領域を決定することは、
    前記立体面平面の前記コーナーの各コーナーについて、第1の直交視線ベクトル(712)と仮想環境の原点から前記立体面平面の前記コーナーへのベクトルとの内積、および第2の直交視線ベクトル(714)と前記仮想環境の前記原点から前記立体面平面の前記コーナーへの前記ベクトルとの内積に基づいて、対応するコーナー(752~758)の座標を計算し、前記対応するコーナーを前記ユーザに関連付けられた視線平面(722)に投影することと、
    前記視線平面の前記コーナーに基づいて、前記仮想構成要素の前記立体面平面の前記可視領域を決定することと
    を含み、
    前記立体面平面の前記可視領域および前記位置合せ値に基づいて調整値(182)を計算させ、前記仮想構成要素の前記シミュレーション設定値は、前記調整値に基づいて調節される、
    請求項1に記載のシステム。
  3. 記命令はさらに、前記プロセッサに、プロセス間通信を使用して前記調整値に基づいてクリティカルセクション相互排除値(292)を前記仮想構成要素に割り当てさせる、請求項2に記載のシステム。
  4. 前記位置合せ値は元の位置合せ値(178)であり、前記命令はさらに、前記プロセッサに、前記元の位置合せ値をスケーリングしてスケーリングされた位置合せ値(278)を生成させ、前記調整値は、前記スケーリングされた位置合せ値に基づいて計算される、請求項2または3に記載のシステム。
  5. 前記HMDに結合された第1の入力/出力(I/O)インターフェイス(130)と、
    前記プロセッサに結合された第2の(I/O)インターフェイス(130A)であって、前記センサデータを前記HMDから受信するように構成され、または前記ユーザの前記視線ベクトルおよび前記位置を示す前記データを前記HMDから受信するように構成された第2の(I/O)インターフェイス(130A)と、
    をさらに備える、請求項1に記載のシステム。
  6. 前記命令はさらに、前記プロセッサに、前記位置合せ値に非線形的なスケーリングを適用して非線形的にスケーリングされた位置合せ値(278)を生成させ、前記仮想構成要素の前記シミュレーション設定値は、前記非線形的にスケーリングされた位置合せ値に基づいて調節される、請求項1に記載のシステム。
  7. 前記命令はさらに、前記プロセッサに、
    前記視線ベクトルに基づいて前記仮想現実シミュレータの第1の仮想領域(412)を規定させ、
    前記視線ベクトルに基づいて前記仮想現実シミュレータの第2の仮想領域(414)を規定させ、前記第1の仮想領域は円であり、前記第2の仮想領域は楕円であり、前記第2の仮想領域は前記第1の仮想領域よりも大きく、
    前記命令はさらに、前記プロセッサに、前記第2の仮想領域内に位置する第1の仮想構成要素(132、312~332)に第1のシミュレーション設定値(134、136、138)を適用させ、前記第1の仮想領域および前記第2の仮想領域の外側に位置する第2の仮想構成要素(132、312~332)に第2のシミュレーション設定値(134、136、138)を適用させる、請求項1または6に記載のシステム。
  8. プロセッサ(122)と、
    前記プロセッサに結合されたメモリ(124)であって、前記メモリは命令を記憶し、前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
    ユーザの視線ベクトル(172)および前記ユーザの位置(174)を示すデータを取得させ、
    仮想現実シミュレータ(126)の仮想構成要素(132)の構成要素ベクトル(176)を、前記ユーザの前記位置および前記仮想構成要素の位置に基づいて決定させ、
    前記視線ベクトルおよび前記構成要素ベクトルに基づいて位置合せ値(178)を計算させ、前記視線ベクトルおよび前記構成要素ベクトルは単位ベクトルであり、前記位置合せ値は、前記視線ベクトルと前記構成要素ベクトルとの内積に基づいて計算され、
    前記位置合せ値に基づいて前記仮想構成要素のシミュレーション設定値(134、136、138)を調節させる、メモリ(124)と、
    を備える装置(112)。
  9. 前記命令はさらに、前記プロセッサに、前記位置合せ値に非線形的なスケーリングを適用して非線形的にスケーリングされた位置合せ値(278)を生成させ、前記仮想構成要素の前記シミュレーション設定値は、前記非線形的にスケーリングされた位置合せ値に基づいて調節される、請求項8に記載の装置。
  10. 前記命令はさらに、前記プロセッサに、
    前記視線ベクトルに基づいて前記仮想現実シミュレータの第1の仮想領域(412)を規定させ、
    前記視線ベクトルに基づいて前記仮想現実シミュレータの第2の仮想領域(414)を規定させ、前記第1の仮想領域は円であり、前記第2の仮想領域は楕円であり、前記第2の仮想領域は前記第1の仮想領域よりも大きく、
    前記命令はさらに、前記プロセッサに、前記第2の仮想領域内に位置する第1の仮想構成要素(132、312~332)に第1のシミュレーション設定値(134、136、138)を適用させ、前記第1の仮想領域および前記第2の仮想領域の外側に位置する第2の仮想構成要素(132、312~332)に第2のシミュレーション設定値(134、136、138)を適用させる、請求項8または9に記載の装置。
  11. 前記仮想構成要素は、前記仮想現実シミュレータの仮想ディスプレイ(316~238)であり、前記仮想ディスプレイのシミュレーションを調節することは、前記仮想ディスプレイの解像度を低減すること、前記仮想ディスプレイのリフレッシュレートを低減すること、前記仮想ディスプレイに関連付けられたレンダリングフレームレートを低減すること、またはそれらの組合せを含む、請求項8または9に記載の装置。
  12. 前記仮想現実シミュレータはフライトシミュレータであり、前記仮想構成要素はインセプタであり、前記インセプタのシミュレーションを調節することは、前記インセプタに関連付けられた処理頻度を低減することを含む、請求項8または9に記載の装置。
  13. 前記仮想構成要素は制御ローディングシステムであり、前記制御ローディングシステムのシミュレーションを調節することは、前記制御ローディングシステムのシミュレーションレベルを低減することを含む、請求項8または9に記載の装置。
  14. 命令を含むコンピュータ読み取り可能な記憶装置であって、前記命令は、実行されるとき、プロセッサに、
    ユーザの視線ベクトルおよび前記ユーザの位置を示すデータを取得すること(802)と、
    仮想現実シミュレータの仮想構成要素の構成要素ベクトルを、前記ユーザの前記位置および前記仮想構成要素の位置に基づいて決定すること(804)と、
    前記視線ベクトルおよび前記構成要素ベクトルに基づいて位置合せ値を計算すること(806)であって、前記視線ベクトルおよび前記構成要素ベクトルは単位ベクトルであり、前記位置合せ値は、前記視線ベクトルと前記構成要素ベクトルとの内積に基づいて計算される、計算することと、
    前記位置合せ値に基づいて前記仮想構成要素のシミュレーション設定値を調節すること(808)と、
    を含む動作を行わせる、コンピュータ読み取り可能な記憶装置。
  15. 前記動作はさらに、
    前記プロセッサの使用可能リソースを決定することと、
    前記プロセッサの前記使用可能リソースがシミュレーション閾値(138)よりも大きいかどうかを決定することと、
    前記プロセッサの前記使用可能リソースが前記シミュレーション閾値よりも大きいという決定に基づいて、前記仮想構成要素の前記シミュレーション設定値をベース値に調節することと、
    を含む、請求項14に記載のコンピュータ読み取り可能な記憶装置。
JP2019118516A 2018-08-21 2019-06-26 中心窩シミュレーションのためのシステムおよび方法 Active JP7403249B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/107,946 US10616565B2 (en) 2018-08-21 2018-08-21 System and method for foveated simulation
US16/107,946 2018-08-21

Publications (2)

Publication Number Publication Date
JP2020030805A JP2020030805A (ja) 2020-02-27
JP7403249B2 true JP7403249B2 (ja) 2023-12-22

Family

ID=67070634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019118516A Active JP7403249B2 (ja) 2018-08-21 2019-06-26 中心窩シミュレーションのためのシステムおよび方法

Country Status (4)

Country Link
US (2) US10616565B2 (ja)
EP (1) EP3614235A1 (ja)
JP (1) JP7403249B2 (ja)
CN (1) CN110850958A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842907A (zh) * 2018-03-27 2023-03-24 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
CN111736708B (zh) * 2020-08-25 2020-11-20 歌尔光学科技有限公司 头戴设备及其画面显示系统和方法、检测系统和方法
CN114327032A (zh) * 2021-02-08 2022-04-12 海信视像科技股份有限公司 一种虚拟现实设备及vr画面显示方法
US11939085B2 (en) 2021-06-16 2024-03-26 Beta Air, Llc Methods and systems for wrapping simulated intra-aircraft communication to a physical controller area network
JP2023061262A (ja) 2021-10-19 2023-05-01 キヤノン株式会社 画像表示システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017085803A1 (ja) 2015-11-18 2017-05-26 株式会社日立製作所 映像表示装置及び映像表示方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400177A (en) * 1993-11-23 1995-03-21 Petitto; Tony Technique for depth of field viewing of images with improved clarity and contrast
US20030117397A1 (en) * 2001-12-21 2003-06-26 Hubrecht Alain Yves Nestor Systems and methods for generating virtual reality (VR) file(s) for complex virtual environments
US9696546B2 (en) * 2008-06-30 2017-07-04 Honeywell International Inc. Head-mountable cockpit display system
KR100989555B1 (ko) * 2010-06-24 2010-10-25 주식회사 바로텍시너지 조종력 재현장치용 액츄에이터
US9015706B2 (en) * 2010-07-08 2015-04-21 Symantec Corporation Techniques for interaction with a guest virtual machine
DE102010035825A1 (de) * 2010-08-30 2012-03-01 Liebherr-Aerospace Lindenberg Gmbh Steuerorgansystem und Vorrichtung zur Erzeugung eines virtuellen Echtzeitmodells
US11714487B2 (en) 2013-03-04 2023-08-01 Tobii Ab Gaze and smooth pursuit based continuous foveal adjustment
US20150277118A1 (en) * 2014-03-28 2015-10-01 Osterhout Group, Inc. Sensor dependent content position in head worn computing
US10416760B2 (en) * 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
US10239633B2 (en) * 2014-11-26 2019-03-26 Embraer S.A. System and method to interchange flight control inceptors in an aircraft flight control system and cockpit
CN108351685B (zh) * 2015-08-15 2022-07-08 谷歌有限责任公司 用于与真实和虚拟对象交互的基于生物力学的眼睛信号的系统和方法
US10204453B2 (en) * 2015-09-04 2019-02-12 Airbus Group India Private Limited Aviation mask
US11010956B2 (en) * 2015-12-09 2021-05-18 Imagination Technologies Limited Foveated rendering
US20170206707A1 (en) * 2016-01-15 2017-07-20 Anthony Guay Virtual reality analytics platform
US10169846B2 (en) 2016-03-31 2019-01-01 Sony Interactive Entertainment Inc. Selective peripheral vision filtering in a foveated rendering system
JP2018006914A (ja) * 2016-06-29 2018-01-11 フォーブ インコーポレーテッド 外部撮像システム、外部撮像方法、外部撮像プログラム
KR102623391B1 (ko) 2017-01-10 2024-01-11 삼성전자주식회사 영상 출력 방법 및 이를 지원하는 전자 장치
US10152822B2 (en) * 2017-04-01 2018-12-11 Intel Corporation Motion biased foveated renderer
US10339692B2 (en) * 2017-06-09 2019-07-02 Sony Interactive Entertainment Inc. Foveal adaptation of particles and simulation models in a foveated rendering system
IL311263A (en) * 2017-12-14 2024-05-01 Magic Leap Inc Context-based processing of virtual characters
US10565799B2 (en) * 2018-06-21 2020-02-18 Lockheed Martin Corporation Automatic cockpit identification and augmented image placement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017085803A1 (ja) 2015-11-18 2017-05-26 株式会社日立製作所 映像表示装置及び映像表示方法

Also Published As

Publication number Publication date
CN110850958A (zh) 2020-02-28
US10616565B2 (en) 2020-04-07
EP3614235A1 (en) 2020-02-26
US11368668B2 (en) 2022-06-21
US20200068190A1 (en) 2020-02-27
JP2020030805A (ja) 2020-02-27
US20200221071A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
JP7403249B2 (ja) 中心窩シミュレーションのためのシステムおよび方法
EP3368965B1 (en) Remote rendering for virtual images
CN104932677B (zh) 互动式多驾乘者虚拟现实驾乘系统
JP6058184B1 (ja) ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム
US20160238852A1 (en) Head mounted display performing post render processing
JP5914739B1 (ja) ヘッドマウントディスプレイシステムを制御するプログラム
US9779702B2 (en) Method of controlling head-mounted display system
CN110300994B (zh) 图像处理装置、图像处理方法以及图像系统
JP6002286B1 (ja) ヘッドマウントディスプレイ制御方法、および、ヘッドマウントディスプレイ制御プログラム
US11244427B2 (en) Image resolution processing method, system, and apparatus, storage medium, and device
CN112384843A (zh) 动态面板掩膜
US10379881B2 (en) Delivering an immersive remote desktop
JP6121496B2 (ja) ヘッドマウントディスプレイシステムを制御するプログラム
JP2017021824A (ja) ヘッドマウントディスプレイ制御方法、および、ヘッドマウントディスプレイ制御プログラム
JP7196089B2 (ja) 仮想現実映像の再生方法及びこれを用いたプログラム
KR102521557B1 (ko) 스크롤 입력에 기반하여 이미지 표시를 제어하는 전자 장치 및 방법
US11127208B2 (en) Method for providing virtual reality image and program using same
KR102192153B1 (ko) 가상현실 영상 제공 방법 및 이를 이용한 프로그램
US11217204B2 (en) Dynamically adjusting image characteristics in real-time
JP6121495B2 (ja) ヘッドマウントディスプレイシステムを制御するプログラム
WO2020124253A1 (en) Dynamically adjusting image characteristics in real-time
KR102179810B1 (ko) 가상현실영상 재생방법 및 이를 이용한 프로그램
US20240112303A1 (en) Context-Based Selection of Perspective Correction Operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231212

R150 Certificate of patent or registration of utility model

Ref document number: 7403249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150