(57)【要約】【課題】画像形成処理のさらなる高速化を図る。【解決手段】描画コアモジュールの第１描画コアにより、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行し、第２描画コアにより、オブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成の投機処理を実行し、第３描画コアにより、第２描画コアが生成したDisplay ListＡ〜Ｄに基づき印刷出力又は表示出力のための描画処理を実行する。また、第１描画コアによるデータ解析と、第２描画コアによる投機処理とが並列処理で実行される。これにより、第２描画コアは、第１描画コアからの描画命令を受け取らなくても投機処理により、Display ListＡ〜Ｄの生成を実行できる。【選択図】図２
2019084749.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行する第１描画コアと、
前記データ解析が完了する前に前記オブジェクトに対するDisplay Listの生成の投機処理を開始する第２描画コアと、
前記第２描画コアが生成した前記Display Listに基づき描画処理を実行する第３描画コアとを備え、
前記第１描画コアによるデータ解析と、前記第２描画コアによる投機処理とが並列処理で実行される
ことを特徴とする画像形成装置。
【請求項２】
前記第２描画コアは、前記Display Listの生成の投機処理に失敗した場合、前記第１描画コアによる前記オブジェクトの前記データ解析が終了した後、前記データ解析の結果に基づく前記Display Listを生成することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記Display Listを記憶する記憶デバイスを備え、
前記第２描画コアは、前記Display Listの生成の投機処理に失敗した場合、失敗直前までの前記Display Listを前記記憶デバイスに記憶させ、前記記憶デバイスに記憶させた前記Display Listの失敗直前までのデータを確認し、失敗した部分の前記Display Listの生成を実行する
ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
第１描画コアにより、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行する工程と、
第２描画コアにより、前記データ解析が完了する前に前記オブジェクトに対するDisplay Listの生成の投機処理を開始する工程と、
第３描画コアにより、前記第２描画コアが生成した前記Display Listに基づき描画処理を実行する工程とを画像形成装置を制御するコンピューターに実行させ、
前記第１描画コアによるデータ解析と、前記第２描画コアによる投機処理とが並列処理で実行される
ことを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＤＬ(Page Description Language)に基づく画像形成処理に適した画像形成装置及び画像形成プログラムに関する。
【背景技術】
【０００２】
たとえば、ＭＦＰ(Multifunction Peripheral)等の画像形成装置においては、たとえばＰＤＬ(Page Description Language)が示す印刷情報に基づいた画像形成処理が行われる。なお、ＰＤＬが示す印刷情報には、ベクターデータ、テキストデータ、イメージデータ等がある。また、ＰＤＬが示す印刷情報に基づいた画像形成処理では、ＰＤＬの解析処理と、レンダリング処理とが行われる。すなわち、解析処理ではＰＤＬが示す印刷情報を解析し、レンダリング処理では解析された情報に基づき印刷出力等を実行するための描画情報を生成する。
【０００３】
このようなＰＤＬに基づいた画像形成処理に関するものとして、特許文献１では、カウント手段により、 ベクターの描画命令をカウントし、カウント数判定手段により、カウント手段によるカウント数が閾値以上かを判定し、描画処理実行手段により、カウント数判定手段がカウント数を閾値以上と判定すると、カウント手段がカウントした分のベクターの描画命令を実行し、カウント数リセット手段により、描画処理実行手段が描画命令を実行するとカウント手段によるカウント数をリセットする描画処理装置を提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１８９１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１の描画処理装置では、閾値以上の数のベクターの描画命令をまとめて実行するので、多くのベクターの描画命令が連続して使われているような印刷データの処理の高速化を図ることができる。
【０００６】
ところで、上述したＰＤＬに基づく画像形成処理でのレンダリング処理には、Display Listの生成処理と、Display Listに基づいた描画処理とが含まれる。また、Display Listの生成処理は、ＰＤＬの解析処理での描画命令を受けてから実行する。
【０００７】
このため、特許文献１の描画処理装置のように、閾値以上の数のベクターの描画命令をまとめて実行する際、先の描画命令に基づいたDisplay Listを生成した後、次の描画命令を受けるまでは次の描画命令に基づいたDisplay Listの生成を行えないので、画像形成処理のさらなる高速化を図ることができない。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができる画像形成装置及び画像形成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像形成装置は、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行する第１描画コアと、前記データ解析が完了する前に前記オブジェクトに対するDisplay Listの生成の投機処理を開始する第２描画コアと、前記第２描画コアが生成した前記Display Listに基づき描画処理を実行する第３描画コアとを備え、前記第１描画コアによるデータ解析と、前記第２描画コアによる投機処理とが並列処理で実行されることを特徴とする。
また、前記第２描画コアは、前記Display Listの生成の投機処理に失敗した場合、前記第１描画コアによる前記オブジェクトの前記データ解析が終了した後、前記データ解析の結果に基づく前記Display Listを生成することを特徴とする。
また、前記Display Listを記憶する記憶デバイスを備え、前記第２描画コアは、前記Display Listの生成の投機処理に失敗した場合、失敗直前までの前記Display Listを前記記憶デバイスに記憶させ、前記記憶デバイスに記憶させた前記Display Listの失敗直前までのデータを確認し、失敗した部分の前記Display Listの生成を実行することを特徴とする。
本発明の画像形成プログラムは、第１描画コアにより、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行する工程と、第２描画コアにより、前記データ解析が完了する前に前記オブジェクトに対するDisplay Listの生成の投機処理を開始する工程と、第３描画コアにより、前記第２描画コアが生成した前記Display Listに基づき描画処理を実行する工程とを画像形成装置を制御するコンピューターに実行させ、前記第１描画コアによるデータ解析と、前記第２描画コアによる投機処理とが並列処理で実行されることを特徴とする。
本発明の画像形成装置及び画像形成プログラムでは、第１描画コアにより、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行し、第２描画コアにより、データ解析が完了する前にオブジェクトに対するDisplay Listの生成の投機処理を実行し、第３描画コアにより、第２描画コアが生成したDisplay Listに基づき描画処理を実行する。また、第１描画コアによるデータ解析と、第２描画コアによる投機処理とが並列処理で実行される。
これにより、第２描画コアは、第１描画コアからの描画命令を受け取らなくても投機処理により、Display Listの生成を実行できる。
【発明の効果】
【００１０】
本発明の画像形成装置及び画像形成プログラムによれば、第２描画コアは、第１描画コアからの描画命令を受け取らなくても投機処理により、Display Listの生成を実行できるので、画像形成処理のさらなる高速化を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像形成装置をＭＦＰに適用した場合の一実施形態を説明するための図である。
【図２】図１の描画コアモジュールによる画像処理の一例について説明するものであり、図２（ａ）は描画コアモジュールの第１描画コア、及び第２描画コアでの並列処理及び投機処理によるDisplay List生成を示す図であり、図２（ｂ）は一般的なDisplay List生成を示す図である。
【図３】図１の描画コアモジュールの第２描画コアによる、オブジェクトに対するDisplay Listの生成ステップの一例をイメージ化して示す図である。
【図４】図１の描画コアモジュールによる画像形成処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の画像形成装置の一実施形態を、図１〜図４を参照しながら説明する。なお、以下の説明においての画像形成装置の一例としては、たとえば印刷機能、コピー機能、ＦＡＸ機能、ネットワーク経由でのデータ送受信機能等を搭載した複合的な周辺機器であるＭＦＰ(Multifunction Peripheral)であるものとする。
【００１３】
まず、図１に示すように、ＭＦＰ１００は、スキャナー部１０１、プリンター部１０２、ＦＡＸ(Facsimile)部１０３、Ｉ／Ｆ（インターフェース）１０４、パネル部１０５及びＨＤＤ１０６の動作を制御する制御部１１０を備えている。
【００１４】
スキャナー部１０１は、イメージセンサ（図示省略）によって読み取られる、図示しない原稿上の画像をデジタルの画像データに変換し、制御部１１０に入力するデバイスである。プリンター部１０２は、制御部１１０から出力される印刷データに基づき、図示しない用紙等に画像を印刷するデバイスである。ＦＡＸ部１０３は、制御部１１０から出力されるデータを、電話回線を通じ相手方となるファクシミリへと送信し、また、相手方ファクシミリからのデータを受信して制御部１１０に入力するデバイスである。
【００１５】
Ｉ／Ｆ１０４は、ネットワークを介し、他のＭＦＰ１００、ユーザー端末等との通信を受け持つ。なお、Ｉ／Ｆ１０４は、図示しないコンテンツサーバーやウェブサーバー等との通信を受け持ってもよい。パネル部１０５は、たとえばＭＦＰ１００の印刷機能、コピー機能、ＦＡＸ機能、ネットワーク経由でのデータ送受信機能や、各種設定のための表示を行うタッチパネルとハードウェアキーとを有するデバイスである。ＨＤＤ１０６は、ＭＦＰ１００の種々の機能を提供するためのアプリケーションプログラム等を記憶している記憶デバイスである。また、ＨＤＤ１０６は、ユーザー端末側から登録された印刷ジョブを記憶するユーザーボックスを有している。
【００１６】
制御部１１０は、認証プログラム等のアプリケーションプログラム、画像形成プログラム、及び制御プログラム等を実行してＭＦＰ１００全体の動作を制御するプロセッサーである。制御部１１０は、スキャナー制御部１１１、プリンター制御部１１２、ＦＡＸ制御部１１３、通信制御部１１４、ＲＡＭ(Random Access Memory)１１５、ＥＥＰＲＯＭ(electrically erasable and programmable read-only memory)１１６、描画コアモジュール１１７、パネル操作制御部１１８、ＨＤＤ制御部１１９、システム制御部１２０を備えている。また、これらは、データバス１２１に接続されている。
【００１７】
スキャナー制御部１１１は、スキャナー部１０１の読み取り動作を制御する。プリンター制御部１１２は、プリンター部１０２の印刷動作を制御する。ＦＡＸ制御部１１３は、ＦＡＸ部１０３によるデータの送受信動作を制御する。通信制御部１１４は、Ｉ／Ｆ１０４を介し、ネットワーク経由でのデータ等の送受信の制御を行う。ＲＡＭ１１５は、プログラムを実行するためのワークメモリーである。また、ＲＡＭ１１５は、詳細については後述するが、描画コアモジュール１１７が生成したDisplay Listを中間データとして記憶する。また、ＲＡＭ１１５は、描画コアモジュール１１７が画像処理（ラスタライズ）した印刷データを記憶する。ＥＥＰＲＯＭ１１６には、各部の動作チェックや起動シーケンスを生成する制御プログラム等が記憶されている。
【００１８】
描画コアモジュール１１７は、たとえばＰＤＬ(Page Description Language)が示す印刷情報に基づいた画像形成処理を行うものであって、第１描画コア１１７Ａ、第２描画コア１１７Ｂ、及び第３描画コア１１７Ｃを有している。なお、ＰＤＬ形式の印刷情報には、ベクターデータ、テキストデータ、圧縮画像データ、イメージデータ等がある。ただし、本実施形態では、説明の都合上、ＰＤＬ形式の印刷情報はベクターデータであるものとする。ちなみに、ベクターデータであれば、スキャンライン変換処理を経て画像のビットマップ化が行われる。テキストデータであれば、テキストのアウトライン化及びアウトラインのスキャンライン変換を経て、画像のビットマップ化が行われる。圧縮画像データであれば、圧縮形式に応じた展開処理を経て、イメージデータとしての処理が行われる。イメージデータであれば、カラーマッチング、CMYK(Cyan、Magenta、Yellow、Key)変換及び総量規制の処理が実行される。
【００１９】
第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報（ベクターデータ）のデータ解析を実行する。第２描画コア１１７Ｂは、後述の図２に示すＰＤＬ形式の印刷情報が示すグラフィックスオブジェクトａ〜ｄ（以下、単にオブジェクトａ〜ｄという）のDisplay ListＡ〜Ｄの生成を投機処理により実行し、生成したDisplay ListＡ〜Ｄを中間データとしてＲＡＭ１１５に記憶させる。第３描画コア１１７Ｃは、第２描画コア１１７Ｂが生成したDisplay Listに基づき、印刷出力又は表示出力のための描画処理を実行する。なお、第１描画コア１１７Ａによるデータ解析と、第２描画コア１１７ＢによるDisplay ListＡ〜Ｄの生成とは並列処理で実行される。
【００２０】
パネル操作制御部１１８は、パネル部１０５の表示動作を制御する。また、パネル操作制御部１１８は、パネル部１０５を介し、印刷、コピー、ＦＡＸ、ネットワーク経由でのデータ送受信等の設定を受け付ける。ＨＤＤ制御部１１９は、ＨＤＤ１０６に対するデータの読み出し及び書き込み等を制御する。システム制御部１２０は、たとえばＰＤＬに基づいた印刷指示があると、描画コアモジュール１１７に対し、画像処理を指示する。
【００２１】
次に、図２を参照し、描画コアモジュール１１７による画像処理の一例について説明する。まず、図２（ａ）は、描画コアモジュール１１７での並列処理及び投機処理によるDisplay List生成を示している。描画コアモジュール１１７の第１描画コア１１７Ａ、及び第２描画コア１１７Ｂは、それぞれ並列処理を実行する。ここで、たとえば第１描画コア１１７Ａがデータ解析処理を受け持ち、第２描画コア１１７ＢがDisplay List生成処理を受け持つとする。なお、第１描画コア１１７Ａ、及び第２描画コア１１７Ｂの処理の割り当ては、パネル部１０５を介して設定してもよいし、デフォルトとして設定されていてもよい。
【００２２】
すなわち、第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報に対するデータ解析処理を実行する。第１描画コア１１７Ａは、データ解析処理により、オブジェクトａ〜ｄの描画命令を取得する。これにより、第１描画コア１１７Ａは、描画命令に含まれるオブジェクトａ〜ｄのパスを取得し、平滑化、ペン幅、ジョイン、ダッシュパターン、座標変換、及びクリップに関するグラフィクス属性を取得する。この場合、第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報のオブジェクトａに対するデータ解析処理を実行する。また、第１描画コア１１７Ａは、オブジェクトａの描画命令の取得が完了すると、第２描画コア１１７Ｂにオブジェクトａの描画要求を送り、オブジェクトａに続くオブジェクトｂのデータ解析処理を実行し、オブジェクトｂの描画命令の取得が完了すると、第２描画コア１１７Ｂにオブジェクトｂの描画要求を送り、オブジェクトｂに続くオブジェクトｃのデータ解析処理を実行し、オブジェクトｃの描画命令の取得が完了すると、第２描画コア１１７Ｂにオブジェクトｃの描画要求を送り、オブジェクトｃに続くオブジェクトｄのデータ解析処理を実行する。
【００２３】
一方、第２描画コア１１７Ｂは、詳細については後述するが、パス登録後、オブジェクトａ〜ｄに対するDisplay List生成を投機処理により実行し、Display ListＡ〜Ｄを生成する。また、第２描画コア１１７Ｂは、それぞれのDisplay ListＡ〜Ｄを中間データとしてＲＡＭ１１５に記憶させる。また、第２描画コア１１７Ｂは、たとえばオブジェクトｃに対するDisplay List生成に失敗した場合、ＲＡＭ１１５に記憶させた中間データを参照し、オブジェクトｃに対するDisplay List生成を再度実行し、Display ListＣ’を生成する。そして、第２描画コア１１７Ｂは、オブジェクトｄに対するDisplay ListＤを生成し、処理を終了する。なお、第２描画コア１１７Ｂは、Display ListＡ〜Ｄを生成する際、それぞれのオブジェクトａ〜ｄの内容によってはパイプライン処理を実行する。
【００２４】
一方、図２（ｂ）は、一般的な描画モジュールによるDisplay List生成を示している。すなわち、一般的な描画モジュールでは、ＰＤＬ形式の印刷情報のオブジェクトａに対するデータ解析処理を実行し、オブジェクトａの描画命令の取得が完了すると、オブジェクトａの描画要求に応じて、オブジェクトａに対するDisplay ListＡを生成し、ＲＡＭ１１５に記憶させる。また、描画モジュールでは、Display ListＡの生成に成功すると、オブジェクトｂに対するDisplay ListＢを生成し、ＲＡＭ１１５に記憶させる。また、描画モジュールでは、Display ListＢの生成に成功すると、オブジェクトｃに対するDisplay ListＣを生成し、ＲＡＭ１１５に記憶させる。また、描画モジュールでは、Display ListＣの生成に成功すると、オブジェクトｄに対するDisplay ListＤを生成し、ＲＡＭ１１５に記憶させる。つまり、一般的な描画モジュールによるDisplay List生成では、ＰＤＬ形式の印刷情報のオブジェクトａ〜ｄに対するデータ解析処理と、オブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成とが一連の流れの中で実行される。このため、描画命令を取得するまでは、Display ListＡ〜Ｄの生成が実行されないことになる。
【００２５】
次に、図３を参照し、第２描画コア１１７Ｂによる、たとえばオブジェクトａに対するDisplay ListＡの生成ステップの一例について説明する。なお、図３は、Display ListＡの生成ステップをイメージ化したものである。
【００２６】
まず、第２描画コア１１７Ｂは、（ａ）に示すように、オブジェクトａのパスを示すデータを取得する。なお、パスには、たとえばアンカーポイント、セグメント、ハンドル（方向線）を示すデータが含まれる。次に、第２描画コア１１７Ｂは、（ｂ）に示すように、パスが示す図形を平滑化する。次に、第２描画コア１１７Ｂは、（ｃ）に示すように、オブジェクトａからペン幅、ジョイン、ダッシュパターンを示すデータを取得すると、（ｄ）に示すように、オブジェクトａから座標変換を示すデータを取得する。また、第２描画コア１１７Ｂは、（ｅ）に示すように、オブジェクトａからクリップを示すデータを取得する。また、第２描画コア１１７Ｂは、（ｆ）に示すように、オブジェクトａから台形分割を示すデータを取得する。そして、第２描画コア１１７Ｂは、（ｇ）に示すように、オブジェクトａに対するDisplay Listを生成する。なお、オブジェクトａに対するDisplay Listは、パイプライン処理によって実行される。
【００２７】
次に、図４を参照し、描画コアモジュール１１７による画像形成処理について説明する。なお、以下では、ＰＤＬ形式の印刷情報のデータは、ベクターであるものとする。また、以下では、描画コアモジュール１１７の第１描画コア１１７ＡがＰＤＬ形式の印刷情報のデータ解析を行い、第２描画コア１１７Ｂが図２のＰＤＬ形式の印刷情報が示すオブジェクトａ〜ｄのDisplay ListＡ〜Ｄの生成を投機処理により実行し、生成したDisplay ListＡ〜ＤをＲＡＭ１１５に中間データとして記憶させ、第３描画コア１１７Ｃが第２描画コア１１７Ｂの生成したDisplay ListＡ〜Ｄに基づき、印刷出力又は表示出力のための描画処理を実行するものとして説明する。また、以下では、ＰＤＬ形式の印刷情報が図示しないユーザー端末から送信され、Ｉ／Ｆ１０４を介して取得されているものとする。
【００２８】
（ステップＳ１０１）
第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報からオブジェクトａを選択する。
【００２９】
（ステップＳ１０２）
第２描画コア１１７Ｂは、ＰＤＬ形式の印刷情報からオブジェクトａを選択する。
この場合、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトａの選択と同時に、オブジェクトａを選択する。なお、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトａの選択より前に、オブジェクトａを選択してもよい。
【００３０】
（ステップＳ１０３）
第１描画コア１１７Ａは、オブジェクトａに対するデータ解析を開始する。
【００３１】
（ステップＳ１０４）
第２描画コア１１７Ｂは、オブジェクトａに対するDisplay ListＡの生成を開始する。
この場合、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトａのデータ解析の開始と同時に、オブジェクトａに対するDisplay ListＡの生成を開始する。このとき、第１描画コア１１７Ａによるオブジェクトａのデータ解析が完了していないので、第２描画コア１１７Ｂは、各グラフィクス属性のデフォルト設定値を用いてDisplay ListＡを生成する投機処理を実行する。なお、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトａのデータ解析の開始より前に、オブジェクトａに対するDisplay ListＡの生成を開始してもよい。
【００３２】
（ステップＳ１０５）
第１描画コア１１７Ａは、オブジェクトａの描画命令を取得する。
この場合、第１描画コア１１７Ａは、オブジェクトａの描画命令の取得を完了して、第２描画コア１１７Ｂに描画要求を送出することで、オブジェクトａに対するデータ解析を完了し、次のオブジェクトｂに対するデータ解析に移行できる。このとき、第２描画コア１１７Ｂは、第１描画コア１１７Ａからの描画要求を受け付ける。
【００３３】
（ステップＳ１０６）
第２描画コア１１７Ｂは、Display ListＡの生成に成功したかどうかを判断する。
この場合、第２描画コア１１７Ｂは、オブジェクトａに対するDisplay ListＡの生成の処理の途中または終了後において、描画要求に基づく第１描画コア１１７Ａが印刷情報から取得したグラフィクス属性の設定値がデフォルト設定値と異なる（すなわち、Display ListＡを生成するために使用されたグラフィクス属性が、オブジェクトａの描画命令に基づくグラフィクス属性と異なる）と判断した場合、Display ListＡの生成に失敗したと判断する（ステップＳ１０６：Ｎｏ）。このとき、第２描画コア１１７Ｂは、ステップＳ１０４に戻り、第１描画コア１１７Ａが取得したオブジェクトａの描画命令に基づくグラフィクス属性の設定値を用いてオブジェクトａに対するDisplay ListＡの生成を再度行う。また、第２描画コア１１７Ｂは、第１描画コア１１７Ａに対してDisplay ListＡの生成に失敗したことを通知する。
なお、第２描画コア１１７Ｂは、オブジェクトａに対するDisplay ListＡの生成に失敗した場合、失敗直前までに生成したDisplay ListＡをＲＡＭ１１５に記憶させてもよい。これにより、ステップＳ１０４に戻り、オブジェクトａに対するDisplay ListＡの生成を再度行うとき、Display ListＡの失敗直前までのデータを確認することで、失敗した部分のDisplay ListＡの生成のみを実行できる。これにより、Display ListＡの再生成の時間を短縮できる。
これに対し、第２描画コア１１７Ｂは、オブジェクトａに対するDisplay ListＡの生成の処理が最後まで進んだ場合、Display ListＡの生成に成功したと判断し（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０８に移行する。
このとき、第２描画コア１１７Ｂは、第１描画コア１１７Ａに対してDisplay ListＡの生成に成功したことを通知する。
【００３４】
（ステップＳ１０７）
第１描画コア１１７Ａは、Display ListＡの生成に成功したかどうかを判断する。
この場合、第１描画コア１１７Ａは、第２描画コア１１７ＢからDisplay ListＡの生成に失敗したことを示す通知を受け取った場合、Display ListＡの生成に成功しないと判断し（ステップＳ１０７：Ｎｏ）、待機する。
これに対し、第１描画コア１１７Ａは、第２描画コア１１７ＢからDisplay ListＡの生成に成功したことを示す通知を受け取った場合、Display ListＡの生成に成功したと判断し（ステップＳ１０７：Ｙｅｓ）、ステップＳ１０９に移行する。
【００３５】
（ステップＳ１０８）
第２描画コア１１７Ｂは、Display ListＡを中間データとしてＲＡＭ１１５に記憶させる。
【００３６】
（ステップＳ１０９）
第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報から次のオブジェクトｂを選択する。
【００３７】
（ステップＳ１１０）
第２描画コア１１７Ｂは、ＰＤＬ形式の印刷情報から次のオブジェクトｂを選択する。
この場合、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトｂの選択と同時に、オブジェクトｂを選択してもよいし、第１描画コア１１７Ａによるオブジェクトｂの選択より前に、オブジェクトｂを選択してもよい。
【００３８】
（ステップＳ１１１）
第１描画コア１１７Ａは、オブジェクトｂに対するデータ解析を開始する。
【００３９】
（ステップＳ１１２）
第２描画コア１１７Ｂは、ステップＳ１０６と同様にして、オブジェクトｂに対するDisplay ListＢの生成を開始する。
この場合、第２描画コア１１７Ｂは、第１描画コア１１７Ａによるオブジェクトｂのデータ解析の開始と同時に、オブジェクトｂに対するDisplay ListＢの生成を開始してもよいし、第１描画コア１１７Ａによるオブジェクトｂのデータ解析の開始より前に、オブジェクトｂに対するDisplay ListＢの生成を開始してもよい。
【００４０】
（ステップＳ１１３）
第１描画コア１１７Ａは、オブジェクトｂの描画命令を取得する。
この場合、第１描画コア１１７Ａは、オブジェクトｂの描画命令を取得することで、次のオブジェクトｃに対するデータ解析に移行できる。
【００４１】
（ステップＳ１１４）
第２描画コア１１７Ｂは、Display ListＢの生成に成功したかどうかを判断する。
この場合、第２描画コア１１７Ｂは、オブジェクトｂに対するDisplay ListＢの生成の処理の途中または終了後において、第１描画コア１１７Ａが印刷情報から取得したグラフィクス属性がデフォルト設定値と異なる（すなわち、Display ListＢを生成するために使用されたグラフィクス属性が、オブジェクトｂの描画命令に基づくグラフィクス属性と異なる）と判断した場合、Display ListＢの生成が失敗したと判断する（ステップＳ１１４：Ｎｏ）。このとき、第２描画コア１１７Ｂは、ステップＳ１１２に戻り、第１描画コア１１７Ａが取得したオブジェクトｂの描画命令に基づくグラフィクス属性の設定値を用いてオブジェクトｂに対するDisplay ListＢの生成を再度行う。また、第２描画コア１１７Ｂは、第１描画コア１１７Ａに対してDisplay ListＢの生成に失敗したことを通知する。
なお、第２描画コア１１７Ｂは、オブジェクトｂに対するDisplay ListＢの生成に失敗した場合、上記同様に、失敗直前までのDisplay ListＢをＲＡＭ１１５に記憶させてもよい。これにより、ステップＳ１１２に戻り、オブジェクトｂに対するDisplay ListＢの生成を再度行うとき、Display ListＢの失敗直前までのデータを確認することで、失敗した部分のDisplay ListＢの生成のみを実行できる。これにより、Display ListＢの再生成の時間を短縮できる。
これに対し、第２描画コア１１７Ｂは、オブジェクトｂに対するDisplay ListＢの生成の処理が最後まで進んだ場合、Display ListＢの生成が成功したと判断し（ステップＳ１１４：Ｙｅｓ）、ステップＳ１１７に移行する。
このとき、第２描画コア１１７Ｂは、第１描画コア１１７Ａに対してDisplay ListＢの生成に成功したことを通知する。
【００４２】
（ステップＳ１１５）
第１描画コア１１７Ａは、Display ListＢの生成に成功したかどうかを判断する。
この場合、第１描画コア１１７Ａは、第２描画コア１１７ＢからDisplay ListＢの生成に失敗したことを示す通知を受け取った場合、Display ListＢの生成に成功しないと判断し（ステップＳ１１５：Ｎｏ）、待機する。
これに対し、第１描画コア１１７Ａは、第２描画コア１１７ＢからDisplay ListＢの生成に成功したことを示す通知を受け取った場合、Display ListＢの生成に成功したと判断し（ステップＳ１１５：Ｙｅｓ）、ステップＳ１１６に移行する。
【００４３】
（ステップＳ１１６）
第２描画コア１１７Ｂは、Display ListＡを中間データとしてＲＡＭ１１５に記憶させる。
【００４４】
（ステップＳ１１７）
第１描画コア１１７Ａは、全てのオブジェクトａ〜ｄに対するデータ解析が完了したかどうかを判断する。
この場合、第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するデータ解析が完了していない場合（ステップＳ１１７：Ｎｏ）、ステップＳ１０９に戻り、残りのオブジェクトａ〜ｄに対するデータ解析を続行する。
これに対し、第１描画コア１１７Ａは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するデータ解析が完了した場合（ステップＳ１１７：Ｙｅｓ）、処理を終了する。
【００４５】
（ステップＳ１１８）
第２描画コア１１７Ｂは、全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成が完了したかどうかを判断する。
この場合、第２描画コア１１７Ｂは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成が完了していない場合（ステップＳ１１８：Ｎｏ）、ステップＳ１１０に戻り、残りのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成を続行する。
これに対し、第２描画コア１１７Ｂは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成が完了した場合（ステップＳ１１８：Ｙｅｓ）、処理を終了する。
【００４６】
（ステップＳ２０１）
第３描画コア１１７Ｃは、ＲＡＭ１１５に記憶されたDisplay ListＡ〜Ｄに基づく描画情報を生成する。
この場合、第３描画コア１１７Ｃは、ＲＡＭ１１５にDisplay ListＡ〜Ｄが順に記憶されるタイミングで、Display ListＡ〜Ｄに基づく印刷出力又は表示出力のための描画情報を順に生成する。
【００４７】
（ステップＳ２０２）
第３描画コア１１７Ｃは、全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄに基づく描画情報の生成が完了したかどうかを判断する。
この場合、第３描画コア１１７Ｃは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄに基づく描画情報の生成が完了していない場合（ステップＳ２０２：Ｎｏ）、ステップＳ２０１に戻り、残りのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄに基づく描画情報の生成を続行する。
これに対し、第３描画コア１１７Ｃは、ＰＤＬ形式の印刷情報の全てのオブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄに基づく描画情報の生成が完了した場合（ステップＳ２０２：Ｙｅｓ）、処理を終了する。
また、第３描画コア１１７Ｃは、Display ListＡ〜Ｄに基づく描画情報の生成が完了した場合、ＲＡＭ１１５に記憶されているDisplay ListＡ〜Ｄを削除する。
【００４８】
なお、以上では、ＰＤＬ形式の印刷情報がベクターデータである場合としているが、ＰＤＬ形式の印刷情報がテキストデータ、圧縮画像データ、イメージデータ等であっても、同様に、データ解析と投機処理によるDisplay List生成とを並列処理にて実行してもよい。
【００４９】
このように、本実施形態では、描画コアモジュール１１７の第１描画コア１１７Ａにより、ＰＤＬ形式の印刷情報のオブジェクトのデータ解析を実行し、第２描画コア１１７Ｂにより、オブジェクトａ〜ｄに対するDisplay ListＡ〜Ｄの生成の投機処理を実行し、第３描画コア１１７Ｃにより、第２描画コア１１７Ｂが生成したDisplay ListＡ〜Ｄに基づき印刷出力又は表示出力のための描画処理を実行する。また、第１描画コア１１７Ａによるデータ解析と、第２描画コア１１７Ｂによる投機処理とが並列処理で実行される。
【００５０】
これにより、第２描画コア１１７Ｂは、第１描画コア１１７Ａからの描画命令を受け取らなくても投機処理により、Display ListＡ〜Ｄの生成を実行できるので、画像形成処理のさらなる高速化を図ることができる。
【００５１】
なお、本実施形態では、画像形成装置をＭＦＰ１００に適用した場合としているが、これに限らず、多機能プリンター等の他の画像形成装置に適用してもよいし、ＰＣ(Personal Computer)等の電子機器に適用してもよい。
【符号の説明】
【００５２】
１００  ＭＦＰ
１０１  スキャナー部
１０２  プリンター部
１０３  ＦＡＸ部
１０４  Ｉ／Ｆ
１０５  パネル部
１０６  ＨＤＤ
１１０  制御部
１１１  スキャナー制御部
１１２  プリンター制御部
１１３  ＦＡＸ制御部
１１４  通信制御部
１１５  ＲＡＭ
１１６  ＥＥＰＲＯＭ
１１７  描画コアモジュール
１１７Ａ  第１描画コア
１１７Ｂ  第２描画コア
１１７Ｃ  第３描画コア
１１８  パネル操作制御部
１１９  ＨＤＤ制御部
１２０  システム制御部
１２１  データバス
ａ〜ｄ  オブジェクト
Ａ〜Ｄ  Display List
【図１】
2019084749.tif 000003
【図２】
2019084749.tif 000004
【図３】
2019084749.tif 000005
【図４】
2019084749.tif 000006