JP2003289449A - Image processor and method thereof - Google Patents

Image processor and method thereof

Info

Publication number
JP2003289449A
JP2003289449A JP2002091638A JP2002091638A JP2003289449A JP 2003289449 A JP2003289449 A JP 2003289449A JP 2002091638 A JP2002091638 A JP 2002091638A JP 2002091638 A JP2002091638 A JP 2002091638A JP 2003289449 A JP2003289449 A JP 2003289449A
Authority
JP
Japan
Prior art keywords
cache
image processing
input value
rectangular parallelepiped
tetrahedron
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.)
Withdrawn
Application number
JP2002091638A
Other languages
Japanese (ja)
Inventor
Hitoshi Oonoda
仁 大野田
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 JP2002091638A priority Critical patent/JP2003289449A/en
Publication of JP2003289449A publication Critical patent/JP2003289449A/en
Withdrawn legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor and method thereof for realizing high speed color conversion. <P>SOLUTION: In applying color conversion to image data by using a three- dimensional lookup table and tetrahedron interpolation, the output values of the grating points of a rectangular solid including the image data and defined by the lookup table are cached (S6). Further, the output values of the grating points of a tetrahedron including the image data and defined by the rectangular solid are cached (S11). <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は画像処理装置および
方法に関し、例えば、画像データの色変換処理に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and method, for example, color conversion processing of image data.

【0002】[0002]

【従来の技術】パーソナルコンピュータ上で動作するア
プリケーションやデバイスドライバなどのソフトウェア
の中でも、とくに画像を扱うソフトウェアにおいては、
ある色空間から別の色空間へ色データを変換する処理が
しばしば行われる。例えば、RGB画像データが表す画像
を印刷する場合は、RGB色空間からシアン、マゼンタ、
イエローおよびブラックで構成されるCMYK色空間への変
換が行われる。また、同じRGB色空間、例えばスキャナ
およびモニタのRGB色空間など、それら色空間の特性が
異なる場合は色変換が行われる。具体的には、スキャナ
で読み込んだ画像をモニタに表示する際に、カラーマッ
チングのために、スキャナRGB色空間からモニタRGB色空
間へ変換が必要になる。
2. Description of the Related Art Among software such as applications and device drivers that operate on a personal computer, especially software that handles images,
The process of converting color data from one color space to another is often performed. For example, when printing an image represented by RGB image data, cyan, magenta,
Conversion to the CMYK color space composed of yellow and black is performed. If the characteristics of the same RGB color space, such as the scanner and monitor RGB color spaces, are different, color conversion is performed. Specifically, when displaying an image read by a scanner on a monitor, conversion from the scanner RGB color space to the monitor RGB color space is required for color matching.

【0003】こうした色変換処理の手法として、三次元
ルックアップテーブル(3D LUT)と補間演算を組み合わせ
た色変換手法が存在する。幾多の補間演算手法の中で
も、隣接する直方体間での色の連続性、グレーライン再
現特性の良好さから、特開昭53-123201号公報や特開200
0-22973公報などに開示された四面体補間が優れた補間
演算方法として知られている。
As a method of such color conversion processing, there is a color conversion method which combines a three-dimensional lookup table (3D LUT) and interpolation calculation. Among many interpolation calculation methods, JP-A No. 53-123201 and JP-A No. 1231203 have been proposed because of their excellent color continuity and gray line reproduction characteristics between adjacent rectangular parallelepipeds.
The tetrahedral interpolation disclosed in, for example, 0-22973 is known as an excellent interpolation calculation method.

【0004】一方、ディジタルカメラやスキャナの処理
画素数の増大に伴い、画像データのサイズが大きくなる
傾向にある。これに伴い、色変換に要する時間も増大
し、システムの使い勝手を低下させる一因になってい
る。
On the other hand, as the number of pixels processed by digital cameras and scanners increases, the size of image data tends to increase. Along with this, the time required for color conversion also increases, which is one of the causes of reducing the usability of the system.

【0005】色変換処理は、画像の各画素に対する単純
な繰り返し演算として行われるため、その処理時間T1は
式(1)で表される。 T1 = n×t1 + c1 …(1) ここで、 n: 処理画素数 t1: 一画素当りの色変換処理時間 c1: 色変換処理の初期化などに要する時間(定数)
Since the color conversion processing is performed as a simple repetitive calculation for each pixel of the image, the processing time T1 is expressed by the equation (1). T1 = n × t1 + c1 (1) where n: number of processed pixels t1: color conversion processing time per pixel c1: time required for initialization of color conversion processing (constant)

【0006】一般に 定数c1は小さく、とくに処理画素
数nが充分に大きい場合は無視できる。例えば、A4記録
紙サイズ(210×297mm)、600dpiの画像を色変換する場
合、処理画素数nは約3500万画素になる。一画素当りの
色変換処理時間t1が0.5μ秒とすると、色変換の処理時
間T1に17.5秒も要する。
In general, the constant c1 is small and can be ignored especially when the number of processed pixels n is sufficiently large. For example, when performing color conversion on an image of A4 recording paper size (210 × 297 mm) and 600 dpi, the number of processed pixels n is about 35 million pixels. If the color conversion processing time t1 per pixel is 0.5 μsec, the color conversion processing time T1 requires 17.5 seconds.

【0007】こうした煩わしさを解消するために、特開
平8-279030号公報、特開平11-85969号公報などに開示さ
れたキャッシュ機構を用いる色変換の高速化手法が存在
する。これらの手法は、一度入力されたデータに対し
て、その演算結果をキャッシュテーブルに保持し、再
度、同じデータが入力された場合は、同じ演算を行うこ
となく、演算結果をキャッシュテーブルから読み出し
て、処理時間の短縮を図っている。キャッシュ機構を用
いて色変換を行う場合、その総処理時間T2は式(2)で近
似できる。 T2 = n×{ts + (1 - r)×t2 + r×tc} + c2 …(2) ここで、 n: 処理画素数 ts: キャッシュにヒットしたか否かのチェックに要する
一画素当りの平均的な時間 t2: キャッシュにヒットしなかった場合の色変換処理時
間および変換結果をキャッシュテーブルに格納する時間 tc: キャッシュヒット時の平均的な色変換結果の取得時
間 r: 全画素に対するキャッシュヒット率(0≦r1<1) c2: 色変換処理の初期化などに要する時間(定数)
In order to eliminate such troublesomeness, there are methods for speeding up color conversion using a cache mechanism disclosed in Japanese Patent Laid-Open No. 8-279030 and Japanese Patent Laid-Open No. 11-85969. These methods hold the operation result in the cache table for the once input data, and when the same data is input again, the operation result is read from the cache table without performing the same operation. The processing time is shortened. When color conversion is performed using the cache mechanism, the total processing time T2 can be approximated by equation (2). T2 = n × {ts + (1-r) × t2 + r × tc} + c2 (2) where n: number of processed pixels ts: per pixel required to check whether cache hit or not Average time t2: Color conversion processing time when there is no cache hit and time to store the conversion result in the cache table tc: Average acquisition time of color conversion result at cache hit r: Cache hit for all pixels Rate (0 ≦ r1 <1) c2: Time required for initialization of color conversion processing (constant)

