説明

情報処理装置、情報処理プログラムおよび情報処理方法

【構成】 ゲーム装置10は、CPU(44a)を含み、CPU(44a)は、電源がオンされた状態で、マイコン56からの蓋閉情報を受信すると、加速センサ54からの加速度信号に基づいて歩数をカウントする。歩数に対応する歩数データは、マイコン56内のメモリ56bに第1所定時間(1時間)毎のまとまりで記憶される。また、ゲーム装置10の電源がオンされた状態で、第1モードが設定されている場合に、第2所定時間(24時間)を経過する毎に、第1モードから第2モードに切り替えられる前に、または、ゲーム装置10の電源がオフされる前に、メモリ56bに記憶された歩数データが、NAND型フラッシュメモリ48に自動的に保存される。
【効果】 簡単かつ容易に歩数の長期的な保存を実現することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、歩数を計測および記憶する、情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
この種の情報処理装置の一例が特許文献1に開示されている。この特許文献1の運動情報の記録機能を持った靴では、記録された運動情報を通信手段によりパソコン等に転送し、長期的に運動履歴を表示し管理することが開示されている。
【0003】
また、この種の情報処理装置の他の例が特許文献2に開示されている。この特許文献2の歩数計測システムでは、歩数計の押しボタンを押すことによって歩数管理装置と通信を開始し、歩数計で検出・記録された歩数を歩数管理装置に送信することが開示されている。
【特許文献1】特開2005−237926号[A43B 23/00, A63B 23/04, G01C 22/00]
【特許文献2】特開2010−9328号[G06M 3/00, A63B 23/04, A63B 71/06, A63B 69/00]
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1および2では、歩数計で検出・記録された歩数を、歩数計とは別の装置に送信して歩数を管理するため、そのような別の装置を準備する必要がある。また、歩数計から別の装置へ送信するための操作を行う必要もある。さらに、ユーザがそのような操作を行わないことも考えられ、歩数の長期的な記録・管理が適切に行われない恐れがあった。
【0005】
それゆえに、この発明の主たる目的は、歩数を長期的に保存するための新規な、情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
第1の発明は、歩数検出手段、歩数記憶手段、および保存手段を備える、情報処理装置である。歩数検出手段は、歩数を検出する。歩数記憶手段は、歩数検出手段によって検出された歩数に対応する歩数データを第1メモリに記憶する。保存手段は、第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する。
【0007】
第1によれば、第1メモリに記憶された歩数データを、所定のタイミングで自動的に第2メモリに保存するので、何ら操作を必要とせずに、簡単かつ容易に歩数の長期的な保存を実現することができる。
【0008】
第2の発明は、第1の発明に従属し、状態切替手段をさらに備える。状態切替手段は、情報処理装置の不使用状態と使用状態を切り替える。歩数検出手段は、少なくとも不使用状態のとき、歩数を検出する。保存手段は、少なくとも不使用状態のときに、第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して第2メモリに保存する。
【0009】
第2の発明によれば、情報処理装置の不使用状態において、歩数を検出し、歩数データを所定のタイミングで保存するので、ユーザに意識させることなく歩数を長期的に保存することができる。
【0010】
第3の発明は、第2の発明に従属し、歩数検出手段は、不使用状態のとき、歩数を検出し、使用状態のとき、歩数を検出しない。
【0011】
第3の発明によれば、不使用状態のときに歩数を検出するので、情報処理装置を使用しないときに、歩数計として機能させることができる。
【0012】
第4の発明は、第2の発明に従属し、状態切替手段は、省電力モードと通常モードとを切り替える。歩数検出手段は、省電力モードのとき、歩数を検出する。保存手段は、第1メモリに記憶された歩数データを、省電力モードの間の所定タイミングで一時的に通常モードに切り替えられた後、自動的に読み出して第2メモリに保存する。
【0013】
第4の発明によれば、省電力モードの間に歩数を検出し、所定のタイミングで一時的に通常モードに切り替えて歩数データを保存するので、ユーザに意識させることなく歩数を長期的に保存することができるとともに、保存にかかる消費電力を低減することができる。
【0014】
第5の発明は、第4の発明に従属し、歩数検出手段は、省電力モードのとき、歩数を検出し、通常モードのとき、歩数を検出しない。
【0015】
第5の発明によれば、省電力モードのときに、情報処理装置を歩数計として機能させることができる。
【0016】
第6の発明は、第4の発明に従属し、保存手段は、通常モードのときに、第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して第2メモリに保存する。
【0017】
第6の発明によれば、省電力モードで検出した歩数を、通常モードにおける所定のタイミングで第2メモリに保存することができる。
【0018】
第7の発明は、第2の発明に従属し、状態切替手段は、保存手段が能動化されている状態と不能動化されている状態とを切り替える。歩数検出手段は、不能動化されている状態のとき、歩数を検出する。保存手段は、第1メモリに記憶された歩数データを、不能動化された状態の間の所定のタイミングで一時的に状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して第2メモリに保存する。
【0019】
第7の発明によれば、歩数データを保存する機能が不能動化されている間に歩数を検出し、所定のタイミングで歩数データを保存する機能を一時的に能動化した後に歩数データを保存するので、ユーザに意識させることなく歩数を長期的に保存することができるとともに、歩数を保存する機能に供給する電力を低減することができる。
【0020】
第8の発明は、第7の発明に従属し、歩数検出手段は、保存手段が不能動化されている状態のとき、歩数を検出し、保存手段が能動化されている状態のとき、歩数を検出しない。
【0021】
第8の発明によれば、保存手段が不能動化されている状態のときに、情報処理装置を歩数計として機能させることができる。
【0022】
第9の発明は、第7の発明に従属し、保存手段は、能動化されている状態のとき、第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して第2メモリに保存する。
【0023】
第9の発明によれば、不能動化されたときに検出された歩数を、能動化された状態における所定のタイミングで第2メモリに保存することができる。
【0024】
第10の発明は、第1の発明に従属し、所定のタイミングは、所定時間を経過するタイミングである。
【0025】
第10の発明によれば、所定時間を経過するタイミングで歩数データを保存するので、より確実にかつ定期的に歩数を長期的に保存することができる。
【0026】
第11の発明は、第10の発明に従属し、最初の所定のタイミングは、基準となる時刻から所定時間を経過したときである。たとえば、基準となる時刻としては、情報処理装置の起動または再起動の時刻や情報処理装置をスリープさせる時刻などが該当する。
【0027】
第11の発明によれば、基準となる時刻から所定時間を経過する毎に、第1メモリに記憶された歩数データを第2メモリに保存することができる。
【0028】
第12の発明は、第10の発明に従属し、情報処理装置は、選択手段をさらに備える。選択手段は、電源のオフまたは再起動を選択する。所定のタイミングは、選択手段によって電源のオフまたは再起動が選択されたタイミングである。
【0029】
第12の発明によれば、情報処理装置を終了または再起動する際に確実に歩数を保存することができる。
【0030】
第13の発明は、第1の発明に従属し、第1メモリは、短期間における歩数データを記憶する記憶領域を有している。一方、第2メモリは、第1メモリの記憶領域よりも長期間における歩数データを記録する大容量の記憶領域を有している。
【0031】
第13の発明によれば、容量の異なる第1メモリおよび第2メモリを設けるので、1つの情報処理装置内で、歩数の短期的な記憶から長期的な保存に移行することができる。
【0032】
第14の発明は、第1の発明に従属し、情報処理装置は、情報処理装置用のプログラムを実行する第1モードと別の情報処理装置用のプログラムを実行する第2モードとを切り替えるモード切替手段をさらに備える。保存手段は、第1モードのとき、第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して第2メモリに保存し、第2モードのとき、第1メモリに記憶された歩数データを第2メモリに保存しない。
【0033】
第14の発明によれば、第1モードまたは第2モードで動作される情報処理装置において、第1モードのとき、歩数データを所定のタイミングで第2メモリに保存することができる。
【0034】
第15の発明は、第14の発明に従属し、保存手段は、モード切替手段によって第2モードから第1モードに切り換えられた後、第2モードのときに第1メモリに記憶された歩数データを所定のタイミングで第2メモリに保存する。
【0035】
第15の発明によれば、第2モードで検出された歩数に対応する歩数データを、第1モードに切り換えられた後に、所定のタイミングで第2メモリに保存することができる。したがって、長期的な歩数の保存および管理が可能である。
【0036】
第16の発明は、情報処理プログラムであって、コンピュータを、歩数検出手段、歩数記憶手段、および保存手段として機能させる。歩数検出手段は、歩数を検出する。歩数記憶手段は、歩数検出手段によって検出された歩数に対応する歩数データを第1メモリに記憶する。保存手段は、第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する。
【0037】
第17の発明は、情報処理方法であって、コンピュータは、(a)歩数を検出し、(b)ステップ(a)によって検出された歩数に対応する歩数データを第1メモリに記憶し、そして(c)第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する。
【0038】
第18の発明は、情報処理装置であって、歩数を検出し、検出した歩数に対応する歩数データを第1メモリに記憶するマイコン、および第1メモリに記憶された歩数データを読み出して当該第1メモリとは異なる第2メモリに保存するCPUを備え、CPUは、起動中では、第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して第2メモリに保存し、マイコンからの要求に応じて停止し、停止中では、マイコンからの要求に応じて、第1メモリに記憶された歩数データを読み出して第2メモリに保存する。
【0039】
第19の発明は、歩数を検出し、検出した歩数に対応する歩数データを第1メモリに記憶するマイコン、および第1メモリに記憶された歩数データを読み出して当該第1メモリとは異なる第2メモリに保存するCPUを備える、情報処理装置の情報処理方法であって、CPUは、起動中では、第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して第2メモリに保存し、マイコンからの要求に応じて停止し、停止中では、マイコンからの要求に応じて、第1メモリに記憶された歩数データを読み出して第2メモリに保存する。
【0040】
第16−第19の発明においても、第1の発明と同様に、簡単かつ容易に歩数の長期的な保存を実現することができる。
【発明の効果】
【0041】
この発明によれば、第1メモリに記憶された歩数データを、所定のタイミングで自動的に第2メモリに保存するので、何ら操作を必要とせずに、簡単かつ容易に歩数の長期的な保存を実現することができる。
【0042】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0043】
【図1】図1はこの発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。
【図2】図2はゲーム装置の外観図であり、(A)が閉状態における上面を示し、(B)が閉状態における左側面を示し、(C)が閉状態における正面を示し、(D)が閉状態における右側面を示し、(E)が閉状態における背面を示し、(F)が閉状態における下面を示す。
【図3】図3は3D調整スイッチの動作を説明するための図解図である。
【図4】図4はゲーム装置の電気的構成の一例を示すブロック図である。
【図5】図5は図4の電気的構成の要部(立体LCDとSoCの一部とで構成される立体LCD制御部)を示すブロック図である。
【図6】図6は視差バリア方式による3D/2D表示の原理を説明するための図解図であり、(A)が視差バリアON状態(3D表示)を示し、(B)が視差バリアOFF状態(2D表示)を示す。
【図7】図7は仮想空間において左右2つの仮想カメラでオブジェクトを撮影する様子を示す図解図である。
【図8】図8は2つの仮想カメラによる撮影画像(カメラ間距離が最大値D0の場合)を示す図解図であり、(A)がVRAMの左画像を示し、(B)がVRAMの右画像を示し、(C)が上LCDの立体視画像(3D最大)を示す。
【図9】図9はカメラ間距離による立体視画像の変化を説明するための図解図であり、(A)がカメラ間距離の一例(0.5×D0)を示し、(B)が当該距離に対応する立体視画像(3D中)を示す。
【図10】図10はカメラ間距離による3D調整を説明するための図解図であり、(A)がカメラ間距離の他の例(最小値0)を示し、(B)が当該距離に対応する立体視画像(3D最小=2D)を示す。
【図11】図11は図4に示すメインメモリのメモリマップを示す図解図である。
【図12】図12は図4に示すマイコン内に設けられたメモリのメモリマップを示す図解図である。
【図13】図13は図4に示すCPUの全体処理の第1の一部を示すフロー図である。
【図14】図14は図4に示すCPUの全体処理の第2の一部であって、図13に後続するフロー図である
【図15】図15は図4に示すCPUの全体処理の第3の一部であって、図14に後続するフロー図である。
【図16】図16は図4に示すCPUの全体処理の第4の一部であって、図13に後続するフロー図である。
【図17】図17は図4に示すCPUの全体処理の第5の一部であって、図16に後続するフロー図である。
【図18】図18は図4に示すCPUの歩数保存処理を示すフロー図である。
【図19】図19は図4に示すマイコンの全体処理の第1の一部を示すフロー図である。
【図20】図20は図4に示すマイコンの全体処理の第2の一部であって、図19に後続するフロー図である。
【図21】図21は図4に示すマイコンの全体処理の第3の一部であって、図20に後続するフロー図である。
【図22】図22は図4に示すマイコンの全体処理の第4の他の一部であって、図21に後続するフロー図である。
【図23】図23は図4に示すマイコンの全体処理の第5の一部であって、図19に後続するフロー図である。
【図24】図24は図4に示すマイコンの歩数カウント処理を示すフロー図である。
【発明を実施するための形態】
【0044】
図1および図2には、本発明の一実施例であるゲーム装置10の外観が示される。ゲーム装置10は、折り畳み式のゲーム装置であり、図1は開状態におけるゲーム装置10の正面を示し、図2(A)〜図2(F)は閉状態におけるゲーム装置10の上面、左側面、前面、右側面、背面および下面を示している。
【0045】
ゲーム装置10は、図1に示されるように、互いに回動可能に連結された上側ハウジング10Aおよび下側ハウジング10Bを備え、上側ハウジング10Aの正面には、裸眼3D表示に対応した立体LCD12、内側カメラ18a、3D調整スイッチ20、3Dランプ20A、ならびに左右のスピーカ22aおよび22bなどが設けられる。下側ハウジング10Bの正面には、タッチパネル16付きの下LCD14、A,B,X,Yボタン24a−24d、十字キー(ボタン)24g、ホーム,セレクト,スタートボタン24h−24j、電源ボタン24k、アナログパッド26、およびマイク30が設けられる。
【0046】
また、図2(A)に示されるように、ゲーム装置10の上面(図1に示した上側ハウジング10Aの裏面)には、3D撮影に対応した左右の外側カメラ18bおよび18cが設けられる。また、図2(C)に示されるように、ゲーム装置10の前面には、ヘッドホン端子36、および電源ランプ42aなどが設けられる。また、図2(B),図2(E)および図2(D)に示されるように、ゲーム装置10の左側面から背面に跨ってLボタン24eが設けられ、右側面から背面に跨ってRボタン24fが設けられる。また、ゲーム装置10の左側面には、音量調整スイッチ32およびSDカードスロット34などがさらに設けられ、ゲーム装置10の右側面には、無線スイッチ28、無線ランプ42bなどがさらに設けられる。上述の3D調整スイッチ20は、この右側面から露見している。また、ゲーム装置10の背面には、赤外線受発光部40などがさらに設けられる。そして、図2(E)および図2(F)に示されるように、ゲーム装置10の背面から下面に跨ってゲームカードスロット38が設けられる。
【0047】
立体LCD12は、視差バリア(パララックスバリア)方式による3D液晶(図6参照)であり、裸眼で立体視が可能な画像(裸眼立体視画像)を表示する。立体LCD12では、液晶による視差バリアをOFFすることで、平面画像の表示も可能である。なお、視差バリア方式に限らず、凹凸付のシート(レンチキュラレンズ)を利用するレンチキュラ方式や、その他の裸眼3D方式を採用してもよい。
【0048】
内側カメラ18aは平面画像(2D画像)を撮影し、外側カメラ18bおよび18cは立体視画像(3D画像)を撮影する。プレイヤを撮影した2Dまたは3Dの画像は、ゲームプログラムのようなアプリケーションプログラムへの画像入力として利用可能である。この場合、ゲームプログラムは、画像認識を行うことで、プレイヤの顔や手の動き、視線方向(眼球の向き)などを検出し、検出結果に応じた処理を実行する。内側カメラ18aによる2D画像はまた、下LCD14に表示可能であり、外側カメラ18bおよび18cによる3D画像はまた、立体LCD12に表示可能である。
【0049】
3D調整スイッチ20は、立体LCD12の表示に関して、3Dおよび2Dの間の切り替えを手動で行い、さらには、3Dでの立体感の手動調整をも行うためのスライドスイッチであり、たとえば図3のように動作する。3Dの立体感は、この実施例では、スライダSdが上端にあるとき最大(Sd=1)であり、スライダSdを下げるに従って減少し、下端にあるとき最小(Sd=0)となる。そして、スライダSdを下端まで下げきると、3Dから2Dに切り替わる。
【0050】
なお、詳細は後述するが、このような3Dの立体感の変化は、仮想空間内に配置された左右の仮想カメラ(ICLおよびICR:図7参照)の間の距離(カメラ間距離D)を変化させることによって実現される(図7〜図10参照)。つまり、3D調整スイッチ20の動作に応じて、カメラ間距離Dが調整される。そして、カメラ間距離Dは、こうして手動調整されるだけでなく、ゲームプログラムによる自動調整(後述)も受ける。
【0051】
3Dランプ20Aは、立体LCD12の表示状態を示すランプであり、3Dでは点灯し、2Dでは消灯する。なお、単に点灯よび消灯するだけでなく、3Dの程度(立体感の大小)に応じて輝度や色を変化させてもよい。
【0052】
タッチパネル16や、A,B,X,Yボタン24a−24d、十字キー(ボタン)24g、ホーム,セレクト,スタートボタン24h−24j、あるいはアナログパッド26への操作は、ゲームプログラムへのタッチ/ボタン/パッド入力として利用される。電源ボタン24kは、ゲーム装置10の電源をオン/オフするために用いられる。電源ランプ42aは、電源のオン/オフと連動して点灯/消灯する。
【0053】
マイク30は、プレイヤの発話音声や環境音などを音声データに変換する。音声データは、ゲームプログラムへの音声入力として利用可能である。この場合、ゲームプログラムは、音声認識を行うことで、プレイヤの発話音声を検出し、検出結果に応じた処理を実行する。マイク30による音声データはまた、NAND型フラッシュメモリ48(図4参照)などに記録可能である。
【0054】
スピーカ22aおよび22bは、ゲーム音声やマイク音声などを出力する。ヘッドホン端子36には、図示しないヘッドホンが接続される。音量調整スイッチ32は、スピーカ22aおよび22bの音量またはヘッドホン端子36の出力を調整するためのスライドスイッチである。
【0055】
SDカードスロット34には、カメラ画像やマイク音声などを保存するためのSDメモリカード(図示せず)が装着され、ゲームカードスロット38には、ゲームプログラムなどが格納されたゲームカード(図示せず)が装着される。赤外線受発光部40は、他のゲーム装置との間での赤外線(IR)通信に利用される。
【0056】
図4には、ゲーム装置10の電気的構成が示される。ゲーム装置10は、CPU,GPU,VRAMおよびDSPなどで構成されたSoC(System-on-a-Chip)44を含む。SoC44には、上述した立体LCD12、下LCD14、内側カメラ(Inカメラ)18a、左右の外側カメラ(OCAM−LおよびOCAM−R)18bおよび18c、A,B,X,Y,L,Rボタン24a−24f、十字ボタン24g、SDカードスロット34、ゲームカードスロット38、および赤外線受発光部(IR)40が接続される。SoC44にはまた、マイコン56を介して、上述した3D調整スイッチ(3D Vol)20、3Dランプ20A、ホーム,セレクト,スタートボタン24h−24j、電源ボタン(Power)24k、無線スイッチ(WiFi)28、音量調整スイッチ(音量Vol)32,および電源,無線ランプ42a,42bが接続される。SoC44にはさらに、IF回路58を介して、上述したタッチパネル16、左右のスピーカ22aおよび22b、アナログパッド26、マイク(Mic)30およびヘッドホン端子36が接続される。
【0057】
また、SoC44には、上述した以外の要素として、無線モジュール46、NAND型フラッシュメモリ48およびメインメモリ50が接続される。無線モジュール46は、無線LANに接続する機能を有する。NAND型フラッシュメモリ48は、カメラ画像,マイク音声など保存用のデータを記憶する。メインメモリ50は、SoC44に作業領域を提供する。すなわち、メインメモリ50には、ゲームなどのアプリケーションで用いられる各種のデータやプログラムが記憶され、SoC44はメインメモリ50に記憶されたデータやプログラムを利用して作業を行う。
【0058】
マイコン56には、電源管理IC52および加速度センサ54が接続される。電源管理IC52はゲーム装置10の電源管理を行い、図示しない電源(電池)からの電力をゲーム装置10の各コンポーネントに選択的に供給または停止する。また、加速度センサ54は、3軸の加速度センサであり、下側ハウジング10B(上側ハウジング10Aでもよい)の内部に設けられる。ゲーム装置10の立体LCD12(下LCD14)の面に対して垂直な方向の加速度、および立体LCD12(下LCD14)の面に対して平行であり、互いに直交する2方向(縦方向および横方向)の加速度を検出する。加速度センサ54は、検出した加速度についての信号(加速度信号)をマイコン56に出力する。マイコン56は、加速度信号に基づいて、ゲーム装置10の向きを検出したり、ゲーム装置10の振動の大きさを検出したりすることができる。たとえば、この加速度センサ54の検出結果は、ゲームプログラムなどのアプリケーションプログラムへの動き入力として利用可能である。この場合、アプリケーションプログラムは、検出結果に基づいてゲーム装置10自体の動きを計算し、計算結果に応じた処理を実行する。
【0059】
また、マイコン56は、RTC(リアルタイムクロック)56aおよびメモリ56bを含む。マイコン56は、RTC56aでカウントされる時間をSoC44に供給する。メモリ56bは、RAMやフラッシュメモリのようなメモリであり、マイコン56によって実行されるプログラムや各種のデータが記憶される。
【0060】
また、開閉スイッチ60からは、オンまたはオフの信号がマイコン56に与えられる。開閉スイッチ60がオンされている状態、すなわちゲーム装置10本体ないしゲーム装置10の蓋(上側ハウジング10A)が開かれている状態で、ゲーム装置10の電源がオンされている場合には、マイコン56の制御の下、電源管理IC52によってゲーム装置10の全コンポーネントに電力を供給するモード(以下、「通常モード」という)が設定される。通常モードでは、ゲーム装置10は任意のアプリケーションを実行可能であり、ユーザないしプレイヤがゲーム装置10を使用している状態(使用状態)である。
【0061】
また、ゲーム装置10の電源がオンされている場合に、開閉スイッチ60がオフされている状態、すなわちゲーム装置10本体ないしゲーム装置10の蓋が閉じられている閉状態には、電源管理IC52からゲーム装置10の一部のコンポーネントに電力を供給するモード(以下、「スリープモード」という)が設定される。ただし、アプリケーションの種類やアプリケーションの実行(進行)状況によっては、スリープモードが設定されないこともある。スリープを実行するか否かは、CPU44aによって判断され、スリープを実行することが判断されると、CPU44aは、スリープの実行をマイコン56に指示する。また、スリープが実行されない場合であっても、閉状態では立体LCD12および下LCD14の電源はオフされる。したがって、閉状態は、電力の供給量を低減する省電力のモードということもできる。
【0062】
スリープモードまたは閉状態では、ゲーム装置10は原則として任意のアプリケーションを実行不能であり、ユーザないしプレイヤがゲーム装置10を使用していない状態(不使用状態)である。この実施例では、一部のコンポーネントは、CPU44a、無線モジュール46、電源管理IC52およびマイコン56である。ただし、スリープモード(スリープ状態)では、CPU44aは、基本的にクロックを停止された状態(不能化された状態)であるため、ほとんど電力を消費しない。または、スリープモードでは、CPU44aへの電力の供給を停止しても良い。したがって、上述したように、この実施例では、スリープモードにおいては、CPU44aによって、アプリケーションが実行されることはない。
【0063】
なお、電源管理IC52およびマイコン56には、ゲーム装置10の電源がオフされている場合にも、電力が供給される。
【0064】
また、スリープ状態においては、上述したように、CPU44aは不能化された状態であり、無線モジュール46が、他の機器を探索するための接続要求/応答信号(ビーコン)を送受信する。そして、探索によって条件に合致する他の機器が見つかったときに、無線通信モジュール46からの制御信号によってCPU44aを起動する。つまり、無線モジュール46によってCPU44aのクロックが動作され、その後、無線モジュール46からCPU44aに通信の開始指示が与えられる。以下、同じ。そして、CPU44aからマイコン56に指示して、NAND型フラッシュメモリ48への電力の供給が開始される。したがって、通信(すれ違い通信)により、NAND型フラッシュメモリ48に記憶されたデータを、他のゲーム装置、コンピュータまたはアクセスポイント(上記の「他の機器」に相当)に送信したり、他の機器から受信したデータを、NAND型フラッシュメモリ48に記憶したりすることができる。
【0065】
さらに、ゲーム装置10の蓋が開かれると、開閉スイッチ60からオンの信号がマイコン56に入力される。このとき、ゲーム装置10がスリープ状態である場合には、マイコン56は、スリープを解除する。具体的には、マイコン56は、CPU44aを起動したり、電源管理IC52を制御して、全コンポーネントへの電力を供給したりする。したがって、ゲーム装置10は、通常モードへ移行し、使用状態になる。さらに、マイコン56は、CPU44aに、スリープの解除を指示する。したがって、アプリケーション等の処理を中断していた場合には、CPU44aは、スリープの解除の指示に応じて、中断していた処理を再開する。ただし、ゲーム装置10の蓋が開けられたときに、ゲーム装置10がスリープ状態でない場合には、CPU44aの指示の下、マイコン56は、電源管理IC52を制御して、立体LCD12および下LCD14に電力を供給する。
【0066】
図5には、立体LCD12とSoC44の一部とで構成される立体LCD制御部12Aが示される。立体LCD12は、LCDコントローラ12a、バリア液晶12bおよび上LCD12cを含む。バリア液晶12bは、図6(A)に示されるように、縦(列)方向に伸びる複数の液晶スリットを含み、バックライトからの光を複数の液晶スリットで交互に遮ることによって、右目および左目に上LCD12cの異なる列の画素を通過した光が見えるようにする。上LCD12cは、下LCD14と同様、普通の(2D表示用の)液晶でよい。LCDコントローラ12aは、GPU44bひいてはCPU44aの制御下で、上LCD12cに描画を行い、かつバリア液晶12b(への印加電圧)をON/OFFする。バリア液晶12bをOFFすると、図6(B)に示されるように、右目および左目には、上LCD12cのどの列の画素を通過した光も見えるようになる。
【0067】
詳しくは、たとえば図7に示すように、仮想空間内で、オブジェクトOb1およびOb2を、左右に間隔(D=D0)を空けて配置された左仮想カメラICLおよび右仮想カメラICRで撮像する場合、CPU44aの制御下で、GPU44bがVRAM44cに図8(A)および図8(B)のような左画像44Lおよび右画像44Rを書き込み、LCDコントローラ12aは、VRAM44cに記憶された左画像44Lおよび右画像44Rを1列ずつ交互に読み出して、上LCD12cに順番に描画していく。これによって、上LCD12cには、図8(C)のような立体視画像(立体視を実現するための画像)が表示される。立体視画像へのバックライト光をバリア液晶12bで制限すると、左目には図8(A)のような左画像44Lが見え、右目には図8(B)のような右画像44Rが見える結果、裸眼による立体視が実現される。
【0068】
なお、図5には、立体LCD12に対応して、LCDコントローラ12a、GPU44bおよびVRAM44cが設けられるように示してあるが、当然に、下LCD14に対応して、LCDコントローラ、GPUおよびVRAMが設けられている。図5を参照して分かるように、下LCD14に対応するGPUもまた、CPU44aと信号を送受信可能に接続され、下LCD14に対応するGPUとVRAMとは信号を送受信可能に接続される。そして、CPU44a、下LCD14に対応するGPU、およびVRAMのそれぞれが、下LCD14に対応するLCDコントローラと信号を送受信可能に接続され、このLCDコントローラに下LCD14が接続されるのである。
【0069】
ところで、先述したように、図8(C)の立体視画像は、カメラ間距離Dが最大(D=D0:図7参照)のときの画像であり、カメラ間距離Dが図9(A)さらには図10(A)のように短くなるに従って、図9(B)さらには図10(B)のように変化する。カメラ間距離Dは、次式(1)で計算される。
【0070】
D=Sd×Pd×D0 …(1)
ここで、Sdは、図3に示した3D調整スイッチ20におけるスライダSdの値を示す変数であり、スライダSdの動作に応じて0から1の範囲で変化する(0≦Sd≦1)。Pdは、ゲームプログラムなどのアプリケーションプログラムによって制御される変数であり、同じく0から1の範囲で変化する(0≦Pd≦1)。D0は、人間の2つの瞳の間隔に対応した定数であり、たとえば65mmに設定される(D0=65mm)。
【0071】
図7、図9(A)および図10(A)では、いずれも変数Sdは1であり、スライダSdは上端に固定されている(Sd=1)。アプリケーションプログラムによって変数Pdが1→0.5→0のように変化する結果、カメラ間距離DはD0→(0.5×D0)→0のように変化している。そして、このようなカメラ間距離Dの短縮方向への変化に応じて、立体視画像は、図8(C)→図9(B)→図10(B)のように変化する。つまり、左画像44Lおよび右画像44Rの間の視差が減少していき、ついには平面画像と同等になる。
【0072】
なお、変数Sdがたとえば0.5に固定されていれば(Sd=0.5)、カメラ間距離Dは0から(0.5×D0)の範囲内で変化する。また、変数Sdがたとえば0に固定されていれば(Sd=0)、カメラ間距離Dは0のままである。
【0073】
図10(A)の状態つまり3D最小ないし2Dの場合、カメラ間距離Dは0なので、VRAM44cに書き込まれる左画像44Lおよび右画像44Rは同一(つまり視差が0)となる。この場合も、LCDコントローラ12aは、VRAM44cに記憶された左画像44Lおよび右画像44Rを1列ずつ交互に読み出して、上LCD12cに順番に描画していく。これによって、上LCD12cには、図10(B)のような平面画像(つまり視差のない画像)が表示される。立体視画像へのバックライト光を制限するバリア液晶12bをOFFすると、左右どちらの目にも、図10(B)のような平面画像が見える結果となる。
【0074】
なお、このときバリア液晶12bをOFFしなくても、図10(B)の平面画像が見える結果に変わりはない。ただし、バリア液晶12bをOFFすると、適視位置が拡大し、平面画像が明るく見えるようになる。また、LCDコントローラ12aは、交互読み出しを行う代わりに、左画像44Lおよび右画像44Rのいずれか一方を読み出して、上LCD12cに描画してもよい。この場合も、上LCD12cには、図10(B)のような平面画像が表示される。
【0075】
たとえば、電源ボタン24kがオンされ、ゲーム装置10の電源がオンされると、ゲーム装置10が起動され、図示しないメインメニュー画面が下LCD14(または、上LCD12c)に表示される。プレイヤは、このメインメニュー画面において、所望のアプリケーションを選択して、その実行を指示することができる。アプリケーションの実行が指示されると、ゲーム装置10では、そのアプリケーションに対応するアプリケーションプログラムに従って処理が実行される。
【0076】
ただし、図示は省略するが、この実施例のゲーム装置10は、本願出願人が製造販売する下位機種のゲーム装置(商品名:ニンテンドーDS、ニンテンドーDS Light、ニンテンドーDSi)の上位互換機種であり、その下位機種のゲーム装置用のアプリケーションも実行可能である。
【0077】
図示は省略したが、CPU44aは、複数のコア(CPUコア)を含み、ゲーム装置10用のアプリケーションを実行するCPUコア(説明の都合上、「第1CPUコア」ということがある)と、下位機種のゲーム装置用のアプリケーションを実行するCPUコア(説明の都合上、「第2CPUコア」ということがある)とが異なる。したがって、下位機種のゲーム装置用のアプリケーションを実行する場合には、第2CPUコアでタスクを実行するために、ゲーム装置10用のアプリケーションを実行可能なモード(第1モード)から、この第1モードとは異なる第2モードに切り替えられる。
【0078】
具体的には、第1モードから第2モードに切り替えられる場合には、ゲーム装置10は再起動(リブート)され、下位機種のゲーム装置のアプリケーションを実行するための第2モードで起動され、第2CPUコアによってタスクが実行される。また、第2モードにおいて、電源ボタン24kがオンされると、ゲーム装置10の電源はオフされずに、第1モードに切り替えられる。つまり、ゲーム装置10がリブートされ、第1モードで起動される。したがって、第1CPUコアによってタスクが実行される。
【0079】
第1モードで実行されるアプリケーションであるか、または、第2モードで実行されるアプリケーションであるかは、アプリケーションプログラムのヘッダ情報に含まれる識別情報に基づいて判別することができる。詳細な説明等は省略するが、第1モードで実行されるアプリケーションのアプリケーションプログラムと、第2モードで実行されるアプリケーションのアプリケーションプログラムとは、NAND型フラッシュメモリ48の異なる領域に記憶されるため、アプリケーションプログラムが記憶されている領域から判別することも可能である。さらに、ゲームカードからアプリケーションプログラムをロードする場合には、ゲームカードのボリュームラベルのような識別情報からも判別することができる。これらの方法は、2つ以上を組み合わせて判別することにより、より正確な判別が可能である。
【0080】
また、ゲーム装置10の電源がオンされている状態で、ゲーム装置10が閉じられ、不使用状態になると、当該ゲーム装置10は、歩数計として機能し、歩数のカウントを開始する。上述したように、このとき、実行中の処理(アプリケーションの処理)は中断され、スリープが実行される。ただし、アプリケーションの種類やアプリケーションの実行(進行)状況によっては、スリープが実行されない場合もある。
【0081】
以下、ゲーム装置10が歩数計として機能する場合について説明するが、第1モードと第2モードとでは基本的な処理はほとんど同じであるため、異なる処理が実行される場合には、第1モードと第2モードとを分けて説明することにする。
【0082】
ゲーム装置10では、マイコン56が加速度センサ54からの出力に基づいて、歩数をカウントする。加速度センサ54を用いた歩数計は既に周知であるため、その詳細な内容については省略するが、加速度の大きさに応じて歩数がカウント(検出)される。
【0083】
また、歩数は第1所定時間(この実施例では、1時間)毎のまとまりで管理され、マイコン56のメモリ56bに記憶される。後述するように、メモリ56bには、歩数データ記憶領域650(図12参照)が設けられ、この実施例では、歩数データ記憶領域650は、短期間(24時間×7日分)における歩数データ(650a、650b、…)を記憶可能である。また、第1モードでは、マイコン56のメモリ56bに記憶された歩数データ(650a、650b、…)は、第2所定時間(この実施例では、24時間)毎に、ゲーム装置10のNAND型フラッシュメモリ48に保存(移動)される。したがって、第2モードにおいて、マイコン56のメモリ56bに記憶された歩数データ(650a、650b、…)は、第1モードに切り替えられた後に、第2所定時間が経過するときに、NAND型フラッシュメモリ48に保存される。この実施例では、NAND型フラッシュメモリ48は、長期間(10年分)における歩数データ(650a、650b、…)を記憶可能な歩数データ記憶領域48aを有している。つまり、歩数データ記憶領域48aは、歩数データ記憶領域650よりも大容量である。
【0084】
ただし、この実施例では、第1モードから第2モードに切り替えられる場合およびゲーム装置10の電源がオフされる場合にも、切り替え前や電源オフの前に、メモリ56bに記憶された歩数データがNAND型フラッシュメモリ48に保存される。
【0085】
なお、上述したように、第2モードで電源ボタン24kがオンされた場合には、第1モードに切り替えられるため、第1モードに切り替えられた後に、電源ボタン24kがオンされると、ゲーム装置10の電源がオフされる。
【0086】
たとえば、第1モードにおいて、ゲーム装置10が閉状態で、スリープモードが設定されている場合に、第2所定時間を経過すると、マイコン56からの制御信号によってCPU44aを起動する。つまり、マイコン56によってCPU44aのクロックが動作される。また、マイコン56は、電源管理IC52を制御して、NAND型フラッシュメモリ48への電力の供給を開始する。その後、マイコン56からの保存要求に応じて、CPU44aは、マイコン56のメモリ56bから歩数データ(650a、650b、…)を読み出し、NAND型フラッシュメモリ48に記憶する。ただし、ゲーム装置10の電源がオンされたときに、第2所定時間のカウントが開始され、そのときの現在時刻(開始時刻)についてのデータがNAND型フラッシュメモリ48に記憶される。したがって、開始時刻についてのデータは、ゲーム装置10の電源がオンされる度に更新される。ただし、開始時刻は、スリープが実行されるときの現在時刻であってもよい。
【0087】
一方、第1モードにおいて、上述したように、ゲーム装置10が閉状態で、スリープモードが設定されていない場合には、第2所定時間が経過したときに、CPU44aは、マイコン56のメモリ56bから歩数データ(650a、650b、…)を読み出して、NAND型フラッシュメモリ48に記憶する。この場合、CPU44aは、自身に設けられるタイマ440でカウントされた時間に基づいて第2所定時間が経過したかどうかを判断する。タイマ440は、CPU44aを動作させるクロックにより更新されるタイマ(Tick)である。このタイマ440は、ゲーム装置10の電源がオンであり、使用状態である場合に、現在時刻(年月日を含む)をカウントする。ただし、スリープ状態やゲーム装置10の電源がオフの場合には、CPU44aのクロックが停止されているため、タイマ440も停止される。したがって、CPU44aは、ゲーム装置10の電源がオンされたり、スリープ状態が解除されたりしたときに、RTC56aから現在時刻を読み出して、タイマ440のカウント値(現在時刻)を補正する。詳細な説明は省略するが、タイマ440のカウント値を補正する際には、ユーザないしプレイヤが設定した現在時刻と、この現在時刻を設定したときのRTC56aでカウントされた現在時刻との差分時間(オフセット)が考慮される。このオフセットについてのデータ(オフセットデータ)は、CPU44a内のメモリ442に記憶されており、ユーザによって現在時刻が変更(再設定)されると、更新される。
【0088】
図11は図4に示したメインメモリ50のメモリマップ500の例を示す図解図である。図11に示すように、メインメモリ50は、プログラム記憶領域502およびデータ記憶領域504を含む。プログラム記憶領域502には、メイン処理プログラム502a、画像生成プログラム502b、画像表示プログラム502c、通信プログラム502d、スリープ制御プログラム502eおよび歩数保存プログラム502fなどが記憶される。
【0089】
メイン処理プログラム502aは、ゲーム装置10本体のメインルーチンを処理するためのプログラムである。画像生成プログラム502bは、後述する画像データ504cを用いて、メインメニュー画面などの各種画面を表示するための表示画像データを生成するためのプログラムである。画像表示プログラム502cは、画像生成プログラム502bに従って生成された表示画像データを立体LCD12または下LCD14或いはその両方に出力するためのプログラムである。
【0090】
通信プログラム502dは、他のゲーム装置10やコンピュータまたはアクセスポイントと通信するためのプログラムである。スリープ制御プログラム502eは、スリープの実行をマイコン56に指示したり、マイコン56からのスリープの解除指示に応じて、中断された処理を再開したりするためのプログラムである。歩数保存プログラム502fは、所定のタイミングで、マイコン56内のメモリ56bに記憶された歩数データ(650a、650b、…)を、NANDフラッシメモリ48に保存するためのプログラムである。この実施例では、所定のタイミングは、第2所定時間(たとえば、24時間)が経過したとき、第1モードから第2モードに切り替えられる前、ゲーム装置10の電源をオフする前である。
【0091】
図示は省略するが、プログラム記憶領域502には、アプリケーションプログラムや音出力プログラムも記憶される。アプリケーションプログラムは、仮想ゲームなどの任意のアプリケーションについてのプログラムである。このアプリケーションプログラムは、SDカードスロット34に挿入されたSDカードやゲームカードスロット38に挿入されたゲームカードからロードされたり、NAND型フラッシュメモリ48からロードされたり、ダウンロードされたりする。音出力プログラムは、図示しない音(音楽)データを用いて、音楽(BGM)、効果音などの音を出力するためのプログラムである。
【0092】
データ記憶領域504には、操作データバッファ504aおよび通信データバッファ504bが設けられる。また、データ記憶領域504には、画像データ504cが記憶される。
【0093】
操作データバッファ504aは、操作ボタン(24a−24g)およびアナログパッド26から入力される操作データやタッチパネル16から入力されるタッチ位置データを時系列に従って記憶(一時記憶)する。操作データやタッチ位置データは、ゲーム処理などの情報処理に使用されると、操作データバッファ504aから削除される。通信データバッファ504bは、通常モードにおいて、他のゲーム装置10などとの通信(すれ違い通信を除く)を実行する際に、送信するデータ(ゲームデータやコンテンツデータなど)や受信したデータを記憶(一時記憶)する。画像データ504cは、表示画像データを生成するためのポリゴンデータやテクスチャデータなどのデータである。
【0094】
図示は省略するが、データ記憶領域504には、音データのような他のデータが記憶されたり、アプリケーションの処理を含む情報処理に必要なカウンタ(タイマ)やフラグが設けられたりする。
【0095】
図12は、マイコン56に内蔵されるメモリ56bのメモリマップ600を示す図解図である。図12に示すように、メモリ56bは、プログラム記憶領域602およびデータ記憶領域604を含む。プログラム記憶領域602には、時刻設定プログラム602a、開閉検出プログラム602b、電源制御プログラム602c、および歩数カウントプログラム602dなどが記憶される。
【0096】
時刻設定プログラム602aは、後述する開始時刻データ604a、オフセットデータ604bおよび繰上げ分秒データ604cを記憶(設定)するためのプログラムである。開閉検出プログラム602bは、開閉スイッチ60の状態(オンまたはオフ)に応じて、ゲーム装置10が開状態であるか、閉状態であるかを検出し、開状態(蓋開情報)または閉状態(蓋閉情報)をCPU44aに通知するためのプログラムである。この実施例では、開閉スイッチ60からオンの信号がマイコン56に与えられている場合には、ゲーム装置10は開状態であり、蓋開情報がCPU44aに通知される。また、開閉スイッチ60からオフの信号がマイコン56に与えられている場合には、ゲーム装置10は閉状態であり、蓋閉情報がCPU44aに通知される。
【0097】
電源制御プログラム602cは、電源管理IC52を指示して、ゲーム装置10の各コンポーネントへの電力の供給および停止を制御するためのプログラムである。歩数カウントプログラム602dは、ゲーム装置10が不使用状態において、加速度センサ54から入力される加速度信号に基づいて歩数をカウントするためのプログラムである。具体的には、歩数カウントプログラム602dは、加速度センサ54から入力される加速度信号が所定値以上であるとき、最新歩数記憶領域識別データ604dが示す現在の記憶領域に記憶された歩数データ(650a、650b、…)に対応する歩数を1加算するとともに、累積歩数データ604eに対応する歩数を1加算する。
【0098】
図示は省略するが、プログラム記憶領域602には、情報処理に必要な他のプログラムも記憶される。
【0099】
データ記憶領域604には、開始時刻データ604a、オフセットデータ604b、繰上げ分秒データ604c、最新歩数記憶領域識別データ604d、最新歩数日時データ604eおよび累計歩数データ604fが記憶される。また、データ記憶領域604には、歩数データ記憶領域650が設けられる。さらに、データ記憶領域604には、スリープフラグ604gが設けられる。
【0100】
開始時刻データ604aは、第2所定時間のカウントを開始する時刻(開始時刻)についてのデータである。ただし、開始時刻は、年月日の情報も含む。オフセットデータ604bは、ユーザないしプレイヤがゲーム装置10に設定(再設定)した現在時刻(ユーザ設定の現在時刻)とRTC56aとのオフセットについてのデータである。したがって、ユーザ設定の現在時刻は、RTC56aでカウントされる現在時刻とオフセットデータ604bに対応するオフセットとによって更新される。上述したように、オフセットデータは、ユーザが現在時刻を設定(再設定)したときに算出され、CPU44a内のメモリ442に記憶される。したがって、オフセットデータ604bは、マイコン56によってCPU44aから取得される。
【0101】
繰上げ分秒データ604cは、ユーザ設定の現在時刻が示す毎時の59分59秒に対応する、RTC56aでカウントされる現在時刻が示す毎時の分および秒についてのデータである。これは、上述したように、カウントされる歩数に対応する歩数データ(650a、650b、…)を、第1所定時間(1時間)毎のまとまりでマイコン56のメモリ56bに記憶するためであり、この1時間の区切りをユーザ設定の現在時刻が示す毎時の59分59秒に設定するためである。繰上げ分秒データもまた、ユーザが現在時刻を設定したときに算出され、CPU44a内のメモリ442に記憶される。したがって、繰上げ分秒データ604cは、マイコン56によって、CPU44aから取得される。なお、ユーザ設定の現在時刻が再設定された場合は、メモリ442に記憶された繰上げ分秒データは更新される。
【0102】
歩数データ記憶領域650は、複数の記憶領域を含み、各記憶領域には、第1所定時間(この実施例では、1時間)毎の歩数データが記憶される。図12に示す例では、歩数1データ650a、歩数2データ650b、…が記憶される。
【0103】
なお、詳細な説明は省略するが、上述したように、歩数データ記憶領域650には、一週間(24時間×7日)分の記憶領域が設けられる。
【0104】
最新歩数記憶領域識別データ604dは、最新の歩数データ(650a、650b、…)が記憶されている記憶領域を識別するための識別情報についてのデータである。上述したように、歩数データ(650a、650b、…)は、第1所定時間毎のまとまりで記憶されるため、歩数データ(650a、650b、…)の記録領域は、たとえば、所定の順番に従って変更される。
【0105】
最新歩数日時データ604eは、最新の歩数データ(650a、650b、…)に付加される日時(最新歩数日時)についてのデータである。ただし、最新歩数日時は、年月の情報も含む。この最新歩数日時データ604eは、歩数データ(650a、650b、…)の記憶領域が変更されるときに更新される。最新の歩数データ(650a、650b、…)についての日時が分かれば、それよりも前に記憶された過去の歩数データ(650a、650b、…)の日時については、所定の順番で変更された記憶領域を1時間ずつ遡ることにより、知ることができる。累積歩数データ604fは、ゲーム装置10が最初に歩数計として使用されたときからカウントされている歩数の総数(累積値)についてのデータである。
【0106】
スリープフラグ604gは、スリープの実行中かどうかを判断するためのフラグであり、1ビットのレジスタで構成される。スリープフラグ604gがオン(成立)であれば、レジスタにデータ値「1」が設定される。スリープフラグ604eがオフ(不成立)であれば、レジスタにデータ値「0」が設定される。ただし、スリープフラグ604gは、CPU44aからスリープの実行が指示されたときにオンされ、スリープを解除したときにオフされる。
【0107】
図示は省略するが、データ記憶領域604には、他のデータが記憶されたり、情報処理に必要なカウンタ(タイマ)や他のフラグなども設けられたりする。
【0108】
具体的には、図4に示したCPU44aおよびマイコン56が情報処理を実行し、歩数をカウントしたり、保存したりする。具体的には、CPU44aが、図13−図17に示す全体処理および図18に示す歩数保存処理を実行する。また、マイコンが、図19−図23に示す全体処理および図24に示す歩数カウント処理を実行する。以下、それぞれの処理について説明する。ただし、同じ処理については、重複する内容の説明を省略することにする。
【0109】
図13に示すように、ゲーム装置10の電源がオンされると、CPU44aは、全体処理を開始し、ステップS1で、メインメニュー画面を立体LCD12に表示する。ただし、ゲーム装置10の電源がオンされた当初では、第1モードでゲーム装置10は起動される。また、図示等は省略するが、メインメニュー画面には、ゲーム装置10で実行可能なアプリケーション(第1モードまたは第2モードで実行可能なアプリケーション)を示す画像(アイコン)が表示される。次のステップS3では、アプリケーションが選択されたかどうかを判断する。ステップS3で“NO”であれば、つまりアプリケーションが選択されていなければ、そのままステップS15に進む。ステップS3で“YES”であれば、つまりアプリケーションが選択されれば、ステップS5で、選択されたアプリケーションが第1モードで実行されるアプリケーションであるかどうかを判断する。第1モードで実行されるか第2モードで実行されるかの判別方法は、上述したとおりである。
【0110】
ステップS5で“NO”であれば、つまり選択されたアプリケーションが第2モードで実行されるアプリケーションであれば、ステップS7で、後述する歩数保存処理(図18参照)を実行し、ステップS9で、第2モードで起動する。つまり、第2モードのアプリケーションを第2CPUコアで実行するべく、ゲーム装置10がリブートされる。そして、ステップS11で、選択された第2モードで実行されるアプリケーションの処理を実行し、図16に示すステップS55に進む。図示は省略するが、アプリケーションの処理は、全体処理とは異なるタスクで実行される。
【0111】
一方、ステップS5で“YES”であれば、つまり選択されたアプリケーションが第1モードで実行されるアプリケーションであれば、ステップS13で、選択された第1モードで実行されるアプリケーションの処理を実行し、ステップS15で、第2所定時間(たとえば、24時間)を経過したかどうかを判断する。
【0112】
図示等は省略したが、ゲーム装置10の電源がオンされたときに、第2所定時間のカウントが開始される。たとえば、ゲーム装置10の電源がオンされ、RTC56aでカウントされている現在時刻とメモリ442に記憶された設定時刻データが示すオフセットとに基づいて、タイマ440のカウント値が補正され、このときのカウント値が開始時刻としてNAND型フラッシュメモリ48に記憶される。ただし、上述したように、スリープが実行されたときに、第2所定時間のカウントが開始されてもよい。かかる場合には、スリープが実行されたときに、タイマ440のカウント値が開始時刻としてNAND型フラッシュメモリ48に記憶される。したがって、CPU44aは、ステップS15で、タイマ440のカウント値を参照して、NAND型フラッシュメモリ48に記憶された開始時刻から第2所定時間が経過したかどうかを判断する。後述するステップS29も同じである。
【0113】
ステップS15で“NO”であれば、つまり第2所定時間を経過していなければ、そのままステップS19に進む。一方、ステップS15で“YES”であれば、つまり第2所定時間を経過すれば、ステップS17で、歩数保存処理を実行して、ステップS19に進む。
【0114】
ステップS19では、マイコン56からの蓋閉情報を受信したかどうかを判断する。ステップS19で“NO”であれば、つまりマイコン56からの蓋閉情報を受信していなければ、図15に示すステップS49に進む。一方、ステップS19で“YES”であれば、つまりマイコン56からの蓋閉情報を受信すれば、ステップS21で、歩数カウントの開始をマイコン56に指示する。
【0115】
続いて、図14に示すステップS23では、スリープを実行するかどうかを判断する。実行中のアプリケーションによってスリープするものと、スリープしないものとがあり、また、アプリケーションの進行状況によってはスリープできないことがあるため、ここでは、CPU44aは、実行中の処理を中断して、スリープを実行することが可能かどうかを判断する。ステップS23で“YES”であれば、つまりスリープを実行する場合には、ステップS25で、実行中の処理(第1モードで実行されるアプリケーションの処理)を中断し、ステップS27で、スリープの実行をマイコン56に指示して、図15に示すステップS37に進む。つまり、ステップS27では、アプリケーションの処理を実行しているタスクが一時停止され、スリープモードに移行する。
【0116】
一方、ステップS23で“NO”であれば、つまりスリープを実行しない場合には、ステップS29で、第2所定時間を経過したかどうかを判断する。ステップS29で“NO”であれば、そのままステップS33に進む。一方、ステップS29で“YES”であれば、ステップS31で、歩数保存処理を実行して、ステップS33に進む。
【0117】
ステップS33では、マイコン56からの蓋開情報を受信したかどうかを判断する。ステップS33で“NO”であれば、つまりマイコン56からの蓋開情報を受信していなければ、そのままステップS29に戻る。一方、ステップS33で“YES”であれば、つまりマイコン56からの蓋開情報を受信すれば、ステップS35で、歩数カウントの停止をマイコン56に指示して、図15に示すステップS49に進む。
【0118】
図15に示すように、ステップS37では、上述したような、すれ違い通信処理を実行する。ここでは、簡単のため、CPU44aによってすれ違い通信処理が実行されるように示してあるが、上述したように、実際には、無線モジュール46が、他の機器を探索するための接続要求/応答信号(ビーコン)を送受信し、探索によって条件に合致する他の機器が見つかったときに、無線通信モジュール46からの制御信号によってCPU44aを起動する。そして、無線モジュール46からCPU44aに通信の開始指示が与えられ、すれ違い通信処理が実行される。
【0119】
続いて、ステップS39では、マイコン56からの歩数保存要求を受信したかどうかを判断する。ただし、マイコン56からの歩数保存要求が有る前に、マイコン56によって、CPU44aは起動され、NAND型フラッシュメモリ48に電力が供給される。ステップS39で“NO”であれば、つまりマイコン56からの歩数保存要求を受信していなければ、そのままステップS45に進む。一方、ステップS39で“YES”であれば、つまり歩数保存要求を受信すれば、ステップS41で、歩数保存処理を実行し、ステップS43で、スリープの実行をマイコン56に指示して、スリープ状態に戻る。その後、ステップS45に進む。
【0120】
ステップS45では、マイコン56からのスリープ解除の指示があるかどうかを判断する。ステップS45で“NO”であれば、つまりマイコン56からのスリープ解除の指示がなければ、そのままステップS37に戻り、スリープモードを継続する。一方、ステップS45で“YES”であれば、つまりマイコン56からのスリープ解除の指示があれば、ステップS47で、中断していた処理を再開し、ステップS49で、マイコン56からの電源オフ情報を受信したかどうかを判断する。つまり、ステップS47では、一時停止されたタスクが再開され、通常モードに移行する。
【0121】
ステップS49で“NO”であれば、つまりマイコン56からの電源オフ情報を受信していなければ、図13に示したステップS3に戻る。一方、ステップS49で“YES”であれば、つまりマイコン56からの電源オフ情報を受信していれば、ステップS51で、歩数保存処理を実行し、ステップS53で、電源オフ実行をマイコン56に指示して、全体処理を終了する。その後、後述するように、マイコン56によって、ゲーム装置10の電源がオフされる。
【0122】
また、上述したように、ステップS11で、選択された第2モードで実行されるアプリケーションの処理を実行すると、図16に示すように、ステップS55で、蓋閉情報を受信したかどうかを判断する。ステップS55で“NO”であれば、そのまま図17に示すステップS75に進む。一方、ステップS55で“YES”であれば、ステップS57で、歩数カウントの開始をマイコン56に指示し、ステップS59で、スリープを実行するかどうかを判断する。
【0123】
ステップS59で“YES”であれば、ステップS61で、実行中の処理(第2モードで実行されるアプリケーションの処理)を中断し、ステップS63で、スリープの実行をマイコン56に指示して、図17に示すステップS69に進む。一方、ステップS59で“NO”であれば、ステップS65で、蓋開情報を受信したかどうかを判断する。ステップS65で“NO”であれば、同じステップS65に戻る。一方、ステップS65で“YES”であれば、ステップS67で、歩数カウントの停止をマイコン56に指示して、ステップS75に進む。
【0124】
図17に示すように、ステップS69では、すれ違い通信処理を実行する。続くステップS71では、スリープ解除の指示があるかどうか、たとえば、蓋開情報を受信したか否かを判断する。ステップS71で“NO”であれば、そのままステップS69に戻る。一方、ステップS71で“YES”であれば、ステップS73で、中断していた処理を再開し、ステップS75で、電源オフ情報を受信したかどうかを判断する。
【0125】
ステップS75で“NO”であれば、そのまま図16に示したステップS55に戻る。一方、ステップS75で“YES”であれば、ステップS77で、第1モードで起動する。つまり、CPU44aは、第1CPUコアでタスクを実行するべく、ゲーム装置10を再起動する。そして、図13に示したステップS1に戻る。
【0126】
したがって、第2モードでカウントされた歩数についての歩数データは、第1モードに切り替えた後に、第2所定時間が経過するタイミングで、NAND型フラッシュメモリ48に保存される。
【0127】
図18は、図13−図15に示したステップS7、S17、S31、S41およびS51の歩数保存処理のフロー図である。図18に示すように、CPU44aは歩数保存処理を開始すると、ステップS101で、マイコン56内のメモリ56bに歩数データ(650a、650b、…)が記憶されているかどうかを判断する。
【0128】
ステップS101で“NO”であれば、つまりマイコン56内のメモリ56bに歩数データ(650a、650b、…)が記憶されていなければ、そのまま図13−図17に示した全体処理にリターンする。一方、ステップS101で“YES”であれば、つまりマイコン56内のメモリ56bに歩数データ(650a、650b、…)が記憶されていれば、ステップS103で、マイコン56から歩数データ(650a、650b、…)と時刻情報とを取得する。上述したように、CPU44aは、最新の歩数データ(650a、650b、…)の時刻情報を、最新歩数日時データ604eから取得する。そして、上述したように、最新歩数日時データ604eが示す日時から1時間ずつ遡ることにより、最新の歩数データ(650a、650b、…)よりも前に記憶された過去の歩数データ(650a、650b、…)について時刻情報を取得する。ただし、時刻情報は、最新歩数日時データ604eが示す時刻がメモリ442に記憶されたオフセットデータに対応するオフセットで補正されることにより取得される。
【0129】
次のステップS105では、マイコン56から取得した時刻情報を、各歩数データ(650a、650b、…)に付加してNAND型フラッシュメモリ48に保存する。そして、ステップS107で、マイコン56のメモリ56bをリセットして、全体処理にリターンする。
【0130】
なお、ステップS107では、CPU44aは、マイコン56にメモリ56bのリセットを指示し、これに応じて、マイコン56がメモリ56bに記憶された歩数データ(650a、650b、…)をすべて消去する。
【0131】
上述したように、図19−図23は、マイコン56の全体処理を示すフロー図である。図19に示すように、ゲーム装置10の電源がオンされると、マイコン56は、全体処理を開始し、ステップS121で、ユーザ設定の現在時刻とオフセットと繰上げ分秒とを取得する。ここでは、マイコン56は、タイマ440でカウントされるユーザ設定の現在時刻をCPU44aから取得し、対応する現在時刻のデータを開始時刻データ604aとしてメモリ56に記憶する。また、マイコン56aは、CPU44aからオフセットデータを取得し、メモリ56bに記憶する。さらに、マイコン56は、繰上げ分秒データをCPU44aから取得し、メモリ56bに記憶する。
【0132】
続くステップS123では、蓋が閉じられたかどうかを判断する。ここでは、マイコン56は、開閉スイッチ60からオフの信号が与えられたかどうかを判断する。ステップS123で“NO”であれば、つまり蓋が閉じられていなければ、そのまま図23に示すステップS173に進む。一方、ステップS123で“YES”であれば、つまり蓋が閉じられた場合には、ステップS125で、蓋閉情報をCPU44aに送信する。次のステップS127では、CPU44aからの歩数カウントの開始の指示を受信したかどうかを判断する。
【0133】
ステップS127で“NO”であれば、つまりCPU44aからの歩数カウントの開始の指示を受信していなければ、同じステップS127に戻る。一方、ステップS127で“YES”であれば、つまりCPU44aからの歩数カウントの開始の指示を受信すれば、ステップS129で、歩数カウントを開始する。つまり、マイコン56は、後述する歩数カウント処理(図24参照)を全体処理とは異なるタスクで実行する。
【0134】
続いて、ステップS131で、領域更新フラグ604gをオフし、図20に示すステップS133で、CPU44aからスリープの実行の指示があるかどうかを判断する。ステップS133で“NO”であれば、つまりCPU44aからスリープの実行の指示がなければ、そのままステップS139に進む。一方、ステップS133で“YES”であれば、つまりCPU44aからスリープの実行の指示があれば、ステップS135で、スリープを実行し、ステップS137で、スリープフラグ604gをオンして、ステップS139に進む。
【0135】
なお、上述したように、マイコン56は、スリープを実行すると、電源管理IC52を制御して、無線モジュール46以外のコンポーネントの電力を停止させる。ただし、CPU44a、電源管理IC52およびマイコン56には、電力が常に供給されている。
【0136】
ステップS139では、第2所定時間(この実施例では、24時間)を経過したかどうかを判断する。ここでは、マイコン56は、RTC56aによってカウントされる現在時刻とオフセットデータ604bが示すオフセットとからユーザ設定の現在時刻を算出し、開始時刻データ604aが示す開始時刻から第2所定時間を経過したかどうかを判断しているのである。ただし、スリープを実行するときに、第2所定時間のカウントを開始してもよい。かかる場合には、スリープを実行するとき、CPU44aからユーザ設定の現在時刻を取得し、取得したユーザ設定の現在時刻を開始時刻としてメモリ56bに記憶すればよい。
【0137】
ステップS139で“NO”であれば、つまり第2所定時間を経過していなければ、図22に示すステップS157に進む。一方、ステップS139で“YES”であれば、つまり第2所定時間を経過すれば、ステップS141で、第1モードであるかどうかを判断する。図示は省略したが、マイコン56のメモリ56aにはモード判別フラグが記憶される。モード判別フラグは、第1モードまたは第2モードを判別するためのフラグであり、1ビットのレジスタで構成される。第1モードでは、モード判別フラグはオンされ、レジスタにデータ値「1」が設定される。また、第2モードでは、モード判別フラグはオフされ、レジスタにデータ値「0」が設定される。
【0138】
なお、ゲーム装置10の電源がオンされたときや第2モードから第1モードに切り換えられたときに、モード判別フラグはオンされ、第1モードから第2モードに切り換えられたときに、モード判別フラグはオフされる。
【0139】
ステップS141で“NO”であれば、つまりモード判別フラグがオフであれば、第2モードであると判断して、ステップS157に進む。一方、ステップS141で“YES”であれば、つまりモード判別フラグがオンであれば、第1モードであると判断して、図21に示すステップS143で、スリープ中であるかどうかを判断する。ここでは、マイコン56は、スリープフラグ604gがオンであるかどうかを判断する。ステップS143で“NO”であれば、つまりスリープ中でなければ、そのままステップS157に進む。
【0140】
一方、ステップS143で“YES”であれば、つまりスリープ中であれば、ステップS145で、スリープの解除(1)を実行する。ここでは、ゲーム装置10は閉状態であり、また、後述するように、歩数保存要求をCPU44aに送信し、CPU44aが歩数保存処理を実行するだけである。したがって、スリープの解除(1)では、マイコン56は、CPU44aを起動するとともに、電源管理IC52を制御して、NAND型フラッシュメモリ48にのみ電力を供給する。続く、ステップS147では、スリープフラグ604gをオフし、ステップS149で、歩数保存要求をCPU44aに送信する。つまり、第1モードでは、スリープ中に第2所定時間が経過すると、歩数保存処理が実行されるが、第2モードでは、スリープ中に第2所定時間が経過しても、歩数保存処理は実行されない。
【0141】
続いて、ステップS151では、CPU44aからスリープの実行の指示があるかどうかを判断する。ステップS151で“NO”であれば、つまりCPU44aからスリープの実行の指示がなければ、同じステップS151に戻って、スリープの実行の指示があるのを待機する。一方、ステップS151で“YES”であれば、つまりCPU44aからスリープの実行の指示があれば、ステップS153で、スリープを実行し、ステップS155で、スリープフラグ604gをオンして、ステップS157に進む。つまり、ステップS153では、マイコン56は、CPU44aのクロックを停止し、電源管理IC52を制御して、NAND型フラッシュメモリ48の電力を停止し、スリープ状態に戻る。
【0142】
図22に示すように、ステップS157では、蓋が開けられたかどうかを判断する。ここでは、マイコン56は、開閉スイッチ60からオンの信号が与えられたかどうかを判断する。ステップS157で“NO”であれば、つまり蓋が開けられていなければ、図20に示したステップS139に戻る。一方、ステップS157で“YES”であれば、つまり蓋が開けられれば、ステップS159で、スリープ中かどうかを判断する。
【0143】
ステップS159で“NO”であれば、そのままステップS167に進む。一方、ステップS159で“YES”であれば、ステップS161で、スリープの解除(2)を実行する。ここでは、ゲーム装置10の蓋が開けられたため、スリープの解除(2)では、マイコン56は、CPU44aを起動するとともに、電源管理IC52を制御して、全コンポーネントに電力を供給する。続いて、ステップS163では、スリープ解除をCPU44aに指示し、ステップS165では、スリープフラグ604gをオフして、ステップS167に進む。
【0144】
ステップS167では、蓋開情報をCPU44aに送信する。そして、ステップS169では、CPU44aから歩数カウントの停止の指示があるかどうかを判断する。ステップS169で“NO”であれば、つまりCPU44aから歩数カウントの停止の指示がなければ、同じステップS169に戻って、歩数カウントの停止の指示があるのを待機する。一方、ステップS169で“YES”であれば、つまりCPU44aから歩数カウントの停止の指示があれば、ステップS171で、歩数カウントを終了し、図23に示すステップS173に進む。ステップS171では、マイコン56は、歩数カウント処理のタスクを終了する。
【0145】
図23に示すように、ステップS173では、電源オフの指示があるかどうかを判断する。つまり、マイコン56は、電源ボタン24kがオンされたかどうかを判断する。ステップS173で“NO”であれば、つまり電源オフの指示がなければ、図19に示したステップS123に戻る。一方、ステップS173で“YES”であれば、つまり電源オフの指示があれば、ステップS175で、電源オフ情報をCPU44aに送信し、ステップS177で、CPU44aから電源オフ実行の指示があるかどうかを判断する。
【0146】
ステップS177で“NO”であれば、つまりCPU44aから電源オフ実行の指示がなければ、同じステップS177に戻って、電源オフ実行の指示があるのを待機する。一方、ステップS177で“YES”であれば、つまりCPU44aから電源オフ実行の指示があれば、ステップS179で、ゲーム装置10の電源をオフして、全体処理を終了する。ステップS179では、マイコン56は、電源管理IC52を制御して、電源管理IC52およびマイコン56を除く全コンポーネントの電力を停止する。
【0147】
なお、図19−図23では省略したが、マイコン56は、ステップS123で“YES”である場合には、電源管理IC52を制御して、立体LCD12および下LCD14の電力を停止する。また、マイコン56は、ステップS157で“YES”である場合には、スリープ中か否かに拘わらず、電源管理IC52を制御して、立体LCD12および下LCD14に電力を供給する。
【0148】
図24は、マイコン56の歩数カウント処理を示すフロー図である。図24に示すように、マイコン56は、歩数カウント処理を開始すると、ステップS201で、所定値以上の加速度を検出したかどうかを判断する。つまり、マイコン56は、加速度センサ54からの加速度信号が示す加速度が所定値以上であるかどうかを判断する。
【0149】
ステップS201で“NO”であれば、つまり所定値以上の加速度を検出していなければ、そのままステップS213に進む。一方、ステップS201で“YES”であれば、つまり所定値以上の加速度を検出すると、ステップS203で、繰上げ分秒を迎えたかどうかを判断する。ここでは、マイコン56は、RTC56aでカウントされる現在時刻、オフセットデータ604bが示すオフセット、繰上げ分秒データ604cが示す繰上げ分秒および最新歩数日時データ604eが示す最新歩数日時に基づいて、歩数データ(650a、650b、…)の記憶領域を変更するかどうかを判断する。ステップS203で“NO”であれば、つまり繰上げ分秒を迎えていなければ、そのままステップS209に進む。一方、ステップS203で“YES”であれば、つまり繰上げ分秒を迎えると、ステップS205で、RTC56aでカウントされた現在時刻を最新歩数日時として、対応する最新歩数日時データ604eをメモリ56bに書き込む。つまり、最新歩数日時データ604eが更新される。次のステップS207では、歩数データの記憶領域を変更して、ステップS209に進む。
【0150】
ステップS209では、現在の記憶領域に記憶された歩数データ(650a、650b、…)に対応する歩数を1加算する。このとき、マイコン56は、最新歩数記憶領域識別データ604dが示す記憶領域を現在の記憶領域と判断する。ただし、現在の記憶領域に歩数データが記憶されていない場合には、歩数が1である歩数データを現在の記憶領域に記憶する。
【0151】
続くステップS211では、累積歩数を1加算する。つまり、マイコン56は、累積歩数データ604fが示す累積歩数を1加算する。そして、ステップS213で、歩数カウントの終了かどうかを判断する。上述したように、マイコン56は、CPU44aから歩数カウントの停止の指示があると、歩数カウントを終了する。
【0152】
ステップS213で“NO”であれば、つまり歩数カウントの終了でなければ、そのままステップS201に戻って、歩数カウントを続行する。一方、ステップS213で“YES”であれば、つまり歩数カウントの終了であれば、歩数カウント処理を終了する。
【0153】
この実施例によれば、ゲーム装置の電源がオンされ、第1モードが設定されている場合には、スリープ状態であるか否かに拘わらず、第2所定時間毎、第1モードから第2モードに切り替えられる前、および電源がオフされる前のような所定のタイミングで、マイコン内のメモリに記憶された歩数データが、NAND型フラッシュメモリに保存される。したがって、マイコン内のメモリの記憶領域が一杯になり、歩数を記憶できない状態になることを回避することができる。つまり、ユーザないしプレイヤの操作を必要とせず、簡単かつ容易に歩数の長期的な保存を実現することができる。
【0154】
なお、この実施例では、ゲーム装置がスリープ状態でない場合には、CPU内部に設けられたタイマのカウント値に基づいて第2所定時間を経過したかどうかを判断するようにしたが、かかる場合にも、RTCのカウント値に基づいて第2所定時間を経過したかどうかを判断するようにしてもよい。
【0155】
また、この実施例では、第2所定時間が経過したとき、第1モードから第2モードに切り換えられる前(ゲーム装置を再起動する前)および電源をオフする前のような所定のタイミングで、マイコン内のメモリに記憶された歩数データをNAND型フラッシュメモリに保存するようにしたが、これに限定される必要はない。
【0156】
具体的には、第1モードでスリープが実行される前、第1モードでスリープが解除されたとき、および第1モードでマイコン内のメモリの歩数データ記憶領域が一杯になったときなどにも、歩数保存処理を実行してもよい。または、電源をオフするときには、歩数保存処理を実行しないようにしてもよい。ただし、ゲーム装置の電源をオフするか、ゲーム装置を再起動するかは、CPUによって選択(判断)される。
【0157】
また、この実施例で示したゲーム装置の構成に限定される必要はない。LCDは1つでもよく、タッチパネルは設けなくてもよい。または、両方のLCDにタッチパネルを設けてもよい。また、カメラは設けなくてもよいし、4つ以上設けてもよい。もちろん、カメラは、1つまたは2つでも構わない。さらに、2つの立体LCDを設けてもよく、逆に、2つとも立体表示できないLCDを設けてもよい。さらにまた、各種ボタンやアナログパッドは、一部を省略してもよいし、また、それらの配置位置は任意に変更することができる。
【0158】
さらに、この実施例では、情報処理装置の一例として、携帯型のゲーム装置を説明したが、これに限定される必要はない。記憶容量の異なるメモリを2つ以上備えるとともに、歩数を検出する機能を備える情報処理装置であれば、携帯電話機やPDAのような他の情報処理装置にも適用可能である。
【符号の説明】
【0159】
10 …ゲーム装置
12 …立体LCD
12a …LCDコントローラ
12b …バリア液晶
12c …上LCD
14 …下LCD
16 …タッチパネル
18a−18c …カメラ(内側,外側左,外側右)
20 …3D調整スイッチ(3D Vol)
20A …3Dランプ
30 …マイク
24a−24k …ボタン(キー)
26 …アナログパッド
44 …SoC
44a …CPU
44b …GPU
44c …VRAM
50 …メインメモリ
52 …電源管理IC
54 …加速度センサ
60 …開閉スイッチ
440 …タイマ(Tick)
Sd …スライダ
ICL,ICR …仮想カメラ(左,右)

