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

Image processing device, image processing method, and program Download PDF

Info

Publication number
JP2024035723A
JP2024035723A JP2022140365A JP2022140365A JP2024035723A JP 2024035723 A JP2024035723 A JP 2024035723A JP 2022140365 A JP2022140365 A JP 2022140365A JP 2022140365 A JP2022140365 A JP 2022140365A JP 2024035723 A JP2024035723 A JP 2024035723A
Authority
JP
Japan
Prior art keywords
color
conversion information
color conversion
memory area
image processing
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
JP2022140365A
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 JP2022140365A priority Critical patent/JP2024035723A/en
Publication of JP2024035723A publication Critical patent/JP2024035723A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To more efficiently perform color conversion processing on an input image.SOLUTION: A total of a reference table holding region A and an interpolation calculation result region B is adjusted so as to be fit in a predetermined size, and a ratio thereof is changed according to a distribution situation of colors for each image type such as graphic, portrait and a richly colored image. When a color value predicted to be possessed by an input image is largely distributed in a high saturation region known to have high reusability of a color, a size ratio of the interpolation calculation result region B is increased, and a size ratio of the reference table holding region A is lowered. On the contrary, when the color value predicted to be possessed by the input image is largely distributed in an intermediate saturation region, the size ratio of the interpolation calculation result region B is lowered, and the size ratio of the reference table holding region A is increased, compared to a case of the high saturation region. The size ratio of the reference table holding region A and the interpolation calculation result region B can be adjusted by adjusting amounts of developed data and compressed data of a reference table held by the reference table holding region A.SELECTED DRAWING: Figure 7

Description

本発明は、色変換処理のためのメモリを制御する技術に関する。 The present invention relates to a technique for controlling memory for color conversion processing.

従来から図形を描画するために図形が持つ座標情報等から図形の輪郭情報(エッジ情報とも呼ぶ)を抽出し、輪郭情報に基づいて画像を形成するレンダリング手法は一般に広く利用されている。印刷対象のドキュメント(文字や図形、写真イメージを含む)はカラーデータで構成される場合が多く、ディスプレイ等では色付きのドキュメントとして表示、編集、保存される。そして紙等に印刷する場合は、PDL形式のデータとしてプリンタに送付され、プリンタ内の処理で画像を形成し出力される形態も一般的である。PDLデータに基づき印刷する際にはページ毎に様々な処理が行われるが、PDLデータにおける各オブジェクトの色に対しては、色変換処理としてCMS(カラーマネージメントシステム)処理が実行される。これらの処理をソフトウェア的に実現する場合、その処理速度は処理装置が持つ計算資源の多寡に依存する。 BACKGROUND ART Conventionally, rendering methods have been widely used in which contour information (also called edge information) of a figure is extracted from coordinate information and the like of the figure in order to draw the figure, and an image is formed based on the contour information. Documents to be printed (including text, graphics, and photographic images) are often composed of color data, and are displayed, edited, and saved as colored documents on a display or the like. When printing on paper or the like, it is common that the data is sent to a printer as PDL format data, and an image is formed and output through processing within the printer. When printing based on PDL data, various processes are performed for each page, and CMS (color management system) processing is performed as color conversion processing for the color of each object in the PDL data. When these processes are implemented in software, the processing speed depends on the amount of computational resources that the processing device has.

特許文献1には、限られた計算資源で処理速度を最大化するために、変換前後の色値を対応付けたカラールックアップテーブル(カラーLUT)を予めキャッシュメモリに全展開する方法が開示されている。この方法は、PCのように、PDLデータの処理に必要な計算量に対して十分な計算資源、特にCPUのキャッシュメモリのサイズが大きい処理装置においては効果的である。 Patent Document 1 discloses a method in which a color look-up table (color LUT) that associates color values before and after conversion is fully developed in a cache memory in order to maximize processing speed with limited computational resources. ing. This method is effective in a processing device such as a PC that has sufficient computing resources for the amount of computing required to process PDL data, especially a large cache memory of the CPU.

特開2008-141502号公報Japanese Patent Application Publication No. 2008-141502

しかし、処理装置によってはCPUのキャッシュメモリのサイズが小さかったり、バスの帯域幅が狭かったりするなど計算資源がPDLデータの大きさに対して十分でない場合がある。このような場合、特許文献1に記載の方法では、一度に展開可能なカラーLUTの数が不十分だったり、データの読み出しに時間がかかったりするため、処理の効率が低下し、処理速度が改善し難くなるという課題がある。 However, depending on the processing device, the computational resources may not be sufficient for the size of the PDL data, such as the size of the cache memory of the CPU being small or the bandwidth of the bus being narrow. In such cases, with the method described in Patent Document 1, the number of color LUTs that can be expanded at once is insufficient, or it takes time to read data, resulting in a decrease in processing efficiency and slowing down the processing speed. The problem is that it becomes difficult to improve.

本発明は、入力画像に対して色変換処理を行うための画像処理装置であって、前記色変換処理に用いられるメモリ領域として、第1のメモリ領域と当該第1のメモリ領域と異なる第2のメモリ領域とを設定する設定手段と、予め定められた入力色値に対して出力色値を対応付けた第1の色変換情報を前記第1のメモリ領域に記憶させ、前記入力画像の色値のうち前記第1の色変換情報の入力色値に含まれない色値に対して、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られた色値を対応付けた第2の色変換情報を前記第2のメモリ領域に記憶させる記憶制御手段と、を備え、前記設定手段は、前記第1のメモリ領域と前記第2のメモリ領域とのサイズ比率を、前記入力画像が有すると予測される色分布に応じて決定された比率に基づき設定する、ことを特徴とする。 The present invention provides an image processing device for performing a color conversion process on an input image, wherein the memory area used for the color conversion process includes a first memory area and a second memory area different from the first memory area. a setting means for setting a memory area of the input image, and storing first color conversion information in which an output color value is associated with a predetermined input color value in the first memory area; For color values that are not included in the input color values of the first color conversion information, correspond to color values obtained by performing interpolation calculation processing based on the color values and the first color conversion information. storage control means for storing the attached second color conversion information in the second memory area, and the setting means sets a size ratio of the first memory area and the second memory area, The ratio is set based on a ratio determined according to a color distribution predicted to be included in the input image.

本発明では、入力画像に対する色変換処理をより効率的に行うことが可能となる。 According to the present invention, it is possible to perform color conversion processing on an input image more efficiently.

本発明の一実施形態における画像形成部の概略構成を示す図A diagram showing a schematic configuration of an image forming section in an embodiment of the present invention 本発明の一実施形態におけるコントロールボードを構成する画像処理装置のハードウェアの構成例を示す図A diagram showing an example of a hardware configuration of an image processing device that constitutes a control board in an embodiment of the present invention. 本発明の一実施形態におけるプリンティングシステムの概略構成を示す図A diagram showing a schematic configuration of a printing system according to an embodiment of the present invention 実施形態1における画像処理装置の各モジュールの構成例を示す図A diagram showing a configuration example of each module of the image processing device in Embodiment 1. 本発明の一実施形態におけるカラーマッチング処理モジュールを示す構成図A configuration diagram showing a color matching processing module in an embodiment of the present invention 一般的な補間処理を説明した概説図An overview diagram explaining general interpolation processing 本発明の一実施形態におけるメモリ領域の部分補間値保持領域Aと補間演算結果領域Bとの比率が異なる場合を示す図A diagram showing a case where the ratio of the partial interpolation value holding area A and the interpolation calculation result area B of the memory area is different in an embodiment of the present invention. 本発明の一実施形態における割合テーブルを説明するための概説図A schematic diagram for explaining a ratio table in an embodiment of the present invention 本発明の一実施形態における色変換処理の流れを概説するフローチャートFlowchart outlining the flow of color conversion processing in an embodiment of the present invention 実施形態2における画像処理装置の各モジュールの構成例を示す図A diagram showing a configuration example of each module of the image processing device in Embodiment 2 実施形態3におけるメモリアロケータの概略構成を示す図A diagram showing a schematic configuration of a memory allocator in Embodiment 3

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

<実施形態1>
本実施形態のプリンティングシステムにおける画像処理の概要について説明する。
<Embodiment 1>
An overview of image processing in the printing system of this embodiment will be described.

図1に、本実施形態のカラープリンタ2010における画像形成部の概略構成例を示す。同図において、2200~2230はカラーインクカートリッジであり、それぞれイエロー(Y)カラーインク,マゼンタ(M)カラーインク,シアン(C)カラーインク,ブラック(K)カラーインクが充填されている。各インクカートリッジ2200~2230と圧力ポンプ2160とは、インクを供給するためのそれぞれ独立したパイプで接続され、圧力ポンプ2160からプリントヘッド2120までは一定の圧力で各色のインクが圧送されるようになっている。記録紙は、カラープリンタ2010の後面より供給され、プラテン2110とフロントガイドローラ2150により固定される。また、カラープリンタ2010の操作は、コントロールパネル2180上のキーを押下することで行われ、コントロールボード2190がカラープリンタ2010のすべての動作を制御する。 FIG. 1 shows a schematic configuration example of an image forming section in a 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 pumped from the pressure pump 2160 to the print head 2120 at a constant pressure. ing. Recording paper is supplied from the rear of the color printer 2010 and is fixed by a platen 2110 and a 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へ、印刷制御命令および印刷データを送ればよい。印刷制御命令および印刷データを受信したコントロールボード2190は、例えば色指定命令にRGBが指定されている場合、その内部の色処理部によりRGBデータをCMYKデータへ変換した後、プリントヘッド2120を駆動して印刷を行う。 In order to print using the color printer 2010, a print control command and print data may be sent to the control board 2190 via an interface (not shown). When the control board 2190 receives the print control command and print data, for example, if RGB is specified in the color designation command, the control board 2190 converts the RGB data into CMYK data using its internal color processing unit, and then drives the print head 2120. to print.

図2は、コントロールボード2190を構成する画像処理装置のハードウェア構成の一例を示す図である。CPU220は、不図示の不揮発性記憶装置(ハードディスク等)やROM240からメインメモリ(DRAM等)230にロードされたOSや一般アプリケーション等のプログラムを実行し、後述するソフトウェアの機能を実現する。 FIG. 2 is a diagram illustrating an example of the hardware configuration of an image processing device that constitutes the control board 2190. The CPU 220 executes programs such as the OS and general applications loaded into the main memory (DRAM or the like) 230 from a non-volatile storage device (such as a hard disk) or ROM 240 (not shown), and realizes software functions described below.

メインメモリ230は、CPU220の主メモリ、ワークエリア等として機能する。ROM240は、電源を投入した際、CPU220が初期化処理のための、初期プログラムを保持する、不揮発記憶領域である。 The main memory 230 functions as the main memory, work area, etc. of the CPU 220. The ROM 240 is a nonvolatile storage area that holds an initial program for initialization processing by the CPU 220 when the power is turned on.

図2に示すCPU220は、2コア構成のCPUであるため内部にCPUコア221、222を備え、キャッシュメモリとして高速なSRAMを二段構成で備えている。1つは、CPUコア221、222のそれぞれに個別に設けられたL1キャッシュ223、224であり、もう1つは、CPUコア221、222に共通のL2キャッシュ225である。各キャッシュメモリに対する内部ラインの選択方法としてはフルアソシアティブ、ダイレクトマップ、Nウェイセットアソシアティブなどの方式等、効率向上のための工夫が複数提案されているがいずれの構成でも良い。 Since the CPU 220 shown in FIG. 2 is a CPU with a two-core configuration, it is internally equipped with CPU cores 221 and 222, and is equipped with a high-speed SRAM as a cache memory in a two-stage configuration. One is L1 caches 223 and 224 provided individually for each of the CPU cores 221 and 222, and the other is an L2 cache 225 that is common to the CPU cores 221 and 222. As a method for selecting internal lines for each cache memory, a number of methods have been proposed to improve efficiency, such as full associative, direct map, and N-way set associative methods, but any of these methods may be used.

図3は、本実施形態における内部処理タスクを説明した概説図である。印刷ジョブデータ(以降、PDL(Page Description Language)データと呼ぶ)が渡されるとシステムタスク311が、これを検知し、PDLタスク312へ印刷開始指令を発行する。 FIG. 3 is a schematic diagram illustrating internal processing tasks in this embodiment. When print job data (hereinafter referred to as PDL (Page Description Language) data) is passed, the system task 311 detects this and issues a print start command to the PDL task 312.

PDLタスク312は、印刷ジョブの設定情報を集積した後に画像形成タスク313にRIP(Raster Image Processer)処理の開始を依頼する。 After accumulating print job setting information, the PDL task 312 requests the image forming task 313 to start RIP (Raster Image Processor) processing.

画像形成タスク313は、PDLデータに記載されている図形、文字等の情報を解釈しながら画像形成(RIP処理)を開始し、ラスター画像データを生成する。この時に渡されたPDLデータ内に画像が埋め込まれている場合は、必要に応じて二次記憶装置から画像データを読み込むよう構成されている。この時に画像をメモリに読み込む速度は、典型的なシステムとしては例えば10MB毎秒程度の速度である。 The image formation task 313 starts image formation (RIP processing) while interpreting information such as figures and characters written in the PDL data, and generates raster image data. If an image is embedded in the PDL data passed at this time, the configuration is such that the image data is read from the secondary storage device as necessary. At this time, the speed at which images are read into memory is, for example, about 10 MB per second in a typical system.

一方で、画像形成タスク313が生成したラスター画像データは、例えばバンド単位で順次生成されPDLタスク312へラスター画像データとして渡される。システムが想定しる平均的なデータ生成速度は、ここでは6MB毎秒程度を想定する。次にデータはエンジンデバイスの制御系、制御タスク314に渡される。 On the other hand, the raster image data generated by the image forming task 313 is sequentially generated in units of bands, for example, and is passed to the PDL task 312 as raster image data. The average data generation rate assumed by the system is assumed here to be approximately 6 MB/sec. The data is then passed to the control system of the engine device, control task 314.

制御タスク314は、受け取ったラスター画像データをエンジンデバイスに適宜渡すように構成されている。エンジンデバイス側で受け取る速度は、プリンタエンジン種により、その速度は異なるが、例えばここでは典型的な例として約1MB毎秒のデバイスを想定する。 Control task 314 is configured to appropriately pass the received raster image data to the engine device. The speed at which data is received on the engine device side varies depending on the type of printer engine, but here, as a typical example, we assume a device that receives data at approximately 1 MB per second.

いずれのモジュールでも画像形成速度、転送帯域幅、処理時間等について目安が設定されており、各モジュールでボトルネックが発生しないように設計されている。 For each module, guidelines are set for image forming speed, transfer bandwidth, processing time, etc., and each module is designed to avoid bottlenecks.

図4に、本実施形態における画像処理装置であるプリンタコントローラ400の各モジュールの構成例を示す。図4では、印刷制御部411、CMSモジュール412、およびRIPモジュール413の3つのモジュールを図示している。 FIG. 4 shows a configuration example of each module of a printer controller 400, which is an image processing apparatus in this embodiment. FIG. 4 illustrates three modules: a print control unit 411, a CMS module 412, and a RIP module 413.

