(57)【特許請求の範囲】
【請求項１】
文書情報及び付加情報を受信する受信手段と、
前記受信した情報からラスタイメージを生成するための中間データを順次生成する中間データ生成手段と、
前記生成された中間データを順次格納する第１のバッファと、
第２のバッファと、
前記第１のバッファ内の中間データから圧縮したラスタイメージを生成して前記第２のバッファへ格納し、前記第１のバッファ内の当該中間データを削除する圧縮手段と、
前記第１のバッファ内の中間データの総量が閾値を越える場合、前記圧縮手段を動作させる制御を行う制御手段と
を備え、
前記制御手段は、前記第１バッファ内の中間データの総量が前記閾値を越えていなくても前記受信した付加情報が特殊パターンの描画命令を含む場合、前記圧縮手段を動作させる制御を行うことを特徴とする画像形成装置。
【請求項２】
前記受信手段が前記情報を文書情報、付加情報の順で受信し、前記受信した付加情報が特殊パターンの描画命令を含む場合、前記圧縮手段は、前記受信した文書情報の全ての前記中間データが前記第１のバッファへ格納された際に、前記第１のバッファ内の中間データから圧縮したラスタイメージを生成して前記第２のバッファへ格納し、前記第１のバッファ内の中間データを削除することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記受信した付加情報が特殊パターンの描画命令を含む場合、当該特殊パターンの前記中間データの容量を見積もる見積り手段と、
前記見積もられた特殊パターンの中間データの容量と、前記受信した文書情報の全ての中間データが前記第１のバッファへ格納されたときの前記第１のバッファの残容量とを比較する手段と
を備え、
前記圧縮手段は、前記比較の結果、前記第１のバッファの残容量の方が少ないと判断された場合に、前記圧縮したラスタイメージの生成及び前記中間データの削除を行なうことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記見積り手段は、前記受信した付加情報に含まれているサイズ情報を用いて特殊パターンの中間データの容量を見積もることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記見積り手段は、特殊パターンがアノトパターンの場合、ダウンロード文字の容量及び出力用紙サイズを用いて特殊パターンの中間データの容量を見積もることを特徴とする請求項３に記載の画像形成装置。
【請求項６】
前記受信手段が前記情報を付加情報、文書情報の順で受信し、前記受信した付加情報が特殊パターンの描画命令を含む場合、前記第１のバッファ内の中間データから前記特殊パターンの前記中間データを分離して前記中間データを再構成する再構成手段を備え、
前記圧縮手段は、前記再構成された前記文書情報の前記中間データから圧縮したラスタイメージを生成して前記第２のバッファへ格納し、前記第１のバッファ内の前記文書情報の中間データを削除することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項７】
前記受信した付加情報が特殊パターンの描画命令を含む場合、前記受信した文書情報及び付加情報の前記中間データの容量と、前記第１のバッファの残容量とを比較する手段を備え、
前記圧縮手段は、前記比較の結果、前記第１のバッファの残容量の方が少ないと判断された場合に、前記圧縮したラスタイメージの生成及び前記中間データの削除を行なうことを特徴とする請求項６に記載の画像形成装置。
【請求項８】
文書情報及び付加情報を受信する受信ステップと、
前記受信した情報からラスタイメージを生成するための中間データを順次生成する中間データ生成ステップと、
前記生成された中間データを第１のバッファに順次格納するステップと、
前記第１のバッファ内の中間データから圧縮したラスタイメージを生成して第２のバッファへ格納し、前記第１のバッファ内の当該中間データを削除する圧縮ステップと、
前記第１のバッファ内の中間データの総量が閾値を越える場合、前記圧縮ステップを実行させる制御を行う制御ステップと
を備え、
前記制御ステップにおいて、前記第１バッファ内の中間データの総量が前記閾値を越えていなくても前記受信した付加情報が特殊パターンの描画命令を含む場合、前記圧縮ステップを実行させる制御を行うことを特徴とする画像形成方法。
【請求項９】
請求項１乃至７の何れか１項に記載の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ上に付加データの埋め込まれた画像を出力する画像形成装置及び画像形成方法に関する。
【背景技術】
【０００２】
近年、地紋、電子透かし、及びアノト（登録商標）パターンのように、印刷出力に特殊パターンを付加することで、印刷出力そのものの価値を向上させる技術が開発され、画像形成装置に搭載されてきている。
【０００３】
地紋は、複写時に浮き出て出力される潜像部を構成する潜像パターンと、複写時にドットが消える背景部を構成する背景パターンで構成される。これらのパターンを組み合わせたものを、印刷したい画像の上側または下側に重ね合わせた印刷出力（印刷物）を生成（作成）することにより、該印刷出力を複写しようとしたときに、潜像パターンが浮き上がる。
【０００４】
電子透かしは、意味のある情報を埋めこんだパターンを、印刷したい画像に付加して印刷出力を生成する。該印刷出力をスキャンする時に、パターンを解析することにより、埋め込まれた情報を抽出し、電子情報として利用することができる。
【０００５】
また、アノトパターンはスウェーデンのAnoto社が開発した電子透かしの一種であり、用紙上の位置情報を埋め込んだパターンとなっている。
【０００６】
これらの特殊パターンが印刷データと共に、ＰＤＬデータとしてホストからプリンタに送られた場合の処理について説明する。
【０００７】
プリンタは、まずそのＰＤＬデータから中間データを生成し、中間データを中間データ格納バッファに格納する。全ての中間データが格納されると、今度は、中間データをラスタライズして画像を生成し、印刷する（即ち、印刷物を作成する）。
【０００８】
しかしながら、中間データのデータ量が多く、中間データ格納バッファが一杯になることがある。このような場合、従来技術では、フォールバック処理が行われていた。
【０００９】
フォールバック処理とは、中間データの生成及びバッファへの格納の処理の途中で、中間データ格納バッファに格納されている中間データを一旦レンダリングしてＪＰＥＧ圧縮する処理である。もちろん、この処理が行われると、その途中までの中間データはバッファから削除されることになる。
【００１０】
こうすることにより、中間データ格納バッファに空きを作り、引き続いて生成される中間データを中間データ格納バッファに格納できるようになる。良いことずくめのようにも見えるが、問題もある。ＪＰＥＧ圧縮だ。
【００１１】
前記特殊パターンは、周期性のない、オン／オフが頻繁に繰り返されるパターンである。このようなパターンの画像は、通常の自然画やグラフィック画像に比べ、高周波成分が多いためJPEG圧縮により圧縮をかけたとしてもそれ程データ量は削減されない。もちろん、データ量を削減するために圧縮率を高めて圧縮するのも一手ではあるが、そのようなことをすると画像劣化が激しくなり、地紋や電子透かし、アノトパターンとしての機能が劣化もしくは全く働かなくなってしまう。
【００１２】
このような問題を回避するため、特許文献１では、前記特殊パターンを含む印刷データには、ＪＰＥＧ圧縮のような非可逆圧縮ではなく、可逆圧縮を適用する方法が開示されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００２−１２７４０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
一方で、前記特許文献１のように、特殊パターンを含む画像を可逆圧縮すると、圧縮画像のサイズが大きくなる。その結果、圧縮画像を格納するためにＪＰＥＧ圧縮をする場合よりも大きなメモリを用意する必要がある。
【００１５】
本発明は、上記問題に鑑みてなされたものである。その課題は、フォールバック処理による画像劣化を低減させることが可能な画像形成装置及び画像形成方法を提供することである。
【課題を解決するための手段】
【００１６】
本発明の画像形成装置は、文書情報及び付加情報を受信する受信手段と、前記受信した情報からラスタイメージを生成するための中間データを順次生成する中間データ生成手段と、前記生成された中間データを順次格納する第１のバッファと、第２のバッファと、前記第１のバッファ内の中間データから圧縮したラスタイメージを生成して前記第２のバッファへ格納し、前記第１のバッファ内の当該中間データを削除する圧縮手段と、前記第１のバッファ内の中間データの総量が閾値を越える場合、前記圧縮手段を動作させる制御を行う制御手段とを備え、前記制御手段は、前記第１バッファ内の中間データの総量が前記閾値を越えていなくても前記受信した付加情報が特殊パターンの描画命令を含む場合、前記圧縮手段を動作させる制御を行うことを特徴とする。
【発明の効果】
【００１７】
以上、本発明によれば、フォールバック処理による画像劣化を低減させることが可能な画像形成装置及び画像形成方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態における、コントローラソフトウェアの構成を示すブロック図である。
【図２】本発明の実施例２における、カラーＳＦＰのＰＤＬ印刷処理を示すフローチャートである。
【図３】本発明の実施例１及び２における、ＰＤＬデータの概念図である。
【図４】本発明の実施例２における、ＰＤＬ解析処理を示すフローチャートである。
【図５】本発明の実施例２における、フォールバック処理を示すフローチャートである。
【図６】本発明の実施例２における、フォールバック処理前後のＤＬ格納バッファの模式図である。
【図７】本発明の実施例３における、下書き地紋を含むＰＤＬデータの概念図である。
【図８】本発明の実施例３における、ＰＤＬ解析処理を示すフローチャートである。
【図９】本発明の実施例３における、フォールバック処理を示すフローチャートである。
【図１０】本発明の実施例３における、ＤＬ分離処理を説明するＤＬ格納バッファの模式図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【実施例１】
【００２０】
（コントローラソフトウェア構成）
図１は、本実施形態に係る画像形成装置の一例として、カラーＳＦＰ（Single Function Printer）１の構成を示すブロック図である。  
符号２０１から２０７はソフトウェアモジュールである。これらは、カラーＳＦＰ１内部のＣＰＵがＲＯＭ内部のプログラムを適宜ＲＡＭに読み出し、実行することにより実現されるモジュールとなっている。
【００２１】
また、各ソフトウェアモジュールは、ＲＡＭ内のＤＬ（ディスプレイリスト）格納バッファ２１０及びフォールバック（ＦＢ）バッファ２１１と自由にアクセス可能な構成となっている。
【００２２】
図１に示すジョブコントロール処理部２０１は、カラーＳＦＰ１内で発生するあらゆるジョブの制御を行う。
【００２３】
ネットワーク処理部２０２は、ＬＡＮ１０２を通じて外部の機器との通信制御を行う。例えば、ネットワーク処理部２０２はＬＡＮ１０２を介して各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理部２０１へ通知する。また、ジョブコントロール処理部２０１からの指示に基づき、ＬＡＮ１０２を介して各機器へ制御コマンドやデータの送信を行う。
【００２４】
ＵＩ処理部２０３は、主に操作部１０８に係る制御をおこなう。操作部１０８は、操作者が操作部１０８を操作した内容を、ジョブコントロール処理部２０１へ通知すると共に、ジョブコントロール処理部２０１からの指示に基づいて、操作部１０８上の表示画面の表示内容を制御する。
【００２５】
ＰＤＬ解析処理部２０４は、ジョブコントロール処理部２０１の指示に基づいて、ネットワーク処理部２０２が受信したＰＤＬデータを解析し、ＲＩＰ処理部２０６で処理可能なディスプレイリスト（ＤＬ、即ち、中間データ）を生成する。このＰＤＬ解析処理部２０４は、生成したＤＬをＲＡＭ１０４上のＤＬ格納バッファ２１０に格納し、ＤＬを格納した領域を示すアドレスを、ジョブコントロール処理部２０１へ通知する。
【００２６】
ＲＩＰ処理部２０６は、ＤＬ格納バッファ２１０に格納されているＤＬのレンダリングをＲＩＰ１１３に行わせる。このレンダリングにより、バンド単位でラスタイメージ（画像）がメモリ上に生成される。その上で、ＲＩＰ処理部２０６は、メモリ上の各バンドの格納アドレスをジョブコントロール処理部２０１へ通知する。
【００２７】
画像格納処理部２０５は、ジョブコントロール処理部２０１の指示を受け、画像編集用画像処理部１１６に、指示された画像に対する圧縮処理を行わせ、圧縮後の画像をＲＡＭ１０４上の指定バッファに格納させる。ジョブコントロール処理部２０１による指示は、格納アドレスを画像格納処理部１１６に通知することにより行われる。画像格納処理部２０５は、さらに、バッファにおける格納アドレスをジョブコントロール処理部２０１に通知する。
【００２８】
プリント処理部２０７は、ジョブコントロール処理部２０１の指示に基づいて、画像編集用画像処理部１１６、プリンタ画像処理１１５およびプリンタエンジン１０１を制御し、画像の印刷処理を行う。
【００２９】
なお、ジョブコントロール処理部２０１の指示は、印刷対象となっている圧縮後の画像の格納アドレス、画像関連情報（画像のサイズ、カラーモード、解像度）、レイアウト情報（オフセット、拡大縮小、面つけ）および出力用紙情報（サイズ、印字方向）を含む。
【００３０】
これらの指示を受けて、画像編集用画像処理部１１６およびプリンタ画像処理１１５は、画像に対して適切な画像処理を施し、プリンタエンジン１０１を制御して指定用紙への印刷を行う。当該画像処理には、解凍処理、拡大縮小処理、色変換処理、解像度変換処理、面付け処理、回転処理などが含まれる。
【００３１】
（ＰＤＬデータ）
図３は、ホストコンピュータが生成する、ＰＤＬデータの概念図である。図３(a)は、上書きの地紋パターンの付加された印刷出力を得るためのＰＤＬデータである。図３(b)は、電子透かしの付加された印刷出力を得るためのＰＤＬデータである。図３(c)は、アノトパターンの付加された印刷出力を得るためのＰＤＬデータである。それぞれのＰＤＬデータは、文書情報である描画命令群（４０１、４０３、４０５）及び付加情報（４０２、４０４、４０６、４０７）を有する。それぞれのＰＤＬデータは、ホストコンピュータ上で、図の上側から生成され、順次カラーＳＦＰ１に通知される。すなわち、カラーＳＦＰ１は、ネットワーク処理部２０２を介して文書情報、付加情報の順で文書情報及び付加情報を受信する。
【００３２】
例えば図３(a)のＰＤＬデータでは、ホストコンピュータ上で描画命令郡（４０１）が先に生成され、カラーＳＦＰ１に通知される。続いて、地紋パターンを描画する２値ビットマップ描画命令（４０２）が付加情報として生成されカラーＳＦＰ１に通知される。すなわち、カラーＳＦＰ１は、描画命令郡（４０１）、２値ビットマップ描画命令（４０２）の順でＰＤＬデータを受信する。同様に、図３(b)のＰＤＬデータは、描画命令郡（４０３）、電子透かしを描画する２値ビットマップ命令（４０４）の順で生成され、同じ順序でＰＤＬ内のデータがカラーＳＦＰ１へ通知される。図３(c)のＰＤＬデータは、描画命令郡（４０５）、アノトパターン描画用のコマンドであることを示すタグ（４０６）、アノトパターン描画用の描画命令郡（４０７）の順で生成され、同じ順序でＰＤＬ内のデータがカラーＳＦＰ１へ通知される。
【００３３】
ここで、アノトパターン描画用の描画命令群は、ダウンロード文字の登録と該ダウンロード文字の描画命令により構成されている。本実施例では、地紋パターンを描画する２値ビットマップ描画命令、電子透かしを描画する２値ビットマップ描画命令、及び以降のデータがアノトパターン描画用コマンドであることを示すタグのことを特殊パターン描画命令と記載する。
【００３４】
（ＰＤＬ印刷処理）
次に、カラーＳＦＰ１において、受信したＰＤＬデータからＤＬを生成し、ラスタイメージを生成する処理を説明する。
【００３５】
ステップ１．まず、カラーＳＦＰ１のネットワーク処理部２０２は、図３に示すようなＰＤＬデータを受信するために、このＰＤＬデータの細切れを図の上の部分から順次受信する。
【００３６】
ステップ２．ＰＤＬ解析処理部２０４は、描画命令群（文書情報）の受信が終了し、受信中のＰＤＬデータの細切れが、特殊パターン（付加情報）に切り替わったか否か判断する。
【００３７】
ＰＤＬデータの細切れが特殊パターンであるかの判断処理は、ＰＤＬデータの解析の結果、２値ビットマップ描画命令に含まれるタグ情報や、アノトパターン開始のタグ情報が検知されるか否かによって行う。検知された場合、特殊パターンと判断する。なお、本実施例ではＰＤＬデータに含まれる各種タグ情報を利用して、特殊パターンであるかを判断しているが、これに限定されず、描画命令の組み合わせや、ビットマップ画像やダウンロード文字のパターン認識を用いて、特殊パターンの検知を行ってもよい。
【００３８】
ステップ２の判断の結果、受信したＰＤＬデータの細切れが、前回のステップ１の処理で受信したものと同様に描画命令群であった場合、又は前回のステップ１の処理で受信したものと同様に特殊パターンであった場合、ステップ３へ進む。また、判断の結果、ＰＤＬデータの細切れが描画命令群から特殊パターンに切り替わったと判断された場合、後述するステップＡへ進む。
【００３９】
ステップ３．ＰＤＬ解析処理部２０４は、受信したＰＤＬデータの細切れを解釈してＤＬを生成し（中間データ生成）、ＤＬ格納バッファ２１０（第１のバッファ）に格納する。このステップでは、ＤＬが順次生成され、生成されたＤＬがＤＬ格納バッファ２１０に順次格納される。
【００４０】
ステップ４．まだ受信していないＰＤＬデータの細切れがある場合はステップ１へ進み、受信が終了した場合はステップ５へ進む。
【００４１】
ステップ５．ＲＩＰ処理部２０６は、ＤＬ格納バッファ２１０（第１のバッファ内）に格納されているＤＬを全てレンダリングし、ラスタイメージを生成する。後述するステップＢの処理で圧縮画像の格納アドレスがＤＬ格納バッファ２１０に格納されている場合は、この圧縮画像を解凍する。生成されたラスタイメージ及び解凍された画像はプリント処理部２０７へ出力され、処理は終了する。
【００４２】
ステップＡ．ステップ２で特殊パターンに切り替わったと判断された場合、ＤＬ格納バッファ２１０に格納されているＤＬを全てレンダリングし、ラスタイメージを生成する。その後、レンダリングされたＤＬをＤＬ格納バッファ２１０から削除し、ステップＢへ進む。
【００４３】
ステップＢ．ステップＡで生成されたラスタイメージを圧縮してＦＢバッファ２１１（第２のバッファ）に格納する。ＦＢバッファ２１１に格納された圧縮後のデータの格納アドレスをＤＬ格納バッファ２１０に格納する。処理はステップ３へ進む。
【００４４】
以上のように本実施例によれば、描画命令群（文書情報）のＤＬ生成処理が終了し、ＤＬ生成の対象が特殊パターンに切り替わる際に、ＤＬ格納バッファ２１０内のＤＬからラスタイメージを生成して圧縮し、ＤＬ格納バッファ２１０内のＤＬを削除する。従って、ＤＬ格納バッファ２１０に十分に空き容量がある状態で特殊パターンに対するＤＬ生成処理を開始するため、特殊パターンに対するＤＬ生成処理の途中でフォールバック処理が発生する可能性を抑えることができる。その結果、フォールバック処理における不可逆圧縮による特殊パターンの画像劣化を低減することができる。
【００４５】
なお、本実施例において、ステップ２の判断の結果、ＰＤＬデータの細切れが描画命令群から特殊パターンに切り替わったと判断された場合、ステップＡ及びＢの処理を行うこととしたが、変形例として次のような処理を行っても良い。
【００４６】
すなわち、ステップＡの処理を行う前に、ＤＬ格納バッファ２１０の空き容量と生成される特殊パターンの全体のＤＬの容量とを比較し、空き容量の方が大きい場合はステップ３へ進み、そうでない場合はステップＡへ進む。なお、ＤＬの容量は、特殊パターンが地紋データ及び電子透かしの場合は、ＰＤＬの２値ビットマップ描画命令に含まれている２値ビットマップのサイズ情報より見積もることができる。また、特殊パターンがアノトパターンの場合は、ダウンロード文字の容量と用紙サイズとからＤＬの容量を見積もることができる。見積方法の詳細は実施例２で説明する。
【００４７】
このようにＤＬの空き容量が少ない場合にのみステップＡ及びＢの処理を行うため、ＰＤＬデータの印刷処理速度の低下を抑えることができる。
【実施例２】
【００４８】
以下、実施例２について説明する。本実施例は、実施例１で説明したカラーＳＦＰ１による処理と他の追加の処理とを含むＰＤＬ印刷処理の詳細について説明する。本実施例におけるカラーＳＦＰのコントロールユニットの構成、コントローラソフトウェアの構成及びＰＤＬデータの構成は、実施例１で説明した図１及び図３と同様であるため、説明を割愛する。
【００４９】
（ＰＤＬ印刷処理）
本実施例に係る画像形成装置の一例であるカラーＳＦＰ１がＬＡＮ１０２上のホストコンピュータから、ＰＤＬデータを受信し用紙上へ印刷するまでの、ＰＤＬ印刷処理を図２のフローチャートを参照して説明する。
【００５０】
ネットワーク処理部２０２は、外部ネットワークＬＡＮ１０２からＰＤＬデータを受信すると、そのＰＤＬデータをジョブコントロール処理部２０１へ通知する。すると、ジョブコントロール処理部２０１は、通知されたＰＤＬデータを解析するため、ＰＤＬ解析処理部２０４を起動しＰＤＬデータを通知する。
【００５１】
Ｓ３０１で、ＰＤＬ解析処理部２０４は、通知されたＰＤＬデータを解析することで、ＤＬを生成する。ＰＤＬ解析処理部２０４はさらに、生成したＤＬをＤＬ格納バッファ２１０へ格納し、格納したＤＬのアドレスをジョブコントロール処理部２０１へ通知する。このＰＤＬ解析処理部２０４の動作については、後程詳述する。ジョブコントロール処理部２０１は、ＰＤＬ解析処理部２０４よりＤＬの格納アドレスの通知を受けると、ＲＩＰ処理部２０６及画像格納処理部２０５を起動する。
【００５２】
Ｓ３０２で、ＲＩＰ処理部２０６は、ＤＬ格納バッファ２１０に格納されているＤＬのレンダリングをＲＩＰ１１３に行わせる。このレンダリングにより、バンド単位でラスタイメージ(例、２値画像）がＲＡＭ１０４上の画像バッファに生成される。その上で、ＲＩＰ処理部２０６は、各バンドの格納アドレスをジョブコントロール処理部２０１へ通知する。すると、ジョブコントロール処理部２０１は、その各バンドの格納アドレスを画像格納処理部２０５に通知する。
【００５３】
Ｓ３０３で、画像格納処理部２０５は、その格納アドレスに格納された画像に対する可逆圧縮処理を行い、圧縮後の画像をＲＡＭ１０４上の指定バッファに格納する。また、圧縮後の画像の格納アドレスをジョブコントロール処理部２０１に通知する。
【００５４】
なお、このレンダリング及び圧縮格納処理は、ページを複数の部位に分割したバンド単位で行われ、全バンドのレンダリング及び圧縮格納処理が終了すると、Ｓ３０４へ進む。以後、ジョブコントロール処理部２０１は、全バンドの圧縮済みラスタデータを一纏めにし、画像データとして管理する。なお、この圧縮は、例えば、ＪＢＩＧ圧縮となっている。
【００５５】
Ｓ３０４で、ジョブコントロール処理部２０１は、プリント処理部２０７を起動し、画像の印刷処理を行う。この時の具体的な処理は、プリント処理部２０７の説明で前述したとおりである。
【００５６】
（ＰＤＬ解析処理）
ここで、図４のフローチャートを参照して、図２のＳ３０１にて行われるＰＤＬ解析処理部２０４による処理ついて説明する。
【００５７】
ＰＤＬ解析処理部２０４は、図３に例示されるＰＤＬデータが通知されると、順次ＰＤＬデータの解析を行い（Ｓ５０１）、現在設定されている状態（モード）及び解析の結果に応じて処理の分岐を行う（Ｓ５０２、Ｓ５０３）。
【００５８】
すなわち、現在設定されているモードが特殊パターンモードである場合、処理はＳ５０８へ進む。また、現在設定されているモードが特殊パターンモードではなく、かつ、ＰＤＬの解析結果が特殊パターンである場合、処理はＳ５０４へ進む。現在設定されているモードが特殊パターンモードではなく、かつ、解析結果が特殊パターンでない場合、処理はＳ５０８へ進む。
【００５９】
ここで、現在設定されているモードとは、現在処理中のＰＤＬデータが特殊パターンであるか否かを示すものである。図４に示す処理が開始する際の初期モードは、通常モード（特殊パターンモードではないモード）となっている。そのため、最初、処理は、Ｓ５０１の後、Ｓ５０２からＳ５０３へと流れていくことになる。その後、Ｓ５０３で特殊パターン描画を示す描画命令を検知したか判定しているが、検知されなかった場合はＳ５０８へと流れていくことになる。一方、ひとたび検知されるとＳ５０４へと流れ、特殊パターンモードが設定される。
【００６０】
以上Ｓ５０２とＳ５０３の処理をまとめると、次のとおりである。すなわち、特殊パターンが初めて検出されるまでは処理は全てＳ５０３からＳ５０８へと流れる。ひとたび特殊パターンが検出されるとその時だけはＳ５０４からＳ５０７の処理を行うが、その処理が終わると、Ｓ５０２からＳ５０８へと流れる系が出来ることになる。すなわち、Ｓ５０３の処理によれば、全ての描画命令群（文書情報）のＤＬ（中間データ）が生成され、ＤＬ格納バッファ２１０への格納が終了したことにより、２値ビットマップ描画命令（付加情報）から特殊パターンが検知されたか否かが判断される。特殊パターンが検知された場合、Ｓ５０４からＳ５０７の処理が行われる。
【００６１】
なお、Ｓ５０３の特殊パターン判定処理では、ＰＤＬデータの解析の結果、２値ビットマップ描画命令に含まれるタグ情報や、アノトパターン開始のタグ情報が検知された場合、特殊パターンが検知されたと判定している。なお、本実施例ではＰＤＬデータに含まれる各種タグ情報を利用して、特殊パターンがあるか検知しているが、描画命令の組み合わせや、ビットマップ画像やダウンロード文字のパターン認識を用いて、特殊パターンの検知を行ってもよい。
【００６２】
Ｓ５０４で現在のモードを特殊パターンモードに設定した後、Ｓ５０５では、特殊パターンを描画するために生成されるＤＬの容量の見積もりを行う。ＤＬ容量の見積もりにおいて、特殊パターンが、地紋データ及び電子透かしの場合は、２値ビットマップ描画命令に含まれている２値ビットマップのサイズ情報を用いてＤＬの容量を見積もることができる。なお、２値ビットマップのサイズ情報は、２値ビットマップ描画命令の先頭部分に含まれている。
【００６３】
例えば、２値ビットマップ描画命令に含まれる２値ビットマップのサイズが、４９６０×７０００であった場合、２値ビットマップの容量は、４９６０×７０００÷８=約４．１３９Ｍバイトとなる。２値ビットマップを描画するＤＬの容量は、２値ビットマップの容量＋２値ビットマップを描画するための制御命令（６０バイト）である。従って、２値ビットマップを描画するＤＬの容量は、４．１４Ｍバイトと見積もっておけばよい。
【００６４】
また、特殊パターンがアノトパターンの場合は、ダウンロード文字の容量と、出力用紙サイズより見積もることができる。例えば、アノトパターンは約１２０種類のダウンロード文字の組み合わせで構成されるが、各文字のビットマップの平均サイズは約３０ピクセルである。このダウンロード文字１文字あたりの登録に要するＤＬ中の容量は約８バイトであるため、ダウンロード文字の登録に１２０＊８＝９６０バイト消費する。また、用紙サイズがＡ４であるとすると、描画領域のサイズは、４９６０＊７０００ピクセルであるため、４９６０＊７０００/３０＝約１１５７０００文字で、アノトパターンを構成することができる。一方で、ダウンロード文字を１文字描画するためのＤＬ中のコマンド容量は、約１０バイトであるので、１１５７０００*１０＝約１１．０４Ｍバイトとなる。これにより、Ａ４サイズの用紙に対しては、ダウンロード文字の登録分も含め、使用するＤＬサイズの容量を１１．１Ｍバイトに見積もっておけば十分であることがわかる。
【００６５】
以上のようにＳ５０５の処理によれば、２値ビットマップ描画命令（付加情報）から特殊パターンが検知された場合、特殊パターンのＤＬの容量が算出される。
【００６６】
Ｓ５０６では、Ｓ５０５で見積もった特殊パターンの描画のためのＤＬの容量と、ＲＡＭ１０４上のＤＬ格納バッファ２１０の残容量を比較し、残容量の方が多ければ、Ｓ５０８のＤＬ生成処理へ進み、残容量が少なければ、Ｓ５０７のフォールバック処理へ進む。すなわちＳ５０６では、ＤＬ格納バッファの残容量が、算出された特殊パターンのＤＬの容量より少ないか否かを判断する。
【００６７】
Ｓ５０７では、既に生成済みのＤＬを一度レンダリングし、ＦＢバッファ２１１に圧縮格納することで、ＤＬ格納バッファ２１０に空き領域を確保するフォールバック処理を行う。すなわち、Ｓ５０６で、ＤＬ格納バッファ２１０の残容量が、算出された特殊パターンのＤＬの容量より少ないと判断された場合、ＤＬ格納バッファ２１０内のＤＬからラスタイメージを生成して圧縮し、圧縮したラスタイメージをＦＢバッファ２１１に格納する。その後、ＤＬ格納バッファ２１０内の中間データを削除する。処理はその後、Ｓ５０８へ進む。フォールバック処理については後ほど詳述する。
【００６８】
Ｓ５０８では、Ｓ５０１のＰＤＬデータの解析結果に基づいて、ＤＬの生成処理を行い、Ｓ５０９へ進む。なお、Ｓ５０７のフォールバック処理に続いてＳ５０８でＤＬ生成処理が行われる場合、特殊パターンのＤＬ生成の処理が開始される。Ｓ５０７のフォールアック処理は、全ての描画命令群についてのＤＬが生成された後、Ｓ５０３にて２値ビットマップ描画命令から特殊パターンが検知された場合に行われる処理だからである。また、この場合、Ｓ５０８の処理の開始時点において、ＤＬ格納バッファ２１０から（後述するように少なくとも一部の）ＤＬは削除されている。Ｓ５０７のフォールバック処理でＤＬ格納バッファ２１０に格納されたＤＬが削除された後にＳ５０８でＤＬ生成処理が行われるためである。
【００６９】
このように、特殊パターンのＤＬの生成を開始する際に、ＤＬ格納バッファ２１０からＤＬが削除されている。そのため、特殊パターンのＤＬの生成処理の途中でＤＬ格納バッファ２１０の残容量がなくなることに起因して行われる、後述するＳ５１０のフォールバック処理を行う可能性を低減することができる。その結果、特殊パターンに対してフォールバック処理を行い、ＪＰＥＧなどの不可逆圧縮をすることによる特殊パターンの画像の劣化を低減することができる。
【００７０】
Ｓ５０９では、Ｓ５０８で生成したＤＬの容量と、ＤＬ格納バッファ２１０の残容量を比較し、残容量の方が多ければ、Ｓ５１１へ進み、残容量が少なければ、Ｓ５１０でフォールバック処理をおこなう。なおＳ５０７とＳ５１０のフォールバック処理は同一の処理である。
【００７１】
Ｓ５１１では、Ｓ５０８で生成したＤＬをＤＬ格納バッファ２１０へ追加すると共に、残容量から追加したＤＬのサイズ分減じた後、Ｓ５１２へ進む。
【００７２】
Ｓ５１２では未処理のＰＤＬデータの有無を確認し、未処理のＰＤＬデータがあればＳ５０１へ戻って、ＰＤＬの解析処理を継続し、ＰＤＬデータの解析処理がすべて済みであれば、Ｓ５１３へ進む。
【００７３】
Ｓ５１３では、ＲＩＰ１１３でＤＬの解析ができるように、生成したＤＬのクローズ処理を行い、クローズしたＤＬのアドレスをジョブコントロール処理部２０１へ通知して、ＰＤＬ解析処理を終了する。Ｓ５１３の、ＤＬのクローズ処理では、ＤＬヘッダ部に、生成したＤＬ全体のサイズ及び、ＤＬに含まれるオブジェクト数を記載するとともに、ＤＬの終端部にＤＬの終端であることの情報を書き込む。
【００７４】
（フォールバック処理）
続いて図５のフローチャート及び図６を参照してＳ５０７およびＳ５１０のフォールバック処理を説明する。フォールバック処理はジョブコントロール処理部２０１の制御の下、ＰＤＬ解析処理部２０４、ＲＩＰ処理部２０６及び画像格納処理部２０５の連携により実行される。
【００７５】
フォールバック処理を開始すると、Ｓ６０１で、ＰＤＬ解析処理部２０４が、ＤＬ格納バッファ２１０上に格納されているＤＬのクローズ処理を行う。ＰＤＬ解析処理部２０４は、さらにクローズしたＤＬのアドレスと、フォールバックにより生成されたＤＬであることの情報を付加してジョブコントロール処理部２０１へ通知する。
【００７６】
ジョブコントロール処理部２０１は、ＰＤＬ解析処理部２０４より、ＤＬ及びフォールバックの通知を受けると、ＲＩＰ処理部２０６及び画像格納処理部２０５を起動する。ＲＩＰ処理部２０６は、通知されたＤＬのレンダリングを行う（Ｓ６０２）。画像格納処理部２０５は、ＤＬをレンダリングしたラスタイメージを圧縮し、ＦＢバッファ２１１へ格納する（Ｓ６０３）。レンダリング及び圧縮格納処理は、ページを複数の部位に分割したバンド単位で行われる。全バンドのレンダリング及び圧縮格納処理が終了すると、Ｓ６０４へ進む。
【００７７】
詳細には、Ｓ６０２で、ＲＩＰ処理部２０６は、ジョブコントロール処理部２０１よりＤＬの通知を受けると、バンド単位でレンダリングを行う。ＲＩＰ処理部２０６は、レンダリングで生成されたラスタイメージをジョブコントロール処理部２０１を介して、画像格納処理部２０５へ通知する。本フォールバック処理で、ＲＩＰ処理部２０６の生成するラスタイメージは、フォールバック後に生成されるＤＬと合成を必要があるため、多値画像である。
【００７８】
Ｓ６０３で、画像格納処理部２０５は、ジョブコントロール処理部２０１より、ラスタイメージ、フォールバックバッファ２１１及び圧縮パラメータの指定を受ける。画像格納処理部２０５は、該ラスタイメージに対し、画像編集用画像処理部１１６のＪＰＥＧ圧縮モジュールを利用してＪＰＥＧ圧縮を施すこと等により、不可逆圧縮画像を生成する。画像格納処理部２０５はさらに、フォールバックバッファ２１１への該圧縮画像の格納を試み、フォールバックバッファ２１１に納まったか否かの圧縮結果を、ジョブコントロール処理部２０１へ通知する。
【００７９】
Ｓ６０４で、ジョブコントロール処理部２０１は、画像格納処理部２０５から通知を受けた、圧縮結果を参照し、フォールバックバッファ２１１にラスタイメージが格納されたか否かを判断する。圧縮結果がフォールバックバッファ２１１に収まらず格納されていなければ、Ｓ６０２へ戻り、ＲＩＰ処理及び圧縮格納処理を繰り返す。
【００８０】
再度実行されるＳ６０３では、ジョブコントロール処理部２０１はラスタイメージがより高い圧縮率で圧縮されるような圧縮パラメータを画像格納処理部２０５に通知することで、圧縮画像がフォールバックバッファ２１１に格納されるように動作する。圧縮パラメータとして、具体的にはＱレートが通知される。
【００８１】
Ｓ６０４で、ジョブコントロール処理部２０１が、フォールバックバッファ２１１にラスタイメージが格納されたと判断すると、Ｓ６０５へ進む。
【００８２】
Ｓ６０５で、ジョブコントロール処理部２０１はＰＤＬ解析処理部２０４へ、全バンドの圧縮されたラスタイメージのアドレスを通知する。圧縮されたラスタイメージのアドレスの通知を受けたＰＤＬ解析処理部２０４は、該圧縮されたラスタイメージを背景イメージとしたＤＬの生成を行い、フォールバック処理を終了する。ここで生成されるＤＬは、ＪＰＥＧ圧縮されたラスタイメージを描画するための制御命令であり、ＦＢバッファ２１１内の圧縮されたラスタイメージへのリンク情報を含む。この制御命令のサイズは数百バイト程度であり、ＤＬ全体からすると非常に小さいものになる。
【００８３】
以上のように図５に示したフォールバック処理によれば、この処理の開始時点までに生成されているＤＬをすべてレンダリングしてラスタイメージを生成し、そのラスタイメージをＪＰＥＧ圧縮してＦＢバッファ２１１に格納する。このＪＰＥＧ圧縮したラスタイメージとフォールバック処理後に引き続き生成されるＤＬをレンダリング時に合成することで、最終的なラスタイメージを生成することができる。具体的には、この合成処理は、フォールバック処理によって生成されたラスタイメージを背景として、ＤＬを展開することによって生成される描画オブジェクトを上書きする形で行われる。
【００８４】
図６は、フォールバック処理におけるＲＡＭ１０４上のＤＬ格納バッファ２１０及びフォールバクバッファ２１１の模式図である。図６(a)はフォールバック開始時の、各バッファの状態を表している。ＤＬ格納バッファ２１０には図４のＰＤＬ解析処理で生成したＤＬが格納され、フォールバックバッファ２１１には図５のフォールバック処理で画像格納処理部２０５が圧縮したラスタ画像が格納される。
【００８５】
図６（ａ）の符号７０３はＰＤＬ解析処理部２０４が生成したＤＬである。このＤＬがフォールバック処理において、ＲＩＰ処理部２０６でラスタライズされ、画像格納処理部２０５で圧縮されてフォールバックバッファ２１１へ格納される。
【００８６】
図７（ｂ）はフォールバック処理終了時の各バッファの状態を表しており、フォールバックバッファ２１１には、画像格納処理部２０５により、ＪＰＥＧ圧縮されたラスタ画像が格納されている。ＤＬ格納バッファ２１０には、前記Ｓ６０５で生成される、前記圧縮されたラスタ画像を背景画像として合成するためのＤＬが格納されている。また、該背景画像として合成するためのＤＬは、ＪＰＥＧ圧縮されたラスタイメージを描画するための制御命令であり、フォールバックバッファ内の圧縮された画像へのリンク情報を含む。
【００８７】
以上、本実施例によれば、地紋データや電子透かし、アノトデータ等の特殊パターンを含むＰＤＬデータを受信したときに、当該特殊パターンからＤＬを生成するのに先立ってフォールバックを発生させる。これにより、特殊パターンを含まないＤＬをレンダリングし圧縮することで、ＤＬ格納バッファ２１０に空きを作り、特殊パターンのＤＬが格納されることを保証する。これにより、特殊パターンのＤＬ生成中にフォールバックが発生する可能性を低減させ、特殊パターンに非可逆圧縮であるＪＰＥＧ圧縮がかかることによる特殊パターンの画質劣化を低減させることができる。
【００８８】
さらに、本実施例によれば、特殊パターンを受信した場合に、ＤＬ格納バッファ２１０に特殊パターンを描画するＤＬを格納できる、十分な空きがあればフォールバック処理を行わない。これにより、無駄なフォールバック処理による、画質劣化や処理速度の低下を招くことがない。
【実施例３】
【００８９】
以下、実施例３について説明する。本実施例におけるカラーＳＦＰの、コントローユニットの構成、コントローラソフトウェアの構成及び、ＰＤＬ印刷処理の基本的な動作は、実施例１及び２で説明した図１及び図２で示すものと同一であるため、説明を割愛する。
【００９０】
以下、本実施例における、ＰＤＬ解析処理部２０４について、図７から図１２を参照して説明する。本実施例におけるカラーＳＦＰでは、図３に例示されるＰＤＬデータに加え、図７に例示するＰＤＬデータの印刷をおこなう。
【００９１】
（ＰＤＬデータ）
図７は、画像データの描画オブジェクトが無い部分だけに地紋パターンが描画されるパターンである下書き地紋パターンを付加した画像出力を得るためのＰＤＬデータである。ホストコンピュータ上では図の上側からデータを生成し、順次カラーＳＦＰへ通知される。すなわち、地紋パターンを描画する２値ビットマップ描画命令（８０１）が初めに生成され、カラーＳＦＰへ通知され、続いて、地紋パターンを付加する前の画像を描画するための描画命令群（８０２）が生成され、通知される。なお、２値ビットマップ描画命令には、下書き地紋を描画するための命令であることを示すタグ情報が付加されており、該命令の解析時に、上書き地紋や電子透かし用の命令と区別して、下書き地紋用であることを特定することを容易に行うことができる。
【００９２】
（ＰＤＬ解析処理）
ここで、本実施例のＰＤＬ解析処理部２０４による処理について図８のフローチャートを参照して説明する。
【００９３】
ＰＤＬ解析処理部２０４は、図３及び図７に例示されるＰＤＬデータが通知されると、順次データの解析を行い（Ｓ９０１）、解析の結果及び現在の状態に応じて処理の分岐を行う（Ｓ９０２、Ｓ９０４、Ｓ９０５）。
【００９４】
Ｓ９０１のＰＤＬ解析結果が、下書き地紋である場合、Ｓ９０３へ進み、下書き地紋用のＤＬを生成する。下書き地紋用ＤＬは、ＲＩＰ１１３で描画に使用する情報部分については、他の２値ビットマップを描画するＤＬコマンドと変わりはないが、ＲＩＰ１１３では読み飛ばされる領域に、下書き地紋用ＤＬであることを示す情報が埋め込まれる。また、下書き地紋用のＤＬのサイズは、ＦＢ発生時に別途追加の必要な、フォールバック用背景描画ＤＬのサイズも含めておき、Ｓ９１３でのＤＬ追加処理で利用する。
【００９５】
Ｓ９０３で下書き地紋用ＤＬを生成したのち、Ｓ９１１へ進む。  
一方、Ｓ９０１でＰＤＬ解析結果が、下書き地紋の描画命令出なかった場合は、Ｓ９０４、Ｓ９０５へ進み、ＰＤＬデータの解析の結果及び現在の状態に応じて処理の分岐を行う。
【００９６】
現在の状態が、特殊パターンモードである場合（Ｓ９０４；Ｙｅｓ）、又は特殊パターンを示す描画命令ではない場合（Ｓ９０５；Ｙｅｓ）、Ｓ９１０のＤＬ生成処理へ進む。ここで、前記現在の状態は、ＰＤＬ解析処理の起動時には、通常モードに初期化されており、Ｓ９０５で、初めて特殊パターン描画を示す描画命令を検知したときに、Ｓ９０６で特殊パターンモードに設定される。Ｓ９０５の特殊パターンモードの判定処理により、一度特殊パターン描画を示す描画命令を検知したのちは、特殊パターン描画命令の検知を省略し高速処理を行うことができる。
【００９７】
Ｓ９０５の特殊パターン判定処理では、ＰＤＬデータの解析の結果、２値ビットマップに含まれるタグ情報や、アノトパターン開始のタグ情報により、特殊パターンか否かの判定を行う。なお、本実施例ではＰＤＬデータに含まれる各種タグ情報を利用して、特殊パターンの判定を行うとしているが、描画命令の組み合わせや、ビットマップ画像やダウンロード文字のパターン認識を用いて、特殊パターンの判定を行ってもよい。
【００９８】
Ｓ９０６で特殊パターンモードの設定を行った後、Ｓ９０７では、特殊パターンを描画するために生成されるＤＬの容量の見積もりを行う。ＤＬ容量の見積もりにおいて、特殊パターンが、地紋データ及び電子透かしの場合は、２値ビットマップのサイズとＤＬ中で２値ビットマップを描画するコマンドのサイズより見積もることができる。また、特殊パターンがアノトパターンの場合は、ダウンロード文字の容量と、用紙サイズより見積もることができる。
【００９９】
Ｓ９０８では、Ｓ９０７で見積もった特殊パターンの描画のためのＤＬの容量と、ＲＡＭ１０４上のＤＬ格納バッファ２１０の残容量を比較する。残容量の方が多ければ、Ｓ９１０のＤＬ生成処理へ進み、残容量の方が少なければ、Ｓ９０９のフォールバック処理へ進む。
【０１００】
Ｓ９０９のフォールバック処理では、ＤＬ格納バッファ２１０内の空き領域を確保するために現在生成済みのＤＬを一度レンダリングし、圧縮格納する。その後処理は、Ｓ９１０へ進む。本実施例のフォールバック処理については後ほど詳述する。
【０１０１】
Ｓ９１０では、Ｓ９０１のＰＤＬデータの解析結果に基づいて、ＤＬの生成処理を行い、Ｓ９１１へ進む。
【０１０２】
Ｓ９１１では、Ｓ９１０で生成したＤＬの容量と、ＤＬ格納バッファ２１０の残容量を比較する。すなわち、この時点で文書情報（描画命令群８０２）及び付加情報（２値ビットマップ描画命令８０１）から生成されている中間データ（ＤＬ）の容量と、ＤＬ格納バッファ２１０の残容量とを比較する。残容量の方が多ければ、Ｓ９１３へ進み、残容量が少なければ、Ｓ９１２でフォールバック処理をおこなう。なおＳ９０９とＳ９１２のフォールバック処理は同一の処理である。
【０１０３】
Ｓ９１３では、Ｓ９１０で生成したＤＬをＤＬ格納バッファ２１０へ追加すると共に、残容量から追加したＤＬのサイズ分減じた後、Ｓ９１４へ進む。
【０１０４】
Ｓ９１４では未処理のＰＤＬデータの有無を確認する。未処理のＰＤＬデータがあればＳ９０１へ戻って、ＰＤＬの解析処理を継続し、ＰＤＬデータをすべて処理済みであれば、Ｓ９１５へ進む。
【０１０５】
Ｓ９１５では、ＲＩＰ１１３でＤＬの解析ができるように、生成したＤＬのクローズ処理を行い、クローズしたＤＬのアドレスをジョブコントロール処理部２０１へ通知して、ＰＤＬ解析処理を終了する。Ｓ９１５のＤＬのクローズ処理では、ＤＬヘッダ部に、生成したＤＬ全体のサイズ、及びＤＬに含まれるオブジェクト数を記載するとともに、ＤＬの終端部にＤＬの終端であることの情報を書き込む。
【０１０６】
（フォールバック処理）
続いて図９のフローチャート及び図１０を参照してＳ９０９およびＳ９１２のフォールバック処理を説明する。フォールバック処理はジョブコントロール処理部２０１の制御の下、ＰＤＬ解析処理部２０４、ＲＩＰ処理部２０６及び画像格納処理部２０５の連携により実行される。
【０１０７】
フォールバック処理を開始すると、Ｓ１００１で、ＰＤＬ解析処理部２０４は、ＤＬ格納バッファ２１０上に格納されているＤＬのクローズ処理を行い、Ｓ１００２へ進む。
【０１０８】
Ｓ１００２で、ＰＤＬ解析処理部２０４は、クローズしたＤＬ中に下書き地紋のＤＬオブジェクトが含まれるか判断し、含まれている場合はＳ１００３へ進む。下書き地紋が含まれていない場合は、前記クローズしたＤＬが、フォールバックにより生成されたＤＬであることの情報を付加してクローズしたＤＬのアドレスを、ジョブコントロール処理部２０１へ通知する。
【０１０９】
Ｓ１００３では、ＰＤＬ解析処理部２０４は、一度クローズしたＤＬの分離処理を行う。ＤＬの分離処理は、フォールバックのレンダリング対象から、画像描画用のＤＬと下書き地紋のＤＬとを分離し、ＤＬの再構成を行う処理である。ＤＬを分離し、画像描画用のＤＬに対してのみ、フォールバックにおけるレンダリング及び圧縮処理を行うことで、下書き地紋のパターンが圧縮による劣化をうけないようにする。ＰＤＬ解析処理部２０４は、分離処理で再構成したＤＬを、ジョブコントロール処理部２０１へ通知する。ＤＬ分離処理の詳細については図１０を参照して後述する。
【０１１０】
ジョブコントロール処理部２０１は、ＰＤＬ解析処理部２０４より、ＤＬ及びフォールバックの通知を受けると、ＲＩＰ処理部２０６及び画像格納処理部２０５を起動し、通知されたＤＬのレンダリング及び圧縮格納処理を行う（Ｓ１１０４、Ｓ１１０５）。レンダリング及び圧縮格納処理は、ページを複数の部位に分割したバンド単位で行われ、全バンドのレンダリング及び圧縮格納処理が終了すると、Ｓ１００６へ進む。
【０１１１】
Ｓ１００４で、ＲＩＰ処理部２０６は、ジョブコントロール処理部２０１よりＤＬの通知を受けると、Ｓ１００３で分離された画像描画用のＤＬを含むＤＬ（下書き地紋のＤＬを含まないＤＬ）に対してバンド単位でレンダリングを行う。レンダリングの対象となるＤＬについては図１０を参照して後述する。レンダリングで生成されたラスタイメージをジョブコントロール処理部２０１を介して、画像格納処理部２０５へ通知する。本フォールバック処理で、ＲＩＰ処理部２０６の生成するラスタイメージは、フォールバック後に生成されるＤＬと合成を必要があるため、多値画像である。
【０１１２】
Ｓ１１０５で、画像格納処理部２０５は、ジョブコントロール処理部２０１より、Ｓ１００４で生成されたラスタイメージ、フォールバックバッファ２１１及び圧縮パラメータの指定を受ける。画像格納処理部２０５は、該ラスタイメージに対し、画像編集用画像処理部１１６のＪＰＥＧ圧縮モジュールを利用してＪＰＥＧ圧縮を施し、圧縮画像を生成する。画像格納処理部２０５はさらに、フォールバックバッファ２１１への該圧縮画像の格納を試み、フォールバックバッファ２１１に納まったか否かの圧縮結果を、ジョブコントロール処理部２０１へ通知する。
【０１１３】
Ｓ１００６で、ジョブコントロール処理部２０１は画像格納処理部２０５から通知を受けた、圧縮結果を参照し、フォールバックバッファ２１１にラスタイメージが格納されたか否かを判断する。圧縮結果がフォールバックバッファ２１１に収まらず格納されていなければ、Ｓ１１０４へ戻り、ＲＩＰ処理及び圧縮格納処理を繰り返す。
【０１１４】
再度実行されるＳ１００５では、ジョブコントロール処理部２０１はラスタイメージがより高い圧縮率で圧縮されるような圧縮パラメータを画像格納処理部２０５に通知することで、圧縮画像がフォールバックバッファ２１１に格納されるように動作する。圧縮パラメータとして、具体的にはＱレートが通知される。
【０１１５】
Ｓ１００６で、ジョブコントロール処理部２０１が、フォールバックバッファ２１１に全バンドのラスタイメージが格納されたと判断すると、Ｓ１００７へ進む。
【０１１６】
Ｓ１００７で、ジョブコントロール処理部２０１はＰＤＬ解析処理部２０４へ、全バンドの圧縮されたラスタイメージのアドレスを通知する。圧縮されたラスタイメージのアドレスの通知を受けたＰＤＬ解析処理部２０４は、該ラスタイメージを背景イメージとしたＤＬの生成を行い、フォールバック処理を終了する。
【０１１７】
ここで、Ｓ１００３のＤＬ分離処理の内容を、図１０を参照して説明する。図１０は、ＤＬ分離処理の前後の、ＲＡＭ１０４上のＤＬ格納バッファ２１０及び該バッファに含まれるＤＬの模式図である。図１０（a）は、ＤＬ分離処理を実行する前のＤＬ格納バッファ２１０の一例であり、図１０（b）は、図１０（a）にＤＬ分離処理適用した後のＤＬ格納バッファ２１０の状態を表している。
【０１１８】
符号１１０２は、白塗り等の背景を描画する背景描画ＤＬである。符号１１０３は、下書き地紋を２値ビットマップとして描画するＤＬである。符号１１０４は、地紋が付加される本来の画像を描画するためのＤＬ群である。
【０１１９】
ＤＬクローズ直後の図１０(a)では、ＤＬが、ＤＬ格納バッファ２１０の先頭（図の下側）から、背景描画ＤＬ１１０２、下書き地紋用ＤＬ１１０３、画像描画用ＤＬ１１０４の順で格納されている。また、図１０の符号１１０６は、クローズされたＤＬの先頭を表しており、図１０の符号１１０７はクローズされたＤＬの終端を表している。
【０１２０】
Ｓ１００３のＤＬ分離処理は、画像描画用ＤＬ１１０４のみをレンダリング処理するために、一度クローズしたＤＬから、画像描画用ＤＬ１１０４のみを抜き出し、ＤＬの再構成を行う。ＤＬ格納バッファ２１０上の画像描画用ＤＬ１１０４の格納されている領域と、空き領域を利用して、下書き地紋フォールバック背景描画用ＤＬ１１０５と画像描画用ＤＬ１１０４からなるＤＬを再構成する。なお、下書き地紋フォールバック背景描画用ＤＬ１１０５は、画像描画用ＤＬ１１０４で描画されない部分が透明度１００％を持つような背景を描画するためのＤＬである。Ｓ１００３のＤＬ分離処理を開始する際には、ＤＬ格納バッファ２１０に下書き地紋フォールバック背景描画用ＤＬ１１０５を格納できるサイズの空きがあることが必要である。なお、下書き地紋フォールバック背景描画用ＤＬ１１０５のサイズは、３０バイト程度のものであり、非常に小さいサイズである。
【０１２１】
Ｓ１００３のＤＬ分離処理の結果、図１０(b)に示すように、下書き地紋フォールバック背景描画用ＤＬ１１０５と画像描画用ＤＬ１１０４からなるＤＬが、メモリ上に順に配置されたＤＬが再構築され、ジョブコントロール処理部２０１へ通知される。
【０１２２】
ＲＩＰ１１３は、ＤＬの先頭１１０５から順次ＤＬの解析を行いながら、ラスタライズを行うため、メモリ上に、描画順でＤＬを配置しておく必要がある。本ＤＬ分離処理により、下書き地紋ＤＬ１１０３を除いたＤＬを再構成することで、下書き地紋を除いた部分のみのフォールバック処理が可能となる。すなわち、画像描画用ＤＬ１１０４及び下書き地紋フォールバック背景描画用ＤＬ１１０５についてＤＬを再構成し、当該再構成したＤＬに対してフォールバック処理を行う。
【０１２３】
以上、本実施例によれば、下書き地紋パターンを含むＰＤＬデータを受信した場合に、ＤＬ分離処理により、ＤＬを再構成することで、下書き地紋パターンをフォールバックのレンダリング対処から外す。これにより、地紋パターンの描画用ＤＬオブジェクトがＤＬの途中に生成される下書き地紋であっても、地紋パターンをファールバックのレンダリング及び圧縮の対象外することができる。結果、下書き地紋パターンに対しては、フォールバックによる非可逆圧縮が行われないため、最終的な出力画像において劣化の無い下書き地紋パターンが描画される。
【０１２４】
また、上書き地紋、電子透かし、アノトデータなどの特殊パターンを含むＰＤＬデータは、実施例１と同様に、必要に応じて特殊パターンのＤＬ生成処理に先立ってフォールバックを発生させるため、特殊パターンの画質劣化は発生しない。さらに、上書き地紋、電子透かし、アノトデータを含むＰＤＬデータでは、ＤＬ分離処理の実施の必要が無いため、より高速な処理が可能である。
【０１２５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１２６】
113  RIP
104  RAM
201  ジョブコントロール処理部
204  PDL解析処理部
206  RIP処理部
【図１】
0005814591.tif 000002
【図２】
0005814591.tif 000003
【図３】
0005814591.tif 000004
【図４】
0005814591.tif 000005
【図５】
0005814591.tif 000006
【図６】
0005814591.tif 000007
【図７】
0005814591.tif 000008
【図８】
0005814591.tif 000009
【図９】
0005814591.tif 000010
【図１０】
0005814591.tif 000011