本発明について、ゲームシステムを使用する形態を例にとって説明する。図1は、本実施形態で使用するゲームシステムを示す図である。ゲームシステムは、ゲーム装置1、HMD3、コントローラ4を有して構成されている。ゲーム装置1は、通常の使用形態においてモニタ22にゲーム画面を表示することで、ユーザーに視覚的な情報を提供することが可能である。本実施形態では、HMD3(ヘッドマウントディスプレイ)で映像を表示することで、ユーザーに視覚的な情報(視野映像)を提供する。ゲーム装置1は、プログラムを変更することで異なる機能を実現することが可能である。本実施形態では、カラオケ用プログラムを起動することで、HMD3による仮想空間を使用したカラオケを行うことが可能である。なお、カラオケ用プログラムを起動したゲーム装置1は、本発明のカラオケ装置に相当している。ユーザーはゲーム装置1で再生される演奏音をヘッドホン32で聴取し、マイクロホン33を使用して歌唱を行う。マイクロホン33に入力された歌唱音声は、演奏音とミキシングされヘッドホン32から放音される。
また、ユーザーは、コントローラ4(「操作装置」に相当)を使用して、ゲーム装置1に各種命令を指示することが可能となっている。ゲーム装置1とコントローラ4間は無線接続されており、ユーザーはケーブルによる煩わしさを伴うことなく操作を行うことが可能となっている。本実施形態では、ユーザーの頭部の動きに応じてHMD3に表示させる映像を変化させ、ユーザーに仮想空間を体験させることを可能としている。ユーザーの頭部の動きは、カメラ21で映像を撮影し、実空間内でのHMD3の配置を検出することで検出される。また、本実施形態では、実空間内でのコントローラ4の配置も検出し、仮想空間内で利用することとしている。
図2は、本実施形態で使用するゲーム装置1を示すブロック図である。ゲーム装置1は、各構成を統括して制御するためのCPU10、各種プログラムを実行するにあたって必要となる情報を一時記憶するためのメモリ11を備えている。これらCPU10、メモリ11は、ゲーム装置1における制御部を構成する。また、本実施形態のゲーム装置1は、各種音声の入出力を行う音響制御部15を有している。音響制御部15は、カラオケ用プログラムの実行時、楽曲情報に含まれる演奏情報に基づいて演奏を行う。また、音響制御部15には、マイクロホン33が接続されており、入力された歌唱音声を、演奏された演奏音とミキシングして、ヘッドホン32R、32Lから音響出力する。
また、ゲーム装置1は、モニタ22に対して歌詞映像、背景映像を表示させる映像再生手段を備える。この映像再生手段は、映像情報に基づいて映像を再生する映像再生部13、再生する映像を一時的に蓄積するビデオRAM12、再生された映像上に歌詞を表示する、あるいは、映像効果を付与する映像制御部14を備えている。映像制御部14は、再生された映像をモニタ22、あるいは、HMD3の右目用ディスプレイ31R、左目用ディスプレイ31Lに表示出力する。モニタ22、HMD3にはそれぞれ異なる映像を表示出力することが可能である。また、HMD3の右目用ディスプレイ31R、左目用ディスプレイ31Lには、視差を有する映像を表示出力することで、ユーザーに立体視させることが可能である。
また、映像制御部14は、カメラ21に接続され、カメラ21で撮影した映像を取り込むことが可能である。特に本実施形態では、図1で説明したようにカメラ21で撮影された映像から、実空間内でのHMD3の配置、及び、コントローラ4の配置を検出している。配置検出の精度向上を図るため、HMD3にはLED35、36が、コントローラ4にはLED47が設けられている。撮影された映像から、LED35、36、47を認識することで、実空間内におけるHMD3、コントローラ4の配置を正確に検出することが可能となっている。また、LED35、36、47の点灯により、周囲が暗い環境下でも配置検出を行うことが可能となっている。
また、ゲーム装置1は、各種プログラム、及び、プログラムで使用する各種情報を記憶する記憶部としてのハードディスク19を有する。また、ディスク媒体を再生するための媒体再生部20も有しており、ディスク媒体に記憶されたプログラムを実行することも可能である。ゲーム装置1は、LAN40に接続する通信手段としてのLAN通信部18を備えている。LAN40は、家庭内のルータ41に接続されており、インターネットと通信することが可能である。図2の例では、ゲーム装置1は、LAN通信部18、ルータ41を介し、各種情報を管理するサーバ装置5と通信を行う接続形態となっている。また、ゲーム装置1は、無線LANを実現可能な第1無線通信部16を有しており、無線によりインターネット接続することも可能である。さらにゲーム装置1は、近距離無線通信として、Bluetooth(登録商標)規格の第2無線通信部17を備えている。ゲーム装置1は、この第2無線通信部17を使用してコントローラ4と無線通信を行う。
図3は、本実施形態で使用するHMD3(ヘッドマウントディスプレイ)を示す斜視図である。左側の図は、HMD3を装着するユーザーを後方から眺めた斜視図であり、右側の図は、HMD3を装着するユーザーを前方から眺めた斜視図である。HMD3は、右目用ディスプレイ31R、左目用ディスプレイ31L(本発明の「表示部」に相当)を格納したHMD筐体37、ユーザーの頭部に装着するためのヘッドバンド34を有して構成されている。本実施形態では、HMD筐体37とヘッドバンド34でヘッドセットを構成している。HMD筐体37の前面には、配置検出用のため4つのLED35a〜35dが設けられている。また、ヘッドバンド34にも配置検出用のLED36a〜36dが4箇所、設けられている。このようにHMD3の周囲に配置検出用のLEDを設けたことで、ユーザーがどの方向を向いた場合であっても、実空間内での頭部の配置(頭部が向いている方向を含む)を検出することが可能である。
ヘッドバンド34には、ユーザーに対して音を聴取させるため、ヘッドホン32R、32Lが取り付けられている。また、左側のヘッドホン32Lには、アームを介してユーザーの歌唱音声を取り込むためのマイクロホン33が取り付けられている。このような構成によってユーザーは、どの方向を向いていてもヘッドホン32R、32Lにより演奏音等を聴取することが可能であり、また、マイクロホン33を手で持つことなく歌唱を行うことが可能となっている。
図4は、本実施形態で使用するコントローラを示す正面図、側面図である。本実施形態のコントローラ4は、ゲーム装置1と無線接続され、ゲーム装置1に対して各種指示を出すことが可能である。図4(A)は、コントローラ4の正面図であり、図4(B)は、図4(A)のコントローラ4を右側から眺めた側面図であり、図4(C)は、図4(A)のコントローラ4を上側から眺めた側面図である。コントローラ4は、ユーザーが両手で把持する2つのグリップ41R、41Lと、その間に設けられた接続部42を有して形作られている。
左グリップ41Lには、ゲーム操作において上下左右方向を入力するための十字キー44が設けられている。右グリップ41Rにはボタン群45が設けられている。この例では、ボタン群45は、「A」〜「D」が表記された4つのボタンで構成されている。接続部42には、2つのアナログスティック43R、43Lが設けられている。ユーザーはこのアナログスティック43R、43Lを使用して、多段階の方向を指示することが可能である。コントローラ4の上方には、右第1ボタン46R1、右第2ボタン46R2、左第1ボタン46L1、左第2ボタン46L2が設けられている。これらボタンは、ユーザーがグリップ41R、41Lを握ったときに、人差し指で操作し易い位置に設けられている。
また、図4(C)に示されるように、接続部42には、配置検出用のLED47が設けられている。LED47は、図1に示すようにユーザーがモニタ22に対峙した場合、モニタ22の近傍に設置されたカメラ21で撮影しやすい位置に設けられている。ゲーム装置1は、カメラ21で撮影された映像から、このLED47の形や色を識別することで、実空間内でのコントローラ4の配置(コントローラ4の方向を含む)を検出する。
以上、説明したゲームシステムの構成を使用して仮想空間内での歌唱を行うことが可能である。そのため、ゲーム装置1ではカラオケ用プログラムを起動することになる。カラオケ用プログラムは、サーバ装置5からダウンロードしてハードディスク19に記憶したもの、あるいは、ディスク媒体に記憶されたものを使用することが可能である。ゲーム装置1においてカラオケ用プログラムを起動することで楽曲再生処理が開始される。なお、カラオケ用プログラムは、ユーザーはHMD3を装着した状態で使用することを前提とし、カラオケ用プログラムで出力される映像はHMD3に、音はヘッドホン32に出力される。
図5は、本実施形態の楽曲再生処理を示すフロー図である。まず、HMD3に表示されたユーザーインターフェイスを使用して歌唱する楽曲を選択する(S101)。本実施形態では、楽曲が選択された後、サーバ装置51から対応する楽曲情報を受信することとしているが、ゲーム装置1側に記憶しておいてもよい。
図6は、カラオケ用プログラムで使用する楽曲情報のデータ構成を示す図である。楽曲情報は、選曲等を行うために付与されたメタ情報と、演奏、歌詞表示を行うための実情報を含んで構成されている。メタ情報には、楽曲を管理するための楽曲ID、楽曲名、歌手名、作詞者名、作曲者名、区間識別情報等を含んで構成されている。区間識別情報は、前奏、Aメロ、Bメロ、間奏等、楽曲の進行に対応した区間種別を示す情報である。この区間識別情報を使用することで、楽曲再生中、現在再生している区間種別を判定することが可能である。
実情報は、演奏情報、歌詞情報、基準音高情報、背景映像情報を含んで構成されている。楽曲を再生する際、演奏情報を音響制御部15に演奏させることで、歌唱伴奏としての演奏音をヘッドホン32R、32Lから音響出力することが可能である。また、楽曲を再生する際、歌詞情報を映像再生部13で再生し、HMD3に映像出力することで、ユーザーの歌唱補助を行うことが可能である。
背景映像情報は、HMD3で表示する背景映像として使用される情報である。本実施形態の背景映像情報は、実際の風景やコンサート映像等を撮像した情報である。本実施形態では、背景映像を使用して仮想空間を形成するため、ある視点から複数のカメラで複数方向を撮影し、映像を繋ぎ合わせることで背景映像情報を形成している。カメラ21で検出したHMD3の配置に応じて、背景映像情報中の映像を表示することで、ユーザーに仮想空間を体感させることが可能となっている。なお、本実施形態では、視差を有する映像を右目用ディスプレイ31R、左目用ディスプレイ31Lに表示することで、立体感のある仮想空間を体感させることが可能となっている。本実施形態の背景映像情報は、楽曲情報に含まれた構成としており、楽曲と背景映像が一対一の関係になっている。背景映像情報は、このような形態に限られるものではなく、楽曲情報と独立した形態としてもよい。その場合、楽曲情報のジャンルに対応した背景映像情報を使用する、あるいは、ユーザーが選択した背景映像情報を使用すること等が考えられる。
楽曲の選択後、選択された楽曲情報に基づいて再生が開始される(S102)。楽曲情報の再生は、楽曲情報に含まれる演奏情報を音響制御部15に演奏させ、歌詞情報、背景映像情報を映像再生部13に再生させる処理である。楽曲再生中、ユーザーはコントローラ4を使用して操作を行うことが可能である。図7は、本実施形態のコントローラ4の操作部、機能、初期設定の対応関係を示した表である。左第1ボタン46L1は、歌詞表示オブジェクト61の透過/非透過を切り替えるための操作部に割り当てられている。左第1ボタン46L1を押下する毎に歌詞表示オブジェクト61の透過、非透過が交互に切り替えられる。左第2ボタン46L2は、歌詞表示オブジェクト61を仮想空間内の所定位置に固定する固定モードと、実空間でのコントローラ4の配置に追従させる追従モードを切り替えるための操作部である。左第2ボタン46L2を押下する毎に固定モードから追従モード、もしくは、追従モードから固定モードに切り替えられる。右第1ボタン46R1は、コントローラオブジェクト62(「操作オブジェクト」に相当)の表示/非表示を切り替えるための操作部に割り当てられている。右第1ボタン46R1を押下する毎にコントローラオブジェクト62の表示、非表示が交互に切り替えられる。
楽曲再生開始時には、これら操作部は初期設定が適用される。なお、コントローラ4の各機能に対する操作部の割り当て、並びに初期設定の割り当ては、ユーザーが設定変更できるようにしてもよい。楽曲の再生が開始される(S102)と、図7の初期設定を読み出してHMD3に表示する映像(視野映像60)を形成が行われる。視野映像60は、楽曲に対応する背景映像情報を使用して形成される。図8は、本実施形態における視野映像60の形成を説明するための模式図である。図6で説明したように背景映像情報は、ある視点から複数のカメラで複数方向を撮影し、映像を繋ぎ合わせることで形成された映像である。図8には、HMD3を装着したユーザーの周囲に背景映像情報を模式的に示している。ここでは、図面上、分かり易いようにユーザーの側面のみに背景映像情報を表示しているが、実際には半球状、あるいは全球状にユーザーを取り囲む映像となる。HMD3で表示される映像は、カメラ21で検出したHMD3の配置に基づいて決定される。すなわち、HMD3の向いている配置、具体的にはHMD3の向いている方向に対応した背景映像情報中の領域が視野映像60として切り出される。したがって、HMD3を装着するユーザーの頭部の動きによって視野映像60が変化することとなり、ユーザーは背景映像情報によって形成される仮想空間を体験することが可能である。
さらに本実施形態では、カメラ21で検出したコントローラ4の配置に基づいて、視野映像60に歌詞表示オブジェクト61と、コントローラオブジェクト62を表示可能としている。本実施形態におけるコントローラ4の配置検出は、図8で示す背景映像情報を基準とした座標系XYZについて、X方向,Y方向,Z方向の位置、及び,X軸回り,Y軸回り,Z軸回りの回転量をコントローラ4の配置情報として検出する。本実施形態では、HMD3についても同様に、背景映像情報を基準とした座標系XYZについて、X方向,Y方向,Z方向の位置、及び,X軸回り,Y軸回り,Z軸回りの回転量をHMD3の配置情報として検出する。このようなHMD3の配置情報、コントローラ4の配置情報に基づいて、HMD3に対するコントローラ4の相対的な配置を検出することが可能である。このように本実施形態におけるコントローラ4の配置情報、HMD3の配置情報は、実空間における位置(X方向,Y方向,Z方向の位置)と方向(X軸回り,Y軸回り,Z軸回りの回転量)といった複数の項目を含んでいるが、配置情報としては、これら項目の内、検出しない、あるいは、使用しない項目を設けてもよい。
検出された相対的な配置は、視野映像60中に表示するコントローラオブジェクト62の表示に使用される。コントローラオブジェクト62が視野映像60に表示された場合、ユーザーは自分の手に握っているコントローラ4を仮想空間中で観察することが可能となる。さらに本実施形態では、コントローラオブジェクト62に対応して歌詞表示オブジェクト61を配置している。この歌詞表示オブジェクト61は、楽曲再生中、再生された歌詞を表示するオブジェクトであり、コントローラオブジェクト62に対応して配置されるため、コントローラ4の移動に応じて移動する。
図9は、コントローラ4の配置と、歌詞表示オブジェクト61及びコントローラオブジェクト62の表示関係を説明するための図である。HMD3には、カメラ21で検出したHMD3の配置に基づいて切り出された背景映像情報が視野映像として表示される。実際には、HMD3の右目用ディスプレイ31R、左目用ディスプレイ31Lに視差を有する視野映像60を表示することで、ユーザーに立体映像による仮想空間を体感させることとしている。図9は、HMD3を装着するユーザーの正面にコントローラ4を配置した場合の表示例であり、実空間において検出されたコントローラ4の配置を使用してコントローラオブジェクト62、歌詞表示オブジェクト61、そして視線カーソル63が視野映像60内に表示される。なお、視線カーソル63は非表示とする、あるいは、ユーザーの操作によって表示/非表示を切り換え可能としてもよい。
視線カーソル63は、視野映像60の上下方向及び左右方向の略中央に位置し、仮想空間内でユーザーの視線を示すための指標である。実際には、ユーザーは眼球を移動させることで、視野映像60内で視線を変更することが可能であるが、本実施形態では、視線カーソル63が位置する視野映像60の上下及び左右方向の略中央を簡易的に視線の通過位置とみなしている。
図10は、歌詞表示オブジェクト61、コントローラオブジェクト62の正面図、側面図である。歌詞表示オブジェクト61、コントローラオブジェクト62は、コンピュータグラフィックによる3次元オブジェクトとして形成されている。また、両者は所定の位置関係で配置されている。図10の左は歌詞表示オブジェクト61とコントローラオブジェクト62の正面図、図10の右は歌詞表示オブジェクト61とコントローラオブジェクト62の正面図である。歌詞表示オブジェクト61は、矩形をした板状のオブジェクトであり、正面には歌詞文字が表示される。一方、コントローラオブジェクト62は、コントローラ4を模した板状のオブジェクトである。本実施形態では、コントローラオブジェクト62の上方に、側面からみたときに所定の角度を設けて歌詞表示オブジェクト61を配置している。
カラオケ用プログラムを起動したゲーム装置1では、仮想空間を体験しつつ歌唱を行うことが可能である。その際、マイクロホン33から入力されるユーザーの歌唱音声に基づいて、歌唱力を評価する歌唱評価処理を実行可能としている。特に、本実施形態では、ユーザーが歌唱に集中(没入)していたか、仮想空間の体験に集中(没入)していたかを、歌唱力評価の一項目としたことを特徴としている。この歌唱評価処理は、楽曲の再生に同期して開始される(S200)。歌唱力評価処理の詳細は、後で詳しく説明する。
楽曲の再生開始後は、S111〜S116(追従モード)、S121〜S124(固定モード)をフレーム期間で繰り返し実行することで、動的な視野映像60が形成される。本実施形態では、初期状態として追従モードが設定されているため、モード判定(S110)の結果、追従モード側(S111〜S116)の処理が実行される。まず、カメラ21でHMD3の配置を検出(S111)し、HMD3の向く方向を使用して、背景映像情報中、視野映像60として切り出す領域を決定する(S112)。次に、カメラ21でコントローラ4の配置を検出し(S113)、HMD3に対するコントローラ4の相対的な配置が算出される(S114)。算出した相対的な配置に基づき、視野映像60内におけるコントローラオブジェクト62の配置を決定する(S115)。表示処理(S116)では、S112で決定した視野映像60内にコントローラオブジェクト62を表示するとともに、コントローラオブジェクト62に対応する位置に歌詞表示オブジェクト61を表示する。歌詞表示オブジェクト61上には、楽曲の再生進行にしたがって歌詞情報が表示される。歌詞情報の表示は、通常のカラオケと同様に、表示した歌詞の色替えを行うことで、歌唱すべき歌詞を確認可能としている。
なお、左第1ボタン46L1の操作により、歌詞表示オブジェクト61が透過に切り替えられた場合、表示処理(S116)では、歌詞表示オブジェクト61を透過させた状態で表示し、歌詞表示オブジェクト61の背後の視野映像60を視認しやすいように表示する。歌詞表示オブジェクト61を非透過とした場合、歌詞表示オブジェクト61上に表示される歌詞文字が読み取りやすくなる。一方、歌詞表示オブジェクト61を透過とした場合、歌詞文字は読み取りにくくなるが、背景映像は視認しやすくなる。本実施形態では、ユーザーの操作により、歌詞表示オブジェクト61を透過、非透過に切り換え可能とすることで、歌詞の読み取りを優先させるか、背景映像の視認性を優先させるかを自在に切り替えることを可能としている。
また、右第1ボタン46R1の操作により、コントローラオブジェクト62が非表示に切り替えられた場合、表示処理(S116)では、コントローラオブジェクト62を非表示とする。コントローラオブジェクト62を表示することで、ユーザーが把持しているコントローラ4と同様であって、コントローラ4の動きに追従するコントローラオブジェクト62を仮想空間内で視認できるため、仮想空間に対する没入感を向上させることが可能である。しかしながら、背景映像を楽しみたいユーザーにとっては、コントローラオブジェクト62が視界を遮るため煩わしさを感じる場合もある。そのため、本実施形態では、ユーザーの操作によるコントローラオブジェクト62の表示、非表示を切り替え可能としている。
図11〜図13には、追従モードにおける実際の視野映像60が示されている。なお、各図には、理解を助けるため、歌詞表示オブジェクト61とコントローラオブジェクト62とを囲んだ破線と符号を付加している。後で説明する図14についても同様である。
図11(A)、図11(B)は、共に、歌詞表示オブジェクト61が非透過、コントローラオブジェクト62が表示に設定されている場合の視野映像60である。ユーザーは、把持するコントローラ4に対応するコントローラオブジェクト62を視野映像60中に視認するとともに、コントローラオブジェクト62の上方に位置する歌詞表示オブジェクト61に表示される歌詞を確認しながら歌唱を行うことが可能である。歌詞表示オブジェクト61は、非透過となっているため、歌詞表示オブジェクト61上に表示される歌詞文字は読み取りやすくなっている。
図12は、歌詞表示オブジェクト61が非透過、コントローラオブジェクト62が非表示に設定されている場合の視野映像60である。この場合、コントローラオブジェクト62は、視野映像60中に表示されないが、ユーザーが把持するコントローラ4の移動に追従して歌詞表示オブジェクト61も移動する。コントローラオブジェクト62で視野映像60が阻害されないため、ユーザーは視野映像60による仮想空間を楽しむことが可能である。
図13は、歌詞表示オブジェクト61が透過、コントローラオブジェクト62が表示に設定されている場合の視野映像60である。この設定では、歌詞表示オブジェクト61は透過状態となっているため、ユーザーは歌詞表示オブジェクト61の背後に位置する映像を視認することが可能である。図11〜図13で説明した設定以外に、歌詞表示オブジェクト61を透過、コントローラオブジェクト62を非表示に設定することも可能である。なお、本実施形態では、歌詞表示オブジェクト61に表示される歌詞文字の周辺は非透過だが、歌詞文字のギリギリの位置まで透過にしてもよい。
以上説明した追従モードでは、ユーザーが実空間内でコントローラ4を移動させることで歌詞表示オブジェクト61(コントローラオブジェクト62が伴う場合もある)を、視野映像60中の好きな位置に配置することが可能である。したがって、ユーザーが視野映像60中、注目したい箇所がある場合、当該箇所を避けるように歌詞表示オブジェクト61を配置させることも可能である。さらには、コントローラ4を移動させることで歌詞表示オブジェクト61を視野映像60から外すことも可能であり、歌詞表示が必要としない場合、あるいは背景映像だけを楽しみたい場合にも対応することが可能である。また、歌詞表示オブジェクト61は板状のオブジェクトであるため、コントローラ4を傾ける僅かな操作で、歌詞表示オブジェクト61が占める範囲を小さく抑えることも可能である。また、歌詞表示オブジェクト61は、コントローラ4とHMD3の相対的な配置にしたがって表示されるため、コントローラ4とHMD3間の距離を可変させることで、歌詞表示オブジェクト61の大きさを変更することも可能である。通常の空間と同様、大きく見たい場合には、コントローラ4を顔に近づけることで、歌詞表示オブジェクト61が拡大して表示される。
一方、モード判定(S110)の結果、固定モードに設定されている場合、S121〜S124の処理が実行される。本実施形態の固定モードは、図8に示す背景映像情報の座標系上の所定位置に歌詞表示オブジェクト61を固定して表示するモードである。したがって、コントローラ4の位置とは無関係に、背景映像情報で形成される仮想空間の所定位置に歌詞表示オブジェクト61が表示される。この場合、まず、カメラ21でHMD3の配置を検出(S121)することで、背景映像情報中、視野映像60として切り出す領域を決定する(S122)。次に、カメラ21でコントローラ4の配置を検出する(S123)。そして、S122で決定した視野映像60内にコントローラオブジェクト62を表示するとともに、背景映像情報で形成する仮想空間内の所定位置に歌詞表示オブジェクト61を配置する表示処理(S123)を実行する。固定モードの場合も、追従モードの場合と同様、歌詞表示オブジェクト61の透過、非透過、コントローラオブジェクト62の表示、非表示の設定に従って、表示処理(S123)が実行される。
図14は、固定モードにおける実際の視野映像60を示した図である。この例では、背景映像情報中の所定位置(芝生の上)に歌詞表示オブジェクト61を配置した形態となっている。歌詞表示オブジェクト61は、実空間におけるコントローラ4の配置とは無関係に、予め定められた仮想空間内の所定位置に配置される。なお、この例では、非透過で歌詞表示オブジェクト61を表示させている。ユーザーは背景映像情報中、歌詞表示オブジェクト61が配置された方に目を向ける(HMD3を向ける)ことで、歌詞表示オブジェクト61を視認することが可能である。固定モードでは、ユーザーは、いわば仮想空間内に配置された看板のように、歌詞表示オブジェクト61を観察することが可能である。なお、図14の例では、コントローラオブジェクト62を表示させた設定であって、コントローラオブジェクト62は、実空間でのコントローラ4の配置に追従して表示される。
以上説明した固定モードでは、背景映像情報で形成される仮想空間内の所定位置に歌詞表示オブジェクト61を表示することとしている。ユーザーは、歌詞表示オブジェクト61の位置にHMD3を向けることで、視野映像60内に歌詞表示オブジェクト61を表示させ、歌詞を確認することが可能である。本実施形態では、歌詞表示オブジェクト61を仮想空間内の所定位置(図8の座標系での所定位置)に位置させることとしているが、任意の位置に変更可能としてもよい。例えば、追従モードから固定モードに変更したときの、歌詞表示オブジェクト61の位置に固定することが考えられる。ユーザーは追従モードを使用して、歌詞表示オブジェクト61を固定したい位置に移動させ、追従モードから固定モードに切り替えることで歌詞表示オブジェクト61を固定することで、仮想空間内の好みの位置に歌詞表示オブジェクト61を固定表示することが可能となる。また、本実施形態の固定モードでは、同じ箇所に歌詞表示オブジェクト61を表示することとしているが、楽曲の進行に応じて歌詞表示オブジェクト61の位置を変更することとしてもよい。
HMD3に表示する視野映像60の形成は、フレーム毎にS111〜S116(追従モード時)、または、S121〜S124(固定モード時)を実行することで行われ、HMD3を装着するユーザーに対して仮想空間を体験させることが可能である。その際、歌詞表示オブジェクト61によってユーザーに歌唱すべき歌詞を観察させることができる。楽曲について演奏情報の演奏終了(S117:Yes)が判定されると、歌唱評価処理の結果画面である歌唱評価結果画面を表示(S118)した後、楽曲再生処理の先頭に戻って、次に再生する楽曲をユーザーに選択させる。
では、本実施形態の歌唱評価処理について詳しく説明する。歌唱評価処理は、楽曲の再生に同期して実行される処理であって、マイクロホン33から入力されるユーザーの歌唱音声を、楽曲情報中の基準音高情報と比較すること等で評価する処理である。特に、本実施形態では、仮想空間を体験しながら歌唱を行うユーザーが歌唱に集中(没入)していたか、仮想空間の体験に集中(没入)していたかに基づき、補正された歌唱評価を行うこととしている。
図15は、本実施形態の歌唱評価処理を示すフロー図である。歌唱評価処理は、マイクロホン33に入力される歌唱音声に基づく音声評価処理(S250)と、ユーザーが歌唱に集中(没入)していたか、仮想空間の体験に集中(没入)していたかについて評価を行う歌詞注目度評価処理が並行して実行される。本実施形態の音声評価処理(S250)は、入力される歌唱音声について、音程、安定感、抑揚、テクニックの4項目について評価を行う処理である。音程については、歌唱音声の音高(歌唱音高)と、再生対象となる楽曲情報の基準音高情報(模範旋律)とを比較することで行われる。
歌詞注目度評価処理は、ユーザーが歌唱、仮想空間のどちらに集中していたかを評価する処理であり、ユーザーの視線を使用して行われる。なお、ここでいう視線とはユーザーの視点位置と観察位置を結ぶ線分に相当する。本実施形態では、歌詞に注目していたことを高評価とし、仮想空間に注目していたことを低評価としている。また、ユーザーの視線方向の判定は、視線カーソル63の位置、すなわち、視野映像60の上下及び左右方向の中央を視線通過位置とみなし、視線が歌詞表示オブジェクト61に位置しているか否か、具体的には、ユーザーの視点位置(眼の位置)と観察位置を結ぶ視線上に歌詞表示オブジェクト61が位置しているか否かによって評価することとしている。
まず、累積ポイントP(歌唱没入度)を初期化(S201)した後、歌詞注目度評価処理と、音声評価処理(S250)を並行して実行する。歌詞注目度評価処理では、視線滞在時間T1を初期化(S202)し、区間カウント値Tを初期化して区間カウント値Tのカウントを開始する(S203)。区間カウント値Tのカウント中、仮想空間内における視線カーソル63の位置、すなわち、視野映像60の上下及び左右方向の中央位置を検出する(S204)。そして、検出した視線カーソル63の位置(視線が通過する位置)に基づいて、視線が歌詞表示領域に位置しているか否かを判定する視線判定処理を実行する(S205)。本実施形態では、歌詞表示領域として歌詞表示オブジェクト61の占める領域を使用している。
例えば、図11(A)のように視線カーソル63が歌詞表示オブジェクト61に向いている場合(S205:Yes)は、ユーザーの視線は、歌詞表示領域内に位置していると判定し、視線滞在時間T1をカウントする(S206)。一方、図11(B)のように視線カーソル63が歌詞表示オブジェクト61内に向いていない位置していない場合(S205:No)は、ユーザーの視線は、歌詞表示領域に位置していないと判定し、視線滞在時間T1のカウントは行わない。所定時間(5秒間)経過したところ(S207:Yes)で、カウントした視線滞在時間T1に基づく判定が行われる。このように視線滞在時間T1をカウントすることで、視線滞在時間T1は、ユーザーの視線が所定時間(5秒間)の内、何秒間、歌詞表示領域を向いていたかを示す指標値となる。
視線滞在時間T1が3.6秒より大きい場合(S208:Yes)、累積ポイントPに2ポイントを加算する(S209)。視線滞在時間T1が3.6秒以下であって2.6秒より大きい場合(S210:Yes)、累積ポイントPに1ポイントを加算する。そして、視線滞在時間T1が2.6秒以下の場合(S210:No)、累積ポイントPにポイント加算を行わない。演奏が終了する(S212:Yes)まで、S203〜S211の処理を繰り返し行うことで、ユーザーの視線がどれだけ歌詞表示領域内に位置していたかを示す累積ポイントPが算出される。この累積ポイントPが大きいほど、ユーザーの視線は歌詞表示領域に注目していたことを示すことになる。
演奏が終了する(S212:Yes)と、音声評価処理(S250)に基づく歌唱評価結果としての歌唱評価情報が算出される(S213)。本実施形態では、この歌唱評価情報に対して、歌唱注目度評価処理で算出した累積ポイントPによる補正を行うことで、最終的な歌唱評価情報を算出している(S214)。累積ポイントPは、ユーザーの視線がどれだけ歌詞表示領域に位置していたかを示す指標であって、本実施形態では、累積ポイントPが高いほど、歌唱評価結果が高くなるように補正が行われる。
補正された歌唱評価結果は、通知処理にてユーザーに通知される。本実施形態では、楽曲再生処理において歌唱評価結果画面として表示することで通知する(S118)。図17は、本実施形態の歌唱評価結果画面を示す図である。本実施形態では、音声評価処理(S250)で評価した4つの項目(音程、安定感、抑揚、テクニック)と、歌詞注目度評価処理で評価した歌詞注目度(累積ポイントPに対応)についての各得点と、これら5項目の総合得点が表示されている。また、視野映像60の左下には、各項目をグラフ化した図が表示されている。歌詞注目度は、累積ポイントPをそのまま表示する、あるいは、累積ポイントPの最大値が、最大得点(この例では10点)となるように正規化してもよい。
このように楽曲終了後、歌唱評価結果画面を示すことで、ユーザーは自己の歌唱力を確認することが可能である。特に、本実施形態では、ユーザーの視線に基づき、ユーザーがどれだけ歌唱に集中していたかを示す歌詞注目度を項目として加入することで、仮想空間を体験しながら歌唱を行うユーザーが歌唱に集中(没入)していたかを、歌唱の一判定基準としている。
以上、本発明の一実施形態について説明を行ったが、本発明はこの実施形態のみに限定されるものではなく、各種変形例を採用することが可能である。以下に各種変形例について説明を行う。
(第1変形例)
前述した実施形態の歌詞注目度評価処理では、ユーザーの視線が歌詞表示領域に位置していた場合、高評価となるように歌唱評価結果としての歌唱評価情報を補正することとしていた。しかしながら、ユーザーが歌詞の表示に集中していたことが、必ずしもよいとはいえない場合もある。例えば、プロの歌手のように歌詞を見なくても歌唱できる習熟したユーザーの場合、前述した実施形態では、累積ポイントPは低い値となってしまう。第1変形例では、歌詞注目度評価処理において、歌唱音声に対して音声認識処理を行うことで、更に的確な累積ポイントPを算出することとしている。
図17は、第1変形例の歌詞注目度評価処理を示すフロー図である。このフロー図は、図15で説明した歌唱評価処理の破線で囲んだ歌詞注目度評価処理に代えて行われる処理である。また、図17のフロー図中、図15と同じ符号が付された処理は、図15で説明した内容と同等の処理を示している。
前述した実施形態が、区間カウント値が所定時間(5秒)を経過する毎に、累積ポイントPの加算判断を行うことしているが、この第1変形例では、楽曲の1フレーズ毎に累積ポイントPの加算判断が行われる。ここで、フレーズとは歌詞の一節を意味し、楽曲情報中の歌詞情報、あるいは、区間識別情報に規定しておくことで、判断することが可能である。さらに、第1変形例では、1フレーズ期間に入力された歌唱音声に音声認識処理を施すことで、歌唱すべき歌詞が歌唱されたか否かを判定することとしている。
S201で累積ポイントPを初期化した後、視線滞在時間T1の初期化(S202)と、区間カウント値Tの初期化を実行する(S203)。S301、S204〜S206、S302は、1フレーズ期間内に繰り返し行われる処理であって、音声認識処理(S301)では、マイクロホン33から入力される歌唱音声が文字(歌唱歌詞)に変換される。また、視線方向の検出(S204)に基づき、ユーザーの視線が歌詞表示領域に位置していると判定された場合(S205:Yes)、視線滞在時間T1がカウントされる(S206)。
累積ポイントPの加算判断は、音声認識処理(S301)の結果である歌唱評価情報と、視線方向の両方を使用して行われる。音声認識処理(S301)で文字(歌唱歌詞)に変換された歌唱音声は、該当するフレーズ内の歌詞と対比され、適合しているか否か、すなわち、ユーザーは歌唱すべき歌詞を歌ったか否かが判定される(S303)。歌唱すべき歌詞を歌った場合(S303:Yes)、歌唱すべき歌詞を歌っていない場合(S303:No)のそれぞれについて、ユーザーの視線方向が、歌詞表示領域に注目していたか否かが判断される()。具体的には、算出した視線滞在時間T1に基づき、ユーザーの視線が歌詞表示オブジェクト61に位置していたか、それ以外の背景映像に位置していたかを判定する(S304、S307)。歌詞表示オブジェクト61を向いていた時間は、視線滞在時間T1として得られる。一方、それ以外を向いていた時間は、区間カウント値Tから視線滞在時間T1を引いた値で得られる。したがって、それ以外を向いていた時間T−T1が視線滞在時間T1よりも大きい場合(S304、S307:Yes)、ユーザーの視線は、主に歌詞表示オブジェクト61以外の背景映像に向いていたこととなる。一方、それ以外を向いていた時間T−T1が視線滞在時間T1以下の場合(S304、S307:No)、ユーザーの視線は、主に歌詞表示オブジェクト61に向いていたこととなる。
したがって、この第1変形例では、以下に示す4つの状態が判定される。
1.歌唱すべき歌詞を歌っており、歌詞表示領域に注目していない (S305)
2.歌唱すべき歌詞を歌っており、歌詞表示領域に注目している (S306)
3.歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目していない(S308)
4.歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目している (S309)
そして、1〜4の順に高得点となるように累積ポイントPの加算が行われる。具体的には、1の場合は2ポイント加算し、2の場合は1ポイント加算し、3の場合は0.5ポイント加算し、4の場合は加算しない。このような歌詞注目度評価処理を実行することで、特に、歌詞を見ていなくても的確な歌詞を歌唱している場合には、高得点の累積ポイントPが得られることとなる。累積ポイントPの算出の形態は、このような形態に限らず各種形態を採用することが可能である。例えば、視線滞在時間T1に基づく累積ポイントPの加算を2段階ではなく、前述の実施形態のように3段階とする、あるいは、上述した4つの状態中、3の状態と4の状態をまとめて1つの状態とし、累積ポイントPを加算しない等、各種の変形を採用することが可能である。
本実施形態では、歌唱すべき歌詞を歌っていたかと、歌詞表示領域に注目していたかによって累積ポイントPに加算するポイントが決定されているが、これに限られない。さらに、1フレーズ毎の音声評価処理(S250)の結果も加味して加算するポイントを決定してもよい。この場合、以下に示す8つの状態が判定される。
1.音高が一致しており、歌唱すべき歌詞を歌っており、歌詞表示領域に注目していない
2.音高が一致しており、歌唱すべき歌詞を歌っており、歌詞表示領域に注目している
3.音高が一致しており、歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目していない
4.音高が一致しており、歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目している
5.音高が一致しておらず、歌唱すべき歌詞を歌っており、歌詞表示領域に注目していない
6.音高が一致しておらず、歌唱すべき歌詞を歌っており、歌詞表示領域に注目している
7.音高が一致しておらず、歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目していない
8.音高が一致しておらず、歌唱すべき歌詞を歌っておらず、歌詞表示領域に注目している
そして、1〜8の順に高得点となるように累積ポイントPの加算が行われる。具体的には、1の場合は2.1ポイント加算し、2の場合は1.8ポイント加算し、3の場合は1.5ポイント加算し、4の場合は1.2ポイント加算し、5の場合は0.9ポイント加算し、6の場合は0.6ポイント加算し、7の場合は0.3ポイント加算し、8の場合は加算しない。このような歌詞注目度評価処理を実行することで、特に、歌詞を見ていなくても的確な歌詞を歌唱しており、音高が一致している場合には、高得点の累積ポイントPが得られることとなる。
(第2変形例)
前述した実施形態では、ユーザーが歌詞表示領域に注目している場合に累積ポイントPが高くなるようにしているが、視線に基づく評価は、歌詞表示領域に注目していない場合(背景映像に注目している場合)に累積ポイントPが高くなるようにする等、視線に基づく評価基準は、異なる形態とすることも可能である。また、使用する背景映像情報に応じて、視線に基づく評価基準を変更することとしてもよい。例えば、制作者側では、仮想空間に集中(没入)して歌唱して欲しい場合と、仮想空間に惑わされることなく歌唱に集中して欲しい場合を考慮して、背景映像情報を制作することがある。このような場合、背景映像情報に対応して評価基準を変更することで、制作者側の意図に沿った視線方向の場合を高得点とし、意図に沿わない場合、得点が低くなるようにすることが可能となる。
背景映像情報は、その内容に応じて、テーマが付与されており、例えば、「美女とデュエット」や、「売り出し中の新人歌手」などがある。背景映像情報が「美女とデュエット」の場合、ユーザーは美女が映る背景映像を観たいという衝動にかられる。この場合は、歌詞表示領域に注目している場合に累積ポイントPが高くなることで、衝動に負けず、歌唱に集中したことを高く評価する。一方、背景映像情報が、「売り出し中の新人歌手」の場合、制作者側は、売り出し中の新人歌手をユーザーに観てほしいという意図がある。この場合、歌詞表示領域に注目していない場合、すなわち背景映像に注目している場合に累積ポイントPが高くなることで、新人歌手に注目してくれたことを高く評価する。このように、再生する背景映像情報に応じて、評価基準が変更される。
(第3変形例)
前述した本実施形態では、視野映像60の上下及び左右方向の略中央(視線カーソル63の位置)を簡易的に視線通過位置とみなすことで視線を検出しているが、実際のユーザーの視線は、ユーザーが眼球を運動させることで、視野映像60内でも移動する。ユーザーの視線を正確に検出するため、センサーを使用してユーザーの実際の視線を検出してもよい。例えば、HMD筐体37の内部に赤外線センサーを搭載し、ユーザーの眼球の動きを検出することで、視野映像60内の視線を正確に検出することが考えられる。ユーザーの眼球の動きを検出する場合、HMD3を使用して行う形態に限らず、モニタを視認しながら行う従来のカラオケ装置に適用することも可能である。例えば、図1のモニタ22を直接視認しながら歌唱を行う形態のカラオケでは、例えば、カメラ21でユーザーの眼球の動きを検出し、モニタ22の何処(歌詞表示領域もしくはそれ以外の領域)を見ているかを判定し、評価を行うこととしてもよい。
(第4変形例)
前述した実施形態では、ユーザーの視線が歌詞表示領域(歌詞表示オブジェクト61)を向いていることを条件として累積ポイントP(歌唱没入度)をカウントしているが、視線が視野映像60中の歌詞表示領域以外に位置していることを条件として、累積ポイントP(背景没入度)をカウントすることとしてもよい。この場合、累積ポイントP(背景没入度)が大きくなる程、ユーザーは背景映像情報による仮想空間の体験に没入していたことになる。その際、視線が歌詞表示領域以外を向いている場合、背景映像の何所を見ているかによって重み付けして累積ポイントP(背景没入度)をカウントしてもよい。例えば、背景映像中、制作者側が注目させたい背景映像の所定領域を設けておき、当該所定領域に視線が向いている場合には累積ポイントP(背景没入度)が高くなるように重み付けすること等が考えられる。
図18は、歌詞表示領域以外の領域、すなわち背景映像中の位置に応じて重み付けが異なることを模式的に示す図であり、歌手と一緒に歌唱を楽しむ仮想空間を想定した場合である。歌手が売り出し中の新人だと、映像を提供する制作者側としては、歌手の顔をユーザーに覚えてもらいたいという意図がある。そこで、注目させたい背景映像の所定領域を注目領域66として設定する。注目領域66に視線が位置している場合、累積ポイントP(背景没入度)を重み付けして算出する。本実施形態では、注目領域は一か所だが、背景映像中に複数箇所設けてもよい。また、複数箇所の注目領域が存在する場合、その重み付けは、注目領域に含まれる映像に応じて数値を変更してもよい。また、注目領域の大きさに応じて、重み付けを変更してもよい。すなわち、より狭い領域に含まれる映像に視線が位置している場合は、当該映像に集中していたとして、重み付けをより重くしてもよい。
なお、本実施形態では、視野映像60内に歌詞表示オブジェクト61以外にコントローラオブジェクト62も表示している。視線がコントローラオブジェクト62に位置している場合には、累積ポイントP(背景没入度)をカウントしないことが好ましい。また、累積ポイントP(歌唱没入度)、累積ポイント(背景没入度)の何れかをカウントする形態のほか、累積ポイントP(歌唱没入度)と累積ポイント(背景没入度)の両方をカウントして評価を行うこととしてもよい。
(第5変形例)
前述した実施形態では、視線が歌詞表示オブジェクト61に位置している場合、歌詞表示領域を向いていると判定しているが、歌詞表示オブジェクト61よりも狭い領域であって、実際に歌詞文字が表示されている領域を歌詞表示領域として使用することとしてもよい。さらに、歌唱すべき歌詞文字(色替えが行われている部分)を中心とする所定領域を、歌詞表示領域として使用することとしてもよい。
(第6変形例)
前述した実施形態では、ユーザーの操作により、歌詞表示オブジェクト61の透過、非透過を切り替えることとしているが、歌詞表示オブジェクト61の透過、非透過は自動で切り替えるようにしてもよい。例えば、前奏、間奏、後奏といった歌唱しない区間では、歌詞表示オブジェクト61を透過状態に自動で切り替えることで、ユーザーは、当該区間中、歌詞表示オブジェクト61に阻害されない視野映像を楽しむことが可能となる。このような区間は、図6で説明した楽曲情報中の区間識別情報で判定することが可能である。あるいは、マイクロホン33に入力される歌唱音声の有無で、ユーザーが歌唱していない期間を判定し、歌詞表示オブジェクト61を透過状態に切り替えてもよい。
また、固定モードから追従モードに切り替えた際、コントローラ4がHMD3の近くに位置していると、大きな歌詞表示オブジェクト61が目の前に表示されてユーザーを驚かしてしまうことが考えられる。したがって、コントローラ4とHMD3の距離に応じて歌詞表示オブジェクト61の透過、非透過を切り替えてもよい。例えば、コントローラ4がHMD3から所定距離以内に位置している場合は、歌詞表示オブジェクト61を透過状態とすることで、目の前に大きな歌詞表示オブジェクト61が表示されても支障を抑制することが可能となる。あるいは、背景映像情報において、歌詞表示オブジェクト61が所定領域に位置した場合には、歌詞表示オブジェクト61を透過状態に切り替えてもよい。
(第7変形例)
前述した実施形態では、背景映像情報はカメラで撮影した実際の映像を使用した形態であるが、背景映像情報をコンピュータグラフィックによる3次元オブジェクトとして形成することとしてもよい。このような形態では、形成された仮想空間内を自由に移動することも可能である。前述の実施形態は固定の視点であるのに対し、第7変形例では自由な視点で仮想空間を体験することが可能となる。視点の移動は、例えば、コントローラ4の左アナログスティック43Lを仮想空間内の移動用に割り当て、左アナログスティック43Lを倒した方向に仮想空間を移動すること、あるいは、再生進行に伴って所定の経路で移動させること等が考えられる。なお、第7変形例について、第4変形例で説明した、背景映像の何所を見ているかによって重み付けして累積ポイントP(背景没入度)をカウントする形態を適用する場合、重み付けを可変する対象は所定領域ではなく、所定の3次元オブジェクトとなる。例えば、視線が所定の3次元オブジェクト(例えば、注目させたい歌手の顔)に位置している場合、累積ポイントP(背景没入度)が高くなるように重み付けすることとなる。
(第8変形例)
前述の実施形態では、HMD3に対するコントローラ4の相対的な方向、HMD3とコントローラ4間の距離、HMD3に対するコントローラ4の傾きを使用して、歌詞表示オブジェクト61、コントローラオブジェクト62を表示させているが、歌詞表示オブジェクト61、コントローラオブジェクト62の表示には、HMD3に対するコントローラ4の相対的な方向のみを使用することでもよい。視野映像60中、HMD3に対するコントローラ4の相対的な方向に対応した位置に歌詞表示オブジェクト61、コントローラオブジェクト62を表示することが可能である。さらに、距離を加えることで大きさを変更することが可能であり、さらに傾きを加えることで見え方を変更することが可能となり、仮想現実性の向上を図ることが可能となる。
(第9変形例)
前述の実施形態では、HMD3、及び、コントローラ4の位置検出について、カメラ21で撮影した映像を使用した形態としているが、HMD3、及び、コントローラ4の位置検出はこのような形態に限られるものではなく、ジャイロ等、各種センターを利用して検出する形態を採用してもよい。また、前述の実施形態では、操作装置として、ゲーム装置1用のコントローラ4を使用しているが、操作装置はコントローラ4に限られるものではなく、ゲーム装置1(情報処理装置)に対して各種指令を出すことのできるデバイスを採用することが可能である。例えば、ユーザーが手に装着して使用するグローブ状のデバイス等を操作装置として使用してもよい。
以上、本実施形態ではゲームシステムを例に取って説明を行ったが、本発明はゲームシステムに限らず、従来のカラオケ装置、パーソナルコンピュータ等の各種情報処理装置に適用することが可能である。また、本実施形態のゲーム装置1や各種情報処理装置で実行され、本発明の機能を実現可能なカラオケ用プログラムについても本発明の範疇に属する。