(57)【要約】【課題】ハードウェア処理とソフトウェア処理とにより実行するディスプレイリストの画像処理を高速化することである。【解決手段】画像形成装置２０は、解析処理部２１１と、ハードウェアアクセラレータ２５と、解析処理部２１１により生成されたディスプレイリストのうち、ハードウェアアクセラレータ２５によるハードウェア処理が可能な連続するディスプレイリストの個数及びその合計データサイズに基づいて、ハードウェア処理が可能なディスプレイリストに対するハードウェア処理がソフトウェア処理より処理時間が短いか否かを判定し、その判定結果に基づいて、前記ディスプレイリストをハードウェアアクセラレータ２５にハードウェア処理させ、又は前記ディスプレイリストにソフトウェア処理を施して、プリント可能データを生成する描画処理部２１２と、を備える。【選択図】図４
2011165022.tif 000002
【特許請求の範囲】
【請求項１】
プリントデータを解析してディスプレイリストを生成する解析処理部と、
ディスプレイリストをラスタライズしてプリント可能データを生成するハードウェアアクセラレータと、
前記生成されたディスプレイリストのうち、前記ハードウェアアクセラレータによるハードウェア処理が可能な連続するディスプレイリストの個数及びその合計データサイズに基づいて、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理が、ラスタライズのソフトウェア処理よりも処理時間が短いか否かを判定し、その判定結果に基づいて、前記ディスプレイリストを前記ハードウェアアクセラレータにハードウェア処理させ、又は前記ディスプレイリストにソフトウェア処理を施して、プリント可能データを生成する描画処理部と、
を備える画像処理装置。
【請求項２】
前記描画処理部は、前記解析処理部により生成されたディスプレイリストの特性に基づいて、当該ディスプレイリストに前記ハードウェア処理が可能か否かを判定する請求項１に記載の画像処理装置。
【請求項３】
前記描画処理部は、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理と、前記ソフトウェア処理と、の処理時間が短い方の判定において、前記ハードウェア処理が可能な連続するディスプレイリストの個数が、予め設定された第１設定値以上であり、又は前記ハードウェア処理が可能な連続するディスプレイリストの合計データサイズが、予め設定された第２設定値以上であるか否かにより判定する請求項１又は２に記載の画像処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の画像処理装置と、
前記描画処理部により生成されたプリント可能データに応じて用紙に画像形成を行う画像形成部と、を備える画像形成装置。
【請求項５】
コンピュータを、
プリントデータを解析してディスプレイリストを生成する解析処理部、
ディスプレイリストをラスタライズしてプリント可能データを生成するハードウェアアクセラレータ、
前記生成されたディスプレイリストのうち、前記ハードウェアアクセラレータによるハードウェア処理が可能な連続するディスプレイリストの個数及びその合計データサイズに基づいて、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理が、ラスタライズのソフトウェア処理よりも処理時間が短いか否かを判定し、その判定結果に基づいて、前記ディスプレイリストを前記ハードウェアアクセラレータにハードウェア処理させ、又は前記ディスプレイリストにソフトウェア処理を施して、プリント可能データを生成する描画処理部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＭＦＰ（MultiFunction Peripheral）、プリンタ等の画像形成装置が知られている。図９及び図１０を参照して、従来の画像形成装置２０Ａを説明する。図９に、画像形成装置２０Ａの機能構成を示す。図１０に、画像形成装置２０Ａにおける画像形成時のデータの流れを示す。
【０００３】
図９に示すように、従来のプリンタとしての画像形成装置２０Ａは、制御部２１Ａと、ＲＡＭ（Random Access Memory）２２と、ＨＤＤ（Hard Disk Drive）２３と、ＲＯＭ（Read Only Memory）２４Ａと、入力Ｉ／Ｆ部２６と、画像形成部２７と、を備える。
【０００４】
制御部２１Ａは、ＣＰＵ（Central Processing Unit）を有し、画像形成装置２０Ａの各部を制御する。制御部２１Ａは、ＲＯＭ２４Ａから読み出されて適宜ＲＡＭ２２に展開されたプログラムとの協働で、各種ソフトウェア処理を実行する。
【０００５】
ＲＡＭ２２は、揮発性のメモリであり、各種プログラム、各種データを一時的に記憶するワークエリアを有する。ＨＤＤ２３は、磁気記録媒体を有し、画像データ等のデータを読み出し及び書き込み可能に記憶する記憶部である。ＲＯＭ２４Ａは、読み出し専用のメモリであり、各種プログラム、各種データを記憶している。入力Ｉ／Ｆ部２６は、ＰＣ（Personal Computer）等の外部入力装置から、通信ネットワークを介してプリントデータ等が入力される（受信する）通信部である。画像形成部２７は、入力される画像信号に応じて用紙に画像形成（プリント）する電子写真方式、インクジェット方式等の画像形成部である。
【０００６】
画像形成装置２０Ａは、ポストスクリプト等のＰＤＬ（Page Description Language：ページ記述言語）対応の画像形成装置である。図１０に示すように、外部入力装置としてのＰＣ１０Ａが通信ネットワークＮを介して画像形成装置２０Ａに接続されている。また、画像形成装置２０Ａの制御部２１Ａは、解析処理部２１１Ａ、描画処理部２１２Ａとして機能する。ここで、ＰＣ１０Ａからプリント対象のファイルを画像形成装置２０Ａに画像形成させる流れを説明する。
【０００７】
先ず、ＰＣ１０Ａは、プリンタドライバを使用して、ユーザにプリント指示された任意のファイルをページ記述言語に変換してプリントデータを作成し、通信ネットワークＮを介して画像形成装置２０Ａに送信する。画像形成装置２０Ａは、ＰＣ１０Ａから送信されたプリントデータを入力Ｉ／Ｆ部２６により受信する。入力Ｉ／Ｆ部２６は、受信したプリントデータを逐次解析処理部２１１Ａに出力する。解析処理部２１１Ａは、入力されたプリントデータを言語解析（ページ解析）して中間言語のディスプレイリスト（以下、ＤＬ：Display Listと記述する）３０を生成し、ＲＡＭ２２に格納する。そして、解析処理部２１１Ａは、ＲＡＭ２２に格納したＤＬ３０が１ページ（プリント出力可能な単位）分貯まると、描画処理部２１２Ａに処理を移す。
【０００８】
描画処理部２１２Ａは、ＲＡＭ２２からＤＬ３０を読み出し、このＤＬ３０をラスタライズしてプリント可能データ４０を生成し、ＲＡＭ２２に格納する。そして、描画処理部２１２Ａは、ＲＡＭ２２に格納されたプリント可能データ４０が１ページ（プリント出力可能な単位）分貯まると、この１ページのプリント可能データ４０をＲＡＭ２２から読み出して画像形成部２７に出力する。画像形成部２７は、入力されたプリント可能データ４０に応じて用紙にプリントし、プリント物として出力する。そして、描画処理部２１２Ａは、プリント物が正常に出力された場合に、ＲＡＭ２２内の不要になったデータを削除する。
【０００９】
近年、画像形成装置は、一層の低価格化が求められ、コストを重視した製品の開発が必須となっている。そのため、画像形成装置に搭載するＣＰＵについてもコストを重視した安価なものが使用されるようになってきている。安価なＣＰＵは、演算性能が低いため、それを補うためにプリント処理の一部を専用ハードウェア化して高速化を図るという構成が知られている。以下、このプリント処理の一部を専用ハードウェア化したものをハードウェアアクセラレータと記述する。
【００１０】
また、ハードウェアアクセラレータとしての画像圧縮処理部を有する画像形成装置が知られている（例えば、特許文献１参照）。この画像形成装置のＣＰＵは、画像圧縮／伸張時に、バスの使用状況から、画像圧縮処理部によるハードウェア処理とソフトウェア処理とのどちらの処理終了時刻が早いか予測する。そして、この画像形成装置のＣＰＵは、予測結果に応じて、ハードウェア処理とソフトウェア処理とを切り替えることにより、処理の高速化を図っている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平１１−３２８３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、全てのＤＬをハードウェアアクセラレータに処理させれば良いというわけではない。ＤＬによっては、ソフトウェアで処理させた方が効率がいいものがある。ソフトウェアで処理させた方がよい特性のＤＬは、例えば、ラスタライズ時にハードウェアアクセラレータ内のローカルメモリに入りきらない巨大なデータが必要となるＤＬや、浮動小数点計算等の複雑な計算が必要なＤＬである。また、ＤＬの連続性として、ハードウェア処理させるＤＬとソフトウェア処理させるＤＬとが並んでいると、ハードウェア処理とソフトウェア処理との切り替えに要するオーバーヘッド時間が発生する。また、ＤＬのサイズとして、合計サイズ小さいＤＬを一回でハードウェア処理させるとオーバーヘッド時間が発生する分、効率がよくない。
【００１３】
また、従来のハードウェア処理とソフトウェア処理とを切り替える画像形成装置では、使用するバスの状況からハードウェア処理とソフトウェア処理との処理終了時刻が早いか予測していた。このため、上記ＤＬの特性、連続性、サイズを考慮できず、処理するＤＬの特性、連続性、サイズによっては、処理時間が長くなるおそれがあった。
【００１４】
本発明の課題は、ハードウェア処理とソフトウェア処理とにより実行するディスプレイリストの画像処理を高速化することである。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、請求項１に記載の発明の画像処理装置は、
プリントデータを解析してディスプレイリストを生成する解析処理部と、
ディスプレイリストをラスタライズしてプリント可能データを生成するハードウェアアクセラレータと、
前記生成されたディスプレイリストのうち、前記ハードウェアアクセラレータによるハードウェア処理が可能な連続するディスプレイリストの個数及びその合計データサイズに基づいて、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理が、ラスタライズのソフトウェア処理よりも処理時間が短いか否かを判定し、その判定結果に基づいて、前記ディスプレイリストを前記ハードウェアアクセラレータにハードウェア処理させ、又は前記ディスプレイリストにソフトウェア処理を施して、プリント可能データを生成する描画処理部と、
を備える。
【００１６】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記描画処理部は、前記解析処理部により生成されたディスプレイリストの特性に基づいて、当該ディスプレイリストに前記ハードウェア処理が可能か否かを判定する。
【００１７】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記描画処理部は、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理と、前記ソフトウェア処理と、の処理時間が短い方の判定において、前記ハードウェア処理が可能な連続するディスプレイリストの個数が、予め設定された第１設定値以上であるか、又は前記ハードウェア処理が可能な連続するディスプレイリストの合計データサイズが、予め設定された第２設定値以上であるかにより判定する。
【００１８】
請求項４に記載の発明の画像形成装置は、
請求項１から３のいずれか一項に記載の画像処理装置と、
前記描画処理部により生成されたプリント可能データに応じて用紙に画像形成を行う画像形成部と、を備える。
【００１９】
請求項５に記載の発明のプログラムは、
コンピュータを、
プリントデータを解析してディスプレイリストを生成する解析処理部、
ディスプレイリストをラスタライズしてプリント可能データを生成するハードウェアアクセラレータ、
前記生成されたディスプレイリストのうち、前記ハードウェアアクセラレータによるハードウェア処理が可能な連続するディスプレイリストの個数及びその合計データサイズに基づいて、前記ハードウェア処理が可能なディスプレイリストに対する前記ハードウェア処理が、ラスタライズのソフトウェア処理よりも処理時間が短いか否かを判定し、その判定結果に基づいて、前記ディスプレイリストを前記ハードウェアアクセラレータにハードウェア処理させ、又は前記ディスプレイリストにソフトウェア処理を施して、プリント可能データを生成する描画処理部、
として機能させる。
【発明の効果】
【００２０】
本発明によれば、ハードウェア処理とソフトウェア処理とにより実行するディスプレイリストの画像処理を高速化できる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る実施の形態の画像形成システムの構成を示す図である。
【図２】ＰＣの機能構成を示すブロック図である。
【図３】実施の形態の画像形成装置の機能構成を示すブロック図である。
【図４】実施の形態の画像形成装置における画像形成時のデータの流れを示す図である。
【図５】描画処理を示すフローチャートである。
【図６】（ａ）は、第１のＤＬ順例におけるＤＬの並び順を示す図である。（ｂ）は、第１のＤＬ順例におけるハードウェア処理、ソフトウェア処理及びオーバーヘッドを示す図である。
【図７】（ａ）は、第２のＤＬ順例におけるＤＬの並び順を示す図である。（ｂ）は、第２のＤＬ順例におけるハードウェア処理、ソフトウェア処理及びオーバーヘッドを示す図である。
【図８】（ａ）は、第３のＤＬ順例におけるＤＬの並び順を示す図である。（ｂ）は、第３のＤＬ順例におけるハードウェア処理、ソフトウェア処理及びオーバーヘッドを示す図である。
【図９】従来の画像形成装置の機能構成を示すブロック図である。
【図１０】従来の画像形成装置における画像形成時のデータの流れを示す図である。
【発明を実施するための形態】
【００２２】
添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【００２３】
先ず、図１〜図３を参照して、本実施の形態の装置構成を説明する。図１に、本実施の形態の画像形成システム１の構成を示す。図２に、ＰＣ１０の機能構成を示す。図３に、画像形成装置２０の機能構成を示す。
【００２４】
図１に示すように、画像形成システム１は、ＰＣ１０，１０ａと、画像形成装置２０，２０ａ，２０ｂと、を備える。ＰＣ１０，１０ａ、画像形成装置２０，２０ａ，２０ｂは、通信ネットワークＮを介して通信可能に接続されている。
【００２５】
ＰＣ１０は、ユーザ操作に応じて、プリント対象のファイルからプリントデータを生成して画像形成装置２０，２０ａ，２０ｂに送信する装置である。ＰＣ１０は、画像形成装置２０，２０ａ，２０ｂの外部入力装置として機能する。ＰＣ１０ａは、ＰＣ１０と同様の装置である。
【００２６】
画像形成装置２０は、ＰＤＬに対応し、ＰＣ１０，１０ａから受信されるプリントデータに応じて画像形成（プリント）を行うプリンタである。画像形成装置２０ａ，２０ｂは、画像形成装置２０と同様の装置であるものとする。なお、画像形成装置２０は、プリンタに限定されるものではなく、ＭＦＰ等、他の画像形成装置としてもよい。
【００２７】
通信ネットワークＮは、イーサネット（登録商標）であるものとする。しかし、これに限定されるものではなく、通信ネットワークＮは、ＦＤＤＩ（Fiber-Distributed Data Interface）、トークンリング等、他の通信ネットワークでもよい。
【００２８】
また、画像形成システム１におけるＰＣ、画像形成装置の台数は、図１の例に限定されるものではない。さらに、ＰＣと、画像形成装置とは、ローカル接続されるものとしてもよい。
【００２９】
図２を参照して、ＰＣ１０の機能構成を説明する。ＰＣ１０は、制御部１１と、ＲＡＭ１２と、ＨＤＤ１３と、入力Ｉ／Ｆ部１４と、出力Ｉ／Ｆ部１５と、を備える。
【００３０】
制御部１１は、ＣＰＵを有し、ＰＣ１０の各部を制御する。制御部１１は、ＨＤＤ１３から読み出されて適宜ＲＡＭ１２に展開されたプログラムとの協働で、各種処理を実行する。
【００３１】
ＲＡＭ１２は、揮発性のメモリであり、各種プログラム、各種データを一時的に記憶するワークエリアを有する。ＨＤＤ１３は、磁気記録媒体を有し、各種プログラム、各種データを読み出し及び書き込み可能に記憶する記憶部である。入力Ｉ／Ｆ部１４は、ＰＣ１０ａ、画像形成装置２０等の外部入力装置から、通信ネットワークＮを介して各種データが入力される（受信する）通信部である。出力Ｉ／Ｆ部１５は、ＰＣ１０ａ、画像形成装置２０等の外部出力装置へ、通信ネットワークＮを介して各種データを出力する（送信する）通信部である。
【００３２】
図３を参照して、画像形成装置２０の機能構成を説明する。画像形成装置２０は、制御部２１と、ＲＡＭ２２と、ＨＤＤ２３と、ＲＯＭ２４と、ハードウェアアクセラレータ２５と、入力Ｉ／Ｆ部２６と、画像形成部２７と、を備える。
【００３３】
なお、図３に示すように、制御部２１と、ＲＡＭ２２と、ＨＤＤ２３と、ＲＯＭ２４と、ハードウェアアクセラレータ２５と、入力Ｉ／Ｆ部２６と、出力Ｉ／Ｆ部（図示略）とを、プリンタコントローラとしての画像処理装置２０αとして構成してもよい。画像処理装置２０αは、外部機器としての画像形成装置に接続され、生成したプリント可能データを出力Ｉ／Ｆ部により画像形成装置に送信して用紙に画像形成（プリント）させる。
【００３４】
制御部２１は、ＣＰＵを有し、画像形成装置２０の各部を制御する。制御部２１は、ＲＯＭ２４から読み出されて適宜ＲＡＭ２２に展開されたプログラムとの協働で、各種処理を実行する。具体的には、制御部１１は、後述する解析処理プログラム２４１との協働で、解析処理部２１１として機能する。また、制御部１１は、後述する描画処理プログラム２４２との協働で、描画処理部２１２として機能する。
【００３５】
ＲＡＭ２２は、不揮発性のメモリであり、各種プログラム、各種データを一時的に記憶するワークエリアを有する。ＨＤＤ２３は、磁気記憶媒体を有し、画像データ、追加フォントデータ等のデータを読み出し及び書き込み可能な記憶部である。ＲＯＭ２４は、読み出し専用のメモリであり、各種プログラム、フォントデータ等の各種データを記憶している。具体的には、ＲＯＭ２４には、解析処理プログラム２４１と、描画処理プログラム２４２と、が記憶されている。
【００３６】
ハードウェアアクセラレータ２５は、ＤＬ（ディスプレイリスト）をラスタライズする処理を行う電子回路等のハードウェアである。ハードウェアアクセラレータ２５は、ローカルＲＡＭ２５１を内蔵する。ハードウェアアクセラレータ２５は、入力されるＤＬをローカルＲＡＭ２５１に格納してラスタライズする。ラスタライズ後のプリント可能データは、ローカルＲＡＭ２５１に展開される。
【００３７】
入力Ｉ／Ｆ部２６は、ＰＣ１０等の外部入力装置から、通信ネットワークＮを介して各種データが入力される（受信する）通信部である。画像形成部２７は、入力される画像信号（プリント可能データ）に応じて用紙に画像形成（プリント）する電子写真方式、インクジェット方式等の画像形成部である。
【００３８】
次に、図４〜図８を参照して、画像形成システム１の動作を説明する。ここでは、ＰＣ１０と、画像形成装置２０と、の処理を代表して説明するが、ＰＣ１０ａ、画像形成装置２０ａ，２０ｂでも同様である。図４に、画像形成装置２０における画像形成時のデータの流れを示す。
【００３９】
先ず、図４に示すように、画像形成装置２０の制御部２１は、画像形成処理時に、解析処理部２１１、描画処理部２１２として機能する。画像形成システム１において、ＰＣ１０で生成したプリントデータを、画像形成装置２０でプリント出力する例を説明する。
【００４０】
先ず、ＰＣ１０は、プリンタドライバを使用して、ユーザにプリント指示された任意のファイルをページ記述言語に変換してプリントデータを作成し、通信ネットワークＮを介して画像形成装置２０に送信する。
【００４１】
画像形成装置２０は、ＰＣ１０から送信されたプリントデータを入力Ｉ／Ｆ部２６により受信する。入力Ｉ／Ｆ部２６は、受信したプリントデータを逐次解析処理部２１１に出力する。解析処理部２１１は、入力されたプリントデータを言語解析（ページ解析）して中間言語のＤＬ３０を生成し、ＲＡＭ２２に格納する。そして、解析処理部２１１は、ＲＡＭ２２に格納したＤＬ３０が１ページ（プリント出力可能な単位）分貯まると、描画処理部２１２に処理を移す。
【００４２】
描画処理部２１２は、ＲＡＭ２２からＤＬ３０を読み出し、このＤＬ３０を、ソフトウェア処理（以下、ＳＷ（SoftWare）処理と記述する）して、又はハードウェアアクセラレータ２５によりハードウェア処理（以下、ＨＷ（HardWare）処理と記述する）させて、ラスタライズしてプリント可能データ４０を生成し、ＲＡＭ２２に格納する。そして、描画処理部２１２は、ＲＡＭ２２に格納されたプリント可能データ４０が１ページ（プリント出力可能な単位）分貯まると、この１ページのプリント可能データ４０をＲＡＭ２２から読み出して画像形成部２７に出力する。画像形成部２７は、入力されたプリント可能データ４０に応じて用紙にプリントし、プリント物として出力する。そして、描画処理部２１２は、プリント物が正常に出力された場合に、ＲＡＭ２２内の不要になったデータを削除する。尚、描画処理部２１２は、ＤＬ３０の描画処理をＳＷ処理するかＨＷ処理するかの判断を行う機能と、描画処理をＳＷ処理として実行する機能との双方を含んだソフトウェアモジュールとして構成されてもよく、或いは両機能が別々のソフトウェアモジュールとして構成された形態であってもよい。
【００４３】
次いで、図５を参照して、描画処理部２１２が実行する描画処理を詳細に説明する。図５に、描画処理のフローチャートを示す。描画処理は、描画処理部２１２により、１ページ（プリント出力可能な単位）分のＤＬ３０を描画する毎のタイミングで繰り返し実行される処理である。
【００４４】
先ず、描画処理部２１２は、変数としてのＨＷ処理可能ＤＬ数及びＨＷ処理可能ＤＬ合計データサイズを初期化し、０に設定する（ステップＳ１）。ＨＷ処理可能ＤＬ数とは、ＨＷ処理可能で且つ連続するＤＬ３０の数を示す変数である。ＨＷ処理可能ＤＬ数は、後述するＨＷ処理リストに含まれるＤＬ３０の総数である。ＨＷ処理可能ＤＬ合計データサイズとは、ＨＷ処理可能で且つ連続するＤＬ３０の合計データサイズを示す変数である。ＨＷ処理可能ＤＬ合計データサイズは、後述するＨＷ処理リストに含まれるＤＬ３０の合計データサイズである。
【００４５】
そして、描画処理部２１２は、次に処理するＤＬ３０を一つＲＡＭ２２から読み出して取得する（ステップＳ２）。そして、描画処理部２１２は、ステップＳ２で取得したＤＬ３０（以下、取得ＤＬと記述する）の特性に基づいて、取得ＤＬがＨＷ処理可能か（ＨＷ処理に向いているか）否かを判定する（ステップＳ３）。ステップＳ３では、具体的には、描画処理部２１２は、取得ＤＬがラスタライズ時にローカルＲＡＭ２５１に格納できない大きなデータが必要であるか否か、取得ＤＬが浮動小数点計算等の複雑な計算が必要であるか否かを判定する。描画処理部２１２は、取得ＤＬについて大きなデータ又は複雑な計算が必要なものである場合に、ＨＷ処理可能あると判定し、大きなデータ又は複雑な計算が必要でない場合に、ＨＷ処理可能でないと判定する。
【００４６】
取得ＤＬがＨＷ処理可能である場合（ステップＳ３；ＹＥＳ）、描画処理部２１２は、ＨＷ処理可能ＤＬ数を１つ増加する（ステップＳ４）。そして、描画処理部２１２は、ＨＷ処理可能ＤＬ合計データサイズを取得ＤＬサイズ分増加する（ステップＳ５）。そして、描画処理部２１２は、ＨＷ処理リストに取得ＤＬの識別情報を追加する（ステップＳ６）。ＨＷ処理リストは、ＨＷ処理実行を予定するＤＬの識別情報のリストである。
【００４７】
そして、描画処理部２１２は、取得ＤＬが１ページ（プリント出力可能な単位）の最後のＤＬであるか否かを判定する（ステップＳ７）。最後のＤＬでない場合（ステップＳ７；ＮＯ）、ステップＳ２に移行される。最後のＤＬである場合（ステップＳ７；ＹＥＳ）、描画処理部２１２は、ＨＷ処理可能ＤＬ数≧第１設定数、又はＨＷ処理可能ＤＬ合計データサイズ≧第２設定数を満たすか否かを判定する（ステップＳ８）。
【００４８】
ＨＷ処理可能ＤＬ数が少ないと、ハードウェアアクセラレータ２５で処理するデータが少なく、すぐにＳＷ処理に切り替える必要がでてくる。このため、ＨＷ処理／ＳＷ処理の切り替えオーバーヘッドが発生し、そこで処理に時間がかかってしまう、よって、ハードウェアアクセラレータ２５で処理するメリットがでない。
【００４９】
また、ＨＷ処理可能ＤＬ合計データサイズが小さいと、ハードウェアアクセラレータ２５で処理するデータが小さく、ＨＷ処理可能ＤＬ数と同様に、ハードウェアアクセラレータ２５で処理するメリットがでない。
【００５０】
そのため、ＨＷ処理リストのＤＬに対するＨＷ処理がＳＷ処理よりも処理時間が短いか否かの判定を、ステップＳ８のＨＷ処理可能ＤＬ数、ＨＷ処理可能ＤＬ合計データサイズのどちらかが、予め定められた設定値以上であるか否かで行っている。第１設定値及び第２設定値は、ハードウェアアクセラレータ２５の性能や、制御部２１のＣＰＵ性能によって最適値が変わってくる。第１設定値及び第２設定値により、画像形成装置２０の製品（機種）毎のきめ細やかなチューニングが可能となる。
【００５１】
ＨＷ処理可能ＤＬ数≧第１設定数、又は（／及び）ＨＷ処理可能ＤＬ合計データサイズ≧第２設定数である場合（ステップＳ８；ＹＥＳ）、描画処理部２１２は、ＨＷ処理リスト内のＤＬをＲＡＭ２２から読み出してハードウェアアクセラレータ２５にＨＷ処理でラスタライズさせる（ステップＳ９）。ステップＳ９で、描画処理部２１２は、ハードウェアアクセラレータ２５により生成されたプリント可能データ４０をＲＡＭ２２に格納する。
【００５２】
ＨＷ処理可能ＤＬ数≧第１設定数、又はＨＷ処理可能ＤＬ合計データサイズ≧第２設定数でない場合（ステップＳ８；ＮＯ）、描画処理部２１２は、ＨＷ処理リスト内のＤＬをＲＡＭ２２から読み出してＳＷ処理を施してラスタライズを行う（ステップＳ１０）。ステップＳ１０で、描画処理部２１２は、ラスタライズにより生成したプリント可能データ４０をＲＡＭ２２に格納する。
【００５３】
そして、描画処理部２１２は、変数としてのＨＷ処理可能ＤＬ数及びＨＷ処理可能ＤＬ合計データサイズを初期化し、０に設定する（ステップＳ１１）。そして、描画処理部２１２は、ＨＷ処理リストをクリアする（ステップＳ１２）。そして、描画処理部２１２は、取得ＤＬが１ページ（プリント出力可能な単位）の最後のＤＬであるか否かを判定する（ステップＳ１３）。最後のＤＬでない場合（ステップＳ１３；ＮＯ）、ステップＳ２に移行される。最後のＤＬである場合（ステップＳ１３；ＹＥＳ）、描画処理が終了する。
【００５４】
取得ＤＬがＨＷ処理可能でない場合（ステップＳ３；ＮＯ）、描画処理部２１２は、ＨＷ処理可能ＤＬ数≧第１設定数、又はＨＷ処理可能ＤＬ合計データサイズ≧第２設定数を満たすか否かを判定する（ステップＳ１４）。
【００５５】
ＨＷ処理可能ＤＬ数≧第１設定数、又はＨＷ処理可能ＤＬ合計データサイズ≧第２設定数である場合（ステップＳ１４；ＹＥＳ）、描画処理部２１２は、ＨＷ処理リスト内のＤＬをＲＡＭ２２から読み出してハードウェアアクセラレータ２５にＨＷ処理でラスタライズさせる（ステップＳ１５）。ステップＳ１５で、描画処理部２１２は、ハードウェアアクセラレータ２５により生成されたプリント可能データ４０をＲＡＭ２２に格納する。
【００５６】
ＨＷ処理可能ＤＬ数≧第１設定数、又はＨＷ処理可能ＤＬ合計データサイズ≧第２設定数でない場合（ステップＳ１４；ＮＯ）、描画処理部２１２は、ＨＷ処理リスト内のＤＬをＲＡＭ２２から読み出してＳＷ処理を施してラスタライズを行う（ステップＳ１６）。ステップＳ１６で、描画処理部２１２は、ラスタライズにより生成したプリント可能データ４０をＲＡＭ２２に格納する。
【００５７】
そして、描画処理部２１２は、取得ＤＬにＳＷ処理を施してラスタライズを行い、生成したプリント可能データ４０をＲＡＭ２２に格納する（ステップＳ１７）。そして、ステップＳ１１に移行される。
【００５８】
次に、図６〜図８を参照して、描画処理のステップＳ８，Ｓ１４で用いた第１設定値及び第２設定値の設定例を説明する。図６（ａ）に、第１のＤＬ順例におけるＤＬの並び順を示す。図６（ｂ）に、第１のＤＬ順例におけるＨＷ処理、ＳＷ処理及びオーバーヘッドを示す。図７（ａ）に、第２のＤＬ順例におけるＤＬの並び順を示す。図７（ｂ）に、第２のＤＬ順例におけるＨＷ処理、ＳＷ処理及びオーバーヘッドを示す。図８（ａ）に、第３のＤＬ順例におけるＤＬの並び順を示す。図８（ｂ）に、第３のＤＬ順例におけるＨＷ処理、ＳＷ処理及びオーバーヘッドを示す。
【００５９】
先ず、ＤＬは、次表１に示す３つのデータタイプのＤＬ３１，ＤＬ３２，ＤＬ３３が存在するものとする。
【表１】
2011165022.tif 000003
【００６０】
ＤＬ３１、ＤＬ３２、ＤＬ３３は、それぞれ、ＨＷ処理向きか否か、想定データサイズ、想定処理時間の情報を有する。ＨＷ処理向きか否かの情報は、ＤＬについて描画処理のステップＳ３の判断材料となる情報である。想定データサイズの情報は、ＤＬについて想定されるデータサイズである。想定処理時間の情報は、ＤＬについて想定される処理時間であり、ＳＷ処理の実処理時間と、ＨＷ処理の、実処理時間＋（描画処理部２１２とハードウェアアクセラレータ２５との間のデータ転送時間）とである。例えば、ＤＬ３１において、ＳＷ処理の実処理時間が１００μｓであり、ＨＷ処理の想定処理時間は、実処理時間１μｓ＋データ転送時間１９μｓ＝２０μｓである。また、ＨＷ処理とＳＷ処理との切替えのオーバーヘッド時間であるＨＷ／ＳＷ切り替えオーバーヘッドが、１０００μｓであるものとする。
【００６１】
図６（ａ）に示すように、ＨＷ処理向きのＤＬ３１と、ＨＷ処理向きでない（ＳＷ処理向きである）ＤＬ３３と、が交互に１０００個並んでいる第１のＤＬ順例を考える。図６（ｂ）に示すように、ＤＬ３１にＨＷ処理を実行し、ＤＬ３３にＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが処理毎に発生する。この合計処理時間は、ＳＷ処理時間２０μｓ×ＤＬ数５００＋ＨＷ処理時間１００μｓ×ＤＬ数５００＋オーバーヘッド時間１０００μｓ×オーバーヘッド回数１０００＝１０６０ｍｓとなる。一方、ＤＬ３１、ＤＬ３３全てにＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが発生しない。この合計処理時間は、ＳＷ処理時間１００μｓ×ＤＬ数１０００＝１００ｍｓとなる。このため、第１のＤＬ順例では、ＳＷ処理のみの実行が、ＨＷ処理及びＳＷ処理を切り替える実行よりも高速である。
【００６２】
次いで、ＨＷ処理向きのＤＬ３１をＨＷ処理させる条件としての第１設定値、第２設定値の設定例を説明する。図７（ａ）に示すように、ＨＷ処理向きのＤＬ３１がｘ（ｘ：任意の自然数）個並び、次いでＳＷ処理向きであるＤＬ３３が１個並んでいる第２のＤＬ順例を考える。図７（ｂ）に示すように、ＤＬ３１にＨＷ処理を実行し、ＤＬ３３にＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが２回発生する。一方、ＤＬ３１及びＤＬ３３全てにＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが発生しない。
【００６３】
よって、ＨＷ処理を実行したほうが高速となる条件は、次式（１）となる。
ＳＷ処理時間×ＤＬ数≧ＨＷ処理時間×ＤＬ数＋オーバーヘッド時間×オーバーヘッド回数  …（１）
式（１）に第２のＤＬ順例の数値を当てはめると、
１００μｓ×ｘ≧２０μｓ×ｘ＋１０００μｓ×２
ｘ≧２５  …（１’）
となる。従って、第１設定値＝２５個となり、第２設定値＝５０Byte×２５個＝１２５０Byteとなる。ｘ＝５個とした場合の、ＤＬ３１にＨＷ処理を実行し、ＤＬ３３にＳＷ処理を実行する場合の合計処理時間と、ＤＬ３１及びＤＬ３３にＳＷ処理を実行する場合の合計処理時間とは、同じ２６００μｓになる。
【００６４】
次いで、ＨＷ処理向きのＤＬ３２をＨＷ処理させる条件としての第１設定値、第２設定値の設定例を説明する。図８（ａ）に示すように、ＨＷ処理向きのＤＬ３２がｙ（ｙ：任意の自然数）個並び、次いでＳＷ処理向きであるＤＬ３３が１個並んでいる第３のＤＬ順例を考える。図８（ｂ）に示すように、ＤＬ３２にＨＷ処理を実行し、ＤＬ３３にＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが２回発生する。一方、ＤＬ３２及びＤＬ３３全てにＳＷ処理を実行すると、ＨＷ／ＳＷ切り替えオーバーヘッドが発生しない。
【００６５】
よって、全てＳＷ処理を実行したほうが高速となる条件の式（１）に第３のＤＬ順例の数値を当てはめると、
５００μｓ×ｙ≧１００μｓ×ｙ＋１０００μｓ×２
ｙ≧５  …（１’’）
となる。従って、第１設定値＝５個となり、第２設定値＝３００Byte×５個＝１５００Byteとなる。ｙ＝５個とした場合の、ＤＬ３２にＨＷ処理を実行し、ＤＬ３３にＳＷ処理を実行する場合の合計処理時間と、ＤＬ３２及びＤＬ３３にＳＷ処理を実行する場合の合計処理時間とは、同じ２６００μｓになる。
【００６６】
以上、本実施の形態によれば、画像形成装置２０は、解析処理部２１１と、ハードウェアアクセラレータ２５と、描画処理部２１２と、を備える。描画処理部２１２は、解析処理部２１１により生成されたＤＬのうち、ＨＷ処理可能ＤＬ数及びＨＷ処理可能合計ＤＬデータサイズに基づいて、ＨＷ処理が可能な取得ＤＬに対するＨＷ処理と、ＳＷ処理との処理時間が短い方を判定する。そして、描画処理部２１２は、その判定結果に基づいて、ＨＷ処理と判定した場合に、取得ＤＬをハードウェアアクセラレータ２５にＨＷ処理させ、ＳＷ処理と判定した場合に、取得ＤＬにＳＷ処理を施して、プリント可能データを生成する。このため、ＨＷ処理とＳＷ処理とにより実行するＤＬのラスタライズの画像処理を高速化でき、画像形成処理も高速化できる。
【００６７】
また、描画処理部２１２は、取得ＤＬの特性に基づいて、ＨＷ処理が可能か否かを判定する。このため、ＨＷ処理が可能な（ＨＷ処理に向いている）取得ＤＬをＨＷ処理対象にでき、ＨＷ処理が可能でない（ＨＷ処理に向いていない）ＤＬにＨＷ処理を行って低速化することを防ぐことができる。
【００６８】
また、描画処理部２１２は、ＨＷ処理が可能なＤＬに対するＨＷ処理と、ＳＷ処理と、のどちらの処理時間が短いかの判定は、ＨＷ処理可能ＤＬ数が第１設定値以上であるか、又はＨＷ処理可能合計ＤＬデータサイズ数が第２設定値以上であるか、により判定する。このため、ＨＷ処理が可能なＤＬに対するＨＷ処理と、ＳＷ処理と、のどちらの処理時間が短いかの判定を容易に行うことができる。また、描画処理プログラム２４２の第１設定値、第２設定値を変更することで、製品（機種）毎に適切な第１設定値、第２設定値を設定できる。
【００６９】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてＲＯＭ２４を使用した例を開示したが、この例に限定されない。
その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ（搬送波）も本発明に適用される。
【００７０】
なお、上記実施の形態における記述は、本発明に係る好適な画像処理装置、画像形成装置及びプログラムの一例であり、これに限定されるものではない。
【００７１】
上記実施の形態では、ハードウェアアクセラレータ２５がローカルＲＡＭ２５１を内蔵する構成としたが、これに限定されるものではない。ハードウェアアクセラレータ２５がＲＡＭ２２又は他のメモリを用いて、取得ＤＬのラスタライズを行う構成としてもよい。
【００７２】
また、上記実施の形態では、ＨＷ処理可能ＤＬ数及びＨＷ処理可能合計ＤＬデータサイズの第１設定値及び第２設定値を出荷時に設定する構成としたが、これに限定されるものではない。例えば、描画処理では、ＨＤＤ２３に記憶されている第１設定値及び第２設定値を読み出して使用する構成とし、出荷後にも、画像形成装置２０の操作部（図示略）又はＰＣ１０等の外部入力装置から、ＨＤＤ２３に記憶されている第１設定値及び第２設定値を変更可能な構成としてもよい。
【００７３】
また、上記実施の形態では、ハードウェアアクセラレータ２５によるＨＷ処理中に、描画処理部２１２が処理を行わない構成としたが、これに限定されるものではない。例えば、ハードウェアアクセラレータ２５によるＨＷ処理中に、描画処理部２１２（制御部２１）が、プリントデータのページ解析処理等、別のＳＷ処理を行う構成としてもよい。この構成により、画像形成装置２０全体の処理性能の向上が図れる。
【００７４】
また、以上の実施の形態における画像形成装置２０、画像形成システム１を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【００７５】
１  画像形成システム
１０，１０ａ，１０Ａ  ＰＣ
１１  制御部
１２  ＲＡＭ
１３  ＨＤＤ
１４  入力Ｉ／Ｆ部
１５  出力Ｉ／Ｆ部
２０，２０ａ，２０ｂ，２０Ａ  画像形成装置
２０α  画像処理装置
２１，２１Ａ  制御部
２１１，２１１Ａ  解析処理部
２１２，２１２Ａ  描画処理部
２２  ＲＡＭ
２３  ＨＤＤ
２４，２４Ａ  ＲＯＭ
２４１  解析処理プログラム
２４２  描画処理プログラム
２５  ハードウェアアクセラレータ
２５１  ローカルＲＡＭ
２６  入力Ｉ／Ｆ部
２７  画像形成部
３０，３１，３２，３３  ＤＬ（ディスプレイリスト）
４０  プリント可能データ
Ｎ  通信ネットワーク
【図１】
2011165022.tif 000004
【図２】
2011165022.tif 000005
【図３】
2011165022.tif 000006
【図４】
2011165022.tif 000007
【図５】
2011165022.tif 000008
【図６】
2011165022.tif 000009
【図７】
2011165022.tif 000010
【図８】
2011165022.tif 000011
【図９】
2011165022.tif 000012
【図１０】
2011165022.tif 000013