JP6590606B2 - 画像処理装置、画像処理方法、プログラム - Google Patents

画像処理装置、画像処理方法、プログラム Download PDF

Info

Publication number
JP6590606B2
JP6590606B2 JP2015179098A JP2015179098A JP6590606B2 JP 6590606 B2 JP6590606 B2 JP 6590606B2 JP 2015179098 A JP2015179098 A JP 2015179098A JP 2015179098 A JP2015179098 A JP 2015179098A JP 6590606 B2 JP6590606 B2 JP 6590606B2
Authority
JP
Japan
Prior art keywords
cluster
predetermined shape
objects
image processing
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015179098A
Other languages
English (en)
Other versions
JP2017052218A (ja
Inventor
弘之 中根
弘之 中根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015179098A priority Critical patent/JP6590606B2/ja
Priority to US15/257,744 priority patent/US10127483B2/en
Priority to CN201610813954.3A priority patent/CN107020845B/zh
Publication of JP2017052218A publication Critical patent/JP2017052218A/ja
Application granted granted Critical
Publication of JP6590606B2 publication Critical patent/JP6590606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00026Methods therefor
    • H04N1/00068Calculating or estimating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/002Interacting with the operator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1807Receiving job control commands relating to the print image preparation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1811Receiving print data characterized by its formatting, e.g. particular page description languages including high level document description only
    • G06K15/1813Page description language recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)
  • Human Computer Interaction (AREA)

Description

本発明は、印刷データの印刷処理に要する時間を予測する技術に関する。
PDL(Page Description Language)で記述された印刷データの印刷処理では、印刷データから中間データが生成されて、その中間データに基づいてビットマップ画像が生成される。この印刷処理に要する時間(印刷処理時間と呼ぶ)を予測する技術がある。特許文献1では、印刷データに含まれているオブジェクト(図形、文字、イメージなど)の種類および描画面積に基づいて、印刷処理時間を予測する技術が開示される。
特開2011−31580号公報
特許文献1では、オブジェクト同士の実際の重なりの有無を考慮せずに、印刷処理時間を予測していた。印刷処理においては、オブジェクト同士の重なりがあるか否かによって、印刷処理時間が大きく異なることがある。
そこで本発明では、オブジェクト同士の重なりの有無を考慮した印刷処理時間の予測方法を提案する。
本発明の画像処理装置は、印刷データに含まれる複数のオブジェクトそれぞれについて、オブジェクトの形状に関する情報に基づいて、当該オブジェクトの形状を簡略化した所定形状のオブジェクトを生成する生成手段と、前記生成手段によって生成された前記所定形状のオブジェクトどうしの重なりを判定する判定手段と、前記判定手段で重なっていると判定された前記所定形状のオブジェクトにおける1スキャンラインあたりのスパンの数を求める手段と、前記判定結果と前記求まったスパンの数とに基づいて、前記印刷データの印刷処理にかかる時間を導出する導出手段と、を有することを特徴とする。
本発明によれば、高速に、オブジェクト同士の重なりを考慮した印刷処理時間の予測を行える。
実施例1における装置のハードウェア構成例を示す図である。 実施例1における装置のソフトウェアモジュール構成例を示す図である。 実施例1におけるオブジェクトの一例を示す図である。 実施例1における印刷制御例を示すフローチャートである。 実施例1におけるクラスタ生成処理を示すフローチャートである。 オブジェクトの配置されたページの一例を示す図である。 クラスタリストの構成例を示す図である。 部分矩形を示す図である。 図6に示されるページをクラスタで表した図である。 実施例2におけるクラスタ生成処理を示すフローチャートである。 実施例2におけるクラスタ併合の概念を示す図である。 実施例3におけるクラスタ生成処理を示すフローチャートである。 スパンについて説明する図である。
(実施例1)
オブジェクト同士の重なりが印刷処理時間に与える影響について説明する。
印刷データには様々なオブジェクトが含まれており、それらオブジェクト同士が互いに重なっているか否かによって、印刷処理時間は異なることがある。例えば互いに重なりを持つ2つのオブジェクトがあった場合に、それらの重なり方に基づいて重なり部分の最終的な描画色を決定し、その描画色でその重なり部分を描画する印刷処理方法がある。この印刷処理方法に従った場合、互いに重なりを持たない2つのオブジェクトの印刷処理時間と、互いに重なりを持つ同一の2つのオブジェクトの印刷処理時間は異なる。
ここで、各オブジェクトの形状に基づいてオブジェクト同士の重なりの有無を判定し、その判定結果に基づいてオブジェクトの重なりを考慮した予測パラメータを導出し、その予測パラメータを用いて印刷処理時間を予測する方法が考えられる。
一実施例では、オブジェクト同士の重なりの有無を判定する際に各オブジェクトの細かな形状を考慮して、オブジェクト同士の重なりを正確に判定することが考えられる。しかし、各オブジェクトの細かな形状を考慮することになるので、オブジェクト同士の重なりの有無を判定する処理に多くの時間がかかってしまう。
そこで本実施例では、各オブジェクトの細かな形状を求めることなく、高速に、且つ、効率的にオブジェクト同士の重なりの有無を判定する方法を説明する。
以下、本発明の画像処理装置の一実施例について図面を用いて説明する。
図1は、本発明の画像処理装置の一実施例であるMFP(Multi Function Peripheral)100のハードウェア構成の一例を示すブロック図である。
MFP100は、MFP100全体を統括制御するプロセッサーであるCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、ネットワークIF(インタフェース)104、RIP(Raster Image Processor)105、ディスプレイIF(インタフェース)106、ディスプレイ107、プリンターIF(インタフェース)108、プリンター109を有する。ROM103は、図2のソフトウェア200を記憶しており、このソフトウェア200をCPU101がRAM102を用いて実行する。するとCPU101は、本実施例の各処理(例えば印刷データから中間データを生成する処理)を実行する図2の各部(後述)として機能する。ネットワークIF104は、ネットワークを介して外部装置(パーソナルコンピュータや他のMFP等)と通信して、主に印刷データの受信を行うインタフェースである。RIP105は、後述するように、中間データから、プリンターエンジンに出力されるビットマップ形式の画像データを生成するASICである。
ディスプレイIF106は、情報をディスプレイに表示させるために、その情報を画像データとして、LCDなどのディスプレイ107に送信する表示制御手段である。この情報は例えば本実施例で予測された印刷処理にかかる時間を示す予測値などである。ディスプレイ107は受信された画像データに基づいて情報を画面に表示する。
プリンターIF108は、RIP105によって生成されたビットマップ形式の画像データを、プリンター109が受け取り可能な形式のデータに変換してプリンター109に送信する手段である。プリンター109は受け取ったデータに基づいて画像をシートに印刷する。
尚、以降、印刷データについてはPDL(Page Description Language)データとして説明する。このPDLデータは、MFP100の外部のホストPC(不図示)で生成される。そして、ホストPCはPDLデータを、LAN(Local Area Network)を介してMFP100に送信する。本実施形態ではMFP100が、ホストPCから受信したPDLデータの印刷処理時間の予測処理を行う例について説明する。しかし予測対象のPDLデータは外部装置から受信されたものでなくともよい。つまりPDLデータは、MFP100のRAM102に保存されているものであってもよい。
図2は、ソフトウェア200の構成の一例を示す図である。ソフトウェア200は、4つのソフトウェアモジュールで構成され、これらは全てCPU101上で動作する。
PDL解釈部201は、ネットワークIF104から受信されたPDLデータを、RAM102に格納する。そしてPDL解釈部201は、RAM102に格納されたPDLデータに含まれるオブジェクトの描画コマンドを読み出して解釈する。この描画コマンドに従い、描画対象であるオブジェクトの形状や描画位置(以下単に位置とよぶ)が決定され、オブジェクトの形状および位置を表す中間データが生成される。オブジェクトの中間データは、オブジェクトの輪郭線を示す複数のベクトルデータ(エッジ)と、そのオブジェクトのZオーダーを示すレベルと、そのオブジェクトの色を示すフィルとの3種のデータを含む。例えば図13(a)に示されるようにオブジェクトが頂点A、B、Cからなる三角形であれば、PDL解釈部201は、頂点Bを経由した頂点AからCまでの左側の輪郭線を示すベクトル(エッジ131)と、頂点CからAまでの右側の輪郭線を示すベクトル(エッジ132)とを示す中間データを生成する。生成された中間データから、RIP105は、次に説明する方法でビットマップ形式の画像データを生成する。
RIP105は、画像データを生成すべきスキャンラインを特定する。本実施例のRIP105は、1ページ分のビットマップ形式の画像データを生成するためのフレームバッファを予め内部に確保している。RIP105は、このフレームバッファに、決定された描画色を持つピクセル(画素)を書き込むことで、1ページ分のビットマップ形式の画像データを生成する。ここでは、例えば図13(b)に示されるスキャンライン上の三角形のオブジェクトを描画することを考える。次にRIP105は、三角形のオブジェクトの中間データであるエッジ131とエッジ132とで区切られるスキャンライン上の区間(スパン)を決定する。この図13(b)の例では、このスパンの描画に寄与するオブジェクトは三角形のオブジェクトしか存在しないので、このスパンの描画色を、三角形のオブジェクトの色と決定する。そして、決定された描画色のピクセルを、フレームバッファ中のこのスパンに対応する位置に書き込む。
また例えば図13(c)に示されるように、スキャンライン上に三角形のオブジェクトと矩形のオブジェクトとが存在し、且つ、それらが互いに重なりを持っている場合には、RIP105は次のような処理を行ってスキャンライン上のオブジェクトを描画する。RIP105は、スキャンライン上の3つのスパンを決定する。1つ目のスパンは、三角形のオブジェクトのエッジ131と矩形のオブジェクトのエッジ133とで区切られるスキャンライン上の区間(スパン1)である。2つ目のスパンは、矩形のオブジェクトのエッジ133と矩形のオブジェクトのエッジ134とで区切られるスキャンライン上の区間(スパン2)である。3つ目のスパンは、矩形のオブジェクトのエッジ134と三角形のオブジェクトのエッジ132とで区切られるスキャンライン上の区間(スパン3)である。このように、この図13(c)の例では、2つのオブジェクト同士が重なりを持つため、それらオブジェクトの外形に従って、複数のスパンが決定される。以上のスパンを決定する処理は、オブジェクトの形状、および、オブジェクト同士の重なりを考慮するので、処理演算量が大きい。
RIP105は、1つのスパンに対して1つのオブジェクトしか寄与しないスパン1およびスパン3について、図13(b)の場合と同様に、それぞれのスパンの描画色を各スパンに寄与するオブジェクトの色に決定する。一方で、RIP105は、2つのオブジェクト同士が重なりを持つスパン2については、2つのオブジェクトそれぞれのレベル(オブジェクトのZオーダーに従う重なり方)に基づいて、このスパン2の描画色を決定する。例えば半透明の矩形オブジェクトが三角形オブジェクトの上に重なっている場合には、スパン2の描画色を求めるにあたって、RIP105は、2つのオブジェクト(あるいはその色情報)を参照する。そしてRIP105は、矩形オブジェクトと三角形オブジェクトとの重なり方(上下関係)を特定する。そしてRIP105は、その重なり方に従って、矩形オブジェクトの色と三角形オブジェクトの色との合成色を求め、その合成色をスパン2の描画色として決定する。またあるいは、不透明の矩形オブジェクトが三角形オブジェクトの上に重なっている場合には、同様にして、上位の矩形オブジェクトの色を、スパン2の描画色として決定する。そして最終的に決定された描画色のピクセルを、フレームバッファ中のスパンに対応する位置に書き込む。
以上が、PDL解釈部201が生成した中間データから、RIP105が画像データを生成する処理(レンダリング処理)である。
このレンダリング処理におけるスパンの描画色を決定する処理は、オブジェクト同士の重なりを考慮するので、処理演算量が大きい。すなわち、1スパンの描画色を決定するには、次の種類の時間がかかる。第1に、そのスパンの描画に寄与する1つ以上のオブジェクト(あるいはその色情報)を特定するのにかかる時間である。第2に、その特定された1つ以上のオブジェクトについて、Zオーダー順の並べ替えにかかる時間である。前者をスパン処理にかかる時間と呼び、後者をレベルソートにかかる時間と呼ぶ。本実施例では、これらスパン処理に係る時間とレベルソートに係る時間を考慮して、印刷処理にかかる時間を予測する。
図2のソフトウェア200を構成する各モジュールについての説明に戻る。
クラスタ管理部202は、PDL解釈部201で生成されたオブジェクトの中間データに基づいて、そのオブジェクトの外形を簡略化した所定形状のオブジェクトを生成する。つまりクラスタ管理部202は、オブジェクトの中間データを、そのオブジェクトの位置および形状に基づいて、所定形状を持つ別のオブジェクトのデータに変換する。例えば先ほどの三角形状のオブジェクトであれば、クラスタ管理部202は、三角形の各頂点の座標を包含する外接矩形を、三角形状を簡略化した所定形状として特定し、その所定形状のオブジェクトを生成する。その所定形状のオブジェクト(以下、クラスタと呼ぶ)は、このオブジェクトに関する情報として、3つ種類の情報を含む。この3つの情報を説明するために、図3を用いる。
図3は、5つの形状を持つオブジェクトの中間データを示す。オブジェクト301は、上底と下底が水平な正方形のオブジェクトである。オブジェクト302は、真円形のオブジェクトである。オブジェクト303は、底辺が水平な正三角形のオブジェクトである。オブジェクト304は、正方形の右上頂点、左辺の中点、底辺の中点を頂点とする二等辺三角形のオブジェクトである。オブジェクト305は、正方形の上底を3等分する2つの点のそれぞれから正方形の高さの半分まで垂直方向に凹んだ正方形に相当する凹形のオブジェクトである。各オブジェクトの外形は、エッジによって示されている。
これら5つのオブジェクトのそれぞれは、図3に示される2つのスキャンラインa、b上に次の数のスパンを形成する。なお図3において、スキャンラインa、bは破線の矢印で示され、スパンは太い実線で示されている。オブジェクト301、302、303、304のそれぞれは、スキャンラインa上に1つのスパン、スキャンラインb上に1つのスパンを形成する。一方、オブジェクト305は、スキャンラインa上に2つのスパン、スキャンラインb上に1つのスパンを形成する。このように形状によって、オブジェクトが形成するスパンの数は変わる。
クラスタの3つの種類の情報は次の通りである。なお、各情報の使い方については後述する。
1.バウンディングボックス
1つ目は、オブジェクトの外形を包含する矩形(バウンディングボックス)の情報である。本実施例では、クラスタの位置および範囲を示す情報として、バウンディングボックスの左上点と右下点の座標位置を用いる。この座標位置は、元のオブジェクトの位置(描画位置)および形状(描画範囲)に基づいて決定される。矩形を用いる理由は次の3点である。(1)オブジェクト同士の重なりの有無を判定するべくオブジェクトの形状を詳細に求める代わりに、オブジェクトの形状を、左上点と右下点で表すことが可能な簡易形状で代替して高速に求められる点。(2)オブジェクト同士の重なり部分の領域をオブジェクトの詳細な形状どうしの重なりから特定する代わりに、簡易形状である矩形どうしの重なりから高速に特定できる点。例えば、矩形1と矩形2との重なり判定は次のようにして行われる。矩形2の各頂点の座標を求め、矩形1の領域に矩形2の各頂点の少なくとも何れか1つが含まれるかどうかを判定し、少なくとも何れか1つの頂点が領域に含まれるならば矩形1と矩形2とは重なりを持つと判定する。(3)後述のクラスタの分割が容易に行える。例えば図8のように2つの矩形どうしが重なりを持つ場合、分割後の5つの矩形それぞれを示す左上点および右下点の座標を、分割前の2つの矩形の輪郭形状を求めることなく、分割前の2つの矩形それぞれの左上点および右下点の座標から簡易に求められる。
なお、このオブジェクトの外形を包含する矩形は、所定形状の一例であり、後述の印刷処理時間の予測パラメータの導出を簡易にできる形状であれば、矩形だけに限定されない。
2.ピクセル濃度
2つ目は、対象のバウンディングボックス内に何個のオブジェクトが存在するかを示すためのヒントの情報(以下、ピクセル濃度)である。ピクセル濃度は、オブジェクトのバウンディングボックス内の1ピクセル当たり、オブジェクトが平均何個存在しているかを表わす情報(指標)である。ピクセル濃度は、オブジェクトの形状に基づいて決定されるもので、以下の式に従って算出される。
ピクセル濃度=(オブジェクトの面積)/(バウンディングボックスの面積)
図3の例では、オブジェクト301のクラスタのピクセル濃度は、破線で示すバウンディングボックス内にバウンディングボックスと同じ面積の矩形オブジェクトが占めるので、「1」である。またオブジェクト302については、ピクセル濃度=真円の面積/外接する正方形の面積となるので、ピクセル濃度は、「0.785」である。以下同様に算出すると、オブジェクト303、304、305のピクセル濃度はそれぞれ、「0.5」、「0.475」、「0.833」である。
3.平均スパン数
3つ目は、平均スパン数(以下、SPL:Span Per Line)である。SPLは、オブジェクトのバウンディングボックス内の1スキャンライン当たり、オブジェクトのスパンが平均で何個存在するかを表わす情報(指標)である。SPLは、オブジェクトの形状に基づいて決定されるもので、以下の式に従って算出される。
SPL=(オブジェクトの外形のy変位の絶対値の合計)/2/(バウンディングボックスの高さ)
ここでオブジェクトの外形のy変位を説明するにあたって、図3のオブジェクト301、304、305を例に用いる。オブジェクトの中間データに含まれる複数のエッジはオブジェクトの輪郭線を示すベクトルデータなので、それぞれのエッジから、オブジェクトの輪郭線のy方向(すなわち垂直方向)の変位を求めることができる。例えばオブジェクト301であれば、各エッジ(エッジ1、2)のy方向の変位の絶対値として、バウンディンボックスの高さと等しい値が得られる。各エッジのy方向の変位の絶対値の合計がオブジェクトの外形のy変位の絶対値の合計となるので、オブジェクトの外形のy変位の絶対値の合計は、バウンディングボックスの高さの2倍、SPLは、1.0と算出される。オブジェクト304についても同様に、各エッジ(エッジ1、2)のy方向の変位の絶対値は、バウンディングボックスの高さとなるので、SPLは、1.0と算出される。オブジェクト301、304ともに、SPLが等しいので、それぞれのオブジェクトの形状は違うけれども、両オブジェクトとも、それぞれのバウンディングボックス内において1スキャンライン当たり、同じ数のスパン(1スパン)を形成する。
一方で、オブジェクト305については、少し様子が異なる。オブジェクト305の中間データに含まれるエッジは4つある。エッジ1、2のy方向の変位の絶対値は、バウンディングボックスの高さと等しく、エッジ3、4のy方向の変位の絶対値は、バウンディングボックスの高さの半分と等しい。そのため、オブジェクト305についてのSPLは、1.5と算出される。すなわち、凹形のオブジェクト305は、バウンディングボックス内において平均で1スキャンライン当たり、1.5個のスパンを形成すると言える。
クラスタ管理部202は、オブジェクト301について、バウンディングボックスの高さを1とする場合、オブジェクトの外形のy変位の絶対値の合計は2となるため、SPLは1.0と算出される。同様に、オブジェクト302はSPL=1.0、オブジェクト303はSPL=1.5、オブジェクト304はSPL=3.0と算出される。
なお、クラスタ管理部202は、クラスタ同士を併合することでクラスタの削減を行うこともできる。処理の詳細は後述する。
矩形生成部203は、クラスタ管理部202で生成したクラスタ同士の重なりを判定して、その判定に基づいてクラスタを分割(細分化)することで、細分化されたクラスタ(部分矩形)を生成する。本実施例では、クラスタの形状をバウンディングボックス(矩形)で表現していることにより、各オブジェクトの輪郭形状をエッジから逐次算出してオブジェクトどうしの重なりを求めるよりも、クラスタ同士の重なり判定を高速に行うことができ、且つ、部分矩形の分割も高速に行える。
この矩形生成部203は、分割後の部分矩形に対し、再度、ピクセル濃度とSPLを算出する。ピクセル濃度とSPLの再算出の方法については後述する。
予測部204は、印刷処理時間の予測に必要な複数種類の予測パラメータを求めて、各予測パラメータに予測パラメータごとに予め決められた係数を乗算することで行われる。印刷処理時間の予測式は次のような式である。
Figure 0006590606

Mは取得する予測パラメータの総数を表わし、iは予測パラメータの種類を示すインデックスである。p(i)はインデックスiに対応する予測パラメータ、x(i)はインデックスiに対応する係数、Cは定数項である。この係数x(i)や定数項Cは、RIP105の性能やプリンター109の性能を考慮して決定されている。このようにして予測された印刷処理時間を示す情報(予測値)はディスプレイ107に表示される。
予測部204が求める予測パラメータには、エッジの個数などがある。エッジの個数を示す予測パラメータは、例えば次のようにして得る。予測部204は、PDL解釈部201が生成した中間データを1ページ分、解析し、エッジの個数を0からカウントアップしていく。図3を用いた例では、オブジェクト301、304のそれぞれからはエッジの個数が2だけカウントアップされる。オブジェクト305からはエッジの個数が4だけカウントアップされる。1ページ分のエッジの総個数(カウントアップ結果)に比例して、印刷処理におけるスパンを生成(形成)する処理にかかる時間は増えるので、エッジの総個数は、予測パラメータの1つとなる。
また別の種類の予測パラメータには、オブジェクトの重なりに関する予測パラメータ(重なりパラメータ)がある。予測部204は、矩形生成部203で生成した部分矩形に関する各情報(バウンディングボックス、ピクセル濃度、SPL)に基づいて、部分矩形の領域内の実際のスパン数とオブジェクトの重なり枚数を推定する。そして予測部204は、推定されたスパン数とオブジェクトの重なり枚数を用いて、重なりパラメータを求める。この重なりパラメータの求め方について、後述する。
<重なりパラメータの算出>
次に、図4のフローチャートを参照して重なりパラメータの算出方法を説明する。図4はソフトウェア200の処理例を示すフローチャートであり、以下の各フローチャートに示す処理は、ROM103に記憶されたプログラムをCPU101が実行することによって実現される。なおこのフローチャートは説明の便宜上1ページ分の処理とする。なおこのフローチャートによる処理は、ネットワークIF104がPDLデータを受信してRAM102に格納したことに基づいて、開始される。
S401にてPDL解釈部201は、ループ処理を開始し、RAM102に格納されたPDLデータ中の描画コマンドの読み出しが1ページ分、終了するまで、以下のS402からS404の処理を繰り返し実行する。
S402にてPDL解釈部201は、格納されたPDLデータ中の1オブジェクトの描画コマンドを読み出して解釈することで、そのオブジェクトの中間データを生成する。
S403にてPDL解釈部201は、S402で生成した中間データからオブジェクト情報を取得する。オブジェクト情報とは、オブジェクトに指定されている情報であって、そのオブジェクトを規定するエッジの位置・種類やそのオブジェクトの合成オペレータ(アルファブレンドやROP)等である。
S404にてクラスタ管理部202は、S403で取得したオブジェクト情報に基づいてクラスタを生成する。
ここで、図5のフローチャートを参照して、このS404のクラスタの生成処理の詳細を説明する。
S501にてクラスタ管理部202は、クラスタを生成する。このクラスタに含まれる3種類の情報は、前述した通りである。
生成されるクラスタについて、図6の場合を例に考えてみる。図6のページ600には真円のオブジェクト601が複数、重なりを互いに持たずに配置されている。一方でページ620には、ページ600と同じ数の、オブジェクト601と同じオブジェクト621が、重なりを持って配置されている。このページ620の印刷処理にかかる時間は、ページ600の印刷処理にかかる時間よりも、スパン処理およびレベルソートにかかる分、多い。本実施例では、以下に説明するクラスタおよび部分矩形という考えを導入することで、重なりの有無の違いを考慮して印刷処理にかかる時間を精度よく予測できる予測パラメータを得る。そしてその予測パラメータを用いることで予測の精度を高める。
クラスタ管理部202は、1つのオブジェクト601の中間データから、
・バウンディングボックス={(300、400)、(800、900)}
・ピクセル濃度=(250×250×π)/(500×500)=0.785
・SPL=(500+500)/2/(500)=1.0
の情報を含むクラスタを生成する。
つまり、オブジェクト601の情報は、生成されたクラスタによって、バウンディングボックス{(300、400)、(800、900)}の矩形内に、1ピクセル当たり平均0.785個のオブジェクトが存在し、1スキャンライン当たり平均1.0個のスパンが存在する、という情報に置き換わる。クラスタの生成は、1クラスタを1オブジェクトと考えると、複雑な形状のオブジェクトを、オブジェクトの重なりに関して、この複雑な形状のオブジェクトの情報とほぼ等価な情報量を持つ簡易な所定形状のオブジェクトに置き換えることに相当する。
S502にてクラスタ管理部202は、S501で生成した1つのオブジェクトに対するクラスタを、クラスタリストに追加する。クラスタリストは、RAM102に記憶され、図7に示されるように、分岐のないリスト構造で管理され、新たにクラスタが追加されたら、末尾のクラスタに繋がれる。図6のページ600についてクラスタの生成を行うと、12個のクラスタが連結されたクラスタリストが生成されることになる。
以上説明したようにS401からS404までの処理によって、ページ内のオブジェクトは全てクラスタに変換されて、クラスタリストの状態で管理される。
図4のフローチャートの説明に戻る。
以下のS405、406、407の処理は、次のような処理である。S404で生成された各クラスタ(所定形状のオブジェクト)の重なりを各クラスタのバウンディングボックス情報に基づいて判定し、重なりを考慮した複数の部分矩形を生成する。そして各部分矩形について、オブジェクトの重なりを考慮した重なりパラメータを求めるための情報を算出し、それら算出された情報から重なりパラメータを算出する。
S405にて矩形生成部203は、クラスタリストに含まれる各クラスタについて、他のクラスタとの重なりがあるか否かを各クラスタのバウンディングボックス情報に基づいて判定する。重なりが無いクラスタについては、そのクラスタのバウンディングボックスがそのまま部分矩形として扱われる。一方、重なりがあるクラスタについては、それらのクラスタのバウンディングボックス情報に基づいて、クラスタのバウンディングボックスを分割して、複数の部分矩形を生成する。これらの部分矩形のそれぞれは、クラスタと同様に、自身の領域の位置を示すバウンディングボックス情報を持つ。
この方法について図8を例に用いて説明する。ここではクラスタリストにはクラスタ801、802のみしか含まれていないものとする。図8に示されるクラスタ801の含む情報は、バウンディングボックス={(0、0)、(5、5)}、ピクセル濃度=1.0、SPL=1.0である。またクラスタ802の含む情報は、バウンディングボックス={(2、2)、(8、8)}、ピクセル濃度=0.5、SPL=1.0である。なお部分矩形群810は、クラスタ801および802のバウンディングボックスを複数の部分矩形に分割した結果(部分矩形1〜5)を示している。
矩形生成部203は、クラスタリストから、クラスタ801、クラスタ802のバウンディングボックス情報を参照し、重なりの有無を判定する。すると矩形生成部203は、クラスタ801のバウンディングボックスと、クラスタ802のバウンディングボックスが重なりを持つことを検出する。この重なり判定は、バウンディングボックス情報(すなわち左上点と右下点)の参照で行えるので、元のオブジェクトのエッジからオブジェクトの輪郭線を求めて重なり判定を行うよりも高速に行える。次に矩形生成部203は、重なりを持つ部分矩形を特定する。図8の例では、部分矩形3が特定される。この部分矩形3は、バウンディングボックス情報として{(2、2)、(5、5)}を持っている。続いて矩形生成部203は、重なりを持たない領域を複数の部分矩形に分割する。図8の例では、部分矩形1、2、4、5が得られる。その結果、部分矩形1、2のそれぞれはバウンディングボックス情報として{(0、0)、(5、2)}、{(0、2)、(2、5)}を持つ。また、部分矩形4、5のそれぞれはバウンディングボックス情報として{(5、2)、(8、5)}、{(2、5)、(8、8)}を持つ。
なお、この分割の仕方は一例であり、クラスタのバウンディングボックスが、中間データからクラスタを生成したときと同様に、所定形状のオブジェクトに分割できればよい。
S406にて矩形生成部203は、分割された複数の部分矩形のそれぞれに対し、検出された重なり(重なりを持つ部分の位置および範囲)に基づいて、それぞれピクセル濃度とSPLを計算する。ここでの計算の目的は、クラスタのピクセル濃度およびSPLを求めたとき同様に、部分矩形内でのオブジェクトのおおよその重なり方を知るためである。つまり、部分矩形のピクセル濃度は、その部分矩形内において1ピクセル当たりにオブジェクトが平均何個存在しているかを示し、部分矩形のSPLは、その部分矩形内の1スキャンライン当たりにオブジェクトのスパンが平均で何個存在するかを示す。
従って、部分矩形のピクセル濃度は、その部分矩形を含む各クラスタのピクセル濃度の和で求まる。また、部分矩形のSPLは、その部分矩形を含む各クラスタのSPLに、そのクラスタのバウンディングボックス幅(クラスタの幅)に対するその部分矩形のバウンディングボックス幅(部分矩形の幅)の割合を乗じたものの和で求まる。
なお分割されないクラスタがある場合は、そのクラスタについてはクラスタのピクセル濃度とSPLをそのまま引き継げば良い。
図8の例では、部分矩形1については、
・ピクセル濃度=(クラスタ801のピクセル濃度)=1.0
・SPL=(クラスタ801のSPL)×{(部分矩形1の幅)/(クラスタ801の幅)}=1.0×{5/5}=1.0
となる。つまり、この部分矩形1の領域は、1ピクセル当たりに1個のオブジェクトを含み、また1スキャンライン当たりに1.0個のスパンを含む領域であると考えられる。
また部分矩形2については、
・ピクセル濃度=(クラスタ801のピクセル濃度)=1.0
・SPL=(クラスタ801のSPL)×{(部分矩形2の幅)/(クラスタ801の幅)}=1.0×{2/5}=0.2
となる。つまり、この部分矩形2の領域は、1ピクセル当たりに1個のオブジェクトを含み、また1スキャンライン当たりに0.2個のスパンを含む領域であると考えられる。
また部分矩形3については、
・ピクセル濃度=(クラスタ801のピクセル濃度)+(クラスタ802のピクセル濃度)=1.0+0.5=1.5
・SPL=(クラスタ801のSPL)×{(部分矩形3の幅)/(クラスタ801の幅)}+(クラスタ802のSPL)×{(部分矩形3の幅)/(クラスタ802の幅)}=1.0×{3/5}+1.0×{3/6}=1.1
となる。つまり、この部分矩形3の領域は、1ピクセル当たりに1.1個のオブジェクトを含み、また1スキャンライン当たりに1.1個のスパンを含む領域であると考えられる。
部分矩形4、5それぞれについてのピクセル濃度およびSPLは、部分矩形2、1と同様に求まる。
以上図8を用いて例示したように、S406では、各部分矩形のピクセル濃度とSPLが求められる。
このようなS406、S407の処理を、図6のページ600および620に行った結果を、図9のページ900および920に示す。図9のページ900および920に示される矩形の1つ1つが部分矩形を示し、内部の番号は部分矩形を識別するために便宜上振ってある。すなわち、図6のページ600からは12個の部分矩形が生成され、ページ620からは25個の部分矩形が生成される。これらの部分矩形のそれぞれについて、ピクセル濃度とSPLが得られる。
次にS410にて予測部204は、S407で生成された部分矩形それぞれのバウンディングボックス情報、ピクセル濃度、SPLに基づいて、重なりパラメータを算出する。この重なりパラメータが、前述の印刷処理時間の予測式の予測パラメータの一つとして用いられる。
予測部204は、それぞれの部分矩形に対し、SPLとその矩形の高さ(バウンディングボックスの高さ)の積を、その部分矩形に含まれるスパン数の推定値として算出する。また、ピクセル濃度は1ピクセル当たりのオブジェクトの重なり数と考えることが出来る為、ピクセル濃度と、推定されたスパン数との積は、部分矩形の領域に含まれる各スパンに寄与する1つ以上のオブジェクト(あるいはその色情報)を特定するのにかかる時間(スパン処理時間)の総和の指標となる。そのため全部分矩形におけるスパン処理時間の指標を、
Figure 0006590606

と算出する。Nは部分矩形の総数、ピクセル濃度(i)はi番目の部分矩形のピクセル濃度、スパン(i)はi番目の部分矩形のスパン数を表わしている。
更に、1スパンの描画色を決定する際に、その1スパンに寄与する1つ以上のオブジェクト(あるいはその色情報)に対してZオーダー順にソートすることになるので、そのソート(レベルソート)にかかる時間は、オブジェクトの重なり数の2乗にほぼ比例する。その為、予測部204は、全部分矩形におけるレベルソートにかかる時間の指標を、
Figure 0006590606

と算出する。
このような計算式に従えば、例えば、図9のページ900の場合は、下記の表1で示す通り、スパン処理時間指標=4710、レベルソート時間指標=3697となり、ページ920の場合、下記の表2で示す通り、スパン処理時間指標=12325、レベルソート時間指標=30750となる。数値が大きいほど処理時間が大きいと考えると、本実施例は、図6のページ600および620の印刷処理にかかる時間を予測する上で、各スパンにおけるオブジェクトの重なりを考慮した、精度の良い予測パラメータを得ることができると言える。
Figure 0006590606

Figure 0006590606
このS407で算出された重なりパラメータ(スパン処理時間指標、および、レベルソート時間指標)を前述した予測式に組み込むことにより、オブジェクトの重なりを考慮した予測をすることが出来る。すなわち、図6、図9の例では、これら予測パラメータを予測式へ組み込むことにより、同じオブジェクトの形状、個数であった場合でも、重なり方に応じて指標が変化するため、実際の印刷時間に近い正確な印刷時間の予測が出来る。
(実施例2)
実施例1では、1つのオブジェクトにつき1つのクラスタを生成し、クラスタリストで管理していた。本実施例では、S404においてオブジェクトのクラスタを生成する際に、すでにクラスタリストで管理されているクラスタのうち、生成されたクラスタと関連性が強いクラスタに、その生成されたクラスタを併合するようにする。これにより、クラスタリストで管理するクラスタ数の増大が抑えられ、クラスタリストを保持するためのRAM102のメモリリソースが節約される。また、クラスタ数の増大を抑制することで、S405の部分矩形の生成時間の増大を抑制する。
図1のハードウェア構成図、図2のソフトウェア構成図は実施例1と同様の為、説明は割愛する。
本実施例では、図4のフローチャートにおけるS404の処理に特徴がある。すなわち、本実施例は実施例1のS404の処理(図5)に代えて、図10で示すフローチャートの処理を行う。なお、S404以外の処理は実施例1と同様の為、説明は割愛する。
図10のフローチャートについて説明する。
S501にてクラスタ管理部202は、オブジェクトのクラスタを生成する。この処理は、実施例1の処理と同様である。
次にS1001にてクラスタ管理部202は、生成されたクラスタの情報と、クラスタリストに存在する既存の各クラスタとの関連性が高いかどうかを判定する。生成されたクラスタとの関連性が高いクラスタがクラスタリストに存在すると判定されれば、処理はS1002に進み、そうでなければ処理はS502に進む。但しクラスタリストにクラスタが存在しなければS502へ処理は移行する。このS502の処理は実施例1と同様である。
クラスタどうしの関連性の高さは、クラスタ同士を併合した場合に元のクラスタの持つ情報の精度が失われる度合い(損失度)に応じて決定される。損失度が閾値未満であれば関連性が高いと判定される。クラスタ管理部202は、損失度の算出にあたり、クラスタ同士の包含関係が次の2つのケースのうちのどちらかであるかを、まずは判定する。
1つ目のケースは、生成されたクラスタのバウンディングボックスが、クラスタリスト中のクラスタに包含されていないケースである。このケースでは、クラスタの併合の前と後でのピクセル濃度の変動量が損失度として考えられる。クラスタ管理部202は、この変動率が閾値以上であれば併合を行わず、そうでなければ併合を行う。なお、併合後のピクセル濃度は、次の式で算出される。
Figure 0006590606

Nは併合対象のクラスタの数、つまり2。iは併合対象の各クラスタのインデックス。ピクセル濃度(i)はクラスタ(i)のピクセル濃度。面積比(i)は併合対象の2つのクラスタのバウンディングボックス全体を包含する外接矩形(併合後のクラスタ)の面積に対するクラスタ(i)のバウンディングボックスの面積の比。
2つ目のケースは、生成されたクラスタのバウンディングボックスが、クラスタリスト中のクラスタに包含されているケースである。このケースでは、生成されたクラスタのバウンディングボックスの面積について、併合の前後の面積比が損失度として考えられる。クラスタ管理部202は、この面積比が閾値以上であれば併合を行わず、そうでなければ併合を行う。
関連性の高さの判定方法の具体例を、図11を用いて説明する。
図11(a)において、クラスタ1101がバウンディングボックス={(0、0)、(100、100)}、ピクセル濃度=1.0であり、クラスタ1102がバウンディングボックス={(105、100)、(205、100)}、ピクセル濃度=1.0であるとする。すなわち、クラスタ1101と1102との間に5ピクセル分の間隔が空いている。ここでピクセル濃度の変動量の閾値を0.1とする。
このとき仮に2つのクラスタを併合したとすると、併合後のクラスタ1103は、2つのクラスタを包含する大きなクラスタとなる。この大きなクラスタの情報は、バウンディングボックス={(0、0)、(205、100)}、ピクセル濃度=1.0×(100/205)+1.0×10000/20500=0.98となる。そのため、併合によるピクセル濃度の変動量は、クラスタ1101に対するものと、クラスタ1102に対するものとの和を採用する。すなわち変動量は、(1.0−0.98)+(1.0−0.98)=0.04となる。しがたって併合によるピクセル濃度の変動量(損失度)は閾値未満であるので、2つのクラスタ同士は関連性が高いと判定され、S1002にて同じように併合される。
一方、図11(b)において、クラスタ1111は、バウンディングボックス={(0、0)、(100、100)}、ピクセル濃度=1.0であり、クラスタ1112は、バウンディングボックス={(100、100)、(200、200)}、ピクセル濃度=1.0であるとする。この場合、仮に2つのクラスタを併合したとすると、併合後のクラスタ1113のピクセル濃度は0.5となり、ピクセル濃度の変動量は1.0となる。つまり併合によるピクセル濃度の変動量(損失度)が閾値以上なので、関連性が低いと判定される。
また、図11(c)のように、生成されたクラスタのバウンディングボックスが他のクラスタのバウンディングボックスに包含される場合においては、クラスタ同士の面積比に基づいて関連性を判定する。例えば面積比の閾値を150%とした場合、クラスタ1121の面積が3600ピクセル、クラスタ1122の面積が2500ピクセルであれば、面積比は3600/2500=1.4、すなわち140%となり、この面積比(損失度)は閾値150%を下回るため、関連性が高いと判定する。すなわち両クラスタを併合しても情報の損失は少ない。
一方図11(d)に示されるように、クラスタ1131の面積が3600ピクセル、クラスタ1132の面積が400ピクセルであれば、面積比は3600/400=9.0、すなわち900%となり、この面積比(損失度)は閾値以上であるので、関連性が低いと判定する。すなわち両クラスタを併合すると情報の損失が多い。
S1002にてクラスタ管理部202は、S501で生成されたクラスタと、クラスタリストのうちで関連性が最も高いクラスタとの併合処理を行う。クラスタ併合後のバウンディングボックス、ピクセル濃度、SPLは次の通りに求める。
・バウンディングボックスは、{(併合される各クラスタのバウンディングボックスのうちの最小のx、y)、(併合される各クラスタのバウンディングボックスのうちの最大のx、y)}
・ピクセル濃度は、上述の(併合後のピクセル濃度)
・SPLは、{併合される各クラスタの(SPL×バウンディングボックス高さ)の和}/併合後のバウンディングボックス高さ
すなわち、S1002にてクラスタ管理部202は、PDLデータに含まれる複数オブジェクトを、1つのクラスタにまとめて生成する機能を果たす。
以上説明したように、クラスタ生成時に関連性の高いクラスタ同士を併合することで、クラスタの情報の損失を最小限にしつつ、最終的に生成されるクラスタリストで管理されるクラスタ数を抑制する。
(実施例3)
実施例2では、関連性の高いクラスタ同士を併合することで、クラスタリストで管理されるクラスタ数の増大を抑制した。本実施例では、クラスタリストで管理されるクラスタ数の上限を設ける。なぜなら、関連性の低いクラスタが生成されるオブジェクトを多く含むPDLデータに対しては、クラスタリストで管理されるクラスタ数を効果的に削減できないからである。そこで本実施例では、クラスタ管理部202が、生成されたクラスタをクラスタリストに追加した場合にクラスタリストで管理されるクラスタの総数が閾値を超えるかを判定する。もしクラスタの総数が閾値を越えるならば、クラスタリスト中のクラスタのうち、生成されたクラスタと併合した場合に最も損失度が小さいクラスタを選択し、選択されたクラスタと生成されたクラスタを併合する。
図1のハードウェア構成図、図2のソフトウェア構成図は実施例1および2と同様の為、説明は割愛する。
図4のフローチャート図において、実施例2では、S404にてクラスタ管理部202は、図12で示すフローチャート図のように処理を行う。尚、S404以外の処理は実施例1と同様の為、説明は割愛する。
図12において、S1001からS1002、S501からS502までのステップは実施例2と同様のステップの為、説明は割愛する。以下ではクラスタリスト中の各クラスタは、バウンディングボックス、ピクセル濃度、SPLの他に、そのクラスタに併合されたオブジェクトの数(クラスタの数)を示す情報(以下、クラスタのオブジェクト数と呼ぶ)を設ける。この情報をさらに参照することで、クラスタリスト中のクラスタについて、併合による情報の損失が大きいか否かを判定する。
S1201にてクラスタ管理部202は、クラスタリスト中の各クラスタについて、クラスタのオブジェクト数を更新する。例えば図11(a)に示される、クラスタ1101が生成されたクラスタ、クラスタ1102がクラスタリスト中のクラスタであり、クラスタ1102のオブジェクト数が1であると仮定する。このときS1002でクラスタ1101とクラスタ1102とが併合されると、クラスタリスト中のクラスタ1102は併合後のクラスタ1103の情報で更新され、そのクラスタ1103のオブジェクト数は2となる。
また一方で、S1202にてクラスタ管理部202は、S502にて生成したクラスタを追加した後のクラスタリスト中のクラスタの総数が閾値に達しているかを判定する。総数が閾値を越える場合は、処理はS1203へ移行し、そうでない場合は、本実施例のクラスタ生成処理を終了する。
S1203にてクラスタ管理部202は、クラスタリスト中のクラスタ数の増加を抑制するために、クラスタリスト中の全クラスタのうち、併合した場合に最も情報の損失度が小さい2つのクラスタを選択して併合処理を行う。2つのクラスタの選択においては、クラスタリスト中の2つのクラスタの全ての組み合わせに対して情報の損失度を算出し、損失度に基づいて2つのクラスタを選択する。損失度としては、次のピクセル濃度の変動量、バウンディングボックスの面積比、オブジェクト個数比の3つの情報を用いる。このうち、ピクセル濃度変動量は実施例2と同様であるため説明を割愛する。
・バンディングボックス面積比=2つのクラスタのバウンディングボックス面積の最大値/2つのクラスタのバウンディングボックス面積の最小値
・(オブジェクト個数比)=2つのクラスタのオブジェクト数の最大値/2つのクラスタのオブジェクト数の最小値
各種の損失度を参照して、次の基準に従って併合される2つのクラスタを選択する。(1):2クラスタ間の面積比が最も小さくなる2クラスタ(クラスタペア)を選択する。
(2):2クラスタ間の面積比が最も小さくなる2クラスタ(クラスタペア)が複数ある場合に、それら複数のクラスタペアのうちで、2クラスタ間のオブジェクト個数比が最も小さいクラスタペアを選択する。
(3):2クラスタ間の面積比もオブジェクト個数比も等しいクラスタペアが複数ある場合に、変動量が最も小さいクラスタペアを選択する。
(4):2クラスタ間の面積比もオブジェクト個数比も等しく、且つ、変動量も等しいクラスタペアが複数ある場合に、それら複数のクラスタペアから任意のクラスタペアを選択する。
このような基準に従ってクラスタペアを選択するのは次の理由からである。
一般に、クラスタ併合に伴って元のクラスタの情報の精度が損なわれる程度の大小関係が、バウンディングボックス面積が変わってしまうこと>クラスタのオブジェクト数が変わってしまうこと>クラスタのピクセル濃度が変わってしまうこと、となるからである。
以上説明したように、クラスタリストのクラスタ個数閾値を超える場合は、クラスタリスト中のクラスタ同士を併合することでクラスタ数を削減する。
(その他の実施例)
上記実施例では、PDLデータに含まれるオブジェクトを代表する所定形状のクラスタとして、矩形のクラスタを採用したが、オブジェクトの形状にしたがって、矩形以外の簡易形状のクラスタを採用しても良い。例えば、オブジェクトの形状が円形であれば八角形状のクラスタを採用しても良い。
また上記実施例では、オブジェクトを1つの矩形のクラスタで代表したが、オブジェクトの形状に従って、複数の矩形のクラスタで代表しても良い。これは1つのオブジェクトからクラスタを生成する時点で、複数の部分矩形を生成することに相当する。例えば十字形状のオブジェクトであれば、十字形状を左右の「−」と中央の「|」との計3つの部分矩形に相当するクラスタを生成すれば良い。このようにすれば、より精度の高い予測パラメータを得ることができる。
また上記実施例では、オブジェクトを1つの矩形のクラスタで代表する際に、矩形を、オブジェクトを包含する外接矩形としていたが、そのオブジェクトの形状を近似する矩形であればよい。すなわち、凸レンズ形状のオブジェクトであれば、オブジェクトの凸面と交点を持つ矩形であっても良い。
すなわち、上記実施例では、重なりの予測パラメータを得る上で、その計算量の増大を効率的に抑えつつ、オブジェクトの情報をそれほど損なわない程度の予め決められた形状のクラスタを用いることが重要である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (12)

  1. 印刷データに含まれる複数のオブジェクトそれぞれについて、オブジェクトの形状に関する情報に基づいて、当該オブジェクトの形状を簡略化した所定形状のオブジェクトを生成する生成手段と、
    前記生成手段によって生成された前記所定形状のオブジェクトどうしの重なりを判定する判定手段と、
    前記判定手段で重なっていると判定された前記所定形状のオブジェクトにおける1スキャンラインあたりのスパンの数を求める手段と、
    前記判定結果と前記求まったスパンの数とに基づいて、前記印刷データの印刷処理にかかる時間を導出する導出手段と、
    を有することを特徴とする画像処理装置。
  2. 前記導出手段は、前記判定手段によって重なりがあると判定された所定形状のオブジェクトを、当該重なりのある部分とない部分とに分割し、当該部分ごとに、前記印刷処理にかかる時間を導出するための情報を算出し、当該算出された情報を用いて、前記印刷処理にかかる時間を導出することを特徴とする請求項1に記載の画像処理装置。
  3. 前記導出手段は、前記重なりのある部分について、前記重なりがあると判定された所定形状のオブジェクトおよび、当該オブジェクトに重なる所定形状のオブジェクトの情報に基づいて、前記導出するための情報を算出することを特徴とする請求項2に記載の画像処理装置。
  4. 所定形状のオブジェクトの前記情報とは、当該所定形状のオブジェクトに対応する1スキャンラインあたりのオブジェクトのスパンの数を示す情報であることを特徴とする請求項3に記載の画像処理装置。
  5. 前記生成手段は、前記印刷データに含まれるオブジェクトの位置および形状に基づいて、前記所定形状のオブジェクトの位置および範囲を決定し、
    前記判定手段は、所定形状のオブジェクトどうしの重なりを、所定形状のオブジェクトの位置および範囲に基づいて判定することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
  6. 前記生成手段は、前記印刷データに含まれる複数のオブジェクトの情報に基づいて、1つの前記所定形状のオブジェクトを生成することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
  7. 前記生成手段は、オブジェクトの位置および形状に基づいて、前記所定形状のオブジェクトを生成することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 前記所定形状は、矩形であることを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
  9. 前記導出された時間を示す情報を表示するディスプレイを有することを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
  10. 前記印刷データの印刷処理を行うことで、画像をシートに印刷する印刷手段を有することを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
  11. 印刷データに含まれる複数のオブジェクトそれぞれについて、オブジェクトの形状に関する情報に基づいて、当該オブジェクトの形状を簡略化した所定形状のオブジェクトを生成する生成工程と、
    前記生成工程によって生成された前記所定形状のオブジェクトどうしの重なりを判定する判定工程と、
    前記判定工程で重なっていると判定された前記所定形状のオブジェクトにおける1スキャンラインあたりのスパンの数を求める工程と、
    前記判定結果と前記求まったスパンの数とに基づいて、前記印刷データの印刷処理にかかる時間を導出する導出工程と、
    を有することを特徴とする画像処理方法。
  12. 請求項1乃至8の何れか1項に記載の各手段としてコンピュータを機能させるためのプログラム。
JP2015179098A 2015-09-11 2015-09-11 画像処理装置、画像処理方法、プログラム Active JP6590606B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015179098A JP6590606B2 (ja) 2015-09-11 2015-09-11 画像処理装置、画像処理方法、プログラム
US15/257,744 US10127483B2 (en) 2015-09-11 2016-09-06 Image processing apparatus and image processing method for estimating time required for print processing
CN201610813954.3A CN107020845B (zh) 2015-09-11 2016-09-09 估算打印处理所需的时间的图像处理装置及图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015179098A JP6590606B2 (ja) 2015-09-11 2015-09-11 画像処理装置、画像処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2017052218A JP2017052218A (ja) 2017-03-16
JP6590606B2 true JP6590606B2 (ja) 2019-10-16

Family

ID=58238954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015179098A Active JP6590606B2 (ja) 2015-09-11 2015-09-11 画像処理装置、画像処理方法、プログラム

Country Status (3)

Country Link
US (1) US10127483B2 (ja)
JP (1) JP6590606B2 (ja)
CN (1) CN107020845B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817540B2 (en) 2016-09-02 2020-10-27 Snowflake Inc. Incremental clustering maintenance of a table
EP3340107B9 (en) * 2016-12-23 2021-07-21 Cytognos, S.L. Method of digital information classification

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6972760B2 (en) * 2000-03-30 2005-12-06 S3 Graphics Co., Ltd. Area and span based Z-buffer
JP2002103697A (ja) * 2000-10-04 2002-04-09 Fuji Xerox Co Ltd 画像処理装置
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
JP2011031580A (ja) * 2009-08-05 2011-02-17 Ricoh Co Ltd 画像形成装置、画像処理方法、プログラム及び記録媒体
AU2010249337A1 (en) * 2010-12-13 2012-06-28 Canon Kabushiki Kaisha Predicting the times of future events in a multi-threaded RIP
JP2012236344A (ja) * 2011-05-12 2012-12-06 Canon Inc 印刷装置、印刷装置のデータ処理方法及びプログラム
JP5808195B2 (ja) * 2011-08-19 2015-11-10 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP2013088867A (ja) * 2011-10-13 2013-05-13 Konica Minolta Business Technologies Inc 画像処理装置、画像読取装置、画像形成装置、画像処理装置の制御方法、及び画像処理装置の制御プログラム
CN102663523A (zh) 2012-04-28 2012-09-12 南京邮电大学 远程打印电子商务平台时间估算方法
JP2015141561A (ja) * 2014-01-29 2015-08-03 キヤノン株式会社 データ処理装置及びプログラム、制御方法
JP6503827B2 (ja) * 2015-03-26 2019-04-24 富士ゼロックス株式会社 印刷制御装置、印刷装置及びプログラム

Also Published As

Publication number Publication date
CN107020845B (zh) 2020-03-03
JP2017052218A (ja) 2017-03-16
US20170076187A1 (en) 2017-03-16
CN107020845A (zh) 2017-08-08
US10127483B2 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
KR100894231B1 (ko) 그래픽 데이터의 캐시-효율적인 래스터화를 위한 방법, 장치 및 명령을 포함하는 컴퓨터 판독 가능 매체
JPH07181951A (ja) 画像ディスプレイ方法及び画像ディスプレイ並びに画像スケーリング方法
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
JP2006331191A (ja) 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム
US9542127B2 (en) Image processing method and image processing apparatus
TW201439667A (zh) 電子束描繪裝置、電子束描繪方法及記錄媒體
JP2013025316A (ja) 電子文書ラスタライズ方法及び電子文書ラスタライズ装置
US9600747B2 (en) Image forming apparatus and control method that execute a plurality of rendering processing units in parallel
US9710956B2 (en) Three-dimensional map display system
JP6590606B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2006139727A (ja) 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体
JP2008279626A (ja) 画像処理装置及び画像処理プログラム
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP6598546B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6323209B2 (ja) 画像処理装置及びプログラム
JP2014194635A (ja) 画像形成装置及び画像形成方法ならびにプログラム
US10359974B2 (en) Printing apparatus, method for estimating a time required for a rendering process, and storage medium
JP2013026865A (ja) 画像処理装置及び画像処理方法
JP5151946B2 (ja) 描画装置
JP2017038329A (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP2016189086A (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
JP6926394B2 (ja) 印刷装置及びプログラム
JP2023082472A (ja) 情報処理装置、画像ファイルのデータ構造、情報処理システム、およびプログラム
JP2006190135A (ja) 画像生成方法および画像生成装置
JP2001307115A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190917

R151 Written notification of patent or utility model registration

Ref document number: 6590606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151