JP4467715B2 - 画像出力制御装置及び方法 - Google Patents
画像出力制御装置及び方法 Download PDFInfo
- Publication number
- JP4467715B2 JP4467715B2 JP2000163374A JP2000163374A JP4467715B2 JP 4467715 B2 JP4467715 B2 JP 4467715B2 JP 2000163374 A JP2000163374 A JP 2000163374A JP 2000163374 A JP2000163374 A JP 2000163374A JP 4467715 B2 JP4467715 B2 JP 4467715B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- format
- image output
- pattern
- brush
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、例えばホストコンピュータ等で稼働するアプリケーションプログラムにより作成された画像をプリンタやディスプレイモニタから出力するための画像出力制御装置及び方法に関する。
【0002】
【従来の技術】
従来の印刷システムにおける印刷制御方法および処理の流れについて図9を用いて説明する。
【0003】
一般的には、図9に示すようにホスト・コンピュータ200は、ディスプレイモニタ220、キーボード210、マウス211、印刷装置100の周辺装置と接続されており、印刷システムを構成している。
【0004】
特に印刷装置100とは、セントロニクスインターフェース等のパラレル通信手段や、ネットワーク通信手段である外部I/F2029を介して接続されている。
【0005】
ホスト・コンピュータ100では、ワードプロセッサや表計算のようなアプリケーションソフトウェア201(以下アプリケーションと略称)がウインドウズ95やウインドウズ98(マイクロソフト社の登録商標)のようないわゆる基本OSソフト2020の上で動作している。こうしたアプリケーション201から印刷を行う場合、そのプログラム内から、基本OSソフト2020が提供するいくつかのサブシステムのうちグラフィック・サブシステム202の機能を用いて印刷を行う。このグラフィック・サブシステム202は、例えばウインドウズでは、GDI2021(Graphic Device Interface)と呼ばれており、ディスプレイやプリンタに対する画像情報の処理を司っている。このGDI2021は、ディスプレイ220や印刷装置100といった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタに対するこのモジュールは特にプリンタ・ドライバ2022と呼ばれる。プリンタ・ドライバ2022には、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群が用意されている必要がある。
【0006】
印刷などの基本的な入出力の機能は基本OSソフトを介して行う必要があるために、アプリケーションから印刷や表示など、画像の出力を行う際には、基本OSソフトによって提供される機能をアプリケーションから使用するためのAPI(Application Programming Interface)コールがアプリケーションによって行われる。GDI2021は、アプリケーションのAPIコールをデバイスドライバ用にデータ変換を行い、このDDI関数群を有するプリンタ・ドライバ2022が適宜GDI2021からコールされ所定の描画処理が実行されるような仕組みになっている。GDI2021では、このようにプリンタ・ドライバ2202を介してアプリケーションからの印刷要求をシーケンシャルに処理している。
【0007】
図9のプリンタ・ドライバ2202は、複数の処理方式の異なるサブドライバ2023−2026をコールすることにより描画処理を行う。サブドライバ2023−2026は、ホスト・コンピュータ側で描画命令のコマンド生成を行い、そのコマンドの大半を印刷装置100側で描画処理するPDLサブドライバ2023と、ホスト・コンピュータ側で描画命令をバンドメモリ2027に展開して印刷装置100へ送る、イメージドライバサブ2024−2026とに分けられる。図9に示す従来型の印刷システムにおいては、どのサブドライバで処理されるかは印刷時のユーザの設定によって切り替えられ、1つの印刷ジョブに対して1つのサブドライバしか対応していなかった。
【0008】
これに対して最近、アプリケーションからGDIを介してプリンタドライバに渡された印刷データを、一旦中間データに変換してスプールファイルとして格納し、それをデスプーラによって取り出してから、PDLコマンドやイメージデータに変換し、印刷装置に送信して印刷させるという、スプールサブシステムを有する印刷システムも利用されている。
【0009】
このようなシステムでは、スプールファイルから取り出された中間データをPDLサブドライバによってPDLコマンド化するか、それともイメージサブドライバによってイメージデータ化するかは、プリンタドライバによって1ページ分の印刷データに基づいて決定される。すなわち図8のシステムとは異なり、ユーザがサブドライバを指定する必要はない。
【0010】
さて、GDIには、パターンブラシと呼ばれる小さな画像パターンを、図名内部に充填して塗りつぶす機能が用意されている。図7として、マイクロソフト社のウインドウズOSにおいて、GDIからプリンタ・ドライバに渡されるパターンブラシ情報の構造の例を示す。この構造はDDB(Device Depend Bitmap)形式と呼ばれるビットマップであり、DDB形式のパターンブラシをDDBパターンブラシと呼ぶ。
【0011】
DDBは名前の通りデバイス依存ビットマップを表すが、1BPP、すなわち1画素当たり1ビットであり、かつ、プレーン数が1のDDB、すなわち2値形式は、デバイスに依存しない標準的なフォーマットとして定義されている。なお、このフォーマットをDDB1BPPと略称する。DDB1BPPは、図7の上半部分に示されているようにフォーマット情報を表すPBITMAP構造体400と、ビットパターン情報を表すデータ列401、ピクセルのOn=1,Off=0の各色を表すDRAWMODE構造体402によりパターンブラシを表現している。ピクセルOnの部分が背景色、ピクセルOffの部分が前景色を表している。
【0012】
このようにDDB1BPPでは2色構成のブラシまでしか表現できないために、プリンタドライバ2022は、3色以上の構成のパターンブラシ、すなわち多値形式のパターンブラシを処理するために、デバイス依存のDDBのフォーマットで渡されるデータを処理可能となっている。このデバイス依存のDDB形式は、図7の下半部分に示すように、フォーマット情報を表すPBITMAP構造体410とビットパターン情報とピクセル色情報とを併せ持つ独自のデータ列411とによって3色以上のパターンブラシを表すことができる。プリンタドライバ2022には、GDI2021より、DDB1BPPまたはデバイス依存のDDBの形でパターンブラシ情報が渡される。後者のデバイス依存のDDBパターンブラシは、一般に色数を表現する情報量が大きいために、デバイス依存のDDBパターンブラシは、DDB1BPPパターンブラシより情報量が大きい。図7の例では、デバイス依存のDDBパターンブラシは24BPPであり(DDB24BPPと呼ぶ)、ピクセル幅と高さが同じDDB1BPPのパターンブラシと比較すれば、ビットパターンだけで24倍ものサイズになってしまう。
【0013】
【発明が解決しようとする課題】
このように、或るサイズのパターンブラシ情報をデバイス依存DBBフォーマットで表現すると、同サイズのパターンブラシ情報をDBB1BPPフォーマットで表現した場合に比べて、データサイズが非常に大きくなる。このため、GDIからプリンタドライバにパターンブラシ情報を渡すための形式としてデバイス依存DBBフォーマットを用いると、GDIにおいてもプリンタドライバにおいても、DBB1BPPフォーマットを用いる場合に比べて処理時間が長くなる。更に、スプールサブシステムを持った印刷システムにおいては、スプールされる中間データもまた大きくなり、スプールファイルを設ける記憶媒体の容量を大きくしなければならない。
【0014】
GDI2021がどの形式のパターンブラシをプリンタドライバに渡すかは、アプリケーション201の描画要求の手順やプリンタドライバ2022の処理方法に依存し、パターンブラシの構成色数に依存しない。したがって、アプリケーション201の描画要求の手順やプリンタドライバ2022の処理方法により、パターンブラシの形式をデバイス依存のDDBフォーマットとするものと定められてしまえば、本来DBB1BPPのフォーマットで表現可能な2色以下の画像データであっても、デバイス依存のDDBフォーマットでGDIからプリンタドライバにパターンブラシ情報が渡される。
【0015】
このように、本来DBB1BPPフォーマットで表現可能なパターンブラシ情報であっても、それに比べてデータ量が相当大きくなってしまうデバイス依存BPPフォーマットでGDIからプリンタドライバに渡されてしまうために、本来不要なはずの処理時間やスプールファイル容量など、貴重なシステム資源が浪費されてしまう。
【0016】
またプリンタドライバの中には、(1)多値パターンブラシより2値パターンブラシの方が高速に処理できるものや、(2)2値パターンブラシの背景色=白、前景色=黒となる時に高速で処理可能なのもの、などがある。このようなプリンタドライバでは、前述したように、多色のパターンブラシ情報を表現するためのデバイス依存DBBフォーマットでパターンブラシ情報を渡されても、その特徴を生かせず、印刷速度を向上させることはできない。
【0017】
本発明は上記従来例に鑑みてなされたもので、プリンタドライバに渡されるパターンブラシ情報の形式を、パターンブラシ情報の内容に最適化することで、印刷速度を向上させると共に、処理時間や記憶容量など、システム資源を浪費しない画像出力制御装置及び方法を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明は上記従来例に鑑みてなされたもので、次のような構成からなる。
【0019】
アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバが図形内部を充填するためのビットパターンデータを含むパターンブラシを基に、画像出力デバイスに適した形式の画像データを生成して前記画像出力デバイスに出力する画像出力制御装置であって、
前記プリンタドライバは、
前記パターンブラシのビットパターンデータが多値形式であり、かつ、色数が2色以下であるか否かを判定する判定手段と、
前記パターンブラシのビットパターンデータが多値形式かつ色数が2色以下の場合には、前記ビットパターンデータを2値形式に変換する変換手段と、
前記変換手段により2値形式に変換されたビットパターンデータを含むパターンブラシを基に、前記画像出力デバイスに適した形式の画像データを生成する生成手段とを備える。
【0020】
あるいは、アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバで実行され、通信媒体を介して印刷装置と通信可能なデータ処理装置とその印刷装置とによって構成される印刷システムにおいて、
前記プリンタドライバは、
前記グラフィックデバイスインターフェースより渡される描画命令を記憶可能な形式の中間言語に変換するスプール手段と、
前記スプール手段により変換された中間言語を保持する中間言語記憶手段と、
中間言語を前記中間言語記憶手段より取り出して再生する再生手段と、
前記再生手段により渡された中間言語の描画命令を描画展開する描画手段とを備え、
前記スプール手段は、前記描画命令がビットマップ描画であってソースビットマップを使用する場合において、当該ソースビットマップが多値形式かつ2色以下のパターンブラシ情報である場合、当該パターンブラシ情報を2値形式のパターンブラシ情報へフォーマット変換し、前記中間言語記憶手段により中間言語としてスプールし、当該ソースビットマップが2値形式のパターンブラシ情報である場合、渡されたパターンブラシ情報を変換せずに中間言語としてスプールする。
【0025】
【発明の実施の形態】
[第1の実施の形態]
<印刷システムの構成>
図8に本発明を適用する印刷システムのブロック図を示す。図8のシステムは、ディスプレイモニタ220,キーボード210,ポインティングデバイス211,印刷装置100,ホスト・コンピュータ200を含む。このシステムは次のように動作する。
【0026】
図8において、アプリケーション201から印刷を行う際には、アプリケーション201が適当なAPIをコールする。GDI2021は、それに応じてアプリケーションから渡されたデータをデバイスドライバ用に変換し、プリンタドライバ2022の提供するDDI関数をコールすることで、プリンタドライバに対して描画命令を発行する。プリンタドライバ2022は、受け取った描画命令を中間言語で記述した中間データに変換しつつ一旦ワークバッファ300へスプールし、並行して1ページを構成する描画命令を分析する。その際、プリンタドライバ2022は、GDI2021から渡されたパターンブラシ情報を、それを中間データに変換する前に、その内容に応じてDBB1BPPフォーマットに変換する。プリンタドライバ2022はその分析結果によりサブドライバ2023−2026のうちのどれを用いるか決定する。サブドライバ2023−2026は、図9に示すサブドライバ2023−2036のI/Fと同一インターフェイスである。デスプーラ301は、ワークバッファ300に格納された中間データをプリンタドライバにより決定されたサブドライバに受け渡す。このシステム構成により、ユーザに複雑な判断を行わせることなく、印刷すべき文書に最適なサブドライバで印刷要求を再生することができる。
【0027】
プリンタドライバ2022は、前述したパターンブラシのフォート変換のために、パターンブラシ最適化部3023を有する。このパターンブラシ最適化部3023では、図1から図6のフローチャートに示す手順を実行し、DDB1BPPフォーマットに変換しても印刷結果に影響を及ぼさないようなデバイス依存のDDBパターンブラシについては、DDB1BPPのパターンブラシにフォーマットを変換する。
【0028】
図10は、図8の印刷システムのハードウエアブロック図である。図10において、ホストコンピュータ3000は、ROM3のプログラム用ROMに記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理等を行うアプリケーションプログラム等やOS、図1〜図6に示す手順を含むプリンタドライバなどを実行するCPU1を備える。システムバス4に接続される各デバイスをCPU1が統括的に制御する。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、所定の双方向インターフェース(双方向I/F)21を介してプリンタ1000に接続されて、プリンタ1000との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMヘのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(表示内容と印刷内容とを一致させる機能)を可能としている。また、CPU1はCRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【0029】
プリンタ1000において、プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等に記憶された制御プログラム等に基づいてシステムバス15に接続される各種のデバイスとのアクセスを統括的に制御し、印刷部I/F16を介して接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。CPU12は双方向I/F21を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。RAM19はCPU21の主メモリ、ワークエリア等として機能するRAMである。入力部18はホストコンピュータ3000と双方向インターフェース21を介して印刷状態情報などのステータス情報などの交信を制御し、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。メモリコントローラ(MC)20は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ14とのアクセスを制御する。操作部1012は、表示パネルやキーボードを含んでおり、オペレータへの情報の提供や、オペレータからの指示の入力を行わせる。
【0030】
<パターンブラシ形式の最適化>
図1に、パターンブラシ最適化部3023によるパターンブラシ形式の最適化ルーチンのフローチャートを示す。
【0031】
ステップ1−1はフォーマット変換の有効性判断のサブルーチンである。このステップでは、パターンブラシを適用する描画の種類や、DDB1BPPのパターンブラシとして出力しても他の描画情報に影響を与えないか否かを判断している。詳細な処理は図2,図3,図4のフローチャートに示す。
【0032】
このステップ1−1のルーチンへの入力情報は以下の情報である。
・ブラシを構成する情報(パターンブラシの場合DDBパターン情報を含む)
・パターンブラシを適用する描画の種類
・DDB1BPPブラシに変換するための変換用パターンメモリ情報
・描画の種類がビットマップ描画の場合、論理描画の指定(ラスタ操作:ROP)とソースビットマップの情報
またこのステップ1−1のルーチンからの出力情報は以下の情報である。
・フォーマット変換が有効かどうかを示すフォーマット変換有効フラグ
ステップ1−2は、ステップ1−1より判断されたフォーマット変換有効フラグをもちいて、フォーマット変換が有効かどうか判断を行うステップである。フォーマット変換によって、他の描画に影響がある。または変換処理に必要なメモリが足りない場合、ここでフォーマット変換処理を終える。
【0033】
ステップ1−3はパターンブラシを構成するデバイス依存DDBの構成色数を判断するルーチンである。詳細は図5のフローチャートに示す。このルーチンへの入力情報は以下の情報である。
・パターンブラシを構成するデバイス依存DDB
またこのルーチンからの出力情報は以下の情報である。
・デバイス依存DDBの全構成色を格納する構成色格納配列
ステップ1−4では、ステップ1−3より得られたデバイス依存DDBの全構成色を格納する構成色格納配列が、3色以上のパターンを有しているか判定する。有している場合にはフォーマット変換処理を終える。2色以下であればブラシフォーマット変換を実行する。
【0034】
ステップ1−5は、デバイス依存のDDBパターンブラシをDDB1BPPパターンブラシに変換する処理である。処理の詳細については図6に示す。
【0035】
このルーチンへの入力情報は以下の情報である。
・構成色格納配列
・デバイス依存DDBブラシ
・変換用パターンメモリ(DDB1BPPパターンブラシのパターンとなる)
・背景色、前景色を表すDRAWMODE構造体
またこのルーチンからの出力情報は以下の情報である。
・変換用パターンメモリ(DDB1BPPパターンブラシのパターンとなる)
・背景色、前景色を表すDRAWMODE構造体
上記変換用パターンメモリ及び背景色、前景色を表すDRAWMODE構造体の情報を用いて、DDB1BPPフォーマットのブラシパターン情報が中間データに変換される。
【0036】
<変換の有効性判断>
図2を用いて、ステップ1−1におけるフォーマット変換の有効性判断の処理詳細を説明する。なお、フォーマット変換有効フラグはオフに初期化されているものとする。
【0037】
ステップ2−1においてはビットマップ描画であるか、それともグラフィクス描画であるか判定される。フォーマット変換の有効性判断処理は、描画の種類により、大きく2つの処理にわけられる。
【0038】
ステップ2−2はビットマップ描画用のフォーマット変換の有効性判断処理である。図4で詳細は説明する。
【0039】
ステップ2−3はグラフィクス描画用のフォーマット変換の有効性判断処理である。図3で詳細は説明する。
【0040】
図3を用いて、ステップ2−3グラフィクス描画用フォーマット変換の有効性判断処理の詳細を説明する。
【0041】
ステップ3−1では、ブラシの種類の情報を用いて、パターンブラシであるか判断する。ブラシの種類には、パターンブラシの他に、単色のソリッドブラシ、決められた登録パターンを用いるハッチブラシがある。パターンブラシでない場合、フォーマット変換を行う必要がないので、フォーマット変換有効フラグをオフとしたまま処理を終了する。一方、パターンブラシの場合、ステップ3−2に行く。
【0042】
ステップ3−2では、パターンブラシを構成するDDBパターンがデバイス依存のDDBパターンか判定する。デバイス依存のDDBパターンの場合はステップ3−3へ進み、デバイス依存のDDBパターンではない場合は、フォーマット変換を行う必要がないので、フォーマット変換有効フラグをオフとしたまま処理を終了する。
【0043】
ステップ3−3では、デバイス依存のDDBパターンの大きさが変換用のパターンメモリ内に格納可能か判断する。格納可能な大きさの場合、ステップ3−4へ行く。格納可能な大きさではない場合、フォーマット変換を行うことができないので、フォーマット変換有効フラグをオフとしたまま処理を終了する。
【0044】
次に図4を用いて、ステップ2−3におけるビットマップ描画用フォーマット変換の有効性判断処理の詳細を説明する。ビットマップ描画でDDB1BPPのソースビットマップ描画を行う際には、DRAWMODE構造体402の背景色および前景色が必要となる。ステップ4−1及びステップ4−2は、パターンブラシの変換によってDRAWMODE構造体402の背景色、前景色を変更してもよいか判断するステップである。
【0045】
ステップ4−1ではソースビットマップを使用するか否かを、ビットマップ描画のROPより判断する。ソースビットマップを使用する場合は、ソースビットマップがDDB1BPPである可能性があるのでステップ4−2へ進み、ソースビットマップを用いない場合は、ステップ4−3へ進む。
【0046】
ステップ4−2では、ソースビットマップがDDB1BPPであるか判定する。ソースビットマップがDDB1BPPの場合、DRAWMODE構造体402の背景色,前景色を変更すると、ソースビットマップの背景色,前景色に異常をきたすのでフォーマット変換を行うことは出来ない。よってフォーマット変換有効フラグをオフとしたまま処理を終了する。
【0047】
ソースビットマップがDDB1BPPではない場合、ステップ4−3に進み、図3に示したグラフィクス描画用フォーマットの変換有効性判断を行う。
【0048】
<パターンブラシ構成色分析処理>
図5を用いて、ステップ1−3のパターンブラシ構成色数分析の詳細を説明する。
【0049】
ステップ5−1は、デバイス依存DDBパターンブラシの全ピクセルについて、ステップ5−2〜ステップ5−8までの処理を繰り返すためのループの入り口である。これにより、各ピクセルごとにステップ5−2〜5−7までの処理が行われ、その処理がピクセルを変えては繰り返される。
【0050】
ステップ5−2では、現在のピクセルの色をデバイス依存DDBパターンより取得する。また、ここでは、ステップ5−4で使用される同色フラグをオフにしておく。
【0051】
ステップ5−3は、現在までに構成色格納配列に格納されているパターンの全構成色について、ステップ5−4〜5−5までループするための入り口である。これにより、各構成色ごとにステップ5−4の処理が行われ、その処理が構成色を変えては繰り返される。
【0052】
ステップ5−4では、現在のピクセル色と、現在の構成色とが同じであれば、同色フラグをオンにする。
【0053】
ステップ5−5はステップ5−3のループの終端である。同色フラグがオンの際はループを抜けてもよい。
【0054】
ステップ5−6では、同色フラグがオンであるか判定し、オンの場合、新しい構成色を発見したので、ステップ5−7へ分岐する。同色フラグがオフの場合、ステップ5−8へ分岐する。
【0055】
ステップ5−7では、新しい構成色を発見したので、構成色格納配列の格納最後尾に現在のピクセル色を格納する。
【0056】
ステップ5−8は、ステップ5−1のループの終端である。3色以上構成色格納配列に格納しようとした場合はループを抜けてもよい。
【0057】
図5に示したステップ1−3におけるパターンブラシ構成色数分析処理の結果を受けて、ステップ1−4でブラシのフォーマットを変更するかの最終判断を行い、図6に示したように、ステップ1−5でブラシフォーマット変換が行われる。その詳細を説明する。
【0058】
<ブラシフォーマット変換>
ステップ6−1は、デバイス依存DDBパターンブラシの全ピクセルについて、ステップ6−2から6−6までの処理を繰り返すループの入り口である。これにより、各ピクセルについてステップ6−2から6−5までの処理が行われ、その処理がピクセルを変えつつ繰り返される。
【0059】
ステップ6−2では、現在のピクセルの色をデバイス依存DDBパターンより取得する。
【0060】
ステップ6−3では、現在のピクセルの色を構成色格納配列の第一番目の構成色と比較する。同じ色の場合、ステップ6−4へ分岐し、異なる場合ステップ6−5へ分岐する。
【0061】
ステップ6−4では、DDB1BPPに変換するための変換用パターンメモリにおける該当ピクセルをオフピクセルに設定する。
【0062】
ステップ6−5では、DDB1BPPに変換するための変換用パターンメモリにおける該当ピクセルをオンピクセルに設定する。 ステップ6−6はステップ6−1のループの終端である。
【0063】
ステップ6−7では、構成格納配列の第1番目の色要素を前景色に、第2番目の色要素を背景色にするようDRAWMODE構造体を書き換える。
【0064】
以上説明した手順により、DDB1BPPフォーマットに変換しても描画される画像が変わらないようなデバイス依存のDDBパターンブラシ情報(多値ブラシ)を判別し、描画される画像が変わらないと判定された場合にはDDB1BPPフォーマット(2値ブラシ)に変換する。こうして、得られる画像を変えることなくパターンブラシ情報を小さくすることができ、スプールファイルを作成する記憶媒体の容量を小さく抑えることができる。さらに、処理時間を短縮することもできる。また、モノクローム画像の描画を特に高速化したプリンタドライバなどでは、その特徴を生かした高速な処理を実現できる。
【0065】
[変形例]
モノクロームのデバイス依存DDBパターンブラシをDDB1BPPとしてスプールした場合、プリンタドライバ等の描画手段によっては、背景色を黒、前景を白で登録すると通常のモノクロ処理と異なるために、カラーのブラシと解釈して描画処理が遅くなるものがある。そのため背景色を白、前景色を黒に変換する処理を図6のステップに組み込むことも出来る。
【0066】
このようにして、アプリケーションからの描画要求をスプールして、印刷文書の特徴を分析し、描画手段を最適なものに切り替えるプリンタ・ドライバにおいて、多値ブラシをその構成色数に応じたパターンブラシに変換することにより、中間言語データのスプール量を減らすことが可能になり、印刷に必要なリソースの軽減と中間言語の再生のスピード化という効果を得る。
【0067】
また、多値パターンブラシより、2値パターンブラシで処理されるほうが早い描画系や、2値ブラシの背景色=白、前景色=黒となる時のみ、高速で処理可能なの描画処理系でも、多値パターンブラシを2値パターンブラシに適切に変換して処理可能となるために、印刷の速度を向上させることができる。
【0068】
なお、本発明は、複数の機器〈例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
【0069】
また、本発明の目的は、前述した実施形態の機能を実現するプリンタドライバと呼ばれるソフトウェアプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のホスト・コンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0070】
この場合、記憶媒体から読み出されたプログラムコード事態が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R,磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0072】
また、ホスト・コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、ホスト・コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0073】
さらに、記憶媒体から読み出されたプログラムコードが、ホスト・コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0074】
本発明を記憶媒体に適応する場合、その記憶媒体には、先に説明した図1乃至図6のフローチャートに対応するプログラムコードを格納することになる。
【0075】
【発明の効果】
以上説明したように本発明によれば、プリンタドライバに渡されるパターンブラシ情報の形式を、パターンブラシ情報の内容に最適化することで、印刷速度を向上させると共に、処理時間や記憶容量などのシステム資源の浪費を防止できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明のブラシスプール最適化処理のフローチャートである。
【図2】本発明のフォーマット変換有効性判断のフローチャートである。
【図3】本発明のグラフィックス描画用フォーマット変換有効性判断のフローチャートである。
【図4】本発明のビットマップ描画用フォーマット変換有効性判断のフローチャートである。
【図5】本発明のパターンブラシ構成色数分析処理のフローチャートである。
【図6】本発明のブラシフォーマット変換処理のフローチャートである。
【図7】DDBのフォーマットを表す模式図である。
【図8】本発明の印刷システム全体の基本構成を示すブロック図である。
【図9】従来の印刷システム全体の基本構成を示すブロック図である。
【図10】印刷システムのブロック図である。
【符号の説明】
100 印刷装置
200 ホスト・コンピュータ
201 アプリケーション
202 グラフィクス・サブ・システム
2020 基本OSソフト
2021 GDI
2022 プリンタ・ドライバ
2023 PDLサブドライバ
2024 モノクロ1BPPサブドライバ
2025 YMCK4BPPサブドライバ
2026 RGB24BPPサブドライバ
2027 バンドメモリ
203 スプールサブシステム
2029 外部I/F
220 ディスプレイ・モニタ
210 キーボード
211 マウス
300 ワークバッファ
301 デスプーラ
3023 パターンブラシ最適化手段
400 フォーマット情報
401 ビットパターン情報
402 ピクセル色情報
403 ビットパターン情報+ピクセル色情報
Claims (15)
- アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバが図形内部を充填するためのビットパターンデータを含むパターンブラシを基に、画像出力デバイスに適した形式の画像データを生成して前記画像出力デバイスに出力する画像出力制御装置であって、
前記プリンタドライバは、
前記パターンブラシのビットパターンデータが多値形式であり、かつ、色数が2色以下であるか否かを判定する判定手段と、
前記パターンブラシのビットパターンデータが多値形式かつ色数が2色以下の場合には、前記ビットパターンデータを2値形式に変換する変換手段と、
前記変換手段により2値形式に変換されたビットパターンデータを含むパターンブラシを基に、前記画像出力デバイスに適した形式の画像データを生成する生成手段と
を備えることを特徴とする画像出力制御装置。 - 前記画像出力デバイスはプリンタであることを特徴とする請求項1に記載の画像出力制御装置。
- 前記変換手段により2値形式に変換されたビットパターンデータを含む画像描画データを中間データに変換して格納するスプール手段を更に備え、
前記生成手段は、前記中間データから前記画像出力デバイスに適した形式の画像データを生成することを特徴とする請求項1または2に記載の画像出力制御装置。 - 前記変換手段は、前記ビットパターンデータが2色以下の場合に、1画素を表す2値のうち、一方の値に前記2色のうちの一方を、他方の値に他方の色を割り当てることを特徴とする請求項1乃至3のいずれか1項に記載の画像出力制御装置。
- 前記変換手段は、ソースビットマップを使用する際に、ソースビットマップが2値形式でない場合、前記ビットパターンデータを2値形式へ変換することを特徴とする請求項1乃至4のいずれか1項に記載の画像出力制御装置。
- 前記変換手段は、前記ビットパターンデータ情報が白と黒の2色で構成されている場合には、前景色を黒、背景色を白の2値パターンデータに変換することを特徴とする請求項1乃至5のいずれか1項に記載の画像出力制御装置。
- アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースにより発行された描画命令を処理するプリンタドライバで実行され、通信媒体を介して印刷装置と通信可能なデータ処理装置とその印刷装置とによって構成される印刷システムにおいて、
前記プリンタドライバは、
前記グラフィックデバイスインターフェースより渡される描画命令を記憶可能な形式の中間言語に変換するスプール手段と、
前記スプール手段により変換された中間言語を保持する中間言語記憶手段と、
中間言語を前記中間言語記憶手段より取り出して再生する再生手段と、
前記再生手段により渡された中間言語の描画命令を描画展開する描画手段とを備え、
前記スプール手段は、前記描画命令がビットマップ描画であってソースビットマップを使用する場合において、当該ソースビットマップが多値形式かつ2色以下のパターンブラシ情報である場合、当該パターンブラシ情報を2値形式のパターンブラシ情報へフォーマット変換し、前記中間言語記憶手段により中間言語としてスプールし、当該ソースビットマップが2値形式のパターンブラシ情報である場合、渡されたパターンブラシ情報を変換せずに中間言語としてスプールすることを特徴とするデータ処理装置。 - アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバが図形内部を充填するためのパターンデータを含む画像描画データから、画像出力デバイスに適した形式の画像データを生成して前記画像出力デバイスに出力する画像出力制御方法であって、
前記プリンタドライバが、
前記パターンデータが多値形式であり、かつ、色数が2色以下であるか否かを判定する判定工程と、
前記パターンデータが多値形式かつ色数が2色以下の場合には、前記パターンデータを2値形式に変換する変換工程と、
前記変換工程により2値形式に変換されたパターンデータを含む画像描画データを基に、前記画像出力デバイスに適した形式の画像データを生成する生成工程と
を実行することを特徴とする画像出力制御方法。 - 前記画像出力デバイスはプリンタであることを特徴とする請求項8に記載の画像出力制御方法。
- 前記変換工程により2値形式に変換されたビットパターンデータを含む画像描画データを中間データに変換して格納するスプール工程を更に備え、
前記生成工程は、前記中間データから前記画像出力デバイスに適した形式の画像データを生成することを特徴とする請求項8または9に記載の画像出力制御方法。 - 前記変換工程は、前記ビットパターンデータが2色以下の場合に、1画素を表す2値のうち、一方の値に前記2色のうちの一方を、他方の値に他方の色を割り当てることを特徴とする請求項8乃至10のいずれか1項に記載の画像出力制御方法。
- 前記変換工程は、ソースビットマップを使用する際に、ソースビットマップが2値形式でない場合、前記ビットパターンデータを2値形式へ変換することを特徴とする請求項8乃至11のいずれか1項に記載の画像出力制御方法。
- 前記変換工程は、前記ビットパターンデータ情報が白と黒の2色で構成されている場合には、前景色を黒、背景色を白の2値パターンデータに変換することを特徴とする請求項8乃至12のいずれか1項に記載の画像出力制御方法。
- アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバで実行され、通信媒体を介して印刷装置と通信可能なデータ処理装置とその印刷装置とによって構成される印刷システムにおいて、
前記プリンタドライバが、
前記グラフィックデバイスインターフェースより渡される描画命令を記憶可能な形式の中間言語に変換するスプール工程と、
前記スプール工程により変換された中間言語を中間言語記憶手段に保持する中間言語記憶工程と、
中間言語を前記中間言語記憶手段より取り出して再生する再生工程と、
前記再生工程により渡された中間言語の描画命令を描画展開する描画工程とを備え、
前記スプール工程では、前記描画命令がビットマップ描画であってソースビットマップを使用する場合において、当該ソースビットマップが多値形式かつ2色以下のパターンブラシ情報である場合、当該パターンブラシ情報を2値形式のパターンブラシ情報へフォーマット変換し、前記中間言語記憶手段により中間言語としてスプールし、当該ソースビットマップが2値形式のパターンブラシ情報である場合、渡されたパターンブラシ情報を変換せずに中間言語としてスプールすることを特徴とするデータ処理装置。 - アプリケーションから渡されたデータを変換し、変換された描画命令をプリンタドライバに発行するグラフィックデバイスインターフェースから発行された描画命令を処理するプリンタドライバが図形内部を充填するためのビットパターンデータを含むパターンブラシを基に、画像出力デバイスに適した形式の画像データを生成して前記画像出力デバイスに出力する画像出力制御装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ可読記憶媒体であって、
前記プログラムは、前記プリンタドライバを、
前記パターンブラシのビットパターンデータが多値形式であり、かつ、色数が2色以下であるか否かを判定する判定手段と、
前記パターンブラシのビットパターンデータが多値形式かつ色数が2色以下の場合には、前記ビットパターンデータを2値形式に変換する変換手段と、
前記変換手段により2値形式に変換されたビットパターンデータを含むパターンブラシを基に、前記画像出力デバイスに適した形式の画像データを生成する生成手段と
して機能させることを特徴とするコンピュータ可読記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000163374A JP4467715B2 (ja) | 2000-05-31 | 2000-05-31 | 画像出力制御装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000163374A JP4467715B2 (ja) | 2000-05-31 | 2000-05-31 | 画像出力制御装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001344081A JP2001344081A (ja) | 2001-12-14 |
JP4467715B2 true JP4467715B2 (ja) | 2010-05-26 |
Family
ID=18667139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000163374A Expired - Fee Related JP4467715B2 (ja) | 2000-05-31 | 2000-05-31 | 画像出力制御装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4467715B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4363371B2 (ja) | 2005-07-08 | 2009-11-11 | ブラザー工業株式会社 | 画像形成データ生成装置、その方法、及び、そのプログラム |
-
2000
- 2000-05-31 JP JP2000163374A patent/JP4467715B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001344081A (ja) | 2001-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0933723B1 (en) | Printing apparatus | |
US5768489A (en) | Print processing system and method | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
JP2002041261A (ja) | 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
JPH11129583A (ja) | 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
US20100157348A1 (en) | Print control apparatus, control method thereof, and device driver for converting comands from one format to another | |
US7253914B2 (en) | Print data processing apparatus, print control method, and print control program | |
EP1033645A2 (en) | Late binding of device settings in a host raster image processor | |
US6429950B1 (en) | Method and apparatus for applying object characterization pixel tags to image data in a digital imaging device | |
JP3854786B2 (ja) | 印刷制御装置および方法 | |
JP2005316950A (ja) | データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム | |
JPH1166327A (ja) | 画像処理方法および画像処理装置および記録媒体 | |
JPH1131052A (ja) | 文書処理システム | |
US6310693B1 (en) | Printing control apparatus and method, and printing system for reducing processing overhead | |
JP4467715B2 (ja) | 画像出力制御装置及び方法 | |
JP4461361B2 (ja) | 描画処理方法およびプログラム並びに描画命令出力装置および画像形成装置 | |
KR20010104212A (ko) | 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체 | |
JP2001293936A (ja) | 描画情報処理装置および描画情報処理方法 | |
JP2004106192A (ja) | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム | |
JP3521056B2 (ja) | プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム | |
JPH10105348A (ja) | プリンタ制御装置およびプリンタ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP4522006B2 (ja) | 情報処理装置、情報処理方法及びプリンタドライバプログラム | |
JP3907484B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
JP2001282482A (ja) | データ処理装置、および、該データの処理方法 | |
JP3792881B2 (ja) | 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070529 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070529 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091002 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091130 |
|
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: 20100222 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100224 |
|
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: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140305 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |