(57)【特許請求の範囲】
【請求項１】
複数のプレーン画像を格納するプレーンバッファを有する記憶手段と、
印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画する第一描画手段と、
印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去する第二描画手段とを有し、
前記第一描画手段と前記第二描画手段を切り替えて１ページの画像データを描画する画像処理装置。
【請求項２】
入力したフォームデータに基づいて展開されたフォーム画像を格納するフォーム画像格納手段と、
前記フォーム画像は前記第一描画手段により前記プレーンバッファに描画され、フォームの所定位置に書き込まれる印刷データは前記第二描画手段により前記プレーンバッファに描画されるよう制御する制御手段と、
を更に有していることを特徴とする請求項１記載の画像処理装置。
【請求項３】
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力可能な画像処理装置において、
少なくとも１ページ分の前記フォームデータを記憶するフォームデータ記憶手段と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成するフォーム画像生成手段と、
少なくとも１ページ分の前記フォーム画像を保持するフォーム画像保持手段と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画するフォーム描画手段とを有し、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画する画像処理装置であって、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が描画されて保持されているかどうかを調べる判断手段を有し、
前記判断手段によって対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画手段によりプレーン別のフォーム画像をそれぞれ対応するプレーンの前記出力メモリ上へ描画し、
前記判断手段によって対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成手段により前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画し、
前記フォーム描画手段は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成手段は、前記中間データに基づいて前記メモリ内の描画が必要なプレーンに画像データを描画し、描画が必要ないプレーンの該フォーム画像の位置のデータを消去することを特徴とする画像処理装置。
【請求項４】
前記プレーン別の複数のフォーム画像を、プレーン毎にそれぞれ符合化する符合化手段と、
前記符合化されたフォーム画像をプレーン毎に復号化する復号化手段とを更に有しており、
前記フォーム画像保持手段は、符号化されたフォーム画像を保持していることを特徴とする請求項３記載の画像処理装置。
【請求項５】
外部から印刷すべきデータを受信していない時間に、フォームデータが前記フォームデータ記憶手段に記憶されているかどうかを調べる記憶判断手段を更に有し、
前記記憶判断手段によりフォームデータが前記フォームデータ記憶手段に記憶されていると判断された場合に、前記フォーム画像生成手段は、フォームデータを読み出してフォーム画像を生成することを特徴とする請求項３記載の画像処理装置。
【請求項６】
前記フォーム画像生成手段は、外部から指示されるフォームラスタ生成命令に従ってフォーム画像を生成することを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記フォーム画像生成手段は、１ページをバンド状に分割した形式で前記フォーム画像を生成し、前記フォーム画像保持手段は、分割された各フォーム画像の１ページ分を合わせて保持することを特徴とする請求項３記載の画像処理装置。
【請求項８】
前記フォーム画像保持手段は、不揮発性記憶手段であることを特徴とする請求項３記載の画像処理装置。
【請求項９】
前記フォーム画像保持手段は、揮発性記憶手段であることを特徴とする請求項３記載の画像処理装置。
【請求項１０】
前記フォーム描画手段は、印刷データが前記出力メモリへ描画される前に、前記フォーム画像保持手段に保持された各フォーム画像を順次読み出し、各プレーン別の出力メモリへ描画することを特徴とする請求項３記載の画像処理装置。
【請求項１１】
前記フォームデータは、ページ記述言語形式の命令群によって構成されることを特徴とする請求項３記載の画像処理装置。
【請求項１２】
前記画像処理装置は、カラープリンタであることを特徴とする請求項３記載の画像処理装置。
【請求項１３】
複数のプレーン画像を格納するプレーンバッファを有する記憶手段を有する画像処理装置を制御する方法であって、
印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画させる第一描画工程と、
印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去させる第二描画工程とを含み、
前記第一描画工程と前記第二描画工程を切り替えて１ページの画像データを描画させる画像処理方法。
【請求項１４】
入力したフォームデータに基づいて展開されたフォーム画像をフォーム画像格納手段に格納させるフォーム画像格納工程と、
前記フォーム画像は前記第一描画工程で前記プレーンバッファに描画され、フォームの所定位置に書き込まれる印刷データは前記第二描画工程で前記プレーンバッファに描画されるよう制御する制御工程と、
を更に含んでいることを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力させる画像処理方法において、
少なくとも１ページ分の前記フォームデータをフォームデータ記憶手段に記憶させるフォームデータ記憶工程と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成させるフォーム画像生成工程と、
少なくとも１ページ分の前記フォーム画像をフォーム画像保持手段に保持させるフォーム画像保持工程と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画させるフォーム描画工程とを含み、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画させる画像処理方法であって、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が保持されているかどうかを調べさせる判断工程を有し、
前記判断工程で対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画工程でプレーン別のフォーム画像をそれぞれ対応するプレーンの出力メモリ上へ描画させ、
前記判断工程で対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成工程で前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画させ、
前記フォーム描画工程は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成工程は、前記中間データに基づいて前記出力メモリ内の描画が必要なプレーンに画像データを描画させ、描画が必要ないプレーンの該フォーム画像の位置のデータを消去させることを特徴とする画像処理方法。
【請求項１６】
前記プレーン別の複数のフォーム画像を、プレーン毎にそれぞれ符合化させる符合化工程と、
前記符合化されたフォーム画像をプレーン毎に復号化させる復号化工程と
を更に含んでおり、
前記フォーム画像保持工程は、前記フォーム画像保持手段に符号化されたフォーム画像を保持していることを特徴とする請求項１５記載の画像処理方法。
【請求項１７】
外部から印刷すべきデータを受信していない時間に、フォームデータが前記フォームデータ記憶手段に記憶されているかどうかを調べさせ記憶判断工程を更に含み、
前記記憶判断工程でフォームデータが前記フォームデータ記憶手段に記憶されていると判断された場合に、前記フォーム画像生成工程は、フォームデータを読み出してフォーム画像を生成させることを特徴とする請求項１５記載の画像処理方法。
【請求項１８】
前記フォーム画像生成工程は、外部から指示されるフォームラスタ生成命令に従ってフォーム画像を生成させることを特徴とする請求項１５記載の画像処理方法。
【請求項１９】
前記フォーム画像生成工程は、１ページをバンド状に分割した形式で前記フォーム画像を生成させ、前記フォーム画像保持手段は、分割された各フォーム画像の１ページ分を合わせて保持させることを特徴とする請求項１５記載の画像処理方法。
【請求項２０】
前記フォーム画像保持手段は、不揮発性記憶手段であることを特徴とする請求項１５記載の画像処理方法。
【請求項２１】
前記フォーム画像保持手段は、揮発性記憶手段であることを特徴とする請求項１５記載の画像処理方法。
【請求項２２】
前記フォーム描画工程は、印刷データが前記出力メモリへ描画される前に、前記フォーム画像保持手段に保持された各フォーム画像を順次読み出し、各プレーン別の出力メモリへ描画することを特徴とする請求項１５記載の画像処理方法。
【請求項２３】
前記フォームデータは、ページ記述言語形式の命令群によって構成されることを特徴とする請求項１５記載の画像処理方法。
【請求項２４】
複数のプレーン画像を格納するプレーンバッファを有する記憶手段を有する画像処理装置を制御するプログラムが格納された記憶媒体であって、
印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画させる第一描画工程と、
印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去させる第二描画工程とを画像処理装置に実行させるプログラムが格納され、
前記第一描画工程と前記第二描画工程を切り替えて１ページの画像データを描画させることを特徴とするプログラムが格納された記憶媒体。
【請求項２５】
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力させる画像処理装置を制御するプログラムが格納された記憶媒体であって、
少なくとも１ページ分の前記フォームデータをフォームデータ記憶手段に記憶させるフォームデータ記憶工程と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成させるフォーム画像生成工程と、
少なくとも１ページ分の前記フォーム画像をフォーム画像保持手段に保持させるフォーム画像保持工程と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画させるフォーム描画工程とを画像処理装置に実行させるプログラムが格納され、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画させるプログラムが格納された記憶媒体において、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が保持されているかどうかを調べさせる判断工程を画像処理装置に実行させるプログラムが格納され、
前記判断工程で対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画工程でプレーン別のフォーム画像をそれぞれ対応するプレーンの出力メモリ上へ描画させ、
前記判断工程で対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成工程で前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画させ、
前記フォーム描画工程は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成工程は、前記中間データに基づいて前記出力メモリ内の描画が必要なプレーンに画像データを描画させ、描画が必要ないプレーンの該フォーム画像の位置のデータを消去させることを特徴とするプログラムが格納された記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、およびプログラム記憶媒体、詳しくは、それぞれ色の異なる複数のプレーン画像のカラーフォームデータと通常ページデータとをフォームオーバーレイ処理して生成されたイメージデータを出力する画像処理装置、画像処理方法およびプログラム記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、ページプリンタに対して、より表現力・アピール度の高い文書、画像イメージを印刷する要望が強まり、カラー印刷可能なカラーページプリンタが出現している。前記カラーページプリンタにおいては、カラーイメージデータやカラー指定命令等のページ記述言語を解釈可能なように構成されており、例えば、ＲＧＢで記述された各カラー描画命令を、予め定められた色変換処理を施すことによって、複数のカラープレーン（例えば、Ｙ、Ｍ、Ｃ、Ｂｋ等）に分解・変換し、前記カラープレーン毎に画像イメージ（ラスタ画像）を生成している。
【０００３】
プリンタエンジンに対しては、前記ラスタ画像のビットのＯＮ／ＯＦＦを反映したビデオ信号を、各カラープレーン別に面順次で転送し、既知の潛像形成、現像、定着手段により、記憶紙上に最終的な画像を形成している。なお、このようなカラーページプリンタは、前記各プレーンに対応した複数のカラートナー（例えば、イエロー＝Ｙ、マゼンタ＝Ｍ、シアン＝Ｃ、ブラック＝Ｂｋ）を備えており、各トナーによる各プレーンの画像を重ね合わせて記録紙上に画像を形成している。
【０００４】
以下、図３、図４、図５を用いて、従来のカラー画像処理装置における、各プレーン毎のラスタ画像生成手順について説明する。なお、ここでは簡単のため、１ページ分のラスタメモリを生成した後、一度に１ページ分のビデオ信号出力を行なう場合（フルペイント方式）について説明するが、１ページを複数のバンドに分割して、ビデオ転送と同時に、順次続くバンドのラスタ画像を生成する場合（バンディング方式）についても同様である。ここでは、外部から入力されたページ記述言語によって、文字”Ａ”を赤い色で描画する指示があった場合を示しているものとする。ここで、図３の３０１、３０２、３０３、３０４はそれぞれ、Ｙ、Ｍ、Ｃ、Ｂｋ、各プレーンの１ページ分のラスタメモリ（ページバッファ）を示しており、図４は、図３のラスタ画像を生成するための描画オブジェクトの構成を示している。ここで、描画オブジェクトとは、最終的なラスタ画像を生成する前段階の中間データ形式を意味し、ここでは、文字コード”Ａ”に対応したビットマップパターンであるとする。
【０００５】
まず、ＹＭＣＢｋの色空間にて赤色を表現するためには、Ｙ：Ｍ：Ｃ：Ｂｋ＝１：１：０：０とすればよいので、図３に示すように、Ｙ、Ｍの各プレーンに文字”Ａ”を描画（ラスタメモリの相当する位置のビットをＯＮにセット）する。
【０００６】
一方、Ｃ、Ｂｋの各プレーンに対しては、文字”Ａ”を白く抜く（ページバッファの相当する位置のビットをＯＦＦにセットする）必要がある。なぜならば、既に異なる描画オブジェクトにより文字”Ａ”を描画すべき位置のビットがＯＮにセットされていると、各プレーンの画像を記録紙上で重ね合わせた際に、正しく赤い色が再現されなくなってしまうためである。
【０００７】
図４において、４０４は、文字”Ａ”のビットマップパターン（４０６）と、パターンの幅・高さなどの情報を格納した情報部（４０５）とから構成されるフォントオブジェクトであり、４０１は、前記フォントオブジェクトをページ内のどの位置に描画すべきかといった情報を格納した描画指示情報部である。
【０００８】
前記フォントパターン４０６は、例えば、ページ記述言語で指示された書体、文字サイズ、文字コード等の情報を元に、図示しないフォントスケーラによってスケーラブルフォントデータから生成される。一方、描画情報４０１は、前記フォントオブジェクトのメモリ上の先頭アドレス（ａｄｄｒ）、描画オブジェクトを書き始めるページ内の描画位置（ｘ、ｙ）などの情報（４０２）に加え、カラー情報（４０３）を持つ。ここでは、前記カラー情報４０３は４ビットで構成されており、各ビットの内容によって、ＹＭＣＢｋプレーンのうち、どのプレーンに描画オブジェクトを描画するか、すなわち、どのプレーンのラスタ画像のビットを１にセットするかが指示されるようになっている。同図では、先頭のビットから順に、Ｙ、Ｍ、Ｃ、Ｂｋに対応している。従って、前記カラー情報の４ビットのうち先頭の２ビットが１にセットされている場合は、Ｙ、Ｍの各プレーンに対してフォントパターン４０６を描画する際、ページバッファ上の対応する位置のビットを１にセットすることを示している。また、カラー情報の３、４ビット目は０であることから、それぞれ対応するＣ、Ｂｋプレーンに対しては、フォントパターンに相当する位置のページバッファのビットは０にセットされる。
【０００９】
なお、前記描画処理において、各プレーンのビットを書き換える範囲は、フォントパターン４０６のビットが１にセットされている箇所のみであることから、前記フォントオブジェクトはマスクオブジェクトと呼ばれ、前記色情報４０３はマスクの背景、すなわちバックグラウンドとして扱われる。
【００１０】
また、ここでは簡単のため、バックグラウンド４０３は単に有無を示すビット情報として説明したが、中間色を表現するためのディザパターンとしても構わない（図５）。この場合、各プレーン毎に異なるディザパターンを持つことになり、カラー情報５０３としては、これらのディザパターンの先頭アドレス（ＢＧ＿ａｄｄｒ）がセットされている。また、前記ディザパターンは例えば、３２×３２ドット固定のパターンとし、白で上書きするプレーンに対しては、全ビットが０にセットされているディザパターンが使われることになる。なお、図５においては、カラー情報５０３以外は、図４の構成と同一である。
【００１１】
一方、一般的な業務等の印刷においては、帳票や定型文書のように、タイトルや枠線など、複数ページにわたって内容が同一の定型フォーム部（以下、フォームデータと呼ぶ）と、表中の数字や名前など、ページ毎に内容が異なる非定型データ部（以下、後付けデータと呼ぶ）を重ね合わせて印刷する、フォームオーバーレイ印刷が用いられる場合が多い。
【００１２】
ページ記述言語を解析して対応するラスタ画像を生成する、従来のページプリンタにおいては、前記フォームデータ、および後付けデータは、共にページ記述言語形式で記述されており、前記フォームデータをマクロ命令として登録・実行することで定型フォーム部の印刷を実現していた。すなわち、該フォームを構成する個々の枠線やタイトル文字等を描画するためのページ記述言語の命令群を、１つあるいは複数のマクロ命令としてプリンタの記憶領域に登録しておき、ページが変わる度に前記マクロ命令（群）を実行することで、前記フォームオーバーレイ印刷が実現されていた。
【００１３】
以下に、前記マクロ命令の実行について詳しく述べる。
【００１４】
プリンタの記憶領域（空きＲＡＭ等）に登録済みの前記マクロ命令は、該マクロの指定時（＝１回目の実行）と、１ページ分の後付けデータの解析が終了した後、例えば排紙命令を受信する度（＝２回目以降の実行）に、前記記憶領域から登録内容、すなわち該フォームを構成するページ記述言語の命令群が読み出され、ページ記述言語解析手段によって、通常ページの後付けデータと同様に解析された後、１ページ分のラスタ画像を生成するための中間コードである、描画オブジェクトを生成する。なお、前記描画オブジェクトの生成処理は、後付けデータを処理する際と全く同様に行なえばよい。
【００１５】
また、印刷実行に先だって、予めホストコンピュータからプリンタへ前記フォームデータを転送し、フラッシュメモリ等の不揮発性メモリ、あるいはハードディスク等の不揮発性外部記憶装置、ＲＡＭ等の揮発性メモリへマクロデータとして登録しておくことで、毎回フォームデータを転送しなくてもよいように構成されている場合もある。この場合、印刷実行時には、フラッシュメモリ／ハードディスク／ＲＡＭ内のマクロデータを番号等で指示する、マクロ指定命令のみが送られることになる。なお、フォームデータがＲＡＭ上へ登録された場合は、該プリンタの電源が一度切断された後は前記マクロ指定命令は無効であるが、フラッシュメモリ等へ登録した際は再電源投入後でも有効であることは言うまでもない。
【００１６】
【発明が解決しようとする課題】
しかしながら、上記従来例では、以下に説明するような問題点があった。
【００１７】
すなわち、従来の画像処理装置においては、フォームデータはページ記述言語形式で登録されているため、フォームオーバーレイを行なう各ページにおいて、同一のフォームデータ（マクロデータ）を読み出し、解析し、描画オブジェクトを生成することになる。よって、フォームデータの内容が複雑な場合は、毎ページ、定型フォーム部の解析と描画オブジェクトの生成に多くの時間がかかってしまっていた。すなわち、定型フォーム部の描画内容が複雑になればなるほど、フォーム部の処理時間が増大していた。
【００１８】
また、同一のフォームデータを用いて、複数ページのオーバーレイ印字を行なう場合、ページ毎に毎回、同一のマクロ（コマンド群）を解析し、同一の描画オブジェクトを生成するため、同じ内容のフォームであるにも関わらず、２ページ目以降の印字速度が向上しないという問題点があった。
【００１９】
更に、同一の描画オブジェクトをページ毎に生成しており、複数ページ間で前記描画オブジェクトが共有されていないため、描画処理に必要なメモリが増大し、排紙待ち等のパフォーマンス低下も懸念されていた。特に、図形やイメージ画像等を含んだ複雑なフォームをオーバーレイ指定し、描画メモリ不足などのエラーが発生する場合、フォームオーバーレイを行なった全ページで同一のエラーが発生することとなり、上記課題の解決が重要となっていた。
【００２０】
そこで、上記問題の解決策の一つとしては、予めフォームデータをラスタライズし、イメージデータ、すなわちフォーム画像としてプリンタ内の記憶領域に保持しておき、オーバーレイ印刷時には、フォームデータの解析・ラスタライズを行なう必要なく高速に出力することが考えられる（以下、プレラスタライズ方式と呼ぶ）。
【００２１】
プレラスタライズ方式においてオーバーレイ指定がなされたページでは、フォーム画像をバンドバッファへコピーした後、通常ページデータを解析・ラスタライズするだけで重ね合わせ描画が済む。なお、１ページ分のフォーム画像を保持するためには大量のメモリが必要となるため（Ａ３、６００ｄｐｉ、モノクロで約８ＭＢのメモリが必要）、前記フォーム画像は符合化手段により圧縮された後、プリンタの記憶領域に保持され、バンドバッファへコピーされる際に復号化される。
【００２２】
しかし、このようなプレラスタライズ方式では、一旦ラスタライズされたビットマップイメージを再度バンドバッファへ描画することでフォーム画像の描画を行なうため、複数のプレーンを用いてカラー画像を出力する、従来のカラー画像処理装置へ適応することは困難なはずである。
【００２３】
なぜなら、従来のカラー画像処理装置においては、従来技術で説明した通り、文字、図形等の個々の描画オブジェクトを描画する際、描画が不要なプレーンに対して、描画が必要なプレーンと同一の内容を白で描画（消去）することで、指定通りの正しい色による描画を行なっており、予め異なるプレーンに分離されたフォーム画像をメモリに再描画するときに他のプレーンを白で描画してしまいフォーム画像の一部のプレーンを消去してしまうという問題が生じるからである。例えば、赤色のフォーム画像を表現するためには、Ｙ：Ｍ：Ｃ：Ｂｋ＝１：１：０：０となりＹとＭの２つのプレーンに分離してメモリに格納しておく。そしてＹとＭのプレーンからバンドバッファに再描画するときに、Ｙのプレーンを描画した後にＭのプレーンを描画すると最初に描画されたＹのプレーンが白で削除されるため、マゼンタ（Ｍ）だけのフォーム画像になってしまうからである。よって、予め異なるプレーンに分離されたフォーム画像のみを他のプレーンに影響することなく個別に描画できる画像処理装置、方法およびプログラム記憶媒体を提供することを課題とする。
【００２４】
【課題を解決するための手段】
上記問題点を解決するための本発明に係る画像処理装置は、以下のような構成を備える。即ち、複数のプレーン画像を格納するプレーンバッファを有する記憶手段と、印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画する第一描画手段と、印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去する第二描画手段とを有し、前記第一描画手段と前記第二描画手段を切り替え可能とする。
【００２５】
さらに、上記問題点を解決するための本発明に係る画像処理装置は、以下のような構成を備える。即ち、
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力可能な画像処理装置において、
少なくとも１ページ分の前記フォームデータを記憶するフォームデータ記憶手段と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成するフォーム画像生成手段と、
少なくとも１ページ分の前記フォーム画像を保持するフォーム画像保持手段と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画するフォーム描画手段とを有し、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画する画像処理装置であって、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が描画されて保持されているかどうかを調べる判断手段を有し、
前記判断手段によって対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画手段によりプレーン別のフォーム画像をそれぞれ対応するプレーンの前記出力メモリ上へ描画し、
前記判断手段によって対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成手段により前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画し、
前記フォーム描画手段は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成手段は、前記中間データに基づいて前記メモリ内の描画が必要なプレーンに画像データを描画し、描画が必要ないプレーンの該フォーム画像の位置のデータを消去することを特徴とする。
【００２６】
更に、上記問題点を解決するための本発明に係る画像処理方法は、以下の工程からなる。即ち、複数のプレーン画像を格納するプレーンバッファを有する記憶手段を有する画像処理装置を制御する方法であって、印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画させる第一描画工程と、印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去させる第二描画工程とを含み、前記第一描画工程と前記第二描画工程を切り替えて画像データを描画させるものである。
【００２７】
更に、上記問題点を解決するための本発明に係る画像処理方法は、以下の工程からなる。即ち、
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力させる画像処理方法において、
少なくとも１ページ分の前記フォームデータをフォームデータ記憶手段に記憶させるフォームデータ記憶工程と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成させるフォーム画像生成工程と、
少なくとも１ページ分の前記フォーム画像をフォーム画像保持手段に保持させるフォーム画像保持工程と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画させるフォーム描画工程とを含み、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画させる画像処理方法であって、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が保持されているかどうかを調べさせる判断工程を有し、
前記判断工程で対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画工程でプレーン別のフォーム画像をそれぞれ対応するプレーンの出力メモリ上へ描画させ、
前記判断工程で対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成工程で前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画させ、
前記フォーム描画工程は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成工程は、前記中間データに基づいて前記出力メモリ内の描画が必要なプレーンに画像データを描画させ、描画が必要ないプレーンの該フォーム画像の位置のデータを消去させることを特徴とする。
【００２８】
更に、上記問題点を解決するための本発明に係るプログラムが格納された記憶媒体は、即ち、
複数のプレーン画像を格納するプレーンバッファを有する記憶手段を有する画像処理装置を制御するプログラムが格納された記憶媒体であって、
印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画させる第一描画工程と、
印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去させる第二描画工程とを画像処理装置に実行させるプログラムが格納され、
前記第一描画工程と前記第二描画工程を切り替えて１ページの画像データを描画させることを特徴とする。
【００２９】
更に、上記問題点を解決するための本発明に係るプログラムが格納された記憶媒体は、即ち、
１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データとをオーバーレイ出力させる画像処理装置を制御するプログラムが格納された記憶媒体であって、
少なくとも１ページ分の前記フォームデータをフォームデータ記憶手段に記憶させるフォームデータ記憶工程と、
前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成させるフォーム画像生成工程と、
少なくとも１ページ分の前記フォーム画像をフォーム画像保持手段に保持させるフォーム画像保持工程と、
前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンの出力メモリに描画させるフォーム描画工程とを画像処理装置に実行させるプログラムが格納され、
前記印刷データに基づいて、前記出力メモリに前記フォーム画像と合わせて画像データを描画させるプログラムが格納された記憶媒体において、
フォーム印刷命令が指示された場合に、前記フォーム画像保持手段内に前記フォーム印刷命令に対応したフォーム画像が保持されているかどうかを調べさせる判断工程を画像処理装置に実行させるプログラムが格納され、
前記判断工程で対応するフォーム画像が保持されていると判断された場合には、前記フォーム描画工程でプレーン別のフォーム画像をそれぞれ対応するプレーンの出力メモリ上へ描画させ、
前記判断工程で対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成工程で前記フォームデータ記憶手段からフォームデータを読み出し解析して１ページ分の中間データを生成し、生成された中間データに基づいて出力メモリ上へフォーム画像を展開描画させ、
前記フォーム描画工程は、独立して前記出力メモリの各プレーンにフォーム画像を描画し、
前記フォーム画像生成工程は、前記中間データに基づいて前記出力メモリ内の描画が必要なプレーンに画像データを描画させ、描画が必要ないプレーンの該フォーム画像の位置のデータを消去させることを特徴とする。
【００３０】
上記構成により、本発明によれば、フォームデータの内容に関わらず、カラーのフォームオーバーレイを高速に出力することができる。特に、同一内容のフォームデータに対して通常ページが毎ページ異なるような複数ページの印刷命令においては、２ページ目以降のフォームデータ処理時間をほぼ０にすることができる。
【００３１】
また、定型フォーム部については、同一の描画オブジェクトを複数ページ毎に個別に持つ必要がなくなるため、複数ページ分の描画オブジェクトに要するメモリを、トータルとして低く抑えることが可能となり、排紙待ちなどの処理速度の低下を避けることができる。
【００３２】
また、本発明によれば、各カラープレーン別に、１ページをバンド状に分割した単位で、前記フォーム画像を生成・符合化・保持し、順次復号化した後、読み出してバンドバッファへ描画するように構成したことで、復号化の際に前処理や読み飛ばしの処理が不要となり、通常ページデータをバンディング方法によって描画を行なう画像処理装置に対して簡単に適用可能となる。
【００３３】
【発明の実施の形態】
〔第一実施例〕
以下に添付の図面を参照して、本発明の第１の実施例について説明する。
【００３４】
まず、図１、２を参照しながら、本発明を適用するに好適なカラー画像処理装置の構成について説明する。図１は本発明を適用可能なカラー画像処理装置の概略構造を示すブロック図であり、例えば、レーザービームプリンタの場合を示す。なお、本発明を適用可能な画像処理装置はレーザービームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いことはいうまでもない。
【００３５】
図１において、１０１はホストコンピュータ等の外部機器、１０２は本実施例を適用したカラーレーザービームプリンタ本体である。
【００３６】
カラーレーザービームプリンタ１０２は、前記外部機器１０１からページ記述言語形式の印刷データ（文字コードや図形データ等）やイメージデータを受けとり、それらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。
【００３７】
１０５はプリンタエンジン部であって、Ｙ、Ｍ、Ｃ、Ｂｋ各色のドットデータ（イメージデータ）毎に実際に感光ドラムに潜像を形成することによって、用紙にＹ、Ｍ、Ｃ、Ｂｋの４色を重ね合わせ、熱定着させることによって印字を行なう。
【００３８】
また、１０３はプリンタ制御ユニット（コントローラ）部であって、レーザービームプリンタ１０２全体の制御、およびホストコンピュータから供給される文字情報などを解析する。この制御ユニット１０３は、前記プリンタエンジン部１０５と接続され、外部機器１０１から供給される印刷データを解析して、前記印刷データに基づいたＹ、Ｍ、Ｃ、Ｂｋ各色のドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して順次ドットデータ（ビデオ信号）を送信する。
【００３９】
１０４は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネルであって、オペレータ（使用者）は、パネル部１０４を操作することによって、カラーレーザービームプリンタ１０２に所定の動作の指定、あるいは印刷環境の設定等を行なうことができる。
【００４０】
図２は本実施例のカラーレーザビームプリンタ１０２のプリンタエンジン部１０５の内部構造を示す断面図である。
【００４１】
同図において、２０１は記録媒体である用紙、２０２は用紙２０１を保持する用紙カセットである。２０３はカセット給紙クラッチであり、用紙カセット２０２上に載置された用紙２０１の最上位の用紙１枚のみを分離し、不図示の駆動手段によって分離した用紙の先端部を給紙ローラ２０４の位置まで搬送させるカムで、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙を給紙する。給紙ローラ２０４は、用紙が給紙クラッチ２０３によって搬送されてくると、用紙２０１を軽く挿圧しながら回転し、用紙２０１を搬送する。
【００４２】
一方、２２２は用紙台、２２１は手差し給紙クラッチであり、用紙カセット２０２からの給紙だけでなく、給紙台２２２から１枚ずつ手差し給紙することを可能にする。
【００４３】
２０５は転写ドラム、２０６は用紙の先端を挟み込むグリッパ、２０７は搬送ローラである。転写ドラム２０５は所定の速度によって回転しており、転写ドラム２０５上のグリッパ２０６が用紙先端位置に来た時に、グリッパは用紙先端部を挟み込む。このことと用紙搬送ローラ２０７によって用紙２０１は転写ドラム２０５に巻つき搬送される。
【００４４】
２０８は感光ドラム、２０９は現像器支持部、２１０はＹ：イエロートナー現像器、２１１はＭ：マゼンタトナー現像器、２１２はＣ：シアントナー現像器、２１３はＢｋ：ブラックトナー現像器である。
【００４５】
前記現像器支持部２０９は、回転して所望の色トナーの現像器を感光ドラム２０８に現像できる位置に搬送する。
【００４６】
２１４は不図示の半導体レーザを駆動するためのレーザドライバであって、プリンタコントローラ１０３から送出されるドットデータ（ビデオ信号）に応じて、前記半導体レーザをＯＮ／ＯＦＦすることで、発射するレーザ光２２１のオンオフ切り替えを行なう。
【００４７】
レーザー光２２１は、感光ドラム２０８上に結像し、不図示の回転多面鏡で左右方向に振られることで、主走査方向に走査して主走査ライン上に潜像を形成する。それと同時に、感光ドラム２０８は転写ドラム２０５上の用紙２０１位置と同期をとりながら回転駆動される。上記動作によって、不図示の帯電器により帯電された感光ドラム２０５の表面には、レーザビームの露光による１ページ分の静電潜像が形成される。感光ドラム２０８の潜像は、現像器２１０、２１１、２１２、２１３の内にある所定の色トナーの現像器によってトナー像として顕像化された後、転写ドラム２０５上の用紙２０１に前記トナー像を転写する。
【００４８】
さらに、必要な色トナーの回数だけ上記のトナー像を転写ドラム２０５上の用紙２０１に重ねる。必要なトナー像を転写された用紙２０１は、転写分離つめ２１６によって転写ドラム２０５から分離され、定着ローラ２１７、２１７’によってトナー像が加熱定着され、搬送ローラ２１８、２１８’、２１９を経て排紙トレイ２２０に排紙される。
【００４９】
なお、本実施例のカラーレーザビームプリンタ１０２では、前記潜像形成、転写のプロセスを、イエロー、マゼンタ、シアン、ブラックの順番で行なう。
【００５０】
また、前記イエロートナー現像器２１０、マゼンタトナー現像器２１１、シアントナー現像器２１２、及びブラックトナー現像器２１３は、各々カセット形式の筐体になっており本体から着脱可能であるため、以降は、２１０をＹカートリッジ、２１１をＭカートリッジ、２１２をＣカートリッジ、２１３をＫカートリッジと称する。
【００５１】
図６は本発明の第１の実施例を示すカラー画像処理装置の基本構成を説明するブロック図であり、図１のカラー画像処理装置の制御ユニット１０３の内部構成を示している。なお、本発明の機能が実行されるのであれば、単体の機器であっても、ＬＡＮ等のネットワークを介して処理が行なわれるシステムであっても良い。
【００５２】
同図において、プリンタの制御ユニット１０３は、所定のインターフェイス６０８を介して外部のホストコンピュータ１０１と接続されており、ホストコンピュータ１０１から送られる印刷データに従って所定の印刷処理を実行するように構成されている。ホストコンピュータ１０１から受信した該印刷データは受信バッファ６０７に受信データとして一時的に蓄えられる。
【００５３】
なお、前記ホストコンピュータ１０１のハードディスク等には、予めページ記述言語形式で記述されたフォームデータがファイルとして格納されており、フォームオーバーレイ印刷時には、前記フォームデータはオーバーレイ登録データ（マクロコマンド）として、通常ページデータに付加して送出される。また、ホストコンピューター上の個々のフォームデータは、一意に識別可能なファイル名称にて管理されているものとする。
【００５４】
６０１はプリンタＣＰＵであり、読み出し専用メモリであるＲＯＭ６０２に記憶された制御プログラム６０３に基づいてシステムバス６０６に接続された各種デバイスとのアクセスを統括的に制御している。まず、受信バッファ６０７に蓄えられた印刷データを解析し、少なくとも１ページ分の描画オブジェクトを生成し（描画オブジェクト生成部６０３ａ）、続いて前記描画オブジェクトを元に１ページ分（あるいは複数のバンドに分割した１バンド分）のラスタイメージ（画像データ）を生成し（描画オブジェクト描画部６０３ｃ：画像データ描画手段ともいう）、さらに、印刷部Ｉ／Ｆ６０９を介して印刷部（プリンタエンジン）１０５へ、前記ラスタイメージのビットのＯＮ／ＯＦＦによるビデオ信号を出力する（ビデオ信号の出力は、以下、”シップ”と記す）。印刷部１０５はＣＰＵ６０１から受け取ったビデオ信号を元に記録紙２０１上に画像の印刷を行なう。
【００５５】
なお、ページをバンド状に分割した複数のバンドラスタを用意するバンディング方式では、前記ラスタイメージの生成とシップ動作を同時に行なうよう構成されている。すなわち、描画済みの一方のバンドラスタをシップしながら、他方のバンドラスタに属する描画オブジェクトを描画する。
【００５６】
また、制御プログラム６０３は、上記構成以外に、以下の機能を実現するためのプログラムから構成されている。
【００５７】
すなわち、受信バッファ６０７内の印刷データがフォームデータ登録命令であった場合に、ページ記述言語で記述された前記フォームデータをＲＡＭ６０５（後述）内へ登録し、フォームオーバーレイ指定命令受信時には、前記フォームデータを読み出すフォームデータ登録／読み出し部６０３ｂ、読み出したフォームデータを元にフォームラスタを生成する描画オブジェクト描画部６０３ｃ、前記フォームラスタをＲＡＭ３０５内に記憶・保持するフォームメモリ管理部６０３ｄ、前記フォームラスタを通常ページデータと重ね合わせてページメモリ６０５ｃへ描画するフォームラスタ描画部６０３ｅから構成されている。なお、前記フォームメモリ管理部６０３ｄは、要求されたフォームデータに対応するフォームラスタがフォームラスタ格納部６０５ｄに記憶済みかどうか調べ、既に記憶済みであった場合は、オーバーレイ格納部６０５ｂからフォームデータを読み出さずに、前記記憶済みフォームラスタを用いるキャッシュ機能を備える。また、このＲＯＭ６０２は、文字出力に用いるドットフォントやスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている（フォントＲＯＭ６０４）。
【００５８】
６０５はＣＰＵ６０１の主メモリ、ワークメモリ等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。ＲＡＭ６０５は、前記描画オブジェクトを格納する描画オブジェクト格納部６０５ａや、制御プログラム６０３ａによって一時的に使用されるワークメモリ６０５ｅ、１ページをバンド状に分割したバンド領域の２面分に相当するラスタイメージ（あるいは１ページ分のラスタイメージ）を格納するバンドバッファ（あるいはページバッファ）６０５ｃ、ページ記述言語で記述されたフォームデータを格納するフォームデータ格納部６０５ｂ、フォームラスタを格納するフォームラスタ格納部６０５ｄの他、前記フォントメモリ６０４内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするためのキャッシュメモリ（不図示）、印刷環境データ格納メモリ（不図示）等に用いられる。ここで、前記バンドバッファ６０５ｃは、Ｙ、Ｍ、Ｃ、Ｂｋの各プレーンで共用されるものとする。
【００５９】
なお、レーザービームプリンタ１０２は図示しない電源部から電力の供給を受けている。また、前記フォームデータはＲＡＭ６０５内に格納されると説明したが、フラッシュメモリ等の不揮発性メモリに予め登録・格納しておいても構わない。
【００６０】
また、本発明を構成する装置がＲＯＭに格納されたプログラムとして供給されるよう説明したが、これに限らず、フロッピーディスクやハードディスク等の媒体によって供給され、実行前にＲＡＭ等へロードされた後、実行されるよう構成されていても構わない。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ等のような記憶媒体から図示省略したドライブを介して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明の請求項はこれを含むものである。
【００６１】
続いて、上記構成による画像処理装置における、フォームデータおよびフォームラスタの登録手順を、図７のフローチャートを用いて以下に説明する。
【００６２】
同図において、まず制御プログラム６０３は、ステップ７０１にて、ホストコンピュータ１０１から送られる印刷データを入力手段である所定インターフェース６０８を介して受信バッファ６０７へ記憶する。続いて、ＣＰＵ６０１は受信バッファ６０７内に印刷データが存在するかどうかを調べ（ステップＳ７０２）、存在しない場合は処理を終了する。一方、印刷データが存在する場合は、続くステップＳ７０３以下で印刷データの解析を行なう。
【００６３】
ステップＳ７０３では、前記印刷データがフォームデータ登録命令であるかどうかを調べ、そうであった場合は、前記フォームデータ登録命令のパラメータとして指示されたサイズ分のフォームデータを受信バッファより読みだし、フォームデータ格納部６０５ｂへ書き込み（ステップＳ７０４）、続く印刷データを受信バッファ６０７より読み出すためにステップＳ７０１へ戻る。
【００６４】
なお、前記フォームデータ登録命令のパラメータとしては、前記フォームデータサイズの他、フォーム内容を一意に判別可能なフォーム番号（フォームＩＤ）が指定されており、前記フォームＩＤをホストコンピュータ側のフォームデータと対応付けて管理することで、異なる内容のフォームデータどうしを区別可能なようになっている。
【００６５】
また、ステップＳ７０３、７０４においては、フォームデータ登録命令のパラメータとして指示されたサイズ分のフォームデータを登録するように構成したが、あるいは、オーバーレイ登録開始命令、およびオーバーレイ登録終了命令の２つの命令によりフォームデータの先頭／終了を指示するように構成しても構わない。この場合、フォームデータ登録中であるかどうかを判断するためには、電源投入時等に０にリセットされるフラグを用意しておき、オーバーレイ登録開始命令受信時に、前記フラグを１にセットし、前記フラグがセットされている場合は、フォームデータ登録中であると判断し、オーバーレイ登録終了命令受信時に前記フラグをリセットする。
【００６６】
また、フラッシュメモリ等の不揮発性メモリにフォームデータ格納部を構成し、印刷データ受信前に予めフォームデータを登録しておくよう構成した場合は、ステップＳ７０３〜ステップＳ７０４のステップは実行しなくてよい。この場合の処理は第二実施例で説明する。
【００６７】
一方、ステップＳ７０３において、フォームデータ登録命令でないと判断した場合は、続くステップＳ７０５において、該印刷データがフォームラスタ登録命令かどうかを調べ、フォームラスタ登録命令であると判断された場合は、Ｓ７０６以降のステップでフォームラスタの登録を行なう。すなわち、フォームデータに対応するフォームラスタがフォームラスタ格納部６０５ｄに登録済みかどうかを調べ（ステップＳ７０６）、未登録であった場合は、続くステップＳ７０７にて、フォームデータ格納部６０５ｂより前記フォームデータを読み出し、描画オブジェクト生成部６０３ａによって、フォームデータ中の各印刷データに対応する描画オブジェクトを生成する。なお、Ｓ７０７における描画オブジェクトの生成処理は、通常ページに描画するデータの解析および描画オブジェクトの生成処理と同様の処理で良い。
【００６８】
一方、ステップＳ７０６において、フォームデータに対応するフォームラスタがフォームラスタ格納部に登録済みであると判断された場合は、続く印刷データを解析するためにステップＳ７０１へ戻る。
【００６９】
また、ステップＳ７０７においては、描画オブジェクトを生成すると同時に、該フォームを識別するための管理情報（以下、フォーム情報）もあわせてワークメモリへ一時的に記憶しておく。前記フォーム情報には、各フォーム毎に一意に決まるフォームＩＤ（ホストより指定される）、用紙サイズ、用紙の印字方向、データ生成解像度、カラーモード（階調）等が含まれる。
【００７０】
続くステップＳ７０８において、描画オブジェクト描画部６０３ｃによってフォームラスタを生成した後、ラスタ符合化部６０３ｆによってフォーム画像を符合化し、さらに、前記符合化済みフォーム画像、ならびにワークメモリ中に一時保持しておいた前記フォーム情報とをフォームラスタ格納部６０５ｄへ格納する（フォームメモリ管理部６０３ｄが行なう）。前記ステップＳ７０８をＹＭＣＢｋ全てのプレーンについて行ない、全プレーンのフォームラスタが登録された後、生成した描画オブジェクトをクリアし（ステップＳ７１１）、ステップＳ７０１へ戻る。
【００７１】
なお、本実施例においては、上記ステップにおいて生成されるフォームラスタは、１ページを複数のバンドに分割した状態で生成・格納するものとし、なおかつ分割高さは、バンドバッファ６０５ｃが取り得る高さの（１／整数）となるように構成する。すなわち、バンドバッファ６０５ｃが搭載メモリによって２５６ドット／５１２ドット／１０２４ドット高さの３段階を取り得る場合、フォームラスタは２５６ドット高さで生成・格納すればよい。
【００７２】
なお、フォームラスタへ描画オブジェクトを描画する手順は、シップ時に通常ページの描画オブジェクトをラスタメモリへ描画する手順と全く同様に行なえばよい。すなわち、従来技術で説明したように、フォントパターン等の各マスクオブジェクトを、全プレーンに対して描画する（描画情報内のバックグラウンド指定のビットが１にセットされているプレーンに対しては描画を行ない、ビットが０にセットされたプレーンに対しては白で消去するために描画を行なう）。
【００７３】
また、ステップＳ７０５にて、印刷データがフォームラスタ登録命令でないと判断された場合は、ステップＳ７１０において、印刷環境の設定等、他の印刷コマンドの解析を行ない、ステップＳ７０１へ戻る。
【００７４】
図８は、本実施例における、１ページ分の描画オブジェクト格納部６０５ａを示すメモリマップ（図８−１）および、管理内容の構成概略を示すブロック図（図８−２、８−３）である。８−１図において、８０１は各ページの種々の情報を格納するヘッダ部であって、電源投入時からシーケンシャルにカウントされるページ番号、印字解像度、用紙サイズ、カラーモード、バンドラスタ数、該ページに属する描画オブジェクトの総容量（メモリ使用量）、描画済み／シップ中などのページの状態を示す情報等、各ページ毎に管理すべき情報から構成されている。８０２はバンドテーブルであって、前記バンドラスタの数だけ用意され、各バンド内に印字されるべき個々の描画オブジェクトに対応した描画情報８０３がリンクされている（図８−２）。描画情報のことを、アプリケーション（appl：略語）と呼ぶことにする。個々のアプリケーション８０５、描画オブジェクト８０６はそれぞれ、描画情報格納部８０３および描画オブジェクト記憶部８０４に生成・保持される。
【００７５】
図８−３は、１つの描画情報（アプリケーション）の構成を示す概略図であり、描画オブジェクトを描画するための情報として、以下の情報を含むよう構成されている。すなわち、バンド内の印字位置（左上端からのビットオフセット値）、描画オブジェクトの描画高さ、バンドラスタとの描画論理、バックグラウンド情報（ＢＧ情報）、対応する描画オブジェクトの先頭アドレス、描画オブジェクトがバンド途中から描画される場合に該描画オブジェクトを読み飛ばすオフセット量（ライン数）、次のアプリケーションの先頭アドレス（リンク最後はＮＵＬＬとする）等が含まれる。ここで、前記ＢＧ情報は、同図のモードフラグ８０７、プレーンフラグ８０８から構成されているものとする。
【００７６】
また描画オブジェクトが複数のバンドにまたがって描画される場合は、その描画オブジェクトは複数のアプリケーションを持っている。つまり描画回数だけアプリケーションが割り当てられるのである。
【００７７】
プレーンフラグ８０８は、従来例（図４）で説明したように、カラー情報４０３に相当するものであり、各ビットの内容によって、ＹＭＣＢｋプレーンのうち、どのプレーンに描画オブジェクトを描画するかが指示されるようになっている。例えば２値データとして扱われている赤は、（ＹＭＣＢｋ）は（１１００）とプレーンフラグのビット情報は記憶される。
【００７８】
また、モードフラグ８０７は、前記プレーンフラグの０にセットされているビットを有効とするかどうかを指示するためのフラグであり、モードフラグが“１”にセットされている場合は、従来例と同様の描画処理を行なう。すなわち、プレーンフラグが０のプレーンも含めて、全プレーンに対してマスクオブジェクト、つまり白を描画する。よってフォームラスタ登録時に、フォームに属する描画オブジェクトをバンドラスタ上へ描画する場合、および後付けデータの描画を行なう場合は、前記ＢＧ情報のモードフラグには１をセットすることになる。なぜなら色分離が必要な処理だからである。また、後述するように、フォームラスタをバンドラスタに再描画するときは、モードフラグ８０７は“０”にセットされる。
【００７９】
なお、前述したアプリケーション内の各情報は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があればよい。
【００８０】
図７のステップＳ７０８において、フォーム内の描画オブジェクトをバンド毎に描画してフォームラスタを生成する処理は、上記バンドテーブルからリンクされているアプリケーションを、描画順序が記載されているリスト（図示省略）に従って順次読み出し、各アプリケーション内の印字位置情報等に応じて描画オブジェクトを描画する。次のアプリケーションアドレスがＮＵＬＬとなったところで、該バンドの描画処理を終了する。また、後付けデータの描画を行なう場合も、上記と全く同様の構成で良く、同じ描画オブジェクト描画部６０３ｃを用いた描画が可能である。
【００８１】
図９は、フォームメモリ管理部６０３ｄによって管理される、フォームラスタ格納部６０５ｄのメモリ構成の概略を示す図である。同図において、９０１はフォーム毎の管理テーブルであって、各フォームを描画・識別するために必要な情報から構成される。前記管理テーブルのための記憶領域は、予めフォームラスタ格納部６０５ｄ内の固定領域に確保しておいても構わないし、可能なだけ動的に確保されるよう構成されていても構わない。
【００８２】
前記管理テーブル内には、各フォームを識別するためのフォームＩＤ（ホストコンピュータと同一番号で管理する）、印字解像度、プレーン数、分割バンド総数、用紙サイズ（搬送方向を含む）、バンド幅、フォームラスタバンドテーブル９０２の先頭アドレス、フォームラスタ圧縮タイプ、階調数（ビット／ピクセル、不図示）等が含まれる。
【００８３】
なお、前記情報のうち、解像度、用紙サイズ（および搬送方向）、バンド幅は、フォームラスタを生成する時点の印刷データやパネル設定値を元にセットされ、フォームＩＤはフォームデータ登録命令のパラメータとしてホスト上のプリンタドライバなどにより指示される。このような情報を持つことで、一つのフォームデータに対して、解像度や用紙搬送方向等が異なる、複数のフォームラスタを準備することが可能となる。
【００８４】
フォームラスタバンドテーブル９０２は、図７のＳ７０８において分割された、バンド状のフォームラスタ単位の情報を格納するテーブルであって、９０１内のプレーン数、およびバンド数に応じた数だけ確保され、各フォームラスタの先頭アドレスと、各バンドの高さ、各バンドのフォームラスタ圧縮サイズ（バイト）を含む。
【００８５】
同図では、プレーン数＝４（ＹＭＣＢｋ）、バンド数＝６の場合をを示しており、前記フォームラスタバンドテーブル９０２は、４×６＝２４バンド分だけ確保される。また、本例では、Ｃプレーンに描画すべきフォーム内容が存在しないため、Ｃプレーンのフォームラスタ先頭アドレスは全てＮＵＬＬに、圧縮サイズは０にそれぞれ設定されている。なお、最下端のバンドを含む全バンド高さが一定であれば、前記バンド高さはフォーム管理テーブル９０１内に保持するように構成しても構わない。
【００８６】
更に、バンドラスタ毎にフォームラスタ圧縮サイズを管理するように説明したが、全プレーンの総和を管理テーブル９０１内に保持するように構成しても構わない。９０３、９０４、９０５はそれぞれ、Ｙプレーン、Ｍプレーン、Ｂｋプレーンの符合化フォームラスタであり、実際は圧縮タイプに応じた形式で符合化されている。
【００８７】
図１０は、本制御プログラムのフォームメモリ管理部６０３ｄが、要求されたフォームデータに対応するフォームラスタがフォームラスタ格納部６０５ｄに登録済みかどうかを調べる検索手順（図７のステップＳ７０６）について示したフローチャートである。
【００８８】
まず、同図のステップＳ１００１において、フォームラスタ格納部６０５ｄ内のフォーム管理テーブル９０１から、第１のフォームラスタ情報を読み出し、フォームラスタ登録命令発行時の印刷情報の各々と一致するかどうかを調べる（Ｓ１００２〜Ｓ１００６）。
【００８９】
まず、外部から入力されたフォームラスタ登録命令発行時の印刷情報のフォームＩＤとフォームラスタ情報内のフォームＩＤを比較し（Ｓ１００２）、同じであれば他のフォームラスタ情報を比較し（Ｓ１００３以降）、同じでなければ、次のフォームラスタを読み出すために、Ｓ１００８へ進む。以下同様に、印字解像度（Ｓ１００３）、用紙サイズ／向き（Ｓ１００４）、カラーモード（Ｓ１００５）、ページ拡大／縮小指定がなされているかどうか（Ｓ１００６）をそれぞれ調べ、全ての条件が一致した場合には、ステップＳ１００７にて指定フォームＩＤに対応するフォームラスタが登録済みであると判断する（フォームラスタ有無情報として、有効なフォームＩＤを通知する）。
【００９０】
なお、用紙サイズ／用紙搬送方向は、Ａ４縦送りの場合を０、Ａ４横送りの場合を１といったように、紙サイズと向きを組み合わせて区別するようになっている。また、本実施例では、フォームラスタは常に等倍で登録されるものとし、拡大／縮小指定がなされていない場合のみ一致するものとする。また、ステップＳ１００５のカラーモードの比較とは、モノクロ／カラー印刷の区別の他、ラスタ画像の階調数の一致をも比較する。
【００９１】
一方、Ｓ１００２〜Ｓ１００６において、いずれかの情報が一致しなかった場合は、Ｓ１００８にて登録済みの全フォームラスタの検索が終了したかどうかを調べ、終了していなければＳ１００１へ戻り、全フォームラスタの検索が終了した場合は、Ｓ１００９にてフォームラスタは未登録であると判断される例えば、−１のような、無効なフォームＩＤを通知する。
【００９２】
ここで図１４を用いてホストコンピュータから本画像処理装置に対してフォームオーバーレイ実行する印刷コマンドを示す印刷データの形式を説明する。図示の場合には、印刷データは、処理解像度６００ＤＰＩでフォームオーバーレイさせるための、フォームに関する各種環境設定に関するフォームデータと、後付けデータ（フォーム上に合成する文字データ等）で構成されている。より具体的には、以下の構成からなる。
【００９３】
印刷データの最初と最後はＪＬ（Job Language）という言語で構成されている。最初の定義としてのＪＬは以下の構成からなっている。
【００９４】
・印刷データのジョブ開始を示すジョブ開始命令
・後続のＰＤＬデータ形式の後付けデータ、フォームデータを処理すべき処理解像度を設定する処理解像度指定命令
・処理すべき階調を指定する処理階調指定命令
【００９５】
ここで、指示された解像度、階調情報にしたがってＲＡＭ６０５内メモリコンフィグレーションが行われ、それぞれの領域が設定される。また、後続のＰＤＬデータ形式のフォームデータ、後付けデータも同処理解像度、処理階調の指定に従って処理を実行することになる。
【００９６】
・用紙の搬送方向（縦送り／横送り）を指定する用紙搬送方向設定命令
・用紙を綴じる場再に後付けデータ画像と用紙上マッピング位置を指定する綴じ幅設定命令、綴じ方向設定命令
・後続のフォームデータ及び後付けデータで構成された印刷データを処理するためにＰＤＬ解析処理プログラムの起動を指示するＰＤＬ移行命令
【００９７】
ここまでが、ＪＬである。これからはＰＤＬ（ページ記述言語）で書かれる。
【００９８】
・印刷データの開始を示すＰＤＬデータ開始命令
・入力された後付けデータを拡大／縮小して描画する際に設定する拡大／縮小指示命令
・後付けデータ画像を生成すべき用紙サイズを指示する用紙サイズ指示命令
・フォームオーバーレイの実行を指示するフォームオーバーレイ実行命令（フォーム名やフォームＩＤ等のフォームを特定する情報を含んでいる）
【００９９】
このフォームオーバーレイ実行命令は、予めフォームラスタ格納部６０５ｄに格納されたフォーム画像を、図１０で説明したフォームキャッシュ検索処理により検索して利用可能にすることにより、フォームオーバーレイデータの描画処理を高速に実行するものである。尚、フォーム画像がフォームラスタ格納部６０５ｄに格納されていなければ、後付けデータと同様にフォームデータの読み込み及び解析処理を実行してフォームオーバーレイを実行する。
【０１００】
・フォームオーバーレイ画像を重ねるべき後付けデータ
・ＰＤＬデータの終了を意味するＰＤＬデータ終了命令、印刷ジョブの終了を定義するジョブ終了命令
【０１０１】
最後のジョブ終了命令は、ＪＬである。また、上述した印刷データは、予め不揮発性記憶媒体にフォームデータを格納（登録）しておく構成の印刷装置に対して送られる印刷データである。つまり、この印刷データの受信前に、印刷装置は、フォームラスタ登録命令のデータを受信していることになる。もちろんフォームデータを登録できない印刷装置に対しては上述した印刷データのフォームオーバーレイ実行命令の後に、フォームデータ（ＰＤＬ）が必要である。
【０１０２】
以上説明したように構成された印刷データを外部装置であるホストコンピュータから本画像処理装置は入力し、フォームオーバーレイ処理を行う。
【０１０３】
以下に、フォームオーバーレイ指定時の処理手順について、図１１のフローチャートを用いて説明する。
【０１０４】
同図において、印刷データの受信（ステップ１１０１）、印刷データの存在調査（ステップＳ１１０２）については、図７の各ステップ７０１、７０２と同様であるため説明を省略する。
【０１０５】
続くステップＳ１１０３以下において、本画像処理装置はＲＯＭ６０２に格納されている所定の印刷プログラムに基づいて印刷データの解析を行なう。まずステップＳ１１０３にて、処理中の印刷データが排紙命令かどうかを調べる。ここで排紙命令でないと判断した場合には、続くステップＳ１１０４以降で、現在処理中のページ内に印字すべきデータとして解析を続け、排紙命令であると判断した場合は、ステップＳ１１１２以降にて、ページが完成したとして描画・排紙処理を行なう。なお、ステップＳ１１０３においては、簡単のため排紙命令（例えばフォームフィードコマンド）かどうかを調べると説明したが、実際には、文字印字位置移動命令等によって印字位置がページ下端を越えた場合など、排紙動作を引き起こす要因となりうる印字データの場合も、排紙命令と同様に、ステップＳ１１１２以降へ進む。
【０１０６】
ステップＳ１１０４では、入力した印刷データがフォーム指定命令であるかどうかを調べ、そうであった場合、該フォーム指定命令のパラメータで指定されたフォームＩＤを元に、フォームラスタがフォームラスタ格納部６０５ｄに登録されているかどうかを検索する（ステップＳ１１０５、詳細は図１０のフローチャート）。前記検索の結果、指定フォームＩＤと現在の印刷条件に適合するフォームラスタが登録済みであると判断された場合は（以下、ヒットした場合と記述する）、バンド状に分割して圧縮保持されている前記フォームラスタの各々に対応したアプリケーション（描画情報）を、描画オブジェクト格納部６０５ａ内に作成する（ステップＳ１１０６）。ここで、前記アプリケーションに設定するモードフラグには“０”をセットし、プレーン毎に独立して描画処理するよう指示しておく。つまり、フォームラスタに対応するアプリケーションは、最大で、Ｙプレーン用、Ｍプレーン用、Ｃプレーン用、Ｂｋプレーン用の４つが１バンド内にリンクされることになる（図１２にて後述）。前述したようにモードフラグが“１”の場合は、従来のカラープリンタのように描画が不要なプレーンには描画オブジェクトに該当する位置のデータを消去（白で描画）する処理が行われる。これに対し、モードフラグを“０”とすることにより、従来とは異なる描画処理が行われる。この描画処理については後述するが、簡単には、一度色分離された画像データを再描画する必要があり、従来と同じ描画処理では、必要なプレーンの画像データも白で描画されることになりデータが消去されるのを防ぐ必要があるからである。
【０１０７】
ステップＳ１１０６の処理を、全バンド（Ｓ１１０７）、全プレーン（Ｓ１１０８）分が終るまで繰り返し、全フォームラスタに対するアプリケーション（描画情報）が作成し終ったら、続く印刷データを処理するためにＳ１１０１へ戻る。
【０１０８】
一方、ステップＳ１１０５において、指定フォームＩＤに対応するフォームラスタが未登録であると判断された（ヒットしなかった）場合は、フォームデータ格納部６０５ｂからページ記述言語形式のフォームデータを読み出し、該当するフォームデータを解析し（Ｓ１１１０）、フォームラスタ登録時と同様に各描画オブジェクト／アプリケーションを生成する（モードフラグは１をセット）。１フォーム分の処理が終了した後、続く印刷データを処理するためにＳ１１０１へ戻る。
【０１０９】
また、ステップＳ１１０４において、印刷データがフォーム指定命令でなかった場合は、Ｓ１１０９において、通常ページへ描画すべき印刷データ（後付けデータ）として処理する。すなわち、印刷データが文字印字命令であった場合は、印刷データで指定されたフォント情報（書体、サイズ、文字コード等）に対応するスケーラブルデータをフォントＲＯＭ３０４より読み出し、対応するドットパターン（＝描画オブジェクト）を生成し、印字位置情報や幅、高さ、描画論理等に応じたアプリケーション（描画情報）と共に、前記ドットパターンを描画オブジェクト格納部６０５ａへ格納する。また、文字以外の図形データやイメージデータであった場合も、同様に各印字命令に対応した中間コード／アプリケーションを生成する。
【０１１０】
一方、ステップＳ１１０３において、印刷データが排紙命令、あるいは排紙命令に相当する命令であった場合には、描画オブジェクト格納部６０５ａへ作成済みの各アプリケーション情報を参照しながら、フォームラスタあるいは後付けデータの各描画オブジェクトをバンドバッファへ描画してゆく（ステップＳ１１１２〜Ｓ１１１７）。
【０１１１】
まず、各アプリケーション内のモードフラグを調べ（ステップＳ１１１２）、モードフラグが“０”であれば、フォームラスタ描画部６０３ｅによって、１バンド分の符合化フォームラスタをフォームラスタ格納部６０３ｄより読み出し、復号化した後、バンドラスタ６０５ｃへ描画する（ステップＳ１１１３）。ただし、プリンタエンジンへのシップ動作は、ＹＭＣＢｋの面順次で行なうため、前記アプリケーション内のプレーンフラグのうち、処理中のプレーンに相当する位置のビットが１にセットされていない場合は、該アプリケーションを読み飛ばす。つまりこのモードでは、実際に描画が必要なプレーンにだけシップするのである。描画が必要ないプレーンのデータはいじらない。本実施例において、描画の順序は図１４の印刷データの説明で前述したように、まずＰＤＬの後づけデータを描画する前にフォームラスタ（キャッシュされているフォーム）の描画がそれぞれのプレーンのバンドバッファに行われる。よって、バンドバッファにはデータがない状態で、フォームラスタの描画（実際は再描画）が行われるので、プレーンフラグが１ビットになっているプレーンだけを独立して描画するだけでよい。
【０１１２】
これに対して、前記モードフラグが“０”でなければ（つまりモードフラグが“１”である）、通常ページの描画オブジェクトを描画オブジェクト格納部６０５ａより読み出し、順時バンドバッファへ描画する（ステップＳ１１１４）。なお、この場合は、プレーンフラグの内容に関わらず、必ずオブジェクトの描画を行なうことになる。つまり、描画が必要なプレーンにはオブジェクトの描画を行い、描画が必要でないプレーンにはオブジェクトの位置に白で描画することによりデータを消去するのである。
【０１１３】
この処理は１バンド分のアプリケーションが終了するまで、エンジンへのシップ動作と同時に繰り返し（Ｓ１１１５）、１プレーン分の全バンドの描画が終了するまで、上記ステップＳ１１１２〜Ｓ１１１５を全バンド分繰り返し（Ｓ１１１６）、全バンド終了したら、さらに全プレーンの描画が終了するまで上記ステップＳ１１１２〜Ｓ１１１６を繰り返す（Ｓ１１１７）。最後に、続くページの印刷データを処理するためにステップＳ１１０１へ戻る。
【０１１４】
このように、フォームデータや印刷データの描画のときは、それぞれのデータから描画オブジェクトを生成し、すべてのプレーンのバンドバッファに画像データを作成する（白抜きも含め）ことになり、フォームラスタ格納部６０５ｄにすでにキャッシュされているフォームラスタは、描画が必要なプレーンのバンドバッファだけに再描画（データのコピー）をすることになる。
【０１１５】
以下、図１２を用いて、フォームラスタを描画する際のアプリケーション（描画情報）の構成について説明する。
【０１１６】
同図において、バンドテーブル１２０１、個々のアプリケーション１２０２は、それぞれ図８の８０２、８０５に相当し、描画オブジェクト（ここでは文字パターン”Ａ”）１２０６は、図８の８０６に相当する。ここでは、１番めのバンド（ｂａｎｄ０）にａｐｐｌ１〜ａｐｐｌ３が、２番めのバンド（ｂａｎｄ１）にａｐｐｌ４〜ａｐｐｌ７が、それぞれリンクされている。また、前記アプリケーション（描画情報）からは、各バンド内に印字すべき個々の描画オブジェクトがリンクされている。すなわち、ａｐｐｌ１には、フォームラスタ１２０３内の１バンド目の符合化ラスタがリンクされており、またａｐｐｌ１のモードフラグは０、プレーンフラグはＹに相当するビットが１にセットされている。以下同様に、ａｐｐｌ２にはフォームラスタ１２０４内の１バンド目の符合化ラスタ（モードフラグは０、プレーンフラグはＭに相当するビットを１にセット）が、ａｐｐｌ３にはフォームラスタ１２０５内の１バンド目の符合化ラスタ（モードフラグは０、プレーンフラグはＢｋに相当するビットを１にセット）がリンクされている。
【０１１７】
更に、ページ内の２番目のバンド（ｂａｎｄ１）にリンクされたａｐｐｌ４、５、６はそれぞれ、フォームラスタ１２０３、１２０４、１２０５の２バンド目の符合化ラスタ（モードフラグは０、プレーンフラグは順にＹ、Ｍ、Ｂｋに相当するビットを１にセット）がリンクされている。図では説明を省略したが、以下ｂａｎｄ５まで同様にアプリケーションからフォームラスタがリンクされている。なお、本構成は、図１１のフローチャートのステップＳ１１０６にて作成されるものである。
【０１１８】
一方、ｂａｎｄ１には、ａｐｐｌ６には引続きａｐｐｌ７がリンクされており、描画オブジェクト１２０６を描画することを示している。なお、ａｐｐｌ７のモードフラグは１にセットされており、全プレーンに対して同一のオブジェクトを描画する。以上説明したように、アプリケーションリストの先頭にフォームラスタに対応するアプリケーションをリンクし、バンドバッファへ描画する際は前記アプリケーションリストをリンク先頭から読み出し各オブジェクトを描画すれば、ページ内で必ず一番下にフォームラスタが描画されることになる。
【０１１９】
次に、フォームラスタ登録命令を用いずにオーバーレイ印刷を行う場合の処理について、図１５のフローチャートを用いて詳しく説明する。
【０１２０】
なお、以下で説明する処理は、図１１のステップＳ１１０９にて後付けデータの解析／描画処理を行う場合や、ステップＳ１１０５にて所望のフォームラスタが見つからなかった場合の処理（図１１のステップＳ１１１０〜ステップＳ１１１１）にも相当する。ただし、図１１ではＳ１１１０、Ｓ１１１１にて一括してフォームデータを読み出し、対応する描画オブジェクトを生成するとしたが、図１５では、より詳しく示すために、印刷データの読み出し元を切り替えるように説明している。
【０１２１】
図１５において、まずステップＳ１５０１にて、ＣＰＵ６０１は、印刷データが存在するかどうかを調べ、存在しない場合は処理を終了する。ここで、データ読み出し元は、フォーム指定命令を処理中でなければ受信バッファであり、フォーム指定命令を処理中であれば登録済みのフォームデータ格納部６０５ｂである（読み出し元の切り替えについては、Ｓ１５０４、Ｓ１５２３にて説明する）。
【０１２２】
一方、ステップＳ１５０１で印刷データやフォームデータが存在すると判断された場合は、続くステップＳ１５０２で印刷データもしくはフォームデータの読み出しを行う。ここで、データ読み出し元がフォームデータ格納部６０５ｂであって、かつフォームデータの終りであれば（ステップＳ１５０３）、データ読み出し元を受信バッファへ切り替える（Ｓ１５０４）。一方、データの終わりでなければ、データ読み出し元の切替を行わずに、続きのデータを引き続き読み出す。
【０１２３】
続くステップＳ１５０５以降において、読み出したデータの解析を行なう。ステップＳ１５０５では、読み出したデータが受信バッファからの印刷データであり、かつ、該印刷データがフォームデータ登録命令であるかどうかを判断する。読み出したデータがフォームデータ登録命令であると判断された場合は、ステップＳ１５２５において、該フォームデータ登録命令のパラメータとして指示されたサイズ分のフォームデータを受信バッファより読みだし、フォームデータ格納部６０５ｂへ書き込み、続く印刷データを受信バッファ６０７より読み出すためにステップＳ１５０１へ処理を戻す。
【０１２４】
一方、ステップＳ１５０５において、読み出したデータがフォームデータ登録命令でないと判断された場合は、続くステップＳ１５０６にて、読み出したデータが文字印字命令かどうかを判断する。もし読み出したデータが文字印字命令であると判断された場合は、ステップＳ１５０７において、ＲＡＭ６０５内のフォントキャッシュ領域（図示省略）にフォントがキャッシュされているかを検索し、ステップＳ１５０８において、検索した結果として、すでにキャッシュ済みかどうかを判断する。もし、フォントがキャッシュされていると判断された場合は、ステップＳ１５０９において、対応する描画指示情報（アプリケーション）を作成する。なお、図１５においては、フォームデータ内の印刷データも後付けデータも全く同様に処理されるため、図１１で説明したモードフラグとしては、すべて１が設定される。
【０１２５】
続いて、図１１等では説明を省略したが、以下の処理を行う。つまり、ステップＳ１５１０で、アプリケーション作成時にメモリ不足が発生しなかったかどうかを判断する。もしメモリが不足すると判断された場合は、ステップＳ１５１１にて、画像処理装置１０３本体の表示パネル等にエラーを表示し、次のデータを処理するためにＳ１５０１へ処理を戻す。
【０１２６】
一方、Ｓ１５０８にて印字すべき文字パターンがフォントキャッシュ内に見つからなかった場合は、ステップＳ１５１２において、フォントスケーラ（描画オブジェクト生成部６０３ａの一部）は、印刷データのパラメータで指定された書体、文字コードに対応したアウトラインデータをフォントＲＯＭ６０４から読み出し、同じくパラメータで指定された文字サイズや向きに応じた文字パターンを生成する。
【０１２７】
続いて、Ｓ１５１３にて、フォントオブジェクトを生成し（フォントキャッシュへも登録する）、ステップＳ５１４にて、メモリ不足かどうかを判断し、メモリ不足であると判断された場合は、ステップＳ１５１５にて、画像処理装置１０３本単の表示パネル等にエラーを表示する。Ｓ１５１５以降はフォントキャッシュにヒットした場合と同様であるため、説明を省略する。
【０１２８】
一方、Ｓ１５０６にて印刷データが文字印字命令でなかった場合は、イメージ描画命令かどうか（Ｓ１５１６）、ライン描画命令かどうか（Ｓ１５１９）、あるいはフォーム指定命令かどうかを順次調べる（Ｓ１５２１）。ステップＳ１５１７〜Ｓ１５１８、およびＳ１５２０において該当する場合は、それぞれの印刷命令に応じた描画オブジェクトを生成する（アプリケーションはすべてモードフラグ１で生成する）。また、これらの印刷命令の判別は上記の順序である必要はなく、また図１５では不図示の他の多くの印刷命令／描画オブジェクトをも処理可能であるとする（Ｓ１５２４）。
【０１２９】
一方、ステップＳ１５２１において、印刷命令がフォーム指定命令であると判断された場合は、ステップＳ１５２２にて、該フォーム指定命令のパラメータで指定されたフォームデータがフォームデータ格納部６０５ｂに登録済みかどうかを調べる。未登録であれば、本フォーム指定命令を無効としＳ１５０１へ戻るが、登録済みであれば、Ｓ１５２３にてデータ読み出し元をフォームデータに切り替える。具体的には、読み出し元が受信バッファ／フォームデータのどちらであるかを示すフラグと、読み出し元となるＲＡＭアドレスを設け、該フラグとＲＡＭアドレスを適宜設定するように構成すれば良い。（ＲＡＭアドレスは受信バッファ６０７／フォームデータ格納部６０５ｂのどちらかを指す）その後、他の印刷データを処理するために、Ｓ１５０１へ戻る。
【０１３０】
このように、フォーム指定命令を認識した後は、印刷データの読み出し元がフォームデータ格納部となり、フォームデータとして格納された文字、イメージ、ラインといったフォームの構成要素は、後付けデータ（通常ページ）内で印刷指示された場合と全く同様にして処理される。
【０１３１】
なお、上記の説明では、フォーム指定命令を認識した場合のみフォームデータを読み出し、対応する描画オブジェクトを生成するとしたが、フォーム指定が解除されるまで、毎ページ自動的にフォームデータを読み出すように構成しても構わない。
【０１３２】
また、図１５のフローチャートに従って生成された描画オブジェクトは、フォームデータの一部として処理されたものと、後付けデータとして処理されたものとが混在して描画オブジェクト格納部６０５ａ内に格納される。
【０１３３】
従って、図８で説明したアプリケーション８０３には、フォームデータ内のアプリケーション（モードフラグ＝１）と後付けデータのアプリケーション（モードフラグ＝１）とが同一のバンドテーブル８０２からリンクされ、排紙時にはすべてモードフラグ＝１でバンドバッファ６０５ｃに描画される（図１１のステップＳ１１１４）。すなわち、アプリケーションのプレーンフラグ８０８に従って、プレーンフラグが１にセットされているプレーンには１で描画を行う（黒く塗る）一方、プレーンフラグが０のプレーンは０で描画を行う（白く抜く）。
【０１３４】
本発明の第一の発明における構成は、複数のプレーン画像を格納するプレーンバッファ（例えばバンドバッファ６０５ｃ）を有する記憶手段（ＲＡＭ６０５）と、印刷コマンドに基づいて、独立して各プレーンバッファに画像データを描画する第一描画手段（フォームラスタ描画部６０３ｅに格納されているプログラムに基づいてＣＰＵ６０１が制御する）と、印刷コマンドに基づいて、描画が必要なプレーンバッファに画像データを描画し、描画が必要ないプレーンの該画像データの位置のデータを消去する第二描画手段（描画オブジェクト描画部６０３ｃに格納されているプログラムに基づいてＣＰＵ６０１が制御する）とを有し、前記第一描画手段と前記第二描画手段を切り替えて画像データを描画する（モードフラグに基づいてＣＰＵ６０１が制御する）ものである。
【０１３５】
また、更なる発明における構成は、入力したフォームデータに基づいてフォーム画像（実施例でいうフォームラスタ）を格納するフォーム画像格納手段（ＲＡＭ６０５のフォームラスタ格納部６０５ｄ）と、前記フォーム画像は前記第一描画手段により前記プレーンバッファに描画され、フォームの所定位置に書き込まれる印刷データは前記第二描画手段により前記プレーンバッファに描画されるよう制御する制御手段（ＣＰＵ６０１の機能）とを更に有しているものである。
【０１３６】
また、本発明の第二の発明における構成は、１ページ分のフォームデータと、フォームの所定位置に書き込まれる印刷データ（実施例でいう後付けデータ）とをオーバーレイ出力可能な画像処理装置において、少なくとも１ページ分の前記フォームデータを記憶するフォームデータ記憶手段（フォームデータ格納部６０５ｂ）と、前記フォームデータ記憶手段からフォームデータを読み出し解析し、プレーン別に１ページ分のフォーム画像を生成するフォーム画像生成手段（描画オブジェクト描画部６０３ｃに格納されているプログラムに基づいてＣＰＵ６０１が制御する）と、少なくとも１ページ分の前記フォーム画像を保持するフォーム画像保持手段（フォームラスタ格納部６０５ｄ）と、前記フォーム画像保持手段に保持されているフォーム画像を対応するプレーンのメモリに描画するフォーム描画手段（フォームラスタ描画部６０３ｅに格納されているプログラムに基づいてＣＰＵ６０１が制御する）とからなり、前記印刷データに基づいて、前記メモリに前記フォーム画像と合わせて画像データを描画する（描画オブジェクト描画部６０３ｃとフォームラスタ描画部６０３ｅを切り替えてＣＰＵ６０１が制御する）ものである。
【０１３７】
また、更なる発明における構成は、フォーム印刷命令が指示された場合に、フォーム画像保持手段内にフォーム印刷命令に対応したフォーム画像が保持されているかどうかを調べる判断手段（図１０のフォローチャートに従ってＣＰＵ６０１が制御する）を更に有し、前記判断手段によって対応するフォーム画像が保持されていると判断された場合には、前記フォーム画像描画手段によりプレーン別のフォーム画像をそれぞれ対応するプレーンのメモリ上へ描画し、前記判断手段によって対応するフォーム画像が保持されていないと判断された場合には、前記フォーム画像生成手段により前記フォームデータ記憶手段からフォームデータを読み出し解析して、それぞれ対応するプレーンのメモリ上へフォーム画像を描画するものである。
【０１３８】
また、更なる発明における構成は、フォーム画像描画手段（フォームラスタ描画部６０３ｅ）は、独立して前記メモリの各プレーンにフォーム画像を描画し、フォーム画像生成手段（描画オブジェクト描画部６０３ｃ）は、前記中間データに基づいて前記メモリ内の描画が必要なプレーンに画像データを描画し、描画が必要ないプレーンの該フォーム画像の位置のデータを消去するものである。
【０１３９】
また、更なる発明における構成は、カラープレーン別の複数のフォーム画像を、プレーン毎にそれぞれ符合化する符合化手段（ラスタ圧縮部６０３ｆ）と、前記符合化されたフォーム画像をカラープレーン毎に復号化する復号化手段（ラスタ伸長部６０３ｆ）とを更に有しているものである。
【０１４０】
上記構成により、本発明によれば、フォームデータの内容に関わらず、カラーのフォームオーバーレイを高速に出力することができる。特に、同一内容のフォームデータに対して通常ページが毎ページ異なるような複数ページの印刷命令においては、２ページ目以降のフォームデータ処理時間をほぼ０にすることができる。
【０１４１】
また、定型フォーム部については、同一の描画オブジェクトを複数ページ毎に個別に持つ必要がなくなるため、複数ページ分の描画オブジェクトに要するメモリを、トータルとして低く抑えることが可能となり、排紙待ちなどの処理速度の低下を避けることができる。
【０１４２】
また、本発明によれば、各カラープレーン別に、１ページをバンド状に分割した単位で、前記フォーム画像を生成・符合化・保持し、順次復号化した後、読み出してバンドバッファへ描画するように構成したことで、復号化の際に前処理や読み飛ばしの処理が不要となり、通常ページデータをバンディング方法によって描画を行なう画像処理装置に対して簡単に適用可能となる。
【０１４３】
〔第二実施例〕
本第二実施例では、フラッシュＲＯＭやハードディスク等の書込み可能な不揮発性メモリを用いた場合の画像処理装置の制御を説明する。不揮発性メモリとしては、例えばＮＶＲＡＭがある。ＮＶＲＡＭは、例えば図示省略したバッテリ等でバックアップ電源が常時供給されたＲＡＭであって、操作者が操作パネル１０４で設定した内容、或いはホストコンピュータ１０１からの環境設定のためのコマンドを記憶保持するものであり、電源を遮断してもその記憶内容が失われることはない。従って、電源投入した場合には、このＮＶＲＡＭに記憶されている情報に従って初期化することで電源投入時の状態に設定することができる。本実施例ではこの不揮発性メモリにページ記述言語形式のフォームデータが格納されている。以下の本発明の第二実施例では、不揮発性メモリとしてフラッシュＲＯＭを用いて説明する。
【０１４４】
図１３は、フラッシュＲＯＭ内にページ記述言語形式のフォームデータが格納済みの場合の、フォーム画像生成手順を示すフローチャートである。本フローチャートの処理は、画像処理装置に電源が投入された直後、印刷データを受信する前や、処理すべき印刷データを受信していない空き時間等に実行しても構わないし、あるいは、ホストコンピュータより受信した命令に従って実行するよう構成されていても構わない。
【０１４５】
同図において、まずステップＳ１３０１にて、フラッシュＲＯＭが装着されているかどうかを調べ、未実装であった場合は処理を終了する。一方、実装されている場合は、ステップＳ１３０２にて、フォームラスタの生成に必要な、パネルメニュー等から設定された印刷条件（印字解像度や、用紙搬送方向、カラーモード等）を読み出し、続くＳ１３０３以降にて、フラッシュＲＯＭに記憶されたフォームデータからフォームラスタを生成し、フォームラスタ格納部へ登録する。すなわち、まず、フラッシュＲＯＭ内に未処理のフォームデータが格納されているかどうかを調べ（Ｓ１３０３）、みつかればフォームデータを読み出し（Ｓ１３０４）、１ページ分の描画オブジェクトを生成する（Ｓ１３０５）。
【０１４６】
続くＳ１３０６にて、印刷データを受信したかどうかを調べ、受信バッファに印刷データが存在する場合は、フォームデータに対応する生成済みの描画オブジェクトを削除し（Ｓ１３１５）、作業メモリとして使用していたワークメモリ等も解放した後、フォーム画像生成処理を終了する。ここで、フォーム画像の格納途中であれば、途中まで格納したフォーム画像も解放する。
【０１４７】
なお、本実施例では、ステップＳ１３０６においてのみ、受信データの存在をチェックしたが、これに限らず、比較的処理時間が多くかかる（複数の）ステップの前後や、タイマ等によって定期的に印刷データを確認しても良く、こうすることによって、外部から入力された印刷指示を妨げることがなくなる。
【０１４８】
続くＳ１３０７にて、前記描画オブジェクトを用いて１バンド分のフォーム画像をバンドバッファへ描画した後、Ｓ１３０８で前記フォーム画像を符合化する。続くＳ１３０９において、フォーム画像格納部に登録に必要なメモリ容量があるかを調べ、空きメモリ容量が不足した場合は、Ｓ１３１０にてエラー表示を行なった後、処理を終了する。
【０１４９】
一方、登録可能であれば、同領域に符合化済みフォーム画像を格納する（Ｓ１３１１）。上記Ｓ１３０６〜Ｓ１３１１の処理を全バンド（Ｓ１３１２）、全プレーン（Ｓ１３１３）が終了するまで繰り返し、最後にＳ１１１４にて不要となった描画オブジェクトを削除し、１フォームの登録処理を終了する。なお、本実施例では、メモリ不足時にエラー表示を行ない処理を中断すると説明したが、各フォームラスタに優先順位を設定するよう構成し、優先順位の低い順に各フォームラスタを削除することで、該フォームラスタの登録処理を続行しても構わない。
【０１５０】
上記説明したように本願の更なる発明は、第一実施例の装置において、外部から印刷すべきデータを受信していない時間に、フォームデータが前記フォームデータ記憶手段に記憶されているかどうかを調べる記憶判断手段を更に有し、前記記憶判断手段によりフォームデータが前記フォームデータ記憶手段に記憶されていると判断された場合に、前記フォーム画像生成手段は、フォームデータを読み出してフォーム画像を生成するものである。
【０１５１】
また、更なる発明において、上記装置におけるフォーム画像保持手段は、不揮発性記憶手段で構成されるものである。
【０１５２】
よって、本発明の第二実施例によれば、フォームデータが不揮発性デバイスに記憶されている場合は、電源投入時やホストから印刷すべきデータを受信していない空き時間を利用して、フォーム画像を生成、符合化しておけるため、１ページ目のファーストプリントをも高速に出力することができる。
【０１５３】
〔第三実施例〕
第１の実施例では、カラーモードで生成されたフォーム画像を出力する場合について説明したが、通常のカラー画像処理装置においては、モノクロモード／カラーモードを切り分けて印刷できるように構成されており、同一の装置にて、Ｂｋトナーのみを使用して印刷することもできるようになっている。このような場合、ページバッファはブラックプレーンのみで構成されるため、前記フォーム画像に対応するアプリケーションのモードフラグは１にセットすれば良い。
【０１５４】
一方、通常ページ（後付けデータ）がカラーモード指定であって、モノクロモードで生成済みフォーム画像をオーバーレイする場合は、モードフラグは０にセットする。上記のように、フォーム画像がモノクロモードの場合であっても、通常ページのモードによって、フォーム画像に対応したアプリケーションのモードフラグ設定を切替えれば、プレラスタライズ方式によるフォームオーバーレイ印刷が可能となる。
【０１５５】
なお、上記第一〜第三実施例で示された処理は、主としてＣＰＵ６０１が処理するものであり、そのプログラムは外部のメモリカードという形態でも実現できる。すなわち、前述した各実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し、実行することによっても、達成されることは言うまでもない。
【０１５６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５７】
プログラムコードを供給するための記憶媒体としては、例えば、プロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリカード、ＲＯＭ、ＤＶＤ等をもちいることができる。
【０１５８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５９】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６０】
また、実施形態ではレーザープリンタを例にして説明したが、これに限るものではなく、いかなる方式のプリンタにも適用できる。ただし、実施形態で説明したように、ある程度の高速な装置に適用することが望ましい。この意味では、上記の如くレーザープリンタやＬＥＤプリンタで代表されるページプリンタに適用することが望まれる。
【０１６１】
以上説明したように、本発明によれば、フォームデータの内容に関わらずフォームを高速に出力することができる。特に、同一内容のフォームデータに対して通常ページが毎ページ異なるような複数ページの印刷命令においては、２ページ目以降のフォームデータ処理時間をほぼ０にすることができる。
【０１６２】
また、同一の描画オブジェクトを複数ページ毎に個別に持つ必要がなくなるため、複数ページ分の描画オブジェクトに要するメモリを、トータルとして低く抑えることが可能となり、排紙待ちなどの処理速度の低下を避けることができる。
【０１６３】
また、本発明によれば、フォームデータが不揮発性デバイスに記憶されている場合は、電源投入時やホストから印刷すべきデータを受信していない空き時間を利用して、フォーム画像を生成、符合化しておけるため、１ページ目のファーストプリントをも高速に出力することができる。
【０１６４】
また、本発明によれば、各カラープレーン別に、１ページをバンド状に分割した単位で前記フォーム画像を生成・符合化・保持しておき、フォームオーバーレイ指定時に順次復号化した後、読み出してバンドバッファへ描画するように構成したことで、復号化の際に前処理や読み飛ばしの処理が不要となり、通常ページデータをバンディング方法によって描画を行なう画像処理装置に対して簡単に適用可能となる。
【０１６５】
【発明の効果】
以上説明したように、本発明によれば、フォームデータの内容に関わらずフォームを高速に出力することができる。
【図面の簡単な説明】
【図１】本発明を適用可能なカラーレーザービームプリンタの概略構成を示すブロック図である。
【図２】本発明の第１の実施例に示すカラー画像処理装置のプリンタエンジン部の内部構造を示す断面図である。
【図３】従来のカラー画像処理装置における、各プレーン毎のラスタ画像生成を示した概略図である。
【図４】従来のカラー画像処理装置における、描画オブジェクト、アプリケーションの構成を示した概略図である。
【図５】従来のカラー画像処理装置における、描画オブジェクト、アプリケーションの構成を示した概略図である（バックグラウンドにディザパターンを指定した場合）。
【図６】第１の実施例に示す画像処理装置のコントローラ部の基本構成を説明するブロック図である。
【図７】第１の実施例に示す画像処理装置における、フォームラスタ登録処理手順を示すフローチャートである。
【図８】第１の実施例に示す画像処理装置の、描画オブジェクト格納部およびアプリケーションの構成を説明する図である。
【図９】第１の実施例に示す画像処理装置の、フォーム画像格納部の構成を説明するブロック図である。
【図１０】第１の実施例に示す画像処理装置における、フォーム画像検索手順を示すフローチャートである。
【図１１】第１の実施例に示す画像処理装置における、フォームオーバーレイ指定命令の処理手順を示すフローチャートである。
【図１２】第１の実施例に示す画像処理装置の、アプリケーションとフォームラスタとのリンク関係を説明する図である。
【図１３】第２の実施例に示す不揮発性メモリを有する画像処理装置のフォームラスタ登録手順を示すフローチャートである。
【図１４】本実施例におけるフォームオーバーレイ実行印刷コマンドの内容の一例を示す図である。
【図１５】フォームラスタ登録命令を用いずにフォームオーバーレイを行う場合の手順を示したフローチャートである。（図１１において、フォーム指定命令以外の処理＝Ｓ１１０９や、指定されたフォームラスタが見つからなかった場合の処理＝Ｓ１１１０〜Ｓ１１１１にも相当する手順を示したフローチャートである）。
【符号の説明】
１０２  カラーレーザービームプリンタ本体
１０３  コントローラ部
１０５  プリンタエンジン部
６０１  ＣＰＵ
６０３  プログラムＲＯＭ
６０３ａ  描画オブジェクト生成部
６０３ｂ  フォームデータ登録／読み出し部
６０３ｄ  フォームメモリ管理部
６０３ｅ  フォームラスタ描画部
６０３ｆ  ラスタ符合化・復号化部
６０５  ＲＡＭ
６０５ａ  描画オブジェクト格納メモリ
６０５ｂ  フォームデータ格納部
６０５ｃ  ページバッファ（バンドバッファ）
６０５ｄ  フォームラスタ格納メモリ
６０７  受信バッファ
８０１  ページ情報ヘッダ部
８０２  バンドテーブル
８０５  描画情報（アプリケーション）
８０６  描画オブジェクト
８０７  モードフラグ
８０８  プレーンフラグ
９０１  フォームラスタ管理テーブル
９０２  フォームバンドテーブル
９０３  符合化フォームラスタ（Ｙプレーン）
９０４  符合化フォームラスタ（Ｍプレーン）
９０５  符合化フォームラスタ（Ｂｋプレーン）
【図１】
0004227236.tif 000002
【図２】
0004227236.tif 000003
【図３】
0004227236.tif 000004
【図４】
0004227236.tif 000005
【図５】
0004227236.tif 000006
【図６】
0004227236.tif 000007
【図７】
0004227236.tif 000008
【図８】
0004227236.tif 000009
【図９】
0004227236.tif 000010
【図１０】
0004227236.tif 000011
【図１１】
0004227236.tif 000012
【図１２】
0004227236.tif 000013
【図１３】
0004227236.tif 000014
【図１４】
0004227236.tif 000015
【図１５】
0004227236.tif 000016