特許第6055657号(P6055657)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ 任天堂株式会社の特許一覧
特許6055657ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム
<>
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000004
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000005
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000006
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000007
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000008
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000009
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000010
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000011
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000012
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000013
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000014
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000015
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000016
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000017
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000018
  • 特許6055657-ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6055657
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム
(51)【国際特許分類】
   A63F 13/54 20140101AFI20161219BHJP
   A63F 13/57 20140101ALI20161219BHJP
【FI】
   A63F13/54
   A63F13/57
【請求項の数】18
【全頁数】26
(21)【出願番号】特願2012-247504(P2012-247504)
(22)【出願日】2012年11月9日
(65)【公開番号】特開2014-94160(P2014-94160A)
(43)【公開日】2014年5月22日
【審査請求日】2015年9月7日
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
【住所又は居所】京都府京都市南区上鳥羽鉾立町11番地1
(74)【代理人】
【識別番号】110001276
【氏名又は名称】特許業務法人 小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】水田 真人
【住所又は居所】京都府京都市南区上鳥羽鉾立町11番地1 任天堂株式会社内
【審査官】 鈴木 崇雅
(56)【参考文献】
【文献】 特開2007−330578(JP,A)
【文献】 特開2004−195210(JP,A)
【文献】 特開2004−267433(JP,A)
【文献】 特開2003−205170(JP,A)
【文献】 特開2002−085831(JP,A)
【文献】 特開2009−237680(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00−98
(57)【特許請求の範囲】
【請求項1】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲームシステムであって、
前記複数の音源オブジェクトそれぞれに関連付けられている所定の音声データに基づく音声を前記仮想3次元空間における当該音源オブジェクトそれぞれの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の音量の大きさを、音源オブジェクト毎に算出する受音音量算出手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の定位を、音源オブジェクト毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量の大きさに基づき、いずれか1つの音源オブジェクトを重み付け対象として決定する重み付け対象決定手段と、
前記各音源オブジェクトにかかる音声を1つの音声として出力した場合に前記重み付け対象決定手段が決定した音源オブジェクトにかかる音声の定位がより大きく反映されるような重み付けをして、前記各音源オブジェクトの第1の定位に基づいて第2の定位を算出する第2の定位算出手段と、
前記第2の定位に基づいて前記複数の音源オブジェクトにかかる音声を1つの音声とした音声信号を生成し、前記音声出力部に出力する音声出力制御手段とを備える、ゲームシステム。
【請求項2】
前記複数の音源オブジェクトに関連付けられている所定の音声データは同一の音声データである、請求項1に記載のゲームシステム。
【請求項3】
前記重み付け対象決定手段は、前記受音音量算出手段で算出された音量の大きさが最も大きな音声を再生した前記音源オブジェクトを重み付け対象として決定する、請求項1または2に記載のゲームシステム。
【請求項4】
前記ゲームシステムは、同じタイミングで音声を再生した前記音源オブジェクトに基づいて、前記音声出力部に出力する音声の音量を設定する出力音量設定手段を更に備え、
前記音声出力制御手段は、前記出力音量設定手段で設定された音量で前記音声信号に基づく音声を出力する、請求項1ないし3のいずれかに記載のゲームシステム。
【請求項5】
前記出力音量設定手段は、前記受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量のうち、最も大きな音量を前記音声出力部に出力する音声の音量として設定する、請求項4に記載のゲームシステム。
【請求項6】
前記出力音量設定手段は、前記同じタイミングで音声を再生した音源オブジェクトの数に基づいて、前記音声出力部に出力する音声の音量を設定する、請求項4に記載のゲームシステム。
【請求項7】
前記出力音量設定手段は、同じタイミングで音声を再生した音源オブジェクトの数が多いほど前記出力する音声の音量が大きくなるように設定する、請求項6に記載のゲームシステム。
【請求項8】
前記ゲームシステムは、同じタイミングで音声を再生した音源オブジェクトの数に基づいて、前記音声出力部に出力する音声内容を変更させる出力音声変更手段を更に備える、請求項1ないし3のいずれかに記載のゲームシステム。
【請求項9】
前記音声出力部は、ステレオスピーカであり、
前記第1の定位算出手段および第2の定位算出手段は、プレイヤが前記音声出力部に対面する位置にあるとしたときの当該プレイヤから見て左右方向にかかる定位を算出する、請求項1ないし8のいずれかに記載のゲームシステム。
【請求項10】
前記音声出力部は、サラウンドスピーカであり、
前記第1の定位算出手段および第2の定位算出手段は、プレイヤが前記音声出力部に対面するような位置にあるとしたときの当該プレイヤから見て左右方向にかかる定位、および、前後方向にかかる定位を算出する、請求項1ないし8のいずれかに記載のゲームシステム。
【請求項11】
前記仮想3次元空間には複数の仮想マイクが配置されており、
前記受音音量算出手段は、前記各音源オブジェクトにかかる音声の音量の大きさを前記複数の仮想マイク毎に算出し、
前記第1の定位算出手段は、前記各音源オブジェクトの第1の定位を前記複数の仮想マイク毎に算出し、
前記重み付け対象決定手段は、前記複数の仮想マイク毎に前記重み付け対象を決定し、
前記第2の定位算出手段は、前記複数の仮想マイク毎に前記第2の定位を算出し、
前記ゲームシステムは、前記複数の仮想マイクそれぞれにおける前記第2の定位に基づいて、各仮想マイクで受けた前記音声を1つの音声として出力するとしたときの定位を第3の定位として算出する第3の定位算出手段を更に備え、
前記音声出力制御手段は、前記第3の定位に基づいて前記音源オブジェクトにかかる音声信号を生成し、前記音声出力部に出力する、請求項1に記載のゲームシステム。
【請求項12】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データに関連付けられている複数の音源オブジェクトと、複数の仮想マイクとが配置された仮想3次元空間を表現するゲームシステムであって、
前記音源オブジェクトそれぞれに関連付けられた所定の音声データに基づく音声を前記仮想3次元空間における各音源オブジェクトの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された複数の音声を前記仮想マイクで受けたときの当該仮想マイクにおける当該音声の音量の大きさを前記複数の仮想マイク毎に算出する受音音量算出手段と、
前記音声再生手段で再生された音声を前記仮想マイクで受けたときの当該音声の定位を第1の定位として前記複数の仮想マイク毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの音声の音量の大きさ、および、前記第1の定位算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの定位に基づいて、前記複数の仮想マイクで受けた音声を1つの音声として出力した場合における定位である第2の定位を前記複数の音源オブジェクト毎に算出する第2の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を1つの音声として出力した場合の定位である第3の定位を、当該複数の音源オブジェクトそれぞれにかかる前記第2の定位に基づいて算出する第3の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を前記第3の定位に基づいて1つの音声信号として生成し、前記音声出力部に出力する音声出力制御手段とを備える、ゲームシステム。
【請求項13】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲームシステムを制御するためのゲーム処理制御方法であって、
前記複数の音源オブジェクトそれぞれに関連付けられている所定の音声データに基づく音声を前記仮想3次元空間における当該音源オブジェクトそれぞれの位置において同じタイミングで再生する音声再生ステップと、
前記音声再生ステップで再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の音量の大きさを音源オブジェクト毎に算出する受音音量算出ステップと、
前記音声再生ステップで再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の定位を、前記音源オブジェクト毎に算出する第1の定位算出ステップと、
前記受音音量算出ステップで算出された各音源オブジェクトにかかる音声の音量の大きさに基づき、いずれか1つの音源オブジェクトを重み付け対象として決定する重み付け対象決定ステップと、
前記各音源オブジェクトにかかる音声を1つの音声として出力した場合に前記重み付け対象決定ステップで決定された音源オブジェクトにかかる音声の定位がより大きく反映されるような重み付けをして、前記各音源オブジェクトの第1の定位に基づいて第2の定位を算出する第2の定位算出ステップと、
前記第2の定位に基づいて前記複数の音源オブジェクトにかかる音声を1つの音声とした音声信号を生成し、前記音声出力部に出力する音声出力制御ステップとを備える、ゲーム処理制御方法。
【請求項14】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データに関連付けられている複数の音源オブジェクトと、複数の仮想マイクとが配置された仮想3次元空間を表現するゲームシステムを制御するためのゲーム処理制御方法であって、
前記音源オブジェクトそれぞれに関連付けられた所定の音声データに基づく音声を前記仮想3次元空間における各音源オブジェクトの位置において同じタイミングで再生する音声再生ステップと、
前記音声再生ステップで再生された複数の音声を前記仮想マイクで受けたときの当該仮想マイクにおける当該音声の音量の大きさを前記複数の仮想マイク毎に算出する受音音量算出ステップと、
前記音声再生ステップで再生された音声を前記仮想マイクで受けたときの当該音声の定位を第1の定位として前記複数の仮想マイク毎に算出する第1の定位算出ステップと、
前記受音音量算出ステップで算出された各仮想マイクにおける前記各音源オブジェクトの音声の音量の大きさ、および、前記第1の定位算出ステップで算出された各仮想マイクにおける前記各音源オブジェクトの定位に基づいて、前記複数の仮想マイクで受けた音声を1つの音声として出力した場合における定位である第2の定位を前記複数の音源オブジェクト毎に算出する第2の定位算出ステップと、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を1つの音声として出力した場合の定位である第3の定位を、当該複数の音源オブジェクトそれぞれにかかる前記第2の定位に基づいて算出する第3の定位算出ステップと、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を前記第3の定位に基づいて1つの音声信号として生成し、前記音声出力部に出力する音声出力制御ステップとを備える、ゲーム処理制御方法。
【請求項15】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲーム装置であって、
前記複数の音源オブジェクトそれぞれに関連付けられている所定の音声データに基づく音声を前記仮想3次元空間における当該音源オブジェクトそれぞれの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の音量の大きさを、音源オブジェクト毎に算出する受音音量算出手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の定位を、音源オブジェクト毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量の大きさに基づき、いずれか1つの音源オブジェクトを重み付け対象として決定する重み付け対象決定手段と、
前記各音源オブジェクトにかかる音声を1つの音声として出力した場合に前記重み付け対象決定手段が決定した音源オブジェクトにかかる音声の定位がより大きく反映されるような重み付けをして、前記各音源オブジェクトの第1の定位に基づいて第2の定位を算出する第2の定位算出手段と、
前記第2の定位に基づいて前記複数の音源オブジェクトにかかる音声を1つの音声とした音声信号を生成し、前記音声出力部に出力する音声出力制御手段とを備える、ゲーム装置。
【請求項16】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データに関連付けられている複数の音源オブジェクトと、複数の仮想マイクとが配置された仮想3次元空間を表現するゲーム装置であって、
前記音源オブジェクトそれぞれに関連付けられた所定の音声データに基づく音声を前記仮想3次元空間における各音源オブジェクトの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された複数の音声を前記仮想マイクで受けたときの当該仮想マイクにおける当該音声の音量の大きさを前記複数の仮想マイク毎に算出する受音音量算出手段と、
前記音声再生手段で再生された音声を前記仮想マイクで受けたときの当該音声の定位を第1の定位として前記複数の仮想マイク毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの音声の音量の大きさ、および、前記第1の定位算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの定位に基づいて、前記複数の仮想マイクで受けた音声を1つの音声として出力した場合における定位である第2の定位を前記複数の音源オブジェクト毎に算出する第2の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を1つの音声として出力した場合の定位である第3の定位を、当該複数の音源オブジェクトそれぞれにかかる前記第2の定位に基づいて算出する第3の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を前記第3の定位に基づいて1つの音声信号として生成し、前記音声出力部に出力する音声出力制御手段と、を備えるゲーム装置。
【請求項17】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲームシステムのコンピュータに実行させるゲームプログラムであって、
前記複数の音源オブジェクトそれぞれに関連付けられている所定の音声データに基づく音声を前記仮想3次元空間における当該音源オブジェクトそれぞれの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の音量の大きさを、音源オブジェクト毎に算出する受音音量算出手段と、
前記音声再生手段で再生された各音源オブジェクトにかかる音声を前記仮想マイクで受けたときの当該仮想マイクにおける各音声の定位を、音源オブジェクト毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量の大きさに基づき、いずれか1つの音源オブジェクトを重み付け対象として決定する重み付け対象決定手段と、
前記各音源オブジェクトにかかる音声を1つの音声として出力した場合に前記重み付け対象決定手段が決定した音源オブジェクトにかかる音声の定位がより大きく反映されるような重み付けをして、前記各音源オブジェクトの第1の定位に基づいて第2の定位を算出する第2の定位算出手段と、
前記第2の定位に基づいて前記複数の音源オブジェクトにかかる音声を1つの音声とした音声信号を生成し、前記音声出力部に出力する音声出力制御手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項18】
音声信号に基づく音声を出力する音声出力部を備え、所定の音声データに関連付けられている複数の音源オブジェクトと、複数の仮想マイクとが配置された仮想3次元空間を表現するゲームシステムのコンピュータに実行させるゲームプログラムであって、
前記音源オブジェクトそれぞれに関連付けられた所定の音声データに基づく音声を前記仮想3次元空間における各音源オブジェクトの位置において同じタイミングで再生する音声再生手段と、
前記音声再生手段で再生された複数の音声を前記仮想マイクで受けたときの当該仮想マイクにおける当該音声の音量の大きさを前記複数の仮想マイク毎に算出する受音音量算出手段と、
前記音声再生手段で再生された音声を前記仮想マイクで受けたときの当該音声の定位を第1の定位として前記複数の仮想マイク毎に算出する第1の定位算出手段と、
前記受音音量算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの音声の音量の大きさ、および、前記第1の定位算出手段で算出された各仮想マイクにおける前記各音源オブジェクトの定位に基づいて、前記複数の仮想マイクで受けた音声を1つの音声として出力した場合における定位である第2の定位を前記複数の音源オブジェクト毎に算出する第2の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を1つの音声として出力した場合の定位である第3の定位を、当該複数の音源オブジェクトそれぞれにかかる前記第2の定位に基づいて算出する第3の定位算出手段と、
前記同じタイミングで再生された前記複数の音源オブジェクトにかかる音声を前記第3の定位に基づいて1つの音声信号として生成し、前記音声出力部に出力する音声出力制御手段として前記コンピュータを機能させる、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラムに関し、より特定的には、音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラムに関する。
【背景技術】
【0002】
従来から、ゲーム処理等において、仮想空間内にある複数の音源から音が再生される様子を表現することが行われている。このような音声の表現に際して、これら複数の音源から同時に同じ音が鳴る場合もあり得る。このようなとき、全ての音を同時に再生すると、スピーカ等から出力される音量が大きくなりすぎるという問題がある。
【0003】
ここで、同じ種類の複数のサウンドオブジェクトが存在する場合に、それらを音源における発音が1つになるようにまとめて、音源を節約する技術が知られている(例えば、特許文献1)。この技術では、同じ音が同時に鳴るときには音数を制限することになるため、結果的に、出力音量が大きくなりすぎることを防ぐことにもなっていた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許公開2004−195210号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記の技術では、使用する音源を節約したとしても、使用可能な音源の発音数を超えてしまうような場合には、「優先順位」に従って、出力しないサウンドオブジェクトの音を決定していた。つまり、発音数の制限によって再生されない音がある場合もあった。例えば、使用可能な音数が1音だけに制限されているような場合において、仮想空間内にある仮想マイクの右と左にある音源からの音が同時再生された場合は、右からの音、もしくは左からの音しか再生されないという状況もあり得た。
【0006】
それ故に、本発明の目的は、仮想空間内の複数の音源から同時に音が鳴る場合に、音量が大きくなりすぎず、かつ、各音源の位置を考慮した音の再生が可能なゲームシステム等を提供することである。
【課題を解決するための手段】
【0007】
上記目的は、例えば以下のような構成により達成される。
【0008】
構成例の一例は、音声信号に基づく音声を出力する音声出力部を備え、所定の音声データと関連付けられている複数の音源オブジェクトと、少なくとも1つの仮想マイクとが配置された仮想3次元空間を表現するゲームシステムであって、音声再生手段と、受音音量算出手段と、第1の定位算出手段と、重み付け対象決定手段と、第2の定位算出手段と、音声出力制御手段とを備える。音声再生手段は、複数の音源オブジェクトそれぞれに関連付けられている所定の音声データに基づく音声を仮想3次元空間における当該音源オブジェクトそれぞれの位置において同じタイミングで再生する。受音音量算出手段は、音声再生手段で再生された各音源オブジェクトにかかる音声を仮想マイクで受けたときの当該仮想マイクにおける各音声の音量の大きさを音源オブジェクト毎に算出する。第1の定位算出手段は、音声再生手段で再生された各音源オブジェクトにかかる音声を仮想マイクで受けたときの当該仮想マイクにおける各音声の定位を音源オブジェクト毎に算出する。重み付け対象決定手段は、受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量の大きさに基づき、いずれか1つの音源オブジェクトを重み付け対象として決定する。第2の定位算出手段は、各音源オブジェクトにかかる音声を1つの音声として出力した場合に重み付け対象決定手段が決定した音源オブジェクトにかかる音声の定位がより大きく反映されるような重み付けをして、各音源オブジェクトの第1の定位に基づいて第2の定位を算出する。音声出力制御手段は、第2の定位に基づいて複数の音源オブジェクトにかかる音声を1つの音声とした音声信号を生成し、音声出力部に出力する。
【0009】
上記構成例によれば、複数の音源オブジェクトからの所定の音声が同時再生されることによって予期せぬ大音量が鳴ってしまうことを防ぐことができる。また、各音源オブジェクトの位置関係が反映されるような音の再生が可能となる。
【0010】
また、複数の音源オブジェクトに関連付けられている所定の音声データは同一の音声データであってもよい。
【0011】
上記構成例によれば、複数の音源オブジェクトから同じ音声が同時に再生されることによって予期せぬ大音量が鳴ってしまうことを防ぐことができる。
【0012】
また、重み付け対象決定手段は、受音音量算出手段で算出された音量の大きさが最も大きな音声を再生した音源オブジェクトを重み付け対象として決定してもよい。
【0013】
上記構成例によれば、各音源オブジェクトの位置関係をより反映した音の再生が可能となる。
【0014】
また、ゲームシステムは、同じタイミングで音声を再生した音源オブジェクトに基づいて、音声出力部に出力する音声の音量を設定する出力音量設定手段を更に備えていてもよい。そして、音声出力制御手段は、出力音量設定手段で設定された音量で音声信号に基づく音声を出力してもよい。また、出力音量設定手段は、受音音量算出手段で算出された各音源オブジェクトにかかる音声の音量のうち、最も大きな音量を音声出力部に出力する音声の音量として設定してもよいし、同じタイミングで音声を再生した音源オブジェクトの数に基づいて音量を設定してもよい。更には、出力音量設定手段は、同じタイミングで音声を再生した音源オブジェクトの数が多いほど、音量が大きくなるように設定してもよい。
【0015】
上記構成例によれば、各音源オブジェクトの位置関係をより反映した音の再生が可能となる。特に、音源オブジェクトとの距離感を聴覚的に把握しやすい音声表現が可能となる。
【0016】
また、ゲームシステムは、同じタイミングで音声を再生した音源オブジェクトの数に基づいて、音声出力部に出力する音声内容を変更させる出力音声変更手段を更に備えていてもよい。
【0017】
上記構成例によれば、例えば、敵キャラクタを倒すようなゲーム処理において、一度に多数の敵キャラクタを倒したときに聴覚的な爽快感をプレイヤに与えることが可能となる。
【0018】
また、音声出力部は、ステレオスピーカであり、第1の定位算出手段および第2の定位算出手段は、プレイヤが音声出力部に対面する位置にあるとしたときの当該プレイヤから見て左右方向にかかる定位を算出するようにしてもよい。更には、音声出力部は、サラウンドスピーカであり、第1の定位算出手段および第2の定位算出手段は、プレイヤが音声出力部に対面するような位置にあるとしたときの当該プレイヤから見て左右方向にかかる定位、および、前後方向にかかる定位を算出するようにしてもよい。
【0019】
上記構成例によれば、仮想3次元空間における空間的の広がりを聴覚的にプレイヤに感じさせることが可能となる。
【0020】
また、仮想3次元空間には複数の仮想マイクが配置されていてもよい。そして、受音音量算出手段は、各音源オブジェクトにかかる音声の音量の大きさを複数の仮想マイク毎に算出し、第1の定位算出手段は、各音源オブジェクトの第1の定位を複数の仮想マイク毎に算出し、重み付け対象決定手段は、複数の仮想マイク毎に重み付け対象を決定し、第2の定位算出手段は、複数の仮想マイク毎に前記第2の定位を算出し、ゲームシステムは、複数の仮想マイクそれぞれにおける第2の定位に基づいて、各仮想マイクで受けた音声を1つの音声として出力するとしたときの定位を第3の定位として算出する第3の定位算出手段を更に備えており、音声出力制御手段は、第3の定位に基づいて音源オブジェクトにかかる音声信号を生成し、音声出力部に出力してもよい。
【0021】
上記構成例によれば、複数プレイヤによる同時プレイが可能なゲーム処理であって、例えば画面を分割し、分割画面を各プレイヤに割り当てるようなゲームにおいて、複数プレイヤのそれぞれに対して仮想3次元空間の空間的感覚を聴覚的に提供することができる。
【0022】
また、他の構成例は、音声信号に基づく音声を出力する音声出力部を備え、所定の音声データに関連付けられている複数の音源オブジェクトと、複数の仮想マイクとが配置された仮想3次元空間を表現するゲームシステムであって、音声再生手段と、受音音量算出手段と、第1の定位算出手段と、第2の定位算出手段と、第3の定位算出手段と、音声出力制御手段とを備える。音声再生手段は、音源オブジェクトそれぞれに関連付けられた所定の音声データに基づく音声を仮想3次元空間における各音源オブジェクトの位置において同じタイミングで再生する。受音音量算出手段は、音声再生手段で再生された複数の音声を仮想マイクで受けたときの当該仮想マイクにおける当該音声の音量の大きさを複数の仮想マイク毎に算出する。第1の定位算出手段は、音声再生手段で再生された音声を仮想マイクで受けたときの当該音声の定位を第1の定位として複数の仮想マイク毎に算出する。第2の定位算出手段は、受音音量算出手段で算出された各仮想マイクにおける各音源オブジェクトの音声の音量の大きさ、および、第1の定位算出手段で算出された各仮想マイクにおける各音源オブジェクトの定位に基づいて、複数の仮想マイクで受けた音声を1つの音声として出力した場合における定位である第2の定位を複数の音源オブジェクト毎に算出する。第3の定位算出手段は、同じタイミングで再生された複数の音源オブジェクトにかかる音声を1つの音声として出力した場合の定位である第3の定位を、当該複数の音源オブジェクトそれぞれにかかる第2の定位に基づいて算出する。音声出力制御手段は、同じタイミングで再生された複数の音源オブジェクトにかかる音声を第3の定位に基づいて1つの音声信号として生成し、音声出力部に出力する。
【0023】
上記構成例によれば、複数プレイヤによる同時プレイが可能なゲーム処理であって、例えば画面を分割し、分割画面を各プレイヤに割り当てるようなゲームにおいて、複数プレイヤのそれぞれに対して仮想3次元空間の空間的感覚を聴覚的に提供することができる。
【発明の効果】
【0024】
本発明によれば、複数の音源から同時再生される音が重なることで予期せぬ大音量が鳴ってしまうことを防ぐことができる。また、各音源の位置関係が反映されるような音の再生が可能となる。
【図面の簡単な説明】
【0025】
図1】本発明の一実施形態に係るゲームシステム1の一例を示す外観図
図2図1のゲーム装置本体5の一例を示す機能ブロック図
図3図1のコントローラ7の外観構成の一例を示す図
図4】コントローラ7の内部構成の一例を示すブロック図
図5】第1の実施形態における仮想空間内の各オブジェクトの位置関係を示す図
図6】メモリ12のメモリマップ
図7】音源オブジェクトデータ87の構成の一例
図8】纏め音作業用データ88の構成の一例
図9】ゲーム処理プログラム81に基づくゲーム処理の流れを示すフローチャート
図10図9のステップS1で示した各音源の音量・定位算出処理の詳細を示すフローチャート
図11図9のステップS2で示した最終音量・定位算出処理の詳細を示すフローチャート
図12】第2の実施形態のゲーム画面の一例
図13】仮想空間内の各オブジェクトの位置関係を示す図
図14】定位の範囲の例を示す図
図15】第2の実施形態での各音源の音量・定位算出処理の一例を示すフローチャート
図16】第2の実施形態での音声制御処理の別の例を示すフローチャート
【発明を実施するための形態】
【0026】
(第1の実施形態)
図1を参照して、本発明の第1の実施形態に係るゲームシステムについて説明する。
【0027】
図1において、ゲームシステム1は、表示手段の一例である家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。また、ゲーム装置3は、ゲーム装置本体5と、コントローラ7と、マーカ部8を含む。
【0028】
モニタ2は、ゲーム装置本体5から出力されるゲーム画像を表示する。モニタ2は、ステレオスピーカであるスピーカ2L、2Rを有している。スピーカ2Lおよび2Rは、ゲーム装置本体5から出力されるゲーム音声を出力する。なお、この例ではモニタ2がこれらスピーカを有する例を示したが、この他、モニタ2に別途外部のスピーカを接続するような形態であってもよい。また、モニタ2の画面の周辺(図1では画面の上側)には、マーカ部8が設置される。マーカ部8は、その両端に2つのマーカ8Rおよび8Lを備えている。マーカ8R(マーカ8Lも同様)は、具体的には1以上の赤外LEDであり、モニタ2の前方に向かって赤外光を出力する。マーカ部8はゲーム装置本体5に接続されており、ゲーム装置本体5はマーカ部8が備える各赤外LEDの点灯を制御することが可能である。
【0029】
ゲーム装置本体5は、当該ゲーム装置本体5で読み取り可能な光ディスクに記憶されたゲームプログラム等に基づいてゲーム処理等を実行する。
【0030】
コントローラ7は、自機に対して行われた操作の内容を示す操作データをゲーム装置本体5に与えるものである。コントローラ7とゲーム装置本体5とは無線通信によって接続される。
【0031】
図2は、ゲーム装置本体5のブロック図である。図2において、ゲーム装置本体5は、情報処理装置の一例である。本実施形態においては、ゲーム装置本体5はCPU(制御部)11およびメモリ12、システムLSI13、無線通信部14およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
【0032】
CPU11は、メモリ12やシステムLSI13等を用いて所定の情報処理プログラムを実行する。これにより、ゲーム装置3における各種機能(例えば、ゲーム処理)が実現される。
【0033】
システムLSI13には、GPU(Graphics Processor Unit)16、DSP(Digital Signal Processor)17、入出力プロセッサ18、等が含まれる。
【0034】
GPU16は、CPU11からのグラフィクスコマンド(作画命令)に従って画像を生成する。
【0035】
DSP17は、オーディオプロセッサとして機能し、メモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。
【0036】
入出力プロセッサ18は、無線通信部14を介して、コントローラ7との間でデータの送受信を実行したりする。また、入出力プロセッサ18は、上記無線通信部14を介して、コントローラ7から送信される操作データ等を受信し、メモリ12のバッファ領域に記憶(一時記憶)する。
【0037】
また、ゲーム装置本体5において生成される画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、図示しないAVコネクタを介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2Lおよび2Rに出力する。これによって、モニタ2に画像が表示されるとともにスピーカ2Lおよび2Rから音声が出力される。
【0038】
図3は、コントローラ7の外観構成を示す斜視図である。図3において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有している。また、コントローラ7は、操作部(図4に示す操作部31)として、十字キー72や複数の操作ボタン73等を備える。また、コントローラ7はモーションセンサも備える。プレイヤは、コントローラ7に設けられた各ボタンを押下すること、および、コントローラ7自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
【0039】
図4は、コントローラ7の電気的な構成を示すブロック図である。図4に示すように、コントローラは、上述の操作部31を備える。また、コントローラ7の姿勢を検出するためのモーションセンサ32を備える。本実施形態では、当該モーションセンサ32として、加速度センサおよびジャイロセンサが備えられている。加速度センサは、xyzの3軸の加速度が検出可能である。ジャイロセンサは、xyzの3軸の角速度が検出可能である。
【0040】
また、コントローラ7は、ゲーム装置本体5との無線通信が可能な無線通信部34を備える。本実施形態においては、コントローラ7とゲーム装置本体5との間では無線通信が行われるが、他の実施形態においては有線で通信が行われてもよい。
【0041】
また、コントローラ7は、当該コントローラ7における動作を制御する制御部33を備える。具体的には、制御部33は、各入力部(操作部31、モーションセンサ32)からの出力データを受け取り、操作データとして無線通信部34を介してゲーム装置本体5へ送信する。
【0042】
次に、図5を参照して、第1の実施形態のシステムにおいて実行される処理の概要を説明する。
【0043】
第1の実施形態では、仮想3次元空間(以下、単に仮想空間と呼ぶ)をプレイヤキャラクタが自由に動き回ることが可能なゲームのゲーム処理を想定している。そして、本実施形態では、仮想空間内に存在する複数の音源オブジェクトからの音を1つの仮想マイクで受音する処理(この仮想マイクで視聴したとみなす音場計算(音量や定位)を行う処理)が行われ、その結果としての音声信号をスピーカ2Lおよび2Rから出力する場合を例に説明する。なお、本実施形態では、この音は主に効果音のような音声を想定する。つまり、BGM等の連続的に発せられる音声(持続音)ではなく、単発の音声、すなわち、ごく短い時間で発音が終了するような音声(再生時間が短い音声)を想定する。そして、本実施形態では、3つの音源オブジェクトがあり、これらから同じ内容の単発の音声が同時に発せられるような状況を例にして説明する。
【0044】
図5は、上記のような状況である仮想空間の一例を示す模式図である。図5では、仮想空間を俯瞰した状態を示している。図5において、プレイヤオブジェクト101が存在し、その後方に仮想マイク111が配置されている。また、プレイヤオブジェクト101からみて右斜め奥となる位置に、第1の音源オブジェクト121が配置されている。また、プレイヤオブジェクト101からみて、音源オブジェクト121の更に右斜め奥となる位置に、第2の音源オブジェクト122が配置されている。また、プレイヤオブジェクト101からみて左斜め奥の方向であって、第2の音源オブジェクトよりも遠くの位置に第3の音源オブジェクト123が配置されている。
【0045】
このような状況で、各音源オブジェクトから、同じ効果音が同時に(同一のゲームフレーム内に)再生されたとする。この場合、仮想マイク111の位置において聞こえる各音源オブジェクトの音量と定位が、例えば次のような関係にあったとする。なお、音量の範囲は0.0〜1.0とし、定位の範囲は−1.0〜1.0(仮想マイクのローカル座標系のx軸方向にかかる定位とする)であるとする。また、定位について、−1.0は、スピーカ2Lからのみ音が聞こえるような状態(音量バランスが左に傾いている状態)である。+1.0はスピーカ2Rからのみ音が聞こえるような状態(音量バランスが右に傾いている状態)である。0.0は、中心から音が聞こえるような状態(左右の音量バランスが等しい状態)である。
【0046】
上記のような定位を前提とし、図5において、第1の音源オブジェクト121については、音量が1.0、定位が0.25として聞こえるとする。また、第2の音源オブジェクト122については、音量が0.3、定位が0.8として聞こえるとする。また、第3の音源オブジェクト123については、音量が0.1、定位が−1.0として聞こえるとする。なお、以下の説明では、説明の便宜上、上記仮想マイクで受けた音量のことを「受音音量」と呼ぶ。また、仮想マイクにおける定位のことを「受音定位」と呼ぶ。
【0047】
上記のような関係にある場合に、本実施形態では、これら3つの音源からの同時出力にかかる音を1つの音として(換言すれば、単音源扱いで)出力する。以下の説明では、この1音のことを「纏め音」と呼ぶ。そして、本実施形態では、纏め音の出力に際して、仮想マイクでの受音音量の大きさが最も大きな音源を重視して、最終的にスピーカから出力する当該纏め音の音量と定位を決定する。具体的には、音量については、上記3つの受音音量のうち、最も大きなものを使う。上記の例では、第1の音源オブジェクト121の音量”1.0”が纏め音の音量として設定される。また、定位については、上記3つの受音音量のうち、最も大きな音量であった音源の受音定位を重視したような定位を算出する。例えば、上記の3つの音源オブジェクトの例でいうと、以下のような式1を用いて纏め音の定位を算出する。
【数1】

なお、受音音量n、受音定位nは、それぞれ第nの音源オブジェクト(上記の例では第1〜第3のいずれか)における受音音量と受音定位を示す。
【0048】
このように、本実施形態では、複数音源から同時に同じ音声が再生された際に、最も音が大きく届く音源オブジェクトからの音量と定位がより大きく反映されるようにして、これら複数の音源からの音を1つの音に纏めて出力する。これにより、複数音源からの同じ音の同時再生によって予期せぬ大音量が鳴ってしまうことを防ぐことができる。また、各音源の位置関係が反映されるような音の再生が可能となる。更に、複数の音源から同時に発せられた同じ内容の音を1つの音に代表させるようにして(纏めて)再生している。そのため、音源毎に個別に音の再生・出力処理を行わずにすみ、音声再生にかかる処理負荷を軽減することもできる。
【0049】
次に、図6図11を参照して、上記のようなゲーム処理を実現するためのシステム1の動作について詳細に説明する。
【0050】
図6は、上記ゲーム処理を実行するときにゲーム装置本体5のメモリ12に記憶される各種データの一例を示している。
【0051】
ゲーム処理プログラム81は、ゲーム装置本体5のCPU11に、上記ゲームを実現するためのゲーム処理を実行させるためのプログラムである。ゲーム処理プログラム81は、例えば、光ディスクからメモリ12にロードされる。
【0052】
処理用データ82は、CPU11において実行されるゲーム処理において用いられるデータである。処理用データ82は、操作データ83、ゲーム音声データ84、仮想マイク姿勢データ85、仮想マイク位置データ86、複数の音源オブジェクトデータ87、纏め音作業用データ88を含む。また、その他、図示は省略するが、仮想カメラの姿勢を示すデータや各プレイヤキャラクタのデータ、その他の各種オブジェクトのデータも含まれている。
【0053】
操作データ83は、コントローラ7から周期的に送信される操作データである。操作データ83には、操作部31に対する入力状態を示すデータや、モーションセンサ32に対する入力内容を示すデータが含まれる。
【0054】
ゲーム音声データ84は、上記音源オブジェクト105が再生するゲーム音声の素になるデータである。ゲーム音声データ84には、上記音源オブジェクト105に対応づけられた効果音や音楽データが複数含まれている。その他、音源オブジェクト105とは対応付けられていない各種効果音や音楽のデータも含まれている。
【0055】
仮想マイク姿勢データ85は、仮想マイク111の姿勢を示すデータである。仮想マイクの姿勢は、プレイヤキャラクタの移動操作等に基づいて適宜変更される。本実施形態では、基本的には仮想マイクの姿勢(特に、向きについて)は仮想カメラの姿勢(向き)と一致するように制御される。
【0056】
仮想マイク位置データ86は、仮想空間内における仮想マイク111の位置を示すデータである。仮想マイクの位置は、プレイヤキャラクタの移動等に伴って適宜変化する。
【0057】
音源オブジェクトデータ87は、上記の各音源オブジェクトに関するデータである。図7は、各音源オブジェクトデータ87の構成の一例を示す図である。音源オブジェクトデータ87は、オブジェクトID871、オブジェクト位置データ872、対応音声識別データ873、音声特性データ874等を含む。
【0058】
オブジェクトID871は、各音源オブジェクトを識別するためのIDである。オブジェクト位置データ872は、仮想空間内における当該音源オブジェクトの位置を示すデータである。対応音声識別データ873は、当該音源オブジェクトが再生する音声であると定義されているゲーム音声データ84を示すデータである。音声特性データ874は、当該音源オブジェクトが発する音の大きさ(音量)や、仮想空間内においてその音が届く距離等を定義したデータである。また、当該音源と同じ音を鳴らすことが定義されている他の音源オブジェクトの有無を示すための情報も、音声特性データ874に含まれる。つまり、当該音源オブジェクトが、上記のような纏め音の対象になり得るか否かを示す情報である。例えば、纏め音になり得る効果音に予めグループ番号を定義しておき、このグループ番号を当該音声特性データ874に含むようにすることが考えられる。これにより、同一ゲームフレーム内に音声を再生した音源オブジェクトのうち、同一のグループ番号を有する音源オブジェクトは纏め音を生成する処理の対象となることが判別可能となる。また、その他、当該音源オブジェクトが現在音声を再生中であるか否かを示すためのフラグ等も音源オブジェクトデータ87に含まれる。
【0059】
図6に戻り、纏め音作業用データ88は、上述した纏め音を生成するために利用されるデータである。図8は、纏め音作業用データ88の構成の一例を示す図である。図8において、纏め音作業用データ88には、上記仮想マイク111で受けた受音音量を示す受音音量データ881および受音定位を示す受音定位データ882が、上記複数のオブジェクト毎(図8では音源#nと表記)に区別されて格納される。
【0060】
次に、図9のフローチャートを参照し、ゲーム処理プログラム81に基づいてゲーム装置本体5のCPU11によって実行されるゲーム処理の流れを説明する。なお、ここでは、主に上記のような複数の音源オブジェクトを1つの仮想マイクで受けたときの音声出力制御に関する処理についてのみ説明し、それ以外の処理に関しては説明を省略する。また、図9のフローチャートは1フレーム単位で繰り返し実行される。
【0061】
図9において、まず、ステップS1で、CPU11は、各音源の音量・定位算出処理を実行する。この処理は、仮想空間内における各音源オブジェクトからの音を仮想マイクで受けたとしたときの受音音量や受音定位を算出するための処理である。図10は、当該各音源の音量・定位算出処理の詳細を示すフローチャートである。図10において、まず、ステップS21で、CPU11は、仮想空間内に存在する複数の音源オブジェクトから、今回の処理ループ(ゲームフレーム)で音声を出力することが決定された音源オブジェクトを抽出する。そして、その中から、処理対象としていずれか一つの音源オブジェクトを選択する。以下、当該選択された音源オブジェクトを処理対象音源と呼ぶ。
【0062】
次に、ステップS22で、CPU11は、処理対象音源で再生される音が纏め音としての再生対象となり得る音であるか否かを判定する。具体的には、CPU11は、音声特性データ874を参照し、当該処理対象音源にかかる音が纏め音の対象になり得るとして予め定義された音であるか否かを判定する。
当該判定の結果、纏め音の対象となり得る音であるときは(ステップS22でYES)、次に、ステップS23で、CPU11は、処理対象音源に対応づけられているゲーム音声データ84を読み出す処理を実行する。
【0063】
次に、ステップS24で、CPU11は、処理対象音源の位置や音声特性データ874と、仮想マイク111の位置および向きに基づいて、上記読み出したゲーム音声データにかかる音が鳴らされた場合の仮想マイクにおける受音音量および受音定位を算出する。次に、ステップS25で、CPU11は、当該算出された受音音量および受音定位を纏め音作業用データ88としてメモリ12に格納する。その後、後述のステップS28に処理が進められる。
【0064】
一方、上記ステップS22の判定の結果、処理対象音源にかかる音声が纏め音としての再生対象にならないときは(ステップS22でNO)、ステップS26で、CPU11は、通常の音声再生処理を行う。すなわち、CPU11は、処理対象音源の位置で当該処理対象音源に対応付けられている所定の音声を再生する処理を行う。換言すれば、纏め音としての再生対象になり得ない音声についてはこの処理で再生処理が実行されることになる(纏め音としての再生対象になり得る音声については、後述のステップS2の処理において再生されることになる)。
【0065】
次に、ステップS27で、CPU11は、今回の処理ループにおいて音声が出力されることが決定された全ての音源オブジェクトに対して上記のような処理を行ったか否かを判定する。その結果、未処理の音源オブジェクトが残っていれば(ステップS27でNO)、上記ステップS21に戻り、処理が繰り返される。全て処理済みのときは(ステップS28でYES)、当該各音源の音量・定位算出処理は終了する。
【0066】
図9に戻り、次に、ステップS2で、CPU11は、最終音量・定位算出処理を実行する。この処理は、纏め音としての再生対象になり得る音声にかかる音源オブジェクト(なり得るとは、実際に複数音が鳴った場合、および、実際には1音しか鳴っていなかった場合の双方を含む意味である)を対象とする処理である。特に、纏め音として出力する音声に関しては、上記ステップS1で算出された各音源の受音音量、受音定位に基づいて、スピーカに出力すべき音声である最終出力音声における音量および定位を算出する処理である。図11は、当該最終音量・定位算出処理の詳細を示すフローチャートである。まず、ステップS41で、CPU11は、纏め音としての再生対象になり得る音源オブジェクトのうち、以下の処理の対象とする音源オブジェクト(処理対象音源)を選択する。
【0067】
次に、ステップS42において、CPU11は、処理対象音源にかかる音声と同じ音声が複数同時に鳴らされた否かを判定する。つまり、処理対象音源にかかる音声が纏め音として扱う音声であるか否かを判定する。その結果、纏め音として扱う音声ではないときは(ステップS42でNO)、ステップS46にて、CPU11は処理対象音源にかかる音声について通常の再生処理(すなわち、上記式1を使わない処理)を行う。つまり、「纏め音」の対象となり得るものではあったが、実際には1音しか鳴っていなかったような場合は、この処理によって音声再生がなされる。その後、後述のステップS45に処理が進められる。
【0068】
一方、同じ音が複数鳴らされたときは(ステップS42でYES)、ステップS43において、CPU11は、当該同時に再生された複数の音声それぞれにかかる纏め音作業用データ88を参照し、最終的な出力音量と定位を算出する。すなわち、音量については、同時に再生された音声、すなわち纏め音の対象となる各音源の受音音量データ881を参照し、最も受音音量が大きな音源オブジェクトにかかる受音音量を採用する。また、定位については、纏め音の対象となる各音源の受音音量データ881および受音定位データ882を参照し、上述した式1を用いて算出する。
【0069】
次に、ステップS44で、CPU11は、纏め音にかかる出力音声を生成する処理を実行する。すなわち、上記ステップS43で算出された音量と定位を用いて纏め音の音声を生成する。
【0070】
次に、ステップS45で、CPU11は、現在のゲームフレームにおいて出力すべき音声の全てについて処理したか否かを判定する。未処理の音声が残っているときは(ステップS45でNO)、上記ステップS41に戻り処理が繰り返される。全て処理済みのときは(ステップS45でYES)、当該最終出力音声算出処理は終了する。
【0071】
なお、上記ステップS42、ステップS46の処理については省略するようにしても良い。実際に複数音が鳴ったか否かに関わらず、纏め音となり得る音の全てについて処理するようにすれば、同じ結果が算出可能だからである。
【0072】
図9に戻り、次に、ステップS3で、CPU11は、上記ステップS2で算出された各音声をミックスして音声信号を生成し、スピーカ等に出力するための処理を実行する。
【0073】
以上で、第1の実施形態にかかる音声出力制御に関する処理は終了する。
【0074】
このように、第1の実施形態では、複数の音源オブジェクトからの音を1つの仮想マイクで受けて、1つの音に纏めて音声出力するときに、より音が大きく届く音源オブジェクトからの音量と定位を重視して、1つの音として纏めている。これにより、同じ音の同時再生によって予期せぬ大音量が鳴ってしまうことを防ぎつつ、各音源の位置を考慮した音の再生も可能となる。
【0075】
なお、音量の決定に関して、上記実施形態では、最も受音音量が大きな音源オブジェクトにかかる受音音量を採用していた。この他、例えば、同時に同音を再生した音源オブジェクトの個数に応じて音量を変化させるようにしても良い。例えば、ある音源オブジェクトが発する音の音量の初期値を基準として、音源オブジェクトが2つの場合は、音量を1.1倍とし、3つの場合は1.2倍のようにしてもよい。
【0076】
また、その他、同音を同時出力した音源オブジェクトの個数に応じて、出力する音そのものを変えるようにしても良い。例えば、ある場面で鳴らす効果音として、複数の音声データを用意する。一例として、敵キャラクタを倒したときに鳴らす効果音があるとして、1体だけ倒したときの第1の効果音と、5体以上まとめて倒したときの第2の効果音を用意する。そして、第2の効果音は、第1の効果音をベースにした音声ではあるが、より豪勢な音に聞こえるようなアレンジが施された音である。このように、複数の効果音を用意しておき、プレイヤが同時に倒した敵キャラクタ数が4体までであれば、第1の効果音を用いて音声出力する。そして、プレイヤが同時に敵キャラクタを5体以上倒したような場合(5つの音源オブジェクトから同時に効果音が鳴る状況)には第2の効果音を用いて音声出力するようにしてもよい。また、第2の効果音を用いる場合は、音量の算出については省略するようにしてもよい。
【0077】
(第2の実施形態)
次に、図12から図17を参照して、第2の実施形態について説明する。上述の第1の実施形態では、仮想マイクが1つの場合を例として説明していた。これに対して、第2の実施形態では、仮想マイクが複数ある場合を例に説明する。これは、例えば、ゲーム処理において画面を2分割して2人同時プレイを行うような場合に適用可能である。なお、当該実施形態に係るゲームシステム1は、コントローラ7を複数用いる点を除き、基本的には上述した第1の実施形態と同様であるため、同一の参照符号を付して詳細な説明を省略する。
【0078】
まず、第2の実施形態で想定するゲーム処理の概要を説明する。本実施形態で想定するゲームは、基本的には第1の実施形態と同じく、仮想空間内をプレイヤキャラクタが自由に動き回ることが可能なゲームである。そして、本実施形態では、画面を左右に2分割し、2人のプレイヤに1画面ずつ割り当てて2人同時プレイするような場合を想定する。この場合、仮想カメラおよび仮想マイクは分割画面毎に用意される。本実施形態では、左右2分割画面のため、2つの仮想カメラおよび仮想マイクが用いられる。そして、ある音源オブジェクトから発せられる音について、これら2つの仮想マイクのそれぞれで受けるような処理が実行されるが、最終的にスピーカ2Lおよび2Rに出力するときには、2つの仮想マイクで受けた音を1つの音として出力する。このとき、本実施形態では、分割画面であることを考慮した出力、すなわち、複数の仮想マイクそれぞれの位置と音源オブジェクトとの位置関係を考慮した出力を行う。
【0079】
上記のような分割画面であることを考慮した音声出力の処理について、簡単に説明する。この説明の簡略化のため、ここでは、仮想空間内の音源オブジェクトが1つだけの場合を例に説明する。但し、第2の実施形態としては、後述のように、音源オブジェクトが複数存在する場合を想定している。
【0080】
図12は、画面分割による2人同時プレイのゲーム画面の一例を示す図である。図12では、画面の中心を境界として左右に2分割している。図12において、左半分の画面が第1のプレイヤ(以下、プレイヤA)用の画面であり、右半分の画面が第2のプレイヤ(以下、プレイヤB)用の画面に割り当てられている。
【0081】
プレイヤA用の画面(以下、分割画面A)には、プレイヤAの操作対象であるプレイヤキャラクタ201と、音源オブジェクト205が表示されている。また、この分割画面Aでは、プレイヤキャラクタ201の右側面が表示されている状態である。また、音源オブジェクト205は、プレイヤキャラクタ201の左後方に位置しているものとする。一方、プレイヤB用の画面(以下、分割画面B)では、プレイヤBの操作対象であるプレイヤキャラクタ202が表示されている。また、上記プレイヤキャラクタ201および音源オブジェクト205も(プレイヤキャラクタ202からみて遠方に)表示されている。なお、この分割画面Bでは、プレイヤキャラクタ202の左側面が表示されている状態である。
【0082】
図13は、上記図12の状態における仮想空間内での各オブジェクトの位置関係を示す図である。また、図13は、当該仮想空間を俯瞰したものを示している。図13において、プレイヤキャラクタ201および202は共に仮想空間座標系におけるz軸正方向を向いている状態である。また、図13におけるプレイヤキャラクタ201の右側に第1の仮想マイク211が配置されている。また、第1の仮想マイク211と同じ位置に第1の仮想カメラ(図示は省略)も配置されているものとする。当該第1の仮想カメラで撮影した画像が上記分割画面Aに表示される。また、第1の仮想マイク211は、当該分割画面Aのために用いられる。同様に、プレイヤキャラクタ202の左側に第2の仮想マイク212が配置されている。また、この位置に、第2の仮想カメラ(図示は省略)も配置されているものとする。当該第2の仮想カメラで撮影した画像が、上記分割画面Bに表示される。第2の仮想マイク212は、当該分割画面Bのために用いられる。なお、これら仮想カメラおよび仮想マイクは、原則的には各プレイヤキャラクタの移動に伴って移動されるものとする。
【0083】
また、図13において、プレイヤキャラクタ201は、図13におけるほぼ右上の場所に位置している。一方、プレイヤキャラクタ202は、図13における左下近くの場所に位置している。そして、音源オブジェクト205は、プレイヤキャラクタ201のすぐ側(左後方)に位置している。つまり、音源オブジェクト205は、プレイヤキャラクタ201からみるとすぐ近くに存在するが、プレイヤキャラクタ202からみると、遠方に存在しているような位置関係となっている。
【0084】
上記のような位置関係において、音源オブジェクト205から再生される音声をスピーカ2Lおよび2Rで表現(出力)する場合を考える。本実施形態では、上記のように画面を2分割しており、各画面用にそれぞれ仮想マイクが設けられている。そのため、それぞれの仮想マイクで音源オブジェクト215からの音声を受音する処理が行われる。その結果、音源オブジェクト205から発せられる音は、各仮想マイクに対して異なった音量や定位で届くことになる。ここで、物理的なスピーカについては、本実施形態ではスピーカ2Lおよび2Rの1組のスピーカしか存在していない。そのため、本実施形態では、最終的には、上記2つの仮想マイクで得られた音源オブジェクト215の音声を1音にまとめて表現する。この際に、本実施形態では、各画面におけるプレイヤキャラクタと音源オブジェクト215との位置関係を反映したような音の表現を行う。具体的には、より音源に近い位置の仮想マイク(より大きな音を拾った仮想マイク)にかかる分割画面側に音の定位が偏るような音声出力を行う。これにより、音源から発せられる音を分割画面数分だけ再生するようなことを行わずとも、1音だけの再生でも自然な聞こえ方とすることができる。
【0085】
上記のような分割画面を考慮した処理の原理を説明する。上記のような処理のため、定位の範囲を次のように定義する。まず、上記第1の実施形態と同様にスピーカ2L、2Rについての定位の範囲を−1.0〜1.0の範囲とする。そして、分割画面のそれぞれに対応する定位を定義する。図14は、分割画面を考慮した定位の範囲の一例である。図14に示すように、分割画面Aに関して、第1の定位範囲(−1.0〜0.0)が定義され、分割画面Bに関して、第2の定位範囲(0.0〜1.0)が定義されている。このような定義のもと、第1の仮想マイク211で受音した音の定位を第1の定位範囲内に収めるように処理し、第2の仮想マイク212で受音した音の定位を第2の定位範囲内に収めるように処理する。そして、受音音量が大きかった仮想マイクのほうの受音定位を重視するようにして、最終的にスピーカ2Lおよび2Rから出力する音声を生成するものである。
【0086】
具体的には、以下のような処理が行われる。まず、仮想マイク毎に上記受音音量および受音定位を算出する。このときの受音定位は、1画面時である場合を想定して算出される。すなわち、−1.0〜1.0の範囲で算出される。
【0087】
次に、分割画面に応じて、上記受音定位を補正する。すなわち、第1の仮想マイク211における受音定位については、−1.0〜1.0の範囲で算出された値を−1.0〜0.0の範囲内の値になるように補正する。同様に、第2の仮想マイク212における受音定位については、−1.0〜1.0の範囲で算出された値を0.0〜1.0の範囲内の値となるよう補正する。以下、この補正後の定位を分割用補正定位と呼ぶ。
【0088】
次に、第1の仮想マイク211と第2の仮想マイク212とで受音音量の大きなほうを最終的な音声出力の音量として設定する(以下、分割考慮音量と呼ぶ)。更に、以下の式2を用いて、分割画面であることを考慮した定位(以下、分割考慮定位と呼ぶ)を算出する。
【数2】

なお、当該式において、マイク受音音量nおよび補正定位nは、それぞれ第nの仮想マイクにおける上記受音音量および分割用補正定位を示す。
【0089】
これにより、上記図12のような画面状態であれば、音源オブジェクト205が発する音声については、主にスピーカ2Lのほうから聞こえ、スピーカ2Rのほうからは音源オブジェクト205の音声は聞こえない、というような音声表現ができる。そのため、プレイヤAからすると、プレイヤキャラクタ201のすぐ近くに音源オブジェクト205が存在することが聴覚的に把握できる。また、プレイヤBからすると、プレイヤキャラクタ202の近くには音源オブジェクト205は存在していないことが聴覚的に把握できる。
【0090】
上記のように、画面を分割して2人同時プレイを行うような場合は、分割画面であることを考慮した分割考慮音声および分割考慮定位を算出する処理を行って音源オブジェクト205からの音声を出力する。そして、第2の実施形態では、このような処理と、上記第1の実施形態で説明した複数の音源からの音を纏め音として出力する処理とを併用する。例えば、上記のような分割画面、すなわち、仮想マイクが2つある状態で、音源オブジェクトが3つあるような場合を想定する。この場合は、音源オブジェクト毎に分割考慮音量および分割考慮定位を算出する。そして、各音源オブジェクトにかかる分割考慮音量および分割考慮定位に基づいて纏め音を生成する。つまり、上記式1における各音源の「受音音量n」と「受音定位n」として、各音源の分割考慮音量と分割考慮定位を用いる。換言すれば、先に上記式2で算出した値を適用して上記式1を用いた算出処理を行うことで纏め音にかかる定位を算出することになる。
【0091】
以下、図15を用いて、上記のような処理の具体例を説明する。図15は、先に式2を使って算出した値を、式1に適用する場合の処理のフローチャートである。なお、使用するデータについては、基本的には第1の実施形態と同じものである。但し、仮想マイクが複数あるため、仮想マイク姿勢データ85、仮想マイク位置データ86等、処理に必要なデータに関しては適宜仮想マイク毎に用意される。
【0092】
図15の処理は、上述の第1の実施形態において図10を用いて説明した各音源の音量・定位算出処理として実行される。その処理内容の一部は、図10で示したものと同じ処理であるため、両フローチャートにおいて同一のステップには同一の符号が付されている。
【0093】
図15において、まず、上述したようなステップS21〜S23の処理が実行される。すなわち、処理対象音源の選択が行われ、これが纏め音の対象となり得る音であるときは(ステップS22でYES)ゲーム音声データ84の読み出しが行われる。
【0094】
次に、ステップS61で、CPU11は、後述のステップS62〜64の処理の対象とする仮想マイク(以下、処理対象マイクと呼ぶ)を一つ選択する。本実施形態では仮想マイクが2つの例を説明しているため、まず第1の仮想マイク211が処理対象マイクとして選択され、その後、第2の仮想マイク212が選択されるものとする。
【0095】
次に、ステップS62で、CPU11は、上記処理対象音源の音声を処理対象マイク(の位置)で受音し、その受音音量と上記補正定位を算出する処理を実行する。具体的には、まず、CPU11は、処理対象音源と処理対象マイクとの距離等に基づき、当該処理対象マイクにおける受音音量を算出する。音量の範囲は、0.0〜1.0の範囲内の値で示される。次に、CPU11は、上述したように、画面分割がなされていない、つまり、ゲーム画面が1画面表示であるときと同様に、処理対象音源の受音定位を算出する。ここで算出される定位は、−1.0〜1.0の範囲内の値になる。
【0096】
続いて、ステップS63で、CPU11は、上記のように分割画面であることを考慮した定位の補正を行う。すなわち、上記分割用補正定位の算出を行う。これにより、当該処理対象マイクにおける受音音量と分割用補正定位が算出されたことになる。
【0097】
次に、ステップS64で、CPU11は、全ての仮想マイクについて上記のような受音音量と分割用補正定位の算出を行ったか否かを判定する。その結果、まだ未処理の仮想マイクが残っているときは(ステップS64でNO)、CPU11は、上記ステップS61に戻り、処理を繰り返す。
【0098】
一方、全ての仮想マイクを処理したときは(ステップS64でYES)、続くステップS65で、CPU11は、各仮想マイクの受音音量および分割用補正定位に基づき、上記分割考慮音量および分割考慮定位を算出する。具体的には、CPU11は、第1の仮想マイク211と第2の仮想マイク212とでいずれか大きい方の受音音量を最終出力音量として設定する。更に、CPU11は、上述した式2を用いて分割考慮定位を算出する。
【0099】
次に、ステップS66で、CPU11は、上記算出された分割考慮音量および分割考慮定位を纏め音作業用データ88として保存する。
【0100】
一方、上記ステップS22の判定の結果、処理対象音源が纏め音の対象にならない場合は(ステップS22でNO)、ステップS67で、CPU11は、上述のように各マイクにおける受音音量や補正定位を算出し、これに基づいて処理対象音源にかかる分割考慮音量および分割考慮定位を算出する。そして、これを示すデータを適宜メモリ12に保存する。そして、ステップS27に処理が進められる。
【0101】
次に、ステップS27で、CPU11は、仮想空間内に存在する音源オブジェクト全てについて上記のような処理を行ったか否かを判定する。その結果、まだ未処理の音源オブジェクトが残っているときは(ステップS27でNO)、CPU11は、上記ステップS21に戻り、処理を繰り返す。この際、上記ステップS64の処理との関係で、各仮想マイクについて「処理済み」状態から「未処理」状態にリセットされる。一方、全ての音源オブジェクトを処理済みであれば(ステップS27でYES)、当該各音源の音量・定位算出処理は終了する。その後、上述の第1の実施形態における最終音量・定位算出処理(ステップS2)およびスピーカへの出力(ステップS3)が実行される(つまり、上記式2による結果を用いて上記式1を適用する算出処理が行われる)。この際、上記ステップS46の処理では、上記ステップS67でメモリに保存された分割考慮音量および分割考慮定位に基づいた再生が行われる。これにより、分割画面における定位を考慮した纏め音等が生成、出力されることになる。
【0102】
また、上記の処理順序については逆でも良い。すなわち、先に、複数の仮想マイク毎に、第1の実施形態で説明したような処理(ステップS1、S2)を用いて3つの音源オブジェクトからの音を纏め音として算出する。そして、各仮想マイクで算出された纏め音に基づいて、上記分割考慮音量および分割考慮定位を算出する。すなわち、纏め音における定位を上記受音定位とし、これに基づいて上記分割用補正定位を算出する。そして、纏め音における音量を受音音量として、上記式2を適用するようにする。換言すれば、先に上記式1を用いて算出した値を上記式2に適用して分割考慮音量および分割考慮定位を算出するようにしてもよい。
【0103】
図16は、先に上記式1を用いて算出した値を上記式2に適用する場合の処理の一例を示すフローチャートである。この処理では、まず、ステップS81で、CPU11は処理対象マイクを一つ選択する。そして、上述の第1の実施形態で説明したような処理(ステップS1,S2)を実行し、処理対象マイクにかかる音声の処理(纏め音の算出等)を行う。
【0104】
ステップS82で、CPU11は、全ての仮想マイクについてステップS1,S2の処理を行ったか否かを判定し、まだ未処理の仮想マイクがあれば(ステップS82でNO)、ステップS81に戻り処理を繰り返す。全ての仮想マイクについて処理していれば(ステップS82でYES)、ステップS82で、CPU11は、各仮想マイクについて、上述した補正定位を算出する。次に、ステップS84で、CPU11は、上記分割考慮音量の算出を行う。更に上記式2を用いて、分割考慮定位を算出する。そして、ステップS3で、CPU11は、当該分割考慮音量および分割考慮定位に基づいて、最終的な音声のスピーカ出力を行う。以上で、図16のフローチャートにかかる処理は終了する。
【0105】
このように、第2の実施形態では、画面が分割され、各分割画面に対応する仮想マイクが設けられているような場合に、上記第1の実施形態の処理に加えて、分割画面を考慮した音量や定位の調整を行う処理も併用する。これにより、同じ音の同時再生によって予期せぬ大音量が鳴ってしまうことを防ぎ、各音源の位置を考慮した音の再生と共に、分割画面であることを考慮した音の再生が可能となる。
【0106】
なお、上記各実施形態は、モニタ2の左右端に設けられているステレオスピーカ2L、2Rを用いる場合を例にしていた。この他、例えば、モニタ2のスピーカ2Lおよび2Rの代わりに、別途用意した5.1chサラウンドスピーカを利用するような場合にも上記の処理は適用可能である。この場合は、上述の処理のような、仮想マイクのローカル座標系のx軸方向にかかる定位に加えて、奥行き方向、すなわち、仮想マイクのローカル座標系におけるz軸方向にかかる定位も考慮するようにすればよい。例えば、定位の範囲を、プレイヤの位置を0.0とし、プレイヤの前方について1.0〜0.0の範囲、プレイヤから後方について0.0〜−1.0の範囲とする。そして、xz平面上において2次元的に定位を調整するようにしてもよい。つまり、x軸方向にかかる定位とz軸方向にかかる定位の双方を併用して、音声出力制御を行うようにしても良い。
【0107】
また、上記実施形態では、同じ音声が同じタイミングで再生された場合に、これら同一の音声を纏め音とする例を示した。この他、同じタイミングで再生されたそれぞれ異なる内容の音声について、上記のような処理を適用してもよい。この場合は、例えば、それぞれ異なる音声に関して、予め「纏め音」の対象になるように「グループ」の定義を行っておけばよい。例えば、それぞれ異なる音声を再生する3つの音源オブジェクトを、纏め音の対象としての1つのグループとして予め定義付けしておく。そして、このグループに属する音源オブジェクトが2つ以上、同じタイミングで音声出力した際に、上記のような処理を適用し、仮想マイクの位置において最も受音音量が大きな音源の定位を重視するよう重み付けして、最終的に出力する音声の定位を算出してもよい。また、この際、再生する音声については、当該最も受音音量が大きな音源にかかる音声だけを再生してもよい。
【0108】
また、上述の実施例にかかる処理を実行するためのゲーム処理プログラムは、任意のコンピュータ読み取り可能な記憶媒体(例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、半導体メモリカード、ROM、RAMなど)に格納され得る。
【0109】
また、上記実施例ではゲーム処理を一例に説明しているが、情報処理の内容はゲーム処理に限るものではなく、画面を分割して仮想3次元空間の様子を表示するような他の情報処理においても上記実施例の処理は適用可能である。
【0110】
また、上記実施形態においては、ある単一の音源オブジェクトと複数の仮想マイクとの位置関係や受音した音に基づき、最終的に出力する音声の定位や音量を算出する制御を行うための一連の処理が単一の装置(ゲーム装置本体5)において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、ゲーム装置本体5と、当該ゲーム装置本体5とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【符号の説明】
【0111】
1…ゲームシステム
2…モニタ
2L、2R…スピーカ
3…ゲーム装置
5…ゲーム装置本体
7…コントローラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16