(57)【要約】【課題】ユーザによる仮想空間と実空間との空間認識のずれを防止することが可能な仕組みを提供する。【解決手段】第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、を備える情報処理装置。【選択図】図４
2020042480.tif 000002
【特許請求の範囲】
【請求項１】
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、
を備える情報処理装置。
【請求項２】
前記回転情報は、前記第２の空間を、前記第１の空間における水平面を基準とした上下の方向に回転させるための情報である、請求項１に記載の情報処理装置。
【請求項３】
前記回転情報は、前記角度情報が示す角度の分、前記第２の基準方向から第１の基準方向への方向に、前記ユーザの視線に関する方向に対して前記第２の空間を回転させるための情報である、請求項１に記載の情報処理装置。
【請求項４】
前記角度情報は、前記第１の基準方向と前記第２の基準方向との間の、前記第１の空間における水平面を基準とした上下の方向の角度を示す情報である、請求項１に記載の情報処理装置。
【請求項５】
前記回転情報は、前記第２の空間を回転させるためのクォータニオンｑを含み、
前記第２の基準方向を前記第１の基準方向に一致させるための前記第１の空間における水平面を基準とした上下の方向での回転を表すクォータニオンをｑｔとし、前記ユーザの視線に関する方向と前記第１の基準方向との前記第１の空間における水平面での回転を表すクォータニオンをｑｈとした場合、クォータニオンｑは、ｑ＝ｑｈ・ｑｔ・ｑｈ−１で表される、請求項１に記載の情報処理装置。
【請求項６】
前記生成部は、前記ユーザの視線に関する方向が変化する度に、前記回転情報を生成する、請求項１に記載の情報処理装置。
【請求項７】
前記情報処理装置は、前記回転情報を用いて前記第２の空間を回転させ、回転させた前記第２の空間を示す情報を表示部に表示させる出力制御部を備える、請求項１に記載の情報処理装置。
【請求項８】
前記情報処理装置は、前記出力制御部の動作モードを第１の動作モード又は第２の動作モードから選択する動作モード選択部をさらに備え、
前記第１の動作モードは、前記回転情報を用いた前記第２の空間の回転を行わない動作モードであり、
前記第２の動作モードは、前記回転情報を用いた前記第２の空間の回転を行う動作モードである、請求項７に記載の情報処理装置。
【請求項９】
前記出力制御部は、前記第２の空間の水平線を示す情報を表示させる、請求項７に記載の情報処理装置。
【請求項１０】
前記出力制御部は、前記回転情報に基づいて、前記第２の空間の音の音像を定位させる、請求項７に記載の情報処理装置。
【請求項１１】
前記ユーザの視線に関する方向は、前記ユーザの視線方向である、請求項１に記載の情報処理装置。
【請求項１２】
前記ユーザの視線に関する方向は、前記ユーザの頭部方向である、請求項１に記載の情報処理装置。
【請求項１３】
前記第１の基準方向は、前記第１の空間における水平面の方向である、請求項１に記載の情報処理装置。
【請求項１４】
前記第１の基準方向は、前記第１の空間における水平面を基準として所定角度下にずれた方向である、請求項１に記載の情報処理装置。
【請求項１５】
前記第２の基準方向は、前記第２の空間における特定の位置の方向である、請求項１に記載の情報処理装置。
【請求項１６】
前記特定の位置は、前記ユーザの視線に関する方向に基づいて設定される、請求項１５に記載の情報処理装置。
【請求項１７】
前記第１の空間は実空間であり、前記第２の空間は全天球画像である、請求項１に記載の情報処理装置。
【請求項１８】
前記第１の空間は実空間であり、前記第２の空間はモデル化された三次元空間である、請求項１に記載の情報処理装置。
【請求項１９】
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報をプロセッサにより生成すること、
を含む情報処理方法。
【請求項２０】
コンピュータを、
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＶＲ（Virtual  Reality）技術が様々な場面で活用されている。例えば、ＶＲ技術は、遠隔地にいるユーザ同士のコミュニケーション支援、及び没入感の高い視覚コンテンツの提供等の、様々な場面で活用されている。
【０００３】
ＶＲ技術とは、仮想空間を実空間であるかのようにユーザに知覚させる技術である。その一例として、全天球画像（上下左右全方位の３６０度パノラマ画像）を仮想空間として用いる技術が開発されている。
【０００４】
例えば、下記特許文献１では、撮像装置により撮像された撮像画像に基づいて全天球画像を生成し、生成した全天球画像のうちユーザの頭部方向に相当する領域を表示する技術が開示されている。かかる技術によれば、ユーザが頭部方向を変化させると、全天球画像のうち変化後の頭部方向の領域が表示されるので、ユーザは、あたかも撮像された実空間にいるかのような感覚を得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／１２２１０８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の特許文献１などで提案されているＶＲ技術は、未だ開発されてから日が浅く、さまざまな局面でＶＲを活用するための技術が十分に提案されているとはいいがたい。例えば、ユーザによる仮想空間と実空間との空間認識のずれを防止するための技術も、十分には提案されていないものの一つである。
【０００７】
そこで、本開示では、ユーザによる仮想空間と実空間との空間認識のずれを防止することが可能な仕組みを提供する。
【課題を解決するための手段】
【０００８】
本開示によれば、第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、を備える情報処理装置が提供される。
【０００９】
また、本開示によれば、第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報をプロセッサにより生成すること、を含む情報処理方法が提供される。
【００１０】
また、本開示によれば、コンピュータを、第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、として機能させるためのプログラムが提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、ユーザによる仮想空間と実空間との空間認識のずれを防止することが可能となる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る情報処理装置の概要を説明するための図である。
【図２】同実施形態に係る第２のキャリブレーション処理を説明するための図である。
【図３】同実施形態に係る情報処理装置の論理的な構成の一例を示すブロック図である。
【図４】同実施形態に係る頭部方向Ｓに応じた回転情報の生成処理を説明するための図である。
【図５】同実施形態に係る回転情報に基づく仮想空間の回転が行われる場合の仮想空間における頭部方向の位置の軌跡の一例を示す図である。
【図６】同実施形態に係るＨＭＤにより表示される画面の一例を示す図である。
【図７】同実施形態に係るＨＭＤにより実行される回転補正処理の流れの一例を示すフローチャートである。
【図８】第１の変形例に係る第２のキャリブレーション処理を説明するための図である。
【図９】第２の変形例にかかる回転補正処理について説明するための図である。
【図１０】第２の変形例においてカメラ視点を上下に移動させる場合と仮想空間を回転させる場合とのカメラ視点の高さの変化量を示すグラフである。
【図１１】本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．はじめに
１．１．情報処理装置の概要
１．２．技術的課題
１．３．提案技術の概要
２．構成例
３．技術的特徴
３．１．ユーザの視線に関する情報の取得
３．２．仮想空間情報の取得
３．３．回転補正処理
３．４．動作モード選択
３．５．音像定位
４．処理の流れ
５．ユースケース
６．変形例
７．ハードウェア構成例
８．まとめ
【００１５】
＜＜１．はじめに＞＞
＜１．１．情報処理装置の概要＞
図１は、本開示の一実施形態に係る情報処理装置の概要を説明するための図である。図１に示した例では、情報処理装置１は、ＨＭＤ（Head  Mounted  Display）である。実空間１０（第１の空間に相当）にいるユーザは、ＨＭＤ１を装着し、仮想空間２０（第２の空間に相当）に関するＶＲコンテンツを鑑賞する。なお、ＶＲコンテンツとは、仮想空間２０の画像データを含む。ＶＲコンテンツは、仮想空間２０の音声データを含んでいてもよい。以下では、一例として、仮想空間２０は全天球画像であるものとする。なお、仮想空間２０は、半天球画像（上９０度左右３６０度のパノラマ画像）又はその他の任意の撮像範囲を有する画像であってもよい。
【００１６】
ＨＭＤ１は、ＶＲコンテンツを再生する情報処理装置の一例である。ＨＭＤ１は、画像を表示可能な表示部がユーザの眼の前に位置するようにして、ユーザの頭部に装着される。そして、ＨＭＤ１は、ＶＲコンテンツを再生（例えば、表示及び／又は音声出力）する。ＶＲコンテンツを再生する情報処理装置は、ＨＭＤ１の他にも、スマートフォン、タブレット端末又はプロジェクタ等により実現されてもよい。
【００１７】
実空間１０の座標系は、Ｘ１軸、Ｙ１軸及びＺ１軸により定義される。Ｘ１軸及びＹ１軸は、実空間１０の水平面１１を定義する座標軸である。詳しくは、Ｙ１軸は第１の基準方向の水平成分に一致する座標軸であり、Ｘ１軸はＹ１軸に直交する座標軸である。また、Ｚ１軸は、実空間１０の鉛直方向に一致する座標軸である。第１の基準方向とは、ユーザにとって見やすい方向であり、典型的には実空間１０の水平面１１の方向である。実空間１０の原点は、ユーザの視点又は頭部であり、実空間１０の水平面１１とは、実空間１０の原点を通る水平面であるものとする。また、第１の基準方向とは、実空間１０の原点を一端とする他端への方向である。
【００１８】
仮想空間２０の座標系は、Ｘ２軸、Ｙ２軸、及びＺ２軸により定義される。Ｘ２軸及びＹ２軸は、仮想空間２０の水平面２１を定義する座標軸である。詳しくは、Ｙ２軸は第２の基準方向の水平成分に一致する座標軸であり、Ｘ２軸はＹ２軸に直交する座標軸である。また、Ｚ２軸は、仮想空間２０の鉛直方向に一致する座標軸である。第２の基準方向とは、仮想空間２０における特定の位置（以下、対象位置とも称する）の方向である。対象位置は、典型的には、仮想空間２０のうちユーザが見たい、又はユーザに見せたい位置である。仮想空間２０の水平面２１とは、ＶＲコンテンツのカメラ位置を原点する水平面であるものとする。仮想空間２０の原点は、ＶＲコンテンツのカメラ位置であり、仮想空間２０の水平面２１とは、仮想空間２０の原点を通る水平面であるものとする。また、第２の基準方向とは、仮想空間２０の原点を一端とする他端への方向である。
【００１９】
ＨＭＤ１は、まず、実空間１０に対する仮想空間２０の姿勢を決定する、キャリブレーション処理を行う。以下、キャリブレーション処理について説明する。
【００２０】
（１）第１のキャリブレーション処理
典型的なＶＲ技術においては、キャリブレーション処理において、実空間１０の原点と仮想空間２０の原点とを一致させた上で、実空間１０の水平面１１と仮想空間２０の水平面２１とを一致させる処理が行われる。このようなキャリブレーション処理を、第１のキャリブレーション処理とも称する。
【００２１】
図１の左図は、第１のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示している。なお、初期状態とは、頭部方向と第１の基準方向とが一致する状態を指す。これに対し、初期状態以外の状態、即ち頭部方向と第１の基準方向とが一致しない状態を、変化状態とも称する。図１の右図は、第１のキャリブレーション処理後の変化状態における実空間１０及び仮想空間２０の様子を示している。
【００２２】
図１の左図に示す例では、第１のキャリブレーション処理により、Ｘ１軸とＸ２軸とが一致し、Ｙ１軸とＹ２軸とが一致し、Ｚ２軸とＺ２軸とが一致する。これにより、ユーザが重力方向に基づいて知覚する実空間１０の空間認識（実空間１０の水平面１１及び鉛直方向の認識）と、ユーザが見る仮想空間２０の画像に基づいて知覚する仮想空間２０の空間認識（仮想空間２０の水平面２１及び鉛直方向の認識）と、が一致することとなる。従って、ユーザは、違和感なく仮想空間２０を鑑賞することができる。
【００２３】
ＨＭＤ１は、ＶＲコンテンツを表示する。その際、ＨＭＤ１は、図１の左図に示すように、仮想空間２０のうち、ユーザの視線に関する方向Ｓの位置Ｖの画像（例えば、位置Ｖを中心とする所定領域の画像）を表示する。ユーザの視線に関する方向Ｓとは、ユーザの視線方向であってもよいし、ユーザの頭部方向であってもよい。視線方向とは、眼球の方向（例えば、注視点の方向）を意味する。頭部方向とは、顔の向きを意味する。以下では、ユーザの視線に関する方向Ｓは、頭部方向であるものとして説明する。
【００２４】
キャリブレーション処理後、ユーザが頭部方向Ｓを変化させると、ＨＭＤ１は、仮想空間２０におけるユーザの頭部方向Ｓの位置Ｖの画像を表示する。図１の右図に示した例では、ＨＭＤ１は、仮想空間２０のうち変化後の頭部方向Ｓの位置Ｖの画像を表示する。このようにして、ユーザは、ＶＲコンテンツ内で３６０度ぐるりと回りを見渡す体験を享受することができる。
【００２５】
（２）第２のキャリブレーション処理
第１の基準方向（即ち、ユーザにとって見やすい方向）のピッチ角と第２の基準方向（即ち、対象位置の方向）のピッチ角とは、一致することが望ましい。その場合、ユーザは、見やすい方向に頭部方向Ｓを向けながら（例えば、頭を上下に傾けずに）、対象位置を含む領域（例えば、対象位置を中心とする所定領域、以下、対象領域とも称する）の画像を鑑賞することができるためである。ここでのピッチ角とは、実空間１０の水平面１１を基準とする上下方向の回転角度であるものとする。例えば、ユーザの頭部方向Ｓの水平成分がＹ１軸と一致する場合、ピッチ軸はＸ１と一致し、ピッチ角はＸ１軸まわりの回転角度となる。
【００２６】
しかし、第１のキャリブレーション処理を行った場合、第１の基準方向のピッチ角と第２の基準方向のピッチ角とが一致しない場合がある。そこで、本実施形態に係るＨＭＤ１は、第２のキャリブレーション処理を行う。第２のキャリブレーション処理について、図２を参照して説明する。
【００２７】
図２は、本実施形態に係る第２のキャリブレーション処理を説明するための図である。図２の左図は、第１のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示しており、図２の右図は、第２のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示している。
【００２８】
図２の左図に示すように、第１のキャリブレーション処理により、実空間１０の水平面１１と仮想空間２０の水平面２１とが一致している。しかし、対象領域Ｔの方向は、実空間１０の水平面１１から上にずれている（即ち、ピッチ角≠０）。そのため、ユーザは、対象領域Ｔの画像をＨＭＤ１に表示させるために、即ち、位置Ｖと対象領域Ｔとを一致させるために、ピッチ軸まわりに頭部方向Ｓを回転させて、頭部方向Ｓを対象領域Ｔの方向に向けることが要される。つまり、ユーザは、対象領域Ｔの画像を鑑賞するために、頭を上に傾けることが強いられる。ＶＲコンテンツの鑑賞時間が長時間にわたり得ることを考慮すれば、その負担は無視できない。
【００２９】
その対策として、キャリブレーション処理において、予め仮想空間２０を回転させて、第１の基準方向と、第２の基準方向とを一致させることが挙げられる。このようなキャリブレーション処理を、第２のキャリブレーション処理とも称する。第２のキャリブレーション処理により、実空間１０の水平面１１と仮想空間２０の水平面２１とがずれる。その結果、図２の右図に示すように、対象領域Ｔの方向は、実空間１０の水平面１１上に位置することとなり（即ち、ピッチ角≠０）、初期状態における頭部方向Ｓの位置Ｖと対象領域Ｔとが一致するようになる。そのため、ユーザは、ピッチ軸まわりに頭部方向Ｓを回転させずとも、対象領域Ｔの画像をＨＭＤ１に表示させることができる。つまり、ユーザは、頭を上下に傾けずとも、対象領域Ｔの画像を鑑賞することができる。よって、第１のキャリブレーション処理が行われる場合にユーザにかかっていた負担が解消される。
【００３０】
＜１．２．技術的課題＞
しかし、第２のキャリブレーション処理を行うと、実空間１０の水平面１１と仮想空間２０の水平面２１とがずれることとなる。このままの状態で、ユーザが実空間１０の水平面１１に沿って（即ち、Ｚ１軸まわりで）頭部方向Ｓを回転させると、図２の右図に示すように、実空間１０の水平面１１に沿う軌跡Ｖ´上の仮想空間２０の位置Ｖ１〜Ｖ４の画像が順に表示されることとなる。軌跡Ｖ´は、仮想空間２０の水平面２１と交錯する。よって、ユーザが実空間１０の水平面１１に沿って頭部方向Ｓを回転させても、仮想空間２０の水平面２１と平行でない軌跡Ｖ´上の領域の画像が表示されてしまう。そのため、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致しなくなり、ユーザに違和感を与えてしまうこととなる。
【００３１】
そこで、第２のキャリブレーション処理が行われる場合に、ユーザによる仮想空間と実空間との空間認識のずれを防止するための仕組みが提供されることが望ましい。
【００３２】
＜１．３．提案技術の概要＞
提案技術では、まず、第２のキャリブレーション処理が実行される。上述したように、ユーザは、頭を上下に傾けずとも、対象領域Ｔの画像を鑑賞することができるので、第１のキャリブレーション処理が行われる場合にユーザにかかっていた負担が解消される。
【００３３】
さらに、提案技術では、変化状態において、第２のキャリブレーション処理において行った仮想空間２０の回転と同様の回転を、ユーザの頭部方向Ｓを基準として行う。これにより、頭部方向Ｓに対して常に仮想空間２０が傾くようになり、ユーザが実空間１０の水平面１１に沿って頭部方向Ｓを回転させると、仮想空間２０の水平面２１と平行な軌跡上の領域の画像が表示されるようになる。このようにして、ユーザによる仮想空間と実空間との空間認識のずれが防止される。
【００３４】
＜＜２．構成例＞＞
図３は、本実施形態に係る情報処理装置１（例えば、ＨＭＤ１）の論理的な構成の一例を示すブロック図である。図３に示すように、ＨＭＤ１は、センサ部１１０、操作入力部１２０、通信部１３０、表示部１４０、音声出力部１５０、記憶部１６０、及び制御部１７０を含む。
【００３５】
（１）センサ部１１０
センサ部１１０は、ＨＭＤ１又はユーザに関する各種情報を検出する機能を有する。
【００３６】
例えば、センサ部１１０は、ユーザの眼を撮像するための撮像部を含む。撮像部は、撮像レンズ、絞り、ズームレンズ、及びフォーカスレンズ等により構成されるレンズ系、レンズ系に対してフォーカス動作やズーム動作を行わせる駆動系、及びレンズ系で得られる撮像光を光電変換して撮像信号を生成する固体撮像素子アレイ等を有する。撮像部は、ユーザの眼を撮像し、撮像画像のデータを制御部１７０に出力する。
【００３７】
例えば、ＨＭＤ１は、ジャイロセンサを含む。ジャイロセンサは、ＨＭＤ１の角速度を検出する。ジャイロセンサは、圧電振動子又はシリコン振動子等の振動子を含み、振動する振動子に加わるコリオリの力に基づいて角速度を検知する。ジャイロセンサは、検出した角速度を示す情報を制御部１７０に出力する。
【００３８】
例えば、ＨＭＤ１は、加速度センサを含む。加速度センサは、ＨＭＤ１の加速度を検知する。加速度センサは、光学方式、又は半導体方式等の任意の検出方式により加速度を検出する。加速度を検知する軸数は任意であり、例えば３軸であってもよい。加速度センサは、検出した加速度を示す情報を制御部１７０に出力する。
【００３９】
例えば、ＨＭＤ１は、方位センサを含む。方位センサは、ＨＭＤ１の方位を検出する機能を有する。例えば、方位センサは、地磁気センサを含み、地磁気センサにより検知された方位を示す情報と、ＨＭＤ１における地磁気センサの設置姿勢とに基づいて、ＨＭＤ１が向く方向（例えば、上述した頭部方向Ｓ）を検出する。ＨＭＤ１は、検出した方位を示す情報を制御部１７０に出力する。
【００４０】
（２）操作入力部１２０
操作入力部１２０は、ユーザからの操作入力を受け付ける機能を有する。例えば、操作入力部１２０は、ユーザからのキャリブレーション開始指示及び動作モード選択指示の入力を受け付ける。操作入力部１２０は、ユーザからの操作入力情報を制御部１７０に出力する。
【００４１】
（３）通信部１３０
通信部１３０は、他の装置と情報を送受信するインタフェースである。通信部１３０は、ＬＡＮ（Local  Area  Network）、無線ＬＡＮ、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＮＦＣ（Near  Field  Communication）等の有線又は無線の任意の通信規格に準拠して通信を行う。
【００４２】
（４）表示部１４０
表示部１４０は、画像を表示する機能を有する。表示部１４０は、出力制御部１７７による制御に基づいて、仮想空間２０の画像を表示する。
【００４３】
（５）音声出力部１５０
音声出力部１５０は、音を出力する機能を有する。音声出力部１５０は、出力制御部１７７による制御に基づいて、仮想空間２０の音声を出力する。
【００４４】
（６）記憶部１６０
記憶部１６０は、ＨＭＤ１の動作のための情報を一時的に又は非一時的に記憶する機能を有する。記憶部１６０は、例えば、ＶＲコンテンツを記憶したり、第２のキャリブレーション処理が実行させる度に回転情報生成部１７５により生成される角度情報を記憶したりする。
【００４５】
（７）制御部１７０
制御部１７０は、ＨＭＤ１内の動作全般を制御する機能を有する。図３に示すように、制御部１７０は、視線関連方向取得部１７１、仮想空間情報取得部１７３、回転情報生成部１７５、出力制御部１７７、及び動作モード選択部１７９を含む。
【００４６】
視線関連方向取得部１７１は、実空間１０にいるユーザの視線に関する方向を取得する機能を有する。視線関連方向取得部１７１は、取得したユーザの視線に関する方向を示す情報を、回転情報生成部１７５に出力する。
【００４７】
仮想空間情報取得部１７３は、仮想空間２０の情報である仮想空間情報を取得する機能を有する。仮想空間情報取得部１７３は、取得した仮想空間情報を出力制御部１７７に出力する。
【００４８】
回転情報生成部１７５は、仮想空間２０を回転させるための情報である回転情報を生成する生成部として機能する。回転情報生成部１７５は、生成した回転情報を出力制御部１７７に出力する。
【００４９】
出力制御部１７７は、仮想空間情報及び回転情報に基づいて、出力装置にユーザへの出力情報を出力させる機能を有する。例えば、出力制御部１７７は、仮想空間情報及び回転情報に基づいて、出力制御情報を生成する。次いで、出力制御部１７７は、出力制御情報を表示部１４０及び音声出力部１５０に出力して、仮想空間２０の画像を表示部１４０に出力させ、仮想空間２０の音声を音声出力部１５０に出力させる。
【００５０】
動作モード選択部１７９は、出力制御部１７７の動作モードを選択する機能を有する。動作モード選択部１７９は、選択した動作モードを示す情報を出力制御部１７７に出力して、出力制御部１７７の動作モードを切り替える。
【００５１】
＜＜３．技術的特徴＞＞
＜３．１．ユーザの視線に関する情報の取得＞
視線関連方向取得部１７１は、実空間１０にいるユーザの視線に関する方向を取得する。上述したように、本明細書では、ユーザの視線に関する方向は頭部方向であるものとして説明するが、ユーザの視線に関する方向は視線方向であってもよい。例えば、視線関連方向取得部１７１は、センサ部１１０に含まれるジャイロセンサ、加速度センサ、及び／又は方位センサの検出結果に基づいて、ユーザの頭部の位置及び姿勢を演算し、ユーザの頭部の姿勢に基づいてユーザの頭部方向を演算する。また、例えば、視線関連方向取得部１７１は、センサ部１１０に含まれる撮像部により撮像されたユーザの眼の画像を対象に画像認識処理を行い、画像認識結果とユーザの頭部の位置及び姿勢の演算結果とに基づいて、ユーザの視線方向を演算する。
【００５２】
＜３．２．仮想空間情報の取得＞
仮想空間情報取得部１７３は、仮想空間情報を取得する。仮想空間情報は、上述したＶＲコンテンツに相当する。仮想空間情報は、仮想空間２０の画像データ及び／又は仮想空間２０の音声データを含む。仮想空間情報取得部１７３は、通信部１３０を介してＶＲコンテンツを受信したり、記憶部１６０に記憶されたＶＲコンテンツを読み出したりすることで、ＶＲコンテンツを取得する。
【００５３】
＜３．３．回転補正処理＞
（１）第１の基準方向及び第２の基準方向の設定
第１の基準方向とは、上述したように、ユーザにとって見やすい方向であり、典型的には実空間１０の水平面１１の方向である。例えば、第１の基準方向は、第２のキャリブレーション処理開始時の頭部方向Ｓの水平成分として設定されてもよい。また、第１の基準方向は、ＨＭＤ１の使用開始時の頭部方向Ｓの水平成分、又はユーザが正面を向いたときの頭部方向Ｓの水平成分として、設定されてもよい。他にも、第１の基準方向は、ＶＲコンテンツに付随する情報として予め設定されてもよい。
【００５４】
第２の基準方向とは、上述したように、仮想空間２０における特定の位置（以下、対象位置とも称する）の方向である。対象位置は、典型的には、仮想空間２０のうちユーザが見たい、又はユーザに見せたい位置である。対象位置は、人の顔又は建物等のオブジェクトの位置であってもよいし、空の一点等のオブジェクト以外の位置であってもよい。対象位置は、ＶＲコンテンツに付随する情報として予め設定されていてもよい。他にも、対象位置は、ユーザにより設定されてもよい。例えば、対象位置は、ユーザの頭部方向又は視線方向に基づいて設定されてもよい。具体的には、ユーザが、仮想空間２０のあるオブジェクトに頭部方向Ｓを見ている状態でキャリブレーション開始指示を入力すると、当該オブジェクトの位置を特定位置とする第２のキャリブレーション処理が実行され得る。その際、当該オブジェクト上の頭部方向又は視線方向の位置が特定位置として設定されてもよいし、当該オブジェクトの中心位置が特定位置として設定されてもよい。後者の例としては、ユーザが仮想空間２０における人の眼を注視していた場合、当該人の顔の中心位置が対象位置として設定されてもよい。これらより、ユーザは、仮想空間２０内の任意の位置を見やすい方向に配置させることが可能となる。
【００５５】
（２）角度情報の取得
回転情報生成部１７５は、第２のキャリブレーション処理のための角度情報を取得する。第２のキャリブレーション処理とは、角度情報を取得すること、及び角度情報に基づいて仮想空間２０を回転させることを含む。角度情報に基づく仮想空間２０の回転は、後述する回転補正処理により実現される。
【００５６】
回転情報生成部１７５は、実空間１０の座標系と仮想空間２０の座標系とを対応付けたときの、実空間１０における第１の基準方向と仮想空間２０における第２の基準方向との間の角度を示す角度情報を取得する。ここでの実空間１０の座標系と仮想空間２０の座標系とを対応付けとは、第１のキャリブレーション処理と同様に、実空間１０の原点と仮想空間２０の原点とを一致させ、実空間１０の水平面１１と仮想空間２０の水平面２１とを一致させることを意味する。例えば、回転情報生成部１７５は、Ｘ１軸とＸ２軸とを一致させ、Ｙ１軸とＹ２軸とを一致させ、Ｚ２軸とＺ２軸とを一致させた上で、第１の基準方向と第２の基準方向との間の角度を示す角度情報を取得する。ここでの角度情報は、第１の基準方向と第２の基準方向との間の、実空間１０における水平面１１を基準とした上下の方向の角度を示す情報である。より簡易には、角度情報は、第１の基準方向のピッチ角と第２の基準方向のピッチ角との差である。
【００５７】
回転情報生成部１７５は、ユーザから操作入力部１２０に入力されたキャリブレーション開始指示に基づいて、角度情報を取得してもよい。また、角度情報の取得タイミングは、ＶＲコンテンツに付随する情報として予め設定されてもよい。例えば、特定位置に対応するオブジェクトの高さが変化した場合には、回転情報生成部１７５は、変化後のオブジェクトを特定位置として設定し、角度情報を取得する。この場合、仮想空間２０におけるオブジェクトの移動等に起因して第１の基準方向と第２の基準方向とが一致しなくなったときに、再度、第１の基準方向と第２の基準方向とを一致させることが可能となる。
【００５８】
回転情報生成部１７５は、角度情報を生成すると、生成した角度情報を記憶部１６０に記憶させる。その後、回転情報生成部１７５は、記憶された角度情報を継続的に利用しながら、後述する回転補正処理を行う。他方、回転情報生成部１７５は、角度情報を再生成した場合、記憶部１６０に記憶された角度情報を再生成した角度情報に更新する。
【００５９】
（２）頭部方向に応じた回転補正処理
回転情報生成部１７５は、角度情報、及び実空間１０にいるユーザの視線に関する方向Ｓ（例えば、頭部方向）に基づいて、仮想空間２０を回転させるための回転情報を生成する。ここでの回転とは、実空間１０の原点と仮想空間２０の原点とを一致させた上で、実空間１０の原点を通る水平面１１の任意の軸を回転軸として、仮想空間２０を回転させることを指す。
【００６０】
回転情報は、仮想空間２０を、実空間１０における水平面１１を基準とした上下の方向に回転させるための情報である。より詳しくは、回転情報は、角度情報が示す角度の分、第２の基準方向から第１の基準方向への方向に、頭部方向Ｓに対して仮想空間２０を回転させるための情報である。頭部方向Ｓに対して仮想空間２０を回転させるとは、頭部方向Ｓに直交し且つ実空間１０の原点を通る水平面１１の回転軸まわりに（即ち、ピッチ軸周りに）、仮想空間２０を回転させることを指す。
【００６１】
そして、出力制御部１７７は、生成された回転情報を用いて仮想空間２０を回転させ、回転させた仮想空間２０を示す情報を表示部１４０に表示させる。詳しくは、出力制御部１７７は、回転情報を用いた回転後の仮想空間２０における、ユーザの頭部方向Ｓの位置の画像を生成し、表示部１４０に表示させる。このような、回転情報を用いて仮想空間２０を回転させることを、回転補正処理とも称する。回転補正処理を行うことで、以下に説明するように、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とを一致させて、ユーザに違和感を与えないようにすることが可能となる。
【００６２】
また、回転情報生成部１７５は、頭部方向Ｓが変化する度に、回転情報を生成する。詳しくは、回転情報生成部１７５は、変化状態において、角度情報と変化後の頭部方向Ｓとに基づいて回転情報を再生成する。これにより、変化状態において、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とを、継続的に一致させることが可能となる。
【００６３】
以下、図４及び図５を参照しながら回転補正処理について具体的に説明する。
【００６４】
図４は、本実施形態に係る頭部方向Ｓに応じた回転情報の生成処理を説明するための図である。図４の左図は、第２のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示している。図４の右図は、第２のキャリブレーション処理後の変化状態において回転補正処理を適用する場合の実空間１０及び仮想空間２０の様子を示している。
【００６５】
図４の左図の左図に示すように、第２のキャリブレーション処理が実行されたことで、第１の基準方向（初期状態における頭部方向Ｓ）と第２の基準方向（対象領域Ｔの方向）とが一致している。仮想空間２０の回転量Ｒは、第２のキャリブレーション処理において生成された角度情報が示す回転量である。
【００６６】
変化状態においては、ユーザが実空間１０の水平面１１に沿って（即ち、Ｚ１軸まわりで）頭部方向Ｓを回転させると、回転情報生成部１７５は、角度情報と変化後の頭部方向Ｓとに基づいて回転情報を再生成し、再生成した回転情報に基づいて仮想空間２０を回転させる。より詳しくは、図４の右図に示すように、回転量Ｒの分、変化後の頭部方向Ｓに対して仮想空間２０を回転させる。図４の左図に示す回転量Ｒと図４の右図に示す回転量Ｒは同一である。これにより、変化後の頭部方向Ｓの位置Ｖが、仮想空間２０における領域Ｔ´に一致することとなる。領域Ｔ´について、図５を参照して詳しく説明する。
【００６７】
図５は、本実施形態に係る回転情報に基づく仮想空間２０の回転が行われる場合の仮想空間２０における頭部方向Ｓの位置Ｖの軌跡Ｖ´の一例を示す図である。図５に示すように、回転情報に基づく仮想空間２０の回転が行われる場合、頭部方向Ｓの位置Ｖの軌跡Ｖ´は、対象領域Ｔを通り、且つ、仮想空間２０における水平面２１と平行である。そして、図４の右図に示した領域Ｔ´は、この軌跡Ｖ´上の領域である。つまり、回転情報に基づく仮想空間２０の回転が行われる場合、ユーザが実空間１０の水平面１１に沿って頭部方向Ｓを回転させると、仮想空間２０の水平面２１と平行な軌跡Ｖ´上の領域の画像が表示される。そのため、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致する。よって、図２の右図を参照して説明した違和感を、ユーザに与えることを防止することが可能となる。
【００６８】
なお、上記では、ユーザが実空間１０の水平面１１に沿って（即ち、Ｚ１軸）まわりで頭部方向Ｓを回転させるものとして説明したが、もちろん、ユーザは、実空間１０の水平面１１と交錯するように頭部方向Ｓを回転させ得る。この場合でも、上述した効果は同様にして発揮される。
【００６９】
（３）回転情報の詳細
回転情報の内容について詳しく説明する。回転情報は、仮想空間２０を回転させるためのクォータニオンｑを含んでいてもよい。クォータニオンｑは、次式により表される。
ｑ＝ｑｈ・ｑｔ・ｑｈ−１    …（１）
【００７０】
ここで、ｑｔは、第２の基準方向を第１の基準方向に一致させるための実空間１０における水平面１１を基準とした上下の方向での回転を表すクォータニオンである。クォータニオンｑｔは、角度情報に基づいて生成される。また、ｑｈは、頭部方向Ｓと第１の基準方向との実空間１０における水平面１１での回転（即ち、Ｚ１軸まわりの回転）を表すクォータニオンである。クォータニオンｑｈは、第１の基準方向と現在の頭部方向Ｓとの間の水平面１１での角度に基づいて、生成される。
【００７１】
＜３．４．動作モード選択＞
動作モード選択部１７９は、出力制御部１７７の動作モードを選択する。例えば、動作モード選択部１７９は、動作モードを第１の動作モード又は第２の動作モードから選択し得る。第１の動作モードは、上述した回転情報を用いた第２の空間の回転を行わない動作モードである。詳しくは、第１の動作モードでは、第２のキャリブレーション処理が行われる一方で、変化状態における回転補正処理が行われない。第１の動作モードでは、図２の右図を参照して説明した、頭部方向Ｓに応じた画像が表示される。即ち、第２の動作モードでは、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致しない。第２の動作モードは、上述した回転情報を用いた第２の空間の回転を行う動作モードである。詳しくは、第２の動作モードでは、第２のキャリブレーション処理、及び変化状態における回転補正処理が行われる。第２の動作モードでは、図４の右図及び図５を参照して説明した、頭部方向Ｓに応じた画像が表示される。即ち、第２の動作モードでは、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致する。このような動作モードの選択により、出力制御部１７７は、適切な動作モードで動作することが可能となる。
【００７２】
動作モード選択部１７９は、操作入力部１２０による操作入力情報に基づいて、動作モードを選択してもよい。例えば、操作入力部１２０は、第１の動作モード又は第２の動作モードを選択するよう指示する動作モード選択指示の入力を受け付け、動作モード選択部１７９は、かかる動作モード選択指示の通りに動作モードを選択する。
【００７３】
動作モード選択部１７９は、ＶＲコンテンツの再生時に、デフォルトで第２の動作モードを選択してもよい。そして、動作モード選択部１７９は、ユーザからの動作モード選択指示により、一時的に第１の動作モードを選択してもよい。
【００７４】
出力制御部１７７は、仮想空間２０の水平線を示す情報を表示部１４０に表示させてもよい。ここでの水平線を示す情報とは、仮想空間２０の水平面２１に平行する線を示す情報である。かかる情報の表示により、出力制御部１７７が第１の動作モード又は第２の動作モードのいずれで動作しているかを、ユーザに認識させることが可能となる。この点について、図６を参照して説明する。
【００７５】
図６は、本実施形態に係るＨＭＤ１により表示される画面の一例を示す図である。図６に示す画面３０Ａは第１の動作モードにおいて表示され、図６に示す画面３０Ｂは、第２の動作モードにおいて表示される。これらの画面のいずれも、ユーザが実空間１０の水平面１１に沿って（即ち、Ｚ１軸まわりで）頭部方向Ｓを回転させたときに、表示される画面の一例である。これらの画面の左右方向は、実空間１０の水平面１１と平行する。また、これらの画面のいずれも、ホワイトボード３１が配置された部屋の全天球画像に基づいて表示されている。
【００７６】
画面３０Ａにおいて、仮想空間２０の水平面２１に平行する線３２が表示されている。線３２は、画面３０Ａに対し斜めに表示されているので、実空間１０の水平面１１と仮想空間２０の水平面とが交錯していることが分かる。これにより、ユーザは、出力制御部１７７が第１の動作モードで動作していることを認識することができる。
【００７７】
画面３０Ｂにおいて、仮想空間２０の水平面２１に平行する線３２が表示されている。線３２は、画面３０Ｂに対し水平に表示されているので、実空間１０の水平面１１と仮想空間２０の水平面とが平行していることが分かる。これにより、ユーザは、出力制御部１７７が第２の動作モードで動作していることを認識することができる。
【００７８】
＜３．５．音像定位＞
出力制御部１７７は、回転情報に基づいて、仮想空間２０の音の音像を定位させてもよい。例えば、ＶＲコンテンツにおいて仮想空間２０の音の出力位置が定義されている場合、出力制御部１７７は、音の出力位置を、補正後の回転情報に基づいて回転させることで特定する。そして、出力制御部１７７は、特定した出力位置から仮想空間２０の音が出力されるように、音像を定位させる。これにより、出力制御部１７７は、画像表示と音声の出力位置とのずれを防止することが可能となり、より自然且つ没入感の高いユーザ体験を提供することが可能となる。
【００７９】
＜＜４．処理の流れ＞＞
以下、図７を参照して、回転補正処理の流れの一例を説明する。
【００８０】
図７は、本実施形態に係るＨＭＤ１により実行される回転補正処理の流れの一例を示すフローチャートである。図７に示すように、まず、視線関連方向取得部１７１は、ユーザの頭部方向Ｓを取得する（ステップＳ１０２）。次いで、回転情報生成部１７５は、第２のキャリブレーション処理を実行するか否かを判定する（ステップＳ１０４）。例えば、回転情報生成部１７５は、キャリブレーション開始指示が入力された場合に、第２のキャリブレーション処理を実行すると判定する。第２のキャリブレーション処理を実行すると判定された場合（ステップＳ１０４／ＹＥＳ）、回転情報生成部１７５は、角度情報を取得して（ステップＳ１０６）、記憶部１６０は、取得された角度情報を記憶する（ステップＳ１０８）。その後、処理はステップＳ１１０に進む。また、第２のキャリブレーション処理を実行しないと判定された場合（ステップＳ１０４／ＮＯ）、処理はステップＳ１１０に進む。
【００８１】
次いで、回転情報生成部１７５は、頭部方向Ｓ及び記憶部１６０に記憶された角度情報に基づいて、回転情報を生成する（ステップＳ１１０）。次に、出力制御部１７７は、回転情報に基づいて、仮想空間２０を回転させる（ステップＳ１１２）。そして、出力制御部１７７は、回転後の仮想空間２０における頭部方向Ｓの画像を表示部１４０に表示させる（ステップＳ１１４）。
【００８２】
＜＜５．ユースケース＞＞
（１）第１のユースケース
第１のユースケースは、ライフログに関する。
【００８３】
本ユースケースにおいては、ＶＲコンテンツは、全天球画像で記録されたライフログである。ユーザは、覚えておきたいシーンがある場合、その内容を思い出しやすくするために、覚えておきたいシーンをＨＭＤ１に表示させる。その際、ユーザは、覚えておきたいシーンの重要な部分を特定位置とする第２のキャリブレーション処理を実行させる。
【００８４】
一例として、覚えておきたいシーンが、家族からシャンプーを買ってくるように依頼されたシーンであるものとする。その場合、ユーザは、薬局を通りかかったときに、当該シーンの全天球画像をＨＭＤ１に表示させる。その際、ユーザは、ＨＭＤ１に、シャンプーを買ってくるように依頼する家族の顔を特定位置とする第２のキャリブレーション処理を実行させ、回転情報に基づき全天球画像を回転させる。これにより、ユーザは、シャンプーを買ってくるように依頼する家族の顔が見やすい方向に位置し、且つユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致する、家族からシャンプーを買ってくるように依頼されたシーンの画像を鑑賞することが可能となる。
【００８５】
（２）第２のユースケース
第２のユースケースは、スポーツ観戦に関する。
【００８６】
本ユースケースにおいては、ＶＲコンテンツは、全天球画像で記録されたスポーツの試合である。通常は、試合を実施しているコート／グラウンドよりも観客席が高くに位置しており、観客席から見ると、下方向にコート／グラウンドが位置する。そのため、全天球画像のカメラ視点が観客席に位置する場合であって、第１のキャリブレーション処理が行われる場合、ユーザは、常に頭部方向Ｓを下に向けることが強いられる。
【００８７】
そこで、ユーザは、ＨＭＤ１に、コート／グラウンドを特定位置とする第２のキャリブレーション処理を実行させ、回転情報に基づいて全天球画像を回転させる。これにより、ユーザは、コート／グラウンドが見やすい方向に位置し、且つユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致する、スポーツの試合の画像を鑑賞することが可能となる。
【００８８】
また、観客席をカメラ視点とする全天球画像からバードビューを用いた選手目線の全天球画像に切り替えることが可能な場合がある。第１のキャリブレーション処理が行われる場合、ユーザは、切り替え前は頭部方向Ｓを下方向に向け、切り替え後は頭部方向Ｓを水平方向に向け直すことが強いられる。この点、本実施形態によれば、ユーザは、切り替え前後で第２のキャリブレーション処理をＨＭＤ１に実行させることで、常に見やすい方向に頭部方向Ｓを向けながら重要な領域の画像を鑑賞することが可能となる。
【００８９】
（３）第３のユースケース
第３のユースケースは、遠隔操作ロボットに関する。
【００９０】
ユーザは、ＨＭＤ１を装着しながら操作装置を操作し、作業用アームを有するロボットを遠隔操作する。ロボットに装着された全天球カメラにより撮像された全天球画像が、ＨＭＤ１により表示される。このとき、作業用アーム先端の作業位置を特定位置とする第２のキャリブレーション処理を実行させて、上述した回転情報に基づく全天球画像の回転を実行させる。これにより、ユーザは、作業用アーム先端の作業位置が見やすい方向に位置し、且つユーザによる実空間１０の空間認識と仮想空間２０の空間認識とが一致する、作業空間の画像を鑑賞することが可能となる。その結果、ユーザの身体的負荷を軽減して、作業効率を向上させることが可能となる。
【００９１】
＜＜６．変形例＞＞
（１）第１の変形例
上記実施形態では、第１の基準方向は、実空間１０における水平面１１の方向であるものとして説明したが、本技術はかかる例に限定されない。例えば、第１の基準方向は、実空間１０における水平面１１を基準として所定角度下にずれた方向であってもよい。具体的には、第１の基準方向は、実空間１０における水平面１１を基準として下に５度から１０度ずれた方向であることが望ましい。これにより、ユーザにとって最も見やすい方向を第１の基準方向として、第２のキャリブレーション処理を実行することが可能となる。
【００９２】
なお、ＡＲ（Augmented  Reality）デバイス及びＶＲデバイスでは、設計上、表示部の中心位置をユーザの視点から下に５度から１０度ずれた方向とすることが多い。これは、かかる角度が、ユーザにとって見やすいことが経験上分かっているためである。
【００９３】
図８は、第１の変形例に係る第２のキャリブレーション処理を説明するための図である。図８の左図は、第１のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示しており、図８の右図は、第２のキャリブレーション処理後の初期状態における実空間１０及び仮想空間２０の様子を示している。なお、図８の左図は、図２の左図と同様である。
【００９４】
初期状態ではユーザの頭部方向Ｓは第１の基準方向と一致する。そして、図８の右図に示すように、第１の基準方向は、実空間１０における水平面１１を基準として所定角度下にずれた方向である。第２のキャリブレーション処理により、第１の基準方向と第２の基準方向とが一致する。そのため、図８の右図に示すように、ユーザが頭部方向Ｓを実空間１０における水平面１１を基準とした所定角度下に向けると、即ち、頭部方向Ｓを第１の基準方向に一致させると、頭部方向Ｓの位置Ｖと第２の基準方向にある対象領域Ｔとが一致する。本変形例では、第１の基準方向が、実空間１０における水平面１１を基準として所定角度下にずれた方向にあるので、第２のキャリブレーション処理により、対象領域Ｔが実空間１０の水平面１１よりも下にずれて位置することとなる。
【００９５】
（２）第２の変形例
上記実施形態では、仮想空間２０は全天球画像であるものとして説明したが、本技術はかかる例に限定されない。例えば、仮想空間２０は、モデル化された三次元空間であってもよい。その場合、ＨＭＤ１は、ユーザの頭部方向Ｓの変化に応じて、モデル化された三次元空間内のカメラの姿勢を変化させて、かかるカメラにより得られる画像を表示する。また、ＨＭＤ１は、回転情報に応じてモデル化された三次元空間のワールド全体の水平面（座標系）を回転させる。
【００９６】
ＨＭＤ１は、回転補正処理として、回転情報を用いて三次元空間のワールド全体の水平面を回転させることに代えて、カメラ視点を上下に移動させてもよい。この点について、図９を参照して説明する。図９は、第２の変形例にかかる回転補正処理について説明するための図である。なお、図９に示した例では、第１の基準方向は実空間１０の水平面１１の方向であるものとする。即ち、初期状態では、ユーザの頭部方向Ｓは実空間１０の水平面１１の方向を向いているものとする。
【００９７】
図９の左図は、第１のキャリブレーション処理が行われた場合の仮想空間２０におけるカメラＣの位置と対象領域Ｔの位置との関係を示している。図９の左図に示すように、初期状態では、カメラＣの撮像方向２３は地面２２と平行する。カメラＣの地面２２からの高さはＬであり、対象領域Ｔの地面２２からの高さはＬ＋Ｈである。カメラＣの撮像方向２３は地面２２に平行であり、カメラＣの撮像方向２３とカメラＣから対象領域Ｔまでの方向２４との角度はθである。
【００９８】
図９の中央図は、第２のキャリブレーション処理として、カメラ視点の高さを対象領域Ｔの高さにまで移動させた場合の、初期状態における仮想空間２０におけるカメラＣの位置と対象領域Ｔの位置との関係を示している。図９の左図に示すように、初期状態では、カメラＣの撮像方向２３が地面２２と平行する方向を向いている。カメラＣの地面２２からの高さはＬ＋Ｈであり、対象領域Ｔの地面２２からの高さＬ＋Ｈと同一である。そのため、初期状態において、カメラＣの撮像方向２３は地面２２に平行であり、カメラＣの撮像方向２３とカメラＣから対象領域Ｔまでの方向２４と一致する。ユーザが、実空間１０の水平面１１に沿って頭部方向Ｓを回転させると、カメラＣの撮像方向２３は地面２２の平行を保ったまま水平に回転する。従って、対象領域Ｔを通り、且つ、地面２２と平行する軌跡上の領域の画像が表示される。よって、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とを一致するので、ユーザに違和感を与えないようにすることが可能となる。
【００９９】
図９の右図は、第２のキャリブレーション処理として、回転情報に基づいて仮想空間２０を回転させた場合の、初期状態における仮想空間２０におけるカメラＣの位置と対象領域Ｔの位置との関係を示している。図９の右図に示すように、カメラＣの姿勢はθ傾いており、その結果、カメラＣの撮像方向２３は、カメラＣから対象領域Ｔまでの方向２４と一致する。初期状態では、カメラＣの撮像方向２３は、地面２２に交錯する方向を向いている。カメラＣの地面２２からの仮想的な高さはＬ／ｃｏｓθであり、対象領域Ｔの地面２２からの高さはＬ＋Ｈである。ユーザが、実空間１０の水平面１１に沿って頭部方向Ｓを回転させると、傾きθを保ったままカメラＣが地面２２と平行に回転する。これにより、対象領域Ｔを通り、且つ、地面２２と平行する軌跡上の領域の画像が表示される。よって、ユーザによる実空間１０の空間認識と仮想空間２０の空間認識とを一致するので、ユーザに違和感を与えないようにすることが可能となる。
【０１００】
ここで、図９の中央図に示したカメラ視点を上下に移動させる例では、カメラＣの高さはＬ＋Ｈである。一方で、図９の右図に示した仮想空間２０を回転させる例では、カメラＣの仮想的な高さはＬ／ｃｏｓθである。ただし、θは、−π／２＜θ＜π／２を満たすものとする。つまり、カメラ視点を上下に移動させる場合はカメラＣの高さの変化量が｜Ｈ｜であるのに対し、仮想空間２０を回転させる場合はＬ／ｃｏｓθ−Ｌである。数式（２）を考慮すると、数式（３）の関係が成り立つ場合、仮想空間２０を回転させる場合の方が、カメラ視点を上下に移動させる場合と比較して、カメラＣの高さ変化が少なく、優位であると言える。
｜Ｈ｜＞Ｌ／ｃｏｓθ−Ｌ，  ｔａｎθ＝Ｈ／Ｄ    …（２）
（１−ｃｏｓθ）２／（１−ｃｏｓ２θ）＜（Ｄ／Ｌ）２    …（３）
【０１０１】
図１０は、第２の変形例においてカメラ視点を上下に移動させる場合と仮想空間２０を回転させる場合とのカメラ視点の高さの変化量を示すグラフである。図１０を参照すると、θが−６０度〜＋６０度である場合に上記数式（３）が成り立ち、θが−９０〜−６０度、＋６０度〜＋９０度である場合に上記数式（３）が成り立たない。つまり、多くの場合、上記数式（３）が成り立つことが分かる。このことから、多くの場合、仮想空間２０を回転させる場合の方が、カメラ視点を上下に移動させる場合と比較して、カメラＣの高さ変化が少なく、優位であることが分かる。
【０１０２】
＜＜７．ハードウェア構成例＞＞
最後に、図１１を参照して、本実施形態に係る情報処理装置のハードウェア構成について説明する。図１１は、本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図１１に示す情報処理装置９００は、例えば、図３に示した情報処理装置１を実現し得る。本実施形態に係る情報処理装置１による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【０１０３】
図１１に示すように、情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３及びホストバス９０４ａを備える。また、情報処理装置９００は、ブリッジ９０４、外部バス９０４ｂ、インタフェース９０５、入力装置９０６、出力装置９０７、ストレージ装置９０８、ドライブ９０９、接続ポート９１１及び通信装置９１３を備える。情報処理装置９００は、ＣＰＵ９０１に代えて、又はこれとともに、電気回路、ＤＳＰ若しくはＡＳＩＣ等の処理回路を有してもよい。
【０１０４】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ９０１は、例えば、図３に示す制御部１７０を形成し得る。
【０１０５】
ＣＰＵ９０１、ＲＯＭ９０２及びＲＡＭ９０３は、ＣＰＵバスなどを含むホストバス９０４ａにより相互に接続されている。ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０１０６】
入力装置９０６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置９０６は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９０６は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などを含んでいてもよい。情報処理装置９００のユーザは、この入力装置９０６を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。これらの入力装置９０６は、例えば、図３に示す操作入力部１２０を形成し得る。
【０１０７】
他にも、入力装置９０６は、ユーザに関する情報を検知する装置により形成され得る。例えば、入力装置９０６は、画像センサ（例えば、カメラ）、深度センサ（例えば、ステレオカメラ）、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサを含み得る。また、入力装置９０６は、情報処理装置９００の姿勢、移動速度等、情報処理装置９００自身の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音等、情報処理装置９００の周辺環境に関する情報を取得してもよい。また、入力装置９０６は、ＧＮＳＳ（Global  Navigation  Satellite  System）衛星からのＧＮＳＳ信号（例えば、ＧＰＳ（Global  Positioning  System）衛星からのＧＰＳ信号）を受信して装置の緯度、経度及び高度を含む位置情報を測定するＧＮＳＳモジュールを含んでもよい。また、位置情報に関しては、入力装置９０６は、Ｗｉ−Ｆｉ（登録商標）、携帯電話・ＰＨＳ・スマートフォン等との送受信、または近距離通信等により位置を検知するものであってもよい。これらの入力装置９０６は、例えば、図３に示すセンサ部１１０を形成し得る。
【０１０８】
出力装置９０７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置、レーザープロジェクタ、ＬＥＤプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。他にも、表示装置としては、ユーザの網膜に直接的に画像を投影する網膜投影ディスプレイが挙げられる。出力装置９０７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。上記表示装置は、例えば、図３に示す表示部１４０を形成し得る。上記音声出力装置は、例えば、図３に示す音声出力部１５０を形成し得る。
【０１０９】
ストレージ装置９０８は、情報処理装置９００の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置９０８は、例えば、ＨＤＤ等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９０８は、ＣＰＵ９０１が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置９０８は、例えば、図３に示す記憶部１６０を形成し得る。
【０１１０】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９０９は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０１１１】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。
【０１１２】
通信装置９１３は、例えば、ネットワーク９２０に接続するための通信デバイス等で形成された通信インタフェースである。通信装置９１３は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１３は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９１３は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。通信装置９１３は、例えば、図３に示す通信部１３０を形成し得る。
【０１１３】
なお、ネットワーク９２０は、ネットワーク９２０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク９２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク９２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０１１４】
以上、本実施形態に係る情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１１５】
なお、上述のような本実施形態に係る情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、ＰＣ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０１１６】
＜＜８．まとめ＞＞
以上、図１〜図１１を参照して、本開示の一実施形態について詳細に説明した。上記説明したように、本実施形態に係る情報処理装置１は、実空間１０の座標系と仮想空間２０の座標系とを対応付けたときの、実空間１０における第１の基準方向と仮想空間２０における第２の基準方向との角度を示す角度情報を取得する。そして、情報処理装置１は、角度情報と実空間１０にいるユーザの視線に関する方向に基づいて、仮想空間２０を回転させるための回転情報を生成する。生成された回転情報により、情報処理装置１は、仮想空間２０を回転させ、回転後の仮想空間２０におけるユーザの視線に関する方向の領域の画像を表示することが可能となる。これにより、初期状態においては、ユーザは、頭を上下に傾けずとも、仮想空間２０における第１の基準方向の領域の画像を鑑賞することが可能となる。また、変化状態においては、ユーザの視線に関する方向に対して常に仮想空間２０が傾くようになり、ユーザが実空間１０の水平面１１に沿って頭部方向Ｓを回転させると、仮想空間２０の水平面２１と平行な軌跡上の領域の画像が表示されるようになる。これにより、ユーザによる仮想空間と実空間との空間認識のずれが防止される。
【０１１７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１８】
なお、本明細書において説明した各装置は、単独の装置として実現されてもよく、一部または全部が別々の装置として実現されても良い。例えば、図３に示した情報処理装置１の機能構成例のうち、制御部１７０が、センサ部１１０、操作入力部１２０、通信部１３０、表示部１４０、音声出力部１５０、及び記憶部１６０とネットワーク等で接続されたサーバ等の装置に備えられていても良い。
【０１１９】
また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【０１２０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１２１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、
を備える情報処理装置。
（２）
前記回転情報は、前記第２の空間を、前記第１の空間における水平面を基準とした上下の方向に回転させるための情報である、前記（１）に記載の情報処理装置。
（３）
前記回転情報は、前記角度情報が示す角度の分、前記第２の基準方向から第１の基準方向への方向に、前記ユーザの視線に関する方向に対して前記第２の空間を回転させるための情報である、前記（１）又は（２）に記載の情報処理装置。
（４）
前記角度情報は、前記第１の基準方向と前記第２の基準方向との間の、前記第１の空間における水平面を基準とした上下の方向の角度を示す情報である、前記（１）〜（３）のいずれか一項に記載の情報処理装置。
（５）
前記回転情報は、前記第２の空間を回転させるためのクォータニオンｑを含み、
前記第２の基準方向を前記第１の基準方向に一致させるための前記第１の空間における水平面を基準とした上下の方向での回転を表すクォータニオンをｑｔとし、前記ユーザの視線に関する方向と前記第１の基準方向との前記第１の空間における水平面での回転を表すクォータニオンをｑｈとした場合、クォータニオンｑは、ｑ＝ｑｈ・ｑｔ・ｑｈ−１で表される、前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記生成部は、前記ユーザの視線に関する方向が変化する度に、前記回転情報を生成する、前記（１）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記情報処理装置は、前記回転情報を用いて前記第２の空間を回転させ、回転させた前記第２の空間を示す情報を表示部に表示させる出力制御部を備える、前記（１）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記情報処理装置は、前記出力制御部の動作モードを第１の動作モード又は第２の動作モードから選択する動作モード選択部をさらに備え、
前記第１の動作モードは、前記回転情報を用いた前記第２の空間の回転を行わない動作モードであり、
前記第２の動作モードは、前記回転情報を用いた前記第２の空間の回転を行う動作モードである、前記（７）に記載の情報処理装置。
（９）
前記出力制御部は、前記第２の空間の水平線を示す情報を表示させる、前記（７）又は（８）に記載の情報処理装置。
（１０）
前記出力制御部は、前記回転情報に基づいて、前記第２の空間の音の音像を定位させる、前記（７）〜（９）のいずれか一項に記載の情報処理装置。
（１１）
前記ユーザの視線に関する方向は、前記ユーザの視線方向である、前記（１）〜（１０）のいずれか一項に記載の情報処理装置。
（１２）
前記ユーザの視線に関する方向は、前記ユーザの頭部方向である、前記（１）〜（１０）のいずれか一項に記載の情報処理装置。
（１３）
前記第１の基準方向は、前記第１の空間における水平面の方向である、前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
前記第１の基準方向は、前記第１の空間における水平面を基準として所定角度下にずれた方向である、前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１５）
前記第２の基準方向は、前記第２の空間における特定の位置の方向である、前記（１）〜（１４）のいずれか一項に記載の情報処理装置。
（１６）
前記特定の位置は、前記ユーザの視線に関する方向に基づいて設定される、前記（１５）のいずれか一項に記載の情報処理装置。
（１７）
前記第１の空間は実空間であり、前記第２の空間は全天球画像である、前記（１）〜（１６）のいずれか一項に記載の情報処理装置。
（１８）
前記第１の空間は実空間であり、前記第２の空間はモデル化された三次元空間である、前記（１）〜（１６）のいずれか一項に記載の情報処理装置。
（１９）
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報をプロセッサにより生成すること、
を含む情報処理方法。
（２０）
コンピュータを、
第１の空間の座標系と第２の空間の座標系とを対応付けたときの前記第１の空間における第１の基準方向と前記第２の空間における第２の基準方向との間の角度を示す角度情報、及び前記第１の空間にいるユーザの視線に関する方向に基づいて、前記第２の空間を回転させるための回転情報を生成する生成部、
として機能させるためのプログラム。
【符号の説明】
【０１２２】
１      情報処理装置、ＨＭＤ
１０    実空間
１１    実空間の水平面
２０    仮想空間
２１    仮想空間の水平面
１１０    センサ部
１２０    操作入力部
１３０    通信部
１４０    表示部
１５０    音声出力部
１６０    記憶部
１７０    制御部
１７１    視線関連方向取得部
１７３    仮想空間情報取得部
１７５    回転情報生成部
１７７    出力制御部
１７９    動作モード選択部
【図１】
2020042480.tif 000003
【図２】
2020042480.tif 000004
【図３】
2020042480.tif 000005
【図４】
2020042480.tif 000006
【図５】
2020042480.tif 000007
【図６】
2020042480.tif 000008
【図７】
2020042480.tif 000009
【図８】
2020042480.tif 000010
【図９】
2020042480.tif 000011
【図１０】
2020042480.tif 000012
【図１１】
2020042480.tif 000013