(57)【特許請求の範囲】
【請求項１】
画像データの処理単位であるオブジェクトに対し、オブジェクト個数Ａ（Ａは２以上の整数）をグループとしてフラットニング処理を行うフラットニング処理手段と、
フラットニング処理されたオブジェクトからラスター画像を生成するラスタライザ処理手段と、
を備え、グループ番号をＮ（Ｎは１以上の整数）として、前記ラスタライザ処理手段におけるグループＮを構成するオブジェクトの処理と、前記フラットニング処理手段におけるグループＮ＋１を構成するオブジェクトの処理を並行して実行し、かつ、前記グループＮを構成するオブジェクトの前記ラスタライザ処理手段における処理に先立ち、その処理予想時間に応じて、前記フラットニング処理手段におけるグループＮ＋１を構成するオブジェクトの処理時間が前記ラスタライザ処理手段におけるグループＮを構成するオブジェクトの処理時間以下となるように、前記グループＮ＋１を構成するオブジェクト個数Ａを可変設定する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関する。
【背景技術】
【０００２】
特許文献１には、中間データ（オブジェクト）の重なり領域を予め調べて、効率のよいオブジェクト描画処理を行う描画処理装置が記載されている。中間データ分配手段が中間データと未展開処理の中間データとの間で重なる領域があるかどうかを判定し、重なる領域のない中間データから優先順位に基づいて展開処理手段に分配する。
【０００３】
特許文献２には、オブジェクトの重なり判定処理前にバウンディングボックスの大小に応じてフラットニングする／しないを分類して判定対象を間引くことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３３３８５２号公報
【特許文献２】特開２０１０−１５７０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
オブジェクトの重なりの有無を判定し、重なりがある場合に重なり面積を省略して描画を実施するフラットニング処理は描画処理を効率化するのに有効であるが、オブジェクトの重なりの有無を判定するのに時間を要する問題がある。すなわち、Ｎ個のオブジェクトが存在する場合、全通りで重なりの有無を分析するのでその分析回数は、ＮＣ２＝Ｎ（Ｎ−１）／２となり、１回当たりの重なり判定時間をαとすると、トータルでα・Ｎ（Ｎ−１）／２の時間を要し、重なり判定時間がオーバヘッドとなり得る。
【０００６】
オブジェクトの重なり判定処理前にバウンディングボックスの大小に応じてフラットニングの有無を分類する場合、全通り方式に比べて分析回数は減るものの、重なり判定時間は同様にオーバヘッドとして残り得る。
【０００７】
本発明の目的は、オブジェクトに重なりがある場合に重なり面積を省略して描画するフラットニング処理を実施して描画速度を高速化しつつ、重なり判定時間のオーバヘッドを抑制できる装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載の発明は、画像データの処理単位であるオブジェクトに対し、オブジェクト個数Ａ（Ａは２以上の整数）をグループとしてフラットニング処理を行うフラットニング処理手段と、フラットニング処理されたオブジェクトからラスター画像を生成するラスタライザ処理手段とを備え、グループ番号をＮ（Ｎは１以上の整数）として、前記ラスタライザ処理手段におけるグループＮを構成するオブジェクトの処理と、前記フラットニング処理手段におけるグループＮ＋１を構成するオブジェクトの処理を並行して実行し、かつ、前記グループＮを構成するオブジェクトの前記ラスタライザ処理手段における処理に先立ち、その処理予想時間に応じて、前記フラットニング処理手段におけるグループＮ＋１を構成するオブジェクトの処理時間が前記ラスタライザ処理手段におけるグループＮを構成するオブジェクトの処理時間以下となるように、前記グループＮ＋１を構成するオブジェクト個数Ａを可変設定する、画像処理装置である。
【発明の効果】
【００１１】
請求項１記載の発明によれば、オブジェクトに重なりがある場合に重なり面積を省略して描画するフラットニング処理を実施して描画速度を高速化しつつ、重なり判定時間のオーバヘッドを抑制できる。
【図面の簡単な説明】
【００１２】
【図１】フラットニング処理の模式図である。
【図２】従来方式の分析・描画処理説明図である。
【図３】実施形態の分析・描画処理説明図である。
【図４】第１実施形態の構成ブロック図である。
【図５】第１実施形態の処理フローチャートである。
【図６】フラットニング処理とラスタライザの処理時間を示すグラフ図である。
【図７】フラットニング処理とラスタライザの関係を示す模式図である。
【図８】フラットニング処理とラスタライザの関係を示す模式図である。
【図９】フラットニング処理とラスタライザの関係を示す模式図である。
【図１０】第２実施形態の構成ブロック図である。
【図１１】第２実施形態の構成ブロック図である。
【図１２】オブジェクトと描画時間の関係を示すグラフ図である。
【図１３】オブジェクトと描画時間の関係を示すグラフ図である。
【図１４】第３実施形態の概念構成図である。
【図１５】第３実施形態の構成ブロック図である。
【図１６】第３実施形態の処理フローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面に基づき本発明の実施形態について説明する。
【００１４】
＜第１実施形態＞
まず、実施形態の説明に先立ち、フラットニング処理について説明する。ページ記述言語ＰＤＬで記述された印刷データは、高速展開処理を可能とすべく中間データに変換されるが、中間データの最小単位であるオブジェクト同士の重なりがある場合、新しく描かれるオブジェクトが既に描画されたオブジェクトを上書きすることになるため、当該重なりの部分は重複して描かれることになり処理として無駄になる。そこで、オブジェクト同士の重なりがある場合に、当該重なりの部分の描画を省略することで、描画速度の高速化が可能となる。これをフラットニング処理と称する。
【００１５】
図１は、フラットニング処理の模式図である。矩形で表現されるオブジェクト１０とオブジェクト１２の間に重なりがある場合、時系列で先に描かれるべくオブジェクト１０から重なり部を省略（あるいは除去）して描画パターンを作成し、オブジェクト１０とオブジェクト１２を描画する。重なり部はオブジェクト１２として描画されるだけであるため、重複して描画する場合に比べて描画速度が高速化する。
【００１６】
但し、印刷すべき全てのオブジェクト間で重なりが存在するか否かを判定するために、オブジェクトの総数をＮとした場合に、全通りの組み合わせの数として
ＮＣ２＝Ｎ（Ｎ−１）／２
の分析が必要となる。
【００１７】
図２は、オブジェクトの総数Ｎに対し、オブジェクト間で重なりがあるか否かを判定する場合の模式図である。図２（ａ）に示すように、処理単位のオブジェクトがオブジェクト１〜オブジェクトＮから構成されるものとすると、これらＮ個のオブジェクトを分析するためにＮＣ２＝Ｎ（Ｎ−１）／２回の分析を要し、その後にＮ個のオブジェクトの描画を行う。従って、図２（ｂ）に示すように、トータルの処理時間はフラットニング処理に要する時間と描画に要する時間の合計となり、フラットニング処理に要する時間、すなわち分析時間がそのまま剥き出しとなってオーバヘッドとなる。この分析時間は、オブジェクトの数Ｎが増大するほど増大する。
【００１８】
そこで、本実施形態では、全通りではなく、一定オブジェクト個数ずつグループ化し、当該グループ内でフラットニング処理することで分析回数を低減する。
【００１９】
図３は、本実施形態におけるフラットニング処理及び描画処理の模式図である。複数のオブジェクト毎にまとめてグループ化し、これらのグループを処理単位としてフラットニング処理を行う。例えば、図３（ａ）に示すように、３個のオブジェクトをまとめてグループ化する。
オブジェクト１、オブジェクト２、オブジェクト３→グループ１
オブジェクト４、オブジェクト５、オブジェクト６→グループ２
オブジェクト７、オブジェクト８、オブジェクト９→グループ３
・・・
の如くである。そして、グループの中において重なりがあるか否かを判定し、あるグループのフラットニング処理が完了してその描画処理を実行している間に、並行して次のグループのフラットニング処理を行う。
【００２０】
図３（ｂ）は、並行して実行されるグループ毎のフラットニング処理と描画処理の模式図である。図において、番号は３個のオブジェクトからなるグループの番号を示す。グループ１の重なり分析を含むフラットニング処理を行い、グループ１の描画処理を行うとともに、この描画処理と同時並行して次のグループ２のフラットニング処理を行う。グループ２のフラットニング処理が終了し、グループ２の描画処理を行うとともに、この描画処理と並行して次のグループ３のフラットニング処理を行う。以下、同様にして、グループＮ−１のフラットニング処理を行い、グループＮ−１の描画処理を行うとともに、これと並行して次のグループＮのフラットニング処理を行う。グループＮのフラットニング処理を一定の個数のオブジェクトに限定することでフラットニング処理に要する時間を抑制し、かつ、グループＮのフラットニング処理をグループＮ−１の描画処理と並行して行うことで、グループＮのフラットニング処理をグループＮ−１の描画処理で隠蔽し得、フラットニング処理を隠蔽することでオーバヘッドを抑制し得る。
【００２１】
なお、本実施形態において、一定個数、例えば３個のオブジェクトからなるグループは、フラットニング処理及び描画処理の処理単位を規定するオブジェクトウィンドウと言うことができる。
【００２２】
図４は、本実施形態における画像処理装置の構成ブロック図である。画像処理装置は、入力制御部２０と、オブジェクト解析部２２と、処理個数決定部２４と、重なり判定部２６と、重なり処理部２８と、処理ウィンドウ制御部３０と、ラスタライザ描画部３２と、出力制御部３４と、再構成制御部３６を備える。
【００２３】
入力制御部２０は、外部から供給された中間データ（オブジェクト）を入力してオブジェクト解析部２２に出力する。オブジェクトは、矩形等の単純な図形の集合で表現される。矩形の場合、矩形の角の座標でそのオブジェクトの配置を管理する。例えば、オブジェクトが１つの走査線上に占める区間を表す区間データとして管理し、個々の区間データには、その区間の開始点と終了点の座標、その区間に配置されるオブジェクト種類（文字、グラフィック、連続調イメージ等）を示す情報、区間データ上の画素値属性等が含まれる。
【００２４】
オブジェクト解析部２２は、オブジェクトの区間データを解析して処理個数決定部２４に出力する。オブジェクト解析部２２は、必要に応じてオブジェクトの区間データから当該オブジェクトを描画するのに要する時間を算出する。
【００２５】
処理個数決定部２４は、フラットニング処理を行うべきオブジェクトの個数を決定する。この個数は、予め設定された個数であって２以上の整数である。処理個数決定部２４は、例えば、オブジェクトの個数を３個に設定する。オブジェクトの個数は、予め画像処理装置のメモリに記憶されていてもよく、画像処理装置の操作者がキーボード等の入力装置から入力してもよい。
【００２６】
重なり判定部２６は、３個のオブジェクト間において重なりがあるか否かを区間データに基づき判定する。具体的には、オブジェクト間の矩形座標が互いに重なり合っているか否かを判定する。３個のオブジェクトをオブジェクト１、オブジェクト２、オブジェクト３とすると、重なり判定部２６は、オブジェクト１とオブジェクト２の重なり、オブジェクト２とオブジェクト３の重なり、オブジェクト１とオブジェクト３の重なりを判定する。重なり判定部２６は、判定結果を重なり処理部２８に出力する。
【００２７】
重なり処理部２８は、オブジェクト同士が重なる場合に、当該重なる部分のマスクを生成してラスタライザ描画部３２に出力する。例えば、オブジェクト１とオブジェクト２で重なる場合、オブジェクト１の当該重なる部分にマスクを生成する。オブジェクト同士が重ならない場合、マスクを生成しない。また、重なり処理部２８は、処理結果を処理ウィンドウ制御部３０に出力する。
【００２８】
処理ウィンドウ制御部３０は、重なり処理部２８での処理結果に応じて、処理ウィンドウを制御する。具体的には、３個のオブジェクトからなるグループ１の重なり処理が終了すると、次のグループ２を構成する３個のオブジェクトを指定して重なり判定部２６に出力する。グループ２を構成する３個のオブジェクトは、オブジェクト４、オブジェクト５、オブジェクト６であり、重なり判定部２６は、これらのオブジェクト間の重なりを判定する。以下、同様に、処理ウィンドウ制御部３０は、順次、グループ３，４、・・・グループＮを構成する３個のオブジェクトを指定する。
【００２９】
ラスタライザ描画部３２は、フラットニング処理されたオブジェクトからラスター画像を生成して出力制御部３４に出力する。ラスタライザ描画部３２は、重なりがない場合には従来と同様にオブジェクトからそのままラスター画像を生成するが、重なりがありマスクが生成されている場合には、当該マスク部分においてラスター画像の生成を省略する（図１参照）。出力制御部３４は、ラスター画像を図示しないプリントエンジンに出力して印刷を行う。
【００３０】
重なり判定部２６及び重なり処理部２８でフラットニング処理が実行され、ラスタライザ描画部３２で描画処理が実行されるが、この際、ラスタライザ描画部３２でグループＮ−１の描画処理が実行され、これと並行してグループＮのフラットニング処理が実行される。グループＮのフラットニング処理が終了すると、続いてラスタライザ描画部３２でグループＮの描画処理が実行されるが、これと並行してグループＮ＋１のフラットニング処理が実行される。
【００３１】
再構成制御部３６は、オブジェクトの描画形式が複数形式存在する場合に、描画形式に合わせて使用回路を再構成する。内部の論理回路構成を動的に再構成可能なＤＲＰ（Dynamic Reconfigurable Processor）は公知であり、メモリに記憶された複数のコンフィグレーションデータを選択的に有効とし、有効とされたコンフィグレーションデータに従ってＤＲＰを再構成することで、ハードウェアを徒に増大化することなく、複数の描画形式に適応し得る。なお、描画形式が１種類で固定されている場合には、再構成する必要がないので再構成制御部３６は不要である。ラスタライザ描画部３２において、オブジェクトのラスタライザ処理、カラーマッチング処理、データ圧縮処理を順次行う場合、これら一連のパイプライン処理がＤＲＰで構成される。図４の各部はコンピュータにより構成されるが、ＤＲＰは当該コンピュータの補助処理装置として構成される。
【００３２】
図５は、本実施形態の処理フローチャートである。なお、処理フローチャートでは、オブジェクトグループをオブジェクトウィンドウとして説明する。
まず、処理個数決定部２４におけるウィンドウサイズＡ（２≦Ａ）を設定する（Ｓ１０１）。このウィンドウサイズＡによりフラットニング処理に要する時間も変動するが、詳細についてはさらに後述する。
【００３３】
ウィンドウサイズＡを設定した後、Ｎ番目のウィンドウの重なり処理（フラットニング処理）とＮ−１番目のウィンドウのラスタライザ処理（描画処理）を並行して実行する（Ｓ１０２ａ、Ｓ１０２ｂ）。すなわち、１番目のウィンドウの描画処理と２番目のウィンドウのフラットニング処理を並行して実行し、２番目のウィンドウの描画処理と３番目のウィンドウのフラットニング処理を並行して実行する等である。なお、１番目のウィンドウのフラットニング処理を行う際には、描画処理すべきデータが未だ存在していないので描画処理が並行して行われることはない。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する（Ｓ１０３）。全てのオブジェクトについて完了したか否かは、処理ウィンドウ制御部３０で判定する。
【００３４】
このように、本実施形態では、フラットニング処理を行うオブジェクトをＡ個に固定し、かつ、フラットニング処理と描画処理を並行して実行することでフラットニング処理を描画処理に隠蔽することで、フラットニング処理のオーバヘッドをなくし、描画までのトータル処理時間を抑制できる。
【００３５】
＜第２実施形態＞
第１実施形態では、ウィンドウサイズＡを固定してフラットニング処理を実行しているため、重なりがあるか否かの分析時間は一定である。他方、オブジェクト毎にサイズが異なり、描画方法も異なり得るため、描画時間はオブジェクト毎に変化し得る。従って、オブジェクトによっては、フラットニング処理と描画処理を並行して実行しても、描画時間が短いために結果としてフラットニング処理を隠蔽できない場合が生じ得る。
【００３６】
図６は、ウィンドウ番号と処理時間の関係の一例を示す図である。ウィンドウサイズＡ＝１６とした場合であり、ウィンドウ番号１はオブジェクト１、オブジェクト２、オブジェクト３、・・・、オブジェクト１６からなり、ウィンドウ番号２はオブジェクト１７、オブジェクト１８、・・・、オブジェクト３２からなる。
【００３７】
図６において、符号ａは各ウィンドウのフラットニング処理時間を示し、符号ｂは各ウィンドウの描画処理時間を示す。ウィンドウサイズが一定であるためウィンドウ番号によらずフラットニング処理時間は一定であるが、これに対して描画処理時間はウィンドウ番号により変動し、特にウィンドウ番号３〜６、１４〜１７では処理時間が相対的に長く、ウィンドウ番号７〜１３では処理時間が相対的に短い。フラットニング処理と描画処理を並行して実行する場合、フラットニング処理時間≦描画処理時間であれば、フラットニング処理を描画処理で隠蔽することが可能であるが、フラットニング処理時間＞描画時間であればフラットニング処理を隠蔽することができなくなる。
【００３８】
図７は、フラットニング処理と描画処理を並行して実行する場合の模式図である。ウィンドウ番号６とウィンドウ番号７に着目すると、ウィンドウ番号６の描画処理とウィンドウ番号７のフラットニング処理は並行して実行され、フラットニング処理時間≦描画処理時間であるためフラットニング処理を隠蔽することができる。
【００３９】
他方、ウィンドウ番号７とウィンドウ番号８に着目すると、ウィンドウ番号７の描画処理とウィンドウ番号８のフラットニング処理は並行して実行され、フラットニング処理時間＞描画処理時間であるためフラットニング処理を隠蔽できない。
【００４０】
また、ウィンドウ番号８とウィンドウ番号９に着目すると、ウィンドウ番号８の描画処理とウィンドウ番号９のフラットニング処理は並行して実行され、フラットニング処理時間＞描画処理時間であるため同様にフラットニング処理を隠蔽できない。
【００４１】
このように、オブジェクト毎に描画時間が変化し得ることに起因して、ウィンドウ毎に描画時間が変化し、フラットニング処理時間＞描画処理時間となるとフラットニング処理を隠蔽できないことに鑑み、本実施形態では、ウィンドウサイズＡを固定ではなく可変（すなわち、オブジェクト個数可変）とすることでフラットニング処理時間を適応的に変化させる。
【００４２】
図８は、本実施形態によるオブジェクト個数可変方式によるフラットニング処理と描画処理の模式図である。いま、図８（ａ）のように、
（ウィンドウＮのフラットニング処理時間）＜（ウィンドウＮ−１の描画時間）
（ウィンドウＮ＋１のフラットニング処理時間）＞（ウィンドウＮの描画時間）
（ウィンドウＮ＋２のフラットニング処理時間）＞（ウィンドウＮ＋１の描画時間）
であるとする。このとき、図８（ｂ）のように、ウィンドウＮのフラットニング処理についてはウィンドウＮ−１の描画時間にほぼ等しくなるようにウィンドウサイズＡを大きくし、ウィンドウＮ＋１のフラットニング処理についてはウィンドウＮの描画時間にほぼ等しくなるようにウィンドウサイズＡを小さくし、ウィンドウＮ＋２のフラットニング処理についてはウィンドウＮ＋１の描画時間にほぼ等しくなるようにウィンドウサイズＡを小さくする。このように、フラットニング処理を行うウィンドウサイズＡ、すなわちオブジェクト個数を増減調整することで、フラットニング処理時間を増減調整して描画時間に合わせ、フラットニング処理を隠蔽する。ウィンドウＮのフラットニング処理時にウィンドウＮを構成する複数のオブジェクトのサイズや属性を解析するから、ウィンドウＮのフラットニング処理時に同時にウィンドウＮの描画予想時間を算出することができ、このウィンドウＮの描画予想時間に合わせてウィンドウＮ＋１のウィンドウサイズＡを可変設定する。すなわち、ウィンドウＮのフラットニング処理時に次のウィンドウＮ＋１のウィンドウサイズＡを設定する。
【００４３】
図９は、ウィンドウＮ＋１のウィンドウサイズＡを設定する模式図である。図９（ａ）に示すように、ウィンドウＮのフラットニング処理を実行する際に、ウィンドウＮの描画予想時間ＴＮが算出される（この時点では、ウィンドウＮの描画は行われていない）。そこで、ウィンドウＮ＋１のウィンドウサイズＡを、ウィンドウＮの描画予想時間ＴＮ以内となるように設定する。ウィンドウＮ＋１のウィンドウサイズＡを可変調整後のフラットニング処理時間をｔＮ＋１とすると、ＴＮ≧ｔＮ＋１であり、ウィンドウＮ＋１のフラットニング処理が隠蔽される。
【００４４】
具体的には、ウィンドウＮ＋１のウィンドウサイズをＡ、つまりオブジェクト個数をＡとし、フラットニング処理１回当たりに要する時間をαとすると、
ｔＮ＋１＝α・ＡＣ２＝α・Ａ（Ａ−１）／２
であるから、
ＴＮ≧ｔＮ＋１
を満たすためには、
Ａ≦｛１＋（１＋８ＴＮ／α）１／２｝／２      ・・・（１）
となるようにウィンドウサイズＡ，つまりオブジェクト個数Ａを設定すればよい。一例として、不等式（１）を満たす最大数をウィンドウサイズＡに設定する。
【００４５】
図１０は、本実施形態における画像処理装置の構成ブロック図である。図４と異なるのは、次回分析個数決定部２９が新たに追加される点である。
【００４６】
次回分析個数決定部２９は、ウィンドウＮのフラットニング処理時に、ウィンドウＮの描画予想時間ＴＮを用いて、上記の不等式（１）を満たすようにウィンドウサイズＡ、つまりオブジェクト個数Ａを決定して処理個数決定部２４に出力する。描画予想時間ＴＮは、オブジェクト解析部２２で算出する。
【００４７】
図１１は、本実施形態の処理フローチャートである。まず、処理個数決定部２４におけるウィンドウサイズＡ（２≦Ａ）を初期値Ａ１に設定する（Ｓ２０１）。初期値Ａ１は任意でよく、例えば３あるいは１６等に設定する。
【００４８】
ウィンドウサイズＡを初期値Ａ１に設定した後、Ｎ番目のウィンドウのオブジェクトＡＮ個の重なり処理（フラットニング処理）とＮ−１番目のウィンドウのオブジェクトＡＮ−１個のラスタライザ処理（描画処理）を並行して実行する（Ｓ２０２ａ、Ｓ２０２ｂ）。
【００４９】
次に、Ｎ番目のウィンドウのラスタライザ処理個数ＡＮを算出し（Ｓ２０３）、この処理個数ＡＮを用いてＮ＋１番目のウィンドウのフラットニング処理個数ＡＮ＋１を決定する（Ｓ２０４）。フラットニング処理個数はフラットニング処理時間と実質的に同じであるから、Ｓ２０３はラスタライザ処理時間を算出するといえる。Ｓ２０４では、不等式（１）を満たすようにＡＮ＋１が決定される。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する（Ｓ２０５）。従って、１番目のウィンドウについては、初期値のＡ１でフラットニング処理されるとともに描画処理されるが、２番目のウィンドウについては、１番目のウィンドウのフラットニング処理個数（処理時間）に応じて処理個数が決定され（初期値Ａ１と同一の場合もあれば、これと異なる場合もある）、決定された個数でフラットニング処理及び描画処理が実行される。同様に、３番目のウィンドウについても、２番目のウィンドウのフラットニング処理個数（フラットニング処理時間）に応じて処理個数が決定される。
【００５０】
このように、本実施形態では、フラットニング処理を行うオブジェクト個数を描画時間に合わせて可変調整することで、フラットニング処理を確実に隠蔽できる。勿論、予めオブジェクトの属性がほぼ均一であって、フラットニング処理時間≦描画時間となることが明らかであれば、第１実施形態で示したようにオブジェクト個数を初期値Ａ１のまま固定してもよい。
【００５１】
なお、不等式（１）から明らかなように、ＴＮが増大するほどＡも増大し、ＴＮが減少するほどＡも減少するから、両者の間に正の相関があるといえる。
【００５２】
本願出願人は、
（ｉ）オブジェクト５００個、ページ内で３０％の重なりがある場合
（ｉｉ）オブジェクト１０００個、ページ内で５０％の重なりがある場合
（ｉｉｉ）オブジェクト５００個、ページ内で７０％の重なりがある場合
のそれぞれにおいて、従来方式（図２に示す方式）のトータル処理時間と本実施形態の方式のトータル処理時間を比較したところ、以下の結果が得られることを確認している。
（ｉ）の場合
従来方式：１．４秒
実施形態方式：０．１８秒
（ｉｉ）の場合
従来方式：５．２秒
実施形態方式：０．３５秒
（ｉｉｉ）の場合
従来方式：１２６秒
実施形態方式：１．７秒  
【００５３】
これらの結果より、本実施形態による処理時間短縮化あるいは処理速度高速化の効果は明らかである。
【００５４】
＜第３実施形態＞
第２実施形態では、ウィンドウサイズ、つまりオブジェクト個数を可変調整することでフラットニング処理を確実に隠蔽することが可能であるが、さらに、フラットニング処理を効率化することも可能である。
【００５５】
図１２は、オブジェクト毎の描画時間の一例を示す図である。オブジェクト毎にサイズや描画方式が異なり得るため、その描画時間も異なる。例えば、オブジェクト１〜オブジェクト１００は描画時間が相対的に長く、オブジェクト１１０〜オブジェクト２３０は描画時間が相対的に短い。図には、第２実施形態におけるオブジェクト個数可変調整の一例も合わせて示す。最初は２個、次は１２個、その次は２９個、その次は４６個、その次は１１１個と変化（増大）していくが、オブジェクトｍ、オブジェクトｍ＋１、オブジェクトｍ＋２、・・・のように連続する複数個のオブジェクトの間のみでフラットニング処理を行うため、全通りの重なりを考慮する場合に比べてフラットニング処理の効果が出難い。フラットニング処理の効果を極大化するためには、図１３に示すように、描画時間が相対的に長い領域Ａと領域Ｃの間でフラットニング処理を行うのが効率的であり、元々描画時間が相対的に短い領域Ｂや領域Ｄについてフラットニング処理を行ってもその効果は限定的とならざるを得ない。
【００５６】
以上の事実に鑑み、本実施形態では、描画時間が相対的に長い領域についてフラットニング処理を行い、描画時間が相対的に短い領域についてはフラットニング処理を行わないことで、トータル処理時間をさらに短縮する。描画時間が相対的に長い領域は、オブジェクトのサイズや描画方式からオブジェクトの描画時間を算出し、これを閾値と大小比較することで抽出し得る。図１３に即して説明すると、領域Ａ及び領域Ｃを抽出し、領域Ａを構成するオブジェクトと領域Ｃを構成するオブジェクトでフラットニング処理を実行する。
【００５７】
この方式によれば、連続していないオブジェクトであってもフラットニング処理を行い得る。
【００５８】
図１４は、本実施形態の概念構成図である。本実施形態の画像処理装置は、閾値Ｓｔｈ判定部４０と、フラットニング処理部４２と、ラスタライザ描画部４４，４６を備える。
【００５９】
閾値Ｓｔｈ判定部は、中間データ（中間言語）としてのオブジェクトを入力し、当該オブジェクトのサイズや描画方式から算出される描画予想時間を予め定められた閾値Ｓｔｈと大小比較する。閾値Ｓｔｈ以上のオブジェクトに対しては、フラットニング処理対象としてフラットニング処理部４２でフラットニング処理を実行した後にラスタライザ描画部４４で描画処理を実行する。他方、閾値Ｓｔｈ未満のオブジェクトに対しては、フラットニング処理未対象（非対象）としてフラットニング処理を行うことなくラスタライザ描画部４６で描画処理を実行して出力する。
【００６０】
図１５は、本実施形態における画像処理装置の構成ブロック図である。図１０と異なるのは、重なり省略対象判定部２３が新たに追加された点である。
【００６１】
重なり省略対象判定部２３は、図１４における閾値Ｓｔｈ判定部４０に相当し、オブジェクト解析部２２でオブジェクトを解析して得られる描画予想時間を閾値Ｓｔｈと比較し、その結果を用いて重なり省略対象オブジェクトに対しフラグを設定する。勿論、重なり省略対象でないオブジェクトに対しフラグを設定してもよく、要するに、閾値Ｓｔｈと大小比較して各オブジェクトをフラットニング処理の対象／非対象に分類する。描画予想時間が閾値Ｓｔｈ以上でフラットニング処理の対象に分類されたオブジェクトは、第２実施形態と同様に重なり判定部２６等でフラットニング処理され、ラスタライザ描画部３２で描画処理される。他方、描画予想時間が閾値Ｓｔｈ未満でフラットニング処理の対象に分類されなかったオブジェクトは、重なり判定部２６等でフラットニング処理されることなく、ラスタライザ描画部３２で描画処理される。
例えば、オブジェクト１〜オブジェクト６に対し、
オブジェクト１：対象
オブジェクト２：対象
オブジェクト３：未対象
オブジェクト４：未対象
オブジェクト５：対象
オブジェクト６：対象
と分類された場合、オブジェクト１、オブジェクト２、オブジェクト５、オブジェクト６でウィンドウが構成され、フラットニング処理が実行される。オブジェクト１、オブジェクト２と、オブジェクト５、オブジェクト６は連続していないが重なり分析の対象となり、互いに重なりがあればフラットニング処理される。
【００６２】
図１６は、本実施形態の処理フローチャートである。図１１と異なるのは、全オブジェクトをフラットニング対象／未対象（非対象）に分類する処理を行う点である（Ｓ３０１）。具体的には、各オブジェクトの描画予想時間を閾値Ｓｔｈと大小比較し、閾値Ｓｔｈ以上をフラットニング対象、閾値Ｓｔｈ未満をフラットニング未対象（非対象）に分類する。
【００６３】
なお、「描画予想時間」とあるのは、言うまでもなくその時点では実際に描画されていないことを考慮したものである。
【００６４】
以後は、図１１の処理と基本的に同様であり、処理個数決定部２４におけるウィンドウサイズＡ（２≦Ａ）を初期値Ａ１に設定し（Ｓ３０２）、Ｎ番目のウィンドウのオブジェクトＡＮ個の重なり処理（フラットニング処理）とＮ−１番目のウィンドウのオブジェクトＢＮ−１個のラスタライザ処理（描画処理）を並行して実行する（Ｓ３０３ａ、Ｓ３０３ｂ）。
【００６５】
次に、Ｎ番目のウィンドウのラスタライザ処理個数ＢＮを算出し（Ｓ３０４）、この処理個数ＢＮを用いてＮ＋１番目のウィンドウのフラットニング処理個数ＡＮ＋１を決定する（Ｓ３０５）。Ｓ３０５では、不等式（１）を満たすようにＡＮ＋１が決定される。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する（Ｓ３０６）。
【００６６】
但し、本実施形態では、ラスタライザ処理個数Ｂは条件により変化する。すなわち、フラットニング処理個数が連続している場合には、フラットニング処理個数をＭ個としてＢ＝Ｍとなる。他方、フラットニング処理個数が飛び飛びの場合（フラットニング対象と未対象（非対象）が混在する場合）、Ｍ個カウントされるまでの未対象（非対象）個数の総和をβとして、Ｂ＝Ｍ＋βである。
【００６７】
具体的に説明すると、以下の通りである。
すなわち、オブジェクト１〜オブジェクト１０があり、ウィンドウサイズの初期値Ａ１をＡ１＝３とする。各オブジェクトの描画時間を閾値Ｓｔｈと大小比較し、
オブジェクト１：対象
オブジェクト２：対象
オブジェクト３：未対象
オブジェクト４：未対象
オブジェクト５：対象
オブジェクト６：対象
オブジェクト７：対象
オブジェクト８：対象
オブジェクト９：未対象
オブジェクト１０：対象
に分類されたものとする。
【００６８】
フラットニング処理対象は、オブジェクト１、オブジェクト２、オブジェクト５であり、これらをウィンドウとしてフラットニング処理を行う。そして、フラットニング処理されたオブジェクト１、オブジェクト２、オブジェクト５と、これらの間の未対象のオブジェクト３、オブジェクト４の５個のオブジェクトを描画処理する。これとともに、オブジェクト１〜オブジェクト５の処理個数（処理時間）を用いて次の処理個数を不等式（１）を用いて決定する。その結果、４個に決定されたものとすると、オブジェクト６、オブジェクト７、オブジェクト８、オブジェクト１０をウィンドウとしてフラットニング処理を行う。また、描画処理は、これらのオブジェクトにオブジェクト９を加え、オブジェクト６〜１０で実行する。本実施形態では、描画時間が相対的に長いオブジェクト同士でフラットニング処理が実行される点に留意されたい。
【００６９】
本実施形態においても、本願出願人は、
（ｉ）オブジェクト５００個、ページ内で３０％の重なりがある場合
（ｉｉ）オブジェクト１０００個、ページ内で５０％の重なりがある場合
（ｉｉｉ）オブジェクト５００個、ページ内で７０％の重なりがある場合
のそれぞれにおいて、従来方式（図２に示す方式）のトータル処理時間と本実施形態の方式のトータル処理時間を比較したところ、以下の結果が得られることを確認している。
（ｉ）の場合
従来方式：１．４秒
実施形態方式：０．１６秒（従来比１／９）
（ｉｉ）の場合
従来方式：５．２秒
実施形態方式：０．２３秒（従来比１／２２）
（ｉｉｉ）の場合
従来方式：１２６秒
実施形態方式：０．８６秒  （従来比１／１７６）
これらの結果より、本実施形態では従来方式に比べて約１０倍〜１００倍程度の速度が得られ、本実施形態による処理時間短縮化あるいは処理速度高速化の効果は明らかである。
【００７０】
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されず、種々の変形が可能である。
【００７１】
例えば、第２実施形態では、ウィンドウＮ＋１のオブジェクト個数をウィンドウＮの描画時間に応じて可変調整しているが、可変調整した結果、オブジェクト個数が１個となる場合もあり得る。従って、第１実施形態ではオブジェクト個数は２以上の整数であるが、第２実施形態ではオブジェクト個数は１以上の整数であり、２以上に制限されない。
【００７２】
また、第３実施形態では、第２実施形態と同様にオブジェクト個数を可変調整しているが、より簡易的にオブジェクト個数を固定(１以上の整数に固定)とした上で、オブジェクトをフラットニング対象／未対象（比対象）に分類し、閾値Ｓｔｈ以上のオブジェクトを対象としてフラットニング処理を行ってもよい。すなわち、第３実施形態は、必ずしも第１実施形態あるいは第２実施形態の構成を前提とする必要はない。この場合においても、フラットニング未対象とされたオブジェクトはフラットニング処理から除外されるので、全通りのフラットニング処理を行う場合に比べて処理時間が短縮化される。勿論、フラットニング処理を確実に隠蔽するためには、不等式（１）を満たすようにオブジェクト個数を決定するのが望ましい。
【００７３】
さらに、各実施形態における画像処理装置は、例えば汎用コンピュータに各機能モジュールの処理を記述したプログラムを実行させることで実現され得る。コンピュータは、ハードウェアとして、ＣＰＵ等のマイクロプロセッサ、ＲＯＭ、ＲＡＭ等のメモリ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワーク等のネットワーク接続のための制御を行うネットワークインタフェース等を備える。  
【符号の説明】
【００７４】
２０  入出力制御部、２２  オブジェクト解析部、２３  重なり省略対象判定部、２４  処理個数決定部、２６  重なり判定部、２８  重なり処理部、２９  次回分析個数決定部、３０  処理ウィンドウ制御部、３２  ラスタライザ描画部、３４  出力制御部、３６  再構成制御部。
【図１】
0006331752.tif 000002
【図２】
0006331752.tif 000003
【図３】
0006331752.tif 000004
【図４】
0006331752.tif 000005
【図５】
0006331752.tif 000006
【図６】
0006331752.tif 000007
【図７】
0006331752.tif 000008
【図８】
0006331752.tif 000009
【図９】
0006331752.tif 000010
【図１０】
0006331752.tif 000011
【図１１】
0006331752.tif 000012
【図１２】
0006331752.tif 000013
【図１３】
0006331752.tif 000014
【図１４】
0006331752.tif 000015
【図１５】
0006331752.tif 000016
【図１６】
0006331752.tif 000017