(57)【特許請求の範囲】
【請求項１】
筐体に加えられる特定の振動に特定の処理を対応させた情報処理装置であって、
加速度を検出する加速度検出手段と、
前記加速度検出手段で、所定の振幅以上かつ所定の周波数に収まる前記特定の振動を示す加速度を検出した場合に、検出した加速度が底面方向からの衝撃による加速度か否かを判定する第１の判定手段と、
前記第１の判定手段によって底面方向からの衝撃による加速度だと判定された場合に、該底面方向からの衝撃による加速度の検出から所定期間、加速度の変化に基づいて前記筐体が静止しているか否かを判定する第２の判定手段と、
前記第２の判定手段によって、静止していると判定されなかった場合には前記特定の振動に対応する前記特定の処理を行うように制御し、静止していると判定された場合には前記特定の振動に対応する前記特定の処理を実行しないように制御する制御手段
とを備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記加速度検出手段で前記特定の振動を示す加速度を検出した場合に、前記第１の判定手段によって、検出した振動が底面方向からの衝撃による加速度ではないと判定された場合には前記特定の振動に対応する前記特定の処理を実行するように制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定期間は、前記特定の振動の略１周期の期間であることを特徴とする請求項１または2に記載の情報処理装置。
【請求項４】
前記特定の振動の略１周期の期間は予め記憶された期間であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の判定手段は、前記加速度検出手段で検出された重力の方向と平行で逆向きの加速度を、底面方向からの加速度であると判定することを特徴とする請求項１乃至４のいずれか1項に記載の情報処理装置。
【請求項６】
前記特定の振動は、前記筐体が叩かれた場合の振動であることを特徴とする請求項1乃至５の何れか1項に記載の情報処理装置。
【請求項７】
前記情報処理装置は、携帯できる情報処理装置であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、撮像手段を有する撮像装置であることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
加速度検出手段を備え、筐体に加えられる特定の振動に特定の処理を対応させた情報処理装置の制御方法であって、
前記加速度検出手段で、所定の振幅以上かつ所定の周波数に収まる前記特定の振動を示す加速度を検出した場合に、検出した加速度が底面方向からの衝撃による加速度か否かを判定する第１の判定ステップと、
前記第１の判定ステップによって底面方向からの衝撃による加速度だと判定された場合に、該底面方向からの衝撃による加速度の検出から所定期間、加速度の変化に基づいて前記筐体が静止しているか否かを判定する第２の判定ステップと、
前記第２の判定ステップによって、静止していると判定されなかった場合には前記特定の振動に対応する前記特定の処理を行うように制御し、静止していると判定された場合には前記特定の振動に対応する前記特定の処理を実行しないように制御する制御ステップ
とを備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載された情報処理装置の各手段として機能させるためのプログラム。
【請求項１１】
コンピュータを、請求項１乃至８のいずれか１項に記載された情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加速度センサによる入力機能を備える情報処理装置、その制御方法及びプログラム並びに記録媒体に関する。
【背景技術】
【０００２】
近年、タッチパネルや加速度センサを有する情報処理装置が商品化されている。タッチパネルは、目的に応じて変更可能な多様な操作を可能にする。また、加速度センサにより、携帯情報機器自体を動かす又は振動させる操作や、外装を軽くたたく操作（タップ操作）により、特定の指示を情報処理装置に入力することも可能である。
【０００３】
特許文献１には、ユーザが、デジタルカメラの筐体表面を指先で叩くタップ操作により、物理スイッチの操作無しで所望の機能を設定できるデジタルカメラが記載されている。
【０００４】
特許文献２には、携帯情報装置の本体に加える移動回転等を加速度センサで検出解析し、特定の指示と解釈する携帯情報装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−３０２８０８号公報
【特許文献２】特開平０６−００４２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理装置で万人がタップ操作を容易に利用できるようにするには、より小さい衝撃のタップ操作に応答するようにするのが好ましい。他方、小さい衝撃でタップ操作に反応すると、単に情報処理装置を机上に置く操作や、カバン内で他の収容物と接触する等の衝撃に反応し、いわゆる誤動作をしてしまうことがある。
【０００７】
本発明は、振動を与えることによる操作が可能でありつつ、誤動作を低減又は解消した情報処理装置、その制御方法及びプログラム並びに記録媒体を提示することを目的とする。
【課題を解決するための手段】
【０００８】
本発明にかかる情報処理装置は、筐体に加えられる特定の振動に特定の処理を対応させた情報処理装置であって、加速度を検出する加速度検出手段と、前記加速度検出手段で、所定の振幅以上かつ所定の周波数に収まる前記特定の振動を示す加速度を検出した場合に、検出した加速度が底面方向からの衝撃による加速度か否かを判定する第１の判定手段と、前記第１の判定手段によって底面方向からの衝撃による加速度だと判定された場合に、該底面方向からの衝撃による加速度の検出から所定期間、加速度の変化に基づいて前記筐体が静止しているか否かを判定する第２の判定手段と、前記第２の判定手段によって、静止していると判定されなかった場合には前記特定の振動に対応する前記特定の処理を行うように制御し、静止していると判定された場合には前記特定の振動に対応する前記特定の処理を実行しないように制御する制御手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、振動を与えることによる操作が可能でありつつ、誤動作を低減又は解消した情報処理装置を実現できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】本実施例の配置例と加速度検出の座標軸を示す模式図である。
【図３】本実施例のメインタスクのフローチャートである。
【図４】本実施例の加速度センサデータ処理タスクのフローチャートである。
【図５】加速度データのメモリ上での配置を示す模式図である。
【図６】加速度センサの検出波形例である。
【図７】本実施例の加速度センサ解析処理のフローチャートである。
【図８】加速度センサ解析処理の別のフローチャートである。
【図９】加速度センサ解析処理のさらに別のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る情報処理装置の一実施例であるデジタルカメラの概略構成ブロック図を示す。
【００１３】
デジタルカメラ１００の撮像光学系１０２は、被写体の光学像を撮像素子１０４に入射する。撮像素子１０４は、撮像面の光学像を電気画像信号に変換する。アナログフロントエンド（ＡＦＥ）１０６は、撮像素子１０４から出力されるアナログ画像信号をレベル調整し、ディジタル化する。画像処理回路１０８は、ＡＦＥ１０６から出力されるアナログ画像信号に周知のカメラ信号処理を施す。
【００１４】
ＭＰＵ（又はＣＰＵ）１１０は、ドライバＩＣ１１２及びレンズアクチュエータ１１４により撮像光学系１０２のフォーカス、ズーム及び絞り等を制御する。ＭＰＵ１１０は、画像処理回路１０８で処理された画像データをＲＡＭ１１６に一時格納し、記録に適した形態に変換又は圧縮して記憶装置１１８に格納する。記憶装置１１８は、ハードディスク装置又は半導体メモリ等からなり、一定数又は一定時間までの撮影画像データを記憶可能である。
【００１５】
ＭＰＵ１１０は、デジタルカメラ１００の全体を制御する。ＭＰＵ１１０は、時分割処理により、複数のタスクを同時に処理することが可能である。ＲＯＭ１２０には、ＭＰＵ１１０で動作する制御プログラムと固定値が格納されている。ＲＡＭ１１６にはＭＰＵ１１０で実行される制御プログラムがロードされる。ＲＡＭ１１６はまた、ＭＰＵ１１０のワークエリアとして機能する。ＭＰＵ１１０は、動作状態、タイマ装置１２２の出力、操作部材１２６の操作及び加速度センサ１２８の検出出力に従い、各部を制御する。タイマ装置１２２は経過時間を計測するカウンタであり、任意に設定した時間が経過すると、ＭＰＵ１１０への割り込み（１２４）を発生する。
【００１６】
操作部材１２６は、オペレータの操作による指示を電気信号に変換してＭＰＵ１１０に伝達する。ＭＰＵ１１０は、操作部材１２６の出力によってユーザの指示を認識する。
【００１７】
加速度センサ１２８は、カメラ１００の筐体に加わる外力の加速度とその方向を（Ｘ，Ｙ，Ｚ）の３軸方向で検知し、それらの値を電気信号に変換して内部のレジスタに記憶する。ＭＰＵ１１０は、加速度センサ１２８のレジスタに記憶された値を読み出すことによって、装置に加わった加速度の大きさと向きを認識する。
【００１８】
表示装置１３０は、種々のメニューに加え、撮影対象の被写体画像を表示し、または、記憶装置１１８に記憶される画像を表示できる。
【００１９】
ＭＰＵ１１０は、バス１３２を介して画像処理回路１０８、ＲＡＭ１１６、ＲＯＭ１２０、記憶装置１１８、タイマ装置１２２及び表示装置１３０に接続する。
【００２０】
図２は、図１に示すカメラ１００を横置き（水平）状態１００Ａと、縦置き（垂直）状態１００Ｂに置いたときの外観と加速度の方向を示す模式図である。カメラ１００を横置きにしたときの水平横方向をＸ軸とし、上下方向をＹ軸とし、前後方向をＺ軸としている。本実施例では、カメラ１００の左右側面を叩くタップ操作で特定の指示をカメラ１００（具体的には、ＭＰＵ１１０）に入力する。２０２Ａ，２０２Ｂは、カメラ１００の右側面へのタップ操作又はそれによる加速度を模式的に示し、２０４Ａ，２０４Ｂは、カメラ１００の左側面へのタップ操作又はそれによる加速度を模式的に示す。
【００２１】
常に一定の加速度がかかる重力方向２０６を検出することで、カメラ１００の向きを検出できる。カメラ１００は、重力方向２０６を検出する重力方向検出手段を具備してもよいし、加速度センサ１２８で検出される重力加速度（加速度センサ１２８で常に検出される一定の加速度）に基づいて重力方向を判別してもよい。
【００２２】
横置き状態１００Ａでは、カメラ１００の底面が設置面となり、縦置き状態１００Ｂでは、左側面が設置面となる。
【００２３】
図３は、ＭＰＵ１１０で動作するメインタスクのフローチャートを示す。図４は、ＭＰＵ１１０の、加速度センサ１２８の出力を処理するタスク（加速度センサデータ処理タスク）の詳細なフローチャートを示す。図３に示すメインタスクと、図３に示す加速度センサデータ処理タスクは、ＭＰＵ１１０上で時分割により並行して実行される。
【００２４】
メインタスクでは、ＭＰＵ１１０は、入力があると、それが操作部材１２６の操作による操作部材入力か、タップ操作によるタッピング入力かを判定する（Ｓ３０１）。タッピング入力の場合（Ｓ３０１）、ＭＰＵ１１０は、そのタップ操作に対して予め割り当てられている処理を実行する（Ｓ３０２）。他方、操作部材入力の場合（Ｓ３０１）、ＭＰＵ１１０は、それが電源オフであれば（Ｓ３０３）、メインタスクを終了し、電源オフでなければ（Ｓ３０３）、操作されたボタン等に対応する処理を実行する（Ｓ３０４）。
【００２５】
図５は、加速度センサデータ処理タスクによって収集された加速度センサ出力データの、ＲＡＭ１１６に格納されるデータ構造を示す。１０００個の加速度データを格納可能なデータ配列５０１と、データ配列５０１の次に格納すべきアドレスを示すインデックス５０２からなる。個々の加速度データは、検出時刻５０４、Ｘ方向加速度５０６、Ｙ方向加速度５０８及びＺ方向加速度５１０からなる。
【００２６】
図６は、ＲＡＭ１１６に格納した加速度データのうち、一方向だけを取り出して時間軸上に展開した波形図である。横軸は時間を示し、縦軸は加速度の大きさを示す。図６（ａ）は、一度だけのタップ入力に対する波形例を示す。定常状態波形６１１の後に、タップ操作２０２Ａ，２０４Ａ；２０２Ｂ，２０４Ｂによる波形６１２が発生する。図６（ｂ）は、連続したタップ入力に対する波形例を示す。定常状態波形６２１の後に、連続する２回のタップ操作２０２Ａ，２０４Ａ；２０２Ｂ，２０４Ｂによる波形６２２，６２３が発生する。図６（ｃ）は、タップ操作の直前に他の動作による波形変化が起こっている場合の波形例を示す。定常状態波形６３１の後に、タップ操作以外の要因による波形６３２が発生し、続けて、タップ操作による波形６３３が発生する。波形６３３の後、定常状態となる。タップ操作以外の要因は例えば、落下や、カバンの中で他の収容物と接触する等の衝撃などの、ユーザが意図した操作で無しにカメラ１００に加わった振動である。
【００２７】
図４及び図５を参照して、加速度センサデータ処理タスクの詳細を説明する。ＭＰＵ１１０は、センサデータ処理タスクの起動時に、このタスクで利用する資源とメモリなどを初期化する（Ｓ４０１）。この初期化処理は、タイマ装置１２２の初期化、タイマ装置１２２による割り込み（１２４）の設定、ＲＡＭ１１６上のインデックス５０２の初期化を含む。インデックス５０２はデータ配列５０１の最初のデータ格納アドレスを示す。
【００２８】
ＭＰＵ１１０は、タイマ装置１２２による割り込みを待機する（Ｓ４０２）。割り込みが発生すると（Ｓ４０２）、ＭＰＵ１１０は、加速度センサ１２８の論理方向Ｘ、Ｙ、Ｚの全加速度データを読み出す（Ｓ４０３）。すなわち、数ｍｓｅｃ〜数１００ｍｓｅｃ程度の所定時間間隔で加速度センサ１２８から加速度データを取得する。ＭＰＵ１１０は、読みだしたデータをインデックス５０２で示されるＲＡＭ１１６の記憶領域に書き込む（Ｓ４０４）。
【００２９】
ＭＰＵ１１０は、インデックス５０２が示すアドレス値が、予め加速度センサデータ収集用に確保されたデータ配列５０１の領域を超えていないかを判断する（Ｓ４０５）。ＭＰＵ１１０は、データ配列５０１を超えない場合、インデックス５０２をインクリメントし（Ｓ４０６）、データ配列５０１を超える場合、インデックス５０２をデータ配列５０１の先頭を示すように初期化する（Ｓ４０７）。
【００３０】
ＭＰＵ１１０は、得られた加速度データがタップ操作に該当するか否かを判定する加速度データ解析処理を実行する（Ｓ４０８）。この加速度データ解析処理の詳細は図７を用いて後述する。ＭＰＵ１１０は、タイマ装置１２２に次回の割り込みを設定し（Ｓ４０９）、Ｓ４０２に戻る。
【００３１】
図７は、加速度データ解析処理（Ｓ４０８）の詳細なフローチャートを示す。ＭＰＵ１１０は、インデックス５０２で示される記憶領域から過去に遡るｔ（−１）〜ｔ（０）の一定時間Ｔ１の加速度データをＲＡＭ１１６から読み出し（Ｓ７０１）、その周波数を解析する（Ｓ７０２）。ここでＲＡＭ１１６から読み出される加速度データは、図６の波形６１２，６２３，６３３に相当する。
【００３２】
ＭＰＵ１１０は、その一定時間Ｔ１内の加速度データの振幅が閾値を超えているか否かを判定する（Ｓ７０３）。閾値を超えている場合、ＭＰＵ１１０は、更に、周波数が所定範囲に収まっているか否かを判定する（Ｓ７０４）。振幅が閾値を超えていないか、又は、周波数がタップ操作に適合しない場合、ＭＰＵ１１０は、本処理を終了する。
【００３３】
タップ操作の振動を示す振幅の閾値と周波数の範囲は、予め実機でタップ操作を実施して測定した結果により決定され、ＲＯＭ１２０に記憶されている。もちろん、ユーザに使用前にタップ操作を行わせ、その際の計測波形から振幅の閾値と周波数範囲を決定し、ＲＯＭ１２０又は記憶装置１１８に記憶してもよい。
【００３４】
ＭＰＵ１１０は、Ｓ７０４で周波数が所定範囲に収まっていると判定した場合（即ち、タップ操作を示す振動が検出された場合）、更に過去に遡ってｔ（−２）〜ｔ（−１）の一定時間Ｔ１の加速度データをＲＡＭ１１６から読み出す（Ｓ７０５）。そして、ＭＰＵ１１０は、読み出した過去の加速度データを周波数解析する（Ｓ７０６）。ここでＲＡＭ１１６から読み出される加速度データは、図６の定常状態波形６１１の一部、波形６２２、及び波形６３２の一部に相当する。
【００３５】
ＭＰＵ１１０は、読み出した加速度データの振幅を判定する（Ｓ７０７）。一定以上の振幅がある場合、ＭＰＵ１１０は、振幅と周波数がタップ操作に適合するか否かを判定する（Ｓ７０８）。振幅と周波数がタップ操作に適合しないと判定した場合（Ｓ７０８）、ＭＰＵ１１０は、Ｓ７０４で判定された振動に割り当てられた処理を実行することなく本処理を終了する。すなわち、Ｓ７０４で判定された振動をもたらしたタップ操作は、メインタスクに通知されない。振幅判定の閾値と周波数範囲は、Ｓ７０３、Ｓ７０４におけるタップ操作判定のそれと同じで良い。これにより、連続したタップ操作（図６（ｂ））と、それ以外（図６（ｃ））とを識別できる。連続したタップ操作であれば連続したタップ操作に対応した処理を実行する。一方、図６（ｃ）のように、意図しない振動が直前に起こっていたのであれば、現在においてタップ操作を示す振動であると判定された振動も、意図せずに起こったものであるとみなし、タップ操作に対応する処理を実行しない。これによって意図しない振動による誤動作を抑制あるいは防止することができる。
【００３６】
ＭＰＵ１１０は、Ｓ７０７で過去データに一定以上の振幅が無いと判定した場合、およびＳ７０８で振幅及び周波数がタップ操作に適合すると判定した場合、メインタスクにタップ操作による入力を通知する（Ｓ７０９）。メインタスクに通知する方法は、メッセージキュー、シェエアドメモリ又はソフトウェア割り込みなど様々な形態が考えられるが、何れでもよい。
【００３７】
ＭＰＵ１１０は、加速度センサ１２８で検出される加速度データの振幅が閾値以上であり、且つ、前記加速度データの周波数が特定の振動、すなわち、タップ操作を示す場合に、タップ操作に対して割り当てられている処理を始動する。処理は例えば、スリープの解除、再生画像のコマ送り、又はパラメータ値の変更である。
【００３８】
このように、本実施例では、加速度データが特定の条件を満たさない状態で、特定の振動を示す加速度データを検出した場合に、この特定の振動に対応する特定の処理を行うように制御する。他方、加速度データが特定の条件を満たす状態で特定の振動を示す加速度データを検出した場合には、この特定の振動に対応する特定の処理を実行しないように制御する。
【００３９】
本実施例では、タイマ割り込みにより、この割り込み以前に計測される加速度データが特定のタップ操作によるものか否かを判定したが、もちろん、加速度センサの計測と同時に特定のタップ操作か否かを判定してもよい。
【００４０】
なお、複数の振動による操作にそれぞれ異なる処理（機能）を割り当て、加速度データを解析してどの振動による操作が行われたかを判別して複数の処理を使い分けることも可能である。その場合、上述のＳ７０８では、過去データでタップ操作に適合する振動があったか否かを判定するものとしたが、過去データで何れかの振動操作に適合する振動があったか否かを判定するものとしてもよい。何れかの振動操作に適合する振動があったと判定した場合は意図的な振動操作が継続して行われているとみなしてＳ７０９にすすむ。一方、何れの振動操作にも適合しない振動があった場合には、装置が意図せずに振動する状況にあるものとみなして振動操作に対応する処理は実行せずに処理を終了する。
【実施例２】
【００４１】
図８は、加速度センサ解析処理（Ｓ４０８）の別のフローチャートを示す。Ｓ８０１〜Ｓ８０４の処理は、図７で前述したＳ７０１〜Ｓ７０４の処理と同様であるので説明を省略する。
【００４２】
ＭＰＵ１１０は、周波数が所定範囲に収まっていると判定した場合（Ｓ８０４）（すなわち、タップ操作を示す振動が検出された場合）、底面方向からの衝撃による加速度か否かを判定する（Ｓ８０５）。これは、Ｓ８０２で解析した振動による加速度の方向が，重力の方向と平行で逆向きであるかどうかで判定できる。つまり、水平置き１００Ａの場合、重力方向２０６がＹ軸の負方向と一致し、かつ加速度方向がＹ軸の正方向であるときに、底面からの入力と判定できる。他方、垂直置き１００Ｂの場合、重力方向２０６がＸ軸の負方向と一致し、かつ加速度方向がＸ軸の正方向であるときに、底面からの入力と判定できる。
【００４３】
ＭＰＵ１１０は、底面方向からの入力があったと判定した場合（Ｓ８０５）、タップ入力の１周期程度の時間Ｔ２、待機する（Ｓ８０６）。この待機の後、ＭＰＵ１１０は、再度、加速度データを読み出し（Ｓ８０７）、データ変化の有無を調べる（Ｓ８０８）。Ｓ８０２で解析してＳ８０５で底面からの振動であると判定された振動が机などの上に置かれた際の衝撃によるものであった場合は、その後机などの上に置かれた状態でしばらく静止すると考えられる。そのため、Ｓ８０８で加速度データに変化が無い（振動していない）と判定される場合は、Ｓ８０２で解析した振動はやはり机などの上に置かれた際の衝撃によるものであってユーザによる意図的なタップ操作ではなかったと考えられる。一方、Ｓ８０８で加速度データに変化がある（振動している）と判定される場合は、机の上などに置かれて静止した状態ではないと考えられる。したがってＳ８０２で解析した振動は底面方向からのものであったとはいえ、机の上などに置かれた際の振動によるものではなく、ユーザによる意図的なタップ操作であったものとみなせる。従って、Ｓ８０８でデータの変化がないと判定した場合（Ｓ８０８）、ＭＰＵ１１０は、タップ操作に対応した処理を実行することなく（タップ操作があったと通知することなく）本処理を終了する。
【００４４】
この処理により、机などの上に置かれた場合に、机などへの衝撃と、タップ操作とを区別して判定できる。
【００４５】
底面方向からの入力の前後で加速度データに変化がある場合（Ｓ８０８）、ＭＰＵ１１０は、タップ操作による入力をメインタスクに通知して（Ｓ８０９）、本処理を終了する。メインタスクに通知する方法は、メッセージキュー、シェエアドメモリ又はソフトウェア割り込みなど様々な形態が考えられるが、何れでもよい。
【００４６】
図８に示すフローでは、重力方向と逆側からの衝撃による加速度を検出した場合に、その前後の加速度データで特定のタップ操作かどうかを判定しており、いわば、重力方向と逆側からの衝撃による加速度を含む一定時間の加速度データを無視又は破棄している。しかし、単に、重力方向に一致する加速度を無視するようにしてもよい。
【実施例３】
【００４７】
図９は、加速度センサ解析処理（Ｓ４０８）の別のフローチャートを示す。これは、カメラ１００の落下をタップ操作と誤認しないようにする処理である。
【００４８】
ＭＰＵ１１０は、落下に対してタイマ装置１２２に設定される落下タイマが規定時間を満了又は経過しているか否かを調べる（Ｓ９０１）。落下タイマが満了していない場合（Ｓ９０１）、ＭＰＵ１１０は、本処理を終了する。すなわち、落下タイマの満了前に加速度センサ１２８で検出される加速度データは、無視又は破棄される。
【００４９】
落下タイマが満了している場合（Ｓ９０１）、ＭＰＵ１１０は、インデックス５０２で示される記憶領域から過去に遡る一定時間Ｔ１の加速度データをＲＡＭ１１６から読み出し（Ｓ９０２）、その周波数を解析する（Ｓ９０３）。ここでＲＡＭ１１６から読み出される加速度データは、図６の波形６１２，６２３，６３３に相当する。
【００５０】
ＭＰＵ１１０は、その一定時間Ｔ１内の加速度データの振幅が閾値を超えているか否かを判定する（Ｓ９０４）。閾値を超えている場合、ＭＰＵ１１０は、更に、周波数が所定範囲に収まっているか否かを判定する（Ｓ９０５）。振幅が閾値を超えていない場合（Ｓ９０４）、ＭＰＵ１１０は、本処理を終了する。振幅の閾値と周波数の範囲は、予め実機でタップ操作を実施して測定した結果により決定され、ＲＯＭ１２０に記憶されている。もちろん、ユーザに使用前にタップ操作を行わせ、その際の計測波形から振幅の閾値と周波数範囲を決定し、ＲＯＭ１２０又は記憶装置１１８に記憶してもよい。
【００５１】
加速度データがタップ操作に適合する周波数を示す場合（Ｓ９０５）、ＭＰＵ１１０は、タップ操作による入力をメインタスクに通知し（Ｓ９０６）、本処理を終了する。メインタスクに通知する方法は、メッセージキュー、シェエアドメモリ又はソフトウェア割り込みなど様々な形態が考えられるが、何れでもよい。
【００５２】
加速度データがタップ操作に適合する周波数を示さない場合（Ｓ９０５）、ＭＰＵ１１０は、周波数解析結果に従い、落下か否かを判定する（Ｓ９０７）。落下と判定した場合（Ｓ９０７）、ＭＰＵ１１０は、落下タイマに所定値を設定し、始動して（Ｓ９０８）、本処理を終了する。落下で無い場合（Ｓ９０７）、ＭＰＵ１１０は、本処理を終了する。
【００５３】
本実施例によれば、落下中あるいは落下直後の一定時間（落下と判定されなくなってから落下タイマが満了するまでの期間）には加速度データを取得しないので、タップ操作に適合する振動があってもタップ操作に対応する処理は実行しない。これによって、落下による振動をタップ操作と誤検出することを抑制あるいは防止することができる。
【００５４】
以上、説明した各実施例において、ＭＰＵ１１０の制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【００５５】
本発明の好適な実施例を説明したが、本発明はこれら特定の実施例に限られるものではなく、発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施例は説明用のものであって、各実施例を適宜組み合わせることも可能である。
【００５６】
本発明を撮像装置に適用した実施例を説明したが、本発明は、撮像装置に限定されない。また、振動による操作としてタップ操作の例を説明したが、これに限定されない。装置本体を叩く、振る、傾けるなどして、装置本体に振動を与えることを操作入力として利用するものであれば適用可能である。すなわち、本発明はパーソナルコンピュータやＰＤＡ、携帯電話端末や携帯型の画像ビューワ、デジタルフォトフレーム、音楽プレーヤ、ゲーム機、電子ブックリーダなどに適用可能である。ゲーム機には、携帯ゲーム機や、据え置きゲーム機のリモコンなどが含まれる。据え置き型の装置であっても、その部品に対して叩く、振る、傾けるなどの動作を操作入力とするものに適用可能であるが、携帯機器には、装置本体を叩く、振る、傾けるなどの操作を適用しやすい。
【００５７】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のＣＰＵやＭＰＵ等がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記録した記録媒体は本発明を構成することになる。
【図１】
0005743559.tif 000002
【図２】
0005743559.tif 000003
【図３】
0005743559.tif 000004
【図４】
0005743559.tif 000005
【図５】
0005743559.tif 000006
【図６】
0005743559.tif 000007
【図７】
0005743559.tif 000008
【図８】
0005743559.tif 000009
【図９】
0005743559.tif 000010