説明

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

【課題】任意の方向に操作可能な操作部材に対してユーザが操作する場合に、操作方向によるユーザの操作感の違いを減らすことのできる情報処理装置を提供する。
【解決手段】任意の方向に操作可能な操作部材14aを備え、操作部材14aに対する操作に応じて決まる2次元領域A内の位置P1を示し、位置P1の2次元領域Aの原点Oからの方向及び距離により操作部材14aの操作方向及び操作量がそれぞれ示される出力データを取得し、出力データに応じて位置P1に対応する2次元領域A内の位置P2を示し、位置P2の原点Oからの方向及び距離により操作部材14aの操作方向及び操作量がそれぞれ示される操作指示データを出力し、位置P2の原点Oからの方向による位置P2の原点Oからの距離の上限の変化を抑制する情報処理装置である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、任意の方向に操作可能な操作部材を備える情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【0002】
例えば携帯用ゲーム機などの、任意の方向に操作可能な操作部材(ジョイスティック等)を備える情報処理装置がある。このような情報処理装置は、ユーザの行った操作部材に対する操作に応じて、操作部材の操作方向及び操作量を示す出力データを出力し、この出力データを用いてユーザの操作を反映した処理を実行する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来例の技術においては、操作部材の可動範囲を規制する規制部材の構造や、操作部材に対する操作量及び操作方向を検出する検出部の特性などのために、出力データによって示される値の上限が操作方向によって変化する場合がある。このような場合においては、例えばユーザが限界まで操作部材を操作したとしても、その操作量が操作方向によって異なるものとして処理が実行される。そのため、例えば操作部材に対する操作に応じて画面上に表示されたカーソル等の画像の位置を移動させる処理を行う場合などにおいて、操作方向によって当該画像の画面上における移動速度が異なるなど、ユーザの操作感が異なってしまい、ユーザに違和感を生じさせてしまう場合がある。
【0004】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、任意の方向に操作可能な操作部材に対してユーザが操作する場合に、操作方向によるユーザの操作感の違いを減らすことのできる情報処理装置、その制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するための本発明に係る情報処理装置は、任意の方向に操作可能な操作部材と、前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得する出力データ取得手段と、を含む情報処理装置であって、前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力する手段であって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制する操作指示データ出力手段、を含むことを特徴とする。
【0006】
また、上記情報処理装置において、前記操作指示データ出力手段は、前記原点を内包する第1領域の周囲に配置された第2領域内の位置を示す前記出力データに対しては、前記原点からの距離がいずれも同じ距離となる位置を示す前記操作指示データを出力することとしてもよい。
【0007】
また、上記情報処理装置において、前記出力データは、前記操作部材の第1方向の操作量に応じた所定範囲の第1出力値と、前記第1方向に直交する第2方向の操作量に応じた所定範囲の第2出力値と、から構成され、該第1及び第2出力値にそれぞれ対応する座標成分によって前記2次元領域内の位置を示すデータであって、前記操作指示データは、前記操作部材の前記第1方向の操作量に応じた第1操作指示値と、前記第2方向の操作量に応じた第2操作指示値と、から構成され、該第1及び第2操作指示値にそれぞれ対応する座標成分によって前記2次元領域内の位置を示すデータであることとしてもよい。
【0008】
また、上記情報処理装置は、前記出力データを前記操作指示データに対応づけるテーブルであって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化が抑制された操作指示データが対応づけられた変換テーブルを保持する変換テーブル保持手段をさらに含み、前記操作指示データ出力手段は、前記変換テーブルにおいて前記出力データに対応づけられた前記操作指示データを出力することとしてもよい。
【0009】
また、上記情報処理装置において、前記操作指示データ出力手段は、前記出力データにより示される操作量が所定の操作量以上である場合に、該出力データに応じて操作指示データを出力し、前記情報処理装置は、前記出力データにより示される操作量が所定の操作量未満である場合に、該出力データに応じた操作指示データの出力を制限する操作指示データ出力制限手段をさらに含み、前記操作指示データ出力制限手段は、前記出力データの時間変化に基づいて前記操作部材に対する所定パターンの操作の有無を判断し、該操作の有無に応じて、前記出力データに応じた操作指示データの出力制限を行うこととしてもよい。
【0010】
また、本発明に係る情報処理装置の制御方法は、任意の方向に操作可能な操作部材を備える情報処理装置の制御方法であって、前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得するステップと、前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力するステップであって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制するステップと、を含むことを特徴とする。
【0011】
また、本発明に係るプログラムは、任意の方向に操作可能な操作部材を備える情報処理装置を制御するプログラムであって、前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得する出力データ取得手段、及び前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力する手段であって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制する操作指示データ出力手段、としてコンピュータを機能させることを特徴とする。ここでコンピュータは、例えば携帯用ゲーム機、家庭用ゲーム機、業務用ゲーム機、コンテンツプレーヤ、パーソナルコンピュータ、サーバコンピュータ、携帯電話機等である。また、プログラムはCD−ROMやDVD−ROM等のコンピュータ読み取り可能な各種情報記憶媒体に記憶されてもよい。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、図面を参照しながら説明する。本発明の一実施形態に係る情報処理装置1は、例えば携帯用ゲーム機などであって、図1に示すように、制御部11と、記憶部12と、表示部13と、操作部14と、を含んで構成されている。
【0013】
制御部11は、CPU等であって、記憶部12に記憶されたプログラムに従って動作する。本実施の形態においては、制御部11は、操作部14が所定時間おきに出力する出力データを取得し、当該取得した出力データに応じた操作指示データを出力する。本実施の形態において制御部11が実行する処理の例については、後に詳しく述べる。
【0014】
記憶部12は、制御部11によって実行されるプログラムを保持するコンピュータで読み取り可能な情報記憶媒体であって、RAMやROM等のメモリ素子とディスクデバイス等との少なくとも一方を含んで構成されている。また、記憶部12は、制御部11のワークメモリとしても動作する。
【0015】
表示部13は、例えばディスプレイ等であり、制御部14からの指示に従って、情報の表示を行う。
【0016】
操作部14は、ユーザにより操作可能な操作部材を備え、当該操作部材に対する操作に応じた出力データを制御部11に対して出力する。制御部11は、この出力データを取得することで、当該出力データを用いてユーザの操作部材に対する操作に応じた処理を実行できる。
【0017】
具体例として、操作部14が、図2(a)及び図2(b)に示すように、操作部材14aと、規制部材14bと、検出部14cとを含んで構成されている場合について説明する。図2(a)は操作部14を上から見た状態を表す図であり、図2(b)は操作部14を横から見た場合の断面を模式的に表した図である。図2(a)において破線の矢印により示されるように、操作部材14aはユーザによって360度任意の方向に操作可能に構成されている。また、ここでは操作部材14aは、例えばバネなどによって所定位置(基準位置)に向けて付勢されるように構成されているものとする。これにより、ユーザが操作部材14aを基準位置から任意の方向に対して操作してから手を離すと、操作部材14aは手を離した箇所から基準位置に向かって移動し、基準位置に到達すると停止する。
【0018】
また、ここでは操作部材14aの基準位置に対する操作量は、規制部材14bによって一定量以下に規制されている。規制部材14bは、例えば図2(a)に示すような円形の枠が形成された部材であって、この円形の枠の範囲内に操作部材14aの可動範囲を規制する。これにより、例えば前述した基準位置を可動範囲の中心位置Pcとすると、操作部材14aの基準位置に対する操作量の上限は、いずれの方向についても円形の枠の半径と操作部材14aの軸の径との差Lになる。
【0019】
検出部14cは、操作部材14aの位置を検出し、検出した位置に応じた出力データを表す制御信号を制御部11に対して出力する。一例として、検出部14cは、中心位置Pcに対して所定方向に配置された複数の電極を含んでなり、当該各電極と操作部材14aの重なり度合いによって各電極を流れる電流又は電圧が変化するように構成されている。検出部14cは、この電極の電流又は電圧の値に応じて、操作部材14aの位置を示す出力データを出力する。ここで出力データは、少なくとも操作部材14aの操作量を示すデータであることとする。
【0020】
さらに、以下の説明においては、出力データは、以下に説明する第1出力値と、第2出力値と、から構成されるものとする。第1出力値(以下、x出力値という)は、基準位置に対して所定の第1方向(以下、x方向という)に配置された電極の電流又は電圧の値に応じて決まる、操作部材14aのx方向の操作量に応じた所定範囲(例えば0から255まで)の値である。また、第2出力値(以下、y出力値という)は、第1方向に直交する第2方向(以下、y方向という)に配置された電極の電流又は電圧の値に応じて決まる、操作部材14aのy方向の操作量に応じた所定範囲(例えば0から255まで)の値である。
【0021】
この場合、例えば0から255までの値のうち所定範囲の中心にあたる127及び128が、操作部材14aが基準位置にあることを示す値である。そして、0から126までの値が、操作部材14aがx方向、y方向それぞれの負方向に操作されたことを示す値であり、129から255までの値が、操作部材14aがx方向、y方向それぞれの正方向に操作されたことを示す値となる。なお、この例においてはx出力値及びy出力値それぞれの所定範囲はいずれも同じ範囲であるが、両者は異なる範囲であってもよい。
【0022】
このx出力値及びy出力値から構成される出力データは、操作部材14aに対する操作に応じて決まる2次元領域A内の位置を示すデータとなる。ここで2次元領域Aは、操作部材14aの基準位置を示す原点(以下、原点Oという)を含み、その領域内の位置によって操作部材14aに対する操作方向及び操作量が示される平面上の領域である。すなわち、出力データによって示される2次元領域A内の位置を位置P1とすると、この位置P1の原点Oからの方向及び距離により、操作部材14aの操作方向及び操作量がそれぞれ示される。例えば前述したように操作部材14aの可動範囲が規制部材14bによって規制される場合、2次元領域Aは操作部材14aの可動範囲に応じた大きさの有限の領域となる。ただし、操作部材14aの可動範囲は円形の範囲であるが、2次元領域Aは必ずしも操作部材14aの可動範囲と一致しなくともよく、後述するように非円形の領域であってもよい。
【0023】
図4は、2次元領域Aの一例を表す説明図である。図4の例においては、2次元領域Aは矩形の領域である。出力データにより示される位置P1の原点Oからの距離rが、操作部材14aの操作量を示している。また、図中における角度θによって特定される、位置P1の原点Oからの方向が、操作部材14aの操作方向を示している。
【0024】
この例においては、前述したx出力値及びy出力値にそれぞれ対応する座標成分(以下、x座標値及びy座標値という)によって、2次元領域A内の位置P1が示される。例えば0から255までのx出力値に対して、0から127までの値がそれぞれ−127から0までのx座標値、128から255までの値がそれぞれ0から127までのx座標値に対応することとする。また、y出力値に関しても、同様にy座標値に対応することとする。これにより、x座標値及びy座標値それぞれの絶対値は、操作部材14aの各方向に対する基準位置からの操作量に応じた値となる。
【0025】
なお、上述したようにx出力値及びy出力値がとり得る値の範囲が所定範囲に規制されると、操作方向に応じて決まる所定量を超えて当該操作方向に操作部材14aを操作した場合には、x出力値及びy出力値のうち少なくとも一方については、上限値(例えば255)又は下限値(例えば0)が出力されることとなる。その結果、操作部材14aの可動範囲が円形であっても、2次元領域Aは図4に例示するような矩形の領域となる。この場合、操作部材14aの操作方向及び操作量と、出力データによって示される2次元領域P1内の位置とが、一対一で対応しない場合があることとなる。そのため、操作部材14aの操作量が同じであっても、操作方向によって、出力データによって示される操作量(すなわち、位置P1の原点Oからの距離)が異なる場合がありうる。
【0026】
次に、情報処理装置1が実現する機能について説明する。情報処理装置1は、機能的に図3に示すように、出力データ取得部21と、操作指示データ出力部22と、操作指示データ出力制限部23と、画像表示制御部24と、を含んで構成されている。これらの機能は、例えば記憶部12に格納されているプログラムを実行する制御部11と、記憶部12とによって実現できる。
【0027】
出力データ取得部21は、操作部14が出力する出力データを取得する。出力データ取得部21が取得する出力データは、ここでは前述したようにx出力値及びy出力値から構成されるデータである。出力データ取得部21は、例えば所定時間ごとに操作部14から出力データを取得する。ここで出力データ取得部21は、さらにx出力値及びy出力値をそれぞれx座標値及びy座標値に変換することとしてもよい。
【0028】
操作指示データ出力部22は、出力データ取得部21が取得した出力データに応じて操作指示データを出力する。ここで操作指示データは、ユーザの操作部材14aに対する操作指示の内容を表すデータである。また以下の説明においては、操作指示データは、出力データに応じて、当該出力データにより示される位置P1に対応する2次元領域A内の位置を示すデータであることとする。さらに、操作指示データによって示される2次元領域A内の位置を位置P2として、この位置P2の2次元領域Aの原点Oからの方向及び距離により、操作部材14aの操作方向及び操作量がそれぞれ示されるものとする。
【0029】
また、ここでは操作指示データ出力部22は、当該操作指示データが示す位置P2の原点Oからの方向による、位置P2の原点Oからの距離の上限の変化を抑制することとする。例えば図4の例においては、2次元領域Aは矩形の領域であるため、x方向やy方向と、x方向及びy方向の間の方向と、で当該領域に含まれる位置の原点Oからの距離の上限が異なっている。操作指示データ出力部22は、この方向による距離の上限の変化を抑制するように、出力データにより示される位置P1に対応する2次元領域A内の位置P2を示す操作指示データを出力する。例えば原点Oからの方向による距離の上限の変化を抑制する結果、方向によらず距離の上限が一定となるような位置P2を示す操作指示データを出力する場合、操作指示データ出力部22が出力する操作指示データによって示される位置P2の集合からなる領域は、2次元領域Aの形状によらず円形の領域となる。このように原点Oからの方向による距離の上限の変化を抑制することにより、操作指示データによって示される操作量の、操作方向による上限の差が低減される。これにより、ユーザが任意の方向に操作可能な操作部材14aを操作した際に、どの操作方向についても出力される操作量の上限が近い値となり、操作方向によるユーザの操作感の違いを減らすことができる。
【0030】
さらに、操作指示データ出力部22は、2次元領域A内において、原点Oを内包する第1領域(以下、操作応答領域という)の周囲に配置された第2領域(以下、操作応答制限領域という)内の位置を示す出力データに対しては、原点Oからの距離がいずれも同じ距離となる位置を示す操作指示データを出力することとしてもよい。例えば操作応答制限領域は、原点Oからの距離が所定距離以上となる位置を含んだ領域である。図5は、操作応答領域及び操作応答制限領域の一例を示す説明図である。図5の例においては、破線によって画定される原点Oを内包する領域が操作応答領域であって、その周囲の斜線により示される領域が操作応答制限領域である。この操作応答制限領域内の位置を示す出力データに対して、原点Oからの距離が同じ距離となる位置を示す操作指示データを出力することとすると、当該操作応答制限領域内の位置P1については、原点Oからの距離によらず、当該位置P1に対応する位置P2を示す操作指示データによって示される操作量が一定となる。これにより、操作方向によらず操作量の上限が一定となり、ユーザは操作方向によらず一定の操作感を得ることができる。
【0031】
ここで、操作指示データ出力部22が出力する操作指示データの一例について説明する。例えば操作指示データは、操作部材14aのx方向の操作量に応じた第1操作指示値(以下、x操作指示値という)と、y方向の操作量に応じた第2操作指示値(以下、y操作指示値という)と、から構成される。このx操作指示値及びy操作指示値にそれぞれ対応する座標成分によって、2次元領域A内の位置P2が示される。なお、x操作指示値及びy操作指示値に対応する座標成分は、x操作指示値及びy操作指示値そのものであってもよい。この場合、x操作指示値及びy操作指示値の2乗和が、位置P2の原点Oからの距離となる。また、x操作指示値とy操作指示値との比率が、位置P2の原点Oからの方向を表す。したがって、x操作指示値とy操作指示値との比率によって決まる位置P2の方向によるx操作指示値及びy操作指示値の2乗和の上限の変化を抑制するように、x操作指示値及びy操作指示値を決定することで、操作指示データ出力部22は、位置P2の原点Oからの方向による距離の上限の変化を抑制することができる。
【0032】
また、操作指示データ出力部22は、出力データ取得部21が取得した出力データにより示される操作量が所定の操作量以上である場合に、当該出力データに応じて操作指示データを出力することとしてもよい。このような判定を行う場合において、出力データにより示される操作量が所定の操作量未満である場合には、後述する操作指示データ出力制限部23の機能が実現される。さらにこの場合において、所定の操作量は、出力データにより示される操作方向によって変化する量であってもよい。具体的に、例えば操作指示データ出力部22は、x出力値及びy出力値のいずれかが63以下又は192以上の場合に、出力データにより示される操作量が所定の操作量以上であると判定し、これまで説明したような方法により、出力データに応じて操作指示データを出力することとしてもよい。
【0033】
また、操作指示データ出力部22は、以下に説明するように、変換テーブルを用いて出力データに応じた操作指示データの出力を行うこととしてもよい。この場合において、操作指示データ出力部22は、図6に示すように、機能的に、変換テーブル保持部22aと、出力データ変換部22bと、を含んで構成される。
【0034】
変換テーブル保持部22aは、出力データを操作指示データに対応づける変換テーブルTを保持するものであって、記憶部12によって実現できる。変換テーブル保持部22aが保持する変換テーブルTに含まれる操作指示データは、当該操作指示データが示す位置P2の原点Oからの方向による、位置P2の原点Oからの距離の上限の変化が抑制された操作指示データであってもよい。
【0035】
具体的に、例えば変換テーブルTは、2次元領域Aを所定の大きさの複数の単位領域に分割した場合に、それぞれの単位領域に対応する操作指示データを含むテーブルである。これにより、それぞれの単位領域に含まれる位置を示す出力データが、当該単位領域に対応する操作指示値に対応づけられることとなる。ここで単位領域は、例えば所定の大きさの矩形の領域である。具体例として、出力データを構成するx出力値及びy出力値がとり得る値の範囲がそれぞれ0から255までの場合に、当該範囲を16個の区間に区分したとすると、矩形の2次元領域Aは、縦16×横16の256個の単位領域に分割されることとなる。そして、変換テーブルTは、各単位領域に対して、x操作指示値及びy操作指示値の組が対応づけられたテーブルとなる。すなわち、x出力値及びy出力値がそれぞれ属する区間の組み合わせに対して、x操作指示値及びy操作指示値の組が対応づけられている。
【0036】
ここで、変換テーブルTに格納されるx操作指示値及びy操作指示値を決定する方法の一例について説明する。まず、2次元領域A内の各単位領域の代表点(例えば単位領域の中心点)の2次元領域A内の位置座標に基づいて、各代表点の原点Oからの距離及び方向を決定する。そして、各代表点の原点Oからの距離が、2次元領域A内の原点Oからの距離を表す値(例えば図4の例におけるr)を所定の閾値によって区切って得られる複数の距離範囲のうち、いずれの距離範囲に属するかを決定する。ここで、複数の距離範囲のそれぞれには、所定の操作量を示す値が対応づけられているものとする。これにより、各単位領域の代表点の原点Oからの距離に基づいて、複数の距離範囲によって量子化された操作量を示す値を決定できる。また、同様にして、各代表点の原点Oからの方向が、2次元領域A内の原点Oからの方向を表す値(例えば図4の例におけるθ)を所定の閾値によって区切って得られる複数の方向範囲のうち、いずれの方向範囲に属するかを決定する。これにより、各単位領域の代表点の原点Oからの方向に基づいて、複数の方向範囲によって量子化された操作方向を示す値を決定できる。そして、代表点の位置に応じて決定した量子化された操作量を示す値と、量子化された操作方向を示す値とに基づいて、当該代表点の属する単位領域に対応するx操作指示値及びy操作指示値を決定できる。すなわち、x操作指示値とy操作指示値との2乗和が当該量子化された操作量を示す値となり、x操作指示値とy操作指示値との比率が当該量子化された操作方向を示す値となるように、x操作指示値とy操作指示値とを決定する。
【0037】
図7は、このようにして決定された変換テーブルTの一例を示す図である。図中の各枠内の上段の数値がx操作指示値、下段の数値がy操作指示値を表している。また、図7の変換テーブルTは、x出力値に対応するx座標値の絶対値と、y出力値に対応するy座標値の絶対値と、の組をx操作指示値とy操作指示値との組に対応づけるテーブルとなっている。このテーブルによって得られるx操作指示値とy操作指示値との組に対して、x座標値とy座標値との符号に応じた符号の変換を行うことにより、操作指示データ出力部22は操作指示データを得ることができる。また、このようなx座標値、y座標値それぞれの絶対値の組をx操作指示値及びy操作指示値の組に対応づけるテーブルに代えて、x座標値及びy座標値の組そのものをx操作指示値及びy操作指示値の組に対応づけるテーブルを変換テーブルTとして用いてもよい。この場合、一例として変換テーブルTは、x座標値及びy座標値がとり得る値の範囲(例えば−127から127まで)をそれぞれ複数の区間に分割した場合にx座標値及びy座標値が属する区間の組み合わせに対して、それぞれx操作指示値及びy操作指示値の組を対応づけるテーブルである。
【0038】
出力データ変換部22bは、変換テーブル保持部22aが保持する変換テーブルTにおいて、出力データ取得部21が取得した出力データに対応づけられた操作指示データを出力する。具体例として、出力データ変換部22bは、出力データ取得部21が取得した出力データを構成するx出力値及びy出力値にそれぞれ対応する、2次元領域Aのx座標値及びy座標値を算出する。そして、変換テーブル保持部22aが保持する変換テーブルTから、当該x座標値の絶対値及びy座標値の絶対値の組に対応づけられたx操作指示値及びy操作指示値を読み出す。そして、x座標値及びy座標値の符号に応じて、x操作指示値及びy操作指示値の符号の変換を行う。これにより、出力データ変換部22bは、出力データを操作指示データに変換することができる。
【0039】
以上説明したように、操作指示データ出力部22が変換テーブルTを用いて出力データに応じた操作指示データを出力することにより、比較的少ない演算量で操作指示データを決定することができる。これにより、操作指示データを出力する処理の処理速度を向上できる。なお、変換テーブルTは予め記憶部12に格納されていてもよいし、処理の開始時に制御部11の演算によって動的に生成されるものであってもよい。
【0040】
操作指示データ出力制限部23は、出力データ取得部21が取得した出力データにより示される操作量が所定の操作量未満である場合に、当該出力データに応じた操作指示データの出力を制限する。ここで所定の操作量は、前述したように出力データにより示される操作方向によって変化する量であってもよい。これにより、例えば操作部材14aが基準位置からわずかに動いているに過ぎず、操作部材14aの位置が所定の不感範囲に含まれる場合に、表示部13の画面上に表示されるカーソル画像の位置を移動させる処理など、操作部材14aに対する操作に応じた処理の実行を制限することができる。具体例として、操作指示データ出力制限部23は、操作部材14aの位置が所定の不感範囲に含まれると判定した場合、出力データによって示される操作方向及び操作量によらずに、x操作指示値及びy操作指示値としてともに0の値を出力する。これにより、操作指示データ出力制限部23は出力データに応じた操作指示データの出力を制限することができ、例えばユーザが操作部材14aに対する操作をやめた際などに、出力データに応じた処理を確実に停止することができる。
【0041】
しかしながら、操作部材14aの位置が所定の不感範囲に含まれる場合であっても、その操作内容によっては、操作部材14aの操作に応じた処理を実行したい場合がある。そこで、操作指示データ出力制限部23は、出力データ取得部21が取得する出力データの時間変化に基づいて操作部材14aに対する所定パターンの操作の有無を判断し、当該操作の有無に応じて、出力データに応じた操作指示データの出力制限を行うこととしてもよい。例えば、所定パターンの操作が無いと判断した場合には、原則どおり出力データに応じた操作指示データの出力を制限することとし、逆に所定パターンの操作が有ったと判断した場合には、操作指示データ出力部22と同様に出力データに応じた操作指示データの出力を実行する。これにより、操作部材の不感範囲として設定された範囲内であっても、操作部材14aに対して所定パターンの操作がなされた場合には、操作部材14aの操作に応じた処理を実行できる。
【0042】
なお、操作指示データ出力制限部23は、操作部材14aに対する操作がないことを示す所定のデータを操作指示データとして出力することで、出力データに応じた操作指示データの出力制限を行うこととしてもよい。この場合の所定のデータは、例えばx操作指示値及びy操作指示値がともに0のデータである。これにより、情報処理装置1は、出力データに応じた操作指示データを出力する場合と、出力データに応じた操作指示データの出力を制限する場合とで、以降の処理を共通化することができる。
【0043】
ここで、所定パターンの操作の有無を判断する方法について説明する。例えば操作部14が所定時間おきに出力データを出力する場合、出力データ取得部21は時間とともに出力される複数の出力データを、時系列データとして取得できる。操作指示データ出力制限部23は、この時系列データを用いて、出力データの時間変化に関する情報を取得できる。例えば操作指示データ出力制限部23は、判断を実行する時点において取得した出力データ(出力データ取得部21が今回取得した出力データ)と、当該判断を実行する時点より所定時間だけ過去の時点における出力データ(例えば出力データ取得部21が前回取得した出力データ)と、の差分値を算出する。この差分値は、例えばx出力値の差分値Δx、y出力値の差分値Δyとして算出される。また、出力データによって示される2次元領域A内の位置P1の変化に応じて、位置P1によって示される操作方向及び操作量の差分値として算出されることとしてもよい。
【0044】
そして、操作指示データ出力制限部23は、当該算出された差分値を用いて、所定パターンの操作の有無を判断する。例えば、差分によって示される操作方向及び/又は操作量が、所定の条件を満たすか否かによって、所定パターンの操作がなされたかを判断する。例えば操作指示データ出力制限部23は、所定パターンの操作として、操作部材14aに対する操作が基準位置から離れる向きの操作であるか否かを判断する。これにより、操作部材14aが不感範囲内にある場合において、基準位置に近づく向きの操作があると判断した場合、操作部材14aが基準位置に向けて付勢されるために生じたものとみなして出力データに応じた操作指示データの出力を制限し、基準位置から離れる向きの操作があると判断した場合、ユーザの意図的な操作であるとみなして出力データに応じた操作指示データを出力することができる。なお、操作指示データ出力制限部23は、判断を実行する時点に対して、過去の複数の時間区分ごとの差分をそれぞれ算出し、所定パターンの操作の有無の判断に用いてもよい。これにより、より複雑なパターンの操作の有無を判断できる。
【0045】
画像表示制御部24は、操作指示データ出力部22又は操作指示データ出力制限部23の出力によって得られる操作指示データに応じて、ユーザの操作部材14aに対する操作を反映した画像を表示部13の画面上に表示する。以下の説明においては、一例として、画像表示制御部24は操作指示データに応じて決まる表示部13の画面上の位置に、所定のカーソル画像を表示する。具体的に、画像表示制御部24は、記憶部12が保持しているカーソル画像の画面上の位置を示す画像位置データを、操作指示データに応じて更新する。そして、更新された新たな画像位置データによって示される画面上の位置に、カーソル画像を再描画する。これにより、表示部13の画面上に表示されているカーソル画像が、ユーザの操作部材14aに対する操作量及び操作方向に応じて画面上を移動することとなる。
【0046】
次に、記憶部12に格納されているプログラムに従って制御部11が実行するカーソル画像再描画処理の一例について、図8のフロー図に基づいて説明する。ここでカーソル画像再描画処理は、操作部14の出力する出力データに基づいて操作指示データを出力し、当該操作指示データに応じて表示部13の画面上に表示された所定のカーソル画像を再描画する処理である。
【0047】
まず制御部11は、操作部14が出力するx出力値及びy出力値により構成される出力データを取得する(S1)。続いて制御部11は、S1で取得した出力データに基づいて、2次元領域A内の位置P1を示す座標成分であるx座標値及びy座標値を算出する(S2)。
【0048】
次に制御部11は、S2で算出されたx座標値及びy座標値を用いて、操作部材14aの操作量が所定の操作量以上であるか否かを判定する(S3)。具体的には、例えばx座標値及びy座標値の絶対値がともに64以上である場合に、操作部材14aの操作量が所定の操作量以上であると判定する。S3の処理により、操作部材14aの操作量が所定の操作量以上であると判定した場合、制御部11は例えば図7に例示された変換テーブルTとS2で算出されたx座標値及びy座標値とを用いて、S1で取得した出力データに応じた操作指示データを出力する処理を行う(S4)。
【0049】
一方、S3の処理により、操作部材14aの操作量が所定の操作量未満であると判定した場合、制御部11はさらに出力データの時間変化に基づいて所定パターンの操作の有無を判断する(S5)。ここでは、所定パターンの操作として基準位置から離れる向きの操作であるか否かを判断する。具体例として、まず前回のカーソル画像再描画処理において取得された出力データにより示される操作量が、S3の判定で用いた所定の操作量以上であるかを判定する。所定の操作量以上であれば、前回のカーソル画像再描画処理の時点において、操作部材14aの位置が不感範囲内になかったこととなるため、所定パターンの操作ではないと判断する。一方、所定の操作量未満の場合、さらに前回のカーソル画像再描画処理の時点におけるx出力値と今回のx出力値との差分値Δx、及び前回のカーソル画像再描画処理の時点におけるy出力値と今回のy出力値との差分値Δyが所定の条件を満たすか否かを判定する。すなわち、Δxの正負とx出力値の正負によって示される方向が基準位置から離れる向きであって、Δxの絶対値が所定値以上であれば、x方向について所定パターンの動作があると判断する。また、Δyの正負とy出力値の正負によって示される方向が基準位置から離れる向きであって、Δyの絶対値が所定値以上であれば、y方向について所定パターンの動作があると判断する。ここで、Δx及びΔyの絶対値が所定値以上であるか否かを判定することにより、操作部材14aにユーザが指を触れていないにも関わらず、出力データの値がわずかに変動してしまう現象によって誤って基準位置から離れる向きの動作があったと判断してしまうことを防ぐことができる。
【0050】
なお、ここでは前回の操作部材14aの位置が不感範囲内にあったか否かという条件と、前回の操作部材14aの位置に対する今回の操作部材14aの位置の相対方向が基準位置から離れる向きであるか否かという条件と、の組み合わせによって所定パターンの操作であるか否かを判断する例について説明したが、制御部11が行う判定はこのようなものに限られない。例えば、上記2つの条件のうちいずれか一つの条件のみを用いて所定パターンの操作であるか否かを判断してもよいし、他の条件を用いて判断することとしてもよい。
【0051】
S5の処理により所定パターンの操作がないと判断した場合、制御部11は出力データに応じた操作指示データの出力を制限する。すなわち、操作部材14aに対する操作がないことを示す所定のデータとして、x操作指示値及びy操作指示値が0の操作指示データを出力する(S6)。一方、S5の処理により所定パターンの操作があると判断した場合、制御部11は出力データに応じた操作指示データを出力する(S7)。ここでは、x方向について所定パターンの動作があると判断した場合には、x方向について所定の操作量を示すx操作指示値を出力する。また、y方向について所定パターンの動作があると判断した場合には、y方向について所定の操作量を示すy操作指示値を出力する。なお、このような所定の操作量を示す操作指示データに代えて、S4の処理と同様に例えば変換テーブルTを用いて出力データに応じて決定される操作指示データを出力することとしてもよい。
【0052】
S4、S6又はS7のいずれかの処理により出力された操作指示データに応じて、制御部11は、カーソル画像の画面上の位置を示す画像位置データを更新する(S8)。具体的には、例えば画面上のカーソル画像の位置座標を示す2つの座標値に、x操作指示値及びy操作指示値をそれぞれ加算することにより、操作指示データによって示される操作量及び操作方向に応じた位置を示す位置座標に、画像位置データを更新する。さらに制御部11は、S8で更新された新たな画像位置データにより示される画面上の位置に、カーソル画像を再描画する描画処理を実行する(S9)。これにより、表示部13の画面上に表示されているカーソル画像が、操作部材14aの操作に応じた位置に画面上を移動する。
【0053】
なお、本発明は上記の実施形態に限定されるものではなく、種々の実施形態により実現可能である。例えば以上の説明においては、操作部14の備える操作部材14aは、ユーザの操作によって同一平面上を水平方向に移動するものとしたが、操作部材14aはこれ以外のものであってもよい。一例として、操作部14は、所定の位置を支点として、当該支点を通る基準方向に対して任意の方向に傾倒操作が可能な操作部材を備えてもよい。さらに当該操作部材は、非傾倒操作時には基準方向にそって起立した傾きのない状態になるよう付勢されてもよい。この場合、操作部14は、操作量としての基準方向に対する傾き量と、操作方向としての傾き方向と、を示す出力データを出力する。
【図面の簡単な説明】
【0054】
【図1】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【図2】操作部の構成の一例を模式的に表す構成図である。
【図3】本発明の実施の形態に係る情報処理装置の機能の一例を表す機能ブロック図である。
【図4】2次元領域の一例を表す説明図である。
【図5】2次元領域内の操作応答領域及び操作応答制限領域の一例を表す説明図である。
【図6】操作指示データ出力部の機能の一例を表す機能ブロック図である。
【図7】変換テーブルの一例を表す説明図である。
【図8】本発明の実施の形態に係る情報処理装置によって実行される処理の一例を示すフロー図である。
【符号の説明】
【0055】
1 情報処理装置、11 制御部、12 記憶部、13 表示部、14 操作部、14a 操作部材、14b 規制部材、14c 検出部、21 出力データ取得部、22 操作指示データ出力部、22a 変換テーブル保持部、22b 出力データ変換部、23 操作指示データ出力制限部、24 画像表示制御部。

【特許請求の範囲】
【請求項1】
任意の方向に操作可能な操作部材と、
前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得する出力データ取得手段と、
を含む情報処理装置であって、
前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力する手段であって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制する操作指示データ出力手段、
を含むことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記操作指示データ出力手段は、前記原点を内包する第1領域の周囲に配置された第2領域内の位置を示す前記出力データに対しては、前記原点からの距離がいずれも同じ距離となる位置を示す前記操作指示データを出力することを特徴とする情報処理装置。
【請求項3】
請求項1又は2に記載の情報処理装置において、
前記出力データは、前記操作部材の第1方向の操作量に応じた所定範囲の第1出力値と、前記第1方向に直交する第2方向の操作量に応じた所定範囲の第2出力値と、から構成され、該第1及び第2出力値にそれぞれ対応する座標成分によって前記2次元領域内の位置を示すデータであって、
前記操作指示データは、前記操作部材の前記第1方向の操作量に応じた第1操作指示値と、前記第2方向の操作量に応じた第2操作指示値と、から構成され、該第1及び第2操作指示値にそれぞれ対応する座標成分によって前記2次元領域内の位置を示すデータである
ことを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の情報処理装置において、
前記出力データを前記操作指示データに対応づけるテーブルであって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化が抑制された操作指示データが対応づけられた変換テーブルを保持する変換テーブル保持手段をさらに含み、
前記操作指示データ出力手段は、前記変換テーブルにおいて前記出力データに対応づけられた前記操作指示データを出力する
ことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれか一項に記載の情報処理装置において、
前記操作指示データ出力手段は、前記出力データにより示される操作量が所定の操作量以上である場合に、該出力データに応じて操作指示データを出力し、
前記情報処理装置は、前記出力データにより示される操作量が所定の操作量未満である場合に、該出力データに応じた操作指示データの出力を制限する操作指示データ出力制限手段をさらに含み、
前記操作指示データ出力制限手段は、前記出力データの時間変化に基づいて前記操作部材に対する所定パターンの操作の有無を判断し、該操作の有無に応じて、前記出力データに応じた操作指示データの出力制限を行う
ことを特徴とする情報処理装置。
【請求項6】
任意の方向に操作可能な操作部材を備える情報処理装置の制御方法であって、
前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得するステップと、
前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力するステップであって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制するステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項7】
任意の方向に操作可能な操作部材を備える情報処理装置を制御するプログラムであって、
前記操作部材に対する操作に応じて決まる2次元領域内の位置を示し、該位置の前記2次元領域の原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される出力データを取得する出力データ取得手段、及び
前記出力データに応じて、該出力データにより示される位置に対応する前記2次元領域内の位置を示し、該位置の前記原点からの方向及び距離により前記操作部材の操作方向及び操作量がそれぞれ示される操作指示データを出力する手段であって、該操作指示データが示す位置の前記原点からの方向による、該操作指示データが示す位置の前記原点からの距離の上限の変化を抑制する操作指示データ出力手段、
としてコンピュータを機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate