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