JP3085175B2 - 描画装置 - Google Patents

描画装置

Info

Publication number
JP3085175B2
JP3085175B2 JP07331632A JP33163295A JP3085175B2 JP 3085175 B2 JP3085175 B2 JP 3085175B2 JP 07331632 A JP07331632 A JP 07331632A JP 33163295 A JP33163295 A JP 33163295A JP 3085175 B2 JP3085175 B2 JP 3085175B2
Authority
JP
Japan
Prior art keywords
intermediate data
data
bitmap
band
scan line
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
JP07331632A
Other languages
English (en)
Other versions
JPH09171564A (ja
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP07331632A priority Critical patent/JP3085175B2/ja
Publication of JPH09171564A publication Critical patent/JPH09171564A/ja
Application granted granted Critical
Publication of JP3085175B2 publication Critical patent/JP3085175B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ページ記述言語
(以下PDLと略す)などのコード情報である描画コマ
ンドを受け取り、文字やグラフィックス、画像をラスタ
スキャン出力する描画装置に関するものである。
【0002】
【従来の技術】近年、文字/グラフィックス/画像を同
時に編集して、プリンタから出力する装置が普及してき
ている。この場合、プリンタに送られる情報は、PDL
などのコード情報でありプリンタで解釈してビットマッ
プ画像を作成し、ラスタスキャン出力している。
【0003】しかし、このような分野に用いられるプリ
ンタはカラー化、高解像度化が進み、1ページ分の描画
プリミティブを一度にビットマップに展開してしまうと
膨大なデータ量になってしまう。そのため、例えば、特
開平6−119131号公報に記載されているように、
1ページを複数の走査線を単位とするバンドに区切り、
バンドごとにビットマップに展開して出力することが考
えられている。しかしこの方法を単純に適用すると、す
べての描画コマンドを各バンドごとに毎回読み出して解
釈し、当該バンドに含まれる部分の有無を判断し、当該
バンド部分のビットマップへの展開を行なうことにな
り、処理時間がかかるという問題がある。
【0004】また、例えば、特開平5−246077号
公報に記載されている印刷装置では、グラフィックスデ
ータはデータ量のそれほど多くない低解像度のビットマ
ップデータに展開しておき、例えばバンドごとに拡大し
て出力している。これにより、少なくともグラフィック
スデータについては、各バンドごとに描画コマンドを読
み出して解釈する必要が無く、多少高速化できるととも
に、データ量を削減することができる。しかし、高解像
度の印刷装置でありながら、高解像度のグラフィックス
データの印刷ができない、あるいはこのような利点を活
用できないという問題がある。
【0005】さらに、例えば、特開平5−250109
号公報に記載されているように、バンドごとにADCT
などの方法により符号化して蓄積し、出力時に復号化し
て出力することも考えられている。この方法では、蓄積
された1ページ分の画像のデータ量はビットマップに比
べてはるかに少なく、メモリ量を削減できるとともに、
出力時にはバンドごとに復号化して出力すればよく、出
力時のメモリ量の削減とともにほぼ低速の出力が可能で
ある。しかし、符号化する際にはやはりバンドごとのビ
ットマップを一旦作成しなければならず、また、符号化
および復号化に時間がかかるため、リアルタイムで出力
するような場合には不向きである。
【0006】このようなメモリ量の削減と、処理時間の
短縮を図ったものとして、例えば、特開平5−2246
37号公報などに記載されているような、エッジリスト
を用いるものがある。この技術では、描画コマンドを受
け取り、描画部分の先頭の座標と長さを示すラン、ある
いは、描画部分の先頭と終端の座標のリストであるエッ
ジリストを、各スキャンラインごとに作成する。1ペー
ジ分のすべての描画コマンドについてリストを作成した
後、スキャンラインについてソートしておく。そして、
各バンドごとに、そのバンドに含まれるスキャンライン
についてのリストを取り出してビットマップ展開し、出
力する。この方法では、描画コマンドの解釈はエッジリ
ストの作成時だけであり、また、ビットマップ展開時に
もエッジリストに従って展開するだけであるので、処理
時間は大幅に短縮できる。また、エッジリストのデータ
量は、1ページ分のビットマップに比べ、非常に少量で
ある。
【0007】しかし、この方法でも、エッジリストを構
成するリスト構造におけるポインタ部のメモリ量が大き
くなること、基本的に主走査方向の情報だけの圧縮であ
ること、ランの大きさによらず一定の大きさのデータで
ランを表現することなどから、十分なデータ量の削減が
達成されていなかった。
【0008】一方、上述のようなプリンタの中には、1
ドット単位で階調を表現できるものもあるが、周りの複
数ビットで階調を表現しなくてはならないプリンタもあ
る。この場合、プリンタに送られるPDLなどのコード
情報では、階調は連続的な表現で行なわれている。これ
を印字する場合は、プリンタ側で描画処理の最終段階で
ハーフトーン処理を行ないながら、直接ページ全体の2
値のビットマップデータを作成することが行なわれてい
る。例えば、特開平5−138947号公報に記載され
た画像形成装置のように、描画データを作成するごとに
パターン発生手段で発生するパターンデータを用いてハ
ーフトーン処理を施し、フレームメモリ中のデータと合
成することによって、各色ごとに2値のビットマップデ
ータを得ている。この構成では、各色ごとに例えば1ペ
ージ分のフレームメモリを必要とする。プリンタの高解
像度化が進み、この構成のように1ページ分の画像をビ
ットマップに展開してしまうと、2値であっても膨大な
データ量になってしまうという問題がある。例えば、特
開平6−62229号公報に記載されているように、中
間調領域を検出してその領域のみ、ディザ処理を施すこ
とも考えられているが、処理時間の短縮は望めるもの
の、対象がスキャナ画像であるため1ページ分の2値化
画像を保持することに変わりはない。
【0009】特開平6−70145号公報に記載されて
いる装置では、行ごとに2値化のための閾値データを読
み出してメモリに記憶しておき、ラスタデータと閾値デ
ータを読み出して比較し、2値のビットマップデータを
得るものである。この構成は順次処理であるので、例え
ば、バンドごとの処理にも適用可能である。また、閾値
データがROMなどにあらかじめ保持されているため、
高速なハーフトーン処理が可能である。しかし、この技
術は、ビットマップデータに展開された画像に対してハ
ーフトーン処理を行なうものであるため、多値のビット
マップデータを一旦作成しなければならず、装置全体の
処理速度は低下してしまう。
【0010】上述のように、描画処理ではランレングス
表現のような中間データを作成し、プリンタ印字時にラ
ンレングス表現から、バンド単位の2値のビットマップ
データを作成する描画装置がある。このような装置にお
いて、ビットマップに対するハーフトーン処理を適用す
る場合、まず中間データから多値のビットマップを作成
し、その後ハーフトーン処理によって2値のビットマッ
プを作成することになり、中間データの展開処理に時間
がかかってしまうことになる。そのため、プリント速度
が一定のプリンタでは、プリンタの印字速度に展開速度
が間に合わず、画像が抜けてしまうことが発生してい
た。そのため、より高速なハーフトーン処理が要求され
ている。
【0011】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、第1の目的は、中間データ
の容量を大幅に削減した描画装置を提供するものであ
る。また、第2の目的は、高速なハーフトーン処理を行
なう描画装置を提供するものである。
【0012】
【課題を解決するための手段】請求項1に記載の発明
は、描画プリミティブを表わす描画コマンドを受け取
り、該描画コマンドに従ったビットマップデータを生成
して出力する描画装置において、前記描画コマンドの色
情報と該描画コマンドに対応する描画プリミティブの存
在する走査線ごとのランおよびその端部座標を抽出する
描画処理手段と、中間データを記憶する中間データ記憶
手段と、前記描画処理手段により抽出された連続する2
つのランの端部座標の差分を計算し計算結果に基づいて
データ長の異なる複数種類の中間データフォーマットの
1つを選択し選択した中間データフォーマットと前記端
部座標の差分と前記描画処理手段で抽出された前記ラン
に基づいて中間データセルを生成し前記描画コマンドご
とに生成した複数の中間データセルを前記描画処理手段
で抽出した前記色情報とともに中間データとして前記中
間データ記憶手段に記憶させる中間データ生成手段と、
前記中間データ記憶手段に記憶されている前記中間デー
タをもとに前記ビットマップデータに展開する展開手段
を有することを特徴とするものである。
【0013】請求項2に記載の発明は、請求項1に記載
の描画装置において、前記中間データ生成手段は、選択
したフォーマットのデータ長に基づいて前記中間データ
記憶手段に対して中間データセルを書き込むアドレスを
決定し、前記展開手段は、中間データセルのフォーマッ
トのデータ長に基づいて前記中間データ記憶手段からの
中間データセルの読み出し開始のアドレスおよび読み出
し範囲を決定することを特徴とするものである。
【0014】請求項3に記載の発明は、描画プリミティ
ブを表わす描画コマンドを受け取り、該描画コマンドに
従ったビットマップデータを生成して出力する描画装置
において、前記描画コマンドの色情報と該描画コマンド
に対応する描画プリミティブの存在する走査線ごとのラ
ンおよびその端部座標を抽出する描画処理手段と、中間
データを記憶する中間データ記憶手段と、複数の走査線
を単位とするバンドごとに前記ビットマップデータの領
域を管理し前記描画処理手段により抽出された連続する
2つのランの端部座標の差分を計算し計算結果に基づい
てデータ長の異なる複数種類の中間データフォーマット
の1つを選択し選択した中間データフォーマットと前記
端部座標の差分と前記描画処理手段で抽出された前記ラ
ンに基づいて中間データセルを生成し連続する2つのラ
ンの存在する前記バンドが異なるごとに前記描画処理手
段で抽出した前記色情報とともに生成した複数の中間デ
ータセルを中間データとして前記中間データ記憶手段に
記憶させる中間データ生成手段と、前記中間データ記憶
手段に記憶されている前記中間データをもとに前記バン
ドごとに前記ビットマップデータに展開する展開手段を
有することを特徴とするものである。
【0015】請求項4に記載の発明は、描画プリミティ
ブを表わす描画コマンドを受け取り、該描画コマンドに
従ったビットマップデータを生成して出力する描画装置
において、前記描画コマンドの色情報と該描画コマンド
に対応する描画プリミティブの存在する走査線ごとのラ
ンおよびその端部座標を抽出する描画処理手段と、中間
データを記憶する中間データ記憶手段と、前記描画処理
手段により抽出された連続する2つのランの端部座標の
差分を計算し計算結果に基づいてデータ長の異なる複数
種類の中間データフォーマットの1つを選択し選択した
中間データフォーマットと前記端部座標の差分と前記描
画処理手段で抽出された前記ランおよび前記色情報に基
づいて中間データを生成して前記中間データ記憶手段に
記憶させる中間データ生成手段と、前記色情報の値に対
応づけられた中間調を表わす所定の大きさの2値データ
のマトリクスである中間調マトリクスを記憶する中間調
マトリクス記憶手段と、前記中間データ記憶手段に記憶
される中間データをビットマップデータに展開する際に
該中間データに含まれる色情報の値に基づいて前記中間
調マトリクス記憶手段に記憶されている中間調マトリク
スの中の1つを選択し該中間データに含まれる前記ラン
の長さおよび端部座標に基づいて選択された中間調マト
リクスの一部の2値データでビットマップデータへの展
開を行なう展開手段を有することを特徴とするものであ
る。
【0016】請求項5に記載の発明は、請求項4に記載
の描画装置において、前記中間調マトリクス記憶手段に
記憶された中間調マトリクスは、画像の走査線方向にC
PUのワード長の長さを持つことを特徴とするものであ
る。
【0017】
【0018】
【発明の実施の形態】図1は、本発明の描画装置の第1
の実施の形態を示すブロック図である。図中、1は入力
制御部、2はラスタ描画部、3はベクタ描画部、4は文
字描画部、5は中間データ生成部、6は中間データバッ
ファ、7は展開出力制御部、8,9はバンドバッファ、
10は出力装置である。
【0019】入力制御部1は、PDLで記述された描画
コマンドを受け取り、解釈を行なう。この描画コマンド
には、実際に描画を行なわせるコマンドのほか、環境設
定や制御用のコマンドなども含まれている。解釈の結果
は、描画コマンドによって描画される描画プリミティブ
に従って、ラスタ描画の場合はラスタデータと変換行列
がラスタ描画部2に、ベクタ描画の場合はベクタデー
タ、変換行列および色/線幅等の描画属性がベクタ描画
部3に、文字描画の場合は文字コード、変換行列、色/
フォント種等の描画属性が文字描画4に送られる。
【0020】ラスタ描画部2は、入力されたラスタデー
タを出力装置10の色に合わせる処理と、変換行列で変
換したラスタデータを作成する処理を行なう。また、そ
の他の画像処理を行なう場合もある。さらに、各スキャ
ンライン上のラスタの存在する位置およびランレングス
を計算してエッジリストを作成し、ラスタデータへのポ
インタとともに中間データ生成部5へ渡す。
【0021】ベクタ描画部3では、塗りつぶし描画処理
とストローク描画処理が行なわれる。塗りつぶし描画処
理では、各スキャンライン毎に行列変換後のベクタが交
わる交点を抽出して、塗りつぶされるべき位置および長
さを示すエッジリストと、塗りつぶす出力装置10の色
を中間データ生成部5へ渡す。ストローク描画処理の場
合には、線幅/終端形状/接続形状からアウトラインベ
クタを生成してから、塗りつぶし描画処理を行なう。
【0022】文字描画部4は、入力された文字コードか
ら対応するベクトルフォントを取り出し、ベクタ描画部
3の塗りつぶし描画処理と同様の処理を行なう。
【0023】中間データ生成部5は、ラスタ描画部2、
ベクタ描画部3、文字描画部4からエッジリストを受け
取り、バンドバッファのバンド幅毎に分けた中間データ
を生成する。中間データは、色情報と複数の中間データ
セルを含む。中間データセルは、エッジリストから得ら
れる位置情報をもとに、2つのランの位置の差分を計算
して得られた位置の差分と、ランレングスを含む。中間
データセルのデータ長は複数存在し、計算された位置の
差分を示すために必要なデータ長の中間データフォーマ
ットが選択される。また、ランレングスも考慮して中間
データフォーマットを選択するように構成することもで
きる。中間データセルには選択された中間データフォー
マットを識別するための情報も含んでいる。1つの描画
プリミティブを描画する際には1色のみが用いられるこ
とが多いため、色の情報は描画プリミティブごとに1回
だけ付加するように構成することができる。また、連続
するランが異なるバンドバッファに含まれるときには、
そこで中間データを分ける。その場合にも色情報を付加
するように構成することができる。
【0024】中間データバッファ6は、中間データ生成
部5で生成された中間データを保持する。
【0025】展開出力制御部7は、バンドごとに中間デ
ータバッファ6から中間データを取り出してビットマッ
プデータに展開し、バンドバッファ8または9に書き込
む。また、出力装置10の起動制御なども行なう。
【0026】バンドバッファ8,9は、展開出力制御部
7で展開されたビットマップデータを記憶する。このバ
ンドバッファ8,9は交代バッファとして用いられ、一
方に展開出力制御部7が書き込みを行なっているとき
に、他方は出力装置10による読み出しが可能である。
これにより展開出力制御部7によるビットマップデータ
への展開処理と出力装置10による出力処理を並行して
行なうことができる。もちろん、バンドバッファを1つ
にしたり、あるいは用いない構成としてもよい。また、
3以上のバンドバッファを備えた構成としてもよい。
【0027】出力装置10は、展開出力制御部7によっ
て起動され、バンドバッファ8または9からバンドごと
のビットマップデータを読み出して出力する。この出力
装置10としては、一旦起動されると一定速度で1ペー
ジ分の出力を行なうタイプの装置を用いることができ
る。そのため、各バンドのビットマップデータは所定時
間内にバンドバッファ8または9に書き込まれている必
要がある。展開出力制御部7は、この所定時間内に中間
データからビットマップデータへの展開を行なう。
【0028】以下、各部についてさらに説明する。図2
は、ラスタ描画部において生成されるエッジリストの一
例の説明図である。ラスタ描画部2には、入力制御部1
からラスタデータと変換行列が渡される。ラスタデータ
には、ラスタ画像とともに、ヘッダとしてラスタ画像の
横のバイト数、縦のスキャンライン数、色を示す1ドッ
ト当たりのビット数が与えられている。ラスタ描画部2
は、各ドットの色を表わす値を、出力装置10の色に合
うように変換する。また、変換行列を用いて回転や拡大
縮小などの変換処理を行なう。図2において左側に示し
たラスタ画像は、このような変換処理の後のものであ
る。
【0029】さらにラスタ描画部2は、図2の右に示す
ようなエッジリストを作成する。エッジリストには、ラ
スタ画像へのポインタと、各スキャンラインにおけるそ
のスキャンラインのアドレス、ラスタ画像のスタート位
置、ランレングスのリストが含まれる。例えば、スキャ
ンラインY0では、ラスタ画像は位置SX0からスター
トし、長さRL0だけ存在する。そのため、Y0,SX
0,RL0を組にしてリストに登録する。各スキャンラ
インにおいてこのようなラスタ画像のスタート位置とラ
ンレングスを抽出することによって、図2右に示すよう
なエッジリストが得られる。このエッジリストは中間デ
ータ生成部5に渡される。
【0030】図3は、ベクタ描画部において生成される
エッジリストの一例の説明図である。ベクタ描画部3で
は、塗りつぶし描画処理とストローク描画処理が行なわ
れるが、どちらの場合もアウトラインとなるベクタをも
とに塗りつぶし描画処理を行なう。塗りつぶし描画処理
では、各スキャンライン毎に行列変換後のベクタが交わ
る交点を抽出して、塗りつぶされるべきスタート位置
と、長さを示すランレングスを抽出する。
【0031】いま、図3(A)に示すように、円と三角
形が描画される場合を考える。スキャンラインを破線で
示している。スキャンラインY0においては、円の頂部
を描画することになるので、そのスタート位置である位
置SX0と、塗りつぶす長さであるランレングスRL0
を抽出する。そして、位置SX0とランレングスRL0
をスキャンラインのアドレスY0と関連付けておく。ま
た、スキャンラインY1では、三角形の頂部と円の中程
を塗りつぶすので、三角形の頂部を塗りつぶすためのス
タート位置SX1と塗りつぶすランレングスRL1、お
よび、円を塗りつぶすためのスタート位置SX2と塗り
つぶすランレングスRL2を抽出する。そして、スキャ
ンラインのアドレスY1に、スタート位置SX1とラン
レングスRL1、スタート位置SX2とランレングスR
L2を対応づけておく。このようにして各スキャンライ
ンについて、スタート位置とランレングスを抽出し、各
スキャンラインのアドレスに関連付ける。さらに、これ
らの図形を塗りつぶす色の情報を付加し、図3(B)に
示すようなエッジリストを得る。このラスタ描画処理の
場合には、塗りつぶす色は1色に指定されているので、
エッジリスト全体で1つの色情報を有する。このように
して得られたエッジリストが中間データ生成部5に渡さ
れる。
【0032】なお、文字描画部4における処理も、アウ
トラインフォントをもとに塗りつぶし処理を行なうの
で、ベクタ描画部3と同様のエッジリストを生成し、中
間データ生成部5に渡す。
【0033】上述のラスタ描画部2、ベクタ描画部3、
文字描画部4で生成するエッジリストは、スタート位置
とランレングスを格納する代わりに、スタート位置とエ
ンド位置を格納しておき、中間データを作成する際にラ
ンレングスに変換してもよい。
【0034】図4は、中間データ生成部において中間デ
ータセルを生成する際に用いられる中間データフォーマ
ットの一例の説明図、図5は、中間データ生成部におけ
る中間データセルの生成の一例の説明図である。中間デ
ータ生成部5は、ラスタ描画部2、ベクタ描画部3、文
字描画部4から、例えば、図2や図3に示すようなエッ
ジリストを受け取り、中間データセルを生成する。
【0035】中間データ生成部5は、同じ色、または同
じラスターデータごとに、中間データを作成する。例え
ば、ある1色についての中間データを作成する場合、そ
の色のランを1つずつ取り出して処理を行なって行く。
図5において、(B)を現在注目しているランとし、
(A)を前回注目したランとする。ここでは、前回注目
したラン(A)の後端と、現在注目しているラン(B)
の先端との位置の差分を計算する。計算されたスキャン
ライン方向の差分をDX、スキャンラインと直交する方
向の差分をDYとする。
【0036】このとき、ラン(A)とラン(B)は、ス
キャンラインごとにエッジリストを生成している場合、
同じスキャンラインか、次のスキャンラインである可能
性が高い。すなわち、差分DYは0または1である可能
性が高い。しかも、スキャンライン方向の差分DXも、
小さい値である可能性が高い。このような性質を利用し
て、データ量を削減することが可能である。
【0037】ここではラン(A)の後端とラン(B)の
先端との位置の差分を計算したが、逆にラン(A)の先
端とラン(B)の後端との位置の差分を計算したり、両
者の先端の位置の差分や、両者の後端の位置の差分を計
算することもでき、種々の点を基準に差分を取ることが
可能である。
【0038】図4に示すように、差分DX,DYを表わ
すのに必要なビット数を変えた、いくつかの中間データ
セルのためのフォーマットを用意しておく。そして、差
分DX,DYの値、さらにはランレングスの値に応じ
て、これらのフォーマットの中から選択して用いる。こ
こでは、4つのフォーマットをあらかじめ用意してい
る。これらのフォーマットからもわかるように、差分D
Yを表わす領域を小さく取り、差分DXおよびランレン
グスRLのデータ長を変えている。また、どのフォーマ
ットのデータであるかを示すため、先頭にタイプを表わ
すデータを付加している。このタイプを表わすデータ
は、ここでは4つのフォーマットを識別できればよいの
で、2bitあればよい。もちろんフォーマット数が増
加する場合にはそれに応じたデータ長が必要である。
【0039】図4(A)に示したフォーマットは、数ド
ット程度の描画しない部分を挟んで描画したり、あるい
は細い縦線や斜め線、文字などを描画する際に適したフ
ォーマットである。具体的にはランレングスデータ3b
it、差分DY1ビット、差分DX2bitと、タイプ
2bitの8bit(=1Byte)で構成されてい
る。
【0040】図4(B)に示したフォーマットは、もう
少し大きな図形を描画する際に用いられるフォーマット
である。このフォーマットは2Byteで構成されてお
り、具体的には、例えばランレングス6bit、差分D
Y1bit、差分DX7bitと、タイプ2bitによ
り構成することができる。
【0041】図4(C)に示したフォーマットは、さら
に大きな図形あるいは離れた部分を描画する際に用いら
れるフォーマットである。このフォーマットは、4By
teで構成されている。具体的には、例えばランレング
ス14bit、差分DY2bit、差分DX14bit
と、タイプ2bitで構成することができる。
【0042】図4(D)に示したフォーマットは、特に
描画の開始時に用いられ、スキャンライン方向の絶対座
標Xとスキャンラインの座標Yによって、絶対位置を明
示する場合に用いられる。このフォーマットは6Byt
eで構成されている。具体的には、タイプの2bitと
ランレングス14bit、それに絶対座標X,Yに16
bitずつを割り当てることができる。
【0043】このようなフォーマットを用いて中間デー
タセルを生成する場合、図4(D)に示すフォーマット
は、各描画プリミティブの最初で用いるほかはあまり用
いられず、多くの場合は図4(A)あるいは図4(B)
に示すフォーマットが用いられる。そのため、中間デー
タ全体のデータ量は非常に少なくなる。
【0044】図6は、中間データの形式の一例の説明図
である。1つの描画プリミティブを描画するためには、
上述のような中間データセルが通常は複数生成されるこ
とになる。中間データ生成部5は、これらの複数の中間
データセルと色の情報をまとめ、中間データを生成す
る。1つの描画プリミティブから生成される中間データ
は、例えば、図6に示すように、中間データセルの個数
と、色の情報と、中間データセルの列により構成され
る。中間データセルの個数の情報には、ベクタデータや
文字データなどのようにベクタデータ内を1色で塗りつ
ぶす場合と、ラスタデータのようにそのままの配色で出
力する場合を区別するための識別子も含んでいる。ま
た、色の情報は、ベクタデータや文字データを描画した
際には、描画に用いるある1色を示す情報が格納され
る。また、ラスタデータを描画する際には、ラスタデー
タへのポインタが格納される。具体的なフォーマットと
しては、中間データセルの個数を示す情報が4Byt
e、色の情報が4Byte、そしてそれに続いて図4に
示した4つの中間データセルが中間データセルの個数だ
け並ぶことになる。
【0045】1つの描画プリミティブが複数のバンドに
跨る場合、同じ色によって描画される中間データセルが
並ぶ場合であっても、バンドごとに中間データセルの個
数および色の情報が挿入され、別の中間データとして生
成される。このようにしておくことによって、バンドご
とのビットマップデータへの展開を容易に行なうことが
できる。
【0046】このような中間データが中間データバッフ
ァ6に記憶される。中間データ生成部5では、受け取っ
たエッジリストからあるバンドに含まれるスキャンライ
ン数を特定できるので、その数を中間データセルの個数
とし、色の情報としてラスタデータの場合にはイメージ
へのポインタを、また、その他の場合には描画色を出力
する。その後、スタートアドレスとランレングスのデー
タからアドレスの差分とランレングスから図3に示すフ
ォーマットのいずれかを選択し、中間データセルを順次
生成して中間データバッファ6に書き出す。このとき、
中間データセルの長さは複数種類存在するが、直前に書
き出した中間データセルのタイプによって中間データバ
ッファ6のアドレスを更新しながら書き出せばよい。
【0047】図7は、中間データの具体例の説明図であ
る。いま、図7(A)に示すように、バンド0とバンド
1にかけて円を、バンド1に三角形を、バンド2とバン
ド3にかけて45゜回転させたラスタ画像を、それぞれ
描画する場合を考える。図6において、図示の都合上、
各スキャンラインの描画を行なう部分を棒線で示し、各
図形の色をハッチングを変えて示している。このとき中
間データバッファ6に出力される中間データを図7
(B)に示している。
【0048】バンド0については、2本のスキャンライ
ンについて円を描画する部分が存在する。各スキャンラ
インに1カ所ずつの描画部分が存在するため、中間デー
タセルが2個生成される。また、この描画がベクタデー
タによるものであることを示す識別子も付加される。そ
して、この円を塗りつぶす色(ここでは右下がりのハッ
チングで示す)が格納され、その後に2つの中間データ
セルが出力される。最初の中間データセルは、描画の開
始であるため、絶対座標を示す必要がある。そのため、
図4(D)に示すフォーマットが選択され、描画するラ
ンレングスと、絶対座標によって中間データセルが生成
される。また、それに隣接する円の描画部分は、先の描
画部分の終端とこれから描画する部分の先端との差分を
計算し、その差分を表わすのに必要なフォーマットが選
択される。この場合のスキャンライン方向の差分DYは
1である。ここでは、図4(B)に示すフォーマットが
選択されたものとしている。
【0049】バンド1では、まず円の残りの部分を描画
するための中間データが生成される。この部分は2本の
スキャンラインに1カ所ずつの描画部分として存在す
る。中間データセルの個数を2とし、色の情報を出力す
る。そして、2つの中間データセルを出力する。最初の
中間データセルは、このバンドでの円の描画の開始点で
あるので、絶対座標で開始位置を指示するため、図4
(D)のフォーマットが用いられる。次のスキャンライ
ンでは、この例では図4(A)のフォーマットが用いら
れている。
【0050】さらに、バンド1では三角形が描画され
る。そのための中間データとして、中間データセルの個
数3、色の情報(ここでは右上がりのハッチングとして
示す)、それに3つの中間データセルが続く。この場合
も、最初の中間データセルでは描画のはじめであるので
絶対座標により開始位置を示すため、図4(D)に示す
フォーマットを用い、その後は座標の差分に従ってフォ
ーマットが選択される。ここでは、図4(B),(A)
のフォーマットが選択され、中間データセルが生成され
ている。
【0051】バンド2では、ラスタ画像の一部が描画さ
れる。このバンド内での中間データセルの個数は3であ
り、ラスタデータであることを示す識別子が付加され
る。また、色の情報として、ラスタ画像を示すイメージ
データへのポインタが出力される。図7では、ポインタ
を‘*’で示している。さらに、3つの中間データセル
が続いている。最初の中間データセルが絶対座標で描画
の開始点を示すために図4(D)のフォーマットを用
い、次が図4(B)、最後が図4(C)のフォーマット
を用いている。バンド3についてもバンド2と同様であ
る。
【0052】このようにして、バンド単位にわけられ、
ページ全体の中間データが中間データバッファ6に書き
込まれると、展開出力制御部7がこれを取り出し、バン
ドごとにビットマップデータに展開し、バンドバッファ
8または9に書き込む。例えば、展開出力制御部7が最
初のバンドに対する中間データをビットマップ展開して
バンドバッファ8に書き込み、出力装置10を起動す
る。起動された出力装置10は、バンドバッファ8から
ビットマップデータを読み込み、印刷プロセスを行な
う。展開出力制御部7は、バンドバッファ8にビットマ
ップデータを書き込み、出力装置10を起動後は、出力
装置10の印刷中に2つめのバンドに対する中間データ
をビットマップ展開してバンドバッファ9に書き込む。
出力装置10は、バンドバッファ8内のビットマップデ
ータを印刷後は、バンドバッファ9内のビットマップデ
ータを読み込み、印刷プロセスを行なう。展開出力制御
部7は、出力装置10がバンドバッファ8内のビットマ
ップデータについて、印刷プロセス完了後に、3番目の
バンドに対する中間データをビットマップに展開し、バ
ンドバッファ8へ書き込む。以下、展開出力制御部7
は、バンドバッファ8または9内のビットマップデータ
が出力装置10で処理されるごとに、交互にバンドごと
のビットマップデータを書き込む。また、出力装置10
は、交互にバンドバッファ8または9からビットマップ
データを読み出し、印刷プロセスを行なう。この動作を
最終バンドになるまで繰り返し、1ページの印刷を行な
う。
【0053】上述のような構成において、通常解像度を
600spi程度としたとき、中間データバッファ6に
記憶される中間データは、ビットマップデータの50分
の1程度となった。バンド幅を16分の1程度にする
と、2つのバンドバッファ8、9にフレームバッファの
8分の1程度のメモリが必要であるので、全体としてフ
レームバッファの15%程度のメモリ容量で出力が可能
になった。また、中間データのデータ量を管理すること
で、間引き操作などで画質を犠牲にして制限された少な
いメモリから出力することにも簡単に対応できる。
【0054】なお、上述の中間データのように、ベクタ
データや文字データでは多数の中間データセルに対して
1つの色情報のみを保持させているのは、描画プリミテ
ィブに対して複数色の指定が可能でも、指定される色は
1色であることが多いためである。1つの描画プリミテ
ィブについて多数の色を用いる場合には、色毎に中間デ
ータも分ける必要がある。また、ある描画プリミティブ
に他の描画プリミティブが上書きされる場合、重なった
部分はどちらかの描画プリミティブの色にするか、ある
いは混合色にする場合がほとんどである。どちらかの色
にする場合には、重なり部分について、どちらかの描画
プリミティブの中間データセルのランレングスを補正す
ればよい。また、混合色にする場合には、別の色の中間
データとして、重なり部の中間データを作成することに
なる。しかし、このような上書きもほとんどされないの
が現状である。そのため、データ量が増加することもほ
とんどの場合にはない。
【0055】上述の例では、描画プリミティブごとに中
間データを生成したが、これに限らず、例えば、複数の
描画プリミティブのエッジリストをスキャンラインでソ
ートし、描画プリミティブに関係なく同じ色で描画する
部分を抽出して中間データを生成するように構成しても
よい。また、上述の例では、エッジリストを一旦生成
し、そのエッジリストをもとに中間データを生成した
が、各描画部において直接中間データを生成するように
構成してもよい。
【0056】以下、具体例を用いて描画コマンドを受け
取ってから中間データを生成するまでの処理について詳
細に説明する。図8は、描画する図形の具体例の説明
図、図9は、図8に示す図形を描画するための描画コマ
ンドの一例の説明図である。ここでは、図8に示す図形
を描画する場合の処理について具体的に説明する。
【0057】図8に示す図形を描画するため、図9に示
すようなアウトラインを作成する描画コマンドが入力制
御部1へ送られてきたものとする。図9に示す描画コマ
ンドにおいて、「(1.1,3.9)moveto」は
現在位置の移動コマンドであり、直線1の始点を(1.
1,3,9)とする命令である。次の「(1.1,1.
1)lineto」は、現在位置から指定された位置ま
での直線を描画するコマンドである。ここでは(1.
1,3.9)から(1.1,1.1)までの直線が描画
される。また、ここで指定された点が新たな現在位置と
なり、次の直線2の始点となる。同様に、「(7.9,
1.1)lineto」は、現在位置である(1.1,
1.1)から(7.9,1.1)までの直線を描画する
命令であり、この(7.9,1.1)が直線2の終点で
あって直線3の始点となる。以下同様にして、「(1.
9,3.9)lineto」により直線11までが描画
される。さらに、「close」によって、直線12の
始点である(1.9,3.9)から、直線1の始点であ
る(1.1,3.9)までの直線が描画され、閉じた図
形となる。ここで、「50fill」によって、この閉
じた図形が色50によって塗りつぶされる。このように
して、図8に示す図形が描画される。図8では、太線に
よって図9に示した描画コマンドによって描かれる直線
を示し、脇に直線の番号を付記している。
【0058】入力制御部1では、図9に示すような描画
コマンドを解釈して、ベクタ描画部3に対してベクタ作
成コマンドを直線1から直線12まで発行する。すなわ
ち図8における太線に相当するベクタを作成してベクタ
描画部3に渡す。ベクタ描画部3では、ベクタ作成コマ
ンドを受けて内部にベクタデータとして保持する。
【0059】次に入力制御部1は、色50で塗りつぶす
コマンドをベクタ描画部2−3に対して発行する。ベク
タ描画部3では、まず中間データ生成部5へ色50で初
期化するコマンドを送る。これを受け取った中間データ
生成部5は、各バンドに対する図6に示すような中間デ
ータの中間データセルの個数のフィールドを0にし、続
く中間データセルの部分を無効にし、色の値50を保持
する。
【0060】まずベクタ描画部3は、ディスプレイリス
トを作成する。図10は、ディスプレイリストの一例の
説明図である。ディスプレイリストは、各スキャンライ
ンと交わるベクタデータのリストである。水平線(始
点、終点のy座標が同じ)は、ディスプレイリストに追
加されない。また複数のスキャンラインと交わるベクタ
は、ベクタデータの始点、終点のうちy座標の小さい方
に対応するスキャンラインのディスプレイリストに追加
される。この場合対応するスキャンラインの番号は整数
値なので、ベクタデータのy座標の小さい方に0.5を
足して整数部分を取った値にしている。
【0061】 scan=int(min(y)+0.5)) 図8では破線でスキャンラインを示している。図8に示
した例の場合は、スキャンライン1において、直線1と
直線3が交わる。そのため、スキャンライン1に直線1
と直線3がつなげられる。また、スキャンライン2では
直線1,3,5,7,9,11が交わる。このうち直線
1,3はスキャンライン1のディスプレイリストにつな
げられているので、スキャンライン2には直線5,7,
9,11がつなげられる。このようにして、図10に示
すようなディスプレイリストが作成される。
【0062】ディスプレイリスト中の各ラインのセルに
含まれる情報は、そのセルのつながれている最初のスキ
ャンライン(座標値は、0.5のオフセットで考える。
例えば、スキャンライン0のy座標は0.5、スキャン
ライン1のy座標は1.5とする。)とその直線が交わ
るx座標(SX)、1スキャンライン上がるときのx座
標の移動量(DX)、この直線が何本のスキャンライン
と交わるか(DY)の情報が格納されている。例えば、
ライン1のセルには、SX=1.1、DX=0.0、D
Y=3が格納されている。また、ライン3のセルには、
SX=7.9、DX=0.0、DY=4が格納されてい
る。
【0063】次に、ベクタ描画部3では、図10に示し
たようなディスプレイリストをスキャン走査することに
よって、各スキャンラインにおける描画オブジェクトに
対応するエッジリストを順番に作成してゆく。この手順
は、各スキャンラインごとにアクティブリスト→塗り潰
しリスト→エッジリストの順に変換を行なう。以下、こ
の手順にそって説明する。
【0064】スキャンライン0は、対応するディスプレ
イリストがなく、アクティブリストも作成されないの
で、何もしない。図11は、スキャンライン1処理時の
アクティブリストの一例の説明図である。スキャンライ
ン1では、ディスプレイリストにライン1とライン3が
ある。これをアクティブリストに追加する。この状態を
図11に示している。アクティブリストは、現在のスキ
ャンラインで有効なラインのセルのリストでありデータ
構造はディスプレイリストのラインのセルと同じであ
る。ただし、セル内のデータは、スキャンラインを処理
する度に更新されて行く。
【0065】次に塗り潰しリストを作成する。図12
は、スキャンライン1処理時の塗り潰しリストの一例の
説明図である。塗り潰しリストは、アクティブリストか
らスキャンラインに交わるx座標値を取り出して、x座
標値でソートするものである。例えば、スキャンライン
1では図11に示すアクティブリストを参照し、スキャ
ンライン1が直線1と交わる点のx座標1.1と、直線
3と交わる点のx座標7.9が取り出され、図12に示
すような塗り潰しリストが作成される。
【0066】ベクタ描画部3では、塗り潰しリストに基
づいてエッジリストを作成する。図13は、スキャンラ
イン1のエッジリストの一例の説明図である。描画され
る領域は、例えば昇順に並べ替えられた塗り潰しリスト
のX座標の小さい方から大きい方へ順に見てゆくとき、
奇数番目と偶数番目の間が描画される領域である。ここ
では、X座標の整数部分を使用する。図12に示す塗り
潰しリストから、1番目のセルの座標「1」から、2番
目のセルの座標「7」までが塗りつぶされる領域である
ので、図13に示すように、スタート座標が1、エンド
座標が7のエッジリストが生成される。このとき、ラン
レングスのデータを作成し、スタート座標とランレング
スによりエッジリストを構成してもよい。この図12に
示すようなエッジリストとスキャンライン番号を、中間
データ生成部5へ渡す。
【0067】中間データ生成部5では、スキャンライン
番号を見てどのバンドに含まれるかを判断する。そし
て、このバンドの中間データの中間データセルの個数を
示す変数NUMの値を参照するが、もしこの変数NUM
が0であれば、中間データバッファ6の対応するバンド
のカレントポイントの位置に個数データを書き込むため
に必要な領域分確保し、カレントポイントをインクリメ
ントする。また、中間データセルの個数をカウントする
ため、インクリメントする前のカレントポイントを別に
記憶しておく。そして、保持しておいた色の値50をカ
レントポイントに書き込み、カレントポイントを次に進
める。
【0068】次に、与えられたエッジリストをもとに、
中間データセルを書き込んで行く。最初に、中間データ
セルの個数を示す変数NUMが0の場合には、直ちに絶
対座標のフォーマット(図4(D)に示すフォーマッ
ト)が選択される。そしてこのフォーマットに従って中
間データセルを生成し、カレントポイントにその中間デ
ータセルを書き込む。さらに、カレントポイントを次の
中間データセルの書き込み位置に更新し、中間データセ
ルの個数を示す変数NUMの値をインクリメントする。
【0069】中間データセルの生成時に用いるY方向の
絶対座標は、各バンドのオフセットを用いることとし、
(スキャンライン番号%バンド幅)を使用することがで
きる。そして、このバンドの座標値アドレス、すなわち
図5で説明したラン(A)の終端座標(BX,BY)と
して、BX=ex,BY=(スキャンライン番号%バン
ド幅)を登録する。
【0070】バンドの中間データセルの個数を示す変数
NUMが0でなければ、エッジリストに対する中間デー
タセルの座標値として、DX=sx−BX,DY=(ス
キャンライン番号%バンド幅)−BYが計算され、図4
に示した(A)〜(D)のうち、最も小さく表わせるフ
ォーマットが選択され、選択されたフォーマットに従っ
て中間データセルに変換されて書き込まれる。もちろ
ん、対応するデータ長の分だけ、カレントポイントが更
新される。また、変数NUMもインクリメントされる。
【0071】図14は、スキャンライン1処理時の中間
データバッファの一例を示す説明図である。図13に示
したようなスキャンライン1のエッジリストを受け取る
と、これがバンドの最初のエッジリストであれば、中間
データセルの個数の領域を確保し、色の値50を書き込
む。そして、図4(D)に示す絶対座標のフォーマット
を用いて、始点sx=1と、スキャンライン番号1と、
始点から終点までのランレングス7とにより中間データ
セルを作成する。図14では、このフォーマットのフォ
ーマット番号Tを3としている。作成された中間データ
セルを中間データバッファ6に書き込む。この状態を図
14に示している。
【0072】次に、スキャンライン2の処理に入る。ま
ずアクティブリストを更新する。図15は、スキャンラ
イン2処理時のアクティブリストの一例の説明図であ
る。最初に、スキャンライン1の処理時にアクティブリ
ストにつながっている各ラインのセル内のデータの更新
が行なわれる。すなわち、ライン1、ライン3につい
て、SX=SX+DX,DY=DY−1が計算される。
このとき、DYが0となったセルがあれば、アクティブ
リストからはずされる。さらに、ディスプレイリストの
スキャンライン2に対応するデータをアクティブリスト
に追加する。この例では、図10に示したディスプレイ
リストから、ライン5、ライン7、ライン9、ライン1
1のセルがアクティブリストに追加される。これによ
り、アクティブリストは図15に示すようになる。
【0073】図16は、スキャンライン2のエッジリス
トの一例の説明図である。図15に示したアクティブリ
ストをもとに、スキャンライン1と同じように塗り潰し
リストを作成してソートし、エッジリストを作成する。
ライン1からSX=1.1、ライン11からSX=1.
9が取り出されて最初の塗り潰しリストsx=1,ex
=1が作成される。また、ライン9からSX=5.1,
ライン7からSX=5.9が取り出されて塗り潰しリス
トsx=5,ex=5が、ライン5からSX=7.1,
ライン3からSX=7.9が取り出されて塗り潰しリス
トsx=7,ex=7がそれぞれ作成され、図16に示
すようなエッジリストとなる。
【0074】図17は、スキャンライン2処理時の中間
データバッファの一例を示す説明図である。上述のよう
にして作成された図16に示すようなエッジリストが、
スキャンライン番号2とともに中間データ生成部5に渡
される。今回はバンド0の中間データセルの個数を示す
変数NUMの値が1になっているので、直ちに中間デー
タセルの処理に入る。
【0075】まず、DX=sx−BX,DY=(スキャ
ンライン番号%バンド幅)−BY,RL=ex−sx+
1という計算で各値を求める。スキャンライン2の処理
開始時には、BX=7,BY=1が保持されている。図
16に示す1つめのエッジリストに従い、DX=1−7
=−5,DY=2−1=1,RL=1と計算される。こ
の計算結果から、図4(B)に示すフォーマットが選択
され、中間データセルが作成されて、カレントポイント
の位置に書き込まれる。カレントポインタは2バイト分
だけ更新される。また、変数NUMがインクリメントさ
れて2となり、また、BX=1,BY=2に変更され
る。
【0076】2つめのエッジリストでは、DX=3,D
Y=0,RL=1になり、図4(A)に示すフォーマッ
トが選択され、中間データセルが生成されてカレントポ
イントの位置に書き込まれる。カレントポインタは1バ
イト分だけ更新される。また、変数NUM=3,BX=
4,BY=2に変更される。同様に、3つめのエッジリ
ストでは、DX=3,DY=0,RL=1になり、図4
(A)に示すフォーマットが選択され、中間データセル
が生成されてカレントポイントの位置に書き込まれる。
カレントポインタは1バイト分だけ更新される。また、
変数NUM=3,BX=7,BY=2に変更される。
【0077】このようにしてスキャンライン2において
3つの中間データセルが中間データバッファに書き込ま
れ、スキャンライン2の処理が終了する。このときの中
間データバッファ6のバンド0の内容は、図17に示す
ようになる。
【0078】図18は、全スキャンライン処理終了後の
中間データバッファの一例を示す説明図である。同様に
してスキャンライン3,4,5と処理してゆく。スキャ
ンライン3においても、スキャンライン2と同様に3つ
の中間データセルが中間データバッファに書き込まれ
る。スキャンライン4では、アクティブリストからライ
ン1およびライン11が削除され、ライン3,5,7,
9について、塗り潰しリスト、エッジリストが作成され
て、2つの中間データセルが生成される。さらに、スキ
ャンライン5では、アクティブリストからライン3,5
が削除され、ライン7,9についての塗り潰しリスト、
エッジリストが作成され、1つの中間データセルが生成
される。これらの生成された中間データセルが中間デー
タバッファに書き込まれる。図18では、各中間データ
セルには、使用したフォーマットに従い、図4(A)〜
(D)に対応づけて、T:0〜3で示している。
【0079】また、スキャンライン5を処理を終えスキ
ャンライン6の処理に入ると、アクティブリストは空に
なり、追加するディスプレイリストがなくなる。このと
き、ベクタ描画部3は中間データ生成部5に対して終了
コマンドを送る。すると中間データ生成部5は変数NU
Mが0でないバンドに対して、中間データ中に確保して
いた中間データセルの個数の領域に変数NUMの値と、
一定色のイメージかラスタイメージかを示すフラグを書
き込む。図18では、中間データセルの個数として10
を格納し、フラグとして「Graphic」を格納して
いる。これで1つの描画オブジェクトに対する処理が終
了する。最終状態の中間データバッファ6のバンド0を
図18に示す。
【0080】このようにこの具体例では、描画処理はス
キャンライン単位に処理されるため、前に処理されたデ
ータとの相対距離は自然と小さい値で表わせる確率が高
くなる。その特徴を生かし、中間データセルのフォーマ
ットは、図4に示すように8,16,32,48ビット
の可変長のフォーマットにしている。これによって、描
画処理時に作成される中間データは、自然と小さいデー
タ長で表わされることになる。
【0081】また、ベクタデータでは同じ色で塗りつぶ
されることが多いという特徴があるため、色データも描
画オブジェクトごとに1つ挿入するだけで済むため、こ
の点でもデータの削減が行なわれる。このような中間デ
ータのフォーマットにするだけで、この具体例の場合で
も図18に示すように27バイトで済む。従来のエッジ
リストをそのまま保持する場合では、16バイト(エッ
ジリストセル)×10=160バイト、もしビットマッ
プであれば最も小さいバウンディングボックスだけ持っ
ているとしても5(タテ)×7(ヨコ)×4(色)=1
40バイトも必要となる。また、このフォーマットは、
簡単なビット演算と足し算でランレングスが再現できる
ため、計算にかかる時間は少なく、データ量を削減した
分だけメモリアクセス時間が削減できる。CPUの演算
時間はメモリのアクセス時間よりもはるかに高速にでき
るので、このメモリアクセス時間の削減によって、通
常、エッジリストのようなデータからランレングスを再
現するよりも高速にランレングスを再現することができ
る。
【0082】図19は、本発明の描画装置の第2の実施
の形態を示すブロック図である。図中、図1と同様の部
分には同じ符号を付して説明を省略する。11は2値化
メモリである。この第2の実施の形態では、ハーフトー
ン処理を行なう例を示している。展開出力制御部7で
は、中間データバッファ6に格納されている中間データ
を読み出し、ビットマップデータに展開してバンドバッ
ファ8または9に書き込む。このとき、ベクタデータや
文字データのように単色で塗りつぶしを行なうような描
画プリミティブの場合には、2値化メモリ11を利用し
ながらハーフトーン処理を施したビットマップデータを
生成する。2値化メモリ11には、色の値に応じたハー
フトーンマトリックスから生成される2値データが格納
されている。
【0083】図20は、ハーフトーンマトリックスの一
例の説明図、図21は、2値化メモリに格納される2値
データの説明図である。ハーフトーンマトリックスは、
それぞれのドットについて色の値の閾値を格納したもの
である。例えば、図20に示した4×4のハーフトーン
マトリックスにおいて左上のドットでは、色の値が72
以上であればドットを形成し、それ以下であればドット
を形成しないことを示している。なお、図20では、色
の値は0〜255の値を取るものとしている。このよう
な閾値によって2値化を行ない、ドットを形成する場合
を1、ドットを形成しない場合を0とする。ハーフトー
ンマトリックスの各ドットにおける閾値を異ならせるこ
とによって、色の値に応じてドットの多少を異ならせる
ことができ、これによってハーフトーンを表現すること
ができる。例えば、色の値が50であれば、50以下の
閾値を有する中心部の3ドットのみが形成されることに
なる。すなわち、図21(A)に示すような2値パター
ンとなる。同様に、色の値が150、200、250の
場合の2値パターンは、それぞれ図21(B),
(C),(D)に示すようになる。
【0084】図21では、4×4のパターンを2つ連続
させて示している。これにより、横方向のドット数を8
としている。各ドットを1bitで示せば、横方向の8
ドットを1Byteで表現できることになり、例えば、
図21に示した各2値パターンはそれぞれ4Byteで
表現できる。このようにバイト長やCPUのワード長に
合わせて2値データを作成しておくことにより、ハーフ
トーン処理を高速化することが可能である。
【0085】なお、図21には代表例として4つの色の
値について2値データを示したが、実際には、このよう
な2値パターンのデータを、色の値0,1,2,・・
・,255までに対応づけて2値化メモリ11に記憶さ
せておくことができる。
【0086】図22は、本発明の描画装置の第2の実施
の形態におけるハーフトーン処理の一例を示すフローチ
ャートである。ここで、x,yは描画開始点の絶対座
標、runはランレングス、colorは色、sw,s
bは描画開始点のワード位置とワード内のビット位置、
ew,ebは描画終了点のワード位置とワード内のビッ
ト位置、CWは1ワード内のビット数を示す。また、b
bはバンドバッファであり、位置(i,j)のドット位
置をbb[i][j]で示す。bpは2値メモリ11中
の2値データの1行分(1Byte分)を保持する変数
である。msk[s][e]は、1ワード内のs番目の
ビットからe番目のビットまでのデータを取り出し、他
のビットをマスクするためのデータである。なお、1ワ
ードが8bitの場合、0≦s≦e≦7である。例え
ば、msk[2][6]は「00111110」という
データである。
【0087】まずS21において、ビットマップデータ
に展開すべき中間データが終了したか否かを判定する。
中間データが終了している場合は、処理中のバンドの2
値化処理を終了し、最初のバンドの場合には出力装置1
0を起動し、次のバンドの処理に移る。
【0088】S22において、中間データを読み出し、
そのうちの中間データセルを1つ取り出す。そして、中
間データセルが図4(D)のフォーマットであればその
まま絶対座標x,yを取り出し、他のフォーマットであ
れば相対座標DX,DYから絶対座標x,yを計算す
る。また、中間データに格納されている色の情報をco
lorとして取り出す。
【0089】S23において、2値メモリ11から2値
データを取り出す。このとき、まずcolorの値によ
って図21に示すような2値パターンのいずれを用いる
かを決定し、さらに絶対座標yの値によって、決定した
2値パターンの何行目を用いるかを決定する。例えば、
図21に示すように4行で1組の2値パターンでは、絶
対座標yの4の剰余を取ることによって、2値パターン
のどの行を用いるかを決定できる。用いる2値パターン
のうちの1行分のデータは変数bpに格納される。
【0090】S24において、描画開始点のワード位置
swとワード内のビット位置sb、および、描画終了点
のワード位置ewとワード内のビット位置ebを求め
る。すなわち、“%”を除算の剰余をとる演算子とすれ
ば、 sb=x%CW eb=(run+x)%CW sw=x/CW ew=(run+x)/CW によって計算できる。
【0091】S25において、描画開始点のワード位置
swと描画終了点のワード位置ewを比較する。sw=
ewの場合には、同じワード内に描画開始点と終了点が
存在するので、S26において、変数bpに格納されて
いる1Byteの2値パターンのうち、描画開始点のビ
ット位置sbから描画終了点のビット位置ebまでのビ
ットパターンを取り出し、そのビットパターンをそのま
まバンドバッファに書き込む。バンドバッファへの書き
込みは、それまでにバンドバッファに書き込まれている
データとの論理和を取ることによって行なわれる。書き
込むバンドバッファの位置は、絶対座標yと描画開始点
のワード位置swによって特定される。
【0092】描画開始点のワード位置swが描画終了点
のワード位置ewより小さい、すなわち描画開始点と描
画終了点が別のワードに属している場合には、S27へ
進む。S27では、まず描画開始点のビット位置sbか
らそのワードの終わりまでに、2値パターンを書き込
む。また、S29において、描画終了点を含むワードの
最初から描画終了点のビット位置ebまでに2値パター
ンを書き込む。S28では、描画開始点を含むワードと
描画終了点を含むワードの間に存在するワードに、2値
パターンを書き込む。2値パターンbpのバンドバッフ
ァbbへの書き込みはS26とほぼ同様である。S27
では2値パターンbpのうち、ビット位置sbからワー
ドの終わりであるCW−1までをマスクして、バンドバ
ッファbb[y][sw]との論理和を計算する。また
S28では、2値パターンbpとバンドバッファbb
[y][sw+i]との論理和を計算する。ここでi=
sw+1〜ew−1である。さらにS29では、2値パ
ターンbpのうち、ワードのはじめからビット位置eb
までをマスクし、バンドバッファbb[y][ew]と
の論理和を計算する。そして、S21へ戻って次の中間
データセルについての処理を行なう。
【0093】このように、本発明のハーフトーン処理で
は、2値メモリ11に格納されている2値データのうち
の必要な部分をそのままバンドバッファに書き込むこと
によって行なわれる。そのため、ビットマップデータへ
の展開とハーフトーン処理を同時に行なうことができ、
非常に高速な展開およびハーフトーン処理が可能であ
る。また、2値データのデータ長をCPUの取り扱いや
すい単位とすることによって、処理速度をさらに向上さ
せることができる。
【0094】なお、2値データを書き込むバンドバッフ
ァは、バンドバッファ8とバンドバッファ9を交互に用
いる。そして、一方のバンドバッファに書き込み後、他
方のバンドバッファについて出力装置10による読み出
しが終了すると、その他方のバンドバッファへの書き込
みを開始する。また、出力装置10は、展開出力部9か
ら起動されると、一方のバンドバッファから読み出しを
開始し、他方のバンドバッファと交互に切り替えなが
ら、ビットマップデータを読み込み、印刷プロセスを行
なう。
【0095】図23は、ハーフトーン処理の一例を説明
するための具体的な描画画像の一例の説明図である。図
23に示した画像を描画する場合を例に、上述の動作の
一例を説明する。図23には、色の値が50で描かれた
矩形と、色の値が150で描かれた三角形と、色の値が
250で描かれた線分(細い矩形)が存在する。中間デ
ータバッファ6には、これらの図形を描画するための中
間データが格納されている。この中間データをもとに、
ハーフトーン処理を行ないながらビットマップ展開を行
なう過程を、スキャンライン550(絶対座標y=55
0)に注目して説明する。なお、2値化メモリ11に
は、少なくとも上述の図21に示した2値化データが格
納されているものとする。この場合の2値化データの行
数は4である。また、1ワードは8bitとし、色の値
は0〜255までをとるものとする。さらに、バンドバ
ッファには、既に処理されたスキャンライン549まで
のデータが記憶され、これから処理が行なわれるスキャ
ンライン550以降は0でクリアされた状態になってい
るものとする。
【0096】まず、S22において中間データを読み出
し、そのうちの中間データセルを1つ取り出す。この例
では、中間データには色の値として50が格納されてい
る。また、中間データセルは多数並んでいるが、その中
からスキャンライン550に対応するものが取り出され
るものとする。この中間データセルから、ランレングス
243と、相対座標DY=1、DX=−242が取り出
される。これらの値から、絶対座標x=10、y=55
0が計算される。
【0097】次に、S23において、2値化データを取
り出す。このスキャンライン550のハーフトーンマト
リクスに対する高さ方向(y座標)のオフセットは、 yoffset=(スキャンライン)Mod(ハーフト
ーンマトリクスの高さ)=550%4=2 として求められる。また、色の値は50であるので、図
21(A)に示す2値かデータのうちの3行目のパター
ン「01100110」が変数bpに取り出される。
【0098】S24において、描画開始点、終了点のワ
ード座標sw,ew、ビット座標sb,ebを計算す
る。描画開始点のx座標(スタート座標)は10、ラン
レングスは243であるから、 sw=スタート座標/ワード長(bpの幅)=10/8
=1 sb=スタート座標%ワード長(bpの幅)=10%8
=2 ew=(スタート座標+ランレングス−1)/ワード長
(bpの幅)=252/8=31 eb=(スタート座標+ランレングス−1)%ワード長
(bpの幅)=252%8=4 と計算される。
【0099】S25においてswとewを比較すると、
ew>swであるので、この場合はS27〜S29で2
値かデータの書き込み処理を行なう。書き込み処理にあ
たっては、以前に書き込み処理がなされた部分を消去し
ないように、新たな2値化データとの論理和によって書
き込みを行なう。例えば、ワード1においては、例え
ば、この処理の前にsx=1、ex=9のような領域に
描画を行なっている場合に0〜1bitに2値化データ
が書き込まれている可能性がある。この状態でワード1
に書き込みを行なうとき、先に書き込まれている2値化
データを消去しないように、論理和を取ってから書き戻
す。なお、この具体例では、同じワードに重複して書き
込むことはない。
【0100】S27では、ワードsw(=1)に対する
書き込み処理を行なう。まず2値化データbpとmsk
[2][7](=00111111)の論理積を取る。
これにより、2値化データbpのうち、2〜7bitが
有効となる。この場合には、「00100110」が得
られる。このデータとbb[550][1]のデータと
の論理和を取って、bb[550][1]に書き込む。
【0101】次にS28において、ワード2からワード
30まで(bb[550][2]〜bb[550][3
0])は、単純にbpとの論理和をとって書き戻す。
【0102】S29において、最後のワード31は、2
値化データbpとmsk[0][4](=111110
00)との論理積を計算し、「01100000」を得
る。このデータと、bb[550][31]のデータと
の論理和を計算して、bb[550][31]に書き戻
す。このようにして、色の値が50の矩形のスキャンラ
イン550における処理が終了する。その後、次の中間
データセルについての処理が行なわれる。
【0103】次に、色の値が150の三角形におけるス
キャンライン550についての処理を説明する。この場
合、S22において中間データより色の値150を得
る。また、中間データセルから相対座標とランレングス
を得る。相対座標から得られる絶対座標は、この場合に
はy=550、x=323であるものとする。また、ラ
ンレングスrunは13である。
【0104】S23において、図21(B)に示す色の
値が150の時の2値化データから、3行目のパターン
「01100110」を取り出して、変数bpに格納す
る。また、S24における描画開始点、終了点のワード
位置、ビット位置は、sw=40、sb=3,ew=4
1、eb=7となる。ここで、ew>swであるので、
この場合はワード40が最初の処理、ワード41が最後
の処理になり、中間の処理はなくなる。従ってS27に
おいて、bpとmsk[3][7](=0001111
1)との論理積を取り、「00000110」を得て、
これとbb[550][40]との論理和を取った後、
書き戻す。S28では何もせず、S29において、bp
とmsk[0][7](=11111111)との論理
積を取り、これとbb[550][41]との論理和を
取って書き戻す。
【0105】次に、色の値が250の縦線(細い矩形)
におけるスキャンライン550についての処理を説明す
る。この場合、S22において中間データより色の値2
50を得る。また、中間データセルから得られた相対座
標から、絶対座標y=550、x=509を得る。ま
た、ランレングスrunは2である。この場合に2値化
メモリ11から取り出される2値化データは、図21
(D)に示すパターンの3行目のデータ「111111
10」である。また、描画開始点、終了点のワード位
置、ビット位置は、sw=63,sb=5,ew=6
3,eb=6になる。ここで、swとewが等しいので
1ワードに最初と最後が含まれる。この場合、S26に
おいて、bpとmsk[5][6](=0000011
0)の論理積を計算して「00000110」を得て、
それとbb[550][63]との論理和を計算して、
bb[550][63]に書き込む。
【0106】なお、書き込みの行なわれていないワード
には、初期設定において0が書き込まれているので、改
めて書き込みを行なう必要はない。
【0107】この第2の実施の形態のように2値化メモ
リ11を用いる構成では、当然、2値化メモリの分だけ
余計にメモリ量を必要とする。しかし、2値化メモリ1
1のメモリ量は、8×8のハーフトーンマトリックス
で、CPUのワード長が32bitであり、4色の異な
るマトリックスとしても32x8x256x4bit/
8bit=32KByteで済む。このメモリ量はフレ
ームバッファの容量からすれば1000分の1程度であ
るので、メモリ容量の増大が問題になることはない。む
しろ、ハーフトーン処理および展開処理の高速化を、少
しのメモリ量の増加だけで実現でき、装置全体としての
効果は大きい。
【0108】この第2の実施の形態において、上述の説
明では、中間データバッファには一例として第1の実施
の形態で説明した中間データが格納されるものとした。
このような構成によれば、中間データのデータ量を大幅
に削減できるので、2値化メモリで多少のメモリ量を消
費したとしてもそれを上回るメモリ量の削減を行なうこ
とができ、しかも高速なハーフトーン処理を実現するこ
とができる。
【0109】しかしこの第2の実施の形態におけるハー
フトーン処理および展開処理は、このような中間データ
に限らず適用することができ、例えば、上述した特開平
5−224637号公報に記載されているようなエッジ
リストを中間データとして用いる場合においても、同様
の効果を得ることができる。例えば、エッジリストでは
スキャンラインごとにそのエッジの座標が渡されるの
で、図23に示した例ではスキャンライン550におい
て3つの図形の当該ラインの描画開始点および終了点の
座標が得られる。これらを順次処理することによって、
2値化データを用いたハーフトーン処理および展開処理
が実現できる。
【0110】
【発明の効果】以上の説明から明らかなように、本発明
によれば、2つのランの座標の差分を用いて中間データ
を作成しているので、中間データのデータ量を削減する
ことができ、中間データを格納するために要するメモリ
量を減らすことができる。特にPDLのようにフォント
やグラフィック描画が中心の画像に対しては、解像度が
高くなればなるほど大幅にメモリ容量を削減できる。ま
た、メモリアクセス時間が少なくなるため、従来に比べ
て高速にビットマット化を行なうことが可能となり、高
速な描画処理を実現することができる。
【0111】また、各色の値ごとに展開した2値化デー
タを予め用意しておき、中間データからこの2値化デー
タを特定してそのままビットマップデータとして用いる
ことにより、2値のデバイスに出力するためのハーフト
ーン処理を高速に行なうことができる。
【0112】さらに、このような中間データの採用と、
2値化データを用いたハーフトーン処理の採用によっ
て、大幅にメモリ容量を削減し、しかも抜けのない画像
の出力を可能とし、高速な描画処理を行なうことができ
るという効果がある。
【図面の簡単な説明】
【図1】 本発明の描画装置の第1の実施の形態を示す
ブロック図である。
【図2】 ラスタ描画部において生成されるエッジリス
トの一例の説明図である。
【図3】 ベクタ描画部において生成されるエッジリス
トの一例の説明図である。
【図4】 中間データ生成部において中間データセルを
生成する際に用いられる中間データフォーマットの一例
の説明図、図5は、中間データ生成部における中間デー
タセルの生成の一例の説明図である。
【図5】 中間データ生成部における中間データセルの
生成の一例の説明図である。
【図6】 中間データの形式の一例の説明図である。
【図7】 中間データの具体例の説明図である。
【図8】 描画する図形の具体例の説明図である。
【図9】 図8に示す図形を描画するための描画コマン
ドの一例の説明図である。
【図10】 ディスプレイリストの一例の説明図であ
る。
【図11】 スキャンライン1処理時のアクティブリス
トの一例の説明図である。
【図12】 スキャンライン1処理時の塗り潰しリスト
の一例の説明図である。
【図13】 スキャンライン1のエッジリストの一例の
説明図である。
【図14】 スキャンライン1処理時の中間データバッ
ファの一例を示す説明図である。
【図15】 スキャンライン2処理時のアクティブリス
トの一例の説明図である。
【図16】 スキャンライン2のエッジリストの一例の
説明図である。
【図17】 スキャンライン2処理時の中間データバッ
ファの一例を示す説明図である。
【図18】 全スキャンライン処理終了後の中間データ
バッファの一例を示す説明図である。
【図19】 本発明の描画装置の第2の実施の形態を示
すブロック図である。
【図20】 ハーフトーンマトリックスの一例の説明図
である。
【図21】 2値化メモリに格納される2値データの説
明図である。
【図22】 本発明の描画装置の第2の実施の形態にお
けるハーフトーン処理の一例を示すフローチャートであ
る。
【図23】 ハーフトーン処理の一例を説明するための
具体的な描画画像の一例の説明図である。
【符号の説明】
1…入力制御部、2…ラスタ描画部、3…ベクタ描画
部、4…文字描画部、5…中間データ生成部、6…中間
データバッファ、7…展開出力制御部、8,9…バンド
バッファ、10…出力装置、11…2値化メモリ。
フロントページの続き (56)参考文献 特開 平5−224637(JP,A) 特開 平5−250489(JP,A) 特開 平5−67216(JP,A) 特開 平3−225575(JP,A) 特開 平3−171379(JP,A) 特開 平5−290180(JP,A) 特開 平7−231391(JP,A) 特開 平4−88583(JP,A) 特開 平4−170686(JP,A) 特開 昭63−219087(JP,A) 特開 平1−166181(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/00 H04N 1/41

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 描画プリミティブを表わす描画コマンド
    を受け取り、該描画コマンドに従ったビットマップデー
    タを生成して出力する描画装置において、前記描画コマ
    ンドの色情報と該描画コマンドに対応する描画プリミテ
    ィブの存在する走査線ごとのランおよびその端部座標を
    抽出する描画処理手段と、中間データを記憶する中間デ
    ータ記憶手段と、前記描画処理手段により抽出された連
    続する2つのランの端部座標の差分を計算し計算結果に
    基づいてデータ長の異なる複数種類の中間データフォー
    マットの1つを選択し選択した中間データフォーマット
    と前記端部座標の差分と前記描画処理手段で抽出された
    前記ランに基づいて中間データセルを生成し前記描画コ
    マンドごとに生成した複数の中間データセルを前記描画
    処理手段で抽出した前記色情報とともに中間データとし
    て前記中間データ記憶手段に記憶させる中間データ生成
    手段と、前記中間データ記憶手段に記憶されている前記
    中間データをもとに前記ビットマップデータに展開する
    展開手段を有することを特徴とする描画装置。
  2. 【請求項2】 前記中間データ生成手段は、選択したフ
    ォーマットのデータ長に基づいて前記中間データ記憶手
    段に対して中間データセルを書き込むアドレスを決定
    し、前記展開手段は、中間データセルのフォーマットの
    データ長に基づいて前記中間データ記憶手段からの中間
    データセルの読み出し開始のアドレスおよび読み出し範
    囲を決定することを特徴とする請求項1に記載の描画装
    置。
  3. 【請求項3】 描画プリミティブを表わす描画コマンド
    を受け取り、該描画コマンドに従ったビットマップデー
    タを生成して出力する描画装置において、前記描画コマ
    ンドの色情報と該描画コマンドに対応する描画プリミテ
    ィブの存在する走査線ごとのランおよびその端部座標を
    抽出する描画処理手段と、中間データを記憶する中間デ
    ータ記憶手段と、複数の走査線を単位とするバンドごと
    に前記ビットマップデータの領域を管理し前記描画処理
    手段により抽出された連続する2つのランの端部座標の
    差分を計算し計算結果に基づいてデータ長の異なる複数
    種類の中間データフォーマットの1つを選択し選択した
    中間データフォーマットと前記端部座標の差分と前記描
    画処理手段で抽出された前記ランに基づいて中間データ
    セルを生成し連続する2つのランの存在する前記バンド
    が異なるごとに前記描画処理手段で抽出した前記色情報
    とともに生成した複数の中間データセルを中間データと
    して前記中間データ記憶手段に記憶させる中間データ生
    成手段と、前記中間データ記憶手段に記憶されている前
    記中間データをもとに前記バンドごとに前記ビットマッ
    プデータに展開する展開手段を有することを特徴とする
    描画装置。
  4. 【請求項4】 描画プリミティブを表わす描画コマンド
    を受け取り、該描画コマンドに従ったビットマップデー
    タを生成して出力する描画装置において、前記描画コマ
    ンドの色情報と該描画コマンドに対応する描画プリミテ
    ィブの存在する走査線ごとのランおよびその端部座標を
    抽出する描画処理手段と、中間データを記憶する中間デ
    ータ記憶手段と、前記描画処理手段により抽出された連
    続する2つのランの端部座標の差分を計算し計算結果に
    基づいてデータ長の異なる複数種類の中間データフォー
    マットの1つを選択し選択した中間データフォーマット
    と前記端部座標の差分と前記描画処理手段で抽出された
    前記ランおよび前記色情報に基づいて中間データを生成
    して前記中間データ記憶手段に記憶させる中間データ生
    成手段と、前記色情報の値に対応づけられた中間調を表
    わす所定の大きさの2値データのマトリクスである中間
    調マトリクスを記憶する中間調マトリクス記憶手段と、
    前記中間データ記憶手段に記憶される中間データをビッ
    トマップデータに展開する際に該中間データに含まれる
    色情報の値に基づいて前記中間調マトリクス記憶手段に
    記憶されている中間調マトリクスの中の1つを選択し該
    中間データに含まれる前記ランの長さおよび端部座標に
    基づいて選択された中間調マトリクスの一部の2値デー
    タでビットマップデータへの展開を行なう展開手段を有
    することを特徴とする描画装置。
  5. 【請求項5】 前記中間調マトリクス記憶手段に記憶さ
    れた中間調マトリクスは、画像の走査線方向にCPUの
    ワード長の長さを持つことを特徴とする請求項4に記載
    の描画装置。
JP07331632A 1995-12-20 1995-12-20 描画装置 Expired - Fee Related JP3085175B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07331632A JP3085175B2 (ja) 1995-12-20 1995-12-20 描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07331632A JP3085175B2 (ja) 1995-12-20 1995-12-20 描画装置

Publications (2)

Publication Number Publication Date
JPH09171564A JPH09171564A (ja) 1997-06-30
JP3085175B2 true JP3085175B2 (ja) 2000-09-04

Family

ID=18245834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07331632A Expired - Fee Related JP3085175B2 (ja) 1995-12-20 1995-12-20 描画装置

Country Status (1)

Country Link
JP (1) JP3085175B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07276054A (ja) * 1994-03-31 1995-10-24 Press Kogyo Kk 溶接トーチ清掃装置の制御装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3362674B2 (ja) 1998-08-26 2003-01-07 富士ゼロックス株式会社 画像処理装置および画像処理方法
JP3829908B2 (ja) * 1999-10-26 2006-10-04 富士ゼロックス株式会社 画像処理装置
JP4085204B2 (ja) * 2003-09-05 2008-05-14 株式会社オーク製作所 描画用ベクタデータの処理方法及び描画装置
JP4313130B2 (ja) 2003-09-18 2009-08-12 株式会社リコー 画像形成装置、画像形成方法、およびその方法をコンピュータで実行するプログラム
JP2011194859A (ja) * 2010-03-24 2011-10-06 Kyocera Mita Corp 画像出力装置及び画像出力プログラム
JP6120561B2 (ja) * 2012-12-26 2017-04-26 三菱電機株式会社 図形描画装置及び図形描画プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07276054A (ja) * 1994-03-31 1995-10-24 Press Kogyo Kk 溶接トーチ清掃装置の制御装置

Also Published As

Publication number Publication date
JPH09171564A (ja) 1997-06-30

Similar Documents

Publication Publication Date Title
US5500928A (en) Digital printing system and process using adaptive compression
EP0834154B1 (en) Method and apparatus for reducing storage requirements for display data
US5542031A (en) Halftone computer imager
JP2790285B2 (ja) フル・ページ・グラフィックス画像表示データ圧縮方法および装置
JP3145509B2 (ja) 文字生成方法及びその装置
KR100317549B1 (ko) 문자채움처리를위해연쇄코드를사용하는비트맵문자변환방법
JP3085175B2 (ja) 描画装置
US6238105B1 (en) Processor/memory non-intensive rendering for page printers
KR100477777B1 (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JP3085036B2 (ja) 画像出力装置
JPH05120441A (ja) ベクトル画像描画装置
JP2003087558A (ja) 画像処理装置および方法
JP3450961B2 (ja) 印刷装置及びその制御方法
JP2000238338A (ja) 画像処理装置
JP3089906B2 (ja) 描画装置
JP2854344B2 (ja) ミクストモード文書の表示方法
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JPH06175639A (ja) 文字生成方法及びその装置
JP3375069B2 (ja) 描画処理装置
JP3294249B2 (ja) 画像処理装置
JPH0519739A (ja) 文字パターン生成装置
JP2000092315A (ja) 画像処理装置
JPH10147016A (ja) 画像処理装置及び方法
JPH10191066A (ja) 画像処理装置
JPH11198465A (ja) 文字出力装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080707

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees