説明

キャリブレーションプログラム及び座標検出装置

【課題】ユーザが簡単かつ正確にキャリブレーションを実行することができるキャリブレーションプログラム及びそれを実行する装置を提供する。
【解決手段】本発明は、ユーザによる位置の指示を検出する指示検出手段を利用可能な情報処理装置のコンピュータにおいて実行されるキャリブレーションプログラムである。当該キャリブレーションプログラムは、上記コンピュータを、指示画像表示手段、及び、キャリブレーション手段、として機能させる。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指示検出手段、例えば、タッチパネルを備えた情報処理装置においてキャリブレーションを実行するキャリブレーションプログラム及びそれを実行する座標検出装置に関する。
【背景技術】
【0002】
タッチパネルを備えた表示装置では、タッチパネルの個体差や使用されることによる装置部品の物理特性の変化等により、タッチパネルの検出座標と表示部上の表示座標とがずれる場合がある。従来より、このようなずれを補正するため、キャリブレーションを実行する装置が存在する。例えば、特許文献1に記載のタッチパネル装置は、表示部上の所定の位置に指示画像を表示し、ユーザにより当該指示画像をタッチさせることにより、キャリブレーションを実行している。具体的には、特許文献1に記載のタッチパネル装置は、タッチパネル装置上の予め定められた9つの位置に指示画像を表示する。ユーザが当該指示画像をペン又は指で押圧(タッチオン)すると、当該押圧位置が検出される。次に、上記タッチパネル装置は、押圧位置と指示画像の指示基準位置とに基づいて、補正演算式を決定することにより、キャリブレーションを実行する。そして、上記タッチパネル装置は、決定された補正演算式に基づいて、タッチパネルの検出座標と表示部上の表示座標とのずれを補正している。
【特許文献1】特開2005−134992号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1に記載のタッチパネル装置には、以下のような課題があった。すなわち、キャリブレーションの実行の際、ユーザは正確に表示画像をタッチオンする必要があり、正確に表示画像をタッチオンできなかった場合は、表示画像へのタッチをやり直す必要があることや、キャリブレーションの実行によって決定された補正量が不正確であることがあった。また、上記特許文献1に記載のタッチパネル装置では、ユーザは実際に表示画像を正確にタッチオンできたか否かを確認することもできない。
【0004】
それ故、本発明の目的は、ユーザが簡単かつ正確にキャリブレーションを実行することができるキャリブレーションプログラム及びそれを実行する装置を提供することである。
【課題を解決するための手段】
【0005】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【0006】
第1の発明は、ユーザによる位置の指示を検出する指示検出手段(タッチパネル15)を利用可能な情報処理装置(ゲーム装置10)のコンピュータ(CPUコア21)において実行されるキャリブレーションプログラムである。当該キャリブレーションプログラムは、上記コンピュータを、指示画像表示手段(図10のステップS13。以下ステップ番号のみ表示)、及び、キャリブレーション手段(S15、S23)、として機能させる。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像(指示線40a及び指示線40b)を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。
【0007】
なお、本明細書において「キャリブレーション処理」とは、指示検出手段による指示位置が表示手段上の表示位置に対応するように調整する処理をいう。典型的には、指示位置検出手段の出力を表示手段上の表示位置に対応させて取得するための、指示位置検出手段の出力と表示位置との対応関係(例えば、出力から表示位置座標への変換式)を補正する処理である。
【0008】
第1の発明によれば、ユーザは、指示検出手段による指示位置と表示手段上の指示画像の表示位置とが対応していることを確認してから、位置の指示を終了し、終了した時点での指示位置を確定位置として決定することができる。これにより、ユーザは正確に指示検出手段による指示位置と指示画像の表示位置とを一致させることができ、正確なキャリブレーションを実行することができる。
【0009】
第2の発明において、上記情報処理装置は入力手段(入力装置)をさらに利用可能であり、上記コンピュータを、指示画像移動手段(S19)としてさらに機能させてもよい。指示画像移動手段は、ユーザによる継続的な指示を受け付けている間に、ユーザによる上記入力手段への入力に応じて前記指示基準位置を移動させる。そして、キャリブレーション手段は、上記確定位置と、指示画像移動手段によって移動した指示基準位置とに基づいて座標補正量を決定する。
【0010】
第2の発明によれば、ユーザが上記指示基準位置を正確に指示することができなかった場合、当該指示基準位置をユーザが指示した位置に移動させることができる。これにより、ユーザは、ユーザが指示した位置と指示基準位置とを正確に一致させることができ、より正確なキャリブレーションを実行することができる。
【0011】
第3の発明において、指示検出手段は、タッチパネルであってもよい。
【0012】
第3の発明によれば、ユーザはタッチパネルを用いて位置の指示をすることができる。
【0013】
第4の発明において、キャリブレーション手段は、タッチパネルに対するタッチオフが行われた時点の指示位置を上記確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行してもよい。
【0014】
第4の発明によれば、ユーザはタッチオフした時点でのタッチ位置に基づいてキャリブレーションを実行することができる。これにより、簡単な操作で正確にキャリブレーションを実行することができる。
【0015】
第5の発明において、指示画像表示手段は、指示基準位置を含む所定範囲を示す指示範囲画像(指示範囲枠41)を表示手段に表示してもよい。そして、キャリブレーション手段は、上記確定位置が上記所定範囲内にある場合にのみ、上記キャリブレーション処理を実行する。
【0016】
第5の発明によれば、ユーザに指示させる位置の範囲を表示することができる。これにより、ユーザに位置の指示を促すことができる。さらに、ユーザが上記範囲外の位置を指示した場合、ユーザによる誤操作として処理することができる。
【0017】
第6の発明において、指示画像表示手段は、指示検出手段により検出された指示位置がユーザによる継続的な指示の終了までに移動した場合、当該移動した方向と移動量とに応じて指示基準位置を移動させてもよい(S18)。
【0018】
第6の発明によれば、ユーザによる継続的な指示の終了までにユーザが指示位置を移動させた場合においても、移動量に応じて指示基準位置が移動するため、ユーザは、指示画像移動手段を用いて正確に指示画像の位置と確定位置とを一致させることができる。
【0019】
第7の発明において、入力手段は、ユーザによる操作に応じて相対的な移動指示を行うことで、上記指示基準位置を移動させてもよい。ここで、相対的な移動指示とは、移動方向や移動量を入力することによって移動を指示することをいう。
【0020】
第7の発明によれば、ユーザは、入力手段を用いて所望の方向に所望の距離だけ指示基準位置を移動させることができる。
【0021】
第8の発明において、入力手段は、方向指示スイッチ(入力装置の十字スイッチ14a)であってもよい。
【0022】
第8の発明によれば、ユーザは、方向指示スイッチを用いて所望の方向に指示画像を移動させることができる。
【0023】
第9の発明において、指示画像表示手段は、上記指示画像の表示を所定サイクル繰り返し、各サイクルで上記指示基準位置を変化させてもよい(S13)。この場合において、キャリブレーション手段は、指示画像表示手段による指示画像の表示が所定サイクル繰り返されている間(S22でYesの間)、各サイクルに応じて上記確定位置を確定し、各サイクルにおける指示基準位置と上記確定位置とを1組の補正データとして各組の補正データに基づいてキャリブレーション処理を実行してもよい。
【0024】
第9の発明によれば、ユーザに複数回指示画像を指示させることができる。これにより、より正確なキャリブレーション処理を実行することができる。
【0025】
第10の発明は、座標検出装置であり、座標検出装置は、指示検出手段(タッチパネル15)と、指示画像表示手段(S13)と、キャリブレーション手段(S15、S23)とを備える。指示検出手段は、ユーザによる位置の指示を検出する。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。
【発明の効果】
【0026】
本発明によれば、ユーザは正確かつ容易に指示画像を指示することができ、より正確なキャリブレーションを実行することができる。
【発明を実施するための最良の形態】
【0027】
(ゲーム装置の説明)
図面を参照して、本発明の一実施形態に係るキャリブレーションプログラムを実行する携帯型のゲーム装置について説明する。図1は、本発明の一実施形態に係る携帯型のゲーム装置の外観図である。ただし、本発明は、携帯型のゲーム装置に限らず、表示装置とタッチパネルとを有する任意の情報処理装置(例えば、PDA(Personal Digital Assistant)、携帯電話、タブレット型パーソナルコンピュータ、ATM装置、マルチメディア端末等)にも適用可能である。
【0028】
図1において、ゲーム装置10は、第1のLCD(Liquid Crystal Display:液晶表示装置)11および第2のLCD12を含む。ハウジング13は上側ハウジング13aと下側ハウジング13bとによって構成されている。第1のLCD11は上側ハウジング13aに収納され、第2のLCD12は下側ハウジング13bに収納される。第1のLCD11および第2のLCD12の解像度はいずれも256dot×192dotである。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【0029】
上側ハウジング13aには、後述する1対のスピーカ(図2の30aおよび30b)からの音を外部に放出するための音抜き孔18aおよび18bが形成されている。また、上側ハウジング13aと下側ハウジング13bとを開閉可能に接続するヒンジ部にはマイクロフォン用孔33が設けられている。
【0030】
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、およびYボタン14gが設けられている。また、下側ハウジング13bの側面には、図示しないLボタンおよびRボタンが設けられている。また、さらなる入力装置として、第2のLCD12の画面上に指示検出装置であるタッチパネル15が装着されている。下側ハウジング13bの側面には、電源スイッチ19、メモリカード17を接続するための挿入口35(図1に示す一点鎖線)、スティック16を収納するための挿入口36(図1に示す点線)が設けられている。
【0031】
タッチパネル15としては、例えば抵抗膜方式や光学式(赤外線方式)や静電容量結合式など、任意の方式のものを利用することができる。本実施形態では、タッチパネル15は、抵抗膜方式であるものとする。タッチパネル15は、スティック16に限らず指で操作することも可能である。本実施形態では、タッチパネル15として、第2のLCD12の解像度と同じく256dot×192dotの解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。
【0032】
メモリカード17は、ゲームプログラムを記憶するROM17aと、バックアップデータを書き換え可能に記憶するEEPROM17bを搭載し、下部ハウジング13bに設けられた挿入口35に着脱自在に装着される。図1では省略するが、挿入口35の奥部には、メモリカード17の挿入方向先端部に設けられるコネクタと接合するための第1コネクタ23(図2参照)が設けられている。メモリカード17が挿入口35に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア21(図2参照)がメモリカード17にアクセス可能となる。
【0033】
次に、図2を参照してゲーム装置10の内部構成を説明する。図2は、ゲーム装置10の内部構成を示すブロック図である。図2において、ハウジング13に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(図面ではI/F回路と記す)25、第1GPU(Graphics Processing Unit)26、第2GPU27、RAM24、およびLCDコントローラ31、およびワイヤレス通信部34が接続される。コネクタ23には、メモリカード17が着脱自在に接続される。I/F回路25には、タッチパネル15、右スピーカ30a、左スピーカ30b、図1の十字スイッチ14aやAボタン14d等から成る操作スイッチ部14、およびマイクロフォン37が接続される。右スピーカ30aと左スピーカ30bは、音抜き孔18a、18bの内側にそれぞれ配置される。マイクロフォン37は、マイクロフォン用孔33の内側に配置される。
【0034】
第1GPU26には、第1VRAM(Video RAM)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて第1の表示画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2の表示画像を生成し、第2VRAM29に描画する。第1VRAM28および第2VRAM29はLCDコントローラ31に接続されている。
【0035】
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1の表示画像を第1のLCD11に出力し、第2VRAM29に描画された第2の表示画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1の表示画像を第2のLCD12に出力し、第2VRAM29に描画された第2の表示画像を第1のLCD11に出力する。
【0036】
ワイヤレス通信部34は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置10は、ワイヤレス通信部34を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【0037】
(キャリブレーション方法の説明)
次に、図3から図8を用いて、本発明に係るキャリブレーションプログラムの概要について説明する。本発明に係るキャリブレーションプログラムは、ユーザが明示的に実行を指示することにより、RAM24に読み込まれ、CPUコア21により実行される。なお、キャリブレーションプログラムは、予めゲーム装置10の不揮発性メモリ(図示せず)に記憶されている。本実施形態では、キャリブレーション処理は、第2のLCD12上の2点をユーザにより正確に指示させることにより行われる。
【0038】
まず、CPUコア21は、ユーザに1点目の指示を行わせるための画像を第2のLCD12に表示する。図3は、本実施形態に係るキャリブレーションプログラムが実行された場合に、1点目の指示のために表示される画像を示した図である。図3においては、ユーザに位置を指示させるための指示基準位置P1を示すための指示線40aと、指示線40bと、指示範囲枠41とが表示されている。図3に示されるように、第2のLCD12では、画面の左上の点を原点Oとして、原点Oから右方向にX軸(座標値0〜255)、原点Oから下方向にY軸(座標値0〜191)が設けられる。指示基準位置P1は、第2のLCD12上の位置を示し、X軸及びY軸に関する座標値で表される。指示線40a及び指示線40bは、その交点が指示基準位置P1を示すように第2のLCD12上に表示される。指示線40aはY軸に平行な直線であり、指示線40bはX軸に平行な直線である。また、指示範囲枠41は、指示基準位置P1を含む所定範囲を示す画像であり、ユーザによる位置指示を促すために表示される。なお、図3においては、指示基準位置P1は、黒点画像により表示されているが、実際には当該黒点は表示されず、指示基準位置P1は、指示線40a及び指示線40bにより示される。
【0039】
ユーザは、図3に示されるような画面が表示された場合、スティック16を用いて、指示基準位置P1上をタッチ(指示)する。ユーザによるタッチパネル15へのタッチが行われた場合、タッチパネル15は、そのタッチ位置(指示位置)を示す電圧値をI/F回路25を介して、CPUコア21に送信する。タッチパネル15上のタッチ位置を示す電圧値の検出は、常時行われ、所定の単位時間間隔でタッチ位置を示す電圧値がCPUコア21に対して送信される。一方、ユーザによるタッチパネル15へのタッチが行われない場合、タッチパネル15は、タッチが行われないことを示す値をCPUコア21に対して送信する。CPUコア21は、受信したタッチパネル15上のタッチ位置を示す電圧値をRAM24に一時的に格納する。従って、RAM24には、常にタッチパネル15により検出された最新のタッチ位置を示す電圧値が格納される。すなわち、ユーザがタッチパネル15に対してタッチした状態のままスティック16を移動させた場合、移動後のタッチ位置を示す電圧値が、RAM24に格納される。そして、CPUコア21は、ユーザがタッチパネル15からスティック16を離した(タッチオフした)場合、タッチオフ時点でのタッチ位置を示す電圧値を確定位置の電圧値として決定し、その電圧値をRAM24に記憶しておく。ここで、確定位置とは、ユーザがタッチパネル15に対するタッチ位置を確定した位置である。すなわち、確定位置は、ユーザが指示基準位置P1を確実にタッチしたと見なされたタッチパネル15上の位置であり、キャリブレーション実行の際の基準となるデータとして利用される。そして、CPUコア21は、上記タッチパネル15上の確定位置と第2のLCD12上の指示基準位置P1とに基づいて、補正式を算出する。なお、ユーザが指示範囲枠41外の位置でタッチオフした場合、CPUコア21は、位置指示失敗として、ユーザに対して再度の入力を求める。また、CPUコア21は、ユーザが指示範囲枠41外の位置をタッチオンした場合においても、タッチオンした時点で位置指示失敗としてユーザに対して再度の入力を求めてもよい。
【0040】
図4は、ユーザが指示範囲枠41内の点をスティック16を用いてタッチした様子を拡大して示した図である。図4に示されるように、ユーザによりタッチされた位置(タッチ位置)T1は、指示基準位置P1とは一致していない。なお、図4ではタッチ位置T1は、黒点により表示されているが、実際には当該黒点は第2のLCD12上には表示されない。
【0041】
この場合において、ユーザは、スティック16をタッチパネル15にタッチさせたまま、タッチ位置T1と指示基準位置P1とが一致するように、十字スイッチ14aを用いて、指示線40a及び指示線40bを移動させる。具体的には、ユーザは、指示線40aがタッチ位置T1を通るように、十字スイッチ14aの左スイッチを押す。十字スイッチ14aの左スイッチが押された場合、CPUコア21は、指示線40aをX軸の負方向(左方向)に所定距離だけ移動させる。すなわち、CPUコア21は、十字スイッチ14aが指し示す方向に、指示線40aを所定距離だけ移動させる。そして、ユーザは、指示線40aがタッチ位置T1を通るようになるまで、十字スイッチ14aの左スイッチを押す。図5は、ユーザが十字スイッチ14aの左スイッチを押した場合に、指示線40aが移動した後の画像を示した図である。図5に示されるように、指示基準位置P1のX座標の値を示す指示線40aが、図4に示される位置よりも左方向に移動し、タッチ位置T1のX座標の値と一致している。
【0042】
また、ユーザは、指示線40bがタッチ位置T1を通るように、十字スイッチ14aの上スイッチを押す。十字スイッチ14aの上スイッチが押された場合、CPUコア21は、指示線40bをY軸の負方向(上方向)に所定距離だけ移動させる。図6は、ユーザが十字スイッチ14aの上スイッチを押した場合に、指示線40bが移動した後の画像を示した図である。図6に示されるように、指示基準位置P1のY座標の値を示す指示線40bが、図4に示される位置よりも上方向に移動し、タッチ位置T1のY座標の値と一致している。
【0043】
タッチ位置T1と指示基準位置P1とが一致したことを確認したユーザは、タッチオフ(スティック16をタッチパネル15から離す)する。CPUコア21は、タッチオフを検出した場合、上述したように、タッチオフ時点でのタッチ位置を示す電圧値を指示基準位置P1に対する確定位置としてRAM24に記憶する。
【0044】
このようにして、ユーザは、直感的に分かりやすく指示線40a及び指示線40bを移動させることができ、容易にタッチ位置T1と指示基準位置P1とを一致させることができる。
【0045】
次に、ユーザが図4に示されるようにタッチパネル15にスティック16をタッチさせたまま、タッチ位置T1を移動させた場合について、説明する。
【0046】
図7は、ユーザがタッチパネル15にスティック16をタッチさせたまま、図4に示されるタッチ位置からスティック16を移動させた場合に表示される画像を示した図である。図7に示されるように、タッチ位置が、矢印で示される方向に移動量dだけ移動し、タッチ位置が位置T1’に変化している。この場合において、指示基準位置P1も同じ方向に同じ移動量dだけ移動する。具体的には、移動量dのX方向成分をdx、移動量dのY方向成分をdyとした場合、指示線40aがX軸の正方向にdx、指示線40bがY軸の正方向にdyだけ移動することによって、指示基準位置P1が移動する。このようにタッチ位置T1の移動に伴って指示基準位置P1も同じ方向に同じ量だけ移動することにより、ユーザが十字スイッチ14aを操作している間にタッチ位置が移動した場合においても、十字スイッチ14aを用いることにより正確に指示基準位置P1とタッチ位置とを一致させることができる。すなわち、ユーザが十字スイッチ14aを用いて指示基準位置をタッチ位置に近づけている途中でタッチ位置が移動してしまった場合においても、指示基準位置とタッチ位置との位置関係は維持され、ユーザは指示基準位置をタッチ位置に一致させる操作を再開することができる。
【0047】
次に、ユーザが1点目の指示基準位置P1に対する確定位置を決定した後、CPUコア21は、2点目の指示を示す画像を第2のLCD12に表示する。図8は、2点目の指示のために第2のLCD12に表示される画像を示した図である。図8に示されるように、2点目の指示基準位置P2は、1点目の指示基準位置P1とは異なる位置(画面右下の位置)に表示される。そして、1点目の指示基準位置P1と同様の手順により、2点目の指示基準位置P2に対する確定位置が決定される。
【0048】
以上のようにして、指示基準位置Pと確定位置とを正確に一致させることにより、より正確なキャリブレーションを実行することができる。
【0049】
次に、本実施形態に係るキャリブレーションプログラムの詳細な処理について説明する。まず、キャリブレーション処理の際にRAM24に記憶されるデータについて説明する。図9は、ゲーム装置10のRAM24のメモリマップを示す図である。キャリブレーション処理の際、RAM24には、入力座標リスト51、確定位置リスト52、指示基準位置リスト53等が記憶される。これらのデータの他、RAM24には、キャリブレーションプログラムやプログラム画像のデータ、ユーザによる入力装置(十字スイッチ14a等)への入力データ等が記憶される。
【0050】
入力座標リスト51は、ユーザによる入力が行われたタッチパネル15上の位置を示す座標値に応じた電圧値の集合データである。本実施形態では、ユーザによって入力されたタッチパネル15上の位置を示す電圧値は、所定の単位時間間隔(1フレーム時間)で検出される。検出された電圧値を所定の方法で変換することにより、タッチされた位置は座標値として表現される。本実施形態では、現在検出されているタッチパネル15上の位置(現在位置)を示す電圧値(現在位置データ51a)と直前に検出されたタッチパネル15上の位置(直前位置)を示す電圧値(直前位置データ51b)とが、入力座標リスト51に記憶される。すなわち、各フレーム時間において、そのフレーム時間で検出された位置を示す電圧値が現在位置データ51aとして入力座標リスト51に記憶され、直前のフレーム時間で検出された位置を示す電圧値が直前位置データ51bとして入力座標リスト51に記憶される。より具体的には、各フレーム時間において、入力座標リスト51の現在位置データ51aが、検出された座標値(X3,Y3)を示す電圧値に更新され、入力座標リスト51の直前位置データ51bが、更新される前の入力座標リスト51に記憶されていた現在位置データ51aに更新される。現在のフレーム時間において、タッチパネル15に対するタッチが検出されなかった場合、入力座標リスト51の現在位置には、タッチされなかったことを示す値が記憶される。
【0051】
確定位置リスト52は、ユーザがタッチ位置を確定したタッチパネル15上の位置を示す座標値に応じた電圧値の集合データである。ユーザがスティック16をタッチパネル15から離した場合(タッチオフした場合)、タッチオフした時点でのタッチ位置を示す電圧値が確定位置リスト52に確定位置を示す電圧値(確定位置データ)として記憶される。本実施形態では、指示基準位置Pの表示と確定位置の決定とが所定の回数行われるため、確定位置データは順番に記憶され、最終的には確定位置リスト52には所定の数の確定位置データが記憶される。具体的には、1回目の確定位置データ52aは確定位置リスト52の1番目に、2回目の確定位置データ52bは確定位置リスト52の2番目に記憶される。
【0052】
指示基準位置リスト53は、ユーザにタッチさせる位置を示す(第2のLCD12上の)座標値の集合(座標値群)データである。本実施形態では、ユーザにタッチさせる位置を示す指示基準位置Pの表示が、所定回数行われる。本実施形態では、指示基準位置Pの座標値は、指示基準位置リスト53に順番に記憶される。具体的には、1回目の指示基準位置Pの座標値が指示基準位置リスト53の1番目に、2回目の指示基準位置Pの座標値が指示基準位置リスト53の2番目に記憶される。指示基準位置Pは、上述したように、各回に応じた所定の位置に初期的に表示される(図3及び図8)。すなわち、本キャリブレーションプログラムが実行される際、指示基準位置リスト53の各指示基準位置P(指示基準位置53a及び指示基準位置53b)には、初期的に予め定められたそれぞれ異なる座標値が記憶される。一方、ユーザは、表示された指示基準位置P(図3における指示線40aと指示線40bとの交点)をタッチし、場合によっては十字スイッチ14aを用いて指示基準位置Pを移動させる(図5及び図6に示されるように、指示線40a及び指示線40bを移動させる)。また、上述したように、ユーザがタッチした状態でタッチ位置を移動させた場合、指示基準位置Pはそのタッチ位置の移動量に応じて移動する(図7)。このようにして指示基準位置Pが移動した場合、指示基準位置リスト53に記憶される座標値は、更新される。
【0053】
次に、キャリブレーション処理の詳細について図10を用いて説明する。図10は、本実施形態に係るキャリブレーション処理の詳細を示すフローチャートである。
【0054】
まず、ステップS11において、CPUコア21は、カウンタiを0にセットする。ここでカウンタiは、指示画像が表示された回数を示す。すなわち、キャリブレーション処理において、1回目の指示画像が表示される場合(図3に示される画像が表示される場合)カウンタiは1となり、2回目の指示画像が表示される場合(図8に示される画像が表示される場合)カウンタiは2となる。次に、CPUコア21は、ステップS12の処理を実行する。ステップS12において、CPUコア21は、カウンタiに1を加えた値を新たなカウンタiの値として保存する。次に、CPUコア21は、ステップS13の処理を実行する。
【0055】
ステップS13において、CPUコア21は、カウンタiの値に応じた位置に指示基準位置Pを表示する。すなわち、CPUコア21は、カウンタiの値に応じて指示線40a及び指示線40bを第2のLCD12に表示させる。具体的には、CPUコア21は、RAM24に記憶された指示基準位置リスト53のi番目の指示基準位置Pを取得する。CPUコア21は、取得した指示基準位置PのX座標値に従って指示線40aを、Y座標値に従って指示線40bを、それぞれ第2のLCD12に表示させる。なお、指示基準位置Pは、カウンタiの値に応じてそれぞれ異なる位置に予め定められている(例えば、1回目は図3に示される位置、2回目は図8に示される位置)。次に、CPUコア21は、ステップS14の処理を実行する。
【0056】
ステップS14において、CPUコア21は、タッチパネル15に対してタッチオンされたか否かの判定を行う。ステップS14の判定において、CPUコア21は、タッチパネル15により前回のフレーム時間で検出された電圧値がタッチされなかったことを示す値であり、かつ、今回のフレーム時間でタッチ位置が検出された場合、タッチオンされたと判定する。具体的には、CPUコア21は、入力座標リスト51の直前位置データ51bが、タッチが検出されなかったことを示す値であり、かつ、入力座標リスト51の現在位置データ51aがタッチ位置を示す電圧値である場合、タッチオンを検出する。判定結果が肯定の場合、CPUコア21は、次にステップS15の処理を実行する。判定結果が否定の場合、CPUコア21は、ステップS14の処理を繰り返し実行する。
【0057】
ステップS15において、CPUコア21は、タッチパネル15に対してタッチオフされたか否かの判定を行う。ステップS15の判定において、CPUコア21は、タッチパネル15により前回のフレーム時間でタッチ位置が検出されており、かつ、今回のフレーム時間で検出された電圧値がタッチされなかったことを示す値である場合、タッチオフされたと判定する。具体的には、CPUコア21は、入力座標リスト51の直前位置データ51bがタッチ位置を示す電圧値であり、かつ、入力座標リスト51の現在位置データ51aが、タッチが検出されなかったことを示す値である場合、タッチオフを検出する。判定結果が否定の場合、CPUコア21は、次にステップS16〜S19の処理を行う。一方、判定結果が肯定の場合、CPUコア21は、次にステップS20の処理を行う。
【0058】
ステップS16において、CPUコア21は、十字スイッチ14aに対する入力があったか否かの判定を行う。判定結果が肯定の場合、CPUコア21は、次にステップS19の処理を実行する。判定結果が否定の場合、CPUコア21は、次にステップS17の処理を実行する。
【0059】
ステップS17において、CPUコア21は、前のフレームからタッチ位置が変化したか否かの判定を行う。ステップS17において、CPUコア21は、前のフレームからタッチ位置が変化したか否かの判定を次のようにして行う。すなわち、CPUコア21は、入力座標リスト51に記憶されている現在位置データ51aと直前位置データ51bとを比較し、現在位置データ51aと直前位置データ51bとが異なる場合、前のフレームからタッチ位置が変化していると判定する。一方、CPUコア21は、現在位置データ51aと直前位置データ51bとが等しい場合、前のフレームからタッチ位置が変化していないと判定する。判定結果が肯定の場合、CPUコア21は、次にステップS18の処理を実行する。判定結果が否定の場合、CPUコア21は、次に処理をステップS15に戻す。
【0060】
ステップS18において、前のフレームからタッチ位置が変化しているため、CPUコア21は、前のフレームと現在のフレームとのタッチ位置の変化量を求め、その変化量に応じた量だけ指示基準位置Pの座標値を変化させる。具体的には、CPUコア21は、入力座標リスト51に記憶されている現在位置データ51aが示す座標値(X2,Y2)と直前位置データ51bが示す座標値(X1,Y1)との差を求めることにより、移動した方向と量を示す移動ベクトル(X2−X1,Y2−Y1)を算出する。そして、CPUコア21は、指示基準位置リスト53に記憶されている指示基準位置Pに算出した移動ベクトルを加える(指示基準位置Pの位置ベクトルと移動ベクトルとの和を求める)ことによって新たな指示基準位置Pの座標値を算出し、指示基準位置リスト53の指示基準位置Pの座標値を更新する。ここで、指示基準位置リスト53における各回に応じた指示基準位置Pが、更新される。すなわち、カウンタiの値に応じて、指示基準位置リスト53のi番目に記憶された指示基準位置Pを示す座標値が、更新される。さらに、CPUコア21は、指示基準位置Pの座標値の更新に伴って、指示線40a及び指示線40bを移動させる。次に、CPUコア21は処理をステップS15に戻す。
【0061】
一方、ステップS16において十字スイッチ14aに対する入力があったと判定された場合、ステップS19の処理が行われる。ステップS19において、CPUコア21は、十字スイッチ14aに対する入力に応じて、指示基準位置Pを移動させる。具体的には、CPUコア21は、十字スイッチ14aが示す方向に所定の量だけ指示基準位置Pの座標値を変化させる。例えば、CPUコア21は、十字スイッチ14aの左右スイッチが押された場合、指示基準位置リスト53に記憶された指示基準位置PのX座標の値を十字スイッチ14aが押された時間に応じた量だけ変化させ、指示基準位置Pの座標値を更新する。より具体的には、CPUコア21は、十字スイッチ14aの左スイッチが押された場合、指示基準位置PのX座標の値を所定量だけ減少させ、十字スイッチ14aの右スイッチが押された場合、指示基準位置PのX座標の値を所定量だけ増加させる。同様に、CPUコア21は、十字スイッチ14aの上スイッチが押された場合、指示基準位置PのY座標の値を所定量だけ減少させ、十字スイッチ14aの下スイッチが押された場合、指示基準位置PのY座標の値を所定量だけ増加させる。そして、CPUコア21は、指示基準位置Pの座標値の更新に伴って、指示線40a及び指示線40bを移動させる。ここで、ステップS18の処理と同様、カウンタiの値に応じて指示基準位置リスト53のi番目に記憶された指示基準位置Pを示す座標値が、更新される。次に、CPUコア21は処理をステップS15に戻す。
【0062】
以上のようにして、ステップS16〜ステップS19の処理では、タッチオフが検出されるまでの間、タッチ位置の移動に応じた指示基準位置Pの移動(ステップS18)、又は、ユーザによる十字スイッチ14aを用いた指示基準位置Pの移動(ステップS19)が行われる。
【0063】
一方、ステップS15においてタッチオフが検出された場合、CPUコア21は、ステップS20の処理を行う。ステップS20において、CPUコア21は、タッチオフ時点でのタッチ位置が指示範囲枠内であったか否かを判定する。具体的には、CPUコア21は、入力座標リスト51に記憶された直前位置データ51b(タッチオフ時点でのタッチ位置を示す電圧値)に基づいてタッチ位置を算出し、そのタッチ位置が指示範囲枠41内にあるか否かを判定する。判定結果が肯定の場合、CPUコア21は、次にステップS21の処理を実行する。判定結果が否定の場合、CPUコア21は、ユーザに再度の入力を促す文字列を表示した後、処理をステップS14に戻す。
【0064】
ステップS21において、CPUコア21は、タッチオフ時点でのタッチ位置と指示基準位置Pの座標値とを関連付けてRAM24に記憶する。具体的には、CPUコア21は、確定位置リスト52のi番目の確定位置データに入力座標リスト51に記憶された直前位置データ51b(タッチオフ時点でのタッチ位置を示す電圧値)を格納する。従って、上記確定位置データと指示基準位置Pとは、カウンタiによって関連付けられている。すなわち、指示基準位置リスト53に記憶されたi番目の指示基準位置Pと確定位置リスト52に記憶されたi番目の確定位置データとが、カウンタiの値によって(1組の補正データとして)関連付けされている。次に、CPUコア21は、ステップS22の処理を実行する。
【0065】
ステップS22において、CPUコア21は、カウンタiが自然数nより小さいか否かを判定する。ここで、自然数nは、ユーザに指示基準位置Pを指示させる回数であり、図3又は図8に示されるような指示画像(指示線40a、指示線40b及び指示範囲枠41)が表示される回数である。本実施形態では、自然数nは、予め定められており、n=2である。判定結果が肯定の場合、CPUコア21は、ユーザによる指示が所定の回数nを満たしていないとして、処理をステップS12に戻す。判定結果が否定の場合、CPUコア21は、補正式の算出のために、次にステップS23の処理を実行する。
【0066】
ステップS23において、CPUコア21は、RAM24に記憶されたn組の指示基準位置Pと確定位置データとに基づいて補正式を算出する。具体的には、CPUコア21は、指示基準位置リスト53のi番目に記憶された指示基準位置Pと確定位置リスト52に記憶されたi番目の確定位置データとを1組の補正データとして、n組の補正データに基づいて、補正式を算出する。本実施形態では、X軸方向及びY軸方向の補正式を以下のようにして算出する。すなわち、X軸方向(横方向)に対する補正として、CPUコア21は、1番目の確定位置のX座標に関する電圧値と2番目の確定位置のX座標に関する電圧値との電位差Vdxを算出する。次に、CPUコア21は、1番目の指示基準位置PのX座標値と2番目の指示基準位置PのX座標値との差Cdxを算出する。さらに、CPUコア21は、VdxをCdxで除することによって画面(第2のLCD12)の1dotあたりの電圧の変化量を算出する。そして、CPUコア21は、1番目の指示基準位置PのX座標値と1番目の確定位置のX座標に関する電圧値とを基準にして、算出した1dotあたりの電圧の変化量から、各座標点(X座標に関する点)における電圧値を求める。以上のようにして、X軸に関して、タッチパネル15により検出される電圧値と第2のLCD12上の座標値との関係を示した直線の補正式が算出される。また、Y軸方向(縦方向)に対する補正式の算出も同様に行われる。CPUコア21は、補正式を算出した後、所定の処理を行い、処理を終了する。ここで、CPUコア21は、所定の処理として、算出した補正式が正しいか否かを確認し、正しい場合は、ゲーム装置10の不揮発性メモリに算出した補正式のパラメータを保存する。算出した補正式が正しくない場合は、CPUコア21は、キャリブレーションが失敗したことを示すメッセージを表示し、処理を終了する(又はキャリブレーション処理を最初から実行する)。なお、算出した補正式が正しいか否かの確認は、第2のLCD12の中心位置に表示した指示画像をユーザに指示させることによって行う。
【0067】
以上のようにして算出された補正式に基づいて、タッチパネル15により検出された電圧値を補正することにより、第2のLCD12の指示基準位置とタッチパネル15が検出する位置とのずれを解消することができる。
【0068】
なお、本実施形態では、十字スイッチ14aを用いて指示線40a及び指示線40bを移動させたが、Aボタン14d、Bボタン14e、Xボタン14f、およびYボタン14gを用いて指示線40a及び指示線40bを移動させてもよい。この場合、例えば、指示線40aを移動させるために、Aボタン14d及びYボタン14gがそれぞれX軸の正方向及び負方向の移動のために用いられてもよい。同様に、指示線40bを移動させるために、Bボタン14e及びXボタン14fがそれぞれY軸の正方向及び負方向の移動のために用いられてもよい。また、LボタンやRボタンが、指示基準位置P1の移動に用いられてもよい。また、他の実施形態では、種々の入力装置(例えば、ジョイスティックやマウス等相対的な移動方向及び移動量を入力可能な装置)を用いて、指示基準位置Pを移動させてもよい。
【0069】
また、CPUコア21は、タッチパネル15に対するタッチオフを検出した場合に、タッチオフ時点でのタッチ位置を確定位置として決定したが、タッチパネル15に対するタッチオンの状態で例えばAボタン14dが押された場合に、その時点のタッチ位置を確定位置として決定してもよい。すなわち、この場合、ユーザは、スティック16をタッチパネル15にタッチさせたまま、十字スイッチ14aを用いて指示基準位置Pを移動させ、Aボタン14dを押すことにより、タッチ位置を確定する。
【0070】
また、本実施形態では、CPUコア21は、指示線40a及び指示線40bを表示することにより指示基準位置Pを表示したが、他の実施形態では、指示基準位置Pを示す画像であればどのようなものを表示してもよい。例えば、指示基準位置Pを示す点画像が表示されてもよい。また、他の実施形態では、指示範囲枠41は、必ずしも表示されなくてもよい。
【0071】
また、上記では、キャリブレーション処理において、指示基準位置Pの表示を2回行う場合について説明したが、複数回(3回以上)指示基準位置Pの表示を行うことによりユーザに複数回指示基準位置Pを指示させてもよい。この場合において、指示基準位置Pが所定の位置に毎回異なるように、指示線40a及び40bが表示されることが好ましい。この場合において、より正確な補正式の算出が行われてもよい。すなわち、上述したステップS23において、CPUコア21は、ユーザによって指示された2点を用いていわゆる線形補正を行った。他の実施形態では、ユーザに複数点を指示させることにより、CPUコア21は、より正確な指示基準位置Pと電圧値との関係を示す曲線を算出し、算出された曲線に基づいて補正を行ってもよい。このように、キャリブレーション処理において、複数回指示基準位置Pを指示させることにより、より精度の高いキャリブレーションを実行することができる。また、一方で、他の実施形態では、指示基準位置Pの表示を1回行うことにより、補正式が算出されてもよい。タッチパネル15上の位置と電圧値との関係は、所定の傾きを有する直線で表される。しかしながら、当該直線の傾きが一定のままずれる場合がある。従って、このずれを解消するために、第2のLCD12上の1点、例えば、中心位置を指示基準位置Pとしてユーザに指示させる。このようにして1回の指示基準位置Pへの指示で、キャリブレーションを実行する。
【0072】
また、本実施形態では、タッチパネル15から出力されるデータは電圧値であるとし、当該電圧値を用いて、補正式の算出を行った。他の実施形態においては、タッチパネルから出力されるデータはタッチパネル上の座標値であり、当該座標値と第2のLCD12上の座標値とを用いて、補正式を算出してもよい。すなわち、ユーザにより指示基準位置Pを移動させてタッチ位置を確定させることにより、指示基準位置Pと(タッチパネル上の)確定位置とを一致させ、そのときの指示基準位置Pの座標値と確定位置の座標値とのずれを補正値として算出してもよい。これにより、第2のLCD12上の位置とタッチパネル上の位置とを一致させるための補正値を算出することができる。
【0073】
さらに、本実施形態では、タッチパネル15として抵抗膜方式を例にして説明したが、言うまでもなく、他の方式のタッチパネル(例えば、光学式(赤外線方式)や静電容量結合式等)においても本キャリブレーション方法を利用することができる。
【0074】
また、本発明に係るキャリブレーションプログラムは、タッチパネル以外の指示検出手段を備えた装置に対するキャリブレーションにも利用することができる。例えば、ユーザによるタッチを検出する手段と表示手段とが物理的に異なる位置に配置され、当該タッチを検出する手段上の位置と表示手段上の位置とが予め関連付けられた装置おいて、これらの位置の補正にも本発明に係るキャリブレーションプログラムを利用することができる。
【0075】
さらに、他の実施形態においては、本キャリブレーション方法は、タッチパネルを有さない装置、例えば、次に示す据置型のゲーム装置に適用されてもよい。すなわち、ここでいう据置型のゲーム装置は、テレビジョン受像器(テレビと称する)等に映像を表示し、当該テレビ画面上の位置を指示するためのコントローラを有する据置型のゲーム装置である。コントローラは、複数の操作スイッチを有しており、ゲーム装置本体とは無線で接続されている。当該ゲーム装置では、テレビの上部に設置されたマーカ部が発する赤外光をコントローラが受光することにより、ユーザは、コントローラを用いてテレビ画面上の位置を指示する(ポインティングする)。当該ゲーム装置では、ユーザによるポインティング位置の検出が常に行われる。ユーザが指示するテレビ画面上の位置(ポインティング位置)は、理想的には、コントローラの前端部から当該コントローラの長手方向に延ばした直線とテレビの画面とが交わる位置である。このようなゲーム装置においても上述したキャリブレーション方法は有用である。すなわち、ユーザがコントローラを用いてテレビ画面上の位置を指示したと認識する位置と実際に指示されたテレビ画面上の位置とが異なる場合がある。このような位置のずれを上述した方法により、補正することができる。具体的には、例えば、テレビ画面上に指示基準位置Pが表示され、ユーザがコントローラを用いてテレビ画面上の位置をポインティングし、ポインティングした状態でコントローラの操作スイッチを押すことにより、ユーザがテレビ画面上の指示したと認識する位置を決定し、入力を開始する(図10におけるステップS14のタッチオンと同様の操作)。ユーザは、テレビ画面上の指示基準位置Pと自身が指示したと認識する位置とを操作スイッチを用いて一致させる。この場合において、ユーザがコントローラを操作することによりポインティング位置が移動した場合、その移動方向と移動量に応じて指示基準位置Pも移動する。そして、ユーザは、操作スイッチを操作することにより、入力を終了し、その時点でのポインティング位置を確定位置として確定する(図10におけるステップS15のタッチオフと同様の操作)。このようにしてキャリブレーション処理が行われる。または、コントローラにレーザポインタを装着し、レーザポインタによりポイントされた位置とテレビ画面上の指示された位置とのずれが補正されてもよい。
【0076】
また、上記実施形態では、指示画像(指示線40a及び40b)を用いて表示手段(第2のLCD12)上の所定の位置に指示基準位置が初期的に示されたが、他の実施形態では、指示基準位置は初期的に示されなくてもよい。例えば、指示を開始した位置(タッチオンした位置。又は、上記据置型のゲーム装置においては、操作スイッチを押下した時点でのコントローラによるポインティング位置)に応じた位置を表示手段上の指示基準位置とし、当該指示基準位置を示す指示画像を表示手段に表示してもよい。すなわち、キャリブレーション処理において、初期的には指示画像が表示されず、ユーザによる指示を開始した位置に応じた位置に指示画像が表示される。次に、ユーザは十字スイッチを用いて指示画像を移動させ、指示画像が表示された位置とユーザ自身による指示位置とを一致させる。このようにして、キャリブレーション処理が実行されてもよい。
【産業上の利用可能性】
【0077】
以上のように、本発明は、ユーザが簡単かつ正確にキャリブレーションを実行することができ、例えば、ゲーム装置で実行されるキャリブレーションプログラムや座標検出装置として利用することができる。
【図面の簡単な説明】
【0078】
【図1】一実施形態に係る携帯型のゲーム装置の外観図
【図2】ゲーム装置10の内部構成を示すブロック図
【図3】本実施形態に係るキャリブレーションプログラムが実行された場合に、1点目の指示のために表示される画像を示した図
【図4】ユーザが指示範囲枠41内の点をスティック16を用いてタッチした様子を拡大して示した図
【図5】ユーザが十字スイッチ14aの左スイッチを押した場合に、指示線40aが移動した後の画像を示した図
【図6】ユーザが十字スイッチ14aの上スイッチを押した場合に、指示線40bが移動した後の画像を示した図
【図7】ユーザがタッチパネル15にタッチさせたまま、図4に示されるタッチ位置からスティック16を移動させた場合に表示される画像を示した図
【図8】2点目の指示のために第2のLCD12に表示される画像を示した図
【図9】ゲーム装置10のRAM24のメモリマップを示す図
【図10】本実施形態に係るキャリブレーション処理の詳細を示すフローチャート
【符号の説明】
【0079】
10 ゲーム装置
11 第1のLCD
12 第2のLCD
13 ハウジング
13a 上側ハウジング
13b 下側ハウジング
14 操作スイッチ部
14a 十字スイッチ
14b スタートスイッチ
14c セレクトスイッチ
14d Aボタン
14e Bボタン
14f Xボタン
14g Yボタン
15 タッチパネル
16 スティック
17 メモリカード
17a ROM
17b フラッシュ
18a,18b 音抜き孔
19 電源スイッチ
20 電子回路基板
21 CPUコア
22 バス
23 コネクタ
24 RAM
25 I/F回路
26 第1GPU
27 第2GPU
28 第1VRAM
29 第2VRAM
30a 右スピーカ
30b 左スピーカ
31 LCDコントローラ
32 レジスタ
33 マイクロフォン用孔
34 ワイヤレス通信部
35 挿入口
36 挿入口
37 マイクロフォン
40a、40b 指示線
41 指示範囲枠
P 指示基準位置

