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 PDFInfo
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
Abstract
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,
上述の大容量の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.
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 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
画像処理装置100は、画像処理装置100を使用するユーザが各種の操作を行うための操作部103と、原稿の画像情報を読み取るスキャナ部109と、画像データに基づいて用紙に画像を印刷するプリンタ部107とを有する。スキャナ部109は、スキャナ部109を制御するCPU(不図示)や原稿の読取を行うための照明ランプや走査ミラー(いずれも不図示)などを有する。プリンタ部106は、プリンタ部106の制御を行うCPU(不図示)や、画像の形成(印刷)や定着を行うための感光体ドラムや定着器(いずれも不図示)等を有する。
The
また画像処理装置100は、画像処理装置100の制御を行うコントローラとして、動的再構成部を備えるFPGA140を有する。この例では、FPGA140が画像処理装置100の動作を統括的に制御するCPU101を備える。このCPU101が、FPGA140や再構成を制御するコンフィグコントローラ130等を制御するためのプログラムを実行する。尚、FPGA140がCPU101を備えていることはあくまで一例にすぎず、FPGA140の外部にCPUを設けてもよい。
The
ROM104は、CPU101が実行するプログラムを記憶し、また、FPGA140の回路構成情報を格納する構成情報記憶部としても機能している。RAM111は、CPU101が動作するためのシステムワークメモリ、また画像データを一時記憶するための画像メモリとしても使用される。更にRAM111は、ROM104に格納された回路構成情報を複製し格納しており、CPU101は、このRAM111から回路構成情報を高速に読み出すことができる。
The
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
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
図2は、実施形態1に係る画像処理装置100で実行されるジョブと、各ジョブで必要な画像処理機能との対応を示す図である。
FIG. 2 is a diagram illustrating a correspondence between a job executed by the
画像処理装置100は、コピージョブ、プリントジョブ及びSENDジョブを実行可能である。コピージョブは、スキャナ部109で原稿を読み取って複写する。プリントジョブは、PC等のプリンタドライバから送付された印刷データに基づいてプリンタ部107により印刷を行う。SENDジョブは、スキャナ部109で得られた原稿の画像データを外部のファイルサーバ或いはメールアドレス宛に送信する。
The
処理順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
またプリントジョブでは、処理順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 /
尚、この画像処理装置100が実行できるジョブは図2に示すジョブに限定されるわけではない。また、画像処理の単位に関しても、図2に限定されるわけではなく、各ジョブに含まれている処理を、更に、より細かい処理に分割することも可能である。また、各画像処理は、例えばスキャン画像処理を例にとると、コピージョブとSENDジョブで同一の処理を行うとは限らず、それぞれのジョブに応じて適切な処理が行われるように構成されても良い。
The jobs that can be executed by the
図3は、実施形態1に係る画像処理装置100が画像処理部132或いは画像処理部133を使用して、例えば、図2に示すジョブを実行する際の処理を説明するフローチャートである。尚、このフローチャートで示す各処理は、CPU101がROM104に記憶されているプログラムを実行することにより達成される。
FIG. 3 is a flowchart illustrating processing when the
S301でCPU101は、操作部103或いはネットワークI/F102を介してジョブの開始命令を受信するとS302に進み、CPU101は、その入力されたジョブの種類を判定して、そのジョブを特定する。次にS303に進みCPU101は、コピージョブやSENDジョブ等のように、スキャナ部109による原稿の読み取り処理が必要なジョブかどうかを判定する。スキャナ部109による原稿の読み取り処理が必要であればS304に進み、CPU101は、スキャナ部109に対して原稿の読み込み開始の指示を出力する。これにより、スキャナI/F108を介して、ページ単位で原稿の画像データのRAM111への書き込みが開始される。そしてS305に進む。
In step S301, when the
一方、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
次にS307に進みCPU101は、スキャナI/F108或いはプリンタI/F106が、1ページ分のリアルタイム処理(実時間処理)を完了しているかどうかを判定し、リアルタイム処理が完了するまで待機し、完了するとS308に進む。このリアルタイム処理とは、例えば、複写機などで、スキャナ部109或いはプリンタ部107の紙搬送に合わせて、所定の時間内で原稿の読み取りや印刷を完了しなければならないような処理のことである。言い換えれば、予め決められた時間内で処理を完了しないと後続の処理が破たんし、結果的にジョブが実行できなくなるような処理のことである。
In step S307, the
S308でCPU101は、画像処理部132或いは画像処理部133に構成された画像処理回路に対し、処理開始の指示を出力してS309に進む。S309でCPU101は、画像処理部132或いは画像処理部133で画像処理が完了するまで待機し、画像処理が完了するとS310に進む。S310でCPU101は、現在実行しているジョブで、画像処理部132或いは画像処理部133で処理すべき画像処理が全て完了しているか否かを判定する。
In step S308, the
ここでは、例えば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
このような処理により、受信したジョブを実行するために、動的部分再構成部131に動的に構成した画像処理部132或いは133により、そのジョブに必要な処理を実行させることができる。ここでは、あるジョブを実行するのに必要な処理を実行できる処理回路を動的に構成するので、少ない回路で、より多くの処理を実行させることができる。
Through such processing, in order to execute the received job, the
図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
一方、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
このような制御により、エラーが発生したときは、ROM104に格納された元々の回路構成情報をRAM111へ複製し直す前に、ROM104から回路構成情報を読み出して再構成を完了させることができる。尚、回路構成情報が壊れていた場合には、再構成が完了した後、もしくはジョブ終了後等の処理の合間に、再びROM104に格納されている本来の回路構成情報をRAM111にコピーし直す処理が必要となる。また、ROM104に格納されている元々の回路構成情報が破損していた場合にはシステムエラーを返し、操作部103に表示する等により、ユーザに対処を促すなどの処理を実行する。
By such control, when an error occurs, the circuit configuration information can be read from the
このような処理により、RAM111へのアクセスが多いと予想される場合には、ROM104に記憶している回路構成情報を使用して、処理に必要な回路を動的部分再構成部131に構築する。これにより、動的部分再構成部131への処理回路の構築によりRAM111へのアクセスが待たされて、通常のリアルタイム処理の遅延が発生する等の不具合の発生を防止できる。またリアルタイム処理が実行されていなくて、RAM111へのアクセスが少ないと予想される場合には、回路構成情報をRAM111から動的部分再構成部131へ転送するので、画像処理部132或いは画像処理部133の再構成を迅速に実行できる。
When it is expected that the
図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
図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
図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
図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
図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
画像処理部132は、期間T1で処理を実行していない。ジョブの種類によって、次に何の処理が必要となるかは図2に示したように事前に分かっているため、期間T1で、画像処理部132の再構成を完了させておくことで期間T2の処理の開始を早めることができる。しかしながら、期間T1では、リアルタイム処理によってRAM111が使用されているため、RAM111から回路構成情報を読み出すことができない。その結果、各期間の最初には必ず、再構成によるダウンタイムが発生してしまうことになる。
The
図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
図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
また期間T5でも同様に、次に必要なスキャン画像処理とプリント画像処理のために画像処理部132と画像処理部133とを再構成する。但し、この期間T5では、リアルタイム処理であるスキャナ部109からの画像データの入力処理が実行されているため、ROM104から回路構成情報を読み出して、これら画像処理部132と画像処理部133とを再構成する。これにより期間T6で、直ちに、画像処理部132はスキャン画像データに対する画像処理を開始でき、画像処理部133がプリント画像処理を開始できる。
Similarly, in the period T5, the
以上説明したように本実施形態1によれば、動的部分再構成部131を有する画像処理装置において、リアルタイム処理を阻害することなく再構成を行うことができ、かつ処理時間を削減することができる。また、RAM111へ複製して格納した回路構成情報が破損していた場合、再びROM104からRAM111へ複製し直す間の処理のダウンタイムを少なくできる。
As described above, according to the first embodiment, the image processing apparatus having the dynamic
[実施形態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
そこで実施形態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
図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
実施形態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
そのため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
尚、本実施形態2では、画像処理装置100で1つのジョブのみが実行されている例で説明したが、他のジョブが空いている画像処理部を用いて競合して実行されることも考えられる。その場合は、S710においてリアルタイム処理の有無を判断し、競合ジョブのリアルタイム処理が実行中の場合は、回路構成情報の複製処理をスキップするといった処理が当然必要になる。また、RAM111へ回路構成情報を複製する処理を行うタイミングは、図7に示す例に限定されるものではなく、その他の処理の合間に行うことでも、同様のことが実現できる。
In the second embodiment, the example in which only one job is executed in the
図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
一方、CPU101がS801で複製済みフラグがオフであると判定するとS803へ移行して、CPU101は、ROM104から回路構成情報を読み出すように制御する。尚、図8のS802〜S806の処理は、図4のS401〜S405と同様であるため、その説明を省略する。
On the other hand, if the
以上説明したように実施形態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.
前記複製手段は、前記複数の処理のそれぞれに対応する回路構成情報の単位で前記回路構成情報を前記記憶手段に記憶することを特徴とする請求項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.
前記記憶手段を使用した実時間処理が実行中でないときは前記記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成し、
前記記憶手段を使用した実時間処理が実行中のときは前記構成情報記憶手段に記憶されている前記回路構成情報を使用して前記動的再構成部を再構成することにより、実行するジョブに応じて前記動的再構成部の回路の少なくとも一部を、前記回路構成情報を用いて当該ジョブで必要な処理を実行可能な回路に再構成することを特徴とする画像処理装置の制御方法。 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.
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) |
-
2013
- 2013-11-28 JP JP2013246677A patent/JP2015106751A/en active Pending
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 |