(57)【要約】【課題】ユーザの身体動作に基づいて操作入力が可能な指示受付装置において、ユーザの操作入力を効率的かつ迅速に行うのに好適な指示受付装置、指示受付方法、ならびに、プログラムを提供する。【解決手段】検知部３０１により検知されたユーザの第１の部位の位置が第１の条件を満たしていると、記憶部３０３に記憶される数値パラメータは第１の値から第２の値へ時間の経過とともに変化する。第１の条件を満たしたまま、更に、ユーザの第２の部位の位置が第２の条件を満たしていると、数値パラメータの変化の度合を変化させることができるので、より迅速な指示受付が可能となる。【選択図】図３
2012247823.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの身体の第１の部位の位置及び第２の部位の位置を検知する検知部と、
数値パラメータが記憶される記憶部と、
前記検知された第１の部位の位置が第１の条件を満たしていると、前記記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように前記記憶部を更新する更新部と、
前記記憶される数値パラメータが前記第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する出力部と、を備え、
前記更新部は、前記検知された第１の部位の位置が前記第１の条件を満たしている間、前記検知された第２の部位の位置が第２の条件を満たすと前記数値パラメータの変化の度合を変化させる、
ことを特徴とする指示受付装置。
【請求項２】
請求項１に記載の指示受付装置であって、
前記記憶される数値パラメータを前記第１の値から前記第２の値の間で表示する表示部を備える、
ことを特徴とする指示受付装置。
【請求項３】
請求項１又は２に記載の指示受付装置であって、
前記更新部は、前記検知された第１の部位の位置が前記第１の条件を満たしている間、前記第２の部位の位置が前記第２の条件を満たすことによって前記第２の値に至った回数に応じて、前記記憶部の数値パラメータの変化の度合いを変化させる、
ことを特徴とする指示受付装置。
【請求項４】
請求項１から３のいずれか１項に記載の指示受付装置であって、
前記数値パラメータの変化の度合は、当初は第１の変化率で変化し、変化した後は第２の変化率で変化する、
ことを特徴とする指示受付装置。
【請求項５】
請求項４に記載の指示受付装置であって、
前記第２の変化率は、数値パラメータが前記第２の値より所定の閾値前に至ると、前記第１の変化率に戻す、
ことを特徴とする指示受付装置。
【請求項６】
請求項１から５のいずれか１項に記載の指示受付装置であって、
前記更新部は、前記検知された第１の部位の位置が前記第１の条件を満たさないと、前記記憶される数値パラメータを前記第１の値にするように前記記憶部を更新する、
ことを特徴とする指示受付装置。
【請求項７】
検知部、記憶部、更新部、出力部を有する指示受付装置にて実行される指示受付方法であって、
検知部が、ユーザの身体の第１の部位の位置及び第２の部位の位置を検知する検知工程と、
記憶部が、数値パラメータを記憶する記憶工程と、
更新部が、前記検知された第１の部位の位置が第１の条件を満たしていると、前記記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように前記記憶部を更新する更新工程と、
出力部が、前記記憶される数値パラメータが前記第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する出力工程と、を備え
前記更新工程で、前記更新部が、前記検知された第１の部位の位置が前記第１の条件を満たしている間、前記検知された第２の部位の位置が第２の条件を満たすと前記数値パラメータの変化の度合を変化させる、
ことを特徴とする指示受付方法。
【請求項８】
コンピュータを、
ユーザの身体の第１の部位の位置及び第２の部位の位置を検知する検知部、
数値パラメータが記憶される記憶部、
前記検知された第１の部位の位置が第１の条件を満たしていると、前記記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように前記記憶部を更新する更新部、
前記記憶される数値パラメータが前記第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する出力部、
として機能させ、
前記更新部は、前記検知された第１の部位の位置が前記第１の条件を満たしている間、前記検知された第２の部位の位置が第２の条件を満たすと前記数値パラメータの変化の度合を変化させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの身体動作に基づいて操作入力が可能な指示受付装置において、ユーザの操作入力を効率的かつ迅速に行うのに好適な指示受付装置、指示受付方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
現実空間におけるモデルの動きを１つ又は複数のカメラで撮影したり、周囲に照射した赤外線の飛行時間やその反射波の位相差を用いてモデルまでの距離を計測したりすることによって、モデルの動きを捉える技術がある。最近では、特許文献１のようにゲームの分野に応用し、プレイヤーを撮影してプレイヤーの所定の部位（たとえば、頭部、両眼部など）を追尾し、プレイヤーの動きの認識結果をゲームに反映させることも行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１１７６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
当該特許文献１に記載の技術は、指示受付方法の手段としてユーザの身体の一部の位置を検知することを採用しているので、コントローラ等の別途の入力装置が不要であり、各種の技術分野で使用されている。
一方、コントローラを使用しない指示受付方法であるため、ユーザの指示入力に対する即応性が要望されている。
【０００５】
本発明は、このような課題を解決するものであり、ユーザの身体動作に基づいて操作入力が可能な指示受付装置において、ユーザの操作入力を効率的にかつ迅速に行うのに好適な指示受付装置、指示受付方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係る指示受付装置は、検知部、記憶部、更新部、出力部と、を備える。
検知部は、ユーザの身体の第１の部位の位置及び第２の部位の位置を検知し、記憶部は、数値パラメータを記憶する。
【０００８】
すなわち、検知部は、ユーザの身体をカメラ等で撮影した画像データと、画像深度センサーで検知された入力装置からユーザまでの距離の値を使用して、ユーザの身体の特定の位置を検知する。第１の部位をユーザの右手、第２の部位をユーザの左手とすると、検知部は、これらの部位の位置を特定し、経時的変化を検出する。
また、記憶部は、ユーザの検知位置に応じて変更される数値パラメータを記憶する。
【０００９】
更新部は、検知された第１の部位の位置が第１の条件を満たしていると、記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように記憶部を更新する。
【００１０】
すなわち、検知されたユーザの身体の第１の部位（たとえば、右手）が、第１の条件（たとえば、右手が、一定の空間内に置かれている。）を満たしたときには、数値パラメータの値が、第１の値から第２の値に変化、たとえば、第１の値から第２の値に増加するように、時間の経過とともに変化する。
【００１１】
出力部は、記憶される数値パラメータが第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する。
【００１２】
すなわち、ユーザの身体の第１の部位が第１の条件を満たしていることで、数値パラメータが第１の値から第２の値に変化して、第２の値に至った場合には、ユーザによる指示が受け付けられたとして処理される。
たとえば、ユーザが右手を挙げて、右手が一定空間内に置かれるという条件を満たしている状態が継続すれば、数値パラメータは第１の値から第２の値に変化して、第２の値に至る。第２の値に至った時点で、ユーザによる指示は、たとえば、ゲームを開始する指示として受け付けられる。
【００１３】
更新部は、検知された第１の部位の位置が第１の条件を満たしている間、検知された第２の部位の位置が第２の条件を満たすと数値パラメータの変化の度合いを変化させる。
【００１４】
すなわち、検知された第１の部位が第１の条件を満たせば、数値パラメータが第１の値から第２の値へ変化する。そして、第１の部位が第１の条件を満たしている間に、ユーザの身体の第２の部位が第２の条件を満たせば、数値パラメータの第１の値から第２の値に変化する度合いを変化、たとえば、変化速度を早くするように変化の度合いを変更する。
【００１５】
たとえば、右手という部位が、特定の空間内に位置しているという条件を満たしている間に、左手という別の部位が、特定の空間内に位置しているという条件を満たせば、数値パラメータの第１の値から第２の値への変化の度合い、即ち、変化速度が増加する。
【００１６】
本発明によれば、ユーザの身体動作に基づいて、操作入力が可能な指示受付装置において、指示が受け付けられるまでに要する時間を、ユーザの意志により調整することができるので、ユーザの操作性の向上を図ることができる。
【００１７】
本発明の指示受付装置において、指示受付装置は、表示部を更に備える。
表示部は、記憶される数値パラメータを第１の値から第２の値の間で表示する。
【００１８】
すなわち、表示部は、数値パラメータが第１の値から第２の値へ変化された場合に、その値に対応する表示を、表示画面にゲージ等によって行う。
たとえば、表示部は、右手が特定の空間内に置かれている場合には、数値パラメータの変化にあわせて、画面に表示されるゲージを０から所定の値まで増加させるように表示する。
【００１９】
本発明によれば、ユーザは、第１の部位が第１の条件を満たしているとき、数値パラメータが第１の値から第２の値へ変化する様子を視覚的に認識することができる。
【００２０】
本発明において、更新部は、検知された第１の部位の位置が第１の条件を満たしている間、第２の部位の位置が第２の条件を満たすことによって第２の値に至った回数に応じて、記憶部の数値パラメータの変化の度合いを変化させる。
【００２１】
すなわち、たとえば、第１の部位である右手が、特定の空間内に置かれている間に、第２の部位である左手が、特定の空間内に置かれることが、過去に何回起きたかという過去の履歴に基づいて、数値パラメータの変化度合いを変化させる。変化の度合いは、たとえば、過去の第２の部位が第２の条件を満たした回数が多いほど、数値パラメータの変化度合いの速度を早くするという処理が行われる。
【００２２】
本発明によれば、第２の部位が第２の条件を満たした過去の回数に応じて、数値パラメータの変化度合いを変化させることができるので、指示受付を早く確定したいユーザの傾向を認知して、操作処理に反映させる効果がある。
【００２３】
本発明において、数値パラメータの変化の度合いは、当初は第１の変化率で変化し、変化した後は第２の変化率で変化する。
すなわち、たとえば、第１の部位が第１の条件を満たしている場合には、数値パラメータの変化度合いは、第１の変化率で変化し、第２の部位が第２の条件を満たしている場合には、数値パラメータは第２の変化率で変化する。
【００２４】
本発明によれば、数値パラメータの変化率を、第１の値から第２の値に至るまでの間に段階的に変化させることで、プレイヤは、指示受付までに要する時間の変化を体感することができる。
【００２５】
本発明において、第２の変化率は、数値パラメータが第２の値より所定の閾値前に至ると、第１の変化率に戻す。
すなわち、第２の変化率は、数値パラメータが第２の値に至る少し前で、もとの第１の変化率に戻される。
【００２６】
本発明によれば、ユーザは、最終決定の処理がされる前に、変化率が元の速さに戻るので、決定するのかキャンセルするのかの最終判断を余裕を持って行うことができる。
【００２７】
本発明において、更新部は、検知された第１の部位の位置が第１の条件を満たさないと、記憶される数値パラメータを第１の値にするように記憶部を更新する。
すなわち、検知された第１の部位の位置が第１の条件を満たさないと、たとえば、右手を下げる等で、右手が特定空間に置かれなくなった場合には、数値パラメータは第１の値に戻ることになり、指示受付操作は、キャンセルされることになる。
【００２８】
本発明のその他の観点に係る指示受付方法は、検知部、記憶部、更新部、出力部を有する指示受付装置にて実行される指示受付方法であって、検知工程、記憶工程、更新工程、出力工程、とを備える。
検知工程では、検知部がユーザの身体の第１の部位の位置及び第２の部位の位置を検知する。
記憶工程では、記憶部が、数値パラメータを記憶する。
【００２９】
更新工程では、更新部が、検知された第１の部位の位置が第１の条件を満たしていると、記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように記憶部を更新する。
出力工程では、出力部が、記憶される数値パラメータが第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する。
更新工程は、更に、更新部が、検知された第１の部位の位置が第１の条件を満たしている間、検知された第２の部位の位置が第２の条件を満たすと数値パラメータの変化の度合を変化させる。
【００３０】
本発明のその他の観点に係るプログラムは、コンピュータを指示受付装置として機能させ、コンピュータに指示受付方法を実行させるように構成し、指示受付装置は、検知部、記憶部、更新部、出力部を備える。
【００３１】
ここで、検知部は、ユーザの身体の第１の部位の位置及び第２の部位の位置を検知する。記憶部は、数値パラメータを記憶する。
更新部は、検知された第１の部位の位置が第１の条件を満たしていると、記憶される数値パラメータが第１の値から第２の値へ時間の経過とともに変化するように記憶部を更新する。
出力部は、記憶される数値パラメータが第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する。
更新部は、更に、検知された第１の部位の位置が第１の条件を満たしている間、検知された第２の部位の位置が第２の条件を満たすと数値パラメータの変化の度合いを変化させる。
【００３２】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布、販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布、販売することができる。
【発明の効果】
【００３３】
本発明によれば、ユーザの身体動作に基づいて操作入力が可能な指示受付装置において、ユーザの操作入力を効率的に、かつ迅速に行うのに好適な指示受付装置、指示受付方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態に係る指示受付装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態に係る指示受付装置の外観図である。
【図３】本実施形態の１つに係る指示受付装置の概要構成を示す説明図である。
【図４】本実施形態の指示受付装置において、ユーザの身体の第１の部位が第１の条件を満たしている状態を示す図である。
【図５】（ａ）〜（ｄ）は、本実施形態の指示受付装置において、数値パラメータが第１の値から第２の値に変化することに伴うゲージの変化を表示する表示画像を示す図である。
【図６】本実施形態の指示受付装置において実行される指示受付方法の処理の制御の流れを示すフローチャートである。
【図７】本実施形態の指示受付装置において、ユーザの身体の第１の部位が第１の条件を満たし、かつ、第２の部位が第２の条件を満たしている状態を示す図である。
【図８】本実施形態の指示受付装置において、第１の条件、第２の条件が満たされているか否かにともなう数値パラメータの変化を検知時間に沿って示した図である。
【図９】本実施形態の指示受付装置において、第１の条件、第２の条件が満たされているか否かにともなう数値パラメータの変化を縦軸に、検知時間の推移を横軸にとったグラフである。
【図１０】本実施形態の指示受付装置において、過去に第２の条件を満たした回数に応じた数値パラメータの変化を示したグラフである。
【発明を実施するための形態】
【００３５】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００３６】
（実施形態１）
図１は、本発明のゲーム装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。
【００３７】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ハードディスク１０４と、インターフェース１０５と、外部メモリ１０６と、入力装置１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０８と、画像処理部１０９と、音声処理部１１０と、ＮＩＣ（Network Interface Card）１１１と、を備える。
【００３８】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着し、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３９】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、ＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて、レジスタという高速アクセスが可能な記憶領域に記憶されたデータの加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、ＣＰＵ  １０１は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行うことができるコプロセッサを備える。
【００４０】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録される。ＩＰＬがＣＰＵ  １０１によって実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムがＲＡＭ  １０３に読み出され、ＣＰＵ  １０１による起動処理が開始される。
【００４１】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、たとえば、ＤＶＤ−ＲＯＭから読み出されたプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００４２】
ハードディスク１０４は、情報処理装置１００全体の動作制御に必要なオペレーティングシステム（ＯＳ）のプログラムや各種のゲームデータ等を格納する。ＣＰＵ  １０１は、ハードディスク１０４に記憶される情報を随時書き換えることができる。
【００４３】
インターフェース１０５を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いた他の装置との通信のログ（記録）のデータなどが記憶される。ＣＰＵ  １０１は、外部メモリ１０６に記憶される情報を随時書き換えることができる。また、情報処理装置１００は、インターフェース１０５を介して、増設用のハードディスクを接続することができる。
【００４４】
入力装置１０７は、図２に示すように、ゲーム画面が表示されるモニター２０１付近に設置される。入力装置１０７は、ユーザの様子などを撮影するカメラを備える。ＣＰＵ  １０１は、カメラによって撮影された画像を表す画像データを解析し、画像に含まれるユーザの部位（たとえばユーザの手、足、顔など）を判別する。画像解析の手法には、たとえば、パターン認識による解析、特徴点の抽出による解析、空間周波数の算出による解析などがある。カメラによる撮影は、ゲーム中に継続的に行われる。
【００４５】
また、入力装置１０７は、入力装置１０７からユーザ（もしくはユーザの任意の部位）までの距離を測定する深度センサーを備える。たとえば、入力装置１０７は、赤外線を周囲に照射し、この赤外線の反射波を検知する。そして、入力装置１０７は、照射波と反射波との位相差や、赤外線が発射されてからその反射光が検知されるまでの時間（飛行時間）に基づいて、照射波の発射口から照射波を反射した物体までの距離（以下「深度」ともいう。）を求める。深度センサーによる深度の検知は、赤外線を発射可能な方向のそれぞれについて、所定の時間間隔で繰り返し行われる。
尚、撮影するカメラと深度センサーを入力装置１０７に一体的に設けてもよいし、撮影カメラとしてＣＣＤカメラ２０２などを別途設けてもよい。
【００４６】
深度センサーを備えることにより、情報処理装置１００は、現実空間に配置された物体の３次元的な位置や形状をより詳しく把握することが可能になる。具体的には、ＣＰＵ  １０１が第１の時刻に取得された第１の画像データと第２の時刻に取得された第２の画像データとを画像解析した結果、第１の画像データと第２の画像データの両方にユーザの頭部を表す部分が含まれていることを判別したとする。ＣＰＵ  １０１は、第１の画像データ内における頭部の位置と、第２の画像データ内における頭部の位置と、の変化から、カメラから見てユーザの頭部が上下左右のどの方向にどの程度動いたのかを判別することができるだけでなく、第１の画像データにおける頭部の深度と、第２の画像データ内における頭部の深度と、の変化から、カメラから見てユーザの頭部が前後のどちらの方向にどの程度動いたのか（どの程度カメラに近づいたりカメラから遠ざかったりしたのか）を判別することもできる。
【００４７】
このように、ＣＰＵ  １０１は、入力装置１０７が備えるカメラによって撮影された画像と、入力装置１０７が備える深度センサーによって測定された距離（深度）と、に基づいて、いわゆるモーションキャプチャーのように、現実空間におけるユーザの３次元的な動きをデジタル化して把握することができる。
【００４８】
たとえば、ボーリングゲームにおいて、プレイヤーがモニター２０１画面の前（つまり入力装置１０７の前）でボールを投げるモーションをすると、ＣＰＵ  １０１は、プレイヤーがボールを投げるモーションを行ったことを認識することができる。そして、ＣＰＵ  １０１は、認識したモーションに応じて、ゲームを進行することができる。つまり、プレイヤーは、タッチパッド型のコントローラなどを持つことなく、自分の体を自由に動かすことによって、所望の指示を入力することができる。入力装置１０７は、プレイヤーからの指示入力を受け付ける、いわゆる“コントローラ”の役割を果たす。
【００４９】
撮影された画像を表すデジタルの画像データは、複数の画素の集合である。典型的には、画素のそれぞれに三原色（Ｒ，Ｇ，Ｂ）の強度を表す値が対応付けられる。画像深度センサーにより各方向の深度が測定されるということは、実質的には、１つの画素が、赤（Ｒ），緑（Ｇ），青（Ｂ）に加えて、深度（Ｄ）というもう一次元を用いて表されることを意味する。
【００５０】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データなどが予め記録される。ＤＶＤ−ＲＯＭドライブ１０８は、ＣＰＵ  １０１の制御によって、装着されたＤＶＤ−ＲＯＭに記録されたプログラムやデータを読み出す。ＣＰＵ  １０１は、読み出されたプログラムやデータをＲＡＭ  １０３等に一時的に記憶する。
【００５１】
画像処理部１０９は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０９が備える画像演算プロセッサ（図示せず）によって加工処理した後、画像処理部１０９が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部１０９に接続されるモニター２５０へ出力される。
【００５２】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、画像演算プロセッサは、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５３】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００５４】
また、ＣＰＵ  １０１と画像演算プロセッサがＤＶＤ−ＲＯＭに予め格納された画像データをフレームメモリに書き込むことによって、ゲームの様子などを画面に表示することができる。画像データをフレームメモリに書き込み表示させる処理を、定期的なタイミング（典型的には垂直同期割り込み（ＶＳＹＮＣ）のタイミング）で繰り返し行うことにより、モニター２５０にアニメーションを表示することが可能になる。
【００５５】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、スピーカーから出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲などの音声データを生成し、生成された音声データをデコードすることにより、様々な音声をスピーカーから出力させる。
【００５６】
音声処理部１１０は、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、音声処理部１１０が有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、音声処理部１１０は、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等により圧縮された音声データである場合には、圧縮された音声データをＰＣＭデータに変換する。ＰＣＭデータは、サンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【００５７】
ＮＩＣ  １１１は、情報処理装置１００をインターネット等のコンピュータ通信網に接続する。ＮＩＣ  １１１は、たとえば、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）と、から構成される。
【００５８】
図３は、本実施形態の指示受付装置の概要構成を示す説明図である。本図に示すように、指示受付装置３００は、検知部３０１、更新部３０２、記憶部３０３、出力部３０４，表示部３０５からなる。
【００５９】
検知部３０１は、入力装置１０７のカメラで撮影された画像データ及び深度センサーにより検知された深度を解析し、ユーザの体の部位を判別する。本実施態様においては、右手の位置を身体の第１の部位の位置として検知し、左手の位置を第２の部位の位置として検知する。なお、入力装置１０７及びＣＰＵ  １０１が検知部３０１として機能する。
【００６０】
記憶部３０３は、ＲＡＭ  １０３等によって構成される。当該記憶部３０３は、第１の条件又は第２の条件を満たしているか否かにより経時的に変化する数値パラメータを記憶する。
【００６１】
更新部３０２は、検知された第１の部位の位置が、第１の条件を満たしていると、記憶部３０３に記憶された数値パラメータの値を、第１の値から第２の値へ時間の経過とともに変化するように記憶部３０３を更新する。
なお、ＣＰＵ  １０１が更新部３０２として機能する。
【００６２】
ここで、第１の条件とは、図４に示すようにユーザの第１の部位（右手）４０１が、ユーザの顔との位置関係において、所定の範囲４０２内にあることをいう。
すなわち、所定の範囲４０２は、ユーザの体の中心線Ｙより右側の空間において、ユーザの顔の中心位置（ｘ）と交わる直線Ｘで、顔の中心を通る水平線と角度αをなし、その直線の延長線上である長さｈの位置ｙに中心を有する半径ｒの円内に含まれる範囲である。中心ｙの決定方法は、上述の方法に限定されることなく、任意の方法で決定することが可能である。
【００６３】
なお、第１の条件は、上記で説明したような方法を使用すれば、より正確な位置範囲を決定することができるが、以下に述べるような簡易的な方法でも構わない。
すなわち、画像認識により検出されたユーザの顔と右手のなす角度θの範囲を、たとえば３０°≦θ≦９０°と定めて、この範囲に右手が入っていれば、第１の条件を満たしたことにしてもよい。
【００６４】
さらに、第１の条件を満たす範囲は、上述した方法のように、所定の位置に静止する必要はなく、特定されたユーザの部位の動きが、指示を示す動作として認められる条件に合致するものの変形例も含む。
たとえば、ユーザの右手が第１の位置から第２の位置に動いたことを検知することで、第１の条件を満たしたと判断することも可能である。すなわち、右手を腰の位置から頭の位置まで所定時間内に動かす、人差し指を所定の時間内で所定範囲で動かすなどの動作を含む。
【００６５】
更新部３０２は、ユーザの右手が第１の条件を満たしている状態が所定時間継続すると、その時間の経過にともなって数値パラメータを第１の値から第２の値まで変化するように記憶部３０３を更新する。
たとえば、第１の値を０、第２の値を２００と設定することができる。
【００６６】
出力部３０４は、記憶される数値パラメータが第１の値から第２の値に至ると、ユーザによる指示が受け付けられた旨を出力する。ゲーム装置においては、ゲームの開始時、ゲーム中のアイテムやモードの選択等に使用され、いわゆる決定キーや選択キーの役割をする。なお、ＣＰＵ  １０１が出力部に該当する。なお、以下では、理解を容易にするため、ゲームの開始をするか否かの指示をユーザから受け付ける処理に本実施形態を適用した例を説明する。
【００６７】
表示部３０５は、記憶される数値パラメータを第１の値から第２の値の間で表示するものである。具体的には、モニターに数値パラメータの経時的変化を、視覚で認識できるように表示する。画像処理部１０９が、表示部３０５に該当する。
【００６８】
表示部３０５により、モニターには、図５（ａ）〜（ｄ）に示すような画像が、順次表示される。すなわち、表示画面５０１には、文字を表示する文字表示部５０２と、数値パラメータの値によって増減するゲージ５０３が表示される。
ゲームを開始する際に、「ゲームを開始する場合、右手を挙げて下さい。」という文字表示が画面の上部の文字表示部５０２に表示される。そして、この文字表示５０２の下には、ゲージ５０３が表示される。
ユーザの右手が、一定期間、第１条件を満たせば、数値パラメータが０〜２００まで変化するので、その数値パラメータの変化に伴って、ゲージの表示も５０３ａ〜５０３ｄまで変化する。
【００６９】
図５(ａ)に示すように、ゲーム開始画面が現れた時点では、数値パラメータの値は０であり、ゲージも０を示している。
【００７０】
そして、ユーザが右手を挙げて、第１の条件を満たす範囲に右手を維持し続けると、数値パラメータの値が増加して、それに伴いゲージも図５（ａ）〜図５（ｃ）に示すように増加するように表示される。
【００７１】
数値パラメータが第２の値２００になったときに、出力部３０４は入力が受け付けられたことを出力するので、図５（ｄ）に示すように、ゲージ５０３ｄは最大値を示し、文字表示部５０２には「ゲームを開始します。」という文字が表示される。
【００７２】
本実施形態においては、縦棒状のゲージを用いて説明したが、ゲージの形状については、これに限定されることはなく、横棒状のゲージ、円状のゲージなど、ゲームの種類や場面に応じて、変更することが可能である。
【００７３】
次に、本実施形態に係る指示受付装置で実行される指示受付方法の処理の流れを、図６に示すフローチャートを用いて説明する。
【００７４】
ＣＰＵ  １０１は、指示受付処理が開始されると、検知部３０１により検知されたユーザの第１の部位（右手）が、第１の条件の範囲４０２を満たしているか否かを判断する（ステップＳ６０１）。
第１条件を満たしていれば（ステップＳ６０１；ＹＥＳの場合）、数値パラメータを第１の値（０）から第２の値（２００）に向かって変化させる（ステップＳ６０２）。
【００７５】
数値パラメータの変化に伴って、更新部３０２は、記憶部３０１の数値パラメータの値を順次更新する。この数値パラメータの変化は、モニター上で図５（ａ）〜（ｃ）に示すように変化させて表示していく。
第１の条件を満たしていなければ（ステップＳ６０１；ＮＯの場合）、数値パラメータは変化しない。
【００７６】
ユーザの第１の部位が第１の条件を満たしている間に、ユーザの第２の部位が第２の条件を満たしているかが判断される（ステップＳ６０３）。
ここで、第２の条件とは、図７に示すようにユーザの第２の部位（左手）７０１が、ユーザの顔との位置関係において、所定の範囲７０２内にあることをいう。
すなわち、所定の範囲７０２は、ユーザの体の中心線Ｙより左側の空間において、ユーザの顔の中心位置（ｘ）と交わる直線で、顔を通る水平線Ｘと角度βをなし、その直線の長さｌの位置に中心ｚを有する斜線の円内に含まれる範囲をいう。
第２の条件を満たす前提として、第１の条件を満たすことが必要であるので、第２の条件を満たす場合には、図７に示すようにユーザは、両手を挙げた状態となる。
【００７７】
なお、第２の条件を満たす範囲は、第１の条件を満たす範囲と同様に、上述した方法で決定されるものに限定されるものではなく、特定されたユーザの部位の動きが、指示を示す動作として認められる条件に合致するものの変形例も含む。
【００７８】
ユーザの左手が、第２の条件を満たしていれば、（ステップＳ６０３；ＹＥＳ）数値パラメータの変化の度合いを変化させる（ステップＳ６０４）。
数値パラメータの変化の度合いを変化させるとは、たとえば、第１の条件のみを満たしたときに変化する数値パラメータの変化速度が、第２の条件も満たすことにより変化速度を増加させることをいう。
従って、ユーザは、指示操作を早く決定したい場合には、第１の条件を満たしながら、第２の条件を満たす動作を行う。
【００７９】
数値パラメータの変化の度合いは、一定の変化率を定めることができる。すなわち、第１の部位が第１の条件を満たしているだけであれば、第１の変化率で変化し、第２の部位が第２の条件を満たせば、第２の変化率で変化すると定めることができる。
本実施形態では、第２の部位が第２の条件を満たしている時の第２の変化率は、第１の部位が第１の条件のみを満たしているときの第１の変化率より大きく設定されている。
【００８０】
変化の推移を時系列的な流れでみると、第１の部位が第１の条件のみを満たしている当初は第１の変化率で変化し、第２の部位が第２の条件を満たした後は第２の変化率で変化することになる。
【００８１】
このように、第２の部位が第２の条件を満たした時点から、変化率が大きくなるので、表示画面５０１に表示されるゲージの進行速度は、その時点から速くなる。
従って、第２の値に到達するまでの速度が速くなるので、ユーザは、早く指示受付を完了することができる。
【００８２】
ユーザの左手が第２の条件を満たしていなれば、数値パラメータの変化の度合いは、第１の条件を満たした場合から変化しない（ステップＳ６０３；ＮＯ）。
【００８３】
続いて、数値パラメータが第２の値に達したか否かが判断される（ステップＳ６０５）。
第１の条件のみを満たした場合と、第１の条件と第２の条件の双方を満たした場合とは、数値パラメータの変化の度合いは相違するが、条件を満たし続ける限りは、数値パラメータは最終的には、第２の値に達する。
【００８４】
数値パラメータが第２の値に達すれば（ステップＳ６０５；ＹＥＳ）、ユーザによる指示が受け付けられたとして出力部３０４が、指示が受け付けられた旨を出力する（ステップＳ６０６）。この出力は、たとえば、ＣＰＵ  １０１の所定のレジスタが所定の値となる、あるいは、ＲＡＭ  １０３内に所定の値が書き込まれる、などの形態によって実現され、指示がされた旨は、ＣＰＵ  １０１やＲＡＭ  １０３の内容を確認することでわかる。また、ＣＰＵ  １０１の制御フローが次のステップＳ６０７に進むことをもって「出力」としても良い。
一方、数値パラメータが第２の値に達していなければ（ステップＳ６０５；ＮＯ）数値パラメータの変化を継続するため、ステップＳ６０２に戻る。
【００８５】
なお、上述したように、数値パラメータが第１の値から第２の値まで変化することは、表示部３０５によりモニターに表示される。図５において説明したように、第１の値から第２の値まで変化すると、この変化に同期してゲージが上昇する。
第１の条件のみ満たした場合と、第１の条件と第２の条件を満たした場合では、変化の度合いが異なるので、表示されるゲージの増加速度は、第２の条件を満たした場合には、第１の条件のみを満たした場合より、早くなる。
従って、ユーザは、ゲージの上昇速度を増加させたい場合には、第２の条件をみたすことにより、より早く受付完了画面に移行することができる。
【００８６】
図８は、本実施態様において、指示受付方法を実現するためのデータを示すテーブルを示す図である。
図８のテーブル８００は、検知時間８０１と、ユーザの第１の部位の位置が第１の条件を満たすか否かを示す第１の条件の有無８０２と、ユーザの第２の部位が第２の条件を満たすか否かを示す第２の条件の有無８０３と、数値パラメータ値８０４、変化率８０５とから構成される。
【００８７】
検知時間８０１は、第１の条件及び第２の条件を検知する時間を、垂直同期割込周期を単位とする整数値で表現したものである。
【００８８】
第１の条件の有無８０２と第２の条件の有無８０３の欄は、条件が満たされていればフラグを１として、満たしていなければフラグを０とする。
【００８９】
数値パラメータ値８０４は、検知時間毎に経過時間と変化率に応じた値が示される。本実施態様では、数値パラメータの第１の値を０とし、第２の値を２００と設定する。
【００９０】
変化率８０５は、変化していない場合は０、第１の変化率に設定される場合には１、第２の変化率に設定される場合には、２と記入される。
【００９１】
検知時間１０００においては、第１の条件及び第２の条件は満たされていないので、フラグは双方とも０となり、数値パラメータ値は第１の値（０）から変化していない。
【００９２】
検知時間１１００においては、第１の条件のみ満たしているので、第１の条件は、フラグを１とし、第２の条件はフラグを０とする。変化率は第１の変化率１が設定される。
数値パラメータは、第１の条件のみを満足しているので、第１の変化率で変化し、１０に変化する。第１の変化率は、経過時間１００毎に数値パラメータ値が１０増加する変化率となっている。
【００９３】
検知時間１２００においては、同じく第１の条件のみ満たしているので、第１の条件のフラグは１となり、第２の条件のフラグは０である。変化率は第１の変化率１となる。
第１の条件のみを満足しているので、第１の変化率で変化し、数値パラメータ値は１０から２０に変化している。
【００９４】
検知時間１３００においては、第１の条件及び第２の条件を満たしているので、第１の条件のフラグは１、第２の条件のフラグも１となる。変化率は第２の変化率２と設定される。
第１の条件と第２の条件の双方の条件を満たしているので、第２の変化率で推移する。すなわち、検知時間１００毎に、数値パラメータ値は２０増加する変化率となる。
【００９５】
検知時間１３００においては、第２の変化率で変化するので、数値パラメータ値は２０から４０に変化する。
従って、第１の条件及び第２の条件の双方を満たしている場合の変化率は、第１の条件のみ満たしている場合の変化率と比較すると２倍の変化率となっている。
【００９６】
検知時間１４００から２０００までは、第１の条件及び第２の条件を満たしているので、第２の変化率で数値パラメータは変化することになる。
従って、数値パラメータ値は、検知時間１００毎に、２０づつ増えることになり、検知時間２０００では、数値パラメータ値は１７０となる。
【００９７】
一方、検知時間２０００から２３００までは、第１の条件及び第２の条件の双方の条件を満たすので、本来であれば、第２の変化率で数値パラメータは変化する。
しかしながら、本実施形態においては、数値パラメータが第２の値より所定の閾値前になると、第１の変化率に戻るように設定される。
すなわち、数値パラメータが、第２の値である２００より所定の閾値前である１７０になると、すなわち、表８００の数値パラメータ値で斜線で示した１７０が閾値であり、この値を境に数値パラメータの変化率は第１の変化率に戻る。
従って、検知時間２０００から２３００までは、数値パラメータは第１の変化率で変化することになる。
このような変化率の変更を行うことで、ユーザが直前で微調整を行ったり、最終判断を行える余裕を与えることができる。
【００９８】
なお、第１の部位が第１の条件を満たさないことになった場合には、数値パラメータは第１の値、本実施態様では、０に戻ることになる。
【００９９】
図９に、数値パラメータの経時変化をグラフで示す。
第１の条件のみ満たしている期間（検知時間１１００〜１３００）、数値パラメータは１０〜３０の範囲a1では、第１の変化率で変化し、f(x1)というグラフで表される。
第１の条件及び第２の条件の双方を満たしている期間１３００〜２０００は、数値パラメータは３０〜１７０の範囲ｂにおいて、第２の変化率で変化し、f(x2)というグラフで表される。
第１の条件及び第２の条件の双方を満たしているが、第２の値２００より前の所定の閾値１７０以上になる範囲a2に該当する数値パラメータ値は、第１の変化率で変化し、当初のグラフf(x1)で表される。
【０１００】
グラフからもわかるように、第１の条件を満たしている数値パラメータ値のa1の範囲と数値パラメータ値が所定の閾値前であるa2の範囲は、数値パラメータは、同一の変化率である第１の変化率で変化している。
一方、第１の条件と第２の条件の双方を満たしている数値パラメータ値のｂの範囲は、第２の変化率で変化している。
【０１０１】
従って、第１の変化率で変化している期間は、数値パラメータの増加速度は第２の変化率に比べて変化遅く、第２の変化率で変化している期間は、増加速度が早くなる。
そして、第２の値の所定閾値前になると、再度、第１の変化率に戻ることになる。
【０１０２】
更に、数値パラメータの変化率は、第１の部位の位置が第１の条件を満たしている間、第２の部位の位置が第２の条件を満たすことによって第２の値に至った回数に応じて、変更してもよい。
すなわち、第２の部位が第２の条件を満たして、第２の値に至った過去の回数をカウントして、その回数に応じて、変化率を変更することが可能である。
【０１０３】
過去の回数をカウントする場合には、予め記憶部３０３に、ユーザ毎にユーザにＩＤを付与して記憶する。そして、第２の部位が第２の条件を満たせば、その都度カウントして、ユーザＩＤに紐付けて回数を記憶する。
【０１０４】
図１０には、第２の部位が第２の条件を満たして、第２の値に至った過去の回数が多いほど、第２の変化率が大きくなっていることが示されている。
【０１０５】
図１０において、第２の変化率で変化する範囲で、過去の履歴に応じた変化率の変化をグラフで示す。
第２の変化率で変化する範囲、すなわち、パラメータ値がｂの範囲において、g(x1)、g(x2)、g(x3)というグラフで表すことができる。
g(x1)は、過去に１〜４回、第２の部位が第２の条件を満たして、第２の値に至った場合の数値パラメータの検知時間による変化を示す。g(x2)は、過去に５〜９回、第２の部位が第２の条件を満たして、第２の値に至った場合の数値パラメータの検知時間による変化を示す。g(x3)は、過去に１０回以上、第２の部位が第２の条件を満たして、第２の値に至った場合の数値パラメータの検知時間による変化を示す。
【０１０６】
図１０に示すように、各関数の傾きを、g(x1)の場合には、β１、g(x2)の場合にはβ２、g(x3)の場合には、β３とすると、その関係は、
β１＜β２＜β３
と表すことができる。
よって、過去に第２の部位が第２の条件を満たす回数が多いほど、グラフの傾きすなわち変化率が大きくなるように設定されている。
【０１０７】
このように、ａ１及びａ２のパラメータの範囲では、第１の変化率で変化するが、ｂのパラメータの範囲での第２の変化率は、上述したようにユーザの過去の履歴により変化率は異なることになる。
【０１０８】
その結果、g(x1)を含むグラフでは、検知時間２３００で第２の値（２００）に達し、g(x2)を含むグラフでは、検知時間２１００で第２の値に達し、g(x3)を含むグラフでは、検知時間１９００で第２の値に到達することになる。
すなわち、過去に第２の部位が第２の条件を満たすことが多かったユーザは、同じ検知時間１３００から第２の条件を満たすことになっても、より早く、指示受付処理を完了することができる。
【０１０９】
従って、過去のユーザの履歴に応じて、早く決定処理を望む傾向のあるユーザに対しては、より早く決定処理に進めるように指示受付処理を完了することができる。
【０１１０】
尚、過去のユーザの履歴に応じて変化率を変化させる方法は、上述の方法に限定されることなく、種々の変形例を用いることが可能である。
たとえば、第１の変化率を過去のユーザの履歴に応じて変化させたり、第１の変化率及び第２の変化率双方を過去のユーザの履歴に応じて変化させたりすることが可能である。
【０１１１】
受け付けられた指示は、ユーザの指示として、ゲーム内で使用するために出力されるが、この出力は、ＣＰＵ  １０１の指示に応じたゲーム処理を実行するために使用され（ステップＳ６０７）、この後に指示受付処理は終了する。指示受付処理として、たとえば、ゲームを開始する否かの入力、難易度モード（やさしい、ふつう、難しいなど）を選択する場合、キャラクタのアイテムを選択する場合などに使用される。
【０１１２】
なお、ステップＳ６０７におけるゲーム処理が、ゲームそのものを開始、進行される処理である実施形態では、ステップＳ６０７から抜けるということは、ゲームオーバーもしくはゲームをクリアしたことを意味する。したがって、この場合には、ＣＰＵ  １０１は、制御をステップＳ６０１に戻し、ゲームを開始するか否かを再度ユーザに問い合わせることとしても良い。
【０１１３】
本実施態様においては、指示受付装置として、ゲームの開始を指示する装置を例として説明したが、ゲームの開始の指示に限定されることなく、種々の指示に対応ができる。
たとえば、ゲーム装置においては、ゲーム開始時の難易度の設定の選択、ゲームに使用するアイテム、たとえば武器などの選択、キャラクタの選択、タイミングゲームにおけるタイミングの決定など、決定や選択に係わる場面で使用することができる。
また、本発明は、ゲーム装置に限定されず、各種の情報入力装置の指示に使用することが可能である。
【産業上の利用可能性】
【０１１４】
以上説明したように、本発明によれば、ユーザの身体動作に基づいて操作入力が可能な指示受付装置において、ユーザの操作入力を効率的かつ迅速に行うのに好適な指示受付装置、指示受付方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１１５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ハードディスク
１０５  インターフェース
１０６  外部メモリ
１０７  入力装置
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  画像処理部
１１０  音声処理部
１１１  ＮＩＣ
２０１  モニター
２０２  カメラ
３００  指示受付装置
３０１  検知部
３０２  更新部
３０３  記憶部
３０４  出力部
３０５  表示部
４０１  第１の部位（右手）
４０２  第１の条件範囲
５０１  表示画面
５０２  表示部
５０３  ゲージ
７０１  第２の部位（左手）
７０２  第２の条件範囲
８００  テーブル
８０１  検知時間
８０２  第１の条件の有無
８０３  第２の条件の有無
８０４  数値パラメータ値
８０５  変化率
【図１】
2012247823.tif 000003
【図２】
2012247823.tif 000004
【図３】
2012247823.tif 000005
【図４】
2012247823.tif 000006
【図５】
2012247823.tif 000007
【図６】
2012247823.tif 000008
【図７】
2012247823.tif 000009
【図８】
2012247823.tif 000010
【図９】
2012247823.tif 000011
【図１０】
2012247823.tif 000012