JP2015016586A - Image processing system and program - Google Patents

Image processing system and program Download PDF

Info

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
Application number
JP2013143856A
Other languages
Japanese (ja)
Other versions
JP6160317B2 (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 JP2013143856A priority Critical patent/JP6160317B2/en
Publication of JP2015016586A publication Critical patent/JP2015016586A/en
Application granted granted Critical
Publication of JP6160317B2 publication Critical patent/JP6160317B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image processing system capable of shortening time required for drawing of image data to memory.SOLUTION: A drawing processing part 120, which has a circuit configuration configured as a circuit within a reconfigurable circuit, gets access to image memory 130 to draw an object, expressed in image data, into the image memory 130. An intermediate data generation part 110 interprets the image data to generate a command for instructing the drawing processing part 120 to continuously draw the different objects into the image memory 130.

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, Patent Document 1 discloses an apparatus that selects a circuit attribute stored in a configuration storage unit according to the appearance frequency of an attribute of image information and configures the selected circuit in a dynamic circuit reconfiguration unit. Yes.

特許文献2には、回路構成情報を効率的に保持、転送する再構成可能回路が開示されている。この再構成可能回路は、複数の回路構成情報を記憶するDRAMと、プロセッシングエレメントにロードされた回路構成情報をキャッシュする二次キャッシュとを備え、プロセッシングエレメントにロードすべき回路構成情報が二次キャッシュに記憶されていない場合、DRAMから二次キャッシュに回路構成情報を読み出し、二次キャッシュからプロセッシングエレメントに回路構成情報をロードする。   Patent Document 2 discloses a reconfigurable circuit that efficiently holds and transfers circuit configuration information. The reconfigurable circuit includes a DRAM that stores a plurality of circuit configuration information and a secondary cache that caches the circuit configuration information loaded in the processing element, and the circuit configuration information to be loaded into the processing element is stored in the secondary cache. If not, the circuit configuration information is read from the DRAM to the secondary cache, and the circuit configuration information is loaded from the secondary cache to the processing element.

特開2010−143040号公報JP 2010-143040 A 特開2010−2986号公報JP 2010-2986 A

ところで、画像データをメモリに描画する装置が再構成可能回路で構成される場合、回路構成情報の生成に要する時間や再構成可能回路に回路構成情報をロードするのに要する時間が、再構成可能回路による描画処理に要する時間よりも長くなることがある。この場合、全体の処理時間が増大するおそれがある。   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 claim 1 is configured as a reconfigurable circuit having a reconfigurable circuit configuration, and a circuit in the reconfigurable circuit, and by accessing an image memory, the object represented in the image data is Drawing processing means for drawing in an 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:

請求項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 claim 1, wherein the command for instructing the drawing processing unit to continuously draw in the image memory is generated.

請求項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 claim 1, wherein the image processing apparatus is executed by a processing unit.

請求項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 claims 1 to 5.

請求項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 claim 3, the circuit configuration is not changed when the drawing order of a plurality of objects for which the same drawing processing is performed is continuous, and the image for 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.

請求項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 claim 5, when the drawing order of a plurality of objects for which the same drawing processing is performed is continuous, the number of times of loading the circuit configuration information is reduced, compared with the case where the configuration of the present invention is not used. Overall processing time is reduced.

請求項6に係る発明によると、中間データを利用することで、本発明の構成を用いない場合と比較して、メモリに対する画像データの描画に要する時間を短縮することが可能となる。   According to the invention of claim 6, by using the intermediate data, it is possible to shorten the time required for drawing the image data in the memory as compared with the case where the configuration of the present invention is not used.

実施形態に係るシステムの一例を示すブロック図である。It is a block diagram which shows an example of the system which concerns on embodiment. 再構成可能回路を用いて処理を行うシステムの一例を示すブロック図である。It is a block diagram which shows an example of the system which processes using a reconfigurable circuit. 実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the image processing apparatus which concerns on embodiment. 再構成制御部の動作の一例を説明するための模式図である。It is a schematic diagram for demonstrating an example of operation | movement of a reconstruction control part. 参考例に係る描画処理を説明するための模式図である。It is a schematic diagram for demonstrating the drawing process which concerns on a reference example. 実施形態に係る描画処理の一例を説明するための模式図である。It is a schematic diagram for demonstrating an example of the drawing process which concerns on embodiment. 中間データのフォーマットの一例を示す図である。It is a figure which shows an example of the format of intermediate data. 中間データのフォーマットの一例を示す図である。It is a figure which shows an example of the format of intermediate data. 中間データのフォーマットの一例を示す図である。It is a figure which shows an example of the format of intermediate data. 中間データのフォーマットの一例を示す図である。It is a figure which shows an example of the format of intermediate data. 実施形態に係る描画処理の一例を説明するための模式図である。It is a schematic diagram for demonstrating an example of the drawing process which concerns on embodiment. 実施形態に係る画像処理装置の動作の一例を説明するための模式図である。It is a schematic diagram for demonstrating an example of operation | movement of the image processing apparatus which concerns on embodiment. 実施形態に係る画像処理装置の動作の一例を示すフローチャートである。6 is a flowchart illustrating an example of an operation of the image processing apparatus according to the embodiment. 実施形態に係る画像処理装置の動作の一例を示すフローチャートである。6 is a flowchart illustrating an example of an operation of the image processing apparatus according to the embodiment.

図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 image processing apparatus 100, an image memory 130, and a printing apparatus 140. The image processing apparatus 100 includes an intermediate data generation unit 110 and a drawing processing unit 120.

例えば、ページ記述言語(PDL:Page Description Language)で記述された画像データが、コンピュータ等の装置から画像処理装置100に提供される。ページ記述言語は、印刷処理やディスプレイ表示処理等を情報処理装置に実行させるためのコンピュータプログラミング言語である。ページ記述言語で記述された画像データは、印刷対象の画像を構成する文字や図形等のオブジェクトの位置情報、書式情報及び色情報等を含む。   For example, image data described in a page description language (PDL) is provided to the image processing apparatus 100 from an apparatus such as a computer. The page description language is a computer programming language for causing an information processing apparatus to execute print processing, display display processing, and the like. The image data described in the page description language includes position information, format information, color information, and the like of objects such as characters and graphics constituting the image to be printed.

中間データ生成部110はコマンドデコーダであり、画像データを解釈することで、印刷対象の画像が中間言語で記述された中間データを生成し、出力する。中間データは、最終的に印刷装置140に出力される描画データに変換される前段階のデータであり、描画データの生成の手順を表すコマンドを含む。中間データの具体例として、例えばディスプレイリスト(DL)があるが、本発明はこの例に限定されるものではない。中間データは、印刷対象の画像の構成要素であるオブジェクトのそれぞれについて、当該オブジェクトを描画する手順を表す描画コマンドを含む。具体的には、中間データは、ページ内におけるオブジェクトの位置を示す位置情報、そのオブジェクトの描画順番(描画コマンドの実行順番)、そのオブジェクトの大きさを示すサイズ情報、そのオブジェクトの描画内容(例えばイメージや図形や文字等)を示す描画情報、及び、そのオブジェクトの色(例えばオブジェクトを何色で塗りつぶすか等)を示す色情報等を含む。例えば、あるページの中間データは、当該ページを構成する各オブジェクトの描画手順を表すコマンドの集合であると捉えられる。   The intermediate data generation unit 110 is a command decoder, and generates and outputs intermediate data in which an image to be printed is described in an intermediate language by interpreting the image data. The intermediate data is data at a previous stage that is converted into drawing data that is finally output to the printing apparatus 140, and includes a command that represents a procedure for generating drawing data. A specific example of the intermediate data is a display list (DL), for example, but the present invention is not limited to this example. The intermediate data includes a drawing command representing a procedure for drawing each object that is a component of an image to be printed. Specifically, the intermediate data includes position information indicating the position of the object in the page, drawing order of the object (drawing command execution order), size information indicating the size of the object, and drawing contents of the object (for example, Drawing information indicating an image, a figure, a character, and the like) and color information indicating a color of the object (for example, how many colors the object is to be filled in). For example, the intermediate data of a certain page can be regarded as a set of commands indicating the drawing procedure of each object constituting the page.

また、中間データ生成部110は、画像データを解釈し、実行される描画処理が同一であり描画順番が連続する複数のオブジェクトを、継続して画像メモリ130に書き込むよう描画処理部120に指示するための新たな中間データ(コマンド)を生成する。なお、中間データ生成部110はコマンド生成手段の一例に相当する。   Further, the intermediate data generation unit 110 interprets the image data, and instructs the drawing processing unit 120 to continuously write a plurality of objects having the same drawing process to be executed and having a continuous drawing order to the image memory 130. New intermediate data (command) is generated. The intermediate data generation unit 110 corresponds to an example of a command generation unit.

描画処理部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 drawing processing unit 120 acquires intermediate data from the intermediate data generation unit 110, and generates drawing data that is compatible with the printing apparatus 140 and handled by the printing apparatus 140 according to the intermediate data. The drawing data is raster data including information (pixel value) for each pixel constituting the print image, for example, bitmap data or the like. The drawing processing unit 120 accesses the image memory 130 (frame memory) and writes the drawing data to the image memory 130, thereby storing the drawing data in the image memory 130. For example, the drawing processing unit 120 writes each object in the image memory 130 in order according to the drawing order (execution order) indicated by the intermediate data. When the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the drawing processing unit 120 continuously writes the plurality of objects in the image memory 130 (object continuous processing). In this case, different objects are continuously written in the image memory 130.

印刷装置140は、描画データによって表される画像を用紙等の記録媒体に印刷する。例えば、1ページ分の描画データが画像メモリ130に書き込まれると、この描画データは印刷装置140に出力され、描画データによって表される画像が印刷装置140によって記録媒体に印刷される。   The printing apparatus 140 prints an image represented by the drawing data on a recording medium such as paper. For example, when drawing data for one page is written in the image memory 130, the drawing data is output to the printing apparatus 140, and an image represented by the drawing data is printed on a recording medium by the printing apparatus 140.

上述した画像処理装置100では、例えばDRP(Dynamic Reconfigurable Processor:動的再構成可能プロセッサ)によって処理が実行される。   In the image processing apparatus 100 described above, processing is executed by, for example, a DRP (Dynamic Reconfigurable Processor).

図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 main memory 2, a CPU bus-PCI bridge 3, a DRP accelerator 4, and an internal bus 50 for connecting them. The DRP accelerator 4 includes, for example, a plurality of DRP systems 5 and a PCI switch 6. A plurality of DRP systems 5 are connected to the PCI switch 6. The DRP system 5 includes a DRP 10 and a DDR memory 40. The DDR memory 40 stores data, programs, and the like for controlling the DRP 10.

図3に、画像処理装置100のハードウェア構成の一例を示す。図3に示す例では、画像処理装置100は、DRP10によって構成される。   FIG. 3 shows an example of the hardware configuration of the image processing apparatus 100. In the example illustrated in FIG. 3, the image processing apparatus 100 is configured by the DRP 10.

DRP10は、内部の論理回路の構成を動的に変更(再構成)可能なプロセッサである。DRP10は、一例として、特開2009−3765号公報に開示されているDAP・DNAアーキテクチャのプロセッサであるが、本発明はこの例に限定されるものではなく、他の回路で構成されてもよい。以下、図3を参照してDRP10の一例を説明する。   The DRP 10 is a processor that can dynamically change (reconfigure) the configuration of an internal logic circuit. The DRP 10 is, for example, a DAP / DNA architecture processor disclosed in Japanese Patent Application Laid-Open No. 2009-3765, but the present invention is not limited to this example, and may be composed of other circuits. . Hereinafter, an example of the DRP 10 will be described with reference to FIG.

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 DRP 10 includes a reconfiguration control unit 12 (RISC core module) called DAP (Digital Application Processor) and a reconfigurable circuit unit 14 (dynamic configurable data flow accelerator) called DNA (Distributed Network Architecture). Including. In addition to the reconfiguration control unit 12 and the reconfigurable circuit unit 14, the DRP 10 includes an interface 16 for direct input / output of the reconfigurable circuit unit 14, a PCI interface 18, an SDRAM interface 20, a DMA controller 22, and others. Peripheral devices 24 and an internal bus (high-speed switching bus) 26 for connecting them. The reconfiguration control unit 12 includes a debug interface 12a, a RISC core 12b, an instruction cache 12c, and a data cache 12d. The reconfigurable circuit unit 14 includes a PE matrix 14a and a configuration memory 14b. A plurality of processing elements PE (logic circuit elements) are two-dimensionally arranged in the PE matrix 14a. As an example, 376 processing elements PE are arranged in the PE matrix 14a. Configuration data 14c is stored in the configuration memory 14b. The configuration data 14c is data for reconfiguring the PE matrix 14a by changing the function and / or connection of the processing elements PE included in the PE matrix 14a and configuring a circuit in the PE matrix 14a.

再構成制御部12は、再構成可能回路部14を含むDRP10全体の動作制御を行うモジュールであり、例えば、制御のためのプログラムを実行することで実現される。再構成制御部12は、PEマトリックス14a内の処理エレメントPEの接続関係を制御することで、PEマトリックス14aにおいてデータ処理のための回路を構成する。また、再構成制御部12は、PEマトリックス14aにおいて構成された回路に対してデータを供給したり、その回路からのデータを他のシステムに出力したりする制御を行う。   The reconfiguration control unit 12 is a module that performs operation control of the entire DRP 10 including the reconfigurable circuit unit 14, and is realized, for example, by executing a control program. The reconfiguration controller 12 configures a circuit for data processing in the PE matrix 14a by controlling the connection relationship of the processing elements PE in the PE matrix 14a. In addition, the reconfiguration control unit 12 performs control to supply data to a circuit configured in the PE matrix 14a and to output data from the circuit to another system.

コンフィギュレーションデータ14cは、PEマトリックス14aの回路構成を規定するデータである。PEマトリックス14a内の回路の再構成は、コンフィギュレーションデータ14cに従って行われる。コンフィギュレーションメモリ14bには、複数のコンフィギュレーションデータ14cが記憶される。コンフィギュレーションメモリ14b内の複数のコンフィギュレーションデータ14cのうち1つが選択されてアクティブ状態になると、そのコンフィギュレーションデータ14cが規定する回路構成がPEマトリックス14a内に構成されることになる。一例として、コンフィギュレーションメモリ14bには3つのコンフィギュレーションデータ14cが記憶されている。但し、本発明はこの例に限定されるものではなく、3つ以外の数のコンフィギュレーションデータ14cが、コンフィギュレーションメモリ14bに記憶されてもよい。   The configuration data 14c is data that defines the circuit configuration of the PE matrix 14a. Reconfiguration of the circuit in the PE matrix 14a is performed according to the configuration data 14c. A plurality of configuration data 14c is stored in the configuration memory 14b. When one of the plurality of configuration data 14c in the configuration memory 14b is selected and activated, a circuit configuration defined by the configuration data 14c is configured in the PE matrix 14a. As an example, the configuration memory 14b stores three configuration data 14c. However, the present invention is not limited to this example, and a number of configuration data 14c other than three may be stored in the configuration memory 14b.

コンフィギュレーションメモリ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 configuration memory 14b will be described in detail. The configuration memory 14b has a configuration of a plurality of banks (a plurality of memories). For example, the configuration memory 14b includes an execution bank # 0 (execution memory), a bank # 1 (standby memory), and a bank # 2 (standby memory). The PE matrix 14a is configured and executed by the configuration data 14c stored in the execution bank # 0. Further, the second function or the third function is configured in the PE matrix 14a by the configuration data 14c stored in the bank # 1 or the bank # 2 as the background bank. Then, by switching the bank of the configuration memory 14b, the second function or the third function is reconfigured in the PE matrix 14a instead of the first function. The reconstruction of the PE matrix 14a is performed dynamically, for example, in one cycle (clock cycle). Thus, the PE matrix 14a is a reconfiguration unit including a plurality of processing elements PE for configuring a circuit and internal wirings for connecting these processing elements PE, and the processing elements PE are connected by the internal wirings. Is changed, the circuits included in the PE matrix 14a are reconfigured.

ここで、図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 PE matrix 14 a will be described. For example, the reconstruction control unit 12 generates configuration data 14c for rendering each object in the image memory 130 on the DDR memory 40 according to the intermediate data (drawing command for each object) (DAP operation), and the configuration. The data 14c is loaded from the DDR memory 40 into the bank # 1 or the bank # 2 (DAP operation). Specifically, the reconstruction control unit 12 draws the object in the image memory 130 based on parameters (parameters defined in the intermediate data) such as object position information, size information, drawing contents, and color information. Configuration data 14c for the DDR memory 40 is generated. Then, the reconfiguration control unit 12 loads the configuration data 14c from the DDR memory 40 to the bank # 1 or the bank # 2, and further transfers the configuration data 14c from the bank # 1 or the bank # 2 to the execution bank # 0. By loading, the function corresponding to the configuration data 14c is configured in the PE matrix 14a (DAP operation). The PE matrix 14a executes the function configured by the configuration data 14c loaded in the execution bank # 0 (DNA operation). The DAP operation executed by the reconstruction control unit 12 corresponds to software processing, and the DNA operation executed by the PE matrix 14a corresponds to hardware processing.

次に、図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 image memory 130 will be described. Examples of the drawing processing include drawing commands such as “GRA”, “RAS-G”, and “RECT”. “GRA” is a drawing command indicating drawing between two designated points with a line segment. “RAS-G” is a drawing command indicating that a specified area is drawn in a format such as Bitmap. “RECT” is a drawing command indicating that a designated area is filled with a so-called solid. These drawing commands are defined in the intermediate data of each object.

例えば、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 drawing processing unit 120 configured by the PE matrix 14 a draws each object in the image memory 130 according to the drawing order defined by the intermediate data. As an example, as illustrated in FIG. 5, the drawing process for the first object (lowercase “a”) is “RAS-G”, and the drawing process for the second object (lowercase “i”) is “GRA”. ”And the drawing process of the third object (capital“ B ”) is“ GRA ”. In this case, the reconfiguration control unit 12 uses the DDR memory 40 as the configuration data 14c for executing the drawing process “RAS-G” of the first object based on the intermediate data of the first object (“a”). The configuration data 14c generated above is loaded from the DDR memory 40 into the bank # 2, and the configuration data 14c is loaded from the bank # 2 into the execution bank # 0 (DAP operation). Thereby, a circuit for executing the drawing process “RAS-G” of the first object is configured in the PE matrix 14a. Then, the PE matrix 14a writes “first object (“ a ”)” to the image memory 130 by executing “RAS-G” on the first object (“a”) (DNA operation). .

また、再構成制御部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 reconfiguration control unit 12 generates configuration data 14c on the DDR memory 40 for executing the drawing process “GRA” of the second object based on the intermediate data of the second object (“i”). Then, the configuration data 14c for “GRA” is loaded from the DDR memory 40 into the bank # 1 (DAP operation). For example, while the PE matrix 14a is executing the drawing process “RAS-G” for the first object, the reconstruction controller 12 sets the configuration data 14c for the drawing process “GRA” for the second object. Is loaded from the DDR memory 40 into the bank # 1 (DAP operation). That is, the DAP operation is performed in parallel with the DNA operation. When the rendering process “RAS-G” of the first object by the PE matrix 14a is completed, the reconstruction control unit 12 stores the configuration data 14c for the rendering process “GRA” of the second object in the bank # 1. To execution bank # 0 (DAP operation). Thus, a circuit for executing the drawing process “GRA” of the second object is configured in the PE matrix 14a. Then, the PE matrix 14a executes “GRA” on the second object (“i”) to write the second object (“i”) into the image memory 130 (DNA operation).

また、再構成制御部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 reconfiguration control unit 12 generates, on the DDR memory 40, configuration data 14c for executing the drawing process “GRA” of the third object based on the intermediate data of the third object (“B”). Then, the configuration data 14c for “GRA” is loaded from the DDR memory 40 into the bank # 2 (DAP operation). For example, while the PE matrix 14a is executing the drawing process “GRA” of the second object, the reconstruction control unit 12 receives the configuration data 14c for the drawing process “GRA” of the third object DDR. The data is loaded from the memory 40 into the bank # 2 (DAP operation). When the drawing process “GRA” of the second object by the PE matrix 14a is completed, the reconstruction controller 12 executes the configuration data 14c for the drawing process “GRA” of the third object from the bank # 2. Load into bank # 0 (DAP operation). As a result, a circuit for executing the drawing process “GRA” of the third object is configured in the PE matrix 14a. Then, the PE matrix 14a executes “GRA” on the third object (“B”) to write the third object (“B”) into the image memory 130 (DNA operation).

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, configuration data 14c for executing drawing processing of each object is generated on the DDR memory 40, and the configuration data 14c is stored in the bank # 1 or bank # 2 from the DDR memory 40. To be loaded. Configuration data 14c is alternately loaded from the DDR memory 40 into the banks # 1 and # 2. Then, the configuration data 14c is loaded from the bank # 1 or the bank # 2 to the execution bank # 0, and the drawing process is executed by the PE matrix 14a.

図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 configuration data 14 c is once generated on the DDR memory 40 even when the drawing order of a plurality of objects having the same drawing process is continuous. The configuration data 14c is loaded from the DDR memory 40 into the bank # 1 or the bank # 2, and the configuration data 14c is loaded into the execution bank # 0. That is, the circuit configuration of the PE matrix 14a is changed every time the drawing process of each object is executed. The example shown in FIG. 5 will explain the configuration data for each object even though the drawing processing of the second object (“i”) to the Nth object (“x”) is “GRA”. 14c is generated once on the DDR memory 40, and the configuration data 14c for each object is loaded from the DDR memory 40 to the bank # 1 or the bank # 2, and further loaded from the bank # 1 or the bank # 2 to the execution bank # 0. doing. As described above, each time the drawing process of each object is performed, the configuration data 14c is generated for each object, and the configuration data 14c of each object is loaded from the DDR memory 40 to the bank. Generation time and load time increase, and the overall processing time may increase. For example, the drawing process by the PE matrix 14a is longer than the time required for generating the configuration data 14c and the time for loading the configuration data 14c from the DDR memory 40 to the bank (the time required for the DAP operation). When the time (time required for the DNA operation) is short, the generation and loading (DAP operation) of the configuration data 14c cannot catch up with the drawing process (DNA operation), and the entire processing time increases. That is, when the DAP operation and the DNA operation are executed in parallel, if the time required for the DAP operation becomes longer than the time required for the DNA operation, a waiting time for the DNA operation occurs and the overall processing time increases. Will do.

本実施形態においては、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、参考例に係る描画処理とは異なり、オブジェクト毎にコンフィギュレーションデータ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 configuration data 14c is generated on the DDR memory 40 for each object, unlike the drawing process according to the reference example. Then, the plurality of objects are continuously drawn without being loaded into the bank. In this case, the PE matrix 14a continuously writes the plurality of consecutive objects in the image memory 130 without changing its circuit configuration.

ここで、図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 reconfiguration control unit 12 generates configuration data 14 c for executing the drawing process “RAS-G” of the first object on the DDR memory 40, and stores the configuration data 14 c from the DDR memory 40 to the bank. Then, the configuration data 14c is loaded from the bank # 2 to the execution bank # 0 (DAP operation). Thereby, a circuit for executing the drawing process “RAS-G” of the first object is configured in the PE matrix 14a. Then, the PE matrix 14a executes “RAS-G” on the first object, thereby writing the first object into the image memory 130 (DNA operation).

また、再構成制御部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 reconfiguration control unit 12 generates configuration data 14c for executing the drawing process “GRA” of the second object on the DDR memory 40, and the configuration data 14c is transferred from the DDR memory 40 to the bank # 1. (DAP operation). For example, the DAP operation is performed in parallel with the DNA operation. When the rendering process “RAS-G” of the first object by the PE matrix 14a is completed, the reconstruction control unit 12 stores the configuration data 14c for the rendering process “GRA” of the second object in the bank # 1. To execution bank # 0 (DAP operation). Thus, a circuit for executing the drawing process “GRA” of the second object is configured in the PE matrix 14a. Then, the PE matrix 14a executes “GRA” on the second object to write the second object into the image memory 130 (DNA operation).

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 reconfiguration control unit 12 stores the configuration data 14 c for the third object on the DDR memory 40. No configuration data 14c is loaded from the DDR memory 40 to the bank # 1 or the bank # 2. In this case, the PE matrix 14a obtains parameters (parameters defined in the intermediate data) such as position information, size information, and color information of the third object, and the circuit configuration of the PE matrix 14a itself is not changed. Then, only the parameter is changed, and the third object is written in the image memory 130 (object continuous processing). That is, the circuit for executing the drawing process “GRA” of the third object is already configured in the PE matrix 14a when the drawing process of the second object is executed. By using this, the third object is written in the image memory 130. In other words, the configuration data 14c loaded in the execution bank # 0 is not rewritten while the object continuous processing is executed, and a circuit for executing the same drawing processing is configured in the PE matrix 14a. It will be. On the other hand, when the object continuous process is not executed, the configuration data 14c loaded in the execution bank # 0 is rewritten, and the circuit configuration of the PE matrix 14a is changed. For example, when discontinuous processing continues, configuration data 14c stored in execution bank # 0 is rewritten by alternately loading configuration data 14c from bank # 1 or bank # 2 to execution bank # 0. Will be.

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 PE matrix 14a continues the plurality of continuous objects without changing its circuit configuration. Are written in the image memory 130 (continuous object processing). In the example shown in FIG. 6A, since the drawing processes of the second to Nth objects are the same, the PE matrix 14a continues the second to Nth objects without changing the circuit configuration. Write to the image memory 130.

オブジェクト連続処理が行われている間、再構成制御部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 reconfiguration control unit 12 generates, on the DDR memory 40, configuration data 14c for drawing processing that is executed after the object continuous processing, and the configuration data 14c is generated in the DDR memory 40. To bank # 1 or bank # 2. In the example shown in FIG. 6A, since the drawing process “RAS-G” is scheduled for the (N + 1) th object after the object continuous process “GRA”, the reconstruction control unit 12 Generates configuration data 14c for executing the rendering process “RAS-G” for the (N + 1) th object on the DDR memory 40, and loads the configuration data 14c from the DDR memory 40 to the bank # 2. To do. When the object continuous process “GRA” by the PE matrix 14a is completed, the reconfiguration control unit 12 loads the configuration data 14c for executing “RAS-G” from the bank # 2 to the execution bank # 0 ( DAP operation). As a result, the PE matrix 14a executes “RAS-G” to write the (N + 1) th object in the image memory 130 (DNA operation). The same applies to the subsequent objects, and when the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the PE matrix 14a does not change its own circuit configuration, The data is continuously written in the image memory 130. On the other hand, when the drawing order of a plurality of objects having the same drawing process to be executed is not continuous, the reconfiguration control unit 12 generates, on the DDR memory 40, configuration data 14c for drawing processing for each non-continuous object. The configuration data 14c is loaded into bank # 1 or bank # 2.

なお、図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 DDR memory 40 is used even when the drawing order of a plurality of objects having the same drawing process to be executed is continuous. The configuration data 14c is once generated above, and the configuration data 14c is alternately loaded from the DDR memory 40 to the bank # 1 or the bank # 2.

以上のように、本実施形態によると、実行される描画処理が同一である複数のオブジェクトの描画順番が連続する場合、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 PE matrix 14a is already configured without changing the circuit of the PE matrix 14a. By using a circuit and continuously writing a plurality of continuous objects to the image memory 130, the overall processing time is shortened compared to the drawing processing according to the reference example. That is, in the present embodiment, when the drawing order of a plurality of objects having the same drawing process to be executed is continuous, the configuration data 14c is not generated on the DDR memory 40 for each object and loaded into the bank. By executing the object continuous processing, the time required to generate the configuration data 14c on the DDR memory 40 and the time required to load the configuration data 14c from the DDR memory 40 to the bank are reduced. . As a result, the overall processing time is shortened compared to the reference example. That is, since the number of times the configuration data 14c is generated and loaded is reduced, the overall processing time is shortened compared to the reference example.

次に、本実施形態の具体例について説明する。まず、図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 data generation unit 110 will be described with reference to FIG. As an example, the intermediate data includes Stream0 (parameter information) and Stream1 (shape information). The intermediate data generation unit 110 generates Stream0 and Stream1 for each object represented in the image data, and lists the Stream0 and Stream1 of each object in the execution order (drawing order) of each object.

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 configuration data 14 c and indicates the type of processing (drawing processing) for drawing an object on the image memory 130. The drawing commands such as “RAS-G”, “GRA”, and “REC” correspond to the drawing process. By referring to this “Config ID”, the drawing process of the object to be drawn is specified. “Data ID” is the series number of the Shape command of the image data, and indicates the drawing order of each object. “Shape Top address” indicates the start address of Stream1. “Shape Length” indicates the length of the Shape command and is defined in units of bytes. “BitMask_ConstColor” defines the value specified by the color command of the image data, and defines the color space, gradation, etc. of the image data as an example of the color attribute of the image data. “Offset_Y_LSB, Offset_X_LSB” indicates a position from the origin. “Bbox” is a boundary box that defines the drawing area of the object represented in the image data. For example, “Bbox” defines the position and size of a rectangular drawing area that circumscribes the object. As an example, “Bbox” is defined in the xy coordinate system and indicates the coordinates ((Lx, Ly), (Gx, Gy)) of the vertices on the diagonal line in the rectangular drawing region. “Shape data” is data of the Shape command, and indicates the shape of the object. “Shape data” has a variable length and, as an example, 0 data is filled so as to be a 256-byte burst unit. Note that the format of the intermediate data shown in FIG. 7 is an example, and the present invention is not limited to this example. As long as the position information, drawing order, size information, drawing information, color information, and the like of the object in the page are specified, the format of the intermediate data may be other than the format shown in FIG.

本実施形態では、中間データ生成部110は、実行される描画処理が同一であり描画順番が連続する複数のオブジェクト(オブジェクト連続処理の対象となる複数のオブジェクト)と、オブジェクト連続処理の対象とならないオブジェクトとを区別し、それぞれ異なる中間データを生成する。以下、オブジェクト連続処理の対象となるオブジェクトの中間データを、「連続処理用の中間データ」と称し、オブジェクト連続処理の対象とならないオブジェクトの中間データを、「不連続処理用の中間データ」と称することとする。   In the present embodiment, the intermediate data generation unit 110 is not subject to a plurality of objects (a plurality of objects that are subject to object continuation processing) that have the same rendering process and that have a continuous rendering order, and object continuation processing. Differentiate between objects and generate different intermediate data. Hereinafter, the intermediate data of the object that is the object of the object continuous processing is referred to as “intermediate data for continuous processing”, and the intermediate data of the object that is not the target of the object continuous processing is referred to as “intermediate data for discontinuous processing”. I will do it.

例えば、中間データ生成部110は、各オブジェクトの中間データに含まれる「Config ID」を参照することで、各オブジェクトの描画処理を特定する。特定された描画処理が同一であり複数のオブジェクトの描画順番が連続する場合、中間データ生成部110は、当該複数のオブジェクトについては「連続処理用の中間データ」を生成する。一方、同一の描画処理が実行される複数のオブジェクトの描画順番が連続しない場合、中間データ生成部110は、当該オブジェクトについては「不連続処理用の中間データ」を生成する。   For example, the intermediate data generation unit 110 identifies the rendering process of each object by referring to “Config ID” included in the intermediate data of each object. When the specified drawing processes are the same and the drawing order of a plurality of objects is continuous, the intermediate data generation unit 110 generates “intermediate data for continuous processing” for the plurality of objects. On the other hand, when the drawing order of a plurality of objects for which the same drawing process is executed is not continuous, the intermediate data generation unit 110 generates “intermediate data for discontinuous processing” for the object.

図8に、不連続処理用の中間データの一例を示す。中間データ生成部110は、不連続処理用の中間データのStream0(パラメータ情報)に、連続処理ではないことを示す情報「Single Obj.」を追加する。「Single Obj.」以外の情報は、図7に示す元々の中間データに含まれる情報と同じである。   FIG. 8 shows an example of intermediate data for discontinuous processing. The intermediate data generation unit 110 adds information “Single Obj.” Indicating that the processing is not continuous processing to Stream0 (parameter information) of the intermediate data for discontinuous processing. Information other than “Single Obj.” Is the same as the information included in the original intermediate data shown in FIG.

図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 data generation unit 110 adds information “Continue Obj.” Indicating continuous processing to the stream 0 (parameter information) of the intermediate data for continuous processing, and replaces “Shape Top address” with “Index Top address”. ”And“ Index Object address ”instead of“ Shape Length ”. “Index Top address” and “Index Object address” will be described later.

また、中間データ生成部110は、連続処理用の中間データのStream1(パラメータ/シェイプ情報)に、「BitMask_ConstColor」、「Offset_Y_LSB、Offset_X_LSB」、及び、「Bbox」を追加する。すなわち、中間データ生成部110は、連続処理対象のオブジェクトの位置情報及び色情報を、Stream1に追加する。これにより、Stream1には、オブジェクトの位置情報、色情報及び「Shape data」が規定されることになる。   Further, the intermediate data generation unit 110 adds “BitMask_ConstColor”, “Offset_Y_LSB, Offset_X_LSB”, and “Bbox” to Stream 1 (parameter / shape information) of the intermediate data for continuous processing. That is, the intermediate data generation unit 110 adds the position information and color information of the object to be continuously processed to the Stream1. As a result, the position information, the color information, and “Shape data” of the object are defined in Stream1.

さらに、中間データ生成部110は、連続処理の対象となるオブジェクトのStream0(パラメータ情報)に基づき、Stream2(連続処理情報)を生成する。このStream2(連続処理情報)は、連続処理対象の各オブジェクトの描画順番を規定するとともに、メモリ上における各オブジェクトのStream1(パラメータ/シェイプ情報)のアドレスを規定する。具体的には、中間データ生成部110は、連続処理対象の各オブジェクトの「Shape Top address」及び「Shape Length」を、描画順番通りにStream2に規定する。   Further, the intermediate data generating unit 110 generates Stream2 (continuous processing information) based on Stream0 (parameter information) of the object to be continuously processed. This Stream2 (continuous processing information) defines the drawing order of each object to be continuously processed, and also defines the address of Stream1 (parameter / shape information) of each object on the memory. Specifically, the intermediate data generation unit 110 defines “Shape Top address” and “Shape Length” of each object to be continuously processed in the Stream 2 in the drawing order.

ここで、図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 “Stream 2”, “Shape Top address” and “Shape Length” of objects # 1 to #N to be continuously processed are defined in units of 8 bytes in the drawing order. In addition, information “End of DNA continuous execute” indicating the end of continuous processing is defined at the end of the Stream2. Drawing processing of each object is performed in the order defined in Stream2. Details of the drawing process will be described later.

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 Stream 2. Since “Index Top address” is defined in Stream 0 of each object, the start address of Stream 2 is specified by referring to Stream 0 of each object. For example, “Index Top address” is defined for Stream0 of the first object # 1 among a plurality of objects to be continuously processed, and similarly, “Index Top address” is defined for Stream0 of the second object # 2. ing. “Index Top address” is also defined in Stream 0 of the third to Nth objects.

また、各オブジェクトの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 Stream 2. For example, since the object # 1 is the first object, the “Index Object address” of the object # 1 indicates the same address as the “Index Top address”. In addition, “Index Object address” of the object # 2 indicates an address in which “Shape Top address” of the object # 2 is defined in the Stream2. The same applies to other objects.

以上のように、本実施形態では、描画処理部120による描画処理の前に、中間データ生成部110によって、新たな中間データであるStream0、Stream1及びStream2が生成される。   As described above, in the present embodiment, before the drawing processing by the drawing processing unit 120, the intermediate data generation unit 110 generates new intermediate data, Stream0, Stream1, and Stream2.

そして、オブジェクト連続処理が行われる場合、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 PE matrix 14a acquires “Shape Top address” and “Shape Length” of the object # 1 as parameters by referring to the Stream2. Then, the PE matrix 14a refers to the Stream1, and the parameters of the object # 1 (“Shape data”, “BitMask_ConstColor”, and “Bbox”) defined in the memory area specified by “Shape Top address” and “Shape Length”. ), The object # 1 is written into the image memory 130. When the drawing process of the object # 1 is completed, the PE matrix 14a refers to the Stream2 and acquires the “Shape Top address” and the “Shape Length” of the object # 2 as parameters. Then, the PE matrix 14a refers to the stream 1, and the parameters of the object # 2 (“Shape data”, “BitMask_ConstColor”, “Bbox”) defined in the memory area specified by “Shape Top address” and “Shape Length”. ), The object # 2 is written into the image memory 130. Similar processing is performed for the objects # 3 to #N.

図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 matrix 14a includes parameters of the object # 1 (“Shape data”, “BitMask_ConstColor”, and “Shape data”, which are defined in a memory area (for example, 64 bytes) specified by “Shape Top address” and “Shape Length” of the object # 1). According to “Bbox”), the object # 1 is written into the image memory 130. In addition, the PE matrix 14a includes parameters of the object # 2 (“Shape data”, “BitMask_ConstColor” and “Shape data”) defined in the memory area (for example, 128 bytes) specified by the “Shape Top address” and the “Shape Length” of the object # 2. According to “Bbox”), the object # 2 is written into the image memory 130. Similar processing is performed for the objects # 3 to #N.

また、オブジェクト連続処理が行われない場合、PEマトリックス14aは、不連続処理用のStream1を参照してオブジェクトの描画処理を行う。   When the object continuous processing is not performed, the PE matrix 14a performs the object drawing processing with reference to the discontinuous processing Stream1.

次に、図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 Streams 0, 1, and 2 will be described. First, the reconfiguration control unit 12 generates configuration data 14c for generating intermediate data on the DDR memory 40, loads the configuration data into the bank # 1, and further executes the bank # 1 from the execution bank # 1. Load 0 (DAP operation). Thereby, a circuit for realizing the function of the intermediate data generation unit 110 is configured in the PE matrix 14a. The intermediate data generation unit 110 generates Stream0, Stream1, and Stream2 by interpreting the image data.

そして、再構成制御部12は、Stream0及びStream2を参照し、描画処理用のコンフィギュレーションデータ14cの生成、ロード、パラメータ設定、DNA動作の実行/終了確認等の描画処理制御を行う。   Then, the reconstruction control unit 12 refers to the Stream 0 and the Stream 2 and performs drawing processing control such as generation, loading, parameter setting, and confirmation / execution of DNA operation of the configuration data 14c for drawing processing.

例えば、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 reconfiguration control unit 12 specifies that the first object is not a target of continuous processing by referring to the first object Stream0, and further, based on the parameters defined in the Stream0, the first object Configuration data 14 c for executing the drawing process “RAS-G” is generated on the DDR memory 40. Since the first object is not a target of continuous processing, Stream 0 (intermediate data for discontinuous processing) shown in FIG. 8 is referred to by the reconfiguration control unit 12 to generate configuration data 14c. . Then, the reconfiguration control unit 12 loads the configuration data 14c from the DDR memory 40 to the bank # 2, and further loads the configuration data 14c from the bank # 2 to the execution bank # 0 (DAP operation). Thereby, a circuit for executing the drawing process “RAS-G” of the first object is configured in the PE matrix 14a. Then, the PE matrix 14a interprets Stream1 of the first object, and executes “RAS-G” on the first object according to “Shape Data” defined in Stream1. The object is written into the image memory 130 (DNA operation). Since the first object is not a target of continuous processing, Stream1 (intermediate data for discontinuous processing) shown in FIG. 8 is interpreted by the PE matrix 14a and drawing processing is performed.

また、再構成制御部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 reconstruction control unit 12 specifies that the second object is a target of continuous processing by referring to the Stream0 of the second object, and further draws the second object based on the Stream0. Configuration data 14 c for executing “GRA” is generated on the DDR memory 40. Since the second object is a target of continuous processing, Stream0 (intermediate data for continuous processing) shown in FIG. 9 is referred to by the reconfiguration control unit 12 to generate configuration data 14c. Then, the reconfiguration control unit 12 loads the configuration data 14c from the DDR memory 40 to the bank # 1 (DAP operation). For example, while the PE matrix 14a is executing the drawing process “RAS-G” for the first object, the reconstruction controller 12 sets the configuration data 14c for the drawing process “GRA” for the second object. Is loaded from the DDR memory 40 into the bank # 1. When the rendering process “RAS-G” of the first object by the PE matrix 14a is completed, the reconstruction control unit 12 stores the configuration data 14c for the rendering process “GRA” of the second object in the bank # 1. To execution bank # 0 (DAP operation). Thereby, a circuit for executing the drawing process “GRA” is configured in the PE matrix 14a.

そして、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 matrix 14a refers to Stream2 and Stream1 that are intermediate data for continuous processing, and executes “GRA” on the 2nd to Nth objects that are the targets of continuous processing, thereby obtaining 2 The Nth object is continuously written in the image memory 130 (DNA operation). As an example, a description will be given taking Stream2 shown in FIG. 10 as an example. The PE matrix 14a refers to Stream2, and acquires “Shape Top address” and “Shape Length” of the first consecutive object # 1 (second object shown in FIG. 12) as parameters. Then, the PE matrix 14a interprets the Stream1 and sets the parameters of the object # 1 (“Shape data”, “BitMask_ConstColor”) defined in the memory area specified by the “Shape Top address” and the “Shape Length” of the object # 1. In accordance with “Bbox”), the object # 1 is written in the image memory 130 by executing “GRA” on the object # 1 (DNA operation).

さらに、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 matrix 14a acquires “Shape Top address” and “Shape Length” of the second consecutive object # 2 (the third object shown in FIG. 12) as parameters by referring to Stream2. Then, the PE matrix 14a interprets the Stream1 and sets the parameters of the object # 2 (“Shape data”, “BitMask_ConstColor”) defined in the memory area specified by the “Shape Top address” and the “Shape Length” of the object # 2. In accordance with “Bbox”), the object # 2 is written in the image memory 130 by executing “GRA” on the object # 2 (DNA operation). Since a circuit for executing the drawing process “GRA” is already configured in the PE matrix 14a, the PE matrix 14a writes the object # 2 to the image memory 130 while maintaining the circuit. That is, when performing the continuous processing, the configuration data 14c for executing the drawing process “GRA” of the object # 2 is not generated on the DDR memory 40 by the reconfiguration control unit 12, and the configuration data 14c to the bank is not generated. Is not executed.

PEマトリックス14aは、N番目のオブジェクトまで連続して画像メモリ130に書き込む。そして、PEマトリックス14aは、Stream2を参照し、連続処理終了「End of DNA continuous execute」を検出した場合、連続処理を終了する。   The PE matrix 14a writes continuously to the image memory 130 up to the Nth object. When the PE matrix 14a detects the end of continuous processing “End of DNA continuous execute” with reference to Stream 2, the continuous processing ends.

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 reconstruction control unit 12 refers to the Stream0 of the (N + 1) th object, so that the (N + 1) th object is not a target of continuous processing. Further, configuration data 14c for executing the drawing process “RAS-G” of the (N + 1) th object is generated on the DDR memory 40 based on the parameters defined in Stream0. Then, the reconfiguration control unit 12 loads the configuration data 14c from the DDR memory 40 to the bank # 2. When the drawing process of the Nth object is completed, the reconfiguration control unit 12 loads the configuration data 14c from the bank # 2 to the execution bank # 0 (DAP operation). Thus, a circuit for executing the drawing process “RAS-G” of the (N + 1) th object is configured in the PE matrix 14a. Then, the PE matrix 14a interprets Stream1 of the (N + 1) th object, and executes “RAS-G” on the (N + 1) th object according to “Shape Data” defined in Stream1. , (N + 1) th object is written in the image memory 130 (DNA operation). For the (N + 2) th and subsequent objects, the image processing apparatus 100 interprets the Streams 0, 1, and 2 to execute the object continuous processing or discontinuous processing.

以上のように、描画処理前に中間データとしての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 stream 0, 1, and 2 are generated in advance as intermediate data before rendering processing, and the object continuous processing is executed by the PE matrix 14a interpreting Stream 2 and Stream 1, rendering is performed. The parameters necessary for the processing are set in the PE matrix 14a, and the drawing processing is executed. That is, the reconfiguration control unit 12 does not need to interpret the stream 0 of each object and generate the configuration data 14c for each object, and does not load the configuration data 14c for each object from the DDR memory 40 to the bank. That's it. That is, even if the DAP operation is not performed by the reconstruction control unit 12, the drawing process by the PE matrix 14a is executed. Thus, since the number of times the configuration data 14c is generated and the configuration data 14c is loaded by the reconfiguration controller 12 is reduced, the generation time and the load time of the configuration data 14c are reduced. Processing time is reduced. In other words, before the rendering process, in addition to the Streams 0 and 1, the Stream 2 that can be interpreted by the hardware PE matrix 14a is generated in advance, so that the object continuous process is a software process. The DAP operation is omitted, and a DNA operation (drawing process) that is a hardware process is executed. Since the DAP operation is thus omitted, the overall processing time is shortened.

次に、図13及び図14に示すフローチャートを参照して、画像処理装置100の動作の一例を説明する。   Next, an example of the operation of the image processing apparatus 100 will be described with reference to the flowcharts shown in FIGS.

まず、割り込み処理(描画要求)が発生すると、描画処理部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 configuration data 14c is not loaded in either the bank # 1 or the bank # 2. The process B is a process executed during the drawing process, and is executed when the configuration data 14c is loaded in both the bank # 1 and the bank # 2 and the drawing process is executed. The process C is a process executed when the drawing process is finished, and is a process executed when the last object drawing process is finished.

まず、処理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, configuration data 14c is generated on the DDR memory 40 (S04), and the configuration data 14c is converted to DDR. The data is loaded from the memory 40 to the bank # 1 (S05). FIG. 14 shows the flow of this series of processing. First, the reconstruction control unit 12 selects a drawing processing command by interpreting Stream0 of the drawing target object (S20). Further, the reconstruction control unit 12 refers to the Stream0 of the object to be drawn, and specifies whether or not the object is a target for continuous processing. When the object is not a target of continuous processing, the reconfiguration control unit 12 refers to the stream 0 of the object, and stores the configuration data 14c for drawing the object on the DDR memory 40 according to the parameters defined in the stream 0. Generate (S21). On the other hand, when the object to be drawn is a target of continuous processing, the reconstruction control unit 12 refers to the stream 0 and stream 2 of the object, and configuration data for drawing the object according to the parameters defined in the stream 0 14c is generated on the DDR memory 40 (S22). Then, the reconfiguration control unit 12 loads the configuration data 14c from the DDR memory 40 to the bank # 1 (S23). Returning to FIG. 12, the reconfiguration control unit 12 loads the configuration data 14c from the bank # 1 to the execution bank # 0. Then, the PE matrix 14a executes the drawing process by executing the function configured by the configuration data 14c loaded in the execution bank # 0 (S06). Thereafter, similarly to the processing in steps S03 to S05, a drawing processing command is selected (S07), and configuration data 14c in which parameters for executing the drawing processing are set is generated on the DDR memory 40 (S08). ), The configuration data 14c is loaded from the DDR memory 40 into the bank # 2 (S09). Then, the process A ends (S10), the interrupt mask is released (S11), and the interrupt process ends. If a drawing process end command is detected in step S07, process A ends (S10).

次に、処理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 reconfiguration control unit 12 stops processing of the PE matrix 14a (S12), and loads the configuration data 14c from the bank # 1 or bank # 2 to the execution bank # 0. To do. The PE matrix 14a executes the drawing process by executing the function configured by the configuration data 14c loaded in the execution bank # 0 (S13). Thereafter, similarly to the processing in steps S03 to S05, a drawing processing command is selected (S14), parameters for executing the drawing processing are set, and configuration data 14c is generated on the DDR memory 40 (S15). ), The configuration data is loaded from the DDR memory 40 into the bank # 1 or the bank # 2 (S16). Then, the interrupt mask is released (S11), and the interrupt process ends. If the drawing process end command is detected in step S14, the process B ends (S17).

次に、処理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 reconstruction controller 12 stops the processing of the PE matrix 14a (S18). Then, the interrupt mask is released (S11), and the interrupt process ends.

以上のように、コンフィギュレーションデータ14cが実行バンク#0にロードされて描画処理が実行されることになる。   As described above, the configuration data 14c is loaded into the execution bank # 0 and the drawing process is executed.

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描画処理を実行する第1回路を前記描画処理手段に実現させるための回路構成情報を記憶する実行用記憶手段と、
第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.
JP2013143856A 2013-07-09 2013-07-09 Image processing apparatus and program Expired - Fee Related JP6160317B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017060073A (en) * 2015-09-18 2017-03-23 富士ゼロックス株式会社 Data processing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021094798A (en) 2019-12-18 2021-06-24 富士フイルムビジネスイノベーション株式会社 Image processing apparatus

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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