(57)【要約】【課題】ユーザに快適にデータを提示する。【解決手段】主データと、該主データ以外のデータである複数の従属データとを含む複合ドキュメントを取得する手段１０１と、主データを可視化する手段１０３と、可視化された主データを提示する手段１１１と、提示された主データの中での表示領域を示すスクロール位置を取得する手段１０６と、スクロール位置と、該スクロール位置を取得した時刻とを複数組記憶する手段１０８と、スクロール位置と時刻とに基づいて、未来のスクロール位置を予測する手段１１３と、未来のスクロール位置に基づいて、従属データごとに、可視化する順を決定するための優先度を算出する手段１１３と、従属データごとに算出された優先度にしたがって、複数の従属データを順に可視化する手段１１０と、可視化された複数の従属データを提示する手段１１１と、を具備する。【選択図】      図１
2008097453.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントを提示する際のレイアウトの決定に必要なデータである主データと、該主データ以外のデータである複数の従属データとを含む複合ドキュメントを取得する第１の取得手段と、
前記主データを可視化する第１の可視化手段と、
前記可視化された主データを提示する第１の提示手段と、
前記提示された主データの中での表示領域を示すスクロール位置を取得する第２の取得手段と、
前記スクロール位置と、該スクロール位置を取得した時刻とを複数組記憶する記憶手段と、
前記スクロール位置と前記時刻とに基づいて、未来のスクロール位置を予測する予測手段と、
前記未来のスクロール位置に基づいて、前記従属データごとに、可視化する順を決定するための優先度を算出する優先度算出手段と、
前記従属データごとに算出された前記優先度にしたがって、前記複数の従属データを順に可視化する第２の可視化手段と、
前記可視化された複数の従属データを提示する第２の提示手段と、を具備することを特徴とするスクロール位置予測装置。
【請求項２】
前記予測手段は、
前記スクロール位置と前記時刻とを使用して、スクロール位置と該スクロール位置を取得した時刻との関係を記述する多項式関数の係数を算出する係数算出手段と、
前記係数が算出された多項式関数を利用して未来のスクロール位置を予測する予測手段と、を含み、
前記優先度算出手段は、
前記予測されたスクロール位置にしたがって従属データごとの提示時間を算出する算出手段と、
前記提示時間が長い従属データほど優先度を高く設定する設定手段と、を含むことを特徴とする請求項１に記載のスクロール位置予測装置。
【請求項３】
ユーザの操作によって学習した、スクロール学習位置と、該スクロール学習位置を取得した学習時刻とを複数組記憶する記憶手段をさらに具備し、
前記第２の取得手段は、前記スクロール位置を定期的に取得し、
前記予測手段は、
前記スクロール位置と前記時刻との複数組の履歴パターンと最も類似する、スクロール学習位置と前記学習時刻との複数組の履歴学習パターンを探し出す探索手段と、
前記最も類似する履歴学習パターンを利用して未来のスクロール位置を予測する予測手段と、を含み、
前記優先度算出手段は、
前記予測されたスクロール位置にしたがって従属データごとの提示時間を算出する算出手段と、
前記提示時間が長い従属データほど優先度を高く設定する設定手段と、を含むことを特徴とする請求項１に記載のスクロール位置予測装置。
【請求項４】
前記第１の取得手段は、前記従属データとして画像データを取得し、
前記第２の可視化手段は、前記画像データの解像度と、前記第２の提示手段が提供する解像度が異なる場合には、これらの解像度が一致するように前記画像データの解像度を変換して可視化することを特徴とする請求項１に記載のスクロール位置予測装置。
【請求項５】
前記第１の取得手段は、２種類以上の従属データを取得し、
前記優先度算出手段は、前記従属データの種類ごとに定めた関数に応じて前記従属データごとに前記優先度を算出することを特徴とする請求項１に記載のスクロール位置予測装置。
【請求項６】
スクロール位置を変更する第１の変更手段と、
ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出する検出手段と、
前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する記憶手段と、
前記スクロール操作にしたがって、スクロール位置を変更する第２の変更手段と、
前記スクロール位置が変更されなかったと検出された場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測する予測手段と、
前記予測されたスクロール位置にスクロール位置を変更する第３の変更手段と、を具備することを特徴とするスクロール位置予測装置。
【請求項７】
スクロール位置を変更する第１の変更手段と、
ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出する検出手段と、
前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する第１の記憶手段と、
前記スクロール操作が行われた回数を記憶する第２の記憶手段と、
前記スクロール操作が行われるごとに、前記回数を増加させる増加手段と、
前記スクロール操作が最後に行われてからの経過時間がしきい値を超えた場合に、前記記憶されている回数を初期化する初期化手段と、
前記スクロール操作にしたがって、スクロール位置を変更する第２の変更手段と、
前記スクロール位置が変更されなかったと検出され、かつ、前記記憶されている回数がしきい値を超えた場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測する予測手段と、
前記予測されたスクロール位置にスクロール位置を変更する第３の変更手段と、を具備することを特徴とするスクロール位置予測装置。
【請求項８】
ドキュメントを提示する際のレイアウトの決定に必要なデータである主データと、該主データ以外のデータである複数の従属データとを含む複合ドキュメントを取得し、
前記主データを可視化し、
前記可視化された主データを提示し、
前記提示された主データの中での表示領域を示すスクロール位置を取得し、
前記スクロール位置と、該スクロール位置を取得した時刻とを複数組記憶する記憶手段を用意し、
前記スクロール位置と前記時刻とに基づいて、未来のスクロール位置を予測し、
前記未来のスクロール位置に基づいて、前記従属データごとに、可視化する順を決定するための優先度を算出し、
前記従属データごとに算出された前記優先度にしたがって、前記複数の従属データを順に可視化し、
前記可視化された複数の従属データを提示することを特徴とするスクロール位置予測方法。
【請求項９】
前記未来のスクロール位置を予測することは、
前記スクロール位置と前記時刻とを使用して、スクロール位置と該スクロール位置を取得した時刻との関係を記述する多項式関数の係数を算出し、
前記係数が算出された多項式関数を利用して未来のスクロール位置を予測することを含み、
前記優先度を算出することは、
前記予測されたスクロール位置にしたがって従属データごとの提示時間を算出し、
前記提示時間が長い従属データほど優先度を高く設定することを含むことを特徴とする請求項８に記載のスクロール位置予測方法。
【請求項１０】
ユーザの操作によって学習した、スクロール学習位置と、該スクロール学習位置を取得した学習時刻とを複数組記憶する記憶手段を用意し、
前記スクロール位置を取得することは、前記スクロール位置を定期的に取得し、
前記未来のスクロール位置を予測することは、
前記スクロール位置と前記時刻との複数組の履歴パターンと最も類似する、スクロール学習位置と前記学習時刻との複数組の履歴学習パターンを探し出し、
前記最も類似する履歴学習パターンを利用して未来のスクロール位置を予測することを含み、
前記優先度を算出することは、
前記予測されたスクロール位置にしたがって従属データごとの提示時間を算出し、
前記提示時間が長い従属データほど優先度を高く設定することを含むことを特徴とする請求項８に記載のスクロール位置予測方法。
【請求項１１】
前記複合ドキュメントを取得することは、前記従属データとして画像データを取得し、
前記前記複数の従属データを順に可視化することは、前記画像データの解像度と、前記第２の提示手段が提供する解像度が異なる場合には、これらの解像度が一致するように前記画像データの解像度を変換して可視化することを特徴とする請求項８に記載のスクロール位置予測方法。
【請求項１２】
前記主データを可視化することは、２種類以上の従属データを取得し、
前記優先度を算出することは、前記従属データの種類ごとに定めた関数に応じて前記従属データごとに前記優先度を算出することを特徴とする請求項８に記載のスクロール位置予測方法。
【請求項１３】
スクロール位置を変更し、
ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出し、
前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する記憶手段を用意し、
前記スクロール操作にしたがって、スクロール位置を変更し、
前記スクロール位置が変更されなかったと検出された場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測し、
前記予測されたスクロール位置にスクロール位置を変更することを特徴とするスクロール位置予測方法。
【請求項１４】
スクロール位置を変更し、
ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出し、
前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する第１の記憶手段を用意し、
前記スクロール操作が行われた回数を記憶する第２の記憶手段を用意し、
前記スクロール操作が行われるごとに、前記回数を増加させ、
前記スクロール操作が最後に行われてからの経過時間がしきい値を超えた場合に、前記記憶されている回数を初期化し、
前記スクロール操作にしたがって、スクロール位置を変更し、
前記スクロール位置が変更されなかったと検出され、かつ、前記記憶されている回数がしきい値を超えた場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測し、
前記予測されたスクロール位置にスクロール位置を変更することを特徴とするスクロール位置予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像が埋め込まれた例えばＷｅｂページなどの主データと従属データとから成る複合ドキュメントが入力されたときに、各従属データを可視化する処理についてのスクロール位置予測装置あるいは方法に関する。
【背景技術】
【０００２】
主データと従属データとから成る複合ドキュメント（例えば、ＨＴＭＬ（Hypertext Markup Language）とその埋め込み画像）を可視化（画面表示）する場合、主データと従属データとで可視化の処理時間が大きく異なることがある。例えば、可視化の処理時間の１つとしてネットワーク配送時間がある。ＨＴＭＬを可視化するＷｅｂブラウザでは、ＨＴＭＬを解析した順に埋め込み画像の配送を要求し、その到着順に可視化を行う。このとき、埋め込み画像の提示の順序は、製作者あるいはユーザが望む提示の順序に必ずしも一致しない。
【０００３】
これに対し、製作者が望む画像提示順序で提示するための方法として、ＨＴＭＬの製作者が望む順序で可視化するために従属データの配送順序を指定する機構がある（例えば、非特許文献１参照）。
【非特許文献１】中野ほか「インラインオブジェクトの配送順序制御が可能なページ配送機構」電子情報通信学会論文誌Ｄ−Ｉ ｖｏｌ．Ｊ８４−Ｄ−Ｉ Ｎｏ．２ ｐｐ．１５５−１６４， ２００１．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来では、製作者が従属データの可視化順序を制御することはできるが、例えば画面のスクロールといったユーザ側の環境の変化にあわせて可視化順序を変えることができない。具体的には、例えば、画面のスクロールにより提示される従属データよりも、画面のスクロールにより今後提示されなくなる従属データのほうが優先的に可視化されてしまう場合がある。このため、従属データを可視化してユーザに提示するのに多くの時間がかかる場合がある。
【０００５】
また、携帯電話やＰＤＡのような小さい画面で画像やＷｅｂページを表示する場合、スクロールが多用される。このとき、従来は、ユーザがボタンを押すたびに画面のスクロール位置が更新され、それに伴い表示領域が更新されるインターフェースが提供されている。この場合、ユーザは、スクロールが必要になるたびにボタンを操作する必要がある。
【０００６】
この発明は、上述した事情を考慮してなされたものであり、ユーザが必要とするデータをユーザにとって快適に提示するスクロール位置予測装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明のスクロール位置予測装置は、ドキュメントを提示する際のレイアウトの決定に必要なデータである主データと、該主データ以外のデータである複数の従属データとを含む複合ドキュメントを取得する第１の取得手段と、前記主データを可視化する第１の可視化手段と、前記可視化された主データを提示する第１の提示手段と、前記提示された主データの中での表示領域を示すスクロール位置を取得する第２の取得手段と、前記スクロール位置と、該スクロール位置を取得した時刻とを複数組記憶する記憶手段と、前記スクロール位置と前記時刻とに基づいて、未来のスクロール位置を予測する予測手段と、前記未来のスクロール位置に基づいて、前記従属データごとに、可視化する順を決定するための優先度を算出する優先度算出手段と、前記従属データごとに算出された前記優先度にしたがって、前記複数の従属データを順に可視化する第２の可視化手段と、前記可視化された複数の従属データを提示する第２の提示手段と、を具備することを特徴とする。
【０００８】
また、本発明のスクロール位置予測装置は、スクロール位置を変更する第１の変更手段と、ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出する検出手段と、前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する記憶手段と、前記スクロール操作にしたがって、スクロール位置を変更する第２の変更手段と、前記スクロール位置が変更されなかったと検出された場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測する予測手段と、前記予測されたスクロール位置にスクロール位置を変更する第３の変更手段と、を具備することを特徴とする。
【０００９】
さらに、本発明のスクロール位置予測装置は、スクロール位置を変更する第１の変更手段と、ドキュメントの中での表示領域を示すスクロール位置が変更されたか否かを検出する検出手段と、前記スクロール位置が変更されたと検出された場合には、対応するスクロール操作と、該スクロール操作が行われた時刻とを記憶する第１の記憶手段と、前記スクロール操作が行われた回数を記憶する第２の記憶手段と、前記スクロール操作が行われるごとに、前記回数を増加させる増加手段と、前記スクロール操作が最後に行われてからの経過時間がしきい値を超えた場合に、前記記憶されている回数を初期化する初期化手段と、前記スクロール操作にしたがって、スクロール位置を変更する第２の変更手段と、前記スクロール位置が変更されなかったと検出され、かつ、前記記憶されている回数がしきい値を超えた場合には、前記記憶されたスクロール操作と、前記記憶された時刻とに基づいてスクロール位置を予測する予測手段と、前記予測されたスクロール位置にスクロール位置を変更する第３の変更手段と、を具備することを特徴とする。
【発明の効果】
【００１０】
本発明のスクロール位置予測装置および方法によれば、ユーザが必要とするデータをユーザにとって快適に提示することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態に係るスクロール位置予測装置および方法について詳細に説明する。  
本発明は、複合ドキュメントの可視化処理において、特に提示装置が可視化後の複合ドキュメントを一度にすべて提示できず、その一部のみを提示しながらユーザの指示に応じて提示される部分を変えるスクロール処理を行う場合に、可視化処理の順序を決めるためのものである。例えば、タグ付きテキストなどの主データと画像などの従属データとから成る複合ドキュメントを可視化してユーザに提示する際、スクロールにより今後表示される従属データの可視化よりも現在表示中だが間もなく表示領域からはずれる従属データの可視化が優先される場合があり、このため従属データを可視化してユーザに提示するのに多くの時間がかかる場合がある。  
本発明の基本アイディアは、複合ドキュメントを可視化する際、最初に主データに基づき全体のレイアウトを決定し、次に従属データがユーザに提示される時間（つまり、従属データをユーザが視聴している時間）を予測し、最後に、従属データのうちの予測された時間が長いものほど優先的に可視化を行うことである。
【００１２】
まず、本実施形態で使用する用語について説明する。  
複合ドキュメントは、ＨＴＭＬとそれに埋め込まれた画像のように、複数の種類のデータを組み合わせたドキュメントを示す。なお便宜上、複合ドキュメントが複数のデータを含んでいても、各データのリンクのみを保持している場合でも埋め込まれた画像と呼ぶ。複合ドキュメントは、ＨＴＭＬに限らず、例えばワードプロセッサソフトウェアや表計算ソフトウェアのデータとしても広く使われている。
【００１３】
可視化処理は、複合ドキュメントをユーザに提示するために必要な装置内部での処理を示す。複合ドキュメントには、例えばＨＴＭＬにおけるタグ付きテキストデータのように、ユーザに提示する際、提示のレイアウトを決定するために必要とするデータがある。この提示のレイアウトの決定に必要な種類のデータを、主データと呼ぶことにする。主データ以外の種類のデータを従属データと呼ぶことにする。主データは、どのような種類のデータであってもよいし、２種類以上から成るデータであってもよい。
【００１４】
また、複合ドキュメントにおいて、主要なレイアウトを与えるデータのみでは完全なレイアウトが決定できない場合（例：ＨＴＭＬにおけるタグ付きテキストデータにおいて埋め込み画像における縦横の画素数の情報が含まれていない場合）には、埋め込まれたデータの一部（上記の例では、埋め込み画像のヘッダ情報）について可視化処理（先の例では、縦横の画素数の取得）が必要になることもある。このような場合には、複合ドキュメントのうちレイアウトを決定するために必要な部分のみを主データと呼ぶことにする。すなわち、上記の例では、埋め込み画像のうちのヘッダ情報までは主データ、それ以外の部分は従属データになる。
【００１５】
タグ付きテキストにインラインで埋め込まれた情報は、それがレイアウトの決定に必要であれば主データ、そうでなければ従属データとして扱う。なお、ＨＴＭＬにおいて画像の例を示したが、例えば、ＯＢＪＥＣＴで指定されるその他の埋め込みオブジェクトについても従属データとして扱うことができる。従属データには、例えばオーディオデータのように、本質的に画面レイアウトと無関係なデータも含む。
【００１６】
次に、本実施形態での、レイアウト決定処理、提示処理、可視化処理をそれぞれ次のように定める。  
レイアウト決定処理は、レンダリングされるデータのレイアウトを決定するために必要な処理を示す。例えば、ネットワークを介して接続されたサーバからＨＴＭＬで記述された複合ドキュメントをダウンロードし、それを提示するＷｅｂブラウザであれば、ＨＴＭＬファイルをダウンロードし、メモリあるいはディスクに保存する処理、および取得されたＨＴＭＬファイルに基づき画面のレイアウトを決定する処理がレイアウト決定処理である。関連付けられたスタイルシートがあれば、スタイルシートのダウンロードとその解析はレイアウト決定処理に含まれる。
【００１７】
提示処理は、データの種類にかかわらず、ユーザに提示するために必要な処理を示す。例えば、提示装置が、ＰＣに接続されたフレームバッファを読み取り、ディスプレイ信号に変換する装置であれば、データをフレームバッファにレンダリングする処理は提示処理にあたる。レンダリングは、例えばオフラインメモリに保存された画像データをコピーする処理であってもよいし、テキストを、フォントデータに基づきグラフィックデータに変換しながら描画する処理であってもよい。
【００１８】
可視化処理は、複合ドキュメントを提示するまでの処理のうち、レイアウト決定処理と提示処理に含まれない部分すべての処理とする。例えば、上記のＷｅｂブラウザであれば、埋め込み画像データをダウンロードし、メモリあるいはディスクに保存する処理、および埋め込み画像データが圧縮されていればそれを圧縮解除（デコード）し、それをメモリあるいはディスクに保存する処理は可視化処理とし、それらをフレームバッファにレンダリングする処理、およびフレームバッファに一時保存されたデータをディスプレイ信号に変換してユーザに提示する処理は提示処理である。
【００１９】
なお、レイアウト決定処理や可視化処理において、ネットワークを介して接続されたサーバからファイルをダウンロードした場合、それをローカルストレージ（例えばハードディスクやメモリ）にキャッシュしておき、次に、そのファイルが必要になったときにはキャッシュされたファイルを読み出してもよい。この場合は、上記の手順のうちダウンロードのステップをキャッシュからの読み出しに置き換える。
【００２０】
また、レイアウト決定処理が完了するまで可視化処理や提示処理を待つ必要はない。例えば、データが動的に増加するネットワーク掲示板やチャットの発言記録では、全体のレイアウトは決定できないこともあるが、そのような場合は、取得できた部分的なデータに基づきレイアウトを算出し、可視化処理や提示処理を行えばよい。このときは、例えば、新たなデータが到着するたびに、データの増加分に基づいてレイアウトを更新し、それにしたがって可視化処理や提示処理を行えばよい。
【００２１】
レイアウト決定処理・可視化処理・提示処理のそれぞれにどの処理を含めるかは実施の形態にあわせて決める。例えば、圧縮された画像データをフレームバッファにコピーした後それをデコードしながら提示するハードウェアを持つ装置で実施する場合、デコードは可視化処理ではなく提示処理に含める。
【００２２】
次に、実施形態のスクロール位置予測装置について図１を参照して説明する。  
本実施形態のスクロール位置予測装置は、複合ドキュメント入力部１０１、複合ドキュメント記憶部１０２、主データ可視化部１０３、提示レイアウト記憶部１０４、可視化済みデータ記憶部１０５、スクロール位置変更入力部１０６、現スクロール位置記憶部１０７、スクロール位置履歴記憶部１０８、従属データ可視化部１０９、可視化順序決定部１１０、提示部１１１、提示レイアウト算出部１１２、スクロール位置予測部１１３、予測スクロール位置記憶部１１４を含んでいる。
【００２３】
複合ドキュメント入力部１０１は、複合ドキュメントを入力する。複合ドキュメント記憶部１０２は、複合ドキュメント入力部１０１が入力した複合ドキュメントを記憶する。
【００２４】
提示レイアウト算出部１１２は、複合ドキュメント記憶部１０２に記憶されている複合ドキュメントのうちの主データを取得し、全体のレイアウトの情報を算出する。主データは、例えば、ＨＴＭＬ言語では図２のようなタグ付きテキストになる。提示レイアウト記憶部１０４は、提示レイアウト算出部１１２で算出された全体のレイアウトの情報を記憶する。提示レイアウト記憶部１０４は、全体のレイアウトに必要な全てのデータを記憶している。
【００２５】
スクロール位置変更入力部１０６は、スクロール位置を変更した場合のスクロール位置の変更情報を取得する。変更情報は、例えば、スクロール位置が変更された位置を示す。現スクロール位置記憶部１０７は、スクロール位置変更入力部１０６から変更情報を取得し、現在のスクロール位置を記憶する。スクロール位置履歴記憶部１０８は、現スクロール位置記憶部１０７から現在のスクロール位置を取得し、このスクロール位置を履歴として記憶する。スクロール位置履歴記憶部１０８は、例えば、変更情報を取得した時刻と、この時刻でのスクロール位置とを記憶し、これらの情報を蓄積する。スクロール位置については後に図３を参照して説明する。
【００２６】
スクロール位置予測部１１３は、スクロール位置履歴記憶部１０８に記憶されている過去のスクロール位置の履歴を用いて、未来のスクロール位置を予測する。予測スクロール位置記憶部１１４は、スクロール位置予測部１１３で予測されたスクロール位置を記憶する。
【００２７】
可視化順序決定部１１０は、提示レイアウト記憶部１０４に記憶されている全体のレイアウトの情報と、予測スクロール位置記憶部１１４に記憶されているスクロール位置とに基づいて、各従属データに適用する可視化処理の優先度を算出する。さらに、可視化順序決定部１１０は、算出した優先度にしたがって、可視化処理の順序を決定する。可視化順序決定部１１０の詳細については後に図５を参照して説明する。
【００２８】
従属データ可視化部１０９は、可視化順序決定部１１０で決定された可視化処理の順序にしたがって、従属データを可視化する。主データ可視化部１０３は、複合ドキュメント記憶部１０２から複合ドキュメントを取得し、主データを可視化する。
【００２９】
可視化済みデータ記憶部１０５は、主データ可視化部１０３から可視化された主データを取得し、従属データ可視化部１０９から可視化された従属データを取得し、これらを記憶する。
【００３０】
提示部１１１は、可視化済みデータ記憶部１０５から可視化されたデータを取得し、現スクロール位置記憶部１０７から現在のスクロール位置を取得し、このスクロール位置に可視化されたデータを提示する。
【００３１】
次に、スクロール位置について図３を参照して説明する。  
スクロール位置は、提示されている複合ドキュメント（主データのみが提示されている場合も含む）の中での表示領域を示す。スクロール位置は、例えば矩形のディスプレイやウィンドウに提示する場合は、左上座標、幅、高さで表すことができる。図３の場合には、点線で示した矩形の左上角が「左上座標」、点線で示した矩形の横の一辺の長さが「幅」、点線で示した矩形の縦の一辺の長さが「高さ」である。ここで、座標の原点は、通常、画面の左上角を原点とする。図３の場合には、実線で示されている最外部に示されている最大枠が画面に相当し、この枠の左上角が原点となる。
【００３２】
また、ディスプレイやウィンドウの大きさが変化しない場合は左上座標のみでも表せる。なお、スクロール位置の表現はこれらに限定されず、例えば矩形であれば左上座標および右下座標としてもよい。なお、矩形領域は位置ではなく領域を表現したものであるが、本実施形態ではスクロール位置といえば領域の表現も含むものとする。
【００３３】
次に、図１のスクロール位置予測装置の動作の一例について図４を参照して説明する。  
複合ドキュメント入力部１０１が複合ドキュメントを取得し、複合ドキュメント記憶部１０２に記憶されている複合ドキュメントから主データを取得し、提示レイアウト算出部１１２がこの主データから全体のレイアウトの情報を算出する（ステップＳ４０１）。算出されたこの全体のレイアウトの情報は、提示レイアウト記憶部１０４に記憶される。
【００３４】
スクロール位置変更入力部１０６がスクロール位置の変更情報を取得し、現スクロール位置記憶部１０７が、これらの変更情報を取得し、現在のスクロール位置の情報を記憶する（ステップＳ４０２）。あわせて、スクロール位置履歴記憶部１０８に取得した位置が追加される。
【００３５】
スクロール位置予測部１１３が、過去のスクロール位置の履歴を用いて、未来のスクロール位置を予測し、予測スクロール位置記憶部１１４が予測された位置を記憶する（ステップＳ４０３）。
【００３６】
可視化順序決定部１１０が、提示レイアウト記憶部１０４から全体のレイアウト情報を取得し、予測スクロール位置記憶部１１４から予測されたスクロール位置を取得し、各従属データに適用する可視化処理の優先度を算出する（ステップＳ４０４）。  
可視化順序決定部１１０が、ステップＳ４０４で求めた各従属データの優先度にしたがって、各従属データの可視化処理の順序を決定する（ステップＳ４０５）。
【００３７】
従属データ可視化部１０９が、ステップＳ４０５で決定された可視化処理順序にしたがって、従属データに可視化処理を適用し、主データ可視化部１０３が主データに可視化処理を適用する（ステップＳ４０６）。可視化処理が適用された従属データと主データは、可視化済みデータ記憶部１０５に記憶される。
【００３８】
提示部１１１が、可視化済みデータ記憶部１０５に記憶されたデータを、現在のスクロール位置を参照して、提示する。
【００３９】
ここで、ステップＳ４０２〜ステップＳ４０７は別途定めた周期ごとに繰り返すものとする。また、スクロール位置の変化を検出するたびにステップＳ４０２〜ステップＳ４０７を繰り返してもよい。
【００４０】
次に、可視化処理の一例として、従属データを画像とし、それに超解像と呼ばれる可視化処理を適用する場合について説明する。ここでは、具体例として、横１９２０画素のテレビに、横８００画素程度を想定した複合ドキュメント内の埋め込み画像を提示する場合を考える。また、タグ付きテキストを主データ、埋め込み画像および埋め込みオブジェクトを従属データとする。
【００４１】
この場合、製作者の想定した大きさでユーザに提示するためには、例えばテレビ画面に提示する複合ドキュメントを元の２．５倍程度に拡大すればよい。なお、例えばＨＴＭＬであれば、提示装置すなわちメディアタイプごとにスタイルシートと呼ばれるレイアウト決定用データを記述する機能はあるが、指定がなかったり、スクリーン用のスタイルシートのみが記述されたデータが多い。また、それらは横８００〜１０２４画素程度を想定していることが多い。
【００４２】
主データを用いた提示レイアウトは、テキストデータとのフォントサイズ、および埋め込まれた画像やオブジェクトの大きさから算出できる。なお、ビットマップへの変換や画像の可視化を行わずに、タグ付きテキストの各要素や埋め込み画像が提示されるときの大きさから配置のみを決定する。テキストや画像の配置位置が画面の横の大きさを超える場合は、折り返しをしてもよい。
【００４３】
テキストデータの可視化は、フォントデータを、提示レイアウト決定時に用いたフォントサイズのビットマップに変換すれば実現できる。なお、フォントデータとしてよく使われるベクトルフォントと呼ばれるフォント、例えばトゥルータイプフォントやタイプ１フォントと呼ばれるフォントは、所望の大きさのビットマップデータに変換できるように作られている。しかし、埋め込み画像の解像度は、テレビの解像度に比べ低いため、解像度変換が必要となる。レンダリングを高速に行うために、このような埋め込み画像の解像度変換に、ニアレストネイバーやバイリニアと呼ばれる高速な手法が使うことは可能であるが、これらを用いた場合、画像のレンダリング品質は低くなる。
【００４４】
画像のレンダリング品質を上げたいのであれば、その１つの手法は、例えば、特許第３３６９５２０号明細書、特許第３５８３９２４号明細書、特開２００３−１８３９８号公報に記載されている超解像と呼ばれる手法で静止画の解像度変換を行うことである。しかし、超解像による解像度変換は多くの時間を必要とするため、例えば、複合ドキュメントに記述された順で各埋め込み画像に超解像を適用するといった手法では、画面のスクロールにより今後提示されなくなる画像のほうが優先的に超解像の対象となる問題が起こる。
【００４５】
本実施形態の手法を用い、画像に超解像を適用する順序を決定すれば、将来（すなわち、未来）、ユーザに長時間提示する画像に対して優先的に超解像を適用できるようになる。なお、可視化が完了していない場合であっても、主データの解析が完了していれば、従属データが可視化されたときの画面上でのサイズはわかる。このとき、そのサイズにあわせた枠やテキスト（プレースホルダ）を提示しておき、可視化が完了した時点でそれを置き換えてもよい。また、超解像のように、処理には時間がかかるが、その高速な代替処理（例えばニアレストネイバー）の提供が可能な処理では、まず高速な代替処理により可視化を行ってそれを提示し、その後、超解像により再度可視化を行い、可視化が完了した時点で提示中の可視化済み従属データを置き換えてもよい。また、可視化が完了していない場合でも、処理中の可視化データを提示してもよい。
【００４６】
次に、可視化順序決定部１１０が行う優先度の算出手法の例について図５を参照しながら説明する。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。  
本実施形態の可視化順序決定部１１０は、例えば、図５に示すように、従属データ提示時間算出部５０１、可視化優先度記憶部５０２、可視化優先度算出部５０３、可視化順序ソート部５０４、可視化指示部５０５を含んでいる。
【００４７】
従属データ提示時間算出部５０１は、予測スクロール位置記憶部１１４に記憶されている予測されたスクロール位置に基づいて、各従属データの提示時間を算出する。
【００４８】
可視化優先度算出部５０３は、従属データ提示時間算出部５０１から各従属データの提示時間を取得し、提示時間が長い従属データほど優先度が高くなるように、各従属データの優先度を決定する。また、可視化優先度算出部５０３は、提示レイアウト記憶部１０４から全体のレイアウトの情報を取得し、全体のレイアウトと、従属データとその優先度とのデータ対（従属データ、優先度）と、を関連付ける。可視化優先度記憶部５０２は、可視化優先度算出部５０３が従属データごとに算出した優先度を取得し、全体のレイアウトと、従属データとその優先度とのデータ対（従属データ、優先度）とを記憶する。
【００４９】
可視化順序ソート部５０４は、可視化優先度記憶部５０２に記憶されているデータ対を優先度の大きい順にソートし、可視化優先度記憶部５０２に記憶されているデータ対をソート順に取り出せるようにする。
【００５０】
可視化指示部５０５は、並び替えられたデータ対の優先度の大きい従属データから順に可視化を従属データ可視化部１０９に指示する。
【００５１】
次に、図５に示した可視化順序決定部を含む装置部分で優先度を求める動作の一例について図６を参照して説明する。図６は、レイアウト決定処理が完了し、主データが提示された段階で優先度を求める手順の一例を示している。  
スクロール位置履歴記憶部１０８が過去のスクロール位置を取得し記憶する（ステップＳ６０１）。
【００５２】
スクロール位置予測部１１３がスクロール位置履歴記憶部１０８に記憶されているスクロール位置に基づいて将来のスクロール位置を予測する。そして、予測スクロール位置記憶部１１４が予測されたスクロール位置を記憶する（ステップＳ６０２）。
【００５３】
従属データ提示時間算出部５０１が、予測スクロール位置記憶部１１４に記憶されている予測されたスクロール位置に基づいて個々の従属データの提示時間を算出する（ステップＳ６０３）。
【００５４】
可視化優先度算出部５０３が、各従属データについて優先度を算出し、データ対（従属データ、優先度）を得る。そして、可視化優先度記憶部５０２が、全ての従属データについてデータ対を記憶する（ステップＳ６０４）。可視化順序ソート部５０４が可視化優先度記憶部５０２に記憶されているデータ対を優先度の大きい順にソートし、可視化優先度記憶部５０２に記憶されているデータ対をソート順に取り出せるようにする。可視化順序ソート部５０４は、提示時間が長い従属データほど優先度が高くなるようにしてソートする。
【００５５】
なお、例えば、決められた順序を従属データの可視化順序の決定手法に利用するのであれば、ステップＳ６０４の後に、可視化順序ソート部５０４が、可視化優先度記憶部５０２に記憶されたデータ対を優先度の大きい順にソートし、可視化指示部５０５では並び替えられたデータ対の上位のデータから順に可視化を指示すればよい。
【００５６】
過去のスクロール位置の記憶（ステップＳ６０１）では、スクロール位置を周期的に（例えば１秒ごとに）記録することで実現できる。
【００５７】
未来のスクロール位置の予測（ステップＳ６０２）では、例えば過去ｎ（ｎ＝２，３，…）個のスクロール位置を利用し、多項式関数により外挿を行うことで実現できる。具体的には、例えば、（１）ｎ＝２として過去の２つのスクロール位置から直線の係数を求める、（２）過去のｎ個のスクロール位置に基づき（ｎ−１）次曲線の係数を求める、（３）時刻をｔ、スクロール位置をｙとした直線の式ｙ＝ａｔ＋ｂを立てて（ａ，ｂは係数）、係数ａ，ｂについて最小２乗解を求める、といった手法により行うことができる。すなわち、時刻とスクロール位置の関係を表す多項式を求め、得られた多項式に将来の時刻を与えることで、スクロール位置を予測できる。
【００５８】
個々の従属データの提示時間（ステップＳ６０３）では、レイアウト決定処理で定められたレイアウト、将来の時刻において予測された位置、および表示中のスクロール位置から、各従属データが将来の各離散時刻で提示されているかを調べ、その回数を数えることで算出できる。なお、スクロール位置を予測する範囲は予め決めておくものとする。
【００５９】
個々の従属データの優先度（ステップＳ５０４）は、例えば、算出した提示時間をそのまま優先度とすればよい。
【００６０】
次に、未来のスクロール位置を予測する手法の別例について図７を参照して説明する。  
優先度の算出手法において将来のスクロール位置を予測する手法としては、図７に示すように、上記の例の他に、あらかじめスクロール位置を予測するための学習を行っておき、学習データに基づいて予測を行う次の手法も利用できる。
【００６１】
スクロール位置の学習では、まず対象とする複合ドキュメントを従来の可視化順序で可視化して提示する提示装置（あるいは提示プログラム）、および学習用の複合ドキュメントを多数準備する。このとき、周期的にスクロール位置を取得し、得られたスクロール位置を時刻とともに記録する機能を提示装置に持たせておく。
【００６２】
学習は例えば次のように行う。まず、最低１名以上（人数は問わないが、多いほどよい）の被験者に対し、上記の装置を介して複合ドキュメントの閲覧を行ってもらう。このとき、閲覧中の時刻とスクロール位置とを記録しておく。時刻とスクロール位置との組が得られたら、連続するｎ個スクロール位置（スクロール位置パターン履歴）およびその後の連続するｍ（ｍ＝２，３，…）個のスクロール位置（予測スクロール位置パターン）の対を学習データとしてデータベースに保存する。このとき、スクロール位置として絶対位置を保存するのではなく、例えば現在の時刻を０とした相対値に変換した値を保存しておく。  
学習後の予測では、先の多項式による予測と同様に、まずｎ個のスクロール位置を取得する。ｎ個のスクロール位置（ベクトルで表現できる）が得られたら、そのベクトルを現在の時刻を０とした相対値に変換し、変換後のスクロール位置とデータベース内で最も近いスクロール位置パターン履歴を探す。検索の終了後、見つかったスクロール位置パターン履歴に関連付けられた予測スクロール位置パターンを予測位置とする。なお、学習後の予測において、スクロール位置として左上、幅、高さを用いる場合であっても、スクロール位置は左上の点のみとしてもよい。
【００６３】
また、データベースのスクロール位置パターン履歴と取得したベクトルが大きくずれている（ベクトルの差の大きさがしきい値以上である）場合は予測不可能とみなし、前記の線形予測や多項式予測を用いるようにしてもよい。データベースに記録する値は、例えばスクロール位置が水平・垂直の２次元で表されている場合、水平・垂直位置を独立と考えて１次元のデータとして学習データベースを構築してもよいし、２次元のデータとしてもよい。１次元のデータベースを作る場合、水平位置も垂直位置も統計的性質が同じだと考えて１つのデータベースに保存してもよいし、水平位置と垂直位置のそれぞれについて別々のデータベースを用意してもよい。
【００６４】
従属データの種類が複数あり、それらが区別できる場合、従属データの種類に応じて優先度を変えることも有用である。例えば、ＨＴＭＬで記述され、ＧＩＦと呼ばれる２５６色以下の表現能力を持つ画像と、ＪＰＥＧと呼ばれるフルカラーの表現能力を持つ画像の２種類を含む複合ドキュメントを、超解像により可視化することを考える。また、ＧＩＦよりもＪＰＥＧのほうが、ユーザが超解像による可視化を望むことが多いと事前に仮定している（知識として持っている）ものとする。従属データの種類を考えない場合、先に述べた手法で出力された優先度をそのまま使うため、ＧＩＦ、ＪＰＥＧにかかわらず提示時間が長いものが優先される。
【００６５】
これに対し、予め従属データの種類ごとに従属データ重要度を表す定数を決めておき、出力された優先度に対して従属データ重要度を掛ける（あるいは足す）ようにすれば、例えばＪＰＥＧの優先度を上げることができる。なお、前記の例は掛けるあるいは足すという操作を示したが、従属データ重要度をｘ、出力優先度をｙとしたときに、各従属データの種類について、予めｙ＝ｆ（ｘ）という関数の形とその係数を定めておき、従属データの種類に対応した関数に基づき、優先度を修正してもよい。
【００６６】
上記の例では複合ドキュメントの各従属データは静止画である。従属データが静止画と動画を含む場合のように、可視化処理や提示処理の内容が大きく変わる場合でも、優先度の制御は有効である。例えば、複合ドキュメントが静止画像と後述の動的コンテンツを含む場合を考える。静止画像の可視化処理においては、ファイル入力（例えば、ディスクからのファイルの読み込み、あるいはネットワークを介したサーバからのファイルのダウンロード）、入力されたファイルの解析（圧縮された静止画像であればそのデコード）、ビットマップデータへの変換を行うことができる。静止画では、提示すべき従属データは変化しないため、ビットマップデータへの変換を超解像のように高品質な手法で行うことができる。
【００６７】
一方、動画像やスクリプトのような動的コンテンツの可視化処理では、例えば、提示すべき従属データが時間とともに変化するため、可視化処理はファイル入力および入力されたファイルのヘッダ情報の解析にとどめ、圧縮された画像のデコードやスクリプトの実行は提示処理に含めてもよい。この場合、動的コンテンツの提示処理に対して常にある程度の計算時間が必要とされるため、他の従属データの可視化処理に使える計算時間が少なくなる。この場合、従属データ重要度を使わないと、静止画像の可視化処理に割り当て可能な計算時間が少なすぎて可視化までの時間が長くなりすぎることがある。この問題を解決するには、静止画像の種類に対して優先度が高くなるように従属データ重要度を設定しておき、静止画像を先に可視化すればよい。
【００６８】
また、可視化処理によっては、パラメータ設定により可視化処理の速度と品質のトレードオフ（いずれか一方を向上させると他方の性能が落ちる関係）を制御できることがある。例えば、従属データとしてＤＣＴ（discrete cosine transform）あるいはウエーブレット変換で変換を行ってから圧縮された圧縮画像データを持つ複合ドキュメントがファイルとして保存されていて、従属データの可視化処理はその圧縮解除（デコード）であるものとする（このような状況は、複合ドキュメントが例えばワードプロセッサソフトウェア用のデータであるときにしばしば起こる）。このとき、速度が重要であれば、圧縮画像データの高域周波数成分をデコードに使わないようにすれば、品質を犠牲にして速度を向上させることができる。
【００６９】
また、例えば、特開２００３−１８３９８号公報に記載の超解像では小領域ごとにトレーニング用データベースから検索を行うステップを持つが、このときデータベース内のすべての候補を検索するのではなく、パラメータとして設定した数だけしか検索しないことで、品質を犠牲にして速度を上げることができる。可視化処理に速度と品質のトレードオフが存在する場合、優先度が高い従属データほど可視化の品質も重要であると考えて、優先度が高い従属データの可視化処理の品質が高くなるようにパラメータを設定してもよい。
【００７０】
なお、以上の実施形態では可視化処理の順序の設定手法について述べたが、基本ソフトウェアとしてスレッドに対応したマルチタスクＯＳを用いる場合で、超解像のように可視化処理にかかる時間の主要な部分が計算時間であるならば、従属データごとにスレッドを割り当て、従属データの優先度が高いほどその従属データの可視化処理に割り当てる計算時間を多くすることでも、可視化処理の順序を変えることができる。
【００７１】
また、スクロール位置を変更する手法は入力デバイスに依存する。例えば、入力デバイスとしてパソコンに接続されたマウスやタブレットを利用する場合は、提示装置にスクロールバーを表示し、それをボタンやペン先を用いてドラッグ（つまんで移動）させるユーザインターフェースを提供するとよい。また、入力デバイスが携帯電話やキーボード、テレビ用のリモコンが持つ上下左右ボタンであれば、各ボタンが押されたときのスクロール位置の移動量を予め定めておき、ボタンが押されるたびに定められた量だけスクロール位置を移動させる手法を用いるとよい。また、ボタンの移動がＨＴＭＬを可視化・提示した際のリンク位置の移動指示を行う場合のように、スクロール位置の移動とフォーカスの移動の両方を行う場合は、各ボタンが押された場合にフォーカスを移動し、フォーカスの位置が提示領域外となる場合にスクロール位置もあわせて移動させてもよい。
【００７２】
本実施形態に述べた手法により優先度付けを行うことで、スクロールにより提示される重要なデータを優先的に可視化でき、重要なデータをユーザに提示するまでの時間を短縮することができる。
【００７３】
次に、本実施形態のスクロール位置予測装置により、ユーザに自動スクロールを提供する手法について図８、図９を参照して説明する。図８は、この応用例でのスクロール位置予測装置のブロック図であり、図９は、自動スクロール機能を提供する場合の図８のスクロール位置予測装置の動作の一例を示すフローチャートである。   
本発明によりスクロール位置の予測を行えば、例えば、次のような自動スクロール機能を提供できる：１．ユーザがボタンを適当なタイミングで数回押すと、ボタンが押されたタイミングにあわせてスクロールが自動的に行われる。２．自動スクロールにより都合の悪いスクロールが行われたときには、ユーザは再度ボタン操作を行う。
【００７４】
この応用例でのスクロール位置予測装置は、図８に示すように、スクロール入力部８０１、スクロール位置更新部８０２、スクロール位置予測部８０３、インターバルタイマ８０４、スクロール位置記憶部８０５、画面データ入力部８０６、画面データ提示部８０７を含んでいる。
【００７５】
スクロール入力部８０１は、スクロールを行うための操作がされた場合にその操作情報を取得する。スクロール入力部８０１は、例えば、スクロール操作のためのボタンが押下された場合、ボタンが押下状態であるという情報を取得する。
【００７６】
スクロール位置更新部８０２は、スクロール入力部８０１により操作されたことにより変更されたスクロール位置を取得する。スクロール位置記憶部８０５は、スクロール位置更新部８０２が取得したスクロール位置を記憶する。スクロール位置更新部８０２は、スクロール位置予測部８０３から送られてきた後述する指示にしたがって、スクロール位置記憶部８０５に記憶されているスクロール位置を更新する。このとき、スクロール位置記憶部８０５は過去のスクロール位置を別途定めた数だけ保持しておく。この数は、スクロール位置予測部８０３で予測に必要な数に対応する。
【００７７】
インターバルタイマ８０４は、定期的にスクロール入力部８０１を駆動する。この場合、スクロール入力部８０１は、インターバルタイマ８０４で決定される周期で定期的にスクロール位置を取得する。なお、入力状態の取得は必ずしも定期的に行わなくてもよい。例えば、入力をイベントとしてイベント駆動するハードウェアあるいはソフトウェアにおいては、入力状態の取得はイベントが発生したときに行えばよい。
【００７８】
スクロール位置予測部８０３は、スクロール入力部８０１がスクロール位置を取得したか否かを定期的に取得し、スクロール位置を取得している場合には入力されたスクロール位置とこのスクロールが行われた時刻を取得し、スクロール位置を取得していない場合にはスクロール位置記憶部８０５に記憶されているスクロール位置の履歴を利用して、例えば、上記のステップＳ６０２で説明した手法で、未来のスクロール位置を予測する。スクロール位置予測部８０３は、スクロール位置を取得している場合には、取得したスクロール位置にしたがって、最新のスクロール位置をこのスクロール位置に更新するようにスクロール位置更新部８０２に指示する。スクロール位置予測部８０３は、スクロール位置を取得していない場合には、予測したスクロール位置にしたがって、最新のスクロール位置をこのスクロール位置に更新するようにスクロール位置更新部８０２に指示する。
【００７９】
画面データ入力部８０６は、画面データを例えば、画面データソースから取得する。画面データ提示部８０７は、画面データ入力部８０６から取得した画像データを取得し、スクロール位置記憶部８０５から現在のスクロール位置を取得し、このスクロール位置に画像データを提示する。
【００８０】
次に、図８のスクロール位置予測装置の動作の一例について図９を参照して説明する。  
スクロール操作の入力状態を定期的に取得する（ステップＳ９０１）。例えば、インターバルタイマ８０４が定期的にスクロール入力部８０１を駆動し、スクロール入力部８０１は駆動されるたびにボタンの押下状態の取得を行う。なお、スクロール入力部８０１は、入力状態の取得を必ずしも定期的に行わなくてもよい。例えば、入力をイベントとしてイベント駆動するハードウェアあるいはソフトウェアにおいては、状態の取得はイベントが発生したときに行えばよい。
【００８１】
スクロール位置予測部８０３は、スクロール操作の入力の有無を定期的に調べる（ステップＳ９０２）。例えば、スクロール位置予測部８０３を、インターバルタイマ８０４を利用して定期的に駆動させる。スクロール操作の入力がある場合はステップＳ９０３に制御を移し、スクロール操作の入力がない場合はステップＳ９０５に制御を移す。
【００８２】
スクロール位置予測部８０３は、入力されたスクロール操作と、スクロール操作が行われた時刻を記録する（ステップＳ９０３）。
【００８３】
スクロール位置予測部８０３は、受理された入力にしたがって、スクロール位置更新指示をスクロール位置更新部８０２に送る（ステップＳ９０４）。スクロール位置更新部８０２は、スクロール位置予測部８０３から送られてきた指示にしたがって、スクロール位置記憶部８０５に記憶されているスクロール位置を更新する。このとき、スクロール位置記憶部８０５は過去のスクロール位置を別途定めた数（スクロール位置予測部８０３で予測に必要な数）だけ保持しておく。処理後、ステップＳ９０１に戻る。
【００８４】
スクロール位置予測部８０３は、記録されたスクロール位置の履歴を利用して未来のスクロール位置を予測する（ステップＳ９０５）。
【００８５】
スクロール位置予測部８０３は、予測されたスクロール位置にしたがって、スクロール位置更新指示をスクロール位置更新部８０２に送る（ステップＳ９０６）。スクロール位置更新部８０２は、送られてきた指示にしたがって、ステップＳ９０４と同じ方法でスクロール位置記憶部８０５を更新する。処理後、ステップＳ９０１に戻る。
【００８６】
なお、ステップＳ９０６において、スクロール操作の入力がない場合にスクロール位置の更新指示を常に送るのではなく、例えば次の方法でスクロール位置の更新指示を制御することで、ユーザがボタンを数回押した場合のみ自動スクロールを動作させることができる。すなわち、あらかじめ、スクロール操作の連続入力回数と無入力時間を保持するメモリ（図示せず）をそれぞれ準備しておき、それらを所定の値（例えば０）で初期化しておく。ステップＳ９０３でスクロール操作を受理したときには、連続入力回数を１増やし、無入力時間を０とする。ただし、無入力時間が別途定めた無入力しきい値を超えていれば過去の連続入力回数を所定の値に戻してから、連続入力回数を１増やし、無入力時間を０とする。ステップＳ９０６では、連続入力回数が別途定めた入力回数しきい値を超えていなければ、何もせずステップＳ９０１に戻るようにする。ボタンを数回押すという操作をトリガとすることで、自動スクロールの動作がユーザの期待する場合のみ行われることが期待される。なお、連続入力回数の値に加算する値は必ずしも１でなくてもよい。
【００８７】
このようにして自動スクロールを利用すれば、ユーザのスクロール操作の回数を削減でき、使いやすいユーザインターフェースを提供できる。
【００８８】
以上に示した実施形態によれば、優先的に可視化される従属データを画面のスクロール状況にあわせて決めることより、将来ユーザに長時間提示する従属データを優先的に可視化し、提示までの遅延を減らすことができる。また、自動スクロールを利用すれば、ユーザのスクロール操作の回数を削減でき、使いやすいユーザインターフェースを提供できる。
【００８９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００９０】
【図１】実施形態のスクロール位置予測装置のブロック図。
【図２】主データの一例を示す図。
【図３】スクロール位置について説明するための図。
【図４】図１のスクロール位置予測装置の動作の一例を示すフローチャート。
【図５】図１の可視化順序決定部のブロック図。
【図６】図５の可視化順序決定部により優先度を求める動作の一例を示すフローチャート。
【図７】スクロール位置を予測するための手法の別例を説明するための図。
【図８】自動スクロールを提供するスクロール位置予測装置のブロック図。
【図９】図８のスクロール位置予測装置の動作の一例を示すフローチャート。
【符号の説明】
【００９１】
１０１…複合ドキュメント入力部、１０２…複合ドキュメント記憶部、１０３…主データ可視化部、１０４…提示レイアウト記憶部、１０５…可視化済みデータ記憶部、１０６…スクロール位置変更入力部、１０７…現スクロール位置記憶部、１０８…スクロール位置履歴記憶部、１０９…従属データ可視化部、１１０…可視化順序決定部、１１１…提示部、１１２…提示レイアウト算出部、１１３…スクロール位置予測部、１１４…予測スクロール位置記憶部、５０１…従属データ提示時間算出部、５０２…可視化優先度記憶部、５０３…可視化優先度算出部、５０４…可視化順序ソート部、５０５…可視化指示部、８０１…スクロール入力部、８０２…スクロール位置更新部、８０３…スクロール位置予測部、８０４…インターバルタイマ、８０５…スクロール位置記憶部、８０６…画面データ入力部、８０７…画面データ提示部。
【図１】
2008097453.tif 000003
【図２】
2008097453.tif 000004
【図３】
2008097453.tif 000005
【図４】
2008097453.tif 000006
【図５】
2008097453.tif 000007
【図６】
2008097453.tif 000008
【図７】
2008097453.tif 000009
【図８】
2008097453.tif 000010
【図９】
2008097453.tif 000011