JP2005149051A - Data conversion device and method - Google Patents
Data conversion device and method Download PDFInfo
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
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
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,
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).
しかしながら、上述した従来における色空間変換処理、すなわち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
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
データ格納部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
The
これらメモリ回路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
アドレスバス6は、データ格納部2と演算処理部4との間を接続するもので、演算処理部4がデータ格納部2から基礎データを読み出すためにアドレス信号などの制御信号を当該データ格納部2へ送るためのものである。具体的には、データ格納部2内の個々のメモリ空間(メモリ回路2RG,2RB)における基礎データの読出位置を設定するアドレス信号、クロック、あるいはチップセレクト信号などの伝送が行われる。
The
データバス8も、データ格納部2と演算処理部4との間を接続するものである。ただし、データバス8は、データ格納部2から読み出された基礎データを演算処理部4へ送るようになっている。さらに、データバス8は、データ変換前の入力データを図示しない外部装置から入力するためや、変換後の出力データを同一または別の外部装置へ出力するためにも用いられる。
The
続いて、以上のように構成されたるデータ変換装置1における処理動作例、すなわち本発明に係るデータ変換方法について説明する。
図2は、本発明に係るデータ変換方法の第1実施形態の概要を示すフローチャートである。
Next, an example of processing operation in the
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
Therefore, when image data R, G, and B are input, the
単位立方体判定処理が終了すると、次いで、演算処理部4は、該当する単位立方体の中をさらに6つの四面体に分割し(S104)、入力3要素の下位nビットのデータRL,GL,BLに基づいて何れの四面体に該当データが含まれるかを決定する(S106)。このステップS104〜S106の処理を、以下「4面体判定処理」という。
When the unit cube determination process is completed, the
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
Specifically, the
In addition to the access memory specifying process (S108a) and the four lattice point specifying process (S108b), the
演算処理部4は、上記の一連の処理を、出力色であるY,M,C,Kのそれぞれについて(S112)、全画素について(S100)行うことで、入力されたRGB色空間の色データをYMCK色空間のデータに変換する。
The
ここで、以上のような一連の処理において必要となる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
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
次に、図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
図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と等しいことが好ましい。
図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
次に、図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
入力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
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
同様に、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
演算処理部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
次に、図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
図中における四面体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
Similarly, for the
そこで、演算処理部4は、4面体判定処理の判定結果を受けて、図6の表1に示した選択条件に従って、2つのメモリ回路2RG,2RBの中から、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを抽出すべき2つのメモリ(つまり4格子点を含むデータ群を格納した2つのLUT)を特定するアクセスメモリ特定処理を行う。
Therefore, the
具体的には、演算処理部4は、入力データを包含する単位立方体を特定する上位ビットデータRH,GH,BHつまり図5(B)の基点P21の座標値と図6の表1に示したアクセスアドレス式とに従って前記2つのLUTへのアクセスアドレスを算出することでテトラ・ハイドラ法による補間演算に必要となる4格子点を含むデータ群を特定する。この後、演算処理部4は、入力点を包含する基点の座標値(RH,GH,BH)に基づいて、同一アドレスのデータ群における、テトラ・ハイドラ法による補間演算に必要となる4格子点を特定し抽出する4格子点特定処理を行う。
Specifically, the
図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
例えば、入力点が図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
具体的には、演算処理部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
また、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
同様に、演算処理部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
また、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
こうすることで、演算処理部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
なお、他の四面体に属する場合も、演算処理部4は、図6の表1に基づいてアクセスアドレスADRG,ADGBを計算して、計算したそれぞれ2つのLUTにアクセスしてデータ群を抽出し、この抽出したデータ群の中から、基点座標に準じた所望の2つの基礎データを2つのLUT毎に抽出する。
Even in the case of belonging to another tetrahedron, the
例えば、図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
Similarly, the
図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
Similarly, the
図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
Similarly, the
図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
Similarly, the
図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
Similarly, the
図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
演算処理部4は、4面体判定処理(図2のステップS104〜S106)の結果を受けて、図15の表2に基づき、入力値が包含される四面体に応じて補間係数の算出に用いる式を切り替え、その入力値が包含される四面体毎に定められた計算式に従って、その四面体を構成する4格子点と下位ビットデータRL,GL,BLとに基づいて補間係数W1,W2,W3,W4を算出する。この4面体補間演算処理は、従来のデータ変換装置における処理と同様である。
The
そして、演算処理部4は、公知の4点補間演算を用いて、このようにして求めた補間係数W1,W2,W3,W4と第1段階の4格子点特定処理により抽出した入力点に対応する四面体頂点の基礎データ(元々は格子点データ)D1,D2,D3,D4とに基づいて最終出力値Doutを算出するというテトラ・ハイドラ法による補間演算処理を行う。例えば、次式(1)に従って、最終出力値Doutを算出する。なお、式(1)では1次式補間で出力値を求めているが、これに限らず、2次式やその他の高次の補間演算式を利用してもよい。
Then, the
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
アドレス生成部10は、本発明の単位格子体判定部とアドレス設定部の両機能を備える。また、4面体判定部14は、本発明の単位格子体判定部の一例である。また、データ選択部16は、本発明の基礎データ抽出部の一例である。また、補間係数生成部20と補間処理部22とにより、本発明の補間演算処理部が構成される。
The
なお、図では省略して示しているが、M信号生成部4M、C信号生成部4C、およびK信号生成部4Kも、Y信号生成部4Yと同様の構成となっている。
Although not shown in the figure, the M
アドレス生成部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
また、アドレス生成部10は、分割したデータの内の下位ビットデータDLを4面体判定部14と補間係数生成部20とに入力する。4面体判定部14は、アドレス生成部10から入力された下位ビットデータDLに基づいて、単位立方体を分割する6つの四面体のうちの入力値が含まれる四面体を特定し、この特定した四面体を示す情報を判定結果として、アドレス生成部10、データ選択部16、および補間係数生成部20に入力する。
The
アドレス生成部10は、4面体判定部14による4面体判定処理結果を受けて、図6の表1に示した選択条件に従って、テトラ・ハイドラ法による補間演算に必要となる4格子点の基礎データを抽出すべき2つのメモリ回路2RG,2RBに対して、読出クロック信号を独立に制御する(具体的には、読出アクセス読出な回路へのリードクロックを停止する)。これは、ある単位時間に多大な数のメモリに同時アクセスするということは消費電力の増大、放射ノイズの増大をも招き、環境の観点からも改善が望まれるからである。
The
すなわち、本実施形態の構成では、処理対象の画素データについて同時に読出アクセスすべき、補間演算に必要となる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
例えば、メモリ回路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
次に、データ選択部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
なお、図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
これと並行して、補間係数生成部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
補間処理部22は、公知の4点補間演算を用いて、補間係数生成部20から入力された補間係数W1,W2,W3,W4とデータ選択部16から入力されたデータD1,D2,D3,D4(4頂点の基礎データ)とに基づいて最終出力値Y,M,C,Kを、それぞれ算出する。
The
この第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
加えて、従来は補間演算に用いられるデータを抽出する際に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
この変更に応じて、4面体判定部14は、アドレス生成部10から入力された下位ビットデータDLに基づいて、単位立方体を分割する6つの四面体のうちの入力値が含まれる四面体を特定し、この特定した四面体を示す情報を判定結果として、アドレス生成部10、補間係数生成部20、およびに補間処理部22に入力する。すなわち、3次元LUTにおける入力点が包含される単位立方体の位置を特定し、その情報をデータ選択部16に伝える。
In response to this change, the
また、第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
つまり、第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
例えば、図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
補間処理部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
この第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
ただし、これらの構成については、ハードウエア回路によって実現するのではなく、ソフトウエアの実行によって実現させることもできる。さらには、上述したメモリアクセスのための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…データ変換装置、2…データ格納部、2R…R軸メモリ回路、2G…G軸メモリ回路、2B…B軸メモリ回路、4…演算処理部、4Y…Y信号生成部、4M…M信号生成部、4C…C信号生成部、4K…K信号生成部、10…アドレス生成部、14…4面体判定部、16…データ選択部、20…補間係数生成部、22…補間処理部
DESCRIPTION OF
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.
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)
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 |
-
2003
- 2003-11-14 JP JP2003384715A patent/JP4431953B2/en not_active Expired - Fee Related
Cited By (2)
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 |