【0008】この場合も定数c2は無視できることが多
い。ここで、式(1)と比較し易いように式(2)を書き換え
ると式(3)のようになる。 T2 = n×{t2 + ts - r×(t2 - tc)} + c2 …(3)
Also in this case, the constant c2 can often be ignored. Here, if formula (2) is rewritten so as to be easily compared with formula (1), formula (3) is obtained. T2 = n × {t2 + ts-r × (t2-tc)} + c2… (3)

【0009】処理画素数nの係数に着目すると、総処理
時間T2を短縮するには、以下の要素が必要であることが
わかる。 (1) キャッシュにヒットしたか否かの確認に要する時間
tsの短縮 (2) キャッシュヒット率rの向上 (3) キャッシュヒット時のデータの出力時間の短縮、つ
まり、tcをt2に比べて、できるだけ小さな値にする
Focusing on the coefficient of the number of processed pixels n, it can be seen that the following elements are necessary to shorten the total processing time T2. (1) Time required to confirm whether or not there is a cache hit
Shortening ts (2) Improving cache hit ratio r (3) Shortening data output time at cache hit, that is, tc is as small as possible compared to t2

【0010】入力画素データに対する出力画素データを
キャッシュする方法は、出力結果をそのままキャッシュ
してtcを小さくすることで高速化を図る。こうしたキャ
ッシュ方法は、テキストオブジェクトを含む画像や、グ
ラフィクスオブジェクトを含む画像に対してはヒット率
rが大きく、tcも小さいために充分高速に動作する。
In the method of caching the output pixel data with respect to the input pixel data, the output result is cached as it is, and the tc is made small to increase the speed. Such a cache method has a hit rate for images including text objects and images including graphics objects.
Since r is large and tc is small, it operates at sufficiently high speed.

【0011】また、ルックアップテーブルからデータを
読み込むスピードを高速化することは、処理時間の短縮
に重要である。ルックアップテーブルからの出力値の読
み込みはt1およびt2に大きく影響する。
Further, increasing the speed of reading data from the lookup table is important for shortening the processing time. Reading the output value from the look-up table greatly affects t1 and t2.

【0012】近年のコンピュータシステムは、プロセッ
サの処理速度は非常に高速化されている一方、メモリア
クセス速度がプロセッサの内部速度に遠く及ばず、メモ
リのアクセス頻度を低減することが高速化の一つの要件
になっている。
In recent computer systems, the processing speed of the processor has been greatly increased, while the memory access speed is far below the internal speed of the processor, and reducing the frequency of memory access is one of the speed improvements. It is a requirement.

【0013】メモリのアクセス頻度を低減するため、キ
ャッシュ機構を有するCPUが増えている。このようなキ
ャッシュを、色変換アルゴリズムにおけるキャッシュと
区別するために「CPUキャッシュ」と呼ぶことにする。C
PUキャッシュを有するシステムは、CPUの内部あるいは
近傍に高速なキャッシュメモリを配置し、システム全体
の処理速度を向上する工夫がなされている。こうしたキ
ャッシュメモリの容量は16KBから128KB程度で構成され
る場合が多い。キャッシュメモリは、キャッシュライン
と呼ばれる数バイトから数十バイトの最小単位で分割管
理される。従って、アクセスするデータサイズがたとえ
1バイトでも、キャッシュライン分の容量はキャッシュ
メモリを使用することになる。
In order to reduce the memory access frequency, the number of CPUs having a cache mechanism is increasing. Such a cache will be called a "CPU cache" to distinguish it from the cache in the color conversion algorithm. C
A system with a PU cache is designed to improve the processing speed of the entire system by arranging a high-speed cache memory inside or near the CPU. The capacity of such cache memory is often composed of about 16KB to 128KB. The cache memory is divided and managed in a minimum unit called a cache line of several bytes to several tens of bytes. Therefore, even if the data size to be accessed is
Even with 1 byte, the cache line capacity will use the cache memory.

【0014】マルチタスクで動作するシステムの場合、
複数のタスクが、キャッシュメモリを共有するため、一
つのタスクがキャッシュメモリすべてを使用できるわけ
ではない。マルチタスクシステム全体の速度を最適化す
ることを考慮する場合、個々のタスクが使用するキャッ
シュのサイズが小さい方が、より高速なスループットが
実現されることが多い。
In the case of a system that operates by multitasking,
Since multiple tasks share the cache memory, one task cannot use all the cache memory. Considering optimizing the speed of the entire multitasking system, faster throughput is often realized when the size of the cache used by each task is smaller.

【0015】[0015]

【発明が解決しようとする課題】従来のキャッシュ方法
は、キャッシュにヒットした場合の平均的な色変換結果
取得時間tcを小さくすることができるものの、写真画像
に対しては、キャッシュのヒット率rを高めることが難
しく総処理時間T2が短縮されないという問題がある。さ
らに、ヒット率rが低いと、キャッシュアルゴリズムに
よっては、入力データがキャッシュにヒットしたか否か
をチェックする時間tsや、キャッシュにヒットしなかっ
た場合の色変換処理時間および変換結果をキャッシュテ
ーブルに格納する時間t2の変換結果の格納時間が、キャ
ッシュ効果によるT2の短縮時間を超えて、むしろ総処理
時間T2が増加する問題がある。
Although the conventional cache method can reduce the average color conversion result acquisition time tc when a cache hit occurs, the cache hit rate r However, there is a problem that the total processing time T2 cannot be shortened. Furthermore, if the hit ratio r is low, depending on the cache algorithm, the time ts for checking whether the input data hit the cache, the color conversion processing time when the input data does not hit the cache, and the conversion result are stored in the cache table. There is a problem that the storage time of the conversion result of the storage time t2 exceeds the shortening time of T2 due to the cache effect, and the total processing time T2 rather increases.

【0016】これは、グラフィック画像などに比べて写
真画像は、隣接画素間の自己相関性が低く、近傍の画素
間で、同値のデータが入力される頻度が低下するために
発生する問題である。
This is a problem that a photographic image has a lower autocorrelation between adjacent pixels than a graphic image, and the frequency of inputting data of the same value between adjacent pixels decreases. .

【0017】さらに、露出アンダやオーバで撮影された
画像はノイズ成分を多く含む場合があり、こうした画像
は、さらに自己相関性が低くなるため、キャッシュのヒ
ット率rが低下し、一層、問題が顕著になる。
Further, an image taken under exposure or overexposure may contain a lot of noise components, and since such an image has a lower autocorrelation, the hit ratio r of the cache is lowered, which causes further problems. It will be noticeable.

【0018】一方、三次元ルックアップテーブルは、一
般に、数十キロバイトから百数十キロバイトのサイズを
有する。ルックアップテーブルから各格子点の出力デー
タを参照する場合、離散的なアドレスをアクセスするこ
とが多い。従って、実際にアクセスが必要なデータ量の
割にCPUキャッシュのキャッシュメモリの使用率が高く
なることが多い。このような場合、マルチタスクシステ
ム全体のパフォーマンスが低下するという問題がある。
On the other hand, the three-dimensional lookup table generally has a size of several tens of kilobytes to one hundred and several tens of kilobytes. When referring to the output data of each lattice point from the look-up table, it is often the case that discrete addresses are accessed. Therefore, the usage rate of the cache memory of the CPU cache is often high relative to the actual amount of data that needs to be accessed. In such a case, there is a problem that the performance of the entire multitasking system deteriorates.

【0019】本発明は、上述の問題を個々にまたはまと
めて解決するためのもので、高速な色変換を実現するこ
とを目的とする。
The present invention is for solving the above-mentioned problems individually or collectively, and an object thereof is to realize high-speed color conversion.

【0020】[0020]

【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
The present invention has the following structure as one means for achieving the above object.

【0021】本発明にかかる画像処理方法は、三次元ル
ックアップテーブルおよび四面体補間により、入力値を
色変換する画像処理方法であって、前記入力値を含む、
前記ルックアップテーブルによって定義される直方体の
格子点の出力値をキャッシュし、前記入力値を含む、前
記直方体によって定義される四面体の格子点の出力値を
キャッシュすることを特徴とする。
An image processing method according to the present invention is an image processing method for color-converting an input value by a three-dimensional look-up table and tetrahedral interpolation, including the input value.
An output value of a grid point of a rectangular parallelepiped defined by the lookup table is cached, and an output value of a grid point of a tetrahedron defined by the rectangular parallelepiped including the input value is cached.

【0022】本発明にかかる画像処理装置は、三次元ル
ックアップテーブルおよび四面体補間により、入力値を
色変換する画像処理装置であって、前記入力値を含む、
前記三次元ルックアップテーブルによって定義される直
方体の格子点の出力値をキャッシュする第一のキャッシ
ュ手段と、前記入力値を含む、前記直方体によって定義
される四面体の格子点の出力値をキャッシュする第二の
キャッシュ手段とを有することを特徴とする。
An image processing apparatus according to the present invention is an image processing apparatus for color-converting an input value by a three-dimensional lookup table and tetrahedral interpolation, and including the input value.
First cache means for caching output values of rectangular parallelepiped grid points defined by the three-dimensional lookup table, and cache output values of tetrahedral grid points defined by the rectangular parallelepiped including the input values. And a second cache means.

【0023】[0023]

【発明の実施の形態】以下、本発明にかかる一実施形態
の画像処理装置を図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE INVENTION An image processing apparatus according to an embodiment of the present invention will be described in detail below with reference to the drawings.

【0024】[0024]

【第1実施形態】[構成]図1は実施形態の画像処理装置
の構成例を示すブロック図、図2は実施形態の画像処理
装置における画像処理の一例を示すフローチャートであ
る。
First Embodiment [Arrangement] FIG. 1 is a block diagram showing an arrangement example of an image processing apparatus according to the embodiment, and FIG. 2 is a flowchart showing an example of image processing in the image processing apparatus according to the embodiment.

【0025】図1において、CPU 1は、ROM 4やハードデ
ィスクなどの記憶装置6に格納されたプログラムに従
い、RAM 5をワークメモリに使用して、バス11を介して
各構成を制御する。例えば、キーボード3やマウスなど
のポインティング装置8から入力される操作者の各種指
示に従い、CPU 1は、外部記憶装置9から読み出した画像
に画像処理を施し、CRTなどのディスプレイ2に表示す
る。なお、外部記憶装置9は、フロッピディスクや光磁
気ディスク、CD-ROM、CD-Rなどのリムーバブルメディア
用のドライブ装置である。
In FIG. 1, a CPU 1 controls each component via a bus 11 using a RAM 5 as a work memory according to a program stored in a storage device 6 such as a ROM 4 or a hard disk. For example, the CPU 1 performs image processing on the image read from the external storage device 9 according to various instructions of the operator input from the pointing device 8 such as the keyboard 3 and mouse, and displays the image on the display 2 such as a CRT. The external storage device 9 is a drive device for removable media such as a floppy disk, a magneto-optical disk, a CD-ROM, a CD-R.

【0026】CPU 1が画像処理すべき画像は、外部記憶
装置9に格納されているだけでなく、記憶装置6に格納さ
れていてもよいし、通信インタフェイス7および通信回
線10を介して外部機器から入力してもよい。通信インタ
フェイス7として、USB、IEEE1394シリアルバス、SCSI、
GPIB、Ethernetなどのインタフェイスが好適に利用され
る。また、通信インタフェイス7を介して接続される外
部機器には、ファイルサーバなどのデータ蓄積装置、デ
ィジタルカメラ、イメージスキャナ、フィルムスキャナ
などの画像入力装置などがある。
The image to be image-processed by the CPU 1 may be stored not only in the external storage device 9 but also in the storage device 6, or may be externally stored via the communication interface 7 and the communication line 10. It may be input from the device. As the communication interface 7, USB, IEEE1394 serial bus, SCSI,
Interfaces such as GPIB and Ethernet are preferably used. The external devices connected via the communication interface 7 include a data storage device such as a file server, an image input device such as a digital camera, an image scanner, and a film scanner.

【0027】CPU 1は、図2に示す処理を実行するため
に、記憶装置6などからプログラムコードをRAM 5のプロ
グラム記憶領域500にロードする。プログラムコードは
記憶装置6、ROM 4または外部記憶装置9などに格納され
ていればよい。そして、CPU 1は、プログラム記憶領域5
00に保持されたプログラムの実行を開始する。その際、
本実施形態のキャッシュを実現するプログラムコード
も、記憶領域500内にキャッシュコード501および502と
してロードされる。
The CPU 1 loads the program code from the storage device 6 or the like into the program storage area 500 of the RAM 5 in order to execute the processing shown in FIG. The program code may be stored in the storage device 6, the ROM 4, the external storage device 9, or the like. And the CPU 1 uses the program storage area 5
Start execution of the program held at 00. that time,
The program code that realizes the cache of this embodiment is also loaded in the storage area 500 as cache codes 501 and 502.

【0028】[動作]次に、画像処理装置の動作を説明
する。
[Operation] Next, the operation of the image processing apparatus will be described.

【0029】まず、各種の初期化処理が行われる(S1)。
初期化処理は、RAM 5に、図示しない画像データの入力
バッファ、出力バッファおよび画像処理に使用する作業
領域などの確保し、初期化するなどの処理である。さら
に、RAM 5に、キャッシュテーブル503および504の領域
が確保され、初期される。
First, various initialization processes are performed (S1).
The initialization process is a process of securing an initialization buffer (not shown) for the image data, a work area used for the image processing, and the like in the RAM 5, and performing initialization. Further, areas of the cache tables 503 and 504 are secured in the RAM 5 and initialized.

【0030】次に、記憶装置6、外部記憶装置9または通
信インタフェイス7から、色変換処理対象の画像データ
の画素データを入力バッファに読み込み(S2)、入力画素
データP0が含まれる最小の立体C0(図3参照)を決定す
る(S3)。
Next, the pixel data of the image data to be color-converted is read from the storage device 6, the external storage device 9 or the communication interface 7 into the input buffer (S2), and the minimum stereoscopic image including the input pixel data P0 is read. C0 (see FIG. 3) is determined (S3).

【0031】本実施形態では、RGBで構成される画像デ
ータを例に説明するが、四面体補間を用いる三次元ルッ
クアップテーブル(3D LUT)をベースにする演算を用いる
限り、入力の色空間によらず本実施形態を適用すること
ができる。
In the present embodiment, the image data composed of RGB will be described as an example. However, as long as an operation based on a three-dimensional lookup table (3D LUT) using tetrahedral interpolation is used, the input color space is This embodiment can be applied regardless.

【0032】RGB値がそれぞれ0から 1の範囲に正規化さ
れた値を有する場合、RGB色空間は図3に示すような立方
体で表すことができる。図3の立方体の頂点OはR、G、B
すべてが零、すなわち黒を表す点である。また、頂点ma
xはR、G、Bすべてが1、すなわち白を表す点である。こ
の立方体の各軸を均等または不均等に区切ることで形成
される格子の、各格子点に対応する出力色情報が3D LUT
に保持される。
When the RGB values each have a value normalized to the range of 0 to 1, the RGB color space can be represented by a cube as shown in FIG. The vertices O of the cube in Fig. 3 are R, G, B.
All are zeros, that is, points that represent black. Also, the vertex ma
x is a point where R, G, and B are all 1, that is, white. The output color information corresponding to each grid point of the grid formed by dividing each axis of this cube evenly or unevenly is the 3D LUT.
Held in.

【0033】一般に、3D LUTは、色変換前の所定の色空
間(本実施形態の場合はRGB色空間)において定義され
た所定の格子の、各格子点における変換後の色を示す情
報を格納する。つまり、格子点の座標は入力色空間の入
力値に対応し、その格子点に格納された情報が入力値に
対応する出力値である。例えば、CIE XYZ色空間やCIEL*
a*b*あるいは所定のRGB色空間で定義される三次元の色
を、CMYKで構成される四色インクを使用するプリンタの
色空間に変換する場合、CIE XYZ、L*a*b*、RGB色空間で
三次元の格子が定義され、各格子点データとして、変換
後のCMYK出力値が保持される。本実施形態でも出力色空
間をCMYKとして説明するが、四面体補間を用いた3D LUT
をベースとする演算を用いる限り、出力の色空間によら
ず本実施形態を適用することができる。
Generally, the 3D LUT stores information indicating the color after conversion at each grid point of a predetermined grid defined in a predetermined color space before color conversion (RGB color space in this embodiment). To do. That is, the coordinates of the grid point correspond to the input value in the input color space, and the information stored in the grid point is the output value corresponding to the input value. For example, CIE XYZ color space and CIEL *
When converting a * b * or a three-dimensional color defined in a predetermined RGB color space into the color space of a printer using four-color ink composed of CMYK, CIE XYZ, L * a * b *, A three-dimensional grid is defined in the RGB color space, and the converted CMYK output value is held as each grid point data. Although the output color space is described as CMYK also in this embodiment, a 3D LUT using tetrahedral interpolation is used.
This embodiment can be applied regardless of the output color space, as long as the calculation based on is used.

【0034】図4は、図3に示す立体C0を拡大して示す図
である。立体C0は、八つの格子点V000、V001、V010、V0
11、V100、V101、V110およびV111で構成される。これら
格子点において、V000は最小の入力値に対応する点(図
3において頂点Oに近い点)、V111は最大の入力値に対応
する点(図3において頂点maxに近い点)である。
FIG. 4 is an enlarged view of the solid C0 shown in FIG. Solid C0 has eight grid points V000, V001, V010, V0
11, V100, V101, V110 and V111. At these grid points, V000 is the point corresponding to the minimum input value (Fig.
3 is a point near the vertex O), and V111 is a point corresponding to the maximum input value (a point near the vertex max in FIG. 3).

【0035】3D LUTデータを生成する際に、RGB色空間
の各軸を等間隔で区切ると立体C0は常に立方体になり、
不均等に区切ると直方体になる場合がある。以下では立
体C0が立方体であるとして説明するが、直方体の場合
も、V000を原点とするときのP0の相対座標を、各辺の長
さに応じて正規化しておくことで、立方体の場合と同様
に扱うことができる。
When the axes of the RGB color space are divided at equal intervals when the 3D LUT data is generated, the solid C0 is always a cube,
It may become a rectangular parallelepiped when it divides unevenly. In the following, the solid C0 is described as a cube, but even in the case of a rectangular parallelepiped, the relative coordinates of P0 when the origin is V000 are normalized according to the length of each side, so that Can be treated similarly.

【0036】次に、キャッシュテーブル503に立体C0に
関する情報が含まれているか否かを調べる。初期の段階
では、キャッシュテーブル503は何も情報を保持しない
から、処理はステップS5に移行し、3D LUTから立体C0に
関する二頂点、つまり入力が最小および最大になる点V0
00およびV111の出力値を読み込む。これは、四面体補間
において、変換対象点P0を含む立体が確定するとその二
頂点V000およびV111の情報を必ず使用するためである。
Next, it is checked whether or not the cache table 503 contains information about the solid C0. At the initial stage, since the cache table 503 does not hold any information, the process proceeds to step S5, and the two vertices related to the solid C0 from the 3D LUT, that is, the point V0 at which the input becomes the minimum and the maximum.
Read the output value of 00 and V111. This is because, in the tetrahedral interpolation, when the solid body including the conversion target point P0 is determined, the information of the two vertices V000 and V111 is always used.

【0037】次に、二頂点V000およびV111の出力値情報
を、プログラムコード501のアルゴリズムに従い、キャ
ッシュテーブル503に書き込む。
Next, the output value information of the two vertices V000 and V111 is written in the cache table 503 according to the algorithm of the program code 501.

【0038】キャッシュアルゴリズムには様々な手法が
存在するが、代表的な手法にはハッシュテーブルを使用
する方法やLRU(Least Recently Used)法などがある。キ
ャッシュアルゴリズムにどのような手法を用いても本実
施形態には有効である。ただし、ステップS4で、キャッ
シュにヒットしているか否かのチェックに要する処理時
間や、ステップS6で、データをキャッシュテーブルに格
納するのに要する処理時間を考慮する必要がある。
There are various methods for the cache algorithm, and typical methods include a method using a hash table and an LRU (Least Recently Used) method. Whatever method is used for the cache algorithm is effective in this embodiment. However, it is necessary to consider the processing time required for checking whether the cache is hit in step S4 and the processing time required for storing the data in the cache table in step S6.

【0039】また、キャッシュに要するメモリ領域が必
要以上に多い場合は、CPU 1のCPUキャッシュ101の汚染
率が高まり、CPUキャッシュ101の動作効率が落ちてしま
う。そのため、キャッシュテーブル503のサイズをでき
るだけ小さくするキャッシュアルゴリズムが好ましい。
とくに、キャッシュテーブル503の開始アドレスおよび
データが、CPUキャッシュ101の一つのキャッシュライン
に収まるようにできれば、CPUキャッシュ101の汚染率を
最小限に留めることができ有効である。
If the memory area required for the cache is unnecessarily large, the pollution rate of the CPU cache 101 of the CPU 1 increases, and the operation efficiency of the CPU cache 101 decreases. Therefore, a cache algorithm that makes the size of the cache table 503 as small as possible is preferable.
Particularly, if the start address and data of the cache table 503 can be accommodated in one cache line of the CPU cache 101, the pollution rate of the CPU cache 101 can be minimized, which is effective.

【0040】以上の条件を満たすキャッシュアルゴリズ
ムとしては、公知のLRU法に準じ、しかもキャッシュ容
量を少なくした手法が極めて有効である。また、極単純
に、キャッシュ容量を一つの立体分の情報、つまり立体
C0を示すインデックス、並びに、二頂点V000およびV111
の出力値情報を格納するのに必要なサイズに限定する手
法も有効である。この場合、キャッシュにヒットしたか
否かを調べるのに要する時間、データをキャッシュテー
ブルに書き込む時間を最小限に抑えることができる。
As a cache algorithm satisfying the above conditions, a method based on the known LRU method and having a small cache capacity is extremely effective. Also, very simply, the cache capacity is the information for one solid, that is, the solid
Index indicating C0, and two vertices V000 and V111
It is also effective to limit the size to the size required to store the output value information of. In this case, the time required to check whether or not the cache is hit and the time to write the data in the cache table can be minimized.

【0041】本実施形態では、従来のように出力値を点
のレベルでキャッシュするのではなく、立体の範囲(体
積)でキャッシュすることで、写真画像などの自己相関
性が低い画像データに対してヒット率rを高める。さら
に、キャッシュするデータを立体の全頂点ではなく、必
要最小限な二頂点に限定することで、キャッシュテーブ
ルへの書き込み時間を最小限に抑える。
In the present embodiment, the output value is not cached at the level of a point as in the conventional case, but is cached in the range (volume) of a solid, so that image data having a low autocorrelation such as a photographic image is cached. Increase the hit ratio r. Furthermore, by limiting the data to be cached to the minimum required two vertices instead of all the vertices of the solid, the writing time to the cache table is minimized.

【0042】二回目以降のステップS4の実行において
は、キャッシュテーブル503に立体C0に関する情報が含
まれ、キャッシュにヒットする場合がある。前述したと
おり、立体の体積でキャッシュするから、写真画像に対
するヒット率rは高くなる。キャッシュにヒットした場
合はステップS7に処理を移し、キャッシュテーブル503
から頂点V000およびV111の出力値を得る。
In the execution of step S4 from the second time onward, the cache table 503 may contain information on the solid C0 and may hit the cache. As described above, since the volume is cached in three dimensions, the hit rate r for a photographic image is high. If the cache is hit, the process moves to step S7 and the cache table 503
Obtain the output values of vertices V000 and V111 from.

【0043】このようなキャッシュが存在しない場合、
RAM 5の図示しない領域に格納された3D LUTからデータ
を読み出すことになるが、二頂点V000およびV111の情報
は3DLUT中に離散的に格納されていることが多く、その
結果、CPUキャッシュ101の汚染率が高まる。本実施形態
のキャッシュテーブル503のように、RAM 5の一部領域に
二頂点の出力値をキャッシュしておけば、以降のアクセ
スにおいて、CPUキャッシュ101に3D LUTの離散的なデー
タをキャッシュする必要が無くなり、CPUキャッシュ101
の汚染率を最小限することができる。さらに、キャッシ
ュテーブル503は頻繁にアクセスされるため、常にCPUキ
ャッシュ101にデータがキャッシュされ、3D LUT全体を
アクセスしてCPUキャッシュ101の汚染率を高める場合に
比べて、CPUキャッシュ101の利用効率が極めて高くな
り、処理速度の向上が期待できる。
If no such cache exists,
The data is read from the 3D LUT stored in the area (not shown) of the RAM 5, but the information of the two vertices V000 and V111 is often stored discretely in the 3D LUT, and as a result, the CPU cache 101 The pollution rate increases. If the output values of the two vertices are cached in a partial area of the RAM 5 like the cache table 503 of this embodiment, it is necessary to cache the discrete data of the 3D LUT in the CPU cache 101 in the subsequent access. Lost, CPU cache 101
The pollution rate of can be minimized. Further, since the cache table 503 is frequently accessed, the data is always cached in the CPU cache 101, and the utilization efficiency of the CPU cache 101 is higher than that when the entire 3D LUT is accessed to increase the pollution rate of the CPU cache 101. It will be extremely high, and improvement in processing speed can be expected.

【0044】次に、ステップS8で、入力値の点P0が含ま
れる四面体を算出する。四面体補間では、立体C0を図5
にT0からT5で示す六つの四面体に分割し、入力値P0がど
の四面体に含まれるかによって補間演算に用いる残る二
点を決定する。頂点V000を原点にするときの入力値P0の
相対座標を(r, g, b)にする場合、P0がどの四面体に含
まれるかは以下の比較によって判定される。ステップS8
で決定した四面体をTnとする。 r > g > b であれば T0 r > b > g であれば T1 b > r > g であれば T2 g > r > b であれば T3 g > b > r であれば T4 b > g > r であれば T5
Next, in step S8, a tetrahedron including the input value point P0 is calculated. For tetrahedral interpolation, see the solid C0 in Figure 5.
Are divided into six tetrahedrons indicated by T0 to T5, and the remaining two points used for interpolation calculation are determined depending on which tetrahedron the input value P0 is included in. When the relative coordinates of the input value P0 when the vertex V000 is the origin is (r, g, b), which tetrahedron P0 is included in is determined by the following comparison. Step S8
Let Tn be the tetrahedron determined in. If r>g> b then T0 r>b> g if T1 b>r> g if T2 g>r> b then T3 g>b> r then T4 b>g> r Then T5

【0045】次に、ステップS9で、キャッシュテーブル
504に四面体Tnに関する情報が含まれているか否かを調
べる。初期の段階では、キャッシュテーブル504には何
の情報も含まれていないから、処理はステップS10に移
る。
Next, in step S9, the cache table
Check whether 504 contains information about the tetrahedron Tn. At the initial stage, since the cache table 504 does not contain any information, the process proceeds to step S10.

【0046】ステップS10では、3D LUTから四面体Tnに
関する、V000およびV111以外の二頂点の出力値を読み込
む。すなわち、四面体TnがT0の場合はV100およびV110、
T1の場合はV100およびV101、T2の場合はV001およびV10
1、T3の場合はV010およびV110、T4の場合はV010およびV
011、T5の場合はV001およびV011である。
In step S10, the output values of the two vertices other than V000 and V111 regarding the tetrahedron Tn are read from the 3D LUT. That is, when the tetrahedron Tn is T0, V100 and V110,
V100 and V101 for T1, V001 and V10 for T2
1, V10 and V110 for T3, V010 and V for T4
In the case of 011 and T5, they are V001 and V011.

【0047】続いて、ステップS11で、読み込んだ二頂
点の出力値をキャッシュコード502のアルゴリズムに従
い、キャッシュテーブル504に書き込む。ここで用いる
キャッシュ手法に関しても、キャッシュコード501およ
びキャッシュテーブル503に関して述べたことがそのま
ま適用できる。
Then, in step S11, the read output values of the two vertices are written in the cache table 504 according to the algorithm of the cache code 502. The description regarding the cache code 501 and the cache table 503 can be directly applied to the cache method used here.

【0048】このように、キャッシュデータを立体C0の
全頂点ではなく、必要最小限の二頂点(キャッシュテー
ブル503のキャッシュ内容を含めれば必要最小限の四頂
点)に限定することで、キャッシュテーブルへの書き込
み時間を最小限に抑えることができる。
As described above, by limiting the cache data to the minimum required two vertices (the minimum required four vertices if the cache contents of the cache table 503 are included) instead of all the vertices of the solid C0, the cache data can be stored in the cache table. Write time can be minimized.

【0049】二回目以降にステップS9が実行されると、
キャッシュテーブル504に四面体Tnに関する情報が含ま
れる、すなわちキャッシュにヒットする場合がある。前
述したとおり、四面体の体積としてキャッシュするた
め、写真画像に対するヒット率rは高い。キャッシュに
ヒットした場合は処理をステップS12に移し、キャッシ
ュテーブル504から二頂点の出力値を得る。
When step S9 is executed after the second time,
The cache table 504 may contain information about the tetrahedron Tn, that is, it may hit the cache. As described above, since the cache is performed as the volume of the tetrahedron, the hit rate r for the photographic image is high. If the cache is hit, the process proceeds to step S12, and the output values of the two vertices are obtained from the cache table 504.

【0050】このようなキャッシュが存在しない場合、
RAM 5に格納された3D LUTからデータを読み出すことに
なるが、二頂点の出力値は3D LUT内に離散的に格納され
ていることが多いため、CPUキャッシュ101の汚染率を高
める。本実施形態のキャッシュテーブル504のように、R
AM 5の一部領域に二頂点の出力値をキャッシュしておけ
ば、以降のアクセスにおいて、CPUキャッシュ101に3D L
UTの離散的なデータをキャッシュする必要が無くなり、
CPUキャッシュ101の汚染率を最小限することができる。
さらに、キャッシュテーブル504は頻繁にアクセスされ
るため、常にCPUキャッシュ101にデータがキャッシュさ
れ、3D LUT全体をアクセスしてCPUキャッシュ101の汚染
率を高める場合に比べて、CPUキャッシュ101の利用効率
が極めて高くなり、処理速度の向上が期待できる。
If no such cache exists,
Although the data is read from the 3D LUT stored in the RAM 5, the output values of the two vertices are often discretely stored in the 3D LUT, which increases the pollution rate of the CPU cache 101. Like the cache table 504 of this embodiment, R
If the output values of two vertices are cached in a partial area of AM 5, 3D L will be stored in the CPU cache 101 in subsequent accesses.
There is no need to cache the discrete data of UT,
The pollution rate of the CPU cache 101 can be minimized.
Furthermore, since the cache table 504 is frequently accessed, data is always cached in the CPU cache 101, and the utilization efficiency of the CPU cache 101 is higher than that when the entire 3D LUT is accessed to increase the pollution rate of the CPU cache 101. It will be extremely high, and improvement in processing speed can be expected.

【0051】次に、ステップS13で、得られた四頂点の
出力値を基に四面体補間を行い、入力値P0に対応する出
力値を算出し、ステップS14で、出力値を画像出力用の
出力バッファに書き出す。出力値は、必要に応じて、記
憶装置6、外部記憶装置9あるいは通信インタフェイス7
を介して出力される。
Next, in step S13, tetrahedral interpolation is performed based on the obtained output values of the four vertices to calculate an output value corresponding to the input value P0, and in step S14, the output value is output for image output. Write to the output buffer. The output value is stored in the storage device 6, the external storage device 9 or the communication interface 7 as necessary.
Is output via.

【0052】そして、ステップS15で、処理対象の全画
素に対して色変換処理が終了したか否かをチェックし、
未了であれば処理をステップS2に戻し、終了であれば色
変換処理を終える。
Then, in step S15, it is checked whether or not the color conversion processing is completed for all pixels to be processed,
If not completed, the process returns to step S2, and if completed, the color conversion process ends.

【0053】このように、立体C0および四面体Tnを体積
としてキャッシュすることで、キャッシュのヒット率r
を飛躍的に高め、さらにキャッシュメモリに対する入出
力を最小限に抑えることができ、色変換処理のスピード
を向上させることができる。
As described above, by caching the solid C0 and the tetrahedron Tn as the volume, the cache hit ratio r
And the input / output to the cache memory can be minimized, and the speed of color conversion processing can be improved.

【0054】[0054]

【第2実施形態】以下、本発明にかかる第2実施形態の画
像処理装置を説明する。なお、第2実施形態において、
第1実施形態と略同様の構成については、同一符号を付
して、その詳細説明を省略する。
[Second Embodiment] An image processing apparatus according to a second embodiment of the present invention will be described below. In the second embodiment,
The same components as those in the first embodiment are designated by the same reference numerals, and detailed description thereof will be omitted.

【0055】第2実施形態は、第1実施形態の手法をさら
に高速化するものである。図6は第2実施形態の画像処理
の一例を示すフローチャートで、図2と同じ処理を行う
ステップには同一符号を付して、その詳細説明を省略す
る。
The second embodiment further speeds up the method of the first embodiment. FIG. 6 is a flowchart showing an example of image processing of the second embodiment. Steps that perform the same processing as in FIG. 2 are assigned the same reference numerals and detailed description thereof is omitted.

【0056】ステップS101で、RAM 5に確保されたキャ
ッシュテーブル505に入力値P0に対応する出力値が存在
するか否かをチェックする。初期の処理ではキャッシュ
テーブル505には何の情報も記録されていないから、処
理はステップS3に移る。
In step S101, it is checked whether or not the cache table 505 secured in the RAM 5 has an output value corresponding to the input value P0. Since no information is recorded in the cache table 505 in the initial process, the process proceeds to step S3.

【0057】ステップS13の補間演算が終了すると、ス
テップS103で、補間演算によって得られた出力値、およ
び、その元の入力値をキャッシュテーブル505にキャッ
シュする。
When the interpolation calculation in step S13 is completed, the output value obtained by the interpolation calculation and its original input value are cached in the cache table 505 in step S103.

【0058】二回目以降のステップS101の処理では、入
力値P0がキャッシュテーブル505にヒットする場合があ
り、ヒットした場合、処理はステップS102に移る。ステ
ップS102で、キャッシュテーブル505から入力値P0に対
応する出力値を読み込み、ステップS14で出力する。
In the processing of step S101 from the second time onward, the input value P0 may hit the cache table 505. If hit, the processing moves to step S102. In step S102, the output value corresponding to the input value P0 is read from the cache table 505, and output in step S14.

【0059】このように、第2実施形態によれば、写真
画像データだけでなく、グラフィクス系のデータのよう
に同じ色のデータが連続する部分が多い入力画像データ
に対しても、効率的な色変換を行うことができる。
As described above, according to the second embodiment, not only the photographic image data but also the input image data having many continuous portions of the same color data such as graphics data can be efficiently used. Color conversion can be performed.

【0060】[0060]

【第3実施形態】以下、本発明にかかる第3実施形態の画
像処理装置を説明する。なお、第3実施形態において、
第1実施形態と略同様の構成については、同一符号を付
して、その詳細説明を省略する。
Third Embodiment An image processing apparatus according to the third embodiment of the present invention will be described below. Incidentally, in the third embodiment,
The same components as those in the first embodiment are designated by the same reference numerals, and detailed description thereof will be omitted.

【0061】第3実施形態は、第1実施形態の手法をさら
に高速化するものである。図7は第3実施形態の画像処理
の一例を示すフローチャートで、図2と同じ処理を行う
ステップには同一符号を付して、その詳細説明を省略す
る。
The third embodiment further speeds up the method of the first embodiment. FIG. 7 is a flowchart showing an example of image processing of the third embodiment. Steps that perform the same processing as in FIG. 2 are assigned the same reference numerals and detailed description thereof is omitted.

