以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
図1は、本発明の一実施形態における情報処理装置1の外観構成を示す図である。この情報処理装置1は、例えばMFPなどによって構成され、スキャンジョブやプリントジョブ、コピージョブ、FAXジョブなどの、画像処理に関する様々なジョブを実行することができる画像処理装置である。例えば図1に示すように、情報処理装置1は、装置本体の上部に、ユーザーによってセットされる原稿を読み取るスキャナ部2を備えている。また情報処理装置1は、装置本体の中央部に、印刷出力を行うプリンタ部3を備えている。情報処理装置1は、これらスキャナ部2やプリンタ部3を動作させることにより、スキャンジョブやプリントジョブ、コピージョブを実行することができる。また情報処理装置1は、スキャナ部2やプリンタ部3の他にも、後述するFAX部4(図2参照)を備えている。
また情報処理装置1は、装置本体の前面側に、ユーザーが操作可能な操作パネル5を備えている。操作パネル5は、ユーザーが情報処理装置1を操作する際のユーザーインタフェースとなるものであり、ユーザーに対して様々な情報を表示する表示部6を備えている。表示部6は、例えばカラー液晶ディスプレイで構成され、その表示画面にジョブの設定画面などの各種画面を表示することが可能である。また操作パネル5は、後述するユーザーが操作可能な操作部7(図2参照)を備えている。
さらに情報処理装置1は、操作パネル5を操作するユーザーの視線を検知するため、操作パネル5の近傍位置にユーザーの顔画像を撮影するための撮像部8を備えている。撮像部8は、例えば操作パネル5を操作するユーザーの顔を撮影することができるように、その撮影方向が予め調整された状態に取り付けられる。そして撮像部8は、操作パネル5の表示部6に何らかの画像が表示されているときに、所定のフレームレートで繰り返しユーザーの顔画像を撮影するように構成される。
情報処理装置1は、撮像部8によって撮影されるユーザーの顔画像に基づいてユーザーの視線位置SPを検知し、その視線位置SPに応じて表示部6に表示する画面を制御するように構成される。例えば情報処理装置1は、表示部6に、各種設定を行うための第1の画面を全画面表示しているとき、その第1の画面に含まれるひとつの表示コンテンツに関連するサブ画面を、第2の画面として、第1の画面の前面側に重畳させてポップアップ表示することができる。第1の画面の前面側に第2の画面がポップアップ表示されると、その第2の画面により、第1の画面に含まれる少なくとも1つの表示コンテンツが隠蔽された状態となり、ユーザーが視認できない状態となることがある。そのため、情報処理装置1は、第1の画面の前面側に第2の画面を重畳して表示しているとき、ユーザーの視線位置SPに応じて第1の画面及び第2の画面のいずれか一方若しくは双方の表示態様を切り替えることにより、隠蔽された表示コンテンツをユーザーが視認できるように表示部6における画面表示を制御する。以下、このような情報処理装置1について詳しく説明する。
図2は、情報処理装置1のハードウェア構成の一例を示すブロック図である。情報処理装置1は、そのハードウェア構成として、上述したスキャナ部2、プリンタ部4、操作パネル5及び撮像部8の他に、FAX部4と、ネットワークインタフェース9と、制御部10と、記憶部15とを備えている。また操作パネル5は、表示部6の他にも、操作部7を備えている。操作部7は、ユーザーによる操作入力を受け付けるためのものであり、例えば表示部6の表示画面上に配置される透明なタッチパネルセンサーと、表示部6の表示画面の周囲に配置される押しボタンキーとを備えて構成される。またFAX部4は、図示を省略する公衆電話回線を通じてFAXデータの送受信を行うためのものである。
ネットワークインタフェース9は、情報処理装置1をLAN(Local Area Network)などのネットワークに接続するためのものである。情報処理装置1は、このネットワークインタフェース9を介して、スキャンジョブの実行によって生成した画像データを、他のデバイスに送信することが可能である。また情報処理装置1は、ネットワークインタフェース9を介して、他のデバイスからプリントジョブなどのジョブを受信することも可能であり、プリントジョブを受信した場合にはプリンタ部3を駆動することにより、その受信したプリントジョブに基づいて印刷出力を行う。
記憶部15は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などによって構成される不揮発性の記憶手段である。この記憶部15には、情報処理装置1において実行されるプログラム16が予め記憶されると共に、表示部6に表示するための様々な画面に関する画面情報17と、表示部6に表示される各画面の付属情報である画面付属情報18とが記憶される。画面情報17は、ジョブの設定画面などの各種画面を表示部6に表示するための情報であり、ユーザーが操作可能な操作キーやテキスト情報などを表示コンテンツに含む情報である。この画面情報17では、複数の画面が階層構造に定義されており、その階層構造に従った画面遷移が行われる。画面付属情報18は、表示部6に表示される画面ごとに定義される情報であり、例えば各画面の画面サイズや表示位置、各画面に含まれる表示コンテンツの表示サイズや表示位置などを記録した情報である。尚、記憶部15には、この他にも、例えばスキャンジョブなどによって生成される画像データやネットワークインタフェース9を介して受信するドキュメントファイルなどを記憶しておくこともできる。
制御部10は、CPU11とメモリ12とを備えて構成され、情報処理装置1の各部の動作を制御するものである。制御部10のCPU11は、情報処理装置1に電源が投入されると、記憶部15からプログラム16を読み出して実行する。これにより、制御部10は、様々な機能を実現する。
図3は、制御部10の機能構成の一例を示すブロック図である。制御部10は、視線検知部21、視線判別部22、操作検知部23、画面制御部24及び隠蔽コンテンツ判定部27として機能する。以下、これら各部の動作について説明する。
視線検知部21は、撮像部8によって撮影されるユーザーの顔画像を取得し、その顔画像に基づいてユーザーの視線位置SPを検知する処理部である。例えば視線検知部21は、ユーザーの顔画像から左右両目の目頭と虹彩を認識し、目頭を基準点とする虹彩の位置に基づいてユーザーの視線位置SPを検知する。そしてユーザーが表示部6の表示画面内を視認している場合、視線検知部21は、表示部6の表示画面内において視線位置SPに対応する座標情報を導出する。ただし、ユーザーが表示部6の表示画面を視認していない場合、視線検知部21は、表示画面内における座標情報を導出しないようにしても良い。
そして視線検知部21は、撮像部8によって所定のフレームレートでユーザーの顔画像が繰り返し撮影される度に、ユーザーの視線位置SPを検知する処理を繰り返す。そのため、ユーザーの視線位置SPが移動していれば、視線検知部21から出力される座標情報の履歴により、ユーザーの視線位置SPの移動軌跡を検出することができる。
視線判別部22は、視線検知部21から出力される視線位置SPの座標情報に基づき、表示部6の表示画面に対するユーザーの視認状態を判別する処理である。例えば、視線判別部22は、表示部6に第1の画面だけが表示されている状態のときには、ユーザーがその第1の画面に含まれる一の表示コンテンツを凝視しているか否かを判別する。すなわち、視線判別部22は、まずユーザーの視線位置SPが第1の画面上の特定の位置に所定時間以上留まっているか否かを判別する。そしてユーザーの視線位置SPが特定の位置に留まっている場合、視線判別部22は、第1の画面に関する画面付属情報18を参照し、ユーザーの視線位置SPが留まっている位置に、操作キーなどの表示コンテンツが存在するか否かを判別する。その結果、ユーザーの視線位置SPに表示コンテンツが存在する場合、視線判別部22は、ユーザーが第1の画面に含まれる一の表示コンテンツを凝視していると判別する。そして視線判別部22は、その判別結果を画面制御部24へ出力する。これにより、一の表示コンテンツに関連する第2の画面が、サブ画面として、第1の画面の前面側に重畳した状態でポップアップ表示されるようになる。
また視線判別部22は、第1の画面の前面側に第2の画面が表示されている状態のときには、視線検知部21によって検知されるユーザーの視線位置SPに基づき、第2の画面に対するユーザーの視認状態を判別する。すなわち、視線判別部22は、ユーザーの視線位置SPに基づいて、ユーザーが第2の画面に含まれる表示コンテンツを視認していない可能性があるか否かを判別するのである。これにより、ユーザーが第2の画面によって隠蔽された第1の画面の表示コンテンツを視認したいと思っているか否かを推定することができる。そしてユーザーが第2の画面に含まれる表示コンテンツを視認していない可能性があると判別した場合、視線判別部22は、ユーザーの視認状態を予め定めた複数の視認パターンのうちのいずれに該当するかを特定し、その特定した視認パターンを画面制御部24へ出力する。これにより、画面制御部24は、視線判別部22によって特定された視認パターンに応じて、第2の画面に隠蔽されている第1の画面の表示コンテンツをユーザーが視認できるように表示部6の表示態様を更新することができるようになる。尚、視線判別部22による具体的な判別手法については後述する。
操作検知部23は、操作部7に対するユーザーの操作を検知し、ユーザーの操作に基づく操作情報を画面制御部24又はジョブ制御部28へ出力する処理部である。例えば、操作検知部23は、タッチパネルセンサーに対するユーザーのタッチ操作を検知した場合、表示部6の表示画面上においてユーザーがタッチ操作を行った座標位置を特定し、その座標位置を含む操作情報を生成して出力する。例えばユーザーが表示部6に表示されている画面を別の画面に遷移させるような操作を行った場合、操作検知部23は、ユーザーの操作に基づく操作情報を画面制御部24へ出力する。これにより、表示部6に表示される画面は、ユーザーの操作に基づいて更新される。またユーザーがジョブの実行を指示する操作を行った場合、操作検知部23は、ユーザーの操作に基づくジョブの実行指示をジョブ制御部28へ出力する。これにより、情報処理装置1においてジョブの実行が開始される。
画面制御部24は、表示部6に表示される画面を制御するものである。この画面制御部24は、操作検知部23から出力される操作情報に基づいて表示部6に表示される画面を更新する。また画面制御部24は、視線判別部22から出力される情報に基づいて表示部6に表示される画面を更新することもできる。このような画面制御部24は、図3に示すように、表示制御部25と、表示更新部26とを備えている。
表示制御部25は、表示部6に第1の画面だけを表示している状態のときに、視線判別部22によってユーザーが第1の画面に含まれる一の表示コンテンツを凝視していると判別されると、ユーザーが凝視している一の表示コンテンツに関する第2画面を、第1の画面の前面側に重畳させたポップアップ表示させる処理部である。
図4は、第1の画面G1の前面側に表示される第2の画面G2の例を示す図である。例えば図4(a)に示すように、第1の画面G1には、ユーザーが操作可能な複数の操作キーのそれぞれに対応する複数の表示コンテンツ30〜39が含まれている。このうち、ユーザーの視線位置SPが一の表示コンテンツ30上に所定時間以上留まっている場合、視線判別部22によってユーザーが表示コンテンツ30を凝視していると判別される。この場合、表示制御部25は、ユーザーによって凝視されている表示コンテンツ30に対応する画面情報17を読み出す。そして図4(b)に示すように、表示制御部25は、その画面情報17に基づいて表示コンテンツ30に対応する第2の画面G2を、第1の画面G1の前面側に重畳させた状態にポップアップ表示させる。尚、本実施形態では、第2の画面G2が表示部6の一部の表示領域される画面である場合を例示するが、これに限られるものでなく、第2の画面G2は表示部6において全画面表示されるものであっても構わない。
図4(b)に示すように第1の画面G1の前面側に第2の画面G2が表示されると、第1の画面G1に含まれる少なくとも一部の表示コンテンツ35〜39が第2の画面G2によって隠蔽され、ユーザーが視認できない状態となる。表示制御部25によって表示部6に第2の画面G2が表示されると、隠蔽コンテンツ判定部27が機能する。
隠蔽コンテンツ判定部27は、第1の画面G1の前面側に第2の画面G2が表示された状態において、第1の画面G1に含まれる複数の表示コンテンツ30〜39のうちの少なくとも1つの表示コンテンツが第2の画面G2によって隠蔽された状態となるか否かを判定する。すなわち、隠蔽コンテンツ判定部27は、表示制御部25によって第2の画面G2が表示されると、記憶部15から第1の画面G1及び第2の画面G2のそれぞれに対応する画面付属情報18を読み出し、第1の画面G1において複数の表示コンテンツ30〜39のそれぞれが表示されている位置と重なった状態で第2の画面G2が表示されているか否かを判別する。そして複数の表示コンテンツ30〜39のうちのいずれかの表示コンテンツの表示位置と重なった状態で第2の画面G2が表示されていれば、第2の画面G2によって隠蔽された表示コンテンツが存在すると判定する。図4(b)の例の場合、隠蔽コンテンツ判定部27は、第1の画面G1に含まれる表示コンテンツ35〜39が第2の画面G2によって隠蔽されていることを判定する。そして隠蔽コンテンツ判定部27は、上記のような判定結果を、視線判別部22へ出力する。
そして視線判別部22は、隠蔽コンテンツ判定部27によって第1の画面G1に含まれる表示コンテンツ30〜39のいずれかが第2の画面G2によって隠蔽されていると判定されることを条件として、上述したように第2の画面G2に対するユーザーの視認状態を判別する。言い換えると、視線判別部22は、第1の画面の前面側に第2の画面が表示された状態であっても、隠蔽コンテンツ判定部27によって第1の画面G1に含まれる表示コンテンツ30〜39の全てが第2の画面G2によって隠蔽されていないと判定された場合には、第2の画面G2に対するユーザーの視認状態を判別する必要はない。なぜなら、第1の画面G1及び第2の画面G2のそれぞれに含まれる全ての表示コンテンツをユーザーが視認できるからである。
表示更新部26は、第1の画面G1の前面側に第2の画面G2を表示しているとき、視線判別部22によってユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判別された場合に機能する。そして表示更新部26は、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツを、ユーザーが視認可能な状態に更新する。また表示更新部26は、視線判別部22によって特定されるユーザーの視認パターンに応じてそれぞれ異なる表示態様で、隠蔽された表示コンテンツをユーザーが視認できるように更新する。尚、表示更新部26による表示画面の更新処理の詳細については後述する。
ジョブ制御部28は、スキャナ部2、プリンタ部3及びFAX部4のそれぞれを制御することにより、情報処理装置1におけるジョブの実行を制御するものである。例えばジョブ制御部28は、操作検知部23によってユーザーによるジョブの実行指示が検知された場合に、ユーザーによって指定されたジョブの実行を制御する。またジョブ制御部28は、ネットワークインタフェース9を介してプリントジョブを受信した場合には、プリンタ部3を駆動し、受信したプリントジョブに基づいて印刷出力を行わせる。
次に、第1の画面G1の前面側に第2の画面G2が表示されている状態において、視線判別部22によって行われるユーザーの視認状態を判別する処理について説明する。ユーザーの視認状態を判別する処理では、上述したように、ユーザーの視線位置SPに基づいて、ユーザーが第2の画面に含まれる表示コンテンツを視認していない可能性があるか否かが判別される。また視線判別部22は、ユーザーの視認状態を判別するとき、ユーザーの視線位置SPの移動軌跡を参照することもある。
図5は、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツ上を移動している状態を示す図である。図5に示すように、視線判別部22は、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツ上を移動していると判定した場合、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していると判断する。この場合、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツ35〜39をユーザーに視認させる必要がない。したがって、視線判別部22は、ユーザーが第2の画面に含まれる表示コンテンツを視認していると判断した場合には表示更新部26による表示状態の更新を行わないように指示する。そのため、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツ上を移動しており、ユーザーが第2の画面G2の表示コンテンツを確認している場合には、表示部6の表示状態は更新されず、現在の表示状態が維持される。
次に図6は、ユーザーの視線位置SPが第2の画面G2の表示領域外にある状態を示す図である。図6に示すように、ユーザーの視線位置SPが第2の画面G2の表示領域外にある状態が所定時間以上継続する場合、視線判別部22は、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判定する。この場合、ユーザーが第2の画面G2に含まれる表示コンテンツに全く関心を示していないのであるから、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツ35〜39をユーザーが視認できるように表示する必要がある。したがって、視線判別部22は、第2の画面G2の表示領域外にユーザーの視線位置SPがあることを示す視認パターンを特定し、その視認パターンを画面制御部24へ出力する。これにより、画面制御部24において表示更新部26が機能し、ユーザーの視線位置SPが第2の画面G2の表示領域外にあることを示す視認パターンに応じて表示部6の表示状態が更新される。
次に図7は、ユーザーの視線位置SPが第2の画面G2の表示領域内にあり、且つ、第2の画面G2において表示コンテンツが表示されていない背景部分にある状態を示す図である。図7に示すように、ユーザーの視線位置SPが第2の画面G2の表示領域内にあり、且つ、第2の画面G2において表示コンテンツが表示されていない背景部分にある状態が所定時間以上継続する場合、視線判別部22は、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判定する。この場合も、ユーザーが第2の画面G2に含まれる表示コンテンツにあまり関心を示していないのであるから、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツ35〜39をユーザーが視認できるように表示する必要がある。したがって、視線判別部22は、第2の画面G2の背景部分にユーザーの視線位置SPがあることを示す視認パターンを特定し、その視認パターンを画面制御部24へ出力する。これにより、画面制御部24において表示更新部26が機能し、ユーザーの視線位置SPが第2の画面G2の背景部分にあることを示す視認パターンに応じて表示部6の表示状態が更新される。
次に図8は、ユーザーの視線位置SPが第2の画面G2の表示領域内にあり、且つ、第2の画面G2における表示コンテンツの表示位置と重なった状態を示す図である。図8に示すように、ユーザーの視線位置SPが第2の画面G2の表示領域内にあり、且つ、第2の画面G2における表示コンテンツの表示位置と重なっている状態が所定時間以上継続する場合、ユーザーは、第2の画面G2の表示コンテンツに関心を示している可能性があると言えると共に、視線位置SPにおいて隠蔽された状態にある第1の画面G1の表示コンテンツ36に関心を示している可能性があるとも言える。そして後者の場合には、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると言える。そのため、図8に示すように、ユーザーの視線位置SPが第2の画面G2の表示領域内にあり、且つ、第2の画面G2における表示コンテンツの表示位置と重なった状態であるとき、視線判別部22は、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判定する。この場合も、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツ35〜39をユーザーが視認できるように表示する必要がある。したがって、視線判別部22は、ユーザーの視線位置SPが第2の画面G2における表示コンテンツの表示位置と重なった状態であることを示す視認パターンを特定し、その視認パターンを画面制御部24へ出力する。これにより、画面制御部24において表示更新部26が機能し、ユーザーの視線位置SPが第2の画面G2における表示コンテンツの表示位置と重なった状態であることを示す視認パターンに応じて表示部6の表示状態が更新される。
次に図9は、ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過した状態を示す図である。図9に示すように、ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過した後、ユーザーの視線位置SPが特定の表示コンテンツ上に移動することなく、所定時間が経過した場合、ユーザーは、第2の画面G2の表示コンテンツに関心を示していないと言える。そのため、視線判別部22は、ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過した状態になると、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判定する。この場合も、第2の画面G2によって隠蔽された状態である第1の画面G1の表示コンテンツ35〜39をユーザーが視認できるように表示する必要がある。したがって、視線判別部22は、ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過したことを示す視認パターンを特定し、その視認パターンを画面制御部24へ出力する。これにより、画面制御部24において表示更新部26が機能し、ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過したことを示す視認パターンに応じて表示部6の表示状態が更新される。
次に表示更新部26が表示部6の表示状態を更新する処理について説明する。表示更新部26は、視線判別部22において特定される視認パターンに応じて表示部6の表示状態を更新する。
図10は、ユーザーの視線位置SPが第2の画面G2の表示領域外にあることを示す視認パターンに応じて表示部6の表示状態を更新する例を示す図である。図10(a)に示すように視線判別部22によってユーザーの視線位置SPが第2の画面G2の表示領域外にあることを示す視認パターンが特定された場合、表示更新部26は、表示部6の表示画面上から第2の画面G2を消去する。これにより、表示部6の表示画面は、図10(a)に示すような表示態様から図10(b)に示すような表示態様に自動更新される。このような更新により、ユーザーは、第2の画面G2で隠蔽されていた第1の画面G1の表示コンテンツ35〜39を視認することができるようになり、表示コンテンツ35〜39の内容を確認したり、表示コンテンツ35〜39に対する操作を行ったりすることができるようになる。またユーザーにとっては手動で第2の画面G2を閉じる操作を行わなくても、第1の画面G1に含まれる表示コンテンツ35〜39を視認することができるようになるため、操作性が向上する。
また表示更新部26は、視線判別部22によってユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過したことを示す視認パターンが特定された場合にも、上記と同様に、表示部6の表示画面上から第2の画面G2を消去する。ユーザーの視線位置SPが第2の画面G2に含まれる全ての表示コンテンツの表示位置を通過した後、ユーザーの視線位置SPが第2の画面G2上の特定の表示コンテンツに戻ることなく、所定時間が経過した場合、ユーザーは、第2の画面G2の表示コンテンツに全く関心を示していないと言える。そのため、表示更新部26は、第2の画面G2を表示画面上から消去することにより、第2の画面G2に隠蔽されていた表示コンテンツ35〜39を視認可能な状態に自動更新するのである。
次に視線判別部22によってユーザーの視線位置SPが第2の画面G2の背景部分にあることを示す視認パターンが特定された場合の表示画面の更新処理について説明する。ユーザーが第2の画面G2の背景部分を見ている場合、ユーザーの関心は、第2の画面G2に含まれる表示コンテンツよりも寧ろ、視線位置SPにおいて隠蔽されている第1の画面G1の表示コンテンツにあると言える。そのため、表示更新部26は、第2の画面G2に含まれる表示コンテンツの視認性を低下させることにより、第2の画面G2に隠蔽されていた第1の画面G1の表示コンテンツ35〜39を視認できるようにする。
図11は、第2の画面G2の視認性を低下させる場合の第1の更新態様の例を示す図である。例えば図11(a)に示すように視線判別部22によってユーザーの視線位置SPが第2の画面G2の背景部分にあることを示す視認パターンが特定された場合、表示更新部26は、図11(b)に示すように第2の画面G2の透過率を上げることにより、第2の画面G2の背面側にある第1の画面G1の表示コンテンツ35〜39を透過させて視認可能な状態に表示させる。このとき、ユーザーの関心は、第2の画面G2の表示コンテンツよりも、第1の画面G1の表示コンテンツ35〜39の方が高いと言える。そのため、表示更新部26は、例えば第2の画面G2の透過率を50%以上に設定し、第1の画面G1に含まれる隠蔽された表示コンテンツ35〜39の視認性が、第2の画面G2に含まれる表示コンテンツよりも高くなるようにする。その結果、ユーザーは、第2の画面G2が表示された状態のままで第1の画面G1に含まれる表示コンテンツ35〜39を視認することができるようになる。
次に図12は、第2の画面G2の視認性を低下させる場合の第2の更新態様の例を示す図である。例えば図12(a)に示すように視線判別部22によってユーザーの視線位置SPが第2の画面G2の背景部分にあることを示す視認パターンが特定された場合、表示更新部26は、図12(b)に示すように第1の画面G1において隠蔽された状態の表示コンテンツ35〜39を第2の画面G2の表示領域内に表示させる。このとき、表示更新部26は、例えば第2の画面G2に含まれる表示コンテンツを縮小して視認性を低下させることにより、第2の画面G2の余白部分を拡大し、その余白部分に隠蔽された表示コンテンツ35〜39と同じ表示コンテンツ35a〜37aを表示する。
ただし、第2の画面G2に含まれる表示コンテンツを縮小したとしても、第2の画面G2によって隠蔽された表示コンテンツ35〜39の全てを第2の画面G2の余白部分に表示させることができないこともある。その場合、表示更新部26は、第1の画面G1において隠蔽された状態である複数の表示コンテンツ35〜39のうちから、ユーザーの視線位置SPの近傍位置にある所定数の表示コンテンツ35,36,37を抽出し、その抽出した所定数の表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを第2の画面G2の余白部分に表示させる。これにより、ユーザーが凝視する位置の近傍で隠蔽されていた表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを、第2の画面G2において視認することができるようになる。尚、表示更新部26は、表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを第2の画面G2に表示するとき、表示コンテンツ35a,36a,37aの表示サイズを、第2の画面G2に含まれていた表示コンテンツの表示サイズよりも大きくすることにより、表示コンテンツ35a,36a,37aを視認し易い態様で表示するようにしても良い。
図13は、第2の画面G2に表示コンテンツ35a,36a,37aを表示するときの表示態様の一例を示す図である。表示更新部26は、上述したように第2の画面G2によって隠蔽された第1の画面G1の表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを第2の画面G2に表示させるとき、図13に示すように各表示コンテンツ35a,36a,37aの移動軌跡51を示すアニメーション動画を表示するようにしても良い。各表示コンテンツ35a,36a,37aの移動軌跡51を動画態様で表示することにより、ユーザーは、第2の画面G2の表示領域内に複数の表示コンテンツ35a,36a,37aが表示されるとき、各表示コンテンツ35a,36a,37aが第1の画面G1のどの位置から移動してきたかを把握することができるようになり、注目していた表示コンテンツ35がどのようなコンテンツであるかを容易に確認することができるという利点がある。
以上のように、視線判別部22によってユーザーの視線位置SPが第2の画面G2の背景部分にあることを示す視認パターンが特定された場合、表示更新部26は、第1の更新態様及び第2の更新態様のいずれかを採用し、第2の画面G2に含まれる表示コンテンツの視認性を低下させることにより、第2の画面G2に隠蔽されていた第1の画面G1の表示コンテンツ35〜39を視認できるようにする。尚、第1の更新態様及び第2の更新態様のいずれを採用するかは、情報処理装置1において適宜設定可能である。
次に視線判別部22によってユーザーの視線位置SPが第2の画面G2における表示コンテンツの表示位置と重なった状態であることを示す視認パターンが特定された場合の表示画面の更新処理について説明する。上述したように、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツの表示位置と重なっている場合、ユーザーの関心が、第2の画面G2に含まれる表示コンテンツにあるのか、或いは、視線位置SPにおいて隠蔽されている第1の画面G1の表示コンテンツにあるのかを特定するのは困難である。そのため、第2の画面G2に含まれる表示コンテンツの視認性を低下させることなく、第1の画面G1において隠蔽された状態の表示コンテンツを視認可能な状態に表示する必要がある。
図14は、第2の画面G2の視認性を低下させずに表示画面を更新する場合の第1の更新態様の例を示す図である。例えば図14(a)に示すように視線判別部22によってユーザーの視線位置SPが第2の画面G2における表示コンテンツの表示位置と重なった状態であることを示す視認パターンが特定された場合、表示更新部26は、図14(b)に示すように第1の画面G1において隠蔽された状態の表示コンテンツ35〜39を第1の画面G1の余白領域に表示させる。その結果、ユーザーは、第2の画面G2が表示された状態のままで第1の画面G1に含まれる表示コンテンツ35〜39を視認することができるようになる。
ただし、この場合においても、第2の画面G2によって隠蔽された表示コンテンツ35〜39の全てを第1の画面G1の余白領域に表示させることができないこともある。その場合、表示更新部26は、第1の画面G1において隠蔽された状態である複数の表示コンテンツ35〜39のうちから、ユーザーの視線位置SPの近傍位置にある所定数の表示コンテンツ35,36,37を抽出し、その抽出した所定数の表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを第1の画面G1の余白部分に移動させて表示する。これにより、ユーザーが凝視する位置の近傍で隠蔽されていた表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを、第1の画面G1の余白領域において視認することができるようになる。
また表示更新部26は、第2の画面G2によって隠蔽された第1の画面G1の表示コンテンツ35,36,37と同じ表示コンテンツ35a,36a,37aを第1の画面G1の余白領域に移動させて表示するとき、図14(b)に示すように各表示コンテンツ35a,36a,37aの移動軌跡51を示すアニメーション動画を表示するようにしても良い。これにより、ユーザーは、第1の画面G1の余白領域内に複数の表示コンテンツ35a,36a,37aが表示されるとき、各表示コンテンツ35a,36a,37aが第1の画面G1のどの位置から移動してきたかを把握することができるようになり、注目していた表示コンテンツ36がどのようなコンテンツであるかを容易に確認することができるようになる。
次に図15は、第2の画面G2の視認性を低下させずに表示画面を更新する場合の第2の更新態様の例を示す図である。例えば図15(a)に示すように視線判別部22によってユーザーの視線位置SPが第2の画面G2における表示コンテンツの表示位置と重なった状態であることを示す視認パターンが特定された場合、表示更新部26は、図15(b)に示すように第2の画面G2を表示部6の表示画面内で移動させ、それまで第2の画面G2によって隠蔽されていた表示コンテンツ35〜39をユーザーが視認可能な状態に表示する。このとき、表示更新部26は、例えばユーザーの視線位置SPが第2の画面G2の表示領域から外れるように第2の画面G2を移動させることにより、第2の画面G2によって隠蔽されていた表示コンテンツ35〜39のうち、ユーザーが視認しようとしていた可能性のある表示コンテンツ36を視認可能な状態に表示することができる。
以上のように、視線判別部22によってユーザーの視線位置SPが第2の画面G2の表示コンテンツと重なった位置にある場合、表示更新部26は、上述した第1の更新態様及び第2の更新態様のいずれかを採用し、第2の画面G2に含まれる表示コンテンツの視認性を低下させることなく、第2の画面G2に隠蔽されていた第1の画面G1の表示コンテンツ35〜39を視認できるようにする。尚、第1の更新態様及び第2の更新態様のいずれを採用するかは、情報処理装置1において適宜設定可能である。
ところで、図15において第1の画面G1の前面側に表示される第2の画面G2は、ユーザーが第1の画面G1の一の表示コンテンツ30を選択する操作を行うことにより、次に表示される画面にどのような選択項目が含まれているかを示す画面である場合を例示した。しかし、第2の画面G2は、次画面にどのような選択項目が含まれるかを表示するものに限られない。
図16は、第1の画面G1の一の表示コンテンツ30の近傍に表示される第2の画面G2の別の例を示す図である。図16(a)は、第2の画面G2に、一の表示コンテンツ30に関するヘルプ情報53が表示される例を示している。つまり、図16(a)に示す第2の画面G2には、ヘルプ情報53が表示コンテンツとして含まれている。この場合のヘルプ情報53は、テキストとして表示されるものであっても良いし、画像として表示されるものであっても良い。このようなヘルプ情報53が第2の画面G2に表示されることにより、ユーザーは、一の表示コンテンツ30がどのようなコンテンツであるかを把握することができる。
また図16(b)は、ユーザーが凝視する一の表示コンテンツ30が第1の画面G1を別の画面に遷移させるためのユーザーが選択操作可能な操作キーである場合に表示される第2の画面G2の例を示している。すなわち、図16(b)は、第2の画面G2に、一の表示コンテンツ30がユーザーによって選択操作された場合に次に表示される画面のサムネイル画像54が表示される例を示している。つまり、この第2の画面G2には、次の画面のサムネイル画像54が表示コンテンツとして含まれる。このようなサムネイル画像54が第2の画面G2に表示されることにより、ユーザーは、一の表示コンテンツ30を操作すれば第1の画面G1がどのような画面に遷移するかを把握することができる。
さらに図16(c)は、ユーザーが凝視する一の表示コンテンツがドキュメントファイルである場合を例示している。例えば第1の画面G1が記憶部15に記憶されているドキュメントファイルの一覧表示を行う画面である場合、ユーザーが第1の画面G1において一のドキュメントファイルを選択すると、そのドキュメントファイルに対して行うことが可能な処理を、ユーザーが複数の項目のうちから選択することができるメニュー画面が表示される。この場合、例えば図16(c)に示すように、ユーザーがドキュメントファイルを凝視して表示される第2の画面G2は、ユーザーが選択可能な複数の項目55を表示コンテンツに含むメニュー画面として表示される。この場合、ユーザーは、一のドキュメントファイルを凝視すればメニュー画面が自動的に表示されるため、手動操作で一のドキュメントファイルを選択する必要がなく、操作性が向上する。
次に視線判別部22によるユーザーの視認状態を判別する処理の一時停止について説明する。情報処理装置1は、ユーザーが操作パネル5に対する操作を行っているときであっても、ネットワークインタフェース9を介してジョブを受信することが可能である。情報処理装置1は、ジョブを受信すると、ビープ音を発生させてジョブを受け付けたことを報知することがある。また情報処理装置1は、ジョブを受け付けると、操作パネル5の表示部6にジョブを受け付けたことを表示することもある。さらに情報処理装置1は、ジョブの実行を終了すると、ビープ音を発生させてジョブの実行が終了したことを報知することもある。このようにユーザーが操作パネル5に対する操作を行っている場合であっても、情報処理装置1は、ジョブのステータスが変化する度にビープ音を発生させたり、表示部6にジョブの実行状況を表示させたりすることがある。
図17は、情報処理装置1がジョブを受信した場合に表示部6に表示されるメッセージ57の例を示す図である。図17に示すように、情報処理装置1は、第1の画面G1の前面側に第2の画面G2を表示している状態であっても、ネットワークインタフェース9を介してジョブを受信すると、表示部6の所定位置にジョブを受信したことを示すメッセージ57を表示する。このとき、同時にビープ音が発生することもある。このようにユーザーが表示部6の表示画面を視認しているときに、ジョブのステータスに関するメッセージ57が表示されたり、或いは、情報処理装置1においてビープ音が発生したりすると、ユーザーの気が散り、ユーザーの視線位置SPが本来視認しようとしている位置から別の位置に移動してしまう可能性がある。そのため、視線判別部22は、ジョブ制御部28がジョブを受信した場合やジョブの実行を開始した場合、ジョブの実行を終了した場合などのジョブのステータスに変化が生じたときには、その変化が生じたタイミングから一定時間の間、ユーザーの視認状態を判別する処理を一時的に停止する。これにより、ジョブのステータス変化に伴うユーザーの視線移動を画面制御の対象から除外することができる。その結果、ジョブのステータスが変化したときにユーザーの視線移動を検知し、画面の切り替え制御を行ってしまうことを防止することができる。
次に情報処理装置1において行われる処理手順の一例について説明する。図18は、情報処理装置1において行われる主たる処理手順の一例を示すフローチャートである。この処理は、制御部10のCPU11がプログラム16を実行することによって繰り返し行われる処理である。情報処理装置1は、この処理を開始すると、まず表示部6に第2の画面G2を表示しているか否かを判断する(ステップS10)。その結果、第2の画面G2を表示しておらず、第1の画面G1だけを表示している状態である場合(ステップS10でNO)、情報処理装置1は、撮像部8を駆動してユーザーの顔画像を撮影し、その撮影画像を取得する(ステップS11)。情報処理装置1は、ユーザーの顔画像を取得すると、視線検知処理を行い、ユーザーの視線位置SPを検出する(ステップS12)。そして情報処理装置1は、視線判別処理を行い(ステップS13)、ユーザーが第1の画面G1に含まれる一の表示コンテンツを凝視しているか否かを判断する(ステップS14)。すなわち、情報処理装置1は、ユーザーの視線位置SPが第1の画面G1に含まれる一の表示コンテンツ上に所定時間以上留まっているか否かを判別することにより、ユーザーがその表示コンテンツを凝視しているか否かを判断する。その結果、ユーザーが第1の画面G1に含まれる一の表示コンテンツを凝視していない場合(ステップS14でNO)、第2の画面G2を表示する必要がないため、情報処理装置1による処理が終了する。
一方、ユーザーが第1の画面G1に含まれる一の表示コンテンツを凝視している場合(ステップS14でYES)、情報処理装置1は、ユーザーが凝視している一の表示コンテンツに関連する第2の画面G2を第1の画面G1の前面側に表示する(ステップS15)。そして情報処理装置1による処理はステップS16へ進む。またステップS10において第2の画面G2を表示中である場合も、情報処理装置1による処理はステップS16へ進む。
情報処理装置1は、第1の画面G1の前面側に第2の画面G2を表示している場合、第1の画面G1に含まれる表示コンテンツの中に、第2の画面G2によって隠蔽される表示コンテンツが存在するか否かを判断する(ステップS16)。その結果、第1の画面G1に含まれる表示コンテンツの中に第2の画面G2によって隠蔽される表示コンテンツが存在しない場合(ステップS16でNO)、表示状態を更新する必要がないので、情報処理装置1による処理が終了する。
これに対し、第2の画面G2によって隠蔽される表示コンテンツが存在する場合(ステップS16でYES)情報処理装置1は、撮像部8を駆動してユーザーの顔画像を撮影した撮影画像を取得し(ステップS17)、ユーザーの視線位置SPを検知する視線検知処理を行う(ステップS18)。そして情報処理装置1は、第2の画面G2によって隠蔽された第1の画面G1の表示コンテンツをユーザーが視認可能な状態に表示する必要があるか否かを判別するための視認状態判別処理を行う(ステップS19)。この視認状態判別処理では、ユーザーの視線位置SPが表示部6の表示画面内にある場合に、ユーザーの視認パターンが特定され、その視認パターンに基づいて表示部6の表示状態を更新する必要があるか否かが判断される。そして表示部6の表示状態を更新する必要があると判断された場合には、ユーザーの視認パターンに対応する表示部6の更新パターンが決定されると共に、更新フラグがオンに設定される。
情報処理装置1は、視認状態判別処理(ステップS19)を実行した後、更新フラグがオンであるか否かを判断する(ステップS20)。その結果、更新フラグがオフであれば(ステップS20でNO)、表示部6の表示状態を更新する必要がないので、情報処理装置1による処理が終了する。これに対し、更新フラグがオンであった場合(ステップS20でYES)、情報処理装置1は、表示更新処理を行う(ステップS21)。この表示更新処理では、視認状態判別処理で決定された更新パターンに基づいて表示部6の表示状態を更新する処理が行われる。そして表示更新処理が終了すると、情報処理装置1は、更新フラグをオフに切り替える(ステップS22)。以上で、情報処理装置1による処理が終了する。
図19は、視認状態判別処理(ステップS19)の詳細な処理手順の一例を示すフローチャートである。情報処理装置1は、この処理を開始すると、まずユーザーの視線位置SPが第2の画面G2の表示領域内にあるか否かを判断する(ステップS30)。すなわち、情報処理装置1は、第2の画面G2の表示位置と表示サイズに基づいて表示部6における第2の画面G2の表示領域を特定し、ユーザーの視線位置SPを示す座標がその表示領域内にあるか否かを判別するのである。その結果、ユーザーの視線位置SPが第2の画面G2の表示領域内にない場合(ステップS30でNO)、情報処理装置1は、表示部6の更新パターンとして第1更新パターンを決定する(ステップS31)。この第1更新パターンは、表示部6から第2の画面G2を消去することにより、第1の画面G1に含まれる表示コンテンツを視認可能にする更新パターンである。そして情報処理装置1は、更新フラグをオンにする(ステップS32)。
一方、ユーザーの視線位置SPが第2の画面G2の表示領域内にある場合(ステップS30でYES)、情報処理装置1は、ユーザーの視線位置SPが移動中であるか否かを判断する(ステップS33)。そしてユーザーの視線位置SPが移動中である場合(ステップS33でYES)、情報処理装置1は、ユーザーの視線位置SPが第2の画面G2に含まれる複数の表示コンテンツの全てを通過したか否かを更に判断する(ステップS34)。その結果、ユーザーの視線位置SPが第2の画面G2に含まれる複数の表示コンテンツの全てを通過した場合(ステップS34でYES)、情報処理装置1は、表示部6の更新パターンとして第1更新パターンを決定し(ステップS35)、更新フラグをオンにする(ステップS36)。これに対し、ユーザーの視線位置SPが第2の画面G2に含まれる複数の表示コンテンツの全てを未だ通過していない場合(ステップS34でNO)、情報処理装置1は、ユーザーが第2の画面G2に含まれている表示コンテンツを確認中であると判断し、表示部6を更新しないようにする。
またユーザーの視線位置SPが移動中でなかった場合(ステップS33でNO)、情報処理装置1は、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツの表示位置にあるか否かを判断する(ステップS37)。その結果、ユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツの表示位置にある場合(ステップS37でYES)、第2の画面G2に含まれる表示コンテンツの視認性を低下させることなく、第1の画面G1において隠蔽された状態にある表示コンテンツを視認可能にすべく、情報処理装置1は、表示部6の更新パターンとして第2更新パターンを決定する(ステップS38)。そして情報処理装置1は、更新フラグをオンにする(ステップS39)。
またユーザーの視線位置SPが第2の画面G2に含まれる表示コンテンツの表示位置にはなく、第2の画面G2の背景部分にある場合(ステップS37でNO)、第2の画面G2に含まれる表示コンテンツの視認性を低下させつつ、第1の画面G1において隠蔽された状態にある表示コンテンツを視認可能にすべく、情報処理装置1は、表示部6の更新パターンとして第3更新パターンを決定する(ステップS40)。そして情報処理装置1は、更新フラグをオンにする(ステップS41)。以上で視線状態判別処理(ステップS19)が終了する。
次に図20は、表示更新処理(ステップS21)の詳細な処理手順の一例を示すフローチャートである。情報処理装置1は、この処理を開始すると、視認状態判別処理(ステップS19)で決定された更新パターンが第1更新パターンであるか否かを判断する(ステップS50)。その結果、第1更新パターンである場合(ステップS50でYES)、情報処理装置1は、表示部6に表示されている第2の画面G2を消去する(ステップS51)。これにより、例えば図10(b)に示したように第1の画面G1上から第2の画面G2が消えるため、第2の画面G2によって隠蔽されていた第1の画面G1の表示コンテンツが視認可能な状態に更新される。
これに対し、第1更新パターンではなかった場合(ステップS50でNO)、情報処理装置1は、視認状態判別処理(ステップS19)で決定された更新パターンが第2更新パターンであるか否かを判断する(ステップS52)。その結果、第2更新パターンである場合(ステップS52でYES)、情報処理装置1は、第1の画面G1及び第2の画面G2のそれぞれに含まれる表示コンテンツの視認性を確保した状態で第2の画面G2に隠蔽されている第1の画面G1の表示コンテンツをユーザーが視認できる表示態様に更新する(ステップS53)。これにより、表示部6の表示画面は、例えば図14(b)又は図15(b)に示した表示態様に更新される。したがって、第2の画面G2によって隠蔽されていた第1の画面G1の表示コンテンツが視認可能な状態となる。
また第2更新パターンでもなかった場合(ステップS52でNO)、情報処理装置1は、視認状態判別処理(ステップS19)で決定された更新パターンが第3更新パターンであると判断する。この場合、情報処理装置1は、第2の画面G2に含まれる表示コンテンツよりも、第1の画面G1に含まれる表示コンテンツの視認性確保を優先する。そのため、情報処理装置1は、第2の画面G2に含まれる表示コンテンツの視認性を低下させつつ、第2の画面G2に隠蔽されている第1の画面G1の表示コンテンツをユーザーが視認できる表示態様に更新する(ステップS54)。これにより、表示部6の表示画面は、例えば図11(b)又は図12(b)に示した表示態様に更新される。したがって、ユーザーは、第2の画面G2によって隠蔽されていた第1の画面G1の表示コンテンツを視認することができるようになる。以上で、表示更新処理(ステップS21)が終了する。
以上説明したように本実施形態の情報処理装置1は、第1の画面G1に含まれる表示コンテンツに関連する第2の画面G2を第1の画面G1の前面側に重畳させて表示しているとき、第1の画面G1に含まれる表示コンテンツが第2の画面G2によって隠蔽された状態であり、且つ、ユーザーが第2の画面G2に含まれる表示コンテンツを視認していない可能性があると判別した場合に、第2の画面G2によって隠蔽された表示コンテンツを表示部6において視認可能な状態となるように表示画面を自動更新する構成である。すなわち、情報処理装置1は、ユーザーの視線を判別することにより、ユーザーがどの表示コンテンツを確認したいと考えているのかを推定して表示コンテンツの表示態様を適切に切り替えるのである。したがって、ユーザーにとっては、第2の画面G2を閉じる操作を行わなくても、第2の画面G2によって隠蔽されていた表示コンテンツを視認することができるようになるため、操作性が向上する。
以上、本発明に関する一実施形態について説明したが、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
例えば上記実施形態では、情報処理装置1がMFPなどの画像処理装置で構成される場合を例示した。しかし、上記実施形態で説明したようにユーザーの視線を判別して表示部6の表示画面を自動的に切り替える技術の適用範囲は、必ずしもMFPなどの画像処理装置に限られるものではない。すなわち、本発明における情報処理装置1は、MFPなどの画像処理装置以外の装置であっても構わない。例えば、本発明における情報処理装置1は、スマートフォンやタブレット端末、パーソナルコンピュータなどのような電子機器であっても構わない。