(57)【特許請求の範囲】
【請求項１】
画像形成の指示に関する画像形成データからフォームを抽出する抽出手段と、
前記抽出手段により抽出されたフォームを予め定めたバージョンのモジュールで形成した画像と、前記抽出手段により抽出されたフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内である前記検証対象のバージョンのモジュールを互換性ありとし、前記差分が許容範囲内でない前記検証対象のバージョンのモジュールを互換性なしとする検証を行う検証手段と、
前記検証手段による検証結果を保持する保持手段と、
を備えた画像形成装置。
【請求項２】
前記抽出手段は、検証用に作成された画像形成データからフォームを抽出し、
前記検証手段は、画像形成を実行していないときに前記検証を実行する
請求項１記載の画像形成装置。
【請求項３】
前記検証手段により前記検証対象のバージョンのモジュールが互換性ありと検証された場合、前記モジュールを前記検証対象のバージョンに更新する更新手段を備えた
請求項１又は２記載の画像形成装置。
【請求項４】
前記保持手段は、前記モジュールの各々のバージョンについて、前記検証手段により前記差分が許容範囲内であると検証された前記検証対象のバージョンのモジュールを互換性ありとし、前記差分が許容範囲内でないと検証された前記検証対象のバージョンのモジュールを互換性なしとした検証結果をフォーム毎に保持し、
前記保持手段により保持された前記検証結果において、前記検証対象のバージョンのモジュールが予め定めたフォームについて互換性ありと検証されている場合、前記モジュールを前記検証対象のバージョンに更新する更新手段を備えた
請求項１又は２記載の画像形成装置。
【請求項５】
前記検証手段による検証結果が表示手段に表示され、かつ前記モジュールを前記検証対象のバージョンに更新する更新指示の入力を促す情報が前記表示手段に表示されるように表示制御する表示制御手段を備え、
前記更新手段は、前記更新指示が入力された場合、前記モジュールを前記検証対象のバージョンに更新する
請求項３又は４記載の画像形成装置。
【請求項６】
コンピュータを、請求項１〜５の何れか１項記載の画像形成装置の各手段として機能させるための画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像形成プログラムに関する。
【背景技術】
【０００２】
特許文献１には、自己が備えるハードウェアに関するハードウェア情報及び自己が備えるソフトウェアに関するソフトウェア情報を有する画像処理装置であって、通信ネットワークを介して接続される他の画像処理装置に関する前記ハードウェア情報及び前記ソフトウェア情報を取得する他機情報取得手段と、自己のハードウェア情報と前記他の画像処理装置に関するハードウェア情報とを比較して、自己が備えるハードウェアと前記他の画像処理装置が備えるハードウェアとに互換性が有るか否かを判定するＨＷ互換性判定手段と、前記ＨＷ互換性判定手段により互換性があると判定された場合、自己のソフトウェア情報と前記他の画像処理装置に関するソフトウェア情報とを比較して、自己が備えるソフトウェアと前記他の画像処理装置が備えるソフトウェアとに互換性が有るか否かを判定するＳＷ互換性判定手段と、前記ＳＷ互換性判定手段により互換性が有ると判定された場合、自己が受け付けたジョブに関する画像処理を、前記他の画像処理装置に実行させる代替処理実行手段と、を有することを特徴とする画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１２４２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、モジュールのバージョンを更新する際、検証対象とするバージョンのモジュールで形成した画像を用いた検証を行わずにモジュールの互換性を検証する場合と比較して、検証対象とするバージョンのモジュールの互換性を細密に検証する画像形成装置及び画像形成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の画像形成装置は、画像形成の指示に関する画像形成データからフォームを抽出する抽出手段と、前記抽出手段により抽出されたフォームを予め定めたバージョンのモジュールで形成した画像と、前記抽出手段により抽出されたフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内である前記検証対象のバージョンのモジュールを互換性ありとし、前記差分が許容範囲内でない前記検証対象のバージョンのモジュールを互換性なしとする検証手段と、前記検証手段による検証結果を保持する保持手段と、を備える。
【０００６】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記抽出手段は、検証用に作成された画像形成データからフォームを抽出し、前記検証手段は、画像形成を実行していないときに前記検証を実行する。
【０００７】
また、請求項３に記載の発明は、請求項１又は２に記載の発明において、前記検証手段により前記検証対象のバージョンのモジュールが互換性ありと検証された場合、前記モジュールを前記検証対象のバージョンに更新する更新手段を備える。
【０００８】
また、請求項４に記載の発明は、請求項１又は２記載の発明において、前記保持手段は、前記モジュールの各々のバージョンについて、前記検証手段により前記差分が許容範囲内であると検証された前記検証対象のバージョンのモジュールを互換性ありとし、前記差分が許容範囲内でないと検証された前記検証対象のバージョンのモジュールを互換性なしとした検証結果をフォーム毎に保持し、前記保持手段により保持された前記検証結果において、前記検証対象のバージョンのモジュールが予め定めたフォームについて互換性ありと検証されている場合、前記モジュールを前記検証対象のバージョンに更新する更新手段を備える。
【０００９】
また、請求項５に記載の発明は、請求項３又は４記載の発明において、前記検証手段による検証結果が表示手段に表示され、かつ前記モジュールを前記検証対象のバージョンに更新する更新指示の入力を促す情報が前記表示手段に表示されるように表示制御する表示制御手段を備え、前記更新手段は、前記更新指示が入力された場合、前記モジュールを前記検証対象のバージョンに更新する。
【００１１】
一方、上記目的を達成するために、請求項６に記載の画像形成プログラムは、コンピュータを、請求項１〜５の何れか１項記載の画像形成装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１２】
請求項１、６に記載の発明によれば、モジュールのバージョンを更新する際、検証対象とするバージョンのモジュールで形成した画像を用いた検証を行わずにモジュールの互換性を検証する場合と比較して、検証対象とするバージョンのモジュールの互換性を細密に検証することができる。
【００１３】
請求項２に記載の発明によれば、ユーザの指示に基づいてモジュールの互換性を検証する場合と比較して、ユーザに意識させることなくモジュールの互換性を検証することができる。
【００１４】
請求項３に記載の発明によれば、ユーザの指示によりモジュールのバージョンを更新する場合と比較して、ユーザに意識させることなくモジュールのバージョンを更新することができる。
【００１５】
請求項４に記載の発明によれば、予め定めたバージョンのモジュールに対して、検証対象とするバージョンのモジュールの互換性をモジュール単位で検証する場合と比較して、適切な判定条件でモジュールのバージョンを更新するか否かを判定することができる。
【００１６】
請求項５に記載の発明によれば、ユーザの指示とは関係なくモジュールのバージョンを更新する場合と比較して、ユーザの意向を反映したモジュールのバージョンを更新することができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係る画像形成装置の機能を示すブロック図である。
【図２Ａ】実施形態に係る画像形成データに基づく画像の構成の一例を示す模式図である。
【図２Ｂ】実施形態に係る画像形成データに基づく画像の構成の一例を示す模式図である。
【図３】実施形態に係る画像形成装置の電気系の要部構成を示すブロック図である。
【図４】実施形態に係る記憶部の構成の一例を示す模式図である。
【図５】実施形態に係るジョブ−フォーム情報の一例を示す模式図である。
【図６】実施形態に係るバージョン管理情報の一例を示す模式図である。
【図７】第１実施形態に係るバージョン管理処理のプログラムの流れを示すフローチャートである。
【図８Ａ】実施形態に係る予め定めたバージョンのモジュールを用いて形成された画像の一例を示す正面図である。
【図８Ｂ】実施形態に係る検証対象とするバージョンのモジュールを用いて形成された画像の一例を示す正面図である。
【図９】実施形態に係る予め定めたバージョンのモジュールを用いて形成された画像と、検証対象とするバージョンのモジュールを用いて形成された画像との差分画像の一例を示す正面図である。
【図１０】第２実施形態に係るバージョン管理情報の更新後の一例を示す模式図である。
【図１１】第２実施形態に係る画像形成装置の機能を示すブロック図である。
【図１２】第２実施形態に係るバージョン管理処理のプログラムの流れを示すフローチャートである。
【図１３】第２実施形態に係るバージョンアップ推奨画面の一例を示す正面図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
【００２０】
〔第１実施形態〕
【００２１】
まず、第１実施形態に係る画像形成装置について説明する。
【００２２】
本実施形態に係る画像形成装置は、画像形成の指示に関する画像形成データからフォームを抽出する。また、画像形成装置は、抽出したフォームを予め定めたバージョンのモジュールで形成した画像と、抽出したフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内である検証対象のバージョンのモジュールを互換性ありとする。また、画像形成装置は、抽出したフォームを予め定めたバージョンのモジュールで形成した画像と、抽出したフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内でない検証対象のバージョンのモジュールを互換性なしとする。
【００２３】
また、画像形成装置は、検証対象のバージョンのモジュールについて、互換性あり、又は互換性なしとした検証結果を保持する。そして、画像形成装置は、検証対象のバージョンのモジュールを互換性ありと検証した場合、モジュールを検証対象のバージョンに更新する。
【００２４】
まず、図１を参照して、本実施形態に係る画像形成装置１０の機能について説明する。図１に示すように、画像形成装置１０は、ジョブ解析部１２、フォーム管理部１４、モジュール管理部１６、検証情報管理部１８、画像生成部２０、画像比較部２２、及び、検証評価部２４を有している。
【００２５】
なお、本実施形態でいうモジュールは、画像形成処理における一連の処理を行うソフトウェアである。また、本実施形態でいう画像形成データは、画像形成を制御するための制御データ、及び画像形成条件を示す条件データを含む画像形成データであり、所謂画像形成ジョブ（以下、単に「ジョブ」ともいう。）である。また、本実施形態でいうフォームは、画像形成データに含まれる制御データであって、特に、画像形成データによって形成される画像のレイアウトを規定する制御データである。フォームには、可変データである文字データ、画像データ等が含まれており、画像形成データによって形成される画像において、文字データに基づく文字列、画像データに基づく画像等がフォームに従って配置される。
【００２６】
図２Ａに、ジョブに基づく画像の一例を示した。図２Ａに示すように、ジョブに基づく画像２６は、文字列２８Ｂ、画像２８Ｃ等を表示するための複数のパーツ２８Ａがフォーム２８に従って配置されることによりレイアウトされる。
【００２７】
なお、本実施形態では、ジョブに基づく画像２６が、複数のパーツ２８Ａが１つのフォーム２８に従って配置される場合について説明するが、これに限らない。図２Ｂに、ジョブに基づく画像の別例を示した。図２Ｂに示すように、ジョブに複数のフォームが含まれ、ジョブに基づく画像２６が、文字列２８Ｂ、画像２８Ｃ等が各々のフォーム２８に従って配置されていても良い。
【００２８】
本実施形態では、ジョブに基づく画像２６における、各々のフォーム２８について、フォーム２８に含まれる文字列２８Ｂ、画像２８Ｃ等が描画される位置、サイズ、フォント等のレイアウトが加味されたモジュールの互換性を検証する。
【００２９】
ジョブ解析部１２は、抽出手段の一例であり、画像形成が指示された際に、ジョブに含まれるフォームを抽出する。また、ジョブ解析部１２は、抽出したフォームを画像形成に用いられるフォームとして画像生成部２０に送信する。
【００３０】
フォーム管理部１４は、画像形成に用いられる複数のフォームを管理する。管理対象とされるフォームは、画像作成ツール等により予め定義されているフォーム、過去に画像形成されたジョブから抽出されたフォーム、ユーザの操作により入力されたフォーム等である。
【００３１】
モジュール管理部１６は、画像形成が指示された際に、画像形成に用いるモジュールのバージョンを選択する。また、モジュール管理部１６は、モジュールの互換性の検証を行う際に、検証対象とするモジュールのバージョンを選択する。また、モジュール管理部１６は、モジュールの互換性の検証を行う際に、互換性があることが検証されているモジュールのバージョンを、比較対象として用いる予め定めたモジュールのバージョンとして選択する。
【００３２】
検証情報管理部１８は、保持手段の一例であり、モジュールの各々のバージョンについて、各々のフォームの互換性の検証結果を、後述するバージョン管理情報に記憶させることにより保持する。
【００３３】
画像生成部２０は、画像形成を行う際に、記録媒体に形成する画像を生成する。また、画像生成部２０は、作成した画像を画像形成部４２に送信し、記録媒体に対する画像形成を実行させる。また、画像生成部２０は、モジュールの互換性の検証を行う際に、予め定めたバージョンのモジュールで画像を生成すると共に、検証対象とするバージョンのモジュールで画像を生成する。
【００３４】
画像比較部２２は、検証手段の一例であり、モジュールの互換性の検証を行う際に、ジョブに含まれるフォームを予め定めたバージョンのモジュールで生成した画像を画像生成部２０から取得する。また、画像比較部２２は、モジュールの互換性の検証を行う際に、ジョブに含まれるフォームを検証対象のバージョンのモジュールで生成した画像を画像生成部２０から取得する。そして画像比較部２２は、予め定めたバージョンのモジュールで生成した画像と検証対象のバージョンのモジュールで生成した画像との差分画像を生成する。
【００３５】
検証評価部２４は、検証手段、更新手段及び表示制御手段の一例であり、画像比較部２２により生成された差分画像から、差分が許容範囲内であるか否かを評価する。この際、差分が許容範囲内であると評価されたバージョンを互換性ありとし、差分が許容範囲内でないと評価されたバージョンを互換性なしと検証する。そして、検証評価部２４は、検証結果を検証情報管理部１８に送信する。検証情報管理部１８は、受信した検証結果を、後述するバージョン管理情報に加えて記憶させる。
【００３６】
本実施形態に係る画像形成装置１０は、図３に示すように、装置全体の動作を司るＣＰＵ（Central Processing Unit）３０により制御されることにより実現される。すなわち、画像形成装置１０は、上記ＣＰＵ３０、各種プログラムや各種パラメータ等が予め記憶されたＲＯＭ（Read Only Memory）３２、ＣＰＵ３０による各種プログラムの実行時のワークエリア等として用いられるＲＡＭ（Random Access Memory）３４、及びフラッシュメモリ等の不揮発性メモリを含む、上述した記憶部３６を備える。また、画像形成装置１０は、外部装置と通信情報の送受信を行う通信回線Ｉ／Ｆ（Interface）部３８を備える。また、画像形成装置１０は、画像形成装置１０に対するユーザからの指示を受け付けると共に、ユーザに対して画像形成装置１０の動作状況等に関する各種情報を通知する操作表示部４０を備える。なお、操作表示部４０は、例えば、プログラムの実行により操作指示の受け付けを実現する表示ボタンや各種情報が表示されるタッチパネル式のディスプレイ、及びテンキーやスタートボタン等のハードウェアキーを含む。
【００３７】
また、画像形成装置１０は、記録媒体に対して画像形成を行う画像形成部４２を備えている。画像形成部４２は、記録媒体に対して画像形成を行う工程の各種処理を行う各構成部品を含んで構成されている。
【００３８】
そして、ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、記憶部３６、通信回線Ｉ／Ｆ部３８、操作表示部４０、及び、画像形成部４２の各部がアドレスバス、データバス、及び制御バス等のバス４４を介して互いに接続されている。
【００３９】
このように、本実施形態に係る画像形成装置１０は、ＣＰＵ３０により、ＲＯＭ３２、ＲＡＭ３４、及び記憶部３６に対するアクセス、通信回線Ｉ／Ｆ部３８を介した通信情報の送受信を各々行う。また、画像形成装置１０は、ＣＰＵ３０により、操作表示部４０を介した各種情報の取得、及び操作表示部４０に対する各種情報の表示を各々行う。また、画像形成装置１０は、ＣＰＵ３０により、画像形成部４２による画像形成を行う。
【００４０】
また、図４に示すように、記憶部３６は、モジュール記憶部３６Ａ、ジョブ−フォーム情報記憶部３６Ｂ、及び、バージョン管理情報記憶部３６Ｃを有している。
【００４１】
モジュール記憶部３６Ａには、複数のバージョンのモジュールが記憶されている。記憶されているモジュールは、過去に画像形成に用いられた全てのバージョンのモジュールであっても、最新の１つ以上のバージョンのモジュールであっても良い。
【００４２】
ジョブ−フォーム情報記憶部３６Ｂは、ジョブとフォームとの対応関係を表すジョブ−フォーム情報を記憶している。ジョブ−フォーム情報は、一例として図５に示すように、各々のジョブについて各々のフォームを含んでいるか否かが示された情報である。図４示す例では、ジョブＡはフォームＡ及びフォームＢを含んでいて、ジョブＢはフォームＢ及びフォームＣを含んでいる。
【００４３】
ジョブ−フォーム情報を用いることにより、ジョブに含まれるフォームについて既に互換性があると検証されているバージョンのモジュールについては、更なる検証を行うことなく、互換性があるモジュールとして効率的に選択される。図５に示す例では、フォームＡ及びフォームＢを含むジョブＡと、フォームＡ、フォームＣ、フォームＤを含むジョブＣとについて、互換性があると検証されているモジュールのバージョンがあるとする。その場合、そのバージョンのモジュールは、フォームＢ及びフォームＣを含むジョブＢについても互換性があるとされ、ジョブＢについての互換性の検証が省略可能となる。
【００４４】
バージョン管理情報記憶部３６Ｃは、一例として図６に示すように、各々のバージョンのモジュールについて、各々のフォームに互換性があるか否かの検証結果として、互換性があるとされた最新のバージョンを表しているバージョン管理情報を記憶している。例えば、バージョン４のモジュールについて互換性があると検証された場合には、バージョン４の検証結果を格納する領域に「４」が格納される。また、バージョン４のモジュールについて互換性がないと検証された場合には、バージョン４の検証結果を格納する領域に、互換性あると検証されている最新のバージョンが格納される。図６に示す例では、バージョン４のモジュールについて、フォームＡ、フォームＤ、及びフォームＥについては互換性があると検証されて「４」が格納される。また、バージョン４のモジュールについて、フォームＢでは互換性がないと検証されて、既に互換性があると検証されている「２」が格納される。また、バージョン４のモジュールについて、フォームＣは互換性が検証されていないため、空欄となっている。
【００４５】
バージョン管理情報により、画像形成を行う際、ジョブに含まれる全てのフォームについて互換性があると検証されているバージョンのモジュールは、互換性があるモジュールであると判断できる。図６に示す例では、フォームＡとフォームＢを含むジョブは、バージョン１及び２のモジュールで互換性があると検証されていることがわかる。また、図６に示す例では、フォームＤ及びフォームＥを含むジョブは、バージョン１乃至４のモジュールで互換性があると検証されていることがわかる。
【００４６】
なお、本実施形態では、上述したバージョン管理情報のように、テーブルによってモジュールのバージョンとフォームとの対応関係を記憶するが、これに限らない。モジュールのバージョンとフォームとの対応関係を示せれば、集合論にあるような、数式等で記憶しても構わない。
【００４７】
次に、本実施形態に係る画像形成装置１０が、予め定めた期間が経過する毎に実行するバージョン管理処理の流れを、図７のフローチャートを参照して説明する。なお、本実施形態では、バージョン管理処理のプログラムは予め記憶部３６に記憶されているが、これに限らない。例えば、バージョン管理処理のプログラムが通信回線Ｉ／Ｆ部３８を介して外部装置から受信されて記憶部３６に記憶されても良い。また、ＣＤ−ＲＯＭ等の記録媒体に記録されたバージョン管理処理のプログラムがＣＤ−ＲＯＭドライブ等で読み込まれることにより、バージョン管理処理が実行されるようにしてもよい。
【００４８】
ステップＳ１０１では、ジョブ解析部１２が、画像形成指示があったか否かを判定する。この画像形成指示は、モジュールの互換性の検証とは無関係に指示される通常の画像形成指示である。ステップＳ１０１で画像形成指示があったと判定した場合（Ｓ１０１，Ｙ）はステップＳ１０３に移行し、画像形成指示がなかったと判定した場合（Ｓ１０１，Ｎ）は本バージョン管理処理のプログラムの実行を終了する。
【００４９】
ステップＳ１０３では、ジョブ解析部１２が、画像形成が指示されたジョブを取得し、取得したジョブに含まれるフォームを抽出する。
【００５０】
ステップＳ１０５では、モジュール管理部１６が、画像形成が指示されたジョブに含まれるフォームに応じて、画像形成に用いるモジュールのバージョンを選択する。本実施形態では、画像形成が指示されたジョブに含まれる全てのフォームについて互換性があると検証されたバージョンのうちの最新のバージョンを選択する。なお、モジュールのバージョンの選択方法はこれに限らず、例えば、モジュールのバージョンの一覧を操作表示部４０に表示させ、ユーザにより選択されたモジュールのバージョンを選択しても良い。
【００５１】
ステップＳ１０７では、画像生成部２０が、選択されたバージョンのモジュールを用いて、画像形成が指示された画像を生成する。なお、選択されたバージョンのモジュールを用いて形成した画像の一例を図８Ａに示した。
【００５２】
ステップＳ１０９では、画像生成部２０が、生成した画像を画像形成部４２に出力して、記録媒体に画像を形成させる。これにより、指示された画像形成が完了する。一方、ここから先の処理は、モジュールの互換性の検証を行う処理であり、ユーザに意識させずにバックグラウンドで行われる。
【００５３】
ステップＳ１１１では、画像生成部２０が、画像形成が指示されたジョブに含まれるフォームについて、互換性の検証を行っていない未検証のモジュールのバージョンがあるか否かを判定する。この際、画像生成部２０は、モジュール管理部１６に、画像形成が指示されたジョブに含まれるフォームについて、互換性の検証を行っていない未検証のモジュールのバージョンがあるか否かを問い合わせる。モジュール管理部１６は、バージョン管理情報に基づいて、画像形成が指示されたジョブに含まれるフォームに対応する欄が空欄となっているバージョンがあるか否かを判定する。また、モジュール管理部１６は、未検証のモジュールのバージョンがある場合には、未検証のモジュールのバージョンを画像生成部２０に通知する。
【００５４】
ステップＳ１１１で未検証のモジュールのバージョンがあると判定した場合（Ｓ１１１，Ｙ）はステップＳ１１３に移行し、未検証のモジュールのバージョンがないと判定した場合（Ｓ１１１，Ｎ）は本バージョン管理処理のプログラムの実行を終了する。なお、未検証のモジュールのバージョンがないと判定した場合は、指示された画像形成のみを実行し、モジュールの互換性の検証は行われない。
【００５５】
ステップＳ１１３では、画像生成部２０が、未検証のバージョンのモジュールを検証対象のモジュールとして、未検証のバージョンのモジュールで画像を生成する。この際、画像生成部２０は、通知されたバージョンのモジュールをモジュール記憶部３６Ａから取得し、画像形成が指示された画像を生成する。なお、未検証のバージョンのモジュールを用いて形成した画像の一例を図８Ｂに示した。
【００５６】
ステップＳ１１５では、画像比較部２２が、ステップＳ１０７で生成した画像とステップＳ１１３で生成した画像との差分画像を生成する。一例として図９に示すように、ステップＳ１０７で生成した画像におけるパーツ５０Ａ乃至５０Ｅと、ステップＳ１１３で生成した画像におけるパーツ５２Ａ乃至５２Ｅとにおいては、差分が発生していないことがわかる。一方、ステップＳ１０７で生成した画像におけるパーツ５０Ｆと、ステップＳ１１３で生成した画像におけるパーツ５２Ｆとにおいて、描画されている「テキスト３」の文字列の位置が異なっていることにより、差分が発生していることがわかる。
【００５７】
ステップＳ１１７では、検証評価部２４が、差分画像における差分が許容範囲内であるか否かを検証して、検証結果を記憶する。検証評価部２４は、差分画像における差分が許容範囲内であると検証されたバージョンを互換性ありとし、許容範囲内でないと検証されたバージョンを互換性なしとした検証結果を検証情報管理部１８に送信する。検証情報管理部１８は、受信した検証結果をバージョン管理情報に加えることにより検証結果を記憶する。本実施形態では、互換性があると検証されているバージョンのモジュールで形成した第１画像と、未検証のバージョンのモジュールで形成した第２画像との間で差分が発生している領域を抽出する。また、抽出した領域の、第１画像及び第２画像の間の移動ベクトルの長さの最大値が、予め定めた閾値以下であった場合に、差分が許容範囲内であるとする。しかしながら、差分が許容範囲内であるか否かの判断方法はこれに限らない。例えば、上記移動ベクトルの長さの平均値が予め定めた閾値以下であった場合に、差分が許容範囲内であると指定しても良い。あるいは、差分画像において差分が発生していることを示す画素の画素数が閾値以下であった場合に、差分が許容範囲内であるとしても良い。
【００５８】
ステップＳ１１９では、検証評価部２４が、未検証のモジュールのバージョンが、ステップＳ１０５で選択されたモジュールのバージョンに対して互換性があるか否かを判定する。本実施形態では、一例として図１０に示すように、例えば、予め定めたフォームＡ、Ｃ、Ｅについて互換性がある場合に、互換性があると判断する。すなわち、図１０に示す例では、バージョン５のモジュールは、フォームＡ、Ｃ、Ｅについて互換性があると検証されているため、バージョン５のモジュールは互換性があると判断される。一方、バージョン５のモジュールが、フォームＡ、Ｃ、Ｅのうちの１つ以上のフォームについて互換性がないと検証されている場合には、バージョン５のモジュールは、互換性がないと判断される。なお、互換性があるか否かの判断方法はこれに限らず、例えば、各々のバージョンのモジュールが、全てのフォームについて互換性があると検証されている場合に、互換性があると判断しても良い。あるいは、各々のバージョンのモジュールが、予め定めた閾値以上の頻度で使用されるフォームについて互換性があると検証されている場合に、互換性があると判断しても良い。
【００５９】
ステップＳ１２１では、モジュールのバージョンを検証対象とするバージョンに更新する。なお、画像形成が指示された際、更新されたバージョンのモジュールで画像を形成しても、ステップＳ１０５に示す選択方法で選択されたバージョンのモジュールで画像を形成しても良い。
【００６０】
このように、本実施形態では、画像形成を行う際の画像形成ジョブからフォームを抽出する。また、抽出したフォームを予め定めたバージョンのモジュールで形成した画像と、抽出したフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内であるか否かを検証する。また、許容範囲内であると検証されたバージョンを互換性ありとし、許容範囲内でないと検証されたバージョンを互換性なしとした検証結果を保持する。これにより、モジュールのバージョンを更新する際、検証対象とするバージョンのモジュールの互換性が細密に検証される。
【００６１】
また、本実施形態では、保持されている検証結果において、予め定めたフォームについて互換性ありと検証されている場合、モジュールを検証対象のバージョンに更新する。これにより、ユーザに意識させることなくモジュールのバージョンが更新される。
【００６２】
〔第２実施形態〕
【００６３】
次に、第２実施形態に係る画像形成装置について説明する。
【００６４】
上記第１実施形態では、画像形成が指示された際に、画像形成が指示されたジョブを用いてモジュールの互換性があるか否かの検証を行う場合について説明した。一方、本第２実施形態では、画像形成を実行していないときに、ダミージョブを用いてモジュールの互換性があるか否かの検証を行う場合について説明する。
【００６５】
第２実施形態に係る画像形成装置の構成は、ダミージョブ生成部４６を有すること以外は、上記第１実施形態に係る画像形成装置１０と同じであるため、ダミージョブ生成部４６以外の各構成の説明を省略する。
【００６６】
ダミージョブ生成部４６は、モジュールの互換性を検証するために、未検証のバージョンが存在するフォームを含むダミージョブを生成して、ジョブ解析部１２に送信する。これにより、画像形成が指示されない場合、又は、画像形成が指示されたジョブに含まれるフォームについて未検証のモジュールのバージョンがない場合であっても、未検証のモジュールについて、モジュールの互換性の検証が行われる。
【００６７】
ダミージョブを生成する際には、過去に画像形成が指示されたジョブを記憶しておき、これらのジョブに基づいてダミージョブを生成すると良い。例えば、ジョブに含まれるフォームに記された文字列を「＊」等の任意の文字列に置き換えると共に文字列の最大長、最小長等を記録しておき、これらのデータを基にダミーデータを生成すると良い。ジョブに含まれる画像データなどは、サイズ、画像の形式、解像度等からダミー画像を生成すると良い。このように、ジョブに基づく画像を、フォームに含まれるパーツに分割して評価することで、モジュールの互換性について、微小な差異まで加味した効率的な検証が行われる。
【００６８】
次に、本実施形態に係る画像形成装置１０が、予め定めた期間が経過する毎に実行するバージョン管理処理の流れを、図１２のフローチャートを参照して説明する。なお、本実施形態では、バージョン管理処理のプログラムは予め記憶部３６に記憶されているが、これに限らない。例えば、バージョン管理処理のプログラムが通信回線Ｉ／Ｆ部３８を介して外部装置から受信されて記憶部３６に記憶されても良い。また、ＣＤ−ＲＯＭ等の記録媒体に記録されたバージョン管理処理のプログラムがＣＤ−ＲＯＭドライブ等で通信回線Ｉ／Ｆ部３８を介して読み込まれることにより、バージョン管理処理が実行されるようにしてもよい。
【００６９】
ステップＳ２０１では、ダミージョブ生成部４６が、前回、本バージョン管理処理を行ってから予め定めた期間（例えば、５分）が経過したか否かを判定する。ステップＳ２０１で予め定めた期間が経過したと判定した場合（Ｓ２０１，Ｙ）はステップＳ２０３に移行し、予め定めた期間が経過していないと判定した場合（Ｓ２０１，Ｎ）は本バージョン管理処理のプログラムの実行を終了する。
【００７０】
ステップＳ２０３では、ステップＳ１１１と同様に、画像生成部２０が、画像形成が指示されたジョブに含まれるフォームについて、互換性の検証を行っていない未検証のモジュールのバージョンがあるか否かを判定する。ステップＳ２０３で未検証のモジュールのバージョンがあると判定した場合（Ｓ２０３，Ｙ）はステップＳ２０５に移行し、未検証のモジュールのバージョンがないと判定した場合（Ｓ２０３，Ｎ）は本バージョン管理処理のプログラムの実行を終了する。
【００７１】
ステップＳ２０５では、ダミージョブ生成部４６が、ダミージョブを生成する。
【００７２】
ステップＳ２０７では、ジョブ解析部１２が、ダミージョブに含まれるフォームを抽出する。
【００７３】
ステップＳ２０９では、モジュール管理部１６が、ダミージョブに含まれるフォームに応じて、モジュールのバージョンを選択する。本実施形態では、ダミージョブに含まれるフォームについて互換性があると検証されたバージョンのうちの最新のバージョンを選択する。
【００７４】
ステップＳ２１１では、画像生成部２０が、選択されたバージョンのモジュールでダミージョブに基づく画像を生成する。
【００７５】
ステップＳ２１３では、画像生成部２０が、未検証のバージョンのモジュールでダミージョブに基づく画像を生成する。この際、画像生成部２０は、通知されたバージョンのモジュールをモジュール記憶部３６Ａから取得し、ダミージョブに基づく画像を生成する。なお、未検証のバージョンのモジュールを用いて形成した画像の一例を図８Ｂに示した。
【００７６】
ステップＳ２１５では、ステップＳ１１５と同様に、画像比較部２２が、ステップＳ２１１で生成した画像とステップＳ２１５で生成した画像との差分画像を生成する。
【００７７】
ステップＳ２１７では、ステップＳ１１７と同様に、検証評価部２４が、差分画像における差分が許容範囲内であるか否かを検証して、検証結果を記憶する。
【００７８】
ステップＳ２１９では、検証評価部２４が、検証結果を操作表示部４０に表示させ、かつモジュールを検証対象のバージョンに更新する更新指示の入力を促す情報を操作表示部４０に表示させる。
【００７９】
本実施形態では、検証評価部２４は、一例として図１３に示すようなバージョンアップ推奨画面５６を操作表示部４０に表示させる。バージョンアップ推奨画面５６には、選択されたバージョン（バージョン４）のモジュールで形成した画像５６Ａ、未検証のバージョン（バージョン５）で形成した画像５６Ｂ、画像５６Ａと画像５６Ｂとの差分画像５６Ｃが表示される。また、バージョンアップ推奨画面５６には、バージョンの更新を指示するための「はい」ボタン５６Ｄ、及び、バージョンの更新を指示しないための「いいえ」ボタン５６Ｅが表示される。ユーザは、画像５６Ａ、画像５６Ｂ、及び差分画像５６Ｃを確認し、互換性があると判断した場合に、操作表示部４０を操作して「はい」ボタン５６Ｄを選択し、互換性がないと判断した場合に、「いいえ」ボタン５６Ｅを選択する。
【００８０】
ステップＳ２２１では、検証評価部２４が、未検証のモジュールのバージョンが、ステップＳ１０５で選択されたモジュールのバージョンに対して互換性があるか否かを判定する。本実施形態では、バージョンアップ推奨画面５６において「はい」ボタン５６Ｄが選択された場合に、互換性があると判断する。ステップＳ２２１で互換性があると判定した場合（Ｓ２２１，Ｙ）はステップＳ２２３に移行し、互換性がないと判定した場合（Ｓ２２１，Ｎ）は本バージョン管理処理のプログラムの実行を終了する。
【００８１】
ステップＳ２２３では、ステップＳ１２１と同様に、検証評価部２４が、モジュールのバージョンを検証対象とするバージョンに更新する。
【００８２】
このように、本実施形態では、検証用に作成されたジョブからフォームを抽出する。また、画像形成を行っていない間、抽出したフォームを予め定めたバージョンのモジュールで形成した画像と、抽出したフォームを検証対象のバージョンのモジュールで形成した画像との差分が許容範囲内であるか否かを検証する。これにより、ユーザに意識させることなく互換性が検証される。
【００８３】
また、検証結果を表示手段に表示させ、かつモジュールを検証対象のバージョンに更新する更新指示の入力を促す情報を表示手段に表示させ、更新指示が入力された場合、モジュールを検証対象のバージョンに更新する。これにより、ユーザの意向を反映させつつモジュールのバージョンが更新される。
【００８４】
なお、バージョン管理情報において、差分画像を用いて検証した検証結果のみを加えるのではなく、ユーザに差分画像を提示して、差分が許容範囲内であるか否かを判断させることにより得られた検証結果を加えてもよい。これにより、検証結果に、ジョブ単位、又はフォーム単位で、差分が許容範囲内であるか否かがユーザにより直観的に判断された判断結果が反映される。
【００８５】
また、上記各実施形態に係るバージョン管理情報では、各々のバージョンのモジュールについて、各々のフォームに互換性があるか否かの検証結果として、互換性があるとされた最新のバージョンを表しているが、これに限らない。例えば、バージョン管理情報として、各々のバージョンのモジュールについて、各々のフォームに互換性があるか否かの検証結果をそのまま用いても良い。
【００８６】
また、上記各実施形態で説明した画像形成装置１０の構成（図１、図２、図１１参照。）は一例である。すなわち、本発明の主旨を逸脱しない範囲内において不要な部分を削除したり、新たな部分を追加したりしてもよいことは言うまでもない。
【００８７】
また、上記各実施形態で説明した各種プログラムの処理の流れ（図７、図１２参照。）も一例である。すなわち、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
【符号の説明】
【００８８】
１０    画像形成装置
１２    ジョブ解析部
１４    フォーム管理部
１６    モジュール管理部
１８    検証情報管理部
２０    画像生成部
２２    画像比較部
２４    検証評価部
３６    記憶部
４０    操作表示部
４２    画像形成部
【図１】
0006586841.tif 000002
【図２Ａ】
0006586841.tif 000003
【図２Ｂ】
0006586841.tif 000004
【図３】
0006586841.tif 000005
【図４】
0006586841.tif 000006
【図５】
0006586841.tif 000007
【図６】
0006586841.tif 000008
【図７】
0006586841.tif 000009
【図８Ａ】
0006586841.tif 000010
【図８Ｂ】
0006586841.tif 000011
【図９】
0006586841.tif 000012
【図１０】
0006586841.tif 000013
【図１１】
0006586841.tif 000014
【図１２】
0006586841.tif 000015
【図１３】
0006586841.tif 000016