JP4402523B2 - DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM - Google Patents

DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM Download PDF

Info

Publication number
JP4402523B2
JP4402523B2 JP2004166335A JP2004166335A JP4402523B2 JP 4402523 B2 JP4402523 B2 JP 4402523B2 JP 2004166335 A JP2004166335 A JP 2004166335A JP 2004166335 A JP2004166335 A JP 2004166335A JP 4402523 B2 JP4402523 B2 JP 4402523B2
Authority
JP
Japan
Prior art keywords
grid
input value
interval
interpolation
input
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
JP2004166335A
Other languages
Japanese (ja)
Other versions
JP2005348180A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004166335A priority Critical patent/JP4402523B2/en
Publication of JP2005348180A publication Critical patent/JP2005348180A/en
Application granted granted Critical
Publication of JP4402523B2 publication Critical patent/JP4402523B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、データを変換処理するデータ変換方法、データ変換装置、プログラム及び記憶媒体に関する。 The present invention relates to a data conversion method for conversion of data, data conversion equipment, related program, and a storage medium.

画像データの色空間変換処理は、一般に非線形な変換となるため、代表的な入力値に対する出力値を格納したルックアップテーブルと、代表的な入力値以外の入力値に対する出力値を計算するための補間演算とを組み合わせた変換方式が用いられる。   Since color space conversion processing of image data is generally non-linear conversion, a lookup table storing output values for representative input values and an output value for calculating input values other than the representative input values are calculated. A conversion method combined with an interpolation operation is used.

ここで、代表的な入力値の設定方式としては、2のべき乗(8、16、32等)単位の等間隔で代表値を設定するのが一般的であり、R(赤),G(緑),B(青)のように3つの色成分からなる色空間を入力として、他の色空間にデータ変換を行う場合、図11に示すように、入力値の値域を示す3次元の直方体の各辺を等間隔にグリッド分割(図11では4等分)して、そのグリッドの各頂点を代表的な入力値として、対応する出力値をルックアップテーブルに格納する。   Here, as a typical input value setting method, it is common to set representative values at equal intervals of a power of 2 (8, 16, 32, etc.), and R (red), G (green) ), B (blue), when a color space consisting of three color components is input and data conversion is performed to another color space, as shown in FIG. 11, a three-dimensional rectangular parallelepiped indicating the range of input values is shown. Each side is divided into grids at equal intervals (four equal parts in FIG. 11), and the corresponding output values are stored in the lookup table with each vertex of the grid as a representative input value.

このように、2のべき乗単位の等間隔グリッド分割を行う理由は、入力値からルックアップテーブルを参照するためのアドレスを計算することと、補間演算の重み付け係数の計算が単純化できるためであり、このような等間隔グリッド分割を行った場合の従来のデータ変換装置の構成例を図12に示す。   As described above, the reason for performing the equidistant grid division of the power unit of 2 is that it is possible to simplify the calculation of the address for referring to the lookup table from the input value and the calculation of the weighting coefficient of the interpolation operation. FIG. 12 shows a configuration example of a conventional data conversion apparatus when such an equidistant grid division is performed.

図12は、入力値が各8ビットで3つの成分から成り、等間隔グリッド分割(グリッド間隔16)を行った場合のデータ変換装置の構成例を示す。   FIG. 12 shows an example of the configuration of the data conversion apparatus when the input value is composed of three components with 8 bits each, and equidistant grid division (grid interval 16) is performed.

図12において、1201,1202,1203は、それぞれ8ビットの入力値であり、その値域は0から255となる。これら3つの入力値1201〜1203がRGB画像データであった場合、それぞれが、R(赤)成分、G(緑)成分、B(青)成分に対応することになる。1204はテーブルアドレス生成部で、各入力値1201〜1203のMSB4ビットを受け取り、各入力値1201〜1203のグリッド番号から、後述するルックアップテーブル1205における対応データのアドレスを計算するものである。補間のためには、通常、複数のテーブル出力を必要とするが、四面体補間の場合は、どの四面体を使用するかを決定しないとテーブルアドレスが求められないため、後述する四面体決定部1206から選択された四面体の情報を得て、補間に必要な全点のアドレスを計算する。   In FIG. 12, 1201, 1202, and 1203 are 8-bit input values, and their value ranges are from 0 to 255. When these three input values 1201 to 1203 are RGB image data, each corresponds to an R (red) component, a G (green) component, and a B (blue) component. A table address generation unit 1204 receives the MSB 4 bits of the input values 1201 to 1203 and calculates the address of corresponding data in a lookup table 1205 described later from the grid numbers of the input values 1201 to 1203. For interpolation, usually a plurality of table outputs are required. However, in the case of tetrahedral interpolation, the table address cannot be obtained unless it is determined which tetrahedron is used. The information of the tetrahedron selected from 1206 is obtained, and the addresses of all points necessary for interpolation are calculated.

1205はルックアップテーブルで、代表的な入力値に対する出力値を格納したテーブルであり、ここでは、入力値をグリッド間隔16で等間隔グリッド分割を行っているため、各入力値1201〜1203について、値0、16、32、48、(途中略)、224、240、255に対応するグリッド頂点の出力値が格納されており、このルックアップテーブル1205に格納されたデータの総数は、17×17×17となる。   1205 is a look-up table, which is a table storing output values for typical input values. Here, since the input values are divided into equidistant grids with a grid interval of 16, the input values 1201 to 1203 are Output values of grid vertices corresponding to values 0, 16, 32, 48, (middle), 224, 240, 255 are stored, and the total number of data stored in the lookup table 1205 is 17 × 17. X17.

なお、最大入力値255に対応する出力値をルックアップテーブル1205に格納しておくため、最後のグリッド間隔だけが255−240=15となっている。このため、最大入力値255や入力値240〜254に対して特別な扱いを行うことも有り得るが、データ変換装置の構成全体に影響を与えるものではないため、ここでは説明しない。状況によっては、最大入力値255の代わりに、仮想的な入力値256を用いることで、最後のグリッド間隔は16となり、特別な扱いは不要となる。このグリッド間隔15の最終グリッドの特別扱いのことを別にすると、各入力値1201〜1203の8ビットのうち、MSB4ビットがどのグリッドに属しているかを示すグリッド番号(0〜15)を示し、LSB4ビットがグリッド内における相対的な位置を示している。   Since the output value corresponding to the maximum input value 255 is stored in the lookup table 1205, only the last grid interval is 255-240 = 15. For this reason, the maximum input value 255 and the input values 240 to 254 may be treated specially, but they do not affect the overall configuration of the data conversion apparatus, and thus will not be described here. Depending on the situation, by using the virtual input value 256 instead of the maximum input value 255, the last grid interval becomes 16, and no special treatment is required. Aside from the special handling of the final grid with the grid interval 15, the grid number (0 to 15) indicating which grid the MSB 4 bits belong to among the 8 bits of the input values 1201 to 1203 is shown, and the LSB 4 Bits indicate relative positions within the grid.

1206は四面体決定部で、後述する補間演算部1207で四面体補間を行う場合に必要となる部分で、各入力値1201〜1203のLSB4ビットを受け取り、それらの大小関係から、グリッド内での入力値の相対的な位置関係を求めて、どの四面体を補間に用いるか決定するものである。また、四面体決定部1206は、決定した四面体に応じて、補間で使用される補間係数も計算するものである。   Reference numeral 1206 denotes a tetrahedron determination unit, which is necessary when performing tetrahedral interpolation by an interpolation calculation unit 1207 described later. The LSB 4 bits of the input values 1201 to 1203 are received, and from the magnitude relationship between them, the size in the grid is received. The relative positional relationship of the input values is obtained, and which tetrahedron is used for interpolation is determined. Further, the tetrahedron determination unit 1206 calculates an interpolation coefficient used in the interpolation according to the determined tetrahedron.

1207は補間演算部で、ルックアップテーブル1205からテーブル出力値を、四面体決定部1206から補間係数をそれぞれ受け取って、四面体補間による補間演算を行い、補間出力値を出力するものである。ここでは、四面体補間で説明したが、補間演算部1207で行う補間演算処理は、四面体補間以外の方式でも良い。   An interpolation calculation unit 1207 receives a table output value from the lookup table 1205 and an interpolation coefficient from the tetrahedron determination unit 1206, performs an interpolation calculation by tetrahedral interpolation, and outputs an interpolation output value. Here, tetrahedral interpolation has been described, but the interpolation calculation processing performed by the interpolation calculation unit 1207 may be a method other than tetrahedral interpolation.

図12を用いて説明したように、等間隔グリッド分割を用いると、比較的単純な構成でデータ変換装置を構成できるが、色空間データ変換処理が非線形性を持つため、単純な等間隔グリッド分割では、データ変換誤差が大きくなってしまう場合がある。   As described with reference to FIG. 12, when using equidistant grid division, a data conversion apparatus can be configured with a relatively simple configuration. However, since color space data conversion processing has non-linearity, simple equidistant grid division is possible. Then, a data conversion error may become large.

そこで、図13に示すように、不等間隔グリッド分割を行い、非線形性の強い部分をより細かく分割することで、データ変換誤差の低減を図ることができる。   Therefore, as shown in FIG. 13, the data conversion error can be reduced by performing non-uniform grid division and finely dividing the highly nonlinear portion.

不等間隔グリッドの場合のデータ変換装置の従来例として、特許文献1に示されたデータ変換装置の構成を図14に示す。   FIG. 14 shows a configuration of a data conversion apparatus disclosed in Patent Document 1 as a conventional example of a data conversion apparatus in the case of an unequal interval grid.

図14において、1401,1402,1403はそれぞれ8ビットの入力値であり、各入力値1401〜1403は、MSB3ビットとLSB5ビットの2つに分割されて、後述するアドレス/補間係数生成部1404に入力される。1404はアドレス/補間係数生成部で、後述するルックアップテーブル1405に対して補間で使用される点のアドレスを出力し、後述する補間演算部1406に対して補間係数を出力するものである。1405はルックアップテーブル、1406は補間演算部である。補間演算部1406で行う補間演算処理が四面体補間ではないため、図12の四面体決定部1206に対応する部分は存在していない。1407は粗いサンプルのルックアップテーブル(LUT−1)、1408,1409,1410は細かいサンプルのルックアップテーブル(LUT−2)、1411はアドレス生成部である。   In FIG. 14, 1401, 1402, and 1403 are 8-bit input values, and each of the input values 1401 to 1403 is divided into two, MSB 3 bits and LSB 5 bits, to an address / interpolation coefficient generation unit 1404 described later. Entered. Reference numeral 1404 denotes an address / interpolation coefficient generation unit that outputs an address of a point used for interpolation to a lookup table 1405 described later, and outputs an interpolation coefficient to an interpolation calculation unit 1406 described later. Reference numeral 1405 denotes a lookup table, and 1406 denotes an interpolation calculation unit. Since the interpolation calculation processing performed by the interpolation calculation unit 1406 is not tetrahedral interpolation, there is no portion corresponding to the tetrahedron determination unit 1206 of FIG. 1407 is a coarse sample lookup table (LUT-1), 1408, 1409 and 1410 are fine sample lookup tables (LUT-2), and 1411 is an address generator.

図14における図12との違いは、アドレス/補間係数生成部1404にあるため、その内容に付いて説明する。   The difference between FIG. 14 and FIG. 12 resides in the address / interpolation coefficient generation unit 1404, and the contents will be described.

各入力値1401〜1403のMSB3ビットは集められ、9ビットのアドレスを成して粗いサンプルのルックアップテーブル(図中、LUT−1)1407を参照する。粗いサンプルのルックアップテーブル1407は、入力をグリッド間隔32で等間隔分割した場合の3次元的な各グリッドに対して、次の情報を保持している。   The MSB 3 bits of each input value 1401-1403 are collected and refer to a coarse sample lookup table (LUT-1 in the figure) 1407 forming a 9-bit address. The coarse sample lookup table 1407 holds the following information for each three-dimensional grid when the input is divided at equal intervals by the grid interval 32.

・ベースアドレス : ルックアップテーブル1405において、粗いグリッド(グリッド間隔32の等間隔グリッド)のベース点のデータを指すアドレス。   Base address: In the lookup table 1405, an address indicating the data of the base point of a coarse grid (equally spaced grid with a grid interval of 32).

・サンプルレート : 粗いグリッドが更に細かいグリッドに分割(サブサンプル)されているか否か、また、サブサンプルの比率を示すコード。この情報により、粗いグリッドに属する細かいグリッドのサイズが決定し、グリッドサイズは、各成分に対して、32,8,4,2のいずれかである。   Sample rate: A code indicating whether or not a coarse grid is divided into finer grids (subsamples) and the ratio of subsamples. With this information, the size of the fine grid belonging to the coarse grid is determined, and the grid size is 32, 8, 4 or 2 for each component.

・N、N・NB : ルックアップテーブル1405のアドレス計算を行うために、テーブルのサイズを示す値。粗いグリッドがサブサンプルされている場合、サブサンプルされた値に対するテーブルのサイズは、サブサンプルの比率により決まる。 N A , N A · N B : values indicating the size of the table in order to calculate the address of the lookup table 1405. If the coarse grid is subsampled, the size of the table relative to the subsampled values is determined by the ratio of the subsamples.

これらの情報のうち、ベースアドレスとN、N・NBは、アドレス生成部1411に入力され、サンプルレートは、細かいサンプルのルックアップテーブル(図中、LUT−2)1408,1409,1410に入力される。細かいサンプルのルックアップテーブル1408,1409,1410は、各入力値1401〜1403毎に存在し、入力値のLSB5ビットと、粗いサンプルのルックアップテーブル1407で得られたサンプルレート情報に対して、次の情報を保持している。 Among these pieces of information, the base address, N A , N A · N B are input to the address generation unit 1411, and the sample rate is a fine sample lookup table (LUT-2 in the figure) 1408, 1409, 1410. Is input. Fine sample lookup tables 1408, 1409, and 1410 exist for each input value 1401 to 1403, and for the sample rate information obtained by the LSB 5 bits of the input value and the coarse sample lookup table 1407, Information is retained.

・オフセット : 入力値(LSB5ビット)に応じて、アドレス生成部1411でベースアドレスに加えるべきオフセット値を示す。サンプルレートの示すグリッドサイズが32(サブサンプル無し)の場合は、オフセット値は0であるが、それ以外の場合は、0〜31の入力値に応じて異なるグリッドに属することになる。   Offset: Indicates an offset value to be added to the base address by the address generation unit 1411 according to the input value (LSB 5 bits). When the grid size indicated by the sample rate is 32 (no subsample), the offset value is 0, but in other cases, it belongs to a different grid depending on the input values of 0 to 31.

・補間係数 : サンプルレートの示すグリッドサイズと、入力値とによって決まる補間係数。   Interpolation coefficient: Interpolation coefficient determined by the grid size indicated by the sample rate and the input value.

これらの情報のうち、オフセットはアドレス生成部1411に入力され、補間係数は補間演算部1406に入力される。アドレス生成部1411は、粗いサンプルのルックアップテーブル1407から来るベースアドレス、N、N・NBと、細かいサンプルのルックアップテーブル1408,1409,1410から来るオフセット情報を利用して、ルックアップテーブル1405に対して与えるアドレスを計算する。 Of these pieces of information, the offset is input to the address generation unit 1411, and the interpolation coefficient is input to the interpolation calculation unit 1406. The address generation unit 1411 uses the base address N A and N A · N B coming from the coarse sample lookup table 1407 and the offset information coming from the fine sample lookup tables 1408, 1409, and 1410 to perform lookup. The address given to the table 1405 is calculated.

また、その他に不等間隔グリッドに対応したデータ変換装置の従来例として、入力の各成分の値全てに対して、予め、入力値と該入力値の属するグリッドのベース点との距離を表す正規化された値のテーブルを作成しておき、このテーブルを利用することで、四面体補間の四面体の選択や補間係数の計算を効率的に行うようにしたものが有る(特許文献2参照)。
米国特許第5321797号公報 特開2000−22973号公報
In addition, as a conventional example of a data conversion apparatus that supports non-uniformly spaced grids, a normal that represents the distance between the input value and the base point of the grid to which the input value belongs in advance for all values of each input component There is one in which a table of converted values is created, and by using this table, selection of tetrahedrons for tetrahedral interpolation and calculation of interpolation coefficients are performed efficiently (see Patent Document 2). .
US Pat. No. 5,321,797 JP 2000-221973 A

図14に示した従来のデータ変換装置により、不等間隔グリッドに対応したデータ変換を実現できるが、粗いサンプルのルックアップテーブル1407と、細かいサンプルのルックアップテーブル1408〜1410の2段のテーブル参照を必要とし、特に、粗いサンプルのルックアップテーブル1407のサイズが大きいため、図12に示す等間隔グリッドのデータ変換装置に比べて実装コストが高くなってしまう。   The conventional data conversion apparatus shown in FIG. 14 can realize data conversion corresponding to the unequal interval grid, but the two-stage table reference of the coarse sample lookup table 1407 and the fine sample lookup tables 1408 to 1410 is referred to. In particular, since the size of the coarse-sample lookup table 1407 is large, the mounting cost is higher than that of the data converter of the equidistant grid shown in FIG.

また、アドレス生成部1411において、ベースアドレスとオフセットの加算処理を行う必要があり、アドレス演算処理が複雑化する。   In addition, the address generation unit 1411 needs to perform addition processing of the base address and offset, which complicates the address calculation processing.

また、特許文献2のデータ変換装置は、入力値の全てに対して正規化された距離を示すルックアップテーブルを用意するため、非常に多様な不等間隔グリッドを実現できるが、ルックアップテーブルのサイズが大きくなるため、リソースの限られたデータ変換装置では、実装コストが高くなる。   In addition, since the data conversion apparatus of Patent Document 2 prepares a lookup table indicating distances normalized with respect to all input values, a very diverse unequal interval grid can be realized. Since the size increases, the data conversion device with limited resources increases the implementation cost.

また、ルックアップテーブルを参照するためのアドレス計算については示されていないため、これは、別に解決する必要がある。   Also, since address calculation for referring to the lookup table is not shown, this needs to be solved separately.

そこで、本発明は、上述のような従来技術の欠点に鑑みてなされたものであり、等間隔グリッドのデータ変換を行う場合に対して、実装コストをあまり増加させることなく、不等間隔グリッドのデータ変換を行えるデータ変換方法、データ変換装置、プログラム及び記憶媒体を提供することを目的とする。 Therefore, the present invention has been made in view of the drawbacks of the prior art as described above, and in the case of performing data conversion of an equidistant grid, the non-uniformly spaced grid is not significantly increased in mounting cost. and to provide a data conversion method capable of performing data conversion, data conversion equipment, a program and a storage medium.

上記目的を達成するために、本発明のデータ変換方法は最小間隔と最大間隔との間で不等間隔分割されたグリッドに対応する各成分の入力値において、該入力値の値域を前記最小間隔で分割したエントリに対応する当該入力値の上位ビットを第1のテーブルの入力として、当該入力値に対応するグリッド番号とそのグリッド間隔とに変換する入力値変換工程と、前記入力値において前記最大間隔に対応する下位ビットを、前記第1の変換工程で変換されたグリッド間隔に応じたシフト量でシフトするシフト工程と、前記シフト工程でシフトされた出力値に応じて補間に使用する四面体と補間係数とを決定する決定工程と、前記グリッド番号と前記決定工程で決定された四面体とに基づいて生成されるアドレスで第2のテーブルを参照して出力値を出力する出力工程と、前記出力値を前記補間係数で補間する補間工程とを有することを特徴とする。 In order to achieve the above object, in the data conversion method of the present invention , in the input value of each component corresponding to the grid divided at unequal intervals between the minimum interval and the maximum interval, the range of the input value is reduced to the minimum value. the upper bits of the input value corresponding to the entry is divided at intervals as the input of the first table, the input value conversion step of converting grid numbers corresponding to the input value and the its grid spacing, said in the input value A shift step for shifting lower bits corresponding to the maximum interval by a shift amount corresponding to the grid interval converted in the first conversion step, and four sides used for interpolation according to the output value shifted in the shift step The second table is referred to by an address generated based on a determination step for determining a field and an interpolation coefficient, and the grid number and the tetrahedron determined in the determination step. And having an output step of outputting a value, an interpolation step of interpolating the output value by the interpolation factor.

上記目的を達成するために、本発明のデータ変換装置は最小間隔と最大間隔との間で不等間隔分割されたグリッドに対応する各成分の入力値において、該入力値の値域を前記最小間隔で分割したエントリに対応する当該入力値の上位ビットを第1のテーブルの入力として、当該入力値に対応するグリッド番号とそのグリッド間隔とに変換する入力値変換手段と、前記入力値において前記最大間隔に対応する下位ビットを、前記第1の変換手段で変換されたグリッド間隔に応じたシフト量でシフトするシフト手段と、前記シフト手段でシフトされた出力値に応じて補間に使用する四面体と補間係数とを決定する決定手段と、前記グリッド番号と前記決定工程で決定された四面体とに基づいて生成されるアドレスで第2のテーブルを参照して出力値を出力する出力手段と、前記出力値を前記補間係数で補間する補間手段とを有することを特徴とする。 In order to achieve the above object, the data conversion apparatus of the present invention is configured to reduce the range of the input value in the input value of each component corresponding to the grid divided at non-uniform intervals between the minimum interval and the maximum interval. the upper bits of the input value corresponding to the entry is divided at intervals as the input of the first table, the input value converting means for converting the grid numbers corresponding to the input value and the its grid spacing, said in the input value Shift means for shifting lower bits corresponding to the maximum interval by a shift amount corresponding to the grid interval converted by the first conversion means, and four surfaces used for interpolation according to the output value shifted by the shift means The second table is referred to by an address generated based on a determination means for determining a field and an interpolation coefficient, and the grid number and the tetrahedron determined in the determination step. And having output means for outputting a value, an interpolation means for interpolating the output value by the interpolation factor.

本発明によれば、等間隔グリッドのデータ変換を行う場合に対して、実装コストを増加させることなく、不等間隔グリッドのデータ変換を行える。   According to the present invention, data conversion of non-uniformly spaced grids can be performed without increasing the mounting cost compared to the case of performing data conversion of equally spaced grids.

本発明のデータ変換方法、データ変換装置、プログラム及び記憶媒体の実施形態について、図面を参照しながら説明する。 Data conversion method of the present invention, the data conversion equipment, embodiments of the program and the storage medium will be described with reference to the drawings.

(第1の実施の形態)
まず、本発明の第1の実施の形態を図1乃至図4に基づき説明する。
(First embodiment)
First, a first embodiment of the present invention will be described with reference to FIGS.

なお、説明を具体的に行う都合上、入力値は8ビット、3成分とする。また、本発明でサポートする不等間隔グリッドのグリッド間隔は、2のべき乗サイズであるが、ここでは、4,8,16の3種類のグリッド間隔をサポートするものとする。   For the sake of specific explanation, the input value is assumed to be 8 bits and 3 components. Further, the grid interval of the unequal interval grid supported by the present invention is a power-of-two size, but here, three types of grid intervals of 4, 8, and 16 are supported.

図1は、本発明の第1の実施の形態に係るデータ変換装置の構成を示すブロック図であり、このデータ変換装置は、基本的には、入力値の各成分の値域をグリッド分割し、グリッドに対応する出力値を保持するルックアップテーブルと、補間演算手段とによりデータ変換を行うものである。   FIG. 1 is a block diagram showing a configuration of a data conversion apparatus according to the first embodiment of the present invention. This data conversion apparatus basically divides a range of each component of an input value into grids, Data conversion is performed by a look-up table that holds output values corresponding to the grid and an interpolation calculation means.

図1において、101,102,103は入力値で、それぞれ8ビットで表され、例えば、入力値101〜103がRGB画像データの場合は、それぞれが、画像データのR(赤)成分、G(緑)成分、B(青)成分を示している。104,105,106は入力値変換部(入力値変換手段)、107はテーブルアドレス生成部、108はルックアップテーブル(LUT)、109は四面体決定部、110は補間演算部(補間演算手段)である。   In FIG. 1, 101, 102, and 103 are input values, each represented by 8 bits. For example, when the input values 101 to 103 are RGB image data, each of them is an R (red) component, G ( Green) component and B (blue) component are shown. Reference numerals 104, 105, and 106 denote input value conversion units (input value conversion means), 107 denotes a table address generation unit, 108 denotes a lookup table (LUT), 109 denotes a tetrahedron determination unit, and 110 denotes an interpolation calculation unit (interpolation calculation means). It is.

図12に示す従来のデータ変換装置の場合には、入力値1201,1202,1203は、テーブルアドレス生成部1204と四面体決定部1206に直接入力されていたが、本実施の形態に係るデータ変換装置では、各入力値101〜103は、まず、入力値変換部104,105、106によって9ビットのデータに変換される。なお、このデータ変換処理の詳細に付いては、図2及び図3を用いて後述する。   In the case of the conventional data conversion apparatus shown in FIG. 12, the input values 1201, 1202, and 1203 are directly input to the table address generation unit 1204 and the tetrahedron determination unit 1206, but the data conversion according to this embodiment is performed. In the apparatus, the input values 101 to 103 are first converted into 9-bit data by the input value converters 104, 105, and 106. Details of this data conversion processing will be described later with reference to FIGS.

入力値変換部104,105、106は、等分割されたグリッド用のデータ変換手段に対する入力値を変換することで不等間隔分割されたグリッドに対応するデータ変換を可能とするものである。   The input value conversion units 104, 105, and 106 enable data conversion corresponding to grids that are divided at unequal intervals by converting input values to the data conversion means for grids that are equally divided.

テーブルアドレス生成部107は、データ変換処理後の9ビットの値のうち、上位5ビットを入力とし、ルックアップテーブル108に対するアドレスを生成する。テーブルアドレス生成部107の動作は、図12に示す従来のデータ変換装置の場合のテーブルアドレス生成部1204の動作と基本的に変わらないが、入力値のビット数が4ビットから5ビットに増加しているため、その分だけ計算に用いるビット数を増やす必要がある。また、等間隔グリッドのグリッド数(図12では17×17×17)と不等間隔グリッドのグリッド数とが互いに一致するとは限らないため、グリッド数は複数の値の間で可変とする。   The table address generation unit 107 receives the upper 5 bits of the 9-bit value after the data conversion process, and generates an address for the lookup table 108. The operation of the table address generation unit 107 is basically the same as the operation of the table address generation unit 1204 in the case of the conventional data converter shown in FIG. 12, but the number of bits of the input value increases from 4 bits to 5 bits. Therefore, it is necessary to increase the number of bits used for calculation accordingly. In addition, since the number of grids of equally spaced grids (17 × 17 × 17 in FIG. 12) and the number of grids of unequally spaced grids do not always match each other, the number of grids is variable between a plurality of values.

ルックアップテーブル108に関しては、データの内容が不等間隔グリッドの場合のデータであり、グリッド数が等間隔グリッドの場合と同一でない可能性があることを除いて、図12と同じである。このルックアップテーブル108は、グリッドに対応する出力値を保持するものである。また、四面体決定部109、補間演算部110は、図12の四面体決定部1206、補間演算部1207と同じ機能を有するものである。   The look-up table 108 is the same as FIG. 12 except that the data content is data in the case of an unequal interval grid and the number of grids may not be the same as in the case of an equidistant grid. This lookup table 108 holds output values corresponding to the grid. Further, the tetrahedron determination unit 109 and the interpolation calculation unit 110 have the same functions as the tetrahedron determination unit 1206 and the interpolation calculation unit 1207 in FIG.

次に、本実施の形態に係るデータ変換装置において、図12或いは図14に示す従来のデータ変換装置の場合と異なる部分である入力値変換部104,105,106に付いて、図2を用いて説明する。   Next, in the data converter according to the present embodiment, the input value converters 104, 105, and 106 which are different from the conventional data converter shown in FIG. 12 or FIG. I will explain.

図2は、本実施の形態に係るデータ変換装置における入力値変換部104〜106の構成を示すブロック図であり、同図に示すように、入力値変換部104〜106は、グリッド番号/グリッド間隔テーブル201と、シフト部(シフト手段)202とから成る。   FIG. 2 is a block diagram showing the configuration of the input value conversion units 104 to 106 in the data conversion apparatus according to the present embodiment. As shown in the figure, the input value conversion units 104 to 106 include the grid number / grid. It consists of an interval table 201 and a shift unit (shift means) 202.

グリッド番号/グリッド間隔テーブル201は、入力値の複数の上位ビットにより参照されるものである。また、シフト部202は、グリット間隔に従って入力値の下位ビットをシフトするものである。   The grid number / grid interval table 201 is referred to by a plurality of upper bits of the input value. The shift unit 202 shifts the lower bits of the input value according to the grid interval.

図2において、入力値変換部104〜106に入力された8ビットの入力のうち、上位6ビットは、グリッド番号/グリッド間隔テーブル201に、下位4ビットは、シフト部202に入力される。   In FIG. 2, among the 8-bit inputs input to the input value conversion units 104 to 106, the upper 6 bits are input to the grid number / grid interval table 201, and the lower 4 bits are input to the shift unit 202.

なお、上位6ビットと下位4ビットには2ビットの重なりがある。   The upper 6 bits and the lower 4 bits have an overlap of 2 bits.

グリッド番号/グリッド間隔テーブル201は、入力値の値域を最小グリッド間隔(この例では4)で分割した数だけのエントリ(この例では64)を持ち、個々のエントリは、1つの入力値の成分に着目した場合に対応する入力値の属するグリッド番号を示す5ビットと、そのグリッドのグリッド間隔(この例では4,8,16の区別)を示す2ビットからなる。   The grid number / grid interval table 201 has as many entries (64 in this example) as the number of input values divided by the minimum grid interval (4 in this example), and each entry is a component of one input value. 5 bits indicating the grid number to which the corresponding input value belongs, and 2 bits indicating the grid interval of the grid (in this example, distinction between 4, 8, and 16).

図4は、グリッド番号/グリッド間隔テーブル201の一例を示す図である。   FIG. 4 is a diagram illustrating an example of the grid number / grid interval table 201.

図4では、グリッド間隔は、4,8,16の値で示されているが、グリッド番号/グリッド間隔テーブル201においては、これらの区別を付けるための2ビットのコードが格納されている。   In FIG. 4, the grid interval is indicated by values of 4, 8, and 16, but the grid number / grid interval table 201 stores a 2-bit code for distinguishing these.

図4から分るように、このグリッド番号/グリッド間隔テーブル201のエントリ1個は、入力値の値域の範囲4に相当するため、グリッド間隔16の場合は同じグリッド番号が4エントリ連続し、グリッド間隔8の場合は2エントリ連続している。   As can be seen from FIG. 4, since one entry of the grid number / grid interval table 201 corresponds to the range 4 of the input value range, in the case of the grid interval 16, the same grid number has four consecutive entries. When the interval is 8, two entries are continuous.

シフト部202は、グリッド番号/グリッド間隔テーブル201の参照により得られたグリッド間隔情報を使用して、入力値の下位4ビットをグリッド間隔情報で決まった量だけ左シフトして、4ビットのデータとして出力する。シフト部202に入力されるデータのビット数(この例では4)は、最大グリッド間隔(この例では16)に対応している。グリッド番号/グリッド間隔テーブル201から出力された5ビットのグリッド番号と、シフト部202から出力された4ビットは最後に結合され、9ビットの出力値として、入力値変換部104〜106から出力される。   The shift unit 202 uses the grid interval information obtained by referring to the grid number / grid interval table 201 and shifts the lower 4 bits of the input value to the left by an amount determined by the grid interval information, thereby generating 4-bit data. Output as. The number of bits (4 in this example) of data input to the shift unit 202 corresponds to the maximum grid interval (16 in this example). The 5-bit grid number output from the grid number / grid interval table 201 and the 4-bit output from the shift unit 202 are finally combined and output from the input value conversion units 104 to 106 as a 9-bit output value. The

図3は、図2の入力値変換部104〜106の処理の流れに沿って、各部でのデータを示した図であり、同図において、8ビットの入力値301は、2ビットの重なりを持った上位ビットと下位ビットとに分かれ、それぞれ、テーブル参照部302と左シフト部305に入力される。テーブル参照部302の参照処理結果は、5ビットのグリッド番号303と2ビットのグリッド間隔を示すコード304である。グリッド間隔を示すコード304は、左シフト部305の動作を図中の式の通りに制御する。この処理は、入力値のうち、グリッド内のオフセットに相当するビット(グリッド間隔16では下位4ビット、グリッド間隔8では下位3ビット、グリッド間隔4では下位2ビット)を取り出し、そのMSBが最大グリッド間隔(この例では16)の場合のビット位置と対応するようにシフトする処理に相当する。   FIG. 3 is a diagram showing data in each unit along the flow of processing of the input value conversion units 104 to 106 in FIG. 2. In FIG. 3, the 8-bit input value 301 is an overlap of 2 bits. The upper bit and the lower bit are divided and input to the table reference unit 302 and the left shift unit 305, respectively. The reference processing result of the table reference unit 302 is a 5-bit grid number 303 and a code 304 indicating a 2-bit grid interval. The code 304 indicating the grid interval controls the operation of the left shift unit 305 according to the formula in the figure. This processing takes out the bit corresponding to the offset in the grid from the input value (lower 4 bits at grid interval 16, lower 3 bits at grid interval 8, lower 2 bits at grid interval 4), and the MSB is the maximum grid This corresponds to a process of shifting so as to correspond to the bit position in the case of the interval (16 in this example).

このようなシフト処理を行う理由は、図1で説明したように、入力値変換部104〜106の後に続くデータ変換処理動作が、基本的に等間隔グリッドに対する変換しかサポートしていないため、最大グリッド間隔で等間隔グリッドの入力がなされたように見せかけるための処理である。   The reason for performing such shift processing is that, as described with reference to FIG. 1, the data conversion processing operation following the input value conversion units 104 to 106 basically supports only conversion with respect to an equidistant grid. This is a process for pretending that an equally-spaced grid is input at a grid interval.

本実施の形態に係るデータ変換装置に入力値(5, 33, 54)が入力された場合を説明すると、第1の成分の入力値5に対しては、上位6ビット0、下位4ビット5であるから、グリッド番号/グリッド間隔テーブル201よりグリッド番号0、グリッド間隔16で、シフト部202ではシフトされないため、下位ビットの出力は5となる。グリッド番号0と合わせて、第1の成分に対する出力値は5となる。   The case where the input value (5, 33, 54) is input to the data conversion apparatus according to the present embodiment will be described. For the input value 5 of the first component, the upper 6 bits 0 and the lower 4 bits 5 Therefore, the grid number 0 and the grid interval 16 from the grid number / grid interval table 201 are not shifted by the shift unit 202, and the output of the lower bits is 5. Together with the grid number 0, the output value for the first component is 5.

次に、第2の成分の入力値33に対しては、上位6ビット8、下位4ビット1であるから、テーブルよりグリッド番号2、グリッド間隔8で、シフト部202では1ビットシフトされて、下位ビットの出力は2となる。グリッド番号2と合わせて、第2の成分に対する出力値は34となる。   Next, since the input value 33 of the second component is the upper 6 bits 8 and the lower 4 bits 1, the grid number 2 and the grid interval 8 from the table are shifted by 1 bit in the shift unit 202. The output of the lower bit is 2. Together with grid number 2, the output value for the second component is 34.

更に、第3の成分の入力値54に対しては、上位6ビット13、下位4ビット6であるから、グリッド番号/グリッド間隔テーブル201よりグリッド番号5、グリッド間隔4で、シフト部202では2ビットシフトされて、下位4ビットだけ使われるため、下位ビットの出力は8となる。グリッド番号5と合わせて、第3の成分に対する出力値は88となる。   Furthermore, since the input value 54 of the third component is the upper 6 bits 13 and the lower 4 bits 6, the grid number 5 and the grid interval 4 from the grid number / grid interval table 201 and 2 in the shift unit 202. Since only the lower 4 bits are used after being bit-shifted, the output of the lower bits is 8. Together with the grid number 5, the output value for the third component is 88.

このようにして、入力値変換部104〜106で変換された後の値を、以降のデータ変換部では、最大グリッドサイズ(この例では16)を持つ等間隔グリッドの場合とみなしてデータ変換処理を行うことで、所望の不等間隔グリッドの場合のデータ変換処理を行うことができる。   In this way, the data converted by the input value converters 104 to 106 is regarded as a case of an equidistant grid having the maximum grid size (16 in this example) in the subsequent data converters. By performing the above, it is possible to perform data conversion processing in the case of a desired unequal interval grid.

本実施の形態に係るデータ変換装置を、図14に示す従来のデータ変換装置と比較すると、本実施の形態に係るデータ変換装置の方が、必要なルックアップテーブルの参照が少なく、また、ルックアップテーブルのサイズも小さいため、実装コストを抑えることができる。   When the data conversion apparatus according to the present embodiment is compared with the conventional data conversion apparatus shown in FIG. 14, the data conversion apparatus according to the present embodiment requires less lookup table lookup, and Since the size of the uptable is small, the mounting cost can be suppressed.

また、本実施の形態に係るデータ変換装置においては、テーブルアドレスの生成は、グリッド番号のビット数が増える点と、グリッド数が等間隔グリッドの場合と異なる点を除いて、等間隔グリッドの場合と同じであり、図14に示す従来のデータ変換装置におけるアドレス生成部1411のように、ベースアドレスとオフセットとを加算する処理は必要ない。   In the data conversion apparatus according to the present embodiment, the table address is generated in the case of the equidistant grid except that the number of bits of the grid number is increased and the number of grids is different from that of the equidistant grid. As in the case of the address generation unit 1411 in the conventional data conversion apparatus shown in FIG. 14, there is no need to add the base address and the offset.

また、本実施の形態に係るデータ変換装置を、特許文献2のデータ変換装置と比較すると、ルックアップテーブルの参照回数は変わらないが、本実施の形態に係るデータ変換装置の方が、ルックアップテーブルのサイズが小さく、リソースの限られたデータ変換装置での実装コストは抑えられる。また、特許文献2には示されていないアドレス計算についても、本実施の形態に係るデータ変換装置はサポートしている。   Further, when the data conversion device according to the present embodiment is compared with the data conversion device of Patent Document 2, the number of times of reference of the lookup table is not changed, but the data conversion device according to the present embodiment is more similar to the lookup table. The size of the table is small, and the implementation cost in a data conversion device with limited resources can be suppressed. Further, the data conversion apparatus according to the present embodiment also supports address calculation not disclosed in Patent Document 2.

なお、本実施の形態においては、説明の都合上、入力値の成分数、各データのビット数やグリッド数、グリッド間隔等、具体的な数値を例として挙げて説明したが、本発明は、この説明の中の具体的な数値に制限されることなく適用できるものである。   In the present embodiment, for convenience of explanation, the number of components of the input value, the number of bits of each data, the number of grids, grid intervals, etc. have been described as examples, but the present invention is The present invention can be applied without being limited to specific numerical values in this description.

また、入力値の各成分に対して共通のグリッド数/グリッド間隔テーブルを用いることもできるし、各成分毎に異なるグリッド数/グリッド間隔テーブルを用いることもできる。   Also, a common grid number / grid interval table can be used for each component of the input value, or a different grid number / grid interval table can be used for each component.

また、入力値の各成分に対してグリッド数は共通でも良く、また、各成分毎に異なっても良いが、自由度を増せば、その分、実装コストが増加する点に留意する必要がある。   Also, the number of grids may be the same for each component of the input value, or may be different for each component, but it should be noted that the mounting cost increases as the degree of freedom increases. .

更に、本実施の形態においては、補間方式については、四面体補間を用いて説明したが、直方体補間等、他の類似の補間方式にも本発明は適用可能である。   Furthermore, in the present embodiment, the interpolation method has been described using tetrahedral interpolation, but the present invention can also be applied to other similar interpolation methods such as rectangular parallelepiped interpolation.

(第2の実施の形態)
次に、本発明の第2の実施の形態を、図5〜図10に基づき説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS.

本実施の形態は、データ変換処理を高速に行うことのできるプロセッサに関するものであり、後述する専用命令(ルックアップテーブルアドレス計算/補間係数計算命令及び入力値変換命令)を持つことで、等間隔グリッドに対応するデータ変換処理及び不等間隔グリッドに対応するデータ変換処理を高速に行うことができる。   The present embodiment relates to a processor capable of performing data conversion processing at high speed, and has a dedicated instruction (lookup table address calculation / interpolation coefficient calculation instruction and input value conversion instruction), which will be described later, at equal intervals. Data conversion processing corresponding to the grid and data conversion processing corresponding to the unequal interval grid can be performed at high speed.

本実施の形態に係るプロセッサは、入力値の各成分の値域をグリッド分割し且つグリッドに対応する出力値を保持するルックアップテーブルと、補間演算とによってデータ変換処理を行うことが可能なものである。   The processor according to the present embodiment can perform data conversion processing by a lookup table that divides a range of each component of an input value into grids and holds an output value corresponding to the grid, and an interpolation operation. is there.

まず、等間隔グリッドに対応するデータ変換処理について、図5〜図7を用いて説明する。   First, the data conversion process corresponding to an equidistant grid is demonstrated using FIGS.

図5は、本実施の形態に係るプロセッサにより、等間隔グリッドに対応するデータ変換処理を行う場合の動作の流れを示すフローチャートである。   FIG. 5 is a flowchart showing an operation flow when the processor according to the present embodiment performs data conversion processing corresponding to an equidistant grid.

入力データが準備できると、まず、ステップS501で、各8ビット、3成分の入力値を読み込む。次に、ステップS502で、ルックアップテーブルを参照するためのアドレスと補間で使用する係数の計算を行う。次に、ステップS503で、前記ステップS502において求めたアドレスを使用して、ルックアップテーブルを参照してテーブル出力値を得る。次に、ステップS504で、前記ステップS503において得られたテーブル出力値と、前記ステップS502において得られた補間係数とを使用して補間演算処理を行う。次に、ステップS505で出力値を書き出し、次のステップS506で、出力成分数(色空間変換の場合は出力色数)が所定数になったか否かを判断する。そして、出力成分数が所定数にならないと判断された場合は、前記ステップS503へ戻り、また、出力成分数が所定数になったと判断された場合は、本処理動作を終了する。   When the input data is prepared, first, in step S501, each 8-bit, 3-component input value is read. In step S502, an address for referring to the lookup table and a coefficient used for interpolation are calculated. In step S503, a table output value is obtained by referring to the lookup table using the address obtained in step S502. Next, in step S504, interpolation calculation processing is performed using the table output value obtained in step S503 and the interpolation coefficient obtained in step S502. Next, in step S505, the output value is written, and in the next step S506, it is determined whether or not the number of output components (the number of output colors in the case of color space conversion) has reached a predetermined number. If it is determined that the number of output components does not reach the predetermined number, the process returns to step S503. If it is determined that the number of output components reaches the predetermined number, the processing operation ends.

本実施の形態に係るプロセッサは、上述したようなデータ変換処理を高速に行うため、ステップS502とステップS504で、次に説明する専用命令を持つ。   The processor according to the present embodiment has a dedicated instruction described below in steps S502 and S504 in order to perform the data conversion processing as described above at high speed.

図6は、等間隔17グリッドを処理する場合のLUTアドレス/補間係数計算命令の処理動作を示す図であり、このLUTアドレス/補間係数計算命令は、等間隔分割されたグリッド用のデータ変換を高速に行うためのものである。また、LUTアドレス/補間係数計算命令が、後述する入力値変換命令の出力に対応するために、等間隔グリッド分割時の入力値の値域よりも広い値域の「入力を受け付け、入力値の各成分に対応するグリッド数が可変である。   FIG. 6 is a diagram showing the processing operation of the LUT address / interpolation coefficient calculation command when processing 17 grids at equal intervals. This LUT address / interpolation coefficient calculation command performs data conversion for grids divided at equal intervals. It is for high speed. In addition, in order that the LUT address / interpolation coefficient calculation command corresponds to the output of the input value conversion command described later, “input is accepted and each component of the input value is in a range wider than the range of the input value at the time of equally spaced grid division. The number of grids corresponding to is variable.

図6において、601は入力値、602は上位ビット、603は下位ビット、604は四面体ベースアドレス計算部、605は3値大小比較部、606は四面体3点分アドレスオフセット計算部、607は補間係数計算部、608は3点ベースアドレスオフセット加算部、609は四面体アドレス出力、610は補間係数出力である。   In FIG. 6, 601 is an input value, 602 is an upper bit, 603 is a lower bit, 604 is a tetrahedron base address calculation unit, 605 is a ternary magnitude comparison unit, 606 is an address offset calculation unit for three points of a tetrahedron, and 607 is An interpolation coefficient calculation unit, 608 is a three-point base address offset addition unit, 609 is a tetrahedral address output, and 610 is an interpolation coefficient output.

図6において、「8ビット、3成分の入力値601」は、「4ビット、3成分の上位ビット602」と、「4ビット、3成分の下位ビット603」とに分割され、それぞれ、グリッド番号、グリッド内オフセットとして使用される。上位ビット602は、四面体ベースアドレス計算部604に入力され、四面体補間のベース点に対応するアドレスが計算されて出力される。下位ビット603は、3値大小比較部605に入力され、3成分のグリッド内オフセット値の比較結果が出力される。この比較結果によって、どの四面体が補間に用いられるかが定まるため、次の四面体3点分アドレスオフセット計算部606によって、四面体補間のベース点に対する他の3点のオフセットを計算する。このオフセットは、次の3点ベースアドレスオフセット加算部608によってベースアドレスと加算され、四面体補間の4頂点に対応する出力四面体アドレス出力609として出力される。下位ビット603の値と3値大小比較部605の比較結果は、補間係数計算部607にも入力され、その後の補間演算処理において使用される補間係数出力610が出力される。   In FIG. 6, “8-bit, 3-component input value 601” is divided into “4-bit, 3-component high-order bit 602” and “4-bit, 3-component low-order bit 603”. Used as an offset in the grid. The upper bits 602 are input to the tetrahedral base address calculation unit 604, and an address corresponding to the base point of tetrahedral interpolation is calculated and output. The lower bits 603 are input to the ternary magnitude comparison unit 605, and the comparison result of the three-component offset values in the grid is output. Since this comparison result determines which tetrahedron is used for interpolation, the offset of the other three points with respect to the base point of the tetrahedron interpolation is calculated by the address offset calculation unit 606 for the next three tetrahedrons. This offset is added to the base address by the next three-point base address offset adding unit 608 and output as an output tetrahedral address output 609 corresponding to the four vertices of tetrahedral interpolation. The comparison result of the value of the lower bits 603 and the ternary magnitude comparison unit 605 is also input to the interpolation coefficient calculation unit 607, and an interpolation coefficient output 610 used in the subsequent interpolation calculation processing is output.

図7は、補間演算命令の処理動作の流れを示すフローチャートである。   FIG. 7 is a flowchart showing the flow of the processing operation of the interpolation calculation command.

図7において、入力値は、8ビット、4組の四面体LUT値入力700と、先に、図6に示すLUTアドレス/補間係数計算命令で計算された4組の補間係数入力701である。   In FIG. 7, input values are 8 bits, 4 sets of tetrahedral LUT value inputs 700, and 4 sets of interpolation coefficient inputs 701 previously calculated by the LUT address / interpolation coefficient calculation command shown in FIG.

補間演算処理は、4組の四面体LUT値に対応する補間係数を掛けて加算する処理であり、図7において、乗算702,703,704,705が、4組の各値の乗算を示し、加算706が乗算結果の加算を示す。また、丸め処理707は、乗算/加算処理によって増えた有効ビット数を補間出力値708のビット数に合わせて丸める処理である。   The interpolation calculation process is a process of multiplying and adding four sets of tetrahedral LUT values by corresponding interpolation coefficients. In FIG. 7, multiplications 702, 703, 704, and 705 indicate multiplication of four sets of values, Addition 706 indicates addition of multiplication results. The rounding process 707 is a process of rounding the number of effective bits increased by the multiplication / addition process according to the number of bits of the interpolation output value 708.

これらの一連の処理を専用命令で行うことで、データ変換処理は非常に高速化される。   By performing these series of processes with dedicated instructions, the data conversion process can be greatly accelerated.

但し、専用命令の処理の分担の仕方は、図6及び図7で示した処理に限られるものではなく、実装コストから更に命令を分割する場合も有り得る。   However, the way of sharing the processing of the dedicated instruction is not limited to the processing shown in FIGS. 6 and 7, and the instruction may be further divided from the mounting cost.

次に、不等間隔グリッドのデータ変換を行う場合の処理について、図8〜図10を用いて説明する。   Next, processing when data conversion of an unequal interval grid is performed will be described with reference to FIGS.

図8は、本実施の形態に係るプロセッサにて、不等間隔グリッドに対応するデータ変換処理を行う場合の動作の流れを示すフローチャートである。   FIG. 8 is a flowchart showing an operation flow when the processor according to the present embodiment performs data conversion processing corresponding to an unequal interval grid.

図8において、ステップS801,ステップS803〜807は、図5におけるステップS501〜506と同一であるから、その説明は省略し、相違点のみを説明する。   In FIG. 8, steps S801 and S803 to 807 are the same as steps S501 to S506 in FIG.

図8において、ステップS801の処理終了後は、ステップS802で、入力値変換処理を行い、その後、ステップS803へ進む。   In FIG. 8, after the process of step S801 is completed, an input value conversion process is performed in step S802, and then the process proceeds to step S803.

ステップS802では、後述のように専用命令で処理を行うため、等間隔グリッドの場合と比べて若干の処理速度の低下はあるものの、依然としてデータ変換処理を高速で行うことができる。   In step S802, since processing is performed with a dedicated instruction as described later, the data conversion processing can still be performed at a high speed although there is a slight decrease in processing speed compared to the case of the equidistant grid.

LUTアドレス/補間係数計算命令については、等間隔グリッドの場合と一部異なる部分があるため次に説明するが、補間計算命令については、等間隔グリッド及び不等間隔グリッドの場合と同一であるから、その説明は省略する。   The LUT address / interpolation coefficient calculation command will be described below because there are some differences from the case of the equidistant grid, but the interpolation calculation command is the same as the case of the equidistant grid and unequal spacing grid. The description is omitted.

図9は、不等間隔グリッドの場合のLUTアドレス/補間係数計算命令の処理動作を示す図であり、同図において、下位ビット903、3値大小比較部905、補間係数計算部907、3点ベースアドレスオフセット加算部908、四面体アドレス出力909、補間係数出力910は、図6における下位ビット603、3値大小比較部605、補間係数計算部607、3点ベースアドレスオフセット加算部608、四面体アドレス出力609、補間係数出力610と同一であるから、その詳細説明は省略する。   FIG. 9 is a diagram showing the processing operation of the LUT address / interpolation coefficient calculation command in the case of an unequal interval grid. In the figure, the lower bit 903, the three-value magnitude comparison unit 905, the interpolation coefficient calculation unit 907, and three points The base address offset adding unit 908, the tetrahedral address output 909, and the interpolation coefficient output 910 are the low-order bits 603, the ternary magnitude comparison unit 605, the interpolation coefficient calculating unit 607, the three-point base address offset adding unit 608, and the tetrahedron in FIG. Since it is the same as the address output 609 and the interpolation coefficient output 610, detailed description thereof is omitted.

図9において、901は入力値、902は上位ビット、903は下位ビット、904は四面体ベースアドレス計算部、905は3値大小比較部、906は四面体3点分アドレスオフセット計算部、907は補間係数計算部、908は3点ベースアドレスオフセット加算部、909は四面体アドレス出力、910は補間係数出力、911はグリッド数Nである。   In FIG. 9, 901 is an input value, 902 is an upper bit, 903 is a lower bit, 904 is a tetrahedron base address calculation unit, 905 is a ternary magnitude comparison unit, 906 is an address offset calculation unit for three tetrahedrons, and 907 is An interpolation coefficient calculation unit, 908 is a three-point base address offset addition unit, 909 is a tetrahedral address output, 910 is an interpolation coefficient output, and 911 is the number N of grids.

不等間隔グリッドの場合のグリッド数は、入力各成分共通でN(N≦33)とする。図6と図9との違いの1つ目は、入力値変換により入力値901の各成分が9ビットになっていること、それによって、上位ビット902が5ビット、3成分に増加し、四面体ベースアドレス計算部904の入力ビットの精度が高まることである。   The number of grids in the case of unequal spacing grids is N (N ≦ 33) common to each input component. The first difference between FIG. 6 and FIG. 9 is that each component of the input value 901 is 9 bits by the input value conversion, and as a result, the upper bits 902 are increased to 5 bits and 3 components, The accuracy of the input bits of the body base address calculation unit 904 is increased.

図6と図9との違いの2つ目は、グリッド数Nが、通常、等間隔グリッドの場合と異なるため、これを設定可能な値911とし、四面体ベースアドレス計算部904、四面体3点分アドレスオフセット計算部906に与えて計算を行うことである。グリッド数N911は、33以下の任意の値を設定できるようにすることも可能であるが、実装コストの都合で、予め決めておいた選択可能な複数の値から選択することも考えられる。   The second difference between FIG. 6 and FIG. 9 is that the number N of grids is usually different from that in the case of equidistant grids. Therefore, this is set to a settable value 911, and the tetrahedron base address calculation unit 904, tetrahedron 3 The calculation is given to the point address offset calculation unit 906. The grid number N911 can be set to an arbitrary value of 33 or less, but it is also conceivable to select from a plurality of selectable values determined in advance for the convenience of mounting cost.

図10は、不等間隔グリッド時の入力値変換命令の処理動作を示す図である。   FIG. 10 is a diagram showing the processing operation of the input value conversion command when the grid is unequal.

この入力値変換命令は、LUTアドレス/補間係数計算命令に対する入力値を変換することで、不等間隔分割されたグリッドに対応するデータ変換を可能とするものである。また、この入力値変換命令が、入力値の複数の上位ビットによってグリット番号/グリッド間隔テーブルを参照し、グリッド間隔に従って入力値の複数の下位ビットをシフトするものである。   This input value conversion command converts the input value corresponding to the LUT address / interpolation coefficient calculation command, thereby enabling data conversion corresponding to the grid divided at unequal intervals. The input value conversion instruction refers to the grid number / grid interval table by a plurality of upper bits of the input value and shifts a plurality of lower bits of the input value according to the grid interval.

本実施の形態に係るデータ変換装置における入力値変換部の処理の内容及び使用するグリッド番号/グリッド間隔テーブルの内容は、上述した第1の実施の形態に係るデータ変換装置における入力値変換部及びグリッド番号/グリッド間隔テーブルと同じであり、8ビットの入力値1001を、上位ビット6ビット1002、下位ビット4ビット1003に重なりをもって分けて処理を行う。上位ビット1002は、グリッドテーブル参照部1004に入力され、グリッド番号/グリッド間隔テーブル1005を参照して、5ビットのグリッド番号1006と2ビットのグリッド間隔コード1007を出力する。下位ビット1003は、左シフト部1008に入力され、グリッド間隔コード1007に応じて、第1の実施の形態において図3を用いて説明したシフト処理を受けて、4ビットの下位ビットシフト結果1009として出力される。最後に、5ビットのグリッド番号と4ビットの下位ビットが結合されて、9ビットの出力値1010として出力される。   The contents of the processing of the input value converter in the data converter according to the present embodiment and the contents of the grid number / grid interval table to be used are the input value converter in the data converter according to the first embodiment and This is the same as the grid number / grid interval table, and the 8-bit input value 1001 is divided into the upper bit 6 bits 1002 and the lower bit 4 bits 1003 in an overlapping manner for processing. The upper bits 1002 are input to the grid table reference unit 1004, and a 5-bit grid number 1006 and a 2-bit grid interval code 1007 are output with reference to the grid number / grid interval table 1005. The lower bit 1003 is input to the left shift unit 1008 and subjected to the shift processing described with reference to FIG. 3 in the first embodiment in accordance with the grid interval code 1007, and as a 4-bit lower bit shift result 1009. Is output. Finally, the grid number of 5 bits and the lower bits of 4 bits are combined and output as a 9-bit output value 1010.

図10の説明では、入力値の1つの成分に対して処理を行っているため、図10に示す入力値変換命令を使用して、図8の入力値変換処理ステップS802を実現する場合は、各成分に対して入力値変換命令を呼び出すため、合計3回の命令呼び出しが必要となる。   In the description of FIG. 10, since processing is performed on one component of the input value, when the input value conversion processing step S802 of FIG. 8 is realized using the input value conversion command shown in FIG. Since an input value conversion command is called for each component, a total of three command calls are required.

なお、実装コストが許すならば、図10において、複数の入力値の成分に対する処理を並列で行うことで、更にデータ変換処理の高速化を図ることも可能である。   If the mounting cost permits, it is possible to further increase the speed of the data conversion processing by performing the processing for a plurality of input value components in parallel in FIG.

本実施の形態においても、上述した第1の実施の形態と同様、入力値の成分数、各データのビット数やグリッド数、グリッド間隔等、具体的な数値を例として挙げて説明したが、本発明は、この説明中の具体的な数値に制限されるものではない。   Also in the present embodiment, as in the first embodiment described above, specific numerical values such as the number of components of the input value, the number of bits of each data, the number of grids, the grid interval, and the like have been described as examples. The present invention is not limited to the specific numerical values in this description.

(その他の実施形態)
以上が本発明の実施形態の説明であるが、本発明は、これら実施形態に限られるものではなく、特許請求の範囲で示した機能、または実施形態の構成が持つ機能を達成できる構成であれば、どのようなものであっても適用可能である。
(Other embodiments)
The above is the description of the embodiments of the present invention. However, the present invention is not limited to these embodiments, and may be configured to achieve the functions shown in the claims or the functions of the configurations of the embodiments. Anything is applicable.

また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体及びプログラムは本発明を構成することになる。   Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and store the computer (or CPU, MPU, etc.) of the system or apparatus. Needless to say, this can also be achieved by reading and executing the program code stored in the medium. In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium and program storing the program code constitute the present invention.

また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like is used. it can.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

本発明の第1の実施の形態に係るデータ変換装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data converter which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ変換装置における入力値変換部の構成を示すブロック図である。It is a block diagram which shows the structure of the input value conversion part in the data converter which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ変換装置における入力値変換部によるデータの処理を示す図である。It is a figure which shows the process of the data by the input value conversion part in the data converter which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ変換装置におけるグリッド番号/グリッド間隔テーブルの一例を表に示す図である。It is a figure which shows an example of the grid number / grid space | interval table in the data converter which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における等間隔グリッド処理時のプロセッサの処理動作の流れを示すフローチャートである。It is a flowchart which shows the flow of a processing operation of the processor at the time of equidistant grid processing in the data converter which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における等間隔グリッド処理時のLUTアドレス/補間係数計算命令の処理動作を示す図である。It is a figure which shows the processing operation of the LUT address / interpolation coefficient calculation command at the time of equidistant grid processing in the data converter which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における等間隔グリッド処理時の補間演算命令の処理動作を示す図である。It is a figure which shows the processing operation | movement of the interpolation calculation command at the time of the equidistant grid process in the data converter which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における不等間隔グリッド処理時のプロセッサの処理動作の流れを示すフローチャートである。It is a flowchart which shows the flow of the processing operation of the processor at the time of the unequal-interval grid process in the data converter which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における不等間隔グリッド処理時のLUTアドレス/補間係数計算命令の処理動作を示す図である。It is a figure which shows the processing operation | movement of the LUT address / interpolation coefficient calculation command at the time of the unequal-interval grid process in the data converter which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るデータ変換装置における不等間隔グリッド処理時の入力値変換命令の処理動作を示す図である。It is a figure which shows the processing operation | movement of the input value conversion command at the time of the unequal-interval grid process in the data converter which concerns on the 2nd Embodiment of this invention. 一般的な等間隔グリッド分割を説明する図である。It is a figure explaining general equal interval grid division. 従来の等間隔グリッド分割時のデータ変換装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data converter at the time of the conventional equal interval grid division | segmentation. 一般的な不等間隔グリッド分割を説明する図である。It is a figure explaining general non-uniform spacing grid division. 従来の不等間隔グリッド分割時のデータ変換装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data converter at the time of the conventional unequal-interval grid division | segmentation.

符号の説明Explanation of symbols

101 入力値
102 入力値
103 入力値
104 入力値変換部(入力値変換手段)
105 入力値変換部(入力値変換手段)
106 入力値変換部(入力値変換手段)
108 ルックアップテーブル
201 グリッド番号/グリッド間隔テーブル
202 シフト部(シフト手段)
301 入力値
306 出力値
601 入力値
901 入力値
101 Input Value 102 Input Value 103 Input Value 104 Input Value Conversion Unit (Input Value Conversion Unit)
105 Input value conversion unit (input value conversion means)
106 Input value converter (input value converter)
108 Look-up table 201 Grid number / grid interval table 202 Shift section (shift means)
301 Input value 306 Output value 601 Input value 901 Input value

Claims (4)

最小間隔と最大間隔との間で不等間隔分割されたグリッドに対応する各成分の入力値において、該入力値の値域を前記最小間隔で分割したエントリに対応する当該入力値の上位ビットを第1のテーブルの入力として、当該入力値に対応するグリッド番号とそのグリッド間隔とに変換する入力値変換工程と、
前記入力値において前記最大間隔に対応する下位ビットを、前記第1の変換工程で変換されたグリッド間隔に応じたシフト量でシフトするシフト工程と、
前記シフト工程でシフトされた出力値に応じて補間に使用する四面体と補間係数とを決定する決定工程と、
前記グリッド番号と前記決定工程で決定された四面体とに基づいて生成されるアドレスで第2のテーブルを参照して出力値を出力する出力工程と、
前記出力値を前記補間係数で補間する補間工程と
を有することを特徴とするデータ変換方法。
In the input value of each component corresponding to the grid divided at unequal intervals between the minimum interval and the maximum interval, the upper bits of the input value corresponding to the entry obtained by dividing the range of the input value at the minimum interval are As an input to the table of 1, an input value conversion step for converting the grid number corresponding to the input value and its grid interval ;
A shift step of shifting lower bits corresponding to the maximum interval in the input value by a shift amount corresponding to the grid interval converted in the first conversion step;
A determination step of determining a tetrahedron and an interpolation coefficient to be used for interpolation according to the output value shifted in the shift step;
An output step of outputting an output value by referring to a second table with an address generated based on the grid number and the tetrahedron determined in the determination step;
An interpolating step of interpolating the output value with the interpolating coefficient .
最小間隔と最大間隔との間で不等間隔分割されたグリッドに対応する各成分の入力値において、該入力値の値域を前記最小間隔で分割したエントリに対応する当該入力値の上位ビットを第1のテーブルの入力として、当該入力値に対応するグリッド番号とそのグリッド間隔とに変換する入力値変換手段と、
前記入力値において前記最大間隔に対応する下位ビットを、前記第1の変換手段で変換されたグリッド間隔に応じたシフト量でシフトするシフト手段と、
前記シフト手段でシフトされた出力値に応じて補間に使用する四面体と補間係数とを決定する決定手段と、
前記グリッド番号と前記決定工程で決定された四面体とに基づいて生成されるアドレスで第2のテーブルを参照して出力値を出力する出力手段と、
前記出力値を前記補間係数で補間する補間手段と
を有することを特徴とするデータ変換装置。
In the input value of each component corresponding to the grid divided at unequal intervals between the minimum interval and the maximum interval, the upper bits of the input value corresponding to the entry obtained by dividing the range of the input value at the minimum interval are As an input of the table of 1, an input value conversion means for converting into a grid number corresponding to the input value and its grid interval ;
Shift means for shifting lower bits corresponding to the maximum interval in the input value by a shift amount corresponding to the grid interval converted by the first conversion means;
Determining means for determining a tetrahedron used for interpolation and an interpolation coefficient in accordance with the output value shifted by the shifting means;
An output means for outputting an output value by referring to a second table with an address generated based on the grid number and the tetrahedron determined in the determination step;
Interpolation means for interpolating the output value with the interpolation coefficient .
請求項に記載のデータ変換方法をコンピュータに実現させるためのコンピュータ読み取り可能プログラム。 Computer readable program order to realize the data conversion method according to the computer to claim 1. 請求項に記載のデータ変換方法をコンピュータに実現させるためのプログラムを記憶したコンピュータ読み取り可能記憶媒体。 Computer-readable storage medium storing the order of the program to realize the data conversion method in a computer according to claim 1.
JP2004166335A 2004-06-03 2004-06-03 DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM Expired - Fee Related JP4402523B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004166335A JP4402523B2 (en) 2004-06-03 2004-06-03 DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004166335A JP4402523B2 (en) 2004-06-03 2004-06-03 DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM

Publications (2)

Publication Number Publication Date
JP2005348180A JP2005348180A (en) 2005-12-15
JP4402523B2 true JP4402523B2 (en) 2010-01-20

Family

ID=35500119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004166335A Expired - Fee Related JP4402523B2 (en) 2004-06-03 2004-06-03 DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP4402523B2 (en)

Also Published As

Publication number Publication date
JP2005348180A (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP2666523B2 (en) Color converter
US7864372B2 (en) Color conversion apparatus and color conversion method
JP4402523B2 (en) DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM
JP5887809B2 (en) Image processing apparatus and program
JP3757884B2 (en) Data conversion method, data conversion circuit, and data conversion program
JPH11238126A (en) Common interpolating circuit for radial interpolation with asymmetrical pruning and tetrahedral interpolation with asymmetrical pruning
JPH08237497A (en) Image processing unit and its method
JP5164215B2 (en) Data converter
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JP7547046B2 (en) Data conversion device, data conversion method, and program
JPWO2005013105A1 (en) Look-up table and data acquisition method
JP4288865B2 (en) Color interpolation method and color interpolation apparatus
JP3364813B2 (en) Color inverse conversion processing device and video signal processing device
JPH11238127A (en) Common interpolating circuit for pruning radial interpolation and pruning tetrahedral interpolation
JP2010193474A (en) Device and method for multi-dimensional interpolation, and computer program
JPH10320524A (en) Look-up table device and image generator
KR102017290B1 (en) Apparatus for changing color and operating method thereof
JP4726228B2 (en) Color data conversion apparatus and method
JP2002354276A (en) Method and device for converting color
JP2006203288A (en) Image processing circuit and image processing method
JP2000032285A (en) Hue angle computing method, hue angle computing device, image processor and recording medium storing program for hue angle computation
EP1098507A2 (en) Image processing apparatus
JP3722821B2 (en) Calculation method
JPH09153130A (en) Method and device for converting color
JPH08137451A (en) Data conversion device

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070604

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090428

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4402523

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees