(57)【要約】【課題】異なる複数のモジュールに処理を分散する場合において、処理の並列性を高めること。【解決手段】画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置であって、画像形成出力対象の画像において描画すべき図形毎に情報がまとめられた中間データを生成する中間データ生成部３０１と、  中間データに基づいて画像形成出力対象の画像を構成する画素毎の情報である画素情報を生成する第１Ｈ／Ｗ描画処理部４０１と、生成された中間データを、画像形成出力を実行する画像形成部に合わせて変換する第２Ｈ／Ｗ描画処理部４０２とを含むことを特徴とする。【選択図】図３
2016032919.tif 000002
【特許請求の範囲】
【請求項１】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置であって、
画像形成出力対象の画像において描画すべき図形毎に情報がまとめられた図形情報を取得する図形情報取得部と、
前記図形情報に基づいて画像形成出力対象の画像を構成する画素毎の情報である画素情報を生成する画素情報生成部と、
生成された前記画素情報を、画像形成出力を実行する画像形成部に合わせて変換する画素情報変換部とを含み、
前記画素情報生成部と前記画素情報変換部とが夫々異なる処理手段によって実現されることを特徴とする画像形成装置。
【請求項２】
前記複数の処理手段の１つとして、前記画像処理をハードウェアにより実行するハードウェア処理部を含み、
少なくとも前記画素情報変換部がハードウェア処理部によって実現されることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記複数の処理手段として、前記画像処理をハードウェアにより実行するハードウェア処理部を複数含み、
前記画素情報生成部と前記画素情報変換部とが夫々異なるハードウェア処理部によって実現されることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記画素情報変換部は、前記画素情報を構成する画素毎の情報を、画像形成出力対象の画像を構成する画素毎に透明度が設定された透明度情報に基づいて変換する処理を実行することを特徴とする請求項１または２に記載の画像形成装置。
【請求項５】
前記画素情報生成部は、画像形成出力対象の画像を構成する画素が多階調で表現された画素情報を生成し、
前記画素情報変換部は、多階調で表現された画素情報の階調数を下げる少値変換処理を行うことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記画素情報生成部は、画像形成出力対象の画像を構成する画素が加色法で表現された画素情報を生成し、
前記画素情報変換部は、加色法で表現された画素情報を減色法で表現された形式に変換することを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御方法であって、
画像形成出力対象の画像において描画すべき図形毎に情報がまとめられた図形情報を取得し、
前記複数の処理手段の１つが、前記図形情報に基づいて画像形成出力対象の画像を構成する画素毎の情報である画素情報を生成し、
前記複数の処理手段の他の１つが、生成された前記画素情報を、画像形成出力を実行する画像形成部に合わせて変換することを特徴とする画像形成装置の制御方法。
【請求項８】
画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置の制御プログラムであって、
画像形成出力対象の画像において描画すべき図形毎に情報がまとめられた図形情報を取得するステップと、
前記複数の処理手段の１つが、前記図形情報に基づいて画像形成出力対象の画像を構成する画素毎の情報である画素情報を生成するステップと、
前記複数の処理手段の他の１つが、生成された前記画素情報を、画像形成出力を実行する画像形成部に合わせて変換するステップとを情報処理装置に実行させることを特徴とする画像形成装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法及び制御プログラムに関し、特に、画像形成出力の画像の処理の効率化に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された情報の出力に用いるプリンタにおいては、入力された画像情報に基づいてプリントエンジンが画像形成出力を実行するための描画情報を生成する画像処理（以降、描画処理とする）が行われる。この画像処理は、専用のハードウェアによって実行される他、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算手段がソフトウェアに従って動作することにより実行される。
【０００４】
このようなハードウェア及びソフトウェアによって描画処理可能な画像形成装置において、双方の処理を効率化して出力の高速化を図る方法が提案されている（例えば、特許文献１参照）。特許文献１に開示された技術においては、描画手段としてハードウェアである図形描画回路とソフトウェアである図形描画部とが設けられている。そして、ディスプレイリスト作成部が、いずれの描画手段に受け渡すかを判断した上でディスプレイリストを作成する。このような処理により、ハードウェア及びソフトウェアを効率的に動作させる。
【０００５】
上述した画像処理には、様々な処理が含まれる。例えば、プリンタドライバによって生成された印刷ジョブに含まれる画像の情報を解釈して情報形式を変換するパース処理や、そのように変換された情報に基づいて画像を構成する各画素の情報を生成するレンダリング処理、各画素の情報の表現形式を変換する形式変換処理や色味の調整処理等である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように複数の処理を含む画像処理をより高速化するため、複数のモジュールに処理を分散することが行われる。複数のモジュールとは、上述したソフトウェア及びハードウェアによって夫々実現されるモジュールや、複数のハードウェアによって実現されるモジュール若しくはマルチコアのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって構成される複数のソフトウェアモジュールである。そして、画像形成出力における画像処理のように複数ページを順番に処理する場合、夫々のモジュールで順番に処理を行うような処理の分散が行われる。
【０００７】
例えば、画像処理としてＡ，Ｂ、Ｃ、Ｄの４つの処理が必要な場合には、Ａ、Ｂをソフトウェアで行い、Ｃ、Ｄをハードウェアで行うようなことが行われる。また、ハードウェアが複数設けられる場合には、Ａをソフトウェアで行い、Ｂを１つ目のハードウェアで行い、Ｃ、Ｄを２つめのハードウェアで行うようなことが行われる。
【０００８】
このような処理の分散を効果的に行って処理時間を短縮するためには、夫々のモジュールが担当する処理に要する時間を合わせ、処理の並列性を高める必要がある。換言すると、前段の処理が未完了であるために後段の処理を開始することが出来ないといった処理待ちの状態を可能な限り少なくすることが求められる。
【０００９】
本発明は、上記実情を考慮してなされたものであり、異なる複数のモジュールに処理を分散する場合において、処理の並列性を高めることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理を複数の処理手段によって実行可能な画像形成装置であって、画像形成出力対象の画像において描画すべき図形毎に情報がまとめられた図形情報を取得する図形情報取得部と、前記図形情報に基づいて画像形成出力対象の画像を構成する画素毎の情報である画素情報を生成する画素情報生成部と、生成された前記画素情報を、画像形成出力を実行する画像形成部に合わせて変換する画素情報変換部とを含み、前記画素情報生成部と前記画素情報変換部とが夫々異なる処理手段によって実現されることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、異なる複数のモジュールに処理を分散する場合において、処理の並列性を高めることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図３】本発明の実施形態に係る画像処理部に含まれる機能を示すブロック図である。
【図４】本発明の実施形態に係る中間データの例を示す図である。
【図５】本発明の実施形態に係る中間描画データの例を示す図である。
【図６】本発明の実施形態に係る描画データの例を示す図である。
【図７】本発明の他の実施形態に係る画像処理の内容及び処理の分散態様を示す図である。
【図８】処理の並列化が不完全である場合の弊害を示す図である。
【図９】本発明の実施形態に係る複数の処理の処理主体を示す図である。
【図１０】ハードウェアによるパイプライン処理を示す図である。
【図１１】本発明の実施形態に係る複数の処理の処理主体を示す図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）としての画像形成装置を例として説明する。本実施形態に係る画像形成装置は、画像形成出力を実行する際に受信した印刷ジョブに基づいて画像処理を実行する際の、処理の分散態様に特徴を有する。
【００１４】
図１は、本実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバ等の情報処理装置と同様の構成を有する。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス９０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０、操作部７０及び専用デバイス８０が接続されている。
【００１５】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。
【００１６】
Ｉ／Ｆ５０は、バス９０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースであり、タッチパネルやハードキー等によって構成される。
【００１７】
専用デバイス８０は、画像形成装置１において、専用の機能を実現するためのハードウェアであり、画像形成出力対象の用紙を搬送する搬送機構や、紙面上に画像形成出力を実行するプロッタ装置である。また、高速に画像処理を行うための専用の演算装置も含まれる。このような演算装置は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）として構成される。
【００１８】
このようなハードウェア構成において、ＲＯＭ３０に格納されているプログラムや、ＨＤＤ４０若しくは図示しない光学ディスク等の記録媒体からＲＡＭ２０に読み出されたプログラムに従ってＣＰＵ１０が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００１９】
次に、図２を参照して、本実施形態に係る画像形成装置１の機能構成について説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１１０、スキャナユニット１２０、排紙トレイ１３０、ディスプレイパネル１４０、給紙テーブル１５０、プリントエンジン１６０、排紙トレイ１７０及びネットワークＩ／Ｆ１８０を有する。
【００２０】
また、コントローラ１００は、主制御部１０１、エンジン制御部１０２、入出力制御部１０３、画像処理部１０４及び操作表示制御部１０５を有する。図２に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１２０、プリントエンジン１６０を有する複合機として構成されている。尚、図２においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
【００２１】
ディスプレイパネル１４０は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ネットワークＩ／Ｆ１８０は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
【００２２】
コントローラ１００は、上述したようにソフトウェアとハードウェアとの組み合わせによって構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００２３】
主制御部１０１は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１０２は、プリントエンジン１６０やスキャナユニット１２０等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部１０３は、ネットワークＩ／Ｆ１８０を介して入力される信号や命令を主制御部１０１に入力する。また、主制御部１０１は、入出力制御部１０３を制御し、ネットワークＩ／Ｆ１８０を介して他の機器にアクセスする。
【００２４】
画像処理部１０４は、主制御部１０１の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画データを生成する。この描画データとは、画像形成部であるプリントエンジン１６０が画像形成動作において形成すべき画像を描画するための情報であり、画像形成出力対象の画像が、画素毎の情報として表現された画素情報、即ちビットマップデータである。
【００２５】
また、印刷ジョブに含まれる印刷情報とは、ＰＣ等の情報処理装置にインストールされたプリンタドライバによって画像形成装置１が認識可能な形式に変換された情報であり、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によって記述された情報である。換言すると、上記印刷情報とは、画像形成出力すべきページの情報が記述されたページ情報である。
【００２６】
本実施形態においては、画像処理部１０４による上記描画情報の生成処理が要旨であり、より具体的には、画像形成装置１のハードウェア構成を効率的に動作させるための処理の割り振りが要旨である。画像処理部１０４の機能については、後に詳述する。操作表示制御部１０５は、ディスプレイパネル１４０に情報表示を行い若しくはディスプレイパネル１４０を介して入力された情報を主制御部１０１に通知する。
【００２７】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１０３がネットワークＩ／Ｆ１８０を介して印刷ジョブを受信する。入出力制御部１０３は、受信した印刷ジョブを主制御部１０１に転送する。主制御部１０１は、印刷ジョブを受信すると、画像処理部１０４を制御して、印刷ジョブに含まれる印刷情報に基づいて描画データを生成させる。
【００２８】
画像処理部１０４によって描画データが生成されると、エンジン制御部１０２は、生成された描画データに基づき、給紙テーブル１５０から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン１６０が画像形成部として機能する。プリントエンジン１６０の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１６０によって画像形成が施された文書は排紙トレイ１７０に排紙される。
【００２９】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１０２がスキャナユニット１２０から受信した撮像情報若しくは画像処理部１０４が擦情報に基づいて生成した画像情報に基づき、画像処理部１０４が描画データを生成する。その描画データに基づいてプリンタ動作の場合と同様に、エンジン制御部１０２がプリントエンジン１６０を駆動する。
【００３０】
このような画像形成装置１において、本実施形態に係る要旨は、画像処理部１０４による画像処理にある。以下、本実施形態に係る画像処理部１０４の機能及び動作について説明する。図３は、本実施形態に係る画像処理部１０４に含まれる機能を示すブロック図である。図３に示すように、本実施形態に係る画像処理部１０４は、ＰＤＬアプリケーション３００及びＨ／Ｗアクセラレータ４００を含む。
【００３１】
ＰＤＬアプリケーション３００は、ＣＰＵ１０がソフトウェア・プログラム従って演算を行うことにより構成されるソフトウェアモジュールである。図３に示すように、ＰＤＬアプリケーション３００は、中間データ生成部３０１及び描画コアモジュール３１０を含む。中間データ生成部３０１は、ＰＤＬで記述された印刷情報を取得し、描画コアモジュールやＨ／Ｗアクセラレータ４００が処理可能な形式のデータである中間データに変換する。
【００３２】
本実施形態に係るＰＤＬは、例えば、Ｐｏｓｔｓｃｒｉｐｔ、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）、ＲＰＣＳ（Ｒｅｆｉｎｅｄ  Ｐｒｉｎｔｉｎｇ  Ｃｏｍｍａｎｄ  Ｓｔｒｅａｍ）等の形式が用いられる。中間データ生成部３０１は、それら様々な形式によって入力される可能性のある印刷情報を所定の形式の中間データに変換する。この中間データを生成する処理は、パース処理と呼ばれ、中間データ生成部３０１はパーサーと呼ばれる。
【００３３】
図４は、本実施形態に係る中間データが含む情報の例を示す図である。本実施形態に係る中間データは、画像形成出力対象の画像に含まれるオブジェクト毎に情報がまとめられた情報である。画像形成出力ら衣装の画像に複数のオブジェクトが含まれる場合、オブジェクト毎に中間データが生成される。換言すると、中間データは、画像中に描画される図形毎に情報がまとめられた図形情報である。従って、中間データ生成部３０１が図形情報取得部として機能する。
【００３４】
図４に示すように、本実施形態に係る中間データにおいては、“オブジェクトＩＤ”、“オブジェクト描画位置”及び“オブジェクト描画内容”の情報を含む。“オブジェクトＩＤ”は、夫々のオブジェクトを識別するための識別子である。“オブジェクト描画位置”は、出力対象の画像中においてそのオブジェクトが描画される位置を座標で示す情報である。“オブジェクト描画内容”は、そのオブジェクトの内容を示す情報であり、例えばテキスト情報の場合、「ｔｅｘｔ・・・」のように描画されるべきテキストを示す情報である。
【００３５】
描画コアモジュール３１０は、中間データ生成部３０１が生成した中間データを取得し、プリントエンジン１６０が画像形成出力を実行するための描画データを生成する。図３に示すように、描画コアモジュール３１０は、描画モジュールＩ／Ｆ３１１、中間データ保存処理部３１２、中間データ記憶部３１３、ハードウェア制御部３１４、ソフトウェア描画処理部３１５、中間バンドメモリ３１６及びバンドメモリ３１７を含む。
【００３６】
描画モジュールＩ／Ｆ３１１は、描画コアモジュール３１０が外部から情報を取得するためのインタフェースであり、中間データ生成部３０１が生成した中間データを取得する。中間データ保存処理部３１２は、描画モジュールＩ／Ｆ３１１が取得した中間データを中間データ記憶部３１３に記憶させる。中間データ記憶部３１３は、ＲＡＭ２０やＨＤＤ４０において確保される記憶領域である。
【００３７】
ハードウェア制御部３１４は、中間データ保存処理部３１２による中間データの保存処理に応じて、中間データ記憶部３１３から中間データを読み出してＨ／Ｗアクセラレータ４００に入力することにより、Ｈ／Ｗアクセラレータ４００に画像処理を実行させる。ソフトウェア描画処理部３１５は、ソフトウェアモジュールとして構成される描画処理部である。
【００３８】
中間バンドメモリ３１６は、中間データから描画データが生成される中間のデータが記憶される記憶領域であり、中間データ記憶部３１３と同様にＲＡＭ２０やＨＤＤ４０において確保される記憶領域である。本実施形態に係る画像形成装置１においては、中間データから描画データを生成する際の処理を２工程に分割する。中間バンドメモリ３１６は、その１工程目の処理結果を記憶する。
【００３９】
バンドメモリ３１７は、生成された描画データ、即ち上述した２工程の２工程目の処理結果を記憶する記憶領域である。本実施形態に係る描画コアモジュール３１０は、“バンド”と呼ばれる画像の領域毎に描画データを生成する。“バンド”とは、出力対象の画像を副走査方向に複数に分割した夫々の領域である。
【００４０】
Ｈ／Ｗアクセラレータ４００は、画像処理をハードウェアによって実行するハードウェア処理部を含むハードウェアモジュールである。図３に示すように、本実施形態に係るＨ／Ｗアクセラレータ４００は、異なる複数のハードウェア処理部として、第１Ｈ／Ｗ描画処理部４０１及び第２Ｈ／Ｗ描画処理部４０２を含む。本実施形態に係る画像形成装置１においては、第１Ｈ／Ｗ描画処理部４０１が上述した２工程の画像処理の１工程目を実行し、第２Ｈ／Ｗ描画処理部４０２が２工程目を実行する。
【００４１】
ここで、本実施形態に係る第１工程目及び第２工程目夫々の画像処理によって生成される情報について説明する。図５は、第１工程目の画像処理によって生成される情報の例を示す図である。図５に示すように、第１工程目の画像処理により、出力対象の画像を構成する各画素がＲＧＢ（Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅ）、即ち加色法によって表現されたカラープレーンの情報に加えて、ディスティネーション透過プレーンの情報が生成される。
【００４２】
図５のカラープレーンの情報においては、各画素のピクセル色値がＲＧＢ形式で示され、画素の並び順に記憶媒体に保存される。また、図５の“Ｐ”はパッティングバイトであり、１画素がＣＭＹＫ（Ｃｙａｎ，Ｍａｇｅｎｔａ，Ｙｅｌｌｏｗ，ＫｅｙＰｌａｔｅ）の４色で表現される場合を考慮して１画素を４色分のデータとするために設けられる。尚、図５に示すカラープレーンの各画素の値は、例えば８ｂｉｔで表現される多値、即ち多階調の色情報である。
【００４３】
ディスティネーション透過プレーンは、半透明描画処理に用いる各画素の半透明値を表す値が、画素の並び順に記憶媒体に保存された情報である。即ち、ディスティネーション透過プレーンの情報が透明度情報として用いられる。図５に示す情報が、中間バンドデータとして中間バンドメモリ３１６に記憶される。
【００４４】
第１工程目の画像処理を行う第１Ｈ／Ｗ描画処理部４０１は、バンド毎にハードウェア制御部３１４から図４に示すような中間データを取得する。そして、“オブジェクト描画位置”及び“オブジェクト描画内容”の情報に基づいてオブジェクトを構成する画素の情報をＲＧＢ形式で生成し、処理対象のバンドの画像空間に応じて確保された画素毎のカラープレーンの記憶領域に画素の情報を格納する。このような処理、即ち、中間データに基づいて画素データを生成する処理は、レンダリング処理と呼ばれる。
【００４５】
また、第１Ｈ／Ｗ描画処理部４０１が処理を開始する際、処理対象のバンドの画像空間に応じて確保された画素毎のディスティネーション透過プレーンの各画素の値は、完全に透明であることを示す値になっている。第１Ｈ／Ｗ描画処理部４０１は、ディスティネーション透過プレーンの記憶領域のうち、オブジェクトの一部として画素の情報を格納した画素に対応する記憶領域の値（以降、「透過値」とする）を更新する。更新後の透過値は、中間データにおいて指定された値となる。このような処理により、第１Ｈ／Ｗ描画処理部４０１によって図５に示す情報が生成される。即ち、第１Ｈ／Ｗ描画処理部４０１が画素情報生成部として機能する。
【００４６】
尚、中間データに含まれる情報の形式によっては、第１Ｈ／Ｗ描画処理部４０１ではなくソフトウェア描画処理部３１５が第１工程目の画像処理を行う。これは、複雑な情報形式の中間データにまでハードウェアを対応させることは、ハードウェアやそれを制御するソフトウェアの複雑化を招き、非効率だからである。
【００４７】
ソフトウェア描画処理部３１５が第１工程目の画像処理を実行する場合も、中間バンドメモリ３１６に図５に示すデータが格納されるが、中間バンドメモリ３１６とは別個の記憶領域を設けても良い。
【００４８】
図６は、第２工程目の画像処理によって生成される情報の例を示す図である。図６に示すように、第２工程目の画像処理により、出力対象の画像を構成する各画素がＣＭＹＫ、即ち減色法によって表現されたカラープレーンの情報が生成される。
【００４９】
ここで、図６に示すカラープレーンの各画素の値は、１ｂｉｔで表現される二値、若しくは２ｂｉｔで表現される少値の色情報である。即ち、第２Ｈ／Ｗ描画処理部４０２は、図５に示すカラープレーンの情報をＣＭＹＫ形式に変換する処理に加えて、多階調のカラープレーンの情報の階調数を下げる少値変換処理を行う。尚、図６に示すカラープレーンの情報は各画素１ｂｉｔの二値情報であるため、本実施形態に係る少値変換処理は二値化処理である。
【００５０】
上述した二値の色情報への変換処理は、ハーフトーニング処理と呼ばれる。このようなＣＭＹＫ形式への変換処理と多値情報から二値情報への変換処理は、画像の色に関する処理であり、総じて色処理と呼ばれる。
【００５１】
また、第２Ｈ／Ｗ描画処理部４０２は、ディスティネーション透過プレーンの値、即ち透過値をカラープレーンの値に反映する透過値反映処理を行う。透過値反映処理においては、各画素の透過値に基づいてカラープレーンの値が更新される。この際、上述したレンダリング処理によって更新されなかった画素は、即ち無地領域の画素であり、無地であることを示す画素値に更新される。この処理は、オブジェクトが描画された状態の画像と、用紙の無地部分とを合成する処理とも言える。
【００５２】
このように、第２Ｈ／Ｗ描画処理部４０２は、色処理として、画素情報である中間バンドデータを、プリントエンジン１６０が対応している情報の形式に合わせて変換して描画データを生成する。即ち、第２Ｈ／Ｗ描画処理部４０２が画素情報変換部として機能する。本実施形態に係る画像形成装置１においては、この用紙の透過値反映処理を第２Ｈ／Ｗ描画処理部４０２において実行することが特徴となる。以下、本実施形態に係る画像処理部１０４における処理の割り振りについて説明する。
【００５３】
図７（ａ）は、従来技術に係る画像処理の割り振り態様を示す図であり、図７（ｂ）は、本実施形態に係る画像処理の割り振り態様を示す図である。従来技術においては、図７（ａ）に示すように、中間データ生成部３０１がパース処理を行い、第１Ｈ／Ｗ描画処理部４０１がレンダリング及び透過値反映処理を行い、第２Ｈ／Ｗ描画処理部４０２が色処理を行う。
【００５４】
レンダリング処理及び透過値反映処理は、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式等の画像の情報形式に応じて必ず必要となる処理である。これに対して、色処理は、プリントエンジン１６０の仕様や装置個体の調整に応じて変化する処理である。従って、図７（ａ）に示すような処理の割り振り態様は、一般的に必要となる処理と、装置独自に必要となる処理とで、処理を実行するモジュールを分けるという観点で行われている。
【００５５】
これに対して、本実施形態に係る画像形成装置１においては、図７（ｂ）に示すように、中間データ生成部３０１がパース処理を行い、第１Ｈ／Ｗ描画処理部４０１がレンダリング処理を行い、第２Ｈ／Ｗ描画処理部４０２が色処理及び透過値反映処理を行う。換言すると、本実施形態においては、色処理の一環として透過値反映処理が実行される。図７（ｂ）に示す本実施形態に係る処理の割り振りは、参照する情報の差異に基づいている。
【００５６】
レンダリング処理における入力情報、即ち、第１Ｈ／Ｗ描画処理部４０１が参照する情報は、図４において説明したように、画像に含まれるオブジェクト毎に情報がまとめられた情報である。他方、色処理における入力情報、即ち第２Ｈ／Ｗ描画処理部４０２が参照する情報は、図５において説明したように、画像を構成する画素毎の情報である。
【００５７】
そして、透過値反映処理における入力情報は、図５において説明したディスティネーション透過プレーンの情報であり、これも画像を構成する画素毎の情報である。即ち、透過値反映処理における入力情報の形式は、色処理における入力情報の形式に近い。
【００５８】
従って、本実施形態においては、一連の画像処理に含まれる夫々の処理における入力情報の形式に応じて処理を実行するモジュールを分ける。具体的には、図４に示すように、画像中に含まれる図形毎に情報がまとめられた中間データを参照する処理と、図５、図６に示すように、画像を構成する画素毎の情報である中間バンドデータを参照する処理とで、処理を実行するモジュールを分ける。これにより、夫々の処理モジュールの処理効率を向上し、処理の並列性を高めることが本実施形態に係る処理の振り分けの意義である。
【００５９】
透過値反映処理を第２Ｈ／Ｗ描画処理部４０２において実行することとした場合の第２Ｈ／Ｗ描画処理部４０２における処理時間の増加の概念について図８を参照して説明する。図８は、ハードウェアによるパイプライン処理を概念的に示す図である。
【００６０】
図８においては、本実施形態に係る第２Ｈ／Ｗ描画処理部４０２を例とし、ＣＭＹＫ変換処理、ハーフトーニング処理及び透過値反映処理が実行される場合について説明する。図８において、例えば“Ｐ１−１”は１ページ目の１バンド目の処理を示す。つまり、図８においては、夫々のバンド毎に夫々の処理が実行され、後段の処理にデータが受け渡されていく態様を示している。
【００６１】
図７（ａ）に示す処理の割り振り態様の場合、全てのバンドについて“ハーフトーニング”の処理が完了した時点で処理が完了する。これに対して、図７（ｂ）に示す処理の割り振り態様の場合、ハーフトーニング処理の後に透過値反映処理が実行されるため、更に処理が続くこととなる。
【００６２】
しかしながら、ハードウェアによるパイプライン処理により夫々のバンドデータ毎に処理が実行される場合、図８に示すように、全てのバンドについてハーフトーニング処理が完了した段階で、残っている透過値反映処理は、最後に処理が完了したバンドについての処理のみである。従って、透過値反映処理を第２Ｈ／Ｗ描画処理部４０２において実行することとしても、第２Ｈ／Ｗ描画処理部４０２による処理に要する時間を大幅に増加させることなく、増加時間を図８に示すようにバンド１つ分のデータの処理時間に抑えることが出来る。
【００６３】
尚、図８に示すように、１つのハードウェアにおいて複数の処理を実行させる場合、夫々の処理が順番に次段の回路に受け渡されるため、夫々の処理を担う回路は同期して動作する。これに対して、上述した第１工程目の画像処理と第２工程目の画像処理とは、中間バンドメモリ３１６を介して情報をやり取りするため、同期して動作する必要がない。即ち、第１Ｈ／Ｗ描画処理部４０１と第２Ｈ／Ｗ描画処理部４０２とは非同期で動作する。換言すると、第１Ｈ／Ｗ描画処理部４０１と第２Ｈ／Ｗ描画処理部４０２とには別々にクロックが入力される。
【００６４】
次に、複数のモジュールへの処理の分散と、本実施形態に係る処理の割り振りによる効果について説明する。図９（ａ）は、本実施形態に係る画像処理において実行される処理の順序を示す図である。図９（ａ）に示すように、ページの順に、“パース”、“レンダリング”、“色処理”が実行される。尚、上述したように、透過値反映処理は色処理に含まれる。
【００６５】
図９（ｂ）は、図９（ａ）に示す処理を本実施形態に係る画像処理部１０４において分散処理する態様を示す図である。図９（ａ）に示すように、中間データ生成部３０１は、ページの順にパースを実行する。中間データ生成部３０１のパース処理によって生成された中間データは、中間データ保存処理部３１２によって中間データ記憶部３１３に格納される。
【００６６】
中間データ生成部３０１によってページの順に生成された中間データに基づき、第１Ｈ／Ｗ描画処理部４０１がページの順にレンダリングを実行する。第１Ｈ／Ｗ描画処理部４０１によってレンダリング処理が実行されることにより生成された中間バンドデータは、中間バンドメモリ３１６に格納される。
【００６７】
第１Ｈ／Ｗ描画処理部４０１によってページの順に生成された中間バンドデータに基づき、第２Ｈ／Ｗ描画処理部４０２がページの順に色処理を実行する。第２Ｈ／Ｗ描画処理部４０２によって色処理が実行されることにより生成されたバンドデータは、バンドメモリ３１７に格納される。
【００６８】
プリントエンジン１６０による画像形成出力は、第２Ｈ／Ｗ描画処理部４０２によって１ページ分のバンドデータがバンドメモリ３１７に格納される毎に実行される。従って、図９（ｂ）に示すように、第２Ｈ／Ｗ描画処理部４０２によるページ毎の処理の周期がページ周期となり、このページ周期によって画像形成装置１の生産性を示すＰＰＭ（Ｐａｇｅ  Ｐｅｒ  Ｍｉｎｕｔｅ）が決まる。
【００６９】
仮に、図９（ａ）のように順番に処理を実行した場合、ページ周期は、Ｐ１のパースを開始してからＰ１の色処理を完了するまでの期間となり非常に長くなってしまう。これに対して、図９（ｂ）に示すように処理を分散して並列化することにより、ページ周期を短くすることが出来る。
【００７０】
ここで、図１０を参照して、処理の並列化が不十分である場合の弊害について説明する。図１０は、図７（ａ）に示すように、透過値反映処理を第１Ｈ／Ｗ描画処理部４０１にて実行する場合の処理の分散態様を示す図である。透過値反映処理を第１Ｈ／Ｗ描画処理部４０１において実行する場合、レンダリング処理と透過値反映処理とでは参照する情報の形式が異なるため、第１Ｈ／Ｗ描画処理部４０１による処理の時間が長くなることが考えられる。
【００７１】
その結果、第２Ｈ／Ｗ描画処理部４０２において処理の待ち時間が発生する可能性がある。図１０においては、第２Ｈ／Ｗ描画処理部４０２において発生する処理の待ち時間を斜線部分で示している。図１０に示すように処理の待ち時間が発生すると、その分第２Ｈ／Ｗ描画処理部４０２がバンドデータをバンドメモリ３１７に格納する周期が長くなり、ＰＰＭが低くなるという弊害が生じる。
【００７２】
これに対して、本実施形態に係る処理の分散態様によれば、第１Ｈ／Ｗ描画処理部４０１と第２Ｈ／Ｗ描画処理部４０２との処理の並列性を高めて第２Ｈ／Ｗ描画処理部４０２における処理の待ち時間を解消し、ＰＰＭを向上することができる。
【００７３】
尚、上記実施形態においては、Ｈ／Ｗアクセラレータ４００に２つの処理モジュールが含まれている場合を例として説明した。しかしながらこれは１例であり、Ｈ／Ｗアクセラレータ４００に含まれる処理モジュールが１つの場合もあり得る。図１１は、そのような場合における処理の分散態様を示す図である。
【００７４】
図３において説明したように、描画コアモジュール３１０内部には、ソフトウェアによる描画処理モジュールであるソフトウェア描画処理部３１５が設けられている。ハードウェアの処理モジュールが１つの場合、そのソフトウェア描画処理部３１５にレンダリング処理を実行させ、以降の処理をＨ／Ｗアクセラレータ４００に含まれるＨ／Ｗ描画処理部に実行させる。
【００７５】
ハードウェア処理による処理時間の短縮の恩恵が大きいのは、参照される情報の量が多い場合である。レンダリング処理において参照される情報は、図４に示す中間データ、即ち圧縮された情報であり、色処理や透過値反映処理において参照される情報は画像を構成する画素毎の情報である。
【００７６】
即ち、色処理や透過値反映処理において参照される情報の情報量は、レンダリング処理において参照される情報の情報量よりも多いため、色処理及び透過値反映処理をハードウェアにおいて実行することにより、ハードウェアによる処理時間短縮の恩恵を最大化しつつ、ソフトウェア描画処理部３１５との間で処理を並列化することが可能となる。
【００７７】
また、ハードウェア描画処理部を複数設ける場合、図３に示すようにハードウェア描画処理部が２つである場合に上述した効果が顕著となる。しかしながら、２つの場合に限らず、３つ以上のハードウェア描画処理部を設けても良い。この場合においても、レンダリングを行う処理部と、透過値反映処理を行う処理部とを分けることにより、上記と同様の効果を得ることが可能となる。
【符号の説明】
【００７８】
１  画像形成装置
１０  ＣＰＵ
２０  ＲＡＭ
３０  ＲＯＭ
４０  エンジン
５０  ＨＤＤ
６０  Ｉ／Ｆ
７０  ＬＣＤ
８０  操作部
９０  バス
１００  コントローラ
１０１  主制御部
１０２  エンジン制御部
１０３  入出力制御部
１０４  画像処理部
１０５  操作表示制御部
１１０  ＡＤＦ
１２０  スキャナユニット
１３０  排紙トレイ
１４０  ディスプレイパネル
１５０  給紙テーブル
１６０  プリントエンジン
１７０  排紙トレイ
１８０  ネットワークＩ／Ｆ
３００  ＰＤＬアプリケーション
３０１  中間データ生成部
３１０  描画コアモジュール
３１１  描画モジュールＩ／Ｆ
３１２  中間データ保存処理部
３１３  中間データ記憶部
３１４  ハードウェア制御部
３１５  ソフトウェア描画処理部
３１６  中間バンドメモリ
３１７  バンドメモリ
４００  Ｈ／Ｗアクセラレータ
４０１  第１Ｈ／Ｗ描画処理部
４０２  第２Ｈ／Ｗ描画処理部
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２００６−７４９６号公報
【図１】
2016032919.tif 000003
【図２】
2016032919.tif 000004
【図３】
2016032919.tif 000005
【図４】
2016032919.tif 000006
【図５】
2016032919.tif 000007
【図６】
2016032919.tif 000008
【図７】
2016032919.tif 000009
【図８】
2016032919.tif 000010
【図９】
2016032919.tif 000011
【図１０】
2016032919.tif 000012
【図１１】
2016032919.tif 000013