JP2005038084A - 描画データの変換方法及び変換装置 - Google Patents
描画データの変換方法及び変換装置 Download PDFInfo
- Publication number
- JP2005038084A JP2005038084A JP2003198396A JP2003198396A JP2005038084A JP 2005038084 A JP2005038084 A JP 2005038084A JP 2003198396 A JP2003198396 A JP 2003198396A JP 2003198396 A JP2003198396 A JP 2003198396A JP 2005038084 A JP2005038084 A JP 2005038084A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vector
- conversion
- drawing data
- character
- 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
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】印刷出力する描画データの変換に際し、データサイズを小さく効率的に処理でき、かつデータ変換による出力結果を元の色見等と同じにする。
【解決手段】印刷要求の描画データオブジェクトがイメージデータか判断(S1)。イメージデータのとき(処理S1のYes)、色数をカウント(S2)。カウント色数が一色か調べる(S3)。一色のとき(S3のYes)、描画オブジェクトを矩形(ベクター)データに変換(S4)。ベクターデータに元の描画データの属性を付加(S5)。文字のとき、オブジェクトが文字データか判断(S6)。文字データのとき(S6のYes)、文字データのサイズを調べ(S7)、基準値(Nバイト)以上のとき(S7のYes)、ベクターデータに変換(S8)。ベクターデータに元の描画データの属性を付加(S9)。ベクターデータに変換し、データ量を削減し処理の高速化と、元の描画データの色見等を再現した出力を得る。
【選択図】 図4
【解決手段】印刷要求の描画データオブジェクトがイメージデータか判断(S1)。イメージデータのとき(処理S1のYes)、色数をカウント(S2)。カウント色数が一色か調べる(S3)。一色のとき(S3のYes)、描画オブジェクトを矩形(ベクター)データに変換(S4)。ベクターデータに元の描画データの属性を付加(S5)。文字のとき、オブジェクトが文字データか判断(S6)。文字データのとき(S6のYes)、文字データのサイズを調べ(S7)、基準値(Nバイト)以上のとき(S7のYes)、ベクターデータに変換(S8)。ベクターデータに元の描画データの属性を付加(S9)。ベクターデータに変換し、データ量を削減し処理の高速化と、元の描画データの色見等を再現した出力を得る。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明は、アプリケーションプログラムにより作成した描画データを印刷出力するため、プリンタドライバからプリンタへ出力する際に行う描画データ変換の機能であり、描画データの変換方法及び変換装置に関するものである。
【0002】
【従来の技術】
近年、プリンタにおいてカラーの描画データが一般的に扱われ出力することが多く行われており、イメージデータにおいて、アプリケーションプログラムによっては、一色の描画データを表現する場合においても、24ビットフルカラーデータやカラーインデックステーブルとビットマップの組み合わせにより表現することがある。また、印刷装置に用いるプリンタドライバにおいても、ページ全体をイメージとして印刷出力するモードがある。印刷出力するモードを選択した場合はページ全体が1つのイメージとしたデータで表現することになる。イメージデータはプリンタに送信され、ビットマップに展開されフレームバッファに書き込まれる。その処理には時間を要していた。
【0003】
そして、特許文献1には、イメージデータが単一色で構成と判断することで、イメージデータをグラフィックスデータに変換し、イメージデータの全単位領域について行われてきた色変換処理を省略して色変換処理の速度を向上させることが記載されている。
【0004】
また、文字データおいて、アウトラインフォントからビットマップを作成後、フレームバッファにビットマップが展開され書き込まれるのが通常の流れである。具体的には、アプリケーションプログラムによって、文字データのフォント等の文字情報,文字コードが指定されて印刷要求が発生する。これを受けた、例えば、Windows(登録商標)のGDI(Graphics Device Interface)はフォントのスタイル情報(ボールド、イタリック等)や座標情報等の文字情報、文字コードをプリンタドライバに送信する。
【0005】
プリンタドライバ、またはプリンタに有するデバイスフォントに、指定されたフォントがある場合、または指定されたフォントの置き換え指定がある場合には、デバイスフォントを使用すると判断し、プリンタへ文字情報,文字コードをPDL(Page Description Language)化し、プリンタのプリンタコントローラに送信して、文字情報と文字コードからビットマップを作成、フレームバッファに書き込みを行う。また、デバイスフォントに、指定フォントがない場合には、該当フォントを展開したビットマップをGDIに要求し、作成されたビットマップをプリンタドライバを介して、プリンタのフレームバッファに書き込む。
【0006】
以上のように、イメージデータやアウトラインフォントは、一旦ビットマップを作成しフレームバッファに展開することが行われる。
【0007】
【特許文献1】
特開2000−255123号公報
【0008】
【発明が解決しようとする課題】
しかしながら、イメージデータが白紙ページであっても1つのイメージデータとして表現されるために描画データのサイズが大きくなり、その処理に必要なメモリ容量や、処理時間を要するという問題があった。
【0009】
そこで、描画データにおいて、一色しか使用していないビットマップに対しては、サイズの小さなベクターデータに変換することが可能なことは容易に想像がつく。描画データを座標データと色データで表したベクターデータとすることで、ビットマップデータに比べて、データ量を削減することができるが、単純にイメージのビットマップデータをベクターデータに変換しただけでは描画がうまく行かない場合がある。例えば、ディザ法による作成データでは、文字,イメージ,ベクター図形塗りつぶし、線などのように描画オブジェクト毎に設定を変えて描画するケースがあり、またカラーマッチングを描画オブジェクト毎に変えて出力するような場合も同様である。またグレーの生成方法を用いて印刷をする場合においても黒のKトナーのみを使用する場合と、C(シアン),M(マゼンダ),Y(イエロー),K(ブラック)トナーの4色を使用する場合とでは出力が違ってくる。従って単純にイメージのビットマップデータをベクターデータに変換しただけでは同じ印刷結果にならない場合がある。
【0010】
また、文字の大きさは任意のポイント数の指定により変更可能であり、かつ指定された大きさに文字1個を展開処理するためには、指定された大きさにも依存するが、大きな作業用記憶領域が必要となる。文字データが、プリンタやプリンタドライバにないフォントを使用する場合、ホストコンピュータ側でビットマップに展開する。一般に文字データはビットマップに展開するために必要なメモリ領域を確保してからビットマップ展開が行われる。しかし、指定された文字のサイズが大きくなるとビットマップに展開するためにメモリ領域を大量に必要とすることから、メモリを有効的に使用するためのメモリ制御において、例えば、仮想メモリのスラッシングなどが発生してオーバーヘッドが大きくなることが考えられる。
【0011】
また、プリンタ本体においても、使用できるメモリが限られており、場合によっては指定された文字を展開できないことも考えられる。400ポイントの文字をビットマップに展開する場合、解像度600DPIで約1.3メガバイト、解像度1200DPIでは5.2メガバイトにもなり処理に多くの時間を必要とするという問題があった。
【0012】
本発明は、前記従来技術の問題を解決することに指向するものであり、印刷出力するために行う描画データの変換に際して、特に、データサイズを小さくして効率的に処理することができ、かつデータ変換をしても印刷出力した結果において、色見等を元と同じように再現できる、描画データの変換方法及び変換装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
この目的を達成するために、本発明に係る請求項1,9に記載された描画データの変換方法及び変換装置は、ホストコンピュータのアプリケーションプログラムにより作成した描画データを印刷出力するためにプリンタドライバからプリンタへ出力する描画データの変換方法及び変換装置であって、データ判定手段が描画データのイメージデータまたは文字データを判定した結果に基づき、ベクターデータ変換手段が描画データをベクターデータに変換して、ベクターデータをプリンタへ送出して印刷処理を行う構成によって、イメージデータ,文字データをベクターデータに変換することでデータ量を大幅に削減して処理の高速化ができる。
【0014】
また、請求項2〜4,10,11に記載された描画データの変換方法及び変換装置は、請求項1,9の描画データの変換方法及び変換装置であって、データ判定手段が、イメージデータの色数を判定する色数判定手段であって、ベクターデータ変換手段が行う描画データをベクターデータとする変換処理の可否をイメージデータの色数によって判定すること、色数判定手段が、イメージデータの色数が一色と判定した場合、ベクターデータ変換手段で変換処理すること、さらに、色数判定手段の判定によって、ベクターデータ変換手段で変換処理した描画データの描画属性フラグを、ベクターデータに付加する構成によって、イメージデータをベクターデータに変換することでデータ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができる。
【0015】
また、請求項5〜7,12,13に記載された描画データの変換方法及び変換装置は、請求項1,9の描画データの変換方法及び変換装置であって、データ判定手段が、文字データの文字サイズを判定するサイズ判定手段であって、ベクターデータ変換手段が行う描画データをベクターデータとする変換処理の可否を文字データの文字サイズによって判定すること、サイズ判定手段が、文字データの文字サイズが予め設定した基準値より大きいと判定した場合、ベクターデータ変換手段で変換処理すること、さらに、サイズ判定手段の判定によって、ベクターデータ変換手段で変換処理した描画データの描画属性フラグを、ベクターデータに付加する構成によって、文字データをベクターデータに変換することでデータ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができる。
【0016】
また、請求項8に記載された描画データの変換方法は、請求項1の描画データの変換方法であって、処理する描画データが、アプリケーションプログラムにより作成した描画データと重畳する透かし模様をベクターデータに変換処理して、データ量を大幅に削減して処理の高速化ができる。
【0017】
【発明の実施の形態】
以下、図面を参照しながら本発明における実施の形態を詳細に説明する。
【0018】
図1は本発明の実施の形態における描画データを変換するプリンタシステムの概略構成を示すブロック図である。図1において、1はアプリケーションプログラム、2はGDI、3はプリンタドライバ、4は描画データ変換部、5はイメージ判定部、6は文字判定部、7は出力インタフェース(I/F)、8はプリンタ、9はドライバユーザインタフェース(UI)である。
【0019】
図1に示すように、アプリケーションプログラム1により印刷出力する描画データを作成する。作成した描画データをパーソナルコンピュータのOS(例えば、Windows(登録商標))における印刷などのグラフィックス処理を行うカーネル・モジュールのGDI2に送信する。アプリケーションプログラム1が直接プリンタドライバ3を利用するのではなく、GDI2に対してコマンドを送信し、アプリケーションプログラム1からのコマンドをプリンタドライバ3が解釈できる形に変換してから送信する。
【0020】
プリンタドライバ3には、描画データ変換部4として、GDI2から送信する描画データに有するIDによりイメージデータ,文字データをデータ判別部3aにより判断し、イメージデータまたは文字データによって、後述する処理を行うイメージ判定部5と文字判定部6とを備える。
【0021】
なお、Windows(登録商標)のGDI2においては、前述したように前処理がなされることによって、イメージデータ,文字データ等の判別を行ってプリンタドライバ3に処理が渡るため、直接イメージ判定部5,文字判定部6へ処理が移ることになる。
【0022】
描画データがイメージデータの場合には、イメージ判定部5において描画データの描画オブジェクト毎に、例えば、全行数を読み取り使用している色数を判定するイメージデータのデータ判定手段である色数判定部5aによって、使用している色数が一色と判定した場合に読み取った全行数の始点と終点の座標情報から矩形データ変換部5bによって、判定した一色の色指定と矩形(ベクター)データに変換する。
【0023】
矩形データ変換部5bは、例えば、一色のイメージデータとして判定した場合にベクターデータ(矩形のデータ)を作成する。具体的には、赤一色のみ使用する幅160ドット×高さ80ドット(1ドット/1ビット)のイメージデータの場合、イメージデータのサイズは1600バイトになる。一方、これをベクターデータの矩形に変換すると左上座標(X,Y)と右下座標(X,Y)で表現でき、各座標を4バイトで表現すると16バイトになる。このように、イメージデータがベクターデータに変換されるとデータ量が大幅に削減する。
【0024】
これにより、従来、一色の描画データを24ビットフルカラーデータやカラーインデックステーブルとビットマップの組み合わせで表現したり、また、ページ全体をイメージとして処理する場合のデータ量を大幅に削減することができる。
【0025】
また、イメージデータとして処理した場合には、ピクセル毎に処理が発生するため、カラーマッチングに関してはイメージデータの各ピクセルに対してマッチング処理が必要となる。しかし、ベクターデータに変換した場合には、色指定と矩形指定(座標データ)に変換するため、カラーマッチング処理は指定した一色に対してのみ処理が発生する。従って処理時間はベクターデータの方が少なくなる。
【0026】
さらに、プリンタ8においてイメージデータの場合に、印刷するためビットマップに変換する際、各ピクセル毎に色を調べながら展開しなければならないためピクセル数が多くなるほど処理時間を要する。ベクターデータとして矩形の場合には、指定される領域はすべて同じ色であることが予め分かっていることから複数ピクセル毎に一括処理などができ、高速化が可能となる。
【0027】
次に、文字データの場合、指定された文字のサイズが基準値より大きなとき、従来、発生していた問題を解決するため、ビットマップではなくベクター図形変換部6bによって、ベクターデータに変換してビットマップ展開に必要とするメモリ容量を削減する。例えば、アウトラインフォントの場合に、ビットマップへの展開ではなくランレングス法を用いて展開したベクターデータとして、処理するデータサイズを小さくすることができる。
【0028】
文字データを変換するビットマップの場合、解像度が大きくなるほどデータ量が増加し、また、文字サイズの2乗に比例してもデータ量が増加することになる。一方、ランレングス法を用いたベクターデータの場合には、文字のサイズが大きくなってもデータ量は略変わらないため(厳密には、縦の長さに比例して大きくなる)処理が大幅に高速化できる。
【0029】
具体的には、(表1)に図2の文字「十」(幅230ドット×高さ240ドット)をランレングス法によりベクターデータに変換した場合の座標とサイズを示す。ベクターデータとして表現するために、Y座標、始点X座標、終点X座標で表現して、それぞれを4バイトとする。(表1)に示すように、2892バイトで表現できる。そして、図2の文字をビットマップで表現すると6900バイトを必要とする。ビットマップでは面積の大きさに比例してデータサイズが大きくなるため、さらに文字のサイズが大きくなるとデータサイズの差が顕著に表れる。
【0030】
【表1】
【0031】
文字データのデータ判定手段であるサイズ判定部6aは、文字データに有する文字の幅と高さの文字情報から、指定される文字のサイズをビットマップ展開したときのバイト数を求めて、予め設定した基準値のバイト数と比較して、前述のベクター図形変換部6bによる処理を行うかの判定をする。
【0032】
なお、基準値として、プリンタ8に有するビットマップに展開可能な機器に特有のメモリ容量に基づいて設定し、また基準値以下の文字データについては、従来のビットマップへ展開処理を行う。
【0033】
以上のように、矩形データ変換部5b,ベクター図形変換部6bにより作成したベクターデータは、出力I/F(インタフェース)7を介してプリンタ8へ送信して、印刷出力する処理を高速に行うことができる。
【0034】
また、矩形データ変換部5b,ベクター図形変換部6bにおいて、描画データをベクターデータに変換した際に、変換前の描画データの属性を示す属性フラグを設定し、変換したベクターデータに付加する。具体例としては、図3(a)に示すように、0バイト目は矩形であることを示す「ID=0x30」、1バイト目は元の描画属性を示す下位2ビットが「文字属性=01」、2バイト目以降は各座標点である。同様に図3(b)に示すように、1バイト目の元の描画属性を示す下位2ビットが「イメージ属性=10」で、ベクターデータに変換する前がイメージデータであったことを表している。
【0035】
この描画データ(描画オブジェクト)の属性を示す属性フラグにより、オブジェクト(イメージ,文字,グラフィックス(ベクターデータ))毎にディザマトリックス,カラープロファイル,グレーの生成方法等を元の描画データと同じ属性を個別に設定する。これによって、イメージ,文字,グラフィックスのそれぞれのオブジェクトを最終的に変換した属性で出力してしまうと違う色見となることを防ぐことができる。つまり、同じ文字でも文字データとして処理した場合とベクターデータで処理した場合では、中間調を表現するパターンのディザマトリックスが違えば出力も違ってくる。同様にカラーマッチングで用いるカラープロファイルによっても色見に違いが生じ、またグレーの生成方法では黒をKトナーのみで描画するかC,M,Y,Kの4つのトナーを使用して描画するかの指定により見た目が大きく異なる。
【0036】
以上のことから、前述した属性フラグの付加によりオブジェクトの途中のデータ形式、処理方法は異なっても一貫して文字は文字として、イメージはイメージとして描画することができる。一貫した出力を得られることを可能にして、ベクターデータを用いてデータ量を減らし、かつ処理を高速に行うことができる。
【0037】
図4は本実施の形態におけるイメージデータ,文字データのそれぞれについての処理動作を示すフローチャートである。図4に示すように、印刷要求のあった描画データの描画オブジェクトがイメージデータか否かを判断をする(S1)。処理S1において、イメージデータと判断した場合(処理S1のYes)、イメージデータの色数をカウントする(S2)。描画オブジェクトのカウントした色数が一色かどうかを調べる(S3)。一色のみと判断した場合(処理S3のYes)、描画オブジェクトを矩形(ベクター)データに変換する(S4)。変換したベクターデータに描画オブジェクトの描画属性を付加する(S5)。この場合、図3(b)に示すように属性フラグを「イメージ属性=10」に設定する。
【0038】
一方、文字については、処理S1においてイメージデータでないとき、描画オブジェクトが文字データかどうかを判断する(S6)。処理S6において、文字データと判断したとき(処理S6のYes)、文字データに含まれている文字情報から文字のサイズを判断して(S7)、予め設定した基準値(Nバイト)以上の場合(処理S7のYes)、ベクターデータに変換する(S8)。処理S9の変換方法としては前述したランレングス法などによる。変換したベクターデータに描画オブジェクトの描画属性を付加する(S9)。この場合、図3(a)に示すように属性フラグを「文字属性=01」に設定する。
【0039】
また、処理S6において文字データでないとき(処理S6のNo)、描画データがベクターデータ(グラフィックス)であるため、変換処理することなくプリンタへ送られる。処理S3においてイメージデータが一色以上のとき(処理S3のNo)、また処理S8において規定値以下のとき(処理S8のNo)、従来のイメージデータ,文字データの処理が行われて、プリンタへ送られる。
【0040】
また、プリンタドライバ3には、アプリケーションプログラム1で作成した描画データに重畳する透かし模様(Water Mark)を作成する機能を有しており、文字スタンプを透かし模様として付加することができる。例えば、図5(a)に示すように、プリンタドライバ3のドライバUI(ユーザインタフェース)9を介して、ユーザが任意の文字を選択し、さらに他の設定を行って、描画データの印刷要求に応じて印刷ページ毎に重畳して出力する。また、図5(b)にはイメージスタンプを追加するドライバUI9の表示例であり、任意に選択したイメージデータを描画データと重畳することができる。
【0041】
以上のように、透かし模様のように毎回処理するページ毎に発生し、かつページの広い範囲に渡る大きなデータとなることから、本実施の形態のようにベクターデータに変換することで、処理に要するメモリ容量を減らし、かつ処理を高速に行うことができる。
【0042】
なお、本実施の形態において、アプリケーションプログラム1,GDI2,プリンタドライバ3,出力I/F5はホストコンピュータ内に設けて、さらに、描画データ変換部4は、プリンタドライバ3の一部として設けてもよく、または、ホストコンピュータとプリンタ6間にプリンタサーバ機能等を別に付加して配置してもよい。
【0043】
【発明の効果】
以上説明したように、本発明によれば、描画データのビットマップ展開に比べベクターデータに変換することで、データ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態における描画データを変換するプリンタシステムの概略構成を示すブロック図
【図2】ベクターデータに変換する文字「十」(幅230ドット×高さ240ドット)を示す図
【図3】描画データをベクターデータに変換した際、元の描画データの属性フラグを変換したベクターデータに付加した(a)は「文字属性=01」、(b)は「イメージ属性=10」を示す図
【図4】本実施の形態におけるイメージデータ,文字データのそれぞれについての処理動作を示すフローチャート
【図5】描画データに透かし模様として重畳する(a)は文字スタンプ、(b)はイメージスタンプを設定するドライバUIの表示例を示す図
【符号の説明】
1 アプリケーションプログラム
2 GDI
3 プリンタドライバ
3a データ判別部
4 描画データ変換部
5 イメージ判定部
5a 色数判定部
5b 矩形データ変換部
6 文字判定部
6a サイズ判定部
6b ベクター図形変換部
7 出力I/F部
8 プリンタ
9 ドライバUI
【発明の属する技術分野】
本発明は、アプリケーションプログラムにより作成した描画データを印刷出力するため、プリンタドライバからプリンタへ出力する際に行う描画データ変換の機能であり、描画データの変換方法及び変換装置に関するものである。
【0002】
【従来の技術】
近年、プリンタにおいてカラーの描画データが一般的に扱われ出力することが多く行われており、イメージデータにおいて、アプリケーションプログラムによっては、一色の描画データを表現する場合においても、24ビットフルカラーデータやカラーインデックステーブルとビットマップの組み合わせにより表現することがある。また、印刷装置に用いるプリンタドライバにおいても、ページ全体をイメージとして印刷出力するモードがある。印刷出力するモードを選択した場合はページ全体が1つのイメージとしたデータで表現することになる。イメージデータはプリンタに送信され、ビットマップに展開されフレームバッファに書き込まれる。その処理には時間を要していた。
【0003】
そして、特許文献1には、イメージデータが単一色で構成と判断することで、イメージデータをグラフィックスデータに変換し、イメージデータの全単位領域について行われてきた色変換処理を省略して色変換処理の速度を向上させることが記載されている。
【0004】
また、文字データおいて、アウトラインフォントからビットマップを作成後、フレームバッファにビットマップが展開され書き込まれるのが通常の流れである。具体的には、アプリケーションプログラムによって、文字データのフォント等の文字情報,文字コードが指定されて印刷要求が発生する。これを受けた、例えば、Windows(登録商標)のGDI(Graphics Device Interface)はフォントのスタイル情報(ボールド、イタリック等)や座標情報等の文字情報、文字コードをプリンタドライバに送信する。
【0005】
プリンタドライバ、またはプリンタに有するデバイスフォントに、指定されたフォントがある場合、または指定されたフォントの置き換え指定がある場合には、デバイスフォントを使用すると判断し、プリンタへ文字情報,文字コードをPDL(Page Description Language)化し、プリンタのプリンタコントローラに送信して、文字情報と文字コードからビットマップを作成、フレームバッファに書き込みを行う。また、デバイスフォントに、指定フォントがない場合には、該当フォントを展開したビットマップをGDIに要求し、作成されたビットマップをプリンタドライバを介して、プリンタのフレームバッファに書き込む。
【0006】
以上のように、イメージデータやアウトラインフォントは、一旦ビットマップを作成しフレームバッファに展開することが行われる。
【0007】
【特許文献1】
特開2000−255123号公報
【0008】
【発明が解決しようとする課題】
しかしながら、イメージデータが白紙ページであっても1つのイメージデータとして表現されるために描画データのサイズが大きくなり、その処理に必要なメモリ容量や、処理時間を要するという問題があった。
【0009】
そこで、描画データにおいて、一色しか使用していないビットマップに対しては、サイズの小さなベクターデータに変換することが可能なことは容易に想像がつく。描画データを座標データと色データで表したベクターデータとすることで、ビットマップデータに比べて、データ量を削減することができるが、単純にイメージのビットマップデータをベクターデータに変換しただけでは描画がうまく行かない場合がある。例えば、ディザ法による作成データでは、文字,イメージ,ベクター図形塗りつぶし、線などのように描画オブジェクト毎に設定を変えて描画するケースがあり、またカラーマッチングを描画オブジェクト毎に変えて出力するような場合も同様である。またグレーの生成方法を用いて印刷をする場合においても黒のKトナーのみを使用する場合と、C(シアン),M(マゼンダ),Y(イエロー),K(ブラック)トナーの4色を使用する場合とでは出力が違ってくる。従って単純にイメージのビットマップデータをベクターデータに変換しただけでは同じ印刷結果にならない場合がある。
【0010】
また、文字の大きさは任意のポイント数の指定により変更可能であり、かつ指定された大きさに文字1個を展開処理するためには、指定された大きさにも依存するが、大きな作業用記憶領域が必要となる。文字データが、プリンタやプリンタドライバにないフォントを使用する場合、ホストコンピュータ側でビットマップに展開する。一般に文字データはビットマップに展開するために必要なメモリ領域を確保してからビットマップ展開が行われる。しかし、指定された文字のサイズが大きくなるとビットマップに展開するためにメモリ領域を大量に必要とすることから、メモリを有効的に使用するためのメモリ制御において、例えば、仮想メモリのスラッシングなどが発生してオーバーヘッドが大きくなることが考えられる。
【0011】
また、プリンタ本体においても、使用できるメモリが限られており、場合によっては指定された文字を展開できないことも考えられる。400ポイントの文字をビットマップに展開する場合、解像度600DPIで約1.3メガバイト、解像度1200DPIでは5.2メガバイトにもなり処理に多くの時間を必要とするという問題があった。
【0012】
本発明は、前記従来技術の問題を解決することに指向するものであり、印刷出力するために行う描画データの変換に際して、特に、データサイズを小さくして効率的に処理することができ、かつデータ変換をしても印刷出力した結果において、色見等を元と同じように再現できる、描画データの変換方法及び変換装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
この目的を達成するために、本発明に係る請求項1,9に記載された描画データの変換方法及び変換装置は、ホストコンピュータのアプリケーションプログラムにより作成した描画データを印刷出力するためにプリンタドライバからプリンタへ出力する描画データの変換方法及び変換装置であって、データ判定手段が描画データのイメージデータまたは文字データを判定した結果に基づき、ベクターデータ変換手段が描画データをベクターデータに変換して、ベクターデータをプリンタへ送出して印刷処理を行う構成によって、イメージデータ,文字データをベクターデータに変換することでデータ量を大幅に削減して処理の高速化ができる。
【0014】
また、請求項2〜4,10,11に記載された描画データの変換方法及び変換装置は、請求項1,9の描画データの変換方法及び変換装置であって、データ判定手段が、イメージデータの色数を判定する色数判定手段であって、ベクターデータ変換手段が行う描画データをベクターデータとする変換処理の可否をイメージデータの色数によって判定すること、色数判定手段が、イメージデータの色数が一色と判定した場合、ベクターデータ変換手段で変換処理すること、さらに、色数判定手段の判定によって、ベクターデータ変換手段で変換処理した描画データの描画属性フラグを、ベクターデータに付加する構成によって、イメージデータをベクターデータに変換することでデータ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができる。
【0015】
また、請求項5〜7,12,13に記載された描画データの変換方法及び変換装置は、請求項1,9の描画データの変換方法及び変換装置であって、データ判定手段が、文字データの文字サイズを判定するサイズ判定手段であって、ベクターデータ変換手段が行う描画データをベクターデータとする変換処理の可否を文字データの文字サイズによって判定すること、サイズ判定手段が、文字データの文字サイズが予め設定した基準値より大きいと判定した場合、ベクターデータ変換手段で変換処理すること、さらに、サイズ判定手段の判定によって、ベクターデータ変換手段で変換処理した描画データの描画属性フラグを、ベクターデータに付加する構成によって、文字データをベクターデータに変換することでデータ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができる。
【0016】
また、請求項8に記載された描画データの変換方法は、請求項1の描画データの変換方法であって、処理する描画データが、アプリケーションプログラムにより作成した描画データと重畳する透かし模様をベクターデータに変換処理して、データ量を大幅に削減して処理の高速化ができる。
【0017】
【発明の実施の形態】
以下、図面を参照しながら本発明における実施の形態を詳細に説明する。
【0018】
図1は本発明の実施の形態における描画データを変換するプリンタシステムの概略構成を示すブロック図である。図1において、1はアプリケーションプログラム、2はGDI、3はプリンタドライバ、4は描画データ変換部、5はイメージ判定部、6は文字判定部、7は出力インタフェース(I/F)、8はプリンタ、9はドライバユーザインタフェース(UI)である。
【0019】
図1に示すように、アプリケーションプログラム1により印刷出力する描画データを作成する。作成した描画データをパーソナルコンピュータのOS(例えば、Windows(登録商標))における印刷などのグラフィックス処理を行うカーネル・モジュールのGDI2に送信する。アプリケーションプログラム1が直接プリンタドライバ3を利用するのではなく、GDI2に対してコマンドを送信し、アプリケーションプログラム1からのコマンドをプリンタドライバ3が解釈できる形に変換してから送信する。
【0020】
プリンタドライバ3には、描画データ変換部4として、GDI2から送信する描画データに有するIDによりイメージデータ,文字データをデータ判別部3aにより判断し、イメージデータまたは文字データによって、後述する処理を行うイメージ判定部5と文字判定部6とを備える。
【0021】
なお、Windows(登録商標)のGDI2においては、前述したように前処理がなされることによって、イメージデータ,文字データ等の判別を行ってプリンタドライバ3に処理が渡るため、直接イメージ判定部5,文字判定部6へ処理が移ることになる。
【0022】
描画データがイメージデータの場合には、イメージ判定部5において描画データの描画オブジェクト毎に、例えば、全行数を読み取り使用している色数を判定するイメージデータのデータ判定手段である色数判定部5aによって、使用している色数が一色と判定した場合に読み取った全行数の始点と終点の座標情報から矩形データ変換部5bによって、判定した一色の色指定と矩形(ベクター)データに変換する。
【0023】
矩形データ変換部5bは、例えば、一色のイメージデータとして判定した場合にベクターデータ(矩形のデータ)を作成する。具体的には、赤一色のみ使用する幅160ドット×高さ80ドット(1ドット/1ビット)のイメージデータの場合、イメージデータのサイズは1600バイトになる。一方、これをベクターデータの矩形に変換すると左上座標(X,Y)と右下座標(X,Y)で表現でき、各座標を4バイトで表現すると16バイトになる。このように、イメージデータがベクターデータに変換されるとデータ量が大幅に削減する。
【0024】
これにより、従来、一色の描画データを24ビットフルカラーデータやカラーインデックステーブルとビットマップの組み合わせで表現したり、また、ページ全体をイメージとして処理する場合のデータ量を大幅に削減することができる。
【0025】
また、イメージデータとして処理した場合には、ピクセル毎に処理が発生するため、カラーマッチングに関してはイメージデータの各ピクセルに対してマッチング処理が必要となる。しかし、ベクターデータに変換した場合には、色指定と矩形指定(座標データ)に変換するため、カラーマッチング処理は指定した一色に対してのみ処理が発生する。従って処理時間はベクターデータの方が少なくなる。
【0026】
さらに、プリンタ8においてイメージデータの場合に、印刷するためビットマップに変換する際、各ピクセル毎に色を調べながら展開しなければならないためピクセル数が多くなるほど処理時間を要する。ベクターデータとして矩形の場合には、指定される領域はすべて同じ色であることが予め分かっていることから複数ピクセル毎に一括処理などができ、高速化が可能となる。
【0027】
次に、文字データの場合、指定された文字のサイズが基準値より大きなとき、従来、発生していた問題を解決するため、ビットマップではなくベクター図形変換部6bによって、ベクターデータに変換してビットマップ展開に必要とするメモリ容量を削減する。例えば、アウトラインフォントの場合に、ビットマップへの展開ではなくランレングス法を用いて展開したベクターデータとして、処理するデータサイズを小さくすることができる。
【0028】
文字データを変換するビットマップの場合、解像度が大きくなるほどデータ量が増加し、また、文字サイズの2乗に比例してもデータ量が増加することになる。一方、ランレングス法を用いたベクターデータの場合には、文字のサイズが大きくなってもデータ量は略変わらないため(厳密には、縦の長さに比例して大きくなる)処理が大幅に高速化できる。
【0029】
具体的には、(表1)に図2の文字「十」(幅230ドット×高さ240ドット)をランレングス法によりベクターデータに変換した場合の座標とサイズを示す。ベクターデータとして表現するために、Y座標、始点X座標、終点X座標で表現して、それぞれを4バイトとする。(表1)に示すように、2892バイトで表現できる。そして、図2の文字をビットマップで表現すると6900バイトを必要とする。ビットマップでは面積の大きさに比例してデータサイズが大きくなるため、さらに文字のサイズが大きくなるとデータサイズの差が顕著に表れる。
【0030】
【表1】
【0031】
文字データのデータ判定手段であるサイズ判定部6aは、文字データに有する文字の幅と高さの文字情報から、指定される文字のサイズをビットマップ展開したときのバイト数を求めて、予め設定した基準値のバイト数と比較して、前述のベクター図形変換部6bによる処理を行うかの判定をする。
【0032】
なお、基準値として、プリンタ8に有するビットマップに展開可能な機器に特有のメモリ容量に基づいて設定し、また基準値以下の文字データについては、従来のビットマップへ展開処理を行う。
【0033】
以上のように、矩形データ変換部5b,ベクター図形変換部6bにより作成したベクターデータは、出力I/F(インタフェース)7を介してプリンタ8へ送信して、印刷出力する処理を高速に行うことができる。
【0034】
また、矩形データ変換部5b,ベクター図形変換部6bにおいて、描画データをベクターデータに変換した際に、変換前の描画データの属性を示す属性フラグを設定し、変換したベクターデータに付加する。具体例としては、図3(a)に示すように、0バイト目は矩形であることを示す「ID=0x30」、1バイト目は元の描画属性を示す下位2ビットが「文字属性=01」、2バイト目以降は各座標点である。同様に図3(b)に示すように、1バイト目の元の描画属性を示す下位2ビットが「イメージ属性=10」で、ベクターデータに変換する前がイメージデータであったことを表している。
【0035】
この描画データ(描画オブジェクト)の属性を示す属性フラグにより、オブジェクト(イメージ,文字,グラフィックス(ベクターデータ))毎にディザマトリックス,カラープロファイル,グレーの生成方法等を元の描画データと同じ属性を個別に設定する。これによって、イメージ,文字,グラフィックスのそれぞれのオブジェクトを最終的に変換した属性で出力してしまうと違う色見となることを防ぐことができる。つまり、同じ文字でも文字データとして処理した場合とベクターデータで処理した場合では、中間調を表現するパターンのディザマトリックスが違えば出力も違ってくる。同様にカラーマッチングで用いるカラープロファイルによっても色見に違いが生じ、またグレーの生成方法では黒をKトナーのみで描画するかC,M,Y,Kの4つのトナーを使用して描画するかの指定により見た目が大きく異なる。
【0036】
以上のことから、前述した属性フラグの付加によりオブジェクトの途中のデータ形式、処理方法は異なっても一貫して文字は文字として、イメージはイメージとして描画することができる。一貫した出力を得られることを可能にして、ベクターデータを用いてデータ量を減らし、かつ処理を高速に行うことができる。
【0037】
図4は本実施の形態におけるイメージデータ,文字データのそれぞれについての処理動作を示すフローチャートである。図4に示すように、印刷要求のあった描画データの描画オブジェクトがイメージデータか否かを判断をする(S1)。処理S1において、イメージデータと判断した場合(処理S1のYes)、イメージデータの色数をカウントする(S2)。描画オブジェクトのカウントした色数が一色かどうかを調べる(S3)。一色のみと判断した場合(処理S3のYes)、描画オブジェクトを矩形(ベクター)データに変換する(S4)。変換したベクターデータに描画オブジェクトの描画属性を付加する(S5)。この場合、図3(b)に示すように属性フラグを「イメージ属性=10」に設定する。
【0038】
一方、文字については、処理S1においてイメージデータでないとき、描画オブジェクトが文字データかどうかを判断する(S6)。処理S6において、文字データと判断したとき(処理S6のYes)、文字データに含まれている文字情報から文字のサイズを判断して(S7)、予め設定した基準値(Nバイト)以上の場合(処理S7のYes)、ベクターデータに変換する(S8)。処理S9の変換方法としては前述したランレングス法などによる。変換したベクターデータに描画オブジェクトの描画属性を付加する(S9)。この場合、図3(a)に示すように属性フラグを「文字属性=01」に設定する。
【0039】
また、処理S6において文字データでないとき(処理S6のNo)、描画データがベクターデータ(グラフィックス)であるため、変換処理することなくプリンタへ送られる。処理S3においてイメージデータが一色以上のとき(処理S3のNo)、また処理S8において規定値以下のとき(処理S8のNo)、従来のイメージデータ,文字データの処理が行われて、プリンタへ送られる。
【0040】
また、プリンタドライバ3には、アプリケーションプログラム1で作成した描画データに重畳する透かし模様(Water Mark)を作成する機能を有しており、文字スタンプを透かし模様として付加することができる。例えば、図5(a)に示すように、プリンタドライバ3のドライバUI(ユーザインタフェース)9を介して、ユーザが任意の文字を選択し、さらに他の設定を行って、描画データの印刷要求に応じて印刷ページ毎に重畳して出力する。また、図5(b)にはイメージスタンプを追加するドライバUI9の表示例であり、任意に選択したイメージデータを描画データと重畳することができる。
【0041】
以上のように、透かし模様のように毎回処理するページ毎に発生し、かつページの広い範囲に渡る大きなデータとなることから、本実施の形態のようにベクターデータに変換することで、処理に要するメモリ容量を減らし、かつ処理を高速に行うことができる。
【0042】
なお、本実施の形態において、アプリケーションプログラム1,GDI2,プリンタドライバ3,出力I/F5はホストコンピュータ内に設けて、さらに、描画データ変換部4は、プリンタドライバ3の一部として設けてもよく、または、ホストコンピュータとプリンタ6間にプリンタサーバ機能等を別に付加して配置してもよい。
【0043】
【発明の効果】
以上説明したように、本発明によれば、描画データのビットマップ展開に比べベクターデータに変換することで、データ量が大幅に削減されて処理の高速化ができ、さらに、元の描画データの色見を再現することができ、一貫した出力を得ることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態における描画データを変換するプリンタシステムの概略構成を示すブロック図
【図2】ベクターデータに変換する文字「十」(幅230ドット×高さ240ドット)を示す図
【図3】描画データをベクターデータに変換した際、元の描画データの属性フラグを変換したベクターデータに付加した(a)は「文字属性=01」、(b)は「イメージ属性=10」を示す図
【図4】本実施の形態におけるイメージデータ,文字データのそれぞれについての処理動作を示すフローチャート
【図5】描画データに透かし模様として重畳する(a)は文字スタンプ、(b)はイメージスタンプを設定するドライバUIの表示例を示す図
【符号の説明】
1 アプリケーションプログラム
2 GDI
3 プリンタドライバ
3a データ判別部
4 描画データ変換部
5 イメージ判定部
5a 色数判定部
5b 矩形データ変換部
6 文字判定部
6a サイズ判定部
6b ベクター図形変換部
7 出力I/F部
8 プリンタ
9 ドライバUI
Claims (13)
- ホストコンピュータのアプリケーションプログラムにより作成した描画データを印刷出力するためにプリンタドライバからプリンタへ出力する描画データの変換方法であって、
データ判定手段が前記描画データのイメージデータまたは文字データを判定した結果に基づき、ベクターデータ変換手段が前記描画データをベクターデータに変換して、前記ベクターデータを前記プリンタへ送出して印刷処理を行うことを特徴とする描画データの変換方法。 - 前記データ判定手段が、イメージデータの色数を判定する色数判定手段であって、ベクターデータ変換手段が行う前記描画データをベクターデータとする変換処理の可否を前記イメージデータの色数によって判定することを特徴とする請求項1記載の描画データの変換方法。
- 前記色数判定手段が、イメージデータの色数が一色と判定した場合、ベクターデータ変換手段において描画データをベクターデータに変換処理することを特徴とする請求項2記載の描画データの変換方法。
- 前記色数判定手段の判定によって、ベクターデータ変換手段によりベクターデータに変換処理した描画データの属性を示す描画属性フラグを、前記ベクターデータに付加することを特徴とする請求項2記載の描画データの変換方法。
- 前記データ判定手段が、文字データの文字サイズを判定するサイズ判定手段であって、ベクターデータ変換手段が行う前記描画データをベクターデータとする変換処理の可否を前記文字データの文字サイズによって判定することを特徴とする請求項1記載の描画データの変換方法。
- 前記サイズ判定手段が、文字データの文字サイズが予め設定した基準値より大きいと判定した場合、ベクターデータ変換手段において描画データからベクターデータに変換処理することを特徴とする請求項5記載の描画データの変換方法。
- 前記サイズ判定手段の判定によって、ベクターデータ変換手段によりベクターデータに変換処理した描画データの属性を示す描画属性フラグを、前記ベクターデータに付加することを特徴とする請求項5記載の描画データの変換方法。
- 前記描画データが、アプリケーションプログラムにより作成した描画データと重畳する透かし模様であることを特徴とする請求項1〜7のいずれか1項に記載の描画データの変換方法。
- ホストコンピュータのアプリケーションプログラムにより作成した描画データを印刷出力するためにプリンタドライバからプリンタへ出力する描画データの変換装置であって、
前記描画データのイメージデータまたは文字データを判定するデータ判定手段と、前記データ判定手段の判定結果に基づき前記描画データをベクターデータに変換するベクターデータ変換手段とを備え、前記ベクターデータを前記プリンタへ出力処理することを特徴とする描画データの変換装置。 - 前記データ判定手段が、イメージデータの色数が一色であることを判定する色数判定手段であって、ベクターデータ変換手段が行う前記描画データをベクターデータとする変換処理の可否を前記イメージデータの色数によって判定することを特徴とする請求項9記載の描画データの変換装置。
- 前記色数判定手段の判定によって、ベクターデータ変換手段によりベクターデータに変換処理した描画データの属性を示す描画属性フラグを、前記ベクターデータに付加することを特徴とする請求項10記載の描画データの変換装置。
- 前記データ判定手段が、文字データの文字サイズが予め設定した基準値より大きいと判定するサイズ判定手段であって、ベクターデータ変換手段が行う前記描画データをベクターデータとする変換処理の可否を前記文字データの文字サイズによって判定することを特徴とする請求項9記載の描画データの変換装置。
- 前記サイズ判定手段の判定によって、ベクターデータ変換手段によりベクターデータに変換処理した描画データの属性を示す描画属性フラグを、前記ベクターデータに付加することを特徴とする請求項12記載の描画データの変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003198396A JP2005038084A (ja) | 2003-07-17 | 2003-07-17 | 描画データの変換方法及び変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003198396A JP2005038084A (ja) | 2003-07-17 | 2003-07-17 | 描画データの変換方法及び変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005038084A true JP2005038084A (ja) | 2005-02-10 |
Family
ID=34208192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003198396A Pending JP2005038084A (ja) | 2003-07-17 | 2003-07-17 | 描画データの変換方法及び変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005038084A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008279626A (ja) * | 2007-05-09 | 2008-11-20 | Kyocera Mita Corp | 画像処理装置及び画像処理プログラム |
JP2012255956A (ja) * | 2011-06-10 | 2012-12-27 | Brother Ind Ltd | 画像形成システムおよび画像形成装置 |
JP2017041174A (ja) * | 2015-08-21 | 2017-02-23 | キヤノン株式会社 | 描画命令処理装置および描画命令処理方法 |
JP2017041186A (ja) * | 2015-08-21 | 2017-02-23 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
-
2003
- 2003-07-17 JP JP2003198396A patent/JP2005038084A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008279626A (ja) * | 2007-05-09 | 2008-11-20 | Kyocera Mita Corp | 画像処理装置及び画像処理プログラム |
JP4510847B2 (ja) * | 2007-05-09 | 2010-07-28 | 京セラミタ株式会社 | 画像処理装置及び画像処理プログラム |
US8194271B2 (en) | 2007-05-09 | 2012-06-05 | Kyocera Mita Corporation | Apparatus and method for gradation drawing based on 1-line image |
JP2012255956A (ja) * | 2011-06-10 | 2012-12-27 | Brother Ind Ltd | 画像形成システムおよび画像形成装置 |
JP2017041174A (ja) * | 2015-08-21 | 2017-02-23 | キヤノン株式会社 | 描画命令処理装置および描画命令処理方法 |
JP2017041186A (ja) * | 2015-08-21 | 2017-02-23 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6313847B1 (en) | Blending graphics objects in a frame buffer | |
JP4155322B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
JP3680109B2 (ja) | 印刷システム | |
US6429950B1 (en) | Method and apparatus for applying object characterization pixel tags to image data in a digital imaging device | |
JP2003320715A (ja) | 情報処理装置、情報処理システム、情報出力制御方法、記憶媒体、及びプログラム | |
JP3175498B2 (ja) | インクジェット式カラー印刷のための黒色領域識別方式 | |
JPH07222017A (ja) | マッピング方法 | |
JPH07222018A (ja) | マッピング方法 | |
JP2005038084A (ja) | 描画データの変換方法及び変換装置 | |
JP3858602B2 (ja) | 画像処理装置 | |
JP4109785B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP4514168B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2001219601A (ja) | 印刷制御装置および印刷制御装置におけるデータ処理方法 | |
US7236268B2 (en) | Adaptive screening in raster image processing of complex pages | |
JP3211417B2 (ja) | ページ記述言語処理装置 | |
JP3888594B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2009129342A (ja) | 画像処理装置及び方法 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP4853504B2 (ja) | 画像処理プログラム及び画像処理システム | |
JPH10329363A (ja) | 画像形成装置、方法及びプリンタ | |
JP2003051929A (ja) | 画像処理方法及び装置 | |
KR100571788B1 (ko) | 문서의 지정영역을 확대 출력하는 방법 | |
JP4072403B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2006140597A (ja) | 印刷制御装置、印刷制御方法、コンピュータプログラム及び記憶媒体 | |
JP2009066926A (ja) | 画像処理装置及び画像形成システム |