【文献】
大和 正武,視線によるテキストウィンドウの自動スクロール,情報処理学会論文誌,日本,社団法人情報処理学会,1999年 2月15日,第40巻,第2号,p.613-622
(58)【調査した分野】(Int.Cl.,DB名)
前記表示制御手段は、前記表示面の予め定められた領域内に前記視線が移動した後、当該移動前の方向に前記視線が移動した場合、前記領域内に視線が移動する前のスクロール速度より速いスクロール速度で前記画像のスクロールを開始すること
を特徴とする請求項1に記載の表示装置。
【発明を実施するための形態】
【0012】
[実施形態]
(ハードウェアの構成)
図1は、本発明の一実施形態に係る情報処理装置1のハードウェア構成を示した図である。本実施形態の情報処理装置1は、板状の筐体にタッチスクリーンやハードウェアのボタンなどを備えた所謂タブレット端末と呼ばれるコンピュータ装置である。情報処理装置1は、タッチスクリーンで画像を表示する表示装置の一例である。
図1に示したように、情報処理装置1の各部はバス101により接続されている。
【0013】
通信部105は、無線通信を行う通信インターフェースの機能を備えている。情報処理装置1は、通信部105を制御して無線LAN(Local Area Network)や移動体通信網に接続し、データ通信や音声通信を行う。
操作部104は、情報処理装置1を操作するための複数のハードウェアのボタンを備えている。また、操作部104は、画像を表示する表示手段の一例である表示部1042と、表示部1042の表面に設けられ、表示部1042が表示した画像を透過し、指が触れた位置を検出する位置検出部1041とが一体化したタッチスクリーン104Aを備えている。なお、表示部1042としては、液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイが用いられるが、これらに限定されるものではなく他のディスプレイであってもよい。また、位置検出部1041としては、触れている複数の指の位置を検出するもの(例えば静電容量方式のもの)が用いられる。ユーザの指がタッチスクリーン104Aに触れていると、位置検出部1041において指の触れた位置を表す位置データが生成され、生成された位置データが位置検出部1041から制御部102へ供給される。
撮像部106は、レンズや固体撮像素子を備えており、レンズによって固体撮像素子に結像した像を表す画像を生成する。
【0014】
記憶部103は、不揮発性メモリを備えている。記憶部103は、オペレーティングシステムを実現させるプログラムOSや、各種アプリケーションプログラムを記憶する。制御部102は、CPU(Central Processing Unit)102A、ROM(Read Only Memory)102BおよびRAM(Random Access Memory)102C等を備えている。CPU102Aが、ROM102Bに記憶されているIPL(Initial Program Loader)を実行すると、記憶部103に記憶されているプログラムOSが実行されてオペレーティングシステムが実現し、各種アプリケーションプログラムの実行が可能となる。本実施形態においては、オペレーティングシステムが実現すると、タッチスクリーン104Aと撮像部106を用いるユーザインターフェースが実現する。
【0015】
(機能ブロックの説明)
図2は、制御部102において実現する機能のうち本発明に係る特徴的な機能に関係する機能ブロックを示した図である。本実施形態においては、上述したように、タッチスクリーン104Aと撮像部106を用いるユーザインターフェースが実現する。
図2は、このユーザインターフェース機能に係る機能ブロック図である。
【0016】
操作検出部201は、位置検出部1041で生成される位置データを取得する。この位置データは、表示部1042の表示面上でユーザが指で触れた位置を表し、ユーザの指が移動した場合には位置データの内容が変化する。操作検出部201は、この位置データを基にしてユーザが指で行った操作を検出する。
視線検出部202は、ユーザの視線を検出するものである。視線検出部202は、ユーザの顔の画像を取得する。視線検出部202は、取得した顔の画像からユーザの視線を検出する。
【0017】
方向决定部203は、視線検出部202で検出した視線を基にして画像をスクロールさせるときのスクロール方向を决定する。
速度决定部204は、操作検出部201で行われた操作に応じて画像をスクロールさせるときのスクロール速度を决定する。例えば、速度决定部204は、指をタッチスクリーン104上で移動させる操作が行われた場合、指が触れたときの位置から移動後の指の位置までの距離に応じてスクロール速度を决定する。
表示制御部205は、画像がスクロールするように表示部1042を制御するものである。表示制御部205は、方向决定部203で决定したスクロール方向と速度决定部204で决定したスクロール速度を用いて画像をスクロールさせる。
【0018】
(実施形態の動作例)
次に本実施形態の動作の一例について、
図3〜4のフローチャートと、
図5〜10に示した画面例を用いて説明する。
図5は、情報処理装置1においてWebブラウザを実現するアプリケーションプログラムを実行したときに表示される画面の一例を示したものである。この画面においては、ユーザが選択したWebページが表示されている状態を示している。
【0019】
制御部102は、撮像部106を制御して撮像部106での撮像を行う。ユーザが表示画面に目を向けると、ユーザの顔が撮像部106で撮像される。撮像部106においては、ユーザの顔を含む画像(以下、顔画像と称する)が生成される。
制御部102は、顔画像が生成される毎に
図3に示した処理を実行する。まず、制御部102は、この顔画像を取得する(ステップSA1)。制御部102は、顔画像を取得すると、例えば、特開平10−39995号公報に開示されている技術を用いてユーザの視線を検出し、表示画面においてユーザが見ている位置を特定する(ステップSA2)。なお、ユーザの視線を検知する技術は、上記の方法に限定されるものではなく、ユーザの頭部に取り付けられたカメラでユーザの眼球を撮像し、この撮像した画像から視線を検知する方法など、他の周知の方法を用いてもよい。
【0020】
制御部102は、ステップSA2でユーザが見ている位置を特定すると、特定した位置にカーソル10が表示されるように表示部1042を制御する(ステップSA3)。ステップSA3の処理が行われると、
図5に示したように、ユーザが見ている位置にカーソル10が表示される。
【0021】
ユーザは、表示されているWebページをスクロールさせる場合、表示部1042の矩形の表示領域の縁の方向へ視線を移動させる。制御部102は、撮像部106で得られる顔画像からユーザが見ている位置を特定し、特定した位置へカーソル10を移動させる。制御部102は、カーソル10を移動させると、ユーザが見ている位置が、
図6に示した領域B1〜B8のいずれかへ移動したか判断する。
【0022】
制御部102は、ユーザが見ている位置が、
図6に示した領域A内から領域B1〜B8のいずれかへ移動した場合、ユーザの指がタッチスクリーン104Aに触れているか判断する。制御部102は、ユーザが見ている位置が領域Aから領域B1〜B8のいずれかへ移動したときに位置データがタッチスクリーン104Aから供給されていない場合(ステップSB1でNO)、ユーザが見ている位置が領域B1〜B8のいずれかの領域内であるか判断する。制御部102は、ユーザが見ている位置が領域A内または表示部1042の表示領域外など、領域B1〜B8の領域外である場合(ステップSB2でNO)、
図4に示した処理を終了する。
【0023】
一方、制御部102は、ステップSB1でYESと判断した場合、表示画面上において指の触れている位置を、取得した位置データを用いて特定する(ステップSB3)。制御部102は、ステップSB3で特定した位置(以下、第1位置と称する)をRAM102Cに記憶させる(ステップSB4)。また、制御部102は、領域A内から領域B1〜B8のいずれかへ移動したときの移動後の領域を記憶する(ステップSB5)。
【0024】
次に制御部102は、ユーザが見ている位置が領域B1〜B8のいずれかの領域内であるか判断する。制御部102は、ユーザが見ている位置が領域B1〜B8の領域外である場合(ステップSB6でNO)、
図4に示した処理を終了する。一方、制御部102は、ユーザの見ている位置が領域B1〜B8のいずれかの領域内である場合(ステップSB6でYES)、この時点でユーザが見ている領域がステップSB5で記憶した領域と同じであるか判断する。制御部102は、この時点でユーザが見ている領域がステップSB5で記憶した領域と異なる場合(ステップSB7でNO)、処理の流れをステップSB1へ戻す。
一方、制御部102は、ステップSB7でYESと判断した場合、位置データが供給されているか判断する。制御部102は、位置データが供給されていない場合(ステップSB8でNO)、指がタッチスクリーンから離れたものと判断し、
図4に示した処理を終了する。
【0025】
制御部102は、ステップSB8でYESと判断した場合、位置データからユーザの指の位置を特定し(ステップSB97)、ユーザの指の位置が第1位置と同じであるか判断する。制御部102は、ステップSB9で特定した位置が第1位置と同じである場合(ステップSB10でYES)、処理の流れをステップSB6へ戻す。
また、制御部102は、ステップSB9で特定した位置が第1位置と異なる場合(ステップSB10でNO)、ユーザの指の位置が第1位置から変化したものと判断する。制御部102は、ユーザの指の位置が変化した場合、ステップSB9で特定した指の位置と第1位置との間の距離を算出する(ステップSB11)。
【0026】
制御部102は、ステップSB11で距離を算出すると、表示されている画像を、カーソル10がある位置と、算出した距離とに応じてスクロールさせる(ステップSB12)。具体的には、制御部102は、画像をスクロールさせる方向をカーソル10がある領域の方向とする。例えば、
図5の状態から領域B1へカーソル10を移動させて画像をスクロールさせた場合、
図7に示したように表示されている画像は領域B1の方向へスクロールされる。また、
図5の状態から領域B5へカーソル10を移動させて画像をスクロールさせた場合、
図8に示したように表示されている画像は領域B5の方向へスクロールされる。なお、
図7、8においては、タッチスクリーン104Aに触れている指の図示を省略している。
【0027】
また、制御部102は、画像をスクロールさせるスピード(単位時間(例えば1秒)あたりの画像の移動量)を、ステップSB11で算出した距離に応じて設定する。例えば、制御部102は、ステップSB11で算出した距離が長くなるにつれてスクロールのスピードを速くする。このため、指を第1位置から移動させた場合、
図9に示したように移動後の指の位置が第1位置から近い場合にはスクロールのスピードが遅く、移動後の指の位置が第1位置から遠くなるに従って、スクロールのスピードが速くなる。このため、
図10に示したように、移動後の位置が
図9の位置より第1位置から遠い場合には、
図9の場合より
図10の場合の方がスクロールのスピードが速くなる。
【0028】
制御部102は、ステップSB12の処理の後、処理の流れをステップSB6へ戻す。そして、ユーザが見ている領域が領域B1〜B8の領域外となった場合、又はユーザの指がタッチスクリーン104Aから離れた場合、画像をスクロールさせる処理を終了する。
【0029】
なお、画像をスクロールしているときにユーザが見ている領域が、ステップSB5で記憶した領域から変化した場合、制御部102は、ステップSB7でNOと判断する。
次に制御部102は、ユーザが見ている領域がステップSB5で記憶した領域と反対方向の領域であるか判断する。例えば、領域B1から領域B5へ視線を移動した場合、領域B5から領域B1へ視線を移動した場合、領域B3から領域B7へ視線を移動した場合、及び領域B7から領域B3へ視線を移動した場合、制御部102は、ユーザが見ている領域がステップSB5で記憶した領域と反対方向であると判断し(ステップSB13でYES)、処理の流れをステップSB1へ移す。
【0030】
ステップSB13でYESと判断してステップSB1に戻った場合、この時点での指の位置が第1位置として新たに記憶される。そして、制御部102は、この第1位置から指が移動しない場合には画像をスクロールさせない。つまり、画像のスクロール中にユーザが見ている方向が反対方向へ変化した場合には、画像のスクロールが一旦停止することになる。そして、新たに記憶した第1位置から指が移動した場合には、視線を移動させたときに記憶した第1位置から移動後の指の位置までの距離に応じて、画像がスクロールされることとなる。
【0031】
一方、制御部102は、ステップSB13でNOと判断した場合、処理の流れをステップSB8へ移す。この場合、第1位置からの指の位置までの距離に応じてスクロールのスピードが設定されるため、視線が移動する前と比較すると、スクロールのスピードは同じでスクロールの方向が変化することになる。例えば、領域B1から領域B7へ視線を移動した場合、領域B1に視線があったときのスクロールのスピードを維持したままでスクロールの方向が領域B7の方向となる。
【0032】
このように本実施形態によれば、視線で画像のスクロールの方向を決定し、指による操作でスクロールのスピードを制御することができる。また、本実施形態によれば、画像をスクロールさせている途中で視線を反対方向へ動かすと、画像のスクロールが一旦停止することになる。このため、スクロールのスピードを維持したままでスクロールの方向を反対方向へ変更する場合と比較すると、ユーザが所望する位置を容易に表示させることが可能となる。
【0033】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【0034】
上述した実施形態においては、領域B1〜領域B8のいずれかに視線があるときに画像をスクロールさせる構成となっているが、画像をスクロールさせるときの視線の位置は、これらの領域内に限定されるものではなく、表示部1042の表示領域の外側に視線が移動した場合にも画像をスクロールさせるようにしてもよい。
例えば、
図11において実線で示したように画像の表示領域がある場合、領域B1〜B8に替えて、この表示領域より外側の領域C1〜C8に視線があるときに画像をスクロールさせるようにしてもよい。
また、
図12に示したように、画像の表示領域が実線で示した領域である場合、領域B1〜B8に替えて、
図12に示した領域D1〜D8に視線があるときに画像をスクロールさせるようにしてもよい。
【0035】
上述した実施形態においては、画像のスクロールのスピードを指の移動量に応じて決定しているが、スクロールのスピードを設定する方法は、上述した実施形態の方法に限定されるものではない。
例えば、タッチスクリーンにおいては、指によってタッチスクリーンに掛かる圧力を測定できるものがある。この場合、指によって掛かる圧力が大きくなるにつれて画像のスクロールのスピードを速くするようにしてもよい。
また、領域B1〜B8のいずれかへ視線を移動させた後に指でタッチスクリーンに触り、指がタッチスクリーンに触れてから経過した時間が長くなるにつれて画像のスクロールのスピードを速くするようにしてもよい。
また、領域B1〜B8のいずれかへ視線を移動させた後に指でタッチスクリーンを叩く操作を行い、叩いた回数が増えるにつれて画像のスクロールのスピードを速くするようにしてもよい。
【0036】
上述した実施形態においては、ユーザが視線を移動させると画像のスクロールが一旦停止する。そして、画像を再びスクロールさせる場合、視線を移動させた後、指を移動させる必要がある。しかしながら、スクロールが停止する前に見ていた位置に視線を戻した場合には、以下のような動作となるようにしてもよい。
例えば、制御部102は、指がタッチスクリーン104Aに触れている状態でユーザが見ている位置が領域B1〜B8のいずれかから領域A内へ移動した場合、領域A内へ移動する前にユーザが見ていた領域と、見ている位置が領域Aへ移動する前の状態におけるスクロールのスピードを記憶する。次にユーザが指をタッチスクリーン104Aから離さずに、ユーザの見ている位置が記憶した領域に戻った場合、制御部102は、記憶したスピードより速いスピードでユーザが見ている方向へ画像をスクロールさせる。なお、見ている位置が記憶した位置に戻らず、他の位置となった場合には、制御部102は、新たに第1位置を記憶し、指の位置が移動するまでスクロールが行われないようにする。
本変形例によれば、続けて画像を同じ方向へスクロールさせる場合、一旦スクロールが停止しないので、スクロールを一旦停止させる構成と比較すると、より速く画像をスクロールさせることができる。
【0037】
上述した実施形態においては、第1位置を記憶した後に視線がスクロールの方向と反対方向へ移動した場合、画像のスクロールが一旦停止するが、この構成に限定されるものではない。例えば、領域B1から領域B5へ視線を移動させた場合、制御部102は、視線が領域B5へ移動したときの指の位置を第1位置として記憶し、領域B5の方向へ予め定められたスピードで画像をスクロールさせ、さらに第1位置から指が移動した場合、予め定められたスピードを基準にし、第1位置から指の位置までの距離に応じてスクロールのスピードを速くするようにしてもよい。
【0038】
上述した実施形態においては、アプリケーション毎、又は表示するコンテンツ毎にスクロールのスピードが異なるようにしてもよい。例えば、WebブラウザでWebページを表示している場合と、ワードプロセッサーのアプリケーションで文書を表示している場合とで、第1位置からの指の移動量が同じであってもWebブラウザにおけるスクロールのスピードと、ワードプロセッサーにおけるスクロールのスピードとが異なるようにしてもよい。また、Webブラウザで文字列のページを表示している場合と、Webブラウザで地図のページを表示している場合とで、文字列を表示している場合のスクロールのスピードと、地図を表示している場合のスクロールのスピードとが異なるようにしてもよい。
【0039】
上述した実施形態においては、指の位置と視線とで画像をスクロールさせる機能がオペレーティングシステムのプログラムを実行することにより実現しているが、これら機能を実現するのは、オペレーティングシステムのプログラムに限定されるものではない。例えば、オペレーティングシステムのプログラムとは別のアプリケーションプログラムを実行することにより、指の位置と視線とで画像をスクロールさせる機能が実現するようにしてもよい。
【0040】
上述した実施形態においては、撮像部106が情報処理装置1に内蔵されている構成となっているが、この構成に限定されるものではない。例えば、レンズと固定撮像素子とを備えるカメラを情報処理装置1に接続し、このカメラでユーザの顔を撮像するようにしてもよい。また、レンズと固定撮像素子とを備えるカメラを眼鏡のフレームに配置し、このフレームに設けられたカメラでユーザの顔を撮像するようにしてもよい。
【0041】
上述した実施形態においては、情報処理装置1は、通信ネットワークを介した通信を行う機能を備えているが、この機能を備えたものに限定されるものではない。例えば、電子ブックリーダなど、通信ネットワークを介した通信を行う機能を備えていないものであってもよい。
【0042】
上述した実施形態の機能を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD(Hard Disk Drive)、FD(Flexible Disk)))など、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し、情報処理装置1にインストールしてもよい。また、通信回線を介して情報処理装置1にダウンロードしてインストールしてもよい。