【特許請求の範囲】
【請求項1】
ユーザによる位置の指示を検出する指示検出手段を利用可能な情報処理装置のコンピュータにおいて実行されるキャリブレーションプログラムであって、
表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する指示画像表示手段、
前記指示画像表示中に前記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行するキャリブレーション手段、として前記コンピュータを機能させるキャリブレーションプログラム。
【請求項2】
前記情報処理装置は入力手段をさらに利用可能であり、
前記コンピュータを、
ユーザによる継続的な指示を受け付けている間に、ユーザによる前記入力手段への入力に応じて前記指示基準位置を移動させる指示画像移動手段としてさらに機能させ、
前記キャリブレーション手段は、前記確定位置と、前記指示画像移動手段によって移動した前記指示基準位置とに基づいてキャリブレーション処理を実行する、請求項1に記載のキャリブレーションプログラム。
【請求項3】
前記指示検出手段は、タッチパネルであることを特徴とする、請求項1に記載のキャリブレーションプログラム。
【請求項4】
前記キャリブレーション手段は、前記タッチパネルに対するタッチオフが行われた時点の指示位置を前記確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行することを特徴とする、請求項3に記載のキャリブレーションプログラム。
【請求項5】
前記指示画像表示手段は、前記指示基準位置を含む所定範囲を示す指示範囲画像を前記表示手段に表示し、
前記キャリブレーション手段は、前記確定位置が前記所定範囲内にある場合にのみ、前記キャリブレーション処理を実行することを特徴とする、請求項1に記載のキャリブレーションプログラム。
【請求項6】
前記指示画像表示手段は、前記指示検出手段により検出された指示位置がユーザによる継続的な指示の終了までに移動した場合、当該移動した方向と移動量とに応じて前記指示基準位置を移動させることを特徴とする、請求項2に記載のキャリブレーションプログラム。
【請求項7】
前記入力手段は、ユーザによる操作に応じて相対的な移動指示を行うことで、前記指示基準位置を移動させる、請求項2に記載のキャリブレーションプログラム。
【請求項8】
前記入力手段は、方向指示スイッチであることを特徴とする、請求項7に記載のキャリブレーションプログラム。
【請求項9】
前記指示画像表示手段は、前記指示画像の表示を所定サイクル繰り返し、各サイクルで前記指示基準位置を変化させ、
前記キャリブレーション手段は、前記指示画像表示手段による前記指示画像の表示が所定サイクル繰り返されている間、各サイクルに応じて前記確定位置を確定し、各サイクルにおける前記指示基準位置と前記確定位置とを1組の補正データとして各組の補正データに基づいてキャリブレーション処理を実行することを特徴とする、請求項1に記載のキャリブレーションプログラム。
【請求項10】
ユーザによる位置の指示を検出する指示検出手段と、
表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する指示画像表示手段と、
前記指示画像表示中に前記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行するキャリブレーション手段と、を備える座標検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−137009(P2010−137009A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−318634(P2008−318634)
【出願日】平成20年12月15日(2008.12.15)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】