(57)【要約】  ユーザにＴポーズを事前にとらせることなくユーザの身体サイズを推定できる身体サイズ推定装置、身体サイズ推定方法及びプログラムを提供する。身体サイズデータ記憶部（５０）は、ユーザの身体サイズを示す身体サイズデータを記憶する。姿勢データ取得部（５２）は、ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する。身体サイズ推定部（５４）は、位置データが示す２つ以上の部位の位置に基づいて、ユーザの身体サイズを推定する。身体サイズ更新部（５６）は、推定される身体サイズが身体サイズデータ記憶部（５０）に記憶されている身体サイズデータが示す身体サイズよりも大きい場合に、当該身体サイズデータが示す身体サイズを推定される身体サイズに更新する。
2019176090.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部と、
前記ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する位置データ取得部と、
前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定する身体サイズ推定部と、
推定される前記身体サイズが前記身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新する身体サイズ更新部と、
を含むことを特徴とする身体サイズ推定装置。
【請求項２】
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身体サイズを推定する、
ことを特徴とする請求項１に記載の身体サイズ推定装置。
【請求項３】
前記身体サイズデータ記憶部は、前記ユーザの身長を示す身長データを記憶し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの身長を推定し、
前記身体サイズ更新部は、推定される前記身長が前記身体サイズデータ記憶部に記憶されている前記身長データが示す前記身長よりも長い場合に、推定される前記身長を示すよう前記身長データを更新する、
ことを特徴とする請求項１に記載の身体サイズ推定装置。
【請求項４】
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置に基づいて、前記ユーザの肩の位置を推定し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの手の位置と、推定される当該手の側の肩の位置とに基づいて、前記ユーザの腕の長さを推定し、
前記身体サイズ推定部は、推定される前記ユーザの腕の長さに基づいて、前記ユーザの身長を推定する、
ことを特徴とする請求項３に記載の身体サイズ推定装置。
【請求項５】
前記身体サイズデータ記憶部は、前記ユーザの身長を示す身長データと、前記ユーザの腕の長さを示す腕長さデータと、を記憶し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身長を推定し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置に基づいて、前記ユーザの肩の位置を推定し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの手の位置と、推定される当該手の側の肩の位置とに基づいて、前記ユーザの腕の長さを推定し、
前記身体サイズ更新部は、推定される前記身長が前記身体サイズデータ記憶部に記憶されている前記身長データが示す前記身長よりも長い場合に、推定される前記身長を示すよう前記身長データを更新し、
前記身体サイズ更新部は、推定される前記腕の長さが前記身体サイズデータ記憶部に記憶されている前記腕長さデータが示す前記腕の長さよりも長い場合に、推定される前記腕の長さを示すよう前記腕長さデータを更新する、
ことを特徴とする請求項１に記載の身体サイズ推定装置。
【請求項６】
前記位置データ取得部による前記取得、前記身体サイズ推定部による前記推定、及び、前記身体サイズ更新部による前記更新は、繰り返し実行される、
ことを特徴とする請求項１から５のいずれか一項に記載の身体サイズ推定装置。
【請求項７】
直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得する位置データ取得部と、
前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定する中間推定部と、
推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定する身体サイズ推定部と、
を含むことを特徴とする身体サイズ推定装置。
【請求項８】
前記身体サイズ推定部は、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの左右方向の身体サイズを推定し、
前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身長を推定する、
ことを特徴とする請求項７に記載の身体サイズ推定装置。
【請求項９】
前記身体サイズ推定部は、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身長を推定する、
ことを特徴とする請求項７に記載の身体サイズ推定装置。
【請求項１０】
前記身体サイズ推定部は、推定される前記肩幅を、前記ユーザの前後方向の身体サイズとして推定する、
ことを特徴とする請求項７から９のいずれか一項に記載の身体サイズ推定装置。
【請求項１１】
前記位置データ取得部は、前記ユーザが装着又は把持するトラッカーによって計測される位置を示す前記位置データを取得する、
ことを特徴とする請求項１から１０のいずれか一項に記載の身体サイズ推定装置。
【請求項１２】
ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得するステップと、
前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定するステップと、
推定される前記身体サイズが前記ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新するステップと、
を含むことを特徴とする身体サイズ推定方法。
【請求項１３】
直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得するステップと、
前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定するステップと、
推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定するステップと、
を含むことを特徴とする身体サイズ推定方法。
【請求項１４】
ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する手順、
前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定する手順、
推定される前記身体サイズが前記ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新する手順、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得する手順、
前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定する手順、
推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、身体サイズ推定装置、身体サイズ推定方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが装着する複数のトラッカーの位置や向きを示すデータに基づいて、逆運動学（ＩＫ）などによって、当該ユーザがとっている姿勢を推定するボディトラッキングの技術が知られている。【０００３】
このようなボディトラッキングの技術においては、ユーザの身長等の身体サイズを示すデータを用いることで姿勢の推定精度を向上させることができる。例えば身体の小さなユーザが手足を広げた姿勢をとっているのか身体の大きなユーザが手足を縮めた姿勢をとっているのかを判別できる。【０００４】
そしてゲームなどのエンタテインメントにおいて、このようにして推定されるユーザの姿勢の変化に応じて、キャラクタモデル等のオブジェクトの形状や姿勢を変化させることが行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザの身体サイズの推定のためには、従来は、当該ユーザに両腕を横に上げた姿勢（いわゆるＴポーズ）を事前にとらせる必要があった。【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、ユーザにＴポーズを事前にとらせることなくユーザの身体サイズを推定できる身体サイズ推定装置、身体サイズ推定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る身体サイズ推定装置は、ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部と、前記ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する位置データ取得部と、前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定する身体サイズ推定部と、推定される前記身体サイズが前記身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新する身体サイズ更新部と、を含む。【０００８】
本発明の一態様では、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身体サイズを推定する。【０００９】
あるいは、前記身体サイズデータ記憶部は、前記ユーザの身長を示す身長データを記憶し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの身長を推定し、前記身体サイズ更新部は、推定される前記身長が前記身体サイズデータ記憶部に記憶されている前記身長データが示す前記身長よりも長い場合に、推定される前記身長を示すよう前記身長データを更新する。【００１０】
この態様では、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置に基づいて、前記ユーザの肩の位置を推定し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの手の位置と、推定される当該手の側の肩の位置とに基づいて、前記ユーザの腕の長さを推定し、前記身体サイズ推定部は、推定される前記ユーザの腕の長さに基づいて、前記ユーザの身長を推定してもよい。【００１１】
あるいは、前記身体サイズデータ記憶部は、前記ユーザの身長を示す身長データと、前記ユーザの腕の長さを示す腕長さデータと、を記憶し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身長を推定し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置に基づいて、前記ユーザの肩の位置を推定し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの手の位置と、推定される当該手の側の肩の位置とに基づいて、前記ユーザの腕の長さを推定し、前記身体サイズ更新部は、推定される前記身長が前記身体サイズデータ記憶部に記憶されている前記身長データが示す前記身長よりも長い場合に、推定される前記身長を示すよう前記身長データを更新し、前記身体サイズ更新部は、推定される前記腕の長さが前記身体サイズデータ記憶部に記憶されている前記腕長さデータが示す前記腕の長さよりも長い場合に、推定される前記腕の長さを示すよう前記腕長さデータを更新する。【００１２】
また、本発明の一態様では、前記位置データ取得部による前記取得、前記身体サイズ推定部による前記推定、及び、前記身体サイズ更新部による前記更新は、繰り返し実行される。【００１３】
また、本発明に係る別の身体サイズ推定装置は、直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得する位置データ取得部と、前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定する中間推定部と、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定する身体サイズ推定部と、を含む。【００１４】
本発明の一態様では、前記身体サイズ推定部は、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの左右方向の身体サイズを推定し、前記身体サイズ推定部は、前記位置データが示す前記ユーザの頭部の位置と前記ユーザの足の位置とに基づいて、前記ユーザの身長を推定する。【００１５】
あるいは、前記身体サイズ推定部は、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身長を推定する。【００１６】
また、本発明の一態様では、前記身体サイズ推定部は、推定される前記肩幅を、前記ユーザの前後方向の身体サイズとして推定する。【００１７】
また、本発明の一態様では、前記位置データ取得部は、前記ユーザが装着又は把持するトラッカーによって計測される位置を示す前記位置データを取得する。【００１８】
また、本発明に係る身体サイズ推定方法は、ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得するステップと、前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定するステップと、推定される前記身体サイズが前記ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新するステップと、を含む。【００１９】
また、本発明に係る別の身体サイズ推定方法は、直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得するステップと、前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定するステップと、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定するステップと、を含む。【００２０】
また、本発明に係るプログラムは、ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する手順、前記位置データが示す前記複数の体の部位の位置に基づいて、前記ユーザの身体サイズを推定する手順、推定される前記身体サイズが前記ユーザの身体サイズを示す身体サイズデータを記憶する身体サイズデータ記憶部に記憶されている前記身体サイズデータが示す前記身体サイズよりも大きい場合に、推定される前記身体サイズを示すよう前記身体サイズデータを更新する手順、をコンピュータに実行させる。【００２１】
また、本発明に係る別のプログラムは、直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得する手順、前記位置データが示す、前記ユーザの頭部の位置と前記ユーザの手の位置とに基づいて、前記ユーザの腕の長さ及び肩幅を推定する手順、推定される前記ユーザの腕の長さ及び前記肩幅に基づいて、前記ユーザの身体サイズを推定する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るエンタテインメントシステムの一例を示す構成図である。
【図２】本発明の一実施形態に係るエンタテインメント装置の一例を示す構成図である。
【図３】スケルトンモデルの一例を示す図である。
【図４】本発明の第１実施形態に係るエンタテインメント装置で実装される機能の一例を示す機能ブロック図である。
【図５】本発明の第１実施形態に係るエンタテインメント装置で行われる処理の流れの一例を示すフロー図である。
【図６】ユーザがゲームをプレイしている様子の一例を示す模式図である。
【図７】本発明の第２実施形態に係るエンタテインメント装置で実装される機能の一例を示す機能ブロック図である。
【図８】本発明の第２実施形態に係るエンタテインメント装置で行われる処理の流れの一例を示すフロー図である。
【図９】ユーザが直立姿勢をとっている様子の一例を示す模式図である。
【発明を実施するための形態】
【００２３】
［第１実施形態］
以下、本発明の一実施形態である第１実施形態について図面に基づき詳細に説明する。
【００２４】
図１は、本発明の第１実施形態に係るエンタテインメントシステム１０の構成の一例を示す図である。図２は、本実施形態に係るエンタテインメント装置１４の構成の一例を示す図である。
【００２５】
図１に示すように、本実施形態に係るエンタテインメントシステム１０は、複数のトラッカー１２（図１の例ではトラッカー１２ａ〜１２ｅ）とエンタテインメント装置１４と中継装置１６とディスプレイ１８とカメラマイクユニット２０とを含んでいる。
【００２６】
本実施形態に係るトラッカー１２は、例えば、当該トラッカー１２の位置や向きを追跡するためのデバイスである。ここでトラッカー１２が、例えばカメラ、慣性センサ（ＩＭＵ）、地磁気センサ（方位センサ）、加速度センサ、モーションセンサ、ＧＰＳ（Global Positioning System）モジュールなどといった各種センサを備えていてもよい。そしてトラッカー１２は、当該トラッカー１２が備えるセンサによる計測結果であるセンシングデータに基づいて、当該トラッカー１２の位置及び向きを特定してもよい。
【００２７】
また例えば、後述するカメラマイクユニット２０に含まれるカメラ２０ａが撮影する、トラッカー１２の像が含まれる画像に基づいて、当該トラッカー１２の位置及び向きが特定されてもよい。
【００２８】
本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅは、それぞれ、ユーザの頭部、左手、右手、左足、右足に装着される。ここで図１に示すようにトラッカー１２ｂやトラッカー１２ｃはユーザによって手で把持されるものであってもよい。本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅによって特定される位置及び向きは、それぞれ、ユーザの頭部、左手、右手、左足、右足の位置及び向きに相当する。このように本実施形態では複数のトラッカー１２によって、ユーザの体に含まれる複数の部位の位置及び向きが特定されることとなる。
【００２９】
本実施形態に係るエンタテインメント装置１４は、例えばゲームコンソール、ＤＶＤプレイヤ、Ｂｌｕ−ｒａｙ（登録商標）プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置１４は、例えば記憶されている、あるいは、光ディスクに記録された、ゲームプログラムの実行やコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置１４は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置１６を経由してディスプレイ１８に出力する。
【００３０】
本実施形態に係るエンタテインメント装置１４には、例えば図２に示すように、プロセッサ３０、記憶部３２、通信部３４、入出力部３６が含まれる。
【００３１】
プロセッサ３０は、例えばエンタテインメント装置１４にインストールされるプログラムに従って動作するＣＰＵ等のプログラム制御デバイスである。本実施形態に係るプロセッサ３０には、ＣＰＵから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するＧＰＵ（Graphics Processing Unit）も含まれている。
【００３２】
記憶部３２は、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。記憶部３２には、プロセッサ３０によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部３２には、ＧＰＵにより画像が描画されるフレームバッファの領域が確保されている。
【００３３】
通信部３４は、例えば無線ＬＡＮモジュールなどの通信インタフェースなどである。
【００３４】
入出力部３６は、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ポート、ＵＳＢポートなどの入出力ポートである。
【００３５】
本実施形態に係る中継装置１６は、エンタテインメント装置１４から出力される映像信号や音声信号を中継してディスプレイ１８に出力するコンピュータである。
【００３６】
本実施形態に係るディスプレイ１８は、例えば液晶ディスプレイ等であり、エンタテインメント装置１４から出力される映像信号が表す映像などを表示させる。
【００３７】
本実施形態に係るカメラマイクユニット２０は、例えば被写体を撮像した画像をエンタテインメント装置１４に出力するカメラ２０ａ及び周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置１４に出力するマイク２０ｂを含んでいる。また本実施形態に係るカメラ２０ａはステレオカメラである。
【００３８】
トラッカー１２と中継装置１６とは、例えば、無線によるデータの送受信が互いに可能になっている。エンタテインメント装置１４と中継装置１６とは、例えば、ＨＤＭＩケーブルやＵＳＢケーブルなどを介して接続されており、データの送受信が互いに可能になっている。中継装置１６とディスプレイ１８とは、例えば、ＨＤＭＩケーブルなどを介して接続されている。エンタテインメント装置１４とカメラマイクユニット２０とは、例えば、ＡＵＸケーブルなどを介して接続されている。
【００３９】
本実施形態では例えば、エンタテインメント装置１４がゲームプログラムを実行している際に、図３に示すスケルトンモデル４０における、ユーザの体に含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理が実行される。そして当該処理の結果に応じた映像が例えばディスプレイ１８に表示される。
【００４０】
図３に示すように、本実施形態に係るスケルトンモデル４０には、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅが含まれている。頭部ノード４２ａは、トラッカー１２ａが装着されるユーザの頭部に相当する。左手ノード４２ｂは、トラッカー１２ｂが装着されるユーザの左手に相当する。右手ノード４２ｃは、トラッカー１２ｃが装着されるユーザの右手に相当する。左足ノード４２ｄは、トラッカー１２ｄが装着されるユーザの左足に相当する。右足ノード４２ｅは、トラッカー１２ｅが装着されるユーザの右足に相当する。
【００４１】
またスケルトンモデル４０には、上記のノード４２の他に、胸部ノード４２ｆ、腰部ノード４２ｇ、左肩ノード４２ｈ、左肘ノード４２ｉ、左手首ノード４２ｊが含まれている。またスケルトンモデル４０には、さらに、右肩ノード４２ｋ、右肘ノード４２ｌ、右手首ノード４２ｍ、左膝ノード４２ｎ、左足首ノード４２ｏ、右膝ノード４２ｐ、右足首ノード４２ｑが含まれている。図３に示すように、これらのノード４２は、リンクで接続されている。
【００４２】
これらのノード４２は、それぞれユーザの体に含まれる部位に対応している。そして本実施形態では例えば、複数のトラッカー１２について特定される位置及び向きとユーザの身体サイズを示す身体サイズデータとに基づくボディトラッキングが行われる。ここでは例えば、逆運動学などにより、スケルトンモデル４０に含まれる複数のノード４２のそれぞれについての、初期状態における基準の位置に対する位置及び初期状態における基準の向きに対する向きの推定が実行される。
【００４３】
ボディトラッキングの技術においては、ユーザの身体サイズを示す身体サイズデータを用いることで姿勢の推定精度を向上させることができる。例えば身体の小さなユーザが手足を広げた姿勢をとっているのか身体の大きなユーザが手足を縮めた姿勢をとっているのかを判別できる。
【００４４】
従来、ユーザの身体サイズの推定のためには、当該ユーザに両腕を横に上げた姿勢（いわゆるＴポーズ）を事前にとらせる必要があった。
【００４５】
一方、本実施形態では、例えば複数のトラッカー１２を装着してゲームをプレイしているユーザが動作を行うことによって、身体サイズデータが動的に更新されていく。そのため本実施形態では、身体サイズデータを生成するためにＴポーズを事前に（例えばゲームのプレイが開始される前に）ユーザにとらせて、キャリブレーションを実行する必要がない。
【００４６】
以下、本実施形態における身体サイズデータの動的な更新に関する、エンタテインメント装置１４の機能、及び、エンタテインメント装置１４で実行される処理について説明する。
【００４７】
図４は、本実施形態に係るエンタテインメント装置１４で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメント装置１４で、図４に示す機能のすべてが実装される必要はなく、また、図４に示す機能以外の機能が実装されていても構わない。
【００４８】
図４に示すように、本実施形態に係るエンタテインメント装置１４には、機能的には例えば、身体サイズデータ記憶部５０、姿勢データ取得部５２、身体サイズ推定部５４、身体サイズ更新部５６、処理実行部５８、が含まれる。
【００４９】
身体サイズデータ記憶部５０は、記憶部３２を主として実装される。姿勢データ取得部５２は、プロセッサ３０及び入出力部３６を主として実装される。身体サイズ推定部５４、身体サイズ更新部５６、処理実行部５８は、プロセッサ３０を主として実装される。本実施形態に係るエンタテインメント装置１４は、ユーザの身体サイズを推定する身体サイズ推定装置としての役割を担うこととなる。
【００５０】
以上の機能は、コンピュータであるエンタテインメント装置１４にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ３０で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置１４に供給されてもよい。
【００５１】
身体サイズデータ記憶部５０は、本実施形態では例えば、ユーザの身体サイズを示す身体サイズデータを記憶する。ここで例えば身体サイズデータの初期値として所定値が設定されるようにしてもよい。あるいは、身体サイズデータの初期値としてユーザの年齢に応じた値が設定されるようにしてもよい。後述のように身体サイズデータが示す身体サイズは次第に大きくなるよう当該身体サイズデータは更新されていくので、身体サイズデータの初期値としては、ユーザの一般的な身体サイズを示す値よりも少し小さな値が設定されるようにすることが望ましい。
【００５２】
なお、身体サイズデータ記憶部５０は、ユーザの身長を示す身長データを記憶してもよい。また、身体サイズデータ記憶部５０は、ユーザの腕の長さを示す腕長さデータを記憶してもよい。また、身体サイズデータ記憶部５０は、ユーザの左右方向の身体サイズを示す左右身体サイズデータを記憶してもよい。
【００５３】
姿勢データ取得部５２は、本実施形態では例えば、ユーザの互いに離れた複数の体の部位のそれぞれの位置を示す位置データを取得する。ここで姿勢データ取得部５２が、上述のように、ユーザが装着又は把持するトラッカー１２ａ〜１２ｅによって所定のサンプリングレートで計測される位置及び向きを示す姿勢データを取得してもよい。
【００５４】
身体サイズ推定部５４は、本実施形態では例えば、姿勢データ取得部５２が取得する姿勢データが示す複数の体の部位の位置に基づいて、ユーザの身体サイズを推定する。
【００５５】
ここで身体サイズ推定部５４は、位置データが示すユーザの頭部の位置とユーザの足の位置とに基づいて、ユーザの身体サイズ（例えば高さ方向の身体サイズ、すなわち身長）を推定してもよい。例えばトラッカー１２ａの位置とトラッカー１２ｄの位置とに基づいて、ユーザの身長が推定されてもよい。また例えば、トラッカー１２ａの位置とトラッカー１２ｅの位置とに基づいて、ユーザの身長が推定されてもよい。
【００５６】
また身体サイズ推定部５４は、位置データが示すユーザの手の位置と、推定される当該手の側の肩の位置とに基づいて、ユーザの腕の長さを推定してもよい。そして身体サイズ推定部５４は、姿勢データ取得部５２が取得する姿勢データが示す位置と身体サイズ推定部５４により推定される肩の位置とに基づいて、ユーザの身体サイズ（例えば左右方向の身体サイズ）を推定してもよい。例えばトラッカー１２ｂの位置と推定される左肩の位置とに基づいて、ユーザの左右方向の身体サイズが推定されてもよい。また例えば、トラッカー１２ｃの位置と推定される右肩の位置とに基づいて、ユーザの左右方向の身体サイズが推定されてもよい。
【００５７】
また身体サイズ推定部５４は、位置データが示すユーザの頭部の位置とユーザの手の位置とに基づいて、ユーザの身長を推定してもよい。ここで例えば、上述のようにして推定されるユーザの腕の長さに基づいて、ユーザの身長が推定されてもよい。
【００５８】
身体サイズ更新部５６は、本実施形態では例えば、推定される身体サイズが身体サイズデータ記憶部５０に記憶されている身体サイズデータが示す身体サイズよりも大きい場合に、推定される身体サイズを示すよう当該身体サイズデータを更新する。
【００５９】
ここで身体サイズ更新部５６は、推定される身長が身体サイズデータ記憶部５０に記憶されている身長データが示す身長よりも長い場合に、推定される身長を示すよう当該身長データを更新してもよい。また身体サイズ更新部５６は、推定される腕の長さが身体サイズデータ記憶部５０に記憶されている腕長さデータが示す腕の長さよりも長い場合に、推定される腕の長さを示すよう当該腕長さデータを更新してもよい。
【００６０】
処理実行部５８は、本実施形態では例えば、身体サイズデータ記憶部５０に記憶されている身体サイズデータが示す身体サイズ、並びに、姿勢データ取得部５２が取得する姿勢データが示す位置及び向きに基づいて、ボディトラッキングの処理を実行する。そして処理実行部５８は、ボディトラッキングの処理の実行結果に基づいて、キャラクタモデルの形状や姿勢を変化させる処理などといった各種の処理を実行する。
【００６１】
ここで、本実施形態に係るエンタテインメント装置１４で行われる処理の流れの一例を、図５に例示するフロー図、及び、図６に示す模式図を参照しながら説明する。図６は、ユーザがゲームをプレイしている様子の一例を示す模式図である。本処理例では、以下のＳ１０１〜Ｓ１１５に示す処理が所定のサンプリングレートで繰り返し実行される。また以下の説明では、ユーザの前後方向がＸ軸方向であり、左右方向がＹ軸方向であり、高さ方向がＺ軸方向であることとする。
【００６２】
まず、姿勢データ取得部５２が、トラッカー１２ａ〜１２ｅの位置及び向きを示す姿勢データを取得する（Ｓ１０１）。ここで以下の説明では、図６に示すように、トラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅの位置をそれぞれＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５と表現する。
【００６３】
そして身体サイズ推定部５４は、位置Ｔ１のＺ座標値ｈ１に所定のオフセット値ｌｏを加えた値を頭頂部のＺ座標値ｈｔとして算出する（Ｓ１０２）。
【００６４】
そして身体サイズ推定部５４は、位置Ｔ４のＺ座標値と位置Ｔ５のＺ座標値との差が所定の閾値ｔ１以下であるか否かを確認する（Ｓ１０３）。
【００６５】
位置Ｔ４のＺ座標値と位置Ｔ５のＺ座標値との差が閾値ｔ１以下であることが確認された場合は（Ｓ１０３：Ｙ）、身体サイズ推定部５４は、位置Ｔ４のＺ座標値と位置Ｔ５のＺ座標値の平均値であるＺ座標値ｈ４を算出する（Ｓ１０４）。
【００６６】
そして身体サイズ推定部５４は、Ｓ１０２に示す処理で算出された頭頂部のＺ座標値ｈｔとＳ１０４に示す処理で算出されたＺ座標値ｈ４との差を、身長の推定値ｌｔとして算出する（Ｓ１０５）。
【００６７】
そして身体サイズ更新部５６は、Ｓ１０５に示す処理で算出された身体サイズの推定値ｌｔが、身体サイズデータ記憶部５０に記憶されている身長データが示す身長の値よりも大きいか否かを確認する（Ｓ１０６）。
【００６８】
値ｌｔが身体サイズデータ記憶部５０に記憶されている身長データが示す身長の値よりも大きいことが確認されたとする（Ｓ１０６：Ｙ）。この場合は、身体サイズ更新部５６は、Ｓ１０５に示す処理で算出された身体サイズの推定値ｌｔを示すよう身体サイズデータ記憶部５０に記憶されている身長データを更新する（Ｓ１０７）。
【００６９】
そして身体サイズ推定部５４は、ユーザの肩の位置を推定する（Ｓ１０８）。ここでは例えば、位置Ｔ１を示す値に所定のオフセット値ｐｓｒｏを加えることで右肩の位置ｐｓｒを示す値が推定されるようにしてもよい。また例えば、位置Ｔ１を示す値に別の所定のオフセット値ｐｓｌｏを加えることで左肩の位置ｐｓｌを示す値が推定されるようにしてもよい。なお、Ｓ１０３に示す処理で位置Ｔ４のＺ座標値と位置Ｔ５のＺ座標値との差が閾値ｔ１以下でないことが確認された場合も（Ｓ１０３：Ｎ）、Ｓ１０８に示す処理が実行される。この場合は、位置Ｔ４を示す値や位置Ｔ５を示す値がエラーに基づく異常値である可能性が高いため、Ｓ１０４〜Ｓ１０７に示す処理がスキップされる。また、Ｓ１０６に示す処理で値ｌｔが身体サイズデータ記憶部５０に記憶されている身長データが示す身長の値よりも大きくないことが確認された場合も（Ｓ１０６：Ｎ）、Ｓ１０８に示す処理が実行される。
【００７０】
そして身体サイズ推定部５４は、Ｓ１０８に示す処理で推定された右肩の位置ｐｓｒと左肩の位置ｐｓｌとの間の長さを肩幅ｌｓとして算出する（Ｓ１０９）。
【００７１】
そして身体サイズ推定部５４は、位置Ｔ２と位置ｐｓｌとの間の長さと、位置Ｔ３と位置ｐｓｒとの間の長さと、の差が所定の閾値ｔ２以下であるか否かを確認する（Ｓ１１０）。
【００７２】
位置Ｔ２と位置ｐｓｌとの間の長さｌａ１と、位置Ｔ３と位置ｐｓｒとの間の長さｌａ２と、の差が所定の閾値ｔ２以下であることが確認されたとする（Ｓ１１０：Ｙ）。この場合は、身体サイズ推定部５４が、位置Ｔ２と位置ｐｓｒとの間の長さｌａ１を示す値と位置Ｔ３と位置ｐｓｌとの間の長さｌａ２を示す値との平均値を腕の長さの推定値ｌａとして算出する（Ｓ１１１）。
【００７３】
そして身体サイズ更新部５６が、Ｓ１１１に示す処理で算出された推定値ｌａが、身体サイズデータ記憶部５０に記憶されている腕長さデータが示す腕の長さの値よりも大きいか否かを確認する（Ｓ１１２）。
【００７４】
値ｌａが身体サイズデータ記憶部５０に記憶されている腕長さデータの値よりも大きいことが確認されたとする（Ｓ１１２：Ｙ）。この場合は、身体サイズ更新部５６は、Ｓ１１１に示す処理で算出された腕の長さの推定値ｌａを示すよう身体サイズデータ記憶部５０に記憶されている腕長さデータを更新する（Ｓ１１３）。
【００７５】
そして身体サイズ推定部５４が、腕長さデータの値の２倍と上述の肩幅ｌｓの値との和を示すよう身体サイズデータ記憶部５０に記憶されている左右身体サイズデータを更新する（Ｓ１１４）。
【００７６】
そして処理実行部５８が、高さ身体サイズデータが示す身長、左右身体サイズデータが示す左右方向の身体サイズ、及び、Ｓ１０１に示す処理で取得した姿勢データが示す位置及び向きに基づいて、ボディトラッキングの処理等の各種の処理を実行する（Ｓ１１５）。なお、Ｓ１１０に示す処理で、位置Ｔ２と位置ｐｓｌとの間の長さと、位置Ｔ３と位置ｐｓｒとの間の長さと、の差が所定の閾値ｔ２以下でないことが確認された場合も（Ｓ１１０：Ｎ）、Ｓ１１５に示す処理が実行される。この場合は、位置Ｔ２を示す値や位置Ｔ３を示す値がエラーに基づく異常値である可能性が高いため、Ｓ１１１〜Ｓ１１４に示す処理がスキップされる。また、Ｓ１１２に示す処理で値ｌａが、身体サイズデータ記憶部５０に記憶されている腕長さデータが示す腕の長さの値よりも大きくないことが確認された場合も（Ｓ１１２：Ｎ）、Ｓ１１５に示す処理が実行される。
【００７７】
そして、Ｓ１０１に示す処理に戻る。
【００７８】
なお以上の説明では、互いに離れた５個の部位の位置に基づいて、ユーザの身体サイズが推定されたが、最低２個の部位の位置があれば、ユーザの身体サイズの推定は可能である。例えば、位置Ｔ１と位置Ｔ４に基づいてユーザの身体サイズが推定されてもよい。また例えば、位置Ｔ１と位置Ｔ５に基づいてユーザの身体サイズが推定されてもよい。また例えば位置Ｔ２と位置Ｔ３とに基づいてユーザの身体サイズが推定されてもよい。
【００７９】
人間の左右方向の身体サイズは身長とほぼ同じであることが知られている。このことを踏まえ、上述のように左右方向の身体サイズの推定値が身長の推定値として用いられてもよい。例えば図５に示す処理例において、腕長さデータの値の２倍と上述の肩幅ｌｓの値との和を示すよう身体サイズデータ記憶部５０に記憶されている身長データが更新されてもよい。この場合は、頭部に装着されるトラッカー１２と手に装着又は把持されるトラッカー１２があればユーザの身長が推定できることとなる。そのため、ユーザは足にトラッカー１２を装着する必要がない。また例えば身長の推定値が左右方向の身体サイズの推定値として用いられてもよい。
【００８０】
［第２実施形態］
以下、本発明の別の実施形態である第２実施形態について説明する。
【００８１】
第２実施形態に係るエンタテインメントシステム１０の構成の一例は、図１に示すものと同様であるので説明を省略する。第２実施形態に係るエンタテインメント装置１４の構成の一例は、図２に示すものと同様であるので説明を省略する。
【００８２】
第２実施形態では、ユーザに直立姿勢をとらせることでユーザの身体サイズが推定される。ここでは例えば、上述の身体サイズデータが生成される。第２実施形態でも、身体サイズデータを生成するためにＴポーズを事前にユーザにとらせる必要がない。
【００８３】
図７は、本実施形態に係るエンタテインメント装置１４で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメント装置１４で、図７に示す機能のすべてが実装される必要はなく、また、図７に示す機能以外の機能が実装されていても構わない。
【００８４】
図７に示すように、本実施形態に係るエンタテインメント装置１４には、機能的には例えば、姿勢データ取得部６０、身体サイズ推定部６２、身体サイズデータ記憶部６４が含まれる。
【００８５】
姿勢データ取得部６０は、プロセッサ３０及び入出力部３６を主として実装される。身体サイズ推定部６２は、プロセッサ３０を主として実装される。身体サイズデータ記憶部６４は、記憶部３２を主として実装される。本実施形態に係るエンタテインメント装置１４は、ユーザの身体サイズを推定する身体サイズ推定装置としての役割を担うこととなる。
【００８６】
以上の機能は、コンピュータであるエンタテインメント装置１４にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ３０で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置１４に供給されてもよい。
【００８７】
姿勢データ取得部６０は、本実施形態では例えば、直立姿勢のユーザの互いに離れた複数の体の部位の位置を示す位置データを取得する。ここで姿勢データ取得部６０が、上述のように、ユーザが装着又は把持するトラッカー１２ａ〜１２ｅによって所定のサンプリングレートで計測される位置及び向きを示す姿勢データを取得してもよい。
【００８８】
身体サイズ推定部６２は、本実施形態では例えば、位置データが示す、ユーザの頭部の位置とユーザの手の位置とに基づいて、ユーザの腕の長さ及び肩幅を推定する。例えばトラッカー１２ａの位置とトラッカー１２ｂの位置とトラッカー１２ｃの位置とに基づいて、ユーザの腕の長さ及び肩幅が推定されてもよい。そして身体サイズ推定部６２は、推定されるユーザの腕の長さ及び肩幅に基づいて、ユーザの身体サイズを推定する。また本実施形態では、身体サイズ推定部６２は、推定されるユーザの身体サイズを示す身体サイズデータを生成する。
【００８９】
ここで身体サイズ推定部６２は、推定されるユーザの腕の長さ及び肩幅に基づいて、ユーザの左右方向の身体サイズを推定してもよい。また身体サイズ推定部６２は、位置データが示すユーザの頭部の位置とユーザの足の位置とに基づいて、ユーザの身長を推定してもよい。
【００９０】
また身体サイズ推定部６２は、推定されるユーザの腕の長さ及び肩幅に基づいて、ユーザの身長を推定してもよい。
【００９１】
また人間の肩幅は前後方向の身体サイズと概ね同じであると考えられるため、身体サイズ推定部６２が、推定される肩幅を、ユーザの前後方向の身体サイズとして推定してもよい。
【００９２】
身体サイズデータ記憶部６４は、本実施形態では例えば、身体サイズ推定部６２により生成される、ユーザの身体サイズを示す身体サイズデータを記憶する。
【００９３】
そして本実施形態において、例えば、身体サイズデータ記憶部６４に記憶された身体サイズデータが示す身体サイズを用いた、ボディトラッキング等の処理が実行されてもよい。例えば、逆運動学などにより、図３に示すスケルトンモデル４０に含まれる複数のノード４２のそれぞれについての、初期状態における基準の位置に対する位置及び初期状態における基準の向きに対する向きの推定が実行されてもよい。また、ボディトラッキングの処理の実行結果に基づいて、キャラクタモデルの形状や姿勢を変化させる処理などといった各種の処理が実行されてもよい。
【００９４】
ここで、本実施形態に係るエンタテインメント装置１４で行われる処理の流れの一例を、図８に例示するフロー図、及び、図９に示す模式図を参照しながら説明する。図９は、ユーザが直立姿勢をとっている様子の一例を示す模式図である。以下の説明では、ユーザの前後方向がＸ軸方向であり、左右方向がＹ軸方向であり、高さ方向がＺ軸方向であることとする。
【００９５】
まず、姿勢データ取得部６０が、ユーザが直立姿勢をとっている際にトラッカー１２ａ〜１２ｅの位置及び向きを示す姿勢データを取得する（Ｓ２０１）。ここで以下の説明では、図８に示すように、トラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅの位置をそれぞれＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５と表現する。
【００９６】
そして身体サイズ推定部６２は、位置Ｔ２と位置Ｔ３との間の長さを肩幅ｌｓとして算出する（Ｓ２０２）。
【００９７】
そして身体サイズ推定部６２は、位置Ｔ１のＺ座標値ｈ１に所定のオフセット値ｌｏを加えた値を頭頂部のＺ座標値ｈｔとして算出する（Ｓ２０３）。
【００９８】
そして身体サイズ推定部６２は、位置Ｔ４のＺ座標値と位置Ｔ５のＺ座標値の平均値であるＺ座標値ｈ４を算出する（Ｓ２０４）。
【００９９】
そして身体サイズ推定部６２は、Ｓ２０３に示す処理で算出された頭頂部のＺ座標値ｈｔとＳ２０４に示す処理で算出されたＺ座標値ｈ４との差を、身長の推定値ｌｔとして算出する（Ｓ２０５）。
【０１００】
そして身体サイズ推定部６２は、頭頂部のＺ座標値ｈｔから所定の頭の長さｌｈを引くことにより、肩のＺ座標値ｈｓを算出する（Ｓ２０６）。
【０１０１】
そして身体サイズ推定部６２は、位置Ｔ２のＺ座標値と位置Ｔ３のＺ座標値との平均値であるＺ座標値ｈ２を算出する（Ｓ２０７）。
【０１０２】
そして身体サイズ推定部６２は、肩のＺ座標値ｈｓからＺ座標値ｈ２を引くことにより、腕の長さの推定値ｌａを算出する（Ｓ２０８）。
【０１０３】
そして身体サイズ推定部６２は、身体サイズデータを生成して身体サイズデータ記憶部６４に記憶させる（Ｓ２０９）。ここで当該身体サイズデータには、前後方向の身体サイズを示す前後身体サイズデータと、左右方向の身体サイズを示す左右身体サイズデータと、身長を示す身長データと、が含まれていてもよい。そして前後身体サイズデータの値としては、上述の肩幅ｌｓを示す値が設定されてもよい。また左右身体サイズデータの値としては、腕の長さｌａを示す値の２倍に肩幅ｌｓを示す値を足した値が設定されてもよい。また身長データの値として、Ｓ２０５に示す処理で算出される推定値ｌｔが設定されてもよい。
【０１０４】
なお第２実施形態において、身長、前後方向の身体サイズ、左右方向の身体サイズのすべてが推定される必要はない。
【０１０５】
また人間の左右方向の身体サイズは身長とほぼ同じであることが知られている。このことを踏まえ、上述のように左右方向の身体サイズの推定値が身長の推定値として用いられてもよい。例えば上述のＳ２０９に示す処理において、腕の長さｌａを示す値の２倍に肩幅ｌｓを示す値を足した値が身長データの値として設定されてもよい。この場合は、頭部に装着されるトラッカー１２と手に装着又は把持されるトラッカー１２があればユーザの身長が推定できることとなる。そのため、ユーザは足にトラッカー１２を装着する必要がない。
【０１０６】
また例えば身長の推定値が左右方向の身体サイズの推定値として取り扱われてもよい。
【０１０７】
なお、本発明は上述の実施形態に限定されるものではない。
【０１０８】
例えばトラッカー１２ａは、ヘッドマウントディスプレイ（ＨＭＤ）であってもよい。この場合に、ユーザに含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理の結果に応じた映像が例えばＨＭＤの表示部に表示されるようにしてもよい。
【０１０９】
また例えば、図４や図７に示す機能の一部又は全部がトラッカー１２によって実装されてもよい。
【０１１０】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
【図１】
2019176090.tif 000003
【図２】
2019176090.tif 000004
【図３】
2019176090.tif 000005
【図４】
2019176090.tif 000006
【図５】
2019176090.tif 000007
【図６】
2019176090.tif 000008
【図７】
2019176090.tif 000009
【図８】
2019176090.tif 000010
【図９】
2019176090.tif 000011
【国際調査報告】
2019176090.tif 000012
2019176090.tif 000013
2019176090.tif 000014
2019176090.tif 000015