JPH01124077A - 画素生成方法及びシステム - Google Patents
画素生成方法及びシステムInfo
- Publication number
- JPH01124077A JPH01124077A JP63233847A JP23384788A JPH01124077A JP H01124077 A JPH01124077 A JP H01124077A JP 63233847 A JP63233847 A JP 63233847A JP 23384788 A JP23384788 A JP 23384788A JP H01124077 A JPH01124077 A JP H01124077A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- error term
- pixels
- cycle
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/20—Drawing from basic elements
- G06T11/23—Drawing from basic elements using straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、連続線形関数の2次元格子へのマツピングに
関する。具体的には、単一マシン・サイクル中に複数の
画素位置を生成する方法と装置を利用して、ラスク表示
のための格子位置を決定することに関する。
関する。具体的には、単一マシン・サイクル中に複数の
画素位置を生成する方法と装置を利用して、ラスク表示
のための格子位置を決定することに関する。
B、従来技術
多くの場合、第1のパラメータXの連続線形関数である
所与のパラメータyを表わすために、可能なX及びy値
の2次元格子中の離散した位置を選択しなければならな
い。格子の各点は、その格子点に関連付けられたX及び
y値の交点に位置する。このようにして形成された格子
点は、しばしば「画素」と呼ばれる。この形式の2次元
格子に連続線形関数を最も正確にマツプするには、その
関数を表すべく選定した画素が、その関数の真のX及び
y値の最も近くに位置するものでなければならない。
所与のパラメータyを表わすために、可能なX及びy値
の2次元格子中の離散した位置を選択しなければならな
い。格子の各点は、その格子点に関連付けられたX及び
y値の交点に位置する。このようにして形成された格子
点は、しばしば「画素」と呼ばれる。この形式の2次元
格子に連続線形関数を最も正確にマツプするには、その
関数を表すべく選定した画素が、その関数の真のX及び
y値の最も近くに位置するものでなければならない。
この種のマツピング問題の一般的な例は、2次元ラスク
格子上に連続線を表すことである。そうするには、真の
線に最も近くに位置する画素のX及びy座標を決定しな
ければならない。ただし、X及びyは整数値である。画
素の座標を決定するのに使用されるアルゴリズムは、し
ばしば走査変換アルゴリズムと呼ばれる。通常、このア
ルゴリズムによって決定された画素座標は、記憶装置の
ラスク格子位置に対応するアドレスに記憶される。
格子上に連続線を表すことである。そうするには、真の
線に最も近くに位置する画素のX及びy座標を決定しな
ければならない。ただし、X及びyは整数値である。画
素の座標を決定するのに使用されるアルゴリズムは、し
ばしば走査変換アルゴリズムと呼ばれる。通常、このア
ルゴリズムによって決定された画素座標は、記憶装置の
ラスク格子位置に対応するアドレスに記憶される。
次に従来のラスク走査表示技術を利用してメモリを走査
し、そこに記憶された画素位置を輝かして、得られた線
を表示することができる。
し、そこに記憶された画素位置を輝かして、得られた線
を表示することができる。
通常のラスク表示では、使用される走査変換アルゴリズ
ムが、頻繁に、おそらくはあるイメージが表示画面上で
作成また−は修正される度に、数百回または数千回も繰
り返して呼び出される。したがって、使用されるアルゴ
リズムは、画素位置を満足のいくように決定することの
他に、できるだけ迅速に実行しなければならない。走査
変換アルゴリズムを選択する際、速度と画質を両天秤に
かけて考量しなければならないことがしばしばある。
ムが、頻繁に、おそらくはあるイメージが表示画面上で
作成また−は修正される度に、数百回または数千回も繰
り返して呼び出される。したがって、使用されるアルゴ
リズムは、画素位置を満足のいくように決定することの
他に、できるだけ迅速に実行しなければならない。走査
変換アルゴリズムを選択する際、速度と画質を両天秤に
かけて考量しなければならないことがしばしばある。
所与のアルゴリズムを最も迅速に実行するために、アル
ゴリズムが繰り返される度に実行される計算の数、特に
乗算と除算の数を最小にする増分方法が利用される。
ゴリズムが繰り返される度に実行される計算の数、特に
乗算と除算の数を最小にする増分方法が利用される。
従来の大部分のラスク表示では、連続線を同時に1画素
ずつラスク化し、各画素を順に生成していく。それを実
行するのにおそらく最も広く使用されているアルゴリズ
ムは、ブレゼンハムの線アルゴリズムと呼ばれるもので
ある。このアルゴリズムは、多くのコンピュータ・グラ
フィックスの教科書に説明されている。たとえば、この
アルゴリズムの説明とその誘導方法が、J、D、フォリ
ー(Foley)とA、ヴアン・ダム(Van Dam
)の共著「対話型コンピュータ・グラフィックスの基礎
(Fundamentals of Interact
ive ComputerGraphics) J 、
アジソン・ウニズリ−出版社(1982年)、のI)p
431−438に出ている。
ずつラスク化し、各画素を順に生成していく。それを実
行するのにおそらく最も広く使用されているアルゴリズ
ムは、ブレゼンハムの線アルゴリズムと呼ばれるもので
ある。このアルゴリズムは、多くのコンピュータ・グラ
フィックスの教科書に説明されている。たとえば、この
アルゴリズムの説明とその誘導方法が、J、D、フォリ
ー(Foley)とA、ヴアン・ダム(Van Dam
)の共著「対話型コンピュータ・グラフィックスの基礎
(Fundamentals of Interact
ive ComputerGraphics) J 、
アジソン・ウニズリ−出版社(1982年)、のI)p
431−438に出ている。
この記載を引用により本明細書に組み込む。要約すると
、真の線を表すために様々な画素位置を選択するとき、
ブレゼンハムのアルゴリズムは、現誤差項及びそれに適
用される訂正項を決定する。
、真の線を表すために様々な画素位置を選択するとき、
ブレゼンハムのアルゴリズムは、現誤差項及びそれに適
用される訂正項を決定する。
初期誤差項及び各訂正項は、その線が横切るすべてのX
及びyの変位から決定される。特定の各画素について、
その画素に関連する誤差項は、その 5 一 画素が真線位置からずれている量を反映する。すなわち
、様々な画素の誤差項を利用して、どの画素がその線に
最も近いかが決定される。画素位置が順に選ばれ、後続
の画素位置を選択するためにアルゴリズムが繰り返され
るとき、以前の画素位置の選択によって生じた誤差項の
変化を補償するため、現誤差項に適切な訂正項が加えら
れる。線の終端に達して、最後の画素位置が選択される
までこのプロセスが続けられる。
及びyの変位から決定される。特定の各画素について、
その画素に関連する誤差項は、その 5 一 画素が真線位置からずれている量を反映する。すなわち
、様々な画素の誤差項を利用して、どの画素がその線に
最も近いかが決定される。画素位置が順に選ばれ、後続
の画素位置を選択するためにアルゴリズムが繰り返され
るとき、以前の画素位置の選択によって生じた誤差項の
変化を補償するため、現誤差項に適切な訂正項が加えら
れる。線の終端に達して、最後の画素位置が選択される
までこのプロセスが続けられる。
C0発明が解決しようとする問題点
ブレゼンハムのアルゴリズムは整数の計算しか使用せず
、したがってアルゴリズムの計算を繰り返して実行する
増分技法に向いている。さらに、その計算には2進デー
タの加算、減算及び左シフトしか含まれない。時間がか
かる乗算や除算は含まれていない。したがって、ブレゼ
ンハムのアルゴリズムは、線をラスク化する効率のよい
手段をもたらすが、生成ハードウェアのあるマシン・サ
イクルで1つしか画素位置を生成しない。ラスク表示シ
ステムの性能を向上させるには、より迅速な走査変換技
法が必要である。さらに、生成中の画素位置は、メモリ
・アクセス争奪が回避または解消されるような形で、ラ
スク表示装置のフレーム・バッファ・メモリに記憶する
ことができなければならない。
、したがってアルゴリズムの計算を繰り返して実行する
増分技法に向いている。さらに、その計算には2進デー
タの加算、減算及び左シフトしか含まれない。時間がか
かる乗算や除算は含まれていない。したがって、ブレゼ
ンハムのアルゴリズムは、線をラスク化する効率のよい
手段をもたらすが、生成ハードウェアのあるマシン・サ
イクルで1つしか画素位置を生成しない。ラスク表示シ
ステムの性能を向上させるには、より迅速な走査変換技
法が必要である。さらに、生成中の画素位置は、メモリ
・アクセス争奪が回避または解消されるような形で、ラ
スク表示装置のフレーム・バッファ・メモリに記憶する
ことができなければならない。
したがって、本発明の一目的は、あるマシン・サイクル
中にラスク化された線の複数の画素位置を生成する技術
を提供することである。
中にラスク化された線の複数の画素位置を生成する技術
を提供することである。
本発明の他の目的は、追加マシン・サイクルの必要なく
、画素の生成中にメモリ・アクセス争奪が解決できるよ
うな形で、複数の画素位置を生成する方法を提供するこ
とにある。
、画素の生成中にメモリ・アクセス争奪が解決できるよ
うな形で、複数の画素位置を生成する方法を提供するこ
とにある。
本発明の他の目的は、市販のハードウェアを用いて、画
素位置の決定に必要な計算を、迅速に実行できる画素生
成システムを提供することにある。
素位置の決定に必要な計算を、迅速に実行できる画素生
成システムを提供することにある。
本発明の他の目的は、あるマシン・サイクル中に所定の
数の画素を生成するように調整することができる画素生
成システムを提供することにある。
数の画素を生成するように調整することができる画素生
成システムを提供することにある。
D0問題点を解決するための手段
1つの観点によると、本発明は、単一マシン・サイクル
で複数の画素のデータ値を生成する画素生成方法を提供
する。それらのデータ値は、少なくとも1つの画素の座
標の線形関数を表し、その方法は、連続する複数の画素
のおのおのに対するブレゼンハムのアルゴリズムによる
誤差項の生成を含む。連続する画素の数は、単一マシン
・サイクル中に生成される画素の数と等しくなるように
選択される。本発明の方法は、また複数のベクトル生成
器を用いて並列に複数の画素のデータ値を生成すること
を含む。各画素のデータ値は、ブレゼンハムのアルゴリ
ズムによって計算した初期値、及び生成中の画素を考慮
に入れた初期値の増分変化の関数として決定される。本
発明の方法は、さらにベクトル生成器によって供給され
るデータ値を線形関数を表す画素位置データに変換する
こと、及びデータが生成されるマシン・サイクル中に記
憶できなかったデータが後続のサイクルで記憶すべく循
環されるような形で、上記の変換の結果生成された画素
位置データを記憶することを含みうる。
で複数の画素のデータ値を生成する画素生成方法を提供
する。それらのデータ値は、少なくとも1つの画素の座
標の線形関数を表し、その方法は、連続する複数の画素
のおのおのに対するブレゼンハムのアルゴリズムによる
誤差項の生成を含む。連続する画素の数は、単一マシン
・サイクル中に生成される画素の数と等しくなるように
選択される。本発明の方法は、また複数のベクトル生成
器を用いて並列に複数の画素のデータ値を生成すること
を含む。各画素のデータ値は、ブレゼンハムのアルゴリ
ズムによって計算した初期値、及び生成中の画素を考慮
に入れた初期値の増分変化の関数として決定される。本
発明の方法は、さらにベクトル生成器によって供給され
るデータ値を線形関数を表す画素位置データに変換する
こと、及びデータが生成されるマシン・サイクル中に記
憶できなかったデータが後続のサイクルで記憶すべく循
環されるような形で、上記の変換の結果生成された画素
位置データを記憶することを含みうる。
別の観点から言えば、本発明の画素生成システムは、画
素位置のy座標が正またはゼロであるがX座標以下とな
る座標系の8分円中にその関数の画素座標が含まれるよ
うに線形関数を定義する、パラメータの正規化手段を含
む。このシステムは、マタブレゼンハムのアルゴリズム
を連続する複数の画素のおのおのに適用することによっ
て初期誤差項を生成する手段、及び初期誤差項を生成す
るのに使用された連続する複数の画素位置以外の画素位
置に対応する誤差項を、単一マシン・サイクル中に並列
に生成する手段をも含む。並列画素生成手段は、さらに
選択可能な増分を各並列画素生成器の現誤差項に加える
ように構成される。この増分は2つの可能な値をもち、
どちらの値が選択されるかは、その増分が加えられる誤
差項の符号によって決まる。好ましい実施例では、この
増分は、ラスク化された緑画素座標を含む領域の関数と
して決定される。
素位置のy座標が正またはゼロであるがX座標以下とな
る座標系の8分円中にその関数の画素座標が含まれるよ
うに線形関数を定義する、パラメータの正規化手段を含
む。このシステムは、マタブレゼンハムのアルゴリズム
を連続する複数の画素のおのおのに適用することによっ
て初期誤差項を生成する手段、及び初期誤差項を生成す
るのに使用された連続する複数の画素位置以外の画素位
置に対応する誤差項を、単一マシン・サイクル中に並列
に生成する手段をも含む。並列画素生成手段は、さらに
選択可能な増分を各並列画素生成器の現誤差項に加える
ように構成される。この増分は2つの可能な値をもち、
どちらの値が選択されるかは、その増分が加えられる誤
差項の符号によって決まる。好ましい実施例では、この
増分は、ラスク化された緑画素座標を含む領域の関数と
して決定される。
E、実施例
本発明の対象とする問題は、関数の真の座標に最も近い
位置にある2次元格子の離散位置を選択することによっ
て連続線形関数を表すことである。
位置にある2次元格子の離散位置を選択することによっ
て連続線形関数を表すことである。
この問題を第2図にグラフで示す。線20は、線形関数
Y=x(dY/dx)の真のX及びyの値を含む。この
線形関数を図の画素格子にマツプするには、線20の座
標の真の値に最も近い位置にある画素について、(画素
の中央に位置する)整数画素座標を決定しなければなら
ない。
Y=x(dY/dx)の真のX及びyの値を含む。この
線形関数を図の画素格子にマツプするには、線20の座
標の真の値に最も近い位置にある画素について、(画素
の中央に位置する)整数画素座標を決定しなければなら
ない。
直交座標系は対称なので、1つの画素座標と線形関係を
示すどの関数も、第2図に示す形に見えるように正規化
される。すなわち、座標(Xl。
示すどの関数も、第2図に示す形に見えるように正規化
される。すなわち、座標(Xl。
yl)と(x2.y2)の間を延びる線形関数について
、線形関数の位置を、O≦dy≦dx(ただし、d x
= x 2 x 1 、d y= y2−yl )
となる座標系の8分円内に制限することによって、当面
の問題が単純化できる。さらに、関数の1端点が座標系
の原点に位置するとき、表される関数は一般性を失わな
い。というのは、他の原点をもつ関数は座標(0,0)
で始まる関数の単なる変換にすぎないからである。
、線形関数の位置を、O≦dy≦dx(ただし、d x
= x 2 x 1 、d y= y2−yl )
となる座標系の8分円内に制限することによって、当面
の問題が単純化できる。さらに、関数の1端点が座標系
の原点に位置するとき、表される関数は一般性を失わな
い。というのは、他の原点をもつ関数は座標(0,0)
で始まる関数の単なる変換にすぎないからである。
こうした点を考慮に入れた上で、連続線形関数を離散X
及びy座標をもつ格子にマツプするプロセス、たとえば
、線を画素格子にラスク化するプロセスは、その画素の
所与のX座標値について、2つの可能なX座標値のどち
らが真綿により近い画素位置を提供するかを選択する問
題に帰する。
及びy座標をもつ格子にマツプするプロセス、たとえば
、線を画素格子にラスク化するプロセスは、その画素の
所与のX座標値について、2つの可能なX座標値のどち
らが真綿により近い画素位置を提供するかを選択する問
題に帰する。
したがって、第2図で、以前のステップすなわち(i−
1)番目のステップで、画素22が引こうとしている実
際の線により近いと判定された場合、i番目のステップ
のタスクは、画素24と26のどちらが線20により近
いがを決定することである。画素24と線20の距離が
、画素26と線20の間の距離よりも短い場合、画素2
4が選ばれ、そうでない場合は、画素26が選ばれる。
1)番目のステップで、画素22が引こうとしている実
際の線により近いと判定された場合、i番目のステップ
のタスクは、画素24と26のどちらが線20により近
いがを決定することである。画素24と線20の距離が
、画素26と線20の間の距離よりも短い場合、画素2
4が選ばれ、そうでない場合は、画素26が選ばれる。
第2図で、画素24と線2oの距離はSで示され、画素
26と線20の距離はtで示されている。したがって、
選択すべき画素の判定は、Sがtより小さいかどうかに
よる。言い換えれば、(S−t)<0の場合は、画素2
4が選ばれ、(s t)≧0の場合は、画素26が選
ばれる。
26と線20の距離はtで示されている。したがって、
選択すべき画素の判定は、Sがtより小さいかどうかに
よる。言い換えれば、(S−t)<0の場合は、画素2
4が選ばれ、(s t)≧0の場合は、画素26が選
ばれる。
ブレゼンハムのアルゴリズムは、線2oが横切る画素格
子の各X座標値について、2つの可能な画素位置間でこ
の選択を繰り返して行なう技術を提供する。ブレゼンハ
ムのアルゴリズムは、原点に最も近い画素から始まり、
線を表すのに必要な画素の連続する各X座標値について
同時に1つずつ、各X座標値に対して2つの可能なX座
標値のどちらを選択すべきかを順次判定する。このアル
ゴリズムは、(s−t)に比例する現誤差項を計算する
ことにより、この判定を行なう。誤差項は(s −t)
に比例するので、誤差項の符号によって、Sがtより小
さいか大きいかが決まり、同時に、2つの可能なX座標
値のどちらがか真の線に最も近いかが決まる。
子の各X座標値について、2つの可能な画素位置間でこ
の選択を繰り返して行なう技術を提供する。ブレゼンハ
ムのアルゴリズムは、原点に最も近い画素から始まり、
線を表すのに必要な画素の連続する各X座標値について
同時に1つずつ、各X座標値に対して2つの可能なX座
標値のどちらを選択すべきかを順次判定する。このアル
ゴリズムは、(s−t)に比例する現誤差項を計算する
ことにより、この判定を行なう。誤差項は(s −t)
に比例するので、誤差項の符号によって、Sがtより小
さいか大きいかが決まり、同時に、2つの可能なX座標
値のどちらがか真の線に最も近いかが決まる。
ブレゼンハムのアルゴリズムによれば、原点に最も近い
位置の画素について、2dy dxによって定義され
る初期誤差項が計算される。画素格子の次のX座標値に
ついて、この初期誤差項の符号によって、線に最も近い
画素の正確なX座標値が決まる。その画素のX座標値の
その選択に付随する誤差を補償するため、以前の誤差項
に増分を加えることにより、新しい誤差項が計算される
。追加される増分は、以前の誤差項が負であるかそれと
も正であるかによって変わる。負の場合、増分は、2d
yとして定義される。正の場合、2(dy−dx)と定
義される。その結果得られる新しい誤差項の符号が、次
の画素の正確なX座標値を決定するために使用される。
位置の画素について、2dy dxによって定義され
る初期誤差項が計算される。画素格子の次のX座標値に
ついて、この初期誤差項の符号によって、線に最も近い
画素の正確なX座標値が決まる。その画素のX座標値の
その選択に付随する誤差を補償するため、以前の誤差項
に増分を加えることにより、新しい誤差項が計算される
。追加される増分は、以前の誤差項が負であるかそれと
も正であるかによって変わる。負の場合、増分は、2d
yとして定義される。正の場合、2(dy−dx)と定
義される。その結果得られる新しい誤差項の符号が、次
の画素の正確なX座標値を決定するために使用される。
ブレゼンハムのアルゴリズムの方法を第2図に適用する
と、i番目のステップでは、画素24と26のどちらを
選択すべきかを判定するために、まず画素22の誤差項
が計算される。その結果得られる誤差項の符号が負であ
る場合、画素24が選ばれ、画素22について計算され
た誤差項に量(2d y)が加えられる。画素22の誤
差項が正の場合、画素26が選ばれ、画素22の誤差項
に量2 (dy−dx)が加えられる。その後のステッ
プでこのアルゴリズムを同様に適用すると、その結果、
画素28と30が選ばれる。
と、i番目のステップでは、画素24と26のどちらを
選択すべきかを判定するために、まず画素22の誤差項
が計算される。その結果得られる誤差項の符号が負であ
る場合、画素24が選ばれ、画素22について計算され
た誤差項に量(2d y)が加えられる。画素22の誤
差項が正の場合、画素26が選ばれ、画素22の誤差項
に量2 (dy−dx)が加えられる。その後のステッ
プでこのアルゴリズムを同様に適用すると、その結果、
画素28と30が選ばれる。
第2図に示した選択された画素のX及びy座標の増分変
化は、2進ビツトの列で表すことができる。ただし、“
0°°は対応する座標値がその以前の値から変化しなか
ったことを示し、“1“は対応する座標値が1だけ増分
されたことを示す。すなわち、画素26.28及び3o
のX座標値は、2進ビット列“′111“で表すことが
できる。同様に、X座標値の増分は、101“′で表す
ことができる。さらに、X座標値のビット列は変化しな
いので自明な列であり、画素26.28及び30のX及
びy座標は、非自明な座標のビット列、すなわち、9°
101“7だけで正確に表すことができる。非自明な方
向の座標値の列はしばしば、「ブレゼンハム・シーケン
ス」と呼ばれる。その列内で、考慮中のビットより以前
に現れるビットは、履歴ビットと呼ばれ、しばしばHm
で示される。mは考慮中のビットに対する履歴ビットの
相対位置を識別する整数である。
化は、2進ビツトの列で表すことができる。ただし、“
0°°は対応する座標値がその以前の値から変化しなか
ったことを示し、“1“は対応する座標値が1だけ増分
されたことを示す。すなわち、画素26.28及び3o
のX座標値は、2進ビット列“′111“で表すことが
できる。同様に、X座標値の増分は、101“′で表す
ことができる。さらに、X座標値のビット列は変化しな
いので自明な列であり、画素26.28及び30のX及
びy座標は、非自明な座標のビット列、すなわち、9°
101“7だけで正確に表すことができる。非自明な方
向の座標値の列はしばしば、「ブレゼンハム・シーケン
ス」と呼ばれる。その列内で、考慮中のビットより以前
に現れるビットは、履歴ビットと呼ばれ、しばしばHm
で示される。mは考慮中のビットに対する履歴ビットの
相対位置を識別する整数である。
本発明は、ブレゼンハムのアルゴリズムによって行われ
るように各位置を順に生成するのではなく、同時に複数
の画素位置を生成するものである。
るように各位置を順に生成するのではなく、同時に複数
の画素位置を生成するものである。
−時にn個の画素位置を生成するため、ブレゼンハム・
アルゴリズムで利用する基本概念を、高性能及び高いス
ループットをもたらす並列処理技術と組み合わせる。本
発明は、ブレゼンハムのアルゴリズムを用いて初期設定
したn個の並列ベクトル生成器と、ブレゼンハム・アル
ゴリズムの基礎となる原理と同様な原理を用いて誘導し
た増分とを利用して、単一マシン・サイクルでn個の画
素を生成するものである。本発明の方法では、各ベクト
ル生成器が、それ自体の現誤差項を計算し、その符号を
以下に示す他の情報と一緒に使って、2つの可能な画素
のどちらが表そうとしている線形関数の真の座標により
近いかを判定する。誤差項の符号は、次のベクトル生成
サイクルの準備として、現誤差項に加えるべき適切な訂
正項を選択するためにも使用される。
アルゴリズムで利用する基本概念を、高性能及び高いス
ループットをもたらす並列処理技術と組み合わせる。本
発明は、ブレゼンハムのアルゴリズムを用いて初期設定
したn個の並列ベクトル生成器と、ブレゼンハム・アル
ゴリズムの基礎となる原理と同様な原理を用いて誘導し
た増分とを利用して、単一マシン・サイクルでn個の画
素を生成するものである。本発明の方法では、各ベクト
ル生成器が、それ自体の現誤差項を計算し、その符号を
以下に示す他の情報と一緒に使って、2つの可能な画素
のどちらが表そうとしている線形関数の真の座標により
近いかを判定する。誤差項の符号は、次のベクトル生成
サイクルの準備として、現誤差項に加えるべき適切な訂
正項を選択するためにも使用される。
次に、サイクルごとに現誤差項を調節する際に使用され
る増分の誘導について、概略を述べる。
る増分の誘導について、概略を述べる。
第3図を参照すると、画素32が、(i−1)番目のス
テップ中に線38の真の座標(xi、yi)により近い
画素であると判定された場合、i番目のステップにおい
て、画素34と画素36のどちらが線38により近いか
の判定は、画素32の誤差項の符号によって決まる。ブ
レゼンハム・アルゴリズムと同様に、誤差項は(s−t
)に比例すると定義する。したがって、画素32の誤差
項の符号が負の場合、Sはtより小さく、画素34の方
が画素36よりも線38に近い。逆に、画素32の誤差
項がゼロまたは正の場合、tはS以下であり、画素36
が選択される。
テップ中に線38の真の座標(xi、yi)により近い
画素であると判定された場合、i番目のステップにおい
て、画素34と画素36のどちらが線38により近いか
の判定は、画素32の誤差項の符号によって決まる。ブ
レゼンハム・アルゴリズムと同様に、誤差項は(s−t
)に比例すると定義する。したがって、画素32の誤差
項の符号が負の場合、Sはtより小さく、画素34の方
が画素36よりも線38に近い。逆に、画素32の誤差
項がゼロまたは正の場合、tはS以下であり、画素36
が選択される。
第3図に示す画素格子がs+t=1になるように「正規
化」されていると仮定すると、t=1−8である。tの
この値を式s−tに代入すると、次式が得られる。
化」されていると仮定すると、t=1−8である。tの
この値を式s−tに代入すると、次式が得られる。
(s−t) =2s−1(1)
また引こうとしている線が任意の2点間にあり、かつ第
1の端点の方が第2の端点よりも原点に近いと仮定する
と、第3図に座標(Xi、yi)で示した点が原点にき
て、したがって(0,O)の座標値をもつように、この
線の端点をそれぞれ変換することができる。したがって
、線38は式y=(d’5’/dx)xによって定義さ
れる。画素34及び36についてはN X = p+
nであり、したがって、Y= (d’Y/dx)(p+
n)である。
1の端点の方が第2の端点よりも原点に近いと仮定する
と、第3図に座標(Xi、yi)で示した点が原点にき
て、したがって(0,O)の座標値をもつように、この
線の端点をそれぞれ変換することができる。したがって
、線38は式y=(d’5’/dx)xによって定義さ
れる。画素34及び36についてはN X = p+
nであり、したがって、Y= (d’Y/dx)(p+
n)である。
しかし、第3図から、X=p+nの場合、y=q+r+
sであることは自明であり、したがって次式が得られる
。
sであることは自明であり、したがって次式が得られる
。
q+r十5=(dy/dx)(I)+n) (2)S
について方程式(2)を解き、その結果の値を方程式(
1)に代入すると、次式が得られる。
について方程式(2)を解き、その結果の値を方程式(
1)に代入すると、次式が得られる。
(s−t)=2s−1=2 (dV/dx)(1)+n
)−2q−2r−1 方程式(3)の両辺にdxを掛けて、項を整理し、次に
Di=dx (s−t)と定義すると、次式が得られる
。
)−2q−2r−1 方程式(3)の両辺にdxを掛けて、項を整理し、次に
Di=dx (s−t)と定義すると、次式が得られる
。
D i=2 (p)(dy) −q (dx)+2n
(dy) −(1+2r)dx ただし、点(x i+ V i)が格子座標系の原点に
くるように格子座標系を線38と整合させた場合、p=
xi及びq=yiである。これらの値を方程式(4)に
代入すると、次式が得られる。
(dy) −(1+2r)dx ただし、点(x i+ V i)が格子座標系の原点に
くるように格子座標系を線38と整合させた場合、p=
xi及びq=yiである。これらの値を方程式(4)に
代入すると、次式が得られる。
Di=2 (xi)(dy)−yi (dx)+2n
(dy)−(1+2r)dx となる。D(i+1)について同様の式を作り、D(i
+n)の式からDiの式を引くと、次式が得られる。
(dy)−(1+2r)dx となる。D(i+1)について同様の式を作り、D(i
+n)の式からDiの式を引くと、次式が得られる。
D (i+n)−Di=
2ciy (x)(i+n−xi) −2dx (y)
(i+n)−xi (6)第3図から、x (i
+n) −x i=nとなることが分かる。Diがゼロ
より小さい場合、y(i+n)−yi=rとなることも
自明である。同様に、Diがゼロ以上の場合、Y (i
+n)−Vizr+1である。方程式(6)でこれらの
条件を用いると、次のようになる。
(i+n)−xi (6)第3図から、x (i
+n) −x i=nとなることが分かる。Diがゼロ
より小さい場合、y(i+n)−yi=rとなることも
自明である。同様に、Diがゼロ以上の場合、Y (i
+n)−Vizr+1である。方程式(6)でこれらの
条件を用いると、次のようになる。
D (i+n) −Di=2n (dy)−2(r+1
)dx、ただし、Di≧0の場合D (i+n)−Di
=2n (dy)−2(r)dx、ただし、Di<Oの
場合すなわち、誤差項に加えられるそれぞれの増分は、
2n (dy)−2(r)dx及び2n (dV)−2
(r+1)dxで表される。これらの式で、変数rは、
線形関数が含まれる8分円の領域に方程式を正規化する
のに使用される。変数rは、Oと(n−1)の間の整数
値をとる。この変数の意味については後で説明する。
)dx、ただし、Di≧0の場合D (i+n)−Di
=2n (dy)−2(r)dx、ただし、Di<Oの
場合すなわち、誤差項に加えられるそれぞれの増分は、
2n (dy)−2(r)dx及び2n (dV)−2
(r+1)dxで表される。これらの式で、変数rは、
線形関数が含まれる8分円の領域に方程式を正規化する
のに使用される。変数rは、Oと(n−1)の間の整数
値をとる。この変数の意味については後で説明する。
座標(xi、yi)で示される線38上の点は、線38
上の他の点よりも画素座標系の原点に近いと仮定されて
いるので、上記の誘導は左から右に引かれる線について
のものである。右から左に引かれる線では、どちらの画
素がその線により近いかの判定は、ゼロより小さいかど
うかではなく、Di=Oであるかどうかによって決まる
。この調節により、反対方向に引かれる線が同じ画素位
置で表されることになる。本発明のアルゴリズムは整数
演算を使用するので、初期誤差項から1を引きさえすれ
ば、望ましい両方向対称性が確保される。
上の他の点よりも画素座標系の原点に近いと仮定されて
いるので、上記の誘導は左から右に引かれる線について
のものである。右から左に引かれる線では、どちらの画
素がその線により近いかの判定は、ゼロより小さいかど
うかではなく、Di=Oであるかどうかによって決まる
。この調節により、反対方向に引かれる線が同じ画素位
置で表されることになる。本発明のアルゴリズムは整数
演算を使用するので、初期誤差項から1を引きさえすれ
ば、望ましい両方向対称性が確保される。
一般に逐次的性格をもつ走査変換アルゴリズムを利用し
て、複数の画素を並列方式で生成しようと試みると、多
くの分野で問題が生じる。特に重要なのは、画素生成シ
ステムの初期設定に必要な処理、結果として発生する現
誤差項の解釈とその正確な画素位置への変換、及び同時
に複数の画素位置をフレーム・バッファ・メモリに書き
込もうとする時に発生し得るメモリ・モジュール・アク
セス衝突の解決である。本発明は、これらの問題のそれ
ぞれに対する解決策を提供する。ベクトル生成器を、ブ
レゼンハム・アルゴリズムにしたがって計算される誤差
項で初期設定し、サイクルごとに各ベクトル生成器につ
いて現誤差項を調節するための適切な増分を決定する。
て、複数の画素を並列方式で生成しようと試みると、多
くの分野で問題が生じる。特に重要なのは、画素生成シ
ステムの初期設定に必要な処理、結果として発生する現
誤差項の解釈とその正確な画素位置への変換、及び同時
に複数の画素位置をフレーム・バッファ・メモリに書き
込もうとする時に発生し得るメモリ・モジュール・アク
セス衝突の解決である。本発明は、これらの問題のそれ
ぞれに対する解決策を提供する。ベクトル生成器を、ブ
レゼンハム・アルゴリズムにしたがって計算される誤差
項で初期設定し、サイクルごとに各ベクトル生成器につ
いて現誤差項を調節するための適切な増分を決定する。
ベクトル生成器によって計算される現誤差項の符号ビッ
トは、他の関連情報に基づいて解釈され、したがって変
換されたデータは、離散点の2次元格子上への線形関数
のマツピングを表す。本発明はさらに、所与のサイクル
中にいくつの変換データ・ビットが記憶できるかを判定
し、記憶されなかったデータ・ビットを再循環させてそ
れらを後続のサイクルで記憶できるようにする方式を提
供する。本発明のこれらの実施例については、それぞれ
本明細書の後の部分で十分に説明する。
トは、他の関連情報に基づいて解釈され、したがって変
換されたデータは、離散点の2次元格子上への線形関数
のマツピングを表す。本発明はさらに、所与のサイクル
中にいくつの変換データ・ビットが記憶できるかを判定
し、記憶されなかったデータ・ビットを再循環させてそ
れらを後続のサイクルで記憶できるようにする方式を提
供する。本発明のこれらの実施例については、それぞれ
本明細書の後の部分で十分に説明する。
第1図は、本発明に基づく複数画素生成システムの関数
区分及び流れ順序の一実施例を概略的に示す構成図であ
る。第1図に示す関数をすべて提供する必要のないアプ
リケーションもある。本発明によると、画素生成システ
ムの所与の単一マシン・サイクルで複数の画素のデータ
値を生成するのに必要な基本関数がブロック44と46
に含まれている。ただし、データ値は少なくとも1つの
画素の座標の線形関数を表す。ブロック44は、連続す
る複数の画素のおのおのについてブレゼンハム・アルゴ
リズムによって誤差項を生成し、連続する画素の数は、
同じマシン・サイクル中に同時に生成される画素数に等
しい。ブロック44は、サイクルごとに誤差項を更新す
るのに必要な増分も生成する。ブロック46は、所与の
マシン・サイクル中に複数の画素のデータ値を同時に生
成するのに必要な関数を含む。ブロック46は、互いに
並列に接続され、各ベクトル生成器が複数の画素のうち
関連するもののデータ値を提供するように配列されてい
る、複数のベクトル生成器を含む。
区分及び流れ順序の一実施例を概略的に示す構成図であ
る。第1図に示す関数をすべて提供する必要のないアプ
リケーションもある。本発明によると、画素生成システ
ムの所与の単一マシン・サイクルで複数の画素のデータ
値を生成するのに必要な基本関数がブロック44と46
に含まれている。ただし、データ値は少なくとも1つの
画素の座標の線形関数を表す。ブロック44は、連続す
る複数の画素のおのおのについてブレゼンハム・アルゴ
リズムによって誤差項を生成し、連続する画素の数は、
同じマシン・サイクル中に同時に生成される画素数に等
しい。ブロック44は、サイクルごとに誤差項を更新す
るのに必要な増分も生成する。ブロック46は、所与の
マシン・サイクル中に複数の画素のデータ値を同時に生
成するのに必要な関数を含む。ブロック46は、互いに
並列に接続され、各ベクトル生成器が複数の画素のうち
関連するもののデータ値を提供するように配列されてい
る、複数のベクトル生成器を含む。
各ベクトル生成器ごとに、データ値が、1サイクルで生
成される画素数の関数、またブロック44で生成される
誤差項の関数として決定される。
成される画素数の関数、またブロック44で生成される
誤差項の関数として決定される。
本発明の画素生成システムはさらにブロック42と48
を含むことが好ましい。ブロック48は、ベクトル生成
器によってもたらされたデータ値を、マツプされている
線形関数を表す画素位置データに変換する関数を含む。
を含むことが好ましい。ブロック48は、ベクトル生成
器によってもたらされたデータ値を、マツプされている
線形関数を表す画素位置データに変換する関数を含む。
ブロック48は、また所与のマシン・サイクル中に同時
に生成されたデータ値を記憶する関数、及びメモリ・モ
ジュール・アクセス衝突を解決する方式も含むことがで
きる。
に生成されたデータ値を記憶する関数、及びメモリ・モ
ジュール・アクセス衝突を解決する方式も含むことがで
きる。
一実施例では、メモリ・アクセスの制約条件を満たす生
成データ値が、所与のマシン・サイクル中に記憶され、
記憶されなかったデータ値は、後のマシン・サイクルで
ベクトル生成器によって再生成される。別の実施例では
、メモリ・モジュール・アクセス規則を満たす生成デー
タ値が、所与のマシン・サイクル中に記憶され、残りの
生成データ値は、ベクトル生成器で再生成されずに後の
マシン・サイクルで記憶されるように指定される。
成データ値が、所与のマシン・サイクル中に記憶され、
記憶されなかったデータ値は、後のマシン・サイクルで
ベクトル生成器によって再生成される。別の実施例では
、メモリ・モジュール・アクセス規則を満たす生成デー
タ値が、所与のマシン・サイクル中に記憶され、残りの
生成データ値は、ベクトル生成器で再生成されずに後の
マシン・サイクルで記憶されるように指定される。
第1図のブロック42は、線形関数のパラメータを正規
化するのに必要な関数を含み、こうした関数すべてにつ
いて、その関数の画素座標が画素座標系の同じ8分円内
に含まれる。一実施例では、可能な画素座標の格子が複
数の8分円に分割され、8分円1と名付けた8分円では
、線形関数を表す画素座標がゼロ以上であるがその線形
関数の引数として使われる画素座標以下である。次にそ
の線形関数のパラメータが、この第1の8分円内に含ま
れるように正規化される。この第1の8分円は、領域の
数が単一マシン・サイクル中に生成される画素の数に等
しい、複数の領域に分割されることが好ましい。これら
の領域は、さらに、線形関数を表す画素座標を含む特定
の領域がブロック44で生成された誤差項の符号の関数
として決定できるように構成される。この構成で、生成
中の画素データは、線形関数の座標を含む領域の識別デ
ータの関数である。
化するのに必要な関数を含み、こうした関数すべてにつ
いて、その関数の画素座標が画素座標系の同じ8分円内
に含まれる。一実施例では、可能な画素座標の格子が複
数の8分円に分割され、8分円1と名付けた8分円では
、線形関数を表す画素座標がゼロ以上であるがその線形
関数の引数として使われる画素座標以下である。次にそ
の線形関数のパラメータが、この第1の8分円内に含ま
れるように正規化される。この第1の8分円は、領域の
数が単一マシン・サイクル中に生成される画素の数に等
しい、複数の領域に分割されることが好ましい。これら
の領域は、さらに、線形関数を表す画素座標を含む特定
の領域がブロック44で生成された誤差項の符号の関数
として決定できるように構成される。この構成で、生成
中の画素データは、線形関数の座標を含む領域の識別デ
ータの関数である。
第1図に示す画素生成システム中の流れ順序は、以下の
ように要約できる。ユーザ指定パラメータdx及びdy
は絶対値論理ブロック42が入力として受は取る。変数
dxは、X座標の終端値と初端値の差であり、dyはX
座標の終端値と初端値の差である。dx及びdyのそれ
ぞれの絶対値とそれらの絶対値の差がブロック42で計
算され、次に増分/誤差項論理ブロック44に送られる
。
ように要約できる。ユーザ指定パラメータdx及びdy
は絶対値論理ブロック42が入力として受は取る。変数
dxは、X座標の終端値と初端値の差であり、dyはX
座標の終端値と初端値の差である。dx及びdyのそれ
ぞれの絶対値とそれらの絶対値の差がブロック42で計
算され、次に増分/誤差項論理ブロック44に送られる
。
入力dxが入力dy以上であるかどうかを示すデータ信
号XGEYもブロック42で決定される。この比較の結
果に応じて、dXの絶対値が変数PDXに割り当てられ
、dyの絶対値が変数PDYに割り当てられ、またはこ
れらの変数中に記憶された絶対値データが交換される。
号XGEYもブロック42で決定される。この比較の結
果に応じて、dXの絶対値が変数PDXに割り当てられ
、dyの絶対値が変数PDYに割り当てられ、またはこ
れらの変数中に記憶された絶対値データが交換される。
ブロック42で捕捉され、ブロック44に記憶される最
後の2つのデータは、入力dx及びdyの符号である。
後の2つのデータは、入力dx及びdyの符号である。
ブロック44は、ブロック42からの様々なデータを使
って、ブロック46の各並列ベクトル生成器について初
期誤差項を計算する。これらの初期誤差項は、第1図で
EO,El、E2及びE3として示されている。現誤差
項を各サイクルで生成された画素を反映するように調節
するために、ブロック46の各並列ベクトル生成器につ
いて現誤差項に加えられる増分もブロック44で計算さ
れる。変換/MCR論理ブロック48は、ブロック46
の各ベクトル生成器の現誤差項の符号を、ラスク化線画
素位置の重要な座標の値の増分変化を表す2進ビツトの
列に変換する。メモリ争奪解決(MCR)論理は、この
列のどのビットが現マシン・サイクルで記憶できるかを
決定する。記憶できるビットは、フレーム・バッファ・
メモリのX及びy位置カウンタを更新するのに使用でき
るxposとYPOSデータとして、プロ、ツク48か
ら送り出される。
って、ブロック46の各並列ベクトル生成器について初
期誤差項を計算する。これらの初期誤差項は、第1図で
EO,El、E2及びE3として示されている。現誤差
項を各サイクルで生成された画素を反映するように調節
するために、ブロック46の各並列ベクトル生成器につ
いて現誤差項に加えられる増分もブロック44で計算さ
れる。変換/MCR論理ブロック48は、ブロック46
の各ベクトル生成器の現誤差項の符号を、ラスク化線画
素位置の重要な座標の値の増分変化を表す2進ビツトの
列に変換する。メモリ争奪解決(MCR)論理は、この
列のどのビットが現マシン・サイクルで記憶できるかを
決定する。記憶できるビットは、フレーム・バッファ・
メモリのX及びy位置カウンタを更新するのに使用でき
るxposとYPOSデータとして、プロ、ツク48か
ら送り出される。
絶対値論理ブロック42の一実施例が、第4図の構成図
によって概略的に示されている。第4図に示すシステム
で最初の処理サイクルが発生する前に、入力dxがパイ
プライン・レジスタ50中にある場合、絶対値論理ブロ
ック42に含まれている上記の関数を、第4図の装置に
よって連続する3つの処理サイクルで実行するのが好都
合である。最初のサイクル中に、dXがパイプライン・
レジスタ50から線64を介してマルチプレクサ52に
送られ、そこから線66を介して加算器56に送られる
。加算器56で、dXの絶対値を計算するため、dXが
、線80を介して加算器56に到来する信号と結合され
る。線74上の入力信号も、加算器56のdxの絶対値
に追加される。
によって概略的に示されている。第4図に示すシステム
で最初の処理サイクルが発生する前に、入力dxがパイ
プライン・レジスタ50中にある場合、絶対値論理ブロ
ック42に含まれている上記の関数を、第4図の装置に
よって連続する3つの処理サイクルで実行するのが好都
合である。最初のサイクル中に、dXがパイプライン・
レジスタ50から線64を介してマルチプレクサ52に
送られ、そこから線66を介して加算器56に送られる
。加算器56で、dXの絶対値を計算するため、dXが
、線80を介して加算器56に到来する信号と結合され
る。線74上の入力信号も、加算器56のdxの絶対値
に追加される。
最初の処理サイクルで、マルチプレクサ54は、入力線
72上の「0」レベル信号を選択する。その結果、入力
線74上での信号の追加がゼロになり、加算器56から
線68を介してラッチ58に転送された信号は、dXの
絶対値を表す。
72上の「0」レベル信号を選択する。その結果、入力
線74上での信号の追加がゼロになり、加算器56から
線68を介してラッチ58に転送された信号は、dXの
絶対値を表す。
第2の処理サイクルで、dyはレジスタ50から装置を
介して送られ、dXについて今説明したのと同様に、d
yの絶対値になってラッチ60に記憶される。第3の処
理サイクルで、ラッチ58の出力が線70を介してマル
チプレクサ54に送られ、ラッチ60の出力が線76を
介してマルチプレクサ52に送られる。マルチプレクサ
54と52はラッチ58と60からのこれらの出力信号
をそれぞれ線74と66を介して加算器56に送る。加
算器56へのこれらの入力は、線80上の入力信号と組
み合わされて9、dXの絶対値とdyの絶対値の差を表
す出力を線68上に生成する。
介して送られ、dXについて今説明したのと同様に、d
yの絶対値になってラッチ60に記憶される。第3の処
理サイクルで、ラッチ58の出力が線70を介してマル
チプレクサ54に送られ、ラッチ60の出力が線76を
介してマルチプレクサ52に送られる。マルチプレクサ
54と52はラッチ58と60からのこれらの出力信号
をそれぞれ線74と66を介して加算器56に送る。加
算器56へのこれらの入力は、線80上の入力信号と組
み合わされて9、dXの絶対値とdyの絶対値の差を表
す出力を線68上に生成する。
この絶対値の差が、線78を介して次の段に送られる。
加算器56中での計算で、dX及びdyの大小を示す出
力信号も線82上に生成される。この信号は、ブロック
62の処理を制御する。変数XGEYがゼロに等しい場
合、線84を介してブロック62に送られるdxの絶対
値が、変数PDYに割り当てられ、線86を介してブロ
ック62に送られるdYの絶対値が変数PDXに割り当
てられる。一方、XGEYが1に等しい場合、交換は実
行されず、dX及びdyの絶対値がそれぞれ変数PDX
とPDYに割り当てられる。残りの変数X5GN、l!
:YSGNのデータは、レジスタ50から線88を介し
て得られる。
力信号も線82上に生成される。この信号は、ブロック
62の処理を制御する。変数XGEYがゼロに等しい場
合、線84を介してブロック62に送られるdxの絶対
値が、変数PDYに割り当てられ、線86を介してブロ
ック62に送られるdYの絶対値が変数PDXに割り当
てられる。一方、XGEYが1に等しい場合、交換は実
行されず、dX及びdyの絶対値がそれぞれ変数PDX
とPDYに割り当てられる。残りの変数X5GN、l!
:YSGNのデータは、レジスタ50から線88を介し
て得られる。
第1図に関連して上記に述べたように、増分/誤差項論
理ブロック44は、ブロック46の各並列ベクトル生成
器についての初期誤差項、及びサイクルごとに各ベクト
ル生成器の現誤差項を更新するのに使用される2つの増
分類を計算する。n個の並列ベクトル生成器に対する初
期誤差項は、連続するn個の画素それぞれにブレゼンハ
ム・アルゴリズムを順次適用することによって決定され
る。すなわち、最初のn個の画素位置PO1P11..
.、P(n−1)に対する誤差項は、ブレゼンハム誤差
項EO1E11..、、E(n−1)である。ブレゼン
ハム誤差項では、連続する各誤差項E (i+1)は、
前の誤差項Eiに適切な増分を加えて計算できる。加え
られる増分値は、Eiの符号によって変わる。符号が負
の場合、増分は2dyである。符号が正の場合、増分は
2d ’y−2dxである。すなわち、EOの符号が
負である場合、誤差項E1はEO+2dVに等しい。
理ブロック44は、ブロック46の各並列ベクトル生成
器についての初期誤差項、及びサイクルごとに各ベクト
ル生成器の現誤差項を更新するのに使用される2つの増
分類を計算する。n個の並列ベクトル生成器に対する初
期誤差項は、連続するn個の画素それぞれにブレゼンハ
ム・アルゴリズムを順次適用することによって決定され
る。すなわち、最初のn個の画素位置PO1P11..
.、P(n−1)に対する誤差項は、ブレゼンハム誤差
項EO1E11..、、E(n−1)である。ブレゼン
ハム誤差項では、連続する各誤差項E (i+1)は、
前の誤差項Eiに適切な増分を加えて計算できる。加え
られる増分値は、Eiの符号によって変わる。符号が負
の場合、増分は2dyである。符号が正の場合、増分は
2d ’y−2dxである。すなわち、EOの符号が
負である場合、誤差項E1はEO+2dVに等しい。
EOの符号が正の場合、ElはEO+2(15’−2d
xに等しい。ブレゼンハム・アルゴリズムではEO=2
dy−dxなので、Elは4d7−dxまたは4dy−
3dxに等しい。残りの誤差項E2ないしE(n−1)
はそれぞれ順次同様に計算できる。こうして計算された
誤差項は、判断水を形成する。木のメンバーは、一定の
増分値によって結合されている。n=4の場合について
、その結果得られる誤差項判断水を、第5図に示す。様
々な誤差項の間でのこの増分関係が重要なのは、次の誤
差項への条件付き分岐を行なう無駄なサイクルなしに、
ハードウェアの当該段が動作できるからである。
xに等しい。ブレゼンハム・アルゴリズムではEO=2
dy−dxなので、Elは4d7−dxまたは4dy−
3dxに等しい。残りの誤差項E2ないしE(n−1)
はそれぞれ順次同様に計算できる。こうして計算された
誤差項は、判断水を形成する。木のメンバーは、一定の
増分値によって結合されている。n=4の場合について
、その結果得られる誤差項判断水を、第5図に示す。様
々な誤差項の間でのこの増分関係が重要なのは、次の誤
差項への条件付き分岐を行なう無駄なサイクルなしに、
ハードウェアの当該段が動作できるからである。
増分/誤差項論理ブロック44は、画素位置P(i+n
) 、P (i+2n)などに対する誤差項が生成され
るとき、各並列ベクトル生成器の現誤差項を更新するの
に使用される増分をも計算する。
) 、P (i+2n)などに対する誤差項が生成され
るとき、各並列ベクトル生成器の現誤差項を更新するの
に使用される増分をも計算する。
本発明により生成される誤差項E (t +n) 、E
−29= (i+2n)などは、ブレゼンハム・アルゴリズムによ
って生成された誤差項と同様に、それぞれ、前の誤差項
に適切な増分を加えて計算できる。また、やはりブレゼ
ンハム・アルゴリズムと同様に、増分の2つの可能な値
のどちらを選択するかは、増分を加えるべき誤差項の符
号によって決まる。
−29= (i+2n)などは、ブレゼンハム・アルゴリズムによ
って生成された誤差項と同様に、それぞれ、前の誤差項
に適切な増分を加えて計算できる。また、やはりブレゼ
ンハム・アルゴリズムと同様に、増分の2つの可能な値
のどちらを選択するかは、増分を加えるべき誤差項の符
号によって決まる。
増分の2つの可能な値を計算するハードウェアは、n個
の並列ベクトル生成器について初期誤差項を生成するの
に使用される1つまたは複数の処理サイクル中にそれら
の増分が決定されるように構成される。そうすると、画
素生成システムの初期設定ならびにハードウェアの複雑
さを低減させるのに必要な処理サイクルの数が減少する
。
の並列ベクトル生成器について初期誤差項を生成するの
に使用される1つまたは複数の処理サイクル中にそれら
の増分が決定されるように構成される。そうすると、画
素生成システムの初期設定ならびにハードウェアの複雑
さを低減させるのに必要な処理サイクルの数が減少する
。
こうした理由から、本発明の画素生成システムの好まし
い実施例では、最初のn個の画素位置についての少なく
とも数個の誤差項の符号を使って、座標系の第1の8分
円のn個の可能な領域のどれがマツプされた関数の画素
座標を含むかを決定する。次に増分の2つの可能な値が
、その領域の関数として決定される。この領域の関数と
しての増分値の1つの方程式は、第3図に関連して上記
で誘導した。したがって、好ましい一実施例では、増分
の2つの可能値は、その増分を加えるべき誤差項の符号
がそれぞれ正及び負の場合、2n(dY)−2(r+1
)(dx)及び2n (dY)−2(r)(dx)であ
る。これらの式で、rは線形関数の座標を含む領域を指
す。
い実施例では、最初のn個の画素位置についての少なく
とも数個の誤差項の符号を使って、座標系の第1の8分
円のn個の可能な領域のどれがマツプされた関数の画素
座標を含むかを決定する。次に増分の2つの可能な値が
、その領域の関数として決定される。この領域の関数と
しての増分値の1つの方程式は、第3図に関連して上記
で誘導した。したがって、好ましい一実施例では、増分
の2つの可能値は、その増分を加えるべき誤差項の符号
がそれぞれ正及び負の場合、2n(dY)−2(r+1
)(dx)及び2n (dY)−2(r)(dx)であ
る。これらの式で、rは線形関数の座標を含む領域を指
す。
第6図は、n=4の場合の増分/誤差項論理ブロック4
4の実施例の概略図である。図の実施例では、4処理サ
イクルで4つの誤差項及び増分の2つの値をすべて計算
して、ハードウェアの次の段に送ることができる。絶対
値論理ブロック42からの出力信号はすべてパイプライ
ン・レジスタ90中にあると仮定する。最初のサイクル
で、Xとyの絶対値の差がレジスタ90から線115を
介して送られ、人相寄せ演算の実行によりそれに2を掛
け、線116を介して排他的論理和回路92に入力とし
て送られる。排他的論理和回路92の出力は、線122
を介してマルチプレクサ96に送られる。マルチプレク
サ96は線122上の信号を選択し、それを線124を
介して加算器100に送る。同じサイクル中に、PDX
がレジスタ90から線115と120を介してマルチプ
レクサ98に送られる。PDXはマルチプレクサ98に
よって選択され、線126を介して加算器100に送ら
れる。加算器100は線124.126及び128上の
入力を結合し、その出力を誤差項レジスタ102に送る
。この最初のサイクルでは、加算器100の出力は、第
1画素位置に対すルブレゼンハム誤差項である。PDX
とシステムで使用される任意のコマンド・ワードも、こ
の第1サイクル中にレジスタ90から他のハードウェア
段に送ることができる。第2のサイクル中に、EOがレ
ジスタ102から線134を介してマルチプレクサ10
4に送られ、また線132を介してマルチプレクサ98
に送られる。EOはマルチプレクサ98から線126を
介して加算器100に送られる。第1サイクルと同様に
、dXとdyの絶対値の差に2が掛けられて、排他的論
理和回路92に送られ、その出力がマルチプレクサ96
に送られる。PDYはレジスタ90から線115を介し
て送られ、2を掛けら耗、線118を介してマルチプレ
クサ96に入力として送られる。誤差項EOの符号に応
じて、マルチプレクサ96は、線118と122上の入
力のどちらかを選択し、選択された信号を加算器100
に送る。線118と122上の信号は、ブレゼンノ1ム
誤差項を計算するための増分を表す。すなわち、線12
6上の入力がEOのとき、加算器100の出力は次の誤
差項E1である。Elは線130を介してレジスタ10
2に送られ、また線140を介してマルチプレクサ10
6に送られる。この第2サイクル中に、EOとElがそ
れぞれマルチプレクサ104と106によって次のハー
ドウェア段に送られる。
4の実施例の概略図である。図の実施例では、4処理サ
イクルで4つの誤差項及び増分の2つの値をすべて計算
して、ハードウェアの次の段に送ることができる。絶対
値論理ブロック42からの出力信号はすべてパイプライ
ン・レジスタ90中にあると仮定する。最初のサイクル
で、Xとyの絶対値の差がレジスタ90から線115を
介して送られ、人相寄せ演算の実行によりそれに2を掛
け、線116を介して排他的論理和回路92に入力とし
て送られる。排他的論理和回路92の出力は、線122
を介してマルチプレクサ96に送られる。マルチプレク
サ96は線122上の信号を選択し、それを線124を
介して加算器100に送る。同じサイクル中に、PDX
がレジスタ90から線115と120を介してマルチプ
レクサ98に送られる。PDXはマルチプレクサ98に
よって選択され、線126を介して加算器100に送ら
れる。加算器100は線124.126及び128上の
入力を結合し、その出力を誤差項レジスタ102に送る
。この最初のサイクルでは、加算器100の出力は、第
1画素位置に対すルブレゼンハム誤差項である。PDX
とシステムで使用される任意のコマンド・ワードも、こ
の第1サイクル中にレジスタ90から他のハードウェア
段に送ることができる。第2のサイクル中に、EOがレ
ジスタ102から線134を介してマルチプレクサ10
4に送られ、また線132を介してマルチプレクサ98
に送られる。EOはマルチプレクサ98から線126を
介して加算器100に送られる。第1サイクルと同様に
、dXとdyの絶対値の差に2が掛けられて、排他的論
理和回路92に送られ、その出力がマルチプレクサ96
に送られる。PDYはレジスタ90から線115を介し
て送られ、2を掛けら耗、線118を介してマルチプレ
クサ96に入力として送られる。誤差項EOの符号に応
じて、マルチプレクサ96は、線118と122上の入
力のどちらかを選択し、選択された信号を加算器100
に送る。線118と122上の信号は、ブレゼンノ1ム
誤差項を計算するための増分を表す。すなわち、線12
6上の入力がEOのとき、加算器100の出力は次の誤
差項E1である。Elは線130を介してレジスタ10
2に送られ、また線140を介してマルチプレクサ10
6に送られる。この第2サイクル中に、EOとElがそ
れぞれマルチプレクサ104と106によって次のハー
ドウェア段に送られる。
また第2サイクル中に、EOに4が掛けられ、線142
を介してマルチプレクサ108と110に送られる。E
lに2が掛けられ、線138を介してマルチプレクサ1
08と110に送られる。排他的論理和回路92の出力
は加算器94に送られ、加算器94の出力は2PDY−
2PDXである。
を介してマルチプレクサ108と110に送られる。E
lに2が掛けられ、線138を介してマルチプレクサ1
08と110に送られる。排他的論理和回路92の出力
は加算器94に送られ、加算器94の出力は2PDY−
2PDXである。
この式に4が掛けられ、線144を介してマルチプレク
サ108に送られる。PDYは、レジスタ90から線1
15を介して送り出される他に、8を掛けられて、線1
46を介してマルチプレクサ110にも送られる。誤差
項EOとElの符号は、それぞれマルチプレクサ108
と110に送られ、他の入力と結合されて、増分の2つ
の値11と■2を決定する。最初の増分値はマルチプレ
クサ108中で決定され、線148を介してラッチ11
2に送られる。第2の増分は、マルチプレクサ110中
で決定され、同様に線150を介してラッチ114に送
られる。
サ108に送られる。PDYは、レジスタ90から線1
15を介して送り出される他に、8を掛けられて、線1
46を介してマルチプレクサ110にも送られる。誤差
項EOとElの符号は、それぞれマルチプレクサ108
と110に送られ、他の入力と結合されて、増分の2つ
の値11と■2を決定する。最初の増分値はマルチプレ
クサ108中で決定され、線148を介してラッチ11
2に送られる。第2の増分は、マルチプレクサ110中
で決定され、同様に線150を介してラッチ114に送
られる。
第3の処理サイクルでは、誤差項E1について説明した
のと同様にして、誤差項E2が生成される。E2は線1
36とマルチプレクサ104を介して次のハードウェア
段に送られる。同じサイクルで、増分■1が線152と
マルチプレクサ106を介して次の段に送られる。最後
のサイクルでは、誤差項E1について説明したのと同様
にして、誤差項E3が生成される。E3は線136とマ
ル=34− チプレクサ104を介して装置から送り出される。
のと同様にして、誤差項E2が生成される。E2は線1
36とマルチプレクサ104を介して次のハードウェア
段に送られる。同じサイクルで、増分■1が線152と
マルチプレクサ106を介して次の段に送られる。最後
のサイクルでは、誤差項E1について説明したのと同様
にして、誤差項E3が生成される。E3は線136とマ
ル=34− チプレクサ104を介して装置から送り出される。
この最後のサイクルで、増分■2も、線154とマルチ
プレクサ106を介して次のハードウェア段に送られる
。
プレクサ106を介して次のハードウェア段に送られる
。
マルチプレクサ108と110で決定される増分は、E
OとElのそれぞれの符号に応じて変わる。これらの符
号ビットは、線形関数の座標を含む領域を決定するもの
である。第6図の実施例では、マルチプレクサ108に
よって決定される増分は、(8PDY−8PDX)(/
d)(/f)+2E1 (/d)(f)+4EO(d)
(/f)+2E1 (d)(f)で表すことができる。
OとElのそれぞれの符号に応じて変わる。これらの符
号ビットは、線形関数の座標を含む領域を決定するもの
である。第6図の実施例では、マルチプレクサ108に
よって決定される増分は、(8PDY−8PDX)(/
d)(/f)+2E1 (/d)(f)+4EO(d)
(/f)+2E1 (d)(f)で表すことができる。
ただし、dとfはそれぞれEOとElの符号ビットであ
り、/dと/fはそれぞれV′否定d“及び”否定f゛
を意味する。マルチプレクサ110で決定される増分も
同様に、2E1 (/d)(/f)+4EO(/d)(
f)+2E1 (d)(/f)+8PDY(d)(f)
で表すことができる。ビットdとfによって復号される
領域とその様々な値に対応する増分を第7図に示す。ピ
ッ)dとfはそれぞれEOとElの符号を表すのて、そ
れらのビットは、これら2つの誤差項が段から段に送ら
れるとき、EOとElの最上位ビットとして後のハード
ウェア段に自動的に送られる。
り、/dと/fはそれぞれV′否定d“及び”否定f゛
を意味する。マルチプレクサ110で決定される増分も
同様に、2E1 (/d)(/f)+4EO(/d)(
f)+2E1 (d)(/f)+8PDY(d)(f)
で表すことができる。ビットdとfによって復号される
領域とその様々な値に対応する増分を第7図に示す。ピ
ッ)dとfはそれぞれEOとElの符号を表すのて、そ
れらのビットは、これら2つの誤差項が段から段に送ら
れるとき、EOとElの最上位ビットとして後のハード
ウェア段に自動的に送られる。
第1図に示すブロック46の並列ベクトル生成器が第1
の連続するn個の画素位置に対する誤差項を計算するこ
とによって初期設定されると、単一マシン・サイクル中
にn個の誤差項がベクトル生成器によって一時に並列に
生成される。このn個の誤差項は、前のサイクルで生成
された位置に続く次のn個の画素位置に対応する。後続
のn個の現誤差項は、それぞれ、ブロック44で決定さ
れる増分の2つの可能な値の1つを、当該のベクトル生
成器の現誤差項に加えることにより決定される。生成さ
れた誤差項を表す2進ビツトの流れを形成するために、
誤差項の符号に応じて1または0の2進ビツトが、生成
された各誤差項に指定される。一実施例では、誤差項符
号が負のとき0が指定され、そうでないときは1が指定
される。
の連続するn個の画素位置に対する誤差項を計算するこ
とによって初期設定されると、単一マシン・サイクル中
にn個の誤差項がベクトル生成器によって一時に並列に
生成される。このn個の誤差項は、前のサイクルで生成
された位置に続く次のn個の画素位置に対応する。後続
のn個の現誤差項は、それぞれ、ブロック44で決定さ
れる増分の2つの可能な値の1つを、当該のベクトル生
成器の現誤差項に加えることにより決定される。生成さ
れた誤差項を表す2進ビツトの流れを形成するために、
誤差項の符号に応じて1または0の2進ビツトが、生成
された各誤差項に指定される。一実施例では、誤差項符
号が負のとき0が指定され、そうでないときは1が指定
される。
この構成では、1の2進ビツトは、対応する画素座標の
位置の上昇をも示す。
位置の上昇をも示す。
しかし、n個の複数のベクトル生成器のデータが並列に
処理されるので、上記の規則を用いて得られるデータ・
ビットの流れは、必ずしもラスク化線の「真」のブレゼ
ンハム・シーケンスを反映しない。したがって、第1図
の変換/MCR論理ブロック48に含まれる関数の1つ
は、並列生成器からラスク化線または他のマツプ化線形
関数の画素位置にデータを変換する。一実施例では、ラ
スク化関数を表すブレゼンハム・シーケンスの2進ビツ
トは、少なくとも部分的には、ビット列中に以前に現れ
た履歴ビットの関数として、またラスク化関数の画素座
標を含む領域の関数として決定される。これらの領域の
おのおのについて、変換データが、その特定の領域で満
足しなければならない条件によって部分的に指定される
。
処理されるので、上記の規則を用いて得られるデータ・
ビットの流れは、必ずしもラスク化線の「真」のブレゼ
ンハム・シーケンスを反映しない。したがって、第1図
の変換/MCR論理ブロック48に含まれる関数の1つ
は、並列生成器からラスク化線または他のマツプ化線形
関数の画素位置にデータを変換する。一実施例では、ラ
スク化関数を表すブレゼンハム・シーケンスの2進ビツ
トは、少なくとも部分的には、ビット列中に以前に現れ
た履歴ビットの関数として、またラスク化関数の画素座
標を含む領域の関数として決定される。これらの領域の
おのおのについて、変換データが、その特定の領域で満
足しなければならない条件によって部分的に指定される
。
サイクルごとにn個の画素を生成するのに使用されるn
個の領域のおのおのに固有の条件のうちには、各領域で
許されるy座標値の増分の最小数及び最大数がある。こ
こで第8図を参照すると、n個の画素を同時に生成する
のに使用される8分円をn個の領域に分割した場合、領
域r内に含まれる線は、0とn−1の間のrのすべての
値に対してr / nと(r +1 ) / nの間の
勾配をもつ。
個の領域のおのおのに固有の条件のうちには、各領域で
許されるy座標値の増分の最小数及び最大数がある。こ
こで第8図を参照すると、n個の画素を同時に生成する
のに使用される8分円をn個の領域に分割した場合、領
域r内に含まれる線は、0とn−1の間のrのすべての
値に対してr / nと(r +1 ) / nの間の
勾配をもつ。
第8図に示したn=4の場合、領域0に含まれるすべて
の線は、0と0.25の間の勾配をもつ。
の線は、0と0.25の間の勾配をもつ。
領域1については、勾配は0.25から0.5の範囲で
ある。領域2では、勾配は0.5から0゜75の範囲で
あり、領域3では、勾配は0.75から1.0の範囲で
ある。
ある。領域2では、勾配は0.5から0゜75の範囲で
あり、領域3では、勾配は0.75から1.0の範囲で
ある。
さらに、所与の任意の領域rについて、画素位置Sから
位置A、B、C,DまたはFのうち当該の位置までのy
座標値の変化がrとr+1の間になければならない。す
なわち、所与の任意の領域rについて、n個のビットの
ブレゼンハム・グループは、1の値をもつビットをrま
たはr+1個もつ。たとえば、領域0では、複数の画素
生成アルゴリズムは画素りとFのどちらかを選択し、4
ビツトのブレゼンハム・グループは、それぞれ1の値を
もつビットをOまたは1個含む。領域1では、選択は画
素CとDの間で行なわれる。領域2では、選択は画素B
とCの間で行なわれる。領域3では、選択は画素AとB
の間で行なわれる。第7図から、n=4の場合、ビット
dとfは復号されると4つの領域の1つを識別すること
を思い起こし、dとfは誤差項EOとElの符号ビット
であることを思い起こすと、この領域情報と履歴ビット
を組み合わせて生成中の画素の真のブレゼンハム・シー
ケンスが決定できることは明らかである。SOがEOの
符号を指定し、かつEOが負のとき及びSOが2進数の
1で表されるならば、5O=1のとき、4つのブレゼン
ハム・グループのr個のビットだけが1となり得る。逆
に、5O=0の場合、ブレゼンハム・グループのr+1
個のビットが1でなければならない。
位置A、B、C,DまたはFのうち当該の位置までのy
座標値の変化がrとr+1の間になければならない。す
なわち、所与の任意の領域rについて、n個のビットの
ブレゼンハム・グループは、1の値をもつビットをrま
たはr+1個もつ。たとえば、領域0では、複数の画素
生成アルゴリズムは画素りとFのどちらかを選択し、4
ビツトのブレゼンハム・グループは、それぞれ1の値を
もつビットをOまたは1個含む。領域1では、選択は画
素CとDの間で行なわれる。領域2では、選択は画素B
とCの間で行なわれる。領域3では、選択は画素AとB
の間で行なわれる。第7図から、n=4の場合、ビット
dとfは復号されると4つの領域の1つを識別すること
を思い起こし、dとfは誤差項EOとElの符号ビット
であることを思い起こすと、この領域情報と履歴ビット
を組み合わせて生成中の画素の真のブレゼンハム・シー
ケンスが決定できることは明らかである。SOがEOの
符号を指定し、かつEOが負のとき及びSOが2進数の
1で表されるならば、5O=1のとき、4つのブレゼン
ハム・グループのr個のビットだけが1となり得る。逆
に、5O=0の場合、ブレゼンハム・グループのr+1
個のビットが1でなければならない。
領域OのPOをboで表し、領域1のPOをCOで、領
域2のPOをdoで、領域3のPOをeOで表す場合、
領域Oの4ビツトのブレゼンハム・シーケンスはH3,
H2,Hl、boとして表すことができる。ただし、H
l、H2及びH3はboの発生前の履歴ビットを表す。
域2のPOをdoで、領域3のPOをeOで表す場合、
領域Oの4ビツトのブレゼンハム・シーケンスはH3,
H2,Hl、boとして表すことができる。ただし、H
l、H2及びH3はboの発生前の履歴ビットを表す。
他の領域のブレゼンハム・シーケンスは、領域1でbO
をCOに、領域2でbOをdoに、領域3でboをeO
に置き換えることによって同様に表すことができる。」
二連の拘束条件を適用する場合、すなわち、SOがOの
ときシーケンスのr+1個のビットが1でなければなら
ず、SOが1のときr個のビットが1でなければならな
い場合、それぞれの領域に対して第9図に示した真理値
表が作成される。
をCOに、領域2でbOをdoに、領域3でboをeO
に置き換えることによって同様に表すことができる。」
二連の拘束条件を適用する場合、すなわち、SOがOの
ときシーケンスのr+1個のビットが1でなければなら
ず、SOが1のときr個のビットが1でなければならな
い場合、それぞれの領域に対して第9図に示した真理値
表が作成される。
領域O及び1では、2つのブレゼンハム・グループが値
が1のビットを最高1個しかもてないという追加の拘束
条件が課される。したがって、ブレゼンハム・シーケン
ス0110.1100及び0011は領域O及び1では
有効ではない。さらに、領域2及び3では、2つのブレ
ゼンハム・グループは、値が1のビットを最低1個もた
なければならない。したがって、ブレゼンハム・シーケ
ンス0011.1001及び1100は領域2及び3で
は有効ではない。これらの追加の拘束条件が第9図に示
した真理値表に課される場合、それぞれの領域について
その結果書られるパラメータ値の組を、第10図に示す
ビット・マツプに変換することができる(第9図及び第
10図で、「D」は関連するビットについて「どちらで
もよい」状態を表し、本明細書全体を通じて誤差項EO
の符号を表すために使用するrdJとは無関係なことを
了解されたい)。
が1のビットを最高1個しかもてないという追加の拘束
条件が課される。したがって、ブレゼンハム・シーケン
ス0110.1100及び0011は領域O及び1では
有効ではない。さらに、領域2及び3では、2つのブレ
ゼンハム・グループは、値が1のビットを最低1個もた
なければならない。したがって、ブレゼンハム・シーケ
ンス0011.1001及び1100は領域2及び3で
は有効ではない。これらの追加の拘束条件が第9図に示
した真理値表に課される場合、それぞれの領域について
その結果書られるパラメータ値の組を、第10図に示す
ビット・マツプに変換することができる(第9図及び第
10図で、「D」は関連するビットについて「どちらで
もよい」状態を表し、本明細書全体を通じて誤差項EO
の符号を表すために使用するrdJとは無関係なことを
了解されたい)。
第10図に示すビット・マツプのそれぞれについて、S
OとHl−H3によってbOlcOldO及びeOを表
すプール方程式が生成できる。すなわち、 領域Oでは、 bo=/H3&/H2&/H1&/So ;領域1では
、 co=/H1&/SO+/H3&/H2&/H1;領域
2では、 do=/H1+/H3&/SO+/H2&/So ;領
域3では、 eo=/ (H3&H2&H1&SO)さらに、POは
bo+ cot doleo及び符号ビットdとfによ
って以下のように表すことができる。
OとHl−H3によってbOlcOldO及びeOを表
すプール方程式が生成できる。すなわち、 領域Oでは、 bo=/H3&/H2&/H1&/So ;領域1では
、 co=/H1&/SO+/H3&/H2&/H1;領域
2では、 do=/H1+/H3&/SO+/H2&/So ;領
域3では、 eo=/ (H3&H2&H1&SO)さらに、POは
bo+ cot doleo及び符号ビットdとfによ
って以下のように表すことができる。
PO=bO&d&f+cO&d&/f+d。
& / d & f + e O& / d & /
f 。
f 。
上記の各方程式中で、“+”はOR演算を示し、°°&
“°はAND動作を示し、“/“°はNOTを示す。
“°はAND動作を示し、“/“°はNOTを示す。
一実施例では、後続の画素Pi、P2及びP3(n=4
の場合)は、上記のプール式をほぼ複製する3つの追加
論理段をカスケード化することによって決定される。別
法として、プール代入及び約分によりPl、P2及びP
3の方程式を誘導することもできる。画素P1−P3を
決定する最初の方法は、必要なプール式が減少するが、
信号が追加論理段を通過するのに余分な伝播時間が必要
である。第2の方法は、遅延時間が減少するが、ゲート
・カウントは増加する。本発明の好ましい実施例による
と、変換論理は、カスケード論理要素とプール論理要素
の組合せを含む。n=4の場合、論理はそれぞれ2ビツ
トの「スライス」にまとめることができ、この2つのス
ライスがカスケード化される。この実施例では、各スラ
イスは2つのブレゼンハム・ビットを生成する。変換論
理をこのように構成すると、ゲート・カウント、信号フ
ァンアウト及び方程式の複雑さが減少し、わずか6つの
NANDゲート・レベルしか必要でない。
の場合)は、上記のプール式をほぼ複製する3つの追加
論理段をカスケード化することによって決定される。別
法として、プール代入及び約分によりPl、P2及びP
3の方程式を誘導することもできる。画素P1−P3を
決定する最初の方法は、必要なプール式が減少するが、
信号が追加論理段を通過するのに余分な伝播時間が必要
である。第2の方法は、遅延時間が減少するが、ゲート
・カウントは増加する。本発明の好ましい実施例による
と、変換論理は、カスケード論理要素とプール論理要素
の組合せを含む。n=4の場合、論理はそれぞれ2ビツ
トの「スライス」にまとめることができ、この2つのス
ライスがカスケード化される。この実施例では、各スラ
イスは2つのブレゼンハム・ビットを生成する。変換論
理をこのように構成すると、ゲート・カウント、信号フ
ァンアウト及び方程式の複雑さが減少し、わずか6つの
NANDゲート・レベルしか必要でない。
この種の組み合わせたプール論理関数とカスケード論理
関数をもたらす変換論理の構成を、領域O−3のおのお
のについて第11a図ないし第1id図に示す。すべて
の領域に対する論理がどのように組み合わされるかを第
1ie図に示す。第11a図ないし第1id図のおのお
のにおいて、各論理ブロックの第2のプール方程式が、
履歴ビットを1つの位置だけシフトし、新しい履歴ビッ
トをそのブロックの第1のプール式に代入することによ
って誘導される。たとえば、blの方程式は、bOの方
程式において、H3にH2を、H2にHlを、HlにS
Oを、SOにSlを代入することによって誘導される。
関数をもたらす変換論理の構成を、領域O−3のおのお
のについて第11a図ないし第1id図に示す。すべて
の領域に対する論理がどのように組み合わされるかを第
1ie図に示す。第11a図ないし第1id図のおのお
のにおいて、各論理ブロックの第2のプール方程式が、
履歴ビットを1つの位置だけシフトし、新しい履歴ビッ
トをそのブロックの第1のプール式に代入することによ
って誘導される。たとえば、blの方程式は、bOの方
程式において、H3にH2を、H2にHlを、HlにS
Oを、SOにSlを代入することによって誘導される。
関連するプール代数を実行し、不必要な項を除去すると
、結果として、blの方程式が得られる。
、結果として、blの方程式が得られる。
第12図の構成図は、画素生成ブロック46と第1図に
示した変換/MCR論理ブロック48を組み合わせるた
めの1つの構成の概略図である。
示した変換/MCR論理ブロック48を組み合わせるた
めの1つの構成の概略図である。
並列ベクトル生成器160はそれぞれ、増分の2つの可
能な値の1つを選択するためのマルチプレクサ162を
含む。その値はレジスタ164と166に記憶されてい
る。加算器170中で、各ベクトル生成器についてマル
チプレクサ162によって選ばれた増分が、その生成器
の現誤差項に加えられる。現誤差項はレジスタ168に
記憶されている。レジスタ168に記憶された誤差項の
符号ビットはnビット信号として変換論理回路172に
送られ、そこで、その信号はレジスタ/マルチプレクサ
174からの(n−1)ビット履歴信号及びレジスタ1
76からの2ビット領域信号と組み合わされる。変換論
理回路172中でこれらの信号を組み合わせて得られた
真のブレゼンハム・シーケンスが、メモリ争奪解決論理
回路178に送られる。この論理回路の機能については
後で説明する。変換論理回路172に必要な履歴ビット
は、H1=/d1)(2=/f1及びH3=/dとなる
ようにレジスタ/マルチプレクサ174によって初期設
定される。このようにして、履歴ビットH1−H3は、
変換論理回路172内の論理関数が実行されるとき正確
な最初の4つの画素を与えるように初期設定される。初
期サイクルの後、更新された履歴ビットは、履歴ビット
経路指定論理回路180からレジスタ174を介して変
換論理回路172が受は取る。
能な値の1つを選択するためのマルチプレクサ162を
含む。その値はレジスタ164と166に記憶されてい
る。加算器170中で、各ベクトル生成器についてマル
チプレクサ162によって選ばれた増分が、その生成器
の現誤差項に加えられる。現誤差項はレジスタ168に
記憶されている。レジスタ168に記憶された誤差項の
符号ビットはnビット信号として変換論理回路172に
送られ、そこで、その信号はレジスタ/マルチプレクサ
174からの(n−1)ビット履歴信号及びレジスタ1
76からの2ビット領域信号と組み合わされる。変換論
理回路172中でこれらの信号を組み合わせて得られた
真のブレゼンハム・シーケンスが、メモリ争奪解決論理
回路178に送られる。この論理回路の機能については
後で説明する。変換論理回路172に必要な履歴ビット
は、H1=/d1)(2=/f1及びH3=/dとなる
ようにレジスタ/マルチプレクサ174によって初期設
定される。このようにして、履歴ビットH1−H3は、
変換論理回路172内の論理関数が実行されるとき正確
な最初の4つの画素を与えるように初期設定される。初
期サイクルの後、更新された履歴ビットは、履歴ビット
経路指定論理回路180からレジスタ174を介して変
換論理回路172が受は取る。
MCR論理回路178の機能は、単一マシン・サイクル
中に複数の画素をメモリ・デバイスに書き込まなければ
ならないときに発生するメモリ争奪問題を解決すること
である。メモリ争奪は通常、フレーム・バッファ制限の
状況で起こる。メモリ争奪が起こるのは、2つ以上の画
素をフレーム・バッファに書き込むために、またはフレ
ーム・バッファのメモリ構成及びメモリ・アドレスにア
クセスするための規則からメモリ・アクセス衝突が発生
したために、複数のメモリ・モジュールにアクセスする
ことが必要になるためである。MCR論理回路178は
、生成された画素を特定のサイクル中に衝突なしにいく
つ書き込めるかを決定し、書き込めない画素を再循環さ
せることによって、メモリ争奪を解決する。特定のサイ
クルで記憶できない画素の情報を循環させることにより
、メモリ争奪問題が、各処理サイクルごとに「オン・ザ
・フライ方式」で解決される。したがって、任意の所与
のサイクル中に記憶できる画素の最大数が生成され、画
素生成システムによって記憶される。
中に複数の画素をメモリ・デバイスに書き込まなければ
ならないときに発生するメモリ争奪問題を解決すること
である。メモリ争奪は通常、フレーム・バッファ制限の
状況で起こる。メモリ争奪が起こるのは、2つ以上の画
素をフレーム・バッファに書き込むために、またはフレ
ーム・バッファのメモリ構成及びメモリ・アドレスにア
クセスするための規則からメモリ・アクセス衝突が発生
したために、複数のメモリ・モジュールにアクセスする
ことが必要になるためである。MCR論理回路178は
、生成された画素を特定のサイクル中に衝突なしにいく
つ書き込めるかを決定し、書き込めない画素を再循環さ
せることによって、メモリ争奪を解決する。特定のサイ
クルで記憶できない画素の情報を循環させることにより
、メモリ争奪問題が、各処理サイクルごとに「オン・ザ
・フライ方式」で解決される。したがって、任意の所与
のサイクル中に記憶できる画素の最大数が生成され、画
素生成システムによって記憶される。
さらに、そのように構成されたMCRC上メモ路を用い
ると、画素生成システムの動作を画素記憶システムの動
作と調整するために追加の制御ハードウェアが必要でな
くなる。MCR論理回路178は、任意の所与のサイク
ルでOないしn個の画素がデータ・フローまたはデータ
保全性を乱さずに生成されるように、画素生成の自己最
適化を行なう。各サイクル中に記憶される画素の実際の
数が、制御機構182に含まれる長さカウンタから差し
引かれ、長さカウンタの値がゼロになるまで46一 その処理が継続される。
ると、画素生成システムの動作を画素記憶システムの動
作と調整するために追加の制御ハードウェアが必要でな
くなる。MCR論理回路178は、任意の所与のサイク
ルでOないしn個の画素がデータ・フローまたはデータ
保全性を乱さずに生成されるように、画素生成の自己最
適化を行なう。各サイクル中に記憶される画素の実際の
数が、制御機構182に含まれる長さカウンタから差し
引かれ、長さカウンタの値がゼロになるまで46一 その処理が継続される。
第12図に示す実施例では、メモリ・デバイスのアクセ
ス規則を満たす生成画素位置は、それらが生成される処
理サイクル中にそこに記憶される。
ス規則を満たす生成画素位置は、それらが生成される処
理サイクル中にそこに記憶される。
記憶できない画素は、以後の処理サイクルで再生成され
、そうしてもメモリ・アクセス衝突が起こらないときに
、メモリ・デバイスに記憶される。
、そうしてもメモリ・アクセス衝突が起こらないときに
、メモリ・デバイスに記憶される。
第12図で、記憶できる画素は、画素PO−MとしてM
CR論理回路178から送り出される。ただし、M+1
は記憶されている画素の数に等しい。
CR論理回路178から送り出される。ただし、M+1
は記憶されている画素の数に等しい。
所与のマシン・サイクル中に記憶できない画素について
は、関連する誤差項が、誤差項経路指定論理回路184
を介して対応するベクトル生成器の現誤差項レジスタ1
68に戻る。次の処理サイクルで、その誤差項は、他の
レジスタ168中の誤差項と共に再処理される。歴史ビ
ット経路指定論理回路180は記憶されていない画素の
履歴ビットも再循環させる。MCR論理回路178から
の当該の制御信号が、誤差項経路指定論理回路184と
履歴ビット経路指定論理回路180に、次の処理サイク
ルで古いデータと新しいデータのどちらを使用すべきか
を示す。次の処理サイクルで使用される誤差項及び履歴
ビットを、現処理サイクル中に記憶できる画素の数の関
数として、第13図に示す。したがって、第13図は、
未記憶データがどのように再生成されて後のサイクルで
記憶されるかを示す。
は、関連する誤差項が、誤差項経路指定論理回路184
を介して対応するベクトル生成器の現誤差項レジスタ1
68に戻る。次の処理サイクルで、その誤差項は、他の
レジスタ168中の誤差項と共に再処理される。歴史ビ
ット経路指定論理回路180は記憶されていない画素の
履歴ビットも再循環させる。MCR論理回路178から
の当該の制御信号が、誤差項経路指定論理回路184と
履歴ビット経路指定論理回路180に、次の処理サイク
ルで古いデータと新しいデータのどちらを使用すべきか
を示す。次の処理サイクルで使用される誤差項及び履歴
ビットを、現処理サイクル中に記憶できる画素の数の関
数として、第13図に示す。したがって、第13図は、
未記憶データがどのように再生成されて後のサイクルで
記憶されるかを示す。
第12図に示す実施例に代わる別の実施例では、変換論
理に必要な情報だけがサイクルごとにシャツフルされる
。したがって、誤差項自体ではなく、誤差項の符号ビッ
トだけが送られる。歴史ビットは第12図に示したのと
同じ方式で再循環される。
理に必要な情報だけがサイクルごとにシャツフルされる
。したがって、誤差項自体ではなく、誤差項の符号ビッ
トだけが送られる。歴史ビットは第12図に示したのと
同じ方式で再循環される。
この別の実施例では、2ビツトのポインタによって、次
の処理サイクルの最初の画素の誤差項を計算するベクト
ル生成器を識別する。ポインタの位置は、生成され記憶
される画素の数に応じてサイクルごとに変化する。すな
わち、マルチプレクサの選択論理は、所期の画素生成速
度と誤差項ポインタの両方の関数である。ただし、経路
指定マルチプレクサの幅は、誤差項の符号ビットだけが
送られるとき縮小できるので、この関数を実行するのに
必要なハードウェアの量が減少する。
の処理サイクルの最初の画素の誤差項を計算するベクト
ル生成器を識別する。ポインタの位置は、生成され記憶
される画素の数に応じてサイクルごとに変化する。すな
わち、マルチプレクサの選択論理は、所期の画素生成速
度と誤差項ポインタの両方の関数である。ただし、経路
指定マルチプレクサの幅は、誤差項の符号ビットだけが
送られるとき縮小できるので、この関数を実行するのに
必要なハードウェアの量が減少する。
2ビツト・ポインタの10進値によって、次の処理サイ
クルでどのベクトル生成器が誤差項EOを計算するかが
決まる。たとえば、ポインタが2進数01(10進数1
)に設定されている場合、ベクトル生成器No、1が次
のサイクルで誤差項EOを計算する。したがって、ベク
トル生成器No、1の誤差項の符号ビットが、SOとし
て変換論理に送られ、ベクトル生成器No、2の符号ビ
ットが81として送られ、ベクトル生成器No。
クルでどのベクトル生成器が誤差項EOを計算するかが
決まる。たとえば、ポインタが2進数01(10進数1
)に設定されている場合、ベクトル生成器No、1が次
のサイクルで誤差項EOを計算する。したがって、ベク
トル生成器No、1の誤差項の符号ビットが、SOとし
て変換論理に送られ、ベクトル生成器No、2の符号ビ
ットが81として送られ、ベクトル生成器No。
3の符号ビットが82として送られ、ベクトル生成器N
o、Oの符号ビットが83として送られる。
o、Oの符号ビットが83として送られる。
第14図に、ポインタの様々な値に対してSO−83の
それぞれにどの生成器の符号ビットが指定されるかを示
す。
それぞれにどの生成器の符号ビットが指定されるかを示
す。
生成された画素のすべてが所与のサイクル中にフレーム
・バッファに書き込めるのではない場合、ポインタ値は
、次のサイクルで誤差項EOを計算するために使用され
る新しいベクトル生成器番号を示すように変化する。た
とえば、ポインタが0に等しく、3つの画素しか書き込
めない場合、次のポインタ値は3である。さらに、ベク
トル生成器No、3のレジスタ168の現誤差項に、そ
のベクトル生成器の現誤差項の新しい値が重ね書きされ
ることはない。したがって、次の処理サイクル中に、ベ
クトル生成器NO63の誤差項の古い値カ新しいEOと
して設定される。このようにして、ある誤差項が特定の
サイクルで使用されない場合、それは以後のサイクルで
使用される。ポインタの様々な値に対して、所与のサイ
クルで3つ以下の画素を記憶することの誤差項生成に対
する効果をそれぞれ、第15図a図ないし第15d図に
示す。
・バッファに書き込めるのではない場合、ポインタ値は
、次のサイクルで誤差項EOを計算するために使用され
る新しいベクトル生成器番号を示すように変化する。た
とえば、ポインタが0に等しく、3つの画素しか書き込
めない場合、次のポインタ値は3である。さらに、ベク
トル生成器No、3のレジスタ168の現誤差項に、そ
のベクトル生成器の現誤差項の新しい値が重ね書きされ
ることはない。したがって、次の処理サイクル中に、ベ
クトル生成器NO63の誤差項の古い値カ新しいEOと
して設定される。このようにして、ある誤差項が特定の
サイクルで使用されない場合、それは以後のサイクルで
使用される。ポインタの様々な値に対して、所与のサイ
クルで3つ以下の画素を記憶することの誤差項生成に対
する効果をそれぞれ、第15図a図ないし第15d図に
示す。
本発明をそのいくつかの好ましい実施例に基づいて詳細
に説明してきたが、当分野の技術者なら多くの修正と変
更を加えることができる。たとえば、図面とそれに関連
する説明の多くでは、−時に4つの画素を生成するシス
テムを記載したが、本発明の方法と装置を利用して同時
に他の数の画素を生成することもできる。また、いくつ
かの実施例では、複数の処理サイクルにわたって変数を
多重化することにより、データ値を膜相互間でパスする
。ただし、追加のハードウェアを利用する場合、段間で
パスされるデータ値はすべて1つの処理サイクルで送る
ことができる。
に説明してきたが、当分野の技術者なら多くの修正と変
更を加えることができる。たとえば、図面とそれに関連
する説明の多くでは、−時に4つの画素を生成するシス
テムを記載したが、本発明の方法と装置を利用して同時
に他の数の画素を生成することもできる。また、いくつ
かの実施例では、複数の処理サイクルにわたって変数を
多重化することにより、データ値を膜相互間でパスする
。ただし、追加のハードウェアを利用する場合、段間で
パスされるデータ値はすべて1つの処理サイクルで送る
ことができる。
F0発明の効果
本発明による画素生成方法及びシステムは、サイクルご
とにほぼ任意の数の画素を同時に生成するように一般化
できる柔軟性を備えている。この画素生成システムは、
任意のマシン・サイクル中に所与の数の画素を生成する
ように修正することができ、生成される画素の数が同じ
サイクル中に記憶できる数に合致するように構成するこ
ともできる。本発明は、必要な計算が容易かつ迅速に実
行される、画素を生成する方法を提供する。また、本発
明の画素生成システムは、高性能かつ比較的低コストの
ハードウェアを提供する上に、画素が生成されるのと同
じサイクル中にメモリ・アクセス衝突を解決する。さら
に、本発明は、未記憶データを循環させて後続の処理サ
イクルで記憶させる手段を提供するので、未記憶データ
が後のサイクルで記憶できるようになるまでそれらのデ
ータの値を記憶するバッファとして働く追加ハードウェ
アの必要性が軽減される。
とにほぼ任意の数の画素を同時に生成するように一般化
できる柔軟性を備えている。この画素生成システムは、
任意のマシン・サイクル中に所与の数の画素を生成する
ように修正することができ、生成される画素の数が同じ
サイクル中に記憶できる数に合致するように構成するこ
ともできる。本発明は、必要な計算が容易かつ迅速に実
行される、画素を生成する方法を提供する。また、本発
明の画素生成システムは、高性能かつ比較的低コストの
ハードウェアを提供する上に、画素が生成されるのと同
じサイクル中にメモリ・アクセス衝突を解決する。さら
に、本発明は、未記憶データを循環させて後続の処理サ
イクルで記憶させる手段を提供するので、未記憶データ
が後のサイクルで記憶できるようになるまでそれらのデ
ータの値を記憶するバッファとして働く追加ハードウェ
アの必要性が軽減される。
第1図は、本発明による複数画素生成システムの一実施
例の概略構成図である。 第2図は、離散点の2次元格子上に連続線形関数を表す
問題を示すグラフである。 第3図は、本発明の方法で使用される増分の値を誘導す
るための第2図と同様なグラフである。 第4図は、第1図の絶対値論理の一実施例の概略構成図
である。 第5図は、最初の4画素位置について、ブレゼンハム・
アルゴリズムによる順次計算によって形成される誤差項
判断水の図である。 第6図は、第1図に示した増分/誤差項論理の一実施例
の概略構成図である。 第7図は、誤差項を当該の線形関数の座標を含む領域の
関数として計算する、本発明で使用する増分の値を示す
図である。 第8図は、生成中の画素データを当該の領域の関数とし
て表す、ブレゼンハム・シーケンスに課される拘束条件
を示す図である。 第9図は、第8図に示した拘束条件から生じる真理値表
である。 第10図は、第9図に示した真理値表のビット・マツプ
である。 第11a図ないし第11e図は、第1図に示した変換論
理の一実施例の概略図である。 第12図は、第1図に示したMCR論理の一実施例の概
略構成図である。 第13図は、第12図に示したMCR論理によって生成
される誤差項及び履歴ビットのシフトを、あるサイクル
中に記憶できる生成画素の数の関数として示した図であ
る。 第14図は、MCR論理の別の実施例に基づく、誤差項
ポインタの様々な値について、ベクトル生成器と変換論
理に送られるデータとの間の割当て関係を示す図である
。 第15a図ないし第15d図は、MCR論理の一実施例
に基づく、誤差項ポインタの様々な値にツイテ、特定の
マシン・サイクル中に記憶サレナかったデータが後続の
サイクルでどのように使用されるかを示す図である。 42・・・・絶対値論理ブロック、44・・・・増分/
誤差項論理ブロック、46・・・・画素生成論理プロ・
ツク、48・・・・変換/MCR論理プロ・ツク。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 朗(外1名) =54− 篤 1 口 X、Y佐置災耕 笛2 口 斌30 ○ −〜 0 Ll uJ Ll u
J領殊゛O@珠 1 ′応110図 篤11c圀 第 11d口
例の概略構成図である。 第2図は、離散点の2次元格子上に連続線形関数を表す
問題を示すグラフである。 第3図は、本発明の方法で使用される増分の値を誘導す
るための第2図と同様なグラフである。 第4図は、第1図の絶対値論理の一実施例の概略構成図
である。 第5図は、最初の4画素位置について、ブレゼンハム・
アルゴリズムによる順次計算によって形成される誤差項
判断水の図である。 第6図は、第1図に示した増分/誤差項論理の一実施例
の概略構成図である。 第7図は、誤差項を当該の線形関数の座標を含む領域の
関数として計算する、本発明で使用する増分の値を示す
図である。 第8図は、生成中の画素データを当該の領域の関数とし
て表す、ブレゼンハム・シーケンスに課される拘束条件
を示す図である。 第9図は、第8図に示した拘束条件から生じる真理値表
である。 第10図は、第9図に示した真理値表のビット・マツプ
である。 第11a図ないし第11e図は、第1図に示した変換論
理の一実施例の概略図である。 第12図は、第1図に示したMCR論理の一実施例の概
略構成図である。 第13図は、第12図に示したMCR論理によって生成
される誤差項及び履歴ビットのシフトを、あるサイクル
中に記憶できる生成画素の数の関数として示した図であ
る。 第14図は、MCR論理の別の実施例に基づく、誤差項
ポインタの様々な値について、ベクトル生成器と変換論
理に送られるデータとの間の割当て関係を示す図である
。 第15a図ないし第15d図は、MCR論理の一実施例
に基づく、誤差項ポインタの様々な値にツイテ、特定の
マシン・サイクル中に記憶サレナかったデータが後続の
サイクルでどのように使用されるかを示す図である。 42・・・・絶対値論理ブロック、44・・・・増分/
誤差項論理ブロック、46・・・・画素生成論理プロ・
ツク、48・・・・変換/MCR論理プロ・ツク。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 朗(外1名) =54− 篤 1 口 X、Y佐置災耕 笛2 口 斌30 ○ −〜 0 Ll uJ Ll u
J領殊゛O@珠 1 ′応110図 篤11c圀 第 11d口
Claims (3)
- (1)単一マシン・サイクル中に生成すべき一連の画素
の各々について、ブレゼンハムのアルゴリズムに従って
誤差項を生じ、上記一連の画素にそれぞれ対応づけられ
ていて並列的に接続された複数のベクトル生成手段によ
って、上記一連の画素の数及び上記誤差項の関数として
定められるデータ値を個々の画素に関して生じることを
特徴とする画素生成方法。 - (2)上記一連の画素に関するデータ値を、少なくとも
1つの画素の線形関数を表わす画素位置データに変換す
ることを含む特許請求の範囲第(1)項記載の画素生成
方法。 - (3)ラスター化される線のn個(nは2以上の整数)
の画素位置について、第1の8分円において各画素位置
のy座標が0以上でかつx座標以下になるように、可能
な画素座標の格子を複数の8分円に分割すると共に、上
記第1の8分円をn個の領域に分割する手段と、 上記線の画素座標が上記第1の8分円に含まれるように
、上記線を定めるパラメータを正規化する手段と、 一連のn個の画素の各々にブレゼンハムのアルゴリズム
を適用して、最初のn個の画素位置に関する誤差項を生
じる手段と、 単一マシン・サイクル中に、上記最初のn個の画素位置
に関する誤差項の各々に、それらの符号に応じて2つの
可能な値のうちから選択される一方の値を有する増分を
加えて、上記最初のn個の画素位置以外の画素位置に関
するn個の誤差項を並列的に生じる手段と、 を有し、上記n個の画素位置のx及びy座標を生じる画
素生成システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/115,451 US4878182A (en) | 1987-10-30 | 1987-10-30 | Multiple pixel generator |
| US115451 | 1987-10-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01124077A true JPH01124077A (ja) | 1989-05-16 |
| JPH0812702B2 JPH0812702B2 (ja) | 1996-02-07 |
Family
ID=22361491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63233847A Expired - Lifetime JPH0812702B2 (ja) | 1987-10-30 | 1988-09-20 | 画素生成方法及びシステム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4878182A (ja) |
| EP (1) | EP0314289B1 (ja) |
| JP (1) | JPH0812702B2 (ja) |
| DE (1) | DE3853511T2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04289983A (ja) * | 1991-03-19 | 1992-10-14 | Japan Radio Co Ltd | ディジタル線分発生回路 |
| JPH06348855A (ja) * | 1993-06-08 | 1994-12-22 | Hitachi Ltd | 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2021665C (en) * | 1989-10-24 | 1995-06-27 | Michael A. Aranda | Pick function implementation in a parallel processing system |
| US5202671A (en) * | 1989-10-24 | 1993-04-13 | International Business Machines Corporation | Pick function implementation in a parallel processing system |
| GB9003922D0 (en) * | 1990-02-21 | 1990-04-18 | Crosfield Electronics Ltd | Image display apparatus and method |
| US5375196A (en) * | 1990-12-27 | 1994-12-20 | Calcomp Inc. | Rapid line drawing in computer graphics employing floating-point arithmetic |
| GB2251772B (en) * | 1991-01-09 | 1994-08-10 | Du Pont Pixel Systems | Programmable computer graphics system with parallelized clipper operations |
| JPH0589251A (ja) * | 1991-07-12 | 1993-04-09 | Sony Corp | 画像の描画装置 |
| US5367617A (en) * | 1992-07-02 | 1994-11-22 | Microsoft Corporation | System and method of hybrid forward differencing to render Bezier splines |
| US5422991A (en) * | 1992-09-22 | 1995-06-06 | International Business Machines Corporation | Parallel vector generator and triangle generator incorporating same |
| US5666520A (en) * | 1993-03-29 | 1997-09-09 | Hitachi, Ltd. | Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line |
| GB9312747D0 (en) * | 1993-06-21 | 1993-08-04 | Questech Ltd | A device for use in digital processing of a graphic image containing a straight line |
| US5528738A (en) * | 1993-10-06 | 1996-06-18 | Silicon Graphics, Inc. | Method and apparatus for antialiasing raster scanned, polygonal shaped images |
| US5515484A (en) * | 1993-10-06 | 1996-05-07 | Silicon Graphics, Inc. | Method and apparatus for rendering volumetric images |
| US5581680A (en) * | 1993-10-06 | 1996-12-03 | Silicon Graphics, Inc. | Method and apparatus for antialiasing raster scanned images |
| GB9727240D0 (en) * | 1997-12-23 | 1998-02-25 | Sgs Thomson Microelectronics | Controlling an output device |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4115863A (en) * | 1976-12-07 | 1978-09-19 | Sperry Rand Corporation | Digital stroke display with vector, circle and character generation capability |
| JPS5971093A (ja) * | 1982-10-18 | 1984-04-21 | 株式会社日立製作所 | 塗潰し図形発生装置 |
| EP0112942B1 (en) * | 1982-12-30 | 1987-03-11 | International Business Machines Corporation | Graphics display system and method |
| US4586037A (en) * | 1983-03-07 | 1986-04-29 | Tektronix, Inc. | Raster display smooth line generation |
| US4736330A (en) * | 1984-09-04 | 1988-04-05 | Capowski Joseph J | Computer graphics display processor for generating dynamic refreshed vector images |
| FR2574575B1 (fr) * | 1984-12-11 | 1987-02-06 | O Donnell Ciaran | Processeur de trace de vecteur |
| JPS61182093A (ja) * | 1985-02-08 | 1986-08-14 | 株式会社日立製作所 | 図形高速描画方式 |
| US4737921A (en) * | 1985-06-03 | 1988-04-12 | Dynamic Digital Displays, Inc. | Three dimensional medical image display system |
-
1987
- 1987-10-30 US US07/115,451 patent/US4878182A/en not_active Expired - Fee Related
-
1988
- 1988-09-19 DE DE3853511T patent/DE3853511T2/de not_active Expired - Fee Related
- 1988-09-19 EP EP88308652A patent/EP0314289B1/en not_active Expired - Lifetime
- 1988-09-20 JP JP63233847A patent/JPH0812702B2/ja not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04289983A (ja) * | 1991-03-19 | 1992-10-14 | Japan Radio Co Ltd | ディジタル線分発生回路 |
| JPH06348855A (ja) * | 1993-06-08 | 1994-12-22 | Hitachi Ltd | 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| DE3853511D1 (de) | 1995-05-11 |
| JPH0812702B2 (ja) | 1996-02-07 |
| EP0314289A2 (en) | 1989-05-03 |
| US4878182A (en) | 1989-10-31 |
| DE3853511T2 (de) | 1995-09-28 |
| EP0314289A3 (en) | 1990-09-19 |
| EP0314289B1 (en) | 1995-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5973705A (en) | Geometry pipeline implemented on a SIMD machine | |
| US7903112B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
| US5081698A (en) | Method and apparatus for graphics display data manipulation | |
| US4878182A (en) | Multiple pixel generator | |
| US5157388A (en) | Method and apparatus for graphics data interpolation | |
| EP0607988A1 (en) | Program controlled processor | |
| US5025405A (en) | Method of interpolating pixel values | |
| US6377265B1 (en) | Digital differential analyzer | |
| JPH03127282A (ja) | ディジタル・イメージのランド変換装置および方法 | |
| US5491769A (en) | Method and apparatus for variable minification of an image | |
| US5402533A (en) | Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device | |
| US5179647A (en) | Method and apparatus for implementing adaptive forward differencing using integer arithmetic | |
| US5880744A (en) | Method and apparatus for vector transformation involving a transformation matrix | |
| US5714975A (en) | Apparatus and method for generating halftoning or dither values | |
| JP2814860B2 (ja) | 画像拡大縮小装置 | |
| US5315540A (en) | Method and hardware for dividing binary signal by non-binary integer number | |
| Oh et al. | FPGA-based fast image warping with data-parallelization schemes | |
| US5815163A (en) | Method and apparatus to draw line slices during calculation | |
| US6028969A (en) | System and method of additive interpolation for affine transformations | |
| US5670981A (en) | Method for mapping a source pixel image to a destination pixel space | |
| KR970004107B1 (ko) | 파라미터곡선발생기 | |
| US5714986A (en) | Run slice line draw engine with enhanced line configurations | |
| KR0119725B1 (ko) | 선형변환 방법을 이용한 영상처리용 병렬기억장치 | |
| JP2713400B2 (ja) | 投影情報生成装置 | |
| JPH1021414A (ja) | テキスチャーマッピング回路 |