JPH08329261A - パラメータ曲線発生器 - Google Patents

パラメータ曲線発生器

Info

Publication number
JPH08329261A
JPH08329261A JP7134192A JP13419295A JPH08329261A JP H08329261 A JPH08329261 A JP H08329261A JP 7134192 A JP7134192 A JP 7134192A JP 13419295 A JP13419295 A JP 13419295A JP H08329261 A JPH08329261 A JP H08329261A
Authority
JP
Japan
Prior art keywords
register
curve
curve generator
control point
stack memory
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
JP7134192A
Other languages
English (en)
Inventor
Toshiaki Minami
利秋 南
Itsuo Ozu
逸男 大図
Tatsuhiko Yamazaki
竜彦 山崎
Yuji Hara
裕司 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP7134192A priority Critical patent/JPH08329261A/ja
Priority to TW085106343A priority patent/TW311998B/zh
Priority to US08/657,033 priority patent/US5900884A/en
Priority to KR1019960018720A priority patent/KR100202044B1/ko
Priority to EP96303941A priority patent/EP0745945A3/en
Publication of JPH08329261A publication Critical patent/JPH08329261A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

(57)【要約】 【目的】 ハードウェア規模を抑え、なおかつ2分割演
算を高速に実行できるベジェ曲線を求めるパラメータ曲
線発生器を提供することを目的とする。 【構成】 加算器81′〜83′において(P0 +P
1 )/2等が計算され、その結果がそれぞれレジスタ9
2′,94′,96′に格納される。次に、加算器8
1′において、レジスタ92′の内容とレジスタ94′
の内容が計算され、レジスタ93′に格納される。そし
て、加算器83′においてレジスタ94′の内容とレジ
スタ96′の内容が計算されて、結果がレジスタ95′
に格納される。そして加算器82′においてレジスタ9
3′の内容とレジスタ95′の内容が計算されて、結果
がレジスタ94′に格納される。収束判定回路12
1′,122′において収束しているかどうかが判定さ
れ、その結果に応じて処理が変わる。スタックメモリ1
01′には、レジスタ141〜143を介してデータが
保存される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、OA機器分野におけ
るアウトラインフォント文字や、CAD、デザインの分
野等で用いられる任意のパラメータ曲線を発生するパラ
メータ曲線発生器に関する。
【0002】
【従来の技術】まず、曲線としてベジェ曲線について説
明する。3次ベジェ曲線は4点の座標P0 ,P1 ,P
2 ,P3 を用いて次式で表される。
【0003】
【数1】 P(t)=P0(1−t)3 +3P1t(1−t)2 + 3P2t2(1−t)+P3t3 (0≦t≦1) このベジェ曲線(P0 …P3 )は、図1に示すように制
御点(P0 …P3 )の中点を順次取っていくと、2つの
ベジェ曲線(Q0 …Q3 ,R0 …R3 )に分割される。
ただし、Q3 =R0 である。この分割を繰り返し実行
し、制御点の全長がビット距離1内に至るまで行うこと
により、描画が完成する。
【0004】初期値として与えられた(P0 …P3 )を
分割すると2倍のデータが発生するが、その内片方(R
0 …R3 )をスタックに退避し、片方(Q0 …Q3 )を
次回の初期値とする。これを繰り返し行い、ある時点で
(Q0 …Q3 )が集束すると、次回は(R0 …R3 )を
初期値とする。(Q0 …Q3 ),(R0 …R3 )双方と
も集束した場合には、次回の初期値として直前にスタッ
クに退避した制御点データを復帰して用いる。スタック
が空になると全部の処理が終了する。このように処理を
行うと、ベジェ曲線の展開された描画点列は、P0 →P
3 に向って連続的に得られる。
【0005】2つの制御点の中点を求める演算には、1
回の加算と1回の1/2除算を必要とする。この場合、
1/2除算は1ビット右シフトにより行えるため、1個
の加算器があれば、その出力を1ビット右にずらしたも
のを得ることで、加算と1/2除算とを行うことができ
る。制御点データがnビットの場合には、加算結果の上
位n−1ビットが2分割演算の結果である。そして、演
算結果の最上位ビットとして前記加算器の桁上げ出力を
用いてもよい。
【0006】図2は前記2分割演算を行うパラメータ曲
線発生器の回路例である。レジスタ1〜4には前記(P
0 …P3 )が格納される。加算器11〜16により2分
割演算が行われ、それぞれ、21〜27に演算結果(
0 …Q3 ,R0 …R3 )が出力される(Q3 とR0
同じで24に出力される)。
【0007】収束判定回路31,32では、それぞれ|
0 −Q3 |,|R0 −R3 |を求めて、これらが予め
設定された収束条件を満たしているかを判定する。すな
わち、ビット距離1内にあるかを判定する。
【0008】上述のパラメータ曲線発生器の動作は、制
御点の収束状態に応じて3通りに分類される。すなわ
ち、(Q0 …Q3 )が収束していない場合、(Q0 …Q
3 )が収束しており(R0 …R3 )が収束していない場
合、(Q0 …Q3 )および(R0 …R3 )共に収束して
いる場合の3通りである。この動作は、図示していない
制御回路で制御されている。
【0009】(Q0 …Q3 )が収束していない場合は、
次にセレクタ41を通じてレジスタ2〜4に(Q1 …Q
3 )、すなわち、22,23,24に出力される値が格
納される。レジスタ1の内容はQ0 に等しいのでそのま
まである。同時にバス51を通じて(R1 …R3 )の3
点の値すなわち、25,26,27に出力される値がス
タックメモリ61に退避される。そして、新しい(Q1
・・・ Q3 )に対して同様の演算を行う。
【0010】(Q0 …Q3 )が収束しており、(R0
3 )が収束していない場合は、Q0 すなわち、レジス
タ1の出力値21が出力される。次の点を計算するため
に、セレクタ41を通じてレジスタ1〜3に(R0 …R
2 )すなわち、24,25,26が格納される。レジス
タ4の内容はR3 に等しいのでそのままである。
【0011】(Q0 …Q3 ),(R0 …R3 )が共に収
束している場合は、Q0 ,R0 が出力される。そして、
0 の次の点を計算するために、レジスタ4の内容(R
3 )がセレクタ41を通じてレジスタ1に格納されると
共に、バス51、セレクタ41を通じてスタックメモリ
61から直前に退避された3点の値がレジスタ2〜4に
格納される。
【0012】この回路を動作させるためには、1クロッ
クサイクル中に前記2分割演算、収束判定、セレクタ4
1切替え、レジスタ1〜4への転送、およびスタックメ
モリ61への退避/復帰が行えるようにクロックサイク
ルを設定する必要がある。すなわち、データの転送時間
は無視すると、 (1クロックサイクル)>(加算器1段の遅延時間)×3 +(収束判定回路遅延時間)+(セレクタ切替え時間) +(レジスタのデータセットアップ時間) と設定し、かつその期間中に3点の制御点データを同時
にスタックメモリに退避/復帰できなければならない。
【0013】各制御点データは、それぞれl0 ビットか
らなる整数部と、l1 ビットからなる小数部とからなる
浮動小数点データである。誤差を生じずにベジェ曲線を
発生させるためには、小数部のビット数l1 は通常l0
と同程度である必要がある。例えばl0 が16ビットで
あれば、前記パラメータ曲線発生器のレジスタ1〜4、
加算器11〜16は32ビット幅となり、かなり大きな
ハードウェア規模を要する。
【0014】また、スタックメモリ61は、3点の制御
点データを同時に扱うため32×3=96ビットの幅の
ポートが必要となる。同様に、データにバス51も96
ビット幅となる。この回路をLSI化するとき、このよ
うな大きな幅のバスが存在することは、配線面積の増大
を招き不利である。
【0015】図3は上述の点を改良した回路例である。
レジスタ71〜74は、レジスタ1〜4同様前記(P0
…P3 )が格納される。81〜83は加算器であり、図
2の6個から3個に減らされている。また、91〜97
はレジスタであり、図2の構成に対し追加されている。
101はスタックメモリであり、111は、スタックメ
モリ101とレジスタ72〜74を接続するバスであ
る。この回路は図示していない制御回路で制御されてい
る。
【0016】この回路の動作を図4,図5,図6のタイ
ミングチャートで説明する。
【0017】図4,図5,図6において、共通の動作を
行う第4のサイクルまでを説明する。
【0018】まず、第1のサイクルでは、加算器81〜
83において、Q1 =(P0 +P1)/2,S=(P1
+P2 )/2,R2 =(P2 +P3 )/2が計算され
る。その結果であるQ1 ,S,R2 が、それぞれレジス
タ92,94,96に格納される。それと同時に、P0
がQ0 としてレジスタ91に、P3 がR3 としてレジス
タ97に転送される。
【0019】第2のサイクルでは、加算器81において
レジスタ92の内容とレジスタ94の内容が加算され1
/2倍されて、結果がQ3 としてレジスタ93に格納さ
れる。また、加算器83において、レジスタ94の内容
とレジスタ96の内容が加算され1/2倍されて、結果
がR2 としてレジスタ95に格納される。
【0020】第3のサイクルでは、加算器82において
レジスタ93の内容とレジスタ95の内容が加算され1
/2倍されて、結果がQ3 (R0 )としてレジスタ94
に格納される。この時点で、レジスタ91にはQ0 、レ
ジスタ92にはQ1 、レジスタ93にはQ2 、レジスタ
94にはQ3 =R0 、レジスタ95にはR1 、レジスタ
96にはR2 、レジスタ97にはR3 が格納されている
ことになる。このようにして3回のサイクル(3クロッ
ク)で、図2と同様の2分割演算が行える。
【0021】第4のサイクルでは、収束判定回路12
1,122において(Q0 …Q3 ),(R0 …R3 )が
収束しているかどうかが判定され、その結果に応じて処
理が変わる。
【0022】図4は、(Q0 …Q3 )が収束していない
場合を示している。収束判定回路121,122の判定
結果で、(Q1 …Q3 )が次のサイクルの初めにレジス
タ72〜74に格納されるようにセレクタ131が切替
えられる。そして、第5のサイクルの初めに(Q1 …Q
3 )がレジスタ72〜74に格納される。レジスタ71
の内容はQ0 と等しいので、そのままである。一方(R
1 …R3 )は第5,第6,第7サイクルにバス111を
通じて順次スタックメモリ101に退避される。これが
終了するまで次の前記2分割演算は開始できない。よっ
てこの場合に必要なサイクル数は7である。
【0023】図5に、(Q0 …Q3 )が収束しており
(R0 …R3 )が収束していない場合を示す。第4のサ
イクルの収束判定回路121,122の判定結果で、Q
0 が出力され、(R0 …R2 )がレジスタ71〜73に
格納されるようにセレクタ131が切替えられる。第5
のサイクルの初めに(R0 …R2 )がレジスタ71〜7
3に格納される。レジスタ74の内容はR3 と等しいの
でそのままである。この場合に必要なサイクル数は4で
ある。なぜなら第5のサイクルの初めにレジスタ71〜
74の内容が確定するため、第5のサイクル以降で、上
述の第1のサイクル以降の動作が可能だからである。
【0024】図6に、(Q0 …Q3 )および(R0 …R
3 )共に収束している場合を示す。第4のサイクルの収
束判定回路121,122の判定結果で、Q0 ,R3
出力され、第5,第6,第7サイクルでスタックメモリ
101から順次制御点データを復帰できるように、また
レジスタ97の内容がレジスタ71に転送されるよう
に、セレクタ131が切替えられる。次に第5,第6,
第7サイクルでバス111を通じてスタックメモリ10
1から3点の制御点データ(P1 ′,P2 ′,P3 ′)
がレジスタ72〜74に復帰される。また、第5のサイ
クルの初めに、レジスタ97の内容がセレクタ131を
通じてレジスタ71に格納される(P0 ′)。第8のサ
イクルの初めにレジスタ71〜74が確定しているの
で、この場合に必要なサイクル数は7である。
【0025】図3の場合スタックメモリ101のデータ
ポート幅およびバス111の幅は32ビットとなり、図
2の回路に比してLSI向きと言える。
【0026】この回路を動作させるため、1クロックサ
イクルは、データの転送時間は無視すると、次式のよう
に設定する必要がある。
【0027】 (1クロックサイクル)>max{(加算器1段の遅延時間), (収束判定回路遅延時間+セレクタ切替え時間), (スタックメモリアクセス時間)} +(レジスタデータセットアップ時間) スタックメモリとしてアクセスの高速なレジスタファイ
ル等を用いれば、図3の1クロックサイクルは、図2の
1クロックサイクルの1/4程度にできる。従って、図
2の回路に比べて、(Q0 …Q3 )が収束しており(R
0 …R3 )が収束していない場合には、同程度の速度で
処理が可能であるが、それ以外の場合はスタックメモリ
101とのバス転送サイクル分だけ遅くなる。
【0028】
【発明が解決しようとする課題】上述のように、従来の
回路では、ベジェ曲線を求める2分割演算を高速に実行
しようとすれば、回路規模が大きくなり、バス幅が大き
くなり、その結果LSI化が難しかった。そして、回路
規模をおさえ、バス幅を小さくするためには、時分割処
理を行う必要があり、処理速度が遅くなるということが
あった。本発明はハードウェア規模を抑え、なおかつ2
分割演算を高速に実行できるベジェ曲線を求めるパラメ
ータ曲線発生器を供給することを目的とする。
【0029】
【課題を解決するための手段】請求項1記載の発明は、
任意のパラメータ曲線を発生するパラメータ曲線発生器
において、前記曲線の制御点の各座標値を格納する第1
のレジスタと、前記レジスタで保持されている制御点を
2分割し、2組の曲線の各制御点を形成する2分割回路
と、前記2分割回路によって形成された2組の曲線の各
制御点を格納する第2のレジスタと、複数組の各制御点
を順次格納するスタックメモリと、前記第1,第2のレ
ジスタと前記スタックメモリとの間に位置し、1組の各
制御点を格納する第3のレジスタと、前記第2のレジス
タで格納される制御点に基づき、前記2分割回路で制御
点の2分割を行わせるか否かを決定する判定回路とを具
備し、予め前記第1のレジスタに与えられる制御点の2
分割操作を繰り返し行うことにより、所望のパラメータ
曲線を発生して出力することを特徴とするパラメータ曲
線発生器である。
【0030】請求項2記載の発明は、前記判定回路の判
定結果に従い、前記2分割回路により形成された2組の
各制御点のうち1組が一時退避される場合、一旦前記第
3のレジスタに格納された後、前記スタックメモリに格
納されることを特徴とする請求項1記載のパラメータ曲
線発生器である。
【0031】請求項3記載の発明は、前記判定回路の判
定結果に従い、一時退避してあった1組の曲線の各制御
点が前記第1のレジスタに転送される場合、前記第3の
レジスタの内容が転送されることを特徴とする請求項1
または2記載のパラメータ曲線発生器である。
【0032】請求項4記載の発明は、前記2分割回路の
2分割操作と、前記第3のレジスタと前記スタックメモ
リとの間の転送が、同時平行して行われることを特徴と
する請求項1〜3のいずれかに記載のパラメータ曲線発
生器である。
【0033】請求項5記載の発明は、前記スタックメモ
リが一度に1個の制御点を読み書きできるように構成さ
れたことを特徴とする請求項1〜4のいずれかに記載の
パラメータ曲線発生器である。
【0034】請求項6記載の発明は、前記2分割回路が
3個の加算器により構成され、各制御点の2分割操作が
3クロックで終了することを特徴とする請求項の1〜5
のいずれかに記載のパラメータ曲線発生器である。
【0035】請求項7記載の発明は、前記各レジスタお
よびスタックメモリが、整数部と少数部とで構成された
ことを特徴とする請求項1〜6のいずれかに記載のパラ
メータ曲線発生器である。
【0036】請求項8記載の発明は、発生する曲線がペ
ジェ曲線であることを特徴とする請求項1〜7のいずれ
かに記載のパラメータ曲線発生器である。
【0037】請求項9記載の発明は、前記ベジェ曲線が
x,y座標を持つ2次元空間のものであり、x,y座標
の個々に前記レジスタ、スタックメモリを有することを
特徴とする請求項8記載のパラメータ曲線発生器であ
る。
【0038】請求項10記載の発明は、前記発生した曲
線を出力する出力手段を有することを特徴とする請求項
1〜9のいずれかに記載のパラメータ曲線発生器であ
る。
【0039】請求項11記載の発明は、前記出力手段が
プリンタであることを特徴とする請求項10記載のパラ
メータ曲線発生器である。
【0040】
【作用】本発明のパラメータ曲線発生器は、第1のレジ
スタに与えられるベジェ曲線の点に対して、スタックメ
モリへそれぞれの加算器からのデータを退避/復帰動作
することにより、2分割操作を繰り返し行い、所望のパ
ラメータ曲線を発生している。
【0041】そして、本発明のパラメータ曲線発生器
は、第3のレジスタを用いることにより、前記2分割回
路によるベジェ曲線の制御点の2分割動作と、一組の各
制御点の前記スタックメモリへの退避/復帰動作を同時
平行して行えるようしている。このため、1回の前記2
分割演算を、収束状態に関わらず全ての場合について、
4クロックサイクルで行うことができる。
【0042】
【実施例】図7は、本発明の実施例を示したものであ
る。図3と比較し、機能、位置に変化のないものは図3
の構成の番号に′を付けて表示している。レジスタ14
1〜143のみが、上記で説明した図3の構成に対し、
本発明で付加されたものであり、回路規模の増加は僅か
である。
【0043】以下、図7の動作を図8,図9,図10の
タイミングチャートを用いて説明する。なお、この回路
の制御は、図示しない制御回路を用いて行っている。
【0044】図8,図9,図10において、共通の動作
を行う第4のサイクルまでを説明する。
【0045】まず、第1のサイクルで、加算器81′〜
83′において(P0 +P1 )/2,(P 1 +P2
/2,(P2 +P3 )/2が計算され、その結果がQ
1 ,S,R2 として、それぞれレジスタ92′,9
4′,96′に格納される。それと同時に、P0 がQ0
としてレジスタ91′に、P3 がR3 としてレジスタ9
7′に転送される。
【0046】第2のサイクルでは、加算器81′におい
て、レジスタ92′の内容(Q1 )とレジスタ94′
(S)の内容が加算、1/2倍されて、結果(Q2 )が
レジスタ93′に格納される。また加算器83′におい
てレジスタ94′(S)の内容とレジスタ96′(R
2 )の内容が加算、1/2倍されて、結果(R1 )がレ
ジスタ95′に格納される。
【0047】第3のサイクルでは、加算器82′におい
てレジスタ93′の内容(Q2 )とレジスタ95′(R
1 )の内容が加算、1/2倍されて、結果(Q3 ,R
0 )がレジスタ94′に格納される。この時点でレジス
タ91′にはQ0 、レジスタ92′にはQ1 、レジスタ
93′にはQ2 、レジスタ94′にはQ3 =R0 、レジ
スタ95′にはR1 、レジスタ96′にはR2 、レジス
タ97′にはR3 が格納されている。
【0048】第4のサイクルでは収束判定回路12
1′,122′において(Q0 …Q3 ),(R0 …R
3 )が収束しているかどうかが判定され、その結果に応
じて処理が変わる。
【0049】図8は、(Q0 …Q3 )が収束していない
場合を示している。収束判定回路121′,122′の
判定結果で、(Q1 …Q3 )が第5のサイクルの初めに
レジスタ72′〜74′に格納されるように、また、
(R1 …R3 )が第5のサイクルの初めにレジスタ14
1〜143に格納されるように、セレクタ131′が切
替えられる。第5のサイクルで(Q1 …Q3 )がレジス
タ72′〜74′に格納される。レジスタ71′の内容
はQ0 と等しいのでそのままである。また、(R1 …R
3 )がレジスタ141〜143に格納される。さらに、
第5,第6,第7サイクルで、レジスタ141〜143
の内容が順次スタックメモリ101′に退避される。こ
のときレジスタ141〜143の内容は変化しない。
【0050】図9は、(Q0 …Q3 )が収束しており
(R0 …R3 )が収束していない場合を示している。収
束判定回路121′,122′の判定結果で、Q0 が出
力され、(R0 …R2 )がレジスタ71′〜73′に格
納されるようにセレクタ131′が切替えられる。第5
のサイクルの初めに(R0 …R2 )がレジスタ71′〜
73′に格納される。レジスタ74′の内容はR3 と等
しいのでそのままである。
【0051】図10は、(Q0 …Q3 )および(R0
3 )共に収束している場合を示している。収束判定回
路121′,122′の判定結果で、Q0 ,R0 が出力
され、第5のサイクルでレジスタ141〜143の内容
(P1 ′,P2 ′,P3 ′)がレジスタ72′〜74′
転送されるように、またレジスタ97′の内容
(P0′)がレジスタ71′に転送されるように、セレ
クタ131′が切替えられる。次に、第5のサイクルの
初めに、レジスタ141〜143の内容がレジスタ7
2′〜74′転送される。ここで注意しなければならな
いのは、レジスタ141〜143の内容は、直前にスタ
ックメモリ101′に退避された内容と同一であること
である。また第5のサイクルの初めにレジスタ74′の
内容がセレクタ131′を通じてレジスタ71′に格納
される。次に第5,第6,第7のサイクルでスタックメ
モリ101′からバス111′を通じて、スタックメモ
リの先頭から2組目にある制御点データ(P1 ″,P
2 ″,P3 ″)が順次レジスタ141〜143に復帰さ
れる。また、スタックの先頭を1組前に戻す。この結
果、レジスタ141〜143の内容とスタックメモリ1
01′の先頭の1組の制御点データが、1回の前記2分
割演算の後で常に一致する。このレジスタ141〜14
3の内容を用いると、(Q0 …Q3 )および(R0 …R
3 )共に収束している場合が連続したときでも、制御点
データをレジスタ72′〜74′に復帰するために、バ
スサイクルを待つ必要がない。
【0052】次に、この回路の動作を考察する。
【0053】1.スタックメモリ101′とレジスタ1
41〜143間のバスサイクル 2.レジスタ141〜143とレジスタ72′〜7
4′、レジスタ95′〜97′間のデータ転送サイクル 3.2分割演算動作 の3つに分けて考える。
【0054】1のバスサイクルが生じるのは、必ず第
5,第6,第7サイクル目である。
【0055】2の転送サイクルが生じるのは、必ず第5
のサイクルの初めである。
【0056】3の2分割演算動作において、第5のサイ
クルの初めに次の動作に必要なデータは、レジスタ7
1′〜74′に確定している。このレジスタ71′〜7
4′の値を用いて、独立に連続して2分割演算動作は可
能である。
【0057】したがって、この回路の動作において、バ
スサイクルおよび転送サイクルと2分割演算動作とは、
パイプライン動作が可能である。このため、この様にパ
イプライン動作を行えば、このとき見かけ上、1回の2
分割演算動作が4クロックサイクルで行える。
【0058】必要なクロックサイクル数を求めるにあた
り、パイプライン動作を行って4クロックサイクルで行
うことにする。
【0059】また1クロックサイクルも、図3の回路と
同様の時間に設定することができる。従って図3と同程
度のハードウェア規模でありながら、図2と同程度の速
度で、2分割演算が行える。
【0060】以上1次元のデータを元に説明してきた
が、本発明が係るベジェ曲線は、通常x,y座標を持つ
2次元空間上のものであり、これには上述のパラメータ
曲線発生器を2組備えればよい。この場合上述の収束状
態はx,yの双方とも収束している場合を収束している
として、x,yで同じ動作を行う。
【0061】また、説明の簡単のため図3,図7におい
てレジスタ91,97,91′,97′を用いたが、こ
れらは無くてもよい。その場合、レジスタ91,9
1′,97,97′は、それぞれレジスタ71,7
1′,74,74′を用いることになる。
【0062】本実施例で説明したパラメータ曲線発生器
は、メモリに記憶されているアウトラインフォントデー
タをパラメータ曲線発生器に入力することにより、曲線
を展開するための制御点を導出し、導出された制御点に
基づき曲線を展開し、不図示のプリンタや表示器により
曲線を出力できる。
【0063】
【発明の効果】以上説明したように、本発明のパラメー
タ曲線発生器は、ベジェ曲線を少ないハードウェア量で
ありながら、高速に展開することができる。またバス幅
を抑えることで特にLSI化に適している。
【図面の簡単な説明】
【図1】3次のベジェ曲線を2つに分割することを説明
する図である。
【図2】パラメータ曲線発生器の構成を説明するブロッ
ク図である。
【図3】パラメータ曲線発生器の構成を説明するブロッ
ク図である。
【図4】図3の構成の各部の動作タイミングを説明する
図である。
【図5】図3の構成の各部の動作タイミングを説明する
図である。
【図6】図3の構成の各部の動作タイミングを説明する
図である。
【図7】本発明の構成を説明するブロック図である。
【図8】本発明の構成の各部の動作タイミングを説明す
る図である。
【図9】本発明の構成の各部の動作タイミングを説明す
る図である。
【図10】本発明の構成の各部の動作タイミングを説明
する図である。
【符号の説明】 1,2,3,4,71,72,73,74,91,9
2,93,94,95,96,97,71′,72′,
73′,74′,91′,92′,93′,94′,9
5′,96′,97′,141,142,143 レジ
スタ 11,12,13,14,15,16,81,82,8
3,81′,82′,83′ 加算器 31,32,121,122,121′,122′ 収
束判定回路 41,131,131′ セレクタ 61,101,101′ スタックメモリ 51,111,111′ バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 原 裕司 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 任意のパラメータ曲線を発生するパラメ
    ータ曲線発生器において、 前記曲線の制御点の各座標値を格納する第1のレジスタ
    と、 前記レジスタで保持されている制御点を2分割し、2組
    の曲線の各制御点を形成する2分割回路と、 前記2分割回路によって形成された2組の曲線の各制御
    点を格納する第2のレジスタと、 複数組の各制御点を順次格納するスタックメモリと、 前記第1,第2のレジスタと前記スタックメモリとの間
    に位置し、1組の各制御点を格納する第3のレジスタ
    と、 前記第2のレジスタで格納される制御点に基づき、前記
    2分割回路で制御点の2分割を行わせるか否かを決定す
    る判定回路とを具備し、 予め前記第1のレジスタに与えられる制御点の2分割操
    作を繰り返し行うことにより、所望のパラメータ曲線を
    発生して出力することを特徴とするパラメータ曲線発生
    器。
  2. 【請求項2】 前記判定回路の判定結果に従い、前記2
    分割回路により形成された2組の各制御点のうち1組が
    一時退避される場合、一旦前記第3のレジスタに格納さ
    れた後、前記スタックメモリに格納されることを特徴と
    する請求項1記載のパラメータ曲線発生器。
  3. 【請求項3】 前記判定回路の判定結果に従い、一時退
    避してあった1組の曲線の各制御点が前記第1のレジス
    タに転送される場合、前記第3のレジスタの内容が転送
    されることを特徴とする請求項1または2記載のパラメ
    ータ曲線発生器。
  4. 【請求項4】 前記2分割回路の2分割操作と、前記第
    3のレジスタと前記スタックメモリとの間の転送が、同
    時平行して行われることを特徴とする請求項1〜3のい
    ずれかに記載のパラメータ曲線発生器。
  5. 【請求項5】 前記スタックメモリが一度に1個の制御
    点を読み書きできるように構成されたことを特徴とする
    請求項1〜4のいずれかに記載のパラメータ曲線発生
    器。
  6. 【請求項6】 前記2分割回路が3個の加算器により構
    成され、各制御点の2分割操作が3クロックで終了する
    ことを特徴とする請求項の1〜5のいずれかに記載のパ
    ラメータ曲線発生器。
  7. 【請求項7】 前記各レジスタおよびスタックメモリ
    が、整数部と少数部とで構成されたことを特徴とする請
    求項1〜6のいずれかに記載のパラメータ曲線発生器。
  8. 【請求項8】 発生する曲線がペジェ曲線であることを
    特徴とする請求項1〜7のいずれかに記載のパラメータ
    曲線発生器。
  9. 【請求項9】 前記ベジェ曲線がx,y座標を持つ2次
    元空間のものであり、x,y座標の個々に前記レジス
    タ、スタックメモリを有することを特徴とする請求項8
    記載のパラメータ曲線発生器。
  10. 【請求項10】 前記発生した曲線を出力する出力手段
    を有することを特徴とする請求項1〜9のいずれかに記
    載のパラメータ曲線発生器。
  11. 【請求項11】 前記出力手段がプリンタであることを
    特徴とする請求項10記載のパラメータ曲線発生器。
JP7134192A 1995-05-31 1995-05-31 パラメータ曲線発生器 Pending JPH08329261A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP7134192A JPH08329261A (ja) 1995-05-31 1995-05-31 パラメータ曲線発生器
TW085106343A TW311998B (ja) 1995-05-31 1996-05-28
US08/657,033 US5900884A (en) 1995-05-31 1996-05-29 Parametric curve generating device generating a Bezier curve for font character utilization or an arbitrary parametric curve
KR1019960018720A KR100202044B1 (ko) 1995-05-31 1996-05-30 파라메트릭 곡선 발생 장치
EP96303941A EP0745945A3 (en) 1995-05-31 1996-05-31 Parametric curve generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7134192A JPH08329261A (ja) 1995-05-31 1995-05-31 パラメータ曲線発生器

Publications (1)

Publication Number Publication Date
JPH08329261A true JPH08329261A (ja) 1996-12-13

Family

ID=15122592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7134192A Pending JPH08329261A (ja) 1995-05-31 1995-05-31 パラメータ曲線発生器

Country Status (5)

Country Link
US (1) US5900884A (ja)
EP (1) EP0745945A3 (ja)
JP (1) JPH08329261A (ja)
KR (1) KR100202044B1 (ja)
TW (1) TW311998B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212205B2 (en) 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
JP2011133578A (ja) * 2009-12-22 2011-07-07 Renesas Electronics Corp 表示データ補正装置、及び、それを使用する表示パネルドライバ、表示装置
US9019277B2 (en) 2010-06-30 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Curve-dividing device, curve-dividing method, curve-dividing program and integrated circuit

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717905A (en) * 1994-12-15 1998-02-10 Kao Corporation CAD system and bezier-curve data converting apparatus and method thereof in said CAD system
US6067094A (en) * 1998-04-07 2000-05-23 Adobe Systems Incorporated Brushstroke envelopes
JP3270928B2 (ja) * 1999-09-30 2002-04-02 コナミ株式会社 フィールドマップ生成方法、ビデオゲームシステム、及び記録媒体
AU768344B2 (en) * 2000-02-10 2003-12-11 Canon Kabushiki Kaisha Animating character outlines
JP2003051020A (ja) * 2001-08-06 2003-02-21 Sharp Corp 曲線近似方法及び曲線近似装置と、それに用いる曲線近似プログラム
US7015917B2 (en) * 2003-07-18 2006-03-21 Matsushita Electric Industrial Co., Ltd. Curved surface subdivision apparatus
JP4866013B2 (ja) * 2005-03-31 2012-02-01 富士通株式会社 文字画像生成プログラム、そのシステム、及びその方法
JP5767516B2 (ja) 2010-10-08 2015-08-19 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US9224219B2 (en) * 2012-12-21 2015-12-29 Citrix Systems, Inc. Systems and methods for presenting a free-form drawing
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves
US10936792B2 (en) 2017-12-21 2021-03-02 Monotype Imaging Inc. Harmonizing font contours

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0349182B1 (en) * 1988-06-29 1997-02-26 Fujitsu Limited Method and apparatus for approximating polygonal line to curve
US5023828A (en) * 1988-07-20 1991-06-11 Digital Equipment Corporation Microinstruction addressing in high-speed CPU
US4989210A (en) * 1988-08-30 1991-01-29 Unisys Corporation Pipelined address check bit stack controller
JPH02176879A (ja) * 1988-12-28 1990-07-10 Toshiba Corp パラメータ曲線発生器
US5241654A (en) * 1988-12-28 1993-08-31 Kabushiki Kaisha Toshiba Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
JPH03127186A (ja) * 1989-10-12 1991-05-30 Mitsubishi Electric Corp 描画方式
JP2734711B2 (ja) * 1990-01-12 1998-04-02 日本電気株式会社 曲線発生装置
JPH0458378A (ja) * 1990-06-28 1992-02-25 Mitsubishi Heavy Ind Ltd ベジエ曲線を分割して展開する方法
US5128887A (en) * 1991-01-31 1992-07-07 Hewlett-Packard Company Numerical accuracy indicator for rounded numeric value display method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212205B2 (en) 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
JP2011133578A (ja) * 2009-12-22 2011-07-07 Renesas Electronics Corp 表示データ補正装置、及び、それを使用する表示パネルドライバ、表示装置
US9019277B2 (en) 2010-06-30 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Curve-dividing device, curve-dividing method, curve-dividing program and integrated circuit

Also Published As

Publication number Publication date
EP0745945A3 (en) 1999-04-14
KR960042420A (ko) 1996-12-21
US5900884A (en) 1999-05-04
KR100202044B1 (ko) 1999-06-15
EP0745945A2 (en) 1996-12-04
TW311998B (ja) 1997-08-01

Similar Documents

Publication Publication Date Title
US4635292A (en) Image processor
JPH08329261A (ja) パラメータ曲線発生器
US4757444A (en) Vector processor capable of performing iterative processing
EP0474246A2 (en) Image signal processor
JP2737933B2 (ja) 除算装置
JPS622330B2 (ja)
EP0256488B1 (en) Method of interpolating pixel values
JPH06309349A (ja) プログラム制御のプロセッサ
JP2748787B2 (ja) 曲線発生装置
JPS6310263A (ja) ベクトル処理装置
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP3166781B2 (ja) 加算回路
JPH04364525A (ja) 並列演算装置
JPS62184576A (ja) クリツピング回路
JP2778478B2 (ja) 相関演算プロセッサ
JPH03116327A (ja) 乗算方式
JPH05174152A (ja) 画像処理装置
JP2607759B2 (ja) 除算器
JPH08287037A (ja) デジタル信号処理プロセッサ
JP2003099419A (ja) 高速補間演算器
JPH04120147U (ja) 積和器回路
Wong et al. A new scalable systolic array processor architecture for simultaneous discrete convolution of k different (nxn) filter coefficient planes with a single image plane
JPH0414094A (ja) 描画処理装置
JPH0553759A (ja) 固定小数点演算ユニツト
JPH04316129A (ja) 乗算器

Legal Events

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

Free format text: PAYMENT UNTIL: 20080929

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 12