JP2004145705A - プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 - Google Patents
プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 Download PDFInfo
- Publication number
- JP2004145705A JP2004145705A JP2002310990A JP2002310990A JP2004145705A JP 2004145705 A JP2004145705 A JP 2004145705A JP 2002310990 A JP2002310990 A JP 2002310990A JP 2002310990 A JP2002310990 A JP 2002310990A JP 2004145705 A JP2004145705 A JP 2004145705A
- Authority
- JP
- Japan
- Prior art keywords
- lut
- storage unit
- printer
- unit
- 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.)
- Pending
Links
Images
Abstract
【課題】データ容量が小さく、かつ、ファーストプリントが早い印刷システムを提供することを目的とする。
【解決手段】LUTに基づいて画像データの変換処理を行い、印刷データを生成するプリンタホスト100に、複数種のLUTの中から少なくとも1つのLUTを非圧縮状態で、その他のLUTは圧縮状態で格納するLUTデータ記憶部105と、LUTを選定するUIF部102と、非圧縮状態のLUTのみを格納するLUTキャシュ部107と、選定したLUTがLUTキャシュ部107に存在する場合にLUTキャシュ部107から該当するLUTを読み出し、選定したLUTが、LUTキャシュ部107に存在しない場合にLUTデータ記憶部105からの該当するLUTを読み出し、読み出したLUTが圧縮状態の場合に、そのLUTを展開し、且つLUTキャシュ部107に格納させるLUT取得部103と、を設ける。
【選択図】 図1
【解決手段】LUTに基づいて画像データの変換処理を行い、印刷データを生成するプリンタホスト100に、複数種のLUTの中から少なくとも1つのLUTを非圧縮状態で、その他のLUTは圧縮状態で格納するLUTデータ記憶部105と、LUTを選定するUIF部102と、非圧縮状態のLUTのみを格納するLUTキャシュ部107と、選定したLUTがLUTキャシュ部107に存在する場合にLUTキャシュ部107から該当するLUTを読み出し、選定したLUTが、LUTキャシュ部107に存在しない場合にLUTデータ記憶部105からの該当するLUTを読み出し、読み出したLUTが圧縮状態の場合に、そのLUTを展開し、且つLUTキャシュ部107に格納させるLUT取得部103と、を設ける。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、印刷システムにおける画像処理の技術に関する。
【0002】
【従来の技術】
カラープリンタは、企業、学校、家庭等において各種資料の作成や、デジタルカメラで撮影した写真の印刷等と様々な用途に用いられている。そして、ユーザは、より高画質でより高速印刷を実現するカラープリンタを求める傾向にある。
【0003】
ところで、コンピュータにおいては、R(赤)G(緑)B(青)表色系の画像データを利用して、ドットマトリックス状の各画素について各色成分を階調値として表している。一方、印刷処理を行うカラープリンタにおいては、カラープリンタのインク色を表示するC(シアン)M(マゼンタ)Y(イエロー)にK(黒)を加えた四色の画像データを利用している。
【0004】
そのため、カラープリンタの画像出力処理では、RGB画像データをCMYKのデータに変換する色変換処理が必要となる。この色変換処理の方法は、種々のものがある。そして、近年は、高画質の画像出力処理を実現することができるルックアップテーブル(以下「LUT」と言う)を利用する方法が一般的に用いられている。これは、プリンタドライバが、予め、RGB表色系の画像を示すデータとCMYK表色系の画像を示すデータとを対応つけて登録しているLUTを基に変換後の画像データ(印刷データ)を補間演算により求めるというものである。
【0005】
さて、この色変換処理を行うために、プリンタドライバには、印刷処理を行う解像度毎に対応したLUTが必要となる(例えば、印刷の解像度が、360×360dpi,720×360dpi,720×720dpi,1440×720dpi,2880×1440dpiの5タイプであれば、それに対応した5種類のLUTが必要になる)。さらに、プリンタドライバには、印刷処理を行う色調(例えばフォト用印刷やグラフィック用印刷等)毎に、また、印刷を行うメディア毎にそれぞれ対応したLUTが必要となる。そして、色変換処理に必要な複数種のLUTを集めた場合にそのデータ容量が大きくなるという問題がある。そのため、これら複数種のLUTを用いるプリンタドライバの色変換処理に必要なデータ容量は大きいものとなる。
【0006】
また近年、パソコン提供者(メーカ、販売業者等)が、ユーザの利便性を考慮し(プリンタのプラグアンドプレイを実現するため)、パソコンに複数機種のプリンタドライバをプリインストールすることが多くなってきている。このような場合に、データ容量の大きいプリンタドライバを複数機種分インストールすることにより、コンピュータのハードディスク等の記憶装置への負担が大きくなるという問題が生じている。
【0007】
さらに、ユーザからの高画質印刷の要望に対応するため、近年、カラープリンタのインク色に6色や7色を用いる機種がある。この場合にはLUTのデータ容量は、さらに大きくなることから、それに伴いプリンタドライバのデータ容量も大きいものとなる。
【0008】
従来の印刷システムには、プリタドライバが色変換処理に利用するLUTを圧縮状態のままでコンピュータにインストールしているものがある(例えば特許文献1参照)。このように、LUTを圧縮状態にしてコンピュータにインストールすることで、コンピュータの記憶装置へのデータ容量の負担を軽減することができる。そして、このプリンタドライバは、画像処理を行う度に、色変換処理に使用するLUTを選定し、その選定したLUTの展開し、その展開したLUTを用いて色変換処理を行っている。
【0009】
【特許文献1】
特開2000−22974号公報
【0010】
【発明が解決しようとする課題】
しかしながら、特許文献1のプリンタドライバを用いた場合には、画像処理のたびに色変換に使用するLUTを展開する処理が必要になる。そのため、ユーザがアプリケーションを介して印刷指示を行い、1枚目の印刷が終了するまでの時間(以下「ファーストプリント」と言う)が長時間かかるという問題があり、より高速な印刷処理を求めているユーザの要望の対応できない。特にCPUの処理能力が低い機種の場合には、ファーストプリントに、さらに長時間を費やすこととなる。
【0011】
そこで、本発明は、データ容量が小さく、かつ、ファーストプリントが早い印刷システムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明の印刷システムは、プリンタドライバを複数種のLUTと共にコンピュータにインストールすることで構築されるプリンタホストと、プリンタと、を有する。ここで、複数種のLUTの中から、頻繁に使用されるLUTを少なくとも1つ定めておく。そして、プリンタホストに、前記少なくとも1つのLUTを非圧縮状態で格納する第1記憶部を設ける。さらに、前記第1記憶部には、前記少なくとも1つ以外の他のLUTを圧縮状態で格納する。また、プリンタホストに、圧縮したLUT展開する手段と、一度展開したLUTを格納する第2記憶部と、アプリケーション介して印刷処理要求を受け付け、該受け付けた印刷処理に使用するLUTを選定する手段と、該選定したLUTが第2記憶部に存在する場合に第2記憶部からLUTを読み出し、該選定したLUTが第2記憶部に存在しない場合、前記第1記憶部からLUTを読み出す手段と、前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開処理する手段と、前記展開したLUTを前記第2記憶部に格納する手段と、前記読み出したLUTを用いて色変換処理を行う手段と、を設ける。
【0013】
例えば、本発明を適用したプリンタドライバは、複数種のLUTのうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納する第1記憶部と、非圧縮状態のLUTだけを格納する第2記憶部と、を有するコンピュータにおいて、画像データを受付け、該受け付けた画像データに色変換処理を施し印刷データを生成する処理と、ユーザからの印刷条件を受け付け、該受け付けた印刷条件に基づいてLUTを選定する処理と、前記選定したLUTが、前記第2記憶部に存在する場合には、該記第2記憶部から該選定したLUTを読み出す処理と、前記選定したLUTが、前記第2記憶部に存在しない場合には、前記第1記憶部からの該選定したLUTを読み出す処理と、前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開し、且つ該展開したLUTを前記第2記憶部に格納する処理と、前記読み出したLUTに基づいて前記画像データを色変換する処理と、をコンピュータに実行させることを特徴とする。
【0014】
ここで、前記少なくとも1つのLUTとは、画像データの色変換処理において、利用頻度が高いLUTであることとしてもよい。
【0015】
また、前記プリンタドライバは、前記第2記憶部に記憶しているLUTの中で、予め定めた期間に読み出しされていないLUTを前記第2記憶部から削除する処理をコンピュータに実行させることとしてもよい。
【0016】
このように、本実施形態によれば、複数種のLUTのうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納している。そのため、コンピュータのハードディスク等の記憶装置のデータ容量の負荷を軽減することができる。また、本実施形態によれば、前記少なくとも1つのLUT(非圧縮状態のLUT)を使用する場合には、LUTの展開処理を行う必要がない。そのため、前記少なくとも1つのLUTを使用した印刷処理の場合に、ファーストプリントに長時間を要さないという効果を奏する。
【0017】
さらに、本実施形態は、色変換処理の際に、圧縮状態で格納されているLUTを使用する場合は、それを展開して使用し、その後、該展開処理を行ったLUTを第2記憶部に格納することとしている。これは、プリンタで行う印刷処理の対象(写真の印刷、グラフィックの印刷等)が、ユーザ毎に様々であり、かつ、個々のユーザ毎に偏る傾向にあることを考慮したためである(例えばグラフィックの印刷に偏るユーザや、写真の印刷に偏るユーザがいる)。すなわち、本実施形態によれば、そのユーザが頻繁に使用するLUTは展開した状態で、そのユーザが使用しないLUTは圧縮した状態でコンピュータの記憶装置に格納されることとなる。そのため、データ容量が小さく、かつ、ファーストプリントに長時間要さない印刷システムを、個々のユーザに対応させて提供することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【0019】
最初に、本発明の実施形態の機能構成を説明する。
【0020】
図1は、本発明の実施形態が適用された印刷システムの機能構成の一例を示すブロック図である。
【0021】
図示するように、本実施形態の印刷システムはプリンタホスト100とプリンタ110とを有して構成されている。ここで、まず、本実施形態の印刷システムのプリンタホスト100の機能構成を説明する。プリンタホスト100は、プリンタドライバ部101と、アプリケーション処理部109と、OS処理部108と、を有する。
【0022】
OS処理部108は、プリンタホスト100の各部(アプリケーション処理部109、プリンタドライバ部101)を統括的に制御する。
【0023】
アプリケーション処理部109は、例えばユーザからの指示に従い作成した文書、表、画像データ等のドキュメントの画像データ(描画コマンド)をプリンタドライバ部101に送信する。
【0024】
プリンタドライバ部101は、アプリケーション処理部109から送信されたドキュメントの画像データ(描画コマンド)から、プリンタ110が解釈可能なコマンド群で構成される印刷データを生成する。そして、プリンタドライバ部101は、該生成した印刷データをプリンタ110に出力する。また、このプリンタドライバ部101は、UIF(ユーザインタフェース)部102と、LUT取得部103と、色変換処理部104と、LUTデータ記憶部105と、印刷データ出力部106と、LUTキャッシュ部107と、を有している。
【0025】
LUTキャッシュ部107は、LUT取得部103が展開処理したLUTを格納するために設けられている。なお、LUT取得部103が行う展開処理については後段で説明する。
【0026】
UIF部102は、後述する色変換処理部104がアプリケーション処理部109から描画コマンドを受け付ける場合に、アプリケーション処理部109を介し、プリンタホスト100に接続されている画像表示装置に印刷条件の設定画面を表示する。そして、UIF部102は、ユーザが設定画面に基づいて入力した印刷条件データを受け付ける。この印刷条件データとは、例えば、印刷の解像度(360×360dpi,720×360dpi等)や、印刷の色調(例えば、フォト用印刷の色調やグラフィック用印刷の色調等)や、印刷するメディアの種類等である。
【0027】
そして、UIF部102は、受信した印刷条件データに基づいて、印刷データを生成するためのLUTを選定し、該選定したLUTを示すデータ(以下「LUT識別データ」と言う)をLUT取得部103に送信する。なお、本実施形態では、UIF部102は、色変換処理部104が用いる複数種のLUTを選定する(カラーマッチング処理に使用するLUT、ハーフトーン処理に使用するLUT、色補正処理に使用するLUTの3種類のLUTが選定される)。
【0028】
LUTデータ記憶部105には、印刷の解像度(360×360dpi,720×360dpi等)や、印刷の色調や、印刷するメディアの種類等に応じた複数種のLUTが格納されている。そして、本実施形態では、この複数種のLUTの中から、頻繁に使用される少なくとも1つのLUTを予め定めておいて、それを非圧縮状態でLUTデータ記憶部105に格納している。また上記の予め定めたLUT以外のものは、圧縮状態でLUTデータ記憶部105に格納している。
【0029】
また、LUTデータ記憶部105に格納されるLUTは、それが圧縮データか非圧縮データであるかを識別できる状態で格納されている。このLUTが圧縮状態であるか否かを識別する方法は特に限定しない。例えば、LUTデータ記憶部105に格納する複数種のLUTデータ各々の予め定めた位置に、圧縮データか非圧縮データかを示すビットデータを付しておくこととしてもよい。また、例えば、上記のビットデータを用いて、LUTデータ記憶部105に格納されているLUTが圧縮データか否かをテーブル形式で管理することとしてもよい。なお、以下では、LUTデータ各々に、圧縮状態であるか否かを示すビットデータを、予め付しておくこととする場合を例に説明する。
【0030】
このように、本実施形態では、データ容量の大きいLUTを圧縮した状態で格納することで、プリンタドライバをインストールするプリンタホストのハードディスク等の記憶装置のデータ容量に対する負担を軽減させることができる。
【0031】
また、本実施形態では、複数種のLUTの中から、予め頻繁に使用される少なくとも1つのLUTを定めておいて、その少なくとも1つのLUTについては、非圧縮状態でLUTデータ記憶部105に格納している。そのため、その予め定めた少なくとも1つのLUTを利用する印刷処理では、圧縮データの展開処理によるファーストプリントの遅延を防止することができる。なお、本実施形態では、この予め定めた少なくとも1つのLUTの具体的な数や選定する基準については特に限定しない。例えば、経験則から、ユーザが最も一般的に行うとされている印刷処理の態様において使用されるLUTを予め定めたLUTとする(例えば、プリンタドライバのデフォルト設定の印刷条件で使用するLUTを定めておく)。そして、この予め定めた少なくとも1つのLUTの選定は、プリンタドライバの提供者(メーカ、販売業者等)がプリンタドライバ製造時(又は提供時)に行なうものとする。また、本実施形態においては、LUTを圧縮する方法は特に限定しないものとする。
【0032】
LUT取得部103は、UIF部102が選定したLUT識別データに基づいて、LUTを取得する。また、LUT取得部103は、LUTキャッシュ部107が格納しているデータを、例えばテーブル形式(図示せず)で管理する。このテーブル(以下「LUTキャッシュテーブル」と言う)は、例えば、LUTキャッシュ部107に格納した「LUT識別データを登録する」エントリと、そのLUTをLUTキャッシュ部107に「格納した日時を登録する」エントリと、LUTキャッシュ部107から「読み出された回数及びその日時を登録する」エントリとを有している。
【0033】
そして、LUT取得部103は、LUT識別データを取得した後、該識別データが特定するLUTがLUTキャッシュ部107に格納されているか否かをLUTキャッシュテーブルに基づいて判断する。
【0034】
そして、そしてLUT取得部103は、該当するLUTが格納されていると判断した場合は、LUTキャッシュ部107から該当するLUTの読み出しを行う。さらに、LUT取得部103は、LUTキャッシュテーブルの「読み出された回数及びその日時を登録する」エントリのデータを更新する。一方、LUT取得部103は、LUTキャッシュ部107に該当するLUTが格納されていないと判断した場合は、LUTデータ記憶部105から、該当するLUTの読み出しを行う。その後、LUT取得部103は、読み出したLUTが、圧縮データか非圧縮データか否かの判断を行う。なお、この判断は本実施形態では、上述した、LUTデータに付加されているビットデータに基づいて行うこととする。
【0035】
そして、読み出したLUTが圧縮状態のデータの場合は、そのLUTの展開処理を行う。その展開したLUTは、色変換処理部104が色変換処理に使用する。そして、その後、LUT取得部103は、LUTキャッシュ部107にその展開したLUTを格納する。また、LUT取得部103は、該展開したLUTをLUTキャッシュ部107に格納する際に、LUTキャッシュテーブルの更新を行う。
【0036】
このように、一度展開したLUTのデータをLUTキャッシュ部107に格納することで、再び、そのLUTを色変換処理部104が使用する場合に、展開処理を行う必要がなくなる。
【0037】
さらに、LUT取得部103は、LUTキャッシュ部107に格納されているデータを所定のタイミングで整理する。具体的には、LUT取得部103は、LUTキャッシュテーブルの「格納した日時を登録するエントリ」及び「読み出された回数及びその日時を登録する」エントリのデータに基づいて、予め定めた期間(この期間はユーザ又はプリンタドライバ提供者が設定する)に、LUTキャッシュ部107から読み出しされていないLUTは、LUTキャッシュ部107から削除する。なお、上記所定のタイミングについては、特に限定しない。例えば、LUT取得部103が、展開したLUTをLUTキャッシュ部107に格納するタイミングで、LUTキャッシュ部107のデータの整理を行うこととしてもよい。
【0038】
このように一度使用されたものの、その後、所定期間に使用されないLUTを、LUTキャッシュ部107から削除することで、ユーザが日常的に使用するLUTだけをLUTキャッシュ部107に格納させておくことができる。すなわち、このような構成を採用することで、プリンタホストの記憶装置の有効活用が図れることとなる。また、このような構成を採用することで、ユーザに対して面倒な設定作業を行わせることなく、プリンタホストの記憶装置に負担をかけない印刷システムを、個々のユーザ毎に対応した形で提供することができる。
【0039】
なお、本発明は、LUTキャッシュ部107に格納されているLUTを削除する場合の要件を上記の例に限らない。例えば、LUTキャッシュ部107に、格納できるデータ容量の上限を予め決めておく。そして、新たに展開したLUTをLUTキャッシュ部107に格納すれば、その上限を超えてしまう場合に、LUTキャッシュ部107から読み出された日時が一番過去のLUTをLUTキャッシュ部107から削除することとしてもよい。
【0040】
色変換処理部104は、アプリケーション処理部109から送信された描画コマンドを受け付けてRBG画像データに変換する(ラスタライズ処理)。また、LUT取得部103が読み出したLUT(カラーマッチング用のLUT)のデータに基づいて、上記のRGB画像データに補間演算を施してCMYK出力画像データに色変換処理を行う。さらに、色変換処理部104は、CMYK出力画像データにLUT取得部103が読み出したLUT(ハーフトーン用のLUT)のデータに基づいて、ハーフトーン処理を施す。その後、該ハーフトーン処理が施されたCMYK出力画像データに、LUT取得部103が読み出したLUT(補正処理用のLUT)のデータに基づいて補正処理を施し、その後、プリンタが解釈可能なコマンド群で構成される印刷データに変換する。そして、このように生成された印刷データを印刷データ出力部106に送信する。
【0041】
印刷データ出力部106は、受信した印刷データをプリンタ110に送信する。
【0042】
続いて、本実施形態の印刷システムのプリンタ110の機能構成を説明する。図示するように、プリンタ110は、プリンタホスト100との間で行うデータの送受信を制御する通信制御部207と、受信した印刷データに基づいて印刷処理を行う印刷実行部111と、を有する。通信制御部112は、プリンタドライバ101から送信され印刷データを受信し、該受信したデータを印刷実行部111に送信する。そして、印刷実行部112が受信した印刷データに基づいて印刷処理を行う。
【0043】
なお、本印刷システムの構成はこれに限定されない。例えば、プリンタホスト100に複数台のコンピュータが接続されたネットワーク印刷システムとしてもよい。
【0044】
続いて、上記の機能を実現するためのハードウェア構成について説明する。
【0045】
図2は、本実施形態が適用された印刷システムのハードウェア構成の一例を示すブロック図である。
【0046】
プリンタホスト100には、プログラムを実行するCPU(中央演算処理装置)201と、CPU201が実行するプログラムやデータを一時的に記憶する主記憶装置202と、プリンタホスト100を制御するためのプログラム等が予め記憶されているハードディスク等の補助記憶装置203と、接続したプリンタ110等の周辺装置とのデータの送受信の制御を行うインタフェース204とを有する、一般的なコンピュータシステムを用いることができる。また、プリンタホスト100には、CRT等の画像表示装置220と、キーボードやマウス等の入力装置230とが接続されていてもよい。
【0047】
そして、プリンタホスト100の各機能構成は、図示する一般的なコンピュータシステムにおいて、CPU201が、補助記憶装置203に記憶されている特定のプログラム(OS、アプリケーション、プリンタドライバ)を、主記憶装置202にロードし、実行することにより実現される。
【0048】
具体的には、上述したOS処理部108の機能は、CPU201が、補助記憶装置203に記憶されている基本ソフトウェアであるOSを、主記憶装置202にロードし、実行することで実現される。
【0049】
また、上述したアプリケーション処理部109の機能は、CPU201が、補助記憶装置203に記憶されているOSと、例えばワープロソフトやフォトレタッチソフト等のアプリケーションとを主記憶装置202にロードし、OSに載せたアプリケーションを実行することで実現される。
【0050】
同様に、プリンタドライバ部101の機能は、CPU201が、補助記憶装置203に記憶されているOSおよびプリンタドライバプログラムを、主記憶装置202にロードしてOSに載せたプリンタドライバプログラムを実行することで実現される。なお、プリンタドライバ部101のLUTデータ記憶部105が格納しているLUTデータと、LUTキャシュ部107が格納しているLUTデータとは、補助記憶装置203の有する記憶領域に格納されていることとする。また、LUT取得部103のLUTキャッシュテーブルは、主記憶装置202又は補助記憶装置203が有する記憶領域に格納されていることとする。
【0051】
プリンタ110は、プリンタホスト100から印刷データを受信したときに、所定の印刷プロセスを実行して印刷媒体である印刷用紙に画像を形成するものである。ここで、本実施形態のプリンタは特に限定しない。例えば、カラー印刷が可能なインクジェットプリンタや、カラー印刷が可能なレーザプリンタを用いることができる。
【0052】
プリンタ110は、プリンタホスト100とのデータの送受信の制御を行うインタフェース210と、プログラムを実行するCPU(中央演算処理装置)211と、イメージデータ等を一時的に記憶するRAM(Random Access Memory)212と、プリンタ110を制御するためのプログラム等が予め不揮発的に記憶されているROM(Read Only Memory)213と、実際に印刷を行う印刷機構214と、を有する。
【0053】
続いて、本実施形態のLUTのデータ構造について、図3、図4を用いて説明する。
【0054】
図3は、RGB表現色系のデータとCMYK表現色系のデータとの対応関係を3次元空間に示した図である。図示するようにRGB表現色系のデータとCMYK表現色系のデータとは所定の対応関係を有する(図中の「W」は白色を示す)。そして、このような対応関係に基づいて両者は、相互に変換可することができる。なお、本実施形態では、一色あたり8ビットのデータとした場合を例に説明する。
【0055】
図4は、本実施形態のLUTのデータ構造の一例を模擬的に示したものである。図示するLUTは、図3で示した立方体の格子点の座標点を用いて、RGB表現色系とCMYK表現色系とを対応付けている。例えば、「W(白色)」を示すデータは、RGB表現色系では、(R,G,B,)=(255,255,255)で表し、それに対応させたCMYK表現色系では、(C,M,Y,K)=(0,0,0,0)で表すこととしている。そして、本実施形態の色変換処理部104は、このように相互に変換可能なLUTのデータの値を使用して、アプリケーションから受け付けた画像データに、予め定めた補間演算を施している。なお、本実施形態のLUTは、印刷処理の解像度毎に、印刷処理の色調毎に、また、印刷を行うメディア毎にそれぞれ対応したLUTが必要となる(例えば、プリンタドライバが、解像度について5タイプに対応しており、印刷の色調について3タイプに対応しており、メディアについて8タイプにしている場合には、120種類のLUTが必要になる)。
【0056】
次に、本実施形態の印刷システムのプリンタドライバ部101の色変換処理に使用するLUTを取得する処理のフローを、図5を用いて説明する。
【0057】
まず、プリンタドライバ部101の色変換処理部104がアプリケーション処理部109から送信された描画コマンドを受け付ける際に、UIF部102は、アプリケーション処理部109を介して、ユーザからの印刷条件データを受け付ける。そして、UIF部102は、この印刷条件データから、色変換処理に使用する複数のLUT(カラーマッチング処理用、ハーフトーン処理用、補正処理用の3つのLUTを選定する)の選定を行う(S300)。そして、UIF部102は、選定したLUTを識別するLUT識別データをLUT取得部103に送信する。
【0058】
続いて、LUT識別データを受信したLUT取得部103は、LUTキャッシュ部107に該当するLUTが存在するか否かの照合を行う(S310)。この照合は、例えば、受信したLUT識別データが、LUT取得部103が有しているLUTキャッシュテーブルに存在するか否かにより行う。そして、LUT取得部103は、該当するLUTがLUTキャッシュ部107に存在すると判断した場合は、LUTキャッシュ部107から該当するLUTの読み出しを行う(S360)。
【0059】
一方、LUT取得部103は、該当するLUTが存在しないと判断した場合は、LUTデータ記憶部105から該当するLUTの読み出しを行う(S320)。
【0060】
続いて、LUT取得部103は、LUTデータ記憶部105から読み出したLUTが圧縮されたデータか否かの判断を行う(S330)。この判断は、読み出したデータに付されているビットデータを用いて行う。そして、LUT取得部103は、読み出したLUTが圧縮されたデータの場合には、圧縮データの展開処理を行う(S340)。この、LUT取得部103が展開したLUTデータは、色変換処理部104が色変換処理に使用する。そして、その後、LUT取得部103は、この展開したLUTデータを、LUTデータキャッシュ部107に格納する(S350)。
【0061】
一方、読み出したLUTが非圧縮データである場合は、該読み出したLUTデータは色変換処理部104が、色変換処理に使用する。その後、色変換処理部104により生成された印刷データは、印刷データ出力部106に送信される。さらに、印刷データ出力部106は、受信した印刷データをプリンタ110に送信し、印刷データを受信したプリンタ110により印刷処理が実行される。
【0062】
以上、説明したように、本実施形態の印刷システムによれば、複数種のLUTの中で、少なくとも1つのLUTを非圧縮状態で、その他のLUTを圧縮状態でLUTデータ記憶部105に格納している。そのため、プリンタホストの記憶装置のデータ容量の負担を軽減させることができる。また本実施形態によれば、上述のように、頻繁に使用する少なくとも1つのLUTを予め定めておいて、それを非圧縮状態で格納している。そのため、予め定めた少なくとも1つのLUTを用いる印刷処理(例えば印刷条件がデフォルトでの印刷処理)を行う場合には、LUTを展開処理する必要がないことからファーストプリントに長時間費やすことがない。
【0063】
さらに、本実施形態の印刷システムによれば、一度展開処理したLUTを、展開した状態(非圧縮状態)でLUTキャッシュ部107に格納している。そして、LUT取得部103は、印刷処理の際に、LUTキャッシュ部107に該当するLUTが有無を確認し、該当するLUTが存在した場合には、LUTキャッシュ部107からそのLUTを読出すようにしている。
【0064】
このように、本発明によれば、ユーザは自分が使用するLUT(一般的にはあまり使用されていないLUTであっても)について、非圧縮状態でLUTキャッシュ部107に格納させておくことができる。
【0065】
すなわち、本発明によれば、データ容量が小さく、かつ、ファーストプリントが早い印刷システムを、個々のユーザに対応させて提供することができる。なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【図面の簡単な説明】
【図1】本発明の第1実施形態が適用された印刷システムの機能構成の一例を示すブロック図である。
【図2】本発明が適用された印刷システムのハードウェア構成の一例を示すブロック図である。
【図3】RGB表現色系のデータとCMYK表現色系のデータとの対応関係を3次元空間に示した図である。
【図4】本実施形態のLUTのデータ構造の一例を模擬的に示す図である。
【図5】プリンタドライバが行う色変換処理に使用するLUTを取得する処理のフローを示す図である。
【符号の説明】
100・・・プリンタホスト、101・・・プリンタドライバ部、102・・・UIF部、103・・・LUT取得部、104・・・色変換処理部、105・・・LUT取得部、106・・・印刷データ取得部、107・・・LUTキャッュ部、108・・・OS処理部、109・・・アプリケーション処理部、110・・・プリンタ、111・・・印刷実行部、112・・・通信制御部、201・・・CPU、202・・・主記憶装置、203・・・補助記憶装置、204・・・インタフェース、210・・・インタフェース、211・・・CPU、212・・・RAM、213・・・ROM、214・・・印刷機構、220・・・画像表示装置、230・・・入力装置
【発明の属する技術分野】
本発明は、印刷システムにおける画像処理の技術に関する。
【0002】
【従来の技術】
カラープリンタは、企業、学校、家庭等において各種資料の作成や、デジタルカメラで撮影した写真の印刷等と様々な用途に用いられている。そして、ユーザは、より高画質でより高速印刷を実現するカラープリンタを求める傾向にある。
【0003】
ところで、コンピュータにおいては、R(赤)G(緑)B(青)表色系の画像データを利用して、ドットマトリックス状の各画素について各色成分を階調値として表している。一方、印刷処理を行うカラープリンタにおいては、カラープリンタのインク色を表示するC(シアン)M(マゼンタ)Y(イエロー)にK(黒)を加えた四色の画像データを利用している。
【0004】
そのため、カラープリンタの画像出力処理では、RGB画像データをCMYKのデータに変換する色変換処理が必要となる。この色変換処理の方法は、種々のものがある。そして、近年は、高画質の画像出力処理を実現することができるルックアップテーブル(以下「LUT」と言う)を利用する方法が一般的に用いられている。これは、プリンタドライバが、予め、RGB表色系の画像を示すデータとCMYK表色系の画像を示すデータとを対応つけて登録しているLUTを基に変換後の画像データ(印刷データ)を補間演算により求めるというものである。
【0005】
さて、この色変換処理を行うために、プリンタドライバには、印刷処理を行う解像度毎に対応したLUTが必要となる(例えば、印刷の解像度が、360×360dpi,720×360dpi,720×720dpi,1440×720dpi,2880×1440dpiの5タイプであれば、それに対応した5種類のLUTが必要になる)。さらに、プリンタドライバには、印刷処理を行う色調(例えばフォト用印刷やグラフィック用印刷等)毎に、また、印刷を行うメディア毎にそれぞれ対応したLUTが必要となる。そして、色変換処理に必要な複数種のLUTを集めた場合にそのデータ容量が大きくなるという問題がある。そのため、これら複数種のLUTを用いるプリンタドライバの色変換処理に必要なデータ容量は大きいものとなる。
【0006】
また近年、パソコン提供者(メーカ、販売業者等)が、ユーザの利便性を考慮し(プリンタのプラグアンドプレイを実現するため)、パソコンに複数機種のプリンタドライバをプリインストールすることが多くなってきている。このような場合に、データ容量の大きいプリンタドライバを複数機種分インストールすることにより、コンピュータのハードディスク等の記憶装置への負担が大きくなるという問題が生じている。
【0007】
さらに、ユーザからの高画質印刷の要望に対応するため、近年、カラープリンタのインク色に6色や7色を用いる機種がある。この場合にはLUTのデータ容量は、さらに大きくなることから、それに伴いプリンタドライバのデータ容量も大きいものとなる。
【0008】
従来の印刷システムには、プリタドライバが色変換処理に利用するLUTを圧縮状態のままでコンピュータにインストールしているものがある(例えば特許文献1参照)。このように、LUTを圧縮状態にしてコンピュータにインストールすることで、コンピュータの記憶装置へのデータ容量の負担を軽減することができる。そして、このプリンタドライバは、画像処理を行う度に、色変換処理に使用するLUTを選定し、その選定したLUTの展開し、その展開したLUTを用いて色変換処理を行っている。
【0009】
【特許文献1】
特開2000−22974号公報
【0010】
【発明が解決しようとする課題】
しかしながら、特許文献1のプリンタドライバを用いた場合には、画像処理のたびに色変換に使用するLUTを展開する処理が必要になる。そのため、ユーザがアプリケーションを介して印刷指示を行い、1枚目の印刷が終了するまでの時間(以下「ファーストプリント」と言う)が長時間かかるという問題があり、より高速な印刷処理を求めているユーザの要望の対応できない。特にCPUの処理能力が低い機種の場合には、ファーストプリントに、さらに長時間を費やすこととなる。
【0011】
そこで、本発明は、データ容量が小さく、かつ、ファーストプリントが早い印刷システムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明の印刷システムは、プリンタドライバを複数種のLUTと共にコンピュータにインストールすることで構築されるプリンタホストと、プリンタと、を有する。ここで、複数種のLUTの中から、頻繁に使用されるLUTを少なくとも1つ定めておく。そして、プリンタホストに、前記少なくとも1つのLUTを非圧縮状態で格納する第1記憶部を設ける。さらに、前記第1記憶部には、前記少なくとも1つ以外の他のLUTを圧縮状態で格納する。また、プリンタホストに、圧縮したLUT展開する手段と、一度展開したLUTを格納する第2記憶部と、アプリケーション介して印刷処理要求を受け付け、該受け付けた印刷処理に使用するLUTを選定する手段と、該選定したLUTが第2記憶部に存在する場合に第2記憶部からLUTを読み出し、該選定したLUTが第2記憶部に存在しない場合、前記第1記憶部からLUTを読み出す手段と、前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開処理する手段と、前記展開したLUTを前記第2記憶部に格納する手段と、前記読み出したLUTを用いて色変換処理を行う手段と、を設ける。
【0013】
例えば、本発明を適用したプリンタドライバは、複数種のLUTのうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納する第1記憶部と、非圧縮状態のLUTだけを格納する第2記憶部と、を有するコンピュータにおいて、画像データを受付け、該受け付けた画像データに色変換処理を施し印刷データを生成する処理と、ユーザからの印刷条件を受け付け、該受け付けた印刷条件に基づいてLUTを選定する処理と、前記選定したLUTが、前記第2記憶部に存在する場合には、該記第2記憶部から該選定したLUTを読み出す処理と、前記選定したLUTが、前記第2記憶部に存在しない場合には、前記第1記憶部からの該選定したLUTを読み出す処理と、前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開し、且つ該展開したLUTを前記第2記憶部に格納する処理と、前記読み出したLUTに基づいて前記画像データを色変換する処理と、をコンピュータに実行させることを特徴とする。
【0014】
ここで、前記少なくとも1つのLUTとは、画像データの色変換処理において、利用頻度が高いLUTであることとしてもよい。
【0015】
また、前記プリンタドライバは、前記第2記憶部に記憶しているLUTの中で、予め定めた期間に読み出しされていないLUTを前記第2記憶部から削除する処理をコンピュータに実行させることとしてもよい。
【0016】
このように、本実施形態によれば、複数種のLUTのうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納している。そのため、コンピュータのハードディスク等の記憶装置のデータ容量の負荷を軽減することができる。また、本実施形態によれば、前記少なくとも1つのLUT(非圧縮状態のLUT)を使用する場合には、LUTの展開処理を行う必要がない。そのため、前記少なくとも1つのLUTを使用した印刷処理の場合に、ファーストプリントに長時間を要さないという効果を奏する。
【0017】
さらに、本実施形態は、色変換処理の際に、圧縮状態で格納されているLUTを使用する場合は、それを展開して使用し、その後、該展開処理を行ったLUTを第2記憶部に格納することとしている。これは、プリンタで行う印刷処理の対象(写真の印刷、グラフィックの印刷等)が、ユーザ毎に様々であり、かつ、個々のユーザ毎に偏る傾向にあることを考慮したためである(例えばグラフィックの印刷に偏るユーザや、写真の印刷に偏るユーザがいる)。すなわち、本実施形態によれば、そのユーザが頻繁に使用するLUTは展開した状態で、そのユーザが使用しないLUTは圧縮した状態でコンピュータの記憶装置に格納されることとなる。そのため、データ容量が小さく、かつ、ファーストプリントに長時間要さない印刷システムを、個々のユーザに対応させて提供することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【0019】
最初に、本発明の実施形態の機能構成を説明する。
【0020】
図1は、本発明の実施形態が適用された印刷システムの機能構成の一例を示すブロック図である。
【0021】
図示するように、本実施形態の印刷システムはプリンタホスト100とプリンタ110とを有して構成されている。ここで、まず、本実施形態の印刷システムのプリンタホスト100の機能構成を説明する。プリンタホスト100は、プリンタドライバ部101と、アプリケーション処理部109と、OS処理部108と、を有する。
【0022】
OS処理部108は、プリンタホスト100の各部(アプリケーション処理部109、プリンタドライバ部101)を統括的に制御する。
【0023】
アプリケーション処理部109は、例えばユーザからの指示に従い作成した文書、表、画像データ等のドキュメントの画像データ(描画コマンド)をプリンタドライバ部101に送信する。
【0024】
プリンタドライバ部101は、アプリケーション処理部109から送信されたドキュメントの画像データ(描画コマンド)から、プリンタ110が解釈可能なコマンド群で構成される印刷データを生成する。そして、プリンタドライバ部101は、該生成した印刷データをプリンタ110に出力する。また、このプリンタドライバ部101は、UIF(ユーザインタフェース)部102と、LUT取得部103と、色変換処理部104と、LUTデータ記憶部105と、印刷データ出力部106と、LUTキャッシュ部107と、を有している。
【0025】
LUTキャッシュ部107は、LUT取得部103が展開処理したLUTを格納するために設けられている。なお、LUT取得部103が行う展開処理については後段で説明する。
【0026】
UIF部102は、後述する色変換処理部104がアプリケーション処理部109から描画コマンドを受け付ける場合に、アプリケーション処理部109を介し、プリンタホスト100に接続されている画像表示装置に印刷条件の設定画面を表示する。そして、UIF部102は、ユーザが設定画面に基づいて入力した印刷条件データを受け付ける。この印刷条件データとは、例えば、印刷の解像度(360×360dpi,720×360dpi等)や、印刷の色調(例えば、フォト用印刷の色調やグラフィック用印刷の色調等)や、印刷するメディアの種類等である。
【0027】
そして、UIF部102は、受信した印刷条件データに基づいて、印刷データを生成するためのLUTを選定し、該選定したLUTを示すデータ(以下「LUT識別データ」と言う)をLUT取得部103に送信する。なお、本実施形態では、UIF部102は、色変換処理部104が用いる複数種のLUTを選定する(カラーマッチング処理に使用するLUT、ハーフトーン処理に使用するLUT、色補正処理に使用するLUTの3種類のLUTが選定される)。
【0028】
LUTデータ記憶部105には、印刷の解像度(360×360dpi,720×360dpi等)や、印刷の色調や、印刷するメディアの種類等に応じた複数種のLUTが格納されている。そして、本実施形態では、この複数種のLUTの中から、頻繁に使用される少なくとも1つのLUTを予め定めておいて、それを非圧縮状態でLUTデータ記憶部105に格納している。また上記の予め定めたLUT以外のものは、圧縮状態でLUTデータ記憶部105に格納している。
【0029】
また、LUTデータ記憶部105に格納されるLUTは、それが圧縮データか非圧縮データであるかを識別できる状態で格納されている。このLUTが圧縮状態であるか否かを識別する方法は特に限定しない。例えば、LUTデータ記憶部105に格納する複数種のLUTデータ各々の予め定めた位置に、圧縮データか非圧縮データかを示すビットデータを付しておくこととしてもよい。また、例えば、上記のビットデータを用いて、LUTデータ記憶部105に格納されているLUTが圧縮データか否かをテーブル形式で管理することとしてもよい。なお、以下では、LUTデータ各々に、圧縮状態であるか否かを示すビットデータを、予め付しておくこととする場合を例に説明する。
【0030】
このように、本実施形態では、データ容量の大きいLUTを圧縮した状態で格納することで、プリンタドライバをインストールするプリンタホストのハードディスク等の記憶装置のデータ容量に対する負担を軽減させることができる。
【0031】
また、本実施形態では、複数種のLUTの中から、予め頻繁に使用される少なくとも1つのLUTを定めておいて、その少なくとも1つのLUTについては、非圧縮状態でLUTデータ記憶部105に格納している。そのため、その予め定めた少なくとも1つのLUTを利用する印刷処理では、圧縮データの展開処理によるファーストプリントの遅延を防止することができる。なお、本実施形態では、この予め定めた少なくとも1つのLUTの具体的な数や選定する基準については特に限定しない。例えば、経験則から、ユーザが最も一般的に行うとされている印刷処理の態様において使用されるLUTを予め定めたLUTとする(例えば、プリンタドライバのデフォルト設定の印刷条件で使用するLUTを定めておく)。そして、この予め定めた少なくとも1つのLUTの選定は、プリンタドライバの提供者(メーカ、販売業者等)がプリンタドライバ製造時(又は提供時)に行なうものとする。また、本実施形態においては、LUTを圧縮する方法は特に限定しないものとする。
【0032】
LUT取得部103は、UIF部102が選定したLUT識別データに基づいて、LUTを取得する。また、LUT取得部103は、LUTキャッシュ部107が格納しているデータを、例えばテーブル形式(図示せず)で管理する。このテーブル(以下「LUTキャッシュテーブル」と言う)は、例えば、LUTキャッシュ部107に格納した「LUT識別データを登録する」エントリと、そのLUTをLUTキャッシュ部107に「格納した日時を登録する」エントリと、LUTキャッシュ部107から「読み出された回数及びその日時を登録する」エントリとを有している。
【0033】
そして、LUT取得部103は、LUT識別データを取得した後、該識別データが特定するLUTがLUTキャッシュ部107に格納されているか否かをLUTキャッシュテーブルに基づいて判断する。
【0034】
そして、そしてLUT取得部103は、該当するLUTが格納されていると判断した場合は、LUTキャッシュ部107から該当するLUTの読み出しを行う。さらに、LUT取得部103は、LUTキャッシュテーブルの「読み出された回数及びその日時を登録する」エントリのデータを更新する。一方、LUT取得部103は、LUTキャッシュ部107に該当するLUTが格納されていないと判断した場合は、LUTデータ記憶部105から、該当するLUTの読み出しを行う。その後、LUT取得部103は、読み出したLUTが、圧縮データか非圧縮データか否かの判断を行う。なお、この判断は本実施形態では、上述した、LUTデータに付加されているビットデータに基づいて行うこととする。
【0035】
そして、読み出したLUTが圧縮状態のデータの場合は、そのLUTの展開処理を行う。その展開したLUTは、色変換処理部104が色変換処理に使用する。そして、その後、LUT取得部103は、LUTキャッシュ部107にその展開したLUTを格納する。また、LUT取得部103は、該展開したLUTをLUTキャッシュ部107に格納する際に、LUTキャッシュテーブルの更新を行う。
【0036】
このように、一度展開したLUTのデータをLUTキャッシュ部107に格納することで、再び、そのLUTを色変換処理部104が使用する場合に、展開処理を行う必要がなくなる。
【0037】
さらに、LUT取得部103は、LUTキャッシュ部107に格納されているデータを所定のタイミングで整理する。具体的には、LUT取得部103は、LUTキャッシュテーブルの「格納した日時を登録するエントリ」及び「読み出された回数及びその日時を登録する」エントリのデータに基づいて、予め定めた期間(この期間はユーザ又はプリンタドライバ提供者が設定する)に、LUTキャッシュ部107から読み出しされていないLUTは、LUTキャッシュ部107から削除する。なお、上記所定のタイミングについては、特に限定しない。例えば、LUT取得部103が、展開したLUTをLUTキャッシュ部107に格納するタイミングで、LUTキャッシュ部107のデータの整理を行うこととしてもよい。
【0038】
このように一度使用されたものの、その後、所定期間に使用されないLUTを、LUTキャッシュ部107から削除することで、ユーザが日常的に使用するLUTだけをLUTキャッシュ部107に格納させておくことができる。すなわち、このような構成を採用することで、プリンタホストの記憶装置の有効活用が図れることとなる。また、このような構成を採用することで、ユーザに対して面倒な設定作業を行わせることなく、プリンタホストの記憶装置に負担をかけない印刷システムを、個々のユーザ毎に対応した形で提供することができる。
【0039】
なお、本発明は、LUTキャッシュ部107に格納されているLUTを削除する場合の要件を上記の例に限らない。例えば、LUTキャッシュ部107に、格納できるデータ容量の上限を予め決めておく。そして、新たに展開したLUTをLUTキャッシュ部107に格納すれば、その上限を超えてしまう場合に、LUTキャッシュ部107から読み出された日時が一番過去のLUTをLUTキャッシュ部107から削除することとしてもよい。
【0040】
色変換処理部104は、アプリケーション処理部109から送信された描画コマンドを受け付けてRBG画像データに変換する(ラスタライズ処理)。また、LUT取得部103が読み出したLUT(カラーマッチング用のLUT)のデータに基づいて、上記のRGB画像データに補間演算を施してCMYK出力画像データに色変換処理を行う。さらに、色変換処理部104は、CMYK出力画像データにLUT取得部103が読み出したLUT(ハーフトーン用のLUT)のデータに基づいて、ハーフトーン処理を施す。その後、該ハーフトーン処理が施されたCMYK出力画像データに、LUT取得部103が読み出したLUT(補正処理用のLUT)のデータに基づいて補正処理を施し、その後、プリンタが解釈可能なコマンド群で構成される印刷データに変換する。そして、このように生成された印刷データを印刷データ出力部106に送信する。
【0041】
印刷データ出力部106は、受信した印刷データをプリンタ110に送信する。
【0042】
続いて、本実施形態の印刷システムのプリンタ110の機能構成を説明する。図示するように、プリンタ110は、プリンタホスト100との間で行うデータの送受信を制御する通信制御部207と、受信した印刷データに基づいて印刷処理を行う印刷実行部111と、を有する。通信制御部112は、プリンタドライバ101から送信され印刷データを受信し、該受信したデータを印刷実行部111に送信する。そして、印刷実行部112が受信した印刷データに基づいて印刷処理を行う。
【0043】
なお、本印刷システムの構成はこれに限定されない。例えば、プリンタホスト100に複数台のコンピュータが接続されたネットワーク印刷システムとしてもよい。
【0044】
続いて、上記の機能を実現するためのハードウェア構成について説明する。
【0045】
図2は、本実施形態が適用された印刷システムのハードウェア構成の一例を示すブロック図である。
【0046】
プリンタホスト100には、プログラムを実行するCPU(中央演算処理装置)201と、CPU201が実行するプログラムやデータを一時的に記憶する主記憶装置202と、プリンタホスト100を制御するためのプログラム等が予め記憶されているハードディスク等の補助記憶装置203と、接続したプリンタ110等の周辺装置とのデータの送受信の制御を行うインタフェース204とを有する、一般的なコンピュータシステムを用いることができる。また、プリンタホスト100には、CRT等の画像表示装置220と、キーボードやマウス等の入力装置230とが接続されていてもよい。
【0047】
そして、プリンタホスト100の各機能構成は、図示する一般的なコンピュータシステムにおいて、CPU201が、補助記憶装置203に記憶されている特定のプログラム(OS、アプリケーション、プリンタドライバ)を、主記憶装置202にロードし、実行することにより実現される。
【0048】
具体的には、上述したOS処理部108の機能は、CPU201が、補助記憶装置203に記憶されている基本ソフトウェアであるOSを、主記憶装置202にロードし、実行することで実現される。
【0049】
また、上述したアプリケーション処理部109の機能は、CPU201が、補助記憶装置203に記憶されているOSと、例えばワープロソフトやフォトレタッチソフト等のアプリケーションとを主記憶装置202にロードし、OSに載せたアプリケーションを実行することで実現される。
【0050】
同様に、プリンタドライバ部101の機能は、CPU201が、補助記憶装置203に記憶されているOSおよびプリンタドライバプログラムを、主記憶装置202にロードしてOSに載せたプリンタドライバプログラムを実行することで実現される。なお、プリンタドライバ部101のLUTデータ記憶部105が格納しているLUTデータと、LUTキャシュ部107が格納しているLUTデータとは、補助記憶装置203の有する記憶領域に格納されていることとする。また、LUT取得部103のLUTキャッシュテーブルは、主記憶装置202又は補助記憶装置203が有する記憶領域に格納されていることとする。
【0051】
プリンタ110は、プリンタホスト100から印刷データを受信したときに、所定の印刷プロセスを実行して印刷媒体である印刷用紙に画像を形成するものである。ここで、本実施形態のプリンタは特に限定しない。例えば、カラー印刷が可能なインクジェットプリンタや、カラー印刷が可能なレーザプリンタを用いることができる。
【0052】
プリンタ110は、プリンタホスト100とのデータの送受信の制御を行うインタフェース210と、プログラムを実行するCPU(中央演算処理装置)211と、イメージデータ等を一時的に記憶するRAM(Random Access Memory)212と、プリンタ110を制御するためのプログラム等が予め不揮発的に記憶されているROM(Read Only Memory)213と、実際に印刷を行う印刷機構214と、を有する。
【0053】
続いて、本実施形態のLUTのデータ構造について、図3、図4を用いて説明する。
【0054】
図3は、RGB表現色系のデータとCMYK表現色系のデータとの対応関係を3次元空間に示した図である。図示するようにRGB表現色系のデータとCMYK表現色系のデータとは所定の対応関係を有する(図中の「W」は白色を示す)。そして、このような対応関係に基づいて両者は、相互に変換可することができる。なお、本実施形態では、一色あたり8ビットのデータとした場合を例に説明する。
【0055】
図4は、本実施形態のLUTのデータ構造の一例を模擬的に示したものである。図示するLUTは、図3で示した立方体の格子点の座標点を用いて、RGB表現色系とCMYK表現色系とを対応付けている。例えば、「W(白色)」を示すデータは、RGB表現色系では、(R,G,B,)=(255,255,255)で表し、それに対応させたCMYK表現色系では、(C,M,Y,K)=(0,0,0,0)で表すこととしている。そして、本実施形態の色変換処理部104は、このように相互に変換可能なLUTのデータの値を使用して、アプリケーションから受け付けた画像データに、予め定めた補間演算を施している。なお、本実施形態のLUTは、印刷処理の解像度毎に、印刷処理の色調毎に、また、印刷を行うメディア毎にそれぞれ対応したLUTが必要となる(例えば、プリンタドライバが、解像度について5タイプに対応しており、印刷の色調について3タイプに対応しており、メディアについて8タイプにしている場合には、120種類のLUTが必要になる)。
【0056】
次に、本実施形態の印刷システムのプリンタドライバ部101の色変換処理に使用するLUTを取得する処理のフローを、図5を用いて説明する。
【0057】
まず、プリンタドライバ部101の色変換処理部104がアプリケーション処理部109から送信された描画コマンドを受け付ける際に、UIF部102は、アプリケーション処理部109を介して、ユーザからの印刷条件データを受け付ける。そして、UIF部102は、この印刷条件データから、色変換処理に使用する複数のLUT(カラーマッチング処理用、ハーフトーン処理用、補正処理用の3つのLUTを選定する)の選定を行う(S300)。そして、UIF部102は、選定したLUTを識別するLUT識別データをLUT取得部103に送信する。
【0058】
続いて、LUT識別データを受信したLUT取得部103は、LUTキャッシュ部107に該当するLUTが存在するか否かの照合を行う(S310)。この照合は、例えば、受信したLUT識別データが、LUT取得部103が有しているLUTキャッシュテーブルに存在するか否かにより行う。そして、LUT取得部103は、該当するLUTがLUTキャッシュ部107に存在すると判断した場合は、LUTキャッシュ部107から該当するLUTの読み出しを行う(S360)。
【0059】
一方、LUT取得部103は、該当するLUTが存在しないと判断した場合は、LUTデータ記憶部105から該当するLUTの読み出しを行う(S320)。
【0060】
続いて、LUT取得部103は、LUTデータ記憶部105から読み出したLUTが圧縮されたデータか否かの判断を行う(S330)。この判断は、読み出したデータに付されているビットデータを用いて行う。そして、LUT取得部103は、読み出したLUTが圧縮されたデータの場合には、圧縮データの展開処理を行う(S340)。この、LUT取得部103が展開したLUTデータは、色変換処理部104が色変換処理に使用する。そして、その後、LUT取得部103は、この展開したLUTデータを、LUTデータキャッシュ部107に格納する(S350)。
【0061】
一方、読み出したLUTが非圧縮データである場合は、該読み出したLUTデータは色変換処理部104が、色変換処理に使用する。その後、色変換処理部104により生成された印刷データは、印刷データ出力部106に送信される。さらに、印刷データ出力部106は、受信した印刷データをプリンタ110に送信し、印刷データを受信したプリンタ110により印刷処理が実行される。
【0062】
以上、説明したように、本実施形態の印刷システムによれば、複数種のLUTの中で、少なくとも1つのLUTを非圧縮状態で、その他のLUTを圧縮状態でLUTデータ記憶部105に格納している。そのため、プリンタホストの記憶装置のデータ容量の負担を軽減させることができる。また本実施形態によれば、上述のように、頻繁に使用する少なくとも1つのLUTを予め定めておいて、それを非圧縮状態で格納している。そのため、予め定めた少なくとも1つのLUTを用いる印刷処理(例えば印刷条件がデフォルトでの印刷処理)を行う場合には、LUTを展開処理する必要がないことからファーストプリントに長時間費やすことがない。
【0063】
さらに、本実施形態の印刷システムによれば、一度展開処理したLUTを、展開した状態(非圧縮状態)でLUTキャッシュ部107に格納している。そして、LUT取得部103は、印刷処理の際に、LUTキャッシュ部107に該当するLUTが有無を確認し、該当するLUTが存在した場合には、LUTキャッシュ部107からそのLUTを読出すようにしている。
【0064】
このように、本発明によれば、ユーザは自分が使用するLUT(一般的にはあまり使用されていないLUTであっても)について、非圧縮状態でLUTキャッシュ部107に格納させておくことができる。
【0065】
すなわち、本発明によれば、データ容量が小さく、かつ、ファーストプリントが早い印刷システムを、個々のユーザに対応させて提供することができる。なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【図面の簡単な説明】
【図1】本発明の第1実施形態が適用された印刷システムの機能構成の一例を示すブロック図である。
【図2】本発明が適用された印刷システムのハードウェア構成の一例を示すブロック図である。
【図3】RGB表現色系のデータとCMYK表現色系のデータとの対応関係を3次元空間に示した図である。
【図4】本実施形態のLUTのデータ構造の一例を模擬的に示す図である。
【図5】プリンタドライバが行う色変換処理に使用するLUTを取得する処理のフローを示す図である。
【符号の説明】
100・・・プリンタホスト、101・・・プリンタドライバ部、102・・・UIF部、103・・・LUT取得部、104・・・色変換処理部、105・・・LUT取得部、106・・・印刷データ取得部、107・・・LUTキャッュ部、108・・・OS処理部、109・・・アプリケーション処理部、110・・・プリンタ、111・・・印刷実行部、112・・・通信制御部、201・・・CPU、202・・・主記憶装置、203・・・補助記憶装置、204・・・インタフェース、210・・・インタフェース、211・・・CPU、212・・・RAM、213・・・ROM、214・・・印刷機構、220・・・画像表示装置、230・・・入力装置
Claims (7)
- 画像データを受付け、印刷データを構成する色成分ごとに配列された色変換テーブル(以下「LUT」と言う)に基づいて、該受け付けた画像データに色変換処理を施し印刷データを生成する処理をコンピュータに実行させるプリンタドライバであって、
前記コンピュータは、複数種のLUTのうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納する第1記憶部と、非圧縮状態のLUTだけを格納する第2記憶部と、を有し、
前記プリンタドライバは、
ユーザからの印刷条件を受け付け、該受け付けた印刷条件に基づいて前記色変換処理に用いるLUTを選定する処理と、
前記選定したLUTが、前記第2記憶部に存在する場合には、該記第2記憶部から該選定したLUTを読み出す処理と、
前記選定したLUTが、前記第2記憶部に存在しない場合には、前記第1記憶部からの該選定したLUTを読み出す処理と、
前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開し、且つ該展開したLUTを前記第2記憶部に格納する処理と、
前記読み出したLUTに基づいて前記画像データを色変換する色変換処理と、をコンピュータに実行させること
を特徴とするプリンタドライバ。 - 請求項1記載のプリンタドライバにおいて、
前記少なくとも1つのLUTとは、画像データの色変換処理において、利用頻度が高いLUTであること
を特徴とするプリンタドライバ。 - 請求項1記載のプリンタドライバにおいて、
前記第2記憶部に記憶しているLUT中で、予め定めた期間に読み出しされていないLUTを前記第2記憶部から削除する処理をコンピュータに実行させること
を特徴とするプリンタドライバ。 - 請求項1〜3のいずれか一項に記載のプリンタドライバと、前記第1記憶部に格納する複数種のLUTとを記録したコンピュータ読み取り可能な記録媒体。
- 画像データを受付け、印刷データを構成する色成分ごとに配列された色変換テーブル(以下「LUT」と言う)に基づいて、該受け付けた画像データの色変換処理を行い、印刷データを生成するプリンタホストであって、
複数種のLUTののうち少なくとも1つのLUTを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納する第1記憶部と、
ユーザからの印刷条件を受け付け、該印刷条件に基づいてLUTを選定するユーザインタフェース部と、
非圧縮状態のLUTのみを格納する第2記憶部と、
前記選定したLUTが、前記第2記憶部に存在する場合には、該記第2記憶部から該選定したLUTを読み出す処理を行い、前記選定したLUTが、前記第2記憶部に存在しない場合には、前記第1記憶部から該選定したLUTを読み出す処理を行い、前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開し、且つ該展開したLUTを前記第2記憶部に格納する処理を行うLUT取得部と、
前記LUT取得部が読み出したLUT基づいて、前記画像データの色変換処理を行う色変換処理部と、を有すること
を特徴とするプリンタホスト。 - 印刷データを受け付けて印刷処理を実行するプリンタと、請求項5記載のプリンタホストと、を備え、
前記プリンタホストは、前記生成した印刷データを前記プリンタに送信すること
を特徴とする印刷システム。 - プリンタホストに画像データを受け付けさせ、印刷データを構成する色成分ごとに配列された色変換テーブル(以下「LUT」と言う)に基づいて、該画像データに色変換処理を施し印刷データを生成する画像処理方法であって、
前記プリンタホストは、複数種のLUTのうち少なくとも1つを非圧縮状態で格納し、かつ、その他のLUTを圧縮状態で格納する第1記憶部と、非圧縮状態のLUTだけを格納する第2記憶部と、を有し、
前記プリンタホストにおいて、
ユーザからの印刷条件を受け付け、該印刷条件に基づいて前記色変換処理に用いるLUTを選定する処理を実行し、
前記選定したLUTが、前記第2記憶部に存在する場合には、該記第2記憶部から該選定したLUTを読み出す処理を実行し、
前記選定したLUTが、前記第2記憶部に存在しない場合には、前記第1記憶部から該選定したLUTの読み出す処理を実行し、
前記第1記憶部から読み出したLUTが圧縮状態の場合には、該LUTを展開し、且つ該展開したLUTを前記第2記憶部に格納する処理を実行し、
前記読み出したLUTに基づいて、前記画像データの色変換処理を実行すること
を特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002310990A JP2004145705A (ja) | 2002-10-25 | 2002-10-25 | プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002310990A JP2004145705A (ja) | 2002-10-25 | 2002-10-25 | プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004145705A true JP2004145705A (ja) | 2004-05-20 |
Family
ID=32456348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002310990A Pending JP2004145705A (ja) | 2002-10-25 | 2002-10-25 | プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004145705A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031376A (ja) * | 2004-07-15 | 2006-02-02 | Canon Inc | 画像処理装置および色変換方法 |
-
2002
- 2002-10-25 JP JP2002310990A patent/JP2004145705A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031376A (ja) * | 2004-07-15 | 2006-02-02 | Canon Inc | 画像処理装置および色変換方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4217398B2 (ja) | 画像データ処理方法、画像データ処理装置、記憶媒体、及びプログラム | |
JP4814026B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US20050099430A1 (en) | Image data processing method and apparatus, storage medium product, and program product | |
US20090185205A1 (en) | Image processing apparatus, image processing method, and computer program product | |
JP2012232590A (ja) | 画像形成システム、及び、画像形成プログラム | |
US20050213123A1 (en) | Image forming apparatus and storage medium | |
JP4973803B1 (ja) | 画像処理装置及びプログラム | |
JPH07288705A (ja) | カラー画像処理装置および方法 | |
JP2010220075A (ja) | 画像形成装置、画像データ処理方法及びプログラム | |
JP4208877B2 (ja) | 画像処理装置及び方法、コンピュータプログラム及び記憶媒体 | |
JP2002199236A (ja) | 画像処理装置および画像処理方法 | |
JP2004145705A (ja) | プリンタドライバ、プリンタホスト、印刷システム、画像処理方法 | |
US20110051199A1 (en) | Method of printing document based on black optimization printing option and image forming apparatus and host device to perform the same | |
JP2010056769A (ja) | 画像処理装置及び画像処理方法 | |
JP3695498B2 (ja) | 画像処理装置 | |
US20050200645A1 (en) | Image forming apparatus and storage medium | |
JP2003316559A (ja) | 画像データ構造、画像データ作成装置及び画像出力装置 | |
US7342683B2 (en) | Data processing method for color management module | |
JP2004348405A (ja) | 情報処理装置及びプログラム | |
JP5556462B2 (ja) | 文書作成支援装置、文書作成支援方法、プログラムおよび記録媒体 | |
JP5732864B2 (ja) | 情報処理装置、プログラム、および、印刷方法 | |
JP2005275671A (ja) | 印刷制御装置、印刷制御方法および印刷制御プログラムを記録した媒体 | |
US7675642B2 (en) | Print apparatus and print method | |
JP2004023196A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 | |
JP2011152764A (ja) | 印刷装置、制御方法および制御プログラム |