(57)【要約】【課題】ユーザに対して画面を表示するようなユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから、それに対応する画面が表示されるまでの平均応答時間を可及的に短縮し、使いやすさを向上するための技術を提供する。【解決手段】ユーザが操作を入力する入力部と、ユーザ操作に対応した画像を表示する表示部と、前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部とを備えることを特徴とするユーザインタフェース装置を用いる。【選択図】図１
2010224589.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作を入力する入力部と、
ユーザ操作に対応した画像を表示する表示部と、
前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、
次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、
実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部と
を備えることを特徴とするユーザインタフェース装置。
【請求項２】
前記予測部は、ユーザが操作を入力するたびに前記操作履歴を更新するものである
ことを特徴とする請求項１に記載のユーザインタフェース装置。
【請求項３】
前記予測部は、前記予測したユーザ操作の次のユーザ操作を更に予測し、
前記生成部は、前記更に予測したユーザ操作に対応する画像を生成するための処理を行うものである
ことを特徴とする請求項１または２に記載のユーザインタフェース装置。
【請求項４】
前記予測部は、前記入力された操作の次のユーザ操作を複数個予測し、
前記生成部は、前記複数個の予測されたユーザ操作のそれぞれに対応する画像を生成するための処理を行うものである
ことを特徴とする請求項１または２に記載のユーザインタフェース装置。
【請求項５】
前記予測部は、前記操作履歴のうち、より最近に行われた操作を重視して前記予測を行うものである
ことを特徴とする請求項２に記載のユーザインタフェース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を生成してユーザに表示するユーザインタフェース装置に関するものである。
【背景技術】
【０００２】
ユーザインタフェース装置を設計するに当たっては、ユーザの操作に対する応答が素早く行われるようにすることが必要である。平均応答時間を短縮すればするほど、ユーザにとってストレスが少なく、使いやすいユーザインタフェース装置になると言える。画像を生成してユーザに表示する方式のユーザインタフェース装置であれば、ユーザが操作をすると、素早くそれに対応する画像が表示されることが望まれる。
【０００３】
しかし、画像生成や表示といった画像処理は計算量が大きいため処理フローにおけるボトルネックになりやすい。また、画像処理速度はＣＰＵやメモリの性能に左右される傾向がある。特に、組込みシステムでは一般にＣＰＵやメモリの性能が制約される場合が多く、平均応答時間が長くなってユーザにストレスを与えがちである。また、可搬メモリやネットワークなど装置外部から画像データを読み出して表示する場合、アクセス速度やデータサイズによっては処理時間が長くなることがある。
【０００４】
従来から、ユーザの操作に対する平均応答時間を短縮するために、必要なデータを先読みしてバッファに蓄積するようなユーザインタフェース装置が設計されていた。しかし、設計者の経験に基づいて必要なデータを予測していたため、応答時間をどの程度短くできるかは設計者の技量に依存するものであったし、ユーザの特性に合わせて柔軟に予測パターンを変えることはできなかった。そのため予測の精度が十分とは言えなかった。
【０００５】
他にも従来から、ある状態でのユーザの操作内容を記録しておき、同じ状態になったら記録を参照して必要なデータを推定して先読みするユーザインタフェース装置もあった。しかしこの場合、直前のユーザの入力が予測に過剰な影響を与えることがあった。
【０００６】
特開平８−７６９５５号公報（特許文献１）では、表示された選択肢に対するユーザの操作を収集してユーザの選択操作の特徴を表す操作モデルを作り、その操作モデルに基づいた処理を行うユーザインタフェースについて記述している。しかし、特許文献１は画像に選択肢を表示する順序などに関する処理に限定されており、画像表示におけるユーザの操作に対する平均応答時間が長くなることは避けられない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−７６９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、ユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから画像が表示されるまでの平均応答時間を可及的に短くするための技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のユーザインタフェース装置では以下の構成を採用する。すなわち、ユーザが操作を入力する入力部と、ユーザ操作に対応した画像を表示す
る表示部と、前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部とを備えることを特徴とするユーザインタフェース装置である。
【００１０】
このような構成のユーザインタフェース装置によれば、ユーザの次の操作を予測し、操作に対応する画像を生成するための処理をあらかじめ行うことができる。その後ユーザが実際に行った次の操作が予測と一致していれば生成した画像を出力するだけで済むので、改めて時間のかかる画像処理を行う必要が無くなり、応答時間を短縮することができる。
【００１１】
一方、予測が外れた場合は生成した画像が不要になってしまう。このように結果が不要になるかも知れない処理を前もって行うことを投機的実行と言い、投機的実行の処理を繰り返したときに平均応答時間を短縮できるかどうかは、予測の精度に左右される。上記のユーザインタフェース装置について予測の精度を見ると、ユーザの操作履歴に基づいて次の操作を予測する構成を取っているので、ユーザの特性に応じた予測が可能である。そのため精度の高い予測を行って平均応答時間を短縮することができる。
【００１２】
あらかじめ行う処理としては例えば、装置に接続された可搬メモリや外部ネットワークといった装置外部から画像データを取得する処理が考えられる。これらの処理は画像データのサイズやアクセス速度によっては時間がかかる。そこで上記の構成を取って投機的実行をすれば、これら時間のかかる処理をあらかじめ行うことができるので平均応答時間を短縮することが可能になる。
【００１３】
本発明のユーザインタフェース装置ではさらに、前記予測部はユーザが操作を入力するたびに前記操作履歴を更新する構成を取ることができる。
【００１４】
投機的実行による画像生成では、ユーザの操作予測の精度が向上すればする程、平均応答時間を短縮することができる。したがって、ユーザが操作を繰り返すにつれて予測精度が向上していくことが好ましい。上記のようにユーザが操作を入力するたびに操作履歴を更新するような構成であれば、操作の傾向の把握を段々と正確に行えるようになり、予測精度が向上していく。またユーザの行動は状況や周囲の環境に応じて変化する可能性があるが、上記の構成であればユーザの操作の傾向が変わるのに応じて予測結果も変化していく。これにより、ユーザインタフェース設計者の技量に依存することなく、時々刻々と変化するユーザの特性に応じた柔軟な予測が可能になる。また、これまでの操作の履歴が予測に反映されているので、直前のユーザの操作が予測結果に過剰に影響を及ぼすことはない。
【００１５】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記予測したユーザ操作の更に次のユーザ操作を予測し、前記生成部は前記更に予測したユーザ操作に対応する画像を生成するための処理を行う構成を取ることができる。
【００１６】
このような構成を取ることにより、連続するユーザ操作の複数ステップを予測し、それぞれに対応する画像を素早く表示することができるようになる。例えば次のステップの処理は時間がかからないが、２つ先のステップの処理は負荷の重い画像処理であるような場合、必要な処理をあらかじめ実行しておくことによって、予測が当たった場合の応答時間を短縮することが可能になる。
【００１７】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記入力された操作の次のユーザ操作を複数個予測し、前記生成部は前記複数個の予測されたユーザ操作のそれぞ
れに対応する画像を生成するための処理を行う構成を取ることができる。
【００１８】
このような構成を取ることにより、ユーザ操作が予測に一致する可能性を増やして平均応答時間を短縮することができる。予測する操作の個数は、個数そのものを定めても良いし、操作がなされる確率によって定めても良い。確率によって定める方法としては例えば、確率が大きい操作から順番に確率を加算して行き、確率が所定のパーセンテージになった時点で予測を止めるような方法がある。
【００１９】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記操作履歴のうち、より最近に行われた操作を重視して前記予測を行う構成を取ることができる。
【００２０】
ユーザの操作の傾向は常に一定であるとは限らないし、ユーザインタフェース装置を使うユーザが変わる可能性もある。このような構成を取ることにより、ユーザ特性の変化に柔軟に対応した予測を行い、操作に対する平均応答時間を短縮することができるようになる。
【発明の効果】
【００２１】
本発明によれば、ユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから画像が表示されるまでの平均応答時間を可及的に短くすることができるようになる。
【図面の簡単な説明】
【００２２】
【図１】処理の概要を示すフローチャート。
【図２】複合機のブロック図。
【図３】カード印刷機能の画面遷移図。
【図４】カード印刷機能の状態遷移の確率を説明するための図であり、図４（ａ）は状態遷移図、図４（ｂ）は推移確率行列である。
【図５】投機的実行時のブロック間制御を示す図。
【発明を実施するための形態】
【００２３】
＜実施形態１＞
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【００２４】
（処理の概要）
図１のフローチャートを用いて、本実施形態の処理の概要を説明する。ステップＳ１０１ではユーザに対して画面を表示する。この画面はユーザの操作により後続画面が分岐するような画面である。ステップＳ１０２では、過去の操作履歴に基づいてユーザの操作を予測する。ステップＳ１０３では投機的実行を行う。すなわち、予測したユーザの操作に対応する画面を生成するための処理を行う。ステップＳ１０４では、ユーザが実際に操作を入力する。そしてステップＳ１０５で、予測と実際の操作が一致したかどうか判定する。予測と操作が一致した場合（Ｓ１０５＝Ｙ）はステップＳ１０６に進み、Ｓ１０３の前処理に基づいて、操作に対応する画面を生成する。一方予測が外れた場合（Ｓ１０５＝Ｎ）はステップＳ１０７に進み、操作に対応する画面を生成する。ステップＳ１０８では生成した画面を表示する。ステップＳ１０９では操作履歴を更新する。
【００２５】
（ユーザの操作予測方法）
続いて、ステップＳ１０２におけるユーザの操作予測がどのように行われるかの例として、推移確率行列を参照して予測を行う方法を説明する。次に表示され得る画面は現在の画面のみに依存するとした場合、画面遷移は単純マルコフ過程ととらえることができる。ここで、画面の種類、すなわち状態がｎ種類ある場合について、状態遷移行列Ｔと推移確
率行列Ｐというものを考える。式（１）に示した状態遷移行列Ｔはｎ×ｎ行列であり、ある状態から別の状態に遷移した回数を記録するために用いられる。例えば、今までに状態ｒから状態ｓへの遷移が５回起こっていた場合、Ｔｒｓ＝５である。式（２）に示した推移確率行列Ｐもｎ×ｎ行列であり、ある状態から別の状態に遷移する確率を表す。例えばＰｒｓ＝０．２０であれば、状態ｒから状態ｓへ遷移する確率は２０％となる。このように、推移確率行列Ｐを参照して次のユーザ操作を予測することができる。
【数１】
2010224589.tif 000003
【００２６】
推移確率行列Ｐを参照した操作予測には、さまざまなバリエーションが考えられる。まず、単純に、次に遷移する確率が最大となる画面を予測する方法がある。これはＰｒ１〜Ｐｒｎの中から最大値を選べばよい。また、次の操作を複数予測することもできる。例えばＰｒ１〜Ｐｒｎの中から上位３個の遷移先を選ぶ方法や、選んだ遷移先の確率の合計が５０％になるまで選ぶ方法である。また、直後の操作だけではなく、複数先のステップまで予測することもできる。例えば今の画面がｒであり、Ｐｒ１〜Ｐｒｎの中の最大値がＰｒｓだったとすると、遷移先はｓだと予測できる。そこで引き続いてＰｓ１〜Ｐｓｎを比較し、最大値がＰｓｔであれば、ｓの次の遷移先はｔだと予測できる。このときｒ、ｓ、ｔの順に遷移する確率はＰｒｓ×Ｐｓｔとなる。これを一般化すると、ｒの２つ先のステップがｔになる確率、すなわち、間のステップｘが何であろうと、ｒ、ｘ、ｔの順に遷移する確率が式（３）により求められる。なお、上記のバリエーションは、装置の計算能力や必要とする予測精度に応じて適宜組み合わせて実行することができる。
【数２】
2010224589.tif 000004
【００２７】
（画面生成のための処理の実行方法）
続いて、ステップＳ１０３における画面生成のための処理について説明する。この処理は投機的実行であり、時間のかかる画像処理を行うことで応答時間を効率的に短縮することができる。ユーザインタフェース装置においてはさまざまな画像処理がある。例えば、メモリカードや外部ネットワークから画像データを取得する処理はアクセス速度の問題から時間がかかる。また、取得した画像を表示するときに縮小等の加工を施す場合は更に時間がかかる。また、表示される画面のフレームやアイコン、文字列等のパーツが圧縮され格納されている場合は、データを解凍し、メモリに展開する処理にも時間を要する。
【００２８】
したがって、当ステップでの処理にもさまざまなバリエーションが考えられる。まず当然ながら、ユーザに表示する画面を作成する処理そのものが挙がる。そして作成した画面をバッファメモリに格納するところまで投機的に実行しておく。すると予測が合っていた場合はバッファメモリから出力するだけで済むので、応答時間を短縮することができる。
必ずしも表示する画面全体でなくても、一部分を作成できればある程度の応答時間短縮効果は得られる。また、メモリカード等からの画像データ取得、縮小画像等の加工処理、あるいはフレーム等のパーツの展開を投機的に実行しておくことでも、応答時間の短縮効果は得られる。
【００２９】
（操作履歴の更新方法）
続いて、ステップＳ１０９において操作履歴がどのように更新されるかを説明する。遷移が１度も起こっていない初期状態では、状態遷移行列Ｔの要素はすべて０である。また推移確率行列Ｐには、何らかの初期値、例えば全要素に等しい値を入れておけば良い。そしてユーザが実際に操作を行い画面が遷移するたびに、行列ＴおよびＰを更新していく。式（１）と式（２）で言えば、状態ｒにおいてユーザが状態ｓへの遷移を選択した場合、状態遷移行列のＴｒｓに１をプラスし、推移確率行列Ｐのｒ行目のＰｒ１〜Ｐｒｎを再計算して更新する。
【００３０】
＜実施例１＞
以下に、複合機のユーザインタフェース装置の画像表示方法を例として説明する。複合機はスキャナ、コピー、ファクシミリおよびカード印刷（ユーザが接続したメモリカードから画像データを読み込み、必要に応じて画像補正して印刷する機能）の各機能を備えている。ここではカード印刷の実行中にユーザに表示する画像を投機的実行により生成する方法について説明する。
【００３１】
（装置の構成）
図２のブロック図を用いて、複合機１に用いられるユーザインタフェース装置の各ブロックについて説明する。ユーザインタフェース装置２は複合機１に接続されている。タッチパネルディスプレイ３はユーザが触れた位置を検出できる液晶ディスプレイ等で作られている。タッチパネルディスプレイ３はユーザの入力を受け付ける入力部であり、かつ、ユーザに画像を表示する表示部でもある。タッチパネルディスプレイ３が入力を受け付ける際には画像の中にボタン等を表示して待機し、ユーザがボタンを押した場所の位置情報を入力制御部１０１に送る。入力制御部１０１は画像中のボタンの位置と、タッチパネルディスプレイ３から受け取った位置情報に基づいてどのボタンが押されたか判断し、ユーザの操作の内容として制御部１０２に送る。
【００３２】
制御部１０２は画像の生成および表示を制御する。制御部１０２は、入力制御部１０１からユーザの操作を受け取る。そして必要に応じて受け取ったユーザの操作を予測部１０３に送り、次回のユーザの操作を予測するように要求する。そして予測部１０３から送られてきた予測結果とあらかじめ定められた画面遷移のフローとに基づいて生成すべき画像を決定する。制御部１０２はまた、生成部１０４に対して画像生成指示を出す（後述するように、画像生成指示に代えてバッファメモリ１０５への画像出力指示を行う場合もある）。画像生成指示を出す際には、投機的実行かどうかによってバッファメモリ１０５かタッチパネルディスプレイ３のいずれかを出力先とする。予測部１０３は、制御部１０２からの予測の要求を受けると、推移確率行列に基づいて次回ユーザが行う確率の高い操作を予測し制御部１０２に返す。
【００３３】
生成部１０４は、制御部１０２から指示を受けて画像を生成する。その際、画像の基本的な構成パーツ（例えばフレーム、アイコン、文字列など）は内部メモリ１１２から取得する。内部メモリ１１２にはこれらの構成パーツの画像データが圧縮されて格納されており、生成部１０４は必要に応じてデータを取り出し解凍して使用する。画像データとしては他に、装置に接続されたメモリカード１１３に格納されているものや、外部ネットワーク１１４から取得するものもある。生成部１０４は、これらの画像データを外部データ制御部１１１経由で取得する。生成部１０４は、生成した画像を、制御部１０２からの指示
に応じてバッファメモリ１０５またはタッチパネルディスプレイ３に出力する。バッファメモリ３は書き換え可能な記憶装置であり、生成部１０４から受け取った画像を格納し、制御部１０２から出力指示があればタッチパネルディスプレイ３に出力する。
【００３４】
（画面遷移）
図３の画面遷移図を用いて、タッチパネルディスプレイに表示される画面の遷移とその条件、遷移時に行われる処理について説明する。画面遷移図における一つの画面は、後述する図４（ａ）における一つの状態に対応している。（状態１）はトップメニューであり、複合機が待機状態であるときに表示されている。ユーザはまずここで利用する機能を選択し、対応するボタンを押す。本実施形態では必ず「カード印刷」を選択するものとし、以下カード印刷の機能に限定して説明する。ユーザが「カード印刷」ボタンを押すと、（状態２）に移行する。
【００３５】
（状態２）はカード印刷トップ画面である。ここでは、「全部印刷」と「選んで印刷」から操作を選択することができる。「全部印刷」はメモリカード内の画像データを全て印刷するものであり、「選んで印刷」はユーザが画像を選択して印刷するものである。本実施形態においては、ユーザの処理の分岐はこの（状態２）でのみ起こるものとする。言い換えると、投機的実行による画像生成はここで行われる。
【００３６】
ユーザが「選んで印刷」のボタンを押した場合、（状態３）に移行する。（状態３）はユーザが画像を選択するための画面である。生成部が制御部から画像生成指示を受けると、外部データ制御部を経由してメモリカードから画像を読み込んで縮小画像を作る。そして、縮小画像をサムネイルとして一覧表示する。ユーザは画像一覧を見て印刷すべき画像を選択し、サムネイルを押す。これにより（状態４）に移行する。
【００３７】
（状態４）はメモリカードの画像を個別に表示し、印刷準備をするための画面であり、ユーザが選んだ画像が表示されている。（状態４）では用紙の設定を行う「用紙設定」と、機械が自動的に画像を補正してくれる「画像補正」の２つのボタンがあるが、ここでは単純化のために全ての画像について「画像補正」を押し（状態５）に移行するものとする。（状態５）は補正された画像をユーザが確認するための画面である。ユーザは画面左側の画像を見て、問題なければ「印刷」ボタンを押して印刷する。印刷が完了したら処理を終了しても良いし、（状態３）に復帰してユーザに他の画像を選択させるようなフローにしても良い。
【００３８】
一方、（状態２）でユーザが「全部印刷」のボタンを押した場合、メモリカードの先頭の画像を表示し、直接（状態４）に移行する。そして用紙設定か画像補正を行うが、ここでは単純化のために画像補正を選択する。そして（状態５）に移行し、補正された画像を印刷する。印刷が完了したら、メモリカードの次の画像を表示し、（状態４）に復帰すれば良い。かかる処理をメモリカードの画像の最後まで実行し、処理を完了する。
【００３９】
なお、上記のいずれの状態においても、１つ前の段階に戻るための「戻る」ボタンや、トップメニューに戻るための「トップ」ボタンを設けて遷移を容易にしても良い。
【００４０】
図４を用いて、遷移の確率という観点から説明する。図４（ａ）の状態遷移図において、丸数字の１〜５はそれぞれ状態１〜５に対応し、Ｐｎｍは状態ｎから状態ｍへ遷移する確率を表す。本実施形態では、処理の分岐が起きるのは（状態３）か（状態４）に分かれる時だけになるよう単純化したので、投機的実行で画面を生成するのは（状態２）の処理の後である。また、図４（ｂ）に、しばらくユーザ操作を繰り返した後の推移確率行列Ｐの例を示した。フロー上遷移が起こり得ない場所には確率０が入れてある。この例では、（状態２）から（状態３）に遷移する確率Ｐ２３＝０．８０、（状態４）に遷移する確率
Ｐ２４＝０．２０であるので、（状態３）に遷移する確率が高い。
【００４１】
（投機的実行の制御）
図５を用いて、投機的実行がなされる際のブロック間の制御を説明する。図中の縦のラインは処理を行うブロックを示し、横の矢印は制御の流れを示す。矢印の上に書かれた文字列は制御の種類を、カッコ内の文字列は受け渡されるデータを表す。
【００４２】
まず（状態１）の初期トップメニューからユーザが「カード印刷」ボタンを押す。制御部は、ユーザの操作を受け付けると、生成部にカード印刷のトップ画面を生成するよう指示する。この画面が表示されると（状態２）になる。ここからの遷移先は（状態３）と（状態４）の２種類あるので、制御部は予測部に、予測される遷移先を問い合わせる。図４（ｂ）の例では、上述したようにＰ２３＞Ｐ２４なので、予測部は「選んで印刷」が選択されるという予測結果を制御部に返す。
【００４３】
予測結果を受けた制御部は、生成部に「選んで印刷」のトップ画面を生成するよう指示する。このとき、画面の出力先をタッチパネルディスプレイではなくバッファメモリにするように指示を出しておく。指示を受けた生成部は、メモリカードから画像データを取得し、取得した各画像をサムネイル用に縮小し、内部メモリのデータと合成して画像選択画面を生成してバッファに格納する。そしてユーザの入力があるまで待機する。このように操作を予測し、画像を生成しバッファするまでの一連の処理が投機的実行にあたる。
【００４４】
なお、上記の投機的実行が行われていることはユーザの感知するところではなく、ユーザにとってはカード印刷トップ画面が表示されている（状態２）が続いているだけである。そして、予測部の予測通りにユーザが「選んで印刷」ボタンを押すと、制御部はバッファメモリに対し格納されている画像を出力するように指示を出す。画像データの外部からの転送や縮小画像を作る処理などの時間のかかる処理は前もって実行され、画面が生成済みであるので、ユーザへの応答を素早く行うことができる。
【００４５】
一方、予測とは異なりユーザが「全部印刷」ボタンを押すと、制御部は生成部に対し（状態４）の画面を生成、表示するよう指示し、バッファメモリに対しては格納されている画面を破棄するように指示する。この場合ユーザへの応答時間は投機的実行をしなかった場合と同じである。また、破棄された画像はユーザの操作を待つ間に生成されたものである。したがって、予測とは異なる操作がされたとしても、応答時間に影響が出ることはない。
【００４６】
画像選択画面が表示されると（状態３）となる。ここでユーザが画像を選択しサムネイルを押すと、制御部は選択画像表示画面を生成し表示するよう生成部に指示する。これにより（状態４）になり、選んだ画像に施す処理内容を選択するボタンが表示される。ユーザが処理内容を選択すると、処理内容に応じた後続画面が表示される。例えば「画像補正」を選択すれば、前述したように（状態５）の印刷画面に移行する。
【００４７】
制御部はまた、ユーザの操作内容を予測部に通知する。予測部は通知を受けると状態遷移行列Ｔと推移確率行列Ｐを更新する。たとえばユーザ操作が「選んで印刷」であれば、（状態２）から（状態３）への遷移であるので、状態遷移行列Ｔの要素Ｔ２３に１を足す。そして、推移確率行列Ｐのうち、Ｐ２１〜Ｐ２５を再計算し更新する。
【００４８】
以上のようにユーザインタフェース装置は、ユーザの操作に応じて表示画面が分岐する処理において、操作履歴に基づく予測結果に応じてあらかじめ画面を生成しておく。これにより、メモリカードからの画像の読み込みや縮小画像（サムネイル）を作るなどの時間のかかる処理をユーザの操作の前に済ませることができるので、組込みシステムのように
性能に制約があり画像処理に時間のかかる装置であっても、実際にユーザが操作をしてから画像が表示されるまでの応答時間が短縮される。一方予測とは異なる操作がされた場合であっても、投機的実行による画面生成はユーザの操作を待つ間になされているので、応答時間の延長にはならない。したがって、結果的に平均応答時間を短くすることが可能である。
【００４９】
また、ユーザが操作を行うごとに履歴が蓄積されてユーザモデルが更新されていくので、回数を追うごとに予測精度が向上していく。さらに、ユーザの特性の変化にも対応でき、ユーザインタフェース設計者の技量に依存することなく柔軟な予測が可能になる。
【００５０】
なお、ここでは（状態２）の時だけ投機的実行を行うようにしたが、他にも（状態１）や（状態３）のようにユーザの操作が分岐する画面であれば、投機的実行により画面を生成するための処理を実行して平均応答時間を向上させることができる。これらの状態でも内部メモリに格納されたデータを取得・解凍し、画像を生成する処理が必要であり、メモリカードとの入出力や縮小画像を作る時ほどではないものの、ユーザに感知され得る程度の処理時間がかかるからである。
【００５１】
＜変形例１＞
ここでは、実施例１とは異なる方法でユーザの操作を予測する例について説明する。実施形態１では、画面の遷移は単純マルコフ過程によって表されるものととらえている。すなわち、直前のユーザ操作のみに依存して次の操作を予測するような構成を取っている。また、予測部が予測するのは次のユーザの操作のみとし、投機的実行により生成する画面は１つとしている。しかし、これらの条件を必要に応じて適宜変更しても良い。
【００５２】
例えば、次にユーザが行う操作は、現在からＮ個さかのぼった操作によって決定されるＮ階マルコフ過程であるととらえても良い。あるいは、次の操作だけではなく、複数ステップ先の操作まで予測し、投機的実行により画面を生成しておくこともできる。この場合は遷移ごとにその遷移が起こる確率を乗じて予測を行うことになる。従来の、設計者の経験と技量に依存するユーザインタフェース設計では、このように過程が複雑になった場合には予測精度が落ちてしまい、効率的な応答時間短縮ができなかった。この変形例のように推移確率行列Ｐに基づき計算をすれば、数学的かつ柔軟に複数ステップの操作を考慮した予測を行うことができる。あるいは、次の操作を予測する際に、最も確率の高い操作だけではなく、上位ｎ個の操作を選び、それぞれの操作に対応する画面を投機的実行により生成しておいても良い。
【００５３】
以上に述べた予測方法のうちいずれを選ぶかは、画面遷移の複雑さ、ＣＰＵやメモリなど装置の性能、要求される予測精度に基づいて選択すべきである。また、複数ステップの予測と、１ステップ内の複数個の操作予測を組み合わせても良い。
【００５４】
＜変形例２＞
ここでは、ユーザ個々の操作の傾向を考慮した上で精度の高い予測を行う方法について説明する。ユーザインタフェース装置を使用する人数が増えるほど、行われる操作の傾向は多様になる。たとえば実施例１の複合機であれば、オフィス内の特定の人だけが使うときはユーザ操作の傾向が一定になるが、学校に置かれ様々な研究室の人が利用するときは操作の傾向が定まらず、予測精度がなかなか向上しない。
【００５５】
そこで、多くの人が使うユーザインタフェース装置において、ユーザＩＤにより使用者を把握できる場合、ユーザＩＤごとに状態遷移行列Ｔおよび推移確率行列Ｐを設けることが考えられる。例えば学校に置かれた複合機の例で言うと、研究室ごとにＩＤカードを用意して装置に挿入するような使用方法であれば、ユーザＩＤごとの操作履歴が容易に収拾
でき、ユーザ特性に応じた精度の高い操作予測を行って平均応答時間を短縮することができるようになる。
【００５６】
＜変形例３＞
ここでは、操作履歴に基づいて予測をする際に、最近の操作履歴を重視する方法について説明する。もしもユーザの操作の傾向が一定であれば、操作履歴を蓄積するほど予測精度が向上するし、最近の操作を重視する必要もない。しかし、ユーザの操作の傾向は変わり得るし、装置を使用するのが別のユーザになる場合もある。そのような場合に最近の操作と過去の操作を同等の重みで評価することは、かえって柔軟な予測の妨げになる可能性がある。
【００５７】
そこで、ユーザ操作後に状態遷移行列Ｔを更新する際に、最近の操作の評価値を上げたり、一定以上の期間が過ぎた過去の履歴は消去したりする方法を取ることが考えられる。これにより、ユーザの操作の傾向が変化したり、別のユーザが装置を使用するようになったりしても、その時々のユーザの特性を把握して、柔軟かつ精度の高い操作予測をすることができる。
【００５８】
ユーザの操作が行われた時期により評価値を変えることは、たとえば状態遷移行列Ｔの各要素を式（４）のような２×ｎの形式で保持することにより実現できる。式（４）では年月ごとに操作の回数が記録されており、各月の操作回数を合計することでＴｒｓの値を容易に得ることができる。また古い履歴を消去したり、操作がなされた時期に応じて評価値に重みを付けることも容易である。このような方法を取るかどうかは、必要な予測精度と計算能力のバランスを考慮して適切に定めるべきであることは言うまでもない。
【数３】
2010224589.tif 000005
【００５９】
＜変形例４＞
ここでは、初期状態、すなわちユーザの操作履歴が蓄積されていない段階であってもある程度の予測精度を得られるように、状態遷移行列Ｔおよび推移確率行列Ｐを設定する方法について説明する。
【００６０】
ユーザの操作回数が少ない間は、推移確率行列Ｐの各要素の母数が少ないため、１回の操作が予測部による予測の安定性に与える影響が大きくなりがちである。そこで、状態遷移行列Ｔの各要素に一様に初期値を与えることが考えられる。これにより、１回の操作が推移確率に与える影響を抑制することができる。あるいは、あらかじめモニターとなるユーザの操作を収集して、推移確率行列Ｐに初期値を与えておくことも可能である。これらの方法により、使用開始から間がなく操作回数が少ない時期であっても、安定した精度で予測を行うことができる。
【符号の説明】
【００６１】
３      タッチパネルディスプレイ（入力部，表示部）
１０２  制御部
１０３  予測部
１０４  生成部
【図１】
2010224589.tif 000006
【図２】
2010224589.tif 000007
【図３】
2010224589.tif 000008
【図４】
2010224589.tif 000009
【図５】
2010224589.tif 000010