説明

ユーザインタフェース装置

【課題】ユーザに対して画面を表示するようなユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから、それに対応する画面が表示されるまでの平均応答時間を可及的に短縮し、使いやすさを向上するための技術を提供する。
【解決手段】ユーザが操作を入力する入力部と、ユーザ操作に対応した画像を表示する表示部と、前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部とを備えることを特徴とするユーザインタフェース装置を用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を生成してユーザに表示するユーザインタフェース装置に関するものである。
【背景技術】
【0002】
ユーザインタフェース装置を設計するに当たっては、ユーザの操作に対する応答が素早く行われるようにすることが必要である。平均応答時間を短縮すればするほど、ユーザにとってストレスが少なく、使いやすいユーザインタフェース装置になると言える。画像を生成してユーザに表示する方式のユーザインタフェース装置であれば、ユーザが操作をすると、素早くそれに対応する画像が表示されることが望まれる。
【0003】
しかし、画像生成や表示といった画像処理は計算量が大きいため処理フローにおけるボトルネックになりやすい。また、画像処理速度はCPUやメモリの性能に左右される傾向がある。特に、組込みシステムでは一般にCPUやメモリの性能が制約される場合が多く、平均応答時間が長くなってユーザにストレスを与えがちである。また、可搬メモリやネットワークなど装置外部から画像データを読み出して表示する場合、アクセス速度やデータサイズによっては処理時間が長くなることがある。
【0004】
従来から、ユーザの操作に対する平均応答時間を短縮するために、必要なデータを先読みしてバッファに蓄積するようなユーザインタフェース装置が設計されていた。しかし、設計者の経験に基づいて必要なデータを予測していたため、応答時間をどの程度短くできるかは設計者の技量に依存するものであったし、ユーザの特性に合わせて柔軟に予測パターンを変えることはできなかった。そのため予測の精度が十分とは言えなかった。
【0005】
他にも従来から、ある状態でのユーザの操作内容を記録しておき、同じ状態になったら記録を参照して必要なデータを推定して先読みするユーザインタフェース装置もあった。しかしこの場合、直前のユーザの入力が予測に過剰な影響を与えることがあった。
【0006】
特開平8−76955号公報(特許文献1)では、表示された選択肢に対するユーザの操作を収集してユーザの選択操作の特徴を表す操作モデルを作り、その操作モデルに基づいた処理を行うユーザインタフェースについて記述している。しかし、特許文献1は画像に選択肢を表示する順序などに関する処理に限定されており、画像表示におけるユーザの操作に対する平均応答時間が長くなることは避けられない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平8−76955号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、ユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから画像が表示されるまでの平均応答時間を可及的に短くするための技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のユーザインタフェース装置では以下の構成を採用する。すなわち、ユーザが操作を入力する入力部と、ユーザ操作に対応した画像を表示す
る表示部と、前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部とを備えることを特徴とするユーザインタフェース装置である。
【0010】
このような構成のユーザインタフェース装置によれば、ユーザの次の操作を予測し、操作に対応する画像を生成するための処理をあらかじめ行うことができる。その後ユーザが実際に行った次の操作が予測と一致していれば生成した画像を出力するだけで済むので、改めて時間のかかる画像処理を行う必要が無くなり、応答時間を短縮することができる。
【0011】
一方、予測が外れた場合は生成した画像が不要になってしまう。このように結果が不要になるかも知れない処理を前もって行うことを投機的実行と言い、投機的実行の処理を繰り返したときに平均応答時間を短縮できるかどうかは、予測の精度に左右される。上記のユーザインタフェース装置について予測の精度を見ると、ユーザの操作履歴に基づいて次の操作を予測する構成を取っているので、ユーザの特性に応じた予測が可能である。そのため精度の高い予測を行って平均応答時間を短縮することができる。
【0012】
あらかじめ行う処理としては例えば、装置に接続された可搬メモリや外部ネットワークといった装置外部から画像データを取得する処理が考えられる。これらの処理は画像データのサイズやアクセス速度によっては時間がかかる。そこで上記の構成を取って投機的実行をすれば、これら時間のかかる処理をあらかじめ行うことができるので平均応答時間を短縮することが可能になる。
【0013】
本発明のユーザインタフェース装置ではさらに、前記予測部はユーザが操作を入力するたびに前記操作履歴を更新する構成を取ることができる。
【0014】
投機的実行による画像生成では、ユーザの操作予測の精度が向上すればする程、平均応答時間を短縮することができる。したがって、ユーザが操作を繰り返すにつれて予測精度が向上していくことが好ましい。上記のようにユーザが操作を入力するたびに操作履歴を更新するような構成であれば、操作の傾向の把握を段々と正確に行えるようになり、予測精度が向上していく。またユーザの行動は状況や周囲の環境に応じて変化する可能性があるが、上記の構成であればユーザの操作の傾向が変わるのに応じて予測結果も変化していく。これにより、ユーザインタフェース設計者の技量に依存することなく、時々刻々と変化するユーザの特性に応じた柔軟な予測が可能になる。また、これまでの操作の履歴が予測に反映されているので、直前のユーザの操作が予測結果に過剰に影響を及ぼすことはない。
【0015】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記予測したユーザ操作の更に次のユーザ操作を予測し、前記生成部は前記更に予測したユーザ操作に対応する画像を生成するための処理を行う構成を取ることができる。
【0016】
このような構成を取ることにより、連続するユーザ操作の複数ステップを予測し、それぞれに対応する画像を素早く表示することができるようになる。例えば次のステップの処理は時間がかからないが、2つ先のステップの処理は負荷の重い画像処理であるような場合、必要な処理をあらかじめ実行しておくことによって、予測が当たった場合の応答時間を短縮することが可能になる。
【0017】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記入力された操作の次のユーザ操作を複数個予測し、前記生成部は前記複数個の予測されたユーザ操作のそれぞ
れに対応する画像を生成するための処理を行う構成を取ることができる。
【0018】
このような構成を取ることにより、ユーザ操作が予測に一致する可能性を増やして平均応答時間を短縮することができる。予測する操作の個数は、個数そのものを定めても良いし、操作がなされる確率によって定めても良い。確率によって定める方法としては例えば、確率が大きい操作から順番に確率を加算して行き、確率が所定のパーセンテージになった時点で予測を止めるような方法がある。
【0019】
本発明のユーザインタフェース装置ではさらに、前記予測部は前記操作履歴のうち、より最近に行われた操作を重視して前記予測を行う構成を取ることができる。
【0020】
ユーザの操作の傾向は常に一定であるとは限らないし、ユーザインタフェース装置を使うユーザが変わる可能性もある。このような構成を取ることにより、ユーザ特性の変化に柔軟に対応した予測を行い、操作に対する平均応答時間を短縮することができるようになる。
【発明の効果】
【0021】
本発明によれば、ユーザインタフェース装置において画像を表示する際に、ユーザが操作を入力してから画像が表示されるまでの平均応答時間を可及的に短くすることができるようになる。
【図面の簡単な説明】
【0022】
【図1】処理の概要を示すフローチャート。
【図2】複合機のブロック図。
【図3】カード印刷機能の画面遷移図。
【図4】カード印刷機能の状態遷移の確率を説明するための図であり、図4(a)は状態遷移図、図4(b)は推移確率行列である。
【図5】投機的実行時のブロック間制御を示す図。
【発明を実施するための形態】
【0023】
<実施形態1>
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0024】
(処理の概要)
図1のフローチャートを用いて、本実施形態の処理の概要を説明する。ステップS101ではユーザに対して画面を表示する。この画面はユーザの操作により後続画面が分岐するような画面である。ステップS102では、過去の操作履歴に基づいてユーザの操作を予測する。ステップS103では投機的実行を行う。すなわち、予測したユーザの操作に対応する画面を生成するための処理を行う。ステップS104では、ユーザが実際に操作を入力する。そしてステップS105で、予測と実際の操作が一致したかどうか判定する。予測と操作が一致した場合(S105=Y)はステップS106に進み、S103の前処理に基づいて、操作に対応する画面を生成する。一方予測が外れた場合(S105=N)はステップS107に進み、操作に対応する画面を生成する。ステップS108では生成した画面を表示する。ステップS109では操作履歴を更新する。
【0025】
(ユーザの操作予測方法)
続いて、ステップS102におけるユーザの操作予測がどのように行われるかの例として、推移確率行列を参照して予測を行う方法を説明する。次に表示され得る画面は現在の画面のみに依存するとした場合、画面遷移は単純マルコフ過程ととらえることができる。ここで、画面の種類、すなわち状態がn種類ある場合について、状態遷移行列Tと推移確
率行列Pというものを考える。式(1)に示した状態遷移行列Tはn×n行列であり、ある状態から別の状態に遷移した回数を記録するために用いられる。例えば、今までに状態rから状態sへの遷移が5回起こっていた場合、Trs=5である。式(2)に示した推移確率行列Pもn×n行列であり、ある状態から別の状態に遷移する確率を表す。例えばPrs=0.20であれば、状態rから状態sへ遷移する確率は20%となる。このように、推移確率行列Pを参照して次のユーザ操作を予測することができる。
【数1】

【0026】
推移確率行列Pを参照した操作予測には、さまざまなバリエーションが考えられる。まず、単純に、次に遷移する確率が最大となる画面を予測する方法がある。これはPr1〜Prnの中から最大値を選べばよい。また、次の操作を複数予測することもできる。例えばPr1〜Prnの中から上位3個の遷移先を選ぶ方法や、選んだ遷移先の確率の合計が50%になるまで選ぶ方法である。また、直後の操作だけではなく、複数先のステップまで予測することもできる。例えば今の画面がrであり、Pr1〜Prnの中の最大値がPrsだったとすると、遷移先はsだと予測できる。そこで引き続いてPs1〜Psnを比較し、最大値がPstであれば、sの次の遷移先はtだと予測できる。このときr、s、tの順に遷移する確率はPrs×Pstとなる。これを一般化すると、rの2つ先のステップがtになる確率、すなわち、間のステップxが何であろうと、r、x、tの順に遷移する確率が式(3)により求められる。なお、上記のバリエーションは、装置の計算能力や必要とする予測精度に応じて適宜組み合わせて実行することができる。
【数2】

【0027】
(画面生成のための処理の実行方法)
続いて、ステップS103における画面生成のための処理について説明する。この処理は投機的実行であり、時間のかかる画像処理を行うことで応答時間を効率的に短縮することができる。ユーザインタフェース装置においてはさまざまな画像処理がある。例えば、メモリカードや外部ネットワークから画像データを取得する処理はアクセス速度の問題から時間がかかる。また、取得した画像を表示するときに縮小等の加工を施す場合は更に時間がかかる。また、表示される画面のフレームやアイコン、文字列等のパーツが圧縮され格納されている場合は、データを解凍し、メモリに展開する処理にも時間を要する。
【0028】
したがって、当ステップでの処理にもさまざまなバリエーションが考えられる。まず当然ながら、ユーザに表示する画面を作成する処理そのものが挙がる。そして作成した画面をバッファメモリに格納するところまで投機的に実行しておく。すると予測が合っていた場合はバッファメモリから出力するだけで済むので、応答時間を短縮することができる。
必ずしも表示する画面全体でなくても、一部分を作成できればある程度の応答時間短縮効果は得られる。また、メモリカード等からの画像データ取得、縮小画像等の加工処理、あるいはフレーム等のパーツの展開を投機的に実行しておくことでも、応答時間の短縮効果は得られる。
【0029】
(操作履歴の更新方法)
続いて、ステップS109において操作履歴がどのように更新されるかを説明する。遷移が1度も起こっていない初期状態では、状態遷移行列Tの要素はすべて0である。また推移確率行列Pには、何らかの初期値、例えば全要素に等しい値を入れておけば良い。そしてユーザが実際に操作を行い画面が遷移するたびに、行列TおよびPを更新していく。式(1)と式(2)で言えば、状態rにおいてユーザが状態sへの遷移を選択した場合、状態遷移行列のTrsに1をプラスし、推移確率行列Pのr行目のPr1〜Prnを再計算して更新する。
【0030】
<実施例1>
以下に、複合機のユーザインタフェース装置の画像表示方法を例として説明する。複合機はスキャナ、コピー、ファクシミリおよびカード印刷(ユーザが接続したメモリカードから画像データを読み込み、必要に応じて画像補正して印刷する機能)の各機能を備えている。ここではカード印刷の実行中にユーザに表示する画像を投機的実行により生成する方法について説明する。
【0031】
(装置の構成)
図2のブロック図を用いて、複合機1に用いられるユーザインタフェース装置の各ブロックについて説明する。ユーザインタフェース装置2は複合機1に接続されている。タッチパネルディスプレイ3はユーザが触れた位置を検出できる液晶ディスプレイ等で作られている。タッチパネルディスプレイ3はユーザの入力を受け付ける入力部であり、かつ、ユーザに画像を表示する表示部でもある。タッチパネルディスプレイ3が入力を受け付ける際には画像の中にボタン等を表示して待機し、ユーザがボタンを押した場所の位置情報を入力制御部101に送る。入力制御部101は画像中のボタンの位置と、タッチパネルディスプレイ3から受け取った位置情報に基づいてどのボタンが押されたか判断し、ユーザの操作の内容として制御部102に送る。
【0032】
制御部102は画像の生成および表示を制御する。制御部102は、入力制御部101からユーザの操作を受け取る。そして必要に応じて受け取ったユーザの操作を予測部103に送り、次回のユーザの操作を予測するように要求する。そして予測部103から送られてきた予測結果とあらかじめ定められた画面遷移のフローとに基づいて生成すべき画像を決定する。制御部102はまた、生成部104に対して画像生成指示を出す(後述するように、画像生成指示に代えてバッファメモリ105への画像出力指示を行う場合もある)。画像生成指示を出す際には、投機的実行かどうかによってバッファメモリ105かタッチパネルディスプレイ3のいずれかを出力先とする。予測部103は、制御部102からの予測の要求を受けると、推移確率行列に基づいて次回ユーザが行う確率の高い操作を予測し制御部102に返す。
【0033】
生成部104は、制御部102から指示を受けて画像を生成する。その際、画像の基本的な構成パーツ(例えばフレーム、アイコン、文字列など)は内部メモリ112から取得する。内部メモリ112にはこれらの構成パーツの画像データが圧縮されて格納されており、生成部104は必要に応じてデータを取り出し解凍して使用する。画像データとしては他に、装置に接続されたメモリカード113に格納されているものや、外部ネットワーク114から取得するものもある。生成部104は、これらの画像データを外部データ制御部111経由で取得する。生成部104は、生成した画像を、制御部102からの指示
に応じてバッファメモリ105またはタッチパネルディスプレイ3に出力する。バッファメモリ3は書き換え可能な記憶装置であり、生成部104から受け取った画像を格納し、制御部102から出力指示があればタッチパネルディスプレイ3に出力する。
【0034】
(画面遷移)
図3の画面遷移図を用いて、タッチパネルディスプレイに表示される画面の遷移とその条件、遷移時に行われる処理について説明する。画面遷移図における一つの画面は、後述する図4(a)における一つの状態に対応している。(状態1)はトップメニューであり、複合機が待機状態であるときに表示されている。ユーザはまずここで利用する機能を選択し、対応するボタンを押す。本実施形態では必ず「カード印刷」を選択するものとし、以下カード印刷の機能に限定して説明する。ユーザが「カード印刷」ボタンを押すと、(状態2)に移行する。
【0035】
(状態2)はカード印刷トップ画面である。ここでは、「全部印刷」と「選んで印刷」から操作を選択することができる。「全部印刷」はメモリカード内の画像データを全て印刷するものであり、「選んで印刷」はユーザが画像を選択して印刷するものである。本実施形態においては、ユーザの処理の分岐はこの(状態2)でのみ起こるものとする。言い換えると、投機的実行による画像生成はここで行われる。
【0036】
ユーザが「選んで印刷」のボタンを押した場合、(状態3)に移行する。(状態3)はユーザが画像を選択するための画面である。生成部が制御部から画像生成指示を受けると、外部データ制御部を経由してメモリカードから画像を読み込んで縮小画像を作る。そして、縮小画像をサムネイルとして一覧表示する。ユーザは画像一覧を見て印刷すべき画像を選択し、サムネイルを押す。これにより(状態4)に移行する。
【0037】
(状態4)はメモリカードの画像を個別に表示し、印刷準備をするための画面であり、ユーザが選んだ画像が表示されている。(状態4)では用紙の設定を行う「用紙設定」と、機械が自動的に画像を補正してくれる「画像補正」の2つのボタンがあるが、ここでは単純化のために全ての画像について「画像補正」を押し(状態5)に移行するものとする。(状態5)は補正された画像をユーザが確認するための画面である。ユーザは画面左側の画像を見て、問題なければ「印刷」ボタンを押して印刷する。印刷が完了したら処理を終了しても良いし、(状態3)に復帰してユーザに他の画像を選択させるようなフローにしても良い。
【0038】
一方、(状態2)でユーザが「全部印刷」のボタンを押した場合、メモリカードの先頭の画像を表示し、直接(状態4)に移行する。そして用紙設定か画像補正を行うが、ここでは単純化のために画像補正を選択する。そして(状態5)に移行し、補正された画像を印刷する。印刷が完了したら、メモリカードの次の画像を表示し、(状態4)に復帰すれば良い。かかる処理をメモリカードの画像の最後まで実行し、処理を完了する。
【0039】
なお、上記のいずれの状態においても、1つ前の段階に戻るための「戻る」ボタンや、トップメニューに戻るための「トップ」ボタンを設けて遷移を容易にしても良い。
【0040】
図4を用いて、遷移の確率という観点から説明する。図4(a)の状態遷移図において、丸数字の1〜5はそれぞれ状態1〜5に対応し、Pnmは状態nから状態mへ遷移する確率を表す。本実施形態では、処理の分岐が起きるのは(状態3)か(状態4)に分かれる時だけになるよう単純化したので、投機的実行で画面を生成するのは(状態2)の処理の後である。また、図4(b)に、しばらくユーザ操作を繰り返した後の推移確率行列Pの例を示した。フロー上遷移が起こり得ない場所には確率0が入れてある。この例では、(状態2)から(状態3)に遷移する確率P23=0.80、(状態4)に遷移する確率
24=0.20であるので、(状態3)に遷移する確率が高い。
【0041】
(投機的実行の制御)
図5を用いて、投機的実行がなされる際のブロック間の制御を説明する。図中の縦のラインは処理を行うブロックを示し、横の矢印は制御の流れを示す。矢印の上に書かれた文字列は制御の種類を、カッコ内の文字列は受け渡されるデータを表す。
【0042】
まず(状態1)の初期トップメニューからユーザが「カード印刷」ボタンを押す。制御部は、ユーザの操作を受け付けると、生成部にカード印刷のトップ画面を生成するよう指示する。この画面が表示されると(状態2)になる。ここからの遷移先は(状態3)と(状態4)の2種類あるので、制御部は予測部に、予測される遷移先を問い合わせる。図4(b)の例では、上述したようにP23>P24なので、予測部は「選んで印刷」が選択されるという予測結果を制御部に返す。
【0043】
予測結果を受けた制御部は、生成部に「選んで印刷」のトップ画面を生成するよう指示する。このとき、画面の出力先をタッチパネルディスプレイではなくバッファメモリにするように指示を出しておく。指示を受けた生成部は、メモリカードから画像データを取得し、取得した各画像をサムネイル用に縮小し、内部メモリのデータと合成して画像選択画面を生成してバッファに格納する。そしてユーザの入力があるまで待機する。このように操作を予測し、画像を生成しバッファするまでの一連の処理が投機的実行にあたる。
【0044】
なお、上記の投機的実行が行われていることはユーザの感知するところではなく、ユーザにとってはカード印刷トップ画面が表示されている(状態2)が続いているだけである。そして、予測部の予測通りにユーザが「選んで印刷」ボタンを押すと、制御部はバッファメモリに対し格納されている画像を出力するように指示を出す。画像データの外部からの転送や縮小画像を作る処理などの時間のかかる処理は前もって実行され、画面が生成済みであるので、ユーザへの応答を素早く行うことができる。
【0045】
一方、予測とは異なりユーザが「全部印刷」ボタンを押すと、制御部は生成部に対し(状態4)の画面を生成、表示するよう指示し、バッファメモリに対しては格納されている画面を破棄するように指示する。この場合ユーザへの応答時間は投機的実行をしなかった場合と同じである。また、破棄された画像はユーザの操作を待つ間に生成されたものである。したがって、予測とは異なる操作がされたとしても、応答時間に影響が出ることはない。
【0046】
画像選択画面が表示されると(状態3)となる。ここでユーザが画像を選択しサムネイルを押すと、制御部は選択画像表示画面を生成し表示するよう生成部に指示する。これにより(状態4)になり、選んだ画像に施す処理内容を選択するボタンが表示される。ユーザが処理内容を選択すると、処理内容に応じた後続画面が表示される。例えば「画像補正」を選択すれば、前述したように(状態5)の印刷画面に移行する。
【0047】
制御部はまた、ユーザの操作内容を予測部に通知する。予測部は通知を受けると状態遷移行列Tと推移確率行列Pを更新する。たとえばユーザ操作が「選んで印刷」であれば、(状態2)から(状態3)への遷移であるので、状態遷移行列Tの要素T23に1を足す。そして、推移確率行列Pのうち、P21〜P25を再計算し更新する。
【0048】
以上のようにユーザインタフェース装置は、ユーザの操作に応じて表示画面が分岐する処理において、操作履歴に基づく予測結果に応じてあらかじめ画面を生成しておく。これにより、メモリカードからの画像の読み込みや縮小画像(サムネイル)を作るなどの時間のかかる処理をユーザの操作の前に済ませることができるので、組込みシステムのように
性能に制約があり画像処理に時間のかかる装置であっても、実際にユーザが操作をしてから画像が表示されるまでの応答時間が短縮される。一方予測とは異なる操作がされた場合であっても、投機的実行による画面生成はユーザの操作を待つ間になされているので、応答時間の延長にはならない。したがって、結果的に平均応答時間を短くすることが可能である。
【0049】
また、ユーザが操作を行うごとに履歴が蓄積されてユーザモデルが更新されていくので、回数を追うごとに予測精度が向上していく。さらに、ユーザの特性の変化にも対応でき、ユーザインタフェース設計者の技量に依存することなく柔軟な予測が可能になる。
【0050】
なお、ここでは(状態2)の時だけ投機的実行を行うようにしたが、他にも(状態1)や(状態3)のようにユーザの操作が分岐する画面であれば、投機的実行により画面を生成するための処理を実行して平均応答時間を向上させることができる。これらの状態でも内部メモリに格納されたデータを取得・解凍し、画像を生成する処理が必要であり、メモリカードとの入出力や縮小画像を作る時ほどではないものの、ユーザに感知され得る程度の処理時間がかかるからである。
【0051】
<変形例1>
ここでは、実施例1とは異なる方法でユーザの操作を予測する例について説明する。実施形態1では、画面の遷移は単純マルコフ過程によって表されるものととらえている。すなわち、直前のユーザ操作のみに依存して次の操作を予測するような構成を取っている。また、予測部が予測するのは次のユーザの操作のみとし、投機的実行により生成する画面は1つとしている。しかし、これらの条件を必要に応じて適宜変更しても良い。
【0052】
例えば、次にユーザが行う操作は、現在からN個さかのぼった操作によって決定されるN階マルコフ過程であるととらえても良い。あるいは、次の操作だけではなく、複数ステップ先の操作まで予測し、投機的実行により画面を生成しておくこともできる。この場合は遷移ごとにその遷移が起こる確率を乗じて予測を行うことになる。従来の、設計者の経験と技量に依存するユーザインタフェース設計では、このように過程が複雑になった場合には予測精度が落ちてしまい、効率的な応答時間短縮ができなかった。この変形例のように推移確率行列Pに基づき計算をすれば、数学的かつ柔軟に複数ステップの操作を考慮した予測を行うことができる。あるいは、次の操作を予測する際に、最も確率の高い操作だけではなく、上位n個の操作を選び、それぞれの操作に対応する画面を投機的実行により生成しておいても良い。
【0053】
以上に述べた予測方法のうちいずれを選ぶかは、画面遷移の複雑さ、CPUやメモリなど装置の性能、要求される予測精度に基づいて選択すべきである。また、複数ステップの予測と、1ステップ内の複数個の操作予測を組み合わせても良い。
【0054】
<変形例2>
ここでは、ユーザ個々の操作の傾向を考慮した上で精度の高い予測を行う方法について説明する。ユーザインタフェース装置を使用する人数が増えるほど、行われる操作の傾向は多様になる。たとえば実施例1の複合機であれば、オフィス内の特定の人だけが使うときはユーザ操作の傾向が一定になるが、学校に置かれ様々な研究室の人が利用するときは操作の傾向が定まらず、予測精度がなかなか向上しない。
【0055】
そこで、多くの人が使うユーザインタフェース装置において、ユーザIDにより使用者を把握できる場合、ユーザIDごとに状態遷移行列Tおよび推移確率行列Pを設けることが考えられる。例えば学校に置かれた複合機の例で言うと、研究室ごとにIDカードを用意して装置に挿入するような使用方法であれば、ユーザIDごとの操作履歴が容易に収拾
でき、ユーザ特性に応じた精度の高い操作予測を行って平均応答時間を短縮することができるようになる。
【0056】
<変形例3>
ここでは、操作履歴に基づいて予測をする際に、最近の操作履歴を重視する方法について説明する。もしもユーザの操作の傾向が一定であれば、操作履歴を蓄積するほど予測精度が向上するし、最近の操作を重視する必要もない。しかし、ユーザの操作の傾向は変わり得るし、装置を使用するのが別のユーザになる場合もある。そのような場合に最近の操作と過去の操作を同等の重みで評価することは、かえって柔軟な予測の妨げになる可能性がある。
【0057】
そこで、ユーザ操作後に状態遷移行列Tを更新する際に、最近の操作の評価値を上げたり、一定以上の期間が過ぎた過去の履歴は消去したりする方法を取ることが考えられる。これにより、ユーザの操作の傾向が変化したり、別のユーザが装置を使用するようになったりしても、その時々のユーザの特性を把握して、柔軟かつ精度の高い操作予測をすることができる。
【0058】
ユーザの操作が行われた時期により評価値を変えることは、たとえば状態遷移行列Tの各要素を式(4)のような2×nの形式で保持することにより実現できる。式(4)では年月ごとに操作の回数が記録されており、各月の操作回数を合計することでTrsの値を容易に得ることができる。また古い履歴を消去したり、操作がなされた時期に応じて評価値に重みを付けることも容易である。このような方法を取るかどうかは、必要な予測精度と計算能力のバランスを考慮して適切に定めるべきであることは言うまでもない。
【数3】

【0059】
<変形例4>
ここでは、初期状態、すなわちユーザの操作履歴が蓄積されていない段階であってもある程度の予測精度を得られるように、状態遷移行列Tおよび推移確率行列Pを設定する方法について説明する。
【0060】
ユーザの操作回数が少ない間は、推移確率行列Pの各要素の母数が少ないため、1回の操作が予測部による予測の安定性に与える影響が大きくなりがちである。そこで、状態遷移行列Tの各要素に一様に初期値を与えることが考えられる。これにより、1回の操作が推移確率に与える影響を抑制することができる。あるいは、あらかじめモニターとなるユーザの操作を収集して、推移確率行列Pに初期値を与えておくことも可能である。これらの方法により、使用開始から間がなく操作回数が少ない時期であっても、安定した精度で予測を行うことができる。
【符号の説明】
【0061】
3 タッチパネルディスプレイ(入力部,表示部)
102 制御部
103 予測部
104 生成部

【特許請求の範囲】
【請求項1】
ユーザが操作を入力する入力部と、
ユーザ操作に対応した画像を表示する表示部と、
前記入力された操作の次のユーザ操作をユーザの操作履歴に基づいて予測する予測部と、
次のユーザ操作に先立って、前記予測されたユーザ操作に対応する画像を生成するための処理を行う生成部と、
実際の次のユーザ操作が予測と一致した場合は、前記生成部が行った処理に基づいて画像を生成し表示部に出力する制御部と
を備えることを特徴とするユーザインタフェース装置。
【請求項2】
前記予測部は、ユーザが操作を入力するたびに前記操作履歴を更新するものである
ことを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項3】
前記予測部は、前記予測したユーザ操作の次のユーザ操作を更に予測し、
前記生成部は、前記更に予測したユーザ操作に対応する画像を生成するための処理を行うものである
ことを特徴とする請求項1または2に記載のユーザインタフェース装置。
【請求項4】
前記予測部は、前記入力された操作の次のユーザ操作を複数個予測し、
前記生成部は、前記複数個の予測されたユーザ操作のそれぞれに対応する画像を生成するための処理を行うものである
ことを特徴とする請求項1または2に記載のユーザインタフェース装置。
【請求項5】
前記予測部は、前記操作履歴のうち、より最近に行われた操作を重視して前記予測を行うものである
ことを特徴とする請求項2に記載のユーザインタフェース装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−224589(P2010−224589A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2009−67833(P2009−67833)
【出願日】平成21年3月19日(2009.3.19)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【Fターム(参考)】