JP3840067B2 - Output control device, printing device, output control method, and storage medium - Google Patents

Output control device, printing device, output control method, and storage medium Download PDF

Info

Publication number
JP3840067B2
JP3840067B2 JP2001173510A JP2001173510A JP3840067B2 JP 3840067 B2 JP3840067 B2 JP 3840067B2 JP 2001173510 A JP2001173510 A JP 2001173510A JP 2001173510 A JP2001173510 A JP 2001173510A JP 3840067 B2 JP3840067 B2 JP 3840067B2
Authority
JP
Japan
Prior art keywords
gradation
gradation drawing
color
width
calculating
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
Application number
JP2001173510A
Other languages
Japanese (ja)
Other versions
JP2002366951A (en
Inventor
隆 大野
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2001173510A priority Critical patent/JP3840067B2/en
Publication of JP2002366951A publication Critical patent/JP2002366951A/en
Application granted granted Critical
Publication of JP3840067B2 publication Critical patent/JP3840067B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ホストコンピュータ等の外部機器装置によって作成されたページ記述言語(以後、PDLとする。)データを受信し、ページ記述言語データを解析して、ラスタライズしたラスタデータをエンジンに出力する出力制御装置および印刷装置および出力制御方法および記憶媒体に関するものである。
【0002】
【従来の技術】
最近、ホストコンピュータにおけるDTPやプレゼンテーションソフトが高機能化し、容易に複雑な描画を表現することができるようになってきた。これらのアプリケーションソフトにより印刷を行う場合、複雑な描画データはプリンタドライバによって最適なPDLデータに変換され、プリンタに送信される。この際、プリンタが受信したPDLデータは、プリンタコントローラにおいて、解析処理を行い、コマンドに従って高速に展開処理し、プリンタエンジンのパフォーマンスを落とすことなく高速かつ高画質な出力を実現している。
【0003】
【発明が解決しようとする課題】
しかしながら、ピクセル間で色を少しずつ変えて描画するグラデーション描画を行う場合、プリンタドライバでグラデーション描画コマンドのPDLデータをプリンタに送信し、プリンタコントローラにおいて展開すると、グラデーション描画領域の全ての色を算出するのに非常に時間がかかるとともに、グラデーション描画領域が大きいと非常に多くのメモリを必要とする。
【0004】
また、ホストコンピュータのプリンタドライバにおいて展開処理をすると、データ量の増加に伴い、データ転送に時間がかかるといった問題があり、プリンタエンジンのパフォーマンスを低下させる要因となっている。
【0005】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させることができる仕組みを提供することである。
【0006】
【課題を解決するための手段】
本発明に係る出力制御装置は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置であって、該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断手段と、前記判断手段により2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定手段と、前記間引きレベル決定手段により決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成手段とを有し、前記間引きレベル決定手段は、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出手段と、グラデーション描画領域内の色数を算出する色数算出手段とを有し、前記幅算出手段により算出される処理方式と幅、および前記色数算出手段により算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【0009】
本発明に係る出力制御方法は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置における出力制御方法であって、該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、前記判断ステップにより2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【0011】
本発明に係る記憶媒体は、以下の特徴的構成を備える。
ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置に、該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、前記判断ステップにより2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを実行させるためのプログラムを記録したコンピュータが読み取り可能な記憶媒体であって、前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする。
【0028】
【発明の実施の形態】
以下、添付の図面を用いて本発明の好適な実施形態を説明する。
【0029】
〔第1実施形態〕
図1は、本発明の第1実施形態を示す出力制御装置を適用可能なプリンタシステムの構成を説明するブロック図である。
【0030】
図1において、101はホストコンピュータ等の外部機器で、アプリケーションにより生成される印刷情報(PDLデータ)を所定のインタフェースを介してレーザビームプリンタ102に出力する。なお、所定のインタフェースは、双方向インタフェース(セントロニクス),ネットワークインタフェースの双方を含むものとする。
【0031】
レーザビームプリンタ102において、105はプリンタエンジン部で、イメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行う。プリンタエンジン部105は、カートリッジ構成される場合を含むものとする。
【0032】
103はプリンタコントローラ部(コントローラ部)で、プリンタエンジン105に接続され、ホストコンピュータ等の外部機器101から送られるコードデータ(ESCコード、各種PDLデータ等)を受け、このコードデータに基づいてドットデータからなるページ情報を生成し、プリンタエンジン部105に対して所定のインターフェース手段によってイメージデータを送信する。
【0033】
104はユーザ(操作者)とのインターフェースを行うパネル部であり、ユーザはパネル部104を操作することによって、レーザビームプリンタ102に所定の動作を指示することができる。
【0034】
図2は、図1に示したプリンタエンジン部105の構成を説明する概略断面図である。
【0035】
図2において、201はプリンタ筐体、202は操作パネルである。操作パネル202は、操作のためのスイッチ及びLED表示器、LCD表示器が配されている。これは図1において示したパネル部104の物理的側面である。
【0036】
203は制御ボード収納部で、プリンタの印字プロセス制御を行うプリンタエンジン部105、及びプリンタ全体の制御とホストコンピュータからのデータを解析し、イメージデータに変換するプリンタコントローラ部103が収納される。
【0037】
210は用紙を保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。211はカセット給紙クラッチであり、用紙カセット210上に載置された用紙の最上位の用紙一枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ212まで搬送させる、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙を給紙する。
【0038】
214はレジストシャッタであり、用紙を押圧して給紙を停止させる。給紙ローラ212は、用紙の先端部をレジストシャッタ214まで搬送する。
【0039】
219は手差し用トレイであり、給紙クラッチ215により用紙の先端をレジストシャッタ214まで搬送する。以上のような構成によって用紙カセット210及び手差し給紙用トレイ219から選択的に用紙を給紙することが可能となる。
【0040】
プリンタエンジン部105は、プリンタコントローラ部103と所定の通信プロトコルによって通信を行い、プリンタコントローラ部103からの指示によって、用紙カセット210、または手差し用トレイ219の中から給紙手段を決定し、印字開始指示によって上記の通り給紙を開始し用紙をレジストシャッタ214まで搬送する。204はカートリッジであり、感光ドラム205、及び不図示のトナー保持部を有する。
【0041】
206はレーザドライバ、207は回転多面鏡、208は反射ミラー、209はビームディテクタである。レジストシャッタ214まで用紙が搬送されると、プリンタコントローラ部103から送られたイメージデータに応じてレーザドライバによってオンオフ駆動される不図示の半導体レーザから発射されるレーザビームは、回転多面鏡207により主走査方向に走査され反射ミラー208を介して感光ドラム205上に導かれ結像し、主走査方向に走査して主走査ライン上に潜像を形成する。このレーザビームの発射に同期してレジストシャッタ214は上方に駆動し、用紙の搬送をレーザビームの副走査に同期させる。
【0042】
レーザビームの走査開始時に配置されたビームディテクタ209は、レーザビームを検出することによって主走査の画像書出しタイミングを決定するための同期信号を形成し、プリンタコントローラ部103に送る。その後用紙は、搬送ローラ213によって搬送され、感光ドラム205は不図示のモータによって回転駆動され、現像器220によってトナー像として顕像化された後、用紙上に転写される。トナー像が転写された用紙はその後、定着ローラ216によりトナー像が加熱定着され、搬送ローラ217を経て、排紙ローラ218によりプリンタ筐体の排紙トレイに排紙される。
【0043】
図3は、図1に示したプリンタコントローラ部103の詳細構成を説明するためのブロック図である。
【0044】
図において、301はパネルインタフェースで、パネル部104とのデータ通信によって、操作者からの諸設定、指示をパネル部104から受け取る。302はホストインタフェースで、ホストコンピュータ等の外部機器101との信号の入出力部として機能する。
【0045】
303はエンジンインタフェースで、プリンタエンジン部105との信号の入出力部であり、不図示の出力バッファレジスタからデータ信号送出を行うとともにプリンタエンジン部105との通信制御を行う。304はCPUで、プリンタコントローラ部103全体の制御を司る。
【0046】
305はROMで、CPU304の制御コードを格納する。310はデータ解析部で、ホストインターフェース302において受信したデータを解析し、所定の処理に振り分ける。320は幅算出部で、データ解析部310においてグラデーション描画であると判定されたときにグラデーション描画する領域の幅を算出する。321は色数算出部で、グラデーション描画における色数を算出する。311は間引きレベル判定部で、幅算出部320、色数算出部321において算出した、幅と色数よりグラデーション描画の間引きレベルを決定する。
【0047】
312はエッジ位置算出部で、グラデーション描画におけるスキャンライン毎のエッジの座標を計算する。313はグラデーションデータ作成部で、エッジ位置算出部により算出されたエッジ間のピクセルそれぞれに対するデータを作成する。314は描画処理部で、作成されたデータをラスタデータに展開する。
【0048】
なお、データ解析部310、幅算出部320、色数算出部321、間引き判定部311、エッジ位置算出部312、グラデーションデータ作成部313、描画処理部314は、例えばプログラムモジュールとして構成され、例えばROM305に格納されている。
【0049】
306は一時記憶用RAMで、CPU304のワークメモリとして使用する。315は受信バッファで、ホストインターフェース302において受信したデータを一時的に格納する。
【0050】
316は頂点情報メモリで、グラデーション描画において指定された座標と色情報を格納する。317はオブジェクトメモリで、グラデーションデータ作成部313において作成されたグラデーションイメージを格納する。
【0051】
318はラスタメモリで、オブジェクトメモリ317に格納されたオブジェクトを描画処理部314によって所定の解像度、階調に展開したデータを格納する。307は不揮発性のメモリ手段であるEEPROMである。
【0052】
308はDMA制御部であり、CPU304からの指示により画像メモリ内のビットマップデータを、エンジンインタフェース303に転送する。309はアドレスバス及びデータバスを持つシステムバスである。
【0053】
なお、パネルインタフェース301、ホストインタフェース302、エンジンインターフェース303、CPU304、ROM305、RAM306、EEPROM307及びDMA制御部308は、各々システムバス309に接続され、システムバス309上にある全ての機能部にアクセス可能である。
【0054】
また、CPU304を制御する制御コードは、不図示のシステムクロックによってタスクと称されるロードモジュール単位に時分割制御するOSと、機能単位に動作する複数のロードモジュール(タスク)によって構成されるものとする。
【0055】
次に、ホスト側のシステムの説明を図4に基づいて行う。
【0056】
図4は、図1に示した外部機器101における機能処理構成例を説明するブロック図である。
【0057】
図4において、401はホストコンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置300に出力するものである。ホストコンピュータ401は、入力デバイスであるキーボード411やポインティングデバイスであるマウス412と、表示デバイスであるディスプレイ410を合わせた一つのコンピュータシステムとして構成されている。なお、ホストコンピュータ401は、MS-DOS、Windows などの基本OSによって動作しているものとする。
【0058】
ホストコンピュータ側について、本発明に係る機能的な部分にのみ注目し、基本OS上での機能を大きく分類すると、アプリケーション402、画像情報処理手段であるグラフィックシステム403、データ格納手段、印刷データ格納制御手段および印刷装置との通信手段を含むスプールシステム404、UI処理部405に大別される。
【0059】
アプリケーション402は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。グラフィックシステム403は、基本OSの機能の一部であるGraphic Device Interface(以後、GDIと記す)406とそのGDIから動的にリンクされるデバイスドライバであるプリンタドライバ407によって構成されている。
【0060】
ここで、プリンタドライバ407はGDIとしてコールされる描画命令を、PDL言語に変換するのが大きな役割である。GDI描画命令やドライバの設定により本発明に関連するグラデーション描画命令を受け取り、適切な処理を行う。
【0061】
スプールシステム404は、グラフィックシステム403の後段に位置するプリンタ特有のシステムであり、グラフィックシステム403において作成されたPDLデータを一時的に格納するスプーラ408と、スプーラ408に格納されたPDLデータを読み出し、印刷装置300内に送信するプリンタI/F409から構成されるものである。
【0062】
なお、基本OSによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。
【0063】
例えば、スプーラと呼ばれるものは、別のOSにおいてプリントキューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。なお、一般的に、これらの各機能モジュールを含むホストコンピュータ401は、図示しないが中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、各種入出力制御部(I/O)などのハードウェアのもとで、基本ソフトと呼ばれるソフトウェアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、システムプロセスが機能モジュールとして動作するようになっている。
【0064】
次に本実施形態のグラデーション描画の処理について説明する。
【0065】
ユーザがアプリケーション402などを使って、グラデーション指定した図形を含んだプレゼンテーションデータやDTPデータを作成し、そのデータを印刷する場合、プリンタドライバ407はGDIとしてコールされる描画命令をPDLデータに変換する。このとき、グラデーション指定した図形に対し、グラデーション描画命令が発行される。発行されるグラデーション描画命令は、図5〜図7に示すように、例えば3種類あり、矩形の対角の2頂点の座標とそれぞれの頂点の色を指定し、一方の頂点の色からもう一方の頂点の色へ水平方向に変化させる水平グラデーション指定(図5)と、一方の頂点の色からもう一方の頂点の色へ垂直方向に変化させる垂直グラデーション指定(図6)があり、さらに、三角形の3頂点の座標とそれぞれの頂点の色を指定し、3つの頂点内で色を変換させる三角グラデーション指定(図7)がある。
【0066】
図5〜図7は、図4に示したプリンタドライバ407により発行されるグラデーション描画命令例を示す図である。
【0067】
グラデーション描画命令も他の描画命令と同様にPDLデータに変換し、図3に示す印刷装置300に送信する。プリンタコントローラ部103において、ホストI/F302を介してグラデーション描画命令を受信すると、以下に示す式に従ってグラデーション描画を行う。
【0068】
水平グラデーション指定における矩形領域内の色は、以下の第(1)式〜第(3)式に基づいて算出される。
【0069】
矩形の頂点1の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点2の座標を(X2, Y2)、色を(R2, G2, B2)とし、矩形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R2 * (X - X1) + R1 * (X2 - X)) / (X2 -X1)……(1)
G = (G2 * (X - X1) + G1 * (X2 - X)) / (X2 -X1)……(2)
B = (B2 * (X - X1) + B1 * (X2 - X)) / (X2 -X1)……(3)
となる。
【0070】
水平方向グラデーションはY座標には依存せず、同じX座標の領域は全て同じ色で描画することとなる。
【0071】
垂直グラデーション指定における矩形領域内の色は以下の第(4)式〜第(6)式で算出される。
矩形の頂点1の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点2の座標を(X2, Y2)、色を(R2, G2, B2)とし、矩形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R2 * (Y - Y1) + R1 * (Y2 - Y)) / (Y2 -Y1)……(4)
G = (G2 * (Y - Y1) + G1 * (Y2 - Y)) / (Y2 -Y1)……(5)
B = (B2 * (Y - Y1) + B1 * (Y2 - Y)) / (Y2 -Y1)……(6)
となる。
【0072】
垂直方向グラデーションはX座標には依存せず、同じY座標の領域は全て同じ色で描画することとなる。
【0073】
三角グラデーション指定における三角形領域内の色は以下の第(7)式〜第(9)式で算出される。
【0074】
三角形の頂点1の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点2の座標を(X2, Y2)、色を(R2, G2, B2)とし、頂点3の座標を(X3, Y3)、色を(R3, G3 B3) とし、三角形領域内のある点の座標の(X, Y)の色(R, G,B)は、
R = (R1 * S1 + R2 * S2 + R3 * S3) / (S1 + S2 + S3)……(7)
G = (G1 * S1 + G2 * S2 + G3 * S3) / (S1 + S2 + S3)……(8)
B = (B1 * S1 + B2 * S2 + B3 * S3) / (S1 + S2 + S3)……(9)
なお、S1は頂点2、頂点3、領域内座標(X, Y)を3つの頂点とした三角形の面積を示し、S2は頂点1、頂点3、領域内座標(X, Y)を3つの頂点とした三角形の面積を示し、S3は頂点1、頂点2、領域内座標(X, Y)を3つの頂点とした三角形の面積を示す。
【0075】
次に、本発明に係る出力制御装置におけるグラデーション描画処理動作について図8,図9,図11に示すフローチャートおよび図10に示すユーザインタフェースを参照して説明する。
【0076】
図8は、本発明に係る出力制御装置における第1のデータ処理手順の一例を示すフローチャートであり、図3に示した印刷装置300におけるデータ受信から出力までの処理手順に対応する。なお、S501〜S511は各ステップを示す。
【0077】
図4に示したホストコンピュータ401のプリンタI/F409からPDLデータが送信されると、印刷装置300のホストI/F302を介してPDLデータを受信し(S501)、逐次RAM306上に確保される受信バッファ315に格納する。そして、格納されたデータはデータ解析部310において、受信バッファ315から読み出され、コマンド解析を行い(S502)、それぞれのコマンドに対応した処理を実行する。そして、コマンド解析によりコマンドがグラデーション描画処理方式であるか否かを判定して(S503)、グラデーション描画処理方式であると判定した場合、間引きレベル判定部311において、詳細は図9に示す間引きパラメータの算出処理を行い(S504)、ステップS502へ戻って、再びデータ解析を行う。
【0078】
一方、ステップS503で、コマンド解析によりグラデーション描画処理方式でないと判定した場合は、さらに、該命令がグラデーション命令か否かを判定し(S505)、グラデーション命令であると判定した場合は、図3に示した間引きレベル判定部311において、グラデーション描画における間引きレベルの算出を行う(S506)。
【0079】
そして、該算出された間引きレベルを拡大値として描画処理部314に指定するとともに(S507)、間引きレベルに従ってグラデーションデータ作成部313でグラデーションイメージデータを作成し(S508)、オブジェクトメモリ317に格納して、グラデーションイメージデータの作成が終了すると、ステップS502へ戻り、再びデータ解析を行う。
【0080】
一方、ステップS505で、グラデーション命令でないと判定された場合は、さらに、データ解析部310によるコマンド解析によりグラデーション描画以外の描画コマンド、例えばページ終了を指示する命令か否かを判定して(S509)、ページ終了を指示する命令でないと判定した場合は、コマンドに対応した描画データを作成し(S510)、オブジェクトメモリ317に格納した後、ステップS502へ戻り、再びデータ解析を行う。
【0081】
一方、ステップS509で、データ解析によりページ終了コマンドであると判定した場合は、描画処理部314においてオブジェクトメモリ317に格納されている描画データをラスタメモリ318に所定の解像度、階調で展開処理し、出力して(S511)、処理を終了する。
【0082】
図9は、本発明に係る出力制御装置における第2のデータ処理手順の一例を示すフローチャートであり、図8に示したステップS504におけるグラデーション処理方式から間引きパラメータを算出処理する詳細手順に対応する。なお、S601〜S605は各ステップを示す。
【0083】
図10は、図4に示したホストコンピュータのディスプレイ410に表示するグラデーション描画処理選択ウィンドウ例を示す図である。
【0084】
先ずステップS601で、図10に示すウインドウにおいて、ユーザによって選択されたグラデーション処理方式が「高速」であるか否かを判断し、「高速」であると判定した場合、間引きパラメータparam に「2」を設定し(S602)、処理を終了する。
【0085】
一方、ステップ(S601)で、高速でないと判定された場合は、さらに、図10に示すウインドウにおいて、ユーザによって選択されたグラデーション処理方式が「高画質」であるか否かを判断し、「高画質」であると判定した場合、間引きパラメータparam に「0.5」を設定して(S604)、処理を終了する。
【0086】
一方、ステップS603で、以上の処理方式以外(標準)が選択されていると判定した場合は、間引きパラメータparam に「1」を設定し(S605)、間引きパラメータ算出処理は終了する。
【0087】
図11は、本発明に係る出力制御装置における第3のデータ処理手順の一例を示すフローチャートであり、図8に示したステップS506における間引きレベル算出処理の詳細手順に対応する。なお、S701〜S707は各ステップを示す。
【0088】
先ず、幅算出部320でグラデーション描画命令により2点指定された矩形領域、または3点指定された三角形を含む矩形領域の幅を算出する(S701)。また、同時に色数算出部321で色数を算出する(S702)。
【0089】
なお、幅Wdと色数Cnumの算出式は、2点指定の矩形の頂点1の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点2の座標を(X2, Y2)、色を(R2, G2, B2)とした場合、幅Wdは、
Wd = abs(X2 - X1) + 1
となり、
色数Cnumは、
R = abs(R2 - R1) + 1,G = abs(G2 - G1) + 1,B = abs(B2 - B1) + 1,Cnum = max(R, G,B)となる。
【0090】
また、3点指定の三角形の頂点1の座標を(X1, Y1)、色を(R1, G1, B1)とし、頂点2の座標を(X2, Y2)、色を(R2, G2, B2)とし、頂点3の座標を(X3, Y3)、色を(R3, G3B3)とした場合、幅Wdは、Wd = max(X1, X2, X3) - min(X1, X2, X3) +1となり、色数Cnumは、R = max(R1, R2, R3) - min(R1, R2, R3) + 1,G = max(G1, G2, G3) - min(G1, G2, G3) +1,B = max(B1, B2, B3) - min(B1, B2, B3) + 1,Cnum = max(R, G,B)となる。
以上の算出式により算出したWd, Cnumと間引きパラメータparam を元に、間引きレベル判定部311において Wd/Cnum*paramが、「16」以上であるか否かを判定して(S703)、「16」以上であると判定した場合は、間引きレベルmabikiを「8」とし(S704)、処理を終了する。
【0091】
一方、ステップS703で、16」以上でないと判定した場合は、Wd/Cnum*paramが「8」以上「16」未満であるか否かを判定して(S705)、 Wd/Cnum*paramが「8」以上「16」未満であると判定した場合は、間引きレベルmabikiを「6」とし(S706)、処理を終了する。
【0092】
一方、ステップS705で、Wd/Cnum*param が「8」未満であると判定された場合は、間引きレベルmabikiを「4」として(S707)、処理を終了する。
【0093】
以上の方法により算出した間引きレベルに応じて、グラデーションデータ作成部313においてグラデーションイメージデータ作成を行う。
【0094】
図12は、本発明に係る出力制御装置における間引きレベル例を示す図であり、図9に示す間引きレベル算出のフローチャートに従って間引きレベルを算出したときの一例である。
【0095】
図13は、本発明に係る出力制御装置における第4のデータ処理手順の一例を示すフローチャートであり、図8に示したステップS506におけるグラデーションイメージデータ作成処理の詳細手順に対応する。なお、S801〜S814は各ステップを示す。
【0096】
先ず、三角グラデーション指定の3点の最小Y座標の頂点を「A」とし、残りの2点のうち最小X座標の頂点を「B」とし、残りの頂点を「C」とする(S801)。
【0097】
次に、頂点BのY座標Ybが頂点CのY座標Ycより小さい否か(Yb<Yc)を判断し(S802)、Yb<Ycであると判断した場合は、左エッジのスキャンする経路を「A→B→C」、右エッジのスキャンする経路を「A→C」とし(S803)、Y座標の最大値Ymax に頂点CのY座標Ycを設定する(S804)。
【0098】
一方、ステップS802で、頂点BのY座標が頂点CのY座標以上であると判断した場合は、左エッジのスキャンする経路を「A→B」、右エッジのスキャンする経路を「A→C→B」とし(S805)、Y座標の最大値Ymaxに頂点BのY座標Ybを設定する(S806)。
【0099】
そして、スキャンする経路が決まったらY座標の最小値Yに頂点AのY座標Yaを設定し(S807)、エッジ位置算出部312でY座標における左エッジのX座標Xleft と右エッジのX座標Xrightを算出する(S808)。
【0100】
次に、算出したXleft をX に設定し(S809)、座標(X, Y)の色を三角グラデーション指定の色算出式によって算出する(S810)。そして、算出した色の値はオブジェクトメモリ317に格納される。座標(X, Y)の色算出後、X に間引きレベル判定部311で算出した間引きレベルmabikiを足し(S811 )、Xと Xrightを比較し XがXrightよりも大きくなっているかどうかを判断して(S812)、X がXrightよりも大きくなるまでステップS810〜S812を繰り返し行う。
そして、X がXright よりも大きくなったと判断されたら、すなわち、Y座標の1スキャンライン分のグラデーションイメージの作成が終了したら、Yをインクリメントし(S813)、YとYmaxを比較して、Y がYmaxより大きくなっているか否かを判断して(S814)、 YがYmaxより大きくなるまでステップS808〜S814を繰り返し行う。
一方、ステップS814で、Y がYmax より大きくなったと判断された場合は、処理を終了する。
【0101】
このようにステップS811で色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させ、色データに使用するメモリ量の削減を行っている。
【0102】
図14は、本発明に係る出力制御装置における第1のグラデーションイメージデータ作成処理例を示す図であり、図13に示したグラデーションイメージ作成のフローチャートに従って、スキャンラインのデータを作成したときの一例である。
【0103】
〔第2実施形態〕
上記第1実施形態の間引きレベル判定部311による間引きレベル算出処理例においては、幅算出部320、色数算出部321で算出した、三角グラデーションを含む矩形領域の幅と色数により算出しているが、本実施形態では算出の精度を向上させ、適切な間引きレベルによりグラデーションイメージを作成する例である。以下、本実施形態について説明する。
【0104】
図15は、本発明に係る出力制御装置における第5のデータ処理手順の一例を示すフローチャートであり、図8に示したステップS504における他の間引きレベル算出処理の詳細手順に対応する。なお、S1001〜S1016は各ステップを示す。
【0105】
先ず、三角グラデーション指定の3点の最小Y座標の頂点をAとし、残りの2点のうち最小X座標の頂点をBとし、残りの頂点をCとする(S1001)。続いて、頂点BのY座標Ybが頂点CのY座標Ycより小さいか否か(Yb<Yc)を判断し、頂点BのY座標Ybが頂点CのY座標Ycより小さいと判断した場合は、Yに頂点BのY座標Ybを設定し(S1003)、Xleft に頂点BのX座標Xbを設定し(S1004)、さらにY座標Yのときの右エッジの座標を頂点Aと頂点Cを結ぶ線上で算出し、Xrightに設定する(S1005)。
【0106】
一方、ステップS1002で、頂点BのY座標Ybが頂点CのY座標Ycより大きいと判断された場合は、Yに頂点CのY座標Ycを設定し(S1006)、Xrightに頂点CのX座標を設定し(S1007)、さらにY座標Yのときの左エッジの座標を頂点Aと頂点Bを結ぶ線上で算出し、Xleft に設定して(S1008)、ステップS1009以降へ進む。
【0107】
このようにして、Xleft, Xright,Yを設定した後、左エッジの(Xleft, Y) の色Cleft (S1009)と、右エッジの(Xright,Y)の色Crightを算出し(S1010)、幅算出部320においてXleft とXright間の幅Wdと色数算出部321においてXleft とXright間の色数Cnumを算出する(S1011)。幅Wdと色数Cnumの算出式は、Cleft を(Rleft,Gleft, Bleft)、Crightを(Rright, Gright, Bright)とすると、幅WdはWd = Xright - Xleft +1となり、色数Cnumは、R = abs(Rleft - Rright) + 1,G = abs(Gleft - Gright) +1,B = abs(Bleft - Bright) + 1,Cnum = max(R, G,B)となる。
【0108】
そして、以上の算出式により幅算出部320と色数算出部321で算出したWd, Cnumと間引きパラメータparamを元に、間引きレベル判定部311において Wd/Cnum*paramが「16」以上であるか否かを判断し(S1012)、「16」以上と判断した場合、間引きレベルmabikiを「8」とし(S1013)、処理を終了する。
一方、ステップS1012で、算出したWd, Cnumと間引きパラメータparam のW d/Cnum*paramが「16」以上でないと判断した場合は、さらに、Wd/Cnum*param が「8」以上「16」未満であるか否かを判断し(S1014)、「8」以上「16」未満であると判断した場合は、間引きレベルmabikiを「6」として(S1015)、処理を終了する。
【0109】
一方、ステップS1014で、「8」以上「16」未満でないと判断した場合は、例えばWd/Cnum*param が「8」未満の場合は、間引きレベルmabikiを「4」として(S1016)、処理を終了する。
【0110】
以上の方法により算出した間引きレベルに応じて、グラデーションデータ作成部313においてグラデーションイメージデータ作成を行う。
【0111】
図16は、本発明に係る出力制御装置における他の間引きレベル例を示す図であり、図17は、本発明に係る出力制御装置における第2のグラデーションイメージデータ作成処理例を示す図である。
【0112】
なお、上記第1,第2実施形態においては、グラデーション描画処理方式の選択は、3種類のうちの1つを選択する場合について説明したが、選択の種類をより詳細にしてさらに多くのレベル分けして、より適切な間引きレベルを選択できるようにしてもよい。
【0113】
また、上記第1,第2実施形態においては、間引きレベル判定部311における間引きレベル算出方式は、3種類の間引きレベルに分ける場合について説明したが、条件をより詳細にしてさらに多くのレベル分けして、より適切な間引きレベルを算出するようにしてもよい。
【0114】
さらに、上記第1,第2実施形態においては、間引きレベル判定部311における間引きレベル算出方式は、サイズや色数だけで間引きレベルを算出しているが、出力解像度、出力階調などの画質に影響のある設定条件も考慮して、より適切な間引きレベルを算出するようにしてもよい。
【0115】
また、上記第1,第2実施形態においては、間引きレベル判定部311における間引きレベル算出と、グラデーションデータ作成部313におけるグラデーションイメージ作成方式は、主走査方向に対してのみ適用する場合について説明したが、同様な方式により副走査方向に対しても適用するようにしてもよい。
【0116】
以下、図18に示すメモリマップを参照して本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【0117】
図18は、本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0118】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0119】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0120】
本実施形態における図8,図9,図11,図13,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0121】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0122】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0123】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0124】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0125】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0126】
【発明の効果】
以上説明したように、本発明によれば、色を算出するピクセルを一定値ごとにスキップすることで処理効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示す出力制御装置を適用可能なプリンタシステムの構成を説明するブロック図である。
【図2】図1に示したプリンタエンジン部の構成を説明する概略断面図である。
【図3】図1に示したプリンタコントローラ部の詳細構成を説明するためのブロック図である。
【図4】図1に示した外部機器における機能処理構成例を説明するブロック図である。
【図5】図4に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図6】図4に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図7】図4に示したプリンタドライバにより発行されるグラデーション描画命令例を示す図である。
【図8】本発明に係る出力制御装置における第1のデータ処理手順の一例を示すフローチャートである。
【図9】本発明に係る出力制御装置における第2のデータ処理手順の一例を示すフローチャートである。
【図10】図4に示したホストコンピュータのディスプレイに表示するグラデーション描画処理選択ウィンドウ例を示す図である。
【図11】本発明に係る出力制御装置における第3のデータ処理手順の一例を示すフローチャートである。
【図12】本発明に係る出力制御装置における間引きレベル例を示す図である。
【図13】本発明に係る出力制御装置における第4のデータ処理手順の一例を示すフローチャートである。
【図14】本発明に係る出力制御装置における第1のグラデーションイメージデータ作成処理例を示す図である。
【図15】本発明に係る出力制御装置における第5のデータ処理手順の一例を示すフローチャートである。
【図16】本発明に係る出力制御装置における他の間引きレベル例を示す図である。
【図17】本発明に係る出力制御装置における第2のグラデーションイメージデータ作成処理例を示す図である。
【図18】本発明に係る出力制御装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
301 パネルI/F
302 ホストI/F
304 CPU
305 ROM
306 RAM
307 EEPROM
308 DMA制御部
310 データ解析部
311 間引きレベル判定部
312 エッジ位置算出部
313 グラデーションデータ作成部
314 描画処理部
315 受信バッファ
316 頂点情報メモリ
317 オブジェクトメモリ
318 ラスタメモリ
[0001]
BACKGROUND OF THE INVENTION
The present invention receives page description language (hereinafter referred to as PDL) data created by an external device such as a host computer, analyzes the page description language data, and outputs rasterized raster data to the engine. The present invention relates to a control device, a printing device, an output control method, and a storage medium.
[0002]
[Prior art]
Recently, DTP and presentation software on a host computer have become highly functional, and complex drawings can be easily expressed. When printing is performed using these application software, complicated drawing data is converted into optimum PDL data by a printer driver and transmitted to a printer. At this time, the PDL data received by the printer is analyzed by the printer controller, and is developed at high speed according to the command, thereby realizing high-speed and high-quality output without degrading the performance of the printer engine.
[0003]
[Problems to be solved by the invention]
However, when performing gradation drawing in which colors are changed little by little between pixels, the PDL data of the gradation drawing command is transmitted to the printer by the printer driver and developed in the printer controller to calculate all colors in the gradation drawing area. It takes a very long time and requires a large amount of memory if the gradation drawing area is large.
[0004]
Further, when the expansion processing is performed in the printer driver of the host computer, there is a problem that it takes time to transfer data as the amount of data increases, which causes a decrease in the performance of the printer engine.
[0005]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a mechanism that can improve processing efficiency by skipping pixels for calculating a color every predetermined value. That is.
[0006]
[Means for Solving the Problems]
The output control apparatus according to the present invention has the following characteristic configuration.
The gradation rendering processing method selected by the user is an output control device that receives and analyzes the attached page description language data from the external device, and performs expansion processing on the analyzed data. Determination means for determining whether or not gradation drawing for changing the color of an area surrounded by points or three points is instructed, and for an area surrounded by two or three points by the determination means When it is determined that gradation drawing to draw by changing colors is instructed, a thinning level determination unit that determines an interval for calculating a color of a pixel in the gradation drawing region, and a thinning level determined by the thinning level determination unit Drawing data creating means for creating gradation drawing data by means of the thinning level determining means. A processing method and a width calculating means for calculating the width of the gradation drawing area, and a color number calculating means for calculating the number of colors in the gradation drawing area, and the processing method and width calculated by the width calculating means , And the number of colors calculated by the number-of-colors calculation means.
[0009]
The output control method according to the present invention has the following characteristic configuration.
An output control method in an output control apparatus in which a gradation drawing processing method selected by a user receives attached page description language data from an external device and analyzes it, and performs expansion processing on the analyzed data. A step of determining whether gradation drawing for changing the color is instructed for an area surrounded by two or three points is specified, and the determination step is surrounded by two or three points When it is determined that gradation drawing for changing the color for the region is instructed, a thinning level determining step for determining an interval for calculating a color of a pixel in the gradation drawing region, and the thinning level determining step A drawing data creation step for creating gradation drawing data according to the determined thinning level; The thinning level determination step includes: a gradation drawing processing method; a width calculation step for calculating a width of the gradation drawing region; and a color number calculation step for calculating the number of colors in the gradation drawing region. The thinning level is determined based on the processing method and width calculated in the calculation step and the number of colors calculated in the color number calculation step.
[0011]
The storage medium according to the present invention has the following characteristic configuration.
The processing method of gradation drawing selected by the user receives the attached page description language data from the external device and analyzes it, and the output control device that performs expansion processing on the analyzed data has two or more analyzed data. A determination step for determining whether gradation drawing for changing the color for an area surrounded by three points is instructed, and a color for an area surrounded by two or three points by the determination step. When it is determined that gradation drawing to be drawn is instructed, a gradation level determining step for determining an interval for calculating a color of a pixel in the gradation drawing region, and a gradation according to the thinning level determined by the thinning level determination step A program for executing a drawing data creation step for creating drawing data The thinning level determination step calculates the gradation drawing processing method, the width calculation step for calculating the width of the gradation drawing region, and the number of colors in the gradation drawing region. A color number calculating step, wherein the thinning level is determined based on the processing method and width calculated in the width calculating step and the number of colors calculated in the color number calculating step.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
[0029]
[First Embodiment]
FIG. 1 is a block diagram illustrating the configuration of a printer system to which the output control apparatus according to the first embodiment of the present invention can be applied.
[0030]
In FIG. 1, reference numeral 101 denotes an external device such as a host computer, which outputs print information (PDL data) generated by an application to the laser beam printer 102 via a predetermined interface. The predetermined interface includes both a bidirectional interface (Centronics) and a network interface.
[0031]
In the laser beam printer 102, reference numeral 105 denotes a printer engine unit which forms a latent image on a photosensitive drum by a known electrophotographic process based on image data, transfers the image onto a sheet, fixes the image, and performs printing. The printer engine unit 105 includes a case where a cartridge is configured.
[0032]
Reference numeral 103 denotes a printer controller unit (controller unit) which is connected to the printer engine 105 and receives code data (ESC code, various PDL data, etc.) sent from an external device 101 such as a host computer. Is generated, and image data is transmitted to the printer engine unit 105 by a predetermined interface means.
[0033]
A panel unit 104 performs an interface with a user (operator). The user can instruct the laser beam printer 102 to perform a predetermined operation by operating the panel unit 104.
[0034]
FIG. 2 is a schematic cross-sectional view for explaining the configuration of the printer engine unit 105 shown in FIG.
[0035]
In FIG. 2, 201 is a printer housing, and 202 is an operation panel. The operation panel 202 includes switches for operation, an LED display, and an LCD display. This is a physical aspect of the panel unit 104 shown in FIG.
[0036]
A control board storage unit 203 stores a printer engine unit 105 that controls the printing process of the printer, and a printer controller unit 103 that controls the entire printer and analyzes data from the host computer and converts it into image data.
[0037]
A paper cassette 210 holds paper and has a mechanism for electrically detecting the paper size by a partition plate (not shown). Reference numeral 211 denotes a cassette paper feed clutch, which separates only one uppermost paper sheet placed on the paper cassette 210 and feeds the separated paper to the paper feed roller 212 by a driving means (not shown). The paper rotates intermittently for each paper and feeds one sheet corresponding to one rotation.
[0038]
Reference numeral 214 denotes a registration shutter, which presses the paper to stop paper feeding. The paper feed roller 212 conveys the leading edge of the paper to the registration shutter 214.
[0039]
Reference numeral 219 denotes a manual feed tray that conveys the leading end of the sheet to the registration shutter 214 by a paper feed clutch 215. With the above configuration, it is possible to selectively feed paper from the paper cassette 210 and the manual paper feed tray 219.
[0040]
The printer engine unit 105 communicates with the printer controller unit 103 using a predetermined communication protocol, determines a paper feeding unit from the paper cassette 210 or the manual feed tray 219 according to an instruction from the printer controller unit 103, and starts printing. In response to the instruction, feeding is started as described above, and the sheet is conveyed to the registration shutter 214. A cartridge 204 has a photosensitive drum 205 and a toner holding unit (not shown).
[0041]
Reference numeral 206 denotes a laser driver, 207 denotes a rotating polygon mirror, 208 denotes a reflecting mirror, and 209 denotes a beam detector. When the sheet is conveyed to the registration shutter 214, a laser beam emitted from a semiconductor laser (not shown) that is driven on and off by a laser driver in accordance with image data sent from the printer controller unit 103 is mainly transmitted by a rotary polygon mirror 207. It scans in the scanning direction and is guided onto the photosensitive drum 205 through the reflection mirror 208 to form an image, and scans in the main scanning direction to form a latent image on the main scanning line. In synchronization with the emission of the laser beam, the registration shutter 214 is driven upward to synchronize the conveyance of the paper with the sub-scanning of the laser beam.
[0042]
A beam detector 209 arranged at the start of scanning of the laser beam forms a synchronization signal for determining the image writing timing of main scanning by detecting the laser beam, and sends it to the printer controller unit 103. Thereafter, the sheet is conveyed by a conveying roller 213, and the photosensitive drum 205 is driven to rotate by a motor (not shown), and is visualized as a toner image by the developing device 220, and then transferred onto the sheet. The sheet onto which the toner image has been transferred is then heated and fixed by the fixing roller 216, passes through the transport roller 217, and is discharged to the discharge tray of the printer housing by the discharge roller 218.
[0043]
FIG. 3 is a block diagram for explaining a detailed configuration of the printer controller unit 103 shown in FIG.
[0044]
In the figure, reference numeral 301 denotes a panel interface, which receives various settings and instructions from the operator from the panel unit 104 by data communication with the panel unit 104. A host interface 302 functions as an input / output unit for signals with the external device 101 such as a host computer.
[0045]
Reference numeral 303 denotes an engine interface, which is a signal input / output unit for the printer engine unit 105, which transmits a data signal from an output buffer register (not shown) and controls communication with the printer engine unit 105. A CPU 304 controls the entire printer controller unit 103.
[0046]
A ROM 305 stores a control code for the CPU 304. A data analysis unit 310 analyzes data received by the host interface 302 and distributes the data to a predetermined process. Reference numeral 320 denotes a width calculation unit that calculates the width of an area for gradation drawing when the data analysis unit 310 determines that gradation drawing is performed. A color number calculation unit 321 calculates the number of colors in gradation drawing. A thinning level determination unit 311 determines a gradation drawing thinning level based on the width and the number of colors calculated by the width calculation unit 320 and the color number calculation unit 321.
[0047]
Reference numeral 312 denotes an edge position calculation unit which calculates edge coordinates for each scan line in gradation drawing. A gradation data creation unit 313 creates data for each pixel between edges calculated by the edge position calculation unit. A drawing processing unit 314 develops the created data into raster data.
[0048]
The data analysis unit 310, the width calculation unit 320, the color number calculation unit 321, the thinning determination unit 311, the edge position calculation unit 312, the gradation data creation unit 313, and the drawing processing unit 314 are configured as program modules, for example, ROM305 Stored in
[0049]
A temporary storage RAM 306 is used as a work memory for the CPU 304. A reception buffer 315 temporarily stores data received by the host interface 302.
[0050]
Reference numeral 316 denotes a vertex information memory which stores coordinates and color information designated in gradation drawing. Reference numeral 317 denotes an object memory that stores the gradation image created by the gradation data creation unit 313.
[0051]
A raster memory 318 stores data obtained by developing an object stored in the object memory 317 into a predetermined resolution and gradation by the drawing processing unit 314. Reference numeral 307 denotes an EEPROM which is a nonvolatile memory means.
[0052]
A DMA control unit 308 transfers bitmap data in the image memory to the engine interface 303 in accordance with an instruction from the CPU 304. Reference numeral 309 denotes a system bus having an address bus and a data bus.
[0053]
The panel interface 301, the host interface 302, the engine interface 303, the CPU 304, the ROM 305, the RAM 306, the EEPROM 307, and the DMA control unit 308 are each connected to the system bus 309 and can access all functional units on the system bus 309. is there.
[0054]
The control code for controlling the CPU 304 is composed of an OS that performs time-sharing control in units of load modules called tasks according to a system clock (not shown), and a plurality of load modules (tasks) that operate in units of functions. To do.
[0055]
Next, the system on the host side will be described with reference to FIG.
[0056]
FIG. 4 is a block diagram illustrating an example of a functional processing configuration in the external device 101 illustrated in FIG.
[0057]
In FIG. 4, reference numeral 401 denotes a host computer that outputs print information including print data and control codes to the printing apparatus 300. The host computer 401 is configured as one computer system including a keyboard 411 as an input device and a mouse 412 as a pointing device and a display 410 as a display device. It is assumed that the host computer 401 is operated by a basic OS such as MS-DOS or Windows.
[0058]
On the host computer side, focusing only on the functional part according to the present invention, and broadly classifying the functions on the basic OS, the application 402, the graphic system 403 as image information processing means, the data storage means, and the print data storage control And a spool system 404 including a communication unit and a communication unit with a printing apparatus, and a UI processing unit 405.
[0059]
The application 402 refers to application software that operates on basic software such as a word processor or spreadsheet. The graphic system 403 includes a graphic device interface (hereinafter referred to as GDI) 406 that is a part of the functions of the basic OS and a printer driver 407 that is a device driver dynamically linked from the GDI.
[0060]
Here, the printer driver 407 plays a major role in converting a drawing command called as GDI into the PDL language. A gradation drawing command related to the present invention is received by a GDI drawing command or driver setting, and appropriate processing is performed.
[0061]
The spool system 404 is a system unique to the printer located in the subsequent stage of the graphic system 403. The spool system 408 temporarily stores the PDL data created in the graphic system 403, and reads the PDL data stored in the spooler 408. The printer I / F 409 transmits to the printing apparatus 300.
[0062]
Note that these names and functional frameworks described above may differ slightly depending on the basic OS, but those names and frameworks are not so much for the present invention as long as each technical means described in the present invention can be realized. It's not a big problem.
[0063]
For example, what is called a spooler can be realized by incorporating processing into a module called a print queue in another OS. In general, a host computer 401 including these functional modules includes a central processing unit (CPU), a read-only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and various types (not shown). Under the hardware such as an input / output control unit (I / O), software called basic software manages the control, and under the basic software, each application software and system process operate as function modules. It has become.
[0064]
Next, gradation drawing processing according to the present embodiment will be described.
[0065]
When the user creates presentation data or DTP data including a graphic with gradation specified using the application 402 or the like and prints the data, the printer driver 407 converts a drawing command called as GDI into PDL data. At this time, a gradation drawing command is issued for the figure designated for gradation. As shown in FIGS. 5 to 7, for example, there are three types of gradation drawing commands to be issued. The coordinates of the two vertices of the diagonal corner of the rectangle and the colors of the respective vertices are designated, and the color from one vertex to the other is designated. There is a horizontal gradation specification (Fig. 5) that changes horizontally to the vertex color of Fig. 5 and a vertical gradation specification (Fig. 6) that changes vertically from the color of one vertex to the color of the other vertex. There is a triangular gradation designation (FIG. 7) for designating the coordinates of the three vertices and the colors of the respective vertices and converting the colors within the three vertices.
[0066]
5 to 7 are diagrams showing examples of gradation drawing commands issued by the printer driver 407 shown in FIG.
[0067]
The gradation drawing command is converted into PDL data in the same manner as other drawing commands, and is transmitted to the printing apparatus 300 shown in FIG. When the printer controller 103 receives a gradation drawing command via the host I / F 302, it performs gradation drawing according to the following formula.
[0068]
The color in the rectangular area in the horizontal gradation designation is calculated based on the following formulas (1) to (3).
[0069]
The coordinates of vertex 1 of the rectangle are (X1, Y1), the color is (R1, G1, B1), the coordinates of vertex 2 are (X2, Y2), and the color is (R2, G2, B2). The color (R, G, B) of (X, Y) at the coordinates of a point is
R = (R2 * (X-X1) + R1 * (X2-X)) / (X2 -X1) …… (1)
G = (G2 * (X-X1) + G1 * (X2-X)) / (X2 -X1) …… (2)
B = (B2 * (X-X1) + B1 * (X2-X)) / (X2 -X1) …… (3)
It becomes.
[0070]
The horizontal gradation does not depend on the Y coordinate, and all regions having the same X coordinate are drawn with the same color.
[0071]
The color in the rectangular area in the vertical gradation designation is calculated by the following expressions (4) to (6).
The coordinates of vertex 1 of the rectangle are (X1, Y1), the color is (R1, G1, B1), the coordinates of vertex 2 are (X2, Y2), and the color is (R2, G2, B2). The color (R, G, B) of (X, Y) at the coordinates of a point is
R = (R2 * (Y-Y1) + R1 * (Y2-Y)) / (Y2 -Y1) …… (4)
G = (G2 * (Y-Y1) + G1 * (Y2-Y)) / (Y2 -Y1) …… (5)
B = (B2 * (Y-Y1) + B1 * (Y2-Y)) / (Y2 -Y1) …… (6)
It becomes.
[0072]
The vertical gradation does not depend on the X coordinate, and all regions having the same Y coordinate are drawn with the same color.
[0073]
The color in the triangular area in the triangle gradation designation is calculated by the following equations (7) to (9).
[0074]
The coordinates of vertex 1 of the triangle are (X1, Y1), the color is (R1, G1, B1), the coordinates of vertex 2 are (X2, Y2), the color is (R2, G2, B2), and the coordinates of vertex 3 Is (X3, Y3), the color is (R3, G3 B3), and the color (R, G, B) of (X, Y) at the coordinates of a point in the triangle area is
R = (R1 * S1 + R2 * S2 + R3 * S3) / (S1 + S2 + S3) …… (7)
G = (G1 * S1 + G2 * S2 + G3 * S3) / (S1 + S2 + S3) …… (8)
B = (B1 * S1 + B2 * S2 + B3 * S3) / (S1 + S2 + S3) …… (9)
S1 indicates the area of the triangle with vertex 2, vertex 3, and in-region coordinates (X, Y) as three vertices. S2 indicates vertex 1, vertex 3, and in-region coordinates (X, Y) at three vertices. , S3 indicates the area of the triangle with vertex 1 and vertex 2 and the coordinates (X, Y) in the region as three vertices.
[0075]
Next, the gradation drawing processing operation in the output control apparatus according to the present invention will be described with reference to the flowcharts shown in FIGS. 8, 9, and 11 and the user interface shown in FIG.
[0076]
FIG. 8 is a flowchart showing an example of a first data processing procedure in the output control apparatus according to the present invention, and corresponds to the processing procedure from data reception to output in the printing apparatus 300 shown in FIG. In addition, S501-S511 show each step.
[0077]
When the PDL data is transmitted from the printer I / F 409 of the host computer 401 shown in FIG. 4, the PDL data is received via the host I / F 302 of the printing apparatus 300 (S501), and reception is secured on the RAM 306 sequentially. Store in the buffer 315. Then, the stored data is read from the reception buffer 315 in the data analysis unit 310, command analysis is performed (S502), and processing corresponding to each command is executed. Then, it is determined by command analysis whether or not the command is the gradation drawing processing method (S503), and when it is determined that the command is the gradation drawing processing method, the thinning level determination unit 311 details the thinning parameters shown in FIG. (S504), the process returns to step S502, and data analysis is performed again.
[0078]
On the other hand, if it is determined in step S503 that the command is not a gradation drawing processing method by command analysis, it is further determined whether or not the command is a gradation command (S505), and if it is determined that the command is a gradation command, FIG. The thinning level determination unit 311 shown calculates the thinning level in gradation drawing (S506).
[0079]
Then, the calculated thinning level is designated as an enlarged value to the drawing processing unit 314 (S507), and gradation image data is created by the gradation data creating unit 313 according to the thinning level (S508) and stored in the object memory 317. When the creation of gradation image data is completed, the process returns to step S502, and data analysis is performed again.
[0080]
On the other hand, if it is determined in step S505 that the command is not a gradation command, it is further determined by the command analysis by the data analysis unit 310 whether the command is a drawing command other than gradation drawing, for example, a command for instructing the end of the page (S509). If it is determined that the command is not an instruction to end the page, drawing data corresponding to the command is created (S510), stored in the object memory 317, and the process returns to step S502 to perform data analysis again.
[0081]
On the other hand, if it is determined in step S509 that the command is a page end command by data analysis, the rendering processing unit 314 develops the rendering data stored in the object memory 317 in the raster memory 318 with a predetermined resolution and gradation. Are output (S511), and the process is terminated.
[0082]
FIG. 9 is a flowchart showing an example of a second data processing procedure in the output control apparatus according to the present invention, and corresponds to a detailed procedure for calculating a thinning parameter from the gradation processing method in step S504 shown in FIG. S601 to S605 indicate each step.
[0083]
FIG. 10 is a diagram showing an example of a gradation drawing process selection window displayed on the display 410 of the host computer shown in FIG.
[0084]
First, in step S601, whether or not the gradation processing method selected by the user is “high speed” in the window shown in FIG. 10 is determined. If it is determined that the gradation processing method is “high speed”, “2” is set in the thinning parameter param. Is set (S602), and the process is terminated.
[0085]
On the other hand, if it is determined in step (S601) that the speed is not high, it is further determined whether or not the gradation processing method selected by the user is “high image quality” in the window shown in FIG. If it is determined that the image quality is “image quality”, the thinning parameter param is set to “0.5” (S604), and the process ends.
[0086]
On the other hand, if it is determined in step S603 that a method other than the above processing method (standard) has been selected, “1” is set to the thinning parameter param (S605), and the thinning parameter calculation processing ends.
[0087]
FIG. 11 is a flowchart showing an example of a third data processing procedure in the output control apparatus according to the present invention, and corresponds to the detailed procedure of the thinning level calculation processing in step S506 shown in FIG. S701 to S707 indicate each step.
[0088]
First, the width calculation unit 320 calculates the width of a rectangular area designated by two points by a gradation drawing command or a rectangular area including a triangle designated by three points (S701). At the same time, the color number calculation unit 321 calculates the number of colors (S702).
[0089]
The formula for calculating the width Wd and the number of colors Cnum is (X1, Y1) for the coordinates of the vertex 1 of the two-point specified rectangle, (R1, G1, B1) for the color, and (X2, Y2) for the coordinates of the vertex 2 ), When the color is (R2, G2, B2), the width Wd is
Wd = abs (X2-X1) + 1
And
The number of colors Cnum is
R = abs (R2-R1) +1, G = abs (G2-G1) +1, B = abs (B2-B1) +1, Cnum = max (R, G, B).
[0090]
In addition, the coordinates of vertex 1 of the triangle with 3 points specified are (X1, Y1), the color is (R1, G1, B1), the coordinates of vertex 2 are (X2, Y2), and the color is (R2, G2, B2) When the coordinates of vertex 3 are (X3, Y3) and the color is (R3, G3B3), the width Wd is Wd = max (X1, X2, X3)-min (X1, X2, X3) +1 The number of colors Cnum is R = max (R1, R2, R3)-min (R1, R2, R3) + 1, G = max (G1, G2, G3)-min (G1, G2, G3) +1, B = max (B1, B2, B3)-min (B1, B2, B3) + 1, Cnum = max (R, G, B).
Based on Wd, Cnum and the thinning parameter param calculated by the above calculation formula, the thinning level determination unit 311 determines whether Wd / Cnum * param is “16” or more (S703). If it is determined that it is greater than or equal to “”, the thinning level mabiki is set to “8” (S704), and the process ends.
[0091]
On the other hand, if it is determined in step S703 that it is not equal to or greater than 16 ", it is determined whether or not Wd / Cnum * param is greater than or equal to" 8 "and less than" 16 "(S705). If it is determined that the value is 8 or more and less than “16”, the thinning level mabiki is set to “6” (S706), and the process is terminated.
[0092]
On the other hand, if it is determined in step S705 that Wd / Cnum * param is less than “8”, the thinning level mabiki is set to “4” (S707), and the process ends.
[0093]
The gradation data creation unit 313 creates gradation image data in accordance with the thinning level calculated by the above method.
[0094]
12 is a diagram showing an example of the thinning level in the output control apparatus according to the present invention, and is an example when the thinning level is calculated according to the thinning level calculation flowchart shown in FIG.
[0095]
FIG. 13 is a flowchart showing an example of the fourth data processing procedure in the output control apparatus according to the present invention, and corresponds to the detailed procedure of the gradation image data creation processing in step S506 shown in FIG. S801 to S814 indicate each step.
[0096]
First, the minimum Y-coordinate vertices of three points designated by the triangular gradation are set to “A”, the minimum X-coordinate vertices of the remaining two points are set to “B”, and the remaining vertices are set to “C” (S801).
[0097]
Next, it is determined whether or not the Y coordinate Yb of the vertex B is smaller than the Y coordinate Yc of the vertex C (Yb <Yc) (S802). If it is determined that Yb <Yc, the path for scanning the left edge is determined. “A → B → C”, the path for scanning the right edge is “A → C” (S803), and the Y coordinate Yc of the vertex C is set to the maximum Y coordinate Ymax (S804).
[0098]
On the other hand, if it is determined in step S802 that the Y coordinate of vertex B is greater than or equal to the Y coordinate of vertex C, the path scanned by the left edge is “A → B”, and the path scanned by the right edge is “A → C”. → B ”(S805), the Y coordinate Yb of the vertex B is set as the maximum Y coordinate Ymax (S806).
[0099]
When the scanning path is determined, the Y coordinate Ya of the vertex A is set as the minimum Y value Y of the Y coordinate (S807), and the X coordinate Xleft of the left edge and the X coordinate Xright of the right edge in the Y coordinate are determined by the edge position calculation unit 312. Is calculated (S808).
[0100]
Next, the calculated Xleft is set to X (S809), and the color at the coordinates (X, Y) is calculated by the color calculation formula designated by the triangular gradation (S810). The calculated color value is stored in the object memory 317. After calculating the color of the coordinates (X, Y), the thinning level mabiki calculated by the thinning level determination unit 311 is added to X (S811), and X and Xright are compared to determine whether X is larger than Xright. (S812), Steps S810 to S812 are repeated until X becomes larger than Xright.
When it is determined that X is larger than Xright, that is, when the creation of the gradation image for one scan line of the Y coordinate is completed, Y is incremented (S813), and Y and Ymax are compared. It is determined whether or not it is larger than Ymax (S814), and steps S808 to S814 are repeated until Y is larger than Ymax.
On the other hand, if it is determined in step S814 that Y is greater than Ymax, the process is terminated.
[0101]
In this manner, the processing efficiency is improved by skipping the pixels for which the color is calculated in step S811 for every fixed value, and the amount of memory used for the color data is reduced.
[0102]
FIG. 14 is a diagram showing a first gradation image data creation processing example in the output control apparatus according to the present invention, and is an example when scan line data is created according to the gradation image creation flowchart shown in FIG. is there.
[0103]
[Second Embodiment]
In the thinning level calculation processing example by the thinning level determination unit 311 in the first embodiment, the calculation is performed based on the width and the number of colors of the rectangular area including the triangular gradation calculated by the width calculation unit 320 and the color number calculation unit 321. However, this embodiment is an example of improving the calculation accuracy and creating a gradation image with an appropriate thinning level. Hereinafter, this embodiment will be described.
[0104]
FIG. 15 is a flowchart showing an example of a fifth data processing procedure in the output control apparatus according to the present invention, and corresponds to the detailed procedure of the other thinning level calculation processing in step S504 shown in FIG. S1001 to S1016 indicate each step.
[0105]
First, the vertex of the minimum Y coordinate of the three points designated by the triangular gradation is set as A, the vertex of the minimum X coordinate among the remaining two points is set as B, and the remaining vertex is set as C (S1001). Subsequently, it is determined whether the Y coordinate Yb of the vertex B is smaller than the Y coordinate Yc of the vertex C (Yb <Yc), and when it is determined that the Y coordinate Yb of the vertex B is smaller than the Y coordinate Yc of the vertex C , Y is set to the Y coordinate Yb of the vertex B (S1003), Xleft is set to the X coordinate Xb of the vertex B (S1004), and the coordinates of the right edge when the Y coordinate is Y are connected to the vertex A and the vertex C. Calculate on the line and set to Xright (S1005).
[0106]
On the other hand, if it is determined in step S1002 that the Y coordinate Yb of the vertex B is greater than the Y coordinate Yc of the vertex C, the Y coordinate Yc of the vertex C is set to Y (S1006), and the X coordinate of the vertex C is set to Xright. (S1007), the coordinates of the left edge at the Y coordinate Y are calculated on the line connecting the vertex A and the vertex B, set to Xleft (S1008), and the process proceeds to step S1009 and subsequent steps.
[0107]
After setting Xleft, Xright, and Y in this way, the left edge (Xleft, Y) color Cleft (S1009) and the right edge (Xright, Y) color Cright are calculated (S1010), and the width is calculated. The calculation unit 320 calculates the width Wd between Xleft and Xright, and the color number calculation unit 321 calculates the number of colors Cnum between Xleft and Xright (S1011). The formula for calculating the width Wd and the number of colors Cnum is: Cleft is (Rleft, Gleft, Bleft), Cright is (Rright, Gright, Bright), the width Wd is Wd = Xright-Xleft +1, and the number of colors Cnum R = abs (Rleft-Rright) +1, G = abs (Gleft-Gright) +1, B = abs (Bleft-Bright) +1, Cnum = max (R, G, B).
[0108]
Whether or not Wd / Cnum * param is equal to or greater than “16” in the thinning level determination unit 311 based on the Wd, Cnum and the thinning parameter param calculated by the width calculation unit 320 and the color number calculation unit 321 by the above calculation formula. It is determined whether or not (S1012), and if it is determined to be “16” or more, the thinning level mabiki is set to “8” (S1013), and the process is terminated.
On the other hand, if it is determined in step S1012 that the calculated Wd, Cnum and W d / Cnum * param of the thinning parameter param are not “16” or more, Wd / Cnum * param is “8” or more and less than “16”. (S1014), and if it is determined that it is greater than or equal to “8” and less than “16”, the thinning level mabiki is set to “6” (S1015), and the process ends.
[0109]
On the other hand, if it is determined in step S1014 that it is not more than “8” and less than “16”, for example, if Wd / Cnum * param is less than “8”, the thinning level mabiki is set to “4” (S1016), and the processing is performed. finish.
[0110]
The gradation data creation unit 313 creates gradation image data in accordance with the thinning level calculated by the above method.
[0111]
FIG. 16 is a diagram showing another example of thinning levels in the output control device according to the present invention, and FIG. 17 is a diagram showing a second gradation image data creation processing example in the output control device according to the present invention.
[0112]
In the first and second embodiments, the description has been given of the case of selecting one of the three types of gradation drawing processing methods. However, the level of selection is made more detailed, and more levels are divided. Thus, a more appropriate thinning level may be selected.
[0113]
In the first and second embodiments, the thinning level calculation method in the thinning level determination unit 311 has been described for the case where the thinning level is divided into three types of thinning levels. Thus, a more appropriate thinning level may be calculated.
[0114]
Furthermore, in the first and second embodiments, the thinning level calculation method in the thinning level determination unit 311 calculates the thinning level based only on the size and the number of colors. A more appropriate thinning level may be calculated in consideration of influential setting conditions.
[0115]
In the first and second embodiments, the case where the thinning level calculation in the thinning level determination unit 311 and the gradation image creation method in the gradation data creation unit 313 are applied only in the main scanning direction has been described. The same method may be applied to the sub-scanning direction.
[0116]
The configuration of a data processing program that can be read by a printing system to which the output control apparatus according to the present invention can be applied will be described below with reference to the memory map shown in FIG.
[0117]
FIG. 18 is a diagram for explaining a memory map of a storage medium that stores various data processing programs that can be read by a printing system to which the output control apparatus according to the present invention can be applied.
[0118]
Although not particularly illustrated, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
[0119]
Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in the computer, and a program for decompressing when the program to be installed is compressed may be stored.
[0120]
The functions shown in FIGS. 8, 9, 11, 13, and 15 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.
[0121]
As described above, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.
[0122]
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0123]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, an EEPROM, or the like is used. it can.
[0124]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0125]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0126]
【The invention's effect】
As described above, according to the present invention, there is an effect that the processing efficiency can be improved by skipping pixels for which the color is calculated for every predetermined value.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printer system to which an output control apparatus according to a first embodiment of the invention can be applied.
FIG. 2 is a schematic cross-sectional view illustrating the configuration of a printer engine unit illustrated in FIG.
3 is a block diagram for explaining a detailed configuration of a printer controller unit shown in FIG. 1; FIG.
4 is a block diagram illustrating an example of a functional processing configuration in the external device illustrated in FIG. 1. FIG.
FIG. 5 is a diagram illustrating an example of a gradation drawing command issued by the printer driver shown in FIG. 4;
6 is a diagram showing an example of a gradation drawing command issued by the printer driver shown in FIG.
7 is a diagram showing an example of a gradation drawing command issued by the printer driver shown in FIG.
FIG. 8 is a flowchart showing an example of a first data processing procedure in the output control apparatus according to the present invention.
FIG. 9 is a flowchart showing an example of a second data processing procedure in the output control apparatus according to the present invention.
10 is a diagram showing an example of a gradation drawing process selection window displayed on the display of the host computer shown in FIG. 4. FIG.
FIG. 11 is a flowchart showing an example of a third data processing procedure in the output control apparatus according to the present invention.
FIG. 12 is a diagram showing an example of a thinning level in the output control device according to the present invention.
FIG. 13 is a flowchart showing an example of a fourth data processing procedure in the output control apparatus according to the present invention.
FIG. 14 is a diagram showing a first gradation image data creation process example in the output control apparatus according to the present invention.
FIG. 15 is a flowchart showing an example of a fifth data processing procedure in the output control apparatus according to the present invention.
FIG. 16 is a diagram showing another example of thinning levels in the output control apparatus according to the present invention.
FIG. 17 is a diagram showing a second gradation image data creation processing example in the output control apparatus according to the present invention.
FIG. 18 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read by a printing system to which the output control apparatus according to the invention can be applied.
[Explanation of symbols]
301 Panel I / F
302 Host I / F
304 CPU
305 ROM
306 RAM
307 EEPROM
308 DMA controller
310 Data analysis unit
311 Thinning level determination unit
312 Edge position calculation unit
313 Gradient data creation part
314 Drawing processing unit
315 Receive buffer
316 Vertex information memory
317 Object memory
318 Raster memory

Claims (15)

ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置であって、
該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断手段と、
前記判断手段により2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定手段と、
前記間引きレベル決定手段により決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成手段とを有し、
前記間引きレベル決定手段は、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出手段と、グラデーション描画領域内の色数を算出する色数算出手段とを有し、前記幅算出手段により算出される処理方式と幅、および前記色数算出手段により算出される色数とに基づき、間引きレベルを決定することを特徴とする出力制御装置。
A user-selected gradation rendering processing method receives an attached page description language data from an external device and analyzes it, and performs an expansion process on the analyzed data.
A judging means for judging whether gradation drawing for rendering the analyzed data by changing the color for an area surrounded by two or three points is instructed;
Determines the interval for calculating the color of the pixels in the gradation drawing area when the determination means determines that gradation drawing for changing the color to the area surrounded by two or three points is instructed. Decimation level determination means for
Drawing data creation means for creating gradation drawing data based on the thinning level determined by the thinning level determination means;
The thinning level determination means includes a gradation drawing processing method, a width calculation means for calculating the width of the gradation drawing area, and a color number calculation means for calculating the number of colors in the gradation drawing area. An output control device, wherein a thinning level is determined based on a calculated processing method and width, and a color number calculated by the color number calculating means.
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項1記載の出力制御装置。  2. The output control apparatus according to claim 1, wherein the external device device is capable of selecting a desired gradation drawing processing method via a predetermined user interface. 前記幅算出手段は、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項1記載の出力制御装置。  The output control apparatus according to claim 1, wherein the width calculating unit calculates a width of a rectangular area including a gradation drawing area. 前記色数算出手段は、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項1記載の出力制御装置。  In the case of gray output in the gradation drawing area, the color number calculation means uses the difference between the highest luminance level and the lowest luminance level as the number of colors, and in the case of color output, the difference between the highest luminance level and the lowest luminance level for each plane. The output control apparatus according to claim 1, wherein the maximum value is used as the number of colors. 前記幅算出手段は、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項1記載の出力制御装置。  The output control apparatus according to claim 1, wherein the width calculating unit calculates a maximum width of all the scan lines in the gradation drawing area. ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置における出力制御方法であって、
該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、
前記判断ステップにより2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、
前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、
前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする出力制御方法。
The gradation rendering processing method selected by the user is an output control method in an output control device that receives and analyzes attached page description language data from an external device and performs expansion processing on the analyzed data.
A determination step for determining whether or not gradation drawing for changing the color of the analyzed data to an area surrounded by two or three points is instructed;
When it is determined in the determination step that the gradation drawing for changing the color to the area surrounded by two or three points is instructed, the interval for calculating the color of the pixel in the gradation drawing area is determined. A decimation level determination step,
A drawing data creation step for creating gradation drawing data based on the thinning level determined in the thinning level determination step;
The thinning level determination step includes a gradation drawing processing method and a width calculating step for calculating the width of the gradation drawing area, and a color number calculating step for calculating the number of colors in the gradation drawing area. An output control method comprising: determining a thinning level based on a calculated processing method and width, and a number of colors calculated in the number of colors calculation step.
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項6記載の出力制御方法。  The output control method according to claim 6, wherein the external device can select a desired gradation drawing processing method via a predetermined user interface. 前記幅算出ステップは、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項6記載の出力制御方法。  The output control method according to claim 6, wherein the width calculating step calculates a width of a rectangular area including a gradation drawing area. 前記色数算出ステップは、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項6記載の出力制御方法。  The number of colors calculation step uses the difference between the highest luminance level and the lowest luminance level for gray output in the gradation drawing area as the number of colors, and for color output, the difference between the highest luminance level and the lowest luminance level for each plane. 7. The output control method according to claim 6, wherein the maximum value is calculated as the number of colors. 前記幅算出ステップは、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項6記載の出力制御方法。  7. The output control method according to claim 6, wherein the width calculating step calculates a maximum width of all scan lines in the gradation drawing area. ユーザ選択されたグラデーション描画の処理方式が添付ページ記述言語データを外部機器装置から受信して解析し、該解析したデータに対して展開処理を行う出力制御装置に、
該解析したデータが2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されているかどうかを判断する判断ステップと、
前記判断ステップにより2点あるいは3点で囲まれた領域に対して色を変えて描画するグラデーション描画が指示されていると判断した場合に、グラデーション描画領域内のピクセルの色を算出する間隔を決定する間引きレベル決定ステップと、
前記間引きレベル決定ステップにより決定した間引きレベルによりグラデーション描画のデータを作成する描画データ作成ステップとを有し、
前記間引きレベル決定ステップは、グラデーション描画の処理方式とグラデーション描画領域の幅を算出する幅算出ステップと、グラデーション描画領域内の色数を算出する色数算出ステップとを有し、前記幅算出ステップにより算出される処理方式と幅、および前記色数算出ステップにより算出される色数とに基づき、間引きレベルを決定することを特徴とする記憶媒体。
The output method for the gradation drawing processing method selected by the user receives the attached page description language data from the external device and analyzes it, and performs the expansion processing on the analyzed data.
A determination step for determining whether or not gradation drawing for changing the color of the analyzed data to an area surrounded by two or three points is instructed;
When it is determined in the determination step that the gradation drawing for changing the color to the area surrounded by two or three points is instructed, the interval for calculating the color of the pixel in the gradation drawing area is determined. A decimation level determination step,
A drawing data creation step for creating gradation drawing data based on the thinning level determined in the thinning level determination step;
The thinning level determination step includes a gradation drawing processing method and a width calculating step for calculating the width of the gradation drawing area, and a color number calculating step for calculating the number of colors in the gradation drawing area. A storage medium, wherein a thinning level is determined based on a calculated processing method and width, and a number of colors calculated in the number-of-colors calculating step.
外部機器装置は、所定のユーザインタフェースを介して、所望のグラデーション描画の処理方式を選択可能とすることを特徴とする請求項11記載の記憶媒体。  12. The storage medium according to claim 11, wherein the external device can select a desired gradation drawing processing method via a predetermined user interface. 前記幅算出ステップは、グラデーション描画領域を含む矩形領域の幅を算出することを特徴とする請求項11記載の記憶媒体。  12. The storage medium according to claim 11, wherein the width calculating step calculates a width of a rectangular area including a gradation drawing area. 前記色数算出ステップは、グラデーション描画領域内のグレイ出力の場合は最高輝度レベルと最低輝度レベルの差を色数とし、カラー出力の場合は、各プレーン毎に最高輝度レベルと最低輝度レベルの差を算出し、最大の値を色数とすることを特徴とする請求項11記載の記憶媒体。  The number of colors calculation step uses the difference between the highest luminance level and the lowest luminance level for gray output in the gradation drawing area as the number of colors, and for color output, the difference between the highest luminance level and the lowest luminance level for each plane. The storage medium according to claim 11, wherein the maximum value is calculated as the number of colors. 前記幅算出ステップは、グラデーション描画領域の全スキャンラインのうちの最大幅を算出することを特徴とする請求項11記載の記憶媒体。  12. The storage medium according to claim 11, wherein the width calculating step calculates a maximum width of all scan lines in the gradation drawing area.
JP2001173510A 2001-06-08 2001-06-08 Output control device, printing device, output control method, and storage medium Expired - Fee Related JP3840067B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001173510A JP3840067B2 (en) 2001-06-08 2001-06-08 Output control device, printing device, output control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001173510A JP3840067B2 (en) 2001-06-08 2001-06-08 Output control device, printing device, output control method, and storage medium

Publications (2)

Publication Number Publication Date
JP2002366951A JP2002366951A (en) 2002-12-20
JP3840067B2 true JP3840067B2 (en) 2006-11-01

Family

ID=19014953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001173510A Expired - Fee Related JP3840067B2 (en) 2001-06-08 2001-06-08 Output control device, printing device, output control method, and storage medium

Country Status (1)

Country Link
JP (1) JP3840067B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4506346B2 (en) * 2004-08-12 2010-07-21 富士ゼロックス株式会社 Image processing device

Also Published As

Publication number Publication date
JP2002366951A (en) 2002-12-20

Similar Documents

Publication Publication Date Title
JP4054444B2 (en) Print control apparatus, print control method, and storage medium
JP3392057B2 (en) Print control method and apparatus
US7280245B2 (en) Data processing apparatus adaptable to plural environments and data processing method
JPH1199722A (en) Apparatus and method for controlling printing, and storage medium
JP2007069357A (en) Printing system, printer and printing method
JP3796409B2 (en) Image processing apparatus, image forming apparatus, information processing apparatus, and methods thereof
JP2004246570A (en) Information processor
US8384945B2 (en) Printing apparatus, data generation apparatus, printing method, data generation method, and storage medium
US6173338B1 (en) Image output system having memory for storing image data and outputting stored image data based upon output condition and instruction
JP4418642B2 (en) HOST DEVICE, PRINTING DEVICE, PRINTING SYSTEM HAVING THEM, PRINT CONTROL METHOD, AND PROGRAM THEREOF
JP2001222395A (en) Information processor, information processing method and storage medium in which printer driver program is stored
JP4267047B2 (en) Information processing apparatus, control method, and storage medium
JP3840067B2 (en) Output control device, printing device, output control method, and storage medium
JP3432105B2 (en) Information processing apparatus and control method therefor
JP2004017389A (en) Information processor and printer
JP2000185445A (en) Method and apparatus for printing control
JP4174547B2 (en) Information processing apparatus, information processing method, and storage medium
JP4006068B2 (en) Information processing apparatus, information processing method, and storage medium storing computer-readable program
JP2006235813A (en) Print system
JP2006302036A (en) Color processing mode switching method, information processor implementing the method, and control program thereof
JP2005173639A (en) Information processor, printing device, printing system, information processing method, program, and storage medium
JP2003122521A (en) Print system, information processor, plotting method therefor, program and storage medium
JP2006048215A (en) Method for improving picture quality of printing device
JP3472290B2 (en) Print control method and apparatus
JP2001236193A (en) Information processing system and its processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060501

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: 20060718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060804

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: 20090811

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees