(57)【要約】【課題】画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理の処理効率を向上すること。【解決手段】複数のソフトウェァ描画部Ａ〜Ｃが、ディスプレイリストに基づき、自身が関連付けられたバンドに表示される図形であるか否かに関わらず描画情報を生成して中間データ記憶部２３０に記憶させ、自身が関連付けられたバンドに表示される図形の描画情報をプリントエンジン１６０に供給するために、ページメモリ２６０の記憶領域に応じて変換してページメモリ２６０に入力することを特徴とする。【選択図】図３
2011083914.tif 000002
【特許請求の範囲】
【請求項１】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置であって、
描画すべき図形毎に情報がまとめられた図形情報を前記画像形成出力の実行命令に基づいて生成する図形情報生成部と、
画像形成出力を実行するための描画情報を前記生成された図形情報に基づいて生成する複数の描画情報生成部と、
前記生成された図形情報及び描画情報を記憶する図形情報記憶部と、
前記生成された描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部とを含み、
前記複数の描画情報生成部は、画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれかに関連付けられており、
前記図形情報は、前記描画情報生成部が、自身に関連付けられた分割領域に表示される図形であるか否かを判断するための情報を含み、
前記描画情報生成部は、前記図形情報記憶部に記憶された図形情報が、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず、描画情報を生成して前記図形情報記憶部に記憶させる機能と、自身が関連付けられた分割領域に表示される図形について生成された前記描画情報を前記ページ情報記憶部の記憶領域に応じて変換して前記ページ情報記憶部に入力する機能とを有することを特徴とする画像形成装置。
【請求項２】
前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域に表示される図形の図形情報を優先的に取得することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域に表示される図形の図形情報であって、既に描画情報が生成されて前記図形情報記憶部に記憶されている図形情報を優先的に取得することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記ページ情報記憶部は、前記画像形成部が画像形成出力を実行する際の解像度に応じた記憶領域を有し、
前記描画情報生成部は、前記描画情報を前記ページ情報記憶部の記憶領域に応じて変換する処理として、前記描画情報の解像度を前記画像形成部が画像形成出力を実行する際の解像度に変換する処理を実行することを特徴とする請求項１乃至３いずれかに記載の画像形成装置。
【請求項５】
前記描画情報生成部は、前記描画情報として、画像形成出力すべき画像を構成する各画素の情報によって構成された画像情報を生成することを特徴とする請求項１乃至４いずれかに記載の画像形成装置。
【請求項６】
前記図形情報は、前記描画情報生成部によって前記描画情報が生成されて前記図形情報記憶部に記憶されているか否かを示す描画済み識別情報を含み、
前記描画情報生成部は、前記図形情報記憶部から読み出した前記図形情報について、描画情報を生成して前記図形情報記憶部に記憶させる処理を実行するか否かを前記描画済み識別情報に基づいて判断することを特徴とする請求項１乃至５いずれかに記載の画像形成装置。
【請求項７】
前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域以外の分割領域に表示される図形の図形情報を読み出す場合、多くの図形が含まれる分割領域に表示される図形の図形情報を優先的に読み出すことを特徴とする請求項１乃至６いずれかに記載の画像形成装置。
【請求項８】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御方法であって、
図形情報生成部が、描画すべき図形毎に情報がまとめられた情報であって、前記図形が画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれに含まれるかを示す情報を含む図形情報を前記画像形成出力の実行命令に基づいて生成し、
複数の描画情報生成部が、
前記生成された図形情報に基づき、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず描画情報を生成し、
自身が関連付けられた分割領域以外の分割領域に表示される図形について生成した前記描画情報を記憶領域に記憶させ、
前記記憶領域に記憶された描画情報であって自身が関連付けられた分割領域に表示される図形の描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部に、前記ページ情報記憶部の記憶領域に応じて変換して入力することを特徴とする画像形成装置の制御方法。
【請求項９】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御プログラムであって、
描画すべき図形毎に情報がまとめられた情報であって、前記図形が画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれに含まれるかを示す情報を含む図形情報を前記画像形成出力の実行命令に基づいて生成するステップと、
前記生成された図形情報に基づき、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず描画情報を生成するステップと、
自身が関連付けられた分割領域以外の分割領域に表示される図形について生成した前記描画情報を記憶領域に記憶させるステップと、
前記記憶領域に記憶された描画情報であって自身が関連付けられた分割領域に表示される図形の描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部に、前記ページ情報記憶部の記憶領域に応じて変換して入力するステップとを前記画像形成装置に実行させることを特徴とする画像形成装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、その制御方法及び制御プログラムに関し、特に、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置、その制御処理方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された情報の出力に用いるプリンタにおいては、入力された画像情報に基づいてプリントエンジンが画像形成出力を実行するための描画情報を生成し、ページメモリと呼ばれる記憶領域に格納する画像処理（以降、描画処理とする）が行われる。この描画処理は、専用のハードウェアによって実行される他、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算手段がソフトウェアに従って動作することにより実行される。
【０００４】
また、近年の情報処理機器の発展により複数の演算手段が含まれるマルチコアＣＰＵ等の演算機器が普及している。マルチコアＣＰＵにおいては、複数のコアが夫々独立して動作するため、処理を並列化することにより、処理時間を短縮することが可能になる。従って、上記の画像処理もマルチコアＣＰＵに対応させることにより、処理を効率化することが望まれている。マルチコアＣＰＵの性能を効率的に発揮させるためには、処理を夫々のコアに均等に配分することにより、並列して動作するいずれかのコアに待機、即ち、待ちが発生しないようにする必要がある。
【０００５】
複数の演算手段を有する画像形成装置において、上述した画像処理を効率化する方法が提案されている（例えば、特許文献１参照）。特許文献１に開示された技術においては、並列処理されないディスプレイリストの生成処理における処理量を減らすことにより、並列処理されるレンダラが処理を開始するまでの時間を短縮する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上述したように、描画処理の実行に際してはディスプレイリストを生成する必要がある。このディスプレイリストとは、画像に含まれる夫々のオブジェクト毎に必要となる図形の情報がまとめられた情報である。そして、複数の描画手段が存在する場合、生成されたディスプレイリストを、夫々の描画手段に対応した記憶領域若しくは記憶媒体に格納する必要がある。
【０００７】
ここで、複数の描画手段が並列して動作する場合の処理の分散態様として、１つのページを“バンド”と呼ばれる複数の分割領域に分割し、各描画手段がいずれかのバンドの描画処理を実行することにより処理を分散する態様がある。この場合、夫々のバンド毎にディスプレイリストが生成され、そのバンドの描画処理を実行する描画手段に対応した記憶領域に格納される。
【０００８】
従来、描画手段が認識可能な情報形式は限られており、ディスプレイリストが生成された後、情報形式が変換された上で描画手段に応じた記憶領域（以降、中間データメモリとする）に格納されることが一般的であった。例えば、ベクターデータで記述されたオブジェクトのディスプレイリストが生成されると、そのベクターデータについてスキャンライン変換がされ、変換後のデータが中間データメモリに格納されていた。
【０００９】
これに対して、特許文献１に開示されている方法の具体化の例として、レンダラに対して、スキャンライン変換前のベクターデータを入力することが考えられる。これにより、上述したように、中間データメモリへ中間データを格納する前にスキャンライン変換を行う必要がなくなるため、ディスプレイリストの生成に要する時間が短くなり、並列動作可能な複数のレンダラの遊休時間を短縮することができる。
【００１０】
しかしながら、中間データが生成された後の並列処理において、バンド毎の描画処理の処理量が異なると、均等な負荷分散が成されない。各バンドにおける処理、即ち、マルチコアＣＰＵにおける各コアの処理が均等でない場合、いずれかのコアにおいて遊休期間が発生し、マルチコアの性能を十分に発揮させることができない。
【００１１】
本発明は、上記実情を考慮してなされたものであり、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理の処理効率を向上することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置であって、描画すべき図形毎に情報がまとめられた図形情報を前記画像形成出力の実行命令に基づいて生成する図形情報生成部と、画像形成出力を実行するための描画情報を前記生成された図形情報に基づいて生成する複数の描画情報生成部と、前記生成された図形情報及び描画情報を記憶する図形情報記憶部と、前記生成された描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部とを含み、前記複数の描画情報生成部は、画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれかに関連付けられており、前記図形情報は、前記描画情報生成部が、自身に関連付けられた分割領域に表示される図形であるか否かを判断するための情報を含み、前記描画情報生成部は、前記図形情報記憶部に記憶された図形情報が、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず、描画情報を生成して前記図形情報記憶部に記憶させる機能と、自身が関連付けられた分割領域に表示される図形について生成された前記描画情報を前記ページ情報記憶部の記憶領域に応じて変換して前記ページ情報記憶部に入力する機能とを有することを特徴とする。
【００１３】
ここで、前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域に表示される図形の図形情報を優先的に取得することを特徴とする。
【００１４】
また、前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域に表示される図形の図形情報であって、既に描画情報が生成されて前記図形情報記憶部に記憶されている図形情報を優先的に取得することを特徴とする。
【００１５】
また、前記ページ情報記憶部は、前記画像形成部が画像形成出力を実行する際の解像度に応じた記憶領域を有し、前記描画情報生成部は、前記描画情報を前記ページ情報記憶部の記憶領域に応じて変換する処理として、前記描画情報の解像度を前記画像形成部が画像形成出力を実行する際の解像度に変換する処理を実行することを特徴とする。
【００１６】
また、前記描画情報生成部は、前記描画情報として、画像形成出力すべき画像を構成する各画素の情報によって構成された画像情報を生成することを特徴とする。
【００１７】
また、前記図形情報は、前記描画情報生成部によって前記描画情報が生成されて前記図形情報記憶部に記憶されているか否かを示す描画済み識別情報を含み、前記描画情報生成部は、前記図形情報記憶部から読み出した前記図形情報について、描画情報を生成して前記図形情報記憶部に記憶させる処理を実行するか否かを前記描画済み識別情報に基づいて判断することを特徴とする。
【００１８】
また、前記描画情報生成部は、前記描画情報を生成するために前記図形情報記憶部から前記図形情報を取得する際、自身に関連付けられた分割領域以外の分割領域に表示される図形の図形情報を読み出す場合、多くの図形が含まれる分割領域に表示される図形の図形情報を優先的に読み出すことを特徴とする。
【００１９】
また、画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御方法であって、図形情報生成部が、描画すべき図形毎に情報がまとめられた情報であって、前記図形が画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれに含まれるかを示す情報を含む図形情報を前記画像形成出力の実行命令に基づいて生成し、複数の描画情報生成部が、前記生成された図形情報に基づき、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず描画情報を生成し、自身が関連付けられた分割領域以外の分割領域に表示される図形について生成した前記描画情報を記憶領域に記憶させ、前記記憶領域に記憶された描画情報であって自身が関連付けられた分割領域に表示される図形の描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部に、前記ページ情報記憶部の記憶領域に応じて変換して入力することを特徴とする。
【００２０】
また、画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御プログラムであって、描画すべき図形毎に情報がまとめられた情報であって、前記図形が画像形成出力のページの領域を複数に分割した夫々の分割領域のいずれに含まれるかを示す情報を含む図形情報を前記画像形成出力の実行命令に基づいて生成するステップと、前記生成された図形情報に基づき、自身が関連付けられた分割領域に表示される図形であるか否かに関わらず描画情報を生成するステップと、自身が関連付けられた分割領域以外の分割領域に表示される図形について生成した前記描画情報を記憶領域に記憶させるステップと、前記記憶領域に記憶された描画情報であって自身が関連付けられた分割領域に表示される図形の描画情報を、画像形成出力を実行する画像形成部に供給するために画像形成出力のページ毎に記憶するページ情報記憶部に、前記ページ情報記憶部の記憶領域に応じて変換して入力するステップとを前記画像形成装置に実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理の処理効率を向上することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図３】本発明の実施形態に係る画像処理部に含まれる機能を示す図である。
【図４】本発明の実施形態に係る中間データ記憶部に記憶されるディスプレイリストの情報形式を示す図である。
【図５】本発明の実施形態に係る画像の情報形式の例と夫々の情報形式について、描画処理部によって実行される処理を示す図である。
【図６】本発明の実施形態に係る描画動作を示すフローチャートである。
【図７】本発明の実施形態に係る描画動作において出力される画像の例を示す図である。
【図８】本発明の実施形態に係る描画動作のタイミングを示す図である。
【図９】本発明の実施形態に係る描画動作の各段階を示す図である。
【図１０】本発明の実施形態に係る描画動作の各段階を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）としての画像形成装置を例として説明する。
【００２４】
図１は、本実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末と同様の構成に加えて、画像形成を実行するエンジンを有する。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、エンジン４０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５０及びＩ／Ｆ６０がバス９０を介して接続されている。また、Ｉ／Ｆ６０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）７０及び操作部８０が接続されている。
【００２５】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。また、本実施形態に係るＣＰＵ１０は、マルチコアＣＰＵであり、互いに独立して動作可能な複数の演算手段、即ちコアを含む。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン４０は、画像形成装置１において実際に画像形成を実行する機構である。
【００２６】
ＨＤＤ５０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ６０は、バス９０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ７０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部８０は、キーボードやマウス等、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースである。
【００２７】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ５０若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００２８】
次に、図２を参照して、本実施形態に係る画像形成装置１の機能構成について説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１１０、スキャナユニット１２０、排紙トレイ１３０、ディスプレイパネル１４０、給紙テーブル１５０、プリントエンジン１６０、排紙トレイ１７０及びネットワークＩ／Ｆ１８０を有する。
【００２９】
また、コントローラ１００は、主制御部１０１、エンジン制御部１０２、入出力制御部１０３、画像処理部１０４及び操作表示制御部１０５を有する。図２に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１２０、プリントエンジン１６０を有する複合機として構成されている。尚、図２においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
【００３０】
ディスプレイパネル１４０は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ネットワークＩ／Ｆ１８０は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
【００３１】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ５０や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、ＣＰＵ１０の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ１００が構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００３２】
主制御部１０１は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１０２は、プリントエンジン１６０やスキャナユニット１２０等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部１０３は、ネットワークＩ／Ｆ１８０を介して入力される信号や命令を主制御部１０１に入力する。また、主制御部１０１は、入出力制御部１０３を制御し、ネットワークＩ／Ｆ１８０を介して他の機器にアクセスする。
【００３３】
画像処理部１０４は、主制御部１０１の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１６０が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、ＰＣ等の情報処理装置にインストールされたプリンタドライバによって画像形成装置１が認識可能な形式に変換された情報であり、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）や、Ｐｏｓｔｓｃｒｉｐｔ、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）、ＲＰＣＳ等の情報である。換言すると、上記印刷情報とは、画像形成出力のコマンドが記述されたコマンド情報である。尚、本実施形態においては、ページ記述言語としてＰＤＬを用いる場合を例とするが、他の言語であっても良い。
【００３４】
本実施形態においては、画像処理部１０４による上記描画情報の生成処理が要旨である。画像処理部１０４の機能については後に詳述する。操作表示制御部１０５は、ディスプレイパネル１４０に情報表示を行い若しくはディスプレイパネル１４０を介して入力された情報を主制御部１０１に通知する。
【００３５】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１０３がネットワークＩ／Ｆ１８０を介して印刷ジョブを受信する。入出力制御部１０３は、受信した印刷ジョブを主制御部１０１に転送する。主制御部１０１は、印刷ジョブを受信すると、画像処理部１０４を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。
【００３６】
画像処理部１０４によって描画情報が生成されると、エンジン制御部１０２は、生成された描画情報に基づき、給紙テーブル１５０から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン１６０が画像形成部として機能する。プリントエンジン１６０の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１６０によって画像形成が施された文書は排紙トレイ１７０に排紙される。
【００３７】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１４０の操作若しくはネットワークＩ／Ｆ１８０を介して外部のクライアント用の情報処理端末等から入力されるスキャン実行指示に応じて、操作表示制御部１０５若しくは入出力制御部１０３が主制御部１０１にスキャン実行信号を転送する。主制御部１０１は、受信したスキャン実行信号に基づき、エンジン制御部１０２を制御する。
【００３８】
エンジン制御部１０２は、ＡＤＦ１１０を駆動し、ＡＤＦ１１０にセットされた撮像対象原稿をスキャナユニット１２０に搬送する。また、エンジン制御部１０２は、スキャナユニット１２０を駆動し、ＡＤＦ１１０から搬送される原稿を撮像する。また、ＡＤＦ１１０に原稿がセットされておらず、スキャナユニット１２０に直接原稿がセットされた場合、スキャナユニット１２０は、エンジン制御部１０２の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１２０が撮像部として動作する。
【００３９】
撮像動作においては、スキャナユニット１２０に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部１０２は、スキャナユニット１２０が生成した撮像情報を画像処理部１０４に転送する。画像処理部１０４は、主制御部１０１の制御に従い、エンジン制御部１０２から受信した撮像情報に基づき画像情報を生成する。画像処理部１０４が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。即ち、スキャナユニット１２０、エンジン制御部１０２及び画像処理部１０４が連動して、原稿読み取り部として機能する。
【００４０】
画像処理部１１０４によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１０３及びネットワークＩ／Ｆ１８０を介して外部の装置に送信される。即ち、スキャナユニット１２０及びエンジン制御部１０２が画像入力部として機能する。
【００４１】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１０２がスキャナユニット１２０から受信した撮像情報若しくは画像処理部１０４が生成した画像情報に基づき、画像処理部１０４が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１０２がプリントエンジン１６０を駆動する。
【００４２】
このような画像形成装置１において、本実施形態に係る要旨は、画像処理部１０４による描画情報の生成処理にある。以下、本実施形態に係る画像処理部１０４の機能及び動作について説明する。図３は、本実施形態に係る画像処理部１０４に含まれる機能を示すブロック図である。図３に示すように、本実施形態に係る画像処理部１０４は、ＰＤＬ解析部２１０、ＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ディスプレイリスト）処理部２２０、中間データ記憶部２３０、描画処理部２５０及びページメモリ２６０を含む。また、描画処理部２５０は、ソフトウェァ描画部Ａ２５１、ソフトウェァ描画部Ｂ２５２及びソフトウェア描画部Ｃ２５３を含む。
【００４３】
尚、本実施形態においては、図３に示すように、レンダラとしてソフトウェァ描画部Ａ２５１、ソフトウェァ描画部Ｂ２５２及びソフトウェア描画部Ｃ２５３が含まれる場合を例として説明するが、これは一例であり、ソフトウェァ描画部の数は装置の構成、特にＣＰＵ１０のコア数によって異なる。また、ソフトウェァ描画部の他にハードウェアによって構成されるハードウェア描画部を設けても良い。
【００４４】
ＰＤＬ解析部２１０は、ＰＤＬで記述された印刷情報を解析し、ディスプレイリストを生成する。ＤＬ処理部２２０は、ＰＤＬ解析部２１０が生成したディスプレイリストを中間データ記憶部２３０に記憶させる。ディスプレイリストとは、画像形成出力すべき画像に含まれる図形毎に情報がまとめられた図形情報である。即ち、ＰＤＬ解析部２１０が図形情報生成部として機能し、中間データ記憶部２３０が、図形情報記憶部として機能する。
【００４５】
描画処理部２５０は、中間データ記憶部２３０に記憶されたディスプレイリストに基づき、描画処理を実行する。具体的には、描画処理部２５０に含まれるソフトウェァ描画部Ａ２５１、ソフトウェア描画部Ｂ２５２及びソフトウェア描画部Ｃ２５３が、中間データ記憶部２３０からディスプレイリストを読み出し、ディスプレイリストの内容に基づいてラスタデータ、即ち、プリントエンジン１６０が画像形成出力を実行するための描画情報を生成する。描画処理部２５０に含まれる各描画部が、夫々描画情報生成部として機能する。
【００４６】
本実施形態において、描画処理部２５０に含まれる各描画部は、出力すべき画像の１ページを複数に分割した“バンド”と呼ばれる分割領域についての描画情報の生成を並行して実行することにより、描画処理の高速化を実現する。“バンド”とは、画像の１ページを副走査方向に複数段に分割した各領域を示す。
【００４７】
ページメモリ２６０は、描画処理部２５０によって生成されたラスタデータを出力すべきページ毎に記憶するページ情報記憶部である。ページメモリ２６０にラスタデータが格納されることにより、そのラスタデータに基づいてプリントエンジン１６０が画像形成出力を実行する。
【００４８】
次に、本実施形態に係る中間データ記憶部２３０に記憶されるディスプレイリストの情報形式について、図４を参照して説明する。図４は、一の印刷ジョブにおけるディスプレイリストの情報の形式を示す図である。図４に示すように、中間データ記憶部２３０に記憶されるディスプレイリストは、描画開始コマンド、描画終了コマンド及び複数の描画コマンドを含む。
【００４９】
複数の描画コマンドは、上述したように、出力すべき画像に含まれる夫々の図形毎にまとめられた情報である。描画コマンドに含まれる情報の形式は、元の画像の形式によって異なり、ベクターデータ、テキストデータ、圧縮静止画像データ、イメージデータ等、様々である。描画処理部２５０に含まれる各描画部は、夫々の情報に形式に応じた処理を実行し、描画情報を生成する。図５を参照して、描画コマンドに含まれる画像の形式に応じた各描画部の処理について説明する。図５は、描画コマンドに含まれる画像の情報形式と、夫々の情報形式に応じて実行される処理を示す図である。
【００５０】
図５に示すように、ベクターデータであれば、スキャンライン変換処理を経て画像のビットマップ化が行われる。テキストデータであれば、テキストのアウトライン化及びアウトラインのスキャンライン変換を経て、画像のビットマップ化が行われる。また、圧縮画像データであれば、圧縮形式に応じた展開処理を経て、画像のビットマップ化が行われる。また、イメージデータであればカラーマッチング、ＣＭＹＫ変換、総量規制の各処理が行われる。
【００５１】
描画処理部２５０に含まれる各描画部による上記のような処理により生成された画像情報は、描画キャッシュとして中間データ記憶部２３０に記憶される。図４に示すように、夫々の描画コマンドに対して生成された描画キャッシュは、夫々の描画コマンドに関連付けられている。この関連付けは、描画コマンド中に描画キャッシュの格納先を示すアドレス情報やポインタ情報等を含めることにより実現可能である。
【００５２】
また、描画処理部２５０に含まれる各描画部は、夫々の描画コマンドについて描画キャッシュを生成すると、描画コマンドに含まれる描画キャッシュフラグを更新して“ＯＮ”とする。これにより、その描画キャッシュを生成した描画部以外の描画部が、その描画コマンドについて描画キャッシュが生成済みであることを認識することができる。即ち、描画キャッシュフラグは、既に描画情報が生成された中間データ記憶部２３０に記憶されているか否かを示す描画済み識別情報として用いられる。更に、描画コマンドには参照中フラグが含まれている。これは、その描画コマンドが、いずれかの描画部によって読み出されて、上記の各処理を行っている最中であることを示すフラグである。これにより、２以上の描画部が同時に同一の描画コマンドを読み出してしまい、重複した処理が実行されてしまうことを防ぐことができる。
【００５３】
また、図４に示すＤＬ開始コマンドは、一の印刷ジョブに係るディスプレイリストの先頭であることを示す情報を含む。また、ＤＬ終了コマンドは、一の印刷ジョブに係るディスプレイリストの先頭であることを示す情報を含む。尚、図４に示す情報の他、印刷ジョブにおける各ページの区切りを示すコマンドが含まれる。このページの区切りを示すコマンドは、夫々の描画コマンドとは別に設けられても良いし、夫々の描画コマンドの内部に設けられても良い。
【００５４】
上述したように、本実施形態に係る描画処理部２５０に含まれる各描画部は、夫々のバンド毎に描画処理を行うが、これは、ページメモリ２６０への描画情報の入力処理について、夫々の描画部が対応するバンド毎に描画情報を入力することを意味する。換言すると、ページメモリ２６０に描画情報を入力する処理は、夫々のバンドに対応した描画部が夫々のバンド毎に実行する必要がある。
【００５５】
これに対して、中間データ２３０にディスプレイリストが格納された後、ページメモリ２６０への描画情報の入力前までの処理、即ち、図５において説明したような処理は、対応するバンドに限らず、いずれの描画部であっても実行可能な処理、即ち共通処理である。この共通処理の処理方法が、本実施形態に係る要旨となる。
【００５６】
次に、本実施形態に係る画像形成装置１の動作について説明する。図６は、本実施形態に係る描画処理部２５０に含まれる各描画部、即ち、ソフトウェァ描画Ａ２５１、Ｂ２５２、Ｃ２５３（以降、描画部とする）の動作を示すフローチャートである。図６の前提として、既にＰＤＬ解析部２１０によってＰＤＬ解析が実行され、ＤＬ処理部２２０によって図４において説明した形式のディスプレイリストが中間データ記憶部２３０に格納されているものとする。
【００５７】
図６に示すように、描画部は、まず中間データ記憶部２３０に描画コマンドが格納されているか確認する（Ｓ６０１）。描画コマンドが格納されていない場合（Ｓ６０１／ＮＯ）、描画部は、描画コマンドが格納されるまで描画コマンドの確認を繰り返す。
【００５８】
中間データ記憶部２３０に描画コマンドが格納されている場合（Ｓ６０１／ＹＥＳ）、描画部は、図４に示すような描画コマンドを先頭から順番に読み出す（Ｓ６０２）。この際、描画部は、図４において説明した参照中フラグを確認し、参照中フラグが“ＯＦＦ”である描画コマンドを読み出す。また、描画コマンドを読み出す際、描画部は、読み出す描画コマンドの参照中フラグを“ＯＮ”にする。
【００５９】
描画コマンドを読み出した結果、その描画コマンドがディスプレイリストの終了コマンドではなく、描画コマンドであれば（Ｓ６０３／ＮＯ）、次に、描画部は、図４において説明したように、その描画コマンドに描画キャッシュが生成されているか否か確認する（Ｓ６０４）。Ｓ６０４において、描画部は、描画コマンド中の描画キャッシュフラグを確認することにより、読みだした描画コマンドに描画キャッシュが生成されているか否かを確認する。
【００６０】
Ｓ６０４の確認の結果、描画キャッシュが生成されている場合（Ｓ６０４／ＹＥＳ）、次に描画部は、その描画コマンドが自身の担当バンドの描画コマンドであるか否か確認する（Ｓ６０５）。Ｓ６０５の確認の結果、担当バンドの描画コマンドであった場合（Ｓ６０５／ＹＥＳ）、描画部は、その描画コマンドの描画処理を行う（Ｓ６０６）。尚、描画部は、Ｓ６０５においてその描画コマンドが自身の担当バンドの描画コマンドであるか否かを判断する際、描画コマンドに含まれる情報に基づいて判断する。即ち、描画部が、担当バンドに表示される図形であるか否かを判断するための情報が、描画コマンド中に含まれている。
【００６１】
Ｓ６０６の処理は、ページメモリ２６０に各画素のドットデータを転送する処理である。ここで、ページメモリ２６０は、プリントエンジン１６０が形成する画像の解像度に応じて、各ドットに対応した記憶領域を備えている。元の画像の解像度とページメモリ２６０の解像度とが一致することは稀であるため、描画部は、描画データをページメモリ２６０に転送する際、解像度の変換を行う。その際、描画部は、画像の品質を損なうことの無いように、ディザ処理やＲＯＰ（Ｒａｓｔｅｒ  ＯＰｒａｔｉｏｎ）処理を行う。換言すると、描画部は、描画データをページメモリ２６０に転送する際、ページメモリ２６０の記憶領域に応じて描画データを変換する処理を行う。このディザ処理及びＲＯＰ処理、即ち、ページメモリ２６０の記憶領域に応じて描画データを変換する処理については、公知の方法を用いることが可能であるため、詳細な説明を省略する。
【００６２】
描画部は、Ｓ６０６の描画処理を完了した場合、若しくは、Ｓ６０５の判断の結果、担当バンドの描画コマンドではなかった場合（Ｓ６０５／ＮＯ）、Ｓ６０１からの処理を繰り返す。他方、Ｓ６０４の確認の結果、描画キャッシュが生成されていない場合（Ｓ６０４／ＮＯ）、描画部は、読みだした描画コマンドの共通処理を実行し、生成した描画情報を描画キャッシュとして中間データ記憶部２３０に格納する。
【００６３】
尚、上記共通処理とは、図５において説明した各処理を示すが、より具体的には、上述したディザ処理及びＲＯＰ処理の直前までの処理である。上述したように、ディザ処理及びＲＯＰ処理は、描画情報をページメモリ２６０に入力する際に必要となる処理である。即ち、描画部は、共通処理として、ページメモリ２６０に入力するための情報を生成する段階まで処理を実行する。Ｓ６０７の処理が完了すると、Ｓ６０５の処理に移る。
【００６４】
このようにＳ６０１〜Ｓ６０７の処理が繰り返された結果、中間データ記憶部２３０に記憶されている全ての描画コマンドについて処理が完了し、読み出した描画コマンドがＤＬ終了コマンドであることが確認されると（Ｓ６０３／ＹＥＳ）、描画部は処理を終了する。このような動作により、本実施形態に係る描画部の処理が完了する。
【００６５】
次に、本実施形態の効果について説明する。以下の説明においては、図７に示すように、フィルＡ、イメージＢ、フィルＣを含む画像が２ページある場合を例とする。また、以下の説明においては、１ページをバンド０、バンド１、バンド２の３つに分割する場合を例とする。さらに、フィルＡはバンド１に、イメージＢ及びフィルＣはバンド２に含まれ、バンド０には図形が何も含まれない場合を例とする。尚、図７の例においては、ソフトウェァ描画部Ａ２５１がバンドＡに、ソフトウェァ描画部Ｂ２５２がバンドＢに、ソフトウェァ描画部Ｃ２５３がバンドＣに夫々対応している。
【００６６】
図８は、図７に示す画像における共通処理及び描画処理の処理タイミングを示す図であり、本実施形態に係る処理を採用した場合と従来技術に係る処理の場合との比較が示されている。
【００６７】
図８に示すように、まず、ソフトウェァ描画部Ａ２５１（以降、描画部Ａとする）は、１ページ目のフィルＡの描画コマンドを読み出し、フィルＡについて共通処理を実行する。また、ソフトウェァ描画部Ｂ２５２（以降、描画部Ｂとする）は、１ページ目のイメージＢの描画コマンドを読み出し、イメージＢについて共通処理を実行する。また、ソフトウェァ描画部Ｃ２５３（以降、描画部Ｃとする）は、１ページ目のフィルＣの描画コマンドを読み出し、フィルＣについて共通処理を実行する。
【００６８】
描画部Ａは、フィルＡについての共通処理を完了すると、フィルＡは担当バンドの図形ではないため、図６において説明したように、描画コマンドの読み出しに戻る。描画コマンドの読み出しにおいては、図４に説明したような描画コマンドの並び順に描画コマンドを参照する。１ページ目のイメージＢ及びフィルＣについては、参照中若しくは描画キャッシュ作成済みであるため、描画部Ａは、次に読み出した２ページ目のフィルＡの描画コマンドについて共通処理を実行する。
【００６９】
他方、描画部Ｂは、１ページ目のイメージＢについての共通処理を完了すると、イメージＢは担当バンドの図形ではないため、図６において説明したように、描画コマンドの読み出しに戻る。そして、未だ読み出していない描画コマンドを順番に読み出し、１ページ目のフィルＡの描画コマンドを読み出すと、既に描画部Ａによって描画キャッシュが生成されており、担当バンドの図形であるため、描画部Ｂは、フィルＡの描画処理を実行する。また、描画部Ｃは、１ページ目のフィルＣについての共通処理を完了すると、フィルＣは担当バンドの図形であるため、続いてフィルＣの描画処理を実行する。
【００７０】
描画部Ａが、２ページ目のフィルＡの共通処理を完了すると、上記と同様に、フィルＡは担当バンドの図形ではないため、描画コマンドの読み出しに戻り、２ページ目のイメージＢの描画コマンドを読み出す。そして、イメージＢの共通処理を実行する。
【００７１】
描画部Ｂは、フィルＡの描画処理を完了すると、図６のフローチャートに従って描画コマンドの読み出し処理に戻る。ここで、図８に示すように、既に２ページ目のフィルＡについては描画キャッシュが作成されており、フィルＡは描画部Ｂの担当バンドの図形である。しかしながら、描画部Ａ〜Ｃ全体において未だ１ページ目の描画処理が全て完了していないため、描画部Ｂは、２ページ目の描画処理を実行することができない。この判断は、図６のＳ６０５において、その描画コマンドが担当バンドの描画コマンドであることが確認された後、描画処理を開始する前に実行される。従って、このタイミングにおいて、描画部Ｂは、２ページ目のフィルＣの描画コマンドを読み出し、フィルＣの共通処理を実行する。
【００７２】
描画部Ｃは、１ページ目のフィルＣの描画処理を完了すると、図６のフローチャートに従って描画コマンドの読み出し処理に戻り、１ページ目のイメージＢの描画コマンドを読み出して描画処理を実行する。これにより、１ページ目の全描画処理が完了する。
【００７３】
描画部Ａは、２ページ目のイメージＢの共通処理を完了すると、上記と同様に描画コマンドの読み出し処理に戻る。上述したように描画部Ａが担当するバンド０には図形がなく、フィルＣについては描画部Ｂによって描画キャッシュが生成されるため、描画部Ａは、共通処理も描画処理も実行することなく、ＤＬ終了コマンドを読み出し、処理を終了する。これにより、以降の描画部Ａは遊休期間となる。
【００７４】
描画部Ｂは、２ページ目のフィルＣの共通処理を完了すると、上記と同様に図６のフローチャートに従って描画コマンドの読み出し処理に戻る。このタイミングでは、１ページ目の描画処理が全て完了しているため、描画部Ｂは、２ページ目のフィルＡについて、描画処理を実行する。フィルＡの描画処理が完了すると、描画部Ｂは、実行可能な処理を全て完了し、描画部Ａと同様にＤＬ終了コマンドを読み出すことにより処理を終了して遊休期間に入る。
【００７５】
描画部Ｃは、１ページ目のイメージＢの描画処理を完了すると、描画コマンドの読み出し処理に戻る。そして、２ページ目の描画コマンドを順番に読み出し、イメージＢが担当バンドの図形であるため、既に生成されている描画キャッシュに基づいて描画処理を実行する。その後、フィルＣの描画コマンドを読み出し、同様に描画処理を実行する。これにより、２ページ目についても全ての描画処理が完了し、図８に示すように全ての処理が完了する。
【００７６】
次に、本実施形態に対する比較例として、従来技術に係る処理を適用した場合のタイミングについて説明する。図８に示すように、従来技術の場合、本実施形態のように共通処理と描画処理とが分離されておらず、夫々の描画部が、担当バンドに含まれる図形の描画コマンドを読み出して上記共通処理及び描画処理に相当する処理を描画処理として実行する。従って、担当するバンドに図形が無い描画部Ａは、実行すべき処理が無く、完全に遊休期間となる。
【００７７】
描画部Ｂ及び描画部Ｃは、夫々フィルＡ、イメージＢについて描画処理を実行する。その後、描画部ＣはフィルＣについて描画処理を実行する。他方、描画部Ｂは、フィルＣについての描画処理が完了するまで２ページ目の描画処理を開始できないため、フィルＡの描画処理を完了した後、描画部ＣがフィルＣの描画処理を実行している間、遊休期間となる。
【００７８】
描画部ＣがフィルＣの描画処理を完了すると、１ページ目と同様に２ページ目の処理が実行され、全ての処理が完了する。このように、従来技術に係る処理を適用した場合、描画部Ａ及び描画部Ｂにおいて多くの遊休期間が発生し、特に担当するバンドに図形が含まれていない描画部Ａについては、完全に遊休期間となってしまうため、非効率な処理となる。また、その結果、図８に示すように、本実施形態に係る処理を適用した場合よりも、全ての処理が完了するタイミングが遅くなってしまう。
【００７９】
これに対して、本実施形態に係る処理の場合、共通処理と描画処理とを分割して別々の処理とし、各描画部は、自身が関連付けられた分割領域、即ち担当バンドに表示される情報であるか否かに関わらず、共通処理を実行する。共通処理においては、生成された情報を描画キャッシュとして中間データ記憶部２３０が保持することにより、担当バンド以外のバンドの図形であっても、共通処理までは実行することが可能となる。これにより、各バンドに含まれる図形を描画するために要する処理の負荷が異なる場合であっても、並行して動作する各描画部の処理負荷を調整することが可能となる。その結果、図８に示すように、各描画部において発生する遊休期間を短縮し、描画処理部２５０において実行すべき処理が完了するまでのタイミングを早めることが可能となる。
【００８０】
尚、図８においては、図示の簡略化のため、夫々の処理に要する期間を同一なものとして示しているが、共通処理と描画処理の処理期間や、共通処理であっても処理する対象の図形が異なる場合は、その処理内容によって処理期間が異なる可能性がある。そのような場合であっても、本実施形態に係る処理方法を適用することにより、描画部Ａにも共通処理を実行させて遊休期間を大幅に短縮させることや、描画部Ｂが１ページ目の描画完了まで待機する遊休期間を短縮することが可能であるため、上述した効果を得ることができる。
【００８１】
次に、上述した共通処理の具体例について説明する。図９（ａ）〜（ｅ）は、描画部による共通処理の例として、ベクターデータであるフィルＡやフィルＣのスキャンライン変換処理の各段階を示す図である。ベクターデータのベジエ曲線は、端点及び制御点の座標データによって構成されている。図９（ａ）は、ベジエ曲線を構成する点として端点Ｐ０、Ｐ３及び制御点Ｐ１、Ｐ２を有する場合のプロット例である。
【００８２】
図９（ｂ）は、図９（ａ）に示すような端点及び制御点について曲線のパスを描画した図である。端点及び制御点から曲線のパスを描画する方法は公知の方法であり詳細な説明を省略するが、隣接する２点を結ぶ線分を任意の割合で分割して点を描画し、その点を結ぶ線分を更に同様の割合で分割する点を求めることによってパス上の１点が求められる。そして、上記任意の割合を変化させて同様の処理を繰り返すことにより曲線のパスを示す点が描画される。図９（ｂ）に示すように曲線のパスを描画する処理がスキャンライン変換の第１段階であるパス作成処理である。
【００８３】
パス作成処理が完了すると、次に、図９（ｃ）に示すように、ベクターデータのパスからビットのパスへの変換処理が実行される。図９（ｃ）に示す処理がスキャンライン変換の第２段階であるビットパス変換処理である。
【００８４】
ビットパス変換処理が完了すると、次に、図９（ｄ）に示すように、パスで囲まれる画素の塗りつぶし処理が実行される。ここでは、元のベクターデータのＦＩＬＬ設定に基づき、塗りつぶしの要否が判断され、塗りつぶしを行う設定になっていれば、図９（ｄ）に示すようにパス内部が塗りつぶされた画像が生成される。図９（ｄ）に示す処理が、スキャンライン変換の第３段階であるＦＩＬＬ処理である。
【００８５】
ＦＩＬＬ処理が完了すると、図９（ｅ）に示すように、設定されているクリップに基づいて画像の切り出し処理が実行される。本実施形態においては、フィルＡ、フィルＣ及びイメージＢは、夫々のバンド内に収まっているが、図形とバンドの配置関係によっては、複数のバンドをまたいで図形が配置される場合がある。このような場合に切り出し処理が実行される。
【００８６】
尚、中間データ記憶部２３０へ格納される描画キャッシュは、図９（ｄ）の状態、即ちクリッピングされる前の描画データである。これにより、複数のバンドをまたいで配置される図形においては、何れか１つの描画部において共通処理を実行して描画キャッシュを生成することにより、他のバンドにおける描画処理においてもその描画キャッシュを用いて処理を行うことが可能となる。
【００８７】
図１０（ａ）〜（ｄ）は、描画部による共通処理の例として、イメージＢについての処理の各段階を示す図である。イメージデータは、一般的に図１０（ａ）に示すようにＲＧＢ形式のデータとして構成されている。図１０（ｂ）は、図１０（ａ）に示すＲＧＢ形式のデータに対してカラーマッチング処理を施した状態を示す図である。
【００８８】
カラーマッチング処理が完了すると、次に、図１０（ｃ）に示すように、ＲＧＢ形式からＣＭＹＫ形式への変換処理が実行される。ＣＭＹＫへの変換処理により、ＲＧＢ形式のイメージデータは、ＣＭＹＫ夫々のカラーデータに変換される。ＣＭＹＫ変換処理が完了すると、次に、図１０（ｄ）に示すように、ＣＭＹＫ各値の総量規制処理が実行される。これにより、イメージデータの共通処理が完了する。
【００８９】
以上説明したように、本実施形態に係る描画処理部２５０に含まれる各描画部の処理により、画像形成出力を実行するための描画情報を生成する描画処理を複数並列して実行可能な画像形成装置において、描画処理の処理効率を向上することができる。
【００９０】
尚、上記実施形態においては、図７に示すように、１ページが３つのバンドに分割されており、ソフトウェァ描画部Ａ２５１〜ソフトウェァ描画部Ｃ２５３が、１つずつバンドを担当する場合を例として説明した。これは一例であり、１ページを２つのバンドに分割しても４つ以上のバンドに分割しても良く、それに応じて描画処理部２５０内において動作する描画部の数も変更することができる。また、１ページを分割するバンドの数と動作する描画部の数とを一致させる場合の他、例えばバンドの数よりも多くの描画部を動作させても良い。
【００９１】
また、上記実施形態においては、描画情報をページメモリ２６０に入力する際に実行されるディザ処理及びＲＯＰ処理の直前までの処理を共通処理とする場合を例として説明した。換言すると、共通処理とは、ディスプレイリストに基づき、出力すべき画像を構成する各画素の情報によって構成された画像情報、典型的には、ビットマップの情報を生成する処理である。これにより、図７、図８の例の場合における描画部Ａ、描画部Ｂが実行可能な処理の量を可能な限り増やし、並行して動作する描画部の処理の均一化を図ることができる。
【００９２】
しかしながら、このような態様に限らず、共通処理として実行される処理の内容をより限定しても良い。例えば描画キャッシュを生成する前に実行するよりも、上記ディザ処理やＲＯＰ処理及びページメモリ２６０への入力の前に連続して実行する方が効率的な処理等は共通処理とせずに連続して実行することにより、処理効率を向上することができる。
【００９３】
また、上記実施形態においては、図６のＳ６０２において、描画コマンドの順番に従って描画コマンドを読み出す場合を例として説明したが、他の態様を採用することもできる。上述したように、各ページの描画処理が完了しなければ、次ページの描画処理を実行することができない。また、描画処理は、その図形が含まれるバンドを担当している描画部でなければ実行することができない。従って、遊休期間を低減して効率的な処理を実現するために、各描画部は、Ｓ６０２において描画コマンドを読み出す際、担当バンドの描画コマンドを優先的に読み出すことが好ましい。
【００９４】
更に、各描画部は、担当バンドの描画コマンドが２つ以上ある場合、既に描画キャッシュが生成されている描画コマンドを優先的に読み出し、描画処理を実行することが好ましい。これにより、上記描画処理を実行している間に、他の描画部が、未だ描画キャッシュの生成されていない描画コマンドについて共通処理を実行して描画キャッシュを生成することが可能となり、以降の処理タイミングを早めることができる。
【００９５】
他方、各描画部は、担当バンドの描画コマンドが無い場合、上述したように、担当バンド以外の他のバンドの描画コマンドについて共通処理を実行することになるが、この場合、なるべく多くの描画コマンドがあるバンドの描画コマンドについて共通処理を実行することが好ましい。これについて以下に説明する。
【００９６】
図８の例においては、描画部ＡがフィルＡの共通処理を実行し、描画部ＢがイメージＢの共通処理を実行し、その後描画部Ｂは、描画部Ａによって生成されて中間データ記憶部２３０に記憶されたフィルＡの描画キャッシュに基づいて描画処理を実行する。この場合、描画部Ｂは、イメージＢの共通処理を実行した後、フィルＡの描画処理を実行するまでに、フィルＡの描画コマンドを読み出す必要がある。
【００９７】
これに対して、描画部Ａが、イメージＢ若しくはフィルＣの共通処理を実行し、描画部ＢがフィルＡの共通処理を実行する場合、描画部ＢはフィルＡの共通処理を実行した後、そのまま描画処理を実行することが可能であり、上記描画コマンドの読み出し処理を省略することができる。このような態様は、描画部Ａが描画コマンドを読み出す際、なるべく多くの描画コマンドがあるバンドの描画コマンド、即ち、図７に示すバンド２の描画コマンドであるイメージＢ若しくはフィルＣの描画コマンドを読み出して共通処理を実行すると共に、各描画部が、担当バンドの描画コマンドを優先的に読み出すことにより、実現可能である。
【符号の説明】
【００９８】
１  画像形成装置、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  エンジン、
５０  ＨＤＤ、
６０  Ｉ／Ｆ、
７０  ＬＣＤ、
８０  操作部、
９０  バス、
１００  コントローラ、
１０１  主制御部、
１０２  エンジン制御部、
１０３  入出力制御部、
１０４  画像処理部、
１０５  操作表示制御部、
１１０  ＡＤＦ、
１２０  スキャナユニット、
１３０  排紙トレイ、
１４０  ディスプレイパネル、
１５０  給紙テーブル、
１６０  プリントエンジン、
１７０  排紙トレイ、
１８０  ネットワークＩ／Ｆ、
２１０  ＰＤＬ解析部、
２２０  ＤＬ処理部、
２３０  中間データ記憶部、
２５１  描画処理部、
２５１  ソフトウェァ描画部Ａ、
２５２  ソフトウェァ描画部Ｂ、
２５３  ソフトウェア描画部Ｃ、
２６０  ページメモリ、
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２００７−８７１３７号公報
【図１】
2011083914.tif 000003
【図２】
2011083914.tif 000004
【図３】
2011083914.tif 000005
【図４】
2011083914.tif 000006
【図５】
2011083914.tif 000007
【図６】
2011083914.tif 000008
【図７】
2011083914.tif 000009
【図８】
2011083914.tif 000010
【図９】
2011083914.tif 000011
【図１０】
2011083914.tif 000012