(57)【要約】【課題】途中でユーザが読んだか否かを判定すべき文章の一部が表示されなくなった場合にも、正しくユーザが読んだか否かを判定できるようにする。【解決手段】本装置は、表示画面上における視線位置を取得する手段と、表示画面上において文字列を囲む第１領域を元に定めた第２領域における視線位置の移動が改行を表す移動である第１回数が、第１領域に含まれる文字列の行数に応じて定められる第１閾値以上となったか否かを判定する判定手段とを有する。そして、上記判定手段は、第１回数が第１閾値以上となる前に、第１領域の第１部分が表示画面から外れ且つ第１領域の第２部分が表示画面に残るように変更する指示がなされた場合、第１回数が第１部分に含まれる文字列の第１行数に応じた閾値以上であるか否かを判定し、第１回数が第１行数に応じた閾値以上であれば、第１部分について既読を表すデータを、データ格納部に格納する。【選択図】図６
2015032180.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以上であれば、行替え発生と判定されるので、判定部１０６の第１計数部１０６１は、行替え回数（第１行替え回数）を１カウントアップする（ステップＳ１３）。
【００４２】
ここで、表示処理部１０３は、ユーザにより入力部１０９を介して表示の拡大が指示されたか否かを判断する（ステップＳ１５）。表示の拡大が指示されていない場合には、処理は端子Ａを介して図１３の処理に移行する。一方、表示の拡大が指示された場合には、表示処理部１０３は、指示に従って表示内容を拡大させて表示部１２０に表示させる（ステップＳ１７）。そして処理は端子Ｂを介して図１４の処理に移行する。
【００４３】
次に、端子Ａ以降の処理について図１３を用いて説明する。判定部１０６は、ユーザから入力部１０９を介して既読判定指示がなされたか否かを判定する（ステップＳ１９）。例えば図７のＯＫボタン１３０３が押されたか否かを判断する。既読判定指示がなされていない場合には、処理は端子Ｃを介してステップＳ９に戻る。一方、既読判定指示がなされた場合には、判定部１０６は、第１計数部１０６１によって計数された行替えの回数が、表示行数に基づく閾値以上であるか否かを判断する（ステップＳ２１）。図７のような単純な文章であれば、（表示行数−１）が文章全体を読んだ場合の閾値となる。行替えの回数が表示行数に基づく閾値未満であれば、判定部１０６は、表示処理部１０３に対して、未読有りを表すメッセージを表示部１０２に表示させる（ステップＳ２７）。そして処理を終了する。なお、最初から読み直すように指示しても良い。
【００４４】
一方、行替えの回数が、表示行数に基づく閾値以上であれば、範囲内の文章を読んだと判定できるので、判定部１０６は、第３データ格納部１０８において、この文章の文書ＩＤに対応付けられた判定フラグをオンに設定する（ステップＳ２３）。そして、判定部１０６は、表示処理部１０３に対して、表示部１０２に、完了を表すメッセージを表示させる（ステップＳ２５）。そして処理を終了する。
【００４５】
このような処理を行うことで、精度の低い視線検出部１０１を用いた場合においても、文章を読んだか否かを判断することができるようになる。
【００４６】
なお、上では、ユーザが明示的にＯＫボタン１３０３をクリックした場合に、文章を読んだか否かを判断する処理の例を示したが、例えば、行替えの回数をインクリメントする毎に、行替えの回数が表示行数に基づく閾値以上となったか否かを自動的に判断するようにしても良い。この際、行替えの回数が表示行数に基づく閾値以上となった後に、完了ボタン等を表示させて、ユーザに判定完了を通知するようにしても良い。
【００４７】
次に、図１２における端子Ｂ以降の処理を図１４を用いて説明する。
【００４８】
拡大表示等を行った場合には、表示処理部１０３は、表示画面上における拡大後第１判定領域を特定し（ステップＳ２９）、拡大後第１判定領域のデータ及び拡大率等のデータを領域設定部１０７に出力する。例えば、表示されている文章を囲う矩形（例えば最小矩形）の座標データを特定する。そして例えば図４の状態から、図５の状態に変化した場合には、図１５に示すように、文章を囲う最小矩形１４０１を拡大後第１判定領域として特定する。
【００４９】
そして、領域設定部１０７の表示行数算出部１０７１は、例えば上で述べた方法で、拡大後第１判定領域内における表示行数を算出する（ステップＳ３１）。さらに、表示行数算出部１０７１は、拡大後第１判定領域から外れた文章の行数である非表示行数を、第３データ格納部１０８に格納されている、表示内容変更前の行数からステップＳ３１で算出した表示行数を差し引くことで算出する（ステップＳ３３）。そして、表示行数算出部１０７１は、非表示行数を判定部１０６に出力する。
【００５０】
この結果を用いて、判定部１０６は、第１計数部１０６１の計数結果である第１行替え回数が、非表示行数よりも小さいか否かを判断する（ステップＳ３５）。図４を簡略表記すると図１６のようになる。図１６の例では、実線矢印１４１２及び１４１３で示すように行替え回数は２回と計数される。すなわち、２回改行しただけでは表示内容変更後に表示される行の範囲１４１１の最初の行である４行目まで到達していない。従って、行替え回数「２」＜非表示行数「３」という関係が成り立つ。これに対して一点鎖線で示した行替え１４１４が行われていれば、行替え回数は「３」であり、範囲１４１１の最初の行である４行目まで視線の移動がなされたことが確認できる。すなわち、行替え回数＜非表示行数という関係が成り立たなくなる。このように行替え回数＜非表示行数の条件が満たされる場合には、未読の行が非表示になってしまうので、拡大後の文章を読んでも全体として読んだとは判定できない。一方、行替え回数＜非表示行数の条件が満たされなければ、拡大によって非表示になった文章を読んだと判定できるので、拡大後にも表示されている部分の文章を読んだか否かを判定すればよい。
【００５１】
ステップＳ３５で条件を満たすと判断された場合には、判定部１０６は、表示処理部１０３に対して、未読有りを表すメッセージを表示部１０２に表示させる（ステップＳ３７）。そして処理を終了する。なお、最初から読み直すように指示しても良い。
【００５２】
一方、ステップＳ３５で条件を満たさないと判断された場合には、判定部１０６及び領域設定部１０７は、拡大後処理を実行する（ステップＳ３９）。拡大後処理については、図１７乃至図１９を用いて説明する。
【００５３】
例えば判定部１０６からの指示に応じて、領域設定部１０７は、表示画面上における拡大後第２判定領域を特定し、拡大後第２判定領域の領域データを、拡大後第１判定領域の領域データ及び拡大後第１判定領域における表示行数と共に第３データ格納部１０８に格納する（図１７：ステップＳ４１）。拡大後第２判定領域の設定方法については、拡大がない場合と同様である。また、ステップＳ５と同様に、視線位置の移動距離についての閾値Ｈminも拡大後の状態で算出し、第３データ格納部１０８に格納する。そうすると、図１１の例では２行目のレコードが登録されることになる。通常時の第１レコードと同じ文書ＩＤを含む第２レコードが登録されれば、ユーザは非表示となった行を読んだということになる。但し、判定フラグは初期的にはオフに設定される。
【００５４】
そして、判定部１０６は、第２データ格納部１０５に格納されている最新の視線位置座標及び１単位時間前の視線座標位置のデータを読み出す（ステップＳ４３）。その後、判定部１０６は、第３データ格納部１０８に格納されている拡大後第２判定領域（拡大フラグが後になっている行のデータ）の座標データに基づき、移動元位置及び移動先位置が拡大後第２判定領域内であって、拡大後第１判定領域における文章の読みの方向とは反対方向の移動距離が閾値Ｈmin以上であるか否かを判断する（ステップＳ４５）。すなわち、行替えが発生したか否かを判断する。
【００５５】
移動元位置及び移動先位置が拡大後第２判定領域内でないか、又は拡大後第１判定領域における文章の読みの方向とは反対方向の移動距離が閾値Ｈmin以上でなければ、行替え発生とは判定されないので、処理はステップＳ４９に移行する。
【００５６】
一方、移動元位置及び移動先位置が拡大後第２判定領域内であって、拡大後第１判定領域における文章の読みの方向とは反対方向の移動距離が閾値Ｈmin以上であれば、行替え発生と判定されるので、判定部１０６の第２計数部１０６２は、行替え回数（第２行替え回数）を１カウントアップする（ステップＳ４７）。そして、判定部１０６は、ユーザから入力部１０９を介して既読判定指示がなされたか否かを判定する（ステップＳ４９）。例えば図５のＯＫボタが押されたか否かを判断する。既読判定指示がなされていない場合には、処理はステップＳ４３に戻る。
【００５７】
一方、既読判定指示がなされた場合には、判定部１０６は、第２計数部１０６２により計数された第２行替え回数＋１が、（拡大後表示行数−（第１行替え回数−非表示行数））以上であるか否かを判断する（ステップＳ５１）。
【００５８】
例えば図１８に模式的に示すように、拡大表示前に実線矢印１５１２乃至１５１５のような行替えが検出されると、拡大表示前に第１行替え回数「４」が、拡大表示後に表示されなくなった非表示行数「３」（拡大表示される行の範囲１５１１以外の行の行数）以上となるので、拡大後処理が行われる。拡大表示が行われた後は、図１９に模式的に示すように、４行表示されるが、このうち最初の１行目（全体では４行目）については拡大表示前に行替えを表す実線矢印１５１５で表すように読んだと確認されている。２行目乃至４行目（全体では５行目乃至７行目）については、本実施の形態では一点鎖線矢印１５１６及び１５１７のような２回の行替えが検出されれば拡大後の文章を読んだと判定される。
【００５９】
よって、（第１行替え回数「４」−非表示行数「３」）は、｛（拡大前に読んだと確認された行数）−（非表示行数）｝であって、拡大後表示行数のうち拡大前に読んだと確認された行数を表す。また、｛拡大後表示行数−（拡大後表示行数のうち拡大前に読んだと確認された行数）｝は、拡大後に読むべき行数を表しており、拡大後に読むべき行数−１以上に、第２行替え回数がなれば、全体を読んだことになる。すなわち、以下のような数式が成り立つ。
第２行替え回数≧（拡大後表示行数−（第１行替え回数−非表示行数））−１
第２行替え回数＋１≧（拡大後表示行数−（第１行替え回数−非表示行数））
【００６０】
ステップＳ５１における条件を満たしていない場合には、判定部１０６は、表示処理部１０３に対して、未読有りを表すメッセージを表示部１０２に表示させる（ステップＳ３７）。そして処理を終了する。なお、拡大表示後の内容を読み直すように指示しても良い。
【００６１】
一方、ステップＳ５１における条件を満たしている場合には、範囲内の文章全体を読んだと判定できるので、判定部１０６は、第３データ格納部１０８において、この文章の文書ＩＤに対応付けられ且つ拡大フラグが後にセットされたレコード（図１１の例では２行目）における判定フラグをオンに設定する（ステップＳ５５）。そして、判定部１０６は、表示処理部１０３に対して、表示部１０２に、完了を表すメッセージを表示させる（ステップＳ５７）。そして処理を終了する。
【００６２】
このような処理を行うことで、途中で表示内容を拡大させるなどの操作がユーザによってなされた場合においても、表示されなくなった部分についてユーザが読んだか否かを判定できる。さらに、表示画面に残った部分についても表示内容変更前に読んだ部分を考慮しつつ全体として読んだか否かを判定できるようになる。
【００６３】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、機能ブロック図は一例であって、プログラムモジュール構成とは一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数ステップを並列に実行するようにしても良い。さらに、第３データ格納部１０８のデータ格納方式についても一例であって、同様のデータを格納するための他のデータ構造を採用しても良い。さらに、第１及び第２行替え回数のデータをも第３データ格納部１０８に格納するようにしても良い。さらに、拡大表示等を行った場合に、表示されなくなった部分についての既読又は未読を明示的に保存するようにしても良い。更に、未読判定の結果を明示的に格納するようにしても良い。
【００６４】
なお、通常表示のみ行われて既読の判定を行う場合又は拡大表示後に表示画面に残った部分について既読の判定を行う場合に、閾値を実質的に（−１）することで判定していた。これは、最終行の後ろには読むべき行がないのでこのような処理を行ったが、例えばボタンの位置を工夫することで、当該ボタンへの視線位置の移動をさらに検出した上で既読を最終確定させるようにしても良い。さらに、最終行の行末付近にボタンを配置すれば、ボタンをクリックするには最終行の行末付近まで視線位置は移動するため、付加的な判定を省略できる場合もある。
【００６５】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図２０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７と視線の検出を行うためユーザを撮影するカメラ２５１６とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６６】
以上述べた本実施の形態をまとめると、以下のようになる。
【００６７】
本実施の形態に係る判定方法は、（Ａ）表示画面上における視線位置を取得するステップと、（Ｂ）表示画面上において文字列を囲む第１の領域を含む第２の領域における視線位置の移動が改行を表す移動である第１の回数が、第１の領域に含まれる文字列の行数に応じて定められる第１の閾値以上となる前に、第１の領域の第１の部分が表示画面から外れ且つ第１の領域の第２の部分が表示画面に残るように変更する指示がなされた場合、第１の回数が第１の部分に含まれる文字列の第１の行数以上であるか否かを判定し、第１の回数が第１の行数以上であれば、第１の部分について既読を表すデータを、データ格納部に格納するステップとを含む。
【００６８】
このような処理を行うことで、ユーザが例えば拡大等の指示を行った場合においても、表示画面から外れた第１の部分について読んだか否かを適切に判断できるようになる。
【００６９】
また、上記判定方法は、（Ｃ）第１の回数が第１の行数以上であれば、指示後に視線位置の移動が改行を表す移動である第２の回数を計数し、当該第２の回数が、第２の部分に含まれる文字列の第２の行数から第１の回数と第１の行数との差を差し引いた値に応じた閾値以上であるか否かを判定するステップをさらに含むようにしても良い。
【００７０】
このような条件を満たす場合には、表示画面に残る第２の部分を含め全体として文章を読んだと判定できるようになる。
【００７１】
なお、改行を表す移動が、文字列の読みの方向とは反対の方向における視線位置の移動距離が第２の閾値以上である移動である場合もある。このようにすれば、視線位置の精度が低い場合においても適切に改行又は行替えを検出できるようになる。
【００７２】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００７３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７４】
（付記１）
表示画面上における視線位置を取得する手段と、
前記表示画面上において文字列を囲む第１の領域を元に定めた第２の領域における前記視線位置の移動が改行を表す移動である第１の回数が、前記第１の領域に含まれる前記文字列の行数に応じて定められる第１の閾値以上となったか否かを判定する判定手段と、
を有し、
前記判定手段は、
前記第１の回数が前記第１の閾値以上となる前に、前記第１の領域の第１の部分が前記表示画面から外れ且つ前記第１の領域の第２の部分が前記表示画面に残るように変更する指示がなされた場合、前記第１の回数が前記第１の部分に含まれる文字列の第１の行数に応じた閾値以上であるか否かを判定し、前記第１の回数が前記第１の行数に応じた閾値以上であれば、前記第１の部分について既読を表すデータを、データ格納部に格納する
情報処理装置。
【００７５】
（付記２）
前記判定手段は、
前記第１の回数が前記第１の行数に応じた閾値以上であれば、
前記指示後に前記視線位置の移動が改行を表す移動である第２の回数を計数し、当該第２の回数が、前記第２の部分に含まれる文字列の第２の行数から前記第１の回数と前記第１の行数との差を差し引いた値に応じた閾値以上であるか否かを判定する
付記１記載の情報処理装置。
【００７６】
（付記３）
前記改行を表す移動が、前記文字列の前記読みの方向とは反対の方向における前記視線位置の移動距離が第２の閾値以上である移動である
付記１又は２記載の情報処理装置。
【００７７】
（付記４）
表示画面上における視線位置を取得し、
前記表示画面上において文字列を囲む第１の領域を元に定めた第２の領域における前記視線位置の移動が改行を表す移動である第１の回数が、前記第１の領域に含まれる前記文字列の行数に応じて定められる第１の閾値以上となる前に、前記第１の領域の第１の部分が前記表示画面から外れ且つ前記第１の領域の第２の部分が前記表示画面に残るように変更する指示がなされた場合、前記第１の回数が前記第１の部分に含まれる文字列の第１の行数に応じた閾値以上であるか否かを判定し、前記第１の回数が前記第１の行数に応じた閾値以上であれば、前記第１の部分について既読を表すデータを、データ格納部に格納する
処理を、コンピュータに実行させるためのプログラム。
【００７８】
（付記５）
表示画面上における視線位置を取得し、
前記表示画面上において文字列を囲む第１の領域を元に定めた第２の領域における前記視線位置の移動が改行を表す移動である第１の回数が、前記第１の領域に含まれる前記文字列の行数に応じて定められる第１の閾値以上となる前に、前記第１の領域の第１の部分が前記表示画面から外れ且つ前記第１の領域の第２の部分が前記表示画面に残るように変更する指示がなされた場合、前記第１の回数が前記第１の部分に含まれる文字列の第１の行数に応じた閾値以上であるか否かを判定し、前記第１の回数が前記第１の行数に応じた閾値以上であれば、前記第１の部分について既読を表すデータを、データ格納部に格納する
処理を含み、コンピュータにより実行される判定方法。
【符号の説明】
【００７９】
１００  情報処理装置
１０１  視線検出部
１０２  表示部
１０３  表示処理部
１０４  第１データ格納部
１０５  第２データ格納部
１０６  判定部
１０６１  第１計数部
１０６２  第２計数部
１０７  領域設定部
１０７１  表示行数算出部
１０８  第３データ格納部
１０９  入力部
【図１】
2015032180.tif 000003
【図２】
2015032180.tif 000004
【図３】
2015032180.tif 000005
【図４】
2015032180.tif 000006
【図５】
2015032180.tif 000007
【図６】
2015032180.tif 000008
【図７】
2015032180.tif 000009
【図８】
2015032180.tif 000010
【図９】
2015032180.tif 000011
【図１０】
2015032180.tif 000012
【図１１】
2015032180.tif 000013
【図１２】
2015032180.tif 000014
【図１３】
2015032180.tif 000015
【図１４】
2015032180.tif 000016
【図１５】
2015032180.tif 000017
【図１６】
2015032180.tif 000018
【図１７】
2015032180.tif 000019
【図１８】
2015032180.tif 000020
【図１９】
2015032180.tif 000021
【図２０】
2015032180.tif 000022