JP2015197863A - Image processor and control method thereof, and program - Google Patents
Image processor and control method thereof, and program Download PDFInfo
- Publication number
- JP2015197863A JP2015197863A JP2014076462A JP2014076462A JP2015197863A JP 2015197863 A JP2015197863 A JP 2015197863A JP 2014076462 A JP2014076462 A JP 2014076462A JP 2014076462 A JP2014076462 A JP 2014076462A JP 2015197863 A JP2015197863 A JP 2015197863A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- unit
- circuit
- reconfiguration
- register
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
Description
本発明は、画像処理装置及びその制御方法、並びにプログラムに関するものである。 The present invention relates to an image processing apparatus, a control method therefor, 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. In general, when a logic circuit of a PLD or FPGA is changed, circuit configuration information (circuit configuration data) stored in a nonvolatile memory such as a ROM is converted into a configuration memory that is a volatile memory inside the PLD or FPGA at the time of startup. Realized by writing to 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.
また、MFP(Multi Function Printer)等の画像処理装置は、実行可能な複数の処理(コピージョブ、プリントジョブ、SENDジョブ等)のうちでユーザからの要求に応じて選択した画像処理を実行する。このような画像処理装置では、画像不良、ハングアップ等のエラーが発生する場合がある。そのようなエラーの解析及びデバッグ等のために、一般に、各種機能を実行するアプリケーションソフトウェア及び画像処理用のハードウェアに対するレジスタ設定を行うドライバソフトウェアが扱う各種のソフトウェアパラメータが解析されうる。更に、画像処理用のハードウェア内部に保持される画像処理パラメータ及び回路内部のステータス等のレジスタ値が、ソフトウェアによって外部の不揮発メモリへ格納され、エラーの解析に使用されうる。 An image processing apparatus such as an MFP (Multi Function Printer) executes image processing selected from a plurality of executable processes (copy job, print job, SEND job, etc.) in response to a request from the user. In such an image processing apparatus, errors such as image defects and hang-ups may occur. In order to analyze and debug such an error, in general, various software parameters handled by application software that executes various functions and driver software that performs register settings for image processing hardware can be analyzed. In addition, register values such as image processing parameters and status inside the circuit held in the image processing hardware can be stored in an external nonvolatile memory by software and used for error analysis.
例えば特許文献1では、FPGA等の再構成可能なコア(回路)の再構成用のコンフィギュレーションデータの付随情報(バージョン情報、更新日時等)を、再構成可能なコアの外部の記憶部に格納する、再構成可能な回路装置が提案されている。これにより、外部デバイスから付随情報を読み出すことができ、再構成可能なコアに構成されている回路に関する情報を外部から知ることを可能にしている。
For example, in
しかし、複数の画像処理を時分割で実行するために、動的部分再構成が可能な回路に対して時分割で複数の論理回路を切り替えて実装するような場合、再構成により新たな回路が実装されると再構成前の回路に関する情報の少なくとも一部が失われてしまう。具体的には、特許文献1では、コンフィギュレーションデータの付随情報を再構成可能回路の外部の記憶部に格納することで、当該回路のハードウェア構成を示す回路情報を得ることは可能である。一方で、画像処理で用いられたパラメータ(レジスタ値)、及び回路のステータス等の、回路の動作状態を示す回路情報は、回路の再構成によって失われてしまう。その結果、そのような回路情報を、エラーの解析及びデバッグ等に使用することができない。このように、再構成可能回路の再構成によって当該回路の動作状態を示す回路情報が失われると、エラーが発生した場合のエラーの解析及びデバッグ等に、そのような回路情報を利用することができなくなってしまう。
However, in order to execute multiple image processing in a time division manner, when a plurality of logic circuits are switched and implemented in a time division manner with respect to a circuit capable of dynamic partial reconfiguration, a new circuit is created by the reconfiguration. When implemented, at least part of the information about the circuit before reconfiguration is lost. Specifically, in
本発明は、上述の問題に鑑みてなされたものである。本発明は、動的部分再構成が可能な回路により画像処理を行う画像処理装置において、回路の動作状態を示す回路情報が再構成によって失われることを防ぐ技術を提供することを目的とする。 The present invention has been made in view of the above problems. An object of the present invention is to provide a technique for preventing circuit information indicating an operation state of a circuit from being lost due to reconfiguration in an image processing apparatus that performs image processing using a circuit capable of dynamic partial reconfiguration.
本発明は、例えば、画像処理装置として実現できる。本発明の一態様に係る画像処理装置は、一部の回路構成を動的に再構成可能な再構成可能回路であって、画像処理を行う画像処理部と、前記画像処理部の動作状態を示す、前記画像処理のための回路情報を保持するレジスタ部とが構成される、前記再構成可能回路と、前記再構成可能回路を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成手段と、前記再構成手段によって、前記再構成可能回路が、第1の画像処理を実行可能な回路構成に再構成された後、次に実行されるべき第2の画像処理を実行可能な回路構成に再構成される前に、前記レジスタ部に保持されている前記回路情報を、前記再構成可能回路の外部に設けられた記憶手段に格納するよう制御する制御手段とを備えることを特徴とする。 The present invention can be realized as an image processing apparatus, for example. An image processing apparatus according to an aspect of the present invention is a reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, an image processing unit that performs image processing, and an operation state of the image processing unit The reconfigurable circuit and the reconfigurable circuit configured to include a register unit that holds circuit information for the image processing are reconfigured to a circuit configuration that can execute image processing necessary for a job. And a second image processing to be executed next after the reconfigurable circuit is reconfigured to a circuit configuration capable of executing the first image processing by the reconfiguring means. Control means for controlling to store the circuit information held in the register unit in a storage means provided outside the reconfigurable circuit before being reconfigured into an executable circuit configuration. It is characterized by that.
本発明の他の一態様に係る画像処理装置は、一部の回路構成を動的に再構成可能な再構成可能回路であって、画像処理を行う画像処理部と、前記画像処理部の動作状態を示す、前記画像処理のための回路情報を保持するレジスタ部とが構成される、前記再構成可能回路と、前記画像処理部を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成手段と、第1の画像処理を実行可能な回路構成に前記画像処理部が再構成された後、前記第1の画像処理のための前記回路情報が前記レジスタ部に保持されたまま、次に実行されるべき第2の画像処理を実行可能な回路構成に前記画像処理部が再構成されるよう、前記再構成手段を制御する制御手段とを備えることを特徴とする。 An image processing apparatus according to another aspect of the present invention is a reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, an image processing unit that performs image processing, and an operation of the image processing unit The reconfigurable circuit configured to include a register unit that holds circuit information for the image processing that indicates a state, and the image processing unit to a circuit configuration that can perform image processing required for a job The circuit information for the first image processing is held in the register unit after the image processing unit is reconfigured to a reconfiguration unit for reconfiguration and a circuit configuration capable of executing the first image processing. In addition, the image processing unit includes a control unit that controls the reconstruction unit so that the image processing unit is reconfigured in a circuit configuration capable of executing the second image processing to be executed next.
本発明によれば、動的部分再構成が可能な回路により画像処理を行う画像処理装置において、回路の動作状態を示す回路情報が再構成によって失われることを防ぐことが可能になる。 According to the present invention, in an image processing apparatus that performs image processing using a circuit capable of dynamic partial reconfiguration, it is possible to prevent circuit information indicating the operation state of the circuit from being lost due to reconfiguration.
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. The following embodiments do not limit the invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the invention.
<画像処理装置の構成>
図1は、第1の実施形態に係る画像処理装置100の構成例を示すブロック図である。なお、本実施形態では、画像処理装置100が、スキャナ部及びプリンタ部を有する複合機(多機能処理装置)である場合を例に説明する。
<Configuration of image processing apparatus>
FIG. 1 is a block diagram illustrating a configuration example of an
画像処理装置100は、画像処理装置100を使用するユーザが各種の操作を行うための操作部103と、原稿の画像情報を読み取るスキャナ部109と、画像データに基づいて用紙に画像を印刷するプリンタ部107とを有する。スキャナ部109は、スキャナ部109を制御するCPU(不図示)や原稿の読取を行うための照明ランプや走査ミラー(いずれも不図示)等を有する。プリンタ部107は、当該プリンタ部107の制御を行うCPU(不図示)や、画像の形成(印刷)や定着を行うための感光体ドラムや定着器(いずれも不図示)等を有する。
The
また、画像処理装置100は、画像処理装置100の制御を行うコントローラとして、動的再構成部を備えるFPGA140を有する。この例では、FPGA140が、画像処理装置100の動作を統括的に制御するCPU101を備える。このCPU101が、FPGA140や、再構成を制御するコンフィグコントローラ130等を制御するためのプログラムを実行する。尚、FPGA140がCPU101を備えていることはあくまで一例にすぎず、FPGA140の外部にCPUを設けてもよい。
The
また、画像処理装置100は、ROM104及びRAM111を有する。ROM104には、CPU101が実行するブートプログラム、及び、動的再構成部131を構成する(コンフィギュレーションする)ための回路構成データ(コンフィギュレーションデータ)が格納されている。RAM111は、CPU101が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するための画像メモリでもある。CPU101は、ROM104に格納された回路構成データの複製データをRAM111に格納するとともに、RAM111から回路構成データを高速に読み出すことができる。
The
FPGA140は、CPU101、ネットワークインタフェース(ネットワークI/F)102、プリンタI/F106、スキャナI/F108、メモリコントローラ110、ROM I/F112、操作部I/F113、USB I/F115、FAX I/F116、コンフィグコントローラ130、動的再構成部131、SRAM134、システムバス120、及び画像バス121を備える。CPU101、ネットワークI/F102、ROM I/F112、操作部I/F113、USB I/F115、FAX I/F116、コンフィグコントローラ130、並びに動的再構成部131の画像処理部132及びレジスタ部133は、システムバス120を介して相互に接続される。また、動的再構成部131の画像処理部132、スキャナI/F108、及びプリンタI/F106は、画像バス121を介して相互に接続される。画像バス121は、処理される画像データを転送するために用いられる。なお、メモリコントローラ110は、システムバス120及び画像バス121の両方に接続される。
The
動的再構成部131は、回路構成(コンフィギュレーション)を動的に再構成可能(書き換え可能)であり、かつ、一部の回路構成を書き換え可能な再構成可能回路である。即ち、動的再構成部131の一部の回路が動作している間に、その回路が占める部分とは重ならない別の部分に別の回路を再構成することができる。コンフィグコントローラ130は、動的再構成部131の回路構成(コンフィギュレーション)を制御し、CPU101による制御に従って動的再構成部131を再構成する。本実施形態で、コンフィグコントローラ130は、動的再構成部131(再構成可能回路)を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成手段の一例である。
The
動的再構成部131には、動的部分再構成により、画像処理部132とレジスタ部133とが構成される。画像処理部132は、各種の画像処理を行うための論理回路を部分的に再構成可能であり、再構成された回路構成によって画像処理を行う。レジスタ部133は、画像処理部132による画像処理のためのパラメータ(レジスタ値)を保持する。レジスタ部133によって保持されるパラメータは、画像処理部132による画像処理の実行中に画像処理部132によって使用され、画像処理部132の動作状態を示す回路情報に相当する。なお、本実施形態では動的再構成部131に構成される画像処理部及びレジスタ部の数がそれぞれ1つの場合を示しているが、画像処理部及びレジスタ部の数は1つに限定されるものではない。SRAM134は、動的再構成部131の外部に設けられ、動的再構成部131のレジスタ部133が保持するパラメータ(レジスタ値)を格納しておくための不揮発性メモリである。
The
CPU101は、画像処理装置100の動作を統括的に制御する。また、CPU101は、ネットワークI/F102を介して、ネットワーク上の汎用コンピュータ(不図示)と通信(送受信)を行う。ROM I/F112は、ROM104へのアクセス(ROM104へのデータの書き込み及びROM104からのデータの読み出し)を制御する。また、CPU101は、動的再構成部131内に構成されたレジスタ部133に対するパラメータ設定を、システムバス120を介して行う。
The
CPU101は、USBI/F115を介して、画像処理装置100と接続された汎用コンピュータ(不図示)と通信(送受信)を行う。また、CPU101は、FAX I/F116を介して公衆回線網に接続されており、他の画像処理装置またはファクシミリ装置(不図示)と通信(送受信)を行う。FAX I/F116は、公衆回線網からの呼出信号であるCI(Call Indicator)信号を検知するCI検知回路(不図示)を含む。
The
操作部I/F113は、システムバス120と操作部103との間のインタフェースとして機能する。スキャナI/F108は、スキャナ部109から画像データが入力される。プリンタI/F106は、プリンタ部107へ画像データを出力する。メモリコントローラ110は、RAM111へのデータの書き込み、RAM111からのデータの読み出しを制御する。メモリコントローラ110は、システムバス120及び画像バス121に接続されている。メモリコントローラ110は、画像バス121に接続されたバスマスタからのRAM111へのアクセスと、システムバス120に接続されたバスマスタからのRAM111へのアクセスとを排他的に切り替える。
The operation unit I /
<動的再構成部の再構成例>
次に、図2及び図3を参照して、本実施形態に係る画像処理装置100における動的再構成部131の再構成の例について説明する。
図2(A)は、ROM104に格納される回路構成データ(コンフィギュレーションデータ)の一例を示す図である。図2(A)に示すように、ROM104には、動的再構成部131の一部の回路(画像処理部132及びレジスタ部133)を再構成するための複数のコンフィギュレーションデータ(以下、「コンフィグデータ」と省略して表記する。)が予め格納されている。各コンフィグデータは、それぞれ特定の画像処理機能を実現する(画像処理を実行可能な)論理回路を動的再構成部131に実装するためのデータである。
<Example of dynamic reconfiguration unit reconfiguration>
Next, an example of reconfiguration of the
FIG. 2A is a diagram illustrating an example of circuit configuration data (configuration data) stored in the
動的再構成部131の画像処理部132及びレジスタ部133は、各コンフィグデータを用いた再構成により、特定の画像処理機能を実現する論理回路に再構成される。例えば、コンフィグデータ1を用いた再構成により、画像処理部132及びレジスタ部133は、画像処理A(フィルタ処理)を実行する画像処理部A及び画像処理A用のレジスタ値が格納されるレジスタ部Aに再構成される。画像処理装置100は、ROM104に格納されているコンフィグデータを用いて動的再構成部131を再構成することで、様々な画像処理機能を実現できる。
The
画像処理装置100は、各ジョブで必要となる一連の画像処理機能を実現するための論理回路を動的再構成部131に順に時分割で再構成することで、一連の画像処理機能を実現可能である。図2(B)は、画像処理装置100で実行可能なジョブごとの、各ジョブで必要となる画像処理機能(即ち、各ジョブで実行される画像処理)及びその実行順序と、各画像処理機能に対応するコンフィグデータとの一例を示す図である。なお本実施形態では、画像処理装置100が実行可能なジョブの例として、コピージョブ、プリントジョブ及びSENDジョブを示している。図2(B)の「再構成番号」は、画像処理装置100が各ジョブを実行する際に、必要となる画像処理機能に対応するコンフィグデータを用いた動的再構成部131の再構成の実行順序を表す。
The
例えば、図2(B)に示すように、4つの画像処理A〜Dを順に実行することで、コピージョブ用の画像処理機能を実現できる。画像処理Aは、スキャナ部109で得られた画像の、デバイス特性に起因した特性のばらつきを補正するテーブル変換処理やフィルタ処理等である。画像処理Bは、原稿画像の文字部分や写真部分等の属性判定を行う像域分離処理等である。画像処理Cは、RGBデータをCMYKデータへ変換する色変換処理である。画像処理Dは、入力画像データを所定の閾値と比較することによりN値化を行うハーフトーン処理等である。
For example, as shown in FIG. 2B, an image processing function for a copy job can be realized by sequentially executing four image processes A to D. The image processing A is a table conversion process, a filter process, or the like that corrects characteristic variations caused by device characteristics of an image obtained by the
画像処理装置100は、コピージョブを実行する場合、画像処理A〜Dに対応するコンフィグデータ1〜4を時分割で順にROM104から読み出して、動的再構成部131の再構成に使用する。これにより、画像処理部132は、画像処理A〜Dを実行する回路(画像処理部A〜D)に順に再構成されながら、画像処理A〜Dを順に時分割で実行する。
When executing a copy job, the
また、図2(B)に示すように、画像処理C,Dを実行した後に、画像処理Eを実行することで、プリントジョブ用の画像処理機能を実現できる。画像処理Eは、プリンタ部107のプリンタ画像出力を走査する際のレジずれを補正するレジ補正処理等である。画像処理装置100は、プリントジョブを実行する場合には、画像処理C〜Eに対応するコンフィグデータ1〜4を時分割で順にROM104から読み出して、動的再構成部131の再構成に使用する。
Further, as shown in FIG. 2B, an image processing function for a print job can be realized by executing the image processing E after executing the image processing C and D. The image processing E is a registration correction process for correcting a registration error when the printer image output of the
また、図2(B)に示すように、画像処理A,Bを実行した後、画像処理Fを実行することで、SENDジョブ用の画像処理機能を実現できる。画像処理Fは、スキャン画像データをネットワーク転送するために適したフォーマットに変換するための高解像圧縮処理等である。画像処理装置100は、SENDジョブを実行する場合には、画像処理A,B,Fに対応するコンフィグデータ1,2,6を時分割で順にROM104から読み出して、動的再構成部131の再構成に使用する。
Further, as shown in FIG. 2B, an image processing function for a SEND job can be realized by executing image processing F after executing image processing A and B. The image processing F is a high-resolution compression process for converting scanned image data into a format suitable for network transfer. When executing the SEND job, the
次に、図3は、画像処理装置100がコピージョブを実行する場合の、動的再構成部131の再構成手順の例を示す図である。本実施形態の画像処理装置100は、ジョブの実行を開始すると、ジョブの種類に応じて定まる順序で、ROM104から必要なコンフィグデータを読み出して、動的再構成部131を順次再構成し、再構成された動的再構成部131に画像処理を実行させる。
Next, FIG. 3 is a diagram illustrating an example of a reconfiguration procedure of the
操作部103を介してコピージョブの実行が指示されると、画像処理装置100は、図2(B)に示すように、まず再構成番号を「1」に設定し、コンフィグデータ1を用いて動的再構成部131を再構成する。これにより、画像処理部132及びレジスタ部133はに、画像処理Aを実行する画像処理部A及び画像処理A用のレジスタ値が格納されるレジスタ部Aが構成される。
When the execution of the copy job is instructed via the
画像処理Aの実行が完了すると、画像処理装置100は、次に再構成番号を「2」に設定し、コンフィグデータ2を用いて動的再構成部131を再構成する。これにより、画像処理部132及びレジスタ部133には、画像処理Bを実行する画像処理部B及び画像処理B用のレジスタ値が格納されるレジスタ部Bが構成される。
When the execution of the image processing A is completed, the
画像処理Bの実行が完了すると、画像処理装置100は、次に再構成番号を「3」に設定し、コンフィグデータ3を用いて動的再構成部131を再構成する。これにより、画像処理部132及びレジスタ部133には、画像処理Cを実行する画像処理部C及び画像処理C用のレジスタ値が格納されるレジスタ部Cが構成される。
When the execution of the image processing B is completed, the
画像処理Cの実行が完了すると、画像処理装置100は、次に再構成番号を「4」に設定し、コンフィグデータ4を用いて動的再構成部131を再構成する。これにより、画像処理部132及びレジスタ部133には、画像処理Dを実行する画像処理部C及び画像処理D用のレジスタ値が格納されるレジスタ部Dが構成される。
When the execution of the image processing C is completed, the
このように、本実施形態の画像処理装置100では、ジョブで必要となる一連の画像処理機能を実現するための論理回路を動的再構成部131に順に時分割で再構成することで、各ジョブ用の画像処理機能を実現できる。なお、図2及び図3に示すジョブは一例にすぎず、画像処理装置100が実行可能なジョブは図2及び図3に示すものに限定されるわけではない。また、画像処理の単位に関しても、図2及び図3に示すものに限定されるわけではなく、各ジョブに含まれている画像処理を、より細かい処理に分割することも可能である。
As described above, in the
図3に示すように、動的再構成131を用いた特定の画像処理の完了後、動的再構成部131を、次に実行すべき画像処理を実行可能な回路構成に再構成することによって、ジョブで必要となる画像処理を動的再構成部131で順に実行することが可能である。しかし、次の画像処理に対応する回路構成を得るために動的再構成部131を再構成すると、画像処理部132だけでなくレジスタ部133も再構成される。その結果、上述のように、レジスタ部133に保持されている、画像処理部132の動作状態を示すレジスタ値が失われることになる。
As shown in FIG. 3, after completion of specific image processing using the
本実施形態では、画像処理装置100において、動的再構成部131の再構成によってレジスタ部133に保持されているレジスタ値(回路情報)が失われることを避けるために、以下のような制御を実行する。CPU101は、動的再構成部131が、第1の画像処理を実行可能な回路構成に再構成された後、次に実行されるべき第2の画像処理を実行可能な回路構成に再構成される前に、レジスタ部133から他の記憶デバイスにレジスタ値を退避させる制御を行う。具体的には、CPU101は、レジスタ部133に保持されているレジスタ値を、動的再構成部131の外部に設けられたSRAM134に格納するための制御を行う。これにより、レジスタ部133が保持されているレジスタ値(回路情報)が、動的再構成部131の再構成によって消えてしまうことを防ぐことが可能である。
In the present embodiment, in the
<動的再構成部の再構成制御>
図4は、本実施形態に係る画像処理装置100が動的再構成部131を用いてジョブを実行する際の、動的再構成部131の再構成制御の手順を示すフローチャートである。なお、図4(A)のフローチャートに示す各処理は、CPU101がROM104等に予め格納された制御プログラムをRAM111に読み出して実行することによって実現される。また、図4(B)のフローチャートに示す各処理は、コンフィグコントローラ130によって実行され、図4(C)のフローチャートに示す各処理は、画像処理部132によって実行される。
<Reconfiguration control of dynamic reconfiguration unit>
FIG. 4 is a flowchart illustrating a procedure of reconfiguration control of the
画像処理装置100が電源停止状態から起動またはスリープ状態から復帰すると、CPU101は、S101の処理を開始する。S101で、CPU101は、操作部103から受信した情報、ネットワークI/F102を介して受信した情報等に基づいて、ジョブの実行要求が生じたか否かを判定する。CPU101は、実行要求が生じると(S101で「YES」)、S102に処理を進める。S102で、CPU101は、実行要求で指定されたジョブの種類を判定する。CPU101は、例えば、指定されたジョブがコピージョブ、プリントジョブ及びSENDジョブ等のうちのいずれのジョブであるかを判定する。
When the
次にS103で、CPU101は、指定されたジョブの実行を開始して、処理をS104に進める。ここで、CPU101は、S102で判定されたジョブ種類に応じて、図2(B)に示すように、必要となる画像処理の実行順序と、それらの画像処理に対応する、動的再構成部131の再構成のためのコンフィグデータの使用順序とを決定する。上述のように、指定されたジョブの実行中には、当該ジョブで必要となる複数の画像処理に対応する複数のコンフィグデータを順に用いて、動的再構成部131の再構成が繰り返し実行される。CPU101は、再構成番号N(Nは整数)を用いて動的再構成部131の再構成の回数を管理する。CPU101は、N=1に設定してジョブの実行を開始する。このようにして、CPU101は、ジョブで必要となる(第1及び第2の画像処理を含む)複数の画像処理に対応する複数の回路構成が、動的再構成部131に時分割で再構成されるよう、コンフィグコントローラ130を制御しながら、当該ジョブを実行しうる。
In step S103, the
S104で、CPU101は、動的再構成部131についての再構成番号Nに対応する再構成を実行すべきことを示す再構成指示を、システムバス120を介して、コンフィグコントローラ130に対して送信する。なお、CPU101は、再構成番号Nに対応する再構成に関する情報として、図2(B)に示す再構成番号Nに対応するコンフィグデータに関する情報を再構成指示に含める。その後S105で、CPU101は、コンフィグコントローラ130から再構成完了通知を受信するまで待機し、再構成完了通知を受信するとS106に処理を進める。
In step S <b> 104, the
(コンフィグコントローラ130の処理)
コンフィグコントローラ130は、CPU101から再構成指示を受信すると、図4(B)に示す手順に従って、動的再構成部131を再構成する。まず、S121で、コンフィグコントローラ130は、CPU101からの再構成指示を受信するまで待機する。コンフィグコントローラ130は、再構成指示を受信すると(S121で「YES」)、処理をS122に進める。
(Processing of the configuration controller 130)
When receiving a reconfiguration instruction from the
S122で、コンフィグコントローラ130は、CPU101からの再構成指示に従って、ROM104からコンフィグデータを読み出す。更に、コンフィグコントローラ130は、読み出したコンフィグデータを用いて、動的再構成部131の再構成対象の領域(画像処理部132及びレジスタ部133)の回路構成を再構成する。このようにして、コンフィグコントローラ130は、動的再構成部131の対象領域の再構成を行う。これにより、再構成番号Nに対応するコンフィグデータを用いて動的再構成部131が再構成される。
In S122, the
その後、コンフィグコントローラ130は、動的再構成部131の対象領域の再構成が完了すると(S123で「YES」)、処理をS124に進める。S124で、コンフィグコントローラ130は、再構成指示に従った再構成が完了したことを示す通知(再構成完了通知)を、システムバス120を介してCPU101に送信し、処理をS121に戻す。その後、コンフィグコントローラ130は、再び再構成指示をCPU101から受信するまでS121で待機状態となる。
Thereafter, when the reconfiguration of the target area of the
説明を再び図4(A)のフローチャートに戻し、CPU101は、S105で再構成完了通知をコンフィグコントローラ130から受信すると(S105で「YES」)、処理をS106に進める。S106で、CPU101は、システムバス120を介して、動的再構成部131に再構成されたレジスタ部133に対して、再構成番号Nに対応する画像処理の実行に必要なレジスタ値を設定する。
Returning again to the flowchart of FIG. 4A, when the
更にS107で、CPU101は、再構成番号Nに対応する画像処理(第1の画像処理)を開始すべきことを示す指示を、システムバス120を介して、動的再構成部131に再構成された画像処理部132に対して送信する。これにより、画像処理部132は、RAM111から転送される画像データに対する画像処理の実行を開始する。
Further, in S107, the
(画像処理部132の処理)
画像処理部132は、CPU101から画像処理の開始指示を受信すると、図4(C)に示す手順に従って画像処理を実行する。まず、S131で、画像処理部132は、CPU101から画像処理の開始指示を受信するまで待機する。画像処理部132は、画像処理の開始指示を受信すると(S131で「YES」)、処理をS132に進める。S132で、画像処理部132は、当該開始指示に従って、RAM111から転送される画像データに対する画像処理を開始する。
(Processing of the image processing unit 132)
When receiving an image processing start instruction from the
その後、画像処理部132は、CPU101からの指示に従った画像処理を完了すると(S133で「YES」)、処理をS134に進める。S134で、画像処理部132は、画像処理が完了したことを示す通知(画像処理完了通知)を、システムバス120を介してCPU101に送信し、処理をS131に戻す。その後、画像処理部132は、再び画像処理の開始指示をCPU101から受信するまでS131で待機状態となる。
Thereafter, when the
説明を再び図4(A)のフローチャートに戻し、CPU101は、画像処理部132から画像処理完了通知を受信すると(S108で「YES」)、処理をS109に進める。S109で、CPU101は、動的再構成部131についての次の再構成(再構成番号N+1)を実行すべきか否かを判定する。ここでは、S103で使用順序を決定した複数のコンフィグデータに関して、動的再構成部131の再構成に使用すべきコンフィグデータが残っているか(即ち、実行順序を決定した複数の画像処理に関して、実行すべき画像処理が残っているか)が判定される。CPU101は、動的再構成部131についての次の再構成(再構成番号N+1)を実行しない場合(S109で「NO」)、ジョブの実行を終了し、次の再構成を実行する場合(S109で「YES」)、処理をS110に進める 。
Returning to the flowchart of FIG. 4A again, the
S110で、CPU101は、レジスタ部133に設定されている、再構成番号Nに対応する画像処理用のレジスタ値をSRAM134へ転送して格納する。このように、CPU101は、動的再構成部131を、次の画像処理(第2の画像処理)に対応する回路構成に再構成すべきことをコンフィグコントローラ130に指示する前に、レジスタ部133に保持されているレジスタ値をSRAM134に格納する。これにより、動的再構成部131についての次の再構成が行われる前に、レジスタ部133に保持されたレジスタ値(回路情報)が保存され、レジスタ部133の再構成によって回路情報が消えてしまうことを防ぐことができる。
In S110, the
その後S111で、CPU101は、再構成番号Nをインクリメントする(NからN+1に1増加させる)とともに、処理をS104に戻す。これにより、CPU101は、動的再構成部131についての次の再構成番号N+1に対応する、次に実行されるべき画像処理(第2の画像処理)のための動的再構成部131の再構成に関する制御を開始する。
Thereafter, in S111, the
以上説明したように、本実施形態では、動的再構成部131についての次の再構成が行われる前に、レジスタ部133が保持するレジスタ値(回路情報)をSRAM134に格納することで、当該再構成に伴って回路情報が消えることを防ぐことが可能である。これにより、動的再構成部131の再構成の実行後において、SRAM134に保存した回路情報を、画像処理装置100でエラーが発生した場合のエラーの解析、及びエラーのデバッグ等に使用することが可能になる。その結果、そのような情報を使用して、FPGA等の再構成可能回路を備える装置の品質を向上させることが可能になる。
As described above, in the present embodiment, the register value (circuit information) held by the
なお、画像処理部132が正常に動作しており、エラーが発生していなければ(即ち、エラーのデバッグが不要であれば)、CPU101は、S110の処理を省略し、レジスタ値をSRAM134に転送及び格納しなくてもよい。これにより、画像処理装置100が正常に動作している場合には、S110の処理に要する時間だけ、ジョブの実行に要する時間を短縮できる。なお、特定の画像処理について生じるエラーのデバッグが必要な場合には、CPU101は、特定の画像処理で用いられたレジスタ値(回路情報)のみをSRAM134に転送及び格納することも可能である。
If the
また、ジョブの実行終了後の任意のタイミングに、再構成番号M(Mは整数)に対応するコンフィグデータを用いた再構成を再び実行し、S110でSRAM134に格納されたレジスタ値をレジスタ部133に書き戻すことも可能である。この場合、レジスタ部133に書き戻されるレジスタ値は、再構成番号Mに対応する画像処理用のレジスタ値である。これにより、例えば、再構成番号Mに対応する再構成後の動的再構成部131でエラーが発生した場合、エラーが発生した際の動的再構成部131の回路構成及び回路状態を再現することができ、エラーの解析及びデバッグに使用できるようになる。
Further, at an arbitrary timing after the execution of the job is completed, the reconfiguration using the configuration data corresponding to the reconfiguration number M (M is an integer) is executed again, and the register value stored in the
[第2の実施形態]
第1の実施形態では、CPU101は、ジョブの実行中に、次に実行すべき画像処理に対応する回路に動的再構成部131を再構成する前に、レジスタ部133に保持されたレジスタ値(回路情報)をSRAM134に保存する。第2の実施形態では、CPU101による処理の負荷を軽減するために、レジスタ部133に保持されたレジスタ値(回路情報)の保存を、CPU101による処理によることなく自動的に実行する例について説明する。なお、説明の簡略化のため、第1の実施形態と同様の構成及び制御については説明を省略する。
[Second Embodiment]
In the first embodiment, during execution of a job, the
<画像処理装置の構成>
図5は、第2の実施形態に係る画像処理装置100の構成例を示すブロック図である。図5に示すように、本実施形態に係る画像処理装置100は、第1の実施形態と異なり、FPGA140内に、システムバス120に接続されたレジスタ格納制御部500を更に備えることを特徴としている。
<Configuration of image processing apparatus>
FIG. 5 is a block diagram illustrating a configuration example of the
レジスタ格納制御部500は、CPU101からの指示に従って、動的再構成部131のレジスタ部133に保持されているレジスタ値(回路情報)をSRAM134に格納する。このような処理は、後述するように、コンフィグコントローラ130による動的再構成部131の再構成のタイミングに合わせて行われる。
The register
<動的再構成部の再構成制御>
図6は、本実施形態に係る画像処理装置100が動的再構成部131を用いてジョブを実行する際の、動的再構成部131の再構成制御の手順を示すフローチャートである。なお、図6(A)のフローチャートに示す各処理は、CPU101がROM104等に予め格納された制御プログラムをRAM111に読み出して実行することによって実現される。コンフィグコントローラ130及び画像処理部132によって実行される処理は、第1の実施形態(図4(B)及び(C))と同様である。また、図6(B)のフローチャートに示す各処理は、レジスタ格納制御部500によって実行される。
<Reconfiguration control of dynamic reconfiguration unit>
FIG. 6 is a flowchart illustrating a procedure of reconfiguration control of the
まず、S101〜S109は、第1の実施形態と同様である。S109で、CPU101は、動的再構成部131についての次の再構成(再構成番号N+1)を実行する場合(S109で「YES」)、処理をS201に進める。
First, S101 to S109 are the same as those in the first embodiment. If the
S201で、CPU101は、レジスタ部133に保持されている、再構成番号Nに対応する画像処理用のレジスタ値をSRAM134へ格納すべきことを示す指示(格納開始指示)を、システムバス120を介して、レジスタ格納制御部500へ送信する。このように、CPU101は、動的再構成部131を、次の画像処理(第2の画像処理)に対応する回路構成に再構成すべきことをコンフィグコントローラ130に指示する前に、格納開始指示をレジスタ格納制御部500に送信する。これにより、レジスタ格納制御部500は、画像処理部132によって実行される、再構成番号Nに対応する画像処理用にレジスタ部133に対して設定されたレジスタ値を、SRAM134に格納する。
In S <b> 201, the
その後、S202で、CPU101は、レジスタ格納制御部500から、SRAM134へのレジスタ値の格納が完了したことを示す通知(格納完了通知)を受信するまで待機する。この格納完了通知によって、CPU101は、次の再構成(再構成番号N+1)の開始が可能であることを知らされる。CPU101は、レジスタ格納制御部500からの格納完了通知を受信すると(S202で「YES」)、処理をS111に進め、再構成番号Nをインクリメントする(NからN+1に1増加させる)とともに、処理をS104に戻す。これにより、CPU101は、動的再構成部131についての次の再構成番号N+1に対応する再構成に関する制御を開始する。
Thereafter, in S202, the
(レジスタ格納制御部500の処理)
レジスタ格納制御部500は、CPU101から格納開始指示を受信すると、図6(B)に示す手順に従って処理を実行する。まず、S241で、レジスタ格納制御部500は、CPU101から格納開始指示を受信するまで待機する。レジスタ格納制御部500は、格納開始指示を受信すると(S241で「YES」)、処理をS242に進める。
(Processing of the register storage control unit 500)
When receiving a storage start instruction from the
S242で、レジスタ格納制御部500は、再構成番号Nに対応する画像処理用のレジスタ値をレジスタ部133から読み出して、SRAM134に格納する。更に、レジスタ格納制御部500は、SRAM134へのレジスタ値の格納が完了すると(S243で「YES」)、S244で、システムバス120を介して格納完了通知をCPU101に送信し、処理をS241に戻す。その後、レジスタ格納制御部500は、再びレジスタ値の格納開始指示をCPU101から受信するまでS241で待機状態となる。
In S <b> 242, the register
以上説明したように、本実施形態では、レジスタ格納制御部500は、CPU101からの通知を受信すると、レジスタ部133に保持されているレジスタ値をSRAM134に自動的に保存する。これにより、ジョブの実行中に、CPU101の負荷を軽減しつつ、次に実行すべき画像処理に対応する回路に動的再構成部131を再構成する前にレジスタ部133が保持するレジスタ値(回路情報)を自動的に保存することが可能である。
As described above, in this embodiment, the register
<変形例>
上述の第2の実施形態の変形例として、以下のように、画像処理部132でエラーが発生した場合の処理を追加することも可能である。
図7は、本変形例に係る画像処理装置100が動的再構成部131を用いてジョブを実行する際の、動的再構成部131の再構成制御の手順を示すフローチャートである。なお、図7のフローチャートに示す各処理は、CPU101がROM104等に予め格納された制御プログラムをRAM111に読み出して実行することによって実現される。また、コンフィグコントローラ130によって実行される処理は、第1の実施形態(図4(B))と同様である。
<Modification>
As a modification of the above-described second embodiment, processing when an error occurs in the
FIG. 7 is a flowchart illustrating a procedure of reconfiguration control of the
図7に示すように、本変形例は、S108においてCPU101が画像処理部132から画像処理完了通知を受信していない場合に(S108で「NO」)、S109に処理を進める点で、図6と異なっている。この場合、CPU101は、S109で、画像処理エラーの発生が発生したことを示す通知を画像処理部132から受信したか否かを判定する。CPU101は、画像処理部132から当該通知を受信した場合(S109で「YES」)、ジョブの実行を終了し、当該通知を受信していない場合(S109で「NO」)、処理をS108に戻し、ジョブの実行を継続する。
As shown in FIG. 7, the present modification is different from FIG. 6 in that if the
(画像処理部132の処理)
本変形例では、画像処理部132は、CPU101から画像処理の開始指示を受信すると(S107)、図8(A)に示す手順に従って画像処理を実行する。本変形例は、S133において画像処理部132がCPU101からの指示に従った画像処理を完了していない場合に(S133で「NO」)、S231に処理を進める点で、図4(C)と異なっている。この場合、S231で、画像処理部132は、画像処理の実行中にエラーが発生したか否かを判定する。画像処理部132は、エラーが発生していない場合には(S231で「NO」)、処理をS133に戻し、エラーが発生した場合には(S231で「YES」)、処理をS232に進める。S232で、画像処理部132は、画像処理エラーが発生したことを示す通知(画像処理エラー通知)を、システムバス120を介して、CPU101及びレジスタ格納制御部500に対して送信し、処理を終了する
(Processing of the image processing unit 132)
In the present modification, when the
(レジスタ格納制御部500の処理)
本変形例では、レジスタ格納制御部500は、図8(B)に示す手順に従って処理を実行する。本変形例は、レジスタ格納制御部500が、CPU101からレジスタ値の格納開始指示を受信していない場合に(S241で「NO」)、処理をS245に進める点で、図6(B)と異なっている。この場合、レジスタ格納制御部500は、画像処理エラーの発生が発生したことを示す通知を画像処理部132から受信したか否かを判定する。レジスタ格納制御部500は、画像処理部132から当該通知を受信していない場合には(S245で「NO」)、処理をS241に戻し、当該通知を受信した場合には(S245で「YES」)、処理をS242に進める。
(Processing of the register storage control unit 500)
In the present modification, the register
画像処理部132でエラーが発生した場合、S242で、レジスタ格納制御部500は、エラー発生時点においてレジスタ部133に保持されているレジスタ値をレジスタ部133から読み出して、SRAM134に格納する。更に、レジスタ格納制御部500は、SRAM134へのレジスタ値の格納が完了すると(S243で「YES」)、S244で、システムバス120を介して格納完了通知をCPU101に送信し、処理をS241に戻す。その後、レジスタ格納制御部500は、再びレジスタ値の格納開始指示をCPU101から受信するまでS241で待機状態となる。
When an error occurs in the
以上説明したように、本変形例では、画像処理部132でエラーが発生すると、レジスタ格納制御部500は、画像処理部132からの通知に応じて自動的に、レジスタ部133に保持されているレジスタ値(回路情報)をSRAM134に保存する。これにより、画像処理部132においてエラーが発生していない通常の動作時だけでなく、エラーの発生時にも、CPU101の負荷を軽減しつつ、レジスタ部133が保持する回路情報を自動的に保存することが可能である。
As described above, in this modification, when an error occurs in the
なお、本実施形態及び本変形例では、レジスタ格納制御部500は、動的再構成部131の内部に構成されてもよい。その場合、実行されるジョブ及び画像処理の内容に応じて様々な回路構成をとりうる画像処理部132及びレジスタ部133に適した構成で、レジスタ格納制御部500を実現することが可能となる。
In the present embodiment and this modification, the register
[第3の実施形態]
第1及び第2の実施形態では、レジスタ部133に保持されたレジスタ値(回路情報)をSRAM134に格納することで、動的再構成部131の再構成に伴って回路情報が消えることを防いでいる。第3の実施形態では、各ジョブで必要となる一連の画像処理機能を実現するための論理回路を動的再構成部131に順に時分割で再構成する際に、画像処理部132を部分的に再構成し、レジスタ部133で回路情報を継続的に保持する例について説明する。なお、説明の簡略化のため、第1の実施形態と同様の構成及び制御については説明を省略する。
[Third Embodiment]
In the first and second embodiments, the register value (circuit information) held in the
<動的再構成部の再構成例>
図9は、画像処理装置100がコピージョブを実行する場合の、動的再構成部131の再構成手順の例を示す図である。第1及び第2の実施形態(図3)との相違点は、動的再構成部131の画像処理部132のみをコンフィグデータによる再構成の対象とし、レジスタ部133を再構成しない点である。
<Example of dynamic reconfiguration unit reconfiguration>
FIG. 9 is a diagram illustrating an example of a reconfiguration procedure of the
本実施形態の画像処理装置100は、ジョブの実行を開始すると、ジョブの種類に応じて定まる順序で、ROM104から必要なコンフィグデータを読み出して、動的再構成部131の画像処理部132のみを順次再構成する。レジスタ部133は、画像処理装置100が実行可能なあらゆるジョブで実行される一連の画像処理に用いられるレジスタ値の全てを格納可能な記憶容量を有するように、動的再構成部131に予め構成されている。
When the execution of a job is started, the
本実施形態では、操作部103を介してコピージョブの実行が指示されると、画像処理装置100は、図2(B)に示すように、まず再構成番号を「1」に設定し、コンフィグデータ1を用いて動的再構成部131の画像処理部132を再構成する。これにより、画像処理部132には、画像処理Aを実行する画像処理部Aが構成される。更に、レジスタ部133には、画像処理A用のレジスタ値が格納される。これにより、レジスタ部133は、レジスタ部Aとして機能する。
In this embodiment, when the execution of a copy job is instructed via the
画像処理Aの実行が完了すると、画像処理装置100は、次に再構成番号を「2」に設定し、コンフィグデータ2を用いて動的再構成部131の画像処理部132を再構成する。これにより、画像処理部132には、画像処理Bを実行する画像処理部Bが構成される。更に、レジスタ部133には、画像処理A用のレジスタ値が保持されたまま、画像処理B用のレジスタ値が新たに格納される。これにより、レジスタ部133は、レジスタ部A,Bとして機能する。
When the execution of the image processing A is completed, the
画像処理Bの実行が完了すると、画像処理装置100は、次に再構成番号を「3」に設定し、コンフィグデータ2を用いて動的再構成部131の画像処理部132を再構成する。これにより、画像処理部132には、画像処理Cを実行する画像処理部Cが構成される。更に、レジスタ部133には、画像処理A,B用のレジスタ値が保持されたまま、画像処理C用のレジスタ値が新たに格納される。これにより、レジスタ部133は、レジスタ部A,B,Cとして機能する。
When the execution of the image processing B is completed, the
画像処理Cの実行が完了すると、画像処理装置100は、次に再構成番号を「4」に設定し、コンフィグデータ2を用いて動的再構成部131の画像処理部132を再構成する。これにより、画像処理部132には、画像処理Dを実行する画像処理部Dが構成される。更に、レジスタ部133には、画像処理A,B,C用のレジスタ値が保持されたまま、画像処理D用のレジスタ値が新たに格納される。これにより、レジスタ部133は、レジスタ部A,B,C,Dとして機能する。
When the execution of the image processing C is completed, the
このように、本実施形態の画像処理装置100では、各ジョブで必要となる一連の画像処理機能を実現するためのレジスタ値(回路情報)をレジスタ部133に保持した状態で、動的再構成部131に順に時分割で再構成する。これにより、次の画像処理の実行のための動的再構成部131の再構成に伴って、レジスタ部133に保持された回路情報が消えてしまうことを防ぎつつ、とで、各ジョブ用の画像処理機能を実現できる。
As described above, in the
<動的再構成部の再構成制御>
図10は、本実施形態に係る画像処理装置100が動的再構成部131を用いてジョブを実行する際の、動的再構成部131の再構成制御の手順を示すフローチャートである。なお、図10のフローチャートに示す各処理は、CPU101がROM104等に予め格納された制御プログラムをRAM111に読み出して実行することによって実現される。コンフィグコントローラ130及び画像処理部132によって実行される処理は、第1の実施形態(図4(B)及び(C))と同様である。
<Reconfiguration control of dynamic reconfiguration unit>
FIG. 10 is a flowchart illustrating a procedure of reconfiguration control of the
まず、S101〜S103は、第1の実施形態と同様である。S103の後、S301で、CPU101は、動的再構成部131についての再構成番号Nに対応する再構成を実行すべきことを示す再構成指示を、システムバス120を介して、コンフィグコントローラ130に対して送信する。その際、CPU101は、再構成番号Nに対応する再構成に関する情報として、図2(B)に示す再構成番号Nに対応するコンフィグデータに関する情報を再構成指示に含めるとともに、画像処理部132のみを再構成対象の領域として指定する。
First, S101 to S103 are the same as those in the first embodiment. After S103, in S301, the
これにより、コンフィグコントローラ130は、S122で、CPU101からの再構成指示に従って、ROM104からコンフィグデータを読み出して、再構成対象の領域として指定された画像処理部132のみの回路を再構成する。一方、コンフィグコントローラ130は、再構成対象の領域として指定されていないレジスタ部133の回路の再構成は行わない。その後S105で、CPU101は、コンフィグコントローラ130から再構成完了通知を受信するまで待機し、再構成完了通知を受信するとS106に処理を進める。S106で、CPU101は、システムバス120を介して、レジスタ部133に対して、再構成番号Nに対応する画像処理の実行に必要なレジスタ値を新たに設定し、処理をS107に進める。
Thereby, in S122, the
S107〜S109は、第1の実施形態と同様である。本実施形態では、CPU101は、動的再構成部131についての次の再構成(再構成番号N+1)を実行する場合(S109で「YES」)、処理をS302に進める。S302で、CPU101は、第1の実施形態のように、再構成番号Nに対応する画像処理用のレジスタ値をSRAM134へ転送して格納するのではなく、レジスタ部133のレジスタ値をそのままレジスタ部133に保持させる。これは、本実施形態ではS104における再構成指示によって画像処理部132のみの再構成が行われ、レジスタ部133の再構成が行われることがなく、レジスタ部133の再構成によってレジスタ値が消えることがないためである。このように、CPU101は、再構成番号Nに対応する画像処理用のレジスタ値がレジスタ部133に保持されたまま、次に実行されるべき画像処理を実行可能な回路構成に画像処理部132が再構成されるよう、コンフィグコントローラ130を制御する。
S107 to S109 are the same as those in the first embodiment. In the present embodiment, when the
その後S111で、CPU101は、第1の実施形態と同様、再構成番号Nをインクリメントする(NからN+1に1増加させる)とともに、処理をS104に戻す。これにより、CPU101は、動的再構成部131についての次の再構成番号N+1に対応する再構成に関する制御を開始する。
After that, in S111, the
以上説明したように、本実施形態では、ジョブの実行中に、動的再構成部131内のレジスタ部133の再構成を行わず、画像処理部132のみを部分的に再構成する。これにより、ジョブの実行中に動的再構成部131についての次の再構成が行われる前に、レジスタ部133でレジスタ値(回路情報)を継続的に保持する。その結果、第1及び第2の実施形態と同様、動的再構成部131の再構成に伴って回路情報が消えることを防ぐことが可能である。また、動的再構成部131の再構成の実行後において、レジスタ部133に保持されている回路情報を、画像処理装置100でエラーが発生した場合のエラーの解析、及びエラーのデバッグ等に使用することが可能になる。
As described above, in this embodiment, only the
<変形例>
上述の第2の実施形態の変形例として、以下のように、画像処理部132でエラーが発生した場合の処理を追加することも可能である。
図11は、本変形例に係る画像処理装置100が動的再構成部131を用いてジョブを実行する際の、動的再構成部131の再構成制御の手順を示すフローチャートである。なお、図11のフローチャートに示す各処理は、CPU101がROM104等に予め格納された制御プログラムをRAM111に読み出して実行することによって実現される。コンフィグコントローラ130及び画像処理部132によって実行される処理は、第1の実施形態(図4(B)及び(C))と同様である。
<Modification>
As a modification of the above-described second embodiment, processing when an error occurs in the
FIG. 11 is a flowchart illustrating a procedure of reconfiguration control of the
まず、S101〜S103は、第1の実施形態と同様である。S103の処理が完了すると、次にS311で、CPU101は、動的再構成部131のレジスタ部133を、指定されたジョブの内容に応じて再構成すべきことを示す再構成指示を、システムバス120を介して、コンフィグコントローラ130へ送信する。具体的には、CPU101は、コンフィグコントローラ130に、実行中のジョブで必要となる全ての画像処理用のレジスタ値を格納可能な記憶容量を有するようにレジスタ部133を再構成させる。例えば、コピージョブの場合、レジスタ部133は、画像処理A,B,C,D用のレジスタ値を格納可能な記憶容量を有する回路に再構成される。
First, S101 to S103 are the same as those in the first embodiment. When the processing of S103 is completed, in S311, the
その後、CPU101は、レジスタ部133についての再構成完了通知をコンフィグコントローラ130から受信すると、処理をS301に進める。S301以降の処理は、上述の図10に示す実施形態と同様である。
Thereafter, when the
上述のように、図10に示す実施形態では、ジョブの実行開始後にレジスタ部133の再構成は行われない。このため、レジスタ部133は、画像処理装置100が実行可能な各ジョブで必要となる全ての画像処理のためのレジスタ値を同時に格納可能な記憶容量を有するように、予め構成されている必要がある。例えば、図2(A)に示すように、画像処理A〜Xに対応するコンフィグデータがROM104に格納されている場合、画像処理A〜Xに用いられるレジスタ値を格納可能な記憶容量を有するレジスタ部133を用意する必要がある。
As described above, in the embodiment illustrated in FIG. 10, the
これに対し、図11に示す変形例では、CPU101は、ジョブを実行するごとに、当該ジョブで必要となる全ての画像処理のためのレジスタ値を同時に格納可能な記憶容量を有するよう、コンフィグコントローラ130にレジスタ部133を再構成させる。例えば図2(B)に示すように、コピージョブの場合は画像処理A〜D、プリントジョブの場合は画像処理C〜Eに用いられるレジスタ値を格納可能な記憶容量を有するようにレジスタ部133が再構成される。したがって、本変形例では、図10に示す実施形態よりも、画像処理装置100でエラーが発生した場合のエラーの解析、及びエラーのデバッグ等のためにレジスタ値(回路情報)を保持するレジスタ部133の記憶容量を、必要最小限に抑えることが可能である。
On the other hand, in the modification shown in FIG. 11, every time the job is executed, the
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(または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.
100:画像処理装置、131:動的再構成部、132:画像処理部、133:レジスタ部、134:SRAM、101:CPU、104:ROM、111:RAM、140:FPGA 100: Image processing device, 131: Dynamic reconfiguration unit, 132: Image processing unit, 133: Register unit, 134: SRAM, 101: CPU, 104: ROM, 111: RAM, 140: FPGA
Claims (13)
前記再構成可能回路を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成手段と、
前記再構成手段によって、前記再構成可能回路が、第1の画像処理を実行可能な回路構成に再構成された後、次に実行されるべき第2の画像処理を実行可能な回路構成に再構成される前に、前記レジスタ部に保持されている前記回路情報を、前記再構成可能回路の外部に設けられた記憶手段に格納するよう制御する制御手段と
を備えることを特徴とする画像処理装置。 A reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, which holds an image processing unit that performs image processing, and circuit information for the image processing that indicates an operation state of the image processing unit The reconfigurable circuit configured with a register unit to
Reconfiguring means for reconfiguring the reconfigurable circuit into a circuit configuration capable of executing image processing required for a job;
After the reconfigurable circuit is reconfigured to a circuit configuration capable of executing the first image processing, the reconfigurable circuit is reconfigured to a circuit configuration capable of executing the second image processing to be executed next. Control means for controlling to store the circuit information held in the register unit in a storage means provided outside the reconfigurable circuit before being configured. apparatus.
ことを特徴とする請求項1に記載の画像処理装置。 The control means controls the reconfiguration means so that a plurality of circuit configurations corresponding to a plurality of image processes including the first and second image processes are reconfigured in the reconfigurable circuit in a time division manner. The image processing apparatus according to claim 1, wherein the job that requires the plurality of image processing is executed.
ことを特徴とする請求項1または2に記載の画像処理装置。 The control means determines that the reconfigurable circuit should be reconfigured to a circuit configuration corresponding to the second image processing after the execution of the first image processing using the reconfigurable circuit. The image processing apparatus according to claim 1, wherein the circuit information stored in the register unit is stored in the storage unit before instructing the configuration unit.
ことを特徴とする請求項3に記載の画像処理装置。 If no error has occurred in the image processing unit during the execution of the first image processing using the reconfigurable circuit, the control means stores the circuit information held in the register unit. 4. The reconfiguration unit is instructed to reconfigure the reconfigurable circuit in a circuit configuration corresponding to the second image processing without storing in the storage unit. 5. Image processing apparatus.
前記制御手段は、前記再構成可能回路を用いた前記第1の画像処理の実行後、前記第2の画像処理に対応する回路構成に、前記再構成可能回路を再構成すべきことを前記再構成手段に指示する前に、前記格納制御手段に対して、前記レジスタ部に保持されている前記回路情報を前記記憶手段に格納すべきことを指示する
ことを特徴とする請求項1または2に記載の画像処理装置。 A storage control unit for storing the circuit information held in the register unit in the storage unit;
The control means determines that the reconfigurable circuit should be reconfigured to a circuit configuration corresponding to the second image processing after the execution of the first image processing using the reconfigurable circuit. 3. The storage control unit is instructed to store the circuit information held in the register unit in the storage unit before instructing the configuration unit. The image processing apparatus described.
ことを特徴とする請求項5に記載の画像処理装置。 6. The storage control unit according to claim 5, further comprising: automatically storing the circuit information held in the register unit in the storage unit when an error occurs in the image processing unit. Image processing device.
前記画像処理部を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成手段と、
第1の画像処理を実行可能な回路構成に前記画像処理部が再構成された後、前記第1の画像処理のための前記回路情報が前記レジスタ部に保持されたまま、次に実行されるべき第2の画像処理を実行可能な回路構成に前記画像処理部が再構成されるよう、前記再構成手段を制御する制御手段と
を備えることを特徴とする画像処理装置。 A reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, which holds an image processing unit that performs image processing, and circuit information for the image processing that indicates an operation state of the image processing unit The reconfigurable circuit configured with a register unit to
Reconfiguring means for reconfiguring the image processing unit into a circuit configuration capable of executing image processing required for a job;
After the image processing unit is reconfigured in a circuit configuration capable of executing the first image processing, the circuit information for the first image processing is executed next while being held in the register unit. An image processing apparatus comprising: a control unit that controls the reconfiguration unit so that the image processing unit is reconfigured to have a circuit configuration capable of executing the second power image processing.
ことを特徴とする請求項7から9のいずれか1項に記載の画像処理装置。 The control unit is configured to store the circuit information for the second image processing in the register after the image processing unit is reconfigured to a circuit configuration capable of executing the second image processing by the reconfiguration unit. The image processing apparatus according to claim 7, wherein the image processing apparatus is set in a section.
前記再構成可能回路を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成工程と、
前記再構成工程で、前記再構成可能回路が、第1の画像処理を実行可能な回路構成に再構成された後、次に実行されるべき第2の画像処理を実行可能な回路構成に再構成される前に、前記レジスタ部に保持されている回路情報を、前記再構成可能回路の外部に設けられた記憶手段に格納するよう制御する制御工程と
を含むことを特徴とする画像処理装置の制御方法。 A reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, which holds an image processing unit that performs image processing, and circuit information for the image processing that indicates an operation state of the image processing unit And a register unit configured to control an image processing apparatus including the reconfigurable circuit,
A reconfiguration step of reconfiguring the reconfigurable circuit into a circuit configuration capable of performing image processing required for a job;
In the reconfiguration step, the reconfigurable circuit is reconfigured to a circuit configuration capable of executing the first image processing, and then reconfigured to a circuit configuration capable of executing the second image processing to be executed next. An image processing apparatus comprising: a control step of controlling the circuit information held in the register unit to be stored in a storage unit provided outside the reconfigurable circuit before being configured. Control method.
前記画像処理部を、ジョブで必要となる画像処理を実行可能な回路構成に再構成する再構成工程と、
第1の画像処理を実行可能な回路構成に前記画像処理部が再構成された後、前記第1の画像処理のための前記回路情報が前記レジスタ部に保持されたまま、次に実行されるべき第2の画像処理を実行可能な回路構成に前記画像処理部が再構成されるよう制御する制御工程と
を含むことを特徴とする画像処理装置の制御方法。 A reconfigurable circuit capable of dynamically reconfiguring a part of a circuit configuration, which holds an image processing unit that performs image processing, and circuit information for the image processing that indicates an operation state of the image processing unit And a register unit configured to control an image processing apparatus including the reconfigurable circuit,
A reconfiguration step of reconfiguring the image processing unit into a circuit configuration capable of executing image processing required for a job;
After the image processing unit is reconfigured in a circuit configuration capable of executing the first image processing, the circuit information for the first image processing is executed next while being held in the register unit. And a control step of controlling the image processing unit to be reconfigured in a circuit configuration capable of executing power second image processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014076462A JP2015197863A (en) | 2014-04-02 | 2014-04-02 | Image processor and control method thereof, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014076462A JP2015197863A (en) | 2014-04-02 | 2014-04-02 | Image processor and control method thereof, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015197863A true JP2015197863A (en) | 2015-11-09 |
Family
ID=54547483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014076462A Pending JP2015197863A (en) | 2014-04-02 | 2014-04-02 | Image processor and control method thereof, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015197863A (en) |
-
2014
- 2014-04-02 JP JP2014076462A patent/JP2015197863A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9407784B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
JP5943736B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP6598432B2 (en) | Image processing apparatus, control method thereof, and program | |
US10122883B2 (en) | Image processing apparatus including circuit configuration and method of controlling the same | |
US20160036998A1 (en) | Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method | |
US20150244898A1 (en) | Image processing apparatus, method for controlling the same, and storage medium | |
JP6370063B2 (en) | Image processing apparatus, control method therefor, and program | |
US9560164B2 (en) | Image processing apparatus, method of controlling the same, non-transitory computer readable storage medium, and data processing apparatus | |
US9332151B2 (en) | Image processing apparatus, method of controlling the same and storage medium | |
US10037591B2 (en) | Information processing apparatus and method of controlling the same | |
JP2016076867A (en) | Information processor, control method for information processor, and program | |
JP5979176B2 (en) | Image processing apparatus and image forming apparatus | |
JP2015197863A (en) | Image processor and control method thereof, and program | |
US20160050332A1 (en) | Image processing apparatus for controlling dynamic reconfigurable apparatus, information processing method for image processing apparatus, and storage medium for storing program to achieve information processing method | |
JP2015198405A (en) | Image processing apparatus and control method thereof, and program | |
JP6864721B2 (en) | Information processing device and its control method | |
JP2015139009A (en) | Image processing device, control method therefor and program | |
JP5904148B2 (en) | Reconfigurable circuit, image forming apparatus, and program | |
JP2017118450A (en) | Data processing apparatus, method of controlling the same, and program | |
JP2015191335A (en) | Image processing apparatus, control method thereof, and program | |
JP2015106751A (en) | Image processing apparatus, and control method and program of the same | |
JP6417704B2 (en) | Information processing apparatus, image processing apparatus, and program | |
JP2016136359A (en) | Image processing apparatus, control method thereof, and program | |
JP2006261773A (en) | Image forming apparatus and network system |