JP2008181361A - Data processing device, image processing apparatus and data processing program - Google Patents

Data processing device, image processing apparatus and data processing program Download PDF

Info

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
Application number
JP2007014584A
Other languages
Japanese (ja)
Other versions
JP4844406B2 (en
Inventor
Kazuo Yamada
和雄 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007014584A priority Critical patent/JP4844406B2/en
Publication of JP2008181361A publication Critical patent/JP2008181361A/en
Application granted granted Critical
Publication of JP4844406B2 publication Critical patent/JP4844406B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Image Processing (AREA)
  • Microcomputers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To implement speed up of data processing using a reconfigurable arithmetic circuit. <P>SOLUTION: At first, the reconfigurable circuit 22 contains an X processing part 80 for image processing X and an A processing part 82 for image processing A using intermediate data Dx output from the X processing part 80. When a condition of reconfiguration is satisfied, the reconfigurable circuit 22 is completely reconfigured to contain an X processing part 84 and a B processing part 86. The X processing part 84 has the same logic circuit as the X processing part 80 and retains the intermediate data Dx retained in the X processing part 80. The B processing part 86 can thus use the intermediate data Dx to perform immediate image processing B. <P>COPYRIGHT: (C)2008,JPO&INPIT

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には、再構成に比較的時間がかかる再構成回路において、複数の処理を高速に切り換える技術が開示されている。具体的には、全ての処理に共通する回路と、いずれの処理とも共通しない回路とをあらかじめ構成しておき、実施したい処理に応じて、残る必要な回路を再構成している。   Patent Document 1 below discloses a technique for switching a plurality of processes at high speed in a reconfiguration circuit that takes a relatively long time for reconfiguration. Specifically, a circuit that is common to all the processes and a circuit that is not common to any of the processes are configured in advance, and the remaining necessary circuits are reconfigured according to the process to be performed.

下記特許文献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.

特開2001−51826号公報JP 2001-51826 A 特開2006−50571号公報JP 2006-50571 A

ところで、論理的に再構成することが可能な回路を構成する基本要素には、一般的に演算器が用いられている。規模の大きい演算処理を行う場合には、この演算器の論理的な再構成を繰り返すことになるため、処理負荷が増大する。   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 reconstruction circuit 22, a control circuit 32, a memory 34, and the like, which are typically installed on a substrate. The reconfiguration circuit 22 is an arithmetic circuit capable of logical reconfiguration, and includes a plurality of PEs (processor elements) 23, 24,. . . Is included. PE (processor elements) 23, 24,. . . Is a basic unit for logical reconfiguration. The illustrated PE 30 is provided for instructing the control circuit 32 to perform reconfiguration.

ここで、図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 register 70 that holds (stores) input data in1 and a register 72 that holds input data in2. The register 70 and the register 72 are connected to an ALU (arithmetic logic unit) 74. The ALU (arithmetic logic operation unit) 74 refers to (reads) the input data in1 and in2, performs various operations such as addition, subtraction, multiplication, and passage, and outputs the operation result to the register 76 as output data out. (The data in the register 76 is updated). What calculation the ALU 74 performs is controlled by a control signal 78. Then, by operating the control signal 78, the logical operation function of the ALU 74 is reconfigured. In this reconfiguration, the data held in the registers 70, 72, 76 is preserved unless the data is explicitly erased or updated. That is, after the reconfiguration, the ALU 74 and the PE can continue using the data held before the reconfiguration.

なお、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 control circuit 32 in the reconfiguration device 20 is a circuit that reconfigures the reconfiguration circuit 22 based on a command from the PE 30. The control circuit 32 performs reconfiguration according to a program stored in the memory 34. The storage of the program in the memory 34 may be performed when the reconfigurable device 20 is manufactured, or may be performed after manufacturing. In the image processing apparatus 10, a data processing program for image data is typically stored in the memory 34, and the reconstruction device 20 is used as a high-speed image processing apparatus that conforms to dedicated image processing hardware.

なお、再構成デバイス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 reconfiguration circuit 22.

再構成デバイス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 memory 44, a printer 46, a scanner 48, a UI (user interface) 50, a CDD (compact disk drive) 52, a network IF (interface) 54, and the like. .

CPU42は、画像処理装置10における各種制御や画像処理などを行う装置である。CPU42は、メモリ44に格納されたプログラムに基づいて動作する。CPU42は、再構成デバイス20で行うべき画像処理と、自らが行うべき画像処理を切り分ける制御を行うこともできる。メモリ44は、半導体メモリあるいは磁気ディスクなどを用いて構成される記憶装置である。   The CPU 42 is a device that performs various controls and image processing in the image processing apparatus 10. The CPU 42 operates based on a program stored in the memory 44. The CPU 42 can also control to separate the image processing to be performed by the reconstruction device 20 and the image processing to be performed by itself. The memory 44 is a storage device configured using a semiconductor memory or a magnetic disk.

プリンタ46は、画像データに基づいて用紙に印刷を行う装置である。また、スキャナ48は、用紙の読み取りを行って、画像データを生成する装置である。UI50は、ユーザが画像処理装置10を操作するための装置である。UI50は、キーボードやタッチパネルなど、ユーザが指示を入力するための入力装置と、液晶ディスプレイなど、画像その他のデータをユーザに視覚的に提示するための表示装置を備える。   The printer 46 is a device that performs printing on paper based on image data. The scanner 48 is a device that reads paper and generates image data. The UI 50 is a device for the user to operate the image processing apparatus 10. The UI 50 includes an input device such as a keyboard and a touch panel for a user to input instructions, and a display device such as a liquid crystal display for visually presenting images and other data to the user.

CDD52は、記憶媒体としてのCD(コンパクトディスク)との間で、データを入出力するための装置である。制御回路32あるいはCPU42を制御するためのプログラムをCDに記憶させておき、CDD52を通じて、インストールを行うことも可能である。また、ネットワークIF54は、インターネットなどの外部のネットワーク60を通じて通信を行うためのインタフェースである。これにより、画像処理装置10は、ネットワーク60に接続された外部装置との間で画像データを送受信したり、制御回路32あるいはCPU42を制御するためのプログラムのデータ信号を受信したりすることができるようになる。   The CDD 52 is a device for inputting / outputting data to / from a CD (compact disc) as a storage medium. It is also possible to store a program for controlling the control circuit 32 or the CPU 42 in a CD and perform installation through the CDD 52. The network IF 54 is an interface for performing communication through an external network 60 such as the Internet. Thereby, the image processing apparatus 10 can transmit / receive image data to / from an external apparatus connected to the network 60, or can receive a data signal of a program for controlling the control circuit 32 or the CPU. It becomes like this.

画像処理装置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 control circuit 32 or the CPU 42, and functions organically as an apparatus for performing image processing. Based on user instructions input from the UI 50, various image processing such as printing using the printer 46, image data generation using the scanner 48, and image data processing using the CPU 42 and the reconstruction device 20 are performed. To do. In particular, in the reconstruction device 20, image processing functions such as image data expansion / compression, filtering, and rotation are constructed by reconstruction, and high-speed hardware processing is performed.

次に、再構成デバイス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 reconfiguration circuit 22, the configuration shown in FIG. 4A and the configuration shown in FIG. 4B are alternatively configured.

図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 reconstruction circuit 22 includes an X processing unit 80 in which a logic circuit Lx for performing image processing X is set and an A in which a logic circuit La for performing image processing A is constructed. A processing unit 82 is arranged. The X processing unit 80 refers to (inputs) the input image data and performs image processing X to generate intermediate data Dx. Then, the A processing unit 82 performs image processing A with reference to the intermediate data Dx, and outputs output data representing the final result. The next image data is input to the X processing unit 80 by the time when the A processing unit 82 refers to the intermediate data Dx at the latest. That is, on the reconstruction circuit 22, processing for a plurality of image data is performed in parallel with a time difference. Note that the X processing unit 80 and the A processing unit 82 may internally hold data other than the intermediate data Dx and perform data processing with reference to the data.

ここで、再構成条件の評価の結果、ある中間データ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 reconfiguration circuit 22 is completely reconfigured, and the circuit shown in FIG. 4B is arranged. That is, the reconstruction circuit 22 includes an X processing unit 84 in which a logic circuit Lx ′ for performing image processing X is set and a B processing unit 86 in which a logic circuit Lb for performing image processing B is constructed. Yes. The logic circuit Lx ′ is the same circuit as the logic circuit Lx in FIG. 4A, but is re-configured, and therefore is denoted by the symbol “′”. The X processing unit 80 and the X processing unit 84 are arranged at the same location in the reconfiguration circuit 22. Here, the same location means a relationship in which each (two-dimensional) coordinate of the logic circuit Lx of the X processing unit 80 and each coordinate of the logic circuit Lx ′ of the X processing unit 84 are equal in the reconstruction circuit 22. For example, the upper left coordinates (X11, Y11) and the lower right coordinates (X12, Y12) of the X processing unit 80 are set, the upper left coordinates of the X processing unit 84 are (X21, Y21), and the lower right coordinates are (X22, Y12). If attention is paid to these coordinates as Y22), the conditional expressions X11 = X21, X12 = X22, Y11 = Y21, Y12 = Y22 are satisfied. In the X processing unit 84, the intermediate data Dx held in the X processing unit 80 before reconfiguration is maintained. That is, before reconfiguration and after reconfiguration, intermediate data having the same value is held at the same location in the reconfiguration circuit 22 (that is, the location where the coordinates in the reconfiguration circuit 22 are the same). On the other hand, the B processing unit 86 does not need to be disposed at the same location as the A processing unit 82. However, at least the B processing unit 86 is arranged at a location where the intermediate data Dx can be referred to.

再構成が完了すると、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 B processing unit 86 inputs the intermediate data Dx from the X processing unit 80 and performs the image processing B. The X processing unit 84 inputs new image data and performs image processing X. That is, in the configuration illustrated in FIG. 4, only the A processing unit 82 in the reconfiguration circuit 22 is apparently reconfigured as if it was changed to the B processing unit 86. In other words, in the example described with reference to FIG. 4, a circuit capable of partial reconfiguration is constructed in a pseudo manner. Thus, since the B processing unit 86 continues processing the intermediate data held in the reconfiguration circuit 22 using Dx, the intermediate data Dx is not recalculated, and the intermediate data Dx is stored in the memory. Is not saved or re-entered. Here, for reference, a mode in which the intermediate data Dx is saved in the memory and re-input after reconfiguration will be mentioned. For example, in the case of an A4 size document having an input resolution of 600 dpi, assuming that one pixel is processed in one clock, the processing time (32M clock) for a maximum of 32M pixels is taken to save and re-input intermediate data Dx. Will do.

図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 reconstruction circuit 22 includes a configuration in which the X processing unit 80 and the A processing unit 90 shown in FIG. 5A are arranged, and an X processing unit 84 and a B processing unit 110 shown in FIG. The arranged configuration is appropriately constructed by reconfiguration. The X processing units 80 and 84 in FIGS. 5A and 5B perform the same image processing X as the X processing units 80 and 84 in FIGS. 4A and 4B, and the intermediate data Dx is obtained. The same applies to the point of generation. However, the A processing unit 90 and the B processing unit 110 in FIGS. 5A and 5B are different from the A processing unit 82 and the B processing unit 86 in FIGS. 4A and 4B.

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 stages 92, 94, 96, and 98 each including logic circuits La1, La2, La3, and La4, and is set so that data flows in this order. Yes. That is, the stage 92 refers to the intermediate data Dx held by the X processing unit 80, performs image processing by the logic circuit La1, and generates intermediate data Da1. Then, the stage 94 refers to the intermediate data Da1, performs image processing by the logic circuit La2, and generates intermediate data Da2. Similarly, the stage 96 refers to the intermediate data Da2 and performs image processing by the logic circuit La3 to generate intermediate data Da3. The stage 98 refers to the intermediate data Da3 and performs image processing by the logic circuit La4. To generate output data Da4.

A処理部90には、画像処理Bをパイプライン処理によって実施するための二つのステージ100,102も設けられている。ステージ100は、論理回路Lb1を備え、中間データDb1を保持するものであり、ステージ102は、論理回路Lb2を備え、中間データDb2を保持するものである。しかし、ステージ100,102は、新たにデータを入出力しないように周囲から隔離されており、また、新たな画像処理の演算も実施しないように設定されている。   The A processing unit 90 is also provided with two stages 100 and 102 for performing the image processing B by pipeline processing. The stage 100 includes a logic circuit Lb1 and holds intermediate data Db1, and the stage 102 includes a logic circuit Lb2 and holds intermediate data Db2. However, the stages 100 and 102 are isolated from the surroundings so as not to input / output new data, and are set not to perform new image processing calculations.

再構成条件の評価が行われ、再構成が必要であると判断されると、全面的な再構成が行われ、図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 A processing unit 82 in the reconstruction circuit 22 is (X11, Y11), the lower right coordinate is (X12, Y12), and the upper left coordinate of the B processing unit 86 is (X21, Y21). If the lower right coordinates are (X22, Y22) and attention is paid to these two points, an arrangement that satisfies the conditional expressions X11 ≦ X21 <X22 ≦ X12 and Y11 ≦ Y21 <Y22 ≦ Y12 can be given. . The B processing unit 110 is similar in configuration to the A processing unit 90, and corresponds to the stages 92, 94, 96, and 98 included in the A processing unit 90, and the stages 112, 114, 116, 118. That is, the stages 112 to 118 are respectively provided with logic circuits La1 ′ to La4 ′ (these are the same as La1 to La4 but are marked with “′” to indicate that they have been reconfigured), and Intermediate data Da1 to Da4 are held. However, each of these stages 112 to 118 is isolated from the surroundings, and is set not to perform a new image processing calculation.

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 stages 120 and 122 for performing image processing B corresponding to the stages 100 and 102 included in the A processing unit 90. That is, the stages 120 and 122 include logic circuits Lb1 ′ and Lb2 ′ (which are the same as Lb1 and Lb2, respectively, but are marked with “′” to indicate that they have been reconfigured), and Intermediate data Db1 and Db2 are held. The stages 120 and 122 are set so that the image processing B can be performed. Specifically, the stage 120 is set to update the intermediate data Db1 by referring to the intermediate data Dx held by the X processing unit 84 and performing an operation by the logic circuit Lb1 '. The stage 122 is set to update the output data Db2 by referring to the intermediate data Db1 held by the stage 120 and performing an operation by the logic circuit Lb2 '.

再構成直後にステージ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 stages 120 and 122 immediately after the reconfiguration are preserved since the B processing unit 110 was previously constructed. That is, the B processing unit 110 performs the interrupted image processing B using the intermediate data Db1 and Db2 held in the pipeline. In the B processing unit 110, as described above, the intermediate data Da1 to Da4 held by the stages 92 to 98 for the image processing A are maintained, and when the A processing unit 90 is configured, these are performed. The processing is continued using the intermediate data Da1 to Da4.

なお、図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 circuits 134 and 136 made of flip-flops are provided behind the stages 100 and 102, and the number of stages of the image processing B is formally set to be the same as the number of stages of the image processing A, and data is input. The output order is maintained. In addition, a determination unit 130 is provided in parallel with both pipelines, and a selection circuit 132 is provided downstream of both pipelines.

この構成においては、画像データは、両パイプライン及び判定部130に入力される。そして、画像処理A、画像処理Bがともに実行される他、判定部130によっていずれの処理結果を採用するかが判定される。選択回路132は、判定部130の判定結果に基づいて、いずれか一方の出力を選択する。   In this configuration, the image data is input to both pipelines and the determination unit 130. Then, in addition to executing both image processing A and image processing B, the determination unit 130 determines which processing result is adopted. The selection circuit 132 selects one of the outputs based on the determination result of the determination unit 130.

図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 delay circuits 134 and 136 shown in FIG. 6 are not adopted and a short pipeline (image processing B) is performed, a long pipeline (image processing) is used. A waiting time to synchronize with A) becomes unnecessary. In the mode shown in FIG. 5, there is a possibility that the data arrangement order may be changed due to the difference in the length of the pipeline. In order to avoid this, the data arrangement order may be adjusted as described below.

続いて、図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 input switch 150, a reconstruction circuit 22, an SRAM 178, and a pixel counter 180. The input switch 150, the SRAM 178, and the pixel counter 180 are configured using, for example, an input / output switch or an SRAM on the reconstruction device 20. The reconstruction circuit 22 includes a TI (text / image) separation processing unit 152, a reconstruction condition evaluation unit 154, a reconstruction event generator 156, a FIFO 158, an image processing unit 160, a pixel counter 170, and a FIFO-A 172. , And FIFO-B174 have been constructed.

入力スイッチ150は、TI分離処理部152に対して、画像データの入力を1画素単位で順次入力する。順次入力するとは、ある程度の長期にわたり、次々とデータ要素が入力されることをいう。入力は、連続して行われてもよいし、間隔をあけて行われてもよい。また、入力間隔は不定期でもよい。なお、画像データは、1ビットのデータでもよいが、典型的には複数ビットからなる。   The input switch 150 sequentially inputs image data in units of one pixel to the TI separation processing unit 152. Sequential input means that data elements are input one after another over a certain long period. Input may be performed continuously or at intervals. The input interval may be irregular. The image data may be 1-bit data, but typically consists of a plurality of bits.

TI分離処理部152は、入力された画素が、文字、数字、記号などを表すテキスト領域に位置するか、写真や図形などを表すイメージ領域に位置するかを判別し、判別結果を表すTagデータを入力された画像データに付加して、再構成条件評価部154に出力する。テキスト領域に対しては、エッジを強調するために、ウィンドウサイズが小さい3×3画像のフィルタ処理が施され、イメージ領域には、平滑化を図るためウィンドウサイズが大きい5×5画素のフィルタ処理が施されることになる。   The TI separation processing unit 152 determines whether the input pixel is located in a text area representing characters, numbers, symbols, or the like, or an image area representing a photograph, a figure, or the like, and Tag data representing the discrimination result Is added to the input image data and output to the reconstruction condition evaluation unit 154. The text region is subjected to filter processing of a 3 × 3 image having a small window size in order to emphasize edges, and the image region is subjected to filter processing of 5 × 5 pixels having a large window size for smoothing. Will be given.

再構成条件評価部154は、Tagデータの値を予め設定された条件に基づいて評価する。具体的には、Tagデータの値が変化しない場合には、再構成回路22の再構成は不要であると評価し、評価結果を再構成イベント発生器156およびFIFO158に出力する。他方、Tagデータの値が変化する場合、すなわち、テキスト領域からイメージ領域に変化する場合や、イメージ領域からテキスト領域に変化する場合には、再構成を行うべきであると評価し、評価結果を再構成イベント発生器156およびFIFO158に出力する。また、再構成条件評価部154は、FIFO158からの書き込み可能信号(WE)が与えられた場合には、画像データをFIFO158に出力する。   The reconstruction condition evaluation unit 154 evaluates the value of Tag data based on a preset condition. Specifically, when the value of the Tag data does not change, it is evaluated that the reconfiguration of the reconfiguration circuit 22 is unnecessary, and the evaluation result is output to the reconfiguration event generator 156 and the FIFO 158. On the other hand, when the value of Tag data changes, that is, when the text area changes to the image area, or when the image area changes to the text area, it is evaluated that the reconstruction should be performed. Output to the reconfiguration event generator 156 and the FIFO 158. Further, the reconstruction condition evaluation unit 154 outputs image data to the FIFO 158 when the writable signal (WE) is given from the FIFO 158.

再構成イベント発生器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 reconfiguration event generator 156 is a device constructed using the PE 30 shown in FIG. 1, and when the evaluation result indicating that reconfiguration is to be performed is received from the reconfiguration condition evaluation unit 154, the reconfiguration event generator 156 is shown in FIG. A signal to that effect is transmitted to the control circuit 32. The FIFO 158 is a first-in first-out data storage unit that absorbs a difference in processing speed between the TI separation processing unit 152 and two types of filters (a 5 × 5 filter processing unit 164 and a 3 × 3 filter processing unit 168 described later). It is provided to buffer image data for the clock time required for reconstruction. A write enable signal (WE) is transmitted from the FIFO 158 to the reconstruction condition evaluation unit 154, and the data input timing is controlled. The FIFO 158 transmits a readable signal (RE) to the image processing unit 160. The image processing unit 160 reads image data from the FIFO 158 based on this signal.

図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 image processing unit 160 is provided with a common circuit 162 and a 5 × 5 filter processing unit (corresponding to the A processing unit in the example of FIG. 5) 164, and 3 × 3 The filter processing unit (also corresponding to the B processing unit) 168 is formally arranged. That is, the common circuit 162 receives image data and performs preprocessing, and the 5 × 5 filter processing unit 164 performs filter processing subsequently. The 3 × 3 filter processing unit 168 does not perform any particular processing.

ピクセルカウンタ170は、FIFO158から画像処理部160への画像データの入力をカウントする。カウントは、FIFO158からの信号に基づいて行われる。そして、ピクセルカウンタ170は、各カウントに対応する画像データのアドレスを生成し、FIFO−A172に格納する。   The pixel counter 170 counts input of image data from the FIFO 158 to the image processing unit 160. The counting is performed based on a signal from the FIFO 158. Then, the pixel counter 170 generates an address of image data corresponding to each count and stores it in the FIFO-A 172.

画像処理部160から画像データが出力される場合、FIFO−A172に対して読み出し信号(RE)が送られ、FIFO−A172からはSRAM178に出力データを格納すべきアドレスが送信される。そして、画像処理部160の5×5フィルタ処理部164から出力された出力データが、このアドレスに格納される。これにより、SRAM178には、元の画像データに対応する順番で、出力データが格納されることになる。SRAM178からは適当なタイミングで出力データが出力され、ピクセルカウンタ180はその数をカウントする。   When image data is output from the image processing unit 160, a read signal (RE) is sent to the FIFO-A 172, and an address where output data is to be stored in the SRAM 178 is transmitted from the FIFO-A 172. The output data output from the 5 × 5 filter processing unit 164 of the image processing unit 160 is stored at this address. As a result, the output data is stored in the SRAM 178 in the order corresponding to the original image data. Output data is output from the SRAM 178 at an appropriate timing, and the pixel counter 180 counts the number.

再構成イベント発生器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 reconfiguration event generator 156, the reconfiguration circuit 22 is completely reconfigured to reconfigure the circuit arrangement shown in FIG. 7B. However, the arrangement after the reconstruction is the same in many parts as before the reconstruction, the FIFO-B 174 is used instead of the FIFO-A 172, and the 5 × 5 filter processing unit 164 in the image processing unit 160. The only difference is that a 3 × 3 filter processing unit 168 is used instead. That is, the image processing unit 160 performs 3 × 3 pixel filter processing, and the output data is stored in the SRAM 178 according to the address from the FIFO-B 174.

図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 image processing unit 160 shown in FIG. The common circuit 162 includes FIFOs 190, 192, 194, and 196 that store five data therein, and a tap unit 200 provided with 5 × 5 taps. That is, the input image data includes taps 202, 204,. . . As described above, first, the data is sequentially flowed to the uppermost tap and is stored in the FIFO 190. When the image data sent to the uppermost tap disappears, the image data is sequentially sent from the FIFO 190 to the second tap and stored in the FIFO 192. In this way, the image data is sequentially passed through the taps from the top to the bottom. Focusing on the entire tap unit 200, the oldest input image data is stored in the lower right tap of the tap unit 200, and the latest input image data is stored in the upper left tap 202. Become.

図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 filter processing unit 164. Then, the 5 × 5 filter processing unit 164 performs filter processing on the pixels of the central tap 210 in the tap unit 200 based on the entire image data of 5 × 5 pixels. In the calculation of the filter processing, for example, a product-sum operation with a filter coefficient corresponding to Laplacian is performed.

他方、図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 filter processing unit 168 so that only 3 × 3 pixel image data near the center of the tap unit 200 is input. Filter processing is performed based on the image data of × 3 pixels. In this way, the tap unit 200 is set so that necessary image data can be output to any size filter processing unit before and after reconstruction, and is therefore independent of both filter processing units. The common circuit 162 is provided. Note that the 5 × 5 filter processing unit 164 and the 3 × 3 filter processing unit 168 are arranged at the same location (as in the example shown in FIG. 4, the other is arranged after reconfiguration at the location where one was arranged. It is also possible to In this case, the intermediate data in the filter is not held, so that the reconstruction may be waited until the intermediate data flows through these filters. When the common circuit 162 is provided and the data processing unique to each filter is reduced as in the illustrated example, the time for the intermediate data to flow through the filter is relatively short (for example, about several tens of clocks).

以上の説明においては、画像データについてのデータ処理を念頭において説明した。しかし、本実施の形態は、画像データ以外の様々なデータ(例えば音声データ、観測データ、シミュレーションデータなど)のデータ処理にも適用可能である。また、以上の説明では、再構成の前後で共通する処理部については、同一の箇所に配置する例を挙げたが、同一の箇所ではないが、再構成前から保持されているデータを活用できるように対応している箇所に配置することも可能である。例えば、あるレジスタやメモリの値を複数の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.

本実施の形態にかかる画像処理装置のハードウエア構成例を示す図である。It is a figure which shows the hardware structural example of the image processing apparatus concerning this Embodiment. PEの構成例の概略を示す図である。It is a figure which shows the outline of the structural example of PE. 再構成の手順の例を示すフローチャートである。It is a flowchart which shows the example of the procedure of a reconstruction. 再構成例を示すブロック図である。It is a block diagram which shows the example of a reconstruction. 別の再構成例を示すブロック図である。It is a block diagram which shows another reconstruction example. 図5の例に関連した参考図である。FIG. 6 is a reference diagram related to the example of FIG. 5. 再構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of a reconstruction. 図7の構成の一部分を詳細に示す図である。It is a figure which shows a part of structure of FIG. 7 in detail.

符号の説明Explanation of symbols

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.
請求項1に記載のデータ処理装置において、
前記再配置前と対応する箇所とは、前記演算回路上における再配置前と同一箇所であることを特徴とするデータ処理装置。
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.
請求項1に記載のデータ処理装置において、
前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、前記あるデータ処理が実施されている箇所で前記別のデータ処理が実施されるように前記データ処理部を配置することを特徴とするデータ処理装置。
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.
請求項1に記載のデータ処理装置において、
前記再配置手段は、前記あるデータ処理を前記別のデータ処理に変更する場合には、再配置される前記別のデータ処理が、前記あるデータ処理により参照または更新されていたデータを更新しないように前記データ処理部を再配置し、その後に再度前記あるデータ処理へと再変更する場合には、前記あるデータ処理が以前と対応する箇所で実施されるように前記データ処理部を再配置することを特徴とするデータ処理装置。
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.
請求項4に記載のデータ処理装置において、
前記以前と対応する箇所とは、以前と同一の箇所であることを特徴とするデータ処理装置。
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.
請求項4に記載のデータ処理装置において、
前記あるデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、
前記データ処理部は、前記あるデータ処理から出力されるデータと前記別のデータ処理から出力されるデータの並び順を調整する調整機構を備えることを特徴とするデータ処理装置。
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.
請求項6に記載のデータ処理装置において、
前記別のデータ処理は、上流から下流へと順次処理を受け渡す複数段階が同期して処理を行うことにより、複数のデータに対する処理を時差をつけて平行して行うものであり、
前記別のデータ処理における前記複数段階は、前記あるデータ処理における前記複数段階よりも短く、
前記別のデータ処理からは、前記あるデータ処理に比べて早くデータが出力されることを特徴とするデータ処理装置。
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.
請求項1に記載のデータ処理装置において、
データを順次入力する入力部を備え、
データ処理部は、入力した各データに対して、前記連関する複数のデータ処理を実施することを特徴とするデータ処理装置。
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.
請求項8に記載のデータ処理装置において、
前記判定手段は、入力した各データについて、前記あるデータ処理を前記別のデータ処理に変更するか否か判定することを特徴とするデータ処理装置。
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.
請求項1乃至9のいずれか1項に記載のデータ処理装置において、
前記データ処理部が実施する前記複数のデータ処理は、画像データに対するデータ処理であることを特徴とするデータ処理装置。
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.
請求項10に記載のデータ処理装置において、
前記あるデータ処理と前記別のデータ処理は、参照するデータの画素範囲の広狭が異なり、
前記再配置部の配置によって再配置前と対応する箇所で実施されるように設定される前記少なくとも一部のデータ処理には、前記あるデータ処理と前記別のデータ処理の両者が共通して参照可能な並び順に前記データを配列して保持する配列保持処理が含まれることを特徴とするデータ処理装置。
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.
請求項10または11に記載のデータ処理装置と、
前記画像データを生成する生成手段、または、前記画像データに基づく印刷を行う印刷手段と、
を備えることを特徴とする画像処理装置。
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.
JP2007014584A 2007-01-25 2007-01-25 Data processing apparatus, image processing apparatus, and data processing program Expired - Fee Related JP4844406B2 (en)

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)

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

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

Patent Citations (3)

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

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