【0062】ステップS201で、格子点と入力値P0とが一
致しているか否かをチェックし、一致しなければ処理は
ステップS4へ移る。一方、一致する場合、処理はステッ
プS202に移り、入力値P0に一致する格子点の出力値を3D
LUTから読み込み、ステップS14で出力する。
In step S201, it is checked whether or not the grid point and the input value P0 match, and if they do not match, the process proceeds to step S4. On the other hand, if they match, the process proceeds to step S202, and the output value of the grid point that matches the input value P0 is 3D.
It is read from the LUT and output in step S14.

【0063】このように、第3実施形態によれば、入力
値が3D LUTの格子点と一致する場合は不要な補間演算を
省くことで、色変換処理を高速化する。
As described above, according to the third embodiment, when the input value coincides with the lattice point of the 3D LUT, unnecessary interpolation calculation is omitted to speed up the color conversion process.

【0064】なお、上述した各実施形態において、図2
に示す画像処理装置で色変換処理を実行する例を説明し
たが、図2、図6または図7に示す画像処理を実行できる
ものであれば、図2に示すような、汎用的なコンピュー
タシステムの形態ではなく、DSP (Digital Signal Proc
essor)やASICなどの専用処理回路であってもよい。
In each of the above-described embodiments, FIG.
The example in which the color conversion process is executed by the image processing apparatus shown in FIG. 2 has been described. However, as long as the image processing shown in FIG. 2, FIG. 6 or FIG. Of the DSP (Digital Signal Proc
It may be a dedicated processing circuit such as an essor) or an ASIC.

【0065】上述した各実施形態によれば、直方体や四
面体単位のキャッシュを構成することで、従来の点単位
のキャッシュに比べて格段にヒット率rを高めることが
できる。従って、高速に色変換を行うことが可能にな
る。
According to each of the above-described embodiments, the hit rate r can be remarkably increased as compared with the conventional point unit cache by forming the cache unit of a rectangular parallelepiped or a tetrahedron. Therefore, it is possible to perform color conversion at high speed.

【0066】とくに、四面体補間演算において、直方体
が決まれば必ず用いられる二頂点の出力値と、直方体と
を関連付けてキャッシュすることで、キャッシュテーブ
ルに対する不要な情報の書き込み、読み出しを避けるこ
とができ、より高速に色変換を行うことが可能になる。
In particular, in the tetrahedral interpolation calculation, the output values of the two vertices that are always used when the rectangular parallelepiped is determined and the rectangular parallelepiped are associated and cached, so that writing and reading of unnecessary information to the cache table can be avoided. , It becomes possible to perform color conversion at higher speed.

【0067】さらに、四面体補間演算において、四面体
が決まった段階で初めて演算に用いることができる二頂
点の出力値と、四面体とを関連付けてキャッシュするこ
とで、キャッシュテーブルに対する不要な情報の書き込
み、読み出しを避けることができ、より高速に色変換を
行うことが可能になる。
Further, in the tetrahedral interpolation calculation, the output values of the two vertices, which can be used for the calculation for the first time when the tetrahedron is determined, and the tetrahedron are cached in association with each other. Writing and reading can be avoided, and color conversion can be performed at higher speed.

【0068】また、3D LUTの出力値をキャッシュしてお
くことで、離散的なメモリアクセスを低減して、効率よ
くCPUキャッシュ101を利用して、色変換の高速化を実現
する。
Further, by caching the output value of the 3D LUT, discrete memory access can be reduced, and the CPU cache 101 can be efficiently used to realize high-speed color conversion.

【0069】また、直方体と四面体の情報を異なるキャ
ッシュで管理することで、キャッシュテーブルに対す
る、演算に使用しない格子点出力値の書き込み、読み出
しを低減して、色変換の高速化を実現する。
Further, by managing the information of the rectangular parallelepiped and the information of the tetrahedron by different caches, the writing and reading of the grid point output values which are not used for the calculation in the cache table can be reduced, and the speed of the color conversion can be increased.

【0070】また、キャッシュテーブルの開始アドレス
およびキャッシュサイズを、CPUキャッシュ101の一つの
キャッシュラインに制限することで、CPUキャッシュ101
の使用率を抑え、さらにキャッシュに対するヒットの確
認、書込、読出処理を単純化して、色変換の高速化を実
現する。
Further, by limiting the start address and the cache size of the cache table to one cache line of the CPU cache 101, the CPU cache 101
The use rate of the cache is suppressed, and the confirmation, writing, and reading of hits to the cache are simplified, and the speed of color conversion is increased.

【0071】[0071]

【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
Other Embodiments Even when the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), an apparatus including one device (for example, a copying machine). Machine, facsimile machine, etc.).

