JP2020131547A - 画像処理装置、画像形成装置、及びプログラム - Google Patents

画像処理装置、画像形成装置、及びプログラム Download PDF

Info

Publication number
JP2020131547A
JP2020131547A JP2019027826A JP2019027826A JP2020131547A JP 2020131547 A JP2020131547 A JP 2020131547A JP 2019027826 A JP2019027826 A JP 2019027826A JP 2019027826 A JP2019027826 A JP 2019027826A JP 2020131547 A JP2020131547 A JP 2020131547A
Authority
JP
Japan
Prior art keywords
unit
command
processing
image
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019027826A
Other languages
English (en)
Inventor
史暁 杉山
Fumiaki Sugiyama
史暁 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2019027826A priority Critical patent/JP2020131547A/ja
Publication of JP2020131547A publication Critical patent/JP2020131547A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる画像処理装置、画像形成装置、及びプログラムを提供する。【解決手段】DRP12は、再構成可能回路部16に対して、第1再構成回路30Aを書き込む書込部50と、描画情報に含まれる複数の描画コマンドの中から第1描画コマンドを探索する第1解釈処理部32Aと、複数の描画コマンドのうち第1描画コマンドを除く描画コマンドに応じた処理を行う第1処理部34A、38Bと、第1描画コマンドが探索された場合、第1再構成回路30Aを第2再構成回路30Bに書き換える書換部52と、複数の描画コマンドのうち第1描画コマンドに応じた処理を行う第2処理部34Cと、を備える。【選択図】図5

Description

本発明は、画像処理装置、画像形成装置、及びプログラムに関する。
例えば、特許文献1には、回路構成が再構成可能な再構成可能回路を備えた画像処理装置が記載されている。この画像処理装置は、再構成可能回路内の回路として構成され、画像メモリにアクセスすることで、画像データに表されたオブジェクトを画像メモリに描画する描画処理手段と、画像データを解釈することで、継続して異なるオブジェクトを画像メモリに描画するよう描画処理手段に指示するためのコマンドを生成するコマンド生成手段と、を有する。また、このコマンド生成手段は、画像データに基づき各オブジェクトの描画処理を示す中間データをコマンドとして生成する手段であり、描画処理が同一であり描画順番が連続する複数のオブジェクトについての連続処理用の中間データと、同一の描画処理が連続しない各オブジェクトについての不連続処理用の中間データと、をコマンドとして生成する。また、この連続処理用の中間データには、同一の描画処理が行われ描画順番が連続する複数のオブジェクトを示すリストが含まれる。また、この描画処理手段は、リストに従い、連続する複数のオブジェクトを継続して画像メモリに書き込む。
また、特許文献2には、再構成可能回路を用いて並列処理を実現する画像処理装置が記載されている。この画像処理装置は、各ページ内に複数のオブジェクトを並列処理で描画する描画処理部と、各ページ内における各オブジェクトの座標情報に基づいて、互いに重なり合う複数のオブジェクトを判定してそれらの重なり部分の座標情報を得る重なり判定部と、を有する。また、この画像処理装置は、重なり部分の座標情報に基づいて、描画処理部による並列処理における各オブジェクトの描画のタイミングを制御するタイミング制御部を有する。また、この画像処理装置は、互いに重なり合う複数のオブジェクトを並列処理で描画させるにあたり、タイミング制御部によって生成されたタイミング情報に基づいて、当該複数のオブジェクトの重なり部分において下層オブジェクトを描画させてから上層オブジェクトを重ね合わせて描画させる描画部を有する。
特許第6160317号公報 特許第5699778号公報
ところで、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理が行われる。このため、大容量の画像データを含む描画コマンドを処理する場合等に、当該描画コマンドの処理性能の低下が発生することがある。
本発明は、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる画像処理装置、画像形成装置、及びプログラムを提供することを目的とする。
上記目的を達成するために、第1態様に係る画像処理装置は、回路内に記憶領域を有し、かつ、製造後に回路構成を再構成可能な回路再構成デバイスに対して、描画処理を行うための第1再構成回路を書き込む書込部と、前記第1再構成回路に設けられ、かつ、前記描画処理の対象とする描画情報に含まれる複数の描画コマンドの中から、予め定められた第1描画コマンドを探索する探索部と、前記第1再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第1描画コマンドを除く描画コマンドに応じた処理を行う第1処理部と、前記探索部により前記第1描画コマンドが探索された場合、前記第1再構成回路を、前記第1描画コマンドに応じた処理を行うための第2再構成回路に書き換える書換部と、前記第2再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第1描画コマンドに応じた処理を行う第2処理部と、を備えている。
また、第2態様に係る画像処理装置は、第1態様に係る画像処理装置において、前記書換部が、前記探索部により前記第1描画コマンドが探索されなかった場合、前記第2再構成回路への書き換えを行わない。
また、第3態様に係る画像処理装置は、第2態様に係る画像処理装置において、前記第1再構成回路に設けられ、かつ、前記第1処理部による処理の結果を合成して得られる画像情報を出力する第1出力部を更に備え、前記第1出力部が、前記探索部により前記第1描画コマンドが探索されなかった場合、前記画像情報を最終的な処理結果として出力する。
また、第4態様に係る画像処理装置は、第1態様〜第3態様のいずれか1の態様に係る画像処理装置において、前記第1再構成回路に設けられ、かつ、前記探索部により探索された第1描画コマンドの処理の対象となる画素の位置及びサイズを含む探索情報を生成する生成部を更に備えている。
また、第5態様に係る画像処理装置は、第4態様に係る画像処理装置において、前記第2再構成回路に設けられ、かつ、前記描画情報及び前記探索情報に基づいて、前記複数の描画コマンドの中から前記第1描画コマンドのみを抽出する抽出部を更に備えている。
また、第6態様に係る画像処理装置は、第5態様に係る画像処理装置において、前記第2処理部が、前記抽出部により抽出された前記第1描画コマンドに応じた処理を行い、前記第2再構成回路に設けられ、かつ、前記第2処理部による処理の結果として得られる画像情報を出力する第2出力部を更に備えている。
また、第7態様に係る画像処理装置は、第1態様〜第6態様のいずれか1の態様に係る画像処理装置において、前記第1描画コマンドが、前記記憶領域のうち一定容量以上の領域を使用するコマンドとされている。
また、第8態様に係る画像処理装置は、第7態様に係る画像処理装置において、前記第1描画コマンドが、出力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドとされている。
また、第9態様に係る画像処理装置は、第8態様に係る画像処理装置において、前記第1描画コマンドを除く描画コマンドが、単色描画を表し、かつ、描画色を表す1つの色データと、描画の長さを表す画素数データとを含む第2描画コマンド、及び、前記出力解像度よりも低い入力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データと、前記入力解像度を前記出力解像度に変換する倍率とを含む第3描画コマンドの少なくとも一方とされている。
一方、上記目的を達成するために、第10態様に係る画像形成装置は、描画情報に応じた画像情報を出力する第1態様〜第9態様のいずれか1の態様に係る画像処理装置と、前記画像処理装置から出力された画像情報に対応する画像を記録媒体に形成する形成部と、を備えている。
更に、上記目的を達成するために、第11態様に係るプログラムは、コンピュータを、第1態様〜第9態様のいずれか1の態様に係る画像処理装置が備える書込部及び書換部として機能させる。
第1態様、第10態様、及び第11態様によれば、回路再構成デバイスを用いて描画処理を行う場合に、描画コマンドの特性を考慮することなく処理を行う場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
第2態様によれば、第1描画コマンドの探索結果に係わらず書き換えを行う場合と比較して、不要な書き換えの発生を抑制することができる、という効果を有する。
第3態様によれば、第1描画コマンドの探索結果に係わらず最終的な処理結果を得ることができる、という効果を有する。
第4態様によれば、探索情報を生成しない場合と比較して、第1描画コマンドの処理の対象となる画素の位置及びサイズを容易に特定することができる、という効果を有する。
第5態様によれば、描画情報及び探索情報を用いない場合と比較して、第1描画コマンドを容易に抽出することができる、という効果を有する。
第6態様によれば、第1描画コマンドに応じた処理の結果が反映された画像情報を得ることができる、という効果を有する。
第7態様によれば、記憶領域のうち一定容量以上の領域を使用する第1描画コマンドを考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
第8態様によれば、第1描画コマンドの特性を考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
第9態様によれば、第1描画コマンドを除く第2描画コマンドの特性又は第3描画コマンドの特性を考慮しない場合と比較して、処理性能の低下の発生を抑制することができる、という効果を有する。
実施形態に係る画像形成装置の機能的な構成の一例を示すブロック図である。 実施形態に係るDRPを用いて処理を行う画像形成装置の電気的な構成の一例を示すブロック図である。 実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。 比較例に係る再構成可能回路部の構成を示すブロック図である。 実施形態に係るDRPの構成の一例を示すブロック図である。 実施形態に係るディスプレイリストの一例を模式的に示す図である。 実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
図1は、本実施形態に係る画像形成装置90の機能的な構成の一例を示すブロック図である。
図1に示すように、本実施形態に係る画像形成装置90は、画像処理装置70と、画像メモリ80と、画像形成部82と、を備えている。画像処理装置70は、中間データ生成部72と、描画処理部74と、を備えている。
画像処理装置70には、外部のパーソナルコンピュータ(PC)等から、ページ記述言語(Page Description Language:PDL)で記述された画像データが入力される。このページ記述言語は、画像形成装置90に画像形成処理等を実行させるためのコンピュータプログラミング言語の一種である。このページ記述言語で記述された画像データは、印刷対象の画像を構成する文字や図形等のオブジェクトの位置情報、書式情報、及び色情報等を含んでいる。
中間データ生成部72は、コマンドデコーダとしての機能を有し、入力された画像データを解釈することにより、印刷対象の画像を表す中間データを生成する。この中間データは、最終的に画像形成部82に出力される描画データに変換される前段階のデータであり、描画データの生成の手順を表す描画コマンドを含んでいる。中間データの一例として、ディスプレイリスト(DL)があるが、これに限定されるものではない。この中間データは、印刷対象の画像の構成要素であるオブジェクトのそれぞれについて、当該オブジェクトを描画する手順を表す描画コマンドを含んでいる。具体的に、中間データには、ページ内におけるオブジェクトの位置を示す位置情報、そのオブジェクトの描画順番(描画コマンドの実行順番)、そのオブジェクトの大きさを示すサイズ情報、そのオブジェクトの描画内容(例えばイメージや図形や文字等)を示す描画内容情報、及び、そのオブジェクトの色(例えばオブジェクトを何色で塗りつぶすか等)を示す色情報等が含まれる。例えば、あるページの中間データは、当該ページを構成する各オブジェクトの描画手順を表すコマンドの集合であると捉えられる。
また、中間データ生成部72は、画像データを解釈し、実行される描画処理が同一であり、かつ、描画順番が連続する複数のオブジェクトを、継続して画像メモリ80に書き込むように描画処理部74に指示するための新たな中間データ(コマンド)を生成する。
描画処理部74は、ラスタライザとしての機能を有し、一例として、RIP(Raster Image Processor)である。描画処理部74は、中間データ生成部72から中間データを取得し、当該中間データに従って、画像形成部82に適合し、かつ、画像形成部82で取り扱われる描画データを生成する。描画データは、例えば、印刷画像を構成する画素毎の情報(画素値)を含むラスタデータであり、一例として、ビットマップデータ等である。描画処理部74は、フレームメモリ等である画像メモリ80にアクセスして描画データを画像メモリ80に書き込むことで、描画データを画像メモリ80に記憶させる。例えば、描画処理部74は、中間データが示す描画順番に従い、各オブジェクトを順番に画像メモリ80に書き込む。また、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、描画処理部74は、当該複数のオブジェクトを継続して画像メモリ80に書き込む。この場合、異なるオブジェクトが継続して画像メモリ80に書き込まれることになる。
画像形成部82は、形成部の一例であり、描画データによって表される画像を、用紙等の記録媒体に印刷する。例えば、1ページ分の描画データが画像メモリ80に書き込まれると、この描画データは画像形成部82に出力され、描画データによって表される画像が画像形成部82によって記録媒体に印刷される。
上述した画像処理装置70では、一例として、動的再構成可能プロセッサによって処理が実行される。動的再構成可能プロセッサには、一例として、DRP(Dynamic Reconfigurable Processor)や、SOC FPGA(System On a Chip Field Programmable Gate Array)等が適用される。本実施形態では、動的再構成可能プロセッサの代表例として、DRPを適用した場合について説明するが、SOC FPGAを適用した場合でも同様である。
図2は、本実施形態に係るDRPを用いて処理を行う画像形成装置90の電気的な構成の一例を示すブロック図である。
図2に示すように、本実施形態に係る画像形成装置90は、一例として、メインCPU(Central Processing Unit)2と、メインメモリ3と、CPUバス−PCI(Peripheral Component Interconnect)ブリッジ4と、DRPアクセラレータ6と、これらを接続するための内部バス62と、を備えている。
DRPアクセラレータ6は、一例として、複数のDRPシステム8と、PCIスイッチ10と、を備えている。PCIスイッチ10には、複数のDRPシステム8が接続されている。DRPシステム8は、DRP12と、DDR(Double-Data-Rate)メモリ60と、を備えている。DDRメモリ60には、DRP12を制御するためのデータやプログラム等が記憶される。
図3は、本実施形態に係る画像処理装置70のハードウェア構成の一例を示すブロック図である。
図3に示すように、本実施形態に係る画像処理装置70(図1参照)は、DRP12として構成されている。DRP12は、製造後に内部の論理回路の構成を動的に変更(再構成)可能なプロセッサの一例である。
DRP12は、再構成制御部14と、再構成可能回路部16と、を備えている。再構成制御部14は、DAP(Digital Application Processor)とも称され、RISC(Reduced Instruction Set Computer)コアモジュールとして構成される。また、再構成可能回路部16は、DNA(Distributed Network Architecture)とも称される。
DRP12は、再構成制御部14及び再構成可能回路部16に加え、再構成可能回路部16のダイレクト入出力用のインタフェース(I/F)であるダイレクトI/O18と、PCIインタフェース20と、DDR-SDRAM(Synchronous Dynamic Random Access Memory)インタフェース22と、DMA(Direct Memory Access)コントローラ24と、その他の周辺デバイス26と、これらを接続するための内部バス28と、を含んでいる。
再構成制御部14は、デバッグインタフェース14Aと、RISCコア14Bと、命令キャッシュ14Cと、データキャッシュ14Dと、を含む。また、再構成可能回路部16は、PE(Processing Element)マトリックス16Aと、コンフィギュレーションメモリ16Bと、を含む。PEマトリックス16Aには、複数の処理エレメントPE(論理回路要素)が2次元に配置されている。一例として、376個の処理エレメントPEが、PEマトリックス16Aに配置されている。コンフィギュレーションメモリ16Bには、コンフィギュレーションデータ16Cが格納されている。コンフィギュレーションデータ16Cは、PEマトリックス16Aに含まれる処理エレメントPEの機能及び/又は接続を変えてPEマトリックス16Aを再構成し、PEマトリックス16Aに回路を構成するためのデータである。
再構成制御部14は、再構成可能回路部16を含むDRP12全体の動作制御を行うモジュールであり、例えば、制御のためのプログラム(以下、「制御プログラム」という。)を実行することで実現される。再構成制御部14は、PEマトリックス16A内の処理エレメントPEの接続関係を制御することで、PEマトリックス16Aにおいてデータ処理のための回路を構成する。また、再構成制御部14は、PEマトリックス16Aにおいて構成された回路に対してデータを供給したり、その回路からのデータを他のシステムに出力したりする制御を行う。
コンフィギュレーションデータ16Cは、PEマトリックス16Aの回路構成を規定するデータである。PEマトリックス16A内の回路の再構成は、コンフィギュレーションデータ16Cに従って行われる。コンフィギュレーションメモリ16Bには、複数のコンフィギュレーションデータ16Cが記憶される。コンフィギュレーションメモリ16B内の複数のコンフィギュレーションデータ16Cのうち1つが選択されてアクティブ状態になると、そのコンフィギュレーションデータ16Cが規定する回路構成がPEマトリックス16A内に構成されることになる。一例として、コンフィギュレーションメモリ16Bには3つのコンフィギュレーションデータ16Cが記憶されている。但し、本実施形態では、この例に限定されるものではなく、3つ以外の数のコンフィギュレーションデータ16Cがコンフィギュレーションメモリ16Bに記憶されてもよい。
次に、コンフィギュレーションメモリ16Bについて具体的に説明する。コンフィギュレーションメモリ16Bは、複数のバンク(すなわち、複数のメモリ)を有する構成となっている。例えば、コンフィギュレーションメモリ16Bは、図示は省略するが、実行バンク#0(実行用のメモリ)、バンク#1(待機用のメモリ)、及びバンク#2(待機用のメモリ)によって構成されている。そして、実行バンク#0に格納されたコンフィギュレーションデータ16Cによって、PEマトリックス16Aには第1の機能が構成されて実行される。また、バックグラウンドバンクとしてのバンク#1又はバンク#2にそれぞれ格納されたコンフィギュレーションデータ16Cによって、PEマトリックス16Aには第2の機能又は第3の機能が構成される。そして、コンフィギュレーションメモリ16Bのバンクを切り替えることにより、PEマトリックス16Aには、第1の機能に替わって第2の機能又は第3の機能が再構成される。
PEマトリックス16Aの再構成は、例えば、1サイクル(クロックサイクル)でダイナミックに行われる。このようにPEマトリックス16Aは、回路を構成するための複数の処理エレメントPEと、これらの処理エレメントPEを接続するための内部配線とを含む再構成ユニットであり、内部配線によって処理エレメントPEの接続を変えることにより、PEマトリックス16Aに含まれる回路が再構成される。
次に、PEマトリックス16Aに構成される機能の切り替え処理について説明する。例えば、再構成制御部14は、中間データ(各オブジェクトの描画コマンド)に従い、各オブジェクトを画像メモリ80に描画するためのコンフィギュレーションデータ16CをDDRメモリ60上で生成し(DAP動作)、当該コンフィギュレーションデータ16CをDDRメモリ60からバンク#1又はバンク#2にロードする(DAP動作)。具体的に、再構成制御部14は、オブジェクトの位置情報、サイズ情報、描画内容、及び色情報等のパラメータ(中間データに規定されているパラメータ)に基づいて、当該オブジェクトを画像メモリ80に描画するためのコンフィギュレーションデータ16CをDDRメモリ60上で生成する。そして、再構成制御部14は、当該コンフィギュレーションデータ16CをDDRメモリ60からバンク#1又はバンク#2にロードし、さらに、バンク#1又はバンク#2から実行バンク#0にコンフィギュレーションデータ16Cをロードすることで、コンフィギュレーションデータ16Cに応じた機能をPEマトリックス16Aに構成する(DAP動作)。そして、PEマトリックス16Aは、実行バンク#0にロードされたコンフィギュレーションデータ16Cによって構成された機能を実行する(DNA動作)。なお、再構成制御部14によって実行されるDAP動作は、ソフトウェアによる処理であり、PEマトリックス16Aによって実行されるDNA動作は、ハードウェアによる処理である。
次に、画像メモリ80上に描画データを描画する処理(描画処理)を実行するための描画コマンドについて具体的に説明する。この描画コマンドとしては、一例として、「FILL」、「ECOPY」、及び「DTCOPY」の複数種類(ここでは3種類)のコマンドが含まれている。これらの描画コマンドは、各オブジェクトの中間データ(例えば、ディスプレイリスト等)に規定されている。
「DTCOPY」コマンドは、出力解像度の画素の並びとして描画色を表すコマンドであり、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドである。なお、この「DTCOPY」コマンドは、第1描画コマンドの一例である。また、出力解像度とは、画像形成装置90に設定されている解像度である。
「FILL」コマンドは、単色描画を表すコマンドであり、描画色を表す1つの色データと、描画の長さを表す画素数データとを含むコマンドである。なお、この「FILL」コマンドは、第2描画コマンドの一例である。
「ECOPY」コマンドは、入力解像度の画素の並びとして描画色を表すコマンドであり、描画色を表す複数の色データと、描画の長さを表す画素数データと、入力解像度を出力解像度に変換する倍率とを含むコマンドである。なお、この「ECOPY」コマンドは、第3描画コマンドの一例である。また、入力解像度とは、外部のPC等での編集時に設定された解像度であり、一般的に、上述の出力解像度よりも低い。
次に、図4を参照して、比較例に係る再構成可能回路部16の構成について説明する。
図4は、比較例に係る再構成可能回路部16の構成を示すブロック図である。
図4に示すように、比較例に係る再構成可能回路部16には、描画処理を実行するための再構成回路30が書き込まれている。
再構成回路30には、解釈処理部32、FILL処理部34A、ECOPY処理部34B、DTCOPY処理部34C、FIFO(First In First Out)36A〜36D、及び合成出力部38が設けられている。なお、FIFO36A〜36Dは、一例として、コンフィギュレーションメモリ16Bに設けられている。
解釈処理部32は、一例として、描画情報の入力を受け付け、受け付けた描画情報を解析して、上述の描画順番を表す処理順番情報、「FILL」コマンド、「ECOPY」コマンド、及び「DTCOPY」コマンドを抽出する。なお、ここでいう描画情報とは、中間データの一例であるディスプレイリストとされる。そして、解釈処理部32は、処理順番情報をFIFO36Aに格納する。解釈処理部32は、「FILL」コマンドの実行をFILL処理部34Aに指示し、FILL処理部34Aは、「FILL」コマンドに応じた処理を実行し、処理結果をFIFO36Bに格納する。同様に、解釈処理部32は、「ECOPY」コマンドの実行をECOPY処理部34Bに指示し、ECOPY処理部34Bは、「ECOPY」コマンドに応じた処理を実行し、処理結果をFIFO36Cに格納する。解釈処理部32は、「DTCOPY」コマンドの実行をDTCOPY処理部34Cに指示し、DTCOPY処理部34Cは、「DTCOPY」コマンドに応じた処理を実行し、処理結果をFIFO36Dに格納する。
合成出力部38は、FIFO36Aに格納された処理順番情報に従って、FIFO36B〜36Dの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像を後段に出力する。
ところで、上述の「DTCOPY」コマンドは、大容量の画像データを含むために、コンフィギュレーションメモリ16Bの記憶領域のうち一定容量以上の領域を使用する場合がある。つまり、「DTCOPY」コマンドの場合、コマンドの特性上、コマンドに含まれる画像データがコンフィギュレーションメモリ16Bの記憶領域の多くを使用することがある。このとき、「FILL」コマンド及び「ECOPY」コマンドの各々に応じた処理を実行するための記憶領域が不足することで、これらの処理が停止してしまい、処理性能の低下が発生する場合がある。
これに対して、本実施形態に係るDRP12では、「FILL」コマンド及び「ECOPY」コマンドを実行する第1再構成回路と、「DTCOPY」コマンドのみを実行する第2再構成回路とを書き換えて実行することにより、処理性能の低下の発生を抑制する。図5を参照して、本実施形態に係るDRP12の構成について説明する。
図5は、本実施形態に係るDRP12の構成の一例を示すブロック図である。
図5に示すように、本実施形態に係るDRP12は、再構成制御部14及び再構成可能回路部16を備えている。なお、再構成可能回路部16は、回路再構成デバイスの一例である。
図5の上図に示すように、本実施形態に係る再構成制御部14は、上述の制御プログラムを実行することにより書込部50として機能する。この制御プログラムは、例えば、DRP12に予めインストールされていてもよい。制御プログラムは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、DRP12に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD(Hard Disk Drive)、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
書込部50は、再構成可能回路部16に対して、描画処理を行うための第1再構成回路30Aを書き込む。第1再構成回路30Aには、第1解釈処理部32A、FILL処理部34A、ECOPY処理部34B、FIFO36A、36B、36C、第1出力部38A、及び探索情報生成部40が設けられている。この第1再構成回路30Aには、DTCOPY処理部34C及びFIFO36Dが設けられていない。
第1解釈処理部32Aは、探索部の一例として機能し、一例として、描画情報(ここではディスプレイリスト)の入力を受け付け、受け付けた描画情報を解析して、上述の処理順番情報、及び複数の描画コマンドを抽出する。そして、第1解釈処理部32Aは、抽出した複数の描画コマンドの中から「DTCOPY」コマンドを探索する。この「DTCOPY」コマンドは、第1描画コマンドの一例である。
そして、第1解釈処理部32Aは、「DTCOPY」コマンドを探索した場合、「DTCOPY」コマンドの実行を指示することなく、「DTCOPY」コマンドの処理の対象となる画素の位置及びサイズを探索情報生成部40に通知する。すなわち、「DTCOPY」コマンドに応じた処理は実行されず、「DTCOPY」コマンドに対する、ディスプレイリストのデータは読み飛ばされる。
また、第1解釈処理部32Aは、描画情報から抽出した処理順番情報をFIFO36Aに格納する。第1解釈処理部32Aは、描画情報から抽出した「FILL」コマンドの実行をFILL処理部34Aに指示し、FILL処理部34Aは、「FILL」コマンドに応じた処理を実行し、処理結果をFIFO36Bに格納する。同様に、第1解釈処理部32Aは、描画情報から抽出した「ECOPY」コマンドの実行をECOPY処理部34Bに指示し、ECOPY処理部34Bは、「ECOPY」コマンドに応じた処理を実行し、処理結果をFIFO36Cに格納する。これらのFILL処理部34A及びECOPY処理部34Bの各々は、第1処理部の一例として機能し、「DTCOPY」コマンドを除く「FILL」コマンド及び「ECOPY」コマンドの各々に応じた処理を行う。
ここで、第1解釈処理部32Aは、描画情報から抽出した「DTCOPY」コマンドを「FILL」コマンドに置き換えてもよいし、抽出した「DTCOPY」コマンドをダミー値(例えば、0xFF)に置き換えてもよい。
探索情報生成部40は、第1解釈処理部32Aから通知された、「DTCOPY」コマンドの画素の位置及びサイズを含む探索情報を生成する。なお、探索情報生成部40は、「DTCOPY」コマンドが探索されなかった場合、描画情報に「DTCOPY」コマンドが含まれていないことを示す情報を含む探索情報を生成する。
第1出力部38Aは、第1解釈処理部32Aにより「DTCOPY」コマンドが探索された場合、FIFO36Aに格納された処理順番情報に従って、FIFO36B、36Cの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像(以下、「中間画像」という。)を一時的にコンフィギュレーションメモリ16Bに保持する。また、第1出力部38Aは、第1解釈処理部32Aにより「DTCOPY」コマンドが探索されなかった場合、FIFO36Aに格納された処理順番情報に従って、FIFO36B、36Cの各々に格納された各処理結果を読み出し、読み出した各処理結果を合成して得られた画像を最終的な処理結果として後段に出力する。
次に、図5の下図に示すように、本実施形態に係る再構成制御部14は、上述の制御プログラムを実行することにより書換部52として機能する。
書換部52は、第1解釈処理部32Aにより「DTCOPY」コマンドが探索された場合、第1再構成回路30Aを、「DTCOPY」コマンドに応じた処理を行うための第2再構成回路30Bに書き換える。第2再構成回路30Bには、第2解釈処理部32B、DTCOPY処理部34C、FIFO36D、36E、及び第2出力部38Bが設けられている。この第2再構成回路30Bには、FILL処理部34A、ECOPY処理部34B、及びFIFO36B、36Cが設けられていない。
書換部52は、第1解釈処理部32Aにより「DTCOPY」コマンドが探索されなかった場合、第2再構成回路30Bへの書き換えを行わない。つまり、「DTCOPY」コマンドが含まれない場合には、回路の再構成を行わず、そのまま処理を終了する。なお、書換部52には探索情報が入力されるため、探索情報により「DTCOPY」コマンドの有無が判定される。
第2解釈処理部32Bは、抽出部の一例として機能し、第1再構成回路30Aから得られる描画情報及び探索情報に基づいて、複数の描画コマンドの中から「DTCOPY」コマンドのみを抽出する。すなわち、第2再構成回路30Bでは、「DTCOPY」コマンドに応じた処理のみが実行され、「DTCOPY」コマンド以外の「FILL」コマンド及び「ECOPY」コマンドに対する、ディスプレイリストのデータは読み飛ばされる。
具体的に、第2解釈処理部32Bは、探索情報から得られる、「DTCOPY」コマンドの画素の位置及びサイズから、DTCOPYの対象領域を示すDTCOPY対象領域情報を生成し、生成したDTCOPY対象領域情報をFIFO36Eに格納する。第2解釈処理部32Bは、描画情報から抽出した「DTCOPY」コマンドの実行をDTCOPY処理部34Cに指示し、DTCOPY処理部34Cは、「DTCOPY」コマンドに応じた処理を実行し、処理結果をFIFO36Dに格納する。このDTCOPY処理部34Cは、第2処理部の一例として機能し、「DTCOPY」コマンドに応じた処理を行う。
第2出力部38Bは、FIFO36Eに格納されたDTCOPY対象領域情報に従って、コンフィギュレーションメモリ16Bに一時的に保持された中間画像に、FIFO36Dに格納された処理結果を合成して得られた画像を最終的な処理結果として後段に出力する。
ここで、上述した複数の描画コマンドは、一例として、ディスプレイリストに規定されるが、図6を参照して、本実施形態に係るディスプレイリストについて説明する。
図6は、本実施形態に係るディスプレイリストの一例を模式的に示す図である。
図6に示すように、本実施形態に係るディスプレイリストは、画像面及びタグ面を有する。画像面とは、画素の階調値を表す面であり、タグ面とは、画素のタグ値を表す面である。ここでいうタグ値とは、画素が持つ属性(例えば、画素が単色であるかラスタ色であるか等。)を表している。
図6の左図に示すディスプレイリストは、上述の第1再構成回路(図5の上図参照)に入力されるリストである。このディスプレイリストは、画像データを画像形成装置90の出力解像度に応じた複数の出力ラインに分割し、各出力ラインの描画内容を描画コマンドで表現したものである。第1再構成回路では、画像面における出力ラインL1、及び、タグ面における出力ラインL2が「DTCOPY」コマンドのラインである。これらの出力ラインL1及び出力ラインL2の各々に含まれる画素には、一例として、ダミー値(例えば、0xFF)を出力する。第1再構成回路では、画像面における出力ラインL1、及び、タグ面における出力ラインL2以外の出力ラインについて選択的に「FILL」コマンド又は「ECOPY」コマンドに応じた処理が実行される。
図6の右図に示すディスプレイリストは、上述の第2再構成回路(図5の下図参照)に入力されるリストである。第2再構成回路では、画像面における出力ラインL1、及び、タグ面における出力ラインL2についてのみ選択的に「DTCOPY」コマンドに応じた処理が実行され、出力ラインL1及び出力ラインL2が上書きされる。
このように本実施形態によれば、DRPを画像処理に適用した場合に、「FILL」コマンド及び「ECOPY」コマンド等の描画コマンドを実行する第1再構成回路と、「DTCOPY」コマンド等の特定の描画コマンドのみを実行する第2再構成回路とを書き換えて実行する。これにより、処理性能の低下の発生が抑制される。
なお、画像処理の性能を表す指標の1つとして、N並列がある。このNは、1クロックに処理可能な画素数を表し、数値が大きいほど処理性能が高いことを意味する。一例として、図4に比較例として示した再構成回路を1並列とした場合に、図5の上図に示す第1再構成回路は2並列とされ、図5の下図に示す第2再構成回路は8並列とされる。つまり、第1再構成回路と第2再構成回路とを書き換えて実行することにより、処理性能が向上する。
また、本実施形態によれば、「FILL」コマンド、「ECOPY」コマンド、及び「DTCOPY」コマンド等を同時に実行可能な回路規模の大きなデバイスに変更する必要がなくなる。このため、製造コストの上昇が抑制される。また、消費電力の上昇が抑制される。
次に、図7を参照して、本実施形態に係るDRP12の作用を説明する。なお、図7は、本実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
まず、描画処理の対象とする描画情報(ここではディスプレイリスト)の入力を受け付けると、制御プログラムが起動され、以下の各ステップを実行する。
図7のステップ100では、書込部50が、上述の図5の上図に示すように、回路再構成デバイスの一例である再構成可能回路部16に対して、第1再構成回路30Aを書き込む。この第1再構成回路30Aには、上述したように、第1解釈処理部32A、FILL処理部34A、ECOPY処理部34B、FIFO36A、36B、36C、第1出力部38A、及び探索情報生成部40が設けられている。
ステップ102では、書込部50が、第1再構成回路30Aに対して、処理の実行を指示する。この指示を受けた第1再構成回路30Aは、「DTCOPY」コマンドを除く、「FILL」コマンド及び「ECOPY」コマンドの各々に応じた処理を実行し、処理終了を再構成制御部14に通知する。
ステップ104では、書換部52が、第1再構成回路30Aから、探索情報及び処理終了の割込を受け付ける。上述したように、この探索情報は、描画情報の中に「DTCOPY」コマンドが含まれている場合には、当該コマンドの処理対象となる画素の位置及びサイズを含む。一方、この探索情報は、描画情報の中に「DTCOPY」コマンドが含まれていない場合には、描画情報の中に当該コマンドが含まれていないことを示す情報を含む。
ステップ106では、書換部52が、第1再構成回路30Aから受け付けた探索情報から、描画情報の中に第1描画コマンド(ここでは「DTCOPY」コマンド)が含まれていないか否かを判定する。「DTCOPY」コマンドが含まれていると判定した場合(否定判定の場合)、ステップ108に移行し、「DTCOPY」コマンドが含まれていないと判定した場合(肯定判定の場合)、本制御プログラムによる一連の処理を終了する。
ステップ108では、書換部52が、上述の図5の下図に示すように、第1再構成回路30Aを第2再構成回路30Bに書き換える。この第2再構成回路30Bには、上述したように、第2解釈処理部32B、DTCOPY処理部34C、FIFO36D、36E、及び第2出力部38Bが設けられている。
ステップ110では、書換部52が、第2再構成回路30Bに対して、処理の実行を指示する。この指示を受けた第2再構成回路30Bは、「DTCOPY」コマンドに応じた処理のみを実行し、処理終了を再構成制御部14に通知する。
ステップ112では、書換部52が、第2再構成回路30Bから、処理終了の割込を受け付けると、本制御プログラムによる一連の処理を終了する。
以上、実施形態として画像処理装置を例示して説明した。実施形態は、画像処理装置が備える書込部及び書換部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
その他、上記実施形態で説明した画像処理装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
2 メインCPU
3 メインメモリ
4 CPUバス-PCIブリッジ
6 DRPアクセラレータ
8 DRPシステム
10 PCIスイッチ
12 DRP
14 再構成制御部
16 再構成可能回路部
18 ダイレクトI/O
20 PCIインタフェース
22 DDR-SDRAMインタフェース
24 DMAコントローラ
26 周辺デバイス
28 内部バス
30 再構成回路
30A 第1再構成回路
30B 第2再構成回路
32 解釈処理部
32A 第1解釈処理部
32B 第2解釈処理部
34A FILL処理部
34B ECOPY処理部
34C DTCOPY処理部
36A〜36E FIFO
38 合成出力部
38A 第1出力部
38B 第2出力部
40 探索情報生成部
60 DDRメモリ
62 内部バス
70 画像処理装置
72 中間データ生成部
74 描画処理部
80 画像メモリ
82 画像形成部
90 画像形成装置

