(58)【調査した分野】(Int.Cl.,DB名)
前記中間データ生成手段は、前記複数の分割部分のうちから第1の個数の分割部分を選択し、前記選択された第1の個数の分割部分のみを含む複数の中間データを生成する選択手段を含み、
前記選択手段は、前記複数の中間データのいずれにおいても前記画像処理手段に実行した場合に前記基準不具合が発生することが前記確認手段により確認されない場合、前記複数の分割部分のうちから第1の個数より大きな第2の個数の分割部分を選択する、請求項1に記載の情報処理装置。
前記生成手段は、前記画像処理の不具合が検出される場合に、ユーザーにより入力される出力の許可を示す操作を受け付けるまで、前記検証用データを生成しない、請求項1〜6のいずれかに記載の情報処理装置。
【発明を実施するための形態】
【0033】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
【0034】
<第1の実施の形態>
図1は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。
図1を参照して、情報処理システム1は、MFP(Multi Function Peripheral)100と、内部サーバー200と、検証サーバー500と、を含む。
【0035】
MFP100は、画像形成装置の一例であり、処理対象となるデータを画像処理する画像処理機能、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。MFP100は、画像処理機能および画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。画像処理は、限定するものではないが、画像データを画像形成可能なラスターデータに変換する処理、画像中のエッジを強調する先鋭化処理、画像中の色の変化を滑らかにするスムージング処理、データをよりサイズの小さな符号化データに変換する符号化処理、符号化データを復号する復号処理、画像データのフォーマットを変換する変換処理を含む。内部サーバー200は、一般的なコンピューターである。
【0036】
内部サーバー200および検証サーバー500は、一般的なコンピューターである。内部サーバー200およびMFP100それぞれは、ローカルエリアネットワーク(LAN)3に接続される。検証サーバー500は、インターネット5に接続されている。
【0037】
LAN3に接続されるMFP100および内部サーバー200それぞれは、LAN3を介してデータの送受信が可能である。LAN3は、それに接続される装置が限定された閉じた環境となるため、LAN3に接続される複数の装置間、ここではMFP100と内部サーバー200との間で送受信されるデータが外部に漏れないようにセキュリティが確保されている。なお、LAN3の接続形態は有線または無線を問わない。また、LAN3に代えて、セキュリティが確保されるのであれば、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク、ワイドエリアネットワーク(WAN)を用いるようにしてもよい。
【0038】
LAN3は、インターネット5に接続される。このため、MFP100および内部サーバー200それぞれは、ネットワーク3を介してインターネット5に接続された検証サーバー500と互いに通信可能である。MFP100および内部サーバー200は内部に配置される装置であるのに対して、検証サーバー500は、MFP100および内部サーバー200に対して外部に配置される装置である。
【0039】
本実施の形態における情報処理システム1において、MFP100で不具合が発生する場合に、検証サーバー500で、MFP100において発生した不具合を検証する。そして、検証結果に基づいて、MFP100で発生した不具合が次に発生しないように、MFP100に設定するパラメータを決定したり、MFP100で実行されるプログラムを改変したり、ハードウェア資源を交換または増設することができる。検証サーバー500において、MFP100において発生した不具合を再現するために、MFP100において発生した不具合の原因となるデータが必要となるが、そのデータが機密情報を含んでいる場合があるので、MFP100は、そのデータそのものを検証サーバー500に送信するのではなく、そのデータを検証用データに変換し、検証用データを検証サーバー500に送信する。検証用データがLAN3に接続されたMFP100と内部サーバー200とを含む閉じた環境の外部の検証サーバー500に送信されるが、検証用データからデータに含まれる機密情報を再現できなければ機密が外部に漏洩するのを防止することができる。
【0040】
図2は、本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。
図2を参照して、MFP100は、メイン基板111と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、通信インターフェース(I/F)部160と、ファクシミリ部170と、外部記憶装置180と、大容量記憶装置としてのハードディスクドライブ(HDD)113と、ユーザーインターフェースとしての操作パネル115とを含む。
【0041】
メイン基板111は、自動原稿搬送装置120、原稿読取部130、画像形成部140および給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113、および操作パネル115と接続され、MFP100の全体を制御する。
【0042】
自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。
【0043】
給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
【0044】
通信I/F部160は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部160は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【0045】
通信I/F部160は、ネットワーク3から受信されるデータをメイン基板111に出力し、メイン基板111から入力されるデータをネットワーク3に出力する。通信I/F部160は、ネットワーク3から受信されるデータのうちMFP100宛てのデータのみを、メイン基板111に出力し、ネットワーク3から受信されるデータのうちMFP100とは異なる装置宛てのデータを廃棄する。
【0046】
ファクシミリ部170は、公衆交換電話網(PSTN)に接続され、ファクシミリデータを送受信する。外部記憶装置180は、CD−ROM181または半導体メモリが装着される。外部記憶装置180は、CD−ROM181または半導体メモリに記憶されたデータを読み出す。また、外部記憶装置180は、CD−ROM181または半導体メモリにデータを記憶する。
【0047】
操作パネル115は、MFP100の上面に設けられ、表示部118と操作部119とを含む。表示部118は、液晶表示装置(LCD)、有機ELD等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部119は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部118の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部118の表示面中でユーザーにより指示された位置を検出する。
【0048】
図3は、本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。
図3を参照して、メイン基板111は、CPU171と、ROM(Read Only Memory)173と、RAM(Random Access Memory)175と、画像制御ASIC(Application Specific Integrated Circuit)177と、を含む。
【0049】
CPU171、ROM173、RAM175および画像制御ASIC177それぞれは、バス179に接続されており、データの転送が可能である。CPU171は、MFP100の全体を制御する。ROM173は、CPU171が実行するプログラムを記憶する。RAM175は、CPU171の作業領域として用いられる揮発性の半導体メモリである。
【0050】
CPU171は、HDD113に記憶されたプログラムをRAM175にロードして実行する。CPU171が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、の通信I/F部160、ファクシミリ部170、HDD113および操作パネル115を含む。アプリケーションプログラムは、例えば、ファクシミリ部170を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部170を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信I/F部160を制御してプリントジョブを受信し、画像形成部140および給紙部150を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部130を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、MFP100が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、CPU171が実行するアプリケーションプログラムを、これらに限定するものではない。
【0051】
画像制御ASIC177は、CPU171により制御され、原稿読取部130、画像形成部140およびファクシミリ部170と接続され、それらを制御する。また、画像制御ASIC177は、原稿読取部130が原稿を読み取って出力する画像データをRAM175に記憶する処理、画像データをラスターデータに変換して画像形成部140に出力する処理、ファクシミリ部170が受信したファクシミリデータを画像データに変換してRAM175に記憶する処理、画像データをファクシミリデータに変換しファクシミリ部170に出力する処理、RAM175に記憶された画像データの解像度を変換して変換後の画像データをRAM175に記憶する処理、RAM175に記憶された2以上の画像データを合成した合成データをRAM175に記憶する処理、RAM175に記憶されたデータのフォーマットを変換してRAM175に記憶する処理、画像データを暗号化した符号化データに変換する暗号化処理、暗号化データを復号する復号処理を実行する。
【0052】
図4は、第1の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。
図4に示す機能は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された画像制御プログラムを実行することにより、CPU171により実現される機能である。
図4を参照して、CPU171は、処理データを受け付けるデータ受付部51と、データに対して画像処理を実行する画像処理部53と、画像処理部53による画像処理の不具合を検出する不具合検出部55と、検証用データを生成する生成部59と、検証用データを外部に出力する出力部61と、表示部118を制御する表示制御部63と、を含む。
【0053】
データ受付部51は、MFP100が処理の対象とする処理データを受け付ける。データ受付部51は、処理データを受け付けることに応じて、その処理データを画像処理部53および生成部59に出力する。データ受付部51は、原稿読取部130が原稿を読み取る場合、原稿読取部130が原稿を読み取って出力する画像データを受け付ける。データ受付部51は、通信I/F部160が、LAN3に接続されたパーソナルコンピューター(以下PCという)からプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。データ受付部51は、通信I/F部160がインターネット5に接続されたウェブ(Web)サーバーからWebデータを受信する場合、Webデータを処理データとして受け付ける。また、データ受付部51は、HDD113に記憶されたデータをプリントする指示を受け付ける場合、HDD113に記憶されたデータを処理データとして受け付ける。
【0054】
画像処理部53は、データを画像処理し、画像データを生成する。画像処理部53は、データ受付部51から処理データが入力されることに応じて、処理データを画像処理する。画像処理部53が実行する画像処理は、画像制御ASIC177に画像処理させるために、画像制御ASIC177を制御する処理を含む。例えば、処理データがプリントデータの場合、プリントジョブによって定められた条件に従ってプリントデータを画像処理する。画像処理部53は、処理データが、原稿読取部130が出力する画像データ、WebデータまたはHDD113に記憶されたデータの場合、ユーザーが操作部119に入力するプリント条件に従って処理データを画像処理する。ここで、画像処理部53が実行する画像処理は、画像制御ASIC177が実行する画像処理に加えて、画像中のエッジを強調する先鋭化処理、画像中の色の変化を滑らかにするスムージング処理を含んでもよい。
【0055】
不具合検出部55は、画像処理部53が画像処理を実行中に発生する不具合を検出する。画像処理部53は、CPU171が画像処理プログラムを実行する画像処理タスクである。不具合検出部55は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理部53が画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。換言すれば、不具合検出部55は、画像処理部53が画像処理の対象となるデータを画像処理する処理速度が所定の値より小さい場合に、不具合を検出するようにしてもよい。
【0056】
また、不具合検出部55は、画像処理が画像データを符号化データに変換する符号化処理であって、可逆圧縮処理の場合、符号化データを復号した復号データを、画像データと比較し、両者が一致しない場合に不具合を検出するようにしてもよい。また、不具合検出部55は、画像処理が画像データを符号化データに変換する符号化処理の場合、画像処理した後のデータのデータ量が予め定められた上限値を超える場合に、不具合を検出するようにしてもよい。この場合における上限値は、画像処理後のデータを処理対象とするタスクによって定まる値であり、予め定められている。例えば、画像処理後のデータを処理対象とするタスクは、CPU171がデータを外部に送信するプログラム、例えば、電子メール送信プログラムを実行するタスクである。
【0057】
不具合検出部55は、不具合を検出する場合、検出された不具合を特定するための不具合情報を生成部59に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。ここで、画像処理部53が処理データを処理する場合に不具合検出部55により検出された不具合を基準不具合という。
【0058】
生成部59は、データ受付部51から入力される処理データに基づいて、処理データの少なくとも一部を含み、基準不具合と同じ不具合が発生する検証用データを生成する。生成部59は、確認部71と、分割部73と、中間データ生成部75と、ぼかし部77と、を含む。
【0059】
分割部73は、処理データを分割し、複数の分割部分を生成する。ここでは、分割部73は、処理データを第1の個数に等分し、第1の個数の分割部分を生成する。分割部分のサイズを予め定めておき、処理データのサイズと分割部分のサイズとから第1の個数を決定すればよい。
【0060】
確認部71は、不具合検出部55が基準不具合を検出して出力する不具合情報を基準エラー情報としてRAM175に記憶する。確認部71は、分割部73により生成された第1の個数の分割部分それぞれを画像処理部53に実行させ、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、その分割部分を中間データ生成部75に出力する。
【0061】
中間データ生成部75は、部分分割部81と、削除部83と、復元部85と、を含む。中間データ生成部75は、確認部71から1以上の分割部分が入力される場合、1以上の分割部分のうち任意の1つを含む中間データを生成し、中間データを部分分割部81に出力する。
【0062】
部分分割部81は、中間データを、分割部分を分割部分よりもサイズの小さい複数の詳細部分に分割する。削除部83は、中間データから複数の詳細部分のいずれか1つを削除する。確認部71は、削除部83により詳細部分が削除された中間データを画像処理部53に実行させ、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、中間データを検証用データに設定し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、復帰指示を復元部85に出力する。
【0063】
復元部85は、確認部71から復帰指示が入力されることに応じて、削除部83により削除された詳細部分を中間データに復帰させる。換言すれば、復元部85は、削除部83により削除された詳細部分を中間データに追加することにより、詳細部分が削除される前の中間データを生成する。削除部83により詳細部分が削除される前の中間データを一時記憶しておき、削除部83により詳細部分が削除された中間データを、一時記憶された中間データに置き換えるようにしてもよい。中間データは、複数の詳細部分のうち、それを中間データから削除しても基準不具合が発生する詳細部分のすべてを中間データから削除したデータである。中間データ生成部75は、削除部83が複数の詳細部分の全てを処理対象とした後の中間データを検証用データに決定する。
【0064】
ぼかし部77は、中間データ生成部75により生成された検証用データに対して、ぼかし処理を実行する。ぼかし処理は、例えば、所定のフィルターを用いて、検証用データに含まれる複数の画素それぞれにおいて、処理対象となる画素の画素値を、周辺の複数の画素の画素値を用いて補正する処理である。確認部71は、ぼかし部77により処理された後の検証用データを画像処理部53に実行させ、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、検証用データを出力部61および表示制御部63に出力し、不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、ぼかし部77に再設定指示を出力する。ぼかし部77は、中間データ生成部75により生成された検証用データに対して、より程度の小さいぼかし処理を実行する。例えば、ぼかし部77は、補正量のより小さいフィルターを用いてぼかし処理を実行する。
【0065】
このため、ぼかし部77が出力部61および表示制御部63に出力する検証用データは、画像処理部53が画像処理すると基準不具合が発生するデータである。
【0066】
表示制御部63は、検証用データが入力されることに応じて、表示部118に通知画面を表示する。通知画面は、生成部59により生成された検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。
【0067】
出力部61は、表示制御部63により通知画面が表示される場合は操作部119が通知画面に含まれる出力を許可する操作を受け付けるボタンを指示する操作を受け付けることに応じて、検証用データを検証サーバー500に送信する。出力部61は、表示制御部63により通知画面が表示される場合は操作部119が通知画面に含まれる出力を許可する操作を受け付けるボタンを指示する操作を受け付けるまで、検証用データを検証サーバー500に送信しない。
【0068】
図5は、処理データから検証用データを作成する手順の一例を示す図である。
図5(A)は、処理データの分割の一例を示す図である。処理データ400は、縦横それぞれに10等分され、100個の分割部分を含む。図中のハッチングが付された6個の分割部分それぞれは、それに対して画像処理部53で画像処理が実行されると、不具合検出部55によって基準不具合が検出される分割部分を示す。ハッチングが付された6個の分割部分のうち任意の1つを含む中間データが生成される。ここでは、分割部分410を含む中間データが生成される場合を例に説明する。
【0069】
図5(B)は、分割部分と詳細部分の一例を示す図である。
図5(B)は、
図5(A)の処理データ400中の分割部分410を拡大して示している。分割部分410は、縦横それぞれに10等分され、100個の詳細部分を含む。図中のハッチングが付されていない詳細部分は、それに対して画像処理部53で画像処理が実行されると、不具合検出部55によって基準不具合が検出されない詳細部分を示す。したがって、図中のハッチングが付された複数の詳細部分が、検証用データの一部となる。
【0070】
図6は、第1の実施の形態における画像制御処理の流れの一例を示すフローチャートである。画像制御処理は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された画像制御プログラムを実行することにより、CPU171により実行される処理である。
図6を参照して、CPU171は、画像処理の対象となる処理データを取得する(ステップS01)。原稿読取部130が原稿を読み取る場合、原稿読取部130が原稿を読み取って出力する画像データを処理データとして受け付ける。通信I/F部160が、LAN3に接続されたPCからプリントジョブを受信する場合、プリントジョブに含まれるプリントデータを処理データとして受け付ける。通信I/F部160がインターネット5に接続されたWebサーバーからWebデータを受信する場合、Webデータを処理データとして受け付ける。また、HDD113に記憶されたデータをプリントする指示を受け付ける場合、HDD113に記憶されたデータを処理データとして受け付ける。
【0071】
次のステップS02においては、処理データを画像処理する(ステップS02)。そして、画像処理の不具合を検出したか否かを判断する(ステップS03)。画像処理プログラムを実行するタスクが、画像処理プログラムにより予め定められたエラーを検出する場合、不具合を検出する。不具合を検出したならば処理をステップS04に進めるが、そうでなければ処理をステップS12に進める。ステップS12においては、画像形成部140を制御して、画像処理した処理データの画像を用紙に形成し、処理を終了する。
【0072】
ステップS04においては、セキュリティ保護モードか否かを判断する。処理データにセキュリティ保護モードが設定されている場合、セキュリティ保護モードと判断する。セキュリティ保護モードならば処理をステップS05に進めるが、そうでなければ処理をステップS11に進める。ステップS11においては、通信I/F部160を制御して、検証サーバー500に処理データを送信し、処理を終了する。
【0073】
ステップS05においては、ステップS03において検出された不具合を基準不具合に設定する。不具合は、画像処理プログラムを実行するタスクが検出するエラーであるため、そのエラーのエラー識別情報を、基準不具合を示す不具合情報としてRAM175に記憶する。
【0074】
次のステップS06においては、検証用データ生成処理を実行し、処理をステップS07に進める。検証用データ生成処理の詳細は後述するが、処理データに基づいて生成されるデータであって、画像処理されると基準不具合と同じ不具合が発生する検証用データを生成する処理である。ステップS07においては、表示モードが設定されているか否かを判断する。表示モードは、ユーザーによりMFP100に予め設定される。表示モードが設定されているならば処理をステップS08に進めるが、そうでなければ処理をステップS10に進める。
【0075】
ステップS08においては、通知画面を表示し、処理をステップS09に進める。通知画面は、検証用データの画像と、出力を許可するユーザーによる操作を受け付けるボタンと、を含む。そして、ユーザーによる許可を受け付けたか否かを判断する(ステップS09)。通知画面に含まれる出力を許可するユーザーによる操作を受け付けるボタンを指示する操作を受け付けたならば、ユーザーによる許可を受け付ける。ユーザーによる許可を受け付けたならば処理をステップS10に進めるが、そうでなければ処理を終了する。ステップS10においては、通信I/F部160を制御して、検証用データを検証サーバー500に送信し、処理を終了する。
【0076】
図7は、検証用データ生成処理の流れの一例を示すフローチャートである。検証用データ生成処理は、
図6のステップS06において実行される処理である。検証用データ生成処理が実行される前の段階で、処理データが取得されており、基準不具合が設定されている。
図7を参照して、CPU171は、処理データを第1の個数に分割し(ステップS21)、処理をステップS22に進める。ここでは、処理データを、縦横それぞれ10等分し、100個の分割部分に分割する場合を例に説明する。
【0077】
ステップS22においては、100個の分割部分のうちから1つを処理対象に選択する。そして、選択された分割部分を画像処理する。そして、基準不具合を検出したか否かを判断する(ステップS24)。基準不具合を検出したならば処理をステップS25に進めるが、そうでなければ処理をステップS26に進める。ステップS25においては、処理対象の分割部分を中間データに設定し、処理をステップS28に進める。
【0078】
ステップS26においては、100個の分割部分のうちステップS22において処理対象に選択されていない分割部分が存在するか否かを判断する。未選択の分割部分が存在するならば処理をステップS22に戻すが、そうでなければ処理をステップS27に進める。ステップS27においては、分割数を小さな値に変更し、処理をステップS21に戻す。なお、分割数が最小の2となった場合には、分割数を小さな値に変更できないので、処理をステップS28に進める。この場合の中間データは、処理データと同じとなる。
【0079】
ステップS28においては、中間データを分割する。ここでは、中間データを、縦横それぞれ10等分し、100個の詳細部分に分割する場合を例に説明する。次のステップS29においては、100個の詳細部分のうちから1つを処理対象に選択する。そして、中間データを保管データとして一時記憶する(ステップS30)。次のステップS31においては、中間データから処理対象の詳細部分を削除し、処理をステップS32に進める。ステップS32においては、中間データを画像処理する。そして、基準不具合を検出したか否かを判断する(ステップS33)。基準不具合を検出したならば処理をステップS35に進めるが、そうでなければ処理をステップS34に進める。ステップS34においては、中間データに保管データを設定し、処理をステップS35に進める。これにより、中間データがステップS31において詳細部分が削除される前の状態に復元される。
【0080】
ステップS35においては、100個の詳細部分のうちステップS29において処理対象に選択されていない詳細部分が存在するか否かを判断する。未選択の詳細部分が存在するならば処理をステップS29に戻すが、そうでなければ処理をステップS36に進める。処理がステップS36に進む場合、中間データを分割した100個の詳細部分のうち、画像処理が実行されることにより、基準不具合と同じ不具合が発生する1以上の詳細部分を含む中間データが生成される。
【0081】
ステップS36においては、中間データを検証用データに設定し、処理をステップS37に進める。ステップS37においては、検証用データに対してぼかし処理を実行し、処理を画像制御処理に戻す。
【0082】
<変形例>
上述した第1の実施の形態におけるMFP100においては、処理データから基準不具合の発生する1つの分割部分を含む中間データを生成し、検証用データは分割部分から基準不具合の発生しない1以上の詳細部分を中間データから削除したデータとする。変形例におけるMFP100においては、処理データを複数の分割部分に分割し、複数の分割部分のうちから1以上を組合せた中間データであって、基準不具合が発生する中間データを検証用データとする。
【0083】
図8は、変形例におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。
図4に示した機能と異なる点は、生成部59が生成部59Aに変更された点である。その他の機能は、
図4に示した機能と同じなので、ここでは説明を繰り返さない。生成部59Aは、データ受付部51から入力される処理データに基づいて、処理データの少なくとも一部を含み、基準不具合と同じ不具合が発生する検証用データを生成する。生成部59Aは、確認部71Aと、分割部73と、中間データ生成部75Aと、ぼかし部77と、を含む。分割部73およびぼかし部77は、
図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0084】
中間データ生成部75Aは、分割部73によって生成された複数の分割部分の少なくとも1つを含む中間データを生成し、中間データを確認部71Aに出力する。中間データ生成部75Aは、選択部87を含む。選択部87は、分割部73により生成された複数の分割部分から分割部分を1以上選択する。中間データ生成部75Aは、選択された1以上の分割部分を含む中間データを生成する。
【0085】
確認部71Aは、不具合検出部55が基準不具合を検出して出力する不具合情報を基準エラー情報としてRAM175に記憶する。確認部71Aは、中間データ生成部75Aにより生成される中間データを画像処理部53に実行させ、不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、その中間データを検証用データに決定する。
【0086】
具体的には、選択部87は、選択数を決定し、複数の分割部分から選択数の分割部分を選択し、選択された選択数の分割部分を含む中間データを生成する。この場合、複数の分割部分のうちから選択数の分割部分の組合せの数だけ中間データが生成される。選択部87は、確認部71Aによって検証用データが決定されるまで、換言すれば、画像処理部53によりその中間データが画像処理されると、不具合検出部55によって基準不具合が検出される中間データが出現するまで、選択数を1から順に増加する。
【0087】
例えば、選択部87は、最初に選択数を1とし、複数の分割部分をそれぞれ含む複数の中間データを生成する。この場合、複数の分割部分の数と同じ数の中間データが生成される。確認部71Aは、中間データ生成部75Aにより生成される複数の中間データのいずれかにおいて、画像処理部53に画像処理させると不具合検出部55から基準エラー情報と同じ不具合情報が入力される場合、その中間データを検証用データに決定する。一方、確認部71Aは、中間データ生成部75Aにより生成される複数の中間データのいずれにおいても、画像処理部53に実行させても不具合検出部55から基準エラー情報と同じ不具合情報が入力されない場合、中間データ生成部75Aに再生成指示を出力する。
【0088】
中間データ生成部75Aは、確認部71Aから再生成指示が入力される場合、選択数を1つだけ増加した2とし、複数の分割部分のうちから2つを選択し、選択された2つの分割部分を含む中間データを生成する。この場合、複数の分割部分のうち2つの組合せの数と同じ数の中間データが生成される。このように、選択部87は、確認部71Aによって検証用データが決定されるまで、選択数を増加し、中間データを生成する。
【0089】
図9は、変形例における中間データ生成処理の流れの一例を示すフローチャートである。変形例における検証用データ生成処理は、
図6のステップS06において実行される処理である。変形例における検証用データ生成処理が実行される前の段階で、処理データが取得されており、基準不具合が設定されている。
図9を参照して、CPU171は、処理データを複数の分割部分に分割し(ステップS41)、処理をステップS42に進める。ここでは、処理データを、縦横それぞれ10等分し、100個の分割部分に分割する場合を例に説明する。
【0090】
ステップS42においては、選択数に「1」を設定し、処理をステップS43に進める。選択数は、分割部分を選択する数を示す変数である。ステップS43においては、選択数と同じ数の分割部分の組を決定し、処理をステップS44に進める。選択数が1の場合には、1つの分割部分を含む組を、分割部分の数だけ決定する。ステップS44においては、複数の組のうちから処理対象となる組を選択し、処理をステップS45に進める。ステップS45においては、処理対象に選択された組に含まれる1以上の分割部分を含む中間データを生成し、処理をステップS46に進める。
【0091】
ステップS46においては、中間データを画像処理し、処理をステップS47に進める。ステップS47においては、基準不具合が検出されたか否かを判断する。基準不具合が検出されたならば処理をステップS48に進めるが、そうでなければ処理をステップS50に進める。ステップS48においては、中間データを検証用データに設定し、処理をステップS49に進める。ステップS49においては、検証用データに対してぼかし処理を実行し、処理を画像制御処理に戻す。
【0092】
一方、ステップS50においては、処理対象に選択されていない組が存在するか否かを判断する。未選択の組が存在するならば処理をステップS44に戻すが、そうでなければ処理をステップS51に進める。ステップS51においては、選択数をインクリメントし、処理をステップS43に戻す。選択数がN(Nは0以上の整数)の場合は、複数の分割部分から選択されたN個を含む組を組合せの数だけを決定する。ステップS43においては、複数の分割部分からN個を選択し、選択されたN個の分割部分を含む組を、分割部分の組合せの数だけ決定する。分割部分の組合せの数は、100個の分割部分からN個を組合せる数である。
【0093】
以上説明したように、第1の実施の形態におけるMFP100は、情報処理装置として機能し、画像処理部53が画像データを画像処理している間の不具合が検出される場合に、画像データの少なくとも一部を含み、画像処理部53が画像処理すると画像データを画像処理して発生する不具合と同じ基準不具合が発生する検証用データを生成する。このため、不具合を再現可能な検証用データを生成することができる。また、画像データが機密情報を含む場合にその機密情報が含まれない検証用データを生成することができる。
【0094】
また、MFP100は、画像処理に不具合が検出される場合、画像データを分割した複数の分割部分の少なくとも1つを含む中間データを生成し、画像処理して基準不具合が発生することが確認された中間データを検証用データとして生成する。このため、検証用データを容易に生成することができる。
【0095】
また、MFP100は、画像データを第1の個数の分割部分に分割し、第1の個数の分割部分のうちから選択された1つの分割部分のみを含む第1の個数の中間データを生成し、第1の個数の中間データのいずれにおいても基準不具合が発生することが確認されない場合、画像データを第1の個数より小さい第2の個数の分割部分に分割する。このため、画像データを画像処理する場合と同じ不具合が発生する中間データを容易に生成することができる。
【0096】
さらに、MFP100は、基準不具合が発生することが確認された中間データに含まれる分割部分を複数の詳細部分に分割し、複数の詳細部分のうちから選択された1つを中間データから削除し、詳細部分が削除された後の中間データを画像処理する場合に、基準不具合が発生することが確認されない場合、中間データを詳細部分が削除される前の状態に復元し、詳細部分が削除された後の中間データを画像処理する場合に、基準不具合が発生することが確認される場合は、詳細部分が削除された後の中間データを検証用データに決定する。このため、中間データから基準不具合の発生の原因とならない詳細部分を中間データから削除するので、検証用データの情報量をできるだけ小さくすることができる。
【0097】
また、MFP100は、検証用データにぼかし処理を実行するので、検証用データの情報量をできるだけ小さくして、画像データの再現をできるだけ困難にすることができる。
【0098】
また、MFP100は、出力の許可を示す操作がユーザーにより入力される場合に、検証用データを生成し、出力の許可を示す操作がユーザーにより入力されない場合に検証用データを生成しないので、処理の負荷を低減することができる。
【0099】
また、MFP100は、検証用データを画像データに代えて検証サーバー500に送信するので、外部の検証サーバー500で不具合を再現可能な検証用データを生成することができる。また、画像データが機密情報を含む場合に外部の検証サーバー500に機密情報が漏洩する確率を低くすることができる。
【0100】
また、MFP100は、検証用データを検証サーバー500に送信する前に、検証用データの画像を表示するので、ユーザーに外部の検証サーバー500に送信されるデータを通知することができる。また、出力の許可を示す操作がユーザーにより入力されるまで検証用データを検証サーバー500に送信しないので、ユーザーは、画像データに含まれる機密が外部に流出しないようにすることができる。
【0101】
変形例におけるMFP100は、画像データを第1の個数の分割部分に分割し、複数の分割部分のうちから第1の個数の分割部分を選択し、選択された第1の個数の分割部分のみを含む複数の中間データを生成し、複数の中間データのいずれかで基準不具合が発生することが確認される場合には、その中間データを検証用データに決定し、複数の中間データのいずれにおいても画像処理した場合基準不具合が発生することが確認されない場合、複数の分割部分のうちから第1の個数より大きな第2の個数の分割部分を選択し、選択された第2の個数の分割部分のみを含む複数の中間データを生成する。このため、画像データ中で、画像データを画像処理する場合と同じ不具合が発生する中間データを容易に生成することができる。検証用データを外部に送信する場合には、MFP100と内部サーバー200以外に機密が漏洩するのを防止することができる。
【0102】
<第2の実施の形態>
第1の実施の形態においては、MFP100が検証用データを生成する機能を有するが、第2の実施の形態における情報処理システム1は、内部サーバー200が、MFP100に代わって、検証用データを生成する機能を有するようにしたものである。
【0103】
第2の実施の形態における情報処理システム1の全体概要は、
図1に示した全体概要と同じである。第2の実施の形態におけるMFP100のハードウェア構成は、
図2および
図3に示したブロック図と同じである。
【0104】
図10は、本実施の形態における内部サーバーのハードウェア構成の概要の一例を示すブロック図である。
図10を参照して、内部サーバー200は、内部サーバー200の全体を制御するための中央演算装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM202と、CPU201の作業領域として使用されるRAM203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をネットワーク3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
【0105】
表示部206は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置である。操作部207は、キーボードなどのハードキーである。また、操作部207は、タッチパネルであってもよい。タッチパネルは、表示部206の上面または下面に表示部206に重畳して設けられる。タッチパネルは、表示部206の表示面中でユーザーにより指示された位置を検出する。
【0106】
通信部205は、CPU201をネットワーク3に接続するためのインターフェースである。通信部205は、TCPまたはUDP等の通信プロトコルで、ネットワークに接続されたMFP100と通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。内部サーバー200に、MFP100のIP(Internet Protocol)アドレスを登録しておくことにより、内部サーバー200は、MFP100と通信することができ、データの送受信が可能となる。
【0107】
HDD204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、HDD204に記録されたプログラムを、RAM203にロードして実行する。
【0108】
外部記憶装置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)などの半導体メモリであってもよい。
【0109】
また、CPU201が実行するプログラムは、CD−ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピューターが、HDD204に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、内部サーバー200が、ネットワーク3またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0110】
第2の実施の形態における内部サーバー200は、MFP100をシミュレートするシミュレータを備えている。
【0111】
図11は、第2の実施の形態における内部サーバーが備えるシミュレータの概要の一例を示す図である。このシミュレータは、CPU201がシミュレートプログラムを実行することにより、CPU201に形成される。
図11を参照して、シミュレータは、CPU周辺シミュレータ300と、ハードウェア(HW)シミュレータ320と、を含む。CPU周辺シミュレータ300は、MFP100が備えるCPU171をシミュレートする仮想CPU301と、ROM173およびRAM175をエミュレートする仮想メモリ303と、周辺モデル305と、同期設定モデル307と、割込制御部309と、を含む。仮想CPU301、仮想メモリ303、周辺モデル305および同期設定モデル307は、バス(Bus)311に接続されている。
【0112】
周辺モデル305は、MFP100が備えるHDD113、操作パネル115、通信I/F部160および外部記憶装置180をそれぞれエミュレートするHDD113A、操作パネル115A、通信I/F部160Aおよび外部記憶装置180Aを含む。
【0113】
同期設定モデル307は、仮想CPU301が、仮想メモリ303および周辺モデル305と同期するための設定をする。割込制御部309は、仮想CPU301が仮想メモリ303および周辺モデル305と同期するための設定時に、仮想CPU301に割り込みを発生させる。
【0114】
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を含む。
【0115】
図12は、第2の実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。
図12に示す機能は、MFP100が備えるCPU171が、ROM173、HDD113またはCD−ROM181に記憶された装置側画像制御プログラムを実行することにより、CPU171により実現される機能である。装置側画像制御プログラムは、画像制御プログラムの一部である。
図12を参照して、
図4に示した機能と異なる点は、生成部59が、検証依頼部59Bに変更された点である。その他の機能は、
図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0116】
検証依頼部59Bは、データ受付部51から処理データが入力される。検証依頼部59Bは、処理データ送信部91と、装置情報送信部93と、検証用データ受信部95と、を含む。処理データ送信部91は、不具合検出部55から不具合情報が入力されることに応じて、通信I/F部160を制御して、処理データと不具合情報とを内部サーバー200に送信する。
【0117】
装置情報送信部93は、不具合検出部55から不具合情報が入力されることに応じて、装置情報を生成し、生成された装置情報を、通信I/F部160を制御して内部サーバー200に送信する。装置情報は、MFP100に搭載されているCPU171に関する情報、MFP100にインストールされたハードウェア資源に関するハード情報と、MFP100にインストールされたソフトウェア資源に関するソフト情報と、を含む。CPU171に関する情報は、CPU171の機種名を含む。ハード情報は、ハードウェア資源を識別するためのハード識別情報と、ハードウェア資源を制御するために設定されているハードパラメータとを含む。ハード情報は、ハードウェア資源が複数の場合には、複数のハードウェア資源ごとに、ハード識別情報とハードパラメータとを含む。ソフト情報は、MFP100にインストールされているプログラムのプログラム名と、そのプログラムを実行するために設定されているソフトパラメータと、を含む。
【0118】
処理データ送信部91が内部サーバー200に処理データと不具合情報とを送信した後、内部サーバー200が検証用データを返信する場合がある。検証用データ受信部95は、通信I/F部160が内部サーバー200から検証用データを受信する場合、検証用データを取得し、出力部61および表示制御部63に出力する。
【0119】
図13は、第2の実施の形態における内部サーバーが備えるCPUが有する機能の一例を示すブロック図である。
図13に示す機能は、内部サーバー200が備えるCPU201が、ROM202、HDD204またはCD−ROM209に記憶されたサーバー側画像制御プログラムを実行することにより、CPU201により実現される機能である。サーバー側画像制御プログラムは、画像制御プログラムの一部である。
【0120】
図13を参照して、内部サーバー200が備えるCPU201は、装置情報取得部251と、処理データ受信部253と、シミュレート部255と、仮想不具合検出部257と、サーバー側生成部259と、検証用データ送信部261と、を含む。
【0121】
装置情報取得部251は、MFP100から装置情報を取得する。上述したように、MFP100は、処理データの画像処理で不具合が検出される場合に、装置情報を送信する。装置情報取得部251は、通信部205がMFP100から装置情報を受信すると、通信部205が受信した装置情報を取得する。装置情報取得部251は、装置情報を取得する場合、装置情報をシミュレート部255に出力する。
【0122】
処理データ受信部253は、MFP100から処理データと不具合情報とを取得する。MFP100は、装置情報とともに処理データと不具合情報を送信するので、通信部205がMFP100から処理データと不具合情報を受信すると、通信部205が受信した処理データと不具合情報とを取得する。処理データ受信部253は、処理データと不具合情報とを取得する場合、処理データと不具合情報とをサーバー側生成部259に出力する。
【0123】
シミュレート部255は、装置情報取得部251から入力される装置情報に基づいてMFP100をシミュレートし、処理データ受信部253から入力される処理データを画像処理する。まず、シミュレート部255は、装置情報に基づいて、MFP100に装着されたハードウェア資源を設定し、MFP100のCPU171が実行するソフトウェア資源を仮想CPU301に実行させ、ハードパラメータを設定する。
【0124】
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は、エミュレートするハードウェア資源との同期を設定する。例えば、
図11に示したCPU周辺シミュレータ300の同期設定モデル307に、仮想CPU301が、ハードウェア資源のエミュレータと同期するように仮想CPU301のレジスタ値を設定させるとともに、仮想メモリ303のメモリマップを書き換える。
【0125】
また、シミュレート部255は、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想CPUが実行する状態に設定し、装置情報に含まれる設定値を設定する。具体的には、シミュレート部255は、装置情報に含まれるソフト情報で定められたソフトウェア資源をインストールし、装置情報に含まれる設定値を設定する。これにより、シミュレート部255において、MFP100をシミュレートした仮想装置が完成する。なお、MFP100のRAM175に記憶されたデータをスナップショットとして取得し、仮想メモリ303に記憶するようにしてもよい。
【0126】
仮想不具合検出部257は、シミュレート部255が画像処理を実行中に発生する不具合を検出する。シミュレート部255は、仮想CPU301が画像処理プログラムを実行する画像処理タスクおよび画像制御ASIC177をエミュレートするエミュレータである。仮想不具合検出部257は、画像処理タスクが、画像処理プログラムにより予め定められたエラーを検出する場合に、不具合を検出する。画像処理プログラムにより予め定められたエラーは、画像処理タスクが画像処理を開始してから予め定められた時間が経過するタイムアウトエラーを含む。予め定められた時間は、例えば、画像処理の対象となるデータのデータ量に比例する時間としてもよい。仮想不具合検出部257は、不具合を検出する場合、検出された不具合を特定するための不具合情報をサーバー側生成部259に出力する。不具合情報は、画像処理プログラムにより予め定められたエラーを識別するためのエラー識別情報を含む。
【0127】
サーバー側生成部259は、処理データ受信部253から入力される処理データに基づいて、画像処理タスクにより画像処理されると仮想不具合検出部257により検出された不具合と同じ不具合が発生する検証用データを生成する。サーバー側生成部259は、確認部71と、分割部73と、中間データ生成部75と、ぼかし部77と、を含む。確認部71と、分割部73と、中間データ生成部75と、ぼかし部77は、
図4に示した第1の実施の形態におけるMFP100が備えるCPU171が有する機能として示した確認部71と、分割部73と、中間データ生成部75と、ぼかし部77とそれぞれ同じである。したがって、ここでは説明を繰り返さない。
【0128】
検証用データ送信部261は、確認部71から検証用データが入力されることに応じて、通信部205を制御して、検証用データをMFP100に送信する。
【0129】
図14は、第2の実施の形態における画像制御処理の流れの一例を示すフローチャートである。
図14を参照して、
図6に示した第1の実施の形態における画像制御処理と異なる点は、ステップS06に代えて、ステップS06A〜ステップS06Cが実行される点である。その他の処理は、
図6に示した処理と同じなので、ここでは説明を繰り返さない。
【0130】
CPU171は、ステップS06Aにおいて、通信I/F部160を制御して、ステップS01において取得された処理データと、ステップS05において設定された基準不具合を特定するための基準不具合情報と、を内部サーバー200に送信する。次のステップS06Bにおいては、通信I/F部160を制御して、装置情報を内部サーバー200に送信する。次のステップS06Cにおいては、通信I/F部160を制御して、内部サーバー200から検証用データを受信するまで待機状態となり、検証用データを受信したならば処理をステップS07に進める。
【0131】
図15は、サーバー側検証用データ生成処理の流れの一例を示すフローチャートである。サーバー側検証用データ生成処理は、内部サーバー200が備えるCPU201が、サーバー側検証用データ生成プログラムを実行することにより、CPU201により実行される処理である。サーバー側検証用データ生成プログラムは、画像制御プログラムの一部である。
図15を参照して、内部サーバー200が備えるCPU201は、通信部205を制御して、MFP100から処理データと不具合情報とを受信したか否かを判断する(ステップS201)。処理データと不具合情報とを受信するまで待機状態となり(ステップS201でNO)、処理データと不具合情報とを受信したならば(ステップS201でYES)、処理をステップS202に進める。
【0132】
ステップS202においては、ステップS201において受信された不具合情報を基準不具合情報に設定し、処理をステップS203に進める。ステップS203においては、通信部205を制御して、MFP100から装置情報を受信する。そして、
図7に示した検証用データ生成処理を実行し(ステップS204)、処理をステップS205に進める。ステップS205においては、通信部205を制御して、MFP100に検証用データを送信し、処理を終了する。
【0133】
なお、第2の実施の形態において、内部サーバー200がMFP100の全体をシミュレートするようにしたが、MFP100において画像処理を担当するCPU171および画像制御ASICをシミュレートするようにしてもよい。具体的には、
図11において、周辺モデル305は、不要であり、HWシミュレータ320において、ハードウェア資源モデル325は不要である。
【0134】
以上説明したように、第2の実施の形態における内部サーバー200は、情報処理装置として機能し、MFP100が画像データを画像処理している間の不具合が検出される場合に、MFP100をシミュレートして、画像データの少なくとも一部を含み、画像処理部53が画像処理すると画像データを画像処理して発生する不具合と同じ基準不具合が発生する検証用データを生成する。このため、不具合を再現可能な検証用データを生成することができる。また、画像データが機密情報を含む場合にその機密情報が含まれない検証用データを生成することができる。
【0135】
なお、上述した第1および第2の実施の形態においては、情報処理装置の一例としてMFP100、または内部サーバー200を例に示したが、
図6および
図7、または
図6および
図9に示した画像制御処理を、MFP100に実行させる画像制御方法、また、その画像制御方法をMFP100が備えるCPU171に実行させる画像制御プログラムとして発明を捉えること、および、
図15および
図7、または
図15および
図9に示したサーバー側検証用データ生成処理を内部サーバー200に実行させる画像制御方法、また、その画像制御方法を内部サーバー200が備えるCPU201に実行させる画像制御プログラムとして発明を捉えること、ができるのは言うまでもない。
【0136】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0137】
<付記>
(1) 前記不具合検出手段は、前記画像処理が前記画像データを符号化する処理の場合、画像データを符号化した符号データを復号した復号データと、前記画像データとが一致しない不具合を検出する、請求項1〜10のいずれかに記載の情報処理装置。
(2) 前記不具合検出手段は、前記画像処理が前記画像データの処理速度が所定の値より小さい不具合を検出する、請求項1〜10および(1)のいずれかに記載の情報処理装置。
(3) 前記不具合検出手段は、前記画像データを前記画像処理した後のデータのデータ量が予め定められた上限値を超える不具合を検出する、請求項1〜10、(1)および(2)のいずれかに記載の情報処理装置。