JP6115418B2 - 情報処理装置、方法及びプログラム - Google Patents

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

Info

Publication number
JP6115418B2
JP6115418B2 JP2013187905A JP2013187905A JP6115418B2 JP 6115418 B2 JP6115418 B2 JP 6115418B2 JP 2013187905 A JP2013187905 A JP 2013187905A JP 2013187905 A JP2013187905 A JP 2013187905A JP 6115418 B2 JP6115418 B2 JP 6115418B2
Authority
JP
Japan
Prior art keywords
line
sight
button
display
read
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.)
Active
Application number
JP2013187905A
Other languages
English (en)
Other versions
JP2015055950A (ja
Inventor
哲典 田口
哲典 田口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013187905A priority Critical patent/JP6115418B2/ja
Priority to US14/469,693 priority patent/US9377853B2/en
Priority to EP14182913.5A priority patent/EP2849029A1/en
Publication of JP2015055950A publication Critical patent/JP2015055950A/ja
Application granted granted Critical
Publication of JP6115418B2 publication Critical patent/JP6115418B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/113Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for determining or recording eye movement
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Surgery (AREA)
  • Optics & Photonics (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、文書の既読判定技術に関する。
パソコンやタブレット、キオスク端末といった情報端末の画面描画更新の方法として、ユーザの視線を検出し、その移動によって画面の表示内容を切り替えたり、スクロール操作を行うといった技術が存在している。具体的には、特定の領域等を読んだかどうかを判定してから画面の表示を切り替えたり、画面をスクロールすることにより、ユーザの操作負担を減らすものである。
また、視線による画面制御等を行う技術には以下のようなものもある。すなわち、文章やコンテンツ上に判定領域を設け、その判定領域内にユーザの視線座標が検出された場合にユーザが参照していると判断し、ユーザが参照したパーツの順序が、予め定められた順序と一致した場合、ユーザが読んだと認識し、視線に対応した画面制御等を行うものである。
このような技術の場合、読んだかどうか判定する対象の文章やコンテンツの判定領域上に視線座標が検出されない場合、その文章やコンテンツを読んだかどうか判定することができない。例えば、視線検出装置が出力する視線位置座標の精度が高ければ、判定領域において、1行目を読んだ後、2行目を読んだということを把握できる。しかしながら、視線検出装置が出力する視線位置座標の精度が低く、その誤差が文章の文字(各行)やコンテンツの大きさよりも粗い場合がある。このような場合、視線位置が判定領域に収まらない場合や、行をまたいで移動したりするため、たとえその文章等を読んでいたとしても、視線検出装置が出力する視線位置座標を単純に追うだけでは、文章等を読んだか否かを判定することはできない。
特開2006−107048号公報 特開平8−22385号公報
従って、本発明の目的は、一側面によれば、視線検出装置が出力する視線位置座標の精度が低い場合であっても、ユーザが文章を最後まで読んだか否かを判定できるように、ボタンなどの、視線の移動先となる表示を行うための技術を提供することである。
本発明に係る情報処理装置は、(A)表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、特定された最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定する決定部と、(B)決定された表示位置に、文章を読んだことを入力するためのボタンを表示画面上に表示する表示処理部とを有する。
一側面によれば、視線検出装置が出力する視線位置座標の精度が低い場合であっても、ユーザが文章を最後まで読んだか否かを判定できるように視線の移動先となる表示を行うことができるようになる。
図1は、本実施の形態における視線の動きを説明するための図である。 図2は、本実施の形態におけるレイアウトを説明するための図である。 図3は、本実施の形態に係る情報処理装置の機能ブロック図である。 図4は、第1の実施の形態に係る処理フローを示す図である。 図5は、第1の実施の形態において処理される文書のデータの一例を示す図である。 図6は、第1の実施の形態に係る配置ルールを説明するための図である。 図7は、第1の実施の形態に係る配置ルールの変形例を示す図である。 図8は、第1の実施の形態に係る配置ルールの変形例を示す図である。 図9は、第1の実施の形態に係る判定閾値を説明するための図である。 図10は、第1の実施の形態に係る判定閾値を説明するための図である。 図11は、第1の実施の形態に係る判定閾値を説明するための図である。 図12は、判定領域を説明するための図である。 図13は、視線検出誤差を説明するための図である。 図14は、判定領域を説明するための図である。 図15は、判定領域を説明するための図である。 図16は、第3データ格納部に格納されるデータの一例を示す図である。 図17は、第1の実施の形態に係る既読判定処理の処理フローを示す図である。 図18は、第1の実施の形態に係る既読判定処理の処理フローを示す図である。 図19は、第2の実施の形態において処理される文書のデータの一例を示す図である。 図20は、第2の実施の形態に係る処理フローを示す図である。 図21は、第2の実施の形態に係るボタンの配置を説明するための図である。 図22は、第2の実施の形態に係るボタンの配置を説明するための図である。 図23は、第2の実施の形態に係るボタンの配置を説明するための図である。 図24は、第2の実施の形態に係る判定閾値を説明するための図である。 図25は、第3の実施の形態において処理される文書のデータの一例を示す図である。 図26は、第3の実施の形態に係る処理フローを示す図である。 図27は、第4の実施の形態において処理される文書の例を示す図である。 図28は、第4の実施の形態に係る処理フローを示す図である。 図29は、範囲設定処理の処理フローを示す図である。 図30は、文書1について設定される表示範囲の一例を示す図である。 図31は、文書2について設定される表示範囲の一例を示す図である。 図32は、共通の表示範囲について説明するための図である。 図33は、コンピュータの機能ブロック図である。
[実施の形態1]
本実施の形態では、たとえ視線検出装置が出力する視線位置座標の精度が低い場合であっても、図1に示すような左から右へ書かれた文章の場合には、次の行を読む際には、矢印1100及び1110のように右から左へ向いた視線の移動が発生することに着目する。このように文章を読む際に生じ且つ改行(行替えとも呼ぶ)に対応する、視線位置の移動の発生を計数することで、判定領域内の文章を読んだか否かを判定する。
しかしながら、図1の例からも分かるように、3行の文章では、矢印1100及び1110は発生するが、最終行(すなわち3行目)を読んだ後には次の行が存在しないので、改行が検出されない。従って、何もしない場合には、文章を最後の行まで読んだかを確認することは難しい。
そこで、図2に模式的に示すように、複数の行を含む文章1200を読み終わったことを入力するためのボタン1300を、適切な位置に表示する。具体的には、左から右へ書かれた文章1200の下方の行において行頭(ここでは左端)付近に、ボタン1300を表示する。そうすることで、本実施の形態では、最後の行を読み終わったことで最終行の行末(ここでは右端)からボタン1300へ発生する視線の移動1120を、改行と同様に検出でき、文章1200の最後の行まで読んだということを判定することができるようになる。
本実施の形態では、このような判定が行えるようにボタン1300の配置を行った後、それに応じて既読判定のための処理を実行する。
図3に本実施の形態に係る情報処理装置の機能ブロック図を示す。本実施の形態に係る情報処理装置100は、視線検出部101と、表示部102と、文書データ処理部103と、第1データ格納部104と、第2データ格納部105と、判定部106と、領域設定部107と、第3データ格納部108と、入力部109とを有する。
文書データ処理部103は、表示処理部1031と、位置決定部1032とを有する。
視線検出部101は、表示部102における表示画面上の視線位置座標を検出し、第2データ格納部105に格納する。本実施の形態では、視線検出部101は、従来からあるどのような機構及びアルゴリズムによるものであってもよいので、詳細な説明は省略する。
第1データ格納部104は、ユーザが読んだか否かを判断することになった文章のデータと、当該文章に対して設定されている範囲のデータと、設定データとを格納する。第1データ格納部104に格納されている文章のデータを、文書データ処理部103の表示処理部1031が読み出して、表示部102に出力する。その際、文書データ処理部103の位置決定部1032は、第1データ格納部104に格納されている設定データを用いて、上で述べたボタン1300の配置位置を決定する処理と、後に述べる既読判定処理で用いられる、最終行のための判定閾値を決定する処理とを実行する。但し、位置決定部1032は、この判定閾値を領域設定部107に出力する。また、表示処理部1031は、上記範囲に対応する、表示部102における表示画面上の領域の座標データ及び領域設定部107で用いられるデータを、領域設定部107に出力する。
領域設定部107は、第1データ格納部104に格納されている設定データ等と、文書データ処理部103から出力されるデータとを用いて、以下で説明する第1判定領域及び第2判定領域のデータを生成し、第3データ格納部108に格納する。なお、領域設定部107は、最終行以外の行についての閾値や位置決定部1032から受け取った最終行の既読判定のための判定閾値についても、第3データ格納部108に格納する。
例えば、入力部109からの指示に応じて、判定部106は、第2データ格納部105に格納されている視線位置座標から、第3データ格納部108に格納されている第1判定領域内の文章を読んだか否かを判定し、判定結果を第3データ格納部108に格納すると共に、文書データ処理部103に対して判定結果を表示部102へ出力させる場合もある。また、判定部106は、この際の判定には、文章の最後まで読んだか否かの判定も含まれる。
次に、例えば入力部109からの指示に応じて、文書データ処理部103が、第1データ格納部104に格納されている文書のデータを表示する際の処理について、図4を用いて説明する。
例えば入力部109からの指示に応じて、文書データ処理部103の位置決定部1032は、第1データ格納部104に格納されている文書のデータを読み込む(ステップS1)。そして、位置決定部1032は、文書のデータから、文書に含まれる文章の最終行の行末位置を含むパラメータを抽出する(ステップS3)。
本実施の形態では、例えば図5に示すような文書のデータを表示する場合を想定する。図5の例では、文章のみの文書であり、左から右へ書かれた行(ここでは実線で簡略化されている)が9行ある。そして、1行の横の長さはCであり、行間はLである。横方向はx座標で表され、縦方向はy座標で表されるものとする。そして、本実施の形態では、9行目の行末(すなわち文章の末尾)が、右端に到達しているものとする。なお、図示の都合上、ボタン「次へ」が既に示されているが、まだこの段階ではその位置は確定していない。なお、ボタンの左端位置はPb=(xb,yb)と表すものとする。
そして、本ステップでは、最終行の行末位置Pe=(xe,ye)を抽出し、行間Lを抽出する。なお、行末位置を判断する際に、行末が句読点などの記号の場合は、それらの記号を含めずに行末を判断しても良い。
そして、位置決定部1032は、第1データ格納部104に格納されている設定データに含まれるボタンの配置ルールに従って、最終行の下に、仮想的な行を設定して、当該行にボタンの座標を設定する(ステップS5)。
例えば、ボタンの配置ルールが、最終行の1行下にボタンを配置するというルールであれば、yb=ye+Lが設定される。但し、2行下にボタンを配置するようなルールでも良く、その場合には、yb=ye+2Lと設定される。
さらに、位置決定部1032は、ボタンの配置ルールに従って、行末位置から行頭方向に距離X離れた位置をボタンの位置に設定する(ステップS7)。
配置ルールには、例えば図6に示すように、文章の読みの方向とは逆方向に、最終行の行末Peからどれだけ離れてボタンを配置するかというルールが含まれる。図6の例では、x軸方向の距離で、行の長さCと同じ距離dxが指定される。但し、距離dxについては、行の長さCに限定されず、任意の距離が指定され得る。
但し、図7に模式的に示すように、最終行の行末Peに視線の位置が検出された場合、半径eの視線検出誤差の円内に実際の視線位置がある。すなわち、最終行の行末Peに視線の位置が検出されても、実際の視線の位置のx座標値は、xe−eとなっている場合もある。このような場合を考慮して、指定された距離dxに視線検出誤差eを加算した結果dx+eを、距離Xとして採用する場合もある。図7には、3つのdxの例が示されており、ボタンの位置Pb1、Pb2及びPb3が示されている。但し、Pb3の場合には、行頭の位置より左となっているので、表示範囲を超えていればボタンを表示できない。従って、ボタンを表示できなくなるような距離dxは指定できない。また、距離dxは、短すぎると誤検出の可能性が高くなるので、距離XがCに近い方が好ましい。
さらに、最終行の行末Peにおける視線位置の検出誤差だけではなく、移動先の視線位置の検出誤差を考慮するようにしてもよい。図8に模式的に示すように、移動先の視線位置Pmにおいても、半径eの視線検出誤差の円内に実際の視線位置Pmが存在することになる。なお、視線検出誤差を示す半径eは、例えば画面中心部分は小さく、画面周辺部分に行くに従って大きくするなど、視線位置に応じて変化をさせるようにしても良い。すなわち、x軸方向に最大2eの長さだけ視線の移動距離が短く検出される可能性がある。従って、指定された距離dxに視線検出誤差の2倍の距離を加えた結果dx+2eを、距離Xとして採用する場合もある。図8にも、3つのdxの例が示されている。但し、表示範囲を超えていればボタンを表示できない。従って、ボタンを表示できなくなるような距離dxは指定できない。また、距離dxは、短すぎると誤検出の可能性が高くなるので、距離XがCに近い方が好ましい。
距離Xが上で述べたいずれかの方法で決定されると、xb=xe−Xによって、ボタンのx座標値を算出する。
その後、位置決定部1032は、設定した位置のデータを、表示処理部1031に指示する(ステップS9)。表示処理部1031の処理については、後に述べる。
さらに、位置決定部1032は、最終行に対する既読判定の判定閾値を算出し、領域設定部107に出力する(ステップS11)。
本実施の形態では、例えば以下のような判定閾値を設定する。すなわち、図9に示すような第1の例では、移動元の視線位置と移動先の視線位置の視線検出誤差eを考慮して、X(ここではC)から、2eを差し引いたX−2eを、判定閾値M2thに採用する。
さらに、図10に示すような第2の例では、一度に読むことができる範囲1400及び1410を考慮する。すなわち、一度に読むことができる範囲1400及び1410に入っていれば、文末まで視線を移動させずとも読むことができ、文頭まで視線を移動させずともボタンを認識できる。従って、移動元の視線位置と移動先の視線位置の視線検出誤差eに加えて、一度に読むことができる範囲1400及び1410の辺の長さvも両サイドで考慮して、X(ここではC)から、2e+2vを差し引いたX−(2e+2v)を、判定閾値M2thに採用する。
さらに、図11に示すような第3の例では、第2の例に加えて、ボタン1300の長さwをも考慮する。すなわち、ボタン1300の右端が、一度に読むことができる範囲1400の左端に入っていれば、ボタン1300を認識できるので、X−(2e+2v+w)を判定閾値M2thに採用する。
このような例のいずれかの態様に従って、Xから最終行の判定閾値M2thを算出する。
以上のような処理を実行することで、文章の最終行まで読んだことを判定できる位置にボタン1300を配置することができるようになる。さらに、以下で述べる既読判定処理において用いられる最終行の判定閾値をも算出できるようになる。
本実施の形態では、上でも述べたように、左から右へ読みの方向が設定されている文章を例として示したが、上から下へ読みの方向が設定されている文章であっても、左を上に、右を下に置換することで同様に処理できる。
次に、図12乃至図18を用いて、既読判定処理について説明する。
まず、図12を用いて、既読判定処理において用いられる判定領域について説明する。図12は、表示部102における表示画面の一例を示している。本表示画面には、文章と、当該文章を読んだことを入力するためのボタン1300とが含まれる。本実施の形態では、文章に対して、当該文章を読んだか否かを判定すべき範囲が予め設定されている。図12の例では、1行目の左端における「あいう」から、10行目の右端における「ゆよわ」までの文章が、第1データ格納部104に、文章のデータとして格納されると共に、さらにこの文章の範囲が範囲のデータとして格納されている。そして、この範囲の文章を囲う矩形(例えば最小矩形)の領域1301が第1判定領域であり、表示処理部1031は、この第1判定領域を表す座標データ(例えば右上頂点と左下頂点の座標値又は左上頂点と右下頂点の座標値)のデータと、領域設定部107における処理で用いられるデータ(例えば、左から右へ読みの方向が設定されている場合には、左端文字及び右端文字の座標値など)を、領域設定部107に出力する。そして領域設定部107は、領域1301に対して、設定データに含まれる視線検出誤差(視線検出部101が出力する座標値の誤差(ここでは長さ))を基に領域1302を第2判定領域として設定する。判定部106は、この第2判定領域に視線位置座標が入る場合には、視線の移動が、以下に述べる条件を満たすか否かを判定する。尚、図12では、領域1302が領域1301より広く、内包する表記をしているが、領域1302と領域1301とが同じ範囲でも良く、あるいは、領域1302が領域1301を内包しなくても良い。
次に、第2判定領域の設定例について、図13及び図14を用いて説明する。この設定例では、上でも述べた視線検出誤差eを用いた設定方法を採用しており、ユーザがある位置を見た時には、その座標は、図13に示すように、ある位置を中心とし且つ半径eを有する円内に入っている。そこで、図14に示すように、第1判定領域1311における右端の文字に真の視線位置が来た場合に、視線検出部101からの視線位置座標は、半径eの円1314内の任意の位置を表す可能性がある。同様に、第1判定領域1311における左端の文字に真の視線位置が来た場合、視線検出部101からの視線位置座標は、半径eの円1313内の任意の位置を表す可能性がある。
従って、円1313の左端から円1314の右端までの長さHmaxを第2判定領域の横方向長さとして採用する。そして、左端文字を横方向の座標を維持したまま最下行に仮に移動させ、右端文字を横方向の座標を維持したまま最上行に仮に移動させた場合(図14では既にこの状態になっている)、移動後の左端文字の中心を中心として用い且つ半径eを有する円1313と、移動後の右端文字の中心を中心として用い且つ半径eを有する円1314とに外接する矩形を第2判定領域1312として採用する。なお、第2判定領域1312の四隅については半径eの円弧で丸めても良い。また、第2判定領域1312の縦方向の長さVは、移動後の左端文字の中心を中心として用い且つ半径eを有する円1313の下端と、移動後の右端文字の中心を中心として用い且つ半径eを有する円1314の上端との間の長さとなる。
そして、第1行目の右端文字を読んだ後、第2行目の左端文字に読み進める場合には、視線検出誤差を考慮すると、最も短い場合でも、視線位置は、第1行目の右端文字に設定された円1314の左端から、第2行目の左端文字に設定された円1313の右端への長さHminだけ移動する。最も長い場合には、視線位置は、第2判定領域1312の横の長さHmaxだけ移動する。すなわち、行替えが行われる場合には、視線位置座標は、Hmin乃至Hmax、第1判定領域内の文章の読みの方向とは反対方向に移動することになる(図14の矢印1315)。いずれにせよ、行替えが行われる場合には、第2判定領域1312内において視線位置は移動して、最短でもHminだけ移動することになる。この最短Hminの視線位置の移動を検出する。なお、ユークリッド距離で判断しても良いが、例えば読みの方向にx軸又はy軸の正の方向が設定されていれば、移動元位置のx座標値又はy座標値と移動先位置のx座標値又はy座標値の差が移動距離の閾値Hmin以上であることを確認するようにしても良い。
なお、第2判定領域1312の設定を簡単にするため、第1判定領域1311の境界から視線検出誤差eだけ外側に第2判定領域1312の境界を設けるようにしても良い。
また、ユーザが一度に読める範囲を表す可読領域を基に移動距離の閾値を設定するようにしても良い。本実施の形態においては、可読領域については、例えば平均的なユーザのデータが第1データ格納部104に設定データとして格納されているものとする。
図15に示すように閾値Hminを設定する場合もある。すなわち、ユーザが一度に読める範囲を表す可読領域1322の右端を第1判定領域1321の右端に合わせて配置し、その可読領域1322の中心に、視線検出誤差eを半径とする円1324を配置する。同様に、可読領域1323の左端を第1判定領域1321の左端に合わせて配置し、その可読領域1323の中心に、視線検出誤差eを半径とする円1325を配置する。この円1325の右端と円1324の左端との距離を、距離の閾値Hminとして用いるようにしても良い。
これは、右端文字まで視線を移動させなくても、可読領域が右端文字を含むように視線を移動させれば、右端文字まで読むことができ、同様に、左端文字まで視線を移動させなくても、可読領域が左端文字を含むように視線を移動させれば、左端文字まで読むことができるためである。
次に、第3データ格納部108に格納されるデータの一例を図16に示す。図16の例では、判定開始時刻又は判定完了時刻などの時刻と、第1判定領域の範囲を定める座標データ(例えば右上と左下の座標値)と、第2判定領域の範囲を定める座標データ(例えば右上と左下の座標値)と、移動距離の閾値と、第1判定領域に含まれる文章の行数と、既読か否かを表す判定フラグとを含む。但し、本実施の形態では、移動距離の閾値は、最終行と最終行以外とでは異なる。従って、移動距離の閾値として、最終行以外(9行分)と最終行(1行分)とが登録され、行数についても最終行以外の行数と最終行の行数とが登録され、判定フラグについても最終行以外についてのフラグと最終行についてのフラグが用意される。
なお、第1判定領域に含まれる文章の行数は、第1データ格納部104に、文章のデータにおいて行数が含まれる場合もあれば、表示毎に行数が変化する場合には、表示処理部1031などによって表示されている行数を特定する。
次に、図17及び図18を用いて、本実施の形態に係る情報処理装置100の処理内容を説明する。
例えば、入力部109等からの指示に応じて、表示処理部1031は、文書のデータを第1データ格納部104から読み出す。そして、表示処理部1031は、文書に含まれる文章において既読判定を行うべき範囲を、第1データ格納部104に格納されている範囲のデータ等から特定する(図17:ステップS21)。そして、表示処理部1031は、表示部102の表示画面上における第1判定領域の座標データを特定し、領域設定部107に出力する。また、領域設定部107は、視線検出誤差を考慮して第1判定領域を包含するように第2判定領域を設定して、第1判定領域の座標データ及び第2判定領域の座標データを、第3データ格納部108に格納する(ステップS23)。領域設定部107の処理は、図14を用いて説明したような処理である。また、この処理の際に、図14又は図15に示すように、領域設定部107は、最終行以外の行について移動距離の閾値Hmin(図16の例ではMth)を算出し、位置決定部1032から得られた最終行についての判定閾値M2thと共に第3データ格納部108に格納する。
また、領域設定部107は、表示処理部1031から表示画面上の行数(読みの方向の行数。以下、表示行数と呼ぶ)のデータを取得するか、表示行数が固定の場合には第1データ格納部104から表示行数のデータを読み出して、第3データ格納部108に格納する(ステップS25)。本ステップでは、最終行と最終行以外とに分けて第3データ格納部108に格納する。
そして、表示処理部1031は、位置決定部1032から受け取った位置にボタンを配置した文書のデータを、表示部102の表示画面に表示する(ステップS26)。また、視線検出部101は、視線位置座標を検出し、第2データ格納部105に格納する。
そして、判定部106は、第2データ格納部105に格納されている、最新の視線位置座標及び1単位時間前の視線位置座標のデータを読み出す(ステップS27)。これによって、表示画面上における移動元位置と移動先位置とが特定され、移動距離も算出できる。なお、本実施の形態では、移動距離は、読みの方向に平行な軸方向の座標値の差であっても良いし、ユークリッド距離を採用するようにしてもよい。
そして、判定部106は、第3データ格納部108に格納されている第2判定領域の座標データに基づき、移動元位置及び移動先位置が第2判定領域内であって、第1判定領域における文章の読みの方向とは反対方向の移動距離が閾値Hmin(図16の例ではMth)以上であるか否かを判断する(ステップS29)。すなわち、行替えが発生したか否かを判断する。
移動元位置及び移動先位置が第2判定領域内でないか、又は第1判定領域における文章の読みの方向とは反対方向の移動距離が閾値Hmin以上でなければ、行替え発生とは判定されないので、処理はステップS33に移行する。
一方、移動元位置及び移動先位置が第2判定領域内であって、第1判定領域における文章の読みの方向とは反対方向の移動距離が閾値Hmin以上であれば、行替え発生と判定されるので、判定部106は、行替え回数を1カウントアップする(ステップS31)。
そうすると、判定部106は、行替えの回数が、最終行以外の行数に基づく閾値以上であるか否かを判断する(ステップS33)。本実施の形態では、閾値は行数と同一である。行替えの回数が最終行以外の行数に基づく閾値以上でない場合には、処理はステップS27に戻る。一方、既行替えの回数が最終行以外の行数に基づく閾値以上である場合には、判定部106は、第3データ格納部108において、最終行以外の行についての判定フラグをオンにセットする(ステップS34)。そして、処理は端子Aを介して図18の処理に移行する。
そして、判定部106は、第2データ格納部105に格納されている、最新の視線位置座標及び1単位時間前の視線位置座標のデータを読み出す(ステップS35)。そうすると、判定部106は、所定方向(本実施の形態においては第1判定領域における文章の読みの方向とは反対方向)の移動距離が最終行についての判定閾値M2th以上であるか否かを判断する(ステップS37)。すなわち、ボタンへの視線の移動が発生したか否かを判断する。本ステップについても、本実施の形態では、x座標値の差によって判断される。また、あまりに大きな移動距離が得られた場合には、無視するようにしてもよい。
例えば、所定方向の移動距離が最終行についての判定閾値M2th以上でなければ、判定部106は、表示処理部1031に対して、例えば未読有りを表すメッセージを表示部102に表示させる(ステップS38)。そして処理を終了する。例えば、ボタンをクリックできないようにしてもよい。
一方、所定方向の移動距離が最終行についての判定閾値M2th以上であれば、判定部106は、第3データ格納部108において、この文章の最終行についての判定フラグをオンに設定する(ステップS39)。そして処理を終了する。ステップS39に応じて、ボタンをクリックできるようにしてもよい。すなわち、ボタンはステップS26で表示するが、クリックできないようにしておき、最終行まで読んだと判定できた場合に、ボタンをクリックできるようにしてもよい。なお、ステップS34の段階でボタンに誘導するような表示を行うようにしてもよい。
このような処理を行うことで、精度の低い視線検出部101を用いた場合においても、文章を最後まで読んだことを確認することができるようになる。
[実施の形態2]
第1の実施の形態では、表示される文章の最終行における行末が、行の右端に存在しているため、文章を読んだことを入力するためのボタンを表示範囲に入るように左側に配置することが容易であった。このような場合には、最終行以外の行と同様に、最終行についても読みの方向とは逆の方向への行替え(すなわち改行)を検出すればよいので、既読判定処理への影響は小さい。
しかしながら、最終行の行末が、右端以外の位置に来てしまう場合がある。この場合でも、ボタンを表示範囲に入るように左側に配置することができればよいが、配置できない場合もある。本実施の形態では、このようなケースに対処するための処理を説明する。
例えば、図19に示すような文書の場合には、行間L、最大行長Cについては第1の実施の形態と同じであるが、最終行の文末の位置Peは、行の右端ではなく、比較的左側に存在している。このような場合、さらに左側にボタンを配置するのは視線移動の検出の面で難しい場合がある。そこで、本実施の形態では、図19に示すように、最終行から所定長下側にボタンを配置することで、最終行の行末からボタンへの視線の移動を検出しやすくする。なお、本実施の形態でも、ボタンの左端がボタン位置Pbとして設定されるものとする。
例えば入力部109からの指示に応じて、文書データ処理部103の位置決定部1032は、第1データ格納部104に格納されている文書のデータを読み込む(図20:ステップS51)。そして、位置決定部1032は、文書のデータから、文書に含まれる文章の最終行の行末位置及び先頭行の行頭位置を含むパラメータを抽出する(ステップS53)。
本実施の形態では、上で述べた図19に示すような文書のデータを表示する場合を想定する。図5と同様に、文章のみの文書であり、左から右へ書かれた行(ここでは実線で簡略化されている)が9行あり、横方向はx座標で表され、縦方向はy座標で表されるものとする。そして、本実施の形態では、9行目の行末(すなわち文章の末尾)が、右端にはなく、x座標値が0からCまでの間になっているものとする。なお、図示の都合上、ボタン「次へ」が既に示されているが、まだこの段階ではその位置は確定していない。なお、ボタンの左端位置はPb=(xb,yb)と表すものとする。さらに、文章の先頭位置、すなわち先頭行の行頭位置Ps=(xs,ys)も抽出する。同様に、行間Lも抽出する。
そして、位置決定部1032は、第1データ格納部104に格納されている設定データに含まれるボタンの配置ルールに従って、最終行の下に、仮想的な行を設定して、当該行にボタンの座標を設定する(ステップS55)。
例えば、ボタンの配置ルールが、最終行の1行下にボタンを配置するというルールであれば、yb=ye+Lが設定される。但し、2行下にボタンを配置するようなルールでも良く、その場合には、yb=ye+2Lと設定される。
さらに、位置決定部1032は、ボタンの配置ルールに従って、行末位置から行頭位置に距離X離れた位置をボタンの位置に設定する(ステップS57)。
配置ルールには、第1の実施の形態と同様に、文章の読みの方向とは逆方向に、最終行の行末Peからどれだけ離れてボタンを配置するかというルールが含まれる。本実施の形態では、x軸方向の距離で、行の長さCの8割、すなわち距離dx=0.8Cが指定されているものとする。但し8割は一例であり、第1の実施の形態と同様に、X=dxとする場合もあれば、X=dx+eや、X=dx+2eの場合もある。
このように距離Xが決定されると、xb=xe−Xによって、ボタンのx座標値を算出する。
その後、位置決定部1032は、設定した位置が、表示部102における表示画面内に表示可能な位置であるか否かを判断する(ステップS59)。例えば、表示範囲の座標の原点が(0,0)であれば、x座標値又はy座標値が負の値となると、表示範囲外と判断される。ここまでの処理フローであれば、x座標値が負の値となる可能性がある。
設定した位置が表示可能な位置であれば、処理はステップS63に移行する。一方、設定した位置が表示可能な位置でなければ、位置決定部1032は、ボタンの配置ルールに従って、最終行の行頭位置から垂直下方向に離れた位置を設定する(ステップS61)。
例えば、dy=5Lという配置ルールがあれば、図21に示すように、yb=ye+5Lと設定し、xb=xsと設定する。dy=5Lは一例であって、例えば、dy=Cとしてもよく、文章を読んでいる際には通常発生しないような垂直下方向の視線の移動が検出できればよい。
また、第1の実施の形態と同様に、視線検出誤差を考慮する場合もある。図7で示したように最終行の行末位置における視線検出誤差を考慮する場合もあれば、図22に示したように、最終行の行末位置における視線検出誤差に加えて視線の移動先の視線検出誤差を考慮した上で、dyだけ視線が移動したことを確保するため、yb=dy+2eというように設定するようにしてもよい。
すなわち、dy=5L又はCといった視線の移動を確実に発生させるためには、図23に示すように、yb=ye+(5L+2e)とする。
なお、xbについても、xsではなく、xeを用いてもよいし、図23に示すように、xe−Lといったように、第1の実施の形態における改行を90度回転させたような視線の移動を発生させるような配置を採用してもよい。
その後、位置決定部1032は、設定した位置のデータを、表示処理部1031に指示する(ステップS63)。表示処理部1031の処理については、第1の実施の形態と同様であるから、説明は省略する。
さらに、位置決定部1032は、最終行に対する既読判定の判定閾値を算出し、領域設定部107に出力する(ステップS65)。
本実施の形態でも、ステップS55及びS57で設定した位置が採用された場合には、第1の実施の形態と同様の処理を行う。
また、ステップS61で設定された位置を用いる場合には、例えば以下のような判定閾値を設定する。すなわち、図24に示すような例では、移動元の視線位置と移動先の視線位置の視線検出誤差eを考慮して、X(ここでは5L)から、2eを差し引いたX−2eを、判定閾値M3thに採用する。なお、移動方向が異なるので、移動方向についてのデータ(ここではy軸方向)についても付加して、領域設定部107に出力する。
従って、図18の処理フローのステップS37において、判定部106は、所定方向として、読みの方向と直交する方向(より具体的には先頭行から最終行の方向であって読みの方向と直交する方向)の移動距離が最終行についての判定閾値M3th以上であるか否かを判断することになる。
なお、このような場合においても、一度に読むことができる範囲を考慮して、判定閾値M3thを設定するようにしてもよい。
以上のような処理を実行することで、最終行の行末位置に応じて、文章の最終行まで読んだことを判定できるボタン位置に変更して、その位置にボタンを配置することができるようになる。さらに、上で述べた既読判定処理において用いられる最終行の判定閾値をも算出できるようになる。
[実施の形態3]
第2の実施の形態では、左から右に読みの方向がある文章において、垂直下方向にボタンを配置して、最終行を読んだことを表す特徴的な視線の移動を検出できるようにする例を示した。しかし、垂直下方向にあまりスペースが存在しない場合も存在する。また、最終行を読んだことを表す特徴的な視線の移動は、垂直下方向に限られるものではない。
本実施の形態では、図25に模式的に示すように、読みの方向へ特徴的な視線の移動を発生させるようなボタンの配置を行う例を示す。
例えば、図25に示すように、行間L、最大行長Cについては第1の実施の形態と同じであるが、最終行の文末の位置Peは、行の右端ではなく、比較的左側に存在している。このような場合、さらに左側にボタンを配置するのは視線移動の検出の面で難しい場合がある。そこで、本実施の形態では、図25に示すように、例えば最終行の1行下の行において、最終行の行末から所定長右側にボタンを配置することで、最終行の行末からボタンへの視線の移動を検出しやすくする。なお、本実施の形態でも、ボタンの左端がボタン位置Pbとして設定されるものとする。
例えば入力部109からの指示に応じて、文書データ処理部103の位置決定部1032は、第1データ格納部104に格納されている文書のデータを読み込む(図26:ステップS71)。そして、位置決定部1032は、文書のデータから、文書に含まれる文章の最終行の行末位置を含むパラメータを抽出する(ステップS73)。
本実施の形態では、上で述べた図25に示すような文書のデータを表示する場合を想定する。図5と同様に、文章のみの文書であり、左から右へ書かれた行(ここでは実線で簡略化されている)が9行あり、横方向はx座標で表され、縦方向はy座標で表されるものとする。そして、本実施の形態では、9行目の行末(すなわち文章の末尾)が、右端にはなく、x座標値が0からCまでの間になっているものとする。なお、図示の都合上、ボタン「次へ」が既に示されているが、まだこの段階ではその位置は確定していない。なお、ボタンの左端位置はPb=(xb,yb)と表すものとする。同様に、行間Lも抽出する。
そして、位置決定部1032は、第1データ格納部104に格納されている設定データに含まれるボタンの配置ルールに従って、最終行の下に、仮想的な行を設定して、当該行にボタンの座標を設定する(ステップS75)。
例えば、ボタンの配置ルールが、最終行の1行下にボタンを配置するというルールであれば、yb=ye+Lが設定される。但し、2行下にボタンを配置するようなルールでも良く、その場合には、yb=ye+2Lと設定される。
さらに、位置決定部1032は、ボタンの配置ルールに従って、行末位置から行頭位置に距離X離れた位置をボタンの位置に設定する(ステップS77)。
配置ルールには、第1の実施の形態と同様に、文章の読みの方向とは逆方向に、最終行の行末Peからどれだけ離れてボタンを配置するかというルールが含まれる。本実施の形態では、x軸方向の距離で、行の長さCの5割、すなわち距離dx=0.5Cが指定されているものとする。但し5割は一例であり、第1の実施の形態と同様に、X=dxとする場合もあれば、X=dx+eや、X=dx+2eの場合もある。
このように距離Xが決定されると、xb=xe−Xによって、ボタンのx座標値を算出する。
その後、位置決定部1032は、設定した位置が、表示部102における表示画面内に表示可能な位置であるか否かを判断する(ステップS79)。例えば、表示範囲の座標の原点が(0,0)であれば、x座標値又はy座標値が負の値となると、表示範囲外と判断される。ここまでの処理フローであれば、x座標値が負の値となる可能性がある。
設定した位置が表示可能な位置であれば、処理はステップS83に移行する。一方、設定した位置が表示可能な位置でなければ、位置決定部1032は、ボタンの配置ルールに従って、最終行の行頭位置から読みの方向に離れた位置を設定する(ステップS81)。
本実施の形態では、図25で模式的に示すように、読みの方向に所定距離Y離れた位置にボタンを配置する。例えば、dx=0.5Cという設定に基づき、xb=xe+Y=xe+0.5Cというx座標値を採用してもよい。
さらに、第1の実施の形態の方向を反転させたような変形も可能である。すなわち、視線検出誤差を考慮して、Y=0.5C+e、Y=0.5C+2eといったような変形も可能である。
また、0.5Cは一例であって、他の値を採用するようにしてもよい。但し、ボタンの右端が表示範囲を超えないように設定する。
なお、y座標値については、ステップS75に従って設定してもよいし、他の値をy座標値に設定してもよい。
その後、位置決定部1032は、設定した位置のデータを、表示処理部1031に指示する(ステップS83)。表示処理部1031の処理については、第1の実施の形態と同様であるから、説明は省略する。
さらに、位置決定部1032は、最終行に対する既読判定の判定閾値M4thを算出し、領域設定部107に出力する(ステップS85)。
本実施の形態でも、ステップS75及びS77で設定した位置が採用された場合には、第1の実施の形態と同様の処理を行う。
また、ステップS81で設定された位置を用いる場合には、第1の実施の形態で説明した例の左右反転したものと同様である。例えば、判定閾値M4thがY−2eと設定される場合もあれば、一度に読むことができる範囲の長さvを考慮して、Y−2e−2vと設定される場合もある。
なお、移動方向が異なるので、移動方向についてのデータ(ここでは+x軸方向)についても付加して、領域設定部107に出力する。
従って、図18の処理フローのステップS37において、判定部106は、所定方向として、読みの方向と同じ方向の移動距離が最終行についての判定閾値M4th以上であるか否かを判断することになる。
以上のような処理を実行することで、最終行の行末位置に応じて、文章の最終行まで読んだことを判定できるボタン位置に変更して、その位置にボタンを配置することができるようになる。さらに、上で述べた既読判定処理において用いられる最終行の判定閾値等をも算出できるようになる。
[実施の形態4]
第1乃至第3の実施の形態では、1ページ分の文書を想定した処理を説明したが、複数ページの文書を提示する場合に、ボタンの位置が各ページで異なると、読み手であるユーザが戸惑う場合もある。
例えば、図27に示すように、左に示した文書1については、最終行の行末位置は右端に達しているが、右に示した文書2については、最終行の行末位置は右端ではなく左側に寄っている。これらの文書をそれぞれについて処理すると、上で述べた実施の形態では、文書1では左端にボタンが配置されたり、文書2では下方又は右側に配置されるようになる。
従って、本実施の形態では、図28乃至図32を用いて説明する処理を行うことで、複数ページに可能な限り同じ位置にボタンを配置しつつ、当該ボタンへの視線の移動によって最終行まで読んだということを判定できるようにする。
まず、位置決定部1032は、未処理の文書のデータを、第1データ格納部104から読み出す(図28:ステップS91)。そして、位置決定部1032は、読み出された文書のデータに対して範囲設定処理を実行する(ステップS93)。範囲設定処理については、図29を用いて説明する。
まず、位置決定部1032は、文書のデータから、文書に含まれる文章の最終行の行末位置を含むパラメータを抽出する(ステップS111)。本ステップは、第1の実施の形態におけるステップS3と同様である。なお、ボタンの左端位置はPbi=(xbi,ybi)と表すものとする。iは、ページ番号又は文書番号を表す。
そして、本ステップでは、最終行の行末位置Pei=(xei,yei)を抽出し、行間Lを抽出する。
そして、位置決定部1032は、第1データ格納部104に格納されている設定データに含まれるボタンの配置ルールに従って、最終行の下に、仮想的な行を設定して、当該行にボタンの座標を設定する(ステップS113)。
例えば、ボタンの配置ルールが、最終行の1行下にボタンを配置するというルールであれば、yb=ye+Lが設定される。但し、2行下にボタンを配置するようなルールでも良く、その場合には、yb=ye+2Lと設定される。
さらに、位置決定部1032は、ボタンの配置ルールに従って、行末位置から行頭位置に距離X離れた範囲をボタンの配置範囲に設定する(ステップS115)。
例えば、X=0.3Cというように設定しておき、xbi≦xei−0.3Cというようにボタンの配置範囲を設定する。X=0.3Cは一例であって、他の値を採用するようにしてもよい。この際も、視線検出誤差を考慮してもよい。
その後、位置決定部1032は、設定した配置範囲が、表示部102における表示画面内に表示可能な範囲であるか否かを判断する(ステップS117)。例えば、表示範囲の座標の原点が(0,0)であれば、x座標値又はy座標値が負の値のみとなると、表示範囲に表示できないと判断される。ここまでの処理フローであれば、x座標値の最大値が負の値となる可能性があり、この場合には、表示不能であると判断される。
設定した位置が表示可能な位置であれば、処理は呼び出し元の処理に戻る。一方、設定した範囲が表示可能な範囲でなければ、位置決定部1032は、ボタンの配置ルールに従って、最終行の行末位置から読みの方向に離れた位置を設定する(ステップS119)。そして処理は、呼び出し元の処理に戻る。
例えば、xbi≧xei+0.3Cというような形で、読みの方向に所定距離離れた範囲を設定する。0.3Cは、一例であって、他の値を採用するようにしてもよい。この際も、視線検出誤差を考慮してもよい。
なお、上で述べた例では、y軸方向については範囲を設定しない例を示したが、y軸方向についても範囲を設定するようにしてもよい。
例えば、図27の文書1については、ステップS115で設定された範囲で表示可能であるので、例えば図30に示すような範囲Aが設定される。範囲Aは、最終行の1行下において左側に設定されている。一方、図27の文書2については、ステップS115で設定された範囲では表示可能とはならないので、例えば図31に示すような範囲Bが設定される。範囲Bは、最終行の1行下において右側に設定されている。
図28の処理の説明に戻って、位置決定部1032は、未処理の文書のデータが存在するか否かを判断する(ステップS95)。未処理の文書のデータが存在していれば、処理はステップS91に戻る。一方、未処理の文書のデータがなければ、位置決定部1032は、設定された範囲の共通範囲を特定する(ステップS97)。
図30及び図31の例を重ねると、図32に示すようになる。図32の例では、範囲Aと範囲Bの共通範囲Cが特定される。共通範囲Cは、xe2+0.3C≦xb≦xe1−0.3Cと表される。
なお、本ステップにおいて、場合によっては共通範囲Cを検出できない場合もある。この場合には、それぞれの文書についてボタン位置を決定する。
そして、位置決定部1032は、共通範囲の中でボタンの位置を決定する(ステップS99)。例えば、中間位置を採用する。図32の場合には、(xe1+xe2)/2が中間位置として得られる。2ページの場合には、単純に行末位置の中点になる場合もあるが、3ページ以上の場合には、単純には得られない。例えば、共通範囲の重心を用いてもよい。
その後、位置決定部1032は、設定した位置のデータを、表示処理部1031に指示する(ステップS100)。表示処理部1031の処理については、第1の実施の形態と同様であるから、説明は省略する。
さらに、位置決定部1032は、各文書について最終行に対する既読判定の判定閾値を算出し、領域設定部107に出力する(ステップS101)。
ボタンの位置が決定されれば、第1の実施の形態で説明したように、単純に最終行の行末位置のx座標値とボタン位置のx座標値との差として判定閾値を設定してもよいし、視線検出誤差を考慮してもよいし、一度に読むことができる範囲に対応する長さを考慮するようにしてもよい。
このような処理を実行することによって、複数の文書に含まれる文章の最終行の行末位置にばらつきがある場合でも、ボタン位置を共通にすることができ、読み手に戸惑いを与えることなく、読み手は読み進めることができるようになる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で述べた情報処理装置の機能ブロック構成は一例であって、プログラムモジュール構成とは一致しない場合もある。
さらに、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数ステップを並列に実行するようにしてもよい。
また、上で述べた例では、1つのボタンを配置する例を説明したが、複数のボタンを配置する場合もある。この場合も、例えば最も最終行の行末位置に近いボタンの位置を上で述べた処理で決定し、当該ボタンの付近でより遠い位置に他のボタンを配置すれば、既読判定処理において同じ判定閾値を用いることができるようになる。
また、画面の拡大や縮小が指示されたりして表示内容が変化した場合には、再度ボタンの配置を行うことが好ましい。
さらに、最終行の行末位置と、ボタンの位置との関係を蓄積しておき、後に同じ最終行の行末位置が検出された場合に、既に算出されているボタンの位置を読み出して使用するようにしてもよい。
さらに、ボタンを押せるようにする(ボタンに割り当てられた機能を有効化する)タイミングや時間についても、様々な変形が可能である。例えば、最終行以外の行が読み終わったタイミングでボタンを押せるようにしてもよいが、最終行まで読み終わったと確認されたタイミングでボタンを押せるようにしてもよい。さらに、最終行まで読み終わったと確認されたタイミングから一定時間のみボタンを押せるようにしてもよい。ボタンを見ていると判断される時間内にのみボタンを押せるようにしてもよい。
さらに、配置ルールについては、様々な設定が可能である。例えば、ベクトルにて設定する場合もあれば、関数を用意しておくようにしてもよい。
さらに、第2の実施の形態と第3の実施の形態を組み合わせるような実施の形態も可能である。例えば、最終行の行末位置に応じて、読みの方向とは逆方向に配置したり、読みの方向に配置したり、垂直下方向に配置したりすることを切り替えてもよい。また、これらに優先順位を予め付与しておき、表示可能な範囲に含まれていない場合には次の優先順位についてのボタンの位置を採用するようにしてもよい。
さらに、1ページに1つの文章が配置される例を示したが、複数の文章が配置されており、各文章についてボタンが配置されるような場合にも、本実施の形態は適用可能である。
さらに、上では文章以外に他のコンテンツが含まれていない例を示したが、画像その他のコンテンツを配置する場合もある。このような場合には、ボタンの位置が仮に決定された後に、他のコンテンツにボタンが重ならないか否かを判断した上で、最終的にボタンの位置を決定するようにしてもよい。重なる場合には、他の候補位置を決定して他のコンテンツに重ならないか否かを確認する。
さらに、ボタンをクリックするためにはカーソルを移動させることになるので、カーソルの位置を考慮してボタンの位置を決定する場合もある。タブレット端末を片手で持っている際に、端末を持っている方の手の指が届く範囲から想定されるタッチ位置など使用環境から想定されるユーザが操作しやすい位置を採用することもある。例えば、右手でタブレット端末を持っていると、左下よりも右下にボタンがある方が、右手での操作がしやすくなると考えられるためである。
なお、上で述べた情報処理装置100は、コンピュータ装置であって、図33に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517と視線の検出を行うためユーザを撮影するカメラ2516とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理方法は、(A)表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、(B)特定された最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定し、(C)決定された表示位置に、文章を読んだことを入力するためのボタンを表示画面上に表示する処理を含む。
視線位置の改行に相当する移動を単純に文章についてのみ確認する場合には最終行について読んだか否かを確定的に把握することが難しい場合があるので、このようにボタンを配置することで、文章の最終行まで読んだことを確認できるようになる。なお、ボタンは目標となる表示オブジェクトの一種であり、ボタン以外の表示オブジェクトであってもよい。
上で述べた表示位置が、文章の読みの方向とは逆方向に予め定められた距離以上の視線位置の移動が検出されるような位置である場合もある。視線位置の改行に相当する移動を検出する処理との親和性が高い。
また、上で述べた表示位置が、文章の読みの方向に対して垂直方向に予め定められた距離以上の視線位置の移動が検出されるような位置である場合もある。特徴的な視線の移動を検出することで、安定的に最終行を読んだことを確認できるようになる。
さらに、上で述べた表示位置が、文章の読みの方向と同じ方向に予め定められた距離以上の視線位置の移動が検出されるような位置である場合もある。特徴的な視線の移動を検出することで、安定的に最終行を読んだことを確認できるようになる。
さらに、上で述べた情報処理方法が、予め定められた距離に基づき、既読判定において用いられる、最終行についての移動距離の閾値を算出するようにしてもよい。これによって、最終行についても既読判定を適切に実行できるようになる。なお、閾値に加えて移動の方向のデータを含む場合もある。
さらに、上で述べた決定する処理が、(b1)複数の文章の各々について、最終行の行末位置を特定し、(b2)複数の文章の各々について、特定された最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置の範囲を算出し、(b3)複数の文章の各々について算出された表示位置の範囲が重複する範囲から、ボタンの表示位置を決定する処理を含むようにしてもよい。例えば、複数ページに渡って表示される文章についてボタンの位置を共通にすることで、読み手が安定的にボタンへ視線を移動させることができるようになり、その検出が容易になる。
また、上で述べた移動距離の閾値が、上記予め定められた距離を、視線位置の検出誤差、視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ、又は視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ及びボタンの長さで補正することで得られる場合もある。様々な条件を加味して閾値を決定する場合がある。
さらに、上で述べた決定する処理が、予め定められた距離を、視線位置の検出誤差で補正した距離に基づき、表示位置を決定するようにしてもよい。これによって適切な長さだけボタンを最終行の行末位置から離すことができるようになる。
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定する決定部と、
決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する表示処理部と、
を有する情報処理装置。
(付記2)
前記表示位置が、
前記文章の読みの方向とは逆方向に予め定められた距離以上の視線位置の移動が検出されるような位置
である付記1記載の情報処理装置。
(付記3)
前記表示位置が、
前記文章の読みの方向に対して垂直方向に予め定められた距離以上の視線位置の移動が検出されるような位置
である付記1記載の情報処理装置。
(付記4)
前記表示位置が、
前記文章の読みの方向と同じ方向に予め定められた距離以上の視線位置の移動が検出されるような位置
である付記1記載の情報処理装置。
(付記5)
前記決定部が、
前記予め定められた距離に基づき、前記既読判定において用いられる、前記最終行についての移動距離の閾値を算出する
付記1乃至4のいずれか1つ記載の情報処理装置。
(付記6)
前記決定部が、
複数の文章の各々について、最終行の行末位置を特定し、
前記複数の文章の各々について、特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置の範囲を算出し、
前記複数の文章の各々について算出された前記表示位置の範囲が重複する範囲から、前記ボタンの表示位置を決定する
付記1乃至5のいずれか1つ記載の情報処理装置。
(付記7)
前記移動距離の閾値が、
前記予め定められた距離を、前記視線位置の検出誤差、前記視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ、又は前記視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ及び前記ボタンの長さで補正することで得られる
付記5記載の情報処理装置。
(付記8)
前記決定部が、
前記予め定められた距離を、前記視線位置の検出誤差で補正した距離に基づき、前記表示位置を決定する
付記1乃至5のいずれか1つ記載の情報処理装置。
(付記9)
表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、
特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定し、
決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する
処理をコンピュータに実行させるためのプログラム。
(付記10)
表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、
特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定し、
決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する
処理を含み、コンピュータにより実行される情報処理方法。
100 情報処理装置
101 視線検出部
102 表示部
103 文書データ処理部
1031 表示処理部
1032 位置決定部
104 第1データ格納部
105 第2データ格納部
106 判定部
107 領域設定部
108 第3データ格納部
109 入力部

Claims (10)

  1. 表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定する決定部と、
    決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する表示処理部と、
    を有する情報処理装置。
  2. 前記表示位置が、
    前記文章の読みの方向とは逆方向に予め定められた距離以上の視線位置の移動が検出されるような位置
    である請求項1記載の情報処理装置。
  3. 前記表示位置が、
    前記文章の読みの方向に対して垂直方向に予め定められた距離以上の視線位置の移動が検出されるような位置
    である請求項1記載の情報処理装置。
  4. 前記表示位置が、
    前記文章の読みの方向と同じ方向に予め定められた距離以上の視線位置の移動が検出されるような位置
    である請求項1記載の情報処理装置。
  5. 前記決定部が、
    前記予め定められた距離に基づき、前記既読判定において用いられる、前記最終行についての移動距離の閾値を算出する
    請求項1乃至4のいずれか1つ記載の情報処理装置。
  6. 前記決定部が、
    複数の文章の各々について、最終行の行末位置を特定し、
    前記複数の文章の各々について、特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置の範囲を算出し、
    前記複数の文章の各々について算出された前記表示位置の範囲が重複する範囲から、前記ボタンの表示位置を決定する
    請求項1乃至5のいずれか1つ記載の情報処理装置。
  7. 前記移動距離の閾値が、
    前記予め定められた距離を、前記視線位置の検出誤差、前記視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ、又は前記視線位置の検出誤差及び一度に読むことができる範囲に対応する長さ及び前記ボタンの長さで補正することで得られる
    請求項5記載の情報処理装置。
  8. 前記決定部が、
    前記予め定められた距離を、前記視線位置の検出誤差で補正した距離に基づき、前記表示位置を決定する
    請求項1乃至5のいずれか1つ記載の情報処理装置。
  9. 表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、
    特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定し、
    決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する
    処理をコンピュータに実行させるためのプログラム。
  10. 表示画面における視線位置の改行に相当する移動を検出することによって既読判定を行うべき文章に含まれる複数の行のうち最終行の行末位置を特定し、
    特定された前記最終行の行末位置から、予め定められた距離以上の視線位置の移動が検出されるような表示位置を決定し、
    決定された前記表示位置に、前記文章を読んだことを入力するためのボタンを前記表示画面上に表示する
    処理を含み、コンピュータにより実行される情報処理方法。
JP2013187905A 2013-09-11 2013-09-11 情報処理装置、方法及びプログラム Active JP6115418B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013187905A JP6115418B2 (ja) 2013-09-11 2013-09-11 情報処理装置、方法及びプログラム
US14/469,693 US9377853B2 (en) 2013-09-11 2014-08-27 Information processing apparatus and information processing method
EP14182913.5A EP2849029A1 (en) 2013-09-11 2014-08-29 Information processing apparatus and information processing method using gaze tracking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013187905A JP6115418B2 (ja) 2013-09-11 2013-09-11 情報処理装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015055950A JP2015055950A (ja) 2015-03-23
JP6115418B2 true JP6115418B2 (ja) 2017-04-19

Family

ID=51454566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013187905A Active JP6115418B2 (ja) 2013-09-11 2013-09-11 情報処理装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US9377853B2 (ja)
EP (1) EP2849029A1 (ja)
JP (1) JP6115418B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565448B2 (en) 2017-08-16 2020-02-18 International Business Machines Corporation Read confirmation of electronic messages
US11720172B2 (en) * 2021-12-21 2023-08-08 Lenovo (Singapore) Pte. Ltd. Indication of key information apprisal
CN115909342B (zh) * 2023-01-03 2023-05-23 湖北瑞云智联科技有限公司 基于触点运动轨迹的图像标记识别***及方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822385A (ja) 1994-02-22 1996-01-23 Nippon Hoso Kyokai <Nhk> 視線対応表示方法及び装置
US5850211A (en) * 1996-06-26 1998-12-15 Sun Microsystems, Inc. Eyetrack-driven scrolling
US6204828B1 (en) * 1998-03-31 2001-03-20 International Business Machines Corporation Integrated gaze/manual cursor positioning system
JP3567084B2 (ja) * 1998-06-30 2004-09-15 シャープ株式会社 電子ブック装置
JP2006107048A (ja) 2004-10-04 2006-04-20 Matsushita Electric Ind Co Ltd 視線対応制御装置および視線対応制御方法
EP1679577A1 (en) 2005-01-10 2006-07-12 Tobii Technology AB Adaptive display of eye controllable objects
US8255827B2 (en) * 2009-01-26 2012-08-28 Microsoft Corporation Dynamic feature presentation based on vision detection
US8769436B2 (en) * 2009-02-10 2014-07-01 Oracle International Corporation Adaptive UI regions for enterprise applications
IT1399456B1 (it) 2009-09-11 2013-04-19 Sr Labs S R L Metodo e apparato per l'utilizzo di generiche applicazioni software attraverso controllo oculare e opportune metodologie di interazione.
KR20120053803A (ko) * 2010-11-18 2012-05-29 삼성전자주식회사 시선 궤적을 이용한 컨텐츠 표시 장치 및 방법
US8643680B2 (en) * 2011-04-08 2014-02-04 Amazon Technologies, Inc. Gaze-based content display
KR20140041570A (ko) * 2011-06-24 2014-04-04 톰슨 라이센싱 사용자의 눈 이동으로 동작가능한 컴퓨터 장치 및 컴퓨터 장치를 동작하는 방법
KR101891786B1 (ko) 2011-11-29 2018-08-27 삼성전자주식회사 아이 트래킹 기반의 사용자 기능 운용 방법 및 이를 지원하는 단말기
JP5945417B2 (ja) 2012-01-06 2016-07-05 京セラ株式会社 電子機器
JP6152758B2 (ja) * 2013-09-13 2017-06-28 富士通株式会社 情報処理装置、方法及びプログラム
US20160094705A1 (en) * 2014-09-30 2016-03-31 Ringcentral, Inc. Message Read Confirmation Using Eye Tracking

Also Published As

Publication number Publication date
EP2849029A1 (en) 2015-03-18
JP2015055950A (ja) 2015-03-23
US9377853B2 (en) 2016-06-28
US20150070268A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
US9547439B2 (en) Dynamically-positioned character string suggestions for gesture typing
US10275436B2 (en) Zoom enhancements to facilitate the use of touch screen devices
JP2015056173A (ja) 情報処理装置、方法及びプログラム
JP2006345529A (ja) ユーザが調整可能な閾値を用いる赤目補正方法及び装置
JPWO2012102159A1 (ja) 文字入力装置および文字入力方法
JP6152758B2 (ja) 情報処理装置、方法及びプログラム
JP6115418B2 (ja) 情報処理装置、方法及びプログラム
JP6248678B2 (ja) 情報処理装置、手書き入力プログラム及び手書き入力方法
JP5606635B1 (ja) 電子機器、補正方法、及びプログラム
JP2014195202A (ja) シンボル入力装置及びプログラム
JP6291894B2 (ja) 入力装置、入力方法及びプログラム
JP6340420B2 (ja) テキスト選択箇所段落スナップ
CN108780383B (zh) 基于第二输入选择第一数字输入行为
JP6220374B2 (ja) 情報処理装置、出力文字コード判定方法、及びプログラム
JP6136728B2 (ja) 情報処理装置、判定方法及びプログラム
JP6115389B2 (ja) 情報処理装置、判定方法及びプログラム
JP7238054B2 (ja) 入力情報修正方法及び情報端末
US11017570B2 (en) Display control apparatus, display control method, and recording medium
KR20170017166A (ko) 전자 장치, 전자 장치의 문자 입력 방법
US20130063378A1 (en) Terminal apparatus and method for supporting smart touch operation
JP6380085B2 (ja) 情報処理装置及びプログラム
WO2013046512A1 (ja) 情報処理端末
JP2015170212A (ja) 文字入力システム用のプログラムおよび文字入力装置
JP2012212317A (ja) 手書き入力装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150