JP2005149051A - Data conversion device and method - Google Patents

Data conversion device and method Download PDF

Info

Publication number
JP2005149051A
JP2005149051A JP2003384715A JP2003384715A JP2005149051A JP 2005149051 A JP2005149051 A JP 2005149051A JP 2003384715 A JP2003384715 A JP 2003384715A JP 2003384715 A JP2003384715 A JP 2003384715A JP 2005149051 A JP2005149051 A JP 2005149051A
Authority
JP
Japan
Prior art keywords
data
interpolation
unit
basic data
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.)
Granted
Application number
JP2003384715A
Other languages
Japanese (ja)
Other versions
JP2005149051A5 (en
JP4431953B2 (en
Inventor
Yasunao Unno
泰直 海野
Goro Noda
悟朗 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2003384715A priority Critical patent/JP4431953B2/en
Publication of JP2005149051A publication Critical patent/JP2005149051A/en
Publication of JP2005149051A5 publication Critical patent/JP2005149051A5/ja
Application granted granted Critical
Publication of JP4431953B2 publication Critical patent/JP4431953B2/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)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the memory capacity needed for data storage, without deteriorating interpolation accuracy even if data conversion for color space conversion is carried out using interpolation operations. <P>SOLUTION: This data conversion device which calculates output color data corresponding to input color data through, e.g., four-point interpolation, has a plurality of independently controllable memory spaces with number smaller than the number of predetermined data for interpolation operations. The basic data needed for the interpolation operations are stored in the memory spaces. The basic data are grouped so that each constitutes an independent plane according to their differences in the direction of growth. The plurality of basic data in each group is stored in the corresponding memory space. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、例えばRGB色空間→CMYK色空間のように、ある色空間に属する入力画像データを他の色空間に属する出力画像データに変換するためのデータ変換装置およびデータ変換方法に関する。   The present invention relates to a data conversion apparatus and a data conversion method for converting input image data belonging to a certain color space into output image data belonging to another color space, for example, RGB color space → CMYK color space.

一般に、スキャナ等の画像入力装置およびプリンタ等の画像出力装置では、各々の機器に固有の色空間で規定された色信号(データ値)を使用している。例えば、スキャナではRGB空間で色が表現され、プリンタではCMYK空間で色が表現されるといった具合である。このことから、スキャナで読み取った画像データをプリンタで印刷出力する場合には、RGB色空間→CMYK色空間といった画像データに対する色空間変換処理を行う必要が生じる。   In general, an image input device such as a scanner and an image output device such as a printer use color signals (data values) defined in a color space unique to each device. For example, a scanner expresses colors in the RGB space, and a printer expresses colors in the CMYK space. Therefore, when the image data read by the scanner is printed out by the printer, it is necessary to perform a color space conversion process on the image data such as the RGB color space → the CMYK color space.

このような色空間変換処理は、多次元LUT(Look Up Table ;ルックアップテーブル)を用いて行うことが知られている。多次元LUTを用いる場合には、通常、入力信号に対応する出力値を予め算出しておき、その値をテーブルとして保持しておくことで、入力値に対応した出力値を演算なしで得ることが可能となる。
ところが、例えばRGB色空間→CMYK色空間といった色空間変換処理については、これを多次元LUTだけを用いて行おうとすると、大容量のメモリが必要となる。具体的には、R,G,Bの各色がそれぞれ8ビット信号であり、出力であるY,M,C,Kの各色も8ビット信号であると、入力値の組合せは28×28×28=16,777,216通りであり、R,G,Bの入力に対してY,M,C,Kのうちの1色に変換するのに16メガバイト(Mbyte)のメモリが必要となる。よって、Y,M,C,Kの4色に変換するためには、16メガバイトの4倍の64メガバイトものメモリが必要となる。つまり、入力24ビット、出力8ビットに対応したLUTが必要で、この場合、出力1色当たりのメモリ容量は16M(メガ)バイトとなり、さらに、出力デバイスの色数分だけ上述のメモリが必要であるため、実際のメモリ容量は、48〜64Mバイトといった大容量となる。したがって、このメモリ容量はコスト的な観点でみた場合にシステムに対するインパクトが大きく、現実的ではない。
このことから、色変換処理において多次元LUTを用いる場合には、補間演算処理を併用することによってLUTのメモリ容量を小さなものとすることが提案されている。これは、入力信号の上位複数ビット分にのみ対応した出力値をLUTとして構成し、入力信号に該当する出力値が存在しない場合はその入力値が示す空間位置の近傍データを用いて補間処理を施し出力値を算出することで、LUTの容量を削減可能にするというものである。
It is known that such a color space conversion process is performed using a multi-dimensional LUT (Look Up Table). When a multi-dimensional LUT is used, an output value corresponding to an input signal is usually calculated in advance, and the value is stored as a table so that an output value corresponding to the input value can be obtained without calculation. Is possible.
However, for example, if a color space conversion process such as RGB color space → CMYK color space is performed using only a multidimensional LUT, a large-capacity memory is required. Specifically, if each color of R, G, B is an 8-bit signal and each color of output, Y, M, C, K is also an 8-bit signal, the combination of input values is 2 8 × 2 8. × 2 8 = 16,777,216 types, and a 16 megabyte (Mbyte) memory is required to convert R, G, B input into one of Y, M, C, K colors Become. Therefore, in order to convert into four colors of Y, M, C, and K, a memory of 64 megabytes, which is four times 16 megabytes, is required. That is, an LUT corresponding to input 24 bits and output 8 bits is required. In this case, the memory capacity per output color is 16 M (mega) bytes, and the above-described memory is required for the number of colors of the output device. Therefore, the actual memory capacity is as large as 48 to 64 Mbytes. Therefore, this memory capacity has a large impact on the system from the viewpoint of cost, and is not realistic.
For this reason, when a multi-dimensional LUT is used in color conversion processing, it has been proposed to reduce the memory capacity of the LUT by using interpolation processing together. This is because an output value corresponding to only the upper multiple bits of the input signal is configured as an LUT, and if there is no output value corresponding to the input signal, interpolation processing is performed using the neighborhood data of the spatial position indicated by the input value. By calculating the applied output value, the capacity of the LUT can be reduced.

LUTと補間処理とを組み合せた補間演算処理としては、例えば4点補間法(テトラ・ハイドラ補間;Tetra-Hydra 補間)が知られている(例えば、特許文献1,2,3参照)。テトラ・ハイドラ補間演算(四面体補間演算)とは、例えば、入力3要素のデータからなる格子体を構成し、入力3要素の上位ビットから何れの格子体に該当データが含まれるかを決定し、その中をさらに6つの四面体に分割し、入力3要素の下位ビットから何れの四面体に該当データが含まれるかを決定し、四面体頂点から得られる基礎データとその四面体毎に決められた乗数(補間係数)とを基に演算する、というものである。この場合、入力データが決まれば必要となる四面体が一意に決まることから、四面体を決めるためには、互いに交差しない2つの線分から得られる合計4頂点があればよい。
このようなテトラ・ハイドラ補間演算を用いれば、例えば、入力R,G,Bから任意の1色(出力色)への変換に際し、LUTへの格納データ数を17データ×17データ×17データと規定した場合、LUTの容量は4.9キロバイトで実現可能となり、補間処理を用いない方式における16メガバイトと比較すると大幅な容量削減が可能である。
また、テトラ・ハイドラ補間の他にも、補間演算処理としては、5点補間法を用いることや(例えば、特許文献1参照)、立方体補間法(8点補間法)を用いることも提案されている(例えば、特許文献2参照)。
As an interpolation calculation process combining the LUT and the interpolation process, for example, a four-point interpolation method (Tetra-Hydra interpolation) is known (see, for example, Patent Documents 1, 2, and 3). Tetra-hydra interpolation calculation (tetrahedral interpolation calculation), for example, constitutes a grid consisting of data of three input elements, and determines which grid contains the corresponding data from the upper bits of the three input elements Then, it is further divided into six tetrahedrons, and it is determined which tetrahedron contains the corresponding data from the lower bits of the three input elements, and the basic data obtained from the tetrahedron vertex and each tetrahedron are determined. The calculation is based on the obtained multiplier (interpolation coefficient). In this case, since the required tetrahedron is uniquely determined when the input data is determined, in order to determine the tetrahedron, a total of four vertices obtained from two line segments that do not intersect with each other are sufficient.
Using such a tetra-hydra interpolation operation, for example, when converting input R, G, B to any one color (output color), the number of data stored in the LUT is 17 data × 17 data × 17 data. When defined, the LUT capacity can be realized by 4.9 kilobytes, and the capacity can be significantly reduced as compared with 16 megabytes in a method not using interpolation processing.
In addition to tetra-hydra interpolation, it has also been proposed to use a five-point interpolation method (for example, see Patent Document 1) or a cubic interpolation method (eight-point interpolation method) as an interpolation calculation process. (For example, refer to Patent Document 2).

このように、LUTと補間処理とを組み合せた補間演算処理は、LUTから読み出したデータ(格子点データ)を幾つ用いるか、また、どのような関係の格子点データを用いるかによって、幾つかの手法に分類できる。一般的に、格子点データを多く用いる手法では、補間精度は向上するが、補間回路の規模が大きくなる。比較的回路規模が小さな補間手法としてはテトラ・ハイドラ補間が、また回路規模が大きくなるが補間精度がよい補間方法としては8点補間法が、それぞれ知られている。何れの手法に依る場合であっても、3次元立方格子の各格子点データを用いて補間演算する際の格子点データの個数(補間演算所用データ数)は、元のLUTの格子点で確定される単位立方体を内分する多面体に応じて定まる。例えば、立方格子を対象とする場合には、補間演算所用データ数は、最小で4個(テトラ・ハイドラ補間)、最大で8個(8点補間法)である。   As described above, the interpolation calculation processing combining the LUT and the interpolation processing is performed depending on how many pieces of data (grid point data) read out from the LUT are used and what kind of relation is used. Can be classified into methods. In general, in the method using a lot of grid point data, the interpolation accuracy is improved, but the scale of the interpolation circuit is increased. Tetra-hydra interpolation is known as an interpolation method with a relatively small circuit scale, and 8-point interpolation is known as an interpolation method with a large circuit scale but good interpolation accuracy. Regardless of which method is used, the number of grid point data (number of interpolation calculation data) when performing interpolation calculation using each grid point data of the three-dimensional cubic grid is determined by the grid point of the original LUT. It is determined according to the polyhedron that internally divides the unit cube. For example, when a cubic lattice is targeted, the number of interpolation calculation data is a minimum of 4 (tetra-hydra interpolation) and a maximum of 8 (8-point interpolation method).

特開平8−181874号公報JP-A-8-181874 特公昭58−16180号公報点Japanese Examined Patent Publication No. 58-16180 特開昭56−14237号公報JP-A-56-14237

しかしながら、上述した従来における色空間変換処理、すなわちLUTと補間処理とを組み合せた補間演算処理においては、以下に述べるような難点がある。
例えば、特許文献1に記載の色空間変換処理では、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合、LUTとして用いられるメモリから複数のデータを複数回読み出すことが不可能であるため、同容量のメモリを補間演算所用データ数の分だけ使用しなければならない。
テトラ・ハイドラ補間の場合においては、RGBからYMCKへの変換を想定すると、Yへの変換に4つの格子点抽出用として4個、同様にMへの変換用に4個、Cへの変換用に4個、Kへの変換用に4個、合計16個の同容量のメモリが必要となる。したがって、LUTへの格納データ数を上述のように17データ×17データ×17データと規定した場合には、全メモリ容量が78.6キロバイトとなる。また、補間精度を重視し、8点補間を想定した場合には、32個もメモリが必要となり、全メモリ容量が157.2キロバイトにもなってしまう。
一方、メモリ容量の増大もさることながら、ある単位時間に多大な数のメモリに同時アクセスするということは、消費電力の増大や放射ノイズの増大をも招くおそれがある。
However, the above-described conventional color space conversion process, that is, the interpolation calculation process combining the LUT and the interpolation process has the following problems.
For example, in the color space conversion process described in Patent Document 1, when the time allocated as the color space conversion processing time for one pixel is very short, a plurality of data is stored from the memory used as the LUT. Since it is impossible to read the data once, it is necessary to use the same amount of memory as the number of data for the interpolating operation.
In the case of tetra-hydra interpolation, assuming conversion from RGB to YMCK, four for extracting four grid points for conversion to Y, four for conversion to M, and for conversion to C A total of 16 memories of the same capacity are required. Therefore, when the number of data stored in the LUT is defined as 17 data × 17 data × 17 data as described above, the total memory capacity is 78.6 kilobytes. In addition, when emphasizing interpolation accuracy and assuming 8-point interpolation, 32 memories are required, and the total memory capacity is 157.2 kilobytes.
On the other hand, simultaneously accessing a large number of memories in a certain unit time as well as an increase in memory capacity may increase power consumption and radiation noise.

そこで、本発明は、色空間変換のためのデータ変換を補間演算を利用して行う場合であっても、補間精度を劣化させることがなく、しかもデータ格納のためのメモリ容量、あるいは消費電力や放射ノイズを低減することも可能となるデータ変換装置およびデータ変換方法を提供することを目的とする。   Therefore, the present invention does not deteriorate the interpolation accuracy even when data conversion for color space conversion is performed using an interpolation operation, and further, the memory capacity for data storage, power consumption, An object of the present invention is to provide a data conversion apparatus and a data conversion method that can reduce radiation noise.

本発明は、上記目的を達成するために案出されたデータ変換装置である。すなわち、入力色データを出力色データに変換する際に用いられる格子点データに基づいて、前記入力色データの画素データ毎に、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定する単位格子体判定部と、前記単位格子体判定部により判定された該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定する多面体判定部と、前記多面体判定部により判定された該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する補間演算処理部と、前記多面体に応じて規定される補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能な複数のメモリ空間を具備し、k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた前記格子点データに対応する基礎データを格納するとともに、当該基礎データを所定の基準に従って複数のグループに分け、当該グループ毎に、このグループ内の複数の前記基礎データを前記複数のメモリ空間の対応するものに格納するデータ格納部と、前記データ格納部に格納されている前記グループに対応付けられた前記複数の基礎データの中から、処理対象の画素データに対応する前記補間演算所用データ数分の基礎データを抽出し、この抽出した補間演算所用データ数分の基礎データを前記補間演算処理部が前記多面体内での補間演算を行う際に用いる基礎データとする基礎データ抽出部と、を備えるとともに、前記複数のグループは、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するようにグループ分けされていることを特徴とするものである。   The present invention is a data conversion device devised to achieve the above object. That is, based on the grid point data used when converting the input color data to the output color data, for each pixel data of the input color data, the unit grid of which the pixel data constitutes the set of grid point data A unit grid determining unit that determines which one belongs, and a corresponding unit grid determined by the unit grid determining unit is further divided into a plurality of polyhedrons, and the pixel data is assigned to which polyhedron. A polyhedron determination unit that determines whether the pixel belongs to, and an interpolation calculation processing unit that determines pixel data for output corresponding to the input pixel data by interpolation calculation in the corresponding polyhedron determined by the polyhedron determination unit A plurality of memory spaces that can be controlled independently of each other than the number of interpolation calculation data defined in accordance with the polyhedron, and input color signals of k colors The basic data corresponding to the lattice point data associated with each lattice point of the k-dimensional lattice space defined by the prime is stored, and the basic data is divided into a plurality of groups according to a predetermined criterion, A data storage unit that stores the plurality of basic data in the group in corresponding ones of the plurality of memory spaces, and a plurality of the basic data associated with the group stored in the data storage unit. Basic data corresponding to the number of data for the interpolation calculation station corresponding to the pixel data to be processed is extracted from the inside, and the interpolation calculation processing unit interpolates the basic data for the number of data for the interpolation calculation station extracted in the polyhedron A basic data extraction unit that is used as basic data to be used when performing calculations, and the plurality of groups include basic data belonging to the group. It is characterized in that each the difference in the growth direction are grouped to constitute an independent planes.

また、本発明は、上記目的を達成するために案出されたデータ変換方法である。すなわち、入力色データを出力色データに変換する際に用いられる格子点データに基づいて、前記入力色データの画素データ毎に、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定し、該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定し、該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定するデータ変換方法であって、前記多面体に応じて規定される補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能なメモリ空間を使用し、k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた前記格子点データに対応する基礎データを所定の基準に従って複数のグループに分け、当該グループ毎に、このグループ内の複数の前記基礎データを前記複数のメモリ空間の対応するものに格納し、前記グループに対応付けられた前記複数の基礎データの中から、処理対象の画素データに対応する前記補間演算所用データ数分の基礎データを抽出し、この抽出した補間演算所用データ数分の基礎データを用いて、前記多面体内での補間演算を行うとともに、前記複数のグループが、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するようにグループ分けされていることを特徴とする。   The present invention is also a data conversion method devised to achieve the above object. That is, based on the grid point data used when converting the input color data to the output color data, for each pixel data of the input color data, the unit grid of which the pixel data constitutes the set of grid point data It is determined which one belongs, and the corresponding unit lattice is further divided into a plurality of polyhedrons to determine to which polyhedron the pixel data belongs, and by interpolation operation in the corresponding polyhedron A data conversion method for determining pixel data for output corresponding to the input pixel data, the number of which can be independently controlled less than the number of interpolation calculation data defined according to the polyhedron The basic data corresponding to the grid point data associated with each grid point of the k-dimensional grid space defined by the k-color input color signal elements is used as a predetermined reference. Therefore, it is divided into a plurality of groups, and for each group, the plurality of basic data in this group are stored in the corresponding ones in the plurality of memory spaces, and the plurality of basic data associated with the group are selected from the plurality of basic data. In addition, the basic data for the number of data for the interpolation calculation office corresponding to the pixel data to be processed is extracted, and the basic data for the number of data for the interpolation calculation office extracted is used to perform the interpolation calculation in the polyhedron, The plurality of groups are grouped so that each of them forms an independent plane depending on the growth direction of basic data belonging to the group.

上記構成のデータ変換装置および上記手順のデータ変換方法によれば、多面体内での補間演算により入力された画素データに対応する出力用の画素データを決定する際に、多面体に応じて規定される補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能なメモリ空間を使用する。ここで、「補間演算所用データ数」とは、補間演算に必要となる基礎データの数のことをいい、例えば4点補間法(テトラ・ハイドラ補間)の場合であれば4個、8点補間法の場合であれば8個となる。「基礎データ」は、補間演算に必要となるデータであって、元のLUTの格子点データそのものであってもよいし、これに限らず元のLUTの格子点データに対応する所定のデータであってもよい。また、「独立に制御可能なメモリ空間」とは、データ格納部から補間演算に必要となる基礎データを読み出す際に、少なくも、各メモリ空間に対して読出アドレスを独立に設定可能であることを意味する。読出クロックも独立に設定可能であるとより好ましい。また、各メモリ空間の出力を独立にハイインピーダンス状態に設定可能なものであれば一層好ましい。
そして、それぞれのメモリ空間には、k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた格子点データに対応する基礎データを所定の基準に従って複数のグループに分け、グループ毎に、このグループ内の複数の基礎データを複数のメモリ空間の対応するものに格納しておく。つまり、各メモリ空間毎に、基礎データを所定の基準に従ってグループ分けし、各グループ内の個々の基礎データに対して共通のアドレスを割り当てて、各々のメモリセルに格納しておく。ここで、「k」は入力色データにおける色数であり、例えば「k色」が3色であれば、入力色空間における「k次元」は3次元となる。
ただし、このとき、基礎データのグループ分けに際しては、各グループが、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するように、そのグループ分けが行われる。したがって、k次元格子空間の各格子点に対応づけられた格子点データに対応する基礎データの全てをメモリ空間内に格納しておかなくても、少なくとも二つの平面について基礎データをメモリ空間内に格納しておけば、各格子点に対応づけられた格子点データを特定することが可能となる。つまり、同容量の独立に制御可能なメモリ空間を補間演算所用データ数だけ備える必要がなく、補間演算に必要となる格子点データ数とメモリ空間の数を同じにする必要もない。
そして、実際の補間演算に際しては、グループに対応付けられた複数の基礎データの中から、処理対象の画素データに対応する補間演算所用データ数分の基礎データを抽出し、この抽出した補間演算所用データ数分の基礎データを用いて多面体内での補間演算を行うようになる。
According to the data conversion apparatus having the above-described configuration and the data conversion method according to the above-described procedure, when determining pixel data for output corresponding to pixel data input by interpolation calculation within a polyhedron, it is defined according to the polyhedron. A memory space that is independently controllable in number smaller than the number of data for interpolation operation is used. Here, the “number of data for interpolation calculation” means the number of basic data necessary for the interpolation calculation. For example, in the case of the four-point interpolation method (tetra-hydra interpolation), four or eight-point interpolation is performed. In the case of the law, the number is 8. The “basic data” is data necessary for the interpolation calculation, and may be the original LUT lattice point data itself, or is not limited to this, but is predetermined data corresponding to the original LUT lattice point data. There may be. In addition, “independently controllable memory space” means that at least a read address can be set independently for each memory space when reading basic data required for interpolation calculation from the data storage unit. Means. More preferably, the read clock can also be set independently. Further, it is more preferable that the output of each memory space can be set to a high impedance state independently.
In each memory space, basic data corresponding to lattice point data associated with each lattice point of the k-dimensional lattice space defined by the k input color signal elements is divided into a plurality of groups according to a predetermined standard. For each group, a plurality of basic data in the group are stored in corresponding ones in a plurality of memory spaces. That is, for each memory space, basic data is grouped according to a predetermined standard, a common address is assigned to each basic data in each group, and stored in each memory cell. Here, “k” is the number of colors in the input color data. For example, if “k color” is three colors, “k dimension” in the input color space is three dimensions.
However, at this time, when grouping the basic data, the grouping is performed so that each group forms an independent plane depending on the growth direction of the basic data belonging to the group. Therefore, even if not all the basic data corresponding to the grid point data associated with each grid point in the k-dimensional grid space is stored in the memory space, the basic data is stored in the memory space for at least two planes. If stored, lattice point data associated with each lattice point can be specified. That is, it is not necessary to provide the same capacity of independently controllable memory space as the number of data for interpolation calculation, and it is not necessary to make the number of grid point data and the number of memory spaces required for the interpolation calculation the same.
In the actual interpolation calculation, basic data corresponding to the number of interpolation calculation data corresponding to the pixel data to be processed is extracted from the plurality of basic data associated with the group, and the extracted interpolation calculation data is used. Interpolation calculation within the polyhedron is performed using the basic data for the number of data.

本発明のデータ変換装置およびデータ変換方法によれば、複数のメモリ空間に対応する基礎データの各グループが、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するようにグループ分けされているので、二つの平面について基礎データをメモリ空間内に格納しておけば、各格子点に対応づけられた格子点データを特定することが可能となり、同容量の独立に制御可能なメモリ空間を補間演算所用データ数だけ備える必要がなく、補間演算に必要となる格子点データ数とメモリ空間の数を同じにする必要もない。したがって、例えば、4点補間の場合は、格子点データ保持用のメモリを4倍未満(例えば2倍)持つだけで済み、同じ機能を達成するために必要なメモリの総容量や独立制御可能なメモリ空間数を低減することができる。例えば、従来は1つの補間演算用データを抽出するために17×17×17個、すなわち4,193バイト必要であり、4点補間の場合は同時に4格子点のデータを抽出するためにその4倍、すなわち4913バイト×4個=19,652バイトを必要としたのに対して、本発明によれば、その4分の2の容量のメモリで同時に4格子点のデータを抽出することが可能となる。
加えて、同時アクセスのメモリ空間数を低減することができるので、消費電力や放射ノイズを低減することもできる。
According to the data conversion device and the data conversion method of the present invention, each group of basic data corresponding to a plurality of memory spaces forms an independent plane depending on the growth direction of the basic data belonging to the group. Since it is divided into groups, if the basic data for two planes is stored in the memory space, it is possible to specify the grid point data associated with each grid point and control them independently with the same capacity It is not necessary to provide as many memory spaces as there are data for the interpolation operation, and it is not necessary to make the number of grid point data and the number of memory spaces required for the interpolation operation the same. Therefore, for example, in the case of four-point interpolation, it is only necessary to have a memory for holding grid point data less than four times (for example, twice), and the total memory capacity necessary for achieving the same function and independent control are possible. The number of memory spaces can be reduced. For example, conventionally, 17 × 17 × 17, that is, 4,193 bytes are required to extract one interpolation calculation data, and in the case of four-point interpolation, the number of four grid points is extracted at the same time. Double, that is, 4913 bytes × 4 = 19,652 bytes, but according to the present invention, it is possible to simultaneously extract data of 4 lattice points with a memory having a capacity of 2/4. It becomes.
In addition, since the number of memory spaces for simultaneous access can be reduced, power consumption and radiation noise can be reduced.

以下、図面に基づき本発明に係るデータ変換装置およびデータ変換方法について説明する。   Hereinafter, a data conversion apparatus and a data conversion method according to the present invention will be described with reference to the drawings.

〔第1の実施の形態〕
先ず、本発明の第1実施形態について説明する。ここでは、R,G,B各8ビットの入力デジタル色分解信号が入力され、それを出力系の色成分Y,M,C,Kの各8ビットのデータに色変換するデータ変換装置およびデータ変換方法を例に挙げて説明する。ただし、この入力データや出力データの形式は一例に過ぎず、他の色系列であってもよいし、ビット数も“8”に限らないことは言うまでもない。
[First Embodiment]
First, a first embodiment of the present invention will be described. Here, an R, G, B 8-bit input digital color separation signal is inputted, and a data conversion apparatus and data for color-converting it into 8-bit data of each of the output color components Y, M, C, K The conversion method will be described as an example. However, the format of the input data and output data is merely an example, and other color series may be used, and it goes without saying that the number of bits is not limited to “8”.

図1は、本発明に係るデータ変換装置の第1実施形態を示すブロック図である。
図例のように、本実施形態で説明するデータ変換装置1は、データ格納部2と、演算処理部4と、アドレスバス6と、データバス8と、を備えて構成されている。
FIG. 1 is a block diagram showing a first embodiment of a data conversion apparatus according to the present invention.
As shown in the figure, the data conversion apparatus 1 described in the present embodiment includes a data storage unit 2, an arithmetic processing unit 4, an address bus 6, and a data bus 8.

データ格納部2は、基礎データを出力色毎に格納するものである。基礎データとは、入力データR,G,Bに対応する色変換後の出力データY,M,C,Kを補間演算により求める際に使用されるもので、例えばテトラ・ハイドラ法による補間演算を行う場合であれば、元となる3次元LUTの格子点データそのものがこれに該当する。
また、データ格納部2は、入力データR,G,Bに対応するように、RG平面メモリ回路2RGおよびRB平面メモリ回路2RBの2つのメモリ空間に分けられている。そして、詳細を後述するように、各平面メモリ回路2RG,2RB、すなわち独立に制御可能な2つのメモリ空間のそれぞれには、3色の入力色信号要素で規定される3次元格子空間(3次元LUT)の各格子点に対応づけられた格子点データに対応する基礎データが、入力色の各軸毎に所定の基準に従ってグループ化され、そのグループ内の複数の基礎データが1つのアドレス対応付けられて格納され、各軸用のルックアップテーブルLUTを構成するようになっている。
The data storage unit 2 stores basic data for each output color. The basic data is used when obtaining output data Y, M, C, and K after color conversion corresponding to the input data R, G, and B by interpolation calculation. For example, the interpolation calculation by the tetra-hydra method is performed. If so, the original lattice point data of the three-dimensional LUT corresponds to this.
The data storage unit 2 is divided into two memory spaces, an RG plane memory circuit 2RG and an RB plane memory circuit 2RB, so as to correspond to the input data R, G, B. As will be described in detail later, each of the planar memory circuits 2RG and 2RB, that is, each of the two memory spaces that can be controlled independently, has a three-dimensional lattice space (three-dimensional) defined by input color signal elements of three colors. The basic data corresponding to the grid point data associated with each grid point of the LUT) is grouped according to a predetermined standard for each axis of the input color, and a plurality of basic data in the group is associated with one address. The lookup table LUT for each axis is configured.