【0072】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
Further, an object of the present invention is to supply a storage medium (or recording medium) recording a program code of software for realizing the functions of the above-described embodiments to a system or apparatus, and to supply a computer of the system or apparatus ( Needless to say, this can also be achieved by the CPU or MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Also,
By executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instructions of the program code.
Needless to say, this also includes the case where the above-mentioned processes perform part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

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

【0074】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードが格納されることになる。
When the present invention is applied to the above storage medium, the storage medium stores the program code corresponding to the above-described flowchart.

【0075】[0075]

【発明の効果】以上説明したように、本発明によれば、
高速な色変換を実現することができる。
As described above, according to the present invention,
High-speed color conversion can be realized.

【図面の簡単な説明】[Brief description of drawings]

【図1】実施形態の画像処理装置の構成例を示すブロッ
ク図、
FIG. 1 is a block diagram showing a configuration example of an image processing apparatus according to an embodiment,

【図2】実施形態の画像処理装置における画像処理の一
例を示すフローチャート、
FIG. 2 is a flowchart showing an example of image processing in the image processing apparatus according to the embodiment,

【図3】3D LUTによって定義される立体を説明する図、FIG. 3 is a diagram illustrating a solid defined by a 3D LUT,

【図4】図3に示す立体を拡大して示す図、FIG. 4 is an enlarged view of the solid body shown in FIG. 3;

【図5】四面体を説明する図、FIG. 5 is a diagram illustrating a tetrahedron;

【図6】第2実施形態の画像処理の一例を示すフローチ
ャート、
FIG. 6 is a flowchart showing an example of image processing of the second embodiment,

【図7】第3実施形態の画像処理の一例を示すフローチ
ャートである。
FIG. 7 is a flowchart illustrating an example of image processing according to the third embodiment.

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 AA20 CA01 CA08 CA16 CB01 CB08 CB16 CE16 CH01 CH11 CH14 DA16 5C077 LL18 MP08 PP32 PP33 PP36 PP37 PQ12 PQ22 PQ23 RR19 5C079 HB01 HB03 HB05 HB08 HB11 HB12 MA01 MA04 MA11 NA11   ─────────────────────────────────────────────────── ─── Continued front page    F-term (reference) 5B057 AA20 CA01 CA08 CA16 CB01                       CB08 CB16 CE16 CH01 CH11                       CH14 DA16                 5C077 LL18 MP08 PP32 PP33 PP36                       PP37 PQ12 PQ22 PQ23 RR19                 5C079 HB01 HB03 HB05 HB08 HB11                       HB12 MA01 MA04 MA11 NA11

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 三次元ルックアップテーブルおよび四面
体補間により、入力値を色変換する画像処理方法であっ
て、 前記入力値を含む、前記ルックアップテーブルによって
定義される直方体の格子点の出力値をキャッシュし、 前記入力値を含む、前記直方体によって定義される四面
体の格子点の出力値をキャッシュすることを特徴とする
画像処理方法。
1. An image processing method for color-converting an input value by using a three-dimensional lookup table and tetrahedral interpolation, the output value of a rectangular parallelepiped grid point defined by the lookup table including the input value. And an output value at a grid point of a tetrahedron defined by the rectangular parallelepiped that includes the input value is cached.
【請求項2】 前記直方体に関するキャッシュは、前記
直方体の頂点のうち、入力値が最小および最大に相当す
る二頂点に対応する出力値をキャッシュすることを特徴
とする請求項1に記載された画像処理方法。
2. The image according to claim 1, wherein the cache related to the rectangular parallelepiped caches output values corresponding to two vertices of the rectangular parallelepiped whose input values correspond to a minimum and a maximum, respectively. Processing method.
【請求項3】 前記四面体に関するキャッシュは、前記
四面体の頂点のうち、入力値が最小および最大に相当す
る二頂点とは異なる二頂点に対応する出力値をキャッシ
ュすることを特徴とする請求項1または請求項2に記載さ
れた画像処理方法。
3. The cache related to the tetrahedron caches output values corresponding to two vertices of the tetrahedron different from the two vertices corresponding to the minimum and maximum input values. The image processing method according to claim 1 or claim 2.
【請求項4】 前記直方体に関するキャッシュに利用さ
れるキャッシュテーブルの開始アドレスおよびキャッシ
ュサイズは、前記色変換に関する演算を行うプロセッサ
の1キャッシュラインに収まることを特徴とする請求項1
から請求項3の何れかに記載された画像処理方法。
4. The start address and cache size of a cache table used for the cache related to the rectangular parallelepiped are within one cache line of a processor that performs an operation related to the color conversion.
4. The image processing method according to claim 3.
【請求項5】 前記四面体に関するキャッシュに利用さ
れるキャッシュテーブルの開始アドレスおよびキャッシ
ュサイズは、前記色変換に関する演算を行うプロセッサ
の1キャッシュラインに収まることを特徴とする請求項1
から請求項4の何れかに記載された画像処理方法。
5. The start address and the cache size of a cache table used for the cache related to the tetrahedron fit within one cache line of a processor that performs an operation related to the color conversion.
5. The image processing method according to claim 4.
【請求項6】 さらに、前記色変換された入力値に対応
する出力値をキャッシュすることを特徴とする請求項1
から請求項5の何れかに記載された画像処理方法。
6. The output value corresponding to the color-converted input value is further cached.
6. The image processing method according to claim 5.
【請求項7】 前記入力値が前記三次元ルックアップテ
ーブルの格子点に一致する場合、その格子点に対応する
出力値を、前記入力値の色変換結果にすることを特徴と
する請求項1から請求項6の何れかに記載された画像処理
方法。
7. When the input value matches a grid point of the three-dimensional lookup table, the output value corresponding to the grid point is set as a color conversion result of the input value. 7. The image processing method according to claim 6.
【請求項8】 三次元ルックアップテーブルおよび四面
体補間により、入力値を色変換する画像処理装置であっ
て、 前記入力値を含む、前記三次元ルックアップテーブルに
よって定義される直方体の格子点の出力値をキャッシュ
する第一のキャッシュ手段と、 前記入力値を含む、前記直方体によって定義される四面
体の格子点の出力値をキャッシュする第二のキャッシュ
手段とを有することを特徴とする画像処理装置。
8. An image processing device for color-converting an input value by a three-dimensional lookup table and tetrahedral interpolation, the method comprising: a rectangular parallelepiped grid point defined by the three-dimensional lookup table including the input value. Image processing comprising: first cache means for caching an output value; and second cache means for caching an output value of a grid point of a tetrahedron defined by the rectangular parallelepiped including the input value. apparatus.
【請求項9】 画像処理装置を制御して、請求項1から
請求項7の何れかに記載された画像処理を実行すること
を特徴とするプログラム。
9. A program for controlling an image processing apparatus to execute the image processing according to any one of claims 1 to 7.
【請求項10】 請求項9に記載されたプログラムが記
録されたことを特徴とする記録媒体。
10. A recording medium on which the program according to claim 9 is recorded.
JP2002091638A 2002-03-28 2002-03-28 Image processor and method thereof Withdrawn JP2003289449A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002091638A JP2003289449A (en) 2002-03-28 2002-03-28 Image processor and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002091638A JP2003289449A (en) 2002-03-28 2002-03-28 Image processor and method thereof

Publications (1)

Publication Number Publication Date
JP2003289449A true JP2003289449A (en) 2003-10-10

Family

ID=29236678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002091638A Withdrawn JP2003289449A (en) 2002-03-28 2002-03-28 Image processor and method thereof

Country Status (1)

Country Link
JP (1) JP2003289449A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007054191A (en) * 2005-08-23 2007-03-08 Aloka Co Ltd Ultrasonograph
JP2007081655A (en) * 2005-09-13 2007-03-29 Seiko Epson Corp Image processor and image processing method
JP2008259177A (en) * 2007-03-30 2008-10-23 Toshiba Corp Color conversion device, color conversion method, color conversion program
JP2012029170A (en) * 2010-07-26 2012-02-09 Canon Inc Color processing apparatus and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007054191A (en) * 2005-08-23 2007-03-08 Aloka Co Ltd Ultrasonograph
JP2007081655A (en) * 2005-09-13 2007-03-29 Seiko Epson Corp Image processor and image processing method
JP2008259177A (en) * 2007-03-30 2008-10-23 Toshiba Corp Color conversion device, color conversion method, color conversion program
JP2012029170A (en) * 2010-07-26 2012-02-09 Canon Inc Color processing apparatus and method

Similar Documents

Publication Publication Date Title
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
JP2007158968A (en) Information processing apparatus and information processing method
US8325377B2 (en) Image processing method and apparatus
US8503025B2 (en) Image processing apparatus, image processing method, and computer program product
JP5501041B2 (en) Image processing apparatus, image processing method, and program
JP2003289449A (en) Image processor and method thereof
JP2004023739A (en) Method for preparing color conversion table and its device
US20020024524A1 (en) Image processing apparatus, control method thereof, and image processing method
JP2004274131A (en) Color conversion apparatus
US7630098B2 (en) Dynamic adjustment of raster image processing performance based on colors seen within several runs
JP5267147B2 (en) Image processing apparatus, image processing method, and computer program
JP6463437B2 (en) Image processing apparatus, control method therefor, and program
JP2000201278A (en) Color converting device
JP2008090686A (en) Image processor, and image forming device provided therewith
JP2019050569A (en) Mechanism to perform color forcing parameter conversion
JP6808712B2 (en) Image processing device, its control method, and program
JP5800217B2 (en) Rendering method
JP2003288587A (en) Image processor and method therefor
US10440236B2 (en) Multi-object color caching mechanism
JP2024035723A (en) Image processing device, image processing method, and program
US8175381B2 (en) Image processing method and apparatus
JP2010268411A (en) Image processor, method of controlling the same, and program
JP2003244452A (en) Image processor
US20190310810A1 (en) Image processing apparatus and image processing method
JP6225202B2 (en) Image processing apparatus, control method therefor, and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050607