(57)【要約】【課題】描画処理における記憶領域の利用効率を向上すること。【解決手段】ディスプレイリストを印刷コマンドに基づいて生成するＤＬ生成部２２０と、生成されたディスプレイリストを記憶する中間データ記憶部２３０と、ディスプレイリストに基づいて描画データを生成する描画処理部２５０とを含み、ディスプレイリストは、ページに含まれるオブジェクト毎に情報がまとめられたオブジェクトデータ部と、ページを複数に分割したバンド毎に情報がまとめられ、且つ夫々のバンドに含まれるオブジェクトとしてオブジェクトデータ部のオブジェクトの情報を指定するレコードポインタを含むことを特徴とする。【選択図】図３
2011051141.tif 000002
【特許請求の範囲】
【請求項１】
画像形成出力を実行するための画像処理を複数の処理手段によって並列して実行可能な画像形成装置であって、
ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
描画すべき画像のページの構成を示すページ構成情報を前記取得された描画命令に基づいて生成するページ構成情報生成部と、
前記生成されたページ構成情報を記憶するページ構成情報記憶部と、
前記記憶されたページ構成情報に基づいて画像形成出力を実行するための描画情報を生成する複数の描画情報生成部とを含み、
前記ページ構成情報は、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられた分割単位情報と、描画すべきページに含まれる図形毎に情報がまとめられた図形情報とを含み、
前記分割単位情報は、夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含み、
前記複数の描画情報生成部は、複数の前記分割単位のいずれかに割り当てられ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画するための描画情報を生成することを特徴とする画像形成装置。
【請求項２】
前記複数の描画情報生成部は、前記分割単位情報における前記図形指定情報の記述順に従い、前記図形指定情報に基づいて前記図形の情報を取得し、
前記ページ構成情報生成部は、前記複数の描画情報生成部による前記描画情報の生成処理の並列化を考慮して前記ページ構成情報を生成することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記ページ構成情報生成部は、複数の分割単位にわたって存在している第１の図形があり、前記第１の図形を含む複数の分割単位において前記第１の図形のみを含む第１の分割単位と、前記第１の図形とは異なる第２の図形をも含む第２の分割単位とがある場合、
前記第２の分割単位における描画処理において前記第２の図形の描画処理が先に実行され、
前記第２の分割単位における前記第２の図形の描画処理と並行して前記第１の分割単位における前記第１の図形の描画処理が実行され、
前記第１の分割単位における前記第１の図形の描画処理において生成された前記第１の図形の描画情報に基づいて前記第２の分割単位における前記第２の図形の描画処理が実行されるように前記ページ構成情報を生成することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記ページ構成情報は、部分毎に分割不可能な形式の情報を前記図形の情報とする前記図形情報を含むことを特徴とする請求項１乃至３いずれかに記載の画像形成装置。
【請求項５】
前記分割単位情報に含まれる図形指定情報によって指定されている前記図形情報に含まれる夫々の図形の情報について、前記描画情報生成部による前記図形の情報の取得が完了した場合に、前記図形の情報を前記ページ構成情報記憶部から削除する図形情報削除部を更に含むことを特徴とする請求項１乃至４いずれかに記載の画像形成装置。
【請求項６】
前記描画情報生成部は、前記描画すべきページに含まれる図形について前記図形情報に基づいて生成した描画情報を前記ページ構成情報記憶部に記憶させ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得する際、前記指定されている図形について前記描画情報が記憶されている場合、その描画情報を取得することを特徴とする請求項１乃至５いずれかに記載の画像形成装置。
【請求項７】
前記図形情報は、前記図形毎に前記描画情報が記憶されていることを示す描画済み識別情報を含み、
前記描画情報生成部は、前記描画済み識別情報に基づき、前記指定されている図形について前記描画情報が記憶されていることを判断することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記分割単位情報は、前記ページにおける前記分割単位の範囲を示す範囲情報を含み、
前記描画情報生成部は、複数の分割単位にわたって存在する図形の描画処理を行う場合、前記取得した図形の情報に基づいて生成した描画情報を前記範囲情報に基づいて切り出すと共に、前記切り出す前の描画情報を前記ページ構成情報記憶部に記憶させることを特徴とする請求項６または７に記載の画像形成装置。
【請求項９】
前記分割単位情報は、前記図形指定情報によって指定されている図形について前記描画情報生成部による描画情報の生成処理中であることを示す処理中識別情報を含み、
前記描画情報生成部は、前記図形指定情報に基づいて前記図形の情報を取得する際、他の分割単位情報における前記処理中識別情報を参照し、取得すべき図形の情報が描画情報の生成処理中である場合、その描画情報の生成処理が完了するまで待機することを特徴とする請求項６乃至８いずれかに記載の画像形成装置。
【請求項１０】
画像形成出力を実行するための描画情報の生成処理を複数の処理手段によって並列して実行する画像処理方法であって、
描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
ページ構成情報生成部が、描画すべきページに含まれる図形毎に情報がまとめられた図形情報と、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられ、且つ夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含む分割単位情報とを含むページ構成情報を前記取得された描画命令に基づいて生成し、
ページ構成情報記憶部が、前記生成されたページ構成情報を記憶し、
複数の描画情報生成部が、複数の前記分割単位のいずれかに割り当てられ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画して画像形成出力を実行するための描画情報を生成することを特徴とする画像処理方法。
【請求項１１】
画像形成出力を実行するための描画情報の生成処理を複数の処理手段によって並列して実行する画像処理装置の制御プログラムであって、
ページ記述言語に基づいて得られた描画命令を取得するステップと、
描画すべきページに含まれる図形毎に情報がまとめられた図形情報と、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられ、且つ夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含む分割単位情報とを含むページ構成情報を前記取得された描画命令に基づいて生成するステップと、
前記生成されたページ構成情報を記憶するステップと、
前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画して画像形成出力を実行するための描画情報を生成するステップとを前記画像処理装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像処理方法及び制御プログラムに関し、特に、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置、画像処理方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された情報の出力に用いるプリンタにおいては、入力された画像情報に基づいてプリントエンジンが画像形成出力を実行するための描画情報を生成し、ページメモリと呼ばれる記憶領域に格納する画像処理（以降、描画処理とする）が行われる。この描画処理は、専用のハードウェアによって実行される他、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算手段がソフトウェアに従って動作することにより実行される。
【０００４】
このようなハードウェア及びソフトウェアによって描画処理可能な画像形成装置において、双方の処理を効率化して出力の高速化を図る方法が提案されている（例えば、特許文献１参照）。特許文献１に開示された技術においては、描画手段としてハードウェアである図形描画回路とソフトウェアである図形描画部とが設けられている。そして、ディスプレイリスト作成部が、いずれの描画手段に受け渡すかを判断した上でディスプレイリストを作成する。このような処理により、ハードウェア及びソフトウェアを効率的に動作させる。
【０００５】
また、近年の情報処理機器の発展により複数の演算手段が含まれるマルチコアＣＰＵ等の演算機器が普及している。マルチコアＣＰＵにおいては、複数のコアが夫々独立して動作するため、処理を並列化することにより、処理時間を短縮することが可能になる。従って、上記の画像処理もマルチコアＣＰＵに対応させることにより、処理を効率化することが望まれている。マルチコアＣＰＵの性能を効率的に発揮させるためには、処理を夫々のコアに適切に配分することにより、片方のコアの動作中において片方のコアに待機、即ち、待ちが発生しないようにする必要がある。
【０００６】
複数の演算手段を有する画像形成装置において、上述した画像処理を効率化する方法が提案されている（例えば、特許文献２参照）。特許文献２に開示された技術においては、メインプロセッサによるレンダリング手段の処理状況に応じて、サブプロセッサによるレンダリング手段が描画処理を実行することにより、既に生成されたディスプレイリストの処理待ちの状態を低減する方法が開示されている。  
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、上述したように、描画処理の実行に際してはディスプレイリストを生成する必要がある。このディスプレイリストとは、画像に含まれる夫々のオブジェクト毎に必要となる図形の情報がまとめられた情報である。そして、複数の描画手段が存在する場合、生成されたディスプレイリストを、夫々の描画手段に対応した記憶領域若しくは記憶媒体に、格納する必要がある。
【０００８】
ここで、複数の描画手段が並列して動作する場合の処理の分散態様として、１つのページを“バンド”と呼ばれる複数の領域に分割し、各描画手段がいずれかのバンドの描画処理を実行することにより処理を分散する態様がある。この場合、夫々のバンド毎にディスプレイリストが生成され、そのバンドの描画処理を実行する描画手段に対応した記憶領域に格納される。
【０００９】
従来、描画手段が認識可能な情報形式は限られており、ディスプレイリストが生成された後、情報形式が変換された上で描画手段に応じた記憶領域（以降、中間データメモリとする）に格納されることが一般的であった。例えば、ベクターデータで記述されたオブジェクトのディスプレイリストが生成されると、そのベクターデータについてスキャンライン変換がされ、変換後のデータが中間データメモリに格納されていた。
【００１０】
これに対して、近年描画手段の機能向上により、描画情報を生成してページメモリに格納する描画手段に対して、スキャンライン変換前のベクターデータを入力することが可能になることが考えられる。これにより、上述したように、中間データメモリへ中間データを格納する前にスキャンライン変換を行う必要がなくなる。
【００１１】
しかしながら、画像形成装置に入力されるオブジェクトの情報形式によっては、分割が不可能な場合がある。例えば、ベジエ曲線によって構成されるベクターデータは、端点と制御点の情報を含み、端点及び制御点全ての情報によって図形の描画が可能となるため、ベクターデータの状態で部分毎に分割することができない。従って、処理対象の画像のページにおいて、複数のバンドに亘って分割が不可能なオブジェクトが表示されている場合、上記分割が不可能なオブジェクトのベクターデータを、そのオブジェクトが存在する全てのバンドのディスプレイリストに含める必要がある。
【００１２】
従って、情報の重複が発生し、中間データを格納する記憶領域の利用効率が低下する。また、夫々のバンドに対応した描画手段において、同一のオブジェクトについてのスキャンライン変換等が実行されるため、処理の重複も発生し、描画処理の処理効率が低下する。
【００１３】
本発明は、上記実情を考慮してなされたものであり、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理における記憶領域の利用効率を向上することを目的とする。
【００１４】
上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理を複数の処理手段によって並列して実行可能な画像形成装置であって、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、描画すべき画像のページの構成を示すページ構成情報を前記取得された描画命令に基づいて生成するページ構成情報生成部と、前記生成されたページ構成情報を記憶するページ構成情報記憶部と、前記記憶されたページ構成情報に基づいて画像形成出力を実行するための描画情報を生成する複数の描画情報生成部とを含み、前記ページ構成情報は、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられた分割単位情報と、描画すべきページに含まれる図形毎に情報がまとめられた図形情報とを含み、前記分割単位情報は、夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含み、前記複数の描画情報生成部は、複数の前記分割単位のいずれかに割り当てられ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画するための描画情報を生成することを特徴とする。
【００１５】
ここで、前記複数の描画情報生成部は、前記分割単位情報における前記図形指定情報の記述順に従い、前記図形指定情報に基づいて前記図形の情報を取得し、前記ページ構成情報生成部は、前記複数の描画情報生成部による前記描画情報の生成処理の並列化を考慮して前記ページ構成情報を生成することが好ましい。
【００１６】
例えば、前記ページ構成情報生成部は、複数の分割単位にわたって存在している第１の図形があり、前記第１の図形を含む複数の分割単位において前記第１の図形のみを含む第１の分割単位と、前記第１の図形とは異なる第２の図形をも含む第２の分割単位とがある場合、前記第２の分割単位における描画処理において前記第２の図形の描画処理が先に実行され、前記第２の分割単位における前記第２の図形の描画処理と並行して前記第１の分割単位における前記第１の図形の描画処理が実行され、前記第１の分割単位における前記第１の図形の描画処理において生成された前記第１の図形の描画情報に基づいて前記第２の分割単位における前記第２の図形の描画処理が実行されるように前記ページ構成情報を生成することが好ましい。
【００１７】
また、前記ページ構成情報は、部分毎に分割不可能な形式の情報を前記図形の情報とする前記図形情報を含むことができる。
【００１８】
また、前記分割単位情報に含まれる図形指定情報によって指定されている前記図形情報に含まれる夫々の図形の情報について、前記描画情報生成部による前記図形の情報の取得が完了した場合に、前記図形の情報を前記ページ構成情報記憶部から削除する図形情報削除部を更に含むことが好ましい。
【００１９】
また、前記描画情報生成部は、前記描画すべきページに含まれる図形について前記図形情報に基づいて生成した描画情報を前記ページ構成情報記憶部に記憶させ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得する際、前記指定されている図形について前記描画情報が記憶されている場合、その描画情報を取得することが好ましい。
【００２０】
また、前記図形情報は、前記図形毎に前記描画情報が記憶されていることを示す描画済み識別情報を含み、前記描画情報生成部は、前記描画済み識別情報に基づき、前記指定されている図形について前記描画情報が記憶されていることを判断することが好ましい。
【００２１】
また、前記分割単位情報は、前記ページにおける前記分割単位の範囲を示す範囲情報を含み、前記描画情報生成部は、複数の分割単位にわたって存在する図形の描画処理を行う場合、前記取得した図形の情報に基づいて生成した描画情報を前記範囲情報に基づいて切り出すと共に、前記切り出す前の描画情報を前記ページ構成情報記憶部に記憶させることが好ましい。
【００２２】
また、前記分割単位情報は、前記図形指定情報によって指定されている図形について前記描画情報生成部による描画情報の生成処理中であることを示す処理中識別情報を含み、前記描画情報生成部は、前記図形指定情報に基づいて前記図形の情報を取得する際、他の分割単位情報における前記処理中識別情報を参照し、取得すべき図形の情報が描画情報の生成処理中である場合、その描画情報の生成処理が完了するまで待機することが好ましい。
【００２３】
他方、本発明の他の態様は、画像形成出力を実行するための描画情報の生成処理を複数の処理手段によって並列して実行する画像処理方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、ページ構成情報生成部が、描画すべきページに含まれる図形毎に情報がまとめられた図形情報と、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられ、且つ夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含む分割単位情報とを含むページ構成情報を前記取得された描画命令に基づいて生成し、ページ構成情報記憶部が、前記生成されたページ構成情報を記憶し、複数の描画情報生成部が、複数の前記分割単位のいずれかに割り当てられ、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画して画像形成出力を実行するための描画情報を生成することを特徴とする。
【００２４】
また、本発明の更に他の態様は、画像形成出力を実行するための描画情報の生成処理を複数の処理手段によって並列して実行する画像処理装置の制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべきページに含まれる図形毎に情報がまとめられた図形情報と、描画すべきページを複数に分割した夫々の分割単位毎に情報がまとめられ、且つ夫々の分割単位に含まれる図形として前記図形情報に含まれる図形の情報を指定する図形指定情報を含む分割単位情報とを含むページ構成情報を前記取得された描画命令に基づいて生成するステップと、前記生成されたページ構成情報を記憶するステップと、前記分割単位情報に含まれる図形指定情報によって指定されている図形の情報を取得することにより前記図形を描画して画像形成出力を実行するための描画情報を生成するステップとを前記画像処理装置に実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理における記憶領域の利用効率を向上することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図３】本発明の実施形態に係る画像処理部に含まれる機能を示す図である。
【図４】本発明の実施形態に係る中間データ記憶部に記憶されるディスプレイリストの情報形式を示す図である。
【図５】本発明の実施形態に係るオブジェクトレコードの情報形式の例と夫々の情報形式について、レンダラによって実行される処理を示す図である。
【図６】本発明の実施形態に係る画像形成出力において出力される画像の１ページの例を示す図である。
【図７】本発明の実施形態に係る描画情報の生成動作を示すシーケンス図である。
【図８】本発明の実施形態に係る描画処理の各段階を示す図である。
【図９】本発明の実施形態に係る描画処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）としての画像形成装置を例として説明する。
【００２８】
図１は、本実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末と同様の構成に加えて、画像形成を実行するエンジンを有する。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、エンジン４０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５０及びＩ／Ｆ６０がバス９０を介して接続されている。また、Ｉ／Ｆ６０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）７０及び操作部８０が接続されている。
【００２９】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。また、本実施形態に係るＣＰＵ１０は、マルチコアＣＰＵであり、互いに独立して動作可能な複数の演算手段、即ちコアを含む。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン４０は、画像形成装置１において実際に画像形成を実行する機構である。
【００３０】
ＨＤＤ５０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ６０は、バス９０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ７０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部８０は、キーボードやマウス等、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースである。
【００３１】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ５０若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００３２】
次に、図２を参照して、本実施形態に係る画像形成装置１の機能構成について説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１１０、スキャナユニット１２０、排紙トレイ１３０、ディスプレイパネル１４０、給紙テーブル１５０、プリントエンジン１６０、排紙トレイ１７０及びネットワークＩ／Ｆ１８０を有する。
【００３３】
また、コントローラ１００は、主制御部１０１、エンジン制御部１０２、入出力制御部１０３、画像処理部１０４及び操作表示制御部１０５を有する。図２に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１２０、プリントエンジン１６０を有する複合機として構成されている。尚、図２においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
【００３４】
ディスプレイパネル１４０は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ネットワークＩ／Ｆ１８０は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
【００３５】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ５０や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、ＣＰＵ１０の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ１００が構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００３６】
主制御部１０１は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１０２は、プリントエンジン１６０やスキャナユニット１２０等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部１０３は、ネットワークＩ／Ｆ１８０を介して入力される信号や命令を主制御部１０１に入力する。また、主制御部１０１は、入出力制御部１０３を制御し、ネットワークＩ／Ｆ１８０を介して他の機器にアクセスする。
【００３７】
画像処理部１０４は、主制御部１０１の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１６０が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、ＰＣ等の情報処理装置にインストールされたプリンタドライバによって画像形成装置１が認識可能な形式に変換された情報であり、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）や、Ｐｏｓｔｓｃｒｉｐｔ、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）、ＲＰＣＳ等の情報である。換言すると、上記印刷情報とは、画像形成出力のコマンドが記述されたコマンド情報である。尚、本実施形態においては、ページ記述言語としてＰＤＬを用いる場合を例とするが、他の言語であっても良い。
【００３８】
本実施形態においては、画像処理部１０４による上記描画情報の生成処理が要旨である。画像処理部１０４の機能については後に詳述する。操作表示制御部１０５は、ディスプレイパネル１４０に情報表示を行い若しくはディスプレイパネル１４０を介して入力された情報を主制御部１０１に通知する。
【００３９】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１０３がネットワークＩ／Ｆ１８０を介して印刷ジョブを受信する。入出力制御部１０３は、受信した印刷ジョブを主制御部１０１に転送する。主制御部１０１は、印刷ジョブを受信すると、画像処理部１０４を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。
【００４０】
画像処理部１０４によって描画情報が生成されると、エンジン制御部１０２は、生成された描画情報に基づき、給紙テーブル１５０から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン１６０が画像形成部として機能する。プリントエンジン１６０の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１６０によって画像形成が施された文書は排紙トレイ１７０に排紙される。
【００４１】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１４０の操作若しくはネットワークＩ／Ｆ１８０を介して外部のクライアント用の情報処理端末等から入力されるスキャン実行指示に応じて、操作表示制御部１０５若しくは入出力制御部１０３が主制御部１０１にスキャン実行信号を転送する。主制御部１０１は、受信したスキャン実行信号に基づき、エンジン制御部１０２を制御する。
【００４２】
エンジン制御部１０２は、ＡＤＦ１１０を駆動し、ＡＤＦ１１０にセットされた撮像対象原稿をスキャナユニット１２０に搬送する。また、エンジン制御部１０２は、スキャナユニット１２０を駆動し、ＡＤＦ１１０から搬送される原稿を撮像する。また、ＡＤＦ１１０に原稿がセットされておらず、スキャナユニット１２０に直接原稿がセットされた場合、スキャナユニット１２０は、エンジン制御部１０２の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１２０が撮像部として動作する。
【００４３】
撮像動作においては、スキャナユニット１２０に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部１０２は、スキャナユニット１２０が生成した撮像情報を画像処理部１０４に転送する。画像処理部１０４は、主制御部１０１の制御に従い、エンジン制御部１０２から受信した撮像情報に基づき画像情報を生成する。画像処理部１０４が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。即ち、スキャナユニット１２０、エンジン制御部１０２及び画像処理部１０４が連動して、原稿読み取り部として機能する。
【００４４】
画像処理部１１０４によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１０３及びネットワークＩ／Ｆ１８０を介して外部の装置に送信される。即ち、スキャナユニット１２０及びエンジン制御部１０２が画像入力部として機能する。
【００４５】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１０２がスキャナユニット１２０から受信した撮像情報若しくは画像処理部１０４が生成した画像情報に基づき、画像処理部１０４が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１０２がプリントエンジン１６０を駆動する。
【００４６】
このような画像形成装置１において、本実施形態に係る要旨は、画像処理部１０４による描画情報の生成処理にある。以下、本実施形態に係る画像処理部１０４の機能及び動作について説明する。図３は、本実施形態に係る画像処理部１０４に含まれる機能を示すブロック図である。図３に示すように、本実施形態に係る画像処理部１０４は、ＰＤＬ解析部２１０、ＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ディスプレイリスト）生成部２２０、中間データ記憶部２３０、ＤＬ解釈部２４０、描画処理部２５０及びページメモリ２６０を含む。また、描画処理部２５０は、ソフトウェァ描画部Ａ２５１、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３を含む。
【００４７】
尚、本実施形態においては、図３に示すように、レンダラである描画処理部２５０としてソフトウェァ描画部Ａ２５１及びソフトウェァ描画部Ｂ２５２と、ハードウェア描画部２５３とが含まれる場合を例として説明するが、これは一例であり、ソフトウェァ描画部及びハードウェア描画部の数は、装置の構成によって異なる。
【００４８】
ＰＤＬ解析部２１０は、ＰＤＬで記述された印刷情報を取得し、ＤＬ生成部２２０がディスプレイリストを生成するために処理可能な形式のデータに変換する。この変換された形式の情報が、ＤＬ生成部２２０において描画命令として処理される。即ち、ＰＤＬ解析部２１０が描画命令取得部として機能する。
【００４９】
ＤＬ生成部２２０は、描画処理部２５０に含まれる各描画部、即ちレンダラが描画情報を生成するためのディスプレイリストを生成して保存する。具体的には、ＤＬ生成部２２０が、ＰＤＬ解析部２１０によって変換されたデータに基づいてディスプレイリストを作成し、生成したディスプレイリストを中間データ記憶部２３０に記憶させる。
【００５０】
ディスプレイリストとは、画像形成出力すべき画像の情報が夫々のページ毎にまとめられた情報であり、各ページの構成が記述されたページ構成情報である。即ち、ＤＬ生成部２２０がページ構成情報生成部として機能する。また、中間データ記憶部２３０が、ページ構成情報記憶部として機能する。この中間データ記憶部２３０に記憶されるディスプレイリストのデータの形式が本実施形態に係る要旨の１つである。中間データ記憶部２３０に記憶されるデータの形式については後に詳述する。
【００５１】
ＤＬ解釈部２４０は、ＤＬ生成部２２０によって生成され且つ中間データ記憶部２３０に保存されたディスプレイリストを解釈し、描画処理部２５０によって処理可能な形式に変換する。描画処理部２５０は、ＤＬ解釈部２４０によって解釈されたディスプレイリストに基づき、描画処理を実行する。具体的には、描画処理部２７０に含まれるソフトウェァ描画部Ａ２５１、ソフトウェア描画部Ｂ２５２及びハードウェア描画部２５３が、ディスプレイリストに基づいてラスタデータを生成する。描画処理部２５０に含まれる各描画部が、夫々描画情報生成部として機能する。
【００５２】
ページメモリ２６０は、描画処理部２５０によって生成されたラスタデータを記憶する記憶領域である。ページメモリ２６０にラスタデータが格納されることにより、そのラスタデータに基づいてプリントエンジン１６０が画像形成出力を実行する。
【００５３】
次に、本実施形態に係る中間データ記憶部２３０に記憶されるディスプレイリストの情報形式について、図４を参照して説明する。図４は、１ページ分のディスプレイリストに含まれる情報の形式を示す図である。図４に示すように、中間データ記憶部２３０に記憶されるディスプレイリストは、バンドデータ部及びオブジェクトデータ部を含む。バンドデータ部は、画像形成出力すべき画像の各ページの構成が、ページを複数に分割したバンド毎に記述された部分であり、図４に示すようにページ管理データ及びそのページに含まれるバンド毎のバンドデータが含まれる。即ち、バンドデータ部の情報は、描画すべきページを複数に分割した夫々の分割単位であるバンド毎に情報がまとめられた分割単位情報として用いられる。
【００５４】
これに対してオブジェクトデータ部は、そのページに含まれるオブジェクトの情報が、バンドとは無関係に、オブジェクト毎にまとめられた情報であり、オブジェクト管理データ及び各オブジェクトの情報を含む。即ち、オブジェクトデータ部の情報は、描画すべきページに含まれるオブジェクト、即ち図形毎に情報がまとめられた図形情報として用いられる。
【００５５】
ページ管理データは、そのページの基本構成を示す情報であり、ページのサイズや、そのページのカラースペースの情報等を含む。各バンドのバンドデータは、バンド管理データ及びＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ）を含む。バンド管理データに含まれるのは、描画アトリビュートや管理用フラグ等であり、具体的には、そのバンドの属性情報や、そのバンドのページにおける範囲の情報即ち、クリップの情報等が含まれる。
【００５６】
本実施形態においては、描画処理部２５０に含まれる各描画部に応じて、バンドデータが生成される。即ち、ＤＬ生成部２２０は、描画処理部２５０の構成に応じて、図４に示すバンドデータを生成し、描画処理部２５０に含まれる描画部の総数と同数のバンドデータを生成する。本実施形態においては、図３に示すように描画部の総数は３つであるため、図４に示すように＃０〜＃２の３つのバンドデータが生成される。
【００５７】
各バンドにおけるＤＬには、そのバンドに含まれるオブジェクトのレコードを指定するレコードポインタと、レコードポインタを介して参照しているオブジェクトのレコードを示す参照中レコードの情報を含む。この参照中レコードは、レコードポインタに対応するオブジェクトレコードが、描画処理手段によって処理中であることを示す処理中識別情報として用いられる。参照中レコードの用いられ方については、後に詳述する。このように、バンドデータ部には、ページに表示される図形の情報は含まれず、ページの構成を記述する情報のみが含まれる。即ち、レコードポインタの情報は、図形情報に含まれる図形の情報を指定する図形情報指定部として用いられる。
【００５８】
オブジェクト管理データは、ページに含まれるオブジェクトを管理するデータであり、メモリハンドルや参照カウント値等の情報を含む。ここで、参照カウント値は、オブジェクトデータ部に含まれる各オブジェクトが、バンドデータ部に含まれるレコードポインタによって指定されている数の総数である。バンドデータ部のレコードポインタを介してオブジェクトレコードが参照される度にこの参照カウント値がマイナス１され、０になると、オブジェクト管理データ及び各オブジェクトのデータが消去される。これにより、メモリ領域が解放される。このオブジェクトのデータの消去は、例えばＤＬ解釈部２４０や画像処理部１０４を制御している主制御部１０１によって実行される。即ち、ＤＬ解釈部２４０若しくは主制御部１０１が、図形情報削除部として機能する。
【００５９】
各オブジェクトデータは、オブジェクト個別管理データ及びオブジェクトレコードを含む。オブジェクト個別管理データは、夫々のオブジェクトを管理するための情報であり、参照カウント値、サイズ、描画済みフラグ等の情報を含む。オブジェクト個別管理データに含まれる参照カウント値は、そのオブジェクトがバンドデータ部に含まれるレコードポインタによって指定されている数である。オブジェクト管理データにおける参照カウント値と同様に、バンドデータ部のレコードポインタを介してオブジェクトレコードが参照される度にこの参照カウント値がマイナス１され、０になると、オブジェクト個別管理データ及び各オブジェクトレコードが消去される。
【００６０】
サイズは、各オブジェクトのサイズである。描画済みフラグは、そのオブジェクトレコードが描画処理部２５０によって処理され、描画キャッシュが生成されていることを示すフラグ情報である。即ち、描画済みフラグは、描画済み識別情報として用いられる。これについては後に詳述する。オブジェクトレコードは、そのオブジェクトそのものを示す情報であり、ベクターデータ、テキストデータ、ＪＰＥＧ等の圧縮された静止画像データ、ＭＰＥＧ等の圧縮された動画データ等である。このような様々な形式のオブジェクトレコードに対して、描画処理部２５０は、描画情報を生成するために、夫々の情報形式に対応した処理を行う。図５に、オブジェクトレコードの情報形式と、夫々の情報形式に応じて実行される処理を示す。
【００６１】
図５に示すように、ベクターデータであれば、スキャンライン変換処理を経て画像のビットマップ化が行われる。テキストデータであれば、テキストのアウトライン化及びアウトラインのスキャンライン変換を経て、画像のビットマップ化が行われる。また、圧縮画像データであれば、圧縮形式に応じた展開処理を経て、画像のビットマップ化が行われる。また、動画データであれば、動画を構成するフレームの抽出処理を経て、画像のビットマップ化が行われる。尚、動画が圧縮されている場合、圧縮静止画像データと同様に画像の展開処理が行われる。
【００６２】
図５の“情報形式”として示す夫々の情報は、一連不可分の情報であり、部分によって分割することが出来ない情報である。即ち、本実施形態に係るＤＬ生成部２２０は、ベクターデータ等の情報を分割可能な情報に変換することなくディスプレイリストを生成し、描画処理部２５０に入力するための中間データ記憶部２３０に記憶させる。本実施形態に係る画像形成装置１に係る描画情報の生成処理の特徴は、このような部分毎に分割不可能な情報を描画処理部２５０に入力する場合において、特に有効である。
【００６３】
次に、本実施形態に係る画像形成装置１の動作について説明する。本実施形態においては、図６に示すようにフィル０、フィル１、フィル２の３つのオブジェクトが表示されたページを画像形成出力する場合を例として説明する。図７は、本実施形態に係る画像形成装置１が図６に示すようなページを画像形成出力する場合の、画像処理部１０４における処理を示すシーケンス図である。
【００６４】
図７の前提として、既にＰＤＬ解析部２１０によってＰＤＬ解析が実行され、ＤＬ生成部２２０によって図４において説明した形式のディスプレイリストが生成され、中間データ記憶部２３０に格納されているものとする。図７に示すように、まずはソフトウェァ描画部Ａ２５１、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３が、夫々自身に対応するバンドのバンドデータに含まれるディスプレイリストを参照し、レコードポインタによって指定されているオブジェクトレコードを取得する（Ｓ７０１、Ｓ７０２、Ｓ７０３）。
【００６５】
本実施形態においては、ソフトウェァ描画部Ａ２５１がバンド０を描画し、ソフトウェァ描画部Ｂ２５２がバンド１を描画し、ハードウェア描画部２５３がバンド２を描画する。そして、ソフトウェァ描画部Ａ２５１は、Ｓ７０１においてフィル２のレコードを取得し、ソフトウェァ描画部Ｂ２５２は、Ｓ７０２においてフィル０のレコードを取得し、ハードウェア描画部２５３は、Ｓ７０３においてフィル１のレコードを取得する。尚、図７においては、図示の容易化のため、描画処理部２５０に含まれる各描画部が、中間データ記憶部２３０から直接情報を取得しているように示しているが、実際には、図３において説明したように、ＤＬ解釈部２４０を介して取得している。
【００６６】
描画処理部２５０の各描画部は、夫々オブジェクトレコードを取得すると、夫々取得したオブジェクトの描画処理を実行し、生成した描画情報を描画キャッシュとして中間データ記憶部２３０に格納する（Ｓ７０４、Ｓ７０５、Ｓ７０６）。ここで、Ｓ７０４におけるソフトウェァ描画部Ａ２５１の処理を例として、各描画部による描画処理について図８（ａ）〜（ｅ）を参照して説明する。
【００６７】
図８（ａ）〜（ｅ）は、描画部による描画処理の例として、Ｓ７０４におけるフィル２のスキャンライン変換処理の各段階を示す図である。ベクターデータのベジエ曲線は、端点及び制御点の座標データによって構成されている。図８（ａ）は、ベジエ曲線を構成する点として端点Ｐ０、Ｐ３及び制御点Ｐ１、Ｐ２を有する場合のプロット例である。
【００６８】
図８（ｂ）は、図８（ａ）に示すような端点及び制御点について曲線のパスを描画した図である。端点及び制御点から曲線のパスを描画する方法は公知の方法であり詳細な説明を省略するが、隣接する２点を結ぶ線分を任意の割合で分割して点を描画し、その点を結ぶ線分を更に同様の割合で分割する点を求めることによってパス上の１点が求められる。そして、上記任意の割合を変化させて同様の処理を繰り返すことにより曲線のパスを示す点が描画される。図８（ｂ）に示すように曲線のパスを描画する処理がスキャンライン変換の第１段階であるパス作成処理である。
【００６９】
パス作成処理が完了すると、次に、図８（ｃ）に示すように、ベクターデータのパスからビットのパスへの変換処理が実行される。図８（ｃ）に示す処理がスキャンライン変換の第２段階であるビットパス変換処理である。
【００７０】
ビットパス変換処理が完了すると、次に、図８（ｄ）に示すように、パスで囲まれる画素の塗りつぶし処理が実行される。ここでは、元のベクターデータのＦＩＬＬ設定に基づき、塗りつぶしの要否が判断され、塗りつぶしを行う設定になっていれば、図８（ｄ）に示すようにパス内部が塗りつぶされた画像が生成される。図８（ｄ）に示す処理が、スキャンライン変換の第３段階であるＦＩＬＬ処理である。
【００７１】
ＦＩＬＬ処理が完了すると、図８（ｅ）に示すように、設定されているクリップに基づいて画像の切り出し処理が実行される。上述したように、各バンドのクリップの情報は、バンド管理データ内に含まれる。従って、各描画部は、描画処理において、バンド管理データに含まれるクリップ情報を参照して図８（ｅ）に示すように、オブジェクトの切り出しを行う。Ｓ７０４はバンド０に対応しているソフトウェァ描画部Ａ２５１の処理であるため、図８（ｅ）に示すバンド０の部分が選択されて切り出される。
【００７２】
尚、中間データ記憶部２３０へ格納される描画キャッシュは、図８（ｄ）の状態、即ちクリッピングされる前の描画データである。これにより、バンド１、２についてのフィル２の描画処理においては、図８（ａ）〜図８（ｄ）の処理を省略し、図８（ｅ）のクリッピング処理のみで処理を完了することができる。尚、描画キャッシュの格納に際して、ソフトウェァ描画部Ａ２５１は、元のオブジェクトレコードを消去して新たに描画データを格納する。これにより、中間データ記憶部２３０の記憶領域を効率的に利用することができる。
【００７３】
また、ソフトウェァ描画部Ａ２５１が描画キャッシュを格納する際、図４において説明したように、オブジェクトデータ部に含まれるフィル２のオブジェクト個別管理データの処理済みフラグが、「処理済み」を示す“ＯＮ”に更新される。この処理済みフラグの更新処理及び上述した描画キャッシュの格納処理は、描画処理部２５０が実行しても良いし、画像処理部１０４を制御している主制御部１０１が実行しても良い。
【００７４】
図６において説明したように、バンド０に含まれるオブジェクトはフィル２のみであるため、Ｓ７０４の処理が完了すると、ソフトウェァ描画部Ａ２５１は、生成した描画データをページメモリ２６０に出力し（Ｓ７１１）、処理を終了する。他方、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３は、夫々Ｓ７０５、Ｓ７０６の処理が終了すると、再度ＤＬ参照し、次のレコードポインタによって指定されているオブジェクトレコードの取得を試みる（Ｓ７０７、Ｓ７０８）。
【００７５】
ここで、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３が次に取得しようとするのは、フィル２のオブジェクトレコードである。上述したように、フィル２についてはソフトウェァ描画部Ａ２５１によって既に描画処理が実行され、処理済みフラグが“ＯＮ”になっている。従って、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３は、フィル２のオブジェクトレコードではなく、フィル２の描画キャッシュを取得する（Ｓ７０７、Ｓ７０８）。
【００７６】
尚、ソフトウェァ描画部Ａ２５１が、フィル２についての描画処理を完了する前に、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３がＳ７０７、Ｓ７０８の処理を開始すると、フィル２についての処理済みフラグが“ＯＮ”になっていないため、描画キャッシュではなく元のオブジェクトレコードが取得され、重複した描画処理が実行されてしまう。これに対して、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３は、他の描画部（この場合、ソフトウェァ描画部Ａ２５１）が対応しているバンドのバンド管理データに含まれる参照中レコードを確認し、参照中レコードがフィル２である場合は、その描画処理が完了するまで待機する。これにより、上述したような処理の重複を回避することができる。
【００７７】
フィル２の描画キャッシュを取得すると、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３は、フィル２の描画処理を行う（Ｓ７０９、Ｓ７１０）。上述したように、Ｓ７０９、Ｓ７１０においては、図８（ａ）〜（ｄ）の処理は省略され、図８（ｅ）のクリッピング処理のみが行われる。即ち、ソフトウェァ描画部Ｂ２５２は、図８（ｅ）のバンド１の部分をクリッピングし、ハードウェア描画部２５３は、図８（ｅ）のバンド２の部分をクリッピングする。
【００７８】
Ｓ７０９、Ｓ７１０の処理が完了すると、ソフトウェァ描画部Ｂ２５２及びハードウェア描画部２５３は、夫々生成した描画データをページメモリ２６０に出力し（Ｓ７１２、Ｓ７１３）、処理を終了する。このような処理により、本実施形態に係る描画処理部２５０による描画処理が完了する。
【００７９】
次に、描画処理部２５０に含まれる各描画部単体の処理の詳細について、図９を参照して説明する。図９は、描画処理部２５０に含まれる各描画部単体の処理を示すフローチャートである。図９に示すように、各描画部は、まずＤＬ解釈部２４０によって解釈されたＤＬを参照し（Ｓ９０１）、レコードポインタを選択する（Ｓ９０２）。
【００８０】
Ｓ９０２においては、図４に示すように“レコードポインタ＃０”、“レコードポインタ＃１”、・・・と構成されたＤＬにおいて、前から順番にレコードポインタが選択される。また、レコードポインタが選択されると、ＤＬの“参照中レコード”の領域に、選択したレコードポインタを示す情報が書き込まれる。この処理は、各描画部やＤＬ解釈部２４０、主制御部１０１によって実行される。
【００８１】
レコードポインタを選択すると、各描画部は、ＤＬ解釈部２４０を介して、自身が対応していない他バンドのバンド管理データに含まれる参照中レコードを確認する（Ｓ９０３）。その結果、Ｓ９０２において選択したレコードポインタが指定しているレコードが、他バンドにおいて参照されていたら（Ｓ９０４／ＹＥＳ）、各描画部は、その参照が解除されるまで、待機する（Ｓ９０５）。これにより、上述したように、描画処理の重複を回避することができる。
【００８２】
Ｓ９０３の確認の結果、Ｓ９０２において選択したレコードポインタが指定しているレコードが参照されていなかった場合（Ｓ９０４／ＮＯ）、若しくはＳ９０５の待機処理が完了すると、各描画部は、Ｓ９０２において選択したレコードポインタによって指定されているオブジェクトのオブジェクト個別管理データを参照する（Ｓ９０６）。Ｓ９０６の参照の結果、処理済みフラグが“ＯＮ”であれば（Ｓ９０７／ＹＥＳ）、各描画部は、描画キャッシュを取得する（Ｓ９０８）。他方、処理済みフラグが“ＯＮ”でなければ、（Ｓ９０７／ＮＯ）、各描画部は元データのオブジェクトレコードを取得する（Ｓ９０９）。
【００８３】
Ｓ９１０において描画キャッシュを取得した場合、各描画部は図８（ｅ）において説明したクリッピング処理を実行する（Ｓ９１０）。他方、Ｓ９０９においてオブジェクトレコードを取得した場合、各描画部は、取得したデータに基づいて図８（ａ）〜図８（ｅ）において説明した描画処理を実行し（Ｓ９１１）描画データを生成する。そして、各描画部は、生成した描画データを描画キャッシュとして中間データ記憶部２３０に格納する（Ｓ９１２）。
【００８４】
Ｓ９１０のクリッピング処理若しくはＳ９１２のキャッシュ格納処理が完了すると、各描画部は、ＤＬ解釈部２４０を介して自身が対応するバンドの全てのレコードポインタについての処理が完了したか確認する（Ｓ９１３）。処理が完了していなければ（Ｓ９１３／ＮＯ）、各描画部は、Ｓ９０２からの処理を繰り返す。他方、処理が完了していれば（Ｓ９１３／ＹＥＳ）、各描画部は生成した描画データをページメモリ２６０に出力し（Ｓ９１４）、処理を終了する。
【００８５】
このような処理により、本実施形態に係る描画処理部２５０に含まれる各描画部の処理が完了する。本実施形態においては、ＰＤＬ解析後の中間データの形式として、図４において説明したように、各描画部が対応するバンド毎に構成されたバンドデータ部と、バンドとは無関係にページに含まれるオブジェクト毎に構成されたオブジェクトデータ部とを含む形式を採用する。
【００８６】
このような構成により、図６に示すフィル２のような複数のバンドにまたがり、且つ部分毎に分割できないオブジェクトが中間データ記憶部２３０において重複して登録されることを防ぎ、中間データ記憶部２３０の記憶領域を効率的に利用することができる。また、いずれかの描画部による描画処理によって生成された描画データを中間データ記憶部２３０に格納することにより、他の描画部が他のバンドにおいてそのオブジェクトを用いる場合の描画処理を省略し、クリッピング処理のみとすることで、重複した処理を回避することができる。
【００８７】
このように、本実施形態においては、図４において説明したディスプレイリストの形式が特徴となる。ＤＬ生成部２２０は、図４に示すような形式のディスプレイリストを生成する際、まずＰＤＬ解析部２１０によって解析された情報に基づき、ページに含まれるオブジェクト毎にオブジェクト個別管理データを生成してオブジェクトデータ部の情報を生成する。
【００８８】
オブジェクトデータ部の情報を生成した後、ＤＬ生成部２２０は、描画処理部２５０に含まれる夫々の描画部とバンドとを対応させてバンド管理データを生成する。バンド管理データを生成する際、ＤＬ生成部２２０は、そのバンド管理データに含まれるレコードポインタにおいて、既に生成してあるオブジェクトデータ部に含まれるオブジェクトレコードを指定する。
【００８９】
また、バンド管理データの生成において、ＤＬ生成部２２０は、ページに含まれるオブジェクトとバンドとの関係に基づき、描画処理が最適化されるようにバンド管理データを生成する。例えば、図６において説明したページのバンド管理データを生成する場合、図７において説明したように効率的な処理が実行されるように、バンド管理データを生成する。
【００９０】
ここで、図７において説明した効率的な処理とは、バンド０に対応したソフトウェァ描画部Ａ２５１が、フィル２の描画処理を実行している間に、バンド１、バンド２に対応した描画部が夫々フィル０、フィル１の描画処理を実行し、その後に、フィル２の描画キャッシュを用いてバンド１、バンド２に対応した描画部がフィル２の描画処理を実行する態様である。
【００９１】
上述したように、描画処理部２５０による描画処理は、バンドデータ部の構成に従って実行される。従って、ＤＬ生成部２２０は、上述したような効率的な処理が実行されるように、夫々の描画部とバンドとの対応付けをすると共に、各バンド管理データにおけるレコードポインタの順番を設定する。図７の例の場合、ＤＬ生成部２２０は、ソフトウェァ描画部Ａ２５１とバンド０、ソフトウェァ描画部Ｂ２５２とバンド１、ハードウェア描画部２５３とバンド２とを夫々対応付ける。更に、バンド１、バンド２におけるバンド管理データの構成に際しては、夫々フィル０、フィル２が先に処理されるように、レコードポインタの順番を設定する。これにより、図７において説明したような効率的な描画処理が実現される。
【００９２】
このような処理により、図４に示すディスプレイリストが生成される。尚、“ディスプレイリスト”とは、広義には図４に示すバンドデータ部及びオブジェクトデータ部によって構成される全体の情報を示すが、狭義には、バンドデータ部に含まれる“ＤＬ”を示す。
【００９３】
以上説明したように、本実施形態に係る構成を採用することにより、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理における記憶領域の利用効率を向上することが可能となる。また、描画処理の重複を回避し、描画処理の処理効率を向上することが可能となる。
【符号の説明】
【００９４】
１  画像形成装置、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  エンジン、
５０  ＨＤＤ、
６０  Ｉ／Ｆ、
７０  ＬＣＤ、
８０  操作部、
９０  バス、
１００  コントローラ、
１０１  主制御部、
１０２  エンジン制御部、
１０３  入出力制御部、
１０４  画像処理部、
１０５  操作表示制御部、
１１０  ＡＤＦ、
１２０  スキャナユニット、
１３０  排紙トレイ、
１４０  ディスプレイパネル、
１５０  給紙テーブル、
１６０  プリントエンジン、
１７０  排紙トレイ、
１８０  ネットワークＩ／Ｆ、
２１０  ＰＤＬ解析部、
２２０  ＤＬ生成部、
２３０  中間データ記憶部、
２４０  ＤＬ解釈部、
２５１  秒処理部、
２５１  ソフトウェァ描画部Ａ、
２５２  ソフトウェァ描画部Ｂ、
２５３  ハードウェア描画部、
２６０  ページメモリ、
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特開２００６−７４９６号公報
【特許文献２】特開２００７−１９６４６８号公報
【図１】
2011051141.tif 000003
【図２】
2011051141.tif 000004
【図３】
2011051141.tif 000005
【図４】
2011051141.tif 000006
【図５】
2011051141.tif 000007
【図６】
2011051141.tif 000008
【図７】
2011051141.tif 000009
【図８】
2011051141.tif 000010
【図９】
2011051141.tif 000011