JP2010193474A - Device and method for multi-dimensional interpolation, and computer program - Google Patents

Device and method for multi-dimensional interpolation, and computer program Download PDF

Info

Publication number
JP2010193474A
JP2010193474A JP2010062833A JP2010062833A JP2010193474A JP 2010193474 A JP2010193474 A JP 2010193474A JP 2010062833 A JP2010062833 A JP 2010062833A JP 2010062833 A JP2010062833 A JP 2010062833A JP 2010193474 A JP2010193474 A JP 2010193474A
Authority
JP
Japan
Prior art keywords
signal
bit
input
memory
dimensional
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
JP2010062833A
Other languages
Japanese (ja)
Other versions
JP4810615B2 (en
Inventor
Tadayuki Ito
忠幸 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010062833A priority Critical patent/JP4810615B2/en
Publication of JP2010193474A publication Critical patent/JP2010193474A/en
Application granted granted Critical
Publication of JP4810615B2 publication Critical patent/JP4810615B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To easily materialize a rapid interpolational process such as conversion in color space and the like in as small circuit structure as possible. <P>SOLUTION: An N-dimensional digital image signal 205 is divided to a higher bit signal 212 and a lower bit signal 214 by means of a data divider 210. A referential value corresponding to all the combination of the divided higher bit signal is divisionally stored without overlapping into 2<SP>N-1</SP>pieces of submemories (multi-dimensional LUT 260), and at the same time (N+1) pieces of referential values necessary for the interpolational process are simultaneously read out by a referential-value reader 250. As a result, the interpolational process can be rapidly performed, and an address can be produced without divider for accessing to the submemory. Therefore, the interpolational process at high speed such as the conversion in color space and the like can be materialized in as small circuit structure as possible. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、多次元補間装置、多次元補間方法、及びコンピュータプログラムに関し、特に、N次元ベクトル信号を補間するために用いて好適なものである。   The present invention relates to a multidimensional interpolation device, a multidimensional interpolation method, and a computer program, and is particularly suitable for use in interpolating an N-dimensional vector signal.

近年、入力機器としては、スキャナ、ビデオカメラなどが普及している。一方、出力機器としては、インクジェット、染料熱昇華型あるいは電子写真などの方式を用いた、各種カラープリンタが普及している。これらのカラー入力機器及び出力機器は、それぞれ固有の色空間を有しており、例えばあるスキャナで得たカラー画像をそのまま別のカラープリンタに転送して印刷した場合、印刷されたカラー画像の色がスキャナによって読み取られたオリジナルのカラー画像の色と一致することはほとんどない。   In recent years, scanners, video cameras, and the like have become widespread as input devices. On the other hand, as an output device, various color printers using an ink jet, dye thermal sublimation type, or electrophotographic method are widely used. Each of these color input devices and output devices has a unique color space. For example, when a color image obtained by a certain scanner is transferred to another color printer as it is and printed, the color of the printed color image is Is unlikely to match the color of the original color image read by the scanner.

このようなカラー画像等に対するデバイス間での色再現性の問題を解決するためには、入力機器の色空間を出力機器の色空間に変換する処理("色空間変換"と呼ぶ)が必要となり、入力機器及び出力機器の色彩再現性能を高めるために、色空間変換機能が入力機器及び出力機器に搭載されている。   In order to solve the problem of color reproducibility between devices for such color images, a process of converting the color space of the input device to the color space of the output device (called "color space conversion") is required. In order to improve the color reproduction performance of the input device and the output device, a color space conversion function is installed in the input device and the output device.

ここで色空間変換とは、具体的には入力γ補正,輝度濃度変換,マスキング,黒生成,UCR,出力γ補正等の一連の画像処理全体、もしくはその中の一定の処理を指す。一般的には、入力機器の3色(例えば、レッド,ブルー,グリーンの3色、以下、"RGB"と略称する)のデジタル画像信号を同時に参照して、出力機器の3色(例えば、シアン,マゼンタ,イエローの3色、以下、"CMY"と略称する)あるいは4色(例えば、シアン,マゼンタ,イエロー,ブラックの4色、以下、"CMYK"と略称する)のデジタル画像信号に変換することが多い。また電子写真方式の複写機の場合、稼働時間とともにプリンタのエンジン特性が変化するため、定期的なキャリブレーションが必要となる。このような場合は、入力機器の4色(例えば、"CMYK")から出力機器の4色(例えば、"CMYK")への変換も必要となる。   Here, the color space conversion specifically refers to an entire series of image processing such as input γ correction, luminance density conversion, masking, black generation, UCR, output γ correction, or a certain process in the image processing. In general, the digital image signals of three colors (for example, three colors of red, blue, and green, hereinafter abbreviated as “RGB”) of the input device are simultaneously referred to, and the three colors (for example, cyan) of the output device are simultaneously referred to. , Magenta and yellow (hereinafter abbreviated as “CMY”) or 4 colors (for example, cyan, magenta, yellow and black, hereinafter abbreviated as “CMYK”). There are many cases. Further, in the case of an electrophotographic copying machine, the engine characteristics of the printer change with the operating time, so that periodic calibration is required. In such a case, conversion from four colors (for example, “CMYK”) of the input device to four colors (for example, “CMYK”) of the output device is also necessary.

以上のような色空間変換方法を実現するための第1の従来技術として、色変換の結果が記憶された3D-LUT(3次元ルックアップ・テーブル)を8個のメモリに分けて記憶し、この3D-LUTから参照値を並列に読み出すことで、三次元立方体[トライリニア]補間法や三次元四面体補間法を高速に実行する技術が開示されている(特許文献1を参照)。   As a first conventional technique for realizing the color space conversion method as described above, a 3D-LUT (three-dimensional lookup table) in which the result of color conversion is stored is divided into eight memories and stored. A technique is disclosed in which a three-dimensional cube [trilinear] interpolation method or a three-dimensional tetrahedral interpolation method is executed at high speed by reading reference values in parallel from this 3D-LUT (see Patent Document 1).

かかる技術では、補間に使用する単位超立体の各頂点に対応する参照値がすべて異なるメモリに記憶されるようにすることで、メモリから参照値を読み出すときにアクセスが競合することはなくなるようにしている。また、3D−LUTを重複することなく均等に8個のメモリに分割して記憶している(以後、多次元LUTから参照値を並列に読み出すために多次元LUTを複数のメモリに分割して記憶した場合、それら複数のメモリをそれぞれ"サブメモリ"と呼ぶことにする)。なお、第1の従来技術では、三次元補間法に限定した記載しかなされていないが、第1の従来技術を用いて多次元補間演算を行なう場合には、多次元LUTを2N個のサブメモリに分割して記憶すればよいことになる。 In such a technique, the reference values corresponding to the vertices of the unit hypercube used for interpolation are all stored in different memories so that there is no access contention when reading the reference values from the memory. ing. Further, the 3D-LUT is equally divided and stored in 8 memories without overlapping (hereinafter, the multidimensional LUT is divided into a plurality of memories in order to read the reference values from the multidimensional LUT in parallel). When stored, these multiple memories will be called "sub-memory"). In the first prior art, the description is limited to the three-dimensional interpolation method. However, when multidimensional interpolation is performed using the first prior art, the multidimensional LUT is changed to 2 N sub-intervals. What is necessary is just to divide and memorize | store in memory.

また、3D-LUTを重複することなく4つのサブメモリに分割して記憶し、参照値を並列に読み出すことで三次元四面体補間法を高速に実行する第2の従来技術が開示されている(特許文献2を参照)。
かかる技術では、三次元四面体補間法の場合、選択された四面体の頂点に対応する4つの参照値を並列に読み出して、補間演算を高速化できるようにしている。また、第2の従来技術においても、前述した第1の従来技術と同様に、3D-LUTを重複することなく均等に4個のサブメモリに分割して記憶しており、各サブメモリから参照値を読み出すときにアクセスが競合することはない。
さらに、第2の従来技術におけるLUTを多次元化して分割している。したがって、N次元入力の超四面体(N+1面体)補間法を行なう場合、多次元(N次元)LUTを(N+1)個のサブメモリに分割して記憶できる。
このように、第2の従来技術は、使用するサブメモリの個数が少ないという点で、前述した第1の従来技術よりは優位である。
Further, a second prior art is disclosed in which a 3D-LUT is divided and stored in four sub-memory without overlapping, and a reference value is read out in parallel to execute a three-dimensional tetrahedral interpolation at high speed. (See Patent Document 2).
In such a technique, in the case of the three-dimensional tetrahedral interpolation method, four reference values corresponding to the vertices of the selected tetrahedron are read in parallel so that the interpolation calculation can be speeded up. Also in the second prior art, as in the first prior art described above, the 3D-LUT is equally divided and stored in four sub-memory without overlapping, and is referred to from each sub-memory. There is no contention for access when reading a value.
Further, the LUT in the second prior art is divided into multi-dimensions. Therefore, when an N-dimensional input supertetrahedral (N + 1) plane interpolation method is performed, a multidimensional (N-dimensional) LUT can be divided and stored in (N + 1) sub-memory.
Thus, the second prior art is superior to the first prior art described above in that the number of sub-memory used is small.

米国特許4837722号明細書U.S. Pat. No. 4,837,722 特開平10-307911号公報Japanese Patent Laid-Open No. 10-307911

前述した第1の従来技術では、単位超立体の頂点に対応するN個の参照値をそれぞれ独立したN個のサブメモリに記憶し、多次元LUTを2N個に分割している。そのため、多次元四面体補間法以外の補間法(例えば、多次元立体[トライリニア]補間法、多次元三角柱[プリズム]補間法など)を用いても実現することが可能であるという利点を持っている。
しかしながら、多次元四面体補間法を採用することが前提になっている場合、補間演算に必要な(N+1)個の参照値をサブメモリから並列に読み出すために、メモリインターフェースなどのメモリ周辺回路を2N個持つ必要があり、余剰回路が多くなるという問題がある。
In the first prior art described above, N reference values corresponding to the vertices of the unit super-solid are stored in N independent sub memories, respectively, and the multidimensional LUT is divided into 2 N pieces. Therefore, it has the advantage that it can be realized even by using an interpolation method other than the multidimensional tetrahedral interpolation method (for example, multidimensional solid [trilinear] interpolation method, multidimensional triangular prism [prism] interpolation method, etc.). ing.
However, when it is assumed that the multidimensional tetrahedral interpolation method is adopted, in order to read out (N + 1) reference values necessary for the interpolation operation from the sub memory in parallel, a memory peripheral circuit such as a memory interface is used. There is a problem that it is necessary to have 2 N pieces, and there are many surplus circuits.

また、前述した第2の従来技術では、多次元四面体補間法のみに限定することで、多次元(N次元)LUTを最小限の個数((N+1)個)のサブメモリに分割して記憶している。そのため、メモリ周辺回路も最適な規模であるという利点を持っている。
しかしながら、Nが(2の冪乗−1)でないときには、サブメモリの個数も2の冪乗にならない。例えば、Nが4の場合には、サブメモリの個数は5個となる。そして、第2の従来技術をハードウェア化する場合には、2進法で取り扱うことができない。そのため、Nが(2の冪乗−1)でないときには、サブメモリをアクセスするためのアドレスを生成するときに割り算器が必要となり、シフト演算やビットマスクだけでアドレス生成できないという問題が生じる。また、一般的にメモリは、2の冪乗のワード数で製品化されているため、市場に流通しているメモリを利用してサブメモリを構成する場合、第2の従来技術ではワード数が余剰なメモリを採用しなければならないという問題が生じる。
In the second prior art described above, the multi-dimensional (N-dimensional) LUT is divided into a minimum number ((N + 1)) sub-memory by storing only the multi-dimensional tetrahedral interpolation method. is doing. Therefore, the memory peripheral circuit has an advantage that it is an optimal scale.
However, when N is not (power of 2−1), the number of sub-memory is not power of 2. For example, when N is 4, the number of sub memories is 5. When the second prior art is implemented as hardware, it cannot be handled in binary. Therefore, when N is not (power of 2−1), a divider is required when generating an address for accessing the sub memory, and there arises a problem that the address cannot be generated only by a shift operation or a bit mask. In general, the memory is commercialized with the number of words raised to the power of 2. Therefore, when the sub-memory is configured using the memory distributed in the market, the second conventional technique has the number of words. The problem arises that extra memory must be employed.

本発明は、以上のような問題に鑑みてなされたものであり、色空間の変換などの補間演算を高速に行なえるようにすることが、可及的に小さな回路規模で容易に実現できるようにすることを目的とする。   The present invention has been made in view of the above problems, and it is possible to easily implement interpolation operations such as color space conversion at high speed with a circuit size as small as possible. The purpose is to.

