JP2015106751A - Image processing apparatus, and control method and program of the same - Google Patents

Image processing apparatus, and control method and program of the same Download PDF

Info

Publication number
JP2015106751A
JP2015106751A JP2013246677A JP2013246677A JP2015106751A JP 2015106751 A JP2015106751 A JP 2015106751A JP 2013246677 A JP2013246677 A JP 2013246677A JP 2013246677 A JP2013246677 A JP 2013246677A JP 2015106751 A JP2015106751 A JP 2015106751A
Authority
JP
Japan
Prior art keywords
configuration information
unit
circuit configuration
image processing
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013246677A
Other languages
Japanese (ja)
Inventor
洋介 大林
Yosuke Obayashi
洋介 大林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013246677A priority Critical patent/JP2015106751A/en
Publication of JP2015106751A publication Critical patent/JP2015106751A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve a problem that RAM access for reconfiguration is kept waiting during real-time processing to decrease processing efficiency when circuit configuration information is stored in a high-speed RAM and dynamic reconfiguration is performed by using the RAM.SOLUTION: In an image processing apparatus which comprises an FPGA in which at least a part of a circuit is dynamically reconfigured, a ROM 104 for storing circuit configuration information for reconfiguring at least a part of the circuit in the FPGA, and a RAM 111, capable of reading at a higher speed than the ROM 104, for storing circuit configuration information stored in the ROM 104, at least a part of the FPGA is reconfigured depending on a job to execute to a circuit which can execute processing necessary for the job by using the circuit configuration information, and the FPGA is reconfigured by using the circuit configuration information stored in the RAM 111 when real-time processing using the RAM 111 is not in execution and the FPGA is reconfigured by using the circuit configuration information stored in the ROM 104 when the real-time processing using the RAM 111 is in execution.

Description

本発明は、画像処理装置、その制御方法及びプログラムに関する。   The present invention relates to an image processing apparatus, a control method thereof, and a program.

論理回路の構成を変更可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などの再構成可能回路が良く知られている。一般的に、PLDやFPGAの論理回路の変更は、起動時に、ROM等の不揮発性メモリに格納された回路構成情報を、PLDやFPGA内部の揮発性メモリであるコンフィギュレーションメモリへ書き込むことで実現される。また、コンフィギュレーションメモリの情報は電源遮断時にクリアされるため、電源投入時に、再度、ROMに記憶している回路構成情報をコンフィギュレーションメモリに書き込む必要がある。このように、電源が供給されている状態で、一度だけPLDやFPGAの論理回路を構成する方法を静的再構成という。これに対して、論理回路が動作中に、その論理回路の構成を動的に変更できるFPGA等が開発されており、このように動的に論理回路を変更する方法を動的再構成という。   Reconfigurable circuits such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) capable of changing the configuration of the logic circuit are well known. Generally, PLD and FPGA logic circuits are changed by writing circuit configuration information stored in non-volatile memory such as ROM into configuration memory that is volatile memory inside PLD or FPGA at startup. Is done. Since the information in the configuration memory is cleared when the power is turned off, it is necessary to write the circuit configuration information stored in the ROM again in the configuration memory when the power is turned on. In this way, a method of configuring a PLD or FPGA logic circuit only once while power is supplied is called static reconfiguration. On the other hand, an FPGA or the like that can dynamically change the configuration of a logic circuit while the logic circuit is operating has been developed, and such a method of dynamically changing a logic circuit is called dynamic reconfiguration.

またFPGAには、FPGAのチップ全体の回路構成でなく、特定の領域の回路構成だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の回路の動作を停止させずに、それ以外の他の回路構成を変更することを動的部分再構成という。動的部分再構成では、動的再構成時に、コンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリの一部の領域のみを書き換えることで、FPGAの論理回路を部分的に再構成することができる。このような動的部分再構成を用いることで、例えばFPGAのある領域に、時分割で複数の論理回路を切り替えて実装できる。この結果、少ないハードウェアリソースで、用途に合わせた様々な機能を、ハードウェアによる高速の演算性能を保ったままで柔軟に実現できる。   Some FPGAs can rewrite only the circuit configuration of a specific area, not the circuit configuration of the entire FPGA chip, and such rewriting is called partial reconfiguration. In particular, changing other circuit configurations without stopping the operation of the circuit in operation is called dynamic partial reconfiguration. In dynamic partial reconfiguration, it is possible to partially reconfigure the FPGA logic circuit by rewriting only a partial area of the configuration memory instead of rewriting the entire configuration memory at the time of dynamic reconfiguration. it can. By using such dynamic partial reconfiguration, for example, a plurality of logic circuits can be switched and mounted in a certain area of the FPGA in a time division manner. As a result, with a small amount of hardware resources, various functions can be flexibly realized while maintaining high-speed computing performance by hardware.

ところで、FPGAの回路構成情報を格納するのに使用されるシリアルROM等の不揮発性メモリは、RAM等の揮発性メモリに比べてアクセス速度が遅い。よって、一般的に、FPGAの論理回路の再構成に要する時間が長くなり、その時間はコンフィギュレーションメモリに書き込む回路構成情報のデータサイズに比例する。このような再構成に要する時間を短縮するために、必要となる回路構成情報をアクセス速度が高速であるRAM等へ格納しておき、再構成時に、その高速RAMから回路構成情報を高速に読み出してFPGAに書き込む方法が知られている。   Incidentally, a non-volatile memory such as a serial ROM used for storing circuit configuration information of the FPGA has a slower access speed than a volatile memory such as a RAM. Therefore, generally, the time required for reconfiguration of the logic circuit of the FPGA becomes long, and the time is proportional to the data size of the circuit configuration information written in the configuration memory. In order to shorten the time required for such reconfiguration, necessary circuit configuration information is stored in a RAM having a high access speed, and the circuit configuration information is read from the high-speed RAM at a high speed during reconfiguration. A method for writing data into the FPGA is known.

特許文献1は、再構成可能な回路において、事前に回路構成情報をメインメモリに格納しておき、回路の処理内容に合わせて、CPUが必要な回路構成情報を選択して再構成を行う技術を記載している。また特許文献1はさらに、複数の回路構成情報を格納する専用のローカルメモリを有するシステムにおいて、必要な回路構成情報を選択して再構成を行う技術を記載している。しかしながら一般的にはFPGAは、回路構成情報を複数保持しておくための専用メモリを有していない。さらに、複写機のシステムなどで大容量の画像データを処理する場合には、FPGAの内部メモリを、回路構成情報を格納する専用メモリとして使用できない。従って、コストの観点から、CPUが使用する大容量のRAMを、システムのメインメモリ、画像処理用ワーキングメモリ、回路構成情報の格納用メモリとして使用する構成が考えられる。   Japanese Patent Application Laid-Open No. 2004-228561 is a technology in which, in a reconfigurable circuit, circuit configuration information is stored in advance in a main memory, and a CPU selects necessary circuit configuration information according to the processing contents of the circuit and performs reconfiguration. Is described. Further, Patent Document 1 further describes a technique for selecting and reconfiguring necessary circuit configuration information in a system having a dedicated local memory for storing a plurality of circuit configuration information. However, in general, the FPGA does not have a dedicated memory for holding a plurality of pieces of circuit configuration information. Further, when processing a large amount of image data in a copying machine system or the like, the internal memory of the FPGA cannot be used as a dedicated memory for storing circuit configuration information. Therefore, from the viewpoint of cost, a configuration in which a large-capacity RAM used by the CPU is used as a main memory of the system, a working memory for image processing, and a memory for storing circuit configuration information can be considered.

特開2010−232801号公報JP 2010-232801 A

上述の大容量のRAMを、回路構成情報の保存用メモリ、画像処理用ワーキングメモリとして使用している状態で、FPGAの動的部分再構成を行う場合を考える。この場合、回路構成情報をRAMから読み出すためのアクセスと、動作中の画像処理回路がRAMから画像データを読み出すためのアクセスとが競合する。特に複写機などで、スキャナ或いはプリンタの紙搬送に併せた処理を実行する場合、紙搬送に合わせて所定の時間内で完了しなければならないリアルタイム処理を実行していると、RAMへのアクセスが、そのリアルタイム処理で占有される。これはリアルタイム処理が大量の画像データを処理してRAMのメモリ帯域が逼迫しているときに他のアクセスを受け付けると、リアルタイム処理が紙搬送よりも遅れてしまい、搬送された用紙への画像データの印刷が間に合わなくなるのを防ぐためである。これにより、リアルタイム処理中は再構成のためのRAMアクセスが待たされてしまい、処理効率が低下してしまうといった課題がある。   Consider a case where dynamic partial reconfiguration of an FPGA is performed in a state where the above-described large-capacity RAM is used as a circuit configuration information storage memory and an image processing working memory. In this case, the access for reading out the circuit configuration information from the RAM competes with the access for the operating image processing circuit to read out the image data from the RAM. In particular, when executing processing that is combined with paper transportation of a scanner or printer in a copying machine or the like, if real-time processing that must be completed within a predetermined time is performed in accordance with paper transportation, access to the RAM is reduced. Occupied by its real-time processing. This is because if real-time processing is processing a large amount of image data and another access is accepted when the memory bandwidth of the RAM is tight, real-time processing will be delayed from paper transport, and image data on the transported paper This is in order to prevent the printing in time from being missed. As a result, during real-time processing, there is a problem that RAM access for reconfiguration is awaited and processing efficiency decreases.

また、RAMに格納された回路構成情報が破損した場合は、再度、ROMに格納された回路構成情報をRAMへ転送しなければらず、ROMからRAMへ回路構成情報を転送するためのオーバーヘッド時間が発生するという課題が発生する。   Further, when the circuit configuration information stored in the RAM is damaged, the circuit configuration information stored in the ROM must be transferred to the RAM again, and the overhead time for transferring the circuit configuration information from the ROM to the RAM is reduced. The problem of occurring occurs.

本発明の目的は、上記従来技術の問題点を解決することにある。   An object of the present invention is to solve the above-mentioned problems of the prior art.

本発明の特徴は、動的再構成が可能な動的部分再構成部を備える画像処理装置において、ジョブの状況に応じて動的部分再構成部を効率よく再構成する技術を提供することにある。   A feature of the present invention is to provide a technique for efficiently reconfiguring a dynamic partial reconfiguration unit according to a job status in an image processing apparatus including a dynamic partial reconfiguration unit capable of dynamic reconfiguration. is there.

上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
動的に回路の少なくとも一部が再構成される動的再構成部と、
前記動的再構成部において前記回路の少なくとも一部を再構成する回路構成情報を記憶する構成情報記憶手段と、
前記構成情報記憶手段に記憶された前記回路構成情報の複製を記憶する、前記構成情報記憶手段よりも高速に読み出し可能な記憶手段と、
実行するジョブに応じて前記動的再構成部の回路の少なくとも一部を、前記回路構成情報を用いて当該ジョブで必要な処理を実行可能な回路に再構成するように制御する制御手段とを有し、
前記制御手段は、前記記憶手段を使用した実時間処理が実行中でないときは前記記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成し、前記記憶手段を使用した実時間処理が実行中のときは前記構成情報記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成するように制御することを特徴とする。
In order to achieve the above object, an image processing apparatus according to an aspect of the present invention has the following arrangement. That is,
A dynamic reconfiguration unit that dynamically reconfigures at least part of the circuit;
Configuration information storage means for storing circuit configuration information for reconfiguring at least a part of the circuit in the dynamic reconfiguration unit;
A storage unit that stores a copy of the circuit configuration information stored in the configuration information storage unit, and that can be read faster than the configuration information storage unit;
Control means for controlling to reconfigure at least a part of the circuit of the dynamic reconfiguration unit according to a job to be executed into a circuit capable of executing processing necessary for the job using the circuit configuration information; Have
The control means reconfigures the dynamic reconfiguration unit using the circuit configuration information stored in the storage means when real-time processing using the storage means is not being executed, and the storage means When the real-time processing using is being executed, the dynamic reconfiguration unit is controlled to be reconfigured using the circuit configuration information stored in the configuration information storage means.

本発明によれば、実行するジョブの状況に応じて動的部分再構成部を効率よく再構成することができる。   According to the present invention, a dynamic partial reconfiguration unit can be efficiently reconfigured according to the status of a job to be executed.

本発明の実施形態1に係る画像処理装置の構成を説明するブロック図。1 is a block diagram illustrating a configuration of an image processing apparatus according to a first embodiment of the present invention. 実施形態1に係る画像処理装置で実行されるジョブと、各ジョブで必要な画像処理機能との対応を示す図。FIG. 3 is a diagram illustrating a correspondence between a job executed by the image processing apparatus according to the first embodiment and an image processing function necessary for each job. 実施形態1に係る画像処理装置が画像処理部132或いは画像処理部133を使用してジョブを実行する際の処理を説明するフローチャート。6 is a flowchart for explaining processing when the image processing apparatus according to the first embodiment executes a job using the image processing unit 132 or the image processing unit 133; 図3のS306のFPGAの再構成処理を説明するフローチャート。4 is a flowchart for explaining FPGA reconfiguration processing in S306 of FIG. 3; 図4のフローチャートで説明した回路構成情報の読み出し元の切り替えを説明する概念図。FIG. 5 is a conceptual diagram illustrating switching of reading source of circuit configuration information described in the flowchart of FIG. 4. 画像処理装置においてSEND及びプリントジョブが競合して実行されているときのスキャナI/F、プリンタI/F、画像処理部の動作を、従来例と比較して説明するタイムチャート。6 is a time chart for explaining operations of a scanner I / F, a printer I / F, and an image processing unit when a SEND and a print job are executed in competition in the image processing apparatus, as compared with a conventional example. 実施形態2に係る画像処理装置が画像処理部132或いは画像処理部133を使用してジョブを実行する際の処理を説明するフローチャート。9 is a flowchart for describing processing when the image processing apparatus according to the second embodiment executes a job using the image processing unit 132 or the image processing unit 133. 図7のS706の再構成処理の詳細を説明するフローチャート。FIG. 8 is a flowchart for explaining details of a reconstruction process in S706 of FIG. 7; FIG.

以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the present invention. .

[実施形態1]
図1は、本発明の実施形態1に係る画像処理装置100の構成を説明するブロック図である。尚、この実施形態1では、画像処理装置100は、スキャナ部やプリンタ部を有する複合機(多機能処理装置)の場合で説明する。
[Embodiment 1]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus 100 according to the first embodiment of the present invention. In the first embodiment, the image processing apparatus 100 will be described as a multi-function machine (multifunctional processing apparatus) having a scanner unit and a printer unit.

画像処理装置100は、画像処理装置100を使用するユーザが各種の操作を行うための操作部103と、原稿の画像情報を読み取るスキャナ部109と、画像データに基づいて用紙に画像を印刷するプリンタ部107とを有する。スキャナ部109は、スキャナ部109を制御するCPU(不図示)や原稿の読取を行うための照明ランプや走査ミラー(いずれも不図示)などを有する。プリンタ部106は、プリンタ部106の制御を行うCPU(不図示)や、画像の形成(印刷)や定着を行うための感光体ドラムや定着器(いずれも不図示)等を有する。   The image processing apparatus 100 includes an operation unit 103 for a user using the image processing apparatus 100 to perform various operations, a scanner unit 109 that reads image information of a document, and a printer that prints an image on a sheet based on image data. Part 107. The scanner unit 109 includes a CPU (not shown) that controls the scanner unit 109, an illumination lamp for reading a document, a scanning mirror (none of which are shown), and the like. The printer unit 106 includes a CPU (not shown) that controls the printer unit 106, a photosensitive drum and a fixing device (all not shown), and the like that perform image formation (printing) and fixing.

また画像処理装置100は、画像処理装置100の制御を行うコントローラとして、動的再構成部を備えるFPGA140を有する。この例では、FPGA140が画像処理装置100の動作を統括的に制御するCPU101を備える。このCPU101が、FPGA140や再構成を制御するコンフィグコントローラ130等を制御するためのプログラムを実行する。尚、FPGA140がCPU101を備えていることはあくまで一例にすぎず、FPGA140の外部にCPUを設けてもよい。   The image processing apparatus 100 includes an FPGA 140 including a dynamic reconfiguration unit as a controller that controls the image processing apparatus 100. In this example, the FPGA 140 includes a CPU 101 that comprehensively controls the operation of the image processing apparatus 100. The CPU 101 executes a program for controlling the FPGA 140, the configuration controller 130 for controlling reconfiguration, and the like. Note that the FPGA 140 includes the CPU 101 is merely an example, and the CPU may be provided outside the FPGA 140.

ROM104は、CPU101が実行するプログラムを記憶し、また、FPGA140の回路構成情報を格納する構成情報記憶部としても機能している。RAM111は、CPU101が動作するためのシステムワークメモリ、また画像データを一時記憶するための画像メモリとしても使用される。更にRAM111は、ROM104に格納された回路構成情報を複製し格納しており、CPU101は、このRAM111から回路構成情報を高速に読み出すことができる。   The ROM 104 stores a program executed by the CPU 101, and also functions as a configuration information storage unit that stores circuit configuration information of the FPGA 140. The RAM 111 is also used as a system work memory for the operation of the CPU 101 and an image memory for temporarily storing image data. Further, the RAM 111 duplicates and stores the circuit configuration information stored in the ROM 104, and the CPU 101 can read out the circuit configuration information from the RAM 111 at high speed.

FPGA140は、動的再構成部として回路の少なくとも一部を動的に再構成できる動的部分再構成部131と、動的部分再構成部131の回路構成(コンフィギュレーション)の変更を制御するコンフィグコントローラ130とを有する。動的部分再構成部131は、動的書き換え可能で、かつ部分書き換え可能である。即ち、動的部分再構成部131の一部の回路が動作している間に、その動作している回路が占める部分とは重ならない別の部分に、別の回路を再構成することができる。この動的部分再構成部131は、画像処理を行うための論理回路を部分的に再構成できる画像処理部132と画像処理部133とを有する。尚、本実施形態1では、動的部分再構成部131に構成される画像処理部の数が2つの場合を示しているが、画像処理部の数は2つに限定されるものではない。またFPGA140は、スキャナ部109から画像データを入力するスキャナI/F108と、プリンタ部107へ画像データを出力するプリンタI/F106とを有する。動的部分再構成部131の画像処理部132、画像処理部133、及びスキャナI/F108、プリンタI/F106は画像バス121に接続される。   The FPGA 140 is a dynamic partial reconfiguration unit 131 that can dynamically reconfigure at least a part of a circuit as a dynamic reconfiguration unit, and a configuration that controls a change in the circuit configuration (configuration) of the dynamic partial reconfiguration unit 131. Controller 130. The dynamic partial reconfiguration unit 131 is dynamically rewritable and partially rewritable. That is, while a part of the circuit of the dynamic part reconfiguration unit 131 is operating, another circuit can be reconfigured in another part that does not overlap with the part occupied by the operating circuit. . The dynamic partial reconfiguration unit 131 includes an image processing unit 132 and an image processing unit 133 that can partially reconfigure a logic circuit for performing image processing. In the first embodiment, the number of image processing units configured in the dynamic partial reconstruction unit 131 is two, but the number of image processing units is not limited to two. The FPGA 140 includes a scanner I / F 108 that inputs image data from the scanner unit 109 and a printer I / F 106 that outputs image data to the printer unit 107. The image processing unit 132, the image processing unit 133, the scanner I / F 108, and the printer I / F 106 of the dynamic partial reconstruction unit 131 are connected to the image bus 121.

CPU101は、ROM104に記憶されているプログラムに従って、この画像処理装置100の動作を統括的に制御する。またネットワークI/F102を介してネットワーク(不図示)に接続され、ネットワーク上の図示しない汎用コンピュータと通信(送受信)を行う。またROMI/F112は、ROM104へのアクセスを制御する。操作部I/F113は、操作部103とのインタフェースを制御する。システムバス120は、CPU101、ネットワークI/F102、メモリコントローラ110、操作部I/F113、ROMI/F112、コンフィグコントローラ130、動的部分再構成部131を相互に接続する。CPU101は、動的部分再構成部131に構成された画像処理部132、133、及びスキャナI/F108、プリンタI/F106のレジスタ設定をシステムバス120を介して行う。メモリコントローラ110は、RAM111へのデータの書き込み、RAM111からのデータの読み出しを制御する。メモリコントローラ110は、システムバス120及び画像バス121に接続されてる。メモリコントローラ110は、画像バス121に接続されたバスマスタからのRAM111へのアクセスと、システムバス120に接続されたバスマスタからのRAM111へのアクセスとを排他的に切り替える。   The CPU 101 controls the overall operation of the image processing apparatus 100 in accordance with a program stored in the ROM 104. Further, it is connected to a network (not shown) via the network I / F 102 and communicates (transmits / receives) with a general-purpose computer (not shown) on the network. The ROM I / F 112 controls access to the ROM 104. The operation unit I / F 113 controls an interface with the operation unit 103. The system bus 120 connects the CPU 101, the network I / F 102, the memory controller 110, the operation unit I / F 113, the ROM I / F 112, the configuration controller 130, and the dynamic partial reconfiguration unit 131 to each other. The CPU 101 performs register settings for the image processing units 132 and 133, the scanner I / F 108, and the printer I / F 106 configured in the dynamic partial reconfiguration unit 131 via the system bus 120. The memory controller 110 controls data writing to the RAM 111 and data reading from the RAM 111. The memory controller 110 is connected to the system bus 120 and the image bus 121. The memory controller 110 exclusively switches the access to the RAM 111 from the bus master connected to the image bus 121 and the access to the RAM 111 from the bus master connected to the system bus 120.

図2は、実施形態1に係る画像処理装置100で実行されるジョブと、各ジョブで必要な画像処理機能との対応を示す図である。   FIG. 2 is a diagram illustrating a correspondence between a job executed by the image processing apparatus 100 according to the first embodiment and an image processing function necessary for each job.

画像処理装置100は、コピージョブ、プリントジョブ及びSENDジョブを実行可能である。コピージョブは、スキャナ部109で原稿を読み取って複写する。プリントジョブは、PC等のプリンタドライバから送付された印刷データに基づいてプリンタ部107により印刷を行う。SENDジョブは、スキャナ部109で得られた原稿の画像データを外部のファイルサーバ或いはメールアドレス宛に送信する。   The image processing apparatus 100 can execute a copy job, a print job, and a SEND job. In the copy job, the scanner unit 109 reads an original and copies it. The print job is printed by the printer unit 107 based on print data sent from a printer driver such as a PC. In the SEND job, image data of a document obtained by the scanner unit 109 is transmitted to an external file server or an e-mail address.

処理順1〜3は、それぞれのジョブで実行される処理とその実行順番を示す。コピージョブでは、まず最初に処理順1で、スキャナ部109から入力された画像データに対してスキャナの補正処理を行うスキャン画像処理を実行する。続いて処理順2で、その画像データに対して回転処理、変倍処理、トリミング処理等を行う画像編集処理が実行される。そして最後に処理順3で、プリンタ部107で印刷される画像データに対して補正、解像度変換等を行うプリント画像処理が実行される。   The processing orders 1 to 3 indicate the processing executed in each job and the execution order. In the copy job, first, in the processing order 1, scan image processing for performing scanner correction processing on image data input from the scanner unit 109 is executed. Subsequently, in processing order 2, an image editing process for performing rotation processing, scaling processing, trimming processing, and the like on the image data is executed. Finally, in the processing order 3, print image processing for correcting, converting the resolution and the like on the image data printed by the printer unit 107 is executed.

またプリントジョブでは、処理順1で、ネットワークI/F102を介して受信したプリントジョブに含まれるページ記述言語(PDL)コードをビットマップイメージに展開するラスタイメージプロセス(RIP)処理を実行する。次に処理順2で画像編集処理を実行し、処理順3で、プリント画像処理を実行する。SENDジョブでは、スキャン画像処理と、画像編集処理と、ネットワークへ画像を送信するための高圧縮処理等を行うSEND画像処理を順次実行する。尚、これらの画像処理を行う回路構成情報は全て、電源起動時にROM104からRAM111へコピーされている。   In the print job, a raster image process (RIP) process for developing a page description language (PDL) code included in the print job received via the network I / F 102 into a bitmap image is executed in the processing order 1. Next, the image editing process is executed in the processing order 2, and the print image process is executed in the processing order 3. In the SEND job, scan image processing, image editing processing, and SEND image processing for performing high compression processing for transmitting an image to the network are sequentially executed. Note that all the circuit configuration information for performing the image processing is copied from the ROM 104 to the RAM 111 when the power is turned on.

尚、この画像処理装置100が実行できるジョブは図2に示すジョブに限定されるわけではない。また、画像処理の単位に関しても、図2に限定されるわけではなく、各ジョブに含まれている処理を、更に、より細かい処理に分割することも可能である。また、各画像処理は、例えばスキャン画像処理を例にとると、コピージョブとSENDジョブで同一の処理を行うとは限らず、それぞれのジョブに応じて適切な処理が行われるように構成されても良い。   The jobs that can be executed by the image processing apparatus 100 are not limited to the jobs shown in FIG. Further, the unit of image processing is not limited to that shown in FIG. 2, and the processing included in each job can be further divided into finer processing. In addition, for example, in the case of scanning image processing, each image processing is not necessarily performed in the same manner for a copy job and a SEND job, and is configured so that appropriate processing is performed according to each job. Also good.

図3は、実施形態1に係る画像処理装置100が画像処理部132或いは画像処理部133を使用して、例えば、図2に示すジョブを実行する際の処理を説明するフローチャートである。尚、このフローチャートで示す各処理は、CPU101がROM104に記憶されているプログラムを実行することにより達成される。   FIG. 3 is a flowchart illustrating processing when the image processing apparatus 100 according to the first embodiment uses the image processing unit 132 or the image processing unit 133 to execute, for example, the job illustrated in FIG. Each process shown in this flowchart is achieved by the CPU 101 executing a program stored in the ROM 104.

S301でCPU101は、操作部103或いはネットワークI/F102を介してジョブの開始命令を受信するとS302に進み、CPU101は、その入力されたジョブの種類を判定して、そのジョブを特定する。次にS303に進みCPU101は、コピージョブやSENDジョブ等のように、スキャナ部109による原稿の読み取り処理が必要なジョブかどうかを判定する。スキャナ部109による原稿の読み取り処理が必要であればS304に進み、CPU101は、スキャナ部109に対して原稿の読み込み開始の指示を出力する。これにより、スキャナI/F108を介して、ページ単位で原稿の画像データのRAM111への書き込みが開始される。そしてS305に進む。   In step S301, when the CPU 101 receives a job start instruction via the operation unit 103 or the network I / F 102, the process advances to step S302, and the CPU 101 determines the type of the input job and identifies the job. In step S303, the CPU 101 determines whether the job requires a document reading process by the scanner unit 109, such as a copy job or a SEND job. If it is necessary to read the document by the scanner unit 109, the process advances to step S <b> 304, and the CPU 101 outputs an instruction to start reading the document to the scanner unit 109. As a result, writing of the image data of the document into the RAM 111 is started in units of pages via the scanner I / F 108. Then, the process proceeds to S305.

一方、S303でCPU101は、プリントジョブなどのように、スキャナ部109による原稿を読み取る処理が不要であればS305へ移行する。S305でCPU101は、入力したジョブの種類に応じて、次に実行する処理の内容(図2参照)を決定してS306に進む。S306でCPU101は、S305で決定された画像処理に必要な回路を画像処理部132或いは画像処理部133へ構成する。このためにCPU101は、コンフィグコントローラ130に対して、画像処理部132或いは画像処理部133をスキャン画像処理回路に再構成するように制御する。これは図6(C)を参照して後述する期間T1における処理に相当している。また、この制御の詳細は図4のフローチャートを参照して後述する。   On the other hand, in step S303, the CPU 101 proceeds to step S305 if processing for reading an original by the scanner unit 109 is not required, such as a print job. In step S305, the CPU 101 determines the content of the process to be executed next (see FIG. 2) according to the type of the input job, and proceeds to step S306. In step S <b> 306, the CPU 101 configures the circuit necessary for the image processing determined in step S <b> 305 in the image processing unit 132 or the image processing unit 133. For this purpose, the CPU 101 controls the configuration controller 130 to reconfigure the image processing unit 132 or the image processing unit 133 into a scan image processing circuit. This corresponds to processing in a period T1 described later with reference to FIG. Details of this control will be described later with reference to the flowchart of FIG.

次にS307に進みCPU101は、スキャナI/F108或いはプリンタI/F106が、1ページ分のリアルタイム処理(実時間処理)を完了しているかどうかを判定し、リアルタイム処理が完了するまで待機し、完了するとS308に進む。このリアルタイム処理とは、例えば、複写機などで、スキャナ部109或いはプリンタ部107の紙搬送に合わせて、所定の時間内で原稿の読み取りや印刷を完了しなければならないような処理のことである。言い換えれば、予め決められた時間内で処理を完了しないと後続の処理が破たんし、結果的にジョブが実行できなくなるような処理のことである。   In step S307, the CPU 101 determines whether the scanner I / F 108 or printer I / F 106 has completed real-time processing (real-time processing) for one page, and waits until the real-time processing is completed. Then, it progresses to S308. This real-time processing is, for example, processing in which a document must be read or printed within a predetermined time in accordance with the paper conveyance of the scanner unit 109 or the printer unit 107 in a copying machine or the like. . In other words, if the processing is not completed within a predetermined time, the subsequent processing is broken, and as a result, the job cannot be executed.

S308でCPU101は、画像処理部132或いは画像処理部133に構成された画像処理回路に対し、処理開始の指示を出力してS309に進む。S309でCPU101は、画像処理部132或いは画像処理部133で画像処理が完了するまで待機し、画像処理が完了するとS310に進む。S310でCPU101は、現在実行しているジョブで、画像処理部132或いは画像処理部133で処理すべき画像処理が全て完了しているか否かを判定する。   In step S308, the CPU 101 outputs a processing start instruction to the image processing circuit configured in the image processing unit 132 or the image processing unit 133, and the process proceeds to step S309. In step S309, the CPU 101 stands by until the image processing unit 132 or the image processing unit 133 completes the image processing. When the image processing is completed, the CPU 101 proceeds to step S310. In step S <b> 310, the CPU 101 determines whether all the image processing to be processed by the image processing unit 132 or the image processing unit 133 has been completed for the currently executed job.

ここでは、例えばSENDジョブの場合は、図2に示すように、スキャン画像処理、画像編集処理、SEND画像処理を順次実行する。従って、S310で、これらの処理が全て終了していればS311に進むが、未実行の処理があればS310からS305へ進む。   Here, for example, in the case of a SEND job, scan image processing, image editing processing, and SEND image processing are sequentially executed as shown in FIG. Accordingly, if all of these processes are completed in S310, the process proceeds to S311. If there is an unexecuted process, the process proceeds from S310 to S305.

一方S310でCPU101が、そのジョブで実行する処理が全て完了していると判定するとS311へ移行する。S311でCPU101は、プリントジョブやコピージョブ等のように、プリンタ部107を使用して印刷を実行する印刷処理が必要かどうかを判定し、そうであればS312へ移行し、印刷処理が不要であればS313に進む。S312でCPU101は、プリンタ部107へ印刷開始指示を発行し、プリンタI/F106を介してRAM111に格納された画像データをページ単位で出力する。S313でCPU101は、全てのページの処理が完了したかを判定し、次のページの処理が必要であればS303へ戻り、次のページが無ければ、この処理を終了する。   On the other hand, if the CPU 101 determines in S310 that all the processes to be executed for the job have been completed, the process proceeds to S311. In step S <b> 311, the CPU 101 determines whether printing processing for executing printing using the printer unit 107 is required, such as a print job or a copy job. If so, the process proceeds to step S <b> 312, and printing processing is not necessary. If there is, the process proceeds to S313. In step S <b> 312, the CPU 101 issues a print start instruction to the printer unit 107, and outputs image data stored in the RAM 111 via the printer I / F 106 in units of pages. In step S313, the CPU 101 determines whether all the pages have been processed. If the next page needs to be processed, the process returns to step S303, and if there is no next page, the process ends.

このような処理により、受信したジョブを実行するために、動的部分再構成部131に動的に構成した画像処理部132或いは133により、そのジョブに必要な処理を実行させることができる。ここでは、あるジョブを実行するのに必要な処理を実行できる処理回路を動的に構成するので、少ない回路で、より多くの処理を実行させることができる。   Through such processing, in order to execute the received job, the image processing unit 132 or 133 dynamically configured in the dynamic partial reconfiguration unit 131 can execute processing necessary for the job. Here, since a processing circuit capable of executing processing necessary to execute a job is dynamically configured, more processing can be executed with fewer circuits.

図4は、図3のS306のFPGAの再構成処理を説明するフローチャートである。   FIG. 4 is a flowchart for explaining the FPGA reconfiguration processing in S306 of FIG.

S401でCPU101は、リアルタイム処理を実行中かどうかを判定し、実行しているときはS402へ移行し、実行中でないときはS403へ移行する。S402でCPU101は、リアルタイム処理が実行中であるるために、RAM111から回路構成情報を読み出すことができないと判定する。そしてROM104から直接、動的部分再構成部131に回路構成情報を転送するようにコンフィグコントローラ130へ設定してS404に進む。リアルタイム処理の実行中では、スキャナI/F108或いはプリンタI/F106は、画像バス121を介してRAM111へアクセスを行っている。これに対してコンフィグコントローラ130は、システムバス120を介してROM104から回路構成情報を読み出して動的部分再構成部131へ転送する。これにより、コンフィグコントローラ130による回路構成情報の転送を、リアルタイム処理を実行している回路等によるRAM111へのアクセスを阻害することなく実行できる。   In S401, the CPU 101 determines whether or not real-time processing is being executed. If it is being executed, the process proceeds to S402. If not, the process proceeds to S403. In step S <b> 402, the CPU 101 determines that the circuit configuration information cannot be read from the RAM 111 because real-time processing is being executed. Then, the configuration is set in the configuration controller 130 so as to transfer the circuit configuration information directly from the ROM 104 to the dynamic partial reconfiguration unit 131, and the process proceeds to S404. During the execution of real-time processing, the scanner I / F 108 or the printer I / F 106 accesses the RAM 111 via the image bus 121. On the other hand, the configuration controller 130 reads circuit configuration information from the ROM 104 via the system bus 120 and transfers it to the dynamic partial reconfiguration unit 131. Thereby, the transfer of the circuit configuration information by the configuration controller 130 can be executed without hindering access to the RAM 111 by a circuit or the like that is executing real-time processing.

一方、S403でCPU101は、リアルタイム処理が実行中でないため、RAM111より回路構成情報を高速に読み出して動的部分再構成部131へ転送するようにコンフィグコントローラ130へ設定してS404に進む。S404でCPU101は、コンフィグコントローラ133による、画像処理部132或いは画像処理部133への回路構成情報の転送が完了したかどうかを判定し、その転送が完了するまで待機する。こうして回路構成情報の転送が完了するとS405に進みCPU101は、コンフィグコントローラ133による、回路構成情報の欠損等が発生していないかどうかを示すCRC判定結果を受けとる。ここで回路構成情報はCRCコードを含んでおり、回路構成情報が、コンフィグコントローラ133に設けられたCRC演算回路(不図示)を経由して転送されることによりCRCコードによるエラーを検出する。ここでCRCエラーが発生していないと判定すると、この処理を終了する。一方、S405でCPU101が、CRCエラーが発生していると判定するとS402に進み、ROM104に記憶している元々の回路構成情報の再転送を実行する。   On the other hand, in step S403, since the real-time processing is not being executed, the CPU 101 sets the configuration controller 130 to read the circuit configuration information from the RAM 111 at a high speed and transfer it to the dynamic partial reconfiguration unit 131, and proceeds to step S404. In step S <b> 404, the CPU 101 determines whether the configuration controller 133 has transferred the circuit configuration information to the image processing unit 132 or the image processing unit 133, and waits until the transfer is completed. When the transfer of the circuit configuration information is completed in this way, the process advances to step S405, and the CPU 101 receives a CRC determination result indicating whether or not the circuit configuration information is missing or the like by the configuration controller 133. Here, the circuit configuration information includes a CRC code, and the circuit configuration information is transferred via a CRC arithmetic circuit (not shown) provided in the configuration controller 133 to detect an error due to the CRC code. If it is determined here that no CRC error has occurred, this process is terminated. On the other hand, if the CPU 101 determines in step S405 that a CRC error has occurred, the process advances to step S402, and the original circuit configuration information stored in the ROM 104 is retransferred.

このような制御により、エラーが発生したときは、ROM104に格納された元々の回路構成情報をRAM111へ複製し直す前に、ROM104から回路構成情報を読み出して再構成を完了させることができる。尚、回路構成情報が壊れていた場合には、再構成が完了した後、もしくはジョブ終了後等の処理の合間に、再びROM104に格納されている本来の回路構成情報をRAM111にコピーし直す処理が必要となる。また、ROM104に格納されている元々の回路構成情報が破損していた場合にはシステムエラーを返し、操作部103に表示する等により、ユーザに対処を促すなどの処理を実行する。   By such control, when an error occurs, the circuit configuration information can be read from the ROM 104 and the reconfiguration can be completed before the original circuit configuration information stored in the ROM 104 is copied back to the RAM 111. If the circuit configuration information is broken, the process of copying the original circuit configuration information stored in the ROM 104 back to the RAM 111 again after the reconfiguration is completed or after the job is completed. Is required. If the original circuit configuration information stored in the ROM 104 is damaged, a system error is returned and displayed on the operation unit 103 to execute a process such as prompting the user to take a countermeasure.

このような処理により、RAM111へのアクセスが多いと予想される場合には、ROM104に記憶している回路構成情報を使用して、処理に必要な回路を動的部分再構成部131に構築する。これにより、動的部分再構成部131への処理回路の構築によりRAM111へのアクセスが待たされて、通常のリアルタイム処理の遅延が発生する等の不具合の発生を防止できる。またリアルタイム処理が実行されていなくて、RAM111へのアクセスが少ないと予想される場合には、回路構成情報をRAM111から動的部分再構成部131へ転送するので、画像処理部132或いは画像処理部133の再構成を迅速に実行できる。   When it is expected that the RAM 111 is frequently accessed by such processing, the circuit configuration information stored in the ROM 104 is used to construct a circuit necessary for processing in the dynamic partial reconfiguration unit 131. . As a result, it is possible to prevent the occurrence of problems such as a delay in normal real-time processing due to waiting for access to the RAM 111 due to the construction of a processing circuit for the dynamic partial reconfiguration unit 131. When real-time processing is not executed and access to the RAM 111 is expected to be small, circuit configuration information is transferred from the RAM 111 to the dynamic partial reconfiguration unit 131, so that the image processing unit 132 or the image processing unit 133 reconfigurations can be performed quickly.

図5は、図4のフローチャートで説明した回路構成情報の読み出し元の切り替えを説明する概念図である。   FIG. 5 is a conceptual diagram illustrating switching of the circuit configuration information reading source described with reference to the flowchart of FIG.

図5(A)は、リアルタイム処理(ここではスキャナI/F108)が実行中でない場合に、回路構成情報をRAM111から読み出す場合を表している。この場合、リアルタイム処理が実行中でないため、RAM111のメモリ帯域が占有されていない。このためコンフィグコントローラ130は、RAM111から転送経路50を介して高速に回路構成情報を読み出して動的部分再構成部131に設定することができる。   FIG. 5A shows a case where the circuit configuration information is read from the RAM 111 when the real-time processing (here, the scanner I / F 108) is not being executed. In this case, since the real-time processing is not being executed, the memory bandwidth of the RAM 111 is not occupied. Therefore, the configuration controller 130 can read out the circuit configuration information from the RAM 111 via the transfer path 50 at high speed and set it in the dynamic partial reconfiguration unit 131.

図5(B)は、リアルタイム処理(ここではスキャナI/F108)が実行中の場合で、回路構成情報をROM104から読み出す場合を表している。この場合、原稿を読みって得られた画像データは経路51を介してRAM111へ書き込まれるためRAM111のメモリ帯域が占有されてしまう。従って、この場合は、コンフィグコントローラ130は、転送経路50を介してRAM111から回路構成情報を読み出すことができない。よって、コンフィグコントローラ130は、転送経路52を介してROM104から回路構成情報を読み出して動的部分再構成部131に設定する。   FIG. 5B illustrates a case where the circuit configuration information is read from the ROM 104 when real-time processing (here, the scanner I / F 108) is being executed. In this case, since the image data obtained by reading the document is written to the RAM 111 via the path 51, the memory band of the RAM 111 is occupied. Accordingly, in this case, the configuration controller 130 cannot read circuit configuration information from the RAM 111 via the transfer path 50. Therefore, the configuration controller 130 reads the circuit configuration information from the ROM 104 via the transfer path 52 and sets it in the dynamic partial reconfiguration unit 131.

図6は、画像処理装置においてSEND及びプリントジョブが競合して実行されているときのスキャナI/F、プリンタI/F、画像処理部の動作を、従来例と比較して説明するタイムチャートである。尚、この図6では、期間T1でSENDジョブが画像処理部132を使用して開始され、SENDジョブを実行中である期間T3で、プリントジョブが画像処理部133を使用して開始される場合を示している。   FIG. 6 is a time chart for explaining operations of the scanner I / F, the printer I / F, and the image processing unit when the SEND and the print job are executed in competition in the image processing apparatus as compared with the conventional example. is there. In FIG. 6, the SEND job is started using the image processing unit 132 in the period T1, and the print job is started using the image processing unit 133 in the period T3 during which the SEND job is being executed. Is shown.

図6(A)は、リアルタイム処理を考慮せずに、RAM111を使用して画像処理部132,133の再構成を高速に実行した場合の例を示す。図6(A)の期間T5では、SENDジョブが、2ページ目の原稿のスキャンを開始しており、スキャナI/F108がリアルタイム処理を行ってRAM111へスキャンした画像データを書き込んでいる。また同じ期間T5で、競合して実行中であるプリントジョブが、RAM111に記憶されている回路構成情報を用いて画像処理部133をプリント画像処理用に再構成すると、スキャナI/F108によるRAM111への画像データの書き込みが阻害される。これにより、スキャナ部109の紙搬送に合わせて原稿の読み取りとRAM111への画像データの格納ができなくなり、スキャンした画像データが失われてしまう可能性がある。よって、このような処理は行うことができない。   FIG. 6A shows an example in which reconstruction of the image processing units 132 and 133 is executed at high speed using the RAM 111 without considering real-time processing. In a period T5 in FIG. 6A, the SEND job starts scanning the second page of the document, and the scanner I / F 108 performs real-time processing and writes the scanned image data to the RAM 111. In the same period T5, when a print job competingly executing is reconfigured for print image processing using the circuit configuration information stored in the RAM 111, it is transferred to the RAM 111 by the scanner I / F 108. The writing of image data is hindered. As a result, it becomes impossible to read the original and store the image data in the RAM 111 in accordance with the paper conveyance of the scanner unit 109, and the scanned image data may be lost. Therefore, such processing cannot be performed.

図6(B)は、図6(A)と同様に、RAM111に記憶されている回路構成情報を使用して画像処理部の再構成を高速に行うが、リアルタイム処理中には再構成を行わずに待機する従来の場合を示す。図6(B)では、期間T5で画像処理部133をプリント画像処理用に再構成する処理を実行していないため、図6(A)の様な不具合の発生を防止できる。しかしながら、期間T2における画像処理部132の処理や、期間T6における画像処理部132及び画像処理部133の処理では、再構成のためのダウンタイムが発生している。これについて期間T2における画像処理部132の処理を例に説明する。   6B, as in FIG. 6A, the image processing unit is reconfigured at high speed using the circuit configuration information stored in the RAM 111, but reconfiguration is performed during real-time processing. The conventional case of waiting without waiting is shown. In FIG. 6B, since the processing for reconfiguring the image processing unit 133 for print image processing is not executed in the period T5, the occurrence of the problem as shown in FIG. 6A can be prevented. However, downtime for reconstruction occurs in the processing of the image processing unit 132 in the period T2 and the processing of the image processing unit 132 and the image processing unit 133 in the period T6. This will be described by taking the processing of the image processing unit 132 in the period T2 as an example.

画像処理部132は、期間T1で処理を実行していない。ジョブの種類によって、次に何の処理が必要となるかは図2に示したように事前に分かっているため、期間T1で、画像処理部132の再構成を完了させておくことで期間T2の処理の開始を早めることができる。しかしながら、期間T1では、リアルタイム処理によってRAM111が使用されているため、RAM111から回路構成情報を読み出すことができない。その結果、各期間の最初には必ず、再構成によるダウンタイムが発生してしまうことになる。   The image processing unit 132 is not executing processing in the period T1. Since what kind of processing is required next is known in advance as shown in FIG. 2 depending on the type of job, the reconfiguration of the image processing unit 132 is completed in the period T1, so that the period T2 is completed. The start of the process can be accelerated. However, the circuit configuration information cannot be read from the RAM 111 during the period T1 because the RAM 111 is used by real-time processing. As a result, downtime due to reconstruction always occurs at the beginning of each period.

図6(C)は、本実施形態1に係る画像処理装置におけるFPGAの再構成を説明する図である。ここでは、回路構成情報の読み出し元をRAM111とROM104とで切り替える例を示している。   FIG. 6C is a diagram for explaining the reconfiguration of the FPGA in the image processing apparatus according to the first embodiment. Here, an example in which the reading source of the circuit configuration information is switched between the RAM 111 and the ROM 104 is shown.

図6(C)では、期間T1で、次に必要となるスキャン画像処理の回路構成情報をROM104から読み出すことで再構成を完了させている。ROM104から回路構成情報を読み出して再構成する場合は、RAM111に記憶している回路構成情報を読み出して再構成する場合と比較してより多くの時間を要する。しかしながら、ROM104から回路構成情報を読み出す場合でも、スキャナI/F108が原稿1枚分の画像データをRAM111へ書き込んでいる間に、画像処理部132の再構成を完了させることができる。従って、期間T2で、直ちに、画像処理部132によりスキャン画像データに対する画像処理を開始することが可能となる。   In FIG. 6C, the reconstruction is completed by reading out circuit configuration information of the next required scan image processing from the ROM 104 in the period T1. When the circuit configuration information is read from the ROM 104 and reconfigured, more time is required than when the circuit configuration information stored in the RAM 111 is read and reconfigured. However, even when the circuit configuration information is read from the ROM 104, the reconfiguration of the image processing unit 132 can be completed while the scanner I / F 108 is writing the image data for one original in the RAM 111. Accordingly, the image processing unit 132 can immediately start image processing on the scanned image data in the period T2.

また期間T5でも同様に、次に必要なスキャン画像処理とプリント画像処理のために画像処理部132と画像処理部133とを再構成する。但し、この期間T5では、リアルタイム処理であるスキャナ部109からの画像データの入力処理が実行されているため、ROM104から回路構成情報を読み出して、これら画像処理部132と画像処理部133とを再構成する。これにより期間T6で、直ちに、画像処理部132はスキャン画像データに対する画像処理を開始でき、画像処理部133がプリント画像処理を開始できる。   Similarly, in the period T5, the image processing unit 132 and the image processing unit 133 are reconfigured for the next necessary scan image processing and print image processing. However, during this period T5, since image data input processing from the scanner unit 109, which is real-time processing, is executed, the circuit configuration information is read from the ROM 104, and the image processing unit 132 and the image processing unit 133 are restored. Configure. Thereby, in the period T6, the image processing unit 132 can immediately start image processing on the scanned image data, and the image processing unit 133 can start print image processing.

以上説明したように本実施形態1によれば、動的部分再構成部131を有する画像処理装置において、リアルタイム処理を阻害することなく再構成を行うことができ、かつ処理時間を削減することができる。また、RAM111へ複製して格納した回路構成情報が破損していた場合、再びROM104からRAM111へ複製し直す間の処理のダウンタイムを少なくできる。   As described above, according to the first embodiment, the image processing apparatus having the dynamic partial reconfiguration unit 131 can perform reconfiguration without hindering real-time processing, and can reduce processing time. it can. Further, when the circuit configuration information copied and stored in the RAM 111 is damaged, the downtime of the process during the copying from the ROM 104 to the RAM 111 again can be reduced.

[実施形態2]
上述の実施形態1では、ROMに格納されている回路構成情報を、電源投入時に全てRAMへ複製して格納し、リアルタイム処理が実行かどうかに応じてROM或いはRAMから回路構成情報を読み出す制御について説明した。しかしながら、画像処理装置100が実行可能なできるジョブが多数存在し、それらジョブで実行される処理に対応する回路構成情報の数が多くなると、RAM111へ格納する回路構成情報のデータサイズが大きくなる。よって、RAM111のメモリ容量や処理する画像データの容量によっては、電源投入後、常に全ての回路構成情報をRAM111へ保持できない場合がある。
[Embodiment 2]
In the first embodiment described above, the circuit configuration information stored in the ROM is all copied and stored in the RAM when the power is turned on, and the circuit configuration information is read from the ROM or RAM depending on whether or not the real-time processing is executed. explained. However, when there are many jobs that can be executed by the image processing apparatus 100 and the number of circuit configuration information corresponding to the processing executed by these jobs increases, the data size of the circuit configuration information stored in the RAM 111 increases. Therefore, depending on the memory capacity of the RAM 111 and the capacity of image data to be processed, all circuit configuration information may not always be held in the RAM 111 after the power is turned on.

そこで実施形態2では、全ての回路構成情報をRAM111へ複製して保持することができない場合の制御について説明する。この実施形態2に係る画像処理装置100のハードウェア構成は、前述の実施形態1と同様であるため、その説明を省略する。実施形態2と実施形態1の差異は、ジョブ開始後にRAM111へ回路構成情報を複製して格納する点にある。以下、詳しく説明する。   Therefore, in the second embodiment, control when all circuit configuration information cannot be duplicated and held in the RAM 111 will be described. Since the hardware configuration of the image processing apparatus 100 according to the second embodiment is the same as that of the first embodiment, the description thereof is omitted. The difference between the second embodiment and the first embodiment is that circuit configuration information is copied and stored in the RAM 111 after the job starts. This will be described in detail below.

図7は、実施形態2に係る画像処理装置100が画像処理部132或いは画像処理部133を使用して、例えば、図2に示すジョブを実行する際の処理を説明するフローチャートである。尚、このフローチャートで示す各処理は、CPU101がROM104に記憶されているプログラムを実行することにより達成される。尚、図7において、S701〜S708は、図3のS301〜S308と基本的に同じであるため、その説明を省略する。尚、S706の再構成処理は実施形態1のS306と異なるので、図8を参照して後述する。   FIG. 7 is a flowchart illustrating processing when the image processing apparatus 100 according to the second embodiment uses the image processing unit 132 or the image processing unit 133 to execute, for example, the job illustrated in FIG. Each process shown in this flowchart is achieved by the CPU 101 executing a program stored in the ROM 104. In FIG. 7, S701 to S708 are basically the same as S301 to S308 in FIG. The reconstruction process in S706 is different from S306 in the first embodiment, and will be described later with reference to FIG.

実施形態1の図3のフローチャートとの相違点は、ROM104に格納されている、複数の処理に対応する回路構成情報のそれぞれがRAM111へ複製済みであるかどうかを表す複製済みフラグを、回路構成情報ごとに備える点にある。この複製済みフラグはRAM111にセットされており、ジョブの開始時には全ての回路構成情報に対応するフラグはオフであり、これは、対応する回路構成情報がRAM111にコピーされていないことを示す。   3 is different from the flowchart of FIG. 3 in the first embodiment in that a copied flag indicating whether each of the circuit configuration information corresponding to a plurality of processes stored in the ROM 104 has been copied to the RAM 111 is displayed in the circuit configuration. It is in the point prepared for every information. This duplicated flag is set in the RAM 111, and the flags corresponding to all the circuit configuration information are off at the start of the job. This indicates that the corresponding circuit configuration information has not been copied to the RAM 111.

そのためS708で、再構成された画像処理部による処理が開始された後、S709に進みCPU101は、スキャン画像処理用の回路構成情報の複製済みフラグがオンかどうかを判定する。ここで複製済みフラグがオン、即ち、既にRAM111へ複製されていると判定するとコピー処理を行わずにS711へ移行する。一方、CPU101が複製済みフラグがオフと判定するとS710に進む。S710でCPU101は、画像処理部132或いは画像処理部133において画像処理が行われている状況で、ROM104からRAM111へ、現在実行されている画像処理用の回路構成情報を複製してS711に進む。このときCPU101は、そのコピーした回路構成情報の複製済みフラグをオンにする。S711〜S715の処理は、図3のS309〜S313と同じであるため、その説明を省略する。   Therefore, after the processing by the reconstructed image processing unit is started in S708, the process proceeds to S709, and the CPU 101 determines whether the copied flag of the circuit configuration information for scan image processing is on. If it is determined that the copied flag is on, that is, it has already been copied to the RAM 111, the process proceeds to S711 without performing the copy process. On the other hand, if the CPU 101 determines that the copied flag is OFF, the process proceeds to S710. In step S710, the CPU 101 copies the circuit configuration information for the currently executed image processing from the ROM 104 to the RAM 111 in a state in which image processing is being performed in the image processing unit 132 or the image processing unit 133, and proceeds to step S711. At this time, the CPU 101 turns on the copied flag of the copied circuit configuration information. Since the processing of S711 to S715 is the same as S309 to S313 of FIG. 3, the description thereof is omitted.

尚、本実施形態2では、画像処理装置100で1つのジョブのみが実行されている例で説明したが、他のジョブが空いている画像処理部を用いて競合して実行されることも考えられる。その場合は、S710においてリアルタイム処理の有無を判断し、競合ジョブのリアルタイム処理が実行中の場合は、回路構成情報の複製処理をスキップするといった処理が当然必要になる。また、RAM111へ回路構成情報を複製する処理を行うタイミングは、図7に示す例に限定されるものではなく、その他の処理の合間に行うことでも、同様のことが実現できる。   In the second embodiment, the example in which only one job is executed in the image processing apparatus 100 has been described. However, it is also conceivable that other jobs may be executed in competition using an empty image processing unit. It is done. In this case, it is naturally necessary to perform processing such as determining whether or not real-time processing is performed in S710, and skipping circuit configuration information duplication processing if real-time processing of a competing job is being executed. Further, the timing for performing the process of copying the circuit configuration information to the RAM 111 is not limited to the example shown in FIG. 7, and the same can be realized by performing the process between other processes.

図8は、図7のS706の再構成処理の詳細を説明するフローチャートである。   FIG. 8 is a flowchart for explaining details of the reconfiguration processing in S706 of FIG.

実施形態1との差異は、S801において複製済みフラグがオンかどうかを判定し、オンであればS802へ移行して、リアルタイム処理が実行中かどうかに応じて、回路構成情報の読み出し元をRAM111或いはROM104に切り替える制御をする。   The difference from the first embodiment is whether or not the duplicated flag is turned on in S801, and if it is turned on, the process proceeds to S802, and the reading source of the circuit configuration information is set as the RAM 111 depending on whether or not the real-time processing is being executed. Alternatively, control for switching to the ROM 104 is performed.

一方、CPU101がS801で複製済みフラグがオフであると判定するとS803へ移行して、CPU101は、ROM104から回路構成情報を読み出すように制御する。尚、図8のS802〜S806の処理は、図4のS401〜S405と同様であるため、その説明を省略する。   On the other hand, if the CPU 101 determines in S801 that the duplicated flag is OFF, the process proceeds to S803, and the CPU 101 controls to read circuit configuration information from the ROM 104. Note that the processing of S802 to S806 in FIG. 8 is the same as S401 to S405 in FIG.

以上説明したように実施形態2によれば、動的部分再構成部を有する画像処理装置において、ジョブの開始前に、リアルタイム処理の有無を考慮しながら、回路構成情報をRAMへ複製することが可能になる。これにより、RAMのメモリ容量により、全ての回路構成情報を予めRAMへ複製しておくことができない場合であっても、実施形態1と同様に処理時間を削減することができる。   As described above, according to the second embodiment, in an image processing apparatus having a dynamic partial reconfiguration unit, circuit configuration information can be copied to a RAM while considering the presence or absence of real-time processing before starting a job. It becomes possible. Thus, even when all circuit configuration information cannot be copied in advance to the RAM due to the memory capacity of the RAM, the processing time can be reduced as in the first embodiment.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

Claims (11)

動的に回路の少なくとも一部が再構成される動的再構成部と、
前記動的再構成部において前記回路の少なくとも一部を再構成する回路構成情報を記憶する構成情報記憶手段と、
前記構成情報記憶手段に記憶された前記回路構成情報の複製を記憶する、前記構成情報記憶手段よりも高速に読み出し可能な記憶手段と、
実行するジョブに応じて前記動的再構成部の回路の少なくとも一部を、前記回路構成情報を用いて当該ジョブで必要な処理を実行可能な回路に再構成するように制御する制御手段とを有し、
前記制御手段は、前記記憶手段を使用した実時間処理が実行中でないときは前記記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成し、前記記憶手段を使用した実時間処理が実行中のときは前記構成情報記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成するように制御することを特徴とする画像処理装置。
A dynamic reconfiguration unit that dynamically reconfigures at least part of the circuit;
Configuration information storage means for storing circuit configuration information for reconfiguring at least a part of the circuit in the dynamic reconfiguration unit;
A storage unit that stores a copy of the circuit configuration information stored in the configuration information storage unit, and that can be read faster than the configuration information storage unit;
Control means for controlling to reconfigure at least a part of the circuit of the dynamic reconfiguration unit according to a job to be executed into a circuit capable of executing processing necessary for the job using the circuit configuration information; Have
The control means reconfigures the dynamic reconfiguration unit using the circuit configuration information stored in the storage means when real-time processing using the storage means is not being executed, and the storage means When the real-time processing using is performed, the dynamic reconfiguration unit is controlled to be reconfigured using the circuit configuration information stored in the configuration information storage unit Processing equipment.
前記制御手段による制御の際、前記回路構成情報のエラーの有無を検出する検出手段を更に有し、
前記制御手段は、前記検出手段によりエラーが検出されると、前記構成情報記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成することを特徴とする請求項1に記載の画像処理装置。
In the control by the control means, further comprising a detection means for detecting the presence or absence of an error in the circuit configuration information,
The control unit reconfigures the dynamic reconfiguration unit using the circuit configuration information stored in the configuration information storage unit when an error is detected by the detection unit. Item 8. The image processing apparatus according to Item 1.
前記制御手段は、前記ジョブで実行している処理が、前記動的再構成部を使用しない処理の場合、前記動的再構成部の回路の少なくとも一部を当該ジョブで実行される次の処理を実行可能な回路に再構成するように制御することを特徴とする請求項1又は2に記載の画像処理装置。   When the process being executed in the job is a process that does not use the dynamic reconfiguration unit, the control unit executes at least a part of the circuit of the dynamic reconfiguration unit in the job. The image processing apparatus according to claim 1, wherein the image processing device is controlled so as to be reconfigured into an executable circuit. 前記構成情報記憶手段に記憶されている前記回路構成情報を前記記憶手段にコピーする複製手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。   4. The image processing apparatus according to claim 1, further comprising a duplication unit that copies the circuit configuration information stored in the configuration information storage unit to the storage unit. 5. 前記回路構成情報は、前記画像処理装置が実行可能なジョブに対応する複数の処理のそれぞれに対応して前記構成情報記憶手段に記憶されており、
前記複製手段は、前記複数の処理のそれぞれに対応する回路構成情報の単位で前記回路構成情報を前記記憶手段に記憶することを特徴とする請求項4に記載の画像処理装置。
The circuit configuration information is stored in the configuration information storage unit corresponding to each of a plurality of processes corresponding to jobs that can be executed by the image processing apparatus,
The image processing apparatus according to claim 4, wherein the duplicating unit stores the circuit configuration information in the storage unit in units of circuit configuration information corresponding to each of the plurality of processes.
前記複製手段は、前記画像処理装置の起動時に、前記構成情報記憶手段に記憶されている前記回路構成情報を前記記憶手段にコピーすることを特徴とする請求項4又は5に記載の画像処理装置。   6. The image processing apparatus according to claim 4, wherein the copying unit copies the circuit configuration information stored in the configuration information storage unit to the storage unit when the image processing apparatus is activated. . 前記複製手段は、ジョブの開始前に、前記構成情報記憶手段に記憶されている前記回路構成情報を前記記憶手段にコピーすることを特徴とする請求項4又は5に記載の画像処理装置。   6. The image processing apparatus according to claim 4, wherein the copying unit copies the circuit configuration information stored in the configuration information storage unit to the storage unit before starting a job. 前記複製手段は、前記回路構成情報を前記記憶手段に記憶する際、前記複数の処理のそれぞれに対応する回路構成情報の単位で、前記回路構成情報が前記記憶手段に複製されたかどうかを示す情報を変更することを特徴とする請求項5に記載の画像処理装置。   The copy means stores information indicating whether or not the circuit configuration information has been copied to the storage means in units of circuit configuration information corresponding to each of the plurality of processes when the circuit configuration information is stored in the storage means. The image processing apparatus according to claim 5, wherein the image processing apparatus is changed. 前記制御手段は、前記記憶手段を使用した実時間処理が実行中かどうか、及び前記情報に基づいて、前記動的再構成部を再構成する前記回路構成情報の読み出し先を変更することを特徴とする請求項8に記載の画像処理装置。   The control unit is configured to change a reading destination of the circuit configuration information for reconfiguring the dynamic reconfiguration unit based on whether real-time processing using the storage unit is being executed and the information. The image processing apparatus according to claim 8. 動的に回路の少なくとも一部が再構成される動的再構成部と、前記動的再構成部において前記回路の少なくとも一部を再構成する回路構成情報を記憶する構成情報記憶手段と、前記構成情報記憶手段に記憶された前記回路構成情報の複製を記憶する、前記構成情報記憶手段よりも高速に読み出し可能な記憶手段とを有する画像処理装置の制御方法であって、
前記記憶手段を使用した実時間処理が実行中でないときは前記記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成し、
前記記憶手段を使用した実時間処理が実行中のときは前記構成情報記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成することにより、実行するジョブに応じて前記動的再構成部の回路の少なくとも一部を、前記回路構成情報を用いて当該ジョブで必要な処理を実行可能な回路に再構成することを特徴とする画像処理装置の制御方法。
A dynamic reconfiguration unit in which at least a part of a circuit is dynamically reconfigured, and configuration information storage means for storing circuit configuration information for reconfiguring at least a part of the circuit in the dynamic reconfiguration unit, A method for controlling an image processing apparatus, comprising: a storage unit that stores a copy of the circuit configuration information stored in a configuration information storage unit, and that can be read at a higher speed than the configuration information storage unit.
When the real-time processing using the storage means is not being executed, the dynamic reconfiguration unit is reconfigured using the circuit configuration information stored in the storage means,
When real-time processing using the storage unit is being executed, the dynamic reconfiguration unit is reconfigured using the circuit configuration information stored in the configuration information storage unit, thereby executing a job to be executed. Accordingly, at least a part of the circuit of the dynamic reconfiguration unit is reconfigured into a circuit that can execute processing necessary for the job by using the circuit configuration information.
コンピュータを、請求項1乃至9のいずれか1項に記載の画像処理装置として機能させるためのプログラム。   A program for causing a computer to function as the image processing apparatus according to any one of claims 1 to 9.
JP2013246677A 2013-11-28 2013-11-28 Image processing apparatus, and control method and program of the same Pending JP2015106751A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013246677A JP2015106751A (en) 2013-11-28 2013-11-28 Image processing apparatus, and control method and program of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013246677A JP2015106751A (en) 2013-11-28 2013-11-28 Image processing apparatus, and control method and program of the same

Publications (1)

Publication Number Publication Date
JP2015106751A true JP2015106751A (en) 2015-06-08

Family

ID=53436673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013246677A Pending JP2015106751A (en) 2013-11-28 2013-11-28 Image processing apparatus, and control method and program of the same

Country Status (1)

Country Link
JP (1) JP2015106751A (en)

Similar Documents

Publication Publication Date Title
JP6308821B2 (en) Image processing device
JP2009146251A (en) Image processing device, and image forming system and program
JP5943736B2 (en) Information processing apparatus, information processing apparatus control method, and program
US20160036998A1 (en) Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method
JP2016009339A (en) Image processor, control method thereof and program
JP6370063B2 (en) Image processing apparatus, control method therefor, and program
JP2009107332A (en) System and method for print counting
JP2015162760A (en) Image processing apparatus, control method and program therefor
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP6351315B2 (en) Image processing apparatus, control method thereof, and program
JP2015149025A (en) Image processing device and control method therefor, and program
JP2013088773A (en) Image forming apparatus and image forming apparatus control method
JP2015106751A (en) Image processing apparatus, and control method and program of the same
JP2008260148A (en) Image forming apparatus, image formation method and program executing image formation method
JP2000006476A (en) Image output apparatus and its control method
JP6864721B2 (en) Information processing device and its control method
JP4669862B2 (en) Image forming system and print setting program
JP2006236006A (en) Printer, program and recording medium
JPH08174956A (en) Printer and its control method as well as printing system
JP2015191335A (en) Image processing apparatus, control method thereof, and program
JP2015197863A (en) Image processor and control method thereof, and program
JP6344145B2 (en) Image forming apparatus and image forming program
JP2016136359A (en) Image processing apparatus, control method thereof, and program
JP2015139009A (en) Image processing device, control method therefor and program
JP2007193647A (en) Cut paper printing system