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

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

Info

Publication number
JP2011158951A
JP2011158951A JP2010017867A JP2010017867A JP2011158951A JP 2011158951 A JP2011158951 A JP 2011158951A JP 2010017867 A JP2010017867 A JP 2010017867A JP 2010017867 A JP2010017867 A JP 2010017867A JP 2011158951 A JP2011158951 A JP 2011158951A
Authority
JP
Japan
Prior art keywords
band
divided
units
data
area
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.)
Pending
Application number
JP2010017867A
Other languages
English (en)
Inventor
Jun Kuroki
純 黒木
Fumito Akiyama
文人 秋山
Masahiro Ozawa
昌裕 小澤
Takahisa Matsunaga
貴久 松永
Hiroshi Nogawa
博司 野川
Yasushi Aoyama
泰史 青山
Kunikazu Sato
邦和 佐藤
Yasutaka Shimohara
康貴 下原
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2010017867A priority Critical patent/JP2011158951A/ja
Priority to CN201110031312.5A priority patent/CN102194211B/zh
Priority to US13/015,631 priority patent/US8411949B2/en
Publication of JP2011158951A publication Critical patent/JP2011158951A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • 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/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】複数の演算部を用いてラスタライズ処理を実行する際のメモリ使用量の増大を抑えること。
【解決手段】ページ記述言語データに基づいてバンド単位で生成された中間データをラスタライズ処理する場合に使用されるワーク領域を有するRAM11と、複数のコアを有し、中間データに対して行うラスタライズ処理を複数のコアを用いて実行する制御部10と、を備えた画像処理装置であって、制御部10は、コアの数に基づいて各中間データを構成するバンドを複数に分割して複数の分割領域を生成し、コア毎にラスタライズ処理を行う分割領域を割り当てる画像処理装置。
【選択図】図5

Description

本発明は、画像処理装置、プログラム及び画像処理方法に関する。
近年、プロセッサコア等の演算部(以下、コアと称す)が一つのパッケージ内に複数集積されて構成され、各コアに処理を分散させて並列処理を行うことにより、処理性能を向上させたマルチコアプロセッサが開発されている。
プリンタ、コピー機、ファクシミリ装置又はこれらの複合機等の画像形成装置においては、このマルチコアプロセッサを用いて並列処理を実行することにより、プリント処理の高速化を図ることが提案されている。
このようなマルチコアプロセッサを用いた画像形成装置において、プリント処理を実行する際には、1ページのイメージデータを複数のバンドに分割し、各バンドそれぞれに各コアを割り当てて並列に圧縮処理や伸長処理を行う技術がある。
また、ビットマップ化されたイメージを構成する少なくとも一つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、当該部分領域のそれぞれに複数のプロセッサのうち少なくとも一つを割り当てて、並列に圧縮・伸長処理を行う技術が開示されている(特許文献1参照)。
特開2005−108114号公報
更に、ビットマップデータの生成処理の効率化を図るために、ページ記述言語(PDL:page description language)形式のデータを複数のバンドに分割された中間言語(DL:Display List)形式のデータに変換し、当該DLデータの各バンドそれぞれを各コアに割り当てて並列にラスタライズ処理を行うことが考えられている。
しかしながら、上述のようなラスタライズ処理を行う際には、バンドを構成するライン数に応じた容量のワーク領域がバンド毎に必要となる。そのため、各バンドそれぞれを各コアに割り当てて同時にラスタライズ処理を実行させると、同時に処理が実行されているバンド数分のワーク領域が必要となる。従って、コア数の増加に伴ってワーク領域が増大し、ワーク領域として使用するメモリ容量が増大するという問題が生じる。
本発明の課題は、上記問題に鑑みて、複数の演算部を用いてラスタライズ処理を実行する際のメモリ使用量の増大を抑えることである。
請求項1に記載の発明は、ページ記述言語形式のデータに基づいてバンド単位で生成された中間言語形式のデータをラスタライズ処理する場合に使用される領域を有する記憶部と、複数の演算部を有し、前記中間言語形式のデータに対して行うラスタライズ処理を前記複数の演算部を用いて実行する制御部と、を備えた画像処理装置であって、前記制御部は、前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てること、を特徴とする画像処理装置である。
請求項2に記載の発明は、請求項1に記載の画像処理装置において、前記制御部は、前記複数の演算部のうち、前記ラスタライズ処理を実行可能な前記演算部の数を取得し、当該取得した演算部の数に応じて前記バンド毎に複数に分割して複数の分割領域を生成すること、を特徴とする。
請求項3に記載の発明は、請求項1又は2に記載の画像処理装置において、前記バンドは、予め設定された複数のラインから構成されており、前記制御部は、前記バンドを構成するライン数と前記演算部の数との除算値に基づいて前記分割領域を構成するライン数を決定すること、を特徴とする。
請求項4に記載の発明は、請求項1から3のいずれか一項に記載の画像処理装置において、前記制御部は、前記演算部それぞれに対して、前記バンド毎に当該バンドを構成する複数の分割領域のうちいずれか一つの分割領域を設定し、前記演算部毎にラスタライズ処理を行う分割領域として当該設定した分割領域を割り当てること、を特徴とする。
請求項5に記載の発明は、請求項1から3のいずれか一項に記載の画像形成装置において、前記制御部は、1ページ分の中間言語形式のデータを構成する複数の分割領域それぞれに対して優先順位を設定し、前記演算部毎にラスタライズ処理を行う分割領域として、ラスタライズ処理されていない最も優先順位の高い分割領域を割り当てること、を特徴とする。
請求項6に記載の発明は、ページ記述言語に基づいてバンド単位で生成された中間言語形式のデータに対して行うラスタライズ処理を複数の演算部を用いて実行するコンピュータを、前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てる制御手段、として機能させるプログラムである。
請求項7に記載の発明は、ページ記述言語に基づいてバンド単位で生成された中間言語形式のデータに対して行うラスタライズ処理を複数の演算部を用いて実行する画像処理方法であって、前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てる制御工程を含むこと、を特徴とする画像処理方法である。
請求項1、6、7に記載の発明によれば、制御部を構成する演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成でき、演算部毎にラスタライズ処理を行う分割領域を割り当てることができる。そのため、1つの演算部が1度にラスタライズ処理を行う中間言語形式のデータのサイズが小さくなり、1つの演算部がラスタライズ処理を行う場合に使用される記憶部の領域を小さくできるため、複数の演算部を用いてラスタライズ処理を実行する際のメモリ使用量の増大を抑えることができる。
請求項2に記載の発明によれば、請求項1と同様の効果を得られるのは勿論のこと、ラスタライズ処理の実行可能な演算部の数に応じて1つのバンドを複数に分割して複数の分割領域を生成することができる。
請求項3に記載の発明によれば、請求項1又は2と同様の効果を得られるのは勿論のこと、バンドを構成するライン数と演算部の数との除算値に基づいて分割領域を構成するライン数を決定することができる。
請求項4に記載の発明によれば、請求項1から3のいずれか一項と同様の効果を得られるのは勿論のこと、演算部毎にラスタライズ処理を行う分割領域として、バンド毎に当該バンドを構成する複数の分割領域のうちいずれか一つの設定された分割領域を割り当てることができるため、1つのバンドのラスタライズ処理を複数の演算部で分担して実行することができ、各演算部がラスタライズ処理を行う場合に使用するメモリ使用量を低減できるとともに、1つのバンドのラスタライズ処理に要する時間の短縮を図ることができる。
請求項5に記載の発明によれば、請求項1から3のいずれか一項と同様の効果を得られるのは勿論のこと、演算部毎にラスタライズ処理を行う分割領域として、ラスタライズ処理されていない最も優先順位の高い分割領域を割り当てることができるため、1ページ分の中間言語形式のデータを構成する複数の分割領域のラスタライズ処理を、複数の演算部で分担して実行することができ、各演算部がラスタライズ処理を行う場合に使用するメモリ使用量を低減できるとともに、1ページのラスタライズ処理に要する時間の短縮を図ることができる。
画像処理装置の制御ブロック図である。 起動処理のフローチャートである。 初期化処理のフローチャートである。 受信したジョブデータに基づいてビットマップデータを生成する処理のフローチャートである。 ラスマスターのフローチャートである。 1ページ分の中間データを構成する各バンドを複数の分割領域に分けたイメージ図である。 固定配分処理のイメージ図である。 順次配分処理のイメージ図である。 透過処理機能を有するページ記述言語形式のデータの透過処理のイメージ図である。 1バンド分のデータの透過処理のイメージ図である。
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
図1に、本実施の形態における画像処理装置1の制御ブロック図を示す。
図1に示すように、画像処理装置1は、制御部10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、HDD(Hard Disk Drive)13、操作部14、表示部15、画像読取部16、プリント部17、通信部18等を備え、各部はバス19等により接続されて構成されている。
本実施の形態における画像処理装置1は、読取対象原稿(以下、原稿と称す)から画像を読み取り、読み取った画像を処理対象紙としての枚葉紙等の記録媒体(以下、用紙と称す)に画像形成するコピー機能や、パーソナルコンピュータ等の外部装置からジョブデータを受信し、受信したジョブデータに基づいて用紙上に画像を形成して出力するプリンタ機能等を備えた画像形成装置としての機能も有する。
制御部10は、プロセッサコア等の演算部(以下、コアと称す)を複数備えて構成されたマルチコアプロセッサを用いて構成される。なお、制御部10は、コアに替えてCPUを集合させ、マルチコアプロセッサと同等の機能を発揮するように構成されてもよい。
制御部10は、ROM12内に格納されている各種処理プログラムやデータをRAM11やHDD13に展開し、当該プログラムに基づいて画像処理装置1の各部の動作を集中制御する。例えば、操作部14や通信部18と接続された外部装置から入力される指示信号に従って、コピーモード、プリントモード、スキャナモードを切り替え、各モードに対する処理プログラムを読み出して、複写、印刷、画像データの読取等の制御を行う。
また、制御部10は、RAM11、ROM12又はHDD13との協働により、ポストスクリプト(登録商標)やPCL等のページ記述言語形式の画像データ(以下、PDLデータと称す。)や、PDF(Portable Document Format)やXPL(XML Paper Specification)等の記述言語形式の画像データ(以下、PDLデータ及びPDF,XPL等の画像データを総称してページ記述言語データと称す。)に基づいて、形式の異なる複数のデータの生成及び保存を行う。
詳しくは、制御部10は、まず、ページ記述言語データを解釈して当該ページ記述言語データとビットマップ形式のデータ(以下、ビットマップデータと称す。)との間の中間言語形式のデータ(以下、中間データと称す。)をバンド単位で生成してRAM11内に保存させ、また、中間データに基づいてビットマップデータを生成してRAM11に保存させる。
中間データは、ページ記述言語データに含まれるオブジェクト(テキストデータ、グラフィックスデータ、イメージデータ等)の特徴に応じて生成されるデータである。例えば、テキストデータやグラフィックスデータの中間データとしてはベクタ形式のデータ、イメージデータの中間データとしてはイメージ形式のデータ、を挙げることができる。
RAM11は、画像形成に係るデータ等、各種プログラムで処理されたデータ等を一時的に記憶する。RAM11に替えて、例えば、HDD(Hard Disk Drive)、MRAM(Magnetic Random Access Memory)又はフラッシュメモリなどの読み書き可能な揮発性又は不揮発性記憶媒体を用いてもよい。
また、本実施の形態のRAM11は、バンド単位で生成された中間データに対してラスタライズ処理をしてビットマップデータを生成する場合に使用されるラスタライズ領域を複数含んだワーク領域を有する記憶部として機能する。
なお、RAM11は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
ROM12は、画像形成に係る各種処理プログラム、画像形成に係るデータ等、各種プログラムで処理されたデータ等を記憶する。また、ROM12は、制御部10及びRAM11との協働により本実施の形態の各処理を実現させるためのプログラムやデータを記憶している。ROM12に替えて、例えば、磁気的、光学的記憶媒体又は半導体メモリ等の読み出し可能な不揮発性の記憶媒体を用いてもよい。また、このROM12は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
例えば、ROM12には、通信部18を介して入力されるジョブデータを受信して、RAM11内に記憶させる機能を実現させるためのプログラムやデータが記憶されている。また、ROM12には、RAM11内に記憶されているジョブデータを読み出し、読み出されたジョブデータの電子データとビットマップデータとの間の形式の中間データをバンド単位で生成してRAM11内に保存させる機能を実現させるためのプログラムやデータが記憶されている。
更に、ROM12には、制御部10に搭載されている全てのコア数の情報と、バンド単位で生成される中間データのライン数(バンドライン数)が予め記憶されている。
また、ROM12には、制御部10が備えるコアの数に基づいて、各バンドの中間データを複数に分割して複数の分割領域を生成し、コア毎にラスタライズ処理を行う分割領域を割り当てるラスタライズマスター処理(以下、ラスマスターと称す)を実行するためのプログラムやデータが記憶されている。
また、ROM12には、割り当てられた中間データに基づいて、ビットマップデータを生成して保存させるラスタライズスレーブ処理(以下、ラススレーブと称す)を実行するためのプログラムやデータが記憶されている。
更に、ROM12には、生成された1ページ分のビットマップデータをプリント部17に出力して用紙上に画像を形成させ、また、出力されたビットマップデータをRAM11から消去(解放)する機能を実現させるためのプログラムやデータが記憶されている。
なお、本実施の形態では、ビットマップデータの出力先をプリント部17として説明するが、これに限らず、例えば、出力先を表示部15としてビットマップデータに基づく画像を表示部に表示させてもよい。
HDD13は、オペレーションプログラムや各種のアプリケーションプログラム及びジョブデータ等の各種データを所定のアドレスと対応付けて記憶する。
なお、HDD13に替えて、CF(Compact Flash)等を用いてもよく、読み書き可能な不揮発性の記憶媒体であればよい。
操作部14は、赤外線式や静電式のタッチパネル及びハードキーから構成される。タッチパネルは、LCD(Liquid Crystal Display)等から構成される表示部15に重畳して設けられる。表示部15には、画像処理装置1の各種操作画面や各種操作案内が表示される。
画像読取部16は、自動原稿送り部と読取部とを備えて構成されている。
自動原稿送り部は、ADF(Auto Document Feeder)と称されるものであり、原稿トレイに積載される原稿を読取部の読取箇所に一枚ずつ搬送する。
読取部は、光源、レンズ、コンタクトガラス、イメージセンサ等が設けられたスキャナを備えて構成され、原稿に照射した光の反射光を結像して光電変換することにより原稿の画像を読み取り、プリント部17に出力する。ここで、画像とは、図形や写真等のイメージデータに限らず、文字や記号等のテキストデータ等も含む意である。
プリント部17は、電子写真プロセス等により各種の画像形成を行う公知の画像形成機構から構成されるものであり、各色(例えば、イエロー(Y)、マゼンダ(M)、シアン(C)、ブラック(K))毎のビットマップデータに基づく画像を用紙等に形成して出力する。
通信部18は、画像処理装置1を外部の通信回線と接続させて、外部装置との通信を可能とする。通信部18は、例えばNIC(Network Interface Card)等であり、通信回線の種類に応じた接続を可能とする装置を用いることができる。
次に、本実施の形態の動作を説明する。
図2に、本実施の形態における起動処理のフローチャートを示す。
図2に示す起動処理は、制御部10を構成する複数のコアのうちいずれか一つと画像処理装置内の各部との協働により実行されるものとする。
まず、画像処理装置1に電源が供給されると、画像処理装置内の各部が起動され(ステップS1)、初期化処理が実行される(ステップS2)。初期化処理後、画像処理装置1は、ジョブデータの受信待機状態となり(ステップS3)、起動処理が終了される。
図3に、ステップS2で実行される初期化処理のフローチャートを示す。
ラスマスターを実行するためのプログラムがRAM11に展開され、ラスマスターが起動する(ステップS11)。起動したラスマスターは処理開始のタイミングまで待機状態となる。また、制御部10に搭載されている全てのコア数の情報がROM12から取得される(ステップS12)。
ステップS12で取得されたコア数がRAM11に展開されて起動しているラススレーブ数より多いか否かが判別される(ステップS13)。
コア数がラススレーブ数よりも多い場合(ステップS13;YES)、ラススレーブを実行するためのプログラムがRAM11に展開され、ラススレーブが1つ起動し(ステップS14)、ステップS13の処理に進む。起動したラススレーブは、処理開始のタイミングまで待機状態となる。
コア数がラススレーブ数以下の場合(ステップS13;NO)、初期化処理が終了される。
即ち、ステップS2で実行される初期化処理では、制御部10が備えるコア数に応じた数のラススレーブを実行するタスクが立ち、当該タスクが実行待ち状態となる。例えば、制御部10が4つのコアを備えている場合には、ラススレーブを実行するタスクが4つ立つこととなる。
図4に、受信したジョブデータに基づいてビットマップデータを生成する処理のフローチャートを示す。図4に示す処理は、制御部10を構成する複数のコアのうちいずれか一つと画像処理装置内の各部との協働により実行されるものとする。
まず、制御部10に搭載されている複数のコアのうち、ラスタライズ処理を実行するために利用可能なコア数が取得される(ステップS21)。
ステップS21では、制御部10を構成する複数の各コアの稼動状況を管理するタスクから利用可能なコア数が取得されたり、RAM11内の予め設定された領域に制御部10を構成する複数の各コアの利用状況を示すデータが保存及び更新されるテーブルを設け、当該テーブルを参照することにより利用可能なコア数が取得されたりする。
また、1つのバンドを構成するラインの数(バンドライン数)がROM12から取得される(ステップS22)。
バンドは、複数のラインによって構成されている。バンドライン数は、画像処理装置毎に個別予め設定されており、ROM12に予め記憶されている。ラインとは、画像を構成する画素を所定の一方向(例えば画像の主走査方向)に並べた画素の集合であり、所定の一方向と直交する他方向(例えば画像の副走査方向)にラインを並べて組み合わせることで画像が構成される。
利用可能コア数とバンドライン数とが取得されると、利用可能コア数に応じて複数に分割されることにより生成される各分割領域を構成するライン数が決定される(ステップS23、S24)。
まず、ステップS23では、バンドライン数が利用可能コア数で除算され、除算値が算出される。ステップS23で算出される除算値は、整数の商と剰余(余り)とを含む。
そして、ステップS24では、各分割領域を構成する仮のライン数が商の値に設定される。このとき、余りがある場合には、当該余りが示すライン数が、いずれかの分割領域に均等に配分される。
例えば、バンドライン数が256、利用可能コア数が3である場合、ステップS23で算出される除算値は、商が85、余りが1となる。この場合、1つのバンドを利用可能コア数である3つの分割領域に分割しているため、この3つの分割領域のうちいずれか一つの分割領域に余り1のラインが配分される。従って、複数の分割領域は、85ラインから成る2つの分割領域と、86ラインからなる1つの分割領域とになる。
バンドを構成する複数の分割領域それぞれのライン数が決定されると、解析処理が実行され(ステップS25)、1ページ分の中間データがバンド単位で生成される。1ページ分の中間データが生成されると、待機状態であったラスマスターによる処理が開始され(ステップS26)、各分割領域の中間データをラスタライズするラススレーブを実行するコアが割り当てられる。利用可能な各コアが、割り当てられた分割領域の中間データをラスタライズ領域にラスタライズすることで、1ページ分のビットマップデータが生成される。
1ページ分のビットマップデータが生成されると、ジョブデータを構成する全ページのビットマップデータの生成が完了したか否かが判別される(ステップS27)。
全ページのビットマップデータの生成が完了していない場合(ステップS27;NO)、ステップS25の処理に戻り、全ページのビットマップデータの生成が完了した場合(ステップS27;YES)、受信したジョブデータに基づくビットマップデータを生成する一連の処理が終了される。
図5に、ステップS26で実行されるラスマスターのフローチャートを示す。
まず、利用可能コアそれぞれに対して、初期化処理で起動させた複数のラススレーブのうちいずれか一つが割り当てられる(ステップS31)。また、各バンドが、ステップS23、24において決定されたライン数に応じて、複数の分割領域に分けられる。
ステップS31では、例えば、初期化処理で起動させたラススレーブが4つ(第1〜4ラススレーブ)であり、利用可能コア数が3つのコア(第1〜3コア)である場合には、第1コアに対して第1ラススレーブ、第2コアに対して第2ラススレーブ、第3コアに対して第3ラススレーブが割り当てられる。
次に、RAM11に空きラスタライズ領域があるか否かが判別される(ステップS32)。
ラスタライズ領域は、中間データがビットマップデータに展開される際に使用される。1バンド分のビットマップデータが生成された場合には、当該ビットマップデータが圧縮されてRAM11の他の領域に保存される(バンド転送)。従って、ステップS31では、中間データからビットマップデータの生成がなされている領域でも、バンド転送している領域でもない領域を、空きラスタライズ領域として判別している。ステップS32の判別処理は、定期的又はバンド転送が完了した際に実行されてもよい。
空きラスタライズ領域がない場合(ステップS32;NO)、ステップS32の処理に戻る。空きラスタライズ領域がある場合(ステップS32;YES)、処理の開始待ちのラススレーブがあるか否か、即ち、ラススレーブが待機状態であるコアが判別される(ステップS33)。ステップS33の判別処理は、定期的又はいずれかのコアによるラススレーブが終了した際に実行されてもよい。
待機状態のラススレーブがない場合、即ち、利用可能なコア全てがラススレーブを実行又はバンド転送をしている場合(ステップS33;NO)、ステップS33の処理に戻る。待機状態のラススレーブがある場合(ステップS33;YES)、待機状態のラススレーブで実行するための割り当て可能な分割領域があるか否かが判別される(ステップS34)。
割り当て可能な分割領域がある場合(ステップS34;YES)、当該割り当て可能な分割領域が、待機状態のラススレーブを実行するコアに割り当てられる(ステプS35)。
割り当て可能な分割領域がない場合(ステップS34;NO)、又はステップS35後、1ページ分の中間データを構成する各バンドの分割領域全てが、ラススレーブを実行する複数のコアのうちいずれか一つのコアに割り当てられたか否かが判別される(ステップS36)。
1ページ分の中間データを構成する各バンドの分割領域全てが、ラススレーブを実行する複数のコアのうちいずれか一つのコアに割り当てられていない場合(ステップS36;NO)、ステップS32の処理に戻る。1ページ分の中間データを構成する各バンドの分割領域全てが、ラススレーブを実行する複数のコアのうちいずれか一つのコアに割り当てられた場合(ステップS36;YES)、ラスマスターが終了される。
次に、図6〜8を参照しながら、ラスマスターでの分割領域の割り当てについて説明する。
図6に、1ページ分の中間データを構成する各バンドを複数の分割領域に分けたイメージ図を示す。図6では、利用可能コア数が3であり、1つのバンドを3つの分割領域に分けた場合のイメージ図である。
図6に示すように、1ページ分の中間データは、第1バンドB1〜第nバンドBnにより構成されている。第1バンドB1は、第1分割領域B11、第2分割領域B12、第3分割領域B13の3つの分割領域に分けられている。第1バンドB1と同様に、第2バンドB2〜第nバンドBnも、それぞれ3つの分割領域に分けられている。
図7、図8に、図6のバンドの分割例におけるラスマスターでの分割領域の割り当て処理のイメージ図を示す。なお、ラスマスターでの分割領域の割り当て処理は、図7又は図8に示す処理のいずれか一方に予め設定されている。
図7、図8では、利用可能な3つのコア(第1〜3コア)それぞれにおいて実行されるラススレーブとして、ステップS31において第1コアに第1ラススレーブ、第2コアに第2ラススレーブ、第3コアに第3ラススレーブが割り当てられているものとする。
なお、RAM11内には、ラスタライズ領域としてバンド単位で使用できる3つのラスタライズ領域(第1〜3ラスタライズ領域)が存在するものとする。
図7に示すラスマスターでの分割領域の割り当て処理は、1つのバンドのラスタライズ処理が、利用可能なコアそれぞれに配分されて実行されるものである。図7に示すようなラスマスターにおける分割領域の割り当て処理を固定配分処理と称す。
まず、図7に示す固定配分処理では、図5のステップS31において、利用可能コアそれぞれに対するラススレーブの割り当てが成されると、各ラススレーブを実行する各コアに対して、各バンドを構成する3つの分割領域のうちいずれか一つの分割領域が設定される。
例えば、第1ラススレーブを実行する第1コアに対して、各バンドを構成する3つの分割領域のうち第1分割領域が設定される。第2ラススレーブを実行する第2コアに対しては第2分割領域が設定され、第3ラススレーブを実行する第3コアに対しては第3分割領域が設定される。
ステップS31の処理後、図7に示すように、まず、時刻t0のとき、全てのラスタライズ領域が空いており、かつ、全てのコアが実行するラススレーブが待機状態となっているため、第1コアが実行する第1ラススレーブに第1バンドの第1分割領域B11、第2コアが実行する第2ラススレーブに第1バンドの第2分割領域B12、第3コアが実行する第3ラススレーブに第1バンドの第3分割領域B13がそれぞれ割り当てられる(第1割当〜第3割当)。
時刻t1のとき、第1〜3コアは、割り当てられた分割領域のラスタライズを第1ラスタライズ領域を用いて開始する。
時刻t2のとき、第1コアにおいて第1バンドの第1分割領域B11のラスタライズが終了すると、第1ラススレーブが待機状態となる。また、第2、3ラスタライズ領域が空いている状態である。この待機状態となった第1ラススレーブに対して割り当て可能な分割領域があるかが判別される。第1ラススレーブに対して割り当てられる分割領域としては、各バンドの第1分割領域が設定されているため、未ラスタライズの第1分割領域があるか否かが判別される。未ラスタライズの第1分割領域として、第2バンドの第1分割領域B21が、第1コアが実行する第1ラススレーブに割り当てられる(第4割当)。
また、第3コアにおいても第1コアと同様に、第1バンドの第3分割領域B13のラスタライズが終了すると、第3ラススレーブが待機状態となる。第3ラススレーブに対して割り当てられる分割領域としては、各バンドの第3分割領域が設定されているため、未ラスタライズの第3分割領域があるか否かが判別される。未ラスタライズの第3分割領域として、第2バンドの第3分割領域B23が、第3コアが実行する第3ラススレーブに割り当てられる(第5割当)。
時刻t3のとき、第1、3コアは、割り当てられた分割領域のラスタライズを、第1ラスタライズ領域とは異なる第2ラスタライズ領域を用いて開始する。
時刻t4のとき、第1コアにおいて第2バンドの第1分割領域B21のラスタライズが終了すると、第1ラススレーブが待機状態となる。また、第3ラスタライズ領域が空いている状態である。第4割当の場合と同様に、第1コアが実行する第1ラススレーブに第3バンドの第1分割領域B31が割り当てられる(第6割当)。
そして時刻t5のとき、第1コアは割り当てられた第3バンドの第1分割領域B31のラスタライズを、第3ラスタライズ領域を用いて開始する。
時刻t6のとき、第2コアにおいて第1バンドの第2分割領域B12のラスタライズが終了すると、第1バンドを構成する全ての分割領域のラスタライズが完了するため、第1ラスタライズ領域で1バンド分のビットマップデータが生成される。この生成された1バンド分のビットマップデータは、圧縮された後にRAM11内の他の領域に転送され、保存される(バンド転送)。
バンド転送が完了すると、第1ラスタライズ領域が空き領域となり、また、第2ラススレーブが待機状態となる。この待機状態となった第2ラススレーブに対して割り当て可能な分割領域があるかが判別される。第2ラススレーブに対して割り当てられる分割領域としては、各バンドの第2分割領域が設定されているため、未ラスタライズの第2分割領域があるか否かが判別される。未ラスタライズの第2分割領域として、第2バンドの第2分割領域B22が、第2コアが実行する第2ラススレーブに割り当てられる(第7割当)。
時刻t7のとき、第2コアは、割り当てられた分割領域が第2バンドの分割領域であることから、第2バンドに対するラスタライズが実行されている第2ラスタライズ領域で、割り当てられた分割領域のラスタライズを開始する。
以降、各ラススレーブを実行する各コアに対して、各バンドを構成する3つの分割領域のうち設定された分割領域が順次設定され、分割領域単位でラスタライズが実行される。
次に、図8に示すラスマスターでの分割領域の割り当て処理は、1ページ分のラスタライズ処理が、待機状態のラススレーブを実行するコアに、1ページを構成する各バンドの分割領域を優先順位に応じて順次割り当てて実行されるものである。図8に示すようなラスマスターにおける分割領域の割り当て処理を順次配分処理と称す。
まず、図8に示す順次配分処理では、図5のステップS31において、利用可能コアそれぞれに対するラススレーブの割り当てが成されると、1ページ分の中間データを構成する複数の分割領域それぞれに対して、ラスタライズを実行する優先順位が設定される。
例えば、図6に示す第1バンドの第1分割領域B11を第1位、第1バンドの第2分割領域B12を第2位、第1バンドの第3分割領域B13を第3位、第2バンドの第1分割領域B21を第4位、・・・、というように、ページの先頭アドレスから順番に優先順位が設定される場合を用いて、以下説明する。なお、優先順位の設定は、これに限らない。
ステップS31の処理後、図8に示すように、まず、時刻t10のとき、全てのラスタライズ領域が空いており、かつ、全てのコアが実行するラススレーブが待機状態となっているため、第1コアが実行する第1ラススレーブに第1バンドの第1分割領域B11、第2コアが実行する第2ラススレーブに第1バンドの第2分割領域B12、第3コアが実行する第3ラススレーブに第1バンドの第3分割領域B13がそれぞれ割り当てられる(第1割当〜第3割当)。
時刻t11のとき、第1〜3コアは、割り当てられた分割領域のラスタライズを第1ラスタライズ領域を用いて開始する。
時刻t12のとき、第1コアにおいて第1バンドの第1分割領域B11のラスタライズが終了すると、第1ラススレーブが待機状態となる。また、第2、3ラスタライズ領域が空いている状態である。この待機状態となった第1ラススレーブに対して割り当て可能な分割領域があるかが判別される。第1ラススレーブに対して割り当てられる分割領域としては、ラスタライズされていない分割領域のうち最も優先順位の高い分割領域となる。未ラスタライズの分割領域のうち最も優先順位の高い分割領域として第2バンドの第1分割領域B21が、第1コアが実行する第1ラススレーブに割り当てられる(第4割当)。
また、第3コアにおいても第1コアと同様に、第1バンドの第3分割領域B13のラスタライズが終了すると、第3ラススレーブが待機状態となる。第3ラススレーブに対して割り当てられる分割領域としては、未ラスタライズの分割領域のうち最も優先順位の高い分割領域としての第2バンドの第2分割領域B22となり、当該第2バンドの第2分割領域B22が、第3コアが実行する第3ラススレーブに割り当てられる(第5割当)。
時刻t13のとき、第1、3コアは、割り当てられた分割領域のラスタライズを、第1ラスタライズ領域とは異なる第2ラスタライズ領域を用いて開始する。
時刻t14のとき、第1コアにおいて第2バンドの第1分割領域B21のラスタライズが終了すると、第1ラススレーブが待機状態となる。また、第3ラスタライズ領域が空いている状態である。第4割当の場合と同様に、未ラスタライズの分割領域のうち最も優先順位の高い分割領域としての第2バンドの第3分割領域B23が、第1コアが実行する第1ラススレーブに割り当てられる(第6割当)。
そして時刻t15のとき、第1コアは、割り当てられた分割領域が第2バンドの分割領域であることから、第2バンドに対するラスタライズが実行されている第2ラスタライズ領域で、割り当てられた第2バンドの第3分割領域B23のラスタライズを開始する。
時刻t16のとき、第2コアにおいて第1バンドの第2分割領域B12のラスタライズが終了すると、第1バンドを構成する全ての分割領域のラスタライズが完了するため、第1ラスタライズ領域で1バンド分のビットマップデータが生成される。この生成された1バンド分のビットマップデータは、圧縮された後にRAM11内の他の領域に転送され、保存される(バンド転送)。
バンド転送が完了すると、第1ラスタライズ領域が空き領域となり、また、第2ラススレーブが待機状態となる。この待機状態となった第2ラススレーブに対して割り当てられる分割領域としては、未ラスタライズの分割領域のうち最も優先順位の高い分割領域としての第3バンドの第1分割領域B31となり、当該第3バンドの第1分割領域B31が、第2コアが実行する第2ラススレーブに割り当てられる(第7割当)。
以降、各ラススレーブを実行する各コアに対して、優先順位に応じて分割領域が順次設定され、分割領域単位でラスタライズが実行される。
各バンドを構成する各分割領域に含まれるオブジェクトの種類や量によって、1つの分割領域のラスタライズに要する時間が変化する。そのため、図7及び図8に示す例では、第1バンドのバンド転送が開始されるまでに要する時間は、固定配分処理と順次配分処理とでは同一となるが、第2バンドのバンド転送が開始されるまでに要する時間は、順次配分処理よりも固定配分処理の方が短くなり、第3バンドのバンド転送が開始されるまでに要する時間は、固定配分処理よりも順次配分処理の方が短くなる。
次に、本実施の形態を適用した場合の効果について説明する。
複数のコアを用いて並列にラスタライズを行う場合、従来では、バンド単位でラスタライズが実行されている。このような従来技術では、XPSやPDF等の透過処理機能を有するページ記述言語形式のデータをラスタライズする場合には、レイヤー数に比例して、RAM11内に必要とされるワーク領域が増大する。
図9に、透過処理機能を有するページ記述言語形式のデータの透過処理のイメージ図を示す。
図9では、四角形のカラーのグラフィックスデータDが属するレイヤーL1と、「ABCDE」と描かれたカラーのテキストデータTが属するレイヤーL2とが含まれているページの例を示している。また、図9では、四角形のグラフィックスデータDを背景として、当該四角形のグラフィックスデータに透過率40%でテキストデータTを重ね合わせた画像が形成される場合の例を示している。
図9に示すようなページに対してラスタライズ処理を実行する場合、四角形のグラフィックオブジェクトデータが属するレイヤーL1をバンド単位でラスタライズするためのワーク領域と、テキストオブジェクトデータが属するレイヤーL2をバンド単位でラスタライズするためのワーク領域と、が必要となる。
例えば、図9に示す各バンドそれぞれが、バンドライン数が256、バンド幅が1024で構成されている場合、カラー(CMYK)の1バンドをラスタライズするために必要なワーク領域のサイズは、1画素に対して8[bit]必要とすると、1[MByte](=256×1024×8×4(CMYK)=8388608[bit]=1[MByte])となる。
そして、1バンドBaが2つのレイヤーのバンドBa1、Ba2から構成されている場合には、1バンドのビットマップデータを生成するために、2[MByte](=1[MByte]×2)のワーク領域が必要となる。
更に、バンドBaのラスタライズを第1コア、バンドBbのラスタライズを第2コア、バンドBcのラスタライズを第3コア、という様に各バンドに対して各コアがそれぞれ並列にラスタライズ処理を実行する場合には、6[MByte](=2[MByte]×3)のワーク領域が必要となる。
従って、従来技術を採用した図9に示すように、例えば、3つのコアを用いてラスタライズをバンド単位で並列に行う場合には、RAM11内に6[MByte]以上のワーク領域を常に確保しなくてはならない。
一方、本実施の形態では、1つのバンドを利用可能コア数で複数の分割領域に分け、各分割領域を各利用可能コアで並列にラスタライズ処理を行うものである。
図10に、本実施の形態を適用した場合における図9に示す1バンド分のデータの透過処理のイメージ図を示す。図10に示すように、本実施の形態では、1つのバンドを利用可能コア数(例えば、3)で分けられた複数(例えば、3つ)の分割領域毎に各利用可能コアでラスタライズ処理が行われる。
例えば、図10に示す1つのバンドが、バンドライン数が256、バンド幅が1024で構成されている場合であって、ライン数が85、85、86の3つの分割領域に分けられている場合には、カラー(CMYK)の1つの分割領域(ライン数85)をラスタライズするために必要なワーク領域のサイズは、1画素に対して8[bit]必要とすると、約0.33[MByte](=85×1024×8×4(CMYK)=2785280[bit]≒0.33[MByte])となる。
そして、1つの分割領域Ba31が2つのレイヤーBa11、Ba21から構成されている場合には、1つの分割領域のビットマップデータを生成するために、約0.67[MByte](=0.33[MByte]×2)のワーク域が必要となる。
更に、分割領域Ba31のラスタライズを第1コア、分割領域Ba32のラスタライズを第2コア、分割領域Ba33のラスタライズを第3コア、という様に各分割領域に対して各コアがそれぞれ並列にラスタライズを実行する場合には、約2[MByte](=0.67[MByte]×3)のワーク領域が必要となる。
従って、図10に示すように、例えば、3のコアを用いてラスタライズを分割領域単位で並列に行う場合には、RAM11内に約2[MByte]以上のワーク領域を確保すればよいこととなる。
即ち、本実施の形態を採用した図10の場合では、図9に示す従来の場合と比べて、RAM11内に確保しなくてはならないワーク領域のサイズが大幅に減少することになる。
以上のように、本実施の形態によれば、制御部10を構成するコアの数に基づいて各中間データを構成するバンドを複数に分割して複数の分割領域を生成でき、コア毎にラスタライズ処理を行う分割領域を割り当てることができる。そのため、1つのコアが1度にラスタライズ処理を行う中間データのサイズが小さくなり、1つのコアがラスタライズ処理を行う場合に使用されるRAM11内のワーク領域を小さくできるため、複数のコアを用いてラスタライズ処理を実行する際のメモリ使用量の増大を抑えることができる。
特に、ラスタライズ処理の実行可能なコアの数に応じて1つのバンドを複数に分割して複数の分割領域を生成することができるため、制御部10内のコアの稼働状況に応じて、分割領域を生成することができる。
また、バンドライン数と利用可能コア数との除算値に基づいて分割領域を構成するライン数、即ち、分割領域のサイズを決定することができる。
更に、コア毎にラスタライズ処理を行う分割領域として、バンド毎に当該バンドを構成する複数の分割領域のうちいずれか一つの設定された分割領域を割り当てることができる。そのため、1つのバンドのラスタライズ処理を複数のコアで分担して実行することができ、各コアがラスタライズ処理を行う場合に使用するメモリ使用量を低減できるとともに、1つのバンドのラスタライズ処理に要する時間の短縮を図ることができる。
また、コア毎にラスタライズ処理を行う分割領域として、ラスタライズ処理されていない最も優先順位の高い分割領域を割り当てることができる。そのため、1ページ分の中間データを構成する複数の分割領域のラスタライズ処理を、複数のコアで分担して実行することができ、各コアがラスタライズ処理を行う場合に使用するメモリ使用量を低減できるとともに、1ページのラスタライズ処理に要する時間の短縮を図ることができる。
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として、ROM12を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
また、本発明は、上記実施の形態の内容に限定されるものではなく、本発明の主旨を逸脱しない範囲で適宜変更可能である。
1 画像処理装置
10 制御部
10a コア
11 RAM
12 ROM
13 HDD
14 操作部
15 表示部
16 画像読取部
17 プリント部
18 通信部
19 バス

Claims (7)

  1. ページ記述言語形式のデータに基づいてバンド単位で生成された中間言語形式のデータをラスタライズ処理する場合に使用される領域を有する記憶部と、複数の演算部を有し、前記中間言語形式のデータに対して行うラスタライズ処理を前記複数の演算部を用いて実行する制御部と、を備えた画像処理装置であって、
    前記制御部は、
    前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てること、
    を特徴とする画像処理装置。
  2. 前記制御部は、
    前記複数の演算部のうち、前記ラスタライズ処理を実行可能な前記演算部の数を取得し、当該取得した演算部の数に応じて前記バンド毎に複数に分割して複数の分割領域を生成すること、
    を特徴とする請求項1に記載の画像処理装置。
  3. 前記バンドは、予め設定された複数のラインから構成されており、
    前記制御部は、
    前記バンドを構成するライン数と前記演算部の数との除算値に基づいて前記分割領域を構成するライン数を決定すること、
    を特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記制御部は、
    前記演算部それぞれに対して、前記バンド毎に当該バンドを構成する複数の分割領域のうちいずれか一つの分割領域を設定し、前記演算部毎にラスタライズ処理を行う分割領域として当該設定した分割領域を割り当てること、
    を特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
  5. 前記制御部は、
    1ページ分の中間言語形式のデータを構成する複数の分割領域それぞれに対して優先順位を設定し、前記演算部毎にラスタライズ処理を行う分割領域として、ラスタライズ処理されていない最も優先順位の高い分割領域を割り当てること、
    を特徴とする請求項1から3のいずれか一項に記載の画像形成装置。
  6. ページ記述言語に基づいてバンド単位で生成された中間言語形式のデータに対して行うラスタライズ処理を複数の演算部を用いて実行するコンピュータを、
    前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てる制御手段、
    として機能させるプログラム。
  7. ページ記述言語に基づいてバンド単位で生成された中間言語形式のデータに対して行うラスタライズ処理を複数の演算部を用いて実行する画像処理方法であって、
    前記演算部の数に基づいて各中間言語形式のデータを構成するバンドを複数に分割して複数の分割領域を生成し、前記演算部毎にラスタライズ処理を行う分割領域を割り当てる制御工程を含むこと、
    を特徴とする画像処理方法。
JP2010017867A 2010-01-29 2010-01-29 画像処理装置、プログラム及び画像処理方法 Pending JP2011158951A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010017867A JP2011158951A (ja) 2010-01-29 2010-01-29 画像処理装置、プログラム及び画像処理方法
CN201110031312.5A CN102194211B (zh) 2010-01-29 2011-01-28 图像处理设备和图像处理方法
US13/015,631 US8411949B2 (en) 2010-01-29 2011-01-28 Image rasterization processing apparatus using intermediate language form data, computer-readable recording medium storing program and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010017867A JP2011158951A (ja) 2010-01-29 2010-01-29 画像処理装置、プログラム及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2011158951A true JP2011158951A (ja) 2011-08-18

Family

ID=44590878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010017867A Pending JP2011158951A (ja) 2010-01-29 2010-01-29 画像処理装置、プログラム及び画像処理方法

Country Status (3)

Country Link
US (1) US8411949B2 (ja)
JP (1) JP2011158951A (ja)
CN (1) CN102194211B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164551A (ja) * 2013-02-26 2014-09-08 Renesas Electronics Corp 画像処理lsi及び画像処理プログラム
WO2014141773A1 (ja) * 2013-03-14 2014-09-18 株式会社 東芝 情報処理装置及びそのコンテンツファイル変換処理方法
CN104981719A (zh) * 2013-02-08 2015-10-14 3M创新有限公司 一体式量子点光学构造
JP2016071545A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
JP2016091489A (ja) * 2014-11-11 2016-05-23 コニカミノルタ株式会社 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法
JP2016159437A (ja) * 2015-02-26 2016-09-05 キヤノン株式会社 画像形成装置及びその制御方法
US10552717B2 (en) 2016-03-16 2020-02-04 Canon Kabushiki Kaisha Image processing apparatus, control method thereof, and storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011158951A (ja) * 2010-01-29 2011-08-18 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及び画像処理方法
JP2011244031A (ja) * 2010-05-14 2011-12-01 Fujifilm Corp 画像データ伸張装置および画像データ圧縮装置,ならびにそれらの動作制御方法
AU2013273716A1 (en) 2013-12-19 2015-07-09 Canon Kabushiki Kaisha Method, apparatus and system for rendering an image
US20160358052A1 (en) * 2015-06-05 2016-12-08 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP6799396B2 (ja) * 2016-07-01 2020-12-16 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN106844044B (zh) * 2016-12-30 2020-07-24 东方晶源微电子科技(北京)有限公司 一种数据处理方法和装置
US11030968B2 (en) * 2018-07-11 2021-06-08 Nvidia Corporation Middle-out technique for refreshing a display with low latency
NL2027069B1 (en) * 2020-12-08 2022-07-07 Canon Production Printing Holding Bv Method for processing a digital image into print image data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132350A (ja) * 1998-10-21 2000-05-12 Fuji Xerox Co Ltd 描画処理装置
JP2004192392A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006220710A (ja) * 2005-02-08 2006-08-24 Seiko Epson Corp 情報表示装置及び表示情報生成装置
JP2008262493A (ja) * 2007-04-13 2008-10-30 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486517B2 (ja) * 1997-01-31 2004-01-13 キヤノン株式会社 印刷システム及び印刷制御方法
JP2000203104A (ja) * 1999-01-14 2000-07-25 Minolta Co Ltd プリンタ及びプリンタ制御装置
JP3826038B2 (ja) * 2002-01-17 2006-09-27 キヤノン株式会社 印刷システム及びその印刷方法並びに印刷装置
JP4389199B2 (ja) 2003-10-01 2009-12-24 セイコーエプソン株式会社 プリンタシステム
JP2007143111A (ja) * 2005-10-21 2007-06-07 Canon Inc 情報処理装置及び情報処理装置の制御方法
US8456653B2 (en) * 2005-12-12 2013-06-04 Canon Kabushiki Kaisha Data processing apparatus for producing print job data whose authority is managed by external server, and image processing apparatus for printing a print job whose authority is managed by external server
US8059129B2 (en) * 2006-03-29 2011-11-15 Tektronix, Inc. Fast rasterizer
CN100543663C (zh) 2006-09-11 2009-09-23 北京大学 一种并行光栅图像处理方法及系统
CN101140506B (zh) * 2007-09-24 2012-12-05 北京大学 一种光栅化处理方法及装置
JP2009241524A (ja) * 2008-03-31 2009-10-22 Brother Ind Ltd 画像出力装置
JP5333259B2 (ja) * 2010-01-25 2013-11-06 コニカミノルタ株式会社 画像形成装置、プログラム及び画像形成方法
JP2011158951A (ja) * 2010-01-29 2011-08-18 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及び画像処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132350A (ja) * 1998-10-21 2000-05-12 Fuji Xerox Co Ltd 描画処理装置
JP2004192392A (ja) * 2002-12-12 2004-07-08 Canon Inc データ処理装置
JP2006220710A (ja) * 2005-02-08 2006-08-24 Seiko Epson Corp 情報表示装置及び表示情報生成装置
JP2008262493A (ja) * 2007-04-13 2008-10-30 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104981719A (zh) * 2013-02-08 2015-10-14 3M创新有限公司 一体式量子点光学构造
JP2014164551A (ja) * 2013-02-26 2014-09-08 Renesas Electronics Corp 画像処理lsi及び画像処理プログラム
US9672643B2 (en) 2013-02-26 2017-06-06 Renesas Electronics Corporation Image processing LSI and image processing program
US10096135B2 (en) 2013-02-26 2018-10-09 Renesas Electronics Corporation Image processing LSI and image processing program
WO2014141773A1 (ja) * 2013-03-14 2014-09-18 株式会社 東芝 情報処理装置及びそのコンテンツファイル変換処理方法
JP2014178871A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 情報処理装置及びそのコンテンツファイル変換処理方法
JP2016071545A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
JP2016091489A (ja) * 2014-11-11 2016-05-23 コニカミノルタ株式会社 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法
JP2016159437A (ja) * 2015-02-26 2016-09-05 キヤノン株式会社 画像形成装置及びその制御方法
US10552717B2 (en) 2016-03-16 2020-02-04 Canon Kabushiki Kaisha Image processing apparatus, control method thereof, and storage medium

Also Published As

Publication number Publication date
CN102194211A (zh) 2011-09-21
CN102194211B (zh) 2014-03-12
US8411949B2 (en) 2013-04-02
US20110235911A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP2011158951A (ja) 画像処理装置、プログラム及び画像処理方法
JP5333259B2 (ja) 画像形成装置、プログラム及び画像形成方法
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
JP5482528B2 (ja) 印刷文書変換装置及びプログラム
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
JP5482529B2 (ja) 印刷文書変換装置及びプログラム
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP2012111210A (ja) 印刷データ生成装置、印刷データ生成方法及びプログラム
US10552717B2 (en) Image processing apparatus, control method thereof, and storage medium
JP5589582B2 (ja) 画像処理装置及びプログラム
JP5232728B2 (ja) 画像形成装置
JP2009302879A (ja) 画像処理装置
JP2010041415A (ja) 画像形成装置、メモリ管理方法、及びメモリ管理プログラム
JP2019114973A (ja) 画像処理装置およびプログラム
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
JP2012126024A (ja) 印刷ジョブ処理装置、印刷ジョブ処理装置用プログラム、および印刷ジョブ処理方法
JP4877331B2 (ja) 画像処理装置、プログラム及びデータ処理方法
JP2017170884A (ja) 画像処理装置、その制御方法、およびプログラム
JP5516551B2 (ja) 画像形成システム及び画像形成制御方法
US9179037B2 (en) Image forming apparatus, controlling device and non-transitory computer readable medium for providing an available storage space
JP2013148969A (ja) 画像処理装置及び画像処理方法
JP2010282489A (ja) 画像形成装置、制御方法及び制御プログラム
JP2018122463A (ja) 画像形成装置、画像形成方法及び画像形成装置のプログラム
JP7006173B2 (ja) 画像形成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140408