以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置(例えば、図1の情報処理装置10)は、
ユーザによる操作を受け付ける受付手段(例えば、図1の圧力センサ311乃至3128)と、
前記受付手段の歪みに対応する値である滑り検出値を演算する滑り演算手段(例えば、図7の滑り演算部104)と、
前記滑り検出値と、前記受付手段に割り当てられた機能とに基づいて、表示を制御する表示制御手段(例えば、図7の表示制御部112)と
を備える。
本発明の一側面の情報処理装置は、
前記操作に対応して前記受付手段にかかる圧力の中心位置を演算する圧力中心演算手段(例えば、図7の圧力中心演算部102)と、
前記圧力中心演算手段により演算された中心位置の時間的変化を用いて、前記中心位置の移動値または移動速度を演算する圧力中心移動演算手段(例えば、図7の圧力中心移動演算部103または図9の圧力中心速度演算部123)と
をさらに備え、
前記滑り演算手段は、前記移動値または移動速度を用いて前記滑り検出値を演算する。
本発明の一側面の情報処理装置は、
前記圧力値に基づいて、前記操作による前記受付手段に対する前記ユーザの接触を検出する接触検出手段(例えば、図7の接触検出部101)
をさらに備え、
前記表示制御手段は、前記接触検出手段により前記ユーザの接触が検出された場合、前記機能に関する情報である機能情報(例えば、ハイライトの図1の機能ボタン21)を表示させる。
本発明の一側面の情報処理装置は、
前記接触検出手段により前記ユーザの接触が検出された場合、前記圧力値に基づいて、前記操作による前記受付手段に対する前記ユーザの接触の位置である接触位置を検出する接触位置検出手段(例えば、図15の接触位置検出部203)
をさらに備え、
前記機能は、前記受付手段の位置によって異なり、
前記表示制御手段は、前記接触検出手段により前記ユーザの接触が検出された場合、前記接触位置に対応する機能の機能情報(例えば、図11の機能ボタン151乃至153)を表示させる。
本発明の一側面の情報処理方法は、
ユーザによる操作を受け付ける受付手段(例えば、図1の圧力センサ311乃至3128)を備え、前記操作に応じて表示を制御する情報処理装置(例えば、図1の情報処理装置10)の情報処理方法において、
前記受付手段の歪みに対応する値である滑り検出値を演算し(例えば、図8のステップS15)、
前記滑り検出値と、前記受付手段に割り当てられた機能とに基づいて、表示を制御する(例えば、図10のステップS37)
ステップを含む。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
なお、本実施の形態では、本発明を携帯用の表示部・操作ボタン一体型情報処理装置に適用した場合について説明する。
図1と図2は、本発明を適用した情報処理装置の第1の実施の形態の外観構成例を示している。なお、図1と図2では、説明の便宜上、ユーザの手が透視して表されている。
また、以下の説明では、情報処理装置10を操作するユーザの視点に立った奥行き方向をx方向、上下方向をy方向、左右方向をz方向とする。
図1と図2に示すように、情報処理装置10のx方向に垂直な面の略中央には、ディスプレイなどよりなる表示部11が設けられている。この表示部11には、画面全体に1ページ分のコンテンツが表示されるとともに、後述する滑りセンサ12の機能に関する機能情報として、機能ボタン21がハイライト表示される。
なお、情報処理装置10は、電子書籍を読むための装置であり、滑りセンサ12には、滑り検出値(詳細は後述する)に応じて表示部11の画面全体に表示される電子書籍のページを捲る機能が割り当てられている。即ち、滑りセンサ12には、所定のページを表示させる機能(例えば、1ページ目を表示させる機能、2ページ目を表示させる機能など)が複数割り当てられている。
従って、表示部11には、機能ボタン21として、ページ捲り機能を表す両方向の矢印が表示されたボタンがハイライト表示される。なお、ハイライト表示とは、他の表示と異なる色での表示または他の表示より高い輝度での表示を指す。
また、情報処理装置10の右側面には滑りセンサ12が設けられている。これにより、ユーザは、情報処理装置10の側部を両手で把持した状態で、右手の親指で滑りセンサ12に接触することができる。滑りセンサ12は、x方向に2個並べられ、y方向に14個並べられた、合計28個の面積が等しい静電容量型圧力センサなどの圧力センサ311乃至3128により構成される。圧力センサ311乃至3128は、ユーザによる滑りセンサ12への操作を受け付け、その操作に対応してかかる圧力の圧力値を検知する。
なお、以下では、圧力センサ311乃至3128を特に区別する必要がない場合、それらをまとめて圧力センサ31という。
ユーザは、情報処理装置10を用いて電子書籍を読む場合、図1に示すように、情報処理装置10の側部を両手で把持し、滑りセンサ12の上に右手の親指を配置する。このとき、情報処理装置10は、滑りセンサ12への接触を検出し、機能ボタン21がハイライト表示される。
その後、ユーザは、図2に示すように、書籍のページを捲ってページを飛ばしていくような感覚で、滑りセンサ12に配置した右手の親指を、例えば手前側から奥側に向かって滑らせる。このとき、情報処理装置10は、滑りセンサ12により検出された滑り検出値に応じて表示部11の画面全体に表示させるページを変更し、これにより、表示部11の画面全体には、より後方のページのコンテンツが表示される。図1と図2の例では、最初に表示部11の画面全体に表示されていた10ページ目のコンテンツが、283ページ目のコンテンツに変更される。
なお、滑り検出値とは、各圧力センサ31の歪みに対応する値であり、滑りセンサ12と指の相対運動である滑りを表す値である。
図3は、図1や図2の情報処理装置10のハードウェア構成例を示している。
図3のCPU(Central Processing Unit)41は、ROM(Read Only Memory)42に記憶されているプログラム、または、記録部48からRAM(Random Access Memory)43にロードされたプログラムにしたがって各種の処理を実行する。RAM(Random Access Memory)43にはまた、CPU41が各種の処理を実行する上において必要なデータなども適宜記憶される。
これらのCPU41,ROM42、およびRAM43は、バス44により相互に接続されている。なお、CPU41,ROM42、およびRAM43は、マイクロコンピュータにより構成されるようにしてもよい。
CPU41にはまた、バス44を介して入出力インターフェース45が接続されている。入出力インターフェース45には、滑りセンサ12(図1)などよりなる入力部46、表示部11などよりなる出力部47が接続されている。
CPU41は、例えば、後述する記録部48に記録されている電子書籍のコンテンツを読み出し、ページ単位で表示部11の画面全体に表示させる。また、CPU41は、滑りセンサ12への接触が検出された場合、機能ボタン21をハイライト表示させる。従って、滑りセンサ12に機能情報を印字する必要がなくなり、滑りセンサ12を小型化することができる。
さらに、CPU41は、滑りセンサ12から入力される滑り検出値に応じて、表示部11に表示させるコンテンツのページを変更する。
入出力インターフェース45にはまた、ハードディスクなどからなる記録部48と、モデム、ターミナルアダプタなどより構成される通信部49が接続されている。記録部48は、電子書籍のコンテンツなどを記録する。通信部49は、ネットワークを介して外部の装置と有線通信または無線通信する。
なお、情報処理装置10には、記録部48と通信部49が備えられていなくてもよい。この場合、電子書籍のコンテンツは、例えば、ROM42に予め記憶される。
入出力インターフェース45には、さらにドライブ50が接続されている。ドライブ50は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア51が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部48にインストールされる。
なお、プログラムは、通信部49を介して取得され、記録部48に記録されてもよい。また、情報処理装置10は、上述したブロック以外にも、様々な機能(例えば、電話通信機能など)を実行するブロックを、必要に応じて設けることができる。
次に、図4乃至図6を参照して、滑りセンサ12を構成する圧力センサ31の圧力値について説明する。
なお、図4乃至図6では、説明の便宜上、滑りセンサ12の4個の圧力センサ311,312,3115、および3116についてのみ説明するが、他の圧力センサ31の圧力値についても同様である。また、図4乃至図6では、説明の便宜上、ユーザの親指が透視して表されている。
図4に示すように、ユーザが親指を滑りセンサ12に接触させていない場合、図4に示すように、圧力センサ311,3115,312、および3116の圧力値は全て0になる。
また、図5に示すように、ユーザが滑りセンサ12の圧力センサ3115および3116付近の領域81に親指を接触させた場合、図5に示すように、圧力センサ3115および3116の圧力値は、圧力センサ311および312の圧力値に比べて大きくなる。図5の例では、圧力センサ3115の圧力値が最大の5.4となり、圧力センサ3116の圧力値が2番目に大きい3.6となる。また、圧力センサ311および312の圧力値は、それぞれ、2.8,2.1となる。
さらに、図6に示すように、ユーザが、領域81に親指を接触させ、押下した場合、図6に示すように、圧力センサ311,3115,312、および3116の圧力値は、図5の場合に比べて大きくなる。図6の例では、圧力センサ311,3115,312、および3116の圧力値は、それぞれ、28.0,54.0,21.0,36.0となる。
以上のように、ユーザの操作に応じて、圧力センサ31により検出される圧力値は変化するので、滑りセンサ12は、その圧力値を用いて、接触や押下などのユーザの操作を検出することができる。
図7は、滑りセンサ12とCPU41の機能的構成例を示している。
図7の滑りセンサ12は、圧力検知部100、接触検出部101、圧力中心演算部102、圧力中心移動演算部103、および滑り演算部104により構成される。
圧力検知部100は、28個の圧力センサ31に対応し、28個の各圧力センサ31の圧力値を検知する。圧力検知部100は、各圧力センサ31の圧力値を、接触検出部101および圧力中心演算部102並びに後述するCPU41の捲り量演算部111に入力する。
接触検出部101は、各圧力センサ31の圧力値を用いて、滑りセンサ12における接触検出を行い、接触検出したことを表す検出情報を、後述するCPU41の表示制御部112に供給する。また、接触検出部101は、接触検出が行われた各圧力センサ31の圧力値を、圧力中心演算部102に供給する。
圧力中心演算部102は、各圧力センサ31の圧力値を用いて、圧力中心位置を演算するか、または接触検出部101により接触検出が行われた各圧力センサ31の圧力値を用いて、圧力中心位置を演算する。
なお、各圧力センサ31の圧力値が直接用いられる場合には、接触検出部101は、接触検出が行われた各圧力センサ31の圧力値を圧力中心演算部102に供給する必要はない。逆に、接触検出部101により接触検出が行われた各圧力センサ31の圧力値が用いられる場合には、滑りセンサ12からの各圧力センサ31の圧力値を圧力中心演算部102に供給する必要はない。
圧力中心移動演算部103は、圧力中心演算部102により演算された圧力中心位置を時系列に蓄積する。圧力中心移動演算部103は、例えば、その蓄積された圧力中心位置の移動平均値の差分、または、圧力中心位置の差分を求め、求められた差分を、圧力中心移動演算値として、滑り演算部104に供給する。
滑り演算部104は、圧力中心移動演算部103からの圧力中心移動演算値を用いて、圧力中心移動検出演算を行う。そして、滑り演算部104は、その演算結果を用いて滑り検出演算を行い、その結果得られる滑り検出値を、捲り量演算部111に供給する。
また、図7のCPU41は、捲り量演算部111と表示制御部112により構成される。
捲り量演算部111は、圧力検知部100から供給される各圧力センサ31の圧力値、滑り演算部104から供給される滑り検出値、および、滑りセンサ12に割り当てられたページ捲り機能に基づいて、表示部11の画面全体に表示される電子書籍のページの変更量である捲り量を演算する。そして、捲り量演算部111は、その捲り量を表示制御部112に供給する。
表示制御部112は、接触検出部101から供給される検出情報に応じて、機能ボタン21をハイライト表示させる。また、表示制御部112は、捲り量演算部111から供給される捲り量に基づいて、表示部11の画面全体に表示させる電子書籍のページを変更する。
次に、図8のフローチャートを参照して、図7の滑りセンサ12による滑り演算処理について説明する。この滑り演算処理は、例えば、情報処理装置10の電源がオンにされたとき、即ち滑りセンサ12の処理が実行可能になったとき、開始される。
ステップS10において、圧力検知部100は、28個の各圧力センサ31の圧力値を検知し、接触検出部101、圧力中心演算部102、および捲り量演算部111に入力する。
ステップS11において、接触検出部101は、圧力検知部100から供給される各圧力センサ31の圧力値を用いて、滑りセンサ12における接触検出を行い、検出情報を表示制御部112に供給する。
具体的には、例えば、滑りセンサ12を構成する圧力センサ31のx方向の数をm個(x=0,1,2,・・・,m-1)とし、y方向の数をn個(y=0,1,2,・・・,n-1)とすると、接触検出部101は、それぞれの圧力センサ31の圧力値P(x,y)がある閾値th(x,y)を超えた場合、即ち、次の式(1)を満たした場合、滑りセンサ12における接触検出を行い、検出情報を表示制御部112に供給する。なお、閾値th(x,y)は、全ての圧力センサ31に対して同じ値であってもよい。
また、接触検出部101は、各圧力センサ31の圧力値P(x,y)の総和がある閾値thを超えた場合、即ち、次の式(2)を満たしたとき、滑りセンサ12における接触検出を行うようにしてもよい。
ステップS12において、接触検出部101は、接触検出が行われた各圧力センサ31の圧力値を、圧力中心演算部102に出力する。
具体的には、次の式(3)で示すように、接触検出部101は、圧力値P(x,y)が閾値th(x,y)より大きい圧力センサ31については、その圧力センサ31の圧力値Pc(x,y)として、圧力検知部100から入力される圧力値P(x,y)をそのまま出力するが、圧力値P(x,y)が閾値th(x,y)以下である圧力センサ31については、その圧力センサ31の圧力値Pc(x,y)として0を出力する。
ステップS13において、圧力中心演算部102は、接触検出部101から供給される各圧力センサ31の圧力値を用いて、圧力中心位置を求める。あるいはまた、圧力検知部100からの各圧力センサ31の圧力値を用いて、圧力中心位置が求められる。
具体的には、接触検出部101から供給される各圧力センサ31の圧力値をPc(x,y)として、各圧力センサ31の単位面積をS(x,y)とすると、圧力中心位置COPxおよびCOPyは、次の式(4)で求められる。なお、圧力中心位置COPxおよびCOPyは、それぞれ圧力中心位置のx座標とy座標を表している。
即ち、式(4)の右辺の分母は、圧力センサ31の面に垂直な法線方向にかかる力の総和であり、右辺の分子は、トルクの総和であるので、式(4)によれば、トルクがかかっている位置の代表点としての圧力中心位置が求められる。
なお、図1や図2の実施の形態の場合のように、各圧力センサ31の単位面積S(x,y)が全て同じである場合、圧力中心位置COPxおよびCOPyは、簡易的に、次の式(5)で求めることができる。
なお、式(4)および式(5)は、接触検出部101から各圧力センサ31の圧力値が供給される場合の式である。接触検出部101から各圧力センサ31の圧力値が供給されず、圧力中心演算部102が、圧力検知部100から供給される圧力値P(x,y)を直接用いて圧力中心位置COPxとCOPyを求める場合には、式(4)および式(5)において、圧力センサ31の圧力値P(x,y)が、そのまま圧力値Pc(x,y)として用いられる。
また、図1や図2の実施の形態の場合、圧力センサ31が情報処理装置10の右側面のx方向およびy方向に配置されているが、圧力センサ31が、x方向およびy方向のいずれか一方にだけ配置される場合も同様に、圧力中心位置COPxとCOPyを求めることができる。
例えば、圧力センサ31がx方向だけに配置された場合は、nは1であり、圧力中心位置COPxだけが求められる。また、圧力センサ31がy方向だけに配置された場合は、mは1であり、圧力中心位置COPyだけが求められる。
以上のようにして求められる圧力中心位置COPxは、0以上m-1以下の値であり、圧力中心位置COPyは、0以上n-1以下の値となる。この圧力中心位置COPxとCOPyは圧力中心移動演算部103に出力される。
なお、圧力中心演算部102は、圧力中心位置COPxとCOPyをそのまま圧力中心移動演算部103に出力するのではなく、圧力中心位置COPxとCOPyを正規化したものを圧力中心移動演算部103に出力してもよい。
この場合、圧力中心演算部102は、圧力中心位置COPxをm-1で除算し、圧力中心位置COPyをn-1で除算することにより、圧力中心位置COPxとCOPyを正規化する。これにより、正規化後の圧力中心位置NCOPxとNCOPyは、それぞれ、0以上1以下の値となる。
このように、圧力中心演算部102が圧力中心位置NCOPxとNCOPyを正規化する場合、圧力センサ31の数の違いなどのハードウェアの違いが吸収され、圧力中心移動演算部103を実現するプログラムを、ハードウェアの異なる複数種類の情報処理装置で共通化することができる。
ステップS14において、圧力中心移動演算部103は、圧力中心演算部102からの圧力中心位置COPxとCOPyを時系列に蓄積し、圧力中心移動演算を行う。即ち、圧力中心移動演算部103は、例えば、その蓄積された圧力中心位置の移動平均値の差分、または、圧力中心位置の差分を求め、求められた差分を、圧力中心移動演算値として、滑り演算部104に出力する。
例えば、圧力中心移動演算部103は、微小な変動分を吸収するため、圧力中心位置COPxの時系列情報である圧力中心位置COPx(t)および圧力中心位置COPyの時系列情報である圧力中心位置COPy(t)に対して、ローパスフィルタの処理、または移動平均処理を行う。ここでは、演算がより簡単な移動平均処理を用いた場合について説明する。なお、変動(ノイズ)が少ない場合には、ローパスフィルタ処理や移動平均処理を行わなくてもよい。
移動平均をとるサンプリングの数をMとすると、移動平均値COPxMA(t)およびCOPyMA(t)は、時系列で蓄積された圧力中心位置COPx(t)およびCOPy(t)を用いて、次の式(6)で表される。
圧力中心移動演算部103は、求められた移動平均値COPxMA(t)およびCOPyMA(t)も時系列で蓄積する。そして、圧力中心移動演算部103は、次の式(7)にしたがって、蓄積された移動平均値COPxMA(t)およびCOPyMA(t)を用いて、圧力中心移動演算値Dx(t,i)およびDy(t,i)を演算する。
なお、式(7)においては、iはサンプリング時刻(タイミング)を表わし、例えば、時刻tの移動平均値と、時刻t-1、時刻t-2、および時刻t-3などの移動平均値との差分が求められる。即ち、複数回の移動平均値の時間変化が求められる。この移動平均値の差分である圧力中心移動演算値Dx(t,i)およびDy(t,i)は、滑り演算部104に出力される。
ステップS15において、滑り演算部104は、圧力中心移動演算部103からの圧力中心移動演算値Dx(t,i)およびDy(t,i)を用いて、圧力中心移動検出演算を行い、さらに、その演算結果を用いて滑り検出演算を行うことにより、滑り検出値を求める。
具体的には、滑り演算部104は、まず最初に、圧力中心移動演算値Dx(t,i)およびDy(t,i)に、その大きさに応じた係数を乗算することで圧力中心移動検出演算を行う。
詳細には、滑り演算部104は、まず最初に、圧力中心移動演算部103からの圧力中心移動演算値Dx(t,i)およびDy(t,i)を用いて、次の式(8)を演算し、移動検出係数Kx(i)およびKy(i)を求める。
なお、式(8)において、thresholdは一定値である。また、式(8)において、Csは0より大きい定数であり、ClはCsより大きい定数である。例えば、Csとして1を用い、Clとして2を用いることができる。
式(8)において、threshold・iは、iが大きくなると大きくなる値である。従って、移動検出係数Kx(i)およびKy(i)は、圧力中心移動演算値Dx(t,i)およびDy(t,i)の大きさと、時間に応じて大きくなる値(threshold・i)との比較結果に応じて求められる係数である。なお、thresholdは可変の値であってもよい。
次に、滑り演算部104は、式(7)および式(8)により求められた値を用いて、以下の式(9)にしたがって、圧力中心移動検出演算を行う。
その後、滑り演算部104は、式(9)により求めた値Mdx(t,i)およびMdy(t,i)を用いて、以下の式(10)にしたがう滑り検出演算を行う。
式(10)により求められる滑り検出値Sdx(t)およびSdy(t)は、滑りの量が増大すると値が増加し、滑りの方向成分(x座標成分とy座標成分の割合)がほぼ保存される性質を有する値である。即ち、滑り検出値SdxおよびSdyは、滑りの量と、滑りの方向(滑り検出値Sdx(t)とSdy(t)を、それぞれx方向とy方向のベクトル成分とする方向)を表す値である。この滑り検出値SdxおよびSdyは、捲り量演算部111に供給される。
なお、式(10)におけるサンプリング総数Nの値を大きくし、式(8)におけるthresholdを小さくすることで、非常にゆっくりと滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくし、thresholdを大きくすることで、高速に滑った場合の滑りのみ滑り検出値SdxおよびSdyに反映させることができる。
従って、滑り演算部104においては、複数のサンプリング総数N(例えば、サンプリング総数N1とサンプリング総数N2)に対して、また複数のthreshold(例えば、threshold1とthreshold2)に対して演算を行うことで、複数の種類の滑り検出値Sdx(t)およびSdy(t)を取得することができ、それらを使用目的に応じて使い分けることができる。
なお、上述したステップS14において求められる圧力中心移動演算値Dx(t,i)およびDy(t,i)は、式(7)に限らず、例えば、圧力中心位置COPx(t)およびCOPy(t)の変動が少ない場合には、時系列で蓄積された圧力中心位置COPx(t)およびCOPy(t)を用いて、次の式(11)で求めることも可能である。
この場合、上述したステップS15において求められる滑り検出値Sdx(t)およびSdy(t)は、式(10)に限らず、次のようにして求めることも可能である。
例えば、圧力中心位置COPx(t)およびCOPy(t)の変動が極めて少ない場合、滑り検出値Sdx(t)およびSdy(t)は、それぞれ圧力中心移動演算値Dx(t,i)およびDy(t,i)のiを1として、次の式(12)で求めることが可能である。
また、上記ほどではないが、圧力中心位置COPx(t)およびCOPy(t)の変動が少ない場合、滑り検出値Sdx(t)およびSdy(t)は、それぞれ圧力中心移動演算値Dx(t,i)およびDy(t,i)のiをサンプリング総数Nとして演算することが可能である。この場合、滑り検出値Sdx(t)およびSdy(t)は、次の式(13)で表される。
なお、式(13)におけるサンプリング総数Nの値を大きくすることで、非常にゆっくりと滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくすることで、高速に滑った場合の滑りのみ滑り検出値Sdx(t)およびSdy(t)に反映させることができる。
また、上述したステップS14において圧力中心位置COPx(t)およびCOPy(t)の移動平均をとる場合も同様に、滑り検出値Sdx(t)およびSdy(t)を、以下の式(14)で示すように、圧力中心移動演算値Dx(t,i)およびDy(t,i)のiを1として演算したり、以下の式(15)で示すように、圧力中心移動演算値Dx(t,i)およびDy(t,i)のiをサンプリング総数Nとして演算したりすることができる。
なお、式(15)においても、式(13)の場合と同様に、式(15)におけるサンプリング総数Nの値を大きくすることで、非常にゆっくりと滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくすることで、高速に滑った場合の滑りのみ滑り検出値Sdx(t)およびSdy(t)に反映させることができる。
さらに、滑り検出値SdxおよびSdyは、上述した式(7)乃至式(15)により求めることもできるが、以下のように、圧力中心速度を利用して求めることもできる。この場合、滑りセンサ12において、図7の圧力中心移動演算部103と滑り演算部104に代えて、図9に示すように、圧力中心速度演算部123と滑り演算部124が設けられる。
圧力中心速度演算部123は、圧力中心移動演算部103と同様に、圧力中心演算部102により演算された圧力中心位置を時系列に蓄積する。また、圧力中心速度演算部123は、式(6)により移動平均値COPxMA(t)およびCOPyMA(t)を求め、時系列で蓄積する。圧力中心速度演算部123は、蓄積された移動平均値COPxMA(t)およびCOPyMA(t)を用いて、次の式(16)にしたがい、x座標とy座標の圧力中心速度演算値Vx(t,i)およびVy(t,i)を求める。
なお、式(16)においてTsはサンプリング時間を表す。式(16)によれば、例えば、時刻tの移動平均値と、時刻t-1、時刻t-2、および時刻t-3などの移動平均値との差分が求められ、それをかかった時間で除算することで速度が求められる。即ち、複数回の移動平均値の時間変化のそれぞれを用いて複数回の平均速度が求められる。この移動平均値の平均速度である圧力中心速度演算値Vx(t,i)およびVy(t,i)は、滑り演算部124に出力される。
滑り演算部124は、圧力中心速度演算部123からの圧力中心速度演算値Vx(t,i)およびVy(t,i)を用いて、滑り検出値SdxおよびSdyを検出する。具体的には、滑り演算部124は、まず最初に、速度検出係数Kx(i)およびKy(i)を、式(17)を用いて求める。
なお、式(17)において、thresholdは一定値である。また、式(17)において、Csは0より大きい定数であり、ClはCsより大きい定数である。例えば、Csとして1を用い、Clとして2を用いることができる。
式(17)によれば、速度検出係数Kx(i)およびKy(i)は、圧力中心速度演算値Vx(t,i)およびVy(t,i)の大きさに応じて求められる。なお、thresholdは可変の値であってもよい。
そして、滑り演算部124は、式(16)および式(17)により求めた値を用いて、次の式(18)にしたがって圧力中心速度検出演算を行う。
以上のように、式(17)と式(18)の演算を行うことで、圧力中心速度に対して重み付けをすることができる。その結果、後述する式(19)の演算において、値が有用で、演算に用いるべき時間の圧力中心速度の値の演算結果への影響度を高めることができる。
次に、滑り演算部124は、式(18)により求めた値Mdx(t,i)およびMdy(t,i)を用いて、以下の式(19)に従い、滑り検出演算を行う。
このように、滑り検出値Sdx(t)およびSdy(t)として、複数のサンプリングのタイミング(i=t-1,t-2,・・・t-N)の値が有用なものだけ重み付けされた圧力中心速度検出演算結果の総和を用いることで、式(16)により求められた値をそのまま用いる場合に比べて、有用な値を求めることができる。
また、式(19)により求められる滑り検出値Sdx(t)およびSdy(t)は、単位時間当たりに滑るセンサ素子量、即ち滑っている速度を表し、滑っている速度が増大すると値が増加し、滑っている速度の方向成分がほぼ保存される性質を有する値である。この滑り検出値SdxおよびSdyは、捲り量演算部111に供給される。
なお、滑っている速度をセンサ素子量速度(個/時間)ではなく、通常の速度(長さ/時間)で求めたい場合には、式(4)と式(5)におけるxおよびyを素子番号ではなく、原点(素子番号x=0,y=0)からの素子間距離X(mm)およびY(mm)とする。これにより、滑っている速度を通常の速度(mm/s)で求めることができる。
また、式(19)におけるサンプリング総数Nの値を大きくし、式(17)におけるthresholdを小さくすることで、非常にゆっくりとした速度で滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくし、thresholdを大きくすることで、高速に滑った場合の滑りのみを滑り検出値Sdx(t)およびSdy(t)に反映させることができる。
従って、滑り演算部124においても、滑り演算部104と同様に、複数のサンプリング総数Nに対して、また複数のthresholdに対して演算を行うことで、複数の種類の滑り検出値Sdx(t)およびSdy(t)を取得することができ、それらを使用目的に応じて使い分けることができる。
なお、圧力中心速度演算値Vx(t,i)およびVy(t,i)は、式(16)に限らず、例えば、圧力中心位置COPx(t)およびCOPy(t)の変動が少ない場合には、次の式(20)に示すように、時系列で蓄積された圧力中心位置COPx(t)およびCOPy(t)の差分を、それぞれの時間の差分で除算することで求めることも可能である。
この場合、滑り検出値Sdx(t)およびSdy(t)は、式(19)に限らず、次のようにして求めることも可能である。
例えば、圧力中心位置COPx(t)およびCOPy(t)の変動が極めて少ない場合、滑り検出値Sdx(t)およびSdy(t)は、それぞれ圧力中心速度演算値Vx(t,i)およびVy(t,i)のiを1として、次の式(21)で求めることが可能である。
また、上記ほどではないが、圧力中心位置COPx(t)およびCOPy(t)の変動が少ない場合、滑り検出値Sdx(t)およびSdy(t)は、それぞれ圧力中心速度演算値Vx(t,i)およびVy(t,i)のiをサンプリング総数Nとして演算することが可能である。この場合、滑り検出値Sdx(t)およびSdy(t)は、次の式(22)で表される。
なお、式(13)の場合と同様に、式(22)におけるサンプリング総数Nの値を大きくすることで、非常にゆっくりと滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくすることで、高速に滑った場合の滑りのみ滑り検出値Sdx(t)およびSdy(t)に反映させることができる。
また、圧力中心速度演算部123において圧力中心位置COPx(t)およびCOPy(t)の移動平均をとる場合も同様に、滑り検出値Sdx(t)およびSdy(t)を、以下の式(23)で示すように、圧力中心速度演算値Vx(t,i)およびVy(t,i)のiを1として演算したり、以下の式(24)で示すように、圧力中心速度演算値Vx(t,i)およびVy(t,i)のiをサンプリング総数Nとして演算したりすることができる。
なお、式(24)においても、式(22)の場合と同様に、式(24)におけるサンプリング総数Nの値を大きくすることで、非常にゆっくりと滑る場合の滑りも滑り検出値Sdx(t)およびSdy(t)に反映させることができ、サンプリング総数Nの値を小さくすることで、高速に滑った場合の滑りのみ滑り検出値Sdx(t)およびSdy(t)に反映させることができる。
次に、図10のフローチャートを参照して、CPU41によるページ捲り処理について説明する。このページ捲り処理は、例えば、情報処理装置10の電源がオンにされたとき、即ちCPU41の処理が実行可能になったとき、開始される。なお、ページ捲り処理の開始時には、表示部11の画面全体に、所定の電子書籍の所定のページ(例えば、先頭のページ)のコンテンツが表示されているものとする。
ステップS31において、表示制御部112は、ユーザが滑りセンサ12に接触したか、即ち、接触検出部101から検出情報が供給されたかを判定する。ステップS31で、ユーザが滑りセンサ12に接触していないと判定された場合、即ち接触検出部101から検出情報が供給されていない場合、処理はステップS39に進む。
一方、ステップS31で、ユーザが滑りセンサ12に接触したと判定された場合、即ち接触検出部101から検出情報が供給された場合、ステップS32において、表示制御部112は、接触検出部101から供給される検出情報に応じて、表示部11に機能ボタン21をハイライト表示させる。
ステップS33において、表示制御部112は、ユーザが滑りセンサ12に対する操作を終了したか、即ち接触検出部101から検出情報が供給されなくなったかを判定する。
ステップS33で、ユーザが滑りセンサ12に対する操作を終了していないと判定された場合、即ち接触検出部101からの検出情報の供給が継続している場合、ステップS34において、捲り量演算部111は、図8のステップS15で滑り演算部104から供給される滑り検出値と、図8のステップS10で圧力検知部100から供給される各圧力センサ31の圧力値を取得する。
ステップS35において、捲り量演算部111は、ステップS34で取得された滑り検出値および各圧力センサ31の圧力値と、滑りセンサ12に割り当てられたページ捲り機能とに基づいて捲り量を演算し、表示制御部112に供給する。
ここで、捲り量の演算方法について説明する。
通常、人間が書籍のページを一気に捲る際には、親指を書籍の側面に当てて捲りたい方向に動かしてページを捲る。その際の力のかけ方、親指の動かし方を観察すると、高速にページを捲りたいときには、人間は親指の接触圧力を下げて、高速に親指を滑らせる。一方、ゆっくりページを捲りたいときには、人間は、ある程度親指でページを押さえながら、即ち圧力をかけながら、比較的低速で親指を動かす。また、高速でページを捲っているときに、ページ捲りを止めたくなったときには、指先でページを押さえる動作を行う。
従って、ユーザが滑りセンサ12に対して直感的な操作を行うことを可能にするためには、捲り量は、滑り検出値に比例し、滑りセンサ12にかかる力に反比例する必要がある。
また、通常の書籍では、書籍の厚みがページ総数に応じて変化するため、指先の移動量と捲り量の関係は一定であり、捲り量は指先の移動量に基づいて一意に決まる。しかしながら、情報処理装置10では、情報処理装置10の厚みが固定されているが、電子書籍の情報量は不定であり、情報量によってページ総数が異なる。従って、指先の移動量と捲り量の関係は、情報処理装置10の厚みと電子書籍のページ総数によって変化する。
以上のことを考慮して、捲り量演算部111は、各圧力センサ31により検出される圧力値P(x,y)、各圧力センサ31の単位面積S(x,y)、および滑り検出値Sdx(t)を用いて、次の式(25)にしたがって捲り量Pnumを求める。
なお、式(25)においてkは、いま滑りセンサ12に割り当てられているページ捲り機能で捲ることが可能な最大のページ総数、即ち表示部11に表示させる電子書籍のページ総数に対応する比例定数である。
ステップS36において、表示制御部112は、捲り量演算部111から供給される捲り量と表示部11の画面全体に現在表示されているページのページ番号に基づいて、表示の更新が必要であるかを判定する。
具体的には、表示制御部112は、まず最初に、捲り量Pnumと、表示部11の画面全体に現在表示されているページのページ番号Pnowとに基づいて、以下の式(26)にしたがって、更新後のページ番号Pnextを決定する。
なお、式(26)において、Pminは電子書籍の最初のページのページ番号であり、Pmaxは電子書籍の最後のページのページ番号である。
次に、表示制御部112は、ページ番号Pnextがページ番号Pnowと等しい場合には、表示の更新が必要ではないと判定し、ページ番号Pnextがページ番号Pnowと等しくない場合には、表示の更新が必要であると判定する。
ステップS36で表示の更新が必要ではないと判定された場合、処理はステップS33に戻り、上述した処理が繰り返される。
一方、ステップS36で表示の更新が必要であると判定された場合、ステップS37において、表示制御部112は、ページ番号Pnextのページのコンテンツを記録部48から読み出し、表示部11の画面全体に表示させることにより、表示部11の表示を更新する。そして、処理はステップS33に戻り、上述した処理が繰り返される。
一方、ステップS33でユーザが滑りセンサ12に対する操作を終了したと判定された場合、即ち接触検出部101から検出情報が供給されなくなった場合、ステップS38において、表示制御部112は、表示部11への機能ボタン21のハイライト表示を終了し、処理はステップS39に進む。
ステップS39において、表示制御部112は、ユーザにより情報処理装置10の電源のオフが指令されたか、例えば、ユーザが入力部46を操作して情報処理装置10の電源のオフを指令したかを判定する。ステップS39で情報処理装置10の電源のオフが指令されていないと判定された場合、処理はステップS31に戻り、上述した処理が繰り返される。一方、ステップS39で情報処理装置10の電源のオフが指令されたと判定された場合、処理は終了する。
なお、上述した説明では、滑りセンサ12が圧力値を検知し、その圧力値を用いて演算された滑り量検出値と圧力値の両方に基づいて捲り量が演算されたが、滑りセンサ12が圧力値以外の値を検出する場合には、以下のようにして捲り量を決定することができる。
この場合、滑りセンサ12は、上述した式(10)や式(19)などにより得られる滑り検出値Sdx(t)およびSdy(t)と同様の性質、即ち滑りの量や滑っている速度にほぼ比例し、滑りや滑っている速度とほぼ同様の方向成分を有する値を検出する。捲り量の演算には、圧力値そのものを用いることができないので、ユーザが押下する力の加減により捲り量を変更することはできないが、滑り量検出値に比例する捲り量を求めることにより、指先の滑る感覚と捲り量をほぼ一致させることができる。
即ち、この場合、図10のステップS34において滑り検出値だけが取得され、ステップS35において、以下の式(27)にしたがって、捲り量Pnumが演算される。
なお、式(27)において、cは表示部11に表示させる電子書籍のページ総数に対応する比例定数である。
以上のように、情報処理装置10では、滑りセンサ12に複数の機能が割り当てられているので、各操作ボタンに1ずつ機能が割り当てられる場合のように、割り振りたい機能の数(ここでは電子書籍のページ総数)だけ操作ボタンを用意する必要がなく、ページ捲り機能が割り当てられる操作部を小型化することができる。その結果、情報処理装置10において、装置の小型化および表示部11と滑りセンサ12の一体化を実現することができる。
また、滑りセンサ12に割り当てたい機能の数によって、各機能に対応する滑り検出値を変更することにより、情報処理装置10を多様なアプリケーションに対応させることができる。
さらに、情報処理装置10では、滑りセンサ12により、方向成分と距離成分または速度成分の両方を有する滑り検出値が検出されるので、それぞれの成分の入力用に別々の操作ボタンを設ける必要がある場合に比べて、情報処理装置10を小型化することができる。
図11乃至図13は、本発明を適用した情報処理装置の第2の実施の形態の外観構成例を示している。
なお、図11乃至図13において、図1や図2と同一のものには同一の符号を付してあり、繰り返しになるので、説明は適宜省略する。また、図11乃至図13では、説明の便宜上、ユーザの手が透視して表されている。
さらに、以下の説明では、情報処理装置140を操作するユーザの視点に立った奥行き方向をx方向、上下方向をy方向、左右方向をz方向とする。
図11乃至図13の情報処理装置140は、電子辞書を引くための装置であり、滑りセンサ142には、表示部11の画面全体に表示される電子辞書の、滑りセンサ142におけるy方向の接触位置に対応する見出しのページを捲る辞書捲り機能が割り当てられている。即ち、滑りセンサ142には、所定の見出しの所定のページを表示させる機能(例えば、第1の見出しの1ページ目を表示させる機能、第1の見出しの2頁目を表示させる機能、第2の見出しの1ページ目を表示させる機能など)が複数割り当てられている。
なお、図11乃至図13の例では、電子辞書の種類が英和辞書であり、電子辞書の見出しはアルファベットである。
また、情報処理装置140の右側面には、x方向に2個並べられ、y方向に14個並べられた、合計28個の面積が等しい圧力センサ1611乃至16128からなる滑りセンサ142が設けられている。この滑りセンサ142は、図1の滑りセンサ12と同様に滑り検出値および圧力値の検出を行うだけでなく、さらに滑りセンサ142におけるy方向の接触位置の検出を行う。
なお、以下では、圧力センサ1611乃至16128を特に区別する必要がない場合、それらをまとめて圧力センサ161という。
ユーザは、情報処理装置140を用いて電子辞書を引く場合、まず最初に、図11や図12に示すように、情報処理装置140の側部を両手で把持し、滑りセンサ142の上に右手の親指を配置する。
このとき、情報処理装置140は、滑りセンサ142におけるy方向の接触位置を検出し、その接触位置に対応する表示部11の右側の位置に、滑りセンサ142に割り当てられた辞書捲り機能の機能情報として、機能ボタン150乃至153を表示させる。これにより、ユーザは、機能ボタン150乃至153を見ることで、滑りセンサ142を見なくても、現在自分の親指が配置されているy方向の位置を把握することができる。
機能ボタン150は、辞書捲り機能を表す矢印が表示されたボタンであり、ハイライト表示される。機能ボタン151は、接触位置に対応する電子辞書の見出しの文字が、辞書捲り機能によって表示させるページに対応する見出しの文字(以下、対象見出し文字という)として表示されたボタンであり、機能ボタン150の右隣の中央にハイライト表示される。
このように、機能ボタン150と機能ボタン151がハイライト表示されることにより、ユーザは、自分の親指の接触位置に対応する機能を容易に把握することができる。その結果、ユーザは、電子辞書を捲るための操作を容易に行うことができる。
また、機能ボタン152は、対象見出し文字の前の見出しの文字(以下、前見出し文字という)が表示されたボタンであり、機能ボタン150の右隣の上側に表示される。機能ボタン153は、対象見出し文字の後の見出しの文字(以下、後見出し文字という)が表示されたボタンであり、機能ボタン150の右隣の下側に表示される。また、表示部11の画面全体には、対象見出し文字に対応するページが表示される。
以上のように、表示部11には、機能ボタン150乃至153が表示されるので、滑りセンサ142に機能情報を印字する必要がなく、滑りセンサ142を小型化することができる。
図11の例では、ユーザが「a」から始まる英単語を調べるために、親指を滑りセンサ142の上端に接触させており、機能ボタン151には、対象見出し文字として、英和辞書の見出しの先頭の文字「a」が表示されている。また、機能ボタン153には、後見出し文字として、見出しの2番目の文字「b」が表示されている。なお、図11の例では、対象見出し文字が先頭の文字であるので、前見出し文字が存在せず、機能ボタン152は表示されない。また、表示部11の画面全体には、対象見出し文字「a」に対応するページ(図11の例では1ページ目)が表示されている。
図12の例では、ユーザが「m」から始まる英単語を調べるために、親指を滑りセンサ142の略中央に接触させており、機能ボタン151には、対象見出し文字として、英和辞書の見出しの中央の文字「m」が表示されている。また、機能ボタン152には、前見出し文字として、文字「m」の前の文字「l」が表示され、機能ボタン153には、後見出し文字として、文字「m」の後の文字「n」が表示されている。さらに、表示部11の画面全体には、対象見出し文字「m」に対応するページ(図12の例では1ページ目)が表示されている。
次に、ユーザは、図13に示すように、辞書のページを捲ってページを飛ばしていくような感覚で、滑りセンサ142に配置した右手の親指を、例えば手前側から奥側に向かって滑らせる。このとき、情報処理装置140は、対象見出し文字に対応する電子辞書のページ内で、滑りセンサ142により検出された滑り検出値に応じて表示部11の画面全体に表示させるページを変更し、これにより、表示部11の画面全体には、より後方のページのコンテンツが表示される。
例えば、図12に示したように、ユーザが親指を滑りセンサ142の略中央に接触した後、図13に示したように、滑りセンサ142に配置した親指を、手前側から奥側に向かって滑らせると、最初に表示部11の画面全体に表示されていた対象見出し文字「m」に対応するページの1ページ目のコンテンツは、より後方の123ページ目のコンテンツに変更される。
図14は、図11乃至図13の情報処理装置140のハードウェア構成例を示している。なお、図14において、図3と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
CPU181は、例えば、記録部48に記録されている電子辞書のコンテンツを読み出し、ページ単位で表示部11の画面全体に表示させる。また、CPU181は、滑りセンサ142から入力される滑りセンサ142におけるy方向の接触位置(以下、y方向接触位置という)に基づいて、表示部11に機能ボタン150および151をハイライト表示させる。
さらに、CPU181は、y方向接触位置に基づいて、機能ボタン152および153の少なくとも一方を表示させる。また、CPU181は、滑りセンサ142から入力される滑り検出値とy方向接触位置に基づいて、表示部11に表示させるコンテンツのページを変更する。
図15は、図14の滑りセンサ142とCPU181の機能的構成例を示している。なお、図15において、図7と同一のものには同一の符号を付してあり、説明は繰り返しになるので、省略する。
図14の滑りセンサ142は、圧力検知部100、圧力中心移動演算部103、滑り演算部104、接触検出部201、圧力中心演算部202、および接触位置検出部203により構成される。
接触検出部201は、各圧力センサ161の圧力値を用いて、滑りセンサ142における接触検出を行い、接触検出が行われた各圧力センサ161の圧力値を、圧力中心演算部202に供給する。
圧力中心演算部202は、図7の圧力中心演算部102と同様に、各圧力センサ161の圧力値を用いて、圧力中心位置を演算するか、または接触検出部201により接触検出が行われた各圧力センサ161の圧力値を用いて、圧力中心位置を演算する。圧力中心演算部202は、x方向およびy方向の圧力中心位置を圧力中心移動演算部103に供給するとともに、y方向の圧力中心位置を接触位置検出部203に供給する。
接触位置検出部203は、圧力中心演算部102から供給されるy方向の圧力中心位置を、y方向接触位置として検出し、捲り量演算部221と表示制御部222に供給する。
なお、ここでは、y方向の圧力中心位置が、そのままy方向接触位置として検出されるようにしたが、各圧力センサ161の圧力値を用いて所定の演算を行うことにより、y方向接触位置が検出されるようにしてもよい。この場合、圧力中心演算部102から接触位置検出部203にy方向の圧力中心位置が入力されず、圧力検知部100から接触位置検出部203に各圧力センサ161の圧力値が入力される。
図15のCPU181は、捲り量演算部221と表示制御部222により構成される。
捲り量演算部221は、圧力検知部100からの各圧力センサ161の圧力値、接触位置検出部203からのy方向接触位置、滑り演算部104からの滑り検出値、および滑りセンサ142に割り当てられた辞書捲り機能に基づいて、表示部11の画面全体に表示される電子辞書のページの変更量である捲り量を演算する。そして、捲り量演算部221は、その捲り量を表示制御部222に供給する。
表示制御部222は、接触位置検出部203から供給されるy方向接触位置に基づいて、表示部11に機能ボタン150および151をハイライト表示させるとともに、機能ボタン152および153を表示させる。また、表示制御部222は、図7の表示制御部112と同様に、捲り量演算部221から供給される捲り量に基づいて、表示部11の画面全体に表示させる電子辞書のページを変更する。
なお、図15の滑りセンサ142による滑り演算処理は、基本的に、上述した図8の滑り演算処理と同様に行われるが、図15の滑りセンサ142による滑り演算処理では、ステップS13において圧力中心位置が求められるとともに、求められたy方向の圧力中心位置が接触位置検出部203に供給され、そのy方向の圧力中心位置が接触位置検出部203によりy方向接触位置として、捲り量演算部221と表示制御部222に供給される。
次に、図16のフローチャートを参照して、CPU181による辞書捲り処理について説明する。この辞書捲り処理は、例えば、情報処理装置140の電源がオンにされたとき、開始される。なお、辞書捲り処理の開始時には、表示部11の画面全体に、所定の電子辞書の所定のページのコンテンツが表示されているものとする。
ステップS51において、表示制御部222は、ユーザが滑りセンサ142に接触したか、即ち接触位置検出部203からy方向接触位置が供給されたかを判定する。ステップS51で、ユーザが滑りセンサ142に接触していないと判定された場合、即ち接触位置検出部203からy方向接触位置が供給されていない場合、処理はステップS59に進む。
一方、ステップS51で、ユーザが滑りセンサ142に接触したと判定された場合、即ち接触位置検出部203からy方向接触位置が供給された場合、ステップS52において、表示制御部222は、接触位置検出部203から供給されるy方向接触位置に基づいて、表示部11に機能ボタン150および151をハイライト表示させるとともに、機能ボタン152および153の少なくとも一方を表示させる。
ステップS53において、表示制御部222は、ユーザが滑りセンサ142に対する操作を終了したか、即ち接触位置検出部203からy方向接触位置が供給されなくなったかを判定する。
ステップS53で、ユーザが滑りセンサ142に対する操作を終了していないと判定された場合、即ち接触位置検出部203からのy方向接触位置の供給が継続している場合、ステップS54において、捲り量演算部221は、図10のステップS34の処理と同様に、滑り演算部104から供給される滑り検出値と、圧力検知部100から供給される各圧力センサ161の圧力値を取得する。
ステップS55において、捲り量演算部221は、接触位置検出部203からのy方向接触位置、ステップS54で取得された滑り検出値および圧力値、並びに、滑りセンサ142に割り当てられた機能に基づいて捲り量を演算し、その捲り量と対象見出し文字を表示制御部222に供給する。
具体的には、捲り量演算部221は、捲り量演算部111と同様に、式(25)にしたがって捲り量を演算するが、式(25)におけるkは、いま滑りセンサ142に割り当てられている辞書捲り機能で捲ることが可能な対象見出し文字のページの最大のページ総数、対象見出し文字のページのページ総数に対応する比例定数である。これにより、情報処理装置140では、対象見出し文字に対応するページ内で、ページが捲られる。
ステップS56において、表示制御部222は、捲り量演算部221から供給される捲り量および対象見出し文字と、表示部11の画面全体に現在表示されているページのページ番号とに基づいて、表示の更新が必要であるかを判定する。
具体的には、表示制御部222は、表示制御部112と同様に、式(26)にしたがって更新後のページ番号Pnextを決定し、表示の更新が必要であるかを判定するが、式(26)において、Pminは、対象見出し文字に対応するページの最初のページ番号、Pmaxは、最後のページ番号である。
ステップS56で表示の更新が必要ではないと判定されない場合、処理はステップS53に戻り、上述した処理が繰り返される。
一方、ステップS56で表示の更新が必要であると判定された場合、ステップS57において、表示制御部222は、対象見出し文字に対応するページ番号Pnextのページのコンテンツを記録部48から読み出し、表示部11の画面全体に表示させることにより、表示部11の表示を変更する。そして、処理はステップS53に戻り、上述した処理が繰り返される。
一方、ステップS53でユーザが滑りセンサ142に対する操作を終了したと判定された場合、即ち接触位置検出部203からy方向接触位置が供給されなくなった場合、ステップS58において、表示制御部222は、表示部11への機能ボタン150および151のハイライト表示および機能ボタン152および153の表示を終了し、処理はステップS59に進む。
ステップS59において、表示制御部222は、ユーザにより情報処理装置140の電源のオフが指令されたかを判定する。ステップS59で情報処理装置140の電源のオフが指令されていないと判定された場合、処理はステップS51に戻り、上述した処理が繰り返される。一方、ステップS59で情報処理装置140の電源のオフが指令されたと判定された場合、処理は終了する。
以上のように、情報処理装置140では、滑りセンサ142に複数の機能が割り当てられているので、各操作ボタンに1つずつ機能が割り当てられる場合のように、割り振りたい機能の数(ここでは電子辞書のページ総数)だけ操作ボタンを用意する必要がなく、辞書捲り機能が割り当てられる操作部を小型化することができる。その結果、情報処理装置140において、装置の小型化および表示部11と滑りセンサ142の一体化を実現することができる。
また、滑りセンサ142に割り当てたい機能の数によって、各機能に対応する滑り検出値を変更することにより、情報処理装置140を多様なアプリケーションに対応させることができる。
さらに、情報処理装置140では、滑りセンサ142により、方向成分と距離成分または速度成分の両方を有する滑り検出値が検出されるので、それぞれの成分の入力用に別々の操作ボタンを設ける必要がある場合に比べて、情報処理装置140を小型化することができる。
図17は、本発明を適用した情報処理装置の第3の実施の形態の外観構成例を示している。
なお、図17において、図1や図2と同一のものには同一の符号を付してあり、繰り返しになるので、説明は適宜省略する。また、図17では、説明の便宜上、ユーザの手が透視して表されている。
さらに、以下の説明では、情報処理装置240を操作するユーザの視点に立った左右方向をx方向とし、上下方向をy方向とする。
図17の情報処理装置240は、入力に対して所定の処理を実行する装置であり、接触位置センサ242には、接触位置センサ242におけるx方向およびy方向の接触位置(以下、xy方向接触位置という)に対応する文字(数字などを含む)を入力する文字入力機能が割り当てられている。即ち、接触位置センサ242には、所定の文字を入力する機能(例えば、第1の文字を入力させる機能、第2の文字を入力させる機能など)が複数割り当てられている。
この接触位置センサ242は、図17に示すように、ユーザが情報処理装置240の側部を片手で把持したときに親指が接触可能な位置(図17の例では、表示部11の下部中央)に配置され、x方向およびy方向に2個ずつ並べられた圧力センサ2611乃至2614により構成される。接触位置センサ242は、接触検出を行い、xy方向接触位置を検出する。
なお、以下では、圧力センサ2611乃至2614を特に区別する必要がない場合、それらをまとめて圧力センサ261という。
圧力センサ261は、ユーザが手の位置は変えずに、親指のみを動かして全ての圧力センサ261に接触可能な範囲に配列される。また、圧力センサ261は、1本の親指で複数の圧力センサ261に接触可能な間隔(例えばx方向およびy方向にそれぞれ2mm間隔)で配列される。
このように、圧力センサ261の間隔を狭くすることにより、接触位置センサ242の全体の大きさを、例えば5mm角程度にすることが可能になり、接触位置センサ242の小型化を実現することができる。その結果、情報処理装置240は、接触位置センサ242と表示部11を一体化させた携帯用の小型の情報処理装置として形成されることができる。また、ユーザは、情報処理装置240を片手で把持し、その手の親指1本で接触位置センサ242を操作することができる。
しかしながら、複数の圧力センサが狭い範囲に密接した状態で配置されると、ユーザが各圧力センサに個別に接触したり、押下したりすることが困難になる場合がある。この場合、接触検出が行われた圧力センサの位置を、1つの接触位置として検出することはできない。
そこで、情報処理装置240では、2以上の圧力センサ261の接触が検出される場合があるものとし、接触位置センサ242は、x方向およびy方向の圧力中心位置をxy方向接触位置として検出することにより、1つの接触位置を検出する。
なお、このように、接触位置センサ242が、xy方向接触位置としてx方向およびy方向の圧力中心位置を検出する場合、ユーザが接触位置センサ242に配置された親指の位置を動かさずに、親指を押下する圧力のバランスを変化させるだけで、接触位置センサ242は接触位置の変化を検知することが可能となる。
ユーザは、情報処理装置240を用いて文字を入力する場合、まず最初に、図17に示すように、右手の親指が接触位置センサ242に接触するように、情報処理装置240の側部を右手で把持する。このとき、情報処理装置240は、接触位置センサ242への接触を検出し、表示部11の下部に設けられた機能表示領域252に、ソフトキーボード252Aを機能情報として表示させる。
図17の例では、接触位置センサ242には、接触位置センサ242におけるxy方向接触位置に対応してかな文字、カナ文字、および数字を入力する機能が割り当てられており、ソフトキーボード252Aとして、かな文字、カナ文字、および数字が並べて表示されている。
なお、情報処理装置240は、接触位置センサ242への物体の接触に応じて、ソフトキーボード252Aを表示させるのではなく、ソフトキーボード252Aを表示させるための操作ボタン(図示せず)などを設け、その操作ボタンに対する操作に応じて、ソフトキーボード252Aを表示させるようにしてもよい。
次に、ユーザは、機能表示領域252に表示されたソフトキーボード252Aを見ながら、接触位置センサ242に配置した親指の位置または力をかける位置を、ソフトキーボード252A上の所望の文字の位置に対応する位置に移動する。このとき、情報処理装置240は、接触位置センサ242により検出されたxy方向接触位置に基づいて、そのxy方向接触位置に対応するソフトキーボード252A上の位置に、その位置の文字を、xy方向接触位置に対応する機能情報として、ハイライト表示させる。図17の例では、「は」がハイライト表示されている。
これにより、ユーザは、ソフトキーボード252Aを見ることで、接触位置センサ242を見なくても、現在自分の親指が接触しているxy方向接触位置と、そのxy方向接触位置に対応する機能を把握することができる。その結果、接触位置センサ242が小型であっても、xy方向接触位置に対応する機能を容易に把握することができる。
即ち、例えば、通常のキーボードのように、接触位置センサに機能情報(例えば、キートップのラベル)を表示させると、接触位置センサの小型化に伴って機能情報を視認することが困難になる。
これに対して、接触位置センサ242では、接触位置センサ242自体に機能情報を表示させるのではなく、ソフトキーボード252Aを機能表示領域252に表示させ、xy方向接触位置に対応する機能情報として、ソフトキーボード上の1つの文字をハイライト表示させるので、接触位置センサ242が小型化されても、ユーザは、機能情報を視認してxy方向接触位置に対応する機能を容易に把握することができる。その結果、ユーザは、文字を入力するための操作を容易に行うことができる。
また、xy方向接触位置に対応する1つの文字がハイライト表示されることによって、周囲が暗い場合であっても、その文字を容易に認識することができる。
なお、この時点では、xy方向接触位置に対応してソフトキーボード252A上の1つの文字がハイライト表示されるのみで、xy方向接触位置に割り当てられた機能は実行されない。即ち、ユーザは、接触位置センサ242に接触して、そのxy方向接触位置に対応するソフトキーボード252A上の1つの文字をハイライト表示させることで、そのxy方向接触位置に割り当てられた機能を仮選択する。
次に、ユーザは、接触位置センサ242に配置されている親指をさらに押下して、現在のxy方向接触位置に対応する機能の選択を指示する。即ち、ユーザは、ソフトキーボード252A上の1つの文字をハイライト表示させた状態で、親指を押下することにより、仮選択された機能を本選択する。
これにより、情報処理装置240は、ハイライト表示されている文字の入力を行う。その結果、表示部11の上部に設けられた入力結果表示領域251に、ソフトキーボード252A上でハイライト表示されている文字が表示される。図17の例では、上述した操作が繰り返し行われることにより、「こ」、「ん」、「に」、「ち」、および「は」という文字が順に入力されており、入力結果表示領域251に「こんにちは」という文章が表示されている。
以上のように、ユーザが接触位置センサ242に配置されている親指をさらに押下した場合、情報処理装置240は、ハイライト表示されている文字の入力を行うので、圧力センサ261が密に設けられることにより親指で同時に複数の圧力センサ261を押下してしまう場合でも、予めハイライト表示された1つの文字の入力を行うことができる。
図18は、図17の情報処理装置240のハードウェア構成例を示している。なお、図18において、図3と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
CPU281は、接触位置センサ242から入力される検出情報に応じて、表示部11の機能表示領域252にソフトキーボード252Aを表示させる。また、CPU281は、接触位置センサ242から入力されるxy方向接触位置に基づいて、ソフトキーボード252A上の1つの文字をハイライト表示させる。さらに、CPU281は、各圧力センサ261の圧力値に基づいて、ソフトキーボード252A上のハイライト表示されている文字を、入力結果表示領域251に表示させる。
図19は、接触位置センサ242とCPU281の機能的構成例を示している。なお、図19において、図7と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
図19の接触位置センサ242は、圧力検知部100、接触検出部101、および圧力中心演算部102により構成される。なお、図19の圧力中心演算部102は、x方向およびy方向の圧力中心位置を、xy方向接触位置として処理決定部301に出力する。
また、CPU281は、処理決定部301と表示制御部302により構成される。
処理決定部301は、圧力中心演算部102から供給されるxy方向接触位置と、接触位置センサ242に割り当てられた機能とに基づいて、xy方向接触位置に対応するソフトキーボード252A上の1つの文字を決定する。具体的には、処理決定部301は、xy方向接触位置と、いま接触位置センサ242に割り当てられている文字入力機能で入力することが可能な文字数、即ちソフトキーボード252Aに並べて表示されるx方向およびy方向の文字数とに基づいて、xy方向接触位置に対応する1つの文字を決定する。
そして、処理決定部301は、その文字のハイライト表示を表示制御部302に指令する。また、処理決定部301は、圧力検知部100から供給される各圧力センサ261の圧力値に応じて、ハイライト表示されている文字の入力結果表示領域251への表示を表示制御部302に指令する。
表示制御部302は、接触検出部101から供給される検出情報に応じて、機能表示領域252にソフトキーボード252Aを表示させる。また、表示制御部302は、処理決定部301から供給される指令に応じて、ソフトキーボード252A上の1つの文字をハイライト表示させる。さらに、表示制御部302は、処理決定部301から供給される指令に応じて、ハイライト表示されている文字を入力結果表示領域251に表示させる。
なお、図示は省略するが、接触位置センサ242による接触位置演算処理は、図8の滑り演算処理のステップS10乃至S13の処理と同様に行われる。
次に、図20のフローチャートを参照して、図19のCPU281による文字入力処理について説明する。この文字入力処理は、例えば、情報処理装置240の電源がオンにされたとき、開始される。なお、文字入力処理の開始時には、表示部11に所定の初期画面が表示される。
ステップS71において、表示制御部302は、ユーザが接触位置センサ242に接触したか、即ち接触検出部101から検出情報が供給されたかを判定する。ステップS71で、ユーザが接触位置センサ242に接触していないと判定された場合、即ち接触位置検出部101から検出情報が供給されていない場合、ユーザが接触位置センサ242に接触するまで待機する。
一方、ステップS71でユーザが接触位置センサ242に接触したと判定された場合、即ち接触検出部101から検出情報が供給された場合、ステップS72において、表示制御部302は、接触検出部101から供給される検出情報に応じて、表示部11の機能表示領域252にソフトキーボード252Aを表示させる。
ステップS73において、表示制御部302は、ユーザが接触位置センサ242に接触しているかを再度判定する。ステップS73でユーザが接触位置センサ242に接触していると判定された場合、ステップS74において、処理決定部301は、圧力中心演算部102から供給されるxy方向接触位置と、接触位置センサ242に割り当てられた機能とに基づいて、xy方向接触位置に対応するソフトキーボード252A上の1つの文字を決定する。そして、処理決定部301は、その文字のハイライト表示を表示制御部302に指令する。
ステップS75において、表示制御部302は、処理決定部301から供給される指令に応じて、xy方向接触位置に対応するソフトキーボード252A上の1つの文字をハイライト表示させる。
ステップS76において、処理決定部301は、圧力検知部100から供給される各圧力センサ261の総和を接触位置センサ242の圧力値として求め、その接触位置センサ242の圧力値が、予め設定された閾値th(x,y)およびthより大きい閾値thPush以上であるかを判定する。ステップS76で接触位置センサ242の圧力値が閾値thPush以上ではないと判定された場合、処理はステップS73に戻り、上述した処理が繰り返される。
一方、ステップS76で接触位置センサ242の圧力値が閾値thPush以上であると判定された場合、処理決定部301は、ステップS74で決定された文字の入力結果表示領域251への表示を表示制御部302に指令する。そして、ステップS77において、表示制御部302は、ハイライト表示されている文字を入力結果表示領域に表示させ、処理はステップS73に戻り、上述した処理が繰り返される。
また、ステップS73でユーザが接触位置センサ242に接触していないと判定された場合、ステップS78において、表示制御部302は、接触位置に対応する文字のハイライト表示中であるかを判定する。ステップS78で、接触位置に対応する文字のハイライト表示中であると判定された場合、ステップS79において、表示制御部302は、接触位置に対応する文字のハイライト表示を終了し、処理はステップS80に進む。
一方、ステップS78で、接触位置に対応する文字のハイライト表示中ではないと判定された場合、処理はステップS79をスキップしてステップS80に進む。
ステップS80において、処理決定部301は、情報処理装置240の電源のオフが指令されたかを判定する。ステップS80で情報処理装置240の電源のオフが指令されていないと判定された場合、処理はステップS73に戻り、上述した処理が繰り返される。即ち、表示制御部302は、情報処理装置240の電源がオンにされている間、物体が接触位置センサ242に接触したかどうかを常時監視している。一方、ステップS80で情報処理装置240の電源のオフが指令されたと判定された場合、処理は終了する。
以上のように、情報処理装置240では、接触位置センサ242に複数の機能が割り当てられているので、各操作ボタンに1つずつ機能が割り当てられる場合のように、割り振りたい機能の数(ここでは入力対象とする文字の数)だけ操作ボタンを用意する必要がなく、接触位置センサ242を小型化することができる。その結果、情報処理装置240において、装置の小型化および表示部11と接触位置センサ242の一体化を実現することができる。
また、接触位置センサ242に割り当てたい機能の数によって、各機能に対応するxy方向接触位置を変更することにより、情報処理装置240を多様なアプリケーションに対応させることができる。
なお、上述した説明では、処理決定部301が、接触位置センサ242の圧力値に応じて、ハイライト表示された文字が入力されたが、各圧力センサ261の圧力値に応じて、ハイライト表示された文字が入力されるようにしてもよい。この場合、ステップS76における閾値は、圧力センサ261ごとに設定される。
また、上述した説明では、接触位置センサ242に文字入力機能が割り当てられているものとしたが、文字入力機能は、いわゆるツールチップ機能に相当する機能の一部であり、ツールチップ機能に相当する機能全般が割り当てられるようにしてもよい。
なお、ツールチップ機能とは、マウスのインターフェースとして使用されるものであり、以下の(a)乃至(c)の動作を行う機能である。ユーザは、このツールチップ機能により、画面上のソフトボタンやアイコンに割り当てられている機能を実行前に把握することができる。
(a)ユーザが、マウスを操作して、マウスのカーソルを画面上のソフトボタンやアイコンの上に配置させた場合、ソフトボタンやアイコンに割り当てられている機能に関する情報(例えば、機能の名称など)が表示されたツールチップを、画面上にポップアップ表示させる。
(b)ユーザが、(a)の後にマウスを左クリックした場合、ツールチップが表示されたソフトボタンやアイコンに割り当てられている機能を実行する。
(c)ユーザが、(a)の後にマウスを左クリックせず、マウスを操作して、カーソルを別の位置に移動させた場合、ツールチップが表示されたソフトボタンやアイコンに割り当てられている機能を実行しない。
従って、接触位置センサ242に、xy方向接触位置に対応してツールチップ機能に相当する機能全般が割り当てられる場合、情報処理装置240は、xy方向接触位置に対応して、以下の(A)乃至(C)の動作を実行する。
(A)ユーザが、親指を接触位置センサ242に接触させた場合、xy方向接触位置に対応する機能情報が表示されたツールチップを画面上にポップアップ表示させる。
(B)ユーザが、(A)の後に親指で接触位置センサ242を押下し、接触位置センサ242の圧力値が閾値thPush以上になった場合、ツールチップに表示された機能情報に対応する機能を実行する。
(C)ユーザが、(A)の後に親指で接触位置センサ242を押下せず、親指を移動させた場合、ツールチップに表示された機能情報に対応する機能を実行しない。
なお、滑りセンサ12および142並びに接触位置センサ242を構成する圧力センサの数は、上述した数に限定されず、1方向の圧力中心位置を求めるために最低限必要な2個以上であればよい。但し、2方向の圧力中心位置を求めるためには、3個以上である必要がある。
また、滑りセンサ12および142並びに接触位置センサ242を構成するセンサは、滑り検出値、滑り検出値およびy方向接触位置、またはxy方向接触位置を検出することができれば、圧力センサ以外のセンサであってもよい。なお、滑りセンサ12および142並びに接触位置センサ242が圧力センサにより構成される場合、滑り検出値、滑り検出値およびy方向接触位置、またはxy方向接触位置を精度良く検出することができる。
さらに、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。
また、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
10 情報処理装置, 12 滑りセンサ, 31 圧力センサ, 101 接触検出部, 102 圧力中心演算部, 103 圧力中心移動演算部, 104 滑り演算部, 112 表示制御部, 123 圧力中心速度演算部, 140 情報処理装置, 142 滑りセンサ, 161 圧力センサ, 201 接触検出部, 202 圧力中心演算部, 203 接触位置検出部, 222 表示制御部, 240 情報処理装置, 242 接触位置センサ, 261 圧力センサ, 302 表示制御部