JP2023065885A - Image processing device, image processing method and program - Google Patents

Image processing device, image processing method and program Download PDF

Info

Publication number
JP2023065885A
JP2023065885A JP2021176278A JP2021176278A JP2023065885A JP 2023065885 A JP2023065885 A JP 2023065885A JP 2021176278 A JP2021176278 A JP 2021176278A JP 2021176278 A JP2021176278 A JP 2021176278A JP 2023065885 A JP2023065885 A JP 2023065885A
Authority
JP
Japan
Prior art keywords
input
color
value
output
color space
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.)
Pending
Application number
JP2021176278A
Other languages
Japanese (ja)
Inventor
尚之 西川
Naoyuki Nishikawa
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 JP2021176278A priority Critical patent/JP2023065885A/en
Publication of JP2023065885A publication Critical patent/JP2023065885A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

To perform a color conversion process efficiently using hardware resources.SOLUTION: Axis setting for deriving a point where a conversion target point ti and one of color components match is performed using a reference table. The output values of points Q1, Q2, Q3, Q4 between grid points where the conversion target point ti and the value in R axis direction are the same, are acquired from the reference table. Linear interpolation in a G axis direction is carried out using the acquired output values of Q1-Q4, and the output values of interpolation points R1, R2 between the points Q1-Q4 where the conversion target point ti and the value in G axis direction are the same are calculated. Linear interpolation in a B axis direction is carried out using the acquired output values of interpolation points R1, R2, and the output value of an interpolation point S between the interpolation points R1, R2 where the conversion target point ti and the value in B axis direction are the same, i.e., the conversion target point ti, is calculated.SELECTED DRAWING: Figure 6

Description

本開示は、色変換処理のための画像処理技術に関する。 The present disclosure relates to image processing technology for color conversion processing.

従来、図形を描画するために図形が持つ座標情報等から図形の輪郭情報(エッジ情報とも呼ぶ)を抽出し、抽出した輪郭情報に基づいて画像を形成するレンダリング手法は一般に広く利用されている。 2. Description of the Related Art Conventionally, a rendering method has been widely used in which outline information (also called edge information) of a figure is extracted from the coordinate information of the figure in order to draw the figure, and an image is formed based on the extracted outline information.

デジタルデータとして提供される印刷対象のドキュメント(文字や図形、写真イメージを含む)はカラーデータで構成される場合が多く、ディスプレイ等では色付きのドキュメントとして表示されたり、画像処理装置において編集、保存されたりする。このようなドキュメントを紙等に印刷する場合は、ドキュメントをページ記述言語(PDL)形式のデータ(PDLデータ)に変換してプリンタに送信し、PDLデータをプリンタ内で処理して画像を記録媒体上に形成する。PDLデータに基づき印刷するために、PDLデータをRIP(Raster Image Processor)処理する際、PDLデータ内の各オブジェクトに対応する色に対して、CMS(カラーマネージメントシステム)等による色変換処理が実行される。 Documents to be printed that are provided as digital data (including characters, graphics, and photographic images) are often composed of color data. or When printing such a document on paper, etc., the document is converted to page description language (PDL) format data (PDL data) and sent to the printer, the PDL data is processed in the printer, and the image is transferred to the recording medium. Form on top. In order to print based on the PDL data, when RIP (Raster Image Processor) processes the PDL data, color conversion processing is executed by a CMS (color management system) or the like for the colors corresponding to each object in the PDL data. be.

この色変換処理は、高速化することが望まれているが、多くの場合ソフトウエアで実現されているため、その速度はソフトウエアを実行するCPUでの処理速度に依存する。特許文献1では、色変換処理の高速化のためにカラールックアップテーブル(カラーLUT)を使用する方法が提案されている。 This color conversion processing is desired to be speeded up, but in many cases, it is implemented by software, so the speed depends on the processing speed of the CPU that executes the software. Patent Document 1 proposes a method of using a color lookup table (color LUT) to speed up color conversion processing.

特開2008-245029号公報JP 2008-245029 A

しかし、特許文献1の方法では、組み込み環境で用いられるプロセッサを用いる場合等、キャッシュメモリのサイズに制約が大きい環境では、必要なカラーLUTを一度に全て展開できず、色変換処理を効率良く処理することが困難であるという課題がある。 However, with the method disclosed in Japanese Patent Laid-Open No. 2002-100000, in environments where the size of the cache memory is severely constrained, such as when a processor used in an embedded environment is used, the necessary color LUT cannot be developed all at once, and the color conversion process can be efficiently processed. There is a problem that it is difficult to

本開示によれば、複数の色成分からなる入力色空間の入力値を出力色空間の出力値に変換する画像処理装置であって、前記入力値と前記出力値とが紐付けられたルックアップテーブルを参照することにより、前記入力色空間における変換対象の入力値と前記複数の色成分のうちの1つの色成分が同じ値である前記入力色空間における複数の入力値に対応する複数の出力値を取得する取得手段と、前記ルックアップテーブルを参照して取得した複数の出力値を用いて補間演算を行い、前記変換対象の入力値に対応する出力値を算出する算出手段と、を備えたことを特徴とする。 According to the present disclosure, an image processing device that converts an input value in an input color space made up of a plurality of color components into an output value in an output color space, wherein the lookup in which the input value and the output value are associated A plurality of outputs corresponding to a plurality of input values in the input color space in which an input value to be converted in the input color space and one of the plurality of color components have the same value by referring to a table. obtaining means for obtaining a value; and calculating means for performing an interpolation operation using a plurality of output values obtained by referring to the lookup table to calculate an output value corresponding to the input value to be converted. characterized by

本開示では、ハードウェア資源を効率良く利用して色変換処理を行うことができる。 In the present disclosure, it is possible to efficiently use hardware resources to perform color conversion processing.

一般的な画像形成部の概略構成例を示す図Diagram showing a schematic configuration example of a general image forming unit 本開示の実施形態1における画像処理装置のハードウェア構成例を示す図FIG. 1 shows a hardware configuration example of an image processing apparatus according to Embodiment 1 of the present disclosure; 本開示の実施形態1に係る画像処理装置における内部処理タスクを説明した概略図Schematic diagram explaining internal processing tasks in the image processing apparatus according to Embodiment 1 of the present disclosure 本開示の実施形態1に係る画像処理装置の構成例を示す図A diagram showing a configuration example of an image processing apparatus according to Embodiment 1 of the present disclosure 一般的な補間処理を説明した概念図Conceptual diagram explaining general interpolation processing 本開示の実施形態1に係る補間処理手順を示す図A diagram showing an interpolation processing procedure according to the first embodiment of the present disclosure 本開示の実施形態2に係る画像処理装置を含むプリンティングシステムの構成例を示す図FIG. 11 is a diagram showing a configuration example of a printing system including an image processing apparatus according to Embodiment 2 of the present disclosure; 本開示の実施形態2におけるシーン毎の色分布を解析した概説図Schematic diagram of analysis of color distribution for each scene in Embodiment 2 of the present disclosure 本開示の実施形態2における複数のシーン別画像データの色分布を共通化し1つに合成するための処理手順を示す図FIG. 11 is a diagram showing a processing procedure for sharing color distributions of a plurality of scene-specific image data and synthesizing them into one according to the second embodiment of the present disclosure; FIG.

以下、添付の図面を参照しながら本開示の実施形態について詳細に説明する。 Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

<実施形態1>
本実施形態のプリンティングシステムにおける画像処理の概要について説明する。図1に、本実施形態のカラープリンタ2010における画像形成部の概略構成例を示す。同図において、2200~2230はカラーインクカートリッジであり、それぞれイエロー(Y)カラーインク,マゼンタ(M)カラーインク,シアン(C)カラーインク,ブラック(K)カラーインクが充填されている。各インクカートリッジ2200~2230と圧力ポンプ2160とは、インクを供給するためのそれぞれ独立したパイプで接続され、圧力ポンプ2160からプリントヘッド2120までは一定の圧力で各色のインクが圧送されるようになっている。
<Embodiment 1>
An overview of image processing in the printing system of this embodiment will be described. FIG. 1 shows a schematic configuration example of an image forming unit in the color printer 2010 of this embodiment. In the figure, 2200 to 2230 are color ink cartridges filled with yellow (Y) color ink, magenta (M) color ink, cyan (C) color ink, and black (K) color ink, respectively. Each of the ink cartridges 2200 to 2230 and the pressure pump 2160 are connected by independent pipes for supplying ink, and the ink of each color is pressure-fed from the pressure pump 2160 to the print head 2120 at a constant pressure. ing.

記録紙は、カラープリンタ2010の後面より供給され、プラテン2110とフロントガイドローラ2150により固定される。また、カラープリンタ2010の操作は、コントロールパネル2180上のキーを押下することで行われ、コントロールボード2190がカラープリンタ2010のすべての動作を制御する。 A recording sheet is supplied from the rear surface of the color printer 2010 and fixed by the platen 2110 and the front guide roller 2150 . The color printer 2010 is operated by pressing keys on the control panel 2180 , and the control board 2190 controls all operations of the color printer 2010 .

このカラープリンタ2010により印刷を行うには、不図示のネットワークインタフェース等を介してコントロールボード2190へ、印刷制御命令および印刷データを送ればよい。ネットワークは無線ネットワークでも良く、プリンタが設置箇所に近いAPへ適宜接続されるよう構成されている。印刷制御命令および印刷データを受信したコントロールボード2190は、例えば色指定命令にRGBが指定されている場合、その内部の色処理部によりRGBデータをCMYKデータへ変換した後、プリントヘッド2120を駆動して印刷を行う。 In order to print with the color printer 2010, a print control command and print data are sent to the control board 2190 via a network interface or the like (not shown). The network may be a wireless network, and is configured so that the printer is appropriately connected to an AP near the installation location. When the control board 2190 receives the print control command and the print data, for example, when RGB is specified in the color specification command, the internal color processing unit converts the RGB data into CMYK data, and then drives the print head 2120 . to print.

図2は、コントロールボード2190を実現する画像処理装置のハードウェア構成の一例を示す図である。 FIG. 2 is a diagram showing an example of the hardware configuration of an image processing apparatus that implements the control board 2190. As shown in FIG.

図2において、CPU220は不図示の不揮発性記憶装置(ハードディスク等)からDRAM等のRAM224にロードされたOSや一般アプリケーション等のプログラムを実行し、後述するソフトウエアの機能を実現する。RAM224は、CPU220の主メモリ、ワークエリア等として機能する。 In FIG. 2, a CPU 220 executes programs such as an OS and general applications loaded from a nonvolatile storage device (hard disk, etc.) (not shown) to a RAM 224 such as a DRAM, and implements software functions described later. The RAM 224 functions as a main memory, work area, etc. of the CPU 220 .

図2に示すCPU220とRAM224はバスで接続されているが、その内部にキャッシュメモリが用意され、RAM224のデータをCPU220へ渡す前段のPREローディング領域として機能する。CPU220に実装されるキャッシュは高速なSRAMを二段で構成される場合が多く、1つは、L1キャッシュ222であり、もう1つは、L2キャッシュ223である。キャッシュに対する内部ラインの選択方法としては、フルアソシアティブ、ダイレクトマップ、Nウェイセットアソシアティブなどの方式等、効率向上のための工夫が複数提案されている。 Although the CPU 220 and the RAM 224 shown in FIG. 2 are connected by a bus, a cache memory is prepared therein and functions as a pre-stage PRE loading area for transferring the data of the RAM 224 to the CPU 220 . The cache implemented in the CPU 220 is often composed of two stages of high-speed SRAMs, one being the L1 cache 222 and the other being the L2 cache 223 . As methods of selecting internal lines for a cache, a number of schemes have been proposed for improving efficiency, such as full associative, direct map, and N-way set associative methods.

なお、本実施形態のCPU220は、シングルコアのCPUであるものを想定しているが、マルチコアのCPUを用いてもよいし、複数のCPUを利用してもよい。 Note that the CPU 220 of the present embodiment is assumed to be a single-core CPU, but a multi-core CPU may be used, or a plurality of CPUs may be used.

なお、本実施形態では、以下に示す画像処理装置の機能は、ソフトウエアにより実現されるものと説明するが、各機能を専用のハードウェアで画像処理装置に実装するようにしてもよい。 In this embodiment, the following functions of the image processing apparatus are described as being realized by software, but each function may be implemented in the image processing apparatus by dedicated hardware.

図3に、本実施形1に係る画像処理装置における内部処理タスクを説明した概説図を示す。 FIG. 3 shows a schematic diagram explaining internal processing tasks in the image processing apparatus according to the first embodiment.

システムタスク311は、印刷ジョブデータ(以降、PDLデータと呼ぶ)が渡されたことを検知すると、PDLタスク312へ印刷開始指令を発行する。 When the system task 311 detects that print job data (hereinafter referred to as PDL data) has been delivered, it issues a print start command to the PDL task 312 .

PDLタスク312は、印刷開始指令を受け取ると、PDLデータに含まれる描画コマンドや印刷ジョブの設定情報を解析した結果を、画像形成タスク313に渡してRIP(Raster Image Processor)処理を開始させる。 Upon receiving a print start command, the PDL task 312 passes the result of analyzing the drawing commands and print job setting information included in the PDL data to the image forming task 313 to start RIP (Raster Image Processor) processing.

画像形成タスク313は、PDLデータの解析結果を受け取ると、PDLデータに記載されている図形、文字等の情報を解釈しながら画像データ(ラスター画像データ)の形成を開始し、生成したラスター画像データを制御タスク314に渡す。画像形成タスク313では、渡されたPDLデータ内に画像が埋め込まれている場合、必要に応じて補助記憶装置から対応する画像データを読み込むよう処理する。この時に画像データをメモリに読み込む速度は、典型的なシステムとしては例えば10MB毎秒程度の速度である。一方、画像形成タスク313が生成したラスター画像データは、例えばバンド単位で順次生成され、PDLタスク312へ画像データとして渡される。システムが想定しる平均的なデータ生成速度は、ここでは6MB毎秒程度を想定する。 When the image forming task 313 receives the analysis result of the PDL data, it starts forming image data (raster image data) while interpreting information such as graphics and characters described in the PDL data, and generates the generated raster image data. to control task 314 . In the image forming task 313, when an image is embedded in the transferred PDL data, processing is performed to read the corresponding image data from the auxiliary storage device as necessary. The speed at which the image data is read into the memory at this time is, for example, about 10 MB/sec in a typical system. On the other hand, the raster image data generated by the image forming task 313 is sequentially generated in band units, for example, and passed to the PDL task 312 as image data. The average data generation speed assumed by the system is assumed here to be about 6 MB/sec.

制御タスク314は、ラスター画像データを受け取ると、受け取ったラスター画像データに基づきプリンタエンジンに画像を形成させる。制御タスク314からの制御信号は、不図示の通信インターフェース(CI)と規定されたプロトコルに従い適時供給されるように構成されている。プリンタエンジン側で受け取る速度は、プリンタエンジンの種類により、その速度は異なるが、例えばここでは典型的な例として約1MB毎秒を想定する。いずれのケースでも画像形成・転送の帯域、処理時間の目安が設定されており、構成される各モジュールの中でそれぞれの処理の単位でボトルネックが発生しないように設計されている。 Upon receiving the raster image data, the control task 314 causes the printer engine to form an image based on the received raster image data. A control signal from the control task 314 is configured to be supplied timely according to a communication interface (CI) (not shown) and a defined protocol. The speed at which data is received by the printer engine varies depending on the type of printer engine, but here, for example, about 1 MB/sec is assumed as a typical example. In any case, the image formation/transfer band and processing time are set, and the modules are designed so that bottlenecks do not occur in each processing unit.

図4に、本実施形態に係る画像処理装置の各モジュールの構成例を示す。図4では、ユーザシステム411、CMSモジュール412、およびRIPモジュール413の3つのモジュールを図示している。 FIG. 4 shows a configuration example of each module of the image processing apparatus according to this embodiment. FIG. 4 illustrates three modules: user system 411 , CMS module 412 , and RIP module 413 .

ユーザシステム411は、前述のシステムタスク311、及びPDLタスク312を実行するモジュールであり、印刷処理全体を制御するモジュールである。ジョブが入力されると下段のRIPモジュール413にジョブを渡し、印刷出力のためのラスター画像データを生成させるように構成されている。 A user system 411 is a module that executes the above-described system task 311 and PDL task 312, and is a module that controls the entire print process. When a job is input, it is passed to the lower RIP module 413 to generate raster image data for print output.

CMSモジュール412は、CMS(カラーマネージメントシステム)処理を担当するモジュールであり、RIPモジュール413から色変換処理のために呼び出されるよう構成されている。CMSモジュール412は、色変換のための設定情報、その設定情報に基づいて適宜に生成された色変換用コンバーター(CONV-A等)、及び変換処理の一部で使われる展開データを保持するテーブル部等を有している。各色変換用のコンバーターは、例えばICCプロファイルやカラーLUT等のデータから補間演算処理を行い、所望の変換値を算出するが、処理を高速化するためキャッシュメモリにカラーLUTを展開して用いることもできる。キャッシュメモリに一度変換処理した入力値と出力値の値を一定量保持することで、繰り返し同じ色を変換するような場合には演算処理を省くことが出来る。また展開データは、γ値等の固定した値を保持しておき、こちらも都度計算することなく値の参照のみで変換をすることができる。 A CMS module 412 is a module in charge of CMS (color management system) processing, and is configured to be called from the RIP module 413 for color conversion processing. The CMS module 412 stores setting information for color conversion, a color conversion converter (CONV-A, etc.) appropriately generated based on the setting information, and a table that holds decompressed data used in part of the conversion process. have departments, etc. The converter for each color conversion performs interpolation calculation processing from data such as ICC profile and color LUT, and calculates the desired conversion value. can. By holding a certain amount of input values and output values once converted in the cache memory, arithmetic processing can be omitted when the same color is repeatedly converted. In addition, fixed values such as .gamma. values can be stored in the expanded data, and conversion can be performed only by referring to the values without calculating each time.

次に、図5において色変換処理における補間処理について説明する。図5は、カラーLUTの入力値を3次元で模式的に表したもので、入力色空間としてRGB色空間の3次元色空間とする。尚、入力色空間はRGB色空間に限定されず、次元数の異なるCMYK色空間等としてもよい。入力色空間および変換後の出力色空間には任意の色空間を用いることができる。 Next, interpolation processing in color conversion processing will be described with reference to FIG. FIG. 5 schematically shows the input values of the color LUT in three dimensions, and assumes that the input color space is the three-dimensional color space of the RGB color space. Note that the input color space is not limited to the RGB color space, and may be a CMYK color space having a different number of dimensions. Any color space can be used for the input color space and the converted output color space.

この3次元色空間は、複数の単位格子、例えば入力色空間の各軸を15分割する単位格子で区切られる。各色の階調が8ビットで表されるとき入力値は0から255の値をとるが、このとき各単位格子の各軸上には17個の入力値を持つことになる。変換対象点tiに対応する出力値は、先ず変換対象点tiを内包する単位格子の格子点(グリッド点)に対応する出力値をカラーLUTから導出し、導出したグリッド点の出力値を用いて補間処理を行うことにより求められる。従来、グリッド点間の補間処理には線形補間を行っている。線形補間としては8点補間、5点補間、及び4点補間等が使われることが多く、いずれの場合も各グリッド点の値を起点に線形の演算を実施する。この演算では加積算処理を実行するため、点数が少ない5点補間や4点補間処理の方が速度的には有利となるが、補間精度を考慮して、本実施形態では8点補間を行う場合について説明する。 This three-dimensional color space is partitioned by a plurality of unit cells, for example unit cells that divide each axis of the input color space into 15 divisions. When the gradation of each color is represented by 8 bits, the input values take values from 0 to 255, and in this case, each axis of each unit cell has 17 input values. The output value corresponding to the conversion target point ti is obtained by first deriving the output value corresponding to the grid point (grid point) of the unit cell containing the conversion target point ti from the color LUT, and using the output value of the derived grid point. It is obtained by performing interpolation processing. Conventionally, linear interpolation is performed for interpolation processing between grid points. As linear interpolation, 8-point interpolation, 5-point interpolation, 4-point interpolation, etc. are often used, and in any case, linear calculation is performed starting from the value of each grid point. Since addition and accumulation processing is executed in this calculation, 5-point interpolation or 4-point interpolation processing with a small number of points is advantageous in terms of speed, but in consideration of interpolation accuracy, 8-point interpolation is performed in this embodiment. A case will be described.

8点補間の場合、最初に所定の1つの色成分、例えばR軸方向に関して、変換対象点tiと同じ値を有するグリッド点間に位置する点を導出する。図5に示す例では、グリッド点P1、P2から点Q1、グリッド点P3、P4から点Q2、グリッド点P5、P6から点Q3、グリッド点P7、P8から点Q4をそれぞれ導出する。次に、点Q1~Q4を用いて、R成分以外の色成分、例えばG軸方向に関して、変換対象点tiと同じ値を有するグリッド点間に位置する点R1,R2を導出する。最後に、点R1,R2を用いて、残ったB成分、すなわちB軸方向に関して、変換対象点tiと同じ値を有するグリッド点間に位置する点S、すなわち変換対象点tiを導出する。 In the case of 8-point interpolation, first, a point located between grid points having the same value as the conversion target point ti is derived with respect to one predetermined color component, for example, the R-axis direction. In the example shown in FIG. 5, point Q1 is derived from grid points P1 and P2, point Q2 is derived from grid points P3 and P4, point Q3 is derived from grid points P5 and P6, and point Q4 is derived from grid points P7 and P8. Next, using the points Q1 to Q4, points R1 and R2 positioned between grid points having the same value as the conversion target point ti are derived with respect to color components other than the R component, for example, the G axis direction. Finally, the points R1 and R2 are used to derive the remaining B component, that is, the point S located between the grid points having the same value as the conversion target point ti in the B-axis direction, that is, the conversion target point ti.

本実施形態では、補間処理上の最初の点Q1,Q2,Q3,Q4の導出に関してのみ、補間演算により算出するのではなく、カラーLUTからなる参照テーブルに記録された予め算出された値を取得するように構成する(図6(a))。 In this embodiment, only the first points Q1, Q2, Q3, and Q4 in the interpolation process are derived, instead of being calculated by interpolation calculations, precalculated values recorded in a reference table consisting of a color LUT are obtained. (Fig. 6(a)).

図6(b)に、本実施形態に係る補間処理のフローチャートを示す。本実施形態では、最初に変換対象点tiと色成分の1つが一致する点を導出するために、R軸と平行でグリッド点を通る線分上の全ての入力値と、それに対応する出力値とが紐付けて格納されたカラーLUTを参照テーブルとして用いる構成とする。 FIG. 6B shows a flowchart of interpolation processing according to this embodiment. In this embodiment, first, in order to derive a point where one of the color components matches the conversion target point ti, all input values on a line segment parallel to the R axis and passing through the grid points and the corresponding output values is stored in association with the color LUT as a reference table.

S611では、参照テーブルを用いて、変換対象点tiと色成分の1つが一致する点を導出する軸の設定(SET_TABLE_ON関数)を行う。そして、設定した設定軸と平行でグリッド点を通る線分上の入力値とそれに対応する演算済み出力値とが紐付けて格納されたカラーLUTからなる参照テーブルをメモリ上にロードする。 In S611, the reference table is used to set an axis (SET_TABLE_ON function) for deriving a point where one of the conversion target points ti and one of the color components match. Then, a reference table consisting of a color LUT in which input values on a line segment parallel to the set axis and passing through the grid points and corresponding calculated output values are stored in association with each other is loaded onto the memory.

S612では、参照テーブルから変換対象点tiとR軸方向の値が同じ、グリッド点間の点Q1、Q2,Q3,Q4の出力値を取得する。ここで参照テーブルから出力値を取得する関数FUNC1の引数として、変換対象点tiに近接するグリッド点の入力値である起点情報と、そのグリッド点と変換対象点tiとのR軸方向の差分値FRとを用いる。 In S612, output values of points Q1, Q2, Q3, and Q4 between grid points having the same value in the R-axis direction as the conversion target point ti are acquired from the reference table. Here, as arguments of the function FUNC1 that acquires the output value from the reference table, the origin information, which is the input value of the grid point adjacent to the conversion target point ti, and the difference value in the R-axis direction between the grid point and the conversion target point ti FR is used.

S613では、S612で取得した点Q1~Q4の出力値を用いてG軸方向の線形補間演算を実施し、変換対象点tiとG軸方向の値が同じ、点Q1~Q4の間の補間点R1,R2を決定し、その出力値を算出する。 In S613, the output values of the points Q1 to Q4 acquired in S612 are used to perform linear interpolation calculation in the G-axis direction, and the interpolation points between the points Q1 to Q4 having the same value in the G-axis direction as the conversion target point ti are obtained. R1 and R2 are determined and their output values are calculated.

S614では、S613で取得した補間点R1,R2の出力値を用いてB軸方向の線形補間演算を実施し、変換対象点tiとB軸方向の値が同じ、補間点R1,R2の間の補間点S、すなわち変換対象点tiの出力値を算出する。 In S614, the output values of the interpolation points R1 and R2 obtained in S613 are used to perform a linear interpolation calculation in the B-axis direction, and the interpolation points R1 and R2 having the same value in the B-axis direction as the conversion target point ti are calculated. An output value of the interpolation point S, that is, the conversion target point ti is calculated.

本実施形態では、S612において参照テーブルから出力値を取得して補間演算を省略することで、補間演算における乗算回数を低減している。そのため、特に色数が多くなるケースでの補間計算速度を向上させることが出来る。また、使用する参照テーブルは入力値全てに対応するカラーLUTではなく、設定軸と平行でグリッド点を通る線分上の入力値に対応するカラーLUTに限られるため、メモリの使用量を抑制することが出来る。これらのことから、組込み向けのプロセッサのようにキャッシュサイズが小さな環境下においてもメモリ容量が逼迫し難いので、CPUの能力を最大限に活用することが可能となる。 In this embodiment, the output value is obtained from the reference table in S612 and the interpolation calculation is omitted, thereby reducing the number of multiplications in the interpolation calculation. Therefore, it is possible to improve the interpolation calculation speed especially when the number of colors is large. In addition, the reference table used is not a color LUT that corresponds to all input values, but is limited to a color LUT that corresponds to input values on a line segment that is parallel to the set axis and passes through the grid points, thus reducing memory usage. can do For these reasons, even in an environment with a small cache size such as an embedded processor, the memory capacity is less likely to become tight, so it is possible to make the most of the CPU's performance.

<実施形態2>
図7に、実施形態2に係るデジタル一眼カメラなどの撮影画像を含むPDLデータに基づき印刷するカラープリンティングシステムの概略構成を示す。同図において、ホストPC710とプリンタコントローラ720は、不図示の通信インターフェース(CI)を介して有線または無線で接続されている。
<Embodiment 2>
FIG. 7 shows a schematic configuration of a color printing system for printing based on PDL data including an image captured by a digital single-lens camera or the like according to the second embodiment. In the figure, a host PC 710 and a printer controller 720 are wired or wirelessly connected via a communication interface (CI) (not shown).

このシステムにおいては、伝送路におけるデータ転送用の帯域が大きくないため、PDLデータとしてデータサイズをコンパクト化し、プリントジョブを流すように構成している。プンタコントローラ720側にデータを転送する。プリンタコントローラ720側においては、受け取ったPDLデータを、印刷制御部721を介してRIPモジュール722に渡す。PDLデータを受け取ったRIPモジュール723は、CMSモジュール722を用いて適宜カラーマッチング(色変換処理)を行った後にラスター画像データを生成し、印刷制御部721にラスター画像データを渡すよう構成されている。 In this system, since the bandwidth for data transfer on the transmission line is not large, the data size is made compact as PDL data, and the print job is sent. Data is transferred to the printer controller 720 side. The printer controller 720 side passes the received PDL data to the RIP module 722 via the print control unit 721 . After receiving the PDL data, the RIP module 723 is configured to appropriately perform color matching (color conversion processing) using the CMS module 722, generate raster image data, and deliver the raster image data to the print control unit 721. .

実施形態1では、色空間において設定軸と平行でグリッド点を通る線分上の入力値に対応するカラーLUTを参照テーブルとしてメモリに展開する構成としたが、その場合でもテーブルデータがシステムメモリに対して大きい場合もある。そこで本実施形態2では、画像毎に色分布の偏りを予め調査し、使用されない色のカラーLUTのデータをメモリに展開しないよう構成する。 In the first embodiment, the color LUT corresponding to the input values on the line segment parallel to the set axis and passing through the grid points in the color space is developed in the memory as a reference table. It may be larger than that. Therefore, in the second embodiment, the bias in color distribution is checked in advance for each image, and the color LUT data of unused colors is configured so as not to be developed in the memory.

デジタルカメラ等で撮像されて得られた自然画の場合を考えると、人物が被写体である撮像画像では肌色の色域が頻出となり、風景が被写体で例えば、晴天で海岸線(ビーチ)での撮像画像であれば、空や海の青系の色の色域が頻出とになる。このように、様々な撮影シーン別の撮像画像を調べ、それらを組み合わせることで、撮像画像が持つ色分布のパターンを予め把握することは可能である。 Considering the case of a natural image captured by a digital camera or the like, skin-colored color gamuts frequently appear in captured images in which a person is the subject. In that case, the blue color gamut of the sky and the sea will appear frequently. In this way, it is possible to grasp in advance the pattern of the color distribution of the captured image by examining captured images for various shooting scenes and combining them.

図8(a)に、撮影シーン別の色分布解析図を示す。これらを俯瞰すると、それぞれの撮影シーンにおいて出現頻度の高い色域と、出現頻度の低い色域があり、色分布が偏っている。そこで本実施形態では、実施形態1のように設定軸に平行でグリッド点を通る線分上の全ての領域に対応するカラーLUTを使用せず、それらのうちで出現頻度の高い色域のカラーLUTのみを参照テーブルとしてメモリ上に展開するように構成する。ここでは色空間を9x9x9の単位格子に分割し、各単位格子に対応する色域毎に出現頻度の高低を判定した「シーン別高頻出色分布」を特定する。出現頻度が高いと判定された単位格子に対応する色域のカラーLUTのみを参照テーブルとしてメモリ上に展開する。 FIG. 8A shows a color distribution analysis chart for each shooting scene. Looking at these from a bird's eye view, there are color gamuts with high appearance frequency and color gamuts with low appearance frequency in each shooting scene, and the color distribution is biased. Therefore, in this embodiment, unlike the first embodiment, the color LUT corresponding to all areas on line segments parallel to the set axis and passing through the grid points is not used. The configuration is such that only the LUT is expanded on the memory as a reference table. Here, the color space is divided into 9.times.9.times.9 unit grids, and the "high frequency appearance color distribution by scene" is specified by determining the frequency of appearance for each color gamut corresponding to each unit grid. Only the color LUT of the color gamut corresponding to the unit grid determined to have a high appearance frequency is developed on the memory as a reference table.

更に、図8(b)に、各撮影シーンの色分布を重ね合わせた色分布において出現頻度が高い色域を表す「共通高頻出色分布」を示す。この共通高頻出色分布に基づき生成された参照テーブルを使用することで、撮影シーンに関わらず、出現頻度の低い色域のカラーLUTを効率的に省くことができる。 Further, FIG. 8B shows a "common high-frequency color distribution" representing a color gamut with a high appearance frequency in the color distribution obtained by superimposing the color distributions of the shooting scenes. By using a reference table generated based on this common high frequency color distribution, it is possible to efficiently omit the color LUT for color gamuts with low frequency of appearance regardless of the shooting scene.

図9(a)は、図8に示す共通高頻出色分布を生成する過程を示す概説図であって、図9(b)は、シーン別の画像データにおける色分布を合成して合成色分を生成するための処理ステップを示している。この共通高頻出色分布を生成するための処理は、予め情報処理装置を用いて実施されるもので、生成された共通高頻出色分布のデータは、カラーLUT等と共に図7に示すプリンタコントローラ720の補助記憶装置等に予め格納される。 FIG. 9A is a schematic diagram showing the process of generating the common high-frequency color distribution shown in FIG. 8, and FIG. shows the processing steps for generating The processing for generating this common high-frequency color distribution is performed in advance using an information processing device, and the generated common high-frequency color distribution data is sent to the printer controller 720 shown in FIG. 7 together with the color LUT and the like. is stored in advance in an auxiliary storage device or the like.

撮影シーン別の画像データの色分布を合成する方法としては、図9(a)に示すように、起点のシーンの色分布に次に選択した1つのシーンの色分布を合成し、その合成した色分布(合成色分布)にその次のシーンの色分布を合成していくものとする。例えば、図8(b)に示す例では、先ず「花火」のシーンの色分布と「ペット」のシーンの色分布を合成して、合成色分布を生成した後に、合成色分布に対して「雪景色」のシーンの色分布をさらに合成する。尚、色分布の合成方法はこれに限定されず、適切に合成できれば他の方法を用いてもよい。 As a method of synthesizing the color distribution of image data for each shooting scene, as shown in FIG. Assume that the color distribution of the next scene is synthesized with the color distribution (composite color distribution). For example, in the example shown in FIG. 8B, first, the color distribution of the "fireworks" scene and the color distribution of the "pet" scene are combined to generate a combined color distribution. The color distribution of the "snow scene" scene is further synthesized. Note that the color distribution synthesis method is not limited to this, and other methods may be used as long as they can be appropriately synthesized.

S911では、初期化パラメータで重みパラメータを設定する。この重みパラメータは格子毎に用意されており、例えば、軸方向に均等に9分割する単位格子を用いる場合は729個設定し、15分割する単位格子を用いる場合は3375個設定する。これらの重みパラメータは、通常は初期値として1を設定するが、ユーザが任意の値を設定してもよい。 In S911, a weight parameter is set as an initialization parameter. The weight parameters are prepared for each grid. For example, 729 weight parameters are set when using a unit grid divided equally into 9 in the axial direction, and 3375 parameters are set when using a unit grid divided into 15 divisions. These weight parameters are usually set to 1 as an initial value, but the user may set any value.

S912では、予め用意された複数の撮影シーン別の画像データから色分布を合成する画像データを1つ選択する。 In S912, one image data for synthesizing the color distribution is selected from a plurality of prepared image data for each shooting scene.

S913では、色分布を分割する複数の単位格子から、色分布を合成する単位格子を1つ選択する。例えば、9x9x9の単位格子が存在する場合は、起点とする単位格子から順に未選択の単位格子を選択していく。 In S913, one unit grid for synthesizing the color distribution is selected from a plurality of unit grids for dividing the color distribution. For example, when there are 9×9×9 unit cells, unselected unit cells are selected in order from the starting unit cell.

S914では、合成色分布とS912で選択された撮影シーンの画像データの色分布とについて、S913で選択された単位格子の色分布を合成し、単位格子内に分布する色の数をカウントする。 In S914, the color distribution of the unit cell selected in S913 is combined with the combined color distribution and the color distribution of the image data of the shooting scene selected in S912, and the number of colors distributed within the unit cell is counted.

S915では、単位格子内に分布する色の数に重みパラメータを積算した値が、予め定めた閾値(例えば、各単位格子内に取り得る色の全数の50%に相当する数等)を超えるか否かを判定する。単位格子内に分布する色の数が閾値を超えた場合はS916に移行し、単位格子内に分布する色の数が閾値を超えない場合はS917に移行する。 In S915, whether the value obtained by multiplying the number of colors distributed within the unit cell by the weight parameter exceeds a predetermined threshold value (for example, a number corresponding to 50% of the total number of possible colors within each unit cell). determine whether or not If the number of colors distributed within the unit grid exceeds the threshold, the process proceeds to S916, and if the number of colors distributed within the unit grid does not exceed the threshold, the process proceeds to S917.

S916では、単位格子内に分布する色の数が閾値を超えた場合は、メモリに展開する参照テーブルに含めるべき色域としてフラグを立てる等の処理を行う。 In S916, when the number of colors distributed within the unit cell exceeds the threshold value, processing such as raising a flag as a color gamut to be included in the reference table developed in the memory is performed.

S917では、現在選択されている単位格子の他に未選択の単位格子がなく、最後の単位格子であるか否かを判定し、未選択の単位格子があればS913に戻り、未選択の単位格子が無ければS918に移行する。 In S917, it is determined whether or not there are no unselected unit cells other than the currently selected unit cell and it is the last unit cell. If there is no grid, the process proceeds to S918.

S918では、現在選択されている画像データの他に未選択の他の撮像シーンの画像データがあるか否かを判定し、未選択の他の画像データがあればS912に戻り、未選択の他の画像データが無ければ一連の処理を終了する。 In S918, it is determined whether or not there is image data of other unselected imaging scenes in addition to the currently selected image data. If there is no such image data, the series of processing ends.

このようにして得られた共通高頻出色分布は、CMSモジュール722等がキャッシュメモリにカラーLUTを展開する際に参照し、フラグの立った単位格子に対応する色域のカラーLUTのみをキャッシュメモリに展開することを可能にする。 The common high-frequency color distribution thus obtained is referred to when the CMS module 722 or the like develops the color LUT in the cache memory, and only the color LUT of the color gamut corresponding to the flagged unit grid is stored in the cache memory. allow it to expand to

尚、図9(a)に示す処理には、必要に応じて前記生成された共通シーンについて問題がないか検査を行い、検査結果に基づき、重みパラメータや有効な領域とするか否かを判定する閾値を適宜調整し、再構成する仕組みを設けてもよい。また、この部分は試行錯誤的な部分を含むが、例えば学習機能等を用いて自動的に調整する仕組みなどを導入してもよい。 In the process shown in FIG. 9A, the generated common scene is inspected as necessary for any problem, and based on the inspection result, it is determined whether or not the weight parameter and the effective area are determined. It is also possible to provide a mechanism for appropriately adjusting the threshold to be used and reconfiguring it. Also, although this part includes a trial and error part, for example, a mechanism for automatic adjustment using a learning function or the like may be introduced.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

411 ユーザシステム
412 CMSモジュール
413 RIPモジュール
411 User System 412 CMS Module 413 RIP Module

Claims (10)

複数の色成分からなる入力色空間の入力値を出力色空間の出力値に変換する画像処理装置であって、
前記入力値と前記出力値とが紐付けられたルックアップテーブルを参照することにより、前記入力色空間における変換対象の入力値と前記複数の色成分のうちの1つの色成分が同じ値である前記入力色空間における複数の入力値に対応する複数の出力値を取得する取得手段と、
前記ルックアップテーブルを参照して取得した複数の出力値を用いて補間演算を行い、前記変換対象の入力値に対応する出力値を算出する算出手段と、
を備えたことを特徴とする画像処理装置。
An image processing device that converts an input value in an input color space consisting of a plurality of color components into an output value in an output color space,
By referring to a lookup table in which the input value and the output value are linked, the input value to be converted in the input color space and one color component of the plurality of color components are the same value. obtaining means for obtaining a plurality of output values corresponding to a plurality of input values in the input color space;
calculating means for performing an interpolation operation using a plurality of output values obtained by referring to the lookup table to calculate an output value corresponding to the input value to be converted;
An image processing device comprising:
前記ルックアップテーブルは、入力色空間を分割する複数の単位格子の格子点を通り、かつ、前記1つの色成分の軸に平行な線分上の複数の入力値と、当該複数の入力値に対応する複数の出力値とを紐付けて保持している、
ことを特徴とする請求項1に記載の画像処理装置。
The lookup table includes: a plurality of input values on a line segment passing through lattice points of a plurality of unit lattices dividing the input color space and parallel to the axis of the one color component; It holds the corresponding multiple output values in association with each other,
2. The image processing apparatus according to claim 1, wherein:
前記算出手段は、前記ルックアップテーブルを参照して取得した複数の出力値に対応する複数の入力値よりも前記変換対象の入力値と同じ値の色成分が1つ多い前記入力色空間における入力値を決定し、当該入力値に対応する出力値を、前記ルックアップテーブルを参照して取得した出力値を用いて補間演算することにより算出する、
ことを含むことを特徴とする請求項1又は2に記載の画像処理装置。
The calculation means calculates an input in the input color space that has one more color component of the same value as the input value to be converted than the plurality of input values corresponding to the plurality of output values obtained by referring to the lookup table. determining a value, and calculating an output value corresponding to the input value by performing an interpolation operation using the output value obtained by referring to the lookup table;
3. The image processing apparatus according to claim 1, comprising:
前記算出手段は、前記算出手段で算出した出力値に対応する入力値よりも前記変換対象の入力値と同じ値の色成分が1つ多い前記入力色空間における入力値を決定し、当該入力値に対応する出力値を、前記算出された出力値を用いて補間演算することにより算出する、
ことを特徴とする請求項3に記載の画像処理装置。
The calculating means determines an input value in the input color space that has one more color component of the same value as the input value to be converted than the input value corresponding to the output value calculated by the calculating means, and determines the input value Calculate an output value corresponding to by performing an interpolation operation using the calculated output value,
4. The image processing apparatus according to claim 3, characterized by:
前記ルックアップテーブルは、前記変換対象の入力値が頻出する所定の色域のカラーLUTのみを含む、
ことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
the lookup table includes only a color LUT of a predetermined color gamut in which the input values to be converted appear frequently;
5. The image processing apparatus according to any one of claims 1 to 4, characterized by:
前記ルックアップテーブルが含む前記所定の色域のカラーLUTは、複数の異なる画像データにおいて頻出する色域のカラーLUTである、
ことを特徴とする請求項5に記載の画像処理装置。
The color LUT of the predetermined color gamut included in the lookup table is a color LUT of a color gamut that frequently appears in a plurality of different image data.
6. The image processing apparatus according to claim 5, characterized by:
前記入力色空間および前記出力色空間の次元数は、それぞれ3又は4である、
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
the number of dimensions of the input color space and the output color space is 3 or 4, respectively;
7. The image processing apparatus according to any one of claims 1 to 6, characterized by:
前記入力色空間および前記出力色空間は、一方がRGB色空間であり、他方がCMYK色空間である、
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
one of the input color space and the output color space is an RGB color space and the other is a CMYK color space;
8. The image processing apparatus according to any one of claims 1 to 7, characterized by:
複数の色成分からなる入力色空間の入力値を出力色空間の出力値に変換する画像処理方法であって、
前記入力値と前記出力値とが紐付けられたルックアップテーブルを参照することにより、前記入力色空間における変換対象の入力値と前記複数の色成分のうちの1つの色成分が同じ値である前記入力色空間における複数の入力値に対応する複数の出力値を取得するステップと、
前記ルックアップテーブルを参照して取得した複数の出力値を用いて補間演算を行い、前記変換対象の入力値に対応する出力値を算出するステップと、
を有することを特徴とする画像処理方法。
An image processing method for converting input values in an input color space consisting of a plurality of color components into output values in an output color space,
By referring to a lookup table in which the input value and the output value are linked, the input value to be converted in the input color space and one color component of the plurality of color components are the same value. obtaining a plurality of output values corresponding to a plurality of input values in the input color space;
performing an interpolation operation using a plurality of output values obtained by referring to the lookup table, and calculating an output value corresponding to the input value to be converted;
An image processing method characterized by comprising:
コンピュータを請求項1乃至8のいずれか1項に記載の画像処理装置として機能させるためのプログラム。 A program for causing a computer to function as the image processing apparatus according to any one of claims 1 to 8.
JP2021176278A 2021-10-28 2021-10-28 Image processing device, image processing method and program Pending JP2023065885A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021176278A JP2023065885A (en) 2021-10-28 2021-10-28 Image processing device, image processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021176278A JP2023065885A (en) 2021-10-28 2021-10-28 Image processing device, image processing method and program

Publications (1)

Publication Number Publication Date
JP2023065885A true JP2023065885A (en) 2023-05-15

Family

ID=86322375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021176278A Pending JP2023065885A (en) 2021-10-28 2021-10-28 Image processing device, image processing method and program

Country Status (1)

Country Link
JP (1) JP2023065885A (en)

Similar Documents

Publication Publication Date Title
JP5643574B2 (en) Image processing apparatus and image processing method
US20060274341A1 (en) Image processing apparatus and image processing method
US20100238467A1 (en) Image processing apparatus, image processing method, and computer program product
JP4366089B2 (en) Image forming apparatus and method
JP2009010893A (en) Image processing method and image processor
JP2007208736A (en) Method and device for color processing
JP6748464B2 (en) Image processing apparatus, image processing method, and image processing program thereof
JP2012236344A (en) Printing apparatus, data processing method for the printing apparatus and program
JP2006025128A (en) Image processor and its method
JP2023065885A (en) Image processing device, image processing method and program
JP2008118447A (en) Image forming apparatus, image forming method, and its program
US20080013134A1 (en) Image processing device, image processing method, computer readable medium, and computer data signal
US7652807B2 (en) Image generating apparatus, image generating method and computer readable medium
EP0664521B1 (en) Colour image processing apparatus and method
US20040017476A1 (en) Printing system, layout data generation device, print data processing device and program
US20100053651A1 (en) Image Processing Device and Image Processing Method
JP4508953B2 (en) Image processing method and image processing apparatus
JP5896610B2 (en) Apparatus, method and program
JP6794834B2 (en) Image processing equipment and programs
JP2024035723A (en) Image processing device, image processing method, and program
JP2006254369A (en) Color processing method and device thereof
JP2003283855A (en) Picture processor, program, and recording medium
JP4692420B2 (en) Image processing apparatus, image forming apparatus, and program
JP2000078421A (en) Device, method and system for processing image
JP4636145B2 (en) Image processing apparatus and program