特許第6331752号(P6331752)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許6331752-画像処理装置 図000002
  • 特許6331752-画像処理装置 図000003
  • 特許6331752-画像処理装置 図000004
  • 特許6331752-画像処理装置 図000005
  • 特許6331752-画像処理装置 図000006
  • 特許6331752-画像処理装置 図000007
  • 特許6331752-画像処理装置 図000008
  • 特許6331752-画像処理装置 図000009
  • 特許6331752-画像処理装置 図000010
  • 特許6331752-画像処理装置 図000011
  • 特許6331752-画像処理装置 図000012
  • 特許6331752-画像処理装置 図000013
  • 特許6331752-画像処理装置 図000014
  • 特許6331752-画像処理装置 図000015
  • 特許6331752-画像処理装置 図000016
  • 特許6331752-画像処理装置 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6331752
(24)【登録日】2018年5月11日
(45)【発行日】2018年5月30日
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20180521BHJP
   B41J 5/30 20060101ALI20180521BHJP
【FI】
   G06F3/12 314
   G06F3/12 344
   G06F3/12 345
   G06F3/12 377
   B41J5/30 Z
【請求項の数】1
【全頁数】15
(21)【出願番号】特願2014-128548(P2014-128548)
(22)【出願日】2014年6月23日
(65)【公開番号】特開2016-9268(P2016-9268A)
(43)【公開日】2016年1月18日
【審査請求日】2017年5月22日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】久木宮 領
(72)【発明者】
【氏名】山田 和雄
【審査官】 境 周一
(56)【参考文献】
【文献】 特開2010−120196(JP,A)
【文献】 米国特許出願公開第2010/0123726(US,A1)
【文献】 特開2004−054763(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09−3/12
B41J 5/00−5/52;21/00−21/18;29/00−29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
画像データの処理単位であるオブジェクトに対し、オブジェクト個数A(Aは2以上の整数)をグループとしてフラットニング処理を行うフラットニング処理手段と、
フラットニング処理されたオブジェクトからラスター画像を生成するラスタライザ処理手段と、
を備え、グループ番号をN(Nは1以上の整数)として、前記ラスタライザ処理手段におけるグループNを構成するオブジェクトの処理と、前記フラットニング処理手段におけるグループN+1を構成するオブジェクトの処理を並行して実行し、かつ、前記グループNを構成するオブジェクトの前記ラスタライザ処理手段における処理に先立ち、その処理予想時間に応じて、前記フラットニング処理手段におけるグループN+1を構成するオブジェクトの処理時間が前記ラスタライザ処理手段におけるグループNを構成するオブジェクトの処理時間以下となるように、前記グループN+1を構成するオブジェクト個数Aを可変設定する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置に関する。
【背景技術】
【0002】
特許文献1には、中間データ(オブジェクト)の重なり領域を予め調べて、効率のよいオブジェクト描画処理を行う描画処理装置が記載されている。中間データ分配手段が中間データと未展開処理の中間データとの間で重なる領域があるかどうかを判定し、重なる領域のない中間データから優先順位に基づいて展開処理手段に分配する。
【0003】
特許文献2には、オブジェクトの重なり判定処理前にバウンディングボックスの大小に応じてフラットニングする/しないを分類して判定対象を間引くことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−333852号公報
【特許文献2】特開2010−157040号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
オブジェクトの重なりの有無を判定し、重なりがある場合に重なり面積を省略して描画を実施するフラットニング処理は描画処理を効率化するのに有効であるが、オブジェクトの重なりの有無を判定するのに時間を要する問題がある。すなわち、N個のオブジェクトが存在する場合、全通りで重なりの有無を分析するのでその分析回数は、=N(N−1)/2となり、1回当たりの重なり判定時間をαとすると、トータルでα・N(N−1)/2の時間を要し、重なり判定時間がオーバヘッドとなり得る。
【0006】
オブジェクトの重なり判定処理前にバウンディングボックスの大小に応じてフラットニングの有無を分類する場合、全通り方式に比べて分析回数は減るものの、重なり判定時間は同様にオーバヘッドとして残り得る。
【0007】
本発明の目的は、オブジェクトに重なりがある場合に重なり面積を省略して描画するフラットニング処理を実施して描画速度を高速化しつつ、重なり判定時間のオーバヘッドを抑制できる装置を提供することにある。
【課題を解決するための手段】
【0008】
請求項1記載の発明は、画像データの処理単位であるオブジェクトに対し、オブジェクト個数A(Aは2以上の整数)をグループとしてフラットニング処理を行うフラットニング処理手段と、フラットニング処理されたオブジェクトからラスター画像を生成するラスタライザ処理手段とを備え、グループ番号をN(Nは1以上の整数)として、前記ラスタライザ処理手段におけるグループNを構成するオブジェクトの処理と、前記フラットニング処理手段におけるグループN+1を構成するオブジェクトの処理を並行して実行し、かつ、前記グループNを構成するオブジェクトの前記ラスタライザ処理手段における処理に先立ち、その処理予想時間に応じて、前記フラットニング処理手段におけるグループN+1を構成するオブジェクトの処理時間が前記ラスタライザ処理手段におけるグループNを構成するオブジェクトの処理時間以下となるように、前記グループN+1を構成するオブジェクト個数Aを可変設定する、画像処理装置である。
【発明の効果】
【0011】
請求項1記載の発明によれば、オブジェクトに重なりがある場合に重なり面積を省略して描画するフラットニング処理を実施して描画速度を高速化しつつ、重なり判定時間のオーバヘッドを抑制できる。
【図面の簡単な説明】
【0012】
図1】フラットニング処理の模式図である。
図2】従来方式の分析・描画処理説明図である。
図3】実施形態の分析・描画処理説明図である。
図4】第1実施形態の構成ブロック図である。
図5】第1実施形態の処理フローチャートである。
図6】フラットニング処理とラスタライザの処理時間を示すグラフ図である。
図7】フラットニング処理とラスタライザの関係を示す模式図である。
図8】フラットニング処理とラスタライザの関係を示す模式図である。
図9】フラットニング処理とラスタライザの関係を示す模式図である。
図10】第2実施形態の構成ブロック図である。
図11】第2実施形態の構成ブロック図である。
図12】オブジェクトと描画時間の関係を示すグラフ図である。
図13】オブジェクトと描画時間の関係を示すグラフ図である。
図14】第3実施形態の概念構成図である。
図15】第3実施形態の構成ブロック図である。
図16】第3実施形態の処理フローチャートである。
【発明を実施するための形態】
【0013】
以下、図面に基づき本発明の実施形態について説明する。
【0014】
<第1実施形態>
まず、実施形態の説明に先立ち、フラットニング処理について説明する。ページ記述言語PDLで記述された印刷データは、高速展開処理を可能とすべく中間データに変換されるが、中間データの最小単位であるオブジェクト同士の重なりがある場合、新しく描かれるオブジェクトが既に描画されたオブジェクトを上書きすることになるため、当該重なりの部分は重複して描かれることになり処理として無駄になる。そこで、オブジェクト同士の重なりがある場合に、当該重なりの部分の描画を省略することで、描画速度の高速化が可能となる。これをフラットニング処理と称する。
【0015】
図1は、フラットニング処理の模式図である。矩形で表現されるオブジェクト10とオブジェクト12の間に重なりがある場合、時系列で先に描かれるべくオブジェクト10から重なり部を省略(あるいは除去)して描画パターンを作成し、オブジェクト10とオブジェクト12を描画する。重なり部はオブジェクト12として描画されるだけであるため、重複して描画する場合に比べて描画速度が高速化する。
【0016】
但し、印刷すべき全てのオブジェクト間で重なりが存在するか否かを判定するために、オブジェクトの総数をNとした場合に、全通りの組み合わせの数として
=N(N−1)/2
の分析が必要となる。
【0017】
図2は、オブジェクトの総数Nに対し、オブジェクト間で重なりがあるか否かを判定する場合の模式図である。図2(a)に示すように、処理単位のオブジェクトがオブジェクト1〜オブジェクトNから構成されるものとすると、これらN個のオブジェクトを分析するために=N(N−1)/2回の分析を要し、その後にN個のオブジェクトの描画を行う。従って、図2(b)に示すように、トータルの処理時間はフラットニング処理に要する時間と描画に要する時間の合計となり、フラットニング処理に要する時間、すなわち分析時間がそのまま剥き出しとなってオーバヘッドとなる。この分析時間は、オブジェクトの数Nが増大するほど増大する。
【0018】
そこで、本実施形態では、全通りではなく、一定オブジェクト個数ずつグループ化し、当該グループ内でフラットニング処理することで分析回数を低減する。
【0019】
図3は、本実施形態におけるフラットニング処理及び描画処理の模式図である。複数のオブジェクト毎にまとめてグループ化し、これらのグループを処理単位としてフラットニング処理を行う。例えば、図3(a)に示すように、3個のオブジェクトをまとめてグループ化する。
オブジェクト1、オブジェクト2、オブジェクト3→グループ1
オブジェクト4、オブジェクト5、オブジェクト6→グループ2
オブジェクト7、オブジェクト8、オブジェクト9→グループ3
・・・
の如くである。そして、グループの中において重なりがあるか否かを判定し、あるグループのフラットニング処理が完了してその描画処理を実行している間に、並行して次のグループのフラットニング処理を行う。
【0020】
図3(b)は、並行して実行されるグループ毎のフラットニング処理と描画処理の模式図である。図において、番号は3個のオブジェクトからなるグループの番号を示す。グループ1の重なり分析を含むフラットニング処理を行い、グループ1の描画処理を行うとともに、この描画処理と同時並行して次のグループ2のフラットニング処理を行う。グループ2のフラットニング処理が終了し、グループ2の描画処理を行うとともに、この描画処理と並行して次のグループ3のフラットニング処理を行う。以下、同様にして、グループN−1のフラットニング処理を行い、グループN−1の描画処理を行うとともに、これと並行して次のグループNのフラットニング処理を行う。グループNのフラットニング処理を一定の個数のオブジェクトに限定することでフラットニング処理に要する時間を抑制し、かつ、グループNのフラットニング処理をグループN−1の描画処理と並行して行うことで、グループNのフラットニング処理をグループN−1の描画処理で隠蔽し得、フラットニング処理を隠蔽することでオーバヘッドを抑制し得る。
【0021】
なお、本実施形態において、一定個数、例えば3個のオブジェクトからなるグループは、フラットニング処理及び描画処理の処理単位を規定するオブジェクトウィンドウと言うことができる。
【0022】
図4は、本実施形態における画像処理装置の構成ブロック図である。画像処理装置は、入力制御部20と、オブジェクト解析部22と、処理個数決定部24と、重なり判定部26と、重なり処理部28と、処理ウィンドウ制御部30と、ラスタライザ描画部32と、出力制御部34と、再構成制御部36を備える。
【0023】
入力制御部20は、外部から供給された中間データ(オブジェクト)を入力してオブジェクト解析部22に出力する。オブジェクトは、矩形等の単純な図形の集合で表現される。矩形の場合、矩形の角の座標でそのオブジェクトの配置を管理する。例えば、オブジェクトが1つの走査線上に占める区間を表す区間データとして管理し、個々の区間データには、その区間の開始点と終了点の座標、その区間に配置されるオブジェクト種類(文字、グラフィック、連続調イメージ等)を示す情報、区間データ上の画素値属性等が含まれる。
【0024】
オブジェクト解析部22は、オブジェクトの区間データを解析して処理個数決定部24に出力する。オブジェクト解析部22は、必要に応じてオブジェクトの区間データから当該オブジェクトを描画するのに要する時間を算出する。
【0025】
処理個数決定部24は、フラットニング処理を行うべきオブジェクトの個数を決定する。この個数は、予め設定された個数であって2以上の整数である。処理個数決定部24は、例えば、オブジェクトの個数を3個に設定する。オブジェクトの個数は、予め画像処理装置のメモリに記憶されていてもよく、画像処理装置の操作者がキーボード等の入力装置から入力してもよい。
【0026】
重なり判定部26は、3個のオブジェクト間において重なりがあるか否かを区間データに基づき判定する。具体的には、オブジェクト間の矩形座標が互いに重なり合っているか否かを判定する。3個のオブジェクトをオブジェクト1、オブジェクト2、オブジェクト3とすると、重なり判定部26は、オブジェクト1とオブジェクト2の重なり、オブジェクト2とオブジェクト3の重なり、オブジェクト1とオブジェクト3の重なりを判定する。重なり判定部26は、判定結果を重なり処理部28に出力する。
【0027】
重なり処理部28は、オブジェクト同士が重なる場合に、当該重なる部分のマスクを生成してラスタライザ描画部32に出力する。例えば、オブジェクト1とオブジェクト2で重なる場合、オブジェクト1の当該重なる部分にマスクを生成する。オブジェクト同士が重ならない場合、マスクを生成しない。また、重なり処理部28は、処理結果を処理ウィンドウ制御部30に出力する。
【0028】
処理ウィンドウ制御部30は、重なり処理部28での処理結果に応じて、処理ウィンドウを制御する。具体的には、3個のオブジェクトからなるグループ1の重なり処理が終了すると、次のグループ2を構成する3個のオブジェクトを指定して重なり判定部26に出力する。グループ2を構成する3個のオブジェクトは、オブジェクト4、オブジェクト5、オブジェクト6であり、重なり判定部26は、これらのオブジェクト間の重なりを判定する。以下、同様に、処理ウィンドウ制御部30は、順次、グループ3,4、・・・グループNを構成する3個のオブジェクトを指定する。
【0029】
ラスタライザ描画部32は、フラットニング処理されたオブジェクトからラスター画像を生成して出力制御部34に出力する。ラスタライザ描画部32は、重なりがない場合には従来と同様にオブジェクトからそのままラスター画像を生成するが、重なりがありマスクが生成されている場合には、当該マスク部分においてラスター画像の生成を省略する(図1参照)。出力制御部34は、ラスター画像を図示しないプリントエンジンに出力して印刷を行う。
【0030】
重なり判定部26及び重なり処理部28でフラットニング処理が実行され、ラスタライザ描画部32で描画処理が実行されるが、この際、ラスタライザ描画部32でグループN−1の描画処理が実行され、これと並行してグループNのフラットニング処理が実行される。グループNのフラットニング処理が終了すると、続いてラスタライザ描画部32でグループNの描画処理が実行されるが、これと並行してグループN+1のフラットニング処理が実行される。
【0031】
再構成制御部36は、オブジェクトの描画形式が複数形式存在する場合に、描画形式に合わせて使用回路を再構成する。内部の論理回路構成を動的に再構成可能なDRP(Dynamic Reconfigurable Processor)は公知であり、メモリに記憶された複数のコンフィグレーションデータを選択的に有効とし、有効とされたコンフィグレーションデータに従ってDRPを再構成することで、ハードウェアを徒に増大化することなく、複数の描画形式に適応し得る。なお、描画形式が1種類で固定されている場合には、再構成する必要がないので再構成制御部36は不要である。ラスタライザ描画部32において、オブジェクトのラスタライザ処理、カラーマッチング処理、データ圧縮処理を順次行う場合、これら一連のパイプライン処理がDRPで構成される。図4の各部はコンピュータにより構成されるが、DRPは当該コンピュータの補助処理装置として構成される。
【0032】
図5は、本実施形態の処理フローチャートである。なお、処理フローチャートでは、オブジェクトグループをオブジェクトウィンドウとして説明する。
まず、処理個数決定部24におけるウィンドウサイズA(2≦A)を設定する(S101)。このウィンドウサイズAによりフラットニング処理に要する時間も変動するが、詳細についてはさらに後述する。
【0033】
ウィンドウサイズAを設定した後、N番目のウィンドウの重なり処理(フラットニング処理)とN−1番目のウィンドウのラスタライザ処理(描画処理)を並行して実行する(S102a、S102b)。すなわち、1番目のウィンドウの描画処理と2番目のウィンドウのフラットニング処理を並行して実行し、2番目のウィンドウの描画処理と3番目のウィンドウのフラットニング処理を並行して実行する等である。なお、1番目のウィンドウのフラットニング処理を行う際には、描画処理すべきデータが未だ存在していないので描画処理が並行して行われることはない。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する(S103)。全てのオブジェクトについて完了したか否かは、処理ウィンドウ制御部30で判定する。
【0034】
このように、本実施形態では、フラットニング処理を行うオブジェクトをA個に固定し、かつ、フラットニング処理と描画処理を並行して実行することでフラットニング処理を描画処理に隠蔽することで、フラットニング処理のオーバヘッドをなくし、描画までのトータル処理時間を抑制できる。
【0035】
<第2実施形態>
第1実施形態では、ウィンドウサイズAを固定してフラットニング処理を実行しているため、重なりがあるか否かの分析時間は一定である。他方、オブジェクト毎にサイズが異なり、描画方法も異なり得るため、描画時間はオブジェクト毎に変化し得る。従って、オブジェクトによっては、フラットニング処理と描画処理を並行して実行しても、描画時間が短いために結果としてフラットニング処理を隠蔽できない場合が生じ得る。
【0036】
図6は、ウィンドウ番号と処理時間の関係の一例を示す図である。ウィンドウサイズA=16とした場合であり、ウィンドウ番号1はオブジェクト1、オブジェクト2、オブジェクト3、・・・、オブジェクト16からなり、ウィンドウ番号2はオブジェクト17、オブジェクト18、・・・、オブジェクト32からなる。
【0037】
図6において、符号aは各ウィンドウのフラットニング処理時間を示し、符号bは各ウィンドウの描画処理時間を示す。ウィンドウサイズが一定であるためウィンドウ番号によらずフラットニング処理時間は一定であるが、これに対して描画処理時間はウィンドウ番号により変動し、特にウィンドウ番号3〜6、14〜17では処理時間が相対的に長く、ウィンドウ番号7〜13では処理時間が相対的に短い。フラットニング処理と描画処理を並行して実行する場合、フラットニング処理時間≦描画処理時間であれば、フラットニング処理を描画処理で隠蔽することが可能であるが、フラットニング処理時間>描画時間であればフラットニング処理を隠蔽することができなくなる。
【0038】
図7は、フラットニング処理と描画処理を並行して実行する場合の模式図である。ウィンドウ番号6とウィンドウ番号7に着目すると、ウィンドウ番号6の描画処理とウィンドウ番号7のフラットニング処理は並行して実行され、フラットニング処理時間≦描画処理時間であるためフラットニング処理を隠蔽することができる。
【0039】
他方、ウィンドウ番号7とウィンドウ番号8に着目すると、ウィンドウ番号7の描画処理とウィンドウ番号8のフラットニング処理は並行して実行され、フラットニング処理時間>描画処理時間であるためフラットニング処理を隠蔽できない。
【0040】
また、ウィンドウ番号8とウィンドウ番号9に着目すると、ウィンドウ番号8の描画処理とウィンドウ番号9のフラットニング処理は並行して実行され、フラットニング処理時間>描画処理時間であるため同様にフラットニング処理を隠蔽できない。
【0041】
このように、オブジェクト毎に描画時間が変化し得ることに起因して、ウィンドウ毎に描画時間が変化し、フラットニング処理時間>描画処理時間となるとフラットニング処理を隠蔽できないことに鑑み、本実施形態では、ウィンドウサイズAを固定ではなく可変(すなわち、オブジェクト個数可変)とすることでフラットニング処理時間を適応的に変化させる。
【0042】
図8は、本実施形態によるオブジェクト個数可変方式によるフラットニング処理と描画処理の模式図である。いま、図8(a)のように、
(ウィンドウNのフラットニング処理時間)<(ウィンドウN−1の描画時間)
(ウィンドウN+1のフラットニング処理時間)>(ウィンドウNの描画時間)
(ウィンドウN+2のフラットニング処理時間)>(ウィンドウN+1の描画時間)
であるとする。このとき、図8(b)のように、ウィンドウNのフラットニング処理についてはウィンドウN−1の描画時間にほぼ等しくなるようにウィンドウサイズAを大きくし、ウィンドウN+1のフラットニング処理についてはウィンドウNの描画時間にほぼ等しくなるようにウィンドウサイズAを小さくし、ウィンドウN+2のフラットニング処理についてはウィンドウN+1の描画時間にほぼ等しくなるようにウィンドウサイズAを小さくする。このように、フラットニング処理を行うウィンドウサイズA、すなわちオブジェクト個数を増減調整することで、フラットニング処理時間を増減調整して描画時間に合わせ、フラットニング処理を隠蔽する。ウィンドウNのフラットニング処理時にウィンドウNを構成する複数のオブジェクトのサイズや属性を解析するから、ウィンドウNのフラットニング処理時に同時にウィンドウNの描画予想時間を算出することができ、このウィンドウNの描画予想時間に合わせてウィンドウN+1のウィンドウサイズAを可変設定する。すなわち、ウィンドウNのフラットニング処理時に次のウィンドウN+1のウィンドウサイズAを設定する。
【0043】
図9は、ウィンドウN+1のウィンドウサイズAを設定する模式図である。図9(a)に示すように、ウィンドウNのフラットニング処理を実行する際に、ウィンドウNの描画予想時間Tが算出される(この時点では、ウィンドウNの描画は行われていない)。そこで、ウィンドウN+1のウィンドウサイズAを、ウィンドウNの描画予想時間T以内となるように設定する。ウィンドウN+1のウィンドウサイズAを可変調整後のフラットニング処理時間をtN+1とすると、T≧tN+1であり、ウィンドウN+1のフラットニング処理が隠蔽される。
【0044】
具体的には、ウィンドウN+1のウィンドウサイズをA、つまりオブジェクト個数をAとし、フラットニング処理1回当たりに要する時間をαとすると、
N+1=α・=α・A(A−1)/2
であるから、
≧tN+1
を満たすためには、
A≦{1+(1+8T/α)1/2}/2 ・・・(1)
となるようにウィンドウサイズA,つまりオブジェクト個数Aを設定すればよい。一例として、不等式(1)を満たす最大数をウィンドウサイズAに設定する。
【0045】
図10は、本実施形態における画像処理装置の構成ブロック図である。図4と異なるのは、次回分析個数決定部29が新たに追加される点である。
【0046】
次回分析個数決定部29は、ウィンドウNのフラットニング処理時に、ウィンドウNの描画予想時間Tを用いて、上記の不等式(1)を満たすようにウィンドウサイズA、つまりオブジェクト個数Aを決定して処理個数決定部24に出力する。描画予想時間Tは、オブジェクト解析部22で算出する。
【0047】
図11は、本実施形態の処理フローチャートである。まず、処理個数決定部24におけるウィンドウサイズA(2≦A)を初期値A1に設定する(S201)。初期値A1は任意でよく、例えば3あるいは16等に設定する。
【0048】
ウィンドウサイズAを初期値A1に設定した後、N番目のウィンドウのオブジェクトA個の重なり処理(フラットニング処理)とN−1番目のウィンドウのオブジェクトAN−1個のラスタライザ処理(描画処理)を並行して実行する(S202a、S202b)。
【0049】
次に、N番目のウィンドウのラスタライザ処理個数Aを算出し(S203)、この処理個数Aを用いてN+1番目のウィンドウのフラットニング処理個数AN+1を決定する(S204)。フラットニング処理個数はフラットニング処理時間と実質的に同じであるから、S203はラスタライザ処理時間を算出するといえる。S204では、不等式(1)を満たすようにAN+1が決定される。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する(S205)。従って、1番目のウィンドウについては、初期値のA1でフラットニング処理されるとともに描画処理されるが、2番目のウィンドウについては、1番目のウィンドウのフラットニング処理個数(処理時間)に応じて処理個数が決定され(初期値A1と同一の場合もあれば、これと異なる場合もある)、決定された個数でフラットニング処理及び描画処理が実行される。同様に、3番目のウィンドウについても、2番目のウィンドウのフラットニング処理個数(フラットニング処理時間)に応じて処理個数が決定される。
【0050】
このように、本実施形態では、フラットニング処理を行うオブジェクト個数を描画時間に合わせて可変調整することで、フラットニング処理を確実に隠蔽できる。勿論、予めオブジェクトの属性がほぼ均一であって、フラットニング処理時間≦描画時間となることが明らかであれば、第1実施形態で示したようにオブジェクト個数を初期値A1のまま固定してもよい。
【0051】
なお、不等式(1)から明らかなように、Tが増大するほどAも増大し、Tが減少するほどAも減少するから、両者の間に正の相関があるといえる。
【0052】
本願出願人は、
(i)オブジェクト500個、ページ内で30%の重なりがある場合
(ii)オブジェクト1000個、ページ内で50%の重なりがある場合
(iii)オブジェクト500個、ページ内で70%の重なりがある場合
のそれぞれにおいて、従来方式(図2に示す方式)のトータル処理時間と本実施形態の方式のトータル処理時間を比較したところ、以下の結果が得られることを確認している。
(i)の場合
従来方式:1.4秒
実施形態方式:0.18秒
(ii)の場合
従来方式:5.2秒
実施形態方式:0.35秒
(iii)の場合
従来方式:126秒
実施形態方式:1.7秒
【0053】
これらの結果より、本実施形態による処理時間短縮化あるいは処理速度高速化の効果は明らかである。
【0054】
<第3実施形態>
第2実施形態では、ウィンドウサイズ、つまりオブジェクト個数を可変調整することでフラットニング処理を確実に隠蔽することが可能であるが、さらに、フラットニング処理を効率化することも可能である。
【0055】
図12は、オブジェクト毎の描画時間の一例を示す図である。オブジェクト毎にサイズや描画方式が異なり得るため、その描画時間も異なる。例えば、オブジェクト1〜オブジェクト100は描画時間が相対的に長く、オブジェクト110〜オブジェクト230は描画時間が相対的に短い。図には、第2実施形態におけるオブジェクト個数可変調整の一例も合わせて示す。最初は2個、次は12個、その次は29個、その次は46個、その次は111個と変化(増大)していくが、オブジェクトm、オブジェクトm+1、オブジェクトm+2、・・・のように連続する複数個のオブジェクトの間のみでフラットニング処理を行うため、全通りの重なりを考慮する場合に比べてフラットニング処理の効果が出難い。フラットニング処理の効果を極大化するためには、図13に示すように、描画時間が相対的に長い領域Aと領域Cの間でフラットニング処理を行うのが効率的であり、元々描画時間が相対的に短い領域Bや領域Dについてフラットニング処理を行ってもその効果は限定的とならざるを得ない。
【0056】
以上の事実に鑑み、本実施形態では、描画時間が相対的に長い領域についてフラットニング処理を行い、描画時間が相対的に短い領域についてはフラットニング処理を行わないことで、トータル処理時間をさらに短縮する。描画時間が相対的に長い領域は、オブジェクトのサイズや描画方式からオブジェクトの描画時間を算出し、これを閾値と大小比較することで抽出し得る。図13に即して説明すると、領域A及び領域Cを抽出し、領域Aを構成するオブジェクトと領域Cを構成するオブジェクトでフラットニング処理を実行する。
【0057】
この方式によれば、連続していないオブジェクトであってもフラットニング処理を行い得る。
【0058】
図14は、本実施形態の概念構成図である。本実施形態の画像処理装置は、閾値Sth判定部40と、フラットニング処理部42と、ラスタライザ描画部44,46を備える。
【0059】
閾値Sth判定部は、中間データ(中間言語)としてのオブジェクトを入力し、当該オブジェクトのサイズや描画方式から算出される描画予想時間を予め定められた閾値Sthと大小比較する。閾値Sth以上のオブジェクトに対しては、フラットニング処理対象としてフラットニング処理部42でフラットニング処理を実行した後にラスタライザ描画部44で描画処理を実行する。他方、閾値Sth未満のオブジェクトに対しては、フラットニング処理未対象(非対象)としてフラットニング処理を行うことなくラスタライザ描画部46で描画処理を実行して出力する。
【0060】
図15は、本実施形態における画像処理装置の構成ブロック図である。図10と異なるのは、重なり省略対象判定部23が新たに追加された点である。
【0061】
重なり省略対象判定部23は、図14における閾値Sth判定部40に相当し、オブジェクト解析部22でオブジェクトを解析して得られる描画予想時間を閾値Sthと比較し、その結果を用いて重なり省略対象オブジェクトに対しフラグを設定する。勿論、重なり省略対象でないオブジェクトに対しフラグを設定してもよく、要するに、閾値Sthと大小比較して各オブジェクトをフラットニング処理の対象/非対象に分類する。描画予想時間が閾値Sth以上でフラットニング処理の対象に分類されたオブジェクトは、第2実施形態と同様に重なり判定部26等でフラットニング処理され、ラスタライザ描画部32で描画処理される。他方、描画予想時間が閾値Sth未満でフラットニング処理の対象に分類されなかったオブジェクトは、重なり判定部26等でフラットニング処理されることなく、ラスタライザ描画部32で描画処理される。
例えば、オブジェクト1〜オブジェクト6に対し、
オブジェクト1:対象
オブジェクト2:対象
オブジェクト3:未対象
オブジェクト4:未対象
オブジェクト5:対象
オブジェクト6:対象
と分類された場合、オブジェクト1、オブジェクト2、オブジェクト5、オブジェクト6でウィンドウが構成され、フラットニング処理が実行される。オブジェクト1、オブジェクト2と、オブジェクト5、オブジェクト6は連続していないが重なり分析の対象となり、互いに重なりがあればフラットニング処理される。
【0062】
図16は、本実施形態の処理フローチャートである。図11と異なるのは、全オブジェクトをフラットニング対象/未対象(非対象)に分類する処理を行う点である(S301)。具体的には、各オブジェクトの描画予想時間を閾値Sthと大小比較し、閾値Sth以上をフラットニング対象、閾値Sth未満をフラットニング未対象(非対象)に分類する。
【0063】
なお、「描画予想時間」とあるのは、言うまでもなくその時点では実際に描画されていないことを考慮したものである。
【0064】
以後は、図11の処理と基本的に同様であり、処理個数決定部24におけるウィンドウサイズA(2≦A)を初期値A1に設定し(S302)、N番目のウィンドウのオブジェクトA個の重なり処理(フラットニング処理)とN−1番目のウィンドウのオブジェクトBN−1個のラスタライザ処理(描画処理)を並行して実行する(S303a、S303b)。
【0065】
次に、N番目のウィンドウのラスタライザ処理個数Bを算出し(S304)、この処理個数Bを用いてN+1番目のウィンドウのフラットニング処理個数AN+1を決定する(S305)。S305では、不等式(1)を満たすようにAN+1が決定される。以上の処理を全てのオブジェクトについて完了するまで繰り返し実行する(S306)。
【0066】
但し、本実施形態では、ラスタライザ処理個数Bは条件により変化する。すなわち、フラットニング処理個数が連続している場合には、フラットニング処理個数をM個としてB=Mとなる。他方、フラットニング処理個数が飛び飛びの場合(フラットニング対象と未対象(非対象)が混在する場合)、M個カウントされるまでの未対象(非対象)個数の総和をβとして、B=M+βである。
【0067】
具体的に説明すると、以下の通りである。
すなわち、オブジェクト1〜オブジェクト10があり、ウィンドウサイズの初期値A1をA1=3とする。各オブジェクトの描画時間を閾値Sthと大小比較し、
オブジェクト1:対象
オブジェクト2:対象
オブジェクト3:未対象
オブジェクト4:未対象
オブジェクト5:対象
オブジェクト6:対象
オブジェクト7:対象
オブジェクト8:対象
オブジェクト9:未対象
オブジェクト10:対象
に分類されたものとする。
【0068】
フラットニング処理対象は、オブジェクト1、オブジェクト2、オブジェクト5であり、これらをウィンドウとしてフラットニング処理を行う。そして、フラットニング処理されたオブジェクト1、オブジェクト2、オブジェクト5と、これらの間の未対象のオブジェクト3、オブジェクト4の5個のオブジェクトを描画処理する。これとともに、オブジェクト1〜オブジェクト5の処理個数(処理時間)を用いて次の処理個数を不等式(1)を用いて決定する。その結果、4個に決定されたものとすると、オブジェクト6、オブジェクト7、オブジェクト8、オブジェクト10をウィンドウとしてフラットニング処理を行う。また、描画処理は、これらのオブジェクトにオブジェクト9を加え、オブジェクト6〜10で実行する。本実施形態では、描画時間が相対的に長いオブジェクト同士でフラットニング処理が実行される点に留意されたい。
【0069】
本実施形態においても、本願出願人は、
(i)オブジェクト500個、ページ内で30%の重なりがある場合
(ii)オブジェクト1000個、ページ内で50%の重なりがある場合
(iii)オブジェクト500個、ページ内で70%の重なりがある場合
のそれぞれにおいて、従来方式(図2に示す方式)のトータル処理時間と本実施形態の方式のトータル処理時間を比較したところ、以下の結果が得られることを確認している。
(i)の場合
従来方式:1.4秒
実施形態方式:0.16秒(従来比1/9)
(ii)の場合
従来方式:5.2秒
実施形態方式:0.23秒(従来比1/22)
(iii)の場合
従来方式:126秒
実施形態方式:0.86秒 (従来比1/176)
これらの結果より、本実施形態では従来方式に比べて約10倍〜100倍程度の速度が得られ、本実施形態による処理時間短縮化あるいは処理速度高速化の効果は明らかである。
【0070】
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されず、種々の変形が可能である。
【0071】
例えば、第2実施形態では、ウィンドウN+1のオブジェクト個数をウィンドウNの描画時間に応じて可変調整しているが、可変調整した結果、オブジェクト個数が1個となる場合もあり得る。従って、第1実施形態ではオブジェクト個数は2以上の整数であるが、第2実施形態ではオブジェクト個数は1以上の整数であり、2以上に制限されない。
【0072】
また、第3実施形態では、第2実施形態と同様にオブジェクト個数を可変調整しているが、より簡易的にオブジェクト個数を固定(1以上の整数に固定)とした上で、オブジェクトをフラットニング対象/未対象(比対象)に分類し、閾値Sth以上のオブジェクトを対象としてフラットニング処理を行ってもよい。すなわち、第3実施形態は、必ずしも第1実施形態あるいは第2実施形態の構成を前提とする必要はない。この場合においても、フラットニング未対象とされたオブジェクトはフラットニング処理から除外されるので、全通りのフラットニング処理を行う場合に比べて処理時間が短縮化される。勿論、フラットニング処理を確実に隠蔽するためには、不等式(1)を満たすようにオブジェクト個数を決定するのが望ましい。
【0073】
さらに、各実施形態における画像処理装置は、例えば汎用コンピュータに各機能モジュールの処理を記述したプログラムを実行させることで実現され得る。コンピュータは、ハードウェアとして、CPU等のマイクロプロセッサ、ROM、RAM等のメモリ、各種I/O(入出力)インタフェース、ローカルエリアネットワーク等のネットワーク接続のための制御を行うネットワークインタフェース等を備える。
【符号の説明】
【0074】
20 入出力制御部、22 オブジェクト解析部、23 重なり省略対象判定部、24 処理個数決定部、26 重なり判定部、28 重なり処理部、29 次回分析個数決定部、30 処理ウィンドウ制御部、32 ラスタライザ描画部、34 出力制御部、36 再構成制御部。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16