本発明の多次元補間装置は、入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力する多次元補間装置であって、前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割手段と、前記分割手段により分割された前記上位ビットのデータの組み合わせに対応する参照値を記憶したメモリ手段と、前記参照値を読み出す読み出し手段と、前記読み出し手段により読み出された参照値と、前記分割手段により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算手段とを具備し、前記メモリ手段は、前記参照値を2N-1個のサブメモリに分割して記憶することを特徴とする。
本発明の多次元補間方法は、入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力する多次元補間方法であって、分割手段が、前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割工程を行い、読み出し手段が、前記分割工程により分割された前記上位ビットのデータの組み合わせに対応する参照値を読み出す読み出し工程を行い、補間演算手段が、前記読み出し工程により読み出された参照値と、前記分割工程により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算工程を行い、前記参照値は、2N-1個のサブメモリに分割して記憶されていることを特徴とする。
本発明のコンピュータプログラムは、入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力することをコンピュータに実行させるためのコンピュータプログラムであって、前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割工程と、前記分割工程により分割された前記上位ビットのデータの組み合わせに対応する参照値を読み出す読み出し工程と、前記読み出し工程により読み出された参照値と、前記分割工程により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算工程とをコンピュータに実行させ、前記参照値は、2N-1個のサブメモリに分割して記憶されていることを特徴とする。
The multidimensional interpolation apparatus of the present invention is a multidimensional interpolation apparatus that outputs a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more), and each component of the input N-dimensional vector signal value is obtained. Dividing means for dividing the high-order bits and low-order bits, memory means for storing a reference value corresponding to the combination of the data of the high-order bits divided by the dividing means, reading means for reading the reference value, and the reading Interpolation means for interpolating the input N-dimensional vector signal based on the reference value read by the means and the lower bit data divided by the dividing means, and the memory means The reference value is divided and stored in 2 N-1 sub-memory.
The multi-dimensional interpolation method of the present invention is a multi-dimensional interpolation method for outputting a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more), wherein the dividing means calculates the input N-dimensional vector signal value. A division step of dividing each component into upper bits and lower bits is performed, and a reading unit performs a reading step of reading a reference value corresponding to the combination of data of the upper bits divided by the division step, and an interpolation operation Means performs an interpolation operation step of performing an interpolation operation on the input N-dimensional vector signal based on the reference value read in the read step and the lower bit data divided in the division step; The reference value is divided and stored in 2 N-1 sub-memory.
A computer program according to the present invention is a computer program for causing a computer to output a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more), and for the input N-dimensional vector signal value. A division step for dividing each component into upper bits and lower bits, a read step for reading a reference value corresponding to a combination of the upper bit data divided by the division step, and a read step read Based on the reference value and the lower bit data divided by the dividing step, the computer executes an interpolation operation step for performing an interpolation operation on the input N-dimensional vector signal, and the reference value is 2 N− and wherein the stored divided into one sub-memory.

本発明によれば、N次元超四面体(N+1面体)の補間演算を行なうに際し、補間演算に必要な(N+1)個の参照値を並列に読み出すことが可能になるとともに、前記参照値を記憶するメモリを2N個より少なくすることが可能になるので、補間演算を高速に行なえるようにすることが、小さな回路規模で実現できる。 According to the present invention, when performing an interpolation calculation of an N-dimensional hypertetrahedron (N + 1 monohedron), (N + 1) reference values necessary for the interpolation calculation can be read in parallel, and the reference value Since it is possible to reduce the number of memories storing 2 N, it is possible to realize interpolation operation at high speed with a small circuit scale.

本発明の第1の実施形態を示し、カラー複写機の全体構成の一例を示すブロック図である。1 is a block diagram illustrating an example of an overall configuration of a color copying machine according to a first embodiment of this invention. 本発明の第1の実施形態を示し、多次元補間装置の回路構成の一例を示すブロック図である。1 is a block diagram illustrating an example of a circuit configuration of a multidimensional interpolation device according to a first embodiment of this invention. 本発明の第1の実施形態を示し、基準点から対角点までの単位立体の各頂点を、四次元マンハッタン距離を用いて分類した結果を示す図である。It is a figure which shows the 1st Embodiment of this invention and shows the result of having classified each vertex of the unit solid from a reference point to a diagonal point using the four-dimensional Manhattan distance. 本発明の第1の実施形態を示し、参照値読み出し部と多次元LUTの回路構成の一例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a circuit configuration of a reference value reading unit and a multidimensional LUT according to the first embodiment of this invention. 本発明の第1の実施形態を示し、アドレス生成回路の構成の一例を示すブロック図である。1 is a block diagram illustrating an example of a configuration of an address generation circuit according to a first embodiment of this invention. 本発明の第1の実施形態を示し、ビット操作部がN次元参照座標信号のビットを操作する方法の一例を説明する図である。It is a figure which shows the 1st Embodiment of this invention and demonstrates an example of the method in which the bit operation part operates the bit of an N-dimensional reference coordinate signal. 本発明の第1の実施形態を示し、サブメモリ・バンク生成回路の構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a configuration of a sub memory bank generation circuit according to the first embodiment of this invention. 本発明の第1の実施形態を示し、サブメモリ・アドレス生成回路の構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a configuration of a sub memory address generation circuit according to the first embodiment of this invention. 本発明の第1の実施形態を示し、サブメモリ・バンクIDに対応する参照値の位置を、アドレスが小さい順にマークして示した図である。FIG. 6 is a diagram illustrating the first embodiment of the present invention, in which the positions of reference values corresponding to sub memory bank IDs are marked in ascending order of addresses. 本発明の第2の実施形態を示し、一般化したサブメモリ・バンク生成回路の構成の一例を示す図である。FIG. 10 is a diagram illustrating an example of a configuration of a generalized sub memory bank generation circuit according to the second embodiment of this invention. 本発明の第2の実施形態を示し、一般化したサブメモリ・アドレス生成回路の構成の一例を示す図である。FIG. 10 is a diagram illustrating an example of a configuration of a generalized sub memory address generation circuit according to the second embodiment of this invention. 本発明の第3の実施形態を示し、キャッシュ機構をもった多次元LUTの構成の一例を示す図である。It is a figure which shows the 3rd Embodiment of this invention and shows an example of a structure of the multidimensional LUT with a cache mechanism. 本発明の実施形態を示し、3D-LUTを用いて三次元補間演算を行なう場合の機能ブロック図である。FIG. 10 is a functional block diagram illustrating a case where a 3D interpolation operation is performed using a 3D-LUT according to the embodiment of this invention. 本発明の実施形態を示し、三次元入力の色空間(RGB空間)を単位立体に分割した状態を示す図である。It is a figure which shows embodiment of this invention and shows the state which divided | segmented the three-dimensional input color space (RGB space) into the unit solid. 本発明の実施形態を示し、四次元超四面体補間法のおける稜線の選択方法を説明する図である。It is a figure which shows embodiment of this invention and demonstrates the selection method of the ridgeline in a four-dimensional supertetrahedral interpolation method.

以下に説明する本発明の実施形態では、色空間の変換を実現する方法として、色空間を変換した結果をルックアップ・テーブル(LUT)としてメモリに予め記憶しておき、入力されたデジタル画像信号に対して、そのLUTを用いて色空間を変換し、その変換結果を出力する。   In an embodiment of the present invention described below, as a method for realizing color space conversion, the result of color space conversion is stored in advance in a memory as a look-up table (LUT), and an input digital image signal In contrast, the color space is converted using the LUT, and the conversion result is output.

そして、このLUTを用いた色空間の変換方法において、LUTのメモリを削減するため補間演算を併用する。3色入力のデジタル画像信号に対する色空間変換は、三次元補間演算を用いて実現される。また、4色入力のデジタル画像信号に対する色空間変換は、四次元補間演算を用いて実現される。   In this color space conversion method using the LUT, an interpolation operation is also used in order to reduce the memory of the LUT. Color space conversion for a three-color input digital image signal is implemented using a three-dimensional interpolation operation. Color space conversion for a four-color input digital image signal is realized using four-dimensional interpolation.

そこで、まず、3色入力のデジタル画像信号に対して、三次元ルックアップ・テーブル(3D−LUT)と、三次元補間演算とを併用した色空間変換方法について説明する。
入力デジタル画像信号(R、G、B)は、上位ビットと下位ビットとに分離される。上位ビットは、3D−LUTを用いて行なう補間演算に必要な複数の参照値を取り出すときに使用される。また、下位ビットは、重み係数gとして補間演算に使用される。そして、重み係数gと3D−LUTから取り出された参照値との積和演算により補間値を計算する。
Therefore, first, a color space conversion method using a three-dimensional lookup table (3D-LUT) and a three-dimensional interpolation operation for a three-color input digital image signal will be described.
The input digital image signal (R, G, B) is separated into upper bits and lower bits. The upper bits are used when extracting a plurality of reference values necessary for the interpolation calculation performed using the 3D-LUT. The lower bits are used for the interpolation calculation as a weighting factor g. Then, an interpolation value is calculated by a product-sum operation of the weight coefficient g and the reference value extracted from the 3D-LUT.

図13は、三次元入力の色空間(RGB空間)を、各軸方向に限定数で分割することで、単位立体に分割した状態を示している。この単位立体の頂点における色空間変換後の色データが、参照値として3D−LUTに記憶されている。3つのデジタル画像信号の上位ビットを色空間の座標と考え、補間演算に使用する単位立体を選択し(例えば、図13に示す単位立体1301)、単位立体の頂点に対応する参照値を補間演算に使用する。   FIG. 13 shows a state in which a three-dimensional input color space (RGB space) is divided into unit solids by dividing the color space (RGB space) by a limited number in each axial direction. The color data after color space conversion at the vertex of this unit solid is stored in the 3D-LUT as a reference value. Considering the high-order bits of the three digital image signals as coordinates in the color space, a unit solid to be used for the interpolation calculation is selected (for example, the unit solid 1301 shown in FIG. 13), and the reference value corresponding to the vertex of the unit solid is interpolated. Used for.

このときに使用される三次元補間演算の方法として四面体補間法がある。
この補間法は、図14(b)〜(g)に示すように、単位立体(例えば、図13に示す単位立体1301)を6つの四面体に分割して(以下、分割した6つの四面体をそれぞれType0〜Type5と称する)、入力座標がどの四面体に属するかによって、以下の(1式)〜(6式)を用いて補間演算する。なお、以下の(1式)〜(6式)では、図14(a)に示す単位立体の頂点に対応する参照値を、それぞれP0〜P7とし、重み係数gをΔR、ΔG、ΔBとしている。また、Type0からType5の四面体のうち、どの四面体を選択するかは、これら重み係数ΔR、ΔG、ΔBの大小関係により決定される。
As a three-dimensional interpolation calculation method used at this time, there is a tetrahedral interpolation method.
As shown in FIGS. 14B to 14G, this interpolation method divides a unit solid (for example, unit solid 1301 shown in FIG. 13) into six tetrahedrons (hereinafter, divided six tetrahedrons). Are respectively referred to as Type 0 to Type 5), and interpolation calculation is performed using the following (Expression 1) to (Expression 6) depending on which tetrahedron the input coordinate belongs to. In the following (Expression 1) to (Expression 6), the reference values corresponding to the vertices of the unit solid shown in FIG. 14A are P0 to P7, respectively, and the weighting factors g are ΔR, ΔG, and ΔB. . Further, which tetrahedron is selected from the tetrahedrons of Type 0 to Type 5 is determined by the magnitude relationship of these weighting factors ΔR, ΔG, ΔB.

Type0のとき(ΔR>ΔG>ΔB)
X=P0+(P1−P0)×ΔR+(P3−P0)×ΔG+(P7−P0)×ΔB ・・・(1式)
Type1のとき(ΔR>ΔB>ΔG)
X=P0+(P1−P0)×ΔR+(P7−P0)×ΔG+(P5−P0)×ΔB ・・・(2式)
Type2のとき(ΔG>ΔR>ΔB)
X=P0+(P3−P0)×ΔR+(P2−P0)×ΔG+(P7−P0)×ΔB ・・・(3式)
Type3のとき(ΔG>ΔB>ΔR)
X=P0+(P7−P0)×ΔR+(P2−P0)×ΔG+(P6−P0)×ΔB ・・・(4式)
Type4のとき(ΔB>ΔR>ΔG)
X=P0+(P5−P0)×ΔR+(P7−P0)×ΔG+(P4−P0)×ΔB ・・・(5式)
Type5のとき(ΔB>ΔG>ΔR)
X=P0+(P7−P0)×ΔR+(P6−P0)×ΔG+(P4−P0)×ΔB ・・・(6式)
When Type 0 (ΔR>ΔG> ΔB)
X = P0 + (P1−P0) × ΔR + (P3−P0) × ΔG + (P7−P0) × ΔB (1)
When Type1 (ΔR>ΔB> ΔG)
X = P0 + (P1−P0) × ΔR + (P7−P0) × ΔG + (P5−P0) × ΔB (Expression 2)
When Type2 (ΔG>ΔR> ΔB)
X = P0 + (P3-P0) × ΔR + (P2−P0) × ΔG + (P7−P0) × ΔB (3)
When Type3 (ΔG>ΔB> ΔR)
X = P0 + (P7−P0) × ΔR + (P2−P0) × ΔG + (P6−P0) × ΔB (Expression 4)
For Type 4 (ΔB>ΔR> ΔG)
X = P0 + (P5−P0) × ΔR + (P7−P0) × ΔG + (P4−P0) × ΔB (Expression 5)
When Type5 (ΔB>ΔG> ΔR)
X = P0 + (P7−P0) × ΔR + (P6−P0) × ΔG + (P4−P0) × ΔB (Expression 6)

また、これまで説明した三次元四面体補間法を多次元化することも可能である。以下に、多次元超四面体補間法について説明する。
図13に示す三次元直交座標に固定された空間を多次元化して、N次元直交座標に固定された空間にした場合、図13に示す単位立体は、多次元の単位超立体(N次元超立体、もしくは超六面体と呼ぶ)に多次元化される。そして、三次元四面体補間法で使用された四面体は、この多次元化により超四面体と呼ばれる(N+1)面体に多次元化される。
It is also possible to make the three-dimensional tetrahedral interpolation method described so far multi-dimensional. The multidimensional hypertetrahedral interpolation method will be described below.
When the space fixed to the three-dimensional orthogonal coordinates shown in FIG. 13 is multidimensionalized into a space fixed to the N-dimensional orthogonal coordinates, the unit solid shown in FIG. Multi-dimensional). Then, the tetrahedron used in the three-dimensional tetrahedron interpolation method is multidimensionalized into an (N + 1) plane called a supertetrahedron by this multidimensionalization.

この超四面体は、単位超立体の基準点と対角点とを結ぶ線と、超立体の互いに直交し、且つ連結しているN本の稜線とによって形成される。そして、1つの単位超立体を分割してN!個の超四面体を作ることができる。単位超立体から超四面体を切り出す過程で選択したN本の稜線は、互いに垂直であり、且つN次元直交座標の各軸方向にそれぞれ平行である。このため、各軸方向の出力変移量の線形和を基準点出力値に加算した値が多次元補間演算の出力となる。したがって、選択された稜線の両端点における参照値の差分値に、各稜線上での基準点からの距離を乗算して、それら乗算値を基準点の参照値に累積加算することで補間演算を行なえる。   This supertetrahedron is formed by a line connecting a reference point and a diagonal point of a unit hypersolid and N ridge lines that are orthogonal to and connected to the supersolid. Then, one unit super solid is divided into N! Individual supertetrahedrons can be created. The N ridge lines selected in the process of cutting out the supertetrahedron from the unit hypersolid are perpendicular to each other and parallel to the respective axial directions of the N-dimensional orthogonal coordinates. For this reason, a value obtained by adding a linear sum of output displacement amounts in the respective axis directions to the reference point output value is an output of the multidimensional interpolation calculation. Therefore, the interpolation value is calculated by multiplying the difference value of the reference values at the two end points of the selected ridge line by the distance from the reference point on each ridge line, and accumulating the multiplied value to the reference value of the reference point. Yes.

次に、四次元空間(X0,X1,X2,X3)を例に挙げて、四次元超四面体補間法のおける稜線の選択方法を説明する。図15は、入力座標を(X0<i>+ΔX0,X1<j>+ΔX1,X2<k>+ΔX2,X3<l>+ΔX3)とし、この入力座標と基準点座標(X0<i>,X1<j>,X2<k>,X3<l>)との差(ΔX0,ΔX1,ΔX2,ΔX3)の大小関係が、{ΔX0>ΔX1>ΔX2>ΔX3}の場合において、稜線を選択する方法を示している。 Next, taking a four-dimensional space (X 0 , X 1 , X 2 , X 3 ) as an example, a method for selecting edges in the four-dimensional supertetrahedral interpolation method will be described. In FIG. 15, the input coordinates are (X 0 <i> + ΔX 0 , X 1 <j> + ΔX 1 , X 2 <k> + ΔX 2 , X 3 <l> + ΔX 3 ). The magnitude relationship of the difference (ΔX 0 , ΔX 1 , ΔX 2 , ΔX 3 ) from the reference point coordinates (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l>) is { In the case of ΔX 0 > ΔX 1 > ΔX 2 > ΔX 3 }, a method of selecting a ridge line is shown.

まず、図15(b)に示すように、入力座標と基準点座標との変移量が最も大きいΔX0に対応するX0軸と平行で、且つ基準点を端点にもつ稜線、つまり点(X0<i>,X1<j>,X2<k>,X3<l>)と点(X0<i+1>,X1<j>,X2<k>,X3<l>)とを両端点に持つ稜線が選択される。
次に、図15(c)に示すように、入力座標と基準点座標との変移量が2番目に大きいΔX1に対応するX1軸と平行で、且つ点(X0<i+1>,X1<j>,X2<k>,X3<l>)を端点にもつ稜線、つまり、点(X0<i+1>,X1<j>,X2<k>,X3<l>)と点(X0<i+1>,X1<j+1>,X2<k>,X3<l>)とを両端点に持つ稜線が選択される。
First, as shown in FIG. 15B, a ridge line parallel to the X 0 axis corresponding to ΔX 0 having the largest transition amount between the input coordinates and the reference point coordinates and having a reference point as an end point, that is, a point (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l>) and point (X 0 <i + 1>, X 1 <j>, X 2 <k>, X 3 <l >) Is selected at both end points.
Next, as shown in FIG. 15C, the amount of change between the input coordinates and the reference point coordinates is parallel to the X 1 axis corresponding to ΔX 1 which is the second largest, and the point (X 0 <i + 1> , X 1 <j>, X 2 <k>, X 3 <l>), that is, an edge (X 0 <i + 1>, X 1 <j>, X 2 <k>, X 3 <l>) and a point (X 0 <i + 1>, X 1 <j + 1>, X 2 <k>, X 3 <l>) at both end points are selected.

次に、図15(d)に示すように、入力座標と基準点座標との変移量が3番目に大きいΔX2に対応するX2軸と平行で、且つ点(X0<i+1>,X1<j+1>,X2<k>,X3<l>)を端点にもつ稜線、つまり、点(X0<i+1>,X1<j+1>,X2<k>,X3<l>)と点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l>)とを両端点に持つ稜線が選択される。
最後に、図15(e)に示すように、入力座標と基準点座標との変移量が最も小さいΔX3に対応するX3軸と平行で、且つ点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l>)を端点にもつ稜線、つまり、点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l>)と点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l+1>)とを両端点に持つ稜線が選択される。
Next, FIG. 15 (d), the parallel to the X 2 axis corresponding to [Delta] X 2 displacement amount is large in the third and the input coordinates and the reference point coordinates and the point (X 0 <i + 1> , X 1 <j + 1>, X 2 <k>, X 3 <l>), that is, a point (X 0 <i + 1>, X 1 <j + 1>, X 2 <k>, X 3 <l>) and a point (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l>) Selected.
Finally, as shown in FIG. 15E, the point (X 0 <i + 1>, X is parallel to the X 3 axis corresponding to ΔX 3 with the smallest amount of transition between the input coordinates and the reference point coordinates. 1 <j + 1>, X 2 <k + 1>, X 3 <l>) at the end, that is, the point (X 0 <i + 1>, X 1 <j + 1>, X 2 < k + 1>, X 3 <l>) and a point (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l + 1>) Is selected.

最終的に、点(X0<i>,X1<j>,X2<k>,X3<l>)、(X0<i+1>,X1<j>,X2<k>,X3<l>)、(X0<i+1>,X1<j+1>,X2<k>, X3<l>)、(X0<i+1>,X1<j+1>,X2<k+1>,X3<l>)、(X0<i+1>,X1<j+1>,X2<k+1>,X3<l+1>)の5つの頂点で構成される超四面体(5面体)が決定される。このとき、基準点(X0<i>,X1<j>,X2<k>,X3<l>)から最も遠い点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l+1>)を対角点と呼び、基準点と対角点とを結ぶ線を対角線と呼ぶことにする。 Finally, the points (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l>), (X 0 <i + 1>, X 1 <j>, X 2 <k >, X 3 <l>), (X 0 <i + 1>, X 1 <j + 1>, X 2 <k>, X 3 <l>), (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l>), (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l A supertetrahedron (pentahedron) composed of five vertices of (+1>) is determined. At this time, the point (X 0 <i + 1>, X 1 <j + 1>) farthest from the reference point (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l>) , X 2 <k + 1>, X 3 <l + 1>) is called a diagonal point, and a line connecting the reference point and the diagonal point is called a diagonal line.

多次元超四面体補間法は、基準点と対角点とが、入力座標と基準点座標との差(ΔX0,ΔX1,ΔX2,ΔX3)の大小関係にかかわらず、必ず超四面体の頂点として選択されるという特徴を持つ。そこで、単位超立体から入力座標に対応する超四面体を選択する工程は、基準点をスタート、対角点をゴール、各稜線をスタートからゴールまでの経路と見立てれば、基準点から対角点までの経路を選択する経路選択問題と考えることができる。
この場合、経路の採り得る"場合の数"は、24(=4!=4×3×2×1)通りになり、四次元補間演算では単位超立体を24個の超四面体に分割できることが分かる。同様に、N次元補間演算の場合、単位超立体をN!個の超四面体に分割できることが分かる。
The multidimensional supertetrahedral interpolation method always uses a supertetrahedron regardless of the magnitude relationship of the difference between the input coordinate and the reference point coordinate (ΔX 0 , ΔX 1 , ΔX 2 , ΔX 3 ). It has the feature that it is selected as a vertex of the body. Therefore, the process of selecting the supertetrahedron corresponding to the input coordinates from the unit hypercube starts from the reference point, the diagonal point is the goal, and each ridge line is the path from the start to the goal. It can be considered as a route selection problem for selecting a route to a point.
In this case, the number of “cases” that can be taken by the path is 24 (= 4! = 4 × 3 × 2 × 1), and the unit hypersolid can be divided into 24 supertetrahedra by the four-dimensional interpolation calculation. I understand. Similarly, in the case of the N-dimensional interpolation calculation, the unit super solid is represented by N! It can be seen that it can be divided into individual supertetrahedra.

次に、N次元補間演算について説明する。N次元直交座標に固定された空間(X0,X1,・・・,XN-1)上の座標(X0<i>,X1<j>,X2<k>,…XN-2<a>,XN-1<b>)の参照値を、P<i,j,k,…,a,b>とする。また、ある入力座標によって選択された超立体の基準点の座標を(X0<i>,X1<j>,X2<k>,…XN-2<a>,XN-1<b>)とし、入力座標と基準点座標との差を(ΔX0,ΔX1,ΔX2,…,ΔXN-2,ΔXN-1)とする。そして、{ΔX0>ΔX1>ΔX2>…>ΔXN-2>ΔXN-1}の関係が成り立つ場合、以下の(7式)を用いて補間値Xを求めることができる。 Next, N-dimensional interpolation calculation will be described. Coordinates (X 0 <i>, X 1 <j>, X 2 <k>, ... X N on a space (X 0 , X 1 , ..., X N-1 ) fixed to N-dimensional orthogonal coordinates -2 <a>, X N-1 <b>) is referred to as P <i, j, k,..., A, b>. Also, the coordinates of the reference point of the hypercube selected by certain input coordinates are (X 0 <i>, X 1 <j>, X 2 <k>,… X N-2 <a>, X N-1 <b>), and the difference between the input coordinates and the reference point coordinates is (ΔX 0 , ΔX 1 , ΔX 2 ,..., ΔX N-2 , ΔX N-1 ). When the relationship {ΔX 0 > ΔX 1 > ΔX 2 >...> ΔX N−2 > ΔX N−1 } holds, the interpolation value X can be obtained using the following (Expression 7).

Figure 2010193474
Figure 2010193474

(第1の実施形態)
次に、本発明の第1の実施形態について説明する。
図1に、カラー複写機の全体構成の一例を示す。
図1において、画像読み取り部120は、レンズ122、CCDセンサ124、及びアナログ信号処理部126等を備えて構成される。レンズ122を介しCCDセンサ124に結像された原稿100の画像が、CCDセンサ124によりR(Red),G(Green),B (Blue)のアナログ電気信号に変換される。
(First embodiment)
Next, a first embodiment of the present invention will be described.
FIG. 1 shows an example of the overall configuration of a color copying machine.
1, the image reading unit 120 includes a lens 122, a CCD sensor 124, an analog signal processing unit 126, and the like. An image of the original 100 formed on the CCD sensor 124 through the lens 122 is converted into analog electric signals of R (Red), G (Green), and B (Blue) by the CCD sensor 124.

アナログ信号に変換された画像情報は、アナログ信号処理部126に入力され、R,G,Bの各色毎に補正等が行われた後にアナログ・デジタル変換(A/D変換)される。デジタル化されたフルカラー信号(以下、デジタル画像信号という)は、画像処理部130に入力される。画像処理部130は、デジタル画像信号に対し、入力γ補正、色空間変換、濃度補正、及びスクリーン処理を施し、これらの処理が施された後のデジタル画像信号をプリンタ部140へ出力する。   The image information converted into the analog signal is input to the analog signal processing unit 126, and is subjected to analog-digital conversion (A / D conversion) after correction or the like is performed for each color of R, G, and B. A digitized full color signal (hereinafter referred to as a digital image signal) is input to the image processing unit 130. The image processing unit 130 performs input γ correction, color space conversion, density correction, and screen processing on the digital image signal, and outputs the digital image signal after the above processing to the printer unit 140.

プリンタ部140は、例えば、レーザ等からなる露光制御部(図示せず)、画像形成部(図示せず)、及び転写紙の搬送制御部(図示せず)等により構成され、入力されたデジタル画像信号により転写紙上に画像を記録する。
また、CPU回路部110は、演算制御用のCPU112、固定データやプログラムを格納するROM114、データの一時保存やプログラムのロードに使用されるRAM116、及び外部記憶装置118等を備えて構成され、画像読み取り部120、画像処理部130、及びプリンタ部140等を制御し、カラー複写機のシーケンスを統括的に制御する。外部記憶装置118は、カラー複写機が使用するパラメータやプログラムを記憶するディスク等の媒体であり、RAM116のデータやプログラム等は、外部記憶装置118からロードされる構成としても構わない。
The printer unit 140 includes, for example, an exposure control unit (not shown) made of a laser or the like, an image forming unit (not shown), a transfer paper conveyance control unit (not shown), and the like. An image is recorded on the transfer paper by the image signal.
The CPU circuit unit 110 includes a CPU 112 for arithmetic control, a ROM 114 for storing fixed data and programs, a RAM 116 for temporarily storing data and loading programs, an external storage device 118, and the like. The reading unit 120, the image processing unit 130, the printer unit 140, and the like are controlled, and the sequence of the color copying machine is comprehensively controlled. The external storage device 118 is a medium such as a disk for storing parameters and programs used by the color copying machine, and the data and programs in the RAM 116 may be loaded from the external storage device 118.

本実施形態の多次元補間装置は、例えば画像処理部130で行なわれる色空間変換を実現している。なお、本発明は、図1に示したようなカラー複写機に限定されるものではなく、プリンタやPC(パーソナルコンピュータ)に実施することもできる。以下、図2を用いて、本実施形態の多次元補間装置の回路構成と処理の流れについて詳しく説明する。
本実施形態の多次元補間装置は、N次元の入力信号に対し補間演算を行い、新たな信号を出力する。まず、デジタル画像信号205が多次元補間装置に入力される。このデジタル画像信号205は、N入力の信号である。デジタル画像信号205は、データ分割部210で上位ビット信号212と下位ビット信号214とに分割される。
The multidimensional interpolation apparatus of the present embodiment realizes color space conversion performed by the image processing unit 130, for example. The present invention is not limited to the color copying machine as shown in FIG. 1, but can be implemented in a printer or a PC (personal computer). Hereinafter, the circuit configuration and processing flow of the multidimensional interpolation apparatus of the present embodiment will be described in detail with reference to FIG.
The multidimensional interpolation apparatus of this embodiment performs an interpolation operation on an N-dimensional input signal and outputs a new signal. First, the digital image signal 205 is input to the multidimensional interpolation device. The digital image signal 205 is an N input signal. The digital image signal 205 is divided by the data dividing unit 210 into an upper bit signal 212 and a lower bit signal 214.