これらメモリ回路2RG,2RBは、1つの画素に対する色空間変換の処理時間として割り当てられている時間が非常に短時間である場合にも対応可能なように、それぞれ独立にアドレス設定可能かつ読出可能に、つまり独立に読出アクセス可能に構成されている。なお、独立したリードイネーブル(Read Enable)端子REもしくはチップセレクト(Chip Select)端子CSを備え、読出しに必要のないメモリ回路の出力をハイインピーダンス状態に設定可能なものを使用するのがよい。   These memory circuits 2RG and 2RB are independently addressable and readable so as to be able to cope with the case where the time allocated as the color space conversion processing time for one pixel is very short. In other words, the read access is made independently. It is preferable to use an independent read enable terminal RE or chip select terminal CS that can set the output of a memory circuit that is not necessary for reading to a high impedance state.

演算処理部4は、データ格納部2との間でデータのやり取りをしながら、出力色毎に、入力画素データに対応する出力画素データを補間演算により求めるものである。そのために、演算処理部4は、信号処理系統として、出力系の色成分Y,M,C,Kのそれぞれに対応するように、Y信号生成部4Y、M信号生成部4M、C信号生成部4C、K信号生成部4Kを含む。この演算処理部4は、例えば中央演算処理装置(CPU;Central Processing Unit)やDSP(Digital Signal Processor)で構成するとよい。   The arithmetic processing unit 4 obtains output pixel data corresponding to input pixel data by interpolation calculation for each output color while exchanging data with the data storage unit 2. Therefore, the arithmetic processing unit 4 has a Y signal generation unit 4Y, an M signal generation unit 4M, and a C signal generation unit so as to correspond to the output color components Y, M, C, and K as signal processing systems. 4C and K signal generator 4K. The arithmetic processing unit 4 may be constituted by, for example, a central processing unit (CPU) or a DSP (Digital Signal Processor).

アドレスバス6は、データ格納部2と演算処理部4との間を接続するもので、演算処理部4がデータ格納部2から基礎データを読み出すためにアドレス信号などの制御信号を当該データ格納部2へ送るためのものである。具体的には、データ格納部2内の個々のメモリ空間(メモリ回路2RG,2RB)における基礎データの読出位置を設定するアドレス信号、クロック、あるいはチップセレクト信号などの伝送が行われる。   The address bus 6 connects between the data storage unit 2 and the arithmetic processing unit 4. In order for the arithmetic processing unit 4 to read basic data from the data storage unit 2, a control signal such as an address signal is transmitted to the data storage unit. 2 to send. Specifically, an address signal, a clock, a chip select signal, or the like for setting a reading position of basic data in each memory space (memory circuits 2RG, 2RB) in the data storage unit 2 is transmitted.

データバス8も、データ格納部2と演算処理部4との間を接続するものである。ただし、データバス8は、データ格納部2から読み出された基礎データを演算処理部4へ送るようになっている。さらに、データバス8は、データ変換前の入力データを図示しない外部装置から入力するためや、変換後の出力データを同一または別の外部装置へ出力するためにも用いられる。   The data bus 8 also connects between the data storage unit 2 and the arithmetic processing unit 4. However, the data bus 8 is configured to send the basic data read from the data storage unit 2 to the arithmetic processing unit 4. Further, the data bus 8 is used for inputting input data before data conversion from an external device (not shown) and for outputting output data after conversion to the same or another external device.

続いて、以上のように構成されたるデータ変換装置1における処理動作例、すなわち本発明に係るデータ変換方法について説明する。
図2は、本発明に係るデータ変換方法の第1実施形態の概要を示すフローチャートである。
Next, an example of processing operation in the data conversion apparatus 1 configured as described above, that is, a data conversion method according to the present invention will be described.
FIG. 2 is a flowchart showing an outline of the first embodiment of the data conversion method according to the present invention.

色データの変換にあたって、演算処理部4は、データ格納部2に格納されている色変換用のLUT(ルックアップテーブル)の格子点データを用いて、外部機器から入力されたR,G,Bの各信号を、Y,M,C,Kの色データに色変換する際に、テトラ・ハイドラ法(四面体補間法)を用いた補間処理を利用する。
そのため、画像データR,G,Bが入力されると、演算処理部4は、先ず、入力された8ビットのR,G,Bデジタル色分解信号を、画素毎に、上位mビット(最上位ビット側から連続したm個)と下位nビット(最下位ビット側から連続したn個)に分割する(ステップ100、以下ステップを「S」と略す)。そして、演算処理部4は、入力3要素の上位mビットのデータRH,GH,BHに基づいて、入力3要素のR,G,Bデータからなる3次元格子体(3次元LUT)を構成したとき、各格子点で規定される多数の単位格子体(本例では単位立方体)のうちの何れの単位立方体に該当データが含まれるかを決定する(S102)。このステップS100〜S102の処理を、以下「単位立方体判定処理」という。
When converting the color data, the arithmetic processing unit 4 uses the grid point data of the color conversion LUT (look-up table) stored in the data storage unit 2 to input R, G, B input from an external device. Is converted into Y, M, C, and K color data, interpolation processing using a tetra-hydra method (tetrahedral interpolation method) is used.
Therefore, when image data R, G, and B are input, the arithmetic processing unit 4 first converts the input 8-bit R, G, and B digital color separation signals into upper m bits (most significant) for each pixel. It is divided into m consecutive from the bit side) and lower n bits (n consecutive from the least significant bit side) (step 100; hereinafter, step is abbreviated as “S”). The arithmetic processing unit 4 configures a three-dimensional lattice (three-dimensional LUT) composed of R, G, B data of the three input elements based on the upper m bits of data RH, GH, BH of the three input elements. At this time, it is determined which unit cube of a large number of unit lattices (in this example, unit cubes) defined by each lattice point contains the corresponding data (S102). The processing of steps S100 to S102 is hereinafter referred to as “unit cube determination processing”.

単位立方体判定処理が終了すると、次いで、演算処理部4は、該当する単位立方体の中をさらに6つの四面体に分割し(S104)、入力3要素の下位nビットのデータRL,GL,BLに基づいて何れの四面体に該当データが含まれるかを決定する(S106)。このステップS104〜S106の処理を、以下「4面体判定処理」という。   When the unit cube determination process is completed, the arithmetic processing unit 4 further divides the corresponding unit cube into six tetrahedrons (S104), and converts the input three element lower n-bit data RL, GL, BL into Based on which tetrahedron the corresponding data is included is determined (S106). The processing of steps S104 to S106 is hereinafter referred to as “tetrahedron determination processing”.

4面体判定処理が終了すると、次いで、演算処理部4は、該当する四面体内での補間演算というテトラ・ハイドラ法(四面体補間法)により、入力値(入力された画素データ)に対応する出力値(出力すべき画素データ)を求める(S108)。
具体的には、演算処理部4では、先ず、2つのメモリ回路2RG,2RBのうち、テトラ・ハイドラ法による補間演算処理に必要となる4格子点の基礎データを抽出すべき2つのメモリ平面を特定するアクセスメモリ特定処理を行う(S108a)。次に、演算処理部4は、入力点を包含する基点の座標値に基づいて、アクセスメモリ平面特定処理にて特定された同一アドレスのデータ群における補間演算に必要な4格子点を特定し抽出する4格子点特定処理を行う(S108b)。なお、アクセスメモリ特定処理(S108a)と4格子点特定処理(S108b)とを纏めて、アクセスアドレス特定処理ともいう。
また、演算処理部4は、アクセスメモリ特定処理(S108a)および4格子点特定処理(S108b)と並行して、該当する四面体について、四面体頂点から得られる4つの基礎データ(本例では元の格子点データそのもの)に対する重み係数(乗算係数)である補間係数を算出する補間係数算出処理を行う(S108c)。そして、演算処理部4は、該当する四面体について、4格子点特定処理(S108b)により得られた基礎データ(格子点データ)と補間係数算出処理(S108c)により得られた補間係数とに基づいて、入力値に対応する出力値Doutを求める補間演算処理を行う(S108d)。
When the tetrahedron determination process ends, the arithmetic processing unit 4 then outputs the output corresponding to the input value (input pixel data) by the tetra-hydra method (tetrahedral interpolation method) which is an interpolation calculation within the corresponding tetrahedron. A value (pixel data to be output) is obtained (S108).
Specifically, the arithmetic processing unit 4 first selects two memory planes from which the basic data of the four lattice points necessary for the interpolation calculation processing by the tetra-hydra method is extracted from the two memory circuits 2RG and 2RB. An access memory specifying process is specified (S108a). Next, the arithmetic processing unit 4 specifies and extracts four grid points necessary for the interpolation calculation in the data group of the same address specified in the access memory plane specifying process based on the coordinate value of the base point including the input point. The four grid point specifying process is performed (S108b). The access memory specifying process (S108a) and the 4-grid point specifying process (S108b) are collectively referred to as an access address specifying process.
In addition to the access memory specifying process (S108a) and the four lattice point specifying process (S108b), the arithmetic processing unit 4 performs four basic data (in this example, the original data obtained from the tetrahedron vertices) for the corresponding tetrahedron. An interpolation coefficient calculation process is performed to calculate an interpolation coefficient that is a weighting coefficient (multiplication coefficient) for the grid point data itself (S108c). Then, the arithmetic processing unit 4 is based on the basic data (grid point data) obtained by the 4-grid point specifying process (S108b) and the interpolation coefficient obtained by the interpolation coefficient calculation process (S108c) for the corresponding tetrahedron. Then, an interpolation calculation process for obtaining the output value Dout corresponding to the input value is performed (S108d).

演算処理部4は、上記の一連の処理を、出力色であるY,M,C,Kのそれぞれについて(S112)、全画素について(S100)行うことで、入力されたRGB色空間の色データをYMCK色空間のデータに変換する。   The arithmetic processing unit 4 performs the above-described series of processing for each of the output colors Y, M, C, and K (S112) and all the pixels (S100), so that the input color data in the RGB color space is obtained. Is converted to YMCK color space data.

ここで、以上のような一連の処理において必要となるLUTについて、さらに詳しく説明する。
図3および図4は、出力値の代表値である格子点データを構成するLUTを説明する図である。ここでは、R,G,Bの各軸について、17×17×17=4913個の格子点について、それぞれ対応する変換後のデータを代表値として格納した3次元LUTを元の格子点データとする場合を例に挙げて説明する。本実施形態のデータ格納部2は、入力された色信号R,G,Bに対応する同容量の2つのメモリ空間に、同じ格子点データを持つ。このため、図1に示したように、2つのメモリ回路2RG,2RBが設けられている。
図3,4の各(A)は、RGB3次元空間の一部を記したものである。また、図3,4の各(B)は、メモリ回路2RG,2RBのメモリ空間上におけるアドレスと基礎データの関係、すなわち各軸のLUTを示す。なお、図3,4の各(B)における表の下部に示した「2次元アドレスの場合のアドレス」の使用方法については、第3実施形態(図18参照)や具体的回路構成の第2例(図20参照)や第3例(図21参照)で説明する。
Here, the LUT necessary for the series of processes as described above will be described in more detail.
FIG. 3 and FIG. 4 are diagrams for explaining an LUT that constitutes grid point data that is a representative value of output values. Here, for each of the R, G, and B axes, a three-dimensional LUT storing the converted data corresponding to 17 × 17 × 17 = 4913 lattice points as representative values is used as the original lattice point data. A case will be described as an example. The data storage unit 2 of the present embodiment has the same grid point data in two memory spaces of the same capacity corresponding to the input color signals R, G, and B. For this reason, as shown in FIG. 1, two memory circuits 2RG and 2RB are provided.
Each of (A) in FIGS. 3 and 4 shows a part of the RGB three-dimensional space. Each of FIGS. 3 and 4 (B) shows the relationship between addresses and basic data in the memory space of the memory circuits 2RG and 2RB, that is, the LUT of each axis. Note that the method of using the “address in the case of a two-dimensional address” shown at the bottom of the table in each of FIGS. 3 and 4 is the second embodiment (see FIG. 18) or the second specific circuit configuration. An example (see FIG. 20) and a third example (see FIG. 21) will be described.

従来技術では、図中の丸で示す格子点位置それぞれについて出力値の代表値がLUTとして格納されており、その個々の格子点位置が格子点データを格納するメモリ上のアドレスとなっていた。つまり、前述したように4913個のアドレスが定義されていた。
一方、本実施形態では、1つのアドレスに複数の基礎データ(本例では格子点データそのもの)を対応付けてグループ単位で格納(マッピング)する。つまり、任意のアドレスが設定されると、そのアドレスに対応付けて登録されているグループ内の複数の基礎データを纏めてパッキングデータとして出力するようにする。ここで、「複数の基礎データを纏めてパッキングデータとして出力する」とは、複数の基礎データをほぼ同時に並列的に出力することに限らず、その複数の基礎データを時系列的に逐次出力することも含む。どのような形態で複数の基礎データを出力するかは、各軸用のメモリ回路2RG,2RBの構成や読出回路の構成による。
In the prior art, representative values of output values are stored as LUTs for each grid point position indicated by a circle in the figure, and each grid point position is an address on a memory for storing grid point data. That is, as described above, 4913 addresses were defined.
On the other hand, in the present embodiment, a plurality of basic data (in this example, lattice point data itself) is associated with one address and stored (mapped) in units of groups. That is, when an arbitrary address is set, a plurality of basic data in a group registered in association with the address are collectively output as packing data. Here, “output a plurality of basic data collectively as packing data” is not limited to outputting a plurality of basic data in parallel at the same time, but sequentially outputs the basic data in time series. Including. The form in which a plurality of basic data is output depends on the configuration of the memory circuits 2RG and 2RB for each axis and the configuration of the readout circuit.

例えば、図3(A)に示すように、R軸方向の基礎データを軸に平行に沿って複数のグループに分けて(一塊りにして)、さらにG軸方向の基礎データを軸に平行に沿って複数のグループに分けることで、RG平面メモリ回路2RGに格納してRG平面用のLUTを構成する。図中の太線は基礎データがグループに分けられている(一塊りになっている)ことを示している。つまり、任意のGH,BHの組合せで基礎データ(本例では格子点データそのもの)がアドレスされ、1つのアドレスには17×17=289格子分の基礎データを保持していることになる。RG平面メモリ回路2RG上におけるアドレスと基礎データの関係であるRG平面LUTを図3(B)に示す。   For example, as shown in FIG. 3 (A), the basic data in the R-axis direction is divided into a plurality of groups along the axis parallel (bundled), and the basic data in the G-axis direction is further parallel to the axis. By dividing into a plurality of groups, the RG plane memory circuit 2RG stores the RG plane LUT. The thick line in the figure indicates that the basic data is divided into groups (in a lump). That is, basic data (lattice point data itself in this example) is addressed by an arbitrary combination of GH and BH, and basic data for 17 × 17 = 289 grids is held in one address. FIG. 3B shows an RG plane LUT which is a relationship between the address and basic data on the RG plane memory circuit 2RG.

同様に、図4(A)に示すように、G軸メモリ回路2GにはG軸方向の基礎データを軸に平行に沿って複数のグループに分けて(一塊りにして)、さらにB軸方向の基礎データを軸に平行に沿って複数のグループに分けることで、RB平面メモリ回路2RBに格納してRB平面用のLUTを構成する。図中の太線は基礎データがグループに分けられている(一塊りになっている)ことを示している。ここでは任意のGH,BHの組合せで基礎データ(本例では格子点データそのもの)がアドレスされ、1つのアドレスには17×17=289格子点分の基礎データを保持している。RB平面メモリ回路2RB上におけるアドレスと基礎データの関係であるRB平面LUTを図4(B)に示す。   Similarly, as shown in FIG. 4A, in the G-axis memory circuit 2G, basic data in the G-axis direction is divided into a plurality of groups along the axis in parallel (in a lump), and further in the B-axis direction. Are stored in the RB plane memory circuit 2RB to form an RB plane LUT. The thick line in the figure indicates that the basic data is divided into groups (in a lump). Here, basic data (lattice point data itself in this example) is addressed by any combination of GH and BH, and basic data for 17 × 17 = 289 lattice points is held in one address. FIG. 4B shows an RB plane LUT which is a relationship between addresses and basic data on the RB plane memory circuit 2RB.

演算処理部4における補間処理の際には、メモリ回路2RG,2RB内に纏めて保持されている上述のようなデータ列の中から、入力データに適合する2つの基礎データを読み出す。この方式を用いると、入力データR,G,Bからある1色への変換に際し、LUTの容量は4.9キロバイトで実現可能となり、補間処理を用いない方式における16メガバイトと比較すると大幅な容量削減が可能であるというテトラ・ハイドラ法の利点を享受できるとともに、使用するメモリ数(メモリ空間数)や同時に読出アクセスするメモリ数を従来構成のものよりも削減することが可能となる。   At the time of interpolation processing in the arithmetic processing unit 4, two basic data matching the input data are read out from the above-described data string held together in the memory circuits 2RG and 2RB. When this method is used, the LUT capacity can be realized with 4.9 kilobytes when converting the input data R, G, B to one color, which is much larger than 16 megabytes in the method that does not use interpolation processing. The advantages of the Tetra Hydra method that it can be reduced can be enjoyed, and the number of memories to be used (number of memory spaces) and the number of memories that are simultaneously read-accessed can be reduced as compared with the conventional configuration.

次に、図2に示した一連の処理における単位立方体判定処理(S100〜S102)について、さらに詳しく説明する。
図5は、演算処理部4による単位立方体判定処理を説明する図であって、出力値の代表値である格子点データを構成する元の3次元LUTと入力データとの関係を説明する図である。ここで図5(A)は、LUTの3次元空間での概念図を示し、図5(B)は、各8ビットのRGB入力信号とそれぞれの信号の上位4ビット信号が対応する3次元LUT上での位置関係を示す。
Next, the unit cube determination process (S100 to S102) in the series of processes shown in FIG. 2 will be described in more detail.
FIG. 5 is a diagram for explaining the unit cube determination processing by the arithmetic processing unit 4, and is a diagram for explaining the relationship between the original three-dimensional LUT constituting the lattice point data that is the representative value of the output value and the input data. is there. Here, FIG. 5A shows a conceptual diagram of the LUT in a three-dimensional space, and FIG. 5B shows a three-dimensional LUT in which each 8-bit RGB input signal corresponds to the upper 4-bit signal of each signal. The positional relationship is shown above.

図5(A)に示すように、R,G,Bの各軸における取り得る値の範囲を複数に分割する。ここでは各軸を16に分割した例を示している。このような分割によって得られる格子点をアドレスとし、その格子点における変換後の値(代表値)を対応付けることによってLUTを構成する。したがって、この例では、17×17×17=4913個の格子点について、それぞれ対応する変換後のデータを代表値として格納した3次元LUTを作成することができる。   As shown in FIG. 5A, the range of possible values for each of the R, G, and B axes is divided into a plurality. Here, an example in which each axis is divided into 16 is shown. The LUT is configured by using the grid point obtained by such division as an address and associating the converted value (representative value) at the grid point. Therefore, in this example, it is possible to create a three-dimensional LUT that stores the corresponding converted data as representative values for 17 × 17 × 17 = 4913 lattice points.

演算処理部4は、入力された8ビットのR,G,Bデジタル色分解信号を上位mビット(最上位ビット側から連続したm個)と下位nビット(最下位ビット側から連続したn個)に分割する。例えば、演算処理部4は、m=n=4とし、入力されたR,G,Bを、それぞれ上位4ビットのRH,GH,BHと下位4ビットのRL,GL,BLに分割する。もちろん、m,nは、これ以外であってもかまわない。なお、“m+n”は、入力データのビット数8と等しいことが好ましい。   Arithmetic processing unit 4 receives input 8-bit R, G, B digital color separation signals as upper m bits (m consecutive from the most significant bit) and lower n bits (n consecutive from the least significant bit). ). For example, the arithmetic processing unit 4 sets m = n = 4, and divides input R, G, B into upper 4 bits RH, GH, BH and lower 4 bits RL, GL, BL, respectively. Of course, m and n may be other than this. Note that “m + n” is preferably equal to 8 bits of input data.

図5(B)に示すように、上位4ビットデータの組合せ値で形成される単位立方体の中に、任意の入力R,G,Bの8ビットデータ(入力画素データ)の組合せ値の空間位置P22が包含されるので、上位の4ビットデータRH,GH,BHで示す空間位置P21を基点とした単位立方体(単位格子体)で入力8ビットデータを包含する単位立方体を特定することが可能となる。   As shown in FIG. 5B, the spatial position of the combination value of 8-bit data (input pixel data) of any input R, G, B in the unit cube formed by the combination value of the upper 4-bit data Since P22 is included, it is possible to specify a unit cube that includes input 8-bit data by a unit cube (unit grid) based on the spatial position P21 indicated by the upper 4-bit data RH, GH, BH. Become.

単位立方体を構成する各頂点は、空間位置P21を基準に生成可能である。すなわち、(RH,GH,BH)を基点として、(RH+1,GH,BH),(RH+1,GH+1,BH),(RH,GH+1,BH),(RH,GH,BH+1),(RH+1,GH,BH+1),(RH,GH+1,BH+1),(RH+1,GH+1,BH+1)が、この単位立方体の頂点の座標となる。本実施形態の場合には、これらの頂点の座標は、元ととなる3次元LUTの格子点の座標に一致する。   Each vertex constituting the unit cube can be generated with reference to the spatial position P21. That is, with (RH, GH, BH) as a base point, (RH + 1, GH, BH), (RH + 1, GH + 1, BH), (RH, GH + 1, BH), (RH, GH, BH + 1), (RH + 1, GH, BH + 1), (RH, GH + 1, BH + 1), (RH + 1, GH + 1, BH + 1) are the coordinates of the vertex of this unit cube. In the present embodiment, the coordinates of these vertices coincide with the coordinates of the lattice points of the original three-dimensional LUT.

演算処理部4は、この入力R,G,Bの8ビットデータの組合せ値に対応する出力値を、近傍の格子点データを、つまり、図5(B)に示す単位立方体の頂点の座標のデータを基礎データとして使って、テトラ・ハイドラ法(四面体補間法)により求める。   The arithmetic processing unit 4 outputs the output value corresponding to the combination value of the 8-bit data of the inputs R, G, and B, the neighboring grid point data, that is, the coordinates of the vertexes of the unit cube shown in FIG. Using the data as basic data, it is determined by the tetra-hydra method (tetrahedral interpolation method).

次に、図2に示した一連の処理における4面体判定処理(S104〜S106)について、さらに詳しく説明する。
図6は、演算処理部4による4面体判定処理を説明する図である。先にも述べたように、本実施形態の演算処理部4は、入力デジタル色分解信号R,G,Bの組合せ値に対応する出力信号YMCKのそれぞれを、データ格納部2に格納されている基礎データ(格子点データ)に基づいてテトラ・ハイドラ法による補間演算により求める。図6では、入力データが包含される単位立方体と、この単位立方体を6つに分割して得られる四面体との関係を示している。図5(B)に示した単位立方体は、さらに図6に示すように、同体積の6つの単位四面体に分割可能である。
Next, the tetrahedron determination process (S104 to S106) in the series of processes shown in FIG. 2 will be described in more detail.
FIG. 6 is a diagram illustrating tetrahedron determination processing by the arithmetic processing unit 4. As described above, the arithmetic processing unit 4 of this embodiment stores the output signals YMCK corresponding to the combination values of the input digital color separation signals R, G, and B in the data storage unit 2. Based on the basic data (grid point data), it is obtained by interpolation calculation using the tetra-hydra method. FIG. 6 shows a relationship between a unit cube containing input data and a tetrahedron obtained by dividing the unit cube into six. The unit cube shown in FIG. 5B can be further divided into six unit tetrahedrons of the same volume as shown in FIG.

