JP2008181361A - Data processing device, image processing apparatus and data processing program - Google Patents
Data processing device, image processing apparatus and data processing program Download PDFInfo
- Publication number
- JP2008181361A JP2008181361A JP2007014584A JP2007014584A JP2008181361A JP 2008181361 A JP2008181361 A JP 2008181361A JP 2007014584 A JP2007014584 A JP 2007014584A JP 2007014584 A JP2007014584 A JP 2007014584A JP 2008181361 A JP2008181361 A JP 2008181361A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- data
- processing
- unit
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Advance Control (AREA)
- Image Processing (AREA)
- Microcomputers (AREA)
Abstract
Description
本発明は、データ処理装置、画像処理装置、またはデータ処理プログラムに関する。 The present invention relates to a data processing device, an image processing device, or a data processing program.
論理的に再構成することが可能な回路を用いて、演算処理を行う技術が知られている。 A technique for performing arithmetic processing using a circuit that can be logically reconfigured is known.
下記特許文献1には、再構成に比較的時間がかかる再構成回路において、複数の処理を高速に切り換える技術が開示されている。具体的には、全ての処理に共通する回路と、いずれの処理とも共通しない回路とをあらかじめ構成しておき、実施したい処理に応じて、残る必要な回路を再構成している。
下記特許文献2には、画像の圧縮処理と伸張処理のように、いずれを実施するかが事前に明らかな画像処理を、動的再構成回路上に再構成する技術が開示されている。この技術では、再構成可能な回路を全面的に入れ替えて、圧縮回路あるいは伸張回路を形成し、処理対象の画像データに圧縮処理あるいは伸張処理を施している。 Patent Document 2 below discloses a technique for reconfiguring, on a dynamic reconfiguration circuit, image processing in which which is to be performed is clear in advance, such as image compression processing and decompression processing. In this technique, a reconfigurable circuit is completely replaced to form a compression circuit or expansion circuit, and compression processing or expansion processing is performed on image data to be processed.
ところで、論理的に再構成することが可能な回路を構成する基本要素には、一般的に演算器が用いられている。規模の大きい演算処理を行う場合には、この演算器の論理的な再構成を繰り返すことになるため、処理負荷が増大する。 By the way, an arithmetic unit is generally used as a basic element constituting a circuit that can be logically reconfigured. When performing a large-scale arithmetic process, the logical reconfiguration of the arithmetic unit is repeated, which increases the processing load.
本発明は、再構成前で保持されたデータを再構成後に活用してデータ処理量の増大を抑制あるいは防止することにより、再構成可能な演算回路におけるデータ処理を高速化するデータ処理装置、画像処理装置、またはデータ処理プログラムを提供することを目的とする。 The present invention relates to a data processing device that speeds up data processing in a reconfigurable arithmetic circuit by utilizing data held before reconfiguration after reconfiguration to suppress or prevent an increase in data processing amount, image It is an object to provide a processing device or a data processing program.
本発明のデータ処理装置の一態様においては、論理的な再構成が可能であり、かつ、保持されたデータを再構成の前後で保全可能である演算回路に配置され、保持されたデータの参照及び更新を行いながら連関する複数のデータ処理を実施するデータ処理部と、前記複数のデータ処理におけるあるデータ処理を別のデータ処理に変更するか否か判定する判定手段と、前記判定手段の判定結果に基づいて前記演算回路の再構成を行い、前記データ処理部を再配置する再配置手段と、を備え、前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更するように、かつ、変更しない少なくとも一部のデータ処理が再配置前と対応する箇所で実施されるように、前記データ処理部を再配置し、前記データ処理部は、前記再配置手段による再配置後に、前記配置前と対応する箇所に再配置前から保持されているデータを参照して、前記別のデータ処理を実施する。 In one aspect of the data processing apparatus of the present invention, a logical reconfiguration is possible, and the stored data is arranged in an arithmetic circuit that can maintain the stored data before and after the reconfiguration, and the stored data is referred to. And a data processing unit that performs a plurality of data processing associated with updating, a determination unit that determines whether or not to change a certain data process in the plurality of data processes to another data process, and a determination by the determination unit Relocation means for reconfiguring the arithmetic circuit based on the result and rearranging the data processing unit, wherein the relocation means changes the certain data processing to the other data processing. The data processing unit is rearranged so that at least a part of the data processing that is not changed is performed at a location corresponding to that before the rearrangement, and the data processing unit is After placement, with reference to the data held before relocating the portion corresponding to the previous said arrangement implementing the specific data processing.
本発明のデータ処理装置の一態様においては、前記再配置前と対応する箇所とは、前記演算回路上における再配置前と同一箇所である。 In one aspect of the data processing apparatus of the present invention, the location corresponding to the pre-relocation is the same location as the pre-relocation on the arithmetic circuit.
本発明のデータ処理装置の一態様においては、前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、前記あるデータ処理が実施されている箇所で前記別のデータ処理が実施されるように前記データ処理部を配置する。 In one aspect of the data processing apparatus of the present invention, when the relocation means changes the certain data processing to the other data processing, the different data is processed at the place where the certain data processing is performed. The data processing unit is arranged so that the processing is performed.
本発明のデータ処理装置の一態様においては、前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、再配置される前記別のデータ処理が、前記あるデータ処理により参照または更新されていたデータを更新しないように前記データ処理部を再配置し、その後に再度前記あるデータ処理へと再変更する場合には、前記あるデータ処理が以前と対応する箇所で実施されるように前記データ処理部を再配置する。 In one aspect of the data processing apparatus of the present invention, when the rearrangement unit changes the certain data processing to the other data processing, the other data processing to be rearranged is the certain data processing. When the data processing unit is rearranged so as not to update the data that has been referenced or updated by the above, and then re-changed to the certain data processing again, the certain data processing is performed at a location corresponding to the previous one. The data processing unit is rearranged as described above.
本発明のデータ処理装置の一態様においては、前記以前と対応する箇所とは、以前と同一の箇所である。 In one aspect of the data processing apparatus of the present invention, the part corresponding to the previous part is the same part as before.
本発明のデータ処理装置の一態様においては、前記あるデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、前記データ処理部は、前記あるデータ処理から出力されるデータと前記別のデータ処理から出力されるデータの並び順を調整する調整機構を備える。 In one aspect of the data processing apparatus of the present invention, the certain data processing is performed in a time-sequential manner by processing a plurality of data in a synchronized manner in a plurality of stages in which processing is sequentially transferred from upstream to downstream. The data processing unit includes an adjustment mechanism that adjusts an arrangement order of data output from the certain data processing and data output from the other data processing.
本発明のデータ処理装置の一態様においては、前記別のデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、前記別のデータ処理における前記複数段階は、前記あるデータ処理における前記複数段階よりも短く、前記別のデータ処理からは、前記あるデータ処理に比べて早くデータが出力される。 In one aspect of the data processing apparatus of the present invention, the different data processing is performed in a synchronized manner in a plurality of stages in which the processing is sequentially transferred from upstream to downstream, thereby adding a time difference to processing of the plurality of data. The plurality of stages in the other data processing is shorter than the plurality of stages in the certain data processing, and the data from the other data processing is earlier than the certain data processing. Is output.
本発明のデータ処理装置の一態様においては、データを順次入力する入力部を備え、データ処理部は、入力した各データに対して、前記連関する複数のデータ処理を実施する。 In one aspect of the data processing apparatus of the present invention, an input unit for sequentially inputting data is provided, and the data processing unit performs the plurality of associated data processing on each input data.
本発明のデータ処理装置の一態様においては、前記判定手段は、入力した各データについて、前記あるデータ処理を前記別のデータ処理に変更するか否か判定する。 In one aspect of the data processing apparatus of the present invention, the determination means determines whether to change the certain data processing to the other data processing for each input data.
本発明のデータ処理装置の一態様においては、前記データ処理部が実施する前記複数のデータ処理は、画像データに対するデータ処理である。 In one aspect of the data processing apparatus of the present invention, the plurality of data processing performed by the data processing unit is data processing on image data.
本発明のデータ処理装置の一態様においては、前記あるデータ処理と前記別のデータ処理は、参照するデータの画素範囲の広狭が異なり、前記再配置部の配置によって再配置前と対応する箇所で実施されるように設定される前記少なくとも一部のデータ処理には、前記あるデータ処理と前記別のデータ処理の両者が共通して参照可能な並び順に前記データを配列して保持する配列保持処理が含まれる。 In one aspect of the data processing apparatus of the present invention, the certain data processing and the different data processing are different in the width of the pixel range of the data to be referred to, and the location corresponding to before the rearrangement depends on the arrangement of the rearrangement unit. The at least part of the data processing set to be executed includes an array holding process in which the data is arranged and held in an arrangement order in which both the one data processing and the other data processing can be referred to in common. Is included.
本発明の画像処理装置の一態様においては、前記画像データを生成する生成手段、または、前記画像データに基づく印刷を行う印刷手段と、を備える。 One aspect of the image processing apparatus of the present invention includes a generating unit that generates the image data or a printing unit that performs printing based on the image data.
本発明のデータ処理プログラムの一態様においては、論理的な再構成が可能であり、かつ、保持されたデータを再構成の前後で保全可能である演算回路と、前記演算回路に配置され、保持されたデータの参照及び更新を行いながら連関する複数のデータ処理を実施するデータ処理部と、前記複数のデータ処理におけるあるデータ処理を別のデータ処理に変更するか否か判定する判定手段と、前記判定手段の判定結果に基づいて前記演算回路の再構成を行い、前記データ処理部を再配置する再配置手段と、を備えるコンピュータにおいて、前記再配置手段に対し、前記あるデータ処理を前記別のデータ処理に変更するように、かつ、変更しない少なくとも一部のデータ処理が再配置前と対応する箇所で実施されるように、前記データ処理部を再配置させ、前記データ処理部に対し、前記再配置手段による再配置後に、前記配置前と対応する箇所に再配置前から保持されているデータを参照して、前記別のデータ処理を実施させる。 In one aspect of the data processing program of the present invention, an arithmetic circuit that can be logically reconstructed and that can maintain the retained data before and after the reconfiguration, and the arithmetic circuit that is arranged and retained A data processing unit that performs a plurality of data processing associated with the data being referred to and updated, and a determination unit that determines whether to change one data processing in the plurality of data processing to another data processing, Relocation means for reconfiguring the arithmetic circuit based on a determination result of the determination means and relocating the data processing unit, wherein the data processing is performed on the relocation means with respect to the different data processing. The data processing unit is reconfigured so that at least a part of the data processing that is not changed is performed at a location corresponding to that before the rearrangement. Is location, to said data processing unit, wherein after rearrangement by rearrangement means, with reference to the data held before relocating the portion corresponding to the previous the arrangement, thereby carrying out said further data processing.
請求項1の本発明によれば、本構成を有していない場合に比較して、再構成前から保持されたデータを活用することが可能になるため、演算のやり直しによるデータ処理量の増大を抑制あるいは防止し、データ処理の高速化を図ることが可能となる。 According to the first aspect of the present invention, since it is possible to utilize the data held before the reconfiguration as compared with the case where the present configuration is not provided, an increase in the amount of data processing due to re-operation Can be suppressed or prevented, and the data processing speed can be increased.
請求項2の本発明によれば、部分的な再構成ができない演算回路であっても、実質的に部分的な再構成を行うことが可能となる。 According to the present invention of claim 2, even an arithmetic circuit that cannot be partially reconfigured can be substantially partially reconfigured.
請求項3の本発明によれば、本構成を有していない場合に比較して、演算回路の省スペース化を図ることが可能となる。 According to the present invention of claim 3, it is possible to save the space of the arithmetic circuit as compared with the case where the present configuration is not provided.
請求項4の本発明によれば、前記あるデータ処理が再び実施される際に、以前の実施時から保持されているデータを活用することが可能となるため、本構成を有していない場合に比較して、演算をやり直す無駄を減少あるいは防止することができる。 According to the present invention of claim 4, when the certain data processing is performed again, it is possible to utilize the data retained from the previous execution, so when this configuration is not provided Compared to the above, it is possible to reduce or prevent the waste of redoing the calculation.
請求項5の本発明によれば、再構成による変更が少なくなるため、本構成を有していない場合に比較して、再構成の設計が容易化される。 According to the present invention of claim 5, since the change due to the reconfiguration is reduced, the design of the reconfiguration is facilitated as compared with the case where the present configuration is not provided.
請求項6の本発明によれば、データの並び順を調整することが可能となる。 According to the present invention of claim 6, the arrangement order of data can be adjusted.
請求項7の本発明によれば、短い処理段階をもつデータ処理を実施する場合には、長い処理段階をもつデータ処理に比べて早くデータが出力されるため、データ出力のタイミングを長い処理段階をもつデータ処理に同期させる構成に比べて、データ処理の高速化を図ることができる。 According to the present invention of claim 7, when data processing having a short processing stage is performed, data is output earlier than data processing having a long processing stage. The data processing can be speeded up as compared with the configuration synchronized with the data processing having.
請求項8の本発明によれば、本構成を有していない場合に比較して、順次入力されるデータに対する異なる種類のデータ処理の実行を高速化することが可能となる。 According to the eighth aspect of the present invention, it is possible to speed up the execution of different types of data processing on sequentially input data as compared with the case where the present configuration is not provided.
請求項9の本発明によれば、入力した各データに対し、異なる種類のデータ処理を行うことが可能になる。 According to the present invention of claim 9, different types of data processing can be performed on each input data.
請求項10の本発明によれば、本構成を有していない場合に比較して、画像処理の高速化を図ることが可能となる。 According to the tenth aspect of the present invention, it is possible to increase the speed of image processing as compared with the case where the present configuration is not provided.
請求項11の本発明によれば、参照すべきデータを提供する回路が共通化されるため、本構成を有していない場合に比較して、演算回路の省スペース化が図られる。 According to the eleventh aspect of the present invention, since a circuit for providing data to be referred to is shared, a space for the arithmetic circuit can be saved as compared with the case where the present configuration is not provided.
請求項12の本発明によれば、本構成を有していない場合に比較して、画像処理の高速化を図ることができる画像処理装置が提供される。 According to the present invention of claim 12, there is provided an image processing apparatus capable of speeding up image processing as compared with a case where the present configuration is not provided.
請求項13の本発明によれば、本構成を有していない場合に比較して、再構成前から保持されたデータを活用し、データ処理の高速化を図るプログラムが提供される。 According to the thirteenth aspect of the present invention, there is provided a program for utilizing the data held before the reconfiguration and increasing the data processing speed as compared with the case where the present configuration is not provided.
以下に本発明の実施形態を例示する。 Embodiments of the present invention are illustrated below.
図1は、本実施の形態にかかる画像処理装置10のハードウエア構成の概略を示すブロック図である。画像処理装置10は、静止画や動画などの画像データを処理するデータ処理装置であり、例えば、PC(パーソナルコンピュータ)のような汎用的なコンピュータを利用して構築したり、プリンタあるいはスキャナを内蔵するような主として画像処理を行うコンピュータを利用して構築したりすることができる。 FIG. 1 is a block diagram illustrating an outline of a hardware configuration of an image processing apparatus 10 according to the present embodiment. The image processing apparatus 10 is a data processing apparatus that processes image data such as still images and moving images. For example, the image processing apparatus 10 is constructed using a general-purpose computer such as a PC (personal computer), or has a built-in printer or scanner. It can be constructed using a computer that mainly performs image processing.
画像処理装置10は、再構成デバイス20を備えている。再構成デバイス20は、プログラマブルデバイス、あるいは、リコンフィギュラブルデバイスなどと呼ばれることもある装置である。再構成デバイス20は、再構成回路22、制御回路32、メモリ34などを備えており、これらは典型的には基板上に設置される。再構成回路22は、論理的な再構成が可能な演算回路であり、複数のPE(プロセッサエレメント)23,24,...を含んでいる。PE(プロセッサエレメント)23,24,...は論理的な再構成を行う基本的な単位である。なお、図示したPE30は、制御回路32に対して再構成を行うよう指令するために設けられている。
The image processing apparatus 10 includes a reconstruction device 20. The reconfigurable device 20 is an apparatus that may be called a programmable device or a reconfigurable device. The reconstruction device 20 includes a
ここで、図2を用いて、PEについて説明する。図2は、PEのハードウエア構成を概念的に説明する図である。PEは、入力データin1を保持する(記憶する)レジスタ70と、入力データin2を保持するレジスタ72とを備えている。レジスタ70とレジスタ72は、ALU(算術論理演算部)74に接続されている。ALU(算術論理演算部)74は、入力データin1,in2を参照して(読み込んで)、加算、減算、掛算、通過などの各種の演算を行い、演算結果を出力データoutとしてレジスタ76に出力する(レジスタ76のデータを更新する)。ALU74がいかなる演算を行うかは、制御信号78によって制御される。そして、制御信号78を操作することで、ALU74の論理演算機能が再構成される。この再構成においては、レジスタ70,72,76に保持されたデータは、明示的にデータを消去したり、更新したりしない限り保全される。つまり、再構成後には、ALU74、そしてPEは、再構成前から保持されているデータを利用して継続することができる。
Here, PE will be described with reference to FIG. FIG. 2 is a diagram conceptually illustrating the hardware configuration of the PE. The PE includes a
なお、PEは、ここに述べた以外にも、様々に構成され得る。具体的には、PE間に流すデータ信号の流れを切り換えて再構成を実現する態様や、PE内に複数のALUを内蔵して複雑な演算制御を行う態様を例示することができる。 The PE can be configured in various ways other than those described here. Specifically, a mode in which the reconfiguration is realized by switching the flow of the data signal flowing between the PEs, and a mode in which a plurality of ALUs are built in the PE to perform complex arithmetic control can be exemplified.
再び、図1に戻って、画像処理装置10の説明を続ける。再構成デバイス20における制御回路32は、PE30からの指令に基づいて、再構成回路22の再構成を行う回路である。制御回路32は、メモリ34に格納されたプログラムに従って、再構成を実施する。メモリ34に対するプログラムの格納は、再構成デバイス20の製造時に行ってもよいし、製造後に行ってもよい。画像処理装置10においては、典型的には、メモリ34には画像データに対するデータ処理プログラムが格納され、再構成デバイス20は画像処理専用ハードウエアに準じる高速画像処理装置として活用される。
Returning to FIG. 1 again, the description of the image processing apparatus 10 will be continued. The
なお、再構成デバイス20には、上記ハードウエアの他にも、例えば、論理的な再構成ができない演算回路、SRAM(メモリ)、入出力用スイッチなどを設けることができる。また、再構成できない演算回路、SRAM、入出力スイッチなどを再構成回路22内に混在させることも可能である。
In addition to the above hardware, the reconfigurable device 20 can be provided with, for example, an arithmetic circuit that cannot be logically reconfigured, an SRAM (memory), an input / output switch, and the like. In addition, arithmetic circuits, SRAM, input / output switches, and the like that cannot be reconfigured can be mixed in the
再構成デバイス20は、内部バス40に接続されている。内部バス40は、画像処理装置10内における通信路であり、各種データや制御信号などが流される。内部バス40には、CPU(中央制御装置)42、メモリ44、プリンタ46、スキャナ48、UI(ユーザインタフェース)50、CDD(コンパクトディスクドライブ)52、ネットワークIF(インタフェース)54などが接続されている。
The reconfiguration device 20 is connected to the internal bus 40. The internal bus 40 is a communication path in the image processing apparatus 10, and various data, control signals, and the like are flown through it. Connected to the internal bus 40 are a CPU (central control unit) 42, a
CPU42は、画像処理装置10における各種制御や画像処理などを行う装置である。CPU42は、メモリ44に格納されたプログラムに基づいて動作する。CPU42は、再構成デバイス20で行うべき画像処理と、自らが行うべき画像処理を切り分ける制御を行うこともできる。メモリ44は、半導体メモリあるいは磁気ディスクなどを用いて構成される記憶装置である。
The
プリンタ46は、画像データに基づいて用紙に印刷を行う装置である。また、スキャナ48は、用紙の読み取りを行って、画像データを生成する装置である。UI50は、ユーザが画像処理装置10を操作するための装置である。UI50は、キーボードやタッチパネルなど、ユーザが指示を入力するための入力装置と、液晶ディスプレイなど、画像その他のデータをユーザに視覚的に提示するための表示装置を備える。
The
CDD52は、記憶媒体としてのCD(コンパクトディスク)との間で、データを入出力するための装置である。制御回路32あるいはCPU42を制御するためのプログラムをCDに記憶させておき、CDD52を通じて、インストールを行うことも可能である。また、ネットワークIF54は、インターネットなどの外部のネットワーク60を通じて通信を行うためのインタフェースである。これにより、画像処理装置10は、ネットワーク60に接続された外部装置との間で画像データを送受信したり、制御回路32あるいはCPU42を制御するためのプログラムのデータ信号を受信したりすることができるようになる。
The
画像処理装置10におけるこれらのハードウエアは、制御回路32あるいはCPU42を制御するためのプログラムなどによって制御され、画像処理を行うための装置として有機的に機能する。そして、UI50から入力されるユーザ指示に基づいて、プリンタ46を利用した印刷や、スキャナ48を利用した画像データ生成、CPU42や再構成デバイス20を利用した画像データ加工などの各種の画像処理を実施する。特に、再構成デバイス20には、再構成によって、画像データの伸張・圧縮や、フィルタリング、回転などの画像処理機能が構築され、ハードウエア的な高速処理が行われる。
The hardware in the image processing apparatus 10 is controlled by a program for controlling the
次に、再構成デバイス20について詳しく説明する。画像処理装置10においては、予め予定されたタイミング(例えば、画像データの圧縮指示がなされたり、新しい画像データが入力されたりするタイミング)で再構成デバイス20を再構成できる他、動的に再構成することも可能である。ここで、動的な再構成とは、流動的なタイミング、すなわち予め確定していないタイミングで再構成することをいう。 Next, the reconstruction device 20 will be described in detail. In the image processing apparatus 10, the reconstruction device 20 can be reconfigured at a predetermined timing (for example, when image data compression is instructed or new image data is input), or dynamically reconfigured. It is also possible to do. Here, the dynamic reconfiguration refers to reconfiguration at a fluid timing, that is, a timing that is not determined in advance.
図3は、動的な再構成の手順を示すフローチャートである。このフローチャートは、ある画像データについての処理が継続していることを前提とするものであり、適当なタイミング(例えば、1画素毎や1ライン毎)で再構成条件が評価される(S10)。すなわち、この画像データに対していかなる処理を行うべきであり、その処理を現在の画像処理構成(コンフィギュレーション)が実施できるかが評価される(S12)。いかなる処理を行うべきかの判断は様々に行うことが可能であり、例えば、入力される画像データあるいは対応する中間データについての条件(例えば輝度の絶対値についての条件)に基づいて行ってもよいし、これらのデータの近傍に入力されるデータについての条件(例えば周囲との輝度コントラスト)を利用して行ってもよい。また、そのデータより前に実施されたデータ処理の傾向を考慮して評価することも可能である。評価の結果(S12)、現在の画像処理構成が使えると判定された場合には、継続して処理が実行され(S14)、使えないと判定された場合には、画像データの入力が一時的にストップされて(S16)、再構成が実施され(S18)た後に、処理が実行される(S14)。これを順次繰り返すことで、一連の画像処理の中で、動的な再構成が繰り返される。 FIG. 3 is a flowchart showing a procedure for dynamic reconfiguration. This flowchart is based on the premise that processing for certain image data is continued, and the reconstruction condition is evaluated at an appropriate timing (for example, every pixel or every line) (S10). That is, it is evaluated what processing should be performed on the image data and whether the current image processing configuration can be implemented (S12). The determination of what processing should be performed can be made in various ways. For example, the processing may be performed based on the condition for the input image data or the corresponding intermediate data (for example, the condition for the absolute value of luminance). However, it may be performed using conditions (for example, luminance contrast with the surroundings) for data input in the vicinity of these data. It is also possible to evaluate in consideration of the tendency of data processing performed before the data. As a result of the evaluation (S12), when it is determined that the current image processing configuration can be used, the processing is continued (S14). When it is determined that the current image processing configuration cannot be used, input of image data is temporarily performed. (S16), and after the reconfiguration is performed (S18), the process is executed (S14). By repeating this sequentially, dynamic reconstruction is repeated in a series of image processing.
図4は、動的な再構成で切り換えられる構成を例示する模式図である。ここでは、画像データに対しては、常に画像処理Xが行われ、続いて、画像処理Aまたは画像処理Bのいずれか一方が行われることを想定している。そして、再構成回路22には、図4(a)に示す構成と、図4(b)に示す構成とが択一的に構成される。
FIG. 4 is a schematic view illustrating a configuration that can be switched by dynamic reconfiguration. Here, it is assumed that image processing X is always performed on image data, and then either image processing A or image processing B is performed. In the
図4(a)に示す態様では、再構成回路22には、画像処理Xを実施する論理回路Lxが設定されたX処理部80と、画像処理Aを実施する論理回路Laが構築されたA処理部82が配置されている。X処理部80は、入力された画像データを参照して(入力して)画像処理Xを施し、中間データDxを生成する。そして、A処理部82は、この中間データDxを参照して画像処理Aを行い、最終結果を表す出力データを出力する。次の画像データは、遅くともA処理部82が中間データDxを参照する時までに、X処理部80に入力される。すなわち、再構成回路22上では、複数の画像データに対する処理が時間差をつけて平行して行われている。なお、X処理部80やA処理部82は、中間データDx以外のデータを内部的に保持し、そのデータを参照してデータ処理を行うものであってもよい。
In the mode shown in FIG. 4A, the
ここで、再構成条件の評価の結果、ある中間データDxに対して、画像処理Bを行うべきであり、再構成が必要であると判定されたとする。この場合、再構成回路22は全面的に再構成され、図4(b)に示した回路が配置される。すなわち、再構成回路22には、画像処理Xを実施する論理回路Lx’が設定されたX処理部84と、画像処理Bを実施する論理回路Lbが構築されたB処理部86が配置されている。論理回路Lx’は、図4(a)の論理回路Lxと同一の回路であるが、改めて構成されたものであるため「’」の記号を付されている。そして、X処理部80とX処理部84は、再構成回路22における同一の箇所に配置されている。ここで、同一の箇所とは、再構成回路22においてX処理部80の論理回路Lxの各(2次元)座標と、X処理部84の論理回路Lx‘の各座標が等しい関係をいう。例えば、X処理部80の左上の座標(X11,Y11)、右下の座標(X12,Y12)とし、X処理部84の左上の座標を(X21,Y21)、右下の座標を(X22,Y22)として、これらの座標に着目すれば、X11=X21,X12=X22,Y11=Y21,Y12=Y22の各条件式を満足することになる。また、X処理部84では、再構成前のX処理部80に保持されていた中間データDxが保全されている。つまり、再構成前と再構成後では、再構成回路22における同一の箇所(つまり、再構成回路22における座標が同じ箇所)に、同一の値の中間データが保持されている。他方、B処理部86は、A処理部82と同一の箇所に配置される必要はない。しかし、少なくともB処理部86は、中間データDxを参照できる箇所に配置される。
Here, as a result of the evaluation of the reconstruction condition, it is assumed that image processing B should be performed on certain intermediate data Dx and it is determined that reconstruction is necessary. In this case, the
再構成が完了すると、B処理部86は、X処理部80から中間データDxを入力して、画像処理Bを実施する。また、X処理部84は、新たな画像データを入力して画像処理Xを実施する。つまり、図4に示した構成では、見かけ上、再構成回路22の中のA処理部82のみがB処理部86に変更されたかのように再構成される。言い換えれば、図4を用いて説明した例では、部分的再構成(Partial Reconfiguration)可能な回路が擬似的に構築されている。このように、B処理部86では、再構成回路22に保持された中間データをDxを利用して処理を継続するため、中間データDxの再計算は行われず、また、中間データDxのメモリへの退避及び再入力も行われない。ここで、参考として、中間データDxをメモリに退避して再構成後に再入力する態様について言及しておく。例えば、入力解像度600dpiをもつA4サイズの原稿の場合、1ピクセルを1クロックで処理すると仮定すれば、最大32Mピクセル分の処理時間(32Mクロック)をかけて、中間データDxの退避及び再入力を行うことになる。
When the reconstruction is completed, the
図5は、図4に対応する図であり、動的な再構成で切り換えられる別の構成を例示する模式図である。この例においては、図4を用いて示した例と同様に、画像データに対しては、常に画像処理Xが行われ、続いて、画像処理Aまたは画像処理Bのいずれか一方が行われる。このため、再構成回路22には、図5(a)に示すX処理部80とA処理部90が配置された構成と、図5(b)に示すX処理部84とB処理部110が配置された構成とが、再構成によって適宜構築される。図5(a),(b)におけるX処理部80,84は、図4(a),(b)におけるX処理部80,84と同様の画像処理Xを行うものであり、中間データDxを生成する点も同様である。しかし、図5(a),(b)におけるA処理部90,B処理部110は、図4(a),(b)におけるA処理部82,B処理部86とは異なっている。
FIG. 5 is a diagram corresponding to FIG. 4 and is a schematic diagram illustrating another configuration that can be switched by dynamic reconfiguration. In this example, as in the example shown with reference to FIG. 4, image processing X is always performed on image data, and then either image processing A or image processing B is performed. Therefore, the
A処理部90は、4ステージからなるパイプライン処理によって、画像処理Aを実施するものである。パイプライン処理は、上流から下流へと順次処理を受け渡す複数のステージを持ち、各ステージが同期することで、複数の入力データに対する処理を時差をつけて平行して行う処理である。このため、A処理部90には、論理回路La1,La2,La3,La4をそれぞれ備えたステージ92,94,96,98の各処理部が設けられ、この順でデータが流れるように設定されている。すなわち、ステージ92は、X処理部80が保持する中間データDxを参照して、論理回路La1による画像処理を行い、中間データDa1を生成する。そして、ステージ94は、中間データDa1を参照して、論理回路La2による画像処理を行い、中間データDa2を生成する。同様にして、ステージ96は、中間データDa2を参照し、論理回路La3による画像処理を行って中間データDa3を生成し、ステージ98は、中間データDa3を参照し、論理回路La4による画像処理を行って出力データDa4を生成する。
The A processing unit 90 performs image processing A by pipeline processing including four stages. Pipeline processing is processing that has a plurality of stages that sequentially transfer processing from upstream to downstream, and processes the plurality of input data in parallel with a time difference by synchronizing each stage. For this reason, the A processing unit 90 is provided with processing units of
A処理部90には、画像処理Bをパイプライン処理によって実施するための二つのステージ100,102も設けられている。ステージ100は、論理回路Lb1を備え、中間データDb1を保持するものであり、ステージ102は、論理回路Lb2を備え、中間データDb2を保持するものである。しかし、ステージ100,102は、新たにデータを入出力しないように周囲から隔離されており、また、新たな画像処理の演算も実施しないように設定されている。
The A processing unit 90 is also provided with two
再構成条件の評価が行われ、再構成が必要であると判断されると、全面的な再構成が行われ、図5(b)に示した回路が配置される。配置されたB処理部110は、A処理部90とは別のデータ処理を行うものであるが、A処理部90が配置されていた箇所(少なくとも一部の座標が重複する箇所)に配置されている。一例としては、再構成回路22におけるA処理部82の左上の座標を(X11,Y11)、右下の座標を(X12,Y12)とし、B処理部86の左上の座標を(X21,Y21)、右下の座標を(X22,Y22)として、この2点に着目すれば、X11≦X21<X22≦X12、かつ、Y11≦Y21<Y22≦Y12の条件式を満足する配置を挙げることができる。そして、B処理部110は、A処理部90と構成が類似しており、A処理部90が備えるステージ92,94,96,98に対応して、画像処理Aを実施するためのステージ112,114,116,118を備えている。すなわち、ステージ112〜118は、それぞれ論理回路La1’〜La4’(これらはLa1〜La4と同一であるが、再構成されたことを示すために「’」が付されている)を備え、また、中間データDa1〜Da4を保持している。ただし、これらの各ステージ112〜118は、周囲から隔離されており、かつ、新たな画像処理演算を実施しないように設定されている。
When the reconstruction conditions are evaluated and it is determined that the reconstruction is necessary, the entire reconstruction is performed, and the circuit shown in FIG. 5B is arranged. The arranged B processing unit 110 performs data processing different from that of the A processing unit 90, but is arranged at a place where the A processing unit 90 is arranged (a place where at least some of the coordinates overlap). ing. As an example, the upper left coordinate of the
B処理部110には、さらに、A処理部90が備えるステージ100,102に対応して、画像処理Bを実施するためのステージ120,122が設けられている。すなわち、ステージ120,122は、それぞれ論理回路Lb1’、Lb2’(これらはLb1、Lb2と同一であるが、再構成されたことを示すために「’」が付されている)を備え、また、中間データDb1、Db2を保持している。このステージ120,122は、画像処理Bを実施できるように設定されている。具体的には、ステージ120は、X処理部84が保持する中間データDxを参照し、論理回路Lb1’による演算を行って、中間データDb1を更新するように設定されている。また、ステージ122は、ステージ120が保持する中間データDb1参照し、論理回路Lb2’による演算を行って、出力データDb2を更新するように設定されている。
The B processing unit 110 further includes
再構成直後にステージ120,122が保持していた中間データDb1,Db2は、以前にB処理部110が構築されていた時から保全されていたものである。つまり、B処理部110は、パイプライン中に保持されていた中間データDb1,Db2を用いて、中断していた画像処理Bを実施する。また、B処理部110では、上述のように、画像処理Aに対するステージ92〜98が保持していた中間データDa1〜Da4が保全されており、A処理部90が構成された場合には、これらの中間データDa1〜Da4を用いて処理が継続されることになる。
The intermediate data Db1 and Db2 held by the
なお、図5に示した態様では、実際に使用しない論理回路も形式的に配置することとした。しかし、使用しない場合には、その論理回路を設けず(その論理回路を積極的に消滅させる)、単に保持されたデータを残すだけとし、採用する段階になって、改めてその論理回路を再配置するようにしてもよい。言い換えれば、ある論理回路によって更新され保持された中間データを将来的に再利用したい場合には、その中間データが保持されている領域を、この論理回路が再度必要にならない限り再構成時に同じまたは別の論理回路を設けてはいけない「配置禁止エリア」とすることができる。 In the embodiment shown in FIG. 5, logic circuits that are not actually used are also formally arranged. However, when not used, the logic circuit is not provided (the logic circuit is actively deleted), the retained data is simply left, and the logic circuit is rearranged again at the stage of adoption. You may make it do. In other words, if it is desired to reuse the intermediate data updated and held by a certain logic circuit in the future, the area where the intermediate data is held is the same at the time of reconfiguration unless this logic circuit is required again. It can be set as an “arrangement prohibition area” in which another logic circuit should not be provided.
ここで、参考態様として、図6に、再構成を行わないで、画像処理A,Bを切り換える態様について示した。図6に示した構成では、図5(a)と同様に、ステージ92〜98と、ステージ100,102が設けられ、これらはともに連結されて画像処理Aのパイプラインと画像処理Bのパイプラインを形成している。そして、ステージ100,102の後ろには、フリップフロップで作られたDelay回路134,136が設けられ、画像処理Bのステージ数を形式的に画像処理Aのステージ数と同一に設定し、データ入出力順を維持している。また、両パイプラインと並列に、判定部130が設けられ、両パイプラインの下流には選択回路132が設けられている。
Here, as a reference mode, FIG. 6 shows a mode in which the image processes A and B are switched without performing reconstruction. In the configuration shown in FIG. 6, as in FIG. 5A, stages 92 to 98 and stages 100 and 102 are provided, and these are connected together to pipeline the image processing A and the pipeline of the image processing B. Is forming. Further, delay
この構成においては、画像データは、両パイプライン及び判定部130に入力される。そして、画像処理A、画像処理Bがともに実行される他、判定部130によっていずれの処理結果を採用するかが判定される。選択回路132は、判定部130の判定結果に基づいて、いずれか一方の出力を選択する。
In this configuration, the image data is input to both pipelines and the
図6に示した構成では、図5に示した構成とは異なり、再構成は行われない。代わりに短いパイプラインをもつ画像処理Bの結果を採用する場合でも、長いパイプラインをもつ画像処理Aの結果を待って出力を行うことになる。他方、図5に示した再構成では、図6に示したDelay回路134,136が採用されておらず、短いパイプライン(画像処理B)が実施される場合には、長いパイプライン(画像処理A)と同期させるための待ち時間が不要となる。なお、図5に示した態様では、パイプラインの長さの違いに起因して、データの並び順が入れ替わってしまうおそれがある。これを回避するには、次に説明するように、データの並び順を調整するようにすればよい。
In the configuration shown in FIG. 6, unlike the configuration shown in FIG. 5, no reconfiguration is performed. Instead, even when the result of the image processing B having a short pipeline is adopted, the output is performed after waiting for the result of the image processing A having a long pipeline. On the other hand, in the reconstruction shown in FIG. 5, when the
続いて、図7と図8を用いて、パイプライン処理を行う二つの画像処理部を順次再構成する具体例について説明する。ここで挙げる例は、画像データに対して、5×5画素のフィルタ処理と、3×3画素のフィルタ処理のいずれかを施すものである。 Next, a specific example in which two image processing units that perform pipeline processing are sequentially reconfigured will be described with reference to FIGS. 7 and 8. In this example, either 5 × 5 pixel filter processing or 3 × 3 pixel filter processing is performed on image data.
図7(a),(b)は、このフィルタ処理において切り換えられる二つの構成を示したブロック図である。図には、入力スイッチ150、再構成回路22、SRAM178、及びピクセルカウンタ180が含まれている。入力スイッチ150とSRAM178、及びピクセルカウンタ180は、例えば、再構成デバイス20上の入出力スイッチやSRAMなどを利用して構成される。また、再構成回路22の中には、TI(テキスト・イメージ)分離処理部152、再構成条件評価部154、再構成イベント発生器156、FIFO158、画像処理部160、ピクセルカウンタ170、FIFO−A172、及びFIFO−B174が構築されている。
FIGS. 7A and 7B are block diagrams showing two configurations switched in this filter processing. The figure includes an
入力スイッチ150は、TI分離処理部152に対して、画像データの入力を1画素単位で順次入力する。順次入力するとは、ある程度の長期にわたり、次々とデータ要素が入力されることをいう。入力は、連続して行われてもよいし、間隔をあけて行われてもよい。また、入力間隔は不定期でもよい。なお、画像データは、1ビットのデータでもよいが、典型的には複数ビットからなる。
The
TI分離処理部152は、入力された画素が、文字、数字、記号などを表すテキスト領域に位置するか、写真や図形などを表すイメージ領域に位置するかを判別し、判別結果を表すTagデータを入力された画像データに付加して、再構成条件評価部154に出力する。テキスト領域に対しては、エッジを強調するために、ウィンドウサイズが小さい3×3画像のフィルタ処理が施され、イメージ領域には、平滑化を図るためウィンドウサイズが大きい5×5画素のフィルタ処理が施されることになる。
The TI
再構成条件評価部154は、Tagデータの値を予め設定された条件に基づいて評価する。具体的には、Tagデータの値が変化しない場合には、再構成回路22の再構成は不要であると評価し、評価結果を再構成イベント発生器156およびFIFO158に出力する。他方、Tagデータの値が変化する場合、すなわち、テキスト領域からイメージ領域に変化する場合や、イメージ領域からテキスト領域に変化する場合には、再構成を行うべきであると評価し、評価結果を再構成イベント発生器156およびFIFO158に出力する。また、再構成条件評価部154は、FIFO158からの書き込み可能信号(WE)が与えられた場合には、画像データをFIFO158に出力する。
The reconstruction
再構成イベント発生器156は、図1に示したPE30を用いて構築された装置であり、再構成条件評価部154から再構成すべき旨の評価結果を受信した場合に、図1に示した制御回路32にその旨の信号を送信する。FIFO158は、先入れ先出し方式のデータ格納部であり、TI分離処理部152と2種類のフィルタ(後述する5×5フィルタ処理部164及び3×3フィルタ処理部168)との処理速度差を吸収したり、再構成に要するクロックタイム分の画像データをバッファしたりするために設けられている。FIFO158から再構成条件評価部154へは書き込み可能信号(WE)が送信され、データ入力タイミングが制御される。また、FIFO158は、画像処理部160に対し、読み出し可能信号(RE)を送信する。そして、画像処理部160はこの信号に基づいて、画像データをFIFO158から読み出す。
The
図7(a)の構成では、画像処理部160には、共通回路162と、5×5フィルタ処理部(図5の例におけるA処理部に相当する)164が設けられており、3×3フィルタ処理部(同じくB処理部に相当する)168は形式的に配置されている。すなわち、共通回路162は、画像データを入力して前処理を行い、引き続いて5×5フィルタ処理部164がフィルタ処理を行っている。そして、3×3フィルタ処理部168は、特に処理を行ってはいない。
In the configuration of FIG. 7A, the
ピクセルカウンタ170は、FIFO158から画像処理部160への画像データの入力をカウントする。カウントは、FIFO158からの信号に基づいて行われる。そして、ピクセルカウンタ170は、各カウントに対応する画像データのアドレスを生成し、FIFO−A172に格納する。
The
画像処理部160から画像データが出力される場合、FIFO−A172に対して読み出し信号(RE)が送られ、FIFO−A172からはSRAM178に出力データを格納すべきアドレスが送信される。そして、画像処理部160の5×5フィルタ処理部164から出力された出力データが、このアドレスに格納される。これにより、SRAM178には、元の画像データに対応する順番で、出力データが格納されることになる。SRAM178からは適当なタイミングで出力データが出力され、ピクセルカウンタ180はその数をカウントする。
When image data is output from the
再構成イベント発生器156から再構成の指示を行った場合、再構成回路22は全面的に再構成されて、図7(b)に示す回路配置へと再構成される。ただし、再構成後の配置は、再構成前と多くの部分で同一であり、FIFO−A172に代えてFIFO−B174が用いられる点、及び、画像処理部160において、5×5フィルタ処理部164に代えて3×3フィルタ処理部168が用いられる点のみが相違している。すなわち、画像処理部160では、3×3画素のフィルタ処理が行われ、その出力データがFIFO−B174からのアドレスに従ってSRAM178に格納される。
When a reconfiguration instruction is issued from the
図8は、図7に示した画像処理部160の構成を詳しく説明する図である。共通回路162は、内部に5つのデータを格納するFIFO190,192,194,196と、5×5のタップが設けられたタップ部200によって構成されている。すなわち、入力された画像データは、タップ202,204,...のように、まず、最上段のタップに順次流されるとともに、FIFO190に格納される。そして、最上段のタップに流された画像データが消滅すると、この画像データは、FIFO190から2段目のタップに順次流されるとともに、FIFO192に格納される。このようにして、画像データは、最上段から最下段までのタップを順次流されていく。タップ部200の全体に着目すれば、タップ部200の右下のタップには最も古く入力された画像データが格納され、左上のタップ202には最も新しく入力された画像データが格納されることになる。
FIG. 8 is a diagram for explaining in detail the configuration of the
図8(a)に示す構成では、5×5フィルタ処理部164に対しては、タップ部200の全タップからデータが入力されるように結線の入力論理が設定されている。そして、5×5フィルタ処理部164は、タップ部200における中央のタップ210の画素に関して、5×5画素の全画像データに基づいてフィルタ処理の演算を行う。フィルタ処理の演算では、例えばラプラシアンに対応するフィルタ係数との積和演算が行われる。
In the configuration shown in FIG. 8A, the input logic of the connection is set so that data is input from all the taps of the tap unit 200 to the 5 × 5
他方、図8(b)に示す構成では、タップ部200には、5×5の全タップに画像データが配置される。しかし、3×3フィルタ処理部168には、タップ部200の中央付近の3×3画素の画像データのみが入力されるように入力論理が設定され、3×3フィルタ処理部168は、この3×3画素の画像データに基づいてフィルタ処理の演算を行う。このように、タップ部200は、再構成の前後において、いずれのサイズのフィルタ処理部に対しても必要な画像データを出力できるように設定されており、それゆえに、両フィルタ処理部から独立した共通回路162として設けられている。なお、5×5フィルタ処理部164と3×3フィルタ処理部168を同一の箇所に配置する(図4に示した例のように、一方が配置されていた箇所に、再構成後に他方を配置する)ことも可能である。この場合はフィルタ中の中間データが保持さなくなるため、中間データがこれらのフィルタを流れきるまで、再構成を待つようにしてもよい。図示した例のように、共通回路162を設けて各フィルタ固有のデータ処理が削減した場合には、中間データがフィルタを流れきる時間は比較的短いものとなる(例えば、数十クロック程度)。
On the other hand, in the configuration shown in FIG. 8B, the tap unit 200 has image data arranged on all 5 × 5 taps. However, the input logic is set in the 3 × 3
以上の説明においては、画像データについてのデータ処理を念頭において説明した。しかし、本実施の形態は、画像データ以外の様々なデータ(例えば音声データ、観測データ、シミュレーションデータなど)のデータ処理にも適用可能である。また、以上の説明では、再構成の前後で共通する処理部については、同一の箇所に配置する例を挙げたが、同一の箇所ではないが、再構成前から保持されているデータを活用できるように対応している箇所に配置することも可能である。例えば、あるレジスタやメモリの値を複数のPEから参照できるような場合、いずれのPEに対しても処理部を配置できる可能性がある。 In the above description, data processing for image data has been described in mind. However, this embodiment can also be applied to data processing of various data other than image data (for example, audio data, observation data, simulation data, etc.). In the above description, examples of processing units that are common before and after reconfiguration have been described as being arranged at the same location. However, although not the same location, it is possible to utilize data held before reconfiguration. It is also possible to arrange at corresponding locations. For example, when a register or memory value can be referred to from a plurality of PEs, there is a possibility that a processing unit can be arranged for any PE.
10 画像処理装置、20 再構成デバイス、22 再構成回路、23,24,30 PE、32 制御回路、34 メモリ、40 内部バス、42 CPU、44 メモリ、46 プリンタ、48 スキャナ、50 UI、52 CDD、54 ネットワークIF、60 ネットワーク、70,72,76 レジスタ、74 ALU、78 制御信号、80,84 X処理部、82,90 A処理部、86,110 B処理部、130 判定部、132 選択回路、150 入力スイッチ、152 TI分離処理部、154 再構成条件評価部、156 再構成イベント発生器、158 FIFO、160 画像処理部、162 共通回路、164 5×5フィルタ処理部、168 3×3フィルタ処理部、170,180 ピクセルカウンタ、172 FIFO−A、174 FIFO−B、178 SRAM、200 タップ部。 10 image processing apparatus, 20 reconstruction device, 22 reconstruction circuit, 23, 24, 30 PE, 32 control circuit, 34 memory, 40 internal bus, 42 CPU, 44 memory, 46 printer, 48 scanner, 50 UI, 52 CDD , 54 network IF, 60 network, 70, 72, 76 register, 74 ALU, 78 control signal, 80, 84 X processing unit, 82, 90 A processing unit, 86, 110 B processing unit, 130 determination unit, 132 selection circuit , 150 input switch, 152 TI separation processing unit, 154 reconstruction condition evaluation unit, 156 reconstruction event generator, 158 FIFO, 160 image processing unit, 162 common circuit, 164 5 × 5 filter processing unit, 168 3 × 3 filter Processing unit, 170,180 pixel counter, 172 FIFO- , 174 FIFO-B, 178 SRAM, 200 tap part.
Claims (13)
前記複数のデータ処理におけるあるデータ処理を別のデータ処理に変更するか否か判定する判定手段と、
前記判定手段の判定結果に基づいて前記演算回路の再構成を行い、前記データ処理部を再配置する再配置手段と、
を備え、
前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更するように、かつ、変更しない少なくとも一部のデータ処理が再配置前と対応する箇所で実施されるように、前記データ処理部を再配置し、
前記データ処理部は、前記再配置手段による再配置後に、前記配置前と対応する箇所に再配置前から保持されているデータを参照して、前記別のデータ処理を実施することを特徴とするデータ処理装置。 Arrangement of multiple data processing that is arranged in an arithmetic circuit that can be logically reconstructed and that can maintain the retained data before and after the reconfiguration, while referring to and updating the retained data A data processing unit to implement;
Determining means for determining whether or not to change a data process in the plurality of data processes to another data process;
Relocation means for reconfiguring the arithmetic circuit based on the determination result of the determination means, and relocating the data processing unit;
With
The relocation means is configured to change the data processing so that the certain data processing is changed to the other data processing, and so that at least a part of the data processing that is not changed is performed at a location corresponding to that before the relocation. Rearrange the parts,
The data processing unit, after rearrangement by the rearrangement unit, refers to data held from before the rearrangement at a location corresponding to the pre-arrangement, and performs the other data processing. Data processing device.
前記再配置前と対応する箇所とは、前記演算回路上における再配置前と同一箇所であることを特徴とするデータ処理装置。 The data processing apparatus according to claim 1,
The location corresponding to before the rearrangement is the same location as before the rearrangement on the arithmetic circuit.
前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、前記あるデータ処理が実施されている箇所で前記別のデータ処理が実施されるように前記データ処理部を配置することを特徴とするデータ処理装置。 The data processing apparatus according to claim 1,
In the case where the certain data processing is changed to the other data processing, the rearrangement unit sets the data processing unit so that the other data processing is performed at a place where the certain data processing is performed. A data processing device characterized by being arranged.
前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、再配置される前記別のデータ処理が、前記あるデータ処理により参照または更新されていたデータを更新しないように前記データ処理部を再配置し、その後に再度前記あるデータ処理へと再変更する場合には、前記あるデータ処理が以前と対応する箇所で実施されるように前記データ処理部を再配置することを特徴とするデータ処理装置。 The data processing apparatus according to claim 1,
When the rearrangement unit changes the certain data processing to the other data processing, the other data processing to be rearranged does not update the data referenced or updated by the certain data processing. When the data processing unit is rearranged and then re-changed to the certain data processing, the data processing unit is rearranged so that the certain data processing is performed at a location corresponding to the previous one. A data processing apparatus.
前記以前と対応する箇所とは、以前と同一の箇所であることを特徴とするデータ処理装置。 The data processing apparatus according to claim 4, wherein
The data processing apparatus according to claim 1, wherein the part corresponding to the previous part is the same part as before.
前記あるデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、
前記データ処理部は、前記あるデータ処理から出力されるデータと前記別のデータ処理から出力されるデータの並び順を調整する調整機構を備えることを特徴とするデータ処理装置。 The data processing apparatus according to claim 4, wherein
The certain data processing is performed in parallel with a time difference by processing a plurality of data by performing processing in synchronization with a plurality of stages that sequentially pass processing from upstream to downstream,
The data processing device includes an adjustment mechanism that adjusts an arrangement order of data output from the certain data processing and data output from the other data processing.
前記別のデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、
前記別のデータ処理における前記複数段階は、前記あるデータ処理における前記複数段階よりも短く、
前記別のデータ処理からは、前記あるデータ処理に比べて早くデータが出力されることを特徴とするデータ処理装置。 The data processing apparatus according to claim 6, wherein
The other data processing is performed in parallel with a time difference by processing a plurality of data by performing processing in synchronization with a plurality of stages that sequentially pass processing from upstream to downstream,
The plurality of stages in the other data processing is shorter than the plurality of stages in the certain data processing,
A data processing apparatus characterized in that data is output earlier from the other data processing than the certain data processing.
データを順次入力する入力部を備え、
データ処理部は、入力した各データに対して、前記連関する複数のデータ処理を実施することを特徴とするデータ処理装置。 The data processing apparatus according to claim 1,
It has an input unit to input data sequentially,
A data processing apparatus, wherein the data processing unit performs the plurality of associated data processing on each input data.
前記判定手段は、入力した各データについて、前記あるデータ処理を前記別のデータ処理に変更するか否か判定することを特徴とするデータ処理装置。 The data processing apparatus according to claim 8, wherein
The data processing apparatus according to claim 1, wherein the determination unit determines whether to change the certain data processing to the other data processing for each input data.
前記データ処理部が実施する前記複数のデータ処理は、画像データに対するデータ処理であることを特徴とするデータ処理装置。 The data processing apparatus according to any one of claims 1 to 9,
The data processing apparatus, wherein the plurality of data processing performed by the data processing unit is data processing on image data.
前記あるデータ処理と前記別のデータ処理は、参照するデータの画素範囲の広狭が異なり、
前記再配置部の配置によって再配置前と対応する箇所で実施されるように設定される前記少なくとも一部のデータ処理には、前記あるデータ処理と前記別のデータ処理の両者が共通して参照可能な並び順に前記データを配列して保持する配列保持処理が含まれることを特徴とするデータ処理装置。 The data processing apparatus according to claim 10, wherein
The certain data processing and the other data processing are different in the width of the pixel range of the data to be referred to,
The at least some data processing set to be executed at a location corresponding to the location before the rearrangement by the placement of the rearrangement unit refers to both the one data processing and the other data processing in common. A data processing apparatus comprising: an array holding process for arranging and holding the data in an order of possible arrangement.
前記画像データを生成する生成手段、または、前記画像データに基づく印刷を行う印刷手段と、
を備えることを特徴とする画像処理装置。 A data processing device according to claim 10 or 11,
Generating means for generating the image data, or printing means for performing printing based on the image data;
An image processing apparatus comprising:
前記演算回路に配置され、保持されたデータの参照及び更新を行いながら連関する複数のデータ処理を実施するデータ処理部と、
前記複数のデータ処理におけるあるデータ処理を別のデータ処理に変更するか否か判定する判定手段と、
前記判定手段の判定結果に基づいて前記演算回路の再構成を行い、前記データ処理部を再配置する再配置手段と、
を備えるコンピュータにおいて、
前記再配置手段に対し、前記あるデータ処理を前記別のデータ処理に変更するように、かつ、変更しない少なくとも一部のデータ処理が再配置前と対応する箇所で実施されるように、前記データ処理部を再配置させ、
前記データ処理部に対し、前記再配置手段による再配置後に、前記配置前と対応する箇所に再配置前から保持されているデータを参照して、前記別のデータ処理を実施させる、
ことを特徴とするデータ処理プログラム。 An arithmetic circuit capable of logical reconfiguration and capable of preserving retained data before and after reconfiguration;
A data processing unit that is arranged in the arithmetic circuit and performs a plurality of associated data processing while referring to and updating stored data;
Determining means for determining whether or not to change a data process in the plurality of data processes to another data process;
Relocation means for reconfiguring the arithmetic circuit based on the determination result of the determination means, and relocating the data processing unit;
In a computer comprising:
The data so that the data processing is changed to the other data processing, and at least a part of the data processing that is not changed is performed at a location corresponding to that before the rearrangement. Rearrange the processing parts,
After the rearrangement by the rearrangement unit, the data processing unit is referred to the data held from before the rearrangement in the location corresponding to the pre-arrangement, and the other data processing is performed.
A data processing program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014584A JP4844406B2 (en) | 2007-01-25 | 2007-01-25 | Data processing apparatus, image processing apparatus, and data processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007014584A JP4844406B2 (en) | 2007-01-25 | 2007-01-25 | Data processing apparatus, image processing apparatus, and data processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008181361A true JP2008181361A (en) | 2008-08-07 |
JP4844406B2 JP4844406B2 (en) | 2011-12-28 |
Family
ID=39725216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007014584A Expired - Fee Related JP4844406B2 (en) | 2007-01-25 | 2007-01-25 | Data processing apparatus, image processing apparatus, and data processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4844406B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010074461A (en) * | 2008-09-18 | 2010-04-02 | Fujitsu Ltd | Programmable logic device, card, and transmission apparatus |
JP2012008715A (en) * | 2010-06-23 | 2012-01-12 | Fuji Xerox Co Ltd | Data processing device |
US20130002292A1 (en) * | 2011-06-30 | 2013-01-03 | Fujitsu Semiconductor Limited | Reconfigurable integrated circuit device |
JP2013526733A (en) * | 2010-05-10 | 2013-06-24 | オセ−テクノロジーズ・ベー・ヴエー | How to restore raster image edges |
JP2015230619A (en) * | 2014-06-05 | 2015-12-21 | 富士ゼロックス株式会社 | Data processing device |
WO2021130967A1 (en) | 2019-12-26 | 2021-07-01 | 日本電気株式会社 | Information processing system, information processing device, information processing method, and computer program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099409A (en) * | 2001-09-26 | 2003-04-04 | Nec Corp | Data processing device and method, computer program, information storage medium, parallel arithmetic unit and data processing system |
WO2006011232A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Reconfigurable circuit and controlling method of reconfigurable circuit |
JP2006065788A (en) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | Processor with reconfigurable circuit |
-
2007
- 2007-01-25 JP JP2007014584A patent/JP4844406B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099409A (en) * | 2001-09-26 | 2003-04-04 | Nec Corp | Data processing device and method, computer program, information storage medium, parallel arithmetic unit and data processing system |
WO2006011232A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Reconfigurable circuit and controlling method of reconfigurable circuit |
JP2006065788A (en) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | Processor with reconfigurable circuit |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010074461A (en) * | 2008-09-18 | 2010-04-02 | Fujitsu Ltd | Programmable logic device, card, and transmission apparatus |
JP2013526733A (en) * | 2010-05-10 | 2013-06-24 | オセ−テクノロジーズ・ベー・ヴエー | How to restore raster image edges |
JP2012008715A (en) * | 2010-06-23 | 2012-01-12 | Fuji Xerox Co Ltd | Data processing device |
US20130002292A1 (en) * | 2011-06-30 | 2013-01-03 | Fujitsu Semiconductor Limited | Reconfigurable integrated circuit device |
US9552328B2 (en) | 2011-06-30 | 2017-01-24 | Socionext Inc. | Reconfigurable integrated circuit device |
JP2015230619A (en) * | 2014-06-05 | 2015-12-21 | 富士ゼロックス株式会社 | Data processing device |
WO2021130967A1 (en) | 2019-12-26 | 2021-07-01 | 日本電気株式会社 | Information processing system, information processing device, information processing method, and computer program |
JP2022078314A (en) * | 2019-12-26 | 2022-05-24 | 日本電気株式会社 | Information processing system, information processing device, information processing method and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP4844406B2 (en) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Johnston et al. | Implementing image processing algorithms on FPGAs | |
JP4844406B2 (en) | Data processing apparatus, image processing apparatus, and data processing program | |
EP2671207B1 (en) | Graphics processing architecture for an fpga | |
KR20190043643A (en) | Architecture for high performance, power efficient, programmable image processing | |
KR102278021B1 (en) | Program code transformation to improve image processor runtime efficiency | |
JP2020516981A (en) | Configurable and programmable image processor unit | |
JP2019507922A (en) | Compiler management memory for image processors | |
JP2009015556A (en) | Simd type microprocessor | |
TWI752343B (en) | Execution unit circuits, image processors, and methods for performing a sum of absolute difference computation | |
US11080053B2 (en) | Digital signal processing array using integrated processing elements | |
CN108073549B (en) | Convolution operation device and method | |
CN114830082B (en) | SIMD operand arrangement selected from a plurality of registers | |
Bailey | Image border management for FPGA based filters | |
JP2011141823A (en) | Data processing device and parallel arithmetic device | |
EP3384376A1 (en) | Multi-functional execution lane for image processor | |
JP2007094846A (en) | Reconfigurable address generation circuit for image processing, and reconfigurable lsi having the same | |
JPWO2007099950A1 (en) | Processor array system with high-speed inter-PE data relocation function | |
Kazmi et al. | An efficient and compact row buffer architecture on FPGA for real-time neighbourhood image processing | |
JP2013239120A (en) | Image processing device | |
JP5001209B2 (en) | Reconfiguration arithmetic circuit | |
CN113841134A (en) | Processing device with vector transformation execution | |
JP2015230619A (en) | Data processing device | |
JP2012231230A (en) | Image processing apparatus | |
JP2008113295A (en) | Video signal processor | |
JP6617493B2 (en) | Data processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110913 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110926 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4844406 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |