JP2008015943A - Image processor and image processing method - Google Patents
Image processor and image processing method Download PDFInfo
- Publication number
- JP2008015943A JP2008015943A JP2006188684A JP2006188684A JP2008015943A JP 2008015943 A JP2008015943 A JP 2008015943A JP 2006188684 A JP2006188684 A JP 2006188684A JP 2006188684 A JP2006188684 A JP 2006188684A JP 2008015943 A JP2008015943 A JP 2008015943A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- image
- lut
- color space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
本発明は、印刷装置に配された画像処理装置における画像処理技術に関するものである。 The present invention relates to an image processing technique in an image processing apparatus arranged in a printing apparatus.
近年、入力機器として、スキャナ、ビデオカメラなどの各種カラー入力機器が普及してきている。また、出力機器として、インクジェット、染料熱昇華型あるいは電子写真方式カラープリンタなどの各種カラー出力機器が普及してきている。 In recent years, various color input devices such as scanners and video cameras have become widespread as input devices. As output devices, various color output devices such as an ink jet, a dye thermal sublimation type, or an electrophotographic color printer have become widespread.
一般にこれらのカラー入/出力機器は、それぞれ固有の色空間を有している。このため、例えばあるスキャナで得たカラー画像をそのまま別のカラープリンタに転送して印刷した場合、印刷されたカラー画像の色がスキャナによって読み取られたオリジナルのカラー画像の色と一致することはほとんどない。 In general, each of these color input / output devices has a unique color space. For this reason, for example, when a color image obtained by a certain scanner is transferred to another color printer as it is and printed, the color of the printed color image is almost the same as the color of the original color image read by the scanner. Absent.
このようなカラー画像等に対する入/出力機器間での色再現性の問題を解決するために、入/出力機器には、通常、入力機器の色空間を出力機器の色空間に変換する処理(“色空間変換処理”と呼ぶ)を行う機能が搭載されている。 In order to solve the problem of color reproducibility between input / output devices for such color images, the input / output device usually performs processing for converting the color space of the input device to the color space of the output device ( This function is called “color space conversion process”.
この色空間変換処理とは、入力γ補正、輝度濃度変換、マスキング、黒生成、UCR、出力γ補正等の一連の画像処理もしくはその中の一部の処理をいう。具体的には、入力機器の3色(レッド、ブルー、グリーンの3色、以下、“RGB”と略す)のデジタル画像データを同時に参照して、出力機器の3色(シアン、マゼンタ、イエローの3色、以下、“CMY”)のデジタル画像データに変換する処理をいう。あるいは4色(シアン、マゼンタ、イエロー、ブラックの4色、以下、“CMYK”)のデジタル画像データに変換する処理をいう。 This color space conversion processing refers to a series of image processing such as input γ correction, luminance density conversion, masking, black generation, UCR, output γ correction, or a part of the image processing. Specifically, the digital image data of the three colors (red, blue, green, hereinafter abbreviated as “RGB”) of the input device are simultaneously referred to, and the three colors (cyan, magenta, yellow) of the output device are simultaneously referred to. A process of converting into digital image data of three colors (hereinafter, “CMY”). Alternatively, it refers to a process of converting into digital image data of four colors (four colors of cyan, magenta, yellow, and black, hereinafter “CMYK”).
色空間変換処理は、空間から空間への対応付けを行うことで実現できる。このような変換を行う手法はこれまでにも複数提案されてきているが、その中でも特開昭53−123201号公報や特開平8−237497号公報に示される、三次元ルックアップテーブル(3D−LUT)と補間とを組み合わせた手法がよく用いられている。更に、3D−LUTと補間とを組み合わせた色空間変換処理にも様々な手法が存在する。そのうち、必要なデータ量、必要な演算量、単位直方体間での出力の連続性及びグレーラインの補間特性などから特開昭53−123201号公報に開示された四面体補間が使用されることが多い。 The color space conversion process can be realized by performing association from space to space. A plurality of methods for performing such conversion have been proposed so far, and among them, a three-dimensional lookup table (3D-) shown in JP-A-53-123201 and JP-A-8-237497 is disclosed. A method that combines LUT) and interpolation is often used. Further, there are various methods for color space conversion processing combining 3D-LUT and interpolation. Of these, tetrahedral interpolation disclosed in Japanese Patent Application Laid-Open No. 53-123201 is used because of necessary data amount, necessary calculation amount, output continuity between unit cuboids, gray line interpolation characteristics, and the like. Many.
しかしながら、上記3D−LUT+補間による色空間変換処理の場合、色空間変換処理の精度を向上させるべく、3D−LUTの1軸当たりの格子点数(以下「グリッド数」と記す)を増加させると、3D−LUTの容量が3乗で増加してしまう。また、最近では色再現性を向上すべく、入力機器としてRGB以外の色フィルタを追加したデジタルカメラが登場してきており、この場合、上記LUTの容量はグリッド数の4乗で増加するため、膨大なメモリ容量が必要となってくる。 However, in the case of the color space conversion process by the 3D-LUT + interpolation, if the number of grid points per axis of the 3D-LUT (hereinafter referred to as “grid number”) is increased in order to improve the accuracy of the color space conversion process, The capacity of the 3D-LUT increases by the third power. Recently, digital cameras to which color filters other than RGB are added as input devices in order to improve color reproducibility have appeared. In this case, the LUT capacity increases by the fourth power of the number of grids. Large memory capacity is required.
更に、カラープリンタなどの出力機器では、色再現性や階調性、粒状性の向上を図るべく、多数の色材(インク)を用いるものが登場してきており、この場合、LUTの容量は色材の数に比例して増加するため、更に膨大なメモリ容量が必要となっている。 Furthermore, output devices such as color printers have appeared that use a large number of color materials (inks) in order to improve color reproducibility, gradation, and graininess. In this case, the LUT has a capacity of color. Since the number increases in proportion to the number of materials, an enormous memory capacity is required.
このようなメモリ容量の増大の問題を解決するために、現在ではキャッシュ機構を取り入れた手法がよく用いられている。例えば、特開2004−274131号公報では、まず各頂点に独立の小容量のメモリで構成されるキャッシュメモリを設けるとともに、これらのキャッシュメモリに共有され時分割にてアクセスされるメモリを更に設ける。そして、当該共有されるメモリにLUTの全てを格納させることで、LUTのメモリの総容量を減らしコストを削減しつつ、性能低下を抑えることが可能となっている。
しかしながら、上述のようなキャッシュ機構を取り入れた手法の場合、入力される画像データによってはキャッシュのヒット率が変わり、DRAM参照回数が変動してしまうため、色空間変換処理の所要時間の変動が生じる。このため、色空間変換処理におけるリアルタイム性を保証できないという問題がある。 However, in the case of the method incorporating the cache mechanism as described above, the cache hit rate changes depending on the input image data, and the DRAM reference count fluctuates, so that the time required for color space conversion processing varies. . For this reason, there is a problem that the real-time property in the color space conversion process cannot be guaranteed.
一方で、リアルタイム性を保証すべく、色空間変換処理の後段にプリント・バッファ等を配し、当該プリント・バッファにより上記所要時間の変動を吸収する方法が考えられる。しかしながら、近年の高解像度化、印刷ヘッドのノズル数の増大に伴い、プリント・バッファの容量および帯域の増大が問題となってきており、係る方法は妥当でない。 On the other hand, in order to guarantee the real-time property, a method of arranging a print buffer or the like after the color space conversion process and absorbing the fluctuation in the required time by the print buffer can be considered. However, with the recent increase in resolution and the increase in the number of nozzles of the print head, an increase in the capacity and bandwidth of the print buffer has become a problem, and such a method is not appropriate.
本発明は、上記課題に鑑みてなされたものであり、キャッシュ機構を用いた色空間変換処理でのヒット率の低下に起因する処理時間の変動を吸収するプリント・バッファの容量を抑え、コストの削減を図ることを目的とする。 The present invention has been made in view of the above problems, and suppresses the capacity of a print buffer that absorbs fluctuations in processing time due to a decrease in hit rate in color space conversion processing using a cache mechanism, thereby reducing cost. The purpose is to reduce.
上記の目的を達成するために本発明に係る画像処理装置は以下のような構成を備える。即ち、
画像データを色空間変換処理する第1の処理手段と、前記色空間変換処理された画像データをLUTを用いて色分解する第2の処理手段とを備える画像処理装置であって、
前記色空間変換処理された画像データから、前記LUTの格子点データを取り出すための第1のデータを分離する分離手段と、
前記分離された第1のデータを、スライド辞書を用いて圧縮する圧縮手段と、
前記圧縮された第1のデータを格納する格納手段と、を備え、
前記第2の処理手段は、前記格納手段より前記圧縮された第1のデータを読み出し、スライド辞書を用いて前記格子点データを取り出すための第1のデータを生成した後に、前記LUTを用いた色分解を行うことを特徴とする。
In order to achieve the above object, an image processing apparatus according to the present invention comprises the following arrangement. That is,
An image processing apparatus comprising: a first processing unit that performs color space conversion processing on image data; and a second processing unit that performs color separation on the image data subjected to the color space conversion processing using an LUT.
Separation means for separating first data for extracting the lattice point data of the LUT from the image data subjected to the color space conversion processing;
Compression means for compressing the separated first data using a slide dictionary;
Storing means for storing the compressed first data,
The second processing means uses the LUT after reading the compressed first data from the storage means and generating first data for extracting the grid point data using a slide dictionary. It is characterized by color separation.
本発明によれば、キャッシュ機構を用いた色空間変換処理でのヒット率の低下に起因する処理時間の変動を吸収するプリント・バッファの容量を抑え、コストの削減を実現することが可能となる。 According to the present invention, it is possible to reduce the cost of a print buffer that absorbs fluctuations in processing time caused by a decrease in hit rate in color space conversion processing using a cache mechanism, thereby realizing cost reduction. .
以下、必要に応じて添付図面を参照しながら本発明の各実施形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings as necessary.
[第1の実施形態]
<印刷装置の各部の機能>
図1は本発明の第1の実施形態にかかる画像処理装置を備える印刷装置(例えば、スキャナ機能付きプリンタ、以下、「マルチファンクションプリンタ」と称す)の機能構成を示す図である。
[First Embodiment]
<Functions of each part of the printing device>
FIG. 1 is a diagram illustrating a functional configuration of a printing apparatus (for example, a printer with a scanner function, hereinafter referred to as “multifunction printer”) including an image processing apparatus according to the first embodiment of the present invention.
101はセンサであり、原稿を読み込み、画像データを生成する。102は前段処理部であり、センサ101において生成された画像データに対して、シェーディング補正処理、入力γ変換処理、色変換処理、色補正処理などの処理を行う。
A
114はデータ分離圧縮部であり、前段処理部102にて各処理がなされた画像データを分離し、分離後の画像データに対して圧縮処理を行う。103、113はプリント・バッファであり、分離され圧縮された画像データを一時的に格納する。
104は後段処理部であり、プリント・バッファ103または113に格納された画像データを色分解処理し、量子化する。105はプリンタエンジンであり、後段処理部104にて量子化された画像データに基づいて、紙等の記録媒体に印刷する。
A
前段処理部102には、更に入力デバイス処理部106と色補正処理部107とが備えられている。入力デバイス処理部106は、公知のシェーディング補正や入力γ処理、色変換処理等を行う。また、色補正処理部107は、キャッシュ機構と補間演算部とで構成され、色補正処理を行う。109は色補正処理用の3D−LUTである。
The
また、後段処理部104には、色分解処理部110と量子化処理部112とが備えられている。111は色分解処理用のLUTである。ここで、色分解処理用LUT111は色空間補正処理用LUT109と同様に3D−LUTである。また、色分解処理部110は色補正処理部107と同様にキャッシュ機構と補間演算部とで構成される。
Further, the
<マルチファンクションプリンタの全体動作>
次に、図1のマルチファンクションプリンタの全体動作について説明する。センサ101において原稿が読み込まれると、前段処理部102の入力デバイス処理部106では、センサ101からRGB色空間の画像データ(以下、SD−RGBデータと称する)を受信する。
<Overall operation of multi-function printer>
Next, the overall operation of the multifunction printer of FIG. 1 will be described. When the document is read by the
SD−RGBデータを受信した入力デバイス処理部106では、シェーディング補正、入力γ補正処理、色変換処理等の入力デバイス処理を行う。そして、該入力デバイス処理後の標準色空間の画像データ(以下、aRGBデータと称す)を色補正処理部107に出力する。
The input
aRGBデータを受信した色補正処理部107では、キャッシュ機構を用いて色補正処理を行い、補正後のaRGBデータをマルチファンクションプリンタのRGB(以下、PD−RGBと称する)データとして出力する。
The color
PD−RGBデータを受信したデータ分離圧縮部114では、該PD−RGBデータを色分解処理用LUTのアドレス生成に使用する整数部(以下、整数部データと称する)と補間係数生成に使用する小数部(以下、小数部データと称する)とに分離する。整数部データと小数部データとに分離されたPD−RGBデータは、それぞれ別々に圧縮される(整数部データの圧縮データを整数部圧縮データと称し、小数部データの圧縮データを小数部圧縮データと称する)。
In the data separation /
生成された整数部圧縮データはプリント・バッファ103に格納され、また小数部圧縮データはプリント・バッファ113に格納される。プリント・バッファ103及びプリント・バッファ113は、色補正処理部107のキャッシュ機構におけるミスヒットによるペナルティを吸収する役割を果たす。プリント・バッファ103及び113はそれぞれ整数部圧縮データおよび小数部圧縮データを後段処理部104の色分解処理部110に出力する。
The generated integer part compressed data is stored in the
色分解処理部110では、キャッシュ機構を用いた色分解処理を行いつつ、整数部圧縮データおよび小数部圧縮データを伸長し、マルチファンクションプリンタの色空間である、CMYK、淡C、淡Mの画像データを生成し、量子化処理部112に出力する。CMYK、淡C、淡Mの画像データを受信した量子化処理部112では、量子化処理を行い、生成した量子化データをプリンタエンジン105に印刷データとして出力する。これに基づき、プリンタエンジン105では、印刷処理を実行する。
The color
<データ分離圧縮部114の構成>
次にデータ分離圧縮部114の構成について、図2を用いて詳細に説明する。図2は、データ分離圧縮部114の詳細を示す図である。同図に示すように、データ分離圧縮部114は、データ分離部201と、圧縮部203と、セレクタ207と、圧縮部209とを備える。
<Configuration of Data Separation /
Next, the configuration of the data separation and
データ分離部201は、前段処理部102より出力されたPD−RGBデータを受信し、上位ビット信号(=整数部データ)と下位ビット信号(=小数部データ)とに分離する。なお、整数部データは色分解処理用LUT111にアクセスする際に用いるアドレスであり、小数部データは補間演算に用いられるとともに、色分解処理用LUT111に格納されているデータ(以下、格子点データと称す)の選択の際に用いられるデータである。整数部データは圧縮部203に出力され、また小数部データはセレクタ207に出力される。
The
圧縮部203は、スライド辞書205への読み書きを行いつつ、入力された整数部データに対してスライド辞書法を用いた圧縮を行い、整数部圧縮データを出力する。整数部データの圧縮にスライド辞書法を用いることで、後述する参照読み出し部401では、後述するスライド辞書403に目的の格子点データが書き込まれているか否かの判断を、参照読み出し部401へのデータ入力の状態に基づいて行うことが可能となる。なお、ここでいうデータ入力の状態とは、圧縮または非圧縮の状態をいう。
The
圧縮部209は小数部データを圧縮する手段であり、プリント・バッファ113の容量を削減する圧縮であれば良いため、詳細な説明は省略する。
The
セレクタ207は、小数部データを圧縮部209にて圧縮させるか、バイパスして直接出力するかを選択する。具体的には、後述する伸長部405で、圧縮部209で圧縮されたデータを伸長する時の処理時間が長いことに起因して、格子点データ選択部407での格子点データ選択が所望のサイクルに間に合わないと判定された場合にバイパスして出力することを選択する。出力された小数部圧縮データはプリント・バッファ113に格納される。
The
<スライド辞書法の説明>
圧縮部203において用いられるスライド辞書法について説明する。はじめに公知のスライド辞書法について説明する。公知のスライド辞書法によれば、まず、圧縮を行おうとする入力文字列から文字列のパターンを切り出し、当該切り出された文字列のパターンと一致する文字列を検索する。この際、検索は入力文字列のうち当該切り出された文字列よりも前方にある入力文字列を対象に行う。そして前方にある入力文字列の中に、当該切り出された文字列のパターンと一致する文字列のパターン(最長一致パターン)が検出された場合に、当該最長一致パターンを、当該最長一致パターンの入力文字列内での位置と長さで置き換える。このようにして入力文字列の圧縮が行われる。
<Description of slide dictionary method>
A slide dictionary method used in the
なお、スライド辞書法(sliding−dictionary method)の詳細については、例えば、次のような文献に開示されている。
・奥村晴彦著「software Technology 13C言語による最新アルゴリズム事典」(平成3年12月10日 技術評論社)の第389頁ないし第393頁の“LZ法”の項
・日本ソフトバンク「C MAGAZINE 1991.1」第44頁ないし第68頁の“特集 圧縮アルゴリズム入門”の項
一方、本実施形態で用いるスライド辞書法は上記公知のスライド辞書法とは異なり、最長一致パターンの入力文字列内での位置と長さで圧縮するのではなく、スライド辞書での位置(エントリ)と連続数(ラン長)とで圧縮する点に特徴がある。これは、画像データにおいては、近傍画素の相関性が強く、加えて上記整数部データはPD−RGBデータの上位ビット信号を用いているので、同じ値が連続する確率が非常に高いからである。
The details of the sliding-dictionary method are disclosed in the following documents, for example.
・ The section “LZ method” on pages 389 to 393 of Haruhiko Okumura “Latest Algorithm Encyclopedia in Software Technology 13C Language” (December 10, 1991, Technical Critics) ・ SoftBank Japan “C MAGAZINE 1991.1” “Special Feature Introduction to Compression Algorithm” on pages 44 to 68 On the other hand, the slide dictionary method used in this embodiment differs from the above-described known slide dictionary method in that the position of the longest matching pattern in the input character string is The feature is that the compression is not performed by the length but by the position (entry) and the continuous number (run length) in the slide dictionary. This is because in the image data, the correlation between neighboring pixels is strong, and since the integer part data uses the upper bit signal of the PD-RGB data, the probability that the same value continues is very high. .
<圧縮部203における処理の流れ>
次に図3を用いて圧縮部203における処理の流れについて説明する。図3は、データ分離部201より出力された整数部データを処理する圧縮部203における処理の流れを示す図である。なお、図3では、連続する整数部データのうち、1データ分の処理の流れについて示している(すなわち、連続する整数部データを全て処理するためには、図3の処理サイクルを複数回繰り返すこととなる)。
<Processing Flow in
Next, the flow of processing in the
ステップS301では、データ分離部より受信した整数部データがスライド辞書205内に存在するか否かを判定する。存在すると判定された場合には、ステップS302に進み、今回の整数部データが直前のサイクルで処理した整数部データと同じであるか否かを判定する(すなわち、同じ値の整数部データが連続しているか否かを判定する)。
In step S301, it is determined whether or not the integer part data received from the data separation part exists in the
ステップS302において異なると判定された場合には、ステップS303に進み、スライド辞書205のエントリのうち、今回の整数部データに対応するエントリを出力した後、ステップS304に進む。一方、ステップS302において同じであると判定された場合には、直接ステップS304に進む。ステップS304では、連続数カウンタの値をインクリメントする。
If it is determined in step S302 that they are different, the process proceeds to step S303, and among the entries in the
ステップS305では、今回の整数部データが同じ値が連続する場合の最後のデータであるか否かを判定する。最後のデータであると判定された場合には、ステップS306に進む。ステップS306では、連続数カウンタの値を出力したのち、連続数カウンタの値をゼロにし、今回の整数部データについての処理を終了する。一方、最後のデータではないと判定された場合には、ステップS306を経ることなく、そのまま今回の整数部データについての処理を終了する。 In step S305, it is determined whether or not the current integer part data is the last data when the same value continues. If it is determined that the data is the last data, the process proceeds to step S306. In step S306, after the value of the continuous number counter is output, the value of the continuous number counter is set to zero, and the process for the current integer part data is terminated. On the other hand, if it is determined that it is not the last data, the process for the current integer part data is terminated without going through step S306.
一方、ステップS301において、存在しないと判定された場合には、ステップS307に進み、当該整数部データをスライド辞書205に書き込む。更に、ステップS308では、当該整数部データを圧縮することなく出力し、今回の整数部データについての処理を終了する。
On the other hand, if it is determined in step S301 that it does not exist, the process advances to step S307 to write the integer part data in the
<圧縮部203における処理の具体例>
次に圧縮部203における処理の具体例について上記図3と対応させながら説明する。ここでは、データ分離部201より出力された整数部データが“A”、“A”、“A”、“A”、“B”、“B”、“B”、“C”、“C”、“D”、“E”、“A”、“B”、“C”の順に圧縮部203に入力されてくる場合を一例として説明をする。
<Specific Example of Processing in
Next, a specific example of processing in the
最初はスライド辞書205が空なので(ステップS301において「No」)、まず整数部データの先頭データの“A”をスライド辞書205のエントリ“0”の領域に書き込む(ステップS307)。そして、整数部圧縮データとして“A”を出力する(ステップS308)。
Initially, since the
次の整数部データ“A”は、スライド辞書205のエントリ“0”に書き込まれていて(ステップS301において「Yes」)、且つ1つ前のサイクルにて出力された整数部圧縮データとは異なるデータである(ステップS302において「No」)。このため、整数部圧縮データとして“0”を出力する(ステップS303)。更に、連続数カウンタをインクリメントするため、連続数カウンタは0→1となる(ステップS304)。 The next integer part data “A” is written in entry “0” of the slide dictionary 205 (“Yes” in step S301), and is different from the integer part compressed data output in the previous cycle. Data (“No” in step S302). Therefore, “0” is output as integer part compressed data (step S303). Further, since the continuous number counter is incremented, the continuous number counter is changed from 0 to 1 (step S304).
2番目の整数部圧縮データを出力した後は、連続する当該データが最後のデータであるか否かを判断し(ステップS305)、最後のデータでない場合には、2番目の整数部データについての処理を終了する。 After outputting the second integer part compressed data, it is determined whether or not the continuous data is the last data (step S305), and if it is not the last data, the second integer part data is determined. The process ends.
次の整数部データ“A”は、スライド辞書205のエントリ“0”に書き込まれており(ステップS301において「Yes」)、且つ1つ前のサイクルにて出力された整数部圧縮データと同じデータである(ステップS302において「Yes」)。更に、同じ値が連続する場合の最後の整数部データには該当しないため、連続カウンタをインクリメント(1→2)した後は(ステップS304)、当該3番目の整数部データについての処理を終了する(ステップS305において「No」)。 The next integer part data “A” is written in the entry “0” of the slide dictionary 205 (“Yes” in step S301), and is the same data as the integer part compressed data output in the previous cycle. ("Yes" in step S302). Further, since it does not correspond to the last integer part data when the same value continues, after incrementing the continuous counter (1 → 2) (step S304), the process for the third integer part data is terminated. ("No" in step S305).
次の整数部データ“A”は、スライド辞書205のエントリ“0”に書き込まれており(ステップS301の「Yes」)、且つ前サイクルの整数部圧縮データと同じデータである(ステップS302において「Yes」)。このため、連続カウンタをインクリメント(2→3)する(ステップS304)。更に、前記“A”は同じ値が連続する場合の最後の整数部データに該当するため(ステップS305において「Yes」)、連続カウンタの値(3)を出力した後に、連続カウンタの値を“0“にクリアする(ステップS306)。 The next integer part data “A” is written in the entry “0” of the slide dictionary 205 (“Yes” in step S301), and is the same data as the integer part compressed data in the previous cycle (in step S302, “ Yes "). Therefore, the continuous counter is incremented (2 → 3) (step S304). Further, since “A” corresponds to the last integer part data when the same value continues (“Yes” in step S305), the value (3) of the continuous counter is output and then the value of the continuous counter is changed to “ It is cleared to “0” (step S306).
以上の処理を繰り返すことによって、“A”、“0”、“3”、“B”、“1”、“2”、“C”、“2”、“1”、“D”、“5”、“E”、“0”、“−1”、“1”、“1”、“2”、“1”の順に、整数部圧縮データが生成される。 By repeating the above processing, “A”, “0”, “3”, “B”, “1”, “2”, “C”, “2”, “1”, “D”, “5” ”,“ E ”,“ 0 ”,“ −1 ”,“ 1 ”,“ 1 ”,“ 2 ”,“ 1 ”in this order, the integer part compressed data is generated.
なお、整数部データをスライド辞書205に書き込む順番はエントリの番号順であるとする。また、スライド辞書205への書き込みが最大になった後、新たにスライド辞書205へ書き込む際には、スライド辞書に書き込まれたデータを1エントリ分シフトさせ、最大エントリのスライド辞書へ新たな整数部データを書き込むこととする。
It is assumed that the order of writing the integer part data in the
例えば、エントリが0〜4のスライド辞書205とし、全てのエントリに整数部データが書き込まれているとする。この状態で新たなスライド辞書205への書き込む場合には、以下のように行う。
・エントリ“1”のデータをエントリ“0”へシフトする。
・エントリ“2”のデータをエントリ“1”へシフトする。
・エントリ“3”のデータがエントリ“2”へシフトする。
・エントリ“4”のデータがエントリ“3”へシフトする。
・新たな整数部データをエントリ“4”に書き込む。
For example, assume that the
Shift the data of entry “1” to entry “0”.
Shift the data of entry “2” to entry “1”.
The data of entry “3” is shifted to entry “2”.
The data of entry “4” is shifted to entry “3”.
Write new integer part data to entry “4”.
なお、ここではスライド辞書205にない整数部データはそのまま出力するように説明したが、この場合は圧縮した整数部データと圧縮していない整数部データとを識別するコードが必要となる。ここでは圧縮していない整数部データの識別コードとして“5”(存在しないエントリ)を用いることとする。また、エントリ識別コードとして連続数の符号を用いることにする。つまり、上記の例では“D”の後に“5”があるので、次は圧縮してない整数部データであることを識別することができ、“E”の後の“0”、“−1”はエントリ“0”の整数部データが1つで次の圧縮データがエントリであることを識別することができる。
Here, it has been described that the integer part data that is not in the
<色分解処理部110の構成>
次に色分解処理部110について、図4を用いて詳細に説明する。図4に示すように色分解処理部110は、参照点読み出し部401、伸長部405、格子点データ選択部407、重み係数算出部409、補間演算部411を備える。
<Configuration of Color
Next, the color
参照点読み出し部401はプリント・バッファ103に格納されている整数部圧縮データを読み出し、図5のフローチャート(後述)に沿って当該整数部圧縮データを処理した後、色分解処理用LUTより格子点データを取り出し、出力する。
The reference
伸長部405はプリント・バッファ113に格納されている小数部圧縮データを読み出し、小数部圧縮データが圧縮されているか否かを判定する。小数部圧縮データが圧縮されているならば、当該小数部圧縮データを伸長し、格子点データ選択部407、及び重み係数算出部409へデータ(以下、小数部データと称する)を出力する。
The
格子点データ選択部407は、伸長部405から出力した小数部データを用いて、参照点読み出し部401から出力された格子点データの中で補間演算に必要な格子点データ(以下、補間用格子点データと称する)を選択し、補間演算部411に出力する。
The grid point
重み係数算出部409は小数部データから重み係数を算出する。補間演算部411は、重み係数算出部409で算出された重み係数と格子点データ選択部407にて選択された補間用格子点データとに基づいて補間処理を行い、色分解処理データを出力する。
A weighting
<色分解処理部110における処理の流れ>
次に図5を用いて色分解処理部110における処理の流れについて説明する。図5は、プリント・バッファ103より読み出された整数部圧縮データを処理する色分解処理部110における処理の流れを示す図である。
<Processing Flow in Color
Next, a processing flow in the color
ステップS501では、プリント・バッファ103より読み出された整数部圧縮データが、圧縮された整数部データであるか否かを判定する。ステップS501において、圧縮された整数部データではないと判定された場合には、ステップS502に進み、当該整数部圧縮データから色分解処理用LUT111にアクセスする際のアドレスを生成する。
In step S501, it is determined whether or not the integer part compressed data read from the
ステップS503では、生成されたアドレスに基づいて色分解処理用LUT111から格子点データを取り出し、出力する。更に、当該格子点データをスライド辞書403に格納する。
In step S503, grid point data is extracted from the color
一方、ステップS501において、圧縮された整数部データであると判定された場合には、ステップS504に進む。ステップS504では、整数部圧縮データが示すスライド辞書403のエントリ番号から格子点データを取り出し、次のタイミングで入力された整数部圧縮データの回数分、整数部データを出力する。
On the other hand, if it is determined in step S501 that the integer part data is compressed, the process proceeds to step S504. In step S504, grid point data is extracted from the entry number of the
<色分解処理部110における処理の具体例>
次に色分解処理部110における処理の具体例について上記図5と対応させながら説明する。ここでは、整数部圧縮データが“A”、“0”、“3”、“B”の順に参照点読み出し部401により読み出された場合を一例に説明する(アルファベットは圧縮されていない整数部データを、数字は圧縮されている整数部データをそれぞれ示す)。
<Specific Example of Processing in Color
Next, a specific example of processing in the color
まず“A”を読み出すと、“A”を圧縮されていない整数部データと判定し(ステップS501において「No」)、“A”から色分解処理用LUT111の各格子点データにアクセスするためのアドレスを生成する(ステップS502)。そして生成したアドレスに基づいて色分解処理用LUT111から格子点データを取り出し、格子点データ選択部407へ出力する。更に、当該格子点データをスライド辞書403のエントリ“0”に書き込む(ステップS503)。なお、色分解処理用LUT111の各格子点データにアクセスするためのアドレスの生成は“A”に対してオフセット値を加えることにより行うものとする。
First, when “A” is read, “A” is determined to be uncompressed integer data (“No” in step S501), and “A” is used to access each grid point data of the color
次に整数部圧縮データ“0”を読み出すと、前記整数部圧縮データ“0”は圧縮されているので(ステップS501において「Yes」)、すでにスライド辞書403に書き込まれていると判定する。これにより、エントリ“0”が示す格子点データをスライド辞書403より取り出す。そして、格子点データ選択部407に対して当該格子点データを、次の整数部圧縮データ“3”の数だけ繰り返し出力する(ステップS504)。
Next, when the integer part compressed data “0” is read, it is determined that the integer part compressed data “0” has already been written in the
次に“B”を読み出すと、“A”を読み出した場合と同じようにして、色分解処理用LUT111から格子点データを取り出し、格子点データ選択部407へ出力する。そして、当該格子点データをスライド辞書403のエントリ“1”に書き込む(ステップS501→502→503)。
Next, when “B” is read out, lattice point data is extracted from the color
以上のようにして、格子点データを格子点データ選択部407に出力する。
As described above, the grid point data is output to the grid point
なお、スライド辞書403または色分解処理用LUT111から取り出す格子点データの数は色分解での補間方法によって決定するものとする。例えば、4点補間法であれば、4つの格子点データを取り出す。また、四面体補間法であれば8つの格子点データを取り出す。
It is assumed that the number of grid point data extracted from the
また、スライド辞書403の振る舞いは前述したスライド辞書205と同じである。更に、スライド辞書403のエントリ数はスライド辞書205のエントリ数と同じか、またはそれ以上である。ただし、スライド辞書403のエントリのシフトタイミングはエントリ数にかかわらずスライド辞書205と同一でなければならない。これにより、スライド辞書205のデータが新たなデータの書き込みによってエントリがシフトしたとしても、問題なくスライド辞書403から格子点データを取り出すことができる。
The behavior of the
また、スライド辞書403のエントリ数をスライド辞書205より多く持つことで、スライド辞書の先読みが可能となり、後段処理部でミスヒットによるペナルティがあったとしても、そのペナルティを隠蔽し、リアルタイム性を保持することができる。
Also, by having more entries in the
以上の説明から明らかなように、本実施形態では、キャッシュ機構を用いた色空間変換処理でのヒット率の低下に起因する処理時間の変動を吸収するためのプリント・バッファを配するにあたり、データ分離圧縮部114を配することとした。これにより、プリント・バッファには、圧縮したPD−RGBデータを格納されることとなり、プリント・バッファの容量を抑えることが可能となった。
As is clear from the above description, in the present embodiment, when arranging a print buffer for absorbing a variation in processing time due to a decrease in hit rate in color space conversion processing using a cache mechanism, The separation /
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
[Other Embodiments]
Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) consisting of a single device even if it is applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.). You may apply.
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 Needless to say, the object of the present invention can also be achieved by supplying a system or apparatus with a storage medium storing software program codes for realizing the functions of the above-described embodiments. In this case, the above functions are realized by the computer (or CPU or MPU) of the system or apparatus reading and executing the program code stored in the storage medium. In this case, the storage medium storing the program code constitutes the present invention.
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。 As a storage medium for supplying the program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, or the like is used. be able to.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, the present invention is not limited to the case where the functions of the above-described embodiments are realized by executing the program code read by the computer. For example, an OS (operating system) running on a computer performs part or all of actual processing based on an instruction of the program code, and the functions of the above-described embodiments may be realized by the processing. Needless to say, it is included.
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。 Furthermore, after the program code read from the storage 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, the functions of the above-described embodiments are realized. Is also included. That is, after the program code is written in the memory, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing based on the instruction of the program code, and is realized by the processing. This is also included.
Claims (8)
前記色空間変換処理された画像データから、前記LUTの格子点データを取り出すための第1のデータを分離する分離手段と、
前記分離された第1のデータを、スライド辞書を用いて圧縮する圧縮手段と、
前記圧縮された第1のデータを格納する格納手段と、を備え、
前記第2の処理手段は、前記格納手段より前記圧縮された第1のデータを読み出し、スライド辞書を用いて前記格子点データを取り出すための第1のデータを生成した後に、前記LUTを用いた色分解を行うことを特徴とする画像処理装置。 An image processing apparatus comprising: a first processing unit that performs color space conversion processing on image data; and a second processing unit that performs color separation on the image data subjected to the color space conversion processing using an LUT.
Separation means for separating first data for extracting the lattice point data of the LUT from the image data subjected to the color space conversion processing;
Compression means for compressing the separated first data using a slide dictionary;
Storing means for storing the compressed first data,
The second processing means uses the LUT after reading the compressed first data from the storage means and generating first data for extracting the grid point data using a slide dictionary. An image processing apparatus that performs color separation.
前記色空間変換処理された画像データから、前記LUTの格子点データを取り出すための第1のデータを分離する分離工程と、
前記分離された第1のデータを、スライド辞書を用いて圧縮する圧縮工程と、
前記圧縮された第1のデータを格納手段に格納する格納工程と、を備え、
前記第2の処理工程は、前記格納手段より前記圧縮された第1のデータを読み出し、スライド辞書を用いて前記格子点データを取り出すための第1のデータを生成した後に、前記LUTを用いた色分解を行うことを特徴とする画像処理方法。 An image processing method comprising: a first processing step for color space conversion processing of image data; and a second processing step for color separation of the image data subjected to the color space conversion processing using an LUT,
A separation step of separating first data for extracting grid point data of the LUT from the image data subjected to the color space conversion processing;
A compression step of compressing the separated first data using a slide dictionary;
A storage step of storing the compressed first data in a storage means,
The second processing step uses the LUT after reading the compressed first data from the storage means and generating first data for extracting the grid point data using a slide dictionary. An image processing method characterized by performing color separation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188684A JP2008015943A (en) | 2006-07-07 | 2006-07-07 | Image processor and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188684A JP2008015943A (en) | 2006-07-07 | 2006-07-07 | Image processor and image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008015943A true JP2008015943A (en) | 2008-01-24 |
Family
ID=39072864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006188684A Withdrawn JP2008015943A (en) | 2006-07-07 | 2006-07-07 | Image processor and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008015943A (en) |
-
2006
- 2006-07-07 JP JP2006188684A patent/JP2008015943A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5393574B2 (en) | Image processing apparatus, image processing method, and program | |
JP5558767B2 (en) | Image processing apparatus and processing method thereof | |
JP4662066B2 (en) | Image processing apparatus, image forming apparatus, image distribution apparatus, image processing method, program, and recording medium | |
JP4979323B2 (en) | Image processing apparatus and control method thereof | |
JP2010103681A (en) | Image processing device and method | |
JP3861964B2 (en) | Printer and image data processing method in the printer | |
JP2007082235A (en) | Image data compressor and compressing method | |
JP4681975B2 (en) | Image processing apparatus, image processing method, image processing program, and recording medium on which the program is recorded | |
JP2007082236A (en) | Image data decoder and decoding method | |
JP2830690B2 (en) | Image processing device | |
US8320018B2 (en) | Method and means for converting image data in encoded format | |
JP2008015943A (en) | Image processor and image processing method | |
US8175381B2 (en) | Image processing method and apparatus | |
JP5441676B2 (en) | Image processing apparatus and processing method thereof | |
JP4223049B2 (en) | Image processing apparatus and image forming apparatus | |
JP4963559B2 (en) | Image processing apparatus, image forming apparatus, image processing method, and program for causing computer to execute the method | |
JP2007189275A (en) | Image processor | |
JP5606223B2 (en) | Image processing apparatus and processing method thereof | |
JP2006254355A (en) | Image processor | |
JP2010278650A (en) | Image compression processor, image forming apparatus, computer program, recording medium, and image compression method | |
JP2003283832A (en) | Image processing apparatus, image processing method and color copying machine | |
JP2008193559A (en) | Image processor, image processing method and image processing program | |
US20110228363A1 (en) | Image processing apparatus, control method, and computer-readable medium | |
JP2003036445A (en) | Image processor | |
JPH11185024A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091006 |