JP2007310840A - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP2007310840A
JP2007310840A JP2006142148A JP2006142148A JP2007310840A JP 2007310840 A JP2007310840 A JP 2007310840A JP 2006142148 A JP2006142148 A JP 2006142148A JP 2006142148 A JP2006142148 A JP 2006142148A JP 2007310840 A JP2007310840 A JP 2007310840A
Authority
JP
Japan
Prior art keywords
value
state
output
input device
effective range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006142148A
Other languages
English (en)
Inventor
Yoshio Miyazaki
良雄 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006142148A priority Critical patent/JP2007310840A/ja
Publication of JP2007310840A publication Critical patent/JP2007310840A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行う情報処理装置において、ユーザが好適に操作を行えるように図ることが可能になる情報処理装置を提供すること。
【解決手段】状態情報出力部72は、操作入力装置に備えられ、所定数値範囲内の数値を操作入力装置の状態に応じて出力する。基準値取得部74は、操作入力装置の基準状態に対応する、上記所定数値範囲内の数値を基準値として取得する。有効範囲決定部78は、上記所定数値範囲内の一部範囲である有効範囲を決定する。対応データ取得部80は、状態情報出力部72の出力値が有効範囲内である場合にその値に対応するデータを取得し、有効範囲内でない場合にその上限値又は下限値に対応するデータを取得する。このデータは出力制御処理に供される。
【選択図】図8

Description

本発明は情報処理装置、情報処理装置の制御方法及びプログラムに関する。
操作入力装置自体の状態に応じて所定数値範囲内の数値を出力する操作入力装置を含んでなる情報処理装置が知られている。例えば、コントローラの状態を検出するためのセンサ(加速度センサやジャイロ等)が取り付けられたコントローラを含み、センサの検出結果を示す検出結果値(例えば0から1023までの範囲内の数値)がコントローラから入力されるエンタテインメントシステムが知られている。
上記の情報処理装置では、操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行わせることが可能である。例えば、上記のエンタテインメントシステムでは、ユーザがコントローラの姿勢を変化させたり、移動させることによってセンサの検出結果値が変化するため、例えば、センサの検出結果値が基準値(コントローラの基準状態に対応する検出結果値:例えば511)から増加した場合には、ゲーム空間内のオブジェクトを前方にその増加量に応じた距離だけ移動させ、センサの検出結果値が基準値から減少した場合には、ゲーム空間内のオブジェクトを後方にその減少量に応じた距離だけ移動させるようにし、ユーザがコントローラの状態を変化させることによって、オブジェクトの前方又は後方方向への移動及びその移動距離を指示できるようなゲームを実現することも可能である。しかしながら、この場合、1)コントローラの持ち方はユーザごとに異なり、コントローラの基準状態はユーザごとに異なること、2)センサの特性は個々のセンサごとにばらつきがあり、また、周囲の温度によって変化すること、3)コントローラに対するセンサの取り付け状態は個々のコントローラごとに異なり、コントローラが水平な状態である場合にセンサも水平な状態となるように取り付けられているとは必ずしも限らないこと、などを考慮して、ユーザが好適に操作を行えるように図る必要がある。
本発明は上記課題に鑑みてなされたものであって、その目的は、操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行う情報処理装置において、ユーザが好適に操作を行えるように図ることが可能になる情報処理装置、情報処理装置の制御方法及びプログラムを提供することにある。
上記課題を解決するために、本発明に係る情報処理装置は、操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置であって、前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段と、前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得する基準値取得手段と、前記基準値取得手段によって取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定する有効範囲決定手段と、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得する対応データ取得手段と、を含み、前記対応データ取得手段によって取得されたデータが前記処理に供されることを特徴とする。
また、本発明に係る情報処理装置の制御方法は、操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置の制御方法であって、「前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段」の出力内容を取得するためのステップと、前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得するための基準値取得ステップと、前記基準値取得ステップにおいて取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定するための有効範囲決定ステップと、前記状態情報出力手段によって出力される数値が、前記有効範囲決定ステップによって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得するための対応データ取得ステップと、を含み、前記対応データ取得ステップによって取得されたデータが前記処理に供されることを特徴とする。
また、本発明に係るプログラムは、操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置としてコンピュータを機能させるためのプログラムであって、「前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段」の出力内容を取得する手段、前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得する基準値取得手段、前記基準値取得手段によって取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定する有効範囲決定手段、及び、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得する対応データ取得手段、として前記コンピュータを機能させるためのプログラムである。
また、本発明に係る情報記憶媒体は、上記プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
本発明は、操作入力装置を含み、操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置に関するものである。本発明では、所定数値範囲内の数値が操作入力装置の状態に応じて操作入力装置から出力される。また、操作入力装置の基準状態に対応する、上記所定数値範囲内の数値が基準値として取得される。そして、その基準値に基づいて、上記所定数値範囲内の一部範囲である有効範囲が決定される。そして、操作入力装置から出力される数値が有効範囲内である場合には、その数値数値に対応するデータが取得され、操作入力装置から出力される数値が有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータが取得される。このデータは、上記処理(操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行うための処理)に供される。本発明によれば、操作入力装置の状態と、操作入力装置の基準状態と、の状態差に対応する出力を行う情報処理装置において、ユーザが好適に操作を行えるように図ることが可能になる。
また、本発明の一態様では、前記有効範囲は、前記基準値取得手段によって取得された基準値と所与の関係にある上限値及び/又は下限値を有する範囲としてもよい。
また、本発明の一態様では、前記対応データ取得手段は、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応する、第2の所定数値範囲内の数値を前記データとして取得し、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応する、前記第2の所定数値範囲内の数値を前記データとして取得するようにしてもよい。
また、本発明の一態様では、前記操作入力装置に備えられ、前記基準値に関する基準値情報を記憶する基準値情報記憶手段を含み、前記基準値取得手段は、前記基準値情報記憶手段に記憶される基準値情報に基づいて、前記基準値を取得するようにしてもよい。
また、本発明の一態様では、温度を検出する温度検出手段を含み、前記基準値取得手段は、前記温度検出手段によって検出される温度に基づいて、前記基準値を取得するようにしてもよい。
また、本発明の一態様では、前記基準値取得手段は、前記操作入力装置が所定状態であるか否かを判定する手段を含み、前記操作入力装置が前記所定状態であると判定されるタイミングにおいて前記状態出力手段から出力される数値に基づいて、前記基準値を取得するようにしてもよい。
また、本発明の一態様では、前記基準値取得手段は、前記操作入力装置に対して所定操作が行われたか否かを判定する手段を含み、前記操作入力装置に対して前記所定操作が行われたと判定されるタイミングにおいて前記状態出力手段から出力される数値に基づいて、前記基準値を取得するようにしてもよい。
以下、本発明の実施形態について図面に基づき詳細に説明する。ここでは、映像を再生する映像再生装置、音楽を再生する音楽再生装置や、ゲームを実行するゲーム装置等として機能するエンタテインメントシステムに本発明を適用した場合の例について説明する。
図1は、本発明の実施形態に係るエンタテインメントシステム(情報処理装置)のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム10は、MPU(Micro Processing Unit)11と、メインメモリ20と、画像処理部24と、モニタ26と、入出力処理部28と、音声処理部30と、スピーカ32と、光ディスク読み取り部34と、光ディスク36と、ハードディスク38と、インタフェース(I/F)40,44と、コントローラ42と、カメラユニット46と、ネットワークインタフェース(I/F)48と、を含んで構成されるコンピュータシステムである。
図2はMPU11の構成を示す図である。図2に示すように、MPU11は、メインプロセッサ12と、サブプロセッサ14a,14b,14c,14d,14e,14f,14g,14hと、バス16と、メモリコントローラ18と、インタフェース(I/F)22と、を含んで構成される。
メインプロセッサ12は、図示しないROM(Read Only Memory)に記憶されるオペレーティングシステム、例えばDVD(Digital Versatile Disk)−ROM等の光ディスク36から読み出されるプログラム及びデータや、ネットワークからネットワークインタフェース48を介して供給されるプログラム及びデータ等に基づいて、サブプロセッサ14a乃至14hに対する制御を行う。
サブプロセッサ14a乃至14hは、メインプロセッサ12からの指示に従って各種情報処理を行う。例えば、サブプロセッサ14a乃至14hは、エンタテインメントシステム10の各部を、例えばDVD−ROM等の光ディスク36から読み出されるプログラム及びデータや、ネットワークからネットワークインタフェース48を介して供給されるプログラム及びデータ等に基づいて制御する。
バス16は、アドレス及びデータをエンタテインメントシステム10の各部でやり取りするためのものである。メインプロセッサ12、サブプロセッサ14a乃至14h、メモリコントローラ18、インタフェース22は、バス16を介して相互にデータ授受可能に接続される。
メモリコントローラ18は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、メインメモリ20へのアクセスを行う。メインメモリ20には、光ディスク36やハードディスク38から読み出されたプログラム及びデータや、ネットワークからネットワークインタフェース48を介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ20はメインプロセッサ12やサブプロセッサ14a乃至14hの作業用としても用いられる。
インタフェース22には画像処理部24及び入出力処理部28が接続される。メインプロセッサ12及びサブプロセッサ14a乃至14hと、画像処理部24又は入出力処理部28と、の間のデータ授受はインタフェース22を介して行われる。
画像処理部24は、GPU(Graphical Processing Unit)とフレームバッファとを含んで構成される。GPUは、メインプロセッサ12やサブプロセッサ14a乃至14hから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ26に出力される。なお、モニタ26には例えば家庭用テレビ受像機が用いられる。
入出力処理部28には、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40,44、ネットワークインタフェース48が接続される。入出力処理部28は、メインプロセッサ12及びサブプロセッサ14a乃至14hと、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース(I/F)40,44、ネットワークインタフェース48と、の間のデータ授受を制御する。
音声処理部30は、SPU(Sound Processing Unit)とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク36やハードディスク38から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。SPUは、これらの各種音声データを再生してスピーカ32から出力させる。なお、スピーカ32には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
光ディスク読み取り部34は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、光ディスク36に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム10は、光ディスク36以外の他の情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
光ディスク36は例えばDVD−ROM等の一般的な光ディスクである。また、ハードディスク38は一般的なハードディスク装置である。光ディスク36やハードディスク38には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
ネットワークインタフェース48は入出力処理部28とネットワークとに接続されており、エンタテインメントシステム10がネットワークを介して他のエンタテインメントシステム10とデータ通信するのを中継する。
インタフェース40,44は、コントローラ42やカメラユニット46等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えば、各種周辺機器を無線接続するためのBluetooth(商標)インタフェースや、各種周辺機器を有線接続するためのUSB(Universal Serial Bus)インタフェースが用いられる。
カメラユニット46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を、例えばJPEG(Joint Photographic Experts Group)形式の画像データとして、所定時間(例えば1/60秒)ごとに入力する。例えば、カメラユニット46は、レンズをプレイヤに向けた状態でモニタ26の上に設置され、ケーブルを介してインタフェース44に接続される。
コントローラ42は汎用操作入力装置であり、ユーザが各種操作(例えばゲーム操作)を入力するために用いられる。図3はコントローラ42の外観を示す斜視図である。図3に示すように、コントローラ42は長方形薄箱状に形成されている。コントローラ42の表面42aの左側には方向キー50が設けられ、右側にはボタン52A〜52Dからなるボタン群52が設けられている。また、コントローラ42の一側面には補助ボタン54L,54Rが設けられている。なお、コントローラ42には、プログラム実行開始の指示などを行うためのスタートボタン、各種モードを切替える指示などを行うためのセレクトボタンや、傾倒操作可能に構成されるスティック状の操作部材である操作スティック等、他の操作部材が設けられるようにしてもよい。
また、コントローラ42には、その長手方向の中央にジャイロ58が内蔵されており、またその側方に加速度センサ56も内蔵されている。
加速度センサ56は、互いに直交する3方向に対する加速度を検知する3軸加速度センサである。すなわち、加速度センサ56は、図4に示すように、コントローラ42の長手方向であるX軸方向の、重力やコントローラ42の移動に起因する加速度と、コントローラ42の奥行き方向(短手方向)であるY軸方向の、重力やコントローラ42の移動に起因する加速度と、コントローラ42の厚さ方向であるZ軸方向の、重力やコントローラ42の移動に起因する加速度と、を検知する。
加速度センサ56は、検知された加速度に応じた電圧を出力する。図5は、加速度センサ56が検知するいずれかの軸に対する加速度と、検知した加速度に応じて出力する電圧値と、の対応関係を模式的に示すグラフである。図5に示すように、加速度センサ56は加速度に略比例する電圧値を出力し、加速度を検知しない状態では基準電圧Voを出力する。また、加速度センサ56は軸正方向に対する加速度を検知した場合には基準電圧Voより高い電圧を出力し、軸負方向に対する加速度を検知した場合には基準電圧Voより低い電圧を出力する。このため、出力される電圧値の基準電圧Voに対する高低により、各軸の正負いずれの方向に加速度が生じているかを検知することができる。なお、加速度センサ56は軸正又は負方向に対する最大3G(G:重力加速度に相当する加速度)の加速度を検知可能になっており、軸正方向に対する3Gの加速度を検知した場合には最大電圧(加速度センサ56の電源電圧)を出力し、軸負方向に対する3G(すなわち、軸正方向に対する−3G)の加速度を検知した場合には最小電圧(0)を出力する。また、エンタテインメントシステム10には、加速度センサ56の出力電圧を10ビットで量子化することによって得られるディジタル値が入力される。すなわち、エンタテインメントシステム10では加速度センサ56の出力電圧が0から1023までの1024段階のディジタル値で表される。ディジタル値0は最小電圧に対応しており、ディジタル値1023は最大電圧に対応している。またディジタル値511は基準電圧Voに対応している。以下では、各軸方向の加速度に応じた出力電圧を示すディジタル値のことを「加速度値」と記載する。
エンタテインメントシステム10では、3つの軸方向の加速度に基づいてコントローラ42の姿勢が検知される。すなわち、コントローラ42がX軸に対してどれだけ回転したか(符号YU及びYD:図4参照)、Y軸に対してどれだけ回転したか(符号XU及びXD:図4参照)を検知することができる。また、コントローラ42が鉛直方向に移動する際の加速度も検知することができる(符号ZU及びZD:図4参照)。これにより、コントローラ42が鉛直方向に持ち上げられたり、或いはコントローラ42が鉛直方向に置かれたりしたことを検知することができる。
ジャイロ58は、コントローラ42のZ軸周りの回転の角速度ωを検知し、当該角速度ωの情報を出力する。エンタテインメントシステム10では、このジャイロ58の出力を一定時間ごとでサンプリングし、積分演算を行うことで、コントローラ42のZ軸周りの回転の変位量を検知することができる。
入出力処理部28は、所定時間(例えば1/60秒)ごとにコントローラ42の状態を判断し、その結果を表す操作信号をMPU11に供給する。MPU11は、ユーザの操作内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム10は複数のコントローラ42を接続可能に構成され、各コントローラ42から入力される操作信号に基づいて、MPU11が各種処理を実行する。
上記構成を有するエンタテインメントシステム10では、コントローラ42に加速度センサ56及びジャイロ58が取り付けられているので、コントローラ42の姿勢を変えたり、移動させたりすることで、それら加速度センサ56及びジャイロ58の出力に変化を与えることができる。そして、加速度センサ56及びジャイロ58の出力は操作信号としてエンタテインメントシステム10に入力される。このため、エンタテインメントシステム10では、例えば、ユーザがコントローラ42の姿勢を変えたり、移動させたりすると、その変化量に応じた変化がゲーム画面に与えられるゲームを実現することができる。
図6は、エンタテインメントシステム10で実現されるゲームのゲーム画面の一例を示している。このゲーム画面60には、オブジェクト62が配置されたゲーム空間を所与の視点から見た様子が表されている。
このゲームでは、ユーザが、コントローラ42を自然に持った状態(基準状態)からコントローラ42の状態を変化させることによって、Y軸方向の加速度値が変化すると、オブジェクト62がその変化量に応じて移動する様子がゲーム画面60に表される。より具体的には、Y軸方向の加速度値が増加するように、コントローラ42の状態が基準状態から変化すると、その増加量に応じた距離だけオブジェクト62が前方(ゲーム画面60の奥行き方向)に押される様子がゲーム画面60に表される。また、Y軸方向の加速度値が減少するように、コントローラ42の状態が基準状態から変化すると、その減少量に応じた距離だけオブジェクト62が後方(ゲーム画面60の手前方向)に引っ張られる様子がゲーム画面60に表される。
ところで、コントローラ42の持ち方はユーザごとに異なる。すなわち、コントローラ42の基準状態(基準姿勢)はユーザごとに異なる。また、加速度センサ56の特性は個体ごとにばらつきがある。例えば、ある軸方向に同じ加速度が生じた場合であっても、加速度センサ56の出力電圧は異なる場合がある。また、加速度センサ56の特性は周囲の温度によって変化する場合がある。また、コントローラ42には、コントローラ42が水平状態に置かれた場合に加速度センサ56も水平状態となるように加速度センサ56が取り付けられているとは限らない。また、加速度センサ56のコントローラ42への取り付け状態も個々のコントローラ42ごとに異なる。このため、上記のようなゲームを実現するにあたって、Y軸方向の加速度値の増減量の判断基準となる基準値を一定の値(例えば511)にしてしまうと、ユーザのコントローラ42の持ち方、個々のコントローラ42(加速度センサ56)や周囲の温度等によって、ユーザの操作感が大きく異なることとなってしまう場合があり、適当でない。したがって、上記のようなゲームを実現するにあたっては、上記基準値をこれらの点を考慮して設定する必要がある。すなわち、キャリブレーションを行う必要がある。
なお、キャリブレーションを行うと、ユーザのコントローラ42の持ち方や個々のコントローラ42(加速度センサ56)によって、基準値が異なることになる。この場合、例えば図7(a)に示すように、基準値が、加速度値の取り得る範囲(0〜1023)の中間値(511)よりも小さい値(411)に設定されると、加速度値の最大増加量(612)となり、最大減少量(411)となる。このため、この場合、ユーザはオブジェクト62を前方に移動させる場合には、最大増加量(612)に対応する移動距離まで指示可能であるのに対し、オブジェクト62を後方に移動させる場合には、最大減少量(411)に対応する移動距離までしか指示できなくなる。すなわち、オブジェクト62を前方に移動させる場合と後方に移動させる場合とでユーザが指示可能な最大移動距離が異なることになる。
同様に、例えば図7(b)に示すように、基準値が、加速度値の取り得る範囲(0〜1023)の中間値(511)よりも大きい値(例えば611)に設定されると、加速度値の最大増加量(412)となり、最大減少量(611)となる。このため、この場合、ユーザはオブジェクト62を後方に移動させる場合には、最大減少量(611)に対応する移動距離まで指示可能であるのに対し、オブジェクト62を前方に移動させる場合には、最大増加量(412)に対応する移動距離までしか指示できなくなる。
また、図7(a)場合には、加速度値の最大増加量が612となるのに対し、図7(b)の場合には、加速度値の最大増加量が412となるように、基準値が変化することによって加速度値の最大増加量は変化する。このため、基準値が変化することによって、ユーザが指示可能な前方方向への最大移動距離も変化してしまうことになる。同様に、図7(a)場合には、加速度値の最大減少量が411となるのに対し、図7(b)の場合には、加速度値の最大減少量が611となるように、基準値が変化することによって加速度値の最大減少量は変化する。すなわち、基準値が変化することによって、ユーザが指示可能な後方方向への最大移動距離も変化してしまうことになる。
以上より、上記のようなキャリブレーションを行うと、ユーザに操作上の違和感を与えてしまうおそれがある。以下、上記のようなキャリブレーションを行っても、そのような違和感をユーザに与えないようにするための技術について説明する。
図8は、エンタテインメントシステム10において実現される機能ブロックのうち、本発明に関連するものを主として示す図である。同図に示すように、エンタテインメントシステム10は、基礎キャリブレーション情報記憶部70(基準値情報記憶手段)と、状態情報出力部72と、キャリブレーション情報取得部74(基準値取得手段)と、キャリブレーション情報記憶部76と、有効範囲決定部78と、対応データ取得部80と、アプリケーション処理実行部82と、を含んで構成される。これらの機能ブロックは、例えばROMに記憶されるプログラム、光ディスク36から読み出されるプログラムや、ネットワークからネットワークインタフェース48を介して供給されるプログラムがMPU11によって実行されることによって実現される。
[1.基礎キャリブレーション情報記憶部]
基礎キャリブレーション情報記憶部70は、例えばコントローラ42に含まれるEEPROM(Electronically Erasable and Programmable Read Only Memory)を主として実現される。基礎キャリブレーション情報記憶部70は基礎キャリブレーション情報(基準値情報)を記憶する。本実施の形態の場合、コントローラ42が水平に置かれた状態におけるY軸方向の加速度値が基礎基準値(基礎キャリブレーション情報)として記憶される。この基礎キャリブレーション情報は、例えばコントローラ42の生産ラインにおいて取得され、コントローラ42に含まれるEEPROMに記憶される。なお、基礎キャリブレーション情報記憶部70は省略することも可能である。
[2.状態情報出力部]
状態情報出力部72は加速度センサ56やジャイロ58を主として実現される。状態情報出力部72は、所定数値範囲内の数値をコントローラ42の状態(姿勢等)に応じて出力する。本実施の形態の場合、状態情報出力部72は、例えばY軸方向の加速度値(0から1023までの範囲内の数値)を出力する。
[3.キャリブレーション情報取得部及び記憶部]
キャリブレーション情報取得部74はMPU11を主として実現される。キャリブレーション情報記憶部76は例えばメインメモリ20やハードディスク38を主として実現される。キャリブレーション情報取得部74は、各コントローラ42ごとにキャリブレーション情報を取得する。キャリブレーション情報記憶部76は、キャリブレーション情報取得部74によって取得された各コントローラ42のキャリブレーション情報を記憶する。
図9は、キャリブレーション情報記憶部76の記憶内容の一例を示している。図9に示すように、キャリブレーション情報記憶部76には、コントローラIDに対応づけてキャリブレーション情報が記憶される。本実施の形態の場合、Y軸方向の加速度値に対する基準値がキャリブレーション情報として記憶される。なお、コントローラIDとしては、例えば、コントローラ42がBluetooth(商標)インタフェースを介してエンタテインメントシステム10に接続される場合には、各Bluetooth(商標)機器に固有の番号(BDアドレス)を用いるようにしてもよい。
本実施の形態の場合、キャリブレーション情報取得部74は、ゲーム開始前やゲーム中の所与のタイミングに、例えば「コントローラを基準姿勢で持って、いずれかのボタンを押して下さい。」のようなメッセージを画面に表示させる。そして、いずれかのボタンの押下が検知されたら、そのタイミングにおけるY軸方向の加速度値を取得し、そのコントローラ42の基準値(キャリブレーション情報)としてキャリブレーション情報記憶部76に記憶させる。
このようにして基準値(キャリブレーション情報)を取得することにより、個々の加速度センサ56の特性のばらつき、個々のコントローラ42における加速度センサ56の取り付け状態や、エンタテインメントシステム10(加速度センサ56)の周囲の温度はもとより、ユーザのコントローラ42の持ち方をも考慮したキャリブレーションを行うことができるようになる。
なお、ユーザがコントローラ42を操作する必要がないタイミングでは、ユーザがコントローラ42を基準姿勢で持っていることが期待できる。例えば、ゲーム開始前(ゲーム起動時)には、ユーザがコントローラ42を基準姿勢で持っていることが期待できる。また例えば、ゲーム開始後においても、所定のムービー(ゲームストーリーをユーザに説明するためのムービー等)の再生中には、ユーザがコントローラ42を基準姿勢で持っていることが期待できる。また例えば、複数のステージから構成されるゲームの場合であれば、各ステージの開始前にはユーザがコントローラ42を基準姿勢で持っていることが期待できる。このため、キャリブレーション情報取得部74は、そのようなタイミングにおいて、上記のメッセージを表示することなく自動的に、Y軸方向の加速度値を取得し、そのコントローラ42の基準値としてキャリブレーション情報記憶部76に記憶させるようにしてもよい。この場合、例えば「コントローラのキャリブレーション中です。コントローラを動かさないで下さい。」のようなメッセージを画面に出力するようにしてもよい。
また、キャリブレーション情報取得部74は、ユーザ自体の姿勢(コントローラ42の基準姿勢)が変化したか否かを判断し、ユーザ自体の姿勢(コントローラ42の基準姿勢)が変化したと判断される場合には、コントローラ42の基準値の再取得を行うようにしてもよい。このとき、ユーザ自体の姿勢(コントローラ42の基準姿勢)が変化したか否かは、例えば、所定時間ごとに、現在から所定期間前までの間における、加速度センサ56やジャイロ58の出力の統計値(例えば平均値)を取得しておき、その統計値に基づいて判断するようにすればよい。例えば、その統計値が大きく変化した場合には、ユーザ自体の姿勢(コントローラ42の基準姿勢)が変化したと判断するようにすればよい。このようにすれば、例えば、ユーザが座っている状態から寝ている状態になった場合のように、ユーザ自体の姿勢が変化した場合に、コントローラ42の基準値の再取得が行われるようになる。すなわち、ユーザ自体の姿勢変化(コントローラ42の基準姿勢変化)を考慮したキャリブレーションが行われるようになる。
なお、キャリブレーション情報取得部74は、所与のタイミングにおいて、コントローラ42のEEPROM(基礎キャリブレーション情報記憶部72)から基礎基準値(基礎キャリブレーション情報)を読み出し、そのコントローラ42の基準値(キャリブレーション情報)としてキャリブレーション情報記憶部76に記憶させるようにしてもよい。ここで、「所与のタイミング」とは、例えば、そのコントローラ42が始めてエンタテインメントシステム10に接続されたタイミングである。このようにしてキャリブレーション情報を取得しても、少なくとも、個々の加速度センサ56の特性のばらつきや、個々のコントローラ42における加速度センサ56の取り付け状態を考慮したキャリブレーションを行うことが可能である。
また、キャリブレーション情報取得部74は、コントローラ42が水平に置かれた状態であるか否かを判定し、コントローラ42が水平に置かれた状態であると判定される場合に、Y軸方向の加速度値を取得し、そのコントローラ42の基準値(キャリブレーション情報)としてキャリブレーション情報記憶部76に記憶させるようにしてもよい。このようにしてキャリブレーション情報を取得しても、個々の加速度センサ56の特性のばらつきや、個々のコントローラ42における加速度センサ56の取り付け状態とともに、エンタテインメントシステム10(加速度センサ56)の周囲の温度を考慮したキャリブレーションを行うことが可能になる。
ここで、コントローラ42が水平に置かれた状態であるか否かは、例えば、1)X軸方向の加速度がほぼ0G(0G±Δg)となるような状態が所定期間にわたって継続したとの条件、2)Y軸方向の加速度がほぼ0G(0G±Δg)となるような状態が所定期間にわたって継続したとの条件、3)Z軸方向の加速度がほぼ−1G(−1G±Δg)となるような状態が所定期間にわたって継続したとの条件、の全部又は一部が満足されたか否かを判断することによって判断するようにすればよい。
また、ユーザがコントローラ42を持っている場合には、加速度センサ56やジャイロ58の出力がある程度変化するものと考えられるのに対し、コントローラ42が机等の上に置かれた場合には、加速度センサ56やジャイロ58の出力がほぼ一定になる状態(ほとんど変化しない状態)が継続するものと考えられる。このため、加速度センサ56やジャイロ58の出力がほぼ一定になる状態が所定期間継続した場合に、コントローラ42が水平に置かれた状態であると判断するようにしてもよい。
また、例えば「コントローラを床等の水平面に置いた後、いずれかのボタンを押して下さい。」のようなメッセージを画面に表示し、その後、いずれかのボタンの押下が検出されたら、コントローラ42が水平に置かれた状態であると判断するようにしてもよい。
また、コントローラ42が水平な状態であると判断された場合には、その際における加速度センサ56やジャイロ58の出力を基準出力としてメインメモリ20やハードディスク38等に記憶させておくようにしてもよい。そして、その後は、加速度センサ56やジャイロ58の出力と、上記基準出力と、を比較することによって、コントローラ42が水平な状態であるか否かを判断するようにしてもよい。例えば、加速度センサ56やジャイロ58の出力と、上記基準出力と、の差が小さい場合に、コントローラ42が水平な状態であると判断するようにしてもよい。
また、キャリブレーション情報取得部74は、前回のキャリブレーション情報取得時から温度が一定以上変化しているか否かを判定し、温度が一定以上変化している場合には、基準値(キャリブレーション情報)の再取得を行うようにしてもよい。このようにすることにより、エンタテインメントシステム10(加速度センサ56)の周囲の温度変化を考慮したキャリブレーションを実現することができる。なお、前回のキャリブレーション情報取得時から温度が一定以上変化したか否かは、エンタテインメントシステム10に備えられる温度センサ(例えば、コントローラ42内に備えられる温度センサ)の検出結果に基づいて判定するようにすればよい。
[4.有効範囲決定部]
有効範囲決定部78はMPU11を主として実現される。有効範囲決定部78は、キャリブレーション情報記憶部76に記憶されるキャリブレーション情報に基づいて、状態情報出力部72によって出力される数値に対する有効範囲を決定する。ここで、有効範囲は、例えば、状態情報出力部72によって出力され得る数値範囲内の一部であって、かつ、キャリブレーション情報記憶部76に記憶される基準値と所与の関係にある上限値及び/又は下限値を有するような範囲である。
本実施の形態の場合、有効範囲決定部78は、キャリブレーション情報記憶部76に記憶される基準値に基づいて、Y軸方向の加速度値に対する有効範囲を決定する。図10は、この有効範囲について説明するための図である。図10に示すように、有効範囲の上限値は、キャリブレーション情報記憶部76に記憶される基準値に128を加算することに算出される。また、有効範囲の下限値は、キャリブレーション情報記憶部76に記憶される基準値から127を減算することによって算出される。例えば、基準値が611である場合、上限値が739であり、かつ、下限値が484である範囲が有効範囲として決定される。
[5.対応データ取得部]
対応データ取得部80はMPU11を主として実現される。対応データ取得部80は、状態情報出力部72によって出力された数値が、有効範囲決定部78によって決定された有効範囲内に含まれるか否かを判定する。そして、対応データ取得部80は、状態情報出力部72によって出力された数値が有効範囲内に含まれる場合には、該数値に対応するデータを取得する。一方、対応データ取得部80は、状態情報出力部72によって出力された数値が有効範囲内に含まれない場合には、該有効範囲の上限値又は下限値に対応するデータを取得する。
本実施の形態の場合、対応データ取得部80は、状態情報出力部72によって出力された数値が有効範囲内に含まれる場合には、該数値に対応する、0から255までの範囲(第2の所定数値範囲)内の数値を上記データとして取得する。このとき、図10に示すように、基準値が127に、有効範囲の上限値が255に、下限値が0にそれぞれ対応するようにして、上記データの取得が行われる。また、対応データ取得部80は、状態情報出力部72によって出力された数値が有効範囲の上限値よりも大きい場合には、255を上記データとして取得し、状態情報出力部72によって出力された数値が有効範囲の下限値よりも小さい場合には、0を上記データとして取得する。このようにして、加速度値は0から255までの範囲内の数値に正規化される。
[6.アプリケーション処理実行部]
アプリケーション処理実行部82はMPU11を主として実現される。アプリケーション処理実行部82は、各種アプリケーション処理を実行する。このアプリケーション処理には、コントローラ42の状態と、その基準状態と、の状態差に対応する出力を行うための出力制御処理が含まれる。この出力制御処理には、対応データ取得部80によって取得されたデータが供される。
本実施の形態の場合、アプリケーション処理実行部82は、ユーザにゲームを提供するためのゲーム処理を実行する。より具体的には、対応データ取得部80によって取得された数値(正規化後の加速度値)と、127(正規化後の加速度値の基準値)と、の差に対応する距離だけ、オブジェクト62が前方又は後方方向に対移動する様子をゲーム画面60に表示出力させるための処理が実行される。なお、本実施の形態の場合、図10に示すようにして加速度値が正規化されるため、状態情報出力部72によって出力された数値が、有効範囲決定部78によって決定された有効範囲内に含まれる場合には、該数値と、キャリブレーション情報記憶部76に記憶される基準値と、の差に対応する距離だけオブジェクト62が前方又は後方方向に移動する様子がゲーム画面60に表されることになる。一方、状態情報出力部72によって出力された数値が、有効範囲決定部78によって決定された有効範囲内に含まれない場合には、該数値と、キャリブレーション情報記憶部76に記憶される基準値と、の差に対応する距離だけオブジェクト62が前方又は後方方向に移動する様子のゲーム画面60への表示出力が制限されることになる。より具体的には、状態情報出力部72によって出力された数値が有効範囲の上限値よりも大きい場合には、該上限値と、キャリブレーション情報記憶部76に記憶される基準値と、の差に対応する距離だけオブジェクト62が前方に移動する様子がゲーム画面60に表示出力されることになる。同様に、状態情報出力部72によって出力された数値が有効範囲の下限値よりも小さい場合には、該下限値と、キャリブレーション情報記憶部76に記憶される基準値と、の差に対応する距離だけオブジェクト62が後方に移動する様子がゲーム画面60に表示出力されることになる。
図11及び図12は、エンタテインメントシステム10で実行される処理を示すフロー図である。この処理を実行するためのプログラムがMPU11によって実行されることによって、有効範囲決定部78や対応データ取得部80は実現される。
図11に示すように、この処理では、まずY軸方向の加速度値aが取得される(S101)。また、ユーザが使用しているコントローラ42のコントローラIDが取得される(S102)。そして、そのコントローラIDに対応するキャリブレーション情報(図9参照)が読み出され、基準値a0が取得される(S103)。そして、基準値a0に128を加算することによって、上限値uが取得される(S104)。また、基準値a0から127を減算することによって、下限値lが取得される(S105)。なお、S101乃至S105の処理が実行されることによって、有効範囲決定部80が実現される。
次に、加速度値aが上限値uよりも大きいか否かが判定される(S106)。加速度値aが上限値uよりも大きい場合には、加速度値aが255に更新される(S107)。一方、加速度値aが上限値u以下である場合には、加速度値aが下限値lよりも小さいか否かが判定される(S108)。そして、加速度値aが下限値lよりも小さい場合には、加速度値aが0に更新される(S109)。一方、加速度値aが下限値l以上である場合には、加速度値aがa−a0+127に更新される(S110)。S106乃至S110の処理が実行されることにより、加速度値aは0から255までの範囲内の数値に正規化されるようになっており(図10参照)、後のゲーム処理(アプリケーション処理)において加速度値aを用いやすくなるように図られている。なお、S106乃至S110の処理が実行されることによって、対応データ取得部80が実現される。
次に、オブジェクト62の移動方向が決定される。すなわち、正規化後の加速度値aが正規化後の基準値である127よりも大きいか否かが判定される(S111)。加速度値aが127よりも大きい場合には、オブジェクト62の移動方向が前方方向に設定される(S112)。一方、加速度値aが127以下である場合には、加速度値aが127よりも小さいか否かが判定される(S113)。そして、加速度値aが127よりも小さい場合には、オブジェクト62の移動方向が後方方向に設定される(S114)。
次に、オブジェクト62の移動距離が決定される。すなわち、正規化後の加速度値aと、正規化後の基準値である127と、の差Δaが算出され(S115)、その差Δaに基づいて移動距離が決定される(S116)。より具体的には、Δaの値が大きくなると、移動距離が長くなるようにして移動距離が決定される。
そして、オブジェクト62がゲーム空間内を、S111乃至S114の処理によって設定された方向に、S115及びS116の処理によって決定された移動距離だけ移動する様子を表すゲーム画面60が生成され、モニタ26に表示される(S117)。なお、S111乃至S117の処理は、アプリケーション処理実行部82によって実行されるアプリケーション処理(ゲーム処理)に相当している。
以上の処理が実行されることにより、エンタテインメントシステム10では、キャリブレーションが行われることによって基準値が変化しても、ユーザがオブジェクト62を前方に移動させる場合に指示可能な最大移動距離は常に一定の移動距離(増加量128に対応する距離)となり、ユーザがオブジェクト62を後方に移動させる場合に指示可能な最大移動距離も常に一定の移動距離(減少量127に対応する距離)となる。また、オブジェクト62を前方に移動させる場合と、オブジェクト62を後方に移動させる場合と、で指示可能な最大移動距離が常に略等しくなる。その結果、キャリブレーションが行われても、それに起因した操作上の違和感をユーザに感じさせないように図られている。
以上説明したように、エンタテインメントシステム10では、例えば、ユーザがコントローラ42の状態を基準状態から変化させることによって、ゲーム空間に配置されるオブジェクト62に対する移動指示を行うようなゲームを実現することができる。また、エンタテインメントシステム10では、個々の加速度センサ56の特性のばらつきや温度による変化、個々のコントローラ42における加速度センサ56の取り付け状態、ユーザごとのコントローラ42の持ち方を考慮して、キャリブレーションが行われるため、それらに起因してユーザの操作性が損なわれることがないように図られている。また特に、エンタテインメントシステム10では、上記のキャリブレーションを行うことに起因する違和感をユーザに感じさせないように図られている。
なお、本発明は以上に説明した実施の形態に限定されるものではない。
例えば、本実施の形態では、Y軸方向の加速度値のみをオブジェクト62の移動制御に用いるようにしたが、X軸方向やZ軸方向の加速度値をオブジェクト62の移動制御等に用いる場合には、X軸方向やZ軸方向の加速度値に対する基礎基準値や基準値を基礎キャリブレーション情報やキャリブレーション情報に含めるようにすればよい。
また例えば、加速度センサ56については、各軸方向に1Gの加速度が生じた場合の出力の変化(感度)が個々の加速度センサ56ごとに異なる場合があるため、各軸方向の感度を示す情報が、基礎キャリブレーション情報やキャリブレーション情報に含まれるようにしてもよい。そして、この情報に基づいてキャリブレーションが行われるようにしてもよい。こうすれば、キャリブレーションをより精密に行うことが可能になる。
また例えば、ジャイロ58の検出結果をオブジェクト62の移動制御等に用いる場合には、コントローラ42を所定の姿勢で置いた状態におけるジャイロ58の出力(基礎基準値)を示す情報や、コントローラ42をZ軸周りに角速度90deg/sで回転させた場合のジャイロ58の出力の変化(感度)を示す情報が基礎キャリブレーション情報やキャリブレーション情報に含まれるようにしてもよい。そして、これらの情報に基づいてキャリブレーションが行われるようにしてもよい。
また例えば、コントローラ42が所定の姿勢である場合における加速度センサ56やジャイロ58の出力(基礎基準値)や、コントローラ42に所定の状態変化が与えられた場合における加速度センサ56やジャイロ58の出力の変化(感度)は、周囲の温度によって異なる場合があるため、基礎キャリブレーション情報やキャリブレーション情報には、例えば、いくつかの代表温度(例えば、0℃,10℃,20℃,30℃)の各々における、又は、いくつかの温度範囲の各々における、加速度センサ56やジャイロ58の基礎基準値や感度を示す情報が含まれるようにしてもよい。こうすれば、キャリブレーションをより精密に行うことが可能になる。
また例えば、有効範囲決定部78では、次のようにして有効範囲が決定されるようにしてもよい。すなわち、例えば図13に示すように、所定の加速度変化(軸方向への2G分の加速度変化)に対応する加速度値の変化量(ΔA)を、基準値(611)に加算することによって上限値(611+ΔA)を算出するとともに、該変化量(ΔA)を、基準値(611)から減算することによって下限値(611−ΔA)を算出するようにしてもよい。このとき、加速度センサ56の感度を示す情報が基礎キャリブレーション情報やキャリブレーション情報として記憶されている場合には、その情報に基づいて、所定の加速度変化(2G分の加速度変化)に対応する加速度値の変化量(ΔA)を取得するようにしてもよい。加速度センサ56に関しては個々の加速度センサ56ごとに感度が異なる場合があるが、こうすれば、コントローラ42に取り付けられた加速度センサ56の感度を考慮しつつ、有効範囲を決定できるようになる。
また例えば、図10や図13に示すようにして有効範囲を決定する際において、基準値に所与の値(図10の場合であれば128)を加算してなる値が1023より大きくなってしまう場合や、基準値から所与の値(図10の場合であれば127)を減算してなる値が0よりも小さくなってしまう場合には、次のようにして有効範囲を決定してもよい。すなわち、例えば図14に示すように、基準値(950)に所与の値(128)を加算してなる値(1078)が1023より大きくなってしまう場合には、上限値を1023に決定するとともに、下限値を、上限値(1023)と基準値(950)との差(73)を基準値(950)から減算することによって得られる値(877)に決定するようにしてもよい。このようにして、上限値と基準値との間の幅が狭くなる分だけ、下限値と基準値との間の幅も狭くし、上限値と基準値との間の幅と、下限値と基準値との間の幅と、が略同じになるようにしてもよい。なお、基準値から所与の値を減算してなる値(下限値候補)が0よりも小さくなってしまう場合にも同様にして、上限値と基準値との間の幅と、下限値と基準値との間の幅と、が略同じになるようにすればよい。
なお、上限値と基準値との間の幅が狭くなってしまう場合であっても、下限値と基準値との間の幅は変化させないようにしてもよい。すなわち、例えば図15に示すように、基準値(950)に所与の値(128)を加算してなる値(1078)が1023より大きくなってしまう場合には、上限値を1023に決定するとともに、下限値を、基準値(950)から元々の所与の値(127)を減算することによって得られる値(823)に決定するようにしてもよい。同様に、下限値と基準値との間の幅が狭くなってしまう場合についても、上限値と基準値との間の幅は変化させないようにしてもよい。
または、上限値と基準値との間の幅が狭くなってしまう場合には、その分だけ、下限値と基準値との間の幅が広くなるようにしてもよい。すなわち、例えば図16に示すように、基準値に所与の値(128)を加算してなる値(1078)が1023より大きくなってしまう場合には、上限値と基準値との間の幅が狭くなる分(55)だけ、下限値と基準値との間の幅が、元々の幅(127)より広い幅(127+55)となるようにしてもよい。同様に、下限値と基準値との間の幅が狭くなってしまう場合についても、その分だけ、上限値と基準値との間の幅が広くなるようにしてもよい。
また例えば、有効範囲決定部78では、次のようにして有効範囲が決定されるようにしてもよい。すなわち、例えば図17に示すように、基準値(611)が、加速度値として出力され得る値範囲(0〜1023)の中間値(511)よりも大きい場合には、上限値を1023に決定するとともに、下限値を、上限値(1023)と基準値(611)との差(412)を基準値(611)から減算することによって得られる値(199)に決定するようにしてもよい。同様に、基準値が、加速度値として出力され得る値範囲(0〜1023)の中間値(511)よりも小さい場合には、下限値を0に決定するとともに、上限値を基準値の2倍の値に決定するようにしてもよい。このようにすれば、オブジェクト62を前方に移動させる場合と、オブジェクト62を後方に移動させる場合と、で指示可能な最大移動距離が常に略等しくなるように図ることが可能になるとともに、ユーザができる限り長い移動距離を指示できるように図ることが可能になる。なお、この場合にも、加速度値を0から255までの範囲内の数値に正規化することによって、後の処理(アプリケーション処理)において加速度値が用いやすくなるように図るとよい。
また例えば、キャリブレーション情報はゲーム終了後も保持しておき、次回ゲームプレイ時においても利用できるようにしてもよい。
また例えば、ユーザによって指示された場合や所定条件が満足された場合等の所与のタイミングにおいて、コントローラ42のEEPROM(基礎キャリブレーション情報記憶部70)に記憶される基礎キャリブレーション情報を再読み出しし、その基礎キャリブレーション情報によって、キャリブレーション情報記憶部76に記憶されるキャリブレーション情報を初期化するようにしてもよい。
また例えば、キャリブレーション情報取得部74、キャリブレーション情報記憶部76、有効範囲決定部78及び対応データ取得部80の全部又は一部はコントローラ42において実現されるようにしてもよい。
また例えば、以上の説明では、加速度値を0から255までの範囲内の数値に正規化する場合に、上限値が255に、下限値が0に、基準値が127にそれぞれ対応するようにして、かつ、下限値から基準値までの範囲内の数値が、0から127までの範囲内の数値に均等に割り当てられ、基準値から上限値までの範囲内の数値が、127から255までの範囲内の数値に均等に割り当てられるようにして、かかる正規化を行うようにしたが、下限値から基準値までの範囲内の数値は、0から127までの範囲内の数値に均等に割り当てなくてもよいし、また、基準値から上限値までの範囲内の数値は、127から255までの範囲内の数値に均等に割り当てなくてもよい。例えば、基準値(例えば611)付近については、連続する所定数の数値(例えば612〜619)が、127から255までの範囲内の一の数値(例えば128)に割り当てられるようにするとともに、上限値(例えば867)付近については、一の数値(例えば866)が、127から255までの範囲内の一の数値(例えば254)に割り当てられるようにして、上記正規化が行われるようにしてもよい。この例のようにして、加速度値が基準値付近で比較的大きく変化しても、ゲーム画面には比較的小さな変化が表れるようにしてもよい。
また例えば、エンタテインメントシステム10において実行されるアプリケーション処理はゲーム処理に限られない。また例えば、本発明はエンタテインメントシステム10以外の情報処理装置(コンピュータ)にも適用することができる。本発明は、操作入力装置の状態と、該操作入力装置の基準状態と、の状態差に対応する出力を行う情報処理装置に適用することができるものである。
本実施形態に係るエンタテインメントシステムのハードウェア構成を示す図である。 MPUの構成を示す図である。 コントローラの一例を示す斜視図である。 コントローラにより検出されるデータを説明する図である。 加速度センサが検知する加速度と加速度センサが出力する電圧との関係を示すグラフである。 ゲーム画面の一例を示す図である。 加速度値と基準値との関係について説明するための図である。 本実施の形態に係るエンタテインメントシステムの機能ブロック図である。 キャリブレーション情報記憶部の記憶内容を示す図である。 有効範囲について説明するための図である。 エンタテインメントシステムにおいて実行される処理について示すフロー図である。 エンタテインメントシステムにおいて実行される処理について示すフロー図である。 有効範囲について説明するための図である。 有効範囲について説明するための図である。 有効範囲について説明するための図である。 有効範囲について説明するための図である。 有効範囲について説明するための図である。
符号の説明
10 エンタテインメントシステム、11 MPU、12 メインプロセッサ、14a,14b,14c,14d,14e,14f,14g,14h サブプロセッサ、16 バス、18 メモリコントローラ、20 メインメモリ、22 インタフェース、24 画像処理部、26 モニタ、28 入出力処理部、30 音声処理部、32 スピーカ、34 光ディスク読み取り部、36 光ディスク、38 ハードディスク、40 インタフェース、42 コントローラ、42a 表面、43 姿勢情報出力部、44 インタフェース、46 カメラユニット、48 ネットワークインタフェース、50 方向キー、52 ボタン群、52A,52B,52C,52D ボタン、54L,54R 補助ボタン、56 加速度センサ、58 ジャイロ、60 ゲーム画面、62 オブジェクト、70 基礎キャリブレーション情報記憶部、72 状態情報出力部、74 キャリブレーション情報取得部、76 キャリブレーション情報記憶部、78 有効範囲決定部、80 出力制御処理実行部、82 アプリケーション処理実行部。

Claims (9)

  1. 操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置であって、
    前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段と、
    前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得する基準値取得手段と、
    前記基準値取得手段によって取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定する有効範囲決定手段と、
    前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得する対応データ取得手段と、
    を含み、
    前記対応データ取得手段によって取得されたデータが前記処理に供される、
    ことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記有効範囲は、前記基準値取得手段によって取得された基準値と所与の関係にある上限値及び/又は下限値を有する範囲であることを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置において、
    前記対応データ取得手段は、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応する、第2の所定数値範囲内の数値を前記データとして取得し、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応する、前記第2の所定数値範囲内の数値を前記データとして取得することを特徴とする情報処理装置。
  4. 請求項1乃至3のいずれかに記載の情報処理装置において、
    前記操作入力装置に備えられ、前記基準値に関する基準値情報を記憶する基準値情報記憶手段を含み、
    前記基準値取得手段は、前記基準値情報記憶手段に記憶される基準値情報に基づいて、前記基準値を取得する、
    ことを特徴とする情報処理装置。
  5. 請求項1乃至4のいずれかに記載の情報処理装置において、
    温度を検出する温度検出手段を含み、
    前記基準値取得手段は、前記温度検出手段によって検出される温度に基づいて、前記基準値を取得する、
    ことを特徴とする情報処理装置。
  6. 請求項1乃至5のいずれかに記載の情報処理装置において、
    前記基準値取得手段は、前記操作入力装置が所定状態であるか否かを判定する手段を含み、前記操作入力装置が前記所定状態であると判定されるタイミングにおいて前記状態出力手段から出力される数値に基づいて、前記基準値を取得することを特徴とする情報処理装置。
  7. 請求項1乃至6のいずれかに記載の情報処理装置において、
    前記基準値取得手段は、前記操作入力装置に対して所定操作が行われたか否かを判定する手段を含み、前記操作入力装置に対して前記所定操作が行われたと判定されるタイミングにおいて前記状態出力手段から出力される数値に基づいて、前記基準値を取得することを特徴とする情報処理装置。
  8. 操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置の制御方法であって、
    前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段、の出力内容を取得するためのステップと、
    前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得するための基準値取得ステップと、
    前記基準値取得ステップにおいて取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定するための有効範囲決定ステップと、
    前記状態情報出力手段によって出力される数値が、前記有効範囲決定ステップによって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得するための対応データ取得ステップと、
    を含み、
    前記対応データ取得ステップによって取得されたデータが前記処理に供される、
    ことを特徴とする情報処理装置の制御方法。
  9. 操作入力装置を含み、前記操作入力装置の状態と、前記操作入力装置の基準状態と、の状態差に対応する出力を行うための処理を実行する情報処理装置としてコンピュータを機能させるためのプログラムであって、
    前記操作入力装置に備えられ、所定数値範囲内の数値を前記操作入力装置の状態に応じて出力する状態情報出力手段、の出力内容を取得する手段、
    前記操作入力装置の基準状態に対応する、前記所定数値範囲内の数値を基準値として取得する基準値取得手段、
    前記基準値取得手段によって取得された基準値に基づいて、前記所定数値範囲内の一部範囲である有効範囲を決定する有効範囲決定手段、及び、
    前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内である場合には、前記状態情報出力手段によって出力される数値に対応するデータを取得し、前記状態情報出力手段によって出力される数値が、前記有効範囲決定手段によって決定された有効範囲内でない場合には、該有効範囲の上限値又は下限値に対応するデータを取得する対応データ取得手段、
    として前記コンピュータを機能させるためのプログラム。
JP2006142148A 2006-05-22 2006-05-22 情報処理装置、情報処理装置の制御方法及びプログラム Pending JP2007310840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006142148A JP2007310840A (ja) 2006-05-22 2006-05-22 情報処理装置、情報処理装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006142148A JP2007310840A (ja) 2006-05-22 2006-05-22 情報処理装置、情報処理装置の制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2007310840A true JP2007310840A (ja) 2007-11-29

Family

ID=38843604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006142148A Pending JP2007310840A (ja) 2006-05-22 2006-05-22 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2007310840A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009153583A (ja) * 2007-12-25 2009-07-16 Saiui Group Ltd 人体動作を感知可能な電子ゲームコントローラ
JP2010220950A (ja) * 2009-03-25 2010-10-07 Nintendo Co Ltd ゲーム装置およびゲームプログラム
JP2012110670A (ja) * 2010-11-01 2012-06-14 Nintendo Co Ltd ゲームシステム、操作装置、およびゲーム処理方法
JP2013196568A (ja) * 2012-03-22 2013-09-30 Nintendo Co Ltd ゲームシステム、ゲーム処理方法、ゲーム装置、およびゲームプログラム
JP2014146354A (ja) * 2014-03-20 2014-08-14 Sony Computer Entertainment Inc プログラム、情報入力装置、及びその制御方法
JP2015529911A (ja) * 2012-09-28 2015-10-08 インテル コーポレイション 拡張現実情報の決定
US9199168B2 (en) 2010-08-06 2015-12-01 Nintendo Co., Ltd. Game system, game apparatus, storage medium having game program stored therein, and game process method
US9272207B2 (en) 2010-11-01 2016-03-01 Nintendo Co., Ltd. Controller device and controller system
US9289679B2 (en) 2010-04-30 2016-03-22 Sony Corporation Information storage medium, information input device, and control method of same
US9358457B2 (en) 2010-02-03 2016-06-07 Nintendo Co., Ltd. Game system, controller device, and game method
WO2017077918A1 (ja) * 2015-11-02 2017-05-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
US9776083B2 (en) 2010-02-03 2017-10-03 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
CN110865613A (zh) * 2018-08-28 2020-03-06 横河电机株式会社 装置、计算机可读记录介质和方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009153583A (ja) * 2007-12-25 2009-07-16 Saiui Group Ltd 人体動作を感知可能な電子ゲームコントローラ
JP2010220950A (ja) * 2009-03-25 2010-10-07 Nintendo Co Ltd ゲーム装置およびゲームプログラム
US9776083B2 (en) 2010-02-03 2017-10-03 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
US9358457B2 (en) 2010-02-03 2016-06-07 Nintendo Co., Ltd. Game system, controller device, and game method
US9289679B2 (en) 2010-04-30 2016-03-22 Sony Corporation Information storage medium, information input device, and control method of same
US9199168B2 (en) 2010-08-06 2015-12-01 Nintendo Co., Ltd. Game system, game apparatus, storage medium having game program stored therein, and game process method
US9272207B2 (en) 2010-11-01 2016-03-01 Nintendo Co., Ltd. Controller device and controller system
JP2012110670A (ja) * 2010-11-01 2012-06-14 Nintendo Co Ltd ゲームシステム、操作装置、およびゲーム処理方法
US9889384B2 (en) 2010-11-01 2018-02-13 Nintendo Co., Ltd. Controller device and controller system
JP2013196568A (ja) * 2012-03-22 2013-09-30 Nintendo Co Ltd ゲームシステム、ゲーム処理方法、ゲーム装置、およびゲームプログラム
JP2015529911A (ja) * 2012-09-28 2015-10-08 インテル コーポレイション 拡張現実情報の決定
US9691180B2 (en) 2012-09-28 2017-06-27 Intel Corporation Determination of augmented reality information
JP2014146354A (ja) * 2014-03-20 2014-08-14 Sony Computer Entertainment Inc プログラム、情報入力装置、及びその制御方法
WO2017077918A1 (ja) * 2015-11-02 2017-05-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP2017090979A (ja) * 2015-11-02 2017-05-25 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
CN108351690A (zh) * 2015-11-02 2018-07-31 索尼互动娱乐股份有限公司 信息处理装置、信息处理系统和信息处理方法
US10416758B2 (en) 2015-11-02 2019-09-17 Sony Interactive Entertainment Inc. Information processing apparatus, information processing system, and information processing method
CN108351690B (zh) * 2015-11-02 2021-04-06 索尼互动娱乐股份有限公司 信息处理装置、信息处理系统和信息处理方法
CN110865613A (zh) * 2018-08-28 2020-03-06 横河电机株式会社 装置、计算机可读记录介质和方法
CN110865613B (zh) * 2018-08-28 2023-10-13 横河电机株式会社 对设备进行校准和调整的装置及其方法、和记录介质

Similar Documents

Publication Publication Date Title
JP2007310840A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5224832B2 (ja) 情報処理プログラムおよび情報処理装置
JP5060798B2 (ja) 情報処理プログラムおよび情報処理装置
JP4260814B2 (ja) ゲーム装置およびゲームプログラム
JP5448073B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法
JP5700758B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP6877893B2 (ja) ゲーム装置、ゲームシステム、ゲームプログラム、および振り入力判定方法
JP2009011568A (ja) ゲームプログラム、およびゲーム装置
JP4265814B1 (ja) 姿勢算出装置、姿勢算出プログラム、ゲーム装置、およびゲームプログラム
US8917237B2 (en) Information processing system, information processing apparatus, storage medium having information processing program stored thereon, and content playback control method
JP5537083B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5848520B2 (ja) 音楽演奏プログラム、音楽演奏装置、音楽演奏システム、および音楽演奏方法
JP5797046B2 (ja) ポインティングシステム、情報処理システム、座標系等の設定方法、情報処理装置、および情報処理プログラム
JP2008276636A (ja) 情報処理装置および情報処理プログラム
JP5872137B2 (ja) 姿勢算出装置、姿勢算出プログラム、姿勢算出システム、および、姿勢算出方法
JP5844999B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP7140465B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、ゲーム処理方法
JP5576721B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム方法
JP3481230B2 (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2008117256A (ja) 操作データ入力システム、操作データ入力方法及びプログラム
JP5541851B2 (ja) 姿勢算出装置、姿勢算出プログラム、ゲーム装置、およびゲームプログラム
JP4668839B2 (ja) 情報処理装置、その制御方法及びプログラム
JP2012525864A (ja) リモートコントローラの加速度計センサの較正
JP2008307409A (ja) 情報処理装置および情報処理プログラム
JP2011156259A (ja) ゲームシステムおよび画像出力装置