(57)【要約】【課題】視線検出装置が出力する視線位置座標の精度が低い場合であってもユーザが読んだか否かを様々な行構成の文章に対して判定できるようにする。【解決手段】本情報処理装置は、（Ａ）表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出する算出部と、（Ｂ）算出された距離に応じて、視線位置の移動を検出することで文章を読んだか否かを判断するための条件を設定する設定部とを有する。【選択図】図１０
2015056173.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出する算出部と、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する設定部と、
を有する情報処理装置。
【請求項２】
前記設定部が、
前記視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された前記距離が超える場合には、前記視線位置の移動が改行を表す移動である回数を計数する際に用いられる回数の閾値を増加させる
処理を含む請求項１記載の情報処理装置。
【請求項３】
前記設定部が、
前記視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された前記距離が超える場合には、当該算出された前記距離に応じた距離を、前記視線位置の移動が行替えを表す移動であるか否かを判断する際に比較される比較基準値に設定する
処理を含む請求項１記載の情報処理装置。
【請求項４】
前記表示画面上における視線位置を取得し、前記文章の前記読みの方向とは反対の方向における前記視線位置の移動距離が、前記距離の閾値を超える移動の回数を計数し、計数された前記回数が前記設定部により設定された回数の閾値以上となった場合には、前記文章について既読を表すデータをデータ格納部に格納する判定部
をさらに有する請求項２記載の情報処理装置。
【請求項５】
前記表示画面上における視線位置を取得し、前記文章の前記読みの方向とは反対の方向における前記視線位置の移動距離と、前記設定部により設定された前記比較基準値とが一致するか判断し、前記視線位置の移動距離と前記比較基準値とが一致すると判断された場合には、前記第１の行について既読を表すデータをデータ格納部に格納する判定部
をさらに有する請求項３記載の情報処理装置。
【請求項６】
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出し、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する、
処理を、コンピュータに実行させるためのプログラム。
【請求項７】
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出し、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する、
処理を含み、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の既読判定技術に関する。
【背景技術】
【０００２】
パソコンやタブレットやスマートフォン端末、キオスク端末といった情報端末の画面描画更新の方法として、ユーザの視線を検出し、その移動によって画面の表示内容を切り替えたり、スクロール操作を行うといった技術が存在している。具体的には、特定の領域等を読んだかどうかを判定してから画面の表示を切り替えたり、画面をスクロールすることにより、ユーザの操作負担を減らすものである。
【０００３】
また、視線による画面制御等を行う技術には以下のようなものもある。すなわち、文章やコンテンツ上に判定領域を設け、その判定領域内にユーザの視線座標が検出された場合にユーザが参照していると判断し、ユーザが参照したパーツの順序が、予め定められた順序と一致した場合、ユーザが読んだと認識し、視線に対応した画面制御等を行うものである。
【０００４】
このような技術の場合、読んだかどうか判定する対象の文章やコンテンツの判定領域上に視線座標が検出されない場合、その文章やコンテンツを読んだかどうか判定することができない。例えば、視線検出装置が出力する視線位置座標の精度が高ければ、図１に示すように、判定領域１０００において、太線で示すように１行目を読んだ後、太点線で示すように２行目を読んだということを把握できる。しかしながら、視線検出装置が出力する視線位置座標の精度が低く、その誤差が文章の文字（各行）やコンテンツの大きさよりも粗い場合がある。このような場合、図２に示すように、視線位置が判定領域１０００に収まらない場合や、行をまたいで移動したりするため、たとえその文章等を読んでいたとしても、視線検出装置が出力する視線位置座標を単純に追うだけでは、文章等を読んだか否かを判定することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０７０４８号公報
【特許文献２】特開平８−２２３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明の目的は、一側面によれば、視線検出装置が出力する視線位置座標の精度が低い場合であってもユーザが読んだか否かを様々な行構成の文章に対して判定できるようにするための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、（Ａ）表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出する算出部と、（Ｂ）算出された距離に応じて、視線位置の移動を検出することで文章を読んだか否かを判断するための条件を設定する設定部とを有する。
【発明の効果】
【０００８】
一側面によれば、視線検出装置が出力する視線位置座標の精度が低い場合であってもユーザが読んだか否かを様々な行構成の文章に対して判定できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、従来技術の問題を説明するための図である。
【図２】図２は、従来技術の問題を説明するための図である。
【図３】図３は、本実施の形態の概要を説明するための図である。
【図４】図４は、本実施の形態の概要を説明するための図である。
【図５】図５は、本実施の形態の概要を説明するための図である。
【図６】図６は、本実施の形態の概要を説明するための図である。
【図７】図７は、本実施の形態の概要を説明するための図である。
【図８】図８は、本実施の形態の概要を説明するための図である。
【図９】図９は、視線を動かさずに文字を読める範囲を説明するための図である。
【図１０】図１０は、本実施の形態に係る情報処理装置の機能ブロック図である。
【図１１】図１１は、第４データ格納部に格納されるデータの一例を示す図である。
【図１２】図１２は、第１の実施の形態に係る前処理の処理フローを示す図である。
【図１３】図１３は、第１の実施の形態において第３データ格納部に格納されるデータの一例を示す図である。
【図１４】図１４は、第１の実施の形態に係る処理フローを示す図である。
【図１５】図１５は、第１の実施の形態を説明するための図である。
【図１６】図１６は、第１の実施の形態を説明するための図である。
【図１７】図１７は、第１の実施の形態を説明するための図である。
【図１８】図１８は、第１の実施の形態を説明するための図である。
【図１９】図１９は、第１及び第２の実施の形態を説明するための図である。
【図２０】図２０は、第２の実施の形態に係る処理フローを示す図である。
【図２１】図２１は、判定ルール生成処理の処理フローを示す図である。
【図２２】図２２は、第２の実施の形態において第３データ格納部に格納されるデータの一例を示す図である。
【図２３】図２３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
本実施の形態では、たとえ視線検出装置が出力する視線位置座標の精度が低い場合であっても、図３に示すような（図２と同じ）左から右へ書かれた文章の場合には、次の行を読む際には、矢印１１００のように右から左へ向いた視線の移動が発生することに着目する。このように文章を読む際に生じ且つ改行（行替えとも呼ぶ）に対応する、視線位置の移動の発生を計数することで、表示画面に表示されている文章を読んだか否かを判定する。
【００１１】
しかしながら、表示画面に表示される文章に含まれる行の長さは、図１乃至図３に示すように、おおよそ一致している場合だけではない。例えば、図４に示すように、横書き（左から右が、読みの方向）で右端がそろっているが、中央の３行は長さが短くなっている場合もある。また、図５に示すように、横書きで左端はそろっているが、先頭行と最終行以外の行は長さが短くなっている場合もある。さらに、図６に示すように、先頭行と最終行以外の長さが短くなっているだけではなく、行頭位置がずれている場合もある。また、図７に示すように、先頭行と最終行以外の長さが短くなっているだけではなく、行頭位置がばらばらである場合もある。
【００１２】
本実施の形態では、上で述べたように、改行に対応する、視線位置の移動を検出することを基本的な着眼点とするが、図４乃至７に示すような行構成に対処すべく、適切に検出可能な、改行に対応する視線位置の移動が発生する行を把握することで、改行検出回数についての閾値を適切に設定する。
【００１３】
具体的には、本実施の形態では、各行について行末から次の行の行頭までの距離ｄを基に、改行検出回数についての閾値を決定する。図８の例では、第１行目については、行末の文字「よ」から第２行目の行頭の文字「あ」までの距離ｄ１を算出する。この距離ｄ１が、視線を動かさず文字を読める範囲の長さｄth以下であれば、視線を動かさずに読めるため、視線の移動を検出できない。従って、ｄ１＞ｄthという関係になっていれば、改行検出回数についての閾値を１インクリメントする。
【００１４】
同様に、第２行目の行末の文字「う」から第３行目の行頭の文字「Ａ」までの距離ｄ３と、第３行目の行末の文字「Ｃ」から第４行目の行頭の文字「一」までの距離ｄ２と、第４行目の行末の文字「三」から第５行目の行頭の文字「あ」までの距離ｄ４と、第５行目の行末の文字「う」から第６行目の行頭の文字「え」までの距離ｄ５とを算出する。
【００１５】
例えば、ｄ１及びｄ２のみがｄthより長い場合には、改行検出回数についての閾値は「２」となる。
【００１６】
なお、距離については、ユークリッド距離を用いても良いし、例えば図８に示すように、読みの方向がｘ軸方向であれば、ある行の行末位置と次の行の行頭位置とのｘ座標値の差を距離と扱う場合もある。
【００１７】
なお、図９に模式的に示すように、目１５０１から距離ｄe離れた平面１５０２上における矩形の領域１５０３が、視線を動かさずに文字を読める範囲であり、その一辺ｄthは、以下のように表される。なお、θは目１５０１から見える角度を表している。
ｄth＝２ｄe＊tan（θ／２）
【００１８】
例えば、使用される視線検出装置が、ユーザの目１５０１との距離ｄeを検出する機能を有する場合には、当該距離ｄeの値を取得する。取得できなければ、一般的に想定される０．５ｍ等の定数を用いるようにしても良いし、ユーザに入力してもらうようにしても良い。θについても、一般的に文字等を識別する人間の中心視である角度２．５°を使用してもよい。さらに、初期処理として、画面の一点を注視してもらい、その点の周囲に文字を配置した上で、ユーザが読める文字のうち上記一点から最も遠い文字を特定することで、ｄth自体を決定しても良い。
【００１９】
図１０に本実施の形態に係る情報処理装置の機能ブロック図を示す。本実施の形態に係る情報処理装置１００は、視線検出部１０１と、表示部１０２と、表示処理部１０３と、第１データ格納部１０４と、第２データ格納部１０５と、判定部１０６と、設定部１０７と、第３データ格納部１０８と、入力部１０９と、第４データ格納部１１０とを有する。
【００２０】
視線検出部１０１は、表示部１０２における表示画面上の視線位置座標を検出し、第２データ格納部１０５に格納する。本実施の形態では、視線検出部１０１は、従来からあるどのような機構及びアルゴリズムによるものであってもよいので、詳細な説明は省略する。なお、図９に関連して述べたように、視線検出部１０１は、ｄthを決定するためのデータ又はｄthそのものを取得して設定部１０７に出力する場合もある。
【００２１】
第１データ格納部１０４は、ユーザが読んだか否かを判断することになった文章のデータと、設定データとを格納する。設定データは、例えば距離の閾値ｄthを含む。第１データ格納部１０４に格納されている文章のデータを、表示処理部１０３が読み出して、表示部１０２に出力する。
【００２２】
表示処理部１０３は、算出部１０３１を有する。算出部１０３１は、表示部１０２の表示画面上に表示される文章の各行について、当該行の行末と次の行の行頭との距離ｄ及びその方向を算出して第４データ格納部１１０に格納する。第４データ格納部１１０には、例えば図１１に示すようなデータが格納される。図１１の例では、行毎に、行番号と、行末から次の行の行頭への距離ｄと、その方向（読みの方向を正、読みの方向とは逆方向を逆と表す）とを格納するようになっている。
【００２３】
設定部１０７は、第１データ格納部１０４に格納されている設定データ等と、第４データ格納部１１０に格納されたデータとを用いて、判定部１０６で用いられる判定ルールデータを生成し、第３データ格納部１０８に格納する。
【００２４】
例えば、入力部１０９からの指示に応じて、判定部１０６は、第２データ格納部１０５に格納されている視線位置座標から、第３データ格納部１０８に格納されている判定ルールデータを用いて表示部１０２に表示されている文章を読んだか否かを判定し、判定結果を第３データ格納部１０８に格納する。さらに、判定部１０６は、表示処理部１０３に対して判定結果を表示部１０２へ出力させる場合もある。
【００２５】
次に、例えば入力部１０９から文章の表示が指示された場合に実行される前処理について説明する。
【００２６】
算出部１０３１は、先頭から順番に、未処理の行を１行特定する（図１２：ステップＳ１）。また、算出部１０３１は、特定された行の行末位置を特定し（ステップＳ３）、さらに特定された行の次の行における行頭位置を特定する（ステップＳ５）。行末位置については、例えば行末の文字の中心を用い、また行頭位置についても、例えば行頭の文字の中心を用いる。また、行末が句読点などの記号の場合には、それらの記号を含めずに行末位置を判断してもよいし、行頭が括弧や中黒(箇条書き記号)などの記号の場合には、それらの記号を含めずに行頭位置を判断してもよい。
【００２７】
そして、算出部１０３１は、特定された行末位置と行頭位置との距離及びそれらの方向を特定し、第４データ格納部１１０に格納する（ステップＳ７）。方向については、文章の読みの方向であるか読みの方向とは逆方向であるのかを特定する。図８の例であれば、行頭位置のｘ座標値−行末位置のｘ座標値が正の値であれば、読みの方向とは逆方向であり、負の値であれば、読みの方向である。
【００２８】
そうすると、設定部１０７は、第４データ格納部１１０に格納されているデータから、方向が読みの方向とは逆であり且つ距離が閾値ｄthより長いか判断する（ステップＳ９）。
【００２９】
方向が読みの方向である場合、又は距離が閾値ｄth以下である場合、処理はステップＳ１３に移行する。一方、方向が読みの方向とは逆方向であり且つ距離が閾値ｄthより長い場合には、設定部１０７は、改行検出回数の閾値を１インクリメントする（ステップＳ１１）。その後処理は、ステップＳ１３に移行する。
【００３０】
そして、算出部１０３１は、表示される文章の最終行まで処理したか判断する（ステップＳ１３）。例えば、文章に含まれる行の行数−１だけ処理した場合には、最終行まで処理したことになる。未処理の行が存在する場合には、処理はステップＳ１に戻る。
【００３１】
一方、最終行まで処理した場合には、設定部１０７は、改行検出回数についての閾値を含む判定ルールデータを、第３データ格納部１０８に格納する（ステップＳ１５）。
【００３２】
第３データ格納部１０８には、例えば図１３に示すようなデータが格納される。図１３の例では、表示される文章の文書識別子（ＩＤ）と、改行検出回数についての閾値と、文章を読んだか否かを表す判定フラグと、距離の閾値ｄthとが格納されるようになっている。文書ＩＤについては、表示処理部１０３から取得するようにしても良いし、第１データ格納部１０４から読み出すようにしても良い。上でも述べたようにｄthについては、第１データ格納部１０４に格納されている設定データに含まれる場合もあれば、視線検出部１０１から取得する場合もある。
【００３３】
次に、実際にユーザが読んでいる間の処理について図１４を用いて説明する。
【００３４】
例えば、入力部１０９によってユーザから、ある文章の表示を指示されると、図１２に示す処理を行うと共に、表示処理部１０３は、その文章のデータを第１データ格納部１０４から読み出し、表示部１０２に表示する。また、入力部１０９によってユーザから、ある文章の表示が指示されると、視線検出部１０１は、視線位置座標を検出し、第２データ格納部１０５に格納する。
【００３５】
そして、判定部１０６は、第２データ格納部１０５に格納されている、最新の視線位置座標及び１単位時間前の視線位置座標のデータを読み出す（図１４：ステップＳ２１）。
【００３６】
そうすると、判定部１０６は、表示画面上における移動元の視線位置と移動先の視線位置との間の移動距離及びその方向を算出する（ステップＳ２３）。上でも述べたように、本実施の形態では、移動距離は、ユークリッド距離であってもよいし、読みの方向に平行な軸方向の座標値の差であっても良い。
【００３７】
そして、判定部１０６は、移動距離及び方向が、第３データ格納部１０８に格納されている判定ルールに従っているか否かを判断する（ステップＳ２５）。
【００３８】
本実施の形態では、改行に対応する、視線位置の移動を取り扱うので、第３データ格納部１０８に格納されている閾値ｄthより長い移動距離が検出され、移動方向が、読みの方向とは逆方向であるか否かを判断する。
【００３９】
ステップＳ２５の条件を満たす場合には、判定部１０６は、改行検出回数を１インクリメントする（ステップＳ２７）。そして処理はステップＳ２９に移行する。一方、ステップＳ２５の条件を満たさない場合にも、処理はステップＳ２９に移行する。
【００４０】
判定部１０６は、例えばユーザによって読み終わったという指示がなされた場合や予め設定された時間が経過した場合など、終了イベントが発生したか否かを判断する（ステップＳ２９）。終了イベントが発生していない場合には、処理はステップＳ２１に戻る。
【００４１】
一方、終了イベントが発生している場合には、判定部１０６は、改行検出回数が、第３データ格納部１０８に格納されている閾値以上となっているか否かを判断する（ステップＳ３１）。
【００４２】
ステップＳ３１の条件が満たされていない場合には、判定部１０６は、表示処理部１０３に対して、未読有りを表すメッセージを表示部１０２に表示させる（ステップＳ３３）。そして処理を終了する。なお、最初から読み直すように指示しても良い。
【００４３】
一方、ステップＳ３１の条件が満たされた場合には、表示された文章を読んだと判定できるので、判定部１０６は、第３データ格納部１０８において、この文章についての判定フラグをオンに設定する（ステップＳ３５）。この後、判定部１０６は、表示処理部１０３に対して、表示部１０２に、完了を表すメッセージを表示させるようにしても良い。これにて処理を終了する。
【００４４】
図８を用いて説明したような例では、ｄthを超える行は２行であるから、２回ｄthを超えるような視線の移動を検出すれば、図８に示される文章を読んだと判定される。
【００４５】
一方、図１５に示すように各行の長さが同じような場合には、１０行であれば９回、改行に対応する、視線の移動が発生するので、９回ｄthを超えるような視線の移動を検出すれば、図１５に示される文章を読んだと判定される。
【００４６】
なお、図４に示した例の場合には、図１６に示すように、閾値ｄthを超える、行末から次の行の行頭への移動は、５回となるので、改行検出回数についての閾値は「５」となる。
【００４７】
また、図５に示した例の場合には、図１７に示すように、第１行目の行末位置から第２行目の行頭位置への距離ｄ１のみが閾値ｄthを超えることになり、その他の距離ｄ２は閾値ｄthを超えないので、改行検出回数についての閾値は「１」となる。
【００４８】
図６に示した例の場合には、図１８に示すように、第１行目の行末位置から第２行目の行頭位置への距離ｄ１と第４行目の行末位置から第５行目の行頭位置への距離ｄ２のみが閾値ｄthを超えることになり、その他の距離ｄ３及びｄ４は閾値ｄthを超えないので、改行検出回数についての閾値は「２」となる。
【００４９】
図７に示した例の場合には、図１９に示すように、第２行目の行末位置から第３行目の行頭位置への距離ｄ２と第４行目の行末位置から第５行目の行頭位置への距離ｄ４のみが閾値ｄthを超えることになり、その他の距離ｄ１及びｄ３（ｄ３は方向も逆）は閾値ｄthを超えないので、改行検出回数についての閾値は「２」となる。
【００５０】
なお、上で述べた閾値ｄthについては、視線検出誤差の長さｅを考慮することで補正した値（例えば視線を動かさずに読める範囲の長さｄth＋２ｅ）を用いる場合もある。そのほかにも、視線を動かさずに読める範囲の長さｄthを基に適切な補正を行った値を用いる場合もある。なお、視線検出誤差の長さｅの値は、例えば画面中心部分は小さく、画面周辺部分に行くにしたがって大きくするなど、視線位置に応じて変化をさせるようにしてもよい。また、本実施の形態では、左から右に読む文章を想定したが、読みの方向が異なっても同様の処理が可能である。
【００５１】
［実施の形態２］
本実施の形態では、閾値ｄthを超える視線の移動が検出された回数ではなく、文章に含まれる各行について具体的な視線の移動についての判定ルールを生成することで、読んだか否かを判定する。
【００５２】
例えば、図１９の例では、１行目はｄ１≦ｄthであるから検出不能であるが、２行目はｄ２＞ｄthであって読みの方向とは逆方向なので検出可能であり、ｄ１を判定ルールに設定する。さらに、３行目はｄ３≦ｄthであるから検出不能であるが、第４行目はｄ４＞ｄthであって読みの方向とは逆方向なので検出可能であり、ｄ４を判定ルールに設定する。
【００５３】
そして、実際に、既読判定処理を行う際に、読みの方向とは逆方向の視線の移動を検出した場合に、２行目を読んだ場合に検出される視線位置の移動とを比較して、誤差などを考慮した上でｄ２と一致するか否かを判断する。その後、読みの方向とは逆方向の視線の移動を検出した場合、４行目を読んだ場合に検出される視線位置の移動と比較して、誤差などを考慮した上でｄ４と一致するか否かを判断する。このように判定ルールに従った視線の移動が検出されれば、文章を読んだと判定する。
【００５４】
具体的な処理内容については、図２０乃至図２２を用いて説明する。
【００５５】
例えば入力部１０９から文章の表示が指示された場合に、算出部１０３１及び設定部１０７は、判定ルール生成処理を実行する（図２０：ステップＳ４１）。判定ルール生成処理については、図２１を用いて説明する。なお、判定ルール生成処理については、このように前処理として実行するようにしても良いし、ステップＳ４３以降の処理と並列に実行するようにしても良い。
【００５６】
まず、算出部１０３１は、先頭から順番に、未処理の行を１行特定する（図２１：ステップＳ６１）。また、算出部１０３１は、特定された行の行末位置を特定し（ステップＳ６３）、さらに特定された行の次の行における行頭位置を特定する（ステップＳ６５）。行末位置については、例えば行末の文字の中心を用い、また行頭位置についても、例えば行頭の文字の中心を用いる。
【００５７】
そして、算出部１０３１は、特定された行末位置と行頭位置との距離及びそれらの方向を特定し、第４データ格納部１１０に格納する（ステップＳ６７）。第４データ格納部１１０に格納されるデータについては、第１の実施の形態と同様である。
【００５８】
そうすると、設定部１０７は、第４データ格納部１１０に格納されているデータから、方向が読みの方向とは逆であり且つ距離が閾値ｄthより長いか判断する（ステップＳ６９）。閾値ｄthについては、第１の実施の形態と同様である。
【００５９】
方向が読みの方向である場合、又は距離が閾値ｄth以下である場合、設定部１０７は、判定ルールとして「無効」を設定する（ステップＳ７１）。そして処理はステップＳ７５に移行する。一方、方向が読みの方向とは逆方向であり且つ距離が閾値ｄthより長い場合には、設定部１０７は、判定ルールとして距離などを設定する（ステップＳ７３）。その後処理は、ステップＳ７５に移行する。
【００６０】
本実施の形態では、例えば第３データ格納部１０８には、図２２に示すようなデータが格納される。図２２の例では、行の識別子である行番号と、算出された距離と、ステップＳ６９の条件を満たすか否かを表す有効フラグと、判定フラグとが格納されるようになっている。判定フラグは、ステップＳ４３以下の処理で設定されるが、有効フラグが無効の場合には判定フラグはオンにはセットされない。
【００６１】
そして、算出部１０３１は、表示される文章の最終行まで処理したか判断する（ステップＳ７５）。例えば、文章に含まれる行の行数−１だけ処理した場合には、最終行まで処理したことになる。未処理の行が存在する場合には、処理はステップＳ６１に戻る。一方、最終行まで処理した場合には、呼び出し元の処理に戻る。
【００６２】
これによって第３データ格納部１０８に、各行について判定ルールが設定される。
【００６３】
図２０の処理の説明に戻って、ある文章の表示が指示されると、表示処理部１０３は、その文章のデータを第１データ格納部１０４から読み出し、表示部１０２に表示する。また、入力部１０９によってユーザから、ある文章の表示が指示されると、視線検出部１０１は、視線位置座標を検出し、第２データ格納部１０５に格納する。
【００６４】
そして、判定部１０６は、第２データ格納部１０５に格納されている、最新の視線位置座標及び１単位時間前の視線位置座標のデータを読み出す（図２０：ステップＳ４３）。
【００６５】
そうすると、判定部１０６は、表示画面上における移動元の視線位置と移動先の視線位置との間の移動距離及びその方向を算出する（ステップＳ４５）。上でも述べたように、本実施の形態では、移動距離は、ユークリッド距離であってもよいし、読みの方向に平行な軸方向の座標値の差であっても良い。
【００６６】
そして、判定部１０６は、移動距離及び方向が、第３データ格納部１０８に格納されている対応する判定ルールに従っているか否かを判断する（ステップＳ４７）。
【００６７】
本実施の形態では、改行に対応する、視線位置の移動を取り扱うので、方向については、読みの方向とは逆方向であるか否かを判断する。また、移動距離については、第３データ格納部１０８に格納されている距離と誤差を考慮した上で一致しているか否かを判断する。例えば、視線検出誤差ｅを考慮して距離ｄプラスマイナス２ｅの範囲に入っているか否かを判断する。
【００６８】
なお、上から順番に読んでいると仮定して、第３データ格納部１０８に格納されている判定ルールを順次適用する。図２２の例では、第１行目については有効フラグが無効となっているので、最初に読みの方向とは逆方向である視線の移動を検出した場合には、第２行目について設定されている距離と比較する。そして、第２行目の判定フラグがオンにセットされると、第３行目については有効フラグが無効となっているので、次に読みの方向とは逆方向である視線の移動を検出した場合には、第４行目について設定されている距離と比較することになる。
【００６９】
今回検出された移動距離及び方向が、ステップＳ４７の対応する判定ルールに従っていると判断された場合には、判定部１０６は、判定ルールに従っていると判定された行についての判定フラグをオンにセットする（ステップＳ４９）。そして処理はステップＳ５１に移行する。一方、ステップＳ４７の対応する判定ルールに従っていないと判断された場合には、処理はステップＳ５１に移行する。
【００７０】
そして、判定部１０６は、判定ルールにおいて有効フラグが有効になっている行についての判定が行われており、且つ例えばユーザによって読み終わったという指示がなされた場合や予め設定された時間が経過した場合など、処理を終了するか否かを判断する（ステップＳ５１）。処理終了でなければ、処理はステップＳ４３に戻る。
【００７１】
処理終了であれば、判定部１０６は、有効フラグが有効にもかかわらず判定フラグがオフのままである行が存在しているか否かを、第３データ格納部１０８を参照して判断する（ステップＳ５３）。ステップＳ５３の条件を満たす場合には、判定部１０６は、表示処理部１０３に対して、未読有りを表すメッセージを表示部１０２に表示させる（ステップＳ５５）。そして処理を終了する。なお、最初から読み直すように指示しても良い。また、判定フラグがオフのままであった行やその付近の行から読み直すように指示してもよい。
【００７２】
一方、ステップＳ５３の条件が満たされない場合には、表示された文章を読んだと判定できるので、処理を終了する。なお、判定部１０６は、表示処理部１０３に対して、表示部１０２に、完了を表すメッセージを表示させるようにしても良い。また、文章について既読を設定するようにしても良い。これにて処理を終了する。
【００７３】
このような処理を行うことでも、行末から次の行頭への距離が閾値ｄthを超える距離が算出された行毎に既読判定を行うことができ、既読判定処理の精度を上げることができるようになる。
【００７４】
なお、上で述べた例では、読みの方向とは逆方向の視線の移動のみを取り扱う例を述べたが、行末から次の行頭への距離が閾値ｄthを超える場合には、読みの方向への移動であっても検出できる。例えば、左から右に読みの方向が設定されている場合、左端の方に行末があり、右端の方に次の行の行頭がある場合でも、判定ルールに、方向のデータを含めておけば、読みの方向でも移動距離が閾値ｄthを超えるような視線の移動を検出すれば、読んだか否かを判断できる。
【００７５】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図１０に示した情報処理装置１００の機能ブロック構成は一例であって、プログラムモジュール構成とは異なる場合もある。さらにデータ格納部の構成についても、ファイル構成とは異なる場合もある。
【００７６】
さらに、処理フローについて同様に、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数ステップを並列に実行するようにしてもよい。
【００７７】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図２３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７と視線の検出を行うためユーザを撮影するカメラ２５１６とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７８】
以上述べた本実施の形態をまとめると、以下のようになる。
【００７９】
本実施の形態に係る情報処理装置は、（Ａ）表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出する算出部と、（Ｂ）算出された距離に応じて、視線位置の移動を検出することで文章を読んだか否かを判断するための条件を設定する設定部とを有する。
【００８０】
このようにすれば、行が左詰でない場合等でも、視線の移動を検出することで文章を読んだか否かを判断することができるようになる。
【００８１】
なお、上で述べた設定部が、視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された距離が超える場合には、視線位置の移動が改行（行替えとも呼ぶ）を表す移動である回数を計数する際に用いられる回数の閾値を増加させる処理を含むようにしても良い。回数ベースで既読判定する場合にも、適切な閾値を設定できるようになる。
【００８２】
さらに、上で述べた設定部が、視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された距離が超える場合には、当該算出された距離に応じた距離を、視線位置の移動が行替えを表す移動であるか否かを判断する際に比較される比較基準値に設定する処理を含むようにしても良い。回数ベースではなく行毎に既読判定を行う際にも、条件を満たす各行に適切な比較基準値を設定できるようになる。
【００８３】
また、回数ベースで既読判定を行う情報処理装置は、表示画面上における視線位置を取得し、文章の読みの方向とは反対の方向における視線位置の移動距離が、距離の閾値を超える移動の回数を計数し、計数された回数が設定部により設定された回数の閾値以上となった場合には、文章について既読を表すデータをデータ格納部に格納する判定部をさらに有するようにしても良い。このようにすれば回数ベースで適切な既読判定が行われる。
【００８４】
さらに、行毎に既読判定を行う情報処理装置は、表示画面上における視線位置を取得し、文章の読みの方向とは反対の方向における視線位置の移動距離と、設定部により設定された比較基準値とが一致するか判断し、視線位置の移動距離と前記比較基準値とが一致すると判断された場合には、第１の行について既読を表すデータをデータ格納部に格納する判定部をさらに有するようにしても良い。このように行毎に既読判定を行うことができるようになる。なお、設定部が、方向を表すデータをも設定しておけば、読みの方向とは逆の方向だけではなく、読みの方向と同じ方向の視線の移動をも取り扱うことができるようになる。
【００８５】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００８６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８７】
（付記１）
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出する算出部と、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する設定部と、
を有する情報処理装置。
【００８８】
（付記２）
前記設定部が、
前記視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された前記距離が超える場合には、前記視線位置の移動が改行を表す移動である回数を計数する際に用いられる回数の閾値を増加させる
処理を含む付記１記載の情報処理装置。
【００８９】
（付記３）
前記設定部が、
前記視線位置の移動がなくても読める範囲に応じて設定される距離の閾値を、算出された前記距離が超える場合には、当該算出された前記距離に応じた距離を、前記視線位置の移動が行替えを表す移動であるか否かを判断する際に比較される比較基準値に設定する
処理を含む付記１記載の情報処理装置。
【００９０】
（付記４）
前記表示画面上における視線位置を取得し、前記文章の前記読みの方向とは反対の方向における前記視線位置の移動距離が、前記距離の閾値を超える移動の回数を計数し、計数された前記回数が前記設定部により設定された回数の閾値以上となった場合には、前記文章について既読を表すデータをデータ格納部に格納する判定部
をさらに有する付記２記載の情報処理装置。
【００９１】
（付記５）
前記表示画面上における視線位置を取得し、前記文章の前記読みの方向とは反対の方向における前記視線位置の移動距離と、前記設定部により設定された前記比較基準値とが一致するか判断し、前記視線位置の移動距離と前記比較基準値とが一致すると判断された場合には、前記第１の行について既読を表すデータをデータ格納部に格納する判定部
をさらに有する付記３記載の情報処理装置。
【００９２】
（付記６）
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出し、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する、
処理を、コンピュータに実行させるためのプログラム。
【００９３】
（付記７）
表示画面上に表示される文章に含まれる第１の行の行末と当該第１の行の次の行である第２の行の行頭との間の距離を算出し、
算出された前記距離に応じて、視線位置の移動を検出することで前記文章を読んだか否かを判断するための条件を設定する、
処理を含み、コンピュータにより実行される情報処理方法。
【符号の説明】
【００９４】
１００  情報処理装置
１０１  視線検出部
１０２  表示部
１０３  表示処理部
１０３１  算出部
１０４  第１データ格納部
１０５  第２データ格納部
１０６  判定部
１０７  設定部
１０８  第３データ格納部
１０９  入力部
１１０  第４データ格納部
【図１】
2015056173.tif 000003
【図２】
2015056173.tif 000004
【図３】
2015056173.tif 000005
【図４】
2015056173.tif 000006
【図５】
2015056173.tif 000007
【図６】
2015056173.tif 000008
【図７】
2015056173.tif 000009
【図８】
2015056173.tif 000010
【図９】
2015056173.tif 000011
【図１０】
2015056173.tif 000012
【図１１】
2015056173.tif 000013
【図１２】
2015056173.tif 000014
【図１３】
2015056173.tif 000015
【図１４】
2015056173.tif 000016
【図１５】
2015056173.tif 000017
【図１６】
2015056173.tif 000018
【図１７】
2015056173.tif 000019
【図１８】
2015056173.tif 000020
【図１９】
2015056173.tif 000021
【図２０】
2015056173.tif 000022
【図２１】
2015056173.tif 000023
【図２２】
2015056173.tif 000024
【図２３】
2015056173.tif 000025