JP2024035544A - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP2024035544A
JP2024035544A JP2022140070A JP2022140070A JP2024035544A JP 2024035544 A JP2024035544 A JP 2024035544A JP 2022140070 A JP2022140070 A JP 2022140070A JP 2022140070 A JP2022140070 A JP 2022140070A JP 2024035544 A JP2024035544 A JP 2024035544A
Authority
JP
Japan
Prior art keywords
coordinate system
controller
display
information
display device
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.)
Pending
Application number
JP2022140070A
Other languages
English (en)
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2022140070A priority Critical patent/JP2024035544A/ja
Priority to US18/459,085 priority patent/US20240077958A1/en
Publication of JP2024035544A publication Critical patent/JP2024035544A/ja
Pending legal-status Critical Current

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
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • 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
    • 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/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0331Finger worn pointing device

Abstract

【課題】コントローラを用いて、表示装置に表示されたオブジェクトをより適切に制御することが可能な技術を提供する。【解決手段】情報処理装置は、コントローラに対する2次元操作の操作情報を取得する取得手段と、前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、を有する。【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、プログラムに関する。
表示装置に仮想オブジェクトを描画可能であり、かつ、コントローラによって仮想オブジェクトを制御可能なxRシステムがある。このようなxRシステムは、ゲームまたはシミュレーションなどの用途において、仮想オブジェクトを移動させることがある。このとき、xRシステムは、コントローラに備わった装置を用いてユーザの操作を検出して、ユーザの操作に応じて仮想オブジェクトを制御する。
ユーザの操作をユーザの意図通りに仮想オブジェクトの制御に反映させるために、コントローラの向きを特定の向きに合わせてから、コントローラに操作を行う必要があることがある。しかし、コントローラの形状などによっては、ユーザがコントローラの向きを認識しにくい場合が考えられる。また、表示装置が頭部に装着されて、ユーザの視界が遮られた状態では、ユーザがコントローラの向きを認識することがより困難となる。
そこで、特許文献1には、外部に設置したマーカーをコントローラのカメラで検出することでコントローラの位置を特定し、その位置の情報とユーザの操作に基づき、仮想オブジェクトを移動させる技術が記載されている。
特開2007-80002号公報
しかし、特許文献1では、コントローラの位置を特定するために、コントローラのカメラによってマーカーを検出していなければならず、マーカーが存在する方向にコントローラを向けている必要がある。そのため、コントローラとマーカーが障害物で遮られた場合などでは、コントローラの位置を特定することができず、表示装置における仮想オブジェクトを適切に制御できないことがあった。
本発明は、コントローラを用いて、表示装置に表示されたオブジェクトをより適切に制御することが可能な技術を提供することを目的とする。
本発明の1つの態様は、
コントローラに対する2次元操作の操作情報を取得する取得手段と、
前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、
を有することを特徴とする情報処理装置である。
本発明の1つの態様は、
コントローラに対する2次元操作の操作情報を取得する取得手段と、
前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表
示されたオブジェクトを制御する制御手段と、
を有することを特徴とする情報処理装置である。
本発明の1つの態様は、
コントローラに対する2次元操作の操作情報を取得する取得ステップと、
前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
を有することを特徴とする情報処理方法である。
本発明の1つの態様は、
コントローラに対する2次元操作の操作情報を取得する取得ステップと、
前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
を有することを特徴とする情報処理方法である。
本発明によれば、コントローラを用いて、表示装置に表示されたオブジェクトをより適切に制御することが可能になる。
表示装置の構成図である。 コントローラの構成図である。 コントローラの外観図である。 操作座標系と表示座標系を説明する図である。 操作座標系と表示座標系を説明する図である。 コントローラの処理を示すフローチャートである。 表示装置の処理を示すフローチャートである。 操作情報を補正した場合の操作座標系と表示座標系を説明する図である。 補正角を説明する図である。 操作座標変化角を説明する図である。 表示座標変化角を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。 基本座標系例を説明する図である。
以下、本発明の実施形態について図面を参照して説明する。
図1は、表示装置100の構成例を示す。表示装置100は、例えば、ユーザの頭部に装着するヘッドマウントディスプレイ(HMD)である。表示装置100は、CPU101、GPU102、ROM103、RAM104、表示部105、通信部106、慣性計測装置107、地磁気センサ108、システムバス109を有する。
CPU101は、システムバス109に接続された各構成を制御する制御部である。CPU101は、RAM104をワークメモリとして用いて、ROM103に格納されたプログラムを実行する。このことによって、CPU101は、各構成を制御する。
GPU102は、仮想空間上に仮想オブジェクトを描画するグラフィックス処理装置である。ROM103に格納されたプログラムには、後述するコントローラ200の操作情報の補正処理を実現するプログラムが含まれる。
表示部105は、描画されたグラフィックスを表示する出力機器(液晶パネルまたは有機ELパネルなど)である。
通信部106は、有線または無線によって通信を行うことが可能である。通信部106は、コントローラ200の通信部205と通信して、データの送受信を行う。
慣性計測装置107は、表示装置100の姿勢および動きを検出するセンサである。地磁気センサ108は、表示装置100の方角(向き)を検出するセンサである。
なお、表示装置100は、表示部105を制御する情報処理装置(表示制御装置)と表示部105とから構成されていてもよい。この場合には、情報処理装置は、表示装置100の表示部105以外の構成(CPU101、慣性計測装置107および地磁気センサ108など)を有する。
図2は、コントローラ200の構成例を示す。コントローラ200は、例えば、図3に示すような、リング型の形状であり、かつ、ユーザの指に装着可能なコントローラである。コントローラ200は、CPU201、ROM202、RAM203、入力装置204、通信部205、慣性計測装置206、地磁気センサ207、システムバス208を有する。
CPU201は、システムバス208に接続された各構成を制御する制御部である。CPU201は、RAM203をワークメモリとして用いて、ROM202に格納されたプログラムを実行する。このことによって、CPU201は、各構成を制御する。
ROM202に格納されたプログラムは、後述するコントローラ200の操作情報や状態情報(姿勢、動きまたは方角の情報)を表示装置100に送信する処理を実現するプログラムを含む。
入力装置204は、ユーザの操作を検出する装置である。入力装置204は、例えば、図3に示すようなリング形状のコントローラ200の側面に備えられている。入力装置204は、実施形態1では、平面的な移動量(ユーザの2次元操作)を感知できるタッチパッドセンサ(オプティカルトラックパッド)である。しかし、入力装置204は、例えば、平面的な移動操作を受付可能な操作部材であれば、任意の操作部材(スティックまたはタッチパネルなど)であってよい。
通信部205は、有線または無線によって通信を行うことが可能である。通信部205は、表示装置100の通信部106と通信して、データの送受信を行う。
慣性計測装置206は、コントローラ200の姿勢および動きを検出するセンサである。地磁気センサ207は、コントローラ200の方角(向き)を検出するセンサである。
(操作座標系および表示座標系について)
図4および図5を参照して、コントローラ200の操作座標系Cと表示装置100の表示座標系Dについて説明する。コントローラ200の操作座標系Cとは、コントローラ200のタッチパッドセンサの2次元座標系であり、かつ、2次元操作の操作方向を定めるための座標系である。表示装置100の表示座標系Dとは、表示装置100(表示部105)における表示位置を定めるための2次元座標系である。
なお、以下では、コントローラ200の向きとは、図3に示すように、入力装置204のタッチパッドセンサの面と平行な方向の1つである向き210であるとする。表示装置100の向きとは、図4に示すように、表示装置100(表示部105)の前面方向(正面方向)の向き211であるとする。また、本実施形態では、向き210は、操作座標系CのY軸方向Cyに対応し、向き211は、表示座標系DのY軸方向Dyに対応するものとする。
図4および図5は、表示装置100に表示される画像が表す仮想空間と現実空間とを融合した複合空間を表現した図である。図4および図5を用いて、ユーザが表示装置100を頭部に装着し、かつ、コントローラ200を指に装着した状態で、表示装置100に表示(描画)されている仮想オブジェクトを移動させる例を説明する。
図4は、表示装置100およびコントローラ200が共にユーザの前面方向を向いている場合における複合空間を示している。複合空間(仮想空間)では、仮想オブジェクト300がユーザの目から適度な距離だけ離れた位置(空中)に存在する。
図4では、向き210と向き211とが一致しており、操作座標系Cの2軸方向(X軸方向およびY軸方向)と、表示座標系Dの2軸方向とが一致している。つまり、操作座標系CのX軸方向Cxと表示座標系DのX軸方向Dxとが一致しており、かつ、操作座標系CのY軸方向Cyと表示座標系DのY軸方向Dyとが一致している。
コントローラ200の入力装置204は、表示装置100に表示されている仮想オブジェクト300を移動させるためのユーザ操作400(操作座標系における2次元操作)を検出する。そして、コントローラ200は、ユーザが前方方向に指をスライドしたことに対応するユーザ操作400の情報(操作情報)を表示装置100に送信する。
表示装置100は、受信したユーザ操作400の操作情報に応じて、仮想オブジェクト300の移動ベクトル(移動量および移動方向)を示す移動情報401を算出する。例えば、表示装置100は、ユーザ操作400のX軸方向成分とY軸方向成分に定数を乗算する。そして、表示装置100は、定数が乗算されたX軸方向成分とY軸方向成分とを、表示座標系におけるX軸方向成分とY軸方向成分として扱うようなベクトルを示す移動情報401を算出する。その後、表示装置100は、移動情報401に従って、仮想オブジェクト300を移動目標位置301に移動させる。この場合には、上述のように、操作座標系Cと表示座標系Dでは2軸方向が一致しているため、実際にユーザがスライドする操作を行った方向に仮想オブジェクト300が移動する。
図5は、ユーザが無意識の内に手を強く握るなどによって、コントローラ200が表示装置100と異なる向きを向いている場合における複合空間を示している。
図5に示す複合空間(仮想空間)では、仮想オブジェクト302が、ユーザの目の前から適度な距離だけ離れた位置(空中)に存在する。このとき、向き210と向き211とが一致しておらず、コントローラ200の操作座標系Cの2軸方向(X軸方向とY軸方向)と表示装置100の表示座標系Dの2軸方向とが一致していない。
コントローラ200の入力装置204は、表示装置100に表示されている仮想オブジェクト300を移動させるための2次元操作であるユーザ操作400を検出する。すると、コントローラ200は、ユーザが前方方向に指をスライドしたことに対応するユーザ操作402の操作情報を表示装置100に送信する。表示装置100は、ユーザ操作402の操作情報に応じて、仮想オブジェクトの移動情報403を算出する。ここで、操作座標系Cの2軸方向と表示座標系Dの2軸方向とが一致していないため、ユーザの意図(仮想オブジェクト300を前方方向に移動させる意図)とは異なる移動を実行するような移動情報403が算出されてしまう。このため、ユーザが意図する移動目標位置304とは異なる移動目標位置303に仮想オブジェクト302が移動してしまう。
そこで、実施形態1では、表示装置100は、操作座標系Cと表示座標系Dとの対応関係に応じてユーザ操作402の操作情報を補正して、補正された操作情報に基づき移動情報404を算出する。そして、表示装置100は、移動情報404に従って、仮想オブジェクト300を適切な移動目標位置304に移動させる。
そこで、以下では、操作座標系Cと表示座標系Dとの対応関係に応じてユーザ操作の情報を補正する処理について説明する。また、操作座標系Cと表示座標系Dとの対応関係とは、操作座標系Cの向き(操作座標系Cの基準方向(Y軸方向など)の向き)と表示座標系Dの向き(表示座標系Dの基準方向(Y軸方向など)の向き)との差分によって示される関係である。
(コントローラの処理)
図6は、ユーザの意図に合致するような位置に仮想オブジェクトを移動させるためのコントローラ200の処理を示すフローチャートである。
ステップS600では、CPU201は、入力装置204によってユーザの2次元操作(例えば、スライド操作)をユーザ操作として検出したか否かを判定する。ユーザ操作が検出されたと判定された場合には、ステップS601に進む。ユーザ操作が検出されていないと判定された場合には、ステップS600の処理が繰り返される。
ステップS601では、CPU201は、操作座標系Cにおけるユーザ操作の操作情報(操作ベクトル;操作量および操作方向)を取得する。
ステップS602では、CPU201は、基準座標系Gにおけるコントローラ200の向きの情報(以下、「コントローラ方角情報」と呼ぶ)を取得する。基準座標系Gについては後述にて詳細に説明するが、例えば、基準座標系Gは、地磁気センサ108および地磁気センサ207の測定値に応じた座標系である。具体的には、基準座標系Gは、例えば、東西方向をX軸方向として、南北方向をY軸方向とするような座標系である。
ステップS603では、CPU201は、通信部205を制御して、コントローラ方角情報と操作情報とを表示装置100に送信する。
(表示装置の処理)
図7のフローチャートおよび、図8~図11を用いて、ユーザの意図に合致するような位置に仮想オブジェクトを移動させるための表示装置100の処理について説明する。
ステップS700では、CPU101は、ユーザの操作対象である仮想オブジェクトを表示部105に表示する。
ステップS701では、CPU101は、通信部106を介して、コントローラ200
からデータを受信したか否かを判定する。コントローラ200からデータが受信されたと判定された場合には、ステップS702に進む。コントローラ200からデータが受信されていないと判定された場合には、ステップS701の処理が繰り返される。
ステップS702では、CPU101は、ステップS701において受信したデータの中から、操作情報とコントローラ方角情報をコントローラ200から取得する。
ステップS703では、CPU101は、基準座標系Gにおける表示装置100の向きの情報(以下、「表示方角情報」と呼ぶ)を取得する。
ステップS704では、CPU101は、コントローラ方角情報と表示方角情報との差分を示す補正角θを算出(決定)する。補正角θは、操作座標系Cの向きと表示座標系Dの向きとの差分(つまり、操作座標系Cと表示座標系Dとの対応関係)を示す角度である。そして、CPU101は、補正角θに基づき操作情報を補正する。具体的には、CPU101は、操作情報が示すベクトルの方向を補正角θの分だけ調整することによって、操作情報を補正する。その後、CPU101は、補正された操作情報に基づき移動情報を決定する。
ステップS705では、CPU101は、移動情報に従って、表示部105に表示されている仮想オブジェクトを移動させる。なお、CPU101は、仮想オブジェクトを移動させる以外にも、移動情報に応じて、表示装置100の表示の他の制御(例えば、仮想オブジェクトの大きさを制御すること、または仮想空間上に新たな仮想オブジェクトを描くことなど)を行ってもよい。
図8は、図7のフローチャートに従って仮想オブジェクト305を移動した場合を説明する図である。仮想オブジェクト305がユーザの目の前から適切な距離だけ離れた位置(空中)に存在する。このとき、表示装置100およびコントローラ200は互いに異なる方向を向いている。つまり、操作座標系Cの2軸方向(向き)と表示座標系Dの2軸方向(向き)とが一致していない。
入力装置204は、表示装置100に表示されている仮想オブジェクト305を移動させるためのユーザ操作405を検出する。コントローラ200は、通信部205を介して、表示装置100にユーザ操作405の操作情報を送信する。表示装置100は、操作座標系Cと表示座標系Dとの対応関係を示す補正角θに基づき操作情報を補正して、補正した操作情報に基づき仮想オブジェクトの移動情報406を算出する。これにより、表示装置100は、移動情報406に基づき、仮想オブジェクト305を適切な移動目標位置306に移動させることができる。
(補正角の他の算出方法)
上記では、コントローラ方角情報と表示方角情報との差分を示す補正角θを算出する方法を説明したが、他の方法を用いることが可能であるため、以下ではその方法を説明する。
図9は、操作座標系Cの向きと表示座標系Dの向きとの差分(X軸方向同士の差分、または、Y軸方向同士の差分)を示す補正角θを表している。図10は、操作座標系Cの向きと基準座標系Gの向きの差分を示す操作座標変化角θ’を表したものである。図11は、表示座標系Dの向きと基準座標系Gの向きとの差分である表示座標変化角θ’’を表したものである。
このため、補正角θは、下記の式1のように、操作座標変化角θ’から表示座標変化角
θ’’を引いた角度である。なお、図9の例では、操作座標系Cの向きおよび表示座標系Dの向きが、基準座標系Gの向きから見て同一の方向に傾いているため、式1によって補正角θが算出可能である。一方で、操作座標系Cの向きおよび表示座標系Dの向きが、基準座標系Gの向きから見て異なる方向に傾いていれば、操作座標変化角θ’と表示座標変化角θ’’とを加算することにより補正角θが算出可能である。
θ=θ’-θ’’ ・・・(1)
そこで、図7のフローチャートのS704では、CPU101は、操作座標変化角θ’(基準座標系Gの向きと操作座標系Cの向きとの差分)と表示座標変化角θ’’(基準座標系Gの向きと表示座標系Dの向きとの差分)を求めてもよい。そして、CPU101は、操作座標変化角θ’と表示座標変化角θ’’とから、操作座標系Cの向きと表示座標系Dの向きとの差分を示す補正角θを求めてもよい。CPU101は、補正角θに応じてユーザ操作の操作情報を補正して、仮想オブジェクトの移動情報を決定する。
なお、CPU101は、表示装置100のカメラでコントローラ200を撮影した撮像画像に基づき、表示装置100の向きとコントローラ200の向きとの差分を示す補正角θを求めてもよい。
(基本座標系例1)
図12および図13を参照して、地磁気センサ207および地磁気センサ108による測定値に応じた基準座標系Gの例について説明する。例えば、CPU201は、図12に示すように、地磁気センサ207から得られる方角の値(測定値)に基づき、東方向(東西方向)を基準座標系GのX軸方向Gxとして、北方向(南北方向)を基準座標系GのY軸方向Gyとする。これによって、CPU201は、基準座標系Gにおけるコントローラ200の向きを示すコントローラ方角情報を算出できる。
同様に、CPU101は、図13に示すように、地磁気センサ108から得られる方角の値に基づき、東方向を基準座標系GのX軸方向Gxとして、北方向を基準座標系GのY軸方向Gyとする。これによって、CPU101は、基準座標系Gにおける表示装置100の向きを示す表示方角情報を算出できる。
(基本座標系例2)
図14および図15を参照して、慣性計測装置206および慣性計測装置107による測定値に応じた基準座標系Gの例について説明する。例えば、CPU101は、図14に示すように、表示部105の表示面500に、表示装置100とコントローラ200とを特定の位置関係にするためのUI(UI501とUI502)を表示する。これによって、CPU101は、UI501が示す位置へのコントローラ200の移動をユーザに促す。ユーザは、コントローラ200を移動操作407によって、コントローラ200の位置を動かす。UI501が示す位置は、例えば、ユーザがコントローラ200に対する操作をしやすいと想定されるような位置である。
CPU101は、コントローラ200がUI501の位置に達すると、表示装置100とコントローラ200とが特定の位置関係であると判定して、図15に示すような通知503をユーザに行う。通知503は、ユーザに対して、表示装置100とコントローラ200とが特定の位置関係に達したことを示す。CPU101は、表示装置100とコントローラ200とが特定の位置関係にある状態における、表示装置100の表示座標系Dを基準座標系G’として、コントローラ200の操作座標系Cを基準座標系G’’として設定する。設定された基準座標系G’の情報および、基準座標系G’’の情報は、RAM104に格納される。
その後、CPU101は、この状態(基準状態)からの表示装置100の累積の移動情報(慣性計測装置107を用いて測定可能な移動角度)を表示座標変化角θ’’として算出する。そして、CPU201は、この状態(基準状態)からのコントローラ200の累積の移動情報(慣性計測装置206を用いて測定可能な移動角度)を操作座標変化角θ’として算出する。その後、CPU101は、操作座標変化角θ’と表示座標変化角θ’’との差分から、操作座標系Cと表示座標系Dの対応関係を示す補正角θを算出する。
(基本座標系例3)
図16~図19を参照して、慣性計測装置206および慣性計測装置107による測定値に応じた基準座標系Gの例について説明する。図16は、コントローラ200への2次元操作に応じて、ユーザの意図する方向に仮想オブジェクトの移動させる例を示す。入力装置204は、表示装置100に表示されている仮想オブジェクト307を移動させるためのユーザ操作408を検出する。CPU101は、ユーザ操作408の操作情報に基づき、仮想オブジェクト307の移動情報409を算出し、仮想オブジェクト307を仮想オブジェクトの移動目標位置308へ移動させる。
図17は、図16に示す状態での補正角θを表す。図18は、操作座標系Cの向きと基準座標系Gの向きとの差分を示す操作座標変化角θ’を表す。このとき、例えば、タッチパッドセンサの面に平行であり、かつ、水平方向が操作座標系CのX軸方向Cxである。また、鉛直方向が操作座標系CのY軸方向Cyである。そして、CPU201は、慣性計測装置206の値を用いることで、水平方向(水平方向かつユーザの前面方向など)を基準座標系GのY軸方向Gyとして、鉛直方向を基準座標系GのZ軸方向Gzできる。
図19は、表示座標系Dの向きと基準座標系Gの向きとの差分を示す表示座標変化角θ’’を表す。このとき、CPU101は、慣性計測装置107の値を用いることで、水平方向を基準座標系GのY軸方向Gyとして、鉛直方向を基準座標系GのZ軸方向Gzとすることができる。このような場合でも、CPU101は、操作座標変化角θ’と表示座標変化角θ’’との差分から、操作座標系Cと表示座標系Dの対応関係を示す補正角θを算出して、補正角θに基づき操作情報を補正する。例えば、CPU101は、操作情報が示すベクトルを補正角θの分だけX軸(X軸方向Cx)を中心に回転させる。
本実施形態によれば、操作座標系Cと表示座標系Dとの対応関係に応じて、仮想オブジェクトの移動が制御される。このため、ユーザが意図した方向に(例えば、ユーザが実際に操作した方向と同じ方向)に仮想オブジェクトを移動させることができる。つまり、コントローラを用いて表示装置の表示をより適切に制御することができる。
なお、表示装置100は、補正角θに基づき操作情報を補正して、補正した操作情報に従って移動情報を算出していた。一方で、表示装置100は、補正が行われていない操作情報に従って移動情報を算出した後に、補正角θに基づき移動情報を補正してもよい。
また、上記において、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」は、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」と読み替えてもよい。逆に、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」は、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」と読み替えてもよい。このため、矛盾が生じない限り、「A以上」という表現は、「AまたはAよりも大きい(高い;長い;多い)」と置き換えてもよいし、「Aよりも大きい(高い;長い;多い)」と読み替えてよく、置き換えてもよい。一方で、「A以下」という表現は、「AまたはAよりも小さい(低い;短い;少ない)」と置き換えてもよいし、「Aよりも小さい(低い;短い;少ない)」と
置き換えても読み替えてもよい。そして、「Aよりも大きい(高い;長い;多い)」は、「A以上」と読み替えてもよく、「Aよりも小さい(低い;短い;少ない)」は「A以下」と読み替えてもよい。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
なお、上記の各実施形態(各変形例)の各機能部は、個別のハードウェアであってもよいし、そうでなくてもよい。2つ以上の機能部の機能が、共通のハードウェアによって実現されてもよい。1つの機能部の複数の機能のそれぞれが、個別のハードウェアによって実現されてもよい。1つの機能部の2つ以上の機能が、共通のハードウェアによって実現されてもよい。また、各機能部は、ASIC、FPGA、DSPなどのハードウェアによって実現されてもよいし、そうでなくてもよい。例えば、装置が、プロセッサと、制御プログラムが格納されたメモリ(記憶媒体)とを有していてもよい。そして、装置が有する少なくとも一部の機能部の機能が、プロセッサがメモリから制御プログラムを読み出して実行することにより実現されてもよい。
(その他の実施形態)
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記の実施形態の開示は、以下の構成、方法、およびプログラムを含む。
[構成1]
コントローラに対する2次元操作の操作情報を取得する取得手段と、
前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、
を有することを特徴とする情報処理装置。
[構成2]
前記制御手段は、前記操作座標系と前記表示座標系との対応関係に基づき前記操作情報を補正して、補正された前記操作情報に基づき前記オブジェクトを制御する、
ことを特徴とする構成1に記載の情報処理装置。
[構成3]
前記操作座標系と前記表示座標系との対応関係は、前記操作座標系の向きと前記表示座標系の向きとの差分により示される関係である、
ことを特徴とする構成1または2に記載の情報処理装置。
[構成4]
前記制御手段は、基準座標系における前記コントローラの向きと前記基準座標系における前記表示装置の向きとの差分から、前記操作座標系の向きと前記表示座標系の向きとの差分を決定する、
ことを特徴とする構成3に記載の情報処理装置。
[構成5]
前記制御手段は、基準座標系の向きと前記操作座標系の向きとの差分と、前記基準座標系の向きと前記表示座標系の向きとの差分とから、前記操作座標系の向きと前記表示座標系の向きとの差分を決定する、
ことを特徴とする構成3に記載の情報処理装置。
[構成6]
前記基準座標系は、地磁気センサの測定値に応じた座標系である、
ことを特徴とする構成4または5に記載の情報処理装置。
[構成7]
前記基準座標系は、慣性計測装置の測定値に応じた座標系である、
ことを特徴とする構成4または5に記載の情報処理装置。
[構成8]
コントローラに対する2次元操作の操作情報を取得する取得手段と、
前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、
を有することを特徴とする情報処理装置。
[構成9]
前記制御手段は、前記オブジェクトを移動させることによって、前記オブジェクトを制御する、
ことを特徴とする構成1から8のいずれか1項に記載の情報処理装置。
[方法1]
コントローラに対する2次元操作の操作情報を取得する取得ステップと、
前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
を有することを特徴とする情報処理方法。
[方法2]
コントローラに対する2次元操作の操作情報を取得する取得ステップと、
前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
を有することを特徴とする情報処理方法。
[プログラム]
コンピュータを、構成1から9のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
100:表示装置、200:コントローラ、
101:CPU、105:表示部

Claims (12)

  1. コントローラに対する2次元操作の操作情報を取得する取得手段と、
    前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記制御手段は、前記操作座標系と前記表示座標系との対応関係に基づき前記操作情報を補正して、補正された前記操作情報に基づき前記オブジェクトを制御する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記操作座標系と前記表示座標系との対応関係は、前記操作座標系の向きと前記表示座標系の向きとの差分により示される関係である、
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記制御手段は、基準座標系における前記コントローラの向きと前記基準座標系における前記表示装置の向きとの差分から、前記操作座標系の向きと前記表示座標系の向きとの差分を決定する、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記制御手段は、基準座標系の向きと前記操作座標系の向きとの差分と、前記基準座標系の向きと前記表示座標系の向きとの差分とから、前記操作座標系の向きと前記表示座標系の向きとの差分を決定する、
    ことを特徴とする請求項3に記載の情報処理装置。
  6. 前記基準座標系は、地磁気センサの測定値に応じた座標系である、
    ことを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記基準座標系は、慣性計測装置の測定値に応じた座標系である、
    ことを特徴とする請求項4または5に記載の情報処理装置。
  8. コントローラに対する2次元操作の操作情報を取得する取得手段と、
    前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御手段と、
    を有することを特徴とする情報処理装置。
  9. 前記制御手段は、前記オブジェクトを移動させることによって、前記オブジェクトを制御する、
    ことを特徴とする請求項1または8に記載の情報処理装置。
  10. コントローラに対する2次元操作の操作情報を取得する取得ステップと、
    前記コントローラに対する前記2次元操作の操作方向を定める操作座標系と表示装置の表示位置を定める表示座標系との対応関係と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
    を有することを特徴とする情報処理方法。
  11. コントローラに対する2次元操作の操作情報を取得する取得ステップと、
    前記コントローラの基準状態からの前記コントローラの移動情報と表示装置の基準状態
    からの前記表示装置の移動情報との差分と、前記操作情報とに基づき、前記表示装置に表示されたオブジェクトを制御する制御ステップと、
    を有することを特徴とする情報処理方法。
  12. コンピュータを、請求項1または8に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2022140070A 2022-09-02 2022-09-02 情報処理装置、情報処理方法、プログラム Pending JP2024035544A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022140070A JP2024035544A (ja) 2022-09-02 2022-09-02 情報処理装置、情報処理方法、プログラム
US18/459,085 US20240077958A1 (en) 2022-09-02 2023-08-31 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022140070A JP2024035544A (ja) 2022-09-02 2022-09-02 情報処理装置、情報処理方法、プログラム

Publications (1)

Publication Number Publication Date
JP2024035544A true JP2024035544A (ja) 2024-03-14

Family

ID=90060531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022140070A Pending JP2024035544A (ja) 2022-09-02 2022-09-02 情報処理装置、情報処理方法、プログラム

Country Status (2)

Country Link
US (1) US20240077958A1 (ja)
JP (1) JP2024035544A (ja)

Also Published As

Publication number Publication date
US20240077958A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
US10269139B2 (en) Computer program, head-mounted display device, and calibration method
CN108351690B (zh) 信息处理装置、信息处理系统和信息处理方法
US10353482B2 (en) Systems and methods for tracking motion and gesture of heads and eyes
JP5981591B1 (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
US9250799B2 (en) Control method for information input device, information input device, program therefor, and information storage medium therefor
US11068056B2 (en) Wearable eye tracking system with slippage detection and correction
JP6611501B2 (ja) 情報処理装置、仮想オブジェクトの操作方法、コンピュータプログラム、及び記憶媒体
TW201911133A (zh) 用於多個自由度之控制器追蹤
US20130265217A1 (en) Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus
EP2932358A1 (en) Direct interaction system for mixed reality environments
US11960635B2 (en) Virtual object display device and virtual object display method
JP6549066B2 (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
US11886629B2 (en) Head-mounted information processing apparatus and its controlling method
JP2024035544A (ja) 情報処理装置、情報処理方法、プログラム
JP2017134775A (ja) 画像処理装置、画像処理方法及びプログラム
US11960660B2 (en) Terminal device, virtual object manipulation method, and virtual object manipulation program
KR20180060403A (ko) 영상 기반의 드론 제어장치
JP6975001B2 (ja) 傾き測定装置及び傾き測定方法
US10936147B2 (en) Tablet computing device with display dock
JP2021051000A (ja) 角速度検出装置、画像表示装置、角速度検出方法、及びプログラム
US20200264700A1 (en) Systems and methods for calibrating an eye tracking system
US11899834B2 (en) Information processing device and method
WO2021177132A1 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10885319B2 (en) Posture control system
CN115066668A (zh) 显示控制装置、显示控制方法和记录介质