(57)【要約】【課題】  画像形成装置及び画像形成プログラムにおいて、ページ記述言語中に記載されているキャンバス上の描画オブジェクト同士に重なり合いの無い場合に演算処理を削減し、メモリに保持する描画オブジェクトのイメージのサイズを削減してメモリの利用効率を高める。【解決手段】  本発明の画像形成装置及び画像形成プログラムでは、ページ記述言語を解析して中間言語に変換する際に、キャンバス上の複数の描画オブジェクトについて、重なり合いのあるものは纏め、さらにバンドの高さ方向で分割してそれぞれのキャンバスとし、重なり合いのない描画オブジェクトは、分割して異なるキャンバスとし、さらにオブジェクトを外接矩形によって分けてイメージを作成する方法にて中間言語に生成することにより、オブジェクトの存在しない箇所のイメージを保存することを抑制して、メモリの利用効率が高まり演算処理が削減された。【選択図】図６
2010274534.tif 000002
【特許請求の範囲】
【請求項１】
透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理して出力する画像形成装置であって、
前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断部と、
前記描画オブジェクト重なり判断部により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割部と、
前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成部と、を有する
ことを特徴とする画像形成装置。
【請求項２】
請求項１の画像形成装置であって、
透明度属性の合成であるアルファブレンド演算処理のために、前記キャンバス分割部により分割されたキャンバス上の前記重なり合いのない描画オブジェクト及び前記重なり合いがあり前記当該重なり合いのバンド高さ方向の辺縁で分割された描画オブジェクトのそれぞれを内包して該描画オブジェクトに外接する矩形状にイメージを保存し、必要時には該イメージを呼び出してアルファブレンド演算を行うアルファブレンド演算部を有する
ことを特徴とする画像形成装置。
【請求項３】
請求項１又は２の画像形成装置であって、
前記描画オブジェクト重なり判断部及び前記キャンバス分割部は、前記キャンバス上の描画オブジェクトについて描画処理の単位であるバンド単位での分割後に前記描画オブジェクトの重なり合いの判断及び前記キャンバスの纏め又は分割を行う
ことを特徴とする画像形成装置。
【請求項４】
透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理する機能をコンピュータに実現させる画像形成プログラムであって、
前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断機能と、
前記描画オブジェクト重なり判断機能により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割機能と、
前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成機能と、をコンピュータに実現させる
ことを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
画像形成装置及び画像形成プログラムにおいて、アルファブレンド演算処理のために描画オブジェクトをキャンバスに描き込んだイメージを保存する際に、演算処理の削減とメモリの効率化を達成する技術に関するものである。
【背景技術】
【０００２】
XPS(XML Paper Specification)等のXML(eXtensible Markup Language)拡張形式で記述されたページ記述言語においては、描画オブジェクトをグループ化してグループとしての移動量や拡大や透過率を指定できるキャンバスという描画機能がある（非特許文献１参照）。例えば図１の描画対象で図２のように描画オブジェクトＡ，Ｂ，Ｃが一つのキャンバス上にグループになっていることがある。従来手法によりそのまま描画した場合、バンドに分けられたキャンバスの描画オブジェクトに透過率が指定されているときには、一度キャンバスのオブジェクト全体を覆うことのできる大きさのキャンバス用のメモリに一旦描画して、キャンバスの透過率を考慮してページのメモリに描き込む。その際、各バンドでは図３のグレー塗りで示されたバンド内の描画オブジェクトを内包して外接する矩形のキャンバス領域サイズのメモリが描画用に必要になる。
【０００３】
しかし、この外接矩形では描画オブジェクトが離れている場合など（図３の最上段バンド、中段バンドの例）では、描画オブジェクトが存在しないＡとＢ、Ｃとの間の領域やＣの上下の隙間部分までもメモリに保存され、メモリが不要に消費される問題と、そのため演算処理が余分にかかる問題とがあった。
【０００４】
従来技術として、アルファブレンド演算処理の前にデバイスの色域に圧縮するか、デバイスの色域に圧縮してからアルファブレンド処理を行うかによって、レンダリング結果が異なるため、カラーマッチング手段によりどちらが適正化を判断して、より適切な方法を選択する方法があった（特許文献１参照）。しかし、この手法では、アルファブレンドのカラーマッチングについて着目してはいるが、メモリの利用効率については考慮されておらず、前記描画用メモリの無用な消費の問題や演算処理の削減の問題を解決することはできなかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３４５１９７号公報
【非特許文献】
【０００６】
【非特許文献１】XML Paper Specification, XPS Specification and Reference Guide Version 1.0
【発明の概要】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、画像形成装置及び画像形成プログラムにおいてページ記述言語中に記載されているキャンバス上の描画オブジェクト同士に重なり合いの無い場合に、演算処理の削減や、メモリの利用効率の向上ができなかった点である。
【課題を解決するための手段】
【０００８】
本発明の画像形成装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理して出力する画像形成装置であって、前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断部と、前記描画オブジェクト重なり判断部により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割部と、前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成部と、を有することを特徴とする。
【０００９】
また、本発明の画像形成装置は、透明度属性の合成であるアルファブレンド演算処理のために、前記キャンバス分割部により分割されたキャンバス上の前記重なり合いのない描画オブジェクト及び前記重なり合いがあり前記当該重なり合いのバンド高さ方向の辺縁で分割された描画オブジェクトのそれぞれを内包して該描画オブジェクトに外接する矩形状にイメージを保存し、必要時には該イメージを呼び出してアルファブレンド演算を行うアルファブレンド演算部を有することを特徴としてもよい。
【００１０】
また、本発明の画像形成装置は、前記描画オブジェクト重なり判断部及び前記キャンバス分割部は、前記キャンバス上の描画オブジェクトについて描画処理の単位であるバンド単位での分割後に前記描画オブジェクトの重なり合いの判断及び前記キャンバスの纏め又は分割を行うことを特徴としてもよい。
【００１１】
本発明の画像形成プログラムは、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理する機能をコンピュータに実現させる画像形成プログラムであって、前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断機能と、前記描画オブジェクト重なり判断機能により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割機能と、前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成機能と、をコンピュータに実現させることを特徴とする。
【発明の効果】
【００１２】
本発明の画像形成装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理して出力する画像形成装置であって、前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断部と、前記描画オブジェクト重なり判断部により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割部と、前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成部と、を有することを特徴とする。
【００１３】
このため、従来の手法では、ひとつのキャンバスに複数の描画オブジェクトがその位置関係や重なり具合等に関係なく存在して、中間言語以降での描画処理時にキャンバス毎での各描画オブジェクトの重なり具合を判断する処理を必要としたが、本手法により、あらかじめ重なり合いのない単独の描画オブジェクトは単独のキャンバスに分割して存在させることが可能となり、また、重なり合いのある描画オブジェクト同士もバンド高さ方向の辺縁で分割することにより、さらに重なり合いのない単独の描画オブジェクト部分とそうでない部分に分割可能である。これらの該単独キャンバス上の単独描画オブジェクトに関しては、中間言語以降での描画処理時に複数の描画オブジェクトの重なり合いの判断を行う必要が無く、そのため演算処理が削減された。また、これによりメモリの利用効率も高まった。
【００１４】
また、本発明の画像形成装置は、透明度属性の合成であるアルファブレンド演算処理のために、前記キャンバス分割部により分割されたキャンバス上の前記重なり合いのない描画オブジェクト及び前記重なり合いがあり前記当該重なり合いのバンド高さ方向の辺縁で分割された描画オブジェクトのそれぞれを内包して該描画オブジェクトに外接する矩形状にイメージを保存し、必要時には該イメージを呼び出してアルファブレンド演算を行うアルファブレンド演算部を有することを特徴としてもよい。
【００１５】
このため、元々同じキャンバス中に重なりが無く離れて存在していた複数の描画オブジェクトや、重なり合っていても分割されて重なりのなくなった描画オブジェクトは、別々のキャンバス中にその描画オブジェクトを内包する外接矩形状に切り取られて保存されるため、結果的に描画オブジェクトをキャンバスに描き込んだイメージを一時的に保持するためのメモリ量が削減される。また、描画オブジェクトをキャンバスに描き込んだイメージを切り取る際には、単純な外接矩形状に切り取ればよいので、必要なイメージ形状を抽出するのにかかる時間が削減される。
【００１６】
また、本発明の画像形成装置は、前記描画オブジェクト重なり判断部及び前記キャンバス分割部は、前記キャンバス上の描画オブジェクトについて描画処理の単位であるバンド単位での分割後に前記描画オブジェクトの重なり合いの判断及び前記キャンバスの纏め又は分割を行うことを特徴としてもよい。
【００１７】
このため、描画オブジェクトの形状全体としては重なり合いのある場合であっても、バンド幅に切られた状態においては、重なり合いを生じない描画オブジェクト同士は、別々のキャンバスに分割されるため、結果としてメモリの利用効率が向上し、演算処理が削減された。
【００１８】
本発明の画像形成プログラムは、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となるキャンバスとを含むページ記述言語を画像に変換処理する機能をコンピュータに実現させる画像形成プログラムであって、前記ページ記述言語を解析して、前記キャンバス上に複数の描画オブジェクトが存在する場合には、該複数の描画オブジェクトのそれぞれに重なり合いがあるかどうかを判断する描画オブジェクト重なり判断機能と、前記描画オブジェクト重なり判断機能により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割機能と、前記キャンバス分割部により纏められ又は分割されたキャンバスを中間言語に変換する中間言語生成機能と、をコンピュータに実現させることを特徴とする。
【００１９】
このため、従来の手法では、ひとつのキャンバスに複数の描画オブジェクトがその位置関係や重なり具合等に関係なく存在して、中間言語以降での描画処理時にキャンバス毎での各描画オブジェクトの重なり具合を判断する処理を必要としたが、本手法により、あらかじめ重なり合いのない単独の描画オブジェクトは単独のキャンバスに分割して存在させることが可能となり、また、重なり合いのある描画オブジェクト同士もバンド高さ方向の辺縁で分割することにより、さらに重なり合いのない単独の描画オブジェクト部分とそうでない部分に分割可能である。これらの該単独キャンバス上の単独描画オブジェクトに関しては、中間言語以降での描画処理時に複数の描画オブジェクトの重なり合いの判断を行う必要が無く、そのため演算処理が削減された。また、これによりメモリの利用効率も高まった。
【図面の簡単な説明】
【００２０】
【図１】キャンバス上の描画オブジェクトの説明図である。
【図２】キャンバス上の描画オブジェクトの層構造を示す説明図である。
【図３】従来技術によるキャンバス上の描画オブジェクトのバンド幅毎に保存されるイメージの説明図である。
【図４】本発明実施例の画像形成装置の機能ブロック図である。
【図５】本発明実施例の画像形成装置のフローチャートである。
【図６】本発明実施例によるオブジェクトの処理についての説明図である。
【図７】本発明実施例によるキャンバス上の描画オブジェクトの保存されるイメージの説明図である。
【図８】本発明実施例と従来技術との保持されるイメージの差異を示す説明図である。
【発明を実施するための形態】
【００２１】
画像形成装置及び画像形成プログラムにおいてページ記述言語中に記載されているキャンバス上の描画オブジェクト同士に重なり合いの無い場合にメモリに保持する描画オブジェクトのイメージのサイズを削減してメモリの利用効率を高めるという課題を、キャンバス上の複数の描画オブジェクトについて、重なり合いのあるものは纏めてひとつのキャンバスとし、重なり合いのない描画オブジェクトは、分割して異なるキャンバスとし、さらにオブジェクトに応じてイメージメモリする外接矩形を分割して中間言語に生成することにより解決した。
【実施例】
【００２２】
［構成］
図４は、本発明の実施例に係わる画像形成装置の機能ブロック図である。
【００２３】
画像形成装置１００は、通信インタフェース１．１、データ受信部１．２、データ解析部１．３（描画オブジェクト重なり判断部、キャンバス分割部）、描画データ処理部１．４、描画環境管理部１．４．１、イメージ処理部１．４．２、ベクタ処理部１．４．３、文字処理部１．４．４、クリップ処理部１．４．５、ディスプレイリスト作成部１．４．６（中間言語生成部）、描画部１．５（アルファブレンド演算部）、出力部１．６、メモリ管理部１．７、システム制御部１．８を備えている。
【００２４】
画像形成装置１００はコンピュータを有しており、当該コンピュータが画像処理に係るプログラムを実行することにより、上記の各種処理部を実現する。詳細には、前記コンピュータは、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）を有する。ＣＰＵ、ＲＯＭおよびＲＡＭは、バス、コントローラなどにより相互にデータ通信可能に接続される。ＣＰＵは、プログラムに記述された処理を実行する演算処理装置である。また、ＲＯＭは、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭは、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶して、作業領域として用いるメモリである。
【００２５】
以下に各機能部について説明する。
【００２６】
通信インタフェース１．１は、ＰＣ（Personal Computer）との間を接続するインタフェースである。ＰＣから印刷データを受信して、次のデータ受信部１．２に引き渡す。
【００２７】
データ受信部１．２は、ＰＣ（Personal Computer）から送られてくる印刷データを受信する。受信されたデータは、次のデータ解析部１．３に渡される。
【００２８】
データ解析部１．３（描画オブジェクト重なり判断部、キャンバス分割部）は、ＸＰＳ等のページ記述言語で書かれた印刷データの内容を解析して、中間言語（ディスプレイリスト）に変換するためのデータの解析を行う。データ解析部１．３は、描画データ処理部１．４と連携して動作する。
【００２９】
データ解析部１．３（キャンバス分割部）は、キャンバス上の複数の描画オブジェクトに重なり合いがあるかどうかを解析して判断する描画オブジェクト重なり判断部として動作する。又、描画オブジェクト重なり判断部により重なり合いがないと判断された描画オブジェクトを異なるキャンバスに分割し、重なり合いがあると判断された描画オブジェクトは前記当該重なり合いのバンド高さ方向の辺縁で描画オブジェクトを分割して異なるキャンバスに分割するキャンバス分割部としても動作する。このようにして分割されたキャンバスは、描画データ処理部１．４のディスプレイリスト作成部１．４．６により個別のディスプレイリストとして生成される。
【００３０】
描画データ処理部１．４は、データ解析部１．３でのデータ解析の結果を受けて、ページ記述言語を中間言語（ディスプレイリスト）に変換して生成する。描画データ処理部１．４は、データ解析部１．３と連携して働き、データ解析部１．３により、描画オブジェクトの重なり合い具合に応じてキャンバスが分割され、その分割されたキャンバスに基づき、ディスプレイリスト作成部１．４．６によりディスプレイリストに変換して生成する。以下に描画データ処理部１．４内の各機能部について説明する。
【００３１】
描画環境管理部１．４．１は、中間言語に変換する際の描画に関係する設定情報を管理する。
【００３２】
イメージ処理部１．４．２は、ページ記述言語中に存在したイメージデータの中間言語への変換処理を行う。
【００３３】
ベクタ処理部１．４．３は、ページ記述言語中に存在したベクタデータの中間言語への変換処理を行う。
【００３４】
クリップ処理部１．４．５は、ページ記述言語から中間言語への変換処理の際のクリッピング処理を行う。
【００３５】
ディスプレイリスト作成部１．４．６（中間言語生成部）は、データ解析部１．３の解析結果と、描画データ処理部１．４内の他の機能部である描画環境管理部１．４．１、イメージ処理部１．４．２、ベクタ処理部１．４．３、クリップ処理部１．４．５での変換処理の結果とに基づいて、中間言語であるディスプレイリストを生成する。この際には、データ解析部１．３によって描画オブジェクトの重なり具合により別のキャンバスとして分割されたキャンバスについては、分割したディスプレイリストのリストとして作成する。
【００３６】
描画部１．５（アルファブレンド演算部）は、ディスプレイリスト作成部１．４．６が生成した中間言語であるディスプレイリストを解読してラスタライズ処理を行い、出力部１．６にて印刷出力可能なビットマップデータに変換する。この変換の過程で透明度属性の合成であるアルファブレンド演算を行う。
【００３７】
このアルファブレンド演算を行う際には、データ解析部１．３により分割されたキャンバス上の前記重なり合いのある描画オブジェクト及び前記重なり合いのない描画オブジェクトのそれぞれの外接する矩形状にイメージを保存して効率的なメモリの利用を行う。外接する矩形という単純な形状でイメージを保存するために、保存するイメージの領域を求めるのが簡単であり処理速度が速い。
【００３８】
出力部１．６は、印刷を行う機構部である印刷エンジンを有し、実際に記録媒体（一般的には紙、その他ＯＨＰ紙等）に印刷を行なう。
【００３９】
メモリ管理部１．７は、システムのメモリを管理する。
【００４０】
システム制御部１．８は、システムの共通情報を管理し、システムの制御を行なう。
【００４１】
図４の機能ブロック図では、画像形成装置に通常備わっている画像読取部や、紙送り機構部などの本発明の本質には関係ない部分は省略した。
【００４２】
［フローチャート］
図５のフローチャートを用いて、描画オブジェクトをキャンバスのリストに追加する際の動作の流れについて説明する。
【００４３】
本フローチャートの機能動作は、全てデータ解析部１．３により行われる。
【００４４】
フローチャートの始まる前に描画オブジェクトがひとつ選択される。
【００４５】
Ｓ１１：登録済み描画オブジェクトのリストを順番に探索する。
【００４６】
Ｓ１３：フローチャート開始前に選択された描画オブジェクトとＳ１１で探索された描画オブジェクトが重なっているかどうかを判断する。重なっていれば、動作をＳ１４に移行する。重なっていなければ、動作をＳ２０に移行する。
【００４７】
Ｓ１４：登録済みの描画オブジェクトと登録する描画オブジェクトのバンドの高さ方向の重なり合いの開始位置（重なり合った描画オブジェクトのバンドの高さ方向の一辺縁）、重なり合いの終了位置（重なり合った描画オブジェクトのバンドの高さ方向の他辺縁）で分割する。
【００４８】
Ｓ１５：すでにＳ２０で追加されているリストにある描画オブジェクトとＳ１１で選択された描画オブジェクトが重なっていたかどうかを判断する。重なっていた場合には、動作をＳ１９に移行する。重なり合いの無い場合には動作をＳ１７に移行する。
【００４９】
Ｓ１７：重なっている描画オブジェクトのリストに追加する。
【００５０】
Ｓ１９：Ｓ１５で判断されたすでにあるリストと、重なっていた描画オブジェクトのリストとを連結する。
【００５１】
Ｓ２０：Ｓ１１のループの終端であるので、探索する描画オブジェクトがまだある場合には、当該新しい描画オブジェクトを選択してＳ１１に戻ってループを繰り返す。選択する描画オブジェクトがもう無い場合には、ループを終了する。
【００５２】
Ｓ２１：Ｓ１１からＳ２０のループ中で、選択された描画オブジェクトが一度も他のオブジェクトと重ならなかった場合には、動作をＳ２３に移行する。重なりがあった場合には、動作を終了する。
【００５３】
Ｓ２３：Ｓ１１で選択された描画オブジェクトを新しいディスプレイリストのオブジェクトとして追加する。
【００５４】
このフローチャートの終了後、他の描画オブジェクトについて最初に戻って処理が再開される。描画オブジェクトが無くなるまでフローチャートの処理が繰り返される。
【００５５】
上記のフローチャートの流れに沿って、図６の描画オブジェクト処理の説明図を用いて、実際に描画オブジェクトＡ，Ｂ，Ｃがキャンバスのリストに追加される行程を説明する。この場合、図６で説明される描画オブジェクトは、図１に示す位置関係の描画オブジェクトＡ，Ｂ，Ｃが図３に示すバンドの中段バンドについて処理される場合について説明する。
【００５６】
（Ｐ１）：最初に描画オブジェクトＡが選択される。
【００５７】
（Ｐ２）：選択された描画オブジェクトＡは、他のどの描画オブジェクトとも重なりがないのでＳ２０に移行する。その後Ｓ２１で、どれとも重ならなかったと判断されてＳ２３に移行し、Ｓ２３において、描画オブジェクトのリストに新規で追加される。
【００５８】
（Ｑ１）：次に描画オブジェクトＢの処理では、Ｓ１３での判定では、重なりが無いと判断されて、Ａと同様Ｓ１３→Ｓ２０→Ｓ２１→Ｓ２３の行程を取る。
【００５９】
（Ｑ２）：Ｓ２３において、描画オブジェクトＢはリストに新規で追加される。
【００６０】
（Ｒ１）：次に描画オブジェクトＣの処理を行う。まず、Ｓ１１で登録済みのＡを選択し、Ｓ１３でＡとＣとの重なりがあるかどうかを判断する。重なりは無いので、Ｓ２０からＳ１１に戻り、次は描画オブジェクトＢを選び、Ｓ１３において、描画オブジェクトＣが描画オブジェクトＢと重なり合っているかどうかを判断する。この場合にＣはＢと重なっているため、Ｓ１４に移行する。Ｓ１４の分割では、高さ方向にＢの上と下及びＣの上と下の４つの高さでＢとＣをそれぞれ分割する。
【００６１】
（Ｒ２）：この場合、ＢはＣの上の高さによって２つに切り分けられて、上部がＢ１となり、下部がＢ２となる。二つに切り分けられたＢ１とＢ２は重なっていないので（Ｒ２）に示すようにそれぞれ別のリストとして登録される。
【００６２】
（Ｒ３）：次にＣを２つに切り分けたＣ１（上部）とＣ２（下部）について、それぞれ次のＳ１５で探索済みの描画オブジェクトリストとの重なりを判断する。Ｃ１については、Ｂ２と重なっているので、Ｓ１９に進みＢ２のリストに追加される。Ｃ２については、どの描画オブジェクトとも重なっていないのでＳ１７→Ｓ２０→Ｓ２１→Ｓ２３でリストへ新規に追加される。
【００６３】
以上で中段バンドのキャンバスへの描画オブジェクトの解析は終了する。そして、図６（Ｒ３）に示す「Ａ」、「Ｂ１」、「Ｂ２，Ｃ１」、「Ｃ２」をそれぞれ、描画データ処理部１．４に送ることでキャンバスに含まれる描画オブジェクトの処理を行う。
【００６４】
このとき、「Ａ」、「Ｂ１」、「Ｃ２」は他の描画オブジェクトと重なっていないので、キャンバスのアルファブレンド演算処理用のメモリは必要なく、「Ｂ２，Ｃ１」のみがキャンバスの重ね合わせ処理される。
［削減されたイメージ］
本フローチャートで示したように、データ解析部１．３は、印刷データがキャンバスで構成されているかを実際の描画前にチェックする。チェックでは透明度属性が指定されているキャンバスのそれぞれの描画オブジェクトの外接矩形を使い、他の描画オブジェクトと重なっていないかを調べ、描画オブジェクトＡのように単独の描画オブジェクトのものはキャンバスによる重ね合わせの処理は必要ないので別のキャンバスに分ける。また、重なっている描画オブジェクトがあった場合（例えばＢとＣ）はグループとして纏め、さらに描画オブジェクトのバンドの高さ方向で分割し、中間言語のディスプレイリストとしてディスプレイリスト作成部１．４．６が生成する。この処理を処理対象のキャンバスの全描画オブジェクトについて処理を行えば最終的に単独またはグループ化された複数の描画オブジェクトで構成される。これらをそれぞれのキャンバスに分け、実際の描画処理を描画部１．５で行う。
【００６５】
この結果、図７に示すように、分けられたキャンバス毎に描画オブジェクトを描き込んだイメージを保持してアルファブレンド演算処理することとなり、各バンド毎、さらにはバンドの高さ方向で分割された重なり合いのある描画オブジェクトの外接する矩形状にイメージが保持される。
【００６６】
図３の従来技術による手法と図７の本発明実施例による手法とを比較すると図８の矢印で示すグレーで描かれている部分がその差異部分であり、この部分をメモリに保持する必要が無くなり、処理するデータ量が削減されたため演算にかかる処理時間が短縮した。
【００６７】
［実施例の効果］
本発明実施例の画像形成装置及び画像形成プログラムにより、以下のことが可能となる。
【００６８】
ページ記述言語から中間言語への変換の際に、ひとつのキャンバス上に存在する複数の描画オブジェクト同士に重なりの無い場合は、描画オブジェクトを別のキャンバスに分割させ、さらに描画オブジェクト同士に重なり合いの有る場合は、バンドの高さ方向で分割して、その外接矩形毎に分割して処理するため、単独キャンバスの単独描画オブジェクトが生成されることになり、当該キャンバスについては、中間言語以降の描画処理に関しては、キャンバスの重なり合いについて判断する必要が無くなる為、演算処理を削減することが可能となり、トータルとしての処理速度が向上する。又、メモリの利用効率も高まる。
【００６９】
描画オブジェクトをキャンバスに描き込んだイメージをメモリを保持する際に、従来ではバンド内に存在する描画オブジェクトを内包する外接矩形状にイメージを保持していたが、本実施例による方法では、重なり合いのない描画オブジェクト同士は分割される。又重なり合いのある描画オブジェクトはバンドの高さ方向で分割されて、単独の描画オブジェクトと重なり合いのある複数の描画オブジェクトとに分けられる。これら分割されたそれぞれの描画オブジェクトを内包する外接矩形状に分かれて、描画オブジェクトがひとつのバンド内でも島状にそのイメージを保持するためにメモリの利用効率が大きく高まる。又、そのため演算処理が削減されてトータルとしての処理速度が向上する。
【００７０】
［その他］
本実施例においては、描画処理の単位であるバンド幅毎の分割後にキャンバス上の描画オブジェクトの重なり合いの判断及びキャンバスの分割化を行ったが、バンド幅の分割前乃至はページ全体を１バンドとして見なして、ページ記述言語で記載されているページ全体としての段階で、描画オブジェクトの重なり合いの判断及びキャンバスの分割化を行う方法をとってもよい。
【符号の説明】
【００７１】
１．１  通信インタフェース
１．２  データ受信部
１．３  データ解析部（描画オブジェクト重なり判断部、キャンバス分割部）
１．４  描画データ処理部
１．４．１  描画環境管理部
１．４．２  イメージ処理部
１．４．３  ベクタ処理部
１．４．４  文字処理部
１．４．５  クリップ処理部
１．４．６  ディスプレイリスト作成部（中間言語生成部）
１．５  描画部（アルファブレンド演算部）
１．６  出力部
１．７  メモリ管理部
１．８  システム制御部
【図１】
2010274534.tif 000003
【図２】
2010274534.tif 000004
【図４】
2010274534.tif 000005
【図５】
2010274534.tif 000006
【図６】
2010274534.tif 000007
【図３】
2010274534.tif 000008
【図７】
2010274534.tif 000009
【図８】
2010274534.tif 000010