JP2001047671A - 描画処理システム - Google Patents

描画処理システム

Info

Publication number
JP2001047671A
JP2001047671A JP11229081A JP22908199A JP2001047671A JP 2001047671 A JP2001047671 A JP 2001047671A JP 11229081 A JP11229081 A JP 11229081A JP 22908199 A JP22908199 A JP 22908199A JP 2001047671 A JP2001047671 A JP 2001047671A
Authority
JP
Japan
Prior art keywords
area
processing
command
scanning direction
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11229081A
Other languages
English (en)
Inventor
Takahiro Shirakawa
貴裕 白川
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data Corp
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 Oki Data Corp filed Critical Oki Data Corp
Priority to JP11229081A priority Critical patent/JP2001047671A/ja
Publication of JP2001047671A publication Critical patent/JP2001047671A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【解決手段】 データ描画部は、ビットマップデータ1
ページ分を副走査方向に見たときの、各描画コマンド毎
の描画領域を判定する。フラグ群記憶部16は、ビット
マップデータ1ページ分を副走査方向に見て、いずれの
描画コマンドの描画領域にも含まれない領域を空白領域
とし、その空白領域を描画領域と区別するためのフラグ
群を記憶する。バンディング処理部13は、バンディン
グ処理を実行する場合に、1ページの先頭の空白領域か
ら描画領域に移る部分までバンディング開始位置を後方
にシフトする。 【効果】 空白領域が大きい場合、バンド数を減らし
て、コマンド群の展開処理時間を節約できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーション
等で生成された印刷用データに含まれる描画コマンド群
を、ビットマップデータに展開処理するための描画処理
システムに関する。
【0002】
【従来の技術】例えば、パーソナルコンピュータのアプ
リケーションで生成された文書等をプリンタに印刷させ
る場合には、パーソナルコンピュータの側に設けたプリ
ンタドライバが動作する。プリンタドライバは、アプリ
ケーションの作成した印刷用データに含まれる描画コマ
ンド群を受信する。描画コマンドは、例えば、アップル
コンピュータ社製コンピュータの場合、PICTデータ
と呼ばれ、PC/AT互換機の場合、GDIコマンドと
呼ばれるものである。プリンタドライバは、これらの描
画コマンドを1つずつ解釈してビットマップデータに展
開処理する。
【0003】また、印刷用データがカラーイメージを含
む場合には、展開処理されたビットマップデータを、さ
らにカラー印刷用に色変換処理する。モノクロプリンタ
に印刷する場合には、ビットマップデータをグレイスケ
ール処理する。こうした処理が終了した後、プリンタド
ライバは、プリンタが理解できる印刷コマンドを生成
し、インタフェースを通じてプリンタに送信する。な
お、展開処理後の1ページ分のビットマップデータを記
憶するための十分な記憶領域を確保できない場合、ビッ
トマップデータ1ページ分を複数のバンドに分割して処
理を行う。即ち、1バンド分ずつビットマップデータへ
の展開処理を行って、プリンタに印刷コマンドを送信す
るといった動作が行われている。この処理をバンディン
グ処理と呼んでいる。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来の技術には、次のような解決すべき課題があっ
た。バンディング処理を行う場合には、受信した描画コ
マンドを1つずつ展開処理し、そのバンド内に描画され
る部分だけをメモリに書き込む。しかしながら、受信し
た描画コマンドを1つずつ取り出さないと、該当するバ
ンド内に描画される部分があるかどうかはわからない。
従って、バンド内に描画される部分があるかどうかにか
かわらず、全てのバンドに対するバンディング処理で、
その都度全ての描画コマンドを1つずつ取り出し、同時
に展開処理のための描画関数を呼び出す動作が行われて
いた。ところが、描画関数を呼び出す処理は、プリンタ
ドライバの処理中で特に多く時間のかかる処理であり、
印刷制御のための時間が長時間になるという問題があっ
た。また、全体としてプリンタドライバに多くの負荷が
かかるという問題があった。
【0005】また、1バンド分のビットマップデータが
展開されると、これを色変換処理し、あるいはグレイス
ケール処理するために、更に一定の時間を必要とする。
しかしながら、例えばカラーイメージが含まれない白黒
データのみで構成されたバンドに対しても、その都度描
画関数を呼び出して一定の手順で色変換処理を実行する
と、印刷制御のために無駄な時間を費やすという問題が
ある。グレイスケール処理についても同様の問題があ
る。
【0006】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉受信した描画コマンドをビットマップデータ
に展開処理するデータ描画部を備え、上記データ描画部
は、1ページ分を副走査方向に見て描画コマンドが含ま
れている領域を描画領域として判定し、描画コマンドが
含まれていない領域を空白領域と判定する描画領域判定
部と、1ページを副走査方向に見て所定幅のバンド単位
に分解し、該分割されたバンド内が空白領域の場合には
次のバンドに進み、バンド内に上記描画領域が含まれて
いる場合には上記描画コマンドをビットマップデータに
展開処理するバンディング処理部を備えたことを特徴と
する描画システム。
【0007】〈構成2〉構成1記載の描画処理システム
において、上記データ描画部は、上記ビットマップデー
タ1ページ分を副走査方向に見たときの、各描画コマン
ド毎の描画領域を判定する描画領域判定部と、上記ビッ
トマップデータ1ページ分を副走査方向に見て、いずれ
の描画コマンドの描画領域にも含まれない領域を空白領
域とし、その空白領域を空白領域以外の領域と区別する
ためのフラグ群を記憶したフラグ群記憶部と、上記ビッ
トマップデータ1ページ分を副走査方向に見て複数に分
割し、所定の幅のバンド単位で上記描画コマンド群をビ
ットマップデータに展開処理するバンディング処理を実
行する場合に、1ページの先頭の空白領域から空白領域
以外の領域に移る部分までバンディング開始位置を後方
にシフトするバンディング処理部を備えたことを特徴と
する描画処理システム。
【0008】〈構成3〉構成1記載の描画処理システム
において、上記データ描画部は、上記ビットマップデー
タ1ページ分を副走査方向に見たときの、各描画コマン
ド毎の描画領域を判定する描画領域判定部と、上記ビッ
トマップデータ1ページ分を副走査方向に見て、いずれ
の描画コマンドの描画領域にも含まれない領域を空白領
域とし、その空白領域を空白領域以外の領域と区別する
ためのフラグ群を記憶したフラグ群記憶部と、上記ビッ
トマップデータ1ページ分を副走査方向に見て複数に分
割し、所定の幅のバンド単位で上記描画コマンド群をビ
ットマップデータに展開処理するバンディング処理を実
行する場合に、バンディング終了位置の直後が空白領域
の場合、その後空白領域以外の領域に移る部分までバン
ディング開始位置を後方にシフトするバンディング処理
部を備えたことを特徴とする描画処理システム。
【0009】〈構成4〉構成2または3に記載の描画処
理システムにおいて、上記バンディング処理部は、バン
ディング終了位置が空白領域の場合、バンディング終了
位置の直前であって、かつ、空白領域以外の領域から当
該空白領域に移る部分まで、バンディング終了位置を前
方にシフトすることを特徴とする描画処理システム。
【0010】〈構成5〉構成1から4のうちのいずれか
1項に記載の描画処理システムにおいて、描画コマンド
がカラーデータ処理用のコマンドであることを特徴とす
る描画処理システム。
【0011】〈構成6〉構成1から4のうちのいずれか
1項に記載の描画処理システムにおいて、描画コマンド
がグレイスケール処理用のコマンドであることを特徴と
する描画処理システム。
【0012】〈構成7〉構成5に記載の描画処理システ
ムにおいて、描画領域判定部は、上記ビットマップデー
タ1ページ分を主走査方向に見たときの、各描画コマン
ド毎の描画領域を判定し、フラグ群記憶部は、上記ビッ
トマップデータ1ページ分を主走査方向に見て、いずれ
の描画コマンドの描画領域にも含まれない領域を空白領
域として、その空白領域を空白領域以外の領域と区別す
るためのフラグ群を記憶し、このフラグ群に基づいて、
カラーデータ処理の対象領域を空白領域以外の部分に制
限することを特徴とする描画処理システム。
【0013】〈構成8〉構成6に記載の描画処理システ
ムにおいて、描画領域判定部は、上記ビットマップデー
タ1ページ分を主走査方向に見たときの、各描画コマン
ド毎の描画領域を判定し、フラグ群記憶部は、上記ビッ
トマップデータ1ページ分を主走査方向に見て、いずれ
の描画コマンドの描画領域にも含まれない領域を空白領
域として、その空白領域を空白領域以外の領域と区別す
るためのフラグ群を記憶し、このフラグ群に基づいて、
グレイスケール処理の対象領域を空白領域以外の部分に
制限することを特徴とする描画処理システム。
【0014】〈構成9〉構成1から4のうちのいずれか
1項に記載の描画処理システムにおいて、上記データ描
画部は、主走査方向と副走査方向の二次元方向に各描画
コマンドによる描画領域とカラー/グレイスケール用オ
ブジェクトの存在を判断するフラグ群を記憶する判定用
ビットマップを備えたことを特徴とする描画処理システ
ム。
【0015】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例1〉図1は、具体例1の描画処理システムを示
すブロック図である。この図の説明の前に、まず一般的
な描画処理システムについて説明を行う。図2は、比較
例の描画処理システムブロック図である。この図には、
ホストコンピュータ10に搭載されたプリンタドライバ
部分のブロックのみを図示した。このプリンタドライバ
は、図に示すような描画コマンド群11をアプリケーシ
ョンから受信する。プリンタドライバの図示しないデー
タ描画部は、1ページ分を4つのバンドに分割し、バン
ド毎に描画コマンドをビットマップデータに展開する。
1バンド分のビットマップデータが展開されると、カラ
ー/グレイスケール処理部21が起動し、色変換処理及
びグレイスケール処理を実行する。なお、色変換処理及
びグレイスケール処理のことを以下、カラー/グレイス
ケール処理と呼び、色変換処理のことを単にカラー処理
と呼ぶようにする。
【0016】コマンド変換部22は、このカラー/グレ
イスケール処理部21の出力を受け入れて、印刷コマン
ドを生成する。印刷コマンド送信部23は、プリンタ2
6にその印刷コマンドを送信する。プリンタ26は、図
示しないインタフェースケーブルを経て、それらの印刷
コマンドを受信する。印刷コマンド受信部24が受信し
た印刷コマンドは、順次印刷部25に送られ、印刷が実
行される。
【0017】従来は、すでに説明したように、1バンド
分のビットマップデータの展開毎に、全ての描画コマン
ド群と描画関数が呼び出されていた。ところが、例えば
この図に示すバンド2には、全く描画すべきイメージが
存在しない。従って、このようなバンドのために、全て
の描画コマンド群と描画関数を呼び出すのは時間の無駄
になる。本発明では、このような無駄をなくすことを目
的とする。
【0018】図3には、上記描画処理システムを更に具
体的に示したブロック図を図示した。図のホストコンピ
ュータ10上で動作するアプリケーション30は、印刷
用データを生成する。ホストコンピュータ10には、プ
リンタドライバ20が搭載され、印刷用データの展開処
理に必要なデータを記憶するためのメモリ17が確保さ
れている。ホストコンピュータ10には、プリンタ26
が接続されている。
【0019】プリンタドライバ20には、データ受信部
32、データ描画部33、カラー/グレイスケール処理
部34、コマンド変換部22、印刷コマンド送信部23
が設けられている。メモリ17には、描画コマンド群1
1と、ビットマップデータ15と、印刷コマンド18と
が記憶されている。データ受信部32は、アプリケーシ
ョン30から受信した描画コマンド群11をメモリ17
に格納する機能を持つ。また、データ描画部33は、図
2を用いて説明した要領で描画関数を呼び出して、描画
コマンド群11をビットマップデータ15に展開処理す
る機能を持つ。
【0020】カラー/グレイスケール処理部34は、こ
のビットマップデータ15を用いて、カラー処理及びま
たはグレイスケール処理を実行する機能を持つ。コマン
ド変換部22は、処理後のビットマップデータから印刷
コマンド18を生成する機能を持つ。印刷コマンド送信
部23は、この印刷コマンド18を図示しないインタフ
ェースケーブル等を通じてプリンタ26に送信する機能
を持つ。プリンタ26の構成は、図2で説明した通りで
ある。
【0021】本発明における上記データ描画部33の具
体的な構成を図1に示す。具体例1のデータ描画部は、
図1に示すように、ホストコンピュータ10上に搭載さ
れたプリンタドライバの一部によって実現することがで
きる。もちろん、その名称は問わないし、その機能の一
部がプリンタ側に搭載されていてもよい。
【0022】図のように、このデータ描画部は、メモリ
12、バンディング処理部13及び描画領域判定部14
を備える。メモリ12には、これまで説明した通り、展
開後のビットマップデータ15が記憶される。更に、こ
のメモリ12には、後で説明する、描画領域と空白領域
を区別する情報を記憶するフラグ群記憶部16が設けら
れる。図のメモリ12中には、実線の長方形で示すよう
に、印刷用データ1ページ分のビットマップデータが表
示されている。図の矢印MSは主走査方向、矢印SSは
副走査方向である。バンディング処理部13は、ビット
マップデータ1ページ分を副走査方向に見て複数に分割
し、所定の幅のバンド単位で描画コマンド群をビットマ
ップデータに展開処理する機能を持つ。描画領域判定部
14は、ビットマップデータ151ページ分を副走査方
向に見たときの各描画コマンド毎の描画領域を判定する
機能を持つ。
【0023】図4には、描画コマンドの例説明図を示
す。例えば、図に示すように、「上下左右」という4文
字の漢字を描画する描画コマンドがあるとする。この描
画コマンドがテキストオブジェクトを描画しようとする
場合、描画する座標、フォント名、テキストサイズ、描
画する文字列、文字列のバイト数等が指定される。図に
示す座標軸、X軸、Y軸は、この描画座標を示す。
【0024】描画されるテキストオブジェクトのASC
NT値とDESCENT値より、縦方向の座標位置を計
算することができる。また、描画する文字列の文字毎の
幅を加算することで横方向の座標を計算することができ
る。その結果、図に示すように、この文字列は、X=1
0〜10+200,Y=50〜50+50の座標領域に
描画されると判定できる。Y軸を副走査方向とすれば、
上記描画領域判定部は、この文字列の描画領域を50〜
100というように判定する。なお、この座標軸の原点
は、例えば、1ページ分のビットマップデータの左上隅
に位置させておく。
【0025】図5には、ビットマップオブジェクトによ
る描画コマンドの例説明図を示す。この図の例では、例
えば線の太さ2ポイントの四角形を描画するオブジェク
トを示した。こうしたオブジェクトは、それ自体が描画
領域を示しているため、そのまま副走査方向の上下端の
座標を抽出し、描画領域と判定できる。なお、ペンの太
さが2ポイントのため、その太さ分だけ描画領域を換算
する。図の下側に示した曲線についても同様で、始点
と、曲率、終点等の座標をもとに描画領域を比較的簡単
に判定することができる。また、描画関数よりもはるか
に簡単な処理モジュールで、この判定処理を実現でき
る。
【0026】図1に示した描画領域判定部は、このよう
な判定結果に基づいて、ビットマップデータ1ページ分
を副走査方向に見たとき、いずれの描画コマンドの描画
領域にも含まれない領域とそれ以外の領域とを区別する
フラグ群を生成する。そのフラグ群がフラグ群記憶部1
6に記憶される。なお、以下、いずれの描画コマンドの
描画領域にも含まれない領域のことを空白領域と呼ぶこ
とにする。
【0027】図6には、フラグ群の内容説明図を示す。
例えば、図に示すようなビットマップデータ15が存在
する場合、これを上の横一列のピクセルから順番に判定
処理する。先に説明したように、副走査方向、即ち矢印
SSの方向に見たとき、ある描画コマンドの描画領域に
含まれている部分のフラグを“1”にする。即ち、1番
上の横一列のピクセルは、全て白色であって、描画領域
に含まれていない。従って、この部分のフラグを“0”
にする。2番目も全て白色であるから“0”にする。3
番目の横一列のピクセルには一部黒色のピクセルが含ま
れている。即ち、判定対象の描画コマンドの描画領域に
含まれるから、この部分のフラグを“1”にする。
【0028】このようにして、生成したフラグ群を副走
査方向に見て、例えば8フラグ1バイト分ずつを1ワー
ドとしてコード化し、図1に示すフラグ群記憶部16に
記憶する。このようなフラグ群記憶部16に必要なメモ
リサイズは、副走査方向のピクセル数をhピクセルとす
ると、h+7/8バイト程度となる。記憶の方法は任意
であるが、これによって、副走査方向に見て空白領域に
相当する部分と、それ以外の描画領域部分とを区別でき
るようにフラグ群が生成される。図1に示すフラグ群記
憶部16は、フラグ群を一列に副走査方向に並べたもの
を図解したもので、黒く塗り潰された部分が描画領域で
ある。
【0029】図1に示すバンディング処理部13は、上
記のようにして生成されたフラグ群記憶部16のフラグ
群を参照して決定されたバンドの範囲で、バンディング
処理を実行する部分である。このバンディング処理で
は、ビットマップデータ1ページ分を副走査方向に見て
複数に分割し、所定の幅Wのバンド単位で描画コマンド
群をビットマップデータに展開処理する。
【0030】図7に、バンディング処理部の動作説明図
を示す。図に示すフラグ群記憶部16には、先頭からF
1までは空白領域、その後、F2までは描画領域、F2
からF3までは空白領域、F3からF4までは描画領
域、F4からF5までは空白領域、F5からF6までは
描画領域、F6以降は空白領域というデータが記憶され
ている。
【0031】バンディング処理部13の処理するバンド
幅は、例えば図7に示す一定の幅Wとする。この場合
に、従来のバンディング処理部は、図2を用いて説明し
たように、1ページ分の先頭からバンド幅Wを固定的に
設定して、描画コマンドの展開処理を開始する。ところ
が、この発明では、まずフラグ群記憶部16を参照す
る。そして、先頭からF1の部分まで空白領域というこ
とを認識すると、この空白領域をパスし、フラグ群記憶
部16中に最初の描画領域を示すフラグが見つかった場
所をバンドの先頭位置にする。そして、バンド幅Wを設
定し、バンディング処理を実行する。
【0032】バンディング処理自体の内容は従来と同様
で、描画関数を呼び出して、図1に示す描画コマンド群
11の全ての描画コマンドを1つずつ解釈し展開処理を
行い、このバンドに含まれるビットマップデータをメモ
リ上に記憶する。このようなバンディング処理が終了し
た後、フラグ群記憶部16のサーチ範囲をバンド幅Wだ
け図7の下側(F4より下方)に移動させる。そして、
この部分が描画領域かどうかの判断をする。図の例で
は、F5の部分まで空白領域が続いている。従って、こ
の場合には、次のバンドの先頭位置をF5までシフトさ
せる。そして、再びバンド幅Wを設定してバンディング
処理を再開する。
【0033】最初のバンドをバンド1とし、次のバンド
をバンド2とすると、このバンド2の処理が終了した段
階で、フラグ群記憶部16を参照する。F5とF6の間
は描画領域である。この場合には、バンド2の終了位置
を次のバンド3の開始位置にしてバンディング処理を再
開する。バンド3の幅Wだけバンディング処理を終了
し、その後、フラグ群記憶部16を参照すると、次は空
白領域である。しかも、ページの最後まで空白領域であ
る。そこでバンディング処理は終了する。
【0034】ここで、図2に示した比較例と比較してみ
る。比較例の場合は、中間に空白領域が存在したとして
も、1ページ分を自動的に例えば4バンドに分割し、4
つのバンドについて、それぞれ描画コマンド群を解釈
し、展開処理するようにしていた。ところが、図1や図
7に示した具体例1では、空白領域の部分を飛ばすた
め、3つのバンド群の処理で、1ページ分の展開処理が
終了する。即ち、このページでは1バンド分の処理を省
略することができる。これによって、処理の高速化を図
ることができる。
【0035】図8と図9を用いて、この具体例の動作手
順を説明する。図8は、描画領域判定部の動作フローチ
ャートである。まず最初に、ステップS1で、1バンド
分のイメージ展開用メモリを確保する。これは、図1に
示したメモリ12に対して行われる。次に、ステップS
2において、フラグ群記憶部を確保する。即ち、フラグ
群を記憶するための領域を全てゼロクリアしておく。
【0036】次に、ステップS3において、描画領域判
定部14が描画コマンドをオブジェクト毎に受信する。
そして、既に説明した要領で、オブジェクトの占める領
域を計算する(ステップS4)。次に、ステップS5
で、計算された領域情報をフラグ群記憶部に記憶する。
こうして、1つ1つ描画コマンドの描画領域を判定す
る。ステップS6は、全ての描画コマンドについてこの
ような処理を実行したかどうかを判断する部分で、ステ
ップS3〜ステップS5の処理を繰り返す。こうして、
フラグ群記憶部16に必要な全てのフラグ群が記憶され
ると、バンディング処理に進む。
【0037】図9には、バンディング処理部の動作フロ
ーチャートを示す。まず、ステップS1において、バン
ディング処理部13は、既に説明した要領で、フラグ群
記憶部16のビットをチェックする。なお、描画領域を
示すフラグのことをここではビットと呼ぶことにする。
ステップS2では、ビットが検出されるまで、フラグ群
記憶部をサーチする。ビットが検出されたところが、空
白領域から描画領域に移る境界である。ビットが検出さ
れると、ステップS2からステップS3に進む。そし
て、その検出位置まで描画位置をシフトさせる。ここで
描画位置というのは、バンドの上端のことである。
【0038】次に、ステップS4において、描画コマン
ドをそのバンド幅分だけ描画し、ビットマップデータを
作成する。全ての描画コマンドについて1バンド分の描
画処理が終了すると、ステップS5に進み、今度はその
バンド分のビットマップデータに対するカラー/グレイ
スケール処理を行う。即ち、例えばグレイスケール処理
の場合には、ディザ法等の手法を用いて、多値データを
2値データに変換するような処理を実行する。カラー処
理の場合には、印刷用のシアン、マゼンタ、イエロー、
ブラック等の4色分のビットマッププレーンデータ生成
処理を行う。
【0039】次に、ステップS6において、ビットマッ
プデータの印刷コマンドへの変換を行い、ステップS7
において、印刷コマンドをプリンタに送信する。ステッ
プS8では、その後、バンド幅分だけフラグ群記憶部の
サーチ範囲を移動し、ステップS1に戻る。こうして、
再び空白領域を飛ばし、次の描画領域についての処理を
実行する。
【0040】図10に、横書きイメージの処理例説明図
を示す。上記の例では、縦書きのイメージについて説明
を行った。しかしながら、横書きのイメージについても
全く同様に行うことができる。プリンタにイメージの9
0°もしくは270°の回転機能がない場合、プリンタ
ドライバがカラー/グレイスケール処理部の前でイメー
ジを回転しなければならない。そのためには、主走査方
向と副走査方向を逆にする。この場合、図の右方向を副
走査方向SS、縦方向を主走査方向MSとする。これで
図1を用いて説明した例と同様にして、この具体例の処
理を実行することができる。
【0041】この例では、フラグ群記憶部16を左端か
ら参照し、図のF1からバンド1のバンディングを開始
し、途中の空白領域を飛ばして図のF3からバンド2の
バンディング処理を開始するといった方法によって上記
と同じ効果を得ることができる。
【0042】〈具体例1の効果〉以上のように、1ペー
ジの先頭の空白領域から空白領域以外の領域に移る部分
までバンディング開始位置を後方にシフトすることによ
って、処理すべきバンド数を減少させ、描画コマンド群
をビットマップデータに展開処理する時間を短縮するこ
とができる。また、バンディング終了位置の直後が空白
領域の場合、その後、空白領域以外の領域に移る部分ま
でバンディング開始位置を後方にシフトすることによっ
て、同様にして処理すべきバンド数を減少させることが
できる。
【0043】〈具体例2〉上記のように、バンディング
処理を実行した後、そのビットマップデータは、カラー
処理あるいはグレイスケール処理される。カラー処理あ
るいはグレイスケール処理では、プリンタドライバは1
バンド分のビットマップデータを呼び出し、それぞれカ
ラー処理用の描画関数あるいはグレイスケール処理用の
描画関数を呼び出して、所定の処理を順に実行してい
く。この処理時間は無視できない。
【0044】一方、その1バンド分のデータの中にカラ
ー/グレイスケール処理をする必要のあるデータが全く
無い場合がある。この場合にも、自動的にカラー/グレ
イスケール処理を実行すると、処理時間が無駄になる。
そこで、この例では丁度、具体例1で描画領域を判定し
てフラグ群記憶部に記憶したと同様にして、カラーイメ
ージのある領域を判定する。
【0045】図11に示したフラグ群記憶部16は、具
体例1で説明したもので、全ての描画コマンドの描画領
域を判定した結果を記憶する。また、第2のフラグ群記
憶部16Aには、全てのカラーデータの描画領域を判定
した結果を記憶する。その生成方法やフラグによる表示
方法は、フラグ群記憶部16のものと全く同様である。
【0046】図11の、バンド1とバンド2には、それ
ぞれ直線と四角形のカラーデータCが含まれていること
が分かる。第2のフラグ群記憶部16Aには、ビットマ
ップデータ1ページ分を副走査方向に見て、いずれのカ
ラーデータ描画領域にも含まれない領域を空白領域と
し、その空白領域を空白領域以外の領域と区別するため
のフラグ群を記憶させる。バンド1とバンド2について
は、図3に示したカラー/グレイスケール処理部34が
カラー処理を実行する。即ち、バンドに含まれる全ての
ビットマップデータに対してシアン、マゼンタ、イエロ
ー、ブラックの4色分のビットマッププレーンデータを
生成する処理を実行する。
【0047】一方、バンド3については、カラーイメー
ジが含まれない。従って、この部分では、カラー/グレ
イスケール処理部34の処理をマスクする。即ち、ここ
では得られたビットマップデータがそのまま図3に示す
コマンド変換部22に転送される。こうした動作によっ
て、カラー/グレイスケール処理部34の1バンド分の
処理を省略できる。なお、オブジェクトがカラーデータ
を含んでいるかどうかを判断するのは次のようにする。
【0048】テキストオブジェクトの場合、カラーイメ
ージ用では、描画する際のグラフポートのフォアグラウ
ンドカラー/バックグラウンドカラーの値が白または黒
以外の値になっている。また、ビットマップオブジェク
トの場合、カラーイメージ用では、描画するビットマッ
プデータの構造を調べる。カラーイメージ用のビットマ
ップデータは、シアン、マゼンタ、イエローの3色分の
プレーンから構成されている。また、その他のオブジェ
クト、例えば直線、レクタングル、円等は、描画モード
によって描画するペンのパターンやグラフポートのフォ
アグラウンドカラー/バックグラウンドカラーの値によ
って判断する。
【0049】図12に、カラー判定用フラグ群の詳細な
説明図を示す。図に示す左側が具体例1で説明したフラ
グ群記憶部であって、右側が具体例2による第2のフラ
グ群記憶部16Aである。フラグ群記憶部16は、先頭
からF1までと、F2からF3までと、F4からF5ま
でと、F6以下が空白領域になっている。また、第2の
フラグ群記憶部16Aは、先頭からF7まで、F8から
F9まで、F10以下が空白領域になっている。このよ
うな場合に、図のF1の位置からWの幅のバンディング
処理が実行される。このとき、このバンド1(図ではカ
ラーバンド1と表示した)にはカラーの描画領域F7か
らF8が含まれるため、カラー処理が行われる。
【0050】また、このカラーバンド1のバンディング
終了位置の直後が空白領域であるから、F5の位置まで
処理をパスし、F5の位置から再び幅Wのバンディング
処理が行われる。このバンド(図ではカラーバンド2と
表示した)にはカラーデータが含まれるため、既に説明
したカラー処理を行う。このバンディング処理終了位置
が空白領域かどうかの判断には、フラグ群記憶部16を
参照する。カラーバンド2のバンディング処理終了位置
は描画領域に含まれるため、続いて次のバンドの処理が
行われる。このとき、第2のフラグ群記憶部16Aが1
バンド分参照される。そして、カラーデータが存在しな
いと判断すると、白黒バンド3のカラー処理は省略され
る。
【0051】次に、上記処理を具体的なフローチャート
を用いて説明する。図13は、具体例2の描画領域判定
部の動作フローチャートである。まず、ステップS1に
おいて、1バンド分のイメージ展開用メモリを確保す
る。次に、ステップS2において、フラグ群用のメモリ
を確保する。ステップS3において、第2のフラグ群用
メモリを確保する。ステップS4では、描画コマンドを
オブジェクト毎に受信する。ステップS5で、オブジェ
クトの占める領域を計算し、ステップS6で、計算され
た領域情報をフラグ群記憶部16に格納する。
【0052】次に、ステップS7において、そのオブジ
ェクトがカラーのオブジェクトかどうかを判断する。カ
ラーのオブジェクトの場合には、ステップS8に進み、
計算された領域情報を第2のフラグ群記憶部16Aに格
納する。ステップS9では、この描画コマンドが最後の
描画コマンドかどうかを判断し、最後でなければステッ
プS4〜ステップS8の処理を繰り返す。
【0053】即ち、フラグ群記憶部16に具体例1の判
定結果を記憶する動作と並行して、第2のフラグ群記憶
部16Aへの判定結果の記憶も行う。この動作によっ
て、全ての描画コマンドについて、具体例1と同様のフ
ラグ群を生成すると共に、各コマンドがカラーのオブジ
ェクトを処理するものかどうかを判断し、カラーのオブ
ジェクトの場合には、第2のフラグ群記憶部16Aに対
して所定のフラグ群を記憶する。
【0054】図14には、具体例2のバンディング処理
部の動作フローチャートを示す。まず、ステップS1に
おいて、フラグ群記憶部16のビットをチェックする。
そして、ステップS2において、ビットがあるかどうか
を判断する。ビットがなければ全てのページについてイ
メージがないか、あるいは全ての処理が終了したためス
テップS12に進み、確保したメモリを開放する。ビッ
トがあればステップS3に進み、ビット位置まで描画位
置をずらす。即ち、バンドの先頭位置を後方にシフトさ
せる。
【0055】次に、ステップS4において、ビット位置
からバンドの高さ分だけの第2のフラグ群記憶部16A
をサーチする。これによって、カラー処理が必要かどう
かの判断を行う。そして、ステップS5でビットがある
と判断すると、ステップS6に進み、カラーで部分描画
を行い、ビットマップデータを作成する。更にステップ
S7で、カラー/グレイスケール処理を行う。その後
は、ステップS9に進み、印刷コマンドへの変換を行
い、ステップS10で、印刷コマンドをプリンタに送信
し、ステップS11で、バンド幅分だけ後方にサーチ位
置を移動する。
【0056】一方、ステップS5において、範囲内にビ
ットがないと判断されると、ステップS8に進み、白黒
で部分描画し、ビットマップデータを作成する。この場
合には、カラー/グレイスケール処理が省略される。
【0057】〈具体例2の効果〉上記のように、カラー
処理が行われているかどうかのフラグ群記憶部を設ける
ことによって、そのバンドにカラーデータが含まれてい
ないと判断すると、カラー/グレイスケール処理を省略
するので、その分の処理時間を短縮し、プリンタドライ
バの負荷を軽減することができる。また、カラーデータ
が含まれていない場合は、多値ビットマップデータまた
は、シアン・マゼンタ・イエロー・ブラックに独立した
ビットマップデータを作成する必要はなく、データ描画
部33では2値の白黒ビットマップデータを作成すれば
よい。このため、データ描画部の処理も短縮される。
【0058】なお、上記の例では、第2のフラグ群記憶
部に、カラーイメージの描画領域か空白領域かを示すフ
ラグ群を記憶した。しかし、カラー画像でなくても、白
黒多値画像についても全く同様のことが可能である。こ
の場合には、第2のフラグ群記憶部にはグレイスケール
処理の描画範囲かどうかを判定するフラグを記憶すれば
よい。また、カラー画像において、カラー/グレイスケ
ール処理を行う際に、シアン・マゼンタ・イエロー・ブ
ラックの4色分のビットマッププレーンを独立して処理
する場合には、第2のフラグ群記憶部16Aの代わりに
4つのフラグ群記憶部を用意して、各色ごとに空白領域
かどうか判断することにより、処理時間を短縮すること
ができる。
【0059】〈具体例3〉これまでの具体例では、バン
ド幅を一定にした。しかしながら、カラー/グレイスケ
ール処理では、1バンド分のビットマップデータを処理
することから、1バンド分のビットマップデータのデー
タ量が少ないほど処理時間が短縮される。そこで、この
具体例では、バンディング終了位置が空白領域の場合、
バンディング終了位置の直前であって、空白領域以外の
領域から空白領域に移る部分までバンディング終了位置
をシフトするようにした。
【0060】図15に、具体例3のシステム概略図を示
す。この図に示すように、フラグ群記憶部16の内容と
第2のフラグ群記憶部16Aの内容とは、具体例2と同
様である。バンド1のバンディング開始位置は、具体例
2と同様にして、図のF1の位置まで後方にシフトされ
ている。ここで、この例では、具体例1や具体例2の固
定されたバンド幅Wに対し、空白領域の分だけバンド幅
を短くしたCWでバンディング処理を行う。
【0061】バンド2については、F5の位置からバン
ディング処理を開始する。ところが、規定されたバンド
幅Wの位置には描画領域が存在し、空白領域でない。従
って、このバンドについてはフルサイズWでのバンディ
ング処理を行う。更に、バンド3については、バンド2
の終了位置からバンディング処理を開始するが、フラグ
群記憶部16を参照すると、F6の位置で描画領域が終
了している。従って、バンド3の幅は更に短くなってい
る。
【0062】具体例3では、このようにしてバンド幅を
狭め、その後のカラー/グレイスケール処理時間を、ま
た、コマンド変換部22での処理時間を、短縮するよう
にしている。具体例3による描画領域判定部の動作は具
体例2と全く同様であるため、その説明は省略する。
【0063】図16には、具体例3によるバンディング
処理部の動作フローチャートを示す。ステップS1にお
いて、フラグ群記憶部16のビットをチェックする。そ
して、ステップS2において、ビットがあるかどうかを
判断し、ビットがある場合には、ステップS3に進み、
ビット位置までバンディング処理のための描画位置をず
らす。ステップS4では、その描画位置とバンド幅Wと
の関係から、バンディング終了位置を検出し、そこから
逆方向にフラグ群記憶部16をサーチする。そして、ス
テップS5において、描画位置からビット位置までを今
回のバンド幅とする。このようにしてバンド幅の縮小を
行う。
【0064】ステップS6は、バンディング処理であっ
て、これは具体例2の図14に示した処理と全く同様で
ある。故に詳細な図示は省略した。最後に、ステップS
7では、今回のバンド幅分だけフラグ群記憶部16のサ
ーチ範囲をシフトし、ステップS1に戻る。こうして処
理を繰り返す。処理が終了すると、ステップS8におい
て、確保したメモリを開放する。
【0065】〈具体例3の効果〉上記のように、この具
体例3では、バンド幅をフラグ群記憶部の内容に従って
縮小するので、カラー処理あるいはグレイスケール処理
及び、印刷コマンド変換処理の負荷が軽減される。
【0066】〈具体例4〉これまでの例では、印刷用紙
の縦方向(副走査方向)に対して、空白領域か、それ以
外の領域か、カラーイメージを含む領域か、グレイスケ
ール処理用の領域かといった判断を行った。これらによ
って、図3に示すデータ描画部33やカラー/グレイス
ケール処理部34のデータ処理やコマンド変換部22の
処理回数を減らし、負荷を軽減した。一方、用紙の横方
向(主走査方向)に着目すると、これまでの例では、バ
ンド内の全てのビットを処理していた。しかしながら、
1つのバンドを横方向に見た場合にも空白領域が存在す
ることがある。従って、上記の考えを横方向にも波及さ
せると、より大きな効果が得られる。
【0067】図17には、具体例4のシステム概略図を
示す。図の左側には、これまでの具体例で説明したフラ
グ群記憶部16と第2のフラグ群記憶部16Aとを示し
た。この具体例では、更に図の上側に示すように、第3
のフラグ群記憶部16Bと第4のフラグ群記憶部16C
とを設ける。第3のフラグ群記憶部16Bは、横方向に
見てイメージデータの空白領域の有無を判定するための
ものである。また、第4のフラグ群記憶部16Cは、横
方向に見てカラーオブジェクトが存在するかどうかを判
定するためのものである。
【0068】この図の例では、直線31、楕円32及び
四角形33のうち、四角形33のみがカラー処理用のオ
ブジェクトである。従って、図のF11〜F12とF1
3〜F14の間が描画領域になっており、その他の部分
は空白領域になっている。更に、カラー処理について
は、F15〜F16の間だけが描画領域になっている。
【0069】従って、フラグ群記憶部16Aと第3のフ
ラグ群記憶部16Bを参照して、カラーイメージのある
領域以外は、時間のかかるカラー/グレイスケール処理
を実行せず、単純に2値化のみをすればよい。例えば2
56色のビットマップイメージならば白または黒のデー
タのみで構成されているから処理が単純化される。ま
た、印刷コマンドを圧縮する際にもその処理内容を単純
化することができる。
【0070】図18には、具体例4による描画領域判定
部の動作フローチャートを示す。まず、ステップS1に
おいて、これまでの具体例と同様に、1バンド分のメモ
リ領域を確保する。そして、ステップS2において、フ
ラグ群記憶部16即ち縦方向に見たイメージの描画領域
判定用記憶部を確保する。次に、ステップS3で、第2
のフラグ群記憶部即ち縦方向に見たカラーオブジェクト
の範囲を定めるフラグ群記憶部を確保する。
【0071】次に、ステップS4において、第3のフラ
グ群記憶部即ち横方向に見た描画領域の有無を判定する
フラグ群記憶部を確保する。ステップS5では、第4の
フラグ群記憶部即ち横方向に見たカラーオブジェクトの
有無を判定するフラグ群記憶部を確保する。次に、ステ
ップS6において、入力する描画コマンドをオブジェク
ト毎に受信する。ステップS7において、オブジェクト
の占める領域を計算する。
【0072】ステップS8では、計算された縦方向の領
域情報を、まずフラグ群記憶部16に格納する。そし
て、ステップS9で、計算された横方向の領域情報を第
3のフラグ群記憶部に記憶する。即ち、描画コマンドの
描画領域の有無を縦方向と横方向の両方について判定
し、その結果をフラグ群記憶部に記憶する。次に、ステ
ップS10において、カラーオブジェクトかどうかを判
断する。カラーオブジェクトの場合は、カラーオブジェ
クト用のフラグ群記憶部処理に進む。即ち、ステップS
11において、計算された領域情報を第2のフラグ群記
憶部16Aに格納する。
【0073】更に、ステップS12において、計算され
た領域情報を今度は横方向の第4のフラグ群記憶部に格
納する。こうして、ステップS13において、全ての描
画コマンドについての処理が終了したかどうかを判断す
る。これによって、全ての描画コマンドについて、描画
領域かどうか、カラーオブジェクトを含むかどうかの判
定がなされ、その判定結果が各フラグ群記憶部に記憶さ
れる。
【0074】図19は、具体例4のバンディング処理部
の動作フローチャートである。まず、ステップS1で
は、これまでの具体例と同様に、縦方向に見た今回のバ
ンド幅を決定する。この決定方法は、具体例3で説明し
た通りである。具体的には、図17のフラグ群記憶部1
6を参照し、F1〜F4までを今回のバンド幅にする。
【0075】次に、ステップS2において、ビット位置
からバンド幅分だけ第2のフラグ群記憶部16Aをサー
チする。これによって、カラーオブジェクトが存在する
かどうかを縦方向に判断する。ステップS7で、この範
囲内にビットがあるかどうかを判断し、ビットがある場
合にはステップS4に進む。即ち、カラーオブジェクト
が存在するから、カラーで部分描画をし、イメージデー
タを作成する。
【0076】ステップS5では、第4のフラグ群記憶部
16Cをサーチする。即ち、ここで横方向のカラーオブ
ジェクト有無を判断し、ステップS6において、カラー
データのある部分のみカラー/グレイスケール処理を行
うようにする。即ち、副走査方向にデータを順に処理し
ていく場合には、この第4のフラグ群記憶部16Cを参
照し、カラーデータのない部分については、単純な2値
化を行う。
【0077】なお、この範囲内にビットがない場合、即
ちカラーオブジェクトが含まれていない場合には、ステ
ップS7において、白黒で部分描画をし、イメージデー
タを作成する。そして、ステップS8において、今度は
第3のフラグ群記憶部をサーチする。これは、図3に示
したコマンド変換部22の処理を、描画領域とそれ以外
の領域とで区別して行うためである。
【0078】即ち、ステップS9において、イメージデ
ータのある部分のみ通常のコマンド変換処理を行う。な
い場合には、具体的にはビットマップイメージが白のみ
で構成されているため、単純な圧縮処理によってコマン
ド体系に応じた処理を行う。
【0079】ステップS10では、印刷コマンドをプリ
ンタに送信し、ステップS11で、今回のバンド幅分だ
けフラグ群記憶部のサーチ範囲を移動する。このフロー
チャートでは、ここで処理が終了しているが、具体的に
は、ステップS1〜ステップS11の処理を全てのバン
ドについて実行することになる。
【0080】〈具体例4の効果〉以上の処理によれば、
縦方向のみならず横方向についても、そのオブジェクト
位置を判定し、カラー/グレイスケール処理部の負担を
減らすことができる。しかも、横方向の判定によって、
コマンド変換部の負担も同時に減らすことが可能にな
る。
【0081】〈具体例5〉図20には、具体例5の問題
点説明図を示す。例えば、この図の例では、直線31が
カラーイメージであるとする。この場合に、具体例4と
同様の処理を行っても、第4のフラグ群記憶部16Cも
第3のフラグ群記憶部16Bも共に全ての範囲が描画範
囲となり、具体例4で説明した効果は得られない。しか
しながら、この図を見ても、単に直線31の部分と四角
形33の部分のみがカラーイメージであるのに、具体例
4の方法では多くの無駄な処理が残ることになる。そこ
で、具体例5では、次のような処理を行う。
【0082】図21に、具体例5のシステム概略図を示
す。この例では、全体のイメージデータの縦100ピク
セル横100ピクセルの10000ピクセルを1ピクセ
ルに対応させたイメージ判定用ビットマップ41とカラ
ー判定用ビットマップ42とをメモリ上に確保する(図
21(b)、(c))。もちろん、この100ピクセル
という単位は、ホストコンピュータの処理能力により増
減させることができる。全体のイメージデータの縦横サ
イズが100ピクセル毎に割り切れない場合には切り上
げをすればよい。例えば、縦7015ピクセル、横49
60ピクセルの場合には、7015/100=70.1
5であるから、71ピクセルにする。また、4960/
100=49.60であるから、50ピクセルとする。
【0083】カラー判定用ビットマップのデータサイズ
は、(Top,Left,Bottom,Right)=(0,0,50,7
1)となる。カラー判定用ビットマップの横のバイト数
はイメージ判定メモリと同じで、(Right−Left+7)
/8で表される。従って、これは7バイトとなる。必要
メモリサイズは、7×71即ち497バイトとなる。こ
のようなカラー判定用ビットマップを2組記憶できるよ
うな記憶領域を確保しておく。
【0084】図21の(a)と(b)では、描画領域に
該当するピクセルは黒く塗り潰してある。即ち、図に示
すように、A,B,Cという文字の部分と直線31の部
分、楕円32の部分、四角形33の部分が描画領域とな
り、黒く塗り潰されている。このようなイメージ判定用
ビットマップ41によって、二次元的に描画領域の有無
が明確にされる。
【0085】(c)に示すカラー判定用ビットマップ4
2の場合には、直線31と四角形33とがカラーオブジ
ェクトであるから、これらを含む部分のピクセルが黒く
塗り潰されている。図1に示した描画領域判定部14
は、このようなイメージ判定用ビットマップとカラー判
定用ビットマップを生成するよう動作する。
【0086】図22に、具体例5の動作説明図を示す。
図1に示したバンディング処理部13は、この図22に
示すような要領で、カラー判定用ビットマップ42やイ
メージ判定用ビットマップ41を参照しながら、例えば
主走査方向に見て1ライン毎に、バンド中の各ラインが
いずれかのピクセルと重なっているかどうかを判定す
る。そして、重なっている部分があれば、その部分には
カラー/グレイスケール処理を行うべきオブジェクトが
含まれていると判断する。
【0087】各ピクセルは100ラスタライン分の幅を
持つから、処理中のラスタラインと各ピクセルとの位置
関係を座標変換処理によって演算すれば、重なり判定が
可能になる。例えば、直線31を含む、図に示す2×1
3ピクセルの塗り潰し部分を通るラスタラインは全てカ
ラー処理される。また、バンド2用のビットフィール
ド、バンド3用のビットフィールドにおいても、ラスタ
ラインとの重なりを判定してその範囲のみカラー/グレ
イスケール処理を行うといった方法により具体例4と同
様の効果を得ることができる。
【0088】図23には、具体例5による描画領域判定
部の動作フローチャートを示す。まず、ステップS1に
おいて、1バンド分のイメージ展開用メモリを確保す
る。次に、ステップS2において、図21で示した通
り、フラグ群記憶部16を確保する。更にステップS3
において、同図で示した通り、第2のフラグ群記憶部1
6Aを確保する。ステップS4において、既に説明した
大きさのピクセルから成るイメージ判定用ビットマップ
を確保する。更に、カラー判定用ビットマップを確保す
る。ステップS5では、カラー判定用ビットフィールド
を確保する。これは、カラー判定用ビットマップの1列
と同じメモリサイズを必要とし、カラー判定用ビットマ
ップの複数列の論理和をとるために用いられる。更に、
イメージ判定用ビットフィールドを確保する。
【0089】次に、ステップS6において、描画コマン
ドをオブジェクト毎に受信する。ステップS7では、オ
ブジェクトの占める領域を計算する。そして、ステップ
S8において、計算された領域情報をフラグ群記憶部1
6に格納する。更に、ステップS9において、イメージ
判定用ビットマップの該当するビットを全て“1”にす
る。この場合、丁度その描画領域を主走査方向と副走査
方向の両方に見て、その描画領域に存在するピクセルを
全て“1”にするという処理を実行する。
【0090】次に、ステップS10において、カラーオ
ブジェクトかどうかを判断し、カラーオブジェクトの場
合にはステップS11に進む。そして、計算された領域
情報を第2のフラグ群記憶部16Aに記憶する。更に、
ステップS12において、カラー判定用ビットマップの
該当するビットを全て“1”にする。ステップS13
は、全ての描画コマンドを処理したかどうかを判断する
部分であり、全ての描画コマンドを処理するまでステッ
プS6〜ステップS12までの処理が繰り返される。
【0091】図24に、バンディング処理部の動作フロ
ーチャートを示す。まず、ステップS1において、今回
のバンド幅を決定してから、バンドの高さ分だけ第2の
フラグ群記憶部をサーチする。ここまでの処理は具体例
4と同様である。次に、ステップS2において、その範
囲内にビットがあるかどうかを判断する。ビットがあれ
ばステップS3に進み、カラーで部分描画をし、イメー
ジデータを作成する。
【0092】次に、ステップS4において、カラー判定
用ビットマップを用いて、カラー/グレイスケール処理
を行う部分と、単純に2値化する部分を調査する。例え
ば、現在のバンドの範囲が150列〜350列だった場
合、150/100=1.5、350/100=3.5
だから、カラー判定用ビットマップでは第2列〜第4列
の部分に該当する。これら3列の論理和をとり、カラー
判定用ビットフィールドを作成する。
【0093】図25は、カラー判定用ビットフィールド
の説明図である。上記の要領で、図の上方のカラー判定
用ビットマップ50から下方のカラー判定用ビットフィ
ールド51が生成される。例えば、カラー判定用ビット
フィールドの第2、第3、第6ビットが“1”であった
場合には、現在のバンドの主走査方向の100ピクセル
〜299ピクセル及び500ピクセル〜599ピクセル
には、カラーデータが存在する可能性がある。
【0094】ステップS4では、現在のバンドの中でカ
ラーデータが存在する領域を調査し、カラー判定用ビッ
トフィールドにその結果を格納する。次に、ステップS
5で、カラー判定用ビットフィールドを参照し、カラー
データのある部分のみ、カラー/グレイスケール処理を
行う。無い場合は、単純な2値化を行う。なお、カラー
描画が不要の場合には、ステップS6において、白黒で
部分描画し、イメージデータを作成する。
【0095】なお、以上のような判定は、処理しようと
するラスタラインが、上記各ビットマップのいずれかの
塗り潰されたピクセルを通過するかどうかを判断する任
意の計算により行うことができる。
【0096】ステップS7では、イメージ判定用ビット
マップの現在のバンドに対する領域のラスタラインの論
理和をとり、イメージデータの存在する領域を調査す
る。即ち、ここでは、イメージ判定用ビットマップを利
用して、コマンド変換処理を簡略化できる部分の探索を
行う。その調査方法はステップS4と同様である。ステ
ップS8では、イメージデータのある部分のみ通常のコ
マンド変換処理を行う。無い部分は、コマンド体系に応
じた簡単な処理を行うことになる。ステップS9では、
印刷コマンドをプリンタに送信し、ステップS10で
は、今回のバンド幅分だけイメージ判定用メモリのサー
チ位置を移動する。
【0097】〈具体例5の効果〉以上のように、イメー
ジ判定用ビットマップを生成し、用紙の縦方向にも横方
向にも二次元方向に各描画コマンドによる描画領域とカ
ラー/グレイスケール用オブジェクトの存在を判断する
フラグ群を記憶するようにしたので、具体例4と同様
に、必要最小限の範囲において、カラー/グレイスケー
ル処理部やコマンド変換部を動作させることができ、処
理の負荷を軽減できる。
【図面の簡単な説明】
【図1】具体例1のデータ描画部ブロック図である。
【図2】比較例の描画処理システムブロック図である。
【図3】描画処理システムのブロック図である。
【図4】描画コマンド例説明図である。
【図5】描画コマンド例説明図である。
【図6】フラグ群の内容説明図である。
【図7】バンディング処理部の動作説明図である。
【図8】描画領域判定部の動作フローチャートである。
【図9】バンディング処理部の動作フローチャートであ
る。
【図10】横書きイメージの処理例説明図である。
【図11】具体例2のシステム概略図である。
【図12】カラー判定用フラグ群の説明図である。
【図13】描画領域判定部の動作フローチャートであ
る。
【図14】バンディング処理部の動作フローチャートで
ある。
【図15】具体例3のシステム概略図である。
【図16】バンディング処理部の動作フローチャートで
ある。
【図17】具体例4のシステム概略図である。
【図18】描画領域判定部の動作フローチャートであ
る。
【図19】バンディング処理部の動作フローチャートで
ある。
【図20】具体例5の問題点説明図である。
【図21】具体例5のシステム概略図である。
【図22】具体例5の動作説明図である。
【図23】描画領域判定部の動作フローチャートであ
る。
【図24】バンディング処理部の動作フローチャートで
ある。
【図25】カラー判定用ビットフィールドの説明図であ
る。
【符号の説明】
10 ホストコンピュータ 11 描画コマンド群 12 メモリ 13 バンディング処理部 14 描画領域判定部 15 ビットマップデータ 16 フラグ群記憶部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 受信した描画コマンドをビットマップデ
    ータに展開処理するデータ描画部を備え、 前記データ描画部は、 1ページ分を副走査方向に見て描画コマンドが含まれて
    いる領域を描画領域として判定し、描画コマンドが含ま
    れていない領域を空白領域と判定する描画領域判定部
    と、 1ページを副走査方向に見て所定幅のバンド単位に分解
    し、該分割されたバンド内が空白領域の場合には次のバ
    ンドに進み、バンド内に前記描画領域が含まれている場
    合には前記描画コマンドをビットマップデータに展開処
    理するバンディング処理部を備えたことを特徴とする描
    画システム。
  2. 【請求項2】 請求項1記載の描画処理システムにおい
    て、 前記データ描画部は、 前記ビットマップデータ1ページ分を副走査方向に見た
    ときの、各描画コマンド毎の描画領域を判定する描画領
    域判定部と、 前記ビットマップデータ1ページ分を副走査方向に見
    て、いずれの描画コマンドの描画領域にも含まれない領
    域を空白領域とし、その空白領域を空白領域以外の領域
    と区別するためのフラグ群を記憶したフラグ群記憶部
    と、 前記ビットマップデータ1ページ分を副走査方向に見て
    複数に分割し、所定の幅のバンド単位で前記描画コマン
    ド群をビットマップデータに展開処理するバンディング
    処理を実行する場合に、1ページの先頭の空白領域から
    空白領域以外の領域に移る部分までバンディング開始位
    置を後方にシフトするバンディング処理部を備えたこと
    を特徴とする描画処理システム。
  3. 【請求項3】 請求項1記載の描画処理システムにおい
    て、 前記データ描画部は、 前記ビットマップデータ1ページ分を副走査方向に見た
    ときの、各描画コマンド毎の描画領域を判定する描画領
    域判定部と、 前記ビットマップデータ1ページ分を副走査方向に見
    て、いずれの描画コマンドの描画領域にも含まれない領
    域を空白領域とし、その空白領域を空白領域以外の領域
    と区別するためのフラグ群を記憶したフラグ群記憶部
    と、 前記ビットマップデータ1ページ分を副走査方向に見て
    複数に分割し、所定の幅のバンド単位で前記描画コマン
    ド群をビットマップデータに展開処理するバンディング
    処理を実行する場合に、バンディング終了位置の直後が
    空白領域の場合、その後空白領域以外の領域に移る部分
    までバンディング開始位置を後方にシフトするバンディ
    ング処理部を備えたことを特徴とする描画処理システ
    ム。
  4. 【請求項4】 請求項2または3に記載の描画処理シス
    テムにおいて、 前記バンディング処理部は、バンディング終了位置が空
    白領域の場合、バンディング終了位置の直前であって、
    かつ、空白領域以外の領域から当該空白領域に移る部分
    まで、バンディング終了位置を前方にシフトすることを
    特徴とする描画処理システム。
  5. 【請求項5】 請求項1から4のうちのいずれか1項に
    記載の描画処理システムにおいて、 描画コマンドがカラーデータ処理用のコマンドであるこ
    とを特徴とする描画処理システム。
  6. 【請求項6】 請求項1から4のうちのいずれか1項に
    記載の描画処理システムにおいて、 描画コマンドがグレイスケール処理用のコマンドである
    ことを特徴とする描画処理システム。
  7. 【請求項7】 請求項5に記載の描画処理システムにお
    いて、 描画領域判定部は、前記ビットマップデータ1ページ分
    を主走査方向に見たときの、各描画コマンド毎の描画領
    域を判定し、 フラグ群記憶部は、前記ビットマップデータ1ページ分
    を主走査方向に見て、いずれの描画コマンドの描画領域
    にも含まれない領域を空白領域として、その空白領域を
    空白領域以外の領域と区別するためのフラグ群を記憶
    し、 このフラグ群に基づいて、カラーデータ処理の対象領域
    を空白領域以外の部分に制限することを特徴とする描画
    処理システム。
  8. 【請求項8】 請求項6に記載の描画処理システムにお
    いて、 描画領域判定部は、前記ビットマップデータ1ページ分
    を主走査方向に見たときの、各描画コマンド毎の描画領
    域を判定し、 フラグ群記憶部は、前記ビットマップデータ1ページ分
    を主走査方向に見て、いずれの描画コマンドの描画領域
    にも含まれない領域を空白領域として、その空白領域を
    空白領域以外の領域と区別するためのフラグ群を記憶
    し、 このフラグ群に基づいて、グレイスケール処理の対象領
    域を空白領域以外の部分に制限することを特徴とする描
    画処理システム。
  9. 【請求項9】 請求項1から4のうちのいずれか1項に
    記載の描画処理システムにおいて、 前記データ描画部は、 主走査方向と副走査方向の二次元方向に各描画コマンド
    による描画領域とカラー/グレイスケール用オブジェク
    トの存在を判断するフラグ群を記憶する判定用ビットマ
    ップを備えたことを特徴とする描画処理システム。
JP11229081A 1999-08-13 1999-08-13 描画処理システム Pending JP2001047671A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11229081A JP2001047671A (ja) 1999-08-13 1999-08-13 描画処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11229081A JP2001047671A (ja) 1999-08-13 1999-08-13 描画処理システム

Publications (1)

Publication Number Publication Date
JP2001047671A true JP2001047671A (ja) 2001-02-20

Family

ID=16886462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11229081A Pending JP2001047671A (ja) 1999-08-13 1999-08-13 描画処理システム

Country Status (1)

Country Link
JP (1) JP2001047671A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1559493A2 (en) 2003-12-29 2005-08-03 Hanita Metal Works Ltd. Ballnose end mill

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7909545B2 (en) 2003-12-19 2011-03-22 Hanita Metal Works, Ltd. Ballnose end mill
EP1559493A2 (en) 2003-12-29 2005-08-03 Hanita Metal Works Ltd. Ballnose end mill

Similar Documents

Publication Publication Date Title
EP0933723B1 (en) Printing apparatus
US7505174B2 (en) Image processing method, system and apparatus, and storage medium
CN1859541B (zh) 图像处理设备及其控制方法
US6323958B1 (en) Printing apparatus
JPH11252366A (ja) プリンタ制御装置、プリンタ及びプリントシステム
JP3619143B2 (ja) 画像処理装置およびその方法
JP2001101431A (ja) 画像処理装置および画像処理方法
US6539108B1 (en) Image processing device and method of the same
JP2006244248A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
JP2004070659A (ja) 記録装置、記録方法、プログラム並びに記憶媒体
JP2001047671A (ja) 描画処理システム
JPH10202962A (ja) 印字データ処理装置及び入力データ作成装置
JP4345609B2 (ja) 画像処理装置およびプログラム
JP2003051929A (ja) 画像処理方法及び装置
JPH09167222A (ja) 画像処理装置
JP3636891B2 (ja) カラー画像出力方法
JP2004334533A (ja) 画像処理装置および画像処理方法
JP3204136B2 (ja) 画像処理装置及び圧縮処理方法
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH10329363A (ja) 画像形成装置、方法及びプリンタ
JP2009141525A (ja) 画像処理装置及び画像処理方法
JP2002318680A (ja) 画像処理装置および画像処理方法
JP2002133429A (ja) 描画情報処理装置および描画情報処理方法、記憶媒体
JP3294249B2 (ja) 画像処理装置
JPH1051652A (ja) 情報処理装置及び方法