JP5034738B2 - Data processing apparatus and data processing program - Google Patents

Data processing apparatus and data processing program Download PDF

Info

Publication number
JP5034738B2
JP5034738B2 JP2007186850A JP2007186850A JP5034738B2 JP 5034738 B2 JP5034738 B2 JP 5034738B2 JP 2007186850 A JP2007186850 A JP 2007186850A JP 2007186850 A JP2007186850 A JP 2007186850A JP 5034738 B2 JP5034738 B2 JP 5034738B2
Authority
JP
Japan
Prior art keywords
data
partial
reference table
unit
partial reference
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.)
Expired - Fee Related
Application number
JP2007186850A
Other languages
Japanese (ja)
Other versions
JP2009025954A (en
Inventor
光之 玉谷
潤一 奥山
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
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2007186850A priority Critical patent/JP5034738B2/en
Publication of JP2009025954A publication Critical patent/JP2009025954A/en
Application granted granted Critical
Publication of JP5034738B2 publication Critical patent/JP5034738B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ処理装置またはデータ処理プログラムに関する。   The present invention relates to a data processing apparatus or a data processing program.

下記特許文献1には、画像データに対し、LUT(ルックアップテーブル)を用いた色変換処理を行う技術が開示されている。この技術では、大容量低速メモリに格納されたLUTの一部を、小容量高速メモリに記憶させて変換に使用する。そして、参照したいデータが小容量高速メモリにない場合は、小容量高速メモリのデータの書き換えを行う。   Japanese Patent Application Laid-Open No. 2004-228688 discloses a technique for performing color conversion processing using LUT (lookup table) on image data. In this technique, a part of the LUT stored in the large-capacity low-speed memory is stored in the small-capacity high-speed memory and used for conversion. When the data to be referred to is not in the small-capacity high-speed memory, the data in the small-capacity high-speed memory is rewritten.

下記特許文献2にも、画像データに対し、LUTを用いた色変換処理を行う技術が開示されている。この技術では、ミスヒットがあったときには、FIFO(FirstInFirstOut)を用いて処理を遅延させ、その間にLUTを更新している。   Patent Document 2 below also discloses a technique for performing color conversion processing using LUT on image data. In this technique, when there is a miss hit, the processing is delayed using a FIFO (FirstInFirstOut), and the LUT is updated during that time.

特開2005−157530号公報JP 2005-157530 A 特開2006−157252号公報JP 2006-157252 A

本発明の目的は、部分参照表を用いたデータ処理の効率を高めることにある。   An object of the present invention is to increase the efficiency of data processing using a partial reference table.

本発明のデータ処理装置の一態様においては、処理対象データを入力する入力手段と、前記処理対象データがとり得るすべてのデータ値の各々について当該データ値に対応する参照データが登録された表である参照表を記憶する第1の記憶手段と、参照表を構成する複数の参照データの部分集合である部分参照表を複数記憶する第2の記憶手段であって、前第2の記憶手段の容量は前記参照表全体のデータ量よりも小さいため前記第2の記憶手段に記憶された複数の部分参照表は前記参照表全体のうちの一部しかカバーしておらず、かつ前記第2の記憶手段に記憶された複数の部分参照表は、それぞれ当該部分参照表に含まれる参照データに対応する前記データ値の範囲であるデータ範囲が互いに異なっていることを特徴とする第2の記憶手段と、入力した処理対象データの前記データ値に応じて、前記第2の記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応する前記データ範囲を持つ部分参照表がある場合には、当該部分参照表を選択部分参照表として選択し、前記第2の記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応するデータ範囲を持つ部分参照表がない場合には、当該データ値に対応するデータ範囲を持つ部分参照表を前記参照表から取得し、前記第2の記憶手段に記憶されている前記複数の部分参照表のうちのいずれかを当該取得した部分参照表に変更してから、前記第2の記憶手段内にある当該変更された部分参照表を選択部分参照表として選択し、選択した当該選択部分参照表から当該データ値に対応する参照データを参照する参照手段と、前記入力した処理対象データの前記データ値に応じて前記参照手段が前記第2の記憶手段内の前記選択部分参照表から参照した前記参照データを用いて、前記処理対象データに対するデータ処理を行うデータ処理手段と、前記入力した処理対象データのデータ値から、今後入力される処理対象データの前記データ値を予測する予測手段と、前記予測手段が予測した前記今後入力される処理対象データの前記データ値が、前記第2の記憶手段に記憶された前記複数の部分参照表のいずれの前記データ範囲にも含まれない場合に、前記今後入力される処理対象データの前記データ値を含んだ前記データ範囲に対応する部分参照表を前記参照表から取得し、前記第2の記憶手段に記憶された前記複数の部分参照表のうち、前記選択部分参照表以外の一又は二以上の部分参照表を、当該取得した部分参照表に変更する変更手段と、論理仕様を再構成可能な再構成可能回路と、前記再構成可能回路の論理仕様を再構成する再構成手段と、を備え、前記参照手段、前記データ処理手段、及び前記変更手段による各処理の少なくとも一部は、前記再構成可能回路に設定された論理に基づいて行われ、前記再構成手段は、前記予測手段が予測した前記今後入力される処理対象データの前記データ値が、前記記憶手段に記憶された前記複数の部分参照表のいずれの前記データ範囲にも含まれない場合に、前記再構成可能回路を再構成して、変更対象となった前記部分参照表を前記変更手段が変更する論理を設定し、かつ、前記部分参照表が変更された後に前記再構成可能回路を再構成して、変更された前記部分参照表を前記参照手段が参照する論理、及び、変更された前記部分参照表の参照結果に基づいて前記データ処理手段がデータ処理を行う論理を設定するIn one aspect of the data processing device of the present invention, an input means for inputting processing target data and a table in which reference data corresponding to the data value is registered for each of all data values that can be taken by the processing target data. a second storage means for storing a plurality of the first memory means for storing certain reference table, the partial reference tables is a subset of a plurality of reference data constituting the reference table, before Symbol second storage means Is smaller than the data amount of the entire reference table, the plurality of partial reference tables stored in the second storage means cover only a part of the entire reference table, and the second a plurality of partial reference table stored in the storage means, the second memory, characterized in that the data range are different from each other in the range of the data values corresponding to the reference data respectively included in the partial reference table And the step, in response to the data values of the processing target data input, partial reference table with the data range corresponding to the data value in said plurality of partial reference table stored in the second storage means In some cases, the partial reference table is selected as the selected partial reference table, and the partial reference table having a data range corresponding to the data value in the plurality of partial reference tables stored in the second storage unit If there is not, a partial reference table having a data range corresponding to the data value is acquired from the reference table, and any one of the plurality of partial reference tables stored in the second storage unit is obtained. After changing to the acquired partial reference table, select the changed partial reference table in the second storage means as the selected partial reference table, and correspond to the data value from the selected selected partial reference table Reference data Using a reference means for referring, the reference data to which the reference means is referenced from said selected portion reference table in the second memory means in accordance with the data values of the processing target data the input, the processing object data Data processing means for performing data processing on the data , prediction means for predicting the data value of the processing target data to be input from the data value of the input processing target data, and the future input predicted by the prediction means The data of the processing target data to be input in the future when the data value of the processing target data is not included in any of the data ranges of the plurality of partial reference tables stored in the second storage unit A partial reference table corresponding to the data range including a value is acquired from the reference table, and among the plurality of partial reference tables stored in the second storage unit, Changing means for changing one or more partial reference tables other than the selected partial reference table to the acquired partial reference table, a reconfigurable circuit capable of reconfiguring a logical specification, and a logical specification of the reconfigurable circuit Reconfiguring means for reconfiguring , and at least a part of each processing by the reference means, the data processing means, and the changing means is performed based on a logic set in the reconfigurable circuit, In the restructuring unit, the data value of the processing target data input in the future predicted by the prediction unit is not included in any of the data ranges of the plurality of partial reference tables stored in the storage unit In this case, the reconfigurable circuit is reconfigured, the logic for changing the partial reference table to be changed is set by the changing means, and the reconfigurable circuit is changed after the partial reference table is changed. Re-circuit Form, the logic referenced by the reference means to the partial reference tables modified, and said data processing means for setting a logic for performing data processing based on the reference result of the partial reference tables modified.

参考例においては、前記参照手段または前記データ処理手段による処理の実行と、前記変更手段による処理の実行とは、少なくともその一部が並列的に行われる。 In the reference example , at least a part of the execution of the process by the reference unit or the data processing unit and the execution of the process by the change unit are performed in parallel.

本発明のデータ処理装置の一態様においては、前記再構成可能回路は、論理仕様を変更可能な複数の記憶回路を備え、前記記憶手段は、二以上の前記論理回路に一又は二以上の前記部分参照表を記憶し、前記変更手段は、前記選択部分参照表が記憶されていない前記論理回路に記憶された一又は二以上の前記部分参照表を変更する。   In one aspect of the data processing apparatus of the present invention, the reconfigurable circuit includes a plurality of storage circuits whose logic specifications can be changed, and the storage means includes one or more of the two or more logic circuits. A partial reference table is stored, and the changing means changes one or more partial reference tables stored in the logic circuit in which the selected partial reference table is not stored.

本発明のデータ処理装置の一態様においては、前記記憶回路の容量は前記参照表の大きさに比べて小さい。   In one aspect of the data processing apparatus of the present invention, the capacity of the storage circuit is smaller than the size of the reference table.

本発明のデータ処理装置の一態様においては、前記参照手段により選択されるべき部分参照表が前記記憶手段により記憶されていない場合に、前記予測手段による前記処理対象データの予測態様を変更する予測態様変更手段を備える。   In one aspect of the data processing apparatus of the present invention, when the partial reference table to be selected by the reference unit is not stored in the storage unit, the prediction for changing the prediction mode of the processing target data by the prediction unit A mode change means is provided.

本発明のデータ処理装置の一態様においては、前記処理対象データは、画像を構成する複数の画素データであり、前記データは、前記画素データの画素値である。 In one aspect of the data processing apparatus of the present invention, the processing target data is a plurality of pixel data constituting an image, and the data value is a pixel value of the pixel data.

参考例のデータプログラムの一態様においては、コンピュータを、処理対象データを入力する入力手段と、参照表を構成する複数の参照データの部分集合である部分参照表を複数記憶する記憶手段であって、前記参照表は、前記処理対象データがとり得るすべてのデータ値の各々について当該データ値に対応する参照データが登録された表であり、前記記憶手段の容量は前記参照表全体のデータ量よりも小さいため前記記憶手段に記憶された複数の部分参照表は前記参照表全体のうちの一部しかカバーしておらず、かつ前記記憶手段に記憶された複数の部分参照表は、それぞれ当該部分参照表に含まれる参照データに対応する前記データ値の範囲であるデータ範囲が互いに異なっていることを特徴とする記憶手段と、入力した処理対象データの前記データ値に応じて、前記記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応する前記データ範囲を持つ部分参照表がある場合には、当該部分参照表を選択部分参照表として選択し、前記記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応するデータ範囲を持つ部分参照表がない場合には、当該データ値に対応するデータ範囲を持つ部分参照表を前記参照表から取得し、前記記憶手段に記憶されている前記複数の部分参照表のうちのいずれかを当該取得した部分参照表に変更してから、前記記憶手段内にある当該変更された部分参照表を選択部分参照表として選択し、選択した当該選択部分参照表から当該データ値に対応する参照データを参照する参照手段と、前記入力した処理対象データの前記データ値に応じて前記参照手段が前記記憶手段内の前記選択部分参照表から参照した前記参照データを用いて、前記処理対象データに対するデータ処理を行うデータ処理手段と、前記入力した処理対象データとの関連性に基づいて、今後入力される処理対象データの前記データ値を予測する予測手段と、前記予測手段が予測した前記今後入力される処理対象データの前記データ値が、前記記憶手段に記憶された前記複数の部分参照表のいずれの前記データ範囲にも含まれない場合に、前記今後入力される処理対象データの前記データ値を含んだ前記データ範囲に対応する部分参照表を前記参照表から取得し、前記記憶手段に記憶された前記複数の部分参照表のうち、前記選択部分参照表以外の一又は二以上の部分参照表を、当該取得した部分参照表に変更する変更手段、として機能させる。 In one embodiment of the data program reference example, computer, a input means and storage means for storing a plurality of partial reference tables is a subset of the plurality of reference data constituting a reference table for inputting the processing target data The reference table is a table in which the reference data corresponding to the data value is registered for each of all the data values that the processing target data can take, and the capacity of the storage means is the data amount of the entire reference table The plurality of partial reference tables stored in the storage means cover only a part of the entire reference table, and the plurality of partial reference tables stored in the storage means Storage means characterized in that the data ranges corresponding to the reference data included in the partial reference table are different from each other, and the input processing target data When there is a partial reference table having the data range corresponding to the data value in the plurality of partial reference tables stored in the storage unit according to the data value, the partial reference table is selected When there is no partial reference table having a data range corresponding to the data value in the plurality of partial reference tables selected as a reference table and stored in the storage means, the data range corresponding to the data value is A partial reference table is acquired from the reference table, and any one of the plurality of partial reference tables stored in the storage unit is changed to the acquired partial reference table, and then stored in the storage unit Selecting the changed partial reference table as a selected partial reference table, referring to the selected reference partial reference table corresponding to the data value from the selected partial reference table, and the input of the processing target data Using the reference data to which the reference means is referenced from said selected portion reference table in the storage means in accordance with chromatography data value, a data processing means for performing data processing on the processing object data, processed with pre-filled force Prediction means for predicting the data value of processing target data to be input in the future based on the relationship with data, and the data value of the processing target data to be input in the future predicted by the prediction means is the storage means A partial reference table corresponding to the data range including the data value of the processing target data to be input in the future when the data range is not included in any of the data ranges of the plurality of partial reference tables stored in Among the plurality of partial reference tables acquired from the reference table and stored in the storage unit, one or more partial reference tables other than the selected partial reference table are obtained. It is made to function as a changing means for changing to the reference table.

請求項1に記載の発明によれば、部分参照表を用いたデータ処理において、参照される蓋然性が高い部分参照表が用意されるため、データ処理の効率を高めることが可能となる。また、部分参照表を参照する過程と、部分参照表を変更する過程とが、再構成により切り換えられて実行されるため、データ処理の効率を高めることが可能となる。 According to the first aspect of the present invention, in the data processing using the partial reference table, the partial reference table having a high probability of being referred to is prepared. Therefore, the efficiency of the data processing can be increased. In addition, since the process of referring to the partial reference table and the process of changing the partial reference table are switched and executed by reconfiguration, the efficiency of data processing can be improved.

参考例によれば、参照データの参照あるいは処理対象データに対するデータ処理が行われている間を利用して、参照されていない部分参照表の変更が行われるため、データ処理の効率を高めることができる。 According to the reference example , since the partial reference table that is not referred to is changed while the reference data is being referred to or the data processing on the processing target data is being performed, the efficiency of the data processing can be improved. it can.

請求項に記載の発明によれば、部分参照表の参照と、部分参照表の変更とにおいて、同一の記憶回路の競合が発生することを防止できる。 According to the second aspect of the present invention, it is possible to prevent contention of the same storage circuit between the reference of the partial reference table and the change of the partial reference table.

請求項に記載の発明によれば、記憶回路が参照表を記憶する容量を有しない場合においても、効率を高めたデータ処理が可能となる。 According to the third aspect of the present invention, even when the storage circuit does not have a capacity for storing the reference table, data processing with improved efficiency is possible.

請求項に記載の発明によれば、予測が精度よく行われていない場合に、予測態様を変更して予測精度の向上を試みることが可能となる。 According to invention of Claim 4 , when prediction is not performed with sufficient precision, it becomes possible to try the improvement of a prediction precision by changing a prediction aspect.

請求項に記載の発明によれば、画像データに対する処理効率を向上させることが可能となる。 According to the fifth aspect of the present invention, it is possible to improve the processing efficiency for image data.

参考例によれば、参照される蓋然性が高い部分参照表が用意され、データ処理の効率を高めることが可能なデータ処理プログラムが提供される。 According to the reference example , a partial reference table having a high probability of being referred to is prepared, and a data processing program capable of improving the efficiency of data processing is provided.

[用語等の説明] ここでは、特許請求の範囲、明細書、または図面において用いられる用語や概念等について説明する。   [Explanation of Terms, etc.] Here, terms and concepts used in the claims, the specification, or the drawings will be described.

データ処理装置は、コンピュータハードウエアと、その動作を規定するプログラム(ソフトウエア)を用いて構築される装置である。コンピュータハードウエアは、プログラムの制御によって、入力手段、記憶手段、参照手段、データ処理手段、予測手段、変更手段、予測態様変更手段などの各手段として機能することになる。データ処理装置は、単体のコンピュータハードウエアを利用した集中処理システムとして構築されてもよいし、通信可能な複数のコンピュータハードウエアを利用した分散処理システムとして構築されてもよい。   A data processing device is a device constructed using computer hardware and a program (software) that defines its operation. The computer hardware functions as each unit such as an input unit, a storage unit, a reference unit, a data processing unit, a prediction unit, a change unit, and a prediction mode change unit under program control. The data processing apparatus may be constructed as a centralized processing system using a single computer hardware, or may be constructed as a distributed processing system using a plurality of communicable computer hardware.

入力手段は、複数の処理対象データを入力する手段である。処理対象データは、1自由度(1ビット)からなるデータであっても、複数自由度(複数ビット)からなるデータであってもよい。また、処理対象データは、例えば、一つの要素をもつもの(1次元データ)であってもよいし、複数の要素をもつもの(多次元データ)であってもよい。入力される複数の処理対象データの間には、データ特性になんらかの関連性がある。データ特性の例としては、その処理対象データ自体がもつ絶対的な特性(例えばデータ値の大きさ)、他の処理対象データとの比較により求められる相対的な特性(例えばデータ分布)、あるいは、処理対象データに対し適当な演算を施すことにより判別可能な特性(例えばデータ変換後のデータ値の大きさ)などを挙げることができる。また、関連性とは、例えば、全体として意味あるデータ群を構成する(例えば全体として画像を構成したり、全体として時系列データを構成したりする)ものや、相互に相関をもつもの(相互に対比対象となる実験・観測データなど)などを例示することができる。   The input means is means for inputting a plurality of processing target data. The processing target data may be data having one degree of freedom (1 bit) or data having a plurality of degrees of freedom (multiple bits). Further, the processing target data may be, for example, data having one element (one-dimensional data) or data having a plurality of elements (multi-dimensional data). There is some relationship in data characteristics between a plurality of input data to be processed. Examples of data characteristics include absolute characteristics of the processing target data itself (for example, the magnitude of the data value), relative characteristics (for example, data distribution) obtained by comparison with other processing target data, or A characteristic (for example, the magnitude of the data value after data conversion) that can be discriminated by performing an appropriate operation on the processing target data can be mentioned. In addition, the relationship is, for example, a data group that is meaningful as a whole (for example, an image is formed as a whole or time-series data is formed as a whole), or a correlation (mutually). (Experiment / observation data, etc.) to be compared.

記憶手段は、半導体メモリなどの記憶装置に、参照表の一部である部分参照表を複数記憶する手段である。ここで、参照表は全参照データによって構成されるデータ構造であり、部分参照表は全参照データの部分集合によって構成されるデータ構造である。参照表は、所望のデータを参照(読み出し)できるようにデータ構造が設定されたデータ群を指す。参照表には、しばしばハッシュやツリーなどの探索アルゴリズムが用いられる。参照表の典型例としては、ルックアップテーブル(LUT)を挙げることができる。なお、参照表自体は、当該データ処理装置内に別途記憶されてもよいし、外部から取得されてもよい。   The storage means is means for storing a plurality of partial reference tables, which are part of the reference table, in a storage device such as a semiconductor memory. Here, the reference table is a data structure composed of all reference data, and the partial reference table is a data structure composed of a subset of all reference data. The reference table indicates a data group in which a data structure is set so that desired data can be referred (read). For lookup tables, search algorithms such as hashes and trees are often used. A typical example of the lookup table is a lookup table (LUT). Note that the reference table itself may be separately stored in the data processing apparatus or may be acquired from the outside.

参照手段は、入力した処理対象データのデータ特性に応じた参照データを参照する。この参照過程では、複数ある部分参照表の中から、参照に用いる部分参照表(選択部分参照表と呼ぶ)を選択し、この選択部分参照表の中から参照データを参照する。   The reference means refers to reference data corresponding to the data characteristics of the input processing target data. In this reference process, a partial reference table (referred to as a selected partial reference table) used for reference is selected from a plurality of partial reference tables, and reference data is referenced from the selected partial reference table.

データ処理手段は、入力した処理対象データに対してデータ処理を行う手段である。データ処理の例としては、データ変換処理、フィルタ処理、統計処理などを挙げることができる。データ処理は、例えば、入力した各処理対象データに対して行われてもよいし、選択された一部の処理対象データに対して行われてもよい。また、二以上の処理対象データをひとまとまりとして行われてもよい。データ処理は、部分参照表の中から処理対象データのデータ特性に応じた参照データを参照して行われる。参照データは、例えば、処理対象データの置き換え、処理対象データとの対比、実行する演算のパラメータなどに用いられる。なお、データ処理においては、参照手段により行われる参照データを参照するための演算結果が使用されてもよい。   The data processing means is means for performing data processing on the input processing target data. Examples of data processing include data conversion processing, filter processing, statistical processing, and the like. For example, the data processing may be performed on each input processing target data, or may be performed on some selected processing target data. Further, two or more process target data may be performed as a group. Data processing is performed by referring to the reference data corresponding to the data characteristics of the processing target data from the partial reference table. The reference data is used, for example, for replacement of the processing target data, comparison with the processing target data, parameters for the operation to be executed, and the like. In the data processing, a calculation result for referring to the reference data performed by the reference unit may be used.

予測手段は、予測を開始する時点ではまだ入力されていない処理対象データ、つまり、まだデータ特性を吟味することのできない処理対象データについて、そのデータ特性を予測する。データ特性の予測は、入力が完了した(処理済みても、未処理でも、その両方であってもよい)一または二以上の処理対象データとのデータ特性が関連することを利用して行われる。予測は、例えば、補間処理、確率・統計処理など様々な態様で行うことが可能である。   The prediction means predicts the data characteristics of the processing target data that has not yet been input at the time of starting the prediction, that is, the processing target data for which the data characteristics cannot be examined yet. Prediction of data characteristics is performed by utilizing the relationship between data characteristics of one or more target data for which input has been completed (processed, unprocessed, or both). . Prediction can be performed in various modes such as interpolation processing and probability / statistical processing.

予測態様変更手段は、予測の精度が悪く、参照に必要となる部分参照表が前記記憶手段により記憶されていない場合、つまりミスヒットが発生する場合に、予測手段による予測態様を変更する。予測態様の変更は、ミスヒットが発生した場合に直ちに行うようにしてもよいし、ミスヒットの発生が許容範囲以上発生した場合に行うようにしてもよい。予測態様の変更の例としては、時間間隔を短くする(予測頻度を高める)、予測アルゴリズム(補間関数など)の精度を上げる、遠未来から近未来と予測時間を短縮するなどの態様を挙げることができる。   The prediction mode changing means changes the prediction mode by the prediction means when the prediction accuracy is poor and the partial reference table required for reference is not stored in the storage means, that is, when a miss hit occurs. The prediction mode may be changed immediately when a miss hit occurs, or may be performed when a miss hit occurs in an allowable range or more. Examples of prediction mode changes include shortening the time interval (increasing the prediction frequency), increasing the accuracy of the prediction algorithm (interpolation function, etc.), and shortening the prediction time from the near future to the near future. Can do.

変更手段は、予測結果に応じて、記憶手段により記憶された部分参照表を変更(更新)する。変更される部分参照表は、選択部分参照表に含まれないものの中から選ばれる。なお、参照手段による択部分参照表の参照あるいはデータ処理手段による参照結果を利用したデータ処理と、変更手段による部分参照表の変更は、並列的に実行することができる。ここで、並列的とは、少なくとも一部が同時刻帯に実行されることをいう。   The changing unit changes (updates) the partial reference table stored in the storage unit according to the prediction result. The partial reference table to be changed is selected from those not included in the selected partial reference table. It should be noted that the data processing using the reference of the selected partial reference table by the reference means or the reference result by the data processing means and the change of the partial reference table by the changing means can be executed in parallel. Here, parallel means that at least a part is executed in the same time zone.

コンピュータハードウエアとしては、典型的には、その論理仕様が固定されたものが用いられる。しかし、例えば、そのコンピュータハードウエアが備える演算装置の一部または全部を、論理仕様を再構成可能な再構成可能回路(リコンフィギュラブル回路)によって構築することも可能である。再構成可能回路は、典型的には、主として演算処理を行う算術論理演算部(ALU)などの演算回路と、主としてデータの記憶を行うランダムアクセスメモリ(RAM)などの記憶回路とを含んでいる。そして、再構成論理回路では、ハードウエア的に規定された論理仕様をソフトウエア的(プログラム的に)に変更することが可能である。特に、論理仕様を数サイクル以内に切り換えることができる場合には、一連の処理の最中に論理仕様を変更する動的再構成が可能となる。   As the computer hardware, typically, those whose logic specifications are fixed are used. However, for example, a part or all of the arithmetic device provided in the computer hardware can be constructed by a reconfigurable circuit (reconfigurable circuit) capable of reconfiguring the logic specification. The reconfigurable circuit typically includes an arithmetic circuit such as an arithmetic logic unit (ALU) that mainly performs arithmetic processing and a storage circuit such as a random access memory (RAM) that mainly stores data. . In the reconfigurable logic circuit, the logic specification defined in hardware can be changed into software (in a program). In particular, when the logical specification can be switched within a few cycles, dynamic reconfiguration is possible in which the logical specification is changed during a series of processes.

切り換え対象となる論理仕様には、例えば、演算回路で行われる演算処理の態様を定めた演算論理仕様、再構成論理回路内の配線の態様を定めた結線論理仕様、再構成論理回路と外部装置との配線の態様を定めた入出力論理仕様などが含まれる。なお、記憶回路では、典型的には内部的な論理仕様が固定され、結線論理仕様あるいは入出力論理仕様などが再構成可能に構築されるが、例えば、内部的な論理仕様を再構成可能とされてもよい。   The logical specifications to be switched include, for example, an arithmetic logic specification that defines the mode of arithmetic processing performed in the arithmetic circuit, a wiring logic specification that defines the wiring mode in the reconfigurable logic circuit, a reconfigurable logic circuit, and an external device And input / output logic specifications that define the manner of wiring. In the memory circuit, the internal logic specifications are typically fixed and the connection logic specifications or the input / output logic specifications are reconfigurable. For example, the internal logic specifications can be reconfigured. May be.

再構成可能回路は、典型的には、分散配置(例えばチップ上に2次元アレイ状に配置)された複数の要素(エレメント)からなる。具体的には、演算回路を複数の演算要素によって構築したり、記憶回路を複数の記憶要素によって構築したりする例が挙げられる。再構成のためのプログラミングが、こうした演算要素や記憶要素を単位として行われることも多い。   A reconfigurable circuit typically includes a plurality of elements (elements) arranged in a distributed manner (for example, arranged in a two-dimensional array on a chip). Specifically, there are examples in which an arithmetic circuit is constructed by a plurality of arithmetic elements, and a memory circuit is constructed by a plurality of memory elements. In many cases, programming for reconstruction is performed in units of such arithmetic elements and storage elements.

再構成手段は、再構成可能回路の論理仕様を再構成し、データ処理手段の機能の一部または全部を実現するデータ処理論理、あるいは、変更手段の機能の一部または全部を実現する変更論理などを設定する。再構成にあたっては、記憶回路に記憶されているデータ、あるいは、演算回路のレジスタに記憶されているデータを初期化してもよいし、保全して(破壊しないで)再構成後に再利用するようにしてもよい。   The reconfiguring means reconfigures the logic specification of the reconfigurable circuit and implements data processing logic that realizes part or all of the functions of the data processing means, or change logic that realizes part or all of the functions of the changing means. And so on. In reconfiguration, the data stored in the memory circuit or the data stored in the register of the arithmetic circuit may be initialized, and the data may be saved (not destroyed) and reused after the reconfiguration. May be.

[実施の形態] 以下に本発明の実施の形態を例示する。   Embodiment An embodiment of the present invention is illustrated below.

図1は、本実施の形態にかかる画像処理装置10の構成例を示す概略図である。画像処理装置10は、データ処理装置の一種であり、図示した例においては単体の筐体をもつ装置として構成されている。画像処理装置10の内部には、内部通信路としての内部バス11が設けられている。そして、内部バス11には、CPU(中央処理装置)12、ROM(ReadOnlyMemory)14、RAM(RandomAccessMemory)16、HDD(HardDiscDrive)18、再構成可能システム20、UI(UserInterface)21、スキャナ22、プリンタ24、CDD(CompactDiscDrive)26、及びネットワークインタフェース28の各構成装置が接続されている。   FIG. 1 is a schematic diagram illustrating a configuration example of an image processing apparatus 10 according to the present embodiment. The image processing apparatus 10 is a kind of data processing apparatus, and in the illustrated example, is configured as an apparatus having a single casing. Inside the image processing apparatus 10, an internal bus 11 is provided as an internal communication path. The internal bus 11 includes a CPU (Central Processing Unit) 12, a ROM (Read Only Memory) 14, a RAM (Random Access Memory) 16, an HDD (Hard Disc Drive) 18, a reconfigurable system 20, a UI (User Interface) 21, a scanner 22, and a printer. 24, a CDD (Compact Disc Drive) 26, and a network interface 28 are connected to each other.

CPU12は、ROM14などに格納されたプログラムに従って、画像処理装置10の各構成装置の制御や、画像処理等を行う装置である。ROM14は長期的な記憶が可能な半導体メモリ(記憶装置)であり、各種のプログラムや設定情報などを記憶する。RAM16は主として短期的な記憶に用いられる半導体メモリである。DRAM(ダイナミックRAM)を用いた場合には、比較的大容量だがランダムアクセス読み出しがやや遅い記憶装置となり、SRAM(スタティックRAM)を用いた場合には、比較的小容量だがランダムアクセス読み出しがやや早い記憶装置となる。RAM16には、処理対象となる画像データなどが記憶される。RAM16と再構成可能システム20との入出力を高速化するために、内部バス11を介さずに両者を直結したり、DDR(ダブルデータレート)方式を用いたりする場合もある。HDD18は磁気ディスクなどを用いて構成された大容量の記憶装置であり、画像データの長期的な記憶などに用いられる。   The CPU 12 is a device that controls each component of the image processing apparatus 10 and performs image processing in accordance with a program stored in the ROM 14 or the like. The ROM 14 is a semiconductor memory (storage device) capable of long-term storage, and stores various programs and setting information. The RAM 16 is a semiconductor memory mainly used for short-term storage. When DRAM (dynamic RAM) is used, the storage device has a relatively large capacity but random access reading is somewhat slow, and when SRAM (static RAM) is used, the random access reading is relatively small but slightly faster. It becomes a storage device. The RAM 16 stores image data to be processed. In order to speed up the input / output between the RAM 16 and the reconfigurable system 20, there are cases in which both are directly connected without using the internal bus 11 or a DDR (double data rate) system is used. The HDD 18 is a large-capacity storage device configured using a magnetic disk or the like, and is used for long-term storage of image data.

再構成可能システム20は、コンフィグメモリ32とリコンフィギュラブルプロセッサ34とを含む装置であり、典型的には、同一のチップ上にこうした装置を設置されている。コンフィグメモリ32は、リコンフィギュラブルプロセッサ34の論理仕様を規定する論理仕様データが入力される記憶装置である。コンフィグメモリ32は、例えば、選択可能な複数の論理仕様データをスイッチで切り替えることで、採用する論理仕様データを数サイクル(例えば1サイクル)で選択できるように設定されている。   The reconfigurable system 20 is a device that includes a configuration memory 32 and a reconfigurable processor 34 and is typically installed on the same chip. The configuration memory 32 is a storage device to which logical specification data that defines the logical specification of the reconfigurable processor 34 is input. The configuration memory 32 is set such that, for example, the logical specification data to be adopted can be selected in several cycles (for example, one cycle) by switching a plurality of selectable logical specification data with a switch.

リコンフィギュラブルプロセッサ34は、再構成可能回路としての装置であり、アレイ状に配置された複数のプロセッサエレメント(PE)を備えている。プロセッサエレメントは、リコンフィギュラブルプロセッサ34を構成する小回路であり、例えば、演算要素としてのALUエレメント、あるいは、記憶要素としてのRAMエレメントなどからなる。このうち、ALUエレメントは、再構成された論理仕様に基づいて、データに対する演算処理を行う小回路であり、RAMエレメントは、データの入出力及び記憶が行われる小回路であり、例えば、高速な入出力が可能なSRAMを用いて構築される。RAMエレメントは、外部設置されるROM14やRAM16などに比べて容量が小さいことが多い。ALUエレメントの内部的な論理仕様である演算論理仕様や、他のALUエレメントやRAMエレメントとの接続を規定する結線論理仕様、外部装置との接続を規定する入出力論理仕様などは、コンフィグメモリ32に設定された論理仕様データに基づいて再構成される。なお、リコンフィギュラブルプロセッサ34には、外部装置との入出力を高速に行う専用入出力I/F(インタフェース)や、論理仕様が固定された(再構成不可能な)小演算回路などが設けられることも多い。再構成可能システム20は、論理仕様データの選択や再構成時期などを制御する制御部を自装置内に備えて自らの動作を制御するものであってもよいし、CPU12などの外部装置によって動作を制御されるものであってもよい。こうした制御部あるいはCPU12は、プログラムに従って、コンフィグメモリ32にコンフィグデータを入力してリコンフィギュラブルプロセッサ34に画像処理論理などのコンフィギュレーションを設定し、それを実行させる。コンフィグデータは、ROM14、RAM16、HDD18などに格納されている。   The reconfigurable processor 34 is a device as a reconfigurable circuit, and includes a plurality of processor elements (PE) arranged in an array. The processor element is a small circuit constituting the reconfigurable processor 34, and includes, for example, an ALU element as an arithmetic element or a RAM element as a storage element. Among them, the ALU element is a small circuit that performs arithmetic processing on data based on the reconfigured logic specifications, and the RAM element is a small circuit that performs input / output and storage of data. It is constructed using SRAM that can input and output. The RAM element often has a smaller capacity than the ROM 14 or the RAM 16 installed outside. The configuration memory 32 includes an arithmetic logic specification that is an internal logic specification of the ALU element, a connection logic specification that specifies connection with other ALU elements and RAM elements, an input / output logic specification that specifies connection with an external device, and the like. Is reconfigured based on the logical specification data set in The reconfigurable processor 34 is provided with a dedicated input / output I / F (interface) that performs high-speed input / output with an external device, a small arithmetic circuit with a fixed logical specification (non-reconfigurable), and the like. It is often done. The reconfigurable system 20 may include a control unit that controls selection of logical specification data, reconfiguration time, and the like in its own device to control its own operation, or may be operated by an external device such as the CPU 12. May be controlled. Such a control unit or CPU 12 inputs configuration data to the configuration memory 32 in accordance with a program, sets a configuration such as image processing logic in the reconfigurable processor 34, and executes it. The configuration data is stored in the ROM 14, the RAM 16, the HDD 18, and the like.

UI21は、液晶ディスプレイや発光ダイオードなどの表示装置、及び、タッチパネルやキーボードなどの入力装置を備え、画像処理装置10のユーザにデータを表示したり、ユーザから操作命令を受け付けたりする。スキャナ22は、用紙表面の画像を読み取って画像データを生成する読取装置である。プリンタ24は、画像データに基づいて用紙に印刷を行う印刷装置である。CDD26は、記録媒体としてのCD(コンパクトディスク)に記録されたデータを読み取る装置であり、例えば、CPU12や再構成可能システム20を制御するためのプログラムがCDD26により提供された場合にこのプログラムを読み取るために用いられる。ネットワークインタフェース28は、インターネットなどのネットワーク30に接続してデータを入出力するためのインタフェースであり、例えば、CPU12や再構成可能システム20を制御するためのプログラムがネットワーク30を通じて提供される場合、このプログラムのデータ信号を受信するために用いられる。   The UI 21 includes a display device such as a liquid crystal display and a light emitting diode, and an input device such as a touch panel and a keyboard, and displays data to the user of the image processing apparatus 10 and receives an operation command from the user. The scanner 22 is a reading device that reads an image on a sheet surface and generates image data. The printer 24 is a printing device that performs printing on paper based on image data. The CDD 26 is a device that reads data recorded on a CD (compact disc) as a recording medium. For example, when a program for controlling the CPU 12 or the reconfigurable system 20 is provided by the CDD 26, the CDD 26 reads this program. Used for. The network interface 28 is an interface for inputting / outputting data by connecting to a network 30 such as the Internet. For example, when a program for controlling the CPU 12 or the reconfigurable system 20 is provided through the network 30, Used to receive program data signals.

続いて、図2乃至図4を参照して、図1に示した画像処理装置10を用いて行う画像処理の概要について説明する。   Next, an overview of image processing performed using the image processing apparatus 10 illustrated in FIG. 1 will be described with reference to FIGS. 2 to 4.

図2は、画像処理(データ処理)の一例である色変換処理の流れを説明する図であり、L***表色系で表現された画像データを、CMYK表色系に変換する処理の例を示している。この例では、画像データを構成する各画素データのL*成分、a*成分、b*成分が順次入力され、アドレス変換処理部40でL***値に対応したアドレスに変換される。変換により与えられるアドレスは、データメモリ42,44,46,48に格納されたCMYK色変換用の各ルックアップテーブル(それぞれ、C−LUT,M−LUT,Y−LUT,K−LUTと呼ぶ)の格納位置に対応したものである。すなわち、アドレス変換処理部40が与えるアドレスに従ってデータメモリ42〜48を参照すると、入力した画素値の近傍におけるCMYKの各成分の値が得られる。そして、得られた値を基に補間処理部50,52,54,56で補間処理を行うことで、入力した画素値に対応したC成分、M成分、Y成分、K成分の値が出力される。 FIG. 2 is a diagram for explaining the flow of color conversion processing, which is an example of image processing (data processing). Image data expressed in the L * a * b * color system is converted into the CMYK color system. An example of processing is shown. In this example, the L * component, a * component, and b * component of each pixel data constituting the image data are sequentially input and converted into an address corresponding to the L * a * b * value by the address conversion processing unit 40. . The addresses given by the conversion are look-up tables for CMYK color conversion stored in the data memories 42, 44, 46, and 48 (referred to as C-LUT, M-LUT, Y-LUT, and K-LUT, respectively). Corresponds to the storage position. That is, when the data memories 42 to 48 are referred to in accordance with the address given by the address conversion processing unit 40, the value of each component of CMYK in the vicinity of the input pixel value is obtained. Then, the interpolation processing units 50, 52, 54, and 56 perform interpolation processing based on the obtained values, so that the values of the C component, M component, Y component, and K component corresponding to the input pixel value are output. The

図3は、図2で説明したC−LUTの例を模式的に示す図である。C−LUTは、3次元空間(L*,a*,b*)上で定義されており、L*成分、a*成分、b*成分の値と、C成分との関係を表している。図には、入力済みの画素データIN3,IN2,IN1,IN0と、これから入力される画素データINa,INb,INc,INd,INeが図示されている。これらの各画素データに対しては、そのC−LUTを用いて変換を行うことで、近傍のCの値を求めることができる。しかし、C−LUTは一般にサイズが大きく、全てをメモリに格納するのは困難であることが多い。そこで、C−LUTの部分集合である部分LUT(これは部分参照表の例である)が用いられる。例えば、図3の例では、入力済みの画素データIN3,IN2,IN1,IN0に対しては、C−LUT1を用いて変換が行われる。 FIG. 3 is a diagram schematically illustrating an example of the C-LUT described in FIG. The C-LUT is defined on a three-dimensional space (L * , a * , b * ) and represents the relationship between the values of the L * component, a * component, and b * component and the C component. In the figure, input pixel data IN3, IN2, IN1, and IN0 and pixel data INa, INb, INc, INd, and INe to be input from now on are shown. For each of these pixel data, a C value in the vicinity can be obtained by performing conversion using the C-LUT. However, the C-LUT is generally large in size, and it is often difficult to store all of them in memory. Therefore, a partial LUT that is a subset of the C-LUT (this is an example of a partial reference table) is used. For example, in the example of FIG. 3, the input pixel data IN3, IN2, IN1, and IN0 are converted using the C-LUT1.

ところが、入力がなされていない画素データINa,INb,INc,INd,INeに対しては、どの部分LUTを用いればよいかは自明ではない。すなわち、画素データINa,INb,INcに対してはC−LUT2を適用すればよいことや、画素データINc,INd,INeに対してはC−LUT3を適用すればよいことは、これらが未入力の段階ではまだわからない。   However, it is not obvious which partial LUT should be used for pixel data INa, INb, INc, INd, and INe that have not been input. That is, the fact that the C-LUT2 may be applied to the pixel data INa, INb, and INc and the C-LUT3 should be applied to the pixel data INc, INd, and Ine are not input. I still don't know at this stage.

図4に図示したグラフは、未入力の画素データに必要な部分LUTの予測態様を説明するものである。グラフの横軸は時間(サイクル)を表し、縦軸は、L*の値を表している。そして、グラフ中には、図3に示した画素データIN3,IN2,IN1と、これから線形補間(線形補外)した予測画素データM1,M2,M3が図示されている。すなわち、ある時刻に入力されたIN3、それからsサイクル後に入力されたIN2、さらにsサイクル後に入力されたIN3の各L*成分を基に3点補間を行って、未来に入力される予測画素データM1,M2,M3のL*成分値を予測している。図示した例では、画素データM1,M2,M3はIN1から3s,4s,5sサイクル後にそれぞれ入力され、その値は形式的には、次式で表される。
M1=((IN1−IN2)+(IN2−IN3))/2s × 4s + IN2
M2=((IN1−IN2)+(IN2−IN3))/2s × 5s + IN2
M3=((IN1−IN2)+(IN2−IN3))/2s × 6s + IN2
The graph shown in FIG. 4 explains the prediction mode of the partial LUT necessary for non-input pixel data. The horizontal axis of the graph represents time (cycle), and the vertical axis represents the value of L * . In the graph, pixel data IN3, IN2, and IN1 shown in FIG. 3 and predicted pixel data M1, M2, and M3 obtained by linear interpolation (linear extrapolation) are shown. That is, prediction pixel data input in the future by performing three-point interpolation based on IN3 input at a certain time, IN2 input after s cycles, and each L * component of IN3 input after s cycles L * component values of M1, M2 and M3 are predicted. In the illustrated example, the pixel data M1, M2, and M3 are input after 3s, 4s, and 5s cycles from IN1, respectively, and the values are formally expressed by the following equations.
M1 = ((IN1-IN2) + (IN2-IN3)) / 2s × 4s + IN2
M2 = ((IN1-IN2) + (IN2-IN3)) / 2s × 5s + IN2
M3 = ((IN1-IN2) + (IN2-IN3)) / 2s × 6s + IN2

画像データにおいては、各画素の色や輝度は、近傍の画素間で類似する傾向にあり、距離とともに比較的滑らかに変化することが多い。ここでは、このデータ特性を利用して、予測画素データM1,M2,M3の入力を予測し、これらの予測画素を範囲に含む部分LUTを対応する時刻に用意することとした。図示した例では、画素データIN3,IN2,IN1などの変換に用いている部分LUT60を備えていると仮定している。そこで、更新する部分LUT62は、予測画素データM1,M2,M3の両側にバランスよく拡がるような範囲に設定されている。このため、部分LUT60と部分LUT62は一部の範囲が重複している。なお、予測画素データM1,M2,M3の値によっては、部分LUT60と部分LUT62とが重複することも接することもなく、ジャンプする可能性もある。このような時には、例えば、画像の連続性を考慮してジャンプを作らないことを優先してもよいし、予測結果を優先するようにしてもよい。なお、同様の処理は、a*成分及びb*成分に対しても行われる。 In image data, the color and brightness of each pixel tend to be similar between neighboring pixels and often change relatively smoothly with distance. Here, the input of the predicted pixel data M1, M2, and M3 is predicted using this data characteristic, and a partial LUT that includes these predicted pixels in the range is prepared at the corresponding time. In the illustrated example, it is assumed that a partial LUT 60 used for conversion of pixel data IN3, IN2, IN1, etc. is provided. Therefore, the partial LUT 62 to be updated is set to a range that spreads in a balanced manner on both sides of the predicted pixel data M1, M2, and M3. For this reason, the partial LUT 60 and the partial LUT 62 partially overlap. Depending on the values of the predicted pixel data M1, M2, and M3, the partial LUT 60 and the partial LUT 62 do not overlap or touch each other, and there is a possibility of jumping. In such a case, for example, priority may be given not to make a jump in consideration of continuity of images, or priority may be given to a prediction result. Similar processing is performed for the a * component and the b * component.

続いて、図5〜図8を用いて、以上に説明した処理を行うための構成について説明する。図5は、リコンフィギュラブルプロセッサ34に設定した論理について説明する図である。リコンフィギュラブルプロセッサ34には、参照処理部70、参照部76、及び画像処理部78が設けられている。   Then, the structure for performing the process demonstrated above is demonstrated using FIGS. FIG. 5 is a diagram for explaining the logic set in the reconfigurable processor 34. The reconfigurable processor 34 includes a reference processing unit 70, a reference unit 76, and an image processing unit 78.

参照処理部70は、参照手段として機能する処理部であり、参照部76のデータを参照するための処理を行っている。具体的には、入力される画素データを順次シフトして出力するシフトレジスタ72、シフトレジスタ72からデータを入力し、先入れ先出し方式で出力するFIFO74、部分LUTの選択を行う部分LUT選択制御部80、及び、部分LUTの変更(更新)についての処理を行う部分LUT予測部82を備えている。   The reference processing unit 70 is a processing unit that functions as a reference unit, and performs processing for referring to data in the reference unit 76. Specifically, a shift register 72 that sequentially shifts and outputs input pixel data, a FIFO 74 that inputs data from the shift register 72 and outputs the data in a first-in first-out manner, a partial LUT selection control unit 80 that selects a partial LUT, In addition, a partial LUT prediction unit 82 that performs processing for changing (updating) the partial LUT is provided.

参照部76は、部分参照表を記憶する記憶手段としての構成要素であり、部分参照表の例である色変換用の部分LUTを記憶し管理する。ここでは、リコンフィギュラブルプロセッサ34に設けられているRAMエレメントの容量が小さく、全LUT(現在一般的に用いられているものは1色につき40キロバイト、4色で160キロバイト程度である)を格納できないことを想定しており、参照部76では、RAMエレメントの容量に応じた部分LUT(例えば1色につき4キロバイト、4色で16キロバイトのもの)を管理している。参照部76には、RAMエレメントとしての2つのデータメモリ86,88と、このデータメモリ86,88からの出力切り換えを行うSEL(選択部)90が設けられている。そして、データメモリ86,88には、それぞれ部分LUTであるLUT−A87と、LUT−B89が設定されている。   The reference unit 76 is a component serving as a storage unit that stores a partial reference table, and stores and manages a color conversion partial LUT, which is an example of a partial reference table. Here, the capacity of the RAM element provided in the reconfigurable processor 34 is small, and all LUTs (currently generally used are about 40 kilobytes per color and about 160 kilobytes for four colors). The reference unit 76 manages partial LUTs according to the capacity of the RAM element (for example, 4 kilobytes per color, 16 kilobytes per color). The reference unit 76 is provided with two data memories 86 and 88 as RAM elements, and a SEL (selection unit) 90 for switching output from the data memories 86 and 88. In the data memories 86 and 88, LUT-A87 and LUT-B89, which are partial LUTs, are set, respectively.

画像処理部78は、データ処理手段の例であり、参照部76から、部分LUTの参照結果(参照データ)を入力し、補間処理などの画像処理を行って、その結果を出力する。なお、部分LUTとして入力するLUT92は、RAM16に格納されている。そして、LUT92からの参照データ出力は、CPU12あるいはDMA(直接メモリアクセス)コントローラなどを利用したDRAM(ダイナミックRAM)制御部84によって制御されている。   The image processing unit 78 is an example of data processing means. The reference result (reference data) of the partial LUT is input from the reference unit 76, image processing such as interpolation processing is performed, and the result is output. The LUT 92 that is input as the partial LUT is stored in the RAM 16. The reference data output from the LUT 92 is controlled by a DRAM (dynamic RAM) control unit 84 using a CPU 12 or a DMA (direct memory access) controller.

図6は、部分LUT選択制御部80の構成を説明するブロック図である。部分LUT選択制御部80には、指示処理部100、適合判定部102、タグデータ変更部104、及びタグデータ106が設けられている。指示処理部100は、FIFO74に対し画素データの読み出しを開始あるいは停止させる指示、部分LUT予測部82に対しLUT−A87とLUT−B89のいずれを更新用とするかの指示、SEL90に対しLUT−A87とLUT−B89のいずれの出力を採用するかの指示などを行う。適合判定部102は、FIFO74から出力される画素データが、LUT−A87またはLUT−B89に適合しているか(変換可能な範囲に含まれるか)を判定する。タグデータ106は、部分LUTの更新を行った場合に、タグデータ106を対応する値に変更する処理を行う。タグデータ106は、部分LUTに含まれる範囲の情報を与えるデータである。適合判定部102における適合性の判定は、画素データに対応するタグデータを参照して行われる。   FIG. 6 is a block diagram illustrating the configuration of the partial LUT selection control unit 80. The partial LUT selection control unit 80 includes an instruction processing unit 100, a conformity determination unit 102, a tag data changing unit 104, and tag data 106. The instruction processing unit 100 instructs the FIFO 74 to start or stop reading of pixel data, instructs the partial LUT prediction unit 82 whether to update LUT-A87 or LUT-B89, and instructs the SEL 90 to perform LUT- An instruction is given as to which output of A87 or LUT-B89 is to be used. The conformity determination unit 102 determines whether the pixel data output from the FIFO 74 conforms to LUT-A87 or LUT-B89 (is included in a convertible range). The tag data 106 performs a process of changing the tag data 106 to a corresponding value when the partial LUT is updated. The tag data 106 is data that provides information on a range included in the partial LUT. The conformity determination in the conformity determination unit 102 is performed with reference to tag data corresponding to the pixel data.

図7は、部分LUT選択制御部80の選択動作を説明する表である。列110と列112は、適合判定部102によるLUT−A87とLUT−B89の適合結果を表している。部分LUT選択制御部80は、この適合結果に基づいて処理を行うものであり、列114は部分LUTに対する処理を示しており、列116はFIFOに対する処理態様を示している。   FIG. 7 is a table for explaining the selection operation of the partial LUT selection control unit 80. Columns 110 and 112 represent the matching results of LUT-A 87 and LUT-B 89 by the matching determination unit 102. The partial LUT selection control unit 80 performs processing based on this matching result, the column 114 indicates processing for the partial LUT, and the column 116 indicates processing mode for the FIFO.

例えば、色変換対象となる画素データがLUT−A87に適合、LUT−B89には不適合である場合には、LUT−A87が参照対象と採用され、その旨の指令が指示処理部100からSEL90に送られる。そして、LUT−B89は更新用となり、LUT−A87よりも優先的に更新されるべき旨の指令が部分LUT予測部82に送られる。また、FIFO74に対しては、通過の指令、つまり読み出しを継続する指令が行われる。なお、入力された画素データが、LUT−A87とLUT−B89の両方に適合した場合にも、ここに示した場合と同様の処理が行われる。他方、入力された画素データが、LUT−A87に不適合、LUT−B89に適合する場合には、これとは逆の態様で処理が行われる。   For example, when the pixel data to be color-converted conforms to LUT-A87 and does not conform to LUT-B89, LUT-A87 is adopted as the reference object, and a command to that effect is sent from the instruction processing unit 100 to the SEL 90. Sent. Then, the LUT-B 89 is used for updating, and a command to the effect that it should be updated with priority over the LUT-A 87 is sent to the partial LUT prediction unit 82. For the FIFO 74, a passage command, that is, a command to continue reading is issued. Even when the input pixel data is compatible with both LUT-A87 and LUT-B89, the same processing as shown here is performed. On the other hand, when the input pixel data does not conform to LUT-A87 and conforms to LUT-B89, the process is performed in the opposite manner.

これに対し、LUT−A87とLUT−B89の両方に不適合であった場合には、LUT−B89を直ちに更新する指令が部分LUT予測部82を経由してDRAM制御部84に送られる。そして、LUT−A87は更新対象となり、次回以降にLUT−B89よりも優先的に更新されるべき旨の指令が部分LUT予測部82に送られる。また、FIFO74に対しては、LUT−B89の更新が終了するまでは、一旦読み出しを中止するべき旨の指令がなされる。   On the other hand, if it is incompatible with both LUT-A 87 and LUT-B 89, a command to immediately update LUT-B 89 is sent to DRAM control unit 84 via partial LUT prediction unit 82. Then, the LUT-A 87 is to be updated, and a command to be updated with priority over the LUT-B 89 is sent to the partial LUT prediction unit 82 after the next time. Further, the FIFO 74 is instructed to stop reading until the update of the LUT-B 89 is completed.

図8は、予測手段としての部分LUT予測部82の構成を説明するブロック図である。部分LUT予測部82は、予測画素データ演算部120、予測時間変更部122、ヒット率評価部126、及び更新処理部124が設けられている。予測画素データ演算部120は、図4を用いて説明したように、入力済みの複数の画素データを基に線形補間を行って、適当な時間後に入力される画素データである予測画素データを求める。予測時間変更部122は、予測画素データ演算部120がどれだけ先の予測画疎データを求めるかを決める予測時間の変更を行う。更新処理部124は、予測画素データ演算部120の予測結果に基づいて、部分LUTを更新するか否か、LUT−A87とLUT−B89のいずれを更新するか、どの範囲をカバーする部分LUTに更新するかなどを決定する。そして、変更手段としてのDRAM制御部84に対し指示を行う。また、ヒット率評価部126は、部分LUT選択制御部80からの情報に基づいて、入力された画素データが参照部76に設定された部分LUTに適合した度合い(これをヒット率と呼ぶ)を評価する。そして、ヒット率に基づいて、予測時間変更部122に予測時間の変更を行わせるか否か決定する。ヒット率評価部126及び予測時間変更部122は、予測態様変更手段の例である。   FIG. 8 is a block diagram illustrating a configuration of the partial LUT prediction unit 82 as a prediction unit. The partial LUT prediction unit 82 includes a prediction pixel data calculation unit 120, a prediction time change unit 122, a hit rate evaluation unit 126, and an update processing unit 124. As described with reference to FIG. 4, the predicted pixel data calculation unit 120 performs linear interpolation based on a plurality of input pixel data, and obtains predicted pixel data that is input after an appropriate time. . The prediction time changing unit 122 changes the prediction time that determines how much the predicted pixel data calculation unit 120 obtains the predicted image sparse data. Based on the prediction result of the prediction pixel data calculation unit 120, the update processing unit 124 determines whether to update the partial LUT, which of the LUT-A87 and LUT-B89 is updated, and which partial LUT covers which range. Decide whether to update. Then, an instruction is given to the DRAM controller 84 as a changing means. Also, the hit rate evaluation unit 126 determines the degree of matching of the input pixel data with the partial LUT set in the reference unit 76 based on information from the partial LUT selection control unit 80 (this is called a hit rate). evaluate. Then, based on the hit rate, it is determined whether or not the prediction time changing unit 122 is to change the prediction time. The hit rate evaluation unit 126 and the prediction time change unit 122 are examples of prediction mode change means.

続いて、図5〜図8に示した構成の動作について説明する。リコンフィギュラブルプロセッサ34の参照処理部70に対しては、RAM16などから画像を構成する画素データが順次入力される。シフトレジスタ72では、その時点で最も新しい(後から入力された)画素データIN0をFIFOに出力する。画素データIN0は、参照部76に入力され、部分LUTに対応するアドレスに変換されて、LUT−A87とLUT−B89に入力される。そして、LUT−A87とLUT−B89は、入力されたアドレスに対応するCMYKの各成分のデータをSEL90に出力する。そして、SEL90で選択されたデータは画像処理部78に出力され、必要な補間処理を受けた後に、RAM16などに出力される。   Next, the operation of the configuration shown in FIGS. 5 to 8 will be described. Pixel data constituting an image is sequentially input from the RAM 16 or the like to the reference processing unit 70 of the reconfigurable processor 34. The shift register 72 outputs the latest pixel data IN0 (input later) to the FIFO at that time. The pixel data IN0 is input to the reference unit 76, converted into an address corresponding to the partial LUT, and input to the LUT-A87 and LUT-B89. Then, the LUT-A 87 and the LUT-B 89 output data of each component of CMYK corresponding to the input address to the SEL 90. The data selected by the SEL 90 is output to the image processing unit 78, and after necessary interpolation processing is output to the RAM 16 or the like.

ここで、この過程における部分LUT選択制御部80の制御について、図9を用いて説明する。部分LUT選択制御部80では、FIFO74による画素データIN0の入力(及び出力)が開始されると(S10)、タグデータ106を参照した上で、適合判定部102が部分LUTの適合性を判定する。図9の例では、LUT−B89が更新用の部分LUTに設定されていることを過程しており、まず、画素データIN0がLUT−A87に適合するか否かが判定される(S12)。その結果、LUT−A87に適合する場合には、LUT−A87が採用される(S14)。そして、指示処理部100は、図7の表に示したように、SEL90に対しLUT−A87の出力を選択するように指示し、FIFO74に対しては読み込みの継続を指示する。なお、更新用の部分LUTはLUT−B89に設定されたまま変更されない。   Here, the control of the partial LUT selection control unit 80 in this process will be described with reference to FIG. In the partial LUT selection control unit 80, when the input (and output) of the pixel data IN0 by the FIFO 74 is started (S10), the matching determination unit 102 determines the suitability of the partial LUT after referring to the tag data 106. . In the example of FIG. 9, it is in the process that the LUT-B 89 is set as the partial LUT for update. First, it is determined whether or not the pixel data IN0 conforms to the LUT-A 87 (S12). As a result, when it conforms to LUT-A87, LUT-A87 is adopted (S14). Then, as shown in the table of FIG. 7, the instruction processing unit 100 instructs the SEL 90 to select the output of the LUT-A 87, and instructs the FIFO 74 to continue reading. Note that the partial LUT for update is not changed while being set in the LUT-B89.

他方、LUT−A87に適合しない場合には、LUT−B89に適合するか否かが判定される(S16)。そして、LUT−B89に適合した場合には、LUT−B89が採用され(S18)、SEL90に対してはLUT−B89からの出力を選択する指示がなされる。また、部分LUT予測部82に対しては、LUT−A87を更新用に設定する旨の指示が送られる(S20)。   On the other hand, if it does not conform to LUT-A87, it is determined whether or not it conforms to LUT-B89 (S16). If the LUT-B89 is matched, the LUT-B89 is adopted (S18), and the SEL90 is instructed to select the output from the LUT-B89. Also, an instruction to set the LUT-A 87 for update is sent to the partial LUT prediction unit 82 (S20).

LUT−B89にも適合しなかった場合には、SEL90に対しては、LUT−B89からの出力を選択するよう指示がなされる一方、FIFO74に対して読み込みの停止が指示される(S24)。そして、部分LUT予測部82を通じてLUT−B89の更新が行われ(S26)、更新が完了するとFIFO74に対し読み込み再開が指示される(S28)。最後に、LUT−A87が更新用に設定される(S30)。   If the LUT-B 89 is not matched, the SEL 90 is instructed to select the output from the LUT-B 89, while the FIFO 74 is instructed to stop reading (S24). Then, the LUT-B 89 is updated through the partial LUT prediction unit 82 (S26), and when the update is completed, reading restart is instructed to the FIFO 74 (S28). Finally, LUT-A 87 is set for update (S30).

続いて、図10を用いて、部分LUT予測部82の動作について説明する。画素データが参照処理部70に入力されると(S40)、シフトレジスタ72は、画素データIN0よりも前に入力された三つの画素データIN3,IN2,IN1(これらは連続して入力されたものでも、何個か置きに選択されたものでもよい)を生成し、部分LUT予測部82に入力する(S42)。予測画素データ演算部120では、画素データIN3,IN2,IN1を用いて、線形補間を行い、予測画素データM1〜M3を順次生成する(S44)。次いで、更新処理部124は、まずM1を選択して(S46)、更新用の部分LUTとM1との適合性を調べ、更新用LUTを更新する必要があるか否かを確認する(S48,S50)。その結果、更新の必要性がないと判定された場合には、M2,M3の順で同様の処理を繰り返す(S52,S54,S46)。そして、M3に対しても更新の必要性がないと判断されたときは、次の画素データの組を対象として同様の処理を繰り返す(S54,S42)。他方、更新の必要があると判定された場合には、更新処理部124は、どの範囲の部分LUTへと更新するかを決定し(S56)、DRAM制御部84に更新用の部分LUTを更新させる(S58)。なお、更新処理部124では、部分LUT選択制御部80から、適合する部分LUTがない旨の連絡を受けると、更新用の部分LUTに対する更新を行い、処理中の画素データIN0の値に適合するデータを設定する。   Next, the operation of the partial LUT prediction unit 82 will be described with reference to FIG. When the pixel data is input to the reference processing unit 70 (S40), the shift register 72 causes the three pixel data IN3, IN2, IN1 input before the pixel data IN0 (these are input consecutively). However, some may be selected every other number) and input to the partial LUT prediction unit 82 (S42). The predicted pixel data calculation unit 120 performs linear interpolation using the pixel data IN3, IN2, and IN1, and sequentially generates predicted pixel data M1 to M3 (S44). Next, the update processing unit 124 first selects M1 (S46), checks the compatibility between the update partial LUT and M1, and confirms whether or not the update LUT needs to be updated (S48, S50). As a result, if it is determined that there is no need for updating, the same processing is repeated in the order of M2 and M3 (S52, S54, S46). When it is determined that there is no need to update M3, the same processing is repeated for the next set of pixel data (S54, S42). On the other hand, if it is determined that the update is necessary, the update processing unit 124 determines which range of the partial LUT to update (S56), and updates the partial LUT for update to the DRAM control unit 84. (S58). When the update processing unit 124 receives notification from the partial LUT selection control unit 80 that there is no matching partial LUT, the update processing unit 124 updates the partial LUT for update and matches the value of the pixel data IN0 being processed. Set the data.

次に、図11と図12を用いて、部分LUT予測部82の予測時間変更部122及びヒット率評価部126の動作について説明する。図11は、動作の流れを表すフローチャートであり、図12は、図4に対応する模式的な説明図である。   Next, the operations of the prediction time changing unit 122 and the hit rate evaluating unit 126 of the partial LUT prediction unit 82 will be described with reference to FIGS. 11 and 12. FIG. 11 is a flowchart showing the flow of operation, and FIG. 12 is a schematic explanatory diagram corresponding to FIG.

図11に示すように、予測時間変更部122は、はじめ、予測時間をTαサイクル(制御信号のサイクルで時間を表現している)に設定して予測を行う。予測時間のTαサイクルは、予測の結果、部分LUTの更新を行うことになった場合に必要となる所要時間に基づいて決められているおり、例えば所要時間と同じサイクル数(部分LUTの大きさにもよるが1000サイクル程度)に設定される。図12に示した例では、画素データIN3,IN2,IN1の線形補間の結果、予測時間をTαサイクルの後には、予測画素データMαが入力されると予測されている。この予測結果は、実際に入力される画素データINαとは大きく相違している。このため、画素データINαは、その時点で参照部76に設定されているLUT−A87とLUT−B89のいずれにも適合せず、ミスヒットが発生することになる。予測時間変更部122は、このようなミスヒットがY回中X回以上発生するまでは、予測時間をTαにサイクル維持する(S62)。そして、ミスヒットがY回中X回以上発生した場合には、予測時間変更部122は、予測画素データ演算部120における予測時間をTαサイクルよりも短いTβサイクルに変更する(S64)。これは、図12に示した例では、画素データIN3,IN2,IN1を線形補間してTβ時間後に予測画素データMβが入力されると予測することに相当する。これにより、一般的には、実際に入力される画素データINβとの差(予測誤差)が減少する。   As shown in FIG. 11, the prediction time changing unit 122 first performs prediction by setting the prediction time to the Tα cycle (time is expressed by the cycle of the control signal). The Tα cycle of the prediction time is determined based on the required time required when the partial LUT is updated as a result of the prediction. For example, the number of cycles equal to the required time (the size of the partial LUT) Depending on the case, it is set to about 1000 cycles). In the example illustrated in FIG. 12, as a result of linear interpolation of the pixel data IN3, IN2, and IN1, it is predicted that the predicted pixel data Mα is input after the prediction time Tα cycles. This prediction result is greatly different from the pixel data INα that is actually input. For this reason, the pixel data INα does not conform to either the LUT-A 87 or the LUT-B 89 set in the reference unit 76 at that time, and a miss hit occurs. The predicted time changing unit 122 maintains the predicted time at Tα until the miss hit occurs X times or more in Y times (S62). When the miss hit occurs X times or more in Y times, the prediction time change unit 122 changes the prediction time in the prediction pixel data calculation unit 120 to a Tβ cycle shorter than the Tα cycle (S64). In the example shown in FIG. 12, this corresponds to predicting that the pixel data IN3, IN2, and IN1 are linearly interpolated and the predicted pixel data Mβ is input after Tβ time. As a result, generally, the difference (prediction error) from the pixel data INβ that is actually input is reduced.

その後、Y回連続してヒットに成功(ミスヒットがない)場合には(S66)、再び予測時間をTαに設定し、予測に要する時間の節約が図られる。他方、Y回中X回以上ミスヒットが発生しない場合には、予測時間Tβが維持され(S68)、再びY回中X回以上ミスヒットが発生した場合には、予測時間変更部122は、予測画素データ演算部120における予測時間をTβよりも短いTγサイクルに変更する(S70)。図12に示したように、一般に、予測時間がTγサイクルの場合における予測画素データMγと実際に入力される画素データINγとの差は、予測時間がTβサイクルの場合に比べてさらに小さくなり、ミスヒットも減少する。そして、Y回連続してヒットに成功した場合には、予測時間がTβサイクルに戻される(S72)。予測時間をどの程度に変更するか、また、どのような条件を満たしたときに変更するかは、全体の所要時間を短縮化することを考えて決定される。   Thereafter, if the hit succeeds Y times consecutively (no miss hit) (S66), the prediction time is set to Tα again, and the time required for prediction is saved. On the other hand, when no miss occurs in X times in Y times, the prediction time Tβ is maintained (S68), and when a miss occurs in X times in Y times again, the prediction time changing unit 122 The prediction time in the prediction pixel data calculation unit 120 is changed to a Tγ cycle shorter than Tβ (S70). As shown in FIG. 12, generally, the difference between the predicted pixel data Mγ and the actually input pixel data INγ when the predicted time is Tγ cycles is smaller than that when the predicted time is Tβ cycles, Miss hits are also reduced. If the hit succeeds Y times continuously, the prediction time is returned to the Tβ cycle (S72). The extent to which the prediction time is changed, and what conditions are to be changed are determined in consideration of shortening the overall required time.

最後に、図13を用いて、リコンフィギュラブルプロセッサ34を再構成して、部分LUTの更新を行う例について説明する。図13(a)は、図5のリコンフィギュラブルプロセッサ34に対応する図である。すなわち、参照処理部70、参照部76、及び画像処理部78が設けられ、参照部76には部分LUTとしてのLUT−A87とLUT−B89が構築されている。ここで、部分LUT予測部82によって、LUT−B89を更新すべき旨の判定が下されたとする。このとき、図5に示した例では、リコンフィギュラブルプロセッサ34の外部にあるDRAM制御部84によって、RAM16に格納されたLUT92の一部が読み出され、データメモリ86,88の所定のアドレスに格納された。これに対し、図13に示した例では、リコンフィギュラブルプロセッサ34の再構成が行われ、図13(b)に示す論理が設定される。具体的には、図13(b)では、参照処理部70と画像処理部78とが、図13(a)と同じ位置に設けられている。また、参照部76中のLUT−A87は、再構成後まで値が保全されている。そして、参照処理部70によってLUT−A87を参照し、参照結果を画像処理部78に出力する結線論理も図13(a)と同様にして設定されている。しかし、参照処理部70によってLUT−B89を参照し、参照結果を画像処理部78に出力する結線論理は、図13(b)では設定されていない。   Finally, an example in which the reconfigurable processor 34 is reconfigured and the partial LUT is updated will be described with reference to FIG. FIG. 13A corresponds to the reconfigurable processor 34 of FIG. That is, a reference processing unit 70, a reference unit 76, and an image processing unit 78 are provided, and the reference unit 76 is configured with LUT-A87 and LUT-B89 as partial LUTs. Here, it is assumed that the partial LUT prediction unit 82 determines that the LUT-B 89 should be updated. At this time, in the example shown in FIG. 5, a part of the LUT 92 stored in the RAM 16 is read by the DRAM control unit 84 outside the reconfigurable processor 34, and the predetermined addresses of the data memories 86 and 88 are read. Stored. On the other hand, in the example shown in FIG. 13, the reconfigurable processor 34 is reconfigured and the logic shown in FIG. 13B is set. Specifically, in FIG. 13B, the reference processing unit 70 and the image processing unit 78 are provided at the same position as in FIG. The value of the LUT-A 87 in the reference unit 76 is maintained until after reconfiguration. The connection logic for referring to the LUT-A 87 by the reference processing unit 70 and outputting the reference result to the image processing unit 78 is also set in the same manner as in FIG. However, the connection logic for referring to the LUT-B 89 by the reference processing unit 70 and outputting the reference result to the image processing unit 78 is not set in FIG.

代わりに、図13(b)では、リコンフィギュラブルプロセッサ34中の未使用のALUエレメントの論理仕様を変更することにより、部分LUTセット部130が設定されている。この部分LUTセット部130は、図5に示したRAM16からLUT92の一部のデータを入力し、適当なアドレスを設定してLUT−B89を更新するものである。部分LUTセット部130は、その論理をハードウエア的に構築されているため、ソフトウエア的な処理に比べて高速に(例えば書き込み時間が1/1000程度になる)LUT−B89の更新を行う。そして、これと並列的に、参照処理部70によるLUT−A87の参照と、画像処理部78による参照結果を利用した色変換処理が行われる。やがて、LUT−B89の更新が完了すると、再び図13(a)に示す論理が設定され、LUT−A87とLUT−B89を選択した色変換処理が行われる。   Instead, in FIG. 13B, the partial LUT setting unit 130 is set by changing the logical specifications of unused ALU elements in the reconfigurable processor 34. The partial LUT setting unit 130 inputs a part of the data of the LUT 92 from the RAM 16 shown in FIG. 5, sets an appropriate address, and updates the LUT-B 89. Since the partial LUT set unit 130 is constructed by hardware, the partial LUT set unit 130 updates the LUT-B 89 at a higher speed (for example, the write time is about 1/1000) compared to software processing. In parallel with this, a color conversion process is performed using the reference of the LUT-A 87 by the reference processing unit 70 and the reference result of the image processing unit 78. When the update of the LUT-B 89 is completed, the logic shown in FIG. 13A is set again, and the color conversion process with the LUT-A 87 and LUT-B 89 selected is performed.

本実施の形態にかかる画像処理装置の構成例を示す概略図である。It is the schematic which shows the structural example of the image processing apparatus concerning this Embodiment. LUTを用いた色変換の例を説明する図である。It is a figure explaining the example of the color conversion using LUT. LUTと入力される画素データとの関係を例示する模式図である。It is a schematic diagram which illustrates the relationship between LUT and input pixel data. 入力される画素データのデータ特性の予測原理を例示する図である。It is a figure which illustrates the prediction principle of the data characteristic of the pixel data input. リコンフィギュラブルプロセッサに設定される論理の例を示す図である。It is a figure which shows the example of the logic set to a reconfigurable processor. 部分LUT選択制御部の構成例を説明する図である。It is a figure explaining the structural example of a partial LUT selection control part. 部分LUT選択制御部で行われる判定結果と処理態様を示す表である。It is a table | surface which shows the determination result performed by a partial LUT selection control part, and a processing mode. 部分LUT予測部の構成例を説明する図である。It is a figure explaining the structural example of a partial LUT prediction part. 部分LUT選択制御部における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in a partial LUT selection control part. 部分LUT予測部における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in a partial LUT prediction part. 予測時間を変更する制御について説明するフローチャートである。It is a flowchart explaining the control which changes prediction time. 予測時間の変更について説明する模式図である。It is a schematic diagram explaining the change of prediction time. リコンフィギュラブルプロセッサの再構成例について説明する図である。FIG. 10 is a diagram for describing a reconfiguration example of a reconfigurable processor.

符号の説明Explanation of symbols

10 画像処理装置、11 内部バス、12 CPU、14 ROM、16 RAM、18 HDD、20 再構成可能システム、21 UI、22 スキャナ、24 プリンタ、26 CDD、28 ネットワークインタフェース、30 ネットワーク、32 コンフィグメモリ、34 リコンフィギュラブルプロセッサ、40 アドレス変換処理部、42〜48,86,88 データメモリ、50〜56 補間処理部、70 参照処理部、72 シフトレジスタ、76 参照部、78 画像処理部、80 部分LUT選択制御部、82 部分LUT予測部、84 DRAM制御部、87 LUT−A、89 LUT−B、90 SEL、100 指示処理部、102 適合判定部、104 タグデータ変更部、106 タグデータ、120 予測画素データ演算部、122 予測時間変更部、124 更新処理部、126 ヒット率評価部、130 部分LUTセット部。   10 image processing apparatus, 11 internal bus, 12 CPU, 14 ROM, 16 RAM, 18 HDD, 20 reconfigurable system, 21 UI, 22 scanner, 24 printer, 26 CDD, 28 network interface, 30 network, 32 configuration memory, 34 reconfigurable processor, 40 address conversion processing unit, 42 to 48, 86, 88 data memory, 50 to 56 interpolation processing unit, 70 reference processing unit, 72 shift register, 76 reference unit, 78 image processing unit, 80 partial LUT Selection control unit, 82 partial LUT prediction unit, 84 DRAM control unit, 87 LUT-A, 89 LUT-B, 90 SEL, 100 instruction processing unit, 102 conformity determination unit, 104 tag data change unit, 106 tag data, 120 prediction Pixel data calculation , 122 estimated time changing unit, 124 update processing unit, 126 hit rate evaluation unit, 130 partial LUT set unit.

Claims (5)

処理対象データを入力する入力手段と、
前記処理対象データがとり得るすべてのデータ値の各々について当該データ値に対応する参照データが登録された表である参照表を記憶する第1の記憶手段と、
参照表を構成する複数の参照データの部分集合である部分参照表を複数記憶する第2の記憶手段であって、前第2の記憶手段の容量は前記参照表全体のデータ量よりも小さいため前記第2の記憶手段に記憶された複数の部分参照表は前記参照表全体のうちの一部しかカバーしておらず、かつ前記第2の記憶手段に記憶された複数の部分参照表は、それぞれ当該部分参照表に含まれる参照データに対応する前記データ値の範囲であるデータ範囲が互いに異なっていることを特徴とする第2の記憶手段と、
入力した処理対象データの前記データ値に応じて、前記第2の記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応する前記データ範囲を持つ部分参照表がある場合には、当該部分参照表を選択部分参照表として選択し、前記第2の記憶手段に記憶された前記複数の部分参照表の中に当該データ値に対応するデータ範囲を持つ部分参照表がない場合には、当該データ値に対応するデータ範囲を持つ部分参照表を前記参照表から取得し、前記第2の記憶手段に記憶されている前記複数の部分参照表のうちのいずれかを当該取得した部分参照表に変更してから、前記第2の記憶手段内にある当該変更された部分参照表を選択部分参照表として選択し、選択した当該選択部分参照表から当該データ値に対応する参照データを参照する参照手段と、
前記入力した処理対象データの前記データ値に応じて前記参照手段が前記第2の記憶手段内の前記選択部分参照表から参照した前記参照データを用いて、前記処理対象データに対するデータ処理を行うデータ処理手段と、
前記入力した処理対象データのデータ値から、今後入力される処理対象データの前記データ値を予測する予測手段と、
前記予測手段が予測した前記今後入力される処理対象データの前記データ値が、前記第2の記憶手段に記憶された前記複数の部分参照表のいずれの前記データ範囲にも含まれない場合に、前記今後入力される処理対象データの前記データ値を含んだ前記データ範囲に対応する部分参照表を前記参照表から取得し、前記第2の記憶手段に記憶された前記複数の部分参照表のうち、前記選択部分参照表以外の一又は二以上の部分参照表を、当該取得した部分参照表に変更する変更手段と、
論理仕様を再構成可能な再構成可能回路と、
前記再構成可能回路の論理仕様を再構成する再構成手段と、
を備え
前記参照手段、前記データ処理手段、及び前記変更手段による各処理の少なくとも一部は、前記再構成可能回路に設定された論理に基づいて行われ、
前記再構成手段は、前記予測手段が予測した前記今後入力される処理対象データの前記データ値が、前記記憶手段に記憶された前記複数の部分参照表のいずれの前記データ範囲にも含まれない場合に、前記再構成可能回路を再構成して、変更対象となった前記部分参照表を前記変更手段が変更する論理を設定し、かつ、前記部分参照表が変更された後に前記再構成可能回路を再構成して、変更された前記部分参照表を前記参照手段が参照する論理、及び、変更された前記部分参照表の参照結果に基づいて前記データ処理手段がデータ処理を行う論理を設定する、
ことを特徴とするデータ処理装置。
An input means for inputting data to be processed;
First storage means for storing a reference table that is a table in which reference data corresponding to the data value is registered for each of all the data values that can be taken by the processing target data;
The partial reference tables is a subset of the plurality of reference data constituting the reference table and a second storage means for storing a plurality, the capacity before Symbol second storage means is smaller than the data amount of the entire lookup table Therefore, the plurality of partial reference tables stored in the second storage means cover only a part of the entire reference table, and the plurality of partial reference tables stored in the second storage means are A second storage means characterized in that data ranges that are ranges of the data values corresponding to the reference data included in the partial reference table are different from each other;
When there is a partial reference table having the data range corresponding to the data value in the plurality of partial reference tables stored in the second storage unit according to the data value of the input processing target data Selects the partial reference table as the selected partial reference table, and there is no partial reference table having a data range corresponding to the data value in the plurality of partial reference tables stored in the second storage unit For acquiring a partial reference table having a data range corresponding to the data value from the reference table, and acquiring any one of the plurality of partial reference tables stored in the second storage means After changing to the partial reference table, the changed partial reference table in the second storage means is selected as the selected partial reference table, and the reference data corresponding to the data value from the selected selected partial reference table Refer to A reference means,
Data that performs data processing on the processing target data using the reference data that the reference unit refers to from the selected part reference table in the second storage unit according to the data value of the input processing target data Processing means;
A prediction means for predicting the data value of the processing target data to be input in the future from the data value of the input processing target data;
When the data value of the processing target data that is input in the future predicted by the prediction unit is not included in any of the data ranges of the plurality of partial reference tables stored in the second storage unit, The partial reference table corresponding to the data range including the data value of the processing target data to be input in the future is acquired from the reference table, and among the plurality of partial reference tables stored in the second storage unit A changing means for changing one or more partial reference tables other than the selected partial reference table to the acquired partial reference table;
A reconfigurable circuit capable of reconfiguring the logic specification; and
Reconfiguring means for reconfiguring the logic specification of the reconfigurable circuit;
Equipped with a,
At least a part of each processing by the reference unit, the data processing unit, and the changing unit is performed based on logic set in the reconfigurable circuit,
In the restructuring unit, the data value of the processing target data input in the future predicted by the prediction unit is not included in any of the data ranges of the plurality of partial reference tables stored in the storage unit In this case, the reconfigurable circuit is reconfigured, the logic for changing the partial reference table to be changed is set by the changing means, and the reconfigurable circuit is changed after the partial reference table is changed. Reconfigure the circuit and set the logic for the reference means to reference the changed partial reference table, and the logic for the data processing means to perform data processing based on the reference result of the changed partial reference table To
A data processing apparatus.
請求項に記載のデータ処理装置において、
前記再構成可能回路は、論理仕様を変更可能な複数の記憶回路を備え、
前記第2の記憶手段は、二以上の前記論理回路に一又は二以上の前記部分参照表を記憶し、
前記変更手段は、前記選択部分参照表が記憶されていない前記論理回路に記憶された一又は二以上の前記部分参照表を変更する、
ことを特徴とするデータ処理装置。
The data processing apparatus according to claim 1 ,
The reconfigurable circuit includes a plurality of storage circuits capable of changing a logical specification,
The second storage means stores one or more partial reference tables in two or more logic circuits,
The changing means changes one or more of the partial reference tables stored in the logic circuit in which the selected partial reference table is not stored.
A data processing apparatus.
請求項に記載のデータ処理装置において、
前記記憶回路の容量は前記参照表の大きさに比べて小さい、ことを特徴とするデータ処理装置。
The data processing apparatus according to claim 2 , wherein
The data processing apparatus according to claim 1, wherein a capacity of the storage circuit is smaller than a size of the reference table.
請求項1に記載のデータ処理装置において、
前記参照手段により選択されるべき部分参照表が前記第2の記憶手段により記憶されていない場合に、前記予測手段による前記処理対象データの予測態様を変更する予測態様変更手段を備える、ことを特徴とするデータ処理装置。
The data processing apparatus according to claim 1,
And a prediction mode changing unit that changes a prediction mode of the processing target data by the prediction unit when a partial reference table to be selected by the reference unit is not stored in the second storage unit. A data processing device.
請求項1乃至のいずれか1項に記載のデータ処理装置において
前記処理対象データは、画像を構成する画素データであり、
前記データ値は、前記画素データの画素値である、ことを特徴とするデータ処理装置。
The data processing device according to any one of claims 1 to 4 , wherein the processing target data is pixel data constituting an image,
The data processing device according to claim 1, wherein the data value is a pixel value of the pixel data.
JP2007186850A 2007-07-18 2007-07-18 Data processing apparatus and data processing program Expired - Fee Related JP5034738B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007186850A JP5034738B2 (en) 2007-07-18 2007-07-18 Data processing apparatus and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007186850A JP5034738B2 (en) 2007-07-18 2007-07-18 Data processing apparatus and data processing program

Publications (2)

Publication Number Publication Date
JP2009025954A JP2009025954A (en) 2009-02-05
JP5034738B2 true JP5034738B2 (en) 2012-09-26

Family

ID=40397720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007186850A Expired - Fee Related JP5034738B2 (en) 2007-07-18 2007-07-18 Data processing apparatus and data processing program

Country Status (1)

Country Link
JP (1) JP5034738B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02260027A (en) * 1989-03-31 1990-10-22 Canon Inc Printer
JP3305266B2 (en) * 1998-07-24 2002-07-22 キヤノン株式会社 Image processing method
JP2002057910A (en) * 2000-08-07 2002-02-22 Canon Inc Image processing unit, image processing method, and storage medium
JP2004274131A (en) * 2003-03-05 2004-09-30 Canon Inc Color conversion apparatus
JP3756888B2 (en) * 2003-04-17 2006-03-15 株式会社東芝 Graphics processor, graphics card and graphics processing system
JP4284520B2 (en) * 2003-12-02 2009-06-24 富士ゼロックス株式会社 Image forming apparatus, calibration method, and program thereof
JP2007124230A (en) * 2005-10-27 2007-05-17 Seiko Epson Corp Image forming apparatus, color converting device, and method of generating color conversion look-up table
JP2007158968A (en) * 2005-12-07 2007-06-21 Canon Inc Information processing apparatus and information processing method

Also Published As

Publication number Publication date
JP2009025954A (en) 2009-02-05

Similar Documents

Publication Publication Date Title
JP5504985B2 (en) Data processing device
JP2010118081A (en) Array transformation in behavioral synthesis tool
JPH06131155A (en) Sequential processing apparatus which can be reconstituted
KR20060025582A (en) Variable tap filter architecture for image processing
JP5023856B2 (en) Arithmetic processing device and arithmetic processing program
US20100228958A1 (en) Information processing apparatus, method for controlling information processing apparatus and computer readable medium
JP5776306B2 (en) Image data processing apparatus and program
US7680980B2 (en) Image forming apparatus
JP5034738B2 (en) Data processing apparatus and data processing program
JP5277615B2 (en) Data processing apparatus and data processing program
WO2017010127A1 (en) Information processing device, method, and program
JP2006302132A (en) Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit
JP5205843B2 (en) Arithmetic processing device and arithmetic processing program
JP5835498B2 (en) LSI and LSI manufacturing method
JP3836109B2 (en) Programmable logic circuit control device, programmable logic circuit control method, and program
JP2002229771A (en) Pointer register device and pointer value updating method
JP6919072B2 (en) Image processing device
JP2005190343A (en) Programmable logic circuit control device, method and program
KR102290229B1 (en) Data generating device for parallel processing
JP7012168B2 (en) Arithmetic processing unit
JP4646854B2 (en) Control information supply device
JP6379757B2 (en) Image processing apparatus and image forming apparatus
JP4760819B2 (en) Information processing apparatus and information processing program
JP4821427B2 (en) Data processing apparatus and program thereof
WO2011147442A1 (en) Indirect register access for a programmable logic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120509

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: 20120605

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: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees