JP2008141502A - Image processing method, image processing device, and system thereof - Google Patents

Image processing method, image processing device, and system thereof Download PDF

Info

Publication number
JP2008141502A
JP2008141502A JP2006325924A JP2006325924A JP2008141502A JP 2008141502 A JP2008141502 A JP 2008141502A JP 2006325924 A JP2006325924 A JP 2006325924A JP 2006325924 A JP2006325924 A JP 2006325924A JP 2008141502 A JP2008141502 A JP 2008141502A
Authority
JP
Japan
Prior art keywords
color conversion
image data
processing
image
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006325924A
Other languages
Japanese (ja)
Other versions
JP2008141502A5 (en
JP5110861B2 (en
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 JP2006325924A priority Critical patent/JP5110861B2/en
Publication of JP2008141502A publication Critical patent/JP2008141502A/en
Publication of JP2008141502A5 publication Critical patent/JP2008141502A5/ja
Application granted granted Critical
Publication of JP5110861B2 publication Critical patent/JP5110861B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable high-speed color conversion processing to compressed image data by performing cache processing by a multithread. <P>SOLUTION: An image processing method prepares cache data for color conversion by multithreads 344-347 according to a DC component 341 per processing unit block of image data when image data 316 compressed is decompressed by a decompression processor 320, and stores the data in a global range 348. When image data 331 decompressed is processed by a color conversion processor 351, the cache data within the global range 348 is referred. Thus, high-speed color conversion processing to the compressed image data is realized. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は画像処理方法および画像処理装置、およびそのシステムに関し、特に、画像データに対するカラーマッチングを行う画像処理方法および画像処理装置、およびそのシステムに関する。   The present invention relates to an image processing method, an image processing apparatus, and a system thereof, and more particularly to an image processing method, an image processing apparatus, and a system thereof that perform color matching on image data.

画像を周波数領域に写像し、各周波数成分に適合する量子化および符号化を施して効率的な画像圧縮を実現する方法が数多く提案されている。中でも、離散コサイン変換(DCT)およびハフマン符号を組み合わせた画像適合型の画像圧縮方法は、国際規格に採用されるなど幅広く用いられている。これら画像圧縮技術は、近年のカラー画像システムの普及に伴い、高精細(高解像度)のカラー画像の圧縮に利用される場合が多い。   Many methods have been proposed in which an image is mapped in the frequency domain, and quantization and coding suitable for each frequency component are performed to realize efficient image compression. In particular, an image adaptive image compression method combining a discrete cosine transform (DCT) and a Huffman code is widely used, such as being adopted in an international standard. These image compression techniques are often used to compress high-definition (high-resolution) color images with the recent spread of color image systems.

一般にカラー画像システムとして、特にカラーインクジェットプリンタによるカラープリンティングシステムが普及している。このようなカラー画像システムにおいては、高精細なカラー画像を圧縮してディスク装置(ファイルシステム)へ保存し、この圧縮データを必要に応じて展開し、カラー印刷を行うことが頻繁に行われている。   In general, as a color image system, a color printing system using a color ink jet printer is in widespread use. In such a color image system, a high-definition color image is compressed and stored in a disk device (file system), the compressed data is expanded as necessary, and color printing is frequently performed. Yes.

ここで、画像圧縮技術を利用した一般的な画像処理システムの一例について、図11を用いて以下に概説する。図11において、カラー画像データである原画像データ111は、圧縮処理部110で圧縮される。圧縮処理部110において、入力された原画像データ111はまずDCT変換処理部112で色成分プレーンごとに8×8ピクセルのブロック単位で周波数データへ変換され、量子化処理部113で周波数成分ごとに適宜量子化される。次に、周波数データの直流成分であるDC係数は、DC係数処理部114により前後ブロックとの差分が算出され、周波数データの交流成分であるAC係数は、AC係数処理部115によりエントロピ符号化される。これら符号化されたデータ群により、圧縮データ116が構成される。   Here, an example of a general image processing system using an image compression technique will be outlined below with reference to FIG. In FIG. 11, original image data 111 that is color image data is compressed by a compression processing unit 110. In the compression processing unit 110, the input original image data 111 is first converted into frequency data in units of 8 × 8 pixel blocks for each color component plane by the DCT conversion processing unit 112, and for each frequency component by the quantization processing unit 113. Quantized as appropriate. Next, the DC coefficient that is the DC component of the frequency data is calculated by the DC coefficient processing unit 114 as a difference from the preceding and following blocks, and the AC coefficient that is the AC component of the frequency data is entropy encoded by the AC coefficient processing unit 115. The These encoded data groups constitute compressed data 116.

圧縮処理部110より得られた圧縮データ116は、伸長処理部120において必要に応じて伸長され出力される。伸長処理部120ではまず、逆AC係数処理部121によりエントロピ復号を行って量子化AC係数を求め、逆DC係数処理部122により前後のブロックから注目ブロックのDC係数を求める。このようにして得た量子化データ群から、逆量子化処理部123および逆DCT変換処理部124により、カラー画像データである伸長データ131を得る。   The compressed data 116 obtained from the compression processing unit 110 is decompressed and output as necessary by the decompression processing unit 120. In the decompression processing unit 120, first, the inverse AC coefficient processing unit 121 performs entropy decoding to obtain a quantized AC coefficient, and the inverse DC coefficient processing unit 122 obtains the DC coefficient of the block of interest from the preceding and succeeding blocks. From the quantized data group thus obtained, the inverse quantization processing unit 123 and the inverse DCT transform processing unit 124 obtain decompressed data 131 that is color image data.

得られた伸長データ131は、色変換処理部141により印刷に適した色空間に写像(カラーマッチング:例えばRGB→YMCK)される。色変換後の画像データはさらに、解像度変換部151により拡大(または縮小)されて印刷解像度に適合され、画像出力信号161を形成する。   The obtained decompressed data 131 is mapped into a color space suitable for printing (color matching: RGB → YMCK) by the color conversion processing unit 141. The image data after the color conversion is further enlarged (or reduced) by the resolution conversion unit 151 and adapted to the printing resolution to form an image output signal 161.

このような図11に示した画像処理システムにおいては、伸長データ131のデータサイズが大きくなるため、色変換処理部141におけるカラーマッチング処理時間が長くなってしまうという課題がある。ここでのカラーマッチング処理を高速に行うために、一旦変換したカラー変換結果を一時的に保持しておく「キャッシング処理」等が提案されている(例えば、特許文献1参照)。   In the image processing system shown in FIG. 11, since the data size of the decompressed data 131 becomes large, there is a problem that the color matching processing time in the color conversion processing unit 141 becomes long. In order to perform the color matching process at high speed here, a “caching process” or the like that temporarily holds a color conversion result that has been converted has been proposed (for example, see Patent Document 1).

上述したカラープリンティングシステムにおける処理速度は、その処理対象となる画像データのサイズにも大きく左右され、例えば高解像度の写真画像等を処理する場合には、処理速度は低下しがちである。   The processing speed in the color printing system described above greatly depends on the size of image data to be processed. For example, when processing a high-resolution photographic image or the like, the processing speed tends to decrease.

近年のデジタルカメラの高解像度化は目覚しく、ハイエンドの一眼レフタイプのデジタルカメラであれば、画素数が10メガピクセルを超えるものも珍しくない。これらハイエンド機は大型CMOSセンサを搭載することによって、優れた解像度の画像生成を可能とし、例えば有効画素数が約1670万画素(16メガピクセル)もの画像を生成する機種も登場している。   In recent years, the resolution of digital cameras has been remarkably increased, and it is not uncommon for a high-end single-lens reflex digital camera to have more than 10 megapixels. These high-end machines are equipped with a large CMOS sensor, which enables generation of an image with excellent resolution. For example, a model that generates an image having approximately 16.7 million effective pixels (16 megapixels) has appeared.

16メガピクセルのデジタルカメラで撮影された画像は、4992×3328ピクセル(1661万画素)からなる。一般に、撮影された写真画像データはRGB画像であるため、これをホストPC上で展開するには、47.53MBのメモリが必要となる。   An image taken with a 16-megapixel digital camera consists of 4992 × 3328 pixels (16.61 million pixels). In general, since the photographed photographic image data is an RGB image, a 47.53 MB memory is required to develop it on the host PC.

さらに、デジタルカメラで撮影されたRGB画像を印刷する場合、これをCMYK等の色空間に変換する必要がある。そのため、撮影画像を印刷出力するプリンティングシステムにおいては、カラーマネージメントシステム(CMS)を搭載することが必須であり、例えばカラーLUTを用いて、出力デバイスの特性に合わせたカラーマッチング処理を行った上で、印刷される。   Furthermore, when printing an RGB image photographed with a digital camera, it is necessary to convert it into a color space such as CMYK. For this reason, a printing system that prints out a photographed image must be equipped with a color management system (CMS). For example, a color LUT is used to perform color matching processing that matches the characteristics of the output device. Printed.

ここで図12に、撮影画像を印刷する従来のカラープリンティングシステムの概略構成を示す。同図において、ホストPC100とプリンタコントローラ200は、シリアルケーブル、または、ネットワークケーブル等で接続されている。このシステムにおいては、そのコネクティビティ(伝送路)におけるデータ転送用の帯域が狭いため、データサイズを小さくしてプリントジョブを流すように構成している。したがって圧縮画像を印刷する場合、ホストPC100側では圧縮画像の展開処理は行わず、圧縮したままの状態でプリンタコントローラ200側にデータを転送する。そしてプリンタコントローラ200側において、受け取った圧縮画像をRIPマネージャが伸長し、カラーマッチングを行った後に印刷出力する。
特開2000-113172号公報
FIG. 12 shows a schematic configuration of a conventional color printing system for printing a photographed image. In the figure, the host PC 100 and the printer controller 200 are connected by a serial cable or a network cable. In this system, since the bandwidth for data transfer in the connectivity (transmission path) is narrow, the print job is configured with a reduced data size. Therefore, when printing a compressed image, the host PC 100 does not perform the compressed image expansion process, and transfers the data to the printer controller 200 in a compressed state. On the printer controller 200 side, the RIP manager decompresses the received compressed image, performs color matching, and prints it out.
JP 2000-113172 A

上記従来のカラー画像システムにおいて、カラーマッチング処理の高速化を目的としたキャッシング処理が行われる旨を説明した。しかしながらこのキャッシング処理は、特にベクターグラフィックス等に関しては有効であるが、圧縮されたイメージ画像等を処理する場合においては、特に効果は得られなかった。   In the above-described conventional color image system, it has been described that the caching process is performed for the purpose of speeding up the color matching process. However, this caching process is particularly effective for vector graphics and the like, but has not been particularly effective when processing compressed image images and the like.

また、現在の通信技術の発達に伴い、図12に示すような構成においてもホストPCと周辺装置とのコネクティビティにおける帯域を十分に広くとることも可能となってきている。このようなプリンティング環境においては、必ずしも印刷データの伝送時サイズを小さくする必要は無い。また、ホストPC側での処理速度も飛躍的に向上しているため、ホストPC側で伸長等のデータ処理を行った方が、総合的に処理速度が向上する場合が多いことが考えられる。   Further, with the development of current communication technology, it is also possible to sufficiently widen the bandwidth in connectivity between the host PC and peripheral devices even in the configuration shown in FIG. In such a printing environment, it is not always necessary to reduce the print data transmission size. In addition, since the processing speed on the host PC side is also dramatically improved, it is considered that the processing speed is often improved overall when data processing such as decompression is performed on the host PC side.

例えば、出願人が一般的な高性能ホストPCにおいて、4992×3328ピクセル(約48MB)の8ビット画像について、線形8点補間を伴うカラーマッチング処理を実験的に行った場合、約6.5秒で処理が完了するという結果が得られた。   For example, in the case where the applicant experimentally performs a color matching process with linear 8-point interpolation on an 8-bit image of 4992 × 3328 pixels (about 48 MB) on a general high-performance host PC, about 6.5 seconds. As a result, the process was completed.

しかしながら、現在の業務用プリンタにおいては、1分間に30〜60枚以上の高速印刷を可能とするため、1枚の画像につき2秒〜1秒以内に処理を完了する必要がある。したがって、たとえ図12に示すようなカラープリンティングシステムにおけるカラーマッチング処理をホストPC側で実現できたとしても、その処理時間が未だ上記程度であれば、このような高速印刷には対応できなかった。   However, in current commercial printers, it is necessary to complete processing within 2 seconds to 1 second per image in order to enable high-speed printing of 30 to 60 sheets or more per minute. Therefore, even if the color matching processing in the color printing system as shown in FIG. 12 can be realized on the host PC side, if the processing time is still in the above range, such high-speed printing cannot be handled.

本発明は上述した問題を個々にまたはまとめて解決するためになされたものであり、高速なカラーマッチング処理を実現する画像処理方法および画像処理装置、およびそのシステムを提供することを目的とする。   The present invention has been made to solve the above-described problems individually or collectively, and an object thereof is to provide an image processing method, an image processing apparatus, and a system for realizing high-speed color matching processing.

上記目的を達成するための一手法として、本発明の画像処理方法は以下の工程を備える。   As a technique for achieving the above object, the image processing method of the present invention includes the following steps.

すなわち、圧縮された画像データを伸長する伸長ステップと、前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成ステップと、前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換ステップと、を有することを特徴とする。   That is, an expansion step for expanding compressed image data, a cache generation step for generating cache data for color conversion based on frequency components for each processing unit block of the image data, and for the expanded image data And a color conversion step for performing a color conversion process based on the cache data.

また、画像データに対する色変換処理を行う画像処理方法であって、前記画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験ステップと、前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したブロックサイズを特定するブロックサイズ特定ステップと、該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与ステップと、を有し、前記画像データに対する色変換処理を、前記サイズ情報で示されるブロックサイズにて行うことを特徴とする。   An image processing method for performing color conversion processing on image data, wherein a test step for experimentally performing color conversion processing with a plurality of block sizes on the image data, and a test result in the test step A block size specifying step for specifying a block size for which the color conversion process has been executed in the shortest time; and a size information adding step for adding size information indicating the block size to the image data. The color conversion process is performed with a block size indicated by the size information.

さらに、色変換処理の対象色について色変換用の補間演算を実行する補間演算ステップと、前記補間演算ステップにおける演算結果をファイルに格納しておく結果保持ステップと、をさらに有し、前記画像データに対する色変換処理を、前記ファイルに基づいて行うことを特徴とする。   The image data further includes an interpolation calculation step for executing an interpolation calculation for color conversion for a target color of the color conversion process, and a result holding step for storing the calculation result in the interpolation calculation step in a file. A color conversion process is performed on the basis of the file.

また、複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理方法であって、スレッド数を可変として前記色変換処理を試験的に実行する試験ステップと、前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したスレッド数を特定するスレッド数特定ステップと、該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持ステップと、を有し、前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として行うことを特徴とする。   An image processing method for performing color conversion processing on image data in a host computer that enables parallel processing by a plurality of threads, the test step for performing the color conversion processing on a trial basis with a variable number of threads, and the test Based on the test results in the step, the number of threads specifying step for specifying the number of threads that executed the color conversion processing in the shortest time, and the number of threads information that holds thread number information indicating the number of threads in the system file in the host computer And a color conversion process for the image data is performed as a parallel process based on the number of threads indicated by the thread number information.

以上の構成により本発明によれば、高速なカラーマッチング処理が実現される。   With the above configuration, according to the present invention, high-speed color matching processing is realized.

以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。   Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

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

図1に、本実施形態のカラープリンタ2010における画像形成部の概略構成例を示す。同図において、2200〜2230はカラーインクカートリッジであり、それぞれイエロー(Y)カラーインク,マゼンタ(M)カラーインク,シアン(C)カラーインク,ブラック(K)カラーインクが充填されている。各インクカートリッジ2200〜2230と圧力ポンプ2160とは、インクを供給するためのそれぞれ独立したパイプで接続され、圧力ポンプ2160からプリントヘッド2120までは一定の圧力で各色のインクが圧送されるようになっている。   FIG. 1 shows a schematic configuration example of an image forming unit in the color printer 2010 of the present embodiment. In the figure, reference numerals 2200 to 2230 denote 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 ink of each color is pumped from the pressure pump 2160 to the print head 2120 at a constant pressure. ing.

記録紙は、カラープリンタ2010の後面より供給され、プラテン2110とフロントガイドローラ2150により固定される。また、カラープリンタ2010の操作は、コントロールパネル2180上のキーを押下することで行われ、コントロールボード2190がカラープリンタ2010のすべての動作を制御する。   The recording paper is supplied from the rear surface of the color printer 2010 and is fixed by a platen 2110 and a front guide roller 2150. The operation of the color printer 2010 is performed by pressing a key 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 perform printing by the color printer 2010, a print control command and print data may be sent to the control board 2190 via an interface (not shown). For example, when RGB is designated in the color designation command, the control board 2190 that has received the print control command and the print data drives the print head 2120 after converting the RGB data into CMYK data by the internal color processing unit. Print.

本実施形態のプリンティングシステムにおいては、圧縮されたカラーの画像データ(以下、単に圧縮データと称する)は、その伸長処理によって、元のカラー画像データに復元されると同時に周波数成分データが抽出される。圧縮データは複数のデータブロック(通常は矩形の領域)に分割されているので、一枚の画像データに対して、ブロック領域毎に、例えばDC成分だけを抜き出して、その色についてのみ先行してカラーマッチング処理を行うことができる。そして、該カラーマッチング結果を後段処理で再利用するために、一時的に保持(キャッシング)することによって、全体としてのデータ処理速度の向上を可能とする。   In the printing system of this embodiment, compressed color image data (hereinafter simply referred to as compressed data) is restored to the original color image data by the decompression process, and at the same time, frequency component data is extracted. . Since the compressed data is divided into a plurality of data blocks (usually rectangular areas), for example, only the DC component is extracted for each block area from one image data, and only the color is preceded. Color matching processing can be performed. Then, in order to reuse the color matching result in subsequent processing, the data processing speed as a whole can be improved by temporarily holding (caching) the result.

図2は、本実施形態のプリンティングシステムにおける画像処理の概要を示す図である。同図において、例えば各色成分が8ビットの原画像データ311は、圧縮処理部310で圧縮される。圧縮処理部310において、入力された原画像データ311はまずDCT変換処理部312で各色成分プレーンごとに例えば8×8ピクセルのブロック単位で周波数データに変換される。ここで、原画像を示す関数をi(x,y)、これに対応するDCT関数をI(u,v)とすると、変換式が以下のように定義される。
I(u,v) = 2c(u)/N・2c(v)/N
・ΣΣi(x,y)・cos{(2x+1)uπ/2N}・cos{(2y+1)vπ/2N} ...(1)
ただし、0≦u,v≦N-1
u,v = 0 のとき、c(u) = c(v) = 1/√2
u,v = 1,2,...,N-1 のとき、c(u) = c(v) = 1
なお、(1)式における一つ目のΣ演算の範囲はx=0〜N、
二つ目のΣ演算の範囲はy=0〜N、である。
FIG. 2 is a diagram showing an outline of image processing in the printing system of the present embodiment. In the figure, for example, original image data 311 having 8 bits for each color component is compressed by a compression processing unit 310. In the compression processing unit 310, the input original image data 311 is first converted into frequency data by the DCT conversion processing unit 312 for each color component plane, for example, in units of 8 × 8 pixel blocks. Here, if the function indicating the original image is i (x, y) and the corresponding DCT function is I (u, v), the conversion equation is defined as follows.
I (u, v) = 2c (u) / N ・ 2c (v) / N
・ ΣΣi (x, y) ・ cos {(2x + 1) uπ / 2N} ・ cos {(2y + 1) vπ / 2N} ... (1)
However, 0 ≦ u, v ≦ N-1
When u, v = 0, c (u) = c (v) = 1 / √2
When u, v = 1,2, ..., N-1, c (u) = c (v) = 1
Note that the range of the first Σ operation in equation (1) is x = 0 to N,
The range of the second Σ operation is y = 0 to N.

そして量子化処理部313により、上記変換データは周波数成分毎に量子化される。なお、この量子化には、ビット数のスケーリング等の処理が含まれる。そして、周波数データの直流成分であるDC係数はDC係数処理部314により前後ブロックとの差分が算出され、交流成分であるAC係数はAC係数処理部315によりエントロピ符号化され、これらのデータ群により圧縮データ319が構成される。   Then, the converted data is quantized by the quantization processing unit 313 for each frequency component. This quantization includes processing such as scaling of the number of bits. Then, the DC coefficient that is the direct current component of the frequency data is calculated by the DC coefficient processing unit 314 to calculate the difference from the preceding and following blocks, and the AC coefficient that is the alternating current component is entropy encoded by the AC coefficient processing unit 315, Compressed data 319 is configured.

圧縮処理部310より得られた圧縮データ316は、一時的に不図示の記憶装置へ格納され、必要に応じて伸長され出力される。以下に、本実施形態における伸長処理について具体的に説明する。   The compressed data 316 obtained from the compression processing unit 310 is temporarily stored in a storage device (not shown), and is decompressed and output as necessary. Hereinafter, the decompression process in the present embodiment will be described in detail.

伸長処理部320へ入力された圧縮データ316は、まず、逆AC係数処理部321によりエントロピ復号されて量子化AC係数が求められ、逆DC係数処理部322により前後のブロックから注目ブロックのDC係数が求められる。これら量子化データ群を、逆量子化処理部323により逆量子化(および逆スケーリング)する。この際に得られた領域毎の周波数成分を、画像周波数成分(DCT係数データ)341として不図示の記憶装置に格納するか、または一時的にメモリへ出力する。   The compressed data 316 input to the decompression processing unit 320 is first entropy-decoded by the inverse AC coefficient processing unit 321 to obtain quantized AC coefficients, and the inverse DC coefficient processing unit 322 calculates the DC coefficient of the target block from the preceding and following blocks. Is required. These quantized data groups are inversely quantized (and inversely scaled) by the inverse quantization processing unit 323. The frequency component for each region obtained at this time is stored in a storage device (not shown) as an image frequency component (DCT coefficient data) 341 or temporarily output to a memory.

画像周波数成分(DCT係数データ)341は、候補色選択部342において、該ブロックのDC成分を構成する色がキャッシング処理をすべき色か否かについて、判断される。具体的には、候補色選択部342において画像周波数成分341を調べ、低周波成分が予め設定された閾値より大きい場合にのみ、キャシュスレッドを起動するように構成している。ここでキャッシュスレッドとは、カラーマッチング処理を行うことであり、該カラーマッチング結果は後段処理で再利用可能となるように、一時的にグローバル領域(キャッシュテーブル)348へ保持される。   The image frequency component (DCT coefficient data) 341 is determined by the candidate color selection unit 342 as to whether or not the color constituting the DC component of the block is a color to be cached. Specifically, the candidate color selection unit 342 checks the image frequency component 341, and the cache thread is activated only when the low frequency component is larger than a preset threshold. Here, the term “cache thread” refers to performing color matching processing, and the color matching result is temporarily held in the global area (cache table) 348 so that it can be reused in subsequent processing.

343は、キャッシュスレッドを起動するキャッシュスレッド起動部である。本実施形態では、最大で4つまでの色変換スレッド処理344〜347を起動できる。各スレッドへのエントリーは待ち行列キューを経由するため、4つの全スレッドが起動済みの場合は適宜キューに入り、いずれかの処理が空くまで待機する。上述したようにこれらスレッド処理としてカラーマッチング処理(例えば、sRGB→プリンタCMYK)が行わた結果は、グローバル領域348へ格納される。   Reference numeral 343 denotes a cache thread activation unit that activates a cache thread. In the present embodiment, up to four color conversion thread processes 344 to 347 can be activated. Since the entry to each thread goes through the queue queue, if all four threads have already been started, the thread enters the queue as appropriate, and waits until any processing becomes available. As described above, the result of the color matching processing (for example, sRGB → printer CMYK) as the thread processing is stored in the global area 348.

ここで図3に、本実施形態において処理される画像データの構成例を示す。同図に示されるように本実施形態における画像データは、8×8ピクセルの矩形領域すなわちブロックで構成されている。本実施形態によれば、画像データのブロックごとに、その周波数成分(DCT係数データ)341を候補色選択部342において判定し、キャッシュ処理すべき色であれば、キャッシュスレッド起動部343でマルチキャッシュスレッドを起動する。   Here, FIG. 3 shows a configuration example of image data processed in this embodiment. As shown in the figure, the image data in this embodiment is composed of an 8 × 8 pixel rectangular area, that is, a block. According to this embodiment, for each block of image data, the frequency component (DCT coefficient data) 341 is determined by the candidate color selection unit 342, and if the color is to be cached, the cache thread activation unit 343 performs multi-cache processing. Start a thread.

このように本実施形態によれば、複数ブロック(Block0〜n)で構成される1枚の画像データについて、マルチスレッドによるキャッシュ処理が行われるため、キャシュデータを高速に作成することが可能である。   As described above, according to the present embodiment, cache processing by multi-thread is performed on one piece of image data composed of a plurality of blocks (Block 0 to n), so that cache data can be created at high speed. .

図2の説明に戻り、上述した逆量子化処理部323により得られた周波数データ群は、続いて、逆DCT変換処理部324により空間領域へ写像される。この処理は各ブロック単位で独立して実行することができるために、複数のスレッドを起動して、同時並行で処理を進めるよう構成する。上述した一連の処理により、カラー画像データである伸長データ331が得られる。   Returning to the description of FIG. 2, the frequency data group obtained by the above-described inverse quantization processing unit 323 is subsequently mapped to the spatial domain by the inverse DCT transform processing unit 324. Since this process can be executed independently for each block, a plurality of threads are activated and the process is advanced in parallel. By the series of processes described above, decompressed data 331 that is color image data is obtained.

このようにして得られた伸長データ331は、色変換処理部351により、デバイス色空間へ変換される。本実施形態ではこの色変換処理の際に、グローバル領域348に格納されたキャッシュデータを適宜参照しながらカラーマッチング処理を行うことにより、処理速度の向上が望める。   The decompressed data 331 obtained in this way is converted into a device color space by the color conversion processing unit 351. In the present embodiment, at the time of this color conversion processing, the processing speed can be improved by performing the color matching processing while appropriately referring to the cache data stored in the global area 348.

上述した色変換処理部351における色変換後には、解像度変換処理部361により、例えば印刷解像度に適合するように拡大(または縮小)処理が施され、出力画像データ371が得られる。   After the color conversion in the color conversion processing unit 351 described above, the resolution conversion processing unit 361 performs an enlargement (or reduction) process so as to match the print resolution, for example, and output image data 371 is obtained.

なお、本実施形態において画像ブロックは矩形に限定されない。例えば画像ブロックが略六角形で構成されていても、それぞれのブロックが不規則な大きさ・形状を有していても、隣接するブロック間にオーバラップがあってもよい。   In this embodiment, the image block is not limited to a rectangle. For example, the image blocks may be substantially hexagonal, each block may have an irregular size and shape, or there may be overlap between adjacent blocks.

また、色変換処理部351における色変換処理の方法については、画像の周波数成分に応じて高画質画像を形成することができるものであれば、特に限定されない。   Further, the color conversion processing method in the color conversion processing unit 351 is not particularly limited as long as a high-quality image can be formed according to the frequency component of the image.

さらに、符号化された画像データを伸長する伸長処理部320においては、必ずしも原画像の再生を伴う必要はなく、単に、符号化されたデータから必要な情報だけを取得する等、必要最小限の処理を行うように構成してもよい。例えば、画像データを再生せずに中間符号に復号してもよい。すなわち、本実施形態における伸長処理部320は、原画像の生成を部分的または一時的に行うものであっても良い。   Further, in the decompression processing unit 320 that decompresses the encoded image data, it is not always necessary to accompany the reproduction of the original image, and only necessary information is obtained from the encoded data. You may comprise so that a process may be performed. For example, the image data may be decoded into an intermediate code without being reproduced. That is, the decompression processing unit 320 in the present embodiment may be a unit that generates the original image partially or temporarily.

以上説明したように本実施形態によれば、圧縮された画像データを伸長して出力する際に、キャッシュデータがマルチスレッドにより効率的に生成されるため、これを参照した色変換処理を行うことによって、カラーマッチング処理全体の処理時間が短縮される。   As described above, according to the present embodiment, when the compressed image data is decompressed and output, the cache data is efficiently generated by the multi-thread, and therefore, color conversion processing referring to this is performed. As a result, the processing time of the entire color matching process is shortened.

<第2実施形態>
以下、本発明に係る第2実施形態について説明する。第2実施形態では、ハイエンドなデジタルカメラで撮影された高解像度画像を印刷出力するプリンティングシステムにおける、カラーマッチングの高速化を実現する。
<Second Embodiment>
Hereinafter, a second embodiment according to the present invention will be described. In the second embodiment, high-speed color matching is realized in a printing system that prints out a high-resolution image captured by a high-end digital camera.

図4は、第2実施形態におけるプリンティングシステムの概略構成を示す図である。本システムでは、ホストPC100からプリンタコントローラ200へのデータ転送のコネクティビティ(伝送路)が細い場合、例えば、ホスト−プリンタ間の接続がリモートネットワーク等で接続され、高帯域な伝送路の確保が困難な場合を想定している。   FIG. 4 is a diagram illustrating a schematic configuration of a printing system according to the second embodiment. In this system, when the connectivity (transmission path) of data transfer from the host PC 100 to the printer controller 200 is thin, for example, the connection between the host and the printer is connected by a remote network or the like, and it is difficult to secure a high-bandwidth transmission path. Assume the case.

図4に示すシステムにおけるカラーマッチング処理は、プリンタコントローラ200内部のCPUを用いたソフトウェア処理によって実現される。プリンタコントローラ200内部で利用されるCPUはシングルスレッドでしか動作しないが、データのロード時間を短縮して高速化処理を実現するためのキャッシュを搭載している。   The color matching processing in the system shown in FIG. 4 is realized by software processing using a CPU inside the printer controller 200. The CPU used inside the printer controller 200 operates only with a single thread, but is equipped with a cache for shortening the data loading time and realizing high-speed processing.

図5は、第2実施形態のプリンタコントローラ200内のCPUに内蔵されているキャッシュの概略を示す図である。同図に示すCPU220は、その内部にキャッシュメモリとして高速なSRAM222を備えている。キャッシュに対する内部ラインの選択方法としては、フルアソシアティブ、ダイレクトマップ、4ウェイセットアソシアティブなどの方式等、高速化のための工夫が多数、提案されている。   FIG. 5 is a diagram showing an outline of a cache built in the CPU in the printer controller 200 of the second embodiment. The CPU 220 shown in the figure includes a high-speed SRAM 222 as a cache memory. As a method for selecting an internal line for a cache, many devices for speeding up have been proposed, such as a full associative method, a direct map, and a 4-way set associative method.

また、外部メモリであるメインメモリ231はDDR等の大容量メモリであり、第2実施形態におけるカラー画像処理を実現するために、約80MB以上の領域が割り当てられる。   The main memory 231 that is an external memory is a large-capacity memory such as DDR, and an area of about 80 MB or more is allocated in order to realize color image processing in the second embodiment.

以下、第2実施形態におけるカラーマッチング処理の高速化について詳細に説明する。第2実施形態においては、CPU220でソフトウェアプログラム(以下、単にプログラムと称する)を実行することによってカラーマッチング処理を実現するが、この実行速度を向上させるために、以下の(1),(2)に示す制御を行うことを特徴とする。   Hereinafter, the speeding up of the color matching process in the second embodiment will be described in detail. In the second embodiment, the CPU 220 implements a color matching process by executing a software program (hereinafter simply referred to as a program). In order to improve the execution speed, the following (1), (2) The following control is performed.

(1)カラーマッチングに伴う補間演算にかかる処理時間を削減するために、該演算を予め行って演算結果をLUT(ルックアップテーブル)として、メインメモリ231に格納しておく。   (1) In order to reduce the processing time required for the interpolation calculation associated with color matching, the calculation is performed in advance and the calculation result is stored in the main memory 231 as an LUT (lookup table).

このLUTは、sRGBとプリンタCMYK値をダイレクトに対応させたものであり、カラーマッチング処理がスタートする内部メモリであるDRAM224にロードされる。なお、該LUTが全ての演算結果を備えるためには、8ビットで表現可能な256色の3乗の個数の色x4色分、すなわち64MBの記憶領域が必要となる。LUTの容量が大きくて、DRAM224にLUT全体が格納できない場合には、LUTのうちカラーマッチング処理で使用する部分が適応的にロードされる。   This LUT is a direct correspondence between sRGB and printer CMYK values, and is loaded into the DRAM 224, which is an internal memory where color matching processing starts. In order for the LUT to have all the calculation results, it is necessary to store a storage area of 64 MB, that is, the number of colors to the cube of 256 colors that can be expressed in 8 bits, that is, 64 MB. If the LUT capacity is large and the entire LUT cannot be stored in the DRAM 224, the portion of the LUT that is used for color matching processing is adaptively loaded.

(2)キャッシュが有効に利くように、画像をブロック化する。この際に有効なブロックサイズは、ホストPC側で先行して調査しておく。   (2) Block the image so that the cache is effective. At this time, the effective block size is investigated in advance on the host PC side.

上記(1),(2)に示す制御について、さらに詳細に説明する。   The control shown in the above (1) and (2) will be described in more detail.

まず、(1)のLUTを用いた補間演算時間の削減について説明する。カラーマッチングに伴う補間演算を実行するような通常のプログラムについて、パフォーマンスアナライザ等で実行時間を解析すると、補間演算に必要な乗減算のオペレーションにかなりのクロック数を消費していることが分かる。これは、補間演算の計算式について、その処理順を切り換えても同様である。そこで第2実施形態においては、補間演算の基本的な計算式はそのままとし、予め作成したLUTを利用することによって処理時間の削減を図っている。   First, the reduction in interpolation calculation time using the LUT of (1) will be described. When an execution time is analyzed with a performance analyzer or the like for an ordinary program that executes an interpolation operation associated with color matching, it can be seen that a considerable number of clocks are consumed for the multiplication / subtraction operation necessary for the interpolation operation. This is the same even if the processing order of the calculation formula for the interpolation calculation is switched. Therefore, in the second embodiment, the basic calculation formula of the interpolation calculation is left as it is, and the processing time is reduced by using a previously created LUT.

すなわち、ジョブが投入されてからカラーマッチングに伴う補間演算を開始するのではなく、入力色空間色における全ての色について、予め該補間演算を行っておいて、該演算結果をプリンタコントローラ200内のLUTファイル等に格納しておく。なお、このLUTファイルの作成は必ずしもプリンタコントローラ200にて行う必要はなく、作成されたLUTがプリンタコントローラ200内で高速アクセスを可能な場所に保持されるのであれば、例えばホストPC100側にて作成しても良い。ここで該LUTのサイズとしては、入力色空間色がRGB8ビットである場合は、全1667万色分で合計64MBとなる。   That is, instead of starting an interpolation calculation associated with color matching after a job is submitted, the interpolation calculation is performed in advance for all colors in the input color space color, and the calculation result is stored in the printer controller 200. Stored in an LUT file or the like. The creation of the LUT file is not necessarily performed by the printer controller 200. If the created LUT is held in a place where high-speed access is possible in the printer controller 200, for example, the creation is performed on the host PC 100 side. You may do it. Here, the size of the LUT is 64 MB in total for 16.67 million colors when the input color space color is RGB 8-bit.

そして、カラーマッチング時に、該LUTファイルを内部メモリ(DRAM224)にロードし、投入されたジョブを処理すべく、該メモリへのアクセスを行って該LUTを利用することにより、カラーマッチング値を高速行なう。   At the time of color matching, the LUT file is loaded into the internal memory (DRAM 224), and the color matching value is performed at high speed by accessing the memory and using the LUT to process the input job. .

第2実施形態では、上記(1)の補間演算LUTの利用に加えて、さらに(2)のキャッシュを有効に利かせること、すなわちキャッシュヒット率を向上させることにより、さらなる高速化を実現する。   In the second embodiment, in addition to the use of the interpolation operation LUT in (1) above, the cache in (2) is used more effectively, that is, the cache hit rate is improved, thereby further increasing the speed.

以下、(2)のブロック化によるキャッシュヒット率の向上について説明する。第2実施形態では、以下に示すようにCMSにおけるループ単位を切り替えることによって、キャッシュのヒット率向上を実現する。   Hereinafter, the improvement of the cache hit rate by the blocking of (2) will be described. In the second embodiment, the cache hit rate is improved by switching the loop unit in the CMS as described below.

一般に、画像内における画素値の分布について、その特徴を捉えることは困難であると考えられている。しかしながら、画像内のブロックという局所領域については、その構成画素の類似性がある程度(確率的に)強く、それはキャッシュを有効活用して処理の高速化を実現させるに十分である。さらに、CMSのループ単位となるブロックサイズを適切に設定することにより、CPU内部におけるデータキャッシュのヒット率を向上させることができる。ここで、キャッシュヒット率を向上させるために最適なブロックサイズは画像によって異なるため、実際に有効なブロックサイズは、原画像ごとに検査する必要がある。   In general, it is considered difficult to capture the characteristics of the distribution of pixel values in an image. However, the local area of a block in the image has a certain degree of similarity (probabilistically) among the constituent pixels, which is sufficient to realize high speed processing by effectively using the cache. Furthermore, the hit rate of the data cache in the CPU can be improved by appropriately setting the block size as a CMS loop unit. Here, since the optimum block size for improving the cache hit rate varies depending on the image, the actually effective block size needs to be inspected for each original image.

そこで第2実施形態では、図4のブロックサイズ検査部130において例えば、ブロック16×16,32×32,64×64,128×128、という4種類のブロックサイズについて、ホストPC100側でそれぞれの処理速度を検査する。もちろん、ここで検査対象となるブロックサイズはこの4種類に限定されるものではなく、例えば8×8を含めた5種類としても良い。そして、該検査により得られた最適なブロックサイズを、処理対象となる画像ファイルのタグ部に貼り付ける。図4の140に、タグとして最適ブロックサイズ情報1401が貼り付けられた画像ファイル例を示す。   Accordingly, in the second embodiment, the block size inspection unit 130 in FIG. 4 performs, for example, four types of block sizes of 16 × 16, 32 × 32, 64 × 64, and 128 × 128 on the host PC 100 side. Check speed. Of course, the block size to be inspected here is not limited to these four types, and may be five types including 8 × 8, for example. Then, the optimum block size obtained by the inspection is pasted on the tag portion of the image file to be processed. FIG. 4 shows an example of an image file in which the optimum block size information 1401 is pasted as a tag.

ここで、図6に示すフローチャートを用いて、ブロックサイズ検査部130における検査手順について説明する。   Here, the inspection procedure in the block size inspection unit 130 will be described with reference to the flowchart shown in FIG.

ホストPC100においてカラーマッチングを実行するためのプログラムが起動されると、まずステップS310において、カラーマッチングの初期化処理として、上述した(1)に示したように作成されたLUTがメモリにロードされる。このLUTのサイズは上述したように、256色の3乗の個数の色x4色分である64MBであるから、このロードのためにメモリ領域(スタティック領域)を確保する必要がある。またこのとき、処理対象となる画像データについてもメモリにロードする。   When a program for executing color matching is activated in the host PC 100, first, in step S310, the LUT created as shown in (1) above is loaded into the memory as color matching initialization processing. . As described above, since the size of this LUT is 64 MB, which is the number of colors to the cube of 256 colors × 4 colors, it is necessary to secure a memory area (static area) for this load. At this time, the image data to be processed is also loaded into the memory.

そしてステップS320において、該メモリ領域が確保されてLUTおよび画像データのロードが成功すると、次にステップS330において、第2実施形態におけるブロックテスト処理(詳細は後述する)を実行する。このブロックテスト処理により、上述したように最適なブロックサイズが画像のタグ部に書き込まれる。その後、ステップS340で該ブロックサイズに基づくCMM初期化処理を行い、高速なカラーマッチング処理に備える。   In step S320, when the memory area is secured and loading of the LUT and image data is successful, block test processing (details will be described later) in the second embodiment is executed in step S330. By this block test process, the optimum block size is written in the tag portion of the image as described above. Thereafter, in step S340, CMM initialization processing based on the block size is performed to prepare for high-speed color matching processing.

以下、ステップS330におけるブロックテスト処理について詳細に説明する。まずステップS331でにおいて、処理対象画像データが既にブロックテスト済みであるか否かを判断し、ブロックテスト未実施の場合はステップS332のブロックテスト初期化処理に進み、テスト済みであればそのまま処理を終了する。   Hereinafter, the block test process in step S330 will be described in detail. First, in step S331, it is determined whether or not the processing target image data has already been subjected to the block test. If the block test has not been performed, the process proceeds to the block test initialization process in step S332. finish.

ステップS332のブロックテスト初期化処理においては、検査するブロックの種類、およびそれぞれのブロックサイズを決定しておく。ここでは4種類のブロック検査を行うため、それぞれをA,B,C,Dに分類して該当するブロックサイズをセットする。この場合すなわち、A=16×16、B=32×32、C=64×64、D=128×128としてセットされる。   In the block test initialization process in step S332, the type of block to be inspected and the respective block size are determined. Here, since four types of block inspection are performed, each is classified into A, B, C, and D, and the corresponding block size is set. In this case, A = 16 × 16, B = 32 × 32, C = 64 × 64, and D = 128 × 128 are set.

そして、それぞれのブロックサイズによるテストを順次行う。まず、ステップS333でブロックテストAとして、ブロックサイズを16×16に設定した状態でカラーマッチング処理を行い、処理にかかった時間を計測して記録する。その後に順次、ステップS334でブロックテストB、ステップS335でブロックテストC、ステップS336でブロックテストDを行う。全てのブロックテストを行った後、ステップS337でテスト結果を集計し、最も高速な処理を可能とするブロックサイズを決定して、該ブロックサイズを画像のタグ部に書き込む。   Then, a test with each block size is sequentially performed. First, as block test A in step S333, color matching processing is performed with the block size set to 16 × 16, and the time taken for processing is measured and recorded. Then, sequentially, block test B is performed in step S334, block test C is performed in step S335, and block test D is performed in step S336. After all the block tests are performed, the test results are totaled in step S337, the block size enabling the fastest processing is determined, and the block size is written in the tag portion of the image.

なお、図6に示したブロックサイズ検査処理は、イメージ画像を扱うアプリケーションソフトウェアとして実行しても良いし、デジタルカメラ等における内部処理として実行されても良い。いずれにせよ、上述したようなブロックテストの結果が、予め画像データにタグ情報としてに埋め込まれるように構成すれば良い。   Note that the block size inspection process shown in FIG. 6 may be executed as application software that handles an image, or may be executed as an internal process in a digital camera or the like. In any case, the block test result as described above may be preliminarily embedded in the image data as tag information.

以上のようにブロックテスト結果がタグ情報として付加されたJPEG等の画像データがプリンタコントローラ200に入力されると、レンダリング部にて画像が展開される。このとき、JPEGが展開された後にCMS処理が行われるが、該CMS処理の際に上述したブロックサイズの情報に基づいて、ループの方法、すなわち処理単位ブロックのサイズが切り替えられる。   As described above, when image data such as JPEG with the block test result added as tag information is input to the printer controller 200, the rendering unit develops the image. At this time, the CMS process is performed after the JPEG is expanded. The loop method, that is, the size of the processing unit block is switched based on the block size information described above during the CMS process.

ここで、第2実施形態によるCMS処理の高速化についての具体例を示す。4992×3328画素からなる画像(約48MB)について、図12で示した従来のカラープリンティングシステムにおけるCMS処理と、図4で示した第2実施形態のプリンティングシステムにおけるCMS処理との処理時間を比較する。その結果、第2実施形態によれば、まず上記(1)に示した画像データのLUTを用いたメモリ展開を行うことによって、約8倍(6.56秒→0.825秒)の高速化が達成された。そしてさらに、上記(2)に示したブロックサイズ制御を行うことによって、さらに約1.25倍(0.825秒→0.660秒)の高速化が達成された。すなわち、CMS処理において上記(1),(2)の制御を行うことによって、全体としての処理時間は6.56秒→0.660秒に短縮され、約10倍の高速処理が達成されたことになる。   Here, a specific example of speeding up the CMS processing according to the second embodiment will be shown. Compare the processing time of the CMS processing in the conventional color printing system shown in FIG. 12 and the CMS processing in the printing system of the second embodiment shown in FIG. 4 for an image (approximately 48 MB) consisting of 4992 × 3328 pixels. . As a result, according to the second embodiment, the memory development using the LUT of the image data shown in (1) above is first performed to increase the speed by about 8 times (6.56 seconds → 0.825 seconds). Was achieved. Further, by performing the block size control shown in the above (2), a speed increase of about 1.25 times (0.825 seconds → 0.660 seconds) was achieved. That is, by controlling the above (1) and (2) in the CMS processing, the overall processing time was shortened from 6.56 seconds to 0.660 seconds, and about 10 times faster processing was achieved. become.

以上説明したように第2実施形態によれば、上記(1)のLUT処理、および(2)のブロックサイズ制御を行うことによって、CMS処理の飛躍的な高速化が実現される。したがって、例えば業務用の高速印刷にも対応することが可能となる。   As described above, according to the second embodiment, by performing the LUT process (1) and the block size control (2), the CMS process can be dramatically speeded up. Therefore, for example, it is possible to cope with high-speed printing for business use.

なお、上記(1),(2)の処理はそれぞれ単体で実行してもそれなりの高速化が実現されるが、両方を併せて実行することによる相乗的な効果の方が大きい。   Although the above-described processes (1) and (2) can be executed at a high speed even if they are executed alone, a synergistic effect by executing both processes is greater.

また、上述した第1実施形態を、第2実施形態に組み合わせることももちろん可能である。すなわち、第2実施形態における処理対象が圧縮画像データであった場合に、使用するキャッシュデータを第1実施形態で説明したように、周波数成分に応じてマルチスレッドで作成することによって、さらなる処理速度の向上が望める。   Of course, the above-described first embodiment can be combined with the second embodiment. That is, when the processing target in the second embodiment is compressed image data, as described in the first embodiment, the cache data to be used is created by multithreading according to the frequency component, thereby further increasing the processing speed. Can be improved.

また、第2実施形態においてはCMS処理をプリンタコントローラ200側にて行う例を示したが、これをホストPC100側にて実行することも可能であり、同様に処理速度が向上する。   In the second embodiment, an example in which CMS processing is performed on the printer controller 200 side has been described. However, it is also possible to execute this on the host PC 100 side, and the processing speed is similarly improved.

<第3実施形態>
以下、本発明に係る第3実施形態について説明する。
<Third Embodiment>
The third embodiment according to the present invention will be described below.

上述した第2実施形態のプリンティングシステムにおいては、ホストPC100からプリンタコントローラ200へのデータ転送のコネクティビティが細い場合が想定されていたが、第3実施形態では、このコネクティビティが十分に太い場合を想定する。   In the printing system of the second embodiment described above, it is assumed that the data transfer connectivity from the host PC 100 to the printer controller 200 is thin. However, in the third embodiment, it is assumed that the connectivity is sufficiently thick. .

図7は、第3実施形態におけるプリンティングシステムの概略構成を示す図である。図7においては、太いコネクティビティの利点を活かして、ホストPC100側において全てのカラーマッチング処理を行い、さらにホストPC100とプリンタコントローラ200とで、レンダリング処理を分散して行う構成例を示している。図7に示すホストPC100は、高速かつ並列に複数のスレッドを同時実行可能なマルチコアを有するCPUと、大容量のメインメモリ(DDR,XDR等)を搭載している。なお、このCPUがキャッシュも具備していることはもちろんである。   FIG. 7 is a diagram illustrating a schematic configuration of a printing system according to the third embodiment. FIG. 7 shows a configuration example in which all the color matching processing is performed on the host PC 100 side, and the rendering processing is distributed between the host PC 100 and the printer controller 200, taking advantage of the thick connectivity. A host PC 100 shown in FIG. 7 includes a CPU having a multi-core capable of simultaneously executing a plurality of threads at high speed and a large-capacity main memory (DDR, XDR, etc.). Of course, this CPU also has a cache.

図7においてはすなわち410に示すように、処理対象となる印刷ジョブデータ内のオブジェクトとして、以下の3つが例示されている。   In FIG. 7, as shown at 410, the following three objects are illustrated as objects in the print job data to be processed.

・フラットフィルを表すコマンド(C1)、およびその色値(rgb1)
・透過オブジェクトを表すコマンド(C2)、およびその色値(rgb2)
・イメージ画像を表すコマンド(C3)、およびその色値(rgb3)
そして、このジョブデータは420に示すように、ホストPC100側においてC1,C2,C3の全てに対するCMS処理を行い、C2,C3についてはレンダリングまで行う。ホストPC100でこのように処理されたジョブデータは、広帯域のコネクティビティによってプリンタコントローラ200へ伝送され、そこで430に示すようにC1のみについてレンダリングが行われる。
A command (C1) representing flat fill and its color value (rgb1)
A command (C2) representing a transparent object and its color value (rgb2)
A command (C3) representing an image and its color value (rgb3)
As shown in 420, the job data is subjected to CMS processing for all of C1, C2, and C3 on the host PC 100 side, and C2 and C3 are rendered up to rendering. The job data processed in this way by the host PC 100 is transmitted to the printer controller 200 by wide-band connectivity, where only C1 is rendered as shown at 430.

以下、第3実施形態におけるカラーマッチング処理の高速化について詳細に説明する。第3実施形態においてはホストPC100内のCPUでプログラムを実行することによってカラーマッチング処理を実現するが、この実行速度を向上させるために、第2実施形態と同様の制御を行う。すなわち、ホストPC100内のCPUで(1)補間演算結果のLUT化、および(2)ブロックサイズ制御を行うが、これらの処理については第2実施形態で説明済みであるため、ここでは省略する。そして第3実施形態ではホストPC100内のCPUにおいてさらに、以下の(3)に示す制御を行うことを特徴とする。   Hereinafter, the speeding up of the color matching process in the third embodiment will be described in detail. In the third embodiment, the color matching process is realized by executing a program by the CPU in the host PC 100. In order to improve the execution speed, the same control as in the second embodiment is performed. That is, the CPU in the host PC 100 performs (1) LUT conversion of the interpolation calculation result and (2) block size control. Since these processes have already been described in the second embodiment, they are omitted here. In the third embodiment, the CPU in the host PC 100 further performs the control shown in the following (3).

(3)複数スレッドを立ち上げて処理を並列化する。   (3) Start up multiple threads and parallelize processing.

以下、(3)の制御についてさらに詳細に説明する。   Hereinafter, the control (3) will be described in more detail.

上述したように、本システムを構成するホストPC100はマルチスレッド処理を実行可能とし、2つのCPUコアが使用でき、スレッドとしては4つを同時に処理することができる。なお、1コアでの2スレッド処理は疑似並行処理である。   As described above, the host PC 100 constituting this system can execute multi-thread processing, two CPU cores can be used, and four threads can be processed simultaneously. Note that 2-thread processing in one core is pseudo-parallel processing.

一般に、2つのコアを使って4つのスレッドを実行する場合は、内部キャッシュメモリやバスの利用時間等の重なりから、必ずしも処理が高速になるとは限らない。いくつの処理を走らせると高速処理が得られるかは、実際に実行させてみないと分からない。   In general, when four threads are executed using two cores, the processing is not necessarily performed at a high speed due to overlapping of internal cache memory and bus utilization time. How many processes can be run to get high-speed processing is not known unless it is actually executed.

また、1つのCPUを搭載しているようにみえるホストPCにおいても、実際には、1チップ内に2つのコアが存在している場合もある。この場合、ソフトウェア側からみると、いずれも4つのCPUが搭載されているように見えることもあり、CPUで完全、並列実行を可能とするスレッドがいくつあるかは分からない。   Even in a host PC that appears to be equipped with one CPU, there may actually be two cores in one chip. In this case, when viewed from the software side, it may seem that all four CPUs are mounted, and it is not known how many threads can be executed completely and in parallel by the CPUs.

そこで第3実施形態では、ホストPC100側にて実際に複数のスレッドを立ち上げてカラーマッチング処理を動作させてみて、スレッド数がいくつの時に最も高速に処理が完了するかを予備的に検査することを特徴とする。   Therefore, in the third embodiment, a plurality of threads are actually started up on the host PC 100 side and color matching processing is operated, and a preliminary check is performed as to when the number of threads is highest and processing is completed at the highest speed. It is characterized by that.

図8のフローチャートを用いて、第3実施形態におけるスレッドテストについて詳細に説明する。まずステップS510においてシステムの設定ファイルをロードする。次にステップS520において、システムとして既にスレッドテストが完了しているか否かを判断し、完了していない場合はステップS530のスレッドテスト初期化処理に進み、完了していればそのまま処理を終了する。   The thread test in the third embodiment will be described in detail using the flowchart of FIG. First, in step S510, a system setting file is loaded. Next, in step S520, it is determined whether or not the thread test has already been completed as a system. If the thread test has not been completed, the process proceeds to the thread test initialization process in step S530, and if completed, the process ends.

ステップS530のスレッドテスト初期化処理が終了すると、次にステップS540において、テストすべきスレッド数の候補を選択してスレッドテストを順次開始する(S551,S552,S553,S554)。ここではスレッド数として、1スレッド、2スレッド、4スレッド、8スレッドの4種類を選択するとする。   When the thread test initialization process in step S530 is completed, in step S540, a candidate for the number of threads to be tested is selected and the thread test is sequentially started (S551, S552, S553, and S554). Here, it is assumed that four types of threads, 1 thread, 2 threads, 4 threads, and 8 threads, are selected.

ここで、スレッドテストの対象画像としては、所定のテスト画像に対し、上述した第2実施形態で説明したようなブロックテストを行った画像を用いることが好適である。すなわち、画像データに付与されたタグ情報から読み込んだ最適ブロックサイズの単位により、各スレッドテスト処理を並列実行する。   Here, as the target image of the thread test, it is preferable to use an image obtained by performing a block test as described in the second embodiment on a predetermined test image. That is, each thread test process is executed in parallel by the unit of the optimum block size read from the tag information given to the image data.

ステップS560では、ステップS551〜S554の処理結果に基づき、最も高速処理を実現したスレッド数をホストPC100における最適なスレッド数として決定する。そしてステップS570において、該最適スレッド数をホストPC100内のシステム設定ファイルに書き出ことによって、スレッドテスト処理を終了する。なお、ステップS551〜S554として並列実行されるスレッドテストは、ホストPC100に設けられた不図示のスレッド監視制御部によって制御される。   In step S560, based on the processing results in steps S551 to S554, the number of threads that realizes the highest speed processing is determined as the optimum number of threads in the host PC 100. In step S570, the optimum thread number is written in the system setting file in the host PC 100, thereby terminating the thread test process. The thread test executed in parallel as steps S551 to S554 is controlled by a thread monitoring control unit (not shown) provided in the host PC 100.

以下、図9のフローチャートを用いて、第3実施形態におけるカラーマッチング処理について、詳細に説明する。   Hereinafter, the color matching process in the third embodiment will be described in detail with reference to the flowchart of FIG.

ホストPC100においてカラーマッチングを実行するためのプログラムが起動されると、まずステップS610において、カラーマッチングの初期化処理として、上述した第2実施形態で(1)に示したように作成されたLUTがメモリにロードされる。このLUTのサイズは上述したように、256色の3乗の個数の色x4色分である64MBであるから、このロードのためにメモリ領域(スタティック領域)を確保する必要がある。   When a program for executing color matching is started in the host PC 100, first, in step S610, an LUT created as shown in (1) in the second embodiment is used as color matching initialization processing. Loaded into memory. As described above, since the size of this LUT is 64 MB, which is the number of colors to the cube of 256 colors × 4 colors, it is necessary to secure a memory area (static area) for this load.

該メモリ領域が確保され、LUTのロードが終了すると、次にステップS630において、第2実施形態で(2)に示したブロックサイズテストを実行する。なお、上記(1),(2)の処理は、第2実施形態ではプリンタコントローラ200側にて行うとして説明したが、第3実施形態ではホストPC100側にて行うとする。   When the memory area is secured and loading of the LUT is completed, in step S630, the block size test shown in (2) in the second embodiment is executed. Note that the processes (1) and (2) are described as being performed on the printer controller 200 side in the second embodiment, but are assumed to be performed on the host PC 100 side in the third embodiment.

その後、ステップS640において、上述した(3)に示すスレッドテストを実行する。このステップS630,S640の処理により、最適なスレッド値およびブロックサイズが確定する。   Thereafter, in step S640, the thread test shown in (3) above is executed. The optimum thread value and block size are determined by the processing of steps S630 and S640.

そしてステップS650においてカラーマッチング処理を行うが、このカラーマッチング処理では、ステップS640で確定されたスレッド数に応じた分散処理を実行する。また、それぞれのスレッドで画像処理(カラーマッチング処理)を行う際に、その最小処理単位として、ステップS630で確定されたブロックサイズが採用される。   In step S650, color matching processing is performed. In this color matching processing, distributed processing according to the number of threads determined in step S640 is executed. Further, when image processing (color matching processing) is performed in each thread, the block size determined in step S630 is adopted as the minimum processing unit.

以上説明したように第3実施形態によれば、マルチスレッド処理を可能とするホストPC100において、CMS処理に最適なスレッド数を予め検査しておく。そして、ホストPC100側においてCMS処理を行う際に、上述した第2実施形態と同様の(1)LUT処理、および(2)ブロックサイズ制御に加えて、(3)マルチスレッド処理を行うことによって、より高速なCMS処理が実現される。   As described above, according to the third embodiment, the optimum number of threads for CMS processing is checked in advance in the host PC 100 that enables multi-thread processing. When performing CMS processing on the host PC 100 side, in addition to (1) LUT processing and (2) block size control as in the second embodiment, (3) multi-thread processing is performed. Faster CMS processing is realized.

なお、上述した第1実施形態で示した圧縮画像データに対するカラーマッチング処理を、第3実施形態の最適スレッド数によって実行することも効果的である。   Note that it is also effective to execute the color matching processing on the compressed image data shown in the first embodiment described above with the optimum number of threads in the third embodiment.

<変形例>
上述した各実施形態においては、CMSの処理単位である画像ブロックを正方形として構成する例を示したが、必ずしもそれが最適であるとは限らず、画像に応じて、ブロック形状が非常に複雑になる可能性もある。また、8×8,16×16,32×32,64×64等、4種類の構成を組み合わせるように構成してもよい。
<Modification>
In each of the above-described embodiments, an example in which an image block that is a CMS processing unit is configured as a square has been shown. However, this is not necessarily optimal, and the block shape is very complicated depending on the image. There is also a possibility. Moreover, you may comprise so that four types of structures, such as 8x8, 16x16, 32x32, 64x64, may be combined.

例えば、図10の左部に示すように、DCTの情報に基づいて、画像のグループを構成するようにしてもよい。同図によれば、ブロックが2領域に分割されていることが分かる。これにより、CPUのデータキャッシュがより有効にアクセスされ、更なる処理速度の向上が期待できる。   For example, as shown in the left part of FIG. 10, a group of images may be configured based on DCT information. According to the figure, it can be seen that the block is divided into two regions. As a result, the data cache of the CPU can be accessed more effectively, and further improvement in processing speed can be expected.

また、図10の右部は、一つのイメージ画像を2つのスレッドで処理する場合に、類似のカラー値をもつようにブロックをグループ化した例である。同図は、図10の左部に示すDCT情報による分類について、2スレッドによる処理を行うことを示している。このように類似色を集めてグループ化することによって、キャッシュヒット率が高くなり、より高速な処理が期待できる。   The right part of FIG. 10 is an example in which blocks are grouped so as to have similar color values when one image is processed by two threads. This figure shows that the processing by two threads is performed for the classification based on the DCT information shown in the left part of FIG. By collecting similar colors and grouping them in this way, the cache hit rate increases, and higher speed processing can be expected.

<他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、印刷装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
<Other embodiments>
Although the embodiment has been described in detail above, the present invention can take an embodiment as a system, apparatus, method, program, storage medium (recording medium), or the like. Specifically, the present invention may be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a printing device, a web application, etc.), or may be applied to a device composed of a single device. good.

尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。   In the present invention, a software program for realizing the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. Is also achieved. The program in this case is a program corresponding to the flowchart shown in the drawing in the embodiment.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In this case, as long as it has a program function, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。   Recording media for supplying the program include the following media. For example, floppy disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD- R).

プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As a program supply method, the following method is also possible. That is, the browser of the client computer is connected to a home page on the Internet, and the computer program itself (or a compressed file including an automatic installation function) is downloaded from the browser to a recording medium such as a hard disk. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to make it. That is, the user can execute the encrypted program by using the key information and install it on the computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, and then executed, so that the program of the above-described embodiment can be obtained. Function is realized. That is, based on the instructions of the program, the CPU provided in the function expansion board or function expansion unit can perform part or all of the actual processing.

本発明に係る一実施形態における画像形成部の概略構成を示す図である。1 is a diagram illustrating a schematic configuration of an image forming unit according to an embodiment of the present invention. 本実施形態における画像処理システムの概略構成を示す図である。It is a figure which shows schematic structure of the image processing system in this embodiment. 本実施形態において処理される画像データ例を示す図である。It is a figure which shows the image data example processed in this embodiment. 第2実施形態におけるプリンティングシステムの概略構成を示す図である。It is a figure which shows schematic structure of the printing system in 2nd Embodiment. 第2実施形態におけるプリンタコントローラ内のCPUに内蔵されているキャッシュ概略を示す図である。It is a figure which shows the cache outline incorporated in CPU in the printer controller in 2nd Embodiment. 第2実施形態におけるブロックテストを示すフローチャートである。It is a flowchart which shows the block test in 2nd Embodiment. 第3実施形態におけるカラープリンティングシステムの概略構成例を示す図である。It is a figure which shows the schematic structural example of the color printing system in 3rd Embodiment. 第3実施形態におけるスレッドテストを示すフローチャートである。It is a flowchart which shows the thread test in 3rd Embodiment. 第3実施形態におけるカラーマッチング処理を示すフローチャートである。It is a flowchart which shows the color matching process in 3rd Embodiment. 本発明の変形例を説明するための図である。It is a figure for demonstrating the modification of this invention. 画像圧縮技術を利用した一般的な画像処理システムの概略構成例を示す図である。It is a figure which shows the example of schematic structure of the general image processing system using an image compression technique. 一般的なカラープリンティングシステムの概略構成例を示す図である。It is a figure which shows the schematic structural example of a general color printing system.

Claims (18)

圧縮された画像データを伸長する伸長ステップと、
前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成ステップと、
前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換ステップと、
を有することを特徴とする画像処理方法。
A decompression step for decompressing the compressed image data;
A cache generation step of generating cache data for color conversion based on a frequency component for each processing unit block of the image data;
A color conversion step for performing color conversion processing based on the cache data for the decompressed image data;
An image processing method comprising:
前記キャッシュ生成ステップにおいては、前記キャッシュデータをマルチスレッドにより生成することを特徴とする請求項1記載の画像処理方法。   The image processing method according to claim 1, wherein, in the cache generation step, the cache data is generated by multithreading. 前記キャッシュ生成ステップは、前記伸長ステップの実行中に実行されることを特徴とする請求項1または2記載の画像処理方法。   The image processing method according to claim 1, wherein the cache generation step is executed during the execution of the decompression step. 前記キャッシュ生成ステップにおいては、前記ブロック毎のDC成分に基づいて前記キャッシュデータを生成することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理方法。   The image processing method according to claim 1, wherein, in the cache generation step, the cache data is generated based on a DC component for each block. 前記キャッシュ生成ステップにおいては、前記DC成分が予め定められた値よりも大きいブロックについて、前記キャッシュデータを生成することを特徴とする請求項4記載の画像処理方法。   5. The image processing method according to claim 4, wherein, in the cache generation step, the cache data is generated for a block in which the DC component is larger than a predetermined value. 前記キャッシュ生成ステップにおいては、前記キャッシュデータをグローバル領域に格納することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理方法。   6. The image processing method according to claim 1, wherein in the cache generation step, the cache data is stored in a global area. 画像データに対する色変換処理を行う画像処理方法であって、
前記画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験ステップと、
前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したブロックサイズを特定するブロックサイズ特定ステップと、
該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与ステップと、を有し、
前記画像データに対する色変換処理を、前記サイズ情報で示されるブロックサイズにて行うことを特徴とする画像処理方法。
An image processing method for performing color conversion processing on image data,
A test step for experimentally executing a color conversion process with a plurality of block sizes on the image data;
Based on the test result in the test step, a block size specifying step for specifying a block size in which the color conversion process is executed in the shortest time;
A size information giving step for giving size information indicating the block size to the image data,
A color conversion process for the image data is performed with a block size indicated by the size information.
前記サイズ情報付与ステップにおいては、前記サイズ情報を前記画像データのタグ部に付与することを特徴とする請求項7記載の画像処理方法。   8. The image processing method according to claim 7, wherein, in the size information adding step, the size information is added to a tag portion of the image data. 色変換処理の対象色について色変換用の補間演算を実行する補間演算ステップと、
前記補間演算ステップにおける演算結果をファイルに格納しておく結果保持ステップと、をさらに有し、
前記画像データに対する色変換処理を、前記ファイルに基づいて行うことを特徴とする請求項7または請求項8に記載の画像処理方法。
An interpolation calculation step for performing an interpolation calculation for color conversion on the target color of the color conversion process;
A result holding step of storing the calculation result in the interpolation calculation step in a file, and
The image processing method according to claim 7, wherein a color conversion process for the image data is performed based on the file.
前記ファイルはルックアップテーブルであることを特徴とする請求項9記載の画像処理方法。   The image processing method according to claim 9, wherein the file is a lookup table. 前記ルックアップテーブルは、色変換処理を実行するプログラムが起動される際に、該プログラムを実行するCPUによる高速アクセスを可能とする内部メモリにロードされることを特徴とする請求項10記載の画像処理方法。   11. The image according to claim 10, wherein the look-up table is loaded into an internal memory that enables high-speed access by a CPU that executes the program when a program that executes color conversion processing is started. Processing method. 複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理方法であって、
スレッド数を可変として前記色変換処理を試験的に実行する試験ステップと、
前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したスレッド数を特定するスレッド数特定ステップと、
該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持ステップと、を有し、
前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として行うことを特徴とする画像処理方法。
An image processing method for performing color conversion processing on image data in a host computer capable of parallel processing by a plurality of threads,
A test step for experimentally executing the color conversion process with a variable number of threads;
Based on the test result in the test step, the number of threads specifying step for specifying the number of threads that executed the color conversion process in the shortest time;
A thread number information holding step for holding thread number information indicating the number of threads in a system file in the host computer,
A color conversion process for the image data is performed as parallel processing based on the number of threads indicated by the thread number information.
圧縮された画像データを伸長する伸長手段と、
前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成手段と、
前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換手段と、
を有することを特徴とした画像処理装置。
Decompression means for decompressing the compressed image data;
Cache generating means for generating cache data for color conversion based on frequency components for each processing unit block of the image data;
Color conversion means for performing color conversion processing based on the cache data for the decompressed image data;
An image processing apparatus comprising:
画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験手段と、
前記試験手段による試験結果に基づき、最短時間で色変換処理を実行したブロックサイズを特定するブロックサイズ特定手段と、
該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与手段と、
前記画像データに対して、前記サイズ情報で示されるブロックサイズによる色変換処理を行う色変換手段と、
を有することを特徴とする画像処理装置。
Test means for experimentally executing color conversion processing with a plurality of block sizes on image data;
Based on the test result by the test means, a block size specifying means for specifying the block size that has executed the color conversion processing in the shortest time;
Size information giving means for giving size information indicating the block size to the image data;
Color conversion means for performing color conversion processing on the image data according to the block size indicated by the size information;
An image processing apparatus comprising:
さらに、
色変換対象となる全ての色について色変換用の補間演算を実行する補間演算手段と、
前記補間演算手段による演算結果をファイルに格納しておく結果保持手段と、を有し、
前記色変換手段は、前記画像データに対して前記ファイルに基づく色変換処理を行うことを特徴とする請求項14記載の画像処理装置。
further,
Interpolation calculation means for executing interpolation calculation for color conversion for all colors to be converted;
And a result holding means for storing the calculation result by the interpolation calculation means in a file,
The image processing apparatus according to claim 14, wherein the color conversion unit performs a color conversion process based on the file on the image data.
複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理システムであって、
スレッド数を可変として前記色変換処理を試験的に実行する試験手段と、
前記試験ステップにおける試験結果として、色変換処理を最短時間で実行可能なスレッド数を特定するスレッド数特定手段と、
該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持手段と、を有し、
前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として、請求項1乃至12のいずれか1項に記載の画像処理方法によって行うことを特徴とする画像処理システム。
An image processing system for performing color conversion processing on image data in a host computer capable of parallel processing by a plurality of threads,
Test means for performing the color conversion process on a trial basis with a variable number of threads;
As a test result in the test step, thread number specifying means for specifying the number of threads capable of executing color conversion processing in the shortest time;
Thread number information holding means for holding thread number information indicating the number of threads in a system file in the host computer,
The image processing system according to any one of claims 1 to 12, wherein the color conversion processing for the image data is performed as parallel processing based on the number of threads indicated by the thread number information.
コンピュータ上で実行されることによって、該コンピュータに請求項1乃至12のいずれか1項に記載の画像処理方法を実行させることを特徴とするプログラム。   A program that, when executed on a computer, causes the computer to execute the image processing method according to any one of claims 1 to 12. 請求項17記載のプログラムを記録したことを特徴とする記録媒体。   A recording medium on which the program according to claim 17 is recorded.
JP2006325924A 2006-12-01 2006-12-01 Image processing apparatus, image processing method, and program Active JP5110861B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006325924A JP5110861B2 (en) 2006-12-01 2006-12-01 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006325924A JP5110861B2 (en) 2006-12-01 2006-12-01 Image processing apparatus, image processing method, and program

Publications (3)

Publication Number Publication Date
JP2008141502A true JP2008141502A (en) 2008-06-19
JP2008141502A5 JP2008141502A5 (en) 2010-01-21
JP5110861B2 JP5110861B2 (en) 2012-12-26

Family

ID=39602504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006325924A Active JP5110861B2 (en) 2006-12-01 2006-12-01 Image processing apparatus, image processing method, and program

Country Status (1)

Country Link
JP (1) JP5110861B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009371A1 (en) * 2022-07-04 2024-01-11 日本電信電話株式会社 Data processing device, data processing method, and data processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000141771A (en) * 1998-11-09 2000-05-23 Nec Corp Multithread control method and control system for printer
JP2004254033A (en) * 2003-02-19 2004-09-09 Canon Inc Image processor and its method
JP2005053009A (en) * 2003-08-07 2005-03-03 Canon Inc Printing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000141771A (en) * 1998-11-09 2000-05-23 Nec Corp Multithread control method and control system for printer
JP2004254033A (en) * 2003-02-19 2004-09-09 Canon Inc Image processor and its method
JP2005053009A (en) * 2003-08-07 2005-03-03 Canon Inc Printing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009371A1 (en) * 2022-07-04 2024-01-11 日本電信電話株式会社 Data processing device, data processing method, and data processing program

Also Published As

Publication number Publication date
JP5110861B2 (en) 2012-12-26

Similar Documents

Publication Publication Date Title
RU2762005C2 (en) Method and device for encoding and decoding two-dimensional point clouds
JP5558767B2 (en) Image processing apparatus and processing method thereof
JP2008017441A (en) Data processing apparatus, data processing method, and program
JP5439510B2 (en) Image forming apparatus and image forming program
JP4975115B2 (en) Image processing device
JP2011139164A (en) Image processing apparatus and processing method thereof
US8515188B2 (en) Image processing apparatus
JP5479225B2 (en) Image processing apparatus, image processing method, and program
JP2006325186A (en) Image processing apparatus
JP5110861B2 (en) Image processing apparatus, image processing method, and program
JP2004282382A (en) Network terminal equipment
JP2012218317A (en) Image forming device, and image forming method
JP2003084933A (en) Image processing device and program
JP4136825B2 (en) Image processing apparatus, image processing method, computer-readable storage medium storing program, and program
JP5441676B2 (en) Image processing apparatus and processing method thereof
JP5267147B2 (en) Image processing apparatus, image processing method, and computer program
JP5480835B2 (en) Printing method in printing apparatus and printing apparatus having printing engine
JP2006101014A (en) Image processing apparatus and printer equipped therewith, and image processing method
JP2003242501A (en) Image processor and its method, image forming device, and computer-readable program
JP2001169120A (en) Method, device, and system for image processing
JP2008060730A (en) Image processor, image processing method, image processing program, and recording medium
JP4047144B2 (en) Image processing apparatus and method
JP5197863B2 (en) Image processing device
JP2008072654A (en) Image storage method, program, device, and system, and computer-readable recording medium
JP2005063445A (en) Raster image processing

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121009

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5110861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3