JP2015016586A - Image processing system and program - Google Patents
Image processing system and program Download PDFInfo
- Publication number
- JP2015016586A JP2015016586A JP2013143856A JP2013143856A JP2015016586A JP 2015016586 A JP2015016586 A JP 2015016586A JP 2013143856 A JP2013143856 A JP 2013143856A JP 2013143856 A JP2013143856 A JP 2013143856A JP 2015016586 A JP2015016586 A JP 2015016586A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- processing
- image
- data
- objects
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 155
- 238000000034 method Methods 0.000 claims description 137
- 238000009877 rendering Methods 0.000 claims description 16
- 238000004904 shortening Methods 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 87
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000010924 continuous production Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Abstract
Description
本発明は、画像処理装置及びプログラムに関する。 The present invention relates to an image processing apparatus and a program.
メモリに対する画像データの描画の高速化を図った技術が知られている。例えば、特許文献1には、画像情報の属性の出現頻度に応じて構成記憶手段に記憶される回路の属性を選択し、選択した回路を動的回路再構成手段に構成させる装置が開示されている。
A technique for speeding up drawing of image data to a memory is known. For example,
特許文献2には、回路構成情報を効率的に保持、転送する再構成可能回路が開示されている。この再構成可能回路は、複数の回路構成情報を記憶するDRAMと、プロセッシングエレメントにロードされた回路構成情報をキャッシュする二次キャッシュとを備え、プロセッシングエレメントにロードすべき回路構成情報が二次キャッシュに記憶されていない場合、DRAMから二次キャッシュに回路構成情報を読み出し、二次キャッシュからプロセッシングエレメントに回路構成情報をロードする。
ところで、画像データをメモリに描画する装置が再構成可能回路で構成される場合、回路構成情報の生成に要する時間や再構成可能回路に回路構成情報をロードするのに要する時間が、再構成可能回路による描画処理に要する時間よりも長くなることがある。この場合、全体の処理時間が増大するおそれがある。 By the way, when the device that draws image data in the memory is configured with a reconfigurable circuit, the time required to generate circuit configuration information and the time required to load circuit configuration information into the reconfigurable circuit can be reconfigured. It may be longer than the time required for the drawing process by the circuit. In this case, the entire processing time may increase.
本発明の目的は、メモリに対する画像データの描画に要する時間を短縮することが可能な画像処理装置及びプログラムを提供することである。 An object of the present invention is to provide an image processing apparatus and program capable of reducing the time required for drawing image data in a memory.
請求項1に係る発明は、回路構成が再構成可能な再構成可能回路と、前記再構成可能回路内の回路として構成され、画像メモリにアクセスすることで、画像データに表されたオブジェクトを前記画像メモリに描画する描画処理手段と、前記画像データを解釈することで、継続して異なるオブジェクトを前記画像メモリに描画するよう前記描画処理手段に指示するためのコマンドを生成するコマンド生成手段と、を有することを特徴とする画像処理装置である。
The invention according to
請求項2に係る発明は、前記コマンド生成手段は、前記画像データに表された複数のオブジェクトのうち、前記画像メモリに対して同一の描画処理が行われ描画順番が連続する複数のオブジェクトを、継続して前記画像メモリに描画するよう前記描画処理手段に指示するための前記コマンドを生成する、ことを特徴とする請求項1に記載の画像処理装置である。
According to a second aspect of the present invention, the command generation means includes a plurality of objects that are subjected to the same drawing process on the image memory and have a continuous drawing order among the plurality of objects represented in the image data. The image processing apparatus according to
請求項3に係る発明は、描画処理を実行する回路を前記描画処理手段に実現させるための回路構成情報を生成し、前記回路構成情報に基づき前記描画処理手段に回路を構成する制御手段を更に有し、前記制御手段は、前記コマンドに従い、同一の描画処理が行われる複数のオブジェクトの描画処理が連続する場合、前記描画処理手段の回路を変更せずに、継続して描画処理を前記描画処理手段に実行させる、ことを特徴とする請求項1又は請求項2に記載の画像処理装置である。
According to a third aspect of the present invention, there is provided control means for generating circuit configuration information for causing the drawing processing means to realize a circuit for executing drawing processing, and for configuring a circuit in the drawing processing means based on the circuit configuration information. And when the drawing processing of a plurality of objects for which the same drawing processing is performed continues according to the command, the control means continues the drawing processing without changing the circuit of the drawing processing means. The image processing apparatus according to
請求項4に係る発明は、第1描画処理を実行する第1回路を前記描画処理手段に実現させるための回路構成情報を記憶する実行用記憶手段と、第1描画処理の次に第2描画処理を実行する第2回路を前記描画処理手段に実現させるための回路構成情報を記憶する待機用記憶手段と、を更に有し、前記制御手段は、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合、前記実行用記憶手段に記憶された回路構成情報に基づき前記第1回路を前記描画処理手段に継続して構成し、同一の描画処理が行われる複数のオブジェクトの描画順番が連続しない場合、前記待機用記憶手段に記憶された回路構成情報を前記実行用記憶手段にロードして前記第2回路を前記描画処理手段に構成する、ことを特徴とする請求項3に記載の画像処理装置である。 According to a fourth aspect of the present invention, there is provided an execution storage means for storing circuit configuration information for causing the drawing processing means to realize a first circuit for executing a first drawing process, and a second drawing after the first drawing process. Standby storage means for storing circuit configuration information for causing the drawing processing means to realize a second circuit for executing processing, and the control means includes a plurality of objects for which the same drawing processing is performed. When the drawing order is continuous, the first circuit is continuously configured in the drawing processing unit based on the circuit configuration information stored in the execution storage unit, and the drawing order of a plurality of objects in which the same drawing process is performed The circuit configuration information stored in the storage device for standby is loaded into the storage device for execution and the second circuit is configured in the drawing processing device if not continuously. Painting It is a processing apparatus.
請求項5に係る発明は、同一の描画処理が行われる複数のオブジェクトの描画順番が連続しない場合、前記制御手段は、当該複数のオブジェクトのそれぞれの描画処理を実行する回路を前記描画処理手段に実現させるための複数の回路構成情報を主記憶手段上で生成し、描画順番に従い、前記複数の回路構成情報のそれぞれを、順次、前記主記憶手段から前記待機用記憶手段にロードし、前記待機用記憶手段から前記実行用記憶手段にロードすることで、前記実行用記憶手段に記憶された回路構成情報を描画順番に従って変更して前記描画処理手段の回路を変更し、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合、前記制御手段は、前記実行用記憶手段に記憶された回路構成情報を変更せずに、前記実行用記憶手段に記憶された回路構成情報に基づき前記描画処理手段に回路を構成する、ことを特徴とする請求項4に記載の画像処理装置である。 According to a fifth aspect of the present invention, when the drawing order of a plurality of objects for which the same drawing processing is performed is not continuous, the control means includes a circuit for executing the drawing processing of the plurality of objects as the drawing processing means. A plurality of circuit configuration information to be realized is generated on the main storage means, and each of the plurality of circuit configuration information is sequentially loaded from the main storage means to the standby storage means according to the drawing order, and the standby Loading the execution storage means to the execution storage means, the circuit configuration information stored in the execution storage means is changed according to the drawing order, the circuit of the drawing processing means is changed, and the same drawing processing is performed. When the drawing order of the plurality of objects is continuous, the control means does not change the circuit configuration information stored in the execution storage means, and the execution storage means Forming the circuit in the drawing processing means based on the stored circuit configuration information, it is an image processing apparatus according to claim 4, characterized in.
請求項6に係る発明は、前記コマンド生成手段は、前記画像データに基づき各オブジェクトの描画処理を示す中間データを生成し、前記中間データを解釈することで、前記画像メモリに対して同一の描画処理が行われ描画順番が連続する複数のオブジェクトを示すリストを生成し、前記描画処理手段は、前記リストに従い、前記連続する複数のオブジェクトを継続して前記画像メモリに書き込む、ことを特徴とする請求項1から請求項5のいずれか一項に記載の画像処理装置である。
According to a sixth aspect of the present invention, the command generating means generates intermediate data indicating a drawing process of each object based on the image data, and interprets the intermediate data, whereby the same drawing is performed on the image memory. A list indicating a plurality of objects that are processed and the drawing order is continuous is generated, and the drawing processing unit writes the continuous plurality of objects continuously in the image memory according to the list. An image processing apparatus according to any one of
請求項7に係る発明は、コンピュータに、画像メモリにアクセスすることで、画像データに表されたオブジェクトを前記画像メモリに描画する描画処理回路を、回路構成が再構成可能な再構成可能回路内の回路として構成するステップと、前記画像データを解釈することで、継続して異なるオブジェクトを前記画像メモリに描画するよう前記描画処理回路に指示するためのコマンドを生成するステップと、を実行させることを特徴とするプログラムである。 The invention according to claim 7 is a reconfigurable circuit in which a circuit configuration is reconfigurable in a drawing processing circuit that draws an object represented by image data in the image memory by accessing the image memory to a computer. And a step of generating a command for instructing the drawing processing circuit to continuously draw different objects in the image memory by interpreting the image data. Is a program characterized by
請求項1,7に係る発明によると、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。 According to the first and seventh aspects of the present invention, it is possible to reduce the time required for drawing image data in the memory as compared with the case where the configuration of the present invention is not used.
請求項2に係る発明によると、同一の描画処理が行われ描画順番が連続する複数のオブジェクトが継続して画像メモリに書き込まれ、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。 According to the second aspect of the present invention, a plurality of objects in which the same drawing process is performed and the drawing order is continuously written are continuously written in the image memory, and the image on the memory is compared with the case where the configuration of the present invention is not used. It is possible to reduce the time required for drawing data.
請求項3に係る発明によると、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合に回路構成が変更されず、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。
According to the invention of
請求項4に係る発明によると、実行用記憶手段及び待機用記憶手段を用いて描画処理手段の回路を切り替える装置において、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。 According to the fourth aspect of the present invention, in the apparatus for switching the circuit of the drawing processing means using the execution storage means and the standby storage means, when the drawing order of a plurality of objects on which the same drawing processing is performed continues, Compared to the case where the configuration of the invention is not used, it is possible to reduce the time required for drawing image data in the memory.
請求項5に係る発明によると、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合、回路構成情報のロード回数が削減され、本発明の構成を用いない場合と比較して、全体の処理時間が短縮される。
According to the invention according to
請求項6に係る発明によると、中間データを利用することで、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。
According to the invention of
図1に、本発明の実施形態に係るシステムの一例を示す。本システムは、画像処理装置100と、画像メモリ130と、印刷装置140とを含む。画像処理装置100は、中間データ生成部110と描画処理部120とを含む。
FIG. 1 shows an example of a system according to an embodiment of the present invention. The system includes an
例えば、ページ記述言語(PDL:Page Description Language)で記述された画像データが、コンピュータ等の装置から画像処理装置100に提供される。ページ記述言語は、印刷処理やディスプレイ表示処理等を情報処理装置に実行させるためのコンピュータプログラミング言語である。ページ記述言語で記述された画像データは、印刷対象の画像を構成する文字や図形等のオブジェクトの位置情報、書式情報及び色情報等を含む。
For example, image data described in a page description language (PDL) is provided to the
中間データ生成部110はコマンドデコーダであり、画像データを解釈することで、印刷対象の画像が中間言語で記述された中間データを生成し、出力する。中間データは、最終的に印刷装置140に出力される描画データに変換される前段階のデータであり、描画データの生成の手順を表すコマンドを含む。中間データの具体例として、例えばディスプレイリスト(DL)があるが、本発明はこの例に限定されるものではない。中間データは、印刷対象の画像の構成要素であるオブジェクトのそれぞれについて、当該オブジェクトを描画する手順を表す描画コマンドを含む。具体的には、中間データは、ページ内におけるオブジェクトの位置を示す位置情報、そのオブジェクトの描画順番(描画コマンドの実行順番)、そのオブジェクトの大きさを示すサイズ情報、そのオブジェクトの描画内容(例えばイメージや図形や文字等)を示す描画情報、及び、そのオブジェクトの色(例えばオブジェクトを何色で塗りつぶすか等)を示す色情報等を含む。例えば、あるページの中間データは、当該ページを構成する各オブジェクトの描画手順を表すコマンドの集合であると捉えられる。
The intermediate
また、中間データ生成部110は、画像データを解釈し、実行される描画処理が同一であり描画順番が連続する複数のオブジェクトを、継続して画像メモリ130に書き込むよう描画処理部120に指示するための新たな中間データ(コマンド)を生成する。なお、中間データ生成部110はコマンド生成手段の一例に相当する。
Further, the intermediate
描画処理部120(ラスタライザ)は、例えばRIP(Raster Image Processor)である。描画処理部120は、中間データ生成部110から中間データを取得し、当該中間データに従って、印刷装置140に適合し印刷装置140で取り扱われる描画データを生成する。描画データは、例えば印刷画像を構成する画素毎の情報(画素値)を含むラスタデータであり、一例としてビットマップデータ等である。描画処理部120は、画像メモリ130(フレームメモリ)にアクセスして描画データを画像メモリ130に書き込むことで、描画データを画像メモリ130に記憶させる。例えば、描画処理部120は、中間データが示す描画順番(実行順番)に従い、各オブジェクトを順番に画像メモリ130に書き込む。また、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、描画処理部120は、当該複数のオブジェクトを継続して画像メモリ130に書き込む(オブジェクト連続処理)。この場合、異なるオブジェクトが継続して画像メモリ130に書き込まれることになる。
The drawing processing unit 120 (rasterizer) is, for example, a RIP (Raster Image Processor). The
印刷装置140は、描画データによって表される画像を用紙等の記録媒体に印刷する。例えば、1ページ分の描画データが画像メモリ130に書き込まれると、この描画データは印刷装置140に出力され、描画データによって表される画像が印刷装置140によって記録媒体に印刷される。
The
上述した画像処理装置100では、例えばDRP(Dynamic Reconfigurable Processor:動的再構成可能プロセッサ)によって処理が実行される。
In the
図2に、DRPを用いて処理を行うシステムの一例を示す。このシステムは、一例として、メインCPU(中央演算装置)1と、メインメモリ2と、CPUバス−PCIブリッジ3と、DRPアクセラレータ4と、これらを接続するための内部バス50とを含む。DRPアクセラレータ4は、例えば複数のDRPシステム5とPCIスイッチ6とを含む。PCIスイッチ6には、複数のDRPシステム5が接続されている。DRPシステム5は、DRP10とDDRメモリ40とを含む。DDRメモリ40には、DRP10を制御するためのデータやプログラム等が記憶される。
FIG. 2 shows an example of a system that performs processing using DRP. As an example, this system includes a main CPU (central processing unit) 1, a
図3に、画像処理装置100のハードウェア構成の一例を示す。図3に示す例では、画像処理装置100は、DRP10によって構成される。
FIG. 3 shows an example of the hardware configuration of the
DRP10は、内部の論理回路の構成を動的に変更(再構成)可能なプロセッサである。DRP10は、一例として、特開2009−3765号公報に開示されているDAP・DNAアーキテクチャのプロセッサであるが、本発明はこの例に限定されるものではなく、他の回路で構成されてもよい。以下、図3を参照してDRP10の一例を説明する。
The
DRP10は、DAP(Digital Application Processor)と称される再構成制御部12(RISCコアモジュール)と、DNA(Distributed Network Architecture)と称される再構成可能回路部14(ダイナミックコンフィギュラブルデータフローアクセラレータ)とを含む。DRP10は、再構成制御部12及び再構成可能回路部14に加え、再構成可能回路部14のダイレクト入出力用のインタフェース16と、PCIインタフェース18と、SDRAMインタフェース20と、DMAコントローラ22と、その他の周辺デバイス24と、これらを接続するための内部バス(高速スイッチングバス)26とを含む。再構成制御部12は、デバッグインタフェース12aと、RISCコア12bと、命令キャッシュ12cと、データキャッシュ12dとを含む。再構成可能回路部14は、PEマトリックス14aと、コンフィギュレーションメモリ14bとを含む。PEマトリックス14aには、複数の処理エレメントPE(論理回路要素)が2次元に配置されている。一例として、376個の処理エレメントPEが、PEマトリックス14aに配置されている。コンフィギュレーションメモリ14bには、コンフィギュレーションデータ14cが格納されている。コンフィギュレーションデータ14cは、PEマトリックス14aに含まれる処理エレメントPEの機能及び/又は接続を変えてPEマトリックス14aを再構成し、PEマトリックス14aに回路を構成するためのデータである。
The
再構成制御部12は、再構成可能回路部14を含むDRP10全体の動作制御を行うモジュールであり、例えば、制御のためのプログラムを実行することで実現される。再構成制御部12は、PEマトリックス14a内の処理エレメントPEの接続関係を制御することで、PEマトリックス14aにおいてデータ処理のための回路を構成する。また、再構成制御部12は、PEマトリックス14aにおいて構成された回路に対してデータを供給したり、その回路からのデータを他のシステムに出力したりする制御を行う。
The
コンフィギュレーションデータ14cは、PEマトリックス14aの回路構成を規定するデータである。PEマトリックス14a内の回路の再構成は、コンフィギュレーションデータ14cに従って行われる。コンフィギュレーションメモリ14bには、複数のコンフィギュレーションデータ14cが記憶される。コンフィギュレーションメモリ14b内の複数のコンフィギュレーションデータ14cのうち1つが選択されてアクティブ状態になると、そのコンフィギュレーションデータ14cが規定する回路構成がPEマトリックス14a内に構成されることになる。一例として、コンフィギュレーションメモリ14bには3つのコンフィギュレーションデータ14cが記憶されている。但し、本発明はこの例に限定されるものではなく、3つ以外の数のコンフィギュレーションデータ14cが、コンフィギュレーションメモリ14bに記憶されてもよい。
The
コンフィギュレーションメモリ14bについて詳しく説明すると、コンフィギュレーションメモリ14bは、複数バンク(複数のメモリ)の構成となっている。例えば、コンフィギュレーションメモリ14bは、実行バンク#0(実行用のメモリ)、バンク#1(待機用のメモリ)及びバンク#2(待機用のメモリ)によって構成されている。そして、実行バンク#0に格納されたコンフィギュレーションデータ14cによって、PEマトリックス14aには第1の機能が構成されて実行される。また、バックグラウンドバンクとしてのバンク#1又はバンク#2にそれぞれ格納されたコンフィギュレーションデータ14cによって、PEマトリックス14aには第2の機能又は第3の機能が構成される。そして、コンフィギュレーションメモリ14bのバンクを切り替えることにより、PEマトリックス14aには、第1の機能に替わって第2の機能又は第3の機能が再構成される。PEマトリックス14aの再構成は、例えば1サイクル(クロックサイクル)でダイナミックに行われる。このようにPEマトリックス14aは、回路を構成するための複数の処理エレメントPEと、これらの処理エレメントPEを接続するための内部配線とを含む再構成ユニットであり、内部配線によって処理エレメントPEの接続を変えることにより、PEマトリックス14aに含まれる回路が再構成される。
The
ここで、図4を参照して、PEマトリックス14aに構成される機能の切り替え処理について説明する。例えば、再構成制御部12は、中間データ(各オブジェクトの描画コマンド)に従い、各オブジェクトを画像メモリ130に描画するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し(DAP動作)、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#1又はバンク#2にロードする(DAP動作)。具体的には、再構成制御部12は、オブジェクトの位置情報、サイズ情報、描画内容及び色情報等のパラメータ(中間データに規定されているパラメータ)に基づき、当該オブジェクトを画像メモリ130に描画するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する。そして、再構成制御部12は、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#1又はバンク#2にロードし、さらに、バンク#1又はバンク#2から実行バンク#0にコンフィギュレーションデータ14cをロードすることで、コンフィギュレーションデータ14cに応じた機能をPEマトリックス14aに構成する(DAP動作)。PEマトリックス14aは、実行バンク#0にロードされたコンフィギュレーションデータ14cによって構成された機能を実行する(DNA動作)。なお、再構成制御部12によって実行されるDAP動作は、ソフトウェアのよる処理に相当し、PEマトリックス14aによって実行されるDNA動作は、ハードウェアによる処理に相当する。
Here, with reference to FIG. 4, a function switching process configured in the
次に、図5を参照して、参考例に係る描画処理の一例を説明する。ここで、画像メモリ130上に描画データを描画する処理(描画処理)の種類について説明する。描画処理としては、一例として、「GRA」、「RAS−G」及び「RECT」等の描画コマンドがある。「GRA」は、指定された2点間を線分で描画することを示す描画コマンドである。「RAS−G」は、指定された領域をBitmap等の形式で描画することを示す描画コマンドである。「RECT」は、指定された領域を、いわゆるベタで塗り潰すことを示す描画コマンドである。これらの描画コマンドは、各オブジェクトの中間データに規定されている。
Next, an example of the drawing process according to the reference example will be described with reference to FIG. Here, the type of processing (drawing processing) for drawing drawing data on the
例えば、PEマトリックス14aで構成される描画処理部120は、中間データによって規定される描画順番に従い、画像メモリ130に各オブジェクトを描画する。一例として、図5に示すように、1番目のオブジェクト(小文字の「a」)の描画処理が「RAS−G」であり、2番目のオブジェクト(小文字の「i」)の描画処理が「GRA」であり、3番目のオブジェクト(大文字の「B」)の描画処理が「GRA」である場合について説明する。この場合、再構成制御部12は、1番目のオブジェクト(「a」)の中間データに基づき、1番目のオブジェクトの描画処理「RAS−G」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードし、さらに、当該コンフィギュレーションデータ14cをバンク#2から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aに、1番目のオブジェクトの描画処理「RAS−G」を実行するための回路が構成される。そして、PEマトリックス14aは、1番目のオブジェクト(「a」)を対象にして「RAS−G」を実行することで、1番目のオブジェクト(「a」)を画像メモリ130に書き込む(DNA動作)。
For example, the
また、再構成制御部12は、2番目のオブジェクト(「i」)の中間データに基づき、2番目のオブジェクトの描画処理「GRA」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、「GRA」用のコンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードする(DAP動作)。例えば、PEマトリックス14aが、1番目のオブジェクトの描画処理「RAS−G」を実行している間に、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードしておく(DAP動作)。すなわち、DNA動作と並行してDAP動作が行われる。そして、PEマトリックス14aによる1番目のオブジェクトの描画処理「RAS−G」が終了すると、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cを、バンク#1から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aには、2番目のオブジェクトの描画処理「GRA」を実行するための回路が構成される。そして、PEマトリックス14aは、2番目のオブジェクト(「i」)を対象にして「GRA」を実行することで、2番目のオブジェクト(「i」)を画像メモリ130に書き込む(DNA動作)。
Further, the
また、再構成制御部12は、3番目のオブジェクト(「B」)の中間データに基づき、3番目のオブジェクトの描画処理「GRA」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、「GRA」用のコンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードする(DAP動作)。例えば、PEマトリックス14aが、2番目のオブジェクトの描画処理「GRA」を実行している間に、再構成制御部12は、3番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードしておく(DAP動作)。そして、PEマトリックス14aによる2番目のオブジェクトの描画処理「GRA」が終了すると、再構成制御部12は、3番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cを、バンク#2から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aには、3番目のオブジェクトの描画処理「GRA」を実行するための回路が構成される。そして、PEマトリックス14aは、3番目のオブジェクト(「B」)を対象にして「GRA」を実行することで、3番目のオブジェクト(「B」)を画像メモリ130に書き込む(DNA動作)。
Further, the
4番目以降のオブジェクトについても同様に、各オブジェクトの描画処理を実行するためのコンフィギュレーションデータ14cがDDRメモリ40上で生成され、当該コンフィギュレーションデータ14cがDDRメモリ40からバンク#1又はバンク#2にロードされる。DDRメモリ40からバンク#1,#2には、コンフィギュレーションデータ14cが交互にロードされる。そして、バンク#1又はバンク#2から実行バンク#0にコンフィギュレーションデータ14cがロードされ、PEマトリックス14aによって描画処理が実行される。
Similarly, for the fourth and subsequent objects,
図5に示す参考例に係る描画処理では、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合であっても、DDRメモリ40上でコンフィギュレーションデータ14cを一旦生成し、DDRメモリ40からバンク#1又はバンク#2にコンフィギュレーションデータ14cをロードし、さらに、実行バンク#0にコンフィギュレーションデータ14cをロードする。すなわち、各オブジェクトの描画処理を実行する度に、PEマトリックス14aの回路構成が変更されることになる。図5に示す例で説明すると、2番目のオブジェクト(「i」)〜N番目のオブジェクト(「x」)の描画処理はいずれも「GRA」であるにもかかわらず、オブジェクト毎のコンフィギュレーションデータ14cをDDRメモリ40上で一旦生成し、オブジェクト毎のコンフィギュレーションデータ14cをDDRメモリ40からバンク#1又はバンク#2にロードし、さらに、バンク#1又はバンク#2から実行バンク#0にロードしている。このように、各オブジェクトの描画処理を行う度に、オブジェクト毎にコンフィギュレーションデータ14cを生成し、各オブジェクトのコンフィギュレーションデータ14cをDDRメモリ40からバンクへとロードしているため、コンフィギュレーションデータ14cの生成時間やロード時間が増大し、全体の処理時間が増大するおそれがある。例えば、コンフィギュレーションデータ14cの生成に要する時間と、コンフィギュレーションデータ14cをDDRメモリ40からバンクへロードする時間とを合わせた時間(DAP動作に要する時間)よりも、PEマトリックス14aによる描画処理に要する時間(DNA動作に要する時間)が短い場合、コンフィギュレーションデータ14cの生成及びロード(DAP動作)が、描画処理(DNA動作)に追い付かず、全体の処理時間が増大する。つまり、DAP動作とDNA動作とを並行して実行している場合に、DAP動作に要する時間がDNA動作に要する時間よりも長くなると、DNA動作の待機時間が発生し、全体の処理時間が増大することになる。
In the drawing process according to the reference example shown in FIG. 5, the
本実施形態においては、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、参考例に係る描画処理とは異なり、オブジェクト毎にコンフィギュレーションデータ14cをDDRメモリ40上で生成してバンクへとロードせずに、当該複数のオブジェクトを継続して描画する。この場合、PEマトリックス14aは、自身の回路構成を変更せずに、当該連続する複数のオブジェクトを継続して画像メモリ130に書き込む。
In the present embodiment, when the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the
ここで、図6を参照して、本実施形態に係る描画処理の一例を説明する。図6(a)に本実施形態に係る描画処理の一例を示し、図6(b)に参考例に係る描画処理の一例を示す。例えば、図5に示す例と同様に、1番目のオブジェクトの描画処理が「RAS−G」であり、2番目のオブジェクトの描画処理が「GRA」であり、3番目の描画処理が「GRA」である場合について説明する。 Here, an example of the drawing process according to the present embodiment will be described with reference to FIG. FIG. 6A shows an example of the drawing process according to this embodiment, and FIG. 6B shows an example of the drawing process according to the reference example. For example, as in the example illustrated in FIG. 5, the drawing process of the first object is “RAS-G”, the drawing process of the second object is “GRA”, and the third drawing process is “GRA”. The case where it is is demonstrated.
図6(a)を参照して、本実施形態に係る描画処理を説明する。まず、再構成制御部12は、1番目のオブジェクトの描画処理「RAS−G」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードし、さらに、当該コンフィギュレーションデータ14cをバンク#2から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aに、1番目のオブジェクトの描画処理「RAS−G」を実行するための回路が構成される。そして、PEマトリックス14aは、1番目のオブジェクトを対象にして「RAS−G」を実行することで、1番目のオブジェクトを画像メモリ130に書き込む(DNA動作)。
With reference to FIG. 6A, a drawing process according to the present embodiment will be described. First, the
また、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードしておく(DAP動作)。例えば、DNA動作と並行してDAP動作が行われる。そして、PEマトリックス14aによる1番目のオブジェクトの描画処理「RAS−G」が終了すると、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cを、バンク#1から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aには、2番目のオブジェクトの描画処理「GRA」を実行するための回路が構成される。そして、PEマトリックス14aは、2番目のオブジェクトを対象にして「GRA」を実行することで、2番目のオブジェクトを画像メモリ130に書き込む(DNA動作)。
Further, the
3番目のオブジェクトの描画処理は「GRA」であり、2番目のオブジェクトの描画処理と同一であるため、再構成制御部12は、3番目のオブジェクト用のコンフィギュレーションデータ14cをDDRメモリ40上で生成せず、DDRメモリ40からバンク#1又はバンク#2へのコンフィギュレーションデータ14cのロードも実行しない。この場合、PEマトリックス14aは、3番目のオブジェクトの位置情報、サイズ情報及び色情報等のパラメータ(中間データに規定されているパラメータ)を取得し、PEマトリックス14a自身の回路構成は変更せずに、当該パラメータのみを変更して3番目のオブジェクトを画像メモリ130に書き込む(オブジェクト連続処理)。すなわち、3番目のオブジェクトの描画処理「GRA」を実行するための回路は、2番目のオブジェクトの描画処理を実行するときにPEマトリックス14aに既に構成されているため、PEマトリックス14aは当該回路を利用することで、3番目のオブジェクトを画像メモリ130に書き込む。更に換言すると、オブジェクト連続処理が実行されている間、実行バンク#0にロードされたコンフィギュレーションデータ14cは書き換えられずに、同一の描画処理を実行するための回路がPEマトリックス14aに構成されることになる。一方で、オブジェクト連続処理が実行されない場合、実行バンク#0にロードされたコンフィギュレーションデータ14cは書き換えられ、PEマトリックス14aの回路構成が変更されることになる。例えば、不連続処理が継続する場合、バンク#1又はバンク#2から実行バンク#0にコンフィギュレーションデータ14cが交互にロードされることで、実行バンク#0に記憶されたコンフィギュレーションデータ14cが書き換えられることになる。
Since the drawing process of the third object is “GRA” and is the same as the drawing process of the second object, the
4番目以降のオブジェクトについても、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、PEマトリックス14aは自身の回路構成を変更せずに、連続する複数のオブジェクトを継続して画像メモリ130に書き込む(オブジェクト連続処理)。図6(a)に示す例では、2番目〜N番目のオブジェクトの描画処理が同一であるため、PEマトリックス14aは、回路構成を変更せずに、2番目〜N番目のオブジェクトを継続して画像メモリ130に書き込む。
For the fourth and subsequent objects, when the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the
オブジェクト連続処理が行われている間、再構成制御部12は、オブジェクト連続処理の後に実行される描画処理のコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#1又はバンク#2にロードする。図6(a)に示す例では、オブジェクト連続処理「GRA」の後に、(N+1)番目のオブジェクトを対象にして描画処理「RAS−G」の実行が予定されているため、再構成制御部12は、(N+1)番目のオブジェクト用の描画処理「RAS−G」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードする。そして、PEマトリックス14aによるオブジェクト連続処理「GRA」が終了すると、再構成制御部12は、「RAS−G」を実行するためのコンフィギュレーションデータ14cをバンク#2から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aは、「RAS−G」を実行することで、(N+1)番目のオブジェクトを画像メモリ130に書き込む(DNA動作)。それ以降のオブジェクトについても同様であり、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、PEマトリックス14aは自身の回路構成を変更せずに、連続する複数のオブジェクトを継続して画像メモリ130に書き込む。一方、実行される描画処理が同一である複数のオブジェクトの描画順番が連続しない場合、再構成制御部12は、連続しない各オブジェクトに対する描画処理用のコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータ14cをバンク#1又はバンク#2にロードする。
While the object continuous processing is being performed, the
なお、図6(b)に示す参考例では、図5に示す参考例と同様に、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合であっても、DDRメモリ40上でコンフィギュレーションデータ14cを一旦生成し、DDRメモリ40からバンク#1又はバンク#2にコンフィギュレーションデータ14cを交互にロードする。
In the reference example shown in FIG. 6B, as in the reference example shown in FIG. 5, the
以上のように、本実施形態によると、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、PEマトリックス14aの回路を変更せずに、PEマトリックス14aに既に構成された回路を利用し、連続する複数のオブジェクトを継続して画像メモリ130に書き込むことで、参考例に係る描画処理と比較して、全体の処理時間が短縮される。すなわち、本実施形態では、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、オブジェクト毎にコンフィギュレーションデータ14cをDDRメモリ40上で生成してバンクへとロードせずに、オブジェクト連続処理を実行することで、DDRメモリ40上でコンフィギュレーションデータ14cを生成するのに要する時間と、DDRメモリ40からバンクへコンフィギュレーションデータ14cをロードするのに要する時間とが削減される。そのことにより、参考例と比較して、全体の処理時間が短縮される。つまり、コンフィギュレーションデータ14cの生成及びロードの回数が削減されるので、参考例と比較して、全体の処理時間が短縮される。
As described above, according to the present embodiment, when the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the
次に、本実施形態の具体例について説明する。まず、図7を参照して、中間データ生成部110によって生成される中間データについて説明する。一例として、中間データは、Stream0(パラメータ情報)とStream1(シェイプ情報)とを含む。中間データ生成部110は、画像データに表されたオブジェクト毎にStream0及びStream1を生成し、各オブジェクトのStream0及びStream1を、各オブジェクトの実行順序(描画順番)に並べてリスト化する。
Next, a specific example of this embodiment will be described. First, the intermediate data generated by the intermediate
Stream0は、「コンフィギュレーションID(Config ID)」、「Data ID」、「Shape Top address」、「Shape Length」、「BitMask_ConstColor」、「Offset_Y_LSB、Offset_X_LSB」、及び、「Bbox」を含む。また、Stream1は、「Config ID」、「Data ID」、及び、「Shape data」を含む。 The Stream 0 includes “Configuration ID (Configuration ID)”, “Data ID”, “Shape Top address”, “Shape Length”, “BitMask_ConstColor”, “Offset_Y_LSB, Offset_X_B, Offset_X_L”. Further, Stream1 includes “Config ID”, “Data ID”, and “Shape data”.
「Config ID」は、コンフィギュレーションデータ14cのIDであり、画像メモリ130上にオブジェクトを描画する処理(描画処理)の種類を示す。上記の「RAS−G」、「GRA」及び「REC」等の描画コマンドが、当該描画処理に該当する。この「Config ID」を参照することで、描画対象となるオブジェクトの描画処理が特定される。「Data ID」は、画像データのShapeコマンドのシリーズ番号であり、各オブジェクトの描画順番を示す。「Shape Top address」は、Stream1の先頭アドレスを示す。「Shape Length」は、Shapeコマンドの長さを示し、byte単位で規定される。「BitMask_ConstColor」は、画像データのカラーコマンドで指定された値を規定し、画像データの色属性の一例として、画像データの色空間や階調等を規定する。「Offset_Y_LSB、Offset_X_LSB」は、原点からの位置を示す。「Bbox」はバウンダリボックスであり、画像データに表されたオブジェクトの描画領域を規定する。例えば、「Bbox」は、オブジェクトに外接する矩形状の描画領域の位置及びサイズを規定する。一例として、「Bbox」はx−y座標系で規定され、矩形状の描画領域における対角線上の頂点の座標((Lx,Ly)、(Gx,Gy))を示す。「Shape data」は、Shapeコマンドのデータであり、オブジェクトの形状等を示す。「Shape data」は可変長であり、一例として256byteバースト単位となるように0データが埋められる。なお、図7に示す中間データのフォーマットは一例であり、本発明はこの例に限定されるものではない。ページ内におけるオブジェクトの位置情報、描画順番、サイズ情報、描画情報及び色情報等を規定するものであれば、中間データのフォーマットは、図7に示すフォーマット以外のものであってもよい。
“Config ID” is an ID of the
本実施形態では、中間データ生成部110は、実行される描画処理が同一であり描画順番が連続する複数のオブジェクト(オブジェクト連続処理の対象となる複数のオブジェクト)と、オブジェクト連続処理の対象とならないオブジェクトとを区別し、それぞれ異なる中間データを生成する。以下、オブジェクト連続処理の対象となるオブジェクトの中間データを、「連続処理用の中間データ」と称し、オブジェクト連続処理の対象とならないオブジェクトの中間データを、「不連続処理用の中間データ」と称することとする。
In the present embodiment, the intermediate
例えば、中間データ生成部110は、各オブジェクトの中間データに含まれる「Config ID」を参照することで、各オブジェクトの描画処理を特定する。特定された描画処理が同一であり複数のオブジェクトの描画順番が連続する場合、中間データ生成部110は、当該複数のオブジェクトについては「連続処理用の中間データ」を生成する。一方、同一の描画処理が実行される複数のオブジェクトの描画順番が連続しない場合、中間データ生成部110は、当該オブジェクトについては「不連続処理用の中間データ」を生成する。
For example, the intermediate
図8に、不連続処理用の中間データの一例を示す。中間データ生成部110は、不連続処理用の中間データのStream0(パラメータ情報)に、連続処理ではないことを示す情報「Single Obj.」を追加する。「Single Obj.」以外の情報は、図7に示す元々の中間データに含まれる情報と同じである。
FIG. 8 shows an example of intermediate data for discontinuous processing. The intermediate
図9に、連続処理用の中間データの一例を示す。中間データ生成部110は、連続処理用の中間データのStream0(パラメータ情報)に、連続処理であることを示す情報「Continue Obj.」を追加し、「Shape Top address」に替えて「Index Top address」を規定し、「Shape Length」に替えて「Index Object address」を規定する。「Index Top address」及び「Index Object address」については後述する。
FIG. 9 shows an example of intermediate data for continuous processing. The intermediate
また、中間データ生成部110は、連続処理用の中間データのStream1(パラメータ/シェイプ情報)に、「BitMask_ConstColor」、「Offset_Y_LSB、Offset_X_LSB」、及び、「Bbox」を追加する。すなわち、中間データ生成部110は、連続処理対象のオブジェクトの位置情報及び色情報を、Stream1に追加する。これにより、Stream1には、オブジェクトの位置情報、色情報及び「Shape data」が規定されることになる。
Further, the intermediate
さらに、中間データ生成部110は、連続処理の対象となるオブジェクトのStream0(パラメータ情報)に基づき、Stream2(連続処理情報)を生成する。このStream2(連続処理情報)は、連続処理対象の各オブジェクトの描画順番を規定するとともに、メモリ上における各オブジェクトのStream1(パラメータ/シェイプ情報)のアドレスを規定する。具体的には、中間データ生成部110は、連続処理対象の各オブジェクトの「Shape Top address」及び「Shape Length」を、描画順番通りにStream2に規定する。
Further, the intermediate
ここで、図10を参照して、Stream0とStream2との対応関係について説明する。Stream2には、連続処理対象となるオブジェクト#1〜#Nの「Shape Top address」及び「Shape Length」が、8byte単位で描画順番通りに規定される。また、Stream2の最後には、連続処理の終了を示す情報「End of DNA continuous execute」が規定される。Stream2に規定された順番に従って、各オブジェクトの描画処理が行われる。この描画処理の詳細については後述する。
Here, with reference to FIG. 10, the correspondence relationship between Stream0 and Stream2 will be described. In “
Stream0の「Index Top address」は、Stream2の先頭アドレスを示す。各オブジェクトのStream0には、「Index Top address」が規定されているため、各オブジェクトのStream0を参照することで、Steam2の先頭アドレスが特定される。例えば、連続処理対象の複数のオブジェクトのうち1番目のオブジェクト#1のStream0に「Index Top address」が規定され、同様に、2番目のオブジェクト#2のStream0にも「Index Top address」が規定されている。3番目〜N番目のオブジェクトのStream0にも「Index Top address」が規定されている。
“Index Top address” of Stream 0 indicates the start address of
また、各オブジェクトのStream0の「Index Object address」は、Stream2において各オブジェクトの「Shape Top address」が規定されているアドレスを示す。例えば、オブジェクト#1は1番目のオブジェクトであるため、オブジェクト#1の「Index Object address」は、「Index Top address」と同じアドレスを示す。また、オブジェクト#2の「Index Object address」は、Stream2においてオブジェクト#2の「Shape Top address」が規定されているアドレスを示す。他のオブジェクトについても同様である。
In addition, “Index Object address” of Stream 0 of each object indicates an address in which “Shape Top address” of each object is defined in
以上のように、本実施形態では、描画処理部120による描画処理の前に、中間データ生成部110によって、新たな中間データであるStream0、Stream1及びStream2が生成される。
As described above, in the present embodiment, before the drawing processing by the
そして、オブジェクト連続処理が行われる場合、PEマトリックス14aは、Stream2を参照することで、オブジェクト#1の「Shape Top address」及び「Shape Length」をパラメータとして取得する。そして、PEマトリックス14aは、Stream1を参照し、「Shape Top address」及び「Shape Length」で特定されるメモリ領域に規定されたオブジェクト#1のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#1を画像メモリ130に書き込む。オブジェクト#1の描画処理が終了すると、PEマトリックス14aは、Stream2を参照することで、オブジェクト#2の「Shape Top address」及び「Shape Length」をパラメータとして取得する。そして、PEマトリックス14aは、Stream1を参照し、「Shape Top address」及び「Shape Length」で特定されるメモリ領域に規定されたオブジェクト#2のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#2を画像メモリ130に書き込む。オブジェクト#3〜#Nについても同様の処理が行われる。
When the object continuous processing is performed, the
図11に、メモリ上における各オブジェクトの「Shape Top address」及び「Shape Length」の関係の一例を示す。例えば、PEマトリックス14aは、オブジェクト#1の「Shape Top address」及び「Shape Length」で特定されるメモリ領域(例えば64byte)に規定されたオブジェクト#1のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#1を画像メモリ130に書き込む。また、PEマトリックス14aは、オブジェクト#2の「Shape Top address」及び「Shape Length」で特定されるメモリ領域(例えば128byte)に規定されたオブジェクト#2のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#2を画像メモリ130に書き込む。オブジェクト#3〜#Nについても同様の処理が行われる。
FIG. 11 shows an example of the relationship between “Shape Top address” and “Shape Length” of each object on the memory. For example, the
また、オブジェクト連続処理が行われない場合、PEマトリックス14aは、不連続処理用のStream1を参照してオブジェクトの描画処理を行う。
When the object continuous processing is not performed, the
次に、図12を参照して、Stream0,1,2に基づき実行される描画処理について説明する。まず、再構成制御部12は、中間データを生成するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成し、当該コンフィギュレーションデータをバンク#1にロードし、さらに、バンク#1から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aに、中間データ生成部110の機能を実現する回路が構成される。中間データ生成部110は、画像データを解釈することで、Stream0、Stream1及びStream2を生成する。
Next, with reference to FIG. 12, the drawing process executed based on the
そして、再構成制御部12は、Stream0及びStream2を参照し、描画処理用のコンフィギュレーションデータ14cの生成、ロード、パラメータ設定、DNA動作の実行/終了確認等の描画処理制御を行う。
Then, the
例えば、1番目のオブジェクトの描画処理が「RAS−G」であり、2番目のオブジェクトの描画処理が「GRA」であり、3番目の描画処理が「GRA」である場合について説明する。 For example, a case will be described in which the drawing process of the first object is “RAS-G”, the drawing process of the second object is “GRA”, and the third drawing process is “GRA”.
再構成制御部12は、1番目のオブジェクトのStream0を参照することで、1番目のオブジェクトが連続処理の対象ではないことを特定し、さらに、Stream0に規定されたパラメータに基づき、1番目のオブジェクトの描画処理「RAS−G」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する。1番目のオブジェクトは連続処理の対象となっていないため、図8に示すStream0(不連続処理用の中間データ)が再構成制御部12で参照されてコンフィギュレーションデータ14cが生成されることになる。そして、再構成制御部12は、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードし、さらに、バンク#2から実行バンク#0に当該コンフィギュレーションデータ14cをロードする(DAP動作)。これにより、PEマトリックス14aに、1番目のオブジェクトの描画処理「RAS−G」を実行するための回路が構成される。そして、PEマトリックス14aは、1番目のオブジェクトのStream1を解釈し、Stream1に規定された「Shape Data」に従って、1番目のオブジェクトを対象にして「RAS−G」を実行することで、1番目のオブジェクトを画像メモリ130に書き込む(DNA動作)。1番目のオブジェクトは連続処理の対象となっていないため、図8に示すStream1(不連続処理用の中間データ)がPEマトリックス14aで解釈されて描画処理が行われることになる。
The
また、再構成制御部12は、2番目のオブジェクトのStream0を参照することで、2番目のオブジェクトが連続処理の対象であることを特定し、さらに、Stream0に基づき、2番目のオブジェクトの描画処理「GRA」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する。2番目のオブジェクトは連続処理の対象となっているため、図9に示すStream0(連続処理用の中間データ)が再構成制御部12で参照されてコンフィギュレーションデータ14cが生成されることになる。そして、再構成制御部12は、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードする(DAP動作)。例えば、PEマトリックス14aが、1番目のオブジェクトの描画処理「RAS−G」を実行している間に、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードしておく。そして、PEマトリックス14aによる1番目のオブジェクトの描画処理「RAS−G」が終了すると、再構成制御部12は、2番目のオブジェクトの描画処理「GRA」用のコンフィギュレーションデータ14cを、バンク#1から実行バンク#0にロードする(DAP動作)。これにより、PEマトリックス14aには、描画処理「GRA」を実行するための回路が構成される。
In addition, the
そして、PEマトリックス14aは、連続処理用の中間データであるStream2及びStream1を参照し、連続処理の対象となっている2〜N番目のオブジェクトを対象にして「GRA」を実行することで、2〜N番目のオブジェクトを継続して画像メモリ130に書き込む(DNA動作)。一例として、図10に示すStream2を例にとって説明する。PEマトリックス14aは、Stream2を参照することで、連続する1つ目のオブジェクト#1(図12で示す2番目のオブジェクト)の「Shape Top address」及び「Shape Length」をパラメータとして取得する。そして、PEマトリックス14aは、Stream1を解釈し、オブジェクト#1の「Shape Top address」及び「Shape Length」で特定されるメモリ領域に規定されたオブジェクト#1のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#1を対象として「GRA」を実行することでオブジェクト#1を画像メモリ130に書き込む(DNA動作)。
Then, the
さらに、PEマトリックス14aは、Stream2を参照することで、連続する2つめのオブジェクト#2(図12で示す3番目のオブジェクト)の「Shape Top address」及び「Shape Length」をパラメータとして取得する。そして、PEマトリックス14aは、Stream1を解釈し、オブジェクト#2の「Shape Top address」及び「Shape Length」で特定されるメモリ領域に規定されたオブジェクト#2のパラメータ(「Shape data」、「BitMask_ConstColor」及び「Bbox」)に従って、オブジェクト#2を対象として「GRA」を実行することでオブジェクト#2を画像メモリ130に書き込む(DNA動作)。PEマトリックス14aには描画処理「GRA」を実行するための回路が既に構成されているため、PEマトリックス14aは当該回路を維持した状態で、オブジェクト#2を画像メモリ130に書き込む。すなわち、連続処理を行う場合、オブジェクト#2の描画処理「GRA」を実行するためのコンフィギュレーションデータ14cは、再構成制御部12によってDDRメモリ40上で生成されず、バンクへのコンフィギュレーションデータ14cのロードも実行されない。
Further, the
PEマトリックス14aは、N番目のオブジェクトまで連続して画像メモリ130に書き込む。そして、PEマトリックス14aは、Stream2を参照し、連続処理終了「End of DNA continuous execute」を検出した場合、連続処理を終了する。
The
2〜N番目のオブジェクトについて連続処理が行われている間、再構成制御部12は、(N+1)番目のオブジェクトのStream0を参照することで、(N+1)番目のオブジェクトが連続処理の対象でないことを特定し、さらに、Stream0に規定されたパラメータに基づき、(N+1)番目のオブジェクトの描画処理「RAS−G」を実行するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する。そして、再構成制御部12は、当該コンフィギュレーションデータ14cをDDRメモリ40からバンク#2にロードする。N番目のオブジェクトの描画処理が終了すると、再構成制御部12は、バンク#2から実行バンク#0にコンフィギュレーションデータ14cをロードする(DAP動作)。これにより、PEマトリックス14aに、(N+1)番目のオブジェクトの描画処理「RAS−G」を実行するための回路が構成される。そして、PEマトリックス14aは、(N+1)番目のオブジェクトのStream1を解釈し、Stream1に規定された「Shape Data」に従って、(N+1)番目のオブジェクトを対象にして「RAS−G」を実行することで、(N+1)番目のオブジェクトを画像メモリ130に書き込む(DNA動作)。(N+2)番目以降のオブジェクトについても、画像処理装置100はStream0,1,2を解釈することで、オブジェクトの連続処理又は不連続処理を実行する。
While the continuous processing is being performed on the 2nd to Nth objects, the
以上のように、描画処理前に中間データとしてのStream0,1,2を予め生成しておき、PEマトリックス14aがStream2及びStream1を解釈することで、オブジェクト連続処理が実行される場合には、描画処理に必要なパラメータがPEマトリックス14aに設定されて描画処理が実行される。すなわち、再構成制御部12が各オブジェクトのStream0を解釈してオブジェクト毎にコンフィギュレーションデータ14cを生成せずに済み、また、オブジェクト毎のコンフィギュレーションデータ14cをDDRメモリ40からバンクにロードせずに済む。つまり、再構成制御部12によるDAP動作が行われなくても、PEマトリックス14aによる描画処理が実行されることになる。このように、再構成制御部12によるコンフィギュレーションデータ14cの生成及びコンフィギュレーションデータ14cのロードの回数が削減されるので、コンフィギュレーションデータ14cの生成時間及びロード時間が削減され、その結果、全体の処理時間が短縮される。換言すると、描画処理前に、Stream0,1に加え、ハードウェアであるPEマトリックス14aが解釈し得るStream2を予め生成しておくことで、オブジェクト連続処理が実行される場合には、ソフトウェア処理であるDAP動作が省略され、ハードウェア処理であるDNA動作(描画処理)が実行される。このようにDAP動作が省略されるので、全体の処理時間が短縮される。
As described above, when
次に、図13及び図14に示すフローチャートを参照して、画像処理装置100の動作の一例を説明する。
Next, an example of the operation of the
まず、割り込み処理(描画要求)が発生すると、描画処理部120に割り込みマスクが設定され(S01)、以降、描画処理の状態に応じて処理A,B,Cのいずれかが実行される(S02)。ここで、処理Aは、描画処理開始時に実行される処理であり、バンク#1及びバンク#2のいずれにもコンフィギュレーションデータ14cがロードされていないときに実行される処理である。処理Bは、描画処理の途中に実行される処理であり、バンク#1及びバンク#2の両方にコンフィギュレーションデータ14cがロードされて描画処理が実行されているときに実行される処理である。処理Cは、描画処理終了時に実行される処理であり、最後のオブジェクトの描画処理が終了したときに実行される処理である。
First, when an interrupt process (drawing request) occurs, an interrupt mask is set in the drawing processing unit 120 (S01), and thereafter, one of processes A, B, and C is executed according to the state of the drawing process (S02). ). Here, the process A is a process that is executed when the drawing process is started, and is a process that is executed when the
まず、処理Aが実行される場合について説明する。この場合、描画処理のコマンドが選択され(S03)、当該描画処理を実行するためのパラメータが設定されてコンフィギュレーションデータ14cがDDRメモリ40上で生成され(S04)、当該コンフィギュレーションデータ14cがDDRメモリ40からバンク#1にロードされる(S05)。図14に、この一連の処理の流れを示す。まず、再構成制御部12は、描画対象のオブジェクトのStream0を解釈することで描画処理のコマンドを選択する(S20)。また、再構成制御部12は、描画対象のオブジェクトのStream0を参照することで、当該オブジェクトが連続処理の対象か否かを特定する。当該オブジェクトが連続処理の対象でない場合、再構成制御部12は、当該オブジェクトのStream0を参照し、Stream0に規定されたパラメータに従い、当該オブジェクトを描画するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する(S21)。一方、描画対象のオブジェクトが連続処理の対象である場合、再構成制御部12は、当該オブジェクトのStream0及びStream2を参照し、Stream0に規定されたパラメータに従い、当該オブジェクトを描画するためのコンフィギュレーションデータ14cをDDRメモリ40上で生成する(S22)。そして、再構成制御部12は、コンフィギュレーションデータ14cをDDRメモリ40からバンク#1にロードする(S23)。図12に戻って説明すると、再構成制御部12は、コンフィギュレーションデータ14cをバンク#1から実行バンク#0にロードする。そして、PEマトリックス14aは、実行バンク#0にロードされたコンフィギュレーションデータ14cによって構成された機能を実行することで、描画処理を実行する(S06)。その後、ステップS03〜S05の処理と同様に、描画処理のコマンドが選択され(S07)、当該描画処理を実行するためのパラメータが設定されたコンフィギュレーションデータ14cがDDRメモリ40上で生成され(S08)、当該コンフィギュレーションデータ14cがDDRメモリ40からバンク#2にロードされる(S09)。そして、処理Aは終了し(S10)、割り込みマスクが解除され(S11)、割り込み処理は終了する。なお、ステップS07にて描画処理の終了コマンドが検出された場合、処理Aは終了する(S10)。
First, a case where process A is executed will be described. In this case, a drawing process command is selected (S03), parameters for executing the drawing process are set,
次に、処理Bが実行される場合について説明する。この場合、割り込み処理(描画要求)が発生すると、再構成制御部12はPEマトリックス14aの処理を停止させ(S12)、コンフィギュレーションデータ14cをバンク#1又はバンク#2から実行バンク#0にロードする。そして、PEマトリックス14aは、実行バンク#0にロードされたコンフィギュレーションデータ14cによって構成された機能を実行することで、描画処理を実行する(S13)。その後、ステップS03〜S05の処理と同様に、描画処理のコマンドが選択され(S14)、当該描画処理を実行するためのパラメータが設定されてコンフィギュレーションデータ14cがDDRメモリ40上で生成され(S15)、当該コンフィギュレーションデータがDDRメモリ40からバンク#1又はバンク#2にロードされる(S16)。そして、割り込みマスクが解除され(S11)、割り込み処理は終了する。なお、ステップS14にて描画処理の終了コマンドが検出された場合、処理Bは終了する(S17)。
Next, a case where process B is executed will be described. In this case, when interrupt processing (drawing request) occurs, the
次に、処理Cが実行される場合について説明する。この場合、最後のオブジェクトの描画処理が終了しているため、再構成制御部12はPEマトリックス14aの処理を停止させる(S18)。そして、割り込みマスクが解除され(S11)、割り込み処理は終了する。
Next, a case where process C is executed will be described. In this case, since the drawing processing of the last object has been completed, the
以上のように、コンフィギュレーションデータ14cが実行バンク#0にロードされて描画処理が実行されることになる。
As described above, the
10 DRP、12 再構成制御部、14 再構成可能回路部、100 画像処理装置、110 中間データ生成部、120 描画処理部、130 画像メモリ、140 印刷装置。 10 DRP, 12 reconfiguration control unit, 14 reconfigurable circuit unit, 100 image processing device, 110 intermediate data generation unit, 120 drawing processing unit, 130 image memory, 140 printing device.
Claims (7)
前記再構成可能回路内の回路として構成され、画像メモリにアクセスすることで、画像データに表されたオブジェクトを前記画像メモリに描画する描画処理手段と、
前記画像データを解釈することで、継続して異なるオブジェクトを前記画像メモリに描画するよう前記描画処理手段に指示するためのコマンドを生成するコマンド生成手段と、
を有することを特徴とする画像処理装置。 A reconfigurable circuit whose circuit configuration is reconfigurable; and
A rendering processing unit configured as a circuit in the reconfigurable circuit and rendering an object represented by image data in the image memory by accessing the image memory;
Command generation means for generating a command for instructing the drawing processing means to continuously draw different objects in the image memory by interpreting the image data;
An image processing apparatus comprising:
ことを特徴とする請求項1に記載の画像処理装置。 The command generation unit continuously draws, in the image memory, a plurality of objects in which the same drawing process is performed on the image memory and the drawing order is continuous among the plurality of objects represented in the image data. Generating the command to instruct the drawing processing means to
The image processing apparatus according to claim 1.
前記制御手段は、前記コマンドに従い、同一の描画処理が行われる複数のオブジェクトの描画処理が連続する場合、前記描画処理手段の回路を変更せずに、継続して描画処理を前記描画処理手段に実行させる、
ことを特徴とする請求項1又は請求項2に記載の画像処理装置。 Further comprising: control means for generating circuit configuration information for causing the drawing processing means to implement a circuit for executing the drawing processing, and for configuring the circuit in the drawing processing means based on the circuit configuration information;
In accordance with the command, when the drawing processing of a plurality of objects for which the same drawing processing is performed continues, the control means continues the drawing processing to the drawing processing means without changing the circuit of the drawing processing means. To execute,
The image processing apparatus according to claim 1 or 2, wherein
第1描画処理の次に第2描画処理を実行する第2回路を前記描画処理手段に実現させるための回路構成情報を記憶する待機用記憶手段と、
を更に有し、
前記制御手段は、同一の描画処理が行われる複数のオブジェクトの描画順番が連続する場合、前記実行用記憶手段に記憶された回路構成情報に基づき前記第1回路を前記描画処理手段に継続して構成し、同一の描画処理が行われる複数のオブジェクトの描画順番が連続しない場合、前記待機用記憶手段に記憶された回路構成情報を前記実行用記憶手段にロードして前記第2回路を前記描画処理手段に構成する、
ことを特徴とする請求項3に記載の画像処理装置。 Execution storage means for storing circuit configuration information for causing the drawing processing means to realize a first circuit for executing the first drawing processing;
Standby storage means for storing circuit configuration information for causing the drawing processing means to implement a second circuit that executes a second drawing process after the first drawing process;
Further comprising
The control means continues the first circuit to the drawing processing means based on the circuit configuration information stored in the execution storage means when the drawing order of a plurality of objects for which the same drawing processing is performed continues. If the drawing order of a plurality of objects configured and subjected to the same drawing process is not continuous, the circuit configuration information stored in the standby storage means is loaded into the execution storage means and the second circuit is drawn. Configure the processing means,
The image processing apparatus according to claim 3.
ことを特徴とする請求項4に記載の画像処理装置。 When the drawing order of a plurality of objects on which the same drawing process is performed is not continuous, the control unit is configured to have a plurality of circuit configurations for causing the drawing processing unit to implement a circuit that executes the drawing process of each of the plurality of objects. Information is generated on the main storage means, and each of the plurality of circuit configuration information is sequentially loaded from the main storage means to the standby storage means according to the drawing order, and from the standby storage means to the execution storage By loading into the means, the circuit configuration information stored in the execution storage means is changed according to the drawing order to change the circuit of the drawing processing means, and the drawing order of a plurality of objects for which the same drawing processing is performed is changed. In the case of continuous operation, the control means does not change the circuit configuration information stored in the execution storage means, and the circuit configuration information stored in the execution storage means. Forming the circuit in the drawing processing means based on,
The image processing apparatus according to claim 4.
前記描画処理手段は、前記リストに従い、前記連続する複数のオブジェクトを継続して前記画像メモリに書き込む、
ことを特徴とする請求項1から請求項5のいずれか一項に記載の画像処理装置。 The command generation means generates intermediate data indicating drawing processing of each object based on the image data, and interprets the intermediate data, whereby the same drawing processing is performed on the image memory, and the drawing order is continuous. Generate a list showing multiple objects
The drawing processing means continuously writes the plurality of consecutive objects to the image memory according to the list.
The image processing apparatus according to claim 1, wherein the image processing apparatus is an image processing apparatus.
画像メモリにアクセスすることで、画像データに表されたオブジェクトを前記画像メモリに描画する描画処理回路を、回路構成が再構成可能な再構成可能回路内の回路として構成するステップと、
前記画像データを解釈することで、継続して異なるオブジェクトを前記画像メモリに描画するよう前記描画処理回路に指示するためのコマンドを生成するステップと、
を実行させることを特徴とするプログラム。 On the computer,
Configuring a drawing processing circuit that draws an object represented in image data in the image memory by accessing the image memory as a circuit in a reconfigurable circuit whose circuit configuration is reconfigurable;
Generating a command to instruct the drawing processing circuit to continuously draw different objects in the image memory by interpreting the image data;
A program characterized by having executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013143856A JP6160317B2 (en) | 2013-07-09 | 2013-07-09 | Image processing apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013143856A JP6160317B2 (en) | 2013-07-09 | 2013-07-09 | Image processing apparatus and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015016586A true JP2015016586A (en) | 2015-01-29 |
JP6160317B2 JP6160317B2 (en) | 2017-07-12 |
Family
ID=52438092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013143856A Expired - Fee Related JP6160317B2 (en) | 2013-07-09 | 2013-07-09 | Image processing apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6160317B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017060073A (en) * | 2015-09-18 | 2017-03-23 | 富士ゼロックス株式会社 | Data processing device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021094798A (en) | 2019-12-18 | 2021-06-24 | 富士フイルムビジネスイノベーション株式会社 | Image processing apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10278361A (en) * | 1997-04-01 | 1998-10-20 | Fuji Xerox Co Ltd | Print processor |
JP2000255118A (en) * | 1999-03-05 | 2000-09-19 | Fuji Xerox Co Ltd | Apparatus for processing printing and method for processing printing |
JP2001075759A (en) * | 1999-09-06 | 2001-03-23 | Fuji Xerox Co Ltd | Information processor and its method |
JP2006164186A (en) * | 2004-12-10 | 2006-06-22 | Ip Flex Kk | Method and program of debugging integrated circuit |
JP2010143040A (en) * | 2008-12-18 | 2010-07-01 | Fuji Xerox Co Ltd | Image processing apparatus |
-
2013
- 2013-07-09 JP JP2013143856A patent/JP6160317B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10278361A (en) * | 1997-04-01 | 1998-10-20 | Fuji Xerox Co Ltd | Print processor |
JP2000255118A (en) * | 1999-03-05 | 2000-09-19 | Fuji Xerox Co Ltd | Apparatus for processing printing and method for processing printing |
JP2001075759A (en) * | 1999-09-06 | 2001-03-23 | Fuji Xerox Co Ltd | Information processor and its method |
JP2006164186A (en) * | 2004-12-10 | 2006-06-22 | Ip Flex Kk | Method and program of debugging integrated circuit |
JP2010143040A (en) * | 2008-12-18 | 2010-07-01 | Fuji Xerox Co Ltd | Image processing apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017060073A (en) * | 2015-09-18 | 2017-03-23 | 富士ゼロックス株式会社 | Data processing device |
Also Published As
Publication number | Publication date |
---|---|
JP6160317B2 (en) | 2017-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5504985B2 (en) | Data processing device | |
WO2018077295A1 (en) | Data processing method and apparatus for convolutional neural network | |
US8861014B2 (en) | Systems and methods for optimized printer throughput in a multi-core environment | |
JP4405884B2 (en) | Drawing processing circuit and image output control device | |
JP5942934B2 (en) | Image processing apparatus and program | |
KR20170125881A (en) | Provides asynchronous display shader functionality on shared shader cores | |
US9172839B2 (en) | Image forming apparatus, control method and storage medium | |
JP6160317B2 (en) | Image processing apparatus and program | |
JP5885481B2 (en) | Information processing apparatus, information processing method, and program | |
JP2014239304A (en) | Image processing device and image processing method | |
JP5482238B2 (en) | Image processing apparatus, image forming apparatus, image processing method, image forming method, and program | |
JP6869360B2 (en) | Image processing equipment, image processing method, and image processing program | |
JP3871011B2 (en) | Information processing apparatus and information processing method | |
JP2020131547A (en) | Image processing device, image formation apparatus and program | |
JP2005182538A (en) | Data transfer device | |
JP5744206B2 (en) | Drawing control device | |
JP4848562B2 (en) | Multiprocessor | |
JP2015018350A (en) | Image processing apparatus and program | |
JP2001096854A (en) | Apparatus and method for printing processing | |
US9013506B2 (en) | Image processing apparatus, image processing method, and computer readable medium with parallel rendering | |
WO2023204041A1 (en) | Information processing device, information processing method, information processing program, software creation device, software creation method, and software creation program | |
US9792537B2 (en) | Multicore printer definition language processing | |
JP6379757B2 (en) | Image processing apparatus and image forming apparatus | |
JP6115435B2 (en) | Image processing apparatus and program | |
JP2000255116A (en) | Apparatus for processing printing and method for processing printing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170123 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170529 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6160317 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |