Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7599370B2 - 画像生成装置、画像生成方法および画像表示プログラム - Google Patents
[go: Go Back, main page]

JP7599370B2 - 画像生成装置、画像生成方法および画像表示プログラム - Google Patents

画像生成装置、画像生成方法および画像表示プログラム Download PDF

Info

Publication number
JP7599370B2
JP7599370B2 JP2021063122A JP2021063122A JP7599370B2 JP 7599370 B2 JP7599370 B2 JP 7599370B2 JP 2021063122 A JP2021063122 A JP 2021063122A JP 2021063122 A JP2021063122 A JP 2021063122A JP 7599370 B2 JP7599370 B2 JP 7599370B2
Authority
JP
Japan
Prior art keywords
image
time
unit
hmd
processing
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
JP2021063122A
Other languages
English (en)
Other versions
JP2022158328A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2021063122A priority Critical patent/JP7599370B2/ja
Priority to US17/685,641 priority patent/US20220317765A1/en
Publication of JP2022158328A publication Critical patent/JP2022158328A/ja
Application granted granted Critical
Publication of JP7599370B2 publication Critical patent/JP7599370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/012Head tracking input arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1012Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/08Details of timing specific for flat panels, other than clock recovery
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、画像生成技術に関する。
ゲーム機に接続されたヘッドマウントディスプレイを頭部に装着して、ヘッドマウントディスプレイに表示された画面を見ながら、コントローラなどを操作してゲームプレイすることが行われている。ヘッドマウントディスプレイを装着すると、ヘッドマウントディスプレイに表示される映像以外はユーザは見ないため、映像世界への没入感が高まり、ゲームのエンタテインメント性を一層高める効果がある。また、ヘッドマウントディスプレイに仮想現実(VR:Virtual Reality)映像を表示させ、ヘッドマウントディスプレイを装着したユーザが頭部を回転させると、360度見渡せる全周囲の仮想空間が表示される。これにより、さらに映像への没入感が高まり、ゲームなどのアプリケーションの操作性も向上する。
このようにヘッドマウントディスプレイにヘッドトラッキング機能をもたせて、ユーザの頭部の動き(姿勢)と連動して視点や視線方向を変えてVR映像を生成した場合、VR映像の生成から表示までに遅延がある。そのため、映像生成時に前提としたユーザの姿勢と、VR映像をヘッドマウントディスプレイに表示した時点でのユーザの姿勢との間でずれが発生する場合がある。その結果、ユーザは酔ったような感覚(「VR酔い(Virtual Reality Sickness)」などと呼ばれる)に陥ることがある。そこで、描画画像を映像表示時の姿勢に合ったものに補正するリプロジェクション処理が一般的に用いられている。
ヘッドマウントディスプレイを用いて画像を提供するために、性能の異なる様々な画像生成システムが開発されている。それに伴い、利用する画像生成システムに応じて画像の生成から表示までの遅延時間をより適切に設定して、リプロジェクション処理に適用する技術が求められている。
上記を鑑み、本発明の目的は、利用する画像生成システムに応じて画像の生成から表示までの遅延時間をより適切に設定して、リプロジェクション処理に適用する技術を提供することにある。
上記課題を解決するために、本発明のある態様の画像生成装置は、画像生成に関する処理の開始からHMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測する時間予測部と、前記予測した遅延時間に基づいて、リプロジェクション処理を実行することにより、前記HMD画像を生成する画像処理部と、を備えることを特徴とする。
なお、以上の任意の組み合わせや、本発明の構成要素や表現を方法、装置、プログラム、プログラムを記録した一時的なまたは一時的でない記憶媒体、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、利用する画像生成システムに応じて画像の生成から表示までの遅延時間をより適切に設定して、リプロジェクション処理に適用することが可能となる。
ヘッドマウントディスプレイの外観図である。 画像生成システムの構成図である。 図2の画像生成装置の構成図である。 画像生成に関する処理の開始からHMD画像がHMDに表示されるまでの流れを説明するための図である。 画像生成装置における画像生成に関する処理の流れを示すフローチャートである。
(実施形態)
図1は、ヘッドマウントディスプレイ(HMD)100の外観図である。HMD100は、ユーザの頭部に装着してディスプレイに表示される静止画や動画などを鑑賞し、ヘッドフォンから出力される音声や音楽などを聴くための表示装置である。
HMD100に内蔵または外付けされたジャイロセンサや加速度センサなどによりHMD100を装着したユーザの頭部の位置情報と頭部の回転角や傾きなどの姿勢(orientation)情報を計測することができる。
HMD100には、さらに、ユーザの目を撮影するカメラが設けられてもよい。HMD100に搭載されたカメラにより、ユーザの凝視方向、瞳孔の動き、瞬きなどを検出することができる。
HMD100は、「ウェアラブルディスプレイ」の一例である。ここでは、HMD100に表示される画像の生成方法を説明する。なお、本実施の形態の画像生成方法は、狭義のHMD100に限らず、めがね、めがね型ディスプレイ、めがね型カメラ、ヘッドフォン、ヘッドセット(マイクつきヘッドフォン)、イヤホン、イヤリング、耳かけカメラ、帽子、カメラつき帽子、ヘアバンドなどを装着した場合にも適用することができる。
図2は、本実施の形態に係る画像生成システムの構成図である。画像生成システム1は、HMD100及び画像生成装置200を含む。HMD100は、一例として、映像・音声をデジタル信号で伝送する通信インタフェースの標準規格であるHDMI(登録商標)(High-Definition Multimedia Interface)や映像出力インタフェースの規格であるDisplayPortなどのインタフェースを介して画像生成装置200に接続される。
本実施形態では、HMD100と画像生成装置200の間のデータ伝送路300はHDMI伝送路またはDisplayPort伝送路である。HDMI規格またはDisplayPort規格では、画像フレームに紐付けてセカンダリデータパケットを伝送することができ、セカンダリデータパケットにフレームに関連するメタデータを含めることができる。HDMI2.1規格には動的HDR(High Dynamic Range)と呼ばれる機能があり、映像の動的メタデータ(Dynamic Metadata)を参照してシーンに応じてフレーム毎に輝度や色の深度を最適に調整した映像を生成することができる。HDMI2.1規格では動的メタデータは、シーンの最大輝度、平均輝度、最小輝度など動的HDRに必要な情報を映像に同期させて伝送することができる。HMD100と画像生成装置200の通信インタフェースは、メタデータを映像と同期させて伝送できるものであれば、HDMIやDisplayPortに限られない。
画像生成装置200は、HMD100の現在の位置・姿勢情報から、映像の生成から表示までの遅延を考慮してHMD100の予測位置・姿勢情報を生成する。画像生成装置200は、HMD100の予測位置・姿勢情報を前提としてHMD100用の画像(以下、HMD画像とする)を描画し、HMD100に伝送する。
本実施形態の画像生成装置200はゲーム機である。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションを画像生成装置200に提供してもよい。
画像生成装置200は基本的に、コンテンツのプログラムを処理し、HMD画像を生成してHMD100に送信する。コンテンツのプログラムやデータは、ゲームなどのコンテンツのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体(不図示)からメディアドライブ(不図示)によって読み出される。このROM媒体は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。ある態様において画像生成装置200は、HMD100を装着したユーザの頭部の位置や姿勢に基づき視点の位置や視線の方向を特定し、それに応じた視野となるようにコンテンツのHMD画像を所定のレートで生成する。
HMD100はHMD画像のデータを受信し、コンテンツの画像として表示する。HMD100に表示される映像は、予めカメラで撮影された映像の他、ゲーム映像のようなコンピュータグラフィックスによる映像や、ネットワーク経由で配信される遠隔地のライブ映像であってもよい。また、HMD100に表示される画像は、VR画像、AR(拡張現実)画像、MR画像等であってもよい。
図3は、図2の画像生成装置200の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウェアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。画像生成装置200は、位置・姿勢取得部201と、視点・視線設定部202と、描画コマンド供給部203と、時間蓄積部204と、時間予測部205と、位置・姿勢予測部206と、レンダリング部207と、画像処理部208と、HDMI送受信部209と、データ記憶部210と、を備える。
画像生成装置200の少なくとも一部の機能をHMD100に実装してもよい。あるいは、画像生成装置200の少なくとも一部の機能を、ネットワークを介して画像生成装置200に接続されたサーバに実装してもよい。
位置・姿勢取得部201は、HMD100の現在の位置・姿勢情報L1をHMD100から取得する。
視点・視線設定部202は、位置・姿勢取得部201により取得されたHMD100の位置・姿勢情報L1を用いて、ユーザの視点位置および視線方向を設定する。
描画コマンド供給部203は、HMD画像の生成を開始させるための描画コマンドを生成する。描画コマンド供給部203は、描画コマンドのフレームデータを後述のフレームIDに紐づける。
時間蓄積部204は、同一のフレームIDに紐づけられた各フレームデータに関する後述の第1及び第2タイムスタンプを蓄積して後述の描画時間を算出し、この描画時間をデータ記憶部210に蓄積する。
時間予測部205は、後述するように、データ記憶部210に蓄積された過去の描画時間及び表示処理時間に基づいて、画像生成に関する処理を開始してからHMD画像がHMD100に表示されるまでの遅延時間を予測する。
位置・姿勢予測部206は、時間予測部205により予測された遅延時間の間の位置および姿勢の変化量を予測する。位置・姿勢予測部206は、HMD100を装着したユーザの頭部の並進速度や角速度に遅延時間を乗じることで位置および姿勢の変化量を求めることができる。位置・姿勢予測部206は、現在の位置・姿勢情報L1に遅延時間の間の位置および姿勢の変化量を加算することにより遅延時間の経過後の予測位置・姿勢情報L2を生成する。
レンダリング部207は、描画コマンドに応答して、データ記憶部210から画像の生成に必要な画像データを読み出し、仮想空間のオブジェクトをレンダリングして画像を生成する。例えば、レンダリング部207は、視点・視線設定部202によって設定されたユーザの視点位置および視線方向にしたがって、HMD100を装着したユーザの視点位置から視線方向に見える仮想空間のオブジェクトをレンダリングすることにより画像を生成する。ここで、画像データは、事前に作成された動画または静止画コンテンツであってもよく、レンダリングされたコンピュータグラフィックスであってもよい。レンダリング部207は、レンダリング画像のフレームデータを後述のフレームIDに紐づける。
画像処理部208は、レンダリング画像に必要に応じた画像処理を施すことにより、HMD画像を生成し、HDMI送受信部209に与える。画像処理部208は、ポストプロセス部208aと、リプロジェクション部208bと、歪み処理部208cとを含む。画像処理部208は、HMD画像のフレームデータを後述のフレームIDに紐づける。
ポストプロセス部208aは、レンダリング部207から供給された画像に対して、被写界深度調整、トーンマッピング、アンチエイリアシングなどのポストプロセスを施し、CG画像が自然で滑らかに見えるように後処理を施す。
リプロジェクション部208bは、位置・姿勢予測部206から予測位置・姿勢情報L2を受け取り、ポストプロセスが施された画像に対してリプロジェクション処理を施す。これにより、リプロジェクション部208bは、ポストプロセスが施された画像を遅延時間に応じた視点位置・視線方向から見える画像に変換する。
歪み処理部208cは、リプロジェクション処理が施された画像に対してHMD100の光学系で生じる歪みに合わせて画像を変形(distortion)させて歪ませる処理を施すことにより、HMD画像を生成する。
HDMI送受信部209は、画像処理部208からHMD画像を受け取る。HDMI送受信部209は、HDMIにしたがってHMD画像をHMD100に伝送する。
データ記憶部210は、画像の生成に必要なデータや各種処理を実行するための各種プログラムを格納する。データ記憶部210は、後述する第1及び第2タイムスタンプをフレームIDに紐づけて記憶する。データ記憶部210は、後述する描画時間及び表示処理時間を記憶する。
ここで、HMD100の姿勢を検知し、次の描画範囲を確定し、CPUが描画コマンドを発行し、GPU(Graphics Processing Unit)がレンダリングを実行し、描画された画像がHMD100に出力されるまでには時間がかかる。描画がたとえば60fps(フレーム/秒)のフレームレートで行われているとすると、CPUが十分高速であったとしても、HMD100の回転を検知してから画像を出力するまでに1フレーム分の遅れが生じる。これはフレームレート60fpsのもとでは、16.67ミリ秒ほどであり、人間がずれを感知するには十分な時間である。さらに、画像生成装置200で描画された画像をデータ伝送路300でHMD100に伝送する際にもレイテンシが生じる。
そこで、生成された画像に対してリプロジェクション処理が行われる。リプロジェクション処理において、レンダリングした画像を遅延時間経過後に想定されるHMD100の位置と姿勢に合わせて補正することで、人間がずれを感知しにくいようにしている。
従来、この遅延時間は、ゲームなどのコンテンツの制作者側によって、そのコンテンツに合わせて個別に設定されている。一方で、HMD100を用いて画像を提供するために、性能の異なる様々な画像生成システムが開発されている。このような異なる性能の画像生成システム間では、遅延時間はHMD100及び画像生成装置200によって異なる。例えば、画像生成に関する処理の開始から画像処理部によるレンダリング画像に対する画像処理が開始されるまでの描画時間は、HMD100及び画像生成装置200毎に異なる。また、例えば、画像生成装置200において生成されたHMD画像がHMD100に表示されるまでの表示処理時間は、HMD100及び画像生成装置200の性能に依存して異なる。そのため、設定された遅延時間が特定の画像生成システムにおいて適切ではない場合がある。その結果、画像生成時に前提としたユーザの姿勢と、HMD画像をHMD100に表示した時点でのユーザの姿勢との間でずれが発生し、ユーザはVR酔いをしてしまう場合があった。
本実施形態では、画像生成装置200において画像生成に関する処理の開始からHMD画像がHMD100に表示されるまでの遅延時間が予測される。ここでの画像生成に関する処理とは、描画コマンドの生成処理、レンダリング画像の生成処理及びHMD画像の生成処理(レンダリング画像に対する画像処理)を含む。本実施形態では、画像生成システム毎に予測された遅延時間を用いてリプロジェクション処理が実行される。したがって、画像生成システムの性能に起因した、画像生成時に前提としたユーザの姿勢とHMD画像をHMD100に表示した時点でのユーザの姿勢との間のずれを抑制できる。以下、これについて詳細に説明する。
図4を用いて、画像生成に関する処理の開始からHMD画像がHMD100に表示されるまでの流れを説明する。図4中、同期タイミングVsyncはHMD100の表示パネルの垂直同期タイミングを示し、処理タイミングV’は画像生成に関する処理のスレッドが立ち上がるタイミングを示す。
処理タイミングV’になると、タイミングt1で、CPUによってフレームID1を引数にbeginFrame()を宣言するAPIがコールされ、描画コマンド供給部203が描画コマンドの生成処理を開始する。このとき、描画コマンド供給部203は、描画コマンドのフレームデータにフレームID1を紐づける。
その後、タイミングt2で、CPUによってフレームID1に紐づいたフレームデータのタイムスタンプを返すAPIがコールされる。このとき、時間予測部205は、データ記憶部210に蓄積された過去の描画時間及び表示処理時間と同期タイミングVsyncとに基づいて、遅延時間を予測する。例えば、時間予測部205は、過去の描画時間及び表示処理時間を足し合わせた時間を遅延時間として算出する。時間予測部205は、予測した遅延時間を位置・姿勢予測部206に供給する。
ここでの描画時間とは、画像生成に関する処理の開始から画像処理部208によるレンダリング画像に対する画像処理が開始されるまでの時間である。ここでの過去の描画時間は、データ記憶部210に蓄積された描画時間のうちの任意のいくつかの描画時間の平均値である。このように過去の描画時間として上記平均値を採用することにより、過去の描画時間を予測時間により細かい値まで反映させることができる。なお、初回起動時のような描画時間がデータ記憶部210に蓄積されていない状態では、時間予測部205は、例えば描画時間を0として遅延時間を予測し、それ以降は蓄積された描画時間を用いて遅延時間を予測する。
ここでの表示処理時間は、画像生成装置200において生成されたHMD画像がHMD100に表示されるまでの時間である。図4に示すように、この表示処理時間は、HMD画像の生成処理の開始時から次の同期タイミングVsyncまでの第1処理時間と、この同期タイミングVsyncからHMD画像がHMD100に表示されるまでの第2処理時間と、を含む。
第1処理時間は、例えばゲームなどのコンテンツの制作者側によって事前に設定された値としてデータ記憶部210に記憶される。第1処理時間は、コンテンツ毎に適した値に設定される。
第2処理時間は、画像生成システム1に固有の値として事前にデータ記憶部210に記憶されている。第2処理時間は、画像生成システム1において事前にその評価を行うことで得られる。本実施形態では、異なる複数の画像生成システム1全体について評価することによって得られた第2処理時間の理論値が用いられる。これに限定されず、1つの画像生成システム1毎にキャリブレーションされた第2処理時間が用いられてもよい。
タイミングt3で描画コマンドの生成処理が完了すると、描画コマンド供給部203は、フレームID1に紐づけられた描画コマンドのフレームデータをレンダリング部207に供給する。タイミングt3後の次の処理タイミングV’になると、位置・姿勢取得部201によって位置・姿勢情報L1が取得され、位置・姿勢情報L1に基づいて視点・視線設定部202によって視点位置及び視点方向が設定される。
レンダリング部207は、設定された視点位置及び視点方向に基づいて、レンダリング処理を開始する。このとき、レンダリング部207は、レンダリング画像のフレームデータに、フレームID1を紐づける。また、位置・姿勢予測部206は、予測した遅延時間及び位置・姿勢情報L1に基づいて予測位置・姿勢情報L2を生成する。
タイミングt4でレンダリング処理が完了すると、レンダリング部207は、フレームID1に紐づけられたレンダリング画像のフレームデータを画像処理部208に供給する。また、位置・姿勢予測部206は、予測位置・姿勢情報L2を画像処理部208に供給する。
タイミングt4後の次の処理タイミングV’のタイミングt5になると、画像処理部208は、レンダリング画像について、ポストプロセス、リプロジェクション処理、歪み処理等を施すためのHMD画像の生成処理(レンダリング画像に対する画像処理)を開始する。特に、リプロジェクション部208bは、予測位置・姿勢情報L2に基づいて、リプロジェクション処理を施す。このとき、画像処理部208は、HMD画像のフレームデータにフレームID1を紐づける。
タイミングt6でHMD画像の生成処理が完了すると、HDMI送受信部209は、HDMIにしたがってHMD画像をHMD100に伝送する。これにより、タイミングt7でHMD100においてHMD画像が表示されることになる。なお、タイミングt7をタイミングt5の後の同期タイミングVsyncとその次の同期タイミングVsyncとの間の中間のタイミングとしたのは、HMD100でのHMD画像の表示がある同期タイミングVsyncから部分的に完了していき、その次の同期タイミングVsyncで全て完了することを考慮したためである。
タイミングt7でHMD画像が表示されると、時間蓄積部204は、描画コマンドのフレームデータに紐づけられたフレームID1に基づいて、描画コマンドの生成開始時の第1タイムスタンプ(beginFrame()のタイムスタンプ)をデータ記憶部210に蓄積する。時間蓄積部204は、HMD画像に紐づけられたフレームID1に基づいて、画像処理部208による画像処理の開始時の第2タイムスタンプをデータ記憶部210に蓄積する。
時間蓄積部204は、第1及び第2タイムスタンプに基づいて、描画コマンドの生成処理の開始時からHMD画像の生成処理の完了時までの描画時間を算出する。時間蓄積部204は、算出した描画時間をデータ記憶部210に蓄積する。これらの蓄積された描画時間は、以降の画像生成に関する処理において使用される。
タイミングt3での描画コマンドの生成処理の完了時に戻ると、t3後の次に処理タイミングV’において、描画コマンド供給部203は、フレームID2に紐づけて描画コマンドを生成する。このとき、フレームID1は、レンダリング処理においてレンダリング画像のフレームに紐づけられて使用されている。描画コマンド供給部203は、フレームIDが少なくともバッファ分だけコンフリクトしないように、描画コマンドの生成処理において、他の画像生成に関する処理におけるレンダリング処理に使用されているフレームID1とは異なるフレームID2を使用する。
図5を用いて、本実施形態の画像生成装置における画像生成に関する処理S100を説明する。
ステップS101で、描画コマンド供給部203は、描画コマンドの生成処理を開始する。このとき、描画コマンド供給部203は、描画コマンドのフレームデータにフレームID1を紐づけ、そのフレームID1をデータ記憶部210に記憶させる。描画コマンド供給部203は、描画コマンドの生成を開始すると、予測指示を時間予測部205に供給する。
ステップS102で、時間予測部205は、データ記憶部210から読み出した過去の描画時間及び表示処理時間と同期タイミングVsyncとに基づいて、遅延時間を予測する。時間予測部205は、予測した遅延時間を位置・姿勢予測部206に供給する。
描画コマンドのフレームデータの生成が完了すると、ステップS103で、描画コマンド供給部203は、フレームID1に紐づけられた描画コマンドのフレームデータをレンダリング部207に供給する。
ステップS104で、位置・姿勢取得部201は、位置・姿勢情報L1を取得する。位置・姿勢取得部201は、取得した位置・姿勢情報L1を視点・視線設定部202及び位置・姿勢予測部206に供給する。
ステップS105で、視点・視線設定部202は、位置・姿勢情報L1に基づいて視点位置及び視点方向を設定する。視点・視線設定部202は、設定された視点位置及び視点方向を示す視点情報をレンダリング部207に供給する。
ステップS106で、レンダリング部207は、設定された視点位置及び視点方向に基づいて、レンダリング処理を実行する。このとき、レンダリング部207は、レンダリング画像のフレームデータにフレームID1を紐づける。レンダリング部207は、フレームID1に紐づけられたレンダリング画像のフレームデータを画像処理部208のポストプロセス部208aに供給する。また、位置・姿勢予測部206は、予測した遅延時間及び位置・姿勢情報L1に基づいて予測位置・姿勢情報L2を生成して画像処理部208のリプロジェクション部208bに供給する。
ステップS107で、画像処理部208のポストプロセス部208aは、レンダリング画像について、ポストプロセスを実行する。画像処理部208のポストプロセス部208aは、ポストプロセスを施した画像をリプロジェクション部208bに供給する。
ステップS108で、リプロジェクション部208bは、予測位置・姿勢情報L2に基づいて、リプロジェクション処理を実行する。予測位置・姿勢情報L2は遅延時間に基づいて生成されるため、このリプロジェクション処理が施された画像は遅延時間を反映することとなる。リプロジェクション部208bは、リプロジェクション処理を施した画像を歪み処理部208cに供給する。
ステップS109で、歪み処理部208cは、リプロジェクション処理を施した画像に歪み処理を実行する。上記ステップS107~S109の画像処理により、HMD画像が生成される。HMD画像には、フレームID1が紐づけられる。歪み処理部208cは、フレームID1に紐づけられたHMD画像をHDMI送受信部209に供給する。
ステップS110で、HDMI送受信部209は、HDMIにしたがってHMD画像をHMD100に伝送する。これにより、HMD100においてHMD画像が表示されることになる。
ステップS111で、時間蓄積部204は、各フレームデータに紐づけられたフレームID1に基づいて、第1及び第2タイムスタンプをデータ記憶部210に蓄積する。また、時間蓄積部204は、第1及び第2タイムスタンプの差分に基づいて描画時間を算出する。時間蓄積部204は、算出した描画時間をデータ記憶部210に蓄積する。
ステップS111の後、画像生成に関する処理S100は終了する。
以下、本実施形態の作用及び効果について説明する。
本実施形態では、画像生成システム1の性能に応じてより適切な遅延時間を用いてリプロジェクション処理が実行される。本構成によると、画像生成時と画像表示時のユーザの姿勢のずれを抑制できる。その結果、ユーザのVR酔いを抑制することが可能となる。
本実施形態では、時間蓄積部204は描画時間をデータ記憶部210に蓄積し、時間予測部205はその蓄積された描画時間に基づいて遅延時間を予測する。ここで、上述したように、異なる性能の画像生成システム間ではそれぞれ描画時間及び表示処理時間が異なる。本実施形態によると、その画像生成システム1の描画時間を蓄積し、またその画像生成システム1についての表示処理時間をデータ記憶部210に予め記憶しておき、これらを遅延時間の予測に利用することにより、より正確に遅延時間を予測することが可能となる。
本実施形態では、描画コマンド供給部203、レンダリング部207及び画像処理部208は各処理におけるフレームデータをフレームIDに紐づけて供給する。時間蓄積部204は、フレームIDにそれぞれ紐づけられた各フレームデータにおける第1~第3タイムスタンプをデータ記憶部210に蓄積する。ここで、例えば、図4において、フレームID2に対応する画像生成に関する処理がフレームID1に対応する画像生成に関する処理よりも前に完了する場合がある。このとき、各処理におけるフレームデータにフレームIDが紐づけられていない場合、完了した処理がどの画像生成に関する処理に対応するのかを把握できない。したがって、画像生成に関する処理における各フレームデータに同一のフレームIDを紐づけることにより、その画像生成に関する処理が完了するタイミングを明確に把握することが可能となる。
(変形例)
以下、実施形態の変形例について説明する。
本実施形態では、描画時間及び表示処理時間に基づいて遅延時間が予測されたが、これに限定されず、他の手法により遅延時間が予測されてもよい。例えば、時間予測部205は、描画時間に基づいてHMD100での表示に適した同期タイミングVsyncを求め、画像生成に関する処理の開始から求めた同期タイミングVsyncまでの時間を算出する。時間予測部205は、この算出した時間と第2処理時間を足し合わせた時間を遅延時間としてもよい。
本実施形態では、過去の描画時間はデータ記憶部210に蓄積された描画時間のうちの任意のいくつかの描画時間の平均値としたが、これに限定されない。例えば、過去の描画時間は、下記のように算出されてもよい。すなわち、時間蓄積部204は、同期タイミングVsync毎にカウント値を増分(例えばカウント値を1増分)するVsyncカウンタを備える。時間蓄積部204は、beginFrame(frameId)をコールしたタイミングで、Vsyncカウンタのカウント値をチェックする。時間蓄積部204は、beginFrame(frameId)で使用されたフレームIDと同一のフレームIDに関するHMD画像の生成処理が開始するタイミングで、再びVsyncカウンタのカウント値をチェックする。時間蓄積部204は、これらのカウント値の差分に基づいて画像生成に関する処理の開始からHMD画像の生成処理の開始までのカウント値を算出し、データ記憶部210に蓄積する。時間蓄積部204は、データ記憶部210に蓄積された過去のいくつかの描画時間において、そのカウント値の多数決を取る。時間蓄積部204は、多数決の結果として得られたカウント値に基づいて描画時間を算出し、データ記憶部210に蓄積する。具体的には、多数決の結果として得られたカウント値に同期タイミングVsyncの周期 (例えば、8.33ms(120Hz)、11.11ms(90Hz)など)を掛け合わせることにより描画時間を算出する。時間予測部205は、この描画時間を用いて遅延時間を予測する。本構成によると、不意に描画時間が延びてしまった場合に、予測時間においてその影響を受けにくくすることができる。また、過去の描画時間は、例えば、データ記憶部210に蓄積した描画時間の直近の値や中央値等であってもよい。
本実施形態では、画像生成に関する処理における各フレームデータにフレームIDが紐づけられたが、これに限定されず、各フレームデータにフレームIDが紐づけられなくてもよい。
本実施形態では、レンダリング画像に対して、予測位置・姿勢情報に基づいてリプロジェクション処理が実行されたが、これに限定されない。例えば、予測位置・姿勢情報に基づいて画像をレンダリングすることでリプロジェクション処理が実行されてもよい。
本実施形態では、HDMIにしたがってHMD画像が送信されたが、これに限定されず、無線通信によってHMD画像が送信されてもよい。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
100 ヘッドマウントディスプレイ、200 画像生成装置、201 位置・姿勢取得部、202 視点・視線設定部、203 描画コマンド供給部、204 時間蓄積部208、205 時間予測部、206 位置・姿勢予測部、207 レンダリング部、208 画像処理部、208a ポストプロセス部、208b リプロジェクション部、208c 歪み処理部、209 HDMI送受信部、210 データ記憶部。

Claims (8)

  1. 画像生成に関する処理の開始からHMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測する時間予測部と、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得する姿勢情報取得部と、
    前記姿勢情報に基づいて画像をレンダリングするレンダリング部と、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成する画像処理部と、
    前記画像生成に関する処理の開始から、前記画像処理部によって前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積する時間蓄積部と、
    を備え
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記時間予測部は、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    前記時間蓄積部は、前記ヘッドマウントディスプレイの垂直同期タイミング毎にカウント値を増分するカウンタを備え、
    前記時間蓄積部は、前記画像生成に関する処理の開始から前記レンダリングされた画像に対する画像処理の開始までの前記カウント値に基づいて算出された前記描画時間を前記データ記憶部に蓄積することを特徴とする画像生成装置。
  2. HMD画像の生成を開始させるための描画コマンドのフレームデータにフレームIDを紐づけてレンダリング部に供給する描画コマンド供給部と、
    画像生成に関する処理の開始から前記HMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測する時間予測部と、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得する姿勢情報取得部と、
    前記姿勢情報に基づいて画像をレンダリングす前記レンダリング部と、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成する画像処理部と、
    前記画像生成に関する処理の開始から、前記画像処理部によって前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積する時間蓄積部と、
    を備え、
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記時間予測部は、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    を備え、
    前記レンダリング部は、前記描画コマンドに応答してレンダリング処理を開始し、前記レンダリングされた画像のフレームデータに前記フレームIDを紐づけて前記画像処理部に供給し、
    前記画像処理部は、前記HMD画像のフレームデータに前記フレームIDを紐づけ、
    前記時間蓄積部は、前記フレームIDにそれぞれ紐づけられた、前記描画コマンドのフレームデータにおける前記描画コマンドの生成開始時のタイムスタンプと、前記画像処理部による前記画像処理の開始時のタイムスタンプとに基づいて算出された前記描画時間を前記データ記憶部に蓄積する、画像生成装置。
  3. 前記姿勢情報及び前記予測した遅延時間に基づいて、前記現在から前記予測した遅延時間の経過後の前記ヘッドマウントディスプレイの姿勢の予測結果を示す予測姿勢情報を生成する姿勢予測部をさらに備え、
    前記画像処理部は、前記予測姿勢情報に基づいて、前記レンダリングされた画像にリプロジェクション処理を施すことにより、前記HMD画像を生成する、請求項1又は2に記載の画像生成装置。
  4. 前記描画コマンド供給部は、前記画像に関する処理とは別の後続の画像に関する処理において、前記画像に関する処理が実行されている前記フレームデータに紐づけられたフレームIDとは異なるフレームIDを前記描画コマンドに紐づける、請求項に記載の画像生成装置。
  5. 画像生成に関する処理の開始からHMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測するステップと、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得するステップと、
    前記姿勢情報に基づいて画像をレンダリングするステップと、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成するステップと、
    前記画像生成に関する処理の開始から、前記生成するステップにおいて前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積するステップと、
    を含み、
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記予測するステップは、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    前記蓄積するステップは、前記ヘッドマウントディスプレイの垂直同期タイミング毎にカウント値を増分するカウンタによる、前記画像生成に関する処理の開始から前記レンダリングされた画像に対する画像処理の開始までの前記カウント値に基づいて前記描画時間を算出するステップと、算出された前記描画時間を前記データ記憶部に蓄積するステップとを含むことを特徴とする画像生成方法。
  6. HMD画像の生成を開始させるための描画コマンドのフレームデータにフレームIDを紐づけるステップと、
    画像生成に関する処理の開始から前記HMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測するステップと、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得するステップと、
    前記姿勢情報に基づいて画像をレンダリングするステップと、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成するステップと、
    前記画像生成に関する処理の開始から、前記生成するステップにおいて前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積するステップと、
    を含み、
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記予測するステップは、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    前記レンダリングするステップは、前記フレームIDが紐付けられた前記描画コマンドに応答してレンダリング処理を開始し、前記レンダリングされた画像のフレームデータに前記フレームIDを紐づけ、
    前記生成するステップは、前記レンダリングされた画像のフレームデータに紐付けられた前記フレームIDに基づいて、前記HMD画像のフレームデータに前記フレームIDを紐づけ、
    前記蓄積するステップは、前記フレームIDにそれぞれ紐づけられた、前記描画コマンドのフレームデータにおける前記描画コマンドの生成開始時のタイムスタンプと、前記画像処理の開始時のタイムスタンプとに基づいて算出された前記描画時間を前記データ記憶部に蓄積することを特徴とする画像生成方法。
  7. プロセッサを、
    画像生成に関する処理の開始からHMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測する時間予測部と、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得する姿勢情報取得部と、
    前記姿勢情報に基づいて画像をレンダリングするレンダリング部と、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成する画像処理部と、
    前記画像生成に関する処理の開始から、前記画像処理部によって前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積する時間蓄積部と、
    として機能させ
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記時間予測部は、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    前記時間蓄積部は、前記ヘッドマウントディスプレイの垂直同期タイミング毎にカウント値を増分するカウンタを備え、
    前記時間蓄積部は、前記画像生成に関する処理の開始から前記レンダリングされた画像に対する画像処理の開始までの前記カウント値に基づいて算出された前記描画時間を前記データ記憶部に蓄積する、画像生成プログラム。
  8. プロセッサを、
    HMD画像の生成を開始させるための描画コマンドのフレームデータにフレームIDを紐づけてレンダリング部に供給する描画コマンド供給部と、
    画像生成に関する処理の開始から前記HMD画像がヘッドマウントディスプレイに表示されるまでの遅延時間を予測する時間予測部と、
    現在の前記ヘッドマウントディスプレイの姿勢を示す姿勢情報を取得する姿勢情報取得部と、
    前記姿勢情報に基づいて画像をレンダリングする前記レンダリング部と、
    前記予測した遅延時間に基づいて、レンダリングされた前記画像に対してリプロジェクション処理を実行することにより、前記HMD画像を生成する画像処理部と、
    前記画像生成に関する処理の開始から、前記画像処理部によって前記レンダリングされた画像に対する画像処理が開始されるまでの描画時間をデータ記憶部に蓄積する時間蓄積部と、
    として機能させ、
    前記データ記憶部は、前記HMD画像が生成されてから前記ヘッドマウントディスプレイに表示されるまでの表示処理時間を予め記憶しており、
    前記時間予測部は、前記蓄積された描画時間及び前記表示処理時間に基づいて前記遅延時間を予測し、
    前記レンダリング部は、前記描画コマンドに応答してレンダリング処理を開始し、前記レンダリングされた画像のフレームデータに前記フレームIDを紐づけて前記画像処理部に供給し、
    前記画像処理部は、前記HMD画像のフレームデータに前記フレームIDを紐づけ、
    前記時間蓄積部は、前記フレームIDにそれぞれ紐づけられた、前記描画コマンドのフレームデータにおける前記描画コマンドの生成開始時のタイムスタンプと、前記画像処理部による前記画像処理の開始時のタイムスタンプとに基づいて算出された前記描画時間を前記データ記憶部に蓄積する、画像生成プログラム。
JP2021063122A 2021-04-01 2021-04-01 画像生成装置、画像生成方法および画像表示プログラム Active JP7599370B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021063122A JP7599370B2 (ja) 2021-04-01 2021-04-01 画像生成装置、画像生成方法および画像表示プログラム
US17/685,641 US20220317765A1 (en) 2021-04-01 2022-03-03 Image generation apparatus, image generation method, and image displaying program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021063122A JP7599370B2 (ja) 2021-04-01 2021-04-01 画像生成装置、画像生成方法および画像表示プログラム

Publications (2)

Publication Number Publication Date
JP2022158328A JP2022158328A (ja) 2022-10-17
JP7599370B2 true JP7599370B2 (ja) 2024-12-13

Family

ID=83449054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021063122A Active JP7599370B2 (ja) 2021-04-01 2021-04-01 画像生成装置、画像生成方法および画像表示プログラム

Country Status (2)

Country Link
US (1) US20220317765A1 (ja)
JP (1) JP7599370B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7706125B2 (ja) * 2021-09-30 2025-07-11 スズキ株式会社 仮想空間画像生成装置および方法

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015098292A1 (ja) 2013-12-25 2015-07-02 ソニー株式会社 画像処理装置及び画像処理方法、コンピューター・プログラム、並びに画像表示システム
WO2016002318A1 (ja) 2014-06-30 2016-01-07 ソニー株式会社 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム
JP2017215875A (ja) 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
JP2018500616A (ja) 2014-09-22 2018-01-11 エフエックスギア インコーポレイテッド 方向予測を利用した低レイテンシーシミュレーション装置及び方法と、そのためのコンピュータプログラム
WO2018158896A1 (ja) 2017-03-01 2018-09-07 三菱電機株式会社 情報処理システム
WO2018225187A1 (ja) 2017-06-07 2018-12-13 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
WO2019116994A1 (ja) 2017-12-12 2019-06-20 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム
US20190243472A1 (en) 2018-02-02 2019-08-08 Sony Interactive Entertainment Inc. Head-mounted display to controller clock synchronization over em field
WO2019229816A1 (ja) 2018-05-28 2019-12-05 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成方法、およびプログラム
JP2020042592A (ja) 2018-09-11 2020-03-19 ソニー株式会社 情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体
JP2020048185A (ja) 2018-09-18 2020-03-26 キヤノン株式会社 撮像表示装置、ウェアラブルデバイスおよび撮像表示システム
WO2020080177A1 (ja) 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
JP2020064520A (ja) 2018-10-18 2020-04-23 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
JP2020071394A (ja) 2018-10-31 2020-05-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2020071718A (ja) 2018-10-31 2020-05-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN111652962A (zh) 2020-06-08 2020-09-11 北京联想软件有限公司 图像渲染方法、头戴式显示设备及存储介质
US20210044792A1 (en) 2019-08-07 2021-02-11 Magic Leap, Inc. Determining a predicted head pose time
JP2021035810A (ja) 2019-08-30 2021-03-04 日本精機株式会社 表示装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10852815B2 (en) * 2019-04-30 2020-12-01 Valve Corporation Display system with dynamic light output adjustment for maintaining constant brightness

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015098292A1 (ja) 2013-12-25 2015-07-02 ソニー株式会社 画像処理装置及び画像処理方法、コンピューター・プログラム、並びに画像表示システム
WO2016002318A1 (ja) 2014-06-30 2016-01-07 ソニー株式会社 情報処理装置及び情報処理方法、コンピューター・プログラム、並びに画像処理システム
JP2018500616A (ja) 2014-09-22 2018-01-11 エフエックスギア インコーポレイテッド 方向予測を利用した低レイテンシーシミュレーション装置及び方法と、そのためのコンピュータプログラム
JP2017215875A (ja) 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法
WO2018158896A1 (ja) 2017-03-01 2018-09-07 三菱電機株式会社 情報処理システム
WO2018225187A1 (ja) 2017-06-07 2018-12-13 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
WO2019116994A1 (ja) 2017-12-12 2019-06-20 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム
JP2019106628A (ja) 2017-12-12 2019-06-27 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム
US20190243472A1 (en) 2018-02-02 2019-08-08 Sony Interactive Entertainment Inc. Head-mounted display to controller clock synchronization over em field
WO2019229816A1 (ja) 2018-05-28 2019-12-05 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成方法、およびプログラム
JP2020042592A (ja) 2018-09-11 2020-03-19 ソニー株式会社 情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体
JP2020048185A (ja) 2018-09-18 2020-03-26 キヤノン株式会社 撮像表示装置、ウェアラブルデバイスおよび撮像表示システム
WO2020080177A1 (ja) 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
JP2020064520A (ja) 2018-10-18 2020-04-23 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
JP2020071394A (ja) 2018-10-31 2020-05-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2020071718A (ja) 2018-10-31 2020-05-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US20210044792A1 (en) 2019-08-07 2021-02-11 Magic Leap, Inc. Determining a predicted head pose time
JP2021035810A (ja) 2019-08-30 2021-03-04 日本精機株式会社 表示装置
CN111652962A (zh) 2020-06-08 2020-09-11 北京联想软件有限公司 图像渲染方法、头戴式显示设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山口 勝也, 木島 竜吾,VRシステムのためのUSB通信を用いた統合時間軸の構成とPC-デバイス同期精度の評価,第21回日本バーチャルリアリティ学会大会論文集,日本,2016年09月16日,P.33D-01

Also Published As

Publication number Publication date
JP2022158328A (ja) 2022-10-17
US20220317765A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
CN112380989B (zh) 一种头戴显示设备及其数据获取方法、装置和主机
US11119319B2 (en) Rendering device, head-mounted display, image transmission method, and image correction method
JP6845111B2 (ja) 情報処理装置および画像表示方法
JP5967343B2 (ja) アクティブトラッキングに基づいて表示を最適化するための表示システム及び方法
US11100716B2 (en) Image generating apparatus and image generation method for augmented reality
US11373379B2 (en) Image generation apparatus and image generation method for generating augmented reality images based on user interaction
US11003408B2 (en) Image generating apparatus and image generating method
WO2017086263A1 (ja) 情報処理装置および画像生成方法
JP6978289B2 (ja) 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム
WO2019082794A1 (ja) 画像生成装置、画像生成システム、画像生成方法、およびプログラム
JPWO2020129115A1 (ja) 情報処理システム、情報処理方法およびコンピュータプログラム
US11187895B2 (en) Content generation apparatus and method
JP7599370B2 (ja) 画像生成装置、画像生成方法および画像表示プログラム
JP7047085B2 (ja) 画像生成装置、画像生成方法、およびプログラム
JP7594945B2 (ja) 画像生成装置、プログラム、画像生成方法および画像表示システム
WO2024150615A1 (ja) 画像生成装置、画像生成方法および画像生成プログラム
TW202137756A (zh) 動態調整鏡頭配置的方法、頭戴式顯示器及電腦裝置
JP2026017147A (ja) 情報処理装置、情報処理装置の制御方法、および、プログラム
GB2634523A (en) Apparatus and method for head mountable displays
JP2024076738A (ja) 画像表示装置、画像表示装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241029

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: 20241126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241203

R150 Certificate of patent or registration of utility model

Ref document number: 7599370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150