(57)【要約】【課題】ＰＤＬデータに代表される処理データに含まれるパターン描画をラスターイメージプロセッサの複雑化を防ぎながら高速に処理する。【解決手段】描画処理を行う処理部を備えた画像形成装置であって、印刷データに前記処理部が処理不可であるパターン描画命令が含まれているか否かを判定する判定手段と、前記処理部にて処理不可であるパターン描画命令が含まれていると判定された場合、当該処理不可であるパターン描画命令を前記処理部にて処理可能なパターン描画命令となるように正規化する正規化手段と、前記正規化手段にて正規化されたパターン描画命令に基づいて前記処理部に描画処理を行わせる制御手段とを有する。【選択図】  図１
2015203979.tif 000002
【特許請求の範囲】
【請求項１】
描画処理を行う処理部を備えた画像形成装置であって、
印刷データに前記処理部が処理不可であるパターン描画命令が含まれているか否かを判定する判定手段と、
前記処理部にて処理不可であるパターン描画命令が含まれていると判定された場合、当該処理不可であるパターン描画命令を前記処理部にて処理可能なパターン描画命令となるように正規化する正規化手段と、
前記正規化手段にて正規化されたパターン描画命令に基づいて前記処理部に描画処理を行わせる制御手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記処理部は、ラスターイメージプロセッサであり、
前記画像形成装置は、ソフトウェアを実行する、前記ラスターイメージプロセッサとは異なるプロセッサを更に有し、
前記ラスターイメージプロセッサによる描画処理は、前記異なるプロセッサによる描画処理よりも高速であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記判定手段は、前記パターン描画命令において、パターンを構成する描画単位であるパターンセルの描画の方向として前記処理部が描画可能な方向とは逆の方向が指定されている場合に、前記処理部にて処理不可と判定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記正規化手段は、前記パターン描画命令において、前記描画の方向として前記処理部が描画可能な方向とは逆の方向が指定されている場合、前記パターンの描画を開始する原点を特定し、当該原点から前記処理部が描画可能な方向に順に前記描画単位を描画するように描画命令を正規化することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記判定手段は、前記パターン描画命令において、パターンを構成する描画単位であるパターンセルの描画の方向として前記処理部が描画可能な方向に対し斜めの方向が指定されている場合に、前記処理部にて処理不可と判定することを特徴とする請求項２に記載の画像形成装置。
【請求項６】
前記正規化手段は、前記パターン描画命令において、前記描画の方向として前記処理部が描画可能な方向に対し斜めの方向が指定されている場合、前記パターンの描画を開始する原点を特定し、前記プロセッサを用いて前記パターン描画命令に基づく新たなパターンセルを生成し、前記原点から前記処理部が描画可能な方向に順に前記新たなパターンセルを描画するように描画命令を正規化することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記正規化手段は、前記新たなパターンセルを生成する場合、前記処理部が描画可能な方向における前記新たなパターンセルのサイズおよび前記パターンセルを配置する間隔を求めることを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記判定手段は、前記パターン描画命令において前記パターンセルが所定の角度に回転して描画されるように指定されている場合に、斜めの方向が指定されているとして処理不可と判定することを特徴とする請求項５乃至７のいずれか一項に記載の画像形成装置。
【請求項９】
前記判定手段は、前記処理部が描画可能な方向における前記パターンを構成する描画単位であるパターンセルのサイズが、当該パターンセルを配置する間隔のサイズよりも大きい場合に、前記パターンセルが重畳しているとして処理不可と判定することを特徴とする請求項２に記載の画像形成装置。
【請求項１０】
前記制御手段は、前記描画の方向として前記処理部が描画可能な方向とは逆の方向が指定され、かつ、前記パターンセルが重畳して描画されるように指定されている場合、前記正規化手段による正規化を行わず、前記処理部の代わりに前記プロセッサにて前記パターン描画命令を処理させることを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記パターン描画命令において、前記描画の方向として前記処理部が描画可能な方向とは逆の方向が指定され、かつ、前記パターンが重畳して描画されるように指定されている場合、
前記正規化手段は、前記パターンの描画を開始する原点を特定し、前記プロセッサを用いて前記パターン描画命令に基づく新たなパターンセルを生成し、前記新たなパターンセルを前記原点から前記処理部が描画できる方向に順に描画するように描画命令を正規化することを特徴とする請求項９に記載の画像形成装置。
【請求項１２】
前記制御手段は、前記正規化手段にて正規化されたパターン描画命令を前記処理部が解釈可能な中間データの形式に変換することを特徴とする請求項１乃至１１のいずれか一項に記載の画像形成装置。
【請求項１３】
描画処理を行う処理部を備えた画像形成装置の制御方法であって、
印刷データに前記処理部が処理不可であるパターン描画命令が含まれているか否かを判定する判定工程と、
前記処理部にて処理不可であるパターン描画命令が含まれていると判定された場合、当該処理不可であるパターン描画命令を前記処理部にて処理可能なパターン描画命令となるように正規化する正規化工程と、
前記正規化工程にて正規化されたパターン描画命令に基づいて前記処理部に描画処理を行わせる制御工程と、
を有することを特徴とする画像形成装置の制御方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか一項に記載の画像形成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置およびその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ホストコンピュータの処理速度向上に伴い、ホストコンピュータで生成される印刷データにて表現される描画コマンドなどの機能も複雑化している。この複雑な描画機能の一つとして、様々なパターン描画が挙げられる。
【０００３】
このような複雑なパターン描画の多様性に伴い、画像形成を行う処理も複雑化している。複雑化する画像形成処理は、その処理に対応するために画像形成装置内のラスターイメージプロセッサのコスト高につながりかねない。例えばハードウェア回路で構成されたライスターイメージプロセッサであれば、回路構成が複雑化する。このため、従来から、ラスターイメージプロセッサの複雑化を防ぎながら、複雑なパターン描画の画像形成処理を行う技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３２６５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したような、複雑なパターン描画を高速に描画するための機能をハードウェアで実装すると、ハードウェア規模が大きくなり画像形成装置のコストを増大させるという課題がある。また、高度で複雑なパターン描画を、ＣＰＵを用いてソフトウェアで実装すると、ハードウェアで実装した場合と比較し、処理速度が低下するという課題がある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本願発明は、以下の構成を備える。すなわち、描画処理を行う処理部を備えた画像形成装置であって、印刷データに前記処理部が処理不可であるパターン描画命令が含まれているか否かを判定する判定手段と、前記処理部にて処理不可であるパターン描画命令が含まれていると判定された場合、当該処理不可であるパターン描画命令を前記処理部にて処理可能なパターン描画命令となるように正規化する正規化手段と、前記正規化手段にて正規化されたパターン描画命令に基づいて前記処理部に描画処理を行わせる制御手段と、
を有する。
【発明の効果】
【０００７】
本発明により、ラスターイメージプロセッサの複雑化を抑えながら、複雑なパターン描画を高速に描画することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】パターン描画を説明するための図。
【図２】ＰＤＬデータおよび中間データの構造を説明するための図。
【図３】本発明に係る画像形成装置内のハードウェア構成の例を示す図。
【図４】本発明に係る画像形成装置内で動作するソフトウェア構成の例を示す図。
【図５】本発明に係る画像形成装置内でのデータフローを説明するための図。
【図６】第一の実施形態に係るＰＤＬデータ解釈処理のフローチャート。
【図７】第一の実施形態に係るパターン描画への処理を説明するための図。
【図８】第一の実施形態に係るパターン描画への処理を説明するための図。
【図９】第一の実施形態に係るパターン描画への処理を説明するための図。
【図１０】第二の実施形態に係るＰＤＬデータ解釈処理のフローチャート。
【図１１】第二の実施形態に係るパターン描画への処理を説明するための図。
【図１２】第三の実施形態に係るＰＤＬデータ解釈処理のフローチャート。
【図１３】第三の実施形態に係るパターン描画の重なりを説明するための図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。まず、本願発明にて扱うパターン描画について説明する。パターン描画は、パターンセルと呼ばれる描画単位を繰り返し並べて描画する機能である。また、パターン描画はパターンセル間の距離、すなわち繰り返し間隔を指定することができる。
【００１０】
本願発明にて扱う複雑なパターン描画の一例として、繰り返し間隔として負の値をもつパターン描画がある。ここでの正負は、予め定められた方向を正の方向とした場合に、その逆の方向を負の方向とする。図１（ａ）は、繰り返し間隔（間隔１３）として負の値を持つパターン描画の描画結果例を示す。パターンセル１２は、パターン描画の繰り返しの描画単位であるパターンセルである。繰り返し間隔は、各パターンセルを配置して描画する際の間隔を示す。ここで、Ａｄｏｂｅ社のＰｏｓｔＳｃｒｉｐｔ（登録商標）に従い、右方向を正の方向とする座標系であるとすると、繰り返し間隔に正の値を指定すれば右方向（方向１０）に間隔をあけて繰り返し描画することができる。逆に、繰り返し間隔に負の値を指定すると、左方向（方向１１）にパターンセルを並べて描画することができる。
【００１１】
複雑なパターン描画の他の例として、繰り返し方向が斜めのパターン描画が挙げられる。図１（ｂ）は、パターンセル１４を斜め方向（方向１５）へ繰り返し描画する描画結果例を示す。ＰｏｓｔＳｃｒｉｐｔ（登録商標）は、ＣＴＭ命令と呼ばれる、ＣＴＭパラメータを演算し、更新する命令を備える。ＰｏｓｔＳｃｒｉｐｔ（登録商標）を解釈できる画像形成装置は、ＣＴＭパラメータに従って描画データに対して回転を含む変形処理を行う。斜め方向への繰り返し描画とは、ＣＭＴパラメータに回転を意味するパラメータを指定し、それによってパターン描画を斜め方向に繰り返し描画する処理を指す。
【００１２】
＜第一の実施形態＞
［ＰＤＬデータの説明］
本実施形態に係る印刷データであるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データの構造を、図２（ａ）を用いて説明する。なお、本実施形態において、ＰＤＬデータとして、ＰｏｓｔＳｃｒｉｐｔ（登録商標）の構成を例に挙げて説明するが、これに限定するものではない。
【００１３】
ＰＤＬデータ１００は、以下のＰＤＬコマンドを一つ以上含む。ＰＤＬコマンドは、グラフィック描画命令１１０、文字描画命令１２０、ラスタービットマップ描画命令１３０、パターン描画命令１４０、ＣＴＭ命令１５０を含む。
【００１４】
グラフィック描画命令１１０は、幾何学的な情報によって指定可能な図形の描画命令である。この幾何学的な情報には、二次元平面上の線分や、その集合によって表現可能な直線、二次元平面上のベジェ曲線に代表されるブレンディング関数で表現可能な曲線がある。また、この幾何学的な情報は、線分の色や幅、あるいは閉曲線の内部の色情報を指定することができる。なお、これらの幾何学的な情報に限定するものではなく、それ以外の情報を含んでもよい。例えば、二次元平面上のベジェ曲線の代わりにスプライン曲線など他の曲線の表現方法を用いてもよい。
【００１５】
文字描画命令１２０は、指定された文字を描画するための命令である。ラスタービットマップ描画命令１３０は、離散的な色情報を持つ二次元配列を描画するための描画命令である。
【００１６】
パターン描画命令１４０は、グラフィック描画命令１１０、文字描画命令１２０、ラスタービットマップ描画命令１３０に対する、一つ以上の描画命令をパターン描画する命令である。パターン描画命令１４０は、バウンディングボックス１４１、パターンセル１４２、繰り返し間隔１４３を含む。また、パターンセル１４２は、グラフィック描画命令１１０、文字描画命令１２０、ラスタービットマップ描画命令１３０を含む（不図示）。パターンセル１４２は、図１のパターンセル１２で示したように、描画命令によって繰り返し描画される単位を示している。また、繰り返し間隔１４３は、横方向の繰り返し間隔、および縦方向の繰り返し間隔を数値として有する。繰り返し間隔１４３は、横方向および縦方向それぞれＸＳｔｅｐ／ＹＳｔｅｐ命令で指定することができる（図２（ｂ）のテーブル２０参照）。
【００１７】
ＣＴＭ命令１５０は、ＣＴＭパラメータを変更することができる命令である。ＣＴＭ命令１５０による計算によって、それ以後のＣＴＭパラメータを変更することができる。ここでＣＴＭパラメータとは以下のような行列ないし配列で表現できるパラメータを指す。
2015203979.tif 000003
つまり、アフィン変換で知られている変換処理のためのパラメータを表現することができる。また、ＰｏｓｔＳｃｒｉｐｔ（登録商標）においては、ＣＴＭパラメータを以下のような配列としても表現することもできる。
2015203979.tif 000004
【００１８】
また、ＣＴＭ命令１５０による計算の方法は以下のとおりである。つまり、ＣＴＭ命令１５０の実行後の新しいＣＴＭパラメータは、ＣＴＭ命令に含まれるＣＴＭパラメータと、現状のＣＴＭパラメータとの行列演算で求めることができる。
【００１９】
新しいＣＴＭパラメータ＝（ＣＴＭ命令中のＣＴＭパラメータ）×（現状のＣＴＭパラメータ）
図２（ｂ）に、ＰｏｓｔＳｃｒｉｐｔにおける各命令のテーブル２０を示す。テーブル２０に示すように、命令郡は文字列で表現される。ＰＤＬ解釈処理（Ｓ２０）は、ＰＤＬデータ１００の中からこれらの命令を特定し解釈した上で、中間データ２００に変換する処理である。
【００２０】
［中間データの説明］
本実施形態に係る印刷データである中間データ２００の構造を、図２（ｃ）を用いて説明する。図２（ｃ）に示すように、中間データ２００は、グラフィック描画２１０、ラスタービットマップデータ２２０、パターン描画２３０、およびＣＴＭ２４０を含む。これらの命令はそれぞれ、ＰＤＬデータ１００が有する描画命令とほぼ等価な意味を持つ。つまり、中間データ２００は、ＰＤＬデータ１００をＲＩＰ（ラスターイメージプロセッサ）３０５が解釈可能（処理可能）なデータ形式に変換したデータである。ＲＩＰ３０５は、ＰＤＬデータ１００で表現可能な描画命令の内、その一部を、元々表現されていた内容とは異なる内容に解釈することがある。すなわちＲＩＰ３０５にとって、正しく解釈可能な（処理可能な）描画命令と、そうでない（処理不可能な）描画命令とがある。ＰＤＬデータ処理部４０２によるＰＤＬデータ解釈処理（Ｓ２０）は、ＰＤＬデータ解釈し、かつＲＩＰ３０５が解釈可能な中間データ２００への変換を行う処理である。
【００２１】
本実施形態において、ＰＤＬデータ１００で表現可能ではあるが、中間データ２００に含めることができない命令（つまりＲＩＰ３０５が処理不可能な描画命令）として以下のものが挙げられる。
【００２２】
第一に、中間データ２００は、文字描画命令１２０を持つことができない。ＰＤＬデータ処理部４０２は、文字描画命令１２０をラスタービットマップデータ２２０あるいはグラフィック描画２１０に変換する。
【００２３】
第二に、中間データ２００は、繰り返し間隔１４３中に負の値を設定されたパターン描画命令１４０を持つことができない。通常、負の値を複数のビットで表現する場合、最上位のビットを符号ビットとして扱う。しかしＲＩＰ３０５は負の値をサポートしていないため、最上位のビットの値が負数を表す「１」である場合、ＲＩＰ３０５は、その複数のビットで表現される数を大きな正の値として扱ってしまう。すなわち、繰り返し間隔１４３中に負の値が設定されてしまうと、ＲＩＰ３０５は、元々表現されていた内容とは異なる内容の描画処理を実行してしまう。このような描画処理を防ぐため、ＰＤＬデータ処理部４０２は、繰り返し間隔中に負の値が設定されたＰＤＬデータを、繰り返し間隔１４３中に負の値が設定された中間データ２００に変換することはしない。
【００２４】
第三に、中間データ２００は、ＣＴＭ命令１５０の回転処理によって斜め方向に繰り返し描画する必要があるパターン描画命令１４０を持つことができない。
【００２５】
このようなＲＩＰ３０５が処理できないために中間データ２００として持つことができないパターン描画命令１４０は、ＰＤＬデータ処理部４０２による正規化処理によって変換された上で中間データ２００の中に書き込まれる。本明細書において、ＲＩＰ３０５が処理できない描画命令を、ＲＩＰ３０５が処理可能な描画命令に変換することを“正規化する”と記載する。
【００２６】
［画像形成装置の説明］
本実施形態において、ホストコンピュータ（不図示）などが生成したＰＤＬデータ１００を画像形成装置３００が取得し、画像形成処理を行う。以下に画像形成装置３００内のハードウェア構成の例について、図３を用いて説明する。
【００２７】
ＣＰＵ３０１は汎用プロセッサであり、ＲＡＭ３０２に保存された命令を実行することにより、ＰＤＬ解釈処理などを実現するソフトウェアモジュール４００を実行する。ＲＡＭ３０２は、揮発性の記憶媒体である。ＲＡＭ３０２は、ホストコンピュータ（不図示）から得たＰＤＬデータ１００やＣＰＵ３０１が実行すべき命令などを保存する。またＲＡＭ３０２は、ＰＤＬデータ１００やＣＰＵ３０１が実行すべき命令を、バス３０８を介して画像形成装置３００内の各部位に転送する。
【００２８】
ＨＤＤ３０３は、不揮発性の記憶媒体である。ＨＤＤ３０３は、ＣＰＵ３０１が処理すべき命令やデータを保存しておくことで、電源断によってＲＡＭ３０２上から失われるＣＰＵ３０１が処理すべき命令やデータを保存しておくことができる。また、本実施形態では、ＨＤＤ３０３はＲＡＭ３０２より容量が大きい。よって、容量が大きいためにＲＡＭ３０２に保存できない、画像形成用ビットマップデータ６００等を保存することもできる。もちろん、本実施形態では、不揮発性の記憶媒体としてＨＤＤを例に示しているが、ＨＤＤに代わる記憶媒体を使用してもよい。
【００２９】
ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）３０４は、ＲＩＰ処理（Ｓ３０）や画像処理（Ｓ４０）を行う構成を備えた集積回路である。ＲＩＰ３０５および画像処理ＨＷ３０６は、ＡＳＩＣ３０４上にハードウェア構成の回路として実装される。本実施形態において、ＲＩＰ３０５は、正の方向に対しては描画可能であるものとする。つまり、ＲＩＰ３０５（ＡＳＩＣ３０４）は、ラスターイメージプロセッサである。ラスターイメージプロセッサによる描画処理は、汎用プロセッサであるＣＰＵ３０１が実行するソフトウェアによる描画処理よりも高速である。電子写真エンジン３０７は、ＡＳＩＣ３０４が生成した画像形成用ビットマップデータ６００を用いて、紙等の可視媒体上に可視像を形成する。なお、本実施形態では電子写真エンジン３０７を用いて可視媒体上に可視像を得ているが、それ以外の機構を用いてもよい。例えば、液晶パネル、有機ＥＬパネル、凸版印刷エンジン、オフセット印刷電子写真エンジン、インクジェット印刷電子写真エンジンなどが挙げられる。バス３０８は、上述した各部位を接続し、データや命令を相互にやり取りすることを可能にする。
【００３０】
［ソフトウェアモジュールの説明］
ＣＰＵ３０１上で動作するソフトウェアモジュール４００を、図４を用いて説明する。通信制御部４０１は、ホストコンピュータ（不図示）から受信したＰＤＬデータ１００をＲＡＭ３０２に記録する。ＰＤＬデータ処理部４０２は、ＰＤＬデータ１００に対する解釈処理を行い、中間データ２００を生成する。ＲＩＰ制御部４０３は、ＰＤＬデータ処理部４０２が生成した中間データ２００とＡＳＩＣ３０４上に実装されたＲＩＰ３０５を用いて、コントーンラスタービットマップデータ５００を生成する。なお、コントーンラスタービットマップデータとは、８ｂｉｔや１０ｂｉｔなどのビット深度を持つ多階調で、かつＣＭＹＫやＲＧＢやＧｒａｙなどの色空間で色を表現し、また離散的なピクセル単位でこれら色の情報を持つ画像のことである。
【００３１】
ソフトＲＩＰ４０４は、ＣＰＵ３０１上でした中間データ２００に基づいてコントーンラスタービットマップデータ５００を生成する。ソフトＲＩＰ４０４は、ハードウェアとしての回路であるＲＩＰ３０５が解釈できないＰＤＬデータ１００で指定可能な一部の命令を解釈し、ラスタービットマップデータ２２０に変換する。ここでのＲＩＰ３０５が解釈できない命令（すなわちＲＩＰ３０５が処理不可である描画命令）とは、ＰＤＬデータ１００では表現可能であるが、中間データ２００に含めない命令である。このような命令が中間データ２００に含めない理由としては、ＲＩＰ３０５が、このような命令をサポートしておらず、ユーザーが意図したものと異なる描画結果を導いてしまう可能性があるためである。
【００３２】
画像処理部４０６は、ＡＳＩＣ３０４上に実装された画像処理ＨＷ３０６とコントーンラスタービットマップデータ５００とを用いて画像形成用ビットマップデータ６００を生成する。電子写真エンジン制御部４０５は、電子写真エンジン３０７と画像形成用ビットマップデータ６００とを用いて画像形成を行う。
【００３３】
［ＰＤＬデータのデータフロー］
画像形成装置３００およびソフトウェアモジュール４００が、ＰＤＬデータ１００に対して行う処理について、図５を用いて概説する。本実施形態において、画像形成装置３００は、入力データとしてＰＤＬデータ１００をホストコンピュータ（不図示）からネットワークを介して受信する。ネットワークとしては例えば、ＩＥＥＥ８０２．３やＩＥＥＥ８０２．１１に代表される規格によって実施することができる。受信したＰＤＬデータ１００は、ＲＡＭ３０２やＨＤＤ３０３に保存される。
【００３４】
Ｓ２０にて、ＰＤＬデータ処理部４０２は、ＣＰＵ３０１上でＰＤＬデータ１００の解釈処理を行い、中間データ２００を生成する。ＰＤＬデータ解釈処理（Ｓ２０）の詳細については後述する。
【００３５】
Ｓ３０にて、ＲＩＰ制御部４０３は、ＡＳＩＣ３０４上で操作するＲＩＰ３０５を用いて中間データ２００のＲＩＰ処理を行い、コントーンラスタービットマップデータ５００を生成する。ＲＩＰ処理（Ｓ３０）にて、ＡＳＩＣ３０４は、中間データ２００に含まれるグラフィック描画２１０、ラスタービットマップデータ２２０、パターン描画２３０、およびＣＴＭ２４０を解釈し、コントーンラスタービットマップデータ５００を生成する。さらに、ＲＩＰ制御部４０３は、コントーンラスタービットマップデータ５００をＲＡＭ３０２またはＨＤＤ３０３に保存する。なお、本実施形態において、ＲＩＰ処理（Ｓ３０）は、ＡＳＩＣ３０４上で実行される例を示しているが、ＡＳＩＣ３０４以外で実行されてもよい。例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）、メニーコアＣＰＵなどを用いてもよい。すなわち、ＲＩＰ処理は、汎用プロセッサであるＣＰＵ３０１とは異なる、ＲＩＰ処理を汎用プロセッサよりも高速に実行できるプロセッサ（ラスターイメージプロセッサ）上で実行されれば良い。
【００３６】
Ｓ４０にて、画像処理部４０６は、ＡＳＩＣ３０４上の画像処理ＨＷ３０６を用いて、コントーンラスタービットマップデータ５００を入力として、画像形成用ビットマップデータ６００を生成する。画像形成用ビットマップデータ６００は、ＡＳＩＣ３０４により、ＲＡＭ３０２またはＨＤＤ３０３に保存される。また、画像処理（Ｓ４０）には、ディザ処理が含まれ、画像形成用ビットマップデータ６００はディザ画像となる。なお、本実施形態では画像処理（Ｓ４０）はＡＳＩＣ３０４上で実行される例を示しているが、ＣＰＵ３０１により実行されてもよい。
【００３７】
電子写真エンジン制御部４０５は、電子写真エンジン３０７を用いて画像形成用ビットマップデータ６００を入力データとし、紙面上への印刷等の画像形成を行う。
【００３８】
［処理フロー］
本実施形態に係るＰＤＬデータ解釈処理（Ｓ２０）に関する、画像形成装置３００による処理を、図６を用いて説明する。本処理フローは、画像形成装置３００が備えるＣＰＵ３０１がＨＤＤ３０３等の記憶部に格納されたプログラムを読み出して実行することにより実現されるＰＤＬデータ処理部４０２により行われる。
【００３９】
Ｓ２０１にて、ＰＤＬデータ処理部４０２は、ＰＤＬデータ１００を受信する。この処理は、例えば、ＣＰＵ３０１が、ホストコンピュータ（不図示）などから受信したＰＤＬデータ１００を、より小さなコマンドの単位でＲＡＭ３０２上のバッファーにコピーすることによって実現される。
【００４０】
Ｓ２０２にて、ＰＤＬデータ処理部４０２は、受信したＰＤＬデータ１００の末端か否かを判定する。この処理は、ＰＤＬデータ処理部４０２がＳ２０１の処理でバッファーにＰＤＬデータ１００が新たに書き込まれたか否かを判定することによって実現される。ＰＤＬデータ１００の末端であると判定された場合（Ｓ２０２にてＹＥＳ）、ＰＤＬデータ処理部４０２は、本処理フローを終了する。一方、ＰＤＬデータ１００の末端ではないと判定された場合（Ｓ２０２にてＮＯ）、ＰＤＬデータ処理部４０２は、処理をＳ２０３へ進める。
【００４１】
Ｓ２０３は、ＰＤＬデータ処理部４０２は、バッファーに保存されたＰＤＬデータ１００の命令がパターン描画命令であるか否かを判定する。この処理は、ＰＤＬデータ処理部４０２が、バッファーのＰＤＬデータ１００がパターン描画命令１４０ではないと判定された場合（Ｓ２０３にてＮＯ）、ＰＤＬデータ処理部４０２は、処理をＳ２１１へ進める。Ｓ２１１の処理は、既知のＰＤＬデータ解釈処理および中間データ生成処理であり、本実施形態では説明を省略する。Ｓ２１１の処理により、ＰＤＬデータ１００は中間データ２００に変換され、ＲＡＭ３０２またはＨＤＤ３０３に保存される。その後、Ｓ２０１へ戻り、ＰＤＬデータ処理部４０２は、以降のＰＤＬデータを受信するまで待機する。
【００４２】
一方、バッファーのＰＤＬデータ１００がパターン描画命令１４０であると判定された場合（Ｓ２０３にてＹＥＳ）、処理をＳ２０４へ進める。ＰＤＬデータ処理部４０２は、バッファーのパターン描画命令１４０が、ＡＳＩＣ３０４上のＲＩＰ３０５で処理可能な描画命令かを判定する（Ｓ２０４）。処理可能な描画命令でないと判定された場合（Ｓ２０４にてＮＯ）、処理をＳ２０５へ進める。一方、処理可能な描画命令であると判定された場合（Ｓ２０４にてＹＥＳ）、処理をＳ２１２へ進める。なお、この判定処理（Ｓ２０４）の詳細は後述する。
【００４３】
Ｓ２１２にて、ＰＤＬデータ処理部４０２は、パターン描画命令１４０の中間データ２００への変換処理を行う。Ｓ２０４の判定処理により、ＰＤＬデータ１００中のパターン描画命令１４０はＲＩＰ３０５が処理可能であると判定されている。よって、ＰＤＬデータ処理部４０２は、パターン描画命令１４０の解釈結果を中間データ２００のパターン描画２３０に変換し、ＲＡＭ３０２またはＨＤＤ３０３に追記する。
【００４４】
Ｓ２０５にて、ＰＤＬデータ処理部４０２は、斜め方向へ繰り返し並べて描画するパターン描画が含まれるか否かを判定する。斜め方向へ繰り返し並べて描画するパターン描画が含まれると判定された場合（Ｓ２０５にてＹＥＳ）、ＰＤＬデータ処理部４０２は、処理をＳ２１０へ進める。一方、斜め方向へ繰り返し並べて描画するパターン描画は含まれないと判定された場合（Ｓ２０５にてＮＯ）、処理をＳ２０６へ進める。
【００４５】
Ｓ２１０にて、ＰＤＬデータ処理部４０２は、ソフトＲＩＰ４０４を用いてバッファーのパターン描画命令から中間データ２００へと変換可能なラスタービットマップデータ２２０を生成する。前述したとおり、ＲＩＰ３０５で描画できないパターン描画命令であっても、ＲＩＰ制御部４０３内のソフトＲＩＰ４０４では描画できる。そこで、ソフトＲＩＰ４０４がバッファーのＰＤＬデータ１００の描画処理を行い、パターン描画命令１４０の部分をラスタービットマップデータ２２０に変換する。次に、ソフトＲＩＰ４０４は、ラスタービットマップデータ２２０をＲＡＭ３０２またはＨＤＤ３０３に追記する。
【００４６】
Ｓ２０６にて、ＰＤＬデータ処理部４０２は、繰り返し間隔１４３が正規化可能な負数のステップ数（ＸＳｔｅｐ／ＹＳｔｅｐ）であるか否かを判定する。本実施形態に係る正規化可能な繰り返し間隔１４３を、図７を参照しながら説明する。
【００４７】
図７（ａ）は、正規化が不可能な繰り返し間隔を例示する図である。この例では、パターンセル７０３の幅７０４が横方向の繰り返し間隔７０１の絶対値より小さい。この場合、パターンセル７０３はその一部が重畳して描画される。本実施形態においては、繰り返し間隔１４３が負であり、かつパターンセル１４２に重なって描画されるパターン描画命令１４０は、ＲＩＰ３０５で描画することができない。よって、図７（ａ）で示す例の場合は、ＰＤＬデータ処理部４０２は正規化不可であると判定する。なお、図７（ａ）では、横方向の場合は、右向きを正の方向としているが、縦方向の場合は、下向きを正の方向とする。
【００４８】
図７（ｂ）は、正規化が可能な繰り返し間隔を例示する図である。この例では、パターンセル７１２の幅７１３が横方向の繰り返し間隔７１１の絶対値より大きい。この場合、パターンセル７１２は重ならず描画される。このとき、本実施形態においては、正規化処理（Ｓ２０８）を行うことで以下の処理が可能になる。すなわち、繰り返し間隔１４３が負であっても、パターンセル１４２に重ならず描画されるパターン描画命令１４０の場合は、ＲＩＰ３０５で描画することができる。よって、図７（ｂ）で示す例の場合は、ＣＰＵ３０１上で実行されるＰＤＬデータ処理部４０２は正規化可能と判定する。正規化可能であると判定した場合（Ｓ２０６にてＹＥＳ）処理をＳ２０７へ進める。一方、正規化不可であると判定した場合（Ｓ２０６にてＮＯ）、処理をＳ２１０へ進める。
【００４９】
Ｓ２０７にて、ＰＤＬデータ処理部４０２は、パターン描画内の描画の開始位置を示す原点を計算する。本実施形態において、パターンセル１４２のバウンディングボックス１４１内の相対位置は、画像形成の対象となる紙面（不図示）左上からパターンセル１４２を並べた位置に基づいて算出される（図８参照）。つまり、パターン描画命令１４０は、パターンセル１４２を紙面（不図示）左上から並べ、バウンディングボックス１４１の位置および形状に基づきクリッピングしたのと同じ結果を得る。本実施形態では、Ｓ２０７において、ＰＤＬデータ処理部４０２は、バウンディングボックス８０５の原点８０２におけるパターンセル１４２の描画位置を計算する。なお、図８で示す通り、バウンディングボックス８０４の原点８０１がパターンセル１４２の左上と一致しない場合には、バウンディングボックス１４１の外側からパターンセル１４２を並べて描画し、バウンディングボックス１４１の形状でクリッピングする。
【００５０】
Ｓ２０８にて、ＰＤＬデータ処理部４０２は、負数のステップを正規化する処理を行う。この正規化処理に関しては後述する。Ｓ２０９にて、ＰＤＬデータ処理部４０２は、正規化された繰り返し間隔１４３を用いて、パターン描画命令１４０を中間データ２００のパターン描画２３０に変換する。ＰＤＬデータ処理部４０２は、この変換処理によって得られたパターン描画２３０を用いて、中間データ２００を生成する。
【００５１】
以上の処理をＣＰＵ３０１上で実行されるＰＤＬデータ処理部４０２が行うことでバッファーのＰＤＬデータの解釈処理が完了し、中間データ２００が新たに生成される。ＰＤＬデータ処理部４０２は、Ｓ２０２にて行われる判定処理で、ＰＤＬデータ１００の末端まで解釈処理を行い、ＰＤＬデータ１００全体を中間データ２００へと変換する。
【００５２】
［正規化処理］
本実施形態に係る正規化処理を、図９を用いて説明する。なお、ここでは繰り返し間隔は横方向に負である場合（すなわち、左方向に向かって順に描画が指定されている場合）を説明する。
【００５３】
図９（ａ）は、正規化前のパターン描画命令１４０の例を示している。ＰＤＬデータ処理部４０２は、図９（ａ）に示されているような繰り返し間隔９０１の情報を読み込む。次に、ＰＤＬデータ処理部４０２は、負である繰り返し間隔９０１の絶対値を算出し、その算出した絶対値を新しい繰り返し間隔とする。図９（ｂ）は、この新しく繰り返し間隔とした後のパターン描画命令１４０を示す。図９（ｂ）で示すように、ＰＤＬデータ処理部４０２より、負の値の横方向の繰り返し間隔９１１は正の方向の横方向の繰り返し間隔に更新される。
【００５４】
繰り返し間隔の縦方向が負であった場合にも同様の処理も合わせて行うことで、本実施形態における負数ステップに対する正規化処理（Ｓ２０８）が実現される。
【００５５】
［Ｓ２０４の判定処理］
ＰＤＬデータ解釈処理（Ｓ２０）内で行われるパターン描画命令１４０が、ＲＩＰ３０５で処理可能な描画命令か否かの判定処理（Ｓ２０４）について以下に説明する。
【００５６】
まず、ＰＤＬデータ処理部４０２は、バッファーのＰＤＬデータの繰り返し間隔１４３を読み込む。次にＰＤＬデータ処理部４０２は、現在設定されているＣＴＭパラメータを読み込む。ＣＴＭパラメータは、前述のとおり、ＰＤＬデータ処理部４０２が、ＣＴＭ命令１５０を実行するたびに、ＣＴＭパラメータを計算し、その計算結果をＲＡＭ３０２上に保存することによって保持される。
【００５７】
ＰＤＬデータ処理部４０２は、繰り返し間隔１４３およびＣＴＭパラメータが、ＲＩＰ３０５で処理可能なパラメータか否かを判定する。本実施形態において、ＲＩＰ３０５が処理可能なパラメータは以下の２つの条件を満たす。
【００５８】
第一の条件は、ＣＴＭパラメータが以下のような行列となることである。
2015203979.tif 000005
において、ｂ＝０、かつ、ｃ＝０
つまり、回転を伴わないアフィン変換が行われる場合にのみ、ＲＩＰ３０５はパターン描画命令を描画できるものとする。
【００５９】
第二の条件は、繰り返し間隔１４３が縦方向、横方向共に正の値であることである（繰り返し間隔１４３中のステップ数ＸＳｔｅｐ／ＹＳｔｅｐが共に正）。本実施形態においては、縦方向では下向きを正の方向とし、横方向では右向きを正の方向として扱う。
【００６０】
上記２つの条件を共に満たした場合にのみ、ＰＤＬデータ処理部４０２は、Ｓ２０４にて真と判定し（Ｓ２０４にてＹＥＳ）。処理をＳ２１２へ進める。一方、上記２つの条件を一つでも満たさない場合、ＰＤＬデータ処理部４０２は、Ｓ２０４にて偽であると判定し（Ｓ２０４にてＮＯ）処理をＳ２０５へ進める。
【００６１】
なお、本実施形態では、バッファーのパターン描画命令がＡＳＩＣ３０４上のＲＩＰ３０５で処理可能な描画命令かを判定の条件を２つ挙げて説明しているが、それ以外の条件を用いても良い。例えばバウンディングボックス１４１が一定サイズ以上であった場合に、ＲＩＰ３０５で処理不可能である場合も存在しうる。また、パターンセル１４２が一定サイズ以上であった場合に、ＲＩＰ３０５で処理不可能である場合も存在しうる。また、繰り返し間隔１４３が一定サイズ以上であった場合に、ＲＩＰ３０５で処理不可能である場合も存在しうる。
【００６２】
［第一の実施形態の効果］
本実施形態に係る効果は以下の通りである。第一に、ＡＳＩＣ３０４に実装されたＲＩＰ３０５で処理することができないＰＤＬデータ１００であっても、正規化処理（Ｓ２０８）により、ＲＩＰ３０５を用いて描画することができるようになる。本実施形態では、ＲＩＰ３０５で処理することができないパターン描画命令１４０として、負の方向の繰り返し間隔１４３を持つＰＤＬデータ１００を例として示した。また、本実施形態に係る処理により、所定条件におけるパターン描画命令１４０をＣＰＵ３０１上で実行されるソフトＲＩＰ処理（Ｓ２１０）より高速に描画することができる。
【００６３】
また、同時にＣＰＵ３０１にて実行されるソフトＲＩＰ４０４と同等の処理をＲＩＰ３０５に実装しなくても、高速にパターン描画命令１４０を描画することを可能にする。これによって、ＲＩＰ３０５のハードウェア構成が複雑になることを防ぐことができる。
【００６４】
＜第二の実施形態＞
本発明の第二の実施形態を、第一の実施形態との差異を中心に説明する。第一の実施形態においては、図６のＳ２０５において、ＰＤＬデータ処理部４０２は、斜め方向のパターン描画があった場合に、処理をＳ２１０へ進める。この分岐処理に基づき、ＰＤＬデータ処理部４０２は、斜め方向のパターン描画を常にソフトＲＩＰ４０４により処理している。本実施形態では、負の方向の繰り返し間隔に加え、斜め方向のパターン描画に対しても正規化処理を行うことができる処理例を説明する。
【００６５】
［処理フロー］
本実施形態と第一の実施形態との差異は、ＣＰＵ３０１上で実行されるＰＤＬデータ処理部４０２によって行われるパターン描画命令１４０に対する解釈処理である。図１０を用いて本実施形態に係る解釈処理について説明する。なお、第一の実施形態にて述べた図６と同様の処理については、同じ参照番号を付し、重複する説明は省略する。
【００６６】
斜め方向の繰り返しである場合（Ｓ２０５にてＹＥＳ）、処理をＳ１００１へ進める。Ｓ１００１にて、ＰＤＬデータ処理部４０２は、斜め方向に繰り返されるパターン描画命令１４０の循環単位を計算する。Ｓ１００１における循環単位の計算処理について、図１１を用いて説明する。
【００６７】
図１１では、ＣＴＭ命令１５０によって時計回りに４５度回転されたパターン描画命令１４０を例示している。本実施形態では、ＣＴＭ命令１５０によって４５度、１３５度、２２５度および３１５度に回転されたパターン描画命令１４０以外であった場合に、ＰＤＬデータ処理部４０２は、Ｓ１００２にて循環する最小単位が見つからないと判定する（Ｓ１００２にてＮＯ）。
【００６８】
幅１１０８は、パターンセル１１１０の横方向の幅を示す。高さ１１０９は、パターンセル１１１０の縦方向の高さを示す。また、幅１１０３は、繰り返し間隔の幅を示す。高さ１１０２は、繰り返し間隔の高さを示している。
【００６９】
ＰＤＬデータ処理部４０２は、パターンセル１１１０の紙面に対する横方向の幅１１０１、および縦方向の高さ１１０４を計算する。次にＰＤＬデータ処理部４０２は、紙面に対する横方向の幅１１０１および縦方向の高さ１１０４のパターンセルの大きさを新しいパターンセル１１０６と仮定した時の、紙面の横方向および縦方向の繰り返し間隔を計算する。すなわち、斜めになったパターンセル１１１０の紙面の縦方向の下端とパターンセルの真下方向に直線を伸ばした場合に紙面の下方向に現れる次のパターンセル１１１０までの距離１１０７を求めることによって、新しい縦方向の繰り返し間隔を求める。同様に、斜めになったパターンセル１１１０の紙面の横方向の右端と紙面の右方向に直線を伸ばした場合に現れる次のパターンセル１１１０までの距離１１０５を求めることにより、新しい横方向の繰り返し間隔を求める。
【００７０】
以上の処理により、ＰＤＬデータ処理部４０２は、新しいパターンセルの候補を計算し、その最小循環単位、すなわち、新しい繰り返し間隔と、新しいパターンセル１１０６の候補を求めることができる。なお、本実施形態ではパターン描画命令１４０がＣＴＭ命令１５０によって所定の角度（ここでは、４５度、１３５度、２２５度および３１５度）に傾いた場合に循環する最小単位を対象として処理を行う。しかし、これ以外の角度に傾いたパターン描画命令１４０に対して循環する最小単位を見つける処理を行ってもよい。
【００７１】
Ｓ１００２にて、ＰＤＬデータ処理部４０２は、Ｓ１００１の処理によって循環する最小単位が見つかったか否かを判定する。Ｓ１００１の判定処理で、ＰＤＬデータ処理部４０２は、ＣＴＭ命令１５０によって４５度、１３５度、２２５度および３１５度に回転されたパターン描画命令１４０以外であった場合には、循環する最小単位が見つからなかったと判定する（Ｓ１００２にてＮＯ）。
【００７２】
第二に、ＰＤＬデータ処理部４０２は、新しい繰り返し間隔が新しいパターンセル１１０６の大きさより小さい場合も、循環する最小単位が見つからなかったと判定する（Ｓ１００２にてＮＯ）。すなわち、新しい繰り返し間隔の横方向の大きさ１１０５が新しいパターンセル１１０６の横方向の大きさ１１０１より小さい場合、ＰＤＬデータ処理部４０２は循環する最小単位が見つからなかったと判定する。あるいは、新しい繰り返し間隔の縦方向の大きさ１１０７が新しいパターンセル１１０６の縦方向の大きさ１１０４より小さかった場合は、ＰＤＬデータ処理部４０２は、循環する最小単位が見つからなかったと判定する。
【００７３】
ＰＤＬデータ処理部４０２は、Ｓ１００２の判定処理が真、すなわち循環する最小単位が見つかったと判定された場合（Ｓ１００２にてＹＥＳ）、処理をＳ１００３へ進める。一方、Ｓ１００２の判定処理にて偽と判定された場合（Ｓ１００２にてＮＯ）、処理をＳ２１０へ進める。
【００７４】
Ｓ１００３にて、ＰＤＬデータ処理部４０２は、新しいパターンセル１１０６に対するタイル原点位置計算を行う。この処理は、第一の実施形態にて説明したＳ２０７の処理を新しい繰り返し間隔（距離１１０５、１１０７）と、新しいパターンセル１１０６に基づいて計算する処理である。
【００７５】
Ｓ１００４にて、ＰＤＬデータ処理部４０２は、傾いたパターンセルを生成する。本実施形態において、ソフトＲＩＰ４０４を用いて、以下の描画処理を行う。すなわち、以後の中間データ２００の生成のための、パターン描画２３０に紐付けられるラスタービットマップデータ２２０を以下のように生成する。ソフトＲＩＰ４０４は、ＣＴＭ命令１５０によって計算されたＣＴＭパラメータと元のパターンセル１４２を用いて、回転されたパターンセル１４２のラスタービットマップデータ２２０を生成する。次に、ＰＤＬデータ処理部４０２は、生成したラスタービットマップデータ２２０を用いて、新しいパターンセル１１０６内の描画データを生成する。Ｓ１００４の処理により、ＰＤＬデータ処理部４０２は、ＣＴＭパラメータによって回転指定がされていない中間データ２００中のパターンセル２３２を生成する。
【００７６】
Ｓ１００５にて、ＰＤＬデータ処理部４０２は、新しいパターンセル１１０６内の描画データと新しい繰り返し間隔とを用いて、中間データ２００のパターン描画２３０を生成する。
【００７７】
そして、ＰＤＬデータ処理部４０２は、このパターン描画２３０に基づいて、中間データ２００の生成を行う。
【００７８】
［第二の実施形態の効果］
本実施形態の効果として、第一の実施形態の効果に加えて、ＲＩＰ３０５で処理することができない、斜め方向の繰り返し間隔を持つＰＤＬデータであっても、ＲＩＰ３０５を用いて描画することができるようになる。
【００７９】
＜第三の実施形態＞
本発明の第三の実施形態について、第一の実施形態との差異を中心に以下に説明する。第一の実施形態においては、図６のＳ２０６の処理において、ＰＤＬデータ処理部４０２は、繰り返し間隔が正規化可能なステップ数（ＸＳｔｅｐ／ＹＳｔｅｐ）であるか判定する。このＳ２０６の処理において、ＰＤＬデータ処理部４０２は、パターンセル１４２がその一部が重なって描画される（図７（ａ）参照）か否かを少なくとも判定する。第一の実施形態においては、繰り返し間隔が負であり、かつパターンセルが重なって描画されるパターン描画命令１４０は、ＲＩＰ３０５で描画することができないものとした。よって、第一の実施形態におけるＰＤＬデータ処理部４０２は、パターンセルはその一部が重なって描画される場合は正規化不可能と判断する。
【００８０】
しかしながら、第一の実施形態におけるＰＤＬデータ処理部４０２は、パターンセルのその一部が重なって描画される場合においても正規化を行うことができる。よって、第一の実施形態におけるＳ２０６の判定が不要になる。そこで、本実施形態に係るパターンセルが重なって描画されるパターン描画命令１４０に対しても正規化可能にする処理を、第一の実施形態との差異を中心に説明する。
【００８１】
［処理フロー］
本実施形態に係る正規化可能な繰り返し間隔を、図７、図１２、図１３を参照しながら説明する。図７（ａ）で示す例では、パターンセル７０３の幅が、横方向の繰り返し間隔の絶対値より小さい。この場合、パターンセル７０３はその一部が重なって描画される。本実施形態においても、繰り返し間隔が負であり、かつパターンセルに重なって描画されるパターン描画命令１４０は、ＲＩＰ３０５で描画することができない。しかし、本実施形態では図７（ａ）で示す例でも、ＰＤＬデータ処理部４０２は正規化可能として扱う。よって、ＰＤＬデータ処理部４０２は、パターンセルに重なって描画されるか否かにかかわらず処理をＳ２０７へ進める。
【００８２】
Ｓ１２０１にて、ＰＤＬデータ処理部４０２は、パターンセル１４２のソフトＲＩＰ処理を行う。このパターンセル１４２のソフトＲＩＰ処理に関して図１３（ａ）を用いて説明する。図１３（ａ）の重なり領域１３０２は、パターンセル１３０４間の重なった領域を示す。第一、第二の実施形態においては、このパターンセル１３０４の重なり領域１３０２が存在するために正規化処理（Ｓ２０９）を行うことができなかった。
【００８３】
本実施形態においては、ソフトＲＩＰ４０４を用いてパターンセル１３０４に対する重なり領域１３０２を重ねた画像１３０３のラスタービットマップデータ２２０を生成する（Ｓ１２０１）。この処理はまず、ソフトＲＩＰ４０４が、繰り返し間隔が負数のステップ数を持つ場合に、右に位置するパターンセルから順にパターンセルの領域１３０２に重なるようにパターンセル１３０４を重ねて描画し、ラスタービットマップデータ２２０を得る。このラスタービットマップデータ２２０はソフトＲＩＰ４０４によってＲＡＭ３０２に保存される。次に、ＰＤＬデータ処理部４０２は、生成されたラスタービットマップデータ２２０に対して、パターンセル１３０４の領域のうち、重ね描画を行った領域１３０２とは反対側の重なり領域を除いた形状の領域１３０１でクリップ処理を行う。そして、ＰＤＬデータ処理部４０２は、ＲＡＭ３０２に保存する。
【００８４】
Ｓ２０９にて、ＰＤＬデータ処理部４０２は、正規化された繰り返し間隔１４３を用いてパターン描画命令１４０を中間データ２００のパターン描画２３０に変換する。この時、ＰＤＬデータ処理部４０２は、ＲＡＭ３０２に保存されたパターンセルの領域１３０１のラスタービットマップデータ２２０を用いて、中間データ２００内のパターンセル２３２を生成する。
【００８５】
図１３（ｂ）を用いて、この新たに生成される中間データ２００を以下に説明する。ＰＤＬデータ処理部４０２は、中間データ２００中のパターンセル２３２を、上述した重ね描画を行った領域１３０１を用いて生成する。また、ＰＤＬデータ処理部４０２は、繰り返し間隔２３３を、図１３（ｂ）の１３１２で示される重ね描画を行った領域１３１１の幅に基づいて生成する。ＰＤＬデータ処理部４０２は、この処理を高さ方向にも適用することで、中間データ２００中の繰り返し間隔２３３の生成を完了する。上記以外の処理は第一の実施形態と同様であるため、説明を省略する。
【００８６】
以上の処理をＣＰＵ３０１上で実行されるＰＤＬデータ処理部４０２が行うことでバッファーのＰＤＬデータの解釈処理が完了し、中間データ２００が新たに生成される。ＰＤＬデータ処理部４０２は、Ｓ２０２によって行われるループ処理内で、ＰＤＬデータ１００の末端までその解釈処理を行うことで、ＰＤＬデータ１００全体を中間データ２００へと変換することができる。
【００８７】
［第三の実施形態の効果］
本実施形態では、第一の実施形態の効果に加え、負の方向の繰り返し間隔１４３を有し、かつ、パターンセル１４２が重なるパターン描画命令１４０を有するＰＤＬデータ１００に対しても正規化処理を行うことができる。この正規化処理によって、パターン描画命令１４０全体をＣＰＵ３０１上で実行されるソフトＲＩＰ処理（Ｓ２１０）より高速に描画することができる。
【００８８】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８９】
３０４  ＡＳＩＣ、３０５  ＲＩＰ、３０６  画像処理ＨＷ、４０１通信制御部、４０２  ＰＤＬデータ制御部、４０３  ＲＩＰ制御部、４０４  ソフトＲＩＰ、４０６  画像処理部
【図１】
2015203979.tif 000006
【図２】
2015203979.tif 000007
【図３】
2015203979.tif 000008
【図４】
2015203979.tif 000009
【図５】
2015203979.tif 000010
【図６】
2015203979.tif 000011
【図７】
2015203979.tif 000012
【図８】
2015203979.tif 000013
【図９】
2015203979.tif 000014
【図１０】
2015203979.tif 000015
【図１１】
2015203979.tif 000016
【図１２】
2015203979.tif 000017
【図１３】
2015203979.tif 000018