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