(57)【要約】【課題】回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる画像処理装置、画像形成装置、及びプログラムを提供する。【解決手段】ＤＲＰ１２は、再構成可能回路部１６に対して、第１再構成回路３０Ａを書き込む書込部５０と、描画情報に含まれる複数の描画コマンドの中から第１描画コマンドを探索する第１解釈処理部３２Ａと、複数の描画コマンドのうち第１描画コマンドを除く描画コマンドに応じた処理を行う第１処理部３４Ａ、３８Ｂと、第１描画コマンドが探索された場合、第１再構成回路３０Ａを第２再構成回路３０Ｂに書き換える書換部５２と、複数の描画コマンドのうち第１描画コマンドに応じた処理を行う第２処理部３４Ｃと、を備える。【選択図】図５
2020131547.tif 000002
【特許請求の範囲】
【請求項１】
回路内に記憶領域を有し、かつ、製造後に回路構成を再構成可能な回路再構成デバイスに対して、描画処理を行うための第１再構成回路を書き込む書込部と、
前記第１再構成回路に設けられ、かつ、前記描画処理の対象とする描画情報に含まれる複数の描画コマンドの中から、予め定められた第１描画コマンドを探索する探索部と、
前記第１再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第１描画コマンドを除く描画コマンドに応じた処理を行う第１処理部と、
前記探索部により前記第１描画コマンドが探索された場合、前記第１再構成回路を、前記第１描画コマンドに応じた処理を行うための第２再構成回路に書き換える書換部と、
前記第２再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第１描画コマンドに応じた処理を行う第２処理部と、
を備えた画像処理装置。
【請求項２】
前記書換部は、前記探索部により前記第１描画コマンドが探索されなかった場合、前記第２再構成回路への書き換えを行わない請求項１に記載の画像処理装置。
【請求項３】
前記第１再構成回路に設けられ、かつ、前記第１処理部による処理の結果を合成して得られる画像情報を出力する第１出力部を更に備え、
前記第１出力部は、前記探索部により前記第１描画コマンドが探索されなかった場合、前記画像情報を最終的な処理結果として出力する請求項２に記載の画像処理装置。
【請求項４】
前記第１再構成回路に設けられ、かつ、前記探索部により探索された第１描画コマンドの処理の対象となる画素の位置及びサイズを含む探索情報を生成する生成部を更に備えた請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２再構成回路に設けられ、かつ、前記描画情報及び前記探索情報に基づいて、前記複数の描画コマンドの中から前記第１描画コマンドのみを抽出する抽出部を更に備えた請求項４に記載の画像処理装置。
【請求項６】
前記第２処理部は、前記抽出部により抽出された前記第１描画コマンドに応じた処理を行い、
前記第２再構成回路に設けられ、かつ、前記第２処理部による処理の結果として得られる画像情報を出力する第２出力部を更に備えた請求項５に記載の画像処理装置。
【請求項７】
前記第１描画コマンドは、前記記憶領域のうち一定容量以上の領域を使用するコマンドである請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１描画コマンドは、出力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドである請求項７に記載の画像処理装置。
【請求項９】
前記第１描画コマンドを除く描画コマンドは、
単色描画を表し、かつ、描画色を表す１つの色データと、描画の長さを表す画素数データとを含む第２描画コマンド、及び、
前記出力解像度よりも低い入力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データと、前記入力解像度を前記出力解像度に変換する倍率とを含む第３描画コマンドの少なくとも一方である請求項８に記載の画像処理装置。
【請求項１０】
描画情報に応じた画像情報を出力する請求項１〜９のいずれか１項に記載の画像処理装置と、
前記画像処理装置から出力された画像情報に対応する画像を記録媒体に形成する形成部と、
を備えた画像形成装置。
【請求項１１】
コンピュータを、請求項１〜９のいずれか１項に記載の画像処理装置が備える書込部及び書換部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、回路構成が再構成可能な再構成可能回路を備えた画像処理装置が記載されている。この画像処理装置は、再構成可能回路内の回路として構成され、画像メモリにアクセスすることで、画像データに表されたオブジェクトを画像メモリに描画する描画処理手段と、画像データを解釈することで、継続して異なるオブジェクトを画像メモリに描画するよう描画処理手段に指示するためのコマンドを生成するコマンド生成手段と、を有する。また、このコマンド生成手段は、画像データに基づき各オブジェクトの描画処理を示す中間データをコマンドとして生成する手段であり、描画処理が同一であり描画順番が連続する複数のオブジェクトについての連続処理用の中間データと、同一の描画処理が連続しない各オブジェクトについての不連続処理用の中間データと、をコマンドとして生成する。また、この連続処理用の中間データには、同一の描画処理が行われ描画順番が連続する複数のオブジェクトを示すリストが含まれる。また、この描画処理手段は、リストに従い、連続する複数のオブジェクトを継続して画像メモリに書き込む。
【０００３】
また、特許文献２には、再構成可能回路を用いて並列処理を実現する画像処理装置が記載されている。この画像処理装置は、各ページ内に複数のオブジェクトを並列処理で描画する描画処理部と、各ページ内における各オブジェクトの座標情報に基づいて、互いに重なり合う複数のオブジェクトを判定してそれらの重なり部分の座標情報を得る重なり判定部と、を有する。また、この画像処理装置は、重なり部分の座標情報に基づいて、描画処理部による並列処理における各オブジェクトの描画のタイミングを制御するタイミング制御部を有する。また、この画像処理装置は、互いに重なり合う複数のオブジェクトを並列処理で描画させるにあたり、タイミング制御部によって生成されたタイミング情報に基づいて、当該複数のオブジェクトの重なり部分において下層オブジェクトを描画させてから上層オブジェクトを重ね合わせて描画させる描画部を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６１６０３１７号公報
【特許文献２】特許第５６９９７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理が行われる。このため、大容量の画像データを含む描画コマンドを処理する場合等に、当該描画コマンドの処理性能の低下が発生することがある。
【０００６】
本発明は、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる画像処理装置、画像形成装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、第１態様に係る画像処理装置は、回路内に記憶領域を有し、かつ、製造後に回路構成を再構成可能な回路再構成デバイスに対して、描画処理を行うための第１再構成回路を書き込む書込部と、前記第１再構成回路に設けられ、かつ、前記描画処理の対象とする描画情報に含まれる複数の描画コマンドの中から、予め定められた第１描画コマンドを探索する探索部と、前記第１再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第１描画コマンドを除く描画コマンドに応じた処理を行う第１処理部と、前記探索部により前記第１描画コマンドが探索された場合、前記第１再構成回路を、前記第１描画コマンドに応じた処理を行うための第２再構成回路に書き換える書換部と、前記第２再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第１描画コマンドに応じた処理を行う第２処理部と、を備えている。
【０００８】
また、第２態様に係る画像処理装置は、第１態様に係る画像処理装置において、前記書換部が、前記探索部により前記第１描画コマンドが探索されなかった場合、前記第２再構成回路への書き換えを行わない。
【０００９】
また、第３態様に係る画像処理装置は、第２態様に係る画像処理装置において、前記第１再構成回路に設けられ、かつ、前記第１処理部による処理の結果を合成して得られる画像情報を出力する第１出力部を更に備え、前記第１出力部が、前記探索部により前記第１描画コマンドが探索されなかった場合、前記画像情報を最終的な処理結果として出力する。
【００１０】
また、第４態様に係る画像処理装置は、第１態様〜第３態様のいずれか１の態様に係る画像処理装置において、前記第１再構成回路に設けられ、かつ、前記探索部により探索された第１描画コマンドの処理の対象となる画素の位置及びサイズを含む探索情報を生成する生成部を更に備えている。
【００１１】
また、第５態様に係る画像処理装置は、第４態様に係る画像処理装置において、前記第２再構成回路に設けられ、かつ、前記描画情報及び前記探索情報に基づいて、前記複数の描画コマンドの中から前記第１描画コマンドのみを抽出する抽出部を更に備えている。
【００１２】
また、第６態様に係る画像処理装置は、第５態様に係る画像処理装置において、前記第２処理部が、前記抽出部により抽出された前記第１描画コマンドに応じた処理を行い、前記第２再構成回路に設けられ、かつ、前記第２処理部による処理の結果として得られる画像情報を出力する第２出力部を更に備えている。
【００１３】
また、第７態様に係る画像処理装置は、第１態様〜第６態様のいずれか１の態様に係る画像処理装置において、前記第１描画コマンドが、前記記憶領域のうち一定容量以上の領域を使用するコマンドとされている。
【００１４】
また、第８態様に係る画像処理装置は、第７態様に係る画像処理装置において、前記第１描画コマンドが、出力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドとされている。
【００１５】
また、第９態様に係る画像処理装置は、第８態様に係る画像処理装置において、前記第１描画コマンドを除く描画コマンドが、単色描画を表し、かつ、描画色を表す１つの色データと、描画の長さを表す画素数データとを含む第２描画コマンド、及び、前記出力解像度よりも低い入力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データと、前記入力解像度を前記出力解像度に変換する倍率とを含む第３描画コマンドの少なくとも一方とされている。
【００１６】
一方、上記目的を達成するために、第１０態様に係る画像形成装置は、描画情報に応じた画像情報を出力する第１態様〜第９態様のいずれか１の態様に係る画像処理装置と、前記画像処理装置から出力された画像情報に対応する画像を記録媒体に形成する形成部と、を備えている。
【００１７】
更に、上記目的を達成するために、第１１態様に係るプログラムは、コンピュータを、第１態様〜第９態様のいずれか１の態様に係る画像処理装置が備える書込部及び書換部として機能させる。
【発明の効果】
【００１８】
第１態様、第１０態様、及び第１１態様によれば、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
【００１９】
第２態様によれば、第１描画コマンドの探索結果に係わらず書き換えを行う場合と比較して、不要な書き換えの発生を抑制することができる、という効果を有する。
【００２０】
第３態様によれば、第１描画コマンドの探索結果に係わらず最終的な処理結果を得ることができる、という効果を有する。
【００２１】
第４態様によれば、探索情報を生成しない場合と比較して、第１描画コマンドの処理の対象となる画素の位置及びサイズを容易に特定することができる、という効果を有する。
【００２２】
第５態様によれば、描画情報及び探索情報を用いない場合と比較して、第１描画コマンドを容易に抽出することができる、という効果を有する。
【００２３】
第６態様によれば、第１描画コマンドに応じた処理の結果が反映された画像情報を得ることができる、という効果を有する。
【００２４】
第７態様によれば、記憶領域のうち一定容量以上の領域を使用する第１描画コマンドを考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
【００２５】
第８態様によれば、第１描画コマンドの特性を考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
【００２６】
第９態様によれば、第１描画コマンドを除く第２描画コマンドの特性又は第３描画コマンドの特性を考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
【図面の簡単な説明】
【００２７】
【図１】実施形態に係る画像形成装置の機能的な構成の一例を示すブロック図である。
【図２】実施形態に係るＤＲＰを用いて処理を行う画像形成装置の電気的な構成の一例を示すブロック図である。
【図３】実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【図４】比較例に係る再構成可能回路部の構成を示すブロック図である。
【図５】実施形態に係るＤＲＰの構成の一例を示すブロック図である。
【図６】実施形態に係るディスプレイリストの一例を模式的に示す図である。
【図７】実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【００２９】
図１は、本実施形態に係る画像形成装置９０の機能的な構成の一例を示すブロック図である。
図１に示すように、本実施形態に係る画像形成装置９０は、画像処理装置７０と、画像メモリ８０と、画像形成部８２と、を備えている。画像処理装置７０は、中間データ生成部７２と、描画処理部７４と、を備えている。
【００３０】
画像処理装置７０には、外部のパーソナルコンピュータ（ＰＣ）等から、ページ記述言語（Page Description Language：ＰＤＬ）で記述された画像データが入力される。このページ記述言語は、画像形成装置９０に画像形成処理等を実行させるためのコンピュータプログラミング言語の一種である。このページ記述言語で記述された画像データは、印刷対象の画像を構成する文字や図形等のオブジェクトの位置情報、書式情報、及び色情報等を含んでいる。
【００３１】
中間データ生成部７２は、コマンドデコーダとしての機能を有し、入力された画像データを解釈することにより、印刷対象の画像を表す中間データを生成する。この中間データは、最終的に画像形成部８２に出力される描画データに変換される前段階のデータであり、描画データの生成の手順を表す描画コマンドを含んでいる。中間データの一例として、ディスプレイリスト（ＤＬ）があるが、これに限定されるものではない。この中間データは、印刷対象の画像の構成要素であるオブジェクトのそれぞれについて、当該オブジェクトを描画する手順を表す描画コマンドを含んでいる。具体的に、中間データには、ページ内におけるオブジェクトの位置を示す位置情報、そのオブジェクトの描画順番（描画コマンドの実行順番）、そのオブジェクトの大きさを示すサイズ情報、そのオブジェクトの描画内容（例えばイメージや図形や文字等）を示す描画内容情報、及び、そのオブジェクトの色（例えばオブジェクトを何色で塗りつぶすか等）を示す色情報等が含まれる。例えば、あるページの中間データは、当該ページを構成する各オブジェクトの描画手順を表すコマンドの集合であると捉えられる。
【００３２】
また、中間データ生成部７２は、画像データを解釈し、実行される描画処理が同一であり、かつ、描画順番が連続する複数のオブジェクトを、継続して画像メモリ８０に書き込むように描画処理部７４に指示するための新たな中間データ（コマンド）を生成する。
【００３３】
描画処理部７４は、ラスタライザとしての機能を有し、一例として、ＲＩＰ（Raster Image Processor）である。描画処理部７４は、中間データ生成部７２から中間データを取得し、当該中間データに従って、画像形成部８２に適合し、かつ、画像形成部８２で取り扱われる描画データを生成する。描画データは、例えば、印刷画像を構成する画素毎の情報（画素値）を含むラスタデータであり、一例として、ビットマップデータ等である。描画処理部７４は、フレームメモリ等である画像メモリ８０にアクセスして描画データを画像メモリ８０に書き込むことで、描画データを画像メモリ８０に記憶させる。例えば、描画処理部７４は、中間データが示す描画順番に従い、各オブジェクトを順番に画像メモリ８０に書き込む。また、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、描画処理部７４は、当該複数のオブジェクトを継続して画像メモリ８０に書き込む。この場合、異なるオブジェクトが継続して画像メモリ８０に書き込まれることになる。
【００３４】
画像形成部８２は、形成部の一例であり、描画データによって表される画像を、用紙等の記録媒体に印刷する。例えば、１ページ分の描画データが画像メモリ８０に書き込まれると、この描画データは画像形成部８２に出力され、描画データによって表される画像が画像形成部８２によって記録媒体に印刷される。
【００３５】
上述した画像処理装置７０では、一例として、動的再構成可能プロセッサによって処理が実行される。動的再構成可能プロセッサには、一例として、ＤＲＰ（Dynamic Reconfigurable Processor）や、ＳＯＣ ＦＰＧＡ（System On a Chip Field Programmable Gate Array）等が適用される。本実施形態では、動的再構成可能プロセッサの代表例として、ＤＲＰを適用した場合について説明するが、ＳＯＣ ＦＰＧＡを適用した場合でも同様である。
【００３６】
図２は、本実施形態に係るＤＲＰを用いて処理を行う画像形成装置９０の電気的な構成の一例を示すブロック図である。
図２に示すように、本実施形態に係る画像形成装置９０は、一例として、メインＣＰＵ（Central Processing Unit）２と、メインメモリ３と、ＣＰＵバス−ＰＣＩ（Peripheral Component Interconnect）ブリッジ４と、ＤＲＰアクセラレータ６と、これらを接続するための内部バス６２と、を備えている。
【００３７】
ＤＲＰアクセラレータ６は、一例として、複数のＤＲＰシステム８と、ＰＣＩスイッチ１０と、を備えている。ＰＣＩスイッチ１０には、複数のＤＲＰシステム８が接続されている。ＤＲＰシステム８は、ＤＲＰ１２と、ＤＤＲ（Double-Data-Rate）メモリ６０と、を備えている。ＤＤＲメモリ６０には、ＤＲＰ１２を制御するためのデータやプログラム等が記憶される。
【００３８】
図３は、本実施形態に係る画像処理装置７０のハードウェア構成の一例を示すブロック図である。
図３に示すように、本実施形態に係る画像処理装置７０（図１参照）は、ＤＲＰ１２として構成されている。ＤＲＰ１２は、製造後に内部の論理回路の構成を動的に変更（再構成）可能なプロセッサの一例である。
【００３９】
ＤＲＰ１２は、再構成制御部１４と、再構成可能回路部１６と、を備えている。再構成制御部１４は、ＤＡＰ（Digital Application Processor）とも称され、ＲＩＳＣ（Reduced Instruction Set Computer）コアモジュールとして構成される。また、再構成可能回路部１６は、ＤＮＡ（Distributed Network Architecture）とも称される。
【００４０】
ＤＲＰ１２は、再構成制御部１４及び再構成可能回路部１６に加え、再構成可能回路部１６のダイレクト入出力用のインタフェース（Ｉ／Ｆ）であるダイレクトＩ／Ｏ１８と、ＰＣＩインタフェース２０と、ＤＤＲ-ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）インタフェース２２と、ＤＭＡ（Direct Memory Access）コントローラ２４と、その他の周辺デバイス２６と、これらを接続するための内部バス２８と、を含んでいる。
【００４１】
再構成制御部１４は、デバッグインタフェース１４Ａと、ＲＩＳＣコア１４Ｂと、命令キャッシュ１４Ｃと、データキャッシュ１４Ｄと、を含む。また、再構成可能回路部１６は、ＰＥ（Processing Element）マトリックス１６Ａと、コンフィギュレーションメモリ１６Ｂと、を含む。ＰＥマトリックス１６Ａには、複数の処理エレメントＰＥ（論理回路要素）が２次元に配置されている。一例として、３７６個の処理エレメントＰＥが、ＰＥマトリックス１６Ａに配置されている。コンフィギュレーションメモリ１６Ｂには、コンフィギュレーションデータ１６Ｃが格納されている。コンフィギュレーションデータ１６Ｃは、ＰＥマトリックス１６Ａに含まれる処理エレメントＰＥの機能及び／又は接続を変えてＰＥマトリックス１６Ａを再構成し、ＰＥマトリックス１６Ａに回路を構成するためのデータである。
【００４２】
再構成制御部１４は、再構成可能回路部１６を含むＤＲＰ１２全体の動作制御を行うモジュールであり、例えば、制御のためのプログラム（以下、「制御プログラム」という。）を実行することで実現される。再構成制御部１４は、ＰＥマトリックス１６Ａ内の処理エレメントＰＥの接続関係を制御することで、ＰＥマトリックス１６Ａにおいてデータ処理のための回路を構成する。また、再構成制御部１４は、ＰＥマトリックス１６Ａにおいて構成された回路に対してデータを供給したり、その回路からのデータを他のシステムに出力したりする制御を行う。
【００４３】
コンフィギュレーションデータ１６Ｃは、ＰＥマトリックス１６Ａの回路構成を規定するデータである。ＰＥマトリックス１６Ａ内の回路の再構成は、コンフィギュレーションデータ１６Ｃに従って行われる。コンフィギュレーションメモリ１６Ｂには、複数のコンフィギュレーションデータ１６Ｃが記憶される。コンフィギュレーションメモリ１６Ｂ内の複数のコンフィギュレーションデータ１６Ｃのうち１つが選択されてアクティブ状態になると、そのコンフィギュレーションデータ１６Ｃが規定する回路構成がＰＥマトリックス１６Ａ内に構成されることになる。一例として、コンフィギュレーションメモリ１６Ｂには３つのコンフィギュレーションデータ１６Ｃが記憶されている。但し、本実施形態では、この例に限定されるものではなく、３つ以外の数のコンフィギュレーションデータ１６Ｃがコンフィギュレーションメモリ１６Ｂに記憶されてもよい。
【００４４】
次に、コンフィギュレーションメモリ１６Ｂについて具体的に説明する。コンフィギュレーションメモリ１６Ｂは、複数のバンク（すなわち、複数のメモリ）を有する構成となっている。例えば、コンフィギュレーションメモリ１６Ｂは、図示は省略するが、実行バンク＃０（実行用のメモリ）、バンク＃１（待機用のメモリ）、及びバンク＃２（待機用のメモリ）によって構成されている。そして、実行バンク＃０に格納されたコンフィギュレーションデータ１６Ｃによって、ＰＥマトリックス１６Ａには第１の機能が構成されて実行される。また、バックグラウンドバンクとしてのバンク＃１又はバンク＃２にそれぞれ格納されたコンフィギュレーションデータ１６Ｃによって、ＰＥマトリックス１６Ａには第２の機能又は第３の機能が構成される。そして、コンフィギュレーションメモリ１６Ｂのバンクを切り替えることにより、ＰＥマトリックス１６Ａには、第１の機能に替わって第２の機能又は第３の機能が再構成される。
【００４５】
ＰＥマトリックス１６Ａの再構成は、例えば、１サイクル（クロックサイクル）でダイナミックに行われる。このようにＰＥマトリックス１６Ａは、回路を構成するための複数の処理エレメントＰＥと、これらの処理エレメントＰＥを接続するための内部配線とを含む再構成ユニットであり、内部配線によって処理エレメントＰＥの接続を変えることにより、ＰＥマトリックス１６Ａに含まれる回路が再構成される。
【００４６】
次に、ＰＥマトリックス１６Ａに構成される機能の切り替え処理について説明する。例えば、再構成制御部１４は、中間データ（各オブジェクトの描画コマンド）に従い、各オブジェクトを画像メモリ８０に描画するためのコンフィギュレーションデータ１６ＣをＤＤＲメモリ６０上で生成し（ＤＡＰ動作）、当該コンフィギュレーションデータ１６ＣをＤＤＲメモリ６０からバンク＃１又はバンク＃２にロードする（ＤＡＰ動作）。具体的に、再構成制御部１４は、オブジェクトの位置情報、サイズ情報、描画内容、及び色情報等のパラメータ（中間データに規定されているパラメータ）に基づいて、当該オブジェクトを画像メモリ８０に描画するためのコンフィギュレーションデータ１６ＣをＤＤＲメモリ６０上で生成する。そして、再構成制御部１４は、当該コンフィギュレーションデータ１６ＣをＤＤＲメモリ６０からバンク＃１又はバンク＃２にロードし、さらに、バンク＃１又はバンク＃２から実行バンク＃０にコンフィギュレーションデータ１６Ｃをロードすることで、コンフィギュレーションデータ１６Ｃに応じた機能をＰＥマトリックス１６Ａに構成する（ＤＡＰ動作）。そして、ＰＥマトリックス１６Ａは、実行バンク＃０にロードされたコンフィギュレーションデータ１６Ｃによって構成された機能を実行する（ＤＮＡ動作）。なお、再構成制御部１４によって実行されるＤＡＰ動作は、ソフトウェアによる処理であり、ＰＥマトリックス１６Ａによって実行されるＤＮＡ動作は、ハードウェアによる処理である。
【００４７】
次に、画像メモリ８０上に描画データを描画する処理（描画処理）を実行するための描画コマンドについて具体的に説明する。この描画コマンドとしては、一例として、「ＦＩＬＬ」、「ＥＣＯＰＹ」、及び「ＤＴＣＯＰＹ」の複数種類（ここでは３種類）のコマンドが含まれている。これらの描画コマンドは、各オブジェクトの中間データ（例えば、ディスプレイリスト等）に規定されている。
【００４８】
「ＤＴＣＯＰＹ」コマンドは、出力解像度の画素の並びとして描画色を表すコマンドであり、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドである。なお、この「ＤＴＣＯＰＹ」コマンドは、第１描画コマンドの一例である。また、出力解像度とは、画像形成装置９０に設定されている解像度である。
【００４９】
「ＦＩＬＬ」コマンドは、単色描画を表すコマンドであり、描画色を表す１つの色データと、描画の長さを表す画素数データとを含むコマンドである。なお、この「ＦＩＬＬ」コマンドは、第２描画コマンドの一例である。
【００５０】
「ＥＣＯＰＹ」コマンドは、入力解像度の画素の並びとして描画色を表すコマンドであり、描画色を表す複数の色データと、描画の長さを表す画素数データと、入力解像度を出力解像度に変換する倍率とを含むコマンドである。なお、この「ＥＣＯＰＹ」コマンドは、第３描画コマンドの一例である。また、入力解像度とは、外部のＰＣ等での編集時に設定された解像度であり、一般的に、上述の出力解像度よりも低い。
【００５１】
次に、図４を参照して、比較例に係る再構成可能回路部１６の構成について説明する。
【００５２】
図４は、比較例に係る再構成可能回路部１６の構成を示すブロック図である。
図４に示すように、比較例に係る再構成可能回路部１６には、描画処理を実行するための再構成回路３０が書き込まれている。
【００５３】
再構成回路３０には、解釈処理部３２、ＦＩＬＬ処理部３４Ａ、ＥＣＯＰＹ処理部３４Ｂ、ＤＴＣＯＰＹ処理部３４Ｃ、ＦＩＦＯ（First In First Out）３６Ａ〜３６Ｄ、及び合成出力部３８が設けられている。なお、ＦＩＦＯ３６Ａ〜３６Ｄは、一例として、コンフィギュレーションメモリ１６Ｂに設けられている。
【００５４】
解釈処理部３２は、一例として、描画情報の入力を受け付け、受け付けた描画情報を解析して、上述の描画順番を表す処理順番情報、「ＦＩＬＬ」コマンド、「ＥＣＯＰＹ」コマンド、及び「ＤＴＣＯＰＹ」コマンドを抽出する。なお、ここでいう描画情報とは、中間データの一例であるディスプレイリストとされる。そして、解釈処理部３２は、処理順番情報をＦＩＦＯ３６Ａに格納する。解釈処理部３２は、「ＦＩＬＬ」コマンドの実行をＦＩＬＬ処理部３４Ａに指示し、ＦＩＬＬ処理部３４Ａは、「ＦＩＬＬ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｂに格納する。同様に、解釈処理部３２は、「ＥＣＯＰＹ」コマンドの実行をＥＣＯＰＹ処理部３４Ｂに指示し、ＥＣＯＰＹ処理部３４Ｂは、「ＥＣＯＰＹ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｃに格納する。解釈処理部３２は、「ＤＴＣＯＰＹ」コマンドの実行をＤＴＣＯＰＹ処理部３４Ｃに指示し、ＤＴＣＯＰＹ処理部３４Ｃは、「ＤＴＣＯＰＹ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｄに格納する。
【００５５】
合成出力部３８は、ＦＩＦＯ３６Ａに格納された処理順番情報に従って、ＦＩＦＯ３６Ｂ〜３６Ｄの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像を後段に出力する。
【００５６】
ところで、上述の「ＤＴＣＯＰＹ」コマンドは、大容量の画像データを含むために、コンフィギュレーションメモリ１６Ｂの記憶領域のうち一定容量以上の領域を使用する場合がある。つまり、「ＤＴＣＯＰＹ」コマンドの場合、コマンドの特性上、コマンドに含まれる画像データがコンフィギュレーションメモリ１６Ｂの記憶領域の多くを使用することがある。このとき、「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンドの各々に応じた処理を実行するための記憶領域が不足することで、これらの処理が停止してしまい、処理性能の低下が発生する場合がある。
【００５７】
これに対して、本実施形態に係るＤＲＰ１２では、「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンドを実行する第１再構成回路と、「ＤＴＣＯＰＹ」コマンドのみを実行する第２再構成回路とを書き換えて実行することにより、処理性能の低下の発生を抑制する。図５を参照して、本実施形態に係るＤＲＰ１２の構成について説明する。
【００５８】
図５は、本実施形態に係るＤＲＰ１２の構成の一例を示すブロック図である。
図５に示すように、本実施形態に係るＤＲＰ１２は、再構成制御部１４及び再構成可能回路部１６を備えている。なお、再構成可能回路部１６は、回路再構成デバイスの一例である。
【００５９】
図５の上図に示すように、本実施形態に係る再構成制御部１４は、上述の制御プログラムを実行することにより書込部５０として機能する。この制御プログラムは、例えば、ＤＲＰ１２に予めインストールされていてもよい。制御プログラムは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、ＤＲＰ１２に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、ＣＤ-ＲＯＭ（Compact Disc Read Only Memory）、光磁気ディスク、ＨＤＤ（Hard Disk Drive）、ＤＶＤ-ＲＯＭ（Digital Versatile Disc Read Only Memory）、フラッシュメモリ、メモリカード等が想定される。
【００６０】
書込部５０は、再構成可能回路部１６に対して、描画処理を行うための第１再構成回路３０Ａを書き込む。第１再構成回路３０Ａには、第１解釈処理部３２Ａ、ＦＩＬＬ処理部３４Ａ、ＥＣＯＰＹ処理部３４Ｂ、ＦＩＦＯ３６Ａ、３６Ｂ、３６Ｃ、第１出力部３８Ａ、及び探索情報生成部４０が設けられている。この第１再構成回路３０Ａには、ＤＴＣＯＰＹ処理部３４Ｃ及びＦＩＦＯ３６Ｄが設けられていない。
【００６１】
第１解釈処理部３２Ａは、探索部の一例として機能し、一例として、描画情報（ここではディスプレイリスト）の入力を受け付け、受け付けた描画情報を解析して、上述の処理順番情報、及び複数の描画コマンドを抽出する。そして、第１解釈処理部３２Ａは、抽出した複数の描画コマンドの中から「ＤＴＣＯＰＹ」コマンドを探索する。この「ＤＴＣＯＰＹ」コマンドは、第１描画コマンドの一例である。
【００６２】
そして、第１解釈処理部３２Ａは、「ＤＴＣＯＰＹ」コマンドを探索した場合、「ＤＴＣＯＰＹ」コマンドの実行を指示することなく、「ＤＴＣＯＰＹ」コマンドの処理の対象となる画素の位置及びサイズを探索情報生成部４０に通知する。すなわち、「ＤＴＣＯＰＹ」コマンドに応じた処理は実行されず、「ＤＴＣＯＰＹ」コマンドに対する、ディスプレイリストのデータは読み飛ばされる。
【００６３】
また、第１解釈処理部３２Ａは、描画情報から抽出した処理順番情報をＦＩＦＯ３６Ａに格納する。第１解釈処理部３２Ａは、描画情報から抽出した「ＦＩＬＬ」コマンドの実行をＦＩＬＬ処理部３４Ａに指示し、ＦＩＬＬ処理部３４Ａは、「ＦＩＬＬ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｂに格納する。同様に、第１解釈処理部３２Ａは、描画情報から抽出した「ＥＣＯＰＹ」コマンドの実行をＥＣＯＰＹ処理部３４Ｂに指示し、ＥＣＯＰＹ処理部３４Ｂは、「ＥＣＯＰＹ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｃに格納する。これらのＦＩＬＬ処理部３４Ａ及びＥＣＯＰＹ処理部３４Ｂの各々は、第１処理部の一例として機能し、「ＤＴＣＯＰＹ」コマンドを除く「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンドの各々に応じた処理を行う。
【００６４】
ここで、第１解釈処理部３２Ａは、描画情報から抽出した「ＤＴＣＯＰＹ」コマンドを「ＦＩＬＬ」コマンドに置き換えてもよいし、抽出した「ＤＴＣＯＰＹ」コマンドをダミー値（例えば、０ｘＦＦ）に置き換えてもよい。
【００６５】
探索情報生成部４０は、第１解釈処理部３２Ａから通知された、「ＤＴＣＯＰＹ」コマンドの画素の位置及びサイズを含む探索情報を生成する。なお、探索情報生成部４０は、「ＤＴＣＯＰＹ」コマンドが探索されなかった場合、描画情報に「ＤＴＣＯＰＹ」コマンドが含まれていないことを示す情報を含む探索情報を生成する。
【００６６】
第１出力部３８Ａは、第１解釈処理部３２Ａにより「ＤＴＣＯＰＹ」コマンドが探索された場合、ＦＩＦＯ３６Ａに格納された処理順番情報に従って、ＦＩＦＯ３６Ｂ、３６Ｃの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像（以下、「中間画像」という。）を一時的にコンフィギュレーションメモリ１６Ｂに保持する。また、第１出力部３８Ａは、第１解釈処理部３２Ａにより「ＤＴＣＯＰＹ」コマンドが探索されなかった場合、ＦＩＦＯ３６Ａに格納された処理順番情報に従って、ＦＩＦＯ３６Ｂ、３６Ｃの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像を最終的な処理結果として後段に出力する。
【００６７】
次に、図５の下図に示すように、本実施形態に係る再構成制御部１４は、上述の制御プログラムを実行することにより書換部５２として機能する。
【００６８】
書換部５２は、第１解釈処理部３２Ａにより「ＤＴＣＯＰＹ」コマンドが探索された場合、第１再構成回路３０Ａを、「ＤＴＣＯＰＹ」コマンドに応じた処理を行うための第２再構成回路３０Ｂに書き換える。第２再構成回路３０Ｂには、第２解釈処理部３２Ｂ、ＤＴＣＯＰＹ処理部３４Ｃ、ＦＩＦＯ３６Ｄ、３６Ｅ、及び第２出力部３８Ｂが設けられている。この第２再構成回路３０Ｂには、ＦＩＬＬ処理部３４Ａ、ＥＣＯＰＹ処理部３４Ｂ、及びＦＩＦＯ３６Ｂ、３６Ｃが設けられていない。
【００６９】
書換部５２は、第１解釈処理部３２Ａにより「ＤＴＣＯＰＹ」コマンドが探索されなかった場合、第２再構成回路３０Ｂへの書き換えを行わない。つまり、「ＤＴＣＯＰＹ」コマンドが含まれない場合には、回路の再構成を行わず、そのまま処理を終了する。なお、書換部５２には探索情報が入力されるため、探索情報により「ＤＴＣＯＰＹ」コマンドの有無が判定される。
【００７０】
第２解釈処理部３２Ｂは、抽出部の一例として機能し、第１再構成回路３０Ａから得られる描画情報及び探索情報に基づいて、複数の描画コマンドの中から「ＤＴＣＯＰＹ」コマンドのみを抽出する。すなわち、第２再構成回路３０Ｂでは、「ＤＴＣＯＰＹ」コマンドに応じた処理のみが実行され、「ＤＴＣＯＰＹ」コマンド以外の「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンドに対する、ディスプレイリストのデータは読み飛ばされる。
【００７１】
具体的に、第２解釈処理部３２Ｂは、探索情報から得られる、「ＤＴＣＯＰＹ」コマンドの画素の位置及びサイズから、ＤＴＣＯＰＹの対象領域を示すＤＴＣＯＰＹ対象領域情報を生成し、生成したＤＴＣＯＰＹ対象領域情報をＦＩＦＯ３６Ｅに格納する。第２解釈処理部３２Ｂは、描画情報から抽出した「ＤＴＣＯＰＹ」コマンドの実行をＤＴＣＯＰＹ処理部３４Ｃに指示し、ＤＴＣＯＰＹ処理部３４Ｃは、「ＤＴＣＯＰＹ」コマンドに応じた処理を実行し、処理結果をＦＩＦＯ３６Ｄに格納する。このＤＴＣＯＰＹ処理部３４Ｃは、第２処理部の一例として機能し、「ＤＴＣＯＰＹ」コマンドに応じた処理を行う。
【００７２】
第２出力部３８Ｂは、ＦＩＦＯ３６Ｅに格納されたＤＴＣＯＰＹ対象領域情報に従って、コンフィギュレーションメモリ１６Ｂに一時的に保持された中間画像に、ＦＩＦＯ３６Ｄに格納された処理結果を合成して得られた画像を最終的な処理結果として後段に出力する。
【００７３】
ここで、上述した複数の描画コマンドは、一例として、ディスプレイリストに規定されるが、図６を参照して、本実施形態に係るディスプレイリストについて説明する。
【００７４】
図６は、本実施形態に係るディスプレイリストの一例を模式的に示す図である。
図６に示すように、本実施形態に係るディスプレイリストは、画像面及びタグ面を有する。画像面とは、画素の階調値を表す面であり、タグ面とは、画素のタグ値を表す面である。ここでいうタグ値とは、画素が持つ属性（例えば、画素が単色であるかラスタ色であるか等。）を表している。
【００７５】
図６の左図に示すディスプレイリストは、上述の第１再構成回路（図５の上図参照）に入力されるリストである。このディスプレイリストは、画像データを画像形成装置９０の出力解像度に応じた複数の出力ラインに分割し、各出力ラインの描画内容を描画コマンドで表現したものである。第１再構成回路では、画像面における出力ラインＬ１、及び、タグ面における出力ラインＬ２が「ＤＴＣＯＰＹ」コマンドのラインである。これらの出力ラインＬ１及び出力ラインＬ２の各々に含まれる画素には、一例として、ダミー値（例えば、０ｘＦＦ）を出力する。第１再構成回路では、画像面における出力ラインＬ１、及び、タグ面における出力ラインＬ２以外の出力ラインについて選択的に「ＦＩＬＬ」コマンド又は「ＥＣＯＰＹ」コマンドに応じた処理が実行される。
【００７６】
図６の右図に示すディスプレイリストは、上述の第２再構成回路（図５の下図参照）に入力されるリストである。第２再構成回路では、画像面における出力ラインＬ１、及び、タグ面における出力ラインＬ２についてのみ選択的に「ＤＴＣＯＰＹ」コマンドに応じた処理が実行され、出力ラインＬ１及び出力ラインＬ２が上書きされる。
【００７７】
このように本実施形態によれば、ＤＲＰを画像処理に適用した場合に、「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンド等の描画コマンドを実行する第１再構成回路と、「ＤＴＣＯＰＹ」コマンド等の特定の描画コマンドのみを実行する第２再構成回路とを書き換えて実行する。これにより、処理性能の低下の発生が抑制される。
【００７８】
なお、画像処理の性能を表す指標の１つとして、Ｎ並列がある。このＮは、１クロックに処理可能な画素数を表し、数値が大きいほど処理性能が高いことを意味する。一例として、図４に比較例として示した再構成回路を１並列とした場合に、図５の上図に示す第１再構成回路は２並列とされ、図５の下図に示す第２再構成回路は８並列とされる。つまり、第１再構成回路と第２再構成回路とを書き換えて実行することにより、処理性能が向上する。
【００７９】
また、本実施形態によれば、「ＦＩＬＬ」コマンド、「ＥＣＯＰＹ」コマンド、及び「ＤＴＣＯＰＹ」コマンド等を同時に実行可能な回路規模の大きなデバイスに変更する必要がなくなる。このため、製造コストの上昇が抑制される。また、消費電力の上昇が抑制される。
【００８０】
次に、図７を参照して、本実施形態に係るＤＲＰ１２の作用を説明する。なお、図７は、本実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
【００８１】
まず、描画処理の対象とする描画情報（ここではディスプレイリスト）の入力を受け付けると、制御プログラムが起動され、以下の各ステップを実行する。
【００８２】
図７のステップ１００では、書込部５０が、上述の図５の上図に示すように、回路再構成デバイスの一例である再構成可能回路部１６に対して、第１再構成回路３０Ａを書き込む。この第１再構成回路３０Ａには、上述したように、第１解釈処理部３２Ａ、ＦＩＬＬ処理部３４Ａ、ＥＣＯＰＹ処理部３４Ｂ、ＦＩＦＯ３６Ａ、３６Ｂ、３６Ｃ、第１出力部３８Ａ、及び探索情報生成部４０が設けられている。
【００８３】
ステップ１０２では、書込部５０が、第１再構成回路３０Ａに対して、処理の実行を指示する。この指示を受けた第１再構成回路３０Ａは、「ＤＴＣＯＰＹ」コマンドを除く、「ＦＩＬＬ」コマンド及び「ＥＣＯＰＹ」コマンドの各々に応じた処理を実行し、処理終了を再構成制御部１４に通知する。
【００８４】
ステップ１０４では、書換部５２が、第１再構成回路３０Ａから、探索情報及び処理終了の割込を受け付ける。上述したように、この探索情報は、描画情報の中に「ＤＴＣＯＰＹ」コマンドが含まれている場合には、当該コマンドの処理対象となる画素の位置及びサイズを含む。一方、この探索情報は、描画情報の中に「ＤＴＣＯＰＹ」コマンドが含まれていない場合には、描画情報の中に当該コマンドが含まれていないことを示す情報を含む。
【００８５】
ステップ１０６では、書換部５２が、第１再構成回路３０Ａから受け付けた探索情報から、描画情報の中に第１描画コマンド（ここでは「ＤＴＣＯＰＹ」コマンド）が含まれていないか否かを判定する。「ＤＴＣＯＰＹ」コマンドが含まれていると判定した場合（否定判定の場合）、ステップ１０８に移行し、「ＤＴＣＯＰＹ」コマンドが含まれていないと判定した場合（肯定判定の場合）、本制御プログラムによる一連の処理を終了する。
【００８６】
ステップ１０８では、書換部５２が、上述の図５の下図に示すように、第１再構成回路３０Ａを第２再構成回路３０Ｂに書き換える。この第２再構成回路３０Ｂには、上述したように、第２解釈処理部３２Ｂ、ＤＴＣＯＰＹ処理部３４Ｃ、ＦＩＦＯ３６Ｄ、３６Ｅ、及び第２出力部３８Ｂが設けられている。
【００８７】
ステップ１１０では、書換部５２が、第２再構成回路３０Ｂに対して、処理の実行を指示する。この指示を受けた第２再構成回路３０Ｂは、「ＤＴＣＯＰＹ」コマンドに応じた処理のみを実行し、処理終了を再構成制御部１４に通知する。
【００８８】
ステップ１１２では、書換部５２が、第２再構成回路３０Ｂから、処理終了の割込を受け付けると、本制御プログラムによる一連の処理を終了する。
【００８９】
以上、実施形態として画像処理装置を例示して説明した。実施形態は、画像処理装置が備える書込部及び書換部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【００９０】
その他、上記実施形態で説明した画像処理装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【００９１】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【００９２】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【００９３】
２  メインＣＰＵ
３  メインメモリ
４  ＣＰＵバス-ＰＣＩブリッジ
６  ＤＲＰアクセラレータ
８  ＤＲＰシステム
１０  ＰＣＩスイッチ
１２  ＤＲＰ
１４  再構成制御部
１６  再構成可能回路部
１８  ダイレクトＩ／Ｏ
２０  ＰＣＩインタフェース
２２  ＤＤＲ-ＳＤＲＡＭインタフェース
２４  ＤＭＡコントローラ
２６  周辺デバイス
２８  内部バス
３０  再構成回路
３０Ａ  第１再構成回路
３０Ｂ  第２再構成回路
３２  解釈処理部
３２Ａ  第１解釈処理部
３２Ｂ  第２解釈処理部
３４Ａ  ＦＩＬＬ処理部
３４Ｂ  ＥＣＯＰＹ処理部
３４Ｃ  ＤＴＣＯＰＹ処理部
３６Ａ〜３６Ｅ  ＦＩＦＯ
３８  合成出力部
３８Ａ  第１出力部
３８Ｂ  第２出力部
４０  探索情報生成部
６０  ＤＤＲメモリ
６２  内部バス
７０  画像処理装置
７２  中間データ生成部
７４  描画処理部
８０  画像メモリ
８２  画像形成部
９０  画像形成装置
【図１】
2020131547.tif 000003
【図２】
2020131547.tif 000004
【図３】
2020131547.tif 000005
【図４】
2020131547.tif 000006
【図５】
2020131547.tif 000007
【図６】
2020131547.tif 000008
【図７】
2020131547.tif 000009