(57)【特許請求の範囲】
【請求項１】
オブジェクトに対応するベクタ画像データを複数の領域に対応したベクタ画像データに変換する変換手段と、
前記変換手段において変換されたベクタ画像データに基づき、画像データを生成する画像データ生成手段と、
前記変換手段において変換された前記ベクタ画像データと、前記画像データ生成手段において生成された前記画像データとを関連付けて格納する格納手段と、
前記変換手段において変換された前記ベクタ画像データと、前記格納手段に格納されている前記ベクタ画像データと、を比較する比較手段と、
前記変換手段において変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数と一致する際、前記比較手段による比較を行い、ベクタ画像データが一致する場合、前記格納手段に格納された画像データを選択し、前記変換手段において変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数より多い際、前記比較手段による比較及び前記格納手段に格納された画像データの選択を行うことなく、前記画像データ生成手段により生成された画像データを選択するデータ選択手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記データ選択手段は、前記変換手段において変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数より少ない際、前記比較手段による比較を行い、ベクタ画像データが一致する場合、前記格納手段に格納された画像データを選択し、ベクタ画像データが一致しない場合、前記画像データ生成手段により生成された画像データを選択することを特徴とする請求項１記載の画像形成装置。
【請求項３】
画像形成装置が実行する画像処理方法であって、
オブジェクトに対応するベクタ画像データを複数の領域に対応したベクタ画像データに変換する変換ステップと、
前記変換ステップにおいて変換されたベクタ画像データに基づき、画像データを生成する画像データ生成ステップと、
前記変換ステップにおいて変換された前記ベクタ画像データと、前記画像データ生成ステップにおいて生成された前記画像データとを関連付けて格納手段に格納する格納ステップと、
前記変換ステップにおいて変換された前記ベクタ画像データと、前記格納手段に格納されている前記ベクタ画像データと、を比較する比較ステップと、
前記変換ステップにおいて変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数と一致する際、前記比較ステップによる比較を行い、ベクタ画像データが一致する場合、前記格納手段に格納された画像データを選択し、前記変換ステップにおいて変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数より多い際、前記比較ステップによる比較及び前記格納手段に格納された画像データの選択を行うことなく、前記画像データ生成ステップにより生成された画像データを選択するデータ選択ステップと、
を含むことを特徴とする画像処理方法。
【請求項４】
前記データ選択ステップでは、前記変換ステップにおいて変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数より少ない際、前記比較ステップによる比較を行い、ベクタ画像データが一致する場合、前記格納手段に格納された画像データを選択し、ベクタ画像データが一致しない場合、前記画像データ生成ステップにより生成された画像データを選択することを特徴とする請求項３記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像処理方法に関する。
【背景技術】
【０００２】
ベクタ画像の描画処理は、一般的に、
１）印刷ドライバなどから送られてくるＰｏｓｔＳｃｒｉｐｔやＰＤＦ等のベクタ画像データの解釈を行うベクタ画像処理と、
２）回転や色変換等のラスタ画像処理と、
からなる。
【０００３】
ベクタ画像データが入力されると、画像形成装置は、ベクタ画像データを解釈し、各ページのラスタ画像データ、又は圧縮形式の圧縮画像データを生成して、出力する。入力されるベクタ画像データは、複数種類のオブジェクト（描画オブジェクト）の集合として表現され、オブジェクトとしては、例えば図形、テキスト等がある。
【０００４】
画像形成装置が出力した画像は、必要に応じてページ合成や回転、色変換等の画像処理が行われた後、画像出力モジュールに送出され、出力可能となる。出力直前のページ画像データはラスタ画像データとなっており、画像出力モジュールの走査順に整列される。
【０００５】
一般に、ＰＤＬ等のベクタ画像データ画像の入力から画像出力モジュールへの出力までにかかる時間を短縮するため、画像を複数の領域に区切り、それらの領域を並行処理することによって、１ページの画像処理にかかる時間を短縮する手法が用いられている。ここで、ＰＤＬとは、Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅの略である。
【０００６】
特許文献１には、描画対象となる二次元領域を複数のブロックに分割し、分割された領域を複数の画像生成手段に割り当て、画像を形成する画像処理装置が開示されている。
【０００７】
【特許文献１】特開平４−１７０６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、複数の画像生成手段を画像処理装置に設ける構成とすると、ハードウェア規模が増大し、また、ハードウェア規模が増大した分、消費電力も増大する問題があった。
【０００９】
本発明は前記の問題点に鑑みなされたもので、ハードウェア規模や、消費電力を低減させつつ、画像形成時間を短縮させることを目的とする。
【課題を解決するための手段】
【００１０】
そこで、前記問題を解決するため、本発明の画像形成装置は、オブジェクトに対応するベクタ画像データを複数の領域に対応したベクタ画像データに変換する変換手段と、前記変換手段において変換されたベクタ画像データに基づき、画像データを生成する画像データ生成手段と、前記変換手段において変換された前記ベクタ画像データと、前記画像データ生成手段において生成された前記画像データとを関連付けて格納する格納手段と、前記変換手段において変換された前記ベクタ画像データと、前記格納手段に格納されている前記ベクタ画像データと、を比較する比較手段と、前記変換手段において変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数と一致する際、前記比較手段による比較を行い、ベクタ画像データが一致する場合、前記格納手段に格納された画像データを選択し、前記変換手段において変換されるオブジェクトの数が前記格納手段に格納される画像データのオブジェクトの数より多い際、前記比較手段による比較及び前記格納手段に格納された画像データの選択を行うことなく、前記画像データ生成手段により生成された画像データを選択するデータ選択手段と、を有することを特徴とする。
【００１２】
また、前記問題を解決するため、本発明は、画像処理方法としてもよい。
【発明の効果】
【００１３】
本発明によれば、ハードウェア規模や、消費電力を低減させつつ、画像形成時間を短縮させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面に基づいて説明する。
【００１５】
図１は、画像形成装置１２２の一例のハードウェア構成図である。画像形成装置１２２は、バスアクセス調停部１２３を介してバス１２４に接続される。バス１２４には、画像形成装置１２２に加え、ＵＳＢに代表される通信インターフェース１０９、処理に必要な全てのデータを一時格納するメモリ１１０、装置全体の制御、ベクタ画像データの処理等を行うＣＰＵ１１１が接続される。なお、通信インターフェースとしては、ＬＡＮ（ローカルエリアネットワーク）インターフェースや、無線インターフェースでもよい。
【００１６】
画像形成装置１２２には、選択的ブロック分配器１０１、画像形成部１０８、形成済みデータ保持置換部１２５、セレクタ２（１１９）、バスアクセス調停部１２３等が含まれる。
【００１７】
選択的ブロック分配器１０１は、後述する方法で複数の矩形に分割された矩形単位のベクタ画像データ、及び矩形内に含まれるオブジェクト数情報を順次読み出す。また、選択的ブロック分配器１０１は、読み出したベクタ画像データを複製し、画像形成部１０８と、形成済みデータ保持置換部１２５とに分配する。また、選択的ブロック分配器１０１は、制御部１１５に対して、読み込んだベクタ画像データのオブジェクト数情報に対応するレベルデータイネーブル信号１３３を出力する。選択的ブロック分配器１０１は、通常は、１回の起動で１ページ分のベクタ画像データを読み込んだ後に停止する動作を行う。
【００１８】
画像形成部１０８は、入力されたベクタ画像データを、描画コマンド生成部１０２、エッジ処理部１０３、レベル優先度判定部１０４、色生成部１０５、色合成部１０６、ピクセル展開処理部１０７の各処理部で順次処理し、ピクセルマップデータを形成する。以下、画像形成部１０８の構成をより具体的に説明する。
【００１９】
描画コマンド生成部１０２は、システムバス１２４にアクセスしてジョブを読み込み、描画コマンドを発行する。
【００２０】
エッジ処理部１０３は、描画コマンド生成部１０２によって発行された描画コマンドに従ってジョブに含まれる辺レコードを読み取り、走査線単位で描画オブジェクトの辺情報を抽出する。続いて、エッジ処理部１０３は、前記辺情報を走査線方向（Ｘ座標方向）の昇順にソートした後、レベル優先度判定部１０４に辺情報をメッセージとして転送する。
【００２１】
レベル優先度判定部１０４は、描画コマンド生成部１０２によって発行された描画コマンドに従い、ジョブに含まれるレベルテーブルと、エッジ処理部１０３から転送された辺情報とを読み取る。続いて、レベル優先度判定部１０４は、走査線毎に各レベルの優先度と、活性化された（描画に影響する）画素範囲とを決定し、各走査線の前記活性化された画素範囲の情報を優先度順にソートして他のレベルの画素との関係情報と共に画素範囲情報とする。そして、レベル優先度判定部１０４は、色生成部１０５に前記画素範囲情報を転送する。
【００２２】
色生成部１０５は、描画コマンド生成部１０２によって発行された描画コマンドに従い、ジョブに含まれるフィルテーブルと、レベル優先度判定部１０４から転送された画素範囲情報とを読み取る。続いて、色生成部１０５は、レベル毎に活性化された画素の色を決定し、活性化された画素の色情報を、レベル優先度判定部１０４から転送されてきた画素範囲情報と共に色合成部１０６に転送する。
【００２３】
色合成部１０６は、描画コマンド生成部１０２によって発行された描画コマンドに従い、レベル優先度判定部１０４によって生成された各レベルの画素範囲情報と、色生成部１０５によって決定された画素の色情報とを基に画素単位に色を決定する演算を実行する。そして、色合成部１０６は、画素の最終的な色を生成する。
【００２４】
ピクセル展開処理部１０７は、色合成部１０６によって生成された画素の最終的な色の内、ランレングス形式で表現された画素情報をピクセルに展開し、メモリ１１０やピクセルマップデータバッファ１２８に送出する。
【００２５】
なお、選択的ブロック分配器１０１及び画像形成部１０８の各内部モジュールは、それぞれ別のプロセッサ又は専用ハードウェアモジュールとして構成するのが望ましい。但し、これらの要素をソフトウェアで構成するようにしてもよい。なお、ここで、各内部モジュールとは、描画コマンド生成部１０２、エッジ処理部１０３、レベル優先度判定部１０４、色生成部１０５、色合成部１０６、ピクセル展開処理部１０７のことである。
【００２６】
形成済み画像データ保持置換部１２５、及び画像形成部１０８の構成は、本実施の形態を制限するものではなく、必要に応じて同等の処理を実行可能な異なる構成、及び描画方法をとってもよい。
【００２７】
また、選択的ブロック分配器１０１は、分割されたベクタ画像データをタイル単位に読み込み、読み込んだタイルのオブジェクト数を形成済みデータ保持置換部１２５に配置するデータ数と比較する。
【００２８】
形成済みデータ保持置換部１２５は、入力したベクタ画像データのオブジェクト数に対応するレベルデータ保持置換部１３６及び制御部１１５を含む。
【００２９】
各レベルデータ保持置換部は、分割後のベクタ画像データ（ベクタ画像データ）と、ベクタ画像データを画像形成した結果（ピクセルマップデータ）とを組み合わせとして保持するための一時記憶領域１１３を含む。また、各レベルデータ保持置換部は、新たに入力されたベクタ画像データと、既に保持されたベクタ画像データとを比較する比較器１１２を更に含む。また、各レベルデータ保持置換部は、一時記憶領域１１３より、保持されたデータを出力する際に、比較の結果位置したベクタ画像データに対応するデータ（ピクセルマップデータ）を選択するセレクタ１（１１８）を更に含む。
【００３０】
また、形成済みデータ保持置換部１２５は、制御部１１５から出力されるレベルデータ保持置換部出力選択信号１３７により、各レベルデータ保持置換部からの有効なピクセルマップデータ出力を選択するセレクタ４（１３５）を含む。
【００３１】
制御部１１５は、比較器１１２による比較の結果に基づいて、ピクセルマップデータの置換、出力、及びベクタ画像データの置換を制御する。
【００３２】
ここで、各レベルデータ保持置換部とは、レベル数１の画像データを保持するレベル１データ保持置換部１３１と、レベル数２の画像データを保持するレベル２データ保持置換部１３２とである。
【００３３】
なお、画像形成装置１２２の他の構成として、形成済みデータ保持置換部内を１つ以上のレベルデータ保持置換部によって構成し、各レベルデータ保持置換部内の一時記憶領域１１３にオブジェクト数情報を付加するようにしてもよい。そして、画像形成装置１２２は、オブジェクト数情報と、ベクタ画像データとの双方を、入力ベクタ画像データと、一時記憶領域１１３に保持されたデータとの等価性判定に使用してもよい。
【００３４】
本実施形態では背景のみのレベル数０の画像データは、制御部１１５内においてベクタ画像データ入力の一致判定、及びピクセルマップデータへの置換を行うものとする。しかしながら、オブジェクト数０のタイルに対して、レベル０データ保持置換部を設ける構成をとってもよい。この他に、レベル１以上のベクタ画像データ入力の一致判定、及びピクセルマップデータへの置換を制御部１１５で行ってもよい。
【００３５】
本実施形態では、選択的ブロック分配器１０１から形成済みデータ保持置換部１２５に供給されたベクタ画像データのオブジェクト数が１であった場合、レベル数１データ保持置換部１３１の一時記憶領域の何れかに対して書き込みが行われる。同様に、オブジェクト数が２であった場合、レベル数２データ保持置換部１３２の一時記憶領域が用いられる。また、上述したように、オブジェクト数が０のベクタ画像データに対する一致性判定、及びピクセルマップデータ出力処理は、制御部１１５内で行う。
【００３６】
以下、ページ単位のベクタ画像データがＵＳＢインターフェースより入力された時点から順を追って画像形成装置１２２の動作例を説明する。
【００３７】
１）ベクタ画像データ入力
通常、ベクタ画像データは、１ページ若しくは複数ページから構成される文章の単位でホストコンピュータ等から通信インターフェースを介して入力される。本実施形態では、ＤＭＡ付のＵＳＢエンドポイントを介し、１ページのベクタ画像データがメモリ１１０に格納される例を用いて説明を行なう。
【００３８】
ＵＳＢインターフェース１０９は予め起動されており、ベクタ画像データが到着するとＤＭＡ転送により、メモリ１１０上の指定された領域へ、バス１２４を介し、ベクタ画像データを転送する。その後、インタラプト等の通知手段（図示せず）によりＣＰＵ１１１にデータの到着が通知される。本実施形態では、タイル分割を行った図２の画像が入力された場合を例にして説明を行う。なお、分割手法がライン単位、ストリップ単位の場合においても、本実施形態のタイル処理をライン／ストリップ単位の処理に変更することにより、タイル処理を行う場合と同等の画像形成装置を構成することができる。
【００３９】
２）ベクタ画像データブロック分割
図２のような画像に対応するＰＤＬで記述されたデータを処理する場合を例に取り、図１の画像形成装置１２２の動作概要を説明する。図２には三角形の描画オブジェクト３０３等が描かれている。
【００４０】
図３に、図２に示した画像をＰＤＬで記述したベクタ画像データの一例を示す。
【００４１】
例えば、画像形成装置１２２は、最初に、ｍｏｖｅｔｏ命令によってペン座標を（Ｘ、Ｙ）＝（４８、１４４）に移動させる。ここから、例えば、画像形成装置１２２は、順にｌｉｎｅｔｏ命令によって座標（４８、１６）、（１３４、５８）、（４８、１４４）に直線を引き、三角形を描く。
【００４２】
図１に示した画像形成装置１２２は、ＵＳＢ等の外部インターフェース（１０９）から入力され、メモリ１１０上に格納されたベクタ画像データを、高速に描画するために複数の矩形領域に分割し、それぞれの矩形領域内でのベクタ画像データに形式変換する。
図３に示す描画領域全体のＰＤＬから図４に示すタイル領域のＰＤＬへの変換は、簡単な座標計算により実行できる。
【００４３】
以下、図１のＣＰＵ１１１においてＰＤＬで記述されたベクタ画像データのタイル分割が行われる例を示す。
入力されたＰＤＬで記述されたベクタ画像データ（図３）に基づき、ＣＰＵ１１１は、オブジェクト３０３の頂点３０６（座標（４８、１４４））、及び描画オブジェクト３１０の端点３１２（座標（６０、１６０））を特定する。そして、ＣＰＵ１１１は、図２に示されるように、ｘ座標が４８より小さい領域及び、ｙ座標が１６０より大きな領域には描画オブジェクトが無いことが分かる。
【００４４】
ＣＰＵ１１１が、ページ全体を３２×３２ピクセルのタイルに分割した場合を考える。すると、タイル番号（ｘ、ｙ）＝（０、５）、（０、４）、（０、３）、（０、２）、（０、１）、（０、０）、（１、５）、（２、５）、（３、５）、（４、５）にはオブジェクトが存在しない。また、これらのタイルの分割後のベクタ画像データは全て、（１００  ｓｅｔｂｇｃｏｌｏｒ、  ｆｉｌｌ、  ｓｈｏｗｐａｇｅ）のような、バックグランドカラーの指定と、描画コマンドとから構成される簡単なものとなる。
【００４５】
本実施形態ではタイル内に含まれるオブジェクトの計数を、描画オブジェクトの概形情報を用いて行う。ここで概形情報とは、ある描画オブジェクトが存在し得る最大領域を含む矩形領域である。例えば、概形３１４は描画オブジェクト３０３の描画過程において通過する頂点３０６、頂点３０８及び頂点３０７を包含する矩形領域である。なお、概形情報を用いたブロック分割については、上述した特許文献１に詳述されている。
なお、前記計数は、各描画オブジェクトと、タイル境界との交点計算を計数時に計算する方法でもよい。
【００４６】
タイル（１、４）において、ＣＰＵ１１１は、概形３１４の辺、及び描画オブジェクト３１０とタイル（１、４）の辺との交点から２つの描画オブジェクトがタイル内に存在することが分かる。
【００４７】
ＣＰＵ１１１は、頂点３０６、端点３１２（座標（６０、１６０））及び端点３１３（座標（６０、０））より、書かれるそれぞれのベクトルの傾きを求める。次に、ＣＰＵ１１１は、タイル内での頂点の座標から書かれた直線が、タイルの境界と交わる座標を求め、新たなタイル単位のベクタ画像データを生成する。
【００４８】
一般に、頂点Ａ（ｘ、ｙ）の変換後の座標Ａ'（ｘ'、ｙ'）は、
ｘ'  ＝  頂点ＡのＸ座標ｘ−Ｘ方向タイル番号×１タイル内のＸ方向ピクセル数
ｙ'  ＝  頂点ＡのＹ座標ｙ−Ｘ方向タイル番号×１タイル内のＹ方向ピクセル数
となる。
【００４９】
タイル（１、４）に含まれる頂点３０６の変換後の座標（ｘ'、ｙ'）は、
頂点ＡのＸ座標  ＝  ４８
頂点ＡのＹ座標  ＝  １４４
Ｘ方向タイル番号  ＝  １
Ｙ方向タイル番号  ＝  ４
１タイル内のＸ方向ピクセル数  ＝  １タイル内のＹ方向ピクセル数  ＝  ３２  より、
ｘ'  ＝  ４８  −  １×３２  ＝  １６
ｙ'  ＝  １４４  −  ４×３２  ＝  １６
となる。
【００５０】
また、端点３１２の変換後の座標（ｘ''、ｙ''）は、
ｘ''  ＝  ６０  −  １×３２  ＝  ２８
ｙ''  ＝  １６０  −  ４×３２  ＝  ３２
となる。
【００５１】
頂点３０６を端点とする垂直方向のベクトルは傾き無限大、右斜めのベクトルは、（１４４−５８）／（４８−１３４）＝  −１  である。したがって、左下を基点としたタイル内でのオブジェクトは、図５に示すように、ベクトルａと、ベクトルｂと、ベクトルｃと、に変換される。ここで、ベクトルａは、頂点（１６、１６）を始点とし、垂直下方向にタイル境界までのベクトルである。ベクトルｂは、傾き−１でｘ＝３２若しくはｙ＝０との交点までのベクトルである。ベクトルｃは、２つのベクトルとタイル境界の交点から（３２、０）までのベクトルである。
【００５２】
なお、この例の場合、ベクトルｂの終点が（３２、０）であるのでベクトルｂから（３２、０）へのベクトルは無い。また、端点３１２は図５に示すように、端点（２８、、３２）を始点とし、垂直下方向にタイル境界までのベクトルｄに変換される。
上述したように、変換後の、タイル単位に分割されたベクタ画像データは、図４のように表現される。
【００５３】
次に入力されたＰＤＬをストリップ単位に分割する例を示す。この場合、上記タイル分割においてｙ方向の演算を省略すればよい。
このとき、ストリップ内における頂点３０６の変換後の座標（ｘ'、ｙ'）は
ｘ'  ＝  頂点のＸ座標ｘ  ＝  ４８
ｙ'  ＝  頂点のＹ座標ｙ―タイル番号３×１タイル内のＹ方向ピクセル数３２ｐｉｘｅｌ  ＝  １６
となる。
【００５４】
また、端点３１２の変換後の座標（ｘ''、ｙ''）は、
ｘ''  ＝頂点のＸ座標ｘ  ＝  ６０
ｙ''  ＝頂点のＹ座標ｙ―タイル番号３×１タイル内のＹ方向ピクセル数３２ｐｉｘｅｌ＝３２
となる。
【００５５】
以上の処理により、変換後のオブジェクトは、図６に示すように、ベクトルＡと、ベクトルＢと、ベクトルＣと、ベクトルＤとに変換される。ここで、ベクトルＡは、頂点（４８、１６）を始点とし、垂直下方向にストリップ境界までのベクトルである。また、ベクトルＢは、傾き−１でｙ＝０との交点までのベクトルである。また、ベクトルＣは、２つのベクトルと、ストリップの境界の交点とを結ぶベクトルである。また、ベクトルＣは、端点（６０、３２）を始点とし、垂直下方向にタイル境界までのベクトルである。
変換後の、ストリップ単位に分割されたベクタ画像データは、図７のように表現される。
【００５６】
また、ライン単位に分割するためにはあるｙ座標に対するオブジェクトの交点を求めればよい。
以下、上記何れかの方法を用いてタイル／ストリップ／ライン単位に分割された各領域をブロックと呼ぶ。
【００５７】
３）画像形成装置起動
ＣＰＵ１１１は上記ベクタ画像データのブロック分割終了後、画像形成装置１２２内の設定レジスタ（図示せず）及び一時記憶領域１１３内のメモリを初期化する。続いて、ＣＰＵ１１１は、図１における選択的ブロック分配器１０１を起動する。これにより、画像形成装置１２２が動作を開始する。
【００５８】
４）画像形成処理
選択的ブロック分配器１０１は、分割されたベクタ画像データをタイル単位で読み込み、形成済みデータ保持置換部１２５と、画像形成部１０８とに分配供給する。画像形成部１０８では、ベクタ画像データを処理、ピクセルマップデータを生成する。
【００５９】
一方、形成済みデータ保持置換部１２５内では、レベルデータイネーブル信号１３３によって選択されたレベルデータ保持置換部内の比較器１１２が、比較処理を実行する。つまり、比較器１１２は、選択的ブロック分配器１０１より入力されたベクタ画像データと、一時記憶領域１１３に保持されたベクタ画像データとを比較する処理を実行する。
【００６０】
本実施形態では、形成済みデータ保持置換部１２５でレベル数１及びレベル２のベクタ画像データを記録する構成が示されている。本構成では読み込んだタイルに含まれるオブジェクト数が、形成済みデータ保持置換部１２５が対応する１又は２オブジェクトであった場合、選択的ブロック分配器１０１は、レベルデータイネーブル信号１３３によって制御部１１５にオブジェクト数を通知する。それ以外のオブジェクト数のデータが入力された場合、選択的ブロック分配器１０１は、レベルデータイネーブル信号１３３をデアサートしておく。
【００６１】
また、本実施形態では、比較器１１２は、１２８ビットのコンパレータを用い、選択的ブロック分配器１０１より供給されるベクタ画像データを、一時記憶領域１１３に格納されているベクタ画像データと先頭から逐次比較し続ける。そして、比較器１１２は、一致している場合に限り一致信号１１７を有効化し、制御部１１５に通知する。一旦不一致が発生した場合、比較器１１２は、一致信号１１７を無効化し、新たなベクタ画像データが選択的ブロック分配器１０１より供給されるまで一致信号１１７を出力しない。
【００６２】
この処理の結果、制御部１１５は、ベクタ画像データ読み込みが終了後、一致信号１１７が有効な場合に、ベクタ画像データが一致したと判定することができる。
【００６３】
一般的に、描画コマンド生成部１０２の処理は、ベクタ画像データ入力終了後、解析、生成の時間が必要であり、以後の描画処理にも図形の複雑度に応じ処理時間が必要である。そのため、比較器１１２における比較結果は、画像形成部１０８における描画処理（画像形成処理）終了より早く確定する。
【００６４】
制御部１１５における処理を図８に示す。
制御部１１５は、処理が開始されると（Ｓ２００１）、Ｓ２００２において、選択的ブロック分配器１０１が１タイル分のベクタ画像データを読み込み終わるのを待つ。１タイル分のベクタ画像データは読み込みと同時にベクタ画像データバッファ１２６に一時的に記憶される。
【００６５】
ベクタ画像データの読み込みが終了すると、制御部１１５は、Ｓ２００３において、形成済みデータ保持置換部１２５内に入力されたベクタ画像データに対応するレベルデータ保持置換部１３６があるか否かを判定する。制御部１１５は、選択的ブロック分配器１０１から入力されるレベル１データ保持置換部１３１、又はレベル２データ保持置換部１３２に対応するレベルデータイネーブル信号１３３の入力に基づいて、前記判定を行なう。
【００６６】
１タイル分のベクタ画像データに含まれるオブジェクト数が、形成済みデータ保持置換部１２５でサポートされたオブジェクト数のベクタ画像データ入力であった場合、制御部１１５は、Ｓ２００４において、セレクタ４（１３５）を切り替える。つまり、制御部１１５は、入力されたベクタ画像データに対応するレベルデータ保持置換部１３６の出力を形成済みデータ保持置換部１２５からの出力とするレベルデータ保持置換部出力選択信号を出力する。
【００６７】
次にＳ２００５において、制御部１１５は、入力されたベクタ画像データと、入力されたベクタ画像データに対応するレベルデータ保持置換部１３６の一時記憶領域１１３内のデータとの一致信号１１７が存在する否かを判定する。ここで、画像形成装置１２２の動作が正常であれば、一致信号１１７は全部無効か、一つが有効な状態になっている。複数の一致信号１１７が有効になっている場合、制御部１１５は、異常終了等の処理を行ってもよい。
【００６８】
一致信号１１７がある場合、Ｓ２０１１において、制御部１１５は、セレクタ２（１１９）を切り替え、形成済みデータ保持置換部１２５から出力されるピクセルマップデータを画像形成装置１２２の処理結果とする。つまり、制御部１１５は、入力されたベクタ画像データと一致するベクタ画像データと対応付けて一次記憶領域１１３に格納されていたピクセルマップデータを処理結果として出力バス１２０を介し、バスアクセス調停部１２３に出力する。
【００６９】
本実施形態では、複数ある一時記憶領域１１３の描画データの選択は、セレクタ１（１１８）へ直接接続された、比較結果信号１１７によって既に行われている。なお、前記選択を制御装置１１５が行ってもよい。
【００７０】
ピクセルマップデータを受け取ったバスアクセス調停部１２３は、メモリ１１０上の予め設定された領域へピクセルマップデータを書き出す。
【００７１】
Ｓ２０１２において、バスアクセス調停部１２３は、描画データの出力終了を待ち、終了した場合、Ｓ２０１３に進み、ベクタ画像データ読み込み指示信号１２９を用いて選択的ブロック分配器１０１に次のタイルベクタ画像データの読み込みを指示する。その後、制御部１１５は、Ｓ２００２の処理に戻り、次のタイルベクタ画像データの入力終了を待つ。
【００７２】
一方Ｓ２００３においてレベルデータ保持置換部１３６が対応しないオブジェクト数のベクタ画像データが入力された場合、Ｓ２０１４において、制御部１１５は、入力ベクタ画像データが制御部１１５によってサポートされるレベル０のタイルか否かを判定する。
【００７３】
入力ベクタ画像データがオブジェクトを含まないレベル０のタイルであった場合、Ｓ２０１５において、制御部１１５は、レベル０のベクタ画像データバッファ１２６（図示せず）に保持されているデータと、入力ベクタ画像データとが一致するか否かを判定する。
【００７４】
Ｓ２０１５における比較の結果、一致するデータが存在する場合、Ｓ２０１６において、制御部１１５は、セレクタ４（１３５）を制御部１１５の出力に切り替える。続いてＳ２０１７において、制御部１１５は、制御部レベル０ピクセルマップデータ出力バス１３８経由で制御部１１５内のレベル０のピクセルデータバッファ（図示せず）の内容を出力する。
【００７５】
また、Ｓ２０１５において一致する有効なデータが存在しなかった場合、Ｓ２０１８において、制御部１１５は、画像形成装置１２２の出力を画像形成部１０８の出力に切り替える。また、Ｓ２０１９において、制御部１１５は、入力されたベクタ画像データを、制御部１１５が有するレベル０のベクタ画像データバッファ１２６にコピーする。Ｓ２０２０にて、制御部１１５は、画像形成部１０８の描画終了（画像形成終了）を確認後、Ｓ２０２１において、画像形成後のピクセルマップデータを制御部１１５が有するレベル０のピクセルデータバッファにコピーする。
【００７６】
一方、Ｓ２０１４においてレベル０以外のオブジェクト数のベクタ画像データが入力された場合、又はＳ２００５において一致信号１１７が無い場合、Ｓ２００６において、制御部１１５は、セレクタ２（１１９）を画像形成部１０８の出力へ切り替える。結果、画像形成装置１２２のピクセルマップデータの出力は既知の画像形成の手法により行われる。なお、Ｓ２０１４においてレベル０以外のオブジェクト数のベクタ画像データが入力されたと判定し、Ｓ２００６の処理に移行してきた場合、以下に示すＳ２００７、Ｓ２００８、Ｓ２０１０の処理は実行されない。
【００７７】
Ｓ２００７において、制御部１１５は、複数ある一時記憶領域１１３から置き換え対象の一次記憶領域１１３を一つ選択する。本実施形態では、制御部１１５は、ラウンドロビン方式を用い、書き換えが発生する毎に隣の一時記憶領域１１３を次の置き換え対象として選択する。
【００７８】
Ｓ２００８において、制御部１１５は、Ｓ２００７において選択した一時記憶領域１１３へ、ベクタ画像データの格納を行う。これは、ベクタ画像データバッファ１２６に一時的に記憶したベクタ画像データのコピーによって行われる。
【００７９】
Ｓ２００９において、制御部１１５は、画像形成部処理終了信号１２７を監視することにより、画像形成部１０８での画像形成終了を待つ。
【００８０】
画像形成が終了すると、Ｓ２０１０へ進み、制御部１１５は、ベクタ画像データと同様に、ピクセルマップデータバッファ１２８に格納された、ピクセルマップデータを選択された一時記憶領域１１３へコピーする。
【００８１】
コピー終了後、Ｓ２０１３に進み、ベクタ画像データ読み込み指示信号１２９を用いて選択的ブロック分配器１０１に次のタイルベクタ画像データの読み込みを指示する。
その後、制御部１１５は、Ｓ２００２の処理に戻り、次のタイルベクタ画像データの入力終了を待つ。
【００８２】
図２に示す画像を図３に示すベクタ画像データとして入力されると、ＣＰＵ１１１において、タイル番号（０、０）から（４、５）までの３０のタイルに分割される。ＣＰＵ１１１は、各タイルのベクタ画像データを３０個生成し、メモリ１１０に格納し、各タイルのベクタ画像データの格納場所を選択的ブロック分配器１０１に保存する。
【００８３】
次に、選択的ブロック分配器１０１により、タイル番号（０、０）→（０、１）→（０、２）→（０、３）→（０、４）→（０、５）→（１、０）→（１、１）→（１、２）・・・のベクタ画像データが画像形成装置１２２に読み込まれ、画像形成が行われる。
【００８４】
タイル（０、０）は最初のタイルなので、画像形成部１０８により描画が行われ、白紙のピクセルマップデータが生成される。制御部１１５は、図８のＳ２００２→Ｓ２００３→Ｓ２０１４→Ｓ２０１５→Ｓ１０１８〜Ｓ２０２１→Ｓ２０１３の処理を実行し、制御部１１５のレベル０のベクタ画像データバッファ１２６及び制御部１１５のレベル０のピクセルデータバッファが更新される。
【００８５】
２番目のタイル（０、１）もオブジェクトが存在しないため、タイル（０、１）のベクタ画像データは、タイル（０、０）のベクタ画像データと一致する。よって制御部１１５は、図８のＳ２００２→Ｓ２００３→Ｓ２０１４→Ｓ２０１５→Ｓ１０１６→Ｓ２０１７→Ｓ２０１３の処理を実行し、既に描画されたタイル（０、０）のピクセルマップデータが画像形成装置１２２のピクセルマップデータとして出力される。
タイル（０、２）（０、３）（０、４）（０、５）も同様に時間のかかる描画処理は行われない。
【００８６】
再度最下段のタイルに戻り、タイル（１、０）では、オブジェクト数が２つあるので、レベル２データ保持置換部１３２が制御部１１５によってイネーブルされる。しかし、ベクタ画像データがレベル２データ保持置換部１３２内の一時記憶領域１１３に保持されているデータと一致しないため、画像形成部１０８による描画処理が行われ、ピクセルマップデータが生成される。そして、入力されたベクタ画像データと、生成されたピクセルマップデータとは、レベル２データ保持置換部１３２内の１つ目の一次記憶領域１１３に格納される。
【００８７】
次に、タイル（１、１）では、オブジェクト数が２つあるので、レベル２データ保持置換部１３２が制御部１１５によってイネーブルされる。しかし、タイル（１、１）のベクタ画像データが一時記憶領域１１３に保持されているベクタ画像データと一致しないため、画像形成部１０８による描画処理によってピクセルマップデータが生成される。そして、入力されたベクタ画像データと、生成されたピクセルマップとは、レベル２データ保持置換部１３２内の２つ目の一次記憶領域１１３に格納される。
【００８８】
次に、タイル（１、２）では、オブジェクト数が３つあるので、対応するレベルデータ保持置換部１３６が存在しない。制御部１１５は、Ｓ２００２→Ｓ２００３→Ｓ２０１４→Ｓ２００６→Ｓ２００９→Ｓ２０１３の処理を実行し、画像形成部１０８の描画処理結果を出力する。オブジェクト数が３つの場合、制御部１１５は、描画済みのベクタ画像データ、及びピクセルマップデータを保存しない。
【００８９】
タイル（１、３）では、入力されたベクタ画像データと、一次記憶領域１１３のタイル（１、１）のベクタ画像データとが同一になるため、描画処理終了まで待たずに、描画後のピクセルマップデータが一時記憶領域１１３より出力される。
【００９０】
次に、タイル（１、４）では、入力されたベクタ画像データが一時記憶領域１１３に保持されているデータと一致しないため、画像形成部１０８による描画処理が行われ、ピクセルマップデータが生成される。
【００９１】
タイル（１、５）ではベクタ画像データと、ピクセルマップデータとを格納するレベル２データ保持置換部１３２内の２つの一次記憶領域１１３が全て使用されている。そのため、ベクタ画像データと、ピクセルマップデータとは一つ目の一次記憶領域１１３に上書きされる。
【００９２】
画像形成装置１２２は、以上の動作をタイル（４、５）の描画データを出力し終わるまで繰り返す。
【００９３】
以上説明したように、本実施形態の画像形成装置１２２よれば、ＰＤＬ等に代表されるベクタ画像データから画像を形成する過程で、既に描画の終了したベクタ画像データとこれから描画を行うベクタ画像データとを比較する。比較の結果、両者が一致している場合、画像形成装置は、処理時間の大きいベクタ画像データの解析描画処理の代わりに、保持してある描画済みデータ（ピクセルマップデータ）を出力する。つまり、一旦描画を行ったベクタ画像データの画像形成を行う必要が無くなり、高速な画像形成が実現できる。
【００９４】
特に、１ページを複数のタイルに分割し画像形成を行う構成の場合には、画像形成部１０８で形成する描画データの量を減らすことができる。よって、１ページ内の画像形成時間の短縮が可能となる。
【００９５】
また、画像形成処理は一般的に高速で動作するハードウェア演算装置で行なわれる場合が多いので、不要な画像形成を行なわなくすることにより、消費電力の低減効果もある。
【００９６】
また、本実施形態の画像形成装置１２２によれば、より再使用される確立の高いベクタ画像データを選択的に一時記憶領域内に保持しておくことができる。レベルデータ保持置換部１３６内の一時記憶領域１１３内に、再使用率が高いオブジェクト数のタイル情報を保持しておくことにより、同一ベクタ画像データに対する描画処理回数が低減されることができ、描画効率が向上する。
【００９７】
また、一時記憶領域１１３の有効使用率の向上により、より少ない一時記憶領域１１３及び比較器１１２数でレベルデータ保持置換部１３６を構成することができ、実装時のハードウェア規模の低減、及び消費電力の低減が期待できる。
【００９８】
更に、再使用される可能性が低いタイルに対する等価性判定を省略することにより、等価性判定に必要な判定条件の減少による判定時間を短縮することができる。また、等価性判定に必要な演算量が低減されるため、等価性判定後に等価性判定に用いた回路を停止することにより、消費電力を低減させることができる。なお、等価性判定とは、例えば、Ｓ２００５や、Ｓ２０１５等の処理のことである。
【００９９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１００】
【図１】画像形成装置１２２の一例のハードウェア構成図である。
【図２】画像の一例を示す図である。
【図３】図２に示した画像をＰＤＬで記述したベクタ画像データの一例を示す図である。
【図４】タイル単位に分割された画像をＰＤＬで記述したベクタ画像データの一例を示す図である。
【図５】タイル単位に分割されたオブジェクトの一例を示す図である。
【図６】ストリップ単位に分割されたオブジェクトの一例を示す図である。
【図７】ストリップ単位に分割された画像をＰＤＬで記述したベクタ画像データの一例を示す図である。
【図８】制御部１１５の動作フローチャートの一例を示す図である。
【符号の説明】
【０１０１】
１０１  選択的ブロック分配器
１０２  描画コマンド生成部
１０３  エッジ処理部
１０４  レベル優先度判定部
１０５  色生成部
１０６  色合成部
１０７  ピクセル展開処理部
１０８  画像形成部
１１０  メモリ
１１１  ＣＰＵ
１１２  比較器
１１３  一時記憶領域
１１５  制御部
１１８  セレクタ１
１１９  セレクタ２
１２２  画像形成装置
１２３  バスアクセス調停部
１２４  バス
１２５  形成済みデータ保持置換部
１２６  ベクタ画像データバッファ
１２７  画像形成部処理終了信号
１２８  ピクセルマップデータバッファ
１２９  ベクタ画像データ読み込み指示信号
１３１  レベル１データ保持置換部
１３２  レベル２データ保持置換部
１３３  レベルデータイネーブル信号
１３５  セレクタ４
１３６  レベルデータ保持置換部
１３７  レベルデータ保持置換部出力選択信号
１３８  制御部レベル０ピクセルマップデータ出力バス
【図１】
0004764188.tif 000002
【図２】
0004764188.tif 000003
【図３】
0004764188.tif 000004
【図４】
0004764188.tif 000005
【図５】
0004764188.tif 000006
【図６】
0004764188.tif 000007
【図７】
0004764188.tif 000008
【図８】
0004764188.tif 000009