JP3122664B2 - 描画装置 - Google Patents
描画装置Info
- Publication number
- JP3122664B2 JP3122664B2 JP22246890A JP22246890A JP3122664B2 JP 3122664 B2 JP3122664 B2 JP 3122664B2 JP 22246890 A JP22246890 A JP 22246890A JP 22246890 A JP22246890 A JP 22246890A JP 3122664 B2 JP3122664 B2 JP 3122664B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- run
- length
- vector
- length 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
Links
Landscapes
- Image Generation (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、線幅を有するベクトルのデータを含む入力
データを識別し画像を生成する描画装置に係り、特に複
写機、フアクシミリ、デイジタル画像処理装置などのプ
リンタに好適な描画装置に関する。
データを識別し画像を生成する描画装置に係り、特に複
写機、フアクシミリ、デイジタル画像処理装置などのプ
リンタに好適な描画装置に関する。
従来、この種の装置に関連するものとして、例えば次
に示す装置や方法が提案されている。
に示す装置や方法が提案されている。
すなわち、特開昭60−171577号公報には、ベクトル
の始点、終点の座標および線幅を記憶する記憶手段と、
ベクトルをビツトマツプメモリに記憶する手段を有し、
まずベクトルの始点、終点でそれぞれ円を描き、次いで
一方の円の外周上の点と、この点に対応する他方の円の
外周の点をそれぞれ結ぶ直線を順次発生させる図形発生
装置が示されている。
の始点、終点の座標および線幅を記憶する記憶手段と、
ベクトルをビツトマツプメモリに記憶する手段を有し、
まずベクトルの始点、終点でそれぞれ円を描き、次いで
一方の円の外周上の点と、この点に対応する他方の円の
外周の点をそれぞれ結ぶ直線を順次発生させる図形発生
装置が示されている。
また、特開昭61−118795号公報には、上記の図形発
生装置と同様に、まずベクトルの始点および終点でそれ
ぞれ円を描き、次いで一方の円の外周上の点と、この点
に対応する他方の円の外周上の点をそれぞれ結ぶ直線を
順次発生させるベクトル発生方法が開示されている。
生装置と同様に、まずベクトルの始点および終点でそれ
ぞれ円を描き、次いで一方の円の外周上の点と、この点
に対応する他方の円の外周上の点をそれぞれ結ぶ直線を
順次発生させるベクトル発生方法が開示されている。
特開昭61−5285号公報には、太線の始点、終点に丸
みを付加するドツトを生成するドツト生成手段を備え、
線や多角形通の図形を表示するラスタスキヤン図形表示
装置が示されている。
みを付加するドツトを生成するドツト生成手段を備え、
線や多角形通の図形を表示するラスタスキヤン図形表示
装置が示されている。
特開昭61−60177号公報には、まず線の輪郭を描
き、次いでこの輪郭内の領域を塗りつぶす太線分描画方
法が、また特開昭61−36869号公報には、リンクされ
たリストを用いた図形表示装置用の水平走査情報を改善
することを目的として、異なったセグメントを重ねた図
形データを制御するために、リンクされたリストを用い
て、ラインまたは線分上にビツトマツプ画像を生成する
水平走査情報生成方法が、そして特開昭60−132274公
報には、ラスタ表示装置において線または円上の境界点
の強度を境界内に入る画素の割合に応じて変化させるこ
とにより、斜線をなだらかにし、正しい太さで表示する
方法が提案されている。
き、次いでこの輪郭内の領域を塗りつぶす太線分描画方
法が、また特開昭61−36869号公報には、リンクされ
たリストを用いた図形表示装置用の水平走査情報を改善
することを目的として、異なったセグメントを重ねた図
形データを制御するために、リンクされたリストを用い
て、ラインまたは線分上にビツトマツプ画像を生成する
水平走査情報生成方法が、そして特開昭60−132274公
報には、ラスタ表示装置において線または円上の境界点
の強度を境界内に入る画素の割合に応じて変化させるこ
とにより、斜線をなだらかにし、正しい太さで表示する
方法が提案されている。
ところで、上述した従来技術にあつては、ベクトル画
像をランレングス画像に変換する際に、まずベクトル画
像をビツトマツプ画像に変換し、次いでこのビツトマツ
プ画像をランレングス画像に変換する必要がある。そし
て、上記のようにビツトマツプ画像に変換する中間処理
を行なう際、ビツトマツプ画像を形成する各画素の情報
(白黒画像の場合には各画素が白か黒かを識別する情
報)を記憶するため、かなり大きなメモリ容量を要する
という問題点があつた。例えば複写印刷機では、ビツト
マツプ形式で記憶されたキヤラクタROMと同様に、従
来、画像メモリは通常1Mバイトの大容量のものが用いら
れていた。
像をランレングス画像に変換する際に、まずベクトル画
像をビツトマツプ画像に変換し、次いでこのビツトマツ
プ画像をランレングス画像に変換する必要がある。そし
て、上記のようにビツトマツプ画像に変換する中間処理
を行なう際、ビツトマツプ画像を形成する各画素の情報
(白黒画像の場合には各画素が白か黒かを識別する情
報)を記憶するため、かなり大きなメモリ容量を要する
という問題点があつた。例えば複写印刷機では、ビツト
マツプ形式で記憶されたキヤラクタROMと同様に、従
来、画像メモリは通常1Mバイトの大容量のものが用いら
れていた。
本発明はこのような従来技術における実情に鑑みてな
されたもので、その目的は、大きな容量の画像メモリを
要することなく、簡単な構成で、線幅を有するベクトル
のデータを含む入力データをランレングスデータに変換
することができる描画装置を提供することにある。
されたもので、その目的は、大きな容量の画像メモリを
要することなく、簡単な構成で、線幅を有するベクトル
のデータを含む入力データをランレングスデータに変換
することができる描画装置を提供することにある。
上記目的を達成するため、本発明は線幅を有するベク
トルのデータを含む入力データを識別し、画像データを
処理して画像を生成する描画装置において、前記識別さ
れたデータがベクトルデータである場合、該ベクトルデ
ータをランレングスデータを含む情報に変換する変換手
段と、前記識別されたデータがキャラクタデータである
場合、該キャラクタデータに対応したランレングスデー
タをメモリから読み込む読み込み手段と、前記識別され
たデータがランレングスデータである場合のランレング
スデータと前記変換手段により変換されたランレングス
データと前記読み込み手段により読み込まれたランレン
グスデータとを結合し再配列して記憶し、新たなランレ
ングスデータを出力する。
トルのデータを含む入力データを識別し、画像データを
処理して画像を生成する描画装置において、前記識別さ
れたデータがベクトルデータである場合、該ベクトルデ
ータをランレングスデータを含む情報に変換する変換手
段と、前記識別されたデータがキャラクタデータである
場合、該キャラクタデータに対応したランレングスデー
タをメモリから読み込む読み込み手段と、前記識別され
たデータがランレングスデータである場合のランレング
スデータと前記変換手段により変換されたランレングス
データと前記読み込み手段により読み込まれたランレン
グスデータとを結合し再配列して記憶し、新たなランレ
ングスデータを出力する。
上記構成により、識別されたデータがベクトルデータ
である場合には、変換手段によりそのベクトルデータを
ランレングスデータを含む情報に変換し、識別されたデ
ータがキャラクタデータである場合には、読み込み手段
によってそのキャラクタデータに対応したランレングス
データをメモリから読み込み、結合記憶手段によって識
別されたデータがランレングスデータである場合のラン
レングスデータと、変換手段により変換されたランレン
グスデータと、そして読み込み手段により読み込まれた
ランレングスデータとを結合し再配列して記憶し、新た
なランレングスデータとして出力している。このよう
に、ベクトルデータなどを含む入力データをランレング
スデータに変換できるので、文字や記号の情報をビット
マップデータとして記憶する場合に比べて、メモリ容量
を小さくすることができる。
である場合には、変換手段によりそのベクトルデータを
ランレングスデータを含む情報に変換し、識別されたデ
ータがキャラクタデータである場合には、読み込み手段
によってそのキャラクタデータに対応したランレングス
データをメモリから読み込み、結合記憶手段によって識
別されたデータがランレングスデータである場合のラン
レングスデータと、変換手段により変換されたランレン
グスデータと、そして読み込み手段により読み込まれた
ランレングスデータとを結合し再配列して記憶し、新た
なランレングスデータとして出力している。このよう
に、ベクトルデータなどを含む入力データをランレング
スデータに変換できるので、文字や記号の情報をビット
マップデータとして記憶する場合に比べて、メモリ容量
を小さくすることができる。
以下、本発明の描画装置の実施例を図に基づいて説明
する。
する。
第1図ないし第11図は本発明の描画装置の一実施例を
示す図で、第1図は全体回路構成を示すブロツク図、第
2図は処理手順を示すフローチヤート、第3図はベクト
ルデータからランレングスデータへの変換過程における
処理手順を示すフローチヤート、第4図はベクトルの分
割域の構成を示す説明図、第5図(a)、(b)は滑ら
かな端部を有するベクトル画像の作成を示す説明図、第
6図(a)、(b)はそれぞれランレングスデータのポ
インタ配列、およびランレングス配列を示す説明図、第
7図はランレングスデータを結合する際の種々のケース
を比較する図、第8図(a),(b)はランレングスデ
ータの結合過程における処理手順を示すフローチヤー
ト、第9図は結合データをケース毎に示す説明図、第10
図はランレングスデータの結合例を示す説明図、第11図
は円形パターンをランレングス形式で表現する例を説明
する図である。
示す図で、第1図は全体回路構成を示すブロツク図、第
2図は処理手順を示すフローチヤート、第3図はベクト
ルデータからランレングスデータへの変換過程における
処理手順を示すフローチヤート、第4図はベクトルの分
割域の構成を示す説明図、第5図(a)、(b)は滑ら
かな端部を有するベクトル画像の作成を示す説明図、第
6図(a)、(b)はそれぞれランレングスデータのポ
インタ配列、およびランレングス配列を示す説明図、第
7図はランレングスデータを結合する際の種々のケース
を比較する図、第8図(a),(b)はランレングスデ
ータの結合過程における処理手順を示すフローチヤー
ト、第9図は結合データをケース毎に示す説明図、第10
図はランレングスデータの結合例を示す説明図、第11図
は円形パターンをランレングス形式で表現する例を説明
する図である。
第1図に示すように、本実施例の描画装置は線幅を有
するベクトルデータを含む種々のデータが入力される
と、それぞれの入力データがベクトルデータ、文字や記
号などのキヤラクタデータ、あるいはランレングスデー
タであることを識別する入力部1と、この入力部1に接
続され、上記のベクトルの始点と終点の座標および線幅
を記憶するベクトル記憶手段2と、このベクトル記憶手
段2に記憶されるベクトルデータを、ベクトルを構成す
るランレングスの各ライン番号、始点および終点の位置
情報を含むランレングスデータに変換する第1の変換手
段3と、この第1の変換手段3により変換されるランレ
ングスデータを配列し、配列したランレングスデータと
他のランレングスデータを結合するデータ結合手段4
と、データ結合手段4を制御する制御手段5と、データ
結合手段4より出力されるランレングスデータを所定の
フオーマツトで記憶するランレングス記憶手段6と、上
述した所定のフオーマツトで記憶されるランレングスデ
ータを映像信号に変換する第2の変換手段7と、この映
像信号を出力する出力部8とを有している。
するベクトルデータを含む種々のデータが入力される
と、それぞれの入力データがベクトルデータ、文字や記
号などのキヤラクタデータ、あるいはランレングスデー
タであることを識別する入力部1と、この入力部1に接
続され、上記のベクトルの始点と終点の座標および線幅
を記憶するベクトル記憶手段2と、このベクトル記憶手
段2に記憶されるベクトルデータを、ベクトルを構成す
るランレングスの各ライン番号、始点および終点の位置
情報を含むランレングスデータに変換する第1の変換手
段3と、この第1の変換手段3により変換されるランレ
ングスデータを配列し、配列したランレングスデータと
他のランレングスデータを結合するデータ結合手段4
と、データ結合手段4を制御する制御手段5と、データ
結合手段4より出力されるランレングスデータを所定の
フオーマツトで記憶するランレングス記憶手段6と、上
述した所定のフオーマツトで記憶されるランレングスデ
ータを映像信号に変換する第2の変換手段7と、この映
像信号を出力する出力部8とを有している。
上述したランレングス記憶手段6に記憶されるランレ
ングスデータのフオーマツトは、走査線上の画像を形成
する画素の各連続線のライン番号、始点および終点の情
報を有し、各情報が一次元配列で記憶される。即ち、第
6図(a)に示すように、ポインタ配列40にはラインラ
ンレングスデータ40aがライン毎に順次配列されてお
り、このラインランレングスデータ40aは可変長である
ので、ランレングスデータを新たに追加したり、削除す
ることが可能である。各ラインランレングスデータ40a
に配列されるランレングスデータは、第6図(b)に示
すように、第1の記憶部41に走査線のライン番号Y、第
2の記憶部42にランレングスの個数を示すカウント値Ct
を格納し、その後の記憶部43に各ランレングスデータの
記録、すなわち第1のランレングスの始点位置xs1,終点
位置xe1,第2のランレングスの始点位置xs2,終点xe2,第
3のランレングスの始点位置xs3,終点位置xe3,……を昇
順で記憶する。ここで、xs1<xe1<xs2<xe2<xs3<xe3
……である。
ングスデータのフオーマツトは、走査線上の画像を形成
する画素の各連続線のライン番号、始点および終点の情
報を有し、各情報が一次元配列で記憶される。即ち、第
6図(a)に示すように、ポインタ配列40にはラインラ
ンレングスデータ40aがライン毎に順次配列されてお
り、このラインランレングスデータ40aは可変長である
ので、ランレングスデータを新たに追加したり、削除す
ることが可能である。各ラインランレングスデータ40a
に配列されるランレングスデータは、第6図(b)に示
すように、第1の記憶部41に走査線のライン番号Y、第
2の記憶部42にランレングスの個数を示すカウント値Ct
を格納し、その後の記憶部43に各ランレングスデータの
記録、すなわち第1のランレングスの始点位置xs1,終点
位置xe1,第2のランレングスの始点位置xs2,終点xe2,第
3のランレングスの始点位置xs3,終点位置xe3,……を昇
順で記憶する。ここで、xs1<xe1<xs2<xe2<xs3<xe3
……である。
また、入力部1とデータ結合手段4と間に設けられる
読込み手段9に、円形パターンのランレングスデータ
や、キヤラクタを形成するランレングスのそれぞれのラ
イン番号、始点および終点の情報を包含するキヤラクタ
ランレングスデータを記憶する記憶装置、例えばROM10
が接続されている。これらの読込み手段9とROM10とに
よつて、第1の変換手段3により変換されるランレング
スデータに、ベクトルの始点および終点のそれぞれを中
心としてベクトルの線幅に等しい直径を有する円形パタ
ーンのランレングスデータを付加するデータ付加手段が
構成されている。
読込み手段9に、円形パターンのランレングスデータ
や、キヤラクタを形成するランレングスのそれぞれのラ
イン番号、始点および終点の情報を包含するキヤラクタ
ランレングスデータを記憶する記憶装置、例えばROM10
が接続されている。これらの読込み手段9とROM10とに
よつて、第1の変換手段3により変換されるランレング
スデータに、ベクトルの始点および終点のそれぞれを中
心としてベクトルの線幅に等しい直径を有する円形パタ
ーンのランレングスデータを付加するデータ付加手段が
構成されている。
さらに、入力部1より入力される他のランレングスデ
ータは第1の変換手段3により変換されるランレングス
データと、データ結合手段4で結合される。
ータは第1の変換手段3により変換されるランレングス
データと、データ結合手段4で結合される。
この実施例にあつては、第2図に示す処理手順に従つ
て画像の生成がおこなわれる。すなわち、手順S1でデー
タがそれぞれのデータの種類を示す情報信号と共に入力
部1に入力されると、手順S2でこの入力部1は上記の情
報信号により、入力データがベクトルデータ、文字や記
号などのキャラクタデータ、あるいはランレングスデー
タであることを識別する。
て画像の生成がおこなわれる。すなわち、手順S1でデー
タがそれぞれのデータの種類を示す情報信号と共に入力
部1に入力されると、手順S2でこの入力部1は上記の情
報信号により、入力データがベクトルデータ、文字や記
号などのキャラクタデータ、あるいはランレングスデー
タであることを識別する。
識別されたデータがベクトルデータである場合、手順
S3でベクトル記憶手段2によりベクトルの始点と終点の
座標および線幅を記憶しておき、このベクトル記憶手段
2に記憶されるベクトルデータを3つの部分に分割し、
手順S4で走査線上のランレングスを計算し、手順S5でラ
ンレングスデータをランレングス記憶手段6により上述
した所定のフオーマツトで記憶する。
S3でベクトル記憶手段2によりベクトルの始点と終点の
座標および線幅を記憶しておき、このベクトル記憶手段
2に記憶されるベクトルデータを3つの部分に分割し、
手順S4で走査線上のランレングスを計算し、手順S5でラ
ンレングスデータをランレングス記憶手段6により上述
した所定のフオーマツトで記憶する。
次いで、手順S6で上記のベクトルデータの処理の終了
を確認すると、手順S7で読込み手段9によりROM10から
ベクトルの始点および終点のそれぞれの中心としてベク
トルの線幅に等しい直径を有する円形パターンのランレ
ングスデータを読込み、この円形パターンのランレング
スデータをランレングス記憶手段6で記憶されるランレ
ングスデータに付加する。
を確認すると、手順S7で読込み手段9によりROM10から
ベクトルの始点および終点のそれぞれの中心としてベク
トルの線幅に等しい直径を有する円形パターンのランレ
ングスデータを読込み、この円形パターンのランレング
スデータをランレングス記憶手段6で記憶されるランレ
ングスデータに付加する。
一方、上述した手順S2で識別されたデータが文字や記
号などのキヤラクタデータである場合、手順S8で読込み
手段9によりROM10から上記のデータに対応するキヤラ
クタランレングスデータを読込み、手順S9でこのキヤラ
クタランレングスデータをランレングス記憶手段6に格
納し、第1の変換手段3により変換されたランレングス
データに結合する。手順S10でキヤラクタランレングス
データの処理の終了まで上述した手順S8,S9を繰り返
す。
号などのキヤラクタデータである場合、手順S8で読込み
手段9によりROM10から上記のデータに対応するキヤラ
クタランレングスデータを読込み、手順S9でこのキヤラ
クタランレングスデータをランレングス記憶手段6に格
納し、第1の変換手段3により変換されたランレングス
データに結合する。手順S10でキヤラクタランレングス
データの処理の終了まで上述した手順S8,S9を繰り返
す。
また、上述した手順S2で識別されたデータがランレン
グスデータである場合、手順S11でこのランレングスデ
ータをデータ結合手段4を介しランレングス記憶手段6
に格納し、第1の変換手段2により変換されたランレン
グスデータに結合する。
グスデータである場合、手順S11でこのランレングスデ
ータをデータ結合手段4を介しランレングス記憶手段6
に格納し、第1の変換手段2により変換されたランレン
グスデータに結合する。
以上のようにして得たすべてのランレングスデータを
制御手段5の制御により所定のフオーマツトに従って配
列してランレングス記憶手段6に記憶した後、手順S12
でこれらの画像のランレングスデータの終了を確認した
後、第2の変換手段6によりランレングスデータを映像
信号に変換し、手順S13でこの映像信号を出力部8より
出力する。
制御手段5の制御により所定のフオーマツトに従って配
列してランレングス記憶手段6に記憶した後、手順S12
でこれらの画像のランレングスデータの終了を確認した
後、第2の変換手段6によりランレングスデータを映像
信号に変換し、手順S13でこの映像信号を出力部8より
出力する。
さらに、上記の処理手順S3〜S7によるベクルデータの
変換過程について、第3図に示す処理手順に従つて詳し
く述べる。
変換過程について、第3図に示す処理手順に従つて詳し
く述べる。
すなわち、手順S21,S22において、それぞれ入力デー
タのベクトルが垂直ベクトル、および水平ベクトルであ
るかを識別する。このベクトルが、例えば第4図に示す
傾斜ベクトル20(線幅w、始点25、終点26)の場合、手
順S23に進んでベクトル20の各頂点21、22、23、24の座
標を求めて、ベクトル20の傾きmを計算する。
タのベクトルが垂直ベクトル、および水平ベクトルであ
るかを識別する。このベクトルが、例えば第4図に示す
傾斜ベクトル20(線幅w、始点25、終点26)の場合、手
順S23に進んでベクトル20の各頂点21、22、23、24の座
標を求めて、ベクトル20の傾きmを計算する。
ここで、各頂点21、22、23、24の座標をそれぞれ(x
1,y1)、(x2,y2)、(x3,y3)、(x4,y4)とすると、 m=(ye vec−ys vec)/(xe vec−xs vec) ただし、eは終点、sは始点、vecはベクトルをそれ
ぞれ表わす指標である。この傾きmの傾斜角度をθ゜と
すると、 x1=xs vec+(w/2)sinθ y1=ys vec−(w/2)cosθ x2=xs vec−(w/2)sinθ y2=ys vec+(w/2)cosθ x3=xe vec+(w/2)sinθ y3=ye vec−(w/2)cosθ x4=xe vec−(w/2)sinθ y4=ye vec+(w/2)cosθ 次いで、手順S24でベクトル20を頂点22および23を通
る走査線で3つの領域に分割した中の領域A(頂点21、
22、および頂点22を通る走査線が対向する辺と交る点22
aを頂点とする三角形内)で、y1〜y2間のすべてのy座
標について各走査線のライン番号y、ランレングスの始
点位置xs、終点位置xeをつぎのように計算してランレン
グス記憶手段6に記憶する。
1,y1)、(x2,y2)、(x3,y3)、(x4,y4)とすると、 m=(ye vec−ys vec)/(xe vec−xs vec) ただし、eは終点、sは始点、vecはベクトルをそれ
ぞれ表わす指標である。この傾きmの傾斜角度をθ゜と
すると、 x1=xs vec+(w/2)sinθ y1=ys vec−(w/2)cosθ x2=xs vec−(w/2)sinθ y2=ys vec+(w/2)cosθ x3=xe vec+(w/2)sinθ y3=ye vec−(w/2)cosθ x4=xe vec−(w/2)sinθ y4=ye vec+(w/2)cosθ 次いで、手順S24でベクトル20を頂点22および23を通
る走査線で3つの領域に分割した中の領域A(頂点21、
22、および頂点22を通る走査線が対向する辺と交る点22
aを頂点とする三角形内)で、y1〜y2間のすべてのy座
標について各走査線のライン番号y、ランレングスの始
点位置xs、終点位置xeをつぎのように計算してランレン
グス記憶手段6に記憶する。
すなわち、 xs=x1−(y−y1)m xe=x1+(y−y1)/m dx=xe(y=y2)−xs(y=y2) ただし、dxはy=y2におけるベクトル20のランレングス
を表す。同様に、手順S25でベクトル20の領域B(頂点2
2,点22a,頂点23および頂点23を通る走査線が対向する辺
と交わる点23aを頂点とする平方四辺形内)で、y2〜y3
間のすべてのy座標について各走査線のライン番号y、
ランレングスの始点位置xs、終点位置xeを次のように計
算してランレングス記憶手段6に記憶する。すなわち、 xs=x2+(y−y2)/m xe=xs+dx 同様に手順S26でベクトル20の領域C(頂点23、24お
よび点23aを頂点とする三角形内)で、y3〜y4間のすべ
てのy座標について各走査線のライン番号y、ランレン
グスの始点位置xs、終点位置xeを次のように計算してラ
ンレングス記憶手段6に記憶する。すなわち、 xs=x2+(y−y2)/m xe=x3−(y−y3)m 次いで、手順S27で読込み手段9によりベクトルの始
点および終点のそれぞれを中心としてベクトルの線幅に
等しい直径を有する円形パターンのランレングスデータ
をROM10から読込む。
を表す。同様に、手順S25でベクトル20の領域B(頂点2
2,点22a,頂点23および頂点23を通る走査線が対向する辺
と交わる点23aを頂点とする平方四辺形内)で、y2〜y3
間のすべてのy座標について各走査線のライン番号y、
ランレングスの始点位置xs、終点位置xeを次のように計
算してランレングス記憶手段6に記憶する。すなわち、 xs=x2+(y−y2)/m xe=xs+dx 同様に手順S26でベクトル20の領域C(頂点23、24お
よび点23aを頂点とする三角形内)で、y3〜y4間のすべ
てのy座標について各走査線のライン番号y、ランレン
グスの始点位置xs、終点位置xeを次のように計算してラ
ンレングス記憶手段6に記憶する。すなわち、 xs=x2+(y−y2)/m xe=x3−(y−y3)m 次いで、手順S27で読込み手段9によりベクトルの始
点および終点のそれぞれを中心としてベクトルの線幅に
等しい直径を有する円形パターンのランレングスデータ
をROM10から読込む。
この円形パターンのランレングスデータは、各走査線
ごとに適当なx座標、y座標のオフセツト値としてラン
レングス記憶手段6に記憶される。このようにして、例
えば第5図(a)のベクトル31、32の各端部に、第5図
(b)に示すように円形パターン33、34、35を重ねて描
くようになつている。
ごとに適当なx座標、y座標のオフセツト値としてラン
レングス記憶手段6に記憶される。このようにして、例
えば第5図(a)のベクトル31、32の各端部に、第5図
(b)に示すように円形パターン33、34、35を重ねて描
くようになつている。
ベクトルの線幅w=6の場合の円形パターンの例を第
11図に示す。この例で1/4円をランレングス形式で表す
と(3,3,2,1)となる。
11図に示す。この例で1/4円をランレングス形式で表す
と(3,3,2,1)となる。
上記の手順S21で入力データが垂直ベクトルであるこ
とを識別すると、手順S28でy1〜y4間のy座標について
各走査線のライン番号y、ランレングスの始点位置xs、
終点位置xeを次のように計算する。すなわち、 手順S29で、上記の手順S28で計算した各 y1=ys vec y4=ye vec xs=xs vec−w/2 xe=xs vec+w/2 走査線のライン番号y、ランレングスの始点位置xs、終
点位置xeをランレングス記憶手段6に記憶し、上述した
ように手順S27でベクトルの始点および終点のそれぞれ
を中心としてベクトルの線幅に等しい直径を有する円形
パターンのランレングスデータを付加する。
とを識別すると、手順S28でy1〜y4間のy座標について
各走査線のライン番号y、ランレングスの始点位置xs、
終点位置xeを次のように計算する。すなわち、 手順S29で、上記の手順S28で計算した各 y1=ys vec y4=ye vec xs=xs vec−w/2 xe=xs vec+w/2 走査線のライン番号y、ランレングスの始点位置xs、終
点位置xeをランレングス記憶手段6に記憶し、上述した
ように手順S27でベクトルの始点および終点のそれぞれ
を中心としてベクトルの線幅に等しい直径を有する円形
パターンのランレングスデータを付加する。
一方、上記の手順S22で入力データが水平ベクトルで
あることを識別すると、手順S30で上記の手順S29と同様
に、y1〜y2間のy座標について各走査線のライン番号
y、ランレングスの始点位置xs、終点位置xeを次のよう
に計算する。
あることを識別すると、手順S30で上記の手順S29と同様
に、y1〜y2間のy座標について各走査線のライン番号
y、ランレングスの始点位置xs、終点位置xeを次のよう
に計算する。
y1=ys vec−w/2 y2=ys vec+w/2 xs=xs vec xe=xe vec 手順S31で上記の手順S30で計算した各走査線のライン
番号y、ランレングスの始点位置xs、終点位置xeをラン
レングス記憶手段6に記憶し、上述したように手順S27
でベクトルの始点および終点のそれぞれを中心としてベ
クトルの線幅に等しい直径を有する円形パターンのラン
レングスデータを付加する。
番号y、ランレングスの始点位置xs、終点位置xeをラン
レングス記憶手段6に記憶し、上述したように手順S27
でベクトルの始点および終点のそれぞれを中心としてベ
クトルの線幅に等しい直径を有する円形パターンのラン
レングスデータを付加する。
このようにランレングスデータに変換してランレング
ス記憶手段6に記憶する際、次のようにランレングスデ
ータの配列を行なう。まず、すでにランレングスデータ
が記憶されている場合(以前のランレングスデータが登
録済である場合)には、このデータは第6図(a)のポ
インタ配列40の適切なメモリ位置に配列され、これに伴
ってそのランレングスの始点位置xs、終点位置xeが登録
されている。
ス記憶手段6に記憶する際、次のようにランレングスデ
ータの配列を行なう。まず、すでにランレングスデータ
が記憶されている場合(以前のランレングスデータが登
録済である場合)には、このデータは第6図(a)のポ
インタ配列40の適切なメモリ位置に配列され、これに伴
ってそのランレングスの始点位置xs、終点位置xeが登録
されている。
次に、ランレングスデータを新たに記憶する場合に
は、新データは旧データと結合され、配列されなければ
ならないが、その際第7図(a)に示す6つのケース
と、図示しない自明のケースとがある。第7図に示す6
つのケースについては、SmarkおよびEmarkを求めること
によりそれぞれの配列を決定する。
は、新データは旧データと結合され、配列されなければ
ならないが、その際第7図(a)に示す6つのケース
と、図示しない自明のケースとがある。第7図に示す6
つのケースについては、SmarkおよびEmarkを求めること
によりそれぞれの配列を決定する。
第7図は、あるライン上に断続する画像のランレング
スL(n)、L(n+1)、L(n+2)が既に登録さ
れていた時、新たにランレングスデータL1〜L6が付加さ
れた状態を示した図である。実線は画像データの存在す
る範囲を、また陰影は旧データの存在する範囲をそれぞ
れ示している。図のように新データの始点xs、終点xeの
位置によって、新旧のランレングスの関係は6つの場合
に分かれる。
スL(n)、L(n+1)、L(n+2)が既に登録さ
れていた時、新たにランレングスデータL1〜L6が付加さ
れた状態を示した図である。実線は画像データの存在す
る範囲を、また陰影は旧データの存在する範囲をそれぞ
れ示している。図のように新データの始点xs、終点xeの
位置によって、新旧のランレングスの関係は6つの場合
に分かれる。
第8図(a)、(b)は上記のランレングスデータを
結合し配列する処理手順を示すフローチヤート、第9図
はその処理結果を各ケースについて示した説明図、第10
図は新旧ランレングスデータの配列例を示した説明図で
あり、これらの図を参照しつつ第7図に示す6つのケー
スのランレングスデータの配列処理を説明する。
結合し配列する処理手順を示すフローチヤート、第9図
はその処理結果を各ケースについて示した説明図、第10
図は新旧ランレングスデータの配列例を示した説明図で
あり、これらの図を参照しつつ第7図に示す6つのケー
スのランレングスデータの配列処理を説明する。
第8図のフローチヤートに従って処理が開始される
と、まず手順S41でSmarkおよびEmarkを見つける。ここ
でSmarkは新データの始点xsより大きい、一番近い旧デ
ータL(n)の始点xs(n)を示す指標であり、Emark
は新データの始点xeより大きい、一番近い旧データL
(n)の始点xs(n)を表わす指標である。例えば新デ
ータL1aに対しては、Smarkはxs(n+1)、Emarkはxs
(n+3)となる。
と、まず手順S41でSmarkおよびEmarkを見つける。ここ
でSmarkは新データの始点xsより大きい、一番近い旧デ
ータL(n)の始点xs(n)を示す指標であり、Emark
は新データの始点xeより大きい、一番近い旧データL
(n)の始点xs(n)を表わす指標である。例えば新デ
ータL1aに対しては、Smarkはxs(n+1)、Emarkはxs
(n+3)となる。
次に手順S42に進んで新データの始点xsが旧データの
始点xe(Smark−1)より小さいかどうか判断し、2つ
の場合に分ける。
始点xe(Smark−1)より小さいかどうか判断し、2つ
の場合に分ける。
手順S42でYESの場合はケース1,2または4の場合に相
当し、さらに手順S43に進んで新データの始点xeが旧デ
ータの終点xe(Emark−1)より小さいかどうか判断す
る。YESの場合はケース1または2の場合に相当し、次
の手順S44に進んでSmarkとEmarkが等しいかどうか判断
し、更に場合分けをする。
当し、さらに手順S43に進んで新データの始点xeが旧デ
ータの終点xe(Emark−1)より小さいかどうか判断す
る。YESの場合はケース1または2の場合に相当し、次
の手順S44に進んでSmarkとEmarkが等しいかどうか判断
し、更に場合分けをする。
判断がNOの場合はケース1に相当し、手順S45に進ん
で結合データの始点Nsを旧データの始点Xs(Smark−
1)に終点Neを旧データの終点xe(Emark−1)に、さ
らにカウント値CTを(Ct−Emark+Smark)にそれぞれ設
定し、さらに手順S46に進んでEmark以後のランレングス
配列を(Emark−Smark)だけ左にずらす。これらの処理
が終了すると、手順S47に進んで新たに設定したランレ
ングスデータ配列をランレングス記憶手段6に書き込ん
でこのルーチンの処理を終了する。
で結合データの始点Nsを旧データの始点Xs(Smark−
1)に終点Neを旧データの終点xe(Emark−1)に、さ
らにカウント値CTを(Ct−Emark+Smark)にそれぞれ設
定し、さらに手順S46に進んでEmark以後のランレングス
配列を(Emark−Smark)だけ左にずらす。これらの処理
が終了すると、手順S47に進んで新たに設定したランレ
ングスデータ配列をランレングス記憶手段6に書き込ん
でこのルーチンの処理を終了する。
手順S44で判断がYESの場合はケース2の場合に相当
し、第7図からも明らかなように結合されたデータとし
て新たに発生する画素データは存在しないので何の処理
も施すことなくこの処理ルーチンを終了する。
し、第7図からも明らかなように結合されたデータとし
て新たに発生する画素データは存在しないので何の処理
も施すことなくこの処理ルーチンを終了する。
次に手順S43でNOの場合はケース4の場合に相当し、
手順S48で結合データのランレングスの始点Nsを旧デー
タの始点Xs(Smark−1)に、終点Neは旧データの終点X
eの値に、またカウント値CTは(Ct−Emark+Smark)の
値にそれぞれ設定した後、手順S46に進んで以後ケース
1と同じ処理を行う。
手順S48で結合データのランレングスの始点Nsを旧デー
タの始点Xs(Smark−1)に、終点Neは旧データの終点X
eの値に、またカウント値CTは(Ct−Emark+Smark)の
値にそれぞれ設定した後、手順S46に進んで以後ケース
1と同じ処理を行う。
手順S42でNOの場合はケース3,5または6に相当し、手
順S49に進んで新データの終点Xeが旧データのランレン
グスの終点Xe(Emark−1)より大きいかどうか調べ
る。
順S49に進んで新データの終点Xeが旧データのランレン
グスの終点Xe(Emark−1)より大きいかどうか調べ
る。
NOの場合はケース5に相当し、手順S50で結合データ
の始点Nsを新データの始点Xsに、始点Neを旧データの終
点Xe(Emark−1)に、カウント値CTを(Ct+1−Emark
+Smark)に設定し、手順S51でEmark以後のランレング
ス配列を(Emark−Smark+1)だけ左にずらす。その
後、手順S47で新たに設定したランレングスデータ配列
をランレングス記憶手段6に書き込む。
の始点Nsを新データの始点Xsに、始点Neを旧データの終
点Xe(Emark−1)に、カウント値CTを(Ct+1−Emark
+Smark)に設定し、手順S51でEmark以後のランレング
ス配列を(Emark−Smark+1)だけ左にずらす。その
後、手順S47で新たに設定したランレングスデータ配列
をランレングス記憶手段6に書き込む。
手順S49でYESの時は手順S52に移って、結合データの
始点Nsおよび終点Neはそれぞれ旧データの始点Xsおよび
終点Xeに、カウント値CTは(Ct−Emark+Smark)に設定
した後、手順S53でSmarkとEmarkが一致するかどうか調
べる。一致する場合はケース3に相当し、手順S54に移
ってSmark以後、旧カウント数の所で終るランレングス
データ配列に右に1つだけ移動させる。この後の処理は
ケース5の場合の手順S51以後の処理と同じである。
始点Nsおよび終点Neはそれぞれ旧データの始点Xsおよび
終点Xeに、カウント値CTは(Ct−Emark+Smark)に設定
した後、手順S53でSmarkとEmarkが一致するかどうか調
べる。一致する場合はケース3に相当し、手順S54に移
ってSmark以後、旧カウント数の所で終るランレングス
データ配列に右に1つだけ移動させる。この後の処理は
ケース5の場合の手順S51以後の処理と同じである。
上述のランレングス配列決定処理の中、ケース4につ
いて新旧ランレングスデータおよびその結合データ、Sm
ark,Emark等の指標を走査ラインに沿って示したのが第1
0図である。
いて新旧ランレングスデータおよびその結合データ、Sm
ark,Emark等の指標を走査ラインに沿って示したのが第1
0図である。
また、上記ケース4を含む6つのケースについて得ら
れた結合データL11〜L16を新旧データL1〜L6,L(n)〜
L(n+2)と共に示したのが第9図である。
れた結合データL11〜L16を新旧データL1〜L6,L(n)〜
L(n+2)と共に示したのが第9図である。
このように本実施例では、ビツトマツプ画像に変換す
る中間処理を行なうことなく、第1の変換手段3により
ベクトル画像データを直接ランレングス画像データに変
換できるので、ビツトマツプ画像を形成する各画素の情
報を記憶する必要がないことから、複写印刷機などに用
いられる場合に大きな容量の画像メモリを要しない。ま
た、読込み手段9とROM10とによつて、線幅を有するベ
クトル画像の端部に円形パターンを付加することによつ
て、それぞれの端部の形状を滑らかに生成できると共
に、このベクトル画像のランレングスデータに、文字や
記号などのキヤラクタランレングスデータを読込んで結
合することができることから、キヤラクタの情報をビツ
トマツトデータとして記憶する場合に比べて、ROM10の
メモリ容量を小さくすることができる。さらに、入力部
1に入力される所定のフオーマツトのランレングスデー
タをデータ結合手段4を介しランレングス記憶手段6に
格納し、第1の変換手段3により変換されたランレング
スデータに結合することによつて、所定のフオーマツト
の画像をベクトル画像などと合成して出力できる。
る中間処理を行なうことなく、第1の変換手段3により
ベクトル画像データを直接ランレングス画像データに変
換できるので、ビツトマツプ画像を形成する各画素の情
報を記憶する必要がないことから、複写印刷機などに用
いられる場合に大きな容量の画像メモリを要しない。ま
た、読込み手段9とROM10とによつて、線幅を有するベ
クトル画像の端部に円形パターンを付加することによつ
て、それぞれの端部の形状を滑らかに生成できると共
に、このベクトル画像のランレングスデータに、文字や
記号などのキヤラクタランレングスデータを読込んで結
合することができることから、キヤラクタの情報をビツ
トマツトデータとして記憶する場合に比べて、ROM10の
メモリ容量を小さくすることができる。さらに、入力部
1に入力される所定のフオーマツトのランレングスデー
タをデータ結合手段4を介しランレングス記憶手段6に
格納し、第1の変換手段3により変換されたランレング
スデータに結合することによつて、所定のフオーマツト
の画像をベクトル画像などと合成して出力できる。
本発明によれば、大きな容量の画像メモリを要するこ
となく、簡単な構成で、線幅を有するベクトルのデータ
を含む入力データをランレングスデータに変換すること
ができる描画装置を提供できる。
となく、簡単な構成で、線幅を有するベクトルのデータ
を含む入力データをランレングスデータに変換すること
ができる描画装置を提供できる。
第1図ないし第11図は本発明の描画装置の一実施例を示
す図で、第1図は全体回路構成を示すブロツク図、第2
図は処理手順を示すフローチヤート、第3図はベクトル
データからランレングスデータへの変換過程における処
理手順を示すフローチヤート、第4図はベクトルの分解
域の構成を示す説明図、第5図(a)、(b)は滑らか
な端部を有するベクトル画像の作成を示す説明図、第6
図(a)、(b)はそれぞれランレングスデータのポイ
ンタ配列、ランレングス配列を示す説明図、第7図はラ
ンレングスデータを結合し、配列する際の種々のケース
を比較して示す説明図、第8図(a)、(b)はランレ
ングスデータの配列過程における処理手順を示すフロー
チヤート、第9図は結合データをケース毎に示す説明
図、第10図はランレングスデータの結合配列例を示す説
明図、第11図は円形パターンをランレングス形式で表現
する例を説明する図である。 1……入力部、2……ベクトル記憶手段、3……第1の
変換手段、4……データ結合手段、5……制御手段、6
……ランレングス記憶手段、7……第2の変換手段、8
……出力部、9……読込み手段、10……ROM(記憶装
置)。
す図で、第1図は全体回路構成を示すブロツク図、第2
図は処理手順を示すフローチヤート、第3図はベクトル
データからランレングスデータへの変換過程における処
理手順を示すフローチヤート、第4図はベクトルの分解
域の構成を示す説明図、第5図(a)、(b)は滑らか
な端部を有するベクトル画像の作成を示す説明図、第6
図(a)、(b)はそれぞれランレングスデータのポイ
ンタ配列、ランレングス配列を示す説明図、第7図はラ
ンレングスデータを結合し、配列する際の種々のケース
を比較して示す説明図、第8図(a)、(b)はランレ
ングスデータの配列過程における処理手順を示すフロー
チヤート、第9図は結合データをケース毎に示す説明
図、第10図はランレングスデータの結合配列例を示す説
明図、第11図は円形パターンをランレングス形式で表現
する例を説明する図である。 1……入力部、2……ベクトル記憶手段、3……第1の
変換手段、4……データ結合手段、5……制御手段、6
……ランレングス記憶手段、7……第2の変換手段、8
……出力部、9……読込み手段、10……ROM(記憶装
置)。
Claims (1)
- 【請求項1】線幅を有するベクトルのデータを含む入力
データを識別し、画像データを処理して画像を生成する
描画装置において、 前記識別されたデータがベクトルデータである場合、該
ベクトルデータをランレングスデータを含む情報に変換
する変換手段と、 前記識別されたデータがキャラクタデータである場合、
該キャラクタデータに対応したランレングスデータをメ
モリから読み込む読み込み手段と、 前記識別されたデータがランレングスデータである場合
のランレングスデータと、前記変換手段により変換され
たランレングスデータと、前記読み込み手段により読み
込まれたランレングスデータとを結合し再配列して記憶
し、新たなランレングスデータを出力する結合記憶手段
と、 を備えることを特徴とする描画装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27388589 | 1989-10-23 | ||
JP1-273885 | 1989-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03206577A JPH03206577A (ja) | 1991-09-09 |
JP3122664B2 true JP3122664B2 (ja) | 2001-01-09 |
Family
ID=17533930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22246890A Expired - Fee Related JP3122664B2 (ja) | 1989-10-23 | 1990-08-27 | 描画装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3122664B2 (ja) |
-
1990
- 1990-08-27 JP JP22246890A patent/JP3122664B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03206577A (ja) | 1991-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6812995B2 (en) | Digital camera and document processing system using the digital camera | |
US8379054B2 (en) | Image synthesis method, image synthesis apparatus, and storage medium | |
JP2004334843A (ja) | 複数の画像から画像を合成する方法 | |
JP3057935B2 (ja) | 文字出力装置 | |
JP3122664B2 (ja) | 描画装置 | |
JP4181604B2 (ja) | 出力装置およびプログラム | |
JPH07168938A (ja) | デジタル複写機 | |
JPS6113256B2 (ja) | ||
JPH09120450A (ja) | 画像処理装置 | |
JP2915700B2 (ja) | 画像処理方法及びその装置 | |
JP2002281287A (ja) | 画像処理システム、画像読取装置、画像処理装置、方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体 | |
JP2578785B2 (ja) | 画面作成処理方法 | |
JP2885996B2 (ja) | 画像処理方法及び装置 | |
JP3294249B2 (ja) | 画像処理装置 | |
JP2788554B2 (ja) | 画像処理方法およびその装置 | |
JPH06342280A (ja) | 映像文字図形処理装置 | |
JP2640591B2 (ja) | 境界部画像の作成方法 | |
JP3359361B2 (ja) | 拡大印刷装置 | |
JPH05151350A (ja) | 画像データの位置歪み補正方法 | |
JP2544599B2 (ja) | 画像形成方法 | |
JPH07262351A (ja) | 画像処理装置及びその制御方法 | |
WO2000075869A1 (en) | Image processing method | |
JP2002032769A (ja) | 画像処理方法及び装置 | |
JP3733194B2 (ja) | 画像情報ターミナル | |
JPH04288541A (ja) | 画像歪補正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071020 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081020 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |