説明

画像処理装置及び画像形成装置

【課題】PDLデータの画像処理を高速に行うとともに、高精細な画像形成を実現することである。
【解決手段】画像処理装置100αは、コア20,30を有し、コア20,30のそれぞれが、PDLデータを言語解析してオブジェクトのディスプレイリストを生成する言語解析処理と、ディスプレイリストのオブジェクトのラスタライズを行う描画処理と、ラスタライズされたオブジェクトのデータを合成する合成処理と、を実行することにより、PDLデータに基づいてプリント可能データを生成するCPU11を備える。コア20,30の各々は、ラスタライズ用の2種の解像度の何れかに設定されている。コア20,30の描画処理のラスタライズは、各コアに設定された解像度で、コア毎に並行して実行される。合成処理は、解像度の低いラスタライズ後のオブジェクトのデータを最も高い解像度に拡大して合成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像形成装置に関する。
【背景技術】
【0002】
従来、MFP(MultiFunction Peripheral)、プリンタ等の画像形成装置が知られている。近年、画像形成装置において、高精細なプリントの要求が高まっている。この要求に応じ、プリントデータの画像処理において、エッジが強調されるテキスト/ラインオブジェクトに対して解像度を上げてラスタライズしてからイメージオブジェクトと合成する技術が知られている。
【0003】
ここで、この画像処理技術をシングルコアのCPU(Central Processing Unit)で実現する場合の動作を説明する。シングルコアとは、1つのCPUパッケージ内にプロセッサコアが1つある構成である。図19に、従来の画像形成装置のCPUで実行される言語解析処理、描画処理、合成処理のラダーチャートを示す。
【0004】
シングルコアのCPUを有する画像形成装置において、テキスト/ラインオブジェクト以外の(描画)オブジェクト1と、テキスト/ラインオブジェクトのオブジェクト2と、を1ページ目の1バンド目に含むプリントデータをプリントする例を説明する。この画像形成装置は、PDL(Page Description Language:ページ記述言語)に対応する。バンド(領域)とは、プリント画像の1ページを複数の帯状の領域に分けた場合の各領域である。
【0005】
先ず、画像形成装置のCPUは、外部入力装置としてのPC(Personal Computer)50からプリントデータを受信する。そして、CPUは、受信したPDLデータであるプリントデータの1ページ目を言語解析(ページ解析)して中間言語のディスプレイリスト(以下、DL:Display Listと記述する)を生成し、RAM(Random Access Memory)に格納する。1バンド目のDLには、オブジェクト1,2〜が含まれているものとする。
【0006】
そして、CPUは、描画処理として、DLをRAMから読み出して、1バンド目のオブジェクト1を600dpi(低解像度)でラスタライズする。そして、CPUは、合成処理として、ラスタライズ後のオブジェクト1をRAMの1バンド目の領域にコピーする。そして、CPUは、描画処理として、DLをRAMから読み出して、1バンド目のオブジェクト2を1200dpi(高解像度)でラスタライズする。そして、CPUは、合成処理として、ラスタライズ後のオブジェクト2をRAMの1バンド目の領域のオブジェクト1に合成し、プリント可能データを生成し、RAMに格納する。
【0007】
このようにして、CPUは、1ページ分のプリント可能データがRAMに格納されると、1ページ分のプリント可能データを画像形成部にプリントさせる。しかし、言語解析、描画処理及び合成処理の画像処理を、シングルコアのCPUで実現する場合、非常に時間がかかってしまっていた。
【0008】
また、複数のプロセッサを用いた画像形成装置が知られている。例えば、プリントデータの1ページ目を第1のプロセッサが処理し、2ページ目を第2のプロセッサが処理するというように、ページ単位でプロセッサを割り当てて処理する画像形成装置である(例えば、特許文献1参照)。
【0009】
また、マルチコアのCPUを用いた画像形成装置も知られている。マルチコアとは、1つのCPUパッケージ内にプロセッサコアが複数ある構成である。例えば、マルチコアのCPUを用いて、言語解析処理、ラスタライズ処理、画像圧縮処理、データ転送等を各々のコアに割り当てるマルチスレッド方式の画像形成装置である(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平5−201077号公報
【特許文献2】特開2009−116450号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかし、従来の複数のプロセッサを用いた画像形成装置では、ページ単位割り当てにおいて、例えば、1ページ目よりも2ページ目の方が先に処理を完了する等、出力順序が崩れてしまうおそれがあった。
【0012】
また、従来のマルチコアのCPUを用いた画像形成装置では、ラスタライズを完了するまで、画像圧縮のコアやデータ転送のコアは何もしないため効率化が図れていなかった。加えて、言語処理のコアも、言語処理が終わると何もしないため、効率化が図れていなかった。
【0013】
さらに、従来のマルチコアのCPUを用いた画像形成装置では、オブジェクトに応じて解像度を変えてラスタライズ及び合成することが望まれていた。
【0014】
本発明の課題は、PDLデータの画像処理を高速に行うとともに、高精細な画像形成を実現することである。
【課題を解決するための手段】
【0015】
上記課題を解決するため、請求項1に記載の発明の画像処理装置は、
複数の演算部を有し、前記複数の演算部のそれぞれが、PDLデータを言語解析してオブジェクトのディスプレイリストを生成する言語解析処理と、前記ディスプレイリストのオブジェクトのラスタライズを行う描画処理と、前記ラスタライズされたオブジェクトのデータを合成する合成処理と、を実行することにより、前記PDLデータに基づいてプリント可能データを生成する制御部を備え、
前記複数の演算部の各々は、ラスタライズ用の2種以上の解像度のうち何れかに設定されており、
前記描画処理のラスタライズは、各演算部に設定された解像度で、前記演算部毎に並行して実行され、
前記合成処理は、解像度の低いラスタライズ後のオブジェクトのデータを最も高い解像度に拡大して合成する。
【0016】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、
前記制御部は、前記複数の演算部のいずれか一つが、前記言語解析処理、前記描画処理、前記合成処理の実行を管理する管理処理を実行する。
【0017】
請求項3に記載の発明の画像処理装置は、
ラスタライズされたオブジェクトのデータを合成するハードウェアアクセラレータと、
複数の演算部を有し、前記複数の演算部のそれぞれが、PDLデータを言語解析してオブジェクトのディスプレイリストを生成する言語解析処理と、前記ディスプレイリストのオブジェクトのラスタライズを行う描画処理と、前記ラスタライズされたオブジェクトのデータを合成する合成処理と、を実行し、前記複数の演算部のいずれか一つが、前記言語解析処理及び前記描画処理の実行を管理し、前記ラスタライズされたオブジェクトのデータを前記ハードウェアアクセラレータに合成させる管理処理を実行することにより、前記PDLデータに基づいてプリント可能データを生成する制御部と、を備え、
前記複数の演算部の各々は、ラスタライズ用の2種以上の解像度のうち何れかに設定されており、
前記描画処理のラスタライズは、各演算部に設定された解像度で、前記演算部毎に並行して実行され、
前記ハードウェアアクセラレータは、解像度の低いラスタライズ後のオブジェクトのデータを最も高い解像度に拡大して合成する。
【0018】
請求項4に記載の発明は、請求項1から3のいずれか一項に記載の画像処理装置において、
前記描画処理は、テキスト/ラインオブジェクトを高解像度でラスタライズし、テキスト/ラインオブジェクト以外のオブジェクトを低解像度でラスタライズする。
【0019】
請求項5に記載の発明は、請求項1から4のいずれか一項に記載の画像処理装置において、
前記合成処理は、各解像度でラスタライズされたオブジェクトのデータ毎に、重ね順に合成する。
【0020】
請求項6に記載の発明の画像形成装置は、
請求項1から5のいずれか一項に記載の画像処理装置と、
前記描画処理部により生成されたプリント可能データに応じて用紙に画像形成を行う画像形成部と、を備える。
【発明の効果】
【0021】
本発明によれば、PDLデータの画像処理を高速に行うとともに、高精細な画像形成を実現できる。
【図面の簡単な説明】
【0022】
【図1】本発明に係る第1の実施の形態の画像形成装置の機能構成を示すブロック図である。
【図2】第1の実施の形態の画像形成装置のコアで実行される言語解析処理、描画処理、合成処理を示すラダーチャートである。
【図3】望ましい合成順の合成処理例を示す図である。
【図4】誤った合成順の合成処理例を示す図である。
【図5】コア毎にオブジェクトの解像度が異なるバンド領域を用いた合成処理例を示す図である。
【図6】コア毎にオブジェクトの解像度が混在するバンド領域を用いた合成処理例を示す図である。
【図7】言語解析処理を示すフローチャートである。
【図8】第1の描画処理を示すフローチャートである。
【図9】第2の描画処理を示すフローチャートである。
【図10】第1の合成処理を示すフローチャートである。
【図11】本発明に係る第2の実施の形態の画像形成装置の機能構成を示すブロック図である。
【図12】第2の実施の形態の画像形成装置のコアで実行される言語解析処理、描画処理、合成処理を示すラダーチャートである。
【図13】第3の描画処理を示すフローチャートである。
【図14】第4の描画処理を示すフローチャートである。
【図15】第2の合成処理を示すフローチャートである。
【図16】管理処理を示すフローチャートである。
【図17】本発明に係る第3の実施の形態の画像形成装置の機能構成を示すブロック図である。
【図18】第3の実施の形態の画像形成装置のコアで実行される言語解析処理、描画処理、合成処理を示すラダーチャートである。
【図19】従来の画像形成装置のCPUで実行される言語解析処理、描画処理、合成処理を示すラダーチャートである。
【発明を実施するための形態】
【0023】
添付図面を参照して本発明に係る第1〜第3の実施の形態を順に詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0024】
(第1の実施の形態)
図1〜図10を参照して、本発明に係る第1の実施の形態を説明する。先ず、図1を参照して、本実施の形態の装置構成を説明する。図1に、本実施の形態の画像形成装置100の機能構成を示す。
【0025】
画像形成装置100は、PDL対応の画像形成装置である。PC等の外部入力装置から受信したPDLデータであるプリントデータに基づいて、用紙に画像形成(プリント)を行う装置である。画像形成装置100は、プリンタであるものとするが、これに限定されるものではなく、MFP(Multi Function Peripheral)等、他の画像形成装置としてもよい。
【0026】
画像形成装置100は、制御部としてのCPU11と、RAM12と、HDD(Hard Disk Drive)13と、ROM(Read Only Memory)14と、入力I/F部15と、画像形成部16と、を備える。
【0027】
なお、図1に示すように、CPU11と、RAM12と、HDD13と、ROM14と、入力I/F部15と、出力I/F部(図示略)とを、プリンタコントローラとしての画像処理装置100αとして構成してもよい。画像処理装置100αは、外部機器としての画像形成装置に接続され、生成したプリント可能データを出力I/F部により画像形成装置に送信して用紙に画像形成(プリント)させる。
【0028】
CPU11は、画像形成装置100の各部を制御する。CPU11は、演算部としてのコア20,30を有するデュアルコアのプロセッサである。CPU11(コア20,30)は、ROM14から読み出されて適宜RAM12に展開されたプログラムとの協働で、各種処理を実行する。具体的には、コア20は、ROM14から読み出された言語解析処理プログラムとの協働で、言語解析処理部21として機能する。コア20は、ROM14から読み出された第1の描画処理プログラムとの協働で、描画処理部22として機能する。コア20は、ROM14から読み出された第1の合成処理プログラムとの協働で、合成処理部23として機能する。また、コア30は、ROM14から読み出された言語解析処理プログラムとの協働で、言語解析処理部31として機能する。コア30は、ROM14から読み出された第2の描画処理プログラムとの協働で、描画処理部32として機能する。コア30は、ROM14から読み出された第1の合成処理プログラムとの協働で、合成処理部33として機能する。
【0029】
また、コア20において、言語解析処理部21、描画処理部22、合成処理部23は、時系列で同時に一つのみが動作するものとする。コア30において、言語解析処理部31、描画処理部32、合成処理部33は、時系列で同時に一つのみが動作するものとする。
【0030】
RAM12は、揮発性のメモリであり、各種プログラム、各種データを一時的に記憶するワークエリアを有する。HDD13は、磁気記憶媒体を有し、画像データ、追加フォントデータ等のデータを読み出し及び書き込み可能な記憶部である。ROM14は、読み出し専用のメモリであり、各種プログラム、フォントデータ等の各種データを記憶している。具体的には、ROM14には、言語解析プログラムと、第1の描画処理プログラムと、第2の描画処理プログラムと、第1の合成処理プログラムとが記憶されている。
【0031】
入力I/F部15は、PC50等の外部入力装置から、通信ネットワーク等を介して各種データが入力される(受信する)通信部である。画像形成部16は、入力される画像信号(プリント可能データ)に応じて用紙に画像形成(プリント)する電子写真方式、インクジェット方式等の画像形成部である。
【0032】
次に、図2〜図10を参照して、画像形成装置100の動作を説明する。先ず、図2〜図6を参照して、画像形成装置100の動作の概要を説明する。図2に、画像形成装置100のコア20,30で実行される言語解析処理、描画処理、合成処理のラダーチャートを示す。図3に、望ましい合成順の合成処理例を示す。図4に、誤った合成順の合成処理例を示す。図5に、コア毎にオブジェクトの解像度が異なるバンド領域を用いた合成処理例を示す。図6に、コア毎にオブジェクトの解像度が混在するバンド領域を用いた合成処理例を示す。
【0033】
先ず、画像形成装置100の画像形成処理の全体的な流れを簡単に説明する。画像形成装置100のCPU11は、外部入力装置からプリントデータを受信する。そして、CPU11(言語解析処理部21,31)は、ページ毎に、受信したプリントデータを言語解析(ページ解析)してDLを生成し、RAM12に格納する。
【0034】
CPU11(描画処理部22,32)は、バンド毎に、DLをRAM12から読み出して、DLに含まれる(描画)オブジェクトをラスタライズし、ラスタライズ後のオブジェクトのデータをRAM12に格納する。CPU11(合成処理部23,33)は、バンド毎に、ラスタライズ後のオブジェクトのデータをRAM12から読み出して合成し、プリント可能データとしてRAM12に格納する。そして、CPU11は、1ページ分のプリント可能データがRAM12に格納されると、1ページ分のプリント可能データを画像形成部16にプリントさせる。
【0035】
図2を参照して、画像形成装置100の動作の一例を説明する。図2に示す様に、画像形成装置100は、PC50から入力されるプリントデータ(PDLデータ)を画像形成する。このプリントデータの画像には、テキスト/ラインオブジェクトと、それ以外のオブジェクトとが混在しているものとする。テキスト/ラインオブジェクトは、高解像度でラスタライズされ、そのdpiを1200dpiとする。テキスト/ラインオブジェクト以外のオブジェクトは、低解像度でラスタライズされ、そのdpiを600dpiとする。また、図2上のオブジェクトの番号は、オブジェクトの重ねる順序を示す通し番号を示し、他の実施の形態でも同様である。
【0036】
また、コア20を、低解像度(600dpi)のラスタライズを行うコアとする。コア30を、高解像度(1200dpi)のラスタライズを行うコアとする。また、オブジェクト1,4,5,6を、テキスト/ラインオブジェクト以外のオブジェクトとし、オブジェクト2,3,7,8を、テキスト/ラインオブジェクトとする。オブジェクト1〜8は、1ページ目の1バンド目のオブジェクトとする。
【0037】
先ず、コア20において、言語解析処理部21により、プリントデータの1ページ目の言語解析処理が行われDLが生成される。1ページ目の言語解析処理が完了すると、描画処理部22により、生成されたDLからオブジェクト1が、600dpiでラスタライズされRAM12のコア20用のバンドのメモリ領域に展開される。また、描画処理部32により、生成されたDLからオブジェクト2,3が、順に1200dpiでラスタライズされRAM12のコア30用のバンドのメモリ領域に展開される。
【0038】
そして、オブジェクト1のラスタライズ後、合成処理部23により、ラスタライズ後のオブジェクト1のデータが、1200dpiに拡大され、RAM12の合成用領域に合成(コピー)される。オブジェクト1の合成後、合成処理部23により、合成処理権限移譲のメッセージM1がコア30に通知される。また、オブジェクト2,3のラスタライズ後、言語解析処理部31により、プリントデータの2ページ目の言語解析処理が行われDLが生成される。オブジェクト1の合成(コピー)後、合成処理権限移譲のメッセージM1に応じて、合成処理部33により、ラスタライズ後のオブジェクト2,3のデータがRAM12の合成用領域のオブジェクト1のデータに合成される。オブジェクト1,2,3の合成後、合成処理部33により、合成処理権限移譲のメッセージM1がコア20に通知される。
【0039】
そして、オブジェクト1の合成(コピー)後、描画処理部22により、生成されたDLからオブジェクト4,5,6が、順に600dpiでラスタライズされRAM12のコア20用のバンドのメモリ領域に展開される。また、オブジェクト1,2,3の合成後、描画処理部32により、生成されたDLからオブジェクト7,8が、順に1200dpiでラスタライズされRAM12のコア30用のバンドのメモリ領域に展開される。
【0040】
そして、オブジェクト4,5,6のラスタライズ後、合成処理部23により、ラスタライズ後のオブジェクト4,5,6のデータが、1200dpiに拡大され、RAM12の合成用領域のオブジェクト1,2,3のデータに合成される。オブジェクト1〜6の合成後、合成処理部23により、合成処理権限移譲のメッセージM1がコア30に通知される。また、オブジェクト7,8のラスタライズ後、言語解析処理部31により、プリントデータの2ページ目の言語解析処理の続きが行われDLが生成される。オブジェクト1〜6の合成後、合成処理部33により、合成処理権限移譲のメッセージM1に応じて、ラスタライズ後のオブジェクト7,8のデータがRAM12の合成用領域のオブジェクト1〜6のデータに合成される。オブジェクト1〜8の合成後、合成処理部33により、合成処理権限移譲のメッセージM1がコア20に通知される。このようにして、言語解析処理、描画処理、合成処理が、コア20,30で実行されていく。
【0041】
描画処理部22,32は、それぞれ、解像度が同じで重ねる順序が連続するオブジェクトのラスタライズ後のデータを、透過も含めて順番に重ねていく。このため、例えば、図3に示すように、オブジェクト1のデータ、オブジェクト2のデータ、オブジェクト3,4のデータ、オブジェクト5のデータが順に重ねられて合成され、望ましい合成結果が得られる。仮に、図4に示すように、オブジェクト1のデータ、オブジェクト3,4のデータ、オブジェクト2のデータ、オブジェクト5のデータが順に重ねられて合成されても、望ましい合成結果が得られない。
【0042】
また、コア20が600dpiのオブジェクトを処理し、コア30が1200dpiのオブジェクトを処理する構成とする。この構成では、コア20において、描画処理部22により、オブジェクトが600dpiでラスタライズされた後、合成処理部23により、そのラスタライズ後のオブジェクトのデータが1200dpiに拡大されて合成される。例えば、図5に示すように、同一のバンド領域のオブジェクトOB1,OB2,OB3,OB4,OB5を考える。描画処理部22により、オブジェクトOB1,OB2,OB3が600dpiでラスタライズされ、それらのラスタライズ後のデータがRAM12のコア20用の領域R1に格納される。また、描画処理部32により、オブジェクトOB4,OB5が1200dpiでラスタライズされ、それらのラスタライズ後のデータがRAM12のコア30用の領域R2に格納される。
【0043】
合成時には、合成処理部23により、領域R1のデータが1200dpiに拡大され、RAM12の合成用領域R3に格納される。また、合成処理部33により、領域R2のデータが、そのままRAM12の合成用領域R3に格納される。このようにして、1200dpiへの拡大処理は、コア20側の合成処理時のみで済み、領域R1を1200dpi用の容量よりも少ない600dpi用の容量とすることができる。
【0044】
仮に、コア20,30が、それぞれ、600dpi及び1200dpiの両方のオブジェクトを処理する構成とする。すると、例えば、図6に示すように、描画処理部22により、オブジェクトOB1,OB2が600dpiでラスタライズされて1200dpiに拡大され、オブジェクトOB4が1200dpiでラスタライズされ、それらのデータがRAM12のコア20用の領域R4に格納される。また、描画処理部32により、オブジェクトOB3が600dpiでラスタライズされて1200dpiに拡大され、それらのデータがRAM12のコア30用の領域R2に格納される。
【0045】
合成時には、合成処理部23により、領域R4のデータがそのままRAM12の合成用領域R3に格納される。また、合成処理部33により、領域R2のデータが、そのままRAM12の合成用領域R3に格納される。このようにして、1200dpiへの拡大処理は、コア20,30側の描画処理で行われる。すると、さまざまな解像度のオブジェクトが存在するため、最大解像度分のバンド領域をコアごとに設ける必要があり、領域R4の容量が領域R1の容量よりも大きいため、RAM12の必要メモリが増加してしまう。さらに、コア20,30で拡大処理が毎回発生してしまう。
【0046】
次いで、図7〜図10を参照して、コア20,30の動作を詳細に説明する。図7に、言語解析処理のフローチャートを示す。図8に、第1の描画処理のフローチャートを示す。図9に、第2の描画処理のフローチャートを示す。図10に、第1の合成処理のフローチャートを示す。
【0047】
図7を参照して、言語解析処理部21,31で実行される言語解析処理を説明する。ここでは、言語解析処理部21が処理を行う場合を説明するが、言語解析処理部31でも同様である。例えば、入力I/F部15に少なくとも1ページ分のプリントデータ(PDLデータ)が入力されたこと、自身のコアに合成処理権限が無くラスタライズもしていないことをトリガとして、コア20と言語処理プログラムとの協働で、言語解析処理部21により、言語解析処理が実行される。
【0048】
先ず、言語解析処理部21は、プリントデータのページ内の未抽出で合成時に重ねる順序が早いオブジェクトを抽出し、その抽出したオブジェクトがテキスト/ラインオブジェクトか否かを判別する(ステップS11)。テキスト/ラインオブジェクトである場合(ステップS11;YES)、言語解析処理部21は、ステップS11で抽出したオブジェクトの解像度を1200dpi(高解像度)に設定する(ステップS12)。そして、言語解析処理部21は、ステップS11で抽出したオブジェクトをデータ解析してDLを生成する(ステップS13)。そして、言語解析処理部21は、ステップS13で生成したDLをRAM12に格納する(ステップS14)。
【0049】
そして、言語解析処理部21は、ステップS11で抽出したオブジェクトが、1ページの最後のオブジェクトであるか否かを判別する(ステップS15)。1ページの最後のオブジェクトでない場合(ステップS15;NO)、ステップS11に移行される。1ページの最後のオブジェクトである場合(ステップS15;YES)、言語解析処理を終了する。
【0050】
テキスト/ラインオブジェクトでない場合(ステップS11;NO)、言語解析処理部21は、ステップS11で抽出したオブジェクトの解像度を600dpi(低解像度)に設定する(ステップS16)。そして、言語解析処理部21は、ステップS11で抽出したオブジェクトをデータ解析してDLを生成する(ステップS17)。そして、言語解析処理部21は、ステップS17で生成したDLをRAM12に格納し(ステップS18)、ステップS15に移行される。
【0051】
次いで、図8を参照して、描画処理部22で実行される第1の描画処理を説明する。例えば、言語解析処理、又はコア20での第1の合成処理が終了したことをトリガとして、コア20と第1の描画処理プログラムとの協働で、描画処理部22により、第1の描画処理が実行される。
【0052】
先ず、描画処理部22は、RAM12からDLを読み出す(ステップS21)。そして、描画処理部22は、ステップS21で読み出したDLのオブジェクトが、テキスト/ラインオブジェクトか否かを判別する(ステップS22)。テキスト/ラインオブジェクトでない場合(ステップS22;NO)、描画処理部22は、ステップS21又はS26で読み出したDLを600dpiでラスタライズし、RAM12のコア20用のバンドのメモリ領域に格納する(ステップS23)。そして、描画処理部22は、RAM12からDLを開放する(ステップS24)。
【0053】
そして、描画処理部22は、RAM12を参照し、次のDLがあるか否かを判別する(ステップS25)。テキスト/ラインオブジェクトである場合(ステップS22;YES)、ステップS25に移行される。次のDLがある場合(ステップS25;YES)、描画処理部22は、RAM12から次のDLを読み出す(ステップS26)。そして、描画処理部22は、ステップS26で読み出したDLのオブジェクトが、テキスト/ラインオブジェクトか否かを判別する(ステップS27)。
【0054】
テキスト/ラインオブジェクトでない場合(ステップS27;NO)、ステップS23に移行される。次のDLがない場合(ステップS25;NO)、又はテキスト/ラインオブジェクトである場合(ステップS27;YES)、第1の描画処理が終了する。
【0055】
次いで、図9を参照して、描画処理部32で実行される第2の描画処理を説明する。例えば、言語解析処理、又はコア30での第1の合成処理が終了したことをトリガとして、コア30と第2の描画処理プログラムとの協働で、描画処理部32により、第2の描画処理が実行される。
【0056】
先ず、描画処理部32は、RAM12からDLを読み出す(ステップS31)。そして、描画処理部32は、ステップS31で読み出したDLのオブジェクトが、テキスト/ラインオブジェクトか否かを判別する(ステップS32)。テキスト/ラインオブジェクトである場合(ステップS32;YES)、描画処理部32は、ステップS31又はS36で読み出したDLを1200dpiでラスタライズし、RAM12のコア30用のバンドのメモリ領域に格納する(ステップS33)。そして、描画処理部32は、RAM12からDLを開放する(ステップS34)。
【0057】
そして、描画処理部22は、RAM12を参照し、次のDLがあるか否かを判別する(ステップS35)。テキスト/ラインオブジェクトでない場合(ステップS32;NO)、ステップS35に移行される。次のDLがある場合(ステップS35;YES)、描画処理部32は、RAM12から次のDLを読み出す(ステップS36)。そして、描画処理部32は、ステップS36で読み出したDLのオブジェクトが、テキスト/ラインオブジェクトか否かを判別する(ステップS37)。
【0058】
テキスト/ラインオブジェクトである場合(ステップS37;YES)、ステップS33に移行される。次のDLがない場合(ステップS35;NO)、又はテキスト/ラインオブジェクトでない場合(ステップS37;NO)、第2の描画処理が終了する。
【0059】
次いで、図10を参照して、合成処理部23,33で実行される第1の合成処理を説明する。ここでは、合成処理部23が処理を行う場合を説明するが、合成処理部33でも同様である。第1の合成処理は、所定周期で繰り返し実行されるものとする。例えば、所定周期が経過したことをトリガとして、コア20と第1の合成処理プログラムとの協働で、合成処理部23により、第1の合成処理が実行される。
【0060】
先ず、合成処理部23は、合成処理権限があるか否かを判別する(ステップS41)。合成処理権限がある場合(ステップS41;YES)、合成処理部23は、RAM12の自身のコア(コア20)のバンドのメモリ領域のデータを読み出し、RAM12の合成領域のデータに合成する(ステップS42)。ステップS42において、合成処理部23は、RAM12のコア20のバンドのメモリ領域のデータを読み出して縦横2倍に拡大し(1200(dpi)にし)、RAM12の合成領域のデータに合成する。ステップS42において、合成処理部33は、拡大処理を行わない。そして、合成処理部23は、合成処理権限の移譲を他のコア(コア30)に通知し(ステップS43)、第1の合成処理が終了する。合成処理権限がない場合(ステップS41;NO)、第1の合成処理が終了する。
【0061】
以上、本実施の形態によれば、画像形成装置100は、コア20,30を有し、コア20,30のそれぞれが、言語解析処理と、描画処理と、合成処理と、を実行することにより、PDLデータ(プリントデータ)に基づいてプリント可能データを生成するCPU11と、画像形成部16と、を備える。言語解析処理は、PDLデータを言語解析してオブジェクトのDLを生成する。描画処理は、DLのオブジェクトのラスタライズを行う。合成処理は、前記ラスタライズされたオブジェクトのデータを合成する。コア20,30の各々は、ラスタライズ用の2種の解像度の何れかに設定されている。具体的には、コア20の解像度は、600dpiに設定されている。コア30の解像度は、1200dpiに設定されている。コア20,30の描画処理のラスタライズは、各コア20,30に設定された解像度で、コア20,30毎に並行して実行される。コア20の合成処理は、解像度の低い(600dpiの)ラスタライズ後のオブジェクトのデータを最も高い解像度(1200dpi)に拡大して合成する。
【0062】
このため、PDLデータの画像処理を高速に行うとともに、高精細な画像形成を実現できる。また、コア20の合成処理で用いるRAM12の記憶領域を小さくすることができる。
【0063】
また、第1の描画処理は、テキスト/ラインオブジェクトを高解像度(1200dpi)でラスタライズする。第2の描画処理は、テキスト/ラインオブジェクト以外のオブジェクトを低解像度(600dpi)でラスタライズする。このため、テキスト/ラインオブジェクトのエッジ等をスムーズにして高精細な画像形成を実現できる。
【0064】
また、第1の合成処理は、低解像度(600dpi)でラスタライズされたオブジェクトのデータのまとまりと、高解像度(1200dpi)でラスタライズされたオブジェクトのデータのまとまりと、を重ね順に交互に合成する。このため、重ね順を適切にして画像形成することができる。
【0065】
(第2の実施の形態)
図11〜図16を参照して、本発明に係る第2の実施の形態を説明する。先ず、図11を参照して、本実施の形態の装置構成を説明する。図11に、本実施の形態の画像形成装置100Aの機能構成を示す。
【0066】
画像形成装置100Aは、PDL対応の画像形成装置である。PC等の外部入力装置から受信したPDLデータであるプリントデータに基づいて、用紙に画像形成(プリント)を行う装置である。画像形成装置100Aは、プリンタであるものとするが、これに限定されるものではなく、MFP等、他の画像形成装置としてもよい。また、画像形成装置100Aは、第1の実施の形態の画像形成装置100と同じ部分に同じ符号を付し、その説明を省略する。
【0067】
画像形成装置100Aは、制御部としてのCPU11Aと、RAM12と、HDD13と、ROM14Aと、入力I/F部15と、画像形成部16と、を備える。
【0068】
なお、図11に示すように、CPU11Aと、RAM12と、HDD13と、ROM14Aと、入力I/F部15と、出力I/F部(図示略)とを、プリンタコントローラとしての画像処理装置100βとして構成してもよい。画像処理装置100βは、外部機器としての画像形成装置に接続され、生成したプリント可能データを出力I/F部により画像形成装置に送信して用紙に画像形成(プリント)させる。
【0069】
CPU11Aは、画像形成装置100Aの各部を制御する。CPU11Aは、演算部としてのコア20A,30Aを有するデュアルコアのプロセッサである。CPU11A(コア20A,30A)は、ROM14Aから読み出されて適宜RAM12に展開されたプログラムとの協働で、各種処理を実行する。具体的には、コア20Aは、ROM14Aから読み出された言語解析処理プログラムとの協働で、言語解析処理部21Aとして機能する。コア20Aは、ROM14Aから読み出された第3の描画処理プログラムとの協働で、描画処理部22Aとして機能する。コア20Aは、ROM14Aから読み出された第2の合成処理プログラムとの協働で、合成処理部23Aとして機能する。コア20Aは、ROM14Aから読み出された管理プログラムとの協働で、管理部24Aとして機能する。
【0070】
また、コア30Aは、ROM14Aから読み出された言語解析処理プログラムとの協働で、言語解析処理部31Aとして機能する。コア30Aは、ROM14Aから読み出された第4の描画処理プログラムとの協働で、描画処理部32Aとして機能する。コア30Aは、ROM14Aから読み出された第2の合成処理プログラムとの協働で、合成処理部33Aとして機能する。
【0071】
また、コア20Aにおいて、言語解析処理部21A、描画処理部22A、合成処理部23Aは、時系列で同時に一つのみが動作するものとする。また、コア20Aにおいて、言語解析処理部21A、描画処理部22A又は合成処理部23Aと、管理部24Aとは、時系列で同時に動作するものとする。コア30Aにおいて、言語解析処理部31A、描画処理部32A、合成処理部33Aは、時系列で同時に一つのみが動作するものとする。
【0072】
ROM14Aは、読み出し専用のメモリであり、各種プログラム、フォントデータ等の各種データを記憶している。具体的には、ROM14Aには、言語解析プログラムと、第3の描画処理プログラムと、第4の描画処理プログラムと、第2の合成処理プログラムと、管理プログラムとが記憶されている。
【0073】
次に、図12〜図16を参照して、画像形成装置100Aの動作を説明する。先ず、図12を参照して、画像形成装置100Aの動作の概要を説明する。図12に、画像形成装置100Aのコア20A,30Aで実行される言語解析処理、描画処理、合成処理のラダーチャートを示す。
【0074】
画像形成装置100Aの画像形成処理の全体的な流れは、画像形成装置100と同様である。図12を参照して、画像形成装置100Aの動作の一例を説明する。図12に示す様に、画像形成装置100Aは、PC50から入力されるプリントデータを画像形成する。このプリントデータの画像には、テキスト/ラインオブジェクト(高解像度(1200dpi)でラスタライズされる)と、それ以外のオブジェクト(低解像度(600dpi)でラスタライズされる)とが混在しているものとする。
【0075】
また、コア20Aを、低解像度(600dpi)のラスタライズを行うコアとする。コア30Aを、高解像度(1200dpi)のラスタライズを行うコアとする。また、オブジェクト1,4,5,6を、テキスト/ラインオブジェクト以外のオブジェクトとし、オブジェクト2,3,7,8を、テキスト/ラインオブジェクトとする。オブジェクト1〜8は、1ページ目の1バンド目のオブジェクトとする。
【0076】
先ず、コア20Aにおいて、言語解析処理部21Aにより、プリントデータの1ページ目の言語解析処理が行われDLが生成される。1ページ目の言語解析処理が完了すると、描画処理部22Aにより、生成されたDLからオブジェクト1が、600dpiでラスタライズされRAM12のコア20A用のバンドのメモリ領域に展開される。また、描画処理部32Aにより、生成されたDLからオブジェクト2,3が、順に1200dpiでラスタライズされRAM12のコア30A用のバンドのメモリ領域に展開される。オブジェクト2,3のラスタライズ後、描画処理部32Aにより、合成準備完了のメッセージM2が管理部24Aに通知される。
【0077】
そして、描画処理部32Aからの合成準備完了のメッセージM2に応じて、管理部24Aにより、合成待ちのメッセージM3が言語解析処理部21Aに通知される。合成待ちのメッセージM3に応じて、言語解析処理部31Aにより、プリントデータの2ページ目の言語解析処理が行われDLが生成される。そして、オブジェクト1のラスタライズ後、描画処理部22Aにより、合成準備完了のメッセージM2が管理部24Aに通知される。そして、描画処理部22Aからの合成準備完了のメッセージM2に応じて、管理部24Aにより、合成処理開始のメッセージM4が合成処理部23Aに通知される。合成処理開始のメッセージM4に応じて、合成処理部23Aにより、ラスタライズ後のオブジェクト1のデータが、1200dpiに拡大され、RAM12の合成用領域に合成(コピー)される。オブジェクト1の合成後、合成処理部23Aにより、合成処理完了通知依頼のメッセージM5が管理部24Aに通知される。
【0078】
そして、合成処理完了通知依頼のメッセージM5に応じて、管理部24Aにより、合成処理完了のメッセージM6が描画処理部22Aに通知される。合成処理完了のメッセージM6に応じて、描画処理部22Aにより、生成されたDLからオブジェクト4,5,6が、順に600dpiでラスタライズされRAM12のコア20A用のバンドのメモリ領域に展開される。また、合成処理完了通知依頼のメッセージM5に応じて、管理部24Aにより、合成処理開始のメッセージM4が合成処理部33Aに通知される。合成処理開始のメッセージM4に応じて、合成処理部33Aにより、ラスタライズ後のオブジェクト2,3のデータがRAM12の合成用領域のオブジェクト1のデータに合成される。オブジェクト1〜3の合成後、合成処理部33Aにより、合成処理完了通知依頼のメッセージM5が管理部24Aに通知される。
【0079】
そして、合成処理完了通知依頼のメッセージM5に応じて、管理部24Aにより、合成処理完了のメッセージM6が描画処理部32Aに通知される。合成処理完了のメッセージM6に応じて、描画処理部32Aにより、生成されたDLからオブジェクト7,8が、順に1200dpiでラスタライズされRAM12のコア30A用のバンドのメモリ領域に展開される。
【0080】
そして、オブジェクト4,5,6のラスタライズ後、描画処理部22Aにより、合成準備完了のメッセージM2が管理部24Aに通知される。合成準備完了のメッセージM2に応じて、管理部24Aにより、合成処理開始のメッセージM4が合成処理部23Aに通知される。合成処理開始のメッセージM4に応じて、合成処理部23Aにより、ラスタライズ後のオブジェクト4,5,6のデータが、1200dpiに拡大され、RAM12の合成用領域のオブジェクト1,2,3のデータに合成される。
【0081】
そして、オブジェクト7,8のラスタライズ後、描画処理部32Aにより、合成準備完了のメッセージM2が管理部24Aに通知される。合成準備完了のメッセージM2に応じて、管理部24Aにより、合成待ちのメッセージM3が言語解析処理部31Aに通知される。合成待ちのメッセージM3に応じて、言語解析処理部31Aにより、プリントデータの2ページ目の言語解析処理の続きが行われDLが生成される。
【0082】
そして、オブジェクト1〜6の合成後、合成処理部33Aにより、合成処理完了通知依頼のメッセージM5が管理部24Aに通知される。合成処理完了通知依頼のメッセージM5に応じて、管理部24Aにより、合成処理完了のメッセージM6が描画処理部32Aに通知される。また、合成処理完了通知依頼のメッセージM5に応じて、管理部24Aにより、合成処理開始のメッセージM4が合成処理部33Aに通知される。合成処理開始のメッセージM4に応じて、合成処理部33Aにより、ラスタライズ後のオブジェクト7,8のデータがRAM12の合成用領域のオブジェクト1〜6のデータに合成される。オブジェクト1〜8の合成後、合成処理部33Aにより、合成処理完了通知依頼のメッセージM5が管理部24Aに通知される。このようにして、言語解析処理、描画処理、合成処理が、コア20A,30Aで実行されていく。
【0083】
次いで、図13〜図16を参照して、コア20A,30Aの動作を詳細に説明する。図13に、第3の描画処理のフローチャートを示す。図14に、第4の描画処理のフローチャートを示す。図15に、第2の合成処理のフローチャートを示す。図16に、管理処理のフローチャートを示す。
【0084】
言語解析処理部21A,31Aで実行される言語解析処理は、第1の実施の形態の言語解析処理と同様である。但し、言語解析処理部21A,31Aで実行される言語解析処理は、入力I/F部15に少なくとも1ページ分のプリントデータが入力されたこと、又は管理部24Aから合成待ちのメッセージM3を受信したことをトリガとして実行される。
【0085】
図13を参照して、描画処理部22Aで実行される第3の描画処理を説明する。例えば、コア20Aの言語解析処理が終了したこと、又は管理部24Aから合成処理完了のメッセージM6を受信したことをトリガとして、コア20Aと第3の描画処理プログラムとの協働で、描画処理部22Aにより、第3の描画処理が実行される。
【0086】
ステップS51〜S57は、第1の描画処理のステップS21〜S27と同様である。次のDLがない場合(ステップS55;NO)、又はテキスト/ラインオブジェクトである場合(ステップS57;YES)、描画処理部22Aは、RAM12のコア20A用のバンドのメモリ領域にデータがあるか否かを判別する(ステップS58)。コア20A用のバンドのメモリ領域にデータがない場合(ステップS58;NO)、第3の描画処理が終了する。
【0087】
コア20A用のバンドのメモリ領域にデータがある場合(ステップS58;YES)、描画処理部22Aは、合成準備完了のメッセージM2を管理部24Aに通知し(ステップS59)、第3の描画処理が終了する。
【0088】
図14を参照して、描画処理部32Aで実行される第4の描画処理を説明する。例えば、言語解析処理が終了したこと、又は管理部24Aから合成処理完了のメッセージM6を受信したことをトリガとして、コア30Aと第4の描画処理プログラムとの協働で、描画処理部32Aにより、第4の描画処理が実行される。
【0089】
ステップS71〜S77は、第2の描画処理のステップS31〜S37と同様である。次のDLがない場合(ステップS75;NO)、又はテキスト/ラインオブジェクトでない場合(ステップS77;NO)、描画処理部32Aは、RAM12のコア30A用のバンドのメモリ領域にデータがあるか否かを判別する(ステップS78)。コア30A用のバンドのメモリ領域にデータがない場合(ステップS78;NO)、第4の描画処理が終了する。
【0090】
コア30A用のバンドのメモリ領域にデータがある場合(ステップS78;YES)、描画処理部32Aは、合成準備完了のメッセージM2を管理部24Aに通知し(ステップS79)、第4の描画処理が終了する。
【0091】
次いで、図15を参照して、合成処理部23A,33Aで実行される第2の合成処理を説明する。ここでは、合成処理部23Aが処理を行う場合を説明するが、合成処理部33Aでも同様である。第2の合成処理は、所定周期で繰り返し実行されるものとする。例えば、所定周期が経過したことをトリガとして、コア20Aと第2の合成処理プログラムとの協働で、合成処理部23Aにより、第2の合成処理が実行される。
【0092】
先ず、合成処理部23Aは、合成処理開始のメッセージM4を管理部24Aから受信したか否かを判別する(ステップS81)。合成処理開始のメッセージM4を受信した場合(ステップS81;YES)、合成処理部23Aは、RAM12の自身のコア(コア20)のバンドのメモリ領域のデータを読み出し、RAM12の合成領域のデータに合成する(ステップS82)。ステップS82において、合成処理部23Aは、RAM12のコア20のバンドのメモリ領域のデータを読み出して縦横2倍に拡大し(1200(dpi)にし)、RAM12の合成領域のデータに合成する。ステップS42において、合成処理部33は、拡大処理を行わない。そして、合成処理部23Aは、合成処理完了通知依頼のメッセージM5を管理部24Aに通知し(ステップS83)、第2の合成処理が終了する。合成処理開始のメッセージM4を受信していない場合(ステップS81;NO)、第2の合成処理が終了する。
【0093】
次いで、図16を参照して、管理部24Aで実行される管理処理を説明する。例えば、画像形成装置100Aにジョブが投入されたことをトリガとして、コア20Aと管理プログラムとの協働で、管理部24Aにより、管理処理が実行される。
【0094】
先ず、管理部24Aは、描画処理部22A,32A、合成処理部23A,33Aから、メッセージを受信したか否かを判別する(ステップS91)。メッセージを受信していない場合(ステップS91;NO)、ステップS91に移行される。メッセージを受信した場合(ステップS91;YES)、管理部24Aは、ステップS91で受信したメッセージが、描画処理部22A,32Aからの合成準備完了のメッセージM2であるか否かを判別する(ステップS92)。合成準備完了のメッセージM2である場合(ステップS92;YES)、管理部24Aは、受信した合成準備完了のメッセージM2に対応する合成準備完了となったオブジェクトの順番が次の重ね合わせの順番か否か(合成開始可能か否か)を判別する(ステップS93)。
【0095】
合成開始可能でない場合(ステップS93;NO)、管理部24Aは、合成待ちフラグをオンする(ステップS94)。そして、管理部24Aは、合成待ちのメッセージM3を、合成準備完了のメッセージM2の送信元の描画処理部のコアの言語解析処理部に通知する(ステップS95)。そして、管理部24Aは、投入されたジョブの終了か否かを判別する(ステップS96)。ジョブの終了でない場合(ステップS96;NO)、ステップS91に移行される。ジョブの終了である場合(ステップS96;YES)、管理処理が終了する。
【0096】
合成開始可能である場合(ステップS93;YES)、管理部24Aは、合成処理開始のメッセージM4を、合成準備完了のメッセージM2の送信元の描画処理部のコアの合成処理部に通知し(ステップS97)、ステップS96に移行される。
【0097】
合成準備完了のメッセージM2でない場合(ステップS92;NO)、ステップS91で受信したメッセージが合成処理完了通知依頼のメッセージM5であり、管理部24Aは、合成処理完了のメッセージM6を、合成処理完了通知依頼のメッセージM5の通知元のコアの合成部に通知する(ステップS98)。そして、管理部24Aは、合成待ちフラグがオンか否かを判別する(ステップS99)。合成待ちフラグがオンでない場合(ステップS99;NO)、ステップS96に移行される。合成待ちフラグがオンである場合(ステップS99;YES)、管理部24Aは、合成待ちフラグをオフし(ステップS100)、ステップS97に移行される。但し、ステップS100を経由した場合、ステップS97において、管理部24Aは、合成処理開始のメッセージM4を、合成準備完了のメッセージM2の送信元の描画処理部のコアと別のコアの合成処理部に通知する。
【0098】
以上、本実施の形態によれば、第1の実施の形態と同様の効果を奏する。また、CPU11Aは、コア20Aが、言語解析処理、第3及び第4の描画処理、第2の合成処理の実行を管理する管理処理を実行する。このため、言語解析処理、第3及び第4の描画処理、第2の合成処理の実行を適切に管理できる。
【0099】
(第3の実施の形態)
図17及び図18を参照して、本発明に係る第3の実施の形態を説明する。先ず、図17を参照して、本実施の形態の装置構成を説明する。図17に、本実施の形態の画像形成装置100Bの機能構成を示す。
【0100】
画像形成装置100Bは、PDL対応の画像形成装置である。PC等の外部入力装置から受信したPDLデータであるプリントデータに基づいて、用紙に画像形成(プリント)を行う装置である。画像形成装置100Bは、プリンタであるものとするが、これに限定されるものではなく、MFP等、他の画像形成装置としてもよい。また、画像形成装置100Bは、第1の実施の形態の画像形成装置100と同じ部分に同じ符号を付し、その説明を省略する。
【0101】
画像形成装置100Bは、制御部としてのCPU11Bと、RAM12と、HDD13と、ROM14Bと、入力I/F部15と、画像形成部16と、ハードウェアアクセラレータ17と、を備える。
【0102】
なお、図17に示すように、CPU11Bと、RAM12と、HDD13と、ROM14Bと、入力I/F部15と、出力I/F部(図示略)とを、プリンタコントローラとしての画像処理装置100γとして構成してもよい。画像処理装置100βは、外部機器としての画像形成装置に接続され、生成したプリント可能データを出力I/F部により画像形成装置に送信して用紙に画像形成(プリント)させる。
【0103】
CPU11Bは、画像形成装置100Bの各部を制御する。CPU11Bは、演算部としてのコア20B,30Bを有するデュアルコアのプロセッサである。CPU11B(コア20B,30B)は、ROM14Bから読み出されて適宜RAM12に展開されたプログラムとの協働で、各種処理を実行する。具体的には、コア20Bは、ROM14Bから読み出された言語解析処理プログラムとの協働で、言語解析処理部21Bとして機能する。コア20Bは、ROM14Bから読み出された第3の描画処理プログラムとの協働で、描画処理部22Bとして機能する。コア20Bは、ROM14Bから読み出された管理プログラムとの協働で、管理部24Bとして機能する。
【0104】
また、コア30Bは、ROM14Bから読み出された言語解析処理プログラムとの協働で、言語解析処理部31Bとして機能する。コア30Bは、ROM14Bから読み出された第4の描画処理プログラムとの協働で、描画処理部32Bとして機能する。
【0105】
また、コア20Bにおいて、言語解析処理部21B、描画処理部22Bは、時系列で同時に一つのみが動作するものとする。また、コア20Bにおいて、言語解析処理部21B又は描画処理部22Bと、管理部24Bとは、時系列で同時に動作するものとする。コア30Bにおいて、言語解析処理部31B、描画処理部32Bは、時系列で同時に一つのみが動作するものとする。
【0106】
ROM14Bは、読み出し専用のメモリであり、各種プログラム、フォントデータ等の各種データを記憶している。具体的には、ROM14Bには、言語解析プログラムと、第3の描画処理プログラムと、第4の描画処理プログラムと、第2の合成処理プログラムと、管理プログラムとが記憶されている。
【0107】
ハードウェアアクセラレータ17は、DL(ディスプレイリスト)をラスタライズする処理を行う電子回路等のハードウェアである。ハードウェアアクセラレータ17は、ローカルRAM171を内蔵する。ハードウェアアクセラレータ17は、入力されるDLをローカルRAM171に格納してラスタライズする。ハードウェアアクセラレータ17は、ラスタライズ後のプリント可能データをローカルRAM171に展開してRAM12に記憶する。
【0108】
また、ハードウェアアクセラレータ17は、図15の第2の合成処理と同様の動作を行う。具体的には、管理部24Bから合成処理開始のメッセージM4を受信すると、合成処理を行い、合成完了後に、合成処理完了通知依頼のメッセージM5を管理部24Bに通知する。
【0109】
次に、図18を参照して、画像形成装置100Bの動作を説明する。図18に、画像形成装置100Bのコア20B,30Bで実行される言語解析処理、描画処理、合成処理のラダーチャートを示す。
【0110】
画像形成装置100Bの画像形成処理の全体的な流れは、画像形成装置100と同様である。図18を参照して、画像形成装置100Bの動作の一例を説明する。図18に示す様に、画像形成装置100Bは、PC50から入力されるプリントデータを画像形成する。このプリントデータの画像には、テキスト/ラインオブジェクト(高解像度(1200dpi)でラスタライズされる)と、それ以外のオブジェクト(低解像度(600dpi)でラスタライズされる)とが混在しているものとする。
【0111】
また、コア20Bを、低解像度(600dpi)のラスタライズを行うコアとする。コア30Bを、高解像度(1200dpi)のラスタライズを行うコアとする。また、オブジェクト1,4,5,6を、テキスト/ラインオブジェクト以外のオブジェクトとし、オブジェクト2,3,7,8を、テキスト/ラインオブジェクトとする。オブジェクト1〜8は、1ページ目の1バンド目のオブジェクトとする。
【0112】
先ず、コア20Bにおいて、言語解析処理部21Bにより、プリントデータの1ページ目の言語解析処理が行われDLが生成される。1ページ目の言語解析処理が完了すると、描画処理部22Bにより、生成されたDLからオブジェクト1が、600dpiでラスタライズされRAM12のコア20B用のバンドのメモリ領域に展開される。また、描画処理部32Bにより、生成されたDLからオブジェクト2,3が、順に1200dpiでラスタライズされRAM12のコア30B用のバンドのメモリ領域に展開される。オブジェクト2,3のラスタライズ後、描画処理部32Bにより、合成準備完了のメッセージM2が管理部24Bに通知される。
【0113】
そして、描画処理部32Bからの合成準備完了のメッセージM2に応じて、管理部24Bにより、合成待ちのメッセージM3が言語解析処理部21Bに通知される。合成待ちのメッセージM3に応じて、言語解析処理部31Bにより、プリントデータの2ページ目の言語解析処理が行われDLが生成される。そして、オブジェクト1のラスタライズ後、描画処理部22Bにより、合成準備完了のメッセージM2が管理部24Bに通知される。描画処理部22Bからの合成準備完了のメッセージM2に応じて、管理部24Bにより、合成処理開始のメッセージM4がハードウェアアクセラレータ17に通知される。合成処理開始のメッセージM4に応じて、ハードウェアアクセラレータ17により、ラスタライズ後のオブジェクト1のデータが、1200dpiに拡大され、RAM12の合成用領域に合成(コピー)される。
【0114】
そして、管理部24Bにより、合成処理完了のメッセージM6が描画処理部22Bに通知される。合成処理完了のメッセージM6に応じて、描画処理部22Bにより、生成されたDLからオブジェクト4,5,6が、順に600dpiでラスタライズされRAM12のコア20B用のバンドのメモリ領域に展開される。
【0115】
オブジェクト1の合成後、ハードウェアアクセラレータ17により、合成処理完了通知依頼のメッセージM5が管理部24Bに通知される。合成処理完了通知依頼のメッセージM5に応じて、管理部24Bにより、合成処理完了のメッセージM6が描画処理部32Bに通知される。合成処理完了のメッセージM6に応じて、描画処理部32Bにより、生成されたDLからオブジェクト7,8が、順に1200dpiでラスタライズされRAM12のコア30B用のバンドのメモリ領域に展開される。また、管理部24Bにより、合成処理開始のメッセージM4がハードウェアアクセラレータ17に通知される。合成処理開始のメッセージM4に応じて、ハードウェアアクセラレータ17により、ラスタライズ後のオブジェクト2,3のデータがRAM12の合成用領域のオブジェクト1のデータに合成される。
【0116】
オブジェクト4,5,6のラスタライズ後、描画処理部22Bにより、合成準備完了のメッセージM2が管理部24Bに通知される。合成準備完了のメッセージM2に応じて、管理部24Bにより、合成待ちのメッセージM3が言語解析処理部21Bに通知される。合成待ちのメッセージM3に応じて、言語解析処理部21Bにより、プリントデータの2ページ目の言語解析処理の続きが行われDLが生成される。
【0117】
オブジェクト1〜3の合成後、ハードウェアアクセラレータ17により、合成処理完了通知依頼のメッセージM5が管理部24Bに通知される。合成処理完了通知依頼のメッセージM5に応じて、管理部24Bにより、合成処理完了のメッセージM6が描画処理部22Bに通知される。また、管理部24Bにより、合成処理開始のメッセージM4がハードウェアアクセラレータ17に通知される。合成処理開始のメッセージM4に応じて、ハードウェアアクセラレータ17により、ラスタライズ後のオブジェクト4,5,6のデータが、1200dpiに拡大され、RAM12の合成用領域のオブジェクト1,2,3のデータに合成される。
【0118】
そして、オブジェクト7,8のラスタライズ後、描画処理部32Bにより、合成準備完了のメッセージM2が管理部24Bに通知される。合成準備完了のメッセージM2に応じて、管理部24Bにより、合成待ちのメッセージM3が言語解析処理部31Bに通知される。合成待ちのメッセージM3に応じて、言語解析処理部31Bにより、プリントデータの2ページ目の言語解析処理の続きが行われDLが生成される。
【0119】
オブジェクト1〜6の合成後、ハードウェアアクセラレータ17により、合成処理完了通知依頼のメッセージM5が管理部24Bに通知される。合成処理完了通知依頼のメッセージM5に応じて、管理部24Bにより、合成処理完了のメッセージM6が描画処理部32Bに通知される。また、合成処理完了通知依頼のメッセージM5に応じて、管理部24Bにより、合成処理開始のメッセージM4がハードウェアアクセラレータ17に通知される。合成処理開始のメッセージM4に応じて、ハードウェアアクセラレータ17により、ラスタライズ後のオブジェクト7,8のデータがRAM12の合成用領域のオブジェクト1〜6のデータに合成される。このようにして、言語解析処理、描画処理、合成処理が、コア20B,30Bで実行されていく。
【0120】
ここで、コア20B,30Bの動作を詳細に説明する。言語解析処理部21B,31Bで実行される言語解析処理は、第2の実施の形態の言語解析処理と同様である。描画処理部22B,32Bで実行される描画処理は、第2の実施の形態の第2、第3の描画処理と同様である。管理部24Bで実行される管理処理は、第2の実施の形態の管理処理と同様である。但し、第2の実施の形態の合成処理部をハードウェアアクセラレータ17とし、管理処理のステップS97では、最初の合成処理開始時に、合成処理完了(合成処理開始)のメッセージM6を、描画処理部22Bに通知する。また、管理処理のステップS98では、ステップS91で受信したメッセージが合成処理完了通知依頼のメッセージM5であり、管理部24Bは、合成処理完了のメッセージM6を、合成処理完了した最も大きい番号のオブジェクトをラスタライズした描画処理部のコアと別のコアの描画処理部に通知する。
【0121】
以上、本実施の形態によれば、画像形成装置100Bは、ハードウェアアクセラレータ17と、コア20B,30Bを有し、コア20B,30Bのそれぞれが、言語解析処理と、描画処理と、を実行し、コア20Bが、管理処理を実行することにより、PDLデータ(プリントデータ)に基づいてプリント可能データを生成するCPU11Bと、を備える。コア20B,30Bの各々は、ラスタライズ用の2種の解像度の何れかに設定されている。具体的には、コア20Bの解像度は、600dpiに設定されている。コア30Bの解像度は、1200dpiに設定されている。コア20B,30Bの描画処理のラスタライズは、各コア20B,30Bに設定された解像度で、コア20B,30B毎に並行して実行される。管理処理は、言語解析処理、第3及び第4の描画処理の実行を管理し、ラスタライズされたオブジェクトをハードウェアアクセラレータ17に合成させる。ハードウェアアクセラレータ17は、解像度の低い(600dpiの)ラスタライズ後のオブジェクトのデータを最も高い解像度(1200dpi)に拡大して合成する。
【0122】
このため、PDLデータの画像処理を高速に行うとともに、高精細な画像形成を実現できる。また、コア20Bの合成処理で用いるRAM12の記憶領域を小さくすることができる。また、管理処理により、言語解析処理、第3及び第4の描画処理、ハードウェアアクセラレータ17の第2の合成処理の実行を適切に管理できる。また、ハードウェアアクセラレータ17により、合成処理をソフトウェア処理よりも高速に実行できる。
【0123】
なお、上記各実施の形態における記述は、本発明に係る好適な画像処理装置、画像形成装置の一例であり、これに限定されるものではない。
【0124】
上記実施の形態では、CPUが、演算部として2つのコアを有する構成としたが、これに限定されるものではない。CPUが、3つ以上のコアを有する構成としてもよい。
【0125】
また、上記実施の形態では、ハードウェアアクセラレータ17がローカルRAM171を内蔵する構成としたが、これに限定されるものではない。ハードウェアアクセラレータ17がRAM12又は他のメモリを用いて、取得DLのラスタライズを行う構成としてもよい。
【0126】
また、上記実施の形態では、管理処理(管理部24A,24B)が、コア20A,20Bで実行される構成としたが、これに限定されるものではない。例えば、管理処理が、コア30A,30Bで実行される構成としてもよい。さらに、3つ以上のマルチコアのCPUにおいて、管理処理が、言語解析処理、描画処理の実行の主体と異なるコアで実行される構成としてもよい。
【0127】
また、以上の実施の形態における画像形成装置100,100A,100Bを構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【0128】
100,100A,100B 画像形成装置
100α,100β,100γ 画像処理装置
11,11A,11B CPU
20,30,20A,30A,20B,30B コア
21,31,21A,31A,21B,31B 言語解析処理部
22,32,22A,32A,22B,32B 描画処理部
23,33,23A,33A 合成処理部
24A,24B 管理部
12 RAM
13 HDD
14,14A,14B ROM
15 入力I/F部
16 画像形成部
17 ハードウェアアクセラレータ
171 ローカルRAM
50 PC

【特許請求の範囲】
【請求項1】
複数の演算部を有し、前記複数の演算部のそれぞれが、PDLデータを言語解析してオブジェクトのディスプレイリストを生成する言語解析処理と、前記ディスプレイリストのオブジェクトのラスタライズを行う描画処理と、前記ラスタライズされたオブジェクトのデータを合成する合成処理と、を実行することにより、前記PDLデータに基づいてプリント可能データを生成する制御部を備え、
前記複数の演算部の各々は、ラスタライズ用の2種以上の解像度のうち何れかに設定されており、
前記描画処理のラスタライズは、各演算部に設定された解像度で、前記演算部毎に並行して実行され、
前記合成処理は、解像度の低いラスタライズ後のオブジェクトのデータを最も高い解像度に拡大して合成する画像処理装置。
【請求項2】
前記制御部は、前記複数の演算部のいずれか一つが、前記言語解析処理、前記描画処理、前記合成処理の実行を管理する管理処理を実行する請求項1に記載の画像処理装置。
【請求項3】
ラスタライズされたオブジェクトのデータを合成するハードウェアアクセラレータと、
複数の演算部を有し、前記複数の演算部のそれぞれが、PDLデータを言語解析してオブジェクトのディスプレイリストを生成する言語解析処理と、前記ディスプレイリストのオブジェクトのラスタライズを行う描画処理と、前記ラスタライズされたオブジェクトのデータを合成する合成処理と、を実行し、前記複数の演算部のいずれか一つが、前記言語解析処理及び前記描画処理の実行を管理し、前記ラスタライズされたオブジェクトのデータを前記ハードウェアアクセラレータに合成させる管理処理を実行することにより、前記PDLデータに基づいてプリント可能データを生成する制御部と、を備え、
前記複数の演算部の各々は、ラスタライズ用の2種以上の解像度のうち何れかに設定されており、
前記描画処理のラスタライズは、各演算部に設定された解像度で、前記演算部毎に並行して実行され、
前記ハードウェアアクセラレータは、解像度の低いラスタライズ後のオブジェクトのデータを最も高い解像度に拡大して合成する画像処理装置。
【請求項4】
前記描画処理は、テキスト/ラインオブジェクトを高解像度でラスタライズし、テキスト/ラインオブジェクト以外のオブジェクトを低解像度でラスタライズする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記合成処理は、各解像度でラスタライズされたオブジェクトのデータ毎に、重ね順に合成する請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
請求項1から5のいずれか一項に記載の画像処理装置と、
前記描画処理部により生成されたプリント可能データに応じて用紙に画像形成を行う画像形成部と、を備える画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−160013(P2011−160013A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−17531(P2010−17531)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】