以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態のシミュレーションシステム(ゲームシステム、映像表示システム、シミュレーション装置)の構成例を示す。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
入力装置160は、ユーザが種々の入力情報を入力するための装置である。この入力装置160は、音入力装置161、振動デバイス164を含むことができる。また入力装置160は、ユーザがゲームの操作情報を入力するためのゲームコントローラの機能を有していてもよい。ゲームコントローラは、例えば操作ボタン、方向指示キー、ジョイスティック又はレバー等により実現される。この場合にゲームコントローラと音入力装置161は、一体の筐体で実現してもよいし、別体の筐体で実現してもよい。
音入力装置161は、ユーザが音情報を入力するための装置である。音入力装置161により、例えばユーザの歌声や呼び声や掛け声などのユーザ音声を入力できる。この音入力装置161は例えば図2(A)で説明するマイク162などにより実現できる。なお音入力装置161の形状は図2(A)のような形状のマイク162には限定されず、例えばヘッドバンドを有するヘッドセット型マイクや小型マイクなどの種々のタイプのものを用いることができる。また音入力装置161は、楽器或いは楽器を模した装置における音の入力装置(ピックアップマイク等)であってもよい。楽器としては、弦楽器(ギター)、打楽器(ドラム、太鼓)、或いは鍵盤楽器(ピアノ、キーボード)などがある。
振動デバイス164(振動発生部)は、警告等のための振動を発生するデバイスであり、例えば振動モータ(バイブレータ)などにより実現される。振動モータは、例えば、偏芯した錘を回転させることで振動を発生する。具体的には駆動軸の両端に偏心した錘を取り付けてモータ自体が揺れるようにする。なお振動デバイス164は、振動モータには限定されず、例えばピエゾ素子などにより実現されるものであってもよい。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(ハードディスクドライブ)、SDD、光ディスク装置などにより実現できる。記憶部170は、空間情報記憶部172、楽曲情報記憶部174、音データ記憶部175、パラメータ記憶部176、描画バッファ178を含む。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
頭部装着型表示装置200(HMD)は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。HMD200は非透過型であることが望ましいが、透過型であってもよい。またHMD200は、いわゆるメガネタイプのHMDであってもよい。
HMD200は、センサ部210、表示部220、処理部240を含む。なおHMD200に発光素子を設ける変形実施も可能である。センサ部210は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部210を用いたトラッキング処理により、HMD200の位置、方向を特定する。HMD200の位置、方向を特定することで、ユーザの位置、方向を特定できる。ユーザの位置、方向により、ユーザ(プレーヤ)に対応する仮想空間の仮想ユーザ(仮想プレーヤ)の位置、方向が特定される。ユーザの位置、方向は例えばユーザの視点位置、視線方向である。仮想ユーザの位置、方向は例えば仮想ユーザの視点位置、視線方向である。
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第1のトラッキング方式では、後述の図2(A)、図2(B)で詳細に説明するように、センサ部210として複数の受光素子(フォトダイオード等)を設ける。そして外部に設けられた発光素子(LED等)からの光(レーザー等)をこれらの複数の受光素子により受光することで、現実世界の3次元空間でのHMD200(ユーザの頭部)の位置、方向を特定する、第2のトラッキング方式では、後述の図3(A)、図3(B)で詳細に説明するように、複数の発光素子(LED)をHMD200に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、HMD200の位置、方向を特定する。第3のトラッキング方式では、センサ部210としてモーションセンサを設け、このモーションセンサを用いてHMD200の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば3軸の加速度センサと3軸のジャイロセンサを用いた6軸のモーションセンサを用いることで、現実世界の3次元空間でのHMD200の位置、方向を特定できる。なお、第1のトラッキング方式と第2のトラッキング方式の組合わせ、或いは第1のトラッキング方式と第3のトラッキング方式の組合わせなどにより、HMD200の位置、方向を特定してもよい。
HMD200の表示部220は例えば液晶ディスプレイ(LCD)や有機ELディスプレイなどにより実現できる。例えばHMD200には、表示部220として、ユーザの左目の前に配置される第1のディスプレイと、右目の前に配置される第2のディスプレイが設けられており、例えば立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第1のディスプレイに左目用画像を表示し、第2のディスプレイに右目用画像を表示すればよい。
HMD200の処理部240は、HMD200において必要な各種の処理を行う。例えば処理部240は、センサ部210の制御処理や表示部220の表示制御処理などを行う。また処理部240が、3次元音響(立体音響)処理を行って、3次元的な音の方向や距離や広がりの再現を実現してもよい。
音出力部192は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、入力装置160からの入力情報やHMD200でのトラッキング情報(HMDの位置、方向、或いは視点位置、視線方向)と、プログラムなどに基づいて、ゲーム処理、ゲーム成績演算処理、表示処理、或いは音処理などを行う。
処理部100の各部が行う本実施形態の各処理(各機能)はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Processing Unit)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理(機能)が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、入力処理部102、演算処理部110、出力処理部140を含む。演算処理部110は、ゲーム処理部111、ゲーム成績演算部118、表示処理部120、音処理部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
入力処理部102(入力処理のプログラムモジュール)は、入力情報やトラッキング情報を受け付ける処理や、記憶部170から情報を読み出す処理や、通信部196を介して情報を受信する処理を、入力処理として行う。例えば入力処理部102は、入力装置160を用いてユーザが入力した入力情報やHMD200のセンサ部210等により検出されたトラッキング情報(ユーザの位置、方向又は視線の情報等)を取得する処理や、読み出し命令で指定された情報を、記憶部170から読み出す処理や、外部装置(サーバ等)からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部196に情報の受信を指示したり、通信部196が受信した情報を取得して記憶部170に書き込む処理などである。
演算処理部110は、各種の演算処理を行う。例えばゲーム処理、ゲーム成績演算処理、表示処理、或いは音処理などの演算処理を行う。
ゲーム処理部111(ゲーム処理のプログラムモジュール)はユーザがゲームをプレイするための種々のゲーム処理を行う。ゲーム処理部111は、ゲーム進行処理部112、評価処理部113、キャラクタ処理部114、パラメータ処理部115、オブジェクト空間設定部116、仮想カメラ制御部117を含む。
ゲーム進行処理部112は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。評価処理部113は、ユーザのゲームプレイの評価処理を行う。例えば音楽ゲームでのユーザの演奏や、ゲーム操作についての評価処理を行う。音楽ゲームに使用される楽曲情報は楽曲情報記憶部174に記憶される。
キャラクタ処理部114は、キャラクタに関する種々の処理を行う。例えばオブジェクト空間(仮想空間、ゲーム空間)においてキャラクタを移動させる処理や、キャラクタを動作させる処理を行う。例えばキャラクタを動作させる処理は、モーションデータを用いたモーション処理(モーション再生等)により実現できる。パラメータ処理部115は、ゲームに使用される種々のパラメータ(ゲームパラメータ)の演算処理を行う。例えばパラメータの値を増減させる処理を行う。パラメータの情報はパラメータ記憶部176に記憶される。
オブジェクト空間設定部116は、複数のオブジェクトが配置されるオブジェクト空間(広義には仮想空間)の設定処理を行う。例えば、キャラクタ(人、動物、ロボット等)、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170の空間情報記憶部172には、オブジェクト空間での複数のオブジェクト(パーツオブジェクト)の位置、回転角度(方向)等の情報が空間情報として記憶される。オブジェクト空間設定部116は、例えば各フレーム毎にこの空間情報を更新する処理などを行う。
仮想カメラ制御部117は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。この仮想カメラはユーザの視点に相当する。立体視表示の場合は、左目用の第1の視点(左目用の第1の仮想カメラ)と、右目用の第2の視点(右目用の第2の仮想カメラ)が設定される。
ゲーム成績演算部118はユーザのゲーム成績を演算する処理を行う。例えばユーザのゲームプレイにより獲得された得点、ポイントなどのゲーム成績の演算処理を行う。
表示処理部120(表示処理のプログラムモジュール)は、ゲーム画像の表示処理を行う。例えば処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、HMD200の表示部220に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点。左目用、右目用の第1、第2の視点)から見える画像が生成される。なお、表示処理部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音処理部130(音処理のプログラムモジュール)は、処理部100で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部192に出力させる。ゲーム中に出力(再生)される音のデータは音データ記憶部175に記憶される。なお音処理部130の音処理の一部(例えば3次元音響処理)を、HMD200の処理部240により実現してもよい。
出力処理部140は各種の情報の出力処理を行う。例えば出力処理部140は、記憶部170に情報を書き込む処理や、通信部196を介して情報を送信する処理を、出力処理として行う。例えば出力処理部140は、書き込み命令で指定された情報を、記憶部170に書き込む処理や、外部の装置(サーバ等)に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部196に情報の送信を指示したり、送信する情報を通信部196に指示する処理などである。
例えば本実施形態では、ゲーム処理部111は、複数のオブジェクトが配置される仮想空間(ゲーム空間)において、ユーザがプレイするゲームの処理を行う。例えばオブジェクト空間である仮想空間には、キャラクタ等の複数のオブジェクトが配置されており、ゲーム処理部111は、この仮想空間でのゲームを実現するための種々のゲーム処理(ゲーム進行処理、キャラクタ処理、オブジェクト空間設定処理、或いは仮想カメラ制御処理等)を実行する。そして表示処理部120は、仮想空間において所与の視点(左目用、右目用の第1、第2の視点)から見えるゲーム画像を、HMD200の表示部220(第1、第2のディスプレイ)に表示する処理を行う。即ち、仮想空間であるオブジェクト空間において、仮想ユーザ(ユーザ)の視点(仮想カメラ)から見えるゲーム画像を表示する処理を行う。
例えばHMD200を装着した現実世界のユーザが、後述の図4、図5の個室のプレイエリアにおいて移動したり、移動方向が変化したり、首を振ったり、しゃがんだりして、その位置、方向が変化すると、ユーザに対応する仮想空間の仮想ユーザの位置、方向も変化する。現実世界でのユーザの位置、方向は、HMD200のトラッキング処理により特定できるため、仮想空間での仮想ユーザの位置、方向も特定できる。ユーザ、仮想ユーザの位置、方向は、例えばユーザ、仮想ユーザの視点位置、視線方向でもある。仮想ユーザがキャラクタとして表示されない場合には、HMD200の表示画像は一人称視点の画像となり、仮想ユーザがキャラクタとして表示される場合には表示画像は三人称視点の画像になる。
なお、プレイエリア(行動エリア)は、例えばユーザが移動可能な範囲として設定されるエリアであり、例えばユーザがゲームプレイ等の行動を行うエリア(フィールド、スペース)として予め規定されているエリアである。このプレイエリア(広義には移動可能範囲)は、例えばユーザの位置情報等のトラッキングが可能な範囲を内包するエリアである。プレイエリアは、例えば周囲が壁で囲まれたエリアであってもよいが、オープンスペースのエリアであってもよい。
そして本実施形態では入力処理部102は、実空間において移動するユーザの位置、方向の情報を取得する。例えばHMD200のトラッキング処理等により特定されるユーザの位置(視点位置)や方向(視線方向、移動方向)の情報を取得する。実空間(ユーザが移動可能な範囲)には第1〜第M(Mは3以上の整数)のスピーカ(実スピーカ)が配置されている。例えばユーザの周囲を囲むように3個以上のスピーカが配置されている。これらのスピーカは、プレイエリアである個室の壁や天井に設置されるスピーカであってもよいし、オープンエリアのプレイエリアにおいてスタンドにより支持されて設置されるスピーカであってもよい。
そして音処理部130は、仮想スピーカの設定処理を行い、設定された仮想スピーカを用いて仮想空間での音場形成処理を行う。仮想スピーカの設定処理は仮想スピーカ設定部132が行い、音場形成処理は音場形成処理部134が行う。具体的には、音処理部130(仮想スピーカ設定部)は、実空間(プレイエリア、行動エリア)でのユーザの位置、方向(視点位置、視線方向)の変化に伴い、ユーザに対応する仮想ユーザの仮想空間(オブジェクト空間)での位置、方向(視点位置、視線方向)が変化した場合にも、仮想ユーザに対して所定の相対的位置関係を保って追従する第1〜第N(Nは2以上の整数)の位置に対して、第1〜第Nの仮想スピーカを設定する処理を行う。例えば実空間に配置された第1〜第Mのスピーカの音量バランス調整などを行うことで、第1〜第Nの仮想スピーカを設定する。そして音処理部130(音場形成処理部)は、仮想空間内の仮想音源による音場の形成処理を、これらの第1〜第Nの仮想スピーカを用いて行う。例えば、設定された第1〜第Nの仮想スピーカの音量バランス調整を行って、これらの第1〜第Nの仮想スピーカから仮想的な音を出力することで、仮想空間の任意の位置に設定される仮想音源による音場の形成処理を行う。例えば仮想音源の位置に仮想音源による音が定位するような音場形成処理を行う。
仮想スピーカは、現実に存在するスピーカではなく、コンピュータ演算処理により、仮想空間に設定される仮想的なスピーカである。仮想スピーカは、実空間(現実世界)の複数のスピーカの音量バランス調整などにより実現される。本実施形態では、仮想スピーカと仮想ユーザとの相対的な位置関係が例えば予め決められている。この相対的位置関係は、仮想ユーザの位置及び方向(視線位置及び視線方向)の少なくとも一方と仮想スピーカの位置等との相対的な関係である。例えばステレオの場合には、仮想ユーザの左耳と右耳を結ぶ線上に2つの仮想スピーカが設定される。サラウンドの場合には、仮想ユーザの周囲の複数の所定位置に、所定数の仮想スピーカの各仮想スピーカが配置される。例えば仮想ユーザの左斜め前方向、右斜め前方向、左斜め後ろ方向、右斜め後ろ方向などに仮想スピーカが設定される。或いはこれらに加えて、仮想ユーザの正面方向や真後ろの方向に仮想スピーカが設定される。仮想スピーカは、コンピュータ演算処理により実現されるものであるため、その設定個数は2以上の任意の個数であり、その設定位置も任意である。
仮想音源は、例えば仮想空間における音の発生源としてコンピュータ演算処理により実現される仮想的な音源である。仮想音源の音は、例えば仮想空間に登場するオブジェクトを発生源とする音などである。例えば仮想音源の音は、仮想空間(ゲーム空間、オブジェクト空間)に登場するキャラクタの音声(声援、掛け声、歌声)や演奏音(ギター、ドラム又はピアノ等の楽器の演奏音)などである。また仮想音源の音は、仮想空間に登場する車、飛行機又はロボット等の移動体から聞こえる動作音などであってもよいし、仮想空間での爆発物による爆発音などの効果音であってもよい。本実施形態では、これらの仮想音源がコンピュータ演算処理によりシミュレートされる。そして、仮想音源による音場が、仮想スピーカにより形成される。例えば複数の仮想スピーカの音量バランス調整等を行うことにより、仮想音源による音場が形成される。なお仮想音源の位置や方向の情報は空間情報記憶部172に記憶される。
また音処理部130は、第1〜第Mのスピーカのうちの第1のスピーカ群の位置の情報と第1〜第Nの位置のうちの第1の位置の情報とに基づいて、当該第1のスピーカ群の音量バランス調整を行うことで、第1〜第Nの仮想スピーカのうちの第1の仮想スピーカを設定(構成)する。また第1〜第Mのスピーカのうちの第2のスピーカ群の位置の情報と第1〜第Nの位置のうちの第2の位置の情報とに基づいて、当該第2のスピーカ群の音量バランス調整を行うことで、第1〜第Nの仮想スピーカのうちの第2の仮想スピーカを設定(構成)する。
ここで、第1のスピーカ群、第2のスピーカ群の各々は、第1〜第Mのスピーカのうちの複数のスピーカにより構成される。第1のスピーカ群を構成する複数のスピーカと、第2のスピーカ群を構成する複数のスピーカの間には、重複するスピーカがあってもよい。
そして第1の仮想スピーカは、第1のスピーカ群の音量バランス調整により実現される。例えば第1のスピーカ群のうちの第mのスピーカの音量を大きくすれば、第1の仮想スピーカは、第mのスピーカに対応する位置に近づき、第nのスピーカの音量を大きくすれば、第1の仮想スピーカは、第nのスピーカに対応する位置に近づく。そして第1のスピーカ群の各スピーカの音量バランスをどのように調整するかは、第1のスピーカ群の各スピーカの位置の情報と、第1の仮想スピーカが設定される第1の位置の情報とに基づいて、決定される。
同様に、第2の仮想スピーカは、第2のスピーカ群の音量バランス調整により実現される。そして第2のスピーカ群の各スピーカの音量バランスをどのように調整するかは、第2のスピーカ群の各スピーカの位置の情報と、第2の仮想スピーカが設定される第2の位置の情報とに基づいて、決定される。
また音処理部130は、少なくとも3個のスピーカを含む第1のスピーカ群に、第1のチャンネルの音を出力させ、少なくとも3個のスピーカを含む第2のスピーカ群に、第2のチャンネルの音を出力させる。第1のチャンネルの音は例えば左チャンネルの音であり、第2のチャンネルの音は例えば右チャンネルの音である。このようにすれば、第1のスピーカ群の音量バランス調整により設定される第1の仮想スピーカから第1のチャンネルの音が仮想的に出力され、第2のスピーカ群の音量バランス調整により設定される第2の仮想スピーカから第2のチャンネルの音が仮想的に出力されるようになる。そして、各々が少なくとも3個のスピーカを含む第1、第2のスピーカ群を用いることで、任意の位置への第1、第2の仮想スピーカの設定が可能になる。例えば第1のチャンネルが左チャンネルであり、第2のチャンネルが右チャンネルである場合には、仮想ユーザの左耳に対応する位置と右耳に対応する位置とを結ぶ線上の任意の位置に、第1、第2の仮想スピーカを設定することが可能になる。なお第1、第2のチャンネルは、例えばサラウンドにおける任意のチャンネルであってもよい。
音処理部130は、例えば仮想ユーザの左耳に対応する位置に第1の仮想スピーカが設定されるように、第1のスピーカ群の音量バランス調整を行い、仮想ユーザの右耳に対応する位置に第2の仮想スピーカが設定されるように、第2のスピーカ群の音量バランス調整を行ってもよい。このようにすれば、あたかもヘッドホンを装着しているかのような音をユーザに聴かせることが可能になる。
また音処理部130は、第1、第2のスピーカ群に、バイノーラル音源による音を出力させてもよい。このようにすれば、耳の鼓膜に届く状態での音が、左右の第1、第2の仮想スピーカから仮想的に出力されるようになるため、あたかもその場に居合わせたかのような臨場感のある音を聴かせることが可能になる。バイノーラル音源による音は、バイノーラル音源の音をコンピュータ演算処理により仮想的にシミュレートした音であってもよいし、バイノーラル録音による音を含む音であってもよい。例えば仮想音源から左耳、右耳に直接に届く音波に加えて、耳たぶや体の各部によって複雑に回折、反射する音波が重ね合わさるような音のシミュレーション処理を行って、仮想スピーカから出力させる。
また音処理部130は、上述のように第1のスピーカ群の位置の情報と第1の位置の情報とに基づいて、第1のスピーカ群の音量バランス調整を行うことで、第1の仮想スピーカを設定し、第2のスピーカ群の位置の情報と第2の位置の情報とに基づいて、第2のスピーカ群の音量バランス調整を行うことで、第2の仮想スピーカを設定すると共に、第1〜第Mのスピーカのうちの第3のスピーカ群の位置の情報と第1〜第Nの位置のうちの第3の位置の情報とに基づいて、第3のスピーカ群の音量バランス調整を行うことで、第1〜第Nの仮想スピーカのうちの第3の仮想スピーカを設定してもよい。このようにすれば、仮想空間内に第1、第2、第3の仮想スピーカというように少なくとも3個の仮想スピーカを設定できるようになり、サラウンド効果を実現できる。
なお仮想スピーカの設定数は4個以上であってもよい。例えば5個の仮想スピーカを設定する場合には、仮想ユーザの左斜め前、右斜め前に第1、第2の仮想スピーカを設定し、仮想ユーザの正面に第3の仮想スピーカを設定し、仮想ユーザの左斜め後ろ、右斜め後ろに第4、第5の仮想スピーカを設定すればよい。この場合に実空間においてユーザの位置、方向が変化し、仮想空間において仮想ユーザの位置、変化が変化した場合にも、仮想ユーザに対する第1〜第5の仮想スピーカの相対的位置関係が維持されたままになる。従って、ユーザ(仮想ユーザ)の位置や方向の変化に追従するサラウンドスピーカ(仮想サラウンドスピーカ)の実現が可能になる。
また音処理部130は、第1〜第Nの仮想スピーカの第1〜第Nの位置の情報と仮想音源の位置の情報とに基づいて、第1〜第Nの仮想スピーカの音量バランス調整を行うことで、仮想音源による音場の形成処理を行う。
例えば第1〜第Nの仮想スピーカのうちの第1の仮想スピーカ群の位置の情報と、第1の仮想音源の位置の情報とに基づいて、第1の仮想スピーカ群の音量バランス調整を行うことで、第1の仮想音源による音場の形成処理を行う。また第1〜第Nの仮想スピーカのうちの第2の仮想スピーカ群の位置の情報と、第2の仮想音源の位置の情報とに基づいて、第2の仮想スピーカ群の音量バランス調整を行うことで、第2の仮想音源による音場の形成処理を行う。第1、第2の仮想スピーカ群の各々は少なくとも3個の仮想スピーカを含む。これらの3個の仮想スピーカの位置と仮想音源との相対的な位置関係に基づいて、これらの3個の仮想スピーカの音量バランス調整を行うことで、あたかも仮想音源の位置から音が発生しているかのように聞こえる音場を形成する。
また本実施形態では、実空間のユーザには移動可能範囲が設定されており、移動可能範囲に対応する位置に第1〜第Mのスピーカが配置される。例えば移動可能範囲の周囲に第〜第Mのスピーカを配置したり、その一部を移動可能範囲内に配置する。ユーザの移動可能範囲は、例えばユーザのプレイエリアであり、プレイエリアは、周囲が壁で囲まれたエリアであってもよいし、オープンスペースのエリアであってもよい。
また表示処理部120は、ユーザに対応する仮想ユーザの視点から見える画像の表示処理を行う。例えば仮想空間であるオブジェクト空間において、当該視点から見える画像の表示処理を行う。この画像は、仮想ユーザの視点位置において、その視線方向に見える画像である。この画像はいわゆる立体視画像であることが望ましい。
また表示処理部120は、仮想ユーザが表示されない一人称視点での画像の表示処理を行う。即ち、仮想ユーザに対応するキャラクタが仮想空間には登場せず、仮想ユーザの視点位置、視線方向での画像を表示する。
また表示処理部120は、ユーザが装着するHMD200(頭部装着型表示装置)に画像を表示するための処理を行う。このようにHMD200を装着してその視界が覆われると、ユーザは、自身の周囲に配置される複数のスピーカの位置を把握できなくなる。この場合にも本実施形態では、これらの複数のスピーカの音量バランス調整で実現される複数の仮想スピーカが、ユーザに対応する仮想ユーザに対して所定の相対的位置関係を保って設定されるようになる。即ち、ユーザの位置や方向が変化して、仮想ユーザの位置や方向が変化した場合にも、当該相対的位置関係は維持される。従って、HMD200を装着するユーザの位置や方向が変化した場合にも、適正(正確)な音場を形成することが可能になる。
また入力処理部102は、ユーザがHMD200を装着して移動する場合に、HMD200に設けられたセンサ部210からの情報に基づいて、ユーザの位置、方向の情報を取得する。例えば後述する図2(A)〜図3(B)のようなトラッキング手法により、ユーザの位置、方向の情報を取得する。そして、取得されたユーザの位置、方向の情報に基づいて、ユーザに対応する仮想ユーザの位置、方向を特定し、当該仮想ユーザに追従する複数の仮想スピーカを設定し、仮想音源による音場を形成する。
また表示処理部130は、仮想空間での仮想音源による音の発生状況を再現する画像の表示処理を行う。例えば仮想空間に登場する観客が仮想音源である場合には、この観客が歓声や掛け声や拍手をすることで音が発生する状況の再現画像を表示する。仮想空間に登場するギタリストなどの演奏者が仮想音源である場合には、演奏者が例えば移動しながら演奏して演奏音(ギターの音等)が発生する状況の再現画像を表示する。また爆発物が仮想音源である場合には、爆発物が投下されて爆発による爆発音が発生する状況を再現する画像を表示する。こうすることで、仮想スピーカを用いた仮想音源の音場と、仮想音源による音の発生状況の画像とがリンクするようになり、ユーザの仮想現実感を更に向上できるようになる。
また音処理部130は、実空間の第1〜第Mのスピーカのうちの第iのスピーカ(1≦i<M)へのユーザの接近が検出された場合に、第iのスピーカから出力される音の音量、高周波成分及び残響の少なくとも1つを調整する処理を行う。例えば第iのスピーカの音の音量を下げたり、第iのスピーカの音の高周波成分を低減したり、第iのスピーカの音の残響(エコー)を大きくすることで、第iのスピーカの存在を隠すための処理を行う。このようにすれば、ユーザが第iのスピーカに接近した場合に、第iのスピーカの存在を、ユーザが認識できないようにすることが可能になる。これにより、仮想スピーカがこれらの実空間のスピーカにより形成されたものであることを、ユーザが感じにくくすることが可能になる。
また音処理部130は、所定状況が発生したと判断した場合に、第1〜第Nの仮想スピーカの設定を無効にする。例えば緊急事態の発生などの所定状況が発生したと判断した場合に、第1〜第Nの仮想スピーカの設定を無効にして、仮想スピーカによる仮想音の出力を無効にする。第1〜第Nの仮想スピーカの設定を無効にする処理は、実空間の第1〜第Mのスピーカが、仮想スピーカの設定のための音量バランス調整を行わないようにすることで実現できる。例えば第1〜第Nの仮想スピーカの各仮想スピーカが、各仮想スピーカに対応する各スピーカ群の音量バランス調整により設定される場合に、その各スピーカ群の音量バランス調整を行わないようにすることで、各仮想スピーカの設定を無効にできる。
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。なお、以下では本実施形態の手法が適用されるゲームが、歌の演奏を行う音楽ゲーム(ライブステージのゲーム、カラオケゲーム等)である場合を主に例にとり説明する。しかしながら、本実施形態の手法が適用されるゲームは、これに限定されず、例えば弦楽器(ギター等)、打楽器(ドラム、太鼓等)、或いは鍵盤楽器(キーボード、ピアノ)等の楽器を演奏する音楽ゲーム(リズムや演奏の上手さを競うゲーム)などであってもよい。また本実施形態の手法は、異性キャラクタ等とのコミュニケーションゲーム(人間関係シミュレーションゲーム)、トークバトルなどを行う会話ゲーム(法廷闘争ゲーム、掛け合い漫才ゲーム)、戦闘ゲーム、RPGゲーム、ロボットゲーム、カードゲーム、スポーツゲーム、或いはアクションゲーム等の種々のゲームや、映像コンテンツや音楽コンテンツの再生にも適用可能である。
2.1 HMD、プレイエリア
図2(A)に本実施形態のシミュレーションシステムに用いられるHMD200の一例を示す。図2(A)に示すようにHMD200には複数の受光素子201、202、203(フォトダイオード)が設けられている。受光素子201、202はHMD200の前面側に設けられ、受光素子203はHMD200の右側面に設けられている。またHMDの左側面、上面等にも不図示の受光素子が設けられている。
またユーザPLは、左手、右手で入力装置160−1、160−2を持っている。入力装置160−1、160−2には、HMD200と同様に複数の受光素子(不図示)が設けられている。また入力装置160−1にはマイク162(広義には音入力装置)が設けられており、ユーザPLは歌の演奏ゲームにおいてマイク162に口を向けて歌うことになる。また入力装置160−1、160−2はゲームコントローラとしても機能し、不図示の操作ボタン、方向指示キー等が設けられている。なおユーザが持つ入力装置160の個数は1個であってもよい。
またHMD200には、ヘッドバンド260等が設けられており、ユーザPLは、より良い装着感で安定的に頭部にHMD200を装着できるようになっている。そしてユーザPLは、ゲームコントローラとして機能する入力装置160−1、160−2を操作したり、頭部の頷き動作や首振り動作を行うことで、操作情報を入力し、ゲームプレイを楽しむ。頷き動作や首振り動作は、HMD200のセンサ部210等により検出できる。
図2(B)に示すように、ユーザPLのプレイエリアにはベースステーション280、284が設置されている。ベースステーション280には発光素子281、282が設けられ、ベースステーション284には発光素子285、286が設けられている。発光素子281、282、285、286は、例えばレーザー(赤外線レーザー等)を出射するLEDにより実現される。ベースステーション280、284は、これら発光素子281、282、285、286を用いて、例えばレーザーを放射状に出射する。そして図2(A)のHMD200に設けられた受光素子201〜203等が、ベースステーション280、284からのレーザーを受光することで、HMD200のトラッキングが実現され、ユーザPLの頭の位置や向く方向(広義にはユーザの位置や方向)を検出できるようになる。また入力装置160−1、160−2に設けられた不図示の受光素子が、ベースステーション280、284からのレーザーを受光することで、入力装置160−1、160−2のトラッキングが実現され、入力装置160−1、160−2の位置や方向を検出できるようになる。これにより、例えばゲーム画像に、入力装置160−1に対応するマイクの画像等を表示することが可能になる。
図3(A)にHMD200の他の例を示す。図3(A)では、HMD200に対して複数の発光素子231〜236が設けられている。これらの発光素子231〜236は例えばLEDなどにより実現される。発光素子231〜234は、HMD200の前面側に設けられ、発光素子235や不図示の発光素子236は、背面側に設けられる。これらの発光素子231〜236は、例えば可視光の帯域の光を出射(発光)する。具体的には発光素子231〜236は、互いに異なる色の光を出射する。そして図3(B)に示す撮像部150をユーザPLの前方側に設置し、この撮像部150により、これらの発光素子231〜236の光を撮像する。即ち、撮像部150の撮像画像には、これらの発光素子231〜236のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザPLの頭部(HMD)のトラッキングを実現する。即ちユーザPLの頭部の3次元位置や向く方向(ユーザの位置、方向)を検出する。
例えば図3(B)に示すように撮像部150には第1、第2のカメラ151、152が設けられており、これらの第1、第2のカメラ151、152の第1、第2の撮像画像を用いることで、ユーザPLの頭部の奥行き方向での位置等が検出可能になる。またHMD200に設けられたモーションセンサのモーション検出情報に基づいて、ユーザPLの頭部の回転角度(視線)も検出可能になっている。従って、このようなHMD200を用いることで、ユーザPLが、周囲の360度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間(仮想3次元空間)での画像(ユーザの視点に対応する仮想カメラから見える画像)を、HMD200の表示部220に表示することが可能になる。なお、発光素子231〜236として、可視光ではなく赤外線のLEDを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
なお、ユーザの視点位置、視線方向(ユーザの位置、方向)を検出するトラッキング処理の手法は、図2(A)〜図3(B)で説明した手法には限定されない。例えばHMD200に設けられたモーションセンサ等を用いて、HMD200の単体でトラッキング処理を実現してもよい。即ち、図2(B)のベースステーション280、284、図3(B)の撮像部150などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。
図4、図5に本実施形態のゲームが実現されるプレイエリアの一例を示す。このプレイエリアは、ボックス状の防音の個室により実現される。図4、図5に示すようにボックスの個室は、壁301、302、303、304、天井305、ドア306を有する。壁301、302、303、304、天井305の内側にはクッション材としても機能する防音材311、312、313、314、315が設けられている。また天井305には前述のベースステーション280、284や照明器具290、292が設置されている。
ユーザPLの前側にはフロントスピーカ330、331、センタースピーカ332が設置され、後ろ側にはリアスピーカ333、334、ウーハー335が設置される。これらのスピーカによりサラウンド音響が実現される。そしてウーハー335が収容されている収容ボックス内に、巻き取り装置50が収容されている。この巻き取り装置50は回転リール62を有しており、ケーブル20は、収容ボックス(棚)に設けられたケーブル通過口52を通って、回転リール62により巻き取られる。
ユーザPLは図5のドア306を開けて個室内に入り、ゲームをプレイする。この個室内の空間がユーザPLのプレイエリア(プレイ空間、実空間)になる。そして図5に示すように、ボックスの個室のプレイエリアには、ユーザPLの移動範囲(移動可能範囲)として想定されるエリアARが設定される。このエリアAR内では、ステーション280、284等を用いたユーザPLの位置、方向(視点位置、視線方向)のトラッキングが可能になっている。一方、エリアARの境界BDを越えた位置では、確実なトラッキングを実現できない。またユーザPLがエリアARの境界BDを越えると、壁301、302、303、304にぶつかるおそれがあり、安全面の上で望ましくない。エリアARの設定は、例えばゲーム装置のイニシャライズ設定などにより、その範囲を設定可能になっている。
そして図4、図5に示すように、ユーザPLは腰ベルト30を装着している。腰ベルト30には収容部32が取り付けられており、この収容部32内にケーブル20の中継点RPが設けられる。ケーブル20は、HMD200から中継点RPを経由して巻き取り装置50により巻き取られる。ケーブル部分21とケーブル部分22の間のポイントが中継点RPになる。なおケーブル20には、ユーザPLが基準位置に立っている際にケーブル20を弛ませるためのストッパー26が設けられている。
2.2 ゲームの概要
次に、本実施形態の手法により実現されるゲームの概要について説明する。本実施形態により実現されるゲームは、本物のライブステージのような臨場感の中、バンドのボーカルになりきって、ボーカル演奏を行う音楽ゲームである。ユーザは、大観衆を目前にして歌うという、かつてない高揚感を感じつつ、自分のファンからの歓声を全身に浴びる強烈な快感を得ることができる。HMDと大出力のサラウンドスピーカーにより、まるで本物のライブステージに出演し、自分のファンに囲まれて歌っているかのような、臨場感を得ることができる。
ステージの周りの観客は、ユーザのボーカル演奏やステージアクションに反応して、派手な声援や様々なアクションをインタラクティブに返してくる。HMDによる、まるでその場に立っているかのような臨場感のライブステージの上で、表情まで見える最前列のファンをはじめ、会場を埋める満員の観客の前で、バンドメンバーの演奏と共に、自分の歌とライブパフォーマンスを行って、観客の期待に応える。
ユーザは共有スペースに設けられた受け付けスペースで、入室時間の予約やプレイ設定を行い、図4、図5に示すようにクッション材(防音材)が貼られた安全な個室内で、ライブ出演体験を楽しむ。
ユーザは、ステージ出演前のプレイ設定において、コンサート出演モードを選択する。その後、歌う曲の選択を行い、出演ステージを選択する。そして図2(A)、図2(B)等で説明したHMD200、入力装置160−1、160−2などのデバイスや、腰ベルト30を装着する。店舗のオペレータが、注意事項等を説明し、ユーザのデバイス等の装着や調整を補助する。プレイエリアである個室空間のキャリブレーション(イニシャライズ)は、オペレータが事前に行う。
図2(A)の入力装置160−1は、マイク&ゲームコントローラになっている。VR(バーチャルリアリティ)空間内では、ユーザ(仮想ユーザ)の腕や手は描画されないが、ユーザが手で持っている入力装置160−1等の位置がセンシングされ、同じ位置にマイク画像が描画され、ユーザの動きに応じてマイク画像が動くようになる。
ユーザは、VR空間のスタンバイルームで、ボーカルのキー調整を行う。スタンバイルームは、ステージの下の待機スペースである。VR空間においてユーザが立っているスペースは大きなリフトになっていて、本番時にはステージ上にせり上がる。
リフトが上昇しステージが近づいて来るのに合わせて、遠くから聞こえていたホールの歓声や掛け声が徐々に大きくなり、迫力を増し、且つ、生々しく変化する。ステージ上にユーザが出現すると、ユーザに向けて前方から逆光のスポットライトが当てられ、ユーザの登場で最高潮に達した大歓声が起こる。
ライブの本番ではユーザは、思う存分、ステージでの熱唱を楽しむ。図6、図7は、ステージ上のユーザのHMD200に表示されるゲーム画像(VR空間での画像)の例である。図6、図7に示すようにユーザの目の前には満員の観客が映し出される。図6はユーザが正面を向いた場合のゲーム画像であり、図7は、ユーザが右方向を向いた場合のゲーム画像である。
図6、図7に示すように、HMD200を用いる本実施形態のゲーム装置では、ユーザの全周囲の方向に亘って、仮想空間であるVR空間の世界が広がる。例えばHMD200を装着したユーザが前方向を向けば、図6のゲーム画像がHMD200に表示され、右方向を向けば、図7のゲーム画像が表示される。後ろ方向を向けば、演奏バンドなどの画像が表示される。従って、多数の観客が歓声を上げる巨大なコンサートホールにおいて、ボーカル演奏しているかのような仮想現実感をユーザに与えることができ、ゲームへの没入度等を格段に向上できる。
また本実施形態では、曲の抑揚に合わせて観客の動き(アクション)や歓声が変化する。またユーザのアクションに応じるように、観客の動きや歓声が変化する。例えば図6において、ユーザが立つステージの近くの観客AD1〜AD7は、例えば多数のポリゴンで構成されるポリゴンモデルのオブジェクトにより表現されている。図7の観客AD8〜AD11も同様である。一方、ステージから遠い位置にいる観客は、ユーザの視線に正対するビルボードポリゴンに描かれた画像により表現されている。
ポリゴンモデルの観客(AD1〜AD11)は、例えばモーションデータによるモーション再生によりその動きが表現されている。これらの観客は、曲のリズムにのって基本アクション(基本モーション)を行う。観客は、ユーザの声や動きに応じも、インタラクティブにリアクションする。ユーザが、例えば「特定の方向を向いて歌う」、「手を振る」といったアクションを行うことで、その方向の観客のテンションが上がり、基本アクションが、1段階、派手になったり、或いは曲のリズムとは関係ない突発的な盛り上がりアクションを行うようになる。
図8は、VR空間においてユーザPL(仮想ユーザ)が立つステージSGを、上方から俯瞰した様子を示す図である。ステージSGは境界BDSにより区画されており、ステージSGの周りの観客席SE1、SE2、SE3には、図6、図7に示すようにアクションする観客が配置されている。このステージSGの境界BDSは、例えば図5の現実世界のプレイエリアのエリアARの境界BDに対応している。一例としては、図5の現実世界のエリアARの境界BDから例えば所定距離だけ内側に対応する位置に、VR空間でのステージSGの境界BDSが設定されている。
本実施形態ではユーザは、観客を盛り上げるためのパフォーマンスを行うことができる。ユーザに向けて何らかのアピールのアクションをしてくる観客が、当該パフォーマンスのターゲットになる。例えば図6では、観客AD4が、右手を高く上げてユーザに対してアピールのアクションを行っており、この観客AD4がターゲットになる。また図7ではアピールのアクションを行っている観客AD10がターゲットになる。
これらのアピールする観客に対して、ユーザがアクションを行うことで、これらの観客の熱狂度パラメータ(熱狂度ゲージ)の値が上昇する。そして熱狂度パラメータが最大値になると、これらの観客が、大喜びを表現する熱狂アクションを行うようになる。
アピールする観客に対してユーザが行う第1のアクションは、そのターゲットの観客の方に視線を向けて歌うアクションである。この第1のアクションが行われるのは、楽曲の歌唱パートと間奏パートのうち、歌唱パートにおいてである。
アピールする観客に対してユーザが行う第2のアクションは、観客に対して呼びかけなどの発声を行うアクションである。ユーザの呼びかけの発声に対して、観客は声援や掛け声や拍手などで応答する。ユーザは、観客からの声援や掛け声や拍手に合わせて、腕を上げるアクションなどを行う。
これらの第1、第2のアクションのターゲットとなる観客は、例えばランダムにコンサートホール内で発生する。ユーザの1曲の演奏におけるターゲットの数は所定数に決まっている。ターゲットとなる所定数の全ての観客について、熱狂度パラメータが最大値になり盛り上げに成功すると、全クリアになる。例えばターゲットとなる観客の数が10人である場合に、これらの10人の全ての観客の熱狂度パラメータが最大値に達すると、ターゲットの全クリアになる。この場合に、ターゲットのクリア数に応じて、最後のステージエフェクトの種類が変化する。例えば10人のターゲットの全てをクリアした場合には、最後のステージにおいて最も派手なエフェクトが発生する。また例えば8人のターゲットをクリアした場合には、5人のターゲットをクリアした場合に比べて、より派手なエフェクトが発生する。
また本実施形態ではユーザの歌唱力が評価される。即ち、ユーザの歌の音程とリズムが検知されて評価される。具体的には、リズムに合わせた発声が出来たかを評価する。例えば、ベース又はドラムの演奏の指定タイミングに合わせて、ユーザが発声できると、ポイントが加算される。また、ロングトーンの上手さや、休符についての正確性なども評価される。また音程の正確性も評価する。即ち、ユーザの歌の音程判定を行い、正解な音程で歌った音程をグラフ的に表示する。なお、ユーザの音量がゼロの状態が一定時間、継続すると、観客の多くは待機モーションに移行し、その間はユーザはポイント加算を得ることができない。
ユーザの演奏が終了し、ライブステージを通してのユーザの評価結果が一定基準を満たすと、観客はアンコールを求めて来る。そのアンコールに応えることで、ユーザは更に1曲、追加で演奏できるようになる。そしてライブステージの終了時には、フェードアウトする歓声の中で、照明はさらに暗くなり、ブラックアウトして終了する。その後、「お疲れ様でした、HMDを外してください」といった表示及びガイド音声が流れる。そしてユーザは装備を外して個室から退室し、ゲームプレイの終了となる。
2.3 仮想スピーカ
図9(A)では、ユーザPLは、移動可能範囲であるプレイエリアで移動可能になっており、プレイエリア(移動可能範囲)の周囲に5つのスピーカFL、FR、FC、RL、RRが配置されている。FL、FRはフロントスピーカであり、FCはセンタースピーカであり、RL、RRはリアスピーカである。このようなスピーカFL、FR、FC、RL、RRを配置することで、いわゆるサラウンド音響を実現でき、奥行き感や広がり感が表現された臨場感のある音響をユーザPLに提供できる。
しかしながら、これらのスピーカFL、FR、FC、RL、RRによるサラウンドは、図9(A)のようにユーザPLがプレイエリアの中央(基準位置)に位置し、正面方向(基準方向)を向いている場合に最適になるように、仮想空間の音場が形成されている。このため、図9(B)のようにユーザPLが移動して、ユーザPLの位置PPLがプレイエリアの中央から離れた場所に変化したり、図10に示すようにユーザPLの向く方向DPLが変化した場合には、不適正(不正確)な音場になってしまう。ここでユーザPLの位置PPLは例えばユーザの視点位置であり、ユーザPLの方向DPLは例えばユーザPLの視線方向である。なおユーザPLの移動方向がユーザの視線方向に一致するものと想定するようにしてもよい。
例えばユーザPLは、図9(A)では真後ろにあった仮想空間での仮想音源(例えばバンドの演奏者)の位置が、図9(B)では右斜めの位置に存在するように感じてしまう。またユーザPLは、図9(A)では真正面にあった仮想音源(例えば観客)の位置が、図10では、左斜め後ろに存在するように感じてしまう。このため、ユーザPLの仮想現実感が損なわれたり、方向感を失ってしまうなどの問題が生じるおそれがある。特にユーザPLがHMD200を装着している場合には、その視界がHMD200により覆われており、実世界の状況を見ることができないため、方向感等を失ってしまう可能性が高い。
そこで本実施形態では、ユーザPLの位置PPL、方向DPLが変化しても、正確な音場環境(例えばサラウンド環境)の維持を可能にする手法を採用している。具体的には実空間の複数のスピーカの音量バランス調整により、仮想空間に複数の仮想スピーカを設定し、これらの複数の仮想スピーカを用いて、仮想空間内の仮想音源を表現する。
まず図11(A)、図11(B)を用いて、ステレオ用の仮想スピーカの設定手法について説明する。例えば図11(A)、図11(B)において、スピーカSP1、SP2の音量バランスを調整することで、左チャンネル用の仮想スピーカVS1を設定(構成)する。またスピーカSP3、SP4の音量バランスを調整することで、右チャンネル用の仮想スピーカVS2を設定(構成)する。そして仮想スピーカVS1から、ステレオ再生における左チャンネルの音を出力する。また仮想スピーカVS2から、ステレオ再生における右チャンネルの音を出力する。これによりユーザに対して正しい向きでのステレオ効果を与えることができる。
ここで、図11(A)、図11(B)のスピーカSP1、SP2、SP3、SP4は、実空間に配置されるスピーカであり、図9(A)のように、ユーザPLの移動可能範囲に対応して設置されるスピーカFL、FR、FC、RL、RRに相当する。そしてP1、P2、P3、P4はスピーカSP1、SP2、SP3、SP4の位置である。PS1、PS2は、仮想スピーカVS1、VS2(第1、第2の仮想スピーカ)の位置(第1、第2の位置)である。
また図11(A)、図11(B)の仮想ユーザPV(仮想プレーヤ)は、図9(A)のユーザPL(プレーヤ)に相当するものであり、実空間のユーザPLの位置PPL、DPLが変化すると、それに応じて仮想空間の仮想ユーザPVの位置PP、方向DPも変化する。位置PPは仮想ユーザPVの例えば視点位置であり、方向DPは仮想ユーザPVの例えば視線方向である。
例えばユーザPLがHMD200を装着している場合には、HMD200の位置、方向を検出することでユーザPLの位置、方向(視点位置、視線方向)を特定し、これにより仮想ユーザPVの位置、方向(視点位置、視線方向)が特定される。従って図9(A)〜図10のようにユーザPLの位置PPL、方向DPLが変化した場合に、それに応じて仮想空間の仮想ユーザPVの位置PP、方向DPを変化させることができる。なおユーザPLがHMD200を装着しないようなシステムにおいても、各種のセンサを用いることでユーザPLの位置PPL、方向DPLを特定し、それに応じて仮想ユーザPVの位置PP、方向DPを変化させることが可能である。例えば画像センサ(RGBセンサ)やデプスセンサなどのセンサを用いて、ユーザPLのスケルトン情報や位置情報を取得して、ユーザPLの位置PPL、方向DPLを特定してもよい。
そして本実施形態では、ユーザPLの位置PPL、方向DPLの変化に伴い、仮想ユーザPVの位置PP、方向DPが変化した場合にも、仮想スピーカVS1、VS2は仮想ユーザPVに対して所定の相対的位置関係を保って追従する。具体的には、図11(A)、図11(B)では、仮想ユーザPVに対して相対的位置関係を保って追従する位置PS1、PS2(第1、第2の位置)に、仮想スピーカVS1、VS2(第1、第2の仮想スピーカ)が設定される。例えば仮想ユーザPVの左耳ELの位置と右耳ERの位置を結ぶ線上に、仮想スピーカVS1、VS2の位置PS1、PS2が設定されるという相対的位置関係が保たれる。例えば図11(A)と図11(B)とでは、仮想ユーザPVの位置PP、方向DPは異なっているが、仮想ユーザPVに対する仮想スピーカVS1、VS2の相対的位置関係は保たれている。即ち、仮想ユーザPVの左耳ELと右耳ERを結ぶ線上に位置PS1、PS2が設定されるように、仮想スピーカVS1、VS2が仮想ユーザPVに追従する。
そして仮想空間内の仮想音源(例えば後述する観客、演奏者等)による音場形成を、これらの仮想スピーカVS1、VS2を用いて行う。例えば当該仮想音源の位置に当該仮想音源による音が定位するように、仮想スピーカVS1、VS2の音量バランス調整等が行われる。このようにすれば、ユーザPLの位置PPL、方向DPLが変化して、仮想ユーザPVの位置PP、方向DPが変化した場合にも、これらの変化に依存しない適正な音場を形成できるようになる。
また図11(A)、図11(B)では、スピーカSP1、SP2の音量バランス調整を行うことで、位置PS1に仮想スピーカVS1を設定し、スピーカSP3、SP4の音量バランス調整を行うことで、位置PS2に仮想スピーカVS2を設定している。
図12は、図11(A)、図11(B)の仮想スピーカVS1、VS2をスピーカSP1〜SP4の音量バランス調整により設定する手法の説明図である。
図12では、スピーカSP1〜SP4(広義には第1〜第Mのスピーカ)のうちの第1のスピーカ群であるスピーカSP1、SP2の位置P1、P2の情報と、位置PS1(第1の位置)の情報とに基づいて、スピーカSP1、SP2の音量バランス調整を行うことで、仮想スピーカVS1(第1の仮想スピーカ)を設定している。またスピーカSP1〜SP4のうちの第2のスピーカ群であるスピーカSP3、SP4の位置P3、P4の情報と、位置PS2(第2の位置)の情報とに基づいて、スピーカSP3、SP4の音量バランス調整を行うことで、仮想スピーカVS2(第2の仮想スピーカ)を設定している。
例えば図11(A)、図11(B)で説明したように、位置PS1、PS2は、仮想ユーザPVの位置PP、方向DPに対して相対的位置関係を保つ位置に設定されており、例えば図12に示すように左耳ELと右耳ERを結ぶ線LLR上の位置に設定されている。具体的には位置PS1は、線LLRと、位置P1、P2を結ぶ線L12との交点の位置になる。位置PS2は、線LLRと、位置P3、P4を結ぶ線L34との交点の位置になる。
そして位置PS1に仮想スピーカVS1が設定されるように、位置P1、P2のスピーカSP1、SP2(第1のスピーカ群)の音量バランスを調整する。例えば位置P1とPS1の距離をD1とし、位置P2とPS1の距離をD2とする。この場合にD1が長くなり、D2が短くなるほど、スピーカSP1の音量を小さくし、スピーカSP2の音量を大きくする。一方、D1が短くなり、D2が長くなるほど、スピーカSP1の音量を大きくし、スピーカSP2の音量を小さくする。
また位置PS2に仮想スピーカVS2が設定されるように、位置P3、P4のスピーカSP1、SP2(第2のスピーカ群)の音量バランスを調整する。例えば位置P3とPS2の距離をD3とし、位置P4とPS2の距離をD4とする。この場合にD3が長くなり、D4が短くなるほど、スピーカSP3の音量を小さくし、スピーカSP4の音量を大きくする。一方、D3が短くなり、D4が長くなるほど、スピーカSP3の音量を大きくし、スピーカSP4の音量を小さくする。こうすることで位置PS1、PS2に仮想スピーカVS1、VS2を定位させることができる。
2.4 3個以上のスピーカによる仮想スピーカの設定
さて、図11(A)〜図12の手法では、各仮想スピーカを設定するスピーカ群として2個のスピーカしか使用していないため、任意の位置に仮想スピーカを設定することができない。このため、厳密に正しいステレオ効果を実現することが難しいという問題点がある。例えば図11(A)において、仮想ユーザPVの位置PPが左側に移動すると、仮想スピーカVS1と左耳ELとの距離が短くなり、仮想スピーカVS2と右耳ERとの距離が長くなってしまう。また仮想ユーザPVの位置PPが右側に移動すると、仮想スピーカVS1と左耳ELとの距離が長くなり、仮想スピーカVS2と右耳ERとの距離が短くなってしまう。従って、正しいステレオ効果を実現することが難しい。
この点、本実施形態では、図13(A)〜図14で説明するように、各仮想スピーカを設定するスピーカ群として3個以上のスピーカを用いており、これにより任意の位置への仮想スピーカの設定を可能にしている。
例えば図13(A)、図13(B)では、少なくとも3個のスピーカSP1、SP2、SP3を含む第1のスピーカ群により、仮想スピーカVS1を設定している。また少なくとも3個のスピーカSP2、SP3、SP4を含む第2のスピーカ群により、仮想スピーカVS2を設定している。
このようにすることで図13(A)、図13(B)では、仮想ユーザPVの左耳ELに対応する位置に仮想スピーカVS1を設定し、右耳ERに対応する位置に仮想スピーカVS2を設定できる。ここで、左耳ELに対応する位置は、例えば仮想ユーザPVが装着する仮想的なヘッドホンの左スピーカの位置であり、右耳ERに対応する位置は、例えば仮想的なヘッドホンの右スピーカの位置である。このようにすることで、ヘッドホンを装着している状態に近い効果を作り出すことができるため、例えばバイノーラル音源の再生も可能になるという利点がある。また、仮想スピーカVS1、VS2の位置PS1、PS2を自由に設定できるため、ユーザPL(仮想ユーザPV)の位置に依存せずに、正しいステレオ効果を実現できるという利点がある。
図14は、図13(A)、図13(B)の仮想スピーカVS1、VS2をスピーカSP1〜SP4の音量バランス調整により設定する手法の説明図である。
図14では、スピーカSP1〜SP4(第1〜第Mのスピーカ)のうちの第1のスピーカ群であるスピーカSP1、SP2、SP3の位置P1、P2、P3の情報と、位置PS1の情報とに基づいて、スピーカSP1、SP2、SP3の音量バランス調整を行うことで、仮想スピーカVS1を設定している。またスピーカSP1〜SP4のうちの第2のスピーカ群であるスピーカSP2、SP3、SP4の位置P2、P3、P4の情報と、位置PS2の情報とに基づいて、スピーカSP2、SP3、SP4の音量バランス調整を行うことで、仮想スピーカVS2を設定している。つまり、少なくとも3個以上のスピーカを含むスピーカ群の音量バランス調整を行うことで、各仮想スピーカを設定している。
例えば図13(A)、図13(B)に示すように、位置PS1、PS2は、仮想ユーザPVの位置PP、方向DPに対して相対的位置関係を保つ位置に設定されている。具体的には図14に示すように、左耳ELと右耳ERを結ぶ線LLR上の位置において、位置PPから同一の距離DEの位置にPS1、PS2が設定されている。線LLRは例えば仮想ユーザPVの方向DPに直交する。
そして本実施形態では、位置PS1に仮想スピーカVS1が設定されるように、位置P1、P2、P3のスピーカSP1、SP2、SP3(第1のスピーカ群)の音量バランスを調整する。
例えば図14において、スピーカSP1、SP2の位置P1、P2を結ぶ線をL12とし、仮想スピーカVS1の位置PS1から線L12に下ろした垂線との交点をPS1Yとする。そして位置P1と交点PS1Yとの距離をY1とし、位置P2と交点PS1Yとの距離をY2とする。またスピーカSP2、SP3の位置P2、P3を結ぶ線をL23とし、仮想スピーカVS1の位置PS1から線L23に下ろした垂線との交点をPS1Xとする。そして位置P2と交点PS1Xとの距離をX2とし、位置P3と交点PS1Xとの距離をX3とする。
この場合に、距離Y1、Y2に基づいてスピーカSP1、SP2の音量バランスを調整し、距離X2、X3に基づいてスピーカSP2、SP3の音量バランスを調整する。例えばY1が長くなり、Y2が短くなるほど、スピーカSP1の音量を小さくし、スピーカSP2の音量を大きくする。一方、Y1が短くなり、Y2が長くなるほど、スピーカSP1の音量を大きくし、スピーカSP2の音量を小さくする。またX2が長くなり、X3が短くなるほど、スピーカSP2の音量を小さくし、スピーカSP3の音量を大きくする。一方、X2が短くなり、X3が長くなるほど、スピーカSP2の音量を大きくし、スピーカSP3の音量を小さくする。
また本実施形態では、位置PS2に仮想スピーカVS2が設定されるように、位置P3、P3、P4のスピーカSP2、SP3、SP4(第2のスピーカ群)の音量バランスを調整する。
例えば図14において、スピーカSP3、SP4の位置P3、P4を結ぶ線をL34とし、仮想スピーカVS2の位置PS2から線L34に下ろした垂線との交点をPS2Yとする。そして位置P3と交点PS2Yとの距離をY3とし、位置P4と交点PS2Yとの距離をY4とする。またスピーカSP4、SP1の位置P4、P1を結ぶ線をL41とし、仮想スピーカVS2の位置PS2から線L41に下ろした垂線との交点をPS2Xとする。そして位置P4と交点PS2Xとの距離をX4とし、位置P1と交点PS2Xとの距離をX1とする。
この場合に、距離Y3、Y4に基づいてスピーカSP3、SP4の音量バランスを調整し、距離X4、X1に基づいてスピーカSP4、SP1の音量バランスを調整する。例えばY3が長くなり、Y4が短くなるほど、スピーカSP3の音量を小さくし、スピーカSP4の音量を大きくする。一方、Y3が短くなり、Y4が長くなるほど、スピーカSP3の音量を大きくし、スピーカSP4の音量を小さくする。またX4が長くなり、X1が短くなるほど、スピーカSP4の音量を小さくし、スピーカSP1の音量を大きくする。一方、X4が短くなり、X1が長くなるほど、スピーカSP4の音量を大きくし、スピーカSP1の音量を小さくする。以上のようにすることで、位置PS1、PS2に仮想スピーカVS1、VS2を定位させることができる。
図15(A)、図15(B)はバイノーラル録音についての説明図である。図15(A)に示すように、例えば人間の頭部の音響効果を再現するダミーヘッドDMHが用意され、ダミーヘッドDMHの周囲に複数の音源が配置される。またダミーヘッドDMHの左耳、右耳の位置にマイクMCL、MCRが設置される。そして、これらの複数の音源からの音をマイクMCL、MCRを用いて録音する。このようにして録音された音を、図15(B)に示すようにヘッドホンHDPの左スピーカHDL、右スピーカHDRから出力することで、その場に居合わせたかのような臨場感のある音を再現できる。このようなバイノーラル録音に対応する音を、コンピュータ演算処理によりシミュレートする。例えばダミーヘッドDMHに対応するモデル(モデルオブジェクト)を用意する。そして仮想空間内の仮想音源から、当該モデルの左耳、右耳に届く音波に加えて、モデルの耳たぶや体の各部によって回折、反射する音波を重ね合わせる音のシミュレーション処理を行って、バイノーラル音源の音を生成する。そして、バイノーラル音源による左チャンネルの音を、図13(A)の仮想スピーカVS1から出力させ、バイノーラル音源による右チャンネルの音を仮想スピーカVS2から出力させる。具体的には上述のような音量バランス調整を行った上で、仮想スピーカVS1に対応する第1のスピーカ群から、バイノーラル音源による左チャンネルの音を出力させ、仮想スピーカVS2に対応する第2のスピーカ群から、バイノーラル音源による右チャンネルの音を出力させる。こうすることで、現実世界に非常に近いリアルで臨場感のある音場の生成が可能になる。
2.5 サラウンド
図16(A)、図16(B)は、仮想スピーカの個数を増やして、仮想ユーザPV(ユーザ)の移動に追従するサラウンド音響を実現する手法の説明図である。
図16(A)、図16(B)では、仮想ユーザPVの周囲を囲むように例えば4個の仮想スピーカVS1、VS2、VS3、VS4が設定されている。そして図16(A)、図16(B)に示すように、仮想ユーザPVの位置PP、方向DPが変化しても、仮想ユーザPVに対して所定の相対的位置関係を保って追従する位置PS1、PS2、PS3、PS4(第1〜第Nの位置)に対して、仮想スピーカVS1、VS2、VS3、VS4(第1〜第Nの仮想スピーカ)が設定されている。例えば仮想スピーカVS1は、第1のスピーカ群(SP4、SP1、SP2)の音量バランス調整により設定され、仮想スピーカVS2は、第2のスピーカ群(SP1、SP2、SP3)の音量バランス調整により設定される。仮想スピーカVS3は、第3のスピーカ群(SP2、SP3、SP4)の音量バランス調整により設定され、仮想スピーカVS4は、第4のスピーカ群(SP3、SP4、SP1)の音量バランス調整により設定される。
なお、各仮想スピーカを設定する各スピーカ群は、仮想ユーザPVの位置PP等に基づいて変化させることができる。また図16(A)、図16(B)では、サラウンド音響の実現のために、4個の仮想スピーカを設定しているが、本実施形態はこれに限定されない。サラウンド音響の実現には、少なくとも3個以上の仮想スピーカを設定すればよく、仮想スピーカの個数は任意である。例えば2個のフロントの仮想スピーカと1個のセンターの仮想スピーカというように、合計で3個の仮想スピーカで実現してもよいし、これらの3個の仮想スピーカに対して、2個のリアの仮想スピーカを加えて、合計で5個の仮想スピーカで実現してもよい。また仮想ユーザPVに対して任意の位置に仮想スピーカを設定できることは、図14から明らかであるため、図16(A)、図16(B)の仮想スピーカVS1〜VS4の設定の詳細な説明については省略する。
図16(A)、図16(B)の手法によれば、例えば図9(A)〜図10のようにユーザPLの位置PPL、方向DPLが変化し、これに応じて仮想ユーザPVの位置PP、方向DPが変化しても、その変化に追従するようにサラウンド用の仮想スピーカVS1〜VS4が設定される。即ち、サラウンド用の仮想スピーカVS1〜VS4は、仮想ユーザPVの位置PP、方向DPが変化した場合にも、仮想ユーザPVに対して所定の相対的位置関係を保って追従する。例えば図16(A)、図16(B)では、仮想ユーザPVに対して、仮想スピーカVS1、VS2、VS3、VS4は、各々、左斜め前、左斜め後ろ、右斜め後ろ、右斜め前の位置に固定される。従って、常に正しい向きの適正な音場のサラウンド音響を実現できるようになる。
2.6 仮想音源による音場形成
本実施形態では、仮想スピーカの位置の情報と仮想音源の位置の情報とに基づいて、仮想スピーカの音量バランス調整を行うことで、仮想音源による音場の形成処理を行っている。図17、図18は、このような仮想スピーカによる仮想音源の音場形成手法について説明する図である。
図17では、仮想空間内の位置PR1、PR2に仮想音源SR1、SR2が設定されている。これらの仮想音源SR1、R2は、例えば後述するような仮想空間内の観客、演奏者等による音の発生源である。本実施形態では、これらの仮想音源SR1、SR2による音場を、仮想スピーカVS1〜VS4を用いて形成する。これらの仮想スピーカVS1〜VS4は、図16(A)、図16(B)に示すように、仮想ユーザPVの位置PP、方向DPが変化した場合にも、仮想ユーザPVに対して所定の相対的位置関係を保って追従する。
例えば本実施形態では、仮想音源SR1による音場形成を、仮想スピーカVS1、VS2、VS3の音量バランス調整により実現している。
例えば図18において、仮想スピーカVS1、VS2の位置PS1、PS2を結ぶ線をLS12とし、仮想音源SR1の位置PR1から線LS12に下ろした垂線との交点をPR1Yとする。そして位置PS1と交点PR1Yとの距離をY1Rとし、位置PS2と交点PR1Yとの距離をY2Rとする。また仮想スピーカVS2、VS3の位置PS2、PS3を結ぶ線をLS23とし、仮想音源SR1の位置PR1から線LS23に下ろした垂線との交点をPR1Xとする。そして位置PS2と交点PR1Xとの距離をX2Rとし、位置PS3と交点PR1Xとの距離をX3Rとする。
この場合に本実施形態では、距離Y1R、Y2Rに基づいて仮想スピーカVS1、VS2の音量バランスを調整し、距離X2R、X3Rに基づいて仮想スピーカVS2、VS3の音量バランスを調整することで、仮想音源SR1を位置PR1に定位させる。例えばY1Rが長くなり、Y2Rが短くなるほど、仮想スピーカVS1の音量を小さくし、仮想スピーカVS2の音量を大きくする。一方、Y1Rが短くなり、Y2Rが長くなるほど、仮想スピーカVS1の音量を大きくし、仮想スピーカVS2の音量を小さくする。またX2Rが長くなり、X3Rが短くなるほど、仮想スピーカVS2の音量を小さくし、仮想スピーカVS3の音量を大きくする。一方、X2Rが短くなり、X3Rが長くなるほど、仮想スピーカVS2の音量を大きくし、仮想スピーカVS3の音量を小さくする。このようにして仮想音源SR1が位置PR1に定位した音場を形成できる。
また仮想音源SR2による音場形成は、例えば仮想スピーカVS3、VS4、VS1の音量バランス調整により実現できる。この場合に仮想音源SR2を位置PR2に定位させる音場形成は、仮想音源SR1の場合と同様の手法により実現できるため、詳細な説明は省略する。なお各仮想音源を設定する各仮想スピーカ群は、各仮想音源の位置等に基づいて変化させることができる。
以上のように本実施形態では、スピーカSP1〜SP4(第1〜第Mのスピーカ)が配置される実空間において移動するユーザPLの位置PPL、方向DPLの情報を取得する。そして図9(A)〜図10のような実空間でのユーザPLの位置PPL、方向DPLの変化に伴い、ユーザPLに対応する仮想ユーザPVの仮想空間での位置PP、方向DPが変化したとする。この場合に、例えば図16(A)、図16(B)や図13(A)〜図14等で説明したように、仮想ユーザPVに対して所定の相対的位置関係を保って追従する位置PS1〜PS4(第1〜第Nの位置)に対して、仮想スピーカVS1〜VS4(第1〜第Nの仮想スピーカ)を設定する。これらの仮想スピーカVS1〜VS4は、スピーカSP1〜SP4の音量バランス調整を行うことで設定される。そして図17に示す仮想空間内の仮想音源SR1、SR2による音場の形成処理を、仮想スピーカVS1〜VS4を用いて行う。具体的には図18で説明したように、仮想スピーカVS1〜VS4の位置PS1〜PS4の情報と仮想音源SR1、SR2の位置PR1、PR2の情報とに基づいて、仮想スピーカVS1〜VS4の音量バランス調整を行うことで、仮想音源SR1、SR2による音場の形成処理を行う。
このように本実施形態では、仮想空間内に単に仮想スピーカを定位させるのではなく、仮想ユーザに対して所定の相対的位置関係を保って追従する位置(PS1〜PS4)に仮想スピーカ(VS1〜VS4)を設定している。即ちユーザの位置、方向が変化して、仮想ユーザの位置、方向が変化しても、当該相対的位置関係については維持されるように、仮想スピーカを追従させる。そして、このように仮想ユーザに対して追従する複数の仮想スピーカを用いて、仮想空間に登場する仮想音源の音場を形成する。このようにすることで、例えばゲームなどにおいて様々な位置に様々な態様で出現する仮想音源(観客、演奏者、爆発等)についての音場を、ユーザの位置や方向の変化に依存せずに、正確に形成することが可能になる。即ち、ユーザの位置や方向が変化した場合にも、仮想音源についての適正(正確)な音場を形成することが可能になり、これまでにないシミュレーションシステムの実現が可能になる。
また本実施形態では、図13(A)〜図14で説明したように、少なくとも3個のスピーカ(SP1、SP2、SP3)を含む第1のスピーカ群に、左チャンネル(広義には第1のチャンネル)の音を出力させ、少なくとも3個のスピーカ(SP2、SP3、SP4)を含む第2のスピーカ群に、右チャンネル(広義には第2のチャンネル)の音を出力させている。そして仮想ユーザPVの左耳ELの位置に仮想スピーカVS1が設定されるように、第1のスピーカ群の音量バランス調整を行う。また仮想ユーザPVの右耳ERの位置に仮想スピーカVS2が設定されるように、第2のスピーカ群の音量バランス調整を行う。こうすることで、仮想的なヘッドホンの左スピーカから左チャンネルの音を出力し、仮想的なヘッドホンの右スピーカから右チャンネルの音を出力するようなステレオ効果を実現できる。そして、これらの第1、第2のスピーカ群に、バイノーラル音源による音を出力させることで、更にリアルで臨場感のある立体音響の実現が可能になる。
また本実施形態では図19に示すように、実空間のユーザPLには移動可能範囲ARMが設定されている。ユーザPLは、この移動可能範囲ARMにおいて自由に移動しながら、シミュレーションシステムにより生成される音や画像を観て楽しむことができる。そして、この移動可能範囲ARMに対応する位置に、仮想スピーカを実現するためのスピーカSP1〜SP4(第1〜第Mのスピーカ)が配置されている。例えば図19では、移動可能範囲ARMの周囲にスピーカSP1〜SP4が配置されている。即ち、ユーザPLの周囲を囲むようにスピーカSP1〜SP4が配置されている。なお移動可能範囲ARMの中にこれらのスピーカの一部を配置することも可能である。
本実施形態では、このように設定された移動可能範囲ARMにおいてユーザPLが自由に移動して、その位置や方向が変化した場合にも、その位置や方向の変化に依存せずに、適正(正確)な音場を形成することが可能になる。例えばユーザPLに対応する仮想ユーザが移動する仮想空間において発生する種々の仮想音源の音場を、リアルに正確に再現できるようになり、これまでにないシミュレーションシステムの実現が可能になる。
また本実施形態では、ユーザに対応する仮想ユーザの視点から見える画像の表示処理が行われる。具体的には、図6、図7に示すように当該仮想ユーザが表示されない一人称視点での画像の表示処理が行われる。このような一人称視点の画像を表示することで、ユーザは、あたかも仮想空間の中に入り込んだかのような仮想現実を感じながら、ゲーム等をプレイすることになる。例えば本実施形態では、実世界でのユーザが移動するなどして、その位置、方向が変化すると、仮想空間の仮想ユーザの位置、方向が変化するため、その仮想ユーザがあたかも自分自身であるかのような感覚になる。そしてこの場合に本実施形態では、この仮想ユーザの位置、方向の変化に対して所定の相対的位置関係を保って仮想スピーカが追従し、当該仮想スピーカにより、仮想空間内の仮想音源の音場形成の処理が行われる。従って、ユーザは、図19のような実空間でのスピーカSP1〜SP4の存在を感じることなく、正確に形成された音場で、VRの世界に没入することが可能になる。
また本実施形態では図19に示すように、ユーザPLが装着するHMDに画像を表示するための処理が行われる。このように視界を覆うHMDをユーザPLが装着するシミュレーションシステムにおいては、実世界のスピーカSP1〜SP4の存在感が消えて、仮想スピーカによる正確な音場が形成できる本実施形態の手法は、特に有効になる。そしてこのようにユーザPLがHMDを装着して移動する場合には、HMDに設けられたセンサ部からの情報に基づいて、ユーザの位置、方向の情報を取得できる。そして、取得されたユーザの位置、方向に基づき仮想ユーザの位置、方向を特定し、当該仮想ユーザに追従する仮想スピーカを設定して、リアルな音場が形成できるようになる。
また本実施形態では、仮想空間での仮想音源による音の発生状況を再現する画像の表示処理を行う。
例えば図20では、仮想ユーザPV(ユーザ)が、仮想空間内の観客ADA、ADB、ADCに対して呼びかけを行っている。例えばその視線VLPを観客ADA、ADB、ADCに向けて呼びかけを行っている。これは、例えばユーザが観客ADA、ADB、ADCの方に視線VLPを向けて、図2(A)のマイク162に呼びかけの音声を入力することで実現される。このように呼びかけの音声が入力されると、これに対応して観客ADA、ADB、ADCが歓声や拍手などを行う。即ち応答音声や応答音が発生する。この場合に、観客ADA、ADB、ADCが仮想空間での仮想音源に相当し、歓声や拍手などの応答音声や応答音が、仮想音源から発生する音になる。このように本実施形態では、観客である仮想音源から音が発生する状況を再現する画像が表示される。
そして例えば図21(A)では、仮想ユーザPV(ユーザ)が、正面の観客ADA〜ADCの方に視線VLPを向けて呼びかけを行っており、これに対応して正面の観客ADA〜ADCが歓声や拍手などを行っている。一方、図21(B)では、仮想ユーザPVが、右側の観客ADD〜ADFの方に視線VLPを向けて呼びかけを行っており、これに対応して右側の観客ADD〜ADFが歓声や拍手などを行っている。このように本実施形態では、仮想ユーザPVの視線VLPの向きに対応する場所の仮想音源から音が発生しており、仮想音源による音の発生状況がリアルタイムに変化している。
また図22(A)では、仮想ユーザPVがステージSGに立って、歌の演奏を行っている。観客席SE1には図21(A)で説明したような観客ADA〜ADCが配置され、観客席SE2には図21(B)で説明したような観客ADD〜ADFが配置されている。そして仮想ユーザPVの後ろには、バンドの演奏用のステージSGBが設定されており、ギタリストGTやドラマーDRが、ギター演奏やドラム演奏を行っている。この場合に、観客ADA〜ADC、ADD〜ADFに加えて、ギタリストGTやドラマーDRも、仮想空間内の仮想音源になり、本実施形態では、これらの仮想音源による音の発生状況を再現する画像が生成される。具体的には例えば図22(A)、図22(B)のように、演奏ステージSGB上でギタリストGTが移動すると、この移動の様子を示す画像が表示される。またギタリストGTの移動に伴い、対応するギター演奏の仮想音源も移動する。
この場合に本実施形態では、図22(A)のように仮想ユーザPVが正面の観客席SE1の方に向いていた場合には、その左後ろ方向からギター演奏が聞こえるような正確な音場を形成することができる。また図22(B)のように仮想ユーザPVが右側の観客席SE2の方を向いており、ギタリストGTが移動した場合にも、その右側方向からギター演奏が聞こえるような正確な音場を形成することができる。従って、より仮想現実感の高いVR世界の構築が可能になり、VR世界へのユーザの没入度を向上できるようになる。
なお図23に示すように、ユーザPLがHMDを装着している場合に、HMDがその視界を覆っているため、ユーザPLがスピーカSP1に接近してしまう事態が生じる。このような事態が生じると、大音量の音がスピーカSP1から聞こえることで、スピーカSP1の存在がユーザPLに知られてしまう。即ち本実施形態では、仮想スピーカを設定することで、実世界のスピーカSP1〜SP4の存在感を消すことができる効果があるが、図23のように特定のスピーカSP1にユーザPLが接近してしまうと、当該効果が低減してしまう。
そこで本実施形態では、このように例えばスピーカSP1(第1〜第Mのスピーカのうちの第iのスピーカ)へのユーザPLの接近が検出された場合に、スピーカSP1から出力される音の音量、高周波成分及び残響の少なくとも1つを調整する処理を行う。例えばスピーカSPの音の音量を低くしたり、当該音の高周波成分を低減したり(ローパスフィルタ処理)、或いは当該音の残響(エコー成分)を大きくする処理を行って、スピーカSP1の存在感を無くす処理を行う。こうすることで、ユーザPLがスピーカSP1(或いはSP2、SP3、SP4)に接近した場合にも、その存在感を極力無くすことができる。従って、スピーカSP1の存在をユーザPLが感じることで仮想現実感が損なわれてしまうような事態の発生を防止できる。なお、スピーカへのユーザの接近の判断処理は、例えば40cmの接近、60cmの接近というように多段階に分けて行ってもよい。
また本実施形態では、所定状況が発生したと判断した場合に、例えば図16(A)、図16(B)の仮想スピーカVS1〜VS4(第1〜第Nの仮想スピーカ)の設定を無効にするようにしてもよい。例えば緊急事態の発生などの所定状況が発生したと判断した場合に、仮想スピーカVS1〜VS4の設定を無効にして、仮想スピーカから仮想音が出力されないようにする。図16(A)、図16(B)を例にとれば、第1のスピーカ群(SP4、SP1、SP2)の音量バランス調整を行わないようにすることで、仮想スピーカVS1の設定を無効にできる。また第2のスピーカ群(SP1、SP2、SP3)の音量バランス調整を行わないようにすることで、仮想スピーカVS2の設定を無効にできる。同様に、第3のスピーカ群(SP2、SP3、SP4)、第4のスピーカ群(SP3、SP4、SP1)による音量バランス調整を行わないようにすることで、仮想スピーカVS3、VS4の設定を無効にできる。
本実施形態では、前述のように、仮想スピーカを設定することで、実空間のスピーカの存在感を無くすことが可能になる。そして仮想スピーカが設定されると、ユーザは、実世界のスピーカの位置を認識することが難しくなる。
しかしながら、場合によっては、このような仮想スピーカの設定が行われない方が良いケースもあり得る。そこで本実施形態では、例えば緊急事態等の所定状況が発生した場合には、仮想スピーカの設定を無効にする。こうすることで、例えば緊急事態の発生時に、仮想スピーカの設定を無効にし、例えばドアの近くのスピーカを用いて、緊急避難時の案内を行うことが可能になる。即ち、仮想スピーカの設定が無効になっており、ドアの近くにあるスピーカの音は、そのドアの方から聞こえてくるようになる。従って、ユーザがHMDを装着したままの状態であっても、そのスピーカからの緊急避難用の案内音声を手がかりに、ドアの方に移動して退避することが可能になる。なお、仮想スピーカを無効にする所定状況は、このような緊急事態には限定されない。例えばゲームの進行上、仮想スピーカを無効にした方が良い状況が発生した場合にも、仮想スピーカの設定を無効にする処理を行うようにしてもよい。
3.詳細な処理
次に本実施形態の詳細な処理例について図24のフローチャートを用いて説明する。
まずユーザの位置、方向を取得する(ステップS1)。例えばユーザが装着するHMDの位置、方向等を検出することで、ユーザの位置、方向を取得する。次に、ユーザの位置、方向に対応する各仮想スピーカを設定するためのスピーカの音量バランス調整を実行する(ステップS2)。例えば図13(A)、図13(B)、図14、図16(A)、図16(B)等で説明したような音量バランス調整を行う。そして、設定された仮想スピーカを用いて、仮想空間内の仮想音源の音場の形成処理を実行する(ステップS3)。例えば図17、図18で説明したような音場の形成処理を行って、図20〜図22(B)で説明した仮想音源による音の発生をシミュレートする。
次に、ユーザがスピーカに接近したか否かの判断を行う(ステップS4)。そして接近したと判断した場合(所定距離よりも近づいたと判断した場合)には、当該スピーカの音量、高周波成分、又は残響の調整処理を実行する(ステップS5)。即ち、図23で説明したように、当該スピーカの存在感を無くすための調整処理を実行する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(音入力装置、移動可能範囲、第1のチャンネル、第2のチャンネル等)と共に記載された用語(マイク、プレイエリア、左チャンネル、右チャンネル等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また仮想スピーカの設定手法、仮想音源の音場形成手法、音量バランスの調整手法、画像の表示手法や、シミュレーションシステムの構成等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。