JP5716367B2 - 印刷データ生成装置及び印刷データ生成方法 - Google Patents

印刷データ生成装置及び印刷データ生成方法 Download PDF

Info

Publication number
JP5716367B2
JP5716367B2 JP2010268121A JP2010268121A JP5716367B2 JP 5716367 B2 JP5716367 B2 JP 5716367B2 JP 2010268121 A JP2010268121 A JP 2010268121A JP 2010268121 A JP2010268121 A JP 2010268121A JP 5716367 B2 JP5716367 B2 JP 5716367B2
Authority
JP
Japan
Prior art keywords
unit
ras
slave
rasterization
print data
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
JP2010268121A
Other languages
English (en)
Other versions
JP2012119955A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Inc filed Critical Konica Minolta Inc
Priority to JP2010268121A priority Critical patent/JP5716367B2/ja
Priority to US13/309,210 priority patent/US8767247B2/en
Publication of JP2012119955A publication Critical patent/JP2012119955A/ja
Application granted granted Critical
Publication of JP5716367B2 publication Critical patent/JP5716367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • 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/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1863Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
    • 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/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
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、印刷データ生成装置及び印刷データ生成方法に関する。
近年、プロセッサコア等の演算部(以下、コアと称す)が一つのパッケージ内に複数集積されて構成され、各コアに処理を分散させて並列処理を行うことにより処理性能を向上させたマルチコアプロセッサが開発されている。
特に、MFP(Multi Function Printer)やプリンタ等の画像形成装置においては、このマルチコアプロセッサを用いて、ページ記述言語(PDL;Page Description Language)形式のデータを解析して中間言語(DL;Display List)形式のデータを生成する解析処理、中間言語形式のデータからビットマップ形式のデータを生成するラスタライズ処理、ビットマップ形式のデータを印刷データとしてプリント部に転送して画像形成する処理等を各コアに割り当てて並列的に処理を実行することにより、プリント出力に係る一連の処理の高速化を図ることが提案されている。
例えば、複数のプロセッサを用いて並列的にラスタライズを行う場合、処理待ちのプロセッサを検出して、当該処理待ちのプロセッサに未処理のバンド領域のラスタライズ処理を割り当てる技術(特許文献1参照)や、ページ単位でPDLデータあるいは中間データあるいはディスプレイリストを複数のCPU(Central Processing Unit)に振り分ける技術(特許文献2参照)が開示されている。
特開2003−51019号公報 特開2006−159738号公報
しかしながら、特許文献1では、プロセッサの状況判断のみでラスタライズするバンドを割り当てているため、ラスタライズ処理で使用するメモリ領域の不足が発生した場合には、処理が一時的に停止してしまう。また、特許文献2では、CPUはページ単位で処理を行なうため、複数ページの合計処理時間の短縮を図ることはできるが、1ページあたりの処理時間の短縮を図ることはできず、また、データを振り分ける際に、データを展開するメモリ領域の状況について考慮しておらず、振り分けられたデータの処理が停止するおそれがある。このように、複数の演算部を備えている場合でも、演算部の状況やメモリ領域の状況に応じて、各演算部が有効に活用されていないという問題が生じている。
本発明の課題は、上記問題に鑑みて、複数の演算部及びメモリ領域の有効活用を図り、印刷データの生成効率を向上させることである。
請求項1に記載の発明は、ページ記述言語形式のデータと印刷データとの間の中間言語形式のデータと、当該中間言語形式のデータに基づいて生成される前記印刷データと、が一時的に記憶される領域と、前記中間言語形式のデータに基づいて前記印刷データが生成されるラスタライズ処理が実行される際に使用されるラスタライズ領域と、を含む記憶部と、複数の演算部を有する制御部を備え、前記制御部は、1ページ分の前記ページ記述言語形式のデータを解析することにより、1ページ分を構成する複数のバンド単位の中間言語形式のデータを生成し、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについて、前記複数の演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を設定し、当該設定した演算部毎に前記ラスタライズ処理を実行することにより前記印刷データを生成し、前記設定した演算部がバンド単位の前記ラスタライズ処理を並列で実行しているときに前記記憶部内の空き領域が不足した場合、前記設定した演算部のうち所定の演算部のラスタライズ処理を終了し、前記所定の演算部に対応する前記ラスタライズ領域を解放し、前記設定した演算部のうちの前記所定の演算部以外の他の演算部により、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについての前記ラスタライズ処理を実行する印刷データ生成装置である。
請求項に記載の発明は、請求項に記載の印刷データ生成装置において、前記制御部は、前記演算部毎にラスタライズ処理の実行時間を計時しており、前記ラスタライズ処理を実行する複数の演算部のうち、前記実行時間が最小の演算部によるラスタライズ処理を終了して、前記ラスタライズ処理を実行する演算部の数を削減すること、を特徴とする。
請求項に記載の発明は、請求項1または2に記載の印刷データ生成装置において、前記制御部は、前記演算部の使用状況が、アイドル、又は、前記ラスタライズ処理よりも予め設定された優先度が低い処理を実行中である演算部を選出し、前記記憶部の空き領域の状況が、前記ラスタライズ領域を確保可能な領域がある場合、前記選出した演算部に対して、前記ラスタライズ処理を実行する演算部としての設定、及び、前記ラスタライズ処理を実行するラスタライズ領域の設定を行なうこと、を特徴とする。
請求項に記載の発明は、請求項1〜3の何れか一項に記載の印刷データ生成装置において、前記制御部は、前記1ページ分を構成する全バンドのラスタライズ処理が完了していない場合、前記演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を追加設定し、当該追加設定した演算部と前記設定した演算部それぞれによる前記ラスタライズ処理を実行すること、を特徴とする。
請求項5に記載の発明は、複数の演算部を用いて、ページ記述言語形式のデータと印刷データとの間の中間言語形式のデータに基づいて前記印刷データが生成されるラスタライズ処理を行なう印刷データ生成方法において、1ページ分の前記ページ記述言語形式のデータを解析することにより、1ページ分を構成する複数のバンド単位の中間言語形式のデータを生成する工程と、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについて、前記複数の演算部の使用状況と、前記ラスタライズ処理が実行される際に使用されるラスタライズ領域を含む記憶部の空き領域の状況と、に基づいて、前記ラスタライズ処理を実行する演算部を設定する工程と、当該設定した演算部毎に前記ラスタライズ処理を実行することにより前記印刷データを生成する工程と、を含み、前記ラスタライズ処理を実行する工程は、前記設定した演算部がバンド単位の前記ラスタライズ処理を並列で実行しているときに前記記憶部内の空き領域が不足した場合、前記設定した演算部のうち所定の演算部のラスタライズ処理を終了し、前記所定の演算部に対応する前記ラスタライズ領域を解放し、前記設定した演算部のうちの前記所定の演算部以外の他の演算部により、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについての前記ラスタライズ処理を実行する印刷データ生成方法である。
また、請求項6に記載の発明は、請求項5に記載の印刷データ生成方法において、前記演算部毎にラスタライズ処理の実行時間を計時する工程を含み、前記ラスタライズ処理を実行する工程は、前記ラスタライズ処理を実行する複数の演算部のうち、前記実行時間が最小の演算部によるラスタライズ処理を終了して、前記ラスタライズ処理を実行する演算部の数を削減すること、を特徴とする。
また、請求項7に記載の発明は、請求項5または6に記載の印刷データ生成方法において、前記演算部を設定する工程は、前記演算部の使用状況が、アイドル、又は、前記ラスタライズ処理よりも予め設定された優先度が低い処理を実行中である演算部を選出し、前記記憶部の空き領域の状況が、前記ラスタライズ領域を確保可能な領域がある場合、前記選出した演算部に対して、前記ラスタライズ処理を実行する演算部としての設定を行うこと、を特徴とする。
また、請求項8に記載の発明は、請求項5〜7の何れか一項に記載の印刷データ生成方法において、前記演算部を設定する工程は、前記1ページ分を構成する全バンドのラスタライズ処理が完了していない場合、前記演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を追加設定し、前記ラスタライズ処理を実行する工程は、当該追加設定した演算部と前記設定した演算部それぞれによる前記ラスタライズ処理を実行すること、を特徴とする。
請求項1、7に記載の発明によれば、複数の演算部及びメモリ領域を有効に活用でき、ラスタライズ処理の効率化を図ることができるため、印刷データの生成効率を向上させることができる。
請求項2に記載の発明によれば、請求項1と同様の効果を得られるのは勿論のこと、記憶部内の空き領域が不足した場合には、ラスタライズ処理を実行する演算部の数を削減して当該ラスタライズ処理を実行するために使用されるラスタライズ領域を削減することにより、新たな空き領域が発生することとなり、空き領域不足によるラスタライズ処理の停止を防止できる。
請求項3に記載の発明によれば、請求項2と同様の効果を得られるのは勿論のこと、ラスタライズ処理の実行時間が最小の演算部によるラスタライズ処理を終了して、新たな空き領域を発生させることができる。
請求項4に記載の発明によれば、請求項1から3のいずれか一項と同様の効果を得られるのは勿論のこと、アイドル、又は、ラスタライズ処理よりも予め設定された優先度が低い処理を実行中である演算部に対して、ラスタライズ処理を実行する演算部としての設定、及び、ラスタライズ処理を実行するラスタライズ領域の設定を行なうことができる。
請求項5に記載の発明によれば、請求項1から4のいずれか一項と同様の効果を得られるのは勿論のこと、ラスタライズ処理を実行する演算部に対して、ラスタライズ処理を実行するバンドを割り当て、ラスタライズ処理をバンド単位で実行することができるため、1ページあたりの処理時間の短縮を図ることができる。
請求項6に記載の発明によれば、請求項5と同様の効果を得られるのは勿論のこと、1ページ分を構成する全バンドのラスタライズ処理が完了していない場合には、ラスタライズ処理を実行する演算部を追加設定することができ、当該追加設定した演算部と設定した演算部それぞれによるラスタライズ処理を実行することができるため、更にラスタライズ処理の効率化を図ることができる。
画像形成システムのシステム構成例を示す図である。 外部装置の構成を示す図である。 画像形成装置の構成を示す図である。 画像形成処理の概念図を示す図である。 画像形成処理のフローチャートである。 解析処理のフローチャートである。 RASマスターのフローチャートである。 (a)は、ステップS21でのバンド状態監視テーブルの例、(b)は、ステップS21でのRASスレーブ状態監視テーブルの例、を示す図である。 バンド状態監視テーブルの更新処理のフローチャートである。 (a)は、バンド状態監視テーブルの更新処理が終了したときのバンド状態監視テーブルの例、(b)は、バンド状態監視テーブルの更新処理が終了したときのRASスレーブ状態監視テーブルの例、を示す図である。 RASスレーブのフローチャートである。 RASスレーブ番号が1のスレーブにおいて、ステップS57の処理が終了したときのRASスレーブ状態監視テーブルの例を示す図である。 RASスレーブ番号が1のスレーブにおいて、ステップS62の処理が終了したときのRASスレーブ状態監視テーブルの例を示す図である。 RASスレーブ番号が4のスレーブにおいて、(a)は、ステップS55;YES後のステップS66の処理が終了したときのバンド状態監視テーブルの例、(b)は、ステップS67の処理が終了したときのRASスレーブ状態監視テーブルの例、を示す図である。 RASスレーブ番号が1のスレーブにおいて、(a)は、RASスレーブ番号が4のスレーブが削除された後にステップS64の処理が終了したときのバンド状態監視テーブルの例、(b)は、ステップS65の処理が終了したときのRASスレーブ状態監視テーブルの例、を示す図である。 共有保存領域内のイメージ図である。 共有保存領域内のイメージ図である。 共有保存領域内のイメージ図である。 RASマスターの変形例のフローチャートである。 RASマスターの変形例のフローチャートである(図17の続き)。
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
図1に、本実施の形態における画像形成システムAのシステム構成例を示す。
図1に示すように、画像形成システムAは、例えば、画像形成装置1と外部装置2とを備えて構成されている。画像形成装置1及び外部装置2の各装置は、LAN(Local Area Network)等の通信ネットワーク3を介して、データ通信可能に接続されている。
画像形成装置1は、コピー機能、画像読取機能、プリンタ機能を備えた、所謂MFP(Multi-Function Peripheral)である。この画像形成装置1は、例えば、CMYKの色毎に感光体ドラムを有し、感光体ドラムへの画像形成と同時に用紙を搬送して印刷を行うタンデム式の画像処理装置が適用できる。また、画像形成装置1は、単色の感光体ドラムのみ有するモノクロの画像を形成する画像処理装置であってもよい。画像形成装置1は、外部装置2から送信されるプリントジョブデータや、画像形成装置1に備えられているスキャナ等の画像読取部から読み込んだ画像データ等に基づき、用紙に画像を形成する。
外部装置2は、所謂パーソナルコンピュータであり、画像形成装置1にプリントジョブデータを送信する機能を有する。外部装置2には、プリンタドライバプログラム(以下、単にプリンタドライバと称することがある。)がインストールされている。外部装置2は、このプリンタドライバの機能を用いて画像形成時に適用されるプリント条件のデータ(印刷要求データ等)、ページ印刷用制御データ(画像データ等)等を含んだプリントジョブデータを生成し画像形成装置1に送信する。プリントジョブデータは、例えばPS(PostScript:ポストスクリプト(登録商標))や、PCL(Printer Control Language)、PDF(Portable Document Format)、XPS(XML Paper Specification)といったページ記述言語(PDL:Page Description Language)形式のデータ(以下、PDLデータとも称す)である。また、プリント条件のデータは、PJL(Printer Job Language)等の形式によりプリントチケットとしてプリントジョブデータに含まれていてもよい。
図2に、外部装置2の構成を示す。
図2に示すように、外部装置2は、例えば、CPU(Central Processing Unit)20、RAM(Random Access Memory)21、HDD(Hard Disk Drive)22、操作部23、表示部24、通信部25を備えて構成されている。
CPU20は、操作部23から入力される操作信号(指示信号)又は通信部25により受信される指示信号に応じて、HDD22に記憶されている各種処理プログラムを読み出し、RAM21内に形成されたワーク領域に展開し、当該プログラムとの協働により各種処理を行う。
また、CPU20は、HDD22からプリンタドライバプログラム22aを読み出してRAM21に展開し、当該プログラムとの協働により、画像形成装置1にプリントジョブデータを送信する。
RAM21は、CPU20により実行される各種処理プログラム及びこれらプログラムに係るデータを一時的に記憶するワーク領域を形成する。
HDD22は、各種プログラム、各種設定データ、画像データ等を記憶する。また、HDD22は、プリンタドライバプログラム22aを記憶している。
操作部23は、カーソルキー、数字入力キー、及び各種機能キー等を備えたキーボードや、マウスなどのポインティングデバイス等を備えて構成され、キーボードに対するキー操作やマウス操作により入力された指示信号をCPU20に出力する。
表示部24は、LCD(Liquid Crystal Display)等により構成され、CPU20から入力される表示信号の指示に従って、操作部23からの入力指示やデータ等を表示する。
通信部25は、LANアダプタ、ルータ、TA(Terminal Adapter)等を備え、通信ネットワーク3を介して接続された画像形成装置1等の他の装置との間でデータの送受信を行う。
図3に、画像形成装置1の構成を示す。
図3に示すように、画像形成装置1は、制御部10、RAM11、ROM(Read Only Memory)12、HDD13、操作部14、表示部15、画像読取部16、プリント部17、通信部18等を備え、各部はバスにより電気的に接続されている。
制御部10は、操作部14から入力される操作信号(指示信号)又は通信部18により受信される指示信号に応じて、ROM12に記憶されている各種処理プログラムを読み出し、RAM11内に形成されたワーク領域に展開し、当該プログラムとの協働により各種処理を行う。また、制御部10は、画像形成に関する一連の処理(画像形成処理)を行う。
画像形成処理では、通信部18により外部装置2から受信されたPDLデータが解析され、中間言語(DL;Display List)形式のデータ(以下、ディスプレイリストとも称す)が生成される。そして、ディスプレイリストに基づいてラスタライズ処理が行われ印刷データとしてのビットマップ形式のデータ(以下、ビットマップデータとも称す)が生成される。そして、生成されたビットマップデータがプリント部17へ出力される。
従って、画像形成処理の実行により印刷データとしてのビットマップデータを生成する制御部を備えた画像形成装置1は、印刷データ生成装置として実現される。
本実施の形態の制御部10は、プロセッサコア等の演算部(以下、コアと称す)を複数備えて構成されたマルチコアプロセッサを用いて構成され、複数の処理を並列で行うことができる。本実施の形態の各コアには、識別番号(コア番号)が予め設定されているものとする。なお、制御部10は、コアに替えてCPU(Central Processing Unit)を集合させ、マルチコアプロセッサと同等の機能を発揮するように構成されてもよい。
RAM11は、ワーク領域、スプール領域、共有保存領域を形成し、記憶部として機能する。ワーク領域には、制御部10により実行される各種プログラム及びこれらプログラムに係るデータ等が一時的に展開され、各種プログラムで処理されたデータ等が一時的に記憶される。スプール領域には、外部装置2や画像読取部16により入力されたPDLデータ等の各種データが記憶される。
共有保存領域は、後述する解析処理及びラスタライズ処理が実行される際に使用される領域であり、解析処理によって生成されたディスプレイリスト、ラスタライズ処理によって生成されたビットマップデータ等が一時的に保存される。共有保存領域には、ラスタライズ処理が実行される過程で使用されるラスタライズ領域が含まれる。
ラスタライズ領域には、ラスタライズ処理で使用する変数、データ等を一時的に保存する領域、画像を重ね合わせる透過処理や非圧縮のビットマップデータを展開するための領域等が含まれる。ラスタライズ領域は、予め共有保存領域に設定されている固定ラスタライズ領域と、適宜追加される追加ラスタライズ領域と、がある。固定ラスタライズ領域及び追加ラスタライズ領域は、予め定められたサイズの領域である。
なお、RAM11は、読み書き可能な記憶媒体であればよく、HDD(Hard Disk Drive)、MRAM(Magnetic Random Access Memory)又はフラッシュメモリなどで構成されていても良く、この限りではない。また、このRAM11は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
ROM12は、制御部10で実行される各種処理プログラム、各種データ等を記憶する。これらの各種プログラムは、読み取り可能なプログラムコードの形態で格納され、制御部10は、当該プログラムコードに従った動作を逐次実行する。また、ROM12は、プリンタコントローラプログラム12a等を記憶している。
HDD13は、画像読取部16により読み取られた画像データや、各種初期設定データ等を記憶する。
操作部14は、数字キーやスタートキー、リセットキー等の各種キーを有し、押下されたキーの押下信号を制御部10に出力する。また、操作部14は、表示部15と一体的に形成されたタッチパネルを備えており、ユーザの指先やタッチペン等により当接されたタッチパネル上の位置を検出して、位置信号を制御部10に出力する。
表示部15は、タッチパネルに覆われるように設けられたLCD(Liquid Crystal Display)等から構成されており、制御部10から入力される表示信号に従って、各種設定条件を入力するための各種設定画面や各種処理結果等を表示する。
画像読取部16は、原稿画像を読み取って画像データを生成する所謂スキャナであり、原稿を載置するプラテンガラス、プラテンガラス上の原稿画像を走査し、これをCCDイメージセンサ上に結像する走査光学系を備えている。画像読取部16は、CCDイメージセンサで読み取った原稿画像に基づいて生成された画像信号をA/D変換して画像信号を生成する。
プリント部17は、電子写真方式、静電記録方式、熱転写方式等の作像プロセスを利用して画像を形成するために必要な構成要素を含む機能部である。例えば、プリント部17は、露光ユニット、現像ユニット、感光体ドラム等を有する画像形成ユニット、定着ユニット、給紙ユニット、搬送ユニット、排紙ユニット、駆動制御装置等を備える。プリント部17は、制御部10の指示に従い、画像読取部16により生成された画像データ又は通信部18により受信されたプリントジョブデータ等に基づいて、給紙ユニットから供給された用紙に画像を形成し、排紙ユニットに搬送する。
通信部18は、LANアダプタ、ルータ、TA等を備え、通信ネットワーク3を介して接続された外部装置2等の外部機器との間でデータの送受信を行う。例えば、通信部18は、外部装置2からPLDデータを受信する。
次に、本実施の形態の動作を説明する。
以上のように構成される画像形成装置1の制御部10がRAM11やROM12等の各部との協働によって実行する画像形成処理について、図4及び図5を参照しながら説明する。図4には、画像形成処理の概念図を示し、図5には、画像形成処理のフローチャートを示す。本実施の形態では、制御部10が取得するデータとして、PDLデータにのみ着目している。
制御部10は、外部装置2から送信されたPDLデータを、通信部18を介して取得し、取得したPDLデータをスプールデータとしてRAM11のスプール領域に一時的に記憶(スプール)させる(ステップS1)。
制御部10は、スプールデータ、即ちPDLデータをRAM11のスプール領域から読み出し、解析処理を実行する(ステップS2)。解析処理では、読み出された1ページ分のPDLデータが複数ラインのバンドに分割され、この分割されたバンド単位で、PDLデータとビットマップデータとの間の言語形式のディスプレイリストが生成される。制御部10は、生成したディスプレイリストを、RAM11の共有保存領域に一時的に記憶させる。
ディスプレイリストは、PDLデータに含まれるオブジェクト(テキストデータ、グラフィックスデータ、イメージデータ等)の特徴に応じて生成されるデータである。例えば、テキストデータやグラフィックスデータのディスプレイリストとしてはベクタ形式のデータ、イメージデータのディスプレイリストとしてはイメージ形式のデータ、を挙げることができる。
制御部10は、1ページ分のディスプレイリストが完成した時点で、RAM11からディスプレイリストを読み出し、読み出したディスプレイリストに基づいてラスタライズ処理を実行する(ステップS3)。ラスタライズ処理では、バンド単位に分割されたビットマップデータが生成され、圧縮される。圧縮されたビットマップデータ(圧縮ビットマップデータとも称す)は、RAM11の共有保存領域に順次保存される。
制御部10は、1バンド分のビットマップデータが完成すると、プリント部17を起動させてプリント処理を開始させた後、ビットマップデータ出力処理を実行する(ステップS4)。ビットマップデータ出力処理では、RAM11に保存された1バンド目の圧縮ビットマップデータが伸張され、プリント部17に出力される。また、制御部10は、一方で、2バンド目以降のビットマップデータの生成及びRAM11への保存を引き続き行う。
プリント部17では、入力されたビットマップデータに基づいて、用紙に画像が形成される。制御部10は、RAM11に保存されたバンド単位の圧縮ビットマップデータを、所定のタイミング毎に順次プリント部17に出力する。
なお、図5に示すステップS1〜S4により実現される処理モジュールは、マルチタスクで動作するため、複数ページを並行して処理可能であるが、説明の都合上、これらステップS1〜S4を時系列的に記載し、1ページ分の画像が用紙上に形成されるまでの処理を説明する。即ち、ステップS2〜S4の処理(解析処理、ラスタライズ処理、ビットマップデータ出力処理)は、説明の便宜により図示された手順に沿って説明しているが、各処理は並行して実行され得るものとする。
次に、解析処理(ステップS2)の具体的な処理内容について図6を用いて説明する。図6に、解析処理のフローチャートを示す。
図6に示す解析処理は、制御部10を構成する複数のコアのうちの何れかのコアにより実行される。
まず、RAM11から読み出したPDLデータに含まれるオブジェクトが解析され、1ページが複数ラインのバンドに分割され、バンド単位でディスプレイリストが生成される(ステップS11)。そして、生成されたディスプレイリストがRAM11に一時的に保存される。
次に、1ページ分のPDLデータに含まれる全てのオブジェクトの解析が完了したか否かが判定される(ステップS12)。全てのオブジェクトの解析が完了した場合(ステップS12:YES)、解析処理が終了される。一方、全てのオブジェクトの解析が完了していない場合(ステップS12:NO)、ステップS11の処理に戻り、1ページ分のPDLデータに含まれる次のオブジェクトの解析が行われる。
次に、ラスタライズ処理(ステップS3)の具体的な処理内容について説明する。ラスタライズ処理は、各バンドのディスプレイリストに基づいてラスタライズ処理を実行してビットマップデータを生成するタスク(RASスレーブと称す)と、RASスレーブを管理して各バンドのラスタライズ処理をRASスレーブに割り当てるタスク(RASマスターと称す)からなる。RASマスターは、予め設定されたコア(本実施の形態では、コア番号が1のコア)に予め割り当てられている。また、RASスレーブには、識別番号(RASスレーブ番号)が割り当てられる。なお、RASスレーブ番号が1のRASスレーブを固定RASスレーブとも称す。
図7に、RASマスターのフローチャートを示す。
まず、RASマスターの処理が実行される前、例えば、画像形成装置1の電源ON時に実行される初期化処理において、予め設定されたコア番号が1のコア(コア1)に対して、RASマスターが割り当てられ、当該RASマスターが使用する固定ラスタライズ領域が設定される。
その後、1ページ分のディスプレイリストが完成すると、バンド状態監視テーブル及びRASスレーブ状態監視テーブルが作成され初期化される(ステップS21)。
なお、バンド状態監視テーブル及びRASスレーブ状態監視テーブルは、ラスタライズ処理を行うページ毎に新規に作成される。
図8(a)に、ステップS21でのバンド状態監視テーブルの例、図8(b)に、ステップS21でのRASスレーブ状態監視テーブルの例、を示す。
図8(a)に示すように、バンド状態監視テーブルには、バンド番号と、バンド番号に対応するバンド状態からなる。バンド番号は、解析処理により分割された各バンドを識別するための識別番号である。バンド状態は、バンド番号が示すバンドの状態を「ビットマップ未生成」、「RASスレーブnに割り当て」、「ビットマップ生成済み」の3つの状態のうちいずれかで示されている。
「ビットマップ未作成」は、ビットマップデータが未生成であることを示す。「RASスレーブnに割り当て」は、バンド番号が示すバンドのラスタライズ処理をRASスレーブ番号がn(nはRASスレーブ番号)のRASスレーブに割り当て済みであることを示す。「ビットマップ生成済み」は、ビットマップデータが生成済みであることを示す。
ステップS21では、全てのバンドのバンド状態が「ビットマップ未生成」に初期化される。
図8(b)に示すように、RASスレーブ状態監視テーブルは、コア番号に対するRASスレーブ番号、ラスタライズ処理時間、削除指示フラグからなる。
コア番号は、制御部10を構成する各コアを識別する識別番号である。RASスレーブ番号は、コア番号が示すコアに対して割り当てられたRASスレーブを示す識別番号である。ラスタライズ処理時間は、RASスレーブ番号が示すRASスレーブにおけるラスタライズ処理の実行時間である。削除指示フラグは、コア番号が示すコアに対して割り当てられたRASスレーブを削除する指示の有無を示すフラグであり、「YES」の場合には削除する指示があることを示している。
ステップS21では、コア番号1のコア(コア1)に、RASスレーブ番号が1のRAスレーブ(固定RASスレーブ)が予め設定されている以外は、全ての項目は初期値が設定される。
ステップS21後、制御部10を構成する複数のコアの使用状況が検出され(ステップS22)、RASスレーブを割り当て可能なコアがあるか否かが判別される(ステップS23)。
ステップS23では、アイドル状態のコアは、RASスレーブを割り当て可能なコアと判別される。また、RASスレーブの処理よりも予め設定された優先度が低い処理を実行中のコアは、当該コアで実行されている処理を停止させることでRASスレーブを割り当て可能なコアであると判別される。
なお、FAX処理等のRASスレーブの処理よりも優先度が高い処理を実行しているコアは、継続して処理を実行させることとし、RASスレーブを割り当て可能なコアではないと判別される。
RASスレーブを割り当て可能なコアがある場合(ステップS23;YES)、RAM内の共有保存領域内において空き領域のサイズが検出され(ステップS24)、当該空き領域のサイズがラスタライズ領域を確保可能なサイズであるか否かが判別される(ステップS25)。
空き領域のサイズがラスタライズ領域を確保可能なサイズである場合(ステップS25;YES)、RASスレーブが追加生成され、当該追加生成されたRASスレーブ(追加RASスレーブ)が使用するラスタライズ領域(追加ラスタライズ領域)が共有保存領域内において確保される(ステップS26)。そして、RASスレーブ状態監視テーブルが更新され(ステップS27)、ステップS22の処理に戻る。
ステップS27では、ステップS23において判別されたRASスレーブが割り当て可能なコアのコア番号に対するRASスレーブ番号に、ステップS26において追加生成したRASスレーブの識別番号が割り当てられる。
RASスレーブを割り当て可能なコアがない場合(ステップS23;NO)、又は、空き領域のサイズがラスタライズ領域を確保可能なサイズでない場合(ステップS25;NO)、バンド状態監視テーブルの更新処理(図9参照)が実行される(ステップS28)。
ステップS28で実行されるバンド状態監視テーブルの更新処理では、各RASスレーブに対してバンドが一つ割り当てられる。
ステップS28後、RASスレーブが割り当てられたコアに対して、RASスレーブの実行指示が出力される(ステップS29)。そして、いずれかのRASスレーブからエラーが検出されたか否かが判別される(ステップS30)。
ステップS30では、いずれかのRASスレーブが後述する「エラーの設定」を行った場合、エラーが検出される。
エラーが検出された場合(ステップS30;YES)、全てのバンドの処理が中断されてエラー処理が実行され(ステップS31)、RASマスターの処理が終了される。
エラー処理とは、追加生成したRASスレーブの削除、当該追加生成したRASスレーブに対応して確保したラスタライズ領域(追加ラスタライズ領域)の解放等であり、RASマスターの処理開始前の状態に戻す処理である。
エラーが検出されない場合(ステップS30;NO)、1ページを構成する全バンドのビットマップデータの生成が完了したか否か判別される(ステップS32)。全バンドのビットマップデータの生成が完了していない場合(ステップS32;NO)、ステップS28の処理に戻り、全バンドのビットマップデータの生成が完了した場合(ステップS32;YES)、RASマスターの処理が終了される。
図9に、ステップS28において実行されるバンド状態監視テーブルの更新処理のフローチャートを示す。
まず、RASスレーブ状態監視テーブルのRASスレーブ番号のうち参照するRASスレーブ番号nが1に設定される(ステップS41)。また、バンド状態監視テーブルが参照され、ビットマップ未生成のバンドがあるか否かが判別され(ステップS42)、ビットマップ未生成のバンドがない場合(ステップS42;NO)、バンド状態監視テーブルの更新処理が終了される。
ビットマップ未生成のバンドがある場合(ステップS42;YES)、RASスレーブ番号がnのRASスレーブ(以下、RASスレーブn)が使用可能か否かが判別される(ステップS43)。
ステップS43では、RASスレーブnが割り当てられたコアがアイドル状態である場合、RASスレーブの処理よりも優先度が低い処理を行なっており当該コアで実行されている処理を停止させることでRASスレーブの実行が可能である場合、使用可能と判別される。
RASスレーブnが使用可能である場合(ステップS43;YES)、RASスレーブnにビットマップ未生成のバンドが割り当てられ(ステップS44)、バンド状態監視テーブルが更新される(ステップS45)。
RASスレーブnが使用可能でない場合(ステップS43;NO)、又は、ステップS45後、RASスレーブnのRASスレーブ番号nがRASスレーブ最大番号Nと一致するか否かが判別される(ステップS46)。なお、RASスレーブ最大番号Nは、追加生成したRASスレーブ数と固定RASスレーブの数との加算値である。
RASスレーブ番号nがRASスレーブ最大番号Nと一致しない場合(ステップS46;NO)、RASスレーブ番号nがインクリメントされ(n=n+1)(ステップS47)、ステップS42の処理に戻る。
RASスレーブ番号nがRASスレーブ最大番号Nと一致する場合(ステップS46;YES)、バンド状態監視テーブルが参照され、RASスレーブが割り当てられたバンドがあるか否かが判別される(ステップS48)。
RASスレーブが割り当てられたバンドがない場合(ステップS48;NO)、ステップS41の処理に戻り、RASスレーブが割り当てられたバンドがある場合(ステップS48;YES)、バンド状態監視テーブルの更新処理が終了される。
図10(a)に、バンド状態監視テーブルが終了したときのバンド状態監視テーブルの例、図10(b)に、バンド状態監視テーブルの更新処理が終了したときのRASスレーブ状態監視テーブルの例、を示す。
図10(b)に示すように、コア番号が1のコアには、RASスレーブ番号が1のRASスレーブが割り当てられ、図10(a)に示すように、当該RASスレーブ番号が1のRASスレーブ(RASスレーブ1)は、バンド番号が1のバンドに割り当てられる。同様に、図10(b)に示すように、コア番号が2、4のコアには、RASスレーブ番号が2、3のRASスレーブがそれぞれ割り当てられ、図10(a)に示すように、当該RASスレーブ番号が2、3のRASスレーブ(RASスレーブ2、RASスレーブ3)は、バンド番号が2、3のバンドに割り当てられる。
なお、図10(a)では、バンド番号が3のバンドに対してRASスレーブを割り当てた段階で、使用可能なRASスレーブがなくなるため、バンド番号が4以降のバンドにはRASスレーブは割り当てられず、バンド状態が「ビットマップ未生成」のままとなる。
図11に、RASスレーブのフローチャートを示す。
図11に示す処理は、RASマスターから実行指示を受けたRASスレーブが個々に実行するものであり、RASマスターから実行指示を受けたタイミングで開始される。また、RASスレーブの処理は、当該RASスレーブに設定されているRASスレーブ番号を含むRASスレーブ状態監視テーブルのレコードと、バンド状態監視テーブルのレコードとが参照されて実行される。
RASマスターから実行指示を受けると、バンド状態監視テーブルに割り当てられたバンドのビットマップデータの生成開始から終了までのラスタライズ処理の実行時間の計時が開始される(ステップS51)。そして、割り当てられたバンド内の1つのオブジェクトのディスプレイリストがビットマップデータに変換される(ステップS52)。
ステップS52後、RASスレーブ状態監視テーブルのラスタライズ処理時間が、ステップS52のオブジェクトの変換終了時の計時時間に更新される(ステップS53)。そして、RASスレーブ状態監視テーブルの削除指示フラグが参照され(ステップS54)、削除指示があるか否かが判別される(ステップS55)。
削除指示がない場合(ステップS55;NO)、割り当てられたバンド内の全てのオブジェクトに対してビットマップデータへの変換が完了したか否かが判別され(ステップS56)、バンド内の全オブジェクトのビットマップデータへの変換が完了していない場合(ステップS56;NO)、ステップS52の処理に戻る。
バンド内の全オブジェクトのビットマップデータへの変換が完了した場合(ステップS56;YES)、計時が終了される(ステップS57)。
図12に、RASスレーブ番号が1のスレーブにおいて、ステップS57の処理が終了したときのRASスレーブ状態監視テーブルの例を示す。
図12に示すように、RASスレーブが1のスレーブでは、割り当てられたバンドのラスタライズ処理に要した時間が10〔ms〕であったことがわかる。
ステップS57後、生成した1バンド分のビットマップデータが圧縮され、当該圧縮されたビットマップデータ(圧縮ビットマップデータ)を保存可能な空き領域がRAM内の共有保存領域内にあるか否かが判別される(ステップS58)。
圧縮ビットマップデータを保存可能な空き領域がRAM内の共有保存領域内になく不足している場合(ステップS58;NO)、追加RASスレーブがあるか否かが判別される(ステップS59)。追加RASスレーブとは、RASスレーブ番号が1以外のRASスレーブであり、ステップS59では、RASスレーブ状態監視テーブル内のRASスレーブ番号の項目が参照され、RASスレーブ番号が1を除くRASスレーブ(追加RASスレーブ)があるか否かが判別される。なお、RASスレーブ番号が1のRASスレーブは、固定RASスレーブである。
追加RASスレーブがない場合(ステップS59;NO)、空き領域の不足によりこれ以上のラスタライズ処理の継続が不可能であるため、エラーが発生したことが設定され(ステップS60)、RASスレーブの処理が中断されて終了する。
追加RASスレーブがある場合(ステップS59;YES)、追加RASスレーブそれぞれのラスタライズ処理時間が比較され(ステップS61)、ラスタライズ処理時間が最小の追加RASスレーブを削除することが決定され、当該追加RASスレーブの削除指示フラグが「YES」に設定され(ステップS62)、ステップS58の処理に戻る。
図13に、RASスレーブ番号が1のスレーブにおいて、ステップS62の処理が終了したときのRASスレーブ状態監視テーブルの例を示す。
図13に示すように、RASスレーブ番号が2の追加RASスレーブとRASスレーブ番号が3の追加RASスレーブとでは、RASスレーブ番号が3の追加RASスレーブの方がRASスレーブ番号が2の追加RASスレーブよりもラスタライズ処理時間が短い。従って、RASスレーブ番号が3の追加RASスレーブの削除指示フラグが「YES」に設定される。削除フラグが「YES」に設定された追加RASスレーブは、この後に削除され、当該追加RASスレーブに割り当てられていたラスタライズ領域が解放されることにより、新たな空き領域が発生することとなる。
圧縮ビットマップデータを保存可能な空き領域がRAM内の共有保存領域内にある場合(ステップS58;YES)、圧縮ビットマップデータが共有保存領域内に保存される(ステップS63)。そして、バンド状態監視テーブルのバンド状態が「ビットマップ生成済み」に変更され(ステップS64)、RASスレーブ状態監視テーブル内の当該RASスレーブのレコードのうちラスタライズ処理時間及び削除指示フラグの情報がクリア(初期化)され(ステップS65)、RASスレーブの処理が終了される。
一方、削除指示がある場合(ステップS55;YES)、バンド状態監視テーブルのバンド状態が「ビットマップ未生成」に変更され(ステップS66)、RASスレーブ状態監視テーブル内の当該RASスレーブのRASスレーブ番号、ラスタライズ処置時間、削除指示フラグの全項目の情報がクリア(初期化)される(ステップS67)。
なお、ステップS68において、RASスレーブ番号が1の固定RASスレーブの場合、RASスレーブ番号はクリアされず1の状態を維持する。
ステップS67後、終了処理が実行され(ステップS68)、RASスレーブの処理が終了される。終了処理では、生成途中のビットマップデータの削除、割り当てられていたラスタライズ領域の解放、RASスレーブ自身の削除等が行なわれる。
RASスレーブ番号が3のスレーブにおいて、図14(a)に、ステップS55;YES後のステップS66の処理が終了したときのバンド状態監視テーブルの例、図14(b)に、ステップS67の処理が終了したときのRASスレーブ状態監視テーブルの例、を示す。
図14(a)に示すように、バンド状態監視テーブルのバンド番号が3に対するバンド状態が「RASスレーブ3に割り当て」(図10(b)参照)から「ビットマップ未生成」に変更される。
また、図14(b)に示すように、RASスレーブ状態監視テーブルのコア番号が4のコアに対して割り当てられていたRASスレーブ番号が3のRASスレーブに係る情報(RASスレーブ番号、ラスタライズ処置時間、削除指示フラグ)がクリア(初期化)される。
RASスレーブ番号が1のスレーブにおいて、図15(a)に、RASスレーブ番号が3のスレーブが削除された後にステップS64の処理が終了したときのバンド状態監視テーブルの例、図15(b)に、ステップS65の処理が終了したときのRASスレーブ状態監視テーブルの例、を示す。
図15(a)に示すように、バンド状態監視テーブルのバンド番号が1に対するバンド状態が「RASスレーブ1に割り当て」(図14(a)参照)から「ビットマップ生成済」に変更される。
また、図15(b)に示すように、RASスレーブ状態監視テーブル内の当該RASスレーブ1(RASスレーブ番号が1)のレコードのうちラスタライズ処理時間及び削除指示フラグの情報がクリア(初期化)される。
図16A、図16B、図16Cに、共有保存領域内のイメージ図を示し、ラスタライズ処理が実行される際のラスタライズ領域の追加、削除について説明する。
ラスタライズ処理が開始されたとき、共有保存領域11aには、1ページ分のディスプレイリストDL1〜DLmが保存された領域と、固定RASスレーブ(RASスレーブ1)が使用する固定ラスタライズ領域R1が存在している(図16A(a)参照)。
次に、コアの使用状況、空き領域Eのサイズに基づいてRASスレーブが追加生成されると共に、追加生成されたRASスレーブが使用する追加ラスタライズ領域が共有保存領域内に確保される。共有保存領域11aには、追加RASスレーブ(RASスレーブ2、3)が使用する追加ラスタライズ領域R2、R3が確保されている(図16A(b)参照)。
その後、各RASスレーブに対して実行指示が出力されると、各RASスレーブにおいて、割り当てられたバンドのディスプレイリストがビットマップデータに変換され、1バンド分の圧縮ビットマップデータB1、B2、B3が生成されて共有保存領域に保存される(図16A(c)参照)。
圧縮ビットマップデータを保存する際に、当該圧縮ビットマップを保存する空き領域Eが不足した場合(図16A(d)参照)、追加RASスレーブのうちラスタライズ時間が最小の追加RASスレーブが削除されると共に、当該削除される追加RASスレーブが使用していた追加ラスタライズ領域R3が解放され、空き領域Eのサイズが拡張される(図16B(e)参照)。そして、追加ラスタライズ領域R3が解放されたことにより拡張された空き領域Eに、圧縮ビットマップデータが保存されることとなる(図16B(f)参照)。
再度、空き領域の不足が発生した場合には(図16B(g)参照)、上述したように追加RASスレーブの削除に伴って追加ラスタライズ領域R2が解放されることにより、空き領域Eのサイズが拡張され(図16B(h)参照)、拡張された空き領域Eに、圧縮ビットマップデータが保存されることとなる(図16C(i)参照)。
その後、空き領域が不足しても削除する追加RASスレーブがない場合には(図16C(j)参照)、これ以上のラスタライズ処理の継続が不可能であるため、エラー処理が実行され終了する。
以上のように、本実施の形態によれば、コアの使用状況とRAM内の共有保存領域の空き領域の状況とに基づいて、RASスレーブによりラスタライズ処理を実行するコアを設定し、設定したコア毎にラスタライズ処理を実行することができるため、複数のコア及びRAM内のメモリ領域を有効に活用でき、ラスタライズ処理の効率化を図ることができるため、印刷データの生成効率を向上させることができる。
更に、共有保存領域内の空き領域が不足した場合には、RASスレーブによりラスタライズ処理を実行するコアの数を削減して当該ラスタライズ処理を実行するために使用されるラスタライズ領域を削減(解放)することにより、新たな空き領域が発生することとなり、空き領域不足によるラスタライズ処理の停止を防止できる。
特に、ラスタライズ処理の実行時間が最小のコアによるRASスレーブを削除して、当該ラスタライズ処理を実行するために使用されるラスタライズ領域を削減(解放)することにより、新たな空き領域を発生させることができるため、ラスタライズ処理の実行無駄を最小限に留めることができ、ラスタライズ処理を実行するRASスレーブの削減によるラスタライズ処理の効率化への影響を低減することができる。
また、アイドル、又は、ラスタライズ処理よりも予め設定された優先度が低い処理を実行中であるコアに対して、RASスレーブを実行するコアとしての設定、及び、ラスタライズ処理を実行するラスタライズ領域の設定を行なうことができる。
また、RASスレーブによるラスタライズ処理を実行するコアに対して、ラスタライズ処理を実行するバンドを割り当て、ラスタライズ処理をバンド単位で実行することができるため、1ページのラスタライズ処理をバンド単位で並列して実行することができ、1ページあたりの印刷データの生成処理時間の短縮を図ることができ、印刷データの生成効率を向上させることができる。
〔変形例〕
図17、図18に、RASマスターの変形例のフローチャートを示す。
図17、図18に示すRASマスターの処理は、1ページを構成する全バンドのビットマップの生成処理が完了するまで、RASスレーブの追加を行なうことが可能な点が図7に示すRASマスターの処理と異なる点である。
ステップS71〜S82は、図7に示すステップS21〜32と同様であるため、説明は省略する。
全バンドのビットマップの生成処理が完了していない場合(ステップS82;NO)、制御部10を構成する複数のコアの使用状況が検出され(ステップS83)、RASスレーブを割り当て可能なコアがあるか否かが判別される(ステップS84)。
なお、ステップS83、S84は、図7に示すステップS22、S23と同様であるため、詳細な説明は省略する。
RASスレーブを割り当て可能なコアがある場合(ステップS84;YES)、RAM内の共有保存領域内において空き領域のサイズが検出され(ステップS85)、当該空き領域のサイズがラスタライズ領域を確保可能なサイズであるか否かが判別される(ステップS86)。
空き領域のサイズがラスタライズ領域を確保可能なサイズである場合(ステップS86;YES)、RASスレーブが追加生成され、当該追加生成されたRASスレーブ(追加RASスレーブ)が使用するラスタライズ領域(追加ラスタライズ領域)が共有保存領域内において確保される(ステップS87)。そして、RASスレーブ状態監視テーブルが更新され(ステップS88)、ステップS78の処理に戻り、バンド状態監視テーブルの更新処理が実行される。
RASスレーブを割り当て可能なコアがない場合(ステップS84;NO)、又は、空き領域のサイズがラスタライズ領域を確保可能なサイズでない場合(ステップS86;NO)、ステップS78の処理に戻り、バンド状態監視テーブルの更新処理が実行される。
図17、図18に示すRASマスターの処理によって、RASスレーブに対して実行指示を出力した後に、先行して処理されているページの印刷が完了する等して共有保存領域内に空き領域が発生した場合には、RASスレーブを更に追加生成することができる。また、空き領域の不足によってRASスレーブを削除した場合であっても、再度、空き領域が発生した場合には、再度、RASスレーブを追加することができる。従って、1ページのラスタライズ処理の処理効率の向上を更に図ることができる。
従って、変形例によれば、1ページ分を構成する全バンドのラスタライズ処理が完了していない場合には、RASスレーブによるラスタライズ処理を実行するコアを追加設定することができ、当該追加設定したコアと、事前に設定したコアそれぞれによるラスタライズ処理を実行することができるため、更にラスタライズ処理の効率化を図ることができる。
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として、ROMを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
また、本発明は、上記実施の形態の内容に限定されるものではなく、本発明の主旨を逸脱しない範囲で適宜変更可能である。
1 画像形成装置
2 外部装置
3 通信ネットワーク
10 制御部
11 RAM
11a 共有保存領域
12 ROM
12a プリンタコントローラプログラム
13 HDD
14 操作部
15 表示部
16 画像読取部
17 プリント部
18 通信部
20 CPU
21 RAM
22 HDD
22a プリンタドライバプログラム
23 操作部
24 表示部
25 通信部
A 画像形成システム

Claims (8)

  1. ページ記述言語形式のデータと印刷データとの間の中間言語形式のデータと、当該中間言語形式のデータに基づいて生成される前記印刷データと、が一時的に記憶される領域と、前記中間言語形式のデータに基づいて前記印刷データが生成されるラスタライズ処理が実行される際に使用されるラスタライズ領域と、を含む記憶部と、
    複数の演算部を有する制御部を備え、
    前記制御部は、
    1ページ分の前記ページ記述言語形式のデータを解析することにより、1ページ分を構成する複数のバンド単位の中間言語形式のデータを生成し、
    前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについて、前記複数の演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を設定し、
    当該設定した演算部毎に前記ラスタライズ処理を実行することにより前記印刷データを生成し、
    前記設定した演算部がバンド単位の前記ラスタライズ処理を並列で実行しているときに前記記憶部内の空き領域が不足した場合、
    前記設定した演算部のうち所定の演算部のラスタライズ処理を終了し、
    前記所定の演算部に対応する前記ラスタライズ領域を解放し、
    前記設定した演算部のうちの前記所定の演算部以外の他の演算部により、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについての前記ラスタライズ処理を実行すること、
    を特徴とする印刷データ生成装置。
  2. 前記制御部は、
    前記演算部毎にラスタライズ処理の実行時間を計時しており、
    前記ラスタライズ処理を実行する複数の演算部のうち、前記実行時間が最小の演算部によるラスタライズ処理を終了して、前記ラスタライズ処理を実行する演算部の数を削減すること、
    を特徴とする請求項1に記載の印刷データ生成装置。
  3. 前記制御部は、
    前記演算部の使用状況が、アイドル、又は、前記ラスタライズ処理よりも予め設定された優先度が低い処理を実行中である演算部を選出し、前記記憶部の空き領域の状況が、前記ラスタライズ領域を確保可能な領域がある場合、前記選出した演算部に対して、前記ラスタライズ処理を実行する演算部としての設定、及び、前記ラスタライズ処理を実行するラスタライズ領域の設定を行なうこと、
    を特徴とする請求項1または2に記載の印刷データ生成装置。
  4. 前記制御部は、
    前記1ページ分を構成する全バンドのラスタライズ処理が完了していない場合、前記演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を追加設定し、当該追加設定した演算部と前記設定した演算部それぞれによる前記ラスタライズ処理を実行すること、
    を特徴とする請求項1〜3の何れか一項に記載の印刷データ生成装置。
  5. 複数の演算部を用いて、ページ記述言語形式のデータと印刷データとの間の中間言語形式のデータに基づいて前記印刷データが生成されるラスタライズ処理を行なう印刷データ生成方法において、
    1ページ分の前記ページ記述言語形式のデータを解析することにより、1ページ分を構成する複数のバンド単位の中間言語形式のデータを生成する工程と、
    前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについて、前記複数の演算部の使用状況と、前記ラスタライズ処理が実行される際に使用されるラスタライズ領域を含む記憶部の空き領域の状況と、に基づいて、前記ラスタライズ処理を実行する演算部を設定する工程と、
    当該設定した演算部毎に前記ラスタライズ処理を実行することにより前記印刷データを生成する工程と、
    を含み、
    前記ラスタライズ処理を実行する工程は、
    前記設定した演算部がバンド単位の前記ラスタライズ処理を並列で実行しているときに前記記憶部内の空き領域が不足した場合、
    前記設定した演算部のうち所定の演算部のラスタライズ処理を終了し、
    前記所定の演算部に対応する前記ラスタライズ領域を解放し、
    前記設定した演算部のうちの前記所定の演算部以外の他の演算部により、前記1ページ分を構成する複数のバンド単位の中間言語形式のデータについての前記ラスタライズ処理を実行すること、
    を特徴とする印刷データ生成方法。
  6. 前記演算部毎にラスタライズ処理の実行時間を計時する工程を含み、
    前記ラスタライズ処理を実行する工程は、
    前記ラスタライズ処理を実行する複数の演算部のうち、前記実行時間が最小の演算部によるラスタライズ処理を終了して、前記ラスタライズ処理を実行する演算部の数を削減すること、
    を特徴とする請求項5に記載の印刷データ生成方法。
  7. 前記演算部を設定する工程は、
    前記演算部の使用状況が、アイドル、又は、前記ラスタライズ処理よりも予め設定された優先度が低い処理を実行中である演算部を選出し、前記記憶部の空き領域の状況が、前記ラスタライズ領域を確保可能な領域がある場合、前記選出した演算部に対して、前記ラスタライズ処理を実行する演算部としての設定を行うこと、
    を特徴とする請求項5または6に記載の印刷データ生成方法。
  8. 前記演算部を設定する工程は、
    前記1ページ分を構成する全バンドのラスタライズ処理が完了していない場合、前記演算部の使用状況と前記記憶部の空き領域の状況とに基づいて、前記ラスタライズ処理を実行する演算部を追加設定し、
    前記ラスタライズ処理を実行する工程は、
    当該追加設定した演算部と前記設定した演算部それぞれによる前記ラスタライズ処理を実行すること、
    を特徴とする請求項5〜7の何れか一項に記載の印刷データ生成方法。
JP2010268121A 2010-12-01 2010-12-01 印刷データ生成装置及び印刷データ生成方法 Active JP5716367B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010268121A JP5716367B2 (ja) 2010-12-01 2010-12-01 印刷データ生成装置及び印刷データ生成方法
US13/309,210 US8767247B2 (en) 2010-12-01 2011-12-01 Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010268121A JP5716367B2 (ja) 2010-12-01 2010-12-01 印刷データ生成装置及び印刷データ生成方法

Publications (2)

Publication Number Publication Date
JP2012119955A JP2012119955A (ja) 2012-06-21
JP5716367B2 true JP5716367B2 (ja) 2015-05-13

Family

ID=46161972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010268121A Active JP5716367B2 (ja) 2010-12-01 2010-12-01 印刷データ生成装置及び印刷データ生成方法

Country Status (2)

Country Link
US (1) US8767247B2 (ja)
JP (1) JP5716367B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013165343A (ja) * 2012-02-09 2013-08-22 Canon Inc 画像形成装置、画像形成方法及びプログラム
JP6337748B2 (ja) * 2013-11-29 2018-06-06 株式会社リコー 情報処理装置、情報処理方法、プログラム
JP6330481B2 (ja) * 2014-05-26 2018-05-30 富士ゼロックス株式会社 画像処理装置、印刷情報生成装置、画像形成装置、画像形成システムおよびプログラム
JP5968373B2 (ja) 2014-07-24 2016-08-10 キヤノン株式会社 印刷装置、情報処理方法及びプログラム
JP6136020B2 (ja) * 2014-09-18 2017-05-31 コニカミノルタ株式会社 画像形成装置及び並列処理の制御方法並びに制御プログラム
WO2016165076A1 (en) 2015-04-14 2016-10-20 Chongqing University Of Posts And Telecommunications Method and system for image enhancement

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781707A (en) * 1996-06-24 1998-07-14 Hewlett-Packard Company Method and apparatus for preventing print overruns by controlling print engine speed
JP2003051019A (ja) 2001-08-08 2003-02-21 Canon Inc 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
US7202964B2 (en) * 2002-07-10 2007-04-10 Hewlett-Packard Development Company, L.P. Determining raster image processor cycle count to fully utilize a printer
US7576880B2 (en) * 2003-11-03 2009-08-18 Hewlett-Packard Development Company, L.P. Cooperative rasterization of print data in an enterprise network
JP2006159738A (ja) 2004-12-09 2006-06-22 Canon Inc 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
JP4363417B2 (ja) * 2006-06-19 2009-11-11 日本電気株式会社 コンピュータ装置およびコンピュータ制御方法
JP4942179B2 (ja) * 2006-12-11 2012-05-30 キヤノン株式会社 印刷制御装置及びその制御方法及びデバイスドライバ
JP4337885B2 (ja) * 2007-02-15 2009-09-30 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及び画像形成方法
US8228555B2 (en) * 2008-03-31 2012-07-24 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for parallel display list rasterization
US20090251723A1 (en) * 2008-04-02 2009-10-08 Fuji Xerox Co., Ltd. Image processing apparatus, image forming system, image processing method and computer readable medium storing program
JP4561883B2 (ja) * 2008-06-19 2010-10-13 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム及び画像形成処理方法
US8861014B2 (en) * 2008-09-30 2014-10-14 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for optimized printer throughput in a multi-core environment
JP5183443B2 (ja) * 2008-11-27 2013-04-17 京セラドキュメントソリューションズ株式会社 画像形成装置
JP2011136538A (ja) * 2010-01-04 2011-07-14 Konica Minolta Business Technologies Inc 画像形成装置、印刷データ生成装置、プログラム、及び印刷データ生成方法