【特許請求の範囲】
【請求項1】
歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第1メモリに記憶する歩数記憶手段、および
前記第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する保存手段を備える、情報処理装置。
【請求項2】
前記情報処理装置の不使用状態と使用状態を切り替える状態切替手段をさらに備え、
前記歩数検出手段は、少なくとも前記不使用状態のとき、歩数を検出し、
前記保存手段は、少なくとも前記不使用状態のときに、前記第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して前記第2メモリに保存する、請求項1記載の情報処理装置。
【請求項3】
前記歩数検出手段は、前記不使用状態のとき、歩数を検出し、前記使用状態のとき、歩数を検出しない、請求項2記載の情報処理装置。
【請求項4】
前記状態切替手段は、省電力モードと通常モードとを切り替え、
前記歩数検出手段は、少なくとも前記省電力モードのとき、歩数を検出し、
前記保存手段は、前記第1メモリに記憶された歩数データを、前記省電力モードの間の所定のタイミングで一時的に前記通常モードに切り替えられた後、自動的に読み出して前記第2メモリに保存する、請求項2記載の情報処理装置。
【請求項5】
前記歩数検出手段は、前記省電力モードのとき、歩数を検出し、前記通常モードのとき、歩数を検出しない、請求項4記載の情報処理装置。
【請求項6】
前記保存手段は、前記通常モードのときに、前記第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して前記第2メモリに保存する、請求項4記載の情報処理装置。
【請求項7】
前記状態切替手段は、前記保存手段が能動化されている状態と不能動化されている状態とを切り替え、
前記歩数検出手段は、少なくとも、前記保存手段が不能動化されている状態のとき、歩数を検出し、
前記保存手段は、前記第1メモリに記憶された歩数データを、前記不能動化された状態の間の所定のタイミングで一時的に前記状態切替手段によって能動化された状態に切り替えられた後、自動的に読み出して前記第2メモリに保存する、請求項2記載の情報処理装置。
【請求項8】
前記歩数検出手段は、前記保存手段が不能動化されている状態のとき、歩数を検出し、前記保存手段が能動化されている状態のとき、歩数を検出しない、請求項7記載の情報処理装置。
【請求項9】
前記保存手段は、能動化されている状態のとき、前記第1メモリに記憶された歩数データを、所定のタイミングで自動的に読み出して前記第2メモリに保存する、請求項7記載の情報処理装置。
【請求項10】
前記所定のタイミングは、所定時間を経過する毎である、請求項1記載の情報処理装置。
【請求項11】
最初の前記所定のタイミングは、基準となる時刻から前記所定時間を経過したときである、請求項10記載の情報処理装置。
【請求項12】
電源のオフまたは再起動を選択する選択手段をさらに備え、
前記所定のタイミングは、前記選択手段によって電源のオフまたは再起動が選択されたタイミングである、請求項10記載の情報処理装置。
【請求項13】
前記第1メモリは、短期間における歩数データを記憶する記憶領域を有し、
前記第2メモリは、前記第1メモリの記憶領域よりも長期間における歩数データを記録する大容量の記憶領域を有している、請求項1記載の情報処理装置。
【請求項14】
前記情報処理装置用のプログラムを実行する第1モードと別の情報処理装置用のプログラムを実行する第2モードとを切り替えるモード切替手段をさらに備え、
前記保存手段は、前記第1モードのとき、前記第1メモリに記憶された歩数データを前記所定のタイミングで自動的に読み出して前記第2メモリに保存し、前記第2モードのとき、前記第1メモリに記憶された歩数データを前記第2メモリに保存しない、請求項1記載の情報処理装置。
【請求項15】
前記保存手段は、モード切替手段によって前記第2モードから前記第1モードに切り換えられた後、前記第2モードのときに前記第1メモリに記憶された歩数データを前記所定のタイミングで前記第2メモリに保存する、請求項14記載の情報処理装置。
【請求項16】
情報処理プログラムであって、
コンピュータを、
歩数を検出する歩数検出手段、
前記歩数検出手段によって検出された歩数に対応する歩数データを第1メモリに記憶する歩数記憶手段、および
前記第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する保存手段として機能させる、情報処理プログラム。
【請求項17】
情報処理方法であって、
コンピュータは、
(a)歩数を検出し、
(b)前記ステップ(a)によって検出された歩数に対応する歩数データを第1メモリに記憶し、そして
(c)前記第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して当該第1メモリとは異なる第2メモリに保存する、情報処理方法。
【請求項18】
歩数を検出し、検出した歩数に対応する歩数データを第1メモリに記憶するマイコン、および
前記第1メモリに記憶された歩数データを読み出して当該第1メモリとは異なる第2メモリに保存するCPUを備え、
前記CPUは、起動中では、前記第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して前記第2メモリに保存し、前記マイコンからの要求に応じて停止し、停止中では、前記マイコンからの要求に応じて起動し、前記第1メモリに記憶された歩数データを読み出して前記第2メモリに保存する、情報処理装置。
【請求項19】
歩数を検出し、検出した歩数に対応する歩数データを第1メモリに記憶するマイコン、および
前記第1メモリに記憶された歩数データを読み出して当該第1メモリとは異なる第2メモリに保存するCPUを備える、情報処理装置の情報処理方法であって、
前記CPUは、起動中では、前記第1メモリに記憶された歩数データを所定のタイミングで自動的に読み出して前記第2メモリに保存し、前記マイコンからの要求に応じて停止し、停止中では、前記マイコンからの要求に応じて起動し、前記第1メモリに記憶された歩数データを読み出して前記第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

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate