(57)【要約】      （修正有）【課題】中間コード画像データが描画処理命令毎に生成され、且つ中間コード画像データに論理演算命令またはクリップ命令が含まれる場合であっても、ページ記述データによって示されるオブジェクトに応じた画像を形成するための中間コード画像データを再生成することができるとともに、中間コード画像データのデータ量を削減することが可能な画像処理装置及び画像処理方法を提供する。【解決手段】描画処理命令毎に生成されてメモリに格納された中間コード画像データを、生成された順に遡って順次解釈し、各中間コード画像データに含まれる描画処理命令を判別し、判別結果に基づいて、輪郭データの生成及び中間コード画像データの再生成を実行する。詳細には、中間コード画像データの描画処理命令に基づいて、輪郭データの生成処理及び中間コード画像データの再度生成処理を行う。【選択図】図９
2006350466.tif 000002
【特許請求の範囲】
【請求項１】
所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する変換する変換手段と、
前記変換手段によって変換された中間コード画像データを描画処理命令毎に記憶する記憶手段と、
前記中間コード画像データを前記中間コード画像データの生成順序を遡って前記記憶手段から順次読み取る読取手段と、
前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別を判別する判別手段と、
前記判別手段による判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する輪郭データ生成手段と、
前記読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する中間コード画像データ再生成手段と、
を備えた画像処理装置。
【請求項２】
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する、請求項１に記載の画像処理装置。
【請求項３】
前記輪郭データ生成手段は、前記輪郭データを生成した後に、描画処理命令の種別が前記クリップ命令の中間コード画像データを、前記記憶手段から削除する削除手段を含む請求項２に記載の画像処理装置。
【請求項４】
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算区間を特定する特定手段と、前記特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段と、を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成し、前記判定手段によって判定された中間コード画像データ以外の前記特定手段によって特定された中間コード画像データを再生成後の中間コード画像データとする、
請求項１に記載の画像処理装置。
【請求項５】
前記判別手段による判別結果に基づいて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する再生成省略制御手段を備えた請求項１に記載の画像処理装置。
【請求項６】
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより、該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する請求項１または請求項５に記載の画像処理装置。
【請求項７】
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定された論理演算有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する請求項１または請求項５に記載の画像処理装置。
【請求項８】
所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換し、
前記変換された中間コード画像データを描画処理命令毎に記憶し、
前記中間コード画像データを前記中間コード画像データの生成順序を遡って順次読み取り、
前記読み取った中間コード画像データに含まれる描画処理命令の種別を判別し、
判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記読み取った中間コード画像データを、該中間コード画像データの描画領域から前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に係り、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表した中間コード画像データに基づいてラスタデータを生成する画像処理装置及び画像処理方法に関する。
【０００２】
なお、上記のオブジェクトとは図形（グラフィックス）、文字（フォント）、写真（イメージ）、描画領域等の描画対象を意味し、ページ記述データとはページ記述言語で表された各オブジェクトに関する画像データを意味する。
【背景技術】
【０００３】
従来、描画されるオブジェクトを表したページ記述データに基づいてラスタデータを生成し、かつ１ページ分、或いは複数ページ分に相当するラスタデータを展開するメモリを保有しておらず、その代わりに１ページを複数のバンドに分割して、そのバンドのサイズに相当する描画領域を複数備えた画像処理装置において、オブジェクトのページ記述データを中間コード画像データに変換した後、該中間コード画像データに基づいてラスタデータを生成する方法が提案されている。中間コード画像データは、オブジェクトを少ないデータ量で表現できるという利点を有しており、上記の方法により画像処理で使用するメモリを節約することができるが、その一方で、オブジェクト毎に中間コード画像データを生成するため、グラデーションなどの多量のオブジェクトで構成される描画に対しては、大量の中間コード画像データを生成してしまい、中間コード画像データの総量が対象とする描画領域のメモリ量より大きくなってしまうということが発生し、またオブジェクト間の重なり領域もそのまま中間コード画像データに変換しているため、ラスタデータの生成時に多大な時間を要するという問題がある。
【０００４】
このような中間コード画像データの問題点に対して、例えば、特許文献１では、ページ記述データからオブジェクト毎に中間コード画像データを生成して生成した中間コード画像データを記憶すると共に、記憶されたオブジェクト毎の中間コード画像データに基づいて、下層側に描画されるオブジェクトをマスクする上層側のオブジェクトの輪郭を表す輪郭データを最上層から下層側のオブジェクトに向かって遡って作成し、マスクされずに残った部分、すなわち各オブジェクトから各オブジェクトの上層側のオブジェクトの輪郭による輪郭領域を除いた部分により中間コード画像データを再生成することにより、オブジェクト毎の重なりをなくしている。
【０００５】
具体的には、一般的な描画処理技術では、図１１（Ａ）に示すように、所定の描画順序に従って層状に描画されるオブジェクト５０Ａ、５０Ｂ、及び５０Ｃの各々を順に層状に描画することによって複数のオブジェクト５０Ａ、５０Ｂ、及び５０Ｃが層状に描画された出力画像５０Ｄを得る場合に、各オブジェクト５０Ａ、５０Ｂ、及び５０Ｃ毎に中間コード画像データ５２Ａ、５２Ｂ、及び５２Ｃ各々を生成して記憶していた。この場合、中間コード画像データを記憶するためのメモリには、各オブジェクトが層状に描画されたときにオブジェクト同士が重なりあう領域を含む中間コード画像データが重複して記憶されるため、メモリの記憶容量を大きくする必要があるという問題があった。
【０００６】
このような問題に対応するために、特許文献１の技術では、各オブジェクトの中間コード画像データ毎に、各オブジェクトより上層側に描画されるオブジェクトの領域との重なり領域を各オブジェクトから除外した中間コード画像データとなるように、中間コード画像データを再生成する。
【０００７】
詳細には、図１１（Ｂ）に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトの中間コード画像データから順に下層側に描画されるオブジェクト向かって、各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。
【０００８】
輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われた後に、輪郭データ生成処理によって更新されて、積層されるオブジェクトに対応する中間コード画像データの再生成処理が実行される度にクリアされる。輪郭データ保持領域には、図１１（Ｃ）に示すように、再生成される前の中間コード画像データ（元中間コード画像データという）各々に基づいて、下層側に描画されるオブジェクトをマスクする上層側のオブジェクトの少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、オブジェクトの描画順に遡って次の再生成処理対象となる中間コード画像データのオブジェクトの輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。
【０００９】
このため、中間コード画像データ再処理時には、処理対象となる中間コード画像データから、この中間コード画像データのオブジェクトの上層側に描画されるすべてのオブジェクトによって表される輪郭データ領域を除いた中間コード画像データが再生成される。
【００１０】
画像描画時には、オブジェクト毎に再生成された中間コード画像データに基づいて、所定の描画順序に従って描画することによって、一般的な描画処理によって得られる出力画像５０Ｄと一致するような出力画像５０Ｅを得ることができる。
【００１１】
この技術により、描画データを形成する過程で使用する作業用メモリのメモリ容量を少なく抑えることができ、かつ無駄なメモリへの書き込みがなくなるため、中間コード画像データからラスタデータを生成する時間が大幅に短縮される。
【特許文献１】特開平１０−１７７６５７号広報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記従来技術では、中間コード画像データをオブジェクト毎に生成しているが、近年、描画処理に関する描画処理命令毎に中間コード画像データを生成する記述が普及している。描画処理命令には、所定の描画領域を上書きする上書き命令、対象となる描画領域をクリップするクリップ命令、所定の描画領域について論理演算を実行するための論理演算命令等がある。このような描画処理命令毎に中間コード画像データを生成した場合には、中間コード画像データは、オブジェクトを形成するための部品としての描画領域と描画処理命令を含むデータとなる。このように、中間コード画像データに描画処理命令としてクリップ命令や論理演算命令が含まれる場合に、上記従来技術を適用させて、中間コード画像データ毎に輪郭データを生成して、下層側の中間コード画像データからこの輪郭データ領域を削除するようにして中間コード画像データを再生成し、再生成された中間コード画像データに基づいて描画処理を行うと、複数の中間コード画像データ各々に示される描画領域によって１つのオブジェクトを生成する場合であっても、描画領域毎に生成された輪郭データに基づいて再生成された中間コード画像データに応じた描画処理が行われるため、得られる出力画像は、一般的な描画処理によって得られる出力画像とは異なるという問題がある。
【００１３】
具体的には、図１２（Ｂ）に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトに応じた描画領域の中間コード画像データから順に下層側に描画されるオブジェクトに応じた描画領域に向かって、各中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。
【００１４】
中間コード画像データにクリップ命令が含まれている場合には、例えば、図１２（Ｂ）に示すように、クリップ開始命令及びクリップするクリップ領域を表す描画領域を含む中間コード画像データ５４Ｂ、クリップされる描画領域と該描画領域の一部を下層側の描画領域（オブジェクトに対応する描画領域）に上書きする上書命令を含む中間コード画像データ５４Ｃ、及びクリップ終了を表すクリップ終了命令を含む中間コード画像データ５４Ｄが生成される。
【００１５】
このような中間コード画像データについて、上記従来技術を適用させると、中間コード画像データの生成順に遡って各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。なお、一般的に、クリップ命令を含む中間コード画像データは、クリップ元となる描画領域を含む中間コード画像データやオブジェクトに対応する描画領域を含む中間コード画像データとは異なる領域に格納される。このため、クリップ命令を含む中間コード画像データを再生成するときには、輪郭データを削除せずに別領域に格納されている中間コード画像データをそのまま再生成された中間コード画像データとして扱う。
【００１６】
輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われる度に更新され、輪郭データ保持領域には、図１２（Ｃ）に示すように、再生成される前の中間コード画像データ（以下、元中間コード画像データという）各々に基づいて、下層側に描画される描画領域をマスクする上層側の描画領域の少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、元中間コード画像データの描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。
【００１７】
このように、各中間コード画像データの描画領域に応じた輪郭データを生成して生成した輪郭データを前回生成した輪郭データに含め、この輪郭データ領域を上層側に描画されるオブジェクトの描画領域から除去すると、実際に積層されるオブジェクトではなくクリップ対象となるクリップ元としての描画領域の輪郭データ領域を上層側に描画されるオブジェクトの描画領域から除去することとなる。このため、再生成された中間コード画像データに基づいて、所定の描画順序に従って描画領域を描画すると、再生成前の中間コード画像データから一般的な描画処理によって得られる出力画像５４Ｅとは異なる出力画像５０Ｆが得られる、という問題があった。
【００１８】
また、中間コード画像データに論理演算命令が含まれている場合についても、上記従来技術を適用させて、描画処理命令（論理演算命令）毎に生成された中間コード画像データを再生成すると、複数の中間コード画像データ各々に示される描画領域の論理演算によって１つのオブジェクトを生成する場合であっても、描画領域毎に生成された輪郭データに基づいて再生成された中間コード画像データに応じた描画処理が行われるため、得られる出力画像は、一般的な描画処理によって得られる出力画像とは異なるという問題がある。
【００１９】
具体的には、図１３（Ｂ）に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトに応じた描画領域の中間コード画像データから順に下層側に描画されるオブジェクトに応じた描画領域に向かって、各中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。
【００２０】
中間コード画像データに論理演算命令が含まれている場合には、例えば、図１３（Ｂ）に示すように、中間コード画像データとしては、オブジェクトに対応する描画領域と描画処理として上書き命令を含む中間コード画像データ６０Ａ、一連の論理演算によって１つのオブジェクトを生成するための複数の中間コード画像データ６０Ｂ、６０Ｃ、及び６０Ｄが生成されている。例えば、中間コード画像データ６０Ｂは、描画領域６２Ｂと論理演算（ＸＯＲ）を含み、中間コード画像データ６０Ｃは、描画領域６２Ｃと論理演算（ＡＮＤ）を含み、中間コード画像データ６０Ｄは、描画領域６２Ｄと論理演算（ＸＯＲ）を含んでいる。
【００２１】
このような論理演算命令を含む中間コード画像データについて、上記従来技術を適用させると、中間コード画像データの生成順に遡って各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。
【００２２】
輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われる度に更新され、輪郭データ保持領域には、図１３（Ｃ）に示すように、再生成される前の中間コード画像データ（以下、元中間コード画像データという）各々に基づいて、下層側に描画される描画領域をマスクする上層側の描画領域の少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、描画順に遡って次の再生成処理対象となる中間コード画像データの描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。
【００２３】
このように、各中間コード画像データの描画領域に応じた輪郭データを生成して生成した輪郭データを前回生成した輪郭データに含め、この輪郭データ領域を上層側に描画される描画領域から除去すると、実際に積層されるオブジェクトではなく、一連の論理演算によって１つのオブジェクトを生成するための複数の中間コード画像データ６０Ｂ、６０Ｃ、及び６０Ｄ各々の描画領域について輪郭データを生成して、上層側の描画領域の輪郭データに含めた輪郭データ領域を仮想側の描画領域から除去することとなる。このため、再生成された中間コード画像データに基づいて、所定の描画順序に従って描画領域を描画すると、再生成前の中間コード画像データから一般的な描画処理によって得られる出力画像６０Ｅとは異なる出力画像６０Ｆが得られる、という問題があった。
【００２４】
本発明は、上記問題点を解消するためになされたものであり、中間コード画像データが描画処理命令毎に生成され、且つ中間コード画像データに論理演算命令またはクリップ命令が含まれる場合であっても、ページ記述データによって示されるオブジェクトに応じた画像を形成するための中間コード画像データを生成することができるとともに、中間コード画像データのデータ量を削減することが可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００２５】
請求項１の画像処理装置は、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する変換する変換手段と、前記変換手段によって変換された中間コード画像データを描画処理命令毎に記憶する記憶手段と、前記中間コード画像データを前記中間コード画像データの生成順序を遡って前記記憶手段から順次読み取る読取手段と、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別を判別する判別手段と、前記判別手段による判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する輪郭データ生成手段と、前記読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する中間コード画像データ再生成手段と、を備えている。
【００２６】
請求項１に記載の画像処理装置の変換手段は、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎にオブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域、または描画処理命令とオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する。中間コード画像データに、描画処理命令とオブジェクトを表す描画領域が含まれる場合には、この中間コード画像データは描画されるオブジェクトに対応しているが、中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合には、この中間コード画像データは、複数の中間コード画像データに基づいて１つのオブジェクトを生成するためのデータである。なお、中間コード画像データとしては、エッジリストやディスプレイリスト等を適用することができる。
【００２７】
変換手段によって変換された中間コード画像データは、描画処理命令毎に記憶手段に記憶される。読取手段は、変換手段による中間コード画像データの生成順序に遡って中間コード画像データを記憶手段から順次読み取る。中間コード画像データは、変換手段によって、オブジェクトの描画順序に応じた描画処理命令順に生成されるので、読取手段によって、オブジェクトの描画順序に遡った描画処理命令順に読み取られる。
【００２８】
判別手段によって、読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が判別されると、輪郭データ生成手段は、判別手段の判別結果に基づいて、読取手段により読み取られた中間コード画像データの描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。すなわち、判別手段による判別結果に基づいて、描画領域の上層側に描画される描画領域の輪郭を表す前回生成された輪郭データの輪郭データ領域に、読取手段によって読み取った描画領域の輪郭を表す輪郭データの輪郭データを加えるか否かを判別する。
【００２９】
中間コード画像データ再生成手段は、読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。
【００３０】
このように、描画処理命令毎に生成された中間コード画像データを中間コード画像データの生成順に遡って順次読取り、各中間コード画像データの描画処理命令の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、該描画領域に応じたオブジェクトの上層側に描画されるオブジェクトに応じた描画領域の輪郭を表す前回生成された輪郭データに含めるか否かを判別して判別結果に基づいて輪郭データを生成すると共に、読取手段によって読み取った中間コード画像データを、この中間コード画像データの描画領域から前回輪郭データ生成手段によって生成された輪郭データの輪郭領域を除いた中間コード画像データとなるように再生成する。
【００３１】
このため、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができる。
【００３２】
また、中間コード画像データの描画処理情報の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、前回生成された輪郭データに含めるか否かを判別するので、複数の中間コード画像データによって１つのオブジェクトを生成するように、中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合に、各中間コード画像データから輪郭データが生成されることを抑制することができ、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。
【００３３】
請求項２の画像処理装置は、請求項１に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する。
【００３４】
請求項２に記載の画像処理装置は、請求項１に記載の画像処理装置において、判別手段は、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、変換手段による中間コード画像データの生成順序に遡って検索することにより、このクリップ命令が有効なクリップ有効区間を特定する特定手段を含んでいる。輪郭データ生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別がクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、このクリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。すなわち、輪郭データ生成手段は、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データ各々について輪郭データを生成するのではなく、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから１つの輪郭データを生成する。このとき生成する輪郭データは、クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データである。このため、輪郭データ生成手段は、判別手段によって、読取手段によって読み取られた中間コード画像データの描画処理命令の種別がクリップ命令であるときには、このクリップ命令を含む中間コード画像データと、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データと、から１つの輪郭データを生成するので、１つのオブジェクトに対応する複数の中間コード画像データから、このオブジェクトの輪郭を表す１つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成することができる。
【００３５】
中間コード画像データ再生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別がクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、このクリップ命令に応じて抽出した領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する。
【００３６】
このように、描画処理命令の種別がクリップ命令であるときには、中間コード画像データ毎に輪郭データを生成するのではなく、このクリップ命令を含む中間コード画像データと同一のオブジェクトを生成するためのクリップ有効区間内の複数の中間コード画像データから、生成するオブジェクトの輪郭を表す１つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成すると共に、このクリップ有効区間内の複数の中間コード画像データから、クリップ命令に応じて抽出した領域、すなわちオブジェクトを表す描画領域から前回生成された輪郭データの輪郭データを除いた領域を描画領域とする中間コード画像データを再生成することができる。
【００３７】
従って、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。
【００３８】
請求項３に記載の画像処理装置は、請求項２に記載の画像処理装置において、前記輪郭データ生成手段は、前記輪郭データを生成した後に、描画処理命令の種別が前記クリップ命令の中間コード画像データを、前記記憶手段から削除する削除手段を含むようにすれば、さらに記憶手段の記憶容量を増加させることができる。
【００３９】
請求項４に記載の画像処理装置は、請求項１に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算区間を特定する特定手段と、前記特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段と、を含み、前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成し、前記判定手段によって判定された中間コード画像データ以外の前記特定手段によって特定された中間コード画像データを再生成後の中間コード画像データとすることができる。
【００４０】
請求項４に記載の画像処理装置は、請求項１に記載の画像処理装置において、判別手段は、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、中間コード画像データの生成順序に遡って検索することによりこの論理演算命令が有効な論理演算区間を特定する特定手段を含むことができる。また、判別手段は、特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段を含むことができる。
【００４１】
輪郭データ生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、判定手段によって判定された、特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。
【００４２】
また、中間コード画像データ再生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、判定手段によって判定された中間コード画像データを、この中間コード画像データの描画領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。また、中間コード画像データ再生成手段は、判定手段によって判定された中間コード画像データ以外の特定手段によって特定された中間コード画像データを、特別な処理を行うことなく再生成後の中間コード画像データとする。
【００４３】
このように、描画処理命令の種別が論理演算命令であるときには、中間コード画像データ毎に輪郭データを生成するのではなく、この論理演算命令を含む中間コード画像データと同一のオブジェクトを生成するための論理演算区間内の複数の中間コード画像データから、生成するオブジェクトの輪郭を表す１つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成する。
【００４４】
従って、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。
【００４５】
請求項５に記載の画像処理装置は、請求項１に記載の画像処理装置において、前記判別手段による判別結果に基づいて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する再生成省略制御手段を備えることができる。
【００４６】
詳細には、請求項６に記載の画像処理装置は、請求項１または請求項５に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより、該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御することができる。
【００４７】
このように、判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が、他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別されたときに、特定手段は、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、中間コード画像データの生成順序に遡って、このクリップ命令が有効なクリップ有効区間を特定する。再生成省略手段は、特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、中間コード画像データ再生成手段を制御する。
【００４８】
このように、判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が、他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の中間コード画像データの再生成を省略、すなわち行わないように、中間コード画像データ再生成手段を制御することができる。
【００４９】
このため、論理演算有効区間に対する中間コード画像データ再生成処理の効率化を図るとともに、中間コード画像データ再生成処理による負荷を軽減することができる。
【００５０】
請求項７に記載の画像処理装置は、請求項１または請求項５に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算有効区間を特定する特定手段を含み、前記再生成省略制御手段は、前記特定手段によって特定された論理演算有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御することができる。
【００５１】
請求項７に記載の判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、再生成省略制御手段は、特定手段によって特定された論理演算有効区間内の中間コード画像データの再生成を省略するように、中間コード画像データ再生成手段を制御することができる。
【００５２】
このため、クリップ有効区間に対する中間コード画像データ再生成処理の効率化を図るとともに、中間コード画像データ再生成処理による負荷を軽減することができる。
【００５３】
なお、請求項８に記載の画像処理方法によって、中間コード画像データが描画処理命令毎に生成され、且つ中間コード画像データに論理演算命令またはクリップ命令が含まれる場合であっても、ページ記述データによって示されるオブジェクトに応じた画像を形成するための中間コード画像データを生成することができるとともに、中間コード画像データのデータ量を削減することが可能な画像処理方法を提供することができる。詳細には、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換し、前記変換された中間コード画像データを描画処理命令毎に記憶し、前記中間コード画像データを前記中間コード画像データの生成順序を遡って順次読み取り、前記読み取った中間コード画像データに含まれる描画処理命令の種別を判別し、判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、前記読み取った中間コード画像データを、該中間コード画像データの描画領域から前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。
【発明の効果】
【００５４】
以上説明したように、本発明の画像処理装置及び画像処理方法によれば、描画処理命令毎に生成された中間コード画像データを中間コード画像データの生成順に遡って順次読取り、各中間コード画像データの描画処理命令の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、該描画領域に応じたオブジェクトの上層側に描画されるオブジェクトに応じた描画領域の輪郭を表す前回生成された輪郭データに含めるか否かを判別して判別結果に基づいて輪郭データを生成すると共に、読取手段によって読み取った中間コード画像データを、この中間コード画像データの描画領域から前回輪郭データ生成手段によって生成された輪郭データの輪郭領域を除いた中間コード画像データとなるように再生成するので、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、中間コード画像データからラスタデータを生成する時間が大幅に短縮されると共に、中間コード画像データの描画処理情報の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、前回生成された輪郭データに含めるか否かを判別するので、複数の中間コード画像データによって１つのオブジェクトを生成するように中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合に、各中間コード画像データから輪郭データが生成されることを抑制することができ、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。
【発明を実施するための最良の形態】
【００５５】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００５６】
図１に示すように、画像処理装置１０には、画像処理装置１０とデータやコマンドを授受可能に接続された外部処理装置４０からページ記述言語で記述されたページ記述データを受信する入力制御部１２と、入力制御部１２で受信したページ記述データに含まれる描画に関する処理命令を表す描画処理命令としての印字コマンド（以下、描画処理命令とする）毎に解釈する印字コマンド解釈部１４、各種データを記憶するためのメモリ１６、及び印字コマンド解釈部１４で解釈された描画処理命令毎に、描画すべきオブジェクトまたはオブジェクトを形成するための基本要素毎の座標情報及び色情報などのデータ列（以下、エッジリストという）に展開すると共にこのエッジリストと描画処理命令を含む中間コード画像データを描画処理命令毎に生成する中間コード画像データ生成部１８を含んで構成されている。なお、エッジリストによって表される領域を描画領域として説明する。メモリ１６は、入力制御部１２によって受信したページ記述データを記憶すると共に、記憶したこのページ記述データを印字コマンド解釈部１４によって描画処理命令毎に解釈するとともに中間コード画像データ生成部１８によって生成された中間コード画像データを描画処理命令毎に記憶する。
【００５７】
ページ記述データは、複数のオブジェクトを層状に描画するときの描画順（すなわち下層側に描画されるオブジェクトから上層側に描画されるオブジェクトに向かって）に描画処理命令等の各種情報が記述されており、中間コード画像データ生成部は、ページ記述データが印字コマンド解釈部１４によって描画処理命令毎に順次解釈された後に、中間コード画像データ生成部１８によって生成されて描画処理命令毎にメモリ１６へ記憶される。
【００５８】
メモリ１６は、再生成された中間コード画像データを格納するための描画メモリ１６Ａ、中間コード画像データの内のクリップ命令を含む中間コード画像データを格納するためのクリップバッファ１６Ｂ、及び後述する輪郭データを保持するための輪郭データ保持領域１６Ｃを含んで構成されている。
【００５９】
中間コード画像データは、図２（Ａ）に示すように、ページ記述言語データに含まれる描画処理命令を順に解釈することによって描画処理命令毎に生成される。図２（Ａ）に示す例では、描画処理命令として、描画命令、クリップ開始命令、描画命令、描画命令、クリップ終了命令、及び描画命令の順に各命令に対応する中間コード画像データが生成されている。
【００６０】
また、他の形態として、中間コード画像データは、描画処理命令として、論理演算命令を含んで構成される。具体的には、例えば、図８に示すように、描画処理命令として、上書き、論理演算命令、論理演算命令としてのクリップ情報、論理演算命令、上書きの順に各命令に対応する中間コード画像データが生成されている。
【００６１】
各中間コード画像データは、図２（Ｂ）に示すようにヘッダー情報とエッジリストを含んで構成されている。ヘッダー情報は、描画処理命令の種類と、描画するときの方式、すなわち書き込み方式を示す情報と、を含んで構成されている。本実施の形態では、描画処理命令の種類には、クリップ開始命令、描画命令、及びクリップ終了命令がある。また、本実施の形態では、書き込み方式の種類には、下層側のオブジェクトの上層に描画領域を描画する上書き命令、及び論理演算命令があるものとして説明する。論理演算命令の一例には、ＡＮＤ及びＸＯＲがある。なお、ＡＮＤはクリップを表すクリップ情報として機能する。
【００６２】
クリップとは、他の中間コード画像データ内の描画領域から、指定された領域をクリップすることによって１つのオブジェクトを形成する処理であり、クリップ開始命令は、このクリップ処理を行うためのクリップ処理開始を示し、クリップ終了命令は、このクリップ処理を行うためのクリップ終了位置を示している。
【００６３】
なお、クリップ開始命令またはクリップ終了命令を含む中間コード画像データは、クリップ開始命令またはクリップ終了命令を含まない中間コード画像データとはメモリ１６上の異なる領域（クリップバッファ１６Ｂ）に格納される。
【００６４】
なお、本実施の形態では、クリップ開始命令を含む中間コード画像データから、この中間コード画像データが生成された後に生成され、このクリップ開始命令に対応するクリップ終了命令を含む中間コード画像データまでの区間を、クリップ有効区間として説明する。
【００６５】
このクリップ有効区間内の、描画処理命令を含む中間コード画像データのエッジリストによって示される描画領域は、クリップ開始命令を含む中間コード画像データに含まれる描画領域によってクリップされる対象となる領域である。
【００６６】
具体的には、図９（Ａ）に示すように、例えば、ページ記述言語データから中間コード画像データ生成部１８によって、描画処理命令毎に順次ページ記述言語データが解釈されて、描画処理命令毎に順次中間コード画像データ５４Ａ、中間コード画像データ５４Ｂ、中間コード画像データ５４Ｃ、及び中間コード画像データ５４Ｄが作成される。中間コード画像データ５４Ａは、オブジェクトに対応する描画領域５６Ａと描画処理命令として「上書き」を含んで構成されている。中間コード画像データ５４Ｂは、描画処理命令としてクリップ開始命令を含むとともに、クリップする領域を表す描画領域５６Ｂを含んで構成されている。中間コード画像データ５４Ｃは、描画処理命令として上書きを含むとともに、描画領域５６Ｂによってクリップされる描画領域５６Ｃを含んで構成されている。中間コード画像データ５４Ｄは、描画処理命令としてクリップ終了命令を含んで構成されている。この中間コード画像データ５４Ｂ、中間コード画像データ５４Ｃ、及び中間コード画像データ５４Ｄを、クリップ有効区間内の中間コード画像データと称する。
【００６７】
従来の一般的な描画処理では、中間コード画像データの描画領域５６Ａに、中間コード画像データ５４Ｂの描画領域５６Ｂによって、中間コード画像データ５４Ｃの描画領域５６Ｃをクリップした結果を上書きすることによって、出力画像５４Ｅが得られる。
【００６８】
なお、中間コード画像データに描画処理命令として論理演算命令が含まれ場合には、例えば、中間コード画像データ生成部１８によって、図１０（Ａ）に示すように、描画処理命令毎に順次中間コード画像データ６０Ａ、中間コード画像データ６０Ｂ、中間コード画像データ６０Ｃ、及び中間コード画像データ６０Ｄが生成される。中間コード画像データ６０Ａは、オブジェクトに対応する描画領域６２Ａと描画処理命令として「上書き」を含んで構成されている。中間コード画像データ６０Ｂは、描画処理命令として論理演算「ＸＯＲ」を含むとともに、クリップされる領域を表す描画領域６２Ｂを含んで構成されている。中間コード画像データ６０Ｃは、描画処理命令としてクリップ情報「ＡＮＤ」を含むとともに、描画領域６２Ｂまたは後述する描画領域６２Ｄの何れかからクリップする領域を表す描画領域６２Ｃを含んで構成されている。中間コード画像データ６０Ｄは、描画処理命令として論理演算命令「ＸＯＲ」を含んで構成されている。
【００６９】
なお、本実施の形態では、１つのオブジェクトを生成するための論理演算命令を含む一連の中間コード画像データの全てを含む区間を、論理演算シーケンスとして説明する（図８も参照）。図１０（Ａ）の例では、論理演算命令を含む中間コード画像データであって、１つのオブジェクトを生成するための中間コード画像データ６０Ｂ、中間コード画像データ６０Ｃ、及び中間コード画像データ６０Ｄが、１つの論理演算シーケンスに含まれる一連の中間コード画像データである。
【００７０】
従来の一般的な描画処理では、ビットマップ描画領域データを生成するときに、中間コード画像データ６０Ａの描画領域６２Ａに、論理演算シーケンス内の中間コード画像データ各々の論理演算及び描画領域に基づいて生成されるオブジェクト（描画領域）を上書きすることによって、出力画像６０Ｅが得られている。
【００７１】
しかし、従来の一般的な描画処理では、中間コード画像データを記憶するためのメモリ容量が問題となる場合があり、従来技術で説明したように中間コード画像データから輪郭データ領域を除くことにより中間コード画像データを再生成して記憶する方法では、中間コード画像データに論理演算命令またはクリップ命令が含まれる場合に、一般的な描画処理によって得られる出力画像とは異なる出力画像が得られるような中間コード画像データが再生成されてしまう。
【００７２】
本発明では、中間コード画像データ再生成部２０は、中間コード画像データ生成部１８で描画処理命令毎に作成されてメモリ１６に格納された中間コード画像データ各々を、中間コード画像データの生成順に遡って読み出し、メモリ１６に格納されている中間コード画像データのデータ量が少なくなるように再生成する。
【００７３】
詳細は後述するが、具体的には、メモリ１６に格納されている中間コード画像データの内の、中間コード画像データ生成部１８によって最後に生成された中間コード画像データを読み出し、読み出した中間コード画像データから、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域を除去することによって、中間コード画像データを再生成する。
【００７４】
なお、中間コード画像データにクリップ終了命令が含まれる場合には、クリップ開始命令を含む中間コード画像データを検索してクリップ有効区間を特定し、クリップ有効区間内のクリップ命令を含まない中間コード画像データの描画領域を、クリップ開始命令を含む中間コード画像データに含まれる描画領域によってクリップした結果を中間コード画像データとして再生成する（図９（Ｂ）参照）。
【００７５】
また、一般的に、クリップ開始命令またはクリップ終了命令を含む中間コード画像データは、中間コード画像データ生成部１８によって、クリップ開始命令またはクリップ終了命令を含まない中間コード画像データとは異なる領域に格納される。このため、クリップ命令を含む中間コード画像データを再生成するときには、輪郭データを削除せずに別領域に格納されている中間コード画像データをそのまま再生成された中間コード画像データとして扱う（図９（Ｂ）参照）。
【００７６】
なお、中間コード画像データに、論理演算命令が含まれる場合には、論理演算命令による論理演算シーケンス内の論理演算命令としてクリップ（ＡＮＤ）を含む中間コード画像データについては、この中間コード画像データの描画領域から輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域を除いた領域を描画領域とするように、中間コード画像データを再生成する。論理演算シーケンス内の論理演算命令としてクリップ以外の論理演算（ＸＯＲ）を含む中間コード画像データについては、元中間コード画像データをそのまま再生成された中間コード画像データとして扱う（図９（Ｂ）参照）。
【００７７】
輪郭データ保持領域１６Ｃに格納される輪郭データは、中間コード画像データ再生成部２０によって、各中間コード画像データの再生成処理が行われる度に、中間コード画像データの生成順に遡って前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データ（以下、元中間コード画像データという）の描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データを生成するか否かの判断が行われ、判断結果に基づいて輪郭データ保持領域に格納されている輪郭データが更新される。
【００７８】
具体的には、前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データが、描画処理命令としてクリップ開始命令またはクリップを表す論理演算命令を含む中間コード画像データであるときには、このクリップ開始命令またはクリップを表す論理演算命令によってクリップすることによって得られる描画領域の輪郭を表す輪郭データを、輪郭データ保持領域１６Ｃに格納されている輪郭データに含めるように輪郭データを生成する。一方、前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データが、描画処理命令としてクリップ開始命令またはクリップ命令を表す論理演算命令を含む中間コード画像データではないときには、輪郭データ保持領域１６Ｃに格納されている輪郭データを更新せずに、次の中間コード画像データの再生成処理を実行する。
【００７９】
なお、輪郭データ保持領域１６Ｃに格納される輪郭データは、層状に描画される一連の描画領域に対応する中間コード画像データの再生成処理が実行された後に、クリアされるものとする。また中間コード画像データ再生成部２０で再生成された中間コード画像データは、メモリ１６内の図示を省略した再生成された中間コード画像データを格納するための領域に格納され、再生成処理及び輪郭データ生成処理が実行された後に、再生成前の元の中間コード画像データはメモリ１６から削除される。
【００８０】
このように、本発明では、中間コード画像データ再生成部２０では、描画処理命令毎に生成されてメモリ１６に格納された中間コード画像データを、生成された順に遡って順次解釈し、各中間コード画像データに含まれる描画処理命令を判別し、判別結果に基づいて、輪郭データの生成及び中間コード画像データの再生成を実行する（詳細後述）。このため、再生成された中間コード画像データに基づいて描画処理を行ったときに得られる出力画像を、一般的な描画処理によって得られる出力画像と同一となるようにすることができると共に、輪郭データを除いた描画領域を含む中間コード画像データをメモリ１６に格納することができるので、中間コード画像データのデータ量を抑制することができる。
【００８１】
中間コード画像データ解釈部２２は、メモリ１６に格納されている、中間コード画像データ再生成部２０で再生成された中間コード画像データを解釈し、バンド毎にビットマップ描画領域データに展開してバンドバッファ２６へ出力する。圧縮／伸長処理部２４は、メモリ１６の空き容量が所定量以下となると、メモリ１６に格納されている再生成された中間コード画像データについて圧縮処理を行った後に再度メモリ１６に格納すると共に、中間コード画像データ解釈部２２によって各中間コード画像データが解釈されるときに、圧縮されている再生成された中間コード画像データを伸長した後に、中間コード画像データ解釈部２２による解釈処理に同期させてビットマップ描画領域データをバンドバッファ２６へ出力する。
【００８２】
バンドバッファ２６では、中間コード画像データ解釈部２２及び圧縮／伸長処理部２４から入力されたビットマップ描画領域データを格納すると共に、格納したビットマップ描画領域データを出力制御部２８へ転送する。出力制御部２８は、バンドバッファ２６から入力されたビットマップ描画領域を、ビデオデータとして印字装置４２へ出力する。
【００８３】
次に、画像処理装置１０で実行される中間コード画像データ再度生成処理について説明する。
【００８４】
図３に示すように、ステップ１００では、輪郭データ保持領域１６Ｃをクリアする。
【００８５】
次に、メモリ１６に格納されている描画処理命令毎に生成された中間コード画像データ各々を生成された順とは逆に読み出し、読み出した各中間コード画像データを解釈するステップ１０２からステップ１１０の処理を実行する。本実施の形態では、ステップ１０４からステップ１０８の処理を、生成された順に遡って読み出された中間コード画像データ毎に実行する。
【００８６】
ステップ１０４では、読み出した中間コード画像データに含まれるヘッダー情報の描画処理命令の種類が描画命令であり、且つヘッダー情報の書き込み方式を示す情報が上書きであるか否かを判別し、肯定されると、ステップ１０６へ進み、読み取った中間コード画像データを再生成する中間コード再生成処理を実行する（詳細後述）。
【００８７】
次のステップ１０８では、上記ステップ１０６による再生成処理前の中間コード画像データの描画領域の輪郭データを、上層側に描画される描画領域の輪郭データに含めた輪郭データを生成する輪郭データ生成処理（詳細後述）を実行する。
【００８８】
次のステップ１１０では、中間コード画像データの生成順に遡って順次全ての中間コード画像データについて上記ステップ１０４からステップ１０８の処理が実行された場合には、メモリ１６内の再生成前の中間コード画像データ（以下、元中間コード画像データという）を削除した後に、本ルーチンを終了し、上記ステップ１０４からステップ１０８の処理が未実行の中間コード画像データがメモリ１６内に格納されている場合には、上記ステップ１０２へ戻る。
【００８９】
一方、上記ステップ１０４で否定されると、ステップ１１２へ進み、中間コード画像データに含まれるヘッダー情報の描画命令の種類が、クリップ終了命令であるか否かを判別し、肯定されると、図４に示すステップ１１４へ進む。
【００９０】
例えば、上記ステップ１１２で肯定されることによって、図９（Ｂ）に示す中間コード画像データ５４Ｄが検索される。
【００９１】
ステップ１１４からステップ１１８では、上記ステップ１０４で否定され且つ上記ステップ１１２で肯定されたことから、処理対象の中間コード画像データの描画命令の種類はクリップ終了命令であるので、ステップ１１６において、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データを検索するクリップ開始命令検索ループが実行される。このクリック開始命令検索ループでは、ステップ１１６において、中間コード画像データに含まれる描画処理命令がクリップ開始命令であるか否かを、クリップ終了命令を含む中間コード画像データから中間コード画像データの生成順に遡って順次メモリ１６内に格納されている中間コード画像データを検索し、肯定されるまでクリップ開始命令検索ループを繰り返す。
【００９２】
上記ステップ１１６で肯定されることによって、例えば、図９（Ｂ）に示す中間コード画像データ５６Ｂが検索される。
【００９３】
ステップ１１６で肯定され、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データが検索されると、ステップ１２０へ進み、メモリ１６内のクリップバッファ１６Ｂをクリアする。
【００９４】
次のステップ１２２では、クリップバッファ１６Ｂに、上記ステップ１１６で検索したクリップ開始命令を含む中間コード画像データに含まれる、クリップ領域を表す描画領域（図９（Ｂ）の描画領域５６Ｂ参照）をクリップ領域として設定する。
【００９５】
次のステップ１２４では、クリップ終了命令を含む中間コード画像データから、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データまでの間に含まれる中間コード画像データを、クリップ有効区間として設定する。
【００９６】
例えば、図９（Ｂ）の中間コード画像データ５４Ｄ、中間コード画像データ５４Ｃ、及び中間コード画像データ５４Ｂがクリップ有効区間として設定される。
【００９７】
次に、ステップ１２６からステップ１２８の処理において、上記ステップ１２４でクリップ有効区間として設定した中間コード画像データ各々を、中間コード画像データの生成順に遡って順次読み出し、ステップ１０６において中間コード画像データの再生成処理（詳細後述）を行った後に、ステップ１０８において輪郭データ生成処理（詳細後述）を行う、クリップ有効区間ループが実行される。
【００９８】
上記ステップ１０６及びステップ１０８の処理が、上記ステップ１２４で設定したクリップ有効期間内の全ての中間コード画像データ各々について実行されると、上記ステップ１１０へ戻る。
【００９９】
なお、クリップ有効区間に対する中間コード画像データ再生成処理は負荷が重いため、中間コード画像データ解釈部２２を、ソフトウェアとしてではなくハードウェアとして構成した場合には、クリップ有効区間の中間コード画像データに対しては、中間コード画像データの再生成処理を省略（以下、スキップという）することが可能である。
【０１００】
このような場合には、上記ステップ１０４で否定されると、ステップ１１２へ進み、中間コード画像データに含まれるヘッダー情報の描画命令の種類が、クリップ終了命令であるか否かを判別し、肯定されると、図１４に示すステップ１１３へ進む。
【０１０１】
例えば、上記ステップ１１２で肯定されることによって、図９（Ｂ）に示す中間コード画像データ５４Ｄが検索される。
【０１０２】
図１４に示すように、ステップ１１３では、クリップ有効区間の中間コード画像データに対して、中間コード画像データの再生成処理を行うかどうかを判定するためのカウンタの初期化を行う。
【０１０３】
次のステップ１１４からステップ１１８では、上記ステップ１０４で否定され且つ上記ステップ１１２で肯定されたことから、処理対象の中間コード画像データの描画命令の種類はクリップ終了命令であるため、ステップ１１６において、上記ステップ１１２で判別したクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データを、メモリ１６内に格納されている中間コード画像データから、順次中間コード画像データの生成順に遡って検索するクリップ開始命令検索ループが実行される。
【０１０４】
このクリップ開始命令検索ループでは、まずステップ１１６において、中間コード画像データに含まれる描画処理命令がクリップ開始命令であるか否かを判別する。
【０１０５】
上記ステップ１１６で否定された場合には、検索した中間コード画像データは描画命令あるいはクリップ命令（終了）である。検索した中間コード画像データが描画命令の場合には、ステップ１１７に進み、検索した中間コード画像データの描画命令に応じた描画面積を、上記ステップ１１３で初期化したカウンタに加算した後に、ステップ１１６へ戻り、ステップ１１６において、肯定されるまでクリック開始命令検索ループを繰り返す。
一方、上記ステップ１１６で肯定され、クリップ終了命令に対応するクリップ開始命令を含む中間コード画像データが検索されると、ステップ１１９へ進む。
【０１０６】
上記ステップ１１６で肯定されることによって、例えば、図９（Ｂ）に示す中間コード画像データ５６Ｂが検索され、カウンタにはクリップ有効区間の描画命令の総描画面積の値が設定された状態となる。
【０１０７】
次のステップ１１９では、カウンタの値が予め定められた閾値より大きいか否かを判断する。なお、閾値は、中間コード画像データ再生成部２０におけるクリップ有効区間に対する再生成処理時間と中間コード画像データ解釈部２２におけるクリップ有効区間に対する解釈処理時間の関係から、画像処理装置１０毎に予め求められる値であるが、このような閾値を設けずに、クリップ有効区間に対しては無条件に中間コード画像データの再生成処理をスキップするようにしてもよい。
【０１０８】
ステップ１１９で否定されると、上記ステップ１２０（図４参照）へ進み、肯定され、カウンタの値が閾値より大きい場合には、ステップ１２１へ進み、クリップ有効区間の中間コード画像データの再生成処理は行わず、クリップ有効区間の中間コード画像データを全て指定された領域にコピーする。
【０１０９】
次のステップ１２３では、輪郭データ保持領域１６Ｃをクリアした後に、上記ステップ１１０へ戻る。
【０１１０】
一方、上記ステップ１１２で否定され、中間コード画像データに含まれるヘッダー情報の描画命令の種類が描画命令で且つ書き込み方式が論理演算命令である場合には、図５に示すステップ１３０へ進む。
【０１１１】
例えば、上記ステップ１１２で否定されることによって、図１０（Ｂ）に示す中間コード画像データ６０Ｄが検索される。
【０１１２】
ステップ１３０からステップ１３４では、上記ステップ１０４で否定され且つ上記ステップ１１２で否定されたことから、処理対象の中間コード画像データには、描画処理命令として論理演算命令が含まれるので、ステップ１３２において、この論理演算命令を含む論理演算シーケンスの先頭の中間コード画像データを判別することによって、論理演算シーケンスの先頭の中間コード画像データを検索する、論理演算シーケンス検索ループが実行される。この論理演算シーケンス検索ループでは、ステップ１３２において、上記検索した中間コード画像データ（図１０（Ｂ）では中間コード画像データ６０Ｄ）から中間コード画像データの生成順に遡って中間コード画像データを検索し、中間コード画像データの描画処理命令として論理演算命令を含まない中間コード画像データの次に生成され且つ論理演算命令を含む中間コード画像データが検索されるまで論理演算シーケンス検索ループを繰り返す。
【０１１３】
上記ステップ１３２で肯定されることによって、例えば、図１０（Ｂ）に示す中間コード画像データ６０Ｂが検索される。
【０１１４】
ステップ１３２で肯定され、論理演算シーケンスの先頭に相当する中間コード画像データが検索されると、ステップ１３６へ進み、上記ステップ１３０からステップ１３４の論理演算シーケンス検索ループにより検索された論理演算シーケンス区間を設定する。
【０１１５】
ステップ１３６の処理によって、具体的には、図１０の中間コード画像データ６０Ｄ、中間コード画像データ６０Ｃ、及び中間コード画像データ６０Ｂが、論理演算シーケンス区間に相当する中間コード画像データとして設定される。
【０１１６】
次に、ステップ１３８からステップ１４０の処理において、上記ステップ１３６で論理演算シーケンス区間として設定した中間コード画像データ各々を、中間コード画像データの生成順に遡って順次読み出し、ステップ１０６において中間コード画像データの再生成処理（詳細後述）を行った後に、ステップ１０８において輪郭データ生成処理（詳細後述）を行う、論理演算シーケンス区間ループが実行される。
【０１１７】
上記ステップ１０６及びステップ１０８の処理が、上記ステップ１３６で設定した論理演算シーケンス区間内の全ての中間コード画像データ各々について実行されると、上記ステップ１１０へ戻る。
【０１１８】
なお、論理演算シーケンス区間に対する中間コード画像データ再生成処理は負荷が重いため、もし中間コード画像データ解釈部２２が、ソフトウェアではなくハードウェアにより構成されている場合には、論理演算シーケンス区間の中間コード画像データに対しては、中間コード画像データの再生成処理をスキップするということも可能である。
【０１１９】
この場合には、上記ステップ１０４（図３参照）で否定されてステップ１１２へ進み、さらに上記ステップ１１２で否定されて、中間コード画像データに含まれるヘッダー情報の描画命令の種類が描画命令で且つ書き込み方式が論理演算命令である場合には、図１５に示すステップ１２９へ進むようにすればよい。
【０１２０】
例えば、上記ステップ１１２で否定されることによって、図１０（Ｂ）に示す中間コード画像データ６０Ｄが検索される。
【０１２１】
図１５に示すように、ステップ１２９では、論理演算シーケンス区間の中間コード画像データに対して、中間コード画像データの再生成処理を行うかどうかを判定するためのカウンタの初期化を行う。
【０１２２】
次のステップ１３０からステップ１３４では、上記ステップ１０４（図３参照）で否定され且つ上記ステップ１１２（図３参照）で否定されたことから、処理対象の中間コード画像データには、描画処理命令として論理演算命令が含まれるので、この論理演算命令を含む論理演算シーケンスの先頭に位置する中間コード画像データを判別（検索）することによって、論理演算シーケンスの先頭の中間コード画像データを検索する、論理演算シーケンス検索ループが実行される。
【０１２３】
この論理演算シーケンス検索ループでは、ステップ１３２において、上記ステップ１１２において検索した中間コード画像データ（図１０（Ｂ）では中間コード画像データ６０Ｄ）から中間コード画像データの生成順に遡ってメモリ１６内の中間コード画像データを検索し、中間コード画像データの描画処理命令として論理演算命令を含まない中間コード画像データの次（すなわち、後）に生成され且つ論理演算命令を含む中間コード画像データが検索されるまで論理演算シーケンス検索ループを繰り返し、この論理演算シーケンスが繰り返される度に、ステップ１３１において、上記ステップ１２９で初期化したカウンタに上記ステップ１３２で検索した中間コード画像データの描画面積を加算する。
【０１２４】
上記ステップ１３２で肯定されることによって、例えば、図１０（Ｂ）に示す中間コード画像データ６０Ｂが検索される。
【０１２５】
ステップ１３２で肯定され、論理演算シーケンスの先頭に相当する中間コード画像データが検索されると、ステップ１３５へ進み、カウンタの値が閾値より大きいか否かを判別し、否定され、カウンタの値が閾値より小さい場合には、図５のステップ１３６からステップ１４０と同様な処理を行う。
【０１２６】
一方、上記ステップ１３５で肯定され、カウンタの値が閾値より大きい場合には、ステップ１３７へ進み、論理演算シーケンス区間の中間コード画像データの再生成処理を行わず、論理演算シーケンス区間の中間コード画像データ全てを、中間コード画像データの生成順にメモリ１６の予め指定された領域にコピーする。
【０１２７】
次のステップ１３９では、輪郭データ保持領域１６Ｃをクリアした後に、上記ステップ１１０へ戻る。
【０１２８】
ここで、上記閾値は、中間コード画像データ再生成部２０におけるクリップ有効区間に対する再生成処理時間と中間コード画像データ解釈部２２におけるクリップ有効区間に対する解釈処理時間の関係から画像処理装置１０毎に求まる値であるが、閾値を設けずに論理演算シーケンス区間に対しては無条件に中間コード画像データの再生成処理をスキップしても良い。
【０１２９】
次に、上記ステップ１０６において実行される中間コード画像データ再生成処理について説明する。
【０１３０】
ステップ２００は、処理対象の中間コード画像データが上記ステップ１２４で設定されたクリップ有効区間内の中間コード画像データであるか否かを判別し、肯定されると、ステップ２１４へ進む。
【０１３１】
上記ステップ２００で肯定される中間コード画像データとは、具体的には、図９（Ｂ）に示す中間コード画像データ５４Ｄ、中間コード画像データ５４Ｃ、及び中間コード画像データ５４Ｂである。
【０１３２】
次のステップ２１４では、処理対象の中間コード画像データに含まれる描画処理命令が、クリップ命令であるか否かを判別し、肯定されると、本ルーチンを終了し、否定されると、ステップ２１６へ進む。
【０１３３】
ステップ２１４で肯定される中間コード画像データは、具体的には、図９（Ｂ）に示す中間コード画像データ５４Ｄ及び中間コード画像データ５４Ｂである。
【０１３４】
ステップ２１４で否定される中間コード画像データは、具体的には、図９（Ｂ）に示す中間コード画像データ５４Ｃである。
【０１３５】
ステップ２１６では、上記ステップ１２２で設定したクリップ領域で、この中間コード画像データの描画領域をクリップすると共に、クリップした描画領域からメモリ１６の輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域を除く。
【０１３６】
ステップ２１６の処理によって、図９（Ｂ）に示すように、中間コード画像データ５４Ｃの描画領域５６Ｃが、中間コード画像データ５４Ｂの描画領域５６Ｂによってクリップされた結果から、メモリ１６の輪郭データ保持領域１６Ｃに格納されている輪郭データ（この場合は何も保持されていない）の輪郭データ領域が除かれて、描画領域５９Ｃが生成される。
【０１３７】
次のステップ２０６では、上記ステップ２１６の処理によって残った描画領域を描画領域とするように中間コード画像データを再生成する。
【０１３８】
具体的には、例えば、図９（Ｂ）に示すように、上記ステップ２１６の処理によって残った描画領域５９Ｃを含む中間コード画像データ５７Ｃとなるように、中間コード画像データ５６Ｃを再生成する。
【０１３９】
次のステップ２０８では、上記ステップ２０６によって再生成された中間コード画像データを、メモリ１６内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。
【０１４０】
このように、クリップ有効区間内の中間コード画像データの内、描画処理情報としてクリップ命令を含む中間コード画像データについては中間コード画像データが再生成されず、クリップ命令を含まない中間コード画像データについては、輪郭データ保持領域１６Ｃに格納されている輪郭データとクリップバッファ１６Ｂに格納されているクリップ領域で描画領域を除いた領域を新たな描画領域とする中間コード画像データが生成される。
【０１４１】
一方、上記ステップ２０２で否定されて、処理対象の中間コード画像データが上記ステップ１２４で設定されたクリップ有効区間内の中間コード画像データではない場合には、ステップ２０２へ進み、処理対象の中間コード画像データが上記ステップ１３６で設定された論理演算シーケンス区間内の中間コード画像データか否かを判別する。
【０１４２】
ステップ２０２で肯定される中間コード画像データとは、具体的には、例えば、図１０（Ｂ）に示す中間コード画像データ６０Ｄ、中間コード画像データ６０Ｃ、中間コード画像データ６０Ｂの何れかである場合である。
【０１４３】
ステップ２０２で肯定されると、ステップ２１０へ進み、処理対象の中間コード画像データに含まれる描画処理命令がクリップ情報であるか否かを判別し、否定されるとステップ２１２へ進む。
【０１４４】
ステップ２１０で否定される場合とは、処理対象の中間コード画像データの描画処理命令が論理演算命令であり、且つクリップ命令「ＡＮＤ」ではない、すなわち論理演算命令として「ＸＯＲ」を含む中間コード画像データを処理対象とした場合である。すなわち、例えば、処理対象の中間コード画像データが図１０（Ｂ）に示す中間コード画像データ６０Ｄまたは中間コード画像データ６０Ｂの何れかである場合である。
【０１４５】
ステップ２１２では、中間コード画像データを再生成することなく、そのまま再生成された中間コード画像データを、メモリ１６内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。
【０１４６】
すなわち、描画処理命令として論理演算命令を含み、且つ論理演算命令として「ＸＯＲ」を含む中間コード画像データは、再生成されることなくそのまま再生成された中間コード画像データを格納するメモリ１６内の特定領域に格納される。
【０１４７】
一方、上記ステップ２０２で否定されたとき、及び上記ステップ２１０で否定されたときには、ステップ２０４へ進む。
【０１４８】
上記ステップ２０２で否定されたときとは、処理対象の中間コード画像データが、上記ステップ１２４で設定されたクリップ有効区間外の中間コード画像データであり、且つ上記ステップ１３６で設定された論理演算シーケンス外の中間コード画像データである場合である。上記ステップ２００及びステップ２０２において否定される場合の中間コード画像データとは、具体的には、図９（Ｂ）に示す中間コード画像データ５４Ａ、及び図１０（Ｂ）に示す中間コード画像データ６０Ａであって、描画処理命令として論理演算命令やクリップ命令を含まず且つクリップ有効区間及び論理演算シーケンス区間外の中間コード画像データである。
【０１４９】
また、上記ステップ２１０で肯定されたときとは、処理対象の中間コード画像データが、上記ステップ１３６で設定された論理演算シーケンス内で、且つ描画処理情報として論理演算命令「ＡＮＤ」を含む中間コード画像データである場合である。
【０１５０】
ステップ２０４では、輪郭データ保持領域１６Ｃに格納されている輪郭データで、処理対象となる中間コード画像データに含まれる描画領域をクリップする。
【０１５１】
すなわち、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域を、処理対象となる中間コード画像データの描画領域から除く。
【０１５２】
具体的には、図９（Ｂ）に示すように、中間コード画像データ５４Ａの描画領域５６Ａから、メモリ１６の輪郭データ保持領域１６Ｃに格納されている輪郭データ５７Ｃの輪郭データ領域５８Ｃが除かれて、描画領域５９Ａが残る。また、図１０（Ｂ）に示すように、中間コード画像データ６０Ａの描画領域６２Ａから、メモリ１６の輪郭データ保持領域１６Ｃに格納されている輪郭データ６１Ｃの輪郭データ領域６４Ｃが除かれて、描画領域６７Ａが残る。同様に、中間コード画像データ６０Ｃの描画領域６２Ｃから、輪郭データ保持領域１６Ｃに格納されている輪郭データ６１Ｃの輪郭データ領域（この場合は何も格納されていない）が除かれて、描画領域６７Ｃが残る。
【０１５３】
次のステップ２０６では、上記ステップ２１６の処理によって残った描画領域を描画領域とする中間コード画像データを再生成する。
【０１５４】
具体的には、例えば、図９（Ｂ）に示すように、上記ステップ２０４の処理によって残った描画領域５９Ａを含む中間コード画像データ５７Ａとなるように、中間コード画像データ５６Ａを再生成する。同様に、図１０（Ｂ）に示すように、上記ステップ２０４の処理によって残った描画領域６７Ａを含む中間コード画像データ６６Ａとなりように、中間コード画像データ６０Ａを再生成する。また、同様に、上記ステップ２０４の処理によって残った描画領域６７Ｃを含む中間コード画像データ６６Ｃとなるように、中間コード画像データ６０Ｃを再生成する。
【０１５５】
次のステップ２０８では、上記ステップ２０６によって再生成された中間コード画像データを、メモリ１６内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。
【０１５６】
このように、クリップ有効区間外で且つ論理演算シーケンス外の中間コード画像データ、及び論理演算シーケンス内で描画処理命令としてクリップ情報を表す論理演算命令「ＡＮＤ」を含む中間コード画像データについては、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域で描画領域を除いた領域を新たな描画領域とする中間コード画像データが生成される。
【０１５７】
次に、上記ステップ１０８で実行される輪郭データ生成処理について説明する。
【０１５８】
図７に示すように、ステップ３００では、処理対象の中間コード画像データが、上記ステップ１２４で設定されたクリップ有効区間内の中間コード画像データであるか否かを判別する。
【０１５９】
ステップ３００で肯定され、処理対象の中間コード画像データがクリップ有効区間内の中間コード画像エータである場合には、この処理対象の中間コード画像データの描画処理命令がクリップ命令（クリップ開始命令またはクリップ終了命令）であるか否かを判別し、否定されると、本ルーチンを終了し、肯定されるとステップ３１２へ進む。
【０１６０】
ステップ３１０の判断は、中間コード画像データのヘッダー情報に示される命令の種類がクリップ命令であるか否かを判別することによって判断可能である。
【０１６１】
ステップ３１２では、クリップバッファ１６Ｂに格納されている上記ステップ１２２で設定されたクリップ領域で、処理対象の中間コード画像データの描画領域をクリップすることによって得られた領域を、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に追加した後に本ルーチンを終了する。
【０１６２】
ステップ３１０及びステップ３１２の処理によって、具体的には、図９（Ｃ）に示すように、上記ステップ１００の処理によって初期状態では輪郭データ保持領域１６Ｃには、なにも格納されていない状態にあるが（輪郭データ５７Ｄ参照）、ステップ３１２の処理によって、クリップ有効区間内のクリップ命令を含まない中間コード画像データ５４Ｃについては、この中間コード画像データ５４Ｃの描画領域５６Ｃを、上記ステップ１２２で設定されたクリップ領域（中間コード画像データ５４Ｂの描画領域５６Ｂ）によってクリップした領域を表す輪郭データ領域５８Ｃの輪郭データ５７Ｃが、輪郭データ保持領域１６Ｃに格納される。
【０１６３】
なお、ステップ３１０の処理によって、クリップ開始命令を含む中間コード画像データ５４Ｂ及びクリップ終了命令を含む中間コード画像データ５４Ｄからは何も輪郭データが生成されない。
【０１６４】
上記ステップ３００で否定されると、ステップ３０２へ進み、処理対象の中間コード画像データが、上記ステップ１３６で設定された論理演算シーケンス内の中間コード画像データであるか否かを判別し、肯定されて、処理対象の中間コード画像データが論理演算シーケンス内の中間コード画像データである場合には、ステップ３０６へ進み、処理対象の中間コード画像データの描画処理命令がクリップ情報であるか否かを判別する。ステップ３０６の判断は、処理対象の中間コード画像データの描画処理命令が、論理演算命令「ＡＮＤ」であるか否かを判別することによって可能である。
【０１６５】
ステップ３０６で否定され、論理演算命令が「ＸＯＲ」である場合には、輪郭データを生成せずに本ルーチンを終了し、論理演算命令が「ＡＮＤ」である場合には、ステップ３０８へ進み、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に、処理対象の中間コード画像データのクリップ領域としての描画領域の輪郭を表す輪郭データ領域を追加した後に本ルーチンを終了する。
【０１６６】
ステップ３０６及びステップ３０８の処理によって、具体的には、図１０（Ｃ）に示すように、上記ステップ１００の処理によって、初期状態では輪郭データ保持領域１６Ｃには、なにも格納されていない状態となるが（輪郭データ６１Ｄ参照）、ステップ３０８の処理によって、論理演算シーケンス区間内のクリップ情報「ＡＮＤ」を含まない、「ＸＯＲ」を含む中間コード画像データ６０Ｄ及び中間コード画像データ６０Ｂについては、各描画領域６２Ｂ及び描画領域６２Ｄの輪郭データ領域を、輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に含めず、論理演算シーケンス区間内のクリップ情報「ＡＮＤ」を含む中間コード画像データ６０Ｃについては、描画領域６２Ｃの輪郭を表す輪郭データ領域を輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に追加する。
【０１６７】
一方、上記ステップ３０２で否定され、処理対象となる中間コード画像データが上記ステップ１２４で設定されたクリップ有効区間外及び上記ステップ１３６で設定された論理演算シーケンス区間外である場合には、ステップ３０４へ進む。
【０１６８】
ステップ３０４では、メモリ１６の輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に、処理対象の中間コード画像データの描画領域の輪郭を表す輪郭データ領域を輪郭データ保持領域１６Ｃに格納されている輪郭データの輪郭データ領域に追加した後に、本ルーチンを終了する。
【０１６９】
ステップ３０４の処理によって、具体的には、図９（Ｃ）に示すように、論理演算シーケンス区間外及びクリップ有効区間外の中間コード画像データ５４Ａについては、描画領域５６Ａの輪郭データ領域を、輪郭データ保持領域１６Ｃに格納されている輪郭データ５７Ｃの輪郭データ領域５８Ｃに追加した輪郭データ領域５８Ａの輪郭データ５７Ａが、輪郭データ保持領域１６Ｃに格納される。同様に、図１０（Ｃ）に示すように、論理演算シーケンス区間外及びクリップ有効区間外の中間コード画像データ６０Ａについては、描画領域６２Ａの輪郭データ領域を、輪郭データ保持領域１６Ｃに格納されている輪郭データ６１Ｃの輪郭データ領域６４Ｃに追加した輪郭データ領域６４Ａの輪郭データ６１Ａが、輪郭データ保持領域１６Ｃに格納される。
【０１７０】
以上説明したように、本発明の画像形成装置によれば、中間コード画像データを、中間コード画像データの生成順に遡って順次解釈し、中間コード画像データの描画処理命令を判別し、描画処理命令に論理演算命令やクリップ命令が含まれる場合には、命令の内容に基づいて輪郭データを既に生成されて保持されている輪郭データに追加するか否かを判別して判別結果に基づいて輪郭データを生成すると共に、命令の内容に基づいて、中間コード画像データを再生成する。
【０１７１】
詳細には、中間コード画像データの描画処理命令に基づいて、輪郭データの生成処理及び中間コード画像データの再度生成処理を行う。処理対象の中間コード画像データがクリップ有効区間内の中間コード画像データであり且つクリップ命令を含むときには、中間コード画像データの再生成処理を行なわず、また輪郭データの生成を行わない。
【０１７２】
処理対象の中間コード画像データがクリップ有効区間内の中間コード画像データであり且つクリップ命令を含まないときには、中間コード画像データの描画領域から設定されたクリップ領域及び輪郭データ保持領域１６Ｃに格納されている輪郭データ領域を除いた領域を描画領域するように中間コード画像データを再生成する。また、元中間コード画像データの描画領域を、クリップ領域（同一クリップ有効区間内の他の中間コード画像データによって表されるクリップ領域）でクリップした領域を、輪郭データ保持領域１６Ｃに格納されている輪郭データに追加することにより輪郭データを生成する。
【０１７３】
また、処理対象の中間コード画像データが論理演算シーケンス区間内の中間コード画像データであり且つクリップ情報「ＡＮＤ」を論理演算命令として含むときには、中間コード画像データの描画領域から輪郭データ保持領域１６Ｃに格納されている輪郭データ領域を除いた領域を描画領域とするように、中間コード画像データを再生成する。
【０１７４】
また、元中間コード画像データの描画領域を輪郭データ保持領域１６Ｃに格納されている輪郭データ領域に加えた輪郭データとなるように輪郭データを生成する。さらに、処理対象の中間コード画像データが論理演算シーケンス区間内の中間コード画像データであり且つクリップ情報「ＸＯＲ」を論理演算命令として含むときには、元中間コード画像データをそのまま再生成された中間コード画像データとしてメモリ１６の再生成された中間コード画像データを保持するための領域に格納し、輪郭データの生成は行わない。
【０１７５】
従って、中間コード画像データに、クリップ命令や論理演算命令が含まれる場合であっても、描画対象となる領域に応じた輪郭データを生成することができるとともに、描画対象となる描画領域の輪郭に応じた描画領域を含む中間コード画像データから、上層に描画される描画領域を除いた領域を描画領域とするように、中間コード画像データを再生成するので、中間コード画像データのデータ量を削減することができる。
【０１７６】
また、一般的な描画処理によって得られる出力画像と同一の出力画像が得られるように、中間コード画像データを再生成することができる。
【０１７７】
すなわち、従来の一般的な描画処理（図９（Ａ）、または図１０（Ａ）参照）において、ビットマップ描画領域データを生成するときに、中間コード画像データの描画領域に、論理演算シーケンス内の中間コード画像データ各々の論理演算及び描画領域に基づいて生成される描画領域を上書きすることによって得られる出力画像（例えば出力画像５４Ｅ及び出力画像６０Ｅ）と、同一の出力画像が得られるように、且つ中間コード画像データによるメモリ１６容量の減少を防ぐことができるように、描画処理命令の内容に基づいて、中間コード画像データを再生成する。再生成処理は、中間コード画像データの描画処理命令の内容に基づいて、この中間コード画像データの描画領域から、描画処理命令の内容に基づいて生成されて輪郭データ保持領域１６Ｃに保持されている輪郭データの輪郭データ領域を除いた描画領域を含む中間コード画像データとなるように、中間コード画像データを再生成する。このようにして再生成された中間コード画像データは、描画処理する対象となる描画領域から、各描画領域の上層側に描画される描画領域による輪郭データ領域を除いた領域を描画領域として含む中間コード画像データであるため、再生成された中間コード画像データに基づいて生成したビットマップ描画領域データに応じた出力画像（図９の出力画像５９Ｅ及び図１０の出力画像６６Ｅ）は、同一の中間コード画像データから一般的な描画処理によって得られた出力画像（図９の出力画像５４Ｅ及び図１０の出力画像６０Ｅ）と同一となる。
【０１７８】
さらに、メモリ１６内に保持する中間コード画像データの内、描画領域として重なる領域を除いた領域のみを含むように中間コード画像データを再生成することができるので、ビットマップ描画領域データの生成を高速に行うことができる。
【図面の簡単な説明】
【０１７９】
【図１】画像処理装置の機能ブロック図である。
【図２】ページ記述データから生成されたクリップ命令を含む一連の中間コード画像データの一例を示す模式図である。
【図３】中間コード画像データ再生成部における処理を示すフローチャートである。
【図４】中間コード画像データ再生成部における処理を示すフローチャートである。
【図５】中間コード画像データ再生成部における処理を示すフローチャートである。
【図６】中間コード画像データ再生成処理を表すフローチャートである。
【図７】輪郭データ生成処理を表すフローチャートである。
【図８】ページ記述データから生成された論理演算命令を含む一連の中間コード画像データの一例を示す模式図である。
【図９】（Ａ）は、従来の一般的な描画処理を表す模式図であり、（Ｂ）は、本発明の中間コード画像データにクリップ命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、（Ｃ）は、本発明の中間コード画像データにクリップ命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。
【図１０】（Ａ）は、従来の一般的な描画処理を表す模式図であり、（Ｂ）は、本発明の中間コード画像データに論理演算命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、（Ｃ）は、本発明の中間コード画像データに論理演算命令が含まれる場合における、輪郭データ生成シーケンスを表す模式図である。
【図１１】（Ａ）は、従来の一般的な描画処理を表す模式図であり、（Ｂ）は、従来発明（特許文献１）の中間コード画像データ再生成シーケンスを表す模式図であり、（Ｃ）は、従来発明（特許文献１）の輪郭データ生成シーケンスを表す模式図である。
【図１２】（Ａ）は、従来の一般的な描画処理を表す模式図であり、（Ｂ）は、従来発明（特許文献１）の中間コード画像データにクリップ命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、（Ｃ）は、従来発明（特許文献１）の中間コード画像データにクリップ命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。
【図１３】（Ａ）は、従来の一般的な描画処理を表す模式図であり、（Ｂ）は、従来発明（特許文献１）の中間コード画像データに論理演算命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、（Ｃ）は、従来発明（特許文献１）の中間コード画像データに論理演算命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。
【図１４】中間コード画像データ再生成部における処理を示すフローチャートである。
【図１５】中間コード画像データ再生成部における処理を示すフローチャートである。
【符号の説明】
【０１８０】
１０  画像処理装置
１６  メモリ
１８  中間コード画像データ生成部
２０  中間コード画像データ再生成部
２２  中間コード画像データ解釈部
【図１】
2006350466.tif 000003
【図２】
2006350466.tif 000004
【図３】
2006350466.tif 000005
【図４】
2006350466.tif 000006
【図５】
2006350466.tif 000007
【図６】
2006350466.tif 000008
【図７】
2006350466.tif 000009
【図８】
2006350466.tif 000010
【図１４】
2006350466.tif 000011
【図１５】
2006350466.tif 000012
【図９】
2006350466.tif 000013
【図１０】
2006350466.tif 000014
【図１１】
2006350466.tif 000015
【図１２】
2006350466.tif 000016
【図１３】
2006350466.tif 000017