"画像データを所定のブロック単位に分割し、画像形成を行う画像形成装置であって、ブロック分割時に、ブロックに含まれる複数のブロックラインうち、閉領域の構成が同一である連続するブロックラインを判別するブロック構成判別手段と、前記ブロック構成判別手段にて判別した判別結果と、前記複数のブロックラインそれぞれの情報とを用いて、ブロックそれぞれの中間言語のデータを生成するブロック中間言語生成手段と、前記ブロック中間言語生成手段にて生成したブロックそれぞれの中間言語のデータに対応する画像形成方法を選択するブロック画像形成方法選択手段と、前記ブロック画像形成方法選択手段にて選択した画像形成方法に従い、前記ブロックそれぞれの中間言語のデータに対する画像形成を行う画像形成手段とを有することを特徴とする画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに含まれる複数のブロックラインが全て同一の閉領域の構成であるか否かを判定することを特徴とする請求項1に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに含まれる複数のブロックラインのうち、所定ライン数以上が同一の閉領域の構成であるか否かを判定することを特徴とする請求項1または2に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに含まれる複数のブロックラインが全て単色にて画像形成が可能か否かを判定することを特徴とする請求項1乃至3のいずれか一項に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに含まれる複数のブロックラインそれぞれに含まれる閉領域数を判別することを特徴とする請求項1乃至4のいずれか一項に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに含まれる複数のブロックラインそれぞれの閉領域内のレイヤの組み合わせを判別することを特徴とする請求項1乃至5のいずれか一項に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックに単色以外の閉領域のレイヤが存在するか否かを判別することを特徴とする請求項1乃至6のいずれか一項に記載の画像形成装置。前記ブロック構成判別手段は、判別するブロックにおいて、当該ブロックの最初のブロックラインの閉領域の構成が直前に判別したブロックの最後のブロックラインの閉領域の構成と同一であるか否かを判定することを特徴とする請求項1乃至7のいずれか一項に記載の画像形成装置。前記ブロック構成判別手段は、ブロックに含まれる複数のブロックラインが全て同一の閉領域の構成であるか否かを判別する際に、ブロック内の閉領域数および閉領域内のレイヤの組み合わせが同一であるブロックライン数を示す同一ブロックライン数が、ブロックに含まれるブロックライン数と同一であるかで判定することを特徴とする請求項2に記載の画像形成装置。前記ブロック構成判別手段は、ブロックに含まれる複数のブロックラインのうち所定ライン数以上が同一の閉領域の構成であるか否かを判別する際に、ブロック内の閉領域数および閉領域内のレイヤの組み合わせが同一であるブロックライン数を示す同一ブロックライン数から判定することを特徴とする請求項3に記載の画像形成装置。前記ブロック構成判別手段は、ブロックに含まれる複数のブロックラインが全て単色にて画像形成が可能か否かを判別する際に、ブロックに含まれる複数のブロックラインの最大閉領域数が1であり、且つ単色以外のレイヤが当該ブロックに含まれるかを元に判定することを特徴とする請求項4に記載の画像形成装置。前記ブロック構成判別手段がブロックに含まれる複数のブロックラインが全て同一の構成であると判別した場合、前記ブロック中間言語生成手段は、1ライン目のブロックラインの情報のみを用いて中間言語のデータを生成することを特徴とする請求項2に記載の画像形成装置。前記ブロック構成判別手段がブロックに含まれる複数のブロックラインのうち、前記所定ライン数以上が同一の閉領域の構成であると判別した場合、前記ブロック中間言語生成手段は、1ライン目のブロックラインの情報と、当該複数のブロックラインにおける1ライン目から前記所定ライン数よりも後のブロックラインの情報とから中間言語のデータを生成することを特徴とする請求項3に記載の画像形成装置。前記ブロック構成判別手段がブロックに含まれる複数のブロックラインが全て単色にて画像形成が可能であると判別した場合、前記ブロック中間言語生成手段は、単色情報を生成し、該単色情報のみを用いて中間言語のデータを生成することを特徴とする請求項4に記載の画像形成装置。前記ブロック構成判別手段がブロックの最初のブロックラインの構成が直前に判別したブロックの最後のブロックラインの閉領域の構成と同一であると判定した場合、前記ブロック中間言語生成手段は、ブロックの1ライン目のブロックラインの情報を省略し、同一である旨を示す中間言語のデータを生成することを特徴とする請求項8に記載の画像形成装置。前記ブロック画像形成方法選択手段は、画像形成の対象となるブロックの最初のブロックラインに対する中間言語のデータが直前に画像形成を行ったブロックの最後のブロックラインと同一である旨の中間言語のデータである場合、前記直前に画像形成を行ったブロックと同一の画像形成方法を選択することを特徴とする請求項15に記載の画像形成装置。画像データを所定のブロック単位に分割し、画像形成を行う画像形成方法であって、ブロック構成判別手段が、ブロック分割時に、ブロックに含まれる複数のブロックラインうち、閉領域の構成が同一である連続するブロックラインを判別するブロック構成判別工程と、ブロック中間言語生成手段が、前記ブロック構成判別工程にて判別した判別結果と、前記複数のブロックラインそれぞれの情報とを用いて、ブロックそれぞれの中間言語のデータを生成するブロック中間言語生成工程と、ブロック画像形成方法選択手段が、前記ブロック中間言語生成工程にて生成したブロックそれぞれの中間言語のデータに対応する画像形成方法を選択するブロック画像形成方法選択工程と、画像形成手段が、前記ブロック画像形成方法選択工程にて選択した画像形成方法に従い、前記ブロックそれぞれの中間言語のデータに対する画像形成を行う画像形成工程とを有することを特徴とする画像形成方法。コンピュータを、画像データを所定のブロック単位に分割し、ブロックに含まれる複数のブロックラインうち、閉領域の構成が同一である連続するブロックラインを判別するブロック構成判別手段、前記ブロック構成判別手段にて判別した判別結果と、前記複数のブロックラインそれぞれの情報とを用いて、ブロックそれぞれの中間言語のデータを生成するブロック中間言語生成手段、前記ブロック中間言語生成手段にて生成したブロックそれぞれの中間言語のデータに対応する画像形成方法を選択するブロック画像形成方法選択手段、前記ブロック画像形成方法選択手段にて選択した画像形成方法に従い、前記ブロックそれぞれの中間言語のデータに対する画像形成を行う画像形成手段として機能させるためのプログラム。ここで、ブロック単位での画像形成処理に対して、スキャンラインモデルでの画像形成方法の高速化手法の適用を行う場合を考える。このとき、従来のページ上におけるライン上のエッジを元に高速化処理を適用するか否かを判定すると、最適なブロックの画像形成処理が行えない場合がある。例えば、図6に示すブロック1501の画像形成の場合、ブロック描画ライン1502のブロック描画ライン情報は、ブロックライン中間言語506の形式をとる。また、前述の高速化手法の適用を行った場合、2ライン目以降のブロック描画ライン例えばブロック描画ライン503のブロックライン情報は、ブロックライン中間言語507の形式をとる。ここで、ブロックライン毎に、閉領域数閉領域に含まれるレイヤ数レイヤ情報の組み合わせは変わらないため、2ライン目以降のブロック描画ラインでは、省略が可能となるため、ブロックライン中間言語507の形式をとる。このように、ブロック1501に対しては、前述の高速化手法をそのまま適用が可能となる。しかし、ブロック2601は、ブロック描画ライン1602ではブロックライン中間言語606の形式をとる。またブロック描画ライン2603では、ブロックライン中間言語607の形式をとる。すると、ブロック描画ライン1602に含まれる閉領域数は1つだったのに対し、ブロック描画ライン2603では閉領域数が2つになる。従って、エッジ追加ラインで示されるライン情報同一領域2405内に含まれても、ブロックに分割されることにより、ブロック内のライン毎の特性が異なる現象が発生する。また、図7に示すエッジ追加頻度の高い領域701のような個所の描画の際、左端の文字情報によりエッジ追加が頻発する。ここで、ブロック3702の描画の際、従来のエッジ追加ラインで高速化を判定すると、ブロック描画ライン1703のブロック中間言語は、ブロックライン中間言語710の形式をとる。同様に、ブロック描画ライン2704以降のブロックラインに対しても、同一のブロックライン中間言語710の形式をとる。しかし、エッジ追加頻度の高い領域701では、例えば毎ラインエッジの追加ラインとして判定されることにより、前記高速化手法が適用出来ないと判定されてしまい、ブロックライン中間言語の省略が出来ないと判定されてしまう。さらに、ブロック3702のブロック描画ラインNにおけるブロックライン中間言語と、ブロック4705のブロック描画ライン1707のブロックライン中間言語は、共にブロックライン中間言語710に示す形式をとる。しかし、従来の副走査方向に同一か否かで省略を判定する技術では、例えブロック4のブロック描画ライン1707で直前に処理したブロック描画ライン情報と同一の描画を行う際でも、使い回せないという問題があった。以上のように、ブロック分割時でも各ブロックに対するデータの最適化の可否を適切に判定でき、高速化が可能なブロック画像形成処理を提供することが課題とされている。上記課題を解決するために、本願発明に係る画像形成装置は以下の構成を有する。すなわち、画像データを所定のブロック単位に分割し、画像形成を行う画像形成装置であって、ブロック分割時に、ブロックに含まれる複数のブロックラインうち、閉領域の構成が同一である連続するブロックラインを判別するブロック構成判別手段と、前記ブロック構成判別手段にて判別した判別結果と、前記複数のブロックラインそれぞれの情報とを用いて、ブロックそれぞれの中間言語のデータを生成するブロック中間言語生成手段と、前記ブロック中間言語生成手段にて生成したブロックそれぞれの中間言語のデータに対応する画像形成方法を選択するブロック画像形成方法選択手段と、前記ブロック画像形成方法選択手段にて選択した画像形成方法に従い、前記ブロックそれぞれの中間言語のデータに対する画像形成を行う画像形成手段とを有する。本発明によれば、ブロック分割時でも各ブロックに対する適切なブロックライン中間言語を利用した画像形成処理、及び処理の高速化が可能となる。[本願発明の前提となる従来技術]従来の画像データの画像形成方法の一つとしてライン単位で画像形成処理を行うスキャンラインモデルと呼ばれる画像形成方法が存在する。ここで、本願発明に適用可能な画像形成方法について述べる。例えば、図3に示すページ300のような画像データの画像形成を行う場合、ページ上端から主走査方向にライン単位で画像形成処理を行っていく。ライン毎の描画は、例えば描画ライン301の描画を行う場合、図2に示すエッジ処理部200が、ページ両端及びオブジェクトここではイメージ303の輪郭情報から閉領域305,306,307を検出する。そして、エッジ処理部200は、その情報を元に、ラインごとに中間言語で定義されたデータとして、ライン中間言語310を生成する。図3に示すように、ライン中間言語310は、ラインに含まれる閉領域数を含むライン情報311と、閉領域の領域長や重なるオブジェクト数レイヤ数を含む閉領域情報312,313,314とからなる。さらに、ライン中間言語310は、重なるオブジェクトレイヤの描画情報白色背景情報315,イメージ描画情報316を保持する。白色背景情報315は、白背景302の描画情報を示す。また、イメージ描画情報316は、イメージ303の描画情報を示す。そして、図2に示す閉領域描画部202は、ライン中間言語210描画ライン301の画像形成の際はライン中間言語310を元に所定の閉領域のピクセルデータの生成を行い、バンドピクセルデータ211を生成する。ブロック圧縮部203は、バンドピクセルデータ211が所定の高さ分だけ格納されたことを検知した時点で所定のブロック単位の圧縮処理220,221を行う。ここで、JPEG等は幅高8ピクセル単位で圧縮するため、最低8ピクセル高のピクセルデータが完成した時点で圧縮処理を行う。他圧縮の際は、その所定の高さ分の格納が完了した時点で圧縮を行う。この際、閉領域描画部202はバンド分のピクセルデータを、メモリに展開している。従って生のピクセルデータをメモリへ展開しているため、システムの帯域を消費する。次に、本願発明に適用可能なスキャンラインモデルでの画像形成方法の高速化手法について説明する。例えば、図4に示すように、ページ300を描画する際、ライン上のオブジェクトの輪郭が変化する点はそれぞれ、エッジ追加ライン1401、エッジ追加ライン2402、エッジ追加ライン3403の個所となる。すると、該エッジ追加ラインに囲まれる、ライン情報同一領域1404、ライン情報同一領域2405、ライン情報同一領域3406は、存在するオブジェクトが同一な領域となる。従って、例えばライン情報同一領域2405の一番上端の描画ライン1407のライン中間言語は、ライン中間言語410になる。また、描画ライン2408において、閉領域1情報412,閉領域2情報413,閉領域3情報414それぞれの領域長は変わる。しかし、ライン情報411に含まれる閉領域数や、閉領域1情報412,閉領域2情報413,閉領域3情報414それぞれのレイヤ数は変化しない。この特性を利用し、描画ライン408からライン情報同一領域2405の最終ラインのライン情報まで、描画ライン2~N情報の形式で、各領域長のみ変更した値のライン中間言語を生成し、それを元に画像形成処理を行う構成をとる。これにより、閉領域描画部202に転送するライン中間言語210のデータサイズの削減、通信処理のトラフィック、さらに閉領域情報やオブジェクト情報に対する各種処理を削減することで高速化を実現する。これにより、メモリアクセスも削減可能となり、前述した帯域の利用が削減でき、閉領域描画部202の負荷及び他システムへの影響も削減することが可能となる。次に、本願発明に適用可能な画像データを所定サイズのブロック単位に分割する画像形成処理について説明する。例えば、前述のブロック単位での圧縮を行う場合、最低でも所定のブロック高さ分のバンドピクセルデータ211を一旦メモリに格納する必要があり、格納に要するメモリが非常に大きいものとなっていた。そこで、図2のブロック描画時に記載のように、ライン中間言語212の形式でブロック高さ分、メモリに一旦格納する。これにより、同じブロック高さ分であっても、ベクタ形式で格納することで、メモリを削減する。図2に示すブロック分割部201は、ライン中間言語212を所定のブロック幅に分割したブロック中間言語213を生成する。閉領域描画部202は、ブロック中間言語213の画像形成を行うことでブロック単位のピクセルデータを生成する。これにより、ピクセルデータの格納も、所定のブロックサイズに削減できる構成が可能となるのである。ブロック中間言語213は、ライン中間言語310の中の所定の幅の領域に該当する閉領域情報からなる。例えば、図5に示すように、ブロック1501は、複数のブロック描画ライン1,2N502,503,504等から構成される。ブロック描画ライン1502は、全て白色背景の描画である。従って、ブロックライン中間言語506のように、閉領域数1つのライン情報511と、閉領域情報512及び白色背景情報315とから構成される。また、ブロック描画ライン1,2,,N共に同様の閉領域のため、ここでのブロック中間言語505は、N個分のブロックライン中間言語506から構成される。本実施形態において、入力データに対して分割するブロック単位は8×8ピクセルからなる構成として説明をするが、これに限定するものではない。また、入力データとして、図3のページ300に示すように、1または複数の描画オブジェクトを含むものとする。これにより、画像データは、複数のレイヤを構成することとなる。以上に説明した従来技術を前提として、以下に本願発明の特徴となる処理について説明する。[機器構成]本発明の実施の形態を、図面を参照して説明する。本実施形態では、画像形成装置100のようなMFPMultiFunctionPrinterを例として用いた。もちろん、SFPSingleFunctionPrinterやLBPLaserBeamPrinter、その他のプリント方式のプリンタでもよいことは言うまでもない。図1は、本発明に係る電子部品としてのコントローラが搭載された画像形成装置の一実施形態としての構成を示すブロック図である。画像形成装置100は、イーサネット等のLANLocalAreaNetworkにて、ホストコンピュータPC160に接続されている。画像形成装置100は、リーダ装置140、プリンタ装置150、操作/表示部120、データ記憶部130、さらに、これら各構成要素を制御する制御装置コントローラ部110によって構成されている。制御装置110は、CPU111、ROM112、RAM113等を有し、CPU111がROM112または他の記憶媒体に格納されたプログラムに基づいて、画像形成装置100全体を統括制御する。例えば、制御装置110は、CPU111に、それぞれPDL解析処理中間言語生成処理、及びレンダリング処理等を行うための予め決められたプログラムをロードする構成をとる。またレンダリング処理に関しては、ここでは記述しないが専用のハードウェアを利用しても構わない。プリンタ装置150は、画像データの出力を行う。操作/表示部120は、画像出力処理を行うための各種印刷設定の操作を行うキーボード、及び画像出力設定を行う操作ボタン等の表示を行う液晶パネルを備える。データ記憶部130は、画像データやドキュメントデータ、印刷装置制御言語例えば、ESCコード、PDLPageDescriptionLanguageなどの印刷データの格納/保存ができる。例えば、データ記憶部130は、LANを介してホストコンピュータPC160より受信した画像データドキュメントPDLや、リーダ装置140を制御して読み込む画像データの格納/保存ができる。上述のような構成の画像形成装置を例に挙げ、本発明の具体的な実施形態を以下に述べる。また、本実施形態におけるソフトウェア構成については、図2を用いて述べたもとと同様の構成を用いるものとする。[全体処理フロー]図8は、本実施形態における画像形成装置100の、ページ画像に対する画像形成処理の一連の処理フローを示す図である。本処理は、画像形成装置100に搭載されたCPU111が記憶部であるROM112等に格納されたプログラムを読み出し、実行することにより実現される。また、処理を行う各部位については、図2に示したものと同様とする。まず、PDLで示されたページ画像情報の印刷指示が、PC160から転送され、画像形成装置100は、転送されたPDLを、データ記憶部130に格納する。次に、画像の生成処理を行うため、CPU111は、データ記憶部130からPDLを取得し、解析処理を行うS801。次にCPU111は、解析したPDLから、所定のレンダリング可能なページ中間言語の生成処理を行うS802。続いて、CPU111にロードされるプログラムの一部を指すエッジ処理部200は、S802で生成されたページ中間言語を元に、ライン中間言語212の生成処理を行うS803。そして、エッジ処理部200は、所定のブロック高さ分のライン中間言語212の生成処理が完了するまで処理を行うS804にてYES。次に、CPU111にロードされるプログラムの一部を指すブロック分割部201は、ブロック高さ分のライン中間言語212から、所定の幅高のブロックデータを示すブロック中間言語213を生成するブロック分割処理を行うS805。次に、ブロック分割部201は、ブロック分割処理S805で生成されたブロック中間言語213を解析し、解析したブロックに対する画像形成方法を判定するブロック画像形成方法選択処理を行うS806。ここでの処理についての詳細は、図9を用いて後述する。次に、ブロック分割部201は、ブロック画像形成方法選択処理S806で選択された画像形成方法を指示する識別情報の付加と、選択された画像形成方法に応じたブロック中間言語213の生成処理を行うS807。ここでの処理についての詳細は、図15を用いて後述する。次に閉領域描画部202は、ブロックデータ中間言語生成処理S807で生成されたブロック中間言語213が指示する画像形成方法で、所定のブロックの画像形成処理を行い、ブロックピクセルデータ214を生成するS808。ここでの処理についての詳細は、図18を用いて後述する。閉領域描画部202は、CPU111にロードされるプログラムの一部、もしくは制御装置コントローラ部110に搭載のハードウェアのどちらでも構わない構成をとる。CPU111は、上記のS805~S808の処理をページの幅分繰り返し処理を行うS809。さらに、CPU111は、S803~S809の処理をページ高さ分繰り返すS810ことにより、ページ画像の形成処理を行う。[ブロック画像形成方法選択処理]図9は、本実施形態における図8で示したブロック画像形成方法選択処理S806の詳細なフローを示す図である。まず、ブロック分割部201は、画像形成処理を行うブロックの先頭ブロックラインの画像形成方法を選択するブロック先頭モード選択処理を行うS901。ここでは、例えば本実施形態では、直前に画像形成の対象となったブロックの最終ブロックラインの描画情報が利用可能かを判定する処理を行う。ここでの処理についての詳細は、図10を用いて後述する。次に、ブロック分割部201は、画像形成の対象となるブロックの画像形成方法を選択するブロックモード選択処理を行うS902。ここでは、例えば本実施形態では、ブロック内に含まれる各ブロックラインの画像形成にて、先頭ブロックラインの描画情報が利用可能か、またどのように利用可能かを判定する処理を行う。ここでの処理についての詳細は、図12を用いて後述する。[ブロック先頭モード選択処理]図10は、本実施形態における図9で示したブロック先頭モード選択処理S901の詳細なフローを示す図である。まず、ブロック分割部201は、直前に画像形成の対象となったブロックの最終ブロックラインの情報と、今回、画像形成の対象であるブロックの先頭ブロックラインの情報との、ブロックラインの比較処理を行うS1001。ここでの処理についての詳細は、図11を用いて後述する。次に、ブロック分割部201は、ブロックライン比較処理S1001での二つのブロックラインの比較処理の結果が、同一であると判定されたか否かを判定するS1002。同一であると判定された場合S1002にてYES、S1003に進む。ここで、ブロック分割部201は、直前に画像形成の対象となったブロックの最終ブロックラインの情報を、今回、画像形成の対象となるブロックの先頭のブロックラインの画像形成処理時にも利用可能と判定する。そこで、ブロック分割部201は、判定結果を識別可能にするブロック先頭モードへ所定の設定ここでは1を指定を行うS1003。同一でないと判定された場合S1002にてNO、S1004に進む。ここで、ブロック分割部201は、直前に画像形成の対象となったブロックの最終ブロックラインの情報を、今回、画像処理の対象となるブロックの先頭のブロックラインの画像形成処理時では利用不可と判定する。そこで、ブロック分割部201は、判定結果を識別可能にするブロック先頭モードへ所定の設定ここでは0を指定を行うS1004。[ブロックライン比較処理]図11は、本実施形態における図10及び図13で示すブロックライン比較処理S1001、S1305の詳細なフローを示す図である。ブロック分割部201は、まず比較するブロックライン同士の閉領域数が同一であるか否かを判定するS1101。同一であると判定した場合S1101にてYES、S1102に進む。また同一でないと判定した場合S1101にてNO、S1105に進み、ブロック分割部201は、比較した二つのブロックラインは異なるブロックラインであると判定する。ブロック分割部201は、ここでの判定結果を保持しておく。ブロック分割部201は、ブロックラインに含まれる閉領域が保持するレイヤの組み合わせが全て同一であるかを判定するS1102。同一であると判定した場合S1102にてYES、S1103に進む。また同一でないと判定した場合S1102にてNO、S1105に進み、ブロック分割部201は、比較した二つのブロックラインは異なるブロックラインであると判定する。ブロック分割部201は、ここでの判定結果を保持しておく。ブロック分割部201は、S1102における判定処理を、ブロックラインに含まれる閉領域数分だけ処理を繰り返すS1103。そして、全ての閉領域にてレイヤの組み合わせが同一であった場合S1103にてYES、S1104に進み、ブロック分割部201は、同一のブロックラインであり、同一の閉領域の構成を有するブロックラインが連続していると判定するS1104。ブロック分割部201は、ここでの判定結果を保持しておく。[ブロックモード選択処理]図12は、本実施形態における図9で示したブロックモード選択処理S902の詳細なフローを示す図である。また図14は、各ブロックの構成に応じて、上述した従来技術の手法により生成されるブロック中間言語の概念を示す図である。図12において、ブロック分割部201は、まず画像形成処理を行うブロックの構成の判別処理を行うS1201。ここでの処理についての詳細は、図13を用いて後述するが、本実施形態では、ブロックの構成判別処理S1201は、例えばブロックライン毎の閉領域数及び閉領域毎に含まれるレイヤの組み合わせが同一であるかを判定する。次に、ブロック分割部201は、ブロック構成判別処理S1201で取得する同一ブロックライン数が、画像形成処理の対象となるブロックの高さブロックライン数と同一であるかを判定するS1202。つまり、ブロックに含まれる全てのブロックラインの閉領域数及び各閉領域に含まれるレイヤの組み合わせが同一であるかをこの判定処理で判定する。例えば、従来技術において、図14で示すブロック21402のブロックライン中間言語は、それぞれブロックライン中間言語1422~1424の形式をとる。この時、ブロックライン中間言語1422~1424の閉領域数及び各閉領域内に含まれるレイヤの組み合わせは同一となる。従って、このような場合、ブロックの先頭ラインのブロックライン中間言語11422の情報を2ライン目以降のブロックラインでも利用可能であると分かる。また、図14で示すブロック31403のブロックライン中間言語は、それぞれブロックライン中間言語1432~1434の形式をとる。同様にこの時、ブロックライン中間言語1432~1434の閉領域数及び各閉領域内に含まれるレイヤの組み合わせは同一となる。従って、このような場合、ブロックの先頭ラインのブロックライン中間言語11432の情報を2ライン目以降のブロックラインでも利用可能であると分かる。ブロック分割部201は、判定処理S1202、S1203にて、このように閉領域数及び各閉領域内のレイヤ情報を最適化可能であるブロック構成であることを判定する。そして、ブロック分割部201は、その旨を識別可能なブロックモードの設定ここでは2を設定を行うS1206。次に、ブロック分割部201は、ブロック構成判別処理S1201で取得するMAX閉領域数が1、且つImageFlag情報の値がFALSEであるかを判定するS1203。つまり、ここでブロックに含まれる全てのブロックラインの閉領域数が1で、各閉領域に含まれるレイヤの組み合わせが同一で且つ単色のレイヤのみで構成されることを判定することができる。これにより、ブロック内のブロックピクセルデータ214が1色の単色で示せることが分かる。例えば、図14で示すブロック11401のブロックライン中間言語は、それぞれブロックライン中間言語1412~1414の形式をとる。この時、ブロックライン中間言語1412~1414は、全て白色描画となる。従って、1色の単色でブロックを表現可能となる。この場合、ブロック分割部201は、特に閉領域の情報を保持しなくても、単色情報でブロックの画像形成が可能であると判定しS1203にてYES、その旨を識別可能なブロックモードの設定ここでは1を設定を行う1205。次に、ブロック分割部201は、ブロック構成判別処理S1201で取得する同一ブロックライン数が、所定数以上であるかを判定するS1204。つまり、ブロックに含まれるブロックラインは、全てでなくとも、所定ライン数以上が閉領域数及び各閉領域に含まれるレイヤの組み合わせが同一であるかをこの判定処理で判定する。ここでの所定数は予め定義され、記憶部に保持されているものとする。例えば、図14で示すブロック41404のブロックライン中間言語は、それぞれブロックライン中間言語1422~1425の形式をとる。この時、ブロックライン中間言語1422~1425の閉領域数及び各閉領域内に含まれるレイヤの組み合わせは例えば、M-1ライン目まで同一となる。従って、このような場合、ブロックの先頭ラインのブロックライン中間言語1の情報をM-1ライン目まで利用可能であると分かる。ブロック分割部201は、M-1ライン目まで閉領域数及び各閉領域内のレイヤ情報を最適化可能であるブロック構成であることを判定しS1204にてYES、その旨を識別可能なブロックモードの設定ここでは3を設定を行うS1207。また、所定数未満であると判定した場合S1204にてNO、ブロック分割部201は、前述したような最適化が不可であるとして、ブロックライン中間言語の生成を行うブロックモードの設定ここでは4を設定を行うS1208。最後に、ブロック分割部201は、次のブロックのブロック先頭モード選択処理S901の処理を行うための、最終ブロックラインのライン中間言語を内部に保持する処理を行うS1209。[ブロック構成判別処理]図13は、本実施形態における図12で示したブロック構成判別処理S1201の詳細なフローを示す図である。ブロック分割部201は、まず画像形成を行うブロックの先頭ブロックラインの情報を取得するS1301。次に、ブロック分割部201は、ブロック構成判別処理で判別するブロックの構成情報を格納する各種変数の初期化を行うS1302。ここで初期化される変数は、MAX閉領域数、同一ブロックライン数、ImageFlag情報、および全ブロックライン同一Flagが対象となる。ここで、各変数について説明する。MAX閉領域数は、ブロックに含まれる各ブロックラインにおいて、閉領域の数が最も多い最大閉領域数を示す。同一ブロックライン数は、ブロックに含まれるブロックラインのうち、同一のブロックラインの数を示す。ImageFlag情報は、当該ブロックがイメージか否かを示す。全ブロックライン同一Flagは、ブロックに含まれるブロックラインが全て同一か否かを示す。次に、ブロック分割部201は、次のブロックライン情報を取得するS1303。次に、ブロック分割部201は、前回取得したブロックラインとS1303で取得したブロックラインの閉領域数の比較を行うS1304。ブロック分割部201は、ブロックの最初の処理の場合は、先頭ブロックライン及び次のブロックラインの双方の閉領域数を識別する。その際、閉領域数が所定数以上と判定された場合、S1307に進み、ブロック分割部201は、MAX閉領域数の更新を行うS1307。また閉領域数が所定数未満と判定された場合、S1305に進み、前回処理したブロックラインと、今回処理するブロックラインの比較処理を示すブロックライン比較処理を行う。ここでのブロックライン比較処理は、図11を用いて説明したものと同様である。なお、S1304にて用いられる所定数の情報については、予め定義され、記憶部にて保持されているものとする。次に、ブロック分割部201は、S1305のブロックライン比較処理で比較したブロックラインが同一であると判定されたか否かを判定するS1306。同一であると判定された場合S1306にてYES、S1307に進む。また同一でないと判定された場合S1306にてNO、S1315に進み、ブロック分割部201は、全ブロックライン同一Flagの更新処理を行うS1315。ここでの更新処理では、全ブロックライン同一FlagにFALSEを代入する。次に、ブロック分割部201は、MAX閉領域数と、現在のブロックラインの閉領域数との大小関係を比較するS1307。現在のブロックラインの閉領域数の方が大きい場合S1307にてYES、S1308に進み、ブロック分割部201は、MAX閉領域数の更新を行うS1308。ここでの更新処理は、MAX閉領域数に現在のブロックラインの閉領域数を代入する。その後、S1309へ進む。MAX閉領域数の方が大きい場合S1307にてNO、S1309に進む。次に、ブロック分割部201は、処理するブロックラインに単色以外のレイヤが存在するか否かを判定するS1309。存在すると判定された場合S1309にてYES、S1310に進み、ImageFlag情報の更新処理を行うS1310。ここでの更新処理は、ImageFlag情報にONを代入する。その後、S1311へ進む。存在しないと判定された場合S1309にてNO、S1310に進む。ブロック分割部201は、同一ブロックライン数の更新処理を行うS1311。次に、ブロック分割部201は、ブロックに含まれるライン数分の判定処理が完了したか否かを判定するS1312。完了していないと判定された場合S1312にてNO、S1303に進み、ブロック分割部201は、ブロックライン数分処理を繰り返す。また完了したと判定された場合S1312にてYES、S1313に進み、ブロック分割部201は、全ブロックライン同一Flag情報を更新するS1313。ここでの更新処理では、全ブロックライン同一FlagにTRUEを代入する。[ブロック中間言語生成処理]図15は、本実施形態における図8で示したブロック中間言語生成処理S807の詳細なフローを示す図である。また図16は、その際に生成される本実施形態に係る各ブロックのブロック中間言語の概念を示す図である。ここで、本実施形態におけるブロック中間言語の特徴として、図14に示す従来のデータ構造とは異なり、各ブロックにおけるブロック中間言語の構成を示す情報を含んでいる。これは、ブロック内に含まれる各ブロックラインの構成を判別し、その判別結果に基づいた、ブロック中間言語のデータ構造を示す。この情報を用いることで、ブロック中間言語を用いて描画処理を行う際にどのようなデータ構造であるかを特定することができる。また、この本願発明に特有のデータ構造とすることで、中間言語のデータ量を削減しつつ、画像生成方法を選択する際の指標とすることができる。また、図17についても、本実施形態において特徴とするデータ構造を示している。図16、図17についての詳細な説明は、フローと併せて後述する。ブロック分割部201は、まず図12にて示したブロックモード選択処理S902で選択されたブロックモードにどのモードが選択されているかを判定する処理を行うS1501。ブロック分割部201は、図9にて示したブロック画像形成方法選択処理S806で選択されたブロックモードに対応するブロック中間言語の生成処理を行う。まず、ブロックモードに1が設定されていた場合、そのブロックは単色情報で示すことが可能である。従って、ブロック分割部201は、閉領域に含まれるレイヤ情報から、ブロックの単色情報の算出処理を行うS1502。例えば、図16に示すブロック11401の場合は、白色が算出される。次に、ブロック分割部201は、算出した単色情報及びブロック画像形成方法選択処理S806で選択されたブロックモードに応じたブロック中間言語1610の生成処理を行うS1503。例えばブロック11401の場合、単色情報を示すブロックライン中間言語1612とブロックモードを示すブロックライン中間言語1611から構成されるブロック中間言語1610が生成される。次に、ブロックモードに2が設定されていた場合、そのブロックは判定処理S1202で判定したように、ブロックの先頭ラインのブロックライン中間言語のみで画像形成可能である。従って、ブロック分割部201は、ブロックの先頭ラインのブロックライン中間言語で構成されるブロック中間言語1620の生成処理を行うS1504。ブロック中間言語1620は、ブロック21402の場合、該ブロックの先頭ラインのブロックライン中間言語1622を保持する構成をとる。さらに、ブロック中間言語1620は、ブロックライン中間言語1622を利用してブロックラインの画像形成を指示するブロックライン中間言語2~N1623から構成される。さらに、ブロック中間言語1620は、ブロックモード1621を示す情報を付加したブロック中間言語として生成される。またブロック中間言語1620は、ブロック31403の場合、該ブロックの先頭ラインのブロックライン中間言語1632を保持する構成をとる。さらに、ブロックライン中間言語1632を利用してブロックラインの画像形成を指示するブロックライン中間言語2~N1633から構成される。さらに、ブロックモードを示すブロックライン中間言語1631を付加したブロック中間言語として生成される。次に、ブロックモードに3が設定されていた場合、そのブロックは判定処理S1204で判定したように、ブロックの先頭ラインのブロックライン中間言語で、所定のブロックラインまでの画像形成が可能である。従って、ブロック分割部201は、ブロックの先頭ラインのブロックライン中間言語と、所定のブロックラインからのブロックライン中間言語で構成されるブロック中間言語1640の生成処理を行うS1505。ブロック中間言語1640は、例えばブロック41402の場合、該ブロックの先頭ラインのブロックライン中間言語1642と、ブロックライン中間言語1642を利用して画像形成を指示するブロックライン中間言語2~M-11643から構成される。さらに所定ライン以降のブロックラインの画像形成を指示するブロックライン中間言語M~N1644から構成される。ここでの所定ライン以降とは、同一ブロックライン数よりも後のブロックラインを意味する。さらに、ブロックモードを示すブロックライン中間言語1641を付加したブロック中間言語として生成される。次に、ブロックモードに4が設定されていた場合、ブロック分割部201は、従来技術で示したように全ブロックライン分のブロックライン中間言語で構成されるブロック中間言語を生成する。次に、ブロック分割部201は、図10にて示したブロック先頭モード選択処理S901で選択されたブロック先頭モードにどのモードが選択されているかを判定する処理を行うS1507。ブロック先頭モードに、1が設定されていた場合、ブロック分割部201は、ブロック内の先頭ブロックラインのブロック中間言語も最適化したブロック中間言語の生成処理を行うS1508。例えば、図17で示すブロック61701の画像形成を行う場合、ブロック11401とブロック61701のブロック中間言語は共にブロック中間言語1610の形式をとる。従って、ブロックライン中間言語1~Nも同一となるため、ブロック分割部201は、単色情報も省略したブロック中間言語1710へ再生成処理を行う。またブロック71702の画像形成を行う場合、ブロック31403とブロック71702のブロック中間言語は共にブロック中間言語1630の形式をとる。従って、ブロックライン中間言語1~Nも同一となるため、ブロック分割部201は、ブロック31403の先頭ブロックライン中間言語を利用することを指示するブロック中間言語1711の生成処理を行うS1508。[ブロックレンダリング処理]図18は、本実施形態における図8で示したブロックレンダリング処理S808の詳細なフローを示す図である。まず閉領域描画部202は、ブロック中間言語に含まれるブロック先頭モードに指定される値を判定するS1801。0が指定されていた場合S1801にてYES、S1802に進む。そして、閉領域描画部202は、直前に画像形成処理を行ったブロックの最終ブロックラインにおけるブロックライン情報を格納するキャッシュブロックラインと呼ぶ領域情報を今回のブロックの画像形成でも利用すると判定するS1802。この場合、前回のブロックの画像形成処理時に既にブロックライン初期化処理S1803が行われ、継続と判定することで該キャッシュブロックラインに既に必要な情報が格納されていることとする。また0以外すなわち1が設定されていた場合S1801にてNO、S1803に進み、閉領域描画部202は、ブロックライン初期化処理S1803を行う。ここでの処理についての詳細は、図19を用いて後述するが、画像形成するブロックの先頭ブロックライン中間言語を元に、内部で処理可能な形式に変換など行う初期化処理をここで行う。次に、閉領域描画部202は、ブロック中間言語に指定されるブロックモードに指定される値を判定するS1804。ブロックモードが1、2、3以外であった場合、S1805に進む。次に、閉領域描画部202は、ブロック中間言語に指定されるブロックラインのレンダリング処理を行う。ここでの処理についての詳細は図21を用いて後述するが、ここでは最適化されていない従来のブロック中間言語を元にレンダリング処理を行う。そして、閉領域描画部202は、ブロック高のレンダリング処理が完了したかを判定しS1806、ブロック高分のレンダリング処理を繰り返すS1806にてNO。次に、S1804にてブロックモードが1であった場合、S1807に進む。そして、閉領域描画部202は、ブロック中間言語に指定される単色情報の取得処理を行うS1807。例えば、ブロック11401の画像形成の際は、閉領域描画部202は、単色情報ブロックライン中間言語1612を取得するS1807。次に、閉領域描画部202は、S1807で取得した単色情報ブロックライン中間言語1612がレンダリング後の結果であるため、その単色情報をそのままレンダリング結果として出力処理を行うS1808。そして、閉領域描画部202は、ブロック高のレンダリング処理が完了したかを判定しS1809、ブロック高分のレンダリング処理を繰り返すS1809にてNO。次に、S1804にてブロックモードが2であった場合、S1810に進む。そして、閉領域描画部202は、ブロック中間言語の先頭ブロックラインのブロックライン中間言語を利用した最適化したレンダリング処理を示す、キャッシュブロックラインレンダリング処理を行うS1810。ここでの処理についての詳細は、図20を用いて後述する。そして、閉領域描画部202は、ブロック高分のレンダリング処理が完了したかを判定しS1811、ブロック高分のレンダリング処理が完了するまで繰り返すS1811にてNO。次に、S1804にてブロックモードが3であった場合、S1812に進む。そして、閉領域描画部202は、ブロック中間言語の先頭ブロックラインのブロックライン中間言語を利用した最適化したレンダリング処理を示す、キャッシュブロックラインレンダリング処理を行うS1812。ここでの処理は、S1801と同様であり、図20を用いて後述する。ブロックモードが3が指定される場合は、所定ラインまでしか、キャッシュブロックラインレンダリング処理図12を行えない。従って、閉領域描画部202は、所定ライン数分のキャッシュブロックラインレンダリング処理を繰り返し行うS1813にてNO。次に、閉領域描画部202は、ブロックラインレンダリング処理S1814を行う。ここでの処理は、S1805と同様であり、図21を用いて後述する。そして、閉領域描画部202は、ブロック高のレンダリング処理が完了したかを判定しS1815、ブロック高分のレンダリングが完了するまでブロックラインレンダリング処理を繰り返すS1806。[ブロックライン初期化処理]図19は、本実施形態における図18で示したブロックライン初期化処理S1803の詳細なフローを示す図である。閉領域描画部202は、まず画像形成を行うブロックの先頭ブロックライン中間言語の取得処理を行うS1901。次に、閉領域描画部202は、先頭ブロックライン中間言語から閉領域情報の取得及び必要な情報をキャッシュブロックラインに格納するS1902。次に、閉領域描画部202は、閉領域内に含まれるレイヤの初期化処理及びキャッシュブロックラインへの格納処理を行うS1903。閉領域描画部202は、ブロックライン内に含まれる閉領域数回分、S1902~S1903の処理を繰り返しS1904、ブロックライン初期化処理を終了する。[キャッシュブロックラインレンダリング処理]図20は、本実施形態における図18で示したキャッシュブロックラインレンダリング処理S1810、S1812の詳細なフローを示す図である。閉領域描画部202は、まずキャッシュブロックラインから必要な閉領域情報を取得するS2001。ここでは既にブロックライン初期化処理S1803でレンダリング可能な形式に変換されていることとなるため、ここでは取得処理のみ行う。次に、閉領域描画部202は、S2001で取得した閉領域情報を取得し、それを元にレンダリング処理を行うS2002。閉領域描画部202は、ブロックライン内に含まれる閉領域数回分、S2001~S2002の処理を繰り返しS2003、キャッシュブロックラインレンダリング処理を終了する。[ブロックラインレンダリング処理]図21は、本実施形態における図18で示したブロックラインレンダリング処理S1805、S1814の詳細なフローを示す図である。閉領域描画部202は、まずブロック中間言語から画像形成を行うブロックライン中間言語の取得処理を行うS2101。次に、閉領域描画部202は、S2101で取得したブロックライン中間言語から、閉領域情報を取得するS2102。次に、閉領域描画部202は、閉領域内に含まれるレイヤ情報の初期化処理を行うS2103。ここで、キャッシュブロックラインに格納される場合は本処理が省略可能であるが、本処理は毎ライン初期化処理を行う構成とする。次に、閉領域描画部202は、S2102で取得した閉領域情報を元にレンダリング処理を行うS2104。閉領域描画部202は、ブロックライン内に含まれる閉領域数回分、S2101~S2104の処理を繰り返しS2105、キャッシュブロックラインレンダリング処理を終了する。なお、本実施形態において、例えば、図16のブロック4で示したように、ブロックに含まれるブロックラインの構成が1回だけ変化する例を用いた。しかし、例えば、ブロックのサイズによっては、ブロック内において複数回、ブロックラインの構成が変化することが考えられる。この場合には、ブロックライン中間言語1641等に含まれる情報を増やすことなどにより対応することができる。以上の処理により、ブロック分割時でも適切なブロックライン中間言語を利用した画像形成処理、及び処理の高速化が可能となる。また、以上の処理、データ構造により、画像形成時に保持するデータ量の削減実現することができる。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"