[go: up one dir, main page]

JP2018037034A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2018037034A
JP2018037034A JP2016172237A JP2016172237A JP2018037034A JP 2018037034 A JP2018037034 A JP 2018037034A JP 2016172237 A JP2016172237 A JP 2016172237A JP 2016172237 A JP2016172237 A JP 2016172237A JP 2018037034 A JP2018037034 A JP 2018037034A
Authority
JP
Japan
Prior art keywords
controller
head
information processing
sensor
motion sensor
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
JP2016172237A
Other languages
English (en)
Inventor
健太 羽柴
Kenta Hashiba
健太 羽柴
貴信 海上
Takanobu Umigami
貴信 海上
加藤 國彦
Kunihiko Kato
國彦 加藤
栄一 須川
Eiichi Sugawa
栄一 須川
上島 拓
Hiroshi Uejima
拓 上島
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.)
Tomy Co Ltd
Original Assignee
Tomy 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 Tomy Co Ltd filed Critical Tomy Co Ltd
Priority to JP2016172237A priority Critical patent/JP2018037034A/ja
Publication of JP2018037034A publication Critical patent/JP2018037034A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

【課題】コントローラの姿勢を介して指し示したつもりの照準方向とコントローラのモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させ、照準の狂いによる操作者の違和感を解消すること。【解決手段】空間ポインティング処理には、第1のモーションセンサを介して推定されるコントローラの指し示す方向の基準点と第2のモーションセンサを介して推定される頭部装着具の指し示す方向の基準点とが整合するように両者の関係を校正する校正処理が含まれている。【選択図】図13

Description

この発明は、モーションセンサの組み込まれたコントローラとモーションセンサ及びディスプレイの組み込まれた頭部装着具とを備えて、仮想空間におけるヘッドトラッキング表示及び空間ポインティングを可能とした情報処理システムに関する。
本出願人は、先に、少なくとも3軸地磁気センサを含む第1のモーションセンサが組み込まれたコントローラと、少なくとも3軸地磁気センサを含む第2のモーションセンサ及びディスプレイが組み込まれた頭部装着具と、第1及び第2のモーションセンサのそれぞれから得られるコントローラ及び頭部装着具の姿勢情報をローカル座標からワールド座標へと変換すると共に、ワールド座標上の各姿勢情報に基づいて、仮想空間におけるヘッドトラッキング表示処理及び空間ポインティング処理を実行する情報処理部とを備えた新規な情報処理システムを提案している(特許文献1参照)。
特許第5944600号
上述の情報処理システムによれば、モーションセンサを介して検知されるコントローラや頭部装着具の姿勢は、ローカル座標値からワールド座標値へと変換されたのち、その指し示す方向の判別に利用されるため、その時々の姿勢変化分が現在姿勢に正しく反映されている限り、コントローラの姿勢により指し示したつもりの照準方向とモーションセンサを介して検知される仮想空間上の照準方向との間には、原理的に、大きな感覚的な誤差は生じない筈である。
しかしながら、コントローラや頭部装着具に組み込まれるモーションセンサを構成する3軸地磁気センサには、製品毎に検知特性のバラツキが少なからず存在するほか、周囲の温度等の環境条件によっても検知特性は少なからず変動することから、この種の情報処理システムにあっては、上述した3軸地磁気センサの検知特性のバラツキや変動に起因して、コントローラで指し示したつもりの照準方向とモーションセンサを介して指し示される照準方向との間には、少なからず感覚的な誤差を生ずることが認められた。
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、ローカル座標からワールド座標へと変換された、コントローラ及び頭部装着具の姿勢を用いて、ヘッドトラッキング表示及び空間ポインティングを可能とする情報処理システムにおいて、コントローラの姿勢を介して指し示したつもりの照準方向とコントローラのモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させ、照準の狂いによる操作者の違和感を解消することにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解される筈である。
上述の技術的課題は、以下の構成を有する情報処理システム、及びコンピュータプログラムにより、解決できるものと考えられる。
すなわち、本発明の情報処理システムは、少なくとも3軸地磁気センサを含む第1のモーションセンサが組み込まれたコントローラと、少なくとも3軸地磁気センサを含む第2のモーションセンサ及びディスプレイが組み込まれた頭部装着具と、前記第1及び第2のモーションセンサのそれぞれから得られる前記コントローラ及び頭部装着具の姿勢情報をローカル座標からワールド座標へと変換すると共に、ワールド座標上の各姿勢情報に基づいて、仮想空間におけるヘッドトラッキング表示処理及び空間ポインティング処理を実行する情報処理部とを備え、前記空間ポインティング処理には、前記第1のモーションセンサを介して推定されるコントローラの指し示す方向の基準点と前記第2のモーションセンサを介して推定される頭部装着具の指し示す方向の基準点とが整合するように両者の関係を校正する校正処理が含まれている。
このような構成によれば、前記空間ポインティング処理に含まれる校正処理の作用により、コントローラ及び頭部装着具の各推定方向の基準点が整合することとなるため、コントローラの姿勢を介して指し示したつもりの照準方向とコントローラのモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができる。
好ましい実施の態様においては、前記校正処理は、所定の操作が行われたとき、前記第1のモーションセンサを介して推定されるコントローラの指し示す方向と前記第2のモーションセンサを介して推定される頭部装着具の指し示す方向との差分を補正値として取得する補正値取得処理と、前記コントローラ及び/又は前記頭部装着具の指し示す方向に対して、以後、前記補正値を加算又は減算することにより、それらの指し示す方向を補正する補正処理とを含む、ものであってもよい。
このような構成によれば、仮想空間上の照準方向とモーションセンサを介して指定される仮想空間上の照準方向との間に誤差が生じたと認められるときには、コントローラにおいて所定の操作を行うことで、その都度、補正値取得処理及び補正処理を実行させることにより、2つのモーションセンサの方向基準を整合させ、照準の狂いによる操作者の違和感を解消することができる。
このとき、前記補正値取得処理に先立って、前記コントローラの姿勢を介して照準を合わせるべき標的方向を示すための操作案内をユーザに対して行ってもよい。
このような構成によれば、補正値取得処理の起動に必要なコントローラの操作方法を案内することにより、ユーザの利便性を向上することができる。
このとき、前記操作案内が、前記ディスプレイの画面上に前記標的方向を示す標的マークを描くことにより、前記コントローラの姿勢を介して前記標的マークを指し示すように仕向けるものであってもよい。
このような構成によれば、補正値取得処理を起動させるためには、コントローラの姿勢を介して標的マークを指し示せばよいことをユーザに対して確実に教示することができる。
このとき、前記標的方向が前記ディスプレイの画面中心を指し示す方向であれば、敢えて、ディスプレイの画面上に標的方向を示す標的マークを描かずとも、ユーザに対して標的方向を容易に教示することができる。
好ましい実施の態様においては、前記校正処理は、前記情報処理システムにおいて、任意のアプリケーションプログラムを実行するに際して、その開始時点で実行可能とされていてもよい。
このような構成によれば、3軸地磁気センサの製品毎の検知特性バラツキに起因して当初から存在する照準の狂いに対応することができる。
好ましい実施の態様においては、前記校正処理は、前記情報処理システムにおいて、任意のアプリケーションプログラムを実行するに際して、その開始後の任意の時点で所定のトリガー操作に応答して実行可能とされていてもよい。
このような構成によれば、3軸地磁気センサの検知特性における経時的変化に起因する照準の狂いに対応することができる。
好ましい実施の態様においては、前記情報処理部が、前記頭部装着具に組み込まれ、かつ前記コントローラと通信可能なスマートフォンであり、かつ前記第2のモーションセンサ及び前記ディスプレイが、前記スマートフォンに組み込まれたモーションセンサ及びディスプレイであってもよい。
このような構成によれば、市販のスマートフォンを所持するユーザであれば、頭部装着具とコントローラとに加えて、スマートフォン上で動作する所定のアプリケーションプログラムを購入するだけで済むから、この種の情報処理システムを低コストに実現することができる。
別の一面から見た本発明は、スマートフォンを、上述の情報処理システムに組み込まれたスマートフォンとして機能させるためのコンピュータプログラムとして把握することもできる。
このようなコンピュータプログラムによれば、コントローラと頭部装着具とスマートフォンとを用意するだけで、本発明の情報処理システムを実現することができる。
本発明によれば、前記空間ポインティング処理に含まれる校正処理の作用により、コントローラ及び頭部装着具の各推定方向の基準点が整合することとなるため、コントローラの姿勢を介して指し示したつもりの照準方向とコントローラのモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができる。
図1は、システムの使用状態を示す説明図である。 図2は、頭部装着具の外観を示す斜視図である。 図3は、頭部装着具へのスマートフォン組み込み手順の説明図である。 図4は、頭部装着具の使用状態を示す説明図である。 図5は、スマートフォンの電気的ハードウェア構成を示すブロック図である。 図6は、コントローラの外観を示す斜視図である。 図7は、コントローラの電気的ハードウェア構成を示すブロック図である。 図8は、全天球パノラマ画像の概念図である。 図9は、ローカル座標空間とワールド座標空間との関係を示す概念図である。 図10は、アプリケーションプログラム開始時の初期画面の説明図である。 図11は、校正時の操作方法を示す説明図である。 図12は、アプリケーションプログラム実行のための準備作業を示すフローチャートである。 図13は、処理の全体を概略的に示すゼネラルフローチャートである。 図14は、各処理の詳細を示すフローチャート(その1)である。 図15は、各処理の詳細を示すフローチャート(その2)である。 図16は、開始時校正処理の詳細フローチャートである。 図17は、開始後校正処理の詳細フローチャートである。 図18は、水平180度パノラマ画像の概念図である。 図19は、半天球パノラマ画像の概念図である。 図20は、情報処理部を独立に有するシステムの使用状態を示す説明図である。
以下に、本発明に係る情報処理システムの好適な実施の一形態を添付図面にしたがって詳細に説明する。
<情報処理システムの一般的な構成について>
先に説明したように、本出願に係る情報処理システムは、少なくとも3軸地磁気センサを含む第1のモーションセンサが組み込まれたコントローラと、少なくとも3軸地磁気センサを含む第2のモーションセンサ及びディスプレイが組み込まれた頭部装着具と、前記第1及び第2のモーションセンサのそれぞれから得られる前記コントローラ及び頭部装着具の姿勢情報をローカル座標からワールド座標へと変換すると共に、ワールド座標上の各姿勢情報に基づいて、仮想空間におけるヘッドトラッキング表示処理及び空間ポインティング処理を実行する情報処理部とを備え、前記空間ポインティング処理には、前記第1のモーションセンサを介して推定されるコントローラの指し示す方向の基準点と前記第2のモーションセンサを介して推定される頭部装着具の指し示す方向の基準点とが整合するように両者の関係を校正する校正処理が含まれているが含まれている。
コントローラとしては、手持ち型(ハンドヘルド型)又は身体装着型(ウェアラブル型)として構成され、その外観形状としては、その姿勢により任意の方向を指し示す、狙いを定める、又は照準を合わせるのに便利な形状であることが好ましい。
コントローラに組み込まれる第1のモーションセンサとしては、3軸地磁気センサと3軸加速度センサとを組み合わせたもの、又は3軸地磁気センサと3軸加速度センサと3軸角速度センサとを組み合わせたものが好ましい。それらのセンサは、コントローラ本体に対して一定の姿勢で取り付けられる。
なお、コントローラには、上述の第1のモーションセンサの他に、1又は2以上の操作子、並びに、それらの操作子の操作により生成される信号を処理したり、外部との通信を行うための情報処理部が設けられても良い。
頭部装着具としては、ヘッドギア型、メガネ型、帽子型、ヘアバンド型等々、要するに、手を離した状態でも頭部に保持されて、ユーザの眼前に対向するようにしてディスプレイを支えることができるものであれば、差し支えない。
頭部装着具に組み込まれる第2のモーションセンサとしても、3軸地磁気センサと3軸加速度センサとを組み合わせたもの、又は3軸地磁気センサと3軸加速度センサと3軸角速度センサとを組み合わせたものが好ましい。それらのセンサは、頭部装着具に対して一定の姿勢で取り付けられる。後述するように、それらのセンサは、所謂スマートフォン等と称される携帯型高機能情報端末に組み込まれたもので代用することもできる。
頭部装着具に組み込まれる(取り付けられるの意味も含まれる)ディスプレイとしては、ディスプレイ装置単独のものでもよいし、所謂スマートフォン等と称される携帯型高機能情報端末の表示画面で代用するものであってもよい。なお、ディスプレイのデバイスとしてはカラー液晶デバイスやカラー有機ELデバイス等で構成すればよい。
情報処理部とは、そのような機能を有する手段を総称するもので、具体的には、コントローラや頭部装着具とは別に単独で設けられる1個の情報処理部(パーソナルコンピュータ、ゲーム用コンピュータ等々)70で構成することもできるほか(図20参照)、後述するように、頭部装着具にスマートフォンが組み込まれる場合には、当該スマートフォンの情報処理部(制御部501)にて代用することもできる(図5参照)。さらに、その機能を頭部に組み込まれるスマートフォンの情報処理部(CPU)とコントローラに組み込まれる情報処理部(CPU)とで分担するものであってもよい。
なお、3軸地磁気センサとは、当業者には、よく知られているように、磁気センサの一種であって、地磁気の向きを検知し,方位を直交3軸(X軸、Y軸、Z軸)の値で算出するセンサを言う。すなわち、このセンサは、前後方向と左右方向の第1、第2の磁気センサに加えて上下方向の地磁気を検出する第3の地磁気センサを持っている。このため、たとえば、操作子を持つ角度に電子コンパスを傾けた状態でも、何度傾けて持っているかがわかれば、その傾き分を差し引いて水平方向の地磁気を計算し、正しい方位を表示できる。3軸地磁気センサに組み込まれる地磁気センサICで利用されている磁気センサ素子には主に3種類が知られている。それらは、MR(magneto-resistive)素子,MI(magneto-impedance)素子,ホール素子である。MR素子は、例えば外部磁界の強度変化とともに抵抗値が変わるパーマロイ(NiFe)など金属軟磁性体のMR効果、MI素子は外部磁界が変動したときにインピーダンスが変わるアモルファス・ワイヤのMI効果を利用する。ワイヤにはパルス電流を流しておく。ホール素子では,半導体のホール効果によって生じた電位差を検出することで,外部磁界の変化を測定する。地磁気センサICには、一般にこうした磁気センサ素子のほか,駆動回路や増幅回路などを内蔵している。
3軸加速度センサとは、当業者にはよく知られているように、X軸・Y軸・Z軸の3方向の加速度を1つのデバイスで測定できるセンサであって、3次元の加速度が検出でき、重力(静的加速度)の計測にも対応できる。3軸加速度センサの多くは、半導体製造技術やレーザ加工技術などの微細加工技術を応用し、シリコン基板上に微小な機械構造を集積化する「微小電気機械素子創製技術(Micro Electro Mechanical Systems、MEMS、メムス、マイクロマシン)」により小型化されたMEMSセンサである。MEMS・3軸加速度センサは、±数gの範囲の測定が可能で、0Hz〜数百Hzまでの加速度変動に追従できる「low g」タイプとよばれる。この場合の0Hzというのは、センサに重力加速度のみが加わっている状態であり、このときのX軸・Y軸・Z軸の加速ベクトルの合計から地面に対しての向きを測定することができる。MEMS・3軸加速度センサは、大きく分けて半導体ピエゾ抵抗型3軸加速度センサ、静電容量型3軸加速度センサ、熱検知型(ガス温度分布型)3軸加速度センサの3種類があり、それぞれ加速度の測定方法が異なる。半導体ピエゾ抵抗型3軸加速度センサは、加速度が錘に作用したときに発生するダイアフラムの歪みを検出して加速度を測定する。静電容量型3軸加速度センサは加速度の測定に静電容量の変化を、熱検知型(ガス温度分布型)3軸加速度センサは、ヒータで熱されたガスの移動を利用して加速度を測定する。
3軸角速度センサとは、当業者には、よく知られているように、回転角速度の測定を直交3軸(X軸,Y軸,Z軸)で実現する慣性センサの一種であって、ジャイロセンサとも称される。角速度センサは加速度センサでは反応しない回転の動きを測定する。ジャイロセンサは、回転を検知する方式により分類することができる。現在、最も一般的に民生機器に搭載されているのは、ICタイプのMEMS(Micro Electro Mechanical System)技術を使った振動式ジャイロセンサである。MEMS技術を利用した慣性センサはその名前が示す通り、機械的な動きをする素子と、その信号を処理する電子回路を組み合わせた技術でセンサを構成し、動きを検知する。振動式ジャイロセンサの中には、シリコンを使う静電容量方式と、水晶や他の圧電材料を使うピエゾ方式の種類がある。振動式ジャイロセンサ以外の種別としては、地磁気式、光学式、機械式などがある。3軸は、一般に上下、左右、前後の3つの軸として定義され、上下軸は「ヨー軸」、左右軸は「ピッチ(ピッチング)軸」、前後軸は「ロール軸」と呼ばれることが多い。振動式のジャイロセンサは全てコリオリの力(転向力)を利用して回転を検知する。
<情報処理システムの具体的な一例について>
[システムの全体構成]
本発明に係る情報処理システムのより具体的な一例の使用状態を示す説明図が、図1に示されている。同図に示されるように、この情報処理システム1は、ユーザ40の手に把持される手持ち型のコントローラ10と、ユーザ40の頭部41に装着されるヘッドギア型の頭部装着具20と、そのディスプレイ画面51がユーザ40の眼前に対向するようにして頭部装着具20の内部に組み込まれるスマートフォン50(図3参照)とから構成されている。なお、図において、符号21は頭部装着具20をユーザの頭部に装着するための頭周ベルトである。
[頭部装着具の構成]
頭部装着具の外観を示す斜視図が図2に、頭部装着具へのスマートフォン組込手順の説明図が図3に、頭部装着具の使用状態を示す説明図が図4にそれぞれ示されている。それらの図に示されるように、頭部装着具20は、前面に開口24を有しかつ後面はユーザ40の目43にあてがわれる本体23を有する。本体23は、ユーザ40の頭部周囲にあてがわれる頭周ベルト21と頭頂部にあてがわれる頭頂ベルト22とを有する。前面開口24には、外側へ開くようにした蓋板25が開閉自在にヒンジ結合されている。蓋板25の内面側の4つの辺縁には、表示画面51を内側に向けた状態でスマートフォン50を保持するための適当な保持具26が設けられている。さらに、蓋板25の一辺縁には雌型留め具27aが、開口24の対応する一辺縁には雄型留め具27bがそれぞれ設けられ、それらの留め具27a,27bを介して、蓋板25は開口24を閉じた状態に保持可能とされている。
頭部装着具20へのスマートフォン50の組み込みにあたっては、先ず、頭部装着具20の前面蓋板25を開いた状態において、必要なアプリケーションプログラムがインストールされたスマートフォン50を用意する(図3(a)参照)。次いで、蓋板25の内面側に、スマートフォン50を4つの保持具26を介して保持させる(図3(b)参照)。しかるのち、蓋板25を閉じれば、頭部装着具20へのスマートフォン50の組込が完成する(図1参照)。
ユーザ40が、スマートフォン50の組み込まれた頭部装着具20を頭部41に装着すると、図4に示されるように、ユーザ40の眼前には、仕切り板28に保持された光学系29を介して、スマートフォン50の表示画面51が対面する。そのため、スマートフォン50のディスプレイの表示画面51は、いわゆるヘッドマウントディスプレイ(HMD)として機能する。
[スマートフォンの構成]
スマートフォンは、よく知られているように、一方の面の中央部にディスプレイ、その上下に操作ボタン、スピーカ、インカメラを有し、他方の面にアウトカメラを有している。後に、図5を参照して詳細に説明するように、スマートフォンには、モーションセンサを構成する3軸加速度センサ、3軸角速度センサ、及び3軸地磁気センサがそれぞれ組み込まれている。そのため、それらのセンサによって、スマートフォン10の位置、姿勢、及び/又は、それらの動きも含めた変化を自在に検知可能とされている。
スマートフォンの電気的ハードウェア構成の一例を示すブロック図が、図5に示されている。同図に示されるように、スマートフォン50の電気回路は、制御部501、記憶部502、ディスプレイ503、入力操作部(タッチパネル)504、入力操作部(ボタン)505、3軸加速度センサ506、3軸角速度センサ507、3軸地磁気センサ508、GPSユニット509、照度センサ510、タイマ511、バッテリ512、振動部513、通信ユニット514、音声出力部515、音声入力部516、スピーカ部517、カメラユニット518、及びコネクタ519を含んで構成される。
制御部501は、スマートフォンの各種動作等を制御するプログラムを実行するCPU(SoC(System-on-chip)、MCU(Micro_Control_Unit)、又はFPGA(Field-Programable_Gate_Array)などを含む)を備える。
記憶部502は、ROM,RAM、及び/又は、ストレージ等から構成され、スマートフォン50の一般的機能を実現するための各種のアプリケーションプログラムのほか、本発明に係るヘッドトラッキング表示処理や空間ポインティング処理を実現するための各種のアプリケーションプログラムやデータ(例えば、水平180度画像データ(図18参照)、水平360度画像データ、半天球画像データ(図19参照)、全天球画像データ(図8参照)、等々の各種のパノラマ画像データ)が保存される。
ディスプレイ503は、液晶ディスプレイ、有機ELディスプレイ、又は無機ELディスプレイ等の表示デバイスを備えており、文字、図形又は記号等が表示される。このディスプレイ503は、本発明に関連して、ヘッドマウントディスプレイ(HMD)としても機能する。すなわち、このディスプレイ503の表示画面に、各種のアプリケーションプログラムを構成するパノラマ画像(例えば、水平180度パノラマ画像(図18参照)、水平360度パノラマ画像、半球状パノラマ画像(図19参照)、全球上パノラマ画像(図8参照)、等々)が所謂ヘッドトラッキング表示手法を利用して表示される。このパノラマ画像は、好ましくは、公知の手法により3D処理が施される。3D表示を行う手法の一例としては、例えば、ディスプレイ503の横長表示画面を左右に2分割し、それぞれに、視差を有する2つの画像を表示する手法が採用される。
通信ユニット514は、外部機器とLAN又はインターネット等を介して無線通信を行うものである。無線通信規格としては例えば、2G、3G、4G、IEEE802.11、Bluetooth(登録商標)等の規格がある。特に、本発明と関連して、スマートフォン50は、コントローラ10との間でBluetooth(登録商標)を介して通信を行う。
スピーカ部517は、当該スマートフォンから音楽等を出力するものであり、このスピーカ部517は、本発明に関連して、ゲームサウンド等の各種のアプリケーション特有のサウンドを生成するためにも使用される。
3軸加速度センサ506は、スマートフォン筐体に働く加速度の方向及び大きさを検出するものであり、3軸角速度センサ507はスマートフォン筐体の角度及び角速度を検出するものであり、3軸地磁気センサ508は、地磁気の向きを検出するものである。これら3つのセンサ506、507、508によって、本発明における第2のモーションセンサが構成されている。そして、それら3つのセンサ506,507,508の各出力に基づいて、ユーザ40の頭部41の姿勢や向きが検出される。なお、各センサ506、507、508の詳細については、先に説明した通りである。
カメラユニット518は、例えば、スマートフォン50の筐体の表面又は裏面に設けられるインカメラ又はアウトカメラ等と接続され、静止画像又は動画像を撮像する際に用いられるものである。カメラユニット518は、後述するように、本発明と関連して、ディスプレイ503の背面側に設けられたアウトカメラを用いて現実世界の画像を撮像したり、或いは、ディスプレイ503と同一の面に設けられたインカメラにより視線画像を取得することにも利用可能である。
音声入力部(マイク等)516は、スマートフォン50を用いて通話等を行う際に音声の入力を行うものである。本発明と関連して、後述するように、音声入力部516を介して入力された音声を解析して、スマートフォンやアプリケーションプログラムの種々の操作を行ってもよい。
その他、振動部513は、各種アプリケーションプログラム等で用いられる振動部であり、例えば、電磁コイルを利用した振動機構その他各種の振動モータ等で構成することができる。コネクタ519は、他の機器との接続に用いられる端子である。当該端子は、USB、HDMI(登録商標)等の汎用的な端子であってもよい。音声出力部515は、当該スマートフォンを用いて通話等を行う際に音声出力を行うものである。入力操作部504は例えばタッチ方式の入力操作部であり、指、ペン又はスタイラスペン等の接触検知により、各種の入力を行うものである。GPS(Gloval Positioning System)ユニット509は、スマートフォンの位置を検出する。照度センサ510は、照度を検出する。なお、照度とは、光の強さ、明るさ、又は輝度を示す。タイマ511は時間の計測を行うものである。なお、当該タイマはCPU等と一体に設けられていても良い。バッテリ512は、充電により、スマートフォンの電源として機能する。
[コントローラの構成]
コントローラ10の外観を示す斜視図が図6に示されている。同図に示されるように、コントローラ10は、ボタン配置のためのほぼ水平な上面を有する本体後部11とボタン配置のためのほぼ垂直な前面を有する本体前部12とからなる側面視略L字状の外観形態を有する。本体後部11は、コントローラを把持する際の握り部としても機能するものである。
本体後部部11の上面には、それぞれモメンタリタイプの押しボタンスイッチの操作子として機能する3個の押しボタン(中心ボタン13、左側ボタン14、右側ボタン15)が配置されている。本体前部12の前面には、それぞれモメンタリタイプの押しボタンスイッチの操作子として機能する2個の押しボタン(上側ボタン16、下側ボタン17)が配置されている。なお、符号18は、本体後部部11の左側面に設けられた電源スイッチとして機能するスライド操作子である。
後に、図7を参照して説明するように、コントローラ10には、本発明に係る第1のモーションセンサを構成する3軸加速度センサ1003、3軸角速度センサ1004、及び3軸地磁気センサ1005がそれぞれ組み込まれている。そのため、それらのセンサによって、コントローラ10の位置、姿勢、向き、及び/又は、それらの動きも含めた変化を自在に検知可能とされている。これらのセンサ1003〜1005は、コントローラ本体10に対して一定の物理的関係となるようにして、組み込まれている。
コントローラ10の電気的ハードウェア構成を示すブロック図が、図7に示されている。同図に示されるように、コントローラ内部の電気回路は、マイクロプロセッサやASIC等で構成されて、コントローラ全体を統括制御する制御部1001と、Bluetooth(登録商標)等の短距離通信を実現するための通信ユニット1002と、第1のモーションセンサを構成する3つのセンサ(3軸加速度センサ1003、3軸角速度センサ1004、及び3軸磁気センサ1005)と、記憶部1007とを含んで構成されている。なお、図において、符号1006は、コントローラの電源となる充電可能なバッテリである。
上述した3個のボタン(中心ボタン13、左側ボタン14、右側ボタン15)及び2個のボタン(上側ボタン16、下側ボタン17)は、それらの操作に連動してオンオフする接点13a〜17aを有する。それらの接点のオンオフにより生成されるオンオフ信号は、各種の指令として制御部1001に読み込まれて各種の演算に供されるほか、必要により、通信ユニット1002を介して、頭部装着具20に組み込まれたスマートフォン50へと短距離通信を介して送出され、スマートフォン側の各種の演算に供される。また、第1のモーションセンサを構成する3つのセンサ(3軸加速度センサ1003、3軸角速度センサ1004、及び3軸磁気センサ1005)の各出力についても、そのまま直接に、あるいは適宜な加工が施されたのち、通信ユニット1002を介して、スマートフォン50側へと送信可能とされている。
[ヘッドトラッキング表示処理及び空間ポインティング処理について]
先に説明したように、本発明システムにあっては、少なくとも3軸地磁気センサ1005を含む第1のモーションセンサが組み込まれたコントローラ10と、少なくとも3軸地磁気センサ508を含む第2のモーションセンサ及びディスプレイ503が組み込まれた頭部装着具20と、第1及び第2のモーションセンサのそれぞれから得られるコントローラ10及び頭部装着具20の姿勢情報をローカル座標からワールド座標へと変換すると共に、ワールド座標上の各姿勢情報に基づいて、仮想空間におけるヘッドトラッキング表示処理及び空間ポインティング処理を実行する情報処理部とを備えている。以下に、この点について、図9の座標系概念図及び図12〜図15のフローチャートを参照しつつ概略的に説明する。
今仮に、1つのワールド座標空間(X,Y,Z)上に、スマートフォン(HMD)50とコントローラ(CTRL)10とが存在し、それらのデバイスにはそれぞれモーションセンサが内蔵されているものと想定する。ここで、モーションセンサは、いずれも、3軸加速度センサと3軸角速度センサと3軸地磁気センサとで構成されている。いずれのデバイスも、基本的な姿勢は、3軸加速度センサと3軸地磁気センサとを用いて計算により求めることができる(図13のステップ201、204参照)。
まず、各デバイスに組み込まれた3軸加速度センサと3軸角速度センサとを用いて、スマートフォン(HMD)50の姿勢とコントローラ(CTRL)10の姿勢とを計算し、それらを各デバイスの基本姿勢とする(図13のステップ201及び204、それらの詳細内容である図14のステップ301〜303及び304〜306参照)。
このとき、3軸加速度センサの値から求めた基本姿勢は、プログラム言語によれば、次のように記述される。なお、3軸加速度センサの値はローパスフィルタ及び/又はハイパスフィルタを通して、静止成分と動作成分に分割されており、ここで取得しているのは静止成分のことである。

sensor_pose = Quaternion(-_mAccel.Pose.z, _mAccel.Pose.y, -_mAccel.Pose.x,
_mAccel.Pose.w);
次に、上述の基本姿勢を3軸角速度センサの検知結果を用いて補正することにより、各デバイスを動かしたときの姿勢を求める(図13のステップ202、205、及びそれらの詳細内容である図14のステップ401〜402、403〜404参照)。なお、3軸角速度センサは使用せずとも、3軸加速度センサと3軸地磁気センサとがあれば、姿勢制御は可能である。

このとき、前回の姿勢に対して3軸角速度センサによる変化値補正は、次の通りとなる。

Quaternion rotation = this.transform.rotation;
Quaternion qx = Quaternion.AngleAxis(-gyro.RotZ, Vector3.right);
Quaternion qy = Quaternion.AngleAxis(-gyro.RotY, Vector3.up);
Quaternion qz = Quaternion.AngleAxis(gyro.RotX, -Vector3.forward);
q = (qz * qy * qx);
rotation = rotation * q;
Quaternion sensor_pose = clSingleton<clBLESensorManager>.Instance.SenserPose;
this.transform.rotation = Quaternion.Slerp(rotation, sensor_pose, 0.04f);
次に、基本姿勢をワールド座標へ変換するための一連の処理を行う(図13のステップ203、206、及びそれらの詳細内容である図15のステップ501〜506、507〜512参照)。上述の一連の処理とは、要するに、3軸加速度センサと3軸地磁気センサとを用いて、各デバイスの磁北方向を3軸地磁気センサから計算することを主眼とするものである。このとき、コントローラ10の磁北計算は、3軸地磁気センサの成分に傾き情報が含まれているので、加速度から求めた端末の傾きを地磁気センサ情報に補正して、水平な地磁気成分を抽出する。

