JP2019089246A - 情報処理装置、画像制御方法および画像制御プログラム - Google Patents

情報処理装置、画像制御方法および画像制御プログラム Download PDF

Info

Publication number
JP2019089246A
JP2019089246A JP2017219123A JP2017219123A JP2019089246A JP 2019089246 A JP2019089246 A JP 2019089246A JP 2017219123 A JP2017219123 A JP 2017219123A JP 2017219123 A JP2017219123 A JP 2017219123A JP 2019089246 A JP2019089246 A JP 2019089246A
Authority
JP
Japan
Prior art keywords
data
processing
image processing
unit
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017219123A
Other languages
English (en)
Other versions
JP7081120B2 (ja
Inventor
英明 副島
Hideaki Soejima
英明 副島
弥 内田
Wataru Uchida
弥 内田
久保 広明
Hiroaki Kubo
広明 久保
智章 中島
Tomoaki Nakajima
智章 中島
康孝 伊藤
Yasutaka Ito
康孝 伊藤
義明 澁田
Yoshiaki Shibuta
義明 澁田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017219123A priority Critical patent/JP7081120B2/ja
Priority to US16/179,334 priority patent/US10802771B2/en
Publication of JP2019089246A publication Critical patent/JP2019089246A/ja
Application granted granted Critical
Publication of JP7081120B2 publication Critical patent/JP7081120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】機密が漏洩する確率を低くし、不具合を再現可能なデータを出力すること。【解決手段】 MFPは、データを画像処理する画像処理部53による画像処理の不具合を検出する不具合検出部55と、画像処理の不具合が検出される場合に、画像処理部53が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理部53により画像処理されると画像処理部53が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成部59と、検証用データを処理データに代えて外部に出力する出力部61と、を備える。【選択図】 図4

Description

この発明は、情報処理装置、画像制御方法および画像制御プログラムに関し、特に、画像を処理する情報処理装置、その情報処理装置で実行される画像制御方法および画像制御プログラムに関する。
近年、複合機(以下「MFP」という)で代表される画像形成装置は、画像を処理する機能を備えており、その画像処理を実行中にエラーが発生する場合がある。この場合、エラーが再発しないように画像形成装置を設定または修理する必要がある。この画像形成装置の修正作業において、エラーの原因を特定するために、画像形成装置でエラーを再現しなければならない場合があり、画像処理の対象となったデータが必要となる。一方、画像形成装置を使用するユーザーとは別の外部の業者が画像形成装置の設定または修理を担当する場合がある。外部の業者は、例えば、画像形成装置を製造したメーカーまたは画像形成装置のメンテナンスを担当する会社等である。このため、画像形成装置でエラーを再現するために必要とされるデータが機密情報を含む場合に、外部に機密が漏洩するといった問題がある。
例えば、特開2012−51296号公報には、上位側の装置から受信した印刷データを印刷出力する印刷装置において、印刷データを印刷イメージデータに変換するイメージデータ変換部を備え、該イメージデータ変換部は文字データ置換部を有し、イメージデータ変換部は、文字データの置換モードが指示されているかを判定し、置換モードに設定されている場合には、文字データ置換部にて、乱数によってランダム文字コードを生成し、生成された文字コードに対応する文字フォントデータにて印刷イメージデータを生成することを特徴とする画像形成装置が記載されている。
しかしながら、特開2012−51296号公報に記載の画像形成装置においては、文字データを乱数によって生成されたランダム文字コードに対応する文字フォントデータで置換するため、文字に含まれる機密を含まないデータを生成することができるが、文字以外の情報に機密が含まれる場合に、機密が漏洩するのを防止することができない。また、画像形成装置において発生したエラーの原因が、ランダム文字コードに対応する文字フォントデータに存在する場合には、画像形成装置で発生したエラーを再現できないといった問題がある。
特開2012−51296号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な情報処理装置を提供することである。
この発明の他の目的は、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御方法を提供することである。
この発明のさらに他の目的は、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御プログラムを提供することである。
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出手段と、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成手段と、検証用データを処理データに代えて外部に出力する出力手段と、を備える。
この局面に従えば、画像処理に不具合が検出される場合、画像処理の対象となった処理データの少なくとも一部を変更したデータであって、処理データを画像処理する場合と同じ不具合が発生する検証用データが生成され、その検証用データが処理データに代えて外部に出力される。このため、処理データを画像処理する場合に発生する不具合を外部で検証するために処理データそのものを外部に出力しないので、処理データが機密情報を含む場合にその機密情報が外部に流出する確率を低くすることができる。また、検証用データは、それを画像処理すると、処理データを画像処理する場合と同じ不具合が発生するので、外部で不具合を再現可能な検証用データを外部に出力することができる。その結果、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な情報処理装置を提供することができる。
好ましくは、生成手段は、処理データの少なくとも一部を含む第1中間データを生成する第1中間データ生成手段と、第1中間データに含まれる少なくとも一部を変更した第2中間データを生成する第2中間データ生成手段と、第1中間データまたは第2中間データを画像処理手段に実行させ、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することを確認する確認手段と、を含む。
この局面に従えば、処理データの少なくとも一部を含み、処理データを画像処理する場合と同じ不具合が発生する第1中間データを生成することができる。また、第1中間データに含まれる少なくとも一部と異なり、処理データを画像処理する場合と同じ不具合が発生する第2中間データを生成することができる。このため、処理データの再現をできるだけ困難にした検証用データを生成することができる。
好ましくは、第1中間データ生成手段は、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することが確認手段により確認されなくなる直前まで処理データの一部を処理データから順に削除することにより第1中間データを生成し、第2中間データ生成手段は、第1中間データに含まれる少なくとも1つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第2中間データを生成し、生成手段は、第2中間データに含まれる少なくとも1つのオブジェクトそれぞれの複数のパラメータの少なくとも1つを第2中間データ生成手段により変更される前の値に戻す復元手段を含み、復元手段は、画像処理手段が処理データを画像処理する場合と同じ不具合が発生することが確認手段により確認されるまで、第2中間データに含まれる少なくとも1つのオブジェクトそれぞれの複数のパラメータを順に第2中間データ生成手段により変更される前の値に戻す。
この局面に従えば、第1中間データを画像処理すると処理データを画像処理する場合と同じ不具合が発生することが確認されるので、処理データを画像処理する場合と同じ不具合が発生する第1中間データが生成される。また、第2中間データを画像処理すると処理データを画像処理する場合と同じ不具合が発生することが確認されるので、処理データを画像処理する場合と同じ不具合が発生する第2中間データが生成される。このため、不具合が発生することが確認される検証用データを生成することができる。
好ましくは、復元手段は、第2中間データに含まれる少なくとも1つのオブジェクトそれぞれを定める複数のパラメータを、複数のパラメータに対して予め定められた順に、第2中間データ生成手段により変更される前の値に戻す。
この局面に従えば、オブジェクトを定める複数のパラメータを、複数のパラメータに対して予め定められた順に変更される前の値に戻すので、オブジェクトを再現する確率の低いパラメータから変更される前の値に戻すようにすれば、オブジェクトが再現される確率を低くすることができる。
好ましくは、第2中間データ生成手段は、第1中間データに含まれる少なくとも1つのオブジェクトそれぞれについて、当該オブジェクトの属性が画像を示す場合に、当該オブジェクトを定める複数のパラメータのうち解像度またはサイズを示すパラメータを小さな値に変更する。
この局面に従えば、オブジェクトの属性が画像を示す場合に、オブジェクトを定める解像度またはサイズを示すパラメータを小さな値に変更するので、オブジェクトが再現される確率を低くすることができる。
好ましくは、検証用データに、検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトを追加するダミー追加手段を、さらに備える。
この局面に従えば、検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトが検証用データに追加されるので、処理データの再現を困難にすることができる。
好ましくは、生成手段は、処理データに対して予め定められた設定がされている場合に、検証用データを生成する。
この局面に従えば、処理データに対して予め定められた設定がされている場合に、処理データが検証用データに変換されるので、予め定められた設定がされていない処理データを検証用データに変換しないようにして、処理の負荷を低減することができる。
好ましくは、処理データは、1以上のオブジェクトを含み、生成手段は、処理データに含まれる1以上のオブジェクトの少なくとも1つであって、当該オブジェクトを定める複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを検証用データとして生成する。
この局面に従えば、処理データに含まれる1以上のオブジェクトの少なくとも1つであって、そのオブジェクト対して定められた複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含む検証用データが生成される。このため、処理データの再現が困難な検証用データを生成することができる。
好ましくは、出力手段が検証用データを外部に出力する前の段階で、検証用データの画像を表示する表示制御手段を、さらに備え、出力手段は、検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、検証用データを外部に出力しない。
この局面に従えば、検証用データが外部に出力される前に、検証用データの画像が表示されるので、ユーザーに外部に出力されるデータを通知することができる。また、出力の許可を示す操作がユーザーにより入力されるまで検証用データが外部に出力されないので、ユーザーは、処理データに含まれる機密が外部に流出しないようにすることができる。
好ましくは、表示制御手段は、少なくとも1つの変更オブジェクトの数が処理データに含まれる1以上のオブジェクトの数に占める割合が第1のしきい値より小さい場合、および/または、変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第2のしきい値より大きい場合に、検証用データの画像を表示しない。
この局面に従えば、処理データに含まれるオブジェクトの数に占める変更オブジェクトの数の割合が第1のしきい値より小さい場合、および/または、変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第2のしきい値より大きい場合に、検証用データの画像が表示しないので、出力の許可を示す操作をユーザーに要求することなく、検証用データを外部に出力することができる。
好ましくは、処理データは、複数の画素値で構成される画像データであり、画像処理は、処理データから1以上のオブジェクトを抽出し、抽出された1以上のオブジェクトを含むデータに変換する処理であり、生成手段は、処理データのうち画像処理手段で不具合の発生した部分を少なくとも含む部分画像をオブジェクトに設定し、当該オブジェクトを定める複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを検証用データとして生成する。
この局面に従えば、処理データの一部の部分画像を変更した変更オブジェクトを少なくとも含む検証用データが生成される。このため、処理データの再現が困難な検証用データを生成することができる。
好ましくは、出力手段が検証用データを外部に出力する前の段階で、検証用データの画像を表示する表示制御手段を、さらに備え、出力手段は、検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、検証用データを外部に出力しない。
この局面に従えば、検証用データが外部に出力される前に、検証用データの画像が表示されるので、ユーザーに外部に出力されるデータを通知することができる。また、出力の許可を示す操作がユーザーにより入力されるまで検証用データが外部に出力されないので、ユーザーは、処理データに含まれる機密が外部に流出しないようにすることができる。
好ましくは、画像処理手段を備えた画像処理装置から処理データを取得する処理データ取得手段と、画像処理手段をシミュレートするシミュレート手段と、をさらに備える。
この局面に従えば、画像処理手段をシミュレートし、画像処理装置から取得される処理データを検証用データに変換し、検証用データを外部に出力するので、画像処理装置と情報処理装置以外に機密が漏洩するのを防止することができる。
この発明の他の局面によれば、画像制御方法は、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出ステップと、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、検証用データを処理データに代えて外部に出力する出力ステップと、を情報処理装置に実行させる。
この局面に従えば、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御方法を提供することができる。
この発明の他の局面によれば、画像制御プログラムは、データを画像処理する画像処理手段による画像処理の不具合を検出する不具合検出ステップと、画像処理の不具合が検出される場合に、画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、画像処理手段により画像処理されると画像処理手段が処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、検証用データを処理データに代えて外部に出力する出力ステップと、をコンピューターに実行させる。
この局面に従えば、機密が漏洩する確率を低くするとともに、不具合を再現可能なデータを出力することが可能な画像制御プログラムを提供することができる。
本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。 本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。 第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。 処理データから検証用データを作成する手順の一例を示す図である。 第1の実施の形態における画像制御処理の流れの一例を示すフローチャートである。 検証用データ生成処理の流れの一例を示すフローチャートである。 第2中間データ生成処理の流れの一例を示すフローチャートである。 表示判定処理の流れの一例を示すフローチャートである。 変形例における第2中間データ生成処理の流れの一例を示すフローチャートである。 変形例における表示判定処理の流れの一例を示すフローチャートである。 本実施の形態における内部サーバーのハードウェア構成の概要の一例を示すブロック図である。 第2の実施の形態における内部サーバーが備えるシミュレータの概要の一例を示す図である。 第2の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。 第2の実施の形態における内部サーバーが備えるCPUが有する機能の一例を示すブロック図である。 第2の実施の形態における画像制御処理の流れの一例を示すフローチャートである。 サーバー側検証用データ生成処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、MFP(Multi Function Peripheral)100と、内部サーバー200と、検証サーバー500と、を含む。
MFP100は、画像形成装置の一例であり、処理対象となるデータを画像処理する画像処理機能、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。MFP100は、画像処理機能および画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。画像処理は、複数のオブジェクトで構成されるオブジェクトデータを、複数の画素値で構成される画像データに変換するラスタライズ処理、画像データをオブジェクトデータに変換する変換処理を含む。また、画像処理は、限定するものではないが、画像中のエッジを強調する先鋭化処理、画像中の色の変化を滑らかにするスムージング処理を含む。
内部サーバー200および検証サーバー500は、一般的なコンピューターである。内部サーバー200およびMFP100それぞれは、ローカルエリアネットワーク(LAN)3に接続される。検証サーバー500は、インターネット5に接続されている。
LAN3に接続されるMFP100および内部サーバー200それぞれは、LAN3を介してデータの送受信が可能である。LAN3は、それに接続される装置が限定された閉じた環境となるため、LAN3に接続される複数の装置間、ここではMFP100と内部サーバー200との間で送受信されるデータが外部に漏れないようにセキュリティが確保されている。なお、LAN3の接続形態は有線または無線を問わない。なお、LAN3に代えて、セキュリティが確保されるのであれば、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク、ワイドエリアネットワーク(WAN)を用いるようにしてもよい。
LAN3は、インターネット5に接続される。このため、MFP100および内部サーバー200それぞれは、ネットワーク3を介してインターネット5に接続された検証サーバー500と互いに通信可能である。MFP100および内部サーバー200は内部に配置される装置であるのに対して、検証サーバー500は、MFP100および内部サーバー200に対して外部に配置される装置である。
本実施の形態における情報処理システム1において、MFP100で不具合が発生する場合に、検証サーバー500で、MFP100において発生した不具合を検証する。そして、検証結果に基づいて、MFP100で発生した不具合が次に発生しないように、MFP100に設定するパラメータを決定したり、MFP100で実行されるプログラムを改変したり、ハードウェア資源を交換または増設することができる。検証サーバー500において、MFP100において発生した不具合を再現するために、MFP100において発生した不具合の原因となるデータが必要となるが、そのデータが機密情報を含んでいる場合があるので、MFP100は、そのデータそのものを検証サーバー500に送信するのではなく、そのデータを検証用データに変換し、検証用データを検証サーバー500に送信する。検証用データがLAN3に接続されたMFP100と内部サーバー200を含む閉じた環境の外部の検証サーバー500に送信されるが、検証用データからデータに含まれる機密情報を再現できなければ機密が外部に漏洩するのを防止することができる。
図2は、本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、MFP100は、メイン基板111と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、通信インターフェース(I/F)部160と、ファクシミリ部170と、外部記憶装置180と、大容量記憶装置としてのハードディスクドライブ(HDD)113と、ユーザーインターフェースとしての操作パネル115とを含む。
メイン基板111は、自動原稿搬送装置120、原稿読取部130、画像形成部140および給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113、および操作パネル115と接続され、MFP100の全体を制御する。
自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。
給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
通信I/F部160は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部160は、TCPまたはUDP等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
通信I/F部160は、ネットワーク3から受信されるデータをメイン基板111に出力し、メイン基板111から入力されるデータをネットワーク3に出力する。通信I/F部160は、ネットワーク3から受信されるデータのうちMFP100宛てのデータのみを、メイン基板111に出力し、ネットワーク3から受信されるデータのうちMFP100とは異なる装置宛てのデータを廃棄する。
ファクシミリ部170は、公衆交換電話網(PSTN)に接続され、ファクシミリデータを送受信する。外部記憶装置180は、CD−ROM181、または半導体メモリが装着される。外部記憶装置180は、CD−ROM181または半導体メモリに記憶されたデータを読み出す。外部記憶装置180は、CD−ROM181または半導体メモリにデータを記憶する。
操作パネル115は、MFP100の上面に設けられ、表示部118と操作部119とを含む。表示部118は、液晶表示装置(LCD)、有機ELD等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部119は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部118の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部118の表示面中でユーザーにより指示された位置を検出する。
図3は、本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図3を参照して、メイン基板111は、CPU171と、ROM173と、RAM175と、画像制御ASIC(Application Specific Integrated Circuit)177と、を含む。
CPU171、ROM173、RAM175および画像制御ASIC177それぞれは、バス179に接続されており、データの転送が可能である。CPU171は、MFP100の全体を制御する。ROM173は、CPU171が実行するプログラムを記憶する。RAM175は、CPU171の作業領域として用いられる揮発性の半導体メモリである。
CPU171は、HDD113に記憶されたプログラムをRAM175にロードして実行する。CPU171が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、の通信I/F部160、ファクシミリ部170、HDD113および操作パネル115を含む。アプリケーションプログラムは、例えば、ファクシミリ部170を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部170を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信I/F部160を制御してプリントジョブを受信し、画像形成部140および給紙部150を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部130を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、MFP100が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、CPU171が実行するアプリケーションプログラムを、これらに限定するものではない。
画像制御ASIC177は、自動原稿搬送装置120、原稿読取部130、画像形成部140、および給紙部150と接続され、それらを制御する。また、画像制御ASIC177は、原稿読取部130が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、画像データを画像形成部140がプリントするためのラスターデータに変換する機能を有する。
図4は、第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図4に示す機能は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された画像制御プログラムを実行することにより、CPU171により実現される機能である。図4を参照して、CPU171は、処理データを受け付けるデータ受付部51と、データに対して画像処理を実行する画像処理部53と、画像処理部53による画像処理の不具合を検出する不具合検出部55と、検証用データを生成する生成部59と、検証用データを外部に出力する出力部61と、表示部118を制御する表示制御部63と、を含む。
データ受付部51は、MFP100が処理の対象とする処理データを受け付ける。データ受付部51は、処理データを受け付けることに応じて、その処理データを画像処理部53および生成部59に出力する。処理データは、1以上のオブジェクトを含むオブジェクトデータである。オブジェクトは、限定するものではないが、線、文字、図形、写真を含み、オブジェクトを描画するために必要なパラメータを含む。例えば、文字のオブジェクトの場合、パラメータは、文字を特定するための情報、文字のサイズ、フォント、書体を特定する情報、色に関する情報、そのオブジェクトが配置される処理データ中の位置を示す位置情報と、を含む。また、オブジェクトを複数のベクトルの集合で表す場合、パラメータは、複数のベクトルの方向、サイズおよび位置を特定する値としてもよい。また、画像のオブジェクトの場合、パラメータは、解像度、サイズ、色に関する情報、そのオブジェクトが配置される処理データ中の位置を示す位置情報を含む。
データ受付部51は、通信I/F部160が、LAN3に接続されたパーソナルコンピューター(以下PCという)からプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。データ受付部51は、通信I/F部160がインターネット5に接続されたウェブ(Web)サーバーからWebデータを受信する場合、Webデータを処理データとして受け付ける。また、データ受付部51は、HDD113に記憶されたデータをプリントする指示を受け付ける場合、HDD113に記憶されたデータを処理データとして受け付ける。
画像処理部53は、データを画像処理し、画像データを生成する。画像処理部53は、データ受付部51から処理データが入力されることに応じて、処理データを画像処理する。例えば、処理データがプリントデータの場合、プリントジョブによって定められた条件に従ってプリントデータを画像処理する。画像処理部53は、処理データがWebデータまたはHDD113に記憶されたデータの場合、ユーザーが操作部119に入力するプリント条件に従って処理データを画像処理する。
不具合検出部55は、画像処理部53が画像処理を実行中に発生する不具合を検出する。画像処理部53は、CPU171が画像処理プログラムを実行する画像処理タスクである。不具合検出部55は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理部53が画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。不具合検出部55は、不具合を検出する場合、検出された不具合を特定するための不具合情報を生成部59に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。
生成部59は、データ受付部51から入力される処理データに基づいて、画像処理部53により画像処理されると不具合検出部55により検出された不具合と同じ不具合が発生する検証用データを生成する。生成部59は、確認部71と、変更オブジェクト生成部73と、ダミー追加部75と、を含む。
変更オブジェクト生成部73は、処理データに含まれる1以上のオブジェクトの少なくとも1つであって、そのオブジェクトを定める複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含む作業データを、所定の条件に従って生成する。
確認部71は、画像処理部53が処理データを画像処理する場合に不具合検出部55が不具合を検出して出力する不具合情報を基準エラー情報としてRAM175に記憶する。確認部71は、変更オブジェクト生成部73により生成された作業データを画像処理部53に実行させ、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、その作業データを検証用データに決定する。
ここでは、生成部59に入力される処理データが1以上のオブジェクトを含むオブジェクトデータとする場合を例に説明する。変更オブジェクト生成部73は、第1中間データ生成部81と、第2中間データ生成部83と、復元部85と、を含む。確認部71は、画像処理部53が処理データを画像処理する場合に不具合検出部55が不具合を検出して出力する不具合情報が入力されることに応じて、第1中間データ生成部81に生成指示を出力する。
第1中間データ生成部81は、データ受付部51から入力される処理データに含まれる1以上のオブジェクトの少なくとも1つを含む第1中間データを生成する。換言すれば、第1中間データ生成部81は、データ受付部51から入力される処理データに含まれる1以上のオブジェクトのうち、画像処理部53が処理データを画像処理する場合に不具合検出部55が検出する不具合と同じ不具合が検出されるオブジェクトを少なくとも含む第1中間データを生成する。
具体的には、第1中間データ生成部81は、処理データを第1中間データに設定し、処理データに含まれる1以上のオブジェクトを順に1つずつ選択する。第1中間データ生成部81は、第1中間データから選択されたオブジェクトを削除した作業データを生成する。確認部71は、第1中間データ生成部81により生成された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、第1中間データ生成部81に成功信号を出力し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、第1中間データ生成部81にエラー信号を出力する。
第1中間データ生成部81は、確認部71から成功信号が入力される場合、作業データを第1中間データに設定し、次のオブジェクトを選択するが、確認部71からエラー信号が入力される場合は作業データを第1中間データに設定することなく、次のオブジェクトを選択する。第1中間データ生成部81は、処理データに含まれる1以上のオブジェクトのすべてを選択し、最後に選択したオブジェクトを第1中間データから削除した作業データについて画像処理が完了する場合、その時点の第1中間データを第2中間データ生成部83に出力する。このため、第1中間データ生成部81が第2中間データ生成部83に出力する第1中間データは、画像処理部53が画像処理すると基準エラー情報で特定される不具合が発生するデータである。
第2中間データ生成部83は、第1中間データ生成部81から第1中間データが入力されることに応じて、第1中間データに含まれる少なくとも1つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第2中間データを作業データとして生成する。ただし、第2中間データ生成部83は、オブジェクトの属性が画像の場合であって、そのオブジェクトを定める複数のパラメータのうち画像を制御するパラメータについては、設定されているパラメータより小さな値であって、ランダムな値に変更する。画像を制御するパラメータは、例えば、オブジェクトの解像度またはサイズを定めるパラメータである。オブジェクトの属性が画像の場合に、画像を制御するパラメータを、より小さな値に変更することにより、パラメータが変更された後のオブジェクトは、解像度またはサイズが小さくなるので、視認性を低下させることができる。
確認部71は、第2中間データ生成部83により生成された第2中間データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、第2中間データを検証用データに決定し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、第2中間データ生成部83に第2中間データを復元部85に出力させ、復元部85に復元指示を出力する。検証データが決定される段階で、検証用データに含まれる1以上のオブジェクトであって、複数のパラメータの少なくとも1つが変更されたオブジェクトを変更オブジェクトという。
復元部85は、第2中間データ生成部83から第2中間データが入力される。復元部85は、確認部71から復元指示が入力されることに応じて、第2中間データに含まれる少なくとも1つのオブジェクトそれぞれの複数のパラメータの1つを第2中間データ生成部83により変更される前の値に戻した作業データを生成する。
確認部71は、復元部85により生成された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを検証用データに決定し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、復元部85に再復元指示を出力する。
復元部85は、確認部71から再復元指示が入力されることに応じて、作業データに含まれる1以上のオブジェクトそれぞれの複数のパラメータの1つを第2中間データ生成部83により変更される前の値に戻した新たな作業データを生成する。このため、確認部71は、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合に復元部85に再復元指示を出力するので、復元部85によって、不具合検出部55から基準エラー情報と同じ不具合情報が入力されるまで、作業データに含まれる1以上のオブジェクトそれぞれの複数のパラメータの1つが第2中間データ生成部83により変更される前の値に戻される。
確認部71は、検証用データを決定する場合、ダミー追加部75に追加指示を出力する。ダミー追加部75は、追加指示が入力されることに応じて、検証用データに1以上のダミーオブジェクトを追加した作業データを生成する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。ダミーオブジェクトの数は、ダミーオブジェクトの総和が、ダミーオブジェクトを追加する前の検証用データに含まれる1以上のオブジェクトの総和に占める割合が所定の値以上となる数であるのが好ましい。また、ダミーオブジェクトの数は、ランダムな数としてもよい。
確認部71は、ダミー追加部75により検証用データにダミーオブジェクトが追加された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部61および表示制御部63に出力する。確認部71は、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、ダミー追加部75に再追加指示を出力する。ダミー追加部75は、再追加指示が入力されることに応じて、検証用データに、新たな1以上のダミーオブジェクトを追加した作業データを生成する。確認部71は、ダミー追加部75により作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部61および表示制御部63に出力する。確認部71は、ダミー追加部75により検証用データにダミーオブジェクトが追加された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、不具合検出部55から基準エラー情報と同じ不具合情報が入力されるまでダミー追加部75に再追加指示を出力する。
表示制御部63は、検証用データが入力されることに応じて、表示条件を満たしているか否かを判断する。ここでは、第1の表示条件を、変更オブジェクト生成部73により生成された変更オブジェクトの数が処理データに含まれる1以上のオブジェクトの数に占める割合が第1のしきい値以上とし、第2の表示条件を、変更オブジェクト生成部73により生成された1以上の変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第2のしきい値以下としている。表示制御部63は、第1の表示条件と第2の表示条件との少なくとも一方が満たされない場合に、表示部118に通知画面を表示し、第1の表示条件と第2の表示条件との双方が満たされる場合に、表示部118に通知画面を表示することなく、出力部61に出力指示を出力する。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。
出力部61は、表示制御部63により通知画面が表示される場合は操作部119が通知画面に含まれる出力を許可する操作を受け付けるボタンを指示する操作を受け付けることに応じて、検証用データを検証サーバー500に送信する。出力部61は、通知画面が表示されることなく表示制御部63から出力指示が入力されることに応じて、検証用データを検証サーバー500に送信する。
なお、表示制御部63は、第1の表示条件と第2の表示条件との双方が満たされない場合に、表示部118に通知画面を表示し、第1の表示条件と第2の表示条件と少なくとも一方が満たされる場合に、表示部118に通知画面を表示することなく、出力部61に出力指示を出力するようにしてもよい。
図5は、処理データから検証用データを作成する手順の一例を示す図である。図5(A)は、処理データの一例を示す図である。処理データ400は、4つのオブジェクト群410,420,430,440を含む。4つのオブジェクト群410,420,430,440それぞれは、1以上のオブジェクトで構成される。
図5(B)は、第1中間データの一例を示す図である。第1中間データ401は、処理データ400から3つのオブジェクト群410,420,430を削除したデータであって、オブジェクト群440を含む。第1中間データ401は、第1中間データ401を画像処理する場合に、処理データ400を画像処理する場合と同じ不具合が発生するデータである。オブジェクト群440は、3つのオブジェクト441〜443を含む。なお、図中の〇印は、3つのオブジェクト441〜443を示すために便宜的に付したもので、実際には存在しない。この場合は、3つのオブジェクト441〜443の組み合わせによって、不具合が発生する。
図5(C)は、第2中間データの一例を示す図である。第2中間データ402は、3つの変更オブジェクト441A〜443Aを含む。変更オブジェクト441Aは、オブジェクト441を定める複数のパラメータのすべてをランダムな値に変更したものであり、変更オブジェクト442Aは、オブジェクト442を定める複数のパラメータのすべてをランダムな値に変更したものであり、変更オブジェクト443Aは、オブジェクト443を定める複数のパラメータのすべてをランダムな値に変更したものである。
図5(D)は、検証用データの一例を示す第1の図である。検証用データ403は、3つの変更オブジェクト441A,442B,443Bを含む。変更オブジェクト442Bは、変更オブジェクト442Aを定める複数のパラメータの少なくとも1つを元のオブジェクト442を定めるパラメータと同じ値に戻したものである。変更オブジェクト443Bは、変更オブジェクト443Aを定める複数のパラメータの少なくとも1つを元のオブジェクト443を定めるパラメータと同じ値に戻したものである。
図5(E)は、検証用データの一例を示す第2の図である。検証用データ403Aは、3つの変更オブジェクト441A,442B,443Bに加えて、4つのダミーオブジェクト451〜454を含む。ダミーオブジェクト451〜454は、ランダムに生成されたオブジェクトである。
図6は、第1の実施の形態における画像制御処理の流れの一例を示すフローチャートである。画像制御処理は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された画像制御プログラムを実行することにより、CPU171により実現される機能である。図6を参照して、CPU171は、画像処理の対象となる処理データを取得する(ステップS01)。通信I/F部160が、LAN3に接続されたPCからプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。通信I/F部160がインターネット5に接続されたWebサーバーからWebデータを受信する場合、Webデータを処理データとして受け付ける。また、HDD113に記憶されたデータをプリントする指示を受け付ける場合、HDD113に記憶されたデータを処理データとして受け付ける。
次のステップS02においては、処理データを画像処理する(ステップS02)。そして、画像処理の不具合を検出したか否かを判断する(ステップS03)。画像処理プログラムを実行するタスクが、画像処理プログラムにより予め定められたエラーを検出する場合、または画像制御ASIC177がエラーを検出する場合に、不具合を検出する。不具合を検出したならば処理をステップS04に進めるが、そうでなければ処理をステップS13に進める。ステップS13においては、画像形成部140を制御して、処理データを画像処理した画像データの画像を用紙に形成し、処理を終了する。
ステップS04においては、セキュリティ保護モードか否かを判断する。処理データにセキュリティ保護モードが設定されている場合、セキュリティ保護モードと判断する。セキュリティ保護モードならば処理をステップS05に進めるが、そうでなければ処理をステップS12に進める。ステップS12においては、通信I/F部160を制御して、検証サーバー500に処理データを送信し、処理を終了する。
ステップS05においては、ステップS03において検出された不具合を基準不具合に設定する。不具合は、画像処理プログラムを実行するタスクまたは画像制御ASIC177が検出するエラーであるため、そのエラーのエラー識別情報を、基準不具合を示す不具合情報としてRAM175に記憶する。
次のステップS06においては、検証用データ生成処理を実行し、処理をステップS07に進める。検証用データ生成処理の詳細は後述するが、処理データに基づいて生成されるデータであって、画像処理されると基準不具合と同じ不具合が発生する検証用データを生成する処理である。ステップS07においては、表示判定処理を実行し、処理をステップS08に進める。表示判定処理の詳細は後述するが、通知画面を表示するか否かを判定する処理である。通知画面を表示すると判定する場合に、表示モードに設定され、通知画面を表示しない判定する場合に、非表示モードに設定される。次のステップS08においては、表示判定処理の結果、表示モードが設定されているか否かを判断する。表示モードが設定されているならば処理をステップS09に進めるが、そうでなければ処理をステップS11に進める。
ステップS09においては、通知画面を表示し、処理をステップS10に進める。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。そして、ユーザーによる許可を受け付けたか否かを判断する(ステップS10)。通知画面に含まれる出力を許可するユーザーによる操作を受け付けるボタンを指示する操作を受け付けたならば、ユーザーによる許可を受け付ける。ユーザーによる許可を受け付けたならば処理をステップS11に進めるが、そうでなければ処理を終了する。ステップS11においては、通信I/F部160を制御して、検証用データを検証サーバー500に送信し、処理を終了する。
図7は、検証用データ生成処理の流れの一例を示すフローチャートである。検証用データ生成処理は、図6のステップS06において実行される処理である。検証用データ生成処理が実行される前の段階で、処理データが取得されており、基準不具合が設定されている。図7を参照して、CPU171は、処理データを第1中間データに設定し(ステップS21)、処理をステップS22に進める。具体的には、処理データの複製を第1中間データとする。そして、ステップS22においては、第2中間データ生成処理を実行する。
図8は、第2中間データ生成処理の流れの一例を示すフローチャートである。図8を参照して、第1中間データに含まれる1以上のオブジェクトのうちから1つを選択する(ステップS41)。そして、ステップS41において選択されたオブジェクトを第1中間データから削除したデータを作業データに設定する(ステップS42)。
次のステップS43においては、作業データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する(ステップS44)。基準不具合と同じ不具合を検出したならば処理をステップS45に進めるが、そうでなければ処理をステップS46に進める。ステップS45においては、作業データを第1中間データに設定し、処理をステップS46に進める。ステップS46においては、第1中間データに含まれる1以上のオブジェクトのうちでステップS41において選択されていないオブジェクトが存在するか否かを判断する。未選択のオブジェクトが存在すれば処理をステップS41に戻すが、そうでなければ処理をステップS47に進める。ステップS45においては、第1中間データに含まれる1以上のオブジェクトのうちから1つを削除したデータを作業データに設定するので、ステップS45が実行されるごとに、処理データから1つのオブジェクトが削除されたデータが第1中間データに設定される。
ステップS47においては、第1中間データに含まれる1以上のオブジェクトのうちから1つのオブジェクトを選択する。そして、選択されたオブジェクトを定める複数のパラメータのうちから1つを処理対象に選択する(ステップS48)。ステップS49においては、選択されたパラメータが画像を制御するパラメータか否かを判断する。画像を制御するパラメータの一例としては、解像度、サイズである。パラメータが画像を制御するパラメータならば、処理をステップS50に進めるが、そうでなければ処理をステップS51に進める。ステップS50においては、パラメータをより小さなランダムな値に変更し、処理をステップS52に進める。ステップS51においては、パラメータをランダムな値に変更し、処理をステップS52に進める。ステップS52においては、ステップS47において処理対象に選択されたオブジェクトを定める複数のパラメータのうちステップS48において処理対象に選択されていないパラメータが存在するか否かを判断する。未選択のパラメータが存在するならば処理をステップS48に戻すが、そうでなければ処理をステップS53に進める。このため、ステップS47において処理対象に選択されたオブジェクトにおいて、そのオブジェクトを定める複数のパラメータのすべてがランダムな値に変更される。ステップS53においては、処理対象に選択され、パラメータが変更されたオブジェクトを変更オブジェクトに設定し、処理をステップS54に進める。
ステップS54においては、第1中間データに含まれる1以上のオブジェクトのうちで、ステップS47において処理対象に選択されていないオブジェクトが存在するか否かを判断する。未選択のオブジェクトが存在するならば処理をステップS47に戻すが、そうでなければ処理をステップS55に進める。これにより、第1中間データに含まれる1以上のオブジェクトすべてに対応する1以上の変更オブジェクトが生成される。
ステップS55においては、第1中間データに含まれる1以上のオブジェクトを、1以上の変更オブジェクトに置き換えた第2中間データを生成し、処理を検証用データ生成処理に戻す。
図7に戻って、ステップS23においては、第2中間データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する(ステップS24)。基準不具合と同じ不具合を検出したならば処理をステップS30に進めるが、そうでなければ処理をステップS25に進める。
ステップS25においては、変数iに1を設定する。変数iは、パラメータの順番を特定するための値である。次のステップS26においては、第2中間データに含まれる1以上の変更オブジェクトのうちから1つを選択し、処理をステップS27に進める。ステップS27においては、選択された変更オブジェクトを定める複数のパラメータのうち第i番目のパラメータを元の値に戻す。第2中間データ生成処理のステップS50またはステップS51においてランダムな値に変更されているパラメータを、変更される前の値に戻す。
次のステップS28においては、第2中間データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する(ステップS29)。基準不具合と同じ不具合を検出したならば処理をステップS30に進めるが、そうでなければ処理をステップS34に進める。ステップS34においては、第2中間データに含まれる1以上の変更オブジェクトのうちでステップS26において選択されていない変更オブジェクトが存在するか否かを判断する。未選択の変更オブジェクトが存在するならば処理をステップS26に戻すが、未選択の変更オブジェクトが存在しなければ処理をステップS35に進める。これにより、第2中間データに含まれる1以上の変更オブジェクトが順に選択されて、それぞれの第i番目のパラメータが順に元の値に変更される。ステップS35においては、変数iをインクメントし、処理をステップS26に戻す。これにより、1以上の変更オブジェクトすべての第i番目のパラメータが元の値に戻った場合には、1以上の変更オブジェクトの第(i+1)番目のパラメータが順に元の値に戻される。
処理がステップS30に進む場合は、ステップS23またはステップS28において、第2中間データを画像処理して基準不具合と同じ不具合が検出される場合である。ステップS30においては、第2中間データを検証用データに設定し、処理をステップS31に進める。ステップS31においては、検証用データにダミーオブジェクトを追加する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。検証用データにダミーオブジェクトを追加するので、検証用データだけから処理データを再現する作業を困難にすることができる。
次のステップS32においては、ダミーオブジェクトが追加された検証用データを画像処理する。そして、基準不具合と同じ不具合を検出したか否かを判断する(ステップS33)。基準不具合と同じ不具合を検出したならば処理を画像制御処理に戻すが、そうでなければ処理をステップS31に戻す。次に実行されるステップS31においては、第2中間データから先に追加したダミーオブジェクトを削除し、別のダミーオブジェクトを追加する。これにより、画像処理すると基準不具合と同じ不具合が発生する検証用データを生成することができる。
図9は、表示判定処理の流れの一例を示すフローチャートである。表示判定処理は、図6のステップS07において実行される処理である。表示判定処理が実行される前の段階で、検証用データが生成されている。図9を参照して、検証用データに含まれる1以上の変更オブジェクトの総数が、処理データに含まれるオブジェクトの総数に占める割合が、しきい値TH1以上か否かを判断する(ステップS61)。真ならば処理をステップS62に進めるが、偽ならば処理をステップS64に進める。ステップS62においては、変更パラメータの総数がパラメータの総数に占める割合が、しきい値TH2以上か否かを判断する。真ならば処理をステップS63に進めるが、偽ならば処理をステップS64に進める。変更パラメータの総数は、検証用データに含まれる1以上の変更オブジェクトそれぞれのパラメータのうちでランダムな値に変更されたパラメータの総数である。パラメータの総数は、処理データに含まれるオブジェクトそれぞれのパラメータの総数である。ステップS63においては、表示モードに設定し、処理を画像制御処理に戻す。ステップS64においては、非表示モードに設定し、処理を画像制御処理に戻す。
<変形例>
上述した第1の実施の形態における情報処理システムにおいては、処理データをオブジェクトデータとした場合を例に説明した。変形例における情報処理システムにおいては、処理データを画像データとしたものである。この場合、変形例におけるMFP100は、画像データをオブジェクトデータに変換する画像処理を実行する。
変形例におけるMFP100が備えるCPU171は、図4に示した機能と同様の機能を有する。図4を参照して、データ受付部51は、ファクシミリ部170が受信するファクミリデータまたは原稿読取部130が原稿を読み取って出力する画像データを処理データとして受け付け、画像処理部53は、処理データをオブジェクトデータに変換する画像処理を実行する。不具合検出部55は、画像処理部53が処理データをオブジェクトデータに変換している間に発生する不具合を検出する。
第1中間データ生成部81は、不具合検出部55によって不具合が検出される場合、データ受付部51から入力される処理データ中で、オブジェクトに変換可能な部分を順に抽出し、オブジェクトに変換可能ならばその分を処理データから削除し、オブジェクトに変換できない部分を含むデータを第1中間データとして生成する。変換に含まれる1以上のオブジェクトのうち、画像処理部53が処理データを画像処理する場合に不具合検出部55が検出する不具合と同じ不具合が検出されるオブジェクトを少なくとも含む第1中間データを生成する。
例えば、第1中間データ生成部81は、処理データを第1中間データに設定し、処理データのうちからオブジェクトに変換可能な部分を順に1つずつ選択する。第1中間データ生成部81は、第1中間データから選択された部分を削除した作業データを生成する。確認部71は、第1中間データ生成部81により生成された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、第1中間データ生成部81に成功信号を出力し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、第1中間データ生成部81にエラー信号を出力する。
第1中間データ生成部81は、確認部71から成功信号が入力される場合、作業データを第1中間データに設定し、次の部分を選択するが、確認部71からエラー信号が入力される場合は作業データを第1中間データに設定することなく、次の部分を選択する。第1中間データ生成部81は、処理データに含まれるオブジェクトに変換可能な部分のすべてを選択し、最後に選択した部分を第1中間データから削除した作業データについて画像処理が終了する場合、その時点の第1中間データを第2中間データ生成部83に出力する。このため、第1中間データ生成部81が第2中間データ生成部83に出力する第1中間データは、画像処理部53が画像処理すると基準エラー情報で特定される不具合が発生するデータである。
第2中間データ生成部83は、第1中間データ生成部81から第1中間データが入力されることに応じて、第1中間データを属性が画像のオブジェクトとしたオブジェクトデータに変換したデータを第2中間データに設定する。この場合、第1中間データを複数に分割し、分割後の複数の部分それぞれを属性が画像の複数のオブジェクトとしてもよい。第2中間データ生成部83は、第2中間データに含まれる1以上のオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第2中間データを作業データとして生成する。この場合において、2中間データに含まれる1以上のオブジェクトは、属性が画像なので、そのオブジェクトを定める複数のパラメータのうち画像を制御するパラメータについては、設定されているパラメータより小さな値であって、ランダムな値に変更する。画像を制御するパラメータを、より小さな値に変更することにより、視認性を低下させることができる。
確認部71は、第2中間データ生成部83により生成された第2中間データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、第2中間データを検証用データに決定し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、第2中間データ生成部83に第2中間データを復元部85に出力させ、復元部85に復元指示を出力する。検証データが決定される段階で、検証用データに含まれる1以上のオブジェクトであって、複数のパラメータの少なくとも1つが変更されたオブジェクトを変更オブジェクトという。
復元部85は、第2中間データ生成部83から第2中間データが入力される。復元部85は、確認部71から復元指示が入力されることに応じて、第2中間データに含まれる少なくとも1つのオブジェクトそれぞれの複数のパラメータの1つを第2中間データ生成部83により変更される前の値に戻した作業データを生成する。
確認部71は、復元部85により生成された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを検証用データに決定し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、復元部85に再復元指示を出力する。
復元部85は、確認部71から再復元指示が入力されることに応じて、作業データに含まれる1以上のオブジェクトそれぞれの複数のパラメータの1つを第2中間データ生成部83により変更される前の値に戻した新たな作業データを生成する。このため、確認部71は、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合に復元部85に再復元指示を出力するので、復元部85によって、不具合検出部55から基準エラー情報と同じ不具合情報が入力されるまで、作業データに含まれる1以上のオブジェクトそれぞれの複数のパラメータの1つが第2中間データ生成部83により変更される前の値に戻される。
確認部71は、検証用データを決定する場合、ダミー追加部75に追加指示を出力する。ダミー追加部75は、追加指示が入力されることに応じて、検証用データに1以上のダミーオブジェクトを追加した作業データを生成する。ダミーオブジェクトは、ランダムに生成したオブジェクトである。ダミーオブジェクトの数は、ダミーオブジェクトの面積の総和が検証用データに含まれる1以上のオブジェクトの面積の総和に占める割合が所定の値以上となる数であるのが好ましい。
確認部71は、ダミー追加部75により検証用データにダミーオブジェクトが追加された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部61および表示制御部63に出力する。確認部71は、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、ダミー追加部75に再追加指示を出力する。ダミー追加部75は、再追加指示が入力されることに応じて、検証用データに、新たな1以上のダミーオブジェクトを追加した作業データを生成する。確認部71は、ダミー追加部75により作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、作業データを新たな検証用データに設定し、新たな検証用データを出力部61および表示制御部63に出力する。確認部71は、ダミー追加部75により検証用データにダミーオブジェクトが追加された作業データを画像処理部53に画像処理させた後に、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、不具合検出部55から基準エラー情報と同じ不具合情報が入力されるまでダミー追加部75に再追加指示を出力する。
表示制御部63は、検証用データが入力されることに応じて、表示条件を満たしているか否かを判断する。ここでは、第3の表示条件として、検証用データに含まれる変更オブジェクトの面積の総和が処理データの面積に占める割合が第3のしきい値以上としている。表示制御部63は、第3の表示条件が満たされる場合に、表示部118に通知画面を表示し、第3の表示条件が満たされない場合に、表示部118に通知画面を表示することなく、出力部61に出力指示を出力する。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。
図10は、変形例における第2中間データ生成処理の流れの一例を示すフローチャートである。図8に示した処理と異なる点は、ステップS41、ステップS42、ステップS46が、ステップS41A、ステップS42A、ステップS46Aにそれぞれ変更された点、ステップS46Aの後にステップS46Bが追加された点である。その他の処理は、図8に示した処理と同じなので、ここでは説明を繰り返さない。ステップS41Aにおいては、第1中間データのうちからオブジェクトに変換可能な部分のうちから1つを選択する。ステップS42Aにおいては、ステップS41Aにおいて選択された部分を第1中間データから削除したデータを作業データに設定し、処理をステップS43に進める。
次のステップS46Aにおいては、第1中間データに含まれるオブジェクトに変換可能な部分のうちでステップS41Aにおいて選択されていない部分が存在するか否かを判断する。未選択の部分が存在すれば処理をステップS41Aに戻すが、そうでなければ処理をステップS46Bに進める。ステップS46Bにおいては、第1中間データを分割した複数の部分それぞれを属性が画像のオブジェクトに設定し、処理をステップS47に進める。
図11は、変形例における表示判定処理の流れの一例を示すフローチャートである。図11を参照して、図9に示した処理と異なる点は、ステップS61がステップS61Aに変更された点、ステップS62が削除された点である。ステップS61においては、検証用データに含まれる1以上の変更オブジェクトの面積の総和が、検証用データの面積に占める割合が、しきい値TH3以上か否かを判断する。真ならば処理をステップS63に進めるが、偽ならば処理をステップS64に進める。ステップS63においては、表示モードに設定し、処理を画像制御処理に戻す。ステップS64においては、非表示モードに設定し、処理を画像制御処理に戻す。
<第2の実施の形態>
第1の実施の形態においては、MFP100が検証用データを生成する機能を有するが、第2の実施の形態における情報処理システム1は、内部サーバー200が、MFP100に代わって、検証用データを生成する機能を有するようにしたものである。
第2の実施の形態における情報処理システム1の全体概要は、図1に示した全体概要と同じである。第2の実施の形態におけるMFP100のハードウェア構成は、図2および図3に示したブロック図と同じである。
図12は、本実施の形態における内部サーバーのハードウェア構成の概要の一例を示すブロック図である。図12を参照して、内部サーバー200は、内部サーバー200の全体を制御するための中央演算装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をネットワーク3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
表示部206は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置である。操作部207は、キーボードなどのハードキーである。また、操作部207は、タッチパネルであってもよい。タッチパネルは、表示部206の上面または下面に表示部206に重畳して設けられる。タッチパネルは、表示部206の表示面中でユーザーにより指示された位置を検出する。
通信部205は、CPU201をネットワーク3に接続するためのインターフェースである。通信部205は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで、ネットワークに接続されたMFP100と通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。内部サーバー200に、MFP100のIP(Internet Protocol)アドレスを登録しておくことにより、内部サーバー200は、MFP100と通信することができ、データの送受信が可能となる。
HDD204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、HDD204に記録されたプログラムを、RAM203にロードして実行する。
外部記憶装置208は、プログラムを記憶したCD−ROM(Compact Disk ROM)209が装着される。CPU201は、外部記憶装置208を介してCD−ROM209にアクセス可能である。CPU201は、外部記憶装置208に装着されたCD−ROM209に記録されたプログラムをRAM203にロードして実行する。なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROMまたはEPROM(Erasable Programmable ROM)などの半導体メモリであってもよい。
また、CPU201が実行するプログラムは、CD−ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピューターが、HDD204に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、内部サーバー200が、ネットワーク3またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
第2の実施の形態における内部サーバー200は、MFP100をシミュレートするシミュレータを備えている。
図13は、第2の実施の形態における内部サーバーが備えるシミュレータの概要の一例を示す図である。このシミュレータは、CPU201がシミュレートプログラムを実行することにより、CPU201に形成される。図13を参照して、シミュレータは、CPU周辺シミュレータ300と、ハードウェア(HW)シミュレータ320と、を含む。CPU周辺シミュレータ300は、MFP100が備えるCPU171をシミュレートする仮想CPU301と、ROM173およびRAM175をエミュレートする仮想メモリ303と、周辺モデル305と、同期設定モデル307と、割込制御部309と、を含む。仮想CPU301、仮想メモリ303、周辺モデル305および同期設定モデル307は、バス(Bus)311に接続されている。
周辺モデル305は、MFP100が備えるHDD113、操作パネル115、通信I/F部160および外部記憶装置180をそれぞれエミュレートするHDD113A、操作パネル115A、通信I/F部160Aおよび外部記憶装置180Aを含む。
同期設定モデル307は、仮想CPU301が、仮想メモリ303および周辺モデル305と同期するための設定をする。割込制御部309は、仮想CPU301が仮想メモリ303および周辺モデル305と同期するための設定時に、仮想CPU301に割り込みを発生させる。
HWシミュレータ320は、PCI−ExpressBusモデル321と、画像制御ASICモデル323と、ハードウェア資源モデル325と、を含む。PCI−ExpressBusモデル321は、バス311に接続され、PCI−Express規格に従った接続をエミュレートする。画像制御ASICモデル323は、MFP100が備える画像制御ASIC177をエミュレートする。ハードウェア資源モデル325は、MFP100が備えるハードウェア資源をエミュレートする。具体的には、ハードウェア資源モデル325は、MFP100が備える自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150およびファクシミリ部170をそれぞれエミュレートする自動原稿搬送装置120A、原稿読取部130A、画像形成部140A、給紙部150Aおよびファクシミリ部170Aを含む。
図14は、第2の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図14に示す機能は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された装置側画像制御プログラムを実行することにより、CPU171により実現される機能である。装置側画像制御プログラムは、画像制御プログラムの一部である。図14を参照して、図4に示した機能と異なる点は、生成部59が、検証依頼部59Aに変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
検証依頼部59Aは、データ受付部51から処理データが入力される。検証依頼部59Aは、処理データ送信部91と、装置情報送信部93と、検証用データ受信部95と、を含む。処理データ送信部91は、不具合検出部55から不具合情報が入力されることに応じて、通信I/F部160を制御して、処理データと不具合情報とを内部サーバー200に送信する。装置情報送信部93は、不具合検出部55から不具合情報が入力されることに応じて、装置情報を生成し、生成された装置情報を、通信I/F部160を制御して内部サーバー200に送信する。装置情報は、MFP100に搭載されているCPU171に関する情報、MFP100にインストールされたハードウェア資源に関するハード情報と、MFP100にインストールされたソフトウェア資源に関するソフト情報と、を含む。CPU171に関する情報は、CPU171の機種名を含む。ハード情報は、ハードウェア資源を識別するためのハード識別情報と、ハードウェア資源を制御するために設定されているハードパラメータとを含む。ハード情報は、ハードウェア資源が複数の場合には、複数のハードウェア資源ごとに、ハード識別情報とハードパラメータとを含む。ソフト情報は、MFP100にインストールされているプログラムのプログラム名と、そのプログラムを実行するために設定されているソフトパラメータと、を含む。
処理データ送信部91が内部サーバー200に処理データと不具合情報とを送信した後、内部サーバー200が検証用データを返信する場合がある。検証用データ受信部95は、通信I/F部160が内部サーバー200から検証用データを受信する場合、検証用データを取得し、出力部61および表示制御部63に出力する。
図15は、第2の実施の形態における内部サーバーが備えるCPUが有する機能の一例を示すブロック図である。図15に示す機能は、内部サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたサーバー側画像制御プログラムを実行することにより、CPU201により実現される機能である。サーバー側画像制御プログラムは、画像制御プログラムの一部である。
図15を参照して、内部サーバー200が備えるCPU201は、装置情報取得部251と、処理データ受信部253と、シミュレート部255と、仮想不具合検出部257と、サーバー側生成部259と、検証用データ送信部261と、を含む。
装置情報取得部251は、MFP100から装置情報を取得する。上述したように、MFP100は、処理データの画像処理で不具合が検出される場合に、装置情報を送信する。装置情報取得部251は、通信部205がMFP100から装置情報を受信すると、通信部205が受信した装置情報を取得する。装置情報取得部251は、装置情報を取得する場合、装置情報をシミュレート部255に出力する。
処理データ受信部253は、MFP100から処理データと不具合情報とを取得する。MFP100は、装置情報とともに処理データと不具合情報を送信するので、通信部205がMFP100から処理データと不具合情報を受信すると、通信部205が受信した処理データと不具合情報とを取得する。処理データ受信部253は、処理データと不具合情報とを取得する場合、処理データと不具合情報とをサーバー側生成部259に出力する。
シミュレート部255は、装置情報取得部251から入力される装置情報に基づいてMFP100をシミュレートし、処理データ受信部253から入力される処理データを画像処理する。まず、シミュレート部255は、装置情報に基づいて、MFP100に装着されたハードウェア資源を設定し、ハードパラメータを設定する。
MFP100は、ハードウェア資源として、画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115を含む。このため、装置情報に含まれるハード情報は、画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115をハードウェア資源として定める。シミュレート部255は、装置情報に含まれるハード情報で定められた画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115それぞれをエミュレートするエミュレータを設定するとともに、ハード情報に含まれるハードパラメータを設定する。さらに、シミュレート部255は、エミュレートするハードウェア資源との同期を設定する。例えば、図13に示したCPU周辺シミュレータ300の同期設定モデル307に、仮想CPU301が、ハードウェア資源のエミュレータと同期するように仮想CPU301のレジスタ値を設定させるとともに、仮想メモリ303のメモリマップを書き換える。
また、シミュレート部255は、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想CPUが実行する状態に設定し、装置情報に含まれる設定値を設定する。具体的には、シミュレート部255は、装置情報に含まれるソフト情報で定められたソフトウェア資源をインストールし、装置情報に含まれる設定値を設定する。これにより、シミュレート部255において、MFP100をシミュレートした仮想装置が完成する。なお、MFP100のRAM175に記憶されたデータをスナップショットとして取得し、仮想メモリ303に記憶するようにしてもよい。
仮想不具合検出部257は、シミュレート部255が画像処理を実行中に発生する不具合を検出する。シミュレート部255は、仮想CPU301が画像処理プログラムを実行する画像処理タスクおよび画像制御ASIC177をエミュレートするエミュレータである。仮想不具合検出部257は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合、または、画像制御ASIC177のエミュレータが予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理タスクが画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。仮想不具合検出部257は、不具合を検出する場合、検出された不具合を特定するための不具合情報をサーバー側生成部259に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。
サーバー側生成部259は、処理データ受信部253から入力される処理データに基づいて、画像処理タスクにより画像処理されると仮想不具合検出部257により検出された不具合と同じ不具合が発生する検証用データを生成する。サーバー側生成部259は、確認部71と、変更オブジェクト生成部73と、ダミー追加部75と、を含む。確認部71、変更オブジェクト生成部73およびダミー追加部75は、図4に示した第1の実施の形態におけるMFP100が備えるCPU171が有する機能として示した確認部71、変更オブジェクト生成部73、およびダミー追加部75とそれぞれ同じである。したがって、ここでは説明を繰り返さない。
検証用データ送信部261は、確認部71から検証用データが入力されることに応じて、通信部205を制御して、検証用データをMFP100に送信する。
図16は、第2の実施の形態における画像制御処理の流れの一例を示すフローチャートである。図16を参照して、図6に示した第1の実施の形態における画像制御処理と異なる点は、ステップS06に代えて、ステップS06A〜ステップS06Cが実行される点である。その他の処理は、図6に示した処理と同じなので、ここでは説明を繰り返さない。
CPU171は、ステップS06Aにおいて、通信I/F部160を制御して、ステップS01において取得された処理データと、ステップS05において設定された基準不具合を特定するための基準不具合情報と、を内部サーバー200に送信する。次のステップS06Bにおいては、通信I/F部160を制御して、装置情報を内部サーバー200に送信する。次のステップS06Cにおいては、通信I/F部160を制御して、内部サーバー200から検証用データを受信するまで待機状態となり、検証用データを受信したならば処理をステップS07に進める。
図17は、サーバー側検証用データ生成処理の流れの一例を示すフローチャートである。サーバー側検証用データ生成処理は、内部サーバー200が備えるCPU201が、サーバー側検証用データ生成プログラムを実行することにより、CPU201により実行される処理である。サーバー側検証用データ生成プログラムは、機密情報変換プログラムの一部である。図17を参照して、内部サーバー200が備えるCPU201は、通信部205を制御して、MFP100から処理データと不具合情報とを受信したか否かを判断する(ステップS201)。処理データと不具合情報とを受信するまで待機状態となり(ステップS201でNO)、処理データと不具合情報とを受信したならば(ステップS201でYES)、処理をステップS202に進める。
ステップS202においては、ステップS201において受信された不具合情報を基準不具合情報に設定し、処理をステップS203に進める。ステップS203においては、通信部205を制御して、MFP100から装置情報を受信する。そして、図7に示した検証用データ生成処理を実行し(ステップS203)、処理をステップS204に進める。ステップS204においては、通信部205を制御して、MFP100に検証用データを送信し、処理を終了する。
なお、第2の実施の形態において、内部サーバー200がMFP100の全体をシミュレートするようにしたが、MFP100において画像処理を担当するCPU171および画像制御ASICをシミュレートするようにしてもよい。具体的には、図13において、周辺モデル305は、不要であり、HWシミュレータ320において、ハードウェア資源モデル325は不要である。
なお、上述した第1および第2の実施の形態においては、情報処理装置の一例としてMFP100、または内部サーバー200を例に示したが、図6〜図11に示した画像制御処理を、MFP100に実行させる画像制御方法、また、その画像制御方法をMFP100が備えるCPU171に実行させる画像制御プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 原稿を読み取って得られる画像データを出力する原稿読取手段を、さらに備え、
前記画像処理手段は、前記原稿読取手段が出力する画像データを画像処理する、請求項11に記載の情報処理装置。この局面に従えば、原稿を読み取って得られる画像データが検証用データに変換されるので、原稿に形成された画像に含まれる機密が漏洩するのを防止することができる。
(2) 外部からデータを受信する受信手段を、さらに備えた請求項1〜12のいずれかに記載の情報処理装置。この局面に従えば、外部から受信されたデータから検証用データを生成することができる。
(3) 前記画像処理手段と、
前記画像処理手段が前記処理データを画像処理した後の画像データの画像を形成する画像形成手段をさらに備えた、請求項1〜12のいずれかに記載の情報処理装置。この局面に従えば、処理データを画像処理した後の画像データの画像を形成するので、画像形成の対象となる処理データに含まれる機密情報が漏洩しないようにすることができる。
1 情報処理システム、3 ネットワーク、5 インターネット、100 MFP、200 内部サーバー、500 検証サーバー、111 メイン基板、115 操作パネル、115A 操作パネル、118 表示部、119 操作部、120,120A 自動原稿搬送装置、130,130A 原稿読取部、140,140A 画像形成部、150,150A 給紙部、160,160A 通信I/F部、170,170A ファクシミリ部、171 CPU、173 ROM、175 RAM、177 画像制御ASIC、179 バス、180,180A 外部記憶装置、201 CPU、202 ROM、203 RAM、204 HDD、205 通信部、206 表示部、207 操作部、209 外部記憶装置、300 CPU周辺シミュレータ、301 仮想CPU、303 仮想メモリ、305 周辺モデル、307 同期設定モデル、309 割込制御部、311 バス、320 HWシミュレータ、321 PCI−ExpressBusモデル、323 画像制御ASICモデル、325 ハードウェア資源モデル、51 データ受付部、53 画像処理部、55 不具合検出部、59 生成部、59A 検証依頼部、61 出力部、63 表示制御部、71 確認部、73 変更オブジェクト生成部、75 ダミー追加部、81 中間データ生成部、83 中間データ生成部、85 復元部、91 処理データ送信部、93 装置情報送信部、95 検証用データ受信部、251 装置情報取得部、253 処理データ受信部、255 シミュレート部、257 仮想不具合検出部、259 サーバー側生成部、261 検証用データ送信部。

Claims (15)

  1. データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出手段と、
    前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成手段と、
    前記検証用データを前記処理データに代えて外部に出力する出力手段と、を備えた情報処理装置。
  2. 前記生成手段は、前記処理データの少なくとも一部を含む第1中間データを生成する第1中間データ生成手段と、
    前記第1中間データに含まれる少なくとも一部を変更した第2中間データを生成する第2中間データ生成手段と、
    前記第1中間データまたは前記第2中間データを前記画像処理手段に実行させ、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することを確認する確認手段と、を含む請求項1に記載の情報処理装置。
  3. 前記第1中間データ生成手段は、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することが前記確認手段により確認されなくなる直前まで前記処理データの一部を前記処理データから順に削除することにより前記第1中間データを生成し、
    前記第2中間データ生成手段は、前記第1中間データに含まれる少なくとも1つのオブジェクトそれぞれについて、当該オブジェクトを定める複数のパラメータのすべてをランダムな値に変更した第2中間データを生成し、
    前記生成手段は、前記第2中間データに含まれる前記少なくとも1つのオブジェクトそれぞれの前記複数のパラメータの少なくとも1つを前記第2中間データ生成手段により変更される前の値に戻す復元手段を含み、
    前記復元手段は、前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生することが前記確認手段により確認されるまで、前記第2中間データに含まれる前記少なくとも1つのオブジェクトそれぞれの前記複数のパラメータを順に前記第2中間データ生成手段により変更される前の値に戻す、請求項2に記載の情報処理装置。
  4. 前記復元手段は、前記第2中間データに含まれる前記少なくとも1つのオブジェクトそれぞれを定める前記複数のパラメータを、前記複数のパラメータに対して予め定められた順に、前記第2中間データ生成手段により変更される前の値に戻す、請求項3に記載の情報処理装置。
  5. 前記第2中間データ生成手段は、前記第1中間データに含まれる少なくとも1つのオブジェクトそれぞれについて、当該オブジェクトの属性が画像を示す場合に、当該オブジェクトを定める前記複数のパラメータのうち解像度またはサイズを示すパラメータを小さな値に変更する、請求項3または4のいずれかに記載の情報処理装置。
  6. 前記検証用データに、前記検証用データに含まれるオブジェクトとは関係のないダミーオブジェクトを追加するダミー追加手段を、さらに備えた、請求項1〜5のいずれかに記載の情報処理装置。
  7. 前記生成手段は、前記処理データに対して予め定められた設定がされている場合に、前記検証用データを生成する、請求項1〜6のいずれかに記載の情報処理装置。
  8. 前記処理データは、1以上のオブジェクトを含み、
    前記生成手段は、前記処理データに含まれる前記1以上のオブジェクトの少なくとも1つであって、当該オブジェクトを定める複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを前記検証用データとして生成する、請求項1〜7のいずれかに記載の情報処理装置。
  9. 前記出力手段が前記検証用データを外部に出力する前の段階で、前記検証用データの画像を表示する表示制御手段を、さらに備え、
    前記出力手段は、前記検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、前記検証用データを外部に出力しない、請求項1〜8のいずれかに記載の情報処理装置。
  10. 前記表示制御手段は、前記少なくとも1つの変更オブジェクトの数が前記処理データに含まれる前記1以上のオブジェクトの数に占める割合が第1のしきい値より小さい場合、および/または、前記変更オブジェクトを定める複数のパラメータに占める変更されたパラメータの数の割合が第2のしきい値より大きい場合に、前記検証用データの画像を表示しない、請求項9に記載の情報処理装置。
  11. 前記処理データは、複数の画素値で構成される画像データであり、
    前記画像処理は、前記処理データから1以上のオブジェクトを抽出し、前記抽出された1以上のオブジェクトを含むデータに変換する処理であり、
    前記生成手段は、前記処理データのうち前記画像処理手段で不具合の発生した部分を少なくとも含む部分画像をオブジェクトに設定し、当該オブジェクトを定める複数のパラメータの少なくとも1つをランダムな値に変更した変更オブジェクトを少なくとも含むデータを前記検証用データとして生成する、請求項1〜7のいずれかに記載の情報処理装置。
  12. 前記出力手段が前記検証用データを外部に出力する前の段階で、前記検証用データの画像を表示する表示制御手段を、さらに備え、
    前記出力手段は、前記検証用データの画像が表示された後に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、前記検証用データを外部に出力しない、請求項11に記載の情報処理装置。
  13. 前記画像処理手段を備えた画像処理装置から前記処理データを取得する処理データ取得手段と、
    前記画像処理手段をシミュレートするシミュレート手段と、をさらに備えた、請求項1〜12のいずれかに記載の情報処理装置。
  14. データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出ステップと、
    前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、
    前記検証用データを前記処理データに代えて外部に出力する出力ステップと、を情報処理装置に実行させる画像制御方法。
  15. データを画像処理する画像処理手段による前記画像処理の不具合を検出する不具合検出ステップと、
    前記画像処理の不具合が検出される場合に、前記画像処理手段が処理対象とした処理データの少なくとも一部を変更したデータであって、前記画像処理手段により画像処理されると前記画像処理手段が前記処理データを画像処理する場合と同じ不具合が発生する検証用データを生成する生成ステップと、
    前記検証用データを前記処理データに代えて外部に出力する出力ステップと、をコンピューターに実行させる画像制御プログラム。
JP2017219123A 2017-11-14 2017-11-14 情報処理装置、画像制御方法および画像制御プログラム Active JP7081120B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017219123A JP7081120B2 (ja) 2017-11-14 2017-11-14 情報処理装置、画像制御方法および画像制御プログラム
US16/179,334 US10802771B2 (en) 2017-11-14 2018-11-02 Information processing apparatus, image control method and non-transitory computer-readable recording medium encoded with image control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017219123A JP7081120B2 (ja) 2017-11-14 2017-11-14 情報処理装置、画像制御方法および画像制御プログラム

Publications (2)

Publication Number Publication Date
JP2019089246A true JP2019089246A (ja) 2019-06-13
JP7081120B2 JP7081120B2 (ja) 2022-06-07

Family

ID=66432107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017219123A Active JP7081120B2 (ja) 2017-11-14 2017-11-14 情報処理装置、画像制御方法および画像制御プログラム

Country Status (2)

Country Link
US (1) US10802771B2 (ja)
JP (1) JP7081120B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006335046A (ja) * 2005-06-06 2006-12-14 Sharp Corp 印刷装置及びデータ処理装置
JP2007221183A (ja) * 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
JP2007334539A (ja) * 2006-06-14 2007-12-27 Fuji Xerox Co Ltd 画像処理装置、画像処理システム、画像処理方法及びプログラム
JP2009039953A (ja) * 2007-08-09 2009-02-26 Fuji Xerox Co Ltd 印刷装置
US20090138766A1 (en) * 2007-11-28 2009-05-28 Su Ying Rui System and method for error reporting in software applications
JP2010269498A (ja) * 2009-05-20 2010-12-02 Fuji Xerox Co Ltd 画像出力装置及びプログラム
JP2011204132A (ja) * 2010-03-26 2011-10-13 Konica Minolta Business Technologies Inc データ処理システム、データ処理方法、および画像形成装置
JP2012186603A (ja) * 2011-03-04 2012-09-27 Ricoh Co Ltd 画像処理装置、画像処理方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616340B2 (en) * 2005-03-25 2009-11-10 Fujifilm Corporation Image processing method and apparatus, threshold value matrix creating method, image forming apparatus, sub-matrix creating method and program
JP4431159B2 (ja) * 2007-07-25 2010-03-10 株式会社沖データ 印刷装置
JP4460596B2 (ja) * 2007-10-30 2010-05-12 富士通株式会社 ディスク管理方法、ディスク管理装置およびストレージシステム
JP2012051296A (ja) 2010-09-02 2012-03-15 Ricoh Co Ltd 画像形成装置
US20170109667A1 (en) * 2011-05-08 2017-04-20 Panaya Ltd. Automaton-Based Identification of Executions of a Business Process
JP2015194484A (ja) * 2014-03-18 2015-11-05 株式会社リコー 画像検査装置、画像形成システム及び画像検査プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006335046A (ja) * 2005-06-06 2006-12-14 Sharp Corp 印刷装置及びデータ処理装置
JP2007221183A (ja) * 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
JP2007334539A (ja) * 2006-06-14 2007-12-27 Fuji Xerox Co Ltd 画像処理装置、画像処理システム、画像処理方法及びプログラム
JP2009039953A (ja) * 2007-08-09 2009-02-26 Fuji Xerox Co Ltd 印刷装置
US20090138766A1 (en) * 2007-11-28 2009-05-28 Su Ying Rui System and method for error reporting in software applications
JP2010269498A (ja) * 2009-05-20 2010-12-02 Fuji Xerox Co Ltd 画像出力装置及びプログラム
JP2011204132A (ja) * 2010-03-26 2011-10-13 Konica Minolta Business Technologies Inc データ処理システム、データ処理方法、および画像形成装置
JP2012186603A (ja) * 2011-03-04 2012-09-27 Ricoh Co Ltd 画像処理装置、画像処理方法及びプログラム

Also Published As

Publication number Publication date
JP7081120B2 (ja) 2022-06-07
US10802771B2 (en) 2020-10-13
US20190146720A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
JP2007213246A (ja) アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP2010269498A (ja) 画像出力装置及びプログラム
JP6938983B2 (ja) 情報処理システム、情報処理装置及び情報処理方法
KR20100121355A (ko) 인쇄데이터를 저장하는 방법 및 이를 수행하는 화상형성장치 및 화상형성시스템
US20210144014A1 (en) Information processing apparatus, method for ensuring files and storage medium
JP7081120B2 (ja) 情報処理装置、画像制御方法および画像制御プログラム
JP6950431B2 (ja) 情報処理装置、画像制御方法および画像制御プログラム
CN113687750B (zh) 一种截图处理方法及装置
JP6996216B2 (ja) シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム
JP7087755B2 (ja) データ送信システム、およびデータ送信装置
US20150178420A1 (en) Information processing apparatus, information processing system, method of processing information, and program
JP4628130B2 (ja) 画像のサムネイルを表示・非表示制御する画像処理装置及び方法、並びに画像処理用プログラム
JP7069905B2 (ja) 情報処理システム
JP6962159B2 (ja) サーバー、再現用データ生成方法および再現用データ生成プログラム
JP7027827B2 (ja) サーバー、ジョブ管理方法およびジョブ管理プログラム
JP6972882B2 (ja) シミュレート装置、装置設定方法および装置設定プログラム
JP6953994B2 (ja) シミュレート装置、画像形成装置、装置設定方法および装置設定プログラム
JP6573162B2 (ja) 画像読取装置、画像形成装置およびプログラム
JP6958264B2 (ja) サーバー、再現用データ生成方法および再現用データ生成プログラム
JP2019074957A (ja) シミュレート装置、装置設定方法および装置設定プログラム
JP2019075656A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP7098899B2 (ja) 仮想実行装置、仮想実行方法および仮想実行プログラム
US20230177163A1 (en) Information processing system, information processing apparatus, and information processing method
JP6885196B2 (ja) 情報処理装置、画像形成装置の操作支援方法および操作支援プログラム
JP2010224276A (ja) 画像出力装置、制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220509

R150 Certificate of patent or registration of utility model

Ref document number: 7081120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150