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

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

Info

Publication number
JP6129127B2
JP6129127B2 JP2014162996A JP2014162996A JP6129127B2 JP 6129127 B2 JP6129127 B2 JP 6129127B2 JP 2014162996 A JP2014162996 A JP 2014162996A JP 2014162996 A JP2014162996 A JP 2014162996A JP 6129127 B2 JP6129127 B2 JP 6129127B2
Authority
JP
Japan
Prior art keywords
objects
determination
combining
image processing
different
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
JP2014162996A
Other languages
English (en)
Other versions
JP2016038801A (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 JP2014162996A priority Critical patent/JP6129127B2/ja
Priority to US14/817,100 priority patent/US9619740B2/en
Priority to CN201510484271.3A priority patent/CN105376453B/zh
Publication of JP2016038801A publication Critical patent/JP2016038801A/ja
Application granted granted Critical
Publication of JP6129127B2 publication Critical patent/JP6129127B2/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/23Reproducing arrangements
    • 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
    • G06K15/1889Merging with other data
    • 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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • 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/1822Analysing the received data before processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • 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/00039Analysis, i.e. separating and studying components of a greater whole
    • 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/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling
    • 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/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2392Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity for displaying or indicating, e.g. a condition or state
    • 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/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3876Recombination of partial images to recreate the original image
    • 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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6016Conversion to subtractive colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

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

Description

本発明は、描画オブジェクトの結合処理を行うための画像処理装置、画像処理方法、プログラムに関する。
印刷データに含まれる連続する複数のオブジェクトのそれぞれを順次、取得し、それら複数のオブジェクトをより少数のオブジェクトに結合し、結合された少数のオブジェクトそれぞれに対して後続の処理を行う技術が特許文献1に開示される。例えば後続の処理として、オブジェクト毎のディスプレイリスト(DL)を生成する処理がある。複数のオブジェクトそれぞれのDLを生成するよりも、結合されたより少数のオブジェクトそれぞれのDLを生成する方が、DLの生成処理に係る処理コストは低減する。
特開2009−87266号公報
特許文献1によれば、各オブジェクトに対して、オブジェクトを結合するための処理(例えば、オブジェクトの結合可否を判定する処理や、結合処理そのもの)が行われる。しかし、連続する多数のオブジェクトの傾向によっては、結合するための処理を行ったとしても、オブジェクトの数が効果的に削減されないことがある。
例えば、1つ目のオブジェクト自体が結合可能なオブジェクトであると判定され、2つ目のオブジェクトは1つ目のオブジェクトと結合されると判定され、3つ目のオブジェクトは1つ目および2つ目のオブジェクトとは結合されないと判定される場合がある。この場合、結合が行われた後のオブジェクトは、1つ目のオブジェクトと2つ目のオブジェクトとが結合されたオブジェクト、および、結合されなかった3つ目のオブジェクトの2つのオブジェクトである。
確かにオブジェクトは、3つから2つへと結合されており、後続の処理がDL生成処理であったならば、DL生成の処理コストは低減する。しかし、3つのオブジェクトを結合するために行われた処理(上述の結合可否の判定処理、結合処理)にも当然処理コストがかかっている。したがって、結合するために行われた処理にかかった分の処理コストが、低減した分の生成処理の処理コストを上回ると、描画オブジェクトからDLを生成する全体の処理コストは上昇する。言い換えれば、オブジェクトを結合するための処理のオーバーヘッドが大きすぎる場合に全体の処理効率が低下する。
上記例のような、3つのオブジェクトを順次取得する前に、それら3つのオブジェクトに対して結合するための処理を行うと得かそうでないかを、事前予測してその予測を活用することができれば効果的である。そこで、これからの未来に処理されるオブジェクトに対して結合処理を行えば効果的にオブジェクトの数が削減できると予測できる場合に、オブジェクトを結合するための処理を、未来に処理されるオブジェクトに対して行うことを考える。この予測は、現在または過去に順次取得して処理されたオブジェクトのうちの一部を分析することで可能であることを本発明者は発見した。
本発明の画像処理装置は、複数のオブジェクトに対して結合処理を行う結合手段と、前記複数のオブジェクトとは異なるオブジェクトに対して別のオブジェクトと結合するかの判定処理を行うか否かを、前記結合処理の前後のオブジェクトの情報に基づいて判定する判定手段と、前記判定手段による前記判定に基づいて、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成する生成手段と、を有することを特徴とする。
本発明によれば、結合によるオブジェクトの削減効果が低いと予測されるような場合でも効率的にDLを生成することができる。
実施例における印刷装置のハードウェア構成の一例を示す図である。 実施例における印刷装置のソフトウェアモジュール構成の一例を示す図である。 実施例におけるDL生成部のサブモジュールの一例を示す図である。 実施例におけるオブジェクトの構成の一例を示す図である。 実施例における印刷方法の一例を示すフローチャート図である。 実施例におけるDL生成処理の一例を示すフローチャート図である。 実施例におけるオブジェクト傾向判定処理の一例を示すフローチャート図である。 実施例における受信したオブジェクトと結合結果の一例を示す図である。 実施例における結合モード判定の構成の一例を示すフローチャート図である。 実施例におけるDL化処理の構成の一例を示すフローチャート図である。 実施例におけるDLの構成の一例を示す図である。 実施例における受信したオブジェクトの一例を示す図である。
以下、本実施例の印刷装置について図面を用いて説明する。なお本実施例の印刷装置は、MFP(Multi Function Printer)であっても、SFP(Single Function Printer)であっても良い。また、本実施例の印刷装置の印刷エンジン(単にエンジン)は、電子写真方式であっても、インクジェット方式であっても、あるいは、その他の方式であっても良い。
<ハードウェア構成>
図1は、本実施例の印刷装置100のハードウェア構成の一例を示すブロック図である。
CPU101は、印刷装置100のCPU(Central Processing Unit)である。後述する印刷装置100のソフトウェア200はこのCPU101上で動作する。RAM102は、CPU101がアクセスできるRAM(Random Access Memory)である。RAM102は後述する印刷装置100のソフトウェア200の動作に必要なメモリの確保先として利用される。ROM103は、印刷装置100のROM(Read Only Memory)である。後述する印刷装置100のソフトウェア200のプログラムは、ROM103に格納されており、CPU101に読み込まれることで実行される。ネットワークIF104は、LAN(LocalAreaNetwork)等のネットワークを介して外部装置(PCや他の印刷装置等)と接続し、主に印刷データの受信を行うためのインタフェースである。印刷データとは、ページ記述言語(PDL:Page Description Language)で記述されたオブジェクトの描画コマンドを含むPDLデータ(単にPDLとも呼ぶ)である。エンジン105は、CPU101によって解釈されたPDLに基づいて、画像を印刷用紙に印刷する印刷エンジンである。尚、本実施例ではネットワークを介して外部装置からPDLを受信する例について説明するが、外部装置からの受信ではなく、PDLがRAM102に保存されている場合においても、RAM102からPDLを読み出す事で、同様に画像を印刷できる。
<ソフトウェア構成>
図2は、本発明の本実施例に係る印刷装置100のソフトウェア構成の一例を示す図である。
印刷装置100のソフトウェア200は、4つのソフトウェアモジュールで構成され、これらは全てCPU101がROM103に格納されているプログラムを実行することで実現される。
PDL受信部201は、ネットワークIF104を介してPDLを受信する為のモジュールである。受信されたPDLは、RAM102に格納される。
PDL解釈部202は、格納されたPDLに含まれる描画コマンドを読み出して解釈する為のモジュールである。この描画コマンドに従い、PDL解釈部202は、オブジェクトの情報(属性情報、パス形状情報、オペランド情報、オペレータ情報)を決定し、オブジェクトを生成する。オブジェクトの情報について次に説明する。
図4は、PDL解釈部202によって生成されるオブジェクトが有する情報401〜404を説明する図である。
属性情報401は、オブジェクトが持つ属性を示す情報である。この情報は、属性によって画像処理の内容を切り替える際に用いられる。属性の種類には、例えばグラフィック属性、イメージ属性、ライン属性、文字属性などがある。
パス形状情報402は、オブジェクトの描画範囲を示す情報や、オブジェクトの外形を点列で表現したパス点列情報等、オブジェクトの描画位置や形状に関する情報である。例えばオブジェクトの描画範囲を示す情報には、描画範囲が矩形で表現できる場合、矩形の左上および右下の座標が含まれる。パス点列情報には、各パス点の座標が含まれる。
オペランド情報403は、オブジェクトのオペランド種別(単色フィル、イメージフィル等)、色空間(RGB、Gray等)等、描画に関する情報である。なお単色フィルとは、「白」などの単色の塗り指定のことであり、イメージフィルとは、例えばビットマップ画像などのイメージの塗り指定のことである。
オペレータ情報404は、オブジェクトの重なり順に関連する情報である。例えば、オペレータ情報には、オブジェクトに指定されるROP(RasterOperation)の種別を示す情報が含まれている。ROPには、公知のROP2、ROP3などがある。
以上がオブジェクトに含まれる情報である。
DL生成部203は、PDL解釈部202で生成されたオブジェクトに基づいて、中間データであるディスプレイリスト(DL:Diplay List)を生成する為のモジュールである。尚、DL生成部203のサブモジュールについては、図3を用いて後述する。
RIP処理部204は、DL生成部203で生成されたDLに基づいて、ページのレンダリングを行う為のモジュールである。DLに基づいてページのレンダリングを行うとは、そのDLで表現されているページのビットマップ画像を生成することである。
<DL生成部のサブモジュール>
図3は、本発明の本実施例に係るDL生成部203を構成するサブモジュールのソフトウェア構成の一例を示す図である。
管理部300は、結合モードや結合判定結果に応じて処理を制御する為のサブモジュールである。
オブジェクト傾向判定部301は、(1)処理中の現在のオブジェクトの情報、および、(2)処理中の現在のオブジェクトの情報とそれまでに処理されたオブジェクトの情報との関係性に基づいて、結合モードを切り替えるかを判定する為のサブモジュールである。結合モードについては後述する。
PDLには、PDLの先頭から末尾まで各描画コマンドが連続して含まれる。連続する各描画コマンドから生成される各オブジェクトも連続する。一般的に、順序が連続するオブジェクトどうしは類似するという傾向がある。例えば、結合効果(後述)の高いオブジェクトの後は、同じく結合効果の高いオブジェクトが連続する。また例えば、結合効果の低いオブジェクトの後は、同じく結合効果の低いオブジェクトが連続する。
ここでいう結合効果とは、例えばM個のオブジェクトに対してオブジェクト結合部303による結合処理が行われた結果N個のオブジェクトが得られた場合の、比率M/Nのことである。結合効果の高いオブジェクトとは、このオブジェクトを含むM個のオブジェクトに対して結合処理を行った場合にM/Nが大きいオブジェクトである。逆に、結合効果の低いオブジェクトとは、このオブジェクトを含むM個のオブジェクトに対して結合処理を行った場合にM/Nがそれほど大きくないオブジェクトである。
結合効果の高いオブジェクト傾向から結合効果の低いオブジェクト傾向への変化、あるいは、その逆の変化は、処理中の現在のオブジェクトの情報やそれまでに処理したオブジェクトの結合結果から、検出することができる。
オブジェクトスプール部302は、処理中のオブジェクトをスプールする為のサブモジュールである。スプールされたオブジェクトはRAM102に格納される。
オブジェクト結合部303は、オブジェクトスプール部302によってスプールされたオブジェクトを結合する為のサブモジュールである。オブジェクトの結合の詳細については後述する。
結合モード判定部304は、オブジェクト結合部303によって結合されたオブジェクトの結合効果に基づいて、結合モードを切り替えるかを判定する為のサブモジュールである。
DL変換部305は、オブジェクトをDLに変換する為のサブモジュールである。なおこのオブジェクトからDLへの変換のことを、DLの生成とも呼ぶ。
上記した結合モードは、結合推進モードと結合停止モードとを有する。
結合推進モード中は、処理中の現在のオブジェクトに対して、処理中のオブジェクトの情報とスプール済のオブジェクトの情報とに基づいて、処理中のオブジェクトをスプール済みのオブジェクトと結合すべきか否かを判定する処理(図6のS604)が行われる。そしてその判定に基づいて、処理中のオブジェクトをスプールする処理か、スプール済みのオブジェクトを結合する処理が行われる。すなわち、結合推進モードとは、結合の判定処理を処理中のオブジェクトに対して行い、その判定結果に従ってスプール処理あるいは結合処理を行う第1のモードである。
一方、結合停止モード中は、処理中の現在のオブジェクトをスプール済みのオブジェクトと結合すべきか否かを判定する処理(図6のS604)がスキップされる。そのためこの判定処理にかかる処理コストを削減できる。また、処理中の現在のオブジェクトのスプール処理(図6のS606)、あるいは、スプール済みのオブジェクトに対する結合処理(図6のS607)もスキップされ、処理中の現在のオブジェクトをDLに変換する処理(図6のS609)が行われる。すなわち、無駄なスプール処理および結合処理にかかる処理コストを削減しつつ、DLを生成することが可能となる。すなわち、結合停止モードとは、結合推進モードで行う判定処理、スプール処理、結合処理を省略する第2のモードである。
これら結合モードの切り替えは、結合前後のオブジェクトの状態や、それまでスキップの対象となったオブジェクトの情報に基づいて行われる。モードの切り替えの詳細については、図6を用いて後述する。
<印刷処理>
図5は本実施例における印刷装置100が行う印刷処理のフローチャートである。図5に示す処理は、ROM103に記憶されたプログラムをCPU101が実行することによって実現される。
ステップS501において、PDL受信部201は、ネットワークIF104を介してPDLを受信する。
ステップS502において、ステップS501で受信したPDLに含まれる全ての描画コマンドの読み出しが終了するまで、PDLに含まれる描画コマンドを先頭から順に1つずつ読み出す。このステップS502における描画コマンドを1つずつ読み出す処理は、オブジェクトを順次、取得する処理に相当する。読みだされた1つの描画コマンドに対して、以下のステップS503とステップS504が繰り返される。
ステップS503において、PDL解釈部202は、ステップS502で読みだされた1つの描画コマンドを解釈し、オブジェクトを生成する。
ステップS504において、DL生成部203は、ステップS503で生成されたオブジェクトからDLを生成する。このフローの詳細については、図6を用いて後述する。
ステップS505において、RIP処理部204は、ステップS504で生成されたDLに基づいて、各ページのレンダリングを行う。レンダリングによって得られた各ページのビットマップ画像はエンジン105に送られ、紙に印刷される。
<DL生成部の処理>
図6は本実施例におけるステップS504で行われるDL生成部203の処理の詳細を示すフローチャート図である。このフローでは、(1)オブジェクトをスプールするか、(2)スプール済のオブジェクトを結合した後DL化するか、(3)スプールや結合をせずそのままDL化するか、を、(1)結合モードおよび(2)処理中のオブジェクトに応じて切り替える。本実施例での結合モードの初期状態は結合推進モードとするが、結合停止モードから始めても良い。
ステップS601において、管理部300は、現在の結合モードが結合推進モードであるかを判定する。現在の結合モードが結合推進モードであると判定された場合は、ステップS604へ移行し、処理中の現在のオブジェクトに対する結合判定が行われる。そうでない場合は現在の結合モードが結合停止モードであるとみなして、ステップS602へ移行し、処理中の現在のオブジェクトおよび後続するオブジェクトが、ステップS604の結合判定が行われるべきオブジェクトであるのかが判定される。
ステップS602において、オブジェクト傾向判定部502は、処理中の現在のオブジェクトの情報とそれまでに処理されたオブジェクトの情報とから、オブジェクト傾向を判定する。すなわちこの処理は、S502の処理によって読みだされるべき複数の描画コマンドのうちの既に読みだされた描画コマンドに相当する一部のオブジェクトに対して、オブジェクト傾向の判定処理が行われることに相当する。オブジェクト傾向の判定は、後続するオブジェクトが結合に適する可能性が高い(結合効果が高い)のかどうかを知るために行われる。言い換えればここでの処理は、現在および過去に処理されたオブジェクトの情報に基づいて、未来に処理されるオブジェクトに対する結合モードを決定あるいは仮決定する。
なお、この判定処理は結合停止モード中に行われる。その理由は、結合停止モードから抜け出すタイミングを見つけるためである。このタイミングは、本実施例においては、現在のオブジェクトやそれまでに処理されたオブジェクトの情報から、以降のオブジェクトに対して結合するための処理(ステップS604〜S608)を行った方が効率的だとみなされるタイミングに相当する。この判定処理については、図7を用いて後述する。
ステップS603において、管理部300は、現在の結合モードに応じて処理を切り替える。現在の結合モードが結合推進モードである場合は、ステップS604へ、結合停止モードである場合は、ステップS610へ移行する。このように、結合モードが結合停止モードである場合には以降のステップS604〜S608がスキップされるため、各判定やスプールにかかる処理コストを削減することができる。
ステップS604において、オブジェクト結合部303は、処理中の現在のオブジェクトが、スプール済の別のオブジェクトと結合すべきオブジェクトであるか判定する。判定条件の一例は、現在のオブジェクトの描画位置が、スプール済みの別オブジェクトの描画位置と閾値以上離れているか否かである。この条件例においては、描画位置どうしが閾値以上離れている場合に、現在のオブジェクトとスプール済みの別オブジェクトとを結合すべきでないと判定される。そうでない場合に、現在のオブジェクトとスプール済みの別オブジェクトとを結合すべきであると判定される。なお現在のオブジェクトの描画位置とは、現在のオブジェクトを囲む矩形(バウンディングボックス)の左上頂点の座標である。スプール済みの別オブジェクトの描画位置とは、スプール済みの全別オブジェクトを囲む矩形(バウンディングボックス)の左上頂点の座標である。
なお上記の判定条件は一例であって、他の判定条件であっても良い。例えば、現在のオブジェクトとスプール済みの別オブジェクトとを囲む矩形(バウンディングボックス)内に対する、現在のオブジェクトとスプール済みの別オブジェクトの占有面積が閾値未満であるかを判定条件としても良い。閾値未満であれば結合すべきでないと判定され、そうでなければ結合すべきであると判定される。
なお、スプール済みのオブジェクトがない場合、処理中の現在のオブジェクトは後続するオブジェクトと結合可能であるかもしれないので、結合すべきであると判定される。
ステップS605において、管理部300は、ステップS604の判定の結果に応じて処理を切り替える。処理中の現在のオブジェクトが、スプール済みの別のオブジェクトと結合すべきオブジェクトであると判定された場合は、ステップS606へ移行する。そうではなく、処理中の現在のオブジェクトが、スプール済みの別オブジェクトと結合すべきでないオブジェクトであると判定された場合はステップS607へ移行する。
ステップS606において、オブジェクトスプール部302は、処理中の現在のオブジェクトをスプールする。尚、ここでは説明のためスプールとしているが、このステップでオブジェクト結合部303が処理中の現在のオブジェクトとスプール済のオブジェクトを予め結合しても良い。
ステップS607において、オブジェクト結合部303は、スプール済みの1つ以上のオブジェクトを入力とする。そしてオブジェクト結合部303は、それら入力された1つ以上のオブジェクトに対して結合処理を行い、1つ以上の結合されたオブジェクトを出力する。そしてオブジェクト結合部303は、結合処理が行われたスプール済みのオブジェクトを削除する。なお、スプール済みのオブジェクトが1つだけである場合に、オブジェクト結合部303は、結合処理において何も行わずに、入力されたオブジェクトをそのまま出力する。
オブジェクトの結合処理の方法として、本実施例ではマルチパス結合と呼ばれる方法を説明する。マルチパス結合は、異なる複数の属性を持つ複数のオブジェクトを、その異なる属性の属性ごとに分けてオブジェクトを結合する。例えばイメージ属性を持つオブジェクトとグラフィック属性を持つオブジェクトとを含む複数のオブジェクトに対してマルチパス結合処理を行うと、結合結果として、イメージ属性を持つ1つのオブジェクトとグラフィック属性を持つ1つのオブジェクトとが出力される。
マルチパス結合では、オブジェクト同士の属性やオペランド種別や色空間が異なると、それらオブジェクトどうしを結合することができない。そのためオブジェクト結合部303は、処理中の現在のオブジェクトおよびスプール済みのオブジェクトの属性の情報およびオペランド情報に含まれるオペランド種別や色空間の情報をチェックして、結合処理を行う。
入力された複数のオブジェクトのマルチパス結合の例を、図8(a)、(b)を用いて説明する。図8(a)、(b)のそれぞれは、3つの矩形のオブジェクトをマルチパス結合する異なる2つのケースである。スプール済みのオブジェクト801〜806は表1の通りであり、処理中の現在のオブジェクトは、スプール済みのオブジェクトとは結合すべきであると判定されなかったものとする。
図8(a)には、オブジェクト801、802、803が図示される。オブジェクト801および802はそれぞれ、上書きで描画される、グラフィック属性を持つ白色の単色フィルの矩形オブジェクトである。オブジェクト803は、上書き(ROP2:COPYPEN)で描画されるイメージ属性を持つイメージフィルの矩形オブジェクトである。
図8(b)には、オブジェクト804、805、806が図示される。オブジェクト804、805、806はそれぞれ、上書き(ROP2:COPYPEN)で描画される、グラフィック属性を持つ白色の単色フィルの矩形オブジェクトである。
Figure 0006129127
このようなオブジェクトに対してマルチパス結合を行った結果が図8(a)、(b)および表2に示される。
図8(a)は、オブジェクト801〜803に対してマルチパス結合を行った結果、オブジェクト810、830が出力されることを示している。
オブジェクト810は、表2に示されるように、属性情報がグラフィックであり、パス形状情報がパス811であり、オペランド情報がRGB色空間の白色の単色フィル812であり、オペレータ情報がROP2のCOPYPEN(上書き)である。すなわち、オブジェクト810は、上書きによって描画される、内部が白色で塗られたパス811に相当するグラフィック属性のオブジェクトである。
オブジェクト820は、表2に示されるように、属性情報がイメージであり、パス形状情報がパス821であり、オペランド情報がRGB色空間のイメージ822であり、オペレータ情報がROP2のCOPYPENである。すなわち、オブジェクト820は、上書きによって描画される、パス821の形状でクリッピングされたイメージ822に相当するイメージ属性を持つオブジェクトである。
一方、図8(b)は、オブジェクト804〜806に対してマルチパス結合を行った結果、オブジェクト840が出力されることを示している。
オブジェクト840は、表2に示されるように、属性情報がグラフィックであり、パス形状情報がパス841であり、オペランド情報がRGB色空間の白色の単色フィル842であり、オペレータ情報がROP2のCOPYPENである。すなわち、オブジェクト840は、上書きによって描画される、内部が白色で塗られたパス841に相当するグラフィック属性のオブジェクトである。
Figure 0006129127
以上から理解されるように、オブジェクト801および802は、1つのオブジェクトに結合され、オブジェクト803は他のオブジェクトとは結合されない。その結果、結合前と結合後のオブジェクト数の比は、3:2となっている。一方で、オブジェクト804〜806は、1つのオブジェクトに結合される。この結果、結合前と結合後のオブジェクト数の比は、3:1となっている。つまり、オブジェクト801〜803に対してマルチパス結合を行うより、オブジェクト804〜806に対してマルチパス結合を行った方が、結合効果は高いと言える。そして、このような結合効果の高いオブジェクト群に対してマルチパス結合を行うことが、後述するDLを生成する際の処理コストの低下につながる。
ステップS608において、結合モード判定部304は、ステップS607で結合したオブジェクトを解析し、結合モードを切り替えるかを判定し、結合モードを決定あるいは仮決定する。すなわちこの処理は、S502の処理によって読みだされるべき複数の描画コマンドのうちの既に読みだされた描画コマンドに対応する一部のオブジェクトに対して、結合モードの判定処理が行われることに相当する。言い換えれば、現在および過去に処理されたオブジェクトの情報に基づいて、未来に処理されるオブジェクトに対する結合モードを決定する。この判定処理について、図9を用いて後述する。
ステップS609において、DL変換部305は、オブジェクトをDLに変換する。ステップS603からの分岐から直接このステップS609に飛んできた場合は、オブジェクトは1つだけであるので、DL変換部305は、この1つのオブジェクトをDLに変換する。一方、ステップS604〜S608を通ってこのステップS609に辿りついた場合は、DL変換部305は、S608によって結合された後のオブジェクトをDLに変換し、且つ、処理中の現在のオブジェクトをS606と同様にスプールする。なお、処理中の現在のオブジェクトがPDLに含まれる末尾の描画コマンドから生成されたものであれば、それまでにスプールされているオブジェクトをDLに変換する。
このDLへの変換処理について、図10、11を用いて後述する。
<オブジェクト傾向の判定処理>
図7(a)を用いて、ステップS602の判定処理について説明する。この判定処理は、処理中の現在のオブジェクトおよび後続のオブジェクトの傾向が、「結合効果の低いオブジェクトが連続するという傾向」から「結合効果の高いオブジェクトが連続するという傾向」に変化するかを判定する。概念的には、現在あるいは過去のオブジェクトの傾向から、未来のオブジェクトの傾向を予測する処理である。このような傾向の変化を判定するのは、後続のオブジェクトを結合推進モードで処理するためである。傾向が変化すると判定された場合に、結合モードを結合停止モードから結合推進モードに切り替える。このように結合モードを切り替えることで、結合効果の高いオブジェクトの結合をスキップしてしまうことを抑制する。
なお、ステップS602の本判定処理と、ステップS604の判定処理とを分割し、その間にステップS603の分岐処理を加えることで、ステップS602の判定結果に応じて効率的にステップS604の判定処理をスキップすることが可能となる。本実施例では、ステップS602の判定処理の処理コストが、ステップS604の判定処理の処理コストよりも小さいように構成するのが好ましい。例えば、ステップS602の判定処理では、処理中の現在のオブジェクトおよび直近の過去2つ分のオブジェクトの情報だけを用いられ、ステップS604の判定処理では、S606でスプールされている全てのオブジェクトの情報を用いるように構成する。あるいは、ステップS602の判定処理の処理ステップ数がステップS604の判定処理の処理ステップ数よりも小さくなるように構成する。そのようにすれば、各オブジェクトに対して常にステップS604の処理を行う場合よりも、各オブジェクトに対して常にステップS602の処理を行う場合の方が、処理コストが小さくなる。
以下のステップS701およびS702(S705)で、オブジェクト傾向判定部301は、処理中の現在のオブジェクトが、結合モードを結合停止モードから結合推進モードへ切り換えるトリガーとなる特定(所定)のオブジェクトであるかを判定している。
ステップS701において、オブジェクト傾向判定部301は、処理中の現在のオブジェクトのオペレータ情報のROP情報にROP3に指定されているかを判別する。オペレータ情報のROP情報にROP3が指定されているオブジェクトのことを、ROP3指定のオブジェクトと呼ぶ。ROP3指定のオブジェクトが入力される場合に、後続して入力されるオブジェクトもROP3指定のオブジェクトである可能性が高いという事実を、本発明者は発見した。また、それら連続して入力されるROP3指定のオブジェクトに対してオブジェクト結合部303によって結合処理を行うと、結合効果が非常に高いことが多いという事実にも、本発明者は気づいた。例えば、イメージのクリッピングに相当するROP3(例えば0xCA)が指定されているオブジェクトの後には、同じROP3(例えば0xCA)が指定されているオブジェクトが続く傾向がある。そしてこのオブジェクトがクリッピング対象としているイメージは同一である可能性が高い。このような一連のオブジェクトに結合処理が行われると、1つのイメージに1つのクリッピングマスクが設定された1つのオブジェクトに結合され、結合効果は高いものとなる。
そこでROP情報にROP3が指定されている場合は、ステップS706へ、ROP3以外のROPが指定されている場合は、ステップS702へ移行する。
ステップS702において、オブジェクト傾向判定部301は、処理中の現在のオブジェクトが結合好適オブジェクトかを判定する。結合好適オブジェクトとは、処理中の現在のオブジェクトを直前に処理された別のオブジェクトと仮に結合したならば、高い結合効果を期待できるオブジェクトを指す。処理中の現在のオブジェクトが結合好適オブジェクトであるための条件の例として以下が挙げられる。
条件(1):処理中の現在のオブジェクトのオペランド種別が単色フィルであり、その単色フィルの色とそれまでに連続して処理されたオブジェクトの単色フィルの色とを合わせた色数が色数閾値以内であること。詳細には後述のオブジェクトカウントがカウント閾値を超えるまでの間に連続して処理されたオブジェクトの単色フィルの色の種類の合計が色数閾値以内となることである。本実施例では色数閾値は「1」に設定されている。色数閾値が「1」に設定されていれば、処理中のオブジェクトの単色フィルの色が、直前に処理されたオブジェクトの単色フィルの色と同じである場合に処理中のオブジェクトが結合好適オブジェクトであると判定される。色数閾値は「1」以外であっても良い。
条件(2):処理中の現在のオブジェクトおよび直前に処理されたオブジェクトのオペランド種別がともにイメージフィルであり、処理中の現在のオブジェクトの属性と直前に処理されたオブジェクトの属性とが同一であること。例えば、破線(ライン属性)を示すイメージフィルのオブジェクトが連続する場合などがこの条件を満たす。
条件(3):処理中の現在のオブジェクトの属性と直前に処理されたオブジェクトの属性とが同一であり、処理中の現在のオブジェクトの属性の描画位置と直前に処理されたオブジェクトの描画位置とが所定距離以内にある(高密集している)こと。
結合好適オブジェクトであるか否かの判定は例えば次のように行われる。オブジェクト傾向判定部301は、それまでに処理したオブジェクトの属性情報、オペランド種別、オブジェクトの描画位置を記憶しておき、それらの履歴に基づいて処理中の現在のオブジェクトが結合好適オブジェクトとなる条件(1)〜(3)を満たすか否かを判定する。この条件を満たす場合に処理中の現在のオブジェクトは結合好適オブジェクトであると判定される。結合好適オブジェクトであると判定された場合は、ステップS704へ移行し、結合好適オブジェクトであると判定されなかった場合は、ステップS703へ移行する。
ステップS703において、オブジェクト傾向判定部502は、オブジェクトカウントを0にする。オブジェクトカウントとは、結合好適オブジェクトをいくつ連続で処理しているか、を示している。その後、オブジェクト傾向判定処理を終了する。
ステップS704において、オブジェクト傾向判定部502は、オブジェクトカウントを1つ加算する。
ステップS705において、オブジェクト傾向判定部502は、オブジェクトカウントとカウント閾値を比較する。カウント閾値とは、結合好適オブジェクトの連続性を表す閾値である。つまり、オブジェクトカウントがカウント閾値を超える場合は、処理中の現在のオブジェクト以降も結合好適オブジェクトが連続する、とみなせる。このような場合は、後続するオブジェクトは結合効果が高いはずなので、処理はS706に移行する。そうでない場合は、オブジェクト傾向判定処理を終了する。
ステップS706において、オブジェクト傾向判定部502は、現在の結合モードを結合推進モードへ移行する。その後、オブジェクト傾向判定処理を終了する。又、オブジェクトカウントを0に初期化する。
以上がオブジェクト傾向の判定処理である。
<オブジェクト結合後の結合モードの判定>
図9を用いて、ステップS608の判定処理について説明する。
この判定処理では、ステップS607の結合処理の結合効果に基づいて、結合モードの切り替えを判定する。
ステップS901において、結合モード判定部304は、ステップS607の結合処理の対象となった入力オブジェクト数(スプールされていたオブジェクト数)と、出力オブジェクト数(結合後のオブジェクト数)を取得する。そして結合モード判定部304は、入力オブジェクト数/出力オブジェクト数で比率を計算する。この計算された比率が結合効果を示す。例えば、図8(a)、(b)を用いて説明した例の場合、図8(a)では、計算される比率は「1.5」であり、図8(b)では、計算される比率は「3」である。
ステップS902において、結合モード判定部304は、ステップS901で算出した比率が削減閾値を超えている場合は、結合処理による出力オブジェクト数の削減効果が高い(結合効果が高い)と判定し、ステップS903に移行する。そうでない場合は、ステップS904へ移行する。
ステップS903において、結合モード判定部304は、結合モードを結合推進モードのままで維持する。
ステップS904において、結合モード判定部304は、結合モードを結合停止モードに切り替える。
例えば、削減閾値に「2」が設定されている場合、結合処理によってオブジェクト数を半減させる事ができない場合は結合効果が低いとみなされるということである。図8(a)を用いて説明した例の場合、イメージ結合では、結合推進モードが継続されるが、マルチパス結合では、結合モードが結合停止モードへ切り替わる。
以上の判定は、次の期待に基づいている。
(1)処理中の現在のオブジェクトまで連続するオブジェクトに対する結合処理の結合効果が高いということは、すなわち、後続するオブジェクトも結合効果が高い。
(2)処理中の現在のオブジェクトまで連続するオブジェクトに対する結合処理の結合効果が低いということは、すなわち、後続するオブジェクトも結合効果が低い。
なぜなら連続するオブジェクトの傾向は、類似するからである。
以上が、ステップS608の判定処理である。
<オブジェクトのDL>
図10、11を用いて、ステップS609の変換処理について説明する。
まずステップS609の変換によって生成されるDLの構造について、図11で説明する。
図11(a)は、図8(a)に示されるオブジェクト810、820から生成されるDLを例示したものである。このDLには、エッジE11、E12、E21、E22が含まれる。エッジE11およびE12は、レベルL1へのリンクを有し、このレベルL1は、フィルF1へのリンクを有する。エッジE21、E22は、レベルL2へのリンクを有し、このレベルL2は、フィルF2へのリンクを有する。
各エッジは、対応するオブジェクトの形状を表す情報である。各エッジは、対応するオブジェクトのパス形状情報から生成される。例えばオブジェクト810では、パス811の形状を示す左端のエッジおよび右端のエッジをそれぞれエッジE11およびE12として生成する。エッジE11およびE12のそれぞれは、エッジの開始点の座標(x11、y1)および(x12、y1)を有する。またエッジE21およびE22のそれぞれは、エッジの開始点の座標(x21、y2)および(x22、y2)を有する。
各エッジから参照されるレベルは、対応するオブジェクトの重なり順序を表す情報である。各レベルは、対応するオブジェクトの生成順に基づいて割り当てられる。例えばオブジェクト810、820は、結合処理によって同時期に生成されたため、レベルL1、L2には、同じレベルの順位が割り当てられる。レベルの順位は、小さいほど重なり順序でより下層であることを示す。
各レベルから参照されるフィルは、対応するオブジェクトの塗りを表す情報である。各フィルは、対応するオブジェクトのオペランド情報から生成される。例えばオブジェクト810では、オペランド情報に白色の単色フィル812が含まれるので、レベルL1から参照されるフィルF1は、白色の単色フィルを示す情報となる。
以上がオブジェクトから生成されるDLに含まれるエッジ、レベル、フィルの説明である。
図11(b)は、オブジェクト810から生成されるDL1101に含まれるエッジのリスト構造、および、そのDL1101に、オブジェクト820から生成されるDLを追加(マージ)した後のDL1102に含まれるエッジのリスト構造を例示する。
DLに含まれるエッジのリスト構造は、エッジが開始する座標に基づいて生成される。リスト構造は、Y座標が等しい同一スキャンライン上において開始されるエッジのX座標の昇順にソートされている。DL1101では、エッジE11およびE12が含まれるので、Y=y1のスキャンライン上で、エッジE11がX=x11の座標から開始され、次にエッジE12がX=x12の座標から開始されることを示すリスト構造が生成される。エッジE11からE12へはリンクでつながっている。
DL1101に、オブジェクト820から生成されるDLをマージする場合、DL1101に保持されるスキャンラインのうちどのスキャンラインの後に、オブジェクト820から生成されるDLをマージするかが判定される。例えば、スキャンラインのY座標を比較することで判定される。スキャンラインY=y2はスキャンラインY=y1よりもY座標が大きいので、スキャンラインY=y1からリンクされるスキャンラインY=y2がDL1101内に追加される。そしてエッジE21およびE22が、追加されたスキャンスキャンラインY=y2に、エッジE21、E22の順にリンクされるように追加される。その結果、DL1102が生成される。
図10を用いて、ステップS609の変換処理を説明する。ここでは、DL変換部305が、オブジェクトの情報からエッジ、レベル、フィルを生成し、それらを既にあるDLにマージする。
ステップS1001において、DL変換部305は、オブジェクトのオペランド情報からフィルを生成する。
ステップS1002において、DL変換部305は、オブジェクトの生成順からレベルを生成し、ステップS1001で生成されたフィルへのリンクを生成されたレベルに含める。
ステップS1003において、DL変換部305は、オブジェクトのパス形状情報からエッジを生成し、ステップS1002で生成されたレベルへのリンクを生成されたエッジに含める。
ステップS1004において、DL変換部305は、ステップS1003で生成したエッジをDLへマージする。
以上が本実施例のDLの生成処理である。
以上、本実施例によれば、結合停止モードと結合推進モードとを適宜切り換えることによって、S604の結合判定処理にかかる処理コストを効果的に削減できる。また、S606のスプール処理やS607の結合処理にかかる処理コストを効果的に削減できる。
(変形例1)
上記実施例では、結合停止モードから結合推進モードへの切り替わりの判定条件として、ステップS701(ROP情報にROP3が指定されていること)を挙げたが、これだけに限定されない。例えば、結合停止モード中に、ROP情報にROP2:XORが指定されているオブジェクト(ROP2:XOR指定のオブジェクト)が処理される場合、オブジェクト傾向判定部301は、結合モードを結合推進モードに切り替えても良い。なぜなら、後続のオブジェクトがROP2:AND指定のオブジェクトであって、さらにその後続のオブジェクトがROP2:XOR指定のオブジェクトである場合には、結合効果の高い結合処理を行えるからである。具体的には、処理中の現在のオブジェクトと後続の2つのオブジェクトとを、ROP情報にROP2:COPYPENが指定される1つのオブジェクトへ結合することができる。なお、結合モード判定部304は、この後続のオブジェクトのROP情報をチェックして、ROP情報にROP2:ANDが指定されていなかった場合は、結合モードを再び結合停止モードに切り替えても良い。
(変形例2)
上記実施例では、結合停止モードから結合推進モードへの切り替わりの条件として、ステップS701およびS705を挙げたが、これだけに限定されない。例えば、結合停止モードにおいて連続して処理されたオブジェクトの数が一定数を超えた場合、結合モードが結合推進モードへ移行しても良い。このフローを図7(b)に示す。図7(b)のフローは図7(a)と同じく、CPU101がROM103に記憶されたプログラムを実行することで実現され、変形例2においては図7(a)の処理フローに変えて実行される。
図7(b)は、図7(a)のフローに次の処理を加えたことが特徴となっており、その他の処理は図7(a)のものと同様である。
(1)結合停止モードにおいて連続して処理されたオブジェクトの数(通過カウント)をカウントする処理(ステップS708およびS709)
(2)通過カウントが所定数(通過閾値)を超えたかを判定する処理(ステップS707)
ステップS707において、オブジェクト傾向判定部301は、通過カウントと通過閾値とを比較する。通過カウントが通過閾値以下であれば、ステップS701へ、そうでなければ、ステップS706へ移行する。通過カウントが通過閾値を超える場合というのは、ROP3指定のオブジェクトでも結合好適オブジェクトでもないオブジェクトを、通過閾値数分、連続して処理した場合である。尚、初期状態では、通過カウントは0とする。
ステップS708において、オブジェクト傾向判定部301は、通過カウントをインクリメントする。すなわち、オブジェクト傾向判定部301は、ROP3指定のオブジェクトでも結合好適オブジェクトでもないオブジェクトを連続して処理した回数をカウントする。
ステップS709において、オブジェクト傾向判定部301は、通過カウントを0に初期化する。
以上の処理によって、例えば、通過閾値を100に設定した場合、ROP3指定のオブジェクトや結合好適オブジェクトが連続しなくても、100個のオブジェクトを処理した後、結合モードが結合停止モードから結合推進モードへ遷移する。すなわち、結合停止モードは、少なくとも一定数のオブジェクトを処理した後には確実に解除され、結合モードは結合推進モードに切り替わる。
この変形例2は、ステップS701およびS702で判定されるような特定のオブジェクトではないものの、結合効果が高いかもしれないオブジェクトを多く含むPDLを処理する際に非常に有効である。
また、図7(b)に示されるフローチャートから、ステップS701〜S705を省略した図7(c)に示されるフローチャートが図7(b)の代わりに実行されても良い。この図7(c)のフローによっても、少なくとも一定数のオブジェクトが結合停止モードにおいて連続して処理された場合に、結合停止モードは解除される。
これまでに実施例、変形例1、2で説明したように、オブジェクトの情報や連続するオブジェクトの情報どうしの関係性に基づいて結合モードを切り替えることで、結合効果の低いオブジェクトどうし結合を抑制することができる。
例えば、図12の上段に図示されるように、連続するオブジェクト間でオペランド情報が異なる場合がある。このようなオブジェクト1201〜1209に対して結合処理を行うと、5つのオブジェクト1210〜1250に結合される。すなわち、入力オブジェクト数9に対して、出力オブジェクト数5であるので、結合効果を示す比率は「1.8」である。これは削減閾値「2」よりも小さく、結合効果が低いことを示している。
このようなオブジェクト1201〜1209に対しては、ステップS604の判定処理、S606のスプール処理、S607の結合処理にかける処理コストが無駄になる。
以上説明した実施例、変形例1、2では、このようなオブジェクト1201〜1209に対するこれら処理コストを効果的に削減できる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (19)

  1. 複数のオブジェクトに対して結合処理を行う結合手段と、
    前記複数のオブジェクトとは異なるオブジェクトに対して別のオブジェクトと結合するかの判定処理を行うか否かを、前記結合処理の前後のオブジェクトの情報に基づいて判定する判定手段と、
    前記判定手段による前記判定に基づいて、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成する生成手段と、
    を有することを特徴とする画像処理装置。
  2. 前記生成手段は、
    前記判定手段によって前記異なるオブジェクトに対して前記判定処理を行わないと判定された場合に、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成し、
    前記判定手段によって前記異なるオブジェクトに対して前記判定処理を行うと判定された場合に、前記異なるオブジェクトに対して前記判定処理を行い、前記判定処理の結果に基づいた処理によって前記異なるオブジェクトに対応する中間データを生成することを特徴とする請求項1に記載の画像処理装置。
  3. オブジェクトを取得する取得手段であって、少なくとも前記複数のオブジェクトと、前記複数のオブジェクトの次のオブジェクトと、を取得する取得手段と、
    前記次のオブジェクトに対して、前記複数のオブジェクトと共に前記結合処理の対象とするか否かを判定する結合判定手段と、
    を有し、
    前記結合手段は、前記結合判定手段によって前記次のオブジェクトを前記結合処理の対象としないと判定された場合に、前記次のオブジェクトを前記結合処理の対象とせずに前記結合処理を行い、
    前記判定手段は、前記取得手段によって取得される前記次のオブジェクトの更に次のオブジェクトに対して前記判定処理を行うか否かを、前記結合処理の結果に基づいて判定し、
    前記生成手段は、前記判定手段による前記判定に基づいて、前記更に次のオブジェクトに対して前記判定処理を行わずに、前記更に次のオブジェクトに対応する中間データを生成することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記結合処理の前後のオブジェクトの情報とは、前記結合処理の対象となった前記複数のオブジェクトの数、および、前記結合処理の結果得られたオブジェクトの数であることを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記判定手段は、前記複数のオブジェクトの数と、前記得られたオブジェクトの数とを比較することで、前記結合処理によってオブジェクト数が削減された程度を求め、当該削減された程度が所定の閾値を越える場合に、前記異なるオブジェクトに対して前記判定処理を行うと判定し、当該削減された程度が前記所定の閾値を越えない場合に、前記異なるオブジェクトに対して前記判定処理を行わないと判定することを特徴とする請求項4に記載の画像処理装置。
  6. 前記判定手段は、前記異なるオブジェクトを含む所定の閾値個数以下の一連の複数のオブジェクトのそれぞれに対して前記判定処理を行うか否かを、前記結合処理の結果に基づいて判定することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
  7. 前記判定手段による前記判定の結果にしたがって前記判定処理が行われないオブジェクトは、特定の条件を満たさないオブジェクトであることを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 複数のオブジェクトに対して結合処理を行う結合手段と、
    特定の条件を満たさないオブジェクトであって前記複数のオブジェクトとは異なるオブジェクトに対して別のオブジェクトと結合するかの判定処理を行うか否かを、前記結合処理の前後のオブジェクトの情報に基づいて判定する判定手段と、
    前記判定手段による前記判定に基づいて、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成する生成手段と、
    を有することを特徴とする画像処理装置。
  9. 前記特定の条件を満たさないオブジェクトとは、少なくともROP3指定されていないオブジェクトであることを特徴とする請求項7または8に記載の画像処理装置。
  10. 前記結合処理は、前記複数のオブジェクトから、より少数の複数のオブジェクトを得ることができる処理であることを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
  11. 前記結合処理は、前記複数のオブジェクトを、少なくとも同じ属性ごとにオブジェクトを結合する処理であることを特徴とする請求項1乃至10の何れか1項に記載の画像処理装置。
  12. 前記属性には、グラフィック属性とイメージ属性を含むことを特徴とする請求項11に記載の画像処理装置。
  13. 中間データに基づいたレンダリング処理を行うレンダリング手段と、
    前記レンダリング処理によって得られたページの画像を印刷する印刷手段と、
    を有することを特徴とする請求項1乃至12の何れか1項に記載の画像処理装置。
  14. 複数のオブジェクトに対して結合処理を行う結合工程と、
    前記複数のオブジェクトとは異なるオブジェクトに対して別のオブジェクトと結合するかの判定処理を行うか否かを、前記結合処理の前後のオブジェクトの情報に基づいて判定する判定工程と、
    前記判定工程による前記判定に基づいて、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成する生成工程と、
    を有することを特徴とする画像処理方法。
  15. 前記生成工程は、
    前記判定工程によって前記異なるオブジェクトに対して前記判定処理を行わないと判定された場合に、前記異なるオブジェクトに対して前記判定処理を行わずに、前記異なるオブジェクトに対応する中間データを生成し、
    前記判定工程によって前記異なるオブジェクトに対して前記判定処理を行うと判定された場合に、前記異なるオブジェクトに対して前記判定処理を行い、前記判定処理の結果に基づいた処理によって前記異なるオブジェクトに対応する中間データを生成することを特徴とする請求項14に記載の画像処理方法。
  16. 少なくとも前記複数のオブジェクトと、前記複数のオブジェクトの次のオブジェクトと、を取得する第1の取得工程と、
    前記次のオブジェクトに対して、前記複数のオブジェクトと共に前記結合処理の対象とするか否かを判定する結合判定工程と、
    前記次のオブジェクトの更に次のオブジェクトを取得する第2の取得工程と、
    を有し、
    前記結合工程は、前記結合判定工程によって前記次のオブジェクトを前記結合処理の対象としないと判定された場合に、前記次のオブジェクトを前記結合処理の対象とせずに前記結合処理を行い、
    前記判定工程は、前記更に次のオブジェクトに対して前記判定処理を行うか否かを、前記結合処理の結果に基づいて判定し、
    前記生成工程は、前記判定工程による前記判定に基づいて、前記更に次のオブジェクトに対して前記判定処理を行わずに、前記更に次のオブジェクトに対応する中間データを生成することを特徴とする請求項14または15に記載の画像処理方法。
  17. 前記結合処理の前後のオブジェクトの情報とは、前記結合処理の対象となった前記複数のオブジェクトの数、および、前記結合処理の結果得られたオブジェクトの数であることを特徴とする請求項14乃至16の何れか1項に記載の画像処理方法。
  18. 前記判定工程は、前記複数のオブジェクトの数と、前記得られたオブジェクトの数とを比較することで、前記結合処理によってオブジェクト数が削減された程度を求め、当該削減された程度が所定の閾値を越える場合に、前記異なるオブジェクトに対して前記判定処理を行うと判定し、当該削減された程度が前記所定の閾値を越えない場合に、前記異なるオブジェクトに対して前記判定処理を行わないと判定することを特徴とする請求項17に記載の画像処理方法。
  19. 請求項1乃至12の何れか1項に記載の各手段としてコンピュータを機能させるためのプログラム。
JP2014162996A 2014-08-08 2014-08-08 画像処理装置、画像処理方法、プログラム Active JP6129127B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014162996A JP6129127B2 (ja) 2014-08-08 2014-08-08 画像処理装置、画像処理方法、プログラム
US14/817,100 US9619740B2 (en) 2014-08-08 2015-08-03 Image processing apparatus and image processing method
CN201510484271.3A CN105376453B (zh) 2014-08-08 2015-08-07 图像处理设备和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014162996A JP6129127B2 (ja) 2014-08-08 2014-08-08 画像処理装置、画像処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2016038801A JP2016038801A (ja) 2016-03-22
JP6129127B2 true JP6129127B2 (ja) 2017-05-17

Family

ID=55267651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014162996A Active JP6129127B2 (ja) 2014-08-08 2014-08-08 画像処理装置、画像処理方法、プログラム

Country Status (3)

Country Link
US (1) US9619740B2 (ja)
JP (1) JP6129127B2 (ja)
CN (1) CN105376453B (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1081039A (ja) * 1996-09-10 1998-03-31 Canon Inc 印字装置および印字方法ならびに情報処理システム
US7212314B2 (en) * 2002-03-29 2007-05-01 Sharp Laboratories Of America, Inc. Context-based adaptive image processing
JP2008026943A (ja) * 2006-07-18 2008-02-07 Ricoh Co Ltd 編集処理装置、編集処理装置の制御方法、プログラムおよび記録媒体
US7978364B2 (en) * 2007-06-18 2011-07-12 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
JP5281265B2 (ja) 2007-10-02 2013-09-04 キヤノン株式会社 印刷処理方法およびそれを実現する情報処理装置
US8638471B2 (en) * 2009-03-24 2014-01-28 Nonsek Llc System and method for generating randomly remixed images
JP2013028012A (ja) * 2011-07-27 2013-02-07 Canon Inc 印刷装置、情報処理装置、印刷システム、印刷制御方法、及びプログラム
JP2013033390A (ja) * 2011-08-02 2013-02-14 Canon Inc 情報処理システム、描画処理方法及びプログラム
JP4905604B1 (ja) * 2011-09-26 2012-03-28 富士ゼロックス株式会社 印刷データ処理システム及びプログラム
JP2014050993A (ja) * 2012-09-06 2014-03-20 Canon Inc 画像形成装置及び方法及びプログラム及び記憶媒体

Also Published As

Publication number Publication date
CN105376453A (zh) 2016-03-02
US9619740B2 (en) 2017-04-11
US20160042258A1 (en) 2016-02-11
JP2016038801A (ja) 2016-03-22
CN105376453B (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
US9477914B2 (en) Image processing apparatus, method, and medium for converting page image data
US8830506B2 (en) Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors
US10929727B2 (en) Image processing apparatus with color replacement with achromatic colors, and image processing method and storage medium thereof
JP5005789B2 (ja) 印刷システムおよび印刷システムの制御方法
JP2017024321A (ja) 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム
US11010648B2 (en) Image processing apparatus converting target partial image data to partial print data using first profile or second profile
JP2013028012A (ja) 印刷装置、情報処理装置、印刷システム、印刷制御方法、及びプログラム
US9716810B2 (en) Image processing apparatus configured to perform smoothing based on analysis of PDL data, and storage medium storing program therefor
JP6129127B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2017094543A (ja) 画像処理装置、画像処理方法及びプログラム
US20140347681A1 (en) Image processing apparatus and image processing method
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP5936363B2 (ja) 画像処理装置及び画像処理方法
US10365865B2 (en) Image forming apparatus for managing object used for rendering, method thereof, and storage medium
US9305249B2 (en) Image forming apparatus, image forming method, and computer-readable medium for rasterizing scan line using intermediate data
JP7073192B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
US20140368888A1 (en) Image forming apparatus, image processing method, and medium
US9824305B2 (en) Printing control device, image processing method, and storage medium
JP6521650B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2013033390A (ja) 情報処理システム、描画処理方法及びプログラム
JP2010238236A (ja) 印刷システムおよび印刷システムの制御方法
JP2014035672A (ja) 画像処理装置及び画像処理方法
JP2016052724A (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170216

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: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170411

R151 Written notification of patent or utility model registration

Ref document number: 6129127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151