(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023036434
(43)【公開日】2023-03-14
(54)【発明の名称】演算装置、演算方法、及び、コンピュータプログラム
(51)【国際特許分類】
G06T 13/40 20110101AFI20230307BHJP
A63F 13/814 20140101ALI20230307BHJP
A63F 13/44 20140101ALI20230307BHJP
A63F 13/428 20140101ALI20230307BHJP
【FI】
G06T13/40
A63F13/814
A63F13/44
A63F13/428
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021143487
(22)【出願日】2021-09-02
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 公開の事実1:令和3(2021)年8月23日に、エンタテインメントコンピューティングシンポジウム論文集のウェブサイト(下のアドレス)に「プレイヤのゲーム習熟度と嗜好を反映したダンスゲーム譜面に対する動作の推定」(2021巻、160-168ページ)を掲載(https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=212567&item_no=1&page_id=13&block_id=8) 公開の事実2:令和3(2021)年8月31日に、エンタテインメントコンピューティング2021(オンライン開催(Zoom))のセッション6:評価/モデル化(8月31日 14:45-16:15)にて、「[8]プレイヤのゲーム習熟度と嗜好を反映したダンスゲーム譜面に対する動作の推定」について発表
(71)【出願人】
【識別番号】399030060
【氏名又は名称】学校法人 関西大学
(74)【代理人】
【識別番号】100111567
【弁理士】
【氏名又は名称】坂本 寛
(72)【発明者】
【氏名】山西 良典
(72)【発明者】
【氏名】辻野 雄大
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050BA12
5B050EA05
5B050EA07
5B050EA12
(57)【要約】
【課題】譜面データから、譜面データに従う一連の動作を行うユーザの姿勢の変化を推定する演算装置を提供する。
【解決手段】演算装置1は、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定するよう構成されている演算部1を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、前記譜面データに対する前記ユーザの姿勢変化を推定するよう構成されている演算部を備える
演算装置。
【請求項2】
前記モデルは、前記ユーザの姿勢と動作とを規定する複数のノード、及び、前記ノード間を結ぶ複数のエッジを有し、
前記ユーザの姿勢変化を推定することは、前記譜面データに含まれる、動作の指示を複数有する指示群に適した、前記ノードの遷移の経路を決定することにより、前記指示群に対する前記ユーザの姿勢変化を決定することを含む
請求項1に記載の演算装置。
【請求項3】
前記演算部は、前記経路を決定する処理において判定値を用い、
前記判定値は、前記エッジが有する遷移確率、前記ノードが有する評価値、及び、前記ノードの規定する動作と前記指示の規定する動作との一致度合、のうちの少なくとも1つに基づく
請求項2に記載の演算装置。
【請求項4】
前記遷移確率は、前記ノード間での、それぞれの前記ノードの規定する前記姿勢の変化のしやすさを示す値で表される
請求項3に記載の演算装置。
【請求項5】
前記遷移確率は、前記指示の基準となる第1の座標系、及び、前記ユーザの姿勢に応じて規定される第2の座標系の少なくとも一方における、前記ノード間での身体の少なくとも一部の移動方向、移動量、身体の角度変化量、及び、特定の動作の有無、のうちの少なくとも1つに基づいて得られる
請求項4に記載の演算装置。
【請求項6】
前記評価値は、前記ノードの規定する前記姿勢の取りやすさを示す値で表される
請求項3~5のいずれか一項に記載の演算装置。
【請求項7】
前記評価値は、前記指示の基準となる座標系における、前記ノードの規定する姿勢における身体の少なくとも一部の位置の把握度合、複数の身体の部位の位置関係、及び、身体の向き、のうちの少なくとも1つに基づいて得られる
請求項6に記載の演算装置。
【請求項8】
前記経路を決定する処理は、前記遷移確率、及び、前記評価値の少なくとも一方を調整する処理を含む
請求項3~7のいずれか一項に記載の演算装置。
【請求項9】
前記調整する処理は、ユーザ属性に応じて前記遷移確率、及び、前記評価値の少なくとも一方を調整することを含む
請求項8に記載の演算装置。
【請求項10】
前記演算部は、
前記判定値を用いて、前記指示群を評価する処理をさらに実行するよう構成されている
請求項3~9のいずれか一項に記載の演算装置。
【請求項11】
譜面データに対するユーザの姿勢変化を推定する方法であって、
前記方法は、
譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、前記譜面データに対する前記ユーザの姿勢変化を推定する、ことを備える
演算方法。
【請求項12】
前記モデルは、前記ユーザの姿勢と動作とを規定する複数のノード、及び、前記ノード間を結ぶ複数のエッジを有し、
前記ユーザの姿勢変化を推定することは、前記譜面データに含まれる、動作の指示を複数有する指示群に適した、前記ノードの遷移の経路を決定することにより、前記指示群に対する前記ユーザの姿勢変化を決定することを含む
請求項11に記載の演算方法。
【請求項13】
コンピュータに、譜面データに対するユーザの姿勢変化を推定する処理を行わせるコンピュータプログラムであって、
前記コンピュータに、
譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、前記譜面データに対する前記ユーザの姿勢変化を推定する、ことを行わせる
コンピュータプログラム。
【請求項14】
前記モデルは、前記ユーザの姿勢と動作とを規定する複数のノード、及び、前記ノード間を結ぶ複数のエッジを有し、
前記ユーザの姿勢変化を推定することは、前記譜面データに含まれる、動作の指示を複数有する指示群に適した、前記ノードの遷移の経路を決定することにより、前記指示群に対する前記ユーザの姿勢変化を決定することを含む
請求項13に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、演算装置、演算方法、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
指示されたタイミングに応じてプレイヤーが指示された動作を行うことで、一連の動作を行うためのコンテンツが知られている。このようなコンテンツは、例えば、動作の指示を伴う音楽であって、ユーザは、音楽に合わせて指示された動作を行うことで、ダンスや体操などの一連の動作を行う。動作は、プレイヤーの身体の少なくとも一部を指示された位置に移動させる動作である。例えば、音楽ゲームでは、動作は、画面を下から上に移動しながら表示される矢印に合わせて、足元の、矢印で識別される複数のパネルを踏む行動が挙げられる。このようなコンテンツは、ダンスゲームやリズム体操などで用いられる。
【0003】
ダンスゲームなどにおける、コンテンツに対して設定される、連続した、動作とその動作を行うタイミングとの指示を表したデータである譜面データは、手作業で作成されてもよいし、自動作成されてもよい。例えば、特開2019-201939号公報(以下、特許文献1)は、譜面データを自動作成する装置を開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
譜面データによって指示される一連の動作を行う際のユーザの姿勢の変化によっては、一連の動作が難しいものであったり容易なものであったりする場合がある。しかしながら、譜面データは、動作とその動作を行うタイミングとを指示するものであるため、ユーザがどのような姿勢で動作を行うのかが譜面データのみでは特定されない。そのため、譜面データから、譜面データに従う一連の動作を行うユーザの姿勢の変化が把握されることが望まれる。
【0006】
ここで、演算装置は、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定するよう構成されている演算部を備える。
【0007】
また、演算方法は、譜面データに対するユーザの姿勢変化を推定する方法であって、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定する、ことを備える。
【0008】
また、コンピュータプログラムは、コンピュータに、譜面データに対するユーザの姿勢変化を推定する処理を行わせるコンピュータプログラムであって、コンピュータに、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定する、ことを行わせる。
【0009】
更なる詳細は、後述の実施形態として説明される。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係る演算装置の用いられ方の一例を表した概略図である。
【
図2】
図2は、演算装置の構成の一例を表した概略ブロック図である。
【
図3】
図3は、演算装置で用いられるモデルの一部の一例を表した図である。
【
図4】
図4は、プレイヤーの動作を説明するための図である。
【
図5】
図5は、指示群に対する一連動作を決定する方法の一例を表したフローチャートである。
【
図6】
図6は、演算装置において決定された遷移経路の一例を示す図である。
【
図7】
図7は、ノード評価値の算出方法の他の例を説明するための図である。
【
図8】
図8は、エッジの遷移確率の算出方法の他の例を説明するための図である。
【
図10】
図10は、
図9の譜面において、ユーザ属性を変えた場合の、演算装置により推定された姿勢変化を示す図である。
【発明を実施するための形態】
【0011】
<1.演算装置、演算方法、及び、コンピュータプログラムの概要>
【0012】
(1)実施の形態に従う演算装置は、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定するよう構成されている演算部を備える。
【0013】
姿勢変化とは、譜面データに従う一連の動作を行うユーザの姿勢の変化を指す。譜面データは、コンテンツに対して設定される、連続した、動作とその動作を行うタイミングとの指示を表したデータを指す。
【0014】
譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いることによって、譜面データを入力することで容易にユーザの姿勢変化を得ることが可能になる。
【0015】
(2)好ましくは、モデルは、ユーザの姿勢と動作とを規定する複数のノード、及び、ノード間を結ぶ複数のエッジを有し、ユーザの姿勢変化を推定することは、譜面データに含まれる、動作の指示を複数有する指示群に適した、ノードの遷移の経路を決定することにより、指示群に対するユーザの姿勢変化を決定することを含む。
【0016】
モデルは、例えば、隠れマルコフモデルや、グラフ理論におけるグラフ、などであってよい。ユーザの姿勢と動作とを規定する複数のノード、及び、ノード間を結ぶエッジを有するモデルを用いることによって、ユーザの姿勢と動作、及び、動作間の遷移を考慮してノードの遷移の経路が決定される。ノードの遷移の経路が決定されることにより、ユーザの姿勢変化が得られる。そのため、譜面データからユーザの姿勢変化を得ることが可能になる。
【0017】
(3)好ましくは、演算部は、経路を決定する処理において判定値を用い、判定値は、エッジが有する遷移確率、ノードが有する評価値、及び、ノードの規定する動作と指示の規定する動作との一致度合、のうちの少なくとも1つに基づく。これにより、エッジが有する遷移確率、ノードが有する評価値、及び、ノードの規定する動作と指示の規定する動作との一致度合のうちの少なくとも1つを用いてノードの遷移の経路が決定される。その結果、ユーザの姿勢と動作、及び、動作間の遷移とを考慮してユーザの姿勢変化が決定されるようになる。
【0018】
(4)好ましくは、遷移確率は、ノード間での、それぞれのノードの規定する姿勢の変化のしやすさを示す値で表される。これにより、姿勢の変化をしやすいノードの遷移の経路が決定されるようになる。
【0019】
(5)好ましくは、遷移確率は、指示の基準となる第1の座標系、及び、ユーザの姿勢に応じて規定される第2の座標系の少なくとも一方における、ノード間での身体の少なくとも一部の移動方向、移動量、身体の角度変化量、及び、特定の動作の有無、のうちの少なくとも1つに基づいて得られる。これにより、ユーザにとっての姿勢の変化をしやすいノードの遷移の経路が決定されるようになる。
【0020】
(6)好ましくは、評価値は、ノードの規定する姿勢の取りやすさを示す値で表される。これにより、姿勢の変化をしやすいノードの遷移の経路が決定されるようになる。
【0021】
(7)好ましくは、評価値は、指示の基準となる座標系における、ノードの規定する姿勢における身体の少なくとも一部の位置の把握度合、複数の身体の部位の位置関係、及び、身体の向き、のうちの少なくとも1つに基づいて得られる。これにより、ユーザにとっての姿勢の取りやすさを表した評価値を用いてノードの遷移の経路が決定されるようになる。
【0022】
(8)好ましくは、経路を決定する処理は、遷移確率、及び、評価値の少なくとも一方を調整する処理を含む。これにより、柔軟な遷移確率、及び、評価値の少なくとも一方を用いてノードの遷移の経路が決定されるようになる。
【0023】
(9)好ましくは、調整する処理は、ユーザ属性に応じて遷移確率、及び、評価値の少なくとも一方を調整することを含む。これにより、ユーザ属性に応じた遷移確率、及び、評価値の少なくとも一方を用いてノードの遷移の経路が決定されるようになる。その結果、ユーザに適した姿勢変化が決定されるようになる。
【0024】
(10)好ましくは、演算部は、判定値を用いて、指示群を評価する処理をさらに実行するよう構成されている。これにより、指示群に従う一連の動作を、姿勢変化の観点から客観的な数値で示すことができる。
【0025】
(11)実施の形態に従う演算方法は、譜面データに対するユーザの姿勢変化を推定する方法であって、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定する、ことを備える。譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いることによって、譜面データを入力することで容易にユーザの姿勢変化を得ることが可能になる。
【0026】
(11)実施の形態に従うコンピュータプログラムは、コンピュータに譜面データに対するユーザの姿勢変化を決定する処理を行わせるコンピュータプログラムであって、コンピュータに、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いて、譜面データに対するユーザの姿勢変化を推定する、ことを行わせる。譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルを用いることによって、コンピュータに、譜面データを入力することで容易にユーザの姿勢変化を決定させることができる。
【0027】
<2.演算装置、演算方法、及び、コンピュータプログラムの例>
【0028】
図1は、本実施の形態に係る演算装置1の用いられ方の一例を表した概略図である。
図1を参照して、演算装置1は、一例として、譜面データ生成装置9と接続されて、譜面データ生成装置9から得た譜面データDを用いて演算を行う。譜面データDは、音楽などのコンテンツに対して設定される、連続した、動作とその動作を行うタイミングとの指示を表したデータであって、動作の指示を複数有する指示群を含む。プレイヤーであるユーザは、譜面データに含まれる指示群の指示に従う一連の動作を行うことによって姿勢変化が生じ、ダンスなどの音楽ゲームや体操などを行うことになる。
【0029】
演算装置1は、ダンス等の動作の指示を、プレイヤー等のユーザに対して行う装置の一例であるダンスゲーム装置5のコントローラ50と接続されて、演算結果に応じた信号をコントローラ50に渡す。演算結果に応じた信号は、例えば、譜面データDであってよい。動作の指示をユーザに対して行う装置の他の例は、リハビリ等の身体動作を伴う治療のためにユーザに身体動作を指示する装置である。
【0030】
ダンスゲーム装置5は、ディスプレイ51、スピーカ52、及び、操作部53を有する。スピーカ52からは音楽Mが出力される。操作部53は、ディスプレイ51の表示面51a(正面)に面して立ったプレイヤーの足元となる位置に配置されている。これにより、ダンスゲーム装置5を用いたダンスゲームのプレイヤーは、ディスプレイ51の正面に立って、左右の足で操作部53を踏む動作を行うことができる。
【0031】
操作部53は、第1パネル31、第2パネル32、第3パネル33、第4パネル34、及び、第5パネル35を有し、第5パネル35を中心として、その他のパネル31~34は、それぞれ、左、右、前、後ろに配置されている。ここでの前は、ディスプレイ51の表示面51aに近い側であり、後ろはディスプレイ51から遠い側であり、左は、ディスプレイ51に向かって左側、右はディスプレイ51に向かって右側を指す。一例として、パネル31~34に、それぞれ、左向き矢印31a、右向き矢印32a、前向き矢印33a、後ろ向き矢印34aが描かれていることによって、パネル31~34は、それぞれ、左向き矢印31a、右向き矢印32a、前向き矢印33a、後ろ向き矢印34aで識別されている。
【0032】
ディスプレイ51には、譜面データDに基づいた、プレイヤーに対する動作の指示が表示される。動作は、特定のタイミングで、パネル31~35のうちの少なくとも1つのパネルを踏むことである。動作の指示は、踏むパネルを示す向きの矢印の表示を含む。例えば、
図1の例の場合、指示I1は左向き矢印を表し、第1パネル31を踏むことを規定している。指示I2は下向き矢印を表し、第4パネル34を踏むことを規定している。指示I3は右向き矢印を表し、第2パネル32を踏むことを規定している。これにより、プレイヤーは、ディスプレイ51の指示が示す踏むべきパネルを知ることができる。
【0033】
また、動作の指示は、踏むタイミングの指示を含む。踏むタイミングは、例えば、ディスプレイ51に表示される指示の位置によって示される。例えば、
図1の例の場合、複数の指示I1,I2,I3が、順に、ディスプレイ51の下端から上端に向かって矢印Aの向きに移動しながら表示される。このとき、動作タイミングを示す表示位置がディスプレイ51上に規定されている。
図1の例では、線P1が動作タイミングを示す表示位置を表している。動作の指示は、一例として、矢印Aの向きに移動した指示が線P1と重なって表示されたタイミングを、踏むタイミングの指示として有している。これにより、プレイヤーは、ディスプレイ51の指示が示す踏むべきパネルと、そのパネルを踏むタイミングとを知ることができる。
【0034】
音楽ゲームでは、音楽Mにあわせて、譜面データDに基づいた複数の指示からなる指示群がディスプレイ51に表示される。これにより、プレイヤーは、指示されたタイミングで、指示されたパネルを踏む動作を行う。その結果、プレイヤーは、音楽Mに併せて姿勢を変化させる。姿勢の変化は、ダンスなどの一連の動作を形成する。
【0035】
演算装置1は、譜面データ生成装置9から譜面データDを取得する。演算装置1は、譜面データDに含まれる、動作の指示を複数有する指示群に従って一連の動作を行う際の、プレイヤーの姿勢変化を決定する。譜面データDは、他の例として、演算装置1に予め記憶されていてもよいし、演算装置1の操作装置15(
図2)などから入力されてもよい。
【0036】
図2は、演算装置1の構成の一例を表した概略ブロック図である。
図2を参照して、演算装置1は、演算部11(プロセッサ)とメモリ12とを有するコンピュータで構成される。演算部11は、例えば、CPUである。メモリ12は、フラッシュメモリ、EEPROM、ROM、RAMなどを含む。または、メモリ12は、一次記憶装置であってもよいし、二次記憶装置であってもよい。
【0037】
メモリ12は、演算部11で実行されるコンピュータプログラム121を記憶している。演算部11は、コンピュータプログラム121を実行することによって、プレイヤーの姿勢変化を推定するための演算処理(以下、演算処理と略する)を実行する。
【0038】
メモリ12は、モデル122を記憶していてもよい。又は、モデル122は演算装置1とは異なる装置に記憶されており、演算装置1が通信することによって異なる装置からモデル122を読み出すようにしてもよい。
【0039】
モデル122は、譜面データが入力として与えられるとユーザの姿勢変化を出力するモデルである。一例として、モデル122は、プレイヤーの状態の遷移を表したモデルであって、ノードとエッジとを有するモデルである。ノードとエッジとを有するモデルは、プレイヤーの姿勢とその変化とを確率つき有限状態オートマトンとして表現したものであって、一例として、指示群を観測系列、プレイヤーの状態遷移上での姿勢を隠れ状態とした、隠れマルコフモデルであってよい。他の例として、グラフ理論におけるグラフであってもよい。
【0040】
モデル122は、他の例として、譜面データが入力として与えられるとユーザの動き(姿勢)を出力するように機械学習された学習モデルであってもよい。
【0041】
ノードはプレイヤーの姿勢と動作とを規定する。プレイヤーの姿勢は、一例として、右足の位置、左足の位置、及び、体の方向で示される。各足の位置は、その足を置くパネルで示される。体の方向は、プレイヤーが正面として立つ方向で示される。プレイヤーの動作は、踏む動作を行う位置で示される。踏む動作を行う位置は、踏む動作の対象となるパネルで示される。
【0042】
エッジは有向エッジであって、始点ノードから終点ノードへの遷移を規定する。各ノードはプレイヤーの姿勢を示しているため、エッジが示すノード間の遷移は、プレイヤーの姿勢の変化を示す。
【0043】
図3は、モデル122の一部であるモデル122Aの一例を表した図である。モデル122Aは、ノードN1~N13、及び、その間を接続するエッジを有している。モデル122Aは、モデル122のうちの、ノードN1を開始ノードとし、ノードN1からの状態遷移の部分である。
【0044】
各ノードは、4つのパラメータP1,P2,P3,P4を有する。パラメータP1は、左足を置くパネルを示す。パラメータP2は、右足を置くパネルを示す。パラメータP3は、体の方向を示す。パラメータP4は、踏む対象となった動作を示す。パラメータP1,P2,及びP3は、プレイヤーの姿勢を示すパラメータである。パラメータP4は、プレイヤーの動作を示すパラメータである。4つのパラメータは、例えば、(P1,P2,P3,P4)で表される。
【0045】
例えば、ノードN1は、パラメータP1,P2,及びP4はいずれも、第5パネル35である。ノードN1は、パラメータP1,P2より、右足、左足ともに第5パネル35に置く姿勢を指示している。ノードN1は、パラメータP3より、正面向きに立つ姿勢を指示している。ノードN1は、パラメータP4より、第5パネル35を踏む動作を指示している。
【0046】
ノードN2は、パラメータP1が第3パネル33、パラメータP2が第2パネル32である。ノードN2は、パラメータP1,P2より、左足を第3パネル33に置き、右足を第2パネル32に置く姿勢を指示している。ノードN2は、パラメータP3より、右斜め前向きで立つ姿勢を指示している。ノードN2は、パラメータP4より、第3パネル33及び第2パネル32を踏む動作を指示している。この場合、第3パネル33は左足で踏み、第2パネル32は右足で踏む動作となる。
【0047】
ノードN3は、パラメータP1が第4パネル34、パラメータP2が第2パネル32である。ノードN3は、パラメータP1,P2より、左足を第4パネル34に置き、右足を第2パネル32に置く姿勢を指示している。ノードN3は、パラメータP3より、左斜め前向きで立つ姿勢を指示している。ノードN3は、パラメータP4より、第2パネル32を踏む動作を指示している。この場合、第4パネル34に左足を置き、第2パネル32を右足で踏む動作となる。
【0048】
ノードN4は、パラメータP1が第2パネル32、パラメータP2が第4パネル34である。ノードN4は、パラメータP1,P2より、左足を第2パネル32に置き、右足を第4パネル34に置く姿勢を指示している。ノードN4は、パラメータP3より、右斜め後ろ向きで立つ姿勢を指示している。ノードN4は、パラメータP4より、第2パネル32を踏む動作を指示している。この場合、第4パネル34に右足を置き、第2パネル32を左足で踏む動作となる。
【0049】
モデル122Aは、ノードN1とノードN2とを結ぶエッジを有している。モデル122Aは、ノードN1とノードN2との間で遷移が可能であることを示している。ノードN1からノードN2への遷移では、左足が第5パネル35から第3パネル33に移動し、右足が第5パネル35から第2パネル32に移動する。そのため、ノードN1からノードN2への遷移は、プレイヤーの姿勢が、ディスプレイ51に向く(正面向きの)姿勢から、第3パネル33と第2パネル32との間の方向に向く(右斜め前向きの)姿勢に遷移する、姿勢変化を示している。また、ノードN1からノードN2への遷移は、第5パネル35を両脚で踏んで立っている状態からジャンプして左右の足をそれぞれ第3パネル33及び第2パネル32として着地する姿勢変化を示している。
【0050】
モデル122Aは、ノードN2とノードN3とを結ぶエッジを有している。モデル122Aは、ノードN2とノードN3との間で遷移が可能であることを示している。ノードN2からノードN3への遷移では、左足が第3パネル33から第4パネル34に移動し、右足が第2パネル32に維持される。そのため、ノードN2からノードN3への遷移は、プレイヤーの姿勢が、第3パネル33と第2パネル32との間の方向に向く(右斜め前向きの)姿勢から、第1パネル31と第3パネル33との間の方向に向く(左斜め前向きの)姿勢に遷移する、姿勢変化を示している。また、ノードN2からノードN3への遷移は、第2パネル32に置いた右足を軸にして、左足を第3パネル33から第4パネル34に移動させるように身体の向きを回転させる姿勢変化を示している。
【0051】
モデル122Aは、ノードN2とノードN4とを結ぶエッジを有している。モデル122Aは、ノードN2とノードN4との間で遷移が可能であることを示している。ノードN2からノードN4への遷移では、左足が第3パネル33から第2パネル32に移動し、右足が第2パネル32から第4パネル34に移動する。そのため、ノードN2からノードN4への遷移は、プレイヤーの姿勢が、第3パネル33と第2パネル32との間の方向に向く(右斜め前向きの)姿勢から、第2パネル32と第4パネル34との間の方向に向く(右斜め後ろ向きの)姿勢に遷移する、姿勢変化を示している。
【0052】
好ましくは、各エッジは、ノード間の遷移確率を有する。第1ノードと第2ノードとを結ぶエッジの有する遷移確率は、第1ノードから第2ノードに遷移する確率を示す。具体的には、第1ノードと第2ノードとを結ぶエッジの有する遷移確率は、始点ノードを第1ノードとしたすべてのエッジ(他のエッジ)に対する、終点ノードを第2ノードとするエッジの遷移の確率を表している。言い換えると、第1ノードと第2ノードとを結ぶエッジの有する遷移確率は、第1ノードの規定するプレイヤーの姿勢から、第2ノードの規定する姿勢への姿勢変化の、他のエッジに対するしやすさを表しており、遷移確率が高い方が他のエッジよりも変化しやすく、遷移確率が低い方が他のエッジよりも変化し難いことを示している。
【0053】
エッジの遷移確率(エッジで示されたノード間の遷移確率)は、第1の例として、プレイヤーの少なくとも一方の足の移動方向に関連する。一般的なプレイヤーは、前に足を移動させることはしやすい。横に足を移動させることも可能である。後ろに足を移動させることは他の方向に比べて難しい。従って、第1ノードと第2ノードとを結ぶエッジには、第1ノードに規定する姿勢から第2ノードに規定する姿勢への足の移動方向に応じた遷移確率が設定されている。具体的には、足の移動方向がプレイヤーの正面に近いほど高く、正面から離れるほど低い遷移確率が設定されている。
【0054】
図4を用いて、姿勢変化のしやすさについて説明する。
図4の例では、プレイヤーPは、第1パネル31を左、第2パネル32を右、第3パネル33を前、第4パネル34を後ろとする、ダンスゲーム装置5からの指示の基準となるXY座標系(第1の座標系)に対して、右斜め前を正面として立っている。
【0055】
さらに、プレイヤーにとっての足の移動方向を考慮する場合、プレイヤーの身体を基準としたxy座標系(第2の座標系)を設定する。一例として、原点をプレイヤーの重心位置とし、x軸をプレイヤーの左右方向、y軸をプレイヤーの前後方向として、x座標が増加する向きを右、y座標が増加する向きを前(腰が向く方向)とする。すなわちこの例では、xy座標系はXY座標系より右に回転して設定されている。
【0056】
第1ノードと第2ノードとを結ぶエッジの遷移確率は、第1ノードに規定する姿勢から第2ノードに規定する姿勢への足の移動の、第1ノードに規定する姿勢に対して設定されるxy座標系における方向に応じて設定されている。
【0057】
図4のプレイヤーPの姿勢が第1ノードに規定する姿勢であり、第2ノードに規定する姿勢へ足を移動経路M1で移動させるものとする。移動経路M1は、足の移動方向と移動量とを表しており、y軸方向に対して移動角度θ1、移動量LMであることを示している。この場合、第1ノードと第2ノードとを結ぶエッジの遷移確率は、移動角度θ1の絶対値に応じて設定されている。すなわち、遷移確率は、移動角度θ1の絶対値が小さいほど高く、大きいほど低く設定されている。
【0058】
姿勢変化のしやすさは、第2の例として、プレイヤーの身体の少なくとも一部の移動量に関連する。一般的なプレイヤーは、移動量が大きい移動は難しく、移動量が少ない移動は容易である。移動量は、足の移動量であってもよいし、プレイヤーの身体自体の移動量、例えば、重心の移動量であってもよい。従って、第1ノードと第2ノードとを結ぶエッジには、第1ノードに規定する姿勢から第2ノードに規定する姿勢への身体の少なくとも一部の移動量に応じた遷移確率が設定されている。具体的には、移動量が大きいほど高く、移動量が小さいほど低い遷移確率が設定されている。
図4の例の場合、遷移確率は、移動量LMが小さいほど高く、大きいほど低く設定されている。
【0059】
姿勢変化のしやすさは、第3の例として、プレイヤーの身体の角度変化量に関連する。身体の角度変化量は、重心を中心に身体を回転させた回転量を指し、一例として、腰の方向の変化量である。一般的なプレイヤーは、身体の角度変化量が大きい移動は難しく、角度変化量が少ない移動は容易である。
図4の例の場合、プレイヤーPの姿勢が第1ノードに規定する姿勢であり、第2ノードに規定する姿勢へ身体を回転量θ2分、回転させるものとする。この場合、第1ノードと第2ノードとを結ぶエッジの遷移確率は、回転量θ2の絶対値に応じて設定されている。すなわち、遷移確率は、回転量θ2の絶対値が小さいほど高く、大きいほど低く設定されている。
【0060】
姿勢変化のしやすさは、第4の例として、特定の動作の有無に関連する。特定の動作は、一般的なプレイヤーの動作させにくい特殊な動作であって、例えば、両足を同時に動かす動作、両足の移動方向が異なる動作、などである。両足を同時に動かす動作は、例えば、跳躍動作である。両足の移動方向が異なる動作は、例えば、左右の足の位置を入れ替える動作である。この場合、遷移確率は、特定の動作が多く含まれるほど低く、含まれないほど高く設定されている。
【0061】
好ましくは、遷移確率は、第1の例~第4の例のうちの少なくとも1つに基づいて設定されている。好ましくは、第1の例~第4の例のうちの2つ以上に基づいて設定されている。これにより、遷移確率は、姿勢変化のしやすさに応じたものとなる。
【0062】
遷移確率が第1の例~第4の例のすべてに基づいて設定されている場合、遷移確率Ptは、一例として、下の式(1)によって算出されている。
Pt=lоg(1/E) …(1)
ただし、E=E1+E2+E3+E4
【0063】
式(1)のE1~E4は、それぞれ、第1の例~第4の例に示されたものに関連する値である。具体的には、E1は、第1の例に示された、左右の足の移動方向に関連する値であって、一例として、移動角度θ1を用いて、θ1=0°が最大値となる正規分布で計算された値に-1を乗じた値である。E1は、左右の足それぞれについて、0より大きく1以下の連続値とする。
【0064】
E2は、第2の例に示された、身体の少なくとも一部の移動量に関連する値であって、一例として、左右の足の移動量LM、及び、重心の移動量のそれぞれに予め規定された重みを乗じた値である。E2は、左右の足及び重心の移動量のそれぞれについて、0以上、2×重み以下の連続値とする。
【0065】
E3は、第3の例に示された、身体の角度変化量に関連する値であって、一例として、回転量θ2に予め規定された重みを乗じた値である。E3は、0以上の連続値とする。
【0066】
E4は、第4の例に示された、特定の動作の有無に関連する値であって、一例として、両足を同時に動かす動作、及び、両足で同一のパネルを踏む動作のそれぞれがあった場合に、予め規定された固定値を加えて得られる値である。E4は、各動作について0より大きく、固定値より小さい連続値とする。
【0067】
遷移確率に基づいてエッジを選択することで、変化のしやすさに応じたノードの移動経路を選択することができる。また、ノードの移動経路に含まれるエッジそれぞれの遷移確率を参照することで、一連動作の変化のしやすさを評価することができる。
【0068】
好ましくは、各ノードは、評価値を有する。ノードの評価値は、ノードの規定する姿勢の取りやすさを示す指標値である。一例として、ノードの有する評価値が高い方が、ノードの規定する姿勢がとりやすい姿勢であり、低い方がとりにくい姿勢であることを表している。すなわち、ノードの評価値は、該当の姿勢で静止した際に、プレイヤーの身体がどの程度安定しているかを表す指標値である。
【0069】
姿勢の取りやすさ(ノードの有する評価値)は、第1の例として、プレイヤーの左右それぞれの足を置く位置、すなわち、足を置くパネルの把握度合に関連する。足を置くパネルが把握度合が低いパネルである姿勢は不安定であり、取りにくい姿勢と言える。足を置くパネルが把握度合が高いパネルである姿勢は安定し、取りやすい姿勢と言える。
【0070】
パネルの把握度合は、ダンスゲーム装置5からの指示の基準となるXY座標系(第1の座標系)によって規定され得る。プレイヤーは、ディスプレイ51に表示される指示群を見て指示された動作を行うため、視線の向きがディスプレイ51向きとなるためである。そのため、一例として、XY座標系において前側の(Y座標が大きい)パネルほど把握度合が高く、後ろ側の(Y座標が小さい)パネルほど把握度合が低い。すなわち、足を置くパネルがディスプレイ51に近いほど高く、遠いほど低い評価値が設定されている。
【0071】
姿勢の取りやすさは、第2の例として、左右の足の位置関係に関連する。左右の足を、それぞれ、XY座標系において前後(Y軸方向)または左右(X軸方向)に一列ではないパネルに置く姿勢は、取りにくい姿勢と言える。前後方向のパネルと左右方向のパネルとを同時に識別しなければならないために把握度合が低下するためである。すなわち、左右の足を置くパネルが前後方向又は左右方向に一列である場合に高く、一列にない場合に低い評価値が設定されている。
【0072】
姿勢の取りやすさは、第3の例として、
図4の例において角度θ3で示される、ディスプレイ51、すなわち、XY座標系におけるY軸方向に対するプレイヤーの身体の向きに関連する。身体の向き(腰の向き)がY軸方向と異なる場合には、プレイヤーの顔の向きと身体の向きとが異なる。顔の向きと身体の向きとがなす角度θ3が大きい姿勢ほど不安定な姿勢となる。すなわち、角度θ3が小さい場合に高く、大きい場合に低い評価値が設定されている。
【0073】
好ましくは、評価値は、第1の例~第3の例のうちの少なくとも1つに基づいて設定されている。好ましくは、第1の例~第3の例のうちの2つ以上に基づいて設定されている。これにより、評価値は、姿勢のとりやすさに応じたものとなる。
【0074】
評価値が第1の例~第3の例のすべてに基づいて設定されている場合、評価値Evは、一例として、下の式(2)によって算出されている。なお、式(2)では評価値EvはEv1~Ev3の総積で算出されるものであるが、Ev1~Ev3の総和で算出するものであってもよい。
Ev=Ev1×Ev2×Ev3 …(2)
【0075】
式(2)のEv1~Ev3は、それぞれ、第1の例~第3の例に示されたものに関連する値である。具体的には、Ev1は、第1の例に示された、左右それぞれの足を置くパネルの把握度合に関連する値である。一例として、XY座標系においてY座標が最大の位置にあるパネル(第3パネル33)が最大値、Y座標が最小の位置にあるパネル(第4パネル34)を最小値となる正規分布を用いて計算された値である。Ev1は、左右の足それぞれについて、0より大きく1以下の連続値とする。
【0076】
Ev2は、第2の例に示された、左右の足の位置関係に関連する値である。一例として、XY座標系において左右の足を置くパネルのX座標又はY座標が一致していれば1、不一致である場合には1以外の予め規定された固定値として得られた値である。Ev2は、1又は固定値である離散値とする。
【0077】
Ev3は、第3の例に示された、身体の向きに関連する値である。一例として、角度θ3を用いて、0°が最大となる正規分布で計算された値である。Ev3は、0より大きく1以下の連続値とする。
【0078】
図2に示すように、演算装置1は、ディスプレイ14に接続されていてもよい。ディスプレイ14は、演算結果である、ユーザの指示群に対する一連動作などを出力するための出力部の一例である。これにより、プレイヤーなどが演算装置1で推定された姿勢変化を知ることができる。
【0079】
また、演算装置1は、操作装置15に接続されていてもよい。操作装置15は、ユーザ属性の入力を受け付けるための入力部の一例であって、例えば、タッチペンやマウスやタッチパネルなどである。ユーザ属性は、プレイヤーのダンスゲームに関する属性であって、利き足、体格、習熟度、動作の癖、姿勢の特徴、怪我の箇所、などのうちの少なくとも1つを含む。これにより、後述の調整処理が可能になる。
【0080】
演算部11の実行する演算処理は、経路決定処理111を含む。経路決定処理111は、モデル122を用いて、譜面データDに含まれる指示群に適した、ノードの遷移の経路を決定することを含む。譜面データが入力として与えられるとユーザの姿勢変化を出力するモデル122を用いることによって、容易にユーザの姿勢変化を得ることが可能になる。
【0081】
好ましくは、経路決定処理111において演算部11は判定値を用いてノードの遷移の経路を決定する。判定値は、遷移確率、評価値、及び、ノードの規定する動作と前記指示の規定する動作との一致度合、のうちの少なくとも1つに基づいて得られた値である。演算部11は、例えば、判定値の最も大きい経路を採用する経路として決定することができる。
【0082】
指示との一致度合は、完全な不一致を表す0より大きく、完全一致を示す1より小さい値で表され、指示ごとに、各ノードについて得られる値である。モデル122が隠れマルコフモデルである場合、指示との一致度合は、ノードごとの評価値をさらに考慮することによって、ノードごとの出力確率を得るのに用いられる。出力確率は、一例として、評価値に一致度合を乗じた値である。
【0083】
一例として、経路決定処理111において演算部11は、複数の指示からなる指示群に対してノードの経路を決定するために、指示に応じて得られた各ノードの一致度合から算出される出力確率、各ノードの評価値、及び、現在のノードから各ノードへのエッジの遷移確率の少なくとも1つを用いる。ノードの評価値を用いることによって、姿勢の取りやすさを考慮して経路を決定することができる。遷移確率を用いることによって、遷移のしやすさに応じて経路を決定することができる。出力確率を用いることによって、指示に近い動作のうちの姿勢のとりやすい動作への経路を決定することができる。
【0084】
判定値は、一例として、指示群に対して遷移し得るすべての経路を、出力確率、評価値、及び、遷移確率の少なくとも1つを用いて点数化した値であってよい。すなわち、判定値は、評価値を変数とした演算式に、複数の指示それぞれに対応したノードの評価値を代入することで得られた値であってもよい。この判定値が用いられることによって、指示に従う姿勢の取りやすさを重視して経路が決定されるようになる。
【0085】
また、判定値は、遷移確率を変数とした演算式に、複数の指示それぞれに対応したエッジの遷移確率を代入することで得られた値であってもよい。この判定値が用いられることによって、指示に従って動作の遷移がしやすい経路が決定されるようになる。
【0086】
また、判定値は、出力確率を変数とした演算式に、複数の指示それぞれに対応したノードの出力確率を代入することで得られた値であってもよい。この判定値が用いられることによって、指示に従う姿勢がとりやすく、かつ、指示に近い動作を行う経路が決定されるようになる。
【0087】
また、判定値は、それらの組み合わせであってもよい。一例として、演算部11は、出力確率、評価値、及び、遷移確率それぞれを変数とした演算式に、複数の指示それぞれに対応したノード及びエッジについての出力確率、評価値、及び、遷移確率を代入して得られた値を判定値とする。この判定値が用いられることによって、指示に従う姿勢がとりやすく、指示に従って動作の遷移がしやすく、かつ、指示に近い動作を行う経路が決定されるようになる。
【0088】
判定値は、指示ごとの、出力確率、評価値、及び、遷移確率の積を、指示群すべてについて加算した値であってもよい。判定値の他の例は、すべての指示についての出力確率、評価値、及び、遷移確率を乗じて得られる値であってもよい。これにより、出力確率、評価値、及び、遷移確率によって得られた値の高い経路を指示群に対する経路、つまり、指示群に対応した一連動作を決定することができる。
【0089】
好ましくは、経路決定処理111は、調整処理112を含む。調整処理112は、遷移確率、及び、評価値の少なくとも一方を調整することを含む。調整処理112は、一例として、ユーザ属性に応じて行われる。ユーザ属性は、一例として、操作装置15から入力される、プレイヤーのダンスゲームに関する属性である。
【0090】
遷移確率、及び、評価値の少なくとも一方を調整することは、一例として、遷移確率、及び、評価値の少なくとも一方に対して、ユーザ属性に基づく固有パラメータを作用させることであってよい。
【0091】
遷移確率を調整する場合であって、足の移動方向に関連する遷移確率の場合、固有パラメータは、移動角度θ1に応じた値の正規分布の分散であってよい。身体の少なくとも一部の移動量に関連する遷移確率や、身体の角度変化量に関連する遷移確率の場合、固有パラメータは、重みであってよい。特定の動作の有無に関連する遷移確率の場合、固有パラメータは、固定値であってよい。これにより、遷移確率をユーザ属性に応じた値とすることができる。
【0092】
評価値を調整する場合であって、足を置くパネルの把握度合に関連する評価値の場合、固有パラメータは、パネルに対する把握度合に応じた値の正規分布の分散であってよい。左右の足の位置関係に関連する評価値の場合、固有パラメータは、固定値であってよい。身体の向きに関連する評価値の場合、固有パラメータは、顔の向きと身体の向きとがなす角度θ3に応じた値の正規分布の分散や、限界値であってよい。これにより、評価値をユーザ属性に応じた値とすることができたり、ユーザ属性に応じた限界値を越えた場合に0とすることができたりする。
【0093】
遷移確率、及び、評価値の少なくとも一方をユーザ属性に応じて調整することによって、経路を決定する際に、プレイヤーの、利き足、体格、習熟度、動作の癖、姿勢の特徴、怪我の箇所など、ダンスゲームに関する属性に応じて経路を決定することができる。その結果、プレイヤーに応じた経路が決定され、プレイヤーが一連動作を行いやすくなる。
【0094】
調整処理112は、他の例として、ユーザ入力に応じて行われる。ダンスゲーム装置5を、例えば、リハビリなどのトレーニングに用いる場合、プレイヤーに与える負荷をユーザ入力し、入力された負荷に応じて調整処理112が行われてもよい。このようにすることで、設定された負荷に応じた経路が決定され、効果的な動作を行わせることができる。
【0095】
調整処理112は、他の例として、経路決定処理111において判定値を用いて経路ごとを点数化する際に、経路を決定するための点数の閾値を調整することを含んでもよい。一例として、経路決定処理111において演算部11は、出力確率、評価値、及び、遷移確率のすべてを用いて各径路を点数化し、得られた点数が、調整処理112によって調整された範囲にある経路を採用する経路と決定する。これにより、ユーザ属性などに応じた点数の経路が決定されるようになる。
【0096】
好ましくは、演算部11の実行する演算処理は、評価処理113を含む。評価処理113は、判定値を用いて、譜面データDを評価することを含み、具体的には、評価値を出力することであってよい。評価値は、一例として、上記の判定値に基づく数値である。判定値に基づく数値は、例えば、判定値そのものである。また、判定値に基づく数値の他の例として、判定値と閾値との比較に応じた値であってもよい。
【0097】
譜面データDを評価することは、他の例として、指定されたコンテンツに対して複数ある譜面データDのうち、評価値に基づいて、プレイヤーに適した譜面データDを選択することであってもよい。これにより、プレイヤーの習熟度に応じた譜面データDなど、姿勢変化の行いやすい譜面データDを用いることができる。
【0098】
図5は、本実施の形態に係る演算方法であって、ダンスゲーム装置5からの指示群に対するプレイヤーの姿勢変化を推定する方法の一例を表したフローチャートである。
図5のフローチャートに表された演算方法は、演算装置1でダンスゲーム装置5からの指示群に対してノードの遷移経路を決定する処理において採用される方法である。
【0099】
図5を参照して、演算装置1は、譜面データ生成装置9から譜面データDを取得する(ステップS101)。また、演算装置1は、プレイヤーのユーザ属性の入力を受け付ける(ステップS103)。
【0100】
演算装置1の演算部11は、メモリ12のモデル122を参照し、各ノードに含まれている評価値を入力されたユーザ属性に応じて調整する(ステップS105)。また、各エッジに含まれている遷移確率を入力されたユーザ属性に応じて調整する(ステップS107)。また、演算部11は、譜面データDに含まれる指示群の各指示について、すべてのノードについての一致度合を用いて出力確率を算出する(ステップS109)。
【0101】
演算部11は、各指示に従って取り得るノード遷移を抽出し、その組み合わせで得られる各遷移経路についての判定値を算出する(ステップS111)。そして、得られた各遷移経路のうち、判定値が最大の遷移経路を抽出する(ステップS113)。
【0102】
演算装置1の演算部11が経路決定処理111を実行することによって、演算装置1では、
図6のような出力が得られる。
図6の出力は、ディスプレイ14などを用いて出力されてもよい。これにより、プレイヤーは、得られた出力に従って一連動作を行うことができる。
【0103】
図6は、演算装置1において決定された遷移経路の一例を示す図である。
図6の指示61~65は、譜面データDから得られる指示を表しており、これら指示61~65の連続が、指示群として演算装置1に与えられる。指示61~65は、矢印の形状で、第1パネル31~第5パネル35を表している。
【0104】
図6の出力41~45は、それぞれ、指示61~65に対応したプレイヤーの動作の演算結果である。連続する出力41~45は、指示61~65からなる指示群に対するプレイヤーの姿勢変化を表している。出力41~45は、パラメータPP1~PP5を用いて、第1パネル31~第5パネル35それぞれの位置に置く足、踏む動作を行う足、及び、身体の向きを表している。
【0105】
具体的には、パラメータPP1は第3パネル33に置く足、パラメータPP2は第1パネル31に置く足、パラメータPP3は第5パネル35に置く足、パラメータPP4は第2パネル32に置く足、及び、パラメータPP5は第4パネル34に置く足を表している。R(大文字アール)又はr(小文字アール)は右足を示し、L(大文字エル)又はl(小文字エル)は左足を示し、R又はL(大文字)は踏む動作を行う足、r又はl(小文字)は踏む動作を必要としない足を表している。三角形を付した円はプレイヤーの重心位置を示す。三角形は身体の向きを表している。上向き三角形は正面向きであることを示し、右向き三角形は右向き、左向き三角形は左向き、下向き三角形は後ろ向きであることを示している。
【0106】
具体的に、
図6の例において、指示61に対しては、出力41において、身体を正面として、第1パネル31に左足、第2パネル32に右足を置き、右足を踏む動作が示されている。この出力41に従うことで、第2パネル32が右足で踏まれ、指示61が満たされる。
【0107】
指示62に対しては、出力42において、身体の向きを左に変化させ、第3パネル33に右足、第4パネル34に左足を置き、両端を踏む動作が示されている。この出力42に従うことで、第3パネル33が右足で踏まれ、指示62が満たされる。
【0108】
指示63に対しては、出力43において、身体の向きを左に維持し、第3パネル33に右足、第4パネル34に左足を置いた状態を維持したまま、左足を踏む動作が示されている。この出力43に従うことで、第4パネル34が左足で踏まれ、指示63が満たされる。
【0109】
指示64に対しては、出力44において、第3パネル33に両足を置き、両足を踏む動作が示されている。この出力44に従うことで、第3パネル33が両足で踏まれ、指示64が満たされる。
【0110】
指示65に対しては、出力45において、第5パネル35に両足を置き、両足を踏む動作が示されている。この出力45に従うことで、第5パネル35が両足で踏まれる。
【0111】
指示66に対しては、出力46において、第1パネル31に左足を置き、第2パネル32に右足を置き、両足を踏む動作が示されている。この出力46に従うことで、第1パネル31と第2パネル32とがそれぞれ踏まれ、指示66が満たされる。
【0112】
図6の指示群61~66に対しては、指示65についての出力45に従う動作が、指示65を満たす動作ではない。このように、演算装置1で決定されるノードの遷移経路は、指示群に完全に一致した動作を指示するものでない場合もある。これは、一例として、演算部11が経路決定処理111を実行する際に、指示64から指示65、指示65から指示66への遷移の過程で、指示65に従って左右の足をそれぞれ第3パネル33及び第4パネル34として踏む動作を行うノードを経由する経路より、第5パネル35に両足を置き、両足を踏む動作とするノードを経由する経路の方が判定値が高かったためである。
【0113】
このような経路が決定されることにより、プレイヤーに、指示群で指示される動作とは多少異なる動作を行わせる場合もある。しかしながら、このような経路が決定されることにより、指示群で指示される動作に完全に一致する動作よりも、前後の姿勢を考慮して姿勢がとりやすく、遷移がしやすい姿勢変化とすることができる。また、上記のようにユーザ属性などで調整することで、ユーザ属性などに応じた姿勢変化とすることができる。
【0114】
ノードの有する評価値の算出方法について、さらに他の例を説明する。他の例として、ノードの有する評価値に、予めプレイヤーごとのユーザ属性が考慮されていてもよい。すなわち、ノードの有する評価値の算出の他の例には、プレイヤーの固有パラメータが用いられる。
【0115】
なぜなら、ある静止姿勢において安定するか否かは、プレイヤーのゲームの習熟度などによって異なるためである。例えば、足元の確認が必要なゲーム初心者にとっては、ディスプレイ51と反対の位置にある第4パネル34が特に踏み辛いことが知られている。そのため、このようなユーザ属性の場合、第4パネル34に足が存在するノードの評価値は、第4パネル34に足が存在しないノードの評価値より低くなるべきである。一方、ゲームに慣れた上級者は容易に第4パネル34を踏むことができる。そのため、このようなユーザ属性の場合、第4パネル34に足が存在するノードの評価値は、他のノードの評価値と大きく変わらなくてもよい。
【0116】
他の例においては、ノードの有する評価値の算出に、一例として、固有パラメータPG_σ2,PG_s,PG_w,PT,Pθ_σ2,Pθ_w,Pθ_lが用いられる。これら固有パラメータは、プレイヤーのユーザ情報に基づいてそれぞれ設定される。これら固有パラメータが用いられてノードの有する評価値が算出される。
【0117】
具体的に、固有パラメータPG_σ2,PG_s,PG_wは、左右いずれの足についても、足の位置の把握度を評価するための固有パラメータの一例であって、固有パラメータPG_σ2は、正規分布の分散の値を表す固有パラメータである。固有パラメータPG_σ2は、0より大きい値であって、値が大きいほどどの位置に対しても把握度が高いことを意味する。固有パラメータPG_sは、足の位置の把握度の最小値を表す固有パラメータである。固有パラメータPG_sは、0以上、1以下の値である。固有パラメータPG_wは、足の位置の把握度の最大値を表す固有パラメータである。固有パラメータPG_wは、0より大きく、1以下の値である。
【0118】
固有パラメータPTは、両足の存在する位置の不一致を評価するための固有パラメータの一例であって、両足の存在軸が一致しない姿勢における安定度を表す固有パラメータである。固有パラメータPTは、0より大きく、1以下の値である。
【0119】
固有パラメータPθ_σ2,Pθ_w,Pθ_lは、体の向きθの影響を評価するための固有パラメータの一例であって、固有パラメータPθ_σ2は、正規分布の分散の値を表す固有パラメータである。固有パラメータPθ_σ2は、0より大きい値であって、値が大きいほどどの向きにおいても姿勢が安定していることを意味する。固有パラメータPθ_wは、体の向きθの影響の最大値を表す固有パラメータである。固有パラメータPθ_wは、0以上、1以下の値である。固有パラメータPθ_lは、体の向きθの影響を評価するための固有パラメータであって、首を回旋できる角度の限界値を表す固有パラメータである。固有パラメータPθ_lは、0°以上、360°以下の値である。
【0120】
他の例においては、静止姿勢の安定度に影響する要素として、次の第1~第4の項目の評価値が用いられ、ノードnの評価値を得る式が定義される。
図7は、第1~第4の項目の評価値それぞれの定義式を表している。4項目の評価値は、プレイヤーは一般的に、
1)第1パネル31が最も把握しやすく、第4パネル34が最も把握しにくい
2)位置をうまく把握できていないパネルの上に足がある姿勢は不安定である
3)片足が第3パネル33及び第4パネル34のいずれか、他方の足が第1パネル31及び第2パネル32のいずれかにあるような姿勢は不安定である
4)首の旋回角が大きいほど姿勢は不安定であり、その角度には限界がある
という仮定に基づいて設定されたものである。
【0121】
第1の項目の評価値は、左足位置把握度S_lnであって、左足が置かれているパネルの位置の、プレイヤーによる把握の程度を示す評価値である。左足位置把握度S_lnは、ダンスゲーム装置5に向く正面方向(XY座標系(第1の座標系)におけるy軸方向)と、第5パネル35の中心を原点としたときの原点から左足の位置に向かうベクトル(左足の位置ベクトル)とがなす小さい方の角度α_lを用いて、
図7の式(3)のように定義される。
【0122】
左足位置把握度S_lnは、固有パラメータPG_sの値より大きく、かつ、固有パラメータPG_wの値以下である。左足位置把握度S_lnは、値が大きいほど正しく把握できていることを示す。従って、左足位置把握度S_lnは、値が大きいほどノードの評価値を上げる方向に寄与する。
【0123】
第2の項目の評価値は、右足位置把握度S_rnであって、右足が置かれているパネルの位置の、プレイヤーによる把握の程度を示す評価値である。右足位置把握度S_rnは、ダンスゲーム装置5に向く正面方向と、上記の原点から右足の位置に向かうベクトル(右足の位置ベクトル)とがなす小さい方の角度α_rを用いて、
図7の式(4)のように定義される。
【0124】
右足位置把握度S_rnは、固有パラメータPG_sの値より大きく、かつ、固有パラメータPG_wの値以下であり、値が大きいほど正しく把握できていることを示す。従って、右足位置把握度S_rnは、値が大きいほどノードの評価値を上げる方向に寄与する。
【0125】
第3の項目の評価値は、両足存在軸の不一致S_tnであって、一方の足がXY座標系(第1の座標系)におけるx軸上、他方の足がy軸上に存在する姿勢での安定度合を示す評価値である。両足存在軸の不一致S_tnは、
図7の式(5)のように定義される。両足存在軸の不一致S_tnは、式(5)に示されたように、固有パラメータPTの値又は1のいずれかの値である。
【0126】
両足存在軸の不一致S_tnは、値が0から1に近づくほど該当する姿勢において安定していることを示す。従って、両足存在軸の不一致S_tnは、値が大きいほどノードの評価値を上げる方向に寄与する。
【0127】
第4の項目の評価値は、体の向きの影響S_θnであって、体の向きθnでの姿勢の安定度合を示す評価値である。体の向きの影響S_θnは、
図7の式(6)のように定義される。体の向きの影響S_θnは、0以上、かつ、固有パラメータPθ_wの値以下である。
【0128】
体の向きの影響S_θnは、値が大きいほどその体の向きθにおいて姿勢が安定していることを示す。従って、体の向きの影響S_θnは、値が大きいほどノードの評価値を上げる方向に寄与する。
【0129】
この例では、ノードnの評価値Enは、一例として、第1~第4の項目の評価値を用いて下の式(7)によって算出される。すなわち、評価値Enは、第1~第4の項目の評価値の総積で得られる。
En=S_ln×S_rn×S_tn×S_θn …(7)
これにより、他の例に係るノードnの評価値Enは、プレイヤーのゲームの習熟度などのユーザ属性を考慮したものとなる。
【0130】
また、エッジの遷移確率の算出方法について、さらに他の例を説明する。エッジの遷移確率についても、ノードの有する評価値と同様に、予めプレイヤーごとのユーザ属性が考慮されていてもよい。すなわち、エッジの遷移確率の算出の他の例には、プレイヤーの固有パラメータが用いられる。
【0131】
なぜなら、姿勢の変化のしやすさもプレイヤーのゲーム習熟度や動作の好みなどによって異なるためである。例えば、利き足が右足のプレイヤーは右足の動作を好む。そのため、右足を大きく動かす動作に対応するエッジの遷移確率の方が、左足を大きく動かす動作の遷移確率よりも高くなるはずである。
【0132】
他の例においては、エッジの遷移確率の算出に、一例として、固有パラメータPM_σ2,PM_s,PM_w,PL,PR,PO,PA,PJ,PSが用いられる。これら固有パラメータは、プレイヤーのユーザ情報に基づいてそれぞれ設定される。他の例では、これら固有パラメータが用いられてプレイヤーについてのエッジ自体の評価値が設定され、他のエッジの評価値との関係に基づいてエッジの遷移確率が算出される。エッジの評価値は、始点ノードから終点ノードへの動作の遷移の評価値であって、一例として、値が高いほど遷移が容易であり、値が低いほど遷移が難しいことを表す。
【0133】
固有パラメータPM_σ2,PM_s,PM_wは、左右いずれの足についても、足の移動方向の把握度を評価するための固有パラメータの一例であって、固有パラメータPM_σ2は、正規分布の分散の値を表す固有パラメータである。固有パラメータPM_σ2は、0より大きい値であって、値が大きいほどどの方向に対しても把握度が高いことを意味する。固有パラメータPM_sは、足の移動方向の把握度の最小値を表す固有パラメータである。固有パラメータPM_sは、0以上、1以下の値である。固有パラメータPM_wは、足の移動方向の把握度の最大値を表す固有パラメータである。固有パラメータPM_wは、0より大きく、1以下の値である。
【0134】
固有パラメータPLは、左足の移動距離を評価するための固有パラメータの一例であって、左足の移動距離の重みを表す固有パラメータである。固有パラメータPLは、0より大きい値である。
【0135】
固有パラメータPRは、右足の移動距離を評価するための固有パラメータの一例であって、右足の移動距離の重みを表す固有パラメータである。固有パラメータPRは、0より大きい値である。
【0136】
固有パラメータPОは、重心の移動距離を評価するための固有パラメータの一例であって、重心の移動距離の重みを表す固有パラメータである。固有パラメータPRは、0より大きい値である。
【0137】
固有パラメータPAは、体の向きθの変化量を評価するための固有パラメータの一例でであって、体の向きθの変化量の重みを表す固有パラメータである。固有パラメータPAは、0より大きい値である。
【0138】
固有パラメータPJは、両足同時に行う動作を評価するための固有パラメータの一例であって、ジャンプ動作に対する抵抗を表す固有パラメータである。固有パラメータPJは、1以上の値である。
【0139】
固有パラメータPSは、同一パネル上での足の入れ替えを評価するための固有パラメータの一例であって、同一パネル上の足の入れ替え動作に対する抵抗を表す固有パラメータである。固有パラメータPSは、1以上の値である。
【0140】
他の例においては、動作の遷移の確率に影響する要素として、次の1~8の項目の評価値が用いられ、始点ノードから終点ノードをつなぐエッジeの遷移確率Peを得る式が定義される。
図8は、第1~第8の項目の評価値それぞれの定義式、及び、これら評価値を用いた遷移確率Peの定義式を表している。8項目の評価値は、一般的なプレイヤーにとって、
1)前方に足を動かすことは自然な動作だが、後方に足を動かすことは難しい動作である
2)足及び重心が大きく動くほど難しい動作である
3)体の向きが大きく変化する動作は難しい動作である
4)片足ずつ動かすよりも、両足でジャンプする方が難しい動作である
5)両足で同一のパネルを連打する動作は難しい動作である
という仮定に基づいて設定されたものである。なお、5)については、先に踏んだ足をパネルから離れるように上げないと、連続して後から踏む足によって改めてパネルを踏んだことが検出されにくいためである。
【0141】
第1の項目の評価値は、左足移動方向把握度M_dleであって、左足を移動させる方向に対するプレイヤーの自信の程度を示す評価値である。左足移動方向把握度M_dleは、プレイヤーの身体を基準としたxy座標系(第2の座標系)におけるy軸正方向のベクトルyp=(0,1)、始点ノードにおける左足の位置ベクトルl(e,s)=(xp_ls,yp_ls)、終点ノードにおける左足の位置ベクトルl(e,g)=(xp_lg,yp_lg)、及び、ベクトルypとベクトル(l(e,g)-l(e,s))とがなす角の小さい方の角βlを用いて、
図8の式(8)のように定義される。
【0142】
左足移動方向把握度M_dleは、固有パラメータPM_sの値より大きく、かつ、固有パラメータPM_wの値以下である。左足移動方向把握度M_dleは、値が大きいほどプレイヤーが自信を持って左足を移動できる方向であることを示す。従って、左足移動方向把握度M_dleは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0143】
第2の項目の評価値は、右足移動方向把握度M_dreであって、右足を移動させる方向に対するプレイヤーの自信の程度を示す評価値である。右足移動方向把握度M_dreは、第2の座標系におけるy軸正方向のベクトルyp=(0,1)、始点ノードにおける右足の位置ベクトルr(e,s)=(xp_rs,yp_rs)、終点ノードにおける左足の位置ベクトルr(e,g)=(xp_rg,yp_rg)、及び、ベクトルypとベクトル(r(e,g)-r(e,s))とがなす角の小さい方の角βrを用いて、
図8の式(9)のように定義される。
【0144】
右足移動方向把握度M_dreは、固有パラメータPM_sの値より大きく、かつ、固有パラメータPM_wの値以下である。右足移動方向把握度M_dreは、値が大きいほどプレイヤーが自信を持って右足を移動できる方向であることを示す。従って、右足移動方向把握度M_dreは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0145】
第3の項目の評価値は、左足移動距離M_mleであって、ダンスゲーム装置5からの指示の基準となるXY座標系(第1の座標系)において計測した左足の移動距離を示す評価値である。左足移動距離M_mleは、第1の座標系における、始点ノードにおける左足の座標(xg_ls,yg_ls)、及び、終点ノードにおける左足の座標(xg_lg,yg_lg)を用いて、
図8の式(10)のように定義される。
【0146】
左足移動距離M_mleは、値が大きいほど動作の遷移が難しくなる。従って、左足移動距離M_mleは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0147】
第4の項目の評価値は、右足移動距離M_mreであって、第1の座標系において計測した右足の移動距離を示す評価値である。右足移動距離M_mreは、第1の座標系における、始点ノードにおける右足の座標(xg_rs,yg_rs)、及び、終点ノードにおける右足の座標(xg_rg,yg_rg)を用いて、
図8の式(11)のように定義される。
【0148】
右足移動距離M_mreは、値が大きいほど動作の遷移が難しくなる。従って、右足移動距離M_mreは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0149】
第5の項目の評価値は、重心移動距離M_moeであって、第1の座標系において計測した重心の移動距離を示す評価値である。重心移動距離M_moeは、始点ノードにおける重心の座標(xg_os,yg_os)、及び、終点ノードにおける重心の座標(xg_og,yg_og)を用いて、
図8の式(12)のように定義される。
【0150】
重心移動距離M_moeは、値が大きいほど動作の遷移が難しくなる。従って、重心移動距離M_moeは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0151】
第6の項目の評価値は、体の向き変化量M_mθeであって、体の向きθの変化量を示す評価値である。体の向き変化量M_mθeは、始点ノードにおける体の向きθs、及び、終点ノードにおける体の向きθgを用いて、
図8の式(13)のように定義される。
【0152】
体の向き変化量M_mθeは、値が大きいほど動作の遷移が難しくなる。従って、体の向き変化量M_mθeは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0153】
第7の項目の評価値は、両足同時動作M_jeであって、両足で同時にパネルを押す状態を発生させる動作、すなわちジャンプ動作に対するプレイヤーの自信の程度を示す評価値である。両足同時動作M_jeは、終点ノードで発生しているパネルを押す動作の数pを用いて、
図8の式(14)のように定義される。
【0154】
両足同時動作M_jeは、式(14)のように、1又は固有パラメータPJの値のいずれかの値である。両足同時動作M_jeは、値が1に近いほど、プレイヤーが該当の動作に対して自信があり、値が1から大きくなるほど自信がないことを示す。従って、両足同時動作M_jeは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0155】
第8の項目の指標値は、同一パネル上の足の入れ替えM_seであって、始点ノードにおける一方の足が存在するパネルの上に、終点ノードでは他方の足が存在するような動作におけるプレイヤーの自信の程度を示す評価値である。同一パネル上の足の入れ替えM_seは、第1の座標系における、始点ノードの左足の座標(xg_ls,yg_ls)、右足の座標(xg_rs,yg_rs)、終点ノードの左足の座標(xg_lg,yg_lg)、及び、右足の座標(xg_rg,yg_rg)を用いて、
図8の式(15)のように定義される。
【0156】
同一パネル上の足の入れ替えM_seは、式(15)のように、1又は固有パラメータPSの値のいずれかの値である。同一パネル上の足の入れ替えM_seは、値が1に近いほど、プレイヤーが該当の動作に対して自信があり、値が1から大きくなるほど自信がないことを示す。従って、同一パネル上の足の入れ替えM_seは、値が大きい方がエッジ自体の評価値を上げる方向に寄与する。
【0157】
この例の場合、エッジeの遷移確率Peは、第1~第8の項目の評価値を用い、
図8の式(16)に得られるエッジの評価値Meを用いて、式(17)によって算出される。式(16)では、エッジの評価値Meは、下の式(18)で表される動作の遷移の難しさの指標値Teを用いて表されている。式(16)より、動作の遷移の難しさの指標値Teが低いほど、エッジの評価値Meは高くなる。指標値Teは、エッジeにおける第1~第8の項目の評価値の、遷移確率を下げる方向の値の総和で得られる指標値である。
Te=-M_dle-M_dre+M_mle+M_mre+M_moe+M_mθe+M_je+M_se …(18)
【0158】
エッジeの遷移確率Peは、式(17)より、エッジeを含み、エッジeと始点ノードが同一であるエッジの集合Eの評価値Mの総和に対する、エッジeの評価値Meの比率によって算出される。これにより、他の例に係るエッジeの遷移確率Peは、プレイヤーのゲームの習熟度などのユーザ属性を考慮したものとなる。
【0159】
実施の形態に係る演算装置1は、さらに、得られた判定値に基づく値を評価値として出力することによって、譜面データDの評価を行うことができる。これにより、譜面データDについて、指示群に従う一連動作の姿勢の取りやすさ、動作の遷移のしやすさ、など、すなわち、譜面データDの難易度を、客観的な数値で示すことができる。また、判定値を得る際に上記のようにユーザ属性などで調整することで、指示群に従う姿勢変化がユーザにとって難しい、容易である、すなわち、ユーザに対する難易度を客観的な値を用いて評価することができる。
【0160】
また、他の例として、演算装置1は、音楽等のコンテンツが選択されたときに、そのコンテンツに対応して譜面データ生成装置9から取得されている複数の譜面データDのうち、評価値に基づいて適した譜面データDを選択してもよい。適した譜面データDは、例えば、姿勢変化の難易度が最も高い判定値の譜面データ、最も低い判定値の譜面データ、又は、ユーザ属性に対して予め設定された範囲に判定値のある譜面データ、などである。これにより、適した譜面データDを客観的に選択することができる。
【0161】
図9は、入力譜面の一例を示す図である。
図9におけるS1~S6は、入力譜面に従って行われる一連の動作系列における第1歩目~第6歩目に対応する。
図10は、
図9の譜面において、ユーザ属性を変えた場合の、演算装置により推定された姿勢変化を示す図である。
図10におけるS1~S6は、
図9の入力譜面におけるS1~S6に対応した第1歩目~第6歩目の動作を表している。
【0162】
図10においては、第1歩目~第6歩目の動作それぞれを、
図6と同様に、パラメータPP1~PP5を用いて、第1パネル31~第5パネル35それぞれの位置に置く足、踏む動作を行う足、及び、身体の向きによって表している。すなわち、
図10においても、パラメータPP1は第3パネル33に置く足、パラメータPP2は第1パネル31に置く足、パラメータPP3は第5パネル35に置く足、パラメータPP4は第2パネル32に置く足、及び、パラメータPP5は第4パネル34に置く足を表している。R(大文字アール)又はr(小文字アール)は右足を示し、L(大文字エル)又はl(小文字エル)は左足を示し、R又はL(大文字)は踏む動作を行う足、r又はl(小文字)は踏む動作を必要としない足を表している。三角形を付した円はプレイヤーの重心位置を示す。三角形は身体の向きを表している。上向き三角形は正面向きであることを示し、右向き三角形は右向き、左向き三角形は左向き、下向き三角形は後ろ向きであることを示している。
【0163】
図10は、
図9の譜面に対する「standard」モデル、「right」モデル、「beginner」モデル、及び、「perfect」モデルの模式図を示している。「standard」モデルは、基準となるモデルである。「right」モデルは、右足利きのプレイヤ-を想定したモデルである。「beginner」モデルは、初心者プレイヤ-を想定したモデルである。「perfect」モデルは、あらゆる身体動作を厭わないモデルである。
【0164】
図10より、「standard」モデルは、1~6歩目で右足が第2パネル32から移動していない。一方「right」モデルは、3~5歩目で左足が第3パネル33から移動していないことがわかる。さらに「right」モデルの6歩目では、右足を第1パネル31に移動させている。「beginner」モデルは、3~5歩目で、1つのパネルを両足で同時に踏む動作が多い。これは、第4パネル34と第3パネル33とを体の向き0°で踏む動作を推定したためと考えられる。「perfect」モデルは、4歩目でジャンプ動作を行なっている。この動作は、後の6歩目での第1パネル31を踏む指示に先んじて、左足を第1パネル31上に予め移動させておくことを意図した推定と考えられる。このように本実施の形態に係る演算方法によれば、ユーザ属性を変えることにより、プレイヤーに適した姿勢変化を推定できる。
【0165】
<3.付記>
本発明により、制作された譜面が実際にプレイ可能であるかどうかが自動的にわかる。また、どのように体を動かせば、無理なく、転倒しない姿勢で動作できるのかがわかる。さらに、身体パラメータに合わせたゲームを作成できるようになる。上記により、エンターテインメント分野では、音楽ゲームなどのコンテンツ制作の参考資料を提示できる。
また、本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。例えば、本発明は、ステップを踏むダンスゲームのみならず、手を使用するダンスゲームやツイスター、ボルダリングゲームなどにも応用可能である。さらに、ゲームに限らず、リハビリ治療などにも応用可能である。リハビリ治療などに本発明を適用することにより、身体制約を考慮した運動内容や運動負荷を提案できる。
【符号の説明】
【0166】
1 :演算装置
5 :ダンスゲーム装置
9 :譜面データ生成装置
11 :演算部(プロセッサ)
12 :メモリ
14 :ディスプレイ
15 :操作装置
31 :第1パネル
31a :左向き矢印
32 :第2パネル
32a :右向き矢印
33 :第3パネル
33a :前向き矢印
34 :第4パネル
34a :後ろ向き矢印
35 :第5パネル
41 :出力
42 :出力
43 :出力
44 :出力
45 :出力
46 :出力
50 :コントローラ
51 :ディスプレイ
51a :表示面
52 :スピーカ
53 :操作部
61 :指示
62 :指示
63 :指示
64 :指示
65 :指示
66 :指示
111 :経路決定処理
112 :調整処理
113 :評価処理
121 :コンピュータプログラム
122 :モデル
122A :モデル
A :矢印
D :譜面データ
I1 :指示
I2 :指示
I3 :指示
LM :移動量
M :音楽
M1 :移動経路
N1 :ノード
N2 :ノード
N3 :ノード
N4 :ノード
N5 :ノード
N6 :ノード
N7 :ノード
N8 :ノード
N9 :ノード
N10 :ノード
N11 :ノード
N12 :ノード
N13 :ノード
P :プレイヤー
P1 :パラメータ
P2 :パラメータ
P3 :パラメータ
PP1 :パラメータ
PP2 :パラメータ
PP3 :パラメータ
PP4 :パラメータ
PP5 :パラメータ
θ1 :移動角度
θ2 :回転量
θ3 :角度