(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記移動検出部により検出される移動の加速度が所定の閾値以上である場合に、前記対象オブジェクトの表示位置を前記第2の視線位置に基づいて変更する請求項1に記載の携帯端末。
前記制御部は、前記対象オブジェクトの表示位置を変更する場合、前記対象オブジェクト以外のオブジェクトの表示位置を、表示位置変更前の前記対象オブジェクトとの位置関係が維持されるように変更する請求項1または2に記載の携帯端末。
前記制御部は、表示位置変更後の前記対象オブジェクトに対する所定の操作の検出を契機として、前記対象オブジェクト以外のオブジェクトの表示位置を、表示位置変更前の前記対象オブジェクトとの位置関係が維持されるように変更する請求項1または2に記載の携帯端末。
【発明を実施するための形態】
【0009】
本出願に係る携帯端末及び制御方法を実施するための複数の実施形態を、図面を参照しつつ詳細に説明する。以下では、携帯端末の一例として、スマートフォンを取り上げて説明する。
【0010】
(実施形態1)
図1を参照しつつ、実施形態1に係るスマートフォン1の機能構成の一例を説明する。
図1は、実施形態1に係るスマートフォンの機能構成を示すブロック図である。以下の説明においては、同様の構成要素に同一の符号を付すことがある。さらに、重複する説明は省略することがある。
【0011】
図1に示すように、スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12と、赤外線照射部13と、コネクタ14と、加速度センサ15と、方位センサ16とを備える。
【0012】
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2A及びタッチスクリーン2Bは、例えば、重ねて配置されてもよいし、並べて配置されてもよいし、離して配置されてもよい。ディスプレイ2Aとタッチスクリーン2Bとが重ねて配置される場合、例えば、ディスプレイ2Aの1ないし複数の辺がタッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。タッチスクリーンディスプレイ2は、表示部の一例である。
【0013】
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。ディスプレイ2Aが表示する文字、画像、記号、及び図形等を含む画面には、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面が含まれる。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面又はランチャー画面と呼ばれることもある。ディスプレイ2Aは、複数のオブジェクトを表示する。オブジェクトには、アプリケーション等のユーザーインターフェースオブジェクト(アイコン)やソフトキー等、入力操作の対象となるオブジェクトが含まれる。
【0014】
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等(以下、単に「指」という)がタッチスクリーン2B(タッチスクリーンディスプレイ2)に接触したときのタッチスクリーン2B上の位置(以下、接触位置と表記する)を検出することができる。タッチスクリーン2Bは、タッチスクリーン2Bに対する指の接触を、接触位置とともにコントローラ10に通知する。タッチスクリーン2Bは、接触位置検出部の一例である。
【0015】
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
【0016】
コントローラ10(スマートフォン1)は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。ジェスチャは、指を用いて、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対して行われる操作である。コントローラ10(スマートフォン1)が、タッチスクリーン2Bを介して判別するジェスチャには、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトが含まれるが、これらに限定されない。
【0017】
ボタン3は、利用者からの操作入力を受け付ける。ボタン3の数は、単数であっても、複数であってもよい。
【0018】
照度センサ4は、照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
【0019】
近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、ディスプレイ2Aが顔に近づけられたことを検出する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
【0020】
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる無線通信規格には、例えば、2G、3G、4G等のセルラーフォンの通信規格と、近距離無線の通信規格がある。セルラーフォンの通信規格としては、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。近距離無線の通信規格としては、例えば、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等がある。WPANの通信規格には、例えば、ZigBee(登録商標)がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
【0021】
レシーバ7は、音出力部である。レシーバ7は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。マイク8は、音入力部である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信する。
【0022】
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
【0023】
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラム(図示略)とが含まれる。フォアグランドで実行されるアプリケーションは、例えば、ディスプレイ2Aに画面が表示される。制御プログラムには、例えば、OSが含まれる。アプリケーション及び基本プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
【0024】
ストレージ9は、視線位置検出プログラム9A、表示位置調整プログラム9B、電話アプリケーション9C、設定データ9Zなどを記憶する。
【0025】
視線位置検出プログラム9Aは、タッチスクリーンディスプレイ2に対する利用者の視線位置を検出するための機能を提供する。なお、視線位置は、利用者の眼球内にある瞳孔の中心位置を起点として直線的に延伸する視線がタッチスクリーンディスプレイ2と交差するときのタッチスクリーンディスプレイ2上の位置に該当する。
【0026】
視線位置検出プログラム9Aは、例えば、利用者の画像に対して角膜反射法に基づくアルゴリズムを適用することにより、上記視線位置を検出する。具体的には、視線位置検出プログラム9Aは、利用者の画像を取得する際に、赤外線照射部13から赤外線を照射させる。視線位置検出プログラム9Aは、取得した利用者の画像から、瞳孔の位置と赤外線の角膜反射の位置をそれぞれ特定する。視線位置検出プログラム9Aは、瞳孔の位置と赤外線の角膜反射の位置の位置関係に基づいて、利用者の視線の方向を特定する。視線位置検出プログラム9Aは、瞳孔の位置が角膜反射の位置よりも目尻側にあれば、視線の方向は目尻側であると判定し、瞳孔の位置が角膜反射の位置よりも目頭側にあれば、視線の方向は目頭側であると判定する。視線位置検出プログラム9Aは、例えば、虹彩の大きさに基づいて、利用者の眼球とタッチスクリーンディスプレイ2との距離を算出する。視線位置検出プログラム9Aは、利用者の視線の方向と、利用者の眼球とタッチスクリーンディスプレイ2との距離とに基づいて、利用者の眼球内にある瞳孔の中心位置から、瞳孔を起点とする視線がタッチスクリーンディスプレイ2と交差するときのタッチスクリーンディスプレイ2上の位置である視線位置を検出する。
【0027】
上記の例では、視線位置検出プログラム9Aが、角膜反射法を利用した処理を実行することにより、利用者の視線位置を検出する場合を説明したが、この例には限られない。例えば、視線位置検出プログラム9Aが、利用者の画像について画像認識処理を実行することにより、上記視線位置を検出するようにしてもよい。例えば、視線位置検出プログラム9Aは、利用者の画像から、利用者の眼球を含む所定の領域を抽出し、目頭と虹彩との位置関係に基づいて視線方向を特定し、特定した視線方向と、利用者の眼球からタッチスクリーンディスプレイ2までの距離とに基づいて上記視線位置を検出する。あるいは、視線位置検出プログラム9Aは、利用者がタッチスクリーンディスプレイ2上の表示領域各所を閲覧しているときの複数の眼球の画像を参照画像としてそれぞれ蓄積しておき、参照画像と、判定対象として取得される利用者の眼球の画像とを照合することにより、上記視線位置を検出する。視線位置検出プログラム9Aは、視線位置検出部の一例である。
【0028】
表示位置調整プログラム9Bは、タッチスクリーンディスプレイ2に表示されるオブジェクトの表示位置を、上記視線位置検出プログラム9Aにより検出される視線位置に基づいて変更するための機能を提供する。具体的には、表示位置調整プログラム9Bは、次の各処理を実行する。すなわち、表示位置調整プログラム9Bは、タッチスクリーンディスプレイ2に表示される複数のオブジェクトのうち、視線位置検出プログラム9Aにより検出される第1の視線位置に表示されているオブジェクトを対象オブジェクトとして確定する。表示位置調整プログラム9Bは、タッチスクリーンディスプレイ2の主面に対して水平方向の移動が加速度センサ15により検出された場合には、当該水平方向の移動検出後に視線位置検出プログラム9Aにより検出される視線位置を第2の視線位置として確定する。表示位置調整プログラム9Bは、第1の視線位置と第2の視線位置との間の距離が閾値以上である場合には、対象オブジェクトの表示位置を第2の視線位置に基づいて変更する。
【0029】
表示位置調整プログラム9Bは、加速度センサ15により検出される移動の加速度が閾値以上である場合に、対象オブジェクトの表示位置を第2の視線位置に基づいて変更するための機能をさらに提供してもよい。
【0030】
電話アプリケーション9Cは、無線通信による通話のための通話機能を提供する。電話アプリケーション9Cにより提供される機能には、通話を実行するための画面をタッチスクリーンディスプレイ2に表示する機能が含まれる。
【0031】
設定データ9Zは、制御プログラム、視線位置検出プログラム9A及び表示位置調整プログラム9Bによる機能に基づいて実行される処理に用いられる各種データを含んで構成される。設定データ9Zは、例えば、利用者の眼球に関する各種データを含んでよい。設定データ9Zは、例えば、第1の視線位置と前記第2の視線位置との間の距離を判定するための閾値の情報、移動の加速度を判定するための閾値などを含んでよい。
【0032】
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−Chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、およびコプロセッサを含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。コントローラ10は、制御部の一例である。
【0033】
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、マイク8、スピーカ11、及び赤外線照射部13を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、加速度センサ15、及び方位センサ16を含むが、これらに限定されない。
【0034】
コントローラ10は、視線位置検出プログラム9Aを実行することにより、上記視線位置を検出する処理を実行する。コントローラ10は、表示位置調整プログラム9Bを実行することにより、次の処理を実行する。すなわち、コントローラ10は、タッチスクリーンディスプレイ2に表示される複数のオブジェクトのうち、第1の視線位置に表示されているオブジェクトを対象オブジェクトとして確定する。コントローラ10は、タッチスクリーンディスプレイ2の主面に対して水平方向の移動が加速度センサ15により検出された場合には、当該水平方向の移動検出後に検出される視線位置を第2の視線位置として確定する。コントローラ10は、第1の視線位置と第2の視線位置との間の距離が閾値以上である場合には、対象オブジェクトの表示位置を第2の視線位置に基づいて変更する。
【0035】
以下、
図2〜
図6を用いて、実施形態1に係るスマートフォン1により実行される処理の例を説明する。
図2〜
図6は、実施形態1に係るスマートフォン1により実行される処理の例を説明するための図である。
【0036】
図2〜
図6に示す処理は、スマートフォン1の水平方向への移動の前後で、利用者からタッチスクリーンディスプレイ2に対して向けられる視線方向に変更がないという状況下で実行される。
図2〜
図6に示す処理は、利用者の視線方向の延長線上にあるオブジェクトがタッチスクリーンディスプレイ2上に表示されている表示位置を、スマートフォン1の水平方向への移動の前後で利用者の視線方向から外れないように調整する処理の実現を目的とする。
【0037】
図2に示すように、スマートフォン1は、視線位置の検出を実行し、第1の視線位置VP1を検出する。そして、スマートフォン1は、第1の視線位置VP1に表示されているオブジェクトT1を対象オブジェクトとして確定する(ステップS11)。
【0038】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d1への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP2を第2の視線位置として確定する(ステップS12a)。続いて、スマートフォン1は、第1の視線位置VP1と第2の視線位置VP2との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT1の表示位置を、第2の視線位置VP2に基づいて変更する(ステップS12a)。
【0039】
図3には、
図2に示すステップS11〜ステップS12aに対応する視線位置の変化を示す。利用者からタッチスクリーンディスプレイ2に対して向けられる視線方向に変更がない状態で、スマートフォン1が水平方向d1へ移動された場合、利用者の視線方向に変更がなくても、スマートフォン1により検出される視線位置は移動の前後で変化する。すなわち、
図3に示すように、例えば、移動距離Lの分だけ第1の視線位置VP1が移動することになる。その結果、
図3に示すように、スマートフォン1により検出される視線位置は、第2の視線位置VP2となる。よって、スマートフォン1は、第2の視線位置VP2に基づいてオブジェクトT1の表示位置を変更することにより、利用者の視線方向から外さないように、オブジェクトの表示位置を調整する処理を実現する。
【0040】
上述の通り、スマートフォン1は、利用者からタッチスクリーンディスプレイ2に対して向けられる視線方向に変更がないという状況下でスマートフォン1の移動が行われることにより、タッチスクリーンディスプレイ2上で検出される視線位置に変更が生じた場合(第1の視線位置VP1と第2の視線位置VP2との距離が閾値以上である場合)には、対象オブジェクトの表示位置を、スマートフォン1の水平方向への移動の前後で利用者の視線方向から外れないように調整する。これとは反対に、スマートフォン1の移動による対象オブジェクトの移動に伴って、例えば、利用者の視線方向が対象オブジェクトを追従する方向に移動するなど、利用者の視線方向に移動が発生した場合(第1の視線位置VP1と第2の視線位置VP2との距離が閾値未満である場合)には、対象オブジェクトの表示位置の調整を行わない。このようにして、スマートフォン1は、対象オブジェクトの表示位置を、スマートフォン1の水平方向への移動の前後で利用者の視線方向から外れないように調整するという目的を担保する。
【0041】
例えば、乗り物に乗車中、あるいは工事現場など、スマートフォンに対して振動が作用しやすい環境下では、スマートフォン1の操作中に利用者の意図しない移動がスマートフォン1に発生することが予想される。このような状況に対して、スマートフォン1は、対象オブジェクトの表示位置を変更することにより、スマートフォン1の移動による対象オブジェクトの移動を相殺する。このため、スマートフォン1は、対象オブジェクト(ソフトウェアキーなど)に対する利用者の誤入力を低減できる。また、利用者は、スマートフォン1に移動が発生する度に、対象オブジェクト(ソフトウェアキーなど)へ視線を追従させることが不要なので、眼の疲労を軽減させる効果も考えられる。
【0042】
上記ステップS11〜ステップS12aと同様にして、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d2への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP3を第2の視線位置として確定する(ステップS11〜ステップS12b)。続いて、スマートフォン1は、第1の視線位置VP1と第2の視線位置VP3との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT1の表示位置を、第2の視線位置VP3に基づいて変更する(ステップS12b)。
【0043】
図4は、
図2に示す例とは異なる方向にスマートフォン1が移動した場合の処理の例を示す。
図4に示すように、スマートフォン1は、視線位置の検出を実行し、第1の視線位置VP4を検出する。そして、スマートフォン1は、第1の視線位置VP4に表示されているオブジェクトT1を対象オブジェクトとして確定する(ステップS21)。
【0044】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d3への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP5を第2の視線位置として確定する(ステップS22a)。続いて、スマートフォン1は、第1の視線位置VP4と第2の視線位置VP5との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT1の表示位置を、第2の視線位置VP5に基づいて変更する(ステップS22a)。
【0045】
上記ステップS21〜ステップS22aと同様にして、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d4への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP6を第2の視線位置として確定する(ステップS21〜ステップS22b)。続いて、スマートフォン1は、第1の視線位置VP4と第2の視線位置VP6との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT1の表示位置を、第2の視線位置VP6に基づいて変更する(ステップS22b)。
【0046】
図5及び
図6は、オブジェクトをより具体的にした処理の例を示す。
図5及び
図6は、タッチスクリーンディスプレイ2に電話アプリケーションの画面50が表示される例を示す。画面50には、利用者が入力操作するためのオブジェクトとして複数のキーが表示される。
図5及び
図6に示す処理を実現するために、画面50に含まれる複数のオブジェクトの中から、対象オブジェクトとなるオブジェクトの複製を生成して画面50上に表示させる処理を実現するための機能がスマートフォン1に予め実装されていてよい。
図5及び
図6に示す例に限られず、画面50に含まれる複数のオブジェクトの中から、対象オブジェクト(例えば、キーの1つ)を実際に分離して画面50上に表示させる処理を実現するための機能がスマートフォン1に予め実装されていてよい。
【0047】
図5に示すように、スマートフォン1は、視線位置の検出を実行し、第1の視線位置VP7を検出する。そして、スマートフォン1は、第1の視線位置VP7に表示されているオブジェクトT2を対象オブジェクトとして確定する(ステップS31)。
【0048】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d1への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP8を第2の視線位置として確定する(ステップS32)。続いて、スマートフォン1は、対象オブジェクトであるオブジェクトT2の表示位置を、第2の視線位置VP8に基づいて変更する(ステップS32)。
【0049】
一方、
図6に示すように、スマートフォン1は、水平方向への移動を検出する前に、視線位置の検出を実行し、その結果、第1の視線位置VP7を検出する。そして、スマートフォン1は、第1の視線位置VP7に表示されているオブジェクトT2を対象オブジェクトとして確定する(ステップS41)。
【0050】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d2への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP9を第2の視線位置として確定する(ステップS42)。続いて、スマートフォン1は、対象オブジェクトであるオブジェクトT2の表示位置を、第2の視線位置VP9に基づいて変更する(ステップS42)。
【0051】
スマートフォン1は、例えば、
図5に示すように、第1の視線位置VP7と第2の視線位置VP8との距離が閾値以上である場合には、画面50に表示される数字「3」のキー(オブジェクト)の表示位置を、スマートフォン1の水平方向への移動の前後で利用者の視線方向から外れないように調整する。
図5及び
図6に示す例では、対象オブジェクトとなるオブジェクトの複製が画面50上に表示される場合を示すが、この例に限られず、例えば、画面50に含まれる複数のオブジェクトの中から、対象オブジェクトとなる1部のオブジェクトが実際に分離されて画面50上に表示されるようにしてもよい。
【0052】
図7を参照しつつ、実施形態1に係るスマートフォン1による処理の流れを説明する。
図7は、実施形態1に係るスマートフォン1による処理の流れを示すフローチャートである。
図7に示す処理は、コントローラ10が、ストレージ9に記憶されている視線位置検出プログラム9A、及び表示位置調整プログラム9Bなどを実行することにより実現される。
【0053】
スピーカ11は、音出力部である。スピーカ11は、コントローラ10から送信される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
【0054】
カメラ12は、撮影した画像を電気信号へ変換する。カメラ12は、ディスプレイ2Aに面している物体を撮影するインカメラである。カメラ12は、例えば、タッチスクリーンディスプレイ2に視線を向ける利用者の眼球の画像を撮影する。カメラ12は、インカメラ及びアウトカメラを切り換えて利用可能なカメラユニットとしてスマートフォン1に実装されてもよい。カメラ12は、画像取得部の一例である。赤外線照射部13は、カメラ12により実行される撮影に同期して、赤外線を照射する。
【0055】
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
【0056】
加速度センサ15は、スマートフォン1に作用する加速度の方向及び大きさを検出する。加速度センサ15は、例えば、加速度の方向に基づき、タッチスクリーンディスプレイ2の主面(画像表示面)に対して水平方向の移動を検出する。加速度センサ15は、移動検出部の一例である。方位センサ16は、例えば、地磁気の向きを検出し、地磁気の向きに基づいて、スマートフォン1の向き(方位)を検出する。
【0057】
スマートフォン1は、上記の各機能部の他、GPS受信機、及びバイブレータを備えてもよい。GPS受信機は、GPS衛星からの所定の周波数帯の電波信号を受信し、受信した電波信号の復調処理を行って、処理後の信号をコントローラ10に送出する。バイブレータは、スマートフォン1の一部又は全体を振動させる。バイブレータは、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。
図1には示していないが、バッテリなど、スマートフォン1の機能を維持するために当然に用いられる機能部はスマートフォン1に実装される。
【0058】
図7及び
図8を参照しつつ、実施形態1に係るスマートフォン1による処理の流れを説明する。
図7及び
図8は、実施形態1に係るスマートフォン1による処理の流れを示すフローチャートである。
図7及び
図8に示す処理は、コントローラ10が、ストレージ9に記憶されている視線位置検出プログラム9A、及び表示位置調整プログラム9Bなどを実行することにより実現される。
【0059】
図7に示すように、コントローラ10は、検出した第1の視線位置に基づいて、対象オブジェクトとして確定する(ステップS101)。
【0060】
続いて、コントローラ10は、表示部(タッチスクリーンディスプレイ2)の主面に対して水平方向の移動が検出されたかを判定する(ステップS102)。
【0061】
コントローラ10は、判定の結果、表示部の主面に対して水平方向への移動が検出されない場合には(ステップS102,No)、ステップS102の判定を繰り返す。
【0062】
一方、コントローラ10は、判定の結果、表示部の主面に対して水平方向への移動が検出された場合には(ステップS102,Yes)、当該水平方向の移動検出後に検出された視線位置を第2の視線位置として確定する(ステップS103)。
【0063】
続いて、コントローラ10は、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上であるかを判定する(ステップS104)。
【0064】
コントローラ10は、判定の結果、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上である場合には(ステップS104,Yes)、対象オブジェクトの表示位置を上記第2の視線位置に基づいて変更し(ステップS105)、
図7に示す処理を終了する。
【0065】
一方、コントローラ10は、判定の結果、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上ではない場合には(ステップS104,No)、
図7に示す処理を終了する。
【0066】
図7に示す処理において、スマートフォン1は、検出される移動の加速度が閾値以上である場合に、対象オブジェクトの表示位置を変更してもよい。以下、
図8を用いて、この場合のスマートフォン1による処理の流れを説明する。
図8に示す処理は、ステップS203の処理手順が、
図7に示す処理とは異なる。
【0067】
図8に示すように、コントローラ10は、検出した第1の視線位置に基づいて、対象オブジェクトとして確定する(ステップS201)。
【0068】
続いて、コントローラ10は、表示部(タッチスクリーンディスプレイ2)の主面に対して水平方向の移動が検出されたかを判定する(ステップS202)。
【0069】
コントローラ10は、判定の結果、表示部の主面に対して水平方向の移動が検出されない場合には(ステップS202,No)、ステップS202の判定を繰り返す。
【0070】
一方、コントローラ10は、判定の結果、表示部の主面に対して水平方向への移動が検出された場合には(ステップS202,Yes)、当該水平方向への移動の加速度が閾値以上であるかを判定する(ステップS203)。
【0071】
コントローラ10は、判定の結果、当該水平方向への移動の加速度が閾値以上である場合には(ステップS203,Yes)、当該水平方向の移動検出後に検出された視線位置を第2の視線位置として確定する(ステップS204)。
【0072】
続いて、コントローラ10は、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上であるかを判定する(ステップS205)。
【0073】
コントローラ10は、判定の結果、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上である場合には(ステップS205,Yes)、対象オブジェクトの表示位置を上記第2の視線位置に基づいて変更し(ステップS206)、
図8に示す処理を終了する。
【0074】
一方、コントローラ10は、判定の結果、上記第1の視線位置と上記第2の視線位置との間の距離が閾値以上ではない場合には(ステップS205,No)、
図7に示す処理を終了する。
【0075】
上記ステップS203において、コントローラ10は、判定の結果、当該水平方向への移動の加速度が閾値以上ではない場合には(ステップS203,No)、
図7に示す処理を終了する。
【0076】
図8に示す処理において、移動の加速度が閾値以上であるかを判定することにより、利用者の意図した移動であるかどうかを判定することできる。
【0077】
(実施形態2)
上記の実施形態1において、タッチスクリーンディスプレイ2に表示される対象オブジェクト以外のオブジェクトの表示位置を、対象オブジェクトの表示位置の変更に伴って調整してもよい。以下、
図9及び
図10を用いて、この場合のスマートフォン1による処理の例について説明する。
図9及び
図10は、実施形態2に係るスマートフォン1により実行される処理の例を説明するための図である。
図9及び
図10に示す例では、画面50に含まれる複数のキー(オブジェクト)のうち、対象オブジェクトが数字「3」のキーに該当し、数字「3」以外の残りの各キーが対象オブジェクト以外のオブジェクトに該当する。
【0078】
図9は、対象オブジェクトの表示位置の変更と同時に、対象オブジェクト以外のオブジェクトの表示位置を変更する場合の処理の例を示す。
【0079】
図9に示すように、スマートフォン1は、視線位置の検出を実行し、第1の視線位置VP7を検出する。そして、スマートフォン1は、第1の視線位置VP7に表示されているオブジェクトT2を対象オブジェクトとして確定する(ステップS51)。
【0080】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d1への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP8を第2の視線位置として確定する(ステップS52)。続いて、スマートフォン1は、第1の視線位置VP7と第2の視線位置VP8との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT2の表示位置を、第2の視線位置VP8に基づいて変更する(ステップS52)。対象オブジェクトT2の表示位置を変更する場合、スマートフォン1は、対象オブジェクトT2以外のオブジェクトT3(残りの各キー)の表示位置を、表示位置変更前の対象オブジェクトT2との位置関係が維持されるように変更する(ステップS52)。
【0081】
スマートフォン1は、対象オブジェクト以外のオブジェクトの表示位置を変更するので、例えば、キー操作のように、複数のオブジェクトを経由する一連の操作が滞りなく行われるように担保できる。
【0082】
図10は、表示位置変更後の対象オブジェクトに対する所定の操作の検出を契機として、対象オブジェクト以外のオブジェクトの表示位置を変更する場合の処理の例を示す。
図10に示す処理を実現するために、画面50に含まれる複数のオブジェクトの中から、対象オブジェクトの複製を画面50から分離されたように表示させる処理、及び対象オブジェクトの複製に対する操作を受付可能な状態とする処理を実現させるための機能がスマートフォン1に予め実装されていてよい。
【0083】
図10に示すように、スマートフォン1は、視線位置の検出を実行し、第1の視線位置VP7を検出する。そして、スマートフォン1は、第1の視線位置VP7に表示されているオブジェクトT2を対象オブジェクトとして確定する(ステップS61)。
【0084】
続いて、スマートフォン1は、タッチスクリーンディスプレイ2の主面に対して水平方向d1への移動を検出した場合には、水平方向の移動検出後に検出する視線位置VP8を第2の視線位置として確定する(ステップS62)。続いて、スマートフォン1は、第1の視線位置VP7と第2の視線位置VP8との距離が閾値以上である場合には、対象オブジェクトであるオブジェクトT2の表示位置を、第2の視線位置VP8に基づいて変更する(ステップS62)。
【0085】
続いて、スマートフォン1は、表示位置変更後の対象オブジェクトT2に対する所定の操作を検出した場合には、当該操作を契機として、対象オブジェクトT2以外のオブジェクトT3(残りの各キー)の表示位置を、表示位置変更前の対象オブジェクトT2との位置関係が維持されるように変更する(ステップS63〜ステップS64)。
【0086】
スマートフォン1は、
図10に示すように、対象オブジェクト以外のオブジェクトの表示位置を変更するので、対象オブジェクトに対する誤入力を防止しつつ、例えば、キー操作のように、対象オブジェクトに対する操作後に複数のオブジェクトを経由する一連の操作が滞りなく行われるように担保できる。
【0087】
図10に示す例において、スマートフォン1は、対象オブジェクトであるオブジェクトT2の表示位置の変更が完了されるまでの間、対象オブジェクト以外のオブジェクトに対する操作が無効となるように制御してもよい。
図10に示す例では、対象オブジェクトとなるオブジェクトの複製が画面50上に表示される場合を示すが、この例に限られず、例えば、画面50に含まれる複数のオブジェクトの中から、対象オブジェクトとなる1部のオブジェクトが実際に分離されて画面50上に表示されるようにしてもよい。
【0088】
(その他の実施形態)
上記の実施形態1及び実施形態2では、スマートフォン1の移動の前後において、利用者の視線方向が移動しないこと(すなわち眼の動きが固定されていること)を前提とする処理について説明してきた。この処理を実行するモードは、比較的周期が短く、振幅が小さい振動(すなわち人の目が追従できないような振動)の環境下で使用されることが多い。一方、比較的振幅が大きい振動の環境下では、対象オブジェクトがタッチスクリーンディスプレイ2の範囲から外れてしまう可能性が高くなる。また、比較的周期が長い振動の環境下では、スマートフォン1(の対象オブジェクト)の移動に追従して、利用者の視線方向も移動できるようになる。このように比較的振幅が大きい環境下、または、比較的周期が長い振動の環境下においては、対象オブジェクトの位置を第2の視線位置に追従させる処理を実行するモードにすればよい。
【0089】
図11は、上述したその他の実施形態の処理を説明するための図である。例えば、
図11に示すように、スマートフォン1がタッチスクリーンディスプレイ2の主面に対して水平方向d1へ移動する前後で、第1の視線位置VP1と第2の視線位置VP10との距離に閾値以上の開きがある場合、スマートフォン1は、第2の視線位置VP10に追従させて対象オブジェクトT1の表示位置を変更する(ステップS71〜ステップS72a)。ここで、第2の視線位置VP10は、タッチスクリーンディスプレイ2の左方向(d1と同一の方向)へ移動した利用者の視線方向に対応する。同様に、スマートフォン1がタッチスクリーンディスプレイ2の主面に対して水平方向d2へ移動する前後で、第1の視線位置VP1と第2の視線位置VP11との距離に閾値以上の開きがある場合、スマートフォン1は、第2の視線位置VP11に追従させて対象オブジェクトT1の表示位置を変更する(ステップS71〜ステップS72b)。ここで、第2の視線位置VP10は、タッチスクリーンディスプレイ2の下方向(d2に対して垂直下向きの方向)へ移動した利用者の視線方向に対応する。なお、
図11に示す処理の流れは、第2の視線位置に追従させて対象オブジェクトの表示位置を変更する点以外は、上記
図7及び上記
図8に示す処理の流れと同様である。このように、本出願に係るスマートフォン1は、利用者の視線方向が移動しない場合の処理(
図7及び
図8)と、利用者の視線方向が移動する場合の処理と(
図11)とを、スマートフォン1に作用する振動の状態に応じて選択して使用することができる。
【0090】
上記の実施形態では、添付の請求項に係る装置の例として、スマートフォン1について説明したが、添付の請求項に係る装置は、スマートフォン1に限定されない。添付の請求項に係る装置は、タッチスクリーンを有する電子機器であれば、スマートフォン以外の装置であってもよい。
【0091】
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記の実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。