JP4096650B2 - プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 - Google Patents
プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 Download PDFInfo
- Publication number
- JP4096650B2 JP4096650B2 JP2002211921A JP2002211921A JP4096650B2 JP 4096650 B2 JP4096650 B2 JP 4096650B2 JP 2002211921 A JP2002211921 A JP 2002211921A JP 2002211921 A JP2002211921 A JP 2002211921A JP 4096650 B2 JP4096650 B2 JP 4096650B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- type
- band
- raster
- rgbx
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Record Information Processing For Printing (AREA)
- Color, Gradation (AREA)
Description
【発明の属する技術分野】
本発明は、プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置に、関する。
【0002】
【従来の技術】
カラープリンタ用のプリンタドライバの中には、カラープリンタ側で特殊な処理を行う必要がない形式の印刷データ(CMYKイメージデータ形式やCMYイメージデータ形式の印刷データ)を生成するものが、存在している。
【0003】
そのような印刷データ、例えば、CMYKイメージデータ形式の印刷データを生成する際には、多数のRGBデータをCMYKデータに変換することが必要である。しかしながら、多数のRGBデータのCMYKデータへの変換が、一々、RGBデータとCMYKデータの対応関係を定めるLUT(Look Up Table)を参照して行われるようにしたのでは、印刷データの生成に時間がかかってしまうことになる。このため、LUTを利用する処理の実行回数が少なくなるようにしたプリンタドライバが、開発されている。
【0004】
具体的には、1バンド分の印刷データを、図5に示したような手順で生成するプリンタドライバが、開発されている。
【0005】
すなわち、このプリンタドライバによって或るバンド(以下、処理対象バンドと表記する)に関する印刷データが生成される際には、まず、アプリケーションから与えられるデータに基づき、印刷データを生成すべきバンドに関するRGBXバンドデータが生成される(ステップS501)。
【0006】
ここで、RGBXバンドデータとは、24ビットのRGBデータと8ビットのXデータとからなるRGBXデータを1バンド分の画素のそれぞれについて含むデータのことである。また、Xデータとは、高品質な色変換(印刷対象の内容に応じた色変換)を行えるようにするために、各RGBデータに付加されているデータのことである。具体的には、このXデータは、図6に模式的に示したように、第6及び第7ビットに、色変換時(RGBデータをCMYKデータに変換する時)に使用すべきLUTを指定するデータ(図では、色変換用パラメータ)が設定され、第0ビットに、CMYKXバンドデータから印刷データを生成する際の処理内容を指定するデータ(図では、スクリーン処理用パラメータ)が設定されるデータ(第1〜第5ビットは、常に“0”のデータ)となっている。
【0007】
ステップS501の完了後には、生成されたRGBXバンドデータ(以下、処理対象RGBXバンドデータと表記する)が、全てRGBXデータが白画素を表しているバンドデータ(以下、白バンドデータと表記する)であるか否かをチェックするための処理(ステップS502)が行われる。すなわち、このステップでは、処理対象RGBXラスタデータ内の各RGBXデータについて、順次、そのRGBXデータが白画素を表しているデータであるか否かをチェックする処理であって、白画素を表していないRGBXデータが見いだされたとき、或いは、全てRGBXデータが白画素を表していることが確認されたときに、終了される処理が、行われる。
【0008】
そして、処理対象RGBXバンドデータが白バンドデータであった場合(ステップS503;NO)には、処理対象バンドに関する印刷データが生成されることなく、この図5の処理が終了される(このプリンタドライバは、実際に描画が必要とされる画素が存在しないバンドに関する印刷データを生成しないものとなっている)。
【0009】
一方、処理対象RGBXバンドデータが白バンドデータではなかった場合(ステップS503;NO)には、処理対象RGBXバンドデータ内の最初のRGBXデータが読み出されて処理対象RGBXデータとされる(ステップS504)。次いで、その処理対象RGBXデータ内のXデータ(以下、処理対象Xデータと表記する)にて指定されているLUTを利用して、処理対象RGBXデータ内のRGBデータ(以下、処理対象RGBデータと表記する)に相当するCMYKデータを求める処理(ステップS505)が行われる。なお、このプリンタドライバは、LUTから目的とするCMYKデータの検索が高速に行えるようにするために、このステップS505にて、RGBデータによりハッシュキーが作成されると共に、キャッシュが利用される形の処理が行われるものとなっている。
【0010】
その後、求めたCMYKデータと処理対象RGBXデータ内のXデータとからなるCMYKXデータを、メモリ上に確保されているCMYKXバンドデータ記憶領域に記憶する処理(ステップS506)が、行われる。ここで、CMYKXバンドデータ記憶領域とは、連続した記憶領域がデータの種類別に確保されている記憶領域(C、M、Y、K、X用の各記憶領域の集合)のことである。すなわち、このステップS506では、メモリ上の5カ所にそれぞれ1バイトのデータを書き込む処理が行われる。
【0011】
その後、全データの処理が完了していなかった場合(ステップS507;NO)には、RGBXバンドデータから、処理対象RGBXバンドデータ内の次のRGBXデータが処理対象RGBXデータとして読み出される(ステップS508)。
【0012】
そして、その処理対象RGBXデータと前回の処理対象RGBXデータとが同一のデータであるか否かが判断(ステップS509)され、同一であった場合(ステップS509;YES)には、前回、CMYKXラスタデータ記憶領域に記憶したものと同じCMYKXデータ(図では、現CMYKXデータ)を、CMYKXラスタデータ記憶領域に記憶する処理(ステップS510)が行われた後に、ステップS507以降の処理が行われる。
【0013】
一方、その処理対象RGBXデータが前回の処理対象RGBXデータと同じデータではなかった場合(ステップS509;NO)には、ステップS505以降の処理が行われる。
【0014】
そして、処理対象RGBXラスタデータ内の全RGBXデータの処理が完了したとき(ステップS507;YES)に、生成が完了したCMYKXバンドデータ(その時点において、CMYKXバンドデータ記憶領域に記憶されているデータ)内のCMYKデータ群に基づき、CMYKXバンドデータ内のXデータ群の第0ビットを参照して印刷データを生成する処理(ステップS511)が、行われる。
【0015】
【発明が解決しようとする課題】
本発明の課題は、既存の手順とは異なる手順の処理により、高速に印刷データを生成することが出来るプリンタドライバを、提供することにある。
【0016】
また、本発明の他の課題は、既存の手順とは異なる手順の処理により、イメージデータの色変換を高速に行えるイメージデータ変換装置を、提供することにある。
【0017】
【課題を解決するための手段】
上記課題を解決するために、本発明のプリンタドライバは、コンピュータに、
印刷すべき画像を表す、複数のRGBデータである第1種画素データからなる第1種ラスタデータを複数個含む第1種バンドデータを前記画像を構成するバンド毎に前記コンピュータが備えるメモリ上に生成する第1種バンドデータ生成ステップと、
前記第1種バンドデータ生成ステップにより生成された各第1種バンドデータに対して、その第1種バンドデータに含まれる各第1種ラスタデータが、全ての画素が白画素であることを表している白ラスタデータであるか否かを判別するための調査であるとともに、その第1種ラスタデータを、同一の第1種画素データが連続している複数の部分に分割することが出来る情報である連続部分情報を得るための調査を行う調査ステップと、
前記調査ステップによる調査結果に基づき、前記第1種バンドデータ生成ステップにより生成された、少なくとも1つの第1種ラスタデータが白ラスタデータではない各第1種バンドデータに対してのみ、その第1種ラスタデータに含まれる同一の第1種画素データが連続している各部分について、当該部分を構成する1つの第1種画素データに所定の色変換処理を施すことによりCMYKデータである第2種画素データを得た後に当該第2種画素データを当該部分に含まれる前記第1種画素データの数と等しい数だけ前記メモリ上のデータ記憶領域に記憶する部分変換処理を行う第2種バンドデータ生成ステップと、
前記第2種バンドデータ生成ステップにより生成された各第2種バンドデータから、プリンタに供給する印刷データを生成する印刷データ生成ステップ
とを、実行させるプリンタドライバであって、
前記データ記憶領域には、前記第2種画素データを構成する複数種類の成分データのそれぞれに対応づけられた複数の、連続した記憶領域が、含まれ、
前記第2種バンドデータ生成ステップにて行われる前記部分変換処理が、L個の第2種画素データを前記データ記憶領域に記憶する必要がある場合に、当該第2種画素データを構成する成分データ毎に、前記データ記憶領域内のその成分データに対応づけられている前記記憶領域に、その成分データを所定数並べたデータを記憶する第1記憶処理とその成分データを記憶する第2記憶処理とがL個の第2種画素データを当該記憶領域に記憶するために必要な回数ずつ行われる処理であるとともに、第1記憶処理が行われる回数ができるだけ多くなるように各処理の実行回数が定められる処理
とを、実行させることが出来るように、作成される。
【0018】
このプリンタドライバによれば、第1種画素データの比較がまとめて行われた後に色変換が行われる形で印刷データが生成されるので、画素データの比較と色変換が交互に行われる既存のプリンタドライバよりも、高速に印刷データが生成できることになる。
このようにプリンタドライバを構成しておけば、白ラスタデータであるか否かのチェックが2回行われることがなくなるので、その分、既存のプリンタドライバよりも高速に印刷データが生成できることになる。
さらに、データ記憶領域が、第2種画素データを構成する複数種類の成分データのそれぞれに対応づけられた複数の、連続した記憶領域が含まれる領域となり、第2種バンドデータ生成ステップにて行われる部分変換処理が、L個の第2種画素データをデータ記憶領域に記憶する必要がある場合に、当該第2種画素データを構成する成分データ毎に、データ記憶領域内のその成分データに対応づけられている記憶領域に、その成分データを所定数並べたデータを記憶する第1記憶処理とその成分データを記憶する第2記憶処理とがL個の第2種画素データを当該記憶領域に記憶するために必要な回数ずつ行われる処理であるとともに、第1記憶処理が行われる回数ができるだけ多くなるように各処理の実行回数が定められる処理となるようにしておくことも出来る。
【0019】
本発明のプリンタドライバは、第1種画素データが、或る画素の色を表す色データと、その画素の属性を示す属性データとからなるデータとなり、調査ステップが、2つの第1種画素データの色データ及び属性データが一致しているときにそれらの第1種画素データが同一の第1種画素データであると判断するステップとなり、第2種バンドデータ生成ステップが、所定の色変換処理として、第1種画素データに含まれる属性データに応じてその内容が定められている処理を行うステップとなるように、構成しておく(プログラムしておく)ことが出来る。
【0020】
また、第1種画素データとして属性データを含むものを用いる場合には、属性データが、画素の属性を示すために使用されている第1ビット群と、画素の属性を示すために使用されていない第2ビット群とからなる所定ビット数のデータとなり、調査ステップが、第1種バンドデータ生成ステップにより生成された第1種バンドデータに対する調査結果を表す情報を、その第1種イメージデータに含まれる幾つかの第1種画素データ内の属性データの第2ビット群に設定するステップとなり、第2種バンドデータ生成ステップが、調査ステップによる第1種バンドデータに対する調査結果を、第1種バンドデータを構成している幾つかの第1種画素データに含まれている属性データの第2ビット群の値に基づき、把握するステップとなるように、プリンタドライバを構成しておくとが出来る。
【0025】
そして、本発明のコンピュータ可読媒体には、本発明のプリンタドライバが記録されているので、本発明のコンピュータ可読媒体によれば、コンピュータを、印刷データを高速に生成できる装置として機能させられることになる。
【0026】
また、本発明のイメージデータ変換装置は、本発明のプリンタドライバと同様の手順でイメージデータの変換(第1種バンドデータに基づく第2種バンドデータの生成)を行う装置となっている。従って、本発明のイメージデータ変換装置を用いれば、イメージデータに対する色変換を高速に行えることになる。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0028】
図1に模式的に示したように、本発明の一実施形態に係るプリンタドライバ10は、CMYKイメージデータ形式の印刷データの供給を必要とするカラーレーザプリンタ50を利用するコンピュータ60にインストールされるプログラムである。
【0029】
本実施形態に係るプリンタドライバ10は、図5及び図6を用いて説明した既存のプリンタドライバ(以下、オリジナルプリンタドライバと表記する)を、RGBXバンドデータのCMYKXバンドデータへの変換が新規な手順の処理で行われるように、改良したものである。換言すれば、本プリンタドライバ10は、オリジナルプリンタドライバと類似したものとなっている。このため、以下では、オリジナルプリンタドライバとの差異を中心に、本実施形態に係るプリンタドライバ10の機能を説明することにする。
【0030】
既に説明したように、オリジナルプリンタドライバによる印刷データの生成時には、アプリケーションからのデータに基づき生成されたRGBXバンドデータについて、まず、そのRGBXバンドデータが白バンドデータであるか否かをチェックするための処理(図5のステップS502)が、行われる。これに対して、本プリンタドライバ10による印刷データの生成時には、アプリケーションからのデータに基づき生成されたRGBXバンドデータ(オリジナルプリンタドライバにより生成されるものと同構成のもの)を構成している各RGBXラスタデータについて、図2に示した手順のRGBXラスタデータ調査処理が、行われる。
【0031】
すなわち、或るRGBXラスタデータ(以下、処理対象RGBXラスタデータと表記する)に対するRGBXラスタデータ調査処理時には、まず、変数L、N、Nsが、それぞれ、“1”に初期化される(ステップS101)。
【0032】
その後、処理対象RGBXラスタデータから、先頭画素に関するRGBXデータが読み出され(ステップS102)、Nに“1”が加算される(ステップS103)。その後、処理対象RGBXラスタデータから、次のRGBXデータ(N番目のRGBXデータ)が読み出され(ステップS104)、読み出したRGBXデータが、前RGBXデータ(ステップS102或いは前回のステップS104で読み出されたRGBXデータ)と同じデータであるか否かが判断される(ステップS105)。
【0033】
両RGBXデータが同一のデータであった場合(ステップS105;YES)には、ステップS106にて、Lに“1”が加算される。その後、前RGBXデータとその値を比較したRGBXデータが、処理対象RGBXラスタデータ内の最終画素に関するデータであるか否かが判断(ステップS109)され、そうでなかった場合(ステップS109;NO)には、ステップS103以降の処理が再び行われる。
【0034】
一方、両RGBXデータが異なったデータであった場合(ステップS105;NO)には、それまでの調査により得られた調査結果を表す情報を処理対象RGBXラスタデータ内に設定する処理である調査結果記録処理(ステップS107)が、行われる。
【0035】
この調査結果記録処理では、まず、その時点におけるL値が3以下であるか否かが判断される。そして、L値が3以下であった場合には、そのL値を、処理対象RGBXラスタデータ内のNs番目の画素に関するXデータの第1〜第3ビットに設定する処理が行われる。一方、L値が3を超えていた場合には、“L mod4”(Lを“4”で割った余り)、“1”を、それぞれ、Ns番目のRGBXデータに関するXデータの第1〜第3ビット、第4ビットに設定し、“Ns+1”番目の画素に関するRGBXデータが記憶されている領域に、INT(L/4)(Lを4で割った商)を記憶する処理(“Ns+1”番目のRGBXデータを、Int(L/4)に書き換える処理)が、行われる。
【0036】
なお、流れ図への表記は省略してあるが、このRGBXラスタデータ調査処理は、調査結果記録処理が行われることなく終了される場合がある処理となっている。具体的には、RGBXラスタデータ調査処理は、ステップS107が最初に実行される直前に、その時点におけるL値が規定値LLMT未満であるか否かが判断され、L値が規定値LLMT未満であった場合には、調査結果記録処理が行われることなく終了される処理となっている。換言すれば、このRGBXラスタデータ調査処理は、処理対象RGBXラスタデータが、その先頭側のLLMT個のRGBXデータが同一データとはなっていないRGBXラスタデータであることが判った時点で終了される処理となっている。
【0037】
調査結果記録処理(ステップS107)の終了後には、Lに“1”が設定されるとともに、Nsにその時点におけるN値が設定される(ステップS108)。そして、未処理のRGBXデータが処理対象RGBXラスタデータ内に残っていた場合(ステップS109;NO)には、ステップS103からの処理が再び行われ、処理対象RGBXラスタデータ内の全てのRGBXデータに対する処理が完了した場合(ステップS109;YES)には、ステップS110にて、調査結果記録処理が行われる。
【0038】
このステップS110で実行される調査結果記録処理は、ステップS107で実行される調査結果記録処理とほぼ同内容の処理である。ただし、ステップS110で実行される調査結果記録処理では、Ns値が1であり、かつ、直前に、前データと比較したRGBXデータが白画素を表すデータであった場合(つまり、処理対象RGBXラスタデータが白ラスタデータであった場合)、1番目の画素に関するXデータの第4ビット等に値が設定されるのではなく、当該Xデータの第5ビットに“1”が設定される。
【0039】
そして、ステップS110が完了した際に、処理対象RGBXラスタデータに対するRGBXラスタデータ調査処理が終了される(次のRGBXラスタデータに対するRGBXラスタデータ調査処理が開始される)。
【0040】
要するに、RGBXラスタデータ調査処理は、処理対象RGBXラスタデータが、全ての画素が白画素であることを表している白ラスタデータであるか否かを判別するための調査であるとともに、処理対象RGBXラスタデータを同一のRGBXデータが連続している複数の部分に分割することが出来る情報を得るための調査が行われ、その調査結果を示す情報が、図3に模式的に示したような形で、処理対象RGBXラスタデータ内の幾つかのXデータの第1〜第5ビット(第5ビットが使用されるのは、1番目の画素に関するXデータのみ)に記録される処理となっている。また、RGBXラスタデータ調査処理は、処理対象RGBXラスタデータが、その先頭側のLLMT個のRGBXデータが同一データとはなっていないRGBXラスタデータであった場合には、処理対象RGBXラスタデータに何ら情報を設定しない(1番目の画素に関するXデータの第1〜第5ビットを“0x00000”に維持する)処理ともなっている。
【0041】
本プリンタドライバ10による印刷データの生成時には、このようなRGBXラスタデータ調査処理が、処理対象となっているRGBXバンドデータ(以下、処理対象RGBXバンドデータと表記する)を構成している全てのRGBXラスタデータに対して、処理対象RGBXバンドデータが白バンドデータであるか否かをチェックするための処理(白ラスタデータではないRGBXラスタデータを見いだしたときに、その旨を記憶する処理)を伴う形で、行われる。
【0042】
そして、処理対象RGBXバンドデータが白バンドデータであった場合には、オリジナルプリンタドライバと同様に、そのバンドに関する印刷データの生成が省略される。一方、処理対象RGBXバンドデータが白バンドデータでなかった場合には、処理対象RGBXバンドデータ内の各RGBXラスタデータに対して、図4に示した手順のCMYKXラスタデータ生成処理が、行われる。
【0043】
すなわち、或るRGBXラスタデータ(以下、処理対象RGBXラスタデータと表記する)に対するCMYKXラスタデータ生成処理時には、まず、処理対象RGBXラスタデータから、先頭画素に関するRGBXデータが読み出される(ステップS201)。そして、そのRGBXデータに含まれるXデータの第1〜第5ビットの値に基づき、処理対象RGBXラスタデータが、白ラスタデータ、情報非設定ラスタデータ、情報設定済ラスタデータのいずれであるかが、判断される(ステップS202)。ここで、情報非設定ラスタデータとは、調査結果記録処理が行われることなくRGBXラスタデータ調査処理が終了されたRGBXラスタデータのことであり、情報設定済ラスタデータとは、RGBXラスタデータ調査処理時に調査結果記録処理が行われたRGBXラスタデータ(白ラスタデータではないもの)のことである。
【0044】
要するに、このステップS202では、Xデータの第1〜第5ビットの状態が、第5ビットが“1”となっていた場合には、処理対象RGBXラスタデータが白ラスタデータであると判断される。また、Xデータの第1〜第4ビットの中に“1”となっているビットが存在していた場合には、処理対象RGBXラスタデータが情報設定済ラスタデータと判断され、Xデータの第1〜第5ビットが全て“0”となっていた場合には、処理対象RGBXラスタデータが情報非設定ラスタデータであると判断される。
【0045】
そして、処理対象RGBXラスタデータが白ラスタデータであった場合(ステップS203;白)には、CMYKXバンドデータ記憶領域上に、処理対象RGBXラスタデータに関するCMYKXラスタデータ(処理対象RGBXラスタデータの変換結果)として、NMAX個の,全ビットが“0”となっているCMYKXデータ(“白”を表すデータ)を記憶する処理(ステップS204)が行われる。なお、NMAXとは、RGBXラスタデータに含まれるRGBXデータの数のことである。また、このステップS204の処理は、CMYKXバンドデータ記憶領域を構成しているC、M、Y、K、Xデータ記憶領域に、それぞれ、C、M、Y、K、Xデータ(この場合、いずれのデータも“0x00000000”)を4個ずつ(4バイトデータとして)記憶することにより行われる。
【0046】
また、処理対象RGBXラスタデータが情報設定済ラスタデータであった場合(ステップS203;情報設定済)には、ステップS211〜S215の処理により、CMYKXラスタデータがCMYKラスタデータ記憶領域上に生成される。
【0047】
すなわち、この場合、まず、処理対象Xデータ(処理対象RGBXデータ内のXデータ)中の第6,7ビットが示しているLUTを用いて、処理対象RGBデータに応じたCMYKデータを求める処理(ステップS211)が、行われる。このステップS211の処理は、オリジナルプリンタドライバにより行われているもの(図5のステップS505)と同じものである。
【0048】
次いで、処理対象Xデータの値に基づき、処理対象RGBXデータに関する連続数L等を特定する処理(ステップS212)が、行われる。より具体的には、このステップS212では、処理対象Xデータの第4ビットが“0”である場合には、処理対象Xデータの第1〜第3ビットが示している値をL及びQとして記憶し、“0”をPとして記憶する処理が行われる。また、処理対象Xデータの第4ビットが“1”である場合には、処理対象RGBXラスタデータ内の次の32ビットデータが表している値をPとして記憶し、処理対象Xデータの第1〜第3ビットが示している値をQとして記憶し、“4×P+Q”をLとして記憶する処理が行われる。
【0049】
そして、続くステップS213において、処理対象Xデータ、ステップS211の処理にて求められたCMYKデータ内のC,M,Y,Kデータのそれぞれについて、CMYKXバンドデータ記憶領域内の対応記憶領域に、そのデータ(1バイトデータ)を4個並べた4バイトデータを書き込む処理がP回行われると共に、そのデータを書き込む処理がQ回行われる。なお、このステップS213の処理は、4バイトデータのメモリへの書き込みと、1バイトデータのメモリへの書き込みの順番の調整を行うことにより、実際のメモリアクセスがより高速に行われるようにすること(4バイトデータが、その先頭アドレスが4の倍数となっている4バイト分の記憶領域へ書き込まれるようにすること)が出来る場合には、その調整が行われる処理となっている。すなわち、このステップS213で行われる処理は、例えば、Lが“6”である場合、1バイトデータ、4バイトデータ、1バイトデータの順でメモリへの書き込みが行われることも、1バイトデータ、1バイトデータ、4バイトデータの順でメモリへの書き込みが行われることも、4バイトデータ、1バイトデータ、1バイトデータの順でメモリへの書き込みが行われることもある処理となっている。
【0050】
ステップS213の完了後には、処理対象RGBXラスタデータ内の全てのRGBXデータに対する処理が完了しているか否かが判断される(ステップS214)。そして、全てのRGBXデータの処理が完了していなかった場合(ステップS214;NO)には、処理対象RGBXラスタデータから、次に処理すべきRGBXデータが読み出されて処理対象RGBXデータとして記憶される(ステップS215)。すなわち、処理対象RGBXデータがn番目のRGBXデータである状態で実行されるステップS215では、“n+L”番目のRGBXデータが、次の処理対象RGBXデータとして処理対象RGBXラスタデータから読み出される。
【0051】
その後、処理対象RGBXデータに対して、ステップS211以降の処理が再び行われる。そして、上記のような処理が処理対象RGBXラスタデータ内の全てのRGBXデータに対して行われたとき(ステップS214;YES)に、このCMYKXラスタデータ生成処理が終了される。
【0052】
また、処理対象RGBXラスタデータが情報非設定ラスタデータ(調査結果記録処理が行われることなくRGBXラスタデータ調査処理が終了されたRGBXラスタデータ)であった場合(ステップS203;情報非設定)には、オリジナルプリンタドライバにより行われているものと同手順の処理により、処理対象RGBXラスタデータに応じたCMYKXラスタデータがCMYKXバンドデータ記憶領域上に生成される(ステップS204)。
【0053】
なお、先頭側のLLMT個のRGBXデータが同一データとはなっていないRGBXラスタデータに対する処理手順と、先頭側のLLMT個のRGBXデータが同一データとなっているRGBXラスタデータに対する処理手順とを違えているのは、同一のRGBXデータが連続している部分がほとんどないRGBXラスタデータ(例えば、デジタルカメラの撮影結果の印刷時に生成されるRGBXラスタデータ)に関しては、RGBXラスタデータ調査処理及びCMYKXラスタデータ生成処理を行った場合よりも、従来手順の処理を行った場合の方が、短時間でCMYKXラスタデータが生成できるからである。
【0054】
そして、本プリンタドライバ10による印刷データの生成時には、処理対象RGBXバンドデータを構成している全てのRGBXラスタデータに対してCMYKXラスタデータ生成処理が行われた結果として、CMYKXバンドデータ記憶領域上に生成されたCMYKXバンドデータから、オリジナルプリンタドライバによる印刷データの生成時に行われているものと同手順の処理により、1バンド分の印刷データが生成される。
【0055】
以上、説明したように、本実施形態に係るプリンタドライバ10がインストールされたコンピュータ60では、RGBXバンドデータからCMYKXバンドデータを生成する際に、RGBXバンドデータを構成する各RGBXラスタデータについて、そのRGBXラスタデータが白ラスタデータであるか否かを判別するための調査であるとともに、そのRGBXラスタデータを同一のRGBXデータが連続している複数の部分に分割することが出来る情報を得るための調査が、行われる。そして、その調査結果に基づき、各RGBXラスタデータに対して、色変換処理が実際に行われる回数が少なく、かつ、メモリへのデータ書き込みが、可能な限り4バイト単位で行われる手順の処理が行われることにより、CMYKXバンドデータが生成される。
【0056】
従って、本プリンタドライバ10を用いれば、先頭部分に複数の白ラスタデータが含まれるRGBXバンドデータからCMYKXラスタデータを生成する際に、それらの白ラスタデータのそれぞれについて、連続している2つのRGBXデータが同一のものであるか否かのチェックが2回行われることになるプログラムであるとともに、CMYKXラスタデータのメモリへの書き込みが常に1バイトずつ行われ、連続している2つのRGBXデータが同一のものであるか否かのチェックと色変換処理とが並行的に行われるプログラムとなっているオリジナルプリンタドライバを用いた場合よりも、高速に印刷データを生成できることになる。
【0057】
最後に、表1を用いて、オリジナルプリンタドライバとプリンタドライバ10の性能の差異を説明しておくことにする。なお、この表に記した評価結果は、CPUとして、クロック周波数が1.5GHzであるペンティアム4(米国インテル社の商標)を備え、OSとして、Windows2000(米国マイクロソフト社の商標)が用いられたコンピュータ上で、オリジナルプリンタドライバ、本実施形態に係るプリンタドライバ10に、日本電子工業振興協会により制定されているプリンタ用標準テストパターンJ11(A4、12ページのテストパターン)の印刷データのファイルへの書き出しを行わせることによって得られたものである。
【0058】
【表1】
このように、プリンタドライバ10を用いれば、オリジナルプリンタドライバよりも極めて高速に印刷データが生成できることが出来る。
【0059】
<変形形態>
本実施形態のプリンタドライバ10は、各種の変形を行うことが出来る。例えば、プリンタドライバ10は、CMYKXデータのメモリへの書き込み時、可能な限り、4個単位でその成分データ(Cデータ等)をメモリに書き込むものであったが、1個ずつメモリに書き込まれるように、プリンタドライバ10を変形しても良い。ただし、そのようにプリンタドライバ10を変形した場合、オリジナルプリンタドライバよりも早く印刷データを生成できるものとはなるが、表1に示したような、顕著な効果が得られるものとはならないので、実施形態のように構成しておくことが望ましい。
【0060】
また、プリンタドライバ10は、RGBXラスタデータ(Xデータが付加されているRGBラスタデータ)を処理してCMYKXラスタデータを生成するものであったが、RGBXラスタデータ調査処理及びCMYKXラスタデータ生成処理は、Xデータの存在が必要とされる処理ではない(RGBXラスタデータ調査処理の調査結果はどこに記録されても良い)ので、本実施形態に係るプリンタドライバ10で用いられている技術を、印刷データの生成時にRGBラスタデータを生成するプリンタドライバに適用しても良い。また、本実施形態に係るプリンタドライバ10で用いられている技術は、変換前、変換後のイメージデータの形式(表色系や各成分のビット数)によらず、イメージデータの変換が必要とされる処理一般に適用できるものであるので、本技術を基に、イメージデータ加工用のプログラムを実現しても良い。また、本技術を基に、プリンタ側で実行されるプログラムを実現しても良い。
【0061】
【発明の効果】
本発明によれば、既存の手順とは異なる手順の処理により、高速に印刷データを生成することが出来るプリンタドライバ、そのようなプリンタドライバをコンピュータにインストール出来るコンピュータ可読媒体、イメージデータの色変換を高速に行えるイメージデータ変換装置を、提供することが出来る。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るプリンタドライバの使用形態の説明図である。
【図2】 実施形態に係るプリンタドライバによる印刷データの生成時に行われるRGBXラスタデータ調査処理の流れ図である。
【図3】 RGBXラスタデータ調査処理における、RGBXラスタデータ内のXデータの利用法の説明図である。
【図4】 実施形態に係るプリンタドライバによる印刷データの生成時に行われるCMYKXラスタデータ生成処理の流れ図である。
【図5】 既存のプリンタドライバによる印刷データの生成手順を説明するための流れ図である。
【図6】 既存のプリンタドライバにより生成されるRGBXバンドデータに含まれるXデータの説明図である。
【符号の説明】
10 プリンタドライバ
50 カラーレーザプリンタ
60 コンピュータ
Claims (5)
- コンピュータに、
印刷すべき画像を表す、複数のRGBデータである第1種画素データからなる第1種ラスタデータを複数個含む第1種バンドデータを前記画像を構成するバンド毎に前記コンピュータが備えるメモリ上に生成する第1種バンドデータ生成ステップと、
前記第1種バンドデータ生成ステップにより生成された各第1種バンドデータに対して、その第1種バンドデータに含まれる各第1種ラスタデータが、全ての画素が白画素であることを表している白ラスタデータであるか否かを判別するための調査であるとともに、その第1種ラスタデータを、同一の第1種画素データが連続している複数の部分に分割することが出来る情報である連続部分情報を得るための調査を行う調査ステップと、
前記調査ステップによる調査結果に基づき、前記第1種バンドデータ生成ステップにより生成された、少なくとも1つの第1種ラスタデータが白ラスタデータではない各第1種バンドデータに対してのみ、その第1種ラスタデータに含まれる同一の第1種画素データが連続している各部分について、当該部分を構成する1つの第1種画素データに所定の色変換処理を施すことによりCMYKデータである第2種画素データを得た後に当該第2種画素データを当該部分に含まれる前記第1種画素データの数と等しい数だけ前記メモリ上のデータ記憶領域に記憶する部分変換処理を行う第2種バンドデータ生成ステップと、
前記第2種バンドデータ生成ステップにより生成された各第2種バンドデータから、プリンタに供給する印刷データを生成する印刷データ生成ステップ
とを、実行させるプリンタドライバであって、
前記データ記憶領域には、前記第2種画素データを構成する複数種類の成分データのそれぞれに対応づけられた複数の、連続した記憶領域が、含まれ、
前記第2種バンドデータ生成ステップにて行われる前記部分変換処理が、L個の第2種画素データを前記データ記憶領域に記憶する必要がある場合に、当該第2種画素データを構成する成分データ毎に、前記データ記憶領域内のその成分データに対応づけられている前記記憶領域に、その成分データを所定数並べたデータを記憶する第1記憶処理とその成分データを記憶する第2記憶処理とがL個の第2種画素データを当該記憶領域に記憶するために必要な回数ずつ行われる処理であるとともに、第1記憶処理が行われる回数ができるだけ多くなるように各処理の実行回数が定められる処理である
ことを特徴とするプリンタドライバ。 - 前記第1種画素データが、或る画素の色を表す色データと、その画素の属性を示す属性データとからなるデータであり、
前記調査ステップが、2つの第1種画素データの色データ及び属性データが一致しているときにそれらの第1種画素データが同一の第1種画素データであると判断するステップであり、
前記第2種バンドデータ生成ステップが、前記所定の色変換処理として、第1種画素データに含まれる属性データに応じてその内容が定められている処理を行うステップである ことを特徴とする請求項1に記載のプリンタドライバ。 - 前記属性データが、画素の属性を示すために使用されている第1ビット群と、画素の属性を示すために使用されていない第2ビット群とからなる所定ビット数のデータであり、
前記調査ステップは、前記第1種バンドデータ生成ステップにより生成された第1種バンドデータに対する調査結果を表す情報を、その第1種バンドデータに含まれる幾つかの第1種画素データ内の属性データの前記第2ビット群に設定するステップであり、
前記第2種バンドデータ生成ステップは、前記調査ステップによる前記第1種バンドデータに対する調査結果を、前記第1種バンドデータを構成している幾つかの第1種画素データに含まれている前記属性データの前記第2ビット群の値に基づき、把握するステップである
ことを特徴とする請求項2に記載のプリンタドライバ。 - コンピュータに、
印刷すべき画像を表す、複数のRGBデータである第1種画素データからなる第1種ラスタデータを複数個含む第1種バンドデータを前記画像を構成するバンド毎に前記コンピュータが備えるメモリ上に生成する第1種バンドデータ生成ステップと、
前記第1種バンドデータ生成ステップにより生成された各第1種バンドデータに対して、その第1種バンドデータに含まれる各第1種ラスタデータが、全ての画素が白画素であることを表している白ラスタデータであるか否かを判別するための調査であるとともに、その第1種ラスタデータを、同一の第1種画素データが連続している複数の部分に分割することが出来る情報である連続部分情報を得るための調査を行う調査ステップと、
前記調査ステップによる調査結果に基づき、前記第1種バンドデータ生成ステップにより生成された、少なくとも1つの第1種ラスタデータが白ラスタデータではない各第1種バンドデータに対してのみ、その第1種ラスタデータに含まれる同一の第1種画素データが連続している各部分について、当該部分を構成する1つの第1種画素データに所定の色変換処理を施すことによりCMYKデータである第2種画素データを得た後に当該第2種画素データを当該部分に含まれる前記第1種画素データの数と等しい数だけ前記メモリ上のデータ記憶領域に記憶する部分変換処理を行う第2種バンドデータ生成ステップと、
前記第2種バンドデータ生成ステップにより生成された各第2種バンドデータから、プリンタに供給する印刷データを生成する印刷データ生成ステップ
とを、実行させるプリンタドライバを記録したコンピュータ可読媒体であって、
前記データ記憶領域には、前記第2種画素データを構成する複数種類の成分データのそれぞれに対応づけられた複数の、連続した記憶領域が、含まれ、
前記第2種バンドデータ生成ステップにて行われる前記部分変換処理が、L個の第2種画素データを前記データ記憶領域に記憶する必要がある場合に、当該第2種画素データを構成する成分データ毎に、前記データ記憶領域内のその成分データに対応づけられている前記記憶領域に、その成分データを所定数並べたデータを記憶する第1記憶処理とその成分データを記憶する第2記憶処理とがL個の第2種画素データを当該記憶領域に記憶するために必要な回数ずつ行われる処理であるとともに、第1記憶処理が行われる回数ができるだけ多くなるように各処理の実行回数が定められる処理である
ことを特徴とするプリンタドライバを記録したコンピュータ可読媒体。 - 印刷すべき画像を表す、複数のRGBデータである第1種画素データからなる第1種ラスタデータを複数個含む第1種バンドデータを前記画像を構成するバンド毎に自身が備えるメモリ上に生成する第1種バンドデータ生成手段と、
前記第1種バンドデータ生成手段により生成された各第1種バンドデータに対して、その第1種バンドデータに含まれる各第1種ラスタデータが、全ての画素が白画素であることを表している白ラスタデータであるか否かを判別するための調査であるとともに、その第1種ラスタデータを、同一の第1種画素データが連続している複数の部分に分割することが出来る情報である連続部分情報を得るための調査を行う調査手段と、
前記調査手段による調査結果に基づき、前記第1種バンドデータ生成手段により生成された、少なくとも1つの第1種ラスタデータが白ラスタデータではない各第1種バンドデータに対してのみ、その第1種ラスタデータに含まれる同一の第1種画素データが連続している各部分について、当該部分を構成する1つの第1種画素データに所定の色変換処理を施すことによりCMYKデータである第2種画素データを得た後に当該第2種画素データを当該部分に含まれる前記第1種画素データの数と等しい数だけ前記メモリ上のデータ記憶領域に記憶する部分変換処理を行う第2種バンドデータ生成手段、
とを、備えるイメージデータ変換装置であって、
前記データ記憶領域には、前記第2種画素データを構成する複数種類の成分データのそれぞれに対応づけられた複数の、連続した記憶領域が、含まれ、
前記第2種バンドデータ生成手段にて行われる前記部分変換処理が、L個の第2種画素データを前記データ記憶領域に記憶する必要がある場合に、当該第2種画素データを構成する成分データ毎に、前記データ記憶領域内のその成分データに対応づけられている前記記憶領域に、その成分データを所定数並べたデータを記憶する第1記憶処理とその成分デ ータを記憶する第2記憶処理とがL個の第2種画素データを当該記憶領域に記憶するために必要な回数ずつ行われる処理であるとともに、第1記憶処理が行われる回数ができるだけ多くなるように各処理の実行回数が定められる処理である
ことを特徴とするイメージデータ変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002211921A JP4096650B2 (ja) | 2002-07-22 | 2002-07-22 | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002211921A JP4096650B2 (ja) | 2002-07-22 | 2002-07-22 | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004054653A JP2004054653A (ja) | 2004-02-19 |
JP4096650B2 true JP4096650B2 (ja) | 2008-06-04 |
Family
ID=31934987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002211921A Expired - Fee Related JP4096650B2 (ja) | 2002-07-22 | 2002-07-22 | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4096650B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5771976B2 (ja) * | 2010-12-20 | 2015-09-02 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法及びそのプログラム |
-
2002
- 2002-07-22 JP JP2002211921A patent/JP4096650B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004054653A (ja) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7697772B2 (en) | Apparatus, method and computer program product for performing image compression of image data | |
US7848539B2 (en) | Image processing apparatus, control method for the image processing apparatus, and storage medium storing computer program for executing the control method of the image processing apparatus | |
JP4112187B2 (ja) | 画像処理方法および装置並びにプログラム | |
US8310719B2 (en) | Image processing apparatus, image processing method, and program | |
JP2004334852A (ja) | ピクセルタイプによる画像処理 | |
US7443544B2 (en) | Accelerating color conversion using a temporary palette cache | |
US20040150840A1 (en) | Methods and systems for structuring a raster image file for parallel streaming rendering by multiple processors | |
JP5684466B2 (ja) | 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体 | |
US6839461B2 (en) | Method and apparatus for processing an image, and storage medium | |
JP4564986B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2008242733A (ja) | 画像処理装置 | |
JP4096650B2 (ja) | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 | |
US8259347B2 (en) | Image processing apparatus and computer readable medium | |
JP4468270B2 (ja) | 正規化方法および多次元補間装置およびプログラム | |
US20100027037A1 (en) | Image Processing Controller and Image Processing Apparatus | |
US20110205591A1 (en) | Image processing device and image processing method | |
JP4131205B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2006103045A (ja) | 画像形成装置 | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP5017241B2 (ja) | 画像形成装置 | |
JP2006264257A (ja) | バンド単位で画像処理を行う画像処理装置 | |
JP4072403B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2024115940A (ja) | 印刷システム及びその制御方法、情報処理装置及び画像形成装置とプログラム | |
JP2003346139A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3359361B2 (ja) | 拡大印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071102 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080303 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |