以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態)を詳細に説明する。
なお、以下、画像処理装置および画像形成装置の構成および動作について実施形態の説明をするが、画像処理装置および画像形成装置の動作が画像処理方法および画像形成方法となっている。
また、画像処理を行う画像処理装置に画像形成を行う画像形成部を付加したものが画像形成装置であり、以下、画像形成装置の具体例を用いて本願発明の実施形態の説明を行う。
〈第1実施形態〉
図1は、本発明の第1実施形態の画像形成装置の構成を示すブロック図である。
この図1において、制御部としてのCPU101、各種設定データを保持しておく記憶部としてのROM102、画像データなどのための書き換え可能な記憶部(画像メモリ)としてのRAM103、外部と通信するためのUART部やLANインタフェースなどのI/F部105が、CPU101の外部バスをそのまま使用するローカルバス100Aに接続されている。
また、IDEインタフェース部112,シリアル通信のためのUART113,画像データに対して画像処理を施す画像処理ハードウェア#2としての画像処理部122が、上述したローカルバス100Aとは別の、汎用バスとしてあるいは拡張バスとしてのPCIバス#0(以下、PCIバス100B)に接続されている。なお、このPCIバス100Bは、PCIブリッジ#0(以下、PCIブリッジ107)を介して、前述したローカルバス100Aに接続されている。
また、画像データに対して画像処理を施す画像処理ハードウェア#1としての画像処理部121が、上述したローカルバス100AやPCIバス100Bとは別の、汎用バスとしてあるいは拡張バスとしてのPCIバス#1(以下、PCIバス100C)に接続されている。なお、このPCIバス100Cは、PCIブリッジ#1(以下、PCIブリッジ108)を介して、前述したローカルバス100Aに接続されている。また、この画像処理部121には、記録紙上に画像を形成するプリンタエンジン140が接続されている。
なお、CPU101に対しては高速なローカルバス100Aを設けておき、それとは別に、PCIバスなどの汎用バスを用いることにより、多くのインターフェース制御の実現と比較的高速なデータ転送を実現している。一般的には、ローカルバス100Aは、PCIバス100B,100Cに比較して、数倍のデータ転送能力を有している。
すなわち、この第1実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。
ここで、図1のブロック図を更に詳細に示した図2のブロック図と図3以降のフローチャートを参照して、画像データの流れと、PCIバスの帯域がボトルネックとならずに高速化を実現できるかについて、詳しく説明する。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する(図3中のステップS1)。空きがあれば(図3中のステップS1でYes)、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図3中のステップS2、図2中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる(図3中のステップS3A)。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。
画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば(図3中のステップS3AでYes)、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する(図3中のステップS4A)。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ(図3中のステップS3AでNo)、CPU101は画像処理部122の動作状態を調べる(図3中のステップS3B)。なお、画像処理部122は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。
画像処理部122が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば(図3中のステップS3BでYes)、CPU101は、画像処理部122に対して画像変換処理Aの開始を要求する(図3中のステップS4B)。
ここで、画像変換処理Aの開始が要求された画像処理部121または画像処理部122のいずれかは、画像変換処理実行中状態に移行する(図4中のステップS1)。そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データをRAM103から読み出す(図4中のステップS2)。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図2中の(b))。
また、CPU101によって画像処理部122に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ107,PCIバス100Bを経由して、RAM103から画像処理部122に対してDMA転送される(図2中の(d))。
そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データに対して所定の画像処理(図4中のステップS3)と圧縮処理(図4中のステップS4)とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。
ここで、画像処理部121または122は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データを、RAM103の圧縮ビットマップ画像データ用の領域に格納する(図4中のステップS5)。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100C,PCIブリッジ108,ローカルバス100Aを経由して、画像処理部121からRAM103に対してDMA転送される(図2中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する(図4中のステップS6)。
また、画像処理部122が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部122からRAM103に対してDMA転送される(図2中の(e))。そして、画像処理部122は、画像変換処理完了状態に移行する(図4中のステップS6)。
また、以上のDMA転送(図4中のステップS2)が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121または122が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる(図3中のステップS5)。
1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ(図3中のステップS5でNo)、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認(図3中のステップS1)をして、空きがあれば(図3中のステップS1でYes)、次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図3中のステップS2、図2中の(a))。
そして、CPU101による画像処理部121または122の動作状態を調査(図3中のステップS3A、ステップS3B)、CPU101による画像処理部121または122に対する画像変換処理Aの開始要求(図3中のステップS4A、ステップS4B)、画像処理部121または122での画像変換処理(図4中のステップS1〜S6)、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
なお、この第1実施形態では、画像処理部121と122とのいずれか一方が画像変換処理中であれば、画像変換処理完了となった他方の画像処理部が選択されて画像変換処理が開始されるため、バンド単位で処理タイミングを分担しつつ、複数の画像処理部が交互に画像変換処理を実行することになる。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら(図3中のステップS5でY、ステップS6でYes)、画像出力処理1の開始要求を、プリンタエンジン140が接続された画像処理部121に対して与える(図3中のステップS7)。
また、ここで、画像処理部121は、上述した画像変換処理(圧縮ビットマップ画像データの生成)の他に、圧縮ビットマップ画像データをRAM103からプリンタエンジン140に転送する機能も有している。
ここで、CPU101は画像処理部121の動作状態を調べる(図5中のステップS1)。そして、CPU101は、画像処理部121が画像出力処理完了状態でなければ画像出力処理の開始を待機し(図5中のステップS1でNo)、画像処出力理完了状態であれば(図5中のステップS1でYes)画像処理部121に対して画像出力処理Bの開始要求を行う(図5中のステップS2)。なお、CPU101は、次の画像出力処理の要求があれば(図5中のステップS3でYes)ステップS1に戻り画像処理部121の動作状態を調べ、次の画像出力処理の要求がなければ(図5中のステップS3でNo)この画像出力処理1を終了する。
ここで、画像処理部121は、画像出力処理実行中状態に移行する(図6中のステップS1)。そして、画像処理部121は、圧縮ビットマップ画像データをRAM103から読み出す(図6中のステップS2)。
そして、この画像処理部121は、プリンタエンジン140の画像形成にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する(図6中のステップS3)。そして、画像処理部121は、1頁分の圧縮ビットマップ画像データの転送が完了すれば、画像出力処理完了状態に移行する(図6中のステップS4)。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる(図3中のステップS8)。ここで、次の画像データが存在すれば(図3中のステップS8でYes)、CPU101は図3のステップ1からの処理を繰り返す。また、次の画像データが存在しなければ(図3中のステップS8でNo)、CPU101は全ての処理を終了し完了状態になる。
以上の構成と動作において、画像処理部121と画像処理部122とで圧縮ビットマップ画像データの生成が交互に並行して行われる。この結果、バンド単位で処理タイミングを分担しつつ、複数の画像処理部121と122とが画像処理を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部121が画像出力処理を実行していれば、画像処理部122にて圧縮ビットマップ画像データの生成が並行して行われる。
すなわち、プリンタエンジン140が接続されていない画像処理部122で圧縮ビットマップ画像データを生成し、プリンタエンジン140が接続されている画像処理部121で圧縮ビットマップ画像データをプリンタエンジン140に転送することで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、この第1実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈第2実施形態〉
図7は、本発明の第2実施形態の画像形成装置の構成を示すブロック図である。この図7において、第1実施形態で用いた図1と同一物には同一番号を付すことで、重複した説明を省略する。
図7に示される第2実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、専用バス100Dにより互いに接続されている。この場合の専用バス100DはPCIバス程度のデータ転送速度を有していればよい。また、この第2実施形態では、プリンタエンジン140が画像処理部122の出力に接続されている。
すなわち、この第2実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。なお、画像処理部121と122とは、全く同一の機能を有していなくてもよく、後述する処理を実行できる最低限の機能を備えていればよい。
ここで、図7のブロック図を更に詳細に示した図8のブロック図と図9以降のフローチャートを参照して、画像データの流れと、PCIバスの帯域がボトルネックとならずに高速化を実現できるかについて、詳しく説明する。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する(図9中のステップS1)。空きがあれば(図9中のステップS1でYes)、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図9中のステップS2、図8中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる(図9中のステップS3)。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aを実行する機能を有している。
画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば(図9中のステップS3でYes)、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する(図9中のステップS4)。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ(図9中のステップS3でNo)、CPU101は、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になるまで待機する。
ここで、画像変換処理Aの開始が要求された画像処理部121は、画像変換処理実行中状態に移行する(図10中のステップS1)。そして、画像処理部121は、バンド単位のビットマップ形式の画像データをRAM103から読み出す(図10中のステップS2)。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図8中の(b))。
そして、画像処理部121は、バンド単位のビットマップ形式の画像データに対して所定の画像処理(図10中のステップS3)と圧縮処理(図10中のステップS4)とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。
ここで、画像処理部121は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データ用を、専用バス100Dを介して画像処理部122に転送する(図10中のステップS5)。そして、圧縮ビットマップ画像データの転送を受けた画像処理部122が、RAM103の圧縮ビットマップ画像データ用の領域に格納する(図10中のステップS6)。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、画像処理部122,PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部121からRAM103に対してPCIO転送される(図8中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する(図10中のステップS7)。
また、以上のDMA転送(図10中のステップS2)が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる(図9中のステップS5)。
1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ(図9中のステップS5でNo)、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認(図9中のステップS1)をして、空きがあれば(図9中のステップS1でYes)、次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図9中のステップS2、図8中の(a))。
そして、CPU101による画像処理部121の動作状態を調査(図9中のステップS3)、CPU101による画像処理部121に対する画像変換処理Aの開始要求(図9中のステップS4)、画像処理部121での画像変換処理(図10中のステップS1〜S4)、画像処理部121から画像処理部122経由でのRAM103への圧縮ビットマップ画像データの転送、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら(図9中のステップS5でY、ステップS6でYes)、画像出力処理1の開始要求を、プリンタエンジン140が接続された画像処理部122に対して与える(図9中のステップS7)。
また、ここで、画像処理部122は、前述したRAM103への圧縮ビットマップ画像データの転送機能の他に、少なくとも、圧縮ビットマップ画像データをRAM103からプリンタエンジン140に転送する機能を有していればよい。
ここで、CPU101は画像処理部122の動作状態を調べる(図11中のステップS1)。そして、CPU101は、画像処理部122が画像出力処理完了状態でなければ画像出力処理の開始を待機し(図11中のステップS1でNo)、画像処出力理完了状態であれば(図11中のステップS1でYes)画像処理部122に対して画像出力処理Bの開始要求を行う(図11中のステップS2)。なお、CPU101は、次の画像出力処理の要求があれば(図11中のステップS3でYes)ステップS1に戻り画像処理部122の動作状態を調べ、次の画像出力処理の要求がなければ(図11中のステップS3でNo)この画像出力処理1を終了する。
ここで、画像処理部122は、画像出力処理実行中状態に移行する(図12中のステップS1)。そして、画像処理部122は、圧縮ビットマップ画像データをRAM103から読み出す(図12中のステップS2)。
そして、この画像処理部122は、プリンタエンジン140の画像形成にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する(図12中のステップS3)。そして、画像処理部122は、1頁分の圧縮ビットマップ画像データの転送が完了すれば、画像出力処理完了状態に移行する(図12中のステップS4)。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる(図9中のステップS8)。ここで、次の画像データが存在すれば(図9中のステップS8でYes)、CPU101は図9のステップ1からの処理を繰り返す。また、次の画像データが存在しなければ(図9中のステップS8でNo)、CPU101は全ての処理を終了し完了状態になる。
以上の構成と動作において、画像処理部121と画像処理部122とで圧縮ビットマップ画像データの生成とRAM103への格納が分担して行われる。この結果、バンド単位で処理タイミングを分担しつつ、複数の画像処理部121と122とが画像処理とその後のRAM103への格納を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部122が画像出力処理を実行していれば、画像処理部121にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。
すなわち、プリンタエンジン140が接続されていない画像処理部121でバンド単位のビットマップ形式の画像データをRAM103からの読み出して圧縮ビットマップ画像データを生成し、プリンタエンジン140が接続されている画像処理部121で圧縮ビットマップ画像データをRAM103に保存すると共にプリンタエンジン140に転送することで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、第2実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈第3実施形態〉
図13は、本発明の第3実施形態の画像形成装置の構成を示すブロック図である。この図13において、第1実施形態で用いた図1と同一物には同一番号を付すことで、重複した説明を省略する。
図13に示される第3実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、専用バス100Dにより互いに接続されている。この場合の専用バス100DはPCIバス程度のデータ転送速度を有していればよい。また、この第3実施形態では、プリンタエンジン140が画像処理部121の出力に接続されている。
すなわち、この第3実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。なお、画像処理部121と122とは、全く同一の機能を有していなくてもよく、後述する処理を実行できる最低限の機能を備えていればよい。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する。空きがあれば、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図13中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ、CPU101は画像処理部122の動作状態を調べる。ここで、画像処理部122は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部122が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部122に対して画像変換処理Aの開始を要求する。
ここで、画像変換処理Aの開始が要求された画像処理部121または画像処理部122のいずれかは、画像変換処理実行中状態に移行する。そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データをRAM103から読み出す。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図13中の(b))。
また、CPU101によって画像処理部122に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ107,PCIバス100Bを経由して、RAM103から画像処理部122に対してDMA転送される(図13中の(d))。
そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。ここで、画像処理部121または122は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データを、RAM103の圧縮ビットマップ画像データ用の領域に格納する。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100C,PCIブリッジ108,ローカルバス100Aを経由して、画像処理部121からRAM103に対してDMA転送される(図13中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する。
また、画像処理部122が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部122からRAM103に対してDMA転送される(図13中の(e))。そして、画像処理部122は、画像変換処理完了状態に移行する。
また、以上のDMA転送が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121または122が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる。1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認をして、空きがあれば次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図13中の(a))。
そして、CPU101による画像処理部121または122の動作状態を調査、CPU101による画像処理部121または122に対する画像変換処理Aの開始要求、画像処理部121または122での画像変換処理、画像処理部121または122からRAM103への圧縮ビットマップ画像データの転送、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
なお、この第3実施形態では、画像処理部121と122とのいずれか一方が画像変換処理中であれば、画像変換処理完了となった他方の画像処理部が選択されて画像変換処理が開始されるため、バンド単位で処理タイミングを分担しつつ、複数の画像処理部が交互に画像変換処理を実行することになる。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら、画像出力処理1の開始要求を、プリンタエンジン140が接続された画像処理部121と、プリンタエンジン140が接続されていない画像処理部122との両方に対して与える。
ここで、CPU101は画像処理部121と122の動作状態を調べる。そして、CPU101は、画像処理部121と122のいずれかが画像出力処理完了状態であれば、画像出力処理完了状態になっている画像処理部121または122に対して画像出力処理Bの開始要求を行う。なお、CPU101は、次の画像出力処理の要求があれば、画像処理部121と122の動作状態を調べ、次の画像出力処理の要求がなければ画像出力処理1を終了する。
ここで、CPU101から画像出力処理Bの開始要求を受けた画像処理部121または122は、画像出力処理実行中状態に移行する。そして、画像処理部121または122は、圧縮ビットマップ画像データをRAM103から読み出す。
そして、この画像処理部121または122は、プリンタエンジン140の画像形成にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する。そして、画像処理部122は、1頁分の圧縮ビットマップ画像データの転送が完了すれば、画像出力処理完了状態に移行する。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる。ここで、次の画像データが存在すれば、CPU101は処理を繰り返す。また、次の画像データが存在しなければ、CPU101は全ての処理を終了し完了状態になる。
なお、この第3実施形態では、画像処理部121と122とが専用バス100Dで接続されていることにより、画像処理部121と122とのいずれか一方が画像出力処理中であれば、画像出力処理完了となった他方の画像処理部が選択されて画像出力処理が開始されるため、処理タイミングを分担しつつ、複数の画像処理部が交互に画像出力処理を実行することになる(図13中の(g),(g’))。
すなわち、プリンタエンジン140が接続された画像処理部121が何らかの処理を実行中であれば、プリンタエンジン140が接続されていない画像処理部122が画像出力処理を実行して、出力用画像データを専用バス100Dと画像処理部121を介してプリンタエンジン140に送ることが可能である。
以上の構成と動作において、画像処理部121と画像処理部122とで画像変換処理や画像出力処理が交互に並行して行われる。この結果、バンド単位で処理タイミングを分担しつつ、また、画像変換処理と画像出力処理との処理タイミングを分担しつつ、複数の画像処理部121と122とが画像処理を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部122が画像出力処理を実行していれば、画像処理部121にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部121が画像出力処理を実行していれば、画像処理部122にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。
すなわち、画像処理部121と画像処理部122とを専用バス100Dで接続したことにより、画像変換処理の処理タイミングを分担するだけではなく、画像出力処理をも分担することが可能になる。そして、画像変換処理と画像出力処理との間でも処理タイミングを分担することが可能になる。
このように、画像変換処理と画像出力処理とで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、第3実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈第4実施形態〉
図14は、本発明の第4実施形態の画像形成装置の構成を示すブロック図である。この図14において、第1実施形態で用いた図1と同一物には同一番号を付すことで、重複した説明を省略する。
図14に示される第4実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、専用バス100Dにより互いに接続されている。この場合の専用バス100DはPCIバス程度のデータ転送速度を有していればよい。また、この第4実施形態では、プリンタエンジン140が画像処理部121の出力に接続されている。
すなわち、この第4実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。なお、画像処理部121と122とは、全く同一の機能を有していなくてもよく、後述する処理を実行できる最低限の機能を備えていればよい。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する。空きがあれば、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図14中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aを実行する機能を有している。
画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ、CPU101は、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になるまで待機する。
ここで、画像変換処理Aの開始が要求された画像処理部121は、画像変換処理実行中状態に移行する。そして、画像処理部121は、バンド単位のビットマップ形式の画像データをRAM103から読み出す。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図14中の(b))。
そして、画像処理部121は、バンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。
ここで、画像処理部121は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データ用を、専用バス100Dを介して画像処理部122に転送する。そして、圧縮ビットマップ画像データの転送を受けた画像処理部122が、RAM103の圧縮ビットマップ画像データ用の領域に格納する。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、画像処理部122,PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部121からRAM103に対してPCIO転送される(図14中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する。
また、以上のDMA転送が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる。
1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認をして、空きがあれば、次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図14中の(a))。
そして、CPU101による画像処理部121の動作状態を調査、CPU101による画像処理部121に対する画像変換処理Aの開始要求、画像処理部121での画像変換処理、画像処理部121から画像処理部122経由でのRAM103への圧縮ビットマップ画像データの転送、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
以上の構成と動作において、画像処理部121と画像処理部122とで圧縮ビットマップ画像データの生成とRAM103への格納が分担して行われる。この結果、バンド単位で処理タイミングを分担しつつ、複数の画像処理部121と122とが画像処理とその後のRAM103への格納を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら、画像出力処理1の開始要求を、プリンタエンジン140が接続された画像処理部121と、プリンタエンジン140が接続されていない画像処理部122との両方に対して与える。
ここで、CPU101は画像処理部121と122の動作状態を調べる。そして、CPU101は、画像処理部121と122のいずれかが画像出力処理完了状態であれば、画像出力処理完了状態になっている画像処理部121または122に対して画像出力処理Bの開始要求を行う。なお、CPU101は、次の画像出力処理の要求があれば、画像処理部121と122の動作状態を調べ、次の画像出力処理の要求がなければ画像出力処理1を終了する。
ここで、CPU101から画像出力処理Bの開始要求を受けた画像処理部121または122は、画像出力処理実行中状態に移行する。そして、画像処理部121または122は、圧縮ビットマップ画像データをRAM103から読み出す。
そして、この画像処理部121または122は、プリンタエンジン140の画像形成にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する。そして、画像処理部122は、1頁分の圧縮ビットマップ画像データの転送が完了すれば、画像出力処理完了状態に移行する。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる。ここで、次の画像データが存在すれば、CPU101は処理を繰り返す。また、次の画像データが存在しなければ、CPU101は全ての処理を終了し完了状態になる。
なお、この第4実施形態では、画像処理部121と122とが専用バス100Dで接続されていることにより、画像処理部121と122とのいずれか一方が画像出力処理中であれば、画像出力処理完了となった他方の画像処理部が選択されて画像出力処理が開始されるため、処理タイミングを分担しつつ、複数の画像処理部が交互に画像出力処理を実行することになる(図14中の(e),(f))。
すなわち、プリンタエンジン140が接続された画像処理部121が何らかの処理を実行中であれば、プリンタエンジン140が接続されていない画像処理部122が画像出力処理を実行して、出力用画像データを専用バス100Dと画像処理部121を介してプリンタエンジン140に送ることが可能である。
以上の構成と動作において、画像処理部121と画像処理部122とで画像変換処理や画像変換処理後のRAM103への転送や画像出力処理が分担あるいは交互に並行して行われる。この結果、バンド単位で処理タイミングを分担しつつ、また、画像変換処理と画像出力処理との処理タイミングを分担しつつ、複数の画像処理部121と122とが画像処理を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
すなわち、画像処理部121と画像処理部122とを専用バス100Dで接続したことにより、画像変換処理の処理や転送のタイミングを分担するだけではなく、画像出力処理をも分担することが可能になる。そして、画像変換処理と画像出力処理との間でも処理タイミングを分担することが可能になる。
このように、画像変換処理と画像出力処理とで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、第4実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈第5実施形態〉
図15は、本発明の第5実施形態の画像形成装置の構成を示すブロック図である。この図15において、第1実施形態で用いた図1と同一物には同一番号を付すことで、重複した説明を省略する。
図15に示される第5実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、それぞれがビデオポートからプリンタエンジン140の入力ポートに接続されている。この場合、プリンタエンジン140は、2つの入力ポートを有していればよい。
すなわち、この第5実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。なお、画像処理部121と122とは、全く同一の機能を有していなくてもよく、後述する処理を実行できる最低限の機能を備えていればよい。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する。空きがあれば、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図15中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ、CPU101は画像処理部122の動作状態を調べる。ここで、画像処理部122は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部122が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部122に対して画像変換処理Aの開始を要求する。
ここで、画像変換処理Aの開始が要求された画像処理部121または画像処理部122のいずれかは、画像変換処理実行中状態に移行する。そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データをRAM103から読み出す。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図15中の(b))。
また、CPU101によって画像処理部122に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ107,PCIバス100Bを経由して、RAM103から画像処理部122に対してDMA転送される(図15中の(d))。
そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。ここで、画像処理部121または122は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データを、RAM103の圧縮ビットマップ画像データ用の領域に格納する。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100C,PCIブリッジ108,ローカルバス100Aを経由して、画像処理部121からRAM103に対してDMA転送される(図15中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する。
また、画像処理部122が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部122からRAM103に対してDMA転送される(図15中の(e))。そして、画像処理部122は、画像変換処理完了状態に移行する。
また、以上のDMA転送が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121または122が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる。1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認をして、空きがあれば次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図15中の(a))。
そして、CPU101による画像処理部121または122の動作状態を調査、CPU101による画像処理部121または122に対する画像変換処理Aの開始要求、画像処理部121または122での画像変換処理、画像処理部121または122からRAM103への圧縮ビットマップ画像データの転送、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
なお、この第5実施形態では、画像処理部121と122とのいずれか一方が画像変換処理中であれば、画像変換処理完了となった他方の画像処理部が選択されて画像変換処理が開始されるため、バンド単位で処理タイミングを分担しつつ、複数の画像処理部が交互に画像変換処理を実行することになる。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら、画像出力処理1の開始要求を、プリンタエンジン140の画像形成色に応じて、画像処理部121と画像処理部122とに対して与える。
ここで、CPU101は、プリンタエンジン140の画像形成色がC(シアン)あるいはM(マゼンタ)であれば、画像処理部121に対して画像出力処理Bの開始要求を行う。また、CPU101は、プリンタエンジン140の画像形成色がY(イエロー)あるいはK(黒)であれば、画像処理部122に対して画像出力処理Bの開始要求を行う。
ここで、CPU101から画像出力処理Bの開始要求を受けた画像処理部121は、画像出力処理実行中状態に移行し、CあるいはMの圧縮ビットマップ画像データをRAM103から読み出す。また、CPU101から画像出力処理Bの開始要求を受けた画像処理部122は、画像出力処理実行中状態に移行し、YあるいはKの圧縮ビットマップ画像データをRAM103から読み出す。
すなわち、この画像処理部121または122は、プリンタエンジン140の画像形成色順にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる。ここで、次の画像データが存在すれば、CPU101は処理を繰り返す。また、次の画像データが存在しなければ、CPU101は全ての処理を終了し完了状態になる。
なお、この第5実施形態では、画像処理部121と122とが、それぞれのビデオポートを介してプリンタエンジン140と接続されていることにより、処理タイミングを分担しつつ、複数の画像処理部が交互に画像出力処理を実行することになる(図15中の(g),(g’))。
以上の構成と動作において、画像処理部121と画像処理部122とで画像変換処理や画像出力処理が交互に並行して行われる。この結果、バンド単位で処理タイミングを分担しつつ、また、画像変換処理と画像出力処理との処理タイミングを分担しつつ、更に、画像出力処理を色毎に分担しつつ、複数の画像処理部121と122とが画像処理を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部122が画像出力処理を実行していれば、画像処理部121にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部121が画像出力処理を実行していれば、画像処理部122にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。
すなわち、画像処理部121と画像処理部122との双方をプリンタエンジン140に接続したことにより、画像変換処理の処理タイミングを分担するだけではなく、画像出力処理をも分担することが可能になる。そして、画像変換処理と画像出力処理との間でも処理タイミングを分担することが可能になる。
このように、画像変換処理と画像出力処理とで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、第5実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈第6実施形態〉
図16は、本発明の第6実施形態の画像形成装置の構成を示すブロック図である。この図16において、第1実施形態で用いた図1と同一物には同一番号を付すことで、重複した説明を省略する。
図16に示される第6実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、それぞれがビデオポートからプリンタエンジン140の入力ポートに接続されている。この場合、プリンタエンジン140は、2つの入力ポートを有していればよい。
また、図16に示される第6実施形態では、画像処理ハードウェア#1としての画像処理部121と、画像処理ハードウェア#2としての画像処理部122とは、専用バス100Dにより互いに接続されている。この場合の専用バス100DはPCIバス程度のデータ転送速度を有していればよい。
すなわち、この第6実施形態では、複数の独立した汎用バス100Bと100Cとのそれぞれに複数の画像処理部121と122とが接続されている。また、この複数の画像処理部121と122とは、共に、少なくともバンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する機能を有している。なお、画像処理部121と122とは、全く同一の機能を有していなくてもよく、後述する処理を実行できる最低限の機能を備えていればよい。
図示されない外部機器から各種フォーマットの画像データを受けたCPU101は、インタープリターとして動作し、展開されたビットマップ形式の画像データを生成する。なお、ここでCPU101は、画像処理に関して各部での処理を迅速に行うため、1頁分の画像データを複数バンドに分割したバンド単位でビットマップ形式の画像データを生成する。
まず、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空きを確認する。空きがあれば、CPU101は、このバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図16中の(a))。
ここで、CPU101は画像処理部121の動作状態を調べる。なお、画像処理部121は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部121に対して画像変換処理Aの開始を要求する。
なお、画像処理部121が画像変換処理Aを完了した状態(画像変換処理完了状態)になければ、CPU101は画像処理部122の動作状態を調べる。ここで、画像処理部122は、展開されたビットマップ形式の画像データを圧縮して圧縮ビットマップ形式の処理済み画像データを生成する画像変換処理Aと、圧縮された処理済み画像データから出力用画像データを生成する画像出力処理Bと、を実行する機能を有している。画像処理部122が画像変換処理Aを完了した状態(画像変換処理完了状態)にあれば、CPU101は、画像処理部122に対して画像変換処理Aの開始を要求する。
ここで、画像変換処理Aの開始が要求された画像処理部121または画像処理部122のいずれかは、画像変換処理実行中状態に移行する。そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データをRAM103から読み出す。
すなわち、CPU101によって画像処理部121に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ108,PCIバス100Cを経由して、RAM103から画像処理部121に対してDMA転送される(図16中の(b))。
また、CPU101によって画像処理部122に画像変換処理Aが要求された場合には、バンド単位のビットマップ形式の画像データは、ローカルバス100A,PCIブリッジ107,PCIバス100Bを経由して、RAM103から画像処理部122に対してDMA転送される(図16中の(d))。
そして、画像処理部121または122は、バンド単位のビットマップ形式の画像データに対して所定の画像処理と圧縮処理とを施して、処理済み画像データとしての圧縮ビットマップ画像データを生成する。ここで、画像処理部121または122は、バンド単位のビットマップ形式の画像データから生成された圧縮ビットマップ画像データを、RAM103の圧縮ビットマップ画像データ用の領域に格納する。
すなわち、画像処理部121が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100C,PCIブリッジ108,ローカルバス100Aを経由して、画像処理部121からRAM103に対してDMA転送される(図16中の(c))。そして、画像処理部121は、画像変換処理完了状態に移行する。
また、画像処理部122が画像処理と圧縮処理とを施した場合には、バンド単位の圧縮ビットマップ画像データは、PCIバス100B,PCIブリッジ107,ローカルバス100Aを経由して、画像処理部122からRAM103に対してDMA転送される(図16中の(e))。そして、画像処理部122は、画像変換処理完了状態に移行する。
また、以上のDMA転送が実行された後、CPU101は、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。あるいは、画像処理部121または122が読み出す際に、画像データのコピーではなくムーブとして、RAM103において転送済みとなったバンド単位のビットマップ形式の画像データを消去する。
そして、CPU101は、1頁分の画像データを複数のバンド毎に展開されたビットマップ形式の画像データを生成しているが、1頁分全てのバンド分のビットマップ形式の画像データを生成したかを調べる。1頁分全てのバンド分のビットマップ形式の画像データを生成が完了していなければ、CPU101は、RAM103のビットマップ形式の画像データを格納する展開バンド領域の空き確認をして、空きがあれば次のバンド単位のビットマップ形式の画像データを、RAM103に記憶させる(図16中の(a))。
そして、CPU101による画像処理部121または122の動作状態を調査、CPU101による画像処理部121または122に対する画像変換処理Aの開始要求、画像処理部121または122での画像変換処理、画像処理部121または122からRAM103への圧縮ビットマップ画像データの転送、を1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位で繰り返す。
なお、この第6実施形態では、画像処理部121と122とのいずれか一方が画像変換処理中であれば、画像変換処理完了となった他方の画像処理部が選択されて画像変換処理が開始されるため、バンド単位で処理タイミングを分担しつつ、複数の画像処理部が交互に画像変換処理を実行することになる。
そして、CPU101は、1頁分全てのバンド分のビットマップ形式の画像データについてバンド単位での画像変換処理が完了したら、画像出力処理1の開始要求を、プリンタエンジン140の画像形成色に応じて、画像処理部121と画像処理部122とに対して与える。
ここで、CPU101は、プリンタエンジン140の画像形成色がC(シアン)あるいはM(マゼンタ)であれば、画像処理部121に対して画像出力処理Bの開始要求を行う。また、CPU101は、プリンタエンジン140の画像形成色がY(イエロー)あるいはK(黒)であれば、画像処理部122に対して画像出力処理Bの開始要求を行う。
ここで、CPU101から画像出力処理Bの開始要求を受けた画像処理部121は、画像出力処理実行中状態に移行し、CあるいはMの圧縮ビットマップ画像データをRAM103から読み出す。また、CPU101から画像出力処理Bの開始要求を受けた画像処理部122は、画像出力処理実行中状態に移行し、YあるいはKの圧縮ビットマップ画像データをRAM103から読み出す。
すなわち、この画像処理部121または122は、プリンタエンジン140の画像形成色順にあわせて、ページ単位で色別に、圧縮ビットマップ画像データをビデオポートからプリンタエンジン140に対して転送する。
そして、CPU101は、1頁分全ての画像データの画像形成が完了した時点で、次の画像データが存在するかを調べる。ここで、次の画像データが存在すれば、CPU101は処理を繰り返す。また、次の画像データが存在しなければ、CPU101は全ての処理を終了し完了状態になる。
なお、この第6実施形態では、画像処理部121と122とが専用バス100Dで接続されていることにより、
画像出力処理完了となった他方の画像処理部が選択されて画像出力処理が開始されるため、処理タイミングを分担しつつ、複数の画像処理部が交互に画像出力処理を実行することになる(図16中の(g),(g’))。
なお、この第6実施形態では、画像処理部121と122とが、専用バス100Dで接続されおり、かつ、それぞれのビデオポートを介してプリンタエンジン140と接続されていることにより、PCIバスやPCIブリッジ、または、画像処理部121と122のいずれか一方が処理中であれば、処理タイミングを分担しつつ、複数の画像処理部が交互に画像出力処理を実行することになる(図16中の(g),(g’),(h),(h’))。
すなわち、画像形成色がCあるいはMのタイミングで画像処理部121あるいはPCIブリッジ108もしくはPCIバス100Cが何らかの処理を実行中であれば、PCIブリッジ107とPCIバス100Bと画像処理部122経由で画像出力処理を実行して、出力用画像データを画像処理部122から専用バス100Dを介して画像処理部121からプリンタエンジン140に送ることが可能である(図16中の(h))。
また、画像形成色がYあるいはKのタイミングで画像処理部122あるいはPCIブリッジ107もしくはPCIバス100Bが何らかの処理を実行中であれば、PCIブリッジ108とPCIバス100Cと画像処理部121経由で画像出力処理を実行して、出力用画像データを画像処理部121から専用バス100Dを介して画像処理部122からプリンタエンジン140に送ることが可能である(図16中の(h’))。
以上の構成と動作において、画像処理部121と画像処理部122とで画像変換処理や画像出力処理が交互に並行して行われる。この結果、バンド単位で処理タイミングを分担しつつ、また、画像変換処理と画像出力処理との処理タイミングを分担しつつ、更に、画像出力処理を色毎に分担しつつ、複数の画像処理部121と122とが画像処理を実行するため、複数のブリッジ107/108と複数の汎用バス100B/100Cとが交互に使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部122が画像出力処理を実行していれば、画像処理部121にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。また、以上の構成と動作において、複数頁の画像形成を実行する場合には、プリンタエンジン140での画像形成実行中に、画像処理部121が画像出力処理を実行していれば、画像処理部122にてバンド単位のビットマップ形式の画像データの読み出しと圧縮ビットマップ画像データの生成が並行して行われる。
すなわち、画像処理部121と画像処理部122との双方を、専用バス100Dで接続すると共に、プリンタエンジン140に接続したことにより、画像変換処理の処理タイミングを分担するだけではなく、画像出力処理をも分担することが可能になる。そして、画像変換処理と画像出力処理との間でも処理タイミングを分担することが可能になる。
このように、画像変換処理と画像出力処理とで、複数のブリッジ107/108と複数の汎用バス100B/100Cがそれぞれ別の用途に並行して使用されることになり、高性能な汎用バスに交換することなく画像処理速度を向上させることが可能になる。
従って、PCIブリッジとPCIバスとのデータ転送速度(帯域)がボトルネックとなって高速化の障害となるといった従来の問題点は、第6実施形態では解消される。この結果、このPCIブリッジとPCIバスとのデータ転送速度(帯域)によって、画像形成の生産性(単位時間あたりの画像形成出力枚数)が制限されてしまう問題も解消される。
〈その他の実施形態〉
以上の実施形態では、汎用バスとしてPCIバスを具体例として用いたが、これに限定されるものではなく、各種の規格のバスを用いることが可能である。