図1は、本実施例に係る画像処理装置1の全体構成を示すブロック図である。図1に示すように、本実施例に係る画像処理装置1は、コントローラ100、ADF(Auto Document Feeder:原稿自動搬送装置)101、スキャナユニット102、排紙トレイ103、ホストI/F104、ディスプレイパネル105、給紙テーブル106、プリントエンジン107、排紙トレイ108、暗号化/復号化部109、HDD(Hard Disk Drive)110及びEEPROM(Electronically Erasable and Programmable ROM)120を有する。また、コントローラ100は、主制御部111、エンジン制御部112、入出力制御部113、画像処理部114、鍵管理部115、データ変換部116、HDDコントローラ117、EEPROMコントローラ118及び予備記憶領域119を有する。尚、図1においては、電気的接続を実線の矢印で示しており、用紙若しくは文書束の流れを破線の矢印で示している。
ホストI/F104は、画像処理装置1がホスト装置等の他の機器と通信する際のインターフェースである。ホスト装置が送信した印刷ジョブは、ホストI/F104を介してコントローラ100に入力され、コントローラ100の制御に従って印刷ジョブに基づいた画像形成処理が実行される。ディスプレイパネル105は、画像処理装置1の状態を視覚的に表示する出力インターフェースであると共に、タッチパネルとしてユーザが画像処理装置1を直接操作する際の入力インターフェースでもある。暗号化/復号化部109は、動作を制御するマイコン、RAM等の主記憶装置及びその主記憶装置上で動作する暗号化/復号化制御プログラムを有する。暗号化/復号化部109は、コントローラ100からHDD110に格納される情報を暗号化し若しくはHDD110からコントローラ100に読み出される情報を復号化する。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM(Read Only Memory)やEEPROM120並びにHDD110や光学ディスク等の不揮発性記憶媒体に格納されたファームウェア等の制御プログラムが、DRAM(Dynamic Random Access Memory)等の揮発性メモリ(以下、メモリ)にロードされ、CPU(Central Processing Unit)の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ100が構成される。コントローラ100は、画像処理装置1全体を制御する制御部として機能する。
主制御部111は、コントローラ100に含まれる各部を制御する役割を担い、コントローラ100の各部に命令を与える。エンジン制御部112は、プリントエンジン107やスキャナユニット102等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部113は、ホストI/F104を介して入力される印刷ジョブやディスプレイパネル105からユーザによって入力される操作情報を主制御部111に入力すると共に、主制御部111の命令に従ってディスプレイパネル105に情報表示を行い若しくはホストI/F104を介してホスト装置に情報を送信する。画像処理部114は、主制御部111の制御に従い、印刷ジョブに含まれる情報やHDD110に格納されている蓄積文書等に基づいて描画情報を生成する。この描画情報とは、プリントエンジン107が画像形成動作において形成すべき画像を描画するための情報である。また、画像処理部114は、スキャナユニット102から入力される撮像データを処理し、画像データを生成する。この画像データとは、スキャナ動作の結果物としてHDD110に格納され若しくはホストI/F104を介してホスト装置に送信される情報である。画像処理部114は、生成した描画情報若しくは画像情報を順次HDDコントローラ117に送信する。HDDコントローラ117に送信された描画情報は、HDD110にスプールされる。
鍵管理部115は、暗号化/復号化部109が情報を暗号化する際に用いる暗号化鍵及び情報を復号化する際に用いる復号化鍵(以降、暗号化/復号化鍵とする)を記憶し管理している。ここで、暗号化/復号化部109が用いる暗号化方式によっては、暗号化鍵と復号化鍵とが同一となることもある(例えば、共通鍵暗号方式の場合)。このような場合、暗号化/復号化部109は暗号化/復号化鍵として一の共通鍵を記憶及び管理する。この他、暗号化鍵と復号化鍵とが一対の異なる鍵である場合、鍵管理部115は暗号化鍵及び復号化鍵を夫々記憶及び管理する。データ変換部116は、鍵管理部115が管理する暗号化/復号化鍵が変更された場合に、HDD110に格納されている情報を変更後の暗号化/復号化鍵に対応させるために変換する情報変換部として動作する。データ変換部116については後に詳述する。
HDDコントローラ117は、主制御部111の制御に従い、HDD110への情報の格納及びHDD110からの情報の読み出しを制御する。また、HDDコントローラ117は、HDD110の接続有無及びHDD110の状態をチェックする役割も担う。上述した通り、HDD110への情報の格納は暗号化/復号化部109を介して行われる。従って、HDDコントローラ117は、鍵管理部115に記憶されている暗号化鍵を取得し、主制御部111から情報の格納命令を受信すると、格納すべき情報と暗号化鍵とを暗号化/復号化部109に送信する。また、HDDコントローラ117は、鍵管理部115に記憶されている復号化鍵を取得し、主制御部111から情報の読出し命令を受信すると、情報の読出し命令と復号化鍵とを暗号化/復号化部109に送信する。HDD110には、ホストI/F104を介して接続されているホスト装置のネットワークアドレス情報や画像処理装置1がファクシミリとして動作する場合の送信先情報等のアドレス帳及び画像処理装置1の各種動作において参照される設定値等が格納されている。
EEPROMコントローラ118は、主制御部111の制御に従い、EEPROM120への情報の格納及びEEPROM118からの情報の読み出しを制御する。EEPROM120には、上述した制御プログラムや画像処理装置1の動作において参照されるフラグ情報等が格納される。予備記憶領域119は、主制御部111の制御に基づき、本実施例においてHDD110が使用不能となった場合に、擬似的にHDD110に代わって補助記憶領域としての役割を果たす。予備記憶領域119は、コントローラ100を構成する制御プログラムが動作するDRAM等の揮発性メモリにおける未使用の領域に生成される。予備記憶領域119の生成に際しては、主制御部111が揮発性メモリの未使用領域を、NTFS(NT File System)やFAT(File Allocation Tables)等のHDD110と同等のフォーマット方式に基づいてフォーマットする。これにより、揮発性メモリの未使用領域が、擬似的にHDDに見せかけられる。即ち、この場合において主制御部111は、揮発性メモリの未使用領域を擬似的にHDDフォーマットする擬似フォーマット部として機能する。換言すると、主制御部111は、不揮発性メモリ中にHDD110と同様に情報を格納することが可能な予備領域119を生成する格納領域生成部として動作する。
画像処理装置1がプリンタとして動作する場合は、まず、入出力制御部113がホストI/F104に接続されたUSB(Universal Serial Bus)やLAN(Local Area Network)を介して印刷ジョブを受信すると、画像処理部114が主制御部111の命令に従い、印刷ジョブ若しくはHDD110に含まれる蓄積文書等の情報に基づいて描画情報を生成する。画像処理部114によって生成された描画情報は、上述したように順次HDD110にスプールされる。即ち、主制御部111が描画情報をHDD110に格納する情報格納部として動作する。
エンジン制御部112は、主制御部111の制御に従い、給紙テーブル106を駆動して印刷用紙をプリントエンジン107に搬送する。また、エンジン制御部112は、HDD110にスプールされた描画情報を読み出し、プリントエンジン107に入力する。プリントエンジン107は、エンジン制御部112から受信した描画情報に基づき、給紙テーブル106から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン107が画像形成部として動作する。プリントエンジン107の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン107によって画像形成が施された文書は排紙トレイ108に排紙される。
画像処理装置1がスキャナとして動作する場合は、ユーザによるディスプレイパネル105の操作若しくはホストI/F104を介して外部のホスト装置から入力されるスキャン実行指示に応じて入出力制御部113が主制御部111にスキャン実行信号を送信する。主制御部111は、入出力制御部113から受信したスキャン実行信号に基づき、エンジン制御部112を制御する。エンジン制御部112は、ADF101を駆動し、ADF101にセットされた撮像対象原稿をスキャナユニット102に搬送する。また、エンジン制御部112は、スキャナユニット102を駆動し、ADF101から搬送される原稿を撮像する。また、ADF101に原稿がセットされておらず、スキャナユニット102に直接原稿がセットされた場合、スキャナユニット102は、エンジン制御部112の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット102が撮像部として動作する。
撮像動作においては、スキャナユニット102に含まれるCCD等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部112は、スキャナユニット102が生成した撮像情報を画像処理部114に転送する。画像処理部114は、主制御部111の制御に従い、エンジン制御部112から受信した撮像情報に基づき画像情報を生成する。画像処理部114が生成した画像情報は順次HDD110にスプールされる。画像処理部114によって生成され、HDD110にスプールされた画像情報は、ユーザの指示に応じてHDD110に格納され若しくは入出力制御部113及びホストI/F104を介して外部のホスト装置に送信される。また、画像処理装置1が複写機として動作する場合は、エンジン制御部112がスキャナユニット102から受信した撮像情報若しくは画像処理部114が生成しHDD110に格納された画像情報に基づき、画像処理部114が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部112がプリントエンジン107を駆動する。
次に、本実施例に係る暗号化/復号化鍵の変更及びデータ変換動作について説明する。図2は、本実施例に係る画像処理装置1において、暗号化/復号化鍵の変更が指示され、データ変換部116にデータ変換動作(情報変換動作)が行われた後、暗号化/復号化鍵の変更が完了するまでの流れを示すフローチャートである。図2に示すように、先ず鍵管理部115に新しい暗号化/復号化鍵(図2中において“新鍵”と記載する)が入力される(S201)。鍵管理部115への新しい暗号化/復号化鍵の入力は、例えばユーザによるディスプレイパネル105の操作や鍵管理部115若しくは主制御部111によって自動的に実効される場合等がある。
鍵管理部115に新しい暗号化/復号化鍵が入力され、鍵の変更が指示されると、EEPROM120に格納されているデータ変換実行フラグがONに書き換えられる(S202)。このフラグ書き換えは、主制御部111若しくは鍵管理部115によって行われる。その後、任意のタイミングでHDDコントローラ117にHDD状態チェック命令が入力されると、HDDコントローラ117はそのHDD状態チェック動作においてEEPROM120内のデータ変換実行フラグを確認し(S203)、フラグがONである場合、データ変換部116に対してデータ変換命令を送信する。これにより、データ変換動作が実行される(S204)。データ変換動作が完了し、データ変換部116から鍵管理部にその通知がなされると、鍵管理部115は変更前の暗号化/復号化鍵(図2中において“旧鍵”と記載する)を破棄する(S205)。また、データ変換部116は、データ変換動作の完了に応じて、EEPROM120に格納されているデータ変換実行フラグをOFFに書き換える(S206)。この後、任意のタイミングにおいてHDD状態チェックが実行され(S207)、データ変換実行フラグがOFFとなっていることが確認されることにより、処理が終了する。
次に、データ変換部116によるデータ変換動作について説明する。図3は、本実施例に係るデータ変換動作を示すシーケンス図である。図2において説明したように、本実施例に係るデータ変換動作は、HDDコントローラ117からデータ変換部116にデータ変換命令が送信されたことをきっかけとして実行される。HDD状態チェックが実行され(S301)、EEPROM120に格納されているデータ変換実行フラグがONとなっていることが確認されると、HDDコントローラ117は、データ変換部116に対してデータ変換命令を送信する(S302)。
データ変換部116は、データ変換命令を受信すると、鍵管理部115から変更前の復号化鍵(図3中において“旧鍵”と記載する)及び変更後の暗号化鍵(図3中において“新鍵”と記載する)を取得する(S303)。そして、データ変換部116は、HDDコントローラ117に対して情報の読み出しを指示する(S304)。この時、S302において取得した復号化鍵も同時に送信する。データ変換部116から情報読出しの指示を受けたHDDコントローラ117は、暗号化/復号化部109に対して情報読出し命令及び復号化鍵を送信する(S305)。暗号化/復号化部109は、HDDコントローラ117の命令に従って、HDD110から情報を読み出し(S306)、当該読み出した情報をS304において受信した復号化鍵を用いて復号化する(S307)。
暗号化/復号化部109は、S306において復号化した情報を読み出し情報としてHDDコントローラ117に送信する(S308)。HDDコントローラ117を介してHDD100から読み出された情報は、コントローラ100に含まれる作業領域に一時的に保存される。HDDコントローラ117は、情報読み出しが完了すると、データ変換部116に対して読み出し完了通知を送信する(S309)。データ変換部116は、S308において読み出された情報を再度HDD110に書き込むように、情報書き込み命令を送信する(S310)。この時、S302において取得した暗号化鍵も同時に送信される。データ変換部116から情報書き込みの指示を受けたHDDコントローラ117は、暗号化/復号化部109に対して書き込むべき情報(保存情報)、情報書き込み命令並びに暗号化鍵を送信する(S311)。
HDDコントローラ117からS310において含まれる情報を受信した暗号化/復号化部109は、当該受信した保存情報を、暗号化鍵を用いて暗号化する(S312)。暗号化/復号化部109は、暗号化鍵を用いて暗号化した保存情報をHDD110に送信し、HDD110に情報が書き込まれる(S313)。ここで、HDD110から暗号化/復号化部109へ適宜書き込み完了信号が送信される。暗号化/復号化部109は、S312において保存情報の書き込みが完了すると、書き込み完了をHDDコントローラ117に通知する(S314)。HDDコントローラ117は、暗号化/復号化部109からの書き込み完了通知を受けて、データ変換部116に書き込み完了を通知する(S315)。データ変換部116は、HDDコントローラ117からの書き込み完了通知を受けて、鍵管理部115に情報変換完了通知を送信する(S316)。鍵管理部115は、データ変換部116からの情報変換完了通知を受けて、変更前の暗号化/復号化鍵を破棄する(S317)。これにより、鍵管理部115が管理する暗号化/復号化鍵の変更が完了する。また、データ変換部116は、EEPROM120に格納されているデータ変換実行フラグをOFFに書き換える(S318)。
このように、本実施例に係る画像処理装置1においては、鍵管理部115に新しい暗号化/復号化鍵が与えられた場合、即ち、暗号化/復号化鍵の変更が指示された場合、HDD110に暗号化されて格納されている情報を復号化して読み出し、変更後の暗号化鍵を用いて再度暗号化して格納する。これにより、暗号化/復号化鍵が変更された場合に、HDD110に格納されている情報の復号化が不能となる事態を回避できる。尚、上記の説明においては、HDD110からの情報読み出し(S306)及びHDD110への情報書き込み(S313)が夫々1回実行される例を説明した。しかしながら、HDD110に格納されている情報量が、HDD100から読み出された情報を一時的に保存する作業領域の容量以上である場合は、当該容量に合わせて上記S304からS315までの処理が繰り返し実行される。この時、HDDコントローラ117は、変更前の復号化鍵と変更後の暗号化鍵とを交互に使い分ける(S305、S311)。また、図3の例においては、S303において変更前の復号化鍵及び変更後の暗号化鍵を合わせて取得する例を説明したが、S304における情報読み出し指示及びS310における情報書き込み指示において取得するようにしても良い。
図3において説明したデータ変換動作の実行中においては、データ変換動作以外のHDDアクセスが不能となる。従って、HDD110に格納されている情報の参照、更新及び追加が不能となると共に、上述したような画像処理装置1のプリンタ動作若しくはスキャナ動作等における、HDD110への情報スプールも不能となる。本実施例に係る画像処理装置1においては、データ変換動作中においても、上記のプリンタ動作若しくはスキャナ動作を可能とすることをその要旨とする。
次に、図4を用いて図3のS201において言及したHDD110の状態監視動作について説明する。図4は本実施例に係るHDDコントローラ117によるHDD110の状態監視動作を示すフローチャートである。図4に示すように、HDDコントローラ117に対してHDD110の状態チェック要求が送信されると(S401)、HDDコントローラ117は、EEPROMコントローラ118を介してEEPROM120にアクセスし、データ変換実行フラグのON/OFFを参照する(S402)。S402のフラグチェックの結果、データ変換実行フラグがONであった場合(S403)、即ち、鍵管理部115に対して新しい暗号化/復号化鍵が与えられ、鍵の変更が指示されている場合、HDDコントローラ117は、データ変換部116に対してデータ変換命令を送信する(S404、図3においてはS302)。そして、HDDコントローラ117は、HDD110の接続有無を確認することなく、HDD110が未接続状態であるとして、S401においてHDD状態チェックを要求した要求元に応答する(S405)。
S403のフラグチェックの結果、データ変換実行フラグがOFFである場合(S403)、即ち、鍵の変更が指示されていない場合、HDDコントローラ117は続いてHDD110の接続有無を確認する(S406)。S405の確認の結果、HDD110が接続されている(接続有)場合(S407)、HDDコントローラ117は、HDD110が接続状態であるとして、S401においてHDD状態チェックを要求した要求元に応答する(S408)。他方、S405の確認の結果、HDD110が接続されていない場合(S407)、HDDコントローラ117は、HDD110が未接続状態であるとして、S401においてHDD状態チェックを要求した要求元に応答する(S409)。
このようなHDD状態チェック動作は、例えば画像処理装置1の起動時や、ユーザの指示及び主制御部111の制御による任意のタイミングにおいて実行される。このようなHDDコントローラ117の動作により、本実施例に係る画像処理装置1は、データ変換動作の実行に際し、HDD110が接続されていないものとして動作する。従って、本実施例に係る画像処理装置1は、データ変換動作の実行中においても、HDD110を用いない制限付きの状態にて、上述したプリンタ動作やスキャナ動作を実行することが可能となる。また、このような動作により、主制御部111、エンジン制御部112及び画像処理部114は、データ変換動作が実行中であるか否かを参照する必要がなく、HDDコントローラ117から通知されるHDD接続/未接続応答のみに基づいて動作態様を決定すれば良い。従って、主制御部111、エンジン制御部112及び画像処理部114が行うべき処理を簡略化することができると共に、既存の画像処理装置に対して容易に適用することが可能となる。
尚、上記HDD状態チェック要求信号は、鍵管理部115が、暗号化/復号化鍵の変更命令を受信したタイミング及び図3のS317において変更後の暗号化/復号化鍵が破棄され、データ変換が完了したタイミングにおいて、HDDコントローラ117にHDD状態チェック要求を送信するようにしても良い。これにより、暗号化/復号化鍵の変更が指示された場合に、即座に図3に示すデータ変換が実行されることとなり、鍵管理部115に新しい暗号化/復号化鍵が与えられたまま変更が完了しない状態の期間、即ち、鍵管理部115が2種類の暗号化/復号化鍵を保持する期間を短縮することが可能となる。また、データ変換が終了した場合には、即座に図4に示すHDD状態監視動作が実行され、HDD110へのアクセスが可能となる。
次に、本実施例に係る画像処理装置1の動作について説明する。図5は、本実施例に係る画像処理装置1において、HDD110が接続されており、且つデータ変換動作非実行中の動作(通常動作)を示すシーケンス図である。主制御部111がHDDコントローラ117に対して、HDD状態チェック要求を送信すると(S501)、HDDコントローラ117は図4において説明した動作を実行し、HDD110が接続され、使用可能であることを示すHDD接続応答を実行する(S502、図4におけるS408)。HDDコントローラ117からHDD接続応答を受信した主制御部111は、鍵管理部115から暗号化/復号化鍵(図5中において“鍵”と記載する)を取得し(S503)、HDDコントローラ117に対してS503で取得した暗号化/復号化鍵を設定する(S504)。これにより、HDDコントローラ117は、暗号化/復号化部109を介してHDD110に情報を格納し若しくはHDD110から情報を読み出すことが可能となる。
その後、入出力制御部113に印刷ジョブが入力され、主制御部111に印刷ジョブが入力されると(S505)、主制御部111は、画像処理部114に印刷ジョブを通知する(S506)。画像処理部114は受信した印刷ジョブに基づいて画像処理を実行し、プリントエンジン107に画像形成を実行させるための描画情報を生成する(S507)。そして、画像処理部114は、生成した描画情報をHDD110にスプールするため、HDDコントローラ117に送信する(S508)。エンジン制御部112は、主制御部111の制御に従ってHDDコントローラ117を介してHDD110から描画情報を読み出し(S509)、プリントエンジン107に入力して画像形成を実行させる(S510)。このように、本実施例に係る画像処理装置1は、HDD110が接続されており、且つデータ変換動作が実行されていない場合においては、画像処理部114が生成した描画情報をHDD110にスプールするため、連続して大量の描画情報を生成することが可能である。
次に、図6を参照して、HDD110が接続されていない場合の本実施例に係る画像処理装置1の動作(制限動作)について説明する。主制御部111がHDDコントローラ117に対して、HDD状態チェック要求を送信すると(S601)、HDDコントローラ117は図4において説明した動作を実行し、HDD110が未接続であることを示すHDD未接続応答を実行する(S602、図4におけるS409)。HDDコントローラ117からHDD未接続応答を受信した主制御部111は、画像処理部114及びエンジン制御部112に対してHDD未接続通知を送信する(S603)。これにより、画像処理部112及びエンジン制御部112は、HDD110にアクセスすることなく、以降の動作を実行する。
その後、入出力制御部113に印刷ジョブが入力され、主制御部111に印刷ジョブが入力されると(S604)、主制御部111は、画像処理部114に印刷ジョブを通知する(S605)。画像処理部114は受信した印刷ジョブに基づいて画像処理を実行し、プリントエンジン107に画像形成を実行させるための描画情報を生成する(S606)。そして、画像処理部114は、生成した描画情報を予備記憶領域119にスプールする(S607)。エンジン制御部112は、主制御部111の制御に従い、予備記憶領域119から描画情報を読み出し(S608)、プリントエンジン107に入力して画像形成を実行させる(S609)。このように、本実施例に係る画像処理装置1は、HDD110が接続されていない場合においても、予備記憶領域119を描画情報のスプール先として用いることにより、HDD110を用いない制限付きの状態にて、動作することが可能となる。
次に、図7を参照して、HDD110が接続されおり、且つデータ変換動作が実行される場合の本実施例に係る画像処理装置1の動作について説明する。図7に示すように、このような場合における主制御部111、画像処理部114及びエンジン制御部112の動作は図6に示す場合と概ね同様であり、説明を省略する。HDDコントローラ117は、主制御部111からHDDチェック要求(S701)を受信すると、図3、図4において説明したように、主制御部111に対してHDD未接続応答を返信すると共に(S702、図4におけるS405)、データ変換部116に対してデータ変換命令を送信する(図3におけるS302、図4におけるS404)。これにより、図3のS303以降のデータ変換動作が実行される(S710)。図7に示すように、S702以降、主制御部111、画像処理部114及びエンジン制御部112等の画像形成動作に係る構成と鍵管理部115及びHDDコントローラ117等のデータ変更動作に係る構成とは完全に独立して動作する。従って、画像処理装置1は、データ変換動作と画像形成動作とを並列して実行することが可能となる。尚、図7においては図示していないが、上記S710のデータ変更動作に係る構成には、図3に示すように、データ変換部116、暗号化/復号化部109及びHDD110も含まれる。
ここで、本実施例に係る画像処理装置1における、HDD110を用いない制限付きの状態について、更に詳細に説明する。上述した通り、HDD110には、ホスト装置のネットワークアドレス情報やアドレス帳及び画像処理装置1の各種設定値等が格納されている。従って、上記制限付きの状態においては、これらの情報の読み出し、更新及び追加等が不能となる。更に、上述したように、HDD110は、プリンタ動作及びスキャナ動作においても画像情報のスプール先としての役割を担うため、上記制限付きの状態においては、予備領域119をスプール先として用いる。ここで、RAM等の半導体メモリよりも、HDD110等のディスク記憶装置の方が一般的に大容量である。従って、図5に示すようにHDD110を描画情報のスプール先として用いることにより、連続して大量の描画データを生成することが可能となる。
他方、半導体メモリ上の予備領域119を描画情報のスプール先として用いる場合は、上述した記憶容量の理由から、HDD110の場合と比べてスプール先として確保可能な容量が少なくなることが一般的である。従って、画像処理装置114が予備記憶領域119の容量を超えて大量の描画情報を生成する場合、全ての情報を連続して生成することができない。即ち、画像処理部114は、予備領域119にスプール可能な容量の描画情報を生成した後、当該スプールされた描画情報がエンジン制御部112によって読み出され、予備領域119に空き領域ができるのを待って再度画像処理を開始する必要がる。このような場合、全ての描画情報を連続して生成可能な場合に比べて、描画情報の生成が完了するまでの間に時間がかかる。即ち、本実施例に係る画像処理装置1において、HDD110を用いない制限付きの状態とは、このように、HDD110にアクセス不能なために、描画情報の連続生成が不能となり、描画情報生成完了までに要する時間が長くなる状態を含む。
次に、図8を用いて、本実施例に係るデータ変換動作が終わった場合の動作を説明する。図8に示すように、データ変換動作が終了した状態(S801)において、任意のタイミングで主制御部111がHDDコントローラ117に対して、HDD状態チェック要求を送信する(S802)。図3のS318に示すように、データ変換動作終了時においては、既にEEPROM120内のデータ変換実行フラグはOFFに書き換えられているので、HDDコントローラ117は図4において説明した動作を実行し、HDD110が接続され、使用可能であることを示すHDD接続応答を実行する(S803、図4におけるS408)。HDDコントローラ117からHDD接続応答を受信した主制御部111は、鍵管理部115から暗号化/復号化鍵(図5中において“鍵”と記載する)を取得し(S804)、HDDコントローラ117に対してS804で取得した暗号化/復号化鍵を設定する(S805)。これにより、HDDコントローラ117は、暗号化/復号化部109を介してHDD110に情報を格納し若しくはHDD110から情報を読み出すことが可能となる。以降の動作は、図5の場合と同様に実行される。
以上説明したように、本実施例に係る画像処理装置1においては、暗号化鍵の変更に伴う情報変換中であっても画像処理動作可能な画像処理装置を提供することが可能となる。
尚、上記の例においては、図2に示すように、鍵管理部115に新しい暗号化/復号化鍵が与えられる場合、EEPROM120のデータ変換実行フラグが書き換えられ、HDDコントローラ117がそれを確認することによりデータ変換動作が開始される例を説明した。これにより、図4において説明したように、データ変換動作が開始される場合は、必ずHDDコントローラ117から主制御部111に対して、HDD110が接続されていない旨の通知がなされる。これにより、データ変換動作の実行中にHDD110へのアクセス命令が発生することを防ぐことが可能となる。この他、例えば、鍵管理部115に新しい鍵が与えられた場合には、鍵管理部115がデータ変換部116に対してデータ変換実行命令を送信すると共に、主制御部111に対してHDD110へのアクセスを禁止する旨の通知を行うようにしても良い。これにより、EEPROM120を設けることなく、上記と同等の効果を得ることが可能となる。他方、図4において説明したHDD状態チェック動作は既存の処理であり、上記説明した処理態様を用いることにより、既存の装置に対して容易に本実施例を適用することができるため、好ましい。
また、上記の説明においては、図7において説明したように、データ変換動作の実行開始において、主制御部111が画像処理部114及びエンジン制御部112に対してHDD未接続通知を送信することにより、HDD110にアクセスしない制限付き動作状態となる例を説明した。また、図8において説明したように、データ変換動作の完了後にHDD状態チェックが実行され、HDDコントローラ117から主制御部111にHDD接続応答がなされることにより、HDD110へのアクセスが可能となる例を説明した。しかしながら、コントローラ100を構成する制御プログラムやハードウェアの構成によっては、エンジン制御部112若しくは画像処理部114によるHDD110へのアクセス可否設定の変更に際して、画像処理装置1全体の再起動やコントローラ100の再起動が必要となる場合がある。
このような場合、例えばデータ変換動作の実行開始に際しては、図2のS202においてデータ変換実行フラグを書き換えた後、画像処理装置1若しくはコントローラ100を再起動することにより解決することができる。また、データ変換動作の完了に際しては、図2のS206においてデータ変換実行フラグを書き換えた後、同様に再起動を実行することにより解決することが可能となる。再起動の実行に際しては、例えばEEPROM120に対してデータ変換実行フラグの書き換えを指示した構成(主制御部111や鍵管理部115など)が、続いて再起動を指示することにより、実現可能である。尚、このような構成においては、画像処理装置1若しくはコントローラ100の起動時に、HDD状態チェック動作を実行することにより、HDD110へのアクセス可否を適正に設定することが可能となる。
また、上記の説明においては、暗号化/復号化部109がコントローラ100とは別に設けられ、コントローラ100とHDD110との間に接続される例を説明したが、コントローラ100の一部として構成されても良い。また、上記の説明においては、鍵管理部115が暗号化/復号化鍵を記憶している例を説明したが、HDDコントローラ117が鍵管理部115と同様の役割を担っても良い。また、暗号化/復号化部109に暗号化/復号化鍵を記憶しておいても良い。更に、上記の説明においては、暗号化/復号化部109がマイコンの制御によって動作する暗号化/復号化プログラムによって構成される例を説明したが、この他、例えばHDDコントローラ117から与えられる暗号化/復号化鍵に対応した信号に基づいて論理構成が切り換わり、与えられた情報を暗号化するようなハードウェア構成によって実現することも可能である。
また、上記の説明においては、ホスト装置のネットワークアドレスやアドレス帳及び装置の各種動作設定値を記憶しており、画像形成動作実行時に描画情報をスプールする補助記憶装置としてHDD110を例として説明した。しかしながら、例えばEEPROM120が上記HDD110と同様の役割を担い、コントローラ100とEEPROM120との間に暗号化/復号化部109を接続するような場合であっても、上記と同等の効果を得ることができる。この他、HDD110のような補助記憶装置としては、光学ディスク装置等を用いることができる。また、上記の説明においては、予備領域119として、コントローラ100を構成する制御プログラムが動作する揮発性メモリの未使用領域を用いる例を説明した。この他、例えばEEPROM120に予備領域119を生成しても良いし、制御プログラムが動作している揮発性メモリとは異なる揮発性メモリを用いても良い。
また、上記の説明においては、プリントエンジン107が画像形成を実行するための描画情報のスプール先として予備領域119を用いる例を説明した。この他、例えば、スキャナユニット102及び画像処理部114が生成した画像データを、ホストI/F104を介して外部のホスト装置に送信する場合において、画像処理部114が生成した画像情報のスプール先としても予備領域119を用いることが可能である。これにより、データ変換動作の実行中であっても、スキャナユニット102を駆動し、スキャンしたデータをホスト装置に送信することが可能となる。
また、上記の説明においては、コントローラ100とHDD110とが暗号化/復号化部109を介して接続され、HDD110に格納される情報は全て暗号化され若しくはHDD110から読み出される情報はすべて復号化される例を説明した。しかしながら、例えば上記画像形成実行時の描画情報や、スキャン実行後ホスト装置に送信される画像情報等のスプール情報は、恒久的にHDD110に保存される情報ではなく、一時的に保持されるに過ぎない。従って、このような情報まで暗号化する必要性は低い。HDDコントローラ117が、主制御部111の制御に従い、HDD110に格納する情報の暗号化の必要性有無を判断することにより、このような課題を解決することができる。
また、上記の説明においては、HDDコントローラ117によるHDD状態チェックの結果に基づき、主制御部111、エンジン制御部112及び画像処理部114に対して予めHDD110へのアクセス可否が設定される例を説明した。しかしながら、このように予め設定する場合以外であっても、例えば、主制御部111がHDD110にアクセスしようとした場合に、HDDコントローラ117がアクセスの可否を判断するようにしても良い。更には、描画情報のスプール命令である場合、当該描画情報をHDDコントローラ117が予備領域119に転送して格納することにより、上記と同等の効果を得ることが可能である。
実施例1においては、データ変換の実行中において、プリントエンジン107が画像形成を実行するための描画情報をスプールする場合や、スキャナユニット102がスキャンしたスキャンデータに基づいて生成された画像情報をホスト装置に送信する場合の画像情報のスプール等、一時的な記憶領域として予備領域119が用いられる場合の例を説明した。しかしながら、この場合、データ変換動作中において、既にHDD110に格納されている情報を読み出し、変更し若しくはHDD110に情報を追加することはできない。本実施例においては、データ変換動作中であっても、HDD110に格納されている情報を読み出し、変更し若しくはHDD110への情報の追加が可能な例を説明する。尚、実施例1と同様の符号を付す構成については実施例1と同一又は相当部を示し、説明を省略する。
本実施例に係る画像処理装置1は、図1に示す画像処理装置1と概ね同一の構成を有する。ここで、本実施例に係るHDDコントローラ117は、EEPROM120のデータ変換実行フラグがONである状態を確認すると、既にHDD110に格納されている情報を読み出し、予備領域119に一時的に保存する(退避する)機能を更に有する。これにより、データ変換動作中であっても、予備領域119に保存された情報(退避情報)を参照することにより、HDD110に格納されている情報を使用することが可能となる。
図9は、本実施例に係る画像処理装置1において、暗号化/復号化鍵の変更が指示され、データ変換部116によってデータ変換動作が行われた後、暗号化/復号化鍵の変更が完了するまでの流れを示すフローチャートであり、実施例1における図2に対応する。図9に示すように、本実施例に係る画像処理装置1は、HDD状態チェック動作の実行(S903)までは、図2において説明した実施例1の態様と同様に動作する。HDDコントローラ117は、EEPROM120に格納されているデータ変換実行フラグがONであることを確認すると、データ退避を実行する(S904)。即ち、HDDコントローラ117が情報退避部として動作する。これにより、既にHDD110に格納されているデータが予備領域119に一時的に保存される。その後、データ変換部116がデータ変換を実行し(S905)、データ変換が完了すると変更前の暗号化/復号化鍵が破棄される(S906)。更に、EEPROM120のデータ変換実行フラグが書き換えられる(S906)と共に、HDD110が予備領域119に一時的に保存した情報をHDD110に反映する(S908)。
ここで、図9のS908に示す情報反映動作について説明する。本実施例における画像処理装置1において、データ変換動作の実行中、主制御部111は、HDD110にアクセスする必要がある場合、代わりに予備領域119にアクセスする。これにより、通常動作時と同様にHDD110に格納された情報を使用することが可能となる。ここで、データ変換動作の実行中に情報を更新する命令が発生した場合や、新たにHDD110に情報を追加する命令が発生した場合を考える。このような場合として、例えば、HDD110に格納されているアドレス帳の内容を変更する場合や、スキャナユニット102がスキャンしたデータをHDD110に格納する場合が挙げられる。このような場合、情報の変更若しくは追加は、予備領域119に一時的に保存された情報に対して実行される。従って、データ変換動作完了時にHDD110に格納されている情報には、上記の変更若しくは追加は適用されず、データ変換動作開始時に既にHDD110に格納されている情報が格納された状態となる。即ち、データ変換動作の終了と共に予備領域119の情報を破棄してしまうと、データ変換動作実行中に予備領域119に対して実行された情報の更新若しくは情報の追加が無効になってしまう。
このような課題に対して、データ変換動作実行中に予備領域119に対して実行された情報更新若しくは情報追加を、データ変換動作が完了した後、HDD110に格納されている情報に対して反映することにより、解決を図ることが可能となる。即ち、予備領域119は、自身に追加される情報を記憶する追加情報記憶部としても動作する。尚、このようなデータ反映の実行においては、予備領域119に格納されている情報を用いてHDD110に格納された情報を上書きすることにより実行しても良いし、データ変換動作実行中に予備領域119に対して実行された情報更新若しくは情報追加のみ、即ち情報の差分のみを反映するようにしても良い。
図10は、本実施例に係るHDDコントローラ117によるHDD110の状態監視動作を示すフローチャートであり、実施例1の図4に対応する。図10に示すように、本実施例に係るHDD状態チェック動作は、概ね実施例1に係る動作と同様であるが、S1003においてデータ変換実行フラグがONであることが確認された後、データ変換命令を送信する(S1005)前に、データ退避が実行される(S1004)ことが異なる。これにより、データ変換動作が実行される前にHDD110に格納された情報が予備領域119に一時的に保存され、データ変換動作実行中であっても、それらの情報を使用することが可能となる。
以上説明したように、本実施例に係る画像処理装置1においては、データ変換動作の実行開始に際して、既にHDD110に格納されている情報を予備領域119に退避することにより、データ変換動作の実行中においても、HDD110に既に格納されている情報に対してアクセスすることが可能となる。また、データ変換動作の実行中に、予備領域119に退避保存された情報に対して更新若しくは追加があった場合であっても、当該更新若しくは追加情報を失うことなく、データ変換動作完了後、HDD110にアクセスする場合もその情報を維持することが可能となる。
尚、上記の説明においては、図9に示すように、HDD110に既に格納された情報の退避(S904)及びデータ変換動作実行中に退避情報に対して施された情報更新若しくは情報追加の反映(S908)の両方を実行する例を説明した。しかしながら、情報の退避のみを実行し、データ変換動作中においては、当該情報は読み取り専用であって更新不可能及び情報の新規追加不可能としても良い。即ち、データ変換動作の実行中において、HDD110に対して擬似的にアクセス可能となるが、情報の更新及び追加が不可能な制限付きの状態としても良い。この場合、データ変換動作実行中であっても、HDD110に格納されている情報の参照のみ可能となる。
また、データ変換動作開始前に、既にHDD110に格納されている情報を読み取り専用とすると共に、HDD110への情報の追加のみを許可するような制限付きの状態としても良い。これにより、HDD110に格納されている情報の参照に加えて、スキャナユニット102がスキャンしたデータをHDD110に格納することや、アドレス帳への新たな情報の追加が可能となる。また、情報の退避(S904)を行わずに、情報追加の反映(S908)のみ実行するようにしても良い。即ち、データ変換動作実行中において、HDD110に格納されている情報を読み出し若しくは変更することは不能となるが、新たにHDD110に情報を追加することを可能とするようにしても良い。これにより、スキャナユニット102がスキャンしたデータをHDD110に格納することや、アドレス帳への新たな情報の追加が可能となる。
また、上記の説明においては、HDD110に格納されているデータを予備領域119に退避する例を説明したが、この他例えばEEPROM120に退避しても良い。更には、実施例1において説明した情報のスプール先と本実施例に係る情報の退避先とを、予備領域119とEEPROM120とで別けても良い。また、上記の説明においては、データ変換動作の開始時に、既にHDD110に格納されている情報を全て予備領域119に格納する例を説明した。この他、例えばアドレス帳や蓄積文書等、一部の情報のみを読み出すようにしても良い。上述したように、予備領域119やEEPROM120はHDD110よりも小容量であることが一般的であり、HDD110に格納されている全ての情報を退避することが困難な場合もある。HDD110に格納されている情報のうち、アドレス帳や蓄積文書等、特定の情報のみを退避することにより、予備領域119やEEPROM120の記憶容量の課題を解決すると共に、特定の情報については、データ変換動作中であってもアクセス可能となる。このような場合、データ変換実行に際して退避するデータをユーザが指定できるようにすることが好ましい。
また、上記の説明においては、図10に示すように、データ変換実行フラグがONであることを確認(S1003)したHDDコントローラ117がデータ退避を実行する(S1004)例を説明した。この他、例えば、HDDコントローラ117からデータ変換命令を受信したデータ変換部116が、データ退避を実行するようにしても良い。更には、データ退避をデータ変換動作の途中で行っても良い。例えば、図3に示すS308においてデータ変換のために読み出された情報を退避情報としても用いるようにすることができる。これにより、データ退避のためのデータ読み出しを省略することができ、処理を簡略化することが可能となる。