デジタル画像信号205がN入力の信号であるため、デジタル画像信号205を分割して得られた上位ビット信号212と下位ビット信号214は、ともにN本の信号となる。一般的に、上位ビット信号212は、補間演算のときに使用される単位超立体の個数に応じてそのビット深度が決定される。例えば、N次元空間のある軸について単位超立体が(2x-1)個ある場合、その軸に対応する上位ビット信号212のビット深度はxビットとなる。また、一般的に、下位ビット信号214は、デジタル画像信号205のビット深度から上位ビット信号212のビット深度を差し引いた、残りのビット深度で表現される。 Since the digital image signal 205 is an N-input signal, the upper bit signal 212 and the lower bit signal 214 obtained by dividing the digital image signal 205 are N signals. In general, the bit depth of the upper bit signal 212 is determined according to the number of unit hypersolids used in the interpolation calculation. For example, when there are (2 x -1) unit supersolids for an axis in the N-dimensional space, the bit depth of the upper bit signal 212 corresponding to that axis is x bits. In general, the lower bit signal 214 is represented by the remaining bit depth obtained by subtracting the bit depth of the upper bit signal 212 from the bit depth of the digital image signal 205.

次に、順序判定部230は、N本の下位ビット信号214を受け取り、下位ビット信号214の大小関係を判定し、判定した結果を順序信号232として出力する。この順序信号232は、前述した単位超立体から補間演算に使用する超四面体(N+1面体)の稜線を選択する工程に従って予め定められたN!通りの稜線選択パターンを指し示す信号である。   Next, the order determination unit 230 receives the N lower bit signals 214, determines the magnitude relationship of the lower bit signals 214, and outputs the determined result as an order signal 232. This order signal 232 is determined in advance according to a process of selecting a ridge line of a super tetrahedron (N + 1 face) to be used for interpolation calculation from the unit hypersolid described above. It is a signal indicating a street ridge line selection pattern.

参照座標選択部220は、順序判定部230の判定結果である順序信号232に従い、補間演算に必要となる(N+1)個の参照値252を多次元LUT260から読み出すための座標を決定し、決定した座標を、(N+1)本の参照座標信号222として出力する。   The reference coordinate selection unit 220 determines and determines coordinates for reading (N + 1) reference values 252 necessary for the interpolation calculation from the multidimensional LUT 260 according to the order signal 232 that is the determination result of the order determination unit 230. The coordinates are output as (N + 1) reference coordinate signals 222.

また同様に、重み係数算出部240は、下位ビット信号214をもとに、補間演算の重み係数信号242を算出し、補間演算部270に出力する。なお、下位ビット信号214をもとに、補間演算の重み係数信号242を算出する方法としては、例えば、対応表となるテーブルを予めROMに格納しておき、該当する補間演算の重み係数信号242をROMから読み出すことで、下位ビット信号214を補間演算の重み係数信号242に変換する方法や、予め定められた計算式により算出する方法などが挙げられる。   Similarly, the weighting factor calculation unit 240 calculates a weighting factor signal 242 for interpolation calculation based on the lower-order bit signal 214 and outputs it to the interpolation calculation unit 270. As a method for calculating the weighting factor signal 242 for the interpolation calculation based on the lower bit signal 214, for example, a table serving as a correspondence table is stored in advance in the ROM, and the weighting factor signal 242 for the corresponding interpolation calculation is stored. Can be read out from the ROM to convert the lower bit signal 214 into a weighting coefficient signal 242 for interpolation, or a method of calculating by a predetermined calculation formula.

また、参照値読み出し部250は、(N+1)本の参照座標信号222を用いて多次元LUT260から(N+1)個の参照値を読み出し、読み出した参照値を参照値信号252として出力する。多次元LUT260は、複数個のサブメモリで実現されている。参照値読み出し部250は、サブメモリの個数と等しい数のアドレス信号254を各サブメモリに出力して各サブメモリにアクセスし、各サブメモリからデータ信号262を受け取る。
補間演算部270は、(N+1)本の参照値信号252と、N本の補間演算の重み係数信号242とを受け、前述した補間演算式に従い補間演算を行い、1本の出力信号275を出力する。
Further, the reference value reading unit 250 reads (N + 1) reference values from the multidimensional LUT 260 using (N + 1) reference coordinate signals 222 and outputs the read reference values as reference value signals 252. The multidimensional LUT 260 is implemented by a plurality of sub memories. The reference value reading unit 250 outputs a number of address signals 254 equal to the number of sub memories to each sub memory to access each sub memory, and receives a data signal 262 from each sub memory.
The interpolation calculation unit 270 receives the (N + 1) reference value signals 252 and the N interpolation coefficient weight coefficient signals 242, performs the interpolation calculation according to the above-described interpolation calculation formula, and outputs one output signal 275. To do.

次に、N次元超四面体補間法において、多次元LUT260の参照値を重複することなく、2N-1個のサブメモリに分割して記憶する方法の一例について説明する。
図3に、四次元超四面体補間法に従って、基準点から対角点までの単位立体の各頂点を、四次元マンハッタン距離を用いて分類した結果を示す。
Next, an example of a method in which the reference value of the multidimensional LUT 260 is divided and stored in 2 N−1 sub-memory without overlapping in the N- dimensional supertetrahedral interpolation method will be described.
FIG. 3 shows the result of classifying each vertex of the unit solid from the reference point to the diagonal point using the four-dimensional Manhattan distance according to the four-dimensional hypertetrahedral interpolation method.

ここで、N次元マンハッタン距離Dmは、N次元直交座標に固定された空間上の2点A(X0<i1>,X1<j1>,X2<k1>,…,XN-2<a1>,XN-1<b1>)と、B(X0<i2>,X1<j2>,X2<k2>,…,XN-2<a2>,XN-1<b2>)との距離であり、以下の(8式)で定義されるものである。
Dm=|X0<i1>−X0<i2>|+|X1<j1>−X1<j2>|+|X2<k1>−X2<k2>|+・・・+|XN-2<a1>−XN-2<a2>|+|XN-1<b1>−XN-1<b2>| ・・・(8式)
Here, the N-dimensional Manhattan distance Dm is expressed as two points A (X 0 <i 1 >, X 1 <j 1 >, X 2 <k 1 >,..., X N on a space fixed to N-dimensional orthogonal coordinates. -2 <a 1>, X N- 1 and <b 1>), B ( X 0 <i 2>, X 1 <j 2>, X 2 <k 2>, ..., X N-2 <a 2 >, X N-1 <b 2 >) and is defined by the following (Equation 8).
Dm = | X 0 <i 1 > −X 0 <i 2 > | + | X 1 <j 1 > −X 1 <j 2 > | + | X 2 <k 1 > −X 2 <k 2 > | + ··· + | X N-2 <a 1> -X N-2 <a 2> | + | X N-1 <b 1> -X N-1 <b 2> | ··· (8 type)

そして、三次元四面体補間法では、多次元LUTを22個のサブメモリに分割して記憶することを利用し、四次元の単位超立体の基準点(X0<i>,X1<j>,X2<k>,X3<l>)から点(X0<i+1>,X1<j+1>,X2<k+1>,X3<l>)までの23個の頂点に対し、三次元四面体補間法における多次元LUTの分割記憶方法を適用する(図3の領域810)。 Then, in the three-dimensional tetrahedral interpolation method, utilizing the fact that store by dividing the multi-dimensional LUT in 2 2 sub memory, the reference point of the four-dimensional unit hyper stereo (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l>) to point (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l>) The multi-dimensional LUT division storage method in the three-dimensional tetrahedral interpolation method is applied to 2 3 vertices (region 810 in FIG. 3).

単位超立体から補間演算に使用する超四面体を選択する工程は、基準点からどの頂点を通って対角点に到達するかという経路選択問題と考えられるため、マンハッタン距離Dmが同一の頂点群からは常に1つの頂点のみが選択される。つまり、マンハッタン距離Dmが同一の頂点群を同じサブメモリに記憶した場合は、そのサブメモリから異なる2つの頂点は同時には読み出されることはない。そのため、サブメモリへのアクセスが競合することはない。
図3においては、Mem0、Mem1、Mem2、Mem3と記載された太線で囲まれた頂点が同一のサブメモリに記憶され、三次元四面体補間法では、各頂点が4個のサブメモリに分割して記憶されることが理解できる。
Since the process of selecting a super tetrahedron to be used for the interpolation operation from the unit hypersolid is considered to be a route selection problem of which vertex to reach the diagonal from the reference point, a group of vertices having the same Manhattan distance Dm Always select only one vertex. That is, when vertex groups having the same Manhattan distance Dm are stored in the same submemory, two different vertices are not read from the submemory at the same time. For this reason, there is no contention for access to the sub memory.
In FIG. 3, the vertices surrounded by the thick lines described as Mem0, Mem1, Mem2, and Mem3 are stored in the same submemory. In the 3D tetrahedral interpolation method, each vertex is divided into four submemory. Can be understood.

また、残った単位超立体の23個の頂点(X0<i>,X1<j>,X2<k>,X3<l+1>)〜(X0<i+1>,X1<j+1>,X2<k+1>,X3<l+1>)に対し、さらに三次元四面体補間法における多次元LUTの分割記憶方法を適用する(図3の領域820)。 Further, the remaining units supersolid two three vertices (X 0 <i>, X 1 <j>, X 2 <k>, X 3 <l + 1>) ~ (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, X 3 <l + 1>), a multi-dimensional LUT partition storage method in the three-dimensional tetrahedral interpolation method is applied (region in FIG. 3). 820).

最終的には、図3に示すMem0,・・・,Mem7と記載された太線で囲まれた頂点が同一のサブメモリに記憶され、多次元LUT260は、(2×22)個のサブメモリに分割される。同様に、N次元超四面体補間法においても、23個の頂点(X0<i>,X1<j>,X2<k>,…)〜(X0<i+1>,X1<j+1>,X2<k+1>,…)ごとに、三次元四面体補間法における多次元LUTの分割記憶方法を適用すればよい。 Finally, the vertices surrounded by the thick lines described as Mem0,..., Mem7 shown in FIG. 3 are stored in the same submemory, and the multidimensional LUT 260 has (2 × 2 2 ) submemory. It is divided into. Similarly, in the N-dimensional hypertetrahedral interpolation method, 2 3 vertices (X 0 <i>, X 1 <j>, X 2 <k>,...) To (X 0 <i + 1>, X 1 <j + 1>, X 2 <k + 1>, ... each), it may be applied dividing method of storing multi-dimensional LUT in the three-dimensional tetrahedral interpolation.

前記23個の頂点は、2N-3組あり、1つの組が22個のサブメモリに記憶されるので、多次元LUT260は、全部で2N-1個のサブメモリに分割されることとなる。このように常に22個のサブメモリを単位としてサブメモリの数が増加していく。以後、増加の単位をクラスタリング単位と呼び、この単位の数だけサブメモリが集まったものをクラスタ・サブメモリと呼び、前記2N-3組をクラスタ数と呼ぶことにする。また、1つのクラスタ・サブメモリを当てはめる入力次元数をベースm(第1の実施の形態の場合、"m=3")と呼ぶことにする。 Since the 2 3 vertices are 2 N−3 sets, and one set is stored in 2 2 sub memories, the multidimensional LUT 260 is divided into 2 N−1 sub memories in total. It will be. Thus the number of sub-memories increases constantly 2 2 sub-memory units. Hereinafter, the unit of increase is referred to as a clustering unit, a group of sub memories corresponding to the number of units is referred to as a cluster sub memory, and the 2 N-3 sets are referred to as a cluster number. The number of input dimensions to which one cluster submemory is applied is referred to as a base m (“m = 3” in the case of the first embodiment).

次に、図4を用いて、参照値読み出し部250と多次元LUT260について詳細に説明する。
図4において、(N+1)個のアドレス生成回路310が、(N+1)個の参照座標信号222をそれぞれ受けて、アドレス信号312と、サブメモリ・バンク選択信号314とを算出する。参照値読み出し部250には、各サブメモリに対応するアドレス選択回路320があり、各アドレス選択回路320は、(N+1)組のアドレス信号312と、サブメモリ・バンク選択信号314とを受ける。
Next, the reference value reading unit 250 and the multidimensional LUT 260 will be described in detail with reference to FIG.
In FIG. 4, (N + 1) address generation circuits 310 receive (N + 1) reference coordinate signals 222 and calculate an address signal 312 and a sub memory bank selection signal 314, respectively. The reference value reading unit 250 includes an address selection circuit 320 corresponding to each sub memory. Each address selection circuit 320 receives (N + 1) sets of address signals 312 and a sub memory bank selection signal 314.

各アドレス選択回路320は、自身に対応付けられているサブメモリ・バンクID"SmB_ID"と、入力されたサブメモリ・バンク選択信号314とが等しいアドレス信号254を、(N+1)本のアドレス信号312の中から1つ選択し、選択したアドレス信号254を用いて、サブメモリ330にアクセスする。   Each address selection circuit 320 generates (N + 1) address signals 312 as an address signal 254 in which the sub memory bank ID “SmB_ID” associated with the address selection circuit 320 is equal to the input sub memory bank selection signal 314. 1 is selected, and the sub-memory 330 is accessed using the selected address signal 254.

次に、(N+1)個のデータ選択回路340は、サブメモリ330から出力されたサブメモリの個数と等しい数のデータ信号262と、対応するアドレス生成回路310から出力されたサブメモリ・バンク選択信号314とを受け取り、サブメモリ・バンク選択信号314と等しいサブメモリ・バンクID"SmB_ID"を有するサブメモリ330から出力されたデータ信号262のみを選択し、選択したデータ信号262を参照値252として出力する。   Next, the (N + 1) data selection circuits 340 have the same number of data signals 262 as the number of sub memories output from the sub memory 330 and the sub memory bank selection signals output from the corresponding address generation circuit 310. 314, and selects only the data signal 262 output from the sub memory 330 having the sub memory bank ID “SmB_ID” equal to the sub memory bank selection signal 314, and outputs the selected data signal 262 as the reference value 252. To do.

次に、アドレスを生成する方法の一例を説明する。図5に、アドレス生成回路310の構成の一例を示す。
図5において、アドレス生成回路310は、ビット操作部410、サブメモリ・バンク生成回路420、及びサブメモリ・アドレス生成回路430を備えて構成され、N次元参照座標信号222({S0,S1,…,St,…,SN-1})が参照座標選択部220から入力される。
Next, an example of a method for generating an address will be described. FIG. 5 shows an example of the configuration of the address generation circuit 310.
5, the address generation circuit 310 includes a bit operation unit 410, a sub memory bank generation circuit 420, and a sub memory address generation circuit 430, and includes an N-dimensional reference coordinate signal 222 ({S 0 , S 1 ,..., S t ,..., S N-1 }) are input from the reference coordinate selection unit 220.

図6に、ビット操作部410がN次元参照座標信号222のビットを操作する方法の一例を示す。
図6において、それぞれがwビットのビット深度を有するN個のN次元参照座標信号222を、ビット操作部410が、下位ビットから所定の形式に並べ替え、(N×w)ビットの信号515を作る。図6に示す例では、まず、ビット操作部410は、N個の参照座標信号222の下位1ビット目だけを取り出し、Nビットの信号[SN-1[0],・・・,St[0],・・・,S1[0],S0[0]]を作る。
FIG. 6 shows an example of a method in which the bit operation unit 410 operates the bits of the N-dimensional reference coordinate signal 222.
In FIG. 6, the bit operation unit 410 rearranges the N N-dimensional reference coordinate signals 222 each having a bit depth of w bits into a predetermined format from the lower bits, and converts the signal 515 of (N × w) bits into create. In the example illustrated in FIG. 6, first, the bit operation unit 410 extracts only the lower first bit of the N reference coordinate signals 222 and outputs an N-bit signal [S N−1 [0] ,. [0],..., S 1 [0], S 0 [0]] are created.

次に、ビット操作部410は、N個のN次元参照座標信号222の下位2ビット目だけを取り出し、Nビットの信号[SN-1[1],・・・,St[1],・・・,S1[1],S0[1]]を作る。さらに、ビット操作部410は、N個の参照座標信号222の下位uビット目だけを取り出し、Nビットの信号[SN-1[u],・・・,St[u],・・・,S1[u],S0[u]]を作る。こうして、N個の参照座標信号222の最上位のNビットの信号[SN-1[w-1],・・・,St[w-1],・・・,S1[w-1],S0[w-1]]まで同様の操作を行い、図6に示すように各Nビットの信号を連結して(N×w)ビットの信号515を作る。 Next, the bit operation unit 410 extracts only the lower second bit of the N N-dimensional reference coordinate signals 222 and outputs N-bit signals [S N-1 [1],..., St [1], ..., S 1 [1], S 0 [1]] are created. Further, the bit operation unit 410 extracts only the lower u-th bit of the N reference coordinate signals 222, and outputs N-bit signals [S N-1 [u],..., St [u],. , S 1 [u], S 0 [u]]. Thus, the most significant N-bit signal [S N-1 [w-1],..., S t [w-1],..., S 1 [w-1] of the N reference coordinate signals 222. ], S 0 [w-1]], and the N-bit signals are concatenated to form an (N × w) -bit signal 515 as shown in FIG.

このように、N個のN次元参照座標信号222のビットを操作(ビット操作)することで、多次元LUT260の単位超立体の個数を容易に増やすことができる。例えば、サブメモリ330の容量が大きくてもよい多次元補間装置で多次元LUT260を拡張する場合には、N次元参照座標信号222のビット深度をwビットから(w+1)ビットに変更し、ビット操作部410の出力の上位にNビットの信号[SN-1[w],・・・,St[w],・・・,S1[w],S0[w]]を連結すればよい。しかも、拡張されたビットは、拡張前のアドレスの上位に連結されるので(アドレスの生成方法については後述する)、拡張前の多次元補間装置と拡張後の多次元補間装置とで、アドレスとデータとの関係に互換性を持たせることができる。 In this way, by manipulating the bits of the N N-dimensional reference coordinate signals 222 (bit manipulation), the number of unit hypersolids of the multi-dimensional LUT 260 can be easily increased. For example, when extending the multidimensional LUT 260 in a multidimensional interpolation apparatus that may have a large capacity of the sub memory 330, the bit depth of the N-dimensional reference coordinate signal 222 is changed from w bits to (w + 1) bits, An N-bit signal [S N-1 [w],..., S t [w],..., S 1 [w], S 0 [w]] is connected to the output of the bit operation unit 410. do it. In addition, since the extended bits are connected to the upper part of the address before extension (the address generation method will be described later), the address and the multi-dimensional interpolator before extension and the multi-dimensional interpolator after extension Compatibility with data can be made compatible.

次に、図7を用いて、サブメモリ・バンク生成回路420の詳細について説明する。
図7において、ビット操作部410から出力された(N×w)ビットの信号515の下位(3+N)ビットの信号605が、サブメモリ・バンク生成回路420に入力される。この信号605の下位3ビットの信号608は、加算器630にて加算処理される。加算処理された値(S2[0]+S1[0]+S0[0])は、信号632として出力される。
Next, details of the sub memory bank generation circuit 420 will be described with reference to FIG.
In FIG. 7, a lower (3 + N) bit signal 605 of the (N × w) bit signal 515 output from the bit operation unit 410 is input to the sub memory bank generation circuit 420. The lower 3 bits signal 608 of the signal 605 is added by the adder 630. The added value (S 2 [0] + S 1 [0] + S 0 [0]) is output as a signal 632.

同様に、上位3ビットの信号606は、加算器610にて加算処理される。加算処理された値(S2[1]+S1[1]+S0[1])612は、左シフタ640により1ビットだけ左シフトされ(加算処理された値612<<1)、シフトされた値が信号642として出力される。
また、クラスタ数生成回路620は、1を入力値607だけ左シフトし(1<<入力値607)、シフトした値を信号622として出力する。
さらに、前記信号622、632、642は、加算器650にて加算された後、サブメモリ・バンク選択信号生成回路660にて下位(N−1)ビットのみが取り出され、取り出された信号は、サブメモリ・バンク選択信号314として出力される。
Similarly, the upper 3 bits signal 606 is added by the adder 610. The added value (S 2 [1] + S 1 [1] + S 0 [1]) 612 is shifted left by 1 bit by the left shifter 640 (added value 612 << 1) and shifted. The value is output as signal 642.
The cluster number generation circuit 620 shifts 1 to the left by the input value 607 (1 << input value 607), and outputs the shifted value as a signal 622.
Further, after the signals 622, 632, and 642 are added by the adder 650, only the lower (N-1) bits are extracted by the sub memory bank selection signal generation circuit 660, and the extracted signals are This is output as a sub memory bank selection signal 314.

次に、図8を用いて、サブメモリ・アドレス生成回路430の詳細について説明する。
サブメモリ・アドレス生成回路430は、ビット操作部410から出力された(N×w)ビットの信号515をもとに、サブメモリ330にアクセスするためのアドレス信号312を生成する。
ビット操作部410から出力された(N×w)ビットの信号515の下位(3+N)ビットのうち、6ビットの信号709が、下位アドレス生成回路710に入力され、4ビットのアドレス下位信号712が作成される。なお、残りのビットは、サブメモリ・バンク信号314を生成するために使用され、サブメモリ・アドレス生成回路430では使用されない。
最後に、ビット連結器720を用いて、アドレス上位信号708と、4ビットのアドレス下位信号712とをビット連結し、連結した信号をアドレス信号312として出力する。
Next, details of the sub memory address generation circuit 430 will be described with reference to FIG.
The sub memory address generation circuit 430 generates an address signal 312 for accessing the sub memory 330 based on the (N × w) bit signal 515 output from the bit operation unit 410.
Of the lower (3 + N) bits of the (N × w) bit signal 515 output from the bit operation unit 410, the 6-bit signal 709 is input to the lower address generation circuit 710, and the 4-bit address lower signal 712 is output. Created. The remaining bits are used to generate the sub memory bank signal 314 and are not used by the sub memory address generation circuit 430.
Finally, using the bit coupler 720, the address high-order signal 708 and the 4-bit address low-order signal 712 are bit-connected, and the concatenated signal is output as the address signal 312.

ここで、下位アドレス生成回路710についてさらに詳細に説明する。
下位アドレス生成回路710に入力される6ビットの信号709は、3次元入力信号{S0,S1,S2}の下位2ビットの信号により形成されており、3D−LUTの座標に対応している。これまで説明してきたように、この4×4×4の3D−LUTが、4つのサブメモリ330に分割されるため、この6ビットの信号709は4つのサブメモリ330における参照値のすべてに対応している。
Here, the lower address generation circuit 710 will be described in more detail.
The 6-bit signal 709 input to the lower address generation circuit 710 is formed by the lower 2 bits of the three-dimensional input signal {S 0 , S 1 , S 2 } and corresponds to the coordinates of the 3D-LUT. ing. As described above, since the 4 × 4 × 4 3D-LUT is divided into four sub memories 330, the 6-bit signal 709 corresponds to all the reference values in the four sub memories 330. is doing.

しかしながら、必要とするアドレス下位信号712は、サブメモリ330ごとの下位4ビットのアドレス信号であるため、この6ビットをそのまま使用することはできない。表1に、サブメモリ330ごとに分類した6ビットの入力信号709と、出力となる4ビットのアドレス下位信号712との対応関係を示す。   However, since the required lower address signal 712 is an address signal of lower 4 bits for each sub memory 330, these 6 bits cannot be used as they are. Table 1 shows a correspondence relationship between the 6-bit input signal 709 classified for each sub memory 330 and the 4-bit address lower signal 712 to be output.

Figure 2010193474
Figure 2010193474

図9は、4×4×4の3D−LUT内で、サブメモリ・バンクID("SmB_ID=0")に対応する参照値の位置を、アドレスが小さい順にマークして示した図である(図9の丸付き数字0〜15)。図9(a)において、マークされていない箇所の参照値は、他のサブメモリ330に記憶されていることを意味する。   FIG. 9 is a diagram showing the positions of the reference values corresponding to the sub memory bank ID (“SmB_ID = 0”) in the 4 × 4 × 4 3D-LUT in ascending order of address ( Circled numbers 0 to 15 in FIG. 9). In FIG. 9A, the reference value of the part that is not marked means that it is stored in another sub memory 330.

表1のようなテーブルを作成し、4×4×4の3D−LUTを回路内にテーブルROMとして実装することで、6ビットの入力信号709を4ビットのアドレス下位信号712に容易に変換できる。   By creating a table as shown in Table 1 and mounting a 4 × 4 × 4 3D-LUT as a table ROM in the circuit, a 6-bit input signal 709 can be easily converted into a 4-bit address lower signal 712. .

また、4×4×4の3D−LUT内の点在する参照点を予め整理し、図9(b)及び図9(c)に示すように、4×4の参照点にまとめれば、テーブルROMは不要となる。図9(b)に示すようにして参照点を整理した場合には、アドレス下位信号712は、[S2[1],S2[0],S1[1],S1[0]]の順でビット連結した信号となる。また、図9(c)に示すようにして参照点を整理した場合には、アドレス下位信号712は、[S2[1],S1[1],S2[0],S1[0]]の順でビット連結した信号となる。 Further, if the scattered reference points in the 4 × 4 × 4 3D-LUT are arranged in advance and are grouped into 4 × 4 reference points as shown in FIG. 9B and FIG. ROM becomes unnecessary. When the reference points are arranged as shown in FIG. 9B, the address low-order signal 712 includes [S 2 [1], S 2 [0], S 1 [1], S 1 [0]]. The signal is a bit concatenated in this order. Further, when the reference points are arranged as shown in FIG. 9C, the address lower signal 712 includes [S 2 [1], S 1 [1], S 2 [0], S 1 [0]. ]] In the order of bit concatenation.

ここで、表2に、前述した第1の従来技術及び第2の従来技術と、本実施形態とを比較した結果を示す。   Here, Table 2 shows a result of comparing the first and second conventional techniques described above with the present embodiment.

Figure 2010193474
Figure 2010193474

表2から分かるように、本実施形態では、サブメモリの数を、第1の従来技術の半分にすることができる。また、第2の従来技術と違い、本実施形態では、分割後のサブメモリ1つ当たりに記憶される参照値の数を常に2の冪乗個にすることができる。さらに、N次元入力(Nは4以上の整数)の超四面体補間法において、基本となる3次元入力からアドレスの下位4ビットが常に決定されることになる。そのため、アドレスの下位4ビットを生成する回路は、Nの値が変っても同一の回路となる。   As can be seen from Table 2, in this embodiment, the number of sub-memory can be reduced to half that of the first conventional technique. Further, unlike the second conventional technique, in the present embodiment, the number of reference values stored per divided sub memory can be always raised to a power of two. Further, in the supertetrahedral interpolation method of N-dimensional input (N is an integer of 4 or more), the lower 4 bits of the address are always determined from the basic three-dimensional input. Therefore, the circuit that generates the lower 4 bits of the address is the same circuit even if the value of N changes.

また、第2の従来技術では、アドレス生成のために割り算器が必要になるため、アドレス生成回路を小規模化するためにはNの値ごとにテーブルROMの内容を変えるなどの工夫が必要となり、Nの値ごとにアドレス生成回路を再設計する必要がある。これに対して、前述したように、本実施形態では、Nの値が変ってもアドレス生成回路を再利用でき、容易に多次元化に対応できる。さらに、多次元LUTの単位超立体の個数の増加に伴い、N次元入力信号のビット深度が増加した場合でも、アドレス生成時のビット操作を行なうことで容易に対応できる。すなわち、本実施形態では、N次元入力信号の入力数とビット深度との両方に対し拡張性のある多次元補間装置を実現することができる。   In the second prior art, a divider is required to generate an address. Therefore, in order to reduce the size of the address generation circuit, a device such as changing the contents of the table ROM for each value of N is required. , It is necessary to redesign the address generation circuit for each value of N. On the other hand, as described above, in this embodiment, the address generation circuit can be reused even if the value of N changes, and it is possible to easily cope with multi-dimensionalization. Furthermore, even when the bit depth of the N-dimensional input signal increases with the increase in the number of unit hypersolids of the multidimensional LUT, it can be easily handled by performing bit operations at the time of address generation. That is, in the present embodiment, it is possible to realize a multidimensional interpolation device that is scalable with respect to both the number of N-dimensional input signals and the bit depth.

以上のように、本実施形態によれば、N次元入力(Nは4以上の整数)の超四面体補間法において、基本となる3次元入力からアドレスの下位4ビットが常に決定され、アドレスの下位4ビットを生成する回路はNの値が変っても同一の回路となる。そのため、アドレス生成回路を再利用でき、容易に多次元化に対応できる。また、多次元LUTの単位超立体の個数が増加することに伴って、N次元入力信号のビット深度が増加した場合でも、アドレス生成時のビット操作を行なうだけで、N次元入力信号のビット深度の増加に容易に対応することができる。すなわち、本実施形態によれば、N次元入力信号の入力数とビット深度との両方に対し拡張性のある多次元補間装置を提供することができる。特に、四次元超四面体(5面体)補間法に対して、本実施形態の多次元補間装置を適用する場合、サブメモリ330の個数は、必須となる5個よりは多いが、最も小さい2の冪乗数(=23個)となるため効果が高い。 As described above, according to this embodiment, in the supertetrahedral interpolation method of N-dimensional input (N is an integer of 4 or more), the lower 4 bits of the address are always determined from the basic three-dimensional input, and the address The circuits that generate the lower 4 bits are the same circuit even if the value of N changes. For this reason, the address generation circuit can be reused, and multi-dimensionalization can be easily handled. In addition, even when the bit depth of the N-dimensional input signal increases as the number of unit hypersolids of the multi-dimensional LUT increases, the bit depth of the N-dimensional input signal can be obtained only by performing a bit operation when generating an address. Can be easily accommodated. That is, according to the present embodiment, it is possible to provide a multidimensional interpolation device that is scalable with respect to both the number of N-dimensional input signals and the bit depth. In particular, when the multidimensional interpolation device of this embodiment is applied to the four-dimensional supertetrahedral (pentahedral) interpolation method, the number of sub-memory 330 is larger than the essential five, but the smallest 2. The effect is high because it is a power of 2 (= 2 3 ).

(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、基本となる3次元入力(ベースm=3)に対し、サブメモリを22個単位(クラスタリング単位=22)で当てはめることで、多次元LUTを分割して記憶するようにした。四次元超四面体補間法に適用する場合には、前記単位のサブメモリ(クラスタ・サブメモリ)が2組(クラスタ数=24-3)必要となる。多次元LUTにサブメモリを分割して記憶する方法は、第1の実施形態で説明した方法に限るわけではなく、アドレス生成回路が複雑になるという問題はあるが、一般化することができる。なお、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図9に付した符号と同一の符号を付すなどして詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the first embodiment described above, with respect to the underlying three-dimensional input (base m = 3), by applying the sub-memory 2 two units (clustering unit = 2 2), by dividing the multi-dimensional LUT I remembered it. When applied to the four-dimensional supertetrahedral interpolation method, two sets of sub-memory (cluster sub-memory) of the unit (number of clusters = 2 4-3 ) are required. The method of storing the sub-memory divided into the multi-dimensional LUT is not limited to the method described in the first embodiment, and there is a problem that the address generation circuit becomes complicated, but it can be generalized. In the description of the present embodiment, the same parts as those in the first embodiment described above are denoted by the same reference numerals as those in FIGS.

基本となる入力次元数であるベースmに対してクラスタリング単位は、(m+1)となる。N次元超四面体補間法に適用する場合、クラスタ数は2N-mとなる。N次元超四面体補間法に必要となるサブメモリの総数NSmBは、N>mが成立する場合、以下の(9式)のようになる。
NSmB=(m+1)×2N-m ・・・(9式)
The clustering unit is (m + 1) for the base m, which is the basic number of input dimensions. When applied to the N-dimensional supertetrahedral interpolation method, the number of clusters is 2 Nm . The total number of sub-memory NSmB necessary for the N-dimensional supertetrahedral interpolation method is as shown in the following (formula 9) when N> m is satisfied.
NSmB = (m + 1) × 2 Nm (9 formulas)

基本となる入力次元数であるベースmと、N次元超四面体補間法を用いた場合のサブメモリの総数との対応関係は、表3に示したようになる。   Table 3 shows the correspondence relationship between the base m, which is the basic number of input dimensions, and the total number of sub memories when the N-dimensional hypertetrahedral interpolation method is used.

Figure 2010193474
Figure 2010193474

また、多次元LUTにサブメモリを分割して記憶することを一般化する方法を、ハードウェア化することも可能である。
図10は、一般化したサブメモリ・バンク生成回路1420を示している。
図10において、ビット操作部410から出力された(N×w)ビットの信号515の下位(m+N×u)ビットの信号1605を入力する。ここで、uは、(m+1)を2進法で表現することができるビット深度を示す。つまり、log2(m+1)以上の最小の整数である。この信号1605の下位mビットの信号1608は、加算器1630にて加算処理される。加算処理された値(Sm-1[0]+・・・+S1[0]+S0[0])は、信号1632として出力される。
It is also possible to implement a method of generalizing the division and storage of the sub-memory in the multidimensional LUT.
FIG. 10 shows a generalized sub memory bank generation circuit 1420.
In FIG. 10, the lower 1 (m + N × u) bit signal 1605 of the (N × w) bit signal 515 output from the bit operation unit 410 is input. Here, u indicates a bit depth at which (m + 1) can be expressed in binary. That is, it is the smallest integer greater than or equal to log 2 (m + 1). The signal 1608 of lower m bits of the signal 1605 is added by the adder 1630. The added value (S m−1 [0] +... + S 1 [0] + S 0 [0]) is output as a signal 1632.

同様に、上位mビットの信号1606は、加算器1610にて加算処理される。加算処理された値(Sm-1[1]+・・・+S1[1]+S0[1])は、左シフタ1640により1ビットだけ左シフトされ、シフトされた値が信号1642として出力される。そして、図10に示す通り、同様の操作を((Sm-1[u−1]+・・・+S1[u−1]+S0[u−1])<<u)となるまで行なう。 Similarly, the upper m-bit signal 1606 is added by the adder 1610. The added value (S m−1 [1] +... + S 1 [1] + S 0 [1]) is left shifted by 1 bit by the left shifter 1640, and the shifted value is output as a signal 1642. Is done. Then, as shown in FIG. 10, the same operation is performed until ((S m−1 [u−1] +... + S 1 [u−1] + S 0 [u−1]) << u). .

さらに、前述した加算処理により得られた信号1632と、シフトされた信号1642は、後述する加算器1650で加算される。これは、入力されたN個の参照座標信号(S0,S1,…,St,…,SN-1)のうち、基本となる入力次元数であるベースmに対応する信号(S0,S1,…,Sm-1)の下位uビットのみを取り出し、その合計を求めていることを意味する。図10に示すサブメモリ・バンク生成回路1420の例では、ビット操作部410の出力に対して処理されるため、加算処理とシフト処理とを行なっている。 Further, the signal 1632 obtained by the addition process described above and the shifted signal 1642 are added by an adder 1650 described later. Of the N reference coordinate signals (S 0 , S 1 ,..., S t ,..., S N-1 ) input, the signal (S 0 , S 1 ,..., S m−1 ) means that only the lower u bits are extracted and the sum is obtained. In the example of the sub memory / bank generation circuit 1420 shown in FIG. 10, since processing is performed on the output of the bit operation unit 410, addition processing and shift processing are performed.

また、クラスタ数生成回路1620は、クラスタリング単位(m+1)を入力値1607だけ整数倍した値を信号1622として出力する。
さらに、前記信号1632、1622、1642は、加算器1650にて加算され信号1652として出力される。そして、サブメモリ・バンク選択信号生成回路1660は、(m+1)×2N-mで信号1652を割り、その余りがサブメモリ・バンク選択信号1314として出力される。
Further, the cluster number generation circuit 1620 outputs a value obtained by multiplying the clustering unit (m + 1) by the input value 1607 as an integer, as a signal 1622.
Further, the signals 1632, 1622 and 1642 are added by an adder 1650 and output as a signal 1652. Then, the sub memory bank selection signal generation circuit 1660 divides the signal 1652 by (m + 1) × 2 Nm , and the remainder is output as the sub memory bank selection signal 1314.

以上のように、本実施形態のサブメモリ・バンク生成回路1420では、以下の(10式)に基づく演算を行なってサブメモリ・バンク選択信号1314を生成する回路である。   As described above, the sub memory bank generation circuit 1420 according to the present embodiment is a circuit that performs the calculation based on the following (Equation 10) to generate the sub memory bank selection signal 1314.

Figure 2010193474
Figure 2010193474

ただし、<<は、ビットの左シフトを表し、%は、割り算の余りを表す(例えばa%bは、aをbで割った余りを表す)。
(10式)の第1項"ΣXj%(M+1)"では、0〜MのIDを作り、(10式)の第2項"(M+1)Σ[(X%2)<<(j-M)]で、(M+1)*0,(M+1)*1,(M+1)*2,・・・とオフセットを加算する。
図10において、クラスタ数生成回路1620は、選択されなかった(N−M)個の成分について、各々奇数か偶数かを判定し、前記判定結果に基づき(M+1)の倍数を前記余りに加算することによって得られる値を指標値とし、前記指標値に基づいて前記頂点を分類する。第2の実施形態では、クラスタリング単位"m+1"を整数倍する値として、n次元入力(S0, S1, …, Sm-1, Sm, Sm+1, …, Sn-1)信号のうち、(Sm, Sm+1, …, Sn-1)の信号に着目し、そのLSBである(Sm[0], Sm+1[0], …, Sn-1[0])を使用しているので、結局、(Sm, Sm+1, …, Sn-1)の信号の奇数か偶数かを判定していることになる。
なお、第2の実施形態では上記着目した信号のLSBにてバンク信号のオフセットの加算の有無を判断しているが、LSBである必要はなく、
(Sm[1], Sm+1[1], …, Sn-1[1])
(Sm[2], Sm+1[2], …, Sn-1[2])
・・・
(Sm[w-1], Sm+1[w-1], …, Sn-1[w-1])
のように、LSBの代わりに、(Sm, Sm+1, …, Sn-1)のうち定められたビット位置のオン/オフを元にクラスタリング単位(m+1)を整数倍した値を信号1622として出力すればよい。
However, << represents a bit shift to the left, and% represents a remainder of division (for example, a% b represents a remainder obtained by dividing a by b).
In the first term “ΣX j % (M + 1)” of (Equation 10), IDs 0 to M are created, and the second term “(M + 1) Σ [(X% 2) <<(jM)], (M + 1) * 0, (M + 1) * 1, (M + 1) * 2,.
In FIG. 10, the cluster number generation circuit 1620 determines whether each of the (N−M) components not selected is odd or even, and adds a multiple of (M + 1) based on the determination result to the remainder. The value obtained by the above is used as an index value, and the vertices are classified based on the index value. In the second embodiment, an n-dimensional input (S 0 , S 1 ,..., S m−1 , S m , S m + 1 ,. -1 ) of the signals, paying attention to the signals of (S m , S m + 1 ,..., S n-1 ), and their LSBs (S m [0], S m + 1 [0],. S n-1 [0]) is used, so that it is determined whether the signal of (S m , S m + 1 ,..., S n-1 ) is odd or even.
In the second embodiment, the presence / absence of the addition of the bank signal offset is determined based on the LSB of the signal of interest described above.
(S m [1], S m + 1 [1],…, S n-1 [1])
(S m [2], S m + 1 [2],…, S n-1 [2])
...
(S m [w-1], S m + 1 [w-1],…, S n-1 [w-1])
Instead of LSB, a value obtained by multiplying a clustering unit (m + 1) by an integer based on on / off of a predetermined bit position in (S m , S m + 1 ,..., S n-1 ) The signal 1622 may be output.

次に、図11を用いて、一般化したサブメモリ・アドレス生成回路1430について説明する。
図11(a)に示すように、サブメモリ・アドレス生成回路1430は、ビット操作部410から出力された(N×w)ビットの信号1515をもとに、サブメモリ330をアクセスするためのアドレス信号1312を生成する。
Next, a generalized sub memory address generation circuit 1430 will be described with reference to FIG.
As shown in FIG. 11A, the sub memory address generation circuit 1430 accesses an address for accessing the sub memory 330 based on the (N × w) bit signal 1515 output from the bit operation unit 410. A signal 1312 is generated.

ビット操作部410から出力された(N×w)ビットの信号1515の下位(m+N×u)ビットのうち、(m×u)ビットの信号1709が、下位アドレス生成回路1710に入力され、{(m−1)×u}ビットのアドレス下位信号1712が生成される。なお、残りのビットは、サブメモリ・バンク信号1314を生成するために使用され、サブメモリ・アドレス生成回路1430では使用されない。
最後に、ビット連結器1720を用いてアドレス上位信号1708と、{(m−1)×u}ビットのアドレス下位信号1712とをビット連結し、連結した信号をアドレス信号1312として出力する。
Of the lower (m + N × u) bits of the (N × w) bit signal 1515 output from the bit operation unit 410, the (m × u) bit signal 1709 is input to the lower address generation circuit 1710, and {( An m−1) × u} bit address lower signal 1712 is generated. The remaining bits are used to generate the sub memory bank signal 1314 and are not used in the sub memory address generation circuit 1430.
Finally, the bit higher rank signal 1708 and the {(m−1) × u} bit lower address signal 1712 are bit-linked using the bit coupler 1720, and the linked signal is output as the address signal 1312.

下位アドレス生成回路1710は、図11(b)に示すように、テーブルROM1710aを用いてアドレス下位信号1712を生成する。このようにした場合、ベースmが大きくなるにつれて、必要となるテーブルROMの大きさは大きくなる。
そこで、ベースmが2の冪乗−1の値(例えば、表3において、ベースmが3及び7)の場合には、下位アドレス生成回路1710を、図11(c)に示すように、ビット操作のみを行なう回路1710bを用いて実現できる。表3から分かるように、8次元超四面体補間法の場合、ベースmが7の構成を用いれば、アドレスの生成が容易となり、且つサブメモリの総数が少ない8次元超四面体補間装置(多次元補間装置)を実現できる。
As shown in FIG. 11B, the lower address generation circuit 1710 generates an address lower signal 1712 using the table ROM 1710a. In this case, as the base m becomes larger, the required size of the table ROM becomes larger.
Therefore, when the base m is a value of power of −1 (for example, the base m is 3 and 7 in Table 3), the low-order address generation circuit 1710 has a bit as shown in FIG. This can be realized using the circuit 1710b that performs only the operation. As can be seen from Table 3, in the case of the 8-dimensional supertetrahedral interpolation method, if a configuration with a base m of 7 is used, an address can be easily generated, and an 8-dimensional supertetrahedral interpolation device (multi Dimensional interpolation device).

以上のように、本実施形態によれば、N次元入力(Nは3以上の整数)の超四面体補間法において、基本となる入力次元数であるベースmを(N−1)とすれば、クラスタリング単位(m+1)は常にNとなる。したがって、クラスタ数は、2N-m=21となり、多次元LUTを、(N×2)個のサブメモリに分割して記憶することができる。 As described above, according to the present embodiment, in the supertetrahedral interpolation method of N-dimensional input (N is an integer of 3 or more), if the base m, which is the basic number of input dimensions, is (N−1). The clustering unit (m + 1) is always N. Therefore, the number of clusters is 2 Nm = 2 1 , and the multidimensional LUT can be divided and stored in (N × 2) sub-memory.

(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態では、前述した第1の実施形態における多次元LUT260を、外部メモリとキャッシュ機構とを用いて実現するようにしている。また、本実施形態における多次元LUTの参照値のビット深度を、8ビットとしている。なお、本実施形態の説明において、前述した第1及び第2の実施形態と同一の部分については、図1〜図11に付した符号と同一の符号を付して詳細な説明を省略する。
(Third embodiment)
Next, a third embodiment of the present invention will be described. In this embodiment, the multidimensional LUT 260 in the first embodiment described above is realized by using an external memory and a cache mechanism. In addition, the bit depth of the reference value of the multidimensional LUT in this embodiment is 8 bits. In the description of the present embodiment, the same portions as those in the first and second embodiments described above are denoted by the same reference numerals as those in FIGS. 1 to 11 and detailed description thereof is omitted.

本実施の形態のキャッシュ機構は、外部メモリをバースト・アクセスすることで、データ更新を高速に行なうことを可能とする。ここで、バースト・アクセスとは、1ワードずつ外部メモリからデータを読み出すのではなく、ある連続する複数のアドレスに対応するデータを一括して読み出す方法である。一般に、SDRAMやDDR−SDRAMなどの汎用メモリは、16バイト(128ビット)単位のバースト・アクセスに対応しており、本実施形態でも、バースト・アクセスの単位を16バイトとする。   The cache mechanism according to the present embodiment makes it possible to update data at high speed by performing burst access to the external memory. Here, burst access is a method in which data corresponding to a plurality of consecutive addresses is read in a batch rather than reading data from the external memory word by word. Generally, general-purpose memories such as SDRAM and DDR-SDRAM support burst access in units of 16 bytes (128 bits). In this embodiment, the unit of burst access is 16 bytes.

よって、キャッシュ機構は、8ビット(参照値のビット深度)×16ワードのデータを1つの単位として外部メモリへアクセスする。図8から分かるように、アドレス上位信号708が、外部メモリへアクセスするためのアドレス信号となり、アドレス下位信号712が、バースト・アクセスによって得られた16バイトのデータの何バイト目のデータかを指し示す信号となる。以降、アドレス上位信号とアドレス下位信号という言葉で、両者を区別することとする。   Therefore, the cache mechanism accesses the external memory by using data of 8 bits (bit depth of the reference value) × 16 words as one unit. As can be seen from FIG. 8, the address upper signal 708 becomes an address signal for accessing the external memory, and the address lower signal 712 indicates the number of bytes of the 16-byte data obtained by the burst access. Signal. Hereinafter, the terms “address upper signal” and “address lower signal” are distinguished from each other.

図12に、本実施形態における多次元LUTの構成の一例を示し、この図12を用いて、本実施形態の回路動作について説明する。
アドレス信号254が入力されると、そのアドレス信号254に含まれるアドレス上位信号708をもとに、ミスヒット判定回路920でキャッシュにヒットしたかどうかが判定される。ミスヒット判定回路920は、データバッファ950に記憶されているデータに対応するアドレスの上位値をタグRAM930に記憶している。
FIG. 12 shows an example of the configuration of the multidimensional LUT in the present embodiment, and the circuit operation of the present embodiment will be described with reference to FIG.
When the address signal 254 is input, the miss hit determination circuit 920 determines whether or not the cache has been hit based on the address high-order signal 708 included in the address signal 254. The miss hit determination circuit 920 stores the upper value of the address corresponding to the data stored in the data buffer 950 in the tag RAM 930.

ミスヒット判定回路920は、外部から入力されるアドレス信号254に含まれるアドレス上位信号708が、タグRAM930に記憶されているアドレス上位値の1つと同じであれば、キャッシュにヒットしたと判定する。一方、アドレス上位信号708が、どのアドレス上位値とも異なっている場合には、キャッシュにミスヒットしたと判定する。ミスヒットしたと判定した場合、ミスヒット判定回路920は、タグRAM930内の任意のタグ番号に記憶されているアドレス上位値を、外部から入力された上位アドレス信号708に上書きし、そのタグ番号に対応するデータバッファ950内のデータを外部メモリから更新したデータに置き換える。   The miss-hit determination circuit 920 determines that the cache has been hit if the address upper signal 708 included in the address signal 254 input from the outside is the same as one of the address upper values stored in the tag RAM 930. On the other hand, if the address upper signal 708 is different from any address upper value, it is determined that a miss has occurred in the cache. When it is determined that a miss hit has occurred, the miss hit determination circuit 920 overwrites the upper address signal 708 input from the outside with the upper address value stored in an arbitrary tag number in the tag RAM 930, and sets the tag number to that tag number. The data in the corresponding data buffer 950 is replaced with data updated from the external memory.

このデータの置き換え処理を行なうために、まずミスヒット判定回路920は、アドレス信号254に含まれているアドレス上位信号708を、アドレス信号922として調停回路975に送り、調停回路975、バス970、及びメモリコントローラ965を介して外部メモリ960にデータを要求する。調停回路975は、各サブメモリに接続されているキャッシュ機構から出力される各アドレス信号922を調停し、順番にメモリコントローラ965へ送る。   In order to perform this data replacement processing, first, the miss hit determination circuit 920 sends the address high-order signal 708 included in the address signal 254 to the arbitration circuit 975 as the address signal 922, and the arbitration circuit 975, the bus 970, and Data is requested from the external memory 960 via the memory controller 965. The arbitration circuit 975 arbitrates each address signal 922 output from the cache mechanism connected to each sub memory and sends the address signal 922 to the memory controller 965 in order.

また、メモリコントローラ965から送られてきたデータを、アドレス信号922を送った順番で、各サブメモリ910a〜910nに接続されているキャッシュ機構に返す。次に、ミスヒット判定回路920は、キャッシュにミスヒットしたか否かの判定結果に係わらず、その判定結果を示すフラグと、キャッシュのタグ番号と、アドレス信号254に含まれる下位アドレス信号712とを、まとめてコマンド信号942として遅延回路940に送る。なお、サブメモリ910の個数は、図12に示したものに限定されるものではない。   Further, the data sent from the memory controller 965 is returned to the cache mechanism connected to each of the sub memories 910a to 910n in the order of sending the address signal 922. Next, regardless of the determination result of whether or not there is a miss hit in the cache, the miss hit determination circuit 920 includes a flag indicating the determination result, a cache tag number, and a lower address signal 712 included in the address signal 254. Are sent together as a command signal 942 to the delay circuit 940. The number of sub-memory 910 is not limited to that shown in FIG.

遅延回路940は、FIFO(First-In First-Out)で実現されており、ある程度の数のコマンド信号942を蓄えることができる。そのため、ミスヒット判定回路920は、FIFOに空き領域がある間は連続して外部メモリ960にアドレス信号922を先出しする。キャッシュコントローラ945は、遅延回路940からコマンド信号942を受け取り、判定結果がヒットならタグ番号に対応するデータバッファ950から16バイトのデータ952を取り出す。次に、アドレス下位信号712により出力する1バイトのデータを選択し、選択したデータを、データ信号262として出力する。   The delay circuit 940 is implemented by FIFO (First-In First-Out), and can store a certain number of command signals 942. For this reason, the miss-hit determination circuit 920 sends out the address signal 922 to the external memory 960 continuously while there is an empty area in the FIFO. The cache controller 945 receives the command signal 942 from the delay circuit 940, and if the determination result is a hit, takes out 16-byte data 952 from the data buffer 950 corresponding to the tag number. Next, 1-byte data to be output is selected by the address lower signal 712, and the selected data is output as the data signal 262.

キャッシュコントローラ945は、判定結果がミスヒットなら、調停回路975からデータ978が送られるまで待機する。データ978が送られてきた時点で、データ978からアドレス下位信号712により出力する1バイトのデータを選択し、データ信号262として出力しつつ、タグ番号に従ってデータ978をデータバッファ950に書き込んで、データバッファ950を更新する。   If the determination result is a miss hit, the cache controller 945 waits until data 978 is sent from the arbitration circuit 975. When the data 978 is sent, 1-byte data to be output is selected from the data 978 by the address lower signal 712 and output as the data signal 262, and the data 978 is written to the data buffer 950 according to the tag number, The buffer 950 is updated.

なお、アドレス上位信号708は、図6で説明したビット操作が行なわれている。このため、N次元参照座標信号(S0,S1,…,St,…,SN-1)のどの信号の変化に対しても、キャッシュのミスヒット率は、ほぼ均一となる。 Note that the address high-order signal 708 is subjected to the bit operation described with reference to FIG. For this reason, the cache miss-hit rate is substantially uniform for any change in the N-dimensional reference coordinate signals (S 0 , S 1 ,..., S t ,..., S N-1 ).

このように、本実施形態によれば、N次元入力の超四面体補間装置(Nは4以上の整数)において、Nの値が変化してもアドレス下位信号712は常に4ビットとなり、そのためNの値が変化してもキャッシュ機構を変える必要がなく、同一の回路を再利用できる。したがって、Nの値に係わらず、多次元LUTを外部メモリとキャッシュ機構とを用いて容易に実現できる。   As described above, according to the present embodiment, in the N-dimensional input supertetrahedral interpolation device (N is an integer of 4 or more), even if the value of N changes, the address lower signal 712 is always 4 bits. Even if the value of is changed, it is not necessary to change the cache mechanism, and the same circuit can be reused. Therefore, regardless of the value of N, a multidimensional LUT can be easily realized using an external memory and a cache mechanism.

(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
(Other embodiments of the present invention)
In order to operate various devices to realize the functions of the above-described embodiments, program codes of software for realizing the functions of the above-described embodiments are provided to an apparatus or a computer in the system connected to the various devices. What is implemented by operating the various devices according to a program supplied and stored in a computer (CPU or MPU) of the system or apparatus is also included in the scope of the present invention.

また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   In this case, the program code of the software itself realizes the functions of the above-described embodiments, and the program code itself and means for supplying the program code to the computer, for example, the program code are stored. The recorded medium constitutes the present invention. As a recording medium for storing the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。   Further, by executing the program code supplied by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) or other application software in which the program code is running on the computer, etc. It goes without saying that the program code is also included in the embodiment of the present invention even when the functions of the above-described embodiment are realized in cooperation with the embodiment.

さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。   Further, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the CPU provided in the function expansion board or function expansion unit based on the instruction of the program code Needless to say, the present invention includes a case where the functions of the above-described embodiment are realized by performing part or all of the actual processing.

これまで述べてきたように、本発明の各実施形態では、N次元のデジタル画像信号205を上位ビット信号205と下位ビット信号214とに分割し、分割した上位ビットの信号すべての組み合わせに対応する参照値を重複することなく2N-1個のサブメモリ330(多次元LUT260)に分割記憶するとともに、補間演算に必要な(N+1)個の参照値を同時に読み出すようにすることにより、補間演算を高速化することができるとともに、割り算器がなくてもサブメモリ330へアクセスするためのアドレスを生成することができるようにして、色空間の変換などの補間演算を高速に行なえるようにすることが、可及的に小さな回路規模で容易に実現できるようにした。さらに、多次元に拡張するに際して、アドレス生成回路やキャッシュ機構の再設計が不要であり、入力数とビット深度との両方に対し拡張性の高い多次元補間装置を提供することができる。 As described above, in each embodiment of the present invention, the N-dimensional digital image signal 205 is divided into the upper bit signal 205 and the lower bit signal 214, and all combinations of the divided upper bit signals are supported. The reference value is divided and stored in 2 N-1 sub-memory 330 (multi-dimensional LUT 260) without overlapping, and (N + 1) reference values necessary for the interpolation operation are read out simultaneously, thereby interpolating the calculation. And an address for accessing the sub memory 330 can be generated without a divider so that interpolation operations such as color space conversion can be performed at high speed. Can be easily realized with as small a circuit scale as possible. Furthermore, when extending to multi-dimensions, it is not necessary to redesign the address generation circuit or the cache mechanism, and it is possible to provide a multi-dimensional interpolation device that is highly scalable with respect to both the number of inputs and the bit depth.

100 原稿
110 CPU回路部
120 画像読み取り部
130 画像処理部
140 プリンタ部
210 データ分割部
220 参照座標選択部
230 順序判定部
240 重み係数算出部
250 参照点読み出し部
260 多次元LUT
270 補間演算部
DESCRIPTION OF SYMBOLS 100 Document 110 CPU circuit unit 120 Image reading unit 130 Image processing unit 140 Printer unit 210 Data division unit 220 Reference coordinate selection unit 230 Order determination unit 240 Weight coefficient calculation unit 250 Reference point reading unit 260 Multidimensional LUT
270 Interpolation calculator

Claims (11)

入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力する多次元補間装置であって、
前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割手段と、
前記分割手段により分割された前記上位ビットのデータの組み合わせに対応する参照値を記憶したメモリ手段と、
前記参照値を読み出す読み出し手段と、
前記読み出し手段により読み出された参照値と、前記分割手段により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算手段とを具備し、
前記メモリ手段は、前記参照値を2N-1個のサブメモリに分割して記憶することを特徴とする多次元補間装置。
A multidimensional interpolation device that outputs a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more),
Dividing means for dividing each component of the input N-dimensional vector signal value into upper bits and lower bits;
Memory means for storing a reference value corresponding to the combination of the upper bit data divided by the dividing means;
Read means for reading the reference value;
Interpolation calculation means for performing interpolation calculation on the input N-dimensional vector signal based on the reference value read by the reading means and lower bit data divided by the dividing means,
The multi-dimensional interpolation apparatus, wherein the memory means stores the reference value divided into 2 N-1 sub-memory.
前記入力したN次元ベクトル信号におけるN個の成分から所定のM個(MはNより小さい整数)の成分を選択する選択手段と、
前記選択手段により選択されたM個の成分の総和を算出する第1の算出手段と、
前記第1の算出手段により算出された総和を、(M+1)で割った余りを算出する第2の算出手段と、
前記選択手段により選択されなかった(N−M)個の成分の夫々の所定のビット位置の値に基づいて、(M+1)の倍数を、前記第2の算出手段により算出された余りに加算して指標値を算出する第3の算出手段と、
前記第3の算出手段により算出された指標値に基づいて、前記参照値を分類する分類手段とを有し、
前記メモリ手段は、前記分類手段による分類結果に基づいて、前記参照値を2N-1個のサブメモリに分割して記憶することを特徴とする請求項1に記載の多次元補間装置。
Selecting means for selecting predetermined M (M is an integer smaller than N) components from N components in the input N-dimensional vector signal;
First calculation means for calculating the sum of M components selected by the selection means;
Second calculating means for calculating a remainder obtained by dividing the sum calculated by the first calculating means by (M + 1);
Based on the value of each predetermined bit position of (N−M) components not selected by the selection means, a multiple of (M + 1) is added to the remainder calculated by the second calculation means. A third calculating means for calculating an index value;
Classification means for classifying the reference value based on the index value calculated by the third calculation means;
2. The multidimensional interpolation apparatus according to claim 1, wherein the memory unit divides and stores the reference value into 2 N−1 sub-memory based on a classification result by the classification unit.
前記入力したN次元ベクトル信号におけるN個の成分の上位データの中から、(N−3)成分の夫々の所定のビット位置の値に基づいて、クラスタ数信号を生成し、生成したクラスタ数信号に基づいて前記サブメモリを選択するサブメモリ選択手段を有し、
前記読み出し手段は、前記サブメモリ選択手段により選択されたサブメモリに記憶されている参照値を読み出すことを特徴とする請求項1又は2に記載の多次元補間装置。
A cluster number signal is generated based on the value of each predetermined bit position of the (N-3) component from the higher order data of N components in the input N-dimensional vector signal, and the generated cluster number signal is generated. Sub memory selection means for selecting the sub memory based on
The multi-dimensional interpolation apparatus according to claim 1, wherein the reading unit reads a reference value stored in a sub memory selected by the sub memory selecting unit.
前記入力したN次元ベクトル信号におけるN個の成分の上位ビットのデータをデジタル信号化して、上位ビットの信号とし、
前記入力したN次元ベクトル信号におけるN個の成分のうち、特定の3成分における前記上位ビットの信号の下位2ビットを用いて6ビットの信号を生成し、前記6ビットの信号を4ビットの信号に変換し、4ビットのアドレス下位信号を生成する下位アドレス生成手段を有することを特徴とする請求項1〜3の何れか1項に記載の多次元補間装置。
The upper bit data of N components in the input N-dimensional vector signal is converted into a digital signal to obtain an upper bit signal,
Among the N components in the input N-dimensional vector signal, a 6-bit signal is generated using lower 2 bits of the higher-order bit signal in specific 3 components, and the 6-bit signal is converted into a 4-bit signal. 4. The multidimensional interpolation apparatus according to claim 1, further comprising lower-order address generation means for converting into a 4-bit address lower-order signal and generating a 4-bit address lower-order signal. 5.
前記サブメモリ選択手段は、前記下位アドレス生成手段により下位2ビットが取り出されなかった(N−3)成分の上位ビットの信号の下位1ビットをクラスタ数信号とし、前記クラスタ数信号に基づいて、前記サブメモリを選択する信号を生成すること特徴とする請求項4に記載の多次元補間装置。   The sub-memory selection means uses the lower 1 bit of the upper bit signal of the (N-3) component from which the lower 2 bits were not extracted by the lower address generation means as a cluster number signal, and based on the cluster number signal, The multidimensional interpolation apparatus according to claim 4, wherein a signal for selecting the sub-memory is generated. 前記下位アドレス生成手段は、ROMに格納されたテーブルを用いて、前記6ビットの信号を4ビットの信号に変換することを特徴とする請求項4又は5に記載の多次元補間装置。   6. The multidimensional interpolation apparatus according to claim 4 or 5, wherein the lower address generation means converts the 6-bit signal into a 4-bit signal using a table stored in a ROM. 前記下位アドレス生成手段は、前記特定の3成分うち、1成分の下位2ビットを切り捨てて、前記6ビットの信号を4ビットの信号に変換することを特徴とする請求項5に記載の多次元補間装置。   6. The multidimensional data according to claim 5, wherein the lower address generating means converts the 6-bit signal into a 4-bit signal by truncating the lower 2 bits of one of the specific three components. Interpolator. 前記入力したN次元ベクトル信号におけるN個の成分の上位ビットのデータをデジタル信号化して、上位ビットの信号とし、
前記分割手段により分割されたN個の上位ビットの信号から、同一のビット位置にある1ビットを取り出し、取り出したN個のビットをまとめて連結してNビットの信号とする操作を、前記上位ビットの信号の最下位から最上位まで順に行ない得られた複数のNビット信号をさらに連結し、連結した信号から(N+3)ビットを除いた信号をアドレス上位信号として生成する上位アドレス生成手段を有することを特徴とする請求項1〜4の何れか1項に記載の多次元補間装置。
The upper bit data of N components in the input N-dimensional vector signal is converted into a digital signal to obtain an upper bit signal,
The operation of taking one bit at the same bit position from the N upper bit signals divided by the dividing means and concatenating the extracted N bits together to make an N bit signal A plurality of N-bit signals obtained by performing the processing from the least significant bit signal to the most significant bit signal, and a higher-order address generating means for generating a signal obtained by removing (N + 3) bits from the concatenated signal as an address higher-order signal The multidimensional interpolation apparatus according to any one of claims 1 to 4, wherein
前記上位アドレス生成手段により生成されたアドレス上位信号を用いて、キャッシュのヒットもしくはミスヒットを判定するキャッシュ機構を有することを特徴とする請求項8に記載の多次元補間装置。   9. The multi-dimensional interpolation apparatus according to claim 8, further comprising a cache mechanism that determines a cache hit or a miss hit by using an address upper signal generated by the upper address generation means. 入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力する多次元補間方法であって、
分割手段が、前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割工程を行い、
読み出し手段が、前記分割工程により分割された前記上位ビットのデータの組み合わせに対応する参照値を読み出す読み出し工程を行い、
補間演算手段が、前記読み出し工程により読み出された参照値と、前記分割工程により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算工程を行い、
前記参照値は、2N-1個のサブメモリに分割して記憶されていることを特徴とする多次元補間方法。
A multidimensional interpolation method for outputting a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more),
A dividing means performs a dividing step of dividing each component of the input N-dimensional vector signal value into upper bits and lower bits,
A reading unit performs a reading step of reading a reference value corresponding to the combination of the upper bit data divided by the dividing step,
An interpolation calculation means performs an interpolation calculation step of performing an interpolation calculation on the input N-dimensional vector signal based on the reference value read in the reading step and the lower bit data divided in the division step. ,
The multi-dimensional interpolation method, wherein the reference value is divided and stored in 2 N-1 sub-memory.
入力したN次元ベクトル信号(Nは4以上の整数)からスカラ信号を出力することをコンピュータに実行させるためのコンピュータプログラムであって、
前記入力したN次元ベクトル信号値の各成分を各々上位ビットと下位ビットとに分割する分割工程と、
前記分割工程により分割された前記上位ビットのデータの組み合わせに対応する参照値を読み出す読み出し工程と、
前記読み出し工程により読み出された参照値と、前記分割工程により分割された下位ビットのデータとに基づいて、前記入力したN次元ベクトル信号に対する補間演算を行なう補間演算工程とをコンピュータに実行させ、
前記参照値は、2N-1個のサブメモリに分割して記憶されていることを特徴とするコンピュータプログラム。
A computer program for causing a computer to output a scalar signal from an input N-dimensional vector signal (N is an integer of 4 or more),
A division step of dividing each component of the input N-dimensional vector signal value into upper bits and lower bits, respectively;
A reading step of reading a reference value corresponding to the combination of the upper bit data divided by the dividing step;
Based on the reference value read in the reading step and the lower bit data divided in the dividing step, the computer executes an interpolation calculation step for performing an interpolation calculation on the input N-dimensional vector signal,
The computer program according to claim 1 , wherein the reference value is divided and stored in 2 N-1 sub-memory.
JP2010062833A 2010-03-18 2010-03-18 Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program Active JP4810615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010062833A JP4810615B2 (en) 2010-03-18 2010-03-18 Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010062833A JP4810615B2 (en) 2010-03-18 2010-03-18 Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004342262A Division JP4724413B2 (en) 2004-11-26 2004-11-26 Data classification method

Publications (2)

Publication Number Publication Date
JP2010193474A true JP2010193474A (en) 2010-09-02
JP4810615B2 JP4810615B2 (en) 2011-11-09

Family

ID=42818953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010062833A Active JP4810615B2 (en) 2010-03-18 2010-03-18 Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program

Country Status (1)

Country Link
JP (1) JP4810615B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163070A (en) * 2015-02-26 2016-09-05 キヤノン株式会社 Data converter and control method and program thereof
JP2016165076A (en) * 2015-03-06 2016-09-08 キヤノン株式会社 Data processing device, control method of the same, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837722A (en) * 1986-05-14 1989-06-06 Massachusetts Institute Of Technology Digital high speed 3-dimensional interpolation machine
JPH05284346A (en) * 1992-03-31 1993-10-29 Matsushita Electric Ind Co Ltd Color conversion device
JPH10307911A (en) * 1997-05-08 1998-11-17 Matsushita Giken Kk Multidimensional interpolation method and device therefor
JPH10313412A (en) * 1997-05-12 1998-11-24 Canon Inc Image processing unit and image processing method
US6166781A (en) * 1996-10-04 2000-12-26 Samsung Electronics Co., Ltd. Non-linear characteristic correction apparatus and method therefor
JP2003069841A (en) * 2001-08-23 2003-03-07 Ricoh Co Ltd Apparatus and method for converting color and recording medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837722A (en) * 1986-05-14 1989-06-06 Massachusetts Institute Of Technology Digital high speed 3-dimensional interpolation machine
JPH05284346A (en) * 1992-03-31 1993-10-29 Matsushita Electric Ind Co Ltd Color conversion device
US6166781A (en) * 1996-10-04 2000-12-26 Samsung Electronics Co., Ltd. Non-linear characteristic correction apparatus and method therefor
JPH10307911A (en) * 1997-05-08 1998-11-17 Matsushita Giken Kk Multidimensional interpolation method and device therefor
JPH10313412A (en) * 1997-05-12 1998-11-24 Canon Inc Image processing unit and image processing method
JP2003069841A (en) * 2001-08-23 2003-03-07 Ricoh Co Ltd Apparatus and method for converting color and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163070A (en) * 2015-02-26 2016-09-05 キヤノン株式会社 Data converter and control method and program thereof
JP2016165076A (en) * 2015-03-06 2016-09-08 キヤノン株式会社 Data processing device, control method of the same, and program

Also Published As

Publication number Publication date
JP4810615B2 (en) 2011-11-09

Similar Documents

Publication Publication Date Title
JP4724413B2 (en) Data classification method
JP4651108B2 (en) Conversion table compression method and program, and conversion table compression apparatus
JP3976849B2 (en) Device for generating interpolator input data
EP1587304B1 (en) Color device profile having a buffered look-up table
JP5620734B2 (en) Color processing apparatus and method
JP4810615B2 (en) Multidimensional interpolation apparatus, multidimensional interpolation method, and computer program
US20080239402A1 (en) Color conversion apparatus, color conversion method and color conversion program
US7777924B2 (en) Color conversion device and color conversion program
JPH10117291A (en) Decision device for input data path of interpolator
JP2007067956A (en) Multi-dimensional interpolation apparatus and multi-dimensional interpolation method
JP4909003B2 (en) Image processing apparatus and method
JPH11238126A (en) Common interpolating circuit for radial interpolation with asymmetrical pruning and tetrahedral interpolation with asymmetrical pruning
JP6448410B2 (en) Data conversion apparatus, control method therefor, and program
JP2004096751A (en) Color space conversion
JP3110041B2 (en) Image information processing device
JP6501561B2 (en) DATA PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
JP4096672B2 (en) Data conversion method and data conversion apparatus
US8175381B2 (en) Image processing method and apparatus
JPH11238127A (en) Common interpolating circuit for pruning radial interpolation and pruning tetrahedral interpolation
JP2000196903A (en) Method and device for color conversion
JP2010103912A (en) Multi-dimensional data converter
JP2004072397A (en) Image processing apparatus and image processing method
JP2006165649A (en) Multi-dimensional data converter and method thereof
JP2627824B2 (en) Image processing device
JP2004248066A (en) Apparatus, method, and program for processing color signal, and recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

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

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

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4810615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151