JP2010250610A - 情報処理装置、傾き検出方法及び傾き検出プログラム - Google Patents

情報処理装置、傾き検出方法及び傾き検出プログラム Download PDF

Info

Publication number
JP2010250610A
JP2010250610A JP2009100171A JP2009100171A JP2010250610A JP 2010250610 A JP2010250610 A JP 2010250610A JP 2009100171 A JP2009100171 A JP 2009100171A JP 2009100171 A JP2009100171 A JP 2009100171A JP 2010250610 A JP2010250610 A JP 2010250610A
Authority
JP
Japan
Prior art keywords
angle
inclination
cpu
housing
gravity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009100171A
Other languages
English (en)
Inventor
Reiko Miyazaki
麗子 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009100171A priority Critical patent/JP2010250610A/ja
Priority to US12/755,946 priority patent/US20100263946A1/en
Priority to CN201010145668.7A priority patent/CN101866227B/zh
Priority to EP10250757A priority patent/EP2241958A1/en
Publication of JP2010250610A publication Critical patent/JP2010250610A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Abstract

【課題】傾き検出センサを用いずに筐体の傾きを検出できるようにする。
【解決手段】情報処理装置10は、タッチパネル12の表示面に接触している物体の形状を認識し、これに基づいて当該表示面上での接触物体の角度αを検出し、接触物体の角度αの変化に基づいて筐体11の傾きβを検出することにより、ユーザが筐体11を把持するときに当該表示面に接触する指の角度を検出することができ、この角度が筐体11が傾けられることに応じて変化することから、この角度の変化に基づいて筐体11の傾きβを検出することができるので、傾き検出センサを用いることなく筐体11の傾きβを検出することができる。
【選択図】図4

Description