Also Published As

Publication number Publication date
JP2012119955A (ja) 2012-06-21
US20120140259A1 (en) 2012-06-07
US8767247B2 (en) 2014-07-01

Similar Documents

Publication Publication Date Title
JP4693664B2 (ja) プリンタ装置及びプログラムと印刷方法
US8390837B2 (en) Information processing apparatus, print setting control method, and computer-readable storage medium
JP5333259B2 (ja) 画像形成装置、プログラム及び画像形成方法
JP5716367B2 (ja) 印刷データ生成装置及び印刷データ生成方法
JP3977356B2 (ja) 情報処理装置およびその制御方法
US10044900B2 (en) Image forming apparatus, method of controlling the same, and storage medium
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP3363793B2 (ja) 印刷制御方法及び装置
JP2005216030A (ja) 情報処理装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP4371128B2 (ja) 画像形成装置、画像形成方法及びプログラム
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP5392153B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2012111210A (ja) 印刷データ生成装置、印刷データ生成方法及びプログラム
US20150339550A1 (en) Image processing apparatus, print information generating apparatus, image forming apparatus, image forming system, image processing method, print information generating method, and non-transitory computer readable medium
JP4095581B2 (ja) 情報処理装置およびその制御方法
JP4877331B2 (ja) 画像処理装置、プログラム及びデータ処理方法
JP5560823B2 (ja) 画像処理制御装置、画像処理装置及びプログラム
JP5589582B2 (ja) 画像処理装置及びプログラム
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
JP5664247B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2012126024A (ja) 印刷ジョブ処理装置、印刷ジョブ処理装置用プログラム、および印刷ジョブ処理方法
JP4418573B2 (ja) 画像出力制御装置、画像出力制御方法、及び記憶媒体
JP7414101B2 (ja) 画像処理装置
US9262116B2 (en) Print control apparatus, image forming apparatus, image forming system, and method of controlling for spooling printing data and handling status information about a work of the image forming apparatus throughout printing process
JP5966805B2 (ja) 印刷のための制御装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent or registration of utility model

Ref document number: 5716367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150