(57)【要約】【課題】画像形成装置に最適な印刷を行わせることが可能な情報処理装置を提供する。【解決手段】  ジョブ設定情報取得部１００は、ジョブ設定情報３００を取得する。ドライバー設定取得部１１０は、ジョブ２００が出力される際のドライバー設定２１０を取得する。出力時間予測部１２０は、ジョブ設定情報３００と、ドライバー設定２１０とから、予測出力時間２２０を算出する。最適化設定算出部１３０は、ジョブ設定情報３００に対して、予想出力時間２２０よりも短い時間で出力可能な最適化ドライバー設定２５０を算出する。ジョブ出力部１４０は、算出された最適化ドライバー設定２５０により、ジョブ２００を、画像形成装置に出力させる。【選択図】図２
2018173942.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ設定情報を取得するジョブ設定情報取得部と、
ジョブが出力される際のドライバー設定を取得するドライバー設定取得部と、
前記ジョブ設定情報取得部により取得された前記ジョブ設定情報と、前記ドライバー設定取得部により取得された前記ドライバー設定とから、予測出力時間を算出する出力時間予測部と、
前記ジョブ設定情報取得部により取得された前記ジョブ設定情報に対して、前記出力時間予測部で算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出する最適化設定算出部と、
前記最適化設定算出部により算出された前記最適化ドライバー設定を用いて、前記ジョブを出力するジョブ出力部とを備える
ことを特徴とする情報処理装置。
【請求項２】
以前のジョブが出力された際のジョブ設定情報とドライバー設定と実際出力時間とを履歴データとして格納する履歴データ格納部を更に備え、
前記出力時間予測部は、前記履歴データ格納部に格納された前記履歴データにより、前記予測出力時間を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記最適化設定算出部は、複数の異なるドライバー設定候補を作成し、該複数の異なるドライバー設定候補から前記最適化ドライバー設定を算出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記複数の異なるドライバー設定候補は、異なる設定情報の列をもつクロモゾームであり、
前記最適化設定算出部は、各クロモゾームにおける予測出力時間に対応した適合度を算出し、前記クロモゾームを交差及び突然変異させて最適なクロモゾームを繰り返し選択することで、前記最適化ドライバー設定を算出する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記最適化設定算出部は、前記履歴データのジョブ設定情報及びドライバー設定と前記クロモゾームとを比較して検索することで、対応する出力時間から前記適合度を算出する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記最適化設定算出部は、
比較の際、完全一致するジョブ設定情報及びドライバー設定がなかった場合、関連する複数のジョブ設定情報及びドライバー設定に対応する前記実際出力時間を用いて前記適合度を算出する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
情報処理装置により実行される情報処理方法であって、
ジョブ設定情報を取得し、
ジョブが出力される際のドライバー設定を取得し、
取得された前記ジョブ設定情報と、取得された前記ドライバー設定とから、予測出力時間を算出し、
取得された前記ジョブ設定情報に対して、算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出し、
算出された前記最適化ドライバー設定を用いて、前記ジョブを出力する
ことを特徴とする情報処理方法。
【請求項８】
情報処理装置に実行されるプログラムであって、前記プログラムは、
ジョブ設定情報を取得し、
ジョブが出力される際のドライバー設定を取得し、
取得された前記ジョブ設定情報と、取得された前記ドライバー設定とから、予測出力時間を算出し、
取得された前記ジョブ設定情報に対して、算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出し、
算出された前記最適化ドライバー設定を用いて、前記ジョブを出力する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに係り、特に画像形成装置のドライバー等を実行する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
典型的な技術として、文書や画像を印刷可能な複合機（Multifunctional Peripheral, MFP）等の画像形成装置が存在する。
【０００３】
また、特許文献１に記載されているような典型的な技術では、管理ファイルに保存された印刷処理に関する情報を用いて印刷処理に関する最適な処理環境を構築するコンピューター内のデバイスドライバーが開示されている。この管理ファイルに格納される情報としては、印刷装置に対する設定情報、その状態情報、印刷装置に発生したエラーの内容を示すエラー情報、印刷データに対する印刷処理を実行した日時を示す日時情報などがある。これらの情報は履歴的に管理されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３７９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、典型的な技術では、エラー情報を基に印刷の設定を変更するだけなので、必ずしも最も速いスピードで印刷ジョブ等を出力させることができなかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消する画像形成装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、ジョブ設定情報取得部と、ドライバー設定取得部と、出力時間予測部と、最適化設定算出部と、ジョブ出力部とを備える。ジョブ設定情報取得部は、ジョブ設定情報を取得する。ドライバー設定取得部は、ジョブが出力される際のドライバー設定を取得する。出力時間予測部は、前記ジョブ設定情報取得部により取得された前記ジョブ設定情報と、前記ドライバー設定取得部により取得された前記ドライバー設定とから、予測出力時間を算出する。最適化設定算出部は、前記ジョブ設定情報取得部により取得された前記ジョブ設定情報に対して、前記出力時間予測部で算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出する。ジョブ出力部は、前記最適化設定算出部により算出された最適化ドライバー設定により、前記ジョブを出力させる。
本発明の情報処理方法は、情報処理装置により実行される情報処理方法である。ジョブ設定情報を取得する。ジョブが出力される際のドライバー設定を取得する。取得された前記ジョブ設定情報と、取得された前記ドライバー設定とから、予測出力時間を算出する。取得された前記ジョブ設定情報に対して、算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出する。算出された前記最適化ドライバー設定により、前記ジョブを出力させる。
本発明のプログラムは、情報処理装置に実行されるプログラムである。前記プログラムは、ジョブ設定情報を取得する。前記ジョブが出力される際のドライバー設定を取得する。取得された前記ジョブ設定情報と、取得された前記ドライバー設定とから、予測出力時間を算出する。取得された前記ジョブ設定情報に対して、算出された前記予測出力時間よりも短い時間で出力可能な最適化ドライバー設定を算出する。算出された前記最適化ドライバー設定により、前記ジョブを出力させる。
【発明の効果】
【０００８】
本発明によれば、ジョブ設定情報に対して、算出された前記予測出力時間よりも短い時間で出力可能なドライバー設定を算出することで、より最適な状態でジョブを出力させることが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施の形態に係る画像形成システムのシステム構成図である。
【図２】図１に示す画像形成装置の制御構成を示すブロック図である。
【図３】本開示の実施の形態に係る最適化ドライバー設定算出出力処理のフローチャートである。
【図４】図３に示す最適化ドライバー設定算出処理のフローチャートである。
【発明を実施するための形態】
【００１０】
＜実施の形態＞
〔画像形成システムＸのシステム構成〕
まず、図１により、実施の形態に係る画像形成システムＸの構成について説明する。
画像形成システムＸは、例えば、情報処理装置１が、ネットワーク５を介して、画像形成装置２と接続されている。
情報処理装置１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やスマートフォン等のコンピューターである。
画像形成装置２は、ＭＦＰやプリンター等の画像形成装置である。
ネットワーク５は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。
なお、ネットワーク５を介さず、情報処理装置１及び画像形成装置２が直接接続される構成であってもよい。
また、情報処理装置１及び／又は画像形成装置２は、複数備えられていてもよい。
【００１１】
図２を参照すると、情報処理装置１は、ハードウェアリソースとして、制御部１０、表示部１２，入力部１３、ネットワーク送受信部１５、及び記憶部１９等を含んでいる。
情報処理装置１の各部は制御部１０に接続され、制御部１０によって全体が制御される。
【００１２】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）等の情報処理ユニットである。
制御部１０は、記憶部１９に記憶されている制御プログラムを読み出して、この制御プログラムを実行することで、後述する各機能ブロックとして動作させられる。
また、制御部１０は、入力部１３から入力された所定の指示情報に応じて、装置全体の制御を行う。
【００１３】
表示部１２は、液晶や有機ＥＬ等のディスプレイである。
表示部１２には、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）にて、画像形成装置２のドライバー設定２１０（図２）が表示される。
【００１４】
入力部１３は、タッチパネルやキーボードやマウス等である。
入力部１３は、ユーザーからの指示を取得する。
このユーザーの指示は、ドライバー設定２１０の設定情報を含む。また、ユーザーの指示は、最適化ドライバー設定２５０を選択するか否かを含む。
【００１５】
ネットワーク送受信部１５は、ＬＡＮやＷＡＮと接続するためのデバイスである。
ネットワーク送受信部１５を介して、情報処理装置１はネットワーク５に接続し、画像形成装置２との間で情報を送受信することが可能となる。
この送受信される情報は、後述するジョブ２００と、ジョブ２００の開始、終了、状態取得等のコマンドとを含む。
【００１６】
記憶部１９は、コンピューター読み込み及び／又は書き込み可能な一時的でない記録媒体である。
記憶部１９には、プログラムやデータを格納している。
このプログラムは、情報処理装置１の動作制御を行うためのＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）、画像形成装置２の制御を行うデバイスドライバー、ＯＳ上で動作するアプリケーションソフトウェア等を含む。
なお、記憶部１９は、取り外し可能であってもよく、記録内容が、他の一時的でない記録媒体からインストールされたり、バックアップされたりしてもよい。
【００１７】
なお、制御部１０及びネットワーク送受信部１５は、いわゆるＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）、ＧＰＵ内蔵ＣＰＵ等のように、一体的に形成されていてもよい。
また、制御部１０及びネットワーク送受信部１５は、一時的でない記憶媒体を内蔵していてもよい。
また、表示部１２と入力部１３とは一体的に形成されたタッチパネル等であってもよい。
また、情報処理装置１は、他のハードウェアユニットを備えていてもよい。
【００１８】
〔情報処理装置１の制御構成〕
ここで、図２を参照し、情報処理装置１の制御構成について説明する。
情報処理装置１の制御部１０は、ジョブ設定情報取得部１００、ドライバー設定取得部１１０、出力時間予測部１２０、最適化設定算出部１３０、及びジョブ出力部１４０を備えている。
記憶部１９は、ジョブ２００、ドライバー設定２１０、予測出力時間２２０、履歴データ格納部２３０、ドライバー設定候補群２４０、及び最適化ドライバー設定２５０を格納している。
【００１９】
ジョブ設定情報取得部１００は、ジョブ２００のジョブ設定情報３００を取得する。
具体的には、ジョブ設定情報取得部１００は、記憶部１９に格納されたジョブ２００を解析し、ジョブ２００に含まれる設定及びプロパティの情報をジョブ設定情報３００として取得する。
【００２０】
ドライバー設定取得部１１０は、ジョブ２００が出力される際のドライバー設定２１０を取得する。
また、ドライバー設定取得部１１０は、記憶部１９に格納されているドライバー設定２１０を取得する。
【００２１】
出力時間予測部１２０は、ジョブ設定情報取得部１００により取得されたジョブ設定情報３００と、ドライバー設定取得部１１０により取得されたドライバー設定２１０とから、予測出力時間２２０を算出する。
また、出力時間予測部１２０は、履歴データ格納部２３０に格納された履歴データにより、予測出力時間２２０を算出してもよい。
【００２２】
最適化設定算出部１３０は、ジョブ設定情報取得部１００により取得されたジョブ設定情報３００に対して、出力時間予測部１２０で予測された出力時間よりも短い時間で出力可能な最適化ドライバー設定２５０を算出する。
また、最適化設定算出部１３０は、複数の異なるドライバー設定候補を作成し、複数の異なるドライバー設定候補から最適化ドライバー設定２５０を算出してもよい。
この際、最適化設定算出部１３０は、遺伝的アルゴリズムにより、最適化ドライバー設定２５０を算出してもよい。
この場合、複数の異なるドライバー設定候補はクロモゾームであり、それぞれのクロモゾームは、異なる設定情報を含む列である。
最適化設定算出部１３０は、各クロモゾームにおける予測出力時間２２０に対応した適合度を算出し、クロモゾームを交差及び突然変異させて最適なクロモゾームを繰り返し選択する。
また、最適化設定算出部１３０は、履歴データ格納部２３０の履歴データに格納されたジョブ設定情報３０１とクロモゾームのそれぞれとを比較して検索してもよい。
これにより、最適化設定算出部１３０は、履歴データの対応する実際出力時間３２０から適合度を算出してもよい。
また、最適化設定算出部１３０は、この比較において完全一致するジョブ設定情報３００がなかった場合、関連する複数のジョブ設定情報３０１の実際出力時間３２０を用いて適合度を算出してもよい。
【００２３】
ジョブ出力部１４０は、最適化設定算出部１３０により算出された最適化ドライバー設定２５０により、ジョブ２００を出力させる。
【００２４】
ジョブ２００は、例えば、ユーザーがアプリケーションで作成した、画像形成装置２で出力させるためのデータやコマンド等を含んでいる。
ジョブ２００は、プリントジョブ、リモートスキャンジョブ、リモートファクシミリジョブ等であってもよい。
本実施形態においては、ジョブ２００がプリントジョブである例について説明する。
この場合、ジョブ２００は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記載されたデータであってもよい。
【００２５】
ドライバー設定２１０は、画像形成装置２でのジョブ２００の出力の設定のデータである。
ドライバー設定２１０は、プリンタードライバー等の制御プログラムのＧＵＩにて、入力部１３及び表示部１２を用いてユーザーにより設定されてもよい。
また、ドライバー設定２１０は、ジョブ２００の設定情報により自動的に初期値が設定されたり、又は、アプリケーションによりデフォルトの設定が適用されたりしてもよい。
ドライバー設定２１０は、例えば、ＰＤＬモード、ダウンロード可能フォント設定、解像度、エコプリントレベル、ハーフトーンスクリーン設定、ウォーターマーク設定等を含んでいてもよい。
このうち、ダウンロード可能フォント設定は、ダウンロード可能なフォントを使用するか、埋め込みフォントを使用するか等の設定である。
また、解像度は、単純なドットの密度ではなくてもよい。
たとえば、解像度として、速度と解像度のバランス等が規定されていてもよい。
また、エコプリントレベルは、使用トナーの量を減らすために薄く印刷するレベル等の設定である。
また、ウォーターマーク設定は、「社外秘」、企業ロゴ等の透かしの設定である。ウォーターマーク設定は、ウォーターマークアングル、ウォーターマークサイズ等の設定を含んでいる。
ウォーターマークアングルは、ウォーターマークの角度を示し、ウォーターマークサイズは、ウォーターマークの大きさを示す。
【００２６】
予測出力時間２２０は、ドライバー設定２１０が適用された場合における、ジョブ２００の出力時間の予想値である。
予測出力時間２２０は、例えば、ジョブ２００が画像形成装置に送信される時間と、実際にジョブ２００が出力されるページあたりの時間とを含む。
【００２７】
履歴データ格納部２３０は、履歴データを格納するデータベース等である。
履歴データ格納部２３０は、例えば、以前のジョブが出力された際のジョブ設定情報３０１、ドライバー設定３１１、実際出力時間３２０等を履歴データとして格納する。
この実際出力時間３２０は、例えば、実際にジョブが出力された時間のうち最初の１ページの時間と、残りのページをページ数等で平均化した１ページあたりの出力時間との平均値である。
すなわち、例えば、３ページのジョブについて、１枚目が１８秒で出力され、残りの２枚が１２秒で出力された場合、実際出力時間３２０は、（１８＋（１２／２））／２＝１２（秒／ページ）と算出される。
なお、この実際出力時間３２０として、単にページ毎の平均値を用いてもよい。
また、ドライバー設定２１０を含まない履歴データとすることも可能である。
【００２８】
ドライバー設定候補群２４０は、複数の異なるドライバー設定候補を含む。
また、ドライバー設定候補群２４０は、複数の異なるドライバー設定候補として、異なる設定情報の列であるクロモゾーム（クロモゾーム群）を含む。
このクロモゾームの構成については後述する。
【００２９】
最適化ドライバー設定２５０は、最適化設定算出部１３０により算出された、最適なドライバー設定である。
最適化ドライバー設定２５０は、ドライバー設定２１０でジョブ２００を出力した際よりも短い時間で出力可能と予想されたドライバー設定である。
すなわち、最適化ドライバー設定２５０が存在した場合、この設定を用いてジョブ２００を出力すると、予測出力時間２２０よりも出力時間が短くなる。
また、最適化ドライバー設定２５０は、最適化設定算出部１３０により遺伝的アルゴリズムで算出されたクロモゾーム群のうち、最大の適合度を備えたクロモゾームのドライバー設定候補であってもよい。
【００３０】
また、ジョブ２００は、ジョブ設定情報３００を含んでいる。
ジョブ設定情報３００は、ジョブ２００の種類や特性に対応したデータである。
ジョブ２００がプリントジョブの場合、ジョブ設定情報３００は、例えば、ＰＤＬモード、プリントしたアプリケーションの種類、埋め込みフォントの有無、イメージの量、レイヤー数、高度設定等を含んでいる。
このうち、高度設定は、イメージ設定、調整設定、ウォーターマーク設定等を含んでいてもよい。
なお、ジョブ設定情報３００は、この他にも、画像の種類と有無、解像度、出力する画像形成装置の性能、ユーザーの情報等を含んでいてもよい。
【００３１】
ここで、情報処理装置１の制御部１０は、記憶部１９に記憶された制御プログラムを実行することで、ジョブ設定情報取得部１００、ドライバー設定取得部１１０、出力時間予測部１２０、最適化設定算出部１３０、及びジョブ出力部１４０として機能させられる。
また、上述の情報処理装置１の各部は、本開示の画像形成方法を実行するハードウェア資源となる。
【００３２】
〔情報処理装置１による最適化ドライバー設定算出出力処理〕
次に、図３を参照して、本開示の実施の形態に係る情報処理装置１による進化ストラテジーによる最適化ドライバー設定算出出力処理の説明を行う。
本実施形態の最適化ドライバー設定算出出力処理において、まず、ジョブ２００のジョブ設定情報３００を取得する。
そして、ジョブ２００が出力される際のドライバー設定２１０を取得する。
また、取得されたジョブ設定情報３００と、取得されたドライバー設定２１０とから、予測出力時間２２０を算出する。
次に、取得されたジョブ設定情報３００に対して、算出された予測出力時間２２０よりも短い時間で出力可能な最適化ドライバー設定２５０を算出する。
この算出された最適化ドライバー設定２５０が存在した場合、算出された最適化ドライバー設定２５０により、ジョブ２００を出力させる。
また、最適化ドライバー設定２５０が存在しなかった場合は、ドライバー設定２１０により、ジョブ２００を出力させる。
最適化ドライバー設定算出出力処理は、主に情報処理装置１の制御部１０が、記憶部１９に記憶されたプログラムを、ハードウェア資源を用いて各部と協働して実行する。
以下で、図３のフローチャートを参照して、最適化ドライバー設定算出出力処理の詳細をステップ毎に説明する。
【００３３】
（ステップＳ１０１）
まず、ジョブ設定情報取得部１００が、ジョブ開始処理を行う。
ジョブ設定情報取得部１００は、アプリケーションにより印刷等が行われた場合、プリントのジョブ２００をスプール等して記憶部１９に格納する。
この状態では、ジョブ２００は、デフォルトのジョブ設定情報３００が設定されている。
また、ドライバーのＧＵＩ等にてプリント設定が行われた場合、これがジョブ２００のジョブ設定情報３００及びドライバー設定２１０に反映されている。
【００３４】
（ステップＳ１０２）
次に、ジョブ設定情報取得部１００が、ジョブ設定情報取得処理を行う。
ジョブ設定情報取得部１００は、ジョブ２００のＰＤＬ等を解析して、ジョブ設定情報３００を取得し、記憶部１９に格納する。
【００３５】
（ステップＳ１０３）
次に、ドライバー設定取得部１１０が、ドライバー設定取得処理を行う。
ドライバー設定取得部１１０は、記憶部１９に格納されたドライバー設定２１０を参照する。
これにより、ドライバー設定取得部１１０は、ジョブ２００が出力される際のドライバー設定２１０を取得することが可能になる。
【００３６】
（ステップＳ１０４）
次に、最適化設定算出部１３０が、最適化ドライバー設定算出処理を行う。
最適化設定算出部１３０は、記憶部１９に格納された出力時間よりも短い時間で出力可能な最適化ドライバー設定２５０を算出する。
その際に、最適化設定算出部１３０は、最適化ドライバー設定２５０が見つかった場合、推薦表示して、ユーザーに最適化ドライバー設定２５０への変更の許可を求めてもよい。
たとえば、「この設定に変更すると、履歴データによれば、パフォーマンスが３倍速くなります。変更しますか？」等のダイアログを表示して、ユーザーに設定の変更の可否を尋ねてもよい。
なお、最適化ドライバー設定算出処理の実際の最適化の詳細については、後述する。
【００３７】
（ステップＳ１０５）
次に、最適化設定算出部１３０が、最適化ドライバー設定２５０があるか否かを判定する。
最適化設定算出部１３０は、最適化ドライバー設定２５０が少なくとも一つは算出され、記憶部１９に格納されていた場合に、Ｙｅｓと判断する。
最適化ドライバー設定２５０は、それ以外の場合には、Ｎｏと判断する。
なお、最適化ドライバー設定２５０が推薦された際に、ユーザーが拒否した場合もＮｏと判断する。
Ｙｅｓの場合、最適化ドライバー設定２５０は、処理をステップＳ１０６に進める。
Ｎｏの場合、最適化ドライバー設定２５０は、処理をステップＳ１０７に進める。
【００３８】
（ステップＳ１０６）
最適化ドライバー設定２５０が算出された場合、ジョブ出力部１４０が、最適化ドライバー設定出力処理を行う。
ジョブ出力部１４０は、算出された最適化ドライバー設定２５０を用いて、ジョブ２００を画像形成装置２へ送信して出力させる。
その後、ジョブ出力部１４０は、処理をステップＳ１０８に進める。
【００３９】
（ステップＳ１０７）
最適化ドライバー設定２５０が算出されなかった場合、ジョブ出力部１４０が、ドライバー設定出力処理を行う。
ジョブ出力部１４０は、ユーザーに設定されたドライバー設定２１０により、ジョブ２００を画像形成装置２へ送信して出力させる。
その後、ジョブ出力部１４０は、処理をステップＳ１０８に進める。
【００４０】
（ステップＳ１０８）
ここで、最適化設定算出部１３０が、履歴データ格納処理を行う。
本実施形態においては、画像形成装置２は、機種や環境により、カラー機又はモノクロ専用機、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）ダイレクトプリント機能を備えているか否か、フォントを内蔵しているか否か、ファームウェアのバージョン等の機能のバリエーションがあってもよい。
このため、最適化設定算出部１３０は、ジョブ２００の出力時間を測定する。
そして、最適化設定算出部１３０は、ジョブ２００のジョブ設定情報３０１、出力された際のドライバー設定３１１、実際出力時間３２０を、履歴データ格納部２３０に履歴データとして格納する。
なお、この出力された際のドライバー設定３１１は、最適化ドライバー設定２５０が算出された場合は最適化ドライバー設定２５０であってもよい。
そうでない場合は、ユーザーに設定等されたドライバー設定２１０になってもよい。
これにより、次回以降の最適化ドライバー設定２５０の適合精度を向上させることができる。
以上により、実施の形態に係る最適化ドライバー設定算出出力処理を終了する。
【００４１】
次に、図４により、本開示の実施の形態に係る最適化ドライバー設定算出処理の詳細について説明する。
【００４２】
（ステップＳ２０１）
まず、最適化設定算出部１３０がエンコード処理を行う。
最適化設定算出部１３０は、複数の異なるドライバー設定候補であるドライバー設定候補群２４０を作成し、これを用いて最適化ドライバー設定２５０を算出する。
この際、このドライバー設定候補群２４０として、例えば、遺伝的アルゴリズムで用いる解決策として、設定情報の列であるクロモゾーム群を作成する。
【００４３】
具体的には、最適化設定算出部１３０は、ビットアレイをクロモゾームとして生成する。
このビットアレイでは、ジョブ２００がプリントジョブであった場合、プリントドライバーの設定情報のそれぞれがビットで表される。
最適化設定算出部１３０は、各クロモゾームにおいて、変更してもユーザーのジョブ２００の出力意図を大きく損ねない設定のみを選択してもよい。
各ビットアレイは、例えば、下記のようにエンコードされる：
ＰＤＬモード  −＞  専用ＰＤＬ：００、ＰＣＬ：０１、ＰＤＦ：１０、ＰＣＬ  ＸＬ：１１
ダウンロード可能フォント設定−＞ダウンロード可能フォント使用：１、埋め込みフォントを使用：０
解像度−＞３００ｄｐｉ：００、６００ｄｐｉ：０１、高速１２００：１０、ファイン１２００：１１
エコプリントレベル（０〜６）−＞０：０００、１：００１、……、６：１１０
ハーフトーンスクリーン設定−＞ノーマル：００、グラデーション優先：０１、解像度優先：１０、高精細：１１
ウォーターマークアングル（−１８０〜１８０度）−＞−１８０：００００００、−１７０：０００００１、……
ウォーターマークサイズ（２４、３０、３６、……、７２ポイント）−＞２４：０００、……、７２：１１１
……
なお、ウォーターマークアングルと、ウォーターマークサイズは、ウォーターマーク設定に含まれる。
このウォーターマーク設定は、ユーザーがウォーターマークの付加を指示した場合のみエンコードしてもよい。
【００４４】
これらのクロモゾーム群は、記憶部１９に領域がアサインされる。
その後、まずは、ユーザーにより設定されたドライバー設定２１０が反映されたクロモゾームが一つ作成される：
たとえば、ユーザーのドライバー設定２１０において、ＰＤＦモード、ダウンロード可能フォントを使用せず、埋め込みフォントを使用、解像度６００ｄｐｉ、エコプリントはオフ（０）、ハーフトーンスクリーン設定はノーマル、ウォーターマークアングルは３０度、ウォーターマークサイズは３６ポイントである場合、以下のアレイのようなクロモゾームにエンコードする：
クロモゾーム：１０（ＰＤＦ）０（フォント）０１（解像度）０００（エコプリント）００（ハーフトーン）０１０１０１（ウォーターマークアングル）０１０（ウォーターマークサイズ）
【００４５】
（ステップＳ２０２）
次に、最適化設定算出部１３０が、進化及び選択処理を行う。
最適化設定算出部１３０は、上述したユーザーのドライバー設定２１０のクロモゾームを、複数回、ランダムに交差及び突然変異させる。
これにより、最適化設定算出部１３０は、クロモゾーム群を作成する。
ここで、交差とは、二つのクロモゾームをランダムなビットの箇所で交換することである。
例えば、
０１０１０  −−＞  ３番目の位置で交差  −−＞  １０１０１
１０１０１  −−＞  ３番目の位置で交差  −−＞  １００１０
また、突然変異は、クロモゾーム内のビットを反転させることである。
例えば、
０００００  −−＞  ２番目の位置で突然変異  −−＞  ０１０００
最適化設定算出部１３０は、作成されたクロモゾーム群の各クロモゾームについて適合度を算出する。
この適合度は、このクロモゾームに符号化されたドライバー設定候補においてジョブ２００を出力した際の予測出力時間に対応している。
この際に、最適化設定算出部１３０は、履歴データを用いて適合度を見つける。
具体的には、最適化設定算出部１３０は、上述のように平均化された１ページあたりの実際出力時間３２０と履歴データとを用いて、適合度を算出してもよい。
最適化設定算出部１３０は、各クロモゾームにおいて、予測出力時間に対応した適合度を算出する。
そして、各クロモゾームは、適合度順にソートされる。
この上で、最適化設定算出部１３０は、例えば、適合度が上位から半分程度のクロモゾームについて、再度、交差及び突然変異させ、新たなクロモゾームを生成し、下位のクロモゾームと置き換える。
これにより、最適なクロモゾームが繰り返し選択される。
最適化設定算出部１３０は、この繰り返し数として、例えば、予め算出された特定回数を設定してもよい。
また、最適化設定算出部１３０は、例えば、繰り返しの結果、適合度の最大値が変化しなくなるまでといった条件を設定可能である。
【００４６】
また、最適化設定算出部１３０は、履歴データのジョブ設定情報３０１及びドライバー設定３１１とクロモゾームとを比較して検索することで、対応する実際出力時間３２０から適合度を算出してもよい。
また、最適化設定算出部１３０は、比較の際、完全一致するジョブ設定情報３００及びドライバー設定２１０がなかった場合、関連する複数の履歴データの実際出力時間３２０を用いて適合度を算出する。
具体的には、最適化設定算出部１３０は、例えば、上述のようにＰＤＦで、６００ｄｐｉ、ウォーターマークアングル３０度の場合、以下の３ケースの何れかを選択し、適合度を算出してもよい。
【００４７】
ケース１：
最適化設定算出部１３０がクロモゾームの設定と完全に一致する履歴データのドライバー設定３１１を検索できたケースでは、最適化設定算出部１３０は、この履歴データの実際出力時間３２０を、適合度、すなわち、対応する出力時間として算出する。
【００４８】
ケース２：
このケースでは、最適化設定算出部１３０は、クロモゾームの設定とが完全に一致する履歴データのジョブ設定情報３０１及びドライバー設定３１１が検索できなかった。
この場合、最適化設定算出部１３０は、関連する２つの履歴データのジョブ設定情報３０１及びドライバー設定３１１に対応する実際出力時間３２０を重み付けする。
たとえば、以下の２つの関連する履歴データがあった場合について説明すると：
１．ＰＤＦ、６００ｄｐｉ、０度    −＞  Ｐ１秒
２．ＰＤＦ、６００ｄｐｉ、６０度  −＞  Ｐ２秒
クロモゾームの設定がＰＤＦ、６００ｄｐｉ、３０度の場合、最適化設定算出部１３０は、適合度＝（Ｐ１＊（３０−０）＋Ｐ２＊（６０−３０））／６０＝Ｘ１（秒／ページ）と算出可能である。
この場合は、算出された適合度そのものが、対応する出力時間となる。
【００４９】
ケース３：
これは、最適化設定算出部１３０が、クロモゾームの設定と一部のみ一致する履歴データのジョブ設定情報３０１及びドライバー設定３１１のみ検索できたケースである。
たとえば、以下のような履歴データがあった場合：
１．ＰＤＦ、６００ｄｐｉ、ウォーターマークなし  −＞  Ｑ１秒
２．ＰＣＬ、６００ｄｐｉ、ウォーターマークなし  −＞  Ｑ２秒
この場合、一致していた設定の程度を基に、重み付けすることが可能である。
たとえば、上述のクロモゾーム、ＰＤＦ、６００ｄｐｉ、３０度の場合について説明する。
１．については、一致した設定が、「ＰＤＦ」「６００ｄｐｉ」の２つなので、重み値ｍ１＝２となる。
また、２．では、一致した設定が「６００ｄｐｉ」の１つなので、重み値ｍ２＝１となる。
このため、最適化設定算出部１３０は、適合度＝（Ｑ１＊（ｍ１＋１）＋Ｑ２＊（ｍ２＋１））  ／（ｍ１＋１＋ｍ２＋１）＝Ｘ２（秒／ページ）と算出可能である。
この場合も、算出された適合度が、対応する出力時間となる。
【００５０】
（ステップＳ２０３）
次に、最適化設定算出部１３０が、デコード処理を行う。
最適化設定算出部１３０は、最大の適合度を備えたクロモゾーム（ドライバー設定候補）を、設定としてデコードし、これを最適化ドライバー設定２５０に格納する。
なお、この最大の適合度が予測出力時間２２０と同じ又は長かった場合、最適化設定算出部１３０は、最適化ドライバー設定２５０を算出できなかったと判断してもよい。
また、そもそも、最大の適合度を備えたクロモゾームのドライバー設定が、ユーザーの設定したドライバー設定２１０と同じであった場合も、最適化設定算出部１３０は、最適化ドライバー設定２５０を算出できなかったと判断してもよい。
以上により、実施の形態に係る最適化ドライバー設定算出処理を終了する。
【００５１】
以上のように構成することで、以下のような効果を得ることができる。
印刷等において、どの程度の時間でジョブを示す出力時間であるパフォーマンスはクリティカルである。
特に、沢山のプリントジョブがある時は、これが顕著であった。
このパフォーマンスに与え得る一つの重大な因子は、ドライバーのＰＤＬモードの設定であった。
多くのプリンタードライバーでは、専用ＰＤＬ、ＰＳ（ポストスクリプト、登録商標）、ＰＣＬ、ＰＤＦモード等の、いくつかの異なるＰＤＬモードを選択可能であった。
それぞれは、向き不向きがある。しかし、多くのケースでは、プリント品質は同等となる。
しかしながら、アプリケーションが異なったり、ジョブ内のデータの内容が異なると、ＰＤＬモードの差によりプリントパフォーマンスの差が大きくなる。
たとえば、フォトレタッチとワードプロセッサーのアプリケーションでは、ＰＤＬモードでパフォーマンスが大きく異なる。
また、例えば、ジョブ内のデータがプレーンテキストファイルか、高品質写真か、マルチレイヤーのドキュメントか等についても、パフォーマンスにおおきな影響をもたらす。
加えて、他の多くのプリントの設定もパフォーマンスに大きく影響する。
たとえば、校正プリントのようにプリント品質が必要のない場合、「エコプリント」のレベルが高ければ、パフォーマンスが大きくスピードアップする。
また、もし、ユーザーがウォーターマークの角度にこだわらないのであれば、角度を０度にすれば、大きくプリントをスピードアップすることが可能になる。
しかしながら、典型的な技術では、これらの設定の効果については、まったく考慮がされていなかった。
これに対して、本開示の実施の形態に係る情報処理装置１は、ジョブ設定情報取得部１００と、ドライバー設定取得部１１０と、出力時間予測部１２０と、最適化設定算出部１３０と、ジョブ出力部１４０とを備える。
ジョブ設定情報取得部１００は、ジョブ設定情報３００を取得する。
ドライバー設定取得部１１０は、ジョブ２００が出力される際のドライバー設定２１０を取得する。
出力時間予測部１２０は、ジョブ設定情報取得部１００により取得されたジョブ設定情報３００と、ドライバー設定取得部１１０により取得されたドライバー設定２１０とから、予測出力時間２２０を算出する。
最適化設定算出部１３０は、ジョブ設定情報取得部１００により取得されたジョブ設定情報３００に対して、出力時間予測部１２０で算出された予測出力時間２２０よりも短い時間で出力可能な最適化ドライバー設定２５０を算出する。
ジョブ出力部１４０は、最適化設定算出部１３０により算出された最適化ドライバー設定２５０により、ジョブ２００を出力させる。
このように構成することで、最適化ドライバー設定２５０を用いて、より良好なパフォーマンスでジョブ２００を出力することが可能となる。
【００５２】
また、典型的な技術では、画像形成装置２のファームウェア等を改良して、パフォーマンスを向上させていた。
これに対して、本実施形態の情報処理装置１のように、情報処理装置１側でパフォーマンスを向上させることで、画像形成装置のファームウェアを変更せずにパフォーマンスを向上させることが可能となる。
【００５３】
また、本開示の実施の形態に係る情報処理装置１は、以前のジョブ２００が出力された際のジョブ設定情報３００とドライバー設定２１０と実際出力時間３２０とを履歴データとして格納する履歴データ格納部２３０を更に備える。
また、出力時間予測部１２０は、履歴データ格納部２３０に格納された履歴データにより、予測出力時間２２０を算出する。
このように構成することで、履歴データより、パフォーマンスを向上させるドライバー設定を選択可能となる。
【００５４】
また、本開示の実施の形態に係る情報処理装置１では、最適化設定算出部１３０は、複数の異なるドライバー設定候補を作成し、複数の異なるドライバー設定候補から最適化ドライバー設定２５０を算出する。
このように構成することで、進化ストラテジーで確実によりよいドライバー設定を選択可能となる。
【００５５】
また、本開示の実施の形態に係る情報処理装置１では、複数の異なるドライバー設定候補は、異なる設定情報の列であるクロモゾームである。
また、最適化設定算出部１３０は、各クロモゾームにおける予測出力時間に対応した適合度を算出する。
また、最適化設定算出部１３０は、クロモゾームを交差及び突然変異させて最適なクロモゾームを繰り返し選択する遺伝的アルゴリズムにより、最適化ドライバー設定２５０を算出する。
このように構成することで、遺伝的アルゴリズムにより、よりよい設定の組み合わせを検索しやすくなる。
【００５６】
また、本開示の実施の形態に係る情報処理装置１では、最適化設定算出部１３０は、履歴データ格納部２３０に格納された履歴データに格納されたジョブ設定情報３００及びドライバー設定２１０とクロモゾームとを比較して検索する。
これにより、最適化設定算出部１３０は、対応する実際出力時間３２０から適合度を算出する。
このように構成することで、履歴データを基にして、ユーザーの環境で最適な設定の組み合わせを発見可能となる。
【００５７】
また、本開示の実施の形態に係る情報処理装置１は、最適化設定算出部１３０は、比較の際、完全一致するジョブ設定情報３００及びドライバー設定２１０がなかった場合、関連する複数のジョブ設定情報３００及びドライバー設定２１０に対応する実際出力時間３２０を用いて適合度を算出する。
このように構成することで、以前に、まったく同じジョブ設定情報３００やドライバー設定２１０でジョブ２００を出力したことがなかったとしても、近似値で、よりよい設定を検索することが可能となる。
【００５８】
〔他の実施の形態〕
なお、上述の実施の形態においては、遺伝的アルゴリズムを用いて、ジョブ２００の出力意図を大きく損ねない設定のみを選択して、クロモゾームをエンコードする例について説明した。
しかしながら、デバイスドライバーの全ての設定等を選択してクロモゾームをエンコードしてもよい。
また、ジョブ２００中の画像の量（イメージ率）を変更する設定についてクロモゾームにエンコードしてもよい。
このイメージ率は、画像を小さく印刷したり、間引いたりして出力時の画像の量を調整する値である。
この際、例えば、「モノクロ」「解像度最低」「イメージ率０％」「ウォーターマークなし」といったドライバーの設定にすれば最短時間で出力可能となるため、ユーザーの意図を大きく損なう可能性がある。
このため、ジョブ２００のジョブ設定情報３００と、クロモゾームの設定との差異である「出力意図の差」を算出し、これを適合度から特定割合で減じるペナルティを設定してもよい。
また、上述の実施の形態では、遺伝的アルゴリズムで最適な設定の組み合わせを選択するようにした。
しかしながら、総当たり検索、幅優先検索、深さ優先検索、ｍｉｎ−ｍａｘ法等の方法で適合度が高い設定の組み合わせを探索してもよい。
このように構成することで、ユーザーの意図に合わせて、最適な設定でジョブ２００を出力することができる。
【００５９】
また、上述の実施の形態では、印刷ジョブであるジョブ２００についての処理の例を記載した。
しかしながら、印刷ジョブ以外のリモートスキャンジョブ、リモートファクシミリジョブ等に本開示を適用することも可能である。
この場合も、各ジョブ２００の種類に合わせた履歴データを格納してもよい。
このように構成することで、印刷ジョブ以外のジョブ２００でも、最適化して出力することが可能となる。
【００６０】
また、上述の実施の形態においては、画像形成装置２は、一台であるように記載した。
しかしながら、複数の画像形成装置２を用いるような構成であってもよい。
この場合には、履歴データに、画像形成装置の識別ＩＤ等を含ませておき、出力する画像形成装置２を選択し、これを最適化ドライバー設定２５０に含ませてもよい。
このように構成することで、よりジョブ２００の内容に最適な画像形成装置２で高速にジョブ２００を出力することが可能となる。
【００６１】
また、本開示は、画像形成装置以外の情報処理装置を備えたシステムにも適用できる。
つまり、ネットワークスキャナー、スキャナーをＵＳＢ等で別途接続したサーバー等を用いる構成であってもよい。
また、多数の設定を組み合わせた設定を行う必要がある機器のデバイスドライバー等にも適用可能である。
【００６２】
また、上記実施の形態の構成及び動作は例であって、本開示の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００６３】
１  情報処理装置
２  画像形成装置
５  ネットワーク
１０  制御部
１２  表示部
１３  入力部
１５  ネットワーク送受信部
１９  記憶部
１００  ジョブ設定情報取得部
１１０  ドライバー設定取得部
１２０  出力時間予測部
１３０  最適化設定算出部
１４０  ジョブ出力部
２００  ジョブ
２１０、３１１  ドライバー設定
２２０  予測出力時間
２３０  履歴データ格納部
２４０  ドライバー設定候補群
２５０  最適化ドライバー設定
３００、３０１  ジョブ設定情報
３２０  実際出力時間
Ｘ  画像形成システム
【図１】
2018173942.tif 000003
【図２】
2018173942.tif 000004
【図３】
2018173942.tif 000005
【図４】
2018173942.tif 000006