本発明は、情報処理装置、傾き検出方法及び傾き検出プログラムに関し、例えばタッチパネルを有する情報処理装置に適用して好適なものである。
近年、図1に示す情報処理装置1のように、ユーザが情報処理装置1の筐体を傾けることにより、ゲームなど各種アプリケーションにおいて命令を入力できるものが普及してきている。
このような情報処理装置1としては、加速度センサやジャイロセンサなど、物体に働く力を検出して筐体の傾きを検出するセンサ(以下、これを傾き検出センサとも呼ぶ)を用いて筐体の傾きを検出し、検出した傾きに応じて各種処理を行うものが提案されている(例えば、特許文献1参照)。
特開2002−207567号公報
ところで上述した情報処理装置1は、傾き検出センサを用いらなければ筐体の傾きを検出することができなかった。
本発明は以上の点を考慮してなされたもので、傾き検出センサを用いることなく筐体の傾きを検出し得る情報処理装置、傾き検出方法及び傾き検出プログラムを提案しようとするものである。
かかる課題を解決するため本発明の情報処理装置においては、筐体の所定面に接触している物体の形状を認識する認識部と、認識部により認識された物体の形状に基づいて、所定面上での物体の角度を検出する角度検出部と、角度検出部により検出された物体の角度の変化に基づいて、筐体の傾きを検出する傾き検出部とを設けるようにした。
これにより本発明の情報処理装置は、ユーザが筐体を把持するときに筐体の所定面に接触する指の所定面上での角度を検出でき、この角度が筐体が傾けられることに応じて変化することから、この角度の変化に基づいて筐体の傾きを検出することができる。
本発明によれば、ユーザが筐体を把持するときに筐体の所定面に接触する指の所定面上での角度を検出でき、この角度が筐体が傾けられることに応じて変化することから、この角度の変化に基づいて筐体の傾きを検出することができる。かくして、傾き検出センサを用いることなく筐体の傾きを検出し得る情報処理装置、傾き検出方法及び傾き検出プログラムを実現することができる。
従来の情報処理装置の使用例の説明に供する略線図である。 本発明における情報処理装置の構成を示す略線図である。 本発明における接触物体の角度の検出の説明に供する略線図である。 本発明の第1の実施の形態における傾き検出処理の説明に供する略線図である。 本発明における音量の調整の説明に供する略線図である。 本発明における選択するアルバムの切り替えの説明に供する略線図である。 本発明における動画の早送り又は早戻しの説明に供する略線図である。 本発明における画像のスクロールの説明に供する略線図である。 本発明の第1の実施の形態における傾き検出処理手順を示すフローチャートである。 本発明における情報処理装置の機能構成を示すブロック図である。 本発明の第2の実施の形態における傾き検出処理の説明に供する略線図である。 本発明の第2の実施の形態における傾き検出処理手順を示すフローチャートである。
以下、発明を実施するための最良の形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(両手で筐体が把持されている場合に筐体の傾きを検出する例)
2.第2の実施の形態(片手で筐体が把持されている場合に筐体の傾きを検出する例)
3.他の実施の形態
<1.第1の実施の形態>
[1−1.情報処理装置の全体構成]
まず、第1の実施の形態について説明する。図2において、10は全体として情報処理装置を示す。この情報処理装置10は携帯型であり、図2(A)に示すように片手で把持し得る程度の大きさ(いわゆる手の平サイズ)でなる扁平矩形状の筐体11を有する。
この筐体11の表面には、長方形板状のタッチパネル12が設けられている。このタッチパネル12は光センサ方式のものであり、表示部12A及び光センサ12Bから構成されている。情報処理装置10は、タッチパネル12の表示面に対するユーザの操作を認識すると、当該操作に応じて各種処理を行うようになされている。
尚ここでは、筐体11及びタッチパネル12が一方向へは他方向と比べて短く形成されているため当該一方向を短手方向とも呼び、筐体11及びタッチパネル12が他方向へは一方向と比べて長く形成されているため当該他方向を長手方向とも呼ぶ。
この情報処理装置10は、ユーザに、当該長手方向を左右方向とする向き(以下、これを横向きとも呼ぶ)で通常利用させるようになされている。因みに筐体11において、長手方向を上下方向とする向きを縦向きとも呼ぶ。
筐体11の左面には、ヘッドホン端子(図示せず)が設けられ、このヘッドホン端子を介して、ヘッドホン13が接続されるようになされている。情報処理装置10は、このヘッドホン13を介してユーザに再生した楽曲や動画などの音声を聴取させるようになされている。
つづいて、情報処理装置10の各回路部を、図2(B)を用いて説明する。情報処理装置10では、各回路部がバス20を介して接続されている。CPU21は、不揮発性メモリ22に記憶されているプログラムをRAM(Random Access Memory)23に読み出す。そしてCPU21は、読み出したプログラムをRAM23上で展開し、この展開したプログラムに従って各回路部を制御すると共に、各種処理を実行するようになされている。
CPU21は、外部接続端子(図示せず)を介して外部機器と接続されると、外部機器から楽曲データや動画データ、画像データなどを取得し、これらを不揮発性メモリ22に記録するようになされている。
CPU21は、ユーザ操作により楽曲を再生するよう指示されると、不揮発性メモリ22に記録されている楽曲データを読み出す。そしてCPU21は、当該楽曲データに対して復号処理及び増幅処理などの所定の再生処理を施すことにより音声信号を得て、この音声信号を音声出力部24に送出する。この結果、音声出力部24から、ヘッドホン13を介してこの音声信号に基づく楽曲の音声が出力されるようになされている。
タッチパネル12の表示面には、複数の画素セットが例えばマトリクス状に配置されている。各画素セットには、表示部12Aとして赤色表示、緑色表示及び青色表示のそれぞれに対応する発光素子と、光センサ12Bとが設けられている。
CPU21は、各種メニュー画面や画像データに基づく画像などを表示部12Aに表示させるようになされている。例えばCPU21は、不揮発性メモリ22に記録されている楽曲データに付与されているジャケット写真画像データを読み出し、当該ジャケット写真画像データに基づいて表示部12Aにジャケット写真画像を表示させる。
光センサ12Bは、外部からタッチパネル12の表示面に入射する光を受光し、受光した光の光強度に応じた光強度信号を所定間隔ごとに生成してCPU21に送出するようになされている。
ここで図3(A)に示すように、ユーザにより筐体11が把持され、タッチパネル12の表示面に対してユーザの指が接触しているとする。この場合、当該指において、指先の腹はタッチパネル12の表示面に接触しており、指先の腹以外の部分は当該表示面に接触はしていないが、当該表示面には近接していることが想定される。
このときタッチパネル12の表示面においてユーザの指が接触している領域では、ユーザの指により当該表示面に入射する光が遮られるため、光センサ12Bで受光する光の光強度は小さくなる。
またタッチパネル12の表示面においてユーザの指が近接している領域ではユーザの指の影ができるため、光センサ12Bで受光する光の光強度は若干小さくなるが、指が接触している領域よりは大きくなる。
一方タッチパネル12の表示面においてユーザの指が接触も近接もしていない領域では、当該表示面に入射する光が遮られることがないため、光センサ12Bで受光する光の光強度は指が接触又は近接している領域より大きくなる。
このことをふまえ、CPU21は、所定間隔ごとに光センサ12Bから送出された光強度信号に基づいて、各画素セットにおける光強度に対して3値化処理を行う。3値化処理では、所定の閾値が2つ設定されており、様々な分布を有している光強度が閾値に応じて3つの値(「−1」、「0」、「1」)に集約される。
尚この閾値は、タッチパネル12の表示面において、指が接触している領域の光強度が「−1」となり、指が近接している領域の光強度が「0」となり、指が接触も近接もしていない領域の光強度が「1」となるよう予め調整されている。
CPU21は、3値化処理の結果に基づいて、図3(B)に示すように、タッチパネル12の表示面において光強度が「−1」である領域(これを暗領域とも呼ぶ)Bkを当該表示面内における座標として検出する。
CPU21は、暗領域Bkを検出すると、タッチパネル12の表示面に物体(ここではユーザの指)が接触していることを認識する。尚、CPU21が認識したタッチパネル12の表示面に接触している物体のことを接触物体とも呼ぶ。
そしてCPU21は、暗領域Bkの形状を、接触物体がタッチパネル12の表示面に接触している部分の形状であると認識する。これによりCPU21は、当該表示面に接触している指の、指先の腹の形状を認識することができる。
またCPU21は、3値化処理の結果に基づいて、タッチパネル12の表示面において光強度が「0」である領域(これを中間領域とも呼ぶ)Bmを当該表示面内における座標として検出する。
CPU21は、暗領域Bkと共に中間領域Bmを検出すると、中間領域Bmの形状を、接触物体がタッチパネル12の表示面に近接している部分の形状であると認識する。これによりCPU21は、当該表示面に接触している指の、指先の腹以外の部分の形状を認識することができる。
さらにCPU21は、3値化処理の結果に基づいて、タッチパネル12の表示面において光強度が「1」である領域(これを明領域とも呼ぶ)Brを当該表示面内における座標として検出する。CPU21は、明領域Brを物体が接触も近接もしていない領域として認識する。
そしてCPU21は、暗領域Bk及び中間領域Bmの座標に基づいて、暗領域Bkの重心Kp及び中間領域Bmの重心Mpをタッチパネル12の表示面内における座標として検出する。
因みに、暗領域Bkの重心Kpは中間領域Bmの重心Mpよりもタッチパネル12の表示面に接触している指の指先側に位置し、中間領域Bmの重心Mpは暗領域Bkの重心Kpよりも当該指の付け根側に位置している。
このことをふまえ、CPU21は、中間領域Bmの重心Mpに対して暗領域Bkの重心Kpの位置する方向とタッチパネル12の長手方向とがなす角度を、タッチパネル12の表示面上での接触物体の角度αとして算出する。
これによりCPU21は、タッチパネル12の表示面上において、指の付け根に対する指先の位置する方向と長手方向とがなす角度を検出することができ、当該表示面に接触している指の当該表示面上での角度を検出することができる。
尚CPU21は、重心Mpに対する重心Kpの位置する方向がタッチパネル12の長手方向に平行であり且つ重心Kpが重心Mpの右側にある状態を接触物体の角度αが0度であるとし、重心Kpが反時計周りに移動する方向を正の方向とする。例えばCPU21は、重心Kpが重心Mpの真上にある状態を接触物体の角度αが90度であると算出する。
[1−2.傾き検出処理]
次にこの情報処理装置10の筐体11の傾きβ(図4)を検出する傾き検出処理について、詳しく説明する。
情報処理装置10には、ユーザが筐体11を傾けることで命令を入力することのできる傾き検出モードが設けられている。情報処理装置10は、ユーザにより左右の指をタッチパネル12の表示面に接触させる操作が行われると、傾き検出モードに切り替わるようになされている。
ここでユーザが、この傾き検出モードに切り替えるための操作を行ったとする。すなわち図4(A)に示すように、ユーザが筐体11を横向きで把持し、タッチパネル12の表示面に対して左右の指を接触させたとする。
このときCPU21は、光センサ12Bにより受光された光の光強度に基づいて上述した3値化処理を行い、図4(B)に示すように、タッチパネル12の表示面において、暗領域Bk及び中間領域Bmを検出する。ここではユーザの左右の指が当該表示面に接触しているため、暗領域Bk及び中間領域Bmは2箇所ずつ検出される。
CPU21は、各暗領域Bkの重心Kpをそれぞれ検出し、重心Kpがタッチパネル12の表示面の中央Oによって分けられる右側部分及び左側部分のそれぞれに1個ずつあるかどうかを判別する。
CPU21は、重心Kpがタッチパネル12の表示面内の右側部分及び左側部分のそれぞれに1個ずつあると判別すると、当該表示面内の左右両側のそれぞれに物体が接触していると認識する。
尚、以下の説明では、タッチパネル12の表示面内の左側部分にある重心Kpを重心KpLとも呼び、重心KpLに対応する暗領域Bk、中間領域Bm及びその重心Mpを、暗領域BkL、中間領域BmL及び重心MpLとも呼ぶ。一方、当該表示面内の右側部分にある重心Kpを重心KpRとも呼び、重心KpRに対応する暗領域Bk、中間領域Bm及びその重心Mpを、暗領域BkR、中間領域BmR及び重心MpRとも呼ぶ。
また以下の説明では、タッチパネル12の表示面内の左側に接触している物体のことを左側接触物体とも呼び、当該表示面内の右側に接触している物体のことを右側接触物体とも呼ぶ。
CPU21は、タッチパネル12の表示面内の左右両側に物体が接触していることを認識すると、傾き検出モードに切り替えるための操作が行われたと認識し、傾き検出モードに切り替わる。
そしてCPU21は、中間領域BmLの重心MpLと中間領域BmRの重心MpRとを検出する。
そしてCPU21は、暗領域BkLの重心KpL及び中間領域BmLの重心MpLに基づいて、タッチパネル12の表示面上での左側接触物体の角度αLを算出する。またCPU21は、暗領域BkRの重心KpR及び中間領域BmRの重心MpRに基づいて、タッチパネル12の表示面上での右側接触物体の角度αRを算出する。
これによりCPU21は、このときタッチパネル12の表示面に接触している左指の角度及び右指の角度を検出することができる。
ところでCPU21は、傾き検出モードに切り替える操作が行われるとユーザが筐体11を傾けようとしていると認識し、このときの状態を筐体11が傾けられていない状態、すなわち筐体11の傾きが0度の状態であると認識する。
ゆえにCPU21は、このときの左側接触物体の角度αL及び右側接触物体の角度αRを、筐体11を傾ける操作が開始されるときの接触物体の角度である左側開始角度及び右側開始角度として設定する。尚、左側開始角度及び右側開始角度をまとめて、開始角度とも呼ぶ。
またCPU21は、このときの暗領域BkLの重心KpL及び暗領域BkRの重心KpRを、筐体11を傾ける操作が開始されるときの暗領域Bkの重心である左指開始重心及び右指開始重心として設定する。尚、左指開始重心及び右指開始重心をまとめて、開始重心とも呼ぶ。すなわちCPU21は、筐体11が傾けられていない状態での、接触物体がタッチパネル12の表示面に接触している部分の重心を開始重心として設定する。
ここでユーザが、図4(A)に示す傾き検出モードに切り替えるための操作を行った状態から、図4(C)に示すように筐体11を例えば時計回りに傾けたとする。ユーザが筐体11を傾ける場合、左右の指先の腹(すなわちタッチパネル12の表示面に接触している部分)の重心を中心として左右の指の角度を変化させ、筐体11を傾けると考えられる。
このことをふまえCPU21は、開始角度と比べて接触物体の角度αが変化したかどうかを判別する。
具体的にCPU21は、光センサ12Bにより受光された光の光強度に基づいて上述した3値化処理を行い、図4(D)に示すようにタッチパネル12の表示面において、暗領域BkL及びBkR、中間領域BmL及びBmRを検出する。
そしてCPU21は、上述したように左側接触物体の角度αL及び右側接触物体の角度αRを算出する。
そしてCPU21は、左側開始角度と左側接触物体の角度αLとの差分dLを算出する。またCPU21は、右側開始角度と右側接触物体の角度との差分dRを算出する。CPU21は、算出結果に基づいて、左側接触物体の角度αL及び右側接触物体の角度αRが変化したかどうかを判別する。
そしてCPU21は、左側接触物体の角度αL又は右側接触物体の角度αRのどちらか、又は双方が変化したことを判別すると、接触物体の角度αが変化したと判別する。
ところで、図4(E)に示すように、ユーザが例えば左指の角度のみを変化させ、筐体11を傾けない操作を行うことも想定される。
この場合、ユーザは指の付け根を中心として左指の角度を変化させるため、筐体11を傾けるときと異なり、指先の腹、つまりタッチパネル12の表示面に指が接触している部分の重心が移動する。すなわち図4(F)に示すように、左側接触物体の角度αLが変化するのに伴い、暗領域BkLの重心KpLが移動する。
従って接触物体の角度αが変化しても暗領域Bkの重心Kpが移動した場合、筐体11は傾けられていないと考えられる。一方、接触物体の角度αが変化し且つ暗領域Bkの重心Kpが移動していなければ、筐体11は傾けられていると考えられる。
このことをふまえCPU21は、接触物体の角度αが変化したことを判別すると、傾き検出モードに切り替わった状態から暗領域Bkの重心Kpが移動したかどうかを判別する。
具体的にCPU21は、左指開始重心と重心KpLとの距離及び右指開始重心と重心KpRとの距離を算出し、算出結果に基づいてこれらの距離が所定の閾値以上であることを判別すると重心Kpが移動したと判別する。
尚ユーザが筐体11を傾ける場合、重心Kpは若干移動することも考えられる。従ってこの閾値は、ユーザが筐体11を傾ける際の重心Kpの移動と、ユーザが筐体11を傾けずに指の角度を変化させる際の重心Kpの移動とを区別できる程度に設定されている。
CPU21は、接触物体の角度αが変化し且つ暗領域Bkの重心Kpが移動していないことを判別すると、筐体11が傾けられていると認識する。一方CPU21は、接触物体の角度αが変化し且つ暗領域Bkの重心Kpが移動したことを判別すると、筐体11が傾けられていないと認識する。
ところでユーザが筐体11を傾けたとき、筐体11を把持する左右の指のうち、角度の変化の大きい方が筐体11の傾きの変化を正確に反映していると想定される。
このことをふまえCPU21は、左側開始角度と左側接触物体の角度αLとの差分dL及び右側開始角度と右側接触物体の角度との差分dRとを比較し、どちらが大きいかを判別する。
そしてCPU21は、大きい方の差分が、筐体11の傾きが0度である状態(傾き検出モードに切り替わったときの状態)からの筐体11の傾きの変化量であると推定し、これを筐体11の傾きβとして検出する。例えば図4(D)の場合、差分dLが差分dRより大きいことから、CPU21は、差分dLを筐体11の傾きβとして検出する。
尚CPU21は、反時計回りを接触物体の角度αの正の方向として検出する。このため、接触物体の角度αが正の方向に変化したことは、筐体11が負の方向、つまり時計周りに傾けられていることを意味する。
従ってCPU21は、筐体11が時計回りに傾けられている場合、正の傾きβを検出し、筐体11が反時計回りに傾けられている場合、負の傾きβを検出するようになされている。CPU21は、例えば筐体11が時計周りに45度傾けられている場合、傾きβが+45度であると検出する。
そしてCPU21は、各種アプリケーションにおいて、検出した傾きβに応じて所定の処理を実行する。
具体的にCPU21は、例えば楽曲を再生するアプリケーションを起動し、楽曲を再生しているとする。このとき図5(A)に示すように、CPU21は、タッチパネル12に、再生している楽曲のタイトル名TN及びアーティスト名ANと、出力している音声の音量を示す音量バーMBとを表示させる。音量バーMBは、塗りつぶされた範囲の長さで音量の大小を示すようになされている。
ここで傾き検出モードのとき、ユーザが筐体11を例えば時計周りに傾けたとする。このときCPU21は、上述したように正の傾きβを検出する。そしてCPU21は、正の傾きβに応じて、音声出力部24を制御し出力する音声の音量を上げると共に、音量バーMBを塗りつぶす範囲を左から右に伸ばして表示させる。
一方CPU21は、傾きβが負の場合、音声出力部24を制御し出力する音声の音量を下げると共に、音量バーMBを塗りつぶす範囲を右から左に縮めて表示させる。尚CPU21は、傾きβの絶対値が大きいほど音量の調整量を大きくし、傾きβの絶対値が小さいほど音量の調整量を小さくするようになされている。
またCPU21は、ユーザが筐体11を傾け続けている間、傾きβに応じた音量の調整を継続して行うようになされている。
そしてユーザが図5(B)に示すように、筐体11の傾きを元の状態(傾き検出モードに切り替えたときの状態)に戻したとする。このときCPU21は、筐体11が傾いていないことを認識し、音量の調整を停止する。
またCPU21が、楽曲を再生するアプリケーションの起動中、例えば再生するアルバムを選択するための画面をタッチパネル12に表示させているとする。このとき図6(A)に示すように、CPU21は、タッチパネル12に、複数のアルバムのジャケット写真画像JP(JP0〜JP2)を右から左へ並べて表示させている。このときCPU21は、タッチパネル12の中央に表示させているジャケット写真画像JP1に対応するアルバムを選択している状態である。
ここで傾き検出モードのとき、ユーザが筐体11を例えば時計周りに傾けたとする。このときCPU21は、上述したように正の傾きβを検出する。
そしてCPU21は、検出した傾きβが正であり、傾きβの絶対値が所定値以上であることを認識すると、図6(B)に示すように、タッチパネル12に表示させるジャケット写真画像JPを左から右にスクロールし、選択するアルバムを次のアルバムに切り替える。このときCPU21は、選択したアルバムに対応するジャケット写真画像JP2を中央に表示させ、その左右にジャケット写真画像JP3及びJP1を表示させる。
一方CPU21は、傾きβが負であり且つ傾きβの絶対値が所定値以上である場合は、タッチパネル12に表示させるジャケット写真画像JPを右から左にスクロールし、選択するアルバムを前のアルバムに切り替える。
またCPU21は、ユーザが筐体11を傾け続けている間、傾きβに応じたアルバムの切り替えを連続して行う。そしてユーザが図6(B)に示すように、筐体11の傾きを元の状態に戻すと、CPU21は、筐体11が傾いていないことを認識し、選択するアルバムの切り替えを停止するようになされている。
またCPU21が、例えば動画を再生するアプリケーションを起動し、動画を再生しているとする。このとき図7(A)に示すように、CPU21は、タッチパネル12に再生している動画PVを表示させている。
ここで傾き検出モードのとき、ユーザが筐体11を例えば時計周りに傾けたとする。このときCPU21は、上述したように正の傾きβを検出する。そしてCPU21は、正の傾きβに応じて、動画PVを早送りで再生して表示させる。
一方CPU21は、検出した傾きβが負であることを認識すると、動画PVを早戻しで再生して表示させる。尚CPU21は、傾きβの絶対値が大きいほど動画PVの早送り又は早戻しの速度を早くし、傾きβの絶対値が小さいほど動画PVの早送り又は早戻しの速度を遅くするようになされている。
またCPU21は、ユーザが筐体11を傾け続けている間、傾きβに応じた動画PVの早送り又は早戻しを継続して行う。そしてユーザが図7(B)に示すように、筐体11の傾きを元の状態に戻すと、CPU21は、筐体11が傾いていないことを認識し、再生する動画PVの早送り又は早戻しを停止するようになされている。
またCPU21が、例えば画像を閲覧するアプリケーションを起動し、図8(A)に示すように、タッチパネル12に画像CP(CP0及びCP1)を右から左に並べて表示させているとする。
ここで傾き検出モードのとき、ユーザが筐体11を例えば時計周りに傾けたとする。このときCPU21は、上述したように正の傾きβを検出する。そしてCPU21は、正の傾きβに応じて、画像CPを左から右にスクロールさせる。
一方CPU21は、傾きβが負の場合は、画像CPを右から左にスクロールさせるようになされている。尚CPU21は、傾きβの絶対値が大きいほど画像CPのスクロール速度を早くし、傾きβの絶対値が小さいほど画像CPのスクロール速度を遅くするようになされている。
またCPU21は、ユーザが筐体11を傾け続けている間、傾きβに応じた画像CPのスクロールを継続して行う。そしてユーザが図8(B)に示すように、筐体11の傾きを元の状態に戻すと、CPU21は筐体11が傾いていないことを認識し、画像CPのスクロールを停止する。
このようにCPU21は、各種アプリケーションにおいて、検出した傾きβに応じて所定の処理を実行するようになされている。
[1−3.傾き検出処理手順]
次に上述した情報処理装置10における傾き検出処理での動作処理手順(これを、傾き検出処理手順とも呼ぶ)RT1を、図9に示すフローチャートを用いて詳しく説明する。ちなみにこの傾き検出処理手順RT1は、CPU21が不揮発性メモリ22にインストールされたプログラムに従って実行するものである。
CPU21は、例えば各種アプリケーションが起動されると、傾き検出処理手順RT1をステップSP0から開始して、次のステップSP1に移る。
ステップSP1においてCPU21は、光センサ12Bにより受光された光の光強度に基づいて、タッチパネル12の表示面における暗領域Bk及び中間領域Bmを検出する。そしてCPU21は、暗領域Bkの重心Kpを検出し、これに基づいて当該表示面内の左右両側に物体が接触しているかどうかを判断する。
このステップSP1において否定結果が得られると、このことはユーザにより傾き検出モードに切り替えるための操作が行われていないことを意味する。このときCPU21はステップSP1に戻り、タッチパネル12の表示面内の左右両側に物体が接触されるまで待ち受ける。
一方ステップSP1においてタッチパネル12の表示面内の左右両側に物体が接触していることより肯定結果が得られると、このことはユーザにより傾き検出モードに切り替えるための操作が行われたことを意味し、このときCPU21は、ステップSP2に移る。
ステップSP2においてCPU21は、傾き検出モードに切り替わり、中間領域Bmの重心Mpを検出する。そしてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpに基づいて左側接触物体の角度αL及び右側接触物体の角度αRを算出し、これを左側開始角度及び右側開始角度として設定する。
またCPU21は、このときの暗領域Bkの重心Kp、つまり接触物体がタッチパネル12の表示面に接触している部分の重心を開始重心として設定する。そしてCPU21は、ステップSP3に移る。
ステップSP3においてCPU21は、光センサ12Bにより受光された光の光強度に基づいて、接触物体の角度αが変化したかどうかを判断する。
具体的にCPU21は、左側接触物体の角度αL及び右側接触物体の角度αRを算出する。そしてCPU21は、左側開始角度と左側接触物体の角度αLとの差分dL及び右側開始角度と右側接触物体の角度との差分dRとを算出し、算出結果に基づいて、接触物体の角度αが変化したかどうかを判断する。
このステップSP3において否定結果が得られると、このことはユーザが指の角度を変化させず筐体11を傾けていないことを意味し、このときCPU21はステップSP3に戻り、接触物体の角度αが変化するまで待ち受ける。
一方ステップSP3において肯定結果が得られると、このことはユーザが指の角度を変化させたことを意味し、このときCPU21はステップSP4に移る。
ステップSP4においてCPU21は、開始重心と暗領域Bkの重心Kpとの距離を算出し、算出結果に基づいて接触物体がタッチパネル12の表示面に接触している部分の重心が移動したかどうかを判断する。
このステップSP4において肯定結果が得られると、このことは、ユーザが指の角度を変化させたものの筐体11を傾けていないことを意味する。このときCPU21は、傾き検出モードを解除してステップSP1へ戻り、再びタッチパネル12の表示面内の左右両側に物体が接触されるまで待ち受ける。
一方ステップSP4において否定結果が得られると、このことは、ユーザが筐体11を傾けたことを意味し、このときCPU21はステップSP5に移る。
ステップSP5においてCPU21は、左側開始角度と左側接触物体の角度αLとの差分dLと、右側開始角度と右側接触物体の角度との差分dRとを比較し、差分dLが差分dRよりも大きいかどうかを判断する。
このステップSP5において差分dLが差分dRよりも大きいことより肯定結果が得られると、このことは、差分dLが筐体11の傾きの変化を正確に反映していることを意味し、このときCPU21は、ステップSP6に移る。
ステップSP6においてCPU21は、左側開始角度と左側接触物体の角度αLとの差分dLを筐体11の傾きβとして検出し、ステップSP8に移る。
一方差分dLが差分dRよりも小さいことよりステップSP5において否定結果が得られると、このことは、差分dRが筐体11の傾きの変化を正確に反映していることを意味し、このときCPU21は、ステップSP7に移る。
ステップSP7においてCPU21は、右側開始角度と右側接触物体の角度αRとの差分dRを筐体11の傾きβとして検出し、ステップSP8に移る。
ステップSP8においてCPU21は、筐体11の傾きβに応じて所定の処理を実行し、ステップSP9に移って傾き検出処理手順RT1を終了する。
このような傾き検出処理手順RT1に従って、CPU21は、筐体11の傾きβを検出するようになされている。
[1−4.第1の実施の形態における動作及び効果]
以上の構成において情報処理装置10は、光センサ12Bにより受光した光の光強度に基づいて、筐体11の表面に設けられたタッチパネル12の表示面に接触している左側接触物体及び右側接触物体の形状を認識する。
そして情報処理装置10は、左側接触物体の形状に基づいて、タッチパネル12の表示面上での左側接触物体の角度αLを検出し、右側接触物体の形状に基づいて、タッチパネル12の表示面上での右側接触物体の角度αRを検出する。
これにより情報処理装置10は、ユーザが筐体11を把持するときにタッチパネル12の表示面に接触する左指の角度及び右指の角度を検出することができる。
また情報処理装置10は、タッチパネル12の表示面内の左右両側に物体が接触したことを認識すると、ユーザが筐体11を傾けようとしていると認識する。そしてこのときの左側接触物体の角度αL及び右側接触物体の角度αRを基準として、左側接触物体の角度αLの変化及び右側接触物体の角度αRの変化を検出する。
そして情報処理装置10は、左側接触物体の角度αLの変化及び右側接触物体の角度αRの変化のうち、変化の大きい方を筐体11の傾きβとして検出する。
これにより情報処理装置10は、ユーザが筐体11を傾け始めた時点からの筐体11を把持する指の角度の変化を検出することができ、この角度が筐体11が傾けられることに応じて変化することから、この角度の変化に基づいて筐体11の傾きβを正確に検出することができる。
また情報処理装置10は、変化の大きい方の指の角度の変化を筐体11の傾きβとして検出することにより、筐体11の傾きの変化を正確に反映している指の角度の変化を筐体11の傾きβとして検出でき、筐体11の傾きβを一段と正確に検出することができる。
さらに情報処理装置10は、接触物体の形状に基づいて、接触物体がタッチパネル12の表示面に接触している部分の重心を検出し、接触物体の角度αの変化に伴って当該重心が移動したかどうかを判別する。
そして情報処理装置10は、接触物体の角度αの変化に伴って当該重心が移動していないと判別した場合にのみ、筐体11が傾けられていると認識し、接触物体の角度αの変化に基づいて筐体11の傾きβを検出する。
これにより情報処理装置10は、ユーザが筐体11を傾けず指の角度を変化させるのみの操作(例えばドラッグ操作)を行った場合に、筐体11が傾けられていると誤認識するのを防ぐことができる。
ところで、例えばジャイロセンサなど傾き検出センサを用いる場合、ユーザが意図せず筐体11を傾けてしまった場合にも、筐体11の傾きβを検出して傾きβに応じた処理を実行してしまうことがある。
これに対して情報処理装置10は、タッチパネル12の表示面内の左右両側に物体が接触していることを認識した場合のみ、傾き検出モードに切り替わって筐体11の傾きβを検出し、傾きβに応じて各種処理を実行する。
これにより情報処理装置10は、ユーザが傾き検出モードに切り替えるための操作としてタッチパネル12の表示面内の左右両側に指を接触させている場合のみ筐体11の傾きβに応じた処理を実行できる。この結果、情報処理装置10は、ユーザが意図していないのに傾きβに応じた処理を実行することを防ぐことができる。
また情報処理装置10は、ユーザが意図せず筐体11を傾けた場合には傾きβに応じた処理を実行しないことから、音量の調整などユーザが意図しないのに実行すると危険な処理でも、傾きβに応じて実行する処理として割り当てることができる。
また傾き検出センサを用いる場合、ユーザが意図せず筐体11を傾けた場合に傾きβに応じた処理を実行してしまうことを防ぐために、所定のボタンが押下されたときやメニュー画面で設定されたときなどに傾きβに応じた処理を実行することなども考えられる。
しかしながらこの方法では、所定のボタンを押下させたりメニュー画面で設定させたりするなどユーザに煩雑な操作を行わせなければ、傾きβに応じた処理を実行することができない。
これに対して情報処理装置10は、ユーザにタッチパネル12の表示面内の左右両側に指を接触させるという簡単な操作を行わせるだけで、筐体11の傾きβに応じた処理を実行することができる。
さらに情報処理装置10では、タッチパネル12の検出結果を用いてCPU21が筐体11の傾きβを検出することができるので、別途ジャイロセンサを用いる場合と比較して簡易な構成により筐体11の傾きβを検出することができる。
以上の構成によれば情報処理装置10は、タッチパネル12の表示面に接触している物体の形状を認識し、これに基づいて、当該表示面上での接触物体の角度αを検出するようにした。そして情報処理装置10は、接触物体の角度αの変化に基づいて、筐体11の傾きβを検出するようにした。
これにより情報処理装置10は、ユーザが筐体11を把持するときにタッチパネル12の表示面に接触する指の角度を検出することができ、この角度が筐体11が傾けられることに応じて変化することから、この角度の変化に基づいて筐体11の傾きβを検出することができる。かくして、情報処理装置10は、傾き検出センサを用いることなく筐体11の傾きβを検出することができる。
[1−5.第1の実施の形態における機能構成]
ここで、上述した傾き検出処理に主眼を置いた情報処理装置10の機能構成について説明する。図10に示すように、情報処理装置10は、認識部31、角度検出部32、重心検出部33、判別部34、傾き検出部35、制御部36として機能する。
情報処理装置10では、上述した光センサ12B及びCPU21が認識部31として機能する。認識部31は、情報処理装置10の筐体11の所定面(この実施の形態では、筐体11の表面に設けられているタッチパネル12の表示面)に接触している物体の形状を認識する。
また情報処理装置10では、上述したCPU21が角度検出部32として機能する。角度検出部32は、認識部31により認識された物体の形状に基づいて、所定面上での物体の角度を検出する。
さらに情報処理装置10では、上述したCPU21が重心検出部33として機能する。重心検出部33は、認識部31により認識された物体の形状に基づいて、物体の所定面上に接触している部分の重心を検出する。
さらに情報処理装置10では、上述したCPU21が判別部34として機能する。判別部34は、角度検出部32により検出された物体の角度の変化に伴って、重心検出部33により検出された重心が移動したかどうかを判別する。
さらに情報処理装置10では、上述したCPU21が傾き検出部35として機能する。傾き検出部35は、判別部34により物体の角度の変化に伴って重心が移動していないと判別された場合に、物体の角度の変化に基づいて、筐体11の傾きを検出する。
さらに情報処理装置10では、上述したCPU21が制御部36として機能する。制御部36は、認識部31により複数の物体の形状が認識されている場合にのみ、傾き検出部35により検出された筐体11の傾きに応じて所定の処理を実行する。
このような機能構成により、情報処理装置10は、上述した傾き検出処理を機能的に実現し得るようになされている。
<2.第2の実施の形態>
次に本発明の第2の実施の形態を詳述する。この第2の実施の形態においては、情報処理装置10の傾き検出処理が異なる点以外、上述した第1の実施の形態と同様であり、同様部分である情報処理装置10の構成(図2)の説明は省略する。
[2−1.傾き検出処理]
以下、第2の実施の形態における傾き検出処理について詳しく説明する。この情報処理装置10は各種アプリケーションが起動されると、傾き検出処理を実行するようになされている。また、この情報処理装置10は、通常横向きで利用されるようになっているが、横向きだけでなく縦向きでも利用可能となっている。
CPU21は、例えば画像を閲覧するアプリケーションを起動すると、図11(A)に示すように、筐体11が横向きで利用されるのに合わせてタッチパネル12に画像CPを表示させる。
ここでユーザが例えば筐体11を横向きで把持し、タッチパネル12の表示面に対してユーザの右指を接触させていたとする。
このときCPU21は、光センサ12Bにより受光された光の光強度に基づいて上述した3値化処理を行い、図11(B)に示すようにタッチパネル12の表示面における暗領域Bk及び中間領域Bmを検出する。
CPU21は、暗領域Bkを検出すると、タッチパネル12の表示面に物体が接触していることを認識する。
そしてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpを検出し、これらに基づいて接触物体の角度αを例えば120度であると算出する。そしてCPU21は、接触物体の角度αと暗領域Bkの重心Kpとを不揮発性メモリ22に記録する。
このようにCPU21は、タッチパネル12の表示面に物体が接触していることを認識するごとに、暗領域Bkの重心Kp及び接触物体の角度αを検出し、これらを不揮発性メモリ22に記録する。
そしてCPU21は、不揮発性メモリ22から前回算出した接触物体の角度αと今回算出した接触物体の角度αとを読み出してこれらの差分を算出し、算出結果に基づいて接触物体の角度αが変化したかどうかを判別する。
図4(A)及び(B)に示す場合、ユーザは、前回接触物体の角度αが算出されてから今回接触物体の角度αが算出されるまでの間、タッチパネル12の表示面に対して右指の角度を変えずに接触させ続けていたとする。このとき前回算出された接触物体の角度αと今回算出された接触物体の角度αとが変わらず、これらの差分が0度となるため、CPU21は、接触物体の角度αが変化していないと判別する。
CPU21は、接触物体の角度αが変化していないと判別すると、再び光センサ12Bにより受光された光の光強度に基づいて接触物体の角度αを検出して、接触物体の角度αが変化したかどうかを判別する。CPU21は、この処理を接触物体の角度αが変化するまで繰り返すようになされている。
ここで、例えば図11(C)に示すように、図11(A)に示した状態から、ユーザが指先の腹(すなわちタッチパネル12の表示面に接触している部分)を中心として、筐体11を時計回りに30度傾けたとする。
このときCPU21は、光センサ12Bにより受光された光の光強度に基づいて上述した3値化処理を行い、図11(D)に示すようにタッチパネル12の表示面における暗領域Bk及び中間領域Bmを検出する。そしてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpを検出する。
そしてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpに基づいて接触物体の角度αを例えば150度であると算出し、接触物体の角度αと暗領域Bkの重心Kpとを不揮発性メモリ22に記録する。
そしてCPU21は、不揮発性メモリ22から、前回(図11(B))算出した接触物体の角度α(120度)と今回算出した接触物体の角度α(150度)とを読み出し、これらの差分を30度であると算出して、接触物体の角度αが変化したことを判別する。
CPU21は、接触物体の角度αが変化したと判別すると、暗領域Bkの重心Kp、つまり接触物体がタッチパネル12の表示面に接触している部分の重心が移動したかどうかを判別する。具体的にCPU21は、不揮発性メモリ22から前回検出した重心Kpと今回検出した重心Kpとの距離を算出し、算出結果に基づいて重心Kpが移動したかどうかを判別する。
図11(D)に示す場合、ユーザが指の接触している部分の重心を中心として筐体11を傾けたため、前回(図11(B))の状態から指の接触している部分の重心は移動していない。従ってCPU21は、暗領域Bkの重心Kpが移動していないと判別する。
CPU21は、接触物体の角度αが変化し且つ暗領域Bkの重心Kpが移動していないことを判別すると、筐体11が傾けられていると認識する。
一方CPU21は、接触物体の角度αが変化し且つ重心Kpが移動したことを判別した場合は、ユーザが指の角度のみを変化させる操作を行い、筐体11は傾けられていないと認識するようになされている。
CPU21は、筐体11が傾けられていると認識すると、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。具体的にCPU21は、不揮発性メモリ22から前回算出した接触物体の角度αと前々回算出した接触物体の角度αとを読み出してこれらの差分を算出し、算出結果に基づいて、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。
図11(D)に示す場合、前回(図11(B))の接触物体の角度αと、その前(前々回)に算出した接触物体の角度αとの差分が0度であるため、CPU21は、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたと判別する。
CPU21は、前回接触物体の角度αを算出したとき接触物体の動きが止まっていたことを判別すると、そのときがユーザが指の角度を変化させ始めた時点、つまり筐体11を傾け始めた時点であると認識する。そしてCPU21は、前回算出した接触物体の角度α(120度)を開始角度として設定する。
そしてCPU21は、開始角度と今回算出した接触物体の角度αとの差分dを算出し、この差分dを筐体11の傾きβとして検出する。図11(D)に示す場合、開始角度が120度であり、今回算出した指の角度αが150度であるため、CPU21は、差分dが30度であると算出し、筐体11の傾きβを30度として検出する。
そしてCPU21は、筐体11の傾きβの絶対値が90度以上かどうかを判別する。図11(D)に示す場合、CPU21は、筐体11の傾きβが30度であることより、筐体11の傾きβの絶対値が90度以上ではないと判別する。
CPU21は、筐体11の傾きβの絶対値が90度以上ではないことを判別すると、筐体11の傾きβに応じた処理を行わず、再び上述した処理を行って筐体11の傾きβを検出するようになされている。
ここで、例えば図11(E)に示すように、ユーザが図11(C)に示す状態から指の接触している部分を中心としてさらに筐体11を傾け、筐体11が縦向きになったとする。
このときCPU21は、光センサ12Bにより受光された光の光強度に基づいて上述した3値化処理を行い、図11(F)に示すように、タッチパネル12の表示面における暗領域Bk及び中間領域Bmを検出する。そしてCPU21は、上述したように接触物体の角度αを例えば210度であると算出し、接触物体の角度αと暗領域Bkの重心Kpとを不揮発性メモリ22に記録する。
そしてCPU21は、前回(図11(D))算出した接触物体の角度α(150度)と今回算出した接触物体の角度α(210度)との差分を60度であると算出し、接触物体の角度αが変化したことを判別する。
そしてCPU21は、接触物体の角度αが変化したことを判別すると、重心Kpが移動したかどうかを判別する。図11(F)に示す場合、CPU21は、前回算出した重心Kpと今回算出した重心Kpとに基づいて、重心Kpが移動していないと判別する。
そしてCPU21は、重心Kpが移動していないと判別すると、前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判別する。図11(F)に示す場合、CPU21は、前回算出した接触物体の角度α(150度)と前々回算出した接触物体の角度α(120度)との差分が30度であることを算出し、前回接触物体の角度αを算出したとき、接触物体が動いていたと判別する。
CPU21は、前回接触物体の角度αを算出したとき、接触物体が動いていたと判別すると、そのとき既にユーザが筐体11を傾けている最中の状態であり、開始角度が既に設定されていると認識する。そしてCPU21は、開始角度(120度)と今回算出した接触物体の角度α(210度)との差分dが90度であることを算出し、筐体11の傾きβが90度であるとして検出する。
そしてCPU21は、筐体11の傾きβの絶対値が90度以上であることを判別すると、ユーザにより筐体11が縦向きで把持されていると認識し、筐体11の傾きβに応じて、画像CPを90度回転させる。
具体的にCPU21は、傾きβが90度の場合、筐体11は時計回りに傾けられていることから、図11(E)に示すように、画像CPを反時計回りに90度回転させる。一方CPU21は、傾きβが−90度の場合、筐体11は反時計回りに傾けられていることから、画像CPを時計回りに90度回転させる。
これによりCPU21は、ユーザが筐体11を傾けて縦向きにしても、画像CPを水平方向に合わせて表示させることができるので、ユーザに画像CPを閲覧させやすくすることができる。
尚CPU21は、画像CPを回転させたときは、画像CPがタッチパネル12の表示面内に収まるように画像CPを縮小させて表示させるようになされている。
このようにCPU21は、傾きβを検出し、傾きβに応じて所定の処理を実行するようになされている。
[2−2.傾き検出処理手順]
次に上述した情報処理装置10における傾き検出処理での動作処理手順(これを、傾き検出処理手順とも呼ぶ)RT2を、図12に示すフローチャートを用いて詳しく説明する。ちなみにこの傾き検出処理手順RT2は、CPU21が不揮発性メモリ22にインストールされたプログラムに従って実行するものである。
CPU21は、例えば各種アプリケーションが起動されると、傾き検出処理手順RT2をステップSP100から開始して、次のステップSP101に移る。
ステップSP101においてCPU21は、光センサ12Bにより受光された光の光強度に基づいて、タッチパネル12の表示面における暗領域Bk及び中間領域Bmを検出する。そしてCPU21は、検出結果に基づいてタッチパネル12の表示面に物体が接触しているかどうかを判断する。
このステップSP101において否定結果が得られると、このことはタッチパネル12の表示面にユーザの指が接触されていないことを意味する。このときCPU21はステップSP101に戻り、タッチパネル12の表示面に物体が接触されるまで待ち受ける。
一方ステップSP101において肯定結果が得られると、このことはタッチパネル12の表示面にユーザの指が接触されたことを意味し、このときCPU21は、ステップSP102に移る。
ステップSP102においてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpを検出する。そしてCPU21は、暗領域Bkの重心Kp及び中間領域Bmの重心Mpに基づいて接触物体の角度αを算出し、ステップSP103に移る。
ステップSP103においてCPU21は、前回算出した接触物体の角度αと今回算出した接触物体の角度αとの差分を算出し、算出結果に基づいて接触物体の角度αが変化したかどうかを判断する。
このステップSP103において否定結果が得られると、このことは、ユーザが指の角度を変化させず筐体11を傾けていないことを意味し、このときCPU21はステップSP101へ戻り、再びタッチパネル12の表示面に物体が接触されるまで待ち受ける。
一方ステップSP103において肯定結果が得られると、このことはユーザが指の角度を変化させたことを意味し、このときCPU21はステップSP104へ移る。
ステップSP104においてCPU21は、前回検出した暗領域Bkの重心Kpと今回検出した暗領域Bkの重心Kpとの距離を算出し、算出結果に基づいて接触物体がタッチパネル12の表示面に接触している部分の重心が移動したかどうかを判断する。
このステップSP104において否定結果が得られると、このことは、ユーザが指の角度を変化させたものの筐体11を傾けていないことを意味する。このときCPU21はステップSP101へ戻り、再びタッチパネル12の表示面に物体が接触されるまで待ち受ける。
一方ステップSP104において肯定結果が得られると、このことは、ユーザが筐体11を傾けていることを意味し、このときCPU21はステップSP105に移る。
ステップSP105においてCPU21は、前々回算出した接触物体の角度αと前回算出した接触物体の角度αとの差分を算出し、算出結果に基づいて前回接触物体の角度αを算出したとき、接触物体の動きが止まっていたかどうかを判断する。
このステップSP105において肯定結果が得られると、このことは、前回接触物体の角度αを算出したときが、ユーザが筐体11を傾け始めた時点であることを意味し、このときCPU21はステップSP106に移る。
ステップSP106においてCPU21は、前回の接触物体の角度αを開始角度として設定してステップSP107に移る。
一方ステップSP105において否定結果が得られると、このことは、前回接触物体の角度αを算出したとき既にユーザが筐体11を傾けている最中の状態であり、開始角度が既に設定されていることを意味し、このときCPU21はステップSP107に移る。
ステップSP107においてCPU21は、開始角度と現在の接触物体の角度αとの差分dを算出し、この差分dを筐体11の傾きβとして検出して、ステップSP108に移る。
ステップSP108においてCPU21は、筐体11の傾きβの絶対値が90度以上かどうかを判断する。
このステップSP108において否定結果が得られると、このことはユーザにより筐体11が横向きで把持されていることを意味する。このときCPU21は、ステップSP101へ戻り、再びタッチパネル12の表示面に物体が接触されるまで待ち受ける。
一方ステップSP108において肯定結果が得られると、このことはユーザにより筐体11が縦向きで把持されていることを意味し、このときCPU21は、ステップSP109に移る。
ステップSP109においてCPU21は、傾きβに応じて、タッチパネル12に表示させている画像CPを時計回り又は反時計回りに90度回転させ、ステップSP110に移って傾き検出処理手順RT2を終了する。
このような傾き検出処理手順RT2に従って、CPU21は、筐体11の傾きを検出するようになされている。
[2−3.第2の実施の形態における動作及び効果]
以上の構成において情報処理装置10は、タッチパネル12の表示面に接触している物体の形状を認識するごとに、当該接触物体の形状に基づいて当該表示面上での接触物体の角度αを検出する。
そして情報処理装置10は、前回検出した接触物体の角度αと今回検出した接触物体の角度αとを比較し、接触物体の角度αが変化したと判別すると、さらに、前回接触物体の角度αを検出したとき接触物体の動きが止まっていたかどうかを判別する。
そして情報処理装置10は、前回接触物体の角度αを検出したとき接触物体の動きが止まっていたと判別すると、そのときがユーザが筐体11を傾け始めた時点であると認識し、そのときの接触物体の角度αを基準として接触物体の角度αの変化を検出する。
これにより情報処理装置10は、ユーザが筐体11を傾け始めた時点からの筐体11を把持する指の角度の変化を検出することができる。
この結果、情報処理装置10は、ユーザが筐体11を片手で把持している場合においても、筐体11が傾けられることに応じて変化する筐体11を把持する指の角度の変化に基づいて、筐体11の傾きβを正確に検出することができる。
また情報処理装置10は、接触物体の形状に基づいて、接触物体がタッチパネル12の表示面に接触している部分の重心を検出し、接触物体の角度αの変化に伴って当該重心が移動したかどうかを判別する。
そして情報処理装置10は、接触物体の角度αの変化に伴って当該重心が移動していないと判別した場合にのみ、筐体11が傾けられていると認識し、接触物体の角度αの変化に基づいて筐体11の傾きβを検出する。
これにより情報処理装置10は、ユーザが筐体11を片手で把持している場合においても、ユーザが筐体11を傾けず指の角度を変化させるのみの操作を行った場合に、筐体11が傾けられていると誤認識するのを防ぐことができる。
なお、第2の実施の形態における情報処理装置10の機能構成は、第1の実施の形態の情報処理装置10(図10)に比べて制御部36がないこと以外は同様である。すなわち第2の実施の形態における情報処理装置10は、認識部31、角度検出部32、重心検出部33、判別部34、傾き検出部35として機能するようになされている。
<3.他の実施の形態>
[3−1.他の実施の形態1]
なお上述した第1の実施の形態では、CPU21は、左側接触物体の角度αLの変化及び右側接触物体の角度αRの変化を検出し、変化の大きい方を筐体11の傾きβとして検出するようにした。
これに限らずCPU21は、左側接触物体の角度αLの変化及び右側接触物体の角度αRの変化を検出し、これらに基づいて、この他種々の方法で筐体11の傾きβを検出するようにしてもよい。
例えばCPU21は、左側接触物体の角度αLの変化及び右側接触物体の角度αRの変化の平均値を算出し、これを筐体11の傾きβとして検出するようにしてもよい。
また例えばCPU21は、左側接触物体及び右側接触物体のうち、タッチパネル12の表示面に接触している部分の重心の移動距離が短い方の角度の変化を筐体11の傾きβとして検出するようにしてもよい。
これは、接触している部分の重心の移動距離が短い指の方が筐体11を傾ける際の回転中心となっており、その角度の変化の方が筐体11の傾きの変化をより正確に反映していることをふまえている。
また例えばCPU21は、左側接触物体及び右側接触物体のうち、タッチパネル12の表示面に接触している部分の面積が小さい方の角度の変化を筐体11の傾きβとして検出するようにしてもよい。
これは、接触している部分の面積が大きい方の指は筐体11を強く把持しており、筐体11が傾けられてもその角度の変化が小さいため、筐体11の傾きの変化が反映されにくいことをふまえている。
またこれに限らずCPU21は、3つ以上の接触物体を認識してそれぞれの接触物体の角度αを検出し、最も変化の大きいものを筐体11の傾きβとして検出するようにしてもよい。
[3−2.他の実施の形態2]
また上述した第1の実施の形態では、CPU21は、タッチパネル12の表示面内の左右両側に物体が接触していることを判別すると、傾き検出モードに切り替わり、筐体11の傾きβを検出するようにした。
これに限らずCPU21は、タッチパネル12の表示面内の左右両側かどうかにかかわらず、当該表示面に複数の物体が接触していることを判別すると、傾き検出モードに切り替わり、筐体11の傾きβを検出するようにしてもよい。
またこれに限らずCPU21は、タッチパネル12の表示面に対して所定の操作(例えば接触物体が円を描くように移動する操作など)が行われたことを判別すると、傾き検出モードに切り替わり、筐体11の傾きβを検出するようにしてもよい。
[3−3.他の実施の形態3]
さらに上述した第1及び第2の実施の形態では、CPU21は、音量の調整、選択するアルバムの切り替え、動画の早送り及び早戻し、画像のスクロール、画像の回転など種々の処理を傾きβに応じて実行するようにした。
これに限らずCPU21は、例えば動画のチャプタ送り及びチャプタ戻しや傾きを利用するゲームなど、この他種々の処理を傾きβに応じて実行するようにしてもよい。
また上述した第1の実施の形態では、CPU21は、傾きβの絶対値に応じて、例えば音量を調整する量を変更するなど、種々の処理を行う度合いを調整するようにした。
これに限らずCPU21は、傾きβが正の場合は音量を所定量上げ、傾きβが負の場合は音量を所定量下げるなど、傾きβの絶対値にかかわらず、傾きβが正であるか負であるかのみに応じて、種々の処理を実行するようにしてもよい。
[3−4.他の実施の形態4]
さらに上述した第1及び第2の実施の形態では、CPU21は、接触物体の角度αが変化しても接触物体がタッチパネル12の表示面に接触している部分の重心が移動していない場合にのみ、筐体11の傾きβを検出するようにした。
これに限らずCPU21は、接触物体がタッチパネル12の表示面に接触している部分の重心が移動したかどうかにかかわらず、接触物体の角度αが変化したら筐体11の傾きβを検出するようにしてもよい。
[3−5.他の実施の形態5]
さらに上述した第1及び第2の実施の形態では、CPU21は、接触物体がタッチパネル12の表示面に接触している部分の重心と、接触物体が当該表示面に近接している部分の重心とに基づいて、接触物体の角度αを検出するようにした。
これに限らず、CPU21は、この他種々の方法で接触物体の角度αを検出するようにしてもよい。例えばCPU21は、タッチパネル12の表示面に接触している部分の形状を認識し、当該形状を囲む最も面積の小さい矩形を検出して、当該表示面上での矩形の角度から接触物体の角度αを検出するようにしてもよい。
[3−6.他の実施の形態6]
さらに上述した第1及び第2の実施の形態では、光センサ方式のタッチパネル12を用いるようにした。これに限らず、タッチパネル12の表示面に接触している物体の形状が認識できるのであれば、例えば静電容量方式のタッチパネルなどこの他種々の方式でなるタッチパネルを用いるようにしてもよい。
[3−7.他の実施の形態7]
さらに上述した第1及び第2の実施の形態では、筐体11の表面に設けられたタッチパネル12を用いるようにした。これに限らず、筐体11の裏面に設けられたタッチパネルを用いるようにしてもよい。
この場合CPU21は、筐体11の裏面に設けられたタッチパネルに接触する物体の角度の変化に応じて筐体11の傾きを検出する。これにより、CPU21は、筐体11の裏面に接触する指の角度も筐体11が傾けられることに応じて変化することから、この角度に基づいて筐体11の傾きβを検出することができる。
またこれに限らず、例えば、筐体11の表面に、表示部を有する通常のタッチ操作用のタッチパネルを設け、筐体11の裏面に、表示部を有しない傾き検出用のタッチパネルを設けてもよい。
これによりCPU21は、ユーザが筐体11を傾けずに指の角度を変化させた場合に筐体11が傾けられていると誤認識するのを防ぐことができる。ユーザは、筐体11を傾けずに指の角度を変化させる場合、筐体11の表面(通常のタッチ操作を行う面)に接触する指の角度は変化させるが、筐体11の裏面に接触する指の角度は変化させないと想定されるためである。
[3−8.他の実施の形態8]
さらに上述した第1及び第2の実施の形態では、傾き検出処理を実行するためのプログラムを不揮発性メモリ22に記憶しておくようにした。
これに限らず、これらのプログラムを例えばCD(Compact Disc)などの所定の記録媒体に記録しておき、CPU21がこのプログラムを記録媒体から読み出して実行するようにしてもよい。また、CPU21がこのプログラムをインターネット上の所定のサーバからダウンロードして不揮発性メモリ22にインストールするようにしてもよい。
[3−9.他の実施の形態9]
さらに上述した第1及び第2の実施の形態では、情報処理装置としての情報処理装置10に、認識部31としての光センサ12Bと、認識部31、角度検出部32、重心検出部33、判別部34、傾き検出部35、制御部36としてのCPU21とを設けるようにした。
これに限らず、同様の機能を有するのであれば、上述した各機能部を、他の種々のハードウェア又はソフトウェアにより構成するようにしてもよい。例えば、認識部31、角度検出部32、重心検出部33、判別部34、傾き検出部35、制御部36のそれぞれを個別のハードウェアで実現するようにしてもよい。
また同様の構成を有する情報処理装置であれば、携帯型オーディオプレイヤ、PDA(Personal Digital Assistant)、携帯電話機など、この他種々の情報処理装置に本発明を適用するようにしてもよい。
[3−10.他の実施の形態10]
さらに、本発明は、上述した第1及び第2の実施の形態とここまで説明した他の実施の形態1乃至9とに限定されるものではない。すなわち本発明は、上述した第1及び第2の実施の形態とここまで説明した他の実施の形態1乃至9の一部または全部を任意に組み合わせた形態、もしくは一部を抽出した形態も適用範囲とする。
例えば、上述した第1の実施の形態と第2の実施の形態とを組み合わせるようにしてもよい。この場合CPU21は、タッチパネル12に一つの物体が接触していることを認識した際は第2の実施の形態における傾き検出処理により筐体11の傾きβを検出し、二つの物体が接触していることを認識した際は第1の実施の形態における傾き検出処理により筐体11の傾きβを検出すればよい。
本発明の情報処理装置、傾き検出方法及び傾き検出プログラムは、例えば、携帯型オーディオプレイヤ、PDA、携帯電話機等のその他種々の情報処理装置に適用することができる。
1、10……情報処理装置、11……筐体、12……タッチパネル、12A……表示部、12B……光センサ、21……CPU、22……不揮発性メモリ、31……認識部、32……角度検出部、33……重心検出部、34……判別部、35……傾き検出部、36……制御部、α……接触物体の角度、β……傾き。

