以下、本発明の実施形態を図1〜図7に基づき、電子写真方式でタンデム型のカラー複合機100(画像形成装置に相当)を例に挙げ説明する。まず、図1〜図6を用いて、第1の実施形態を説明する。但し、本実施形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。
(画像形成装置の概略構成)
まず、図1及び2を用いて、第1の実施形態に係る複合機100の概略を説明する。図1は、複合機100の概略構成を示す模型的断面図である。図2は1つの画像形成ユニット41の拡大断面図である。
図1に示すように、本実施形態の複合機100は、上部に原稿搬送装置1aと画像読取部1bが設けられ、正面上部に操作パネル2(図1において破線で図示)が設けられる。又、操作パネル2は、液晶表示部21や各種キー(例えば、スタートキー22)を備える。液晶表示部21は、タッチパネル式であり、複合機100の状態(例えば、エラー発生やモード)の表示や、ユーザからの各種の入力を受け付ける。又、本体内に、給紙部3a、搬送路3b、画像形成部4、中間転写部5、定着部3c等が設けられる。
原稿搬送装置1aは、原稿の複写時、複数のローラーの回転駆動により、原稿トレイ11に積載された原稿を1枚ずつ、自動的、連続的に、画像読取部1bの読み取り位置(送り読取用コンタクトガラス12)に向けて搬送する。画像読取部1bは原稿を読み取り、原稿の画像データを生成する。画像読取部1bの上面には、送り読取用コンタクトガラス12と載置読取用コンタクトガラス13が設けられる。画像読取部1b内には露光用のランプ16(図4参照)、ミラー(不図示)、レンズ(不図示)、イメージセンサ17(例えば、CCD、図4参照)等の光学系部材(図1では不図示、図4参照)が設けられる。
そして、画像読取部1bは、これらの光学系部材を用い、原稿搬送装置1aが搬送する原稿や、コンタクトガラスに載置される原稿に光を照射し、その原稿の反射光を受けたイメージセンサ17の各画素の出力値をA/D変換して画像データを生成する。複合機100は、読み取りにより得られた画像データに基づき印刷を行うことができる(コピー機能)。尚、原稿搬送装置1aは図1の紙面奥側に支点が設けられ持ち上げ可能であり、載置読取用コンタクトガラス13に原稿を載置後、原稿搬送装置1aで原稿を押さえることができる。
又、給紙部3aは、例えば、コピー用紙、ラベル用紙等の各種各サイズの用紙(シート)を収容する。又、給紙部3aは、モータ等の駆動機構(不図示)により回転する給紙ローラー31で搬送路3bに1枚の用紙を送り出す。そして、搬送路3bは複合機100内で用紙を搬送するための通路であり、給紙部3aから供給された用紙を、中間転写部5、定着部3cを経て排出トレイ32まで導く。搬送路3bには搬送ローラー対33、34やガイド35及び搬送される用紙を中間転写部5の手前で待機させ、画像形成部4におけるトナー画像の形成とタイミングをあわせて送り出すレジストローラー対36等が設けられる。
更に、図1に示すように、複合機100は、形成すべき画像の画像データに基づき、トナー画像を形成する部分として画像形成部4を備える。具体的に、画像形成部4は、図1の左側から、ブラックの画像を形成する画像形成ユニット41Bkと、イエローの画像を形成する画像形成ユニット41Yと、シアンの画像を形成する画像形成ユニット41Cと、マゼンタの画像を形成する画像形成ユニット41Mと、その他、1つの露光装置42等を備える。
ここで、図2に基づき、各画像形成ユニット41Bk〜41Mを詳述する。尚、各画像形成ユニット41Bk〜41Mは、形成するトナー画像の色が異なるだけで、いずれも基本的に同様の構成であり、同様に説明できる。そこで、図2では1つの画像形成ユニット41のみ示し、以下の説明では、特に説明する場合を除き、各画像形成ユニット41の色の識別用の符号であるBk、Y、C、Mの符号は省略する。
まず、各感光体ドラム43は、周面にトナー画像を担持し、駆動装置(不図示)によって所定のプロセススピードで紙面反時計方向に回転駆動される。各帯電装置44は、感光体ドラム43を一定の電位で帯電させる。尚、帯電装置44は、コロナ放電式やブラシ等を用いたものでも良い。各画像形成ユニット41の下方の露光装置42は、入力されるカラー色分解された画像信号をレーザ出力部(不図示)にて光信号にそれぞれ変換し、変換された光信号であるレーザ光(破線で図示)を4色分出力可能であり、帯電後の感光体ドラム43の走査露光を行って、静電潜像を形成する。
各現像装置45は、トナーを含む現像剤(不図示)を収納する(画像形成ユニット41Bkの現像装置45はブラック、画像形成ユニット41Yの現像装置45はイエロー、画像形成ユニット41Cの現像装置45はシアン、画像形成ユニット41Mの現像装置45はマゼンタの現像剤を収納する)。各現像装置45は、感光体ドラム43に対向し、画像形成時に感光体ドラム43にトナーを供給する。これにより、静電潜像がトナー画像として現像される。各清掃装置46は、感光体ドラム43の清掃を行う。
図1に戻り、中間転写部5は、感光体ドラム43からトナー画像の1次転写を受け、用紙に2次転写を行う。中間転写部5は、感光体ドラム43の1本に付き、1本設けられる各1次転写ローラー51(51Bk〜51Mの計4本)、駆動ローラー52、従動ローラー53〜55、中間転写部5の1次転写ローラー51、駆動ローラー52、従動ローラー53〜55に張架される無端状の中間転写ベルト56、2次転写ローラー57、ベルト清掃装置58等で構成される。
各1次転写ローラー51は、各感光体ドラム43と無端状の中間転写ベルト56を挟み込むように中間転写ベルト56に当接する。そして、交流及び直流が重畳された転写用の電圧が各1次転写ローラー51に印加され、タイミングを取られ、トナー画像は順次、ずれなく重畳されつつ、中間転写ベルト56に転写される。駆動ローラー52は、モータ等の駆動機構(不図示)に接続され、駆動ローラー52の回転駆動により、中間転写ベルト56は図1の紙面時計方向に周回する。又、駆動ローラー52と2次転写ローラー57は、中間転写ベルト56を挟み込む。各色重ね合わされたトナー画像は所定の電圧を印加された2次転写ローラー57で、用紙に転写される。尚、2次転写後の中間転写ベルト56上の残トナー等は、ベルト清掃装置58で除去されて回収される。
定着部3cは、用紙搬送方向の下流側に配され、用紙に2次転写されたトナー画像を加熱・加圧して定着させる。そして、定着部3cは主として発熱源を内蔵する定着ローラー37とこれに圧接される加圧ローラー38とで構成され、ニップが形成される。そして、トナー画像の転写された用紙は、ニップを通過すると加熱・加圧される。その結果、トナー画像が用紙に定着する。尚、定着後の用紙は排出トレイ32に排出され画像形成処理が終了する。
(画像形成装置のハードウェア構成)
次に、図3に基づき、第1の実施形態に係る複合機100のハードウェア構成を説明する。図3は、複合機100のハードウェア構成の一例を示すブロック図である。
図3に示すように、第1の実施形態に係る複合機100は、制御部6を有する。制御部6は例えば、基板として設けられる。制御部6は、複合機100全体の動作を統括し、複合機100の各部の制御を司る。そして、制御部6には、例えば、演算処理装置としてCPU60が含まれる。CPU60は、例えば、演算回路、レジスタ、カウンタ等、演算、制御処理のための部分を含む。
そして、制御部6とバス等により通信可能に、ROM61(Read Only Memory)、主記憶部7(RAM、Random Access Memory)、HDD62(Hard disk drive)などの記憶装置が接続される。ROM61は、不揮発性の記憶装置であり、CPU60が制御のため実行するプログラムや、起動時プログラムや、装置固有の各種パラメータなどの各種制御用のデータを記憶する。
主記憶部7(メモリー)は、CPU60が制御の際に実行するプログラムや、各種データを一時的に記憶する。主記憶部7は、例えば、DDR1、DDR2、DDR3などのSDRAMを含む。尚、図3では、主記憶部7は1つのみ図示するが、データ処理の内容に応じて、複数個或いは、複数種搭載されてもよい。
又、主記憶部7は、複合機100に入力された画像データを記憶、格納する。又、主記憶部7は、画像データを用いて印刷を行うときや、画像データをHDD62に記憶させるときや、外部に向けて画像データを送信するとき、画像処理部8による画像処理前の画像データや、画像処理後の画像データを一時的に記憶(格納)する。例えば、主記憶部7に記憶される画像データは、ラスターデータである。又、主記憶部7は、ROM61やHDD62に記憶される画像データ等の各種データやプログラム等の読み出し先となる。
又、制御部6は、印刷(用紙搬送や画像形成)を実際に制御するエンジン制御部40に通信可能に接続される。制御部6は、エンジン制御部40に指示を与える。この指示を受けて、エンジン制御部40は、用紙搬送や画像形成で用いる各種回転体(搬送ローラー対33、34や感光体ドラム43等)を回転させる等、給紙部3a、搬送路3b、画像形成部4、中間転写部5、定着部3cを制御する。
又、複合機100には、外部との通信インターフェイスとしての通信部9を含む。通信部9は、例えば、外部のコンピューター200と、ネットワークやケーブルで接続して通信を行うためのデータ通信部91を含む。データ通信部91は、例えば、ネットワーク接続用や直接的に複合機100とコンピューター200を接続するためのコネクタや、通信制御用のコントローラー、チップを含む。このデータ通信部91により、複合機100はコンピューター200等から画像データや印刷の設定データを含む印刷用データを受け、印刷を行うことができる(プリンタ機能)。
又、通信部9には、FAX通信部92を含むことができる。FAX通信部92は、ファクシミリとしての機能を果たすための部分であり、モデムや、公衆回線接続用のコネクタや、通信網接続制御用の回路や、受信データの伸張のための回路、チップ等を含む。FAX通信部92により、複合機100は、外部のFAX装置300と画像データの送受信を行い、受信した画像データに基づき印刷を行うことができる(FAX機能)。
又、制御部6は、バス等により操作パネル2とも通信可能に接続される。そして、操作パネル2になされた設定内容を示すデータは、制御部6に送られる。制御部6は、使用者の設定どおりに動作するように複合機100を制御する。又、制御部6は、原稿搬送装置1aや画像読取部1bとも通信可能に接続される。原稿の読み取りを伴うジョブを実行するとき、制御部6は、原稿搬送装置1aや画像読取部1bに指示を与える。この指示を受けて、原稿搬送装置1aや画像読取部1bは動作し、原稿読み取りにより画像データが得られる。
又、複合機100内には、画像処理部8が設けられる。図3では、制御部6と画像処理部8が別体として設けているが、画像処理部8は、制御部6内に設けられても良い。又、制御部6のCPU60や画像処理プログラムにより画像処理部8が機能的に実現されてもよい。
画像処理部8は、例えば、画像処理専用の回路としてのASIC等を含む。そして、画像処理部8は、例えば、濃度変更処理やデータ形式変換処理や拡大・縮小や、回転処理など、各種画像処理を画像データに施す。尚、画像処理部8が行える画像処理は多岐にわたるので、公知の複合機100に関する画像処理をおこなえるものとして、実行可能な画像処理の詳細の説明は省略する。
そして、画像処理部8は、画像データ等のデータに対して圧縮処理を行う圧縮処理部81や、圧縮した画像データの利用のため伸長処理を行う伸長処理部82を含む。例えば、圧縮処理部81や伸長処理部82は、画像処理部8内のASIC内に設けられる(ASICと別回路としてもよい)。例えば、主記憶部7は、圧縮処理の対象となる画像データのようなデータ(以下、「対象データ」と称する)を記憶する。圧縮処理部81は、主記憶部7内の対象データを取得し、圧縮処理を行う。そして、主記憶部7は、圧縮処理部81から対象データを圧縮処理した後のデータ(以下、「圧縮後データ」と称する)を取得し、記憶する。
このように、本実施形態の複合機100では、圧縮処理部81などを用いて、画像データなどを圧縮処理することができ、複合機100は、圧縮処理を行うデータ処理装置101を含むと言える。具体的に、図3に示すように、複合機100内の主記憶部7、主記憶部7を制御する制御部6、圧縮処理部81(画像処理部8)などにより、データ処理装置101が構成される。
(データの流れの概要)
次に、図3、図4に基づき、第1の実施形態に係る複合機100でのデータの流れの概要を説明する。図4は、複合機100でのデータの流れの一例を説明するためのブロック図である。尚、図4では、画像データの流れは、白抜矢印で図示している。
本説明では、対象データの一例として画像データを例に挙げ、画像データの流れを説明する。尚、対象データは、画像データに限られるものではない。
[ジョブにおける画像データでの入力]
まず、ジョブを行うときの複合機100への画像データ(対象データ)の入力を説明する。本実施形態の複合機100では、例えば、画像読取部1bと通信部9が、複合機100に画像データを入力するためのデータ入力部として機能する。又、HDD62は、画像読取部1bによるスキャンにより得られた画像データや通信部9が受信した画像データをHDD62に蓄えることができる。この蓄えられた画像データを用いてジョブを実行することができ、HDD62も画像データの入力元(供給元)といえる。
尚、画像読取部1bでの原稿読み取りに利用する原稿搬送装置1aを説明しておく。複合機100の上方に配される原稿搬送装置1aには、コントローラー等の回路、素子を含む原稿搬送制御部14が設けられる。原稿搬送制御部14は、複合機100本体の制御部6と通信可能に接続される。そして、操作パネル2のスタートキー22が押され、原稿トレイ11に載置された原稿の読み取りを行う場合、制御部6は、原稿搬送制御部14に原稿を搬送すべき旨の指示を与える。この指示を受け、原稿搬送制御部14は、原稿を搬送する各種回転体を回転させる原稿搬送モータ14m等を回転させる(制御する)。このように、原稿搬送制御部14が原稿搬送装置1aの動作を実際に制御する。
そして、画像読取部1bには、例えば、読取制御部15が設けられる。読取制御部15は、例えば、CPU、チップ等の各種電子部品が実装された基板で構成される。読取制御部15は、巻取モータ15mやランプ16やイメージセンサ17等と接続され、例えば、ランプ16や各種ミラーを移動させるための巻取モータ15mの動作や、原稿に光を照射するランプ16の点消灯や、イメージセンサ17等の駆動等を制御する。
読取制御部15は、複合機100本体の制御部6と通信可能に接続される。操作パネル2のスタートキー22が押され、原稿の読み取りを伴うジョブを実行する場合、制御部6は、読取制御部15に原稿を読み取るべき旨の指示を与える。この指示を受け、読取制御部15は、画像読取部1b内の各部材を実際に制御し、原稿を読み取って画像データを生成する。
まず、画像読取部1bでの原稿の読み取りと画像データ生成では、イメージセンサ17は、画素ごとに、ランプ16から照射され原稿等で反射された反射光の強さに応じた電流(電圧)を出力する。尚、本実施形態のイメージセンサ17は、カラー対応のラインセンサであり、R、G、Bの各信号を出力する。そして、イメージセンサ17の各出力電流(電圧)は、A/D変換部18に入力される。尚、A/D変換部18の前段に増幅器が設けられてもよい。A/D変換部18は、イメージセンサ17の各画素のアナログの各出力電流(電圧)をディジタルデータ化し、補正部19に出力する。例えば、カラーの場合、A/D変換部18は、RGBで1画素当たり、計24ビットに量子化を行う(例えば、Red=8ビット、Green=8ビット、Blue=8ビット、それぞれ0〜255の値を取り、256階調)。
補正部19は、濃度調整回路や、白基準データや黒基準データ等のデータに基づくシェーディング補正等、画像読取部1bの読取特性に対する補正用の演算回路等で構成される。一般に、イメージセンサ17において、ライン状に配された各画素に相当する各受光素子のばらつき(個体特性差)や、レンズの中心部と周辺部の集光度の違いや、ランプ16の位置による発光量のムラ等によって、主走査方向において同一濃度の各基準板や、原稿を読み取っても、画素の位置により、イメージセンサ17の各受光素子が出力する電流(電圧)の値に差が生ずる。そこで、補正部19は、原稿を読み取って得られた画像データの補正を行う。制御部6は、補正後の画像データを、画像読取部1bから主記憶部7に転送させる。
又、本実施形態の複合機100には、通信部9が設けられ、外部のコンピューター200やFAX装置300から画像データや、印刷設定用データを含むデータを受信する。例えば、通信部9は、受信したデータから画像データを抽出する。制御部6は、通信部9で受信された画像データを通信部9から主記憶部7に転送させる。又、HDD62に予め蓄えられた画像データを用いて、送信や印刷等のジョブを実行するとき、制御部6は、HDD62から画像データを主記憶部7に読み出させる。このように、主記憶部7は、画像データを対象データとして記憶する。
[ジョブにおける画像データでの出力]
主記憶部7に記憶された画像データは、ジョブ実行に伴い、主記憶部7から出力される。主記憶部7からの画像データの出力先は、図4に示すように、画像処理部8、露光装置42、通信部9、HDD62などがある。
まず、主記憶部7は、蓄えた画像データを画像処理部8に出力し、画像処理部8に画像処理を行わせる。FAX送信やスキャンのジョブを行うとき、画像処理部8は、画像データに対して各種画像処理を行う。例えば、圧縮処理部81は、ジョブの種類に応じて、予め用意される圧縮アルゴリズムに応じて(例えば、FAX用の圧縮処理でのアルゴリズムや、スキャンされた画像データのHDD62や外部コンピューター200での保存形式(JPEG等)にあわせた圧縮処理でのアルゴリズム)、画像データの圧縮処理を行う。言い換えると、圧縮処理部81は、複数の圧縮アルゴリズムを実装する。
画像処理部8(圧縮処理部81)による圧縮処理後の画像データは、主記憶部7に出力される。主記憶部7は、圧縮処理後の画像データを通信部9やHDD62に出力する。通信部9は、圧縮処理後の画像データをコンピューター200やFAX装置300に送信する。又、HDD62は、圧縮処理後の画像データを記憶する。
又、印刷のジョブを行うとき、画像処理部8は、画像データに対して必要な各種画像処理を行う(例えば、濃度変換など)。画像処理部8による画像処理後の画像データは、主記憶部7に出力される。主記憶部7は、画像処理後の画像データを露光装置42に出力する。露光装置42は、画像データに基づき、感光体ドラム43を走査、露光する。
(圧縮処理と余剰メモリー領域の開放)
次に、図5〜図7を用いて、本実施形態の複合機100(データ処理装置101)での圧縮処理と余剰メモリー領域の開放を説明する。図5は、最低圧縮率が200%のときの複合機100(データ処理装置101)での圧縮処理の一例を説明するためのグラフである。図6は、最低圧縮率が400%のときの複合機100(データ処理装置101)での圧縮処理の一例を説明するためのグラフである。図7は、最低圧縮率が160%のときの複合機100(データ処理装置101)での圧縮処理の一例を説明するためのグラフである。
尚、図5〜図7での縦軸は、主記憶部7の記憶領域の量(メモリー量)を示す。図5のグラフでは、縦軸の下方に向かうに従い、メモリー量が多いことを示している。又、図5〜図7での横軸は、圧縮処理における時間の経過を示す。そして、T0の時点は、圧縮処理部81が圧縮処理の対象となる画像データ(対象データ)の圧縮を開始した時点を示し、T1の時点は、圧縮処理部81が対象データの圧縮を終了(終了)した時点を示す。
本実施形態では、対象データの圧縮を開始するとき、制御部6は、主記憶部7に圧縮処理後の画像データ(圧縮後データ)を格納するための記憶領域(初期メモリー量M1)を確保させる。主記憶部7は圧縮処理の進展に伴い、圧縮後データを確保された領域に順次格納する。このように、主記憶部7に圧縮後データを格納するための記憶領域を確保するので、圧縮後データの書込による他のデータへの上書きや、圧縮後データへの他のデータの上書きを避けることができる。
そして、図5〜図7での縦軸に沿って示す初期メモリー量M1は、本実施形態の複合機100(データ処理装置101)で、制御部6が圧縮後データの格納のため主記憶部7に確保させるメモリー量(記憶領域のサイズ)である。例えば、初期メモリー量M1は、対象データのデータ量と同じ大きさ(圧縮処理を行う対象データの100%の大きさ、サイズ)である。あるいは、初期メモリー量M1は、用いる圧縮アルゴリズムにあわせ、対象データよりも予め定められた量(例えば、5%程度)だけ小さい又は大きいサイズとしてもよい。尚、本説明では、初期メモリー量M1は、対象データは同じ大きさ(サイズ)として説明する。
ここで、圧縮後データのデータ量は、予測できず、圧縮率が100%を越える場合がある。例えば、文字原稿の画像データの圧縮に特化されたアルゴリズム(例えば、FAX用圧縮アルゴリズム)で写真などの文字以外の画像データの圧縮を行うと、圧縮率が100%を越えることがある。又、可逆圧縮に対応する圧縮アルゴリズムでは、データを良好に圧縮できず、圧縮率が100%よりも大きくなることがある。又、外部から受信するときにノイズがのったデータや、送受信で異常が発生したようなデータは、圧縮アルゴリズムが想定しないデータとなっていることがあり、圧縮率が100%よりも大きくなることがある。
そのため、どのような場合でも圧縮後データを確保した記憶領域に格納できるように、圧縮処理に際し、従来、対象データよりも大きなサイズの領域が主記憶部7で確保されていた。図5〜図7での縦軸におけるメモリー量M2は、従来、圧縮後データを格納するために確保されていたメモリー量の一例を示す。
従来、圧縮処理に際し確保されていたメモリー量M2は、対象データに対して最低圧縮率を乗じたデータ量とされている。例えば、図5に示すように、最低圧縮率が200%であれば(最も圧縮率が大きいとき、圧縮後データのサイズが対象データの2倍になる場合)、従来、メモリー量M2は、対象データの2倍のサイズで確保される。そこで、図5では、メモリー量M2は、本実施形態の初期メモリー量M1(対象データ)の2倍(200%)として、図示している。尚、最低圧縮率が300%なら、メモリー量M2は、対象データの3倍の大きさとされる。
又、例えば、図6に示すように、最低圧縮率が400%なら(最も圧縮率が大きいとき、圧縮後データのサイズが対象データの4倍になる場合)、メモリー量M2は、対象データの4倍の大きさとされる。
又、例えば、図7に示すように、最低圧縮率が160%なら(最も圧縮率が大きいとき、圧縮後データのサイズが対象データの1.6倍になる場合)、メモリー量M2は、対象データの1.6倍の大きさとされる。
そして、図5〜図7でのD1のラインは、対象データのうち圧縮処理部81が圧縮処理を施していないデータ(未圧縮のデータ、以下、「未圧縮データ」と称する)のデータ量に予め定められた最低圧縮率を乗じたデータ量の推移を示すラインである。言い換えると、対象データのデータ量に予め定められた最低圧縮率を乗じたデータ量(メモリー量M2)から、対象データのうち圧縮処理済みのデータ(既に圧縮処理を施したデータ、以下、「処理済データ」と称する。)に最低圧縮率を乗じたデータ量を減じたデータ量を示す。尚、最低圧縮率での圧縮であれば、圧縮終了時の圧縮後データのデータ量は、メモリー量M2と等しくなる。以下の説明では、圧縮処理中の各時点での対象データのうち未圧縮のデータのデータ量に予め定められた最低圧縮率を乗じて得られるデータ量を「第1データ量D1」と称する。
又、図5〜図7でのD2のラインは、圧縮処理の進展に伴う実際の圧縮後データの推移の一例を示すラインである。言い換えると、処理済データのデータ量に実際の圧縮率を乗じたものであり、実際に生成される圧縮後データのデータ量の推移を示す。又、以下の説明では、圧縮処理中の各時点での処理済データの圧縮処理後のデータ量を「第2データ量D2」と称する。
尚、図5〜図7では、第2データ量D2のラインとして、対象データの圧縮率が30%程度の場合を示しているが、実際の圧縮率に応じ第2データ量D2のラインの傾きが変わる。
又、図5〜図7でのD1+D2のラインは、各時点での第1データ量D1のラインの値に第2データ量D2のラインを加算した値をプロットして得られるラインである。言い換えると、圧縮処理中の各時点で第1データ量D1に第2データ量D2を足して得られるデータ量である(以下、便宜上、「加算データ量(D1+D2)」と称する)。
そして、図5〜図7での開放開始時点T2は、1つの対象データの圧縮処理中、初期メモリー量M1が加算データ量(D1+D2)と等しくなる時点である。この時点に至れば、開放開始時点T2時点以降、圧縮率が大きくなっても(最低圧縮率となっても)全ての対象データを圧縮したときの(圧縮終了時の)圧縮後データのデータ量は、初期メモリー量M1を越えない。
この点について図5〜図7を参照して説明する。開放開始時点T2以降でのD1のラインは、時点T1からみれば、対象データのうちの未圧縮として残されている未圧縮データを最低圧縮率で圧縮したときのデータ量の大きさを示しているといえる(その大きさを図5〜図7でΔ1として図示)。
そして、同じ時点での図5〜図7での第2データ量D2(図5〜図7での矢印区間A)の大きさ(値)と、第1データ量D1と「D1+D2」の差のデータ量(図5〜図7での矢印区間B)は、定義上、当然等しい。そのため、初期メモリー量M1と開放開始時点T2での第2データ量の差(その大きさを図5〜図7でΔ2として図示)は、Δ1と等しくなる。
従って、開放開始時点T2以降、圧縮率が最低圧縮率で推移しても、対象データの圧縮処理終了時のデータ量が、初期メモリー量M1を越えることはない。言い換えると、開放開始時点T2以降に圧縮率が最低なったとしても(例えば、圧縮率が200%となっても)、圧縮終了時の圧縮後データのデータ量は、初期メモリー量M1の領域内に収まる(初期メモリー量M1から溢れない)。
そうすると、各最低圧縮率の場合において、圧縮率が最低とならない限り、加算データ量(D1+D2)と初期メモリー量M1が等しくなる開放開始時点T2以降から、開放開始時点T2以降の圧縮率に応じて、余剰開放メモリー領域の開放を開始すれば、圧縮後データを格納するために確保したメモリー量が足らないという事態は生じない。
そして、1つの対象データの圧縮処理中、初期メモリー量M1が加算データ量(D1+D2)と等しくなる時点である開放開始時点T2以降、対象データの圧縮率が最低圧縮率を下回れば、初期メモリー量M1のうち一部は、無駄に(余剰に)確保していることになる。そこで、制御部6は、主記憶部7の有効活用のため、開放開始時点T2よりも後に主記憶部7での初期メモリー量M1のうちの一部開放を開始する。
ここで、本実施形態では、上述のように、圧縮処理部81は、複数の圧縮アルゴリズムを用いて圧縮処理を行うことができる。そして、理論的な最低圧縮率は、圧縮アルゴリズムごとに異なる場合がある。又、各圧縮アルゴリズムでの最低圧縮率は、理論的あるいは経験的に把握できることがある。そこで、本実施形態の複合機100では、圧縮処理で用いる圧縮アルゴリズムに応じ、最低圧縮率は変化するため、圧縮処理部81が用いる圧縮アルゴリズムごとに予め最低圧縮率を示すデータが記憶される。例えば、ROM61(あるいは、HDD62でもよい)などの記憶装置が、各圧縮アルゴリズムの最低圧縮率を示すデータを記憶する。言い換えると、本実施形態の複合機100では、圧縮処理部81による圧縮に関し、最低圧縮率が予め定められる。そして、制御部6は圧縮アルゴリズムに応じて、ROM61等から最低圧縮率を読み出す。
具体的に、図5〜図7での領域F1(点描による網掛領域)が、初期メモリー量M1のうち、開放可能なメモリー量F1(余剰メモリー領域)となる。一方、図5〜図7での領域F2(斜め破線による網掛領域)が、制御部6が主記憶部7に確保させる領域である。
そこで、制御部6による主記憶部7の初期メモリー量M1のうちの余剰メモリー領域の開放処理の一例を説明する。
例えば、制御部6は、開放開始時点T2以降の各時点で加算データ量(D1+D2)を求め、初期メモリー量M1と加算データ量(D1+D2)の差分の絶対値分の領域を余剰メモリー領域として逐次開放すれば、開放開始時点T2以降に圧縮率が最低になっても、圧縮終了時の圧縮後データが初期メモリー量M1から溢れないように余剰メモリー領域を開放できる。開放開始時点T2以降の各時点での開放可能なメモリー量F1の演算式は、例えば、以下の式1のようになる。
(式1)F1=|初期メモリー量M1−加算データ量(D1+D2)|
別の開放処理を例に挙げる。例えば、制御部6は、現時点までの対象データの圧縮率を求める。そして、制御部6は、圧縮終了時の圧縮後データのサイズを推定する。例えば、制御部6は、処理済データのデータ量(現時点までに圧縮処理に供された対象データのデータ量)と、処理済データの圧縮処理後のデータ量(第2データ量D2、現時点までに圧縮した圧縮後データのデータ量)の比を求め、現時点での圧縮率を求める。現時点での圧縮率の演算式は、例えば、以下の式2のようになる。
(式2)現時点での圧縮率=処理済データのデータ量/第2データ量D2
そして、制御部6は、対象データ全体のデータ量に求めた圧縮率を乗じ、圧縮終了時の圧縮後データのサイズを推定する。圧縮終了時の圧縮後データの推定のデータ量は、例えば、以下の式3のようになる。
(式3)推定のデータ量=対象データのデータ量×現時点での圧縮率
又、制御部6は、対象データのうち、現時点で未圧縮のデータのデータ量に求めた圧縮率を乗じて未圧縮のデータを圧縮したときのデータ量を求め、現時点で圧縮処理済のデータ量(第2データ量D2)と、未圧縮のデータを圧縮したときのデータ量を加算して、圧縮終了時の圧縮後データのデータ量を推定しても良い。この場合の圧縮終了時の圧縮後データの推定のデータ量は、例えば、以下の式4のように求める。
(式4)推定のデータ量=未圧縮のデータ量×現時点での圧縮率+第2データ量D2
そして、例えば、制御部6は、最終的に初期メモリー量M1から開放すべき記憶領域の大きさ(余剰メモリー領域の大きさ、メモリー量)を認識するため、(式3)や(式4)により求めた圧縮終了時の圧縮後データの推定データ量と初期メモリー量M1の差を求める。この場合の最終的な余剰メモリー領域のメモリー量は、例えば、以下の式5のように求める。
(式5)最終的な余剰メモリー領域のメモリー量
=初期メモリー量M1−推定データ量
これにより、制御部6は、最終的にどれだけ初期メモリー量M1から開放すればよいか認識できる。
又、例えば、制御部6は、開放開始時点T2から圧縮が終了するまでの残時間t1を求める(開放開始時点T2〜T1の区間)。例えば、制御部6は、圧縮開始時(時点T0)から開放開始時点T2までに要した時間と、開放開始時点T2までに圧縮処理した対象データのデータ量から単位時間あたりの圧縮処理可能なデータ量を求めることができる。例えば、対象データに対する単位時間あたりの圧縮処理可能なデータ量は、例えば、以下の式6のように求める。
(式6)単位時間あたりの圧縮処理可能なデータ量
=開放開始時点T2までに圧縮処理した対象データのデータ量/T2
そして、制御部6は、対象データの全体のデータ量を単位時間あたりの圧縮処理可能なデータ量で除すことで、圧縮開始から圧縮終了までに要する時間(時点T0〜時点T1)を推定できる。圧縮開始から圧縮終了までに要する推定時間は、例えば、以下の式7のように求める。
(式7)推定時間=対象データの全体のデータ量/単位時間あたりの圧縮処理可能なデータ量
これにより、制御部6は、圧縮開始から圧縮終了までに要する時間(時点T0〜時点T1)から、時点T0から開放開始時点T2までの時間を減ずることにより、残時間t1を求めることができる。残時間t1は、例えば、以下の式8のように求める。
(式8)残時間t1=T1−T2
又、制御部6は、単位時間あたりの圧縮処理可能なデータ量で、未圧縮の対象データのデータ量を除すことで、残時間t1を求め得る。この場合、残時間t1は、例えば、以下の式9のように求め得る。
(式9)残時間t1=未圧縮の対象データ/単位時間あたりの圧縮処理可能なデータ量(式6より)
このように、制御部6は、様々な方法で残時間t1を求め得る。そして、制御部6は、開放すべき記憶領域の大きさ(余剰メモリー領域の大きさ)を残時間t1で除して、単位時間あたり開放可能なメモリー量を求め得る。この場合、単位時間あたり開放可能なメモリー量は、例えば、以下の式10のように求め得る。
(式10)単位時間あたりの開放可能なメモリー量
=最終的な余剰メモリー領域のメモリー量(式5より)/残時間t1
そして、制御部6は、開放開始時点T2からの経過時間に単位時間あたり開放可能なメモリー量を乗じて、開放開始時点T2以降の各時点での開放可能なメモリー量F1を求めることができる。この場合の演算式は、例えば、以下の式11のようになる。
(式11)
F1=開放開始時点T2からの経過時間×単位時間あたりの開放可能なメモリー量
そして、図5に示すように、制御部6は、各時点での開放可能なメモリー量F1に基づき、逐次、初期メモリー量M1からの余剰メモリー領域の開放処理を行う。
尚、複数の式を挙げて初期メモリー量M1からの余剰メモリー領域の開放について説明したが、上記の開放処理に限られるものではない。主記憶部7で圧縮後データのために確保している記憶領域から溢れないようにできれば、他種の余剰メモリー領域の開放処理の手法を採用してもかまわない。
(圧縮処理の流れ)
次に、図8を用いて、第1の実施形態に係るデータ処理装置101の圧縮処理の流れを説明する。図8は、データ処理装置101での圧縮処理の流れの一例を示すフローチャートである。
まず、図8でのスタートは、圧縮処理を行う画像データなどの対象データが画像読取部1bや通信部9やHDD62から主記憶部7に入力された時点であり、ジョブ(HDD62への記憶や外部への送信)のため圧縮処理を開始する時点である。
圧縮処理を開始するに際し、制御部6は、圧縮後データを格納するための初期メモリー量M1を主記憶部7に確保させる(ステップ♯1)。そして、制御部6は、ROM61などから圧縮アルゴリズムに応じて予め定められた最低圧縮率を示すデータを読み出す(ステップ♯2)。更に、制御部6は、画像処理部8(圧縮処理部81)に、ジョブに応じた圧縮アルゴリズムで対象データの圧縮を行わせる(開始させる)(ステップ♯3)。
そして、制御部6は、対象データのうち、対象データのうち圧縮処理部81が圧縮処理を施していないデータ量に予め定められた最低圧縮率を乗じたデータ量である第1データ量D1を求め、第1データ量D1に現時点での処理済データの圧縮処理後のデータ量である第2データ量D2を加算して現時点での加算データ量(D1+D2)を求める(ステップ♯4)。
次に、制御部6は、求めた加算データ量(D1+D2)と初期メモリー量M1が等しくなったか否かを確認する(ステップ♯5)。もし、等しくなければ(ステップ♯5のNo)、制御部6は、現時点での圧縮処理済みのデータ量(第2データ量)が初期メモリー量M1以上であるか否かを確認する(ステップ♯6)。
もし、初期メモリー量M1以上となっていれば(ステップ♯6のYes)、圧縮の意味をなさないほど圧縮後のデータ量が大きくなっているので、制御部6は、圧縮処理を中止する(ステップ♯7→エンド)。圧縮処理を中止したとき(ステップ♯7、エンドの後)、主記憶部7は、圧縮後データのかわりに対象データを格納し、制御部6は、圧縮処理前のデータ(対象データ)を用いてジョブを実行させる。一方、初期メモリー量M1以上で無ければ(ステップ♯6のNo)、フローはステップ♯3に戻り、制御部6は、圧縮処理部81に圧縮処理を続けさせる。
又、求めた加算データ量(D1+D2)と初期メモリー量M1が等しくなったのであれば(開放開始時点T2となれば)(ステップ♯5のYes)、例えば、制御部6は、上述の各式などを演算し、確保しているメモリー量から圧縮終了時の圧縮後データがオーバーフローしない範囲で初期メモリー量M1のうちの余剰メモリー領域の逐次開放を開始する(ステップ♯8)。
そして、制御部6は、対象データの圧縮処理が終了したか否かを確認する(ステップ♯9)。もし、圧縮処理が終了していなければ(ステップ♯9のNo)、フローはステップ♯8に戻る。一方、圧縮処理が終了していれば(ステップ♯9のYes)、フローは終了する(エンド)。
このようにして、本実施形態のデータ処理装置101、画像形成装置(複合機100)は、圧縮処理の対象となる対象データに対して圧縮処理を行う圧縮処理部81と、圧縮処理を行うとき、対象データの大きさに応じ、圧縮処理部81が対象データを圧縮処理した圧縮後データを記憶するための領域を、初期メモリー量M1として確保し、確保した領域に圧縮後データを格納する主記憶部7と、主記憶部7を制御する制御部6と、を含み、制御部6は、対象データのうち圧縮処理部81が圧縮処理を施していないデータ量に予め定められた最低圧縮率を乗じたデータ量である第1データ量D1に、対象データのうち圧縮処理部が既に圧縮処理を施したデータである処理済データの圧縮処理後のデータ量である第2データ量D2を加算した加算データ量(D1+D2)を求め、加算データ量(D1+D2)が初期メモリー量M1と等しくなった時点を開放開始時点T2とし、開放開始時点T2よりも後に、初期メモリー量M1のうちの余剰メモリー領域の開放を開始する。
これにより、最低圧縮率でデータが圧縮されても初期メモリー量M1を越えないと思われる時点(加算データ量(D1+D2)が初期メモリー量M1と等しくなった開放開始時点T2)よりも後になってから余剰メモリー領域の開放が開始される。従って、圧縮後データの主記憶部7への格納が開始されてから直ちに余剰メモリー領域の開放を行わず、開放開始時点T2よりも後に余剰メモリー領域の開放を開始するので、余剰部分を開放する処理の頻度が少なくなり、確保した領域を開放する処理の負荷を軽減することができる。
又、制御部6は、開放開始時点T2以降に加算データ量(D1+D2)を求め、初期メモリー量M1と加算データ量(D1+D2)の差分の絶対値分の領域を余剰メモリー領域として開放する。これにより、開放確認時点以降の圧縮処理で圧縮率が最低圧縮率となっても初期メモリー量M1を超えない範囲で余剰な主記憶部7の部分が開放される。従って、圧縮後データが初期メモリー量M1からはみ出すような確保領域の開放は生じない。
又、制御部6は、圧縮処理部81による圧縮での圧縮アルゴリズムに応じて、(予め定められた)最低圧縮率を変える。これにより、圧縮アルゴリズムの特性に応じて最低圧縮率を定めることができ、圧縮アルゴリズムに応じて適切に余剰メモリー領域の開放を行うことができる。
又、主記憶部7は、対象データのデータ量と同じ大きさのデータ量で、初期メモリー量M1を確保する。これにより、主記憶部7は、記憶領域中、初期メモリー量M1として、圧縮後データを格納するための領域を無駄に確保することを避けることができる。
又、圧縮処理部81は、圧縮処理済みの対象データでの圧縮率が100%を越えるとき圧縮処理を停止し、主記憶部7は、圧縮後データのかわりに対象データを格納する。これにより、圧縮率が100%をこえるような(圧縮後の方がデータのサイズが大きくなるような)圧縮は行われない。
画像形成装置は、データ処理装置101を含む。これにより、画像形成装置が扱う画像データに関し、圧縮後データの主記憶部7への格納が開始されてから直ちに余剰メモリー領域の開放を行わないので(初期メモリー量M1を越えないと判明した開放開始時点T2から余剰メモリー領域の開放を行うので)、画像形成装置での余剰部分を開放する処理の頻度が少なく、確保した領域を開放する処理の負荷を軽減することができる。従って、画像データの圧縮処理での負荷が軽減され、処理が安定している画像形成装置を提供することができる。
(第2の実施形態)
次に、図9を用いて、第2の実施形態を説明する。図9は、第2の実施形態に係る複合機100(データ処理装置101)での圧縮処理の一例を説明するためのグラフである。
第1の実施形態では、制御部6は、余剰メモリー領域の開放処理を逐次行ったが、第2の実施形態では、制御部6は、開放できる余剰メモリー領域が予め定められた規定量D3に至ると、余剰メモリー領域の開放処理を行う点で異なる。その他の点については第1の実施形態と同様でよく、共通する点については、特に説明する場合を除き、第1の実施形態の記載を援用できるものとして、説明、図示を省略する。
図9は、ほぼ図5と同様であり、縦軸は、主記憶部7の記憶領域の量(メモリー量、データ量)を示す。又、図9での横軸は、圧縮処理における時間の経過を示す。そして、T0の時点は、圧縮処理部81が圧縮処理の対象となる画像データ(対象データ)の圧縮を開始した時点を示し、T1の時点は、圧縮処理部81が対象データの圧縮を終了(終了)した時点を示す。
そして、第2の実施形態では、第1の実施形態と同様、制御部6が開放開始時点T2の時点から余剰メモリー領域の開放を開始する点は同じである。そして、制御部6は、確保しているメモリー量が圧縮終了時の圧縮後データのデータ量と同じとなるように、開放開始時点T2から初期メモリー量M1を開放してゆく(減らしてゆく)点も同じである。
しかし、本実施形態では、制御部6は、余剰メモリー領域として開放できるメモリー量が予め定められた規定量D3となったとき余剰メモリー領域の開放処理を行う。言い換えると、制御部6は、開放できるメモリー量が第1の実施形態のときに余剰メモリー領域として逐次開放するメモリー量よりも多くなり、規定量D3蓄積されてから余剰メモリー領域を開放する処理を行う。これにより、制御部6が開放処理を行う頻度が少なくなり、制御部6の処理負荷が軽くなる。
ここで、予め定められた規定量D3は、データ処理装置101が処理を行う単位の整数倍(1以上の整数)としてもよい。例えば、制御部6や主記憶部7が4キロバイト単位でデータの処理を行うならば、予め定められた規定量D3は、4キロバイトや8キロバイトなど、4キロバイトの整数倍とする。これにより、データ処理装置101にとって意味のあるデータ量に基づき、余剰メモリー領域の開放がなされ、制御部6は、開放された領域を圧縮処理以外に直ちに用いることができる。
このようにして、本実施形態のデータ処理装置101、画像形成装置(複合機100)の制御部6は、開放開始時点T2から、及び、直前の余剰メモリー領域の開放から、開放できるメモリー量が予め定められた規定量D3に至ると、初期メモリー量M1から規定量D3分の領域を余剰メモリー領域として開放する。
これにより、圧縮処理の進展に伴い、開放できる余剰主記憶部7の容量が規定量D3を超えたときに、余剰メモリー領域の開放がなされる。これにより、余剰メモリー領域ができると直ちに開放処理を行うような頻繁な余剰メモリー領域の開放処理を行わずに済む。
次に、他の実施形態を説明する。上記の第1、第2の実施形態では、初期メモリー量M1と加算データ量(D1+D2)が等しくなった開放開始時点T2から、各式を用いる等により、時間に対し一定の割合(メモリー量)で初期メモリー量M1の余剰メモリー領域を開放した。しかし、場合によっては、開放開始時点T2以降に、開放開始時点T2での圧縮率よりも圧縮率が大きくなることも考えられる。
そこで、例えば、残時間の間に現時点での圧縮率を確認するための確認時点を設ける。そして、制御部6は、上記の各式を用い、各確認時点で再度、圧縮処理終了後の圧縮後データのデータ量を推定し直し、時間に対し開放開始時点T2から初期メモリー量M1を開放してゆくデータ量の割合を変化させてもよい。
例えば、制御部6が、このような各確認時点での再計算を行うことにより、各確認時点で初期メモリー量M1から開放したメモリー量が適切か否かを判断し、開放開始時点T2よりも後に圧縮率が大きくなったときでも、開放するメモリー量を減らして対応できる。又、制御部6は、確認時点での再計算から見て、初期メモリー量M1からメモリー量を開放しすぎであれば、初期メモリー量M1の一部の開放を停止できる。
又、上記の実施形態では、画像形成装置がデータ処理装置101を搭載する例を説明したが、データ処理装置101は画像形成装置に搭載されたものに限られない。例えば、画像データの処理を行うコンピューターなど、画像データ等の圧縮処理を行える装置に本発明を適用することができる。
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。