印刷制御部411は、前述のシステムタスク311、及びPDLタスク312を実行するモジュールであり、印刷処理全体を制御するモジュールである。印刷ジョブが入力されると下段のRIPモジュール413にジョブを渡し、印刷出力のためのラスター画像データを生成させるように構成されている。 The print control unit 411 is a module that executes the aforementioned system task 311 and PDL task 312, and is a module that controls the entire print process. When a print job is input, it is configured to pass the job 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等のデータから補間演算処理を行い、所望の変換値を算出する。またコンバーターは、さらに処理を高速化するため、キャッシュメモリ223~225に補間演算結果からなるカラーLUTを展開して用いることができる。キャッシュメモリ223~225に一度変換処理した入力色値と補間演算結果である出力色値を一定量保持することで、繰り返し同じ色を変換するような場合には補完演算処理を省くことが出来る。尚、後述するように、キャッシュメモリに保持する補間演算結果からなるカラーLUTの入力色値には、入力色空間上の色値に代えて、入力色空間上の色値に基づき生成されたハッシュ値を用いてもよい。また展開データは、γ値等の固定した値を保持しておき、こちらも都度計算することなく値の参照のみで変換をすることができる。 The CMS module 412 is a module in charge of CMS (color management system) processing, and is configured to be called by the RIP module 413 for color conversion processing. The CMS module 412 includes setting information for color conversion, a converter for color conversion (CONV-A, etc.) that is appropriately generated based on the setting information, and a table that holds development data used in a part of the conversion process. It has departments, etc. The converter for each color conversion calculates a desired conversion value by performing interpolation calculation processing from data such as an ICC profile or a color LUT. In addition, the converter can expand and use a color LUT consisting of interpolation calculation results in the cache memories 223 to 225 in order to further speed up processing. By holding a fixed amount of input color values that have been converted once and output color values that are the results of interpolation calculations in the cache memories 223 to 225, it is possible to omit the complementary calculation process when the same color is repeatedly converted. As described later, the input color values of the color LUT consisting of the interpolation calculation results held in the cache memory include a hash generated based on the color values in the input color space instead of the color values in the input color space. Values may also be used. In addition, the expanded data holds fixed values such as the γ value, and can be converted by simply referencing the values without having to calculate each time.

尚、キャッシュメモリ223~225、メインメモリ230等のメモリ管理は、不図示の記憶制御部が行うものとする。 It is assumed that memory management of the cache memories 223 to 225, the main memory 230, etc. is performed by a storage control unit (not shown).

次に図5を用いて色変換のための補間処理について説明する。 Next, interpolation processing for color conversion will be explained using FIG. 5.

補間処理を前提とした色変換において用いる色変換情報であるカラーLUT(参照テーブル)は、入力色空間を所定の大きさの立方体で分割し、各立方体の頂点(グリッド点)に対応する入力色値についてのみ値を有する。入力色空間を構成する各軸に対応する各色成分が8ビットの値で構成されている場合、0から255の値が入力色値となる。この場合、入力色空間を立方体で16分割すると、参照テーブルの各色成分の入力色値は、0,15,31,・・・,255と、16ステップ毎の値をとる。参照テーブルを用いる際、従来の技術では隣接するグリッド点の値を用いた線形補間演算を行って、グリッド点間の値を求める。補間処理の技術としては図5に示す8点補間等が広く使われており、各グリッド点の値を起原に線形演算を実施する。この演算では加積算処理を実行するために点数が少ない方が処理速度的には有利となる。そのため5点補間や4点補間処理も提案されており、広く使われている。但し、補間精度に関しては点数が少なくなると精度が落ちる傾向にあることに留意する必要がある。 A color LUT (lookup table), which is color conversion information used in color conversion based on interpolation processing, divides the input color space into cubes of a predetermined size, and calculates the input color corresponding to the vertex (grid point) of each cube. Has value only for values. If each color component corresponding to each axis constituting the input color space is composed of 8-bit values, the input color values are values from 0 to 255. In this case, if the input color space is divided into 16 cubes, the input color values of each color component in the reference table take values of 0, 15, 31, . . . , 255 at every 16 steps. When using a reference table, conventional techniques perform linear interpolation using values of adjacent grid points to obtain values between grid points. As a technique for interpolation processing, 8-point interpolation shown in FIG. 5 is widely used, and a linear calculation is performed starting from the value of each grid point. In this calculation, since addition and accumulation processing is executed, it is advantageous in terms of processing speed to have fewer points. Therefore, five-point interpolation and four-point interpolation processing have also been proposed and are widely used. However, regarding interpolation accuracy, it must be noted that the accuracy tends to decrease as the number of points decreases.

次に8点補間での補間処理をより具体的に説明する。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を導出する。 Next, interpolation processing using 8-point interpolation will be explained in more detail. In the case of 8-point interpolation, first, with respect to one predetermined color component, for example, the R-axis direction, a point located between grid points having the same value as the conversion target point Ti is derived. In the example shown in FIG. 5, an intermediate value Q1 is calculated at grid points P1 and P2, and similarly, Q2 is calculated based on P3 and P4, Q3 is calculated based on P5 and P6, and Q4 is calculated based on P7 and P8. Next, using the points Q1 to Q4, points R1 and R2 located between the grid points having the same value as the conversion target point Ti are derived for color components other than the R component, for example in the G-axis direction. Finally, using the points R1 and R2, a point S located between the grid points having the same value as the transformation target point Ti, that is, a transformation target point Ti, is derived with respect to the remaining B component, that is, the B-axis direction.

尚、本実施形態では、図5に示すように、色値の1成分毎に順次補間していく補間処理方法を用いる。この補間処理方法では、最初の1成分の補間値(図7(a)上Q1、Q2,Q3,Q4の値)に関しては、グリッド点の値を基に線形補間演算を行って求めるのではなく、参照テーブルから値を取得するようにする。但し、1成分であっても、全ての入力色値についての参照テーブルを展開すると、多くのメモリ領域が必要となる。そのため、重要度の高い色域に相当する部分の参照テーブルのみ展開し、重要度の低い色域に相当する部分の参照テーブルは圧縮したまま保持するようにする。本実施形態では、入力画像の色分布毎に予め設定された色域毎の重要度に基づき、参照テーブルの非圧縮と圧縮とを適宜切り替える。尚、圧縮された色域の参照テーブルは、使用するために展開する場合、不図示の予約領域(共有領域となっており数KBを割り当てられた領域)に一次的に展開されるよう構成されている。 Note that, in this embodiment, as shown in FIG. 5, an interpolation processing method is used in which interpolation is performed sequentially for each component of color values. In this interpolation processing method, the interpolated value of the first component (the values of Q1, Q2, Q3, and Q4 in FIG. 7(a)) is not determined by linear interpolation calculation based on the values of grid points. , to get the value from the reference table. However, even for one component, developing a reference table for all input color values requires a large memory area. Therefore, only the reference table for the portion corresponding to the color gamut with high importance is developed, and the reference table for the portion corresponding to the color gamut with low importance is kept compressed. In this embodiment, the reference table is appropriately switched between uncompressed and compressed based on the importance of each color gamut that is set in advance for each color distribution of the input image. Note that when the compressed color gamut reference table is expanded for use, it is configured to be expanded primarily in a reserved area (not shown) (a shared area and allocated several kilobytes). ing.

図6は色変換のための補間演算を行って得られた値を保持するためのメモリ領域(補間演算結果保持領域B)について説明した概説図である。補間演算結果保持領域Bは、入力色値に基づき生成されたハッシュキーに対して、グリッド点の値から補間演算により求めた出力色値(変換値)を対応付けたハッシュテーブルを保持する領域である。一度、変換値をハッシュテーブルに登録すれば、その変換値の変換前の入力色値が再度出現した場合、入力色値から生成したハッシュ値でハッシュテーブルを検索して一致するハッシュキーが見つかれば、補間演算無しに変換値となる出力色値を得ることができる。補間演算を実行して変換値を導出するには時間がかかるため、一度計算した変換値を保持することで、同じ入力色値の場合は処理コスト(時間)をかけずに出力色値を得ることが可能となる。 FIG. 6 is a schematic diagram illustrating a memory area (interpolation result holding area B) for holding values obtained by performing interpolation calculation for color conversion. The interpolation result holding area B is an area that holds a hash table in which hash keys generated based on input color values are associated with output color values (converted values) obtained by interpolation from grid point values. be. Once a converted value is registered in a hash table, if the input color value before conversion of that converted value appears again, the hash table is searched using the hash value generated from the input color value and a matching hash key is found. , it is possible to obtain an output color value as a converted value without performing an interpolation operation. Since it takes time to perform interpolation operations and derive converted values, by retaining the converted values once calculated, output color values can be obtained without incurring processing costs (time) if the input color values are the same. becomes possible.

この補間演算結果持領域Bのサイズは可変であり、不図示のシステムから指示されたサイズ情報に基づいて領域サイズをアロック(割り当て)するよう構成されている。図6に示す例では、RGBの入力色値(0xA723CE)に対して登録可否判断がなされ、次にこの入力色値から検索用のハッシュキーが生成される。生成したハッシュキーは後段の登録処理に渡され、ハッシュテーブルに既に登録済であれば出力色値を補間演算結果持領域Bから得て、未登録であれば、展開された参照テーブルから得られるグリッド点の値に対して補間演算を実施する。補間演算して得られた出力色値は、対応するハッシュキーと共に補間演算結果持領域Bに保持されたハッシュテーブルに記憶する。但し、補間演算結果持領域Bのサイズは所定のアロックサイズで制限されている。そのため、新たに補間演算して得られた出力色値およびハッシュキーは、それらをハッシュテーブルに記憶させても補間演算結果領域Bに設定された所定のアロックサイズを超えない場合のみ、ハッシュテーブルに記憶される。 The size of this interpolation result holding area B is variable, and the area size is allocated based on size information instructed from a system (not shown). In the example shown in FIG. 6, registration permission is determined for an RGB input color value (0xA723CE), and then a hash key for search is generated from this input color value. The generated hash key is passed to the subsequent registration process, and if it has already been registered in the hash table, the output color value is obtained from the interpolation calculation result holding area B, and if it is not registered, it is obtained from the expanded reference table. Perform an interpolation operation on the values of grid points. The output color value obtained by the interpolation calculation is stored in a hash table held in the interpolation calculation result holding area B together with the corresponding hash key. However, the size of the interpolation result holding area B is limited by a predetermined alloc size. Therefore, the output color values and hash keys newly obtained by interpolation are stored in the hash table only if they do not exceed the predetermined alloc size set in interpolation result area B. be remembered.

図7は、メモリ領域の参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率が異なる場合を示す図である。本実施形態では、参照テーブル保持領域Aと補間演算結果領域Bとの合計が所定のサイズに収まるように調整し、グラフィック、ポートレート、極彩色画像等の画像種別毎の色の分布状況に応じてその比率を変えることで処理効率の向上を図っている。例えば、入力画像が有すると予測される色値が色の再利用性が高いことが知られている高彩色領域に多く分布する場合、図7(b)に示すように補間演算結果保持領域Bのサイズ比率を上げ、参照テーブル保持領域Aのサイズ比率を下げる。逆に入力画像が有すると予測される色値が中彩色領域に多く分布する場合は、図7(a)に示すように高彩色領域の場合に比べて補間演算結果保持領域Bのサイズ比率を下げて、参照テーブル保持領域Aのサイズ比率を上げる。図7に示すように、参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率は、参照テーブル保持領域Aで保持する参照テーブルの展開データと圧縮データとの量を調整することで調整することができる。画像の色分布に対する参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率は実験的に求めても良いし、学習機能等で最適化することでより高い処理効率を追求することが出来る。 FIG. 7 is a diagram showing a case where the size ratios of the reference table holding area A and the interpolation calculation result holding area B of the memory area are different. In this embodiment, the total of the reference table holding area A and the interpolation calculation result area B is adjusted to fit within a predetermined size, and is adjusted according to the color distribution status of each image type such as graphics, portraits, and richly colored images. The aim is to improve processing efficiency by changing the ratio. For example, if the color values predicted to be included in the input image are often distributed in a highly chromatic area where color reusability is known to be high, the interpolation result holding area B as shown in FIG. 7(b) The size ratio of the reference table holding area A is increased, and the size ratio of the reference table holding area A is decreased. On the other hand, if the color values that the input image is predicted to have are mostly distributed in the neutral color area, the size ratio of the interpolation result holding area B should be set as compared to the case of the high color area, as shown in FIG. 7(a). and increase the size ratio of the reference table holding area A. As shown in FIG. 7, the size ratio between the reference table holding area A and the interpolation result holding area B is adjusted by adjusting the amount of expanded data and compressed data of the reference table held in the reference table holding area A. can do. The size ratio between the reference table holding area A for the image color distribution and the interpolation calculation result holding area B may be determined experimentally, or higher processing efficiency can be pursued by optimizing it using a learning function, etc. .

図8は、入力色空間の色域毎にメモリ領域における参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率を定めた割合情報を表す割合テーブルを説明するための概説図である。本実施形態では、16x16x16の立方体のグリッド点の値と出力色値とを対応付けるカラーLUTを、図8(b)に示すように各々が4つの立方体からなる8つの領域に大別する。各領域にはIDとして1~8を割り振っている。図8(a)に示す割合テーブルは、各IDに対し参照テーブル保持領域Aと補間演算結果保持領域Bとの比率を保持している。例えば、RGB色空間のIDが「1」の領域では、参照テーブル保持領域Aと補間演算結果保持領域Bとの比率は3:2と設定されている。 FIG. 8 is a schematic diagram for explaining a ratio table representing ratio information that determines the size ratio between the reference table holding area A and the interpolation result holding area B in the memory area for each color gamut of the input color space. In this embodiment, a color LUT that associates values of grid points of a 16x16x16 cube with output color values is roughly divided into eight regions each consisting of four cubes, as shown in FIG. 8(b). IDs 1 to 8 are assigned to each area. The ratio table shown in FIG. 8(a) holds the ratio between the reference table holding area A and the interpolation result holding area B for each ID. For example, in an area where the ID of the RGB color space is "1", the ratio between the reference table holding area A and the interpolation result holding area B is set to 3:2.

図9は、本実施形態の色変換処理の流れを概説するフローチャートである。 FIG. 9 is a flowchart outlining the flow of color conversion processing in this embodiment.

S911では、ROM240からCPUコア221、222に割り当てられるキャッシュメモリ223~225のサイズを取得する。 In S911, the sizes of the cache memories 223 to 225 allocated to the CPU cores 221 and 222 are acquired from the ROM 240.

S912では、入力色空間の所定の領域における参照テーブル保持領域Aと補間演算結果保持領域Bとの比率とを定めた割合テーブルを読み込む。 In S912, a ratio table that defines the ratio between the reference table holding area A and the interpolation result holding area B in a predetermined area of the input color space is read.

S913では、カラーLUTの生成を行う。これは、例えば入力側のRGB色空間(sRGB等)から、出力側のRGB色空間(デバイスRGB)へのカラーLUT合成処理を意味する。本実施形態では、このカラーLUT合成処理において、S912で読み込んだ割合テーブルに基づき、参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率を決定するよう構成されている。 In S913, a color LUT is generated. This means, for example, color LUT synthesis processing from an input side RGB color space (such as sRGB) to an output side RGB color space (device RGB). In this embodiment, in this color LUT synthesis process, the size ratio between the reference table holding area A and the interpolation result holding area B is determined based on the ratio table read in S912.

ここまでが色変換処理のための準備処理であって、S911~S913はプリンタコントローラ400内に設けたモジュールで行ってもよいし、プリンタコントローラ400とは別の外部の情報処理装置で行ってもよい。以降のステップでは印刷ジョブ毎に色変換処理を適宜実行する構成となっている。 The steps up to this point are preparation processes for the color conversion process, and S911 to S913 may be performed by a module provided within the printer controller 400, or may be performed by an external information processing device separate from the printer controller 400. good. In subsequent steps, color conversion processing is executed as appropriate for each print job.

S914では、メモリ管理を行う記憶制御部が、キャッシュメモリの領域確保と初期化等を含むジョブ開始処理を行う。 In S914, the storage control unit that performs memory management performs job start processing including securing and initializing a cache memory area.

S915では、CMSモジュール412が、S913で生成したカラーLUTを用いて補間演算を行って色変換処理を行う。この色変換処理では、図5で説明した補間演算を伴う補間処理を行うと同時に、一度算出した出力色値は、図6で説明した補間演算結果保持領域Bに記憶し、同じ入力色値が再度出現した場合には補間演算を行うことなくキャッシュメモリから出力色値を取得する。 In S915, the CMS module 412 performs interpolation calculation using the color LUT generated in S913 to perform color conversion processing. In this color conversion process, the interpolation process that involves the interpolation calculation explained in FIG. If it appears again, the output color value is obtained from the cache memory without performing interpolation.

S916では、印刷制御部411が、印刷ジョブがあるか否かを判定し、次の印刷ジョブが有る場合はS914へ戻り、処理すべき印刷ジョブがない場合はS917へ進む。 In S916, the print control unit 411 determines whether there is a print job. If there is a next print job, the process returns to S914; if there is no print job to process, the process proceeds to S917.

S917では、CMSモジュール412が、色変換処理を終了するためにS913で生成したカラーLUTを破棄する。 In S917, the CMS module 412 discards the color LUT generated in S913 to end the color conversion process.

S918では、記憶制御部が、キャッシュメモリの解放等を含む印刷ジョブの終了処理を実行し処理を終了する。 In S918, the storage control unit executes print job termination processing, including releasing the cache memory, and ends the processing.

尚、PDLデータで指定される色数が極端に多くないケースではメモリ容量が逼迫する等の問題は発生しないが、システムで利用できるメモリには制限がある場合が多く、色変換処理のために利用可能なメモリは数十MB程度である。圧縮された参照テーブルを次々と展開した場合や、補間演算結果を次々と保持していった場合、システム上のメモリ不足が発生する可能性がある。そのため、参照テーブル保持領域Aの使用量が予め設定された閾値に達した場合は、それ以降、圧縮された参照テーブルを展開して保持することはしない。同様に、補間演算結果保持領域Bの使用量が予め設定された閾値に達した場合は、それ以降、新たに得られた補間演算結果を保持することはしない。 Note that in cases where the number of colors specified in the PDL data is not extremely large, problems such as memory capacity shortage will not occur, but there are often limits to the memory that can be used by the system, and it is necessary to The available memory is on the order of tens of MB. When compressed reference tables are expanded one after another, or when interpolation calculation results are stored one after another, there is a possibility that the system will run out of memory. Therefore, when the usage amount of the reference table holding area A reaches a preset threshold value, the compressed reference table will not be expanded and held from then on. Similarly, if the usage amount of the interpolation result holding area B reaches a preset threshold, no newly obtained interpolation results will be held thereafter.

または、参照テーブルに優先順位、例えば、その時点での出現頻度や、プロファイル内に記載された格子毎の品質情報等に基づく優先順位をつけて、以降の処理で優先順位の低い参照テーブルの展開データをキャッシュメモリ上から消去するようにしてもよい。尚、展開データが消去された参照テーブルは圧縮データとして参照テーブル保持領域Aに保持されるものとする。参照テーブルの展開データの更新は、最も高頻度とする場合は各参照テーブルが生成される毎、次に高頻度とする場合ではオブジェクト単位の参照テーブルが生成される毎、更に頻度を低くする場合では印刷ジョブ単位の参照テーブルが生成される毎に行う。また、これらのタイミングとは別にシステム側からキャッシュメモリ上の参照テーブルの展開データを消去するよう要求される場合は、即時に優先順位が低い参照テーブルの展開データをキャッシュメモリ上から消去し、圧縮データとして保持する。 Alternatively, you can assign a priority to the reference table, for example, based on the frequency of appearance at that point, quality information for each grid described in the profile, etc., and develop the reference table with a lower priority in subsequent processing. The data may also be erased from the cache memory. It is assumed that the reference table from which the expanded data has been deleted is held in the reference table holding area A as compressed data. The most frequent update of expanded data for reference tables is every time each reference table is generated, the second most frequent update is every time a reference table for each object is generated, and the next most frequent update is every time a reference table for each object is generated. This is done every time a reference table for each print job is generated. In addition, if the system side requests that the expanded data of the reference table on the cache memory be erased separately from these timings, the expanded data of the reference table with a lower priority is immediately erased from the cache memory and compressed. Retain as data.

本実施形態では、補間処理における演算回数は最初の1成分についての補間処理が参照テーブルを用いることにより省略されているため、特に色数が多いケースにおいて処理速度を向上させることが出来る。また、キャッシュメモリに保持する参照テーブルは特定の領域のものに限られるため、必要とする容量を抑制することが出来る。その結果、組込み向けのプロセッサのようにキャッシュメモリのサイズが小さな環境下においても参照テーブルを配置出来るため、キャッシュメモリを効率的に利用してCPUの能力を最大限に活用することができる。 In this embodiment, the number of calculations in the interpolation process is such that the interpolation process for the first one component is omitted by using a lookup table, so the processing speed can be improved, especially in cases where the number of colors is large. Further, since the reference tables held in the cache memory are limited to those in a specific area, the required capacity can be suppressed. As a result, the reference table can be placed even in an environment where the size of the cache memory is small, such as in an embedded processor, so that the cache memory can be used efficiently and the capacity of the CPU can be utilized to the maximum.

<実施形態2>
図10に、本実施形態における画像処理装置であるプリンタコントローラ1000の各モジュールの構成例を示す。図10では、図4に示すプリンタコントローラ400と共通する構成については同じ符号を用いている。実施形態1ではキャッシュメモリ上の参照テーブル保持領域Aと補間演算結果保持領域Bとのサイズ比率が予め設定された比率に固定されているが、実施形態2では、サイズ比率決定部1010が入力画像の彩度に応じてサイズ比率を変更することができる。
<Embodiment 2>
FIG. 10 shows a configuration example of each module of a printer controller 1000, which is an image processing apparatus in this embodiment. In FIG. 10, the same reference numerals are used for components common to printer controller 400 shown in FIG. 4. In the first embodiment, the size ratio between the reference table holding area A and the interpolation result holding area B on the cache memory is fixed to a preset ratio, but in the second embodiment, the size ratio determining unit 1010 The size ratio can be changed depending on the saturation of the image.

Figure 2024035723000002
Figure 2024035723000002

尚、本実施形態では、彩度を表す距離DをA値とB値のみから算出したが、L値、A値、B値のそれぞれに重み付けを行い、L値の重みをA値とB値の重みよりも小さくしてL値、A値、およびB値から距離Dを算出するようにしてもよい。 Note that in this embodiment, the distance D representing saturation is calculated from only the A value and the B value, but each of the L value, A value, and B value is weighted, and the weight of the L value is changed from the A value to the B value. The distance D may be calculated from the L value, the A value, and the B value by using a weight smaller than the weight of .

本実施形態では、扱う入力画像の特性に応じてサイズ比率を最適化することができるため、よりキャッシュメモリの効率的な利用が可能になる。 In this embodiment, the size ratio can be optimized according to the characteristics of the input image to be handled, so that the cache memory can be used more efficiently.

<実施形態3>
本実施形態では、並列プロセッサにおける並列処理モジュール(色変換処理を並列に実施)を想定して、各モジュールが利用するキャッシュメモリ(割り当てられたメモリアロケータ)のサイズに注目する。実施形態1にあるようにキャッシュメモリ上に展開した参照テーブルを消去するか否かを、各モジュール(スレッド、またはプロセス)が利用するメモリアロケータのサイズに基づいて決定する。
<Embodiment 3>
In this embodiment, assuming parallel processing modules (performing color conversion processing in parallel) in parallel processors, attention will be paid to the size of the cache memory (allocated memory allocator) used by each module. Whether or not to erase the reference table developed on the cache memory as in the first embodiment is determined based on the size of the memory allocator used by each module (thread or process).

1つの画像を複数のモジュールで色変換処理する場合、例えば奇数バンドと偶数バンドとで処理するモジュールを分けることが可能である。図11に、実施形態3におけるメモリアロケータの概略構成を示す。図11に示すようにメモリアロケータは階層構造とすることが可能であり、アロケータA、アロケータBはモジュールA、モジュールBの専用アロケータとし、シェアードアロケータはモジュールAおよびモジュールBに共有のアロケータとする。このような構成において、一方のモジュールにより展開済みの参照テーブルが他方のモジュールでも必要な場合、その参照テーブルへのポインタのコピーを一方のモジュールから他方のモジュールに渡す。そしてモジュールAとモジュールBとが共有するシェアードアロケータと呼ばれる領域に共有する参照テーブルを割り当てる。これにより、他方のモジュールでも一方のモジュールが展開した参照テーブルが参照可能となる。同様に、補間演算結果についてもシェアードアロケータに割り当てることでモジュールAおよびモジュールBで参照可能とすることができる。 When one image is subjected to color conversion processing using a plurality of modules, it is possible, for example, to separate the processing modules for odd-numbered bands and even-numbered bands. FIG. 11 shows a schematic configuration of a memory allocator in the third embodiment. As shown in FIG. 11, the memory allocator can have a hierarchical structure, where allocator A and allocator B are dedicated allocators for module A and module B, and the shared allocator is an allocator shared by module A and module B. In such a configuration, if a reference table expanded by one module is also needed by the other module, one module passes a copy of the pointer to the reference table to the other module. Then, a shared reference table is allocated to an area called a shared allocator shared by module A and module B. This allows the other module to refer to the reference table expanded by one module. Similarly, the interpolation result can be referenced by module A and module B by allocating it to the shared allocator.

このようにモジュールAとモジュールBとでシェアードアロケータを介してデータを共有することで、重複して保持する参照テーブルの展開データの量を抑制することができ、展開できる参照テーブルの数を増やすことができる。このようにキャッシュメモリの効率的な利用により、より高速な色変換処理が可能になる。 By sharing data between module A and module B via the shared allocator in this way, it is possible to suppress the amount of expanded data of reference tables held redundantly, and increase the number of reference tables that can be expanded. Can be done. Efficient use of cache memory in this way enables faster color conversion processing.

尚、各モジュールの動作を管理するための管理情報もシェアードアロケータに保持して管理する。 Note that management information for managing the operation of each module is also held and managed in the shared allocator.

尚、本実施形態では、参照テーブル保持領域Aと補間演算結果保持領域Bとは、それぞれ別に独立してサイズ調整を行うようにしてもよい。 In this embodiment, the size of the reference table holding area A and the interpolation calculation result holding area B may be adjusted independently.

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

本開示は、以下の構成および方法を含む。 The present disclosure includes the following configurations and methods.

(構成1)
入力画像に対して色変換処理を行うための画像処理装置であって、
前記色変換処理に用いられるメモリ領域として、第1のメモリ領域と当該第1のメモリ領域と異なる第2のメモリ領域とを設定する設定手段と、
予め定められた入力色値に対して出力色値を対応付けた第1の色変換情報を前記第1のメモリ領域に記憶させ、前記入力画像の色値のうち前記第1の色変換情報の入力色値に含まれない色値に対して、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られた色値を対応付けた第2の色変換情報を前記第2のメモリ領域に記憶させる記憶制御手段と、
を備え、
前記設定手段は、前記第1のメモリ領域と前記第2のメモリ領域とのサイズ比率を、前記入力画像が有すると予測される色分布に応じて決定された比率に基づき設定する、
ことを特徴とする画像処理装置。
(Configuration 1)
An image processing device for performing color conversion processing on an input image, the image processing device comprising:
Setting means for setting a first memory area and a second memory area different from the first memory area as a memory area used in the color conversion process;
First color conversion information in which output color values are associated with predetermined input color values is stored in the first memory area, and the first color conversion information among the color values of the input image is stored in the first memory area. The second color conversion information in which color values not included in the input color values are associated with color values obtained by performing interpolation calculation processing based on the color values and the first color conversion information is added to the second color conversion information. storage control means for storing data in the second memory area;
Equipped with
The setting means sets a size ratio between the first memory area and the second memory area based on a ratio determined according to a color distribution that the input image is predicted to have.
An image processing device characterized by:

(構成2)
前記入力画像が有すると予測される色分布は、所定の複数の画像の色分布に基づき導出された、
ことを特徴とする構成1に記載の画像処理装置。
(Configuration 2)
The color distribution that the input image is predicted to have is derived based on the color distribution of a plurality of predetermined images.
The image processing device according to configuration 1, characterized in that:

(構成3)
前記設定手段は、所定の色域毎に前記サイズ比率を定めた割合情報を参照し、前記複数の画像に含まれる色値が最も多く分布する色域から前記サイズ比率を決定する、
ことを特徴とする構成に記載2の画像処理装置。
(Configuration 3)
The setting means refers to ratio information defining the size ratio for each predetermined color gamut, and determines the size ratio from the color gamut in which the most color values included in the plurality of images are distributed.
The image processing device according to item 2, characterized in that:

(構成4)
前記記憶制御手段は、前記色変換処理に用いられるメモリ領域と前記サイズ比率とに基づき導出される前記第1のメモリ領域のサイズに応じて、前記第1の色変換情報の一部を圧縮して記憶させる、
ことを特徴とする構成2又は3に記載の画像処理装置。
(Configuration 4)
The storage control means compresses a part of the first color conversion information according to a size of the first memory area derived based on a memory area used for the color conversion process and the size ratio. to remember,
The image processing device according to configuration 2 or 3, characterized in that:

(構成5)
前記第1の色変換情報の圧縮される部分は、前記入力画像において出現頻度の低い色値を入力色値とする部分である、
ことを特徴とする構成4に記載の画像処理装置。
(Configuration 5)
The compressed portion of the first color conversion information is a portion whose input color value is a color value that appears less frequently in the input image.
The image processing device according to configuration 4, characterized in that:

(構成6)
前記記憶制御手段は、前記色変換処理を複数のプロセスの並列処理で行う場合、各プロセスに専用の第1のメモリアロケータと、複数のプロセスで共有の第2のメモリアロケータとを設け、複数のプロセスで用いる前記第1の色変換情報を第2のメモリアロケータに割り当てる、
ことを特徴とする構成4又は5に記載の画像処理装置。
(Configuration 6)
When the color conversion processing is performed by parallel processing of a plurality of processes, the storage control means includes a first memory allocator dedicated to each process and a second memory allocator shared by the plurality of processes; allocating the first color conversion information used in the process to a second memory allocator;
The image processing device according to configuration 4 or 5, characterized in that:

(構成7)
前記記憶制御手段は、前記第1のメモリアロケータ及び前記第2のメモリアロケータのサイズに基づき、前記第1の色変換情報のうち、圧縮する部分を決定する、
ことを特徴とする構成6に記載の画像処理装置。
(Configuration 7)
The storage control means determines a portion of the first color conversion information to be compressed based on the sizes of the first memory allocator and the second memory allocator.
The image processing device according to configuration 6, characterized in that:

(構成8)
前記設定手段は、前記入力画像の彩度に応じて前記サイズ比率を決定する、
ことを特徴とする構成1乃至7のいずれか1項に記載の画像処理装置。
(Configuration 8)
The setting means determines the size ratio according to the saturation of the input image.
8. The image processing device according to any one of configurations 1 to 7, characterized in that:

(構成9)
前記設定手段は、前記入力画像の色値がLab値でない場合、前記入力画像の色値をLab値に変換し、前記Lab値のうち少なくともa値とb値とに基づき前記彩度を算出する、
ことを特徴とする構成8に記載の画像処理装置。
(Configuration 9)
When the color value of the input image is not a Lab value, the setting means converts the color value of the input image into a Lab value, and calculates the saturation based on at least an a value and a b value of the Lab values. ,
The image processing device according to configuration 8, characterized in that:

(構成10)
前記第1の色変換情報又は前記第2の色変換情報に基づき、前記入力画像の色値を色変換する変換手段をさらに備え、
前記変換手段は、前記入力画像の色値のうち、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致する色値は、当該入力色値に対応付けられた出力色値に変換して出力し、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致しない色値は、前記第1の色変換情報に基づき補間演算処理を行って得られる色値に変換して出力する、
ことを特徴とする構成1乃至9のいずれか1項に記載の画像処理装置。
(Configuration 10)
further comprising conversion means for color converting the color values of the input image based on the first color conversion information or the second color conversion information,
The converting means converts, among the color values of the input image, a color value that matches an input color value in the first color conversion information or the second color conversion information into an output corresponding to the input color value. The color values are converted into color values and output, and color values that do not match the input color values in the first color conversion information or the second color conversion information are subjected to interpolation calculation processing based on the first color conversion information. Convert and output the obtained color value,
The image processing device according to any one of Configurations 1 to 9, characterized in that:

(構成11)
前記記憶制御手段は、前記入力画像の色値のうち、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致しない色値を、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られる色値に変換し、当該変換前後の色値を対応付けて前記第2の色変換情報の一部として前記第2のメモリ領域に記憶する、
ことを特徴とする構成10に記載の画像処理装置。
(Configuration 11)
The storage control means stores a color value that does not match an input color value in the first color conversion information or the second color conversion information, among the color values of the input image, into the color value and the first color. converting into a color value obtained by performing an interpolation calculation process based on the conversion information, and storing the color value before and after the conversion in association with each other in the second memory area as part of the second color conversion information;
The image processing device according to configuration 10, characterized in that:

(構成12)
前記第1の色変換情報及び前記第2の色変換情報は、カラールックアップテーブルである、
ことを特徴とする構成1乃至11のいずれか1項に記載の画像処理装置。
(Configuration 12)
the first color conversion information and the second color conversion information are color lookup tables;
The image processing device according to any one of Configurations 1 to 11, characterized in that:

(構成13)
前記第1の色変換情報は、カラールックアップテーブルであり、
前記第2の色変換情報は、前記入力画像の色値から生成されたハッシュキーに対して、前記補間演算処理を行って得られた色値を対応付けたハッシュテーブルである、
ことを特徴とする構成1乃至11のいずれか1項に記載の画像処理装置。
(Configuration 13)
the first color conversion information is a color lookup table;
The second color conversion information is a hash table in which color values obtained by performing the interpolation calculation process are associated with hash keys generated from the color values of the input image.
The image processing device according to any one of Configurations 1 to 11, characterized in that:

(構成14)
入力画像に対して色変換処理を行うための画像処理方法であって、
前記色変換処理に用いられるメモリ領域として、第1のメモリ領域と当該第1のメモリ領域と異なる第2のメモリ領域とを設定する設定ステップと、
予め定められた入力色値に対して出力色値を対応付けた第1の色変換情報を前記第1のメモリ領域に記憶させ、前記入力画像の色値のうち前記第1の色変換情報の入力色値に含まれない色値に対して、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られた色値を対応付けた第2の色変換情報を前記第2のメモリ領域に記憶させる記憶制御ステップと、
を備え、
前記設定ステップは、前記第1のメモリ領域と前記第2のメモリ領域とのサイズ比率を、前記入力画像が有すると予測される色分布に応じて決定された比率に基づき設定する、
ことを特徴とする画像処理方法。
(Configuration 14)
An image processing method for performing color conversion processing on an input image, the method comprising:
a setting step of setting a first memory area and a second memory area different from the first memory area as a memory area used for the color conversion process;
First color conversion information in which output color values are associated with predetermined input color values is stored in the first memory area, and the first color conversion information among the color values of the input image is stored in the first memory area. The second color conversion information in which color values not included in the input color values are associated with color values obtained by performing interpolation calculation processing based on the color values and the first color conversion information is added to the second color conversion information. a storage control step for storing data in the second memory area;
Equipped with
The setting step sets a size ratio between the first memory area and the second memory area based on a ratio determined according to a color distribution that the input image is predicted to have.
An image processing method characterized by:

(構成15)
コンピュータを構成1乃至13のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
(Configuration 15)
A program for causing a computer to function as the image processing apparatus according to any one of Configurations 1 to 13.

400 プリンタコントローラ
411 印刷制御部
412 CMSモジュール
400 Printer controller 411 Print control unit 412 CMS module

Claims (15)

入力画像に対して色変換処理を行うための画像処理装置であって、
前記色変換処理に用いられるメモリ領域として、第1のメモリ領域と当該第1のメモリ領域と異なる第2のメモリ領域とを設定する設定手段と、
予め定められた入力色値に対して出力色値を対応付けた第1の色変換情報を前記第1のメモリ領域に記憶させ、前記入力画像の色値のうち前記第1の色変換情報の入力色値に含まれない色値に対して、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られた色値を対応付けた第2の色変換情報を前記第2のメモリ領域に記憶させる記憶制御手段と、
を備え、
前記設定手段は、前記第1のメモリ領域と前記第2のメモリ領域とのサイズ比率を、前記入力画像が有すると予測される色分布に応じて決定された比率に基づき設定する、
ことを特徴とする画像処理装置。
An image processing device for performing color conversion processing on an input image, the image processing device comprising:
Setting means for setting a first memory area and a second memory area different from the first memory area as a memory area used in the color conversion process;
First color conversion information in which output color values are associated with predetermined input color values is stored in the first memory area, and the first color conversion information among the color values of the input image is stored in the first memory area. The second color conversion information in which color values not included in the input color values are associated with color values obtained by performing interpolation calculation processing based on the color values and the first color conversion information is added to the second color conversion information. storage control means for storing data in the second memory area;
Equipped with
The setting means sets a size ratio between the first memory area and the second memory area based on a ratio determined according to a color distribution that the input image is predicted to have.
An image processing device characterized by:
前記入力画像が有すると予測される色分布は、所定の複数の画像の色分布に基づき導出された、
ことを特徴とする請求項1に記載の画像処理装置。
The color distribution that the input image is predicted to have is derived based on the color distribution of a plurality of predetermined images.
The image processing device according to claim 1, characterized in that:
前記設定手段は、所定の色域毎に前記サイズ比率を定めた割合情報を参照し、前記複数の画像に含まれる色値が最も多く分布する色域から前記サイズ比率を決定する、
ことを特徴とする請求項2に記載の画像処理装置。
The setting means refers to ratio information defining the size ratio for each predetermined color gamut, and determines the size ratio from the color gamut in which the most color values included in the plurality of images are distributed.
The image processing device according to claim 2, characterized in that:
前記記憶制御手段は、前記色変換処理に用いられるメモリ領域と前記サイズ比率とに基づき導出される前記第1のメモリ領域のサイズに応じて、前記第1の色変換情報の一部を圧縮して記憶させる、
ことを特徴とする請求項1に記載の画像処理装置。
The storage control means compresses a part of the first color conversion information according to a size of the first memory area derived based on a memory area used for the color conversion process and the size ratio. to remember,
The image processing device according to claim 1, characterized in that:
前記第1の色変換情報の圧縮される部分は、前記入力画像において出現頻度の低い色値を入力色値とする部分である、
ことを特徴とする請求項4に記載の画像処理装置。
The compressed portion of the first color conversion information is a portion whose input color value is a color value that appears less frequently in the input image.
The image processing device according to claim 4, characterized in that:
前記記憶制御手段は、前記色変換処理を複数のプロセスの並列処理で行う場合、各プロセスに専用の第1のメモリアロケータと、複数のプロセスで共有の第2のメモリアロケータとを設け、複数のプロセスで用いる前記第1の色変換情報を第2のメモリアロケータに割り当てる、
ことを特徴とする請求項4に記載の画像処理装置。
When the color conversion processing is performed by parallel processing of a plurality of processes, the storage control means includes a first memory allocator dedicated to each process and a second memory allocator shared by the plurality of processes; allocating the first color conversion information used in the process to a second memory allocator;
The image processing device according to claim 4, characterized in that:
前記記憶制御手段は、前記第1のメモリアロケータ及び前記第2のメモリアロケータのサイズに基づき、前記第1の色変換情報のうち、圧縮する部分を決定する、
ことを特徴とする請求項6に記載の画像処理装置。
The storage control means determines a portion of the first color conversion information to be compressed based on the sizes of the first memory allocator and the second memory allocator.
The image processing apparatus according to claim 6, characterized in that:
前記設定手段は、前記入力画像の彩度に応じて前記サイズ比率を決定する、
ことを特徴とする請求項1に記載の画像処理装置。
The setting means determines the size ratio according to the saturation of the input image.
The image processing device according to claim 1, characterized in that:
前記設定手段は、前記入力画像の色値がLab値でない場合、前記入力画像の色値をLab値に変換し、前記Lab値のうち少なくともa値とb値とに基づき前記彩度を算出する、
ことを特徴とする請求項8に記載の画像処理装置。
When the color value of the input image is not a Lab value, the setting means converts the color value of the input image into a Lab value, and calculates the saturation based on at least an a value and a b value of the Lab values. ,
The image processing device according to claim 8, characterized in that:
前記第1の色変換情報又は前記第2の色変換情報に基づき、前記入力画像の色値を色変換する変換手段をさらに備え、
前記変換手段は、前記入力画像の色値のうち、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致する色値は、当該入力色値に対応付けられた出力色値に変換して出力し、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致しない色値は、前記第1の色変換情報に基づき補間演算処理を行って得られる色値に変換して出力する、
ことを特徴とする請求項1に記載の画像処理装置。
further comprising conversion means for color converting the color values of the input image based on the first color conversion information or the second color conversion information,
The converting means converts, among the color values of the input image, a color value that matches an input color value in the first color conversion information or the second color conversion information into an output corresponding to the input color value. The color values are converted into color values and output, and color values that do not match the input color values in the first color conversion information or the second color conversion information are subjected to interpolation calculation processing based on the first color conversion information. Convert and output the obtained color value,
The image processing device according to claim 1, characterized in that:
前記記憶制御手段は、前記入力画像の色値のうち、前記第1の色変換情報又は前記第2の色変換情報における入力色値と一致しない色値を、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られる色値に変換し、当該変換前後の色値を対応付けて前記第2の色変換情報の一部として前記第2のメモリ領域に記憶する、
ことを特徴とする請求項10に記載の画像処理装置。
The storage control means stores a color value that does not match an input color value in the first color conversion information or the second color conversion information, among the color values of the input image, into the color value and the first color. converting into a color value obtained by performing an interpolation calculation process based on the conversion information, and storing the color value before and after the conversion in association with each other in the second memory area as part of the second color conversion information;
The image processing device according to claim 10.
前記第1の色変換情報及び前記第2の色変換情報は、カラールックアップテーブルである、
ことを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
the first color conversion information and the second color conversion information are color lookup tables;
The image processing device according to any one of claims 1 to 11.
前記第1の色変換情報は、カラールックアップテーブルであり、
前記第2の色変換情報は、前記入力画像の色値から生成されたハッシュキーに対して、前記補間演算処理を行って得られた色値を対応付けたハッシュテーブルである、
ことを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
the first color conversion information is a color lookup table;
The second color conversion information is a hash table in which color values obtained by performing the interpolation calculation process are associated with hash keys generated from the color values of the input image.
The image processing device according to any one of claims 1 to 11.
入力画像に対して色変換処理を行うための画像処理方法であって、
前記色変換処理に用いられるメモリ領域として、第1のメモリ領域と当該第1のメモリ領域と異なる第2のメモリ領域とを設定する設定ステップと、
予め定められた入力色値に対して出力色値を対応付けた第1の色変換情報を前記第1のメモリ領域に記憶させ、前記入力画像の色値のうち前記第1の色変換情報の入力色値に含まれない色値に対して、当該色値及び前記第1の色変換情報に基づき補間演算処理を行って得られた色値を対応付けた第2の色変換情報を前記第2のメモリ領域に記憶させる記憶制御ステップと、
を備え、
前記設定ステップは、前記第1のメモリ領域と前記第2のメモリ領域とのサイズ比率を、前記入力画像が有すると予測される色分布に応じて決定された比率に基づき設定する、
ことを特徴とする画像処理方法。
An image processing method for performing color conversion processing on an input image, the method comprising:
a setting step of setting a first memory area and a second memory area different from the first memory area as a memory area used for the color conversion process;
First color conversion information in which output color values are associated with predetermined input color values is stored in the first memory area, and the first color conversion information among the color values of the input image is stored in the first memory area. The second color conversion information in which color values not included in the input color values are associated with color values obtained by performing interpolation calculation processing based on the color values and the first color conversion information is added to the second color conversion information. a storage control step for storing data in the second memory area;
Equipped with
The setting step sets a size ratio between the first memory area and the second memory area based on a ratio determined according to a color distribution that the input image is predicted to have.
An image processing method characterized by:
コンピュータを請求項1乃至11のいずれか1項に記載の画像処理装置として機能させるためのプログラム。 A program for causing a computer to function as the image processing device according to any one of claims 1 to 11.
JP2022140365A 2022-09-02 2022-09-02 Image processing device, image processing method, and program Pending JP2024035723A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022140365A JP2024035723A (en) 2022-09-02 2022-09-02 Image processing device, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022140365A JP2024035723A (en) 2022-09-02 2022-09-02 Image processing device, image processing method, and program

Publications (1)

Publication Number Publication Date
JP2024035723A true JP2024035723A (en) 2024-03-14

Family

ID=90195050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022140365A Pending JP2024035723A (en) 2022-09-02 2022-09-02 Image processing device, image processing method, and program

Country Status (1)

Country Link
JP (1) JP2024035723A (en)

Similar Documents

Publication Publication Date Title
JP6729766B2 (en) Print data processing device and program
JP4408836B2 (en) Image processing apparatus, control method therefor, and program
JP5643574B2 (en) Image processing apparatus and image processing method
US7680358B2 (en) Image processing apparatus and control method thereof, and program
JP6029344B2 (en) Image processing apparatus, image processing method, and program
JP5171461B2 (en) Information processing apparatus, information processing method, information processing system, and program
JP5051327B1 (en) Image processing apparatus and program
JP5117175B2 (en) Color processing apparatus, PDL processing apparatus, image forming apparatus, color conversion method, computer program, and recording medium
JP2012236344A (en) Printing apparatus, data processing method for the printing apparatus and program
JP5393168B2 (en) Image forming apparatus and control method thereof
US8860971B2 (en) Printing device and printing method of printing device
JP2024035723A (en) Image processing device, image processing method, and program
US6985258B1 (en) Print system
JP4646703B2 (en) Image processing apparatus, control method therefor, and program
JP2010111099A (en) Image processing apparatus and its control method
JP6635158B2 (en) A mechanism to perform color forced parameter conversion
JP4336470B2 (en) Drawing control apparatus, drawing control method and program
JP5936363B2 (en) Image processing apparatus and image processing method
JP2023065885A (en) Image processing device, image processing method and program
JP5896610B2 (en) Apparatus, method and program
JP2011053944A (en) Image forming device, image forming method, and control program
JP7506710B2 (en) Image processing device, image processing method and program
JP6238589B2 (en) Image forming apparatus, image processing method, and program
JP5800217B2 (en) Rendering method
JP3686490B2 (en) System and method using variable binarization for printer driver architecture