Claims (7)

  1. 筐体の所定面に接触している物体の形状を認識する認識部と、
    上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出する角度検出部と、
    上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出する傾き検出部と
    を具える情報処理装置。
  2. 上記認識部は、
    上記筐体の所定面に接触している1又は複数の物体の形状を認識する
    請求項1に記載の情報処理装置。
  3. 上記角度検出部は、
    上記認識部により複数の物体の形状が認識されると、当該複数の物体の形状に基づいて、当該複数の物体それぞれの上記所定面上での角度を検出し、
    上記傾き検出部は、
    上記角度検出部により検出された複数の物体それぞれにおける上記角度の変化のなかで、最も大きい角度の変化に基づいて、上記筐体の傾きを検出する
    請求項2に記載の情報処理装置。
  4. 上記認識部により複数の物体の形状が認識されている場合にのみ、上記傾き検出部により検出された上記筐体の傾きに応じて所定の処理を実行する制御部
    を具える請求項2に記載の情報処理装置。
  5. 上記認識部により認識された物体の形状に基づいて、上記物体の上記所定面上に接触している部分の重心を検出する重心検出部と、
    上記角度検出部により検出された物体の角度の変化に伴って、上記重心検出部により検出された上記重心が移動したかどうかを判別する判別部
    を具え、
    上記傾き検出部は、
    上記判別部により上記物体の角度の変化に伴って上記重心が移動していないと判別された場合にのみ、上記物体の角度の変化に基づいて、上記筐体の傾きを検出する
    請求項1に記載の情報処理装置。
  6. 認識部が、筐体の所定面に接触している物体の形状を認識し、
    角度検出部が、上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出し、
    傾き検出部が、上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出する
    傾き検出方法。
  7. コンピュータに、
    認識部が、筐体の所定面に接触している物体の形状を認識するステップと、
    角度検出部が、上記認識部により認識された物体の形状に基づいて、上記所定面上での物体の角度を検出するステップと、
    傾き検出部が、上記角度検出部により検出された物体の角度の変化に基づいて、上記筐体の傾きを検出するステップと
    を実行させる傾き検出プログラム。
JP2009100171A 2009-04-16 2009-04-16 情報処理装置、傾き検出方法及び傾き検出プログラム Pending JP2010250610A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009100171A JP2010250610A (ja) 2009-04-16 2009-04-16 情報処理装置、傾き検出方法及び傾き検出プログラム
US12/755,946 US20100263946A1 (en) 2009-04-16 2010-04-07 Information processing apparatus, inclination detection method and inclination detection program
CN201010145668.7A CN101866227B (zh) 2009-04-16 2010-04-09 信息处理设备和倾斜度检测方法
EP10250757A EP2241958A1 (en) 2009-04-16 2010-04-12 Information processing apparatus, inclination detection method and inclination detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009100171A JP2010250610A (ja) 2009-04-16 2009-04-16 情報処理装置、傾き検出方法及び傾き検出プログラム

Publications (1)

Publication Number Publication Date
JP2010250610A true JP2010250610A (ja) 2010-11-04

Family

ID=42320958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009100171A Pending JP2010250610A (ja) 2009-04-16 2009-04-16 情報処理装置、傾き検出方法及び傾き検出プログラム

Country Status (4)

Country Link
US (1) US20100263946A1 (ja)
EP (1) EP2241958A1 (ja)
JP (1) JP2010250610A (ja)
CN (1) CN101866227B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012164225A (ja) * 2011-02-08 2012-08-30 Yamaha Corp ユーザーインターフェイス装置
WO2013145804A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102044064A (zh) * 2009-10-23 2011-05-04 鸿富锦精密工业(深圳)有限公司 影像处理系统及方法
KR101718893B1 (ko) 2010-12-24 2017-04-05 삼성전자주식회사 터치 인터페이스 제공 방법 및 장치
JP5684621B2 (ja) * 2011-03-28 2015-03-18 京セラ株式会社 電子機器、表示制御方法及び表示制御プログラム
KR20130030406A (ko) * 2011-09-19 2013-03-27 엘지전자 주식회사 이동 단말기
KR101862706B1 (ko) * 2011-09-23 2018-05-30 삼성전자주식회사 휴대용 단말기에서 자동 화면 회전을 방지하기 위한 장치 및 방법
US20130088434A1 (en) * 2011-10-06 2013-04-11 Sony Ericsson Mobile Communications Ab Accessory to improve user experience with an electronic display
TWI450150B (zh) * 2011-12-21 2014-08-21 Wistron Corp 觸控方法及觸控系統
US20130248691A1 (en) * 2012-03-23 2013-09-26 Google Inc. Methods and Systems for Sensing Ambient Light
JP6000797B2 (ja) * 2012-10-17 2016-10-05 シャープ株式会社 タッチパネル式入力装置、その制御方法、および、プログラム
CN104184868B (zh) * 2013-05-22 2019-01-29 中兴通讯股份有限公司 一种调节通话音量的方法、装置及移动终端
KR20140141305A (ko) * 2013-05-31 2014-12-10 삼성전기주식회사 화면분할이 가능한 이동통신단말기 및 그 제어방법
JP5706494B2 (ja) * 2013-09-20 2015-04-22 ヤフー株式会社 配信装置、端末装置、配信方法及び配信プログラム
JP6095614B2 (ja) * 2014-07-18 2017-03-15 ヤフー株式会社 情報表示プログラム、配信装置、情報表示方法および情報表示装置
JP6130335B2 (ja) * 2014-07-18 2017-05-17 ヤフー株式会社 情報表示プログラム、配信装置、情報表示方法および情報表示装置
KR20160124536A (ko) * 2015-04-20 2016-10-28 삼성전자주식회사 사용자 인터페이스를 제공하는 방법 및 전자장치
CN112249980B (zh) * 2020-08-26 2022-04-01 宁波如意股份有限公司 一种三支点电动叉车防倾翻的方法及防倾翻机构

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7469381B2 (en) * 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
JP4635342B2 (ja) * 2001-01-10 2011-02-23 ソニー株式会社 情報処理端末および方法
CN100578435C (zh) * 2005-07-08 2010-01-06 三菱电机株式会社 触摸面板显示装置以及便携设备
US7612786B2 (en) * 2006-02-10 2009-11-03 Microsoft Corporation Variable orientation input mode
US7552402B2 (en) * 2006-06-22 2009-06-23 Microsoft Corporation Interface orientation using shadows
JP4991458B2 (ja) * 2007-09-04 2012-08-01 キヤノン株式会社 画像表示装置及びその制御方法
US8125458B2 (en) * 2007-09-28 2012-02-28 Microsoft Corporation Detecting finger orientation on a touch-sensitive device
JP2009116769A (ja) * 2007-11-09 2009-05-28 Sony Corp 入力装置、入力装置の制御方法、及びプログラム
US20090167702A1 (en) * 2008-01-02 2009-07-02 Nokia Corporation Pointing device detection
US8319832B2 (en) * 2008-01-31 2012-11-27 Denso Corporation Input apparatus and imaging apparatus
US20090207138A1 (en) * 2008-02-18 2009-08-20 Sony Ericsson Mobile Communications Ab Selecting a layout

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012164225A (ja) * 2011-02-08 2012-08-30 Yamaha Corp ユーザーインターフェイス装置
WO2013145804A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JPWO2013145804A1 (ja) * 2012-03-28 2015-12-10 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US9582096B2 (en) 2012-03-28 2017-02-28 Sony Corporation Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
CN101866227A (zh) 2010-10-20
EP2241958A1 (en) 2010-10-20
CN101866227B (zh) 2013-07-31
US20100263946A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
JP2010250610A (ja) 情報処理装置、傾き検出方法及び傾き検出プログラム
JP5267229B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
ES2681653T3 (es) Método y terminal para reproducción de contenido multimedia
US9507507B2 (en) Information processing apparatus, information processing method and program
US7710409B2 (en) Method and apparatus for use of rotational user inputs
US8136052B2 (en) Touch screen device and operating method thereof
KR102126292B1 (ko) 이동 단말에서 화면 표시 방법 및 이를 위한 이동 단말
US7046230B2 (en) Touch pad handheld device
KR101544364B1 (ko) 듀얼 터치 스크린을 구비한 휴대 단말기 및 그 컨텐츠 제어방법
JP4672757B2 (ja) 加速されたスクロールを行う装置
KR101419701B1 (ko) 멀티미디어 재생장치에서 멀티 터치를 이용한 재생 제어 방법
US8446370B2 (en) Touch pad for handheld device
US8552990B2 (en) Touch pad for handheld device
JP2011150414A (ja) 情報処理装置、操作入力決定方法及び操作入力決定プログラム
JP2007280461A (ja) 再生装置、ユーザインターフェイス制御方法、プログラム
US20100164886A1 (en) Electronic apparatus and input control method
KR102134882B1 (ko) 컨텐츠 재생을 제어하기 위한 방법 및 장치
KR101183769B1 (ko) 터치 감지형 디스플레이 및 그 제어 방법
US9413870B2 (en) Terminal capable of controlling attribute of application based on motion and method thereof
JP2007156922A (ja) 処理指示受付方法、電子機器、及びコンピュータプログラム
JP2010277606A (ja) 電子機器、入力制御方法