JP3593016B2 - 直線描画装置、直線描画方法及び座標生成装置 - Google Patents

直線描画装置、直線描画方法及び座標生成装置 Download PDF

Info

Publication number
JP3593016B2
JP3593016B2 JP2000293423A JP2000293423A JP3593016B2 JP 3593016 B2 JP3593016 B2 JP 3593016B2 JP 2000293423 A JP2000293423 A JP 2000293423A JP 2000293423 A JP2000293423 A JP 2000293423A JP 3593016 B2 JP3593016 B2 JP 3593016B2
Authority
JP
Japan
Prior art keywords
data
coordinate
straight line
storage means
coordinate data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000293423A
Other languages
English (en)
Other versions
JP2001175243A (ja
Inventor
哲司 貴志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000293423A priority Critical patent/JP3593016B2/ja
Publication of JP2001175243A publication Critical patent/JP2001175243A/ja
Application granted granted Critical
Publication of JP3593016B2 publication Critical patent/JP3593016B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、表示装置等に直線の描画を行なう直線描画装置に関し、特に、比較的短い直線を短時間に描画できる直線描画装置に関する。
【0002】
【従来の技術】
近年、コンピュータグラフィックス技術の進歩は目覚しく、扱えるデータ量の飛躍的な増大に伴って、より緻密な描画を要求されるようになってきている。コンピュータグラフィックス技術の代表的な応用には、CAD、CAE又はコンピュータゲーム等があるが、最近では、GPS装置を用いたカーナビゲーションシステムの地図表示にも利用されている。
【0003】
特に、カーナビゲーションシステムにおいては、地図中の道路又は区画線等のように、単純な直線(線分)ではなく、比較的短い多数の直線を組み合わせることによって地図情報を描画する必要があり、さらに、地図の表示エリアと隣接するエリアの情報探索を行なう必要性から、地図情報を描画する際の直線描画を所定時間内に表示する必要がますます増大してきている。
【0004】
コンピュータグラフィックスにおける直線描画技術として、例えば、「入門グラフィックス」、佐藤義雄著、アスキー出版局、第46頁〜第56頁に示されているような技術がある。
【0005】
以下、従来の直線描画方法について図面を参照しながら説明する。
【0006】
図26は従来の直線描画方法における基本動作を示している。図26に示すように、画面上には、座標(Xs,Ys)の始点100と座標(Xe,Ye)の終点101とが配置されているとする。ここで、始点100と終点101との間を結ぶ直線を描画するには、各座標から直線の傾きを表わす傾き(1次)パラメータを|Ye−Ys|/|Xe−Xs|から算出すればよい。実際には、単位長さを持つ線分102を始点100から終点101に到達するまで加算することにより直線の描画を行なう。
【0007】
図27は前記従来の直線描画方法を表わす処理フローを示している。図27に示すように、直線の方向属性決定工程S100において、始点100の座標データ(Xs,Ys)と終点101の座標データ(Xe,Ye)とからX成分の差(Xe−Xs)とY成分の差(Ye−Ys)とを求め、これらの符号の正負により、直線の偏移方向を求める。次に、傾きパラメータ生成工程S101において、直線の傾きをY成分の差分の絶対値をX成分の差分の絶対値で除する、|Ye−Ys|/|Xe−Xs|という除算演算を行なうことによって求める。次に、描画判定工程S102において、描画の先端部が終点101に到達したか否かを判定し、判定が偽であれば、次のパラメータ加算工程S103において、生成された傾きパラメータを始点100から順次加算していく。
【0008】
【発明が解決しようとする課題】
カーナビゲーションシステムの地図情報の表示動作に代表されるように、道路等の詳細な表現には、多数本の比較的短い直線(以下、短直線と呼ぶ。)を所定時間内に描画する必要がある。しかしながら、前記従来の直線描画方法は、図27に示したように、傾きパラメータ生成時に除算演算を必要とする。ディジタル演算における除算演算は、良く知られているように高演算コストを要する。すなわち、加算器等と比べてハードウエアコストが大きく、演算時間も数倍必要となる。そのため、短直線を用いて道路等を表わすカーナビゲーションシステムにおいては高速描画を行なうことが困難となるという問題がある。
【0009】
本発明は、前記従来の問題を解決し、直線描画、特に短直線を簡単な構成で且つ高速に描画できるようにすることを目的とする。
【0010】
【課題を解決するための手段】
前記の目的を達成するため、本発明は、直線描画装置を、直線の始点座標と終点座標との間に一の中点座標を生成して表示し、生成された一の中点座標と該一の中点座標と隣接する他の座標とにおける別の中点座標を順次生成して表示する構成とする。
【0011】
具体的に、本発明に係る第1の直線描画装置は、表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置を対象とし、始点座標と終点座標とからなる線分の中点となる第1の中点座標を生成した後、始点座標と第1の中点座標とからなる線分の中点となる第2の中点座標、及び終点座標と第1の中点座標とからなる線分の中点となる第3の中点座標を生成して表示することにより、始点座標と終点座標との間を結ぶ直線を描画する。
【0012】
第1の直線描画装置によると、まず、始点座標と終点座標とからなる線分の中点となる第1の中点座標を生成しておき、その後、互いに隣接する座標同士の中点座標を順次生成するため、直線の傾きを表わす1次パラメータの算出に、始点及び終点のX座標同士の差分を分母とする除算を行なう必要がなくなる。その結果、実質的に除算器が不要となるので、特に多数の短直線を描画するような場合に描画のスループットが向上する。また、中点座標を求める2分の1の演算は、2進数の場合は桁下がり方向に1ビット分のシフトを行なうだけでよく、装置構成が簡単となり、装置のコストを低減できる。
【0013】
第1の直線描画装置において、互いに隣接する各座標同士を両端点とする線分ごとに該線分の中点座標をさらに生成することが好ましい。このようにすると、描画対象の線分の距離が比較的大きい場合であっても、該線分の描画精度を向上させることができる。
【0014】
第1の直線描画装置において、始点座標と終点座標とを2 (但し、nは、n≧0の整数とする)個に分割してなる座標群のうち、互いに隣接する座標同士を新たな始点座標及び終点座標として生成することが好ましい。このようにすると、始点座標と終点座標との距離が比較的長い直線であっても、描画前に該直線を複数の短直線に分割することにより、従来の1次のパラメータを用いることなく描画できるようになる。その上、本装置を再帰的に使用することができるので、装置の構成を簡単化できる。
【0015】
第1の直線描画装置において、始点座標と終点座標とを2 (但し、nは、n>0の整数とする)個に分割してなる各分割座標は、それぞれが分割座標における始点座標側に隣接する座標と終点座標側に隣接する座標との中点座標であることが好ましい。
【0016】
本発明に係る第2の直線描画装置は、表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置を対象とし、入力された複数の座標データのうち先に入力された座標データから順にそれぞれ一データずつ出力されるFIFO式の第1のデータ記憶手段及び第2のデータ記憶手段と、第1のデータ記憶手段及び第2のデータ記憶手段から出力される各座標データを受け、受けた座標データ同士を加算して加算データを出力する加算手段と、加算データの値を2分の1に除してなる除算データを出力する除算手段とを備え、第1のデータ記憶手段は、該第1のデータ記憶手段から出力される座標データと第2のデータ記憶手段から出力される座標データとが入力されると共に、第2のデータ記憶手段は、除算手段からの除算データが入力され、除算手段からの除算データに基づいて、始点座標と終点座標との間を結ぶ直線を描画する。
【0017】
第2の直線描画装置によると、例えば、始点及び終点の各座標の座標データを出力すると共に、それぞれを第1のデータ記憶手段及び第2のデータ記憶手段に格納する。次に、第1のデータ記憶手段及び第2のデータ記憶手段からの出力データ、すなわち始点及び終点の座標データを加算手段に出力すると共に、第1のデータ記憶手段に対して始点及び終点の座標データを格納する一方、第1の中点座標を表わす除算後の座標データを第2のデータ記憶手段に格納する。これらのデータ記憶手段はFIFO式であるため、第1のデータ記憶手段から次に出力される座標データは始点又は終点であり、第2のデータ記憶手段から出力される座標データは第1の中点座標となる。従って、これらの座標データを加算して2で除すると第2の中点座標又は第3の中点座標が生成されるので、本発明に係る第1の直線描画装置を実現できる。
【0018】
第2の直線描画装置において、除算手段が、配線によって桁下がり方向に1ビット分シフトするシフト演算器であることが好ましい。このようにすると、除算手段を簡単で且つ高速に動作するバレルシフター等のシフト回路により構成できるため、本発明に係る装置を加算手段が主要な構成要素となる比較的簡単なハードウェア資源のみで実現できる。
【0019】
第2の直線描画装置は、第1のデータ記憶手段及び第2のデータ記憶手段に対して出力データのフィードバック回数を規制する繰返制御手段をさらに備え、繰返制御手段は、始点座標及び終点座標のうち、X座標同士の差の絶対値とY座標同士の差の絶対値とを算出し、絶対値の大きい方の値を出力する長辺演算選択部と、出力された絶対値からフィードバック回数を算出する演算回数算出部とを有していることが好ましい。このようにすると、長辺演算選択部により、始点と終点とのX座標成分及びY座標成分のうちの差が大きい方を選択するため、始点座標と終点座標とにより生成される中点座標の生成個数が、X座標成分及びY座標成分のうちの差分が大きい方で規制されるので、描画の精度が向上する。また、演算回数算出部により、該差分が大きい方の絶対値から必要なフィードバック回数を算出するため、描画動作を所定の時間内に終えられるようにすることができる。
【0020】
第2の直線描画装置は、入力された複数の色情報のうち先に入力された色情報から順にそれぞれ一情報ずつ出力するFIFO式の第1の色情報記憶手段及び第2の色情報記憶手段と、第1の色情報記憶手段及び第2の色情報記憶手段から出力される各色情報を受け、受けた色情報同士を加算して加算色情報を出力する色情報加算手段と、加算色情報の値を2分の1に除してなる除算色情報を出力する色情報除算手段とをさらに備え、第1の色情報記憶手段は、該第1の色情報記憶手段から出力され始点座標と対応する色情報と、第2の色情報記憶手段から出力され終点座標と対応する色情報とが入力されると共に、第2の色情報記憶手段は、色情報除算手段からの除算色情報が入力され、除算色情報に基づいて、始点座標と終点座標との間を結ぶ直線の描画色を決定することが好ましい。このようにすると、一般に、コンピュータ処理においては色情報も数値化されているため、始点座標と終点座標とから決定される直線の描画を行なう処理と並行して、色情報に対しても加算色情報の値を2分の1に除してなる除算色情報を用いているので、色補間されたグラデーション付き直線描画を従来の除算演算が行なわれる期間内に完了させることができる。
【0021】
第2の直線描画装置は、入力された複数の輝度情報のうち先に入力された輝度情報から順にそれぞれ一情報ずつ出力するFIFO式の第1の輝度情報記憶手段及び第2の輝度情報記憶手段と、第1の輝度情報記憶手段及び第2の輝度情報記憶手段から出力される各輝度情報を受け、受けた輝度情報同士を加算して加算輝度情報を出力する輝度情報加算手段と、加算輝度情報の値を2分の1に除してなる除算輝度情報を出力する輝度情報除算手段とをさらに備え、第1の輝度情報記憶手段は、該第1の輝度情報記憶手段から出力され始点座標と対応する輝度情報と、第2の輝度情報記憶手段から出力され終点座標と対応する輝度情報とが入力されると共に、第2の輝度情報記憶手段は、輝度情報除算手段からの除算輝度情報が入力され、除算輝度情報に基づいて、始点座標と終点座標との間を結ぶ直線の輝度を決定することが好ましい。このようにすると、一般に、コンピュータ処理においては輝度情報も数値化されているため、始点座標と終点座標とから決定される直線の描画を行なう処理と並行して、輝度情報に対しても加算輝度情報の値を2分の1に除してなる除算輝度情報を用いているので、輝度補間されたグラデーション付き直線描画を従来の除算演算が行なわれる期間内に完了させることができる。
【0022】
第2の直線描画装置は、始点座標及び終点座標を含む直線の傾きを表わす1次パラメータを算出して出力する1次パラメータ算出手段と、1次パラメータと第1のデータ記憶手段からの出力データとを受け、そのうちのいずれか一方を選択して加算手段に出力する第1の切替手段と、除算データと第2のデータ記憶手段からの出力データとを受け、そのうちのいずれか一方を選択して加算手段に出力する第2の切替手段とをさらに備えていることが好ましい。始点座標及び終点座標との2点間の距離が比較的長い長直線の場合には、多数の中点による点描を行なうよりも従来の1次パラメータを算出して直線を端点まで順次加算しながら延長して描画する方が速い場合もあり得る。このような場合であっても、始点座標及び終点座標を含む直線の傾きを表わす1次パラメータを算出して出力する1次パラメータ算出手段をさらに備えているため、第1の切替手段及び第2の切替手段によってFIFO式の各データ記憶手段を未使用状態として、1次パラメータ算出手段の出力を用いれば、加算手段を共用できる。その結果、短直線の場合には従来の除算器を用いずに高スループットを実現でき、また、短直線の描画方法ではスループットが低下するような長直線の場合には、ハードウェアの一部を共用した簡単な装置構成により長直線の描画が可能となる。
【0023】
本発明に係る第3の直線描画装置は、表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置を対象とし、始点座標及び終点座標を結ぶ線分上の第1の座標データ及び第2の座標データを含む複数のデータを格納可能なデータ格納部を有するデータ記憶手段と、第1の座標データ及び第2の座標データを加算して加算データを出力する加算手段と、加算データの値を2分の1に除してなる除算データを出力する除算手段とを備え、除算データはデータ格納部のうちの所定領域に第3の座標データとして格納される。
【0024】
第3の直線描画装置によると、データ記憶手段が、始点座標及び終点座標を結ぶ線分上の第1の座標データ及び第2の座標データを含む複数のデータを格納可能なデータ格納部を有しているため、このデータ格納部の個数(容量)によって生成される中点座標の個数が必然的に決定される。その結果、演算手順が単純化されるので、演算手順の制御も簡単となる。
【0025】
第3の直線描画装置において、互いに隣接する各座標データ同士を両端点とする線分ごとに、データ格納部の個数により決定される繰り返し回数分だけ加算手段による加算演算及び除算手段による除算演算を繰り返し、演算結果がデータ格納部のうちの所定領域にそれぞれ格納されることが好ましい。このようにすると、描画対象の線分の距離が比較的大きい場合であっても、該線分の描画精度を確実に向上させることができる。
【0026】
本発明に係る直線描画方法は、表示手段、FIFO式の第1のデータ記憶手段及び第2のデータ記憶手段、第1のデータ記憶手段及び第2のデータ記憶手段からの出力を受ける加算手段並びに該加算手段からの出力値の2分の1の値を生成する除算手段を備え、表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置の直線描画方法を対象とし、始点座標を表わす始点座標データ及び終点座標を表わす終点座標データを表示手段に出力する第1の工程と、始点座標データを第1のデータ記憶手段に格納し且つ終点座標データを第2のデータ記憶手段に格納する第2の工程と、第1のデータ記憶手段から出力される始点座標データを加算手段に出力すると共に、第1のデータ記憶手段に格納する第3の工程と、第2のデータ記憶手段から出力される終点座標データを加算手段に出力すると共に、第1のデータ記憶手段に格納する第4の工程と、加算手段から出力される始点座標データ及び終点座標データの和を除算手段に出力する第5の工程と、除算手段からの出力データを表示手段に出力すると共に、出力データを第2のデータ記憶手段に、第3の工程における始点座標データ及び第4の工程における終点座標データとそれぞれ対応するように格納する第6の工程とを備えている。
【0027】
本発明の直線描画方法によると、本発明の第2の直線描画装置を用いた短直線の描画を確実に行なえる。
【0028】
【発明の実施の形態】
(第1の実施形態)
本発明の第1の実施形態について図面を参照しながら説明する。
【0029】
図1は本発明の第1の実施形態に係る直線描画装置の機能構成を表わしている。図1に示すように、描画対象とする座標データを一時的に保持するパラメータレジスタ1と、座標データのうちのX座標を生成するX座標生成部2と、座標データのうちのY座標を生成するY座標生成部3と、X座標生成部2とY座標生成部3により生成される2次元座標データを1次元座標データに変換するアドレス変換部4とを備えている。さらに、1次元座標データに変換された座標データは、メモリインターフェース5を介して画像イメージを保持するフレームメモリ6に保持され、液晶表示板やCRT等からなる画像表示部7に表示される。メモリインターフェース5は描画終了信号を受けるとフレームメモリ6への座標データの出力動作を中止する。
【0030】
図2は図1におけるX座標生成部2の詳細な機能構成を示している。なお、図示はしていないが、Y座標生成部3の詳細構成もX座標生成部2と同様の構成を有している。図2に示すように、X座標生成部2は、パラメータレジスタ1からの、例えば始点座標データのX成分を受けこれを保持する第1のFIFOメモリ11と、例えば終点座標データのX成分を受けこれを保持する第2のFIFOメモリ12と、第1のFIFOメモリ11及び第2のFIFOメモリ12の各出力データを受け、受けた出力データ同士を加算し且つその2分の1の値を求めて出力するX座標演算部13と、第1のFIFOメモリ11及び第2のFIFOメモリ12の繰り返し動作等を制御する繰返制御手段としてのX座標制御部14と、パラメータレジスタ1からの2つの出力データとX座標演算部13からの出力データを受け、X座標制御部14からの選択信号に基づいて、受けたデータのうちのいずれか1つを選択して出力するセレクタ15とを有している。
【0031】
第1のFIFOメモリ11は、例えば、パラメータレジスタ1の一方の出力データ及び第2のFIFOメモリ12の出力データが入力される第1のメモリ要素11aと、第1のメモリ要素11aの出力データ及び第1のFIFOメモリ11の出力データが入力される第2のメモリ要素11bとを有している。
【0032】
第2のFIFOメモリ12は、例えば、パラメータレジスタ1の他方の出力データ及びX座標演算部13からの出力データが入力される第1のメモリ要素12aと、第1のメモリ要素12aの出力データ及びX座標演算部13からの出力データが入力される第2のメモリ要素12bとを有している。なお、第1のFIFOメモリ11と第2のFIFOメモリ12との配置位置を互いに入れ替えても動作に変わりはない。
【0033】
X座標演算部13は、第1のFIFOメモリ11及び第2のFIFOメモリ12の各出力データを受け、受けたデータの加算演算を行なう加算器21と加算結果の2分の1の演算を行なう除算手段としてのシフター22とから構成されている。
【0034】
ここで、シフター22は図3に示す構成が好ましい。すなわち、シフター22は、桁下がり方向(右)方向に1ビット分のシフトが行なえるように配線により1ビット分だけ右方向にずらせて接続されたバレルシフターである1ビット配線シフター22aと、該1ビット配線シフター22aの出力値をビットごとにラッチし、シリアルデータとして出力するデータラッチ回路22bとから構成されていることが好ましい。このようにすると、シフター22の回路構成が簡単になり且つ入力値の2分の1の演算を高速に行なえる。
【0035】
図4はX座標制御部14の詳細構成を示している。図4に示すように、X座標制御部14は、第1のFIFOメモリ11及び第2のFIFOメモリ12に対して出力データをフィードバックさせる回数、すなわち中点を求める回数(演算回数)を判定する演算回数判定部25と、該演算回数判定部25からの指示を受け、第1のFIFOメモリ11及び第2のFIFOメモリ12のデータの入出力の制御をそれぞれ行なう第1のFIFO制御部26A及び第2のFIFO制御部26Bとから構成されている。
【0036】
図5は演算回数判定部25の詳細構成を示している。図5に示すように、パラメータレジスタ1から出力される線分の始点座標(Xs,Ys)と終点座標(Xe,Ye)とから、2点間のX成分同士の差(|Xe−Xs|)とY成分同士の差(|Ye−Ys|)を求め、求めた差の絶対値が大きい方のデータ、すなわち長辺となるデータ(長辺値)を出力する長辺演算選択回路25aと、長辺値の大きさにより定められた演算回数を出力する演算回数判定回路25bと、与えられた演算回数により、X座標演算部13に対して所定の演算を実行させる演算回数制御回路25cとから構成されている。
【0037】
図6は演算回数判定回路25bと演算回数制御回路25cとの一構成例を示している。図6に示すように、演算回数判定回路25bは、長辺値と該長辺値により決定される演算回数とを格納するROMテーブル251を含む構成である。演算回数制御回路25cは、演算回数を計数するカウンタ252と、ROMテーブル251から読み出された演算回数とカウンタ252から出力される計数値を比較し、比較の結果、例えば、計数値が演算回数よりも小さい場合には演算実行信号を出力し、計数値が演算回数よりも大きいか等しい場合には終了判定信号を出力する比較器253と、後述する演算回数制御信号出力回路254とから構成されている。
【0038】
演算回数制御信号出力回路254は、演算実行信号を受信している間はカウンタ252に対してその計数値を増加させるカウンタ制御信号を出力すると共に、第1のFIFO制御部26A及び第2のFIFO制御部26Bに対して演算実行信号を出力する。また、演算回数制御信号出力回路254は、終了判定信号を受信した場合に、カウンタ252に対して計数値を0に戻す初期化信号を出力すると共に、第1のFIFO制御部26A及び第2のFIFO制御部26Bに対して演算終了信号を出力する。
【0039】
なお、ROMテーブル251はメモリ領域上のテーブルではなく、長辺値を入力値とし演算回数を出力値とする論理回路により構成してもよい。
【0040】
本実施形態においては、各FIFOメモリ11、12のメモリ要素数(以下、FIFO段数と呼ぶ。)を4段としている。ここで、FIFO段数と直線の始点及び終点を含む中点の座標の数との関係を説明する。以下、直線の始点及び終点を含む中点の座標位置を直線構成点と呼び、直線構成点の個数を長辺値と呼ぶ。
【0041】
図7(a)はFIFO段数と、長辺値及び演算回数とのそれぞれの関係を表わす演算回数決定テーブルの内容を示し、図7(b)はFIFO段数の増加により、描画される長辺値がどのように増えるかを模式的に表わしている。図8は図7(a)に示す演算回数決定テーブルに基づいて、FIFO段数が4段の場合の長辺演算選択回路25aにより出力される長辺値から演算回数を判定するROMテーブル251としての演算回数判定テーブルの一例を表わしている。図7(a)に示すように、FIFO段数(2id+1)の関数である長辺値又は演算回数が一般式として表わせることが分かる。
【0042】
以下、前記のように構成された直線描画装置の動作について図面を参照しながら説明する。ここでは、X座標生成部2について説明するが、Y座標生成部3についても同様である。図9(a)〜図9(d)は始点座標及び終点座標、さらには、各中点座標が生成される様子を模式的に表わしている。図9(a)において、符号30を始点座標データとし、符号31を終点座標データとする。図9(b)において、符号32を始点座標データ30と終点座標データ31とからなる線分の第1の中点座標データ32とする。図9(c)において、符号33を始点座標データ30と第1の中点座標データ32とからなる線分の第2の中点座標データ33とし、符号34を終点座標データ31と第1の中点座標データ32とからなる線分の第3の中点座標データ34とする。図9(d)は最終的に5ピクセルの座標データが生成されたことを表わしている。ここで、ピクセルとは直線等を構成するのに必要な描画点を表わしている。
【0043】
図10は第1のFIFOメモリ11及び第2のFIFOメモリ12における、図9に示す各座標データ30〜34が格納される様子を模式的に表わしている。ここで、図10において、図2に示す構成要素と同一の構成要素には同一の符号を付すことにより説明を省略する。
【0044】
図2の構成図をも参照しながら説明すると、図2において、まず、パラメータレジスタ1に、描画対象となる、座標成分が(Xs,Ys)の始点座標データ30と座標成分が(Xe,Ye)の終点座標データ31が入力されて保持される。
【0045】
次に、パラメータレジスタ1から始点座標のX成分であるXsデータが第1のFIFOメモリ11に入力されてこれを保持する。同時に、X座標制御部14はセレクタ15に指示してXsデータを図1に示すアドレス変換部4に出力させる。一方、終点座標のX成分であるXeデータが第2のFIFOメモリ12に入力されてこれを保持すると共に、Xsデータと同様に、Xeデータをアドレス変換部4に出力させる。これにより、図9(a)に示す始点座標データ30及び終点座標データ31が生成される。
【0046】
次に、第1のFIFOメモリ11からの始点座標データ30と第2のFIFOメモリ12からの終点座標データ31はX座標演算部13に入力される。同時に、図10に示すように、第1のFIFOメモリ11には、該第1のFIFOメモリ11から出力される始点座標データ30が30Aとして再入力され、その後、第2のFIFOメモリ12から出力される終点座標データ31が31Aとして再入力されて保持される。ここで、符号30A及び31Aは、説明の都合上付したものであり、それぞれ始点座標データ30及び終点座標データ31と同一のデータ値を持つ。後述する符号32A及び32Bも同様である。
【0047】
X座標演算部13においては、始点座標データ30と終点座標データ31との和が演算され、続いて和の2分の1の値が演算されてなる第1の中点座標データ32が出力される。同時に、第1の中点座標データ32は、第2のFIFOメモリ12の2つのメモリ要素にそれぞれ再入力されて32A及び32Bとして保持される。これにより、図9(b)に示す第1の中点座標データ32が生成される。
【0048】
次に、図10に示すように、第1のFIFOメモリ11の始点座標データ30Aと第2のFIFOメモリ12の第1の中点座標データ32AとがX座標演算部13に入力されて、図9(c)に示す第2の中点座標データ33が生成される。
【0049】
次に、第1のFIFOメモリ11の終点座標データ31Aと第2のFIFOメモリ12の第1の中点座標データ32BとがX座標演算部13に入力されて、図9(c)に示す第3の中点座標データ34が生成される。このように、5直線構成点(ピクセル)の場合には、X座標演算部13における演算は3回で終了する。
【0050】
次に、図1に示すように、X座標生成部2から出力される各X座標とY座標生成部3から出力される各Y座標とからなる2次元座標は、アドレス変換部4によって1次元座標に変換され、メモリインターフェース5を介してフレームメモリ6に画像イメージとして書き込まれ、画像表示部7に表示される。
【0051】
ここで、第1のFIFOメモリ11及び第2のFIFOメモリ12の具体的な構成例及びデータの入出力方法を説明する。
【0052】
図11(a)はFIFO段数が4段の第1のFIFOメモリ11を模式的に表わしている。第2のFIFOメモリ12も第1のFIFOメモリ11と同等の構成を有している。FIFO段数は、直線描画装置が描画する直線の長辺値に基づいてあらかじめ決定しておく。例えば、図7(a)に示した演算回数決定テーブルから、長辺値を5とする場合のFIFO段数は4段となり、長辺値を9とする場合のFIFO段数は8段となる。
【0053】
第1のFIFOメモリ11は、図11(a)に示す構成を採ることが好ましい。すなわち、少なくとも8ビット幅のメモリ領域を持つデータ格納部111と、5段目にオーバーフロー部113を持つ少なくとも1ビット幅のメモリ領域を持つエンドマーク格納部112とから構成されている。データ格納部111へのデータ入力は、有効データが格納されている領域に隣接する空き領域に格納され、データ格納部111からのデータ出力は有効データのうちの1段目から出力される。
【0054】
図の左側のメモリ11には、一例として、データ格納部111の1段目から順にデータ”0”、”8”、”4”が格納され、対応するエンドマーク格納部112にはいずれも”0”が格納されて、データ格納部111に格納されているデータが有効データであることを表わしている。また、エンドマーク格納部112の4段目にはエンドマークである”1”が格納されており、エンドマーク”1”が格納されているデータ格納部111及びこれから上の領域のデータは無効データであることを表わしている。
【0055】
ここで、1つ分のデータ出力は、データ格納部111の1段目のデータが下段方向に1段分だけシフトすることにより行なわれる。例えば、図の中央のメモリに示すように、1段目のデータ”0”がメモリから出力されると、データ”8”、”4”及びエンドマークがそれぞれ下段側に1段分だけシフトする。この後、データ格納部111に2つのデータ”2”、”1”が入力されると、図の右側のメモリに示すように、データ格納部111の3段目及び4段目に順次格納されると共に、エンドマーク”1”は、入力側に2段分だけシフトして、オーバーフロー部113に格納される。
【0056】
オーバーフロー部113にエンドマーク”1”が格納された状態で、さらに他のデータが入力される場合には、オーバーフロー部113のエンドマーク”1”がオーバーフロー部113に再度書き込まれて、データ格納部111には何も書き込まれない。また、この状態から、データ”8”が出力された場合には、エンドマーク”1”が4段目にシフトし、オーバフロー部113には”0”が書き込まれる。
【0057】
図11(b)はこのように構成された第1のFIFOメモリ11及び第2のFIFOメモリ12に対して、パラメータレジスタ1からX座標演算部13に至るデータの流れを示している。ここでは、各FIFOメモリ11、12への入力データはセレクタMPXを介して入力され、その出力データはそれぞれバッファを介して出力される。
【0058】
以下、座標データに実際の数値を用いた具体例を説明する。
【0059】
図12は始点座標データ(Xs,Ys)を(0,0)とし、終点座標データ(Xe,Ye)を(2,2)とした例を示している。この場合は、3ピクセルであるため演算回数は1回となり、図12に示すように、中点座標データ(1,1)が生成されることは容易に理解できる。
【0060】
図13(a)は始点座標データ(Xs,Ys)を(0,0)とし、終点座標データ(Xe,Ye)を(2,1)とした例を示している。この場合には、小数点演算を行なうと(1,0.5)が算出され、この算出されたデータに対して切り上げ演算を行なうことにより、中点座標データ(1,1)を生成した場合を表わしている。ここで、切り上げ演算は、例えば、図3に示すシフター22において小数点以下のビット領域を設け、小数点以下の1ビットに1を加算することにより行なえる。すなわち、シフト後の小数点以下の1ビットが0ならば、桁上がりが生じず、1ならば桁上がりが生じるため、0.5が1となる。
【0061】
一方、図13(b)は算出されたデータ(1,0.5)に対して切り捨て演算を行なうことにより、中点座標データ(1,0)を生成した場合を表わしている。これは、シフター22に小数点以下のビット領域を設けない場合の出力データであり、すなわち、図3に示すシフター22の構成の場合となる。
【0062】
図14(a)は始点座標データ(Xs,Ys)を(0,0)とし、終点座標データ(Xe,Ye)を(2,3)とした例を示している。以下に、演算ステップごとに生成される中点座標データを列挙する。ここで、演算記号「#」は一のデータと他のデータとの和の2分の1を求める演算を施すことを表わす。また、小数点データは丸め(切り上げ)演算を行なう。
【0063】
始点座標(0,0)、終点座標(2,3)
ステップ1:(0,0)#(2,3)→(1,1.5)→(1,2)
ステップ2:(0,0)#(1,2)→(0.5,1)→(1,1)
ステップ3:(2,3)#(1,2)→(1.5,2.5)→(2,3)
また、切り捨て演算を行なった場合には図14(b)に示すようになる。
【0064】
始点座標(0,0)、終点座標(2,3)
ステップ1:(0,0)#(2,3)→(1,1.5)→(1,1)
ステップ2:(0,0)#(1,1)→(0.5,0.5)→(0,0)
ステップ3:(2,3)#(1,1)→(1.5,2)→(1,2)
この場合の描画イメージは、図14(a)と同等である。
【0065】
なお、本実施形態においては、X座標生成部2とY座標生成部3とを分けて、座標成分ごとに演算を行なったが、X座標とY座標とは互いに独立したデータであるため、いずれか一方の座標生成部のみの構成とし、これを繰り返して用いてもよい。
【0066】
以上説明したように、本実施形態によると、短直線を描画する際に、従来のような直線の1次パラメータを算出する除算演算が不要となるため、除算演算に要する多くのクロックサイクルが不要となる。このため、従来の除算サイクルを実行中に短直線の描画を開始することができるので、直線座標演算処理を高速に行なえるようになる。その結果、特に、短直線を多く描画する必要がある場合には所定時間内により多くの座標演算処理を実行できるため、描画処理のスループットを大幅に向上することができる。
【0067】
なお、本実施形態においては、X座標演算部13に供給するデータを保持するメモリにFIFOメモリを用いたが、保持したデータと同一のデータを供給可能なデータ保持手段であれば、FIFOメモリに限られない。
【0068】
(第1の実施形態の一変形例)
以下、第1の実施形態の一変形例として、FIFOメモリ方式に代わる固定メモリ方式を説明する。
【0069】
図15(a)はX座標演算部13に供給するデータを保持する固定メモリを模式的に表わしている。符号45はデータ記憶手段としての固定メモリであって、その段数も直線描画装置が描画する直線の長辺値に基づいてあらかじめ決定されている。例えば、図15(a)に示すように、長辺値が9の場合は9段分のデータ格納部が必要となる。長辺値が17の場合は17段の格納部が必要となり、m(mは正の整数)段のFIFO方式のm+1の段数が必要となる。一方、固定メモリ45は1つのブロックで済み、FIFO方式のように2ブロック分を必要としない。
【0070】
次に、固定メモリ45への座標データの格納順序を図15(b)に示す。まず、描画対象である線分の始点1及び終点9の格納領域を決定しておく。例えば、データ格納部A1に始点1を格納し、データ格納部A9に終点9を格納しておく。
【0071】
次に、図2に示した加算器21及びシフター22を含むX座標演算部13を用いて、加算及び2分の1の除算を行なって、始点1と終点9との中点である第1の中点5をデータ格納部A5に格納する。続いて、図15(b)の算出順序に示すように、始点1と第1の中点5との中点となる第2の中点3をデータ格納部A3に格納し、演算を順次行なう。ここで、(A5)はデータ格納部A5に格納されているデータを表わしている。
【0072】
このように、長辺値が9の場合は7回の演算を繰り返すことにより、すべての中点座標、すなわち(A2)〜(A8)の7つの中点座標を算出できる。
【0073】
なお、中点座標を算出する順序は、図15(b)に限られず、既に算出された座標データを用いた演算が行なわれればよい。また、固定メモリ45のデータ格納部A1〜A9の配列を始点座標から終点座標に向けて、メモリ装置のアドレスの昇順又は降順に配置したが、被演算データと演算後のデータの格納先が一意に決定されていれば良く、データ格納部A1〜A9の配置位置は問われない。さらにはデータ格納部同士が隣接して配置されていなくてもよい。
【0074】
本変形例に係る固定メモリ方式は、図15(c)に示すように、長辺値が5の場合であっても、制御方法を何ら変更することなく、図15(b)に示した演算を実行できる。この場合に、例えば、データ格納部A9とデータ格納部A8とに格納されるデータは同値となって描画時に重複してしまうものの、描画自体には支障はない。本変形例においては、長辺値が3〜9の場合の算出時間はすべて同一となる。
【0075】
このように、本変形例によると、中点の算出手順及びメモリが固定されているため、FIFO方式の場合よりも装置の制御を簡単に行なうことができる。
【0076】
(第2の実施形態)
以下、本発明の第2の実施形態について図面を参照しながら説明する。
【0077】
図16は本発明の第2の実施形態に係る直線描画装置の機能構成を表わしている。図16において、図1に示す構成要素と同一の構成要素には同一の符号を付すことにより説明を省略する。図16に示すように、パラメータレジスタ1とメモリインターフェース5との間に、X座標生成部2及びY座標生成部3と同等の構成を持つ色情報生成部8を備えていることを特徴とする。
【0078】
本実施形態に係る直線描画装置は、始点座標と終点座標との座標データごとに色情報が付与されている場合に、これら始点と終点とを結ぶ線分の色補間を行なう機能を有している。
【0079】
前記のような構成の直線描画装置の動作を説明する。
【0080】
図16において、まず、パラメータレジスタ1には、それぞれに色情報が割り当てられた始点座標データ及び終点座標データがパラメータレジスタ1に保持される。
【0081】
次に、第1の実施形態と同様に、始点座標データ及び終点座標データのX成分はX座標生成部2に入力され、そのY成分はY座標生成部3に入力されて、第1の中点座標データ、第2の中点座標データ、…と所定回数の演算が順次実行されてアドレス変換部4に出力される。これと並行して、始点座標データ及び終点座標データの色情報が、色情報生成部8に入力される。色情報生成部8において、座標の演算と同様に、始点に付加され数値化された始点色情報と終点に付加され数値化された終点色情報との和が求められ、求められた和の2分の1の値が色補間情報の一つとして出力される。従って、色情報生成部8の機能構成は、図2に示すX座標生成部2と同等の構成で実現できる。例えば、第1のFIFOメモリ11が第1の色情報記憶手段として、第2のFIFOメモリ12が第2の色情報記憶手段として、加算器21が色情報加算手段として、シフター22が色情報除算手段として、それぞれ機能する。
【0082】
色情報生成部8により生成された補間情報は、フレームメモリ6内において、対応する座標データと組み合わされた後、画像表示部7に描画される。
【0083】
図17は色補間表示によるグラデーション色で直線を描画した例を示している。ここで、グラデーション色とは、互いに離れた位置にある複数の対象物の色が徐々に補間され変化していく様子を表わす言葉である。図17に示すように、濃色の始点座標データ(0,0)と淡色の終点座標データ(2,2)との中点座標データ(1,1)は、両者の中間色となる色情報を持っている。
【0084】
図18は色情報生成部8の一変形例を示している。
【0085】
図18に示す色情報生成部8は、それぞれが、X座標生成部2と同等の構成を持つ赤色情報生成部8a、緑色情報生成部8b及び青色情報生成部8cを有している。従って、色情報が赤色、緑色及び青色からなる三原色データで表現される場合にはさらに高精度の色補間を行なえる。
【0086】
このように、本実施形態によると、グラデーション処理が要求されるような短直線の描画であっても、従来のような高演算コストを要する除算器を用いないので、簡単なハードウェア構成で且つ高速に描画することができる。
【0087】
なお、FIFO段数が比較的少ない場合には、例えば、色情報生成部8を赤色、緑色及び青色で共用してもよい。
【0088】
(第3の実施形態)
以下、本発明の第3の実施形態について図面を参照しながら説明する。
【0089】
図19は本発明の第3の実施形態に係る直線描画装置の機能構成を表わしている。図19において、図1に示す構成要素と同一の構成要素には同一の符号を付すことにより説明を省略する。図19に示すように、パラメータレジスタ1とメモリインターフェース5との間に、X座標生成部2及びY座標生成部3と同等の構成を持つ輝度情報生成部9と、該輝度情報生成部9からの出力を受け、色情報のスケーリングを施してメモリインターフェース5に出力する色情報演算部10とを備えていることを特徴とする。
【0090】
本実施形態に係る直線描画装置は、始点座標と終点座標との座標データごとに照度に関する情報からなる輝度情報が付与されている場合に、これら始点と終点とを結ぶ線分の輝度補間を行う機能を有している。
【0091】
前記のような構成の直線描画装置の動作を説明する。
【0092】
図19において、まず、パラメータレジスタ1には、それぞれに輝度情報が割り当てられた始点座標データ及び終点座標データがパラメータレジスタ1に保持される。
【0093】
次に、第1の実施形態と同様に、始点座標データ及び終点座標データのX成分はX座標生成部2に入力され、そのY成分はY座標生成部3に入力されて、第1の中点座標データ、第2の中点座標データ、…と所定回数の演算が順次実行されてアドレス変換部4に出力される。これと並行して、始点座標データ及び終点座標データの輝度情報が、輝度情報生成部9に入力される。輝度情報生成部9において、座標の演算と同様に、始点に付加され数値化された始点輝度情報と終点に付加され数値化された終点輝度情報との和が求められ、求められた和の2分の1の値が輝度補間情報の一つとして出力される。従って、輝度情報生成部9の機能構成は、図2に示すX座標生成部2と同等の構成で実現できる。例えば、第1のFIFOメモリ11が第1の輝度情報記憶手段として、第2のFIFOメモリ12が第2の輝度情報記憶手段として、加算器21が輝度情報加算手段として、シフター22が輝度情報除算手段として、それぞれ機能する。
【0094】
次に、生成された輝度情報は、色情報演算部10に入力され、輝度情報に対する色情報のスケーリングを行なう。ここで、スケーリングとは、例えば、照度0が相対的に暗い情報を表わし、照度1が相対的に明るい情報を表わしているとする。従って、描画対象の直線の始点が照度0であり且つ終点が照度1である場合には、その中点の照度は0.5として算出される。この値を、色情報に積算することにより照度を付加した色情報を得ることができる。
【0095】
次に、色情報演算部10により生成され、輝度情報が付加された色補間情報は、フレームメモリ6内において、対応する座標データと組み合わされた後、画像表示部7に出力される。
【0096】
このように、本実施形態によると、輝度が付加された色情報によるグラデーション処理が要求されるような短直線の描画であっても、従来のような高演算コストを要する除算器を用いないので、簡単なハードウェア構成で且つ高速に描画することができる。
【0097】
なお、本実施形態においては、色情報は、1つの色情報に対して複数の輝度情報を与えることを前提にしたが、第2の実施形態の一変形例と同様に、三原色の原色ごとに輝度情報を付加してもよい。
【0098】
また、第2の実施形態に係る直線描画装置に本実施形態の輝度情報生成部9及び色情報演算部10を追加した構成としてもよい。このようにすると、直線描画時に輝度補間と色補間とを同時に行なえようになる。
【0099】
(第4の実施形態)
以下、本発明の第4の実施形態について図面を参照しながら説明する。
【0100】
図20は本発明の第4の実施形態に係る直線描画装置におけるX座標生成部の詳細な機能構成を示している。図20において、図2に示す構成要素と同一の構成要素には同一の符号を付すことにより説明を省略する。
【0101】
前述した第3の実施形態までの直線描画装置は、所定時間に点描が可能な短直線を対象としている。第4の実施形態においては、従来の、直線の1次(傾き)パラメータを算出する方法をも取り込み、長辺値(ピクセル数)に応じて、中点を点描する方法と、従来の1次パラメータを算出する方法とを選択して動作する直線描画装置を説明する。
【0102】
図20に示すように、パラメータレジスタ1の始点座標データ及び終点座標データを受け、受けた始点座標データと終点座標データとを含む直線の傾きを算出してX座標演算部13に出力するパラメータ算出部41を備えている。
【0103】
さらに、第1のFIFOメモリ11からの出力値とパラメータ算出部41からの出力値を受け、そのうちのいずれか1つを選択してX座標演算部13に出力する第1の切替手段としての第1のセレクタ42と、第2のFIFOメモリ12からの出力値とX座標演算部13からの出力値とを受け、そのうちのいずれか1つを選択してX座標演算部13に出力する第2の切替手段としての第2のセレクタ43と、パラメータレジスタ1の2つの出力値、加算器21からの出力値及びシフター22からの出力値を受け、そのうちのいずれか1つを選択してアドレス変換部4へ出力する第3のセレクタ44とを備えている。
【0104】
図21は本実施形態に係るX座標制御部14の演算回数判定部25の詳細構成を示している。図21において、図4に示す構成要素と同一の構成要素には同一の符号を付すことにより説明を省略する。図21に示すように、長辺演算選択回路25aの出力を受け、始点座標データと中点座標データとの距離のX成分又はY成分を判定し、所定値を超える場合には、パラメータ演算部41の出力結果を選択する長短描画判定信号を生成して、第1のセレクタ42及び第2のセレクタ43に出力する長短直線描画判定回路25dを有している。
【0105】
以下、前記のように構成された直線描画装置の動作を説明する。
【0106】
ここでは、短直線の場合は第1の実施形態で説明した動作による直線の描画が行なわれ、長直線の場合は公知の方法による直線の描画が行なわれるため、図21に示す演算回数判定部25における短直線と長直線との判定方法を中心に説明する。従って、演算回数判定部25における短直線と長直線との判定方法の処理フローをも参照しながら説明する。
【0107】
図22は本実施形態に係る演算回数判定部25の判定方法を示すフローチャートをである。
【0108】
まず、描画対象となる始点座標データを(Xs,Ys)とし、終点座標データを(Xe,Ye)とする。図21に示す長辺演算選択回路25aは、図22に示す長辺演算選択処理を行なう。すなわち、始点と終点との2点間のX成分同士の差(|Xe−Xs|)とY成分同士の差(|Ye−Ys|)を求め、求めた差の絶対値が大きい方の値を出力する。
【0109】
次に、図21に示す長短直線描画判定回路25dは、長辺演算選択回路25aからのデータを判定し、例えば、9ピクセルを超える場合には、図20に示す第1のセレクタ42に対してパラメータ算出部41からの信号を選択させ、第2のセレクタ43に対してX座標演算部13からの信号を選択させ、第3のセレクタ44に対してシフター22からの信号を選択させない長短描画判定信号を出力する。一方、9ピクセル以下の場合には、第1のセレクタ42に対して第1のFIFOメモリ11からの信号を選択させ、第2のセレクタ43に対して第2のFIFOメモリ12からの信号を選択させ、第3のセレクタ44に対して加算器21からの信号を選択させない長短描画判定信号を出力する。
【0110】
次に、図21に示す演算回数判定回路25bは、長辺演算選択回路25aからのデータを判定し、演算回数を決定する。ここでは、図8に示す演算回数判定テーブルの基づくとすると、図22に示すように、3ピクセル以下の場合は演算回数を1回と決定する。同様に、5ピクセル以下の場合は演算回数を3回とし、9ピクセル以下の場合は演算回数を7回と決定する。
【0111】
このように、長短直線描画判定回路25d、パラメータ算出部41及びセレクタ42、43、44を設けることにより、9ピクセル以上の場合には、長直線描画を確実に行なわせることができる。
【0112】
ここで、図21に示す長短直線描画判定回路25dは、演算回数判定回路25bの出力結果を受ける構成としてもよい。このようにすると、9ピクセル以上の場合には長直線描画を実行させるため、長辺演算選択回路25aの出力結果を判定する処理が不要となる。
【0113】
以上説明したように、本実施形態によると、短直線の描画と長直線の描画とを同一の演算手段、具体的には加算器21を共有して直線座標の演算生成を行なわせることができるため、短直線の描画と長直線の描画との両方を行なう必要がある場合であっても、個別に加算器8を設けることなく、ハードウェア資源を共有できる。
【0114】
その上、短直線の場合には、長直線に必要なX成分の差分による除算演算を行なわなくてもすむため、従来と比べて短直線の演算を高速に行なうことができ、直線描画のスループットを全体として向上させることができる。
【0115】
なお、本実施形態においては、短直線を9ピクセル以下の直線としたが、この値に限定されるものではない。
【0116】
従って、各実施形態においては、FIFOメモリの段数を4段としたが、4段に限られず、図7(a)に示すFIFO段数と長辺値との関係から分かるように、描画対象とする直線に応じて適当な段数を選べばよい。
【0117】
(第5の実施形態)
以下、本発明の第5の実施形態について図面を参照しながら説明する。
【0118】
前述した第4の実施形態は、長直線の描画に1次パラメータを用いた従来方法を採用しているが、第5の実施形態は、描画対象の長直線を複数の短直線に分割した後、分割された各短直線を順次描画する方法を採る。
【0119】
図23は本実施形態に係る直線描画装置におけるX座標生成部の機能構成を示している。図23において、図2に示す第1の実施形態に係る直線描画装置のX座標生成部2と同一の構成要素には同一の符号を付すことにより説明を省略する。図23に示すように、本実施形態に係るX座標生成部2は、図2に示す第1のFIFOメモリ11及び第2のFIFOメモリ12を含む描画用FIFO50と、該描画用FIFO50と並列に接続され、第1のFIFOメモリ11及び第2のFIFOメモリ12と同等のメモリを含む分割用FIFO51とを有している。なお、図示はしていないが、Y座標生成部にも分割用FIFO51を有している。
【0120】
次に、長直線の分割方法を説明する。
【0121】
図24(a)は描画対象の直線であって、長辺値が9の長直線L1を示している。図7(a)に示したように、描画用FIFO50のFIFO段数が4段で、描画可能な長辺値が5の場合には、この長直線L1を分割用FIFO51を用いて2分割することにより、図24(b)に示すように、始点が1で終点が5の第1の短直線L2aと、始点が5で終点が9の第2の短直線L2bとからなる2本の短直線を生成する。
【0122】
また、描画用FIFO50のFIFO段数が2段で、描画可能な長辺値が3の場合には、分割用FIFO51を用いて長直線L1を4分割することにより、図24(c)に示すように、始点が1で終点が3の第1の短直線L3a、始点が3で終点が5の第2の短直線L3b、始点が5で終点が7の第3の短直線L3c及び始点が7で終点が9の第4の短直線L3dからなる4本の短直線を生成する。
【0123】
一例として、より実用的な分割回数判定テーブルを図24(d)に示す。図24(d)に示す分割回数判定テーブルは、長辺値が33までの直線、すなわち、描画用FIFO50の段数が32段の場合における長辺値と、該長辺値で決定される分割演算回数とを表わしている。これにより、長辺値が257の長直線にまで対応できる。
【0124】
図25は分割回数判定テーブルを組み込んだ演算回数判定回路25bの構成を示している。ここでは、図6に示す構成要素と同一の構成要素には同一の符号を付している。図25に示すように、第5の実施形態に係る演算回数判定回路25bは、短直線を描画する際の演算回数の判定に用いる描画用ROMテーブル251Aと、長直線を短直線に分割する際の分割演算回数の判定に用いる分割用ROMテーブル251Bとを備えている。
【0125】
このように、本実施形態によると、あらかじめ、短直線の描画方法と同一の方法により長直線が描画可能な短直線となるまで分割し、その後、分割された短直線を順次描画する。これにより、分割用FIFO51の段数により決定された長辺値を越える長直線であっても、直線の1次パラメータを用いることなく長直線を描画できる。その上、長直線L1の分割を、本発明の短直線の描画方法である中点で分割する方法を用いているため、分割用FIFO51を描画用FIFO50と並列に設けると共に、分割用ROMテーブル251Bを設けるだけで、他の回路やハードウエア資源を共有することができるので、描画装置の構成を簡単化できる。
【0126】
また、第1の実施形態に係る直線描画装置を複数用意しておき、描画対象の一長直線を直線描画装置が描画可能な複数の短直線に分割した後、分割した短直線を複数の直線描画装置で並列して描画することにより、短時間で長直線の描画を行なうことができる。
【0127】
なお、長辺値が257を越える直線に対しては、第4の実施形態のように、直線の1次パラメータを用いて描画する従来の方法を併用すればよい。
【0128】
【発明の効果】
本発明に係る直線描画装置及び直線描画方法によると、線分の始点及び終点の各座標の中点座標を求め、さらに、各座標の中点座標を順次生成しながら直線を描画するため、実質的に除算器が不要となる。これにより、特に多数の短直線を描画するような場合に、描画のスループットが向上すると共に装置構成が簡単となり、装置のコストを低減できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る直線描画装置を示す機能ブロック図である。
【図2】本発明の第1の実施形態に係る直線描画装置のX座標生成部を示す詳細な機能ブロック図である。
【図3】本発明の第1の実施形態に係る直線描画装置のシフターを示す詳細ブロック構成図である。
【図4】本発明の第1の実施形態に係る直線描画装置のX座標制御部を示す詳細な機能ブロック図である。
【図5】本発明の第1の実施形態に係る直線描画装置の演算回数判定部を示す詳細な機能ブロック図である。
【図6】本発明の第1の実施形態に係る直線描画装置の演算回数判定回路を示す詳細な機能ブロック図である。
【図7】(a)は本発明の第1の実施形態に係る直線描画装置におけるFIFOメモリの段数と、長辺値及び演算回数とのそれぞれの関係を示す演算回数決定テーブルである。(b)はFIFOメモリの段数と描画される長辺値との関係を表わした模式図である。
【図8】本発明の第1の実施形態に係る直線描画装置におけるFIFOメモリの段数が2段の場合を表わした演算回数判定テーブルである。
【図9】本発明の第1の実施形態に係る直線描画装置における5ピクセルの場合の直線の座標データが生成される様子を示し、(a)は始点と終点の座標データを表わす模式図であり、(b)は始点と終点との第1の中点座標データを表わす模式図であり、(c)は第2の中点座標データ及び第3の中点座標データを表わす模式図であり、(d)は5ピクセルの座標データが生成された模式図である。
【図10】本発明の第1の実施形態に係る直線描画装置におけるFIFOメモリに座標データが格納される様子を表わす模式図である。
【図11】(a)及び(b)は本発明の第1の実施形態に係る直線描画装置におけるFIFO段数が4段のFIFOメモリを示し、(a)は単体のFIFOメモリに対するデータの入出力の様子を示す模式図であり、(b)は第1及び第2のFIFOメモリに対するデータの入出力を示す機能ブロック図である。
【図12】本発明の第1の実施形態に係る直線描画装置における3ピクセルの描画演算の一例を示す模式図である。
【図13】本発明の第1の実施形態に係る直線描画装置における3ピクセルの描画演算の一例を示し、(a)は切り上げ(丸め)処理を行なった場合の模式図であり、(b)は切り捨て処理を行なった場合の模式図である。
【図14】本発明の第1の実施形態に係る直線描画装置における4ピクセルの描画演算の一例を示し、(a)は切り上げ(丸め)処理を行なった場合の模式図であり、(b)は切り捨て処理を行なった場合の模式図である。
【図15】(a)〜(c)は本発明の第1の実施形態の一変形例に係る直線描画装置における固定メモリ方式を示し、(a)は9ピクセルのデータを保持する固定メモリを表わす模式図であり、(b)は中点算出の演算順序及び算出後のデータの格納先を表わす計算フローであり、(c)は5ピクセルのデータを保持する固定メモリを表わす模式図である。
【図16】本発明の第2の実施形態に係る直線描画装置を示す機能ブロック図である。
【図17】本発明の第2の実施形態に係る直線描画装置における色補間表示によるグラデーション色で直線を描画した一例を示す模式図である。
【図18】本発明の第2の実施形態に係る直線描画装置における色情報生成部の一変形例を示す機能ブロック図である。
【図19】本発明の第3の実施形態に係る直線描画装置を示す機能ブロック図である。
【図20】本発明の第4の実施形態に係る直線描画装置のパラメータ算出部及びX座標生成部を示す詳細な機能ブロック図である。
【図21】本発明の第4の実施形態に係る直線描画装置の演算回数判定部を示す詳細な機能ブロック図である。
【図22】本発明の第4の実施形態に係る直線描画装置における演算回数判定部の判定方法を示すフローチャートである。
【図23】本発明の第5の実施形態に係る直線描画装置のX座標生成部を示す詳細な機能ブロック図である。
【図24】(a)〜(d)は本発明の第5の実施形態に係る直線描画装置の長直線の分割方法を示し、(a)は描画対象の長直線を表わす模式図であり、(b)は2分割された後の単直線を表わす模式図であり、(c)は4分割された後の単直線を表わす模式図である。(d)は本発明の第5の実施形態に係る直線描画装置における分割回数判定テーブルである。
【図25】本発明の第5の実施形態に係る直線描画装置の演算回数判定回路を示す詳細な機能ブロック図である。
【図26】従来の直線描画方法を示す概念図である。
【図27】従来の直線描画方法を示すフローチャートである。
【符号の説明】
1 パラメータレジスタ
2 X座標生成部
3 Y座標生成部
4 アドレス変換部
5 メモリインターフェース
6 フレームメモリ
7 画像表示部(表示手段)
8 色情報生成部
8a 赤色情報生成部
8b 緑色情報生成部
8c 青色情報生成部
9 輝度情報生成部
10 色情報演算部
11 第1のFIFOメモリ(第1のデータ記憶手段)
11a 第1のメモリ要素
11b 第2のメモリ要素
111 データ格納部
112 エンドマーク格納部
113 オーバーフロー部
12 第2のFIFOメモリ(第2のデータ記憶手段)
12a 第1のメモリ要素
12b 第2のメモリ要素
13 X座標演算部
14 X座標制御部(繰返制御手段)
15 セレクタ
21 加算器
22 シフター(除算手段)
22a 1ビット配線シフター
22b データラッチ
25 演算回数判定部
25a 長辺演算選択回路(長辺演算選択部)
25b 演算回数判定回路(演算回数算出部)
25c 演算回数制御回路
25d 長短直線描画判定回路
251 ROMテーブル
251A 描画用ROMテーブル
251B 分割用ROMテーブル
252 カウンタ
253 比較器
254 演算回数制御信号出力回路
26A 第1のFIFO制御部
26B 第2のFIFO制御部
30 始点座標データ
30A 始点座標データ
31 終点座標データ
31A 終点座標データ
32 第1の中点座標データ
32A 第1の中点座標データ
32B 第1の中点座標データ
33 第2の中点座標データ
34 第3の中点座標データ
41 パラメータ算出部(1次パラメータ算出手段)
42 第1のセレクタ(第1の切替手段)
43 第2のセレクタ(第2の切替手段)
44 第3のセレクタ
45 固定メモリ(データ記憶手段)
50 描画用FIFO
51 分割用FIFO

Claims (10)

  1. 表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置であって、
    入力された複数の座標データのうち先に入力された座標データから順にそれぞれ一データずつ出力されるFIFO式の第1のデータ記憶手段及び第2のデータ記憶手段と、
    前記第1のデータ記憶手段及び第2のデータ記憶手段から出力される各座標データを受け、受けた座標データ同士を加算して加算データを出力する加算手段と、
    前記加算データの値を2分の1に除してなる除算データを出力する除算手段とを備え、
    前記第1のデータ記憶手段は、該第1のデータ記憶手段から出力される座標データと前記第2のデータ記憶手段から出力される座標データとが入力されると共に、
    前記第2のデータ記憶手段は、前記除算手段からの除算データが入力され、
    前記除算手段からの除算データに基づいて、前記始点座標と前記終点座標との間を結ぶ直線を描画することを特徴とする直線描画装置。
  2. 前記除算手段は、配線によって桁下がり方向に1ビット分シフトするシフト演算器であることを特徴とする請求項1に記載の直線描画装置。
  3. 前記第1のデータ記憶手段及び第2のデータ記憶手段に対して、出力データのフィードバック回数を規制する繰返制御手段をさらに備え、
    前記繰返制御手段は、前記始点座標及び終点座標のうち、X座標同士の差の絶対値とY座標同士の差の絶対値とを算出し、前記絶対値の大きい方の値を出力する長辺演算選択部と、
    出力された絶対値から前記フィードバック回数を算出する演算回数算出部とを有していることを特徴とする請求項1に記載の直線描画装置。
  4. 入力された複数の色情報のうち先に入力された色情報から順にそれぞれ一情報ずつ出力するFIFO式の第1の色情報記憶手段及び第2の色情報記憶手段と、
    前記第1の色情報記憶手段及び第2の色情報記憶手段から出力される各色情報を受け、受けた色情報同士を加算して加算色情報を出力する色情報加算手段と、
    前記加算色情報の値を2分の1に除してなる除算色情報を出力する色情報除算手段とをさらに備え、
    前記第1の色情報記憶手段は、該第1の色情報記憶手段から出力され前記始点座標と対応する色情報と、前記第2の色情報記憶手段から出力され前記終点座標と対応する色情報とが入力されると共に、
    前記第2の色情報記憶手段は、前記色情報除算手段からの除算色情報が入力され、
    前記除算色情報に基づいて、前記始点座標と前記終点座標との間を結ぶ直線の描画色を決定することを特徴とする請求項1に記載の直線描画装置。
  5. 入力された複数の輝度情報のうち先に入力された輝度情報から順にそれぞれ一情報ずつ出力するFIFO式の第1の輝度情報記憶手段及び第2の輝度情報記憶手段と、
    前記第1の輝度情報記憶手段及び第2の輝度情報記憶手段から出力される各輝度情報を受け、受けた輝度情報同士を加算して加算輝度情報を出力する輝度情報加算手段と、
    前記加算輝度情報の値を2分の1に除してなる除算輝度情報を出力する輝度情報除算手段とをさらに備え、
    前記第1の輝度情報記憶手段は、該第1の輝度情報記憶手段から出力され前記始点座標と対応する輝度情報と、前記第2の輝度情報記憶手段から出力され前記終点座標と対応する輝度情報とが入力されると共に、
    前記第2の輝度情報記憶手段は、前記輝度情報除算手段からの除算輝度情報が入力され、
    前記除算輝度情報に基づいて、前記始点座標と前記終点座標との間を結ぶ直線の輝度を決定することを特徴とする請求項1又は4に記載の直線描画装置。
  6. 前記始点座標及び終点座標を含む直線の傾きを表わす1次パラメータを算出して出力する1次パラメータ算出手段と、
    前記1次パラメータと前記第1のデータ記憶手段からの出力データとを受け、そのうちのいずれか一方を選択して前記加算手段に出力する第1の切替手段と、
    前記除算データと前記第2のデータ記憶手段からの出力データとを受け、そのうちのいずれか一方を選択して前記加算手段に出力する第2の切替手段とをさらに備えていることを特徴とする請求項1に記載の直線描画装置。
  7. 任意の色で表示手段に表示される始点座標と該始点座標と異なる座標に前記始点座標とは異なる色で表示される終点座標との間を結ぶ直線を描画する直線描画装置であって、
    前記始点座標及び終点座標を結ぶ線分上の第1の座標データ及び第2の座標データを含む複数のデータを格納可能な座標データ格納部を有する座標データ記憶手段と、
    前記第1の座標データ及び前記第2の座標データを加算した座標加算データを出力する座標データ加算手段と、
    前記座標加算データの値を2分の1に除してなる座標除算データを出力する座標データ除算手段と、
    前記第1の座標データに対応する第1の色データ及び前記第2の座標データに対応する第2の色データを含む複数のデータを格納可能な色データ格納部を有する色データ記憶手段と、
    前記第1の色データ及び前記第2の色データを加算した色加算データを出力する色データ加算手段と、
    前記色加算データの値を2分の1に除してなる色除算データを出力する色データ除算手段とを備え、
    前記座標除算データは、前記座標データ格納部のうちの所定領域に第3の座標データとして格納され、前記色除算データは、前記色データ格納部のうちの所定領域に前記第3の座標データに対応する第3の色データとして格納されることを特徴とする直線描画装置。
  8. 任意の輝度で表示手段に表示される始点座標と該始点座標と異なる座標に前記始点座標とは異なる輝度で表示される終点座標との間を結ぶ直線を描画する直線描画装置であって、
    前記始点座標及び終点座標を結ぶ線分上の第1の座標データ及び第2の座標データを含む複数のデータを格納可能な座標データ格納部を有する座標データ記憶手段と、
    前記第1の座標データ及び前記第2の座標データを加算した座標加算データを出力する座標データ加算手段と、
    前記座標加算データの値を2分の1に除してなる座標除算データを出力する座標データ除算手段と、
    前記第1の座標データに対応する第1の輝度データ及び前記第2の座標データに対応する第2の輝度データを含む複数のデータを格納可能な色データ格納部を有する輝度データ記憶手段と、
    前記第1の輝度データ及び前記第2の輝度データを加算した輝度加算データを出力する輝度データ加算手段と、
    前記輝度加算データの値を2分の1に除してなる輝度除算データを出力する輝度データ除算手段とを備え、
    前記座標除算データは、前記座標データ格納部のうちの所定領域に第3の座標データとして格納され、前記輝度除算データは、前記輝度データ格納部のうちの所定領域に前記第3の座標データに対応する第3の輝度データとして格納されることを特徴とする直線描画装置。
  9. 表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間の直線を描画するための座標を生成する座標生成装置であって、
    入力された複数の座標データのうち先に入力された座標データから順にそれぞれ一データずつ出力される第1のデータ記憶手段及び第2のデータ記憶手段と、
    前記第1のデータ記憶手段及び第2のデータ記憶手段から出力される各座標データを受け、受けた座標データ同士の中点座標データを算出する中点座標生成手段とを備え、
    前記第1のデータ記憶手段は、該第1のデータ記憶手段から出力される座標データと前記第2のデータ記憶手段から出力される座標データとが入力されると共に、
    前記第2のデータ記憶手段は、前記中点座標生成手段から算出された中点座標データが入力され、
    前記中点座標生成手段から算出された中点座標データに基づいて、前記始点座標と前記終点座標との間の直線を描画するための座標を生成する座標生成装置
  10. 表示手段、FIFO式の第1のデータ記憶手段及び第2のデータ記憶手段、前記第1のデータ記憶手段及び第2のデータ記憶手段からの出力を受ける加算手段並びに該加算手段からの出力値の2分の1の値を生成する除算手段を備え、前記表示手段に表示される始点座標と該始点座標と異なる座標を持つ終点座標との間を結ぶ直線を描画する直線描画装置の直線描画方法であって、
    前記始点座標を表わす始点座標データ及び前記終点座標を表わす終点座標データを前記表示手段に出力する第1の工程と、
    前記始点座標データを前記第1のデータ記憶手段に格納し且つ前記終点座標データを前記第2のデータ記憶手段に格納する第2の工程と、
    前記第1のデータ記憶手段から出力される始点座標データを前記加算手段に出力すると共に、前記第1のデータ記憶手段に格納する第3の工程と、
    前記第2のデータ記憶手段から出力される終点座標データを前記加算手段に出力すると共に、前記第1のデータ記憶手段に格納する第4の工程と、
    前記加算手段から出力される前記始点座標データ及び終点座標データの和を前記除算手段に出力する第5の工程と、
    前記除算手段からの出力データを前記表示手段に出力すると共に、前記出力データを前記第2のデータ記憶手段に、前記第3の工程における前記始点座標データ及び前記第4の工程における前記終点座標データとそれぞれ対応するように格納する第6の工程とを備えていることを特徴とする直線描画方法。
JP2000293423A 1999-10-05 2000-09-27 直線描画装置、直線描画方法及び座標生成装置 Expired - Fee Related JP3593016B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000293423A JP3593016B2 (ja) 1999-10-05 2000-09-27 直線描画装置、直線描画方法及び座標生成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP28403199 1999-10-05
JP11-284031 1999-10-05
JP2000293423A JP3593016B2 (ja) 1999-10-05 2000-09-27 直線描画装置、直線描画方法及び座標生成装置

Publications (2)

Publication Number Publication Date
JP2001175243A JP2001175243A (ja) 2001-06-29
JP3593016B2 true JP3593016B2 (ja) 2004-11-24

Family

ID=26555292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000293423A Expired - Fee Related JP3593016B2 (ja) 1999-10-05 2000-09-27 直線描画装置、直線描画方法及び座標生成装置

Country Status (1)

Country Link
JP (1) JP3593016B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5029284B2 (ja) 2007-10-24 2012-09-19 セイコーエプソン株式会社 画像処理方法、そのプログラム及び画像処理装置
CN110570501B (zh) * 2018-06-06 2023-02-14 腾讯科技(深圳)有限公司 一种线条动画绘制方法及其设备、存储介质、电子设备
CN117893637B (zh) * 2024-03-15 2024-06-11 杭州广立微电子股份有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
JP2001175243A (ja) 2001-06-29

Similar Documents

Publication Publication Date Title
KR950012931B1 (ko) 도형처리장치 및 도형처리방법
US6181353B1 (en) On-screen display device using horizontal scan line memories
JP3593016B2 (ja) 直線描画装置、直線描画方法及び座標生成装置
GB2226481A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
JP4664169B2 (ja) 図形描画装置及び図形描画プログラム
US6859205B1 (en) Apparatus and method for drawing lines
US5815163A (en) Method and apparatus to draw line slices during calculation
JP2003308537A (ja) 図形描画装置
JP3324580B2 (ja) 画像処理装置
JP2656753B2 (ja) 画像データ処理装置及びそれを用いたシステム
JPH02168361A (ja) 座標データを発生するパターンデータ発生装置及びプロセッサ
JP2656754B2 (ja) 画像データ処理装置及びそれを用いたシステム
JPH0789381B2 (ja) ピクセル値補間表示方法
JP2554876B2 (ja) アドレス変換装置
JP3316317B2 (ja) 画像データ表示装置
JPH0287194A (ja) デイスプレイ制御回路
JPH02153392A (ja) ベクトル図形表示方法
JP2804028B2 (ja) レンダリングプロセツサ
JP2000216993A (ja) 画像縮小/拡大方法およびその装置
JP3380109B2 (ja) 画像表示装置
JPH10111680A (ja) データ順位決定装置
JPH1145083A (ja) 画像データ処理装置及びそれを用いたシステム
JPH07325927A (ja) 画像データ処理装置及びそれを用いたシステム
JPH09230850A (ja) 画像データ処理装置及びそれを用いたシステム
JP2675282C (ja)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040423

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees