特許第6709426号(P6709426)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社想通の特許一覧

<>
  • 特許6709426-画像表示制御装置及びプログラム 図000002
  • 特許6709426-画像表示制御装置及びプログラム 図000003
  • 特許6709426-画像表示制御装置及びプログラム 図000004
  • 特許6709426-画像表示制御装置及びプログラム 図000005
  • 特許6709426-画像表示制御装置及びプログラム 図000006
  • 特許6709426-画像表示制御装置及びプログラム 図000007
  • 特許6709426-画像表示制御装置及びプログラム 図000008
  • 特許6709426-画像表示制御装置及びプログラム 図000009
  • 特許6709426-画像表示制御装置及びプログラム 図000010
  • 特許6709426-画像表示制御装置及びプログラム 図000011
  • 特許6709426-画像表示制御装置及びプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6709426
(24)【登録日】2020年5月27日
(45)【発行日】2020年6月17日
(54)【発明の名称】画像表示制御装置及びプログラム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20200608BHJP
   G06F 3/0484 20130101ALI20200608BHJP
   G09G 5/00 20060101ALI20200608BHJP
   G09G 5/36 20060101ALI20200608BHJP
   G09G 5/38 20060101ALI20200608BHJP
   G06T 19/00 20110101ALI20200608BHJP
   A63F 13/80 20140101ALI20200608BHJP
   A63F 13/25 20140101ALI20200608BHJP
   A63F 13/426 20140101ALI20200608BHJP
【FI】
   G06F3/01 510
   G06F3/0484 150
   G09G5/00 550C
   G09G5/36 520P
   G09G5/38 A
   G09G5/36 520D
   G09G5/36 520E
   G09G5/00 530H
   G09G5/00 510A
   G06T19/00 300B
   A63F13/80 E
   A63F13/25
   A63F13/426
【請求項の数】8
【全頁数】25
(21)【出願番号】特願2016-124715(P2016-124715)
(22)【出願日】2016年6月23日
(65)【公開番号】特開2017-228141(P2017-228141A)
(43)【公開日】2017年12月28日
【審査請求日】2019年6月13日
(73)【特許権者】
【識別番号】516189165
【氏名又は名称】株式会社想通
(74)【代理人】
【識別番号】110000419
【氏名又は名称】特許業務法人太田特許事務所
(72)【発明者】
【氏名】村瀬 廣晃
【審査官】 円子 英紀
(56)【参考文献】
【文献】 国際公開第2007/149707(WO,A1)
【文献】 国際公開第2002/058806(WO,A1)
【文献】 特開平10−108112(JP,A)
【文献】 特開2014−219948(JP,A)
【文献】 米国特許出願公開第2015/0254882(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048−3/0489
G09G 5/00
G09G 5/36
G09G 5/38
G06T 19/00
A63F 13/80
A63F 13/25
A63F 13/426
(57)【特許請求の範囲】
【請求項1】
予め定められた基準点の周囲に形成されている空間を、当該基準点を視点として、画像化した空間画像のデータを空間画像データとして取得する取得手段と、
前記画像化された空間画像を複数のエリアに分割し、前記取得された空間画像データからそれぞれのエリアに対応するエリア画像のデータをエリア画像データとして生成する分割手段と、
前記生成されたエリア画像データに基づいて、ユーザの視点位置が予め定められて形成された仮想空間に、各エリア画像を配置する画像配置制御手段と、
ユーザの前記仮想空間内における視線方向を検出する視線検出手段と、
前記検出されたユーザの視線方向に応じて、前記仮想空間における前記ユーザの視点位置から見える画像を表示手段に表示させる表示制御手段と、
前記ユーザの指示入力を検出する入力検出手段と、
前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、特定のエリア画像を第1エリア画像として選択する第1選択手段と、
前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、前記第1エリア画像とは異なるエリア画像を第2エリア画像として選択する第2選択手段と、
を備え、
前記画像配置制御手段が、
前記第2エリア画像が選択されると、前記選択された第2エリア画像が配置されている前記仮想空間の位置に、前記選択された第1エリア画像を配置することを特徴とする画像表示制御装置。
【請求項2】
請求項1に記載の画像表示制御装置において、
前記各エリア画像データには、該当するエリア画像を表示するための画像形状及び画像サイズの少なくともいずれか一方が予め規定されており、
前記画像配置制御手段が、
各エリア画像を前記仮想空間に配置する際に、予め選択されている各エリア画像が配置される各配置位置の位置形状に合わせて当該各エリア画像の画像形状又は画像サイズを変更し、
前記第2エリア画像が配置されている前記仮想空間の位置に前記第1エリア画像を配置する際に、前記第1エリア画像の画像形状又は画像サイズを、前記第2エリア画像が配置されている前記仮想空間内の位置形状に合わせて変更する、画像表示制御装置。
【請求項3】
請求項1又は2に記載の画像表示制御装置において、
前記仮想空間には、前記各エリア画像が配置される第1レイヤと、前記ユーザの視点位置と前記第1レイヤとの間に形成され、当該第1レイヤとは異なるレイヤによって形成される第2レイヤと、が設けられており、
前記画像配置制御手段が、
前記検出されたユーザの指示入力に従って前記第1エリア画像が選択された場合に、該当する第1エリア画像を、前記第1レイヤから前記第2レイヤに移動させ、
前記表示制御手段が、
前記仮想空間における前記ユーザの視点位置から見える画像を表示手段に表示させる、画像表示制御装置。
【請求項4】
請求項3に記載の画像表示制御装置において、
前記配置制御手段が、
前記検出されたユーザの指示入力に従って前記第1エリア画像が選択された場合に、当該第1エリア画像が配置されていた第1レイヤ上の位置に、前記第1エリア画像に含まれるオブジェクト又は当該オブジェクトに関連する画像を配置する、画像表示制御装置。
【請求項5】
請求項1〜4のいずれか1項に記載の画像表示制御装置において、
前記仮想空間が、球体形状を有する3次元空間であり、
前記画像配置制御手段が、
前記生成されたエリア画像データに基づいて、前記仮想空間の外郭の内周面に、当該内周面に沿って、各エリア画像を配置する、画像表示制御装置。
【請求項6】
請求項1〜5のいずれか1項に記載の画像表示制御装置において、
前記表示手段が、
前記ユーザの左右の眼を覆うとともに当該ユーザの頭部に装着可能な形状を有する、画像表示制御装置。
【請求項7】
請求項1〜6のいずれか1項に記載の画像表示制御装置において、
前記取得手段が、
前記ユーザの視線の方向の空間を撮像して空間画像として画像化する撮像手段を有し、
前記画像化された空間画像を空間画像データとして出力する、画像表示制御装置。
【請求項8】
コンピュータを、
予め定められた基準点の周囲に形成されている空間を、当該基準点を視点として、画像化した空間画像のデータを空間画像データとして取得する取得手段、
前記画像化された空間画像を複数のエリアに分割し、前記取得された空間画像データからそれぞれのエリアに対応するエリア画像のデータをエリア画像データとして生成する分割手段、
前記生成されたエリア画像データに基づいて、ユーザの視点位置が予め定められて形成された仮想空間に、各エリア画像を配置する画像配置制御手段、
ユーザの前記仮想空間内における視線方向を検出する視線検出手段、
前記検出されたユーザの視線方向に応じて、前記仮想空間における前記ユーザの視点位置から見える画像を表示手段に表示させる表示制御手段、
前記ユーザの指示入力を検出する入力検出手段、
前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、特定のエリア画像を第1エリア画像として選択する第1選択手段、及び、
前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、前記第1エリア画像とは異なるエリア画像を第2エリア画像として選択する第2選択手段、
として機能させ、
前記画像配置制御手段が、
前記第2エリア画像が選択されると、前記選択された第2エリア画像が配置されている前記仮想空間の位置に、前記選択された第1エリア画像を配置することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各種の画像を表示する画像表示制御装置等に関する。
【背景技術】
【0002】
従来、ユーザの視点を基準に360度の全方位を全天球カメラ(以下、「全方位カメラ」ともいう。)を用いて撮像して画像化された画像(すなわち、全天球画像)を生成して表示する技術が知られている。
【0003】
また、最近では、VR(バーチャルリアリティ)技術の応用として、3軸のジャイロセンサを搭載したヘッドマウントディスプレイ(以下、「HMD」という。)に全天球画像を表示させるとともに、ジャイロセンサによってユーザの顔の向きを検出して、当該検出された顔の向きに応じて全天球画像を回転させつつ、表示させる画像表示装置も提案されている(例えば、特許文献1)。
【先行技術文献】
【非特許文献】
【0004】
【特許文献1】特開2010−256534号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の表示装置にあっては、ユーザの顔の向きに応じて、全天球画像の表示を切り替えて、ユーザに空間的な広がりを認知させつつ、VRを実現できるものの、ユーザが主体となって全天球画像の一部を変化させることができず、その応用範囲が限られている。
【0006】
本発明は、上記課題を解決するためになされたものであり、その目的は、ユーザの視線に方向に連動させて分割表示されている画像の表示位置を移動制御することなど、仮想空間における新規な画像表示手法を提供し、新たなインターフェースとして利用し、又は、ゲームに利用するなど、ユーザにおける操作性の向上及びエンターテインメント性や興趣性を向上させることが可能な画像表示制御装置などを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明は、予め定められた基準点の周囲に形成されている空間を、当該基準点を視点として、画像化した空間画像のデータを空間画像データとして取得する取得手段と、前記画像化された空間画像を複数のエリアに分割し、前記取得された空間画像データからそれぞれのエリアに対応するエリア画像のデータをエリア画像データとして生成する分割手段と、前記生成されたエリア画像データに基づいて、ユーザの視点位置が予め定められて形成された仮想空間に、各エリア画像を配置する画像配置制御手段と、ユーザの前記仮想空間内における視線方向を検出する視線検出手段と、前記検出されたユーザの視線方向に応じて、前記仮想空間における前記ユーザの視点位置から見える画像を表示手段に表示させる表示制御手段と、前記ユーザの指示入力を検出する入力検出手段と、前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、特定のエリア画像を第1エリア画像として選択する第1選択手段と、前記検出されたユーザの指示入力に従って、前記仮想空間に配置された複数のエリア画像の中から、前記第1エリア画像とは異なるエリア画像を第2エリア画像として選択する第2選択手段と、を備え、前記画像配置制御手段が、前記第2エリア画像が選択されると、前記選択された第2エリア画像が配置されている前記仮想空間の位置に、前記選択された第1エリア画像を配置する構成を有している。
【発明の効果】
【0008】
本発明は、ユーザの指示に基づいて仮想空間内に分割表示されている画像の表示位置を移動制御することによって、仮想空間における画像の入れ替えなどの新たなインターフェースとして利用すること、及び、ゲームに利用するなど、ユーザにおける操作性の向上及びエンターテインメント性や興趣性を向上させることができる。
【図面の簡単な説明】
【0009】
図1】本発明に係る画像表示システムの一実施形態の構成を示すシステム構成図である。
図2】一実施形態の画像表示システムにおいて表示される全天球画像の一例を示す図である。
図3】一実施形態におけるHMDの構成例を示すブロック図である。
図4】一実施形態における表示制御装置の構成例を示すブロック図である。
図5】一実施形態において、パズルゲームにおける画像入れ替え時の動作を説明するイメージ図である。
図6】一実施形態のパズルゲームにおいて全天球画像を分割する際の分割例を示す図である。
図7】一実施形態のパズルゲームにおいて全天球画像が仮想空間における外郭内側スクリーンに配置された例を示す図である。
図8】一実施形態のパズルゲームにおいて、第1エリア及び第2エリアを選択する際の原理を説明する図である。
図9】一実施形態における第1選択処理、第2選択処理及び配置換え処理を説明するための図である。
図10】一実施形態の画像表示装置のアプリケーション実行部によって実行される処理を示すフローチャートである。
図11】一実施形態における変形例において、平面画像を3次元モデル化する場合の処理を説明するための図である。
【発明を実施するための形態】
【0010】
以下、本発明に係る実施形態について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、ユーザの両目を覆う形態にて、ユーザの頭部に装着される形状を有するHMDと、当該HMDに対する画像表示を制御する表示制御装置から構成される画像表示制御装置に対して、本発明に係る画像表示制御装置及びプログラムを適用した場合の実施形態である。
【0011】
[1]画像表示システム
[1.1]画像表示システムの概要
まず、図1及び図2を用いて、本実施形態の画像表示システム1の構成及び概要について説明する。なお、図1は、本実施形態の画像表示システム1の構成を示すシステム構成図であり、図2は、全天球画像データの一例を示す図である。また、図が煩雑になることを防止するため、図1においては、一部のユーザ及び画像表示装置10のみを示している。すなわち、実際の画像表示システム1においては、表示するよりも多数のユーザ及び画像表示装置10が存在している。
【0012】
本実施形態の画像表示システム1は、各ユーザによって利用される画像表示装置10であって、HMD20及び表示制御装置30から構成される画像表示装置10と、ネットワーク50に通信接続され、画像表示装置10に画像データ(例えば、視点を基準に360度の各方向が画像化された全天球画像を表示するための画像データ(以下、「全天球画像データ」という。))を配信し、又は、その管理を実行する管理サーバ装置40と、を有している。
【0013】
特に、本実施形態の画像表示システム1は、HMD20に球体形状を有する仮想空間内(3次元空間)において、その外郭の内側の面に沿って配置された複数のエリアに分割された全天球画像を表示させる構成を有し、当該表示させた全天球画像を、あたかもユーザの周囲に存在するかのごとく認知させるVR環境を提供するためのシステムである。
【0014】
そして、本実施形態の画像表示システム1は、例えば、ユーザの指示に基づいて、仮想空間に配置された複数のエリアの画像(以下、「エリア画像」という。)の中から、特定のエリア画像を第1エリア画像として選択し、かつ、第1エリア画像とは異なるエリア画像を第2エリア画像として選択すると、選択した第2エリア画像が配置されている仮想空間の位置に、選択した第1エリア画像を配置するユーザの視線を用いて実行するパズルゲームを実現する構成を有している。
【0015】
すなわち、本実施形態の画像表示システム1は、VR環境下で、例えば、エリア画像をピースとして用いるパズルゲームにおいて、その入れ替え、又は、スライドさせることによって所定の並びによって形成された全天球画像を構築するタイプのパズルゲームを実現するシステムとして用いられる。
【0016】
なお、本実施形態の画像表示システム1においては、球体形状の仮想空間を用いるとともに、当該仮想空間の内周面に沿って全天球画像(動画)を表示する構成を用いて説明するが、仮想区間は球体形状に限らず、直方体や任意の立体的な形状であってもよいし、全天球画像に代えて、半天球画像や単なるパノラマ画像であってもよいし、単なる平面画像の組み合わせであってもよく、動画像のみならず、静止画像であってもよい。
【0017】
また、本実施形態の画像表示システム1に用いるコンテンツとしては、ジグソーパズルのように、複数のピースを組み合わせていき、正しい全天球画像を構築するタイプのパズルゲーム、又は、全天球画像内に歯抜け部分を作っておき、各歯抜けエリアにピースを当て嵌めて、正しい全天球画像を構築するタイプのパズルゲームなどの画像表示を伴ったゲームであってもよい。
【0018】
ただし、単に、コンテンツとして映画、ドラマ、プレゼンテーション用画像、写真、Webページなどのネットワーク上において提供されている画像であってもよい。特に、本実施形態の画像表示システム1は、複数のWebページから1のWebページを選択させ、又は、複数の写真の画像から1の画像を選択させるなど、複数の画像が提示され、その中から1の画像を選択表示するシステムに適用可能である。
【0019】
[1.2]画像表示システムの概略構成
次に、本実施形態の画像表示システム1の概略構成について説明する。
【0020】
画像表示装置10は、HMD20と、当該HMD20に対する全天球画像データの表示を制御するための表示制御装置30と、を有している。ただし、本実施形態の画像表示装置10は、HMD20に表示制御装置30の各機能又は一部の機能が組み込まれる構成を有していてもよいし、その一部の機能が省略されていてもよい。
【0021】
HMD20には、図1に示すように、ユーザの左右の眼の各々に対応する2つの表示パネル(右眼用)261及び表示パネル(左眼用)262が設けられ、ユーザの頭部に装着可能な構成を有している。そして、表示パネル(右眼用)261及び表示パネル(左眼用)262は、それぞれ、ユーザの眼を覆う形状を有している。
【0022】
例えば、HMD20は、表示パネル(右眼用)261及び表示パネル(左眼用)262に、それぞれ、図2に示す右眼用視差画像及び左眼用視差画像を表示させ、ユーザの両眼に所定量の視差を有する動画像を視認させて、全天球画像に対応する動画像の立体視を実現させる構成を有している。
【0023】
なお、立体視を実現するための視差画像については、従来の3D動画像と同様であるため、詳細を省略する。
【0024】
表示制御装置30は、ネットワーク50に通信接続され、管理サーバ装置40から全天球画像データを取得するとともに、当該全天球画像データをHMD20に表示するための各種の制御を実行する。
【0025】
ネットワーク50は、例えば、携帯電話網を含む公衆電話網と、IP(Internet Protocol)ネットワークが相互接続されて構成される。ただし、当該ネットワーク50の構成は、これに限られない。
【0026】
管理サーバ装置40は、各ユーザに対するパズルゲームサービスの提供を管理するためのコンピュータシステムである。
【0027】
具体的には、管理サーバ装置40は、各ユーザを管理するための情報に対応するデータが記憶されるユーザ管理DB501を有し、ユーザのパズルゲームサービスに対するログイン及び当該サービスにおけるユーザのスコア管理などを行う機能を有する。
【0028】
特に、ユーザ管理DB501には、例えば、各ユーザを一意に識別するためのユーザIDと、アカウント名、ログインパスワード、ユーザの氏名、住所、メールアドレス等、ユーザの属性を示すユーザ属性情報と、ユーザの過去のゲーム履歴として、ゲームスコアを示すスコア情報と、を対応付けて記憶するようにすればよい。
【0029】
また、管理サーバ装置40は、パズルゲームサービスの提供に際して、画像表示装置10に提供する全天球画像データが、当該全天球画像データを識別するための全天球画像データIDと対応付けつつ、記憶される全天球画像データ用DB502を有している。
【0030】
さらに、管理サーバ装置40は、パズルゲームを実施する際のパズルに対応する問題データ及び当該問題データに対応する正解データが記憶される問題データ用DB503を有している。
【0031】
例えば、問題データとしては、全天球画像の分割数、分割された各エリア画像、及び、各エリア画像のID(以下、「エリアID」という。)に基づく全天球画像の組み替えを行うための情報(具体的には、どのエリアのエリア画像を、どのエリアに配置するかを規定する情報)を示すデータが含まれる。また、正解データは、各エリア画像における正解となる配置位置が規定されたデータが含まれる。
【0032】
なお、本実施形態の問題データは、例えば、各全天球画像データと、一対一の対応関係を有し、問題データ用DB503には、各全天球画像データIDと対応付けて、該当する問題データ及び正解データが記憶されている。ただし、問題データは、全ての全天球画像データに共通のもの(同一の分割数において各エリア画像の正規の配置に対して問題としての配置位置を規定するもの)を用意してもよい。
【0033】
[2]HMD
次に、図3を用いて本実施形態のHMD20の構成について説明する。なお、図3は、本実施形態のHMD20の構成を示すブロック図である。
【0034】
本実施形態のHMD20は、図3に示すように、表示制御装置30とのデータの授受を仲介するI/Oインターフェース210と、ジャイロセンサ220と、ユーザの顔の向きに基づいて表示すべき全天球画像の表示方位を設定する表示方位設定部230と、画像メモリ240と、ユーザの視線を検出する視線検出カメラ250と、表示部260と、表示部260を制御する表示制御部270と、HMD20の全体を統合制御するHMD制御部280と、を有している。そして、各部は、バスBによって相互接続されている。
【0035】
なお、例えば、視線検出カメラ250は、表示制御装置30と連動して、本発明の入力検出手段及び視線検出手段を構成し、表示部260及び表示制御部270は、本発明の表示手段を構成する。
【0036】
I/Oインターフェース210は、例えば、HDMI(High−Difinition Multimedia Interface/登録商標)、USB(Universal Serial Bus/登録商標)等の有線による入出力インターフェース、又は、Bluetooth(登録商標)、若しくは、IEEE802.11a、g、n、ac等の無線インターフェースであり、表示制御装置30と、有線又は無線によって通信を実行し、表示制御装置30から供給される画像メモリ240を介して表示制御部270に供給する。
【0037】
ジャイロセンサ220は、3軸タイプの加速度センサであり、ユーザの顔の動き(すなわち、頭部の向き)を検出して、当該検出した顔の動きに応じた信号を表示方位設定部230に出力する。
【0038】
表示方位設定部230は、ジャイロセンサ220から供給される信号に基づき、ユーザの顔の向きを検出し、当該検出した顔の向きに応じて、全天球画像において視点から見える画像の方位を決定し、当該決定した表示方位を示す表示方位データを生成し、生成した表示方位データを表示制御装置30に供給する。
【0039】
画像メモリ240は、VRAM(Video Random Access Memory)によって構成され、表示制御装置30から供給される画像データをバッファリングするために用いられる。
【0040】
視線検出カメラ250は、HMD20において、ユーザの両眼を画角内に納める位置に配置されたデジタルカメラであり、光学システムと、該光学システムから入力された光学画像を電気信号に変換するCCDI(Charge Coupled Device Image Sensor)と、CCDIにおいて生成された電気信号に基づいて画像データを生成する生成部と、を有している。
【0041】
そして、視線検出カメラ250は、HMD制御部280による制御の下、HMD20を装着したユーザの画像化した両眼の画像を、撮像画像データとして、I/Oインターフェース210を介して、表示制御装置30に供給する。
【0042】
表示部260は、表示パネル(右眼用)261と、表示パネル(左眼用)262と、を有し、各表示パネル(右眼用)261及び表示パネル(左眼用)262は、例えば、有機EL(Electro−Luminescence)素子又は液晶表示素子または構成され、表示制御部116の制御に従って所定の画像を表示する。
【0043】
表示パネル(右眼用)261は、ユーザがHMD20を装着した状態において、ユーザの右眼正面に位置するように配置されるとともに、表示パネル(左眼用)262は、HMD20の装着状態において、ユーザの左眼正面に位置するように配置される。
【0044】
表示制御部270は、HMD制御部280による制御の下、表示制御装置30から供給される表示用データに基づく表示処理を実行し、表示部260に対応する画像を表示させる。
【0045】
特に、表示制御部270は、表示制御装置30から仮想空間の視点から見える当該仮想空間内における画像を構成する表示用データを受信し、当該表示用データに基づき、右眼用視差画像及び左眼用視差画像を生成しつつ、表示パネル(右眼用)261に右眼用視差画像を表示させ、かつ、左眼用視差画像を表示パネル(左眼用)262に表示させる。
【0046】
HMD制御部280は、主としてCPU(中央演算処理装置)により構成され、図示しないスイッチと連動して実行される電源のON及びOFFの管理などのHMD20の各部を統合制御する。
【0047】
[3]表示制御装置
[3.1]構成
次に、図4を用いて本実施形態の表示制御装置30の構成について説明する。なお、図4は、本実施形態の表示制御装置30の構成を示すブロック図である。
【0048】
本実施形態の表示制御装置30は、例えば、図4に示すように、ネットワーク50を介した通信を行うネットワーク通信部310と、I/Oインターフェース320と、各種のデータが記憶される記憶部350と、操作部360と、管理制御部370と、上述したパズルゲームを実行するアプリケーション実行部380と、を有している。そして、上記の各部は、バスBによって相互に接続されている。
【0049】
ネットワーク通信部310は、所定のネットワークインターフェースであり、ネットワーク50に通信接続され、管理サーバ装置40との間において、全天球画像データ、問題データ、正解データ及びパズルゲームの結果データの各データ授受を行う。
【0050】
例えば、本実施形態においては、ネットワーク通信部310は、記憶部350に記憶されたブラウザによって読み出された各Webページを介して、ネットワーク50を通じて管理サーバ装置40と通信を実行する。
【0051】
なお、Webページとしては、例えば、パズルゲームサービスへのログインページ、自身のゲームスコア確認ページ、ランキング確認ページ等のページが含まれる。
【0052】
I/Oインターフェース320は、HDMI(登録商標)やUSB(登録商標)等の入出力インターフェースであり、HMD20に搭載されたI/Oインターフェース210とデータの授受を行うため、HMD20のI/Oインターフェース210と同一の規格に従ったインターフェースによって構成される。
【0053】
記憶部350は、HDD(ハードディスクドライブ)、SSD(ソリッドステートドライブ)、又は、EEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性メモリによって構成される。
【0054】
そして、記憶部350は、その記憶領域内に少なくとも、アプリケーション記憶部351と、各種の画像データが記憶される画像データ記憶部352と、パズルゲームにおいて各エリア画像を配置するための配置条件が配置条件データとして記憶される配置条件データ記憶部353と、ROM/RAM354と、を有している。
【0055】
アプリケーション記憶部351には、上記パズルゲームを実現するためのアプリケーション(以下、「パズルゲームアプリ」という。)と、XML(Extensible Markup Language)等のマークアップ言語によって記述されたデータを管理サーバ装置40から取得し、HMD20に表示させるための処理を実行するためのブラウザと、が記憶されている。
【0056】
画像データ記憶部352には、パズルゲームにおいて、問題データに基づき組み替えられた全天球画像データが記憶される。また、画像データ記憶部352は、第1エリア画像及び第2エリア画像の入れ替え処理が実行された際に画像バッファとして利用される。
【0057】
配置条件データ記憶部353は、パズルゲームにおいて、第1エリア画像を第2エリア画像の配置位置に配置する際に、第2エリア画像を第1エリア画像の配置位置に配置する際に、又は、後述するように、仮想空間において外郭の内周面に表示している場合に異なるレイヤに配置する際に、エリア画像の画像形状や画像サイズを変更する際に基準となるUVマッピング用の配置条件データが記憶される。
【0058】
ROM/RAM354には、表示制御装置30の駆動に必要な各種のプログラムが記憶されている。また、ROM/RAM354は、管理制御部370及びアプリケーション実行部380が各種の処理を実行する際のワークエリアとして用いられる。
【0059】
管理制御部370は、主にCPUによって構成され、プログラムを実行することによって、表示制御装置30の各部を統合制御する。例えば、管理制御部370は、電源のON及びOFF、又は、HMD20と連動に関する各制御を実行する。
【0060】
アプリケーション実行部380は、独立した中央演算処理装置(CPU)によって構成され、又は、管理制御部370の中央演算処理装置(CPU)を用いて構成される。
【0061】
そして、アプリケーション実行部380は、パズルゲームアプリの実行指示を受け付けつつ、当該パズルゲームの開始指示(問題データの特定も含む。)を受け付けると、HMD20及び管理サーバ装置40と連動しつつ、当該パズルゲームアプリに従ってパズルゲームに関する種々のゲーム処理を実行する。
【0062】
なお、本実施形態のアプリケーション実行部380における各部の構成及び処理の詳細について後述する。
【0063】
[3.2]アプリケーション実行部
次に、図5図9を用いて本実施形態のアプリケーション実行部380の詳細及び当該アプリケーション実行部380によって実行されるパズルゲームについて説明する。
【0064】
なお、図5は、本実施形態のパズルゲームにおける画像入れ替え時の動作を説明するイメージ図であり、図6は、本実施形態のパズルゲームにおいて全天球画像を分割する際の分割例を示す図である。また、図7は、本実施形態の問題データに基づいて全天球画像が仮想空間における外郭内側スクリーンに配置された例を示す図であり、図8は、本実施形態のパズルゲームにおいて第1エリア及び第2エリアを選択する際の原理を説明する図である。さらに、図9は、本実施形態の第1選択処理、第2選択処理及び配置換え処理を説明するための図である。
【0065】
(概要)
本実施形態のアプリケーション実行部380は、
(1)パズルゲームアプリの実行指示を受け付けつつ、当該パズルゲームの開始指示(問題データの特定も含む。)を受け付けると、
(2)ユーザの指示又は自動的に選択された問題データの対象となる全天球画像データ(すなわち、予め定められた基準点の周囲に形成されている空間を、管理サーバ装置40から当該基準点を視点として、画像化した空間画像(すなわち、全天球画像)を含む空間画像データ)を含む各データ取得する処理(以下、「データ取得処理」という。)、
(3)取得した全天球画像データに基づいて、画像化された全天球画像を複数のエリアに分割し、それぞれのエリアに対応するエリア画像のデータをエリア画像データとして生成する処理(以下、「分割処理」という。)、
(4)生成したエリア画像データに基づいて、ユーザの視点位置が予め定められて形成された仮想空間に、各エリア画像を配置する処理(以下、「画像配置処理」という。)、
(5)HMD20と連動し、ユーザの仮想空間内における視線方向を検出する視線検出処理、
(6)検出したユーザの指示入力(具体的には視線方向)に従って、仮想空間に配置された複数のエリア画像の中から、特定のエリア画像を第1エリア画像として選択する処理(以下、「第1選択処理」という。)、
(7)検出したユーザの指示入力(具体的には視線方向)に従って、仮想空間に配置された複数のエリア画像の中から、第1エリア画像とは異なるエリア画像を第2エリア画像として選択する処理(以下、「第2選択処理」という。)、及び
(8)第2エリア画像が選択され場合に、選択した第2エリア画像が配置されている仮想空間の位置に、選択された第1エリア画像を配置する処理(以下、「画像配置換え処理」という。)、
の各処理を実行する。
【0066】
特に、アプリケーション実行部380は、HMD20と連動し、パズルゲームの実行中、検出したユーザの視線方向に応じて、仮想空間におけるユーザの視点位置から見える画像をHMD20に表示させる表示処理(以下、「仮想空間表示処理」という。)を実行する。
【0067】
すなわち、アプリケーション実行部380は、球体形状の仮想空間内の内壁面、すなわち、外殻の内側の面を、全天球画像を表示するためのスクリーン(以下、「外郭内側スクリーン」という。)として用いて当該仮想空間の中心点を視点位置とした仮想カメラを設置し、当該仮想カメラによって映し出される仮想空間内の画像をHMD20に表示させる。
【0068】
また、アプリケーション実行部380は、各エリア画像を仮想空間に配置する際に、予め選択されている各エリア画像が配置される各配置位置の位置形状に合わせて当該各エリア画像の画像形状又は画像サイズ(例えば、インチ数などの物理画面サイズ又は解像度)を変更し、第2エリア画像が配置されている仮想空間の位置に第1エリア画像を配置する際に、第1エリア画像の画像形状又は画像サイズを、第2エリア画像が配置されている仮想空間内の位置形状に合わせて変更する。
【0069】
そして、アプリケーション実行部380は、上記の(4)〜(8)の各処理を繰り返し、問題データと正解データに基づいて、出題されたパズルゲームに正解したと判定した場合には、パズルゲームを終了させて、他のパズルゲームを実行するために、上記の(1)〜(8)の各処理を繰り返し実行させる。
【0070】
具体的には、アプリケーション実行部380は、管理制御部370による制御の下、パズルゲームアプリを実行することによって、パズルゲームの各ゲーム処理を実行するゲーム制御部381と、データ取得処理を実行するデータ取得部382と、分割処理、画像配置処理、第1選択処理、第2選択処理及び画像配置換え処理を実行する配置制御部383と、HMD20と連動して視線検出処理を実行する視線検出部384と、パズルゲームの実行中に仮想空間表示処理を実行するための表示用のデータを生成する表示データ生成部385と、を実現する。
【0071】
なお、例えば、本実施形態のデータ取得部382は、本発明の取得手段を構成し、配置制御部383は、本発明の分割手段、画像配置制御手段、第1選択手段、及び、第2選択手段を構成する。また、例えば、本実施形態の視線検出部384は、HMD20とともに視線検出手段及び入力検出手段を構成し、表示データ生成部385は、HMD20の表示制御部270と連動して、本発明の表示制御手段を構成する。
【0072】
(本実施形態の原理)
VR環境下においては、パズルゲーム用の画像に限らず、例えば、全天球画像を形成及び表示するためには、仮想空間を球体形状にてその外郭の内周面に沿って画像を配置することが望ましく、この場合には、当該全天球画像を所定のエリア毎に分割して仮想空間の外郭の内側の面(すなわち、内周面)に沿って配置させる必要がある。
【0073】
また、このように、当該全天球画像を所定のエリア毎に分割して仮想空間の外郭の内周面に沿って配置させるために、緯度に応じて形状が変化するという球体形状の特性に基づいて、各エリアにおいて画像形状やサイズを調整する必要がある。
【0074】
特に、パズルゲームなどの全天球画像におけるエリア画像の画像形状やサイズが、仮想空間の配置位置における形状やサイズと非同一の場合には、配置すべきエリア画像の形状やサイズを配置位置の形状やサイズに合わせて調整する必要がある。
【0075】
例えば、全天球画像の場合には、極近傍のエリアに関しては、三角形に近い形状を有するのに対して、赤道近傍のエリアに関しては、短冊状(すなわち、四角形)に近い形状を有している。このため、第1エリア画像として、極近傍のエリアを選択した場合には、当該第1エリア画像に対応する選択エリア画像を、そのままの形態にて、別レイヤや他の外郭内側スクリーンの位置に配置させようとすると、四角形の形状に三角形の形状のエリア画像を配置することも生じ、適切に各エリア画像を表示させることができない。
【0076】
そこで、本実施形態のアプリケーション実行部380は、例えば、第1エリア画像が三角形の形状の場合において、配置先の形状が四角形の場合には、当該第1エリア画像の形状を四角形の形状に変形させるなど、全天球画像上のどこのエリアを選択した場合であっても、適切に表示可能に配置することができる構成を有している。
【0077】
(ゲーム制御処理)
ゲーム制御部381は、ユーザによってパズルゲームの開始が指示されると、パズルゲームアプリを実行することによってゲームに関する各種の処理を実行するとともに、該当する問題ユーザの指示に基づいて、パズルゲームへのログイン、パズルゲームの開始、自身のゲームスコア確認、ランキングの表示、パズルゲームの終了、及び、パズルゲームの各種の設定など各種の処理を実行する。
【0078】
特に、ゲーム制御部381は、データ取得部382、パズルゲームの実行中に、配置制御部383、視線検出部384及び表示データ生成部385と連動し、上述の全天球画像取得処理、分割処理、画像配置処理、視線検出処理、第1選択処理、第2選択処理及び配置換え処理を実行させる。
【0079】
例えば、図5(A)に例示するようなパズル問題が出題され、その解答が、図5(C)に示すようなものであった場合を想定する。
【0080】
この場合において、ゲーム制御部381は、
(1)第1画像エリアとして、そのエリアID(1−3)がユーザによって選択されると、
(2)例えば、図5(B)に示すように、エリアID(1−3)に表示されるべきエリア画像を第1エリア画像として特定し、
(3)特定した第1エリア画像を後述するように別レイヤに表示させ、
(4)エリアID(1−2)が第2エリアに選択されると、
(5)例えば、図5(C)に示すように、第2エリアに表示されるべき第2エリア画像と第1エリア画像とを配置を入れ替える(図5(C)についてはこの時点で正解)
ゲーム処理を実行する。
【0081】
また、ゲーム制御部381は、第2エリア画像と第1エリア画像の入れ替えが完了すると、パズルゲームの終了まで、すなわち、制限時間内に正解しなかったなどゲームが終了条件を具備したか、又は、正解データに基づき、パズルゲームに正解するまで、(1)〜(5)の処理を繰り返し実行する。
【0082】
そして、ゲーム制御部381は、ゲームが終了すると、結果の正否をHMD20に表示させた後、結果データを生成し、自機のユーザに対応するユーザIDと、を対応付けつつ、管理サーバ装置40にアップロードしてパズルゲームを終了する。
【0083】
なお、ゲーム結果の正否判定をどのようにして行うのかについては任意であり、例えば、パズルの問題と、正解が、図5(A)及び(C)のような関係である場合には、正解データとして、エリアID(1−3)の画像と、エリア(1−2)の画像と、を入れ替えた正解データを用意しておき、正解データによって示される条件の全てが満たされている場合に、正解、満たされていない場合に、不正解と判定するようにしてもよい。
【0084】
(データ取得処理)
データ取得部382は、ユーザの指示に基づいて、パズルゲームが開始されて問題データが特定され、かつ、全天球画像が特定されると、管理サーバ装置40にアクセスしつつ、当該管理サーバ装置40から取得可能な全天球画像データの一覧を表示(例えば、サムネイル形式による表示)させる。
【0085】
そして、データ取得部382は、ユーザによって選択された全天球画像のデータ、全天球画像データを用いたパズルの問題内容を示す問題データと、当該問題データに対応する正解データと、を管理サーバ装置40から取得する。
【0086】
特に、問題データには、仮想空間において全天球画像を分割する予め定められた列数(緯度方向の分割数)及び行数(経度方向の分割数)と、パズルゲームの開始時における全天球画像が分割された各エリア画像のエリアID(例えば、列番及び行番で構成されるエリアID)が仮想区間上で配置するための後述するID(以下、「配置ID」という。)が規定されている。そして、正解データには、パズルゲームの正解時の配置IDが規定されている。
【0087】
(分割処理)
配置制御部383は、全天球画像などの各データが取得されると、問題データに含まれる分割数(列数及び行数)に基づいて、全天球画像データによって構成された全天球画像を分割して複数のエリア画像を生成するとともに、各エリア画像をデータ化したエリア画像データを生成する。
【0088】
特に、配置制御部383は、図6(A)及び(B)に示すように、所定のエリア(以下、「基準エリア」という。)を基準に、全天球画像を分割し、かつ、分割された各エリア画像にエリアIDを付与する。
【0089】
具体的には、配置制御部383は、図6(A)に示すように、予め定められた基準点(例えば、全天球画像を生成したとき予め定められた基準点、以下、「画像基準点」という。)を有するエリア画像(すなわち、左隅に以下、「基準エリア画像」という。)を基準に、図6(B)に示すように、分割されたエリア画像の一部をX−Y軸の二次元上に拡大して展開し、当該基準エリア画像から列方向(緯度方向)及び行方向(経度方向)に沿って順次、各エリア画像を一意に識別するためのエリアIDを割り振る。
【0090】
例えば、配置制御部383は、図6に示す例においては、北極(図6(A)において図面上側の極)の極地点を含む基準エリア画像の行番号を「1」とし、北極側から南極(図6(A)において図面下側の極)側方向に、かつ、左回りにてエリアIDを付与する。
【0091】
なお、上記の例では、球体形状を有する全天球画像の全体を平面化しつつ、X軸方向及びY軸方向の各々に対して連番を付すことによって、エリアIDを付与する場合を例に示しているが、各エリアにエリアIDを付与する具体的な方法は、任意であり、全天球画像のいずれかのエリアから順番に連番のエリアIDを付与するようにしてもよい。
【0092】
一方、配置制御部383は、分割した各エリア画像の画像形状(例えば、頂点数及びその相対座標)の情報、サイズ(例えば、隣接する頂点間の相対距離及び角度)の情報、又は、その双方の情報をオリジナル情報として抽出し、当該抽出した各情報を配置条件データとして配置条件データ記憶部353に記憶する。なお、本実施形態においては、分割時の各エリア画像データの配置順を正解データとして用いてもよい。
【0093】
(画像配置処理及び画像配置換え処理)
配置制御部383は、全天球画像を分割すると、分割した各エリア画像を、球体形状の仮想空間の外郭の内側の面(すなわち、球状の内周面の外郭内側スクリーン)に配置する。
【0094】
具体的には、配置制御部383は、予め定められた基準点(以下、「仮想空間内基準点」という。)に基づいて、外郭内側スクリーンを全天球画像の分割処理と同一の列数(すなわち、緯度方向の分割数)及び行数(すなわち、経度方向の分割数)に分割し、分割した各スクリーン(以下、「部分スクリーン」という。)に配置IDを付与する。
【0095】
特に、配置制御部383は、例えば、図7に示すように、仮想空間内基準点を右上に含む分割された部分スクリーンを基準に、北極側から南極側方向に、かつ、左回りにて配置IDを付与する。
【0096】
そして、配置制御部383は、エリア画像データに基づいて、各エリア画像のエリアIDを対応付けて、当該各エリア画像を、問題データに含まれる配置IDに従って仮想空間の位置(すなわち、外郭内側スクリーンの位置)に配置する。
【0097】
なお、図7には、問題データによってエリアID(3−6)のエリア画像をエリアID(3−7)のエリア画像と入れ替える場合の例を示す。すなわち、この場合には、配置制御部383は、パズルゲームの開始時に、エリアID(3−6)のエリア画像を、配置ID(A2)の部分スクリーンの位置に配置し、エリアID(3−7)のエリア画像を、配置ID(A1)の部分スクリーンの位置に配置する配置処理を実行する。
【0098】
一方、配置制御部383は、各エリア画像を外郭内側スクリーンに配置する際に、エリア画像データに基づいて、各エリア画像の画像形状及びサイズと配置先の部分スクリーンの位置形状とが一致しない場合(例えば、エリア画像を元の位置から変更する場合)には、配置条件データ記憶部353に記憶された配置条件データに基づいて、UVマッピングを実行し、該当するエリア画像の画像形状又はサイズを配置先の部分スクリーンの位置形状に合わせて変形させて配置する。
【0099】
例えば、配置制御部383は、配置先の部分スクリーンの三次元モデルの頂点(仮想空間内における座標)と、配置条件データによって示される該当するエリア画像の頂点(頂点数および各頂点の相対座標)を合わせつつ、部分スクリーンの三次元モデルにエリア画像を貼り付けることによって、部分スクリーンの位置形状に合致させつつ、エリア画像の画像形状又はサイズを変形する。
【0100】
そして、各エリア画像が配置されると、表示データ生成部385は、HMD20(具体的には、表示方位設定部230)から取得した表示方位データに基づき、ユーザの顔の向きを特定し、当該特定した向きに従って、仮想空間における視点から見える全天球画像を表示するためのデータを生成してHMD20に出力する。
【0101】
(視線検出処理)
視線検出部384は、パズルゲームアプリを実行することによって、HMD20の視線検出カメラ250を制御し、視線検出カメラ250から供給される撮像画像データに対応する画像(すなわち、ユーザの眼を撮像した画像)を解析し、ユーザの向いている向きと視点から見える仮想空間内の画像とに基づいて、ユーザの仮想空間内における視線方向を検出する。
【0102】
具体的には、視線検出部384は、仮想空間内におけるユーザの視線方向において、当該視線が所定時間(例えば、3秒程度)以上停滞し、かつ、焦点の合っている仮想空間の座標位置(具体的には、仮想空間の外郭内側スクリーンの座標)をユーザの凝視点として特定する。
【0103】
そして、視線検出部384は、当該検出したユーザの視線方向の仮想空間内における方位及び凝視点を示すデータ(以下、「視線データ」という。)を生成し、生成した視線データを配置制御部383に供給する。
【0104】
例えば、本実施形態の視線検出部384は、ユーザの視線方向を検出すると、当該視線方向の外郭内側スクリーン面上に凝視点させるための凝視点サークルを仮想空間上に表示させるための表制御を実行し、当該凝視点サークルを数秒間凝視したことを検出した場合に、当該凝視点サークルの位置を凝視したとして検出し、視線データを生成して配置制御部383に供給する。
【0105】
なお、ユーザの眼を撮像した画像を解析して、ユーザの視線を検出する手法は、従来と同様であるため、詳細を省略する。
【0106】
(第1選択処理及び第2選択処理)
配置制御部383は、視線検出部384から供給される視線データに基づき、当該視線方向にある仮想空間の外郭内側における凝視点を検出し、当該凝視点の属するエリア(以下、「凝視エリア」ともいう。)に形成されているエリア画像を第1エリア画像として選択する。
【0107】
特に、配置制御部383は、ユーザの視線が、所定時間以上停滞している位置を凝視点として特定し、かつ、当該凝視点の属するエリアを凝視エリアとして特定する。そして、配置制御部は、特定した凝視エリアに形成されているエリア画像を第1エリア画像として選択し、当該エリア画像のエリアIDを第1エリア画像のエリアIDとして、ROM/RAM354に記憶させる。
【0108】
また、配置制御部383は、第1エリア画像の選択後に、同様に、凝視点を検出し、当該凝視点の属する凝視エリアに形成されているエリア画像を第2エリア画像として選択する。特に、配置制御部383は、特定した凝視エリアに形成されているエリア画像を第2エリア画像として選択し、当該エリア画像のエリアIDを第2エリア画像のエリアIDとして、ROM/RAM354に記憶させる。
【0109】
一方、配置制御部383は、第1エリア画像を選択した場合には、各エリア画像が配置されている外郭内側スクリーンのレイヤ(以下、「第1レイヤ」ともいう。)とは異なるレイヤであって、仮想空間内におけるユーザの視点位置と外郭内側スクリーンの第1レイヤとの間に形成されたスクリーンのレイヤ(以下、「第2レイヤ」という。)に、第1エリア画像を移動させる。
【0110】
例えば、図8(A)に示すように、視線検出部384によってユーザの視線方向において表示された視点サークルに当該視線が所定時間(例えば、3秒程度)以上停滞し、かつ、焦点の合っている位置をユーザの凝視点として特定された場合を想定する。
【0111】
この場合に、配置制御部383は、図8(B)に示すように、当該凝視点の存在する凝視エリアに配置されたエリア画像のエリアIDを第1エリア画像のエリアIDとして抽出し、抽出したエリアIDを有するエリア画像を、図9に示すように、外郭内側スクリーンが形成されている第1レイヤと異なる仮想空間内における第2レイヤに配置する(図9の[1])。
【0112】
具体的には、配置制御部383は、仮想空間内における空間座標、長方形などの形状タイプ、長方形で各頂点間の距離、又は、これらの2以上の情報が予め定められている第2レイヤのスクリーンの位置形状の情報(以下、「第2レイヤ情報」という。)と、配置条件データによって示される第1エリア画像の画像形状、サイズ又はその双方の情報と、に基づいて、画像配置処理と同様に、UVマッピングを実行し、該当する第1エリア画像の画像形状又はサイズを第2レイヤのスクリーンの位置形状に合わせて変形させて配置する。
【0113】
なお、第1エリア画像を第2レイヤに配置した場合に、当該第1エリア画像が配置されていた外郭内側スクリーンの位置に表示する画像は、任意であり、例えば、黒塗り画像を表示してもよいし、全天球画像における他のエリア画像や他の画像を表示してもよい。
【0114】
また、このとき、配置制御部383は、第2レイヤを可動可能に制御し、ユーザの顔の向きが変化した場合であっても、ユーザの視界の一部に常に表示形成される部分に配置する(図9の[2])。
【0115】
他方、配置制御部383は、第2エリア画像が設定されると、配置条件データ記憶部353に記憶された配置条件データに基づき、第2レイヤのスクリーンに配置されたエリア画像の画像形状、サイズ又はその双方を、配置条件データに基づいて、UVマッピングを実行し、第2エリア画像が配置されていた位置形状に変形させつつ、当該位置に配置(すなわち、再配置)する(図9の[3])。
【0116】
そして、配置制御部383は、配置条件データ記憶部353に記憶された配置条件データに基づき、UVマッピングを実行し、第2エリア画像の画像形状、サイズ又はその双方を、第1エリア画像が元々配置されていた外郭内側スクリーンの位置形状に変形させつつ、当該位置に移動させて配置する(図9の[4])。
【0117】
(仮想空間表示処理)
表示データ生成部385は、分割された各エリア画像が仮想空間における外郭内側スクリーンに配置されると、ゲームが終了するまで、HMD20から取得したユーザの顔の向き(すなわち、頭の向き)を示す表示方位データに応じて当該仮想空間の視点から見える当該仮想空間内の画像を表示させるための表示データを生成し、生成した表示データをI/Oインターフェース320を介してHMD20に供給し、HMD20に供給する。
【0118】
特に、表示データ生成部385は、リアルタイム(例えば、5ms毎)にユーザの顔の向きを示す表示方位データを取得し、取得した表示方位データに基づいて、視点から見える仮想空間内を画像化した表示データを生成する。
【0119】
なお、本実施形態においては、視点は仮想空間にける中心を基準とし、所定の範囲内(ユーザの頭部が動ける範囲内、例えば、所定の座標から半径20cmの球状の範囲)において可動可能な基準点を用いる。ただし、当該視点は、完全に固定されて定点であってもよく、ジャイロやGPSによってユーザの移動方向と距離を検出することが可能であれば、当該移動方向及び距離に伴って当該視点を移動させてもよい。
【0120】
[4]画像表示制御装置の動作
次に、図10を用いて本実施形態の画像表示装置10のアプリケーション実行部380において実行される処理について説明する。なお、図10は、本実施形態の画像表示装置10のアプリケーション実行部380によって実行される処理を示すフローチャートである。
【0121】
本動作においては、以下の処理に先立って、ユーザ管理DB501、全天球画像データ用DB502及び問題データ用DB503には、必要なデータが記憶済みの状態にあるものとし、ユーザは、パズルゲームサービスに既にログイン済の状態にあるものとする。
【0122】
まず、ゲーム制御部381は、操作部360に対するユーザの入力操作を検出すると(ステップS101)、データ取得部382に、管理サーバ装置40から全天球画像データ、問題データ及び正解データを取得するための処理を実行させる(ステップS102)。
【0123】
このとき、データ取得部382は、管理サーバ装置40から全天球画像データの一覧を取得しつつ、当該一覧からユーザによって選択された全天球画像データ及び当該全天球画像データに対応する問題データと質問データを管理サーバ装置40から取得して、当該取得したデータを画像データ記憶部352に記憶する。
【0124】
次いで、配置制御部383は、分割処理によって、画像データ記憶部352に記憶された全天球画像データによって示される全天球画像を複数のエリア画像に分割して仮想空間の外郭内側スクリーンに配置し(ステップS103)、表示データ生成部385は、HMD20において視点から見える仮想空間を表示するための表示データの生成を開始させる(ステップS104)。
【0125】
なお、表示データ生成部385は、ゲームが終了するまでHMD20から取得した表示方位データに基づいて視点から見える仮想空間内の画像を表示するための表示データを生成する。
【0126】
次いで、視線検出部384は、HMD20から供給された撮像画像データに対応する撮像画像を解析することによって、ユーザの視線及び凝視点を検出し、所定のエリア画像の選択を検出すると(ステップS105)、凝視点に属する凝視エリアを含むエリア画像を第1エリア画像として選択し、そのエリアIDを特定する(ステップS106)。
【0127】
特に、視線検出部384は、HMD20に対し、制御信号を出力することによって視線検出カメラ250を制御し、かつ、当該HMD20から供給された撮像画像データに対応する撮像画像を解析し、ユーザの視線を検出する。そして、視線検出部384は、視線データに基づき、ユーザの視線が、所定時間以上停滞している位置(すなわち、凝視点)が検出されると、凝視点の属する凝視エリアに属するエリア画像を第1エリア画像として選択する。
【0128】
次いで、配置制御部383は、特定したエリアIDを有するエリア画像データを取得し、当該取得したエリア画像データに基づいて該当するエリア画像を第2レイヤに配置する(ステップS107)。このとき、配置制御部383は、第1エリア画像が配置されていた元の配位置には所定の画像又は黒の画像を表示する。
【0129】
次いで、視線検出部384は、HMD20から供給された撮像画像データに対応する撮像画像を解析することによって、ユーザの視線及び凝視点を検出し、所定のエリア画像の選択を検出すると(ステップS108)、凝視点に属する凝視エリアを含むエリア画像を第2エリア画像として選択し、そのエリアIDを特定する(ステップS109)。
【0130】
次いで、配置制御部383は、配置条件データに基づき、UVマッピングを行いつつ、第1エリア画像を第2エリア画像の外郭内側スクリーンにおける配置位置に配置するとともに、第2エリア画像を外郭内側スクリーンにおける第1エリア画像の配置位置に配置する画像配置換え処理を実行する(ステップS110)。
【0131】
次いで、ゲーム制御部381は、制限時間を経過したか、又は、ステップS110の処理において正解をしたか否かなどのゲームが終了したか否かを判定する(ステップS111)。
【0132】
このとき、ゲーム制御部381は、ゲームが未だ終了していないと判定した場合には、ステップS105の処理に移行し、ゲームが終了したと判定した場合には、スコアの表示その他の終了処理を実行して(ステップS112)本動作を終了させる。
【0133】
以上説明したように、本実施形態においては、ユーザの指示に基づいて仮想空間内に分割表示されている画像の表示位置を移動制御することによって、仮想空間における画像の入れ替えなどの新たなインターフェースとして利用すること、及び、ゲームに利用するなど、ユーザにおける操作性の向上及びエンターテインメント性や興趣性を向上させることができる。
【0134】
[5]変形例
[5.1]変形例1
上記実施形態においては、予め撮像された全天球画像を用いて仮想空間におけるパズルゲームにおける画像表示及びゲーム処理を実行している点に代えてHMD20に設けられた撮像カメラによってリアルタイムに撮像された画像を用いて仮想空間におけるパズルゲームにおける画像処理及びゲーム処理を実行してもよい。
【0135】
具体的には、HMD20に風景画像撮像部を設け、当該風景画像撮像部は、HMD20において、ユーザの視線の方向に向けて配置されたデジタルカメラを有し、当該デジタルカメラによって撮像された風景画像(例えば、360度の全天球画像)に対応する風景画像データを生成し、I/Oインターフェース210を介して、表示制御装置30に供給する構成を有している。
【0136】
なお、風景画像撮像部に含まれるカメラの具体的な配置位置については、任意であり、例えば、HMD20において、ユーザの双方の眼球が覆われている部位にそれぞれ上記のデジタルカメラを配設する。
【0137】
これによって、ユーザの顔の向きに連動し、それぞれデジタルカメラによって撮像された画像を用いて左右の視差画像を生成すれば、現実空間上の風景画像を用いて仮想空間におけるパズルゲームを実施することができるようになっている。
【0138】
また、例えば、本変形例の風景画像撮像部は、本発明の撮像手段を構成する。
【0139】
特に、本変形例において、アプリケーション実行部380(具体的には、画像配置制御部383)は、平面的な風景画像であっても、分割したエリア画像毎に以下のように3次元モデル化して外郭内側スクリーンに配置することが可能になっている。
【0140】
すなわち、アプリケーション実行部380は、図11に示すように、
(1)風景画像撮像部によって画像化された風景画像に分割専用座標を付与し、
(2)分割専用座標に付与された風景画像を3次元モデルに貼付けて画像化された風景画像を全天球画像の分割エリアに合致させて、上記の実施形態と同様に、風景画像を複数のエリアに分割し、
(3)分割した撮像風景画像のエリア画像を全天球画像から切り出し、
(4)配置条件データに基づいて、当該切り出されたエリア画像に付与された分割専用座標を外郭内側スクリーンの所定の位置における3次元モデルの頂点とあわせて変形し、
(5)変形したエリア画像を3次元モデル化し、
(6)三次元モデル化したエリア画像を該当する外郭内側スクリーンの位置に配置する。
【0141】
なお、図11は、本変形例における平面画像を3次元モデル化する場合の処理を説明するための図である。
【0142】
[5.2]変形例2
本実施形態において、第1エリア画像を選択して第2レイヤに移動させた場合に、当該元の第1エリア画像が配置された外郭内側スクリーン上(すなわち、第1レイヤ上)の位置に、当該第1エリア画像に表示されているオブジェクトに関連する画像を配置してもよい。
【0143】
この場合には、アプリケーション実行部380は、第1エリア画像に表示される自動車などの商品、人物又はキャラクタなどの特定すべきオブジェクトに対するパターンマッチングなどの画像処理を実行して当該第1エリア画像に含まれるオブジェクトを特定する。
【0144】
すなわち、この場合には、アプリケーション実行部380は、例えば、特定すべきオブジェクトの輪郭を示すパターンデータを用意し、第1エリア画像においてエッジ検出を実行して当該パターンデータと比較することによって一致するパターンデータを特定することによって当該第1エリア画像に含まれるオブジェクトを特定する。
【0145】
そして、アプリケーション実行部380は、特定されたオブジェクトに関し、予め図示しないデータベースに記憶された当該オブジェクトに対する画像(以下、「オブジェクト画像」という。)を管理サーバ装置40から取得し、第2エリア画像が選択されるまで当該オブジェクト画像を元の第1エリア画像が配置された外郭内側スクリーン上(すなわち、第1レイヤ上)の位置に配置して仮想空間に表示させる。
【0146】
例えば、アプリケーション実行部380は、オブジェクト画像として、オブジェクトに関する広告の画像や当該オブジェクトの説明を行うための画像や当該オブジェクトの他の画像を配置して仮想空間内において表示する。
【0147】
なお、本変形例においては、予め全天球画像データ用DB502に記憶されている全天球画像を仮想空間に配置して当該全天球画像の中から第1エリア画像を選択した場合に適用してもよいし、上記の変形例1に示すようにHMD20によってリアルタイムに撮像されて画像化された画像を仮想空間に配置して当該リアルタイムの画像の中から第1エリア画像を選択した場合に適用してもよい。
【0148】
また、本変形例においては、オブジェクト画像を、第1元の第1エリア画像が配置された外郭内側スクリーン上(すなわち、第1レイヤ上)の位置に配置して仮想空間内で表示させる点に代えて、当該第2レイヤに表示されている第1エリア画像上に重畳配置させて仮想空間内で表示させるようにしてもよい。
【0149】
[5.3]変形例3
上記実施形態においては、ユーザの視線を検出し、凝視点に基づき、第1エリア及び第2エリアを設定する構成を採用していたが、第1エリア及び第2エリアを操作部360に対するユーザの入力操作に応じて、設定するようにしてもよい。
【0150】
[5.4]変形例4
上記実施形態においては、全天球画像を所定の角度毎に緯度経度方向に分割することによって、全天球画像を複数のエリアに分割する構成を採用したが、エリア分割の形態は、これに限らず、例えば、所定の土地形状に分割するようにしてもよく、また、ジグソーパズル等の形状に分割するようにしてもよい。
【0151】
[5.5]変形例5
本実施形態においては、外郭内側スクリーンに表示する画像として、全天球画像に代えて半天球画像であってもよいし、平面的な画像であってもよい。この場合には、仮想空間としては、外郭内側スクリーンに表示する画像の形状に合わせて変更してもよいし、球形状の仮想空間を用いてもよい。
【0152】
[5.6]変形例6
本実施形態においては、第1エリア画像の選択及び第2エリア画像との配置換えについては、パズルゲームに利用して説明しているが、単にWebページや映画などの如何なるコンテンツに対しても適用可能である。
【0153】
[5.7]変形例7
本実施形態においては、全天球画像としては予め定められた点からの3次元空間の画像を用いて説明したが、Webページやグラフィック画像などの2次元空間であってもよい。この場合には、ユーザは、疑似的な部屋などの3次元仮想空間内で、外郭内側スクリーンに配置された画像を閲覧するような画像がHMD20に表示されることとなる。
【0154】
[5.8]変形例8
本実施形態においては、第1エリア画像が選択された場合に、第2レイヤに第1エリア画像を表示する点に代えて、第1エリア画像に関連する画像(以下、「関連画像」という。)を表示してもよいし、第2レイヤに移動させずに第1レイヤの該当部分に配置される当該第1エリア画像に代えて、当該配置位置に第1エリア画像に関連する関連画像を表示してもよい。
【0155】
この場合には、例えば、関連画像としては、上記のような第1エリア画像に含まれるオブジェクトに関する広告用の画像の他に、風景画像やグラフィック画像などの全天球画像の一部に表示形成されるアイコンやサムネイルをエリア画像として適用し、当該アイコンによって対応付けられた画像を関連画像として用いてもよい。
【0156】
例えば、後者の場合には、全天球画像としてバーチャルの美術館、博物館又は展示場の空間を形成し、閲覧を希望する展示物(すなわち、絵画や展示物)のアイコンやサムネイル的なエリア画像を第1エリア画像として選択されると、当該アイコンやサムネイルに対応付けられた画像(例えば、絵画の作者や時代背景を示す詳細情報や該当する展示物を拡大した画像)を表示することが可能となる。
【0157】
なお、この場合には、上記実施形態のように、第2エリア画像を選択させてもよいし、当該第2エリア画像を選択せずに、第1エリア画像の選択処理のみによって完結してもよい。
【符号の説明】
【0158】
1 … 画像表示システム1
10 … 画像表示制御装置
20 … HMD
30 … 表示制御装置
40 … 管理サーバ装置
210 … I/Oインターフェース
220 … ジャイロセンサ
230 … 表示方位設定部
240 … 画像メモリ
250 … 視線検出カメラ
260 … 表示部
261 … 表示パネル(右眼用)
262 … 表示パネル(左眼用)
270 … 表示制御部
280 … HMD制御部
310 … ネットワーク通信部
320 … I/Oインターフェース
350 … 記憶部
351 … アプリケーション記憶部
352 … 画像データ記憶部
353 … 配置条件データ記憶部
354 … ROM/RAM
360 … 操作部
370 … 管理制御部
380 … アプリケーション実行部
381 … ゲーム制御部
382 … データ取得部
383 … 配置制御部
384 … 視線検出部
385 … 表示データ生成部
501 … ユーザ管理DB
502 … 全天球画像データ用DB
503 … 問題データ用DB
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11