入力R,G,Bの空間位置P22がどの四面体に包含されるかは、下位のビットデータRL,GL,BLの大小関係から、図6下部に示す表1のように特定可能である。また、データ選択部16がアクセスすべきLUTとアクセスアドレスも、表1のように特定可能である。
なお、表1において、X,Y,Zは3次元の入力データを一般化して示したものであり、本実施形態では、X=R,Y=G,Z=Bである。基点A,Bに示す“17”は3次元LUTの各軸を分割して得られる格子点数である。この表1は、入力RGBが各8ビットであり、出力がYMCKであり、1色当りその上位4ビット分に相当する17×17×17=4913個のデータでLUTを構成する場合のアクセスアドレス算出式を記したものである。
Which tetrahedron the spatial position P22 of the inputs R, G, B is included can be specified as shown in Table 1 shown in the lower part of FIG. 6 based on the magnitude relationship of the lower bit data RL, GL, BL. Further, the LUT and the access address to be accessed by the data selection unit 16 can also be specified as shown in Table 1.
In Table 1, X, Y, and Z are generalized three-dimensional input data. In this embodiment, X = R, Y = G, and Z = B. “17” shown at the base points A and B is the number of grid points obtained by dividing each axis of the three-dimensional LUT. Table 1 shows an access address when the input RGB is 8 bits each, the output is YMCK, and the LUT is composed of 17 × 17 × 17 = 4913 data corresponding to the upper 4 bits per color. This is a calculation formula.

例えば、下位ビットデータRL,GL,BLがRL≧GL≧BLの関係であるとき、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH),(RH+1,GH+1,BH),(RH+1,GH+1,BH+1)を頂点とした四面体1に属する。RL>BL>GLの関係であるとき、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH),(RH+1,GH,BH+1),(RH+1,GH+1,BH+1)を頂点とした四面体2に属する。BL≧RL>GLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH+1,GH,BH+1),(RH,GH,BH+1),(RH+1,GH+1,BH+1)を頂点とした四面体3に属する。   For example, when the lower bit data RL, GL, and BL have a relationship of RL ≧ GL ≧ BL, the inputs R, G, and B are (RH, GH, BH), (RH + 1, GH, BH), (RH + 1, GH + 1, BH), (RH + 1, GH + 1, BH + 1) belong to tetrahedron 1 having apexes. When RL> BL> GL, the inputs R, G, B are (RH, GH, BH), (RH + 1, GH, BH), (RH + 1, GH, BH + 1), (RH + 1, GH + 1, BH + 1). It belongs to tetrahedron 2 as a vertex. When BL ≧ RL> GL, the inputs R, G, B are (RH, GH, BH), (RH + 1, GH, BH + 1), (RH, GH, BH + 1), (RH + 1, GH + 1, BH + 1). Belongs to the tetrahedron 3 with apex as the apex.

同様に、BL>GL≧RLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH,BH+1),(RH,GH+1,BH+1),(RH+1,GH+1,BH+1)を頂点とした四面体4に属する。GL≧BL>RLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH+1,BH),(RH,GH+1,BH+1),(RH+1,GH+1,BH+1)を頂点とした四面体5に属する。GL>RL≧BLの関係であるときは、入力R,G,Bは(RH,GH,BH),(RH,GH+1,BH),(RH+1,GH+1,BH),(RH+1,GH+1,BH+1)を頂点とした四面体6に属する。   Similarly, when BL> GL ≧ RL, the inputs R, G, B are (RH, GH, BH), (RH, GH, BH + 1), (RH, GH + 1, BH + 1), (RH + 1, GH + 1). , BH + 1) belongs to the tetrahedron 4. When GL ≧ BL> RL, the inputs R, G, B are (RH, GH, BH), (RH, GH + 1, BH), (RH, GH + 1, BH + 1), (RH + 1, GH + 1, BH + 1). Belongs to the tetrahedron 5 with apex as the apex. When GL> RL ≧ BL, the inputs R, G, B are (RH, GH, BH), (RH, GH + 1, BH), (RH + 1, GH + 1, BH), (RH + 1, GH + 1, BH + 1). Belongs to the tetrahedron 6 with 頂点 as the apex.

演算処理部4は、このような判定(4面体判定)を行うことにより、入力R,G,Bの3次元LUT上における近傍4格子点を特定する。すなわち、先ず、下位ビットデータRL,GL,BLに基づいて入力データの属する四面体を特定する。この結果を受けて、特定された四面体に対応する2つの平面を特定し、入力データを包含する単位立方体を特定する上位ビットデータRH,GH,BHと図6の表1に示したアドレス計算式に従って前記2つの平面へのアクセスアドレスを算出する。そして、演算処理部4は、前記2つの平面の前記求めたアクセスアドレスから各々4つの基礎データの中から4面体判定により基礎データを選択することにより、近傍4格子点の基礎データを取得する。なお、接している2平面でLUTを構成した場合には、接する2点は双方のLUTから読み込まれてしまうため、最初から片方のLUTからは2つの基礎データのみしか読み込まない構成を採れば、近傍4格子点の基礎データの選択部分の規模を少なくすることができる。   The arithmetic processing unit 4 performs such determination (tetrahedron determination) to identify four neighboring grid points on the three-dimensional LUT of the inputs R, G, and B. That is, first, the tetrahedron to which the input data belongs is specified based on the lower bit data RL, GL, and BL. In response to this result, two planes corresponding to the specified tetrahedron are specified, and the upper bit data RH, GH, BH specifying the unit cube containing the input data and the address calculation shown in Table 1 of FIG. An access address to the two planes is calculated according to the equation. Then, the arithmetic processing unit 4 acquires basic data of four neighboring lattice points by selecting basic data by tetrahedral determination from four basic data from the obtained access addresses of the two planes. When the LUT is configured with two planes in contact with each other, the two points in contact with each other are read from both LUTs. Therefore, if only two basic data are read from one LUT from the beginning, It is possible to reduce the scale of the selected portion of the basic data of the four neighboring grid points.

次に、図2に示した一連の処理における出力値算出処理(S108)の第1段階の処理であるアクセスメモリ特定処理(S108a)と4格子点特定処理(S108b)とについて、さらに詳しく説明する。
図7は、演算処理部4によるアクセスメモリ特定処理と4格子点特定処理とを説明する図であって、単位立方体を分割して得られる各四面体の形状と、それを構成する頂点の関係を示した図である。
Next, the access memory specifying process (S108a) and the 4-grid point specifying process (S108b), which are the first stage of the output value calculating process (S108) in the series of processes shown in FIG. 2, will be described in more detail. .
FIG. 7 is a diagram for explaining the access memory specifying process and the four grid point specifying process by the arithmetic processing unit 4, and the relationship between the shape of each tetrahedron obtained by dividing a unit cube and the vertices constituting the tetrahedron FIG.

図中における四面体1は、D1、D2、D3、D4の頂点から構成される。ここで、D1とD2は、GおよびB座標上では同じ空間位置であり、図3に示したRG平面LUTから一括で抽出することが可能である。一方、残りのD3およびD4はRおよびG座標上では同じ空間位置であり、図4に示したRB平面LUTでは、α、α’に対し+17の固定の差をつけた空間位置がβ、β’であることから、一括で抽出することが可能である。
同様にして、四面体2〜6についても、図3に示したRG平面LUTおよび図4に示したRB平面LUTから所望の基礎データが得られる。
The tetrahedron 1 in the figure is composed of vertices of D1, D2, D3, and D4. Here, D1 and D2 are the same spatial position on the G and B coordinates, and can be collectively extracted from the RG plane LUT shown in FIG. On the other hand, the remaining D3 and D4 are the same spatial positions on the R and G coordinates, and in the RB plane LUT shown in FIG. 4, the spatial positions with a fixed difference of +17 with respect to α and α ′ are β, β It is possible to extract all at once.
Similarly, for the tetrahedrons 2 to 6, desired basic data can be obtained from the RG plane LUT shown in FIG. 3 and the RB plane LUT shown in FIG. 4.

そこで、演算処理部4は、4面体判定処理の判定結果を受けて、図6の表1に示した選択条件に従って、2つのメモリ回路2RG,2RBの中から、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを抽出すべき2つのメモリ(つまり4格子点を含むデータ群を格納した2つのLUT)を特定するアクセスメモリ特定処理を行う。   Therefore, the arithmetic processing unit 4 receives the determination result of the tetrahedron determination processing, and performs interpolation calculation by the tetra-hydra method from the two memory circuits 2RG and 2RB according to the selection conditions shown in Table 1 of FIG. An access memory specifying process for specifying two memories (that is, two LUTs storing a data group including four grid points) from which basic data of necessary four grid points is to be extracted is performed.

具体的には、演算処理部4は、入力データを包含する単位立方体を特定する上位ビットデータRH,GH,BHつまり図5(B)の基点P21の座標値と図6の表1に示したアクセスアドレス式とに従って前記2つのLUTへのアクセスアドレスを算出することでテトラ・ハイドラ法による補間演算に必要となる4格子点を含むデータ群を特定する。この後、演算処理部4は、入力点を包含する基点の座標値(RH,GH,BH)に基づいて、同一アドレスのデータ群における、テトラ・ハイドラ法による補間演算に必要となる4格子点を特定し抽出する4格子点特定処理を行う。   Specifically, the arithmetic processing unit 4 indicates the upper bit data RH, GH, BH for specifying the unit cube containing the input data, that is, the coordinate value of the base point P21 in FIG. 5B and the table 1 in FIG. By calculating an access address to the two LUTs according to the access address formula, a data group including four lattice points necessary for the interpolation calculation by the tetra-hydra method is specified. After that, the arithmetic processing unit 4 is based on the coordinate values (RH, GH, BH) of the base point including the input point, and the four grid points necessary for the interpolation calculation by the tetra-hydra method in the data group having the same address. 4 grid point specifying process is performed for specifying and extracting.

図8〜図14は、具体的なLUTアクセスの例を説明する図である。ここで、図8は、入力データと3次元LUT空間上のデータの位置関係を示した図である。図9〜図14は、それぞれ対応する四面体の頂点とLUTのデータ構造の相関を示した図である。   8 to 14 are diagrams for explaining specific examples of LUT access. Here, FIG. 8 is a diagram showing the positional relationship between the input data and the data in the three-dimensional LUT space. 9 to 14 are diagrams showing the correlation between the vertexes of the corresponding tetrahedron and the data structure of the LUT, respectively.

図8において、格子点の数をR,G,Bそれぞれに3個、合計で3×3×3=27個のデータに簡略化して示す。任意の各々8ビットのRGB値(入力データ)が示す3次元空間上での位置が図8の位置P121であるとする。この場合、入力値の上位4ビット値から入力点が包含される立方体の1つの頂点は図8の位置P122に定まる。座標値は、(RH,GH,BH)=(0,1,0)であり、この位置P122を基点座標と定義する。   In FIG. 8, the number of grid points is simplified to 3 × 3 × 3 = 27 data in total for 3 each of R, G, and B. It is assumed that the position in the three-dimensional space indicated by each arbitrary 8-bit RGB value (input data) is a position P121 in FIG. In this case, one vertex of the cube in which the input point is included is determined at the position P122 in FIG. 8 from the upper 4 bits of the input value. The coordinate value is (RH, GH, BH) = (0, 1, 0), and this position P122 is defined as the base point coordinate.

以下、この入力点が単位立方体中の6つの四面体それぞれに属す場合に分けてLUTアクセスを説明する。図示した例では、入力位置P121は、3次元LUTのデータ群のうち、基点P122(0,1,0)で定まる“3,4,6,7,12,13,15,16”のデータの座標位置で囲まれた単位立方体の中に包含される。
演算処理部4は、上位4ビットデータの組合せ値の空間位置P21を基点にして該当する単位立方体の各頂点の基礎データ(格子点データ)の中から、処理対象画素に対応する4個の基礎データを抽出する。
Hereinafter, the LUT access will be described separately when the input point belongs to each of the six tetrahedrons in the unit cube. In the illustrated example, the input position P121 is the data of “3, 4, 6, 7, 12, 13, 15, 16” determined by the base point P122 (0, 1, 0) in the data group of the three-dimensional LUT. It is contained in a unit cube surrounded by coordinate positions.
The arithmetic processing unit 4 uses the four basics corresponding to the processing target pixel from the basic data (lattice point data) of each vertex of the corresponding unit cube based on the spatial position P21 of the combination value of the upper 4-bit data. Extract data.

例えば、入力点が図9に示す頂点で構成される四面体1に属すると判定された場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)にアクセスしてα1とα1’とα2とα2’、RB平面LUT(RB平面メモリ回路2RB)にアクセスして、β1とβ1’とβ2とβ2’を抽出する。接合面は同じ値が抽出される。   For example, when it is determined that the input point belongs to the tetrahedron 1 constituted by the vertices shown in FIG. 9, the arithmetic processing unit 4 accesses the RG plane LUT (RG plane memory circuit 2RG) to obtain α1 and α1 ′. , Α2 and α2 ′, and RB plane LUT (RB plane memory circuit 2RB) are accessed to extract β1, β1 ′, β2 and β2 ′. The same value is extracted from the joint surface.

具体的には、演算処理部4は、図6の表1の基点Aに基づき、RG平面LUTへのアクセスアドレスADRGを(RH,GH,BH)に基づいて算出する。ここではアクセスアドレスADRGは“1”であり、そのアドレス1のデータ群を抽出する。そして、演算処理部4は、抽出したデータ群のうち、基点座標P122(0,1,0)のR軸成分は“0”なので、データ群中の0番目(3)と1番目(4)が所望の基礎データであると決定する。ここでは、図9における表の下部に示した「2次元アドレスの場合のアドレス」で示す0番目(3)の基礎データをα1、1番目(4)の基礎データをα1’とする。   Specifically, the arithmetic processing unit 4 calculates the access address ADRG to the RG plane LUT based on (RH, GH, BH) based on the base point A in Table 1 of FIG. Here, the access address ADRG is “1”, and the data group of the address 1 is extracted. Then, the arithmetic processing unit 4 has the 0th (3) and 1st (4) in the data group because the R-axis component of the base coordinate P122 (0, 1, 0) is “0” in the extracted data group. Is the desired basic data. Here, the 0th (3) basic data indicated by “address in the case of a two-dimensional address” shown at the bottom of the table in FIG. 9 is α1, and the first (4) basic data is α1 ′.

また、RG平面上では、α1とα1’、α2とα2’は、常にアドレス差分が一定である。このことから、演算処理部4は、上述のようにα1とα1’についてのアクセスアドレスADRGを特定すると、そのアドレスを基にα2とα2’についてのアクセスアドレスADRGを算出する。ここではアクセスアドレスADRGは“2”であり、そのアドレス2のデータ群を抽出する。そして、演算処理部4は、抽出したデータ群のうち、基点座標P122(0,1,0)のR軸成分は“0”なので、データ群中の0番目(6)と1番目(7)が所望の基礎データであると決定する。ここでは、図9における表の下部に示した「2次元アドレスの場合のアドレス」で示す0番目(6)の基礎データをα2、1番目(7)の基礎データをα2’とする。   On the RG plane, the address difference is always constant between α1 and α1 ′ and α2 and α2 ′. Therefore, when the arithmetic processing unit 4 specifies the access address ADRG for α1 and α1 ′ as described above, the arithmetic processing unit 4 calculates the access address ADRG for α2 and α2 ′ based on the addresses. Here, the access address ADRG is “2”, and the data group of the address 2 is extracted. Then, the arithmetic processing unit 4 has the 0th (6) and 1st (7) in the data group because the R-axis component of the base coordinate P122 (0, 1, 0) is “0” in the extracted data group. Is the desired basic data. Here, the 0th (6) basic data indicated by “address in the case of a two-dimensional address” shown at the bottom of the table in FIG. 9 is α2, and the first (7) basic data is α2 ′.

同様に、演算処理部4は、図6の表1に基づき、RB平面LUTへのアクセスアドレスADRBを(RH,GH+3,BH)に基づいて算出する。ここではアクセスアドレスADRBは“6”であり、そのアドレス6のデータ群を抽出する。そして、演算処理部4は、抽出したデータ群のうち、基点座標P122(0,1,0)のR軸成分は“0”なので、データ群中の0番目(6)と1番目(7)が所望の基礎データであると決定する。ここでは、0番目(6)の基礎データをβ1、1番目(7)の基礎データをβ1’とする。   Similarly, the arithmetic processing unit 4 calculates the access address ADRB to the RB plane LUT based on (RH, GH + 3, BH) based on Table 1 in FIG. Here, the access address ADRB is “6”, and the data group of the address 6 is extracted. Then, the arithmetic processing unit 4 has the 0th (6) and 1st (7) in the data group because the R-axis component of the base coordinate P122 (0, 1, 0) is “0” in the extracted data group. Is the desired basic data. Here, the 0th (6) basic data is β1, and the first (7) basic data is β1 ′.

また、RB平面上では、β1とβ1’、β2とβ2’は、常にアドレス差分が一定である。このことから、演算処理部4は、上述のようにβ1とβ1’についてのアクセスアドレスADRBを特定すると、そのアドレスを基にβ2とβ2’についてのアクセスアドレスADRBを算出する。ここではアクセスアドレスADRBは“7”であり、そのアドレス7のデータ群を抽出する。そして、演算処理部4は、抽出したデータ群のうち、基点座標P122(0,1,0)のR軸成分は“0”なので、データ群中の0番目(15)と1番目(16)が所望の基礎データであると決定する。ここでは、図9における表の下部に示した「2次元アドレスの場合のアドレス」で示す0番目(15)の基礎データをβ2、1番目(16)の基礎データをβ2’とする。   On the RB plane, address differences are always constant between β1 and β1 ′ and β2 and β2 ′. From this, the arithmetic processing unit 4 specifies the access address ADRB for β1 and β1 ′ as described above, and calculates the access address ADRB for β2 and β2 ′ based on the addresses. Here, the access address ADRB is “7”, and the data group of the address 7 is extracted. Then, the arithmetic processing unit 4 has the 0th (15) and 1st (16) in the data group because the R-axis component of the base coordinate P122 (0, 1, 0) is “0” in the extracted data group. Is the desired basic data. Here, the 0th (15) basic data indicated by “address in the case of a two-dimensional address” shown at the bottom of the table in FIG. 9 is β2, and the first (16) basic data is β2 ′.

こうすることで、演算処理部4は、α1とα1’とα2とα2’と、β1とβ1’とβ2とβ2’を特定することができるので、これらを基に四面体1を構成する4点のデータ、すなわち四面体補間演算に必要となる所望の4点のデータを抽出することができる。演算処理部4は、四面体1の場合であれば、4点のデータを、それぞれD1=α1,D2=α1’,D3=β1’あるいはα2’,D4=β2’とする。   By doing so, the arithmetic processing unit 4 can identify α1, α1 ′, α2, α2 ′, β1, β1 ′, β2, and β2 ′, and therefore, the tetrahedron 1 is configured based on these 4 It is possible to extract point data, that is, desired four-point data necessary for tetrahedral interpolation calculation. In the case of the tetrahedron 1, the arithmetic processing unit 4 sets the four points of data as D1 = α1, D2 = α1 ′, D3 = β1 ′ or α2 ′, D4 = β2 ′, respectively.

なお、他の四面体に属する場合も、演算処理部4は、図6の表1に基づいてアクセスアドレスADRG,ADGBを計算して、計算したそれぞれ2つのLUTにアクセスしてデータ群を抽出し、この抽出したデータ群の中から、基点座標に準じた所望の2つの基礎データを2つのLUT毎に抽出する。   Even in the case of belonging to another tetrahedron, the arithmetic processing unit 4 calculates the access addresses ADRG and ADGB based on Table 1 in FIG. 6 and accesses the calculated two LUTs to extract a data group. From the extracted data group, two desired basic data according to the base point coordinates are extracted for every two LUTs.

例えば、図10に示すように、入力点が四面体2に属する場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)のアクセスアドレスADRGを(RH,GH,BH+3)に基づいて“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをα1、1番目(13)の基礎データをα1’として抽出する。さらには、α1とα1’、α2とα2’は、常にアドレス差分が一定であることから、α2とα2’についてのアクセスアドレスADRGを“5”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをα2、1番目(13)の基礎データをα2’とする。
同様に、演算処理部4は、RB平面LUT(RB平面メモリ回路2RB)のアクセスアドレスADRB(RH,GH,BH)に基づいて“3”と算出し、基点座標P122(0,1,0)に対応する1番目(3)の基礎データをβ1、2番目(4)の基礎データをβ1’とする。さらには、β1とβ1’、β2とβ2’は、常にアドレス差分が一定であるから、β2とβ2’についてのアクセスアドレスADRBを“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをβ2、1番目(13)の基礎データをβ2’とする。
For example, as illustrated in FIG. 10, when the input point belongs to the tetrahedron 2, the arithmetic processing unit 4 sets the access address ADRG of the RG plane LUT (RG plane memory circuit 2 RG) based on (RH, GH, BH + 3). Is calculated as “4”, and the 0th (12) basic data corresponding to the base point coordinate P122 (0, 1, 0) is extracted as α1, and the first (13) basic data is extracted as α1 ′. Furthermore, since the address difference between α1 and α1 ′ and α2 and α2 ′ is always constant, the access address ADRG for α2 and α2 ′ is calculated as “5”, and the base point coordinate P122 (0, 1, 0) is calculated. The 0th (12) basic data corresponding to) is α2, and the 1st (13) basic data is α2 ′.
Similarly, the arithmetic processing unit 4 calculates “3” based on the access address ADRB (RH, GH, BH) of the RB plane LUT (RB plane memory circuit 2RB), and the base point coordinate P122 (0, 1, 0). The first (3) basic data corresponding to is β1, and the second (4) basic data is β1 ′. Furthermore, since the address difference between β1 and β1 ′ and β2 and β2 ′ is always constant, the access address ADRB for β2 and β2 ′ is calculated as “4”, and the base point coordinates P122 (0, 1, 0) The 0th (12) basic data corresponding to is β2, and the first (13) basic data is β2 ′.

図11に示すように、入力点が四面体3に属する場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)のアクセスアドレスADRGを(RH,GH,BH+3)に基づいて“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをα1、1番目(13)の基礎データをα1’として抽出する。さらには、α1とα1’、α2とα2’は、常にアドレス差分が一定であることから、α2とα2’についてのアクセスアドレスADRGを“5”と算出し、基点座標P122(0,1,0)に対応する0番目(15)の基礎データをα2、1番目(16)の基礎データをα2’とする。
同様に、演算処理部4は、RB平面LUT(RB平面メモリ回路2RB)のアクセスアドレスADRB(RH,GH,BH)に基づいて“3”と算出し、基点座標P122(0,1,0)に対応する1番目(3)の基礎データをβ1、2番目(4)の基礎データをβ1’とする。さらには、β1とβ1’、β2とβ2’は、常にアドレス差分が一定であるから、β2とβ2’についてのアクセスアドレスADRBを“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをβ2、1番目(13)の基礎データをβ2’とする。
As shown in FIG. 11, when the input point belongs to the tetrahedron 3, the arithmetic processing unit 4 sets the access address ADRG of the RG plane LUT (RG plane memory circuit 2 RG) based on “RH, GH, BH + 3”. 4 ″ and the 0th (12) basic data corresponding to the base coordinate P122 (0, 1, 0) is extracted as α1, and the first (13) basic data is extracted as α1 ′. Furthermore, since the address difference between α1 and α1 ′ and α2 and α2 ′ is always constant, the access address ADRG for α2 and α2 ′ is calculated as “5”, and the base point coordinate P122 (0, 1, 0) is calculated. The 0th (15) basic data corresponding to) is α2, and the 1st (16) basic data is α2 ′.
Similarly, the arithmetic processing unit 4 calculates “3” based on the access address ADRB (RH, GH, BH) of the RB plane LUT (RB plane memory circuit 2RB), and the base point coordinate P122 (0, 1, 0). The first (3) basic data corresponding to is β1, and the second (4) basic data is β1 ′. Furthermore, since the address difference between β1 and β1 ′ and β2 and β2 ′ is always constant, the access address ADRB for β2 and β2 ′ is calculated as “4”, and the base point coordinates P122 (0, 1, 0) The 0th (12) basic data corresponding to is β2, and the first (13) basic data is β2 ′.

図12に示すように、入力点が四面体4に属する場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)のアクセスアドレスADRGを(RH,GH,BH+3)に基づいて“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをα1、1番目(13)の基礎データをα1’として抽出する。さらには、α1とα1’、α2とα2’は、常にアドレス差分が一定であることから、α2とα2’についてのアクセスアドレスADRGを“5”と算出し、基点座標P122(0,1,0)に対応する0番目(15)の基礎データをα2、1番目(16)の基礎データをα2’とする。
同様に、演算処理部4は、RB平面LUT(RB平面メモリ回路2RB)のアクセスアドレスADRB(RH,GH,BH)に基づいて“3”と算出し、基点座標P122(0,1,0)に対応する1番目(3)の基礎データをβ1、2番目(4)の基礎データをβ1’とする。さらには、β1とβ1’、β2とβ2’は、常にアドレス差分が一定であるから、β2とβ2’についてのアクセスアドレスADRBを“4”と算出し、基点座標P122(0,1,0)に対応する0番目(12)の基礎データをβ2、1番目(13)の基礎データをβ2’とする。
As shown in FIG. 12, when the input point belongs to the tetrahedron 4, the arithmetic processing unit 4 sets the access address ADRG of the RG plane LUT (RG plane memory circuit 2RG) based on (RH, GH, BH + 3). 4 ″ and the 0th (12) basic data corresponding to the base point coordinate P122 (0, 1, 0) is extracted as α1, and the first (13) basic data is extracted as α1 ′. Furthermore, since the address difference between α1 and α1 ′ and α2 and α2 ′ is always constant, the access address ADRG for α2 and α2 ′ is calculated as “5”, and the base point coordinate P122 (0, 1, 0) is calculated. The 0th (15) basic data corresponding to) is α2, and the 1st (16) basic data is α2 ′.
Similarly, the arithmetic processing unit 4 calculates “3” based on the access address ADRB (RH, GH, BH) of the RB plane LUT (RB plane memory circuit 2RB), and the base point coordinate P122 (0, 1, 0). The first (3) basic data corresponding to is β1, and the second (4) basic data is β1 ′. Furthermore, since the address difference between β1 and β1 ′ and β2 and β2 ′ is always constant, the access address ADRB for β2 and β2 ′ is calculated as “4”, and the base point coordinates P122 (0, 1, 0) The 0th (12) basic data corresponding to is β2, and the first (13) basic data is β2 ′.

図13に示すように、入力点が四面体5に属する場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)のアクセスアドレスADRGを(RH,GH,BH)に基づいて“1”と算出し、基点座標P122(0,1,0)に対応する0番目(3)の基礎データをα1、1番目(4)の基礎データをα1’として抽出する。さらには、α1とα1’、α2とα2’は、常にアドレス差分が一定であることから、α2とα2’についてのアクセスアドレスADRGを“2”と算出し、基点座標P122(0,1,0)に対応する0番目(6)の基礎データをα2、1番目(7)の基礎データをα2’とする。
同様に、演算処理部4は、RB平面LUT(RB平面メモリ回路2RB)のアクセスアドレスADRB(RH,GH+3,BH)に基づいて“6”と算出し、基点座標P122(0,1,0)に対応する1番目(6)の基礎データをβ1、2番目(7)の基礎データをβ1’とする。さらには、β1とβ1’、β2とβ2’は、常にアドレス差分が一定であるから、β2とβ2’についてのアクセスアドレスADRBを“7”と算出し、基点座標P122(0,1,0)に対応する0番目(15)の基礎データをβ2、1番目(16)の基礎データをβ2’とする。
As illustrated in FIG. 13, when the input point belongs to the tetrahedron 5, the arithmetic processing unit 4 sets the access address ADRG of the RG plane LUT (RG plane memory circuit 2 RG) based on (RH, GH, BH). 1 ″, and the 0th (3) basic data corresponding to the base point coordinate P122 (0, 1, 0) is extracted as α1, and the first (4) basic data is extracted as α1 ′. Furthermore, since the address difference between α1 and α1 ′ and α2 and α2 ′ is always constant, the access address ADRG for α2 and α2 ′ is calculated as “2”, and the base point coordinates P122 (0, 1, 0) ), The 0th (6) basic data corresponding to) is α2, and the first (7) basic data is α2 ′.
Similarly, the arithmetic processing unit 4 calculates “6” based on the access address ADRB (RH, GH + 3, BH) of the RB plane LUT (RB plane memory circuit 2RB), and the base point coordinate P122 (0, 1, 0). The first (6) basic data corresponding to is β1, and the second (7) basic data is β1 ′. Furthermore, since the address difference between β1 and β1 ′ and β2 and β2 ′ is always constant, the access address ADRB for β2 and β2 ′ is calculated as “7”, and the base point coordinates P122 (0, 1, 0) The 0th (15) basic data corresponding to is β2, and the first (16) basic data is β2 ′.

図14に示すように、入力点が四面体6に属する場合は、演算処理部4は、RG平面LUT(RG平面メモリ回路2RG)のアクセスアドレスADRGを(RH,GH,BH)に基づいて“1”と算出し、基点座標P122(0,1,0)に対応する0番目(3)の基礎データをα1、1番目(4)の基礎データをα1’として抽出する。さらには、α1とα1’、α2とα2’は、常にアドレス差分が一定であることから、α2とα2’についてのアクセスアドレスADRGを“2”と算出し、基点座標P122(0,1,0)に対応する0番目(6)の基礎データをα2、1番目(7)の基礎データをα2’とする。
同様に、演算処理部4は、RB平面LUT(RB平面メモリ回路2RB)のアクセスアドレスADRB(RH,GH+3,BH)に基づいて“6”と算出し、基点座標P122(0,1,0)に対応する1番目(6)の基礎データをβ1、2番目(7)の基礎データをβ1’とする。さらには、β1とβ1’、β2とβ2’は、常にアドレス差分が一定であるから、β2とβ2’についてのアクセスアドレスADRBを“7”と算出し、基点座標P122(0,1,0)に対応する0番目(15)の基礎データをβ2、1番目(16)の基礎データをβ2’とする。
As shown in FIG. 14, when the input point belongs to the tetrahedron 6, the arithmetic processing unit 4 sets the access address ADRG of the RG plane LUT (RG plane memory circuit 2 RG) based on (RH, GH, BH). 1 ″, and the 0th (3) basic data corresponding to the base point coordinate P122 (0, 1, 0) is extracted as α1, and the first (4) basic data is extracted as α1 ′. Furthermore, since the address difference between α1 and α1 ′ and α2 and α2 ′ is always constant, the access address ADRG for α2 and α2 ′ is calculated as “2”, and the base point coordinates P122 (0, 1, 0) ), The 0th (6) basic data corresponding to) is α2, and the first (7) basic data is α2 ′.
Similarly, the arithmetic processing unit 4 calculates “6” based on the access address ADRB (RH, GH + 3, BH) of the RB plane LUT (RB plane memory circuit 2RB), and the base point coordinate P122 (0, 1, 0). The first (6) basic data corresponding to is β1, and the second (7) basic data is β1 ′. Furthermore, since the address difference between β1 and β1 ′ and β2 and β2 ′ is always constant, the access address ADRB for β2 and β2 ′ is calculated as “7”, and the base point coordinates P122 (0, 1, 0) The 0th (15) basic data corresponding to is β2, and the first (16) basic data is β2 ′.

図15に示す表2は、演算処理部4における出力値算出処理(図2のステップS108)の第2段階の処理である補間係数算出処理(S102c)と補間演算処理(S102d)を説明する図である。この表2は、テトラ・ハイドラ法による補間演算にて必要となる補間係数の算出式を示している。表2から分かるように、6つの四面体毎に計算式が異なる。   Table 2 shown in FIG. 15 is a diagram for explaining the interpolation coefficient calculation process (S102c) and the interpolation calculation process (S102d), which are the second stage of the output value calculation process (step S108 in FIG. 2) in the calculation processing unit 4. It is. Table 2 shows calculation formulas of interpolation coefficients required for the interpolation calculation by the tetra-hydra method. As can be seen from Table 2, the calculation formula is different for each of the six tetrahedrons.

演算処理部4は、4面体判定処理(図2のステップS104〜S106)の結果を受けて、図15の表2に基づき、入力値が包含される四面体に応じて補間係数の算出に用いる式を切り替え、その入力値が包含される四面体毎に定められた計算式に従って、その四面体を構成する4格子点と下位ビットデータRL,GL,BLとに基づいて補間係数W1,W2,W3,W4を算出する。この4面体補間演算処理は、従来のデータ変換装置における処理と同様である。   The arithmetic processing unit 4 receives the result of the tetrahedron determination process (steps S104 to S106 in FIG. 2), and uses it to calculate the interpolation coefficient according to the tetrahedron in which the input value is included based on Table 2 in FIG. In accordance with a calculation formula determined for each tetrahedron in which the input value is included, the interpolation coefficients W1, W2, and the interpolation coefficients W1, W2, and the lower bit data RL, GL, and BL constituting the tetrahedron are changed. W3 and W4 are calculated. This tetrahedral interpolation calculation process is the same as the process in the conventional data converter.

そして、演算処理部4は、公知の4点補間演算を用いて、このようにして求めた補間係数W1,W2,W3,W4と第1段階の4格子点特定処理により抽出した入力点に対応する四面体頂点の基礎データ(元々は格子点データ)D1,D2,D3,D4とに基づいて最終出力値Doutを算出するというテトラ・ハイドラ法による補間演算処理を行う。例えば、次式(1)に従って、最終出力値Doutを算出する。なお、式(1)では1次式補間で出力値を求めているが、これに限らず、2次式やその他の高次の補間演算式を利用してもよい。   Then, the arithmetic processing unit 4 uses a known four-point interpolation calculation to correspond to the interpolation coefficients W1, W2, W3, W4 thus obtained and the input points extracted by the first-stage four-grid point specifying process. Interpolation calculation processing is performed by the tetra-hydra method in which the final output value Dout is calculated based on the basic data (originally grid point data) D1, D2, D3, and D4 of the tetrahedron vertices. For example, the final output value Dout is calculated according to the following equation (1). In Expression (1), the output value is obtained by linear interpolation. However, the present invention is not limited to this, and a quadratic expression or other higher-order interpolation calculation expression may be used.

Dout=D1×W1+D2×W2+D3×W3+D4×W4・・・(1)   Dout = D1 × W1 + D2 × W2 + D3 × W3 + D4 × W4 (1)

この第1実施形態の構成によれば、入力データに対応する出力データを四面体補間演算により求めるに際して、格子点データ保持用のメモリ(空間)の数を、四面体補間演算に必要となる4頂点に相当する4個ではなく2個で構成したので、結果的に、同じデータのメモリを4倍持つ必要がなく2倍ですむため、同じ機能を達成するために必要なメモリの総容量が従来の1/2になる。   According to the configuration of the first embodiment, when the output data corresponding to the input data is obtained by the tetrahedral interpolation calculation, the number of lattice point data holding memories (spaces) is required for the tetrahedral interpolation calculation. Since it is composed of two instead of four corresponding to the apex, as a result, it is not necessary to have four times the memory of the same data, so it can be doubled, so the total amount of memory required to achieve the same function is It becomes 1/2 of the conventional one.

つまり、従来は、同容量の独立駆動可能なメモリ(空間)を補間演算所用データ数だけ備える必要があったのと異なり、補間演算に必要となる格子点データ数とメモリ空間の数を同じにしなければならないという従来の制約から開放され、例えば、4点補間の場合は、格子点データ保持用のメモリを4倍持つ必要がなく4倍未満(例えば2倍)で済むなど、同じ機能を達成するために必要なメモリの総容量や独立制御可能なメモリ空間数を低減することができる。加えて、同時アクセスのメモリ空間数を低減することができるので、消費電力や放射ノイズを低減することもできる。   In other words, in contrast to the conventional case where it is necessary to provide memories (spaces) of the same capacity that can be independently driven as many as the number of interpolation calculation data, the number of grid point data and the number of memory spaces required for the interpolation calculation are the same. The same function is achieved, for example, in the case of 4-point interpolation, for example, in the case of 4-point interpolation, it is not necessary to have 4 times the memory for holding grid point data, and less than 4 times (for example, 2 times). Therefore, it is possible to reduce the total capacity of the memory required for this and the number of memory spaces that can be independently controlled. In addition, since the number of memory spaces for simultaneous access can be reduced, power consumption and radiation noise can be reduced.

例えば、従来は1つの補間演算用データを抽出するために17×17×17個、つまり4,193バイト必要であり、4点補間の場合は同時に4格子点のデータを抽出するために、その4倍、つまり、4913バイト×4個=19,652バイトを必要とした。しかし、本実施形態の構成では、その1分の2の容量のメモリで同時に4格子点のデータを抽出することが可能となる。   For example, conventionally, 17 × 17 × 17 pieces, that is, 4,193 bytes, are required to extract one interpolation calculation data. In the case of four-point interpolation, Four times, that is, 4913 bytes × 4 = 19,652 bytes were required. However, with the configuration of the present embodiment, it is possible to simultaneously extract data of four lattice points with a memory having a capacity of 1/2.

補間演算回路は、従来の構成とほぼ同様のものを使用することができるので、全体としての回路変更はメモリ回路周りだけとなるので、上記構成の実回路への適用も容易である。   Since the interpolation operation circuit can be used in the almost same configuration as the conventional configuration, the entire circuit is changed only around the memory circuit, so that the above configuration can be easily applied to the actual circuit.

〔第2の実施の形態〕
図16は、本発明に係るデータ変換装置の第2実施形態を示すブロック図である。この第2実施形態の構成は、R,G,Bの3次元入力の場合における上述の補間演算をリアルタイムで高速に行うようにした具体的な回路構成の第1例を示すものである。
[Second Embodiment]
FIG. 16 is a block diagram showing a second embodiment of the data conversion apparatus according to the present invention. The configuration of the second embodiment shows a first example of a specific circuit configuration in which the above-described interpolation calculation in the case of R, G, B three-dimensional input is performed at high speed in real time.

図示するように、第2実施形態の演算処理部4におけるY信号生成部4Yは、第1実施形態の演算処理部4における単位立方体判定処理(図2のステップS100〜S102)およびアクセスメモリ特定処理(同S108a)を実行するアドレス生成部10と、4面体判定処理(同S104〜S106)を実行する4面体判定部14と、4格子点特定処理(S108b)を実行するデータ選択部16と、補間係数算出処理(S108c)を実行する補間係数生成部20と、補間演算処理(S108d)を実行する補間処理部22とを備える。   As shown in the figure, the Y signal generation unit 4Y in the arithmetic processing unit 4 of the second embodiment performs unit cube determination processing (steps S100 to S102 in FIG. 2) and access memory specifying processing in the arithmetic processing unit 4 of the first embodiment. An address generation unit 10 that executes (S108a), a tetrahedron determination unit 14 that executes tetrahedron determination processing (S104 to S106), a data selection unit 16 that executes 4-lattice point specification processing (S108b), An interpolation coefficient generation unit 20 that executes interpolation coefficient calculation processing (S108c) and an interpolation processing unit 22 that executes interpolation calculation processing (S108d) are provided.

アドレス生成部10は、本発明の単位格子体判定部とアドレス設定部の両機能を備える。また、4面体判定部14は、本発明の単位格子体判定部の一例である。また、データ選択部16は、本発明の基礎データ抽出部の一例である。また、補間係数生成部20と補間処理部22とにより、本発明の補間演算処理部が構成される。   The address generation unit 10 has both functions of a unit cell determination unit and an address setting unit of the present invention. The tetrahedron determining unit 14 is an example of a unit lattice determining unit of the present invention. The data selection unit 16 is an example of a basic data extraction unit of the present invention. Further, the interpolation coefficient generation unit 20 and the interpolation processing unit 22 constitute an interpolation calculation processing unit of the present invention.

なお、図では省略して示しているが、M信号生成部4M、C信号生成部4C、およびK信号生成部4Kも、Y信号生成部4Yと同様の構成となっている。   Although not shown in the figure, the M signal generation unit 4M, the C signal generation unit 4C, and the K signal generation unit 4K have the same configuration as the Y signal generation unit 4Y.

アドレス生成部10は、画像データR,G,Bが入力されると、その入力データR,G,Bを上位ビットデータRH,GH,BH(本例では上位4ビット;纏めてDHとする)と下位ビットデータRL,GL,BL(本例では下位4ビット;纏めてDLとする)に分割し、その内の上位4ビットのデータDHに基づいて、図5(B)や図8に示したように、3次元LUTにおける入力点が包含される単位立方体の位置P22(図8の基点P122に相当)を特定し、この単位立方体を特定する基点を示す座標情報(RH,GH,BH)をデータ選択部16に入力する。   When the image data R, G, and B are input, the address generator 10 converts the input data R, G, and B into upper bit data RH, GH, and BH (upper 4 bits in this example; collectively referred to as DH). And lower bit data RL, GL, BL (lower 4 bits in this example; collectively referred to as DL), and based on the upper 4 bits of data DH, shown in FIG. 5B and FIG. As described above, the position P22 (corresponding to the base point P122 in FIG. 8) where the input point in the three-dimensional LUT is included is specified, and coordinate information (RH, GH, BH) indicating the base point specifying the unit cube is specified. Is input to the data selection unit 16.

また、アドレス生成部10は、分割したデータの内の下位ビットデータDLを4面体判定部14と補間係数生成部20とに入力する。4面体判定部14は、アドレス生成部10から入力された下位ビットデータDLに基づいて、単位立方体を分割する6つの四面体のうちの入力値が含まれる四面体を特定し、この特定した四面体を示す情報を判定結果として、アドレス生成部10、データ選択部16、および補間係数生成部20に入力する。   The address generation unit 10 also inputs the lower bit data DL of the divided data to the tetrahedron determination unit 14 and the interpolation coefficient generation unit 20. The tetrahedron determination unit 14 specifies a tetrahedron including input values among the six tetrahedrons that divide the unit cube based on the lower-order bit data DL input from the address generation unit 10, and specifies the specified tetrahedron. Information indicating the body is input to the address generation unit 10, the data selection unit 16, and the interpolation coefficient generation unit 20 as a determination result.

アドレス生成部10は、4面体判定部14による4面体判定処理結果を受けて、図6の表1に示した選択条件に従って、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを抽出すべき2つのメモリ回路2RG,2RBに対して、読出クロック信号を独立に制御する(具体的には、読出アクセス読出な回路へのリードクロックを停止する)。これは、ある単位時間に多大な数のメモリに同時アクセスするということは消費電力の増大、放射ノイズの増大をも招き、環境の観点からも改善が望まれるからである。   The address generation unit 10 receives the tetrahedron determination processing result by the tetrahedron determination unit 14, and in accordance with the selection conditions shown in Table 1 of FIG. 6, the basic data of the four grid points necessary for the interpolation calculation by the tetra-hydra method The read clock signal is controlled independently for the two memory circuits 2RG and 2RB to be extracted (specifically, the read clock to the read access read circuit is stopped). This is because simultaneous access to a large number of memories in a certain unit time leads to an increase in power consumption and an increase in radiation noise, and an improvement from the viewpoint of the environment is desired.

すなわち、本実施形態の構成では、処理対象の画素データについて同時に読出アクセスすべき、補間演算に必要となる4格子点の基礎データを含むメモリ回路は、2つのメモリ回路であるので、メモリ数を従来の4つから2つに低減したことによる消費電力や放射ノイズの低減効果に加えて、同時アクセス不要なメモリ回路へのリードクロックの供給を停止することで、消費電力や放射ノイズをなお一層低減する。   That is, in the configuration of the present embodiment, the memory circuit including the basic data of the four lattice points necessary for the interpolation calculation, which should be simultaneously read and accessed for the pixel data to be processed, is two memory circuits. In addition to the effect of reducing power consumption and radiation noise due to the reduction from the conventional four, the power consumption and radiation noise are further reduced by stopping the supply of the read clock to the memory circuit that does not require simultaneous access. To reduce.

また、アドレス生成部10は、入力データを包含する単位立方体を特定する上位ビットデータRH,GH,BHつまり図5(B)の基点P21の座標値と図6の表1に示したアクセスアドレス式とに従って算出したアクセスアドレスADRG,ADRBを、アクセスすべきメモリ回路毎に設定する。こうすることで、メモリ回路からのデータ読出時には、2つのメモリ回路2RG,2RBのうち、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを含むメモリ回路のみがアクティブになり、そのアクティブなメモリ回路に設定されたアドレスから一群のデータがデータ選択部16に入力されるようになる。   Further, the address generation unit 10 determines the upper bit data RH, GH, BH for specifying the unit cube containing the input data, that is, the coordinate value of the base point P21 in FIG. 5B and the access address formula shown in Table 1 in FIG. The access addresses ADRG and ADRB calculated according to are set for each memory circuit to be accessed. Thus, when data is read from the memory circuit, only the memory circuit including the basic data of the four lattice points necessary for the interpolation operation by the tetra-hydra method becomes active among the two memory circuits 2RG and 2RB. A group of data is input to the data selection section 16 from the address set in the active memory circuit.

例えば、メモリ回路2RG,2RBとして、1つのアドレスが設定されると、それに対応する複数のデータを並列的に出力可能なものを使用する。そして、アドレス入力に対しては、アクセスアドレスADRG,ADRBを設定する。例えば、図3〜図9の各(B)にて、アドレス欄の値をアクセスアドレスADG,ADRBに設定することで、各メモリ回路2RG,2RBからは、基点座標(RH,GH,BH)に対応する2つの基礎データを含む一群のデータの全てが並列的に出力される。   For example, when one address is set as the memory circuits 2RG and 2RB, one that can output a plurality of corresponding data in parallel is used. For address input, access addresses ADRG and ADRB are set. For example, in each of (B) of FIGS. 3 to 9, by setting the value in the address field to the access address ADG, ADRB, the memory circuit 2RG, 2RB can change the base point coordinates (RH, GH, BH). All of the group of data including the two corresponding basic data are output in parallel.

また、アドレス生成部10は、各メモリ回路のチップセレクト端子CSへの入力であるメモリ制御信号CTRG,CTRBを独立に制御する(具体的には、ロー/ハイに切り替える)ことで、同時読出しが必要な2つのメモリ回路をアクティブに、不要な1つのメモリ回路をインアクティブ(ハイインピーダンス状態)にする。こうすることで、消費電力の低減を図ることができるとともに、メモリ回路の後段の回路をコンパクトにすることもできる。   The address generation unit 10 controls the memory control signals CTRG and CTRB, which are inputs to the chip select terminal CS of each memory circuit, independently (specifically, switching to low / high), thereby enabling simultaneous reading. Two necessary memory circuits are made active, and one unnecessary memory circuit is made inactive (high impedance state). In this way, power consumption can be reduced, and the subsequent circuit of the memory circuit can be made compact.

次に、データ選択部16は、上位4ビットデータの組合せ値の空間位置P21を基点にして該当する単位立方体の各頂点のデータ(格子点データ)の中から必要なものを抽出する。例えば、データ選択部16は、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを含むメモリのみから入力された所定アドレスのデータ群をデータ格納部2から受け取ると、4面体判定部14による4面体判定処理結果とアドレス生成部10からの入力点を包含する基点の座標値(RH,GH,BH)とに基づいて、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データD1,D2,D3,D4を抽出し、この抽出した4つのデータD1,D2,D3,D4を補間処理部22に入力する。   Next, the data selection unit 16 extracts necessary data from the data (lattice point data) of each vertex of the corresponding unit cube with the spatial position P21 of the combination value of the upper 4-bit data as a base point. For example, when the data selection unit 16 receives from the data storage unit 2 a data group of a predetermined address input from only a memory including basic data of four lattice points necessary for the interpolation calculation by the tetra-hydra method, the tetrahedron determination is performed. 4 lattice points required for the interpolation calculation by the tetra-hydra method based on the tetrahedron determination processing result by the unit 14 and the coordinate values (RH, GH, BH) of the base point including the input point from the address generation unit 10 Basic data D1, D2, D3, and D4 are extracted, and the extracted four data D1, D2, D3, and D4 are input to the interpolation processing unit 22.

なお、図9〜図14から分かるように、メモリから出力されたデータ(α1,α1’、α2,α2’、β1,β1’、β2,β2’)が、D1,D2,D3,D4の何れに対応するのかは、入力点の属する四面体によって異なる。データ選択部16は、入力値に対応する所用の2つのメモリから、データ(α1,α1’とα2,α2’とβ1,β1’とβ2,β2’)が、補間演算処理におけるD1,D2,D3,D4の何れとすべきかを、4面体判定部14による4面体判定処理結果に基づいて図6の表1に示した選択条件に従って判断する。   As can be seen from FIGS. 9 to 14, the data (α1, α1 ′, α2, α2 ′, β1, β1 ′, β2, β2 ′) output from the memory is any of D1, D2, D3, and D4. Corresponds to the tetrahedron to which the input point belongs. The data selection unit 16 obtains data (α1, α1 ′ and α2, α2 ′ and β1, β1 ′ and β2, β2 ′) from two memories corresponding to the input values as D1, D2, and D2 in the interpolation calculation process. Which of D3 and D4 is to be determined is determined according to the selection conditions shown in Table 1 of FIG. 6 based on the tetrahedron determination processing result by the tetrahedron determination unit 14.

これと並行して、補間係数生成部20は、4面体判定部14による4面体判定処理の結果を受けて、図15の表2に基づき、6つの四面体のうち入力値が包含される四面体に応じた計算式に従って、その四面体を構成する4格子点と下位ビットデータRL,GL,BLとに基づいて補間係数W1,W2,W3,W4を算出し、算出した補間係数W1,W2,W3,W4を補間処理部22に入力する。   In parallel with this, the interpolation coefficient generation unit 20 receives the result of the tetrahedron determination processing by the tetrahedron determination unit 14 and, based on Table 2 in FIG. Interpolation coefficients W1, W2, W3, W4 are calculated based on the four lattice points constituting the tetrahedron and the lower bit data RL, GL, BL in accordance with a calculation formula corresponding to the body, and the calculated interpolation coefficients W1, W2 , W3, W4 are input to the interpolation processing unit 22.

補間処理部22は、公知の4点補間演算を用いて、補間係数生成部20から入力された補間係数W1,W2,W3,W4とデータ選択部16から入力されたデータD1,D2,D3,D4(4頂点の基礎データ)とに基づいて最終出力値Y,M,C,Kを、それぞれ算出する。   The interpolation processing unit 22 uses the well-known four-point interpolation calculation, the interpolation coefficients W1, W2, W3, W4 input from the interpolation coefficient generation unit 20 and the data D1, D2, D3 input from the data selection unit 16. Final output values Y, M, C, and K are calculated based on D4 (basic data of four vertices).

この第2実施形態の構成によれば、LUTと補間演算を用いたデジタル色分解信号から他の色成分のデジタル色分解信号への変換を行う際にテトラ・ハイドラ法を用いる場合は、従来は4つのメモリを必要としていたものが、第1実施形態と同様に、2つのメモリで4面体補間演算処理を実現することができる。また、基礎データの中から所望の基礎データを抽出するための付加回路の規模はさほど大きくないので、補間回路の規模や複雑さを増すことなく、データ変換装置1を実現することができる。   According to the configuration of the second embodiment, when the tetra-hydra method is used when converting the digital color separation signal using the LUT and the interpolation operation into the digital color separation signal of other color components, What required four memories can implement tetrahedral interpolation calculation processing with two memories as in the first embodiment. Further, since the scale of the additional circuit for extracting desired basic data from the basic data is not so large, the data conversion apparatus 1 can be realized without increasing the scale or complexity of the interpolation circuit.

加えて、従来は補間演算に用いられるデータを抽出する際に1色の出力値の算出につき4つのメモリにアクセスする必要があったが、本実施形態の構成によれば、メモリのチップセレクト端子CS(もしくはリードイネーブル端子RE)を制御することで、2つのメモリ回路2RG,2RGをアクティブにするので、従来の半分の2つのメモリにアクセスするだけでよく、システムの消費電力や放射ノイズを低減することもできる。   In addition, conventionally, when extracting data used for the interpolation calculation, it is necessary to access four memories for calculating the output value of one color. According to the configuration of this embodiment, the chip select terminal of the memory is used. By controlling the CS (or the read enable terminal RE), the two memory circuits 2RG and 2RG are made active so that only two half of the conventional memories need to be accessed, reducing system power consumption and radiation noise. You can also

すなわち、LUTと補間演算を用いたデジタル色分解信号から他の色成分のデジタル色分解信号への変換を行う際に、少ないメモリ資源で色データ変換を実現することができるという効果がある。また、従来は補間演算に用いられるデータを抽出する際に1色の出力値の算出につき4つのメモリに同時にアクセスする必要があったが、本実施形態の構成では半分の2つだけでよく、システムの消費電力や放射ノイズの低減効果もある。   That is, there is an effect that color data conversion can be realized with a small amount of memory resources when converting a digital color separation signal using an LUT and an interpolation operation into a digital color separation signal of another color component. Conventionally, when extracting data used for the interpolation calculation, it is necessary to simultaneously access four memories for the calculation of the output value of one color. However, in the configuration of the present embodiment, only two of the two are necessary. It also has the effect of reducing system power consumption and radiation noise.

〔第3の実施の形態〕
図17は、本発明に係るデータ変換装置の第3実施形態を示すブロック図である。この第3実施形態の構成の基本は第2実施形態のものと同じである。第2実施形態の構成との相違点は、第2実施形態のデータ選択部16を備えておらず、このデータ選択部16の機能をアドレス生成部10が兼用する構成としている点にある。つまり、第3実施形態のアドレス生成部10は、本発明の基礎データ抽出部の機能も備える。
[Third Embodiment]
FIG. 17 is a block diagram showing a third embodiment of the data conversion apparatus according to the present invention. The basic configuration of the third embodiment is the same as that of the second embodiment. The difference from the configuration of the second embodiment is that the data selection unit 16 of the second embodiment is not provided, and the function of the data selection unit 16 is configured to be shared by the address generation unit 10. That is, the address generation unit 10 of the third embodiment also has the function of the basic data extraction unit of the present invention.

この変更に応じて、4面体判定部14は、アドレス生成部10から入力された下位ビットデータDLに基づいて、単位立方体を分割する6つの四面体のうちの入力値が含まれる四面体を特定し、この特定した四面体を示す情報を判定結果として、アドレス生成部10、補間係数生成部20、およびに補間処理部22に入力する。すなわち、3次元LUTにおける入力点が包含される単位立方体の位置を特定し、その情報をデータ選択部16に伝える。   In response to this change, the tetrahedron determination unit 14 specifies a tetrahedron that includes input values from among the six tetrahedrons that divide the unit cube, based on the lower-order bit data DL input from the address generation unit 10. Then, the information indicating the specified tetrahedron is input to the address generation unit 10, the interpolation coefficient generation unit 20, and the interpolation processing unit 22 as a determination result. That is, the position of the unit cube that includes the input point in the three-dimensional LUT is specified, and the information is transmitted to the data selection unit 16.

また、第3実施形態のメモリ回路2RG,2RBは、アドレス生成部10により設定されたアドレスADRG,ADRB毎に一群の全データを纏めてパッキングデータPRG,PRBとして出力する形態のものではなく、一群のうちの任意の2つのアドレスも設定可能で、それら2つを纏めて出力可能なものを使用する。   In addition, the memory circuits 2RG and 2RB of the third embodiment are not configured to output a group of all data for each address ADRG and ADRB set by the address generator 10 as packing data PRG and PRB. Any two addresses can be set, and those which can be output together are used.

つまり、第1実施形態や第2実施形態と同様に、1つのアドレスADRG,ADRB毎に複数の格子点データをマッピングするが、読出しに際しては、テトラ・ハイドラ法による補間演算に必要となる4格子点を含む各軸のメモリに対して、2つの基礎データ(α1,α1’、α2,α2’、β1,β1’またはβ2,β2’)のみを纏めて出力させる。   That is, as in the first and second embodiments, a plurality of grid point data are mapped for each address ADRG and ADRB. However, when reading, four grids are required for the interpolation calculation by the tetra-hydra method. Only two basic data (α1, α1 ′, α2, α2 ′, β1, β1 ′, or β2, β2 ′) are collectively output to the memory of each axis including the point.

具体的には、アドレス空間を2次元状に制御可能なものを使用し、一方のアドレス軸に対しては、第1実施形態や第2実施形態と同様にアクセスアドレスADRG,ADRBを設定する。そして、他方のアドレス軸に対しては、X軸方向のアドレス設定のためのアクセスアドレスADXRG,ADXRBにより、入力値を包含する単位立方体を特定する基点座標(RH,GH,BH)に対応する値を設定することで、4格子点特定処理を行う。   Specifically, an address space that can be controlled two-dimensionally is used, and access addresses ADRG and ADRB are set for one address axis in the same manner as in the first and second embodiments. For the other address axis, values corresponding to the base point coordinates (RH, GH, BH) for specifying the unit cube including the input value by the access address ADXRG, ADXRB for address setting in the X-axis direction 4 grid point specifying process is performed.

例えば、図3〜図9の各(B)にて、アドレスの欄の値をアクセスアドレスADRG,ADRBに設定し、データ欄の下部に示した「2次元アドレスの場合のアドレス」のうち基点座標(RH,GH,BH)に対応する値(0,1,…のうちの連続した2つのアドレス)をX軸方向のアドレス設定のためのアクセスアドレスADXRG,ADXRBに設定する。こうすることで、メモリ回路2RG,2RGからは、それぞれ基点座標(RH,GH,BH)に対応する2つの基礎データが並列的に出力される。   For example, in each of (B) of FIGS. 3 to 9, the address field value is set to the access address ADRG, ADRB, and the base point coordinates of the “address in the case of a two-dimensional address” shown at the bottom of the data field A value (two consecutive addresses of 0, 1,...) Corresponding to (RH, GH, BH) is set as an access address ADXRG, ADXRB for address setting in the X-axis direction. In this way, two basic data corresponding to the base point coordinates (RH, GH, BH) are output in parallel from the memory circuits 2RG, 2RG, respectively.

補間処理部22は、入力値に対応する所用の2つのメモリから入力された各2つの基礎データ(α1,α1’、α2,α2’、β1,β1’、β2,β2’)について、補間演算処理におけるD1,D2,D3,D4の何れとすべきかを、4面体判定部14による4面体判定処理結果に基づいて図6の表1に示した選択条件に従って判断する。これは、図9〜図14から分かるように、メモリから出力された各2つの基礎データ(α1,α1’、α2,α2’、β1,β1’、β2,β2’)が、D1,D2,D3,D4の何れに対応するのかは、入力点の属する四面体によって異なるからである。   The interpolation processing unit 22 performs an interpolation operation on each of the two basic data (α1, α1 ′, α2, α2 ′, β1, β1 ′, β2, β2 ′) input from the two required memories corresponding to the input values. Which of D1, D2, D3, and D4 in the process should be determined is determined according to the selection condition shown in Table 1 of FIG. 6 based on the tetrahedron determination processing result by the tetrahedron determination unit 14. As can be seen from FIGS. 9 to 14, each of the two basic data (α1, α1 ′, α2, α2 ′, β1, β1 ′, β2, β2 ′) output from the memory is represented by D1, D2, This is because which of D3 and D4 corresponds to the tetrahedron to which the input point belongs.

補間処理部22は、公知の4点補間演算を用いて、補間係数生成部20から入力された補間係数W1,W2,W3,W4と、入力値に対応する所用の2つのメモリから入力された各2つの基礎データ(α1,α1’、α2,α2’、β1,β1’、β2,β2’)に対応するデータD1,D2,D3,D4とに基づいて最終出力値Y,M,C,Kを、それぞれ算出する。   The interpolation processing unit 22 is input from the interpolation coefficients W1, W2, W3, and W4 input from the interpolation coefficient generation unit 20 and two necessary memories corresponding to the input values using a known four-point interpolation calculation. Based on the data D1, D2, D3, D4 corresponding to the two basic data (α1, α1 ′, α2, α2 ′, β1, β1 ′, β2, β2 ′), the final output values Y, M, C, Each K is calculated.

この第3実施形態の構成によれば、第2実施形態と構成が異なるものの、基本的な作用は第2実施形態と同様である。したがって、第1実施形態と同様に、2つのメモリで4面体補間演算処理を実現することができることに加えて、メモリのチップセレクト端子CS(もしくはリードイネーブル端子RE)を制御することで、システムの消費電力や放射ノイズを低減することもできる。   According to the configuration of the third embodiment, although the configuration is different from that of the second embodiment, the basic operation is the same as that of the second embodiment. Therefore, in the same way as in the first embodiment, in addition to being able to implement tetrahedral interpolation calculation processing with two memories, by controlling the chip select terminal CS (or read enable terminal RE) of the memory, Power consumption and radiation noise can also be reduced.

なお、第1〜第3実施形態で説明した構成におけるデータ格納部2、アドレス生成部10、データ選択部16、補間演算処理部22等については、公知技術を適宜組み合わせて実現すればよい。具体的には、公知のラッチ回路やセレクタ回路等といったハードウエア回路を利用して、メモリ回路2RG,2RBへの駆動信号を制御することで、各メモリ回路2RG,2RBからのデータ読み出し(アドレスやタイミング等)をコントロールすることが考えられる。これにより、例えば、第1および第2実施形態における「処理対象の画素データに対応する基礎データを含むアドレスの全ての基礎データを纏めてパッキングデータとして読み出し、その後に、処理対象の画素データに対応する補間演算所用データ数分の基礎データを抽出する」に際して、対象アドレスの全基礎データをほぼ同時に並列的にメモリ回路から出力する構成を実現することや、対象アドレスの全基礎データを時系列的に逐次出力する構成を実現すること、並びに、第3実施形態における「補間演算に必要な基礎データのみを読み出す構成であって、それらの基礎データをほぼ同時に並列的に出力する構成」を実現すること等も可能となる。   Note that the data storage unit 2, the address generation unit 10, the data selection unit 16, the interpolation calculation processing unit 22, and the like in the configuration described in the first to third embodiments may be realized by appropriately combining known techniques. Specifically, by using a hardware circuit such as a known latch circuit or selector circuit, the drive signals to the memory circuits 2RG and 2RB are controlled to read data from the memory circuits 2RG and 2RB (address and It is conceivable to control the timing. Thus, for example, in the first and second embodiments, all the basic data of the address including the basic data corresponding to the pixel data to be processed is read as packing data, and then the pixel data to be processed is supported. When extracting the basic data for the number of interpolation operation data to be performed, it is possible to realize a configuration in which all basic data at the target address is output from the memory circuit in parallel at almost the same time, or all basic data at the target address is time-sequentially And a “configuration for reading out only basic data necessary for interpolation calculation, and outputting these basic data in parallel at substantially the same time” in the third embodiment. It becomes possible.

ただし、これらの構成については、ハードウエア回路によって実現するのではなく、ソフトウエアの実行によって実現させることもできる。さらには、上述したメモリアクセスのための4面体判定や補間演算などの一連の処理についても、ハードウエア回路またはソフトウエアの何れによっても実現させることができる。ソフトウエアによる実現の場合には、そのソフトウエアを構成するプログラムを、コンピュータとしての機能を有したデータ変換装置に予めインストールしておくことが考えられるが、そのプログラムが有線または無線の通信回線を介して提供されたり、コンピュータ読み取り可能な記憶媒体を介して提供されてもよい。   However, these configurations can be realized not by a hardware circuit but by execution of software. Furthermore, the above-described series of processing such as tetrahedron determination and interpolation calculation for memory access can be realized by either a hardware circuit or software. In the case of realization by software, it is conceivable that a program constituting the software is installed in advance in a data conversion device having a function as a computer. However, the program is connected to a wired or wireless communication line. Or may be provided via a computer-readable storage medium.

また、上述した第1〜第3実施形態は、本発明の好適な具体例を説明するものであって、本発明がこれに限定されるものでないことは勿論である。   Moreover, the above-described first to third embodiments are for describing preferred specific examples of the present invention, and the present invention is of course not limited thereto.

例えば、上記実施形態では、格子点データを格納するメモリとして、入力データの軸と共通する方向の基礎データを複数のグループに分けて1つのアドレスに複数のデータをマッピング(パッキング)し、その一塊りの全データ(第1もしくは第2実施形態の場合)あるいはその中の2つの基礎データ(第3実施形態の場合)を並列的に読み出すようにしていたが、パッキングの方向や読出しかたはこのような方法に限られず、入力の3軸を互いに45度傾けた互いに直交する軸の方向の基礎データを複数のグループに分けて1つのアドレスに複数のデータをマッピング(パッキング)するようにしてもよい。このようなパッキング方法でも、元の3次元LUTの全ての格子点データを取り扱うことが可能である。ただし、この場合、原点を通る軸上のデータが最も多くパッキングされ、元の3次元LUTの最外郭のデータが1つのみパッキングされるので、各軸に対しては同容量のメモリを使用できるものの、アドレスに応じて対応付けられるデータ数が異なるので、実際には使用しないメモリ空間が生じることになる。また、45度傾けに限らず、60度や他の任意の角度に傾けてもかまわない。軸に応じて傾き角を異なるものとしてもよい。これらの場合においても、元の3次元LUTの全ての格子点データがパッキングされた何れかの群に含まれるようにアドレスと対応付けることで、元の3次元LUTの全ての格子点データを取り扱うようにすることが好ましい。さらには、元の3次元LUTの一部の格子点データがパッキングされた何れの群にも含まれないということがあってもかまわない。また、元のLUTの格子点データのうち、軸を通らない格子点データについては、例えば線形補間などにより生成した新たなデータをその格子点データに対応する基礎データとして割り当ててもよい。
なお、第1〜第3実施形態のように、入力データの軸と共通する方向の基礎データを複数のグループに分けて1つのアドレスに複数のデータをパッキングすれば、パッキングされた各アドレスには同数の格子点データが対応付けられ使用しないメモリ空間が生じないようにすることができるとともに、元の3次元LUTの全ての格子点データを漏れなく取り扱うことができるので、同容量のメモリを無駄なく使用できるなど、全体のバランスがよい。
For example, in the above embodiment, as a memory for storing lattice point data, basic data in the direction common to the axis of input data is divided into a plurality of groups, and a plurality of data is mapped (packed) to one address, and the lump All the data (in the case of the first or second embodiment) or two basic data (in the case of the third embodiment) are read out in parallel, but the packing direction and reading method are as follows. The basic data in the directions of mutually orthogonal axes obtained by tilting the three input axes by 45 degrees may be divided into a plurality of groups and a plurality of data may be mapped (packed) to one address. . Even with such a packing method, it is possible to handle all the lattice point data of the original three-dimensional LUT. However, in this case, the most data on the axis passing through the origin is packed, and only one outermost data of the original three-dimensional LUT is packed, so that the same capacity memory can be used for each axis. However, since the number of associated data differs depending on the address, a memory space that is not actually used is generated. Further, the tilt is not limited to 45 degrees, and may be tilted to 60 degrees or any other angle. The tilt angle may be different depending on the axis. Even in these cases, all the lattice point data of the original three-dimensional LUT are handled by associating with the addresses so that all the lattice point data of the original three-dimensional LUT are included in any of the packed groups. It is preferable to make it. Furthermore, there may be a case where some lattice point data of the original three-dimensional LUT are not included in any of the packed groups. In addition, regarding the grid point data that does not pass through the axis among the grid point data of the original LUT, new data generated by, for example, linear interpolation may be assigned as basic data corresponding to the grid point data.
As in the first to third embodiments, if the basic data in the direction common to the axis of the input data is divided into a plurality of groups and a plurality of data is packed into one address, each packed address has It is possible to prevent an unused memory space from being associated with the same number of grid point data, and to handle all grid point data of the original three-dimensional LUT without omission, so that the same capacity of memory is wasted. The overall balance is good.

また、第1〜第3実施形態では、入力色データを出力色データに変換する際に用いられる格子点データの集合を構成する単位立方体の中を6個の四面体に分割して入力値(入力された画素データ)が何れの四面体に属するのかを判定し、該当する四面体内での補間演算により入力値に対応する出力値(出力用の画素データ)を決定する手法として、4点補間の典型例であるテトラ・ハイドラ法を適用した場合について説明したが、本願発明の適用は、4点補間に限らず、立方体補間(8点補間)や5点補間など他の補間方法に適用することも可能である。つまり、補間演算所用データ数未満(事実上多面体を規定する頂点数よりも少ない)のメモリを使用し、元のLUTの格子点データを所定の方向(使用するメモリ数に応じて面を設定)にグループ分けし、グループ毎に1つのアドレスに複数の格子点データを対応付けてそのメモリに格納し、補間演算処理の際には、グループ分けしたデータ群の中から、補間演算に必要となる格子点のデータを抽出するという構成のものであればよい。   In the first to third embodiments, a unit cube constituting a set of lattice point data used when converting input color data to output color data is divided into six tetrahedrons to obtain input values ( 4-point interpolation as a method of determining which tetrahedron the input pixel data) belongs to and determining an output value (pixel data for output) corresponding to the input value by interpolation within the corresponding tetrahedron However, the application of the present invention is not limited to 4-point interpolation, but is applied to other interpolation methods such as cubic interpolation (8-point interpolation) and 5-point interpolation. It is also possible. In other words, the memory of less than the number of interpolation calculation data (effectively less than the number of vertices that define the polyhedron) is used, and the lattice data of the original LUT is set in a predetermined direction (the surface is set according to the number of memories used). Are divided into groups, a plurality of grid point data are associated with one address for each group and stored in the memory, and interpolation processing is necessary for interpolation calculation from the grouped data group. Any configuration that extracts data of lattice points may be used.

また、第1〜第3実施形態では、k色の入力色データとしてR,G,Bの3色のデータを取り扱い、j色の出力色データとしてY,M,C,Kの4色に変換する例を説明したが、入力系および出力系それぞれについて色の構成要素が3つ以上である限り、他の色系統を取り扱う形態に変更することもできる。もちろん、色空間に依存せず、RGB,Lab,YCbCr,YMCKなど、何れにも対応することができる。
さらに、第1〜第3実施形態では、k個(具体的には3個)の成分データに基づいて定まるk次元超立方格子空間の2のk乗個の格子点が形成するk次元超立方体の各格子点に対応づけられた格子点データを元のLUTとして取り扱い、単位格子体の形状が立方体であるのもとしていたが、個々の格子点により規定される単位格子体の形状は、必ずしも立方体に限らない。
さらにまた、第1〜第3実施形態では、単位格子体(単位立方体)を同容量の多面体(具体的には四面体)で内分することとしていたが、単位格子体を分割する多面体は、必ずしも同容量のものでなくてもよい。
In the first to third embodiments, three colors of R, G, and B are handled as k input color data, and converted into four colors of Y, M, C, and K as j color output color data. However, as long as there are three or more color components for each of the input system and the output system, it can be changed to a form that handles other color systems. Of course, any of RGB, Lab, YCbCr, YMCK, etc. can be handled without depending on the color space.
Furthermore, in the first to third embodiments, a k-dimensional hypercube formed by 2 k grid points in a k-dimensional hypercubic lattice space determined based on k (specifically, three) component data. The grid point data associated with each grid point is treated as the original LUT, and the unit grid shape is assumed to be a cube. However, the unit grid shape defined by each grid point is not necessarily It is not limited to a cube.
Furthermore, in the first to third embodiments, the unit lattice (unit cube) is internally divided by a polyhedron of the same capacity (specifically, tetrahedron), but the polyhedron that divides the unit lattice is: It does not necessarily have to be the same capacity.

多面体は、四面体の他にも、四角錐の五面体や、図18に示すような三角柱または斜三角柱の六面体等が挙げられる。つまり、第1〜第3実施形態で説明したように、k色が三色であり、多面体が出力色信号要素である一つの色に対応する四面体であって、補間演算が4面体補間演算である場合の他に、例えば、k色が三色であり、多面体が出力色信号要素である一つの色に対応する四角錐の五面体であって、補間演算が四角錐補間演算である場合や、k色が三色であり、多面体が出力色信号要素である一つの色に対応する三角柱の六面体であって、補間演算が三角柱補間演算である場合、あるいはk色が三色であり、多面体が出力色信号要素である一つの色に対応する斜三角柱の六面体であって、補間演算が斜三角柱補間演算である場合についても、全く同様に本発明の適用が実現可能である。   In addition to the tetrahedron, the polyhedron includes a pentahedron of a quadrangular pyramid, a hexahedron of a triangular prism or an oblique triangular prism as shown in FIG. That is, as described in the first to third embodiments, the k color is three colors, and the polyhedron is a tetrahedron corresponding to one color which is an output color signal element, and the interpolation calculation is a tetrahedron interpolation calculation. For example, when the k color is three colors, the polyhedron is a pentahedron of a quadrangular pyramid corresponding to one color that is an output color signal element, and the interpolation calculation is a quadrangular pyramid interpolation calculation. Or, if the k color is three colors and the polyhedron is a hexagonal hexahedron corresponding to one color which is an output color signal element, and the interpolation calculation is a triangular prism interpolation calculation, or the k color is three colors, Even in the case where the polyhedron is an oblique triangular prism hexahedron corresponding to one color as an output color signal element and the interpolation operation is an oblique triangular prism interpolation operation, the application of the present invention can be realized in exactly the same manner.

本発明に係るデータ変換装置の第1実施形態を示すブロック図である。It is a block diagram which shows 1st Embodiment of the data converter which concerns on this invention. 第1実施形態のデータ変換装置における色データの変換に関する処理手順の概要を示したフローチャートである。It is the flowchart which showed the outline | summary of the process sequence regarding the conversion of the color data in the data converter of 1st Embodiment. 出力値の代表値である格子点データを構成するRG平面用のルックアップテーブルを示す説明図である。It is explanatory drawing which shows the look-up table for RG planes which comprises the grid point data which are the representative values of an output value. 出力値の代表値である格子点データを構成するRB平面用のルックアップテーブルを示す説明図である。It is explanatory drawing which shows the look-up table for RB planes which comprises the grid point data which are the representative values of an output value. 演算処理部における単位立方体判定処理(図2のS100〜S102)を示す説明図である。It is explanatory drawing which shows the unit cube determination process (S100-S102 of FIG. 2) in an arithmetic processing part. 演算処理部における4面体判定処理(図2のS104〜S106)を示す説明図である。It is explanatory drawing which shows the tetrahedron determination process (S104-S106 of FIG. 2) in an arithmetic processing part. 演算処理部におけるアクセスメモリ特定処理(図2のS108a)と4格子点特定処理(図2のS108b)を示す説明図である。It is explanatory drawing which shows the access memory specific process (S108a of FIG. 2) and the 4-grid-point specific process (S108b of FIG. 2) in an arithmetic processing part. 入力データと3次元LUT空間上のデータの位置関係を示した図である。It is the figure which showed the positional relationship of input data and the data on 3D LUT space. 四面体1に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 1, and the data on a three-dimensional LUT space. 四面体2に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 2, and the data on a three-dimensional LUT space. 四面体3に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 3, and the data on a three-dimensional LUT space. 四面体4に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 4, and the data on a three-dimensional LUT space. 四面体5に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 5, and the data on a three-dimensional LUT space. 四面体6に属する入力データと3次元LUT空間上のデータの位置関係を示す説明図である。It is explanatory drawing which shows the positional relationship of the input data which belongs to the tetrahedron 6, and the data on a three-dimensional LUT space. 演算処理部における補間係数算出処理(図2のS102c)と補間演算処理(図2のS102d)を示す説明図である。It is explanatory drawing which shows the interpolation coefficient calculation process (S102c of FIG. 2) and the interpolation calculation process (S102d of FIG. 2) in a calculation process part. 本発明に係るデータ変換装置の第2実施形態を示すブロック図である。It is a block diagram which shows 2nd Embodiment of the data converter which concerns on this invention. 本発明に係るデータ変換装置の第3実施形態を示すブロック図である。It is a block diagram which shows 3rd Embodiment of the data converter which concerns on this invention. 三角柱の六面体を適用した場合の例を示す説明図である。It is explanatory drawing which shows the example at the time of applying the hexahedron of a triangular prism.

符号の説明Explanation of symbols

1…データ変換装置、2…データ格納部、2R…R軸メモリ回路、2G…G軸メモリ回路、2B…B軸メモリ回路、4…演算処理部、4Y…Y信号生成部、4M…M信号生成部、4C…C信号生成部、4K…K信号生成部、10…アドレス生成部、14…4面体判定部、16…データ選択部、20…補間係数生成部、22…補間処理部   DESCRIPTION OF SYMBOLS 1 ... Data converter, 2 ... Data storage part, 2R ... R axis memory circuit, 2G ... G axis memory circuit, 2B ... B axis memory circuit, 4 ... Arithmetic processing part, 4Y ... Y signal generation part, 4M ... M signal Generation unit, 4C ... C signal generation unit, 4K ... K signal generation unit, 10 ... address generation unit, 14 ... tetrahedron determination unit, 16 ... data selection unit, 20 ... interpolation coefficient generation unit, 22 ... interpolation processing unit

Claims (2)

入力色データを出力色データに変換する際に用いられる格子点データに基づいて、前記入力色データの画素データ毎に、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定する単位格子体判定部と、
前記単位格子体判定部により判定された該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定する多面体判定部と、
前記多面体判定部により判定された該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定する補間演算処理部と、
前記多面体に応じて規定される補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能な複数のメモリ空間を具備し、k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた前記格子点データに対応する基礎データを格納するとともに、当該基礎データを所定の基準に従って複数のグループに分け、当該グループ毎に、このグループ内の複数の前記基礎データを前記複数のメモリ空間の対応するものに格納するデータ格納部と、
前記データ格納部に格納されている前記グループに対応付けられた前記複数の基礎データの中から、処理対象の画素データに対応する前記補間演算所用データ数分の基礎データを抽出し、この抽出した補間演算所用データ数分の基礎データを前記補間演算処理部が前記多面体内での補間演算を行う際に用いる基礎データとする基礎データ抽出部と、を備えるとともに、
前記複数のグループは、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するようにグループ分けされている
ことを特徴とするデータ変換装置。
Based on the grid point data used when converting the input color data to the output color data, for each pixel data of the input color data, the pixel data is any one of the unit grids constituting the set of grid point data. A unit cell body determination unit for determining whether to belong,
A polyhedron determining unit that further divides the corresponding unit grid determined by the unit grid determining unit into a plurality of polyhedrons and determines to which polyhedron the pixel data belongs;
An interpolation calculation processing unit that determines pixel data for output corresponding to the input pixel data by interpolation calculation in the corresponding polyhedron determined by the polyhedron determination unit;
Each grid in a k-dimensional grid space defined by k input color signal elements is provided with a plurality of independently controllable memory spaces smaller than the number of interpolation operation data defined according to the polyhedron. The basic data corresponding to the grid point data associated with the points is stored, the basic data is divided into a plurality of groups according to a predetermined standard, and for each group, the plurality of basic data in the group is A data storage for storing in a corresponding one of a plurality of memory spaces;
From the plurality of basic data associated with the group stored in the data storage unit, basic data corresponding to the number of interpolation operation data corresponding to the pixel data to be processed is extracted, and this extracted A basic data extraction unit that uses basic data for the number of interpolation calculation data as basic data used when the interpolation calculation processing unit performs interpolation calculation within the polyhedron, and
The plurality of groups are grouped so that each of them forms an independent plane according to the growth direction of basic data belonging to the group.
入力色データを出力色データに変換する際に用いられる格子点データに基づいて、前記入力色データの画素データ毎に、当該画素データが前記格子点データの集合を構成する単位格子体の何れに属するのかを判定し、該当する単位格子体の中をさらに複数個の多面体に分割して前記画素データが何れの前記多面体に属するのかを判定し、該当する前記多面体内での補間演算により、入力された前記画素データに対応する出力用の画素データを決定するデータ変換方法であって、
前記多面体に応じて規定される補間演算所用データ数よりも少ない数のそれぞれ独立に制御可能なメモリ空間を使用し、
k色の入力色信号要素で規定されるk次元格子空間の各格子点に対応づけられた前記格子点データに対応する基礎データを所定の基準に従って複数のグループに分け、当該グループ毎に、このグループ内の複数の前記基礎データを前記複数のメモリ空間の対応するものに格納し、
前記グループに対応付けられた前記複数の基礎データの中から、処理対象の画素データに対応する前記補間演算所用データ数分の基礎データを抽出し、この抽出した補間演算所用データ数分の基礎データを用いて、前記多面体内での補間演算を行うとともに、
前記複数のグループが、当該グループに属する基礎データの成長方向の違いによりそれぞれが独立な平面を構成するようにグループ分けされている
ことを特徴とするデータ変換方法。
Based on the grid point data used when converting the input color data to the output color data, for each pixel data of the input color data, the pixel data is any one of the unit grids constituting the set of grid point data. To determine whether the pixel data belongs to the polyhedron by dividing the corresponding unit lattice into a plurality of polyhedrons, and input by interpolation operation in the corresponding polyhedron A data conversion method for determining output pixel data corresponding to the pixel data,
Using a memory space that is independently controllable in a number smaller than the number of data for interpolation calculation prescribed according to the polyhedron,
Basic data corresponding to the lattice point data associated with each lattice point of the k-dimensional lattice space defined by the k-color input color signal elements is divided into a plurality of groups according to a predetermined standard. Storing a plurality of the basic data in a group in corresponding ones of the plurality of memory spaces;
From the plurality of basic data associated with the group, basic data for the number of interpolation arithmetic data corresponding to the pixel data to be processed is extracted, and the basic data for the number of interpolation arithmetic data extracted. And performing an interpolation operation in the polyhedron,
The data conversion method, wherein the plurality of groups are grouped so that each of them forms an independent plane according to a difference in growth direction of basic data belonging to the group.
JP2003384715A 2003-11-14 2003-11-14 Data conversion apparatus, data conversion method, and data conversion program Expired - Fee Related JP4431953B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003384715A JP4431953B2 (en) 2003-11-14 2003-11-14 Data conversion apparatus, data conversion method, and data conversion program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003384715A JP4431953B2 (en) 2003-11-14 2003-11-14 Data conversion apparatus, data conversion method, and data conversion program

Publications (3)

Publication Number Publication Date
JP2005149051A true JP2005149051A (en) 2005-06-09
JP2005149051A5 JP2005149051A5 (en) 2006-12-28
JP4431953B2 JP4431953B2 (en) 2010-03-17

Family

ID=34693013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003384715A Expired - Fee Related JP4431953B2 (en) 2003-11-14 2003-11-14 Data conversion apparatus, data conversion method, and data conversion program

Country Status (1)

Country Link
JP (1) JP4431953B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013038725A (en) * 2011-08-11 2013-02-21 Brother Ind Ltd Image processor
KR101765472B1 (en) 2014-04-15 2017-08-07 캐논 가부시끼가이샤 Color processing apparatus and color processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013038725A (en) * 2011-08-11 2013-02-21 Brother Ind Ltd Image processor
KR101765472B1 (en) 2014-04-15 2017-08-07 캐논 가부시끼가이샤 Color processing apparatus and color processing method

Also Published As

Publication number Publication date
JP4431953B2 (en) 2010-03-17

Similar Documents

Publication Publication Date Title
US5943058A (en) Texture mapping circuit for performing data interpolations
JP2666523B2 (en) Color converter
JP2005525645A (en) Interface and method for interfacing between parametric modeling unit and polygon-based rendering system
CN101123080A (en) A real time processing method and real time processing circuit for color domain mapping
EP1587304B1 (en) Color device profile having a buffered look-up table
US20010033288A1 (en) Color conversion apparatus and method with precision enhancement in color conversion
US7876330B2 (en) Color conversion apparatus, filter processing apparatus and color conversion method
JP4431953B2 (en) Data conversion apparatus, data conversion method, and data conversion program
WO2003101084A1 (en) Color conversion method and color conversion device
KR19990062869A (en) Data conversion device and image generating device
JP6501561B2 (en) DATA PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
JP3871027B2 (en) Color data converter
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JP6354706B2 (en) Lattice point group generation method, lattice point group generation program, and lattice point group generation device
JP7059038B2 (en) Image processing equipment, image processing methods, and programs
JP6734566B2 (en) Lattice point group generation method, lattice point group generation program, and lattice point group generation device
JPH0946542A (en) Interpolation arithmetic method and data converter
JP6734565B2 (en) Lattice point group generation method, lattice point group generation program, and lattice point group generation device
JPH03229573A (en) Color conversion device
US9449579B2 (en) Systems and methods for mapping color data
JP5460292B2 (en) Image processing apparatus, control method thereof, and program
JP3664836B2 (en) Color conversion method
JP2627824B2 (en) Image processing device
JP2003069841A (en) Apparatus and method for converting color and recording medium
JP2010193474A (en) Device and method for multi-dimensional interpolation, and computer program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091022

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091102

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4431953

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees