以下、本発明の実施の形態について、図面に基づいて説明する。
以下の実施の形態では、画像形成装置がMFPである場合について説明する。画像形成装置は、MFPの他、ファクシミリ装置、プリンター、または複写機などであってもよい。
[第1の実施の形態]
(画像形成装置の構成)
始めに、画像形成装置の構成について説明する。
図1は、本発明の第1の実施の形態における画像形成装置100の外観を示す図である。
図1を参照して、本実施の形態における画像形成装置100は、MFPであり、スキャナー機能、複写機能、プリンターとしての機能、ファクシミリ機能、データ通信機能、およびサーバー機能を備えている。画像形成装置100は、第1のHDD131(第1の固定記憶装置の一例)および第2のHDD132(第2の固定記憶装置の一例)を内蔵している。第1のHDD131および第2のHDD132の各々は、着脱可能なものであってもよい。
図2は、本発明の第1の実施の形態における画像形成装置100のハードウェア構成を示すブロック図である。
図2を参照して、画像形成装置100は、CPU(Central Processing Unit)101と、RAM102と、ROM(Read Only Memory)103と、操作部104と、表示部105と、画像形成部106と、読取部107と、ネットワークI/F108と、コントローラー110と、優先度設定部120と、第1のHDD131(第1の固定記憶部の一例)と、第2のHDD132(第2の固定記憶部の一例)とを備えている。CPU101と、RAM102、ROM103、操作部104、表示部105、画像形成部106、読取部107、ネットワークI/F108、コントローラー110、および優先度設定部120の各々とは、互いに接続されている。コントローラー110と、第1のHDD131および第2のHDD132の各々とは、互いに接続されている。
CPU101は、画像形成装置100全体の制御を行う。RAM102は、CPU101の作業用のメモリであり、各種データを一時的に記憶する。ROM103は、CPU101が実行する制御プログラムを格納する。操作部104は、各種操作を受け付ける。操作部104は、ソフトウェアキー、およびハードウェアキーなどを含んでいる。表示部105は、各種情報を表示する。
画像形成部106は、プリントジョブを実行する。画像形成部106は、おおまかに、トナー像形成部、定着装置、および用紙搬送部などで構成される。画像形成部106は、たとえば電子写真方式で用紙に画像を形成する(プリントする)。画像形成部106は、いわゆるタンデム方式で4色の画像を合成し、用紙にカラー画像を形成可能に構成される。トナー像形成部は、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の各色について設けられた感光体と、感光体からトナー像が転写(1次転写)される中間転写ベルトと、中間転写ベルトから用紙に画像を転写(2次転写)する転写部などで構成される。定着装置は、加熱ローラーおよび加圧ローラーを有する。定着装置は、加熱ローラーと加圧ローラーとでトナー像が形成された用紙を挟みながら搬送し、その用紙に加熱及び加圧を行う。これにより、定着装置は、用紙に付着したトナーを溶融させて用紙に定着させ、用紙に画像を形成する。用紙搬送部は、給紙ローラー、搬送ローラー、およびそれらを駆動するモーターなどで構成されている。用紙搬送部は、用紙を給紙カセットから給紙して、画像形成装置100の筐体の内部で搬送する。また、用紙搬送部は、画像が形成された用紙を画像形成装置100の筐体から排紙トレイなどに排出する。
読取部107は、原稿の画像の読み取りを行う。ネットワークI/F108は、イントラネットやインターネットを介して外部機器との通信を行う。
コントローラー110は、第1のHDD131および第2のHDD132の各々への書き込み、第1のHDD131および第2のHDD132の各々からの読み出しを制御する。コントローラー110は、CPU、ROM、およびRAMなどによって構成されている。コントローラー110は、データ分割部111と、アクセス制御部112と、バックアップ制御部113とを含んでいる。データ分割部111は、データを分割する。アクセス制御部112は、第1のHDD131および第2のHDD132の各々へのアクセスを制御する。バックアップ制御部113は、データのバックアップ処理を制御する。
優先度設定部120は、画像データのプレーン優先度、および画像形成装置100が実行する各種ジョブの優先度を設定する。優先度設定部120は、バックアップ制御部113と接続されている。優先度設定部120は、優先度記憶部121と、優先度判定部122とを含んでいる。優先度記憶部121は、各種ジョブの優先度を記憶する。また、優先度記憶部121は、画像データの各種プレーンの優先度を記憶する。優先度判定部122は、画像データに応じて各種プレーンの優先度を判定する。
第1のHDD131および第2のHDD132の各々は、各種データを記憶する。第1のHDD131および第2のHDD132の各々は、コントローラー110に接続されている。第1のHDD131および第2のHDD132の各々は互いに独立して動作する。
(画像形成装置の書き込み時の動作)
続いて、画像形成装置の書き込み時の動作について、図3〜図7を用いて説明する。本実施の形態では、データAおよびBの各々をストライピングにより第1のHDD131および第2のHDD132に保存した後、たすき掛けシステムによりバックアップする場合について説明する。データAおよびBの各々は、画像データであり、いずれもRGBの色空間を有している。画像データの各画素のR(赤)、G(緑)、およびB(青)の各々の明度は、0から255までの356個の数字で表現されている。データAおよびBの各々は、たとえばプリントジョブの対象となる画像データ、コピージョブやスキャンジョブにおいて読み取ったデータ、またはファクシミリ受信ジョブにおいて受信した画像データなどである。
図3を参照して、画像形成装置100のCPU101は、データAの入力を受け付けると、データAをRAM102に一時的に保存する。データAは、Rプレーンと、Gプレーンと、Bプレーンとによって構成されている。
コントローラー110は、所要のタイミングで、ストライピングによりデータAを2つの分割データA1およびA2に分割し、分割データA1およびA2の各々を第1のHDD131および第2のHDD132の各々に保存する。分割の方法は任意である。
分割データA1は、分割データA1_Rと、分割データA1_Gと、分割データA1_Bとによって構成されている。分割データA1_Rは、分割データA1のRプレーンである。分割データA1_Gは、分割データA1のGプレーンである。分割データA1_Bは、分割データA1のBプレーンである。分割データA2は、分割データA2_Rと、分割データA2_Gと、分割データA2_Bとによって構成されている。分割データA2_Rは、分割データA2のRプレーンである。分割データA2_Gは、分割データA2のGプレーンである。分割データA2_Bは、分割データA2のBプレーンである。
コントローラー110は、矢印PR1Aで示すように、分割データA1_R、分割データA1_G、および分割データA1_Bの各々を第1のHDD131に書き込む。コントローラー110は、矢印PR1Bで示すように、分割データA2_R、分割データA2_G、および分割データA2_Bの各々を第2のHDD132に書き込む。第1のHDD131への書き込みと、第2のHDD132への書き込みとは並行して行われる。以上により、データAの通常保存は完了する。
図4を参照して、画像形成装置100のCPU101は、データAの入力に続いて、データBの入力を受け付けると、データBをRAM102に一時的に保存する。データBは、Rプレーンと、Gプレーンと、Bプレーンとによって構成されている。
コントローラー110は、所要のタイミングで、ストライピングによりデータBを2つの分割データB1およびB2に分割し、分割データB1およびB2の各々を第1のHDD131および第2のHDD132の各々に保存する。分割の方法は任意である。
分割データB1は、分割データB1_Rと、分割データB1_Gと、分割データB1_Bとによって構成されている。分割データB1_Rは、分割データB1のRプレーンである。分割データB1_Gは、分割データB1のGプレーンである。分割データB1_Bは、分割データB1のBプレーンである。分割データB2は、分割データB2_Rと、分割データB2_Gと、分割データB2_Bとによって構成されている。分割データB2_Rは、分割データB2のRプレーンである。分割データB2_Gは、分割データB2のGプレーンである。分割データB2_Bは、分割データB2のBプレーンである。
コントローラー110は、矢印PR2Aで示すように、分割データB1_R、分割データB1_G、および分割データB1_Bの各々を第1のHDD131に書き込む。コントローラー110は、矢印PR2Bで示すように、分割データB2_R、分割データB2_G、および分割データB2_Bの各々を第2のHDD132に書き込む。第1のHDD131への書き込みと、第2のHDD132への書き込みとは並行して行われる。以上により、データBの通常保存は完了する。
図5を参照して、ストライピングによるデータAおよびBの通常保存が完了した後の所要のタイミングで、コントローラー110は、たすき掛けシステムによるデータAおよびBのバックアップ処理を行う。具体的には、コントローラー110は、たとえば画像形成装置100がジョブを実行していないときなどに、第1のHDD131が記憶する分割データA1およびB1の各々を、第2のHDD132にコピーする。またコントローラー110は、第2のHDD132が記憶する分割データA2およびB2の各々を、第1のHDD131にコピーする。分割データA1およびB1の各々の第2のHDD132へのコピーと、分割データA2およびB2の各々の第1のHDD131へのコピーとは並行して行われる。
コントローラー110は、バックアップ処理を行う際に、分割データを構成する複数のプレーンの各々に設定された優先度に基づいて、優先度の高いプレーンを優先してコピーする。本実施の形態においては、複数のプレーンの各々の優先度は、複数のプレーンの色空間に基づいて設定される。
分割データがRGBの色空間を有している場合、コントローラー110は、Gプレーンを最も優先度の高いプレーンに設定し、RプレーンおよびBプレーンの各々を優先度の低いプレーンに設定する。具体的には、コントローラー110は、分割データA1_R、A1_G、およびA1_Bの中で、分割データA1_Gを最も優先度の高いプレーンに設定する。同様に、コントローラー110は、分割データA2_R、A2_G、およびA2_Bの中で、分割データA2_Gを最も優先度の高いプレーンに設定する。コントローラー110は、分割データB1_R、B1_G、およびB1_Bの中で、分割データB1_Gを最も優先度の高いプレーンに設定する。コントローラー110は、分割データB2_R、B2_G、およびB2_Bの中で、分割データB2_Gを最も優先度の高いプレーンに設定する。
コントローラー110は、矢印PR3Aで示すように、第1のHDD131が記憶する分割データA1_Gを第2のHDD132にコピーする。コントローラー110は、矢印PR3Bで示すように、第2のHDD132が記憶する分割データA2_Gを第1のHDD131にコピーする。分割データA1_Gのコピーと、分割データA2_Gのコピーとは並行して行われる。
図6を参照して、分割データA1_GおよびA2_Gの各々のコピーが終了した後、コントローラー110は、矢印PR4Aで示すように、第1のHDD131が記憶する分割データB1_Gを第2のHDD132にコピーする。コントローラー110は、矢印PR4Bで示すように、第2のHDD132が記憶する分割データB2_Gを第1のHDD131にコピーする。分割データB1_Gのコピーと、分割データB2_Gのコピーとは並行して行われる。
図7を参照して、分割データB1_GおよびB2_Gの各々のコピーが終了した後、コントローラー110は、第1のHDD131が記憶する分割データA1_R、A1_G、およびA1_Bの中で、優先度の低いプレーンである分割データA1_RおよびA1_Bの各々を、矢印PR5Aで示すように、第2のHDD132にコピーする。コントローラー110は、第2のHDD132が記憶する分割データA2_R、A2_G、およびA2_Bの中で、優先度の低いプレーンである分割データA2_RおよびA2_Bの各々を、矢印PR5Bで示すように、第1のHDD131にコピーする。分割データA1_Rのコピーと、分割データA2_Rのコピーとは並行して行われる。分割データA1_Bのコピーと、分割データA2_Bのコピーとは並行して行われる。
分割データA1_R、A1_B、A2_R、およびA2_Bの各々のコピーが終了した後、コントローラー110は、第1のHDD131が記憶する分割データB1_R、B1_G、およびB1_Bの中で、優先度の低いプレーンである分割データB1_RおよびB1_Bの各々を、矢印PR5Cで示すように、第2のHDD132にコピーする。コントローラー110は、第2のHDD132が記憶する分割データB2_R、B2_G、およびB2_Bの中で、優先度の低いプレーンである分割データB2_RおよびB2_Bの各々を、矢印PR5Dで示すように、第1のHDD131にコピーする。分割データB1_Rのコピーと、分割データB2_Rのコピーとは並行して行われる。分割データB1_Bのコピーと、分割データB2_Bのコピーとは並行して行われる。
以上により、データAおよびBのバックアップは完了する。第1のHDD131が記憶する分割データA2およびB2はバックアップ用のデータであり、第2のHDD132が記憶する分割データA1およびB1はバックアップ用のデータである。
なお、画像データの分割データは、任意の色空間を有していればよく、上述のRGBの他、Lab(明度および色度の色空間)、YCrCb、またはCMYK(シアン、マゼンタ、黄、黒)などであってもよい。RGB、Lab、およびYCrCbの色空間のデータは、いずれも3つのプレーンから構成されている。CMYKの色空間のデータは、CMYK各色のトナー濃度を示しており、4つのプレーンから構成されている。
コントローラー110は、画像データの複数のプレーンが、Labの色空間を有している場合、L(明度)プレーンを最も優先度の高いプレーンに設定し、aプレーンおよびbプレーンの各々を優先度の低いプレーンに設定することが好ましい。またコントローラー110は、画像データの複数のプレーンがCMYKの色空間を有している場合、K(ブラック)プレーンを最も優先度の高いプレーンに設定し、Cプレーン、Mプレーン、およびYプレーンの各々を優先度の低いプレーンに設定することが好ましい。
図8は、本発明の第1の実施の形態における画像形成装置100の書き込み時の動作を示すフローチャートである。
図8を参照して、コントローラー110のCPUは、画像形成装置100がジョブを実行中であるか否かを判別する(S101)。画像形成装置100がジョブを実行中でないと判別するまで、コントローラー110のCPUはステップS101の処理を繰り返す。
ステップS101において、画像形成装置100がジョブを実行中でないと判別した場合(S101でNO)、コントローラー110のCPUは、ストライピングにより保存された分割データであって、バックアップされていない分割データ(未バックアップのデータ)を第1のHDD131および第2のHDD132の各々が記憶しているか否かを判別する(S103)。
ステップS103において、未バックアップのデータを第1のHDD131および第2のHDD132の各々が記憶していると判別した場合(S103でYES)、コントローラー110のCPUは、分割データを構成する複数のプレーンの各々に優先度を設定済か否かを判別する(S105)。
ステップS103において、未バックアップのデータを第1のHDD131および第2のHDD132の各々が記憶していないと判別した場合(S103でNO)、コントローラー110のCPUは、処理を終了する。
ステップS105において、分割データを構成する複数のプレーンの各々に優先度を設定済であると判別した場合(S105でYES)、コントローラー110のCPUは、ステップS109の処理へ進む。
ステップS105において、分割データを構成する複数のプレーンの各々に優先度を設定済でないと判別した場合(S105でNO)、コントローラー110のCPUは、優先度設定処理を行い(S107)、ステップS109の処理へ進む。
ステップS109において、コントローラー110のCPUは、高い優先度が設定された全てのプレーンをバックアップ済であるか否かを判別する(S109)。
ステップS109において、高い優先度が設定された全てのプレーンをバックアップ済でないと判別した場合(S109でNO)、コントローラー110のCPUは、高い優先度が設定されたプレーンをバックアップし(S113)、ステップS101の処理へ進む。
ステップS109において、高い優先度が設定された全てのプレーンをバックアップ済であると判別した場合(S109でYES)、コントローラー110のCPUは、低い優先度が設定されたプレーンをバックアップし(S111)、ステップS101の処理へ進む。
図9は、本発明の第1の実施の形態における、図8の優先度設定処理(S107)のサブルーチンである。
図9を参照して、優先度設定処理において、コントローラー110のCPUは、分割データがRGBの色空間を有しているか否かを判別する(S201)。
ステップS201において、分割データがRGBの色空間を有していると判別した場合(S201でYES)、コントローラー110のCPUは、Gプレーンの優先度を、RプレーンおよびGプレーンの優先度よりも高く設定し(S203)、リターンする。
ステップS201において、分割データがRGBの色空間を有していないと判別した場合(S201でNO)、コントローラー110のCPUは、分割データがLabの色空間を有しているか否かを判別する(S205)。
ステップS205において、分割データがLabの色空間を有していると判別した場合(S205でYES)、コントローラー110のCPUは、Lプレーンの優先度を、aプレーンおよびbプレーンの優先度よりも高く設定し(S207)、リターンする。
ステップS205において、分割データがLabの色空間を有していないと判別した場合(S205でNO)、コントローラー110のCPUは、分割データがCMYKの色空間を有しているか否かを判別する(S209)。
ステップS209において、分割データがCMYKの色空間を有していると判別した場合(S209でYES)、コントローラー110のCPUは、Kプレーンの優先度を、Cプレーン、Mプレーン、およびYプレーンの優先度よりも高く設定し(S211)、リターンする。
ステップS209において、分割データがCMYKの色空間を有していないと判別した場合(S209でNO)、コントローラー110のCPUは、分割データの各プレーンに任意の優先度を設定し(S213)、リターンする。
(効果の説明)
本実施の形態においては、複数のプレーンから構成される画像データをバックアップする場合に、高い優先度を有するGプレーンから優先的にバックアップする。画像データのバックアップが完了していない状態で2台のHDDのうち1台が破損した場合に、オリジナルの画像データを完全に再現するためには、画像データを構成するRGB全てのプレーンが必要である。しかし、優先度の低いRプレーンおよびBプレーンが消失した場合であっても、優先度の高いGプレーンが残っていれば、Gプレーンを用いて画像データをある程度再現することができる。Gプレーンのバックアップに要する時間は、RGB全てのプレーンのバックアップに要する時間の3分の1である。
本実施の形態によれば、画像データのある程度の再現性を迅速に確保することができ、2台のHDDのうち1台が破損した場合に、画像データが完全に消滅するリスクを回避することができる。加えて、低い優先度を有するRおよびBプレーンのバックアップを後回しにするので、画像データを高速に保存することができる。
図10は、黒、赤、緑、および青の各々で記載された文字を含むカラー文字画像の一例を示す図である。なお、図10、図12、および図15では、図面の制約により、カラー画像をモノクロ画像として示している。
図10を参照して、カラー文字画像は、白い下地上に、黒(R=0,G=0,B=0)描かれた文字列L1と、赤(R=255,G=0,B=0)で描かれた文字列L2と、緑(R=0,G=255,B=0)で描かれた文字列L3と、青(R=0,G=0,B=255)で描かれた文字列L4とを含んでいる。文字列L1、L2、L3、およびL4の各々は、「ABCDE」という文字列である。
図11は、図10に示すカラー文字画像がRGBの色空間を有する場合の、RGBの各プレーンを示す図である。図11(a)はRプレーン、図11(b)はGプレーン、図11(c)はBプレーンである。
図11を参照して、黒い文字列L1は、RGB全てのプレーンで再現されている。一方、Rプレーンでは、赤で描かれた文字列L2が消滅している。これは、Rプレーンでは、赤で描かれた文字列L2のR成分が255であるので、文字列の白い背景(R=G=B=255)のR成分と同じ値になるためである。同様に、Gプレーンでは、緑で描かれた文字列L3が消滅している。これは、Gプレーンでは、緑で描かれた文字列L3のG成分が255であるので、文字列の白い背景(R=G=B=255)のR成分と同じ値になるためである。Bプレーンでは、青で描かれた文字列L4が消滅している。これは、Bプレーンでは、青で描かれた文字列L4のR成分が255であるので、文字列の白い背景(R=G=B=255)のB成分と同じ値になるためである。
ところで、画像形成装置100は、オフィスで使用される場合が圧倒的に多く、オフィスで使用される文書では、黒い文字の使用頻度が高い。また、モノクロで印刷される場合も多い。したがって、オフィスで使用されることを前提とした場合には、RGBのプレーンのうちいずれのプレーンを用いても、画像データのある程度の再現性を迅速に確保することが可能である。
ただし、RGBの各プレーンが実現する画像データの再現性の間には差が存在する。一般的には、RGBの各数値から明度情報を求める際、下記式(1)が使用される。
明度情報=0.3×R+0.6×G+0.1×B ・・・(1)
式(1)によれば、Gプレーンが明度情報を最も有しているといえる。人間の目は明度に対して敏感であり、色の変化には比較的鈍感であることが分かっている。
また、緑の文字は明るく、白い下地上では見にくいため、文字列L3のように、純粋な緑の文字列が白い下地上に描かれることはまれである。したがって、画像データの色空間がRGBである場合には、Gプレーンの優先度を高めることにより、画像データの再現性を高めることができ、復元された画像データの視認性を高めることができる。
なお、図12(a)に示すように、濃い色の下地上の緑の文字列L5が描かれた画像データである場合、図12(b)に示すように、Gプレーンにおいて、文字列L5は反転文字となる。その結果、Gプレーンによって画像データのある程度の再現性を確保することが可能である。
図13は、図11に示すカラー文字画像がLabの色空間を有する場合の、Labの各プレーンを示す図である。図13(a)はLプレーン、図13(b)はaプレーン、図13(c)はbプレーンである。
図13を参照して、Lプレーンは明度を表している。緑の文字列L3は明るい色であるため、やや薄くなっている一方、4色全ての文字列L1、L2、L3、およびL4が再現されている。aプレーンおよびbプレーンは、いずれも色差情報を示している。黒の文字列L1は色の変化がなく、明るさのみが変化している。このため、黒の文字列L1は、aプレーンおよびbプレーンでは消滅している。したがって、画像データの色空間がLabである場合には、Lプレーンの優先度を高めることにより、画像データの再現性を高めることができ、復元された画像データの視認性を高めることができる。
図14は、図10に示すカラー文字画像がCMYKの色空間を有する場合の、Kプレーンを示す図である。
図14を参照して、画像形成装置100がオフィスで使用される場合が圧倒的に多く、黒い文字の使用頻度が高いことを考慮すると、画像データの色空間がCMYKである場合には、Kプレーンの優先度を高めることにより、画像データの再現性を高めることができ、復元された画像データの視認性を高めることができる。
図15は、カラー写真画像の一例を示す図である。図16は、図15に示すカラー写真画像を構成するRGBの各プレーンを示す図である。図16(a)はRプレーン、図16(b)はGプレーン、図16(c)はBプレーンである。
図15を参照して、写真画像などでは文字画像に比べてさらに明度情報の重要性が高まる。上述のように人間の目は明度に対して敏感である。したがって、カラー写真画像データがRGBの色空間を有する場合には、Gプレーンのみを用いて、カラー写真画像のモノクロ画像に近い画像を再現することができる。
図16を参照して、Rプレーンは、明るすぎで情報の一部が欠落している。またBプレーンは、暗すぎて情報の一部が欠落している。一方、Gプレーンは、適切な明度を有しており、3つのプレーンの中で最も自然な印象を与える。
図17は、図15に示すカラー写真画像がLabの色空間を有する場合の、Lプレーンを示す図である。
図17を参照して、Lプレーンは、Gプレーンに比較的近い明度を有しており、自然な印象を与える。
以上により、画像データがRGBの色空間を有する場合において、2台のHDDのうち1台が破損したときは、少なくともGプレーンがバックアップされていれば、文字の可読性やモノクロ画像としての写真の再現性を確保できる可能性が高い。同様に、画像データがLabの色空間を有する場合において、2台のHDDのうち1台が破損したときは、少なくともLプレーンがバックアップされていれば、文字の可読性やモノクロ画像としての写真の再現性を確保できる可能性が高い。画像データがCMYKの色空間を有する場合において、2台のHDDのうち1台が破損したときは、少なくともKプレーンがバックアップされていれば、黒の情報が確保され、文字の可読性やモノクロ画像としての写真の再現性を確保できる可能性が高い。
[第2の実施の形態]
図18は、本発明の第2の実施の形態におけるカラー文字画像と、カラー文字画像を構成する複数のプレーンの各々との関係を示す図である。図18(a)は、カラー文字画像、図18(b)はRプレーン、図18(c)はGプレーン、図18(d)はBプレーンである。
図18(a)を参照して、カラー文字画像は、白い下地上に水色(R=30、G=220、B=200)で描かれた文字列L6を含んでいる。文字列L6は、Gプレーンの値が高い色で大部分が構成されている。
図18(b)、図18(c)、および図18(d)を参照して、画像が、文字列L6のようにGプレーンの値が高い色で大部分が構成されるものである場合、GプレーンやBプレーンよりもRプレーンの方が文字の可読性が高い。これは、Rプレーンにおける文字列L6と下地との階調差が大きいためである。したがって、図18(a)のような画像データの場合には、Rプレーンに高い優先度を設定することが好ましい。
本実施の形態における画像形成装置100は、図18(a)に示す画像データのようなものに対応するために、複数のプレーンの各々の優先度を、画像データに基づいて判定(設定)する。
具体的には、コントローラー110は、画像データから、複数のプレーンの各々の階調分布を抽出する抽出領域を決定する。抽出領域は、画像データにおける文字領域を含んでいることが好ましく、文字領域の周辺の領域をさらに含んでいてもよい。たとえば図18(a)に示すカラー文字画像では、領域R1が抽出領域として決定される。
なお、コントローラー110は抽出領域を決定しなくてもよい。この場合、コントローラー110は、プレーン全体を抽出領域とする。
次にコントローラー110は、領域R1から、複数のプレーンの各々の階調分布を抽出する。
図19は、図18(a)に示すカラー文字画像を構成するRGB各プレーンの階調分布を示す図である。図19(a)は、Rプレーンの階調分布を示している。図19(b)は、Gプレーンの階調分布を示している。図19(c)は、Bプレーンの階調分布を示している。
図19を参照して、この階調分布では、RGBの各プレーンのデータの変動量が定量化されている。Rプレーンは、図19(a)に示すように、下地の白に起因する255付近のピークと、文字列L6に起因する30付近のピークとを有している。2つのピークの距離(階調差に相当)は大きい。
Gプレーンは、図19(b)に示すように、下地の白に起因する255付近のピークと、文字列L6に起因する220付近のピークとを有している。2つのピークの距離は小さい。
Bプレーンは、図19(c)に示すように、下地の白に起因する255付近のピークと、文字列L6に起因する200付近のピークとを有している。2つのピークの距離は小さい。
コントローラー110は、図19の階調分布に基づいて、ピークの距離が最も大きいプレーンRの優先度に、最も高い優先度を設定する。
図20は、本発明の第2の実施の形態における、図8の優先度設定処理(S107)のサブルーチンである。
図20を参照して、コントローラー110のCPUは、画像データ内で抽出領域を決定し(S251)、抽出領域を構成する複数のプレーンの各々のヒストグラムを作成する(S253)。続いてコントローラー110のCPUは、ヒストムグラムを解析し(S255)、解析結果に基づいて複数のプレーンの各々の優先度を判定(設定)し(S257)、リターンする。
なお、本実施の形態における画像形成装置の構成および上述以外の動作は、第1の実施の形態における画像形成装置の構成および動作と同様であるので、その説明は繰り返さない。
本実施の形態によれば、複数のプレーンの各々の優先度を、画像データに基づいて判定するので、一部のプレーンが消失した場合に、残りのプレーンを使った画像データの再現性をより高めることができる。
[第3の実施の形態]
本実施の形態においては、データAを第1のHDD131および第2のHDD132にバックアップしている状態で第2のHDD132が故障し、その後第2のHDD132が復旧した場合における、画像形成装置100が実行するリビルド処理の動作について、図21〜図27を用いて説明する。
説明する。
図21を参照して、第1のHDD131は、データAの分割データA1を保存しており、バックアップ用のデータとしてデータAの分割データA2を保存している。第2のHDD132は、データAの分割データA2を保存しており、バックアップ用のデータとしてデータAの分割データA1を保存している。
第1のHDD131が記憶する分割データA2は、第2のHDD132が記憶する分割データA2がコントローラー110によってコピーされたものである(図5の処理PR3Bおよび図7の処理PR5B)。第2のHDD132が記憶する分割データA1は、分割データA2を第1のHDD131にコピーするのと並行して、第1のHDD131が記憶する分割データA1がコントローラー110によってコピーされたものである(図5の処理PR3Aおよび図7の処理PR5A)。
図22を参照して、第2のHDD132が故障すると、第2のHDD132が記憶していた分割データA2およびA1が消失する。
図23を参照して、第2のHDD132が故障した状態では、コントローラー110は、ストライピングを行うことができない。このため、コントローラー110は、新たなデータBを保存する必要が生じた場合、データBの全てを第1のHDD131に書き込む。データBは、RGBの色空間を有しており、プレーンB_Rと、プレーンB_Gと、プレーンB_Bとによって構成されている。
図24を参照して、第2のHDD132が復旧すると、コントローラー110は、第1のHDD131が記憶する分割データA1および分割データA2の各々を第2のHDD132にコピーするリビルド処理を開始する。コントローラー110は、分割データA1_Gと分割データA2_Gとの各々を、第2のHDD132に優先してコピーする。分割データA1_Gは、第1のHDD131が記憶する分割データA1を構成する複数のプレーンのうち、最も優先度の高いGプレーンである。分割データA2_Gは、第1のHDD131が記憶する分割データA2を構成する複数のプレーンのうち、最も優先度の高いGプレーンである。
またコントローラー110は、プレーンB_Gを一旦RAM102に読み出した後、プレーンB_Gを分割データB1_Gと分割データB2_Gとに分割し、分割データB1_GおよびB2_Gの各々をストライピングにて第1のHDD131および第2のHDD132の各々に書き込む。分割データB2_Gは、第2のHDD132が故障していなければ、第2のHDD132に保存されるべきであったデータである。
図25を参照して、続いてコントローラー110は、分割データB1_Gを第2のHDD132にコピーする。
図26を参照して、続いてコントローラー110は、分割データB2_Gを第2のHDD132にコピーする。これにより、データAおよびBの各々のGプレーンのバックアップ処理が完了する。
図27を参照して、その後コントローラー110は、残りの分割データの書き込みを行う。これにより、データAのリビルド処理およびデータBのバックアップ処理が完了する。
図28は、本発明の第1の実施の形態における画像形成装置100のリビルド処理時の動作を示すフローチャートである。
図28を参照して、このフローチャートは、ステップS103の処理の代わりにステップS301の処理を行う点において、図8に示す第1の実施の形態におけるフローチャートとは異なっている。
ステップS301において、コントローラー110のCPUは、復旧したHDDに対して書き込むべきデータがあるか否かを判別する(S301)。
ステップS301において、復旧したHDDに対して書き込むべきデータがあると判別した場合(S301でYES)、コントローラー110のCPUは、ステップS105の処理へ進む。一方、ステップS301において、復旧したHDDに対して書き込むべきデータがないと判別した場合(S301でNO)、コントローラー110のCPUは、処理を終了する。
なお、本実施の形態における画像形成装置の構成および上述以外の動作は、第1の実施の形態における画像形成装置の構成および動作と同様であるので、その説明は繰り返さない。
本実施の形態によれば、リビルド処理が完了する前に2台のHDDのうち1台が破損し、一部のプレーンが消失した場合であっても、優先度の高いプレーンを用いて画像データをある程度再現することができる。その結果、画像データが完全に消滅するリスクを回避することができる。加えて、低い優先度を有するプレーンのバックアップを後回しにするので、画像データを高速に保存することができる。
[第4の実施の形態]
本実施の形態では、画像形成装置100は、実行するジョブの種類に応じて設定された優先度と、分割データの複数のプレーンの各々に設定された優先度とに基づいて、複数のプレーンの各々コピーを開始するか否かを決定する。
図29は、本発明の第4の実施の形態において、優先度記憶部121が記憶する優先度テーブルを模式的に示す図である。
図29を参照して、優先度テーブルは、各種ジョブの優先度と、各種プレーンの優先度とが記録されたテーブルである。優先度テーブルでは、Aが最も高い優先度であり、Bが2番目に高い優先度であり、Cが最も低い優先度である。優先度デーブルでは、プリントジョブに、優先度Aが設定されている。コピージョブ、スキャンジョブ、およびGプレーンの各々に、優先度Bが設定されている。Rプレーン、Bプレーン、およびファクシミリ受信ジョブの各々に、優先度Cが設定されている。
コントローラー110は、バックアップ処理またはリビルド処理を行う場合に、優先度テーブルを参照し、実行中のジョブの優先度と、未バックアップのプレーンまたは復旧したHDDに書き込むべきプレーンの優先度とを取得する(実行中のジョブが無い場合、コントローラー110は、未バックアップのプレーンまたは復旧したHDDに書き込むべきプレーンの優先度のみを取得する)。コントローラー110は、取得した優先度の中で最も高い優先度を有する処理を優先して実行する。
たとえば、コピージョブ(優先度A)を実行中であり、RGBの全てのプレーンが未バックアップである場合、コントローラー110は、コピージョブを、プレーンのコピーよりも優先して実行する(プレーンのコピーを開始しない)。ファクシミリ受信ジョブ(優先度C)を実行中であり、RGBの全てのプレーンが未バックアップである場合、コントローラー110は、Gプレーン(優先度B)のコピーを優先して実行する(プレーンのコピーを開始する)。
なお、最も高い優先度を有する処理が2つ存在する場合(たとえばスキャンジョブ(優先度B)を実行中であり、Gプレーン(優先度B)が未バックアップである場合)、コントローラー110は、どちらか1つの処理を優先してもよいし、2つの処理を同時に実行してもよい。優先度テーブルにおいて各種ジョブや各種プレーンに設定される優先度は任意である。
図30は、本発明の第4の実施の形態における画像形成装置100の動作を示すフローチャートである。
図30を参照して、コントローラー110のCPUは、ストライピングにより保存された分割データであって、バックアップされていない分割データ(未バックアップのデータ)、または復旧したHDDに対して書き込むべきデータがあるか否かを判別する(S401)。
ステップS401において、未バックアップのデータまたは復旧したHDDに対して書き込むべきデータがあると判別した場合(S401でYES)、コントローラー110のCPUは、画像形成装置100がジョブを実行中であるか否かを判別する(S403)。
ステップS403において、画像形成装置100がジョブを実行中であると判別した場合(S403でYES)、コントローラー110のCPUは、実行中のジョブの優先度と、未バックアップのデータを構成する複数のプレーンのうち、未バックアップのプレーンの優先度とを、優先度テーブルから取得し(S405)、ステップS409の処理へ進む。
ステップS403において、画像形成装置100がジョブを実行中でないと判別した場合(S403でNO)、コントローラー110のCPUは、未バックアップのデータを構成する複数のプレーンのうち未バックアップのプレーンの優先度を、優先度テーブルから取得し(S407)、ステップS409の処理へ進む。
ステップS409において、コントローラー110のCPUは、取得した優先度のうち最も高い優先度を有する処理を実行し、ステップS401の処理へ進む。
ステップS401において、未バックアップのデータも復旧したHDDに対して書き込むべきデータも無いと判別した場合(S401でNO)、コントローラー110のCPUは、処理を終了する。
なお、画像形成装置100は、コントローラー110がリビルド処理を行う場合の複数のプレーンの各々の優先度を、コントローラー110がバックアップ処理を行う場合の複数のプレーンの各々の優先度よりも高く設定してもよい。この場合、優先度記憶部121は、図29に示す優先度テーブルと、図31に示す優先度テーブルとの両方を記憶する。コントローラー110は、バックアップ処理を行う場合に図29に示す優先度テーブルを使用し、リビルド処理を行う場合に図31に示す優先度テーブルを使用する。
図31は、本発明の第4の実施の形態において、コントローラー110がリビルド処理を行う場合に使用する優先度テーブルを模式的に示す図である。
図31を参照して、この優先度テーブルでは、RGBの各プレーンの優先度が、図30に示す優先度テーブルにおけるRGBの各プレーンの優先度よりも高く設定されている。具体的には、Gプレーンには優先度Aが設定されており、RプレーンおよびGプレーンの各々には優先度Bが設定されている。
なお、本実施の形態における画像形成装置の構成および上述以外の動作は、第1の実施の形態における画像形成装置の構成および動作と同様であるので、その説明は繰り返さない。
本実施の形態によれば、バックアップ処理やリビルド処理に要する時間を短縮しつつ、バックアップ処理やリビルド処理によってジョブが遅延することを抑止することができる。
[その他]
固定記憶装置は、フロッピー(登録商標)ディスクなどのHDD以外の磁気ディスクであってもよいし、SSDなどであってもよい。
上述の実施の形態における処理は、ソフトウェアにより行なっても、ハードウェア回路を用いて行なってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、CPUなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。