(57)【要約】【課題】ラスタライズ処理の実行効率の向上を図り、スループットの向上を図り得る画像形成装置、画像形成方法及びプログラムを提供すること。【解決手段】中間データとバンドビットマップデータとが一時的に保存される領域であって、中間データに基づいてバンドビットマップデータが生成される際に使用され且つ一時的に保存されるラスタライズバンドを含む共有保存領域１２３を有するＲＡＭ１２０と、ラスタライズバンドに中間データに基づいてバンドビットマップデータを生成する際に使用可能なラスタライズバンドが有るか否かを判別し、当該判別結果に応じてラスタライズバンドを拡張させるＣＰＵ１００と、を備える画像形成装置１。【選択図】図４
2008195021.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語形式のデータとビットマップ形式のデータとの間の中間形式のデータと、前記中間形式のデータに基づいて生成される前記ビットマップ形式のデータと、が一時的に保存される領域であって、前記中間形式のデータに基づいて前記ビットマップ形式のデータが生成される際に使用され且つ一時的に保存されるラスタライズ領域を含む共有の保存領域を有するメモリ部と、
前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成し、前記ラスタライズ領域に保存する制御部と、
前記制御部により前記ラスタライズ領域に保存された前記ビットマップ形式のデータに対し画像処理を施し、画像処理済みの前記ビットマップ形式のデータを前記保存領域に保存する画像処理部と、
前記ラスタライズ領域の使用状況に応じて前記ラスタライズ領域を拡張させるメモリ領域制御部と、
を備えること、
を特徴とする画像形成装置。
【請求項２】
前記メモリ領域制御部は、
前記ラスタライズ領域に前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成する際に使用可能な領域が有るか否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記メモリ領域制御部は、
前記画像処理部により前記ビットマップ形式のデータに対する画像処理が可能か否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、
を特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記メモリ領域制御部は、
拡張された前記ラスタライズ領域のうち、前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該拡張されたラスタライズ領域を解放すること、
を特徴とする請求項１から３のいずれか一項に記載の画像形成装置。
【請求項５】
前記保存領域には、
予め前記ラスタライズ領域を含んでおり、
前記メモリ領域制御部は、
前記予め含まれたラスタライズ領域に前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該領域が有る場合、前記拡張されたラスタライズ領域を解放すること、
を特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記メモリ領域制御部は、
画像処理が施された前記ビットマップ形式のデータが前記保存領域に保存できたか否かを判別し、当該判別結果に応じて前記拡張したラスタライズ領域を解放すること、
を特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記制御部は、コンピュータプログラムを実行するＣＰＵを備え、
前記メモリ制御部は、前記コンピュータプログラムを前記ＣＰＵにより実行することにより実現される機能として前記制御部の一部を構成すること、
を特徴とする請求項１から６のいずれか一項に記載の画像形成装置。
【請求項８】
ページ記述言語形式のデータとビットマップ形式のデータとの間の中間形式のデータと、前記中間形式のデータに基づいて生成される前記ビットマップ形式のデータと、が一時的に保存される領域であって、前記中間形式のデータに基づいて前記ビットマップ形式のデータが生成される際に使用され且つ一時的に保存されるラスタライズ領域を含む共有の保存領域を有するメモリ部の前記ラスタライズ領域に、前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成し、前記ラスタライズ領域に保存するラスタライズ工程と、
前記ラスタライズ工程により前記ラスタライズ領域に保存された前記ビットマップ形式のデータに対し画像処理を施し、画像処理済みの前記ビットマップ形式のデータを前記保存領域に保存する画像処理工程と、
前記ラスタライズ領域の使用状況に応じて前記ラスタライズ領域を拡張させるメモリ領域制御工程と、
を含むこと、
を特徴とする画像形成方法。
【請求項９】
前記メモリ領域制御工程は、
前記ラスタライズ領域に前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成する際に使用可能な領域が有るか否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、
を特徴とする請求項８に記載の画像形成方法。
【請求項１０】
前記メモリ領域制御工程は、
前記画像処理工程により前記ビットマップ形式のデータに対する画像処理が可能か否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、
を特徴とする請求項８に記載の画像形成方法。
【請求項１１】
前記メモリ領域制御工程は、
拡張された前記ラスタライズ領域のうち、前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該拡張されたラスタライズ領域を解放すること、
を特徴とする請求項８から１０のいずれか一項に記載の画像形成方法。
【請求項１２】
前記保存領域には、予め前記ラスタライズ領域を含んでおり、
前記メモリ領域制御工程は、
前記予め含まれたラスタライズ領域に前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該領域が有る場合、前記拡張されたラスタライズ領域を解放すること、
を特徴とする請求項１１に記載の画像形成方法。
【請求項１３】
前記メモリ領域制御工程は、
画像処理が施された前記ビットマップ形式のデータが前記保存領域に保存できたか否かを判別し、当該判別結果に応じて前記拡張したラスタライズ領域を解放すること、
を特徴とする請求項１１に記載の画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（ＰＤＬ）形式のデータをメモリに保存する画像形成装置、画像形成方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）等の外部装置で作成された印刷データ、即ち、ポストスクリプト（登録商標）やＰＣＬ（Printer Control Language）に代表されるページ記述言語（ＰＤＬ；Pate Description Language）形式のデータを、ＬＡＮ等のネットワークを介して受信し、受信したデータに基づいて一旦中間形式のデータ（中間データ）を生成してメモリ上に保持し、順次メモリ上に保持されている中間データを読み出してビットマップデータを生成して印刷を行うネットワーク型の複写機、プリンタ、ＭＦＰ（Multi Function Peripheral）等の画像形成装置が普及している。
【０００３】
このような画像形成装置は、中間データを生成するために使用されかつ一旦保存する領域と、ビットマップデータを生成するために使用されかつ一旦保存する領域とが共存する共有の保存領域を有している。
【０００４】
中間データに基づいて生成されるビットマップデータは、ラスタライズ処理により生成される。ラスタライズ処理は、中間データをバンド単位のビットマップデータ（バンドビットマップデータ）として生成して一旦共有の保存領域に保存し、その後、共有の保存領域からバンドビットマップデータを読み出して、色変換やスクリーン処理等の画像処理を施した後に圧縮し、圧縮されたビットマップデータを共有の保存領域に保存する処理である。
【０００５】
即ち、ラスタライズ処理は、中間データからバンドビットマップデータを生成する第１生成処理と、生成されたバンドビットマップデータに対して画像処理や圧縮処理を施す第２生成処理とを含んでいる。
【０００６】
この第１生成処理と第２生成処理とは、夫々独立した処理であることから並列に実行することができるため、第１生成処理をＣＰＵ（Central Processing Unit）を用いて実行させ、第２生成処理をＬＳＩ（Large Scale Integration）を用いて実行させ、第１生成処理により生成されたバンドビットマップデータが保存される領域（以下、ラスタライズバンドと言う。）を共有の保存領域内において２つ確保して、第１生成処理と第２生成処理とを並行実行させて処理の効率化を図っている。
【０００７】
ところで、バンドビットマップデータが共有の保存領域から第２生成処理を実行するＬＳＩに転送される時間（転送速度）や、ＬＳＩが実行する第２生成処理の画像処理及び圧縮処理に要する時間は略一定であるのに対し、ＣＰＵにより実行される第１生成処理に要する時間は、中間データの内容に応じて変動する。
【０００８】
したがって、中間データが軽負荷である場合、短時間で第１生成処理が実行されることとなり、例えば、一方のラスタライズバンドのバンドビットマップデータがＬＳＩに転送中であり、かつ、他方のラスタライズバンドのバンドビットマップデータがＬＳＩへの転送待ち状態である場合には、ＣＰＵは、第１生成処理を実行しようとしても、生成したバンドビットマップデータを保存することができないため、待機状態となる。
【０００９】
また、中間データが重負荷である場合には、第１生成処理に要する時間が長時間となるため、例えば、一方のラスタライズバンドにおいてＣＰＵによりバンドビットマップデータが生成中であり、かつ、他方のラスタライズバンドは空き状態である場合には、共有の保存領域からＬＳＩに転送可能なバンドビットマップデータが無いため、ＬＳＩは第２生成処理を実行することができず、待機状態となる。
【００１０】
即ち、ＣＰＵが実行する第１生成処理に要する時間が中間データの内容に応じて変動する事情からラスタライズ処理の実行効率が低下し、スループットが低下するという問題があった。
【００１１】
このような画像形成装置において、データの展開処理の効率化を図る技術として、コマンドデータをバンド単位のビットマップデータに展開する手段と、展開したビットマップデータをバンド単位に記憶するバンドメモリと、を備え、コマンドデータを解析して各バンド単位のビットマップデータの展開時間を導出し、導出した展開時間と展開可能時間とを比較し、導出した展開時間が展開可能時間よりも短い場合には、バンドのサイズを小さくして、バンド単位のビットマップデータの展開時間を短縮する装置が開示されている。
【特許文献１】特開平７−１９５７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したような従来の装置においては、ラスタライズバンドの総容量は変わらないため、バンドビットマップデータの転送時間が短縮されるのみである。そのため、依然としてラスタライズ処理の実行効率の向上を図ることはできず、スループットの低下を防止することができないという問題が残っている。
【００１３】
本発明の課題は、上記問題に鑑みて、ラスタライズ処理の実行効率の向上を図り、スループットの向上を図り得る画像形成装置、画像形成方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１４】
請求項１に記載の発明は、ページ記述言語形式のデータとビットマップ形式のデータとの間の中間形式のデータと、前記中間形式のデータに基づいて生成される前記ビットマップ形式のデータと、が一時的に保存される領域であって、前記中間形式のデータに基づいて前記ビットマップ形式のデータが生成される際に使用され且つ一時的に保存されるラスタライズ領域を含む共有の保存領域を有するメモリ部と、前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成し、前記ラスタライズ領域に保存する制御部と、前記制御部により前記ラスタライズ領域に保存された前記ビットマップ形式のデータに対し画像処理を施し、画像処理済みの前記ビットマップ形式のデータを前記保存領域に保存する画像処理部と、前記ラスタライズ領域の使用状況に応じて前記ラスタライズ領域を拡張させるメモリ領域制御部と、を備える画像形成装置であること、を特徴としている。
【００１５】
請求項２に記載の発明は、請求項１に記載の画像形成装置において、前記メモリ領域制御部は、前記ラスタライズ領域に前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成する際に使用可能な領域が有るか否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、を特徴としている。
【００１６】
請求項３に記載の発明は、請求項１に記載の画像形成装置において、前記メモリ領域制御部は、前記画像処理部により前記ビットマップ形式のデータに対する画像処理が可能か否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、を特徴としている。
【００１７】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載の画像形成装置において、前記メモリ領域制御部は、拡張された前記ラスタライズ領域のうち、前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該拡張されたラスタライズ領域を解放すること、を特徴としている。
【００１８】
請求項５に記載の発明は、請求項４に記載の画像形成装置において、前記保存領域には、予め前記ラスタライズ領域を含んでおり、前記メモリ領域制御部は、前記予め含まれたラスタライズ領域に前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該領域が有る場合、前記拡張されたラスタライズ領域を解放すること、を特徴としている。
【００１９】
請求項６に記載の発明は、請求項４に記載の画像形成装置において、前記メモリ領域制御部は、画像処理が施された前記ビットマップ形式のデータが前記保存領域に保存できたか否かを判別し、当該判別結果に応じて前記拡張したラスタライズ領域を解放すること、を特徴としている。
【００２０】
請求項７に記載の発明は、請求項１から６のいずれか一項に記載の画像形成装置において、前記制御部は、コンピュータプログラムを実行するＣＰＵを備え、前記メモリ制御部は、前記コンピュータプログラムを前記ＣＰＵにより実行することにより実現される機能として前記制御部の一部を構成すること、を特徴としている。
【００２１】
請求項８に記載の発明は、ページ記述言語形式のデータとビットマップ形式のデータとの間の中間形式のデータと、前記中間形式のデータに基づいて生成される前記ビットマップ形式のデータと、が一時的に保存される領域であって、前記中間形式のデータに基づいて前記ビットマップ形式のデータが生成される際に使用され且つ一時的に保存されるラスタライズ領域を含む共有の保存領域を有するメモリ部の前記ラスタライズ領域に、前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成し、前記ラスタライズ領域に保存するラスタライズ工程と、前記ラスタライズ工程により前記ラスタライズ領域に保存された前記ビットマップ形式のデータに対し画像処理を施し、画像処理済みの前記ビットマップ形式のデータを前記保存領域に保存する画像処理工程と、前記ラスタライズ領域の使用状況に応じて前記ラスタライズ領域を拡張させるメモリ領域制御工程と、を含む画像形成方法であること、を特徴としている。
【００２２】
請求項９に記載の発明は、請求項８に記載の画像形成方法において、前記メモリ領域制御工程は、前記ラスタライズ領域に前記中間形式のデータに基づいて前記ビットマップ形式のデータを生成する際に使用可能な領域が有るか否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、を特徴としている。
【００２３】
請求項１０に記載の発明は、請求項８に記載の画像形成方法において、前記メモリ領域制御工程は、前記画像処理工程により前記ビットマップ形式のデータに対する画像処理が可能か否かを判別し、当該判別結果に応じて前記ラスタライズ領域を拡張させること、を特徴としている。
【００２４】
請求項１１に記載の発明は、請求項８から１０のいずれか一項に記載の画像形成方法において、前記メモリ領域制御工程は、拡張された前記ラスタライズ領域のうち、前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該拡張されたラスタライズ領域を解放すること、を特徴としている。
【００２５】
請求項１２に記載の発明は、請求項１１に記載の画像形成方法において、前記保存領域には、予め前記ラスタライズ領域を含んでおり、前記メモリ領域制御工程は、前記予め含まれたラスタライズ領域に前記中間形式のデータに基づいて生成されたビットマップ形式のデータが保存されていない当該領域が有る場合、前記拡張されたラスタライズ領域を解放すること、を特徴としている。
【００２６】
請求項１３に記載の発明は、請求項１１に記載の画像形成方法において、前記メモリ領域制御工程は、画像処理が施された前記ビットマップ形式のデータが前記保存領域に保存できたか否かを判別し、当該判別結果に応じて前記拡張したラスタライズ領域を解放すること、を特徴としている。
【発明の効果】
【００２７】
請求項１、８に記載の発明によれば、ラスタライズ領域を拡張させることができるため、ビットマップ形式のデータを生成する際に使用する領域が空くまで待機することがなくなり、ラスタライズ処理の実行効率を向上させることができ、スループットの向上を図ることができる。
【００２８】
請求項２、９に記載の発明によれば、請求項１、８と同様の効果を得られるのは勿論のこと、ビットマップ形式のデータを生成する際に使用可能な領域の有無に応じて、ラスタライズ領域を拡張させることができるため、中間形式のデータに基づいてビットマップ形式のデータを生成する際に使用する領域を適宜確保することができる。従って、ビットマップ形式のデータを生成する際に使用する領域が空くまで待機することがなくなり、ラスタライズ処理の実行効率を向上させることができ、スループットの向上を図ることができる。
【００２９】
請求項３、１０に記載の発明によれば、請求項１、８と同様の効果を得られるのは勿論のこと、画像処理部によるビットマップ形式のデータに対する画像処理が可能か否かに応じて、ラスタライズ領域を拡張させることができるため、画像処理部がビットマップ形式のデータに対する画像処理の完了待ちをせずとも、中間形式のデータに基づいてビットマップ形式のデータを生成する際に使用する領域を確保することができる。従って、ビットマップ形式のデータを生成する際に使用する領域が空くまで待機することがなくなり、ラスタライズ処理の実行効率を向上させることができ、スループットの向上を図ることができる。
【００３０】
請求項４、１１に記載の発明によれば、請求項１から３、８から１０のいずれか一項と同様の効果を得られるのは勿論のこと、ビットマップ形式のデータが保存されていない拡張されたラスタライズ領域を解放することができるため、ラスタライズ領域を拡張させることによる画像処理済みのビットマップ形式のデータの保存の妨げを防止することができる。
【００３１】
請求項５、１２に記載の発明によれば、請求項４、１１と同様の効果を得られるのは勿論のこと、ビットマップ形式のデータが保存されていない予め含まれたラスタライズ領域がある場合であって、ビットマップ形式のデータが保存されていない拡張されたラスタライズ領域が有る場合、ビットマップ形式のデータが保存されていない拡張されたラスタライズ領域を解放することができるため、不要な拡張されたラスタライズ領域を解放して共有の保存領域の有効利用を図ることができる。
【００３２】
請求項６、１３に記載の発明によれば、請求項４、１１と同様の効果を得られるのは勿論のこと、画像処理が施されたビットマップ形式のデータが保存できず、ビットマップ形式のデータが保存されていない拡張されたラスタライズ領域が有る場合、ビットマップ形式のデータが保存されていない拡張されたラスタライズ領域を解放することができるため、ラスタライズ領域を拡張させることによる画像処理済みのビットマップ形式のデータの保存の妨げを低減することができる。
【００３３】
請求項７に記載の発明によれば、請求項１から６のいずれか一項と同様の効果を得られるのは勿論のこと、メモリ制御部を制御部の一部を構成することができる。
【発明を実施するための最良の形態】
【００３４】
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
図１に、本実施の形態における画像形成装置１の制御ブロック図を示す。
図１に示すように、画像形成装置１は、制御部１０、外部ＩＦ（InterFace）１１、操作表示部１２、画像読取部２０、プリント部３０を備え、各部はバス等により接続されて構成され、外部ＩＦ１１を介して外部装置２と通信可能に接続されている。
【００３５】
画像形成装置１は、読取対象原稿（以下、原稿と言う。）から画像を読み取り、読み取った画像を処理対象紙としての枚葉紙等の記録媒体に画像形成するコピー機能や、パーソナルコンピュータ等の外部装置２から画像データを受信し、受信した画像データに基づいて記録媒体上に画像を形成して出力するプリンタ機能等を備えたデジタル複合機である。
【００３６】
制御部１０は、ＣＰＵ（Central Processing Unit）１００、ＲＯＭ（Read Only Memory）１１０、ＲＡＭ（Random Access Memory）１２０、画像処理部１３０等から構成され、ＲＯＭ１１０内に格納されている各種処理プログラムやデータをＲＡＭ１２０に展開し、当該プログラムに基づいて画像形成装置１の各部の動作を集中制御する。例えば、操作表示部１２や外部装置２から入力される指示信号に従って、コピーモード、プリントモード、スキャナモードを切り替え、各モードに対する処理プログラムを読み出して、複写、印刷、画像データの読取等の制御を行う。
【００３７】
ＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０の協働により、ポストスクリプト（登録商標）やＰＣＬ等のページ記述言語形式のデータ（以下、ＰＤＬデータという。）を解釈し、当該ＰＤＬデータとビットマップ形式のデータ（以下、ビットマップデータという。）との間の中間形式のデータ（以下、中間データという。）を生成してＲＡＭ１２０内の共有保存領域１２３に保存させ、また、中間データに基づいてバンド単位のビットマップデータ（以下、バンドビットマップデータという。）を生成してＲＡＭ１２０の共有保存領域１２３に保存させると共に、画像処理部１３０に共有保存領域１２３からバンドビットマップデータを読み出させて画像処理及び圧縮処理を施させ、画像処理部１３０により画像処理が施され圧縮されたバンドビットマップデータ（以下、圧縮バンドビットマップデータという。）をＲＡＭ１２０の共有保存領域１２３に保存させる。
【００３８】
なお、ＣＰＵ１００は、互いに形式の異なる中間データとバンドビットマップデータとを共有保存領域１２３に保存させる際、閾値を用いて中間データとバンドビットマップデータとの保存管理を行う。
【００３９】
中間データとしては、ＰＤＬデータに含まれるオブジェクト（テキストデータ、グラフィックスデータ、イメージデータ等）の特徴に応じて生成されるデータである。例えば、テキストデータやグラフィックスデータの中間データとしてはベクタ形式のデータ、イメージデータの中間データとしてはイメージ形式のデータ、を挙げることができる。
【００４０】
更に、ＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０との協働により、後述するＲＡＭ１２０内の共有保存領域１２３内に含まれるラスタライズ領域（以下、ラスタライズバンドという。）に中間データに基づいてバンドビットマップデータを生成する際に使用可能な領域が有るか否かを判別し、当該判別結果に応じてラスタライズ領域を拡張させ確保する。
【００４１】
また、ＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０との協働により、後述する共有保存領域１２３内に予め定められたラスタライズバンド（以下、固定ラスタライズバンドという。）に中間データに基づいて生成されたバンドビットマップデータが保存されていない固定ラスタライズバンドが有り、且つ、拡張されたラスタライズバンド（以下、拡張ラスタライズバンドという。）のうち、中間データに基づいて生成されたバンドビットマップデータが保存されていない拡張ラスタライズバンドが有る場合、中間データに基づいて生成されたバンドビットマップデータが保存されていない拡張ラスタライズバンドを解放する。
【００４２】
更に、ＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０との協働により、画像処理部１３０によって画像処理及び圧縮処理が施された圧縮バンドビットマップデータが共有保存領域１２３に保存できたか否かを判別し、当該判別結果に応じて中間データに基づいて生成されたビットマップデータが保存されていない拡張ラスタライズバンドを解放する。
【００４３】
ＲＯＭ１１０は、画像形成に係る各種処理プログラム、画像形成に係るデータ等、各種プログラムで処理されたデータ等を記憶する。また、ＲＯＭ１１０は、ＣＰＵ１００及びＲＡＭ１２０との協働により本実施の形態を実現させるためのプログラムやデータを記憶しているデータ受信部１１１、解析部１１２、ビットマップデータ生成部１１３、印刷制御部１１４を有している。
【００４４】
データ受信部１１１は、外部装置２から外部ＩＦ１１を介して入力されるＰＤＬデータを受信して、ＲＡＭ１２０内のスプール領域１２２に記憶させる機能を実現させるためのプログラムやデータが記憶されている。
【００４５】
解析部１１２は、ＲＡＭ１２０内のスプール領域１２２に記憶されているＰＤＬデータを読み出し、読み出されたＰＤＬデータとビットマップデータとの間の形式の中間データを生成してＲＡＭ１２０内の共有保存領域１２３に保存させる機能を実現させるためのプログラムやデータが記憶されている。
【００４６】
ビットマップデータ生成部１１３は、解析部１１２により生成され共有保存領域１２３内に保存されている中間データにラスタライズ処理を施してバンドビットマップデータを生成し、生成したバンドビットマップデータを共有保存領域１２３の後述するラスタライズバンドに一時的に保存したり、ラスタライズバンドの拡張や、拡張されたラスタライズバンドの解放を行う機能を実現するためのプログラムやデータが記憶されている。また、画像処理部１３０により生成された圧縮バンドビットマップデータが共有保存領域１２３に保存された際に、保存された圧縮バンドビットマップデータに対応する中間データを共有保存領域１２３から消去する機能を実現させるためのプログラムやデータが記憶されている。
【００４７】
印刷制御部１１４は、用紙等の記録媒体上に画像を形成させるプリント部３０に画像処理部１３０により生成された圧縮バンドビットマップデータを解凍して出力し、出力された圧縮バンドビットマップデータを消去する機能を実現させるためのプログラムやデータが記憶されている。
【００４８】
なお、ＲＯＭ１１０は読み出し可能な不揮発性の記憶媒体であれば良く、磁気的、光学的記憶媒体又は半導体メモリで構成されていても良い。また、このＲＯＭ１１０は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
【００４９】
ＲＡＭ１２０は、展開領域１２１、スプール領域１２２、共有保存領域１２３を有しており、画像形成に係るデータ等、各種プログラムで処理されたデータ等を記憶する。
【００５０】
展開領域１２１は、ＲＯＭ１１０内に記憶された各種プログラムやデータが展開される領域であり、各種プログラムやデータが実行されることにより生成される各種データ等が記憶される。
【００５１】
スプール領域１２２は、外部装置２や画像読取部２０から入力されたＰＤＬデータ等の各種データを保存する領域である。
【００５２】
共有保存領域１２３は、ＣＰＵ１００とＲＯＭ１１０及びＲＡＭ１２０による協働により生成された中間データと、中間データに基づいて生成されたバンドビットマップデータと、画像処理部１３０により生成された圧縮ビットマップデータとが一時的に保存される共有の保存領域であり、中間データに基づいてバンドビットマップデータが生成される際に使用され且つ一時的に保存されるラスタライズバンドを含んでいる。
【００５３】
図２に、共有保存領域１２３の概念図例を示す。
図２に示すように、ラスタライズバンドは、予め共有保存領域１２３に含まれている固定ラスタライズバンドＦＢ１、ＦＢ２と、適宜拡張される拡張ラスタライズバンドＥＢ１、ＥＢ２と、がある。固定ラスタライズバンドＦＢ１、ＦＢ２及び拡張ラスタライズバンドＥＢ１、ＥＢ２は、予め定められたサイズの領域である。
【００５４】
また、共有保存領域１２３内には、ＣＰＵ１００によって実行されるビットマップデータ生成部１１３の処理と画像処理部１３０による処理とを並列に実行させるために、共有保存領域１２３内には固定ラスタライズバンドＦＢ１、ＦＢ２が予め２つ以上含まれている。本実施の形態においては、図２に示すように、固定ラスタライズバンドＦＢ１、ＦＢ２が２つ含まれている場合として説明する。
【００５５】
また、この共有保存領域１２３は、共有保存領域１２３内の上位アドレスから下位アドレスの方向に向かってバンドビットマップデータが保存されるラスタライズバンドＦＢ１、ＦＢ２、ＥＢ１、ＥＢ２及び圧縮バンドビットマップデータＢが保存され、共有保存領域１２３内の下位アドレスから上位アドレスの方向に向かって中間データＤＬ２〜ＤＬ６が保存されている。
【００５６】
共有保存領域１２３において、中間データとバンドビットマップデータを保存するラスタライズバンド及び圧縮バンドビットマップデータとが夫々保存可能な領域を共有保存領域１２３内で無制限に許可すると、圧縮バンドビットマップデータを保存する領域が無くなった場合、印刷できないというデッドロック状態が生じる。そこで、このデッドロック状態を回避するため、ラスタライズバンド及び圧縮バンドビットマップデータに対しては共有保存領域１２３内で制限無く保存可能とし、中間データに対しては閾値を設けて保存を制限している。
【００５７】
なお、ＲＡＭ１２０は、読み書き可能な記憶媒体であればよく、ＨＤＤ（Hard Disk Drive）、ＭＲＡＭ（Magnetic Random Access Memory）又はフラッシュメモリなどで構成されていても良く、この限りではない。また、このＲＡＭ１２０は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
【００５８】
画像処理部１３０は、共有保存領域１２３のラスタライズバンドに保存されているバンドビットマップデータを読み出して、色変換やスクリーン処理等の各種画像処理を施した後に圧縮し、圧縮したバンドビットマップデータ（圧縮バンドビットマップデータ）を共有保存領域１２３に保存させる。この画像処理部１３０は、予め設定された画像処理及び圧縮処理を実行するため、ＬＳＩ（Large Scale Integration）等により構成されている。
【００５９】
外部ＩＦ１１は、ＮＩＣ（Network Interface Card）やモデム等のＬＡＮ等のネットワークＮに接続するための通信インターフェースであり、外部装置２からＰＤＬデータ等を受信する。受信されたＰＤＬデータ等は、制御部１０に出力される。
【００６０】
操作表示部１２は、ＬＣＤ（Liquid Crystal Display）、ＬＣＤを覆うように設けられたタッチパネルや操作キー群等から構成され、制御部１０から入力される表示信号に従って、各種設定条件を入力するための各種設定画面や各種処理結果等をＬＣＤに表示させると共に、操作キー群又はタッチパネルから入力される操作信号を制御部１０に出力する。
【００６１】
画像読取部２０は、自動原稿送り部と読取部とを備えて構成されている。
自動原稿送り部は、ＡＤＦ（Auto Document Feeder）と称されるものであり、原稿トレイに積載される原稿を読取部の読取箇所に一枚ずつ搬送する。
【００６２】
読取部は、光源、レンズ、コンタクトガラス、イメージセンサ等が設けられたスキャナを備えて構成され、原稿に照射した光の反射光を結像して光電変換することにより原稿の画像を読み取り、プリント部３０に出力する。ここで、画像とは、図形や写真等のイメージデータに限らず、文字や記号等のテキストデータ等も含む意である。
【００６３】
プリント部３０は、電子写真方式を採用した画像形成部、給紙部から搬送された記録媒体を画像形成部に向けて搬送する搬送部を備える。画像形成部によりイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の４色の画像データに応じたカラー画像が形成され、このカラー画像が搬送部を搬送される記録媒体に転写される。
【００６４】
次に、本実施の形態の動作を説明する。
図３に、１ページ分の画像が記録媒体上に形成されるまでの処理のフロー図を示す。図３に示す動作は、ＣＰＵ１００とＲＯＭ１１０及びＲＡＭ１２０との協働において実行されるものとする。尚、以下のステップＳ１〜Ｓ４により実現される処理モジュールは、マルチタスクで動作するので、複数ページを並行して処理可能であるが、説明の都合上、これらステップＳ１〜Ｓ４は時系列的に記載されている。
【００６５】
データ受信部１１１によりＣＰＵ１００は、外部ＩＦ１１を介して入力されたＰＤＬデータを受信し、スプール領域１２２に保存させるデータ受信処理を実行する（ステップＳ１）。
【００６６】
ＰＤＬデータがスプール領域１２２に保存された後、解析部１１２によりＣＰＵ１００は、スプール領域１２２に保存されているＰＤＬデータを読み出して中間データを生成し、共有保存領域１２３に保存させる解析処理を実行する（ステップＳ２）。
【００６７】
ビットマップデータ生成部１１３によりＣＰＵ１００は、１ページ分の中間データが共有保存領域１２３に保存されると、共有保存領域１２３から１ページ分の中間データに基づいて、ラスタライズバンドにバンドビットマップデータを生成して保存する。そして画像処理部１３０は、ラスタライズバンドからバンドビットマップデータを読み出して各種画像処理及び圧縮処理を施し、圧縮バンドビットマップデータを共有保存領域１２３に保存し、１ページ分の圧縮バンドビットマップデータを生成する。即ち、ビットマップデータ生成部１１３によるＣＰＵ１００の処理と画像処理部１３０の処理によりラスタライズ処理が実行される（ステップＳ３）。
【００６８】
印刷制御部１１４によりＣＰＵ１００は、１ページ分の圧縮バンドビットマップデータが共有保存領域１２３に保存されると、共有保存領域１２３から１ページ分の圧縮バンドビットマップデータを読み出して解凍し、解凍されたバンドビットマップデータをプリント部３０に出力し、１ページ分の画像を記録媒体上に形成させ（ステップＳ４）、本処理は終了される。
【００６９】
図４に、ステップＳ３のラスタライズ処理においてＣＰＵ１００が実行する処理のフロー図を示す。図４に示す処理は、ビットマップデータ生成部１１３によりＣＰＵ１００において実行されるものである。また、図４に示す処理は、１バンド分の中間データに基づいて１バンド分のバンドビットマップデータを生成する一通りの処理を説明するための図であり、後述の如く、図４の処理はＣＰＵ１００により同時に処理可能な複数のバンド数分だけ並列処理として実行される。
【００７０】
ＣＰＵ１００は、共有保存領域１２３内に１バンド分のバンドビットマップデータの生成に使用可能なラスタライズバンドの有無を判別する（ステップＳ１１）。使用可能なラスタライズバンドとは、バンドビットマップデータが保存されておらず、バンドビットマップデータの生成に使用されていない固定ラスタライズバンド又は拡張ラスタライズバンドである。
【００７１】
なお、本処理において、固定ラスタライズバンド及び拡張ラスタライズバンドの総称としてラスタライズバンドという。
【００７２】
ＣＰＵ１００は、使用可能なラスタライズバンドが無いと判別した場合（ステップＳ１１；Ｎｏ）、ラスタライズバンドの拡張が可能か否かを判別する（ステップＳ１２）。
【００７３】
ＣＰＵ１００は、ラスタライズバンドの拡張が不可能であると判別した場合、例えば、共有保存領域１２３内に拡張ラスタライズバンドを確保するための空き領域が無い場合（ステップＳ１２；Ｎｏ）、ステップＳ１１に戻る。
【００７４】
ＣＰＵ１００は、ラスタライズバンドの拡張が可能であると判別した場合（ステップＳ１２；Ｙｅｓ）、共有保存領域１２３内に拡張ラスタライズバンドを１バンド確保することによりラスタライズバンドの拡張を行う（ステップＳ１３）。
【００７５】
ＣＰＵ１００は、使用可能なラスタライズバンドが有ると判別した場合（ステップＳ１１；Ｙｅｓ）又はステップＳ１３後、即ち、共有保存領域１２３内に１バンド分のバンドビットマップデータの生成に使用可能なラスタライズバンドを確保した後、確保したラスタライズバンドにおいて中間データに基づいてバンドビットマップデータを展開して生成し、一時的に保存させる（ステップＳ１４）。
【００７６】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能か否か、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理の実行中でないか否かを判別する（ステップＳ１５）。
【００７７】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能でないと判別した場合、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理の実行中であると判別した場合（ステップＳ１５；Ｎｏ）、ステップＳ１５に戻り待機する。
【００７８】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能であると判別した場合、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理の実行中でないと判別した場合（ステップＳ１５；Ｙｅｓ）、画像処理部１３０よりバンドビットマップデータの画像処理等を実行させる（ステップＳ１６）。
【００７９】
ＣＰＵ１００は、ステップＳ１６において画像処理部１３０によりラスタライズバンドから読み出され画像処理が施された後に圧縮されたバンドビットマップデータ（圧縮バンドビットマップデータ）は、共有保存領域１２３への書き戻しが成功したか否か、即ち、圧縮バンドビットマップデータは共有保存領域１２３に保存されたか否かを判別する（ステップＳ１７）。
【００８０】
ＣＰＵ１００は、圧縮バンドビットマップデータは共有保存領域１２３への書き戻しが成功していないと判別した場合、例えば、圧縮バンドビットマップデータを保存するための空き領域が無く保存できなかった場合（ステップＳ１７；Ｎｏ）、未使用の拡張ラスタライズバンド、例えば、バンドビットマップデータが保存されていない拡張ラスタライズバンドやバンドビットマップデータの生成に使用されていない拡張ラスタライズバンドを解放する（ステップＳ１８）。
【００８１】
ステップＳ１８の拡張ラスタライズバンドの解放とは、未使用のバンドビットマップデータの生成及び保存するために確保された拡張ラスタライズバンドを空き領域とすることである。
【００８２】
ＣＰＵ１００は、ステップＳ１４以降から使用しているラスタライズバンドに保存しているバンドビットマップデータを消去し（ステップＳ１９）、ステップＳ１１に戻り、再度、本処理の実行を行う。
【００８３】
ＣＰＵ１００は、圧縮バンドビットマップデータは共有保存領域１２３への書き戻し、即ち、共有保存領域１２３に圧縮バンドビットマップデータが保存されたと判別した場合（ステップＳ１７；Ｙｅｓ）、ステップＳ１４以降から使用しているラスタライズバンドに保存しているバンドビットマップデータを消去する（ステップＳ２０）。
【００８４】
ＣＰＵ１００は、未使用の拡張ラスタライズバンドが有り、かつ、使用可能な固定ラスタライズバンドが有るか否かを判別する（ステップＳ２１）。
【００８５】
ステップＳ２１において、未使用の拡張ラスタライズバンドとしては、バンドビットマップデータが保存されていない拡張ラスタライズバンドやバンドビットマップデータの生成に使用されていない拡張ラスタライズバンドであり、使用可能な固定ラスタライズバンドとしては、バンドビットマップデータが保存されておらず、バンドビットマップデータの生成に使用されていない固定ラスタライズバンドである。
【００８６】
ＣＰＵ１００は、未使用の拡張ラスタライズバンドが有り、かつ、使用可能な固定ラスタライズバンドが有ると判別した場合（ステップＳ２１；Ｙｅｓ）、未使用の拡張ラスタライズバンド、例えば、バンドビットマップデータが保存されていない拡張ラスタライズバンドやバンドビットマップデータの生成に使用されていない拡張ラスタライズバンドを解放し（ステップＳ２２）、本処理を終了する。
【００８７】
ＣＰＵ１００は、未使用の拡張ラスタライズバンドが無い、又は、使用可能な固定ラスタライズバンドが無いと判別した場合（ステップ２１；Ｎｏ）、本処理を終了する。
【００８８】
図５に、ステップＳ１６における画像処理部１３０が実行する処理のフロー図を示す。
図５に示す処理は、１バンド分のバンドビットマップデータに対する処理を示している。
【００８９】
画像処理部１３０は、共有保存領域１２３内のラスタライズバンドに生成され保存されているバンドビットマップデータを読み込む（ステップＳ３１）。
【００９０】
画像処理部１３０は、読み込んだバンドビットマップデータに対して色変換処理（ステップＳ３２）、スクリーン処理（ステップＳ３３）を施す。なお、本実施の形態においては、画像処理として色変換処理及びスクリーン処理を挙げて説明しているが、他の画像処理であってもよい。
【００９１】
色変換処理とは、例えば、原稿画像の色とプリント部３０により出力される画像の色とを一致させるために、原稿画像の出力値であるＲＧＢ画像信号を色変換テーブルを用いてプリント部３０による出力のためのＣＭＹＫ画像信号に変換する処理である。スクリーン処理とは、中間調（ハーフトーン）を色再現するための処理である。
【００９２】
画像処理部１３０は、色変換処理及びスクリーン処理が施されたバンドビットマップデータに対して圧縮処理を施し、圧縮バンドビットマップデータを生成する（ステップＳ３４）。
【００９３】
画像処理部１３０は、生成した圧縮バンドビットマップデータを共有保存領域１２３に書き戻して保存させ（ステップＳ３５）、本処理を終了する。なお、書き戻せない場合（保存できなかった場合）であっても、本処理を終了する。
【００９４】
以上に説明した処理がバンド毎に実行される訳であるが、ＣＰＵ１００にとってはステップＳ１４が最も負荷の掛かるタスクである。従って、あるバンドに対してステップＳ１４の処理が完了した時点で、ＣＰＵ１００は当該バンドに対する処理としてはその処理能力上実質的に解放されるため、ＣＰＵ１００は次バンドに対する処理（図４と同じ処理）の実行を開始する。このようにＣＰＵ１００は、ラスタライズバンドが確保できる限りにおいて複数バンド分のラスタライズ処理を並列処理する。
【００９５】
図６（ａ）にラスタライズバンドが拡張されない従来のラスタライズ処理のタイミングチャート例を示し、図６（ｂ）に本実施の形態によるラスタライズ処理のタイミングチャート例を示す。
【００９６】
図６（ａ）、（ｂ）に示すように、ラスタライズ処理は、ＣＰＵによる中間データに基づくバンドビットマップデータの生成処理と、画像処理部によるバンドビットマップデータに対する画像処理とが並行して実行されている。
【００９７】
なお、ＣＰＵによる処理の時間は、中間データの内容に応じて処理時間が変動するのに対し、画像処理部による処理の時間は、画像処理内容が予め設定されているため一定である。図６（ａ）、（ｂ）に記載の白抜き矢印の長さは、各処理に要する時間の長さを示しており、また、ＤＬｎ（ｎは自然数）は中間データ、ＦＢｎ（ｎは自然数）は固定ラスタライズバンド、ＥＢｎ（ｎは自然数）は、拡張ラスタライズバンドを示している。
【００９８】
図６（ａ）に示すように、ＣＰＵによる中間データに基づくバンドビットマップデータの生成処理は、中間データが軽負荷である場合には画像処理部による処理時間よりも短時間で処理が実行されるため、一方のラスタライズバンドに生成され保存されているバンドビットマップデータが画像処理部によって処理中であり、かつ、他方のラスタライズバンドにバンドビットマップデータが生成され保存され画像処理部への転送待ち状態である場合、例えば、図６（ａ）の時刻ｔ３〜ｔ４、時刻ｔ５〜ｔ６、時刻ｔ７〜ｔ８、時刻ｔ９〜ｔ１０の場合、ＣＰＵは、更に中間データに基づくバンドビットマップデータの生成処理を実行しようとしても、バンドビットマップデータを生成及び保存するために使用するラスタライズバンドが無いため、アイドル状態（待機状態）となる。
【００９９】
また、図６（ａ）に示すように、ＣＰＵによる中間データに基づくバンドビットマップデータの生成処理は、中間データが重負荷である場合には画像処理部による処理時間よりも長時間で処理が実行されるため、一方のラスタライズバンドにおいてバンドビットマップデータが生成中であり、かつ、他方のラスタライズバンドは空き状態（バンドビットマップデータが生成中でも保存もされてない状態）である場合、例えば、図６（ａ）の時刻ｔ１１〜ｔ１２、時刻ｔ１３〜ｔ１４、時刻ｔ１５〜ｔ１６の場合、画像処理部は、処理可能なバンドビットマップデータがラスタライズバンドに無いため、画像処理を実行することができず、アイドル状態（待機状態）となる。
【０１００】
図６（ｂ）を参照して、本実施の形態におけるラスタライズ処理について説明する。なお、共有保存領域１２３内に固定ラスタライズバンドが２つ含まれているものとする。
【０１０１】
時刻ｔ２１のとき、ＣＰＵ１００により、固定ラスタライズバンドＦＢ１において中間データＤ１に基づくバンドビットマップデータの生成が開始される。
【０１０２】
時刻ｔ２２のとき、固定ラスタライズバンドＦＢ１にバンドビットマップデータが生成され保存されると、画像処理部１３０において固定ラスタライズバンドＦＢ１に保存されたビットマップデータに対する画像処理が開始されると共に、ＣＰＵ１００により固定ラスタライズバンドＦＢ２において中間データＤＬ２に基づくバンドビットマップデータの生成が開始される。
【０１０３】
時刻ｔ２３のとき、固定ラスタライズバンドＦＢ２には中間データＤＬ２に基づくバンドビットマップデータが生成され保存され、固定ラスタライズＦＢ１は画像処理部１３０により保存しているバンドビットマップデータの画像処理中であるため、中間データＤ３に基づくバンドビットマップデータを生成するために使用する固定ラスタライズバンドが無くなる。そこで、拡張ラスタライズＥＢ１が確保され、拡張ラスタライズＥＢ１に中間データＤ３に基づくバンドビットマップデータの生成が開始される。
【０１０４】
時刻ｔ２４のとき、固定ラスタライズＦＢ１は画像処理部１３０により保存しているバンドビットマップデータの画像処理中であり、固定ラスタライズバンドＦＢ２にはバンドビットマップデータが保存された状態であり、拡張ラスタライズバンドＥＢ１には中間データＤＬ３に基づくラスタライズバンドが生成され保存された状態であるため、中間データＤ４に基づくバンドビットマップデータを生成するために使用する固定ラスタライズバンド又は拡張ラスタライズバンドが無い。そこで、拡張ラスタライズＥＢ２が確保され、拡張ラスタライズＥＢ２に中間データＤ４に基づくバンドビットマップデータの生成が開始される。
【０１０５】
時刻ｔ２５のとき、画像処理部１３０により固定ラスタライズＦＢ１に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、固定ラスタライズバンドＦＢ１に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において固定ラスタライズバンドＦＢ２に保存されたビットマップデータに対する画像処理が開始される。
【０１０６】
時刻ｔ２６のとき、拡張ラスタライズＥＢ２に中間データＤ４に基づくバンドビットマップデータが生成され保存されると、固定ラスタライズバンドＦＢ１にはバンドビットマップデータが保存されておらず、また生成にも使用されていないため、当該固定ラスタライズバンドＦＢ１に中間データＤ５に基づくバンドビットマップデータの生成が開始される。
【０１０７】
時刻ｔ２７のとき、固定ラスタライズバンドＦＢ１には中間データＤＬ５に基づくバンドビットマップデータが生成され保存され、固定ラスタライズバンドＦＢ２は画像処理部１３０により保存しているバンドビットマップデータの画像処理中であり、拡張ラスタライズバンドＥＢ１、ＥＢ２夫々にはバンドビットマップデータが保存され状態であるため、中間データＤ６に基づくバンドビットマップデータを生成するために使用する固定ラスタライズバンド又は拡張ラスタライズバンドが無い。そこで、拡張ラスタライズＥＢ３が確保され、拡張ラスタライズＥＢ３に中間データＤ６に基づくバンドビットマップデータの生成が開始される。
【０１０８】
時刻ｔ２８のとき、画像処理部１３０により固定ラスタライズＦＢ２に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、固定ラスタライズバンドＦＢ２に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において拡張ラスタライズバンドＥＢ１に保存されたビットマップデータに対する画像処理が開始される。
【０１０９】
時刻ｔ２９のとき、画像処理部１３０により拡張ラスタライズＥＢ１に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、拡張ラスタライズバンドＥＢ１に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において拡張ラスタライズバンドＥＢ２に保存されたビットマップデータに対する画像処理が開始される。
【０１１０】
時刻ｔ３０のとき、拡張ラスタライズＥＢ３に中間データＤ６に基づくバンドビットマップデータが生成され保存されると、固定ラスタライズバンドＦＢ２にはバンドビットマップデータが保存されておらず、また生成にも使用されていないため、当該固定ラスタライズバンドＦＢ２に中間データＤ７に基づくバンドビットマップデータの生成が開始される。
【０１１１】
時刻ｔ３１のとき、画像処理部１３０により拡張ラスタライズＥＢ２に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、拡張ラスタライズバンドＥＢ２に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において固定ラスタライズバンドＦＢ１に保存されたビットマップデータに対する画像処理が開始される。
【０１１２】
時刻ｔ３２のとき、固定ラスタライズＦＢ２に中間データＤ７に基づくバンドビットマップデータが生成され保存され、固定ラスタライズＦＢ１は画像処理部１３０により保存しているバンドビットマップデータの画像処理中であるが、拡張ラスタライズバンドＥＢ１にはバンドビットマップデータが保存されておらず、また生成にも使用されていないため、当該拡張ラスタライズバンドＥＢ１に中間データＤ８に基づくバンドビットマップデータの生成が開始される。
【０１１３】
時刻ｔ３３のとき、画像処理部１３０により固定ラスタライズＦＢ１に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、固定ラスタライズバンドＦＢ１に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において拡張ラスタライズバンドＥＢ３に保存されたビットマップデータに対する画像処理が開始される。
【０１１４】
時刻ｔ３４のとき、画像処理部１３０により拡張ラスタライズＥＢ３に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、拡張ラスタライズバンドＥＢ３に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において固定ラスタライズバンドＦＢ２に保存されたビットマップデータに対する画像処理が開始される。
【０１１５】
時刻ｔ３５のとき、拡張ラスタライズＥＢ１に中間データＤ８に基づくバンドビットマップデータが生成され保存される。
【０１１６】
時刻ｔ３６のとき、画像処理部１３０により固定ラスタライズＦＢ２に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、固定ラスタライズバンドＦＢ２に保存されていたバンドビットマップデータが消去される。また、画像処理部１３０において拡張ラスタライズバンドＥＢ１に保存されたビットマップデータに対する画像処理が開始される。
【０１１７】
時刻ｔ３７のとき、画像処理部１３０により拡張ラスタライズＥＢ１に保存されていたバンドビットマップデータの画像処理が終了し、圧縮バンドビットマップデータが生成され共有保存領域１２３に保存され、拡張ラスタライズバンドＥＢ１に保存されていたバンドビットマップデータが消去される。
【０１１８】
図６（ｂ）に示すように、本実施の形態によれば、ＣＰＵ１００及び画像処理部１３０が、アイドル状態となることを防ぐことができ、図６（ａ）に示す従来よりもラスタライズ処理に要する時間を短縮することができる。
【０１１９】
本実施の形態によれば、バンドビットマップデータを生成する際に使用可能なラスタライズバンドの有無に応じて、ラスタライズバンドを拡張させることができるため、中間データに基づいてバンドビットマップデータを生成する際に使用するラスタライズバンドを適宜確保することができる。従って、ＣＰＵ１００は、バンドビットマップデータを生成する際に使用するラスタライズバンドが空くまで待機することがなくなり、ＣＰＵ１００による処理時間が中間データの内容に応じて変動してもラスタライズ処理の実行効率を向上させることができ、スループットの向上を図ることができる。
【０１２０】
また、バンドビットマップデータが保存されていない固定ラスタライズバンドがある場合であって、バンドビットマップデータが保存されていない拡張ラスタライズバンド（即ち、未使用の拡張ラスタライズバンド）が有る場合、未使用の拡張ラスタライズバンドを解放することができるため、不要な拡張ラスタライズバンドを解放して共有保存領域１２３のオバーフローを防ぎ有効利用を図ることができる。
【０１２１】
更に、圧縮バンドビットマップデータが保存できず、バンドビットマップデータが保存されていない拡張ラスタライズバンド（即ち、未使用の拡張ラスタライズバンド）が有る場合、未使用の拡張ラスタライズバンドを解放することができるため、ラスタライズバンドの拡張による圧縮バンドビットマップデータの保存の妨げを低減することができる。
【０１２２】
［変形例］
以下、本実施の形態の変形例を説明する。
本実施の形態の変形例は、ラスタライズバンドを拡張する際の動作が異なる以外は、図１〜５を用いて上述した実施の形態と同様であるため、異なる部分のみ説明する。具体的には、図４に示すＣＰＵ１００が実行する処理の一部が異なるものである。
【０１２３】
本変形例におけるＣＰＵ１００は、ＲＯＭ１１０及びＲＡＭ１２０との協働により、画像処理部１３０によるバンドビットマップデータに対する画像処理が可能か否かを判別し、当該判別結果に応じてラスタライズバンドを拡張させるメモリ領域制御部としての機能を実現する。
【０１２４】
図７に、本実施の形態の変形例において、図４に対応するＣＰＵ１００が実行する処理のフロー図を示す。
【０１２５】
ＣＰＵ１００は、ラスタライズバンドに中間データに基づいてバンドビットマップデータを展開して生成し、一時的に保存させる（ステップＳ４１）。
【０１２６】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能か否か、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理の実行中でないか否かを判別する（ステップＳ４２）。
【０１２７】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能であると判別した場合、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理を実行中でないと判別した場合（ステップＳ４２；Ｙｅｓ）、ステップＳ４６に進む。
【０１２８】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能でないと判別した場合、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理を実行中であると判別した場合（ステップＳ４２；Ｎｏ）、ラスタライズバンドの拡張が可能か否かを判別する（ステップＳ４３）。
【０１２９】
ＣＰＵ１００は、ラスタライズバンドの拡張が可能であると判別した場合（ステップＳ４３；Ｙｅｓ）、共有保存領域１２３内に拡張ラスタライズバンドを１バンド確保することによりラスタライズバンドの拡張を行う（ステップＳ４４）。
【０１３０】
ＣＰＵ１００は、ラスタライズバンドの拡張が不可能であると判別した場合、例えば、共有保存領域１２３内に拡張ラスタライズバンドを確保するための空き領域が無い場合（ステップＳ４３；Ｎｏ）、ステップＳ４５に進む。
【０１３１】
ＣＰＵ１００は、ステップＳ４３；Ｎｏ後、又はステップＳ４４後、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能か否かを判別する（ステップＳ４５）。
【０１３２】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能でないと判別した場合（ステップＳ４５；Ｎｏ）、ステップＳ４５に戻り待機する。
【０１３３】
ＣＰＵ１００は、画像処理部１３０がラスタライズバンドに生成し保存したバンドビットマップデータに対する処理の実行に使用可能であると判別した場合、即ち画像処理部１３０は他のラスタライズバンドに生成され保存されたバンドビットマップデータに対する処理の実行中でないと判別した場合（ステップＳ４５；Ｙｅｓ）、ステップＳ４６に進む。
【０１３４】
ステップＳ４６〜Ｓ５２は、図４に示すステップＳ１６〜Ｓ２２と同様であるため、説明は省略する。
【０１３５】
本実施の形態の変形例によれば、画像処理部１３０によるバンドビットマップデータに対する画像処理が可能か否かに応じて、ラスタライズバンドを拡張させることができるため、ＣＰＵ１００は、画像処理部１３０がバンドビットマップデータに対する画像処理の完了待ちをせずとも、中間データに基づいてバンドビットマップデータを生成する際に使用するラスタライズバンドが確保されることとなる。従って、バンドビットマップデータを生成する際に使用するラスタライズバンドが空くまでＣＰＵ１００が待機することがなくなり、ＣＰＵ１００による処理時間が中間データの内容に応じて変動してもラスタライズ処理の実行効率を向上させることができ、スループットの向上を図ることができる。
【０１３６】
以上に説明した処理がバンド毎に実行される訳であるが、先の例と同様に、あるバンドに対してステップＳ４１の処理が完了した時点で、ＣＰＵ１００は次バンドに対する処理（図７と同じ処理）の実行を開始する。
【図面の簡単な説明】
【０１３７】
【図１】本実施の形態における画像形成装置１の制御ブロック図である。
【図２】共有保存領域１２３の概念図例である。
【図３】１ページ分の画像が記録媒体上に形成されるまでの処理のフロー図である。
【図４】ステップＳ３のラスタライズ処理においてＣＰＵ１００が実行する処理のフロー図である。
【図５】ステップＳ１６における画像処理部１３０が実行する処理のフロー図である。
【図６】図６（ａ）はラスタライズバンドが拡張されない従来のラスタライズ処理のタイミングチャート例であり、図６（ｂ）は本実施の形態によるラスタライズ処理のタイミングチャート例である。
【図７】本実施の形態の変形例において、図４に対応するＣＰＵ１００が実行する処理のフロー図である。
【符号の説明】
【０１３８】
１  画像形成装置
２  外部装置
１０  制御部
１１  外部ＩＦ
１２  操作表示部
２０  画像読取部
３０  プリント部
１００  ＣＰＵ
１１０  ＲＯＭ
１１１  データ受信部
１１２  解析部
１１３  ビットマップデータ生成部
１１４  印刷制御部
１２０  ＲＡＭ
１２１  展開領域
１２２  スプール領域
１２３  共有保存領域
１３０  画像処理部
【図１】
2008195021.tif 000003
【図２】
2008195021.tif 000004
【図３】
2008195021.tif 000005
【図４】
2008195021.tif 000006
【図５】
2008195021.tif 000007
【図６】
2008195021.tif 000008
【図７】
2008195021.tif 000009