説明

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

【課題】複数の演算部から構成される制御部を用いて複数の処理を実行する画像処理装置において、演算部の処理待機時間を削減し、処理効率の向上を図ること。
【解決手段】複数のコアを有し、ページ記述言語データを解析してバンド単位の中間データを生成する解析処理、中間データに基づいてビットマップデータを生成する描画処理、を複数のコアに割り当てて実行する制御部を備えた画像処理装置において、複数のコアのうち少なくともいずれか一つは、解析処理及び描画処理が実行可能であり、当該コアは、解析処理又は描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止するイベントが発生した場合、他方の処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、プロセッサコア等の演算部(以下、コアと称す)が一つのパッケージ内に複数集積されて構成され、各コアに処理を分散させて並列処理を行うことにより、処理性能を向上させたマルチコアプロセッサが開発されている。
【0003】
特に、MFP(Multi Function Printer)やプリンタ等の画像形成装置において、このマルチコアプロセッサを用いて各処理を各コアに割り当てて並列処理を実行することにより、プリント処理の高速化を図ることが提案されている。
【0004】
例えば、画像データを印刷する処理を複数のプロセスに分割し、当該複数のプロセスの少なくとも1つのプロセスをそれぞれ分担して処理する複数のプロセッサを備え、各プロセッサが処理するプロセスの処理状況に基づいて、各プロセッサへの処理割り当てを制御し、各プロセッサの処理負荷に応じて各プロセッサの処理分担を変更する画像形成装置が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−326307号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、引用文献1の従来技術では、用紙に画像を形成するためのプリントデータを生成する際に実行される各処理で使用されるメモリ領域の空き待ち等の各処理を継続できない事象(イベント)が発生した場合には、当該事象が発生した処理を実行するコアは当該事象が解消するまで待機状態となり、処理効率が低下するという問題がある。
【0007】
本発明の課題は、上記問題に鑑みて、複数の演算部から構成される制御部を用いて複数の処理を実行する画像処理装置において、演算部の処理待機時間を削減し、処理効率の向上を図ることである。
【課題を解決するための手段】
【0008】
請求項1に記載の発明は、複数の演算部を有し、ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理、前記解析処理により生成された中間言語形式のデータに基づいて描画用のデータを生成する描画処理、を前記複数の演算部に割り当てて実行する制御部を備えた画像処理装置において、前記複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、当該演算部は、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行すること、を特徴とする画像処理装置である。
【0009】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、前記解析処理及び前記描画処理が実行可能な演算部には、前記解析処理及び前記描画処理に対して処理実行の優先順位が設定されており、当該演算部は、前記解析処理又は前記描画処理のうち優先順位が高い方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行する。
【0010】
請求項3に記載の発明は、請求項1又は2に記載の画像処理装置において、前記解析処理及び前記描画処理それぞれに対して、前記処理が一時的に停止する事象と、当該事象に対して実行する一時的に処理が停止した処理とは異なる処理の指示情報と、が対応付けられた事象情報が格納された不揮発性メモリを備え、前記解析処理及び前記描画処理が実行可能な演算部は、前記実行中の処理において前記処理が一時的に停止する事象が発生した場合、実行中の処理に対応する前記事象情報を参照して、当該事象に対する指示情報が示す処理を実行する。
【0011】
請求項4に記載の発明は、請求項1から3のいずれか一項に記載の画像処理装置において、前記解析処理が実行される際に使用される解析用展開領域と、前記描画処理が実行される際に使用される描画用展開領域とを有する記憶部を備え、前記一時的に停止する事象は、前記実行中の処理に使用される前記解析用展開領域又は前記描画用展開領域内に空き領域が無いことである。
【0012】
請求項5に記載の発明は、請求項1から3のいずれか一項に記載の画像処理装置において、前記一時的に停止する事象は、前記実行中の処理の処理対象となるデータがないことである。
【0013】
請求項6に記載の発明は、複数の演算部を有し、ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理、前記解析処理により生成された中間言語形式のデータに基づいて描画用のデータを生成する描画処理、を前記複数の演算部に割り当てて実行する制御部を備えた画像処理装置による画像処理方法において、前記画像処理装置の複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、当該演算部において、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行する工程を含むこと、を特徴とする画像処理方法である。
【0014】
請求項7に記載の発明は、複数の演算部を備えたコンピュータに、ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理と、前記解析処理により生成された中間言語形式のデータに基づいて描画データを生成する描画処理と、を前記複数の演算部に割り当てて実行するプログラムにおいて、前記複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、当該演算部に対して、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行させるためのプログラムである。
【発明の効果】
【0015】
請求項1、6、7に記載の発明によれば、処理が一時的に停止する事象が解消するまで演算部が待機する処理待機時間を削減でき、処理効率の向上を図ることができる。
【0016】
請求項2に記載の発明によれば、請求項1と同様の効果を得られるのは勿論のこと、解析処理又は描画処理のうち優先順位が高い方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行することができ、最優先順位の処理が一時的に停止する事象が解消するまで、演算部が待機する処理待機時間を削減できる。
【0017】
請求項3に記載の発明によれば、請求項1又は2と同様の効果を得られるのは勿論のこと、実行中の処理において一時的に停止する事象が発生した場合、実行中の処理に対応する事象情報を参照して、当該事象に対する指示情報が示す処理を実行することができる。
【0018】
請求項4に記載の発明によれば、請求項1から3のいずれか一項と同様の効果を得られるのは勿論のこと、実行中の処理に使用される領域内に空き領域が無い場合、他方の処理を実行することができるため、空き領域待ちによる演算部が待機する処理待機時間を削減できる。
【0019】
請求項5に記載の発明によれば、請求項1から3のいずれか一項と同様の効果を得られるのは勿論のこと、実行中の処理の処理対象となるデータがない場合、他方の処理を実行することができるため、データ待ちによる演算部が待機する処理待機時間を削減できる。
【図面の簡単な説明】
【0020】
【図1】画像形成装置の主要構成図である。
【図2】画像形成装置の制御ブロック図である。
【図3】実施の形態1における画像処理装置の機能構成図である。
【図4】実施の形態1における解析イベントテーブルの例を示す図である。
【図5】実施の形態1における描画イベントテーブルの例を示す図である。
【図6】実施の形態1における第1コアで実行される動作のフローチャートである。
【図7】ステップS5で実行される第1コアにより機能する第1描画部の動作のフローチャートである。
【図8】実施の形態1における第2コアで実行される動作のフローチャートを示す。
【図9】図9(A)は従来の動作例を示す図、図9(B)は実施の形態1の動作例を示す図である。
【図10】実施の形態2における画像処理装置の機能構成図である。
【図11】実施の形態2における解析イベントテーブルの例を示す図である。
【図12】実施の形態2における描画イベントテーブルの例を示す図である。
【図13】実施の形態2における第1コアで実行される動作のフローチャートである。
【図14】実施の形態2における第2コアで実行される動作のフローチャートである。
【図15】ステップS56で実行される第2コアにより機能する第2解析部の動作のフローチャートである。
【図16】図16(A)は従来の動作例を示す図、図16(B)は実施の形態2の動作例を示す図である。
【発明を実施するための形態】
【0021】
〔実施の形態1〕
以下、図を参照して本発明の実施の形態1を詳細に説明する。
まず、構成を説明する。
図1に、画像形成装置1の主要構成図を示す。
図1に示すように、画像形成装置1は、エンジン10と、画像処理装置40Aと、を備えている。
【0022】
エンジン10は、画像処理装置40Aから出力されるプリントデータに基づいて、用紙等の印刷媒体に画像形成を行う装置である。
本実施の形態1におけるエンジン10は、イエロー(Y),マゼンダ(M),シアン(C),ブラック(K)の4色それぞれを個別の静電ドラムで転写する構成(タンデム方式)である。
【0023】
図1に示すように、エンジン10は、用紙カセット11、給紙ローラ12、搬送ローラ13、搬送ベルト14、静電ドラム15Y、15M、15C、15K、プリントユニット16Y、16M、16C、16K、レーザユニット17Y、17M、17C、17K、転写ローラ18Y、18M、18C、18K、定着器19、排紙ローラ20等を備える。
【0024】
用紙カセット11には、用紙等の印刷媒体が格納されている。用紙カセット11に格納されている用紙は、給紙ローラ12によって一枚ずつ引き出され、引き出された用紙は、搬送ローラ13によって搬送ベルト14へ搬送される。
搬送ベルト14へ搬送された用紙は、静電ドラム15Y,15M,15C,15K上に形成された各色のトナー画像が転写される。
【0025】
イエロー(Y)のトナー画像が用紙に転写される処理について説明する。
静電ドラム15Yは、円筒状の部材であり、帯電ユニット(図示略)によりその円筒の外周面が帯電している。帯電された静電ドラム15Yの外周面に、用紙に形成するイエローの画像に応じたプリントデータに基づくレーザがレーザユニット17Yによって照射され、静電ドラム15Yの外周面に静電潜像が形成される。
【0026】
プリントユニット16Yは、イエロー(Y)のトナーを収めるトナーカートリッジと、トナーカートリッジ内のトナーを静電画像に付着させる現像ユニットとを有する。
静電ドラム15Yの外周面に形成された静電潜像がイエロー(Y)のトナーがプリントユニット16Yにより付着されることにより現像され、イエロー(Y)のトナー画像が静電ドラム15Yの外周面に形成される。
【0027】
搬送ベルト14を挟んで静電ドラム15Yと対向する位置には転写ローラ18Yが設けられている。静電ドラム15Yの外周面に形成されたトナー画像は、搬送ベルト14と静電ドラム15Yとによって用紙が挟まれるタイミングで、転写ローラ18Yによる逆帯電により用紙に転写される。
【0028】
前述の静電ドラム15Yによるイエロー(Y)のトナー画像の転写と同様の仕組みにより、静電ドラム15Mはプリントユニット16Mのトナーカートリッジ内に収められたマゼンダ(M)のトナー画像を転写し、静電ドラム15Cはプリントユニット16Cのトナーカートリッジ内に収められたシアン(C)のトナー画像を転写し、静電ドラム15Kはプリントユニット16Kのトナーカートリッジ内に収められたブラック(K)のトナー画像を転写する。
【0029】
4色のトナー画像が重ねて転写された用紙は、定着器19へ搬送される。
定着器19は、用紙に紙面に転写されたトナー画像を定着させる。
トナー画像が定着された用紙は、排紙ローラ20により搬送されて排紙トレイ(不図示)上に排出される。
以上、用紙に対するプリント処理の工程を説明したが、用紙以外の印刷媒体についても同様の仕組みによるプリント処理が行われる。
【0030】
図2に、画像形成装置1の制御ブロック図を示す。
図2に示すように、画像処理装置40Aは、制御部41、RAM(Random Access Memory)42、ROM(Read Only Memory)43、HDD(Hard Disk Drive)44、通信装置45等を備え、各部はバス46によって接続されている。
【0031】
制御部41は、プロセッサコア等の演算部(以下、コアと称す)を複数備えて構成されたマルチコアプロセッサを用いて構成される。本実施の形態1では、制御部41は、2つのコア(第1コア41a、第2コア41b)を備えて構成されている。
なお、制御部41は、コアに替えてCPU(Central Processing Unit)を集合させ、マルチコアプロセッサと同等の機能を発揮するように構成されてもよい。
【0032】
制御部41は、ROM43内に格納されている各種処理プログラムやデータをRAM42に展開し、当該プログラムに基づいて画像形成装置1の各部の動作を集中制御する。例えば、通信装置45と接続された外部装置80から入力される指示信号に従って各種モードに対する処理のプログラムを読み出して、各種処理等の制御を行う。
【0033】
RAM42は、制御部41が実行する各種プログラムやデータ等が一時的に展開され、各種プログラムで処理されたデータ等を一時的に記憶する領域を有する。特に、本実施の形態1のRAM42は、後述する解析処理及び描画処理が実行される際に使用されるデータ展開領域42aを有する記憶部として機能する。データ展開領域42aには、解析処理を実行する際に使用される解析用展開領域と、描画処理を実行する際に使用される描画用展開領域とが含まれている。
【0034】
ROM43は、制御部41により実行される各種処理のプログラムやデータ等を記憶する。例えば、解析処理プログラム51、描画処理プログラム52、印刷制御プログラム53、印刷プログラム54、解析イベントテーブル55、描画イベントテーブル56等を記憶する不揮発性メモリである。ROM43に替えて、例えば、磁気的、光学的記憶媒体又は半導体メモリ等の読み出し可能な不揮発性の記憶媒体を用いてもよい。また、このROM43は、制御基板等に固定的に設けられるもの、若しくは着脱自在に装着するものであっても良い。
【0035】
HDD44は、オペレーションプログラムや各種のアプリケーションプログラム及びジョブデータ等の各種データを所定のアドレスと対応付けて記憶する。
なお、HDD44に替えて、CF(Compact Flash)等を用いてもよく、読み書き可能な不揮発性の記憶媒体を用いてもよい。
【0036】
通信装置45は、画像処理装置40Aと外部装置80とを相互通信可能に接続する。通信装置45として、例えば無線LAN(Local Area Network)やBluetooth、インターネット接続その他の方式による外部のネットワークとの接続を可能にする各種の装置が挙げられ、通信装置45はこれら複数の方式による通信機能を有している。通信装置45と相互通信可能に接続される外部装置80として、例えばPCや携帯電話、外部のネットワークを介して接続されたワークステーション等が挙げられる。
【0037】
バス46は、画像処理装置40Aの各部及びエンジン10を相互に接続する。
【0038】
次に、本実施の形態1における画像処理装置40Aの機能について説明する。
図3に、画像処理装置40Aの機能構成図を示す。
図3に示すように、画像処理装置40Aは、第1解析部61a、第1描画部62a、第2描画部62b、印刷制御部63、印刷部64として機能する。
なお、太実線矢印は、データの流れを示すものであり、太破線矢印は、第1解析部61aが一時的に停止する場合に追加されるデータの流れを示すものである。
【0039】
画像処理装置40Aの各機能は、制御部41を構成する各コアが、割り当てられた処理に対応するプログラムをROM43から読み込んで実行することにより実現される。
【0040】
第1コア41aには、解析処理及び描画処理が予め実行可能に割り当てられている。第1コア41aは、解析処理プログラム51を読み込んで実行することにより第1解析部61a、描画処理プログラム52を読み込んで実行することより第1描画部62aとして機能する。第1コア41aに割り当てられた解析処理と描画処理とは、解析処理が描画処理よりも処理実行の優先順位が高く設定されている。
【0041】
第2コア41bには、描画処理が予め割り当てられている。第2コア41bは、描画処理プログラム52を読み込んで実行することより第2描画部62bとして機能する。
また、印刷制御部63、印刷部64は、第1コア41a、第2コア41b又はその他のコアにより、印刷制御プログラム53、印刷プログラム54が実行されることによって機能する。
【0042】
以下、各部の機能について説明する。
第1解析部61aは、解析イベントテーブル55を参照しながら、外部装置80から入力されたデータに基づき、当該データ解釈して当該データの形式とビットマップ形式のデータ(以下、ビットマップデータと称す。)との間の中間言語形式のデータ(以下、中間データと称す。)をバンド単位で生成し、生成した中間データをRAM42のデータ展開領域の解析用展開領域に格納する。
【0043】
外部装置80から入力されるデータとしては、ポストスクリプト(登録商標)やPCL等のページ記述言語形式の画像データ(以下、PDLデータと称す。)や、PDF(Portable Document Format)やXPS(XML Paper Specification)等の記述言語形式の画像データであり、以下、これらのデータを総称してページ記述言語データと称す。
【0044】
中間データは、ページ記述言語データに含まれるオブジェクト(テキストデータ、グラフィックスデータ、イメージデータ等)の特徴に応じて生成されるデータ(Display ListやPostScript等)である。例えば、テキストデータやグラフィックスデータの中間データとしてはベクタ形式のデータ、イメージデータの中間データとしてはイメージ形式のデータ、を挙げることができる。
【0045】
図4に、実施の形態1における解析イベントテーブル55の例を示す。
解析イベントテーブル55は、解析処理を実行する解析処理プログラムに対して設けられている。解析イベントテーブル55には、解析処理の実行中に発生し得る事象(イベント)と、当該イベントに対して実行する処理の指示情報(アクション)と、アクションが実行された後に発生する事象(次イベント)とが対応つけられたレコードが、イベント毎に設定されている。本実施の形態1の解析イベントテーブルには、解析処理が一時的に停止するイベントと、解析処理よりも優先順位が低く解析処理とは異なる処理である描画処理の実行を要求するアクションとが対応つけられたレコードが事象情報として含まれている。
【0046】
解析処理が一時的に停止するイベントとしては、「空き領域待ち」、「ジョブ終了検知」等である。
【0047】
「空き領域待ち」のイベントは、例えば、RAM42内のデータ展開領域内のうち解析処理で生成される中間データを格納する領域(解析用展開領域)において、中間データを格納する領域が無い状態が発生したことにより生ずるイベントであり、解析処理を実行するための解析用展開領域内に空き領域が無い状態が発生したことを示す。この「空き領域待ち」が含まれるレコードのアクションは、描画処理の要求の通知を出力する「描画要求通知」であり、次イベントは、1ページ分の描画処理の完了を待機する「1ページ描画完了待ち」である。
【0048】
「ジョブ終了検知」のイベントは、例えば、外部装置から入力されたプリントジョブに含まれるジョブ終了コマンドを解析した場合等のジョブが解析処理を終了したことが検知されたときに発生するイベントであり、解析処理の処理対象となるページ記述言語データが無い状態が発生したことを示す。この「ジョブ終了検知」が含まれるレコードのアクション及び次イベントは、「空き領域待ち」が含まれるレコードのアクション及び次イベントと同様である。
【0049】
第1描画部62aは、第1解析部61aからの要求に応じて、描画イベントテーブル56を参照しながら、第1解析部61aにより生成され解析用展開領域に格納されている中間データからビットマップデータを生成し、RAM42のデータ展開領域の描画用展開領域に格納する。
【0050】
図5に、実施の形態1における描画イベントテーブル56の例を示す。
描画イベントテーブルは、描画処理を実行する描画処理プログラムに対して設けられている。描画イベントテーブル56には、描画処理の実行中に発生し得る事象(イベント)と、当該イベントに対して実行する処理の指示情報(アクション)と、アクションが実行された後に発生する事象(次イベント)とが対応つけられたレコードが、イベント毎に設定されている。
【0051】
第2描画部62bは、第1解析部61aにより生成され解析用展開領域に格納されている中間データからビットマップデータを生成し、印刷制御部63へ出力する。
【0052】
印刷制御部63は、第1描画部62a、第2描画部62bにより生成され描画用展開領域に格納されているビットマップデータを読み出し、読み出したビットマップデータに対して印刷媒体に印刷する際のレイアウト等の各種処理を行い、処理後のデータを印刷部64へ出力し、出力したデータに対するビットマップデータを描画用展開領域から解放する通知(描画用展開領域の解放通知)を出力する。印刷制御部63が行う処理として、例えば片面/両面印刷の選択に応じた制御や、ページ割付を伴う印刷の制御等が挙げられる。
【0053】
印刷部64は、印刷制御部63から入力された処理後のデータに基づきプリントデータを生成し、エンジン10へ出力する。エンジン10は、印刷部64から入力されたプリントデータに基づいてプリント処理を行う。
【0054】
次に、本実施の形態1の動作を説明する。
図6に、本実施の形態1における第1コア41aで実行される動作のフローチャートを示す。
【0055】
外部装置80から通信装置45を介して1又は複数ページのページ記述言語データを含むプリントジョブが受信されると(ステップS1)、第1コア41aは、第1解析部61aを機能させ、1ページ分のページ記述言語データに対して解析処理の実行を開始する(ステップS2)。
【0056】
第1解析部61aを機能させている第1コア41aは、第1解析部61aにおける解析処理の実行中に「空き領域待ち」のイベントが発生したか否かを判別する(ステップS3)。「空き領域待ち」のイベントが発生していない場合(ステップS3;NO)、第1コア41aは、ステップS6の処理に進む。
【0057】
「空き領域待ち」のイベントが発生した場合(ステップS3;YES)、第1コア41aは、解析イベントテーブル55を参照して「空き領域待ち」のイベントに対応するレコードを選択し(ステップS4)、選択したレコードのアクション(描画要求通知)を実行し、第1描画部62aを機能させ、描画処理を行う(ステップS5)。
【0058】
ステップS3;NO後又はステップS5後、第1コア41aは、第1解析部61aによる解析処理の継続に戻り(ステップS6)、1ページ分の解析処理が終了したか否かを判別する(ステップS7)。1ページ分の解析処理が終了していない場合(ステップS7;NO)、第1コア41aは、ステップS3の処理に戻る。
【0059】
1ページ分の解析処理が終了した場合(ステップS7;YES)、第1コア41aは、第2コア41bに対して描画要求通知を出力し(ステップS8)、「ジョブ終了検知」のイベントが発生したか否か、即ち、プリントジョブに含まれる全ページの解析処理が終了したか否かを判別する(ステップS9)。
【0060】
「ジョブ終了検知」のイベントが発生していない場合(ステップS9;NO)、第1コア41aは、ステップS2の処理に戻る。「ジョブ終了検知」のイベントが発生した場合(ステップS9;YES)、第1コア41aは、解析イベントテーブル55を参照して「ジョブ終了検知」のイベントに対応するレコードを選択し(ステップS10)、選択したレコードのアクション(描画要求通知)を実行し、第1描画部62aを機能させ、描画処理を行い(ステップS11)、本処理を終了する。
【0061】
図7に、ステップS5で実行される第1コア41aにより機能する第1描画部62aの動作のフローチャートを示す。
【0062】
第1コア41aは、第1解析部61aから描画要求通知が出力された場合、第1描画部62aを機能させ、解析用展開領域内に中間データがあるか否かを判別する(ステップS21)。RAM42の解析用展開領域内に中間データがない場合(ステップS21;NO)、第1コア41aは、本処理を終了する。
【0063】
RAM42の解析用展開領域内に中間データがある場合(ステップS21;YES)、第1コア41aは、解析用展開領域に格納されている中間データから1バンド分のビットマップデータを生成し(ステップS22)、本処理を終了する。
【0064】
なお、ステップS11で実行される第1コア41aにより機能する第1描画部62aの動作のフローチャートは、ステップS22後にステップS21に戻る処理を除いて図7に示すフローチャートと同様であるため、図示及び説明は省略する。即ち、ステップS11で実行される第1コア41aにより機能する第1描画部62aの動作フローは、解析用展開領域に格納されている中間データが無くなるまで、バンド単位でビットマップデータを生成するものである。
【0065】
図8に、本実施の形態1における第2コア41bで実行される動作のフローチャートを示す。
描画要求通知を受信すると(ステップS31)、第2コア41bは、第2描画部62bを機能させ、解析用展開領域内に中間データがあるか否かを判別する(ステップS32)。
【0066】
解析用展開領域内に中間データがある場合(ステップS32;YES)、第2コア41bは、解析用展開領域に格納されている中間データに対して描画処理を実行して1バンド分のビットマップデータを生成し(ステップS33)、ステップS32の処理に戻る。解析用展開領域内に中間データがない場合(ステップS32;NO)、第2コア41bは、本処理を終了する。
【0067】
図9(A)に従来の動作例、図9(B)に本実施の形態1の動作例を示す。
なお、図9(A)に示す従来の動作例では、予め、第1コアに解析処理、第2コアに描画処理、が割り当てられているものとする。
【0068】
図9(A)に示すように、従来では、第1コアにより2ページ目の解析処理が実行されている途中で、解析用展開領域の空き待ちのイベントが発生した場合、解析用展開領域内に空きが発生するまで(ここでは、1ページ目の描画処理が完了するまで)一時的に解析処理が停止する。また、最終ページの解析処理が終了すると、第1コアはアイドル状態となり、第2コアのみで描画処理が実行される。
従って、従来では、第1コアが動作しない無駄な時間が発生し、プリントデータが生成される一連の処理効率が低下するという問題が発生する。
【0069】
図9(B)に示すように、本実施の形態1では、第1コアにより2ページ目の解析処理が実行されている途中で、解析用展開領域の空き待ちのイベントが発生した場合には、描画要求通知が出力される。第1コアは、描画要求通知が出力されると、第1描画部62aを機能させ、解析用展開領域内に空きが発生するまで(ここでは、1ページ目の描画処理が完了するまで)、現在描画処理中のページ(1ページ目)の描画処理を実行する。第1コアは、1ページ分の描画処理が完了して解析用展開領域の空き待ちのイベントが解消すると、第1解析部での解析処理を再開する。そのため、1ページ目の描画処理が第1コアと第2コアとにより実行されるため、1ページ目の描画処理に要する時間が短縮されると共に、第1コアが動作しない無駄な時間を解消することができる。
また、第1コアは、最終ページ目の解析処理を終了すると、最終ページ目の描画処理を実行する。そのため、最終ページ目の描画処理が第1コアと第2コアとにより実行され、最終ページ目の描画処理に要する時間が短縮されると共に、第1コアが動作しない無駄な時間を解消することができる。
従って、本実施の形態1では、第1コアが処理を行わない無駄な時間を削減でき、従来よりもプリントデータが生成される一連の処理効率を向上できる。
【0070】
〔実施の形態2〕
以下、図を参照して本発明の実施の形態2を詳細に説明する。
まず、構成を説明する。
本実施の形態2における画像形成装置の主要構成及び画像形成装置1の制御ブロック図は、実施の形態1における画像形成装置1が備える画像処理装置40Aに替えて画像処理装置40Bを備え、解析イベントテーブル55及び描画イベントテーブル56に替えて解析イベントテーブル57及び描画イベントテーブル58を備えることを除いて、図1に示す画像形成装置の主要構成及び図2に示す画像形成装置1の制御ブロック図と同様であるため、図示及び説明は省略する。
【0071】
次に、本実施の形態2における画像処理装置40Bの機能について説明する。
図10に、画像処理装置40Bの機能構成図を示す。
図10に示すように、画像処理装置40Bは、第1解析部65a、第2解析部65b、第2描画部66b、印刷制御部63、印刷部64として機能する。
なお、実施の形態1と同様の部には同一符号を付し、説明は省略する。
また、太実線矢印は、データの流れを示すものであり、太破線矢印は、第2描画部66bが一時的に停止する場合に追加されるデータの流れを示すものである。
【0072】
画像処理装置40Bの各機能は、制御部41を構成する各コアが、割り当てられた処理に対応するプログラムをROM43から読み込んで実行することにより実現される。
【0073】
第1コア41aには、解析処理が予め割り当てられている。第1コア41aは、解析処理プログラム51を読み込んで実行することより第1解析部65aとして機能する。
【0074】
第2コア41bには、解析処理及び描画処理が予め実行可能に割り当てられている。第2コア41bは、解析処理プログラム51を読み込んで実行することにより第2解析部65b、描画処理プログラム52を読み込んで実行することより第2描画部66bとして機能する。第2コア41bに割り当てられた解析処理と描画処理とは、描画処理が解析処理よりも処理実行の優先順位が高く設定されている。
【0075】
以下、各部の機能について説明する。
第1解析部65aは、外部装置80から入力されたデータに基づき、当該データ解釈して当該データの形式とビットマップ形式のデータ(以下、ビットマップデータと称す。)との間の中間言語形式のデータ(以下、中間データと称す。)をバンド単位で生成し、生成した中間データをRAM42のデータ展開領域の解析用展開領域に格納する。
外部装置80から入力されるデータ及び中間データは、実施の形態1と同様であるため、説明は省略する。
【0076】
第2解析部65bは、第2描画部66bからの要求に応じて、解析イベントテーブル57を参照しながら、外部装置80から入力されたデータに基づき、当該データ解釈して中間データをバンド単位で生成し、生成した中間データをRAM42のデータ展開領域の解析用展開領域に格納する。
【0077】
図11に、実施の形態2における解析イベントテーブル57の例を示す。
解析イベントテーブル57は、解析処理を実行する解析処理プログラムに対して設けられている。解析イベントテーブル57には、解析処理の実行中に発生し得る事象(イベント)と、当該イベントに対して実行する処理の指示情報(アクション)と、アクションが実行された後に発生する事象(次イベント)とが対応つけられたレコードが、イベント毎に設定されている。
【0078】
第2描画部66bは、描画イベントテーブル58を参照しながら、第1解析部65a又は第2解析部65bにより生成され解析用展開領域に格納されている中間データからビットマップデータを生成し、当該ビットマップデータをRAM42のデータ展開領域の描画用展開領域に格納する。
【0079】
図12に、実施の形態2における描画イベントテーブル58の例を示す。
描画イベントテーブル58は、描画処理を実行する描画処理プログラムに対して設けられている。描画イベントテーブル58には、描画処理の実行中に発生し得る事象(イベント)と、当該イベントに対して実行する処理の指示情報(アクション)と、アクションが実行された後に発生する事象(次イベント)とが対応つけられたレコードが、イベント毎に設定されている。本実施の形態2の描画イベントテーブルには、描画処理が一時的に停止するイベントと、描画処理よりも優先順位が低く描画処理とは異なる処理である解析処理の実行を要求するアクションとが対応つけられたレコードが事象情報として含まれている。
【0080】
描画処理が一時的に停止するイベントとしては、「空き領域待ち」等である。
「空き領域待ち」のイベントとは、例えば、用紙無しやトナー無し等により印刷制御部や印刷部での処理が一時的に停止し、RAM42内のデータ展開領域のうちビットマップデータを格納する領域(描画用展開領域)において、格納されているビットマップデータが解放されないことにより、描画用展開領域内でビットマップデータを格納する領域が無い状態が発生したことにより生ずるイベントであり、描画処理を実行するための描画用展開領域内に空き領域が無い状態が発生したことを示す。
この「空き領域待ち」が含まれるレコードのアクションは、解析処理の要求の通知を出力する「解析要求通知」であり、次イベントは、印刷制御部から出力される描画用展開領域に格納されているビットマップデータを解放したこと示す解放通知を待機する「描画用メモリ解放通知待ち」である。
【0081】
次に、本実施の形態2の動作を説明する。
図13に、本実施の形態2における第1コア41aで実行される動作のフローチャートを示す。
【0082】
外部装置80から通信装置45を介して1又は複数ページのページ記述言語データを含むプリントジョブが受信されると(ステップS41)、第1コア41aは、第1解析部65aを機能させ、1ページ分のページ記述言語データに対する解析処理の実行を開始する(ステップS42)。
【0083】
第1コア41aは、1ページ分の解析処理が終了したか否かを判別する(ステップS43)。1ページ分の解析処理が終了していない場合(ステップS43;NO)、第1コア41aは、ステップS43の処理に戻る。
【0084】
1ページ分の解析処理が終了した場合(ステップS43;YES)、第1コア41aは、第2コア41bに対して描画要求通知を出力し(ステップS44)、第1解析部61aによる解析処理の継続に戻り(ステップS45)、全ページの解析処理が終了したか否かを判別する(ステップS46)。ステップS46の判別では、プリントジョブに含まれるジョブ終了コマンドの解析を行ったか否か等を判別することにより、全ページの解析処理が終了したか否かが判別される。
【0085】
全ページの解析処理が終了していない場合(ステップS46;NO)、第1コア41aは、ステップS42の処理に戻る。全ページの解析処理が終了した場合(ステップS46;YES)、第1コア41aは、本処理を終了する。
【0086】
図14に、本実施の形態2における第2コア41bで実行される動作フローを示す。
描画要求通知を受信すると(ステップS51)、第2コア41bは、第2描画部66bを機能させ、解析用展開領域内に中間データがあるか否かを判別する(ステップS52)。
【0087】
RAM42の解析用展開領域内に中間データがない場合(ステップS52;NO)、第2コア41bは、本処理を終了する。
【0088】
RAM42の解析用展開領域内に中間データがある場合(ステップS52;YES)、第2コア41bは、解析用展開領域に格納されている中間データを読み出し、読み出した中間データに対して描画処理の実行を開始する(ステップS53)。
【0089】
第2描画部66bを機能させている第2コア41bは、第2描画部66bにおける描画処理の実行中に「空き領域待ち」のイベントが発生したか否かを判別する(ステップS54)。「空き領域待ち」のイベントが発生していない場合(ステップS54;NO)、第2コア41bは、ステップS57の処理に進む。
【0090】
「空き領域待ち」のイベントが発生した場合(ステップS54;YES)、第2コア41bは、描画イベントテーブル58を参照して「空き領域待ち」のイベントに対応するレコードを選択し(ステップS55)、選択したレコードのアクション(解析要求通知)を実行し、第2解析部65bを機能させ、解析処理を実行する(ステップS56)。
【0091】
ステップS54;NO後又はステップS56後、第2コア41bは、第2描画部66bによる描画処理の継続に戻り(ステップS57)、ステップS54の処理に戻る。
【0092】
図15に、ステップS56で実行される第2コア41bにより機能する第2解析部65bの動作のフローチャートを示す。
【0093】
第2コア41bは、第2描画部66bから解析要求通知が出力された場合、第2解析部65bを機能させ、解析処理中のページ記述言語データのうち未解析処理の部分のデータ(未解析データ)を外部装置80から受信し(ステップS61)、受信した未解析データに対する解析処理の実行を開始する(ステップS62)。
【0094】
第2コア41bは、受信した未解析データの解析処理が終了したか否かを判別する(ステップS63)。未解析データの解析処理が終了していない場合(ステップS63;NO)、第2コア41bは、ステップS62の処理に戻る。未解析データの解析処理が終了した場合(ステップS63;YES)、第2コア41bは、本処理を終了する。
【0095】
図16(A)に従来の動作例、図16(B)に本実施の形態2の動作例を示す。
なお、図16(A)に示す従来の動作例では、予め。第1コアに解析処理、第2コアに描画処理、が割り当てられているもとする。
【0096】
図16(A)に示すように、従来では、第2コアにより2ページ目の描画処理が実行されている途中で、用紙無しやトナー無し等のエラーが発生して印刷制御部及び印刷部での処理が中断されると、描画用展開領域に格納されているビットマップデータが解放されず、描画用展開領域の空き待ちのイベントが発生する。描画用メモリの空き待ちのイベントが発生してから描画用メモリの空きが発生するまでの期間は、第2コアは一時的に描画処理を停止して待機状態となっているのに対し、第1コアは単独で解析処理を行っている。
従って、従来では、第2コアが動作しない無駄な時間が発生し、プリントデータが生成される一連の処理効率が低下するという問題が発生する。
【0097】
図16(B)に示すように、本実施の形態2では、第2コアにより2ページ目の描画処理が実行されている途中で、描画用展開領域の空き待ちのイベントが発生した場合には、解析要求通知が出力される。第2コアは、解析要求通知が出力されると、第2解析部65bを機能させ、描画用展開領域の空き待ちのイベントが解消するまで、現在解析処理中のページ(3ページ目)の解析処理を実行する。第2コアは、描画用メモリ解放通知が印刷制御部から出力され、描画用展開領域の空き待ちのイベントが解消すると、第2描画部での描画処理を再開する。そのため、3ページ目の解析処理が第1コアと第2コアとにより実行されるため、3ページ目の解析処理に要する時間が短縮されると共に、第2コアが動作しない無駄な時間を解消することができる。
【0098】
以上のように、本実施の形態1、2によれば、第1コア又は第2コアは、実行中の処理が一時的に停止する事象(イベント)が発生した場合、他の処理を実行することができるため、処理が一時的に停止するイベントが解消するまで待機する処理待機時間を削減でき、処理効率の向上を図ることができる。
【0099】
また、解析処理又は描画処理のうち優先順位が高い方の処理の実行中に、当該実行中の処理が一時的に停止するイベントが発生した場合、他方の処理を実行することができ、最優先順位の処理が一時的に停止するイベントが解消するまで待機する処理待機時間を削減できる。
【0100】
また、実行中の処理において一時的に停止するイベントが発生した場合、実行中の処理に対応するイベントテーブル(解析イベントテーブル又は描画イベントテーブル)を参照して、当該イベントに対するアクションを実行することにより、他の処理を実行することができる。
【0101】
更に、実行中の処理に使用されるRAM42のデータ展開領域内の領域(解析用展開領域又は描画用展開領域)に空き領域が無い場合、他方の処理を実行することができるため、空き領域待ちによる第1コア又は第2コアが待機する処理待機時間を削減できる。
【0102】
更に、実行中の処理の処理対象となるデータがない場合、他の処理を実行することができるため、データ待ちにより待機する処理待機時間を削減できる。
【0103】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として
ROM43を使用した例を開示したが、この例に限定されない。
その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、CD-ROM等の可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0104】
また、本発明は、上記実施の形態1及び2の内容に限定されるものではなく、実施例1及び実施例2を組み合わせた内容であってもよく、本発明の主旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【0105】
1 画像形成装置
10 エンジン
11 用紙カセット
12 給紙ローラ
13 搬送ローラ
14 搬送ベルト
15Y、15M、15C、15K 静電ドラム
16Y、16M、16C、16K プリントユニット
17Y、17M、17C、17K レーザユニット
18Y、18M、18C、18K 転写ローラ
19 定着器
20 排紙ローラ
40A、40B 画像処理装置
41 制御部
41a 第1コア
41b 第2コア
42 RAM
42a データ展開領域
43 ROM
44 HDD
45 通信装置
46 バス
51 解析処理プログラム
52 描画処理プログラム
53 印刷制御プログラム
54 印刷プログラム
55、57 解析イベントテーブル
56、58 描画イベントテーブル
61a、65a 第1解析部
65b 第2解析部
62a 第1描画部
62b、66b 第2描画部
63 印刷制御部
64 印刷部
80 外部装置

【特許請求の範囲】
【請求項1】
複数の演算部を有し、ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理、前記解析処理により生成された中間言語形式のデータに基づいて描画用のデータを生成する描画処理、を前記複数の演算部に割り当てて実行する制御部を備えた画像処理装置において、
前記複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、
当該演算部は、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行すること、
を特徴とする画像処理装置。
【請求項2】
前記解析処理及び前記描画処理が実行可能な演算部には、前記解析処理及び前記描画処理に対して処理実行の優先順位が設定されており、
当該演算部は、前記解析処理又は前記描画処理のうち優先順位が高い方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行すること、
を特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記解析処理及び前記描画処理それぞれに対して、前記処理が一時的に停止する事象と、当該事象に対して実行する一時的に処理が停止した処理とは異なる処理の指示情報と、が対応付けられた事象情報が格納された不揮発性メモリを備え、
前記解析処理及び前記描画処理が実行可能な演算部は、
前記実行中の処理において前記処理が一時的に停止する事象が発生した場合、実行中の処理に対応する前記事象情報を参照して、当該事象に対する指示情報が示す処理を実行すること、
を特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記解析処理が実行される際に使用される解析用展開領域と、前記描画処理が実行される際に使用される描画用展開領域とを有する記憶部を備え、
前記一時的に停止する事象は、
前記実行中の処理に使用される前記解析用展開領域又は前記描画用展開領域内に空き領域が無いことであること、
を特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記一時的に停止する事象は、
前記実行中の処理の処理対象となるデータがないことであること、
を特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項6】
複数の演算部を有し、ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理、前記解析処理により生成された中間言語形式のデータに基づいて描画用のデータを生成する描画処理、を前記複数の演算部に割り当てて実行する制御部を備えた画像処理装置による画像処理方法において、
前記画像処理装置の複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、
当該演算部において、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行する工程を含むこと、
を特徴とする画像処理方法。
【請求項7】
複数の演算部を備えたコンピュータに、
ページ記述言語形式のデータを解析してバンド単位の中間言語形式のデータを生成する解析処理と、前記解析処理により生成された中間言語形式のデータに基づいて描画データを生成する描画処理と、を前記複数の演算部に割り当てて実行するプログラムにおいて、
前記複数の演算部のうち少なくともいずれか一つは、前記解析処理及び前記描画処理が実行可能であり、
当該演算部に対して、前記解析処理又は前記描画処理のうちいずれか一方の処理の実行中に、当該実行中の処理が一時的に停止する事象が発生した場合、他方の処理を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
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


【公開番号】特開2011−183757(P2011−183757A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53901(P2010−53901)
【出願日】平成22年3月11日(2010.3.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
2.Bluetooth
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】