(57)【特許請求の範囲】
【請求項１】
ページを構成するブロック単位毎に、描画オブジェクトの軌跡に係る垂直方向の移動量の絶対値の総和を求める垂直方向移動量算出手段と、
前記ブロック単位毎に、描画オブジェクトの軌跡に係る水平方向の移動量の絶対値の総和を求める水平方向移動量算出手段と、
前記垂直方向の移動量の絶対値の総和と、前記水平方向の移動量の絶対値の総和と、を比較する比較手段と、
前記比較手段における比較の結果、前記ブロック単位毎に、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きい描画オブジェクトのブロックを９０度回転させ、回転させた前記ブロックの描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行い、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きくない描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行う回転制御手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記回転制御手段は、前記ブロックに関する描画が実行された後、前記９０度回転させた前記ブロックを元に戻すことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
ページ内の描画オブジェクト毎に描画命令を抽出し、前記ブロックと、前記描画オブジェクトと、を関連付けるブロック分割手段を更に有することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記ブロック分割手段は、
前記描画オブジェクト毎に、描画オブジェクトが包含する領域に係る領域データを生成する領域データ生成手段と、
前記領域データと、前記ブロックとの位置関係の重複に基づいて、前記描画オブジェクトと、前記ブロックとを関連付ける関連付け手段と、
を有することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
画像形成装置における画像形成方法であって、
垂直方向移動量算出手段は、ページを構成するブロック単位毎に、描画オブジェクトの軌跡に係る垂直方向の移動量の絶対値の総和を求める垂直方向移動量算出ステップと、
水平方向移動量算出手段は、前記ブロック単位毎に、描画オブジェクトの軌跡に係る水平方向の移動量の絶対値の総和を求める水平方向移動量算出ステップと、
比較手段は、前記垂直方向の移動量の絶対値の総和と、前記水平方向の移動量の絶対値の総和と、を比較する比較ステップと、
回転制御手段は、前記比較ステップにおける比較の結果、前記ブロック単位毎に、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きい描画オブジェクトのブロックを９０度回転させ、回転させた前記ブロックの描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行い、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きくない描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行う回転制御ステップと、
を有することを特徴とする画像形成方法。
【請求項６】
少なくともページを構成するブロックを一つ以上含む、描画オブジェクトに係る領域単位毎に、描画オブジェクトの軌跡に係る垂直方向の移動量の絶対値の総和を求める垂直方向移動量算出手段と、
前記領域単位毎に、描画オブジェクトの軌跡に係る水平方向の移動量の絶対値の総和を求める水平方向移動量算出手段と、
前記垂直方向の移動量の絶対値の総和と、前記水平方向の移動量の絶対値の総和と、を比較する比較手段と、
前記比較手段における比較の結果、前記領域単位又は前記ブロック単位毎に、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きい描画オブジェクトの領域又はブロックを９０度回転させ、回転させた前記領域又は前記ブロックの描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行い、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きくない描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行う回転制御手段と、
を有することを特徴とする画像形成装置。
【請求項７】
画像形成装置における画像形成方法であって、
垂直方向移動量算出手段は、少なくともページを構成するブロックを一つ以上含む、描画オブジェクトに係る領域単位毎に、描画オブジェクトの軌跡に係る垂直方向の移動量の絶対値の総和を求める垂直方向移動量算出ステップと、
水平方向移動量算出手段は、前記領域単位毎に、描画オブジェクトの軌跡に係る水平方向の移動量の絶対値の総和を求める水平方向移動量算出ステップと、
比較手段は、前記垂直方向の移動量の絶対値の総和と、前記水平方向の移動量の絶対値の総和と、を比較する比較ステップと、
回転制御手段は、前記比較ステップにおける比較の結果、前記領域単位又は前記ブロック単位毎に、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きい描画オブジェクトの領域又はブロックを９０度回転させ、回転させた前記領域又は前記ブロックの描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行い、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きくない描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行う回転制御ステップと、
を有することを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像形成方法に関する。
【背景技術】
【０００２】
画像形成装置に対し、ＰｏｓｔＳｃｒｉｐｔやＰＤＦ等のＰＤＬで記述された印刷データ（描画データ）が入力されると、その印刷データが解釈されて各ページの画像データが形成される。入力される印刷データは、複数種類のオブジェクト（描画オブジェクト）の集合として構成される。描画オブジェクトとしては、例えば、図形、テキスト、その他の画像等がある。
【０００３】
出力される画像データは、１ページのラスタ画像、又は圧縮形式の画像等である。画像形成装置が出力する画像は、必要に応じて一旦記憶装置に蓄積され、ページ合成や回転等の画像処理が行われた後、多くの場合、プリンタエンジンに送出され、印刷される。
【０００４】
画像形成にかかる時間を削減する手法として、必要な画像形成過程を並列化する方法が考えられている（例えば、特許文献１及び特許文献２参照。）。
【０００５】
特許文献１では、線又は短冊状に分割した描画領域に対して並列処理を行う装置が開示されている。また、特許文献２では、描画対象となる二次元領域を複数のブロックに分割する画像処理装置が開示されている。
【０００６】
また、ハードウェアパイプライン構成で、画像を水平方向に走査線単位で辺情報を抽出しながら画像処理を行い、高速かつ少ないバッファメモリ消費量を実現する方法がある。以下、この処理をＵＦＲ（Ｕｌｔｒａ  Ｆａｓｔ  Ｒｅｎｄｅｒｉｎｇ）という。
【０００７】
【特許文献１】特開平９−１６７２４２号公報
【特許文献２】特開平４−１７０６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したＵＦＲでは、水平方向（ｘ座標方向）への走査線単位で描画オブジェクトの辺情報を抽出することで、辺情報の生成を行う。しかしながら、画像の種類によっては水平方向で走査する辺情報の数が多くなり、その結果、データ処理量が増大し、効率的に画像形成処理が行なえない問題があった。
【０００９】
本発明は前記の問題点に鑑みなされたもので、データ処理量を削減させ、効率的に画像形成処理を行なうことを目的とする。
【課題を解決するための手段】
【００１０】
そこで、前記問題を解決するため、本発明は、ページを構成するブロック単位毎に、描画オブジェクトの軌跡に係る垂直方向の移動量の絶対値の総和を求める垂直方向移動量算出手段と、前記ブロック単位毎に、描画オブジェクトの軌跡に係る水平方向の移動量の絶対値の総和を求める水平方向移動量算出手段と、前記垂直方向の移動量の絶対値の総和と、前記水平方向の移動量の絶対値の総和と、を比較する比較手段と、前記比較手段における比較の結果、前記ブロック単位毎に、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きい描画オブジェクトのブロックを９０度回転させ、回転させた前記ブロックの描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行い、前記垂直方向の移動量の絶対値の総和が前記水平方向の移動量の絶対値の総和より大きくない描画オブジェクトの辺情報を水平方向に走査線単位で抽出する処理を行う回転制御手段と、を有することを特徴とする。
【００１１】
係る構成とすることにより、ブロック単位毎に描画オブジェクトの軌跡に係る、水平方向移動量の絶対値の総和と、垂直方向移動量の絶対値の総和とを求め、比較し、比較結果に応じて、ブロックの回転制御を行うことができる。
【００１２】
したがって、例えば、比較の結果、垂直方向移動量の絶対値の総和が、水平方向移動量の絶対値の総和より大きいブロックについては、９０度回転させることができる。９０度回転させることによって、このブロック上の描画オブジェクトは、垂直方向移動量の絶対値の総和が、回転前に比べて少なくなる。つまり、水平方向に走査線単位で辺情報を抽出するＵＦＲにおいて、走査線が描画オブジェクトを横切る確率が低くなる。よって、データ処理量を削減させ、効率的に画像形成処理を行なうことができる。
【００１３】
また、前記問題を解決するため、本発明は、画像形成方法としてもよい。
【発明の効果】
【００１４】
本発明によれば、データ処理量を削減させ、効率的に画像形成処理を行なうことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。
【００１６】
（実施形態１）
図１は、画像形成装置の一例のハードウェア構成図（その１）である。画像形成装置は、例えばＰｏｓｔＳｃｒｉｐｔやＰＤＦ等のＰＤＬで記述された印刷データを入力とし、ＰＤＬに基づいて画像データを形成する。
【００１７】
図１に示されるように画像形成装置は、入力処理部としてのブロック分割部１と、一つ以上の画像処理部２と、描画オブジェクト情報やページ画像データ等が書き込まれるメモリ３とによって構成される。
【００１８】
ブロック分割部１は、ＰＤＬで記述された印刷データを受け取り、印刷データをＰＤＬの規約に沿って解釈する機能と、非描画命令を実行する機能と、描画オブジェクト毎に描画命令（コマンド群）を切り出す機能と、を有する。また、ブロック分割部１は、描画オブジェクトそのものの情報と、描画オブジェクトとブロックとの対応関係の情報と、をメモリ３に格納する機能を有する。ここでブロックとは、１ページ内を格子状に分割する各領域であり、画像形成装置内で予め定義されている値とする。
【００１９】
例えば、ブロック分割部１は、ページ記述言語の印刷データから抽出した座標情報から描画オブジェクトの存在する可能性のある領域（以下、概形という）を求める。そして、ブロック分割部１は、各ブロックが描画オブジェクトの概形を含むか否かによってブロックに関連づける描画オブジェクトを選択する。
【００２０】
例えば、ブロック分割部１は、描画オブジェクト毎に、描画オブジェクトが包含する領域に係る領域データを生成し、生成した領域データと、ブロックとの位置関係の重複に基づいて、描画オブジェクトと、ブロックとを関連付ける。
【００２１】
画像処理部２は、ハードウェアパイプライン構成で、画像を水平方向に走査線単位で辺情報を抽出しながら画像処理を行い、高速かつ少ないバッファメモリ消費量を実現する。  画像処理部２は、描画コマンド生成部７０２と、エッジ処理部７０３と、レベル優先度判定部７０４と、色生成部７０５と、色合成部７０６と、ピクセル展開処理部７０７とによって構成される。
【００２２】
描画コマンド生成部７０２は、システムバスにアクセスしてジョブを読み込み、符号７０３〜符号７０６からなる後段のパイプラインモジュールに対する描画コマンドを発行する。
【００２３】
エッジ処理部７０３は、描画コマンド生成部７０２によって発行された描画コマンドに従ってジョブに含まれる辺レコードを読み取り、走査線単位で描画オブジェクトの辺情報を抽出する。また、エッジ処理部７０３は、抽出した辺情報を走査線方向（ｘ座標）の昇順にソートした後、レベル優先度判定部７０４に前記辺情報をメッセージとして転送する。
【００２４】
レベル優先度判定部７０４は、描画コマンド生成部７０２によって発行された描画コマンドに従ってジョブに含まれるレベルテーブルと、エッジ処理部７０３によって生成された辺情報とを読み取る。続いて、レベル優先度判定部７０４は、走査線毎に各レベルの優先度と、活性化された（描画に影響する）画素範囲とを決定する。そして、レベル優先度判定部７０４は、各走査線の活性化された画素範囲の情報を優先度順にソートして、他のレベルの画素との関係情報と共に画素範囲情報とし、色生成部７０５に画素範囲情報を転送する。
【００２５】
色生成部７０５は、描画コマンド生成部７０２によって発行された描画コマンドに従ってジョブに含まれるフィルテーブルと、レベル優先度決定部７０４によって生成された画素範囲情報とを読み取る。続いて、色生成部７０５は、レベル毎に活性化された画素の色を決定し、色合成部７０６に活性化された画素の色情報をレベル優先度判定部７０４から転送されてきた画素範囲情報と共に転送する。
【００２６】
色合成部７０６は、描画コマンド生成部７０２によって発行された描画コマンドに従ってレベル優先度決定部７０４によって生成された各レベルの画素範囲情報と、色生成部７０５によって決定された画素の色情報とに基づいて画素単位に色を決定する。そして、色合成部７０６は、画素の最終的な色を生成する。
【００２７】
ピクセル展開部７０７は、色合成部７０６によって生成された画素の最終的な色の内、ランレングス形式で表現された画素情報をピクセルに展開し、接続された外部機器に送出する。
【００２８】
描画コマンド生成部７０２は、ブロック分割部１より渡されたブロックに係るブロック情報を用いて画像処理部２が処理する描画コマンド（中間言語）を生成する。描画コマンドは、描画オブジェクトの形状、描画オブジェクトの色情報や描画形式、又はそれらに対するポインタ等を持つ。
【００２９】
画像を水平方向に走査線単位で辺情報を抽出しながら画像処理を行っていくことで、高速なハードウェアパイプライン構成を採用することができる。また、少ないバッファメモリで処理が可能となる。
【００３０】
この走査線単位で辺情報を抽出しながら画像処理の一例を図２に示す。図２は、走査線単位で辺情報を抽出しながら画像処理を行なう概念図である。画像形成装置は、図２のｘ０、ｘ１、ｘ２、ｘ３の順に図形（画像）を走査していく。
【００３１】
図３に、図１に示したブロック分割部１に入力されるＰｏｓｔＳｃｉｒｐｔ言語で記述された印刷データの一例を示す。また、この印刷データによって描画されるデータを図４に示す。符号２０１、符号２０２、符号２０３は各描画オブジェクトの描画命令に相当し、それぞれ円オブジェクト３０２、三角形オブジェクト３０４、曲線オブジェクト３０６を描画する。
【００３２】
図５、図６、図７にブロック分割部１が生成する描画オブジェクト情報の一例を示す。図５は、円オブジェクト３０２、三角形オブジェクト３０４、曲線オブジェクト３０６の概形（領域情報）を示す図である。図６は、各描画オブジェクトの情報を格納する描画オブジェクトテーブルの一例を示す図である。図７は、ブロックと、各描画オブジェクトとの対応関係を示す対応テーブル（対応関係情報）の一例を示す図である。
【００３３】
ブロック分割部１は、図６に示される描画オブジェクトテーブルと、図７に示される対応テーブルとを作成し、ＣＰＵ４に作成終了を通知する。ＣＰＵ４は、図６に示される描画オブジェクトテーブルと、図７に示される対応テーブルとを参照し、各ブロックに含まれる描画オブジェクト情報を中間言語形式に変換して画像処理部２に分配する。
【００３４】
以下、図３の例を用いて、ブロック分割部１の動作を説明する。
図３の符号２０４は、これから描画しようとしている図形の形状を定義している記述部分である。ここでは、中心の座標が（１６０、３４０）で半径７０  の円オブジェクト３０２が定義されている。
【００３５】
ブロック分割部１は、新しい描画オブジェクトの定義が開始されると、新しい描画オブジェクトを図６に示される描画オブジェクトテーブルに記録する。符号２０１の場合、ブロック分割部１は、描画オブジェクトテーブルのエントリ５０１に、円オブジェクト３０２の描画命令列（符号２０１）へのポインタを渡す。
【００３６】
ブロック分割部１は、このようにＰＤＬへのポインタを渡す他、描画オブジェクトの描画情報を実際にコピーしてもよい。
【００３７】
符号２０４の解釈終了後、ブロック分割部１は、描画オブジェクトの中心座標（１６０、３４０）と、半径７０とから、符号２０４が示す描画オブジェクトが取りうるＸ及びＹ座標の範囲を計算する。これは、図４の矩形領域３０１に相当する。この円のＸの最小値は、（Ｘ、Ｙ）＝（１６０−７０、３４０−７０）＝（９０、２７０）、同様に最大値は（Ｘ、Ｙ）＝（１６０＋７０、３４０＋７０）＝（２３０、４１０）となる。よって概形はエントリ４００に示されるようになる。また、ブロック分割部１が、描画オブジェクト情報を描画オブジェクトテーブルのエントリ５０１に記録したので、エントリ４００はポインタ４０３を持つ。
【００３８】
矩形領域３０１が求まると、ブロック分割部１は、座標計算を行い、矩形３０１を含む描画領域３００内のブロック（ブロック３０７、３０８、３０９、３１０、３１１、３１２、３１３、３１４、３１５）を求める。ブロック分割部１は、これらのブロックを、オブジェクト３０２を含む可能性があるブロックであると判定する。
【００３９】
図７に示される対応テーブルは、描画領域３００内の各ブロック内に存在する可能性があるオブジェクト（オブジェクトの情報）を保持している。図７に示される対応テーブルのブロック番号は、図４の左上からＸ方向にブロック番号を０、１、２、３、・・・としている。
【００４０】
ブロック分割部１は、矩形領域３０１を含む可能性があるエントリとして、ブロック番号０、１、２、４、５、６、８、９、１０に、描画オブジェクトテーブへのポインタ０（符号４０３）をコピーする。
【００４１】
再び、図３の説明に戻り、符号２０５で示される記述部分は、描画の際に用いる色の指定であり、ここでは緑が指定されている。
【００４２】
符号２０６で示される記述部分は、図形内部の塗り潰し命令であり、ここでは、その前に定義されている円の内部を緑色で塗り潰す処理が指示されている。
【００４３】
符号２０７は、三角形オブジェクト３０４の形状を定義している記述部分である。
最初に、ｍｏｖｅｔｏ命令によってペン座標を（Ｘ、Ｙ）＝（１８０、２８０）に移動させるよう定義されている。また、ここから、順にｌｉｎｅｔｏ命令によって座標（１２０、  ７０）、（３１５、１７０）、（１８０、２８０）に直線を引き、三角形を描くよう定義されている。
【００４４】
ブロック分割部１は、符号２０１のときと同様に、新しい描画オブジェクトを図６に示される描画オブジェクトテーブルに記録する。新しい描画オブジェクトは、図６に示される描画オブジェクトテーブルのエントリ５０２に記録される。このエントリには、ブロック分割部１によって、符号２０２へのポインタが渡される。
【００４５】
符号２０７で示される記述部分で定義されているオブジェクトは直線から構成される図形である。よって、ブロック分割部１は、符号２０７で示される記述部分の解釈を終了するまで、描画オブジェクトの各頂点の最大値及び最小値を単純に更新し続けることでオブジェクトを包含する矩形領域を特定することができる。
【００４６】
このようにして求まる概形が、図４の矩形領域３０３で示される。ブロック分割部１は、３つの頂点の座標から、Ｘ及びＹの最小値は（Ｘ、Ｙ）＝（１２０、７０）、最大値は（Ｘ、Ｙ）＝（３１５、２８０）であることがわかる。ブロック分割部１は、図５に示すエントリ４０１にこれらの値を記録する。また、ブロック分割部１が、描画オブジェクト情報を描画オブジェクトテーブルのエントリ５０２に記録したので、エントリ４０１はポインタ４０４を持つ。
【００４７】
符号２０７の概形が求まると、ブロック分割部１によって、図７に示される対応テーブルが更新される。ブロック分割部１は、矩形領域３０３を含む可能性があるエントリとして、ブロック番号９、１０、１１、１３、１４、１５、１７、１８、１９に、描画オブジェクトテーブルへのポインタ１（符号４０４）をコピーする。
【００４８】
再び、図３の説明に戻り、符号２０８の記述部分は、符号２０７で定義した三角形の色を定義する。ここでは、赤が指定されている。
【００４９】
符号２０９で示される記述部分は、三角形を符号２０８で定義した赤色に塗り潰す処理が指示されている。
【００５０】
符号２１０は、曲線３０６のベジエ曲線の描画を指示している記述部分である。ここでは最初に、ペン座標を（３０、２０）に移動させるよう定義されている。そして、（３０、２０）と、（８５、１２０）と、（１６０、６０）と、（１４０、２０）との４点で囲まれるベジエ曲線を描くよう定義されている。
【００５１】
ブロック分割部１は、符号２０１や、符号２０２のときと同様に、新しい描画オブジェクトを図６に示される描画オブジェクトテーブルに記録する。新しい描画オブジェクトは、図６に示される描画オブジェクトテーブルのエントリ５０３に記録される。このエントリには、ブロック分割部１によって、符号２０３へのポインタが渡される。
【００５２】
符号２１０で示される記述部分で定義されているオブジェクトは、ベジエ曲線で構成される図形である。よって、ブロック分割部１は、符号２０７のときと同様に、各制御点のＸ及びＹの最小値及び最大値から描画オブジェクトを包含する矩形領域を特定することができる。
【００５３】
このようにして求まる概形が、図４の矩形領域３０５で示される。ブロック分割部１は、４つの頂点の座標から、Ｘ及びＹの最小値は（Ｘ、Ｙ）＝（３０、２０）、最大値は（Ｘ、Ｙ）＝（１６０、１２０）であることがわかる。ブロック分割部１は、図５に示すエントリ４０２にこれらの値を記録する。また、ブロック分割部１が、描画オブジェクト情報を描画オブジェクトテーブルのエントリ５０３に記録したので、エントリ４０２はポインタ４０５を持つ。
【００５４】
符号２１０の概形が求まると、ブロック分割部１によって、図７に示される対応テーブルが更新される。ブロック分割部１は、矩形領域３０５を含む可能性があるエントリとして、ブロック番号１３、１７に、描画オブジェクトテーブルへのポインタ２（符号４０５）をコピーする。
【００５５】
再び、図３の説明に戻り、符号２１１の記述部分は、以上で定義した処理を１ページとして出力することを指示する命令である。この命令によって、描画ブロック分割部１は、１ページの描画終了を検知する。描画が終了すると、ブロック分割部１は、ＣＰＵ４に描画終了（テーブルの作成終了）を通知する。
【００５６】
以上のようにＰｏｓｔＳｃｒｉｐｔによる図形記述では、書き込むべき図形についての定義や、色の指定等の描画処理におけるオプションの指示と、描画の種類の指定と、描画処理の実行指示と、からなっている。この実行指示をブロック分割部１が解釈し、対応テーブルと、描画オブジェクトテーブルとを作成した時点で、各ブロック間の依存関係は解消できる。
【００５７】
この時点では、各ブロックは、例えばブロック３０７のように実際には描画されない描画オブジェクト情報（ブロック３０７の例では円オブジェクト３０２の情報）をもつ場合がある。このような余分な描画オブジェクト情報は、画像処理部２のエッジ検出処理部３において、描画オブジェクトと、スキャンライン及び／又はブロック境界との正確な交点を求める時点で除外される。また、各ブロックは描画オブジェクトがブロック内に存在する場合、必ず描画オブジェクトの情報をもつため、ブロック全体に描画オブジェクトが覆い被さっているような場合でも正しく描画を行うことができる。
【００５８】
（実施形態２）
本実施形態では、上述した実施形態１と異なる点について主に説明を行なう。図８は、画像形成装置の一例のハードウェア構成図（その２）である。図８に示される画像形成装置は、図１に示した画像形成装置に比べて、回転制御部５と、記憶部６と、が含まれている。
【００５９】
回転制御部５は、ブロック毎に、描画オブジェクトの軌跡に関して、Ｙ方向（垂直方向）移動量の絶対値の総和と、Ｘ方向（水平方向）移動量の絶対値の総和と、を求める。次に、回転制御部５は、Ｙ方向移動量の絶対値の総和（Ｙ方向の軌跡の積分値）と、Ｘ方向移動量の絶対値の総和（Ｘ方向の軌跡の積分値）と、を比較する。そして、回転制御部５は、Ｙ方向移動量の絶対値の総和が、Ｘ方向移動量の絶対値の総和より大きいか否かを判断する。つまり、回転制御部５は、以下に示す（式１）が成り立つか否かを計算する。
Ｙ方向移動量の絶対値の総和  ＞  Ｘ方向移動量の絶対値の総和  ・・・（式１）
【００６０】
図９は、ブロックの回転制御を説明するための図である。図９に示されるように、回転制御部５は、（式１）が成り立つと判定すると、ブロックを９０度回転するよう制御する。一方、回転制御部５は、（式１）が成り立たないと判定すると、ブロックを回転させない。
【００６１】
回転制御部５は、ブロック毎に、回転を行なったか否かの情報（臨時回転情報）を記憶部６に格納する。なお、回転制御部５は、この臨時回転情報を、図７に示したテーブルに格納するようにしてもよい。
【００６２】
このような処理を行うことで、ブロック上の描画オブジェクトはＹ方向の移動量の絶対値の総和が、Ｘ方向の移動量の絶対値の総和より少ない状態となる。よって、画像を水平方向に走査線単位で辺情報を抽出しながら処理を行っていくＵＦＲにおいて、走査線が描画オブジェクトを横切る（Ｙ方向の描画移動と交わる）確率が低くなる。特にオブジェクトが一つのブロック内に完全に内包される場合には、確実に、ブロック内で走査線が描画オブジェクトを横切る回数が減少する。
【００６３】
よって、データ処理量を削減させ、効率的に画像形成処理を行なうことができる。
【００６４】
回転制御部５は、臨時回転情報に基づいて、９０度回転させたブロックに係る、ピクセル展開処理部７０７より出力されたピクセルマップデータは、９０度逆に回転させる。
【００６５】
本実施形態では、説明の簡略化のため、三角形の描画オブジェクトを用いて説明を行なった。しかしながら（式１）は、ベジェスプライン等、任意の自由曲線の指示座標に関して適用でき、極めて容易に計算できる。よって、例えば１ページ全体にベジェ曲線がスパゲティのように描かれているような複雑な図形であったとしても、容易かつ高速に計算ができる。
【００６６】
（実施形態３）
本実施形態では、上述した実施形態２と異なる点について主に説明を行なう。上述した実施形態２では、ブロック毎に、描画オブジェクトの軌跡に関して、Ｙ方向（垂直方向）移動量の絶対値の総和と、Ｘ方向（水平方向）移動量の絶対値の総和と、を求めて、（式１）が成り立つか否かを判断した。
【００６７】
しかしながら、描画オブジェクトに係る複数のブロックを一つの矩形領域と考え、矩形領域毎に、描画オブジェクトの軌跡に関して、Ｙ方向（垂直方向）移動量の絶対値の総和と、Ｘ方向（水平方向）移動量の絶対値の総和と、を求めてもよい。そして、この矩形領域毎に（式１）が成り立つか否かを判断し、矩形領域に係るブロックを矩形領域単位又はブロック単位に回転させるようにしてもよい。
【００６８】
本実施形態における、移動量の絶対値の総和の計算の一例を、図３及び図４を用いて説明する。
上述したように、符号２０７は、三角形オブジェクト３０４の形状を定義している記述部分である。最初に、ｍｏｖｅｔｏ命令によってペン座標を（Ｘ、Ｙ）＝（１８０、２８０）に移動させるよう定義されている。また、ここから、順にｌｉｎｅｔｏ命令によって座標（１２０、  ７０）、（３１５、１７０）、（１８０、２８０）に直線を引き、三角形を描くよう定義されている。
【００６９】
この場合、回転制御部５は、Ｙ方向の移動量の絶対値の総和を
Ｙ方向の移動量の絶対値の総和  ＝  ｜７０  −  ２８０｜  ＋  ｜１７０  −  ７０｜  ＋  ｜２８０  −  １７０｜  ＝  ４２０と算出する。
【００７０】
また、回転制御部５は、Ｘ方向の移動量の絶対値の総和を
Ｘ方向の移動量の絶対値の総和  ＝  ｜１２０  −  １８０｜  ＋  ｜３１５  −１２０｜  ＋  ｜１８０  −  ３１５｜  ＝  ３９０と算出する。
【００７１】
したがって、この場合、回転制御部５は、（式１）が成り立つと判断する。
【００７２】
回転制御部５は、（式１）が成り立つと判断すると、三角形オブジェクト３０４に関する矩形領域３０３に係るブロックを矩形領域単位又はフロック単位で回転させる。
【００７３】
以上、上述した各実施形態によれば、データ処理量を削減させ、効率的に画像形成処理を行なうことができる。
【００７４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７５】
【図１】画像形成装置の一例のハードウェア構成図（その１）である。
【図２】走査線単位で辺情報を抽出しながら画像処理を行なう概念図である。
【図３】ＰｏｓｔＳｃｉｒｐｔ言語で記述された印刷データの一例を示す図である。
【図４】図３に示される印刷データで描画されるデータの一例を示す図である。
【図５】円オブジェクト３０２、三角形オブジェクト３０４、曲線オブジェクト３０６の概形（領域情報）を示す図である。
【図６】各描画オブジェクトの情報を格納する描画オブジェクトテーブルの一例を示す図である。
【図７】ブロックと、各描画オブジェクトとの対応関係を示す対応テーブル（対応関係情報）の一例を示す図である。
【図８】画像形成装置の一例のハードウェア構成図（その２）である。
【図９】ブロックの回転制御を説明するための図である。
【符号の説明】
【００７６】
１  ブロック分割部
２  画像処理部
３  メモリ
４  ＣＰＵ
５  回転制御部
６  記憶部
【図１】
0004764730.tif 000002
【図２】
0004764730.tif 000003
【図３】
0004764730.tif 000004
【図４】
0004764730.tif 000005
【図５】
0004764730.tif 000006
【図６】
0004764730.tif 000007
【図７】
0004764730.tif 000008
【図８】
0004764730.tif 000009
【図９】
0004764730.tif 000010