(57)【要約】【課題】例えばShake操作による機器の往復運動を操作として検出する場合における操作誤検出の防止を図る。【解決手段】加速度信号に基づく所定演算を行って機器に生じる加速度の振幅と正／負の極性とを表す評価信号を生成し、この評価信号に基づき機器に所定の動きが与えられたか否かを判定する。このように振幅のみならず正負の極性も表す評価信号に基づけば、特に「振る（Shake）」という動きのように往復運動を含む所定の動きが与えられたか否かの判定を好適に行うことができる。つまり、これによって従来のように振幅と所定閾値との比較のみに基づく判定を行うよりも正確に所定の動きの有無を判定することができる。【選択図】図１１
2008033526.tif 000002
【特許請求の範囲】
【請求項１】
携帯使用が可能な携帯型電子機器であって、
上記携帯型電子機器に生じる加速度を検出する加速度検出手段と、
上記加速度検出手段により検出される加速度に基づく所定演算を行って、上記加速度の振幅と正／負の極性とを表す評価信号を生成する評価信号生成手段と、
上記評価信号生成手段により生成される上記評価信号に基づき上記携帯型電子機器に所定の動きが与えられたか否かを判定すると共に、この判定結果に基づき所定の動作が実行されるように制御を行う制御手段と、
を備えることを特徴とする携帯型電子機器。
【請求項２】
上記制御手段は、
上記評価信号が振幅、時間、正／負の極性に関する条件を満たすか否かを判別した結果に基づき、上記所定の動きが与えられたか否かを判定する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項３】
上記制御手段は、
上記評価信号の０クロス間隔を検出する０クロス間隔検出処理と、
上記評価信号の０クロス間に得られた極値を検出する極値検出処理とを実行すると共に、上記０クロス間隔検出処理と上記極値検出処理とにより検出した０クロス間隔と極値とが共に所定範囲内であることに応じ、上記所定の動きとしての「振る」動きに伴う当該携帯型電子機器の往復運動のうちの片方の運動が行われたと判定する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項４】
上記制御手段は、
上記評価信号の０クロス間隔を検出する０クロス間隔検出処理と、
上記評価信号の０クロス間に得られた極値を検出する極値検出処理と、
上記極値が得られたタイミングを検出する極値タイミング検出処理とを実行すると共に、上記０クロス間隔検出処理と上記極値検出処理とにより検出した０クロス間隔と極値とが共に所定範囲内であることに応じ、上記所定の動きとしての「振る」動きに伴う当該携帯型電子機器の往復運動のうちの片方の運動が行われたと判定し、再度、上記０クロス間隔検出処理と上記極値検出処理との検出結果に基づき上記「振る」動きに伴う当該携帯型電子機器の往復運動のうちの片方の運動が行われたと判定した場合は、今回の０クロス間において検出された極値タイミングと前回の０クロス間で検出された極値タイミングとの差が所定範囲内となっているか否か、及び今回の０クロス間で検出された極値と前回の０クロス間で検出された極値とが正／負交互で得られているか否かを判別し、上記極値タイミングの差が所定範囲内となっており且つ上記各極値が正／負交互で得られていると判別した場合に、上記「振る」動きに伴う１回分の往復運動が行われたと判定する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項５】
上記制御手段は、
上記評価信号の０クロス間隔を検出する０クロス間隔検出処理と、
上記評価信号の０クロス間に得られた極値を検出する極値検出処理と、
上記極値が得られたタイミングを検出する極値タイミング検出処理と、
上記０クロス間隔検出処理により検出した上記０クロス間隔が所定範囲内であるか否かを判別する第１判別処理と、
上記極値検出処理により検出した上記極値が所定範囲内であるか否かを判別する第２判別処理と、
シェイクカウントの値が１以上であるか否かを判別する第３判別処理と、
今回の０クロス間で検出された極値と前回の０クロス間で検出された極値とが正／負交互で得られているか否かを判別する第４判別処理と、
今回の０クロス間で検出された極値タイミングと前回の０クロス間で検出された極値タイミングとの差が所定範囲内となっているか否かを判別する第５判別処理と、
上記第１判別処理及び上記第２判別処理にて共に肯定結果が得られ、上記第３判別処理にて否定結果が得られたことに応じ、上記シェイクカウントの値を１とするカウント値１化処理と、
上記第１〜第５判別処理の全てにおいて肯定結果が得られたことに応じ、上記シェイクカウントの値を１インクリメントするカウント値インクリメント処理と、
上記シェイクカウントの値が予め定められた所定値となったことに応じ、上記所定の動きとしての「振る」動きが与えられたと判定する判定処理と、を実行する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項６】
上記評価信号生成手段は、
上記加速度検出手段により検出された現在の上記加速度を絶対値化した値から、過去所定期間の各時間に検出された上記加速度を絶対値化した値の平均値を減算することで上記評価信号を生成する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項７】
上記加速度検出手段は、複数軸方向の加速度を検出し、
上記評価信号生成手段は、
上記加速度検出手段により検出された各軸の加速度を絶対値化した値の和から、過去所定期間の各時間に検出された各軸の加速度を絶対値化した値の和の平均値を減算することで上記評価信号を生成する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項８】
上記制御手段は、
上記加速度検出手段により検出される加速度に基づき、上記携帯型電子機器に上記所定の動きが与えられる直前に静止状態とされる時間が所定時間継続していたか否かを判別すると共に、この判別の結果上記静止状態とされる時間が所定時間継続していたとされた場合にのみ、上記評価信号に基づき上記携帯型電子機器に上記所定の動きが与えられたか否かを判定する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項９】
上記制御手段は、
上記加速度検出手段により検出される加速度に基づき、上記所定の動きが与えられる直前の上記携帯型電子機器の姿勢が所定の条件を満たしているか否かを判別すると共に、この判別の結果上記所定の条件を満たしているとされた場合にのみ、上記評価信号に基づき上記携帯型電子機器に上記所定の動きが与えられたか否かを判定する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項１０】
上記制御手段は、
上記評価信号の０クロス間隔を検出する０クロス間隔検出処理と、
上記評価信号の０クロス間に得られた極値を検出する極値検出処理と、
上記極値が得られたタイミングを検出する極値タイミング検出処理と、
上記０クロス間隔検出処理により検出した上記０クロス間隔が所定範囲内であるか否かを判別する第１判別処理と、
上記極値検出処理により検出した上記極値が所定範囲内であるか否かを判別する第２判別処理と、
シェイクカウントの値が１以上であるか否かを判別する第３判別処理と、
今回の０クロス間で検出された極値と前回の０クロス間で検出された極値とが正／負交互で得られているか否かを判別する第４判別処理と、
今回の０クロス間で検出された極値タイミングと前回の０クロス間で検出された極値タイミングとの差が所定範囲内となっているか否かを判別する第５判別処理と、
上記第１判別処理及び上記第２判別処理にて共に肯定結果が得られ、上記第３判別処理にて否定結果が得られたことに応じ、上記シェイクカウントの値を１とするカウント値１化処理と、
上記第１〜第５判別処理の全てにおいて肯定結果が得られたことに応じ、上記シェイクカウントの値を１インクリメントする第１カウント値インクリメント処理と、
上記シェイクカウントの値が予め定められた規定値となったか否かについて判別する第６判別処理と、
上記第６判別処理により上記シェイクカウントの値が上記規定値となったとされたことに応じ、操作検出スタンバイ状態として予め定められた所定期間が経過したか否かについて判別する第７判別処理と、
上記第６判別処理により上記シェイクカウントの値が上記規定値となったとされた以降において、上記第２判別処理により上記極値が所定範囲内であるとされ、且つ上記第５判別処理により今回の０クロス間で検出された極値タイミングと前回の０クロス間で検出された極値タイミングとの差が所定範囲内となっているとされたことに応じ、上記シェイクカウントの値を１インクリメントする第２カウント値インクリメント処理と、
上記第７判別処理により上記操作検出スタンバイ状態として予め定められた所定期間が経過したとされた時点で、上記シェイクカウントの値が上記規定値から所定以内となる値となっていることに応じ、上記所定の動きとしての「振る」動きが与えられたと判定する判定処理と、を実行する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項１１】
上記制御手段は、
所定の条件下でのみ上記加速度検出手段がオンするように制御を行う、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項１２】
上記制御手段は、
上記所定の動きが与えられたと判定したことに応じて上記所定の動作が実行されるように制御を行った後、所定時間以内は上記所定の動作が再度実行されないように制御を行う、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項１３】
記憶媒体に記憶されたコンテンツデータについての再生が可能な再生手段をさらに備え、
上記制御手段は、
上記コンテンツデータについての再生モードとして、通常再生モードとシャッフル再生モードとの切り替え制御が可能とされると共に、上記所定の動きが与えられたと判定したことに応じ、上記通常再生モードとシャッフル再生モードとの切り替え制御を実行する、
ことを特徴とする請求項１に記載の携帯型電子機器。
【請求項１４】
上記制御手段は、
上記通常再生モードから上記シャッフル再生モードに切り替えるときは、上記再生手段により再生中のコンテンツデータとは別のコンテンツデータの再生が開始されるように制御し、上記シャッフル再生モードから上記通常再生モードに切り替えるときは、上記再生手段により再生中のコンテンツデータが継続して再生されるように制御する、
ことを特徴とする請求項１３に記載の携帯型電子機器。
【請求項１５】
上記制御手段は、
上記再生手段により上記コンテンツデータの再生が行われる間に上記加速度検出手段がオンするように制御を行う、
ことを特徴とする請求項１３に記載の携帯型電子機器。
【請求項１６】
携帯使用が可能な携帯型電子機器であって上記携帯型電子機器に生じる加速度を検出する加速度検出手段を備えた携帯型電子機器における動作制御方法として、
上記加速度検出手段により検出される加速度に基づく所定演算を行って、上記加速度の振幅と正／負の極性とを表す評価信号を生成する評価信号生成手順と、
上記評価信号生成手順により生成した上記評価信号に基づき上記携帯型電子機器に所定の動きが与えられたか否かを判定すると共に、この判定結果に基づき所定の動作が実行されるように制御を行う制御手順と、
を備えることを特徴とする動作制御方法。
【請求項１７】
携帯使用が可能な携帯型電子機器であって上記携帯型電子機器に生じる加速度を検出する加速度検出手段を備えた携帯型電子機器において実行されるべきプログラムとして、
上記加速度検出手段により検出される加速度に基づく所定演算を行って、上記加速度の振幅と正／負の極性とを表す評価信号を生成する評価信号生成手順と、
上記評価信号生成手順により生成した上記評価信号に基づき上記携帯型電子機器に所定の動きが与えられたか否かを判定すると共に、この判定結果に基づき所定の動作が実行されるように制御を行う制御手順と、を上記携帯型電子機器に実行させる、
ことを特徴とするプログラム。
【請求項１８】
加速度を検出する加速度検出手段で検出された現在の加速度を絶対値化した値から、過去所定期間の各時間に上記加速度検出手段で検出された加速度を絶対値化した値の平均値を減算して評価信号を生成する、
ことを特徴とする信号生成装置。
【請求項１９】
加速度を検出する加速度検出手段で検出された現在の加速度を絶対値化した値から、過去所定期間の各時間に上記加速度検出手段で検出された加速度を絶対値化した値の平均値を減算して評価信号を生成する、
ことを特徴とする信号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯使用が可能とされる携帯型電子機器のうち、特に加速度を検出する加速度検出手段を備えた携帯型電子機器と、このような携帯型電子機器における動作制御方法、及びプログラムに関する。また、加速度検出手段にて検出される加速度に基づき、機器に与えられた所定の動きの検出に最適な評価信号を生成する信号生成装置とその方法に関する。
【背景技術】
【０００２】
【特許文献１】特開２００６−１７８７４号公報
【特許文献２】特開平２−６９６９３号公報
【０００３】
電子機器として、特に携帯型の電子機器では、携帯性向上のための小型やデザイン性の向上などの理由から機器に設けられる操作子の数が限られる場合があり、例えば携帯型の音楽プレーヤなどでは、再生や停止、音量調節などといった基本的な操作のみについて操作子を設けるようにされたものがある。この場合、他の操作については、例えばディスプレイ上に表示されるメニュー画面を用いて行わせるようにしており、これによって機器の小型化やデザイン性向上を図りつつ、各種の操作入力を可能としている。
但し、このようにメニュー画面を用いて操作を行わせる場合には、目的とする操作に辿りつくまでに多くの階層を経なければならず操作性が悪化してしまう虞があることを考慮しなければならない。
【０００４】
この一方で、近年の携帯型電子機器では、加速度センサを用いてユーザの操作を検出するインタフェースを備えたものがある。例えば、上記特許文献１では、加速度センサからの信号に基づき、ユーザにより機器本体に与えられた動き（振る、たたくなど）を検出し、その結果に基づいて所定の命令を出すことが記載されている。
また、上記特許文献２では、同様に加速度センサからの信号に基づきユーザにより機器本体に与えられた動きを検出し、その結果に基づき時計のモード切替を行うことが記載されている。
このようにして加速度センサを用いた操作検出が可能とされることで、その分機器に備えられるべき操作子の数は削減することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、これら特許文献１，２に記載の従来技術では、加速度の振幅値と予め設定された所定閾値との比較結果のみに基づき、機器本体に所定の動きが与えられたか否かを判定するものとしているが、このような検出手法によると、操作の誤検出を誘発する虞がある。
すなわち、携帯型電子機器は、歩行時や走行時に使用することも考えられ、またこのときストラップにぶら下げられた状態であったりリュックサック（バックパック）などに入れられた状態とされることも想定できる。そのような場合には、上述したような「振る」や「たたく」などといった行為に伴って生じる加速度の振幅値と同等の振幅値が生じてしまう可能性もあり、上記のような閾値との比較のみを行っていたのでは誤検出の発生する可能性が高くなる。
【課題を解決するための手段】
【０００６】
そこで、本発明では以上のような問題点に鑑み、携帯型電子機器として以下のように構成することとした。
つまり、携帯使用が可能な携帯型電子機器であって、先ず、上記携帯型電子機器に生じる加速度を検出する加速度検出手段を備える。
また、上記加速度検出手段により検出される加速度に基づく所定演算を行って、上記加速度の振幅と正／負の極性とを表す評価信号を生成する評価信号生成手段を備える。
また、上記評価信号生成手段により生成される上記評価信号に基づき上記携帯型電子機器に所定の動きが与えられたか否かを判定すると共に、この判定結果に基づき所定の動作が実行されるように制御を行う制御手段を備えるものである。
【０００７】
また、本発明では信号生成装置として以下のように構成することとした。
すなわち、本発明の信号生成装置は、加速度を検出する加速度検出手段で検出された現在の加速度を絶対値化した値から、過去所定期間の各時間に上記加速度検出手段で検出された加速度を絶対値化した値の平均値を減算して評価信号を生成するものである。
【０００８】
上記本発明によれば、加速度を検出する加速度検出手段で検出された加速度に基づき、機器に生じる加速度の振幅と正／負の極性とを表す評価信号を生成することができる。そして、上記本発明の携帯型電子機器によれば、このように加速度の振幅のみならず正／負の極性を表すようにして生成された評価信号に基づき、携帯型電子機器に所定の動きが与えられたか否かを判定することができる。
これによれば、特に「振る」という動きのように、往復運動を含む所定の動きが与えられたか否かの判定を好適に行うことができる。つまり、これによって従来のように振幅と所定閾値との比較のみに基づく判定を行うよりも正確に所定の動きの有無を判定することができる。
【発明の効果】
【０００９】
このようにして本発明によれば、加速度検出手段で検出された加速度に基づき所定の動きが機器に与えられたか否かを判定（つまり所定操作が行われたか否かを判定）するにあたり、その判定精度を従来よりもより向上させることができ、操作の誤検出の可能性を格段に低下させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明を実施するための最良の形態（以下実施の形態とする）について説明していく。
［携帯型電子機器の外観］
図１は、本発明の実施の形態の携帯型電子機器としての、携帯型コンテンツプレーヤ１の外観斜視図である。
本実施の形態の携帯型コンテンツプレーヤ１は、例えばユーザが片手で持ち運べる程度のサイズ形状とされており、携帯使用が可能とされる。この場合、その外形形状は略直方体とされ、図示するようにして６つの面が形成されたものとなっている。
【００１１】
このような携帯型コンテンツプレーヤ１に形成される６つの外面のうち、１つの外面には、図示するようにして表示画面部１０Ａが配置されている。この表示画面部１０Ａには、携帯型コンテンツプレーヤ１の動作状態に応じて所要の内容の表示が行われる。例えばコンテンツを再生しているときには、その再生しているコンテンツについてのタイトル名や、再生進行時間などをはじめとした所要の情報が文字や絵柄などにより表示される。
【００１２】
また、この場合の携帯型コンテンツプレーヤ１には、ユーザが物理的に押圧、回転などの動きを与えることで操作を行う操作子として、図示するように上記表示画面部１０Ａが配置される面と同面に配置されたキーボタン８ｂ、８ｃと、上記表示画面部１０Ａが配置される面とは略直交する面に取り付けられたジョグダイヤル８ａとが備えられている。
上記ジョグダイヤル８ａは、図の曲線矢印Ａにより示すように、例えば一定角度範囲で正逆両方向に回転させるようにして操作することができる。また、この一方で直線矢印Ｂにより示す方向に沿って携帯型電子機器１の本体側に押し込む、本体側とは逆側に引っ張る操作を行うことが可能となっている。
また、キーボタン８ｂ、８ｃは、一般的な押圧・解放の操作を行うことができる。本実施の形態の携帯型コンテンツプレーヤ１としては、これらの操作子を用いて、携帯型コンテンツプレーヤ１においてコンテンツ再生のために可能とされるほぼ全ての操作が可能とされているが、後述もするように特定の操作については、これらの操作子に対する操作を行うことなく、携帯型コンテンツプレーヤ１を手に持って振るという行為により可能とされている。
【００１３】
また、上記ジョグダイヤル８ａの内周となる部位に対しては、ヘッドフォン端子７が設けられる。携帯型コンテンツプレーヤ１により再生されたコンテンツデータの音声は、このヘッドフォン端子７から出力可能とされる。
【００１４】
［携帯型電子機器の内部構成］
図２は、図１に示した携帯型コンテンツプレーヤ１の内部構成を示すブロック図である。
先ずこの図において、制御部２は、例えばＣＰＵ(Central Processing Unit)、ＲＯＭ（Read  Only Memory）、ＲＡＭ（Random Access Memory）などから成るマイクロコンピュータを備えて構成され、携帯型コンテンツプレーヤ１における各種制御を実行する。
【００１５】
不揮発性メモリ部３は、例えばフラッシュメモリなどをはじめとして、メイン電源の供給が停止されても記憶データが消失しないようにして構成された半導体メモリ素子を備えて構成される情報記憶のための部位とされる。
本実施の形態の場合、この不揮発性メモリ部３には、図示するようにしてShake操作検出プログラム３ａと、制御用プログラム３ｂとが格納される。これら各プログラムは制御部２のＣＰＵが実行するプログラムとなるが、その内容については後述する。
なお、この図では制御部２のＣＰＵが実行するプログラムのみが格納されるものとして示しているが、不揮発性メモリ部３には他の種類のデータも記憶保持することもできる。例えば制御部２が各種の制御のために利用する設定データ、管理情報などを記憶させておくことが考えられる。
【００１６】
コンテンツ記憶部４は、携帯型コンテンツプレーヤ１により再生出力することのできるコンテンツデータを、例えばファイル単位で管理するようにして記憶するための部位とされる。
本願発明の下では、コンテンツ記憶部４に記憶されるコンテンツデータの種類、ファイル形式については特に限定されるべきではない。しかしながら、ここでは、説明を簡単なものとすることの都合上、再生対象としてコンテンツ記憶部４に記憶されるコンテンツデータは、所定の圧縮符号化形式により圧縮されたオーディオデータ（楽曲データ）であることとする。
【００１７】
また、コンテンツ記憶部４として実際に採用する記憶媒体、記憶装置の実際としては、例えば現状であれば、ＨＤＤ（ハードディスクドライブ）や、不揮発性の半導体記憶素子（例えばフラッシュメモリなど）を採用することが広く行われているが、特に限定されるべきものではなく、これまでに知られている、あるいは将来的に開発／提供される各種の記憶媒体が採用されてよい。また、この図に示されているように記憶媒体は本体に内蔵する構成であってもよいし、リムーバブル形式としたうえで、携帯型コンテンツプレーヤ１本体側にはそのリムーバブル記憶媒体に対応するドライブを備えるような構成であってもよい。
また、図２においては、コンテンツ記憶部４と、不揮発性メモリ部３とを、それぞれ別の機能ブロックにより示しているが、コンテンツ記憶部４と不揮発性メモリ部３とで、物理的には共通の記憶媒体を使用する構成とされてもよい。
【００１８】
また、本実施の形態の携帯型コンテンツプレーヤ１にあって、コンテンツ記憶部４に記憶させるべきコンテンツデータを取得するためには、外部データインタフェース１１を利用する。
つまり、携帯型コンテンツプレーヤ１と、そのホストとなるパーソナルコンピュータなどの装置とを、外部データインタフェース１１を経由して接続し、コンテンツデータをホストから携帯型コンテンツプレーヤ１に転送させるようにする。そして、携帯型コンテンツプレーヤ１では、例えば制御部２の制御に従って、転送されてくるコンテンツデータを受信取得し、この取得したコンテンツデータをコンテンツ記憶部４に書き込み記憶させる。
【００１９】
ここで、このようにして外部装置から取得されるコンテンツデータは、その付加情報に基づく所要のグループ分けが可能とされている。例えば、外部装置にて、コンテンツデータをアルバム単位で取り込んだ場合、それらのコンテンツデータには同一アルバム名の情報が付され、これによってそれらのコンテンツデータをアルバム単位としての１つのグループにより管理することができる。また、外部装置では、選択されたコンテンツデータによってプレイリストを生成することができるが、このようなプレイリストもコンテンツデータのグループ分けの１つとなる。
携帯型コンテンツプレーヤ１では、外部装置からコンテンツデータを取り込んだ場合、それらの付加情報等に基づいてこのようなグループ分けも引き継ぐようにされる。以下、このように携帯型コンテンツプレーヤ１が管理することになるコンテンツデータのグループを、「フォルダ」と呼ぶこととする。
【００２０】
この場合、上記外部データインタフェース１１は、所定のデータ通信規格に応じたケーブル接続を介して、あるいは無線経由により外部デバイスと通信を行うためのハードウェア及びソフトウェアを備えて構成される。この外部インタフェース１１が対応する通信規格としては、特に限定されるべきではないが、現状であれば、例えばＩＥＥＥ（Institude of Electrical and Electronics Engineers）１３９４、ＵＳＢ（Universal Serial Bus）、Ethernet 、Bluetooth、IEEE802.11a/b/g等を採用することが考えられる。
【００２１】
再生処理部５は、制御部２の制御に応じて、コンテンツ記憶部４から読み出されたコンテンツデータを入力し、所要の再生信号処理を実行するようにされる。ここでは、コンテンツデータは所定方式による圧縮符号化が施されたオーディオデータのファイル形式であることとしているので、再生処理部５では、この圧縮符号化方式に対応する復調処理などを実行し、オーディオ出力処理部６に対して出力するようにされる。
オーディオ出力処理部６は、入力されたオーディオ信号について、例えば音質調整、音量調整、増幅などの、復号処理の後段において実行すべき所要のオーディオ信号処理を実行したうえで、ヘッドフォン駆動のためのオーディオ信号をヘッドフォン端子７に対して出力するようにされる。
【００２２】
ディスプレイ部１０は、図１に示す表示画面部１０Ａを有するディスプレイデバイスとして構成されるもので、上記表示画面部１０Ａに対して各種の表示を行うようにされる。ディスプレイ部１０により画像を表示させるときには、制御部２が、表示メモリ９に対して表示用データを保持させるとともに、ディスプレイ部１０により表示メモリ９に保持された表示用データを利用した表示駆動の動作が実行されるように制御を行う。
【００２３】
操作部８は、ジョグダイヤル８ａ、キーボタン８ｂ、８ｃとして携帯型コンテンツプレーヤ１の筐体外部に表出して設けられた操作子と、これらの操作子に対して行われた操作に応じて操作指示信号を生成して制御部２に出力する部位とを一括して示したものとなる。制御部２は、操作部８から出力される操作指示信号に応じて所要の処理を実行する。
【００２４】
また、本実施の形態の携帯型コンテンツプレーヤ１には、図示するようにして加速度センサ１２が備えられる。この場合の加速度センサ１２は、Ｘ軸と、これに直交するＹ軸と、さらにＸ軸及びＹ軸に直交するＺ軸の三軸を定義した場合に、そのうちのＹ軸及びＺ軸方向に生じる加速度を検出可能に構成される。
【００２５】
ここで、本実施の形態の場合、上記Ｘ，Ｙ，Ｚの三軸は、携帯型コンテンツプレーヤ１の表示画面部１０Ａが形成される面を基準とした場合に、図１に示されるようにして定めたものであるとする。
すなわち、Ｚ軸は、表示画面部１０Ａが形成された面に対して直交する軸であるとする。
また、Ｘ軸は、ジョグダイヤル８ａが設けられる面（つまり表示画面部１０Ａが設けられる面とは直交する面）に対して直交する軸である。また、Ｙ軸は、上記Ｚ軸とＸ軸との双方に直交する軸である。
【００２６】
図２に戻り、加速度センサ１２は、上記Ｙ軸方向に生じる加速度の検出結果を表す信号（以下、Ｙ軸加速度信号とも呼ぶ）と、上記Ｚ軸方向に生じる加速度の検出結果を表す信号（Ｚ軸加速度信号とも呼ぶ）とを、制御部（ＣＰＵ２）に対して供給する。
【００２７】
制御部２は、このようにして供給されるＹ軸加速度信号とＺ軸加速度信号とをサンプリングし、後述するShake操作の検出のための処理に用いるようにされる。
【００２８】
［Shake操作］
ここで、上記のようにして構成される本実施の形態の携帯型コンテンツプレーヤ１においては、操作部８としての操作子を用いた通常の操作に加えて、これらの操作子に対する操作を行うことなく、携帯型コンテンツプレーヤ１を「振る」という操作（Shake操作）を行うことにより、携帯型コンテンツプレーヤ１についての所定の動作をコントロールできるようにされている。なお、以降、このような「振る」という操作を「Shake操作」とも呼ぶこととする。
【００２９】
図３は、携帯型コンテンツプレーヤ１に対するShake操作の例を示している。
なお、この図において、矢印Ｇにより示す方向は重力方向であり、この矢印Ｇと直交する面が水平面となる。
この図に示すようにして、Shake操作を行う場合には、表示画面部１０Ａの形成された面が重力方向と平行となる向き（つまり水平面と直交する向き）となるようにして携帯型コンテンツプレーヤ１を保持する。
その上で、図中白抜き矢印により示すようにして、保持している携帯型コンテンツプレーヤ１をＹ軸方向において上下に「振る」ようにする。
このようにしてShake操作は、携帯型コンテンツプレーヤ１を持って所定軸方向に振るという行為を行うものであり、より具体的な例としては、水銀体温計の指示温度を戻すかの如く瞬発的な力を加えるようにして振るようなイメージである。
【００３０】
このようなShake操作に伴っては、携帯型コンテンツプレーヤ１がＹ軸方向に往復運動を行うようにされる。具体的に、この場合のShake操作には、携帯型コンテンツプレーヤ１を振り上げる動作と、重力方向に振り下ろす動作とが行われることになるが、これら双方の動作に伴い、携帯型コンテンツプレーヤ１が所定軸方向（この場合はＹ軸方向）に往復運動を行うことになる。
【００３１】
なお、ここではShake操作がＹ軸方向に振る操作であるとしているが、本実施の形態の携帯型コンテンツプレーヤ１では、加速度センサ１２によりＺ軸の加速度も検出するものとしている。後述もするように実施の形態では、これら２軸の各々の加速度を考慮してShake操作の有無を判定することができるようにされるので、Shake操作としてはＹ軸方向のみならずＺ軸方向に振る操作ともすることができる。
【００３２】
［評価信号の生成］
ところで、先にも述べたように加速度センサを用いてこのような所定の動きによる操作を検出しようとする場合、機器の使用に伴い与えられる他の動き（例えば歩行、走行、落下に伴う衝撃など）を考慮すると、その誤検出が問題となる。
そこで本実施の形態では、このような誤検出防止のために、以下に説明するような手法によりShake操作検出を行うものとしている。
【００３３】
先ず、実施の形態では、加速度センサ１２からのＹ軸加速度信号、Ｚ軸加速度信号をそのままShake操作検出に用いるのではなく、これらに所定演算を施して生成した評価信号を用いてShake操作検出を行うものとしている。
以下、このような実施の形態としての評価信号の生成手法について説明する。
【００３４】
先ず、先の図２においても説明したように、加速度センサ１２からのＹ軸加速度信号、Ｚ軸加速度信号は、制御部２に対して入力される。そして制御部２は、これらＹ軸加速度信号、Ｚ軸加速度信号をそれぞれ所定周期でサンプリングする。
制御部２は、これらＹ軸加速度信号とＺ軸加速度信号とのサンプリング値に基づき、携帯型コンテンツプレーヤ１に生じる加速度の振幅、及び正／負の極性を表す評価信号（評価信号Ｊ）を生成する。
【００３５】
この評価信号Ｊは、大まかな概念としては、現在のサンプリングタイミングにて得られたＹ軸とＺ軸の加速度をそれぞれ絶対値化した値の和から、過去所定期間の各サンプリングタイミングにて得られたＹ軸とＺ軸の加速度をそれぞれ絶対値化した値の和の平均値を減算して生成されるものである。つまり、ここで上記「現在のサンプリングタイミングにて得られたＹ軸とＺ軸の加速度を絶対値化した値の和」を和ｎｏｒｍとし、上記「過去所定期間の各サンプリングタイミングにて得られたＹ軸とＺ軸の加速度を絶対値化した値の和の平均値」を平均値ａｇとした場合、評価信号Ｊは次の演算を行って生成されるものである。
Ｊ＝ｎｏｒｍ−ａｇ
【００３６】
具体的に制御部２は、加速度センサ１２からのＹ軸加速度信号、Ｚ軸加速度信号をサンプリングして得た値をそれぞれ絶対値化し、それらを加算することで上記和ｎｏｒｍを算出する。そして、この和ｎｏｒｍから上記平均値ａｇを減算することで、評価信号Ｊの値を求めるようにされる。
ここで、評価信号Ｊの生成にあたり必要な上記平均値ａｇは、過去所定期間の各サンプリングタイミングで算出された和ｎｏｒｍの平均値であることがわかる。制御部２としては、評価信号Ｊの値の算出のために、このような和ｎｏｒｍを各サンプリングタイミングにて計算することになるので、このことによれば、現在のサンプリングタイミングにおいては、過去の各サンプリングタイミングにおける和ｎｏｒｍが既に得られている状態にあることとなる。そこで制御部２は、このように既に得られている過去所定期間分の和ｎｏｒｍについて、その平均値を計算して上記平均値ａｇを算出するようにされている。
その上で、制御部２は、現在のサンプリングタイミングにて算出した和ｎｏｒｍから、このように算出した平均値ａｇを減算して、各サンプリングタイミングごとに評価信号Ｊの値を算出するようにされる。
【００３７】
なお、ここで言う「絶対値化した値」とは、元の値（この場合は加速度信号の値）の絶対量を表す値であり、具体的には絶対値そのものや２乗値なども含むものである。
【００３８】
図４は、加速度センサ１２により検出されるＹ軸加速度信号、Ｚ軸加速度信号の各波形（図４（ａ））と、これら各軸の加速度信号に基づき生成された評価信号Ｊの波形（図４（ｂ））とを対比して示している。なお、図４（ａ）において、Ｙ軸加速度信号の波形は実線により示し、Ｚ軸加速度信号の波形は破線により示している。
このようにして評価信号Ｊは、Ｙ，Ｚ各軸の加速度を絶対値化した値の和ｎｏｒｍから、過去所定期間における和ｎｏｒｍの平均値ａｇ（つまり平均値加速度）を減算したものとしたことで、加速度信号の波形の振幅値と正／負の極性を表した信号が得られるものとなる。
【００３９】
図５〜図７は、Shake操作時（図５）、バックパックに入れて携行時（図６）、ストラップにぶら下げて携行時（図７）の各場合で得られるＹ，Ｚ各軸の加速度信号の波形、評価信号Ｊの波形を示している。この場合、各図の（ａ）図により各軸の加速度信号波形を示し、（ｂ）図により評価信号Ｊの波形を示している。また、各図の（ａ）においては実線によりＹ軸加速度信号の波形を、破線によりＺ軸加速度信号の波形を示している。
また、参考として各図の（ｃ）図には、Ｙ，Ｚ各軸の加速度信号に基づき生成した他の評価信号の例として、Ｙ，Ｚ各軸の加速度信号波形の面積値ｓによる評価信号を対比により示している。なお、この面積値ｓとしては、所定軸（この場合はＹ軸）の加速度信号について、各サンプリングタイミングにて現在のサンプル値とその１つ前のサンプル値との差分を計算し、それらを所定期間分足し合わせて算出したものであるとする。
【００４０】
先ず、図５に示すようにして、（ｂ）図に示す評価信号Ｊとしては、Shake操作時においても（ａ）図に示す加速度信号の振幅値を表す波形が得られていることがわかる。また、これと同時にShake操作に伴う往復運動に応じ、加速度信号の波形の変化と同様に正／負の両極性に振れる波形が得られていることもわかる。
また、図５（ｃ）に示す面積値ｓとしても、Shake操作に伴う往復運動（この場合は３回分の往復運動）に良く追従する波形が得られるものとなっている。
【００４１】
また、図６に示すバックパックに入れた状態での携行時には、図６（ｂ）に示す評価信号Ｊは、先の図５（ｂ）のShake操作時と比較すると、０レベルを中心とした正／負交互に振れる波形が全体的に一方の極性側にオフセットしたような波形となる。
さらに、図７に示すストラップでぶら下げた状態での携行時としても、同様に評価信号Ｊは、図５（ｂ）のShake操作時との比較では同様に一方の極性側にオフセットしたような波形が得られる。
【００４２】
これらの図５〜図７の実験結果より、本実施の形態の評価信号Ｊとしては、Shake操作に伴う往復運動を良く反映した波形が得られ、Shake操作の検出に好適な信号であることが理解できる。
【００４３】
ここで、確認のために述べておくと、本実施の形態の評価信号Ｊは、上述のようにしてShake操作に伴う往復運動に応じて正／負両極性に振れる波形が得られるようにしているので、例えば図５（ｃ）に参考として示したような面積値ｓによる評価信号とする場合よりも、Shake操作の誤検出をより低減することができる。すなわち、面積値ｓのような評価信号では、正／負の極性に振れる波形とされないことで、仮にShake操作に伴う正常な往復運動が行われないとしても、Shake操作が検出されてしまう虞があるものである。
【００４４】
また、本実施の形態の評価信号Ｊは、Ｙ，Ｚ各軸の加速度を絶対値化した値の和から、「過去所定期間の各サンプリング点にて得られたＹ軸とＺ軸の加速度を絶対値化した値の和の平均値」としての平均加速度（平均値）ａｇを減算した値としているので、加速度信号に生じる不要なオフセット成分を除去できるメリットも有る。
ここで、加速度センサ１２としては、例えば携帯型コンテンツプレーヤ１の工場出荷時などユーザによる使用が行われる前にキャリブレーションを行うものとされるが、このようにして加速度信号に生じるオフセット成分を除去することができれば、このようなキャリブレーションは省略することもできる。
或いは、キャリブレーションを行うとした場合にも、経時変化等で加速度信号にオフセット成分が重畳してしまったとしても、それに伴うShake操作の誤検出を防止することができるものとなる。
【００４５】
[評価信号を用いたShake操作検出]
続いては、上記のような評価信号Ｊを用いたShake操作検出の具体的な手法について、次の図８〜図１１を参照して説明する。
図８は、Shake Countの値が「０」のときに行われるべき動作について説明するための図である。なお、この図８〜図１１にて説明する動作は、制御部（ＣＰＵ）２により行われるものである。
ここで、上記「Shake Count」の値とは、制御部（ＣＰＵ）２がカウントする値であり、後の説明からも理解されるように当該Shake Countの値が予め定められた所定値に達したことに応じ、Shake操作が行われたとして判定が行われることになる。
【００４６】
図８において、先ず、Shake操作検出にあたっては、評価信号Ｊの０クロスタイミング間に形成されることになる波形の山に注目する。そして、このように０クロスタイミング間に形成される評価信号Ｊの波形の山が、所定の条件を満たせば、Shake Countの値を「１」とする。
その条件としては、先ず、図中＜１＞により示すように、０クロス間が所定範囲内となることを設定している。すなわち、図中破線横矢印により示すような評価信号Ｊの０クロスタイミング間の間隔（後述する０クロス間カウント値に相当）が、予め定められた閾値zcrs１と閾値zcrs２とによる範囲内に収まっていることを条件とするものである。
さらに、もう１つの条件として、＜２＞と示すように極値が所定範囲内にあることを設定している。つまり、上記極値として、図中実線縦矢印により示すような０クロス間に形成される評価信号Ｊの波形の山の最大値（絶対値）が、予め定められた閾値max１と閾値max２とによる範囲内に収まっていることを条件とするものである。
このようにして上記＜１＞及び＜２＞の条件を満たす山が現れた場合には、先ずはShake操作に伴う往復運動の片方の運動が行われたとして、Shake Countの値を「１」とする。
【００４７】
図９は、Shake Countの値が「１」以上である場合の動作について説明するための図である。
先ず、先の図８のように条件を満たす山が現れてShake Countの値が「０」から「１」となった以降としても、０クロス間に現れる評価信号Ｊの波形の山について、その山が条件を満たすか否かを判別する。すなわち、０クロス間が所定範囲内であるか否か、及びその極値が所定範囲内となっているか否かを判別して、山の有効／無効を判別する。
【００４８】
このとき、図中斜線で示す期間のように条件を満たさない無効な山が現れた場合には、差し当たってその山については無視するものとする。すなわち、Shake Countの値を現状値で維持するようにするものである。
【００４９】
そして、条件を満たす次の山が現れたときは、前回の条件を満たす山と、今回の条件を満たす山とが連続した山であるか否かを判別する。すなわち、Shake操作に伴う往復運動のうち片方の運動が得れた後は、これと連続するとされるもう片方の運動が得られることを条件とするものである。
【００５０】
具体的に、２つの有効な山が連続して得られたものであることの条件としては、先ず図中＜１＞、＜２＞により示すように、極値が正／負交互で得られることと、さらに、極値間のタイミング差が所定範囲内であることを設定している。
上記＜１＞の条件については、前回の有効な山の極値と今回の有効な山の極値とを比較して、それらが異極性となっているか否かを判別することでその成立可否を判断する。また、＜２＞の条件については、例えば図中の一点鎖線矢印により示すような、前回の有効な山の極値が得られたタイミングと今回の有効な山の極値が得られたタイミングとの差が、予め定められた閾値ts１と閾値ts２とによる範囲内に収まっているか否かを判別することでその成立可否を判断する。
【００５１】
これら＜１＞＜２＞の条件が共に満たされ、２つの山が連続して得られたとされた場合には、Shake Countの値をインクリメント（＋１）する。つまり、このようにして条件を満たす山が連続して現れたとされた場合にのみ、Shake Countの値を２以上とするようにされている。ここで、２つの山が連続して得られたものであるということは、Shake操作に伴う１回分の往復運動が行われたということである。従って、このようにShake Countの値を２以上とすることは、Shake操作に伴う１回分の往復運動が行われたとの判定を行っていることに相当する。
【００５２】
以降も基本的には、条件を満たす次の山が現れた場合は、上記＜１＞＜２＞の条件判定を行ってその山と前回の山とが連続して得られているか否かを判別し、連続した山であるとした場合はShake Countの値をインクリメントする。
そして、Shake Countの値が予め定められた所定値に達したことに応じ、Shake操作が行われたと判定する。すなわち、Shake操作に伴う往復運動として、一方の山と他方の山とが交互に連続して所定回数得られたことに応じ、Shake操作有りとの判定を行うものである。
【００５３】
ここで、上記のようにして本実施の形態では、前回の有効な山と今回の有効な山とが連続した山であることの条件（つまり１回の往復運動が行われたことの条件）として、それらの山の極値が正／負交互で得られることと、極値間のタイミング差が所定範囲内であることとを設定しているが、これらのうち、前者の正／負交互の条件が満たされなかった場合は、直ちに連続性なしとしてShake Countの値をリセットするものとはせず、次の図１０に示すような猶予処理を行うものとしている。
【００５４】
図１０により、このような正／負交互の条件が満たされなかった場合の猶予処理について説明する。
先ず、図中＜１＞と示すようにして、条件を満たす最初の山が現れたとし、Shake Countの値が「１」以上となったとする。そして、＜２＞と示すように条件を満たす次の山が現れたとする。しかし、図示するようにしてこの山が正／負交互の条件を満たさないものであったとする。
【００５５】
これに応じては、図中＜３＞と示すようにして、このように正／負交互とはならなかった山の極値のタイミングを仮保存しておくものとする。さらに、このとき、Shake Countの値は現状値を維持することとする。
このように有効な山であるが前回の山と極値が正／負交互とならなかった山については、差し当たって前回の山との連続性の条件判定は行わないもとしておく。
【００５６】
そして、＜４＞と示すように、条件を満たすさらに次の山が現れ、この山が前回の正規の山と正／負交互となっていたとする。すなわち、上記のようにして極値タイミングを仮保存とした山の前に得られた正規の山の極値と、今回得られた条件を満たす山の極値とが正／負交互となっていたとする。
これに応じては、＜５＞と示すようにして、先ずは正規保存されている極値タイミングとの間で条件判定を行う。つまり、前回の正規の山で得られた極値のタイミングとして正規保存されている極値タイミングと、今回得られた条件を満たす山おける極性タイミングとについて、それらのタイミング差が所定範囲内となっているか否かを判別することで、前回の正規の山と今回の山とが連続したものであるか否かを判定する。
この＜５＞の判別の結果、前回の正規の山と今回の山とが連続したものであるとされた場合は、Shake Countの値をインクリメントとして、それらの山がShake操作に伴う１回分の往復運動によるものであると判定する。
【００５７】
一方、＜５＞による判別の結果、前回の正規の山と今回の山とが連続したものではないとされた場合は、次の＜６＞と示すように、仮保存されている極値タイミングとの間で条件判定を行う。すなわち、前回の仮保存された極性タイミングと、今回の山の極値タイミングとの差が所定範囲内となっているか否かを判別するものである。
そして、この判別の結果、各極値タイミングの差が所定範囲内となっているとして、このような仮保存による山との連続性があるとされた場合は、Shake Countの値を「２」とする。つまり、この場合は、前回の正規の山と今回の山とには連続性がないと判別されているので、Shake Countの値をインクリメントすることはないが、このような仮保存による山と今回の山とには連続性があるので、Shake Countの値は「２」とするものである。
【００５８】
一方、仮保存された極性タイミングと今回の山の極値タイミングとの差が所定範囲内となっておらず、仮保存による山との連続性もないとされた場合は、Shake Countの値が「１」となるようにする。つまり、この場合は前回の正規の山との連続性もなく、仮保存による山との連続性もないことになるので、Shake Countの値は「１」にするものである。なお、確認のために述べておくと、このようにShake Countの値を「１」とするのは、今回の山自体は条件を満たす有効な山となっているからである。
【００５９】
このようにして条件を満たす正規の山が得られた後において、その次の条件を満たす山が正／負交互で得られなかった場合には、差し当たってその山を対象とした連続性の判別は行わずにその極値タイミングを仮保存しておき、条件を満たす山で且つ前の正規の山と正／負交互となるさらに次の山が出現したときに、その山と上記正規の山との連続性の判別を行う。そして、これらの間で連続性の条件が満たされない場合に、仮保存した極値タイミングを復活させ、仮保存による山と今回の山との連続性の有無を判別するようにされる。
【００６０】
このような猶予処理が行われることで、何らかの原因により有効な山が連続して同極性側に得られてしまった場合にも、その次の山が異極性側への山となっていれば、その山との連続性を判断することができる。例えば仮に、このように同極性側への山が連続した場合にShake Countの値をリセットしてしまうとしたときには、本来は連続した山が得られているにも関わらずShake Countがリセットされてしまうこととなるが、上記のような猶予処理によればこのような不具合を防止することができる。
【００６１】
ここで確認のために、次の図１１には、Shake操作が行われたときの評価信号Ｊの波形の例（図１１（ａ））と、それに伴うShake Countの値の変化（図１１（ｂ））とを示す。
先ず、本実施の形態では、Shake操作を、例えば所定軸方向への３回分の往復運動であるとして定めているもとする。そして、これに伴い携帯型コンテンツプレーヤ１では、Shake Countの値が「６」となったことに応じShake操作が行われたとして判定するようにされている。
【００６２】
図１１において、これまでの説明から理解されるようにShake操作検出にあたっては、先ずは０クロス間に得られる評価信号Ｊの波形の山が有効とされる山であるか否かを判別することが基本となる。
ここで注意すべきは、このような有効な山であるか否かの判別は、先の図８の＜１＞＜２＞により示したようにその山の０クロスタイミングの間隔と、極値とを基準として行うことになるので、上記のような山が有効であるか否かの判別は、常に０クロスタイミングにて行われるということである。
すなわち、０クロスタイミングの間隔については、当然のことながら０クロスタイミングが到来しなければその値を知ることができない。また、極値についても、０クロスタイミング間で最大であった値を保存するものとなるので、同様に０クロスタイミングが到来するまでその値を知ることはできないものである。
【００６３】
そして、有効な山が出現したとしてShake Countの値が１以上となったときには、先の図９にて説明したように、次に出現した有効な山の極値が異極性で得られているか、及びその極値タイミングとの差が所定範囲内となっているか否かを判別して山の連続性の有無を判別するようにされる。このときも、極値及び極値タイミングは０クロスタイミングが到来して初めてわかるものであり、従ってこのような山の連続性の判別についても０クロスタイミングにて行われることになる。
【００６４】
これらのことを踏まえ、図１１を参照すると、先ず図示する時点ｔ０〜ｔ１までの０クロス間で得られた山については、時点ｔ１の０クロスタイミングにて有効／無効の判別が行われる。そして、この時点ｔ０〜時点ｔ１の間に得られた山が有効であるとされた場合、Shake Countの値をそれまでの「０」から「１」とするようにされる。
【００６５】
続く時点ｔ２では、時点ｔ１〜時点ｔ２までの０クロス間で得られた山の有効／無効の判別が行われる。そして、山が有効であるとされた場合は、Shake Countの値が「１」以上とされているので、前の山との連続性の有無の判別をさらに行うようにされる。すなわち、極値が正／負交互で、且つ極値タイミングの差が所定範囲内となっているか否かについて判別を行う。この判別の結果連続性があるとされた場合は、Shake Countの値をインクリメントする。つまり、この時点ｔ２にてShake Countの値は「２」となる。
【００６６】
以降も同様に、時点ｔ３、ｔ４、ｔ５、ｔ６の各０クロスタイミングでは、山の有効／無効の判別、及び有効であればさらに前回の山との連続性の有無の判別が行われ、連続性があるとされた場合にはShake Countの値を順次インクリメントしていくようにされる。
これにより、例えば図示するようにして各０クロスタイミングごとに有効な山が得られたとされ、且つそれらの山が前の山との連続性があるとされた場合には、時点ｔ６の０クロスタイミングにてShake Countの値が「６」となる。そして、このようにShake Countの値が「６」となったことに応じ、Shake操作が行われたとの判定が行われる。
なお、このようにShake操作が行われたと判定された状態を、以下では「Shake ON」とも呼ぶ。
【００６７】
ここで、このように「Shake ON」となった場合、制御部２はShake Countの値を０にリセットする。
また、これと共に制御部２は、「Shake ON」となった以降所定時間は、再度「Shake ON」とならないようにインターバル設定を行う。このような「Shake ON」についてのインターバルが設けられることで、Shake操作が短い時間間隔で頻繁に検出されてしまうことを防止でき、例えば後述する再生モードの切り替えが頻繁に行われてしまうことを防止することができる。
【００６８】
なお、ここでは説明の便宜上、山の有効／無効の判別、及び前回の山との連続性の有無の判別が行われるタイミングが「０クロスタイミング」であると述べたが、先の説明によれば、評価信号Ｊは加速度信号のサンプリングタイミングごとに算出されるものであるので、必ずしもその０クロスタイミングを検出できるものとはならい。従って実際には、評価信号Ｊの値が異極性となったタイミングを、０クロスタイミングとすることになる。
但し、このように異極性に変化したタイミングとする場合も、実質的には０クロスタイミングを検出していることに相当するものであり、このように異極性に変化したタイミングも０クロスタイミングであるとして扱う。
【００６９】
上記のようにして本実施の形態では、評価信号Ｊについての時間、振幅の制約条件に基づく判別を行うことで、山が有効であるか否か、すなわちShake操作に伴う往復運動のうちの片方の運動が得られたか否かを判定できる。
また、正負の極性の条件として、条件を満たす次の山が得られたときにそれらの山が正／負交互に得られたか否かを判別し、また時間に関する条件としてそれらの山の極値間のタイミングが所定範囲内となっているか否かを判別した結果に基づき、Shake操作に伴う１回分の往復運動が行われたか否かを判別することができる。
【００７０】
上記のようにして時間、振幅の制約条件に基づき、往復運動のうちの片方の運動が得られたか否かを判別するものとすれば、極端に０クロスタイミングの間隔が長い／短い、また極端に極値が小さい／大きいなど、Shake操作に伴う運動には想定されない波形を適正に排除することができる。
また、条件を満たす次の山が得られたときには、時間の制約条件と共に、正／負の極性に関する制約条件に基づく連続性の有無判定を行うことで、前の山との間隔が極端に大きい／小さい、また前の山と正負交互となっていないなど、Shake操作に伴う往復運動の連続性のない波形を適正に排除することができる。
これらのことより本実施の形態の検出手法によれば、Shake操作の誤検出を効果的に防止することができる。
【００７１】
ちなみに、先の図６（ｂ）、図７（ｂ）に示した日常使用時の評価信号Ｊについて、上述した実施の形態としての手法によりShake操作検出を行った場合を想定しみると、図６（ｂ）の場合は、一方の極性側へのオフセットがあり、特にこの場合は負極性側の極値の振幅が足りず、本実施の形態の検出手法によってはShake操作が検出されてしまう可能性が非常に低いことが理解できる。
また、図７（ｂ）の場合は、総じて０クロス間隔が長めであり、この場合も本実施の形態の検出手法によってShake操作が検出されてしまう可能性は非常に低いことがわかる。
これらのことからも、本実施の形態によればShake操作の誤検出を効果的に防止できることが理解できる。
【００７２】
また、実施の形態では、上記のようにして操作検出に用いる評価信号を加速度の振幅と共に正負の極性を表すように生成した評価信号Ｊとし、この評価信号Ｊについて時間、振幅、正負交互についての条件判定を行う検出手法としたことで、所定の動作制御のために検出すべき操作として「Shake」操作を定義することができる。このようなShake操作としては、それにより生じる加速度パターンが日常では生じる可能性の少ないパターンとすることができるもので、従って本実施の形態としては、このように検出すべき操作が非日常的な動きである「Shake」操作とでき、その検出手法が上記のようにShake操作検出に特化した手法となるのであるから、この意味でも強固にShake操作の誤検出を防止できるものとなる。
【００７３】
[Shake操作検出に応じた実際の動作制御例]
本実施の形態の携帯型コンテンツプレーヤ１においては、上記により説明した評価信号Ｊについての各種の条件判定に基づき検出されたShake操作に応じ、予め定められた所定の動作が実行されるように制御を行う。具体的に、この場合の携帯型コンテンツプレーヤ１としては、Shake操作が検出されたことに応じ、通常再生モードとシャッフル再生モードとの切り替え制御を行うようにされる。
【００７４】
ここで、周知のようにシャッフル再生モードは、複数のコンテンツを再生する場合において設定される正規の再生順によらず、ランダムな再生順により再生していく動作をいう。例えば、或るアルバムに属するコンテンツを再生する場合には、その正規の再生順は、そのアルバムにおける再生順(アルバム内再生順)となるのであるが、この場合においてシャッフル再生が指定されたとすると、アルバム内再生順によることなく、ランダムに選択されたコンテンツが順次再生されていくようにされる。
【００７５】
具体的に、本実施の形態の携帯型コンテンツプレーヤ１では、シャッフル再生モードとして「Repeat Shuffle All」と「Repeat Shuffle Folder」とによるシャッフル再生が可能とされる。
ここで、「Repeat Shuffle All」は、コンテンツ記憶部４に記憶されるすべてのコンテンツデータ（楽曲データ）を再生対象範囲として、その再生対象範囲内の楽曲をシャッフル再生するものである。この場合、シャッフル再生は、「Repeat」であることより、ユーザにより再生停止操作が為されるまで行われることになる。
また、「Repeat Shuffle Folder」は、指定されたフォルダ内の楽曲を再生対象範囲として、その範囲内でシャッフル再生を行うものである。この場合も「Repeat」であることより、シャッフル再生はユーザにより再生停止操作が為されるまで行われるものとなる。
【００７６】
また、通常再生モードとしては、「All song(Normal) 」「Folder」「Repeat All」「Repeat Folder」「Repeat １song」の各再生が可能とされる。
「All song 」は、コンテンツ記憶部４に記憶されるすべての楽曲を再生対象範囲とした再生リストに基づき、そこにリストアップされる楽曲をリストアップ順（再生リスト順とも言う）に再生する。この場合、次の「Folder」も含む「Repeat」の付されない再生形態では、リストの最後の楽曲が再生されると自動的に再生が停止されることになる。
また「Folder」は、指定されたフォルダ内の曲を再生対象範囲とした再生リストに基づき、そこにリストアップされる楽曲を再生リスト順に再生する。
また、「Repeat All」は、上記「All song」と同様の再生リストに基づき、その中の楽曲を再生リスト順に繰り返し再生（リピート再生）する。
また、「Repeat Folder」は、上記「Folder」と同様の再生リストに基づき、その中の楽曲を再生リスト順に繰り返し再生（リピート再生）する。
また「Repeat １song」は、指定された１つの楽曲をリピート再生するものである。
【００７７】
制御部２は、Shake操作が検出されたとして「Shake ON」となったことに応じ、現在の再生モードが通常再生モードなら、シャッフル再生モードに移行するように制御を行う。逆に現在の再生モードがシャッフル再生モードなら、通常再生モードに移行するように制御を行う。
以下に、具体的な切替例を示す。
先ず、現在の再生モードが、通常再生モードとしての「All song」、「Folder」、「Repeat All」である場合、以下のような組み合わせでシャッフル再生モードへの切り替えを行う。
「All song」 → 「Repeat Shuffle All」
「Folder」     →     「Repeat Shuffle Folder」
「Repeat All」   →   「 Repeat Shuffle All」
なお、「Repeat １song」であった場合には、再生モードの切り替えは行わないものとする。
【００７８】
また、現在の再生モードがシャッフル再生モードとしての「Repeat Shuffle All」、「Repeat Shuffle Folder」であった場合は、以下のような組み合わせで通常再生モードへの切り替えを行う。
「Repeat Shuffle All」  →   「Repeat All」
「Repeat Shuffle Folder」 → 「Repeat Folder」
【００７９】
また、このようなShake操作に応じた再生モードの切り替え時において、通常再生モードからシャッフル再生モードへの切り替え時には、再生中のコンテンツデータとは別のコンテンツデータが再生されるように制御を行う。
一方、シャッフル再生モードから通常再生モードへの切り替え時には、再生中であったコンテンツデータの続きが再生されるように制御を行う。このとき、再生中の曲が終了し、次の曲を再生すべき状態となったときは、再生リスト上の再生順が適用されることになる。すなわち、例えば「Repeat Shuffle All」→「Repeat All」への切り替えであれば、記憶されるすべての曲を再生対象範囲とした再生リストが用いられているので、この再生リスト上で再生の終了した曲の次となる曲を再生することになる。また、「Repeat Shuffle Folder」→「Repeat Folder」への切り替えであれば、指定したフォルダ内の曲を再生対象範囲とした再生リストが用いられているので、同様にその再生リスト上で再生の終了した曲の次にある曲を再生することになる。
【００８０】
さらに、本実施の形態では、このようなShake操作に応じた再生モードの切り替え時には、所定の効果音が出力されるように制御を行う。
以上の制御が行われることで、実際にShake操作が検出されたとき、現在のモードが通常再生モードであった場合には、効果音が鳴った後に再生中であった曲とは別の曲の再生が開始され、また現在のモードがシャッフル再生モードであった場合には、効果音が鳴った後に再生中であった曲の続きが継続して再生されるものとなる。
【００８１】
また、本実施の形態では、このようにしてShake操作が検出されたことに応じ再生モードに係る動作制御を行うことに対応させて、コンテンツデータを再生中であるときにのみ、加速度センサ１２をオンとさせるように制御を行うものとしている。
つまり制御部２は、例えば操作部８を介した操作入力によりコンテンツデータの再生を開始する指示が行われた等、コンテンツデータの再生を開始すべき状態となったことに応じ加速度センサ１２をオンとするように制御を行う。また、例えば操作部８を介した操作入力によりコンテンツデータの再生を停止する指示が行われた等、コンテンツデータの再生を停止すべき状態となったことに応じて、加速度センサ１２をオフとするように制御を行う。
このような制御を行うことで、必要なときにのみ加速度センサ１２をオンとすることができ、例えば常時加速度センサ１２をオンとする場合と比較して消費電力を削減することができる。
【００８２】
このようにして本実施の形態の携帯型コンテンツプレーヤ１では、Shake操作に応じて通常再生モードとシャッフル再生モードとの切り替えを行うものとしている。これによれば、Shake操作による振るという動作と、シャッフル再生の有する混ぜるという感覚とを一致させることができ、娯楽性を増すことができると共に、ユーザに直感的な操作感を与えることのできる有用なユーザインタフェースを実現できる。
【００８３】
［処理動作］
続いては、これまでで説明してきた本実施の形態としての動作を実現するために行われるべき処理動作について、次の図１２〜図１６のフローチャートを参照して説明する。
先ず、図１２〜図１５は、Shake操作検出のために行われるべき処理動作について示している。なお、これらShake操作検出のための処理動作は、制御部（ＣＰＵ）２が不揮発性メモリ部３に格納されるShake操作検出プログラム３ａに基づき実行するものである。
【００８４】
図１２は、加速度センサ１２からの加速度信号に基づき、評価信号Ｊを生成するための処理動作を示している。
先ず、ステップＳ１０１では、センサからの信号をサンプリングする。つまりこの場合は加速度センサ１２から供給されるＹ，Ｚ各軸の加速度信号についてサンプリングを行い、これによってＹ軸加速度信号の値ａyとＺ軸加速度信号の値ａzとを得る。
【００８５】
続くステップＳ１０２では、和ｎｏｒｍを計算するようにされる。すなわち、ステップＳ１０１にてサンプリングした加速度信号の値ａy、ａzをそれぞれ絶対値化した上で、それらの和ｎｏｒｍを計算する。
さらに、続くステップＳ１０３では、計算した和ｎｏｒｍの値を例えば内部のＲＡＭ等に記録して保存する。
【００８６】
ステップＳ１０４では、評価信号Ｊを計算する。つまり、ステップＳ１０２にて計算した和ｎｏｒｍから現在保持されている平均値ａｇの値を減算することで、評価信号Ｊとしての値を計算する。
【００８７】
ここで、このようにして評価信号Ｊの計算には、平均値ａｇが既に算出されている必要があることになる。図示は省略したが、このような平均値ａｇとしては、制御部２が、この図に示す処理と並行した処理により、過去の各サンプリングタイミングにて保存された和ｎｏｒｍについてそれらの所定期間分の平均値を計算することで得るようにされている。
【００８８】
続くステップＳ１０５では、計算された評価信号Ｊの値を保存する。そして、このように評価信号Ｊの値を保存すると「ＲＥＴＵＲＮ」となる。
【００８９】
続いて、図１３は、評価信号Ｊの０クロス間の間隔を示す値となる、０クロス間カウント値の情報を得るための処理動作を示している。
先ず、ステップＳ２０１では、評価信号Ｊの値が異極性となったか否かについて判別処理を行う。すなわち、先の図１２におけるステップＳ１０６によって各サンプリング周期で保存される評価信号Ｊの値について、前回保存値と今回保存値とを比較してそれらの値の極性が異なるものとなっているか否かを判別する。このようなステップＳ２０１の処理は、評価信号Ｊが０クロスしたか否かを判別する処理に相当する。
【００９０】
ステップＳ２０１において、評価信号Ｊの値が異極性とはなっていないとして否定結果が得られた場合は、ステップＳ２０２に進み０クロス間カウンタの値をインクリメント（＋１）した後、「ＲＥＴＵＲＮ」となる。この０クロス間カウンタは、０クロス間の間隔（時間）をカウントするための、制御部２の処理により実現されるカウンタである。
【００９１】
一方、ステップＳ２０１において評価信号Ｊの値が異極性となったとして肯定結果が得られた場合は、ステップＳ２０３に進み、現在の０クロス間カウンタの値を０クロスカウント値として保存するようにされる。
そして、続くステップＳ２０４において０クロス間カウンタの値を０リセットした後、「ＲＥＴＵＲＮ」となる。
【００９２】
また、図１４は、極値と極値タイミングの情報を得るための処理動作を示している。
図示するようにして、先ずステップＳ３０１では、先の図１３におけるステップＳ２０１と同様に、評価信号Ｊの値が異極性となったか否かについて判別処理を行う。
そして、評価信号Ｊの値が異極性とはなっていないとして否定結果が得られた場合は、ステップＳ３０２に進み、今回の評価信号Ｊの値が、極値候補値の値よりも絶対値が大きいか否かについて判別処理を行う。
【００９３】
ここで、上記極値候補値とは、極値を判定するための仮の値であり、以下で説明するようにして評価信号Ｊの値の絶対値がこの極値候補値の値を上回ればその評価信号Ｊの値を極値候補値の値として更新し、評価信号Ｊの値が極値候補値以下であるときには極値候補値の更新は行わないことで、最終的に得られたその値を極値として得ることができるものである。
【００９４】
ステップＳ３０２において、今回の評価信号Ｊの値が極値候補値の値よりも絶対値が大きくはなっていないとして否定結果が得られた場合は、図示するようにしてそのまま「ＲＥＴＵＲＮ」となる。
また、ステップＳ３０２において、今回の評価信号Ｊの値が極値候補値の値よりも絶対値が大きくなっているとして肯定結果が得られた場合は、ステップＳ３０３にて極値候補値を更新する処理を行う。すなわち、極値候補値を今回の評価信号Ｊの値に更新するものである。
【００９５】
さらに続くステップＳ３０４では、極値タイミングの候補情報を更新するようにされる。この極値タイミングの候補情報は、極値タイミングの候補として保持しておくべきタイミング情報である。ステップＳ３０４では、このような極値タイミングの候補情報を、今回のサンプリングタイミングを示すタイミング情報に更新する。
このようにして極値候補値の値が更新されることに応じて、極値タイミングの候補情報も更新することで、最終的に得られたそのタイミング情報を極値タイミングの情報として得ることができる。
【００９６】
また、一方で先のステップＳ３０１において、評価信号Ｊの値が異極性となったとして肯定結果が得られた場合は、ステップＳ３０５に進み、現在の極値候補値を極値として保存するようにされる。
そして、続くステップＳ３０６では、現在の極値タイミングの候補情報を極値タイミングの情報として保存するようにされる。
【００９７】
さらに、続くステップＳ３０７では、極値候補値を今回の評価信号Ｊの値に更新し、極値タイミングの候補情報を今回のサンプリングタイミングに更新する処理を行う。
このようにして評価信号Ｊの値が異極性となったことに応じては、先ずは最初の値が極値候補値として更新され、極値タイミングの候補情報はこの極値候補値が得られたタイミングに更新される。
このステップＳ３０７の処理を実行すると、図示するようにして「ＲＥＴＵＲＮ」となる。
【００９８】
図１５は、上記により説明した図１２〜図１４の処理によって得られる０クロス間カウント値、極値、極値タイミングの情報を用いた、Shake操作検出のための各種条件判定のための処理動作について主に示している。
図１５において、先ずステップＳ４０１では、評価信号Ｊの値が異極性となるのを待機するようにされる。そして、異極性となった場合は、ステップＳ４０２において、先ずは０クロス間カウント値が範囲内であるか否かについて判別処理を行う。つまり、先の図８にて説明したように、この０クロス間カウント値が予め定められた閾値zcrs１と閾値zcrs２とによる所定範囲内に収まっているか否かについて判別するものである。
【００９９】
ステップＳ４０２において、０クロス間カウント値が上記閾値zcrs１と閾値zcrs２とによる所定範囲内に収まっていないとして否定結果が得られた場合は、ステップＳ４１０に進み、今回の極値、極値タイミングを無効化する処理を実行する。
このステップＳ４１０による処理が設けられることで、０クロス間カウント値が所定範囲内とならず、条件を満たさないとされた山の極値、極値タイミングが、次の有効な山が得られたときの前回の山の極値、極値タイミングとして扱われてしまわないようにすることができる。
ステップＳ４１０の処理を実行すると、図示するようにしてステップＳ４０１に戻るようにされ、これによって評価信号Ｊの値が異極性となる次のタイミング（次の０クロスタイミングに相当）の到来を待機するようにされる。
【０１００】
また、上記ステップＳ４０２において、０クロス間カウント値が上記所定範囲内に収まっているとして肯定結果が得られた場合は、ステップＳ４０３に進み、極値が範囲内であるか否かについて判別処理を行う。すなわち、極値が予め定められた閾値max１と閾値max２とによる所定範囲内に収まっているか否かを判別する。
【０１０１】
極値が上記所定範囲内に収まっていないとして否定結果が得られた場合は、ステップＳ４１１に進み、今回の極値、極値タイミングを無効化する処理を実行した後、図示するようにステップＳ４０１に戻るようにされる。
このステップＳ４１１の処理が設けられることで、先のステップＳ４１０と同様に条件を満たさないとされた山の極値、極値タイミングが、次の有効な山が得られたときの前回の山の極値、極値タイミングとして扱われてしまわないようにすることができる。
【０１０２】
また、ステップＳ４０３において、極値が上記所定範囲内に収まっているとして肯定結果が得られた場合は、ステップＳ４０４に進んでShake Countの値が「１」以上であるか否かについて判別処理を行う。
Shake Countの値が「１」以上ではないとして否定結果が得られた場合は、ステップＳ４１２に進んでShake Countの値を「１」とするようにされた後、ステップＳ４０１に戻るようにされる。
【０１０３】
一方、Shake Countの値が「１」以上であるとして肯定結果が得られた場合は、ステップＳ４０５において、極値が正／負交互であるか否かについて判別処理を行う。つまり、無効化されずに残されている前回の極値と、今回の異極性となったタイミング（０クロスタイミング）で得られた極値とを比較し、それらの値の極性が異なっているか否かを判別する。
【０１０４】
ステップＳ４０５において、極値が正／負交互で得られてはいないとして否定結果が得られた場合は、ステップＳ４１３に進み、今回の極値、極値タイミングを仮保存とする処理を実行する。そして、その後、図示するようにしてステップＳ４０１に戻るようにされる。
【０１０５】
また、ステップＳ４０５において、極値が正／負交互で得られたとして肯定結果が得られた場合は、ステップＳ４０６において、極値間のタイミング差が範囲内であるか否かについて判別処理を行う。つまり、無効化されずに残されている前回の極値タイミングと、今回の異極性となったタイミングで得られた極値タイミングとを比較し、それらのタイミング差が予め定められた閾値ts１と閾値ts２とによる所定範囲内に収まっているか否かを判別する。
【０１０６】
ステップＳ４０６において、極値間のタイミング差が上記所定範囲内にはないとして否定結果が得られた場合は、ステップＳ４０７に進んで前回極値タイミングとの間に仮保存した極値タイミングがあるか否かについて判別処理を行う。仮保存した極値タイミングがないとして否定結果が得られた場合は、ステップＳ４１２にてShake Countの値を「１」とした後、ステップＳ４０１に戻るようにされる。
【０１０７】
一方、仮保存した極値タイミングがあったとして肯定結果が得られた場合は、ステップＳ４０８において、仮保存した極値タイミングとの差が範囲内であるか否かについて判別処理を行う。すなわち、今回の異極性となったタイミングで得られた極値タイミングと仮保存されている極値タイミングとの差が、上述した閾値ts１と閾値ts２とによる所定範囲内に収まっているか否かを判別する。
【０１０８】
ステップＳ４０８において、仮保存した極値タイミングとの差が上記所定範囲内ではなかったとして否定結果が得られた場合は、ステップＳ４１２に進んでShake Countの値を「１」とした後に、ステップＳ４０１に戻るようにされる。
一方、仮保存した極値タイミングとの差が上記所定範囲内であったとして肯定結果が得られた場合は、ステップＳ４０９に進んでShake Countの値を「２」とした後に、ステップＳ４０１に戻るようにされる。
【０１０９】
また、先のステップＳ４０６において、極値間のタイミング差が上記所定範囲内であったとして肯定結果が得られた場合は、ステップＳ４１４に進み、Shake Countの値をインクリメントするようにされる。
【０１１０】
続くステップＳ４１５においては、Shake Countの値が所定値となったか否かについて判別処理を行う。つまり、この場合はShake Countの値が「６」となったか否かを判別するようにされる。
Shake Countの値が所定値になっていないとして否定結果が得られた場合は、ステップＳ４０１に戻るようにされる。
【０１１１】
一方、Shake Countの値が所定値になったとして肯定結果が得られた場合は、ステップＳ４１６に進み、「Shake ON」として、Shake操作が行われたとの判定を行う。
そして、このように「Shake ON」となったことに応じては、続くステップＳ４１７において、先ずはShake Countの値を０リセットした後、ステップＳ４１８においてShake ONインターバル設定処理を実行する。すなわち、以降の所定時間内は、「Shake ON」としない、すなわちShake操作が行われたとの判定を行わないように設定を行う。
このShake ONインターバル設定処理を実行すると、図示するようにして「ＲＥＴＵＲＮ」となる。
【０１１２】
続いて、図１６は、Shake操作検出に応じて行われるべき処理動作について示している。なお、この図１６に示す処理動作は、制御部２が不揮発性メモリ部３に格納される制御用プログラム３ｂに基づいて実行するものである。
先ず、ステップＳ５０１においては「Shake ON」を待機する。すなわち、先の図１５におけるステップＳ４１５による判別処理に基づき、ステップＳ４１６にてShake操作が行われたとの判定が行われるのを待機するようにされる。
【０１１３】
そして、「Shake ON」となった場合には、ステップＳ５０２において、現在の再生モードがシャッフル再生モードであるか否かについて判別処理を行う。つまり、現在コンテンツデータが「Repeat Shuffle All」「Repeat Shuffle Folder」の何れかとなるシャッフル再生としての再生形態で再生されているか、又は「All song(Normal) 」「Folder」「Repeat All」「Repeat Folder」「Repeat １song」の何れかとなる通常再生としての再生形態で再生されているかについて判別を行う。
【０１１４】
ステップＳ５０２において、現在の再生モードがシャッフル再生モードではないとして否定結果が得られた場合は、ステップＳ５０３に進み、先ずは「Repeat １song」であるか否かについて判別処理を行う。現在コンテンツデータが「Repeat １song」の再生形態により再生されているとして肯定結果が得られた場合は、図示するようにして「ＲＥＴＵＲＮ」となる。
【０１１５】
また、ステップＳ５０３において、現在コンテンツデータが「Repeat １song」の再生形態により再生されてはいないとして否定結果が得られた場合は、ステップＳ５０４にて一時停止処理を行った後、続くステップＳ５０５にて効果音出力処理を実行する。すなわち、ステップＳ５０４としては、現在再生中のコンテンツデータの再生が一時停止されるように再生処理部５を制御すると共に、続くステップＳ５０５では例えば予め不揮発性メモリ部３などに格納された効果音としての音声データが出力されるようにオーディオ出力処理部６を制御する。
【０１１６】
続くステップＳ５０６では、「All song 」又は「Repeat All」であるか否かについて判別処理を行う。現在、コンテンツデータが「All song 」又は「Repeat All」の再生形態により再生されているとして肯定結果が得られた場合は、ステップＳ５０７に進み、再生形態を「Repeat Shuffle All」に切り替えるための処理を実行する。
ここで、このようなステップＳ５０７によっては、上記「All song(Normal) 」又は「Repeat All」としての、全ての曲を再生対象範囲とした再生リストに基づく再生が行われていた状態から、上記「Repeat Shuffle All」としての、全ての曲を再生対象範囲としたシャッフル再生（ランダム再生）を行うように切り替えが行われるものとなる。
このステップＳ５０７の具体的な処理としては、先ずはこれまで用いていた再生リスト（つまり全ての曲を再生対象範囲としたリストである）からランダムな選曲を行い、この選曲された曲が再生出力されるように再生処理部５に対する制御を行う。その上で、以降は「Repeat Shuffle All」による再生形態が採られるように自らの設定を変更するものとなる。
【０１１７】
一方、上記ステップＳ５０６において、現在コンテンツデータが「All song」又は「Repeat All」の再生形態により再生されてはいないとして否定結果が得られた場合は、ステップＳ５０８に進み、再生形態を「Repeat Shuffle Folder」に切り替えるための処理を実行する。
このステップＳ５０８としては、シャッフル対象が「All」から「Folder」となる以外は先のステップＳ５０７と同様で、先ずはこれまで用いていた再生リスト（この場合は指定フォルダ内の曲を再生対象範囲としたリストとなる）からランダムな選曲を行い、この選曲された曲が再生出力されるように再生処理部５に対する制御を行う。その上で、以降「Repeat Shuffle Folder」による再生形態が採られるように自らの設定を変更するようにされる。
【０１１８】
また、先のステップＳ５０２において、現在の再生モードがシャッフル再生モードであるとして肯定結果が得られた場合は、ステップＳ５０９にて一時停止処理を行った後、続くステップＳ５１０にて効果音出力処理を実行する。これらの処理は、先のステップＳ５０４、ステップＳ５０５とそれそれ同様である。
【０１１９】
そして、このように一時停止、効果音出力処理を実行すると、続くステップＳ５１１において「Repeat Shuffle All」であるか否かについて判別処理を行う。
ステップＳ５１１において、現在コンテンツデータが「Repeat Shuffle All」の再生形態により再生されているとして肯定結果が得られた場合は、ステップＳ５１２に進み、再生形態を「Repeat All」に切り替えるための処理を実行する。
ここで、先に述べたように本実施の形態では、このようなシャッフル再生モードから通常再生モードへの切り替え時には、再生中であった曲を継続して再生するようにされている。これに応じステップＳ５１２では、先ずは再生中であったコンテンツデータの一時停止状態が解除されて、コンテンツデータの続きの再生が開始されるように再生処理部５を制御する。その上で、以降「Repeat All」による再生形態が採られるように自らの設定を変更するようにされる。
【０１２０】
一方、上記ステップＳ５１１において、現在コンテンツデータが「Repeat Shuffle All」の再生形態により再生されてはいないとして否定結果が得られた場合は、ステップＳ５１３に進み、再生形態を「Repeat Folder」に切り替えるための処理を実行する。
このステップＳ５１３としても、対象が「All」から「Folder」となる以外先のステップＳ５１２と同様となり、先ずは再生中であったコンテンツデータの続きの再生が開始されるように再生処理部５を制御し、その上で以降「Repeat Folder」による再生形態が採られるように自らの設定を変更するようにされる。
【０１２１】
［変形例］
ここで、以下の図１７〜図１９を参照して、実施の形態の変形例について説明しておく。
この変形例は、これまでで説明してきたShake操作検出に改良を加えたものである。具体的には、評価信号Ｊの値が前回の値と比較してかけ離れた値となってしまった場合に、これを加速度誤検出によるもとして、該当する部分の波形の山を条件判定から除外する動作を加えるようにしたものである。
【０１２２】
図１７は、このような実施の形態の変形例について説明するための図である。
先ず、図１７において、例えば図中＜１＞と示すようにして、新たに算出された評価信号Ｊの値が、前回のサンプリングタイミングで算出された評価信号Ｊの値との差が所定以上となったとする。
これに応じては、＜２＞と示すようにして、現山無効フラグを「１」とする。この現山無効フラグは、各０クロスタイミングにてその値が判定されるフラグであり、その値が「１」であることにより、今回の０クロス間で得られた波形の山を無効として扱うことを示すようにされたフラグである。
【０１２３】
この変形例では、各０クロスタイミングにてこのような現山無効フラグの値も判別するものとし、その値が「１」となっている場合は今回の山が無効であるとして、＜３＞と示すようにしてこの山の極値と極値タイミングとを無効化するものとしている。
【０１２４】
このようにすることで、例えば加速度センサ１２による誤検出等により、評価信号Ｊの値が前回の値と比較してかけ離れた値となってしまった場合に、該当する部分の波形の山を条件判定から除外することができる。すなわち、そのような誤検出成分を含む山がShake Countの値に影響を与えないようにすることができ、これによってShake操作の誤検出の発生をより強固に防止することができるものである。
【０１２５】
図１８、図１９は、このような変形例としての動作を実現するために行われるべき処理動作を示している。なお、これらの図に示す処理動作は、制御部２がShake操作検出プログラム３ａに基づいて実行するものである。すなわち、この変形例の場合は、Shake操作検出プログラム３ａに対し、これらの図に示される処理動作（図１９の場合は破線内の処理動作）を制御部２に実行させるためのプログラムが追加されることになる。
【０１２６】
先ず、図１８は、変形例としての無効条件の判定のために行われるべき処理について示している。
先ず、この場合の無効条件の判定のためには、ステップＳ６０１において、前回の評価信号Ｊの値との差を計算するようにされる。つまり、各サンプリングタイミングにて、新たに算出された評価信号Ｊの値と、前回のサンプリングタイミングにて算出された評価信号Ｊの値との差分を算出する。
【０１２７】
そして、続くステップＳ６０２において、前回の評価信号Ｊの値との差が所定以上であるか否かについて判別処理を行う。前回の評価信号Ｊの値との差が所定以上ではないとされた場合は、図示するようにして「ＲＥＴＵＲＮ」となる。
また、前回の評価信号Ｊの値との差が所定以上であるとされた場合は、ステップＳ６０３に進み、現山無効フラグの値を「１」とするようにされる。
【０１２８】
また、図１９は、このような現山無効フラグに基づく無効判定も含めたShake操作検出のための処理動作を示している。
図示するようにして、当該変形例による、現山無効フラグに基づく無効判定も含めたShake操作検出を行うとした場合は、先の図１５に示したShake操作検出のための処理動作に対し、破線により囲う処理（ステップＳ７０１、Ｓ７０２、Ｓ７０３）を挿入することになる。
つまり、ステップＳ４０１により評価信号Ｊの値が異極性となったとされた場合に行われるべき処理として、図示するステップＳ７０１をステップＳ４０２の前に挿入するようにされる。このステップＳ７０１では、現山無効フラグの値が「０」であるか否かについて判別処理を行う。現山無効フラグの値が「０」であるとされた場合は、特に前回の評価信号Ｊの値との差に起因する無効化処理は実行する必要はないことになるので、図示するようにしてステップＳ４０２による次の条件判別（０クロス間カウント値が範囲内であるか否か）処理に進むようにされる。
【０１２９】
一方、ステップＳ７０１において現山無効フラグの値が「０」ではない（つまり「１」である）とされた場合は、ステップＳ７０２に進み、今回の極値、極値タイミングを無効化する処理を実行する。そして、続くステップＳ７０３において、現山無効フラグの値を０リセットした後、ステップＳ４０１に戻るようにされる。
【０１３０】
［その他の変形例］
以上、本発明の実施の形態について説明したが、本発明としてはこれまでに説明した実施の形態に限定されるべきものではない。
例えば実施の形態では、Ｙ，Ｚの２軸の加速度信号に基づきShake操作を検出するものとしたが、例えば所定の１軸方向の加速度信号のみに基づきShake操作を検出することもできる。或いは、所定の３軸以上の方向の加速度信号に基づくものとすることもできる。
例えば、１軸とした場合は、各軸の加速度信号値を絶対値化した値の和でなく、所定の１軸の加速度信号値を絶対値化した値から過去所定期間の各時間での所定の１軸の加速度信号値を絶対値化した値の平均値を減算した評価信号を生成し、これに基づくShake操作検出を行えばよい。但し、１軸の場合は、Shake操作として振る方向を１方向に限定することが好ましいものとなる。
また、３軸以上とした場合、同様に各軸の加速度信号値を絶対値化した値の和から過去所定期間の各時間での各軸の加速度信号値を絶対値化した値の和の平均値を減算した評価信号を生成し、これに基づくShake操作検出を行うことで、同様の効果を得ることができる。このように３軸以上とすれば、Shake操作として振る方向は任意とすることができる。
【０１３１】
また、実施の形態では、加速度信号値を絶対値化した値（２軸以上の場合は各軸についての和）から過去所定期間の各時間での加速度信号値を絶対値化した値（２軸以上の場合は各軸についての和）の平均値を減算することで評価信号を生成するものとしたが、本発明の評価信号としては、少なくとも加速度の振幅と正／負の極性とを表すようにして生成されたものであればよい。
【０１３２】
また、実施の形態では、Shake Countの値をインクリメントする条件として、極値が正／負交互で得られ且つ極値間のタイミング差が所定範囲内であることを条件としたが、このようなShake Countの値をインクリメントする条件をさらに追加することもできる。
例えば、Shake Countの値をインクリメントするにあたっては、振る前に所定時間分の静止時間があったことを条件とすることもできる。すなわち、振るという操作の直前には、必ず所定分の静止時間が得られることになるので、これを条件とすることでより誤検出を防止することができる。
具体的な動作としては、過去所定期間における各軸の加速度信号の値に基づき、振り出す直前に静止状態とされる時間が所定時間以上継続していたか否かを判別する。その上で、静止状態とされる時間が所定時間以上あったとされた場合にのみ、極値が正／負交互で得られ且つ極値間のタイミング差が所定範囲内であることに応じてShake Countの値をインクリメントする。
また、このような静止状態に関する条件は、Shake Countの値のインクリメント条件に適用するのではなく、Shake操作検出全体の条件として適用することもできる。つまり、このように振り出す前に所定時間以上の静止時間があった場合にのみ、先の図１５に示したShake操作検出のための各種の条件判定を行うようにし、静止時間がなかった場合にはこれら各種の条件判定は行わないようにするといったものである。
【０１３３】
また、例えばShake Countの値をインクリメントするにあたっては、振る前の機器の姿勢が所定の条件を満たすことを条件とすることもできる。一例としては、振る前の機器の傾きが所定の角度範囲内に収まっていることを条件とするものである。Shake操作は機器を手に持って振るという操作である性質上、振る前の機器の姿勢としては重力方向に対して或る程度の角度範囲内に収まるはずである。そこで、このように所定角度範囲内に収まっていることを条件とすることで、誤検出をより強固に防止することができる。
具体的にこの場合は、過去所定期間における各軸の加速度信号の値に基づき、振り出す直前における機器の姿勢角度（重力方向に対する角度）の情報を取得し、この姿勢角度が所定の角度範囲内に収まっている場合にのみ、極値が正／負交互で得られ且つ極値間のタイミング差が所定範囲内であることに応じてShake Countの値をインクリメントする。
また、このような機器の姿勢に関する条件としても、Shake Countの値のインクリメント条件に適用するのではなく、Shake操作検出全体の条件として適用することもできる。すなわち、振り出す前の機器の姿勢角度が所定角度範囲内であった場合にのみ先の図１５に示したShake操作検出のための各種の条件判定を行うようにし、なかった場合にはこれら各種の条件判定は行わないようにするものである。
【０１３４】
また、実施の形態では、Shake ONとするにあたってはShake Countの値が所定値になることのみを条件としたが、このようなShake ONとするための条件としても変更が可能である。
例えば、Shake Countの値が所定値となったことに応じて直ちにShake ONとはせず、上記所定値から或る数を減算した規定値（この場合は所定値から１減算した「５」を規定値とする）となったことに応じShake Stand-by状態に移行し、異なる条件に基づいて最終的なShake操作有無の判定を行うようにすることもできる。
このShake Stand-by状態は、予め定められた所定期間にわたる猶予状態であり、当該Shake Stand-by状態となったときは、次の山の条件判定として、その山の０クロス間の間隔が範囲内であるという条件（図１５ステップＳ４０２に基づく条件）と、極値が前の山の極値と正／負交互であるという条件（ステップＳ４０５に基づく条件）とが除外され、極値が範囲内であるという条件（ステップＳ４０３に基づく条件）と前の山の極値タイミングとの差が範囲内であるという条件（ステップＳ４０６に基づく条件）との２つの条件のみが満たされれば、Shake Countの値をインクリメントするようにされる。そして、最終的にこのShake Stand-by状態の終了時点において、Shake Countの値が上記既定値から所定以内の値（例えば「８」とする）で収まっていたことに応じShake ONとする。すなわち、この場合はShake Stand-by状態の終了時点でShake Countの値が５以上８以下であれば、Shake ONにするというものである。
Shake ON条件についてこのような変更を施すことで、個人によってShake操作の定義が異なる場合にも、Shake操作の検出が安定して行われるようにすることができる。
【０１３５】
また、実施の形態では、Shake操作検出のための動作を、制御部２によるソフトウエア処理により実現する場合を例示したが、例えば評価信号の計算については専用のハードウエアにより行う等、その一部又は全部の動作をハードウエアにより実現することもできる。
【０１３６】
また、実施の形態では、Shake操作検出のための処理動作と、Shake操作検出に応じて行う動作制御のための処理動作とを異なるプログラム（Shake操作検出プログラム３ａ、制御用プログラム３ｂ）に基づきそれぞれ実行するものとしたが、これらの処理動作を１つのプログラム又は３以上に分けられたプログラムに基づき実行するように構成することもできる。
【０１３７】
また、実施の形態では、通常再生モード／シャッフル再生モードの切り替え時に対応して効果音を鳴らず場合を例示したが、効果音は必ずしも鳴らす必要はない。
例えば、効果音を鳴らさないとした場合、これに代えて表示画面部１０Ａ上に所定の文字や絵柄等の表示を行って再生モードの切り替えをユーザに通知することもできる。或いは、効果音は鳴らしつつこのような表示も併せて行うようにすることもできる。ここで、動作切り替えの通知の手法は、これら音や表示によるものに特に限定されるべきものではない。
【０１３８】
また、実施の形態では、Shake操作が検出されたことに応じ、通常再生モード／シャッフル再生モードの切り替え制御を行うものとしたが、本発明の携帯型電子機器としては、Shake操作検出に応じ所定の動作が実行されるように制御を行うように構成されていればよい。
【０１３９】
また、実施の形態では、Shake操作検出のための処理動作として、評価信号の値の取得（図１２）、０クロス間カウント値の取得（図１３）、極値・極値タイミングの取得（図１４）のための処理の各々と、これら取得された値・タイミング情報を用いたShake操作検出のための処理（図１５）とを並行処理で行う場合を例示したが、これらの処理の全部又は一部を連続した処理により行うこともできる。
【０１４０】
また、実施の形態では、コンテンツデータの再生中に加速度センサ１２がオンするようにしたが、例えばスリープ中（スタンバイ中）など再生中以外の状態においても、加速度センサ１２がオンされるようにすることもできる。
ここで、実施の形態では、Shake操作に応じて再生モードの切り替えという再生機能に係る動作制御を行うものとしたので、再生中のみ加速度センサ１２をオンさせることで、操作に応じて適正に動作制御が行われるようにすることと消費電力削減との両立を図るものとしたが、例えばコンテンツ記憶部４に記憶されたコンテンツデータの再生機能以外の他の機能（例えばラジオ放送の受信機能など）が与えられる場合であって、その機能についての動作制御を行うとした場合には、その機能動作の実行中に対応して加速度センサ１２がオンされるようにすれば、操作検出に応じて適正に動作制御が行われることと消費電力削減との両立を図ることができる。
【０１４１】
また、例えば加速度センサ１２を２以上の用途（例えば操作検出と歩数計機能など）に用いるようにされる場合等には、加速度センサ１２を１）常時オンとする２）再生中又はラジオ受信中にのみオンとする３）常時オフとする、の切り替え設定が可能とされるように構成することもできる。例えば上記１）の設定によれば、ユーザは再生中（及びラジオ受信中）ではない場合にも例えば上記歩数計機能を使用することができる。また、上記３）の設定によれば、特に歩数計機能もShake操作も行わないとする場合に対応してさらなる消費電力削減を図ることが可能となる。
【０１４２】
また、実施の形態では、本発明が携帯型のコンテンツプレーヤに適用される場合を例示したが、本発明としては携帯使用が可能な携帯型電子機器に広く好適に適用することができる。
【図面の簡単な説明】
【０１４３】
【図１】実施の形態の携帯型電子機器の外観例を示す斜視図である。
【図２】実施の形態の携帯型電子機器の内部構成例を示すブロック図である。
【図３】Shake操作について説明するための図である。
【図４】加速度信号の波形とそれに基づき生成される評価信号の波形とを対比して示した図である。
【図５】Shake操作時における各軸の加速度信号、評価信号Ｊ、面積値による評価信号の波形について示した図である。
【図６】バックパックに入れて携行した時の各軸の加速度信号、評価信号Ｊ、面積値による評価信号の波形について示した図である。
【図７】ストラップにぶら下げて携行した時の各軸の加速度信号、評価信号Ｊ、面積値による評価信号の波形について示した図である。
【図８】実施の形態としてのShake操作検出のための動作として、Shake Countの値が「０」のときに行われるべき動作について説明するための図である。
【図９】実施の形態としてのShake操作検出のための動作として、Shake Countの値が「１」以上である場合の動作について説明するための図である。
【図１０】実施の形態としてのShake操作検出のための動作として、猶予処理について説明するための図である。
【図１１】Shake操作が行われたときの評価信号Ｊの波形の例とそれに伴うShake Countの値の変化とを示した図である。
【図１２】実施の形態としてのShake操作検出を実現するための処理動作として、特に加速度信号に基づき評価信号Ｊを生成するための処理動作を示したフローチャートである。
【図１３】実施の形態としてのShake操作検出を実現するための処理動作として、特に０クロス間カウント値の情報を得るための処理動作を示したフローチャートである。
【図１４】実施の形態としてのShake操作検出を実現するための処理動作として、特に極値と極値タイミングの情報を得るための処理動作を示したフローチャートである。
【図１５】実施の形態としてのShake操作検出を実現するための処理動作として、特にShake操作検出のための各種条件判定のための処理動作を示したフローチャートである。
【図１６】Shake操作が検出されたことに応じて行われるべき処理動作を示したフローチャートである。
【図１７】実施の形態の変形例としての動作について説明するための図である。
【図１８】変形例としての動作を実現するために行われるべき処理動作として、特に現山無効フラグの設定のために行われるべき処理動作を示したフローチャートである。
【図１９】変形例としての動作を実現するために行われるべき処理動作として、特に現山無効フラグに基づく条件判定のために行われるべき処理動作を示したフローチャートである。
【符号の説明】
【０１４４】
１  携帯型コンテンツプレーヤ、２  制御部、３  不揮発性メモリ部、３ａ  Shake操作検出プログラム、３ｂ  制御用プログラム、４  コンテンツ記憶部、５  再生処理部、６  オーディオ出力処理部、７  ヘッドフォン端子、８  操作部、８ａ  ジョグダイヤル、８ｂ，８ｃ  キーボタン、９  表示メモリ、１０  ディスプレイ部、１０Ａ  表示画面部、１１  外部データインタフェース、１２  加速度センサ
【図１】
2008033526.tif 000003
【図２】
2008033526.tif 000004
【図３】
2008033526.tif 000005
【図４】
2008033526.tif 000006
【図５】
2008033526.tif 000007
【図６】
2008033526.tif 000008
【図７】
2008033526.tif 000009
【図８】
2008033526.tif 000010
【図９】
2008033526.tif 000011
【図１０】
2008033526.tif 000012
【図１１】
2008033526.tif 000013
【図１２】
2008033526.tif 000014
【図１３】
2008033526.tif 000015
【図１４】
2008033526.tif 000016
【図１５】
2008033526.tif 000017
【図１６】
2008033526.tif 000018
【図１７】
2008033526.tif 000019
【図１８】
2008033526.tif 000020
【図１９】
2008033526.tif 000021