JP3009525B2 - ベクトル画像描画装置 - Google Patents
ベクトル画像描画装置Info
- Publication number
- JP3009525B2 JP3009525B2 JP3308407A JP30840791A JP3009525B2 JP 3009525 B2 JP3009525 B2 JP 3009525B2 JP 3308407 A JP3308407 A JP 3308407A JP 30840791 A JP30840791 A JP 30840791A JP 3009525 B2 JP3009525 B2 JP 3009525B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- area ratio
- image
- vector image
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Image Analysis (AREA)
Description
【0001】
【産業上の利用分野】本発明はPDL言語等で記述され
たベクトル画像を出力するベクトル画像描画装置に関
し,より詳細には,アンチエイリアシング処理の高速化
を図ったベクトル画像描画装置に関する。
たベクトル画像を出力するベクトル画像描画装置に関
し,より詳細には,アンチエイリアシング処理の高速化
を図ったベクトル画像描画装置に関する。
【0002】
【従来の技術】近年,パーソナルコンピュータを用いた
出版システム,所謂,DTP(デスク・トップ・パブリ
ッシング)の普及に伴い,コンピュータ・グラフィクス
で扱うようなベクトル画像を印字するシステムが広く使
われるようになっている。その代表的なものとして,例
えば,アドビ社のポスト・スクリプトを用いたシステム
がある。ポスト・スクリプトは,ページ記述言語(Page
Description Language:以下,PDLと記述する)と呼
ばれる言語ジャンルに属し,1枚のドキュメントを構成
する内容について,その中に入るテキスト(文字部分)
や,グラフィックス,或いは,それらの配置や体裁まで
を含めたフォームを記述するためのプログラミング言語
であり,このようなシステムでは,文字フォントとして
ベクトルフォントを採用している。
出版システム,所謂,DTP(デスク・トップ・パブリ
ッシング)の普及に伴い,コンピュータ・グラフィクス
で扱うようなベクトル画像を印字するシステムが広く使
われるようになっている。その代表的なものとして,例
えば,アドビ社のポスト・スクリプトを用いたシステム
がある。ポスト・スクリプトは,ページ記述言語(Page
Description Language:以下,PDLと記述する)と呼
ばれる言語ジャンルに属し,1枚のドキュメントを構成
する内容について,その中に入るテキスト(文字部分)
や,グラフィックス,或いは,それらの配置や体裁まで
を含めたフォームを記述するためのプログラミング言語
であり,このようなシステムでは,文字フォントとして
ベクトルフォントを採用している。
【0003】従って,文字の変倍を行っても,ビットマ
ップフォントを使用したシステム(例えば,従来のワー
ドプロセッサ等)と比べて,格段に印字品質を向上させ
ることができ,また,文字フォントとグラフィックスと
イメージを混在させて印字することができるという利点
がある。
ップフォントを使用したシステム(例えば,従来のワー
ドプロセッサ等)と比べて,格段に印字品質を向上させ
ることができ,また,文字フォントとグラフィックスと
イメージを混在させて印字することができるという利点
がある。
【0004】ところが,これらのシステムで使用される
レーザープリンタ等の出力装置の解像度は,せいぜい2
40dpi〜400dpiのものが多く,解像度が低い
ために図形のエッジ部分にキザキザ(エイリアスと呼ば
れる)が発生するという不都合がある。従って,印字画
像をより美しくするためにベクトル画像描画装置におい
てアンチエイリアシング処理という手法が用いられてい
る。この処理は,エッジ部の階段上のギザギザ部分に濃
度変調をかけ,視覚的に印字画像を滑らかにするもので
ある。
レーザープリンタ等の出力装置の解像度は,せいぜい2
40dpi〜400dpiのものが多く,解像度が低い
ために図形のエッジ部分にキザキザ(エイリアスと呼ば
れる)が発生するという不都合がある。従って,印字画
像をより美しくするためにベクトル画像描画装置におい
てアンチエイリアシング処理という手法が用いられてい
る。この処理は,エッジ部の階段上のギザギザ部分に濃
度変調をかけ,視覚的に印字画像を滑らかにするもので
ある。
【0005】図11は,従来のベクトル画像描画装置の
一例を示す。ベクトル画像描画装置は,コンピュータ等
のアプリケーション・ソフトウェアを使用して,PDL
言語で記述された文書(ベクトルデータ)を入力データ
として,ベクトルデータにアンチエイリアシング処理を
施しながら多値のイメージデータに展開し,多値カラー
・レーザー・プリンタ等の出力装置へ出力するものであ
る。
一例を示す。ベクトル画像描画装置は,コンピュータ等
のアプリケーション・ソフトウェアを使用して,PDL
言語で記述された文書(ベクトルデータ)を入力データ
として,ベクトルデータにアンチエイリアシング処理を
施しながら多値のイメージデータに展開し,多値カラー
・レーザー・プリンタ等の出力装置へ出力するものであ
る。
【0006】具体的には,図11において,先ず,コン
ピュータ等のアプリケーションソフトウェアを用いてP
DL言語で記述された文書を作成する。作成された文字
やグラフィックスは全てベクトルデータとして扱われ,
ベクトル処理部1100に入力される。ベクトル処理部
1100では,ベクトルデータを直線データに変換し,
アンチエイリアシング処理を施して,ページメモリ描画
部1200に面積率及び直線データ等の各データを送
る。ページメモリ描画部1200では,ベクトル処理部
1100からのデータを用いて,個々の画素の濃度値を
決定してページメモリ1300に多値のイメージデータ
として書き込む。ページメモリ1300は,1ページ分
のイメージデータの格納が終了すると,格納したイメー
ジデータをレーザ・プリンター等の出力装置(図示せ
ず)へ転送し,出力装置を介してイメージデータの印字
を行う。
ピュータ等のアプリケーションソフトウェアを用いてP
DL言語で記述された文書を作成する。作成された文字
やグラフィックスは全てベクトルデータとして扱われ,
ベクトル処理部1100に入力される。ベクトル処理部
1100では,ベクトルデータを直線データに変換し,
アンチエイリアシング処理を施して,ページメモリ描画
部1200に面積率及び直線データ等の各データを送
る。ページメモリ描画部1200では,ベクトル処理部
1100からのデータを用いて,個々の画素の濃度値を
決定してページメモリ1300に多値のイメージデータ
として書き込む。ページメモリ1300は,1ページ分
のイメージデータの格納が終了すると,格納したイメー
ジデータをレーザ・プリンター等の出力装置(図示せ
ず)へ転送し,出力装置を介してイメージデータの印字
を行う。
【0007】図12は,ベクトル処理部1100に入力
されたベクトルデータが曲線ベクトルの場合の直線ベク
トルへの近似方法を示し,PDL言語から得られた曲線
R(曲線ベクトル)の始点(t=0)と終点(t=1)
の中点(t=1/2)と曲線Rとの距離をhとする。h
と予め設定した許容誤差とを比較して許容誤差内であれ
ば,直線D1 ,D2 をベクトルデータとして曲線Rの直
線近似を終了する。一方,hが許容誤差よりも大きいな
らば,直線D1 ,D2 のそれぞれの中点を求め,曲線R
との距離h1 ,h2 を再び許容誤差と比較する。このよ
うな操作を繰り返して,曲線ベクトルを直線ベクトルに
近似していく。
されたベクトルデータが曲線ベクトルの場合の直線ベク
トルへの近似方法を示し,PDL言語から得られた曲線
R(曲線ベクトル)の始点(t=0)と終点(t=1)
の中点(t=1/2)と曲線Rとの距離をhとする。h
と予め設定した許容誤差とを比較して許容誤差内であれ
ば,直線D1 ,D2 をベクトルデータとして曲線Rの直
線近似を終了する。一方,hが許容誤差よりも大きいな
らば,直線D1 ,D2 のそれぞれの中点を求め,曲線R
との距離h1 ,h2 を再び許容誤差と比較する。このよ
うな操作を繰り返して,曲線ベクトルを直線ベクトルに
近似していく。
【0008】続いて,ベクトル処理部1100は,この
ようにして全て直線ベクトルに近似されたベクトルデー
タに対して,図13及び図14で示すように,エッジ部
でのアンチエイリアシング処理と走査方向の直線データ
への変換を行う。
ようにして全て直線ベクトルに近似されたベクトルデー
タに対して,図13及び図14で示すように,エッジ部
でのアンチエイリアシング処理と走査方向の直線データ
への変換を行う。
【0009】図13の任意の副走査方向の座標Ynにお
いて,主走査方向Xn,Xn+1,Xmの座標で示され
る画素は,ベクトルが通過しているのでエッジ部画素で
あり,アンチエイリアシング処理を施す必要がある。以
下,図14(a),(b),(c)を参照してアンチエ
イリアシング処理の面積率算出方法について説明する。
いて,主走査方向Xn,Xn+1,Xmの座標で示され
る画素は,ベクトルが通過しているのでエッジ部画素で
あり,アンチエイリアシング処理を施す必要がある。以
下,図14(a),(b),(c)を参照してアンチエ
イリアシング処理の面積率算出方法について説明する。
【0010】図14(a),(b),(c)は,図13
の副走査方向のYnライン目の拡大図を示す。1画素を
更にサブピクセルに分割し(ここでは,3×3サブピク
セル分割),エッジのかかったサブピクセルと,エッジ
に囲まれたサブピクセルをデータ有りとし,更にこのデ
ータ有りのサブピクセルが画素毎に幾つあるかを数え,
それを1画素中のサブピクセル数で割ると面積率が求め
られる。このようにして求められた面積率は,画素の座
標,及び,図形濃度値とともにページメモリ描画部12
00へ送られる。また,Xn+1<X<Xmの範囲の画
素はエッジ部画素ではないのでPDL言語で取り込まれ
た図形濃度値がそのまま印字される。この範囲では塗り
つぶし処理(スキャンラインコンバーション)を行うた
め,ベクトル処理部1100からページメモリ描画部1
200には塗りつぶし開始のX座標,終了のX座標,こ
のラインのY座標(Yn),及び,図形濃度値が送られ
る。また,上記の操作によって同時に走査方向への直線
データに変換される。
の副走査方向のYnライン目の拡大図を示す。1画素を
更にサブピクセルに分割し(ここでは,3×3サブピク
セル分割),エッジのかかったサブピクセルと,エッジ
に囲まれたサブピクセルをデータ有りとし,更にこのデ
ータ有りのサブピクセルが画素毎に幾つあるかを数え,
それを1画素中のサブピクセル数で割ると面積率が求め
られる。このようにして求められた面積率は,画素の座
標,及び,図形濃度値とともにページメモリ描画部12
00へ送られる。また,Xn+1<X<Xmの範囲の画
素はエッジ部画素ではないのでPDL言語で取り込まれ
た図形濃度値がそのまま印字される。この範囲では塗り
つぶし処理(スキャンラインコンバーション)を行うた
め,ベクトル処理部1100からページメモリ描画部1
200には塗りつぶし開始のX座標,終了のX座標,こ
のラインのY座標(Yn),及び,図形濃度値が送られ
る。また,上記の操作によって同時に走査方向への直線
データに変換される。
【0011】図15は,ベクトル処理部1100からペ
ージメモリ描画部1200へ送られるデータの構成を示
す。データとしては,ページメモリへの書き込み指示を
示すコマンドデータ,図形濃度値を示すDデータ,面積
率を示すKデータ,主走査方向開始座標を示すXSデー
タ,主走査方向終了座標を示すXEデータ,副走査方向
座標を示すYデータの6種のデータがあり,これらのデ
ータにはそれぞれデータの種別を示すTAGビットが付
けられている。
ージメモリ描画部1200へ送られるデータの構成を示
す。データとしては,ページメモリへの書き込み指示を
示すコマンドデータ,図形濃度値を示すDデータ,面積
率を示すKデータ,主走査方向開始座標を示すXSデー
タ,主走査方向終了座標を示すXEデータ,副走査方向
座標を示すYデータの6種のデータがあり,これらのデ
ータにはそれぞれデータの種別を示すTAGビットが付
けられている。
【0012】図16は,ページメモリ描画部1200の
構成を示す。ベクトル処理部1100からページメモリ
描画部1200へ送られてくるデータは全てFIFO1
201を通して取り込まれ,TAGデコード1207に
よってTAGビットを判断し,アンチエイリアシング処
理を行うか否かの区別と,Dレジスタ1202,Kレジ
スタ1203,XSレジスタ1204,XEレジスタ1
205,Yレジスタ1206の各レジスタへの振り分け
が行われる。
構成を示す。ベクトル処理部1100からページメモリ
描画部1200へ送られてくるデータは全てFIFO1
201を通して取り込まれ,TAGデコード1207に
よってTAGビットを判断し,アンチエイリアシング処
理を行うか否かの区別と,Dレジスタ1202,Kレジ
スタ1203,XSレジスタ1204,XEレジスタ1
205,Yレジスタ1206の各レジスタへの振り分け
が行われる。
【0013】アンチエイリアシング処理を実行する場
合,LUT(ルックアップテーブル)1208は,Kレ
ジスタ1203にラッチされた面積率と,Dレジスタ1
202にラッチされた図形濃度値の乗算を行う。LUT
1209は以前にページメモリ1300に塗られた濃度
値(背景色)を読み込んで,K0 (K0 =1−面積率)
の乗算を行っている。また,1210は加算器であり,
LUT1208,LUT1209で乗算された値の加算
を行っている。尚,加算時にオーバーフローを起こした
場合には濃度の最大値(全ビット1)にする。
合,LUT(ルックアップテーブル)1208は,Kレ
ジスタ1203にラッチされた面積率と,Dレジスタ1
202にラッチされた図形濃度値の乗算を行う。LUT
1209は以前にページメモリ1300に塗られた濃度
値(背景色)を読み込んで,K0 (K0 =1−面積率)
の乗算を行っている。また,1210は加算器であり,
LUT1208,LUT1209で乗算された値の加算
を行っている。尚,加算時にオーバーフローを起こした
場合には濃度の最大値(全ビット1)にする。
【0014】換言すれば,ページメモリ1300とのリ
ード・モディファイ・ライト・アクセスを利用してアン
チエイリアシング処理の濃度決定処理である数1の演算
を実行している。
ード・モディファイ・ライト・アクセスを利用してアン
チエイリアシング処理の濃度決定処理である数1の演算
を実行している。
【0015】
【数1】プリンター濃度値 =(図形濃度値)×(面積
率)+(背景色)×(1−(面積率))
率)+(背景色)×(1−(面積率))
【0016】このようにして得られた濃度値が主走査方
向,副走査方向の座標によって指定されるページメモリ
1300上のアドレスに書き込まれる。一方,スキャン
ラインによる塗りつぶし処理の場合には,Xアドレスカ
ウンタ1212が主走査方向の開始アドレスXSから終
了アドレスXEまでカウントして,クロック発生器12
13の画素クロックに従って1ずつアドレスをインクリ
メントすることにより,1画素ずつの塗りつぶし処理を
実行する(図14の例では,XS=Xn+2,XE=X
m−1)。この時,スキャンラインによる塗りつぶしの
濃度はDレジスタ1202からの値がそのままページメ
モリ1300に書き込まれるようにセレクタ1211が
切り換えられる。
向,副走査方向の座標によって指定されるページメモリ
1300上のアドレスに書き込まれる。一方,スキャン
ラインによる塗りつぶし処理の場合には,Xアドレスカ
ウンタ1212が主走査方向の開始アドレスXSから終
了アドレスXEまでカウントして,クロック発生器12
13の画素クロックに従って1ずつアドレスをインクリ
メントすることにより,1画素ずつの塗りつぶし処理を
実行する(図14の例では,XS=Xn+2,XE=X
m−1)。この時,スキャンラインによる塗りつぶしの
濃度はDレジスタ1202からの値がそのままページメ
モリ1300に書き込まれるようにセレクタ1211が
切り換えられる。
【0017】1ページ分の全てのベクトルデータに関し
て,上記の処理が終了し,1ページ分の画像がページメ
モリ1300に書き込まれ,PDL言語のプリント命令
が実行されると,ページメモリ1300は,格納されて
いる画像データ(多値イメージデータ)を多値カラー・
レーザー・プリンタ等の出力装置へ送り,出力装置を介
して印字を行う。
て,上記の処理が終了し,1ページ分の画像がページメ
モリ1300に書き込まれ,PDL言語のプリント命令
が実行されると,ページメモリ1300は,格納されて
いる画像データ(多値イメージデータ)を多値カラー・
レーザー・プリンタ等の出力装置へ送り,出力装置を介
して印字を行う。
【0018】
【発明が解決しようとする課題】しかしながら,従来の
ベクトル画像描画装置によれば,アンチエイリアシング
処理におけるサブピクセル塗りつぶし処理,及び,面積
率算出処理に時間がかかるため,処理速度の高速化に限
界があるという問題点があった。
ベクトル画像描画装置によれば,アンチエイリアシング
処理におけるサブピクセル塗りつぶし処理,及び,面積
率算出処理に時間がかかるため,処理速度の高速化に限
界があるという問題点があった。
【0019】また,サブピクセル塗りつぶし処理,及
び,面積率算出処理をソフトウェアを用いてCPU処理
によって実行しているため,CPUの負荷が大きくなる
という問題点もあった。
び,面積率算出処理をソフトウェアを用いてCPU処理
によって実行しているため,CPUの負荷が大きくなる
という問題点もあった。
【0020】本発明は上記に鑑みてなされたものであっ
て,処理速度の向上を図ることができ,且つ,CPUの
負荷を軽減できることを目的とする。
て,処理速度の向上を図ることができ,且つ,CPUの
負荷を軽減できることを目的とする。
【0021】
【課題を解決するための手段】本発明は上記の目的を達
成するために,ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,ベクトル画像の面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,ページメモ
リに描画するページメモリ描画手段と,ベクトル画像の
絶対座標値と相対座標値との変換を行う座標変換手段
と,ベクトル画像の相対座標値,及び,面積率をキャッ
シュ情報として記憶するフォントキャッシュ手段とを備
えたベクトル画像描画装置を提供するものである。尚,
前述したベクトル処理手段は,処理対象となるベクトル
画像と同一のベクトル画像のキャッシュ情報がフォント
キャッシュ手段に記憶されているか否か判定し,記憶さ
れていない場合には,ベクトル画像の面積率,及び,走
査方向の直線データをページメモリ描画手段に送ると同
時に,座標変換手段を用いて絶対座標値を相対座標値に
変換し,ベクトル画像の面積率とともにキャッシュ情報
としてフォントキャッシュ手段に記憶させ,記憶されて
いる場合には,ベクトル画像の面積率の算出,及び,走
査方向の直線データへの変換を行わずに座標変換手段を
用いて該当するキャッシュ情報の相対座標値を絶対座標
値に変換し,該当するキャッシュ情報の面積率とともに
ページメモリ描画手段に送ることが望ましい。
成するために,ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,ベクトル画像の面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,ページメモ
リに描画するページメモリ描画手段と,ベクトル画像の
絶対座標値と相対座標値との変換を行う座標変換手段
と,ベクトル画像の相対座標値,及び,面積率をキャッ
シュ情報として記憶するフォントキャッシュ手段とを備
えたベクトル画像描画装置を提供するものである。尚,
前述したベクトル処理手段は,処理対象となるベクトル
画像と同一のベクトル画像のキャッシュ情報がフォント
キャッシュ手段に記憶されているか否か判定し,記憶さ
れていない場合には,ベクトル画像の面積率,及び,走
査方向の直線データをページメモリ描画手段に送ると同
時に,座標変換手段を用いて絶対座標値を相対座標値に
変換し,ベクトル画像の面積率とともにキャッシュ情報
としてフォントキャッシュ手段に記憶させ,記憶されて
いる場合には,ベクトル画像の面積率の算出,及び,走
査方向の直線データへの変換を行わずに座標変換手段を
用いて該当するキャッシュ情報の相対座標値を絶対座標
値に変換し,該当するキャッシュ情報の面積率とともに
ページメモリ描画手段に送ることが望ましい。
【0022】また,本発明は上記の目的を達成するため
に,ベクトル画像を直線ベクトルに近似してベクトル画
像の面積率を算出するとともに,走査方向の直線データ
に変換するベクトル処理手段と,リード・モディファイ
・ライト・アクセスが可能な多値ページメモリと,ベク
トル画像の面積率,及び,走査方向の直線データを入力
して,画素毎の濃度値を演算し,ページメモリに描画す
るとともに,2次元ビットマップデータ展開機能を有し
たページメモリ描画手段と,ベクトル処理手段で算出し
た面積率をビットマップデータとして記憶するフォント
キャッシュ手段とを備えたベクトル画像描画装置を提供
するものである。尚,前述したベクトル処理手段は,処
理対象となるベクトル画像と同一のベクトル画像のビッ
トマップデータがフォントキャッシュ手段に記憶されて
いるか否か判定し,記憶されていない場合には,ベクト
ル画像の面積率,及び,走査方向の直線データをページ
メモリ描画手段に送り,同時にベクトル画像の面積率を
ビットマップデータとしてフォントキャッシュ手段に記
憶させ,記憶されている場合には,ベクトル画像の面積
率の算出,及び,走査方向の直線データへの変換を行わ
ずに該当するビットマップデータをページメモリ描画手
段に送ることが望ましい。
に,ベクトル画像を直線ベクトルに近似してベクトル画
像の面積率を算出するとともに,走査方向の直線データ
に変換するベクトル処理手段と,リード・モディファイ
・ライト・アクセスが可能な多値ページメモリと,ベク
トル画像の面積率,及び,走査方向の直線データを入力
して,画素毎の濃度値を演算し,ページメモリに描画す
るとともに,2次元ビットマップデータ展開機能を有し
たページメモリ描画手段と,ベクトル処理手段で算出し
た面積率をビットマップデータとして記憶するフォント
キャッシュ手段とを備えたベクトル画像描画装置を提供
するものである。尚,前述したベクトル処理手段は,処
理対象となるベクトル画像と同一のベクトル画像のビッ
トマップデータがフォントキャッシュ手段に記憶されて
いるか否か判定し,記憶されていない場合には,ベクト
ル画像の面積率,及び,走査方向の直線データをページ
メモリ描画手段に送り,同時にベクトル画像の面積率を
ビットマップデータとしてフォントキャッシュ手段に記
憶させ,記憶されている場合には,ベクトル画像の面積
率の算出,及び,走査方向の直線データへの変換を行わ
ずに該当するビットマップデータをページメモリ描画手
段に送ることが望ましい。
【0023】
【作用】本発明のベクトル画像描画装置(請求項1及び
請求項2)は,ベクトル処理手段によって一度算出した
ベクトル画像の面積率をページメモリ描画手段を用いて
ページメモリに描画すると同時に,相対座標値とともに
フォントキャッシュ手段にも蓄え,算出したベクトル画
像と同じベクトル画像は,次回以降ベクトル処理手段で
面積率の算出を行わず,フォントキャッシュ手段からの
面積率及び相対座標値を用いてアンチエイリアシング処
理及び直線描画を行う。
請求項2)は,ベクトル処理手段によって一度算出した
ベクトル画像の面積率をページメモリ描画手段を用いて
ページメモリに描画すると同時に,相対座標値とともに
フォントキャッシュ手段にも蓄え,算出したベクトル画
像と同じベクトル画像は,次回以降ベクトル処理手段で
面積率の算出を行わず,フォントキャッシュ手段からの
面積率及び相対座標値を用いてアンチエイリアシング処
理及び直線描画を行う。
【0024】また,本発明のベクトル画像描画装置(請
求項3及び請求項4)は,ベクトル処理手段によって一
度算出したベクトル画像の面積率をページメモリ描画手
段を用いてページメモリに描画すると同時に,ビットマ
ップデータとしてフォントキャッシュ手段にも蓄え,算
出したベクトル画像と同じベクトル画像は,次回以降ベ
クトル処理手段で面積率の算出を行わず,フォントキャ
ッシュ手段からの値でアンチエイリアシング処理及び直
線描画を行う。
求項3及び請求項4)は,ベクトル処理手段によって一
度算出したベクトル画像の面積率をページメモリ描画手
段を用いてページメモリに描画すると同時に,ビットマ
ップデータとしてフォントキャッシュ手段にも蓄え,算
出したベクトル画像と同じベクトル画像は,次回以降ベ
クトル処理手段で面積率の算出を行わず,フォントキャ
ッシュ手段からの値でアンチエイリアシング処理及び直
線描画を行う。
【0025】
【実施例】以下,本発明のベクトル画像描画装置につい
て,実施例1,実施例2の順に図面を参照して詳細に説
明する。
て,実施例1,実施例2の順に図面を参照して詳細に説
明する。
【0026】〔実施例1〕図1は,実施例1のベクトル
画像描画装置の構成を示し,コンピュータ等のアプリケ
ーションソフトウェアを用いてPDL言語で記述された
文書をベクトルデータとして入力し,ベクトルデータを
直線ベクトルに近似して面積率を算出するとともに,走
査方向の直線データに変換するベクトル処理部100
と,ベクトルデータの面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,後述するペ
ージメモリ300に描画するページメモリ描画部200
と,リード・モディファイ・ライト・アクセスが可能な
多値のページメモリ300と,ベクトルデータの絶対座
標値と相対座標値との変換を行う座標変換回路400
と,ベクトルデータの相対座標値,及び,面積率をキャ
ッシュ情報として記憶するフォントキャッシュ500と
を備えている。
画像描画装置の構成を示し,コンピュータ等のアプリケ
ーションソフトウェアを用いてPDL言語で記述された
文書をベクトルデータとして入力し,ベクトルデータを
直線ベクトルに近似して面積率を算出するとともに,走
査方向の直線データに変換するベクトル処理部100
と,ベクトルデータの面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,後述するペ
ージメモリ300に描画するページメモリ描画部200
と,リード・モディファイ・ライト・アクセスが可能な
多値のページメモリ300と,ベクトルデータの絶対座
標値と相対座標値との変換を行う座標変換回路400
と,ベクトルデータの相対座標値,及び,面積率をキャ
ッシュ情報として記憶するフォントキャッシュ500と
を備えている。
【0027】以上の構成において,ベクトル処理部10
0は,処理対象となるベクトルデータと同一のベクトル
データのキャッシュ情報がフォントキャッシュ手段に記
憶されているか否か判定し,記憶されていない場合に
は,ベクトルデータの面積率,及び,走査方向の直線デ
ータをページメモリ描画部200に送ると同時に,座標
変換回路400を用いて絶対座標値を相対座標値に変換
し,ベクトルデータの面積率とともにキャッシュ情報と
してフォントキャッシュ500に記憶させる。
0は,処理対象となるベクトルデータと同一のベクトル
データのキャッシュ情報がフォントキャッシュ手段に記
憶されているか否か判定し,記憶されていない場合に
は,ベクトルデータの面積率,及び,走査方向の直線デ
ータをページメモリ描画部200に送ると同時に,座標
変換回路400を用いて絶対座標値を相対座標値に変換
し,ベクトルデータの面積率とともにキャッシュ情報と
してフォントキャッシュ500に記憶させる。
【0028】一方,記憶されている場合には,ベクトル
データの面積率の算出,及び,走査方向の直線データへ
の変換を行わずに座標変換回路400を用いて該当する
キャッシュ情報の相対座標値を絶対座標値に変換し,該
当するキャッシュ情報の面積率とともにページメモリ描
画部200に送り,ページメモリ300に描画させる。
データの面積率の算出,及び,走査方向の直線データへ
の変換を行わずに座標変換回路400を用いて該当する
キャッシュ情報の相対座標値を絶対座標値に変換し,該
当するキャッシュ情報の面積率とともにページメモリ描
画部200に送り,ページメモリ300に描画させる。
【0029】以下,フォントキャッシュ500にキャ
ッシュ情報が記憶されていない場合,フォントキャッ
シュ500にキャッシュ情報が記憶されている場合,の
順序で具体的にその動作を説明する。
ッシュ情報が記憶されていない場合,フォントキャッ
シュ500にキャッシュ情報が記憶されている場合,の
順序で具体的にその動作を説明する。
【0030】フォントキャッシュ500にキャッシュ
情報が記憶されていない場合 例えば,図2(a)に示す文字Aを描画するベクトルデ
ータが入力されると,ベクトル処理部100は,先ず,
このベクトルデータを直線に近似してベクトルデータの
エッジ部画素の面積率を算出する。図2(a)の場合
は,副走査方向の座標YSからYEまでの1ラインずつ
アンチエイリアシング処理及びスキャンラインコンバー
ジョン(走査方向の直線データへの変換)を行えばこの
ベクトルデータの処理は終了する。
情報が記憶されていない場合 例えば,図2(a)に示す文字Aを描画するベクトルデ
ータが入力されると,ベクトル処理部100は,先ず,
このベクトルデータを直線に近似してベクトルデータの
エッジ部画素の面積率を算出する。図2(a)の場合
は,副走査方向の座標YSからYEまでの1ラインずつ
アンチエイリアシング処理及びスキャンラインコンバー
ジョン(走査方向の直線データへの変換)を行えばこの
ベクトルデータの処理は終了する。
【0031】図2(b)は,図2(a)の一部拡大図を
示す。ここで,座標(YS,XS)で示される画素はエ
ッジ部画素になっているので,アンチエイリアシング処
理の面積率の算出を行う。尚,面積率の算出については
従来の技術と同様につき説明を省略する。ここでデータ
として,エッジ部画素の面積率KS,主走査方向絶対ア
ドレスXS,副走査方向絶対アドレスYSが得られる。
示す。ここで,座標(YS,XS)で示される画素はエ
ッジ部画素になっているので,アンチエイリアシング処
理の面積率の算出を行う。尚,面積率の算出については
従来の技術と同様につき説明を省略する。ここでデータ
として,エッジ部画素の面積率KS,主走査方向絶対ア
ドレスXS,副走査方向絶対アドレスYSが得られる。
【0032】ページメモリ描画部200は,この得られ
たデータ(エッジ部画素の面積率KS,主走査方向絶対
アドレスXS,副走査方向絶対アドレスYS)をページ
メモリ描画部200に送るとともに,キャッシュ情報と
してフォントキャッシュ500に記憶させるが,フォン
トキャッシュ500には相対アドレスを記憶させるた
め,主走査方向絶対アドレスXS及び副走査方向絶対ア
ドレスYSを座標変換回路400に送って,絶対座標か
ら相対座標へアドレス変換を行う。
たデータ(エッジ部画素の面積率KS,主走査方向絶対
アドレスXS,副走査方向絶対アドレスYS)をページ
メモリ描画部200に送るとともに,キャッシュ情報と
してフォントキャッシュ500に記憶させるが,フォン
トキャッシュ500には相対アドレスを記憶させるた
め,主走査方向絶対アドレスXS及び副走査方向絶対ア
ドレスYSを座標変換回路400に送って,絶対座標か
ら相対座標へアドレス変換を行う。
【0033】図3は,座標変換回路400の回路構成を
示す。図において,XS及びYSをオフセット値とし,
減算器401及び402で,絶対アドレスX1,X2か
らオフセットアドレスXSを引き,相対アドレスx1,
x2とする。同様に減算器403で絶対アドレスY1か
らオフセットアドレスYSを引き,相対アドレスy1を
得る。これにより,座標(XS,YS)を原点とした相
対アドレスが求められる。
示す。図において,XS及びYSをオフセット値とし,
減算器401及び402で,絶対アドレスX1,X2か
らオフセットアドレスXSを引き,相対アドレスx1,
x2とする。同様に減算器403で絶対アドレスY1か
らオフセットアドレスYSを引き,相対アドレスy1を
得る。これにより,座標(XS,YS)を原点とした相
対アドレスが求められる。
【0034】従って,図2(b)の1ライン目(YSラ
イン)がフォントキャッシュ500に書き込まれるとき
の書き込みデータは,主走査方向の開始座標0,主走査
方向の終了座標0,副走査方向の座標0,面積率KSと
なる。次に2ライン目(YS+1ライン)でも同様に相
対アドレスが求められる(但し,この場合は2画素
分)。フォントキャッシュ500に1番目の画素のデー
タとして,主走査方向の開始座標−1,主走査方向の終
了座標−1,副走査方向の座標1,面積率K11が記憶さ
れ,2番目の画素のデータとして,主走査方向の開始座
標0,主走査方向の終了座標0,副走査方向の座標1,
面積率K12が記憶される。
イン)がフォントキャッシュ500に書き込まれるとき
の書き込みデータは,主走査方向の開始座標0,主走査
方向の終了座標0,副走査方向の座標0,面積率KSと
なる。次に2ライン目(YS+1ライン)でも同様に相
対アドレスが求められる(但し,この場合は2画素
分)。フォントキャッシュ500に1番目の画素のデー
タとして,主走査方向の開始座標−1,主走査方向の終
了座標−1,副走査方向の座標1,面積率K11が記憶さ
れ,2番目の画素のデータとして,主走査方向の開始座
標0,主走査方向の終了座標0,副走査方向の座標1,
面積率K12が記憶される。
【0035】上記の座標変換処理を図2(a)の座標
(XE,YE)まで実行すると,ベクトルデータ(文字
A)のフォント展開が終了する。但し,アンチエイリア
シング処理の面積率の算出を行わない画素,即ち,エッ
ジ部画素以外の画素の面積率(例えば,座標(XS,Y
S+3)の画素)は1とする。また,2画素以上のスキ
ャンラインコンバージョンを行うとき,例えば,YS+
4ライン目の(XS−2)から(XS)までの3画素の
スキャンラインコンバージョンを行うときには,主走査
方向の開始座標と終了座標が異なった値となる。
(XE,YE)まで実行すると,ベクトルデータ(文字
A)のフォント展開が終了する。但し,アンチエイリア
シング処理の面積率の算出を行わない画素,即ち,エッ
ジ部画素以外の画素の面積率(例えば,座標(XS,Y
S+3)の画素)は1とする。また,2画素以上のスキ
ャンラインコンバージョンを行うとき,例えば,YS+
4ライン目の(XS−2)から(XS)までの3画素の
スキャンラインコンバージョンを行うときには,主走査
方向の開始座標と終了座標が異なった値となる。
【0036】図4は,フォントキャッシュ500のキャ
ッシュ情報を示す。尚,フォントキャッシュ500に記
憶されるデータは,図中のポインタで示される場所に書
き込まれる。このポインタは一番古くに書き込まれたデ
ータか,或いは,一番古くに参照されたデータの場所を
示している。
ッシュ情報を示す。尚,フォントキャッシュ500に記
憶されるデータは,図中のポインタで示される場所に書
き込まれる。このポインタは一番古くに書き込まれたデ
ータか,或いは,一番古くに参照されたデータの場所を
示している。
【0037】フォントキャッシュ500にキャッシュ
情報が記憶されている場合 フォントキャッシュ500に記憶されているベクトルデ
ータと同一のベクトルデータ,例えば,図2(a)に示
す文字Aを描画するベクトルデータと同一のベクトルデ
ータが入力されると,ベクトル処理部100は,面積率
の算出を行わずにフォントキャッシュ500から面積率
をページメモリ描画部200に渡し,今回入力されたベ
クトルデータの開始座標をオフセットアドレス(XS,
YS)として,座標変換回路400(図3参照)で相対
アドレスを絶対アドレスに変換して,ページメモリ描画
部200に渡す。これにより,ページメモリ描画部20
0は,ベクトルデータ(文字A)の再書き込みが実現で
きる。
情報が記憶されている場合 フォントキャッシュ500に記憶されているベクトルデ
ータと同一のベクトルデータ,例えば,図2(a)に示
す文字Aを描画するベクトルデータと同一のベクトルデ
ータが入力されると,ベクトル処理部100は,面積率
の算出を行わずにフォントキャッシュ500から面積率
をページメモリ描画部200に渡し,今回入力されたベ
クトルデータの開始座標をオフセットアドレス(XS,
YS)として,座標変換回路400(図3参照)で相対
アドレスを絶対アドレスに変換して,ページメモリ描画
部200に渡す。これにより,ページメモリ描画部20
0は,ベクトルデータ(文字A)の再書き込みが実現で
きる。
【0038】この場合,座標変換回路400は,加算器
404,405,406を用いて,今回入力されたベク
トルデータの開始座標をオフセットアドレスXS,YS
と,フォントキャッシュ500に記憶されている相対ア
ドレスx1,x2,y1とを加算して,絶対アドレスX
start,Xend,Yを算出し,ページメモリ描画
部200へ送る。
404,405,406を用いて,今回入力されたベク
トルデータの開始座標をオフセットアドレスXS,YS
と,フォントキャッシュ500に記憶されている相対ア
ドレスx1,x2,y1とを加算して,絶対アドレスX
start,Xend,Yを算出し,ページメモリ描画
部200へ送る。
【0039】前述したように実施例1のベクトル画像描
画装置では,一度面積率の算出を行ったベクトルデータ
の面積率及び相対アドレスをキャッシュ情報としてフォ
ントキャッシュ500に記憶しているので,重複したベ
クトルデータの面積率の算出を行う必要がなく,処理の
高速化を図ることができる。また,ベクトル処理部10
0内に組み込まれているCPUの負担を軽減することが
できる。
画装置では,一度面積率の算出を行ったベクトルデータ
の面積率及び相対アドレスをキャッシュ情報としてフォ
ントキャッシュ500に記憶しているので,重複したベ
クトルデータの面積率の算出を行う必要がなく,処理の
高速化を図ることができる。また,ベクトル処理部10
0内に組み込まれているCPUの負担を軽減することが
できる。
【0040】〔実施例2〕図5は,実施例2のベクトル
画像描画装置の構成を示し,コンピュータ等のアプリケ
ーションソフトウェアを用いてPDL言語で記述された
文書をベクトルデータとして入力し,ベクトルデータを
直線ベクトルに近似して面積率を算出するとともに,走
査方向の直線データに変換するベクトル処理部600
と,ベクトルデータの面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,後述するペ
ージメモリ800に描画するとともに,2次元ビットマ
ップデータ展開機能を有したページメモリ描画部700
と,リード・モディファイ・ライト・アクセスが可能な
多値のページメモリ800と,ベクトルデータの面積率
をビットマップデータとして記憶するフォントキャッシ
ュ900とを備えている。
画像描画装置の構成を示し,コンピュータ等のアプリケ
ーションソフトウェアを用いてPDL言語で記述された
文書をベクトルデータとして入力し,ベクトルデータを
直線ベクトルに近似して面積率を算出するとともに,走
査方向の直線データに変換するベクトル処理部600
と,ベクトルデータの面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,後述するペ
ージメモリ800に描画するとともに,2次元ビットマ
ップデータ展開機能を有したページメモリ描画部700
と,リード・モディファイ・ライト・アクセスが可能な
多値のページメモリ800と,ベクトルデータの面積率
をビットマップデータとして記憶するフォントキャッシ
ュ900とを備えている。
【0041】以上の構成において,ベクトル処理部60
0は,処理対象となるベクトルデータと同一のベクトル
データのビットマップデータがフォントキャッシュ90
0に記憶されているか否か判定し,記憶されていない場
合には,ベクトルデータの面積率,及び,走査方向の直
線データをページメモリ描画部700に送り,同時にベ
クトルデータの面積率をビットマップデータとしてフォ
ントキャッシュ900に記憶させ,記憶されている場合
には,ベクトルデータの面積率の算出,及び,走査方向
の直線データへの変換を行わずに該当するビットマップ
データをフォントキャッシュ900からページメモリ描
画部700に送る。
0は,処理対象となるベクトルデータと同一のベクトル
データのビットマップデータがフォントキャッシュ90
0に記憶されているか否か判定し,記憶されていない場
合には,ベクトルデータの面積率,及び,走査方向の直
線データをページメモリ描画部700に送り,同時にベ
クトルデータの面積率をビットマップデータとしてフォ
ントキャッシュ900に記憶させ,記憶されている場合
には,ベクトルデータの面積率の算出,及び,走査方向
の直線データへの変換を行わずに該当するビットマップ
データをフォントキャッシュ900からページメモリ描
画部700に送る。
【0042】以下,フォントキャッシュ900にビッ
トマップデータが記憶されていない場合,フォントキ
ャッシュ900にビットマップデータが記憶されている
場合,の順序で具体的にその動作を説明する。
トマップデータが記憶されていない場合,フォントキ
ャッシュ900にビットマップデータが記憶されている
場合,の順序で具体的にその動作を説明する。
【0043】フォントキャッシュ900にビットマッ
プデータが記憶されていない場合 ベクトル処理部600は,ベクトルデータを直線に近似
して該ベクトルデータのエッジ部画素の面積率を算出
し,走査方向の直線データに変換してページメモリ描画
部700へ渡すが,同時に算出したベクトルデータの面
積率をビットマップ展開する。図6は,このビットマッ
プ展開のフローチャートを示す。
プデータが記憶されていない場合 ベクトル処理部600は,ベクトルデータを直線に近似
して該ベクトルデータのエッジ部画素の面積率を算出
し,走査方向の直線データに変換してページメモリ描画
部700へ渡すが,同時に算出したベクトルデータの面
積率をビットマップ展開する。図6は,このビットマッ
プ展開のフローチャートを示す。
【0044】先ず,ベクトルデータをビットマップ展開
するために,処理対象となるベクトルデータの走査方向
の直線データ(ページメモリ描画部700に渡した形
式)を所定のバッファに蓄える(S601)。次に,主
走査方向(X座標)の小さい順にソーティングを行い,
最小値Xmin ,最大値Xmax を求める(S602,S6
03)。続いて,副走査方向(Y座標)の小さい順にソ
ーティングを行い,最小値Ymin ,最大値Ymax を求め
る(S604,S605)。
するために,処理対象となるベクトルデータの走査方向
の直線データ(ページメモリ描画部700に渡した形
式)を所定のバッファに蓄える(S601)。次に,主
走査方向(X座標)の小さい順にソーティングを行い,
最小値Xmin ,最大値Xmax を求める(S602,S6
03)。続いて,副走査方向(Y座標)の小さい順にソ
ーティングを行い,最小値Ymin ,最大値Ymax を求め
る(S604,S605)。
【0045】ここで,ベクトルデータが,図7(a)に
示すベクトルデータ(文字B)である場合を例とする
と,Xmin =X1,Xmax =X8,Ymin =Y1,Y
max =Y8となる。
示すベクトルデータ(文字B)である場合を例とする
と,Xmin =X1,Xmax =X8,Ymin =Y1,Y
max =Y8となる。
【0046】次に,背景を全て白にするために,フォン
トキャッシュ900に(Xmax −Xmin )×(Ymax −
Ymin )分だけK=0を書き込む(S606)。
トキャッシュ900に(Xmax −Xmin )×(Ymax −
Ymin )分だけK=0を書き込む(S606)。
【0047】次に,指定された副走査方向のラインの面
積率をフォントキャッシュ900に書き込み(S60
7),副走査方向のラインが全て処理されるまで,ライ
ンを順次インクリメントして,全ての画素の面積率を書
き込む(S608,S609)。具体的には,図7
(a)に示すベクトルデータ(文字B)の面積率が図7
(b)に示す値であるとすると,各画素の面積率を,座
標(X1,Y1),(X2,Y1),‥‥‥(X7,Y
1),(X2,Y2),の順序で(X7,Y8)までフ
ォントキャッシュ900に書き込む。但し,面積率0の
ところは予め書いてあり,また,ベクトル処理部600
における面積率の算出でも面積率0のデータを作成して
いないので,面積率0の画素の書き込みは行わない。ま
た,エッジ部画素以外の画像部分の画素は,面積率を1
とする。
積率をフォントキャッシュ900に書き込み(S60
7),副走査方向のラインが全て処理されるまで,ライ
ンを順次インクリメントして,全ての画素の面積率を書
き込む(S608,S609)。具体的には,図7
(a)に示すベクトルデータ(文字B)の面積率が図7
(b)に示す値であるとすると,各画素の面積率を,座
標(X1,Y1),(X2,Y1),‥‥‥(X7,Y
1),(X2,Y2),の順序で(X7,Y8)までフ
ォントキャッシュ900に書き込む。但し,面積率0の
ところは予め書いてあり,また,ベクトル処理部600
における面積率の算出でも面積率0のデータを作成して
いないので,面積率0の画素の書き込みは行わない。ま
た,エッジ部画素以外の画像部分の画素は,面積率を1
とする。
【0048】図8は,上記の操作によって作成されたフ
ォントキャッシュ900の例を示す。尚,フォントキャ
ッシュ900に記憶されるデータは,ポインタで示され
る場所に書き込まれる。このポインタは一番古くに書き
込まれたデータか,或いは,一番古くに参照されたデー
タの場所を示している。
ォントキャッシュ900の例を示す。尚,フォントキャ
ッシュ900に記憶されるデータは,ポインタで示され
る場所に書き込まれる。このポインタは一番古くに書き
込まれたデータか,或いは,一番古くに参照されたデー
タの場所を示している。
【0049】図9は,ページメモリ描画部700の構成
を示す。ベクトル処理部600からページメモリ描画部
700へ送られてくるデータは全てFIFO701を通
して取り込まれ,TAGデコード708によってTAG
ビットを判断し,アンチエイリアシング処理を行うか否
かの区別と,Dレジスタ702,Kレジスタ703,X
Sレジスタ704,XEレジスタ705,YSレジスタ
706,YEレジスタ706の各レジスタへの振り分け
が行われる。
を示す。ベクトル処理部600からページメモリ描画部
700へ送られてくるデータは全てFIFO701を通
して取り込まれ,TAGデコード708によってTAG
ビットを判断し,アンチエイリアシング処理を行うか否
かの区別と,Dレジスタ702,Kレジスタ703,X
Sレジスタ704,XEレジスタ705,YSレジスタ
706,YEレジスタ706の各レジスタへの振り分け
が行われる。
【0050】アンチエイリアシング処理を実行する場
合,LUT(ルックアップテーブル)709は,Kレジ
スタ703にラッチされた面積率と,Dレジスタ702
にラッチされた図形濃度値の乗算を行う。LUT711
は以前にページメモリ800に塗られた濃度値(背景
色)を読み込んで,K0 (K0=1−面積率)の乗算を
行っている。また,710は加算器であり,LUT70
9,LUT711で乗算された値の加算を行っている。
尚,加算時にオーバーフローを起こした場合には濃度の
最大値(全ビット1)にする。
合,LUT(ルックアップテーブル)709は,Kレジ
スタ703にラッチされた面積率と,Dレジスタ702
にラッチされた図形濃度値の乗算を行う。LUT711
は以前にページメモリ800に塗られた濃度値(背景
色)を読み込んで,K0 (K0=1−面積率)の乗算を
行っている。また,710は加算器であり,LUT70
9,LUT711で乗算された値の加算を行っている。
尚,加算時にオーバーフローを起こした場合には濃度の
最大値(全ビット1)にする。
【0051】換言すれば,ページメモリ800とのリー
ド・モディファイ・ライト・アクセスを利用してアンチ
エイリアシング処理の濃度決定処理の演算を実行してい
る。
ド・モディファイ・ライト・アクセスを利用してアンチ
エイリアシング処理の濃度決定処理の演算を実行してい
る。
【0052】このようにして得られた濃度値が主走査方
向,副走査方向の座標より得られたページメモリ800
のアドレスに書き込まれる。一方,スキャンラインによ
る塗りつぶし処理の場合には,Xアドレスカウンタ71
3が主走査方向の開始アドレスXSから終了アドレスX
Eまでカウントして,クロック発生器717の画素クロ
ックに従って1ずつアドレスをインクリメントすること
により,1画素ずつの塗りつぶし処理を実行する。この
時,スキャンラインによる塗りつぶしの濃度はDレジス
タ702からの値がそのままページメモリ800に書き
込まれるようにセレクタ712が切り換えられる。
向,副走査方向の座標より得られたページメモリ800
のアドレスに書き込まれる。一方,スキャンラインによ
る塗りつぶし処理の場合には,Xアドレスカウンタ71
3が主走査方向の開始アドレスXSから終了アドレスX
Eまでカウントして,クロック発生器717の画素クロ
ックに従って1ずつアドレスをインクリメントすること
により,1画素ずつの塗りつぶし処理を実行する。この
時,スキャンラインによる塗りつぶしの濃度はDレジス
タ702からの値がそのままページメモリ800に書き
込まれるようにセレクタ712が切り換えられる。
【0053】1ページ分の全てのベクトルデータに関し
て,上記の処理が終了し,1ページ分の画像がページメ
モリ800に書き込まれ,PDL言語のプリント命令が
実行されると,ページメモリ800は,格納されている
画像データ(多値イメージデータ)を多値カラー・レー
ザー・プリンタ等の出力装置へ送り,出力装置を介して
印字を行う。 フォントキャッシュ900にキャッシュ情報が記憶さ
れている場合 フォントキャッシュ900に記憶されているベクトルデ
ータと同一のベクトルデータ,例えば,図7(a)に示
す文字Bを描画するベクトルデータと同一のベクトルデ
ータが入力されると,ベクトル処理部600は,面積率
の算出を行わずにフォントキャッシュ900から面積率
をページメモリ描画部700に渡す。
て,上記の処理が終了し,1ページ分の画像がページメ
モリ800に書き込まれ,PDL言語のプリント命令が
実行されると,ページメモリ800は,格納されている
画像データ(多値イメージデータ)を多値カラー・レー
ザー・プリンタ等の出力装置へ送り,出力装置を介して
印字を行う。 フォントキャッシュ900にキャッシュ情報が記憶さ
れている場合 フォントキャッシュ900に記憶されているベクトルデ
ータと同一のベクトルデータ,例えば,図7(a)に示
す文字Bを描画するベクトルデータと同一のベクトルデ
ータが入力されると,ベクトル処理部600は,面積率
の算出を行わずにフォントキャッシュ900から面積率
をページメモリ描画部700に渡す。
【0054】ページメモリ描画部700は,フォントキ
ャッシュ900の構成が,矩形領域で表されているため
(即ち,2次元のアドレスで表されているため),図1
0に示す(XS,YS)及び(XE,YE)の2点が指
定される。この(XS,YS),(XE,YE)の2点
は,フォントキャッシュ900に登録されているビット
マップデータのXmin =XS,Xmax =XE,Ymin =
YS,Ymax =YEの関係にある。
ャッシュ900の構成が,矩形領域で表されているため
(即ち,2次元のアドレスで表されているため),図1
0に示す(XS,YS)及び(XE,YE)の2点が指
定される。この(XS,YS),(XE,YE)の2点
は,フォントキャッシュ900に登録されているビット
マップデータのXmin =XS,Xmax =XE,Ymin =
YS,Ymax =YEの関係にある。
【0055】ページメモリ描画部700は,書き込んで
いるラインの最後まで行くと,図9に示すコンパレータ
714によりYアドレスカウンタ(副走査方向アドレス
カウンタ)715がインクリメントされ,次のラインの
XSにアドレスが飛ぶ。このようにして最後のラインの
最後の画素(座標(XE,YE))まで行くと,コンパ
レータ716により,ビットマップ展開されたベクトル
の描画が終了したことを示すベクトル終了通知が出力さ
れる。ページメモリ描画部700をこのような構成とす
ることにより,ビットマップ展開されたフォントキャッ
シュを使用することができ,また,ベクトル処理部60
0は2点の座標を指定するだけで,1つのベクトルデー
タの描画を行うことができる。
いるラインの最後まで行くと,図9に示すコンパレータ
714によりYアドレスカウンタ(副走査方向アドレス
カウンタ)715がインクリメントされ,次のラインの
XSにアドレスが飛ぶ。このようにして最後のラインの
最後の画素(座標(XE,YE))まで行くと,コンパ
レータ716により,ビットマップ展開されたベクトル
の描画が終了したことを示すベクトル終了通知が出力さ
れる。ページメモリ描画部700をこのような構成とす
ることにより,ビットマップ展開されたフォントキャッ
シュを使用することができ,また,ベクトル処理部60
0は2点の座標を指定するだけで,1つのベクトルデー
タの描画を行うことができる。
【0056】前述したように実施例2のベクトル画像描
画装置では,一度面積率の算出を行ったベクトルデータ
の面積率をビットマップデータとしてフォントキャッシ
ュ900に記憶しているので,重複したベクトルデータ
の面積率の算出を行う必要がなく,処理の高速化を図る
ことができる。また,ベクトル処理部600内に組み込
まれているCPUの負担を軽減することができる。ま
た,フォントキャッシュ利用時に矩形領域の2点のみを
指定するだけで描画を行うことができる。
画装置では,一度面積率の算出を行ったベクトルデータ
の面積率をビットマップデータとしてフォントキャッシ
ュ900に記憶しているので,重複したベクトルデータ
の面積率の算出を行う必要がなく,処理の高速化を図る
ことができる。また,ベクトル処理部600内に組み込
まれているCPUの負担を軽減することができる。ま
た,フォントキャッシュ利用時に矩形領域の2点のみを
指定するだけで描画を行うことができる。
【0057】
【発明の効果】以上説明したように本発明のベクトル画
像描画装置は,ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,ベクトル画像の面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,ページメモ
リに描画するページメモリ描画手段と,ベクトル画像の
絶対座標値と相対座標値との変換を行う座標変換手段
と,ベクトル画像の相対座標値,及び,面積率をキャッ
シュ情報として記憶するフォントキャッシュ手段とを備
えたため,処理速度の向上を図ることができ,且つ,C
PUの負荷を軽減することができる。
像描画装置は,ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,ベクトル画像の面積率,及び,走査方向の直線デ
ータを入力して,画素毎の濃度値を演算し,ページメモ
リに描画するページメモリ描画手段と,ベクトル画像の
絶対座標値と相対座標値との変換を行う座標変換手段
と,ベクトル画像の相対座標値,及び,面積率をキャッ
シュ情報として記憶するフォントキャッシュ手段とを備
えたため,処理速度の向上を図ることができ,且つ,C
PUの負荷を軽減することができる。
【0058】また,本発明のベクトル画像描画装置は,
ベクトル画像を直線ベクトルに近似してベクトル画像の
面積率を算出するとともに,走査方向の直線データに変
換するベクトル処理手段と,リード・モディファイ・ラ
イト・アクセスが可能な多値ページメモリと,ベクトル
画像の面積率,及び,走査方向の直線データを入力し
て,画素毎の濃度値を演算し,ページメモリに描画する
とともに,2次元ビットマップデータ展開機能を有した
ページメモリ描画手段と,ベクトル処理手段で算出した
面積率をビットマップデータとして記憶するフォントキ
ャッシュ手段とを備えたため,処理速度の向上を図るこ
とができ,且つ,CPUの負荷を軽減することができ
る。
ベクトル画像を直線ベクトルに近似してベクトル画像の
面積率を算出するとともに,走査方向の直線データに変
換するベクトル処理手段と,リード・モディファイ・ラ
イト・アクセスが可能な多値ページメモリと,ベクトル
画像の面積率,及び,走査方向の直線データを入力し
て,画素毎の濃度値を演算し,ページメモリに描画する
とともに,2次元ビットマップデータ展開機能を有した
ページメモリ描画手段と,ベクトル処理手段で算出した
面積率をビットマップデータとして記憶するフォントキ
ャッシュ手段とを備えたため,処理速度の向上を図るこ
とができ,且つ,CPUの負荷を軽減することができ
る。
【図1】実施例1のベクトル画像描画装置の構成を示す
説明図である。
説明図である。
【図2】ベクトルデータの一例及び画素毎の面積率を示
す説明図である。
す説明図である。
【図3】座標変換回路の回路構成を示す説明図である。
【図4】実施例1のフォントキャッシュのキャッシュ情
報を示す説明図である。
報を示す説明図である。
【図5】実施例2のベクトル画像描画装置の構成を示す
説明図である。
説明図である。
【図6】ビットマップ展開のフローチャートである。
【図7】ベクトルデータの一例及び画素毎の面積率を示
す説明図である。
す説明図である。
【図8】実施例2のフォントキャッシュのビットマップ
データを示す説明図である。
データを示す説明図である。
【図9】実施例2のページメモリ描画部の構成を示す説
明図である。
明図である。
【図10】矩形領域の2点(XS,YS)及び(XE,
YE)を示す説明図である。
YE)を示す説明図である。
【図11】従来のベクトル画像描画装置の一例を示す説
明図である。
明図である。
【図12】曲線ベクトルを直線ベクトルへ近似する方法
を示す説明図である。
を示す説明図である。
【図13】エッジ部でのアンチエイリアシング処理と走
査方向の直線データへの変換を示す説明図である。
査方向の直線データへの変換を示す説明図である。
【図14】エッジ部でのアンチエイリアシング処理と走
査方向の直線データへの変換を示す説明図である。
査方向の直線データへの変換を示す説明図である。
【図15】ベクトル処理部からページメモリ描画部へ送
られるデータの構成を示す説明図である。
られるデータの構成を示す説明図である。
【図16】従来のページメモリ描画部の構成を示す説明
図である。
図である。
100 ベクトル処理部 200 ページメモリ描画部 300 ページメモリ 400 座標変換回路 500 フォントキャッシュ 600 ベクトル処理部 700 ページメモリ描画部 800 ページメモリ 900 フォントキャッシュ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/00 - 11/80 G09G 5/24
Claims (4)
- 【請求項1】 ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,前記ベクトル画像の面積率,及び,走査方向の直
線データを入力して,画素毎の濃度値を演算し,前記ペ
ージメモリに描画するページメモリ描画手段と,ベクト
ル画像の絶対座標値と相対座標値との変換を行う座標変
換手段と,ベクトル画像の相対座標値,及び,面積率を
キャッシュ情報として記憶するフォントキャッシュ手段
とを備えたことを特徴とするベクトル画像描画装置。 - 【請求項2】 前記ベクトル処理手段は,処理対象とな
るベクトル画像と同一のベクトル画像のキャッシュ情報
が前記フォントキャッシュ手段に記憶されているか否か
判定し,記憶されていない場合には,ベクトル画像の面
積率,及び,走査方向の直線データを前記ページメモリ
描画手段に送ると同時に,前記座標変換手段を用いて絶
対座標値を相対座標値に変換し,前記ベクトル画像の面
積率とともにキャッシュ情報としてフォントキャッシュ
手段に記憶させ,記憶されている場合には,ベクトル画
像の面積率の算出,及び,走査方向の直線データへの変
換を行わずに前記座標変換手段を用いて該当するキャッ
シュ情報の相対座標値を絶対座標値に変換し,該当する
キャッシュ情報の面積率とともに前記ページメモリ描画
手段に送ることを特徴とする請求項1のベクトル画像描
画装置。 - 【請求項3】 ベクトル画像を直線ベクトルに近似して
ベクトル画像の面積率を算出するとともに,走査方向の
直線データに変換するベクトル処理手段と,リード・モ
ディファイ・ライト・アクセスが可能な多値ページメモ
リと,前記ベクトル画像の面積率,及び,走査方向の直
線データを入力して,画素毎の濃度値を演算し,前記ペ
ージメモリに描画するとともに,2次元ビットマップデ
ータ展開機能を有したページメモリ描画手段と,前記ベ
クトル処理手段で算出した面積率をビットマップデータ
として記憶するフォントキャッシュ手段とを備えたこと
を特徴とするベクトル画像描画装置。 - 【請求項4】 前記ベクトル処理手段は,処理対象とな
るベクトル画像と同一のベクトル画像のビットマップデ
ータが前記フォントキャッシュ手段に記憶されているか
否か判定し,記憶されていない場合には,ベクトル画像
の面積率,及び,走査方向の直線データを前記ページメ
モリ描画手段に送り,同時に前記ベクトル画像の面積率
をビットマップデータとしてフォントキャッシュ手段に
記憶させ,記憶されている場合には,ベクトル画像の面
積率の算出,及び,走査方向の直線データへの変換を行
わずに該当するビットマップデータを前記ページメモリ
描画手段に送ることを特徴とする請求項3のベクトル画
像描画装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3308407A JP3009525B2 (ja) | 1991-10-28 | 1991-10-28 | ベクトル画像描画装置 |
US07/965,062 US5526474A (en) | 1991-10-28 | 1992-10-22 | Image drawing with improved process for area ratio of pixel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3308407A JP3009525B2 (ja) | 1991-10-28 | 1991-10-28 | ベクトル画像描画装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05120441A JPH05120441A (ja) | 1993-05-18 |
JP3009525B2 true JP3009525B2 (ja) | 2000-02-14 |
Family
ID=17980692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3308407A Expired - Fee Related JP3009525B2 (ja) | 1991-10-28 | 1991-10-28 | ベクトル画像描画装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5526474A (ja) |
JP (1) | JP3009525B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001546A1 (en) * | 2000-06-26 | 2002-01-03 | Microsoft Corporation | Data structures for overscaling or oversampling character in a system for rendering text on horizontally striped displays |
US9299196B2 (en) * | 2004-12-22 | 2016-03-29 | Pitney Bowes Inc. | Method and system for high speed printing using drop-on demand technology that compensates for droplet satellites |
US7830388B1 (en) * | 2006-02-07 | 2010-11-09 | Vitie Inc. | Methods and apparatus of sharing graphics data of multiple instances of interactive application |
US7921260B2 (en) * | 2007-10-24 | 2011-04-05 | International Business Machines Corporation | Preferred write-mostly data cache replacement policies |
JP4737269B2 (ja) * | 2008-10-31 | 2011-07-27 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
US9235452B2 (en) * | 2010-02-05 | 2016-01-12 | Microsoft Technology Licensing, Llc | Graphics remoting using augmentation data |
US9171386B2 (en) * | 2011-10-11 | 2015-10-27 | Microsoft Technology Licensing, Llc | Caching coverage values for rendering text using anti-aliasing techniques |
JP6191106B2 (ja) * | 2012-09-18 | 2017-09-06 | 株式会社リコー | 画像処理装置および画像処理方法 |
JP6736881B2 (ja) * | 2015-12-25 | 2020-08-05 | 株式会社リコー | 画像処理装置、画像形成装置、画像処理方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237650A (en) * | 1989-07-26 | 1993-08-17 | Sun Microsystems, Inc. | Method and apparatus for spatial anti-aliased depth cueing |
US5123085A (en) * | 1990-03-19 | 1992-06-16 | Sun Microsystems, Inc. | Method and apparatus for rendering anti-aliased polygons |
US5220650A (en) * | 1991-01-22 | 1993-06-15 | Hewlett-Packard Company | High speed method for rendering antialiased vectors |
-
1991
- 1991-10-28 JP JP3308407A patent/JP3009525B2/ja not_active Expired - Fee Related
-
1992
- 1992-10-22 US US07/965,062 patent/US5526474A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5526474A (en) | 1996-06-11 |
JPH05120441A (ja) | 1993-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5304988A (en) | Character processing method | |
US4937761A (en) | Method and apparatus for enhanced speed graphic image processing | |
US5355449A (en) | Method and apparatus for outline font character generation in dot matrix devices | |
US5428728A (en) | Method and apparatus for outline font character generation in dot matrix devices | |
US5867612A (en) | Method and apparatus for the fast scaling of an image | |
JP3142550B2 (ja) | 図形処理装置 | |
JP3009525B2 (ja) | ベクトル画像描画装置 | |
JPH05204363A (ja) | ドットマトリクス装置における輪郭字体文字生成のための高速垂直走査−変換・充填方法及びその装置 | |
CN117573048A (zh) | 一种文档水印自动生成方法及终端 | |
US8907956B2 (en) | Line stroking method and system | |
JP2634851B2 (ja) | 画像処理装置 | |
JP3085175B2 (ja) | 描画装置 | |
US6504543B1 (en) | Polygon drawing method and polygon drawing apparatus | |
US7286142B2 (en) | System and method for optimising halftoning printer performance | |
JP4858883B2 (ja) | ベクター画像描画装置、ベクター画像描画方法およびプログラム | |
JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 | |
JP3129717B2 (ja) | 画像処理装置および画像処理方法 | |
JP3211591B2 (ja) | イメージ処理装置 | |
JP3114289B2 (ja) | 文字パターン発生装置 | |
JP2888270B2 (ja) | 図形処理装置及びその方法 | |
JP3099556B2 (ja) | データ変換装置 | |
JPH06274637A (ja) | 画像描画装置 | |
JP3573291B2 (ja) | 文字データ作成方法及び文字データ作成装置 | |
JP2896097B2 (ja) | エレメント別に文字を構成したアウトラインフォントの塗りつぶし方法および装置 | |
JPH05143743A (ja) | ベクトル画像描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |