JP2005199620A - 画像形成装置、及び記憶媒体 - Google Patents

画像形成装置、及び記憶媒体 Download PDF

Info

Publication number
JP2005199620A
JP2005199620A JP2004009687A JP2004009687A JP2005199620A JP 2005199620 A JP2005199620 A JP 2005199620A JP 2004009687 A JP2004009687 A JP 2004009687A JP 2004009687 A JP2004009687 A JP 2004009687A JP 2005199620 A JP2005199620 A JP 2005199620A
Authority
JP
Japan
Prior art keywords
forming apparatus
image forming
color conversion
data
table 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.)
Pending
Application number
JP2004009687A
Other languages
English (en)
Inventor
Makoto Kobayashi
誠 小林
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004009687A priority Critical patent/JP2005199620A/ja
Priority to US11/032,234 priority patent/US20050200645A1/en
Publication of JP2005199620A publication Critical patent/JP2005199620A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • G06K15/1828Accessing generic data, e.g. fonts characterized by the kind of storage accessed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1878Adjusting colours
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control

Abstract

【課題】プログラムが格納されたROMなどの記憶媒体を再作成する無駄を省きユーザの個別対応を行い得る画像形成装置、及び記憶媒体を提供する。
【解決手段】プログラムROM23の各モジュールが格納された本体ブロックとは異なる書き換え可能な領域に色変換処理やキャリブレーション処理、スクリーン処理で使用する各テーブルを格納する。各テーブルの選択は、色変換モジュール(データ処理部)234に格納された固定値とホストコンピュータ1で指定した紙種やスクリーン種、色合わせ種の情報とを比較して固定値の範囲内にあればテーブルが格納されたアドレスの演算を行ってテーブルを選択する。
【選択図】図2

Description

本発明は、プログラムのモジュールを書き換え可能にした画像形成装置や記憶媒体に関する。詳しくは、色変換モジュールで使用されるテーブルデータを書き換え可能な領域に格納した画像形成装置や記憶媒体に関する。
従来から、印刷装置内のROM(Read Only Memory)などの記憶媒体に制御プログラムを格納しておきCPUがその制御プログラムを読み出して実行することで印刷装置全体の制御を行うようにしていた。しかし、かかる制御プログラムにバグが発見された場合に印刷装置を分解してROM交換をする必要があった。そのため、従来ではバグ修正用のプログラムをROMカードに格納し、必要に応じて印刷装置に装着することでROMに格納された制御プログラムを修正してバグの修正を行うようにしていた(例えば以下の特許文献1)。
特開平4−323070号公報
しかしながら、修正用のプログラムにより制御プログラムを書き換えたとしてもその一部の情報に修正前の情報とデータ量が異なっていた場合、アドレス情報も書き換える必要があるため、ROMに格納されたプログラムすべてを書き換える必要がある。
例えば、印刷装置において画像データに色変換を行うとき複数のルックアックテーブル(LUT)がROMに格納されている場合に、LUTの修正によりその大きさが異なったものになるとそれ以降に続くプログラムの各モジュールも順次ROM内のアドレスが変更されプログラムが実行されないことが起こり得る。
逆にかかるLUTなどの情報を含むモジュールを書き換えてもそれ以外のモジュールを書き換える必要がなければユーザの要望にそった印刷を行うことができ、ユーザの個別対応が可能となる。
そこで、本発明はプログラムが格納されたROMなどの記憶媒体を再作成する無駄を省きユーザの個別対応を行い得る画像形成装置、及び記憶媒体を提供することを目的とするものである。
上記目的を達成するために本発明は、モジュール化されたプログラムが格納され当該プログラムに基づいて画像を形成する画像形成装置において、プログラムのうち色変換モジュールを実行するときに必要なテーブルデータが格納された書き換え可能な記憶手段と、テーブルデータを用いて色変換モジュールを実行するときは記憶手段からテーブルデータを読み出して色変換モジュールを実行する制御手段とを備えたことを特徴としている。これにより、例えばユーザがテーブルデータを個別に追加等変更したいときに本体プログラムを書き換える必要がなくなり記憶媒体を再作成する無駄を省くとともにユーザの個別対応を行い得る画像形成装置を提供することができる。
また、本発明は上記画像形成装置において、上記テーブルデータにはRGB画像データをCMYK画像データに変換するための色変換テーブルデータを含み、色変換モジュールには制御手段で色変換テーブルデータを用いた色変換処理を行うためのモジュールも含むことを特徴としている。これにより例えば、ユーザが色変換のためのテーブルを自由に追加等の変更をしてもプログラム本体が格納された記憶媒体を書き換える必要がない。
さらに、本発明は上記画像形成装置において、上記テーブルデータにはエンジン特性を変更するためのキャリブレーションテーブルを含み、色変換モジュールにはキャリブレーションテーブルを用いて制御手段でキャリブレーション処理を行うためのモジュールも含むことを特徴としている。これにより例えば、ユーザがキャリブレーション処理のためのテーブルを自由に追加等の変更をしてもプログラム本体が格納された記憶媒体を書き換える必要がなくユーザの個別対応に応じた画像形成装置を提供することができる。
さらに、本発明は上記画像形成装置において、上記テーブルデータには濃淡画像の中間階調を表現したドットデータを生成するためのスクリーンテーブルを含み、色変換モジュールには前記制御手段でスクリーン処理を行うためのモジュールも含むことを特徴とする。これにより、例えばユーザがスクリーンテーブルを自由に追加等の変更をしてもプログラム本体が格納された記憶媒体を書き換える必要がなくユーザの個別対応に応じた画像形成装置を提供することができる。
さらに、本発明は上記画像形成装置において、上記記憶手段はプログラムが格納された記憶媒体とは異なる媒体であることを特徴としている。これにより例えば、この媒体のみを画像形成装置に装着して新たなテーブルデータにより各処理を実行することができる。
さらに、本発明は上記画像形成装置において、上記記憶手段は画像形成装置に装填可能な外部記憶媒体であることを特徴としている。これにより、例えば外部記憶媒体に予めユーザの希望するテーブルデータを格納して画像形成装置において所望の画像を形成することができるようになり利便性の向上した画像形成装置を提供することができる。
さらに、本発明は上記画像形成装置において、上記制御手段は紙種、色合わせ種、スクリーン種のうち少なくともいずれか2つの組み合わせからいずれか1つの前記テーブルデータを選択し、選択された前記テーブルデータに基づいて前記色変換モジュールを実行することを特徴としている。これにより、例えば紙種や色合わせ種、さらにスクリーン種に応じたテーブルデータを選択して色変換モジュールが実行されるのでユーザの個別対応に応じた画像形成装置を提供することができる。
また、上記目的を達成するために本発明は、モジュール化されたプログラムが格納され当該プログラムが画像形成装置に読み出されて画像を形成するようになされた画像形成装置に対する記憶媒体において、プログラムのうち色変換モジュールを実行するときに必要なテーブルデータが格納された書き換え可能な領域を含み、前記画像形成装置においてテーブルデータを用いて色変換モジュールを実行するときは書き換え可能な領域からテーブルデータが読み出されて色変換モジュールが実行されることを特徴としている。これにより、例えばユーザがテーブルデータを個別に追加等変更したいときに本体プログラムを書き換える必要がなくなり記憶媒体を再作成する無駄を省くとともにユーザの個別対応を行い得る記憶媒体を提供することができる。
以下、図面を適宜参照しながら本発明を実施するための最良の形態について説明する。図1は本発明が適用される画像形成装置2全体の構成を示す図である。図1に示すように画像形成装置2は全体として、CPU20と、入力I/F21、画像メモリ22、プログラムROM23、NVRAM(Non Volatile Random Access Memory)24、ビデオI/F25、印刷エンジン26、及び表示部27とから構成される。
CPU20は、バスを介して入力I/F21、画像メモリ22、プログラムROM23、NVRAM24、ビデオI/F25、及び表示部27と互いに接続される。CPU20は、プログラムROM23に格納されたモジュール化されたプログラムを読み出して実行することで画像形成装置2内において各種処理が実行される。詳細は後述する。
入力インターフェース(I/F)21は、ホストコンピュータ1とも接続される。ホスト1からは所定の伝送フォーマットで印刷データが入力I/F21に入力され、入力I/F21では画像形成装置2内で処理できるデータに変換する。
画像メモリ22は、CPU20の制御によって入力I/F21からの印刷データに含まれる画像データを一時記憶する。また、画像メモリ22は後述するように色変換後の画像データも記憶する。この場合バンドメモリとしての機能を果たす。
プログラムROM23は、CPU20で実行するためのプログラムが格納される。CPU20によって適宜プログラムが読み出され実行されることになる。本実施例においてこのプログラムROM23は、モジュール化されたプログラムが格納されるがそのモジュールの一部が書き換え可能な領域に格納されている。詳細は後述する。
NVRAM24は、画像形成装置2の機種情報などの初期データが格納される。CPU20によって初期データが適宜読み出されるようになっている。さらに上述したモジュールの一部が格納されるようにもなっている。詳細は後述する。
ビデオI/F25は、印刷エンジン26にも接続される。ビデオI/F25は、CPU20の制御によって画像メモリ22から画像データが読み出され、印刷画像のドットごとのパルスデータを生成して印刷エンジン26に出力する。具体的には、画像メモリ22からのRGB(レッド、グリーン、ブルー)画像データに対してCMYK(シアン、マゼンダ、イエロー、ブラック)の画像データに変換する色変換処理や、色変換後のCMYK画像データに対してディスプレイと画像形成装置2などデバイスごとの色の違いを補正して印刷エンジン26ごとの特性を変更する色調整(キャリブレーション)処理、キャリブレーション後のCMYK画像データに対して濃淡画像の中間階調を表現したドットデータを生成するスクリーン処理、さらにドットデータに対してパルス幅変調を行いドットごとのパルスデータを生成するパルス幅変調処理が行われる。
印刷エンジン26は、ビデオI/F25からパルスデータが入力され実際に印刷用紙などの印刷媒体に画像を形成する。例えば、図示しないレーザ光がパルスデータに基づいて帯電した感光体ドラムを照射することで静電潜像を形成し、各色のトナーがドラムに付着することで現像され中間転写ベルトやローラ等を介して印刷媒体に画像が圧着等により形成されることになる。
ここで上述したプログラムROM23の構成について詳細に説明する。図2はその一例である。図2に示すように、プログラムROM23はモジュール化されたプログラムが格納される本体ブロックと、書き換え可能な別ブロックとから構成される。本体ブロックには、プリンタ起動モジュール231、データ受信モジュール232、言語モジュール233、色変換モジュール(データ処理部)234、バンド作成モジュール235、印刷モジュール236が格納される。モジュール化されたプログラムがCPU20によって読み出され実行されることで画像形成装置2内において各種処理が実行される。
プリンタ起動モジュール231は、電源投入後画像形成装置2の立上げ動作に関する処理を行うためのモジュールである。データ受信モジュール232は、ホストコンピュータ1からの印刷データを受信する処理を行うためのモジュールである。言語モジュール233は、受信したデータの解釈等を行うためのモジュールである。色変換モジュール(データ処理部)234は、解釈されたデータに従ってRGB画像データをCMYK画像データに色変換等の処理を行うためのモジュールである。バンド作成モジュール235は、色変換後のCMYK画像データをバンドメモリ(画像メモリ22)に格納する処理を行うためのモジュールである。印刷モジュール236は、バンドメモリに格納された画像データを読み出してキャリブレーション処理やスクリーン処理、さらに実際の印刷動作を行うためのモジュールである。
さらに本発明において、色変換処理やキャリブレーション処理、スクリーン処理で使用される各テーブルが格納された色変換モジュール(テーブルデータ部)237があり、図2に示すように書き換え可能な別ブロックに格納される。このように書き換え可能な別ブロックに格納することで、例えば予め格納されたスクリーンテーブル以外のテーブルを追加して印刷を行いたい場合に、この別ブロックの色変換モジュール237を書き換えるだけでテーブルの追加を行うことができる。このモジュールが本体ブロックの色変換モジュール234の中にあると、この書き換えによりテーブルの大きさが変化する可能性があり、それに続くバンド作成モジュール235や印刷モジュール236の格納位置が異なる場合がある。かかるモジュールをCPU20によって読み出すときにアドレス位置が異なると、モジュールを読み出すことができずに処理を実行することができない場合がある。そこで、書き換え可能な領域にテーブルデータを格納することでユーザの個別対応等、利便性の向上した処理を行うことができるのである。この領域に格納されたテーブルをCPU20が読み出すことで色変換処理等が行われることになる。
なお、テーブルデータが格納された色変換モジュール237はプログラムROM23内のみならず、例えば図1におけるNVRAM24に格納されていてもよい。その例を図3に示す。NVRAM24のうち所定の領域241を予め確保しておき、その領域に色変換処理等で使用される色変換モジュール(テーブルデータ部)237を格納させておくようにする。CPU20は、かかるモジュールをNVRAM24から読み出すことでテーブルの選択等を行うようにする。さらに、後述するように外部ROMなどの記憶手段にかかるモジュールを格納させるようにしてもよい。
色変換モジュール(テーブルデータ部)237の構成の一例を図4に示す。色変換モジュール(テーブルデータ部)237は、ヘッダとテーブルとから構成される。
ヘッダはマネージャID(Identification)237aと機種ID237b、及びバージョン番号237cとから構成される。マネージャID237aには、各モジュールを区別するために予め割り当てられた識別番号が格納される。なお、色変換モジュール(データ処理部)234と色変換モジュール(テーブルデータ部)237との間でも異なる識別番号が割り当てられる。機種ID237bは機種情報に関する識別情報で、例えば画像形成装置2ごとに割り当てられた情報が格納される。バージョン番号237cには色変換モジュール(テーブルデータ部)237に格納されたテーブルデータのバージョン番号が格納される。後述するが、このバージョン番号237cにより最新のテーブルデータか否か判断することができる。
またテーブルには各処理で必要なテーブル情報が格納される。すなわち、図4に示すようにLUTテーブル237dと、スクリーンテーブル237e、及びキャリブレーションテーブル237fとから構成される。LUTテーブル237dは、RGBからCMYKへの色変換処理で使用されるルックアップテーブル(LUT)が格納される。スクリーンテーブル237eは、スクリーン処理で使用されるテーブルが格納される。さらにキャリブレーションテーブル237fはキャリブレーション処理で使用されるテーブルが格納される。
次に各テーブルの構成の一例を図5乃至図6に示す。このうち図5はLUTテーブル237dの構成の一例である。LUTテーブル237dは、紙種と色合わせ種とスクリーン種の3つの情報(パラメータ)をもとにいずれか一つのテーブルが選択されるように複数のテーブルから構成されている。紙種とは、例えば普通紙やOHP、厚紙、コート紙などである。また色合わせ種とは、印刷画像に関して自然色を強調させたい場合や、鮮やかさを強調させたい場合、マット色で表現させたい場合、色補正しない場合などである。さらにスクリーン種とは解像優先、階調優先、解像度300dpi用スクリーン、解像度600dpi用スクリーンなどである。これら3つのパラメータから1つのLUTテーブルが選択される。なお、このパラメータはホストコンピュータ1で設定(詳細にはホストコンピュータ1内に実装されたドライバで設定)されて印刷データとして画像形成装置2に入力されるものである。そして、色変換モジュール234がCPU20によって読み出されることで色変換処理実行されるが、この処理内で色変換モジュール(テーブルデータ部)237内に格納されたLUTテーブル237dが選択されるのである。
テーブルデータ部237に格納されたキャリブレーションテーブル237fとスクリーンテーブル237eの構成の一例をそれぞれ図6(A)と図6(B)に示す。どちらも、紙種とスクリーン種によって1つのテーブルが選択される。これらのテーブルの選択も、ホストコンピュータ1からのスクリーン種に関する情報と紙種に関する情報とにより、後述の色変換処理でテーブルの選択が行われることになる。
次に、以上のように構成された画像形成装置2内での動作について詳細に説明する。図7はプログラムROM23に格納されたプログラム(図2参照)を読み出して行う処理の全体動作を示すフローチャートである。
まず、画像形成装置2の電源が投入され、CPU20がプログラムROM23に格納されたプログラムを読み出すことで処理が開始される(ステップS10)。次いでCPU20は、プリンタ起動モジュール231によるプリンタ起動処理が開始される(ステップS11)。プリンタ起動処理の詳細を図8に示す。
まずCPU20は、モジュール立上げ処理を行う(ステップS111)。このモジュール立上げ処理では、プログラムROM23から読み出したプログラムの各モジュールをリスト構造に構造化することで各モジュール間の関係を把握する。また、テーブルデータ部237が最新のものに更新されているかを確認して記憶したテーブルデータ部237を決定する処理を行う。このモジュール立上げ処理の詳細を図9に示す。
CPU20はモジュール立上げ処理(ステップS111)に移行すると、各モジュールを構造化し、次いで検出フラグに“0”を設定する(ステップS1111)。この検出フラグはテーブルデータ部237を発見することができたか否かを示すものである。この段階ではCPU20は、テーブルデータ部237を発見できていないので“0”を設定する。例えばCPU20は、図示しないワーキングメモリの所定の領域に“0”を格納することで設定する。
次いでCPU20は、テーブルデータ部237があるか否か判断する(ステップS1112)。CPU20はプログラムROM23の書き換え可能な領域(図2の別ブロック)やNVRAM24にアクセスしてテーブルデータが書き込まれているか否かで判断する。テーブルデータ部237が格納されていれば(本ステップで“YES”のとき)、処理はステップS1113に移行し、格納されていなければ(本ステップで“NO”のとき)、処理はステップS1117に移行する。
ステップS1113でCPU20は、機種IDが正しいか否か判断する。CPU20は、テーブルデータ部237に格納された機種ID237b(図4参照)を読出し、予めプリンタ起動モジュール231に記述された機種情報と比較して一致しているか否かで判断する。一致していれば(本ステップで“YES”のとき)ステップS1114に移行し、一致しないと再びステップS1112に移行して上述の処理を繰り返す。
ステップS1114でCPU20は、検出フラグの設定を“1”にする。テーブルデータ部237が発見でき、機種IDが一致すれば当該テーブルデータ部237は本画像形成装置2で使用できるものであるため、この段階でフラグを“1”に設定する。CPU20はステップS1111で図示しないワーキングメモリに格納した “0”を“1”に書き換えることで設定を行う。
次いでCPU20は、発見したテーブルデータ部237が最新のものか否か判断する(ステップS1115)。これは、テーブルデータ部237のバージョン番号237c(図4参照)をプログラムROM23(またはNVRAM24)から読み出すことで行われる。すなわち、以前に読出したバージョン番号237cを例えばワーキングメモリ(図示せず)に予め格納し、この段階で読み出したバージョン番号と比較して番号が若い(又は古い)とバージョンが新しい、すなわち最新のテーブルデータであると判断できる。最新のテーブルデータ部237でないと判断したとき(本ステップで“NO”のとき)は、再びステップS1112に移行し上述の処理が繰り返される。
テーブルデータ部237が最新と判断したとき(ステップS1115で“YES”のとき)、CPU20は次いで、この最新のテーブルデータ部237を記憶する(ステップS1116)。すなわち、最新のものと判断したテーブルデータ部237が格納されている先頭アドレスを、例えばワーキングメモリ(図示せず)に格納する。
次いでCPU20は、再びステップS1112に移行してテーブルデータ部237が他にあるか否か判断する。さらにテーブルデータ部237が他にあれば(ステップS1112で“YES”のとき)上述の処理を繰り返すことになる。
最初からテーブルデータ部237がないときや、ステップS1116から移行して他にテーブルデータ部237がないときは、このステップS1112で“NO”が選択されてステップS1117に移行する。
ステップS1117でCPU20は、検出フラグが“1”か、否か判断する。例えば、CPU20は図示しないワーキングメモリにアクセスして“1”が格納されているか否かで判断する。“1”が格納されているとき(本ステップで“YES”のとき)、処理はステップS1118に移行し、記憶したテーブルデータ237に決定する。すなわち、ステップS1116で保存したテーブルデータ237の先頭アドレスが以後テーブルデータ部237のアドレス先として決定する。以後CPU20はこのアドレスにアクセスすることで、データテーブル部237を読み出すことができる。一方、“1”が格納されていないとき(ステップS1117で“NO”のとき)、CPU20はエラー処理を行う。例えば、CPU20はテーブルがない旨を表示部27に表示させる等の処理を行うことになる。ステップS1118、S1119いずれもその処理が終了するとモジュール立上げ処理が終了して図8のステップS112に移行することになる。
ステップS112でCPU20は初期データの読出しを行う。例えば、NVRAM24に格納された各種設定データを読み出す。次いでCPU20は、各種モータを初期駆動させる(ステップS113)。例えば、印刷エンジン26にトナーが装填されているとき、トナーの収容体を挿入位置からホームポジション位置に移動させるようモータを駆動させる。そして、プリンタ起動モジュール231によって行われるプリンタ起動処理(ステップS11)が終了する。
図7に戻り、次いでCPU20はデータ受信モジュール232を実行することでデータ受信処理(ステップS12)を行う。データ受信処理の詳細を図10に示す。
データ受信処理に移行するとCPU20は、印刷データが受信されたか否か判断する(ステップS121)。例えば、印刷データが入力I/F21に入力されると入力されたことを示す制御信号がCPU20に出力される。この制御信号により受信したか否かをCPU20が判断できる。印刷データが受信するまで次のステップに移行しないようになっている(本ステップで“NO”のとき)。
CPU20は印刷データを受信すると(ステップS121で”YES”のとき)、次いでデータの伸長処理を行う(ステップS122)。ホストコンピュータ1では印刷画像を作成して画像形成装置2に出力するときデータの転送効率を考慮してデータの圧縮(例えばハフマン符号化など)を行う。画像形成装置2ではかかる圧縮データを圧縮前の印刷データにするために伸長処理を行う。データを伸長すると、データ受信モジュール232によるデータ受信処理(ステップS12)が終了して、ステップS13に移行する。
図7に戻り、次いでCPU20は言語処理(ステップS13)を行う。言語モジュール233によって行われる処理である。言語処理の詳細を図11に示す。まず、本処理に移行するとCPU20は通常言語か否か判断する(ステップS131)。一般にホストコンピュータ1では印刷対象の画像を作成するとき、その画像データはドライバのアプリケーションプログラムによってPDL(Page Description Language)やGDI(Graphic Device Interface)などのコマンド形式による記述言語により表現される。そして、かかる画像データに通常言語により記述されたものか特殊言語で記述されたものかを示すデータを付加して、印刷ジョブ単位で画像形成装置2に出力する。CPU20は印刷データに含まれる通常言語か特殊言語かのデータを読み出すことで本ステップS131を判断する。なお、上述したLUTテーブル等を決定するためのパラメータ、紙種、色合わせ種、スクリーン種の情報もホストコンピュータ1側で決定し、印刷データに含まれることになる。
通常言語で記述されているとき(ステップS131で“YES”のとき)、次いでCPU20は通常言語を起動させ(ステップS132)、中間コードを解釈する(ステップS133)。画像形成装置2に入力される印刷データのうち画像データは、上述したGDI等の言語により記述されている。これを中間コードに変換することで、印刷媒体上に印刷を行うときの実際の位置を決定する。そして、その中間コードによりバンドメモリに画像データを展開するのである。このステップS133においては中間コードを生成する処理も含まれる。この中間コードを解釈することでどのように画像データをバンドメモリに展開させるか決定することができ、さらにホストコンピュータ1で設定した紙種、色合わせ種、スクリーン種の情報も読み出すことができる。
一方、特殊言語で記述されているとき(ステップS131で“NO”のとき)、処理は特殊言語起動処理(ステップS134)に移行する。特殊言語起動処理(ステップS134)の詳細を図12に示す。
本処理に移行すると、CPU20はまずテーブルデータを書き換えるか否か判断する(ステップS1341)。印刷ジョブ単位でホスト1から出力される印刷データには、特殊言語で記述される旨のデータを含むとき、さらに本体ファーム(プログラムROM23の本体ブロックに格納されたプログラム)を書き換えるか、オプションROMを書き換えるかの情報も含む。CPU20は本体ファームを書き換える旨の情報が含まれているときに本ステップS1341で“YES”が選択され、オプションROMを書き換える旨の情報が含まれているときは本ステップS1341で“NO”が選択されることになる。
テーブルデータ部237を書き換えるとき(ステップS1341で“YES”)、本体ファームの書き換えを行う必要があるため、プログラムROM23のテーブルデータ部237も書き換えを行う。そのために、まずCPU20はテーブルデータ部237の初期化(ステップS1342)を行い、その後テーブルデータ部237の上書き処理を行う(ステップS1343)。一度プログラムROM23に格納されたテーブルデータ部237をCPU20が読み出して特殊言語に変更して再び当該位置に上書きする。そして、プログラムROM23のテーブルデータ部237が正常に書き込みが行われない(ステップS1344で“NO”)と再びステップS1342に移行して正常に行われるまで処理が繰り返される。正常に書き込みが行われると(ステップS1344で“YES”のとき)、次いでCPU20は電源の再投入を行わせることになる(ステップS1345)。上書きしたテーブルデータ部237で以後処理を行わせるためである。
一方、オプションROMを書き換える旨の情報が印刷データに含まれているとき(ステップS1341で“NO”のとき)、CPU20は書き換え可能な別媒体に対してテーブルデータ部237を格納するために、まずこの別媒体に対して初期化を行う(ステップS1346)。別媒体とは、例えば図1のNVRAM24や画像形成装置2外部に設けられた記憶媒体などである。次いでCPU20は、別媒体に特殊言語によるテーブルデータ部237の書き込み処理を行う(ステップS1347)。予めプログラムROM23から読み出したテーブルデータ部237を特殊言語に変換して別媒体に書き込むことになる。そして、正常に書き込まれるまで処理が繰り返されることになる(ステップS1348で“NO”が選択されてステップS1346に移行)。正常に書き込みが終了すると(ステップS1348で“YES”)、CPU20は電源再投入を行わせることになる(ステップS1345)。以上により特殊言語処理(ステップS134)が終了し、さらに言語処理も終了(図11参照)して、図7のプリンタ起動処理(ステップS11)に移行することになる。
図11で言語処理において中間コードの解釈が終了すると言語処理(ステップS13)も終了し、次いで処理は図7の色変換処理(ステップS14)に移行する。プログラムROM23の色変換モジュール(データ処理部)234がCPU20で実行されることで処理が行われる。色変換処理の動作を示すフローチャートを図13に示す。CPU20は、色変換処理(ステップS14)に移行するとまずLUTの選択処理を行う(ステップS141)。テーブルデータ部237のLUTテーブル237d(図4参照)に記憶されている複数のLUTテーブルのうちいずれか1つのLUTテーブルの選択を行う。このLUTの選択処理(ステップS141)の詳細を図14に示す。
LUTの選択処理でまずCPU20は、紙種類が範囲内にあるか否か判断する(ステップS1411)。図5に示すようにLUTテーブル選択のためのパラメータの1つとして紙種がある。テーブルデータ部237に記憶されたLUTテーブル237dには、選択されるべき紙種類の種類数が固定値として規定される。例えば図5の場合、紙種類は4種類(普通紙、OHP、厚紙、コート紙の4種類)である。例えばこの種類数が固定値として色変換モジュール(データ処理部)234内に格納され、CPU20はこのステップS1411でまずこの値を読み出す。そして、CPU20は言語処理(ステップS13、図11参照)の中間コード解釈(ステップS133)で、ホスト1側からの印刷データに含まれた紙種類の情報を取り出し、例えば図示しないワーキングメモリに格納する。この紙種類の情報をCPU20はこのステップS1411でワーキングメモリから読み出し、色変換モジュール(データ処理部)234内の固定値と比較することで紙種類が範囲内であるか否か判断する。例えば、図5の例で紙種類が固定値として“4”が色変換モジュール(データ処理部)234に格納されている。そして、中間コード解釈(ステップS133)で紙種類の情報として“3”(=厚紙)がワーキングメモリに格納されているとすると、固定値の範囲内であるから本ステップS1411で種類は範囲内であると判断される(“YES”)。一方、中間コード解釈により紙種類の情報が“5”(例えば、光沢紙)であると、固定値”4”を超えるため紙種類の範囲内にないと判断される(本ステップS1411で“NO”)。
紙種類が範囲内にあると判断されると(ステップS1411で“YES”)、次いでCPU20は、スクリーン種類は範囲内にあるか否か判断する(ステップS1412)。これも紙種類の判断と同様に、LUTテーブル237dのスクリーン種類数分の値が固定値としてデータ変換モジュール(データ処理部)234に格納される。そして、中間コード解釈(ステップS133)でワーキングメモリに格納したホスト1からのスクリーン種を本ステップS1412で読み出して、固定値と比較することで範囲内にあるか否かを判断する。例えば、図5の例では固定値は“5”(5種類のスクリーン種類があるため)、印刷データにスクリーン種として“2”(=階調優先)が選択されていると、固定値の範囲内にあるため本ステップS1412で“YES”が選択される。印刷データに“6”(例えば、解像度1200dpi用スクリーン)が含まれていると固定値の範囲内になく、本ステップS1412で“NO”が選択される。
スクリーン種類が範囲内にあると(ステップS1412で“YES”)、次いでCPU20は色合わせ種類が固定値の範囲内にあるか否か判断する(ステップS1413)。これもステップS1411等と同様に固定値が色変換モジュール(データ処理部)234に格納され、中間コード解釈(ステップS133)でワーキングメモリに格納した印刷データに含まれる色合わせ種類の情報を読出し、固定値と比較することで判断する。図5の例では固定値は“5”、印刷データに“2”(=鮮やかさを強調)が含まれると範囲内と判断される(本ステップS1413で“YES”)。そうでないと本ステップS1413で“NO”と判断される。
色合わせ種類も範囲内と判断すると(ステップS1413で“YES”)、CPU20は次いでLUTアドレスの演算を行う(ステップS1414)。色変換モジュール(データ処理部)234の固定値内にホスト1からの3つのパラメータが存在する、すなわちテーブルデータ部237のLUTテーブル237dのいずれか1つが選択できる状態にあるため、印刷データから所望のLUTテーブル237dを選択することになる。アドレス演算とあるのは、図5に示すLUTテーブル237dで各マス目にはLUTテーブル自体が存在するのではなく、選択すべきLUTテーブルが存在するアドレス値が格納される。各マス目に同じアドレス値のものも実際には多数含まれるため同じLUTテーブルを選択する場合がある。すべてのマス目におのおのLUTテーブル自体を置くとデータ量も増大するためアドレス値を格納することでデータ量を少なくしてメモリ容量の増大を防いでいる。
実際のアドレス演算は以下の演算式を用いる。
LUTアドレス=紙種×(最大スクリーン数×最大色合わせ数)+色合わせ種×(最大スクリ ーン数)+スクリーン数 ・・・(1)
これによりいずれか1つのLUTテーブルが選択される。なお、この演算式自体は色変換モジュール(データ処理部)234に格納され、CPU20が適宜このステップで読み出して実行することでアドレス値を得る。演算したアドレス値を例えば図示しないワーキングメモリにCPU20によって格納され、後述の色変換の処理で適宜読み出すことで色変換処理を行うようにしている。
一方、印刷データに含まれる紙種類数やスクリーン数、色合わせ数が固定値の範囲内にないとき(ステップS1411、S1412、S1413で“NO”のとき)、すべてステップS1415に移行し、CPU20はエラー処理を行う。例えば、CPU20は表示部27にLUTテーブルを選択できない旨の表示や、デフォルトとして予め設定されたLUTテーブルを選択するようにする。
図13に戻り、LUTの選択処理(ステップS141)が終了すると、次いでCPU20はキャリブレーションテーブルの選択処理を行う(ステップS142)。その詳細を図15に示す。まず、本選択処理に移行するとCPU20は、紙種類が固定値の範囲内か否か判断する(ステップS1421)。LUTの選択処理(ステップS141、図14参照)のときと同様にデータ処理部234内に格納された紙種類の固定値と、言語モジュール233による言語処理(ステップS13、図11参照)から得られた紙種類を示す情報(印刷データに含まれた情報)とから判断する。
固定値の範囲内にあれば(ステップS1421で“YES”のとき)、次いでCPU20はスクリーン種が固定値の範囲内にあるか否か判断する(ステップS1422)。これもLUTの選択処理のときと同様に、データ処理部234内に格納されたスクリーン種類数の固定値と言語処理で得られたスクリーン種類を示す情報(同様に印刷データに含まれた情報)とから判断する。
スクリーン種類も固定値の範囲内にあれば(ステップS1422で“YES”のとき)、次いでCPU20はテーブルアドレスの演算を行う(ステップS1423)。キャリブレーションテーブルの例として図6(A)に示したが、このマトリックス内において言語モジュール233からの紙種類の情報とスクリーン種類数の情報とからいずれか1つのテーブルを選択する。LUTテーブル237dと同様に、実際には図6(A)のマトリックスの各マス目にはテーブル自体ではなくテーブルが格納されたアドレスの値が格納されている。このアドレスを演算するために、次式を利用して本ステップS1423でテーブルを選択することになる。
キャリブレーションテーブルアドレス=紙種×(最大スクリーン数)+スクリーン種
・・・(2)
もちろん、アドレス演算の方法は種々のものが考えられこれ以外の演算によりアドレスを求めるようにしてもよい。なお、式(1)と同様にこの演算式は色変換モジュール(データ処理部)234に格納されCPU20によって読み出されて演算が行なわれる。また演算したアドレス値は例えば図示しないワーキングメモリに格納され、後述のキャリブレーション処理でこのアドレス値を読み出すようにしている。
一方、印刷データに含まれる紙種類が固定値の範囲内にないとき(ステップS1421で“NO”のとき)やスクリーン種類が範囲内にないとき(ステップS1422で“NO”のとき)、いずれもCPU20はエラー処理(ステップS1424)を行うことになる。エラー処理としては、例えば、CPU20が表示部27に紙種類やスクリーン種類が範囲内にない旨の表示を行うように制御したり、デフォルトのキャリブレーションテーブルを選択するようにしてもよい。
テーブルアドレスの演算(ステップS1423)、及びエラー処理(ステップS1424)が終了すると、キャリブレーションテーブルの選択処理(ステップS142)が終了して、処理は図13のスクリーンテーブルの選択処理(ステップS143)に移行することになる。
スクリーンテーブルの選択処理の詳細は同じく図15に示す。処理の内容はキャリブレーションテーブルの選択処理(ステップS142)と同様である。すなわち、印刷データに含まれた言語モジュール233からの紙種類の情報、スクリーン種類の情報がそれぞれデータ処理部234に格納された固定値の範囲内にあれば(ステップS1421及びS1422で“YES”のとき)、テーブルアドレスの演算を行う(ステップS1423)。スクリーンテーブルもキャリブレーションテーブルと同様にテーブルデータ部237内では紙種とスクリーン種とから1つのスクリーンテーブルを選択することができるようになっている(例えば図6(B)参照)。アドレス値を演算することでそのアドレス内に格納されたスクリーンテーブルを読み出すことができるようになっている。一方、紙種類やスクリーン種類が範囲内にないと(ステップS1421やS1422で“NO”のとき)、CPU20はデフォルトのスクリーンテーブルを選択したりエラー表示を行う等のエラー処理を行う(ステップS1424)。ステップS1423、S1424が終了するとスクリーンテーブルの選択処理(ステップS143)が終了する。なお、これらテーブルの選択処理(ステップS141からS143)の順番は問わない。
図13に戻り、次いでCPU20は色変換の処理を行う(ステップS144)。CPU20は、LUTの選択処理(ステップS141)で選択されたLUTテーブルをプログラムROM23のテーブルデータ部237から読出して、画像データに対して色変換処理を行う。ホストコンピュータ1からの印刷データに含まれる画像データは実際には各画素ごとにRGBの階調値を有するデータで、本ステップによる色変換によりこれを画像形成装置2内で処理できるCMYKの階調値を有するデータに変換する。LUTテーブルは、入力値であるRGBの階調値に対してCMYKの階調値を出力値とするテーブルにより構成される。そして、色変換処理(ステップS14)が終了して、処理は図7のバンド作成処理(ステップS15)に移行する。
バンド作成処理(ステップS15)では、CMYKの画像データを所定のバンド幅を有するバンドメモリに展開する処理を行う。本処理はバンド作成モジュール235によって行われる処理である。バンドメモリ上の各座標位置が実際の印刷媒体における印字位置に相当するため、この展開により印刷媒体上の画像の配置を行うのである。バンド作成処理の詳細を図16に示す。本処理に移行するとCPU20は、バンドメモリへの展開を行う(ステップS151)。CPU20は、色変換の処理(ステップS144、図13参照)による色変換後のCMYKの画像データを画像メモリ22の所定領域に展開させる。展開のさせ方は、中間コードに記述されており、解釈した中間コード(ステップS133、図11参照)に基づいて行われることになる。バンドメモリへの展開を行うとバンド作成処理は終了し、処理は図7の印刷処理(ステップS16)に移行することになる。
印刷処理(ステップS16)は、バンドメモリに展開した画像データを読み出して、キャリブレーション処理、スクリーン処理、そして実際の印刷動作を行う。その詳細を図17に示す。印刷処理に移行するとCPU20は、まずキャリブレーション処理を行う(ステップS161)。上述したようにキャリブレーション処理とは、ディスプレイと画像形成装置2などデバイスごとの色の違いを補正して印刷エンジン26ごとの特性を変更する色調整の処理のことである。各画素ごとに所定の階調値を有しているが、キャリブレーションテーブルを用いて入力階調値に対する出力階調値を得ることで色調整を行うのである。本処理で使用するキャリブレーションテーブルはステップS143でアドレス演算により求めたので、この段階で例えばワーキングメモリからアドレス値を読み出すことで処理を行うことになる。すなわち、CPU20はステップS142で選択したキャリブレーションテーブルをプログラムROM23のテーブルデータ部237から読み出し、またバンドメモリ(画像メモリ22)からCMYKの画像データを読出して、ビデオI/F25に出力して処理を行わせるようにする。
次いでCPU20は、スクリーン処理を行う(ステップS162)。スクリーン処理とは上述したように濃淡画像の中間階調を表現したドットデータを生成する処理のことである。キャリブレーション後のCMYK画像データに対して、スクリーンテーブル選択処理(ステップS143)で選択したスクリーンテーブルを用いて出力値であるドットデータを生成する。すなわち、CPU20はステップS143で選択したスクリーンテーブルをプログラムのROM23のテーブルデータ部237から読み出し、ビデオI/F25でキャリブレーション処理後のCMYKの画像データに処理を行わせるようにする。
次いでCPU20は、印刷動作を行う(ステップS163)。本実施例においては、実際にはスクリーン処理後のドットデータに対してパルス幅変調処理をビデオI/F25で行わせ、ドットごとのパルスデータを生成する。そして生成したパルスデータを印刷エンジン26に出力して、印刷エンジン26内でパルスデータに基づいたレーザ光が感光体ドラムを照射して上述した印刷動作が行われることになる。
図7に戻り、印刷処理が終了すると次いでCPU20は、印刷データが終了したか否か判断し(ステップS17)、終了すると(本ステップで”YES”のとき)画像形成装置2の電源をオフにして一連の動作が終了することになる。また、さらに印刷データが画像形成装置2に入力されると(本ステップで”NO”のとき)処理はステップS12に移行し上述した処理が繰り返されることになる。
以上説明してきたように、本発明では色変換モジュールのうち、色変換処理やキャリブレーション処理、スクリーン処理で使用されるテーブルデータを書き換え可能な領域に格納させるようにしたので、予め格納されたテーブルを追加するような場合に本体ブロックに格納された各モジュールを書き換える必要がなく、例えばユーザが後からテーブルを追加しても画像形成装置2を使用することができる。また、画像形成装置2の起動処理(ステップS111、図9参照)で最新のテーブルを検索して使用できるようにしたので、例えば追加したテーブルにより以後色変換等の処理を行うことができる。
上述した例では、プログラムROM23のテーブルデータ部237にはヘッダ以外には各テーブルを格納するようにしたが、さらに本実施例では最大紙種数、最大スクリーン種数、及び最大色合わせ種数を格納するようにしている。
上述したように、RGBからCMYKへの色変換処理で使用されるLUTテーブル237dは3つのパラメータ、すなわち紙種と色合わせ種、及びスクリーン種からいずれか1つのLUTテーブル237dを選択するようにしている。ここで、図18に示すように予めテーブルデータ部237に格納されたLUTテーブル237dの選択パラメータの1つ、スクリーン種がテーブルデータ部237の書き換えにより増加した場合、以前と同様のアドレス演算を行うとスクリーン種がずれることで本来選択すべきLUTテーブル237dを選択できなってしまう。増加させない場合に、図18に示す斜線のLUTテーブルを選択していたときに、スクリーン種の増加によっても同じ斜線のLUTテーブルを選択するようにしてもテーブル自体の数が増加することで図中の矢印に示すテーブルが選択されることになる。すなわち、テーブルデータ部237のデータ構成は図18に示す3次元構成ではなく2次元構成であり、途中のテーブル数が増加することで後に続くテーブルの位置がずれてしまうのである。このようなずれにより、プログラムROM23に格納されたモジュールの再作成を行うことになり、工数の無駄が生じる。
そこで、テーブルの書き換えによりテーブル数自体の増加によりかかる位置ずれを防止するため予めパラメータの最大値を書き換え可能な領域に格納して、その範囲内でパラメータが指定されていると処理を行い、そうでないとエラー処理を行うようにした。これにより、ユーザの個別対応などの要求に答えることもできるし、さらに最大値を表示部27、さらにホストコンピュータ1側に送信して表示することができればユーザがその範囲でパラメータを指定することができ利便性も向上する。
詳細を説明する。図19は、プログラムROM23のテーブルデータ部237の構成を示す図である。図4に示す構成に対してさらに、最大紙種237g、最大スクリーン種237h、及び最大色合わせ種237iを格納できるようになっている。書き換え可能な領域にかかる3つのパラメータの最大値を格納するようにしたので、ユーザごとにLUTの種類やキャリブレーションの種類、スクリーンの種類を増加させることができ、ユーザの個別対応に便利である。
次に、このような最大値を格納したときの画像形成装置2の処理の動作について説明する。一連の動作は図7とほぼ同様である。すなわち、まず電源を投入してプログラムROM23の本体ブロックに格納されたプログラム(図2参照)をCPU20が読み出して処理が開始される(ステップS10)。次いでプリンタ起動モジュール231によりプリンタ起動処理(ステップS11)が行われ、モジュール立上げ処理(ステップS111、図8、図9参照)においてテーブルデータ部237に格納された最新のテーブルデータを決定する。
次いでCPU20は、データ受信モジュール232によりデータ受信処理(ステップS12)が行われ、ホスト1からの印刷データを受信する。次いでCPU20は、言語モジュール233により言語処理(ステップS13)が行われ、GDI等で表現された印刷データを中間コードに変換してその中間コードを解釈する。また、この処理によってホスト1側で指定された紙種、色あわせ種、スクリーン種の情報(例えば紙種は普通紙(“1”)、色合わせ種は自然色(“1”)、スクリーン種は階調優先(“2”))を得る。特殊言語の場合は、テーブルデータ237の上書き処理等を行い、ステップS11に移行して再度電源投入により上述の処理を繰り返す。
次いでCPU20は、色変換処理(ステップS14)に移行し図13に示すLUTの選択処理を行う(ステップS141)。このLUTの選択処理ではテーブルデータ部237に格納した最大値を利用するため、図14の処理とは異なり図20に示す処理を行うことになる。
まずCPU20は、最大紙種の値をプログラムROM23のテーブルデータ部237から読み出す(ステップS1511)。次いで、読み出した値と言語モジュール233による言語処理(ステップS13)で取得したホスト1側からの紙種の情報とを比較して最大値の範囲内にあるか否か判断する(ステップS1512)。例えば、紙種の最大値として“5”が格納され、取得した紙種が“1”(普通紙)のときは範囲内と判断され(本ステップS1512で“YES”)、指定した紙種が“6”(光沢紙)のときは範囲内にない(“NO”)と判断される。
範囲内のとき、CPU20は次いで最大スクリーン種の値をテーブルデータ部237から取得する(ステップS1513)。次いで、読み出した最大値と言語モジュール233による言語処理で取得したホスト1側からのスクリーン情報とを比較する(ステップS1514)。例えば最大値が“5”で、取得したスクリーン種が“2”(階調優先)のときは範囲内にあると判断され(ステップS1514で“YES”)、そうでないと範囲内にないと判断される(“NO”)。
スクリーン種も範囲内にあると、次いでCPU20はテーブルデータ部237から最大色合わせ種の値を取得する(ステップS1515)。次いでCPU20は、言語処理で取得したホスト1側からの色合わせ種の情報とを比較する(ステップS1516)。例えば、最大値が“5”で、取得した情報が“1”(自然色)のときは範囲内(“YES”)、そうでないと範囲内でない(“NO”)と判断される。
色合わせ種も範囲内にあれば、3つのパラメータはテーブルデータ部237に格納されたLUTテーブルのいずれか1つ選択できる状態にあることになる。そして、CPU20はLUTテーブルを選択すべくアドレス演算を行う(ステップS1517)。演算の方法は、実施例1のステップS1414(図14参照)での演算式(1)を用いる。演算が終了すると、LUTの選択処理(ステップS141)が終了することになる。
一方、紙種、スクリーン種、色合わせ種のいずれもテーブルデータ部237に格納された最大値の範囲内にないと(ステップS1512、S1514、S1516で“NO”のとき)、図14の選択処理と同様にエラー処理を行う(ステップS1518)。例えば、表示部27に選択できない旨の表示をしたり、デフォルトのLUTテーブルを選択するようにする。エラー処理が終了すると、LUTの選択処理(ステップS141)が終了する。
図13に戻り、LUTの選択処理の次はキャリブレーションの選択処理を行う(ステップS142)。この処理もプログラムROM23のテーブルデータ部237に格納された最大値を利用するため、実施例1とは異なる処理となる。詳細を図21に示す。
各処理は、ほぼ図20と同様である。キャリブレーション処理は色変換後に行うのでテーブル選択で色合わせ種の情報は必要ない。まず、紙種の最大値をテーブルデータ部237から読出し(ステップS1521)、言語モジュール233による言語処理(ステップS13)で取得したホスト1側で指定した紙種の情報とを比較する(ステップS1522)。取得した紙種の情報が最大値の範囲内にあると(ステップS1522で“YES”)、次いでCPU20は最大スクリーン種をテーブルデータ部237から読み出し(ステップS1523)、言語処理で取得したスクリーン種の情報とを比較する(ステップS1524)。取得したスクリーン種の情報が最大値の範囲内にあると(ステップS1524で“YES”)、CPU20はキャリブレーションテーブルのアドレス演算を行い、テーブルを選択する(ステップS1525)。アドレス演算の演算式は実施例1の式(2)を用いる。いずれの場合も範囲内にないとき(ステップS1522、S1524で”NO”のとき)、範囲内にない旨の表示等によりエラー処理を行う(ステップS1526)。
図13に戻り、次いでスクリーンテーブルの選択処理(ステップS143)を行う。キャリブレーションの選択処理と同じ内容で処理が行われる(図21参照)。紙種やスクリーン種の最大値をプログラムROM23のテーブルデータ部237から読み出し、言語処理(ステップS13)で取得した各情報とを比較して範囲内にすべてあれば(ステップS1522及びS1524で“YES”のとき)、アドレス演算を行うことでスクリーンテーブルの選択を行う(ステップS1525)。いずれの場合も範囲内にないと(ステップS1522、S1524で“NO”のとき)、エラー処理を行う(ステップS1526)。そして、スクリーンテーブルの選択処理(ステップS143)が終了する。なお、これらテーブルの選択処理(ステップS141からS143)の順番は問わない。
その後、選択したLUTテーブル237dを用いて色変換処理(図13のステップS144)を行う。そして、バンド作成モジュール235により色変換後のCMYKの画像データをバンドメモリに展開し(ステップS15、図7及び図16参照)、印刷モジュール236により印刷処理(ステップS16)が行われる。印刷処理においては、選択したキャリブレーションテーブルとスクリーンテーブルを用いてそれぞれキャリブレーション処理(図17のステップS161)、スクリーン処理(ステップS162)を行う。そして、パルス幅変調処理を介して印刷エンジン26にて印刷動作が行われる。さらに印刷データがあれば上述の処理を繰り返し(図7のステップS17で“NO”のとき)、印刷データがないと(“YES”)電源をオフにして一連の処理が終了することになる。
以上説明してきたように、実施例2において各テーブルの選択に必要なパラメータの最大値を書き換え可能な記憶領域に格納するようにしたので、テーブルのマトリックスの位置ずれによる間違ったテーブルの選択を防止することができる。さらに、書き換え可能な領域に格納するようにしたので、紙種、色合わせ種、スクリーン種を増加させたい場合などユーザの個別対応に答えることができるとともに、プログラムROM23の再作成を行うことがなく工数の無駄を省くことができ利便性が向上する。さらに、テーブルデータ部237に格納された各パラメータの最大値をホストコンピュータ1側に出力して、図示しないモニタ等に表示することができれば最大値以上のパラメータをユーザが選択する可能性が低くなり、ユーザの要求するテーブルを確実に選択することができるようになる。
次に、テーブルデータ部237のアドレス管理について説明する。テーブルデータ部237の構成については図4や図19を用いて説明したが、実際には各テーブルが格納される領域とその領域を示すアドレス値とから、LUTテーブル237dやスクリーンテーブル237e、さらにキャリブレーションテーブル237fが構成される。
その具体的構成の一例を図22に示す。LUTテーブル237dの場合、LUTテーブルの本体自体はLUT本体領域237d’1、237d’、・・・に格納され、その格納された各LUT本体のアドレス値がLUTテーブル領域237d1、237d2、・・・に格納される。本実施例においてはこのLUTテーブル領域237d1、237d2、・・・に、テーブル本体が格納されたアドレス値をそのまま記憶させるのではなく、基準アドレスからの距離(相対アドレス値)を格納する。これにより、例えばテーブルデータ部237自体をプログラムROM23とは異なる記憶媒体、例えばNVRAM24や外部ROMなどに記憶させたとき、テーブルデータ部237の最初のアドレス(ここではマネージャID領域237a)が異なるものになりアドレス値が順次変更されたときでも、各テーブル本体へのアクセスが可能になる。
図22を用いて詳細に説明する。マネージャID237a、機種ID237b、バージョン番号237c、最大紙種237g、最大スクリーン種237h、及び最大色合わせ種237iの各領域については実施例1及び2で説明したので省略する。また、LUTテーブル237dについては図22に示すように各テーブル本体の相対アドレスが格納されるLUTテーブル領域237d1、237d2、・・・と、そのLUTテーブル自体が格納されたLUT本体領域237d’1、237d’2、・・・とから構成される。LUTテーブル領域237d1、237d2、・・・は図5や図18に示すマトリックスのマス目の数分存在することになる。図5の例では紙種が4種類、スクリーン種が5種類、色合わせ種が5種類あるのでこの場合では、LUTテーブル領域237d1、・・・が全部で100(4×5×5)個存在することになる。
ここでこのLUTテーブル領域237d1、・・・に格納される相対アドレス値であるが、例えば図22に示すようにヘッダ以外のテーブル部(図4参照)の最初の先頭アドレスを基準にしている。最大紙種237gが格納される領域の先頭アドレスを基準アドレスとしたときのアドレスは“0x8008”、LUT0(“0”番目のLUTテーブル)本体が格納された領域237d’1の先頭アドレスは“0x9200”、したがってその距離は“0x11E8”であるからLUT0テーブルのアドレス値を格納するLUTテーブル237d1には、“0x11F8”が格納される。同様に、LUTテーブル領域237d2には“0x12F8”、LUTテーブル領域237d3には“0x13F8”と格納されることになる。
このようにLUTテーブル領域237d1、・・・に基準アドレスからの相対アドレス値を格納することで、例えばこのテーブルデータ部237がプログラムROM23の異なる領域や、異なる記憶媒体自体に格納されてアドレス値が変更されてもLUT本体領域237d’1、・・・へのアクセスは可能となる。
図22のかっこ書きでアドレス値が変更になったときを考える。テーブルデータ部237の先頭アドレスが“0x8000”から“0x8500”に変更されたとき、LUT0テーブルが格納されたLUT0本体領域237d’1のアドレスは“0x9200”から“0x9700”に変更される。LUT0本体領域237d’1のアドレス値をそのままLUTテーブル領域237d1に格納すると、この変更によりこの領域237d1に格納されたアドレス値も変更しなければならないことになる。かかる変更は、ユーザに工数負担を強いることになる。基準アドレスからの相対アドレスを格納していれば、変更になった基準アドレス“0x8508”からの相対アドレス“0x11F8”を加算することで変更後のアドレス値“0x9700”を得ることができる。同様にLUT本体領域237d’2へのアクセスについても相対アドレス値を加算するだけでよい。
スクリーンテーブル237eやキャリブレーションテーブル237fについても同様で、図22には図示していないが基準アドレスからの相対アドレスが格納された領域と実際の各スクリーンテーブルや各キャリブレーションテーブルが格納された領域とから構成される。相対アドレスが格納されているのでテーブルデータ部237を異なる領域に記憶させても全く同様に各テーブルにアクセスすることが可能となる。
図22の例では基準アドレスとしてヘッダ以外のテーブルの先頭(最大紙種237gが格納される領域の先頭)としたが、例えばテーブルデータ部237の先頭アドレス(マネージャID領域237aが格納された領域の先頭アドレス)でもよいし、LUTテーブル領域237d1の先頭アドレスでもよい。
このように相対アドレスを格納するようにしたので、テーブルデータ部237を別の記憶媒体に記憶させて別システムで利用しても、アドレスの書き換えを行うことなく各テーブル本体へのアクセスが可能になり、色変換やスクリーン処理、さらにキャリブレーション処理を行うことができる。また色変換モジュール234自体の変更を行う必要がなくなり、工数負担を強いることもない。したがって、テーブルデータ部237を他のシステムに移植してもアドレスの書き換えをする必要がなく色変換処理や、キャリブレーション処理、さらにスクリーン処理を行うことができ利便性が向上する。
上述の例では、色変換モジュールのデータ処理部237をプログラムROM23の書き換え可能な領域やNVRAM24に格納した例で説明したがそれ以外にも図23に示すように書き換え可能な外部ROM29に格納するようにしてもよい。この場合、画像形成装置2に外部ROMインターフェース(I/F)28を備え、外部ROM29が画像形成装置2に装填されたときにテーブルデータ237をCPU20が読み出すことで上述の処理を行うことができる。この場合も、実施例3で説明したように各テーブル本体が格納された領域に関して基準アドレスからの相対アドレスを格納するようにすれば、外部ROM29のテーブルデータを例えばプログラムROM23にコピーしてもアドレスの修正なく各テーブルを読み出して色変換等の処理を行うことができる。
また、上述の3つの例では画像形成装置2としてレーザプリンタの例で説明したが、これ以外にも各色のインクを装填したヘッドからインクを印刷媒体に吐出させて印刷を行うインクジェットプリンタやバブルジェット(登録商標)プリンタ、さらにプリンタ以外にも複写機やファクシミリ、これらの機能を備えた複合機であっても本発明を適用でき、同様の効果を得る。
また、ホストコンピュータ1の例として、例えばパーソナルコンピュータが一般的であるが、それ以外にも携帯電話やPDA(Personal Digital Assistance)などの情報携帯端末であってもよい。
画像形成装置2の構成を示す図である。 プログラムROM23の構成を示す図である。 NVRAM24にテーブルデータ部237が格納された場合の例を示す図である。 色変換モジュール(テーブルデータ部)237の構成を示す図である。 LUTテーブル選択のための概念図である。 図6(A)はキャリブレーションテーブル選択のための概念図、図6(B)はスクリーンテーブル選択のための概念図である。 画像形成装置2の全体処理の動作を示すフローチャートである。 プリンタ起動処理の動作を示すフローチャートである。 モジュール立上げ処理の動作を示すフローチャートである。 データ受信処理の動作を示すフローチャートである。 言語処理の動作を示すフローチャートである。 特殊言語起動処理の動作を示すフローチャートである。 色変換処理の動作を示すフローチャートである。 LUTの選択処理の動作を示すフローチャートである。 キャリブレーションテーブル、スクリーンテーブルの選択処理の動作を示すフローチャートである。 バンド作成処理の動作を示すフローチャートである。 印刷処理の動作を示すフローチャートである。 LUTテーブル選択のための概念図である。 テーブルデータ部237の他の構成を示す図である。 LUTの選択処理の動作を示すフローチャートである。 キャリブレーションテーブル、スクリーンテーブルの選択処理の動作を示すフローチャートである。 色変換モジュール(テーブルデータ部)237の構成を示す図である。 画像形成装置2の他の構成を示す図である。
符号の説明
1 ホストコンピュータ 2 画像形成装置 20 CPU 21 入力I/F 22 画像メモリ 23 プログラムROM 231 プリンタ起動モジュール 232 データ受信モジュール 233 言語モジュール 234 色変換モジュール(データ処理部) 235 バンド作成モジュール 236 印刷モジュール 237 色変換モジュール(テーブルデータ部) 237a マネージャID 237b 機種ID 237c バージョン番号 237d LUTテーブル 237d1 LUTテーブル領域 237d’1 LUT0本体領域 237g 最大紙種 237h 最大スクリーン種 237i 最大色合わせ種 24 NVRAM 27 表示部 29 外部ROM

Claims (8)

  1. モジュール化されたプログラムが格納され、当該プログラムに基づいて画像を形成する画像形成装置において、
    前記プログラムのうち色変換モジュールを実行するときに必要なテーブルデータが格納された書き換え可能な記憶手段と、
    前記テーブルデータを用いて色変換モジュールを実行するときは前記記憶手段から前記テーブルデータを読み出して前記色変換モジュールを実行する制御手段と
    を備えたことを特徴とする画像形成装置。
  2. 請求項1記載の画像形成装置において、
    前記テーブルデータには、RGB画像データをCMYK画像データに変換するための色変換テーブルデータを含み、前記色変換モジュールには前記制御手段で前記色変換テーブルデータを用いた色変換処理を行うためのモジュールも含む、ことを特徴とする画像形成装置。
  3. 請求項1記載の画像形成装置において、
    前記テーブルデータには、エンジン特性を変更するためのキャリブレーションテーブルを含み、前記色変換モジュールには前記キャリブレーションテーブルを用いて前記制御手段でキャリブレーション処理を行うためのモジュールも含む、ことを特徴とする画像形成装置。
  4. 請求項1記載の画像形成装置において、
    前記テーブルデータには、濃淡画像の中間階調を表現したドットデータを生成するためのスクリーンテーブルを含み、前記色変換モジュールには前記制御手段でスクリーン処理を行うためのモジュールも含む、ことを特徴とする画像形成装置。
  5. 請求項1記載の画像形成装置において、
    前記記憶手段は前記プログラムが格納された記憶媒体とは異なる媒体である、ことを特徴とする画像形成装置。
  6. 請求項5記載の画像形成装置において、
    前記記憶手段は前記画像形成装置に装填可能な外部記憶媒体である、ことを特徴とする画像形成装置。
  7. 請求項1記載の画像形成装置において、
    前記制御手段は、紙種、色合わせ種、スクリーン種のうち少なくともいずれか2つの組み合わせからいずれか1つの前記テーブルデータを選択し、選択された前記テーブルデータに基づいて前記色変換モジュールを実行する、ことを特徴とする画像形成装置。
  8. モジュール化されたプログラムが格納され、当該プログラムが画像形成装置に読み出されて画像を形成するようになされた画像形成装置に対する記憶媒体において、
    前記プログラムのうち色変換モジュールを実行するときに必要なテーブルデータが格納された書き換え可能な領域を含み、
    前記画像形成装置において前記テーブルデータを用いて色変換モジュールを実行するときは前記書き換え可能な領域から前記テーブルデータが読み出されて前記色変換モジュールが実行されることを特徴とする記憶媒体。
JP2004009687A 2004-01-16 2004-01-16 画像形成装置、及び記憶媒体 Pending JP2005199620A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004009687A JP2005199620A (ja) 2004-01-16 2004-01-16 画像形成装置、及び記憶媒体
US11/032,234 US20050200645A1 (en) 2004-01-16 2005-01-11 Image forming apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009687A JP2005199620A (ja) 2004-01-16 2004-01-16 画像形成装置、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2005199620A true JP2005199620A (ja) 2005-07-28

Family

ID=34822649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009687A Pending JP2005199620A (ja) 2004-01-16 2004-01-16 画像形成装置、及び記憶媒体

Country Status (2)

Country Link
US (1) US20050200645A1 (ja)
JP (1) JP2005199620A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009274273A (ja) * 2008-05-13 2009-11-26 Canon Inc 画像処理装置、画像処理方法、およびプログラム
JP5990093B2 (ja) * 2012-11-29 2016-09-07 キヤノン株式会社 画像処理装置、画像処理方法ならびにプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128018A (ja) * 1999-10-27 2001-05-11 Seiko Epson Corp 印刷制御装置、印刷装置、印刷制御方法、印刷方法、記録媒体、および画像データ変換装置
JP2002010079A (ja) * 2000-06-19 2002-01-11 Ricoh Co Ltd カラー画像処理装置
JP2002027246A (ja) * 2000-07-12 2002-01-25 Canon Inc 処理モード選択装置およびこの装置を備えた画像形成装置
JP2003051942A (ja) * 2001-08-06 2003-02-21 Toshiba Tec Corp 画像処理装置及びその方法
JP2003196652A (ja) * 2001-10-15 2003-07-11 Konica Corp Idカード作成システムにおける色補正方法、及びidカード作成システム
JP2003298843A (ja) * 2002-04-02 2003-10-17 Toshiba Tec Corp 画像記録装置及び階調補正データ作成方法
JP2003345080A (ja) * 2002-05-29 2003-12-03 Seiko Epson Corp 画像形成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750275B1 (en) * 1989-10-24 2000-08-16 Canon Kabushiki Kaisha Recording apparatus
US5041920A (en) * 1989-11-15 1991-08-20 Xerox Corporation Image halftone generation by static RAM look-up table
JPH04246690A (ja) * 1990-08-29 1992-09-02 Xerox Corp 高品質のイメージを並みの解像度で表示する方法
US7212229B2 (en) * 1997-04-04 2007-05-01 Eastman Kodak Company Digital camera providing image processing for an attachable printer
US6219453B1 (en) * 1997-08-11 2001-04-17 At&T Corp. Method and apparatus for performing an automatic correction of misrecognized words produced by an optical character recognition technique by using a Hidden Markov Model based algorithm
JP3885442B2 (ja) * 2000-01-17 2007-02-21 富士ゼロックス株式会社 画像形成装置
JP2002091724A (ja) * 2000-09-11 2002-03-29 Canon Inc 情報処理装置及びシステム及びその情報処理方法とデバイスドライバ
JP2002091745A (ja) * 2000-09-11 2002-03-29 Canon Inc 印刷制御装置及びシステム及びその制御方法と印刷装置とプリンタドライバ
US7362459B2 (en) * 2000-11-17 2008-04-22 Seiko Epson Corporation Network device and printer
JP2003043762A (ja) * 2001-07-31 2003-02-14 Canon Inc 画像形成装置及び画像形成装置の現像剤補給方法、並びに画像処理ボード
JP3848196B2 (ja) * 2002-03-29 2006-11-22 キヤノン株式会社 データ処理装置及びデータ処理方法
US7289663B2 (en) * 2002-07-24 2007-10-30 Eastman Kodak Company Producing an extended color gamut luminance-chrominance digital image from a captured image

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128018A (ja) * 1999-10-27 2001-05-11 Seiko Epson Corp 印刷制御装置、印刷装置、印刷制御方法、印刷方法、記録媒体、および画像データ変換装置
JP2002010079A (ja) * 2000-06-19 2002-01-11 Ricoh Co Ltd カラー画像処理装置
JP2002027246A (ja) * 2000-07-12 2002-01-25 Canon Inc 処理モード選択装置およびこの装置を備えた画像形成装置
JP2003051942A (ja) * 2001-08-06 2003-02-21 Toshiba Tec Corp 画像処理装置及びその方法
JP2003196652A (ja) * 2001-10-15 2003-07-11 Konica Corp Idカード作成システムにおける色補正方法、及びidカード作成システム
JP2003298843A (ja) * 2002-04-02 2003-10-17 Toshiba Tec Corp 画像記録装置及び階調補正データ作成方法
JP2003345080A (ja) * 2002-05-29 2003-12-03 Seiko Epson Corp 画像形成装置

Also Published As

Publication number Publication date
US20050200645A1 (en) 2005-09-15

Similar Documents

Publication Publication Date Title
US7054029B1 (en) Image processing apparatus and method, and storage medium
JP4677379B2 (ja) 画像処理装置及び画像処理方法
US8184308B2 (en) Image forming apparatus, print control program, application program and printing system
US20050219661A1 (en) Image forming apparatus, image forming method, and program
US20070070466A1 (en) Image forming apparatus
EP1359537B1 (en) Preparation of print bitmap from colour and monochrome data
EP1067764A2 (en) Print control apparatus and method
US20050213123A1 (en) Image forming apparatus and storage medium
JP2005354414A (ja) 画像処理装置及びその方法
JP2008067068A (ja) 画像処理装置
JP5479750B2 (ja) データ圧縮のシステム及び方法
US6754455B2 (en) Image forming apparatus and developer supply method therefor, and image processing board
JP2005199620A (ja) 画像形成装置、及び記憶媒体
JP2002016814A (ja) 画像処理装置、画像処理方法及びプログラム
JPH1093766A (ja) イメージ画像形成システム及びスキャナ装置
JP5012871B2 (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP2010056769A (ja) 画像処理装置及び画像処理方法
JP2008229862A (ja) 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム、およびそのプログラムを記録した記録媒体
US8228573B2 (en) System and method for interactively acquiring optical color measurements for device color profiling
JP2003250045A (ja) プリンタ更正装置及びその制御方法
US8384955B2 (en) Method, apparatus, and image forming system to process additional data of printing job
JP2009232229A (ja) 画像処理システム、画像処理プログラム及び画像処理方法
JP2006196945A (ja) 制御装置、画像形成装置、制御方法、画像形成方法、制御プログラムおよびそのプログラムを記録した記録媒体
JPH10285412A (ja) 画像処理装置およびその方法
US20190227470A1 (en) Image processing apparatus, method of controlling the same, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100413