Claims (11)

  1. 回路内に記憶領域を有し、かつ、製造後に回路構成を再構成可能な回路再構成デバイスに対して、描画処理を行うための第1再構成回路を書き込む書込部と、
    前記第1再構成回路に設けられ、かつ、前記描画処理の対象とする描画情報に含まれる複数の描画コマンドの中から、予め定められた第1描画コマンドを探索する探索部と、
    前記第1再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第1描画コマンドを除く描画コマンドに応じた処理を行う第1処理部と、
    前記探索部により前記第1描画コマンドが探索された場合、前記第1再構成回路を、前記第1描画コマンドに応じた処理を行うための第2再構成回路に書き換える書換部と、
    前記第2再構成回路に設けられ、かつ、前記複数の描画コマンドのうち、前記第1描画コマンドに応じた処理を行う第2処理部と、
    を備えた画像処理装置。
  2. 前記書換部は、前記探索部により前記第1描画コマンドが探索されなかった場合、前記第2再構成回路への書き換えを行わない請求項1に記載の画像処理装置。
  3. 前記第1再構成回路に設けられ、かつ、前記第1処理部による処理の結果を合成して得られる画像情報を出力する第1出力部を更に備え、
    前記第1出力部は、前記探索部により前記第1描画コマンドが探索されなかった場合、前記画像情報を最終的な処理結果として出力する請求項2に記載の画像処理装置。
  4. 前記第1再構成回路に設けられ、かつ、前記探索部により探索された第1描画コマンドの処理の対象となる画素の位置及びサイズを含む探索情報を生成する生成部を更に備えた請求項1〜3のいずれか1項に記載の画像処理装置。
  5. 前記第2再構成回路に設けられ、かつ、前記描画情報及び前記探索情報に基づいて、前記複数の描画コマンドの中から前記第1描画コマンドのみを抽出する抽出部を更に備えた請求項4に記載の画像処理装置。
  6. 前記第2処理部は、前記抽出部により抽出された前記第1描画コマンドに応じた処理を行い、
    前記第2再構成回路に設けられ、かつ、前記第2処理部による処理の結果として得られる画像情報を出力する第2出力部を更に備えた請求項5に記載の画像処理装置。
  7. 前記第1描画コマンドは、前記記憶領域のうち一定容量以上の領域を使用するコマンドである請求項1〜6のいずれか1項に記載の画像処理装置。
  8. 前記第1描画コマンドは、出力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データとを含むコマンドである請求項7に記載の画像処理装置。
  9. 前記第1描画コマンドを除く描画コマンドは、
    単色描画を表し、かつ、描画色を表す1つの色データと、描画の長さを表す画素数データとを含む第2描画コマンド、及び、
    前記出力解像度よりも低い入力解像度の画素の並びとして描画色を表し、かつ、描画色を表す複数の色データと、描画の長さを表す画素数データと、前記入力解像度を前記出力解像度に変換する倍率とを含む第3描画コマンドの少なくとも一方である請求項8に記載の画像処理装置。
  10. 描画情報に応じた画像情報を出力する請求項1〜9のいずれか1項に記載の画像処理装置と、
    前記画像処理装置から出力された画像情報に対応する画像を記録媒体に形成する形成部と、
    を備えた画像形成装置。
  11. コンピュータを、請求項1〜9のいずれか1項に記載の画像処理装置が備える書込部及び書換部として機能させるためのプログラム。
JP2019027826A 2019-02-19 2019-02-19 画像処理装置、画像形成装置、及びプログラム Pending JP2020131547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019027826A JP2020131547A (ja) 2019-02-19 2019-02-19 画像処理装置、画像形成装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019027826A JP2020131547A (ja) 2019-02-19 2019-02-19 画像処理装置、画像形成装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2020131547A true JP2020131547A (ja) 2020-08-31

Family

ID=72277340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019027826A Pending JP2020131547A (ja) 2019-02-19 2019-02-19 画像処理装置、画像形成装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP2020131547A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030421A1 (ja) 2020-08-03 2022-02-10 株式会社シード コンタクトレンズ用溶液及びその利用

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030421A1 (ja) 2020-08-03 2022-02-10 株式会社シード コンタクトレンズ用溶液及びその利用

Similar Documents

Publication Publication Date Title
JP4550878B2 (ja) グラフィックス処理装置
WO2018077295A1 (zh) 一种卷积神经网络的数据处理方法和装置
US11675997B2 (en) Device and method for processing convolution operation using kernel
US20080183792A1 (en) Method for Performing Arithmetic Operations Using a Multi-Core Processor
JP5655392B2 (ja) 印刷画像処理装置及びプログラム
EP3938917B1 (en) Moving data in a memory and command for memory control
CN106462426B (zh) 用于图形处理单元的组合计算任务
US20180082160A1 (en) Image processing apparatus and image processing method
CN108604211B (zh) 用于片上系统中的多区块数据事务的系统和方法
CN111028360A (zh) 一种3d图像处理中数据读写方法及系统、存储介质及终端
JP5706754B2 (ja) データ処理装置及びデータ処理方法
EP2703994A2 (en) Data processing apparatus and method of processing data
JP2007164303A (ja) 情報処理装置、コントローラおよびファイル読み出し方法
US9934100B2 (en) Method of controlling memory swap operation and data processing system using same
US20140164688A1 (en) Soc system and method for operating the same
JP2020131547A (ja) 画像処理装置、画像形成装置、及びプログラム
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
JP2001320271A (ja) プログラマブル論理回路への回路の再構成方法および情報処理システム
JP6766598B2 (ja) 画像処理装置、画像処理方法および制御プログラム
KR102130813B1 (ko) 재구성 가능 프로세서 및 재구성 가능 프로세서를 동작하는 방법
US20200074584A1 (en) Image processing apparatus, image processing method, and computer readable medium storing image processing program
JP6160317B2 (ja) 画像処理装置及びプログラム
CN111290701B (zh) 数据读写控制方法、装置、介质和电子设备
JP2017058738A (ja) 情報処理装置および画像形成装置
AU2014265139A1 (en) Method, system and apparatus for rendering a document