(57)【特許請求の範囲】
【請求項１】
ＣＰＵ及びバンドメモリを有するシステムにベクトルデータを入力し、前記ＣＰＵにてこのベクトルデータによって特定される直交座標系の第１軸方向の各座標値に対し、前記ベクトルデータの傾き相当値を蓄積し、その蓄積量が所定値を超えた時点で前記直交座標系の第２軸方向の座標値を１つ変化させると共に前記蓄積量から所定値を減算することにより前記ベクトルデータに沿ってドットを形成し、前記バンドメモリの座標領域上に前記ドットにより構成されるラスタデータの画像を展開していくＤＤＡ処理による円の展開処理方法において、
前記ＣＰＵが、前記第１軸方向の精度と前記第２軸方向の精度とが異なる直交座標系で前記円のＤＤＡ処理を実行する際に、前記第１軸方向の精度と前記第２軸方向の精度の比に対応した縦横直径比を有する楕円を前記円を表すベクトルデータとしてＤＤＡ処理を実行し、
前記ＤＤＡ処理は、前記ＣＰＵが、前記縦横直径比に基づいて、前記第１軸方向が１増加したときの第２軸方向の増分と、前記第２軸方向が１増加したときの第１軸方向の増分と、基準軸変更点とを求め、前記第１軸方向を１増加させて第２軸方向の増分を蓄積させる処理と、前記第２軸方向を１増加させて第１軸方向の増分を蓄積させる処理とを、前記基準軸変更点を境にして切り替えることで実行される
ことを特徴とする円の展開処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ベクタデータを点列（ラスタ）データへ展開する画像展開処理方法に関し、特にＤＤＡ（Digital Differential Analyzer）アルゴリズムを使用して垂直倍精度又は水平倍精度の直交座標系上に円を展開する円の展開処理方法に関する。
【０００２】
【従来の技術】
ベクタデータで表現された直線、円等をラスタデータへ展開するためのＤＤＡアルゴリズムを用いた画像展開処理方法は、プリンタ及びディスプレイ装置等に広く使用されている。一般的なＤＤＡアルゴリズムとしては、実数型のデータ演算を伴わず乗除算が不要な Bresenham のＤＤＡアルゴリズムが良く知られている。このアルゴリズムは、直線の描画を例にとると、両端点Ｐ１，Ｐ２の座標値（ｘ１，ｙ１），（ｘ２，ｙ２）が与えられたとき、両端点Ｐ１，Ｐ２間のＸ軸方向の距離と、Ｙ軸方向の距離とを比較して、その絶対値が大きい方の軸の座標値を１つずつ増加させながら、小さい方の軸の座標に短軸長さを余りとして累積加算していき、その余りが長軸長さを超えたらキャリーを出力して短軸方向のドット形成位置を１つ変化させるという処理を逐次実行するものである。
【０００３】
出力画像の解像度を上げるためには、ビットマップ展開密度を高めればよいが、解像度を単純に通常の２倍とすると、ビットマップメモリの容量を通常の４倍にしなければならず、しかも描画時間が通常の４倍になってしまう。また、インクジェット方式の出力装置においては、ドット密度が高くなった分だけ、塗り潰し等の部分で、インクの過多による流れ、すれ、乾きの遅れ、及び用紙のふやけ等の問題が生じる。そこで、水平又は垂直方向のみを倍精度にしてメモリ容量及び描画時間共に２倍に抑えるようにした水平倍精度又は垂直倍精度ＤＤＡ方式も提案されている。
【０００４】
【発明が解決しようとする課題】
水平又は垂直倍精度での直線ＤＤＡ処理は、始終点座標を変更するだけでそのまま従来のＤＤＡ処理を利用することができるが、円を形成する場合には、そのまま水平又は垂直倍精度での円ＤＤＡ処理を実行すると、形成される円は楕円になってしまう。
【０００５】
この発明はこのような問題点に鑑みなされたもので、水平又は垂直倍精度の直交座標系においても支障無く円を描画することができる円の展開処理方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本願に係る円の展開処理方法は、ＣＰＵ及びバンドメモリを有するシステムにベクトルデータを入力し、前記ＣＰＵにてこのベクトルデータによって特定される直交座標系の第１軸方向の各座標値に対し、前記ベクトルデータの傾き相当値を蓄積し、その蓄積量が所定値を超えた時点で前記直交座標系の第２軸方向の座標値を１つ変化させると共に前記蓄積量から所定値を減算することにより前記ベクトルデータに沿ってドットを形成し、前記バンドメモリの座標領域上に前記ドットにより構成されるラスタデータの画像を展開していくＤＤＡ処理による円の展開処理方法において、前記ＣＰＵが、前記第１軸方向の精度と前記第２軸方向の精度とが異なる直交座標系で前記円のＤＤＡ処理を実行する際に、前記第１軸方向の精度と前記第２軸方向の精度の比に対応した縦横直径比を有する楕円を前記円を表すベクトルデータとしてＤＤＡ処理を実行し、前記ＤＤＡ処理は、前記ＣＰＵが、前記縦横直径比に基づいて、前記第１軸方向が１増加したときの第２軸方向の増分と、前記第２軸方向が１増加したときの第１軸方向の増分と、基準変更点とを求め、前記第１軸方向を１増加させて第２軸方向の増分を蓄積させる処理と、前記第２軸方向を１増加させて第１軸方向の増分を蓄積させる処理とを、前記基準変更点を境にして切り替えることで実行されることを特徴とする。
【０００７】
本発明によれば、第１軸方向の精度と第２軸方向の精度とが異なる直交座標系で円を描画する場合でも、第１軸方向の精度と第２軸方向の精度の比に対応した縦横直径比を有する楕円を円を表すベクトルデータとして与えてＤＤＡ処理するようにしているので、最終的なプロット結果を正しい円とすることができる。
【０００８】
【発明の実施の形態】
以下、図面を参照して、この発明の実施例を説明する。
図１は、本発明の一実施例に係る画像展開処理方法を実現するインクジェットプリントシステムの構成を示すブロック図である。
このシステムは、ホストコンピュータ１とインクジェットプリンタ２とにより構成されている。インクジェットプリンタ２は、ホストコンピュータ１とのインタフェース１１と、ＣＰＵ１２と、バンドメモリ１３と、インクジェットヘッド１４とを備えている。ホストコンピュータ１から与えられるベクトルデータは、インタフェース１１を介してＣＰＵ１２に与えられ、ここでＤＤＡ処理されてラスタデータに変換されバンドメモリ１３に展開される。バンドメモリ１３に展開されたラスタデータは、インクジェットヘッド１４に送られて印字処理に供される。
【０００９】
次に、このシステムを使用した円の展開処理方法について説明する。
いま、水平倍精度の場合を例にとると、真円を生成するためには縦直径：横直径＝１：２の楕円を円のベクトルデータとして与えれば良い。いま、水平方向（Ｘ方向）の半径をｒxとすると、このような楕円の方程式は、下記数１のように表される。
【００１０】
【数１】
ｘ2＋（２ｙ）2＝ｒx2
【００１１】
これを微分すると、次の数２が得られる。
【００１２】
【数２】
0004376371.tif 000002
【００１３】
この式から、ｙが１増加したときのｘの増分とｘが１増加したときのｙの増分とを知ることができるので、ＤＤＡ処理が可能となる。
【００１４】
ところで、水平垂直方向の密度が等しい場合には、１／８の円を発生させれば、後はｘ，ｙの入れ替えや上下左右の対称処理によって全ての円のドットを形成することができる。この場合、基準軸変更点が４５゜に設定され、例えば９０゜〜４５゜までの円のドットが求められる。４５゜〜０゜までの円は、９０゜〜４５゜までの円のｘ，ｙ座標を入れ替えることによって求められる。
【００１５】
しかしながら、本実施例のように水平方向と垂直方向の密度が異なっている場合には、１／４の円を生成しないと全ての円の形状は求まらない。１／４の円は、Ｘが長軸である部分と、Ｙ軸が長軸である部分とで異なる処理により生成される。この実施例の場合ｘと４ｙとが一致する点が基準軸変更点となる。従って、基準軸変更点は、水平に対して約１４゜｛＝tan-1（１／４）｝の方向で、この点の楕円接線が４５゜に傾くことになる。実際にプロットすると、水平倍密度なので図５に示すように、基準軸変更点は、１６．６゜｛＝tan-1（２／４）｝の方向になる。
【００１６】
図２及び図３は、この実施例に係る円発生ＤＤＡ処理を示すフローチャートであり、図２はｘ≦４ｙであるＸ長軸部分の処理、図３はｘ≧４ｙであるＹ長軸部分の処理をそれぞれ示している。
図２に示すように、Ｘ長軸部分では、まず、座標値ｘ，ｙ，余りｒの初期値として、ｘ＝０，ｙ＝ｒｙ，ｒ＝−４ｙをそれぞれ代入する（Ｓ１）。ここで、ｒｙは、楕円のＹ軸方向（短軸方向）の半径である。ｒｙ＝１６とすると、最初の座標値（ｘ，ｙ）＝（０，１６）、余りｒ＝−６４となる。次に、ｘ，ｙにドットを形成したのち（Ｓ２）、ｘが４ｙを超えるまで（Ｓ３）、ｘのインクリメントと２ｘ＋１を余りｒへ累積する処理とを実行する（Ｓ４）。もし、余りｒが０以上になったら（Ｓ５）、余りｒから４（２ｙ−１）を減算し、ｙを１つ減算するキャリー処理を実行したのち（Ｓ６）、ｘ，ｙを出力する（Ｓ２）。
【００１７】
ｘと４ｙとが一致するようになったら（Ｓ３）、図３の処理に切り換える。図３の処理では、まず、座標値ｘ，ｙ，余りｒの初期値として、ｘ＝２ｒy，ｙ＝０，ｒ＝−ｘをそれぞれ代入する（Ｓ１１）。ｒy＝１６とすると、最初の座標値（ｘ，ｙ）＝（３２，０）、余りｒ＝−３２となる。次に、ｘ，ｙにドットを形成したのち（Ｓ１２）、４ｙがｘを超えるまで（Ｓ１３）、ｙのインクリメントと４*(２ｙ＋１）を余りｒへ累積する処理とを実行する（Ｓ１４）。もし、余りｒが０以上にになったら（Ｓ１５）、余りｒから（２ｘ−１）を減算し、ｘを１つ減算するキャリー処理を実行したのち（Ｓ１６）、ｘ，ｙを出力する（Ｓ１２）。
【００１８】
図４に以上の処理結果を示す。同図（ａ）はＸ長軸部分の処理結果、同図（ｂ）はＹ軸方向部分の結果である。図５には、その処理結果をプロットした結果が示されている。このように、単軸方向倍精度の直交座標系であっても、楕円のＤＤＡ処理を実行することにより、真円に沿ったドットを形成することができる。
【００１９】
【発明の効果】
以上述べたようにこの発明によれば、第１軸方向の精度と第２軸方向の精度とが異なる直交座標系で円を描画する場合でも、第１軸方向の精度と第２軸方向の精度の比に対応した縦横直径比を有する楕円を円を表すベクトルデータとして与えてＤＤＡ処理するようにしているので、最終的なプロット結果を正しい円とすることができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例に係るインクジェットプリントシステムのブロック図である。
【図２】  同システムを使用した本発明の一実施例に係る円生成ＤＤＡアルゴリズムのＸ長軸部分の処理を示すフローチャートである。
【図３】  同システムを使用した本発明の一実施例に係る円生成ＤＤＡアルゴリズムのＹ長軸部分の処理わ示すフローチャートである。
【図４】  同処理に基づくドット形成処理結果を示す図である。
【図５】  同ドット形成処理によってプロットした円を示す図である。
【符号の説明】
１…ホストコンピュータ、２…インクジェットプリンタ、１１…インタフェース、１２…ＣＰＵ、１３…バンドメモリ、１４…インクジェットヘッド。
【図１】
0004376371.tif 000003
【図５】
0004376371.tif 000004
【図２】
0004376371.tif 000005
【図３】
0004376371.tif 000006
【図４】
0004376371.tif 000007