(57)【要約】【課題】複数の機能を有するデバイスおよびそのデバイスドライバの使い勝手を向上させるとともに電力消費の増加を抑制する。【解決手段】複数の機能を有する特定のデバイスを制御するためのデバイスドライバプログラムがインストールされた情報処理装置であって、記憶装置と、前記情報処理装置を、使用状況および頻用機能の情報を記憶装置に記憶させる記憶部、頻用機能の情報が記憶装置に記憶されている場合、デバイスドライバプログラムが起動されたときのユーザインタフェースに、頻用機能についての設定項目を優先して表示させる表示処理部、および、頻用機能以外の機能が、ユーザにより選択された場合に、使用状況の情報を基に頻用機能とその他の機能の使用状況を再評価し、記憶装置に記憶される頻用機能の内容を更新する更新処理部と、して機能させるためのデバイスドライバプログラムと、を備える。【選択図】図２
2016042304.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を有する特定のデバイスを制御するためのデバイスドライバプログラムがインストールされた情報処理装置であって、
記憶装置と、
前記情報処理装置を、
使用状況および頻用機能の情報を前記記憶装置に記憶させる記憶部、
前記頻用機能の情報が前記記憶装置に記憶されている場合、前記デバイスドライバプログラムが起動されたときのユーザインタフェースに、前記頻用機能についての設定項目を優先して表示させる表示処理部、および、
前記頻用機能以外の機能がユーザにより選択された場合に、前記使用状況の情報を基に前記頻用機能とその他の機能の使用状況を再評価し、前記記憶装置に記憶される前記頻用機能の内容を更新する更新処理部と、
して機能させるための前記デバイスドライバプログラムと、
を備えることを特徴とする情報処理装置。
【請求項２】
前記更新処理部は、さらに、ユーザにより選択された機能が前記頻用機能の中の機能である場合に、当該選択された機能を、前記頻用機能の中での優先順位を最上位とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記使用状況の情報は、各機能の使用回数と前記頻用機能のグループ以外の機能を連続で選択したことを示すフラグとを含み、
前記更新処理部は、前記頻用機能以外の機能がユーザにより選択される場合のための、
ユーザにより選択された機能の前記使用回数および前記フラグを示す各カウンタをそれぞれインクリメントするカウンタ処理部と、
前記頻用機能のグループ内の機能について優先順位が上位から順に、降順となる所定の点数を付加し、前記頻用機能のグループ以外の機能については前記使用回数および前記フラグに基づき算出される点数を付加する点数計算部と、
前記頻用機能のグループ内外の全機能について、それぞれに付加された点数に基づき、降順に並び替えを行う並び替え部と、
前記並び替えをした前記全機能のうち、上位の所定数の機能を前記頻用機能としてその情報を前記記憶装置に記憶する更新部と、
前記使用回数および前記フラグを示す各カウンタを０に初期化するカウンタ初期化部と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
情報処理装置における、複数の機能を有する特定のデバイスを制御するためのデバイスドライバプログラムのユーザインタフェースの表示方法であって、
使用状況および頻用機能の情報を前記情報処理装置の記憶装置に記憶するステップと、
前記頻用機能の情報が前記記憶装置に記憶されている場合、前記デバイスドライバプログラムが起動されたときの前記ユーザインタフェースに、前記頻用機能についての設定項目を優先して表示させるステップと、
前記頻用機能以外の機能がユーザにより選択された場合に、前記使用状況の情報を基に前記頻用機能とその他の機能の使用状況を再評価し、前記記憶装置に記憶される前記頻用機能の内容を更新するステップと、
を含むことを特徴とするデバイスドライバプログラムのユーザインタフェースの表示方法。
【請求項５】
複数の機能を有する特定のデバイスを制御するためのデバイスドライバプログラムであって、
情報処理装置を、
使用状況および頻用機能の情報を記憶装置に記憶させる記憶部と、
前記頻用機能の情報が前記記憶装置に記憶されている場合、当該デバイスドライバプログラムが起動されたときのユーザインタフェースに、前記頻用機能についての設定項目を優先して表示させる表示処理部と、
前記頻用機能以外の機能がユーザにより選択された場合に、前記使用状況の情報を基に前記頻用機能とその他の機能の使用状況を再評価し、前記記憶装置に記憶される前記頻用機能の内容を更新する更新処理部と、
して機能させるためのデバイスドライバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、デバイスドライバプログラムのユーザインタフェースの表示方法、およびデバイスドライバプログラムに関する。
【背景技術】
【０００２】
現在の大型プリンタや複合機等のデバイスには、多種多様な機能が搭載されている。そのためプリンタドライバなどのデバイスドライバプログラム（以下、デバイスドライバ）にはそれらの機能を扱うための専用のユーザインタフェースが必要になる。この専用のユーザインタフェースは、扱う機能の多さのため、どの機能がどこにあるのか判別しづらく、よく使用する機能を呼び出す際に時間がかかるという問題があった。そこで、各種機能の使用回数を保持することで、頻用する機能を特定し、頻用する機能をユーザインタフェースに優先的に表示するようにした装置が、既に知られている。
【０００３】
例えば、特許文献１では、プリンタ等の画像形成装置の使い勝手を良くする目的で、画像形成装置に付属のユーザインタフェース上で、頻用する機能を優先して表示する方法が提案されている。この提案の方法は、装置本体のパネル上にユーザインタフェースを表示するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示の技術では、複数のユーザが同一装置を使用することになるので、画像形成装置を起動する度に、ユーザ毎に頻用する機能を選出する処理等が必要となる。そのため、ユーザインタフェースの表示に時間がかかったり、電力を多く消費するなどの問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、頻用する機能（頻用機能とも記す）をユーザが使用する情報処理装置のデバイスドライバのユーザインタフェースに優先的に表示するだけでなく、さらに、その表示のための時間を短縮できるようにすることで、複数の機能を有するデバイスおよびそのデバイスドライバの使い勝手をさらに向上させるとともに電力消費の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、複数の機能を有する特定のデバイスを制御するためのデバイスドライバプログラムがインストールされた情報処理装置であって、記憶装置と、前記情報処理装置を、使用状況および頻用機能の情報を前記記憶装置に記憶させる記憶部、前記頻用機能の情報が前記記憶装置に記憶されている場合、前記デバイスドライバプログラムが起動されたときのユーザインタフェースに、前記頻用機能についての設定項目を優先して表示させる表示処理部、および、前記頻用機能以外の機能がユーザにより選択された場合に、前記使用状況の情報を基に前記頻用機能とその他の機能の使用状況を再評価し、前記記憶装置に記憶される前記頻用機能の内容を更新する更新処理部と、して機能させるための前記デバイスドライバプログラムと、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、プリンタドライバのユーザインタフェースの表示に時間をかけずに済むことができ、デバイスドライバの使い勝手を、さらに向上させることができるとともに電力消費の増加を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかるデバイスドライバの１種であるプリンタドライバがインストールされたＰＣとプリンタとからなるプリンタシステムの全体構成を例示した図である。
【図２】図２は、同実施形態にかかるデバイスドライバ（同図ではプリンタドライバ）の機能構成を示す図である。
【図３】図３は、同実施形態にかかるデバイスドライバの基本的なユーザインタフェースの画面構成例を示す図である。
【図４】図４は、同実施形態にかかるデバイスドライバによるユーザインタフェースの表示例（インデックス「Ａ」選択画面）を示す図である。
【図５】図５は、同実施形態にかかるデバイスドライバによるユーザインタフェースの表示例（インデックス「Ｂ」選択画面）を示す図である。
【図６】図６は、同実施形態にかかるデバイスドライバによるユーザインタフェースの表示例（インデックス「Ｃ」選択画面）を示す図である。
【図７】図７は、優先表示画面の一例を示す図である。
【図８】図８は、優先表示画面の表示内容が更新された様子を示す図である。
【図９】図９は、同実施形態のデバイスドライバの基本的動作について説明するフローチャートである。
【図１０】図１０は、図９の画面表示のステップで実施される画面表示の処理の流れを示すフローチャートである。
【図１１】図１１は、リストの更新方法について説明するフローチャートである。
【図１２Ａ】図１２Ａは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１２Ｂ】図１２Ｂは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１２Ｃ】図１２Ｃは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１２Ｄ】図１２Ｄは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１２Ｅ】図１２Ｅは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１２Ｆ】図１２Ｆは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示す図の１つである。
【図１３Ａ】図１３Ａは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す図の１つである。
【図１３Ｂ】図１３Ｂは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す図の１つである。
【図１３Ｃ】図１３Ｃは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す図の１つである。
【図１３Ｄ】図１３Ｄは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す図の１つである。
【図１３Ｅ】図１３Ｅは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す図の１つである。
【図１４】図１４は、図１に示すＰＣのハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、一実施形態について詳細に説明する。
【００１０】
以下に説明する実施形態は、図１に例示するような、有線ＬＡＮや無線ＬＡＮ等のネットワーク３０を介して、ＰＣ（パーソナルコンピュータ）１０から、プリンタ２０等のデバイスを制御するためのデバイスドライバ（図１では、プリンタドライバ１１）を対象としている。
【００１１】
図２は、本実施形態にかかるデバイスドライバ（同図では、プリンタドライバ１１）の機能構成を示す図である。同図に示すように、プリンタドライバ１１は、本実施形態に特徴的な構成要素として、ユーザインタフェース表示処理部１１１と更新処理部１１２とを含んで構成される。更新処理部１１２は、さらに、カウンタ処理部１１２１、点数計算部１１２２、並び替え部１１２３、リスト更新部１１２４、およびカウンタ初期化部１１２５を備える。ユーザインタフェース表示処理部１１１は、デバイスドライバ自身のユーザインタフェースの表示と、ユーザによるユーザインタフェースに対する操作に応じた処理を行うものであり、その具体的な処理内容については図９および図１０を用いて後述する。更新処理部１１２（カウンタ処理部１１２１、点数計算部１１２２、並び替え部１１２３、リスト更新部１１２４、およびカウンタ初期化部１１２５）は、ユーザインタフェースの表示内容の更新にかかる処理を行うものであり、その具体的な処理内容については、図１１を用いて後述する。
【００１２】
なお、図１および図２では、プリンタ２０等の印刷機器を制御対象とするプリンタドライバ１１を例示しているが、これに限るものではない。以下に説明するデバイスドライバによる、そのユーザインタフェースの表示方法は、複数の機能に関する設定を、ユーザが、ユーザインタフェースを介して設定するタイプのデバイスドライバであれば、いずれのものにも採用することが可能である。また、本実施形態にかかるデバイスドライバは、パーソナルコンピュータ等の情報処理装置に限らず、スマートフォン等の携帯型の情報処理装置にも実装可能である。
【００１３】
ここで、本実施形態で使用する用語の意義について説明する。
【００１４】
・機能：別途定義しない場合、まとまった主要な設定項目で指定される機能（例：印刷物の色調整、両面印刷等）。
・インデックス：機能毎にその設定項目をグループにまとめた際のグループ名。
・リスト：頻用する機能をまとめたリスト。このリストには、本実施形態では３つの頻用機能（頻用機能のグループ）が登録される。このリストに登録された機能が後述の優先表示画面に表示される。
・リスト内の機能群：リストに登録された、頻用すると判断された機能群。
・リスト外の機能群：リストに登録されなかった機能群。
・優先表示画面：頻用する機能のみを表示する専用画面。基本的に、デバイスドライバを使用する際、最初に表示される。「リスト内の機能群」が存在しない場合は、表示されない。
・直前フラグ：「リスト外の機能群」の機能を連続で選択したことを示すフラグ。ユーザが機能の選択を行う際、一度でも「リスト内の機能群」の機能を選択すると、０となる。
・使用回数：次のリスト更新までに各機能が選択された回数。この使用回数は、全ての機能に割り振られるが、「リスト外の機能群」の機能についてのみ使用する（後述）。
【００１５】
次に、図３に、本実施形態にかかるデバイスドライバの基本的なユーザインタフェースの画面構成例を示す。
【００１６】
図３のＳＣ０１で示す部分は、１または複数の機能からなる各機能群のインデックスがまとめられた欄である。ユーザはＳＣ０１部分にあるインデックスを選択することで、選択されたインデックスが示す機能群について各機能の設定を行うことができるようになる。本実施形態では、ユーザがいずれかのインデックスを選択すると、選択されたインデックスの色が変化するようにし、選択されたものが識別できるようにしている。図３では、ＳＣ０６のインデックス「Ａ」が選択された際の状況を示しており、この部分の色が他のインデックスと異なる色となっている。
【００１７】
ＳＣ０２で示す部分は、ＳＣ０１のインデックスの一覧の中で選択されたインデックスが示す機能群の各機能に関する設定項目を表示する。ＳＣ０２部分では、さらに、ＳＣ０３部分に、選択されたインデックスの名称が表示され、ＳＣ０４およびＳＣ０５部分に、それぞれの機能特有の主要な設定項目がまとめて表示される。ユーザはこの設定項目に対して数値入力や文字入力や選択を行うことで、選択したインデックスが示す機能群の各機能を使用することができるようになる。なお、ＳＣ０４部分およびＳＣ０５部分は互いに独立しており、機能群内の他の機能の設定項目に影響されない。また、図３のユーザインタフェース画面例では、ＳＣ０４およびＳＣ０５部分で２つの機能（「ＩＮＦＯＲＭＡＴＩＯＮ  Ａ１」および「ＩＮＦＯＲＭＡＴＩＯＮ  Ａ２」）に関するそれぞれの設定項目を表示しているが、この表示はインデックス毎に種類も数も異なるものとなる。
【００１８】
図４〜図６は、本実施形態にかかるデバイスドライバによるユーザインタフェースの表示例であり、図４はインデックス「Ａ」選択画面、図５はインデックス「Ｂ」選択画面、図６はインデックス「Ｃ」選択画面を示したものである。これらの図は全て同一のデバイスドライバによるものであり、各図はインデックスの選択の違いを表している。すなわち、図４は「Ａ」のインデックスを、図５は「Ｂ」のインデックスを、図６は「Ｃ」のインデックスをそれぞれユーザが選択した結果である。図４〜図６における各部分は図３のものと変わらないため、その説明は省略する。
【００１９】
ところで、従来のデバイスドライバのように、単純に機能毎に設定項目の変更を行うようなものでは、図４〜図６で表されるデバイスドライバのユーザインタフェースのように、ユーザがデバイスドライバを使用する際に、そのユーザインタフェース上の所望のインデックスをその都度選択しなければ設定項目の設定や変更を行うことができない。そのため使用回数が多い機能（頻用する機能）を使用する場合でも、デバイスドライバを起動するたびに該当するインデックスを選択しなければならないという手間が発生した。そこで、本実施形態では、頻用する機能について優先表示画面を設けている。
【００２０】
図７は、図３のＳＣ０１部分のうち、ユーザが「ＳＰ」というインデックスを選択したときの画面であり、本実施形態による優先表示画面を示した図である。優先表示画面は、「リスト」に機能が登録されている場合、デバイスドライバを起動すると最初に表示される。図７の例では、頻用する機能が図６の「ＩＮＦＯＲＭＡＴＩＯＮ  Ｃ１」と図５の「ＩＮＦＯＲＭＡＴＩＯＮ  Ｂ１」であったため、それらの機能に関する設定項目がまとめられて表示されている。このように優先表示画面では、ユーザが今所望する機能が頻用機能である場合、必要な設定を行うためにあらためてインデックスを選択することなく、所望の機能の設定をすることができ、直ちにデバイスを使用することができるものとなる。
【００２１】
図８は、ユーザがデバイスドライバを使用しているうちに、頻用する機能が変化し、優先表示画面の表示内容が更新された様子を示した図である。図８では、頻用する機能が、図６の「ＩＮＦＯＲＭＡＴＩＯＮ  Ｃ１」と図５の「ＩＮＦＯＲＭＡＴＩＯＮ  Ｂ１」から、図５の「ＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２」、「ＩＮＦＯＲＭＡＴＩＯＮ  Ｂ１」と図４の「ＩＮＦＯＲＭＡＴＩＯＮ  Ａ２」に変化したことを示している。頻用する機能の変更は後述する更新方法によって決定し、頻用する機能が変化するたびに、優先表示画面が更新される。
【００２２】
続いて、本実施形態のデバイスドライバの基本的動作について説明する。図９は、本実施形態のデバイスドライバの基本的動作について説明するフローチャートであり、デバイスドライバの起動から終了までの動作を示している。
【００２３】
はじめに、デバイスドライバが起動すると、デバイスドライバは保存されている機能の使用状況（各機能の使用回数および直前フラグの状況）の情報およびリストを読み込む（Ｓ１１）。
【００２４】
Ｓ１１の読み込みが終了すると、デバイスドライバは、そのユーザインタフェースを表示する（Ｓ１２）。ここでの画面表示については後述する。
【００２５】
Ｓ１２での画面表示により、ユーザがデバイスドライバを使用することができるようになる。ユーザがデバイスドライバを終了しなければ（Ｓ１３でＮｏ）、ユーザによって「機能選択」（Ｓ１４）が実施され、デバイスドライバはこの機能選択を受け付ける。ここでの機能選択とは、ユーザが、デバイスドライバのユーザインタフェースから使用したい機能を選択し、対応する設定項目を設定することであり、一度の機能選択により、１つの機能が選択される。
【００２６】
機能選択後、デバイスドライバは、「更新確認」として、リストの更新を行うか所定の確認を行う（Ｓ１５）。ここでのリストの更新の確認、およびリストの更新方法については後述する。
【００２７】
更新確認後、デバイスドライバは、ユーザにより選択された機能の設定項目の設定に基づく処理を実施する（Ｓ１６）。デバイスドライバは、この処理が終了すると再び画面表示を行うが、頻用する機能に変化した内容があれば、優先表示画面を更新する。
【００２８】
上記Ｓ１２〜Ｓ１６の各処理は、ユーザがデバイスドライバの終了を選択しない限り、続けられる。ユーザがデバイスドライバの終了を選択すると（Ｓ１３でＹｅｓ）、現在の各機能の使用回数および直前フラグの状況を確認し、これらの情報を機能の使用状況としてデバイスドライバの管理の下、記憶装置に保存する（Ｓ１７）。次回デバイスドライバ起動時は、デバイスドライバが、この保存された情報を元に機能の使用状況をワークメモリに再構築する。
【００２９】
図１０は、図９のＳ１２の画面表示のステップで実施される画面表示の処理の流れを示すフローチャートである。このフローチャートでは、デバイスドライバによる画面表示の処理の開始から、優先表示画面、もしくはデフォルトの機能設定画面の表示までの処理の流れを示している。
【００３０】
「画面表示」は、デバイスドライバのユーザインタフェースの表示画面を構築する処理である。ただしここでの説明は、本実施形態において特徴的な優先表示画面の構築についてするものとし、その他については説明を省略する。
【００３１】
前述のように、ユーザがデバイスドライバを起動すると、デバイスドライバはＳ１１にて保存されている機能の使用状況の情報およびリストを読み込む。
【００３２】
「画面表示」の処理では、デバイスドライバは、まず読み込んだリストから、リスト内の機能群が登録されているか、いないかを確認する（Ｓ２１）。リスト内の機能群が登録されていない状態は、デバイスドライバ起動後一度も機能選択が行なわれていない場合のみ起こる。
【００３３】
リスト内の機能群が登録されていない場合（Ｓ２１でＮｏ）、デバイスドライバは、デフォルトの機能設定画面表示を行う（Ｓ２９）。デフォルトの機能設定画面表示とは、優先表示画面のインデックスの直下にあるインデックスの機能を表示することである。図３の例の場合、「ＳＰ」の下にある「Ａ」のインデックスが対象となる。このように、リスト内の機能群が登録されていない場合、デフォルトの機能設定画面が表示されて、優先表示画面は表示されない。
【００３４】
一方、リスト内の機能群が１つ以上登録されていた場合は（Ｓ２１でＹｅｓ）、デバイスドライバは優先表示画面を表示することとなる。デバイスドライバは、ポインタを用いることにより、リストの上位の機能から順に優先表示画面に描画処理を行う。ここでのポインタとは、リストに登録されている機能群を順に指す目印の意味として用いる。デバイスドライバは、リストの先頭の機能をポインタで選択し（Ｓ２２）、ポインタが示す機能を優先表示画面に描画する（Ｓ２３）。
【００３５】
その後、デバイスドライバは、優先表示画面の表示可能領域サイズ（高さ、幅）から、表示した機能の表示領域サイズを差し引くことにより、優先表示画面の残りの表示可能領域サイズを取得する（Ｓ２４）。
【００３６】
描画した機能がリストの中で最下位の機能であれば（Ｓ２５でＹｅｓ）、デバイスドライバは、描画した優先表示画面を画面表示し（Ｓ２８）、処理を終了する。そうでなければ（Ｓ２５でＮｏ）、デバイスドライバは、次の機能の描画のためＳ２６に移る。
【００３７】
デバイスドライバは、表示した機能を示したポインタを１つ進め、次の順位の機能を選択する（Ｓ２６）。さらに、デバイスドライバは、ポインタが示す機能の、表示に必要な表示領域サイズが、この時点での優先表示画面の表示可能領域サイズより大きいか否かを確認する（Ｓ２７）。このとき、表示に必要な表示領域サイズが、表示可能領域サイズより大きくなければ（Ｓ２７でＮｏ）、Ｓ２３に戻り、デバイスドライバは、再び画面表示のための描画処理を行っていく。一方、表示に必要な表示領域サイズが、表示可能領域サイズより大きければ（Ｓ２７でＹｅｓ）、デバイスドライバは、この時点でポインタが示している機能の表示を省略した優先表示画面の描画をする。以上の優先表示画面の描画処理終了後、デバイスドライバは、優先表示画面を画面表示（Ｓ２８）し、画面表示処理は終了する。
【００３８】
ところで、上記のように、優先表示画面の表示可能領域サイズより次に描画すべき機能の表示領域サイズが大きい場合、リストに登録されている機能が他に残っているにも関わらず描画を省略するのは、画面の見やすさを優先するためである。優先表示画面の表示可能領域は、リスト内の機能群全てを表示できるサイズまで、事前に確保されていることが望ましい。しかしながら、ユーザが使用する環境の問題や、デバイスドライバのユーザインタフェースのサイズの問題もあるため、必ずしも適した表示可能領域が確保できるとは限らない。そのため本実施形態では、表示可能領域内に描画できない順位が下位の機能は、描画を行わない、という方針をとる。なお、本実施形態の説明では、説明を簡略化するため、および、優先表示画面の表示の見やすさのために、リストが管理できる機能は最大３つまでとしているが、これに限るものではない。
【００３９】
次に、図１１を参照し、リストの更新方法について説明する。図１１は、リストの更新方法について説明するフローチャートである。このフローチャートでは、ユーザの機能選択からリストの更新処理の終了までの動作を示している。
【００４０】
リスト内の機能群はリストに含まれる機能のグループであるため、ユーザの使用頻度によって更新される。しかし本実施形態ではデバイスドライバの起動の度に更新を行うのではなく、一定の条件下でのみ更新を行うことで、デバイスドライバの起動速度の速さを維持し、電力使用量の削減を行う。リストの更新タイミングは、ユーザがリスト外の機能を選択した場合（すなわち、ユーザにより選択された機能がリスト内の機能群の機能でない場合）（Ｓ３０１でＮｏ）のみとし、その判断は、機能の使用回数および直前フラグの状況から行う。
【００４１】
ユーザがリスト外の機能を選択した場合に行う更新は、次の各ステップを順に実施することにより行う。
（１）カウンタ処理（Ｓ３０２、Ｓ３０３）
（２）点数計算（Ｓ３０４、Ｓ３０５）
（３）並び替え（Ｓ３０６）
（４）リスト更新（Ｓ３０７、Ｓ３０８、Ｓ３０９）
（５）カウンタ初期化（Ｓ３１０）
【００４２】
（１）カウンタ処理
カウンタ処理部１１２１が、ユーザにより選択されたリスト外の機能の使用回数および直前フラグをインクリメントする（Ｓ３０２，Ｓ３０３）。具体的には、このカウンタ処理では、ユーザにより選択されたリスト外の機能の使用回数を示すカウンタと直前フラグのカウンタとを、インクリメント（＋１）する。この２つのカウンタのカウンタ値は直後の「（２）点数計算」で用いる。
【００４３】
（２）点数計算
点数計算部１１２２が、直後の「（３）並び替え」での頻用する機能の判断に用いる頻用度の点数付けを行う。この点数付けは、リスト内の機能群およびリスト外の機能群の両方について行う。なお、既に点数が入力されている場合は、点数計算部１１２２は、新たに計算した点数で上書きすることで点数付けを行う。
【００４４】
リスト内の機能群に対しては、点数計算部１１２２は、リストの上位の機能から７点、５点、３点と点数をつける（Ｓ３０４）。なお、ここで、点数を、７点、５点、３点の３種類としているのは、１つには、リスト内の機能群を表示できる領域の関係で、３つの機能のみ登録できるようにしているためである。また、７点、５点、３点という点数は、連続で２回選ばれる機能はリスト内の機能群に選ばれても問題ない、という前提条件から、経験的に求めた点数である。なお、この点数は、ユーザの運用方法によって変動しうる。
【００４５】
一方、リスト外の機能群に対しては、点数計算部１１２２は、以下の計算式（１）に従って点数をつける（Ｓ３０５）。
【００４６】
点数  ＝  使用回数  ＋  使用回数  ×  直前フラグの値  …（１）
【００４７】
計算式（１）が示す通り、直前フラグの値が高ければ高いほど点数が高くなる。また、直前フラグの値は、（１）カウンタ処理によってリスト外の機能群が選択される度に上昇する。詳細は後述する。
【００４８】
（３）並び替え
並び替え部１１２３は、点数計算を終えた各機能を、リスト内の機能群、リスト外の機能群を区別せずに１つにまとめ、まとめた機能群を、点数によって降順に並び替えを行う。これを並べ替えた機能群とする（Ｓ３０６）。なお、並び替えにおいて、点数以外の情報を考慮しないため、同じ点数の機能の並びについても特に考慮しない。ここでは、同じ点数のものは同順位とする。
【００４９】
（４）リスト更新
リスト更新部１１２４が、並べ替えた機能群の上位３つの機能を新たなリスト内の機能群としてリストに登録する。その際、上位３つの機能がリスト内の機能群と同一である場合（Ｓ３０７でＹｅｓ）、リスト更新部１１２４は、その後の処理は行わない。一方、１つでもリスト内の機能群と一致しない機能があった場合は（Ｓ３０７でＮｏ）、リスト更新部１１２４は、リストの更新を実施する。具体的には、リスト更新部１１２４が、現在のリストを削除し（初期化：Ｓ３０８）、新たに並べ替えた機能群の上位３つの機能をリスト内の機能群としてリストに登録する（Ｓ３０９）。
【００５０】
（５）カウンタ初期化
リスト更新が実施された場合、カウンタ初期化部１１２５が、並べ替えた機能群の各機能の現在の使用回数を示すカウンタと、現在の直前フラグのカウンタを全て０に初期化する。すなわち、このカウンタ初期化部では、カウンタ初期化部１１２５が、並べ替えた機能群の各機能の使用回数および直前フラグを０に初期化する（Ｓ３１０）。そのため、次のリスト更新が起きるのは、再びリスト外の機能群が複数回選択された場合となる。選択された機能がリスト外の機能群であった場合の処理は以上である。
【００５１】
一方、選択された機能がリスト内の機能群であった場合は（Ｓ３０１でＹｅｓ）、カウンタ初期化部１１２５が、全ての直前フラグの初期化と、リスト内の並び替えを行う。リスト内の機能群が選択された際、その前の処理でリスト外の機能群が選択されていると、対応する直前フラグのカウンタがインクリメントされている。リスト内の機能群が選択された場合は、全ての機能の直前フラグのカウンタを０に初期化する（Ｓ３１１）。この直前フラグの初期化後、カウンタ初期化部１１２５は、選択されたリスト内の機能を、リストの先頭になるよう並び替えを行う（Ｓ３１２）。これにより、例えばリスト内３位であった機能をユーザが選択すると、この選択された機能は次の画面表示ではリスト内１位となっており、優先表示画面の先頭に表示される。
【００５２】
本実施形態におけるリストの更新方法の具体的な例を、図１２Ａ〜図１２Ｆ、図１３Ａ〜図１３Ｅを参照して説明する。これらは、図７の優先表示画面が図８の優先表示画面に変化した際に起きる更新処理と、使用回数、直前フラグ、および点数の変化とを示したものである。
【００５３】
図１２Ａ〜図１２Ｆでは、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）がリスト内の機能群の先頭になるまでの過程を示している。
【００５４】
図１２Ａは、図７の優先表示画面の状態におけるリスト内の機能群およびリスト外の機能群の各機能と、各機能の使用回数、直前フラグ、および点数とからなる表と、リストの内容（順位を含む）を示している。
【００５５】
図１２Ｂは、図１２Ａの状態から、機能選択の際にユーザがＩＮＦＯＲＭＡＴＩＯＮ  Ｂ２（Ｂ２）を選択した場合を示している。この段階ではＢ２はリスト外の機能であるため、使用回数、直前フラグのカウンタがインクリメントされ、それぞれ１となっている。
【００５６】
図１２Ｃでは、上記で各カウンタがインクリメントされた後、全ての機能に点数付けを行った結果を示している。リスト内の機能群は順位に合わせて、ＩＮＦＯＲＭＡＴＩＯＮ  Ｃ１（Ｃ１）に７点、ＩＮＦＯＲＭＡＴＩＯＮ  Ｂ１（Ｂ１）に５点が割り振られる（ここでは点数が上書きされる）。リスト外の機能群ではＢ２に１＋１×１＝２点の点数が割り振られる。
【００５７】
図１２Ｄは、同図上段の表を点数の降順で並び替えを行った結果である。Ｂ２は、表の中の順位が上がりリスト内の機能群の３番目となっている。このＢ２はリストにはなかった機能であるため、リストの更新が発生する。
【００５８】
前述の更新方法に則り、点数の上位から３位までが新たなリスト内の機能群として登録され、Ｂ２がリスト内の機能となり、図１２Ｅに示すようにＢ２がリストに入る。
【００５９】
図１２Ｆは、リスト内の機能群の機能である、Ｂ１、Ｂ２が続けて機能選択された際の状況を示している。ユーザがリスト内の機能を選択した場合は、リスト内の並び替えのみが発生する。Ｂ１選択時には、リスト内で、Ｂ１が１位、Ｃ１が２位、Ｂ２が３位となるが、その後Ｂ２が選択されて、Ｂ２が１位、Ｂ１が２位、Ｃ１が３位となっている。
【００６０】
続いて、図１３Ａ〜図１３Ｅに、リスト外の機能群にあったＩＮＦＯＲＭＡＴＩＯＮ  Ａ２（Ａ２）がリスト内の機能群のＣ１の代わりに、リスト内の機能群に含まれるまでの過程を示す。
【００６１】
図１３Ａでは、ユーザがＡ２を選択し、その後、更新処理部１１２によりカウンタ処理、点数計算、並び替えの処理まで行ったが、点数上位がリスト内の機能群と変わらなかったため、リスト更新が起きなかった状況を示している。この際、Ａ２の使用回数、直前フラグのカウンタはともに１となっている。
【００６２】
図１３Ｂでは、図１３Ａの状態から、ユーザがＢ２を選択した状況を示している。ユーザがリスト内の機能群を選択したため、更新処理部１１２の並び替え部１１２３によりリストの並び替えが発生するが、既にＢ２は先頭にあるため、実際には何も起こらない。しかしユーザによりリスト内の機能群が選択されたため、更新処理部１１２のカウンタ初期化部１１２５により、リスト外の機能群の直前フラグが０に初期化される。よってここでは、Ａ２の直前フラグが０となる。
【００６３】
図１３Ｃは、図１３Ｂの状態からユーザがＡ２を選択した際の点数計算を示している。Ａ２が選択されるのはこれで２回目であり、使用回数が２、直前フラグが今回の処理で再び１となっている。そのためＡ２に付ける点数は２＋２×１＝４点となる。一方、リスト内の機能群は前述のルールどおり、上位から７点、５点、３点となる。
【００６４】
図１３Ｄは、図１３Ｃにおける点数を降順に、並び替えを行った結果である。ここでＡ２がＣ１より点数が高いため、順位が変更され、リスト外の機能群の機能であったＡ２がリスト内の機能群の第３位となり、リスト内の機能群の機能であったＣ１がリスト外の機能群の第１位となっている。
【００６５】
図１３Ｅでは、図１３Ｄの状態からリスト更新を行っている。今回は上位３位のなかにリスト内の機能群になかったＡ２が含まれているため、前述のようにリストの更新が発生する。これによりＡ２がリストに登録され、Ｃ１がリストから除外される。リストの更新後は、全ての機能の使用回数、直前フラグを０に初期化するため、Ａ２の使用回数、直前フラグは０となる。
【００６６】
以上によって、図７の優先表示画面が、図８の優先表示画面へと変化することとなる。
【００６７】
以上に説明したように、本実施形態にかかるデバイスドライバは、起動時間の遅延や、それに伴う電気使用量の増加を防ぐ新たな、頻用機能を優先的に表示するユーザインタフェースを提供する。本実施形態において頻用機能を優先的に表示するのは、デバイスドライバであり、印刷機器等のデバイス本体に実装されるものと違って、ユーザごとに自身のパーソナルコンピュータに導入して使用することができる。このため、使用状況を示す機能の使用回数などをユーザ毎に分けて保存する必要がない。また、デバイスドライバにおける頻用する機能の選出および優先表示画面の更新を上述の手法により行うので、デバイスドライバは、起動される度に頻用する機能を選出することがないので、デバイスドライバの起動時間の遅延や、それに伴う電気使用量の増加を抑えることができる。
【００６８】
図１４は、図１に示したＰＣ１０のハードウェア構成を示す図である。図１４に示すようにＰＣ１０は、ＣＰＵ１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、ディスプレイ装置などの表示装置１０５と、キーボードやマウスなどの入力装置１０６と、通信インタフェース（通信Ｉ／Ｆ）１０７と、これらを接続するバス１０８と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００６９】
また、ＰＣ１０で実行されるデバイスドライバ（図１ではプリンタドライバ１１）は、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録されて提供される。
【００７０】
また、本実施形態にかかるデバイスドライバを、インターネット等のネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でダウンロードさせることにより提供または配布するように構成してもよい。
【００７１】
また、本実施形態にかかるデバイスドライバを、ＲＯＭ１０２等に予め組み込んで、すなわち情報処理装置（ＰＣ１０）として提供するようにしてもよい。
【００７２】
なお、本実施形態にかかるデバイスドライバ（図２ではプリンタドライバ１１）は、図２を用いて前述した各処理部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１０１が上記記憶媒体からデバイスドライバをロードし展開することにより上記各処理部がＲＡＭ１０３上に生成されるようになっている。
【符号の説明】
【００７３】
１０  ＰＣ（情報処理装置）
１１  プリンタドライバ
２０  プリンタ
３０  ネットワーク
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  表示装置
１０６  入力装置
１０７  通信Ｉ／Ｆ
１１１  ユーザインタフェース表示処理部
１１２  更新処理部
１１２１  カウンタ処理部
１１２２  点数計算部
１１２３  並び替え部
１１２４  リスト更新部
１１２５  カウンタ初期化部
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２０１０−０４１２３８号公報
【図１】
2016042304.tif 000003
【図２】
2016042304.tif 000004
【図３】
2016042304.tif 000005
【図４】
2016042304.tif 000006
【図５】
2016042304.tif 000007
【図６】
2016042304.tif 000008
【図７】
2016042304.tif 000009
【図８】
2016042304.tif 000010
【図９】
2016042304.tif 000011
【図１０】
2016042304.tif 000012
【図１１】
2016042304.tif 000013
【図１２Ａ】
2016042304.tif 000014
【図１２Ｂ】
2016042304.tif 000015
【図１２Ｃ】
2016042304.tif 000016
【図１２Ｄ】
2016042304.tif 000017
【図１２Ｅ】
2016042304.tif 000018
【図１２Ｆ】
2016042304.tif 000019
【図１３Ａ】
2016042304.tif 000020
【図１３Ｂ】
2016042304.tif 000021
【図１３Ｃ】
2016042304.tif 000022
【図１３Ｄ】
2016042304.tif 000023
【図１３Ｅ】
2016042304.tif 000024
【図１４】
2016042304.tif 000025