(57)【要約】【課題】傾き検出センサを用いずに筐体の傾きを検出できるようにする。【解決手段】情報処理装置１０は、タッチパネル１２の表示面に接触している物体の形状を認識し、これに基づいて当該表示面上での接触物体の角度αを検出し、接触物体の角度αの変化に基づいて筐体１１の傾きβを検出することにより、ユーザが筐体１１を把持するときに当該表示面に接触する指の角度を検出することができ、この角度が筐体１１が傾けられることに応じて変化することから、この角度の変化に基づいて筐体１１の傾きβを検出することができるので、傾き検出センサを用いることなく筐体１１の傾きβを検出することができる。【選択図】図４
2010250610.tif 000002
【特許請求の範囲】
【請求項１】
筐体の所定面に接触している物体の形状を認識する認識部と、
上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出する角度検出部と、
上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出する傾き検出部と
を具える情報処理装置。
【請求項２】
上記認識部は、
上記筐体の所定面に接触している１又は複数の物体の形状を認識する
請求項１に記載の情報処理装置。
【請求項３】
上記角度検出部は、
上記認識部により複数の物体の形状が認識されると、当該複数の物体の形状に基づいて、当該複数の物体それぞれの上記所定面上での角度を検出し、
上記傾き検出部は、
上記角度検出部により検出された複数の物体それぞれにおける上記角度の変化のなかで、最も大きい角度の変化に基づいて、上記筐体の傾きを検出する
請求項２に記載の情報処理装置。
【請求項４】
上記認識部により複数の物体の形状が認識されている場合にのみ、上記傾き検出部により検出された上記筐体の傾きに応じて所定の処理を実行する制御部
を具える請求項２に記載の情報処理装置。
【請求項５】
上記認識部により認識された物体の形状に基づいて、上記物体の上記所定面上に接触している部分の重心を検出する重心検出部と、
上記角度検出部により検出された物体の角度の変化に伴って、上記重心検出部により検出された上記重心が移動したかどうかを判別する判別部
を具え、
上記傾き検出部は、
上記判別部により上記物体の角度の変化に伴って上記重心が移動していないと判別された場合にのみ、上記物体の角度の変化に基づいて、上記筐体の傾きを検出する
請求項１に記載の情報処理装置。
【請求項６】
認識部が、筐体の所定面に接触している物体の形状を認識し、
角度検出部が、上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出し、
傾き検出部が、上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出する
傾き検出方法。
【請求項７】
コンピュータに、
認識部が、筐体の所定面に接触している物体の形状を認識するステップと、
角度検出部が、上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出するステップと、
傾き検出部が、上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出するステップと
を実行させる傾き検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、傾き検出方法及び傾き検出プログラムに関し、例えばタッチパネルを有する情報処理装置に適用して好適なものである。
【背景技術】
【０００２】
近年、図１に示す情報処理装置１のように、ユーザが情報処理装置１の筐体を傾けることにより、ゲームなど各種アプリケーションにおいて命令を入力できるものが普及してきている。
【０００３】
このような情報処理装置１としては、加速度センサやジャイロセンサなど、物体に働く力を検出して筐体の傾きを検出するセンサ（以下、これを傾き検出センサとも呼ぶ）を用いて筐体の傾きを検出し、検出した傾きに応じて各種処理を行うものが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０７５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで上述した情報処理装置１は、傾き検出センサを用いらなければ筐体の傾きを検出することができなかった。
【０００６】
本発明は以上の点を考慮してなされたもので、傾き検出センサを用いることなく筐体の傾きを検出し得る情報処理装置、傾き検出方法及び傾き検出プログラムを提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明の情報処理装置においては、筐体の所定面に接触している物体の形状を認識する認識部と、認識部により認識された物体の形状に基づいて、所定面上での物体の角度を検出する角度検出部と、角度検出部により検出された物体の角度の変化に基づいて、筐体の傾きを検出する傾き検出部とを設けるようにした。
【０００８】
これにより本発明の情報処理装置は、ユーザが筐体を把持するときに筐体の所定面に接触する指の所定面上での角度を検出でき、この角度が筐体が傾けられることに応じて変化することから、この角度の変化に基づいて筐体の傾きを検出することができる。
【発明の効果】
【０００９】
本発明によれば、ユーザが筐体を把持するときに筐体の所定面に接触する指の所定面上での角度を検出でき、この角度が筐体が傾けられることに応じて変化することから、この角度の変化に基づいて筐体の傾きを検出することができる。かくして、傾き検出センサを用いることなく筐体の傾きを検出し得る情報処理装置、傾き検出方法及び傾き検出プログラムを実現することができる。
【図面の簡単な説明】
【００１０】
【図１】従来の情報処理装置の使用例の説明に供する略線図である。
【図２】本発明における情報処理装置の構成を示す略線図である。
【図３】本発明における接触物体の角度の検出の説明に供する略線図である。
【図４】本発明の第１の実施の形態における傾き検出処理の説明に供する略線図である。
【図５】本発明における音量の調整の説明に供する略線図である。
【図６】本発明における選択するアルバムの切り替えの説明に供する略線図である。
【図７】本発明における動画の早送り又は早戻しの説明に供する略線図である。
【図８】本発明における画像のスクロールの説明に供する略線図である。
【図９】本発明の第１の実施の形態における傾き検出処理手順を示すフローチャートである。
【図１０】本発明における情報処理装置の機能構成を示すブロック図である。
【図１１】本発明の第２の実施の形態における傾き検出処理の説明に供する略線図である。
【図１２】本発明の第２の実施の形態における傾き検出処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、発明を実施するための最良の形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（両手で筐体が把持されている場合に筐体の傾きを検出する例）
２．第２の実施の形態（片手で筐体が把持されている場合に筐体の傾きを検出する例）
３．他の実施の形態
【００１２】
＜１．第１の実施の形態＞
［１−１．情報処理装置の全体構成］
まず、第１の実施の形態について説明する。図２において、１０は全体として情報処理装置を示す。この情報処理装置１０は携帯型であり、図２（Ａ）に示すように片手で把持し得る程度の大きさ（いわゆる手の平サイズ）でなる扁平矩形状の筐体１１を有する。
【００１３】
この筐体１１の表面には、長方形板状のタッチパネル１２が設けられている。このタッチパネル１２は光センサ方式のものであり、表示部１２Ａ及び光センサ１２Ｂから構成されている。情報処理装置１０は、タッチパネル１２の表示面に対するユーザの操作を認識すると、当該操作に応じて各種処理を行うようになされている。
【００１４】
尚ここでは、筐体１１及びタッチパネル１２が一方向へは他方向と比べて短く形成されているため当該一方向を短手方向とも呼び、筐体１１及びタッチパネル１２が他方向へは一方向と比べて長く形成されているため当該他方向を長手方向とも呼ぶ。
【００１５】
この情報処理装置１０は、ユーザに、当該長手方向を左右方向とする向き（以下、これを横向きとも呼ぶ）で通常利用させるようになされている。因みに筐体１１において、長手方向を上下方向とする向きを縦向きとも呼ぶ。
【００１６】
筐体１１の左面には、ヘッドホン端子（図示せず）が設けられ、このヘッドホン端子を介して、ヘッドホン１３が接続されるようになされている。情報処理装置１０は、このヘッドホン１３を介してユーザに再生した楽曲や動画などの音声を聴取させるようになされている。
【００１７】
つづいて、情報処理装置１０の各回路部を、図２（Ｂ）を用いて説明する。情報処理装置１０では、各回路部がバス２０を介して接続されている。ＣＰＵ２１は、不揮発性メモリ２２に記憶されているプログラムをＲＡＭ（Random Access Memory）２３に読み出す。そしてＣＰＵ２１は、読み出したプログラムをＲＡＭ２３上で展開し、この展開したプログラムに従って各回路部を制御すると共に、各種処理を実行するようになされている。
【００１８】
ＣＰＵ２１は、外部接続端子（図示せず）を介して外部機器と接続されると、外部機器から楽曲データや動画データ、画像データなどを取得し、これらを不揮発性メモリ２２に記録するようになされている。
【００１９】
ＣＰＵ２１は、ユーザ操作により楽曲を再生するよう指示されると、不揮発性メモリ２２に記録されている楽曲データを読み出す。そしてＣＰＵ２１は、当該楽曲データに対して復号処理及び増幅処理などの所定の再生処理を施すことにより音声信号を得て、この音声信号を音声出力部２４に送出する。この結果、音声出力部２４から、ヘッドホン１３を介してこの音声信号に基づく楽曲の音声が出力されるようになされている。
【００２０】
タッチパネル１２の表示面には、複数の画素セットが例えばマトリクス状に配置されている。各画素セットには、表示部１２Ａとして赤色表示、緑色表示及び青色表示のそれぞれに対応する発光素子と、光センサ１２Ｂとが設けられている。
【００２１】
ＣＰＵ２１は、各種メニュー画面や画像データに基づく画像などを表示部１２Ａに表示させるようになされている。例えばＣＰＵ２１は、不揮発性メモリ２２に記録されている楽曲データに付与されているジャケット写真画像データを読み出し、当該ジャケット写真画像データに基づいて表示部１２Ａにジャケット写真画像を表示させる。
【００２２】
光センサ１２Ｂは、外部からタッチパネル１２の表示面に入射する光を受光し、受光した光の光強度に応じた光強度信号を所定間隔ごとに生成してＣＰＵ２１に送出するようになされている。
【００２３】
ここで図３（Ａ）に示すように、ユーザにより筐体１１が把持され、タッチパネル１２の表示面に対してユーザの指が接触しているとする。この場合、当該指において、指先の腹はタッチパネル１２の表示面に接触しており、指先の腹以外の部分は当該表示面に接触はしていないが、当該表示面には近接していることが想定される。
【００２４】
このときタッチパネル１２の表示面においてユーザの指が接触している領域では、ユーザの指により当該表示面に入射する光が遮られるため、光センサ１２Ｂで受光する光の光強度は小さくなる。
【００２５】
またタッチパネル１２の表示面においてユーザの指が近接している領域ではユーザの指の影ができるため、光センサ１２Ｂで受光する光の光強度は若干小さくなるが、指が接触している領域よりは大きくなる。
【００２６】
一方タッチパネル１２の表示面においてユーザの指が接触も近接もしていない領域では、当該表示面に入射する光が遮られることがないため、光センサ１２Ｂで受光する光の光強度は指が接触又は近接している領域より大きくなる。
【００２７】
このことをふまえ、ＣＰＵ２１は、所定間隔ごとに光センサ１２Ｂから送出された光強度信号に基づいて、各画素セットにおける光強度に対して３値化処理を行う。３値化処理では、所定の閾値が２つ設定されており、様々な分布を有している光強度が閾値に応じて３つの値（「−１」、「０」、「１」）に集約される。
【００２８】
尚この閾値は、タッチパネル１２の表示面において、指が接触している領域の光強度が「−１」となり、指が近接している領域の光強度が「０」となり、指が接触も近接もしていない領域の光強度が「１」となるよう予め調整されている。
【００２９】
ＣＰＵ２１は、３値化処理の結果に基づいて、図３（Ｂ）に示すように、タッチパネル１２の表示面において光強度が「−１」である領域（これを暗領域とも呼ぶ）Ｂｋを当該表示面内における座標として検出する。
【００３０】
ＣＰＵ２１は、暗領域Ｂｋを検出すると、タッチパネル１２の表示面に物体（ここではユーザの指）が接触していることを認識する。尚、ＣＰＵ２１が認識したタッチパネル１２の表示面に接触している物体のことを接触物体とも呼ぶ。
【００３１】
そしてＣＰＵ２１は、暗領域Ｂｋの形状を、接触物体がタッチパネル１２の表示面に接触している部分の形状であると認識する。これによりＣＰＵ２１は、当該表示面に接触している指の、指先の腹の形状を認識することができる。
【００３２】
またＣＰＵ２１は、３値化処理の結果に基づいて、タッチパネル１２の表示面において光強度が「０」である領域（これを中間領域とも呼ぶ）Ｂｍを当該表示面内における座標として検出する。
【００３３】
ＣＰＵ２１は、暗領域Ｂｋと共に中間領域Ｂｍを検出すると、中間領域Ｂｍの形状を、接触物体がタッチパネル１２の表示面に近接している部分の形状であると認識する。これによりＣＰＵ２１は、当該表示面に接触している指の、指先の腹以外の部分の形状を認識することができる。
【００３４】
さらにＣＰＵ２１は、３値化処理の結果に基づいて、タッチパネル１２の表示面において光強度が「１」である領域（これを明領域とも呼ぶ）Ｂｒを当該表示面内における座標として検出する。ＣＰＵ２１は、明領域Ｂｒを物体が接触も近接もしていない領域として認識する。
【００３５】
そしてＣＰＵ２１は、暗領域Ｂｋ及び中間領域Ｂｍの座標に基づいて、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐをタッチパネル１２の表示面内における座標として検出する。
【００３６】
因みに、暗領域Ｂｋの重心Ｋｐは中間領域Ｂｍの重心Ｍｐよりもタッチパネル１２の表示面に接触している指の指先側に位置し、中間領域Ｂｍの重心Ｍｐは暗領域Ｂｋの重心Ｋｐよりも当該指の付け根側に位置している。
【００３７】
このことをふまえ、ＣＰＵ２１は、中間領域Ｂｍの重心Ｍｐに対して暗領域Ｂｋの重心Ｋｐの位置する方向とタッチパネル１２の長手方向とがなす角度を、タッチパネル１２の表示面上での接触物体の角度αとして算出する。
【００３８】
これによりＣＰＵ２１は、タッチパネル１２の表示面上において、指の付け根に対する指先の位置する方向と長手方向とがなす角度を検出することができ、当該表示面に接触している指の当該表示面上での角度を検出することができる。
【００３９】
尚ＣＰＵ２１は、重心Ｍｐに対する重心Ｋｐの位置する方向がタッチパネル１２の長手方向に平行であり且つ重心Ｋｐが重心Ｍｐの右側にある状態を接触物体の角度αが０度であるとし、重心Ｋｐが反時計周りに移動する方向を正の方向とする。例えばＣＰＵ２１は、重心Ｋｐが重心Ｍｐの真上にある状態を接触物体の角度αが９０度であると算出する。
【００４０】
［１−２．傾き検出処理］
次にこの情報処理装置１０の筐体１１の傾きβ（図４）を検出する傾き検出処理について、詳しく説明する。
【００４１】
情報処理装置１０には、ユーザが筐体１１を傾けることで命令を入力することのできる傾き検出モードが設けられている。情報処理装置１０は、ユーザにより左右の指をタッチパネル１２の表示面に接触させる操作が行われると、傾き検出モードに切り替わるようになされている。
【００４２】
ここでユーザが、この傾き検出モードに切り替えるための操作を行ったとする。すなわち図４（Ａ）に示すように、ユーザが筐体１１を横向きで把持し、タッチパネル１２の表示面に対して左右の指を接触させたとする。
【００４３】
このときＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて上述した３値化処理を行い、図４（Ｂ）に示すように、タッチパネル１２の表示面において、暗領域Ｂｋ及び中間領域Ｂｍを検出する。ここではユーザの左右の指が当該表示面に接触しているため、暗領域Ｂｋ及び中間領域Ｂｍは２箇所ずつ検出される。
【００４４】
ＣＰＵ２１は、各暗領域Ｂｋの重心Ｋｐをそれぞれ検出し、重心Ｋｐがタッチパネル１２の表示面の中央Ｏによって分けられる右側部分及び左側部分のそれぞれに１個ずつあるかどうかを判別する。
【００４５】
ＣＰＵ２１は、重心Ｋｐがタッチパネル１２の表示面内の右側部分及び左側部分のそれぞれに１個ずつあると判別すると、当該表示面内の左右両側のそれぞれに物体が接触していると認識する。
【００４６】
尚、以下の説明では、タッチパネル１２の表示面内の左側部分にある重心Ｋｐを重心ＫｐＬとも呼び、重心ＫｐＬに対応する暗領域Ｂｋ、中間領域Ｂｍ及びその重心Ｍｐを、暗領域ＢｋＬ、中間領域ＢｍＬ及び重心ＭｐＬとも呼ぶ。一方、当該表示面内の右側部分にある重心Ｋｐを重心ＫｐＲとも呼び、重心ＫｐＲに対応する暗領域Ｂｋ、中間領域Ｂｍ及びその重心Ｍｐを、暗領域ＢｋＲ、中間領域ＢｍＲ及び重心ＭｐＲとも呼ぶ。
【００４７】
また以下の説明では、タッチパネル１２の表示面内の左側に接触している物体のことを左側接触物体とも呼び、当該表示面内の右側に接触している物体のことを右側接触物体とも呼ぶ。
【００４８】
ＣＰＵ２１は、タッチパネル１２の表示面内の左右両側に物体が接触していることを認識すると、傾き検出モードに切り替えるための操作が行われたと認識し、傾き検出モードに切り替わる。
【００４９】
そしてＣＰＵ２１は、中間領域ＢｍＬの重心ＭｐＬと中間領域ＢｍＲの重心ＭｐＲとを検出する。
【００５０】
そしてＣＰＵ２１は、暗領域ＢｋＬの重心ＫｐＬ及び中間領域ＢｍＬの重心ＭｐＬに基づいて、タッチパネル１２の表示面上での左側接触物体の角度αＬを算出する。またＣＰＵ２１は、暗領域ＢｋＲの重心ＫｐＲ及び中間領域ＢｍＲの重心ＭｐＲに基づいて、タッチパネル１２の表示面上での右側接触物体の角度αＲを算出する。
【００５１】
これによりＣＰＵ２１は、このときタッチパネル１２の表示面に接触している左指の角度及び右指の角度を検出することができる。
【００５２】
ところでＣＰＵ２１は、傾き検出モードに切り替える操作が行われるとユーザが筐体１１を傾けようとしていると認識し、このときの状態を筐体１１が傾けられていない状態、すなわち筐体１１の傾きが０度の状態であると認識する。
【００５３】
ゆえにＣＰＵ２１は、このときの左側接触物体の角度αＬ及び右側接触物体の角度αＲを、筐体１１を傾ける操作が開始されるときの接触物体の角度である左側開始角度及び右側開始角度として設定する。尚、左側開始角度及び右側開始角度をまとめて、開始角度とも呼ぶ。
【００５４】
またＣＰＵ２１は、このときの暗領域ＢｋＬの重心ＫｐＬ及び暗領域ＢｋＲの重心ＫｐＲを、筐体１１を傾ける操作が開始されるときの暗領域Ｂｋの重心である左指開始重心及び右指開始重心として設定する。尚、左指開始重心及び右指開始重心をまとめて、開始重心とも呼ぶ。すなわちＣＰＵ２１は、筐体１１が傾けられていない状態での、接触物体がタッチパネル１２の表示面に接触している部分の重心を開始重心として設定する。
【００５５】
ここでユーザが、図４（Ａ）に示す傾き検出モードに切り替えるための操作を行った状態から、図４（Ｃ）に示すように筐体１１を例えば時計回りに傾けたとする。ユーザが筐体１１を傾ける場合、左右の指先の腹（すなわちタッチパネル１２の表示面に接触している部分）の重心を中心として左右の指の角度を変化させ、筐体１１を傾けると考えられる。
【００５６】
このことをふまえＣＰＵ２１は、開始角度と比べて接触物体の角度αが変化したかどうかを判別する。
【００５７】
具体的にＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて上述した３値化処理を行い、図４（Ｄ）に示すようにタッチパネル１２の表示面において、暗領域ＢｋＬ及びＢｋＲ、中間領域ＢｍＬ及びＢｍＲを検出する。
【００５８】
そしてＣＰＵ２１は、上述したように左側接触物体の角度αＬ及び右側接触物体の角度αＲを算出する。
【００５９】
そしてＣＰＵ２１は、左側開始角度と左側接触物体の角度αＬとの差分ｄＬを算出する。またＣＰＵ２１は、右側開始角度と右側接触物体の角度との差分ｄＲを算出する。ＣＰＵ２１は、算出結果に基づいて、左側接触物体の角度αＬ及び右側接触物体の角度αＲが変化したかどうかを判別する。
【００６０】
そしてＣＰＵ２１は、左側接触物体の角度αＬ又は右側接触物体の角度αＲのどちらか、又は双方が変化したことを判別すると、接触物体の角度αが変化したと判別する。
【００６１】
ところで、図４（Ｅ）に示すように、ユーザが例えば左指の角度のみを変化させ、筐体１１を傾けない操作を行うことも想定される。
【００６２】
この場合、ユーザは指の付け根を中心として左指の角度を変化させるため、筐体１１を傾けるときと異なり、指先の腹、つまりタッチパネル１２の表示面に指が接触している部分の重心が移動する。すなわち図４（Ｆ）に示すように、左側接触物体の角度αＬが変化するのに伴い、暗領域ＢｋＬの重心ＫｐＬが移動する。
【００６３】
従って接触物体の角度αが変化しても暗領域Ｂｋの重心Ｋｐが移動した場合、筐体１１は傾けられていないと考えられる。一方、接触物体の角度αが変化し且つ暗領域Ｂｋの重心Ｋｐが移動していなければ、筐体１１は傾けられていると考えられる。
【００６４】
このことをふまえＣＰＵ２１は、接触物体の角度αが変化したことを判別すると、傾き検出モードに切り替わった状態から暗領域Ｂｋの重心Ｋｐが移動したかどうかを判別する。
【００６５】
具体的にＣＰＵ２１は、左指開始重心と重心ＫｐＬとの距離及び右指開始重心と重心ＫｐＲとの距離を算出し、算出結果に基づいてこれらの距離が所定の閾値以上であることを判別すると重心Ｋｐが移動したと判別する。
【００６６】
尚ユーザが筐体１１を傾ける場合、重心Ｋｐは若干移動することも考えられる。従ってこの閾値は、ユーザが筐体１１を傾ける際の重心Ｋｐの移動と、ユーザが筐体１１を傾けずに指の角度を変化させる際の重心Ｋｐの移動とを区別できる程度に設定されている。
【００６７】
ＣＰＵ２１は、接触物体の角度αが変化し且つ暗領域Ｂｋの重心Ｋｐが移動していないことを判別すると、筐体１１が傾けられていると認識する。一方ＣＰＵ２１は、接触物体の角度αが変化し且つ暗領域Ｂｋの重心Ｋｐが移動したことを判別すると、筐体１１が傾けられていないと認識する。
【００６８】
ところでユーザが筐体１１を傾けたとき、筐体１１を把持する左右の指のうち、角度の変化の大きい方が筐体１１の傾きの変化を正確に反映していると想定される。
【００６９】
このことをふまえＣＰＵ２１は、左側開始角度と左側接触物体の角度αＬとの差分ｄＬ及び右側開始角度と右側接触物体の角度との差分ｄＲとを比較し、どちらが大きいかを判別する。
【００７０】
そしてＣＰＵ２１は、大きい方の差分が、筐体１１の傾きが０度である状態（傾き検出モードに切り替わったときの状態）からの筐体１１の傾きの変化量であると推定し、これを筐体１１の傾きβとして検出する。例えば図４（Ｄ）の場合、差分ｄＬが差分ｄＲより大きいことから、ＣＰＵ２１は、差分ｄＬを筐体１１の傾きβとして検出する。
【００７１】
尚ＣＰＵ２１は、反時計回りを接触物体の角度αの正の方向として検出する。このため、接触物体の角度αが正の方向に変化したことは、筐体１１が負の方向、つまり時計周りに傾けられていることを意味する。
【００７２】
従ってＣＰＵ２１は、筐体１１が時計回りに傾けられている場合、正の傾きβを検出し、筐体１１が反時計回りに傾けられている場合、負の傾きβを検出するようになされている。ＣＰＵ２１は、例えば筐体１１が時計周りに４５度傾けられている場合、傾きβが＋４５度であると検出する。
【００７３】
そしてＣＰＵ２１は、各種アプリケーションにおいて、検出した傾きβに応じて所定の処理を実行する。
【００７４】
具体的にＣＰＵ２１は、例えば楽曲を再生するアプリケーションを起動し、楽曲を再生しているとする。このとき図５（Ａ）に示すように、ＣＰＵ２１は、タッチパネル１２に、再生している楽曲のタイトル名ＴＮ及びアーティスト名ＡＮと、出力している音声の音量を示す音量バーＭＢとを表示させる。音量バーＭＢは、塗りつぶされた範囲の長さで音量の大小を示すようになされている。
【００７５】
ここで傾き検出モードのとき、ユーザが筐体１１を例えば時計周りに傾けたとする。このときＣＰＵ２１は、上述したように正の傾きβを検出する。そしてＣＰＵ２１は、正の傾きβに応じて、音声出力部２４を制御し出力する音声の音量を上げると共に、音量バーＭＢを塗りつぶす範囲を左から右に伸ばして表示させる。
【００７６】
一方ＣＰＵ２１は、傾きβが負の場合、音声出力部２４を制御し出力する音声の音量を下げると共に、音量バーＭＢを塗りつぶす範囲を右から左に縮めて表示させる。尚ＣＰＵ２１は、傾きβの絶対値が大きいほど音量の調整量を大きくし、傾きβの絶対値が小さいほど音量の調整量を小さくするようになされている。
【００７７】
またＣＰＵ２１は、ユーザが筐体１１を傾け続けている間、傾きβに応じた音量の調整を継続して行うようになされている。
【００７８】
そしてユーザが図５（Ｂ）に示すように、筐体１１の傾きを元の状態（傾き検出モードに切り替えたときの状態）に戻したとする。このときＣＰＵ２１は、筐体１１が傾いていないことを認識し、音量の調整を停止する。
【００７９】
またＣＰＵ２１が、楽曲を再生するアプリケーションの起動中、例えば再生するアルバムを選択するための画面をタッチパネル１２に表示させているとする。このとき図６（Ａ）に示すように、ＣＰＵ２１は、タッチパネル１２に、複数のアルバムのジャケット写真画像ＪＰ（ＪＰ０〜ＪＰ２）を右から左へ並べて表示させている。このときＣＰＵ２１は、タッチパネル１２の中央に表示させているジャケット写真画像ＪＰ１に対応するアルバムを選択している状態である。
【００８０】
ここで傾き検出モードのとき、ユーザが筐体１１を例えば時計周りに傾けたとする。このときＣＰＵ２１は、上述したように正の傾きβを検出する。
【００８１】
そしてＣＰＵ２１は、検出した傾きβが正であり、傾きβの絶対値が所定値以上であることを認識すると、図６（Ｂ）に示すように、タッチパネル１２に表示させるジャケット写真画像ＪＰを左から右にスクロールし、選択するアルバムを次のアルバムに切り替える。このときＣＰＵ２１は、選択したアルバムに対応するジャケット写真画像ＪＰ２を中央に表示させ、その左右にジャケット写真画像ＪＰ３及びＪＰ１を表示させる。
【００８２】
一方ＣＰＵ２１は、傾きβが負であり且つ傾きβの絶対値が所定値以上である場合は、タッチパネル１２に表示させるジャケット写真画像ＪＰを右から左にスクロールし、選択するアルバムを前のアルバムに切り替える。
【００８３】
またＣＰＵ２１は、ユーザが筐体１１を傾け続けている間、傾きβに応じたアルバムの切り替えを連続して行う。そしてユーザが図６（Ｂ）に示すように、筐体１１の傾きを元の状態に戻すと、ＣＰＵ２１は、筐体１１が傾いていないことを認識し、選択するアルバムの切り替えを停止するようになされている。
【００８４】
またＣＰＵ２１が、例えば動画を再生するアプリケーションを起動し、動画を再生しているとする。このとき図７（Ａ）に示すように、ＣＰＵ２１は、タッチパネル１２に再生している動画ＰＶを表示させている。
【００８５】
ここで傾き検出モードのとき、ユーザが筐体１１を例えば時計周りに傾けたとする。このときＣＰＵ２１は、上述したように正の傾きβを検出する。そしてＣＰＵ２１は、正の傾きβに応じて、動画ＰＶを早送りで再生して表示させる。
【００８６】
一方ＣＰＵ２１は、検出した傾きβが負であることを認識すると、動画ＰＶを早戻しで再生して表示させる。尚ＣＰＵ２１は、傾きβの絶対値が大きいほど動画ＰＶの早送り又は早戻しの速度を早くし、傾きβの絶対値が小さいほど動画ＰＶの早送り又は早戻しの速度を遅くするようになされている。
【００８７】
またＣＰＵ２１は、ユーザが筐体１１を傾け続けている間、傾きβに応じた動画ＰＶの早送り又は早戻しを継続して行う。そしてユーザが図７（Ｂ）に示すように、筐体１１の傾きを元の状態に戻すと、ＣＰＵ２１は、筐体１１が傾いていないことを認識し、再生する動画ＰＶの早送り又は早戻しを停止するようになされている。
【００８８】
またＣＰＵ２１が、例えば画像を閲覧するアプリケーションを起動し、図８（Ａ）に示すように、タッチパネル１２に画像ＣＰ（ＣＰ０及びＣＰ１）を右から左に並べて表示させているとする。
【００８９】
ここで傾き検出モードのとき、ユーザが筐体１１を例えば時計周りに傾けたとする。このときＣＰＵ２１は、上述したように正の傾きβを検出する。そしてＣＰＵ２１は、正の傾きβに応じて、画像ＣＰを左から右にスクロールさせる。
【００９０】
一方ＣＰＵ２１は、傾きβが負の場合は、画像ＣＰを右から左にスクロールさせるようになされている。尚ＣＰＵ２１は、傾きβの絶対値が大きいほど画像ＣＰのスクロール速度を早くし、傾きβの絶対値が小さいほど画像ＣＰのスクロール速度を遅くするようになされている。
【００９１】
またＣＰＵ２１は、ユーザが筐体１１を傾け続けている間、傾きβに応じた画像ＣＰのスクロールを継続して行う。そしてユーザが図８（Ｂ）に示すように、筐体１１の傾きを元の状態に戻すと、ＣＰＵ２１は筐体１１が傾いていないことを認識し、画像ＣＰのスクロールを停止する。
【００９２】
このようにＣＰＵ２１は、各種アプリケーションにおいて、検出した傾きβに応じて所定の処理を実行するようになされている。
【００９３】
［１−３．傾き検出処理手順］
次に上述した情報処理装置１０における傾き検出処理での動作処理手順（これを、傾き検出処理手順とも呼ぶ）ＲＴ１を、図９に示すフローチャートを用いて詳しく説明する。ちなみにこの傾き検出処理手順ＲＴ１は、ＣＰＵ２１が不揮発性メモリ２２にインストールされたプログラムに従って実行するものである。
【００９４】
ＣＰＵ２１は、例えば各種アプリケーションが起動されると、傾き検出処理手順ＲＴ１をステップＳＰ０から開始して、次のステップＳＰ１に移る。
【００９５】
ステップＳＰ１においてＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて、タッチパネル１２の表示面における暗領域Ｂｋ及び中間領域Ｂｍを検出する。そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐを検出し、これに基づいて当該表示面内の左右両側に物体が接触しているかどうかを判断する。
【００９６】
このステップＳＰ１において否定結果が得られると、このことはユーザにより傾き検出モードに切り替えるための操作が行われていないことを意味する。このときＣＰＵ２１はステップＳＰ１に戻り、タッチパネル１２の表示面内の左右両側に物体が接触されるまで待ち受ける。
【００９７】
一方ステップＳＰ１においてタッチパネル１２の表示面内の左右両側に物体が接触していることより肯定結果が得られると、このことはユーザにより傾き検出モードに切り替えるための操作が行われたことを意味し、このときＣＰＵ２１は、ステップＳＰ２に移る。
【００９８】
ステップＳＰ２においてＣＰＵ２１は、傾き検出モードに切り替わり、中間領域Ｂｍの重心Ｍｐを検出する。そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐに基づいて左側接触物体の角度αＬ及び右側接触物体の角度αＲを算出し、これを左側開始角度及び右側開始角度として設定する。
【００９９】
またＣＰＵ２１は、このときの暗領域Ｂｋの重心Ｋｐ、つまり接触物体がタッチパネル１２の表示面に接触している部分の重心を開始重心として設定する。そしてＣＰＵ２１は、ステップＳＰ３に移る。
【０１００】
ステップＳＰ３においてＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて、接触物体の角度αが変化したかどうかを判断する。
【０１０１】
具体的にＣＰＵ２１は、左側接触物体の角度αＬ及び右側接触物体の角度αＲを算出する。そしてＣＰＵ２１は、左側開始角度と左側接触物体の角度αＬとの差分ｄＬ及び右側開始角度と右側接触物体の角度との差分ｄＲとを算出し、算出結果に基づいて、接触物体の角度αが変化したかどうかを判断する。
【０１０２】
このステップＳＰ３において否定結果が得られると、このことはユーザが指の角度を変化させず筐体１１を傾けていないことを意味し、このときＣＰＵ２１はステップＳＰ３に戻り、接触物体の角度αが変化するまで待ち受ける。
【０１０３】
一方ステップＳＰ３において肯定結果が得られると、このことはユーザが指の角度を変化させたことを意味し、このときＣＰＵ２１はステップＳＰ４に移る。
【０１０４】
ステップＳＰ４においてＣＰＵ２１は、開始重心と暗領域Ｂｋの重心Ｋｐとの距離を算出し、算出結果に基づいて接触物体がタッチパネル１２の表示面に接触している部分の重心が移動したかどうかを判断する。
【０１０５】
このステップＳＰ４において肯定結果が得られると、このことは、ユーザが指の角度を変化させたものの筐体１１を傾けていないことを意味する。このときＣＰＵ２１は、傾き検出モードを解除してステップＳＰ１へ戻り、再びタッチパネル１２の表示面内の左右両側に物体が接触されるまで待ち受ける。
【０１０６】
一方ステップＳＰ４において否定結果が得られると、このことは、ユーザが筐体１１を傾けたことを意味し、このときＣＰＵ２１はステップＳＰ５に移る。
【０１０７】
ステップＳＰ５においてＣＰＵ２１は、左側開始角度と左側接触物体の角度αＬとの差分ｄＬと、右側開始角度と右側接触物体の角度との差分ｄＲとを比較し、差分ｄＬが差分ｄＲよりも大きいかどうかを判断する。
【０１０８】
このステップＳＰ５において差分ｄＬが差分ｄＲよりも大きいことより肯定結果が得られると、このことは、差分ｄＬが筐体１１の傾きの変化を正確に反映していることを意味し、このときＣＰＵ２１は、ステップＳＰ６に移る。
【０１０９】
ステップＳＰ６においてＣＰＵ２１は、左側開始角度と左側接触物体の角度αＬとの差分ｄＬを筐体１１の傾きβとして検出し、ステップＳＰ８に移る。
【０１１０】
一方差分ｄＬが差分ｄＲよりも小さいことよりステップＳＰ５において否定結果が得られると、このことは、差分ｄＲが筐体１１の傾きの変化を正確に反映していることを意味し、このときＣＰＵ２１は、ステップＳＰ７に移る。
【０１１１】
ステップＳＰ７においてＣＰＵ２１は、右側開始角度と右側接触物体の角度αＲとの差分ｄＲを筐体１１の傾きβとして検出し、ステップＳＰ８に移る。
【０１１２】
ステップＳＰ８においてＣＰＵ２１は、筐体１１の傾きβに応じて所定の処理を実行し、ステップＳＰ９に移って傾き検出処理手順ＲＴ１を終了する。
【０１１３】
このような傾き検出処理手順ＲＴ１に従って、ＣＰＵ２１は、筐体１１の傾きβを検出するようになされている。
【０１１４】
［１−４．第１の実施の形態における動作及び効果］
以上の構成において情報処理装置１０は、光センサ１２Ｂにより受光した光の光強度に基づいて、筐体１１の表面に設けられたタッチパネル１２の表示面に接触している左側接触物体及び右側接触物体の形状を認識する。
【０１１５】
そして情報処理装置１０は、左側接触物体の形状に基づいて、タッチパネル１２の表示面上での左側接触物体の角度αＬを検出し、右側接触物体の形状に基づいて、タッチパネル１２の表示面上での右側接触物体の角度αＲを検出する。
【０１１６】
これにより情報処理装置１０は、ユーザが筐体１１を把持するときにタッチパネル１２の表示面に接触する左指の角度及び右指の角度を検出することができる。
【０１１７】
また情報処理装置１０は、タッチパネル１２の表示面内の左右両側に物体が接触したことを認識すると、ユーザが筐体１１を傾けようとしていると認識する。そしてこのときの左側接触物体の角度αＬ及び右側接触物体の角度αＲを基準として、左側接触物体の角度αＬの変化及び右側接触物体の角度αＲの変化を検出する。
【０１１８】
そして情報処理装置１０は、左側接触物体の角度αＬの変化及び右側接触物体の角度αＲの変化のうち、変化の大きい方を筐体１１の傾きβとして検出する。
【０１１９】
これにより情報処理装置１０は、ユーザが筐体１１を傾け始めた時点からの筐体１１を把持する指の角度の変化を検出することができ、この角度が筐体１１が傾けられることに応じて変化することから、この角度の変化に基づいて筐体１１の傾きβを正確に検出することができる。
【０１２０】
また情報処理装置１０は、変化の大きい方の指の角度の変化を筐体１１の傾きβとして検出することにより、筐体１１の傾きの変化を正確に反映している指の角度の変化を筐体１１の傾きβとして検出でき、筐体１１の傾きβを一段と正確に検出することができる。
【０１２１】
さらに情報処理装置１０は、接触物体の形状に基づいて、接触物体がタッチパネル１２の表示面に接触している部分の重心を検出し、接触物体の角度αの変化に伴って当該重心が移動したかどうかを判別する。
【０１２２】
そして情報処理装置１０は、接触物体の角度αの変化に伴って当該重心が移動していないと判別した場合にのみ、筐体１１が傾けられていると認識し、接触物体の角度αの変化に基づいて筐体１１の傾きβを検出する。
【０１２３】
これにより情報処理装置１０は、ユーザが筐体１１を傾けず指の角度を変化させるのみの操作（例えばドラッグ操作）を行った場合に、筐体１１が傾けられていると誤認識するのを防ぐことができる。
【０１２４】
ところで、例えばジャイロセンサなど傾き検出センサを用いる場合、ユーザが意図せず筐体１１を傾けてしまった場合にも、筐体１１の傾きβを検出して傾きβに応じた処理を実行してしまうことがある。
【０１２５】
これに対して情報処理装置１０は、タッチパネル１２の表示面内の左右両側に物体が接触していることを認識した場合のみ、傾き検出モードに切り替わって筐体１１の傾きβを検出し、傾きβに応じて各種処理を実行する。
【０１２６】
これにより情報処理装置１０は、ユーザが傾き検出モードに切り替えるための操作としてタッチパネル１２の表示面内の左右両側に指を接触させている場合のみ筐体１１の傾きβに応じた処理を実行できる。この結果、情報処理装置１０は、ユーザが意図していないのに傾きβに応じた処理を実行することを防ぐことができる。
【０１２７】
また情報処理装置１０は、ユーザが意図せず筐体１１を傾けた場合には傾きβに応じた処理を実行しないことから、音量の調整などユーザが意図しないのに実行すると危険な処理でも、傾きβに応じて実行する処理として割り当てることができる。
【０１２８】
また傾き検出センサを用いる場合、ユーザが意図せず筐体１１を傾けた場合に傾きβに応じた処理を実行してしまうことを防ぐために、所定のボタンが押下されたときやメニュー画面で設定されたときなどに傾きβに応じた処理を実行することなども考えられる。
【０１２９】
しかしながらこの方法では、所定のボタンを押下させたりメニュー画面で設定させたりするなどユーザに煩雑な操作を行わせなければ、傾きβに応じた処理を実行することができない。
【０１３０】
これに対して情報処理装置１０は、ユーザにタッチパネル１２の表示面内の左右両側に指を接触させるという簡単な操作を行わせるだけで、筐体１１の傾きβに応じた処理を実行することができる。
【０１３１】
さらに情報処理装置１０では、タッチパネル１２の検出結果を用いてＣＰＵ２１が筐体１１の傾きβを検出することができるので、別途ジャイロセンサを用いる場合と比較して簡易な構成により筐体１１の傾きβを検出することができる。
【０１３２】
以上の構成によれば情報処理装置１０は、タッチパネル１２の表示面に接触している物体の形状を認識し、これに基づいて、当該表示面上での接触物体の角度αを検出するようにした。そして情報処理装置１０は、接触物体の角度αの変化に基づいて、筐体１１の傾きβを検出するようにした。
【０１３３】
これにより情報処理装置１０は、ユーザが筐体１１を把持するときにタッチパネル１２の表示面に接触する指の角度を検出することができ、この角度が筐体１１が傾けられることに応じて変化することから、この角度の変化に基づいて筐体１１の傾きβを検出することができる。かくして、情報処理装置１０は、傾き検出センサを用いることなく筐体１１の傾きβを検出することができる。
【０１３４】
［１−５．第１の実施の形態における機能構成］
ここで、上述した傾き検出処理に主眼を置いた情報処理装置１０の機能構成について説明する。図１０に示すように、情報処理装置１０は、認識部３１、角度検出部３２、重心検出部３３、判別部３４、傾き検出部３５、制御部３６として機能する。
【０１３５】
情報処理装置１０では、上述した光センサ１２Ｂ及びＣＰＵ２１が認識部３１として機能する。認識部３１は、情報処理装置１０の筐体１１の所定面（この実施の形態では、筐体１１の表面に設けられているタッチパネル１２の表示面）に接触している物体の形状を認識する。
【０１３６】
また情報処理装置１０では、上述したＣＰＵ２１が角度検出部３２として機能する。角度検出部３２は、認識部３１により認識された物体の形状に基づいて、所定面上での物体の角度を検出する。
【０１３７】
さらに情報処理装置１０では、上述したＣＰＵ２１が重心検出部３３として機能する。重心検出部３３は、認識部３１により認識された物体の形状に基づいて、物体の所定面上に接触している部分の重心を検出する。
【０１３８】
さらに情報処理装置１０では、上述したＣＰＵ２１が判別部３４として機能する。判別部３４は、角度検出部３２により検出された物体の角度の変化に伴って、重心検出部３３により検出された重心が移動したかどうかを判別する。
【０１３９】
さらに情報処理装置１０では、上述したＣＰＵ２１が傾き検出部３５として機能する。傾き検出部３５は、判別部３４により物体の角度の変化に伴って重心が移動していないと判別された場合に、物体の角度の変化に基づいて、筐体１１の傾きを検出する。
【０１４０】
さらに情報処理装置１０では、上述したＣＰＵ２１が制御部３６として機能する。制御部３６は、認識部３１により複数の物体の形状が認識されている場合にのみ、傾き検出部３５により検出された筐体１１の傾きに応じて所定の処理を実行する。
【０１４１】
このような機能構成により、情報処理装置１０は、上述した傾き検出処理を機能的に実現し得るようになされている。
【０１４２】
＜２．第２の実施の形態＞
次に本発明の第２の実施の形態を詳述する。この第２の実施の形態においては、情報処理装置１０の傾き検出処理が異なる点以外、上述した第１の実施の形態と同様であり、同様部分である情報処理装置１０の構成（図２）の説明は省略する。
【０１４３】
［２−１．傾き検出処理］
以下、第２の実施の形態における傾き検出処理について詳しく説明する。この情報処理装置１０は各種アプリケーションが起動されると、傾き検出処理を実行するようになされている。また、この情報処理装置１０は、通常横向きで利用されるようになっているが、横向きだけでなく縦向きでも利用可能となっている。
【０１４４】
ＣＰＵ２１は、例えば画像を閲覧するアプリケーションを起動すると、図１１（Ａ）に示すように、筐体１１が横向きで利用されるのに合わせてタッチパネル１２に画像ＣＰを表示させる。
【０１４５】
ここでユーザが例えば筐体１１を横向きで把持し、タッチパネル１２の表示面に対してユーザの右指を接触させていたとする。
【０１４６】
このときＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて上述した３値化処理を行い、図１１（Ｂ）に示すようにタッチパネル１２の表示面における暗領域Ｂｋ及び中間領域Ｂｍを検出する。
【０１４７】
ＣＰＵ２１は、暗領域Ｂｋを検出すると、タッチパネル１２の表示面に物体が接触していることを認識する。
【０１４８】
そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐを検出し、これらに基づいて接触物体の角度αを例えば１２０度であると算出する。そしてＣＰＵ２１は、接触物体の角度αと暗領域Ｂｋの重心Ｋｐとを不揮発性メモリ２２に記録する。
【０１４９】
このようにＣＰＵ２１は、タッチパネル１２の表示面に物体が接触していることを認識するごとに、暗領域Ｂｋの重心Ｋｐ及び接触物体の角度αを検出し、これらを不揮発性メモリ２２に記録する。
【０１５０】
そしてＣＰＵ２１は、不揮発性メモリ２２から前回算出した接触物体の角度αと今回算出した接触物体の角度αとを読み出してこれらの差分を算出し、算出結果に基づいて接触物体の角度αが変化したかどうかを判別する。
【０１５１】
図４（Ａ）及び（Ｂ）に示す場合、ユーザは、前回接触物体の角度αが算出されてから今回接触物体の角度αが算出されるまでの間、タッチパネル１２の表示面に対して右指の角度を変えずに接触させ続けていたとする。このとき前回算出された接触物体の角度αと今回算出された接触物体の角度αとが変わらず、これらの差分が０度となるため、ＣＰＵ２１は、接触物体の角度αが変化していないと判別する。
【０１５２】
ＣＰＵ２１は、接触物体の角度αが変化していないと判別すると、再び光センサ１２Ｂにより受光された光の光強度に基づいて接触物体の角度αを検出して、接触物体の角度αが変化したかどうかを判別する。ＣＰＵ２１は、この処理を接触物体の角度αが変化するまで繰り返すようになされている。
【０１５３】
ここで、例えば図１１（Ｃ）に示すように、図１１（Ａ）に示した状態から、ユーザが指先の腹（すなわちタッチパネル１２の表示面に接触している部分）を中心として、筐体１１を時計回りに３０度傾けたとする。
【０１５４】
このときＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて上述した３値化処理を行い、図１１（Ｄ）に示すようにタッチパネル１２の表示面における暗領域Ｂｋ及び中間領域Ｂｍを検出する。そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐを検出する。
【０１５５】
そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐに基づいて接触物体の角度αを例えば１５０度であると算出し、接触物体の角度αと暗領域Ｂｋの重心Ｋｐとを不揮発性メモリ２２に記録する。
【０１５６】
そしてＣＰＵ２１は、不揮発性メモリ２２から、前回（図１１（Ｂ））算出した接触物体の角度α（１２０度）と今回算出した接触物体の角度α（１５０度）とを読み出し、これらの差分を３０度であると算出して、接触物体の角度αが変化したことを判別する。
【０１５７】
ＣＰＵ２１は、接触物体の角度αが変化したと判別すると、暗領域Ｂｋの重心Ｋｐ、つまり接触物体がタッチパネル１２の表示面に接触している部分の重心が移動したかどうかを判別する。具体的にＣＰＵ２１は、不揮発性メモリ２２から前回検出した重心Ｋｐと今回検出した重心Ｋｐとの距離を算出し、算出結果に基づいて重心Ｋｐが移動したかどうかを判別する。
【０１５８】
図１１（Ｄ）に示す場合、ユーザが指の接触している部分の重心を中心として筐体１１を傾けたため、前回（図１１（Ｂ））の状態から指の接触している部分の重心は移動していない。従ってＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐが移動していないと判別する。
【０１５９】
ＣＰＵ２１は、接触物体の角度αが変化し且つ暗領域Ｂｋの重心Ｋｐが移動していないことを判別すると、筐体１１が傾けられていると認識する。
【０１６０】
一方ＣＰＵ２１は、接触物体の角度αが変化し且つ重心Ｋｐが移動したことを判別した場合は、ユーザが指の角度のみを変化させる操作を行い、筐体１１は傾けられていないと認識するようになされている。
【０１６１】
ＣＰＵ２１は、筐体１１が傾けられていると認識すると、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。具体的にＣＰＵ２１は、不揮発性メモリ２２から前回算出した接触物体の角度αと前々回算出した接触物体の角度αとを読み出してこれらの差分を算出し、算出結果に基づいて、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。
【０１６２】
図１１（Ｄ）に示す場合、前回（図１１（Ｂ））の接触物体の角度αと、その前（前々回）に算出した接触物体の角度αとの差分が０度であるため、ＣＰＵ２１は、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたと判別する。
【０１６３】
ＣＰＵ２１は、前回接触物体の角度αを算出したとき接触物体の動きが止まっていたことを判別すると、そのときがユーザが指の角度を変化させ始めた時点、つまり筐体１１を傾け始めた時点であると認識する。そしてＣＰＵ２１は、前回算出した接触物体の角度α（１２０度）を開始角度として設定する。
【０１６４】
そしてＣＰＵ２１は、開始角度と今回算出した接触物体の角度αとの差分ｄを算出し、この差分ｄを筐体１１の傾きβとして検出する。図１１（Ｄ）に示す場合、開始角度が１２０度であり、今回算出した指の角度αが１５０度であるため、ＣＰＵ２１は、差分ｄが３０度であると算出し、筐体１１の傾きβを３０度として検出する。
【０１６５】
そしてＣＰＵ２１は、筐体１１の傾きβの絶対値が９０度以上かどうかを判別する。図１１（Ｄ）に示す場合、ＣＰＵ２１は、筐体１１の傾きβが３０度であることより、筐体１１の傾きβの絶対値が９０度以上ではないと判別する。
【０１６６】
ＣＰＵ２１は、筐体１１の傾きβの絶対値が９０度以上ではないことを判別すると、筐体１１の傾きβに応じた処理を行わず、再び上述した処理を行って筐体１１の傾きβを検出するようになされている。
【０１６７】
ここで、例えば図１１（Ｅ）に示すように、ユーザが図１１（Ｃ）に示す状態から指の接触している部分を中心としてさらに筐体１１を傾け、筐体１１が縦向きになったとする。
【０１６８】
このときＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて上述した３値化処理を行い、図１１（Ｆ）に示すように、タッチパネル１２の表示面における暗領域Ｂｋ及び中間領域Ｂｍを検出する。そしてＣＰＵ２１は、上述したように接触物体の角度αを例えば２１０度であると算出し、接触物体の角度αと暗領域Ｂｋの重心Ｋｐとを不揮発性メモリ２２に記録する。
【０１６９】
そしてＣＰＵ２１は、前回（図１１（Ｄ））算出した接触物体の角度α（１５０度）と今回算出した接触物体の角度α（２１０度）との差分を６０度であると算出し、接触物体の角度αが変化したことを判別する。
【０１７０】
そしてＣＰＵ２１は、接触物体の角度αが変化したことを判別すると、重心Ｋｐが移動したかどうかを判別する。図１１（Ｆ）に示す場合、ＣＰＵ２１は、前回算出した重心Ｋｐと今回算出した重心Ｋｐとに基づいて、重心Ｋｐが移動していないと判別する。
【０１７１】
そしてＣＰＵ２１は、重心Ｋｐが移動していないと判別すると、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。図１１（Ｆ）に示す場合、ＣＰＵ２１は、前回算出した接触物体の角度α（１５０度）と前々回算出した接触物体の角度α（１２０度）との差分が３０度であることを算出し、前回接触物体の角度αを算出したとき、接触物体が動いていたと判別する。
【０１７２】
ＣＰＵ２１は、前回接触物体の角度αを算出したとき、接触物体が動いていたと判別すると、そのとき既にユーザが筐体１１を傾けている最中の状態であり、開始角度が既に設定されていると認識する。そしてＣＰＵ２１は、開始角度（１２０度）と今回算出した接触物体の角度α（２１０度）との差分ｄが９０度であることを算出し、筐体１１の傾きβが９０度であるとして検出する。
【０１７３】
そしてＣＰＵ２１は、筐体１１の傾きβの絶対値が９０度以上であることを判別すると、ユーザにより筐体１１が縦向きで把持されていると認識し、筐体１１の傾きβに応じて、画像ＣＰを９０度回転させる。
【０１７４】
具体的にＣＰＵ２１は、傾きβが９０度の場合、筐体１１は時計回りに傾けられていることから、図１１（Ｅ）に示すように、画像ＣＰを反時計回りに９０度回転させる。一方ＣＰＵ２１は、傾きβが−９０度の場合、筐体１１は反時計回りに傾けられていることから、画像ＣＰを時計回りに９０度回転させる。
【０１７５】
これによりＣＰＵ２１は、ユーザが筐体１１を傾けて縦向きにしても、画像ＣＰを水平方向に合わせて表示させることができるので、ユーザに画像ＣＰを閲覧させやすくすることができる。
【０１７６】
尚ＣＰＵ２１は、画像ＣＰを回転させたときは、画像ＣＰがタッチパネル１２の表示面内に収まるように画像ＣＰを縮小させて表示させるようになされている。
【０１７７】
このようにＣＰＵ２１は、傾きβを検出し、傾きβに応じて所定の処理を実行するようになされている。
【０１７８】
［２−２．傾き検出処理手順］
次に上述した情報処理装置１０における傾き検出処理での動作処理手順（これを、傾き検出処理手順とも呼ぶ）ＲＴ２を、図１２に示すフローチャートを用いて詳しく説明する。ちなみにこの傾き検出処理手順ＲＴ２は、ＣＰＵ２１が不揮発性メモリ２２にインストールされたプログラムに従って実行するものである。
【０１７９】
ＣＰＵ２１は、例えば各種アプリケーションが起動されると、傾き検出処理手順ＲＴ２をステップＳＰ１００から開始して、次のステップＳＰ１０１に移る。
【０１８０】
ステップＳＰ１０１においてＣＰＵ２１は、光センサ１２Ｂにより受光された光の光強度に基づいて、タッチパネル１２の表示面における暗領域Ｂｋ及び中間領域Ｂｍを検出する。そしてＣＰＵ２１は、検出結果に基づいてタッチパネル１２の表示面に物体が接触しているかどうかを判断する。
【０１８１】
このステップＳＰ１０１において否定結果が得られると、このことはタッチパネル１２の表示面にユーザの指が接触されていないことを意味する。このときＣＰＵ２１はステップＳＰ１０１に戻り、タッチパネル１２の表示面に物体が接触されるまで待ち受ける。
【０１８２】
一方ステップＳＰ１０１において肯定結果が得られると、このことはタッチパネル１２の表示面にユーザの指が接触されたことを意味し、このときＣＰＵ２１は、ステップＳＰ１０２に移る。
【０１８３】
ステップＳＰ１０２においてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐを検出する。そしてＣＰＵ２１は、暗領域Ｂｋの重心Ｋｐ及び中間領域Ｂｍの重心Ｍｐに基づいて接触物体の角度αを算出し、ステップＳＰ１０３に移る。
【０１８４】
ステップＳＰ１０３においてＣＰＵ２１は、前回算出した接触物体の角度αと今回算出した接触物体の角度αとの差分を算出し、算出結果に基づいて接触物体の角度αが変化したかどうかを判断する。
【０１８５】
このステップＳＰ１０３において否定結果が得られると、このことは、ユーザが指の角度を変化させず筐体１１を傾けていないことを意味し、このときＣＰＵ２１はステップＳＰ１０１へ戻り、再びタッチパネル１２の表示面に物体が接触されるまで待ち受ける。
【０１８６】
一方ステップＳＰ１０３において肯定結果が得られると、このことはユーザが指の角度を変化させたことを意味し、このときＣＰＵ２１はステップＳＰ１０４へ移る。
【０１８７】
ステップＳＰ１０４においてＣＰＵ２１は、前回検出した暗領域Ｂｋの重心Ｋｐと今回検出した暗領域Ｂｋの重心Ｋｐとの距離を算出し、算出結果に基づいて接触物体がタッチパネル１２の表示面に接触している部分の重心が移動したかどうかを判断する。
【０１８８】
このステップＳＰ１０４において否定結果が得られると、このことは、ユーザが指の角度を変化させたものの筐体１１を傾けていないことを意味する。このときＣＰＵ２１はステップＳＰ１０１へ戻り、再びタッチパネル１２の表示面に物体が接触されるまで待ち受ける。
【０１８９】
一方ステップＳＰ１０４において肯定結果が得られると、このことは、ユーザが筐体１１を傾けていることを意味し、このときＣＰＵ２１はステップＳＰ１０５に移る。
【０１９０】
ステップＳＰ１０５においてＣＰＵ２１は、前々回算出した接触物体の角度αと前回算出した接触物体の角度αとの差分を算出し、算出結果に基づいて前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判断する。
【０１９１】
このステップＳＰ１０５において肯定結果が得られると、このことは、前回接触物体の角度αを算出したときが、ユーザが筐体１１を傾け始めた時点であることを意味し、このときＣＰＵ２１はステップＳＰ１０６に移る。
【０１９２】
ステップＳＰ１０６においてＣＰＵ２１は、前回の接触物体の角度αを開始角度として設定してステップＳＰ１０７に移る。
【０１９３】
一方ステップＳＰ１０５において否定結果が得られると、このことは、前回接触物体の角度αを算出したとき既にユーザが筐体１１を傾けている最中の状態であり、開始角度が既に設定されていることを意味し、このときＣＰＵ２１はステップＳＰ１０７に移る。
【０１９４】
ステップＳＰ１０７においてＣＰＵ２１は、開始角度と現在の接触物体の角度αとの差分ｄを算出し、この差分ｄを筐体１１の傾きβとして検出して、ステップＳＰ１０８に移る。
【０１９５】
ステップＳＰ１０８においてＣＰＵ２１は、筐体１１の傾きβの絶対値が９０度以上かどうかを判断する。
【０１９６】
このステップＳＰ１０８において否定結果が得られると、このことはユーザにより筐体１１が横向きで把持されていることを意味する。このときＣＰＵ２１は、ステップＳＰ１０１へ戻り、再びタッチパネル１２の表示面に物体が接触されるまで待ち受ける。
【０１９７】
一方ステップＳＰ１０８において肯定結果が得られると、このことはユーザにより筐体１１が縦向きで把持されていることを意味し、このときＣＰＵ２１は、ステップＳＰ１０９に移る。
【０１９８】
ステップＳＰ１０９においてＣＰＵ２１は、傾きβに応じて、タッチパネル１２に表示させている画像ＣＰを時計回り又は反時計回りに９０度回転させ、ステップＳＰ１１０に移って傾き検出処理手順ＲＴ２を終了する。
【０１９９】
このような傾き検出処理手順ＲＴ２に従って、ＣＰＵ２１は、筐体１１の傾きを検出するようになされている。
【０２００】
［２−３．第２の実施の形態における動作及び効果］
以上の構成において情報処理装置１０は、タッチパネル１２の表示面に接触している物体の形状を認識するごとに、当該接触物体の形状に基づいて当該表示面上での接触物体の角度αを検出する。
【０２０１】
そして情報処理装置１０は、前回検出した接触物体の角度αと今回検出した接触物体の角度αとを比較し、接触物体の角度αが変化したと判別すると、さらに、前回接触物体の角度αを検出したとき接触物体の動きが止まっていたかどうかを判別する。
【０２０２】
そして情報処理装置１０は、前回接触物体の角度αを検出したとき接触物体の動きが止まっていたと判別すると、そのときがユーザが筐体１１を傾け始めた時点であると認識し、そのときの接触物体の角度αを基準として接触物体の角度αの変化を検出する。
【０２０３】
これにより情報処理装置１０は、ユーザが筐体１１を傾け始めた時点からの筐体１１を把持する指の角度の変化を検出することができる。
【０２０４】
この結果、情報処理装置１０は、ユーザが筐体１１を片手で把持している場合においても、筐体１１が傾けられることに応じて変化する筐体１１を把持する指の角度の変化に基づいて、筐体１１の傾きβを正確に検出することができる。
【０２０５】
また情報処理装置１０は、接触物体の形状に基づいて、接触物体がタッチパネル１２の表示面に接触している部分の重心を検出し、接触物体の角度αの変化に伴って当該重心が移動したかどうかを判別する。
【０２０６】
そして情報処理装置１０は、接触物体の角度αの変化に伴って当該重心が移動していないと判別した場合にのみ、筐体１１が傾けられていると認識し、接触物体の角度αの変化に基づいて筐体１１の傾きβを検出する。
【０２０７】
これにより情報処理装置１０は、ユーザが筐体１１を片手で把持している場合においても、ユーザが筐体１１を傾けず指の角度を変化させるのみの操作を行った場合に、筐体１１が傾けられていると誤認識するのを防ぐことができる。
【０２０８】
なお、第２の実施の形態における情報処理装置１０の機能構成は、第１の実施の形態の情報処理装置１０（図１０）に比べて制御部３６がないこと以外は同様である。すなわち第２の実施の形態における情報処理装置１０は、認識部３１、角度検出部３２、重心検出部３３、判別部３４、傾き検出部３５として機能するようになされている。
【０２０９】
＜３．他の実施の形態＞
［３−１．他の実施の形態１］
なお上述した第１の実施の形態では、ＣＰＵ２１は、左側接触物体の角度αＬの変化及び右側接触物体の角度αＲの変化を検出し、変化の大きい方を筐体１１の傾きβとして検出するようにした。
【０２１０】
これに限らずＣＰＵ２１は、左側接触物体の角度αＬの変化及び右側接触物体の角度αＲの変化を検出し、これらに基づいて、この他種々の方法で筐体１１の傾きβを検出するようにしてもよい。
【０２１１】
例えばＣＰＵ２１は、左側接触物体の角度αＬの変化及び右側接触物体の角度αＲの変化の平均値を算出し、これを筐体１１の傾きβとして検出するようにしてもよい。
【０２１２】
また例えばＣＰＵ２１は、左側接触物体及び右側接触物体のうち、タッチパネル１２の表示面に接触している部分の重心の移動距離が短い方の角度の変化を筐体１１の傾きβとして検出するようにしてもよい。
【０２１３】
これは、接触している部分の重心の移動距離が短い指の方が筐体１１を傾ける際の回転中心となっており、その角度の変化の方が筐体１１の傾きの変化をより正確に反映していることをふまえている。
【０２１４】
また例えばＣＰＵ２１は、左側接触物体及び右側接触物体のうち、タッチパネル１２の表示面に接触している部分の面積が小さい方の角度の変化を筐体１１の傾きβとして検出するようにしてもよい。
【０２１５】
これは、接触している部分の面積が大きい方の指は筐体１１を強く把持しており、筐体１１が傾けられてもその角度の変化が小さいため、筐体１１の傾きの変化が反映されにくいことをふまえている。
【０２１６】
またこれに限らずＣＰＵ２１は、３つ以上の接触物体を認識してそれぞれの接触物体の角度αを検出し、最も変化の大きいものを筐体１１の傾きβとして検出するようにしてもよい。
【０２１７】
［３−２．他の実施の形態２］
また上述した第１の実施の形態では、ＣＰＵ２１は、タッチパネル１２の表示面内の左右両側に物体が接触していることを判別すると、傾き検出モードに切り替わり、筐体１１の傾きβを検出するようにした。
【０２１８】
これに限らずＣＰＵ２１は、タッチパネル１２の表示面内の左右両側かどうかにかかわらず、当該表示面に複数の物体が接触していることを判別すると、傾き検出モードに切り替わり、筐体１１の傾きβを検出するようにしてもよい。
【０２１９】
またこれに限らずＣＰＵ２１は、タッチパネル１２の表示面に対して所定の操作（例えば接触物体が円を描くように移動する操作など）が行われたことを判別すると、傾き検出モードに切り替わり、筐体１１の傾きβを検出するようにしてもよい。
【０２２０】
［３−３．他の実施の形態３］
さらに上述した第１及び第２の実施の形態では、ＣＰＵ２１は、音量の調整、選択するアルバムの切り替え、動画の早送り及び早戻し、画像のスクロール、画像の回転など種々の処理を傾きβに応じて実行するようにした。
【０２２１】
これに限らずＣＰＵ２１は、例えば動画のチャプタ送り及びチャプタ戻しや傾きを利用するゲームなど、この他種々の処理を傾きβに応じて実行するようにしてもよい。
【０２２２】
また上述した第１の実施の形態では、ＣＰＵ２１は、傾きβの絶対値に応じて、例えば音量を調整する量を変更するなど、種々の処理を行う度合いを調整するようにした。
【０２２３】
これに限らずＣＰＵ２１は、傾きβが正の場合は音量を所定量上げ、傾きβが負の場合は音量を所定量下げるなど、傾きβの絶対値にかかわらず、傾きβが正であるか負であるかのみに応じて、種々の処理を実行するようにしてもよい。
【０２２４】
［３−４．他の実施の形態４］
さらに上述した第１及び第２の実施の形態では、ＣＰＵ２１は、接触物体の角度αが変化しても接触物体がタッチパネル１２の表示面に接触している部分の重心が移動していない場合にのみ、筐体１１の傾きβを検出するようにした。
【０２２５】
これに限らずＣＰＵ２１は、接触物体がタッチパネル１２の表示面に接触している部分の重心が移動したかどうかにかかわらず、接触物体の角度αが変化したら筐体１１の傾きβを検出するようにしてもよい。
【０２２６】
［３−５．他の実施の形態５］
さらに上述した第１及び第２の実施の形態では、ＣＰＵ２１は、接触物体がタッチパネル１２の表示面に接触している部分の重心と、接触物体が当該表示面に近接している部分の重心とに基づいて、接触物体の角度αを検出するようにした。
【０２２７】
これに限らず、ＣＰＵ２１は、この他種々の方法で接触物体の角度αを検出するようにしてもよい。例えばＣＰＵ２１は、タッチパネル１２の表示面に接触している部分の形状を認識し、当該形状を囲む最も面積の小さい矩形を検出して、当該表示面上での矩形の角度から接触物体の角度αを検出するようにしてもよい。
【０２２８】
［３−６．他の実施の形態６］
さらに上述した第１及び第２の実施の形態では、光センサ方式のタッチパネル１２を用いるようにした。これに限らず、タッチパネル１２の表示面に接触している物体の形状が認識できるのであれば、例えば静電容量方式のタッチパネルなどこの他種々の方式でなるタッチパネルを用いるようにしてもよい。
【０２２９】
［３−７．他の実施の形態７］
さらに上述した第１及び第２の実施の形態では、筐体１１の表面に設けられたタッチパネル１２を用いるようにした。これに限らず、筐体１１の裏面に設けられたタッチパネルを用いるようにしてもよい。
【０２３０】
この場合ＣＰＵ２１は、筐体１１の裏面に設けられたタッチパネルに接触する物体の角度の変化に応じて筐体１１の傾きを検出する。これにより、ＣＰＵ２１は、筐体１１の裏面に接触する指の角度も筐体１１が傾けられることに応じて変化することから、この角度に基づいて筐体１１の傾きβを検出することができる。
【０２３１】
またこれに限らず、例えば、筐体１１の表面に、表示部を有する通常のタッチ操作用のタッチパネルを設け、筐体１１の裏面に、表示部を有しない傾き検出用のタッチパネルを設けてもよい。
【０２３２】
これによりＣＰＵ２１は、ユーザが筐体１１を傾けずに指の角度を変化させた場合に筐体１１が傾けられていると誤認識するのを防ぐことができる。ユーザは、筐体１１を傾けずに指の角度を変化させる場合、筐体１１の表面（通常のタッチ操作を行う面）に接触する指の角度は変化させるが、筐体１１の裏面に接触する指の角度は変化させないと想定されるためである。
【０２３３】
［３−８．他の実施の形態８］
さらに上述した第１及び第２の実施の形態では、傾き検出処理を実行するためのプログラムを不揮発性メモリ２２に記憶しておくようにした。
【０２３４】
これに限らず、これらのプログラムを例えばＣＤ（Compact Disc）などの所定の記録媒体に記録しておき、ＣＰＵ２１がこのプログラムを記録媒体から読み出して実行するようにしてもよい。また、ＣＰＵ２１がこのプログラムをインターネット上の所定のサーバからダウンロードして不揮発性メモリ２２にインストールするようにしてもよい。
【０２３５】
［３−９．他の実施の形態９］
さらに上述した第１及び第２の実施の形態では、情報処理装置としての情報処理装置１０に、認識部３１としての光センサ１２Ｂと、認識部３１、角度検出部３２、重心検出部３３、判別部３４、傾き検出部３５、制御部３６としてのＣＰＵ２１とを設けるようにした。
【０２３６】
これに限らず、同様の機能を有するのであれば、上述した各機能部を、他の種々のハードウェア又はソフトウェアにより構成するようにしてもよい。例えば、認識部３１、角度検出部３２、重心検出部３３、判別部３４、傾き検出部３５、制御部３６のそれぞれを個別のハードウェアで実現するようにしてもよい。
【０２３７】
また同様の構成を有する情報処理装置であれば、携帯型オーディオプレイヤ、ＰＤＡ(Personal Digital Assistant)、携帯電話機など、この他種々の情報処理装置に本発明を適用するようにしてもよい。
【０２３８】
［３−１０．他の実施の形態１０］
さらに、本発明は、上述した第１及び第２の実施の形態とここまで説明した他の実施の形態１乃至９とに限定されるものではない。すなわち本発明は、上述した第１及び第２の実施の形態とここまで説明した他の実施の形態１乃至９の一部または全部を任意に組み合わせた形態、もしくは一部を抽出した形態も適用範囲とする。
【０２３９】
例えば、上述した第１の実施の形態と第２の実施の形態とを組み合わせるようにしてもよい。この場合ＣＰＵ２１は、タッチパネル１２に一つの物体が接触していることを認識した際は第２の実施の形態における傾き検出処理により筐体１１の傾きβを検出し、二つの物体が接触していることを認識した際は第１の実施の形態における傾き検出処理により筐体１１の傾きβを検出すればよい。
【産業上の利用可能性】
【０２４０】
本発明の情報処理装置、傾き検出方法及び傾き検出プログラムは、例えば、携帯型オーディオプレイヤ、ＰＤＡ、携帯電話機等のその他種々の情報処理装置に適用することができる。
【符号の説明】
【０２４１】
１、１０……情報処理装置、１１……筐体、１２……タッチパネル、１２Ａ……表示部、１２Ｂ……光センサ、２１……ＣＰＵ、２２……不揮発性メモリ、３１……認識部、３２……角度検出部、３３……重心検出部、３４……判別部、３５……傾き検出部、３６……制御部、α……接触物体の角度、β……傾き。
【図１】
2010250610.tif 000003
【図２】
2010250610.tif 000004
【図３】
2010250610.tif 000005
【図４】
2010250610.tif 000006
【図５】
2010250610.tif 000007
【図６】
2010250610.tif 000008
【図７】
2010250610.tif 000009
【図８】
2010250610.tif 000010
【図９】
2010250610.tif 000011
【図１０】
2010250610.tif 000012
【図１１】
2010250610.tif 000013
【図１２】
2010250610.tif 000014