3軸加速度センサの重力ベクトルは、次の通りである(図15のステップ501、507参照。

Vector3 b = Vector3(_mAccel.Gravity.x, _mAccel.Gravity.y, _mAccel.Gravity.z);
b = b.normalized;

垂直下方向のベクトルは次の通りである(図15のステップ502、508参照)。

Vector3 a = Vector3(0f, 1f, 0f);
a = a.normalized;
float value = a.x * b.x + a.y * b.y + a.z * b.z;
float gravity_angle = Mathf.Acos (value / a.magnitude * b.magnitude);
Vector3 axis = Vector3.Cross (a, b);
axis = axis.normalized;
Quaternion aq = Quaternion.AngleAxis (-gravity_angle * Mathf.Rad2Deg, axis);

次のようにして、地磁気の軸(mGeom.Z, _mGeom.X, _mGeom.Y)を(0, 1, 0)が上になるように回転する(図15のステップ503、509参照)。

Vector3 geom_v = new Vector3(-_mGeom.Z, _mGeom.Y, -_mGeom.X);
geom_v = geom_v.normalized;

次のようにして、加速度の傾きを地磁気の軸と合わせる(図15のステップ504、510参照)。

Quaternion gq = Quaternion(-aq.z, -aq.x, aq.y, aq.w);

次のようにして、地磁気のx, y, zを更に分解して水平方向の磁北を計算する(図15のステップ505、511参照)。

float m = Mathf.Sqrt(Mathf.Pow(geom.x, 2) + Mathf.Pow(geom.y, 2) +
Mathf.Pow(geom.z, 2));
geom_height = Mathf.Asin(geom.z/m);

地磁気の水平成分から求めた磁北は、次の通りとなる。

geom_height_head = Mathf.Acos(geom.x/(m * Mathf.Cos(geom_height)));

次のようにして、方向と基準姿勢から回転計算することにより、各デバイスの磁北方向と各デバイスの基本姿勢を合成する(図15のステップ506、512参照)。この時点で、ワールド空間上の、各オブジェクトの姿勢と向いている方向が分かる。

sensorRotation = q_head * pose;
続いて、図13に戻って、ワールド座標上に、図9の概念図に示されるように、スマートフォン(HMD)50とコントローラ(CTRL)10の情報を配置する(図13のステップ207参照)。
続いて、ワールド座標上に、スマートフォン(HMD)と同じ位置・傾き姿勢で、カメラのビューポイントを配置する(図13のステップ208参照)。ここで、カメラとは、仮想空間(例えば、図8に示される全球状パノラマ仮想空間)内の所定位置(例えば、中心位置)にあって、仮想空間を撮影する仮想的なカメラであって、その視野に映し出される画像が別途処理にて仮想空間から切り出されて、スマートフォンのディスプレイ(HMD)に表示されることにより、いわゆる仮想空間におけるヘッドトラッキング表示(背景表示)が可能となる。
続いて、コントローラ10の姿勢情報から現在の姿勢の前方向に一定距離のワールド座標を計算する(図13のステップ209参照)。
スマートフォン10のディスプレイ画面51に相当するカメラの視野上に上記で計算した終点が存在するとき(図13のステップ210YES)、ワールド座標をカメラのビューポート座標(範囲:0.0〜1.0)に変換する。この2D座標系の座標を、スマートフォン50のディスプレイの画面51上におけるコントローラの照準の2D座標として利用し、必要に応じて、照準マーク53を画面51上に表示することができる(図13のステップ211)。ビューポート座標(範囲:0.0〜1.0)の範囲外の場合は(図13のステップ210NO)、照準位置はスマートフォンのディスプレイの画面外とし、照準マーク53を画面上に表示することはない。以上により、いわゆる仮想空間上における空間ポインティングが可能となる。

Vector3 ray_s_pos = gameObject.transform.position;
gunRay.SetPosition (0, ray_s_pos);
Vector3 ray_e_pos = gameObject.transform.forward * kRayLength;

なお、終点位置を現在のカメラのビューポート座標(0.0〜1.0)に変換する処理は、次の通りである。

Vector2 v2 = ViewPortPos (ray_e_pos);

また、ビューポート座標を中心0の座標系に変換して補正する処理は、次の通りである。

Vector3 target_pos = _basePos + new Vector3((v2.x-0.5f), (v2.y-0.5f), 0.0f);

さらに、現在位置から計算された次の位置に向けて照準を移動する処理は、次の通りである。

this.transform.position = Vector3.MoveTowards(this.transform.position, target_pos, 0.5f);
なお、図13〜図16に示された処理は、仮想空間におけるヘッドトラッキング表示処理及び仮想空間における空間ポインティング処理に主眼が置かれているため、アプリケーションプログラム固有の動作(照準と標的との照合一致後のイベント内容等々)については省略されていることを注記する。
[照準方向校正処理について]
次に、本発明の要部であるところの照準方向校正処理について説明する。上述の情報処理システムによれば、第1のモーションセンサを介して検知されるコントローラ10の姿勢は、ローカル座標値からワールド座標値へと変換されたのち、その指し示す方向の判別に利用されるため、所定の更新処理(図13のステップ205、及びそれらの詳細内容である図14のステップ403〜404参照)により、その時々の姿勢変化分が現在姿勢に正しく反映されている限り、コントローラの姿勢により指し示したつもりの照準方向とモーションセンサを介して指し示される(推定される)照準方向との間には、原理的に、大きな感覚的な誤差は生じない筈である。
しかしながら、コントローラ10に組み込まれる第1のモーションセンサを構成する3軸地磁気センサ(図7の符号1005参照)には、製品毎に磁北検知特性のバラツキが少なからず存在するほか、周囲の温度等の環境条件によっても磁北検知特性は少なからず変動することから、この種の情報処理システムにあっても、上述した3軸地磁気センサの磁北検知特性のバラツキや変動に起因して、コントローラで指し示したつもりの照準方向とモーションセンサを介して検知される照準方向との間に少なからず感覚的な誤差を生ずることが認められ、これにより、所謂照準の狂いが生じて操作者は違和感を覚える。
そこで、本発明者等は、上述の製品毎の磁北検知特性のバラツキについては、アプリケーションプロクラムの実行開始時に所定の校正処理を実行可能とすることにより、また周囲温度等の環境条件による磁北検知特性の経時的な変化については、アプリケーションプログラムの実行中の任意の時点で所定の校正処理を実行可能とすることにより、これらの問題を解決している。
[アプリケーションプロクラム実行開始時の校正処理]
アプリケーションプロクラム実行のための準備作業を示すフローチャートが、図12に示されている。同図に示されるように、コントローラ10とスマートフォン50と頭部装着具20との三者で構成される情報処理システムにおいて、任意のアプリケーションプログラム(ヘッドトラッキング表示処理及び空間ポインティング処理を含む)を実行するためには、ユーザは、次のような準備作業を行う。
すなわち、ユーザは、先ず、スマートフォン50とコントローラ10との間の通信設定(例えば、Bluetooth(登録商標)通信の設定)を行う(ステップ101)。続いて、ユーザは、スマートフォン50上で、予めインストールされたアプリケーションプログラムの選択操作を行って、当該プログラムを起動させる(ステップ202)。続いて、ユーザは、図3に示される組込手順にしたがって、当該スマートフォン50を頭部装着具20に組み込む(ステップ103)。最後に、ユーザは、スマートフォン50が組み込まれた頭部装着具20を頭部に装着する。
以上の準備作業が終了すると、図13〜図15に示される一連の処理が実行状態となり、第1のモーションセンサを介して推定されるコントローラ10の指し示す方向の基準点と第2のモーションセンサを介して推定される頭部装着具20の指し示す方向の基準点とが整合するように両者の関係を校正する校正処理が実行される。この校正処理は、この例にあっては、開始時校正処理(ステップ212)として実行される。
開始時校正処理(ステップ212)の詳細フローチャートが、図16に示されている。同図において、処理が開始されると、先ず、校正済みフラグの状態がONであるか否かの判定が行われる(ステップ601)。この校正済みフラグは、図示しないイニシャライズ処理にて、予めOFFに設定されている。そのため、判定結果は否定され(ステップ601NO)、続いて、ユーザに校正のための操作方法を案内するための操作案内処理(ステップ602)が実行される。この操作案内処理(ステップ602)は、ユーザが所定のトリガー操作を実行するまで(ステップ603NO)、継続的に実行される。
操作案内は、スマートフォン50のディスプレイ画面51上に所定の案内表示(文字、記号、図形、文章、等々)を行ったり、スマートフォン50のスピーカ部517から所定の案内音声を流したり、さらには、案内表示と案内音声との双方を実行する等々、様々な方法にて実現することができる。
案内表示の内容としては、例えば、コントローラ10の姿勢を介して指し示されるべき仮想空間上の標的方向(例えば、画面中心に向かう方向)を示す標的マーク、コントローラ10のワールド座標上の姿勢情報に基づいて指し示される仮想空間上の照準方向を示す照準マーク、「コントローラを画面中心に向けた状態でトリガーボタンを押してください」と言った操作案内文、等々を挙げることができる。案内音声についても同様であって、「コントローラを画面中心に向けた状態でトリガーボタンを押してください」と言った操作案内音声等々を挙げることができる。
アプリケーションプログラム開始時の初期画面(すなわち、案内表示の一例)の説明図が、図10に示されている。この例にあっては、表示画面51上には、コントローラ10にて指し示されるべき標的方向を示す標的マーク52と、コントローラ10に組み込まれるモーションセンサ(3軸加速度センサ1003、3軸角速度センサ1004、3軸地磁気センサ1005)を介して検知されるコントローラ10の姿勢に基づいて決定されるコントローラ10の照準方向を示す照準マーク53とが表示されている。
この例にあっては、標的方向としては画面中心に向かう方向が選ばれており、そのため、標的マーク52は、表示画面51の上下左右の中心位置に表示されている。また、照準マーク53は、コントローラ10の姿勢乃至向きに応じて移動するものであって、図示例における照準マーク53は、コントローラ10が画面中心位置に照準を合わせたときの状態を示している。図から明らかなように、コントローラ10が画面中心位置にある標的マーク52に照準を合わせているとき、照準マーク53は画面中心位置よりもやや右上にずれた位置に表示されている。これは、コントローラが指し示したつもりの照準方向とコントローラ内のモーションセンサ(3軸地磁気センサを含む)を介して指し示される照準方向との間に誤差が存在することを意味している。この誤差は、コントローラ内10の3軸地磁気センサ1005やスマートフォン50内の3軸地磁気センサ508の製品毎の磁北検知特性のバラツキ等に起因するものと考えられる。
このような状態において、ユーザは、図11に示されるように、頭部装着具20を正面に向けかつコントローラ10を画面51の中心(すなわち、標的マーク52の位置)に向けた状態において、所定のトリガー操作を行う。
なお、頭部装着具20を頭部に装着したユーザは、表示画面51上の標的マーク52は視認できるものの、自分の手元にあるコントローラ10の姿勢や向きを視認することはできない。しかし、個人差はあるものの、一般に、人は、経験的に培った体感を通じて、無意識のうちに、手元のコントローラ10の姿勢を変えることで、コントローラ10を表示画面51上の標的マーク52に向ける(すなわち、狙いを定める)ことができる。
所定のトリガー操作としては、コントローラ10に備えられた5つのボタン13〜17のうちの1つ又は2つ以上の押下(同時押下)又は押下時間等々を適宜に組み合わせることにより任意に設定することができる。
トリガー操作が行われると、第1のモーションセンサ(1003〜1005)を介して検知されるワールド座標上の基本姿勢から導き出されるコントローラ10の指し示す方向(θ1,φ1)と第2のモーションセンサ(506〜508)を介して検知されるワールド座標上の基本姿勢から導き出される頭部装着具(スマートフォン)20の指し示す方向(θ2,φ2)との差分を補正値として取得する補正値取得処理(ステップ604)が実行される。具体的には、補正値取得処理(ステップ604)としては、例えば、照準位置SIGHT_pos(図13のステップ208参照)とカメラ視野Cam_view(図13のステップ210)の中心位置との差を補正値として記憶(取得)するようにしてもよい。なお、これは補正値の単なる一例に過ぎない。より一般的に言えば、補正値取得処理(ステップ604)としては、要するに、上記の標的方向と照準方向とをそれぞれ代表するために演算上使用される何らかの2つの情報に着目してその差を補正値として取得すればよいことは、当業者であれば容易に理解されるであろう。
トリガー操作が行われるのは、頭部装着具20が正面に向けられ、かつコントローラ10も正面(画面中心)に向けられた状態であるから、本来、コントローラ10の推定向き(θ1,φ1)と頭部装着具20の推定向き(θ2,φ2)とは一致する筈であるから、それらの差分こそが、いわゆる照準の狂いに相当するのである。
補正値取得処理(ステップ604)が終了すると、続いて、補正処理(ステップ605)が実行される。この補正処理(ステップ605)においては、コントローラ10及び/又は頭部装着具20のモーションセンサを介して指し示される推定方向に対して、以後、補正値を加算又は減算することにより、それらの指し示す方向を補正する。これにより、コントローラ10及び頭部装着具20の各推定方向の基準点が整合することとなるため、コントローラ10の姿勢を介して指し示したつもりの照準方向とコントローラ10のモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができるのである。
続いて、校正済みフラグの内容をONに設定したのち(ステップ606)、処理は終了する。以後の実行サイクルにおいては、ステップ601において校正済みフラグはONと判定されるため(ステップ601YES)、操作案内処理(ステップ602)、補正値取得処理(ステップ604)、及び補正処理(ステップ605)はスキップされるから、実行されることはない。なお、この補正処理(ステップ605)においては、上述の補正値を用いて、コントローラ10並びに頭部装着具(スマートフォン)20の基本姿勢も補正される。
以後、補正後の基本姿勢を用いて一連の処理(ステップ205〜211)が実行される結果、照準位置SIGHT_posの狂いは修正されるから、コントローラ10の姿勢を介して指し示される実空間上の標的方向とコントローラ10のワールド座標上の姿勢情報に基づいて指し示される仮想空間上の照準方向とを、3軸地磁気センサの検知特性の製品毎のバラツキに拘わらず、正確に一致させることが可能となるのである。
[アプリケーションプログラムの任意の時点で実行される照準方向校正処理]
先に説明したように、コントローラ10の照準に狂いが生ずる原因には、周囲温度等の環境条件に起因する3軸地磁気センサ1005の経時的変化の場合もあることが認められている。この場合、使用開示時には狂いはなくとも、使用中次第に狂いが生ずるから、上述の開始時校正処理だけでは不十分である。この問題は、下記の開始時校正処理により解決することができる。
開始後校正処理の詳細フローチャートが、図17に示されている。この処理は、予め決められたトリガー操作により任意の時点で開始される。トリガー操作としては、例えば、コントローラ10に備えられた5個のボタン13〜17の中で特定の2個のボタンを同時に押下しかつ長押しする操作が選ばれている。このようなボタン操作は、通常時には、極めて希である。
同図において、上述のトリガー操作により割り込みにより処理が開始されると、先ず、操作案内処理(ステップ701)が実行されて、図10に示される画面と同様な内容の画面が表示される。
この状態において、ユーザは、コントローラ10を標的マーク52に向けたまま、長押し状態を継続する。すると、タイマ起動処理(ステップ702)、ボタン押し継続判定処理(ステップ703)、及びタイムアップ判定処理(ステップ704)が実行される結果、予め想定された2個のボタンの同時長押しが行われた場合に限り(ステップ703YES、704YES)、補正値取得処理(ステップ705)が実行される。
なお、この補正値取得処理(ステップ705)の内容は、先に図16を参照しつつ説明した補正値取得処理(ステップ604)と同様であって、第1のモーションセンサ(1003〜1005)を介して検知されるワールド座標上の基本姿勢から導き出されるコントローラ10の指し示す方向(θ1,φ1)と第2のモーションセンサ(506〜508)を介して検知されるワールド座標上の基本姿勢から導き出される頭部装着具(スマートフォン)20の指し示す方向(θ2,φ2)との差分を補正値として取得する補正値取得処理(ステップ604)が実行される。具体的には、補正値取得処理(ステップ604)としては、例えば、照準位置SIGHT_pos(図13のステップ208参照)とカメラ視野Cam_view(図13のステップ210)の中心位置との差を補正値として記憶(取得)するようにしてもよい。なお、これは補正値の単なる一例に過ぎない。より一般的に言えば、補正値取得処理(ステップ604)としては、要するに、上記の標的方向と照準方向とをそれぞれ代表するために演算上使用される何らかの2つの情報に着目してその差を補正値として取得すればよいことは、当業者であれば容易に理解されるであろう。
これにより、コントローラ10及び頭部装着具20の各推定方向の基準点が整合することとなるため、コントローラ10の姿勢を介して指し示したつもりの照準方向とコントローラ10のモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができるのである。
補正値取得処理(ステップ705)が終了すると、以後、先ほどと同様にして、補正処理(ステップ706)が実行される。すなわち、この補正処理(ステップ605)においては、コントローラ10及び/又は頭部装着具20のモーションセンサを介して指し示される推定方向に対して、以後、補正値を加算又は減算することにより、それらの指し示す方向を補正する。これにより、コントローラ10及び頭部装着具20の各推定方向の基準点が整合することとなるため、コントローラ10の姿勢を介して指し示したつもりの照準方向とコントローラ10のモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができるのである。
上述の開始後校正処理によれば、情報処理システムの使用開始後、周囲温度等の環境条件によりコントローラ10の照準に狂いが生じたと認められる場合には、直ちに、所定のトリガー操作(例えば、2つのボタンの同時長押し操作)を行って、実空間上の照準方向と仮想空間上の照準方向とが一致するように照準校正を行うことができる。
なお、以上の操作案内処理(ステップ602、701)では、標的マーク52と照準マーク53との双方を表示する例を示したが、これらは必須のものではない。例えば、標的マーク52は表示するものの、照準マーク53の表示は省略することもできる。さらに、標的位置が画面の中心と決まっているのであれば、誰でも画面中心は容易に認識できるから、標的マーク52の表示ついても省略することができる。
本発明によれば、前記空間ポインティング処理に含まれる校正処理の作用により、コントローラ及び頭部装着具の各推定方向の基準点が整合することとなるため、コントローラの姿勢を介して指し示したつもりの照準方向とコントローラのモーションセンサを介して指し示される照準方向とを、3軸地磁気センサの検知特性のバラツキや変動に拘わらず感覚的に一致させて、照準の狂いによる操作者の違和感を解消することができる。
1 情報処理システム
10 コントローラ
11 本体後部
12 本体前部
13 中央ボタン
14 左側ボタン
15 右側ボタン
16 上側ボタン
17 下側ボタン
18 スライド操作子
20 頭部装着具
21 頭周ベルト
22 頭頂ベルト
23 本体
24 開口
25 蓋板
26 保持具
27a 雌型留め具
27b 雄型留め具
28 仕切り板
29 レンズ
40 人
41 頭部
43 目
44 手
50 スマートフォン
51 画面
52 標的マーク
53 照準マーク
501 制御部
502 記憶部
503 ディスプレイ
504 入力操作部(タッチパネル)
505 入力操作部(ボタン)
506 3軸加速度センサ
507 3軸角速度センサ
508 3軸地磁気センサ
509 GPS
510 照度センサ
511 タイマ
512 バッテリ
513 振動部
514 通信ユニット
515 音声出力部
516 音声入力部
517 スピーカ部
518 カメラユニット
519 コネクタ

Claims (9)

  1. 少なくとも3軸地磁気センサを含む第1のモーションセンサが組み込まれたコントローラと、
    少なくとも3軸地磁気センサを含む第2のモーションセンサ及びディスプレイが組み込まれた頭部装着具と、
    前記第1及び第2のモーションセンサのそれぞれから得られる前記コントローラ及び頭部装着具の姿勢情報をローカル座標からワールド座標へと変換すると共に、ワールド座標上の各姿勢情報に基づいて、仮想空間におけるヘッドトラッキング表示処理及び空間ポインティング処理を実行する情報処理部とを備え、
    前記空間ポインティング処理には、前記第1のモーションセンサを介して推定されるコントローラの指し示す方向の基準点と前記第2のモーションセンサを介して推定される頭部装着具の指し示す方向の基準点とが整合するように両者の関係を校正する校正処理が含まれている、情報処理システム。
  2. 前記校正処理は、
    所定の操作が行われたとき、前記第1のモーションセンサを介して推定されるコントローラの指し示す方向と前記第2のモーションセンサを介して推定される頭部装着具の指し示す方向との差分を補正値として取得する補正値取得処理と、
    前記コントローラ及び/又は前記頭部装着具の指し示す方向に対して、以後、前記補正値を加算又は減算することにより、それらの指し示す方向を補正する補正処理とを含む、請求項1に記載の情報処理システム。
  3. 前記補正値取得処理に先立って、前記コントローラの姿勢を介して照準を合わせるべき標的方向を示すための操作案内をユーザに対して行う、請求項2に記載の情報処理システム。
  4. 前記操作案内が、前記ディスプレイの画面上に前記標的方向を示す標的マークを描くことにより、前記コントローラの姿勢を介して前記標的マークを指し示すように仕向けるものである、請求項3に記載の情報処理システム。
  5. 前記標的方向が前記ディスプレイの画面中心を指し示す方向である、請求項2〜4に記載の情報処理システム。
  6. 前記校正処理は、前記情報処理システムにおいて、任意のアプリケーションプログラムを実行するに際して、その開始時点で実行可能とされている、請求項1に記載の情報処理システム。
  7. 前記校正処理は、前記情報処理システムにおいて、任意のアプリケーションプログラムを実行するに際して、その開始後の任意の時点で所定の操作に応答して実行可能とされている、請求項1に記載の情報処理システム。
  8. 前記情報処理部が、前記頭部装着具に組み込まれ、かつ前記コントローラと通信可能なスマートフォンであり、かつ
    前記第2のモーションセンサ及び前記ディスプレイが、前記スマートフォンに組み込まれたモーションセンサ及びディスプレイである、請求項1〜9のいずれか1つに記載の情報処理システム。
  9. スマートフォンを、請求項9に記載の情報処理システムに組み込まれたスマートフォントして機能させるためのコンピュータプログラム。
JP2016172237A 2016-09-02 2016-09-02 情報処理システム Pending JP2018037034A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016172237A JP2018037034A (ja) 2016-09-02 2016-09-02 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016172237A JP2018037034A (ja) 2016-09-02 2016-09-02 情報処理システム

Publications (1)

Publication Number Publication Date
JP2018037034A true JP2018037034A (ja) 2018-03-08

Family

ID=61565867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016172237A Pending JP2018037034A (ja) 2016-09-02 2016-09-02 情報処理システム

Country Status (1)

Country Link
JP (1) JP2018037034A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189274A1 (ja) * 2019-03-19 2020-09-24 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
CN112148139A (zh) * 2020-09-28 2020-12-29 联想(北京)有限公司 一种姿态识别方法和计算机可读存储介质
US20210141044A1 (en) * 2018-06-25 2021-05-13 Gatekeeper Systems, Inc. Dual magnetometer calibration
CN115984691A (zh) * 2022-12-25 2023-04-18 北京梦想绽放科技有限公司 一种虚拟现实设备的避障预警方法
WO2023243024A1 (ja) * 2022-06-16 2023-12-21 株式会社ビジョン・コンサルティング セパレート型スマートデバイス

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006174856A (ja) * 2004-12-20 2006-07-06 Yamaha Corp コントローラ機能の切り替え手段を有する処理装置
WO2012005005A1 (ja) * 2010-07-07 2012-01-12 パナソニック株式会社 端末装置およびgui画面生成方法
JP2012118299A (ja) * 2010-12-01 2012-06-21 Casio Comput Co Ltd 演奏装置および電子楽器
WO2014185146A1 (ja) * 2013-05-15 2014-11-20 ソニー株式会社 表示制御装置、表示制御方法および記録媒体
US20160062514A1 (en) * 2014-09-01 2016-03-03 Samsung Electronics Co., Ltd. Electronic device, method for controlling the electronic device, and recording medium
JP5944600B1 (ja) * 2015-08-28 2016-07-05 株式会社タカラトミー 頭部装着型ディスプレイを備えた情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006174856A (ja) * 2004-12-20 2006-07-06 Yamaha Corp コントローラ機能の切り替え手段を有する処理装置
WO2012005005A1 (ja) * 2010-07-07 2012-01-12 パナソニック株式会社 端末装置およびgui画面生成方法
JP2012118299A (ja) * 2010-12-01 2012-06-21 Casio Comput Co Ltd 演奏装置および電子楽器
WO2014185146A1 (ja) * 2013-05-15 2014-11-20 ソニー株式会社 表示制御装置、表示制御方法および記録媒体
US20160062514A1 (en) * 2014-09-01 2016-03-03 Samsung Electronics Co., Ltd. Electronic device, method for controlling the electronic device, and recording medium
JP5944600B1 (ja) * 2015-08-28 2016-07-05 株式会社タカラトミー 頭部装着型ディスプレイを備えた情報処理装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210141044A1 (en) * 2018-06-25 2021-05-13 Gatekeeper Systems, Inc. Dual magnetometer calibration
US11675040B2 (en) * 2018-06-25 2023-06-13 Gatekeeper Systems, Inc. Dual magnetometer calibration
US20240159852A1 (en) * 2018-06-25 2024-05-16 Gatekeeper Systems, Inc. Dual magnetometer calibration
US12099107B2 (en) * 2018-06-25 2024-09-24 Gatekeeper Systems, Inc. Dual magnetometer calibration
WO2020189274A1 (ja) * 2019-03-19 2020-09-24 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
JP2020154567A (ja) * 2019-03-19 2020-09-24 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
US11740477B2 (en) 2019-03-19 2023-08-29 Canon Kabushiki Kaisha Electronic device, method for controlling electronic device, and non-transitory computer readable storage medium
JP7341685B2 (ja) 2019-03-19 2023-09-11 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
CN112148139A (zh) * 2020-09-28 2020-12-29 联想(北京)有限公司 一种姿态识别方法和计算机可读存储介质
CN112148139B (zh) * 2020-09-28 2022-07-26 联想(北京)有限公司 一种姿态识别方法和计算机可读存储介质
WO2023243024A1 (ja) * 2022-06-16 2023-12-21 株式会社ビジョン・コンサルティング セパレート型スマートデバイス
CN115984691A (zh) * 2022-12-25 2023-04-18 北京梦想绽放科技有限公司 一种虚拟现实设备的避障预警方法

Similar Documents

Publication Publication Date Title
US9703102B2 (en) Information processing device including head mounted display
JP2018036720A (ja) 仮想空間観察システム、方法及びプログラム
JP7283506B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US11513605B2 (en) Object motion tracking with remote device
CN109643159B (zh) 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象
EP3156110A1 (en) Information processing device provided with head-mounted display
CN105759422B (zh) 显示系统和显示装置的控制方法
AU2013347935B2 (en) Computing interface system
US8655622B2 (en) Method and apparatus for interpreting orientation invariant motion
JP2018037034A (ja) 情報処理システム
JP5702653B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
US11366527B1 (en) Systems and methods for sensing gestures via vibration-sensitive wearables donned by users of artificial reality systems
US20150241969A1 (en) Methods and Systems for Integrating One or More Gestural Controllers into a Head Mounted Wearable Display or Other Wearable Devices
US20180356884A1 (en) Hmd device and control method therefor
US20150253873A1 (en) Electronic device, method, and computer readable medium
WO2017064972A1 (ja) ウェアラブル装置とその姿勢測定方法及びプログラム
US20240272764A1 (en) User interface elements for facilitating direct-touch and indirect hand interactions with a user interface presented within an artificial-reality environment, and systems and methods of use thereof
JP5816032B2 (ja) 入力装置、入力処理プログラム、入力処理方法、入力処理システム
JP6157703B1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6227732B1 (ja) 仮想空間において入力を支援するための方法および装置、ならびに当該方法をコンピュータに実行させるプログラム
JP6439448B2 (ja) 表示システム、プログラム、及び、表示装置の制御方法
US20160091717A1 (en) Head-mounted display system and operation method thereof
JP2019109849A (ja) 透過型頭部装着型表示装置、表示制御方法、およびコンピュータープログラム
JP2020140618A (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2019020836A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200819

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210303