JP2011223145A - Image processing apparatus and image processing program - Google Patents
Image processing apparatus and image processing program Download PDFInfo
- Publication number
- JP2011223145A JP2011223145A JP2010087584A JP2010087584A JP2011223145A JP 2011223145 A JP2011223145 A JP 2011223145A JP 2010087584 A JP2010087584 A JP 2010087584A JP 2010087584 A JP2010087584 A JP 2010087584A JP 2011223145 A JP2011223145 A JP 2011223145A
- Authority
- JP
- Japan
- Prior art keywords
- conversion table
- conversion
- data
- speed
- color conversion
- 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
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
Description
本発明は、変換テーブルを参照して画像データを変換する画像処理装置等に関し、特に、変換テーブルが格納された第1の記憶部と、前記第1の記憶部より高速にデータの読み出しが可能な第2の記憶部とを有し、前記第1の記憶部から前記第2の記憶部に読み出した変換テーブルまたはその一部を参照して前記画像データの変換を行う画像処理装置等に関する。 The present invention relates to an image processing apparatus that converts image data with reference to a conversion table, and in particular, a first storage unit that stores a conversion table and data can be read at a higher speed than the first storage unit. And an image processing apparatus that converts the image data with reference to a conversion table read from the first storage unit to the second storage unit or a part thereof.
パーソナルコンピュータなどの画像処理装置は、ビットマップデータに対し画像処理を行って印刷データを生成し、これをプリンタに供給する。かかる画像処理には、ビットマップデータの色をプリンタの表色系に合わせて変換する色変換処理や、ビットマップデータの色をプリンタの印刷解像度に合わせて二値化(または多値化)するハーフトーン処理が含まれる。画像処理の際には、離散的な入力データに出力データを対応づけた変換テーブルが参照される。たとえば色変換処理の際には、ビットマップデータの画素のRGB(レッド、グリーン、ブルー)階調値に、CMYK(シアン、マゼンタ、イエロー、ブラック)階調値が対応づけられた色変換テーブルが用いられる。また、ハーフトーン処理の際には、ビットマップデータの画素のCMYK階調値に、ドットのオン・オフ(またはドットのサイズ)が対応づけられたディザテーブルが用いられる。 An image processing apparatus such as a personal computer performs image processing on bitmap data to generate print data, and supplies this to a printer. For such image processing, color conversion processing for converting the color of the bitmap data in accordance with the color system of the printer, or binarization (or multi-leveling) of the color of the bitmap data in accordance with the printing resolution of the printer. Includes halftoning. In image processing, a conversion table in which output data is associated with discrete input data is referred to. For example, at the time of color conversion processing, a color conversion table in which CMYK (cyan, magenta, yellow, black) gradation values are associated with RGB (red, green, blue) gradation values of pixels of bitmap data. Used. In the halftone process, a dither table in which dot on / off (or dot size) is associated with CMYK gradation values of pixels of bitmap data is used.
近年、ページプリンタなど、プリンタの印刷速度が高速化している。よって、画像処理装置には、プリンタの印刷速度に間に合うように印刷データを供給することが要望される。そうでないと、白紙が出力されたり、印刷が中止されたりといった不都合が生じるからである。よって、印刷データ供給の遅延を防止するために、画像処理を高速化させるための方法が種々提案されている。たとえば、画像処理の際、DRAM(Dynamic Random Access Memory)などのRAM(Random Access Memory)から読み出した変換テーブルをキャッシュメモリに格納し、これを参照することが行われる。一般に、キャッシュメモリはSRAM(Static Random Access Memory)等で構成され、DRAMより高速なデータ読み出しが可能であるので、そうすることにより画像処理が高速化される。かかるメモリの使用方法に関する技術が、特許文献1、2に開示されている。 In recent years, the printing speed of printers such as page printers has been increased. Therefore, the image processing apparatus is required to supply print data in time for the printing speed of the printer. Otherwise, there will be inconveniences such as blank paper being output or printing being stopped. Therefore, various methods for speeding up image processing have been proposed in order to prevent a delay in supplying print data. For example, during image processing, a conversion table read from a RAM (Random Access Memory) such as a DRAM (Dynamic Random Access Memory) is stored in a cache memory and referenced. Generally, the cache memory is composed of SRAM (Static Random Access Memory) or the like, and can read data at a higher speed than the DRAM, so that the image processing is speeded up. Techniques relating to such a memory usage method are disclosed in Patent Documents 1 and 2.
一方、近年では、プリンタによる印刷画像の品質も向上しており、印刷データの階調値も従来より精細化している。よって、変換テーブルにおいては、離散的な入力データの個数が増大しており、変換テーブルのサイズ(データ量)が増大している。一方、キャッシュメモリの容量は、製造コスト上、制約されている。さらに、他のプログラムがタイムシェアリングで実行されるような場合には、その実行に必要なデータがキャッシュメモリに格納されるので、変換テーブル用の領域が圧迫される。すると、変換テーブル全体をキャッシュメモリに格納することが困難な場合がある。 On the other hand, in recent years, the quality of print images by printers has also improved, and the gradation values of print data have become finer than before. Therefore, in the conversion table, the number of discrete input data is increasing, and the size (data amount) of the conversion table is increasing. On the other hand, the capacity of the cache memory is limited due to manufacturing costs. Furthermore, when another program is executed by time sharing, the data required for the execution is stored in the cache memory, so the area for the conversion table is compressed. Then, it may be difficult to store the entire conversion table in the cache memory.
かかる場合には、変換テーブルの一部だけがキャッシュメモリに格納される。このとき、変換しようとするデータに対応する入力データがキャッシュメモリに格納されていれば
、その入力データに対応する出力データを読み出すことで良好な画像処理速度を維持できる。しかし、キャッシュメモリに格納されていない入力データを参照する場合には、その入力データを含む領域をRAMから読み出す必要がある。そして、RAMからの読み出しを行う頻度が多くなると、その分、テーブル参照に要する時間が長くなり、画像処理速度が低下する。すると、プリンタの印刷速度に間に合うように印刷データを供給できなくなるおそれがある。
In such a case, only a part of the conversion table is stored in the cache memory. At this time, if the input data corresponding to the data to be converted is stored in the cache memory, a good image processing speed can be maintained by reading the output data corresponding to the input data. However, when referring to input data not stored in the cache memory, it is necessary to read an area including the input data from the RAM. As the frequency of reading from the RAM increases, the time required for referring to the table increases accordingly, and the image processing speed decreases. Then, there is a possibility that the print data cannot be supplied in time for the printing speed of the printer.
そこで、本発明の目的は、キャッシュメモリに変換テーブルを格納して参照するとともに、画像処理速度の低下を防止できる画像処理装置等を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide an image processing apparatus or the like that can store a conversion table in a cache memory and refer to it, and prevent a decrease in image processing speed.
上記の目的を達成するために、本発明の第1の側面によれば、入力データに所定データ量の出力データを対応付けた変換テーブルを用いて画像データの変換処理を行う画像処理装置に、テーブルのサイズが異なる複数の前記変換テーブルを格納する第1の記憶部と、前記複数の変換テーブルから選択した参照用色変換テーブルの全部または一部を前記第1の記憶部より高速にデータ読み出しが可能な、所定容量の第2の記憶部に格納し、当該第2の記憶部から前記参照用変換テーブルの全部または一部を参照して前記変換処理を行う処理部とを備え、前記処理部は、前記変換処理の速度が第1の速度のときには、第1の前記変換テーブルを前記参照用変換テーブルとして選択し、前記変換処理の速度が前記第1の速度より遅い第2の速度のときには、前記第1の変換テーブルよりテーブルのサイズが小さい第2の前記変換テーブルを前記参照用変換テーブルとして選択する。 In order to achieve the above object, according to a first aspect of the present invention, an image processing apparatus that performs conversion processing of image data using a conversion table in which output data of a predetermined amount of data is associated with input data is provided. A first storage unit storing a plurality of the conversion tables having different table sizes, and reading all or part of the reference color conversion table selected from the plurality of conversion tables at a higher speed than the first storage unit And a processing unit that stores the data in a second storage unit having a predetermined capacity and refers to all or a part of the reference conversion table from the second storage unit. When the speed of the conversion process is the first speed, the unit selects the first conversion table as the reference conversion table, and the speed of the conversion process is a second speed that is lower than the first speed. When To selects the first conversion table from the table a second of said conversion table size is small as a conversion table for the reference.
上記の側面によれば、変換処理の速度が比較的速いときには、テーブルのサイズが大きい第1の変換テーブルを選択することで色変換処理された画像の良好な品質を保ち、その一方で、変換処理の速度が比較的遅いときには、テーブルのサイズが小さい第2の変換テーブルを選択するので、第2の記憶部の容量が制約されていても、より広い階調幅の入力データを第2の記憶部に格納できる。よって、入力データが当該参照用テーブルの一部に含まれていないときに、前記第1の記憶部に格納される当該参照用テーブルを参照する頻度を減少させることができ、変換処理の速度低下を防止できる。さらに、前記画像処理装置が前記画像データの変換処理以外のプログラムを実行し、前記プログラムの実行に関するデータを第2の記憶部に格納することによってさらに第2の記憶部の容量が制約されたとしても、テーブルのサイズが小さい第2の変換テーブルを参照用変換テーブルとして選択することにより、より広い階調幅の入力データを第2の記憶部に格納できる。 According to the above aspect, when the conversion processing speed is relatively fast, the first conversion table having a large table size is selected to maintain a good quality of the color-converted image, while the conversion processing is performed. When the processing speed is relatively slow, the second conversion table having a small table size is selected. Therefore, even if the capacity of the second storage unit is limited, input data having a wider gradation width is stored in the second storage table. Can be stored in the department. Therefore, when the input data is not included in a part of the reference table, the frequency of referring to the reference table stored in the first storage unit can be reduced, and the conversion processing speed decreases. Can be prevented. Further, it is assumed that the capacity of the second storage unit is further restricted by the image processing apparatus executing a program other than the image data conversion process and storing data related to the execution of the program in the second storage unit. However, by selecting the second conversion table having a small table size as the reference conversion table, input data having a wider gradation width can be stored in the second storage unit.
上記側面の好ましい態様によれば、前記処理部は、前記変換処理の速度が閾値を下回ったときに、前記参照用変換テーブルを前記第1の前記変換テーブルから前記第2の前記変換テーブルに切り替え、前記変換速度が前記閾値以上になったときに、前記参照用変換テーブルを前記第2の変換テーブルから前記第1の前記変換テーブルに切り替える。よって、テーブルのサイズが小さい第2の変換テーブルを選択することにより変換処理の速度低下を回避できる一方で、変換処理の速度低下が生じない場合には、テーブルのサイズが大きい第1の変換テーブルに戻すことで、変換精度が低下したままになることや、変換精度を補償するための処理負荷の増大を回避でき、変換処理された画像の品質を向上させることができる。 According to a preferred aspect of the above aspect, the processing unit switches the reference conversion table from the first conversion table to the second conversion table when the conversion processing speed falls below a threshold value. When the conversion speed becomes equal to or higher than the threshold value, the reference conversion table is switched from the second conversion table to the first conversion table. Therefore, by selecting the second conversion table having a small table size, the conversion processing speed can be avoided, but when the conversion processing speed does not decrease, the first conversion table having a large table size is used. By returning to, it is possible to avoid a decrease in conversion accuracy and an increase in processing load for compensating the conversion accuracy, and to improve the quality of the converted image.
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.
図1は、本実施形態における画像処理装置の構成を説明する図である。図1は、パーソナルコンピュータにより構成されるホストコンピュータ2が、プリンタ4に印刷データを供給する構成を示す。ホストコンピュータ2が、「画像処理装置」に対応し、プリンタ4が「画像出力装置」に対応する。 FIG. 1 is a diagram illustrating the configuration of an image processing apparatus according to this embodiment. FIG. 1 shows a configuration in which a host computer 2 constituted by a personal computer supplies print data to a printer 4. The host computer 2 corresponds to the “image processing apparatus”, and the printer 4 corresponds to the “image output apparatus”.
ホストコンピュータ2では、CPU(Central Processing Unit)6、ROM(Read Only Memory)8、ハードディスクドライブ10、RAM12、ビデオ回路14、インターフェース16が、データバス17を介して接続される。CPU6は、ROM8に格納された起動プログラムや、ハードディスクドライブ10のハードディスクに格納された各種プログラムに従って演算処理を行う。各種プログラムには、オペレーティングシステムOSのほか、画像データ生成のためのアプリケーションプログラムAPP、画像データに画像処理を行って印刷データを生成するためのプリンタドライバプログラムPDR、及び画像を表示出力するためのビデオドライバプログラムVDRが含まれる。本実施形態では、CPU6が「処理部」に、プリンタドライバプログラムPDRが「画像処理プログラム」に対応する。なお、ここでは、プリンタドライバPDRは、オペレーティングシステムOSのプリントモジュールを含む。
In the host computer 2, a central processing unit (CPU) 6, a read only memory (ROM) 8, a
CPU6は、各種プログラムを実行するときに、プログラムモジュールや演算用データを一時的にRAM12格納する。RAM12は、たとえば数メガバイト〜数ギガバイトの容量を有するDRAMにより構成される。また、CPU6は、特に頻繁に使用するプログラムモジュールや演算用データを、キャッシュメモリ7に格納する。キャッシュメモリ7は、たとえば数キロバイト〜数メガバイトの容量を有するSRAMにより構成される。そして、キャッシュメモリ7は、CPU6内に備えられ、CPU6内のバスによりCPU6のプロセッサと接続される。よって、プロセッサからは、RAM12のデータを読み出す場合より高速にキャッシュメモリ7のデータを読み出すことができる。ここで、RAM12が「第1の記憶部」に、キャッシュメモリ7が「第2の記憶部」に対応する。
The CPU 6 temporarily stores program modules and calculation data in the
CPU6は、各種プログラムの実行に際し、ビデオドライバプログラムVDRに従って、表示用画像の描画をビデオ回路14に指示する。ビデオ回路14は、指示された描画を実行し、表示用の画像に対応する画像信号を表示装置18に出力する。表示装置18は、たとえば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)で構成され、画像信号に応じた画像を表示する。また、CPU6は、インターフェース16を介して、操作入力部20からの入力信号を受け取る。操作入力部20は、たとえばキーボードやマウスで構成され、ユーザの操作入力に対応する入力信号を、インターフェース16に送る。
When executing various programs, the CPU 6 instructs the
またCPU6は、インターフェース16を介して、外部記憶装置22から各種プログラムやデータを受け取る。外部記憶装置22は、たとえば、CD―ROM(Compact Disk R
OM)ドライブユニット、MO(Magneto Optic)ドライブユニット、FD(Floppy(登録商標)Disk)ドライブユニットなどにより構成され、各記憶媒体からプログラムやデータを読み取ってインターフェース16に供給する。また、たとえば外部記憶装置22は、USB(Universal Serial Bus)インターフェースにより構成される。USBインターフェースは、着脱されるUSBメモリなどからプログラムやデータを読み取ってインターフェース16に供給する。
The CPU 6 receives various programs and data from the
OM) drive units, MO (Magneto Optic) drive units, FD (Floppy (registered trademark) Disk) drive units, and the like, which read programs and data from each storage medium and supply them to the
上記の構成において、CPU6は、アプリケーションプログラムAPPを実行して生成した画像データ、またはハードディスクドライブ10のハードディスクや外部記憶装置22から読み取った画像データを一旦RAM12に格納する。そして、CPU6は、ユーザからの指示入力に応答して画像データに対し画像処理を行い、印刷データを生成する。画像処理は、プリンタドライバプログラムPDRを実行することにより行われる。生成された印刷データはRAM12に格納される。そして、印刷データは、RAM12からインターフェース16を介してプリンタ4に出力される。
In the above configuration, the CPU 6 temporarily stores image data generated by executing the application program APP or image data read from the hard disk of the
プリンタ4では、CPU30がROM32やEEPROM(Electronically Erasable and Programmable ROM)34に格納された制御プログラムに従って、印刷動作を制御するための演算処理を実行する。CPU30は、演算処理用のデータを一時的にRAM36に格納する。また、CPU30は、ホストコンピュータ2から供給される印刷データをインターフェース回路40を介し受け取り、RAM36に格納する。RAM36は、たとえば、1〜数ページ分の印刷データを格納するページバッファとして機能する。
In the printer 4, the
CPU30は、RAM36に格納した印刷データを、インターフェース回路40を介して印刷エンジン38に出力する。印刷エンジン38は、副走査方向に記録紙を搬送する機構と、副走査方向と直交する主走査方向に動作するプリントヘッドと、その駆動・制御回路とを有する。プリントヘッドは、搬送される記録紙や感光体を走査して、インクやトナーなどの記録材により出力画像を形成し、印刷を実行する。かかる印刷動作は、たとえば、複数ページの印刷ジョブを実行するときに、A4用紙1ページにつき1〜数秒といった均一の速度で実行される。
The
図2は、CPU6が実行する各種プログラムについて説明する図である。CPU6は、アプリケーションプログラムAPP、ビデオドライバプログラムVDR、及びプリンタドライバプログラムPDRを実行する。アプリケーションプログラムAPPは、たとえば描画・文書作成プログラムである。CPU6は、アプリケーションプログラムAPPに従い、ユーザによる操作入力に応答して画像データGDを生成する。画像データGDは、たとえばRGBビットマップデータである。このとき、CPU6は、ビデオドライバプログラムVDR従ってビデオ回路14に画像表示を指示する。
FIG. 2 is a diagram for explaining various programs executed by the CPU 6. The CPU 6 executes an application program APP, a video driver program VDR, and a printer driver program PDR. The application program APP is, for example, a drawing / document creation program. The CPU 6 generates image data GD in response to an operation input by the user according to the application program APP. The image data GD is, for example, RGB bitmap data. At this time, the CPU 6 instructs the
プリンタドライバPDRは、画像データGDに対し画像処理を行って、印刷データPDを生成するためのプログラムである。CPU6は、プリンタドライバPDRの各プログラムモジュールを実行することで、画像処理を行う。ここで、図3を参照しつつ、画像処理手順について説明する。 The printer driver PDR is a program for performing image processing on the image data GD and generating print data PD. The CPU 6 performs image processing by executing each program module of the printer driver PDR. Here, the image processing procedure will be described with reference to FIG.
図3は、画像処理手順を示したフローチャート図である。図3の手順は、たとえばアプリケーションプログラムAPPから印刷実行指示が送られたときに実行される。印刷実行指示は、ユーザが操作入力部20から入力する。
FIG. 3 is a flowchart showing an image processing procedure. The procedure in FIG. 3 is executed, for example, when a print execution instruction is sent from the application program APP. The print execution instruction is input from the
まず、解像度変換モジュールP2が、アプリケーションプログラムAPPからRGBビットマップデータを受け取る(S2)。そして、解像度変換モジュールP2は、プリンタ4の印刷解像度に合わせて、RGBビットマップデータの画素数を増減する解像度変換処
理を行う(S4)。次に、色変換モジュールP4は、RGBビットマップデータの画素の色を、プリンタ4の表色系に合わせて変換する色変換処理を行う(S6)。たとえば、各画素のRGB階調値を、CMYK階調値に変換する。このとき、色変換テーブルLUTが参照される。色変換テーブルでは、RGB階調値にCMYK階調値が対応づけられている。あるいは、色変換モジュールP2は、基準色空間におけるCMYK階調値をプリンタ4の表色系におけるCMYK階調値に変換することも可能である。その場合、RGB階調値に基準色空間のCMYK階調値が対応付けられた色変換テーブルLUTと、基準色空間のCMYK階調値にプリンタ4の表色系におけるCMYK階調値が対応付けられた色変換テーブルLUTとが参照される。
First, the resolution conversion module P2 receives RGB bitmap data from the application program APP (S2). Then, the resolution conversion module P2 performs resolution conversion processing for increasing or decreasing the number of pixels of the RGB bitmap data in accordance with the printing resolution of the printer 4 (S4). Next, the color conversion module P4 performs color conversion processing for converting the color of the pixels of the RGB bitmap data in accordance with the color system of the printer 4 (S6). For example, the RGB gradation value of each pixel is converted into a CMYK gradation value. At this time, the color conversion table LUT is referred to. In the color conversion table, CMYK gradation values are associated with RGB gradation values. Alternatively, the color conversion module P2 can convert CMYK gradation values in the reference color space into CMYK gradation values in the color system of the printer 4. In this case, a color conversion table LUT in which CMYK gradation values in the reference color space are associated with RGB gradation values, and CMYK gradation values in the color system of the printer 4 are associated with CMYK gradation values in the reference color space. The obtained color conversion table LUT is referred to.
次に、ハーフトーンモジュールP6は、CMYKビットマップデータを、プリンタでのドット記録状態データに変換するハーフトーン処理を行う(S8)。ドット記録状態データは、CMYKビットマップデータの各画素について、ドットのオン・オフやドットのサイズを規定するデータである。このとき、ディザテーブルDTが参照される。ディザテーブルDTでは、CMYKビットマップデータの画素毎のCMYK階調値(またはCMYK階調値に基づく一定面積におけるドットの記録率)に対し、ドットのオン・オフまたはサイズを決定するための閾値が設定されている。 Next, the halftone module P6 performs halftone processing for converting the CMYK bitmap data into dot recording state data in the printer (S8). The dot recording state data is data defining dot on / off and dot size for each pixel of the CMYK bitmap data. At this time, the dither table DT is referred to. In the dither table DT, there is a threshold value for determining dot on / off or size with respect to the CMYK gradation value for each pixel of the CMYK bitmap data (or the dot recording rate in a fixed area based on the CMYK gradation value). Is set.
次に、印刷データ生成モジュールP8が、ドット記録状態データから印刷データを生成する(S10)。印刷データは、主走査時のドットの記録状態を示すラスタデータと、副走査方向の送り量とを含む。そして、印刷データ生成モジュールP8は、生成した印刷データPDをRAM12のバッファ領域に出力する(S12)。印刷データPDは、RAM12からプリンタ4に転送される。
Next, the print data generation module P8 generates print data from the dot recording state data (S10). The print data includes raster data indicating a dot recording state during main scanning and a feed amount in the sub-scanning direction. Then, the print data generation module P8 outputs the generated print data PD to the buffer area of the RAM 12 (S12). The print data PD is transferred from the
図4は、色変換テーブルLUTについて説明する図である。本実施形態では、色変換テーブルLUTが、「変換テーブル」に対応する。図4(A)は、RGB階調値をCMYK階調値に変換する色変換テーブルLUTを模式的に示す。色変換テーブルLUTは、R、G、Bの座標空間に、離散的な入力データに対して設けられた格子点GRD(図中、黒丸で示す)を有する。ここでは、R、G、Bは各色8ビット(1バイト)で表現され、0〜255の256階調幅を有する。そして、格子点GRDは、入力データの256階調幅に対し、一定の間隔、たとえば1階調ごとに設けられる。各格子点GRDでは、入力データであるRGB階調値(r,g,b)に、出力データであるCMYK階調値(c,m,y,k)が対応付けられている。CPU6は、色変換モジュールP4を実行する際、RGBビットマップデータの画素ごとに、RGB階調値に対応する格子点GRDを参照し、対応するCMYK階調値に変換する。 FIG. 4 is a diagram illustrating the color conversion table LUT. In the present embodiment, the color conversion table LUT corresponds to a “conversion table”. FIG. 4A schematically shows a color conversion table LUT for converting RGB gradation values into CMYK gradation values. The color conversion table LUT has grid points GRD (indicated by black circles) provided for discrete input data in the R, G, B coordinate space. Here, R, G, and B are expressed by 8 bits (1 byte) for each color, and have 256 gradation widths of 0 to 255. The grid points GRD are provided at a fixed interval, for example, for each gradation, with respect to the 256 gradation width of the input data. In each grid point GRD, RGB gradation values (r, g, b) as input data are associated with CMYK gradation values (c, m, y, k) as output data. When executing the color conversion module P4, the CPU 6 refers to the grid point GRD corresponding to the RGB gradation value for each pixel of the RGB bitmap data and converts it to the corresponding CMYK gradation value.
ここで、C、M、Y、Kも各色8ビット(1バイト)で表現され、0〜255の256階調幅を有するものとする。すると、色変換テーブルLUTでは、R、G、B各色256個の格子点GRDが設けられるところ、各格子点GRDではC、M、Y、K各色1バイト、合計4バイトの出力データが対応付けられる。よって、色変換テーブルLUTのサイズ(データ量)は、2563×4バイト=67,108キロバイトである。 Here, C, M, Y, and K are also expressed by 8 bits (1 byte) for each color, and have 256 gradation widths of 0 to 255. Then, in the color conversion table LUT, 256 grid points GRD for each color of R, G, and B are provided. In each grid point GRD, output data of 4 bytes in total for each color of C, M, Y, and K is associated. It is done. Therefore, the size (data amount) of the color conversion table LUT is 256 3 × 4 bytes = 67,108 kilobytes.
次に、格子点GRDの密度が異なる色変換テーブルのサイズについて、図4(B)を用いて説明する。ここでは、基準色空間におけるCMYK階調値をプリンタ4の表色系におけるCMYK階調値に変換する場合を例とする。入力データのC、M、Y、K各色は、8ビット(1バイト)で表現され、0〜255の256階調幅を有する。一方、出力データのC、M,Y,K各色は、8ビット(1バイト)で表現され、256階調幅を有する。すなわち、ここでは、4色の階調値からなる入力データを4色の階調値からなる出力データに変換する、4次元の色変換テーブルを例とする。 Next, the size of the color conversion table with different density of the grid points GRD will be described with reference to FIG. Here, a case where CMYK gradation values in the reference color space are converted into CMYK gradation values in the color system of the printer 4 is taken as an example. Each color of C, M, Y, and K of the input data is expressed by 8 bits (1 byte) and has a 256 gradation width from 0 to 255. On the other hand, the colors C, M, Y, and K of the output data are expressed by 8 bits (1 byte) and have 256 gradation widths. That is, here, a four-dimensional color conversion table that converts input data consisting of four color gradation values into output data consisting of four color gradation values is taken as an example.
図4(B)には、4つの色変換テーブルについて、格子点の個数と、テーブルのサイズとが示される。すなわち、入力データの各色について、256階調幅において8階調ごとに32個の格子点GRDを有する色変換テーブルLUT1と、10階調ごとに24個の格子点GRDを有する色変換テーブルLUT2と、16階調ごとに16個の格子点GRDを有する色変換テーブルLUT3と、32階調ごとに8個の格子点GRDを有する色変換テーブルLUT4それぞれのサイズが示される。 FIG. 4B shows the number of grid points and the table size for the four color conversion tables. That is, for each color of the input data, a color conversion table LUT1 having 32 lattice points GRD for every 8 gradations in a 256 gradation width, and a color conversion table LUT2 having 24 lattice points GRD for every 10 gradations; The sizes of the color conversion table LUT3 having 16 grid points GRD for every 16 gradations and the color conversion table LUT4 having 8 grid points GRD for every 32 gradations are shown.
色変換テーブルLUT1〜4では、各格子点GRDごとに、CMYK各色8ビット(1バイト)のデータ量を有する。よって、色変換テーブルLUT1のサイズは、324×4バイト=4096KB(キロバイト)である。同様に、色変換テーブルLUT2のサイズは、244×4バイト=1296キロバイトである。また同様に、変換テーブルLUT3のサイズは、164×4バイト=256キロバイトである。さらに同様に、色変換テーブルLUT4のサイズは、84×4バイト=16キロバイトである。よって、色変換テーブルLUT1、色変換テーブルLUT2、色変換テーブルLUT3、色変換テーブルLUT4の順で、入力データの階調幅における格子点の密度が減少し(つまり、離散的な入力データの個数が減少し)、これに伴ってテーブルのサイズも減少する。なお、ここでは、入出力データがいずれも各色8ビットによる256階調幅を有する場合を例として示したが、0〜127の128階調幅、0〜63の64階調幅、あるいは0〜31の32階調幅など、各色のデータ量(ビット数)に応じて種々の階調幅が可能である。あるいは、色変換テーブルLUTにおいて入力データが設けられる階調の間隔、つまり格子点GRDの間隔は、単一の色変換テーブルLUT内で一定でなくてもよい。たとえば、低階調部分では間隔が小さく(大きく)、高階調部分では間隔が大きく(小さく)することなどが可能である。 The color conversion tables LUT1 to LUT4 have a data amount of 8 bits (1 byte) for each color of CMYK for each grid point GRD. Therefore, the size of the color conversion table LUT1 is 32 4 × 4 bytes = 4096 KB (kilobytes). Similarly, the size of the color conversion table LUT2 is 24 4 × 4 bytes = 1296 kilobytes. Similarly, the size of the conversion table LUT3 is 16 4 × 4 bytes = 256 kilobytes. Similarly, the size of the color conversion table LUT4 is 8 4 × 4 bytes = 16 kilobytes. Therefore, the density of grid points in the gradation width of the input data decreases in the order of the color conversion table LUT1, the color conversion table LUT2, the color conversion table LUT3, and the color conversion table LUT4 (that is, the number of discrete input data decreases). As a result, the size of the table also decreases. In this example, the input / output data has 256 gradation widths of 8 bits for each color as an example, but 128 gradation widths of 0 to 127, 64 gradation widths of 0 to 63, or 32 of 0 to 31. Various gradation widths are possible depending on the data amount (number of bits) of each color, such as gradation width. Alternatively, the interval between gradations where input data is provided in the color conversion table LUT, that is, the interval between grid points GRD may not be constant within a single color conversion table LUT. For example, the interval can be small (large) in the low gradation portion, and the interval can be large (small) in the high gradation portion.
本実施形態では、格子点の密度とサイズが異なる複数の色変換テーブルLUT1〜4が、プリンタドライバプログラムPDRの一部としてハードディスクドライブ10のハードディスクに格納される。そして、CPU6がプリンタドライバプログラムPDRを実行するときに、色変換モジュールP2とともに色変換テーブルLUT1〜4をRAM12に格納する。さらに、CPU6は、色変換モジュールP2を実行するときに、色変換テーブルLUT1〜4のなかからいずれかを参照用色変換テーブルとして選択する。そして、CPU6は、選択した参照用色変換テーブルを、オペレーティングシステムOSに従って、RAM12から読み出してキャッシュメモリ7に格納する。そして、CPU6は、参照用色変換テーブルをキャッシュメモリ7から参照し、色変換処理を行う。
In the present embodiment, a plurality of color conversion tables LUT1 to LUT4 having different grid point densities and sizes are stored in the hard disk of the
図5は、色変換処理が行われるときの、RAM12とキャッシュメモリ7の使用状況を模式的に示す図である。図5(A)に示すように、RAM12には、色変換テーブルLUT1〜4と、色変換処理が行われるページごとのビットマップデータBMP_n(nはページ数1、2、3、・・・)と、生成された印刷データPD_n(nページ数1、2、3、・・・)とが格納される。
FIG. 5 is a diagram schematically showing the usage state of the
一方、キャッシュメモリ7には、プログラム用領域7aと、色変換テーブル用領域7bと、入出力データ用領域7cが確保される。CPU6は、オペレーティングシステムOSを実行することにより、かかる領域7a、7b、7cを確保する。そして、CPU6は、プログラム用領域7aに、たとえばアプリケーションプログラムAPPのプログラムモジュールや、プリンタドライバPDRの色変換モジュールP2などを格納する。そして、色変換テーブル用領域7bに、色変換テーブルLUT1〜4から選択した参照用色変換テーブルLUTrを格納する。また、入出力データ用領域7cに、参照用色変換テーブルLUTrの入力データ及び出力データを格納する。
On the other hand, the
キャッシュメモリ7にはプログラム用領域7aや入出力データ用領域7cが確保される
ので、色変換テーブル用領域7bがその分制約される。ここで、図5(B)に、色変換テーブルLUT1〜4と色変換テーブル用領域7bとの関係を模式的に示す。図5(B)では、色変換テーブルLUT1〜4のサイズを長方形の面積により、色変換テーブル用領域7bの大きさを、破線で囲んだ領域の面積により表す。ここでは、図4(B)で示した色変換テーブルLUT1〜4のサイズに対し、色変換テーブル用領域7bは、たとえば、128キロバイトとする。ただし、色変換テーブルLUT1〜4のサイズと色変換テーブル用領域7bとの関係は、ここに示すものに限られない。
Since the
まず、色変換テーブルLUT1が参照用色変換テーブルとしてLUTr選択された場合、色変換テーブルLUT1のサイズは色変換テーブル用領域7bより大きいので、色変換テーブルLUT1の一部分、つまり色変換テーブル用領域7bと重複する部分だけが色変換テーブル用領域7bに格納される。
First, when the color conversion table LUT1 is selected as the reference color conversion table LUTr, the size of the color conversion table LUT1 is larger than the color
ここで、CPU6による参照用色変換テーブルLUTrを参照する手順を図6に示す。CPUは、キャッシュメモリ7に格納された参照用色変換テーブルLUTrを参照する(S22)。そして、変換しようとするRGB階調値に対応する格子点GRD(離散的な入力データ)が格納されていれていれば(S24のYES)、つまりここでは、色変換テーブルLUT1の色変換テーブル用領域7bと重複する部分に参照すべき格子点GRDが含まれていれば、CPU6はその格子点GRDを参照して対応するCMYK階調値を出力する(S26)。そうすることで色変換処理を行うことができる。しかし、変換しようとするRGB階調値に対応する格子点GRDが含まれていなければ(S24のNO)、CPU6は、RAM12に格納された色変換テーブルLUT1を参照し(S28)、変換しようとするRGB階調値に対応する格子点GRDを読み出して、対応するCMYK階調値を出力する(S30)。なお、これらの手順は通常オペレーティングシステムやハードウェアに組み込まれた手順として実行されるので、プログラマは意識する必要がない。
Here, a procedure for referring to the reference color conversion table LUTr by the CPU 6 is shown in FIG. The CPU refers to the reference color conversion table LUTr stored in the cache memory 7 (S22). If grid points GRD (discrete input data) corresponding to the RGB gradation values to be converted are stored (YES in S24), that is, here, for the color conversion table of the color conversion table LUT1. If the grid point GRD to be referred to is included in the portion overlapping with the
このように、色変換テーブル用領域7bに参照すべき格子点GRDが含まれていない場合には、RAM12からのデータ読み出しを行う必要がある。しかしながら、RAM12からのデータ読み出しはキャッシュメモリ7からのデータ読み出しより時間がかかるので、その分画像処理時間が増大する。よって、印刷データの供給が遅延するおそれがある。そこで、本実施形態では、印刷データの供給が遅延しそうなときには、格子点密度が低くサイズが小さい色変換テーブルLUTを参照用色変換テーブルLUTrとして選択し、その全体または一部をキャッシュメモリ7に格納する。
As described above, when the grid point GRD to be referred to is not included in the color
たとえば、図5(B)に戻ると、色変換テーブルLUT2が参照用色変換テーブルLUTrとして選択された場合、色変換テーブル用領域7bに格納される部分の割合が色変換テーブルLUT1より大きい。よって、より広い階調幅の入力データに対応する格子点が色変換テーブル用領域7bに格納される。さらに色変換テーブルLUT3は、色変換テーブル用領域7bに格納される部分の割合が色変換テーブルLUT2より大きい。よって、さらに広い階調幅の入力データに対応する格子点が色変換テーブル用領域7bに格納される。そして、色変換テーブルLUT4は、その全体が色変換テーブル用領域7bに格納される。よって、すべての入力データに対応する格子点が色変換テーブル用領域7bに格納される。よって、RAM12を参照する必要がなくなる。このように、色変換テーブルLUT1、LUT2、LUT3、LUT4の順で格子点GRDの密度が低くなり、したがって対応する入力データの範囲が大きくなるので、RAM12を参照する必要性が減少する。よって、画像処理時間が増大することを回避でき、その結果、印刷データの供給遅延を防止できる。
For example, returning to FIG. 5B, when the color conversion table LUT2 is selected as the reference color conversion table LUTr, the proportion of the portion stored in the color
図7は、参照用変換テーブルLUTrを選択する手順を説明するフローチャート図である。図3で示した色変換処理(手順S6)の、サブルーチンに対応する。 FIG. 7 is a flowchart for explaining the procedure for selecting the reference conversion table LUTr. This corresponds to the subroutine of the color conversion process (step S6) shown in FIG.
CPU6は、色変換テーブルLUT1を参照用色変換テーブルLUTrとして選択してキャッシュメモリ7に格納し、色変換処理を開始する(S102)。そして、たとえば任意のタイマ割込みタイミングで、変換処理速度、つまり印刷データの生成速度がプリンタ4の印刷速度に間に合っているかを確認する(S104)。ここで、RAM12のバッファ領域に格納する印刷データPD_nの量が閾値以上のときには印刷速度に間に合っていると判断し、閾値より減少したときには印刷速度に間に合っていないと判断する。かかる判断の閾値として、プリンタ4の印刷速度に対し印刷データPD_nの供給が遅延する蓋然性が高くなるような任意な値を、実験等により予め設定することができる。あるいは、CPU6が、1ページ分の色変換処理の所要時間、あるいは、CMYKビットマップデータや印刷データを生成する所要時間を計測し、予め定めた閾値と比較することにより判断してもよい。さらに、プリンタ4のCPU30から、RAM36内の印刷データPD_nの残量を取得し、予め定めた閾値と比較することにより、間に合っているかどうかを判断してもよい。
The CPU 6 selects the color conversion table LUT1 as the reference color conversion table LUTr, stores it in the
また、ここにおいて、変換処理速度はRGBビットマップデータのデータ量には必ずしも依存しない。たとえば、データ量が比較的大きいRGBビットマップデータであっても、画素の階調値がある程度均一であって、その階調値に対応する格子点GRDがキャッシュメモリ7に格納されていれば、変換処理速度はある程度の水準に保たれる。一方、データ量が比較的小さいRGBビットマップデータであっても、画素の階調値がばらついていれば、これに対応する格子点GRDがキャッシュメモリ7に格納されていない場合がある。すると、RAM12から読み出す必要があるので、変換処理速度が低下する。
Here, the conversion processing speed does not necessarily depend on the data amount of RGB bitmap data. For example, even in the case of RGB bitmap data having a relatively large amount of data, if the gradation values of the pixels are uniform to some extent and the grid points GRD corresponding to the gradation values are stored in the
変換処理速度がプリンタ4の印刷速度に間に合っている場合は(S104のYES)そのまま色変換処理を続行する。一方、間に合っていない場合(S104のNO)、1段階小さい色変換テーブルに参照用色変換テーブルLUTrを切り替える(S106)。つまり格子点GRDの密度が低く、サイズが小さい色変換テーブルLUT2を参照用色変換テーブルLUTrとして選択してキャッシュメモリ7に格納する。そして、CPU6は、色変換処理を続行する。
If the conversion processing speed is in time for the printing speed of the printer 4 (YES in S104), the color conversion processing is continued as it is. On the other hand, if not in time (NO in S104), the reference color conversion table LUTr is switched to a color conversion table that is one step smaller (S106). That is, the color conversion table LUT2 having a low density of grid points GRD and a small size is selected as the reference color conversion table LUTr and stored in the
CPU6は、さらに任意のタイマ割込みタイミングで、RAM12のバッファ領域に印刷データPD_nが一杯かどうかを確認する(S108)。ここで、一杯でないときには(S108のNO)、そのまま処理を続行する。一方、一杯であれば(S108のYES)、印刷データの供給はプリンタ4の印刷速度に間に合っているので、1段階大きい色変換テーブルに参照用色変換テーブルLUTrを切り替える(S110)。つまり、格子点密度とサイズが1段階大きい色変換テーブルLUT1を参照用色変換テーブルLUTrとしてキャッシュメモリ7に格納する。そして、CPU6は色変換処理を続行し、最終ページの印刷データPD_nの処理が終了するまで(S112のNO)、手順S104から手順S110を繰り返す。
The CPU 6 further confirms whether the print data PD_n is full in the buffer area of the
次の処理サイクルで手順S104から手順S110を繰り返すときに、色変換処理速度が間に合っていなければ(S104のNO)、さらに小さい色変換テーブルLUT3を参照用色変換テーブルLUTrとして選択してキャッシュメモリ7に格納し(S106)、色変換処理を続行する。また、さらに次の処理サイクルで、色変換処理速度が間に合っていなければ(S104のNO)、さらに一段小さい色変換テーブルLUT4を参照用色変換テーブルLUTrとして選択してキャッシュメモリ7に格納し(S106)、色変換処理を続行する。そして、最終ページの印刷データPD_nの処理が終了すると(S112のYES)、本処理手順を終了する。 When the procedure from step S104 to step S110 is repeated in the next processing cycle, if the color conversion processing speed is not in time (NO in S104), a smaller color conversion table LUT3 is selected as the reference color conversion table LUTr to select the cache memory 7 (S106) and the color conversion process is continued. If the color conversion processing speed is not in time in the next processing cycle (NO in S104), the color conversion table LUT4 that is one step smaller is selected as the reference color conversion table LUTr and stored in the cache memory 7 (S106). ) Continue the color conversion process. Then, when the processing of the print data PD_n for the last page is completed (YES in S112), this processing procedure is ended.
上記の手順によれば、印刷データの生成速度がプリンタ4の印刷速度に間に合っていな
いときには、キャッシュメモリ7に格納する参照用色変換テーブルLUTrをサイズが小さい色変換テーブルLUTに切り替える。よって、より広範囲の入力データについてRAM12を参照することなく色変換を行うことができ、印刷データの供給が遅延することを防止できる。ここで、参照用色変換テーブルLUTrをサイズが小さい色変換テーブルLUTに切り替えると、格子点GRDの密度が低下することにより変換精度が低下し、印刷画像が粗くなる。しかし、参照用テーブルLUTrの切り替えを段階的に行うことで、変換精度の低下を最小限とすることができ、印刷画像が急激に粗くなることを防止できる。特に、1つの印刷ジョブで複数ページの印刷が行われる場合に、たとえば、連続する文章画像の間に、より多くの処理時間を要する写真画像が挟まっている場合であっても、印刷品質が急変することを防止できる。
According to the above procedure, when the print data generation speed is not in time for the printer 4, the reference color conversion table LUTr stored in the
あるいは、色変換モジュールP2において、入力値や出力値の補間計算を、印刷画像を補償することが可能である。その場合、補間計算を行う処理負荷と処理時間が発生するが、参照用テーブルLUTrの切り替えを段階的に行うことで、補間計算のための処理負荷や処理時間が急増することを回避できる。 Alternatively, in the color conversion module P2, it is possible to compensate the print image for interpolation calculation of input values and output values. In this case, the processing load and the processing time for performing the interpolation calculation are generated. However, it is possible to avoid a sudden increase in the processing load and the processing time for the interpolation calculation by switching the reference table LUTr in stages.
あるいは、出力側にバッファメモリを設けておき(たとえば、ホストコンピュータのRAM12やプリンタ4のRAM36など)、複数ページの画像処理済みのデータを格納することが可能である。そうすることで、1つの印刷ジョブ内に他より処理時間を要するページが混在し、ページごとの処理内容が変動したとしても、参照用色変換テーブルLUTrの切替えを行うことなく、画像処理を継続できる。よって、印刷品質が変化することを防止できる。なお、この場合、バッファメモリに格納された画像処理済みのデータのページ数に応じて、具体的には、予め設定したページ数の閾値を下回ったときに、参照用色変換テーブルLUTrを切り替えてもよい。
Alternatively, it is possible to provide a buffer memory on the output side (for example, the
一方で、プリンタの印刷速度に印刷データの供給が間に合っているときには、参照用色変換テーブルLUTrをサイズが大きい色変換テーブルLUTに切り替える。よって、かかる切り替えにより、変換精度が一方的に低下したままの状態になることがない。あるいは、変換精度の低下を補間処理で補償する場合であっても、補間処理のための負荷や時間を減少することができる。その結果、印刷データの供給速度に応じて最適な変換精度を保つことができる。 On the other hand, when the supply of print data is in time for the printing speed of the printer, the reference color conversion table LUTr is switched to a color conversion table LUT having a large size. Therefore, such switching does not leave the conversion accuracy unilaterally lowered. Or even if it is a case where the fall of conversion accuracy is compensated by interpolation processing, the load and time for interpolation processing can be reduced. As a result, the optimum conversion accuracy can be maintained according to the print data supply speed.
図8は、図7に示した手順の変形例を説明するフローチャート図である。図8に示す手順は、好ましくは、図7の手順S106と手順S108の間に挿入される。この手順は、キャッシュメモリ7のプログラム用領域7aを解放することで色変換処理を加速するための手順である。すなわち、CPU6は、図7の手順S106で参照用色変換テーブルLUTrを1段階小さくしたときに、その結果色変換処理速度が間に合っているかを再度確認する(S1071)。確認の方法は、手順S104と同様である。間に合っていれば(S1071のYES)、図7の手順S108に進む。一方、間に合っていなければ(S1071のNO)、プリンタドライバプログラムPDRのほかに中断可能なプログラムが動作しているかを確認する(S1072)。中断可能なプログラムが動作していなければ(S1072のNO)、図7の手順S108に進む。一方、中断可能なプログラムが動作していれば(S1072のYES)、そのプログラムを中断する(S1073)。かかる動作は、オペレーティングシステムOSのプリントモジュールの機能として実行される。
FIG. 8 is a flowchart for explaining a modification of the procedure shown in FIG. The procedure shown in FIG. 8 is preferably inserted between steps S106 and S108 in FIG. This procedure is a procedure for accelerating the color conversion process by releasing the
これにより、中断されたプログラムのプログラムモジュールや演算用データがプログラム用領域7aから削除され、プログラム用領域7aにおける色変換処理のための演算用データを保持する領域を拡大することができる。よって、RAM12にデータを読み書きする頻度を減らすことができ、色変換処理の速度を加速できる。このように、図7で示した手順に加え、図8の手順を実行することにより、さらに色変換処理の速度加速でき、プリ
ンタ4の印刷速度に間に合うように、印刷データを供給できる。
As a result, the program module and calculation data of the interrupted program are deleted from the
上記手順のうち、図2の手順S104,図8の手順S1071で変換処理速度が間に合っているかについて判断を行った。ここで、判断に用いる閾値を、ユーザが設定可能にすることも可能である。たとえば、ユーザが、印刷データの供給速度が低下したとしても画質を重視したい場合には、閾値を下げておくことができる。これにより、変換処理速度がある程度低下しても、参照用色変換テーブルLUTrが、これよりサイズが小さい色変換テーブルLUTに切り替わらないようにできる。また、上記の手順を規定したプリンタドライバPDRによれば、RAM12に蓄積される印刷データPD_nの量により参照用色変換テーブルLUTrを切り替えるので、CPU6の処理性能に依存することなく、異なる環境であってもプリンタ4の印刷速度に間に合うように印刷データPD_nを供給できる。
Among the above procedures, it is determined whether the conversion processing speed is in time in step S104 of FIG. 2 and step S1071 of FIG. Here, the threshold value used for the determination can be set by the user. For example, if the user wants to emphasize image quality even if the print data supply speed decreases, the threshold can be lowered. As a result, even if the conversion processing speed decreases to some extent, the reference color conversion table LUTr can be prevented from being switched to a color conversion table LUT having a smaller size. Further, according to the printer driver PDR that defines the above procedure, the reference color conversion table LUTr is switched depending on the amount of print data PD_n accumulated in the
上述においては色変換テーブルLUTを、変換テーブルの例として説明した。しかし、ディザテーブルDTが変換テーブルであってもよい。すなわち、本実施形態は、ディザテーブルDTを用いて行うハーフトーン処理にも適用できる。ディザテーブルDTは、CMYKビットマップデータの各画素の階調値(またはドットの記録率)に対しドットのオン・オフを決定するための閾値を備える。ここで、入力データの階調幅は各色256階調であるとして、ディザテーブルDTは、256階調幅に対し所定の階調ずつ設定された閾値を有する。そして、各格子点において入力データの階調値に出力データ(つまり、オン・オフの二値または大・中・小などのドットサイズ)が対応づけられる。ここで、閾値の数が異なるとともに、閾値の数に応じてサイズが異なる複数のディザテーブルDTを設けることにより、本実施形態が適用できる。 In the above description, the color conversion table LUT has been described as an example of the conversion table. However, the dither table DT may be a conversion table. That is, the present embodiment can also be applied to halftone processing performed using the dither table DT. The dither table DT includes a threshold value for determining dot on / off with respect to the gradation value (or dot recording rate) of each pixel of the CMYK bitmap data. Here, assuming that the gradation width of the input data is 256 gradations for each color, the dither table DT has a threshold value that is set for each of the predetermined gradations with respect to the 256 gradation width. Then, output data (that is, binary values of on / off or dot sizes such as large / medium / small) is associated with the gradation value of the input data at each grid point. Here, the present embodiment can be applied by providing a plurality of dither tables DT having different numbers of threshold values and different sizes depending on the number of threshold values.
また、上述においては、CPU6の内部にキャッシュメモリ7が設けられる構成について説明した。しかし、キャッシュメモリ7は、RAM12よりCPU6からのデータ読み出し速度がRMA12より高速な記憶媒体であれば、CPU6の外部に設けられても良い。さらに、上述においては、プリンタ4の外部にホストコンピュータ2が設けられ、ホストコンピュータ2が画像処理装置に対応する構成について説明したが、プリンタ4の内部に画像処理装置が設けられる構成であってもよい。
In the above description, the configuration in which the
上述したように、本実施形態によれば、キャッシュメモリに変換テーブルを格納して参照する画像処理装置において、画像処理速度の低下を防止することが可能となる。 As described above, according to the present embodiment, it is possible to prevent a decrease in image processing speed in an image processing apparatus that stores and refers to a conversion table in a cache memory.
2:ホストコンピュータ、4:プリンタ、6:CPU、7:キャッシュメモリ、12:RAM、PDR:プリンタドライバプログラム、P2:色変換モジュール、LUT:色変換テーブル 2: host computer, 4: printer, 6: CPU, 7: cache memory, 12: RAM, PDR: printer driver program, P2: color conversion module, LUT: color conversion table
Claims (8)
テーブルのサイズが異なる複数の前記変換テーブルを格納する第1の記憶部と、
前記複数の変換テーブルから選択した参照用色変換テーブルの全部または一部を、前記第1の記憶部より高速にデータ読み出しが可能な所定容量の第2の記憶部に格納し、当該第2の記憶部から前記参照用変換テーブルの全部または一部を参照して前記変換処理を行う処理部とを有し、
前記処理部は、前記変換処理の速度が第1の速度のときには、第1の前記変換テーブルを前記参照用変換テーブルとして選択し、前記変換処理の速度が前記第1の速度より遅い第2の速度のときには、前記第1の変換テーブルよりテーブルのサイズが小さい第2の前記変換テーブルを前記参照用変換テーブルとして選択することを特徴とする画像処理装置。 An image processing apparatus that performs conversion processing of image data using a conversion table in which output data of a predetermined amount of data is associated with input data,
A first storage unit that stores a plurality of the conversion tables having different table sizes;
All or part of the reference color conversion table selected from the plurality of conversion tables is stored in a second storage unit having a predetermined capacity capable of reading data at a higher speed than the first storage unit. A processing unit that performs the conversion process with reference to all or part of the reference conversion table from a storage unit;
When the conversion processing speed is the first speed, the processing unit selects the first conversion table as the reference conversion table, and the conversion processing speed is lower than the first speed. When the speed is selected, the second conversion table having a smaller table size than the first conversion table is selected as the reference conversion table.
前記処理部は、前記入力データが前記第2の記憶部に格納された前記参照用テーブルの一部に含まれていないときには、前記第1の記憶部に格納された当該参照用テーブルを参照することを特徴とする画像処理装置。 In claim 1,
The processing unit refers to the reference table stored in the first storage unit when the input data is not included in a part of the reference table stored in the second storage unit. An image processing apparatus.
前記処理部は、前記変換処理の速度が閾値を下回ったときに、前記参照用変換テーブルを前記第1の前記変換テーブルから前記第2の前記変換テーブルに切り替え、前記変換速度が前記閾値以上になったときに、前記参照用変換テーブルを前記第2の変換テーブルから前記第1の前記変換テーブルに切り替えることを特徴とする画像処理装置。 In claim 1 or 2,
The processing unit switches the reference conversion table from the first conversion table to the second conversion table when the conversion processing speed falls below a threshold, and the conversion speed exceeds the threshold. When this happens, the reference conversion table is switched from the second conversion table to the first conversion table.
前記画像データの変換処理以外のプログラムを実行し、
前記第2の記憶部は、前記プログラムの実行に関するデータを更に格納することを特徴とする画像処理装置。 In any one of Claims 1 thru | or 3,
Execute a program other than the image data conversion process,
The image processing apparatus, wherein the second storage unit further stores data related to execution of the program.
前記処理部は、前記変換処理の速度が前記第2の速度より遅いときには、前記プログラムの実行に関するデータを前記第2の記憶部から削除することを特徴とする画像処理装置。 In claim 4,
The image processing apparatus, wherein the processing unit deletes data related to execution of the program from the second storage unit when the conversion processing speed is slower than the second speed.
前記処理部は、前記変換処理された前記画像データを当該画像データに基づく画像を均一の速度で出力する画像出力装置に供給し、当該画像出力装置による画像出力速度に対する前記変換処理された前記画像データの供給量に基づいて前記変換処理速度を求めることを特徴とする画像処理装置。 In any one of Claims 1 thru | or 5,
The processing unit supplies the converted image data to an image output device that outputs an image based on the image data at a uniform speed, and the conversion-processed image for the image output speed by the image output device An image processing apparatus, wherein the conversion processing speed is obtained based on a data supply amount.
前記第1の変換テーブルは、入力データに前記所定データ量の出力データを対応付けた格子点を第1の密度で有し、前記第2の変換テーブルは、前記格子点を前記第1の密度より低い第2の密度で有することを特徴とする画像処理装置。 In any one of Claims 1 thru | or 6.
The first conversion table has grid points in which the predetermined amount of output data is associated with input data at a first density, and the second conversion table has the grid points at the first density. An image processing apparatus having a lower second density.
前記画像処理装置の処理部に、
第1の記憶部に格納されたテーブルのサイズが異なる複数の前記変換テーブルから参照用色変換テーブルを選択する選択手順と、
前記参照用色変換テーブルの全部または一部を前記第1の記憶部より高速にデータ読み出しが可能な第2の記憶部に格納し、当該第2の記憶部から前記参照用変換テーブルの全部または一部を参照して前記変換処理を行い、前記入力データが前記第2の記憶部に格納された当該参照用テーブルの一部に含まれていないときには、前記第1の記憶部に格納される当該参照用テーブルを参照して前記変換処理を行う処理手順とを実行させ、
前記選択手順は、前記変換処理の速度が閾値を下回ったときに、前記参照用変換テーブルを第1の前記変換テーブルから前記第1の変換テーブルよりテーブルのサイズが小さい第2の前記変換テーブルに切り替え、前記変換速度が前記閾値以上になったときに、前記参照用変換テーブルを前記第2の変換テーブルから前記第1の前記変換テーブルに切り替えることを特徴とする画像処理プログラム。 An image processing program for causing an image processing apparatus to perform image data conversion processing using a conversion table in which input data is associated with output data of a predetermined amount of data,
In the processing unit of the image processing apparatus,
A selection procedure for selecting a reference color conversion table from a plurality of the conversion tables having different table sizes stored in the first storage unit;
All or part of the reference color conversion table is stored in a second storage unit capable of reading data faster than the first storage unit, and all or part of the reference conversion table is stored in the second storage unit. The conversion process is performed with reference to a part, and when the input data is not included in a part of the reference table stored in the second storage unit, it is stored in the first storage unit A process procedure for performing the conversion process with reference to the reference table;
When the speed of the conversion process falls below a threshold value, the selection procedure changes the reference conversion table from the first conversion table to the second conversion table having a smaller table size than the first conversion table. An image processing program that switches the reference conversion table from the second conversion table to the first conversion table when the conversion speed becomes equal to or higher than the threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010087584A JP2011223145A (en) | 2010-04-06 | 2010-04-06 | Image processing apparatus and image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010087584A JP2011223145A (en) | 2010-04-06 | 2010-04-06 | Image processing apparatus and image processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011223145A true JP2011223145A (en) | 2011-11-04 |
Family
ID=45039584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010087584A Withdrawn JP2011223145A (en) | 2010-04-06 | 2010-04-06 | Image processing apparatus and image processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011223145A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017154395A (en) * | 2016-03-02 | 2017-09-07 | 株式会社リコー | Information processing device, image processing device, and information processing method |
-
2010
- 2010-04-06 JP JP2010087584A patent/JP2011223145A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017154395A (en) * | 2016-03-02 | 2017-09-07 | 株式会社リコー | Information processing device, image processing device, and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8237727B2 (en) | Image processing apparatus and method | |
JP5885422B2 (en) | Image processing apparatus and image processing method | |
US10841457B2 (en) | Image forming apparatus with density correction and edge smoothing, method, and storage medium storing program to perform the method | |
US20150302284A1 (en) | Image forming apparatus and remaining toner amount estimation method | |
JP2017184040A (en) | Image processing device, and computer program | |
JP2011124969A (en) | Image processing controller and printing apparatus | |
JP6452342B2 (en) | Image processing apparatus, image forming apparatus, image processing method, and program | |
US9398194B2 (en) | Image processing apparatus and method performing density adjustment on image data based on generated density characteristics data | |
JP2011223145A (en) | Image processing apparatus and image processing program | |
JP6882043B2 (en) | Image processing equipment, programs and image processing methods | |
JP2008113364A (en) | Image processor, processing circuit, and processing method, and program | |
JP2016100830A (en) | Image processing device and computer program | |
JP2007312033A (en) | Image processor and image processing method | |
US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing | |
US8830509B2 (en) | Image processing apparatus, method, and medium for performing density adjustment | |
JP2016048879A (en) | Image forming apparatus, control method of image forming apparatus, and program | |
US11755864B2 (en) | Image forming apparatus, method for controlling image forming apparatus, information processing method, and storage medium | |
US10571840B2 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
JP6015478B2 (en) | Control device, control method, and printer driver program | |
US10560603B2 (en) | Image processing apparatus and image processing method | |
JP2013186374A (en) | Image processing apparatus, control method, and program | |
JP6440000B2 (en) | Image processing device | |
JP2015220742A (en) | Image processing system, image forming apparatus, and control method for them | |
JP6314501B2 (en) | Image forming apparatus and image processing method | |
JP2011152764A (en) | Printing apparatus, control method, and control program |
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: 20130702 |