(57)【要約】【課題】ユーザが簡単かつ正確にキャリブレーションを実行することができるキャリブレーションプログラム及びそれを実行する装置を提供する。【解決手段】本発明は、ユーザによる位置の指示を検出する指示検出手段を利用可能な情報処理装置のコンピュータにおいて実行されるキャリブレーションプログラムである。当該キャリブレーションプログラムは、上記コンピュータを、指示画像表示手段、及び、キャリブレーション手段、として機能させる。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。【選択図】図１０
2010137009.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる位置の指示を検出する指示検出手段を利用可能な情報処理装置のコンピュータにおいて実行されるキャリブレーションプログラムであって、
表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する指示画像表示手段、
前記指示画像表示中に前記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行するキャリブレーション手段、として前記コンピュータを機能させるキャリブレーションプログラム。
【請求項２】
前記情報処理装置は入力手段をさらに利用可能であり、
前記コンピュータを、
ユーザによる継続的な指示を受け付けている間に、ユーザによる前記入力手段への入力に応じて前記指示基準位置を移動させる指示画像移動手段としてさらに機能させ、
前記キャリブレーション手段は、前記確定位置と、前記指示画像移動手段によって移動した前記指示基準位置とに基づいてキャリブレーション処理を実行する、請求項１に記載のキャリブレーションプログラム。
【請求項３】
前記指示検出手段は、タッチパネルであることを特徴とする、請求項１に記載のキャリブレーションプログラム。
【請求項４】
前記キャリブレーション手段は、前記タッチパネルに対するタッチオフが行われた時点の指示位置を前記確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行することを特徴とする、請求項３に記載のキャリブレーションプログラム。
【請求項５】
前記指示画像表示手段は、前記指示基準位置を含む所定範囲を示す指示範囲画像を前記表示手段に表示し、
前記キャリブレーション手段は、前記確定位置が前記所定範囲内にある場合にのみ、前記キャリブレーション処理を実行することを特徴とする、請求項１に記載のキャリブレーションプログラム。
【請求項６】
前記指示画像表示手段は、前記指示検出手段により検出された指示位置がユーザによる継続的な指示の終了までに移動した場合、当該移動した方向と移動量とに応じて前記指示基準位置を移動させることを特徴とする、請求項２に記載のキャリブレーションプログラム。
【請求項７】
前記入力手段は、ユーザによる操作に応じて相対的な移動指示を行うことで、前記指示基準位置を移動させる、請求項２に記載のキャリブレーションプログラム。
【請求項８】
前記入力手段は、方向指示スイッチであることを特徴とする、請求項７に記載のキャリブレーションプログラム。
【請求項９】
前記指示画像表示手段は、前記指示画像の表示を所定サイクル繰り返し、各サイクルで前記指示基準位置を変化させ、
前記キャリブレーション手段は、前記指示画像表示手段による前記指示画像の表示が所定サイクル繰り返されている間、各サイクルに応じて前記確定位置を確定し、各サイクルにおける前記指示基準位置と前記確定位置とを１組の補正データとして各組の補正データに基づいてキャリブレーション処理を実行することを特徴とする、請求項１に記載のキャリブレーションプログラム。
【請求項１０】
ユーザによる位置の指示を検出する指示検出手段と、
表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する指示画像表示手段と、
前記指示画像表示中に前記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と前記指示基準位置とに基づいてキャリブレーション処理を実行するキャリブレーション手段と、を備える座標検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示検出手段、例えば、タッチパネルを備えた情報処理装置においてキャリブレーションを実行するキャリブレーションプログラム及びそれを実行する座標検出装置に関する。
【背景技術】
【０００２】
タッチパネルを備えた表示装置では、タッチパネルの個体差や使用されることによる装置部品の物理特性の変化等により、タッチパネルの検出座標と表示部上の表示座標とがずれる場合がある。従来より、このようなずれを補正するため、キャリブレーションを実行する装置が存在する。例えば、特許文献１に記載のタッチパネル装置は、表示部上の所定の位置に指示画像を表示し、ユーザにより当該指示画像をタッチさせることにより、キャリブレーションを実行している。具体的には、特許文献１に記載のタッチパネル装置は、タッチパネル装置上の予め定められた９つの位置に指示画像を表示する。ユーザが当該指示画像をペン又は指で押圧（タッチオン）すると、当該押圧位置が検出される。次に、上記タッチパネル装置は、押圧位置と指示画像の指示基準位置とに基づいて、補正演算式を決定することにより、キャリブレーションを実行する。そして、上記タッチパネル装置は、決定された補正演算式に基づいて、タッチパネルの検出座標と表示部上の表示座標とのずれを補正している。
【特許文献１】特開２００５−１３４９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１に記載のタッチパネル装置には、以下のような課題があった。すなわち、キャリブレーションの実行の際、ユーザは正確に表示画像をタッチオンする必要があり、正確に表示画像をタッチオンできなかった場合は、表示画像へのタッチをやり直す必要があることや、キャリブレーションの実行によって決定された補正量が不正確であることがあった。また、上記特許文献１に記載のタッチパネル装置では、ユーザは実際に表示画像を正確にタッチオンできたか否かを確認することもできない。
【０００４】
それ故、本発明の目的は、ユーザが簡単かつ正確にキャリブレーションを実行することができるキャリブレーションプログラム及びそれを実行する装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００６】
第１の発明は、ユーザによる位置の指示を検出する指示検出手段（タッチパネル１５）を利用可能な情報処理装置（ゲーム装置１０）のコンピュータ（ＣＰＵコア２１）において実行されるキャリブレーションプログラムである。当該キャリブレーションプログラムは、上記コンピュータを、指示画像表示手段（図１０のステップＳ１３。以下ステップ番号のみ表示）、及び、キャリブレーション手段（Ｓ１５、Ｓ２３）、として機能させる。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像（指示線４０ａ及び指示線４０ｂ）を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。
【０００７】
なお、本明細書において「キャリブレーション処理」とは、指示検出手段による指示位置が表示手段上の表示位置に対応するように調整する処理をいう。典型的には、指示位置検出手段の出力を表示手段上の表示位置に対応させて取得するための、指示位置検出手段の出力と表示位置との対応関係（例えば、出力から表示位置座標への変換式）を補正する処理である。
【０００８】
第１の発明によれば、ユーザは、指示検出手段による指示位置と表示手段上の指示画像の表示位置とが対応していることを確認してから、位置の指示を終了し、終了した時点での指示位置を確定位置として決定することができる。これにより、ユーザは正確に指示検出手段による指示位置と指示画像の表示位置とを一致させることができ、正確なキャリブレーションを実行することができる。
【０００９】
第２の発明において、上記情報処理装置は入力手段（入力装置）をさらに利用可能であり、上記コンピュータを、指示画像移動手段（Ｓ１９）としてさらに機能させてもよい。指示画像移動手段は、ユーザによる継続的な指示を受け付けている間に、ユーザによる上記入力手段への入力に応じて前記指示基準位置を移動させる。そして、キャリブレーション手段は、上記確定位置と、指示画像移動手段によって移動した指示基準位置とに基づいて座標補正量を決定する。
【００１０】
第２の発明によれば、ユーザが上記指示基準位置を正確に指示することができなかった場合、当該指示基準位置をユーザが指示した位置に移動させることができる。これにより、ユーザは、ユーザが指示した位置と指示基準位置とを正確に一致させることができ、より正確なキャリブレーションを実行することができる。
【００１１】
第３の発明において、指示検出手段は、タッチパネルであってもよい。
【００１２】
第３の発明によれば、ユーザはタッチパネルを用いて位置の指示をすることができる。
【００１３】
第４の発明において、キャリブレーション手段は、タッチパネルに対するタッチオフが行われた時点の指示位置を上記確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行してもよい。
【００１４】
第４の発明によれば、ユーザはタッチオフした時点でのタッチ位置に基づいてキャリブレーションを実行することができる。これにより、簡単な操作で正確にキャリブレーションを実行することができる。
【００１５】
第５の発明において、指示画像表示手段は、指示基準位置を含む所定範囲を示す指示範囲画像（指示範囲枠４１）を表示手段に表示してもよい。そして、キャリブレーション手段は、上記確定位置が上記所定範囲内にある場合にのみ、上記キャリブレーション処理を実行する。
【００１６】
第５の発明によれば、ユーザに指示させる位置の範囲を表示することができる。これにより、ユーザに位置の指示を促すことができる。さらに、ユーザが上記範囲外の位置を指示した場合、ユーザによる誤操作として処理することができる。
【００１７】
第６の発明において、指示画像表示手段は、指示検出手段により検出された指示位置がユーザによる継続的な指示の終了までに移動した場合、当該移動した方向と移動量とに応じて指示基準位置を移動させてもよい（Ｓ１８）。
【００１８】
第６の発明によれば、ユーザによる継続的な指示の終了までにユーザが指示位置を移動させた場合においても、移動量に応じて指示基準位置が移動するため、ユーザは、指示画像移動手段を用いて正確に指示画像の位置と確定位置とを一致させることができる。
【００１９】
第７の発明において、入力手段は、ユーザによる操作に応じて相対的な移動指示を行うことで、上記指示基準位置を移動させてもよい。ここで、相対的な移動指示とは、移動方向や移動量を入力することによって移動を指示することをいう。
【００２０】
第７の発明によれば、ユーザは、入力手段を用いて所望の方向に所望の距離だけ指示基準位置を移動させることができる。
【００２１】
第８の発明において、入力手段は、方向指示スイッチ（入力装置の十字スイッチ１４ａ）であってもよい。
【００２２】
第８の発明によれば、ユーザは、方向指示スイッチを用いて所望の方向に指示画像を移動させることができる。
【００２３】
第９の発明において、指示画像表示手段は、上記指示画像の表示を所定サイクル繰り返し、各サイクルで上記指示基準位置を変化させてもよい（Ｓ１３）。この場合において、キャリブレーション手段は、指示画像表示手段による指示画像の表示が所定サイクル繰り返されている間（Ｓ２２でＹｅｓの間）、各サイクルに応じて上記確定位置を確定し、各サイクルにおける指示基準位置と上記確定位置とを１組の補正データとして各組の補正データに基づいてキャリブレーション処理を実行してもよい。
【００２４】
第９の発明によれば、ユーザに複数回指示画像を指示させることができる。これにより、より正確なキャリブレーション処理を実行することができる。
【００２５】
第１０の発明は、座標検出装置であり、座標検出装置は、指示検出手段（タッチパネル１５）と、指示画像表示手段（Ｓ１３）と、キャリブレーション手段（Ｓ１５、Ｓ２３）とを備える。指示検出手段は、ユーザによる位置の指示を検出する。指示画像表示手段は、表示手段上の所定の位置である指示基準位置を示す所定の指示画像を表示する。キャリブレーション手段は、上記指示画像表示中に上記指示検出手段を用いたユーザによる指示を受け付けて、ユーザによる継続的な指示が終了した時点の指示位置を確定位置とし、該確定位置と上記指示基準位置とに基づいてキャリブレーション処理を実行する。
【発明の効果】
【００２６】
本発明によれば、ユーザは正確かつ容易に指示画像を指示することができ、より正確なキャリブレーションを実行することができる。
【発明を実施するための最良の形態】
【００２７】
（ゲーム装置の説明）
図面を参照して、本発明の一実施形態に係るキャリブレーションプログラムを実行する携帯型のゲーム装置について説明する。図１は、本発明の一実施形態に係る携帯型のゲーム装置の外観図である。ただし、本発明は、携帯型のゲーム装置に限らず、表示装置とタッチパネルとを有する任意の情報処理装置（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、タブレット型パーソナルコンピュータ、ＡＴＭ装置、マルチメディア端末等）にも適用可能である。
【００２８】
図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されている。第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２９】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａおよび３０ｂ）からの音を外部に放出するための音抜き孔１８ａおよび１８ｂが形成されている。また、上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３３が設けられている。
【００３０】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、下側ハウジング１３ｂの側面には、図示しないＬボタンおよびＲボタンが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上に指示検出装置であるタッチパネル１５が装着されている。下側ハウジング１３ｂの側面には、電源スイッチ１９、メモリカード１７を接続するための挿入口３５（図１に示す一点鎖線）、スティック１６を収納するための挿入口３６（図１に示す点線）が設けられている。
【００３１】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。本実施形態では、タッチパネル１５は、抵抗膜方式であるものとする。タッチパネル１５は、スティック１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００３２】
メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＥＥＰＲＯＭ１７ｂを搭載し、下部ハウジング１３ｂに設けられた挿入口３５に着脱自在に装着される。図１では省略するが、挿入口３５の奥部には、メモリカード１７の挿入方向先端部に設けられるコネクタと接合するための第１コネクタ２３（図２参照）が設けられている。メモリカード１７が挿入口３５に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア２１（図２参照）がメモリカード１７にアクセス可能となる。
【００３３】
次に、図２を参照してゲーム装置１０の内部構成を説明する。図２は、ゲーム装置１０の内部構成を示すブロック図である。図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３４が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３７が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。マイクロフォン３７は、マイクロフォン用孔３３の内側に配置される。
【００３４】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第１の表示画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３５】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第１のＬＣＤ１１に出力する。
【００３６】
ワイヤレス通信部３４は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置１０は、ワイヤレス通信部３４を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【００３７】
（キャリブレーション方法の説明）
次に、図３から図８を用いて、本発明に係るキャリブレーションプログラムの概要について説明する。本発明に係るキャリブレーションプログラムは、ユーザが明示的に実行を指示することにより、ＲＡＭ２４に読み込まれ、ＣＰＵコア２１により実行される。なお、キャリブレーションプログラムは、予めゲーム装置１０の不揮発性メモリ（図示せず）に記憶されている。本実施形態では、キャリブレーション処理は、第２のＬＣＤ１２上の２点をユーザにより正確に指示させることにより行われる。
【００３８】
まず、ＣＰＵコア２１は、ユーザに１点目の指示を行わせるための画像を第２のＬＣＤ１２に表示する。図３は、本実施形態に係るキャリブレーションプログラムが実行された場合に、１点目の指示のために表示される画像を示した図である。図３においては、ユーザに位置を指示させるための指示基準位置Ｐ１を示すための指示線４０ａと、指示線４０ｂと、指示範囲枠４１とが表示されている。図３に示されるように、第２のＬＣＤ１２では、画面の左上の点を原点Ｏとして、原点Ｏから右方向にＸ軸（座標値０〜２５５）、原点Ｏから下方向にＹ軸（座標値０〜１９１）が設けられる。指示基準位置Ｐ１は、第２のＬＣＤ１２上の位置を示し、Ｘ軸及びＹ軸に関する座標値で表される。指示線４０ａ及び指示線４０ｂは、その交点が指示基準位置Ｐ１を示すように第２のＬＣＤ１２上に表示される。指示線４０ａはＹ軸に平行な直線であり、指示線４０ｂはＸ軸に平行な直線である。また、指示範囲枠４１は、指示基準位置Ｐ１を含む所定範囲を示す画像であり、ユーザによる位置指示を促すために表示される。なお、図３においては、指示基準位置Ｐ１は、黒点画像により表示されているが、実際には当該黒点は表示されず、指示基準位置Ｐ１は、指示線４０ａ及び指示線４０ｂにより示される。
【００３９】
ユーザは、図３に示されるような画面が表示された場合、スティック１６を用いて、指示基準位置Ｐ１上をタッチ（指示）する。ユーザによるタッチパネル１５へのタッチが行われた場合、タッチパネル１５は、そのタッチ位置（指示位置）を示す電圧値をＩ／Ｆ回路２５を介して、ＣＰＵコア２１に送信する。タッチパネル１５上のタッチ位置を示す電圧値の検出は、常時行われ、所定の単位時間間隔でタッチ位置を示す電圧値がＣＰＵコア２１に対して送信される。一方、ユーザによるタッチパネル１５へのタッチが行われない場合、タッチパネル１５は、タッチが行われないことを示す値をＣＰＵコア２１に対して送信する。ＣＰＵコア２１は、受信したタッチパネル１５上のタッチ位置を示す電圧値をＲＡＭ２４に一時的に格納する。従って、ＲＡＭ２４には、常にタッチパネル１５により検出された最新のタッチ位置を示す電圧値が格納される。すなわち、ユーザがタッチパネル１５に対してタッチした状態のままスティック１６を移動させた場合、移動後のタッチ位置を示す電圧値が、ＲＡＭ２４に格納される。そして、ＣＰＵコア２１は、ユーザがタッチパネル１５からスティック１６を離した（タッチオフした）場合、タッチオフ時点でのタッチ位置を示す電圧値を確定位置の電圧値として決定し、その電圧値をＲＡＭ２４に記憶しておく。ここで、確定位置とは、ユーザがタッチパネル１５に対するタッチ位置を確定した位置である。すなわち、確定位置は、ユーザが指示基準位置Ｐ１を確実にタッチしたと見なされたタッチパネル１５上の位置であり、キャリブレーション実行の際の基準となるデータとして利用される。そして、ＣＰＵコア２１は、上記タッチパネル１５上の確定位置と第２のＬＣＤ１２上の指示基準位置Ｐ１とに基づいて、補正式を算出する。なお、ユーザが指示範囲枠４１外の位置でタッチオフした場合、ＣＰＵコア２１は、位置指示失敗として、ユーザに対して再度の入力を求める。また、ＣＰＵコア２１は、ユーザが指示範囲枠４１外の位置をタッチオンした場合においても、タッチオンした時点で位置指示失敗としてユーザに対して再度の入力を求めてもよい。
【００４０】
図４は、ユーザが指示範囲枠４１内の点をスティック１６を用いてタッチした様子を拡大して示した図である。図４に示されるように、ユーザによりタッチされた位置（タッチ位置）Ｔ１は、指示基準位置Ｐ１とは一致していない。なお、図４ではタッチ位置Ｔ１は、黒点により表示されているが、実際には当該黒点は第２のＬＣＤ１２上には表示されない。
【００４１】
この場合において、ユーザは、スティック１６をタッチパネル１５にタッチさせたまま、タッチ位置Ｔ１と指示基準位置Ｐ１とが一致するように、十字スイッチ１４ａを用いて、指示線４０ａ及び指示線４０ｂを移動させる。具体的には、ユーザは、指示線４０ａがタッチ位置Ｔ１を通るように、十字スイッチ１４ａの左スイッチを押す。十字スイッチ１４ａの左スイッチが押された場合、ＣＰＵコア２１は、指示線４０ａをＸ軸の負方向（左方向）に所定距離だけ移動させる。すなわち、ＣＰＵコア２１は、十字スイッチ１４ａが指し示す方向に、指示線４０ａを所定距離だけ移動させる。そして、ユーザは、指示線４０ａがタッチ位置Ｔ１を通るようになるまで、十字スイッチ１４ａの左スイッチを押す。図５は、ユーザが十字スイッチ１４ａの左スイッチを押した場合に、指示線４０ａが移動した後の画像を示した図である。図５に示されるように、指示基準位置Ｐ１のＸ座標の値を示す指示線４０ａが、図４に示される位置よりも左方向に移動し、タッチ位置Ｔ１のＸ座標の値と一致している。
【００４２】
また、ユーザは、指示線４０ｂがタッチ位置Ｔ１を通るように、十字スイッチ１４ａの上スイッチを押す。十字スイッチ１４ａの上スイッチが押された場合、ＣＰＵコア２１は、指示線４０ｂをＹ軸の負方向（上方向）に所定距離だけ移動させる。図６は、ユーザが十字スイッチ１４ａの上スイッチを押した場合に、指示線４０ｂが移動した後の画像を示した図である。図６に示されるように、指示基準位置Ｐ１のＹ座標の値を示す指示線４０ｂが、図４に示される位置よりも上方向に移動し、タッチ位置Ｔ１のＹ座標の値と一致している。
【００４３】
タッチ位置Ｔ１と指示基準位置Ｐ１とが一致したことを確認したユーザは、タッチオフ（スティック１６をタッチパネル１５から離す）する。ＣＰＵコア２１は、タッチオフを検出した場合、上述したように、タッチオフ時点でのタッチ位置を示す電圧値を指示基準位置Ｐ１に対する確定位置としてＲＡＭ２４に記憶する。
【００４４】
このようにして、ユーザは、直感的に分かりやすく指示線４０ａ及び指示線４０ｂを移動させることができ、容易にタッチ位置Ｔ１と指示基準位置Ｐ１とを一致させることができる。
【００４５】
次に、ユーザが図４に示されるようにタッチパネル１５にスティック１６をタッチさせたまま、タッチ位置Ｔ１を移動させた場合について、説明する。
【００４６】
図７は、ユーザがタッチパネル１５にスティック１６をタッチさせたまま、図４に示されるタッチ位置からスティック１６を移動させた場合に表示される画像を示した図である。図７に示されるように、タッチ位置が、矢印で示される方向に移動量ｄだけ移動し、タッチ位置が位置Ｔ１’に変化している。この場合において、指示基準位置Ｐ１も同じ方向に同じ移動量ｄだけ移動する。具体的には、移動量ｄのＸ方向成分をｄｘ、移動量ｄのＹ方向成分をｄｙとした場合、指示線４０ａがＸ軸の正方向にｄｘ、指示線４０ｂがＹ軸の正方向にｄｙだけ移動することによって、指示基準位置Ｐ１が移動する。このようにタッチ位置Ｔ１の移動に伴って指示基準位置Ｐ１も同じ方向に同じ量だけ移動することにより、ユーザが十字スイッチ１４ａを操作している間にタッチ位置が移動した場合においても、十字スイッチ１４ａを用いることにより正確に指示基準位置Ｐ１とタッチ位置とを一致させることができる。すなわち、ユーザが十字スイッチ１４ａを用いて指示基準位置をタッチ位置に近づけている途中でタッチ位置が移動してしまった場合においても、指示基準位置とタッチ位置との位置関係は維持され、ユーザは指示基準位置をタッチ位置に一致させる操作を再開することができる。
【００４７】
次に、ユーザが１点目の指示基準位置Ｐ１に対する確定位置を決定した後、ＣＰＵコア２１は、２点目の指示を示す画像を第２のＬＣＤ１２に表示する。図８は、２点目の指示のために第２のＬＣＤ１２に表示される画像を示した図である。図８に示されるように、２点目の指示基準位置Ｐ２は、１点目の指示基準位置Ｐ１とは異なる位置（画面右下の位置）に表示される。そして、１点目の指示基準位置Ｐ１と同様の手順により、２点目の指示基準位置Ｐ２に対する確定位置が決定される。
【００４８】
以上のようにして、指示基準位置Ｐと確定位置とを正確に一致させることにより、より正確なキャリブレーションを実行することができる。
【００４９】
次に、本実施形態に係るキャリブレーションプログラムの詳細な処理について説明する。まず、キャリブレーション処理の際にＲＡＭ２４に記憶されるデータについて説明する。図９は、ゲーム装置１０のＲＡＭ２４のメモリマップを示す図である。キャリブレーション処理の際、ＲＡＭ２４には、入力座標リスト５１、確定位置リスト５２、指示基準位置リスト５３等が記憶される。これらのデータの他、ＲＡＭ２４には、キャリブレーションプログラムやプログラム画像のデータ、ユーザによる入力装置（十字スイッチ１４ａ等）への入力データ等が記憶される。
【００５０】
入力座標リスト５１は、ユーザによる入力が行われたタッチパネル１５上の位置を示す座標値に応じた電圧値の集合データである。本実施形態では、ユーザによって入力されたタッチパネル１５上の位置を示す電圧値は、所定の単位時間間隔（１フレーム時間）で検出される。検出された電圧値を所定の方法で変換することにより、タッチされた位置は座標値として表現される。本実施形態では、現在検出されているタッチパネル１５上の位置（現在位置）を示す電圧値（現在位置データ５１ａ）と直前に検出されたタッチパネル１５上の位置（直前位置）を示す電圧値（直前位置データ５１ｂ）とが、入力座標リスト５１に記憶される。すなわち、各フレーム時間において、そのフレーム時間で検出された位置を示す電圧値が現在位置データ５１ａとして入力座標リスト５１に記憶され、直前のフレーム時間で検出された位置を示す電圧値が直前位置データ５１ｂとして入力座標リスト５１に記憶される。より具体的には、各フレーム時間において、入力座標リスト５１の現在位置データ５１ａが、検出された座標値（Ｘ３，Ｙ３）を示す電圧値に更新され、入力座標リスト５１の直前位置データ５１ｂが、更新される前の入力座標リスト５１に記憶されていた現在位置データ５１ａに更新される。現在のフレーム時間において、タッチパネル１５に対するタッチが検出されなかった場合、入力座標リスト５１の現在位置には、タッチされなかったことを示す値が記憶される。
【００５１】
確定位置リスト５２は、ユーザがタッチ位置を確定したタッチパネル１５上の位置を示す座標値に応じた電圧値の集合データである。ユーザがスティック１６をタッチパネル１５から離した場合（タッチオフした場合）、タッチオフした時点でのタッチ位置を示す電圧値が確定位置リスト５２に確定位置を示す電圧値（確定位置データ）として記憶される。本実施形態では、指示基準位置Ｐの表示と確定位置の決定とが所定の回数行われるため、確定位置データは順番に記憶され、最終的には確定位置リスト５２には所定の数の確定位置データが記憶される。具体的には、１回目の確定位置データ５２ａは確定位置リスト５２の１番目に、２回目の確定位置データ５２ｂは確定位置リスト５２の２番目に記憶される。
【００５２】
指示基準位置リスト５３は、ユーザにタッチさせる位置を示す（第２のＬＣＤ１２上の）座標値の集合（座標値群）データである。本実施形態では、ユーザにタッチさせる位置を示す指示基準位置Ｐの表示が、所定回数行われる。本実施形態では、指示基準位置Ｐの座標値は、指示基準位置リスト５３に順番に記憶される。具体的には、１回目の指示基準位置Ｐの座標値が指示基準位置リスト５３の１番目に、２回目の指示基準位置Ｐの座標値が指示基準位置リスト５３の２番目に記憶される。指示基準位置Ｐは、上述したように、各回に応じた所定の位置に初期的に表示される（図３及び図８）。すなわち、本キャリブレーションプログラムが実行される際、指示基準位置リスト５３の各指示基準位置Ｐ（指示基準位置５３ａ及び指示基準位置５３ｂ）には、初期的に予め定められたそれぞれ異なる座標値が記憶される。一方、ユーザは、表示された指示基準位置Ｐ（図３における指示線４０ａと指示線４０ｂとの交点）をタッチし、場合によっては十字スイッチ１４ａを用いて指示基準位置Ｐを移動させる（図５及び図６に示されるように、指示線４０ａ及び指示線４０ｂを移動させる）。また、上述したように、ユーザがタッチした状態でタッチ位置を移動させた場合、指示基準位置Ｐはそのタッチ位置の移動量に応じて移動する（図７）。このようにして指示基準位置Ｐが移動した場合、指示基準位置リスト５３に記憶される座標値は、更新される。
【００５３】
次に、キャリブレーション処理の詳細について図１０を用いて説明する。図１０は、本実施形態に係るキャリブレーション処理の詳細を示すフローチャートである。
【００５４】
まず、ステップＳ１１において、ＣＰＵコア２１は、カウンタｉを０にセットする。ここでカウンタｉは、指示画像が表示された回数を示す。すなわち、キャリブレーション処理において、１回目の指示画像が表示される場合（図３に示される画像が表示される場合）カウンタｉは１となり、２回目の指示画像が表示される場合（図８に示される画像が表示される場合）カウンタｉは２となる。次に、ＣＰＵコア２１は、ステップＳ１２の処理を実行する。ステップＳ１２において、ＣＰＵコア２１は、カウンタｉに１を加えた値を新たなカウンタｉの値として保存する。次に、ＣＰＵコア２１は、ステップＳ１３の処理を実行する。
【００５５】
ステップＳ１３において、ＣＰＵコア２１は、カウンタｉの値に応じた位置に指示基準位置Ｐを表示する。すなわち、ＣＰＵコア２１は、カウンタｉの値に応じて指示線４０ａ及び指示線４０ｂを第２のＬＣＤ１２に表示させる。具体的には、ＣＰＵコア２１は、ＲＡＭ２４に記憶された指示基準位置リスト５３のｉ番目の指示基準位置Ｐを取得する。ＣＰＵコア２１は、取得した指示基準位置ＰのＸ座標値に従って指示線４０ａを、Ｙ座標値に従って指示線４０ｂを、それぞれ第２のＬＣＤ１２に表示させる。なお、指示基準位置Ｐは、カウンタｉの値に応じてそれぞれ異なる位置に予め定められている（例えば、１回目は図３に示される位置、２回目は図８に示される位置）。次に、ＣＰＵコア２１は、ステップＳ１４の処理を実行する。
【００５６】
ステップＳ１４において、ＣＰＵコア２１は、タッチパネル１５に対してタッチオンされたか否かの判定を行う。ステップＳ１４の判定において、ＣＰＵコア２１は、タッチパネル１５により前回のフレーム時間で検出された電圧値がタッチされなかったことを示す値であり、かつ、今回のフレーム時間でタッチ位置が検出された場合、タッチオンされたと判定する。具体的には、ＣＰＵコア２１は、入力座標リスト５１の直前位置データ５１ｂが、タッチが検出されなかったことを示す値であり、かつ、入力座標リスト５１の現在位置データ５１ａがタッチ位置を示す電圧値である場合、タッチオンを検出する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ１５の処理を実行する。判定結果が否定の場合、ＣＰＵコア２１は、ステップＳ１４の処理を繰り返し実行する。
【００５７】
ステップＳ１５において、ＣＰＵコア２１は、タッチパネル１５に対してタッチオフされたか否かの判定を行う。ステップＳ１５の判定において、ＣＰＵコア２１は、タッチパネル１５により前回のフレーム時間でタッチ位置が検出されており、かつ、今回のフレーム時間で検出された電圧値がタッチされなかったことを示す値である場合、タッチオフされたと判定する。具体的には、ＣＰＵコア２１は、入力座標リスト５１の直前位置データ５１ｂがタッチ位置を示す電圧値であり、かつ、入力座標リスト５１の現在位置データ５１ａが、タッチが検出されなかったことを示す値である場合、タッチオフを検出する。判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ１６〜Ｓ１９の処理を行う。一方、判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ２０の処理を行う。
【００５８】
ステップＳ１６において、ＣＰＵコア２１は、十字スイッチ１４ａに対する入力があったか否かの判定を行う。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ１９の処理を実行する。判定結果が否定の場合、ＣＰＵコア２１は、次にステップＳ１７の処理を実行する。
【００５９】
ステップＳ１７において、ＣＰＵコア２１は、前のフレームからタッチ位置が変化したか否かの判定を行う。ステップＳ１７において、ＣＰＵコア２１は、前のフレームからタッチ位置が変化したか否かの判定を次のようにして行う。すなわち、ＣＰＵコア２１は、入力座標リスト５１に記憶されている現在位置データ５１ａと直前位置データ５１ｂとを比較し、現在位置データ５１ａと直前位置データ５１ｂとが異なる場合、前のフレームからタッチ位置が変化していると判定する。一方、ＣＰＵコア２１は、現在位置データ５１ａと直前位置データ５１ｂとが等しい場合、前のフレームからタッチ位置が変化していないと判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ１８の処理を実行する。判定結果が否定の場合、ＣＰＵコア２１は、次に処理をステップＳ１５に戻す。
【００６０】
ステップＳ１８において、前のフレームからタッチ位置が変化しているため、ＣＰＵコア２１は、前のフレームと現在のフレームとのタッチ位置の変化量を求め、その変化量に応じた量だけ指示基準位置Ｐの座標値を変化させる。具体的には、ＣＰＵコア２１は、入力座標リスト５１に記憶されている現在位置データ５１ａが示す座標値（Ｘ２，Ｙ２）と直前位置データ５１ｂが示す座標値（Ｘ１，Ｙ１）との差を求めることにより、移動した方向と量を示す移動ベクトル（Ｘ２−Ｘ１，Ｙ２−Ｙ１）を算出する。そして、ＣＰＵコア２１は、指示基準位置リスト５３に記憶されている指示基準位置Ｐに算出した移動ベクトルを加える（指示基準位置Ｐの位置ベクトルと移動ベクトルとの和を求める）ことによって新たな指示基準位置Ｐの座標値を算出し、指示基準位置リスト５３の指示基準位置Ｐの座標値を更新する。ここで、指示基準位置リスト５３における各回に応じた指示基準位置Ｐが、更新される。すなわち、カウンタｉの値に応じて、指示基準位置リスト５３のｉ番目に記憶された指示基準位置Ｐを示す座標値が、更新される。さらに、ＣＰＵコア２１は、指示基準位置Ｐの座標値の更新に伴って、指示線４０ａ及び指示線４０ｂを移動させる。次に、ＣＰＵコア２１は処理をステップＳ１５に戻す。
【００６１】
一方、ステップＳ１６において十字スイッチ１４ａに対する入力があったと判定された場合、ステップＳ１９の処理が行われる。ステップＳ１９において、ＣＰＵコア２１は、十字スイッチ１４ａに対する入力に応じて、指示基準位置Ｐを移動させる。具体的には、ＣＰＵコア２１は、十字スイッチ１４ａが示す方向に所定の量だけ指示基準位置Ｐの座標値を変化させる。例えば、ＣＰＵコア２１は、十字スイッチ１４ａの左右スイッチが押された場合、指示基準位置リスト５３に記憶された指示基準位置ＰのＸ座標の値を十字スイッチ１４ａが押された時間に応じた量だけ変化させ、指示基準位置Ｐの座標値を更新する。より具体的には、ＣＰＵコア２１は、十字スイッチ１４ａの左スイッチが押された場合、指示基準位置ＰのＸ座標の値を所定量だけ減少させ、十字スイッチ１４ａの右スイッチが押された場合、指示基準位置ＰのＸ座標の値を所定量だけ増加させる。同様に、ＣＰＵコア２１は、十字スイッチ１４ａの上スイッチが押された場合、指示基準位置ＰのＹ座標の値を所定量だけ減少させ、十字スイッチ１４ａの下スイッチが押された場合、指示基準位置ＰのＹ座標の値を所定量だけ増加させる。そして、ＣＰＵコア２１は、指示基準位置Ｐの座標値の更新に伴って、指示線４０ａ及び指示線４０ｂを移動させる。ここで、ステップＳ１８の処理と同様、カウンタｉの値に応じて指示基準位置リスト５３のｉ番目に記憶された指示基準位置Ｐを示す座標値が、更新される。次に、ＣＰＵコア２１は処理をステップＳ１５に戻す。
【００６２】
以上のようにして、ステップＳ１６〜ステップＳ１９の処理では、タッチオフが検出されるまでの間、タッチ位置の移動に応じた指示基準位置Ｐの移動（ステップＳ１８）、又は、ユーザによる十字スイッチ１４ａを用いた指示基準位置Ｐの移動（ステップＳ１９）が行われる。
【００６３】
一方、ステップＳ１５においてタッチオフが検出された場合、ＣＰＵコア２１は、ステップＳ２０の処理を行う。ステップＳ２０において、ＣＰＵコア２１は、タッチオフ時点でのタッチ位置が指示範囲枠内であったか否かを判定する。具体的には、ＣＰＵコア２１は、入力座標リスト５１に記憶された直前位置データ５１ｂ（タッチオフ時点でのタッチ位置を示す電圧値）に基づいてタッチ位置を算出し、そのタッチ位置が指示範囲枠４１内にあるか否かを判定する。判定結果が肯定の場合、ＣＰＵコア２１は、次にステップＳ２１の処理を実行する。判定結果が否定の場合、ＣＰＵコア２１は、ユーザに再度の入力を促す文字列を表示した後、処理をステップＳ１４に戻す。
【００６４】
ステップＳ２１において、ＣＰＵコア２１は、タッチオフ時点でのタッチ位置と指示基準位置Ｐの座標値とを関連付けてＲＡＭ２４に記憶する。具体的には、ＣＰＵコア２１は、確定位置リスト５２のｉ番目の確定位置データに入力座標リスト５１に記憶された直前位置データ５１ｂ（タッチオフ時点でのタッチ位置を示す電圧値）を格納する。従って、上記確定位置データと指示基準位置Ｐとは、カウンタｉによって関連付けられている。すなわち、指示基準位置リスト５３に記憶されたｉ番目の指示基準位置Ｐと確定位置リスト５２に記憶されたｉ番目の確定位置データとが、カウンタｉの値によって（１組の補正データとして）関連付けされている。次に、ＣＰＵコア２１は、ステップＳ２２の処理を実行する。
【００６５】
ステップＳ２２において、ＣＰＵコア２１は、カウンタｉが自然数ｎより小さいか否かを判定する。ここで、自然数ｎは、ユーザに指示基準位置Ｐを指示させる回数であり、図３又は図８に示されるような指示画像（指示線４０ａ、指示線４０ｂ及び指示範囲枠４１）が表示される回数である。本実施形態では、自然数ｎは、予め定められており、ｎ＝２である。判定結果が肯定の場合、ＣＰＵコア２１は、ユーザによる指示が所定の回数ｎを満たしていないとして、処理をステップＳ１２に戻す。判定結果が否定の場合、ＣＰＵコア２１は、補正式の算出のために、次にステップＳ２３の処理を実行する。
【００６６】
ステップＳ２３において、ＣＰＵコア２１は、ＲＡＭ２４に記憶されたｎ組の指示基準位置Ｐと確定位置データとに基づいて補正式を算出する。具体的には、ＣＰＵコア２１は、指示基準位置リスト５３のｉ番目に記憶された指示基準位置Ｐと確定位置リスト５２に記憶されたｉ番目の確定位置データとを１組の補正データとして、ｎ組の補正データに基づいて、補正式を算出する。本実施形態では、Ｘ軸方向及びＹ軸方向の補正式を以下のようにして算出する。すなわち、Ｘ軸方向（横方向）に対する補正として、ＣＰＵコア２１は、１番目の確定位置のＸ座標に関する電圧値と２番目の確定位置のＸ座標に関する電圧値との電位差Ｖｄｘを算出する。次に、ＣＰＵコア２１は、１番目の指示基準位置ＰのＸ座標値と２番目の指示基準位置ＰのＸ座標値との差Ｃｄｘを算出する。さらに、ＣＰＵコア２１は、ＶｄｘをＣｄｘで除することによって画面（第２のＬＣＤ１２）の１ｄｏｔあたりの電圧の変化量を算出する。そして、ＣＰＵコア２１は、１番目の指示基準位置ＰのＸ座標値と１番目の確定位置のＸ座標に関する電圧値とを基準にして、算出した１ｄｏｔあたりの電圧の変化量から、各座標点（Ｘ座標に関する点）における電圧値を求める。以上のようにして、Ｘ軸に関して、タッチパネル１５により検出される電圧値と第２のＬＣＤ１２上の座標値との関係を示した直線の補正式が算出される。また、Ｙ軸方向（縦方向）に対する補正式の算出も同様に行われる。ＣＰＵコア２１は、補正式を算出した後、所定の処理を行い、処理を終了する。ここで、ＣＰＵコア２１は、所定の処理として、算出した補正式が正しいか否かを確認し、正しい場合は、ゲーム装置１０の不揮発性メモリに算出した補正式のパラメータを保存する。算出した補正式が正しくない場合は、ＣＰＵコア２１は、キャリブレーションが失敗したことを示すメッセージを表示し、処理を終了する（又はキャリブレーション処理を最初から実行する）。なお、算出した補正式が正しいか否かの確認は、第２のＬＣＤ１２の中心位置に表示した指示画像をユーザに指示させることによって行う。
【００６７】
以上のようにして算出された補正式に基づいて、タッチパネル１５により検出された電圧値を補正することにより、第２のＬＣＤ１２の指示基準位置とタッチパネル１５が検出する位置とのずれを解消することができる。
【００６８】
なお、本実施形態では、十字スイッチ１４ａを用いて指示線４０ａ及び指示線４０ｂを移動させたが、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇを用いて指示線４０ａ及び指示線４０ｂを移動させてもよい。この場合、例えば、指示線４０ａを移動させるために、Ａボタン１４ｄ及びＹボタン１４ｇがそれぞれＸ軸の正方向及び負方向の移動のために用いられてもよい。同様に、指示線４０ｂを移動させるために、Ｂボタン１４ｅ及びＸボタン１４ｆがそれぞれＹ軸の正方向及び負方向の移動のために用いられてもよい。また、ＬボタンやＲボタンが、指示基準位置Ｐ１の移動に用いられてもよい。また、他の実施形態では、種々の入力装置（例えば、ジョイスティックやマウス等相対的な移動方向及び移動量を入力可能な装置）を用いて、指示基準位置Ｐを移動させてもよい。
【００６９】
また、ＣＰＵコア２１は、タッチパネル１５に対するタッチオフを検出した場合に、タッチオフ時点でのタッチ位置を確定位置として決定したが、タッチパネル１５に対するタッチオンの状態で例えばＡボタン１４ｄが押された場合に、その時点のタッチ位置を確定位置として決定してもよい。すなわち、この場合、ユーザは、スティック１６をタッチパネル１５にタッチさせたまま、十字スイッチ１４ａを用いて指示基準位置Ｐを移動させ、Ａボタン１４ｄを押すことにより、タッチ位置を確定する。
【００７０】
また、本実施形態では、ＣＰＵコア２１は、指示線４０ａ及び指示線４０ｂを表示することにより指示基準位置Ｐを表示したが、他の実施形態では、指示基準位置Ｐを示す画像であればどのようなものを表示してもよい。例えば、指示基準位置Ｐを示す点画像が表示されてもよい。また、他の実施形態では、指示範囲枠４１は、必ずしも表示されなくてもよい。
【００７１】
また、上記では、キャリブレーション処理において、指示基準位置Ｐの表示を２回行う場合について説明したが、複数回（３回以上）指示基準位置Ｐの表示を行うことによりユーザに複数回指示基準位置Ｐを指示させてもよい。この場合において、指示基準位置Ｐが所定の位置に毎回異なるように、指示線４０ａ及び４０ｂが表示されることが好ましい。この場合において、より正確な補正式の算出が行われてもよい。すなわち、上述したステップＳ２３において、ＣＰＵコア２１は、ユーザによって指示された２点を用いていわゆる線形補正を行った。他の実施形態では、ユーザに複数点を指示させることにより、ＣＰＵコア２１は、より正確な指示基準位置Ｐと電圧値との関係を示す曲線を算出し、算出された曲線に基づいて補正を行ってもよい。このように、キャリブレーション処理において、複数回指示基準位置Ｐを指示させることにより、より精度の高いキャリブレーションを実行することができる。また、一方で、他の実施形態では、指示基準位置Ｐの表示を１回行うことにより、補正式が算出されてもよい。タッチパネル１５上の位置と電圧値との関係は、所定の傾きを有する直線で表される。しかしながら、当該直線の傾きが一定のままずれる場合がある。従って、このずれを解消するために、第２のＬＣＤ１２上の１点、例えば、中心位置を指示基準位置Ｐとしてユーザに指示させる。このようにして１回の指示基準位置Ｐへの指示で、キャリブレーションを実行する。
【００７２】
また、本実施形態では、タッチパネル１５から出力されるデータは電圧値であるとし、当該電圧値を用いて、補正式の算出を行った。他の実施形態においては、タッチパネルから出力されるデータはタッチパネル上の座標値であり、当該座標値と第２のＬＣＤ１２上の座標値とを用いて、補正式を算出してもよい。すなわち、ユーザにより指示基準位置Ｐを移動させてタッチ位置を確定させることにより、指示基準位置Ｐと（タッチパネル上の）確定位置とを一致させ、そのときの指示基準位置Ｐの座標値と確定位置の座標値とのずれを補正値として算出してもよい。これにより、第２のＬＣＤ１２上の位置とタッチパネル上の位置とを一致させるための補正値を算出することができる。
【００７３】
さらに、本実施形態では、タッチパネル１５として抵抗膜方式を例にして説明したが、言うまでもなく、他の方式のタッチパネル（例えば、光学式（赤外線方式）や静電容量結合式等）においても本キャリブレーション方法を利用することができる。
【００７４】
また、本発明に係るキャリブレーションプログラムは、タッチパネル以外の指示検出手段を備えた装置に対するキャリブレーションにも利用することができる。例えば、ユーザによるタッチを検出する手段と表示手段とが物理的に異なる位置に配置され、当該タッチを検出する手段上の位置と表示手段上の位置とが予め関連付けられた装置おいて、これらの位置の補正にも本発明に係るキャリブレーションプログラムを利用することができる。
【００７５】
さらに、他の実施形態においては、本キャリブレーション方法は、タッチパネルを有さない装置、例えば、次に示す据置型のゲーム装置に適用されてもよい。すなわち、ここでいう据置型のゲーム装置は、テレビジョン受像器（テレビと称する）等に映像を表示し、当該テレビ画面上の位置を指示するためのコントローラを有する据置型のゲーム装置である。コントローラは、複数の操作スイッチを有しており、ゲーム装置本体とは無線で接続されている。当該ゲーム装置では、テレビの上部に設置されたマーカ部が発する赤外光をコントローラが受光することにより、ユーザは、コントローラを用いてテレビ画面上の位置を指示する（ポインティングする）。当該ゲーム装置では、ユーザによるポインティング位置の検出が常に行われる。ユーザが指示するテレビ画面上の位置（ポインティング位置）は、理想的には、コントローラの前端部から当該コントローラの長手方向に延ばした直線とテレビの画面とが交わる位置である。このようなゲーム装置においても上述したキャリブレーション方法は有用である。すなわち、ユーザがコントローラを用いてテレビ画面上の位置を指示したと認識する位置と実際に指示されたテレビ画面上の位置とが異なる場合がある。このような位置のずれを上述した方法により、補正することができる。具体的には、例えば、テレビ画面上に指示基準位置Ｐが表示され、ユーザがコントローラを用いてテレビ画面上の位置をポインティングし、ポインティングした状態でコントローラの操作スイッチを押すことにより、ユーザがテレビ画面上の指示したと認識する位置を決定し、入力を開始する（図１０におけるステップＳ１４のタッチオンと同様の操作）。ユーザは、テレビ画面上の指示基準位置Ｐと自身が指示したと認識する位置とを操作スイッチを用いて一致させる。この場合において、ユーザがコントローラを操作することによりポインティング位置が移動した場合、その移動方向と移動量に応じて指示基準位置Ｐも移動する。そして、ユーザは、操作スイッチを操作することにより、入力を終了し、その時点でのポインティング位置を確定位置として確定する（図１０におけるステップＳ１５のタッチオフと同様の操作）。このようにしてキャリブレーション処理が行われる。または、コントローラにレーザポインタを装着し、レーザポインタによりポイントされた位置とテレビ画面上の指示された位置とのずれが補正されてもよい。
【００７６】
また、上記実施形態では、指示画像（指示線４０ａ及び４０ｂ）を用いて表示手段（第２のＬＣＤ１２）上の所定の位置に指示基準位置が初期的に示されたが、他の実施形態では、指示基準位置は初期的に示されなくてもよい。例えば、指示を開始した位置（タッチオンした位置。又は、上記据置型のゲーム装置においては、操作スイッチを押下した時点でのコントローラによるポインティング位置）に応じた位置を表示手段上の指示基準位置とし、当該指示基準位置を示す指示画像を表示手段に表示してもよい。すなわち、キャリブレーション処理において、初期的には指示画像が表示されず、ユーザによる指示を開始した位置に応じた位置に指示画像が表示される。次に、ユーザは十字スイッチを用いて指示画像を移動させ、指示画像が表示された位置とユーザ自身による指示位置とを一致させる。このようにして、キャリブレーション処理が実行されてもよい。
【産業上の利用可能性】
【００７７】
以上のように、本発明は、ユーザが簡単かつ正確にキャリブレーションを実行することができ、例えば、ゲーム装置で実行されるキャリブレーションプログラムや座標検出装置として利用することができる。
【図面の簡単な説明】
【００７８】
【図１】一実施形態に係る携帯型のゲーム装置の外観図
【図２】ゲーム装置１０の内部構成を示すブロック図
【図３】本実施形態に係るキャリブレーションプログラムが実行された場合に、１点目の指示のために表示される画像を示した図
【図４】ユーザが指示範囲枠４１内の点をスティック１６を用いてタッチした様子を拡大して示した図
【図５】ユーザが十字スイッチ１４ａの左スイッチを押した場合に、指示線４０ａが移動した後の画像を示した図
【図６】ユーザが十字スイッチ１４ａの上スイッチを押した場合に、指示線４０ｂが移動した後の画像を示した図
【図７】ユーザがタッチパネル１５にタッチさせたまま、図４に示されるタッチ位置からスティック１６を移動させた場合に表示される画像を示した図
【図８】２点目の指示のために第２のＬＣＤ１２に表示される画像を示した図
【図９】ゲーム装置１０のＲＡＭ２４のメモリマップを示す図
【図１０】本実施形態に係るキャリブレーション処理の詳細を示すフローチャート
【符号の説明】
【００７９】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  フラッシュ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  マイクロフォン用孔
３４  ワイヤレス通信部
３５  挿入口
３６  挿入口
３７  マイクロフォン
４０ａ、４０ｂ  指示線
４１  指示範囲枠
Ｐ  指示基準位置
【図１】
2010137009.tif 000003
【図２】
2010137009.tif 000004
【図３】
2010137009.tif 000005
【図４】
2010137009.tif 000006
【図５】
2010137009.tif 000007
【図６】
2010137009.tif 000008
【図７】
2010137009.tif 000009
【図８】
2010137009.tif 000010
【図９】
2010137009.tif 000011
【図１０】
2010137009.tif 000012