(57)【要約】【課題】機密が漏洩する確率を低くし、不具合を再現可能なデータを出力すること。【解決手段】  ＭＦＰは、データを画像処理する画像処理部５３による画像処理の不具合を検出する不具合検出部５５と、画像処理の不具合が検出される場合に、画像処理部５３が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理部５３により画像処理されると画像処理部５３が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成部５９と、検証用データを処理データに代えて外部に出力する出力部６１と、を備える。【選択図】        図４
2019089246.tif 000002
【特許請求の範囲】
【請求項１】
データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出手段と、
前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成手段と、
前記検証用データを前記処理データに代えて外部に出力する出力手段と、を備えた情報処理装置。
【請求項２】
前記生成手段は、前記処理データの少なくとも一部を含む第１中間データを生成する第１中間データ生成手段と、
前記第１中間データに含まれる少なくとも一部を変更した第２中間データを生成する第２中間データ生成手段と、
前記第１中間データまたは前記第２中間データを前記画像処理手段に実行させ、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することを確認する確認手段と、を含む請求項１に記載の情報処理装置。
【請求項３】
前記第１中間データ生成手段は、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することが前記確認手段により確認されなくなる直前まで前記処理データの一部を前記処理データから順に削除することにより前記第１中間データを生成し、
前記第２中間データ生成手段は、前記第１中間データに含まれる少なくとも１つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第２中間データを生成し、
前記生成手段は、前記第２中間データに含まれる前記少なくとも１つのオブジェクトそれぞれの前記複数のパラメータの少なくとも１つを前記第２中間データ生成手段により変更される前の値に戻す復元手段を含み、
前記復元手段は、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することが前記確認手段により確認されるまで、前記第２中間データに含まれる前記少なくとも１つのオブジェクトそれぞれの前記複数のパラメータを順に前記第２中間データ生成手段により変更される前の値に戻す、請求項２に記載の情報処理装置。
【請求項４】
前記復元手段は、前記第２中間データに含まれる前記少なくとも１つのオブジェクトそれぞれを定める前記複数のパラメータを、前記複数のパラメータに対して予め定められた順に、前記第２中間データ生成手段により変更される前の値に戻す、請求項３に記載の情報処理装置。
【請求項５】
前記第２中間データ生成手段は、前記第１中間データに含まれる少なくとも１つのオブジェクトそれぞれについて、当該オブジェクトの属性が画像を示す場合に、当該オブジェクトを定める前記複数のパラメータのうち解像度またはサイズを示すパラメータを小さな値に変更する、請求項３または４のいずれかに記載の情報処理装置。
【請求項６】
前記検証用データに、前記検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトを追加するダミー追加手段を、さらに備えた、請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
前記生成手段は、前記処理データに対して予め定められた設定がされている場合に、前記検証用データを生成する、請求項１〜６のいずれかに記載の情報処理装置。
【請求項８】
前記処理データは、１以上のオブジェクトを含み、
前記生成手段は、前記処理データに含まれる前記１以上のオブジェクトの少なくとも１つであって、当該オブジェクトを定める複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを前記検証用データとして生成する、請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記出力手段が前記検証用データを外部に出力する前の段階で、前記検証用データの画像を表示する表示制御手段を、さらに備え、
前記出力手段は、前記検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、前記検証用データを外部に出力しない、請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
前記表示制御手段は、前記少なくとも１つの変更オブジェクトの数が前記処理データに含まれる前記１以上のオブジェクトの数に占める割合が第１のしきい値より小さい場合、および／または、前記変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第２のしきい値より大きい場合に、前記検証用データの画像を表示しない、請求項９に記載の情報処理装置。
【請求項１１】
前記処理データは、複数の画素値で構成される画像データであり、
前記画像処理は、前記処理データから１以上のオブジェクトを抽出し、前記抽出された１以上のオブジェクトを含むデータに変換する処理であり、
前記生成手段は、前記処理データのうち前記画像処理手段で不具合の発生した部分を少なくとも含む部分画像をオブジェクトに設定し、当該オブジェクトを定める複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを前記検証用データとして生成する、請求項１〜７のいずれかに記載の情報処理装置。
【請求項１２】
前記出力手段が前記検証用データを外部に出力する前の段階で、前記検証用データの画像を表示する表示制御手段を、さらに備え、
前記出力手段は、前記検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、前記検証用データを外部に出力しない、請求項１１に記載の情報処理装置。
【請求項１３】
前記画像処理手段を備えた画像処理装置から前記処理データを取得する処理データ取得手段と、
前記画像処理手段をシミュレートするシミュレート手段と、をさらに備えた、請求項１〜１２のいずれかに記載の情報処理装置。
【請求項１４】
データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出ステップと、
前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、
前記検証用データを前記処理データに代えて外部に出力する出力ステップと、を情報処理装置に実行させる画像制御方法。
【請求項１５】
データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出ステップと、
前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、
前記検証用データを前記処理データに代えて外部に出力する出力ステップと、をコンピューターに実行させる画像制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、画像制御方法および画像制御プログラムに関し、特に、画像を処理する情報処理装置、その情報処理装置で実行される画像制御方法および画像制御プログラムに関する。
【背景技術】
【０００２】
近年、複合機（以下「ＭＦＰ」という）で代表される画像形成装置は、画像を処理する機能を備えており、その画像処理を実行中にエラーが発生する場合がある。この場合、エラーが再発しないように画像形成装置を設定または修理する必要がある。この画像形成装置の修正作業において、エラーの原因を特定するために、画像形成装置でエラーを再現しなければならない場合があり、画像処理の対象となったデータが必要となる。一方、画像形成装置を使用するユーザーとは別の外部の業者が画像形成装置の設定または修理を担当する場合がある。外部の業者は、例えば、画像形成装置を製造したメーカーまたは画像形成装置のメンテナンスを担当する会社等である。このため、画像形成装置でエラーを再現するために必要とされるデータが機密情報を含む場合に、外部に機密が漏洩するといった問題がある。
【０００３】
例えば、特開２０１２−５１２９６号公報には、上位側の装置から受信した印刷データを印刷出力する印刷装置において、印刷データを印刷イメージデータに変換するイメージデータ変換部を備え、該イメージデータ変換部は文字データ置換部を有し、イメージデータ変換部は、文字データの置換モードが指示されているかを判定し、置換モードに設定されている場合には、文字データ置換部にて、乱数によってランダム文字コードを生成し、生成された文字コードに対応する文字フォントデータにて印刷イメージデータを生成することを特徴とする画像形成装置が記載されている。
【０００４】
しかしながら、特開２０１２−５１２９６号公報に記載の画像形成装置においては、文字データを乱数によって生成されたランダム文字コードに対応する文字フォントデータで置換するため、文字に含まれる機密を含まないデータを生成することができるが、文字以外の情報に機密が含まれる場合に、機密が漏洩するのを防止することができない。また、画像形成装置において発生したエラーの原因が、ランダム文字コードに対応する文字フォントデータに存在する場合には、画像形成装置で発生したエラーを再現できないといった問題がある。
【特許文献１】特開２０１２−５１２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な情報処理装置を提供することである。
【０００６】
この発明の他の目的は、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御方法を提供することである。
【０００７】
この発明のさらに他の目的は、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御プログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出手段と、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成手段と、検証用データを処理データに代えて外部に出力する出力手段と、を備える。
【０００９】
この局面に従えば、画像処理に不具合が検出される場合、画像処理の対象となった処理データの少なくとも一部を変更したデータであって、処理データを画像処理する場合と同じ不具合が発生する検証用データが生成され、その検証用データが処理データに代えて外部に出力される。このため、処理データを画像処理する場合に発生する不具合を外部で検証するために処理データそのものを外部に出力しないので、処理データが機密情報を含む場合にその機密情報が外部に流出する確率を低くすることができる。また、検証用データは、それを画像処理すると、処理データを画像処理する場合と同じ不具合が発生するので、外部で不具合を再現可能な検証用データを外部に出力することができる。その結果、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な情報処理装置を提供することができる。
【００１０】
好ましくは、生成手段は、処理データの少なくとも一部を含む第１中間データを生成する第１中間データ生成手段と、第１中間データに含まれる少なくとも一部を変更した第２中間データを生成する第２中間データ生成手段と、第１中間データまたは第２中間データを画像処理手段に実行させ、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することを確認する確認手段と、を含む。
【００１１】
この局面に従えば、処理データの少なくとも一部を含み、処理データを画像処理する場合と同じ不具合が発生する第１中間データを生成することができる。また、第１中間データに含まれる少なくとも一部と異なり、処理データを画像処理する場合と同じ不具合が発生する第２中間データを生成することができる。このため、処理データの再現をできるだけ困難にした検証用データを生成することができる。
【００１２】
好ましくは、第１中間データ生成手段は、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することが確認手段により確認されなくなる直前まで処理データの一部を処理データから順に削除することにより第１中間データを生成し、第２中間データ生成手段は、第１中間データに含まれる少なくとも１つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第２中間データを生成し、生成手段は、第２中間データに含まれる少なくとも１つのオブジェクトそれぞれの複数のパラメータの少なくとも１つを第２中間データ生成手段により変更される前の値に戻す復元手段を含み、復元手段は、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することが確認手段により確認されるまで、第２中間データに含まれる少なくとも１つのオブジェクトそれぞれの複数のパラメータを順に第２中間データ生成手段により変更される前の値に戻す。
【００１３】
この局面に従えば、第１中間データを画像処理すると処理データを画像処理する場合と同じ不具合が発生することが確認されるので、処理データを画像処理する場合と同じ不具合が発生する第１中間データが生成される。また、第２中間データを画像処理すると処理データを画像処理する場合と同じ不具合が発生することが確認されるので、処理データを画像処理する場合と同じ不具合が発生する第２中間データが生成される。このため、不具合が発生することが確認される検証用データを生成することができる。
【００１４】
好ましくは、復元手段は、第２中間データに含まれる少なくとも１つのオブジェクトそれぞれを定める複数のパラメータを、複数のパラメータに対して予め定められた順に、第２中間データ生成手段により変更される前の値に戻す。
【００１５】
この局面に従えば、オブジェクトを定める複数のパラメータを、複数のパラメータに対して予め定められた順に変更される前の値に戻すので、オブジェクトを再現する確率の低いパラメータから変更される前の値に戻すようにすれば、オブジェクトが再現される確率を低くすることができる。
【００１６】
好ましくは、第２中間データ生成手段は、第１中間データに含まれる少なくとも１つのオブジェクトそれぞれについて、当該オブジェクトの属性が画像を示す場合に、当該オブジェクトを定める複数のパラメータのうち解像度またはサイズを示すパラメータを小さな値に変更する。
【００１７】
この局面に従えば、オブジェクトの属性が画像を示す場合に、オブジェクトを定める解像度またはサイズを示すパラメータを小さな値に変更するので、オブジェクトが再現される確率を低くすることができる。
【００１８】
好ましくは、検証用データに、検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトを追加するダミー追加手段を、さらに備える。
【００１９】
この局面に従えば、検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトが検証用データに追加されるので、処理データの再現を困難にすることができる。
【００２０】
好ましくは、生成手段は、処理データに対して予め定められた設定がされている場合に、検証用データを生成する。
【００２１】
この局面に従えば、処理データに対して予め定められた設定がされている場合に、処理データが検証用データに変換されるので、予め定められた設定がされていない処理データを検証用データに変換しないようにして、処理の負荷を低減することができる。
【００２２】
好ましくは、処理データは、１以上のオブジェクトを含み、生成手段は、処理データに含まれる１以上のオブジェクトの少なくとも１つであって、当該オブジェクトを定める複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを検証用データとして生成する。
【００２３】
この局面に従えば、処理データに含まれる１以上のオブジェクトの少なくとも１つであって、そのオブジェクト対して定められた複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含む検証用データが生成される。このため、処理データの再現が困難な検証用データを生成することができる。
【００２４】
好ましくは、出力手段が検証用データを外部に出力する前の段階で、検証用データの画像を表示する表示制御手段を、さらに備え、出力手段は、検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、検証用データを外部に出力しない。
【００２５】
この局面に従えば、検証用データが外部に出力される前に、検証用データの画像が表示されるので、ユーザーに外部に出力されるデータを通知することができる。また、出力の許可を示す操作がユーザーにより入力されるまで検証用データが外部に出力されないので、ユーザーは、処理データに含まれる機密が外部に流出しないようにすることができる。
【００２６】
好ましくは、表示制御手段は、少なくとも１つの変更オブジェクトの数が処理データに含まれる１以上のオブジェクトの数に占める割合が第１のしきい値より小さい場合、および／または、変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第２のしきい値より大きい場合に、検証用データの画像を表示しない。
【００２７】
この局面に従えば、処理データに含まれるオブジェクトの数に占める変更オブジェクトの数の割合が第１のしきい値より小さい場合、および／または、変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第２のしきい値より大きい場合に、検証用データの画像が表示しないので、出力の許可を示す操作をユーザーに要求することなく、検証用データを外部に出力することができる。
【００２８】
好ましくは、処理データは、複数の画素値で構成される画像データであり、画像処理は、処理データから１以上のオブジェクトを抽出し、抽出された１以上のオブジェクトを含むデータに変換する処理であり、生成手段は、処理データのうち画像処理手段で不具合の発生した部分を少なくとも含む部分画像をオブジェクトに設定し、当該オブジェクトを定める複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを検証用データとして生成する。
【００２９】
この局面に従えば、処理データの一部の部分画像を変更した変更オブジェクトを少なくとも含む検証用データが生成される。このため、処理データの再現が困難な検証用データを生成することができる。
【００３０】
好ましくは、出力手段が検証用データを外部に出力する前の段階で、検証用データの画像を表示する表示制御手段を、さらに備え、出力手段は、検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、検証用データを外部に出力しない。
【００３１】
この局面に従えば、検証用データが外部に出力される前に、検証用データの画像が表示されるので、ユーザーに外部に出力されるデータを通知することができる。また、出力の許可を示す操作がユーザーにより入力されるまで検証用データが外部に出力されないので、ユーザーは、処理データに含まれる機密が外部に流出しないようにすることができる。
【００３２】
好ましくは、画像処理手段を備えた画像処理装置から処理データを取得する処理データ取得手段と、画像処理手段をシミュレートするシミュレート手段と、をさらに備える。
【００３３】
この局面に従えば、画像処理手段をシミュレートし、画像処理装置から取得される処理データを検証用データに変換し、検証用データを外部に出力するので、画像処理装置と情報処理装置以外に機密が漏洩するのを防止することができる。
【００３４】
この発明の他の局面によれば、画像制御方法は、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出ステップと、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、検証用データを処理データに代えて外部に出力する出力ステップと、を情報処理装置に実行させる。
【００３５】
この局面に従えば、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御方法を提供することができる。
【００３６】
この発明の他の局面によれば、画像制御プログラムは、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出ステップと、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、検証用データを処理データに代えて外部に出力する出力ステップと、をコンピューターに実行させる。
【００３７】
この局面に従えば、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御プログラムを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。
【図２】本実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図３】本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。
【図４】第１の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図５】処理データから検証用データを作成する手順の一例を示す図である。
【図６】第１の実施の形態における画像制御処理の流れの一例を示すフローチャートである。
【図７】検証用データ生成処理の流れの一例を示すフローチャートである。
【図８】第２中間データ生成処理の流れの一例を示すフローチャートである。
【図９】表示判定処理の流れの一例を示すフローチャートである。
【図１０】変形例における第２中間データ生成処理の流れの一例を示すフローチャートである。
【図１１】変形例における表示判定処理の流れの一例を示すフローチャートである。
【図１２】本実施の形態における内部サーバーのハードウェア構成の概要の一例を示すブロック図である。
【図１３】第２の実施の形態における内部サーバーが備えるシミュレータの概要の一例を示す図である。
【図１４】第２の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１５】第２の実施の形態における内部サーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１６】第２の実施の形態における画像制御処理の流れの一例を示すフローチャートである。
【図１７】サーバー側検証用データ生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３９】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
【００４０】
＜第１の実施の形態＞
図１は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。図１を参照して、情報処理システム１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００と、内部サーバー２００と、検証サーバー５００と、を含む。
【００４１】
ＭＦＰ１００は、画像形成装置の一例であり、処理対象となるデータを画像処理する画像処理機能、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。ＭＦＰ１００は、画像処理機能および画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。画像処理は、複数のオブジェクトで構成されるオブジェクトデータを、複数の画素値で構成される画像データに変換するラスタライズ処理、画像データをオブジェクトデータに変換する変換処理を含む。また、画像処理は、限定するものではないが、画像中のエッジを強調する先鋭化処理、画像中の色の変化を滑らかにするスムージング処理を含む。
【００４２】
内部サーバー２００および検証サーバー５００は、一般的なコンピューターである。内部サーバー２００およびＭＦＰ１００それぞれは、ローカルエリアネットワーク（ＬＡＮ）３に接続される。検証サーバー５００は、インターネット５に接続されている。
【００４３】
ＬＡＮ３に接続されるＭＦＰ１００および内部サーバー２００それぞれは、ＬＡＮ３を介してデータの送受信が可能である。ＬＡＮ３は、それに接続される装置が限定された閉じた環境となるため、ＬＡＮ３に接続される複数の装置間、ここではＭＦＰ１００と内部サーバー２００との間で送受信されるデータが外部に漏れないようにセキュリティが確保されている。なお、ＬＡＮ３の接続形態は有線または無線を問わない。なお、ＬＡＮ３に代えて、セキュリティが確保されるのであれば、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク、ワイドエリアネットワーク（ＷＡＮ）を用いるようにしてもよい。
【００４４】
ＬＡＮ３は、インターネット５に接続される。このため、ＭＦＰ１００および内部サーバー２００それぞれは、ネットワーク３を介してインターネット５に接続された検証サーバー５００と互いに通信可能である。ＭＦＰ１００および内部サーバー２００は内部に配置される装置であるのに対して、検証サーバー５００は、ＭＦＰ１００および内部サーバー２００に対して外部に配置される装置である。
【００４５】
本実施の形態における情報処理システム１において、ＭＦＰ１００で不具合が発生する場合に、検証サーバー５００で、ＭＦＰ１００において発生した不具合を検証する。そして、検証結果に基づいて、ＭＦＰ１００で発生した不具合が次に発生しないように、ＭＦＰ１００に設定するパラメータを決定したり、ＭＦＰ１００で実行されるプログラムを改変したり、ハードウェア資源を交換または増設することができる。検証サーバー５００において、ＭＦＰ１００において発生した不具合を再現するために、ＭＦＰ１００において発生した不具合の原因となるデータが必要となるが、そのデータが機密情報を含んでいる場合があるので、ＭＦＰ１００は、そのデータそのものを検証サーバー５００に送信するのではなく、そのデータを検証用データに変換し、検証用データを検証サーバー５００に送信する。検証用データがＬＡＮ３に接続されたＭＦＰ１００と内部サーバー２００を含む閉じた環境の外部の検証サーバー５００に送信されるが、検証用データからデータに含まれる機密情報を再現できなければ機密が外部に漏洩するのを防止することができる。
【００４６】
図２は、本実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、ＭＦＰ１００は、メイン基板１１１と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、通信インターフェース（Ｉ／Ｆ）部１６０と、ファクシミリ部１７０と、外部記憶装置１８０と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１３と、ユーザーインターフェースとしての操作パネル１１５とを含む。
【００４７】
メイン基板１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３、および操作パネル１１５と接続され、ＭＦＰ１００の全体を制御する。
【００４８】
自動原稿搬送装置１２０は、原稿トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。
【００４９】
給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
【００５０】
通信Ｉ／Ｆ部１６０は、ネットワーク３にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１６０は、ＴＣＰまたはＵＤＰ等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【００５１】
通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータをメイン基板１１１に出力し、メイン基板１１１から入力されるデータをネットワーク３に出力する。通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータのうちＭＦＰ１００宛てのデータのみを、メイン基板１１１に出力し、ネットワーク３から受信されるデータのうちＭＦＰ１００とは異なる装置宛てのデータを廃棄する。
【００５２】
ファクシミリ部１７０は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１、または半導体メモリが装着される。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリに記憶されたデータを読み出す。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリにデータを記憶する。
【００５３】
操作パネル１１５は、ＭＦＰ１００の上面に設けられ、表示部１１８と操作部１１９とを含む。表示部１１８は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１９は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部１１８の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１１８の表示面中でユーザーにより指示された位置を検出する。
【００５４】
図３は、本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図３を参照して、メイン基板１１１は、ＣＰＵ１７１と、ＲＯＭ１７３と、ＲＡＭ１７５と、画像制御ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１７７と、を含む。
【００５５】
ＣＰＵ１７１、ＲＯＭ１７３、ＲＡＭ１７５および画像制御ＡＳＩＣ１７７それぞれは、バス１７９に接続されており、データの転送が可能である。ＣＰＵ１７１は、ＭＦＰ１００の全体を制御する。ＲＯＭ１７３は、ＣＰＵ１７１が実行するプログラムを記憶する。ＲＡＭ１７５は、ＣＰＵ１７１の作業領域として用いられる揮発性の半導体メモリである。
【００５６】
ＣＰＵ１７１は、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１７５にロードして実行する。ＣＰＵ１７１が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、の通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、ＨＤＤ１１３および操作パネル１１５を含む。アプリケーションプログラムは、例えば、ファクシミリ部１７０を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部１７０を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信Ｉ／Ｆ部１６０を制御してプリントジョブを受信し、画像形成部１４０および給紙部１５０を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部１３０を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、ＭＦＰ１００が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、ＣＰＵ１７１が実行するアプリケーションプログラムを、これらに限定するものではない。
【００５７】
画像制御ＡＳＩＣ１７７は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、および給紙部１５０と接続され、それらを制御する。また、画像制御ＡＳＩＣ１７７は、原稿読取部１３０が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、画像データを画像形成部１４０がプリントするためのラスターデータに変換する機能を有する。
【００５８】
図４は、第１の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。図４に示す機能は、ＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶された画像制御プログラムを実行することにより、ＣＰＵ１７１により実現される機能である。図４を参照して、ＣＰＵ１７１は、処理データを受け付けるデータ受付部５１と、データに対して画像処理を実行する画像処理部５３と、画像処理部５３による画像処理の不具合を検出する不具合検出部５５と、検証用データを生成する生成部５９と、検証用データを外部に出力する出力部６１と、表示部１１８を制御する表示制御部６３と、を含む。
【００５９】
データ受付部５１は、ＭＦＰ１００が処理の対象とする処理データを受け付ける。データ受付部５１は、処理データを受け付けることに応じて、その処理データを画像処理部５３および生成部５９に出力する。処理データは、１以上のオブジェクトを含むオブジェクトデータである。オブジェクトは、限定するものではないが、線、文字、図形、写真を含み、オブジェクトを描画するために必要なパラメータを含む。例えば、文字のオブジェクトの場合、パラメータは、文字を特定するための情報、文字のサイズ、フォント、書体を特定する情報、色に関する情報、そのオブジェクトが配置される処理データ中の位置を示す位置情報と、を含む。また、オブジェクトを複数のベクトルの集合で表す場合、パラメータは、複数のベクトルの方向、サイズおよび位置を特定する値としてもよい。また、画像のオブジェクトの場合、パラメータは、解像度、サイズ、色に関する情報、そのオブジェクトが配置される処理データ中の位置を示す位置情報を含む。
【００６０】
データ受付部５１は、通信Ｉ／Ｆ部１６０が、ＬＡＮ３に接続されたパーソナルコンピューター（以下ＰＣという）からプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。データ受付部５１は、通信Ｉ／Ｆ部１６０がインターネット５に接続されたウェブ（Ｗｅｂ）サーバーからＷｅｂデータを受信する場合、Ｗｅｂデータを処理データとして受け付ける。また、データ受付部５１は、ＨＤＤ１１３に記憶されたデータをプリントする指示を受け付ける場合、ＨＤＤ１１３に記憶されたデータを処理データとして受け付ける。
【００６１】
画像処理部５３は、データを画像処理し、画像データを生成する。画像処理部５３は、データ受付部５１から処理データが入力されることに応じて、処理データを画像処理する。例えば、処理データがプリントデータの場合、プリントジョブによって定められた条件に従ってプリントデータを画像処理する。画像処理部５３は、処理データがＷｅｂデータまたはＨＤＤ１１３に記憶されたデータの場合、ユーザーが操作部１１９に入力するプリント条件に従って処理データを画像処理する。
【００６２】
不具合検出部５５は、画像処理部５３が画像処理を実行中に発生する不具合を検出する。画像処理部５３は、ＣＰＵ１７１が画像処理プログラムを実行する画像処理タスクである。不具合検出部５５は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理部５３が画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。不具合検出部５５は、不具合を検出する場合、検出された不具合を特定するための不具合情報を生成部５９に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。
【００６３】
生成部５９は、データ受付部５１から入力される処理データに基づいて、画像処理部５３により画像処理されると不具合検出部５５により検出された不具合と同じ不具合が発生する検証用データを生成する。生成部５９は、確認部７１と、変更オブジェクト生成部７３と、ダミー追加部７５と、を含む。
【００６４】
変更オブジェクト生成部７３は、処理データに含まれる１以上のオブジェクトの少なくとも１つであって、そのオブジェクトを定める複数のパラメータの少なくとも１つをランダムな値に変更した変更オブジェクトを少なくとも含む作業データを、所定の条件に従って生成する。
【００６５】
確認部７１は、画像処理部５３が処理データを画像処理する場合に不具合検出部５５が不具合を検出して出力する不具合情報を基準エラー情報としてＲＡＭ１７５に記憶する。確認部７１は、変更オブジェクト生成部７３により生成された作業データを画像処理部５３に実行させ、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、その作業データを検証用データに決定する。
【００６６】
ここでは、生成部５９に入力される処理データが１以上のオブジェクトを含むオブジェクトデータとする場合を例に説明する。変更オブジェクト生成部７３は、第１中間データ生成部８１と、第２中間データ生成部８３と、復元部８５と、を含む。確認部７１は、画像処理部５３が処理データを画像処理する場合に不具合検出部５５が不具合を検出して出力する不具合情報が入力されることに応じて、第１中間データ生成部８１に生成指示を出力する。
【００６７】
第１中間データ生成部８１は、データ受付部５１から入力される処理データに含まれる１以上のオブジェクトの少なくとも１つを含む第１中間データを生成する。換言すれば、第１中間データ生成部８１は、データ受付部５１から入力される処理データに含まれる１以上のオブジェクトのうち、画像処理部５３が処理データを画像処理する場合に不具合検出部５５が検出する不具合と同じ不具合が検出されるオブジェクトを少なくとも含む第１中間データを生成する。
【００６８】
具体的には、第１中間データ生成部８１は、処理データを第１中間データに設定し、処理データに含まれる１以上のオブジェクトを順に１つずつ選択する。第１中間データ生成部８１は、第１中間データから選択されたオブジェクトを削除した作業データを生成する。確認部７１は、第１中間データ生成部８１により生成された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、第１中間データ生成部８１に成功信号を出力し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、第１中間データ生成部８１にエラー信号を出力する。
【００６９】
第１中間データ生成部８１は、確認部７１から成功信号が入力される場合、作業データを第１中間データに設定し、次のオブジェクトを選択するが、確認部７１からエラー信号が入力される場合は作業データを第１中間データに設定することなく、次のオブジェクトを選択する。第１中間データ生成部８１は、処理データに含まれる１以上のオブジェクトのすべてを選択し、最後に選択したオブジェクトを第１中間データから削除した作業データについて画像処理が完了する場合、その時点の第１中間データを第２中間データ生成部８３に出力する。このため、第１中間データ生成部８１が第２中間データ生成部８３に出力する第１中間データは、画像処理部５３が画像処理すると基準エラー情報で特定される不具合が発生するデータである。
【００７０】
第２中間データ生成部８３は、第１中間データ生成部８１から第１中間データが入力されることに応じて、第１中間データに含まれる少なくとも１つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第２中間データを作業データとして生成する。ただし、第２中間データ生成部８３は、オブジェクトの属性が画像の場合であって、そのオブジェクトを定める複数のパラメータのうち画像を制御するパラメータについては、設定されているパラメータより小さな値であって、ランダムな値に変更する。画像を制御するパラメータは、例えば、オブジェクトの解像度またはサイズを定めるパラメータである。オブジェクトの属性が画像の場合に、画像を制御するパラメータを、より小さな値に変更することにより、パラメータが変更された後のオブジェクトは、解像度またはサイズが小さくなるので、視認性を低下させることができる。
【００７１】
確認部７１は、第２中間データ生成部８３により生成された第２中間データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、第２中間データを検証用データに決定し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、第２中間データ生成部８３に第２中間データを復元部８５に出力させ、復元部８５に復元指示を出力する。検証データが決定される段階で、検証用データに含まれる１以上のオブジェクトであって、複数のパラメータの少なくとも１つが変更されたオブジェクトを変更オブジェクトという。
【００７２】
復元部８５は、第２中間データ生成部８３から第２中間データが入力される。復元部８５は、確認部７１から復元指示が入力されることに応じて、第２中間データに含まれる少なくとも１つのオブジェクトそれぞれの複数のパラメータの１つを第２中間データ生成部８３により変更される前の値に戻した作業データを生成する。
【００７３】
確認部７１は、復元部８５により生成された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを検証用データに決定し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、復元部８５に再復元指示を出力する。
【００７４】
復元部８５は、確認部７１から再復元指示が入力されることに応じて、作業データに含まれる１以上のオブジェクトそれぞれの複数のパラメータの１つを第２中間データ生成部８３により変更される前の値に戻した新たな作業データを生成する。このため、確認部７１は、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合に復元部８５に再復元指示を出力するので、復元部８５によって、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されるまで、作業データに含まれる１以上のオブジェクトそれぞれの複数のパラメータの１つが第２中間データ生成部８３により変更される前の値に戻される。
【００７５】
確認部７１は、検証用データを決定する場合、ダミー追加部７５に追加指示を出力する。ダミー追加部７５は、追加指示が入力されることに応じて、検証用データに１以上のダミーオブジェクトを追加した作業データを生成する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。ダミーオブジェクトの数は、ダミーオブジェクトの総和が、ダミーオブジェクトを追加する前の検証用データに含まれる１以上のオブジェクトの総和に占める割合が所定の値以上となる数であるのが好ましい。また、ダミーオブジェクトの数は、ランダムな数としてもよい。
【００７６】
確認部７１は、ダミー追加部７５により検証用データにダミーオブジェクトが追加された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部６１および表示制御部６３に出力する。確認部７１は、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、ダミー追加部７５に再追加指示を出力する。ダミー追加部７５は、再追加指示が入力されることに応じて、検証用データに、新たな１以上のダミーオブジェクトを追加した作業データを生成する。確認部７１は、ダミー追加部７５により作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部６１および表示制御部６３に出力する。確認部７１は、ダミー追加部７５により検証用データにダミーオブジェクトが追加された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されるまでダミー追加部７５に再追加指示を出力する。
【００７７】
表示制御部６３は、検証用データが入力されることに応じて、表示条件を満たしているか否かを判断する。ここでは、第１の表示条件を、変更オブジェクト生成部７３により生成された変更オブジェクトの数が処理データに含まれる１以上のオブジェクトの数に占める割合が第１のしきい値以上とし、第２の表示条件を、変更オブジェクト生成部７３により生成された１以上の変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第２のしきい値以下としている。表示制御部６３は、第１の表示条件と第２の表示条件との少なくとも一方が満たされない場合に、表示部１１８に通知画面を表示し、第１の表示条件と第２の表示条件との双方が満たされる場合に、表示部１１８に通知画面を表示することなく、出力部６１に出力指示を出力する。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。
【００７８】
出力部６１は、表示制御部６３により通知画面が表示される場合は操作部１１９が通知画面に含まれる出力を許可する操作を受け付けるボタンを指示する操作を受け付けることに応じて、検証用データを検証サーバー５００に送信する。出力部６１は、通知画面が表示されることなく表示制御部６３から出力指示が入力されることに応じて、検証用データを検証サーバー５００に送信する。
【００７９】
なお、表示制御部６３は、第１の表示条件と第２の表示条件との双方が満たされない場合に、表示部１１８に通知画面を表示し、第１の表示条件と第２の表示条件と少なくとも一方が満たされる場合に、表示部１１８に通知画面を表示することなく、出力部６１に出力指示を出力するようにしてもよい。
【００８０】
図５は、処理データから検証用データを作成する手順の一例を示す図である。図５（Ａ）は、処理データの一例を示す図である。処理データ４００は、４つのオブジェクト群４１０，４２０，４３０，４４０を含む。４つのオブジェクト群４１０，４２０，４３０，４４０それぞれは、１以上のオブジェクトで構成される。
【００８１】
図５（Ｂ）は、第１中間データの一例を示す図である。第１中間データ４０１は、処理データ４００から３つのオブジェクト群４１０，４２０，４３０を削除したデータであって、オブジェクト群４４０を含む。第１中間データ４０１は、第１中間データ４０１を画像処理する場合に、処理データ４００を画像処理する場合と同じ不具合が発生するデータである。オブジェクト群４４０は、３つのオブジェクト４４１〜４４３を含む。なお、図中の〇印は、３つのオブジェクト４４１〜４４３を示すために便宜的に付したもので、実際には存在しない。この場合は、３つのオブジェクト４４１〜４４３の組み合わせによって、不具合が発生する。
【００８２】
図５（Ｃ）は、第２中間データの一例を示す図である。第２中間データ４０２は、３つの変更オブジェクト４４１Ａ〜４４３Ａを含む。変更オブジェクト４４１Ａは、オブジェクト４４１を定める複数のパラメータのすべてをランダムな値に変更したものであり、変更オブジェクト４４２Ａは、オブジェクト４４２を定める複数のパラメータのすべてをランダムな値に変更したものであり、変更オブジェクト４４３Ａは、オブジェクト４４３を定める複数のパラメータのすべてをランダムな値に変更したものである。
【００８３】
図５（Ｄ）は、検証用データの一例を示す第１の図である。検証用データ４０３は、３つの変更オブジェクト４４１Ａ，４４２Ｂ，４４３Ｂを含む。変更オブジェクト４４２Ｂは、変更オブジェクト４４２Ａを定める複数のパラメータの少なくとも１つを元のオブジェクト４４２を定めるパラメータと同じ値に戻したものである。変更オブジェクト４４３Ｂは、変更オブジェクト４４３Ａを定める複数のパラメータの少なくとも１つを元のオブジェクト４４３を定めるパラメータと同じ値に戻したものである。
【００８４】
図５（Ｅ）は、検証用データの一例を示す第２の図である。検証用データ４０３Ａは、３つの変更オブジェクト４４１Ａ，４４２Ｂ，４４３Ｂに加えて、４つのダミーオブジェクト４５１〜４５４を含む。ダミーオブジェクト４５１〜４５４は、ランダムに生成されたオブジェクトである。
【００８５】
図６は、第１の実施の形態における画像制御処理の流れの一例を示すフローチャートである。画像制御処理は、ＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶された画像制御プログラムを実行することにより、ＣＰＵ１７１により実現される機能である。図６を参照して、ＣＰＵ１７１は、画像処理の対象となる処理データを取得する（ステップＳ０１）。通信Ｉ／Ｆ部１６０が、ＬＡＮ３に接続されたＰＣからプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。通信Ｉ／Ｆ部１６０がインターネット５に接続されたＷｅｂサーバーからＷｅｂデータを受信する場合、Ｗｅｂデータを処理データとして受け付ける。また、ＨＤＤ１１３に記憶されたデータをプリントする指示を受け付ける場合、ＨＤＤ１１３に記憶されたデータを処理データとして受け付ける。
【００８６】
次のステップＳ０２においては、処理データを画像処理する（ステップＳ０２）。そして、画像処理の不具合を検出したか否かを判断する（ステップＳ０３）。画像処理プログラムを実行するタスクが、画像処理プログラムにより予め定められたエラーを検出する場合、または画像制御ＡＳＩＣ１７７がエラーを検出する場合に、不具合を検出する。不具合を検出したならば処理をステップＳ０４に進めるが、そうでなければ処理をステップＳ１３に進める。ステップＳ１３においては、画像形成部１４０を制御して、処理データを画像処理した画像データの画像を用紙に形成し、処理を終了する。
【００８７】
ステップＳ０４においては、セキュリティ保護モードか否かを判断する。処理データにセキュリティ保護モードが設定されている場合、セキュリティ保護モードと判断する。セキュリティ保護モードならば処理をステップＳ０５に進めるが、そうでなければ処理をステップＳ１２に進める。ステップＳ１２においては、通信Ｉ／Ｆ部１６０を制御して、検証サーバー５００に処理データを送信し、処理を終了する。
【００８８】
ステップＳ０５においては、ステップＳ０３において検出された不具合を基準不具合に設定する。不具合は、画像処理プログラムを実行するタスクまたは画像制御ＡＳＩＣ１７７が検出するエラーであるため、そのエラーのエラー識別情報を、基準不具合を示す不具合情報としてＲＡＭ１７５に記憶する。
【００８９】
次のステップＳ０６においては、検証用データ生成処理を実行し、処理をステップＳ０７に進める。検証用データ生成処理の詳細は後述するが、処理データに基づいて生成されるデータであって、画像処理されると基準不具合と同じ不具合が発生する検証用データを生成する処理である。ステップＳ０７においては、表示判定処理を実行し、処理をステップＳ０８に進める。表示判定処理の詳細は後述するが、通知画面を表示するか否かを判定する処理である。通知画面を表示すると判定する場合に、表示モードに設定され、通知画面を表示しない判定する場合に、非表示モードに設定される。次のステップＳ０８においては、表示判定処理の結果、表示モードが設定されているか否かを判断する。表示モードが設定されているならば処理をステップＳ０９に進めるが、そうでなければ処理をステップＳ１１に進める。
【００９０】
ステップＳ０９においては、通知画面を表示し、処理をステップＳ１０に進める。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。そして、ユーザーによる許可を受け付けたか否かを判断する（ステップＳ１０）。通知画面に含まれる出力を許可するユーザーによる操作を受け付けるボタンを指示する操作を受け付けたならば、ユーザーによる許可を受け付ける。ユーザーによる許可を受け付けたならば処理をステップＳ１１に進めるが、そうでなければ処理を終了する。ステップＳ１１においては、通信Ｉ／Ｆ部１６０を制御して、検証用データを検証サーバー５００に送信し、処理を終了する。
【００９１】
図７は、検証用データ生成処理の流れの一例を示すフローチャートである。検証用データ生成処理は、図６のステップＳ０６において実行される処理である。検証用データ生成処理が実行される前の段階で、処理データが取得されており、基準不具合が設定されている。図７を参照して、ＣＰＵ１７１は、処理データを第１中間データに設定し（ステップＳ２１）、処理をステップＳ２２に進める。具体的には、処理データの複製を第１中間データとする。そして、ステップＳ２２においては、第２中間データ生成処理を実行する。
【００９２】
図８は、第２中間データ生成処理の流れの一例を示すフローチャートである。図８を参照して、第１中間データに含まれる１以上のオブジェクトのうちから１つを選択する（ステップＳ４１）。そして、ステップＳ４１において選択されたオブジェクトを第１中間データから削除したデータを作業データに設定する（ステップＳ４２）。
【００９３】
次のステップＳ４３においては、作業データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する（ステップＳ４４）。基準不具合と同じ不具合を検出したならば処理をステップＳ４５に進めるが、そうでなければ処理をステップＳ４６に進める。ステップＳ４５においては、作業データを第１中間データに設定し、処理をステップＳ４６に進める。ステップＳ４６においては、第１中間データに含まれる１以上のオブジェクトのうちでステップＳ４１において選択されていないオブジェクトが存在するか否かを判断する。未選択のオブジェクトが存在すれば処理をステップＳ４１に戻すが、そうでなければ処理をステップＳ４７に進める。ステップＳ４５においては、第１中間データに含まれる１以上のオブジェクトのうちから１つを削除したデータを作業データに設定するので、ステップＳ４５が実行されるごとに、処理データから１つのオブジェクトが削除されたデータが第１中間データに設定される。
【００９４】
ステップＳ４７においては、第１中間データに含まれる１以上のオブジェクトのうちから１つのオブジェクトを選択する。そして、選択されたオブジェクトを定める複数のパラメータのうちから１つを処理対象に選択する（ステップＳ４８）。ステップＳ４９においては、選択されたパラメータが画像を制御するパラメータか否かを判断する。画像を制御するパラメータの一例としては、解像度、サイズである。パラメータが画像を制御するパラメータならば、処理をステップＳ５０に進めるが、そうでなければ処理をステップＳ５１に進める。ステップＳ５０においては、パラメータをより小さなランダムな値に変更し、処理をステップＳ５２に進める。ステップＳ５１においては、パラメータをランダムな値に変更し、処理をステップＳ５２に進める。ステップＳ５２においては、ステップＳ４７において処理対象に選択されたオブジェクトを定める複数のパラメータのうちステップＳ４８において処理対象に選択されていないパラメータが存在するか否かを判断する。未選択のパラメータが存在するならば処理をステップＳ４８に戻すが、そうでなければ処理をステップＳ５３に進める。このため、ステップＳ４７において処理対象に選択されたオブジェクトにおいて、そのオブジェクトを定める複数のパラメータのすべてがランダムな値に変更される。ステップＳ５３においては、処理対象に選択され、パラメータが変更されたオブジェクトを変更オブジェクトに設定し、処理をステップＳ５４に進める。
【００９５】
ステップＳ５４においては、第１中間データに含まれる１以上のオブジェクトのうちで、ステップＳ４７において処理対象に選択されていないオブジェクトが存在するか否かを判断する。未選択のオブジェクトが存在するならば処理をステップＳ４７に戻すが、そうでなければ処理をステップＳ５５に進める。これにより、第１中間データに含まれる１以上のオブジェクトすべてに対応する１以上の変更オブジェクトが生成される。
【００９６】
ステップＳ５５においては、第１中間データに含まれる１以上のオブジェクトを、１以上の変更オブジェクトに置き換えた第２中間データを生成し、処理を検証用データ生成処理に戻す。
【００９７】
図７に戻って、ステップＳ２３においては、第２中間データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する（ステップＳ２４）。基準不具合と同じ不具合を検出したならば処理をステップＳ３０に進めるが、そうでなければ処理をステップＳ２５に進める。
【００９８】
ステップＳ２５においては、変数ｉに１を設定する。変数ｉは、パラメータの順番を特定するための値である。次のステップＳ２６においては、第２中間データに含まれる１以上の変更オブジェクトのうちから１つを選択し、処理をステップＳ２７に進める。ステップＳ２７においては、選択された変更オブジェクトを定める複数のパラメータのうち第ｉ番目のパラメータを元の値に戻す。第２中間データ生成処理のステップＳ５０またはステップＳ５１においてランダムな値に変更されているパラメータを、変更される前の値に戻す。
【００９９】
次のステップＳ２８においては、第２中間データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する（ステップＳ２９）。基準不具合と同じ不具合を検出したならば処理をステップＳ３０に進めるが、そうでなければ処理をステップＳ３４に進める。ステップＳ３４においては、第２中間データに含まれる１以上の変更オブジェクトのうちでステップＳ２６において選択されていない変更オブジェクトが存在するか否かを判断する。未選択の変更オブジェクトが存在するならば処理をステップＳ２６に戻すが、未選択の変更オブジェクトが存在しなければ処理をステップＳ３５に進める。これにより、第２中間データに含まれる１以上の変更オブジェクトが順に選択されて、それぞれの第ｉ番目のパラメータが順に元の値に変更される。ステップＳ３５においては、変数ｉをインクメントし、処理をステップＳ２６に戻す。これにより、１以上の変更オブジェクトすべての第ｉ番目のパラメータが元の値に戻った場合には、１以上の変更オブジェクトの第（ｉ＋１）番目のパラメータが順に元の値に戻される。
【０１００】
処理がステップＳ３０に進む場合は、ステップＳ２３またはステップＳ２８において、第２中間データを画像処理して基準不具合と同じ不具合が検出される場合である。ステップＳ３０においては、第２中間データを検証用データに設定し、処理をステップＳ３１に進める。ステップＳ３１においては、検証用データにダミーオブジェクトを追加する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。検証用データにダミーオブジェクトを追加するので、検証用データだけから処理データを再現する作業を困難にすることができる。
【０１０１】
次のステップＳ３２においては、ダミーオブジェクトが追加された検証用データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する（ステップＳ３３）。基準不具合と同じ不具合を検出したならば処理を画像制御処理に戻すが、そうでなければ処理をステップＳ３１に戻す。次に実行されるステップＳ３１においては、第２中間データから先に追加したダミーオブジェクトを削除し、別のダミーオブジェクトを追加する。これにより、画像処理すると基準不具合と同じ不具合が発生する検証用データを生成することができる。
【０１０２】
図９は、表示判定処理の流れの一例を示すフローチャートである。表示判定処理は、図６のステップＳ０７において実行される処理である。表示判定処理が実行される前の段階で、検証用データが生成されている。図９を参照して、検証用データに含まれる１以上の変更オブジェクトの総数が、処理データに含まれるオブジェクトの総数に占める割合が、しきい値ＴＨ１以上か否かを判断する（ステップＳ６１）。真ならば処理をステップＳ６２に進めるが、偽ならば処理をステップＳ６４に進める。ステップＳ６２においては、変更パラメータの総数がパラメータの総数に占める割合が、しきい値ＴＨ２以上か否かを判断する。真ならば処理をステップＳ６３に進めるが、偽ならば処理をステップＳ６４に進める。変更パラメータの総数は、検証用データに含まれる１以上の変更オブジェクトそれぞれのパラメータのうちでランダムな値に変更されたパラメータの総数である。パラメータの総数は、処理データに含まれるオブジェクトそれぞれのパラメータの総数である。ステップＳ６３においては、表示モードに設定し、処理を画像制御処理に戻す。ステップＳ６４においては、非表示モードに設定し、処理を画像制御処理に戻す。
【０１０３】
＜変形例＞
上述した第１の実施の形態における情報処理システムにおいては、処理データをオブジェクトデータとした場合を例に説明した。変形例における情報処理システムにおいては、処理データを画像データとしたものである。この場合、変形例におけるＭＦＰ１００は、画像データをオブジェクトデータに変換する画像処理を実行する。
【０１０４】
変形例におけるＭＦＰ１００が備えるＣＰＵ１７１は、図４に示した機能と同様の機能を有する。図４を参照して、データ受付部５１は、ファクシミリ部１７０が受信するファクミリデータまたは原稿読取部１３０が原稿を読み取って出力する画像データを処理データとして受け付け、画像処理部５３は、処理データをオブジェクトデータに変換する画像処理を実行する。不具合検出部５５は、画像処理部５３が処理データをオブジェクトデータに変換している間に発生する不具合を検出する。
【０１０５】
第１中間データ生成部８１は、不具合検出部５５によって不具合が検出される場合、データ受付部５１から入力される処理データ中で、オブジェクトに変換可能な部分を順に抽出し、オブジェクトに変換可能ならばその分を処理データから削除し、オブジェクトに変換できない部分を含むデータを第１中間データとして生成する。変換に含まれる１以上のオブジェクトのうち、画像処理部５３が処理データを画像処理する場合に不具合検出部５５が検出する不具合と同じ不具合が検出されるオブジェクトを少なくとも含む第１中間データを生成する。
【０１０６】
例えば、第１中間データ生成部８１は、処理データを第１中間データに設定し、処理データのうちからオブジェクトに変換可能な部分を順に１つずつ選択する。第１中間データ生成部８１は、第１中間データから選択された部分を削除した作業データを生成する。確認部７１は、第１中間データ生成部８１により生成された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、第１中間データ生成部８１に成功信号を出力し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、第１中間データ生成部８１にエラー信号を出力する。
【０１０７】
第１中間データ生成部８１は、確認部７１から成功信号が入力される場合、作業データを第１中間データに設定し、次の部分を選択するが、確認部７１からエラー信号が入力される場合は作業データを第１中間データに設定することなく、次の部分を選択する。第１中間データ生成部８１は、処理データに含まれるオブジェクトに変換可能な部分のすべてを選択し、最後に選択した部分を第１中間データから削除した作業データについて画像処理が終了する場合、その時点の第１中間データを第２中間データ生成部８３に出力する。このため、第１中間データ生成部８１が第２中間データ生成部８３に出力する第１中間データは、画像処理部５３が画像処理すると基準エラー情報で特定される不具合が発生するデータである。
【０１０８】
第２中間データ生成部８３は、第１中間データ生成部８１から第１中間データが入力されることに応じて、第１中間データを属性が画像のオブジェクトとしたオブジェクトデータに変換したデータを第２中間データに設定する。この場合、第1中間データを複数に分割し、分割後の複数の部分それぞれを属性が画像の複数のオブジェクトとしてもよい。第２中間データ生成部８３は、第２中間データに含まれる１以上のオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第２中間データを作業データとして生成する。この場合において、２中間データに含まれる１以上のオブジェクトは、属性が画像なので、そのオブジェクトを定める複数のパラメータのうち画像を制御するパラメータについては、設定されているパラメータより小さな値であって、ランダムな値に変更する。画像を制御するパラメータを、より小さな値に変更することにより、視認性を低下させることができる。
【０１０９】
確認部７１は、第２中間データ生成部８３により生成された第２中間データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、第２中間データを検証用データに決定し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、第２中間データ生成部８３に第２中間データを復元部８５に出力させ、復元部８５に復元指示を出力する。検証データが決定される段階で、検証用データに含まれる１以上のオブジェクトであって、複数のパラメータの少なくとも１つが変更されたオブジェクトを変更オブジェクトという。
【０１１０】
復元部８５は、第２中間データ生成部８３から第２中間データが入力される。復元部８５は、確認部７１から復元指示が入力されることに応じて、第２中間データに含まれる少なくとも１つのオブジェクトそれぞれの複数のパラメータの１つを第２中間データ生成部８３により変更される前の値に戻した作業データを生成する。
【０１１１】
確認部７１は、復元部８５により生成された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを検証用データに決定し、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、復元部８５に再復元指示を出力する。
【０１１２】
復元部８５は、確認部７１から再復元指示が入力されることに応じて、作業データに含まれる１以上のオブジェクトそれぞれの複数のパラメータの１つを第２中間データ生成部８３により変更される前の値に戻した新たな作業データを生成する。このため、確認部７１は、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合に復元部８５に再復元指示を出力するので、復元部８５によって、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されるまで、作業データに含まれる１以上のオブジェクトそれぞれの複数のパラメータの１つが第２中間データ生成部８３により変更される前の値に戻される。
【０１１３】
確認部７１は、検証用データを決定する場合、ダミー追加部７５に追加指示を出力する。ダミー追加部７５は、追加指示が入力されることに応じて、検証用データに１以上のダミーオブジェクトを追加した作業データを生成する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。ダミーオブジェクトの数は、ダミーオブジェクトの面積の総和が検証用データに含まれる１以上のオブジェクトの面積の総和に占める割合が所定の値以上となる数であるのが好ましい。
【０１１４】
確認部７１は、ダミー追加部７５により検証用データにダミーオブジェクトが追加された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部６１および表示制御部６３に出力する。確認部７１は、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、ダミー追加部７５に再追加指示を出力する。ダミー追加部７５は、再追加指示が入力されることに応じて、検証用データに、新たな１以上のダミーオブジェクトを追加した作業データを生成する。確認部７１は、ダミー追加部７５により作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部６１および表示制御部６３に出力する。確認部７１は、ダミー追加部７５により検証用データにダミーオブジェクトが追加された作業データを画像処理部５３に画像処理させた後に、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されない場合、不具合検出部５５から基準エラー情報と同じ不具合情報が入力されるまでダミー追加部７５に再追加指示を出力する。
【０１１５】
表示制御部６３は、検証用データが入力されることに応じて、表示条件を満たしているか否かを判断する。ここでは、第３の表示条件として、検証用データに含まれる変更オブジェクトの面積の総和が処理データの面積に占める割合が第３のしきい値以上としている。表示制御部６３は、第３の表示条件が満たされる場合に、表示部１１８に通知画面を表示し、第３の表示条件が満たされない場合に、表示部１１８に通知画面を表示することなく、出力部６１に出力指示を出力する。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。
【０１１６】
図１０は、変形例における第２中間データ生成処理の流れの一例を示すフローチャートである。図８に示した処理と異なる点は、ステップＳ４１、ステップＳ４２、ステップＳ４６が、ステップＳ４１Ａ、ステップＳ４２Ａ、ステップＳ４６Ａにそれぞれ変更された点、ステップＳ４６Ａの後にステップＳ４６Ｂが追加された点である。その他の処理は、図８に示した処理と同じなので、ここでは説明を繰り返さない。ステップＳ４１Ａにおいては、第１中間データのうちからオブジェクトに変換可能な部分のうちから１つを選択する。ステップＳ４２Ａにおいては、ステップＳ４１Ａにおいて選択された部分を第１中間データから削除したデータを作業データに設定し、処理をステップＳ４３に進める。
【０１１７】
次のステップＳ４６Ａにおいては、第１中間データに含まれるオブジェクトに変換可能な部分のうちでステップＳ４１Ａにおいて選択されていない部分が存在するか否かを判断する。未選択の部分が存在すれば処理をステップＳ４１Ａに戻すが、そうでなければ処理をステップＳ４６Ｂに進める。ステップＳ４６Ｂにおいては、第１中間データを分割した複数の部分それぞれを属性が画像のオブジェクトに設定し、処理をステップＳ４７に進める。
【０１１８】
図１１は、変形例における表示判定処理の流れの一例を示すフローチャートである。図１１を参照して、図９に示した処理と異なる点は、ステップＳ６１がステップＳ６１Ａに変更された点、ステップＳ６２が削除された点である。ステップＳ６１においては、検証用データに含まれる１以上の変更オブジェクトの面積の総和が、検証用データの面積に占める割合が、しきい値ＴＨ３以上か否かを判断する。真ならば処理をステップＳ６３に進めるが、偽ならば処理をステップＳ６４に進める。ステップＳ６３においては、表示モードに設定し、処理を画像制御処理に戻す。ステップＳ６４においては、非表示モードに設定し、処理を画像制御処理に戻す。
【０１１９】
＜第２の実施の形態＞
第１の実施の形態においては、ＭＦＰ１００が検証用データを生成する機能を有するが、第２の実施の形態における情報処理システム１は、内部サーバー２００が、ＭＦＰ１００に代わって、検証用データを生成する機能を有するようにしたものである。
【０１２０】
第２の実施の形態における情報処理システム１の全体概要は、図１に示した全体概要と同じである。第２の実施の形態におけるＭＦＰ１００のハードウェア構成は、図２および図３に示したブロック図と同じである。
【０１２１】
図１２は、本実施の形態における内部サーバーのハードウェア構成の概要の一例を示すブロック図である。図１２を参照して、内部サーバー２００は、内部サーバー２００の全体を制御するための中央演算装置（ＣＰＵ）２０１と、ＣＰＵ２０１が実行するためのプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するハードディスクドライブ（ＨＤＤ）２０４と、ＣＰＵ２０１をネットワーク３に接続する通信部２０５と、情報を表示する表示部２０６と、ユーザーの操作の入力を受け付ける操作部２０７と、外部記憶装置２０８と、を含む。
【０１２２】
表示部２０６は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置である。操作部２０７は、キーボードなどのハードキーである。また、操作部２０７は、タッチパネルであってもよい。タッチパネルは、表示部２０６の上面または下面に表示部２０６に重畳して設けられる。タッチパネルは、表示部２０６の表示面中でユーザーにより指示された位置を検出する。
【０１２３】
通信部２０５は、ＣＰＵ２０１をネットワーク３に接続するためのインターフェースである。通信部２０５は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続されたＭＦＰ１００と通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。内部サーバー２００に、ＭＦＰ１００のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを登録しておくことにより、内部サーバー２００は、ＭＦＰ１００と通信することができ、データの送受信が可能となる。
【０１２４】
ＨＤＤ２０４は、ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＣＰＵ２０１は、ＨＤＤ２０４に記録されたプログラムを、ＲＡＭ２０３にロードして実行する。
【０１２５】
外部記憶装置２０８は、プログラムを記憶したＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）２０９が装着される。ＣＰＵ２０１は、外部記憶装置２０８を介してＣＤ−ＲＯＭ２０９にアクセス可能である。ＣＰＵ２０１は、外部記憶装置２０８に装着されたＣＤ−ＲＯＭ２０９に記録されたプログラムをＲＡＭ２０３にロードして実行する。なお、ＣＰＵ２０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ２０９に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭまたはＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリであってもよい。
【０１２６】
また、ＣＰＵ２０１が実行するプログラムは、ＣＤ−ＲＯＭ２０９に記録されたプログラムに限られず、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、ＨＤＤ２０４に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、内部サーバー２００が、ネットワーク３またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ２０４に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１２７】
第２の実施の形態における内部サーバー２００は、ＭＦＰ１００をシミュレートするシミュレータを備えている。
【０１２８】
図１３は、第２の実施の形態における内部サーバーが備えるシミュレータの概要の一例を示す図である。このシミュレータは、ＣＰＵ２０１がシミュレートプログラムを実行することにより、ＣＰＵ２０１に形成される。図１３を参照して、シミュレータは、ＣＰＵ周辺シミュレータ３００と、ハードウェア（ＨＷ）シミュレータ３２０と、を含む。ＣＰＵ周辺シミュレータ３００は、ＭＦＰ１００が備えるＣＰＵ１７１をシミュレートする仮想ＣＰＵ３０１と、ＲＯＭ１７３およびＲＡＭ１７５をエミュレートする仮想メモリ３０３と、周辺モデル３０５と、同期設定モデル３０７と、割込制御部３０９と、を含む。仮想ＣＰＵ３０１、仮想メモリ３０３、周辺モデル３０５および同期設定モデル３０７は、バス（Ｂｕｓ）３１１に接続されている。
【０１２９】
周辺モデル３０５は、ＭＦＰ１００が備えるＨＤＤ１１３、操作パネル１１５、通信Ｉ／Ｆ部１６０および外部記憶装置１８０をそれぞれエミュレートするＨＤＤ１１３Ａ、操作パネル１１５Ａ、通信Ｉ／Ｆ部１６０Ａおよび外部記憶装置１８０Ａを含む。
【０１３０】
同期設定モデル３０７は、仮想ＣＰＵ３０１が、仮想メモリ３０３および周辺モデル３０５と同期するための設定をする。割込制御部３０９は、仮想ＣＰＵ３０１が仮想メモリ３０３および周辺モデル３０５と同期するための設定時に、仮想ＣＰＵ３０１に割り込みを発生させる。
【０１３１】
ＨＷシミュレータ３２０は、ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１と、画像制御ＡＳＩＣモデル３２３と、ハードウェア資源モデル３２５と、を含む。ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１は、バス３１１に接続され、ＰＣＩ−Ｅｘｐｒｅｓｓ規格に従った接続をエミュレートする。画像制御ＡＳＩＣモデル３２３は、ＭＦＰ１００が備える画像制御ＡＳＩＣ１７７をエミュレートする。ハードウェア資源モデル３２５は、ＭＦＰ１００が備えるハードウェア資源をエミュレートする。具体的には、ハードウェア資源モデル３２５は、ＭＦＰ１００が備える自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０およびファクシミリ部１７０をそれぞれエミュレートする自動原稿搬送装置１２０Ａ、原稿読取部１３０Ａ、画像形成部１４０Ａ、給紙部１５０Ａおよびファクシミリ部１７０Ａを含む。
【０１３２】
図１４は、第２の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。図１４に示す機能は、ＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶された装置側画像制御プログラムを実行することにより、ＣＰＵ１７１により実現される機能である。装置側画像制御プログラムは、画像制御プログラムの一部である。図１４を参照して、図４に示した機能と異なる点は、生成部５９が、検証依頼部５９Ａに変更された点である。その他の機能は、図４に示した機能と同じなので、ここでは説明を繰り返さない。
【０１３３】
検証依頼部５９Ａは、データ受付部５１から処理データが入力される。検証依頼部５９Ａは、処理データ送信部９１と、装置情報送信部９３と、検証用データ受信部９５と、を含む。処理データ送信部９１は、不具合検出部５５から不具合情報が入力されることに応じて、通信Ｉ／Ｆ部１６０を制御して、処理データと不具合情報とを内部サーバー２００に送信する。装置情報送信部９３は、不具合検出部５５から不具合情報が入力されることに応じて、装置情報を生成し、生成された装置情報を、通信Ｉ／Ｆ部１６０を制御して内部サーバー２００に送信する。装置情報は、ＭＦＰ１００に搭載されているＣＰＵ１７１に関する情報、ＭＦＰ１００にインストールされたハードウェア資源に関するハード情報と、ＭＦＰ１００にインストールされたソフトウェア資源に関するソフト情報と、を含む。ＣＰＵ１７１に関する情報は、ＣＰＵ１７１の機種名を含む。ハード情報は、ハードウェア資源を識別するためのハード識別情報と、ハードウェア資源を制御するために設定されているハードパラメータとを含む。ハード情報は、ハードウェア資源が複数の場合には、複数のハードウェア資源ごとに、ハード識別情報とハードパラメータとを含む。ソフト情報は、ＭＦＰ１００にインストールされているプログラムのプログラム名と、そのプログラムを実行するために設定されているソフトパラメータと、を含む。
【０１３４】
処理データ送信部９１が内部サーバー２００に処理データと不具合情報とを送信した後、内部サーバー２００が検証用データを返信する場合がある。検証用データ受信部９５は、通信Ｉ／Ｆ部１６０が内部サーバー２００から検証用データを受信する場合、検証用データを取得し、出力部６１および表示制御部６３に出力する。
【０１３５】
図１５は、第２の実施の形態における内部サーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。図１５に示す機能は、内部サーバー２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９に記憶されたサーバー側画像制御プログラムを実行することにより、ＣＰＵ２０１により実現される機能である。サーバー側画像制御プログラムは、画像制御プログラムの一部である。
【０１３６】
図１５を参照して、内部サーバー２００が備えるＣＰＵ２０１は、装置情報取得部２５１と、処理データ受信部２５３と、シミュレート部２５５と、仮想不具合検出部２５７と、サーバー側生成部２５９と、検証用データ送信部２６１と、を含む。
【０１３７】
装置情報取得部２５１は、ＭＦＰ１００から装置情報を取得する。上述したように、ＭＦＰ１００は、処理データの画像処理で不具合が検出される場合に、装置情報を送信する。装置情報取得部２５１は、通信部２０５がＭＦＰ１００から装置情報を受信すると、通信部２０５が受信した装置情報を取得する。装置情報取得部２５１は、装置情報を取得する場合、装置情報をシミュレート部２５５に出力する。
【０１３８】
処理データ受信部２５３は、ＭＦＰ１００から処理データと不具合情報とを取得する。ＭＦＰ１００は、装置情報とともに処理データと不具合情報を送信するので、通信部２０５がＭＦＰ１００から処理データと不具合情報を受信すると、通信部２０５が受信した処理データと不具合情報とを取得する。処理データ受信部２５３は、処理データと不具合情報とを取得する場合、処理データと不具合情報とをサーバー側生成部２５９に出力する。
【０１３９】
シミュレート部２５５は、装置情報取得部２５１から入力される装置情報に基づいてＭＦＰ１００をシミュレートし、処理データ受信部２５３から入力される処理データを画像処理する。まず、シミュレート部２５５は、装置情報に基づいて、ＭＦＰ１００に装着されたハードウェア資源を設定し、ハードパラメータを設定する。
【０１４０】
ＭＦＰ１００は、ハードウェア資源として、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５を含む。このため、装置情報に含まれるハード情報は、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５をハードウェア資源として定める。シミュレート部２５５は、装置情報に含まれるハード情報で定められた画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５それぞれをエミュレートするエミュレータを設定するとともに、ハード情報に含まれるハードパラメータを設定する。さらに、シミュレート部２５５は、エミュレートするハードウェア資源との同期を設定する。例えば、図１３に示したＣＰＵ周辺シミュレータ３００の同期設定モデル３０７に、仮想ＣＰＵ３０１が、ハードウェア資源のエミュレータと同期するように仮想ＣＰＵ３０１のレジスタ値を設定させるとともに、仮想メモリ３０３のメモリマップを書き換える。
【０１４１】
また、シミュレート部２５５は、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想ＣＰＵが実行する状態に設定し、装置情報に含まれる設定値を設定する。具体的には、シミュレート部２５５は、装置情報に含まれるソフト情報で定められたソフトウェア資源をインストールし、装置情報に含まれる設定値を設定する。これにより、シミュレート部２５５において、ＭＦＰ１００をシミュレートした仮想装置が完成する。なお、ＭＦＰ１００のＲＡＭ１７５に記憶されたデータをスナップショットとして取得し、仮想メモリ３０３に記憶するようにしてもよい。
【０１４２】
仮想不具合検出部２５７は、シミュレート部２５５が画像処理を実行中に発生する不具合を検出する。シミュレート部２５５は、仮想ＣＰＵ３０１が画像処理プログラムを実行する画像処理タスクおよび画像制御ＡＳＩＣ１７７をエミュレートするエミュレータである。仮想不具合検出部２５７は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合、または、画像制御ＡＳＩＣ１７７のエミュレータが予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理タスクが画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。仮想不具合検出部２５７は、不具合を検出する場合、検出された不具合を特定するための不具合情報をサーバー側生成部２５９に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。
【０１４３】
サーバー側生成部２５９は、処理データ受信部２５３から入力される処理データに基づいて、画像処理タスクにより画像処理されると仮想不具合検出部２５７により検出された不具合と同じ不具合が発生する検証用データを生成する。サーバー側生成部２５９は、確認部７１と、変更オブジェクト生成部７３と、ダミー追加部７５と、を含む。確認部７１、変更オブジェクト生成部７３およびダミー追加部７５は、図４に示した第１の実施の形態におけるＭＦＰ１００が備えるＣＰＵ１７１が有する機能として示した確認部７１、変更オブジェクト生成部７３、およびダミー追加部７５とそれぞれ同じである。したがって、ここでは説明を繰り返さない。
【０１４４】
検証用データ送信部２６１は、確認部７１から検証用データが入力されることに応じて、通信部２０５を制御して、検証用データをＭＦＰ１００に送信する。
【０１４５】
図１６は、第２の実施の形態における画像制御処理の流れの一例を示すフローチャートである。図１６を参照して、図６に示した第１の実施の形態における画像制御処理と異なる点は、ステップＳ０６に代えて、ステップＳ０６Ａ〜ステップＳ０６Ｃが実行される点である。その他の処理は、図６に示した処理と同じなので、ここでは説明を繰り返さない。
【０１４６】
ＣＰＵ１７１は、ステップＳ０６Ａにおいて、通信Ｉ／Ｆ部１６０を制御して、ステップＳ０１において取得された処理データと、ステップＳ０５において設定された基準不具合を特定するための基準不具合情報と、を内部サーバー２００に送信する。次のステップＳ０６Ｂにおいては、通信Ｉ／Ｆ部１６０を制御して、装置情報を内部サーバー２００に送信する。次のステップＳ０６Ｃにおいては、通信Ｉ／Ｆ部１６０を制御して、内部サーバー２００から検証用データを受信するまで待機状態となり、検証用データを受信したならば処理をステップＳ０７に進める。
【０１４７】
図１７は、サーバー側検証用データ生成処理の流れの一例を示すフローチャートである。サーバー側検証用データ生成処理は、内部サーバー２００が備えるＣＰＵ２０１が、サーバー側検証用データ生成プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。サーバー側検証用データ生成プログラムは、機密情報変換プログラムの一部である。図１７を参照して、内部サーバー２００が備えるＣＰＵ２０１は、通信部２０５を制御して、ＭＦＰ１００から処理データと不具合情報とを受信したか否かを判断する（ステップＳ２０１）。処理データと不具合情報とを受信するまで待機状態となり（ステップＳ２０１でＮＯ）、処理データと不具合情報とを受信したならば（ステップＳ２０１でＹＥＳ）、処理をステップＳ２０２に進める。
【０１４８】
ステップＳ２０２においては、ステップＳ２０１において受信された不具合情報を基準不具合情報に設定し、処理をステップＳ２０３に進める。ステップＳ２０３においては、通信部２０５を制御して、ＭＦＰ１００から装置情報を受信する。そして、図７に示した検証用データ生成処理を実行し（ステップＳ２０３）、処理をステップＳ２０４に進める。ステップＳ２０４においては、通信部２０５を制御して、ＭＦＰ１００に検証用データを送信し、処理を終了する。
【０１４９】
なお、第２の実施の形態において、内部サーバー２００がＭＦＰ１００の全体をシミュレートするようにしたが、ＭＦＰ１００において画像処理を担当するＣＰＵ１７１および画像制御ＡＳＩＣをシミュレートするようにしてもよい。具体的には、図１３において、周辺モデル３０５は、不要であり、ＨＷシミュレータ３２０において、ハードウェア資源モデル３２５は不要である。
【０１５０】
なお、上述した第１および第２の実施の形態においては、情報処理装置の一例としてＭＦＰ１００、または内部サーバー２００を例に示したが、図６〜図１１に示した画像制御処理を、ＭＦＰ１００に実行させる画像制御方法、また、その画像制御方法をＭＦＰ１００が備えるＣＰＵ１７１に実行させる画像制御プログラムとして発明を捉えることができるのは言うまでもない。
【０１５１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１５２】
＜付記＞
（１）  原稿を読み取って得られる画像データを出力する原稿読取手段を、さらに備え、
前記画像処理手段は、前記原稿読取手段が出力する画像データを画像処理する、請求項１１に記載の情報処理装置。この局面に従えば、原稿を読み取って得られる画像データが検証用データに変換されるので、原稿に形成された画像に含まれる機密が漏洩するのを防止することができる。
（２）  外部からデータを受信する受信手段を、さらに備えた請求項１〜１２のいずれかに記載の情報処理装置。この局面に従えば、外部から受信されたデータから検証用データを生成することができる。
（３）  前記画像処理手段と、
前記画像処理手段が前記処理データを画像処理した後の画像データの画像を形成する画像形成手段をさらに備えた、請求項１〜１２のいずれかに記載の情報処理装置。この局面に従えば、処理データを画像処理した後の画像データの画像を形成するので、画像形成の対象となる処理データに含まれる機密情報が漏洩しないようにすることができる。
【符号の説明】
【０１５３】
１  情報処理システム、３  ネットワーク、５  インターネット、１００  ＭＦＰ、２００  内部サーバー、５００  検証サーバー、１１１  メイン基板、１１５  操作パネル、１１５Ａ  操作パネル、１１８  表示部、１１９  操作部、１２０，１２０Ａ  自動原稿搬送装置、１３０，１３０Ａ  原稿読取部、１４０，１４０Ａ  画像形成部、１５０，１５０Ａ  給紙部、１６０，１６０Ａ  通信Ｉ／Ｆ部、１７０，１７０Ａ  ファクシミリ部、１７１  ＣＰＵ、１７３  ＲＯＭ、１７５  ＲＡＭ、１７７  画像制御ＡＳＩＣ、１７９  バス、１８０，１８０Ａ  外部記憶装置、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ＨＤＤ、２０５  通信部、２０６  表示部、２０７  操作部、２０９  外部記憶装置、３００  ＣＰＵ周辺シミュレータ、３０１  仮想ＣＰＵ、３０３  仮想メモリ、３０５  周辺モデル、３０７  同期設定モデル、３０９  割込制御部、３１１  バス、３２０  ＨＷシミュレータ、３２１  ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル、３２３  画像制御ＡＳＩＣモデル、３２５  ハードウェア資源モデル、５１  データ受付部、５３  画像処理部、５５  不具合検出部、５９  生成部、５９Ａ  検証依頼部、６１  出力部、６３  表示制御部、７１  確認部、７３  変更オブジェクト生成部、７５  ダミー追加部、８１  中間データ生成部、８３  中間データ生成部、８５  復元部、９１  処理データ送信部、９３  装置情報送信部、９５  検証用データ受信部、２５１  装置情報取得部、２５３  処理データ受信部、２５５  シミュレート部、２５７  仮想不具合検出部、２５９  サーバー側生成部、２６１  検証用データ送信部。
【図１】
2019089246.tif 000003
【図２】
2019089246.tif 000004
【図３】
2019089246.tif 000005
【図４】
2019089246.tif 000006
【図５】
2019089246.tif 000007
【図６】
2019089246.tif 000008
【図７】
2019089246.tif 000009
【図８】
2019089246.tif 000010
【図９】
2019089246.tif 000011
【図１０】
2019089246.tif 000012
【図１１】
2019089246.tif 000013
【図１２】
2019089246.tif 000014
【図１３】
2019089246.tif 000015
【図１４】
2019089246.tif 000016
【図１５】
2019089246.tif 000017
【図１６】
2019089246.tif 000018
【図１７】
2019089246.tif 000019