JP4089728B2 - Multidimensional interpolator - Google Patents

Multidimensional interpolator Download PDF

Info

Publication number
JP4089728B2
JP4089728B2 JP2006002947A JP2006002947A JP4089728B2 JP 4089728 B2 JP4089728 B2 JP 4089728B2 JP 2006002947 A JP2006002947 A JP 2006002947A JP 2006002947 A JP2006002947 A JP 2006002947A JP 4089728 B2 JP4089728 B2 JP 4089728B2
Authority
JP
Japan
Prior art keywords
interpolation
value
data
input
interpolated
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 - Lifetime
Application number
JP2006002947A
Other languages
Japanese (ja)
Other versions
JP2006203885A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2006002947A priority Critical patent/JP4089728B2/en
Publication of JP2006203885A publication Critical patent/JP2006203885A/en
Application granted granted Critical
Publication of JP4089728B2 publication Critical patent/JP4089728B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は多次元補間装置に関する。   The present invention relates to a multidimensional interpolation apparatus.

カラー画像印刷装置等においては、印刷された画像の視覚特性を向上させるために、読み取ったカラー画像データに色変換を行なって別の色系統に変換することが行われている。この色変換装置としては、LUT(ルックアップテーブル)と補間演算装置を用いるものがある。この装置は、入力画像データをアドレスとしてLUTをアクセスして変換画像データを出力し、LUTに記憶されていない画像データについては、格子点位置のLUTの出力に、補間演算装置である重み係数を乗算する処理を行なって補間を行なうものである。   In a color image printing apparatus or the like, in order to improve visual characteristics of a printed image, color conversion is performed on the read color image data to convert it into another color system. As this color conversion apparatus, there is an apparatus using an LUT (Look Up Table) and an interpolation calculation apparatus. This device accesses the LUT using the input image data as an address and outputs converted image data. For image data that is not stored in the LUT, a weighting coefficient that is an interpolation operation device is added to the output of the LUT at the grid point position. Interpolation is performed by performing a multiplication process.

従来の色変換装置としては、以下のようなものがある(例えば特許文献1参照)。
(a)立方体補間(8点補間。英国特許1369702号)
図6は立方体補間の説明図である。(a)は元の空間、(b)は変換先の空間である。元の空間はR,G,B空間、変換先の空間はY,M,C空間である。まず、(a)に示す立方体内の任意の1点Pを軸として図に示すように8個の直方体に分割する。分割されたそれぞれの空間の体積をVi(i=0〜7)とする。この時、変換先の空間に写像される点P’の補間値は次式で与えられる。
Examples of conventional color conversion devices include the following (see, for example, Patent Document 1).
(A) Cubic interpolation (8-point interpolation, British Patent No. 1369702)
FIG. 6 is an explanatory diagram of cube interpolation. (A) is the original space, and (b) is the conversion destination space. The original space is R, G, B space, and the conversion destination space is Y, M, C space. First, as shown in the figure, an arbitrary one point P in the cube shown in FIG. Let the volume of each divided space be Vi (i = 0-7). At this time, the interpolation value of the point P ′ mapped to the space to be converted is given by the following equation.

Figure 0004089728
Figure 0004089728

ここで、Piは既に求まっている元の空間の値、Viは点Pにより分割された立方体Vを構成する8個の直方体の体積、Vは元の直方体の体積である。
また、以下のようなものがある(例えば特許文献2参照)。
(b)三角錐補間(4点補間。特開昭53−123201号)
図7は三角錐補間の説明図である。三角錐補間は、3次元の画像データ入力に対応するデータが蓄積されたメモリ空間に対して、画像データを入力して変換データを求めるに際し、前記メモリ空間アドレスを構成する立方体を複数個の三角錐に分割し、画像データ入力に対して当該入力値に対応する点が分割された三角錐のいずれに含まれているか判別し、次に判別された三角錐の各頂点における値(4個)を用いて、その内部の点を補間により求めるものである。
Here, Pi is the value of the original space that has already been obtained, Vi is the volume of the eight rectangular parallelepipeds constituting the cube V divided by the point P, and V is the volume of the original rectangular parallelepiped.
Moreover, there exist the following (for example, refer patent document 2).
(B) Triangular pyramid interpolation (4-point interpolation; Japanese Patent Laid-Open No. 53-123201)
FIG. 7 is an explanatory diagram of triangular pyramid interpolation. Triangular pyramid interpolation is a method in which a cube constituting the memory space address is converted into a plurality of triangles when obtaining conversion data by inputting image data to a memory space in which data corresponding to three-dimensional image data input is stored. Divide into cones, determine which of the divided triangular pyramids contains the point corresponding to the input value for image data input, and then determine the values at each vertex of the triangular pyramid (4) Is used to find the internal points by interpolation.

図7において、(a)は1辺の長さLの立方体を原点aから各頂点を結ぶ軸によって6個の三角錐に分割した状態を示し、(b)はそれを分解した図である。この時の、任意の三角錐内の点の補間値P’は次式で与えられる。
P’=(L−A)×P1+(A−B)×P2+(B−C)×P3+C (2)
ここで、A,B,Cは入力データの下位桁を示し、A>B>Cの関係にあるものとし、Piは既に求まっている相手の空間の値(3次元座標値)である。
7A shows a state in which a cube having a length L of one side is divided into six triangular pyramids by an axis connecting each vertex from the origin a, and FIG. 7B is an exploded view thereof. At this time, an interpolation value P ′ of a point in an arbitrary triangular pyramid is given by the following equation.
P ′ = (LA) × P1 + (AB) × P2 + (BC) × P3 + C (2)
Here, A, B, and C indicate the lower digits of the input data, and it is assumed that A>B> C, and Pi is the value (three-dimensional coordinate value) of the partner already obtained.

また、以下のようなものがある(例えば被特許文献1)。
(c)三角柱補間(6点補間。文献
K.Kanamori,H.Kotera,O.Yamada,H.Motomura,R.Iikawa,T.Fumoto,Fast color processor with programmable interpolation by small memory(PRISM),Journal ofElectronic Imaging,2(3),213−224(1993))
この補間方法は、(b)で示した三角錐3個を一つにして三角柱とし、計6点のデータから補間するようにしたものである。
Moreover, there exist the following (for example, patent document 1).
(C) Triangular prism interpolation (6-point interpolation. Literatures K. Kanamori, H. Kotera, O. Yamada, H. Motorura, R. Ikawa, T. Fumoto, Fast color with IMM. Imaging, 2 (3), 213-224 (1993))
In this interpolation method, three triangular pyramids shown in (b) are combined into a triangular prism, and interpolation is performed from a total of six points of data.

また、以下のようなものがある(例えば被特許文献1)。
(d)パラレル処理による補間(米国特許4837722号)
カラーLUTをパラレルに配置する時、LUT毎に互い違いに必要な点だけのポジションで持ち、トータルのLUTのサイズは、単独のLUTで持つ時と同じにしたものである。また、重み係数全てをROMで記憶して保持している。
英国特許1369702号 特開昭53−123201号公報 米国特許4837722号 K.Kanamori,H.Kotera,O.Yamada,H.Motomura,R.Iikawa,T.Fumoto,Fast color processor with programmable interpolation by small memory(PRISM),Journal ofElectronic Imaging,2(3),213−224(1993))
Moreover, there exist the following (for example, patent document 1).
(D) Interpolation by parallel processing (US Pat. No. 4,837,722)
When the color LUTs are arranged in parallel, the LUTs are held in positions that are alternately necessary for each LUT, and the total LUT size is the same as that of a single LUT. Further, all the weight coefficients are stored and held in the ROM.
British patent 1369702 JP-A-53-123201 U.S. Pat. No. 4,837,722 K. Kanamori, H .; Kotera, O .; Yamada, H .; Motomura, R.A. Iikawa, T .; (Fumoto, Fast color processor with programmable information by small memory (PRISM), Journal of Electronic Imaging, 2 (3), 213-224 (1993))

前記立方体補間の場合、重み係数を求めたい点が区切る点の反対側の直方体の体積を用いるため、最大補間間隔をMとした時 3 で計算される重み係数を発生する必要があった。例えば、M=17の場合、4913となりハードウェアで構成する場合には、13ビットものデータ線が必要となり、また乗算器のビット幅を広げなくてはならなかったため、コストやハードウェア規模の点で不利であった。更に、補間演算する場合、1色を8ビットとすると、(8+13)ビット必要で、64ビットのCPUで4色を同時に演算することはできなかった。 In the case of the cubic interpolation, since the volume of the rectangular parallelepiped opposite to the point where the point for which the weight coefficient is to be obtained is used, it is necessary to generate the weight coefficient calculated in M 3 when the maximum interpolation interval is M. For example, in the case of M = 17, 4913, which is constituted by hardware, requires 13-bit data lines, and the bit width of the multiplier has to be widened. It was disadvantageous. Further, in the case of interpolation calculation, if one color is 8 bits, (8 + 13) bits are required, and a 64-bit CPU cannot calculate 4 colors simultaneously.

前記三角錐補間の場合、重み係数の最大値はM(補間間隔)となり、データ線の数は大幅に節約できる。しかしながら、補間係数の算出のために、純粋に演算で行なう場合、単位立方体を5個乃至6個に分割するための判別を行なう必要があり、この判断が複雑になる。このような不具合を避けるために、予めLUTの形で計算して記憶しておく方法もあるが、この場合、補間間隔をMとした時にM3となり、例えばM=17の場合には4913ワードのデータを記憶する必要があった。また、補間点数が少ないため(4点)、精度の点で問題があった。 In the case of the triangular pyramid interpolation, the maximum value of the weighting coefficient is M (interpolation interval), and the number of data lines can be greatly saved. However, when the calculation is performed purely for calculation of the interpolation coefficient, it is necessary to make a determination for dividing the unit cube into 5 to 6 parts, and this determination becomes complicated. In order to avoid such a problem, there is a method of calculating and storing in the form of LUT in advance, but in this case, M 3 is obtained when the interpolation interval is M, for example, 4913 words when M = 17. It was necessary to memorize the data. Further, since the number of interpolation points is small (four points), there is a problem in accuracy.

前記三角柱補間の場合、異方性が高く、補間方向に応じては、誤差が大きくなるという問題があった。
前記パラレル処理補間の場合、重み係数をLUTとして持っているため、格子間隔Mが増大すると、LUTサイズが増大するという問題があった。
In the case of the triangular prism interpolation, there is a problem that the anisotropy is high and the error increases depending on the interpolation direction.
In the case of the parallel processing interpolation, since the weighting coefficient is provided as an LUT, there is a problem that the LUT size increases when the lattice interval M increases.

更に、これら従来技術に共通する問題として、補間間隔Mが2のべき乗の時は、最終段での割算の代わりにビットシフトを用いることができるが、Mが2のべき乗でない場合は、ビットシフトは行えず最終段で割算を行なう必要があり、このため回路規模が増大したり、演算時間の増大を招いていた。   Further, as a problem common to these conventional techniques, when the interpolation interval M is a power of 2, a bit shift can be used instead of the division in the final stage, but when M is not a power of 2, Shifting is not possible, and division must be performed at the final stage, which increases the circuit scale and the calculation time.

本発明はこのような課題に鑑みてなされたものであって、ハードウェア資源の節約と演算速度の高速化を図ることができる多次元補間装置を提供することを目的としている。   The present invention has been made in view of such a problem, and an object of the present invention is to provide a multidimensional interpolation apparatus capable of saving hardware resources and increasing the calculation speed.

(1)請求項1記載の発明は、補間間隔M毎のN(N≧3)次元の入力データに対する出力値が各々保持されたカラーLUTを用い、補間対象となる入力値に対する出力値を、補間対象の入力値近傍の補間間隔M毎のN次元の入力データに対するカラーLUTからの出力値に対して重み付けを行なうことによって求める多次元補間装置において、以下に示すステップを実行する演算手段を具備することを特徴とする。
(S1)補間対象となる入力値をその内部に有し、前記補間間隔M毎のN次元の入力データを頂点とする単位超立方体を想定するステップ。
(S)この単位超立方体をある1つの対角線を共有する複数の超立体に分割し、分割された複数の超立体の中から前記補間対象となる入力値をその内部に有する超立体を特定し、前記補間対象となる入力値と各頂点との関係に基づく重み係数を、特定した超立体の各頂点毎に求めるステップ。
(S)前記ステップSを前記単位超立方体の残りの全ての対角線について行なうステップ。
(S)前記単位超立方体の各頂点毎に、前記ステップS及びSで得られた重み係数を足し合わせ、足し合わされた重み係数を求めるステップ。
(S)前記単位超立方体の各頂点に相当する入力データに対する各出力値を前記カラーLUTから得ると共に、この得られた各出力値と、各頂点毎に前記ステップSで得られた足し合わされた重み係数とを、各々乗算するステップ
(S)前記ステップSで乗算された結果を足し合わせるステップ
(S)前記ステップSで得られた足し合わせ結果をM×2N-1で除算することにより、前記補間対象となる入力値に対する補間値を求めるステップ。
(2)請求項2記載の発明は、前記補間対象となる入力値が前記単位超立方体の各辺の半分の辺で構成される、前記単位超立方体の1/2 N の単位超立方体に存在する場合の重み係数を予め保持しており、前記補間対象となる入力値が、前記1/2 N の単位超立方体に存在しない場合は、単位超立方体の対称性に基づいて、前記予め保持している重み係数を用いるようにしたことを特徴とする。
(3)請求項3記載の発明は、前記カラーLUTの3色乃至4色の値のうち、複数の入力データに対して同時に重み係数を乗算することを特徴とする。
(1) The invention described in claim 1 uses a color LUT in which output values for N (N ≧ 3) -dimensional input data for each interpolation interval M are held, and outputs output values for input values to be interpolated, In a multidimensional interpolation apparatus that obtains an output value from a color LUT with respect to N-dimensional input data for each interpolation interval M in the vicinity of an input value to be interpolated by weighting, an arithmetic means for executing the following steps is provided. It is characterized by doing.
(S1) A step of assuming a unit hypercube having an input value to be interpolated therein and having N-dimensional input data for each interpolation interval M as a vertex .
(S 2 ) This unit hypercube is divided into a plurality of hypersolids sharing a certain diagonal line, and the hypersolid having the input value to be interpolated therein is specified from among the divided supersolids. and, a weighting factor based on the relationship between the input value and each vertex serving as the interpolation target, Ru determined for each vertex of the identified super-solid steps.
(S 3) all rows of the Hare steps for diagonal of remaining step S 2 the unit hypercube.
(S 4) steps for each vertex of the unit hypercube, adding the weighting coefficient obtained in the step S 2 and S 3, Ru determined by a weighting factor summed.
(S 5 ) Each output value for input data corresponding to each vertex of the unit hypercube is obtained from the color LUT, and each obtained output value and the sum obtained in step S 4 for each vertex are added. Multiplying each of the combined weighting factors .
(S 6 ) A step of adding the results multiplied in step S 5 .
(S 7 ) A step of obtaining an interpolated value for the input value to be interpolated by dividing the summation result obtained in step S 6 by M × 2 N−1 .
(2) The invention according to claim 2 exists in a unit hypercube of 1/2 N of the unit hypercube, wherein the input value to be interpolated is composed of half sides of each side of the unit hypercube. If the input value to be interpolated does not exist in the 1/2 N unit hypercube, the weight coefficient is stored in advance based on the symmetry of the unit hypercube. It is characterized by using a weighting factor .
(3) The invention described in claim 3 is characterized in that a plurality of input data among the values of three to four colors of the color LUT are simultaneously multiplied by a weight coefficient .

(1)請求項1記載の発明によれば、ハードウェア資源の節約と演算速度の高速化を図ることができる多次元補間装置を提供することができる。
(2)請求項2記載の発明によれば、予め保持している重み係数に基づいて補間を行なうことができるので、メモリを節約することができる。
(3)請求項3記載の発明によれば、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算する手段を設けることにより、ハードウェア資源を節約し、補間演算を高速化することができる。
(1) According to the first aspect of the present invention, it is possible to provide a multidimensional interpolation device capable of saving hardware resources and increasing the calculation speed.
(2) According to the second aspect of the present invention, since interpolation can be performed based on a weight coefficient held in advance, memory can be saved .
(3) According to the invention described in claim 3 , when performing the interpolation operation of the N-dimensional LUT, the means for simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by the weight coefficient By providing the hardware resources can be saved and the interpolation operation can be speeded up .

〔本発明の作用〕
本発明の第1の形態では、補間に対する重み係数の最大値を、補間間隔Mの時、M×2N-1 で与えるようにして、重み係数の最大値を抑制するようにした。これにより、ハードウェア資源の節約を図ることができ、演算時間の高速化を図ることができる。
[Operation of the present invention]
In the first embodiment of the present invention, the maximum value of the weighting factor for interpolation is given by M × 2 N-1 at the interpolation interval M, so that the maximum value of the weighting factor is suppressed. As a result, it is possible to save hardware resources and increase the calculation time.

ここで、M×2N-1 は、以下のようにして求めた。
本発明は、前記三角錐補間を拡張したものである。図7の(a)では、立方体の対角を軸として6個の三角錐に分割しているが、この軸について全ての組み合わせを作る。つまり、図のa−g,b−h,c−e,d−fそれぞれの軸を変えた時の三角錐補間での重み係数を全部計算して平均をとると、前記した
M×2N-1 が得られる。本発明によれば、全方向の軸について重み係数を求めて平均している結果、軸の方向性の影響がなくなる。
Here, M × 2 N-1 was determined as follows.
The present invention is an extension of the triangular pyramid interpolation. In FIG. 7A, the cube is divided into six triangular pyramids with the diagonal of the cube as an axis, and all combinations are made for this axis. That is, when all the weighting coefficients in the triangular pyramid interpolation when the axes of ag, bh, ce, and df in the figure are changed and taken are averaged, the above M × 2 N -1 is obtained. According to the present invention, as a result of obtaining and averaging the weighting coefficients for the axes in all directions, the influence of the directionality of the axes is eliminated.

この場合において、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算することにより、ハードウェア資源を節約し、補間演算を高速化することができる。   In this case, when performing the interpolation operation of the N-dimensional LUT, hardware resources are saved by simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by a weight coefficient, Interpolation calculation can be speeded up.

本発明の第2の形態では、N次元の補間を行なう場合において、重み係数を、補間間隔Mに対して(M+1)/2のアドレスに対して発生し、多次元補間を行なうことにより、重み係数発生用のメモリ容量を削減し、ハードウェア資源を節約することができる。   In the second embodiment of the present invention, when N-dimensional interpolation is performed, a weighting factor is generated for an address of (M + 1) / 2 with respect to the interpolation interval M, and weighting is performed by performing multidimensional interpolation. The memory capacity for coefficient generation can be reduced, and hardware resources can be saved.

重み係数は、小空間内において格子点に対して、どの方向にも線対称になるという性質がある。このことを図で説明する。図8は重み係数の性質の説明図(1次元の場合)である。縦軸は重み係数、横軸は格子点Q1,Q2間の距離を示している。図において、f1はQ1に対する重み特性、f2はQ2に対する重み特性である。この時の距離を補間間隔Mとする。このMの中心(M/2)を通る軸Sを考えると、重み係数はこの軸Sに関して線対称になっている。   The weighting factor has the property of being line symmetric in any direction with respect to the lattice points in the small space. This will be described with reference to the drawings. FIG. 8 is an explanatory diagram of the nature of the weighting factor (one-dimensional case). The vertical axis represents the weight coefficient, and the horizontal axis represents the distance between the lattice points Q1 and Q2. In the figure, f1 is a weight characteristic for Q1, and f2 is a weight characteristic for Q2. This distance is defined as an interpolation interval M. Considering the axis S passing through the center of M (M / 2), the weighting factor is line symmetric with respect to the axis S.

つまり、特性f1の右半分は、軸Sに関して折り返せば特性f2の左半分に重なり、特性f2の右半分は、軸Sに関して折り返せば特性f1の左半分に重なる。例えば、特性f1の右半分の重み係数W1,W2,W3はそれぞれ特性f2の左半分の重み係数W1’,W2’,W3’と等しくなり、特性f2の右半分の重み係数W4,W5はそれぞれ特性f1の左半分の重み係数W4’,W5’と等しくなる。アドレスは、図に示すようにMのところまでくるが、Sを超えたらQ1とQ2を切り替えるようにする。例えば、アドレスに応じて特性f1の重み係数を順次発生していき、アドレスがM/2を超えたら特性をそれまでのf1からf2に切り替え、f2の左半分の重み係数を用いるのである。   That is, the right half of the characteristic f1 overlaps with the left half of the characteristic f2 when folded about the axis S, and the right half of the characteristic f2 overlaps with the left half of the characteristic f1 when folded with respect to the axis S. For example, the right half weighting factors W1, W2 and W3 of the characteristic f1 are equal to the left half weighting factors W1 ′, W2 ′ and W3 ′ of the characteristic f2, respectively, and the right half weighting factors W4 and W5 of the characteristic f2 are respectively It becomes equal to the weighting factors W4 ′ and W5 ′ in the left half of the characteristic f1. The address reaches M as shown in the figure, but when it exceeds S, Q1 and Q2 are switched. For example, the weighting coefficient of the characteristic f1 is sequentially generated according to the address, and when the address exceeds M / 2, the characteristic is switched from the previous f1 to f2, and the weighting coefficient of the left half of f2 is used.

従って、重み係数のデータとしては、軸Sより左側のデータのみ持てばよく、軸Sより右側のデータは持つ必要はないことになる。このようにして、重み係数発生の数を減らすことができる。必要な重み係数のデータ量は、1次元の場合で1/2,2次元の場合で1/4,3次元の場合で1/8となる。このように、本来必要な重み係数データよりも少ないデータ量ですませることができる。   Therefore, it is only necessary to have data on the left side of the axis S as weight coefficient data, and it is not necessary to have data on the right side of the axis S. In this way, the number of weight coefficient generations can be reduced. The data amount of the necessary weight coefficient is 1/2 in the case of one dimension, 1/4 in the case of two dimensions, and 1/8 in the case of three dimensions. In this way, it is possible to reduce the amount of data smaller than the originally required weight coefficient data.

なお、発生するアドレスとしては、軸S上の値W0も含ませる必要があるので、Mが偶数である場合を考慮して(M+1)/2のアドレスまでとしたものである。
この発明によれば、重み係数の数を減らすことができ、ハードウェア資源を節約することができる。
It should be noted that the generated address needs to include the value W0 on the axis S, so that the address up to (M + 1) / 2 is taken into consideration when M is an even number.
According to the present invention, the number of weighting factors can be reduced, and hardware resources can be saved.

この場合において、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算することにより、ハードウェア資源を節約し、補間演算を高速化することができる。   In this case, when performing the interpolation operation of the N-dimensional LUT, hardware resources are saved by simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by a weight coefficient, Interpolation calculation can be speeded up.

本発明の第3の形態では、最大重み係数が2のべき乗にならない時、カラーLUTに格納するデータを予め割算し、2のべき乗倍して格納するようにした。これにより、補間演算の最後で行なう重み係数による割算が単にデータのシフト(右シフト)のみで行えることにより、演算時間を高速化することができる。 In a third embodiment of the present invention, when the maximum weighting factor is not a power of 2, previously dividing the data to be stored in the color LUT, was due that stores second exponentiation to Unishi. As a result, the division by the weighting coefficient performed at the end of the interpolation calculation can be performed simply by shifting the data (right shift), thereby speeding up the calculation time.

本発明の第4の形態では、補間に対する重み係数の最大値を、補間間隔Mの時、M×2 N-1 で与える手段を設け、重み係数の最大値を抑制するようにした。これにより、ハードウェア資源の節約を図ることができ、演算時間の高速化を図ることができる。 In the fourth embodiment of the present invention, means for giving the maximum value of the weighting coefficient for interpolation as M × 2 N-1 at the interpolation interval M is provided to suppress the maximum value of the weighting coefficient. As a result, it is possible to save hardware resources and increase the calculation time.

この場合において、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算する手段を設けることにより、ハードウェア資源を節約し、補間演算を高速化することができる。   In this case, when performing the interpolation operation of the N-dimensional LUT, by providing means for simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by a weighting coefficient, hardware resources are reduced. It is possible to save and speed up the interpolation operation.

本発明の第5の形態では、N次元の補間を行なう場合において、重み係数を、補間間隔Mに対して(M+1)/2のアドレスに対して発生する手段を設けた。その理由は、前記第2の発明の場合と同じである。これにより、重み係数の数を減らすことができ、ハードウェア資源を節約することができる。   In the fifth aspect of the present invention, means for generating a weighting factor for an address of (M + 1) / 2 with respect to the interpolation interval M is provided when performing N-dimensional interpolation. The reason is the same as in the case of the second invention. Thereby, the number of weighting factors can be reduced, and hardware resources can be saved.

この場合において、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算する手段を設けることにより、ハードウェア資源を節約し、補間演算を高速化することができる。   In this case, when performing the interpolation operation of the N-dimensional LUT, by providing means for simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by a weighting coefficient, hardware resources are reduced. It is possible to save and speed up the interpolation operation.

本発明の第6の形態では、最大重み係数が2のべき乗にならない時、カラーLUTに格納するデータを予め割算し、2のべき乗倍して格納する手段を設けた。その理由は、前記第3の発明の場合と同じである。これにより、補間演算の最後で行なう重み係数による割算が単にデータのシフト(右シフト)のみで行えることにより、演算時間を高速化することができる。   In the sixth aspect of the present invention, there is provided means for preliminarily dividing the data stored in the color LUT and multiplying by a power of 2 when the maximum weight coefficient is not a power of 2. The reason is the same as in the case of the third invention. As a result, the division by the weighting coefficient performed at the end of the interpolation calculation can be performed simply by shifting the data (right shift), thereby speeding up the calculation time.

以下、図面を参照して本発明の実施の形態例を詳細に説明する。
図1は本発明の一実施例を示す構成ブロック図で、N=3、即ち3次元の補間の場合を示す。この実施例は、R,G,Bデータを受けて、これらデータを新たなRnew,Gnew,Bnewデータに変換するものである。図中のデータ線中の数字はビット数を示す。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention, where N = 3, that is, three-dimensional interpolation. In this embodiment, R, G, and B data are received and converted into new Rnew, Gnew, and Bnew data. The numbers in the data lines in the figure indicate the number of bits.

図において、1はR(Red)データ及びカウンタ出力を受けて対応したアドレスを発生するRアドレス生成器、2はG(Green)データ及びカウンタ出力を受けて対応したアドレスを発生するGアドレス生成器、3はB(Blue)データを受けて対応したアドレスを発生するBアドレス生成器である。4はクロックCLKをカウントする2ビット出力の4進カウンタである。このカウンタ4の出力の上位ビットをC1、下位ビットをC0とすると、C0はRアドレス生成器1に、C1はGアドレス生成器2にそれぞれ入力される。Rアドレス生成器1とGアドレス生成器2は8ビットの出力を発生し、Bアドレス生成器3はB軸に関してパラレル処理するため、上位アドレスとして4ビットの2種類のアドレスを発生している。その他のR軸,G軸は時系列的に演算される。   In the figure, 1 is an R address generator that receives R (Red) data and a counter output and generates a corresponding address, and 2 is a G address generator that receives G (Green) data and a counter output and generates a corresponding address. Reference numeral 3 denotes a B address generator that receives B (Blue) data and generates a corresponding address. Reference numeral 4 denotes a 4-bit output quaternary counter for counting the clock CLK. If the upper bit of the output of the counter 4 is C1, and the lower bit is C0, C0 is input to the R address generator 1 and C1 is input to the G address generator 2. Since the R address generator 1 and the G address generator 2 generate an 8-bit output, and the B address generator 3 performs parallel processing with respect to the B axis, two types of 4-bit addresses are generated as upper addresses. The other R and G axes are calculated in time series.

5はRアドレス生成器1の下位4ビット,Gアドレス生成器2の下位4ビット,Bアドレス生成器3の下位4ビット及び4進カウンタ4の出力を受けて7ビットの重み係数を発生する近傍用の重み発生器、6は同様にRアドレス生成器1の下位4ビット,Gアドレス生成器2の下位4ビット,Bアドレス生成器3の下位4ビット及び4進カウンタ4の出力を受けて7ビットの重み係数を発生する遠方用の重み発生器である。近傍用,遠方用とは、重み係数空間を2分割し、一方を近傍用、他方を遠方用としたものである。本発明では、重み係数の空間領域における線対称性を利用している結果、この実施例の場合、3次元空間であるので必要な重み発生器は、本来の容量の1/(23)=1/8ですむ。従って、メモリの容量が大幅に減少し、ハードウェア資源の節約が図れる。 5 is a neighborhood that generates a 7-bit weight coefficient by receiving the output of the lower 4 bits of the R address generator 1, the lower 4 bits of the G address generator 2, the lower 4 bits of the B address generator 3, and the quaternary counter 4. Similarly, the weight generator 6 receives the output of the lower 4 bits of the R address generator 1, the lower 4 bits of the G address generator 2, the lower 4 bits of the B address generator 3, and the output of the quaternary counter 4. This is a far weight generator that generates bit weight coefficients. For near and far, the weighting coefficient space is divided into two, one for the near and the other for the far. In the present invention, as a result of using the line symmetry in the space region of the weight coefficient, in this embodiment, since it is a three-dimensional space, the necessary weight generator is 1 / (2 3 ) = the original capacity. 1/8 is enough. Therefore, the memory capacity is greatly reduced, and hardware resources can be saved.

10はRアドレス生成器1の上位4ビット,Gアドレス生成器2の上位4ビット,Bアドレス生成器3の2種類の上位4ビット及び重み発生器5,6の出力を受けて新しいRデータRnewを発生するR処理部、20はRアドレス生成器1の上位4ビット,Gアドレス生成器2の上位4ビット,Bアドレス生成器3の2種類の上位4ビット及び重み発生器5,6の出力を受けて新しいGデータGnewを発生するG処理部、30はRアドレス生成器1の上位4ビット,Gアドレス生成器2の上位4ビット,Bアドレス生成器3の2種類の上位4ビット及び重み発生器5,6の出力を受けて新しいBデータBnewを発生するB処理部である。G処理部20,B処理部30の構成は図示されていないが、カラーLUTに記憶されるデータが異なるのみで、R処理部10の構成と同一である。   10 receives the upper 4 bits of the R address generator 1, the upper 4 bits of the G address generator 2, the two upper 4 bits of the B address generator 3, and the outputs of the weight generators 5 and 6, and receives new R data Rnew. The R processing unit 20 generates the upper 4 bits of the R address generator 1, the upper 4 bits of the G address generator 2, the two upper 4 bits of the B address generator 3, and the outputs of the weight generators 5 and 6. G processing unit for generating new G data Gnew in response to the above, 30 is the upper 4 bits of the R address generator 1, the upper 4 bits of the G address generator 2, the two upper 4 bits of the B address generator 3 and the weight A B processing unit that receives the outputs of the generators 5 and 6 and generates new B data Bnew. The configurations of the G processing unit 20 and the B processing unit 30 are not shown, but are the same as the configuration of the R processing unit 10 except that the data stored in the color LUT is different.

R処理部10において、11はRアドレス生成器1の上位4ビット,Gアドレス生成器2の上位4ビット,Bアドレス生成器3の一方の上位4ビットを受けるB近傍用のカラーLUT、12はRアドレス生成器1の上位4ビット,Gアドレス生成器2の上位4ビット,Bアドレス生成器3の他方の上位4ビットを受けるB遠方用のカラーLUTである。これらカラーLUT11,12は、例えば上下とも同じデータが格納されるメモリで構成される。例えば同時に2個のデータを読み出せるデュアルポートRAMが用いられる。これらLUT11,12はR,G,Bデータの入力0,17,34,…238,255の組み合わせに対応する16×16×16×10個のデータが格納される。そして、出力10ビットのうち、1ビットは符号を、1ビットは255を超える値を示す。   In the R processing unit 10, 11 is a color LUT for the B neighborhood that receives the upper 4 bits of the R address generator 1, the upper 4 bits of the G address generator 2, and the upper 4 bits of one of the B address generator 3, It is a color LUT for B far that receives the upper 4 bits of the R address generator 1, the upper 4 bits of the G address generator 2, and the other upper 4 bits of the B address generator 3. These color LUTs 11 and 12 are composed of, for example, memories in which the same data is stored both above and below. For example, a dual port RAM that can read two pieces of data at the same time is used. These LUTs 11 and 12 store 16 × 16 × 16 × 10 pieces of data corresponding to combinations of R, G, B data inputs 0, 17, 34,. Of the 10 bits of output, 1 bit indicates a code and 1 bit indicates a value exceeding 255.

13はカラーLUT11の出力及び重み発生器5の出力を乗算する乗算器、14はカラーLUT12の出力及び重み発生器6の出力を乗算する乗算器である。これら乗算器13,14は、カラーLUT11,12の出力10ビット、重み発生器5,6の出力7ビットを受け、16ビット出力(このうち1ビットは符号)のものが用いられる。15は乗算器13,14の出力を加算する加算器である。該加算器15は、乗算器13,14の各16ビットを受けて16ビット(このうち1ビットは符号)のデータを出力する。   Reference numeral 13 denotes a multiplier that multiplies the output of the color LUT 11 and the output of the weight generator 5, and reference numeral 14 denotes a multiplier that multiplies the output of the color LUT 12 and the output of the weight generator 6. These multipliers 13 and 14 receive the 10-bit output of the color LUTs 11 and 12 and the 7-bit output of the weight generators 5 and 6, and have a 16-bit output (of which 1 bit is a sign). An adder 15 adds the outputs of the multipliers 13 and 14. The adder 15 receives 16 bits from the multipliers 13 and 14 and outputs 16-bit data (1 bit of which is a sign).

16は加算器15の出力を積算する積算器である。この積算器16は、4進カウンタの出力の値だけの、つまり4回の演算結果を積算する。17は積算器16の出力を重み係数で割算するための割算器である。該割算器17は、積算器16の出力16ビットを受けて8ビットのデータを出力する。この割算器17の出力が変換された新しいRデータRnewになる。このように構成された回路の動作を説明すれば、以下のとおりである。   Reference numeral 16 denotes an integrator that integrates the output of the adder 15. This accumulator 16 accumulates only the value of the output of the quaternary counter, that is, four calculation results. Reference numeral 17 denotes a divider for dividing the output of the integrator 16 by a weighting factor. The divider 17 receives the 16 bits output from the integrator 16 and outputs 8-bit data. The output of the divider 17 becomes new converted R data Rnew. The operation of the circuit thus configured will be described as follows.

画像データR,G,Bはそれぞれのアドレス生成器1,2,3に入力され、各アドレス生成器1〜3は、以下のアルゴリズムに従ったアドレスデータを生成する。
1)Rアドレス生成器
入力をA(0〜255)とし、出力の上位桁をX(0〜15)、下位桁をY(0〜8)とし、カウンタ4の入力の上位をC0(0,1)、下位をC1(0,1)とする。C言語で表したアルゴリズムは以下のとおりである。Li(i=1〜8)はライン番号を示す。
if(A%17<=8){ L1
Y=A%17; L2
X=A/17+C0; L3
if(X>15)X=15; L4
}else{ L5
Y=17−A%17; L6
X=A/17+(1−C0); L7
if(X>15)X=15; L8

上記アルゴリズムにおいて、
L1:Aを17で割った時の余り(A%17)が8以下の時、
L2:Aを17で割った時の余りをYの値とする。
L3:Aを17で割った時の商にC0を加えたものをXの値とする。
L4:この時において、Xが15よりも大きくなる時は、Xの値を15に固定する。
L5:L1の条件が満たされない時、つまりAを17で割った時の余りが9以上の時、
L6:17からAを17で割った時の余りを引いたものをYの値とする。
L7:入力Aを17で割った値と(1−C0)を加えたものをXの値とする。
L8:この時において、Xが15よりも大きくなる時は、Xの値を15に固定する。
The image data R, G, and B are input to the respective address generators 1, 2, and 3, and each of the address generators 1 to 3 generates address data according to the following algorithm.
1) R address generator The input is A (0 to 255), the upper digit of the output is X (0 to 15), the lower digit is Y (0 to 8), and the upper bit of the counter 4 is C0 (0, 1) The lower order is C1 (0, 1). The algorithm expressed in C language is as follows. Li (i = 1 to 8) indicates a line number.
if (A% 17 <= 8) {L1
Y = A% 17; L2
X = A / 17 + C0; L3
if (X> 15) X = 15; L4
} Else {L5
Y = 17-A% 17; L6
X = A / 17 + (1-C0); L7
if (X> 15) X = 15; L8
}
In the above algorithm,
L1: When the remainder when A is divided by 17 (A% 17) is 8 or less,
L2: Let Y be the remainder when A is divided by 17.
L3: The value obtained by adding C0 to the quotient when A is divided by 17 is the value of X.
L4: At this time, when X becomes larger than 15, the value of X is fixed to 15.
L5: When the condition of L1 is not satisfied, that is, when the remainder when A is divided by 17 is 9 or more,
The value of Y is obtained by subtracting the remainder when A is divided by 17 from L6: 17.
L7: A value obtained by dividing the input A by 17 and adding (1-C0) is the value of X.
L8: At this time, when X becomes larger than 15, the value of X is fixed to 15.

このようなアルゴリズムにより、Rデータが入力される度にRアドレス生成器1の上位4ビットからXの値が出力され、下位4ビットからYの値が出力される。
2)Gアドレス生成器
その動作はRアドレス生成器1と同様である。つまり、入力をA(0〜255)とし、出力の上位桁をX(0〜15)、下位桁をY(0〜8)とし、カウンタ4の入力の上位をC0(0,1)、下位をC1(0,1)とする。C言語で表したアルゴリズムは以下のとおりである。
if(A%17<=8){
Y=A%17;
X=A/17+C1;
if(X>15)X=15;
}else{
Y=17−A%17;
X=A/17+(1−C1);
if(X>15)X=15;

3)Bアドレス生成器
この場合は、Bに関してパラレル処理になるため、一度に上位4ビットの2系統のアドレスを出力する。しかも、切り分けの必要がないので、4進カウンタ4の出力は入力されない。上位桁の近傍用をX0、上位桁の遠方用をX1とすると、そのアドレス生成アルゴリズムは以下のとおりである。
if(A%17<=8){ L1
Y=A%17; L2
X0=A/17; L3
X1=A/17+1; L4
if(X0>15)X0=15; L5
if(X1>15)X1=15; L6
}else{ L7
Y=17−A%17; L8
X0=A/17+1; L9
X1=A/17; L10
if(X0>15)X0=15; L11
if(X1>15)X1=15; L12

上記アルゴリズムにおいて、
L1:入力Aを17で割った時の余り(A%17)が8以下の時、
L2:入力Aを17で割った時の余りをYの値とする。
L3:入力Aを17で割った時の商をX0とする。
L4:入力Aを17で割ったものに1を加えたものをX1とする。
L5:この時において、X0が15よりも大きくなる時は、X0の値を15に固定する。
L6:この時において、X1が15よりも大きくなる時は、X1の値を15に固定する。
L7:L1の条件が満たされない時、つまりAを17で割った時の余りが9以上の時、
L8:17からAを17で割った時の余りを引いたものをYの値とする。
L9:入力Aを17で割った商に1を加えたものをX0の値とする。
L10:入力Aを17で割った値をX1の値とする。
L11:この時において、X0が15よりも大きくなる時は、X0の値を15に固定する。
L12:この時において、X1が15よりも大きくなる時は、X1の値を15に固定する。
With this algorithm, every time R data is input, the X value is output from the upper 4 bits of the R address generator 1, and the Y value is output from the lower 4 bits.
2) G address generator The operation is the same as that of the R address generator 1. In other words, the input is A (0 to 255), the upper digit of the output is X (0 to 15), the lower digit is Y (0 to 8), the upper input of the counter 4 is C0 (0, 1), and the lower digit Is C1 (0,1). The algorithm expressed in C language is as follows.
if (A% 17 <= 8) {
Y = A% 17;
X = A / 17 + C1;
if (X> 15) X = 15;
} Else {
Y = 17-A% 17;
X = A / 17 + (1-C1);
if (X> 15) X = 15;
}
3) B address generator In this case, since parallel processing is performed for B, two higher-order 4 bits of addresses are output at a time. In addition, since there is no need for separation, the output of the quaternary counter 4 is not input. The address generation algorithm is as follows, where X0 is the upper digit vicinity and X1 is the upper digit distance.
if (A% 17 <= 8) {L1
Y = A% 17; L2
X0 = A / 17; L3
X1 = A / 17 + 1; L4
if (X0> 15) X0 = 15; L5
if (X1> 15) X1 = 15; L6
} Else {L7
Y = 17-A% 17; L8
X0 = A / 17 + 1; L9
X1 = A / 17; L10
if (X0> 15) X0 = 15; L11
if (X1> 15) X1 = 15; L12
}
In the above algorithm,
L1: When the remainder when the input A is divided by 17 (A% 17) is 8 or less,
L2: Let Y be the remainder when input A is divided by 17.
L3: The quotient when the input A is divided by 17 is X0.
L4: A value obtained by dividing input A by 17 and adding 1 is X1.
L5: At this time, when X0 becomes larger than 15, the value of X0 is fixed to 15.
L6: At this time, when X1 becomes larger than 15, the value of X1 is fixed to 15.
L7: When the condition of L1 is not satisfied, that is, when the remainder when A is divided by 17 is 9 or more,
The value obtained by subtracting the remainder when A is divided by 17 from L8: 17 is taken as the value of Y.
L9: The value obtained by adding 1 to the quotient obtained by dividing the input A by 17 is the value of X0.
L10: A value obtained by dividing input A by 17 is set to a value of X1.
L11: At this time, when X0 becomes larger than 15, the value of X0 is fixed to 15.
L12: At this time, when X1 becomes larger than 15, the value of X1 is fixed to 15.

このようなアルゴリズムにより、Bデータが入力される度にBアドレス生成器3の上位4ビットから2系統の値X0,X1の値が出力され、下位4ビットからYの値が出力される。   With such an algorithm, every time B data is input, two values X0 and X1 are output from the upper 4 bits of the B address generator 3, and a Y value is output from the lower 4 bits.

このようにして発生される各アドレス生成器1〜3の出力のうち、上位データはカラーLUT11,12に入り、下位データは重み発生器5,6に入る。このうち、Bアドレス発生器3の一方の上位データは、カラーLUT11に入り、他方の上位データはカラーLUT12に入る。   Of the outputs of the address generators 1 to 3 generated in this way, the upper data enters the color LUTs 11 and 12, and the lower data enters the weight generators 5 and 6. Among these, one upper data of the B address generator 3 enters the color LUT 11, and the other upper data enters the color LUT 12.

ここで、重み発生器5,6の動作について詳細に説明する。重み発生器5,6には、重み係数の線対称性により、本来の1/8の容量のデータしか記憶されておらず、この1/8の容量のデータで全範囲をカバーしている。このために、各アドレス生成器1〜は以下のようにアドレスを発生する。   Here, the operation of the weight generators 5 and 6 will be described in detail. The weight generators 5 and 6 store only the original 1/8 capacity data due to the line symmetry of the weighting coefficient, and the entire range is covered with the 1/8 capacity data. For this purpose, each address generator 1 generates an address as follows.

例えば重み間隔M=17の時には、本来の下位データを0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16と発生するのに対して、本発明では0,1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1と発生する。つまり、間隔Mの中点までアドレスを発生したら、中点からアドレスを折り返して発生する。この結果、アドレス生成器から発生される下位データは(M+1)/2の種類となる。例えば、M=17の時には、
(17+1)/2=9通りの値を持ち、0から8の範囲のデータを持つ。ちなみに、M=16の時には(16+1)/2=8.5となるが、小数点は無視され、8通りの値を持つことになる。
For example, when the weight interval M = 17, the original lower data is generated as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16. On the other hand, in the present invention, 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1 occur. That is, when an address is generated up to the middle point of the interval M, the address is returned from the middle point. As a result, the lower order data generated from the address generator is of (M + 1) / 2 types. For example, when M = 17,
It has (17 + 1) / 2 = 9 values and has data in the range of 0 to 8. By the way, when M = 16, (16 + 1) /2=8.5, but the decimal point is ignored and has eight values.

同時に、下位データが格子間隔の中点より大きい場合には、上位データの出力を基準格子点に対して+0,+1の順ではなく、+1,+0の順になるように逆転して発生させる。これにより、近傍の格子点には近傍用の重み係数が与えられ、遠方の格子点には遠方用の重み係数が与えられるようになる。なお、B用のアドレス生成器3は、遠方用,近傍用の2種類のアドレスを固定で内蔵しており、入力に応じたアドレスを発生する。   At the same time, if the lower data is larger than the midpoint of the grid interval, the output of the higher data is generated in reverse so that it is in the order of +1, +0, not + 0, + 1 with respect to the reference grid point. As a result, a neighboring weighting factor is given to the neighboring grid points, and a farning weighting factor is given to the far grid points. Note that the address generator 3 for B has a fixed built-in two types of addresses for far and near, and generates an address corresponding to the input.

このようなアドレスを受ける重み発生器5,6は、上記の変換されたアドレス(下位データ)に従い、表1,表2で計算される重み係数を発生する。表1は重み計算のための係数(近傍用)、表2は重み計算のための係数(遠方用)である。   The weight generators 5 and 6 receiving such addresses generate the weight coefficients calculated in Tables 1 and 2 according to the converted addresses (lower data). Table 1 shows coefficients for weight calculation (for neighborhood), and Table 2 shows coefficients for weight calculation (for distance).

Figure 0004089728
Figure 0004089728

Figure 0004089728
Figure 0004089728

これら表において、r,g,bは下位アドレス(アドレス生成器1〜3から発生される下位データであり、rはRアドレス生成器から、gはGアドレス生成器から、bはBアドレス生成器から発生される)で、0〜8の値をとる。C,R,G,Bは重み係数を計算するための係数である。これら係数C,R,G,Bはr,g,bの大小関係に応じて、4進カウンタ4の値に応じて、表に示すような値をとる。図2は、r,g,bの大小関係に応じて適用される三角錐を示している(図7参照)。発生すべき重み係数は、次式で表される。   In these tables, r, g and b are lower addresses (lower data generated from the address generators 1 to 3, r is an R address generator, g is a G address generator, and b is a B address generator. And takes a value of 0-8. C, R, G, and B are coefficients for calculating weighting coefficients. These coefficients C, R, G, and B take values as shown in the table according to the value of the quaternary counter 4 according to the magnitude relationship between r, g, and b. FIG. 2 shows a triangular pyramid applied according to the magnitude relationship between r, g, and b (see FIG. 7). The weighting factor to be generated is expressed by the following equation.

W=M×C+r×R+g×G+b×B (3)
例えば、表1の最初の組み合わせr>g>bでは、カウンタ値=[00]の時、発生すべき重み係数は、(3)式より
W=4×17+(−4)×r+(−2)×g+(−1)×b
で計算される。これから分かるように、重み係数Wは、整数で0〜68の値をとり、8回の掛け合わせ(8点で補間して空間の1点の値を求めるため)の際の重み係数の総和は68となる。
W = M × C + r × R + g × G + b × B (3)
For example, in the first combination r>g> b in Table 1, when the counter value = [00], the weighting factor to be generated is W = 4 × 17 + (− 4) × r + (− 2) from the equation (3). ) × g + (− 1) × b
Calculated by As can be seen from this, the weighting factor W takes an integer value of 0 to 68, and the sum of the weighting factors in the case of eight multiplications (to obtain the value of one point in the space by interpolation at 8 points) is 68.

カラーLUT11,12は、前記したアドレス生成器1〜3の出力をアドレスとして受けて、アドレスに応じた値を出力する。カラーLUT11の出力は乗算器13に入り、カラーLUT12の出力は乗算器14に入る。一方、これら乗算器13,14の他方の入力には、前記重み発生器5,6の出力が入っている。これら乗算器13,14は、カラーLUTの出力と重み発生器の出力を同時に乗算する。本発明によれば、同時乗算することにより、重み係数の総和が255以下となるため、従来の直方体の重み係数では64ビットのCPUではできなかった8点補間での3色同時処理が可能となる。これにより、演算速度を大幅に高速化することができる。   The color LUTs 11 and 12 receive the outputs from the address generators 1 to 3 as addresses and output values corresponding to the addresses. The output of the color LUT 11 enters the multiplier 13, and the output of the color LUT 12 enters the multiplier 14. On the other hand, the other inputs of the multipliers 13 and 14 contain the outputs of the weight generators 5 and 6, respectively. These multipliers 13 and 14 simultaneously multiply the output of the color LUT and the output of the weight generator. According to the present invention, since the sum of weighting coefficients becomes 255 or less by simultaneous multiplication, it is possible to perform three-color simultaneous processing by 8-point interpolation, which is not possible with a 64-bit CPU with a conventional rectangular weighting coefficient. Become. As a result, the calculation speed can be greatly increased.

これら乗算器13,14の出力は、加算器15に入って加算される。該加算器15の出力は積算器16に入って積算される。以上の動作をカウンタ4の出力である00,01,10,11の4回繰り返して8点の補間演算を行なう。積算器16はこの8点の補間演算の総和を計算する。この積算器16で積算された値は、(結果×重み係数の総和)であるため、続く割算器17で重み係数(この場合68)で除算する。割算器17からは、補間演算を行なって変換されたRの新しいデータRnewが出力される。   The outputs of the multipliers 13 and 14 enter an adder 15 and are added. The output of the adder 15 enters the integrator 16 and is integrated. The above operation is repeated four times, 00, 01, 10, and 11, which are the outputs of the counter 4, and eight-point interpolation is performed. The accumulator 16 calculates the total sum of these eight interpolation operations. Since the value accumulated by the accumulator 16 is (result × sum of weighting coefficients), the subsequent divider 17 divides by the weighting coefficient (68 in this case). The divider 17 outputs new R data Rnew converted by interpolation.

この場合において、割算器17の重み係数が2のべき乗でない時(前述の68もそうである)、割算器による割算が必要である。ところが、重み係数が2のべき乗である時には、単純にべき乗分右シフトするだけですむので、実質的に割算器は不要になる。そこで、カラーLUT11,12に格納するデータを予め重み係数68で割算し、2のべき乗倍して格納しておけば、割算器17は不要となる。なお、カラーLUTにリニアなデータが保持されていれば、割算器を用いた最終結果と前記動作による最終結果とには差異は生じない。   In this case, when the weighting factor of the divider 17 is not a power of 2 (as in the case of 68 described above), division by a divider is necessary. However, when the weighting factor is a power of 2, it is only necessary to shift right by a power, so that a divider is substantially unnecessary. Therefore, if the data to be stored in the color LUTs 11 and 12 is divided in advance by the weighting factor 68 and stored by multiplying by a power of 2, the divider 17 becomes unnecessary. If linear data is held in the color LUT, there is no difference between the final result using the divider and the final result by the above operation.

以上、Rデータを求める場合について説明したが、Gデータ,Bデータを求める場合についても同様である。
なお、重み発生器による重み係数発生の方法は、種々の形態が考えられる。前記(3)式を全て予め行ない、その結果をROMの形で格納するか、又は実際の演算をその都度行なうか、その中間的な方法をとるかは、ハードウェアの構成に依存する。以下に実現方法をいくつか示す。
(a)全てROM化する方法
図3に示すように、入力アドレスとして各色4ビットずつ16KBのROMを用いるものである。ROMには、予め計算された重み係数が格納されている。そして、r,g,b各4ビットのアドレスとカウンタの2ビット出力を受けて、対応する番地に記憶されている7ビットの重み係数データを出力する。
(b)エンコーダを利用する方法
図4はエンコーダを利用して重み係数を発生するものである。下位桁の範囲が0〜8であることに着目し、8ビット入力7ビット出力の第1のエンコーダ41でr,gの入力に対応するデータを出力して7ビットの1個のデータにまとめる。第1のエンコーダ41としては、例えばLUTが用いられる。この第1のエンコーダ41の出力は、0〜80の値をとる。次に、この第1のエンコーダ41の出力とb入力とを入力とする第2のエンコーダ42でエンコードして1個のデータにまとめる。最後に、この第2のエンコーダ42の出力とカウンタ出力を受けるROM43に入力して、7ビットの重み係数データを出力する。このようにエンコードを2段行ない、0〜728の値を出力範囲とすることにより、2段目のエンコード出力は10ビットであるので、ROM43としては、4KBのサイズですむ。エンコーダを用いることにより、図3に示す例では、ROMの容量が16KBであるのに比較して、ROM容量は1/4ですむ。
(c)全て計算で求める方法
この方法は、(3)式をその都度演算するものである。ROMが不要となる代わりに、演算時間がかかるので、高速化には向かない。
The case of obtaining R data has been described above, but the same applies to the case of obtaining G data and B data.
Various methods can be considered for the method of generating the weight coefficient by the weight generator. Whether all of the above formulas (3) are performed in advance and the result is stored in the form of ROM, or whether the actual calculation is performed each time, or an intermediate method is used depends on the hardware configuration. Some implementation methods are shown below.
(A) Method for making all ROMs As shown in FIG. 3, a 16 KB ROM for each color is used as an input address. The ROM stores weight coefficients calculated in advance. The 4-bit address of r, g, and b and the 2-bit output of the counter are received, and the 7-bit weight coefficient data stored in the corresponding address is output.
(B) Method of Using Encoder FIG. 4 is a diagram for generating a weighting factor using an encoder. Paying attention to the range of the lower digits from 0 to 8, the first encoder 41 with 8 bits input and 7 bits output outputs the data corresponding to the input of r and g and combines them into one 7 bit data. . For example, an LUT is used as the first encoder 41. The output of the first encoder 41 takes a value from 0 to 80. Next, the data is encoded by a second encoder 42 that receives the output of the first encoder 41 and the b input as input, and is combined into one piece of data. Finally, the output of the second encoder 42 and the counter output are input to the ROM 43 to output 7-bit weight coefficient data. As described above, the encoding is performed in two stages and the value of 0 to 728 is set as the output range, so that the encoding output in the second stage is 10 bits, so that the ROM 43 can be 4 KB in size. By using the encoder, in the example shown in FIG. 3, the ROM capacity can be ¼ compared to the ROM capacity of 16 KB.
(C) Method of obtaining by calculation This method is to calculate equation (3) each time. Instead of eliminating the need for ROM, computation time is required, which is not suitable for speeding up.

図5は本発明の他の実施例を示す構成図で、中央演算装置を用いて補間を行なうようにしたものである。この場合も、3次元補間を示す。R,G,Bデータを受けてアドレス発生手段50は、60に示すような3次元のカラーLUTアドレスを発生する。カラーLUTには、61に示すようなY,M,C,Kの4種類のデータが記憶されている。ここで、補間演算における最後のシーケンスである割算をシフトのみで行なうため、カラーLUTに記憶されているデータは、64/68倍されて記憶されている。従って、この時の最大値は255ではなく、240となる。   FIG. 5 is a block diagram showing another embodiment of the present invention, in which interpolation is performed using a central processing unit. Again, three-dimensional interpolation is shown. In response to the R, G, B data, the address generating means 50 generates a three-dimensional color LUT address as shown at 60. The color LUT stores four types of data Y, M, C, and K as shown in 61. Here, since division, which is the last sequence in the interpolation calculation, is performed only by shifting, the data stored in the color LUT is stored after being multiplied by 64/68. Accordingly, the maximum value at this time is 240 instead of 255.

直方体の体積の最大値は13ビット程度(M=17の時、17 3 )になる。元のデータの8ビットに対して13ビットを足すと21ビットの計算の幅が必要となる。この場合に4色を同時に計算しようとすると極めて大きいビット数のCPUが必要となる。本発明の場合は最大で7ビットであるから、8ビットと7ビットを乗算しても16ビットを超えることがない。従って、16×3(3色の場合)であり、64ビットのCPUを用いれば、十分に8点補間での3色同時補間が可能である。 The maximum value of the volume of the rectangular parallelepiped is about 13 bits (when M = 17, 17 3 ). If 13 bits are added to 8 bits of the original data, a calculation width of 21 bits is required. In this case, if four colors are to be calculated simultaneously, a CPU having an extremely large number of bits is required. In the case of the present invention, since the maximum is 7 bits, multiplication of 8 bits and 7 bits does not exceed 16 bits. Therefore, it is 16 × 3 (in the case of three colors), and if a 64-bit CPU is used, simultaneous three-color interpolation with 8-point interpolation is sufficiently possible.

R,G,B画像データがアドレス発生手段50に入力すると、アドレス発生手段50は、前記実施例の場合と同様に上位桁と下位桁が計算され、出力される。上位桁はカラーLUTを選び、下位桁は重み係数発生手段51に入り、重み係数を発生させる。カラーLUTから読み出されたY,M,C,Kデータは、64ビットレジスタ52に図に示すように再配置される。   When R, G, B image data is input to the address generating means 50, the address generating means 50 calculates and outputs the upper and lower digits as in the case of the above embodiment. The upper digit selects the color LUT, and the lower digit enters the weighting factor generating means 51 to generate the weighting factor. The Y, M, C, and K data read from the color LUT are rearranged in the 64-bit register 52 as shown in the figure.

8回の乗算累積に必要なカラーLUTデータがレジスタ52に呼び込まれ、一方、対応する重み係数データが与えられる。この重み係数の計算は、表1,表2により与えられるもので、また、必要なカラーLUTの位置は下位ビットに依存し、アドレス発生手段50の出力により変化する。   The color LUT data required for 8 multiplication accumulations is loaded into the register 52, while the corresponding weight coefficient data is given. The calculation of the weighting coefficient is given by Tables 1 and 2, and the position of the required color LUT depends on the lower bits and changes depending on the output of the address generation means 50.

i番目のLUTデータとi番目の重み係数Wiが累算器(又はALU)53により乗算される。この乗算結果は、積算用レジスタ54に送られる。この演算を8回行ない、積算用レジスタ54で積算する。8回の積算が終了したら、6ビット右シフトする。これで等価的に1/64倍されたことになる。このシフトされた変換後のデータを所定の画像フォーマットに修正するために再配置する。   The i-th LUT data and the i-th weight coefficient Wi are multiplied by an accumulator (or ALU) 53. The multiplication result is sent to the integrating register 54. This calculation is performed 8 times and integrated by the integration register 54. When 8 accumulations are completed, shift 6 bits to the right. This is equivalently 1/64 times. The shifted converted data is rearranged in order to correct it to a predetermined image format.

次に、本発明の変形・応用例について説明する。
1)重み発生手段として、従来の格子点を区切る反対側の直方体の体積を用いることもできる。但し、この場合、厳密には重み係数の発生ビット数は実施例の7ビットから13ビットに増大し、同時に乗算器,加算器等もコストの高いビット幅の広いものを使用しなくてはならなくなる。
2)重み係数が格子点に対称であることを利用して節減しない方法も可能である。但し、この場合、アドレス発生器にカウンタ入力が不要となるため、ROMで構成する場合にはメモリ容量が半分(実施例の512バイトから256バイトへ)、また計算が単純になる利点がある。しかしながら、重み発生器をROMで作成する場合、実施例では2916(=93 ×4)ワードから19652(=173 ×4)ワードへ増大するため、トータルのメモリ容量は増大することになる。
3)実施例では、パラレル処理とシリアル処理(時系列処理)の組み合わせで構成したが、完全なパラレル処理も、また、シリアル処理(図5の例)も可能である。
4)実施例では、N=3、つまり3次元の補間の場合について示したが、本発明は4次元以上の場合についても同様にして容易に拡張することができる。4次元の場合、重み係数の場合分けは24通りになる。但し、重み係数をROMで構成した時は1/16に削減可能である。
5)中央演算装置で同時に補間演算を実行する時、一度に64ビットで行わず、32ビットレジスタを2回用いて行なうことも可能である。
Next, modifications and applications of the present invention will be described.
1) As a weight generation means, the volume of a rectangular parallelepiped on the opposite side that divides a conventional lattice point can be used. However, in this case, strictly speaking, the number of bits for generating the weighting coefficient is increased from 7 bits in the embodiment to 13 bits, and at the same time, multipliers, adders, etc., which are expensive and have a wide bit width must be used. Disappear.
2) A method that does not save by using the fact that the weighting factor is symmetric with respect to the lattice point is also possible. However, in this case, since no counter input is required for the address generator, there is an advantage that the memory capacity is halved (from 512 bytes in the embodiment to 256 bytes) and the calculation is simplified in the case of the ROM. However, when the weight generator is created in ROM, the total memory capacity increases since 2916 (= 93.times.4) words increase from 19916 (= 173.times.4) words in the embodiment.
3) Although the embodiment is configured by a combination of parallel processing and serial processing (time-series processing), complete parallel processing and serial processing (example of FIG. 5) are also possible.
4) In the embodiment, N = 3, that is, the case of three-dimensional interpolation is shown. However, the present invention can be easily extended to the case of four or more dimensions. In the case of four dimensions, there are 24 cases of weighting factors. However, when the weight coefficient is composed of ROM, it can be reduced to 1/16.
5) When simultaneously performing the interpolation operation in the central processing unit, it is possible not to use 64 bits at a time but to use a 32-bit register twice.

以上、詳細に説明したように、本発明によれば、補間に対する重み係数の最大値を、補間間隔Mの時、M×2N-1で与えるようにして、重み係数の最大値を抑制するようにした。これにより、ハードウェア資源の節約を図ることができ、演算時間の高速化を図ることができる。 As described above in detail, according to the present invention, the maximum value of the weighting coefficient for interpolation is given by M × 2 N-1 at the interpolation interval M, thereby suppressing the maximum value of the weighting coefficient. I did it. As a result, it is possible to save hardware resources and increase the calculation time.

この場合において、最大重み係数が2のべき乗にならない時、カラーLUTに格納するデータを予め割算し、2のべき乗倍して格納することようにした。これにより、補間演算の最後で行なう重み係数による割算が単にデータのシフト(右シフト)のみで行えることにより、演算時間を高速化することができる。。   In this case, when the maximum weight coefficient is not a power of 2, the data stored in the color LUT is divided in advance and stored by multiplying by a power of 2. As a result, the division by the weighting coefficient performed at the end of the interpolation calculation can be performed simply by shifting the data (right shift), thereby speeding up the calculation time. .

また、本発明によれば、N次元の補間を行なう場合において、重み係数を、補間間隔Mに対して(M+1)/2のアドレスに対して発生し、多次元補間を行なうことにより、重み係数発生用のメモリ容量を削減することができ、ハードウェア資源を節約することができる。   Further, according to the present invention, when performing N-dimensional interpolation, a weighting factor is generated for an address of (M + 1) / 2 with respect to the interpolation interval M, and the weighting factor is obtained by performing multidimensional interpolation. The memory capacity for generation can be reduced, and hardware resources can be saved.

この場合において、N次元のLUTの補間演算を行なうに際し、LUTの3色乃至4色の値のうち、複数の色データに対して同時に重み係数を乗算することにより、ハードウェア資源を節約し、補間演算を高速化することができる。   In this case, when performing the interpolation operation of the N-dimensional LUT, hardware resources are saved by simultaneously multiplying a plurality of color data among the values of three to four colors of the LUT by a weight coefficient, Interpolation calculation can be speeded up.

このように、本発明によれば、ハードウェア資源の節約と演算速度の高速化を図ることができる多次元補間装置を提供することができ、実用上の効果が極めて大きい。   As described above, according to the present invention, it is possible to provide a multidimensional interpolation apparatus that can save hardware resources and increase the calculation speed, and has a great practical effect.

本発明の一実施例を示す構成ブロック図である。1 is a configuration block diagram illustrating an embodiment of the present invention. r,g,bの大小関係に応じて適用される三角錐を示す図である。It is a figure which shows the triangular pyramid applied according to the magnitude relationship of r, g, and b. 重み発生器としてROMを用いた時の構成図である。It is a block diagram when ROM is used as a weight generator. 重み発生器としてエンコーダを利用する時の構成図である。It is a block diagram when using an encoder as a weight generator. 本発明の他の実施例を示す構成図である。It is a block diagram which shows the other Example of this invention. 立方体補間の説明図である。It is explanatory drawing of cube interpolation. 三角錐補間の説明図である。It is explanatory drawing of a triangular pyramid interpolation. 重み係数の性質の説明図である。It is explanatory drawing of the property of a weighting coefficient.

符号の説明Explanation of symbols

1 Rアドレス生成器
2 Gアドレス生成器
3 Bアドレス生成器
4 4進カウンタ
5 重み発生器
6 重み発生器
10 R処理部
11 カラーLUT
12 カラーLUT
13 乗算器
14 乗算器
15 加算器
16 積算器
17 割算器
20 G処理部
30 B処理部
1 R Address Generator 2 G Address Generator 3 B Address Generator 4 Quaternary Counter 5 Weight Generator 6 Weight Generator 10 R Processing Unit 11 Color LUT
12 color LUT
13 Multiplier 14 Multiplier 15 Adder 16 Accumulator 17 Divider 20 G Processing Unit 30 B Processing Unit

Claims (3)

補間間隔M毎のN(N≧3)次元の入力データに対する出力値が各々保持されたカラーLUTを用い、補間対象となる入力値に対する出力値を、補間対象の入力値近傍の補間間隔M毎のN次元の入力データに対するカラーLUTからの出力値に対して重み付けを行なうことによって求める多次元補間装置において、以下に示すステップを実行する演算手段を具備することを特徴とする多次元補間装置。
(S1)補間対象となる入力値をその内部に有し、前記補間間隔M毎のN次元の入力データを頂点とする単位超立方体を想定するステップ。
(S)この単位超立方体をある1つの対角線を共有する複数の超立体に分割し、分割された複数の超立体の中から前記補間対象となる入力値をその内部に有する超立体を特定し、前記補間対象となる入力値と各頂点との関係に基づく重み係数を、特定した超立体の各頂点毎に求めるステップ。
(S)前記ステップSを前記単位超立方体の残りの全ての対角線について行なうステップ。
(S)前記単位超立方体の各頂点毎に、前記ステップS及びSで得られた重み係数を足し合わせ、足し合わされた重み係数を求めるステップ。
(S)前記単位超立方体の各頂点に相当する入力データに対する各出力値を前記カラーLUTから得ると共に、この得られた各出力値と、各頂点毎に前記ステップSで得られた足し合わされた重み係数とを、各々乗算するステップ
(S)前記ステップSで乗算された結果を足し合わせるステップ
(S)前記ステップSで得られた足し合わせ結果をM×2N-1で除算することにより、前記補間対象となる入力値に対する補間値を求めるステップ。
Using a color LUT in which output values for N (N ≧ 3) -dimensional input data for each interpolation interval M are held, output values for the input values to be interpolated are calculated for each interpolation interval M in the vicinity of the input values to be interpolated. A multi-dimensional interpolation apparatus, comprising: a calculation means for executing the following steps in a multi-dimensional interpolation apparatus that is obtained by weighting an output value from a color LUT for N-dimensional input data:
(S1) A step of assuming a unit hypercube having an input value to be interpolated therein and having N-dimensional input data for each interpolation interval M as a vertex .
(S 2 ) This unit hypercube is divided into a plurality of hypersolids sharing a certain diagonal line, and the hypersolid having the input value to be interpolated therein is specified from among the divided supersolids. and, a weighting factor based on the relationship between the input value and each vertex serving as the interpolation target, Ru determined for each vertex of the identified super-solid steps.
(S 3) all rows of the Hare steps for diagonal of remaining step S 2 the unit hypercube.
(S 4) steps for each vertex of the unit hypercube, adding the weighting coefficient obtained in the step S 2 and S 3, Ru determined by a weighting factor summed.
(S 5 ) Each output value for input data corresponding to each vertex of the unit hypercube is obtained from the color LUT, and each obtained output value and the sum obtained in step S 4 for each vertex are added. Multiplying each of the combined weighting factors .
(S 6 ) A step of adding the results multiplied in step S 5 .
(S 7 ) A step of obtaining an interpolated value for the input value to be interpolated by dividing the summation result obtained in step S 6 by M × 2 N−1 .
前記補間対象となる入力値が前記単位超立方体の各辺の半分の辺で構成される、前記単位超立方体の1/2 N の単位超立方体に存在する場合の重み係数を予め保持しており、前記補間対象となる入力値が、前記1/2 N の単位超立方体に存在しない場合は、単位超立方体の対称性に基づいて、前記予め保持している重み係数を用いるようにしたことを特徴とする請求項1記載の多次元補間装置。 A weighting factor is stored in advance when the input value to be interpolated exists in a unit hypercube of 1/2 N of the unit hypercube, which is composed of half sides of each side of the unit hypercube. When the input value to be interpolated does not exist in the 1/2 N unit hypercube, the weight coefficient held in advance is used based on the symmetry of the unit hypercube. The multidimensional interpolation apparatus according to claim 1, wherein 前記カラーLUTの3色乃至4色の値のうち、複数の入力データに対して同時に重み係数を乗算することを特徴とする請求項1又は2記載の多次元補間装置。 The multidimensional interpolation apparatus according to claim 1 or 2 , wherein among the values of the three colors to four colors of the color LUT, a plurality of input data are simultaneously multiplied by a weighting coefficient .
JP2006002947A 2006-01-10 2006-01-10 Multidimensional interpolator Expired - Lifetime JP4089728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006002947A JP4089728B2 (en) 2006-01-10 2006-01-10 Multidimensional interpolator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006002947A JP4089728B2 (en) 2006-01-10 2006-01-10 Multidimensional interpolator

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP25192594A Division JP4001938B2 (en) 1994-10-18 1994-10-18 Multidimensional interpolation method

Publications (2)

Publication Number Publication Date
JP2006203885A JP2006203885A (en) 2006-08-03
JP4089728B2 true JP4089728B2 (en) 2008-05-28

Family

ID=36961428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006002947A Expired - Lifetime JP4089728B2 (en) 2006-01-10 2006-01-10 Multidimensional interpolator

Country Status (1)

Country Link
JP (1) JP4089728B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104641B2 (en) * 2008-08-12 2012-12-19 コニカミノルタIj株式会社 Color adjustment method
JP5327355B2 (en) * 2012-05-07 2013-10-30 コニカミノルタ株式会社 Color adjustment method and color adjustment apparatus

Also Published As

Publication number Publication date
JP2006203885A (en) 2006-08-03

Similar Documents

Publication Publication Date Title
US6496609B1 (en) Hybrid-linear-bicubic interpolation method and apparatus
US11314845B2 (en) Interpolating a sample position value by interpolating surrounding interpolated positions
US20030086007A1 (en) Image processing method and apparatus
JP2901213B2 (en) Color space conversion method
US6260054B1 (en) Reciprocal generator using piece-wise-linear segments of varying width with floating-point format
JP4089728B2 (en) Multidimensional interpolator
US7636095B2 (en) Pixel delta interpolation method and apparatus
JP4001938B2 (en) Multidimensional interpolation method
US7397483B1 (en) Image data conversion using interpolation
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JP3839676B2 (en) Color correction apparatus and method
CN116227507B (en) Arithmetic device for performing bilinear interpolation processing
JP2002344757A (en) Color interpolation method and color interpolation apparatus
JP2023090079A (en) 3d lookup table circuit and method of interpolating lattice point of 3d lookup table
JP2627824B2 (en) Image processing device
JPH09172554A (en) Color look up table
JPH0664618B2 (en) Clipping circuit
JP2018061146A (en) 3D lookup table circuit
Gener Fully random access differential lookup tables
JPH08321956A (en) Data converter and signal processing method for data converter
WO2019019196A1 (en) Digital signal processing method and device and programmable logic device
JP2001266136A (en) Arithmetic processing method, arithmetic processor, picture recorder, signal interpolation method and signal interpolator
JPH08181874A (en) Device and method for data conversion
JPH04332262A (en) Color converter
JPH0630434B2 (en) Digital Filter

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071030

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071121

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term