JP6976907B2 - プログラム、情報処理装置、情報処理システム及び情報処理方法 - Google Patents

プログラム、情報処理装置、情報処理システム及び情報処理方法 Download PDF

Info

Publication number
JP6976907B2
JP6976907B2 JP2018118670A JP2018118670A JP6976907B2 JP 6976907 B2 JP6976907 B2 JP 6976907B2 JP 2018118670 A JP2018118670 A JP 2018118670A JP 2018118670 A JP2018118670 A JP 2018118670A JP 6976907 B2 JP6976907 B2 JP 6976907B2
Authority
JP
Japan
Prior art keywords
posture
angular velocity
unit
correction
correction amount
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
JP2018118670A
Other languages
English (en)
Other versions
JP2019220059A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2018118670A priority Critical patent/JP6976907B2/ja
Priority to US16/034,519 priority patent/US10559064B2/en
Priority to EP18184000.0A priority patent/EP3588003A1/en
Publication of JP2019220059A publication Critical patent/JP2019220059A/ja
Application granted granted Critical
Publication of JP6976907B2 publication Critical patent/JP6976907B2/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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
    • 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/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • 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/105Features 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 using inertial sensors, e.g. accelerometers, 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
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Manufacturing & Machinery (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Navigation (AREA)

Description

本発明は、表示装置の姿勢を算出する技術に関する。
従来、角速度センサと加速度センサを用いて装置の姿勢を算出する技術が知られている。例えば、特許文献1には、角速度センサが検出する角速度に基づいて装置の姿勢を算出し、加速度センサが検出する加速度に基づいて当該姿勢の誤差を補正する技術が記載されている。
特開2010−5331号公報
本発明は、このような事情に鑑みてなされたものであり、角速度に基づいて算出される装置の姿勢の誤差を、当該装置の状況に応じてより適切に補正することを目的とする。
上記の課題を解決するため、本発明の一実施形態に係るプログラムは、角速度センサと加速度センサを有する表示装置のコンピュータにより実行されるプログラムであって、前記コンピュータを、前記角速度センサが検出する角速度に基づいて前記表示装置の第1の姿勢を算出する姿勢算出部と、前記加速度センサが検出する加速度と前記表示装置の所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、前記第2の姿勢に応じた画像を生成する画像生成部と、前記画像を前記表示装置に表示させる表示制御部として機能させる。
上記のプログラムにおいて、前記第1姿勢補正部は、前記角速度センサが検出する角速度に基づいて前記回転量を算出し、前記加速度センサが検出する加速度と当該回転量とに基づいて、前記第1の姿勢を補正して、前記第2の姿勢を算出するようにしてもよい。
上記のプログラムは、前記角速度センサが検出する角速度に基づいて前記回転量を算出し、前記加速度センサが検出する加速度と当該回転量とに基づいて、第1の補正量を決定する補正量決定部としてさらに機能させ、前記第1の補正量は、前記角速度センサが検出する角速度が増大するにつれて増加し、前記第1姿勢補正部は、前記第1の補正量を用いて前記第1の姿勢を補正して、前記第2の姿勢を算出するようにしてもよい。
上記のプログラムは、前記コンピュータを、前記加速度センサが検出する加速度に基づいて第2の補正量を算出する補正量算出部と、前記角速度センサが検出する角速度に基づいて前記回転量を算出し、算出した当該回転量に基づいて前記第1の補正量の上限である第3の補正量を算出する最大補正量算出部としてさらに機能させ、前記補正量決定部は、前記第2の補正量が前記第3の補正量以下の場合には、前記第2の補正量を前記第1の補正量として決定し、前記第2の補正量が前記第3の補正量を超える場合には、前記第3の補正量を前記第1の補正量として決定するようにしてもよい。
上記のプログラムにおいて、前記最大補正量算出部は、前記角速度センサが検出する角速度に基づいて算出した前記回転量に所定値を加算することにより、前記第3の補正量を
算出するようにしてもよい。
上記のプログラムは、前記コンピュータを、アプリケーションを実行するアプリケーション実行部としてさらに機能させ、前記最大補正量算出部は、前記アプリケーションの種類又は実行状況に応じた係数を、前記角速度センサが検出する角速度に基づいて算出した前記回転量に乗じることにより、前記第3の補正量を算出するようにしてもよい。
上記のプログラムは、前記コンピュータを、前記表示装置の所定時間における回転量を考慮せずに、前記加速度センサが検出する加速度に基づいて前記第1の姿勢を補正して、第3の姿勢を算出する第2姿勢補正部と、前記第1姿勢補正部と前記第2姿勢補正部のうち、いずれか一方を選択する選択部としてさらに機能させ、前記画像生成部は、前記第1姿勢補正部が選択された場合には、前記第2の姿勢に応じた画像を生成し、前記第2姿勢補正部が選択された場合には、前記第3の姿勢に応じた画像を生成するようにしてもよい。
本発明の一実施形態に係る情報処理装置は、角速度センサと加速度センサと表示部とを有する情報処理装置であって、前記表示部は、前記情報処理装置がユーザに使用される際に、当該ユーザの眼前に位置するように支持され、前記角速度センサが検出する角速度に基づいて前記情報処理装置の第1の姿勢を算出する姿勢算出部と、前記加速度センサが検出する加速度と前記情報処理装置の所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、前記第2の姿勢に応じた画像を生成する画像生成部と、前記画像を前記表示部に表示させる表示制御部とを有する。
本発明の一実施形態に係る情報処理システムは、角速度センサと加速度センサと表示部とを有する情報処理システムであって、前記角速度センサが検出する角速度に基づいて前記情報処理システムの第1の姿勢を算出する姿勢算出部と、前記加速度センサが検出する加速度と前記情報処理システムの所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、前記第2の姿勢に応じた画像を生成する画像生成部と、前記画像を前記表示部に表示させる表示制御部とを有する。
本発明の一実施形態に係る情報処理方法は、角速度センサと加速度センサと表示部とを有する情報処理システムにより実行される情報処理方法であって、前記角速度センサが検出する角速度に基づいて前記情報処理システムの第1の姿勢を算出するステップと、前記加速度センサが検出する加速度と前記情報処理システムの所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出するステップと、前記第2の姿勢に応じた画像を生成するステップと、前記画像を前記表示部に表示させるステップとを含む。
本発明によれば、角速度に基づいて算出される装置の姿勢の誤差を、当該装置の状況に応じてより適切に補正することができる。
ゲームシステム1の内部構成の一例を示す図 HMD2の外観の一例を示す図 ゲームプレイ中にディスプレイ208に表示される画像の一例を示す図 仮想カメラVCの姿勢の制御について説明するための図 画像表示処理を実行するための機能構成の一例を示すブロック図 画像表示処理に用いられるデータの一例を示す図 画像表示処理の一例を示すフローチャート 姿勢算出処理の一例を示すフローチャート
1.実施形態
本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の内部構成の一例を示す図である。同図に示すように、ゲームシステム1は、ヘッドマウントディスプレイ(以下、「HMD」と呼ぶ。)2と、コントローラ3を備える。
1−1.HMD2の構成
図2は、HMD2の外観の一例を示す図である。同図に示すHMD2はゴーグル型のHMDであるが、ヘルメット型や眼鏡型であってもよい。
このHMD2は、図1に示すように、プロセッサ201を備える。プロセッサ201は、各種の情報処理を実行する情報処理部であって、例えば、CPUのみから構成されてもよいし、CPU機能、GPU機能等の複数の機能を有するSoC(System-on-a-chip)により構成されてもよい。プロセッサ201は、後述する内部記憶媒体や、スロット204に装着された外部記憶媒体に記憶されるプログラムを実行することによって、各種の情報処理を実行する。
また、HMD2は、内部記憶媒体の一例として、フラッシュメモリ202とDRAM203を備える。フラッシュメモリ202は、各種のデータを記憶するために用いられる不揮発性のメモリであり、DRAM203は、各種のデータを一時的に記憶するために用いられる揮発性のメモリである。
また、HMD2は、スロット204とスロットインターフェース205を備える。スロット204は、メモリカード等の外部記憶媒体を装着可能な形状を有し、スロットインターフェース205は、スロット204に装着された外部記憶媒体に対するデータの読み書きを、プロセッサ201の指示に応じて行う。
また、HMD2は、ネットワーク通信部206を備える。ネットワーク通信部206は、無線LAN方式により又は赤外線通信により外部装置と無線通信を行う。
また、HMD2は、コントローラ通信部207を備える。コントローラ通信部207は、Bluetooth(登録商標)等の近距離無線通信技術を用いてコントローラ3と無線通信を行う。
また、HMD2は、ディスプレイ208を備える。ディスプレイ208は、液晶ディスプレイや有機ELディスプレイ等の表示装置である。ディスプレイ208は、左目用画像と右目用画像を並べて表示することで、ユーザに3次元画像(VR画像)を視認させる。このディスプレイ208は、HMD2がユーザに使用される際に、ユーザの眼前に支持される。ディスプレイ208は、ユーザが首を動かしても絶えずユーザの視線方向に位置するように支持される。
また、HMD2は、タッチパネル209とタッチパネルコントローラ210を備える。タッチパネル209は、静電容量方式等のタッチパネルであり、ディスプレイ208上に配置される。タッチパネルコントローラ210は、タッチパネル209を制御する回路である。タッチパネルコントローラ210は、タッチパネル209から出力される信号に基づいて、タッチ入力が行われた位置を示すデータを生成して、プロセッサ201に出力する。
また、HMD2は、コーデック回路211とスピーカ212と音声入出力端子213を備える。コーデック回路211は、スピーカ212と音声入出力端子213に対する音声データの入出力を制御する回路である。
また、HMD2は、角速度センサ214と加速度センサ215を備える。角速度センサ214は、当該センサを基準に設定される3次元直交座標系(ローカル座標系)における3軸周りの角速度を所定の周期で検出する。検出された角速度を示すデータは、DRAM203に記憶される。DRAM203には、最新の角速度データのみが記憶される。一方、加速度センサ215は、当該センサを基準に設定される3次元直交座標系(ローカル座標系)における3軸方向の加速度を所定の周期で検出する。検出された加速度を示すデータは、DRAM203に記憶される。DRAM203には、最新の加速度データのみが記憶される。
また、HMD2は、電力制御部216とバッテリ217と電源ボタン218を備える。電力制御部216は、プロセッサ201からの指令に基づいて、バッテリ217からHMD2の各部への電力供給を制御する。
1−2.コントローラ3の構成
コントローラ3は、図1に示すように、通信制御部31を備える。通信制御部31は、マイクロプロセッサにより構成され、HMD2との間の無線通信を制御する。
また、コントローラ3は、フラッシュメモリ等のメモリ32を備える。通信制御部31は、メモリ32に記憶されるファームウェアを実行することにより、各種の処理を実行する。
また、コントローラ3は、各種の操作ボタン33とアナログスティック34を備える。操作ボタン33とアナログスティック34は、自身に対して行われた操作に関するデータを、通信制御部31へ出力する。通信制御部31は、取得した操作データをHMD2へ送信する。
また、コントローラ3は、電力供給部35を備える。電力供給部35は、バッテリ及び電力制御回路を有する。
1−3.ゲームシステム1の動作概要
次に、ゲームシステム1の動作について説明する。
HMD2は、ゲームプログラムを記憶する外部記憶媒体がスロット204に装着され、プレイヤによりゲームの開始が指示されると、当該ゲームプログラムを実行する。以下の説明では、実行されるゲームとして、プレイヤが3次元の仮想空間内で、一人称視点でキャラクタを操作するアクションゲームを想定する。ただし、アクションゲームは実行可能なゲームのあくまで一例であり、その他の種類のゲームが実行されてもよい。
図3は、ゲームプレイ中にディスプレイ208に表示される画像の一例を示す図である。同図に示すように、ゲームが開始されると3次元の仮想空間が定義され、当該仮想空間内に配置された仮想カメラに基づいて生成された画像がディスプレイ208に表示される。仮想カメラの撮影方向は、プレイヤが操作するキャラクタの視線方向に対応する。この仮想カメラの位置は、ユーザがコントローラ3を用いて操作可能であり、仮想カメラの姿勢は、HMD2の姿勢に応じて変化する。
図4は、仮想カメラの姿勢の制御について説明するための図である。同図に示すように、仮想空間には、当該空間内の所定の位置を原点とするxyz直交座標系(空間座標系)
が設定される。この空間座標系のz軸は、仮想空間の鉛直方向に延びる軸であり、x軸は、z軸に対して垂直な軸であり、y軸は、z軸及びx軸に対して垂直な軸である。xy平面上には地面オブジェクトLが配置され、この地面オブジェクトL上に仮想カメラVCが配置される。仮想カメラVCには、同図に示すように、当該カメラを原点とするuvw直交座標系(視点座標系)が設定される。この視点座標系のu軸は、仮想カメラVCの左右方向に延びる軸であり、v軸は、仮想カメラVCの上下方向に延びる軸であり、w軸は、仮想カメラVCの前後方向に延びる軸である。仮想カメラVCは、u軸周り(ピッチ方向)と、v軸周り(ヨー方向)と、w軸周り(ロール方向)に回転可能である。以下、この仮想カメラVCに基づいて生成される画像を表示するための処理について説明する。
1−4.画像表示処理
図5は、画像表示処理を実行するための機能構成の一例を示すブロック図である。図6は、画像表示処理に用いられるデータの一例を示す図である。図5に示す姿勢算出部41、画像生成部42及び表示制御部43は、プロセッサ201がゲームプログラムを実行することにより実現される。なお、このゲームプログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。
姿勢算出部41は、角速度センサ214が検出する角速度と加速度センサ215が検出する加速度に基づいて、HMD2の姿勢を算出する。具体的には、角速度センサ214が検出する角速度に基づいてHMD2の第1の姿勢を算出し、当該第1の姿勢を、加速度センサ215が検出する加速度に基づいて補正することで、HMD2の第2の姿勢を算出する。その際、角速度から最大補正角度を算出し、当該最大補正角度を上限として上記の補正を行う。具体的な処理内容については後述する。なおここで、角速度に基づいて算出される第1の姿勢を補正する理由は、角速度に基づいて算出される姿勢には経時的に誤差が蓄積してしまうからである。この誤差を修正するために、第1の姿勢を加速度に基づいて補正する。
画像生成部42は、姿勢算出部41により算出されたHMD2の姿勢に応じた画像を生成する。ここで、HMD2の姿勢に応じた画像とは、HMD2と対応する姿勢にある仮想カメラが仮想空間を撮影することにより生成される画像である。
表示制御部43は、画像生成部42により生成された画像をディスプレイ208に表示させる。
次に、姿勢算出部41により実行される処理について詳述する。
姿勢算出部41は、図5に示すように、第1姿勢算出部411、重力加速度推定部412、補正量算出部413、最大補正量算出部414、補正量決定部415及び姿勢補正部416を備える。
第1姿勢算出部411は、角速度センサ214が検出する角速度に基づいて第1の姿勢を算出する。具体的には、画像表示処理の最新の処理ループで取得した角速度を積分して得た角度を、前回の処理ループで算出した第1の姿勢に加算することで、新しい第1の姿勢を算出する。ここで、最新の処理ループで取得した角速度とは、DRAM203に記憶されている角速度データ51により表される角速度であり、前回の処理ループで算出した第1の姿勢とは、DRAM203に記憶されている第1姿勢データ52により表される第1の姿勢である。新しい第1の姿勢を算出すると、当該第1の姿勢を表すデータで、DRAM203に記憶される第1姿勢データ52を更新する。
重力加速度推定部412は、HMD2にかかる重力加速度を推定する。具体的には、画像表示処理の最新の処理ループで取得したローカル座標系の加速度をグローバル座標系の
加速度に変換する。ここで、グローバル座標系とは、現実空間の所定の位置を原点とする3次元直交座標系である。そして、求めたグローバル座標系の加速度と前回の処理ループで算出した重力加速度の差分に平滑化変数を乗じて得た値を、同重力加速度に加算する。より具体的には、以下の式(1)及び(2)を使って重力加速度を算出する。
Figure 0006976907
式(1)において、変数Accglobalは、グローバル座標系の加速度であり、定数Rglobalは、ローカル座標系の加速度をグローバル座標系の加速度に変換するための回転行列であり、変数Accは、最新の処理ループで取得したローカル座標系の加速度である。ここで、最新の処理ループで取得したローカル座標系の加速度とは、DRAM203に記憶されている加速度データ53により表される加速度である。式(2)において、変数Gは、最新の処理ループで算出される重力加速度であり、変数Gt−1は、前回の処理ループで算出された重力加速度であり、変数αは、平滑化変数である。ここで、前回の処理ループで算出された重力加速度とは、DRAM203に記憶されている重力加速度データ54により表される重力加速度である。重力加速度推定部412は、重力加速度を算出すると、当該重力加速度を表すデータで、DRAM203に記憶される重力加速度データ54を更新する。
なお、上記の平滑化変数は、HMD2の静止度に応じて変化する変数である。この平滑化変数は、加速度センサ215が検出する加速度の大きさを算出することで求められる。この加速度とは、DRAM203に記憶されている加速度データ53により表される加速度である。平滑化変数の値は、加速度の大きさが重力加速度の大きさ「1(G)」に近いほど(言い換えると、HMD2が静止状態に近いほど)大きくなる。これは、加速度の大きさが重力加速度の大きさ「1(G)」に近い方が(言い換えると、HMD2が静止状態に近い方が)、加速度の値が、重力方向を示す値として信頼できると考えられるからである。
なお、変形例として、平滑化変数は加速度の瞬時値の大きさではなく、例えば1秒間の区間平均値の大きさを算出することで求めてもよい。また、別の変形例として、平滑化変数は加速度の値に加えて、角速度の値に基づいて算出されてもよい。その際の角速度の値とは、具体的には、角速度の大きさ、分散又は変化量である。
補正量算出部413は、重力加速度推定部412により推定された重力加速度に基づいて、第1姿勢算出部411により算出された第1の姿勢に適用される補正角度を算出する。この補正角度は、HMD2が第1の姿勢にあるときの当該装置の下方向のベクトルのグローバル座標系における向きを、重力加速度推定部412により推定された重力加速度の向きに近づけるための補正角度である。この補正角度を求めるために補正量算出部413は、HMD2が第2の姿勢にあるときの当該装置の下方向のベクトルのグローバル座標系における向きと、重力加速度推定部412により推定された重力加速度の向きの外積を取り、求めたベクトル周りに回転させる補正角度を算出する。ここで、HMD2の第2の姿勢とは、画像表示処理の前回の処理ループにおいて姿勢補正部416により算出された第2の姿勢であり、DRAM203に記憶される第2姿勢データ55により表される第2の姿勢である。補正量算出部413は、より具体的には、以下の式(3)、(4)及び(5)を使って補正角度を算出する。
Figure 0006976907
式(3)において、変数Gは、最新の処理ループで算出される重力加速度であり、変数Zは、HMD2が第2の姿勢にあるときの当該装置の下方向のベクトルのグローバル座標系における向きである。ここで、最新の処理ループで算出される重力加速度とは、DRAM203に記憶される重力加速度データ54により表される重力加速度である。一方、変数Zは、DRAM203に記憶される第2姿勢データ55により表されるZ軸方向のベクトルである。式(5)において、変数θは、補正角度である。補正量算出部413は、補正角度を算出すると、補正角度を表すデータで、DRAM203に記憶される補正角度データ56を更新し、かつ、回転rotを表すデータで、DRAM203に記憶される回転データ57を更新する。
最大補正量算出部414は、角速度センサ214が検出する角速度に基づいてHMD2の所定時間における回転量を算出し、算出した回転量に基づいて、第1姿勢算出部411により算出された第1の姿勢に適用される補正角度の上限値である最大補正角度を算出する。この最大補正角度は、角速度に応じて変化し、角速度が大きくなるにつれて大きくなる。これは、角速度が大きいときに(言い換えると、HMD2が大きく動くときに)第1の姿勢を大幅に補正しても、角速度の変化に応じてディスプレイ208に表示される画像も大きく変化するため、ユーザが違和感を覚えることはないが、角速度が小さいときに(言い換えると、HMD2が静止状態に近いときに)第1の姿勢を大幅に補正してしまうと、ユーザが違和感を覚えてしまうからである。特に、HMDのように、ユーザの目とディスプレイの距離が近い装置を利用する場合には、この違和感が顕著になる。最大補正量算出部414は、具体的には、以下の式(6)を使って補正角度を算出する。
Figure 0006976907
式(6)において、変数θ maxは、最大補正角度であり、定数kは、最小補正値であり、定数kは、補正係数であり、変数Ωは、画像表示処理の最新の処理ループで取得したローカル座標系の角速度であり、変数dtは、角速度検出のサンプリング周期であり、定数strengthは、補正係数である。ここで、定数kは、HMD2が静止状態であっても蓄積してゆく第1の姿勢の誤差を補正するための最低限の補正値であり、任意に設定される。定数k及びstrengthは、アプリケーションの開発者により、アプリケーションの種類やアプリケーションの実行状況(例えば、実行中のゲームの場面)に応じて任意に設定される補正係数である。変数Ωは、具体的には、DRAM203に記憶されている角速度データ51により表される角速度である。最大補正量算出部414は、最大補正角度を算出すると、最大補正角度を表すデータで、DRAM203に記憶される最大補正角度データ58を更新する。
補正量決定部415は、補正量算出部413により算出された補正角度と、最大補正量算出部414により算出された最大補正角度を比較することで、第1姿勢算出部411に
より算出された第1の姿勢に適用される補正角度を決定する。具体的には、前者が後者以下の場合には、前者を補正角度として決定し、前者が後者より大きい場合には、後者を補正角度として決定する。ここで、補正量算出部413により算出された補正角度とは、DRAM203に記憶されている補正角度データ56により表される補正角度であり、最大補正量算出部414により算出された最大補正角度とは、DRAM203に記憶されている最大補正角度データ58により表される最大補正角度である。
姿勢補正部416は、第1姿勢算出部411により算出された第1の姿勢を、補正量決定部415により決定された補正角度に基づいて補正して、第2の姿勢を算出する。具体的には、第1姿勢算出部411により算出された第1の姿勢を、補正量算出部413により算出されたベクトル周りに、補正量決定部415により決定された補正角度だけ回転させることで、第2の姿勢を算出する。ここで、第1姿勢算出部411により算出された第1の姿勢とは、DRAM203に記憶されている第1姿勢データ52により表される第1の姿勢であり、補正量算出部413により算出されたベクトルとは、DRAM203に記憶されている回転データ57により表されるベクトルである。第2の姿勢は、例えば、ロドリゲスの回転公式を使って算出される。姿勢補正部416は、第2の姿勢を算出すると、当該第2の姿勢を表すデータで、DRAM203に記憶される第2姿勢データ55を更新する。
次に、画像表示処理の手順について説明する。図7は、画像表示処理の一例を示すフローチャートである。同図に示す画像表示処理は、ゲームの実行中において所定の周期で繰り返し実行される。
この画像表示処理のステップS1において、姿勢算出部41は、角速度センサ214が検出する角速度と加速度センサ215が検出する加速度に基づいて、HMD2の姿勢を算出する。具体的には、角速度センサ214が検出する角速度に基づいてHMD2の第1の姿勢を算出し、当該第1の姿勢を、加速度センサ215が検出する加速度に基づいて補正することで、HMD2の第2の姿勢を算出する。その際、角速度から最大補正角度を算出し、当該最大補正角度を上限として上記の補正を行う。以下、具体的な処理内容について、図8を参照して説明する。
図8は、姿勢算出処理の一例を示すフローチャートである。この姿勢算出処理のステップS11において、第1姿勢算出部411は、角速度センサ214が検出する角速度に基づいて第1の姿勢を算出する。具体的には、DRAM203に記憶されている角速度データ51により表される角速度を積分して得た角度を、同じくDRAM203に記憶されている第1姿勢データ52により表される第1の姿勢に加算することで、新しい第1の姿勢を算出する。新しい第1の姿勢を算出すると、当該第1の姿勢を表すデータで、DRAM203に記憶される第1姿勢データ52を更新する。
次に、ステップS12において、重力加速度推定部412は、HMD2にかかる重力加速度を推定する。具体的には、DRAM203に記憶されている加速度データ53により表されるローカル座標系の加速度をグローバル座標系の加速度に変換する。そして、求めたグローバル座標系の加速度と、DRAM203に記憶されている重力加速度データ54により表される重力加速度の差分に平滑化変数を乗じて得た値を、同重力加速度に加算する。より具体的には、上記の式(1)及び(2)を使って重力加速度を算出する。重力加速度を算出すると、当該重力加速度を表すデータで、DRAM203に記憶される重力加速度データ54を更新する。
次に、ステップS13において、補正量算出部413は、ステップS12で推定された重力加速度に基づいて、ステップS11で算出された第1の姿勢に適用される補正角度を
算出する。具体的には、HMD2が第2の姿勢にあるときの当該装置の下方向のベクトルのグローバル座標系における向きと、重力加速度推定部412により推定された重力加速度の向きの外積を取り、求めたベクトル周りに回転させる補正角度を算出する。ここで、HMD2の第2の姿勢とは、DRAM203に記憶される第2姿勢データ55により表される第2の姿勢である。補正量算出部413は、より具体的には、上記の式(3)、(4)及び(5)を使って補正角度を算出する。補正角度を算出すると、補正角度を表すデータで、DRAM203に記憶される補正角度データ56を更新し、かつ、回転を表すデータで、DRAM203に記憶される回転データ57を更新する。
次に、ステップS14において、最大補正量算出部414は、DRAM203に記憶されている角速度データ51により表される角速度に基づいて、ステップS11で算出された第1の姿勢に適用される補正角度の上限値である最大補正角度を算出する。具体的には、上記の式(6)を使って補正角度を算出する。最大補正角度を算出すると、最大補正角度を表すデータで、DRAM203に記憶される最大補正角度データ58を更新する。
次に、ステップS15において、補正量決定部415は、ステップS13で算出された補正角度と、ステップS14で算出された最大補正角度を比較することで、ステップS11で算出された第1の姿勢に適用される補正角度を決定する。具体的には、前者が後者以下の場合には、前者を補正角度として決定し、前者が後者より大きい場合には、後者を補正角度として決定する。
次に、ステップS16において、姿勢補正部416は、ステップS11で算出された第1の姿勢を、ステップS15で決定された補正角度に基づいて補正して、第2の姿勢を算出する。具体的には、ステップS11で算出された第1の姿勢を、ステップS13で算出されたベクトル周りに、ステップS15で決定された補正角度だけ回転させることで、第2の姿勢を算出する。第2の姿勢は、例えば、ロドリゲスの回転公式を使って算出される。姿勢補正部416は、第2の姿勢を算出すると、当該第2の姿勢を表すデータで、DRAM203に記憶される第2姿勢データ55を更新する。
以上が、姿勢算出処理についての説明である。
姿勢算出処理の結果、HMD2の姿勢が算出されると、図7に示すステップS2において、画像生成部42は、算出されたHMD2の姿勢に応じた画像を生成する。ここで、HMD2の姿勢に応じた画像とは、HMD2と対応する姿勢にある仮想カメラに基づいて生成された画像である。
次に、ステップS3において、表示制御部43は、ステップS2で生成された画像をディスプレイ208に表示させる。
以上が、画像表示処理についての説明である。
以上説明したHMD2では、角速度センサ214が検出する角速度に基づいてHMD2の第1の姿勢を算出し、当該第1の姿勢を、加速度センサ215が検出する加速度に基づいて補正する。その際、角速度から最大補正角度を算出し、当該最大補正角度を上限として当該補正を行う。この最大補正角度は、角速度が大きくなるにつれて大きくなる。したがって、第1の姿勢に適用される補正角度は、角速度が大きくなるにつれて大きくなる。角速度が小さい場合に(言い換えると、HMD2が静止状態に近いときに)第1の姿勢を大幅に補正してしまうと、ユーザが違和感に与えてしまう。例えば、画面がカクカクしたり、HMD2が静止状態にもかかわらず画面がロール方向に回転することで目が回ったりする可能性がある。しかし、角速度が大きい場合に(言い換えると、HMD2が大きく動くときに)第1の姿勢を大幅に補正するようにすれば、当該補正が、HMD2の動きに起因する画像の変化に紛れ、ユーザは違和感を覚えにくくなる。
2.変形例
上記の実施形態は、以下に説明するように変形してもよい。なお、以下に説明する2以上の変形例は互いに組み合わせてもよい。
2−1.変形例1
HMD2は、バンド等でユーザの頭部に固定されるタイプではなく、ユーザの手によって眼前に支持されるタイプであってもよい。例えば、段ボール製の箱型の形状を有し、スマートフォンを挿入することで利用可能となるビューア(画像表示装置)であってもよい。
2−2.変形例2
HMD2により実行されるVRアプリケーションは、ゲームに限られない。例えば、教育や医療の分野のVRアプリケーションが実行されてもよい。
2−3.変形例3
HMD2は、角速度センサ214を使って当該装置の所定時間あたりの回転量を検出しているが、回転量の検出方法はこれに限られない。例えば、HMD2に複数の赤外線LEDを備えさせ、HMD2の周囲に赤外線センサを設置し、赤外線センサにより検出された赤外線の検出点に基づいてHMD2の回転量を検出するようにしてもよい。または、HMD2に光学カメラを備えさせ、光学カメラにより撮影された画像に基づいてHMD2の回転量を検出するようにしてもよい。
2−4.変形例4
HMD2は、最大補正角度を考慮せずに(言い換えると、角速度センサ214が検出する角速度を考慮せずに)、加速度センサ215が検出する加速度に基づいて第1の姿勢を補正する機能を備えてもよい。具体的には、第1姿勢算出部411により算出された第1の姿勢を、補正量算出部413により算出されたベクトル周りに、同算出部により算出された補正角度だけ回転させることで第1の姿勢を補正する機能(以下、「第2姿勢補正部」という。)を備えてもよい。そして、コントローラ3に対するユーザの操作に基づいて、姿勢補正部416と第2姿勢補正部のうちのいずれかを選択するようにしてもよい。その場合、画像生成部42は、姿勢補正部416が選択された場合には、姿勢補正部416により算出された姿勢に応じた画像を生成し、第2姿勢補正部が選択された場合には、第2姿勢補正部により算出された姿勢に応じた画像を生成する。ユーザの操作に基づいて選択を行う代わりに、実行中のアプリケーションの種類やアプリケーションの実行状況(例えば、実行中のゲームの場面)に応じて、自動的に当該選択を行うようにしてもよい。
2−5.変形例5
HMD2により実行される画像表示処理は、ネットワークを介して接続された複数の情報処理装置からなる画像処理システムにより実行されてもよい。
2−6.変形例6
図8に例示する姿勢算出処理は、自律駆動型ロボットの姿勢を推定する場合に適用されてもよい。
1…ゲームシステム、2…HMD、3…コントローラ、31…通信制御部、32…メモリ、33…操作ボタン、34…アナログスティック、35…電力供給部、41…姿勢算出部、42…画像生成部、43…表示制御部、51…角速度データ、52…第1姿勢データ、53…加速度データ、54…重力加速度データ、55…第2姿勢データ、56…補正角度
データ、57…回転データ、58…最大補正角度データ、201…プロセッサ、202…フラッシュメモリ、203…DRAM、204…スロット、205…スロットインターフェース、206…ネットワーク通信部、207…コントローラ通信部、208…ディスプレイ、209…タッチパネル、210…タッチパネルコントローラ、211…コーデック回路、212…スピーカ、213…音声入出力端子、214…角速度センサ、215…加速度センサ、216…電力制御部、217…バッテリ、218…電源ボタン、411…第1姿勢算出部、412…重力加速度推定部、413…補正量算出部、414…最大補正量算出部、415…補正量決定部、416…姿勢補正部

Claims (10)

  1. 角速度センサと加速度センサを有する表示装置のコンピュータにより実行されるプログラムであって、
    前記コンピュータを、
    前記角速度センサが検出する角速度に基づいて前記表示装置の第1の姿勢を算出する姿勢算出部と、
    前記加速度センサが検出する加速度と前記表示装置の所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、
    前記第2の姿勢に応じた画像を生成する画像生成部と、
    前記画像を前記表示装置に表示させる表示制御部
    として機能させるプログラム。
  2. 前記第1姿勢補正部は、前記角速度センサが検出する角速度に基づいて前記回転量を算出し、前記加速度センサが検出する加速度と当該回転量とに基づいて、前記第1の姿勢を補正して、前記第2の姿勢を算出する、
    請求項1に記載のプログラム。
  3. 前記コンピュータを、前記角速度センサが検出する角速度に基づいて前記回転量を算出し、前記加速度センサが検出する加速度と当該回転量とに基づいて、第1の補正量を決定する補正量決定部としてさらに機能させ、
    前記第1の補正量は、前記角速度センサが検出する角速度が増大するにつれて増加し、
    前記第1姿勢補正部は、前記第1の補正量を用いて前記第1の姿勢を補正して、前記第2の姿勢を算出する、
    請求項2に記載のプログラム。
  4. 前記コンピュータを、
    前記加速度センサが検出する加速度に基づいて第2の補正量を算出する補正量算出部と、
    前記角速度センサが検出する角速度に基づいて前記回転量を算出し、算出した当該回転量に基づいて前記第1の補正量の上限である第3の補正量を算出する最大補正量算出部
    としてさらに機能させ、
    前記補正量決定部は、前記第2の補正量が前記第3の補正量以下の場合には、前記第2の補正量を前記第1の補正量として決定し、前記第2の補正量が前記第3の補正量を超える場合には、前記第3の補正量を前記第1の補正量として決定する、請求項3に記載のプログラム。
  5. 前記最大補正量算出部は、前記角速度センサが検出する角速度に基づいて算出した前記回転量に所定値を加算することにより、前記第3の補正量を算出する、請求項4に記載のプログラム。
  6. 前記コンピュータを、アプリケーションを実行するアプリケーション実行部としてさらに機能させ、
    前記最大補正量算出部は、前記アプリケーションの種類又は実行状況に応じた係数を、前記角速度センサが検出する角速度に基づいて算出した前記回転量に乗じることにより、前記第3の補正量を算出する、
    請求項4又は5に記載のプログラム。
  7. 前記コンピュータを、
    前記表示装置の所定時間における回転量を考慮せずに、前記加速度センサが検出する加
    速度に基づいて前記第1の姿勢を補正して、第3の姿勢を算出する第2姿勢補正部と、
    前記第1姿勢補正部と前記第2姿勢補正部のうち、いずれか一方を選択する選択部
    としてさらに機能させ、
    前記画像生成部は、前記第1姿勢補正部が選択された場合には、前記第2の姿勢に応じた画像を生成し、前記第2姿勢補正部が選択された場合には、前記第3の姿勢に応じた画像を生成する、請求項1乃至6のいずれか1項に記載のプログラム。
  8. 角速度センサと加速度センサと表示部とを有する情報処理装置であって、
    前記表示部は、前記情報処理装置がユーザに使用される際に、当該ユーザの眼前に位置するように支持され、
    前記角速度センサが検出する角速度に基づいて前記情報処理装置の第1の姿勢を算出する姿勢算出部と、
    前記加速度センサが検出する加速度と前記情報処理装置の所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、
    前記第2の姿勢に応じた画像を生成する画像生成部と、
    前記画像を前記表示部に表示させる表示制御部と
    を有する情報処理装置。
  9. 角速度センサと加速度センサと表示部とを有する情報処理システムであって、
    前記角速度センサが検出する角速度に基づいて前記情報処理システムの第1の姿勢を算出する姿勢算出部と、
    前記加速度センサが検出する加速度と前記情報処理システムの所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出する第1姿勢補正部と、
    前記第2の姿勢に応じた画像を生成する画像生成部と、
    前記画像を前記表示部に表示させる表示制御部と
    を有する情報処理システム。
  10. 角速度センサと加速度センサと表示部とを有する情報処理システムにより実行される情報処理方法であって、
    前記角速度センサが検出する角速度に基づいて前記情報処理システムの第1の姿勢を算出するステップと、
    前記加速度センサが検出する加速度と前記情報処理システムの所定時間における回転量とに基づいて、前記第1の姿勢を補正して、第2の姿勢を算出するステップと、
    前記第2の姿勢に応じた画像を生成するステップと、
    前記画像を前記表示部に表示させるステップと
    を含む情報処理方法。
JP2018118670A 2018-06-22 2018-06-22 プログラム、情報処理装置、情報処理システム及び情報処理方法 Active JP6976907B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018118670A JP6976907B2 (ja) 2018-06-22 2018-06-22 プログラム、情報処理装置、情報処理システム及び情報処理方法
US16/034,519 US10559064B2 (en) 2018-06-22 2018-07-13 Storage medium, information-processing device, information-processing system, and information-processing method
EP18184000.0A EP3588003A1 (en) 2018-06-22 2018-07-17 Program, information-processing device, information-processing system, and information-processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018118670A JP6976907B2 (ja) 2018-06-22 2018-06-22 プログラム、情報処理装置、情報処理システム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2019220059A JP2019220059A (ja) 2019-12-26
JP6976907B2 true JP6976907B2 (ja) 2021-12-08

Family

ID=62981112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018118670A Active JP6976907B2 (ja) 2018-06-22 2018-06-22 プログラム、情報処理装置、情報処理システム及び情報処理方法

Country Status (3)

Country Link
US (1) US10559064B2 (ja)
EP (1) EP3588003A1 (ja)
JP (1) JP6976907B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020052916A (ja) * 2018-09-28 2020-04-02 日本電産サンキョー株式会社 画像処理装置、イメージスキャナ、及び画像処理方法
US11256319B2 (en) 2019-11-22 2022-02-22 Facebook Technologies, Llc Hierarchical power management in artificial reality systems
CN113407084B (zh) * 2021-06-24 2022-05-17 杭州灵伴科技有限公司 展示内容更新方法、头戴式显示设备和计算机可读介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3748483B2 (ja) * 1997-09-12 2006-02-22 株式会社リコー 姿勢入力装置、姿勢入力機能を備えるペン型入力装置及びそのペン型入力装置を有するペン型入力システム
US20110307213A1 (en) * 2006-07-10 2011-12-15 Yang Zhao System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices
US7925467B2 (en) 2008-06-30 2011-04-12 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
JP4265814B1 (ja) * 2008-06-30 2009-05-20 任天堂株式会社 姿勢算出装置、姿勢算出プログラム、ゲーム装置、およびゲームプログラム
EP2140916B1 (en) 2008-06-30 2018-10-31 Nintendo Co., Ltd. Coordinate calculation apparatus and storage medium having coordinate calculation program stored therein
US8743219B1 (en) * 2010-07-13 2014-06-03 Marvell International Ltd. Image rotation correction and restoration using gyroscope and accelerometer
US8957909B2 (en) * 2010-10-07 2015-02-17 Sensor Platforms, Inc. System and method for compensating for drift in a display of a user interface state
US9123142B2 (en) * 2012-10-02 2015-09-01 At&T Intellectual Property I, L.P. Adjusting content display orientation on a screen based on user orientation
US10231614B2 (en) * 2014-07-08 2019-03-19 Wesley W. O. Krueger Systems and methods for using virtual reality, augmented reality, and/or a synthetic 3-dimensional information for the measurement of human ocular performance
US20140267006A1 (en) * 2013-03-15 2014-09-18 Giuseppe Raffa Automatic device display orientation detection
WO2015098211A1 (ja) 2013-12-25 2015-07-02 ソニー株式会社 姿勢測定装置及び姿勢測定方法、画像処理装置及び画像処理方法、表示装置及び表示方法、コンピューター・プログラム、並びに画像表示システム
KR20160147735A (ko) * 2014-04-22 2016-12-23 소니 주식회사 헤드부 위치 검출 장치 및 헤드부 위치 검출 방법, 화상 처리 장치 및 화상 처리 방법, 표시 장치, 및 컴퓨터 프로그램
US9068843B1 (en) 2014-09-26 2015-06-30 Amazon Technologies, Inc. Inertial sensor fusion orientation correction
JP6539122B2 (ja) * 2015-06-17 2019-07-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US10362228B2 (en) * 2016-10-22 2019-07-23 Gopro, Inc. Fast attitude error correction

Also Published As

Publication number Publication date
JP2019220059A (ja) 2019-12-26
EP3588003A1 (en) 2020-01-01
US20190392558A1 (en) 2019-12-26
US10559064B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
US9928650B2 (en) Computer program for directing line of sight
US10496158B2 (en) Image generation device, image generation method and non-transitory recording medium storing image generation program
KR102209873B1 (ko) 헤드 마운트 디스플레이를 위한 예측적 트래킹에 기반한 인식
US9086724B2 (en) Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus
JP6250592B2 (ja) ヘッドマウントディスプレイ、情報処理装置、表示制御方法及びプログラム
JP5987247B2 (ja) データ融合によるモーションキャプチャポインタ
JP6976907B2 (ja) プログラム、情報処理装置、情報処理システム及び情報処理方法
US9250799B2 (en) Control method for information input device, information input device, program therefor, and information storage medium therefor
US10139902B2 (en) Method and apparatus for changing a field of view without synchronization with movement of a head-mounted display
US11100713B2 (en) System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
US11216976B2 (en) Angle of view calibration method, virtual reality display system and computing apparatus
JP2021009673A (ja) 仮想現実システム、プログラム、およびコンピュータ読み取り可能な記憶媒体
US9393494B2 (en) Input device, computer-readable storage medium having input processing program stored therein, input processing method, and input processing system
US8708818B2 (en) Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus
US20120206351A1 (en) Information processing apparatus, computer-readable storage medium having stored therein information processing program, information processing method, and information processing system
JP5718992B2 (ja) 携帯端末を用いた運転シミュレーション装置及び運転シミュレーションプログラム
US11209974B2 (en) Storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method for determining a correction offset for a dragged object
KR20180060403A (ko) 영상 기반의 드론 제어장치
US20200126443A1 (en) Method to enhance first-person-view experience
CN112308906B (zh) 视角校正方法、虚拟实境显示***与运算装置
US11061469B2 (en) Head mounted display system and rotation center correcting method thereof
US11845001B2 (en) Calibration system and method for handheld controller
WO2023021757A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20230062045A1 (en) Display control device, display control method, and recording medium
KR20160089982A (ko) 동작인식센서를 이용한 입력장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201015

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210714

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211110

R150 Certificate of patent or registration of utility model

Ref document number: 6976907

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150