JPWO2013069058A1 - 描画装置及び描画プログラム - Google Patents

描画装置及び描画プログラム Download PDF

Info

Publication number
JPWO2013069058A1
JPWO2013069058A1 JP2013542689A JP2013542689A JPWO2013069058A1 JP WO2013069058 A1 JPWO2013069058 A1 JP WO2013069058A1 JP 2013542689 A JP2013542689 A JP 2013542689A JP 2013542689 A JP2013542689 A JP 2013542689A JP WO2013069058 A1 JPWO2013069058 A1 JP WO2013069058A1
Authority
JP
Japan
Prior art keywords
pixel
point
unit
end point
candidate 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
Application number
JP2013542689A
Other languages
English (en)
Other versions
JP5777726B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2013069058A1 publication Critical patent/JPWO2013069058A1/ja
Application granted granted Critical
Publication of JP5777726B2 publication Critical patent/JP5777726B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory
    • G09G5/227Resolution modifying circuits, e.g. variable screen formats, resolution change between memory contents and display screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

この発明に係る描画装置は、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたものである。

Description

本発明は、主として、ストロークで描かれたスケーラブルフォントを画像化する際、小さい文字で生じるにじみを軽減し、文字の視認性を向上するように斜線や曲線の位置を補正する描画装置及び描画プログラムに関するものである。
従来ストロークフォント描画は、ベクトルデータをピクセル画素上に配置し、各ピクセルの輝度値を決定することで行う。この際、滑らかな線を表示するため、中間色となる複数段階の輝度値を設定して描画するアンチエイリアスがよく用いられる。しかし、低解像度フォントの場合、この中間色がにじみとして認識される場合がある。そこで、従来のグリッドフィッティング手法では、線分の垂直・水平線分(以降、これらをセグメントと呼ぶ)に着目し、セグメントをピクセル上の最適な位置に補正し、鮮明な線分を描画する。セグメントの補正時には、セグメント同士の隣接によって文字が潰れないようにセグメントの座標を選択する(例えば、特許文献1参照)。
特開平8−255254号公報
従来のグリッドフィッティング手法では、垂直線および水平線に関するにじみを軽減し、文字の視認性を向上することができる。しかしながら、実際に用いられる小さい文字では、斜線や曲線においてもにじみが目立っており、それを解決できていない。斜線および曲線の端点は従来のグリッドフィッティング手法において移動はするものの、斜線や曲線の位置の影響を考慮していないため、その移動がにじみを改善するような補正処理とはなっていないという問題があった。
この発明は、かかる問題を解決するためになされたもので、斜線や曲線に対し、最適位置に補正することによって、斜線や曲線部分で生じるにじみを軽減することのできる描画装置を得ることを目的とする。
この発明に係る描画装置は、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたものである。
この発明に係る描画装置は、斜線の候補線を、斜線が位置するピクセル画素上の中心点である基準点と比較して、最も距離の総和が小さい候補線を選択し、この候補線で斜線を補正するようにしたものである。これにより、斜線で生じるにじみを軽減し、文字等の視認性を向上することができる。
この発明の実施の形態1の描画装置を示す機能ブロック図である。 この発明の描画装置を実現するコンピュータシステムの構成図である。 この発明の実施の形態1の描画装置の動作シーケンスを示すフローチャートである。 この発明の実施の形態1の描画装置の動作シーケンスに対応した処理結果を示す説明図である。 ストロークの線とレンダリング結果との関係を示す説明図である。 この発明の実施の形態1の描画装置を適用した例を示す説明図である。 この発明の実施の形態1〜4の描画装置を文字に適用した例を示す説明図である。 この発明の実施の形態2の描画装置を示す機能ブロック図である。 この発明の実施の形態3の描画装置を示す機能ブロック図である。 この発明の実施の形態3の描画装置の動作シーケンスを示すフローチャートである。 この発明の実施の形態3の描画装置の動作シーケンスに対応した処理結果を示す説明図である。 この発明の実施の形態3の描画装置における直線分割の説明図である。 この発明の実施の形態3の描画装置における分割点の処理を示す説明図である。 この発明の実施の形態4の描画装置を示す機能ブロック図である。 この発明の実施の形態4の描画装置の補正位置テーブルを示す説明図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、実施の形態1による描画装置の機能ブロック図である。
本実施の形態による描画装置は、図示のように、端点抽出部101、基準点決定部102、候補線生成部103、候補線選択部104、データ補正部105を備えている。尚、描画装置はコンピュータによって実現され、端点抽出部101〜データ補正部105は、それぞれの機能に対応したソフトウェアと、これらのソフトウェアを実行するCPUやメモリ等のハードウェアから構成されている。あるいは、端点抽出部101〜データ補正部105の少なくともいずれかの機能部を専用のハードウェアで構成してもよい。
図2は、描画装置を実現するコンピュータシステムの構成図である。
図示のコンピュータシステムは、演算プロセッサ1、システムメモリ2、アプリケーションプログラム3、バス4を備えている。演算プロセッサ1は、CPUなどに代表される演算プロセッサである。システムメモリ2は、演算プロセッサ1の命令コードやデータを保持するための記憶部である。アプリケーションプログラム3は、演算プロセッサ1上で実行されるプログラムであり、上述した端点抽出部101〜データ補正部105を実現するためのプログラムを含んでいる。このアプリケーションプログラム3が、メモリにコピーしたフォントデータを解析し、画像化する処理の中で、補正位置演算処理を行うものである。また、バス4は、演算プロセッサ1とシステムメモリ2とを接続するためのシステムバスである。
図1に示す端点抽出部101は、斜線の始点と終点のピクセル画素座標を抽出する機能部である。基準点決定部102は、斜線が位置するピクセル画素の中心を基準点として決定する機能部である。候補線生成部103は、端点抽出部101で抽出した始点と終点のピクセル画素内の点を結んだ直線の候補線を生成する機能部である。候補線選択部104は、候補線生成部103で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する機能部である。データ補正部105は、斜線を、候補線選択部104で選択された候補線に補正する機能部である。
次に、実施の形態1の描画装置の動作について説明する。
図3は、描画装置の動作シーケンスを示すフローチャートである。また、図4は、描画装置の動作シーケンスに対応した処理結果を示す説明図である。
先ず、端点抽出部101は、フォントデータからストロークのデータを取得し、斜線の始点および終点座標を取得する。それらの座標を四捨五入し、各点が存在するピクセル座標を取得する(ステップST101)。図4(a)は、斜線のストロークデータを示しており、図4(b)は、ステップST101によって抽出したピクセル座標である。
次に、基準点決定部102は、補正位置計算に用いる基準点を求める(ステップST102)。本発明は、低解像度のフォントを主なターゲットとしており、16ドット幅などの小さいサイズの文字では、線幅が1ドットで表現される。このとき、図5(a)に示すように、ピクセル画素の中心から外れた線分をレンダリングした場合、2ドット幅でかつ薄い線分が描画される(図5(b)参照)。これに対し、図5(c)に示すように線分がピクセル画素の中心を通るとき、1ドット幅の鮮明な線分が描画できる(図5(d)参照)。つまり、線分がピクセル画素の中心を通ることが、最も鮮明でにじみの少ない線が描画できる。よって、斜線を描画する場合も同様に、斜線が各ピクセル画素を通過する際、ピクセル画素の中心に近いところを通過するように斜線の始点・終点を補正する。この計算を行う上で斜線が通るべき基準となる点群を決定する必要がある。これには、線分描画で一般的に使用されるブレゼンハムのアルゴリズムを用いる。ブレゼンハムのアルゴリズムは、直線の描画を小数演算なしに行い、高速に動作を可能としたアルゴリズムである。
基準点決定部102では、ステップST101で求めた始点と終点のピクセル座標を入力とし、それらを結ぶ線分を構成するピクセル座標群を算出する。始点および終点を含むこれらの点を基準点とする。ブレゼンハムのアルゴリズムでは、斜線のxy成分のうち大きい値を持つ方を軸とし、1ピクセル毎に点を生成するため、基準点の個数は最初に与えられた斜線の始点・終点の位置に依存する。即ち、基準点Lは斜線のxy成分のうち、大きい値のもので決定する。例えば、図4(c)に示すように、斜線の両端点が(0,0)、(2,3)の場合、斜線のx成分よりy成分のほうが長くなる。そして、y=1、2で新たに点を生成することになり、基準点は全てで4つとなる。このようにして基準点を決定し、これらの基準点からの距離が短くなるように斜線の位置を補正する。
次に、候補線生成部103は、最適な補正斜線の候補線をM本生成する(ステップST103)。これらの斜線は、ステップST102で求めた基準点からの距離を計算することにより、最適位置を決定する。斜線の位置を補正する際には、文字のバランスを大きく崩さないため、斜線の始点・終点の補正範囲を各点が存在するピクセル画素内に抑える。図4(d)に示すように、各点の画素内から任意の点を選択し、それらを結んで複数の斜線を生成する。斜線の生成個数Mは、補正の精度に依存しており、ユーザにより設定する。例えば、各ピクセル画素内で、0.1ピクセル刻みに点を取り、各画素において点を100個ずつ生成する。そして、それらを結んで10000本の斜線を生成する。
次に、候補線選択部104では、ステップST103で生成したM本の候補線に対し、候補線と基準点との距離を計算する(ステップST104)。図4(e)は、斜線と基準点との距離関係について図示している。1つの斜線につき基準点は複数(L個)あるため、これらの全ての基準点との距離を求め、合計を求める。これを生成した全て(M本)の斜線に対して算出する。そして、候補線選択部104は、これらの数値が最小となる斜線をM本の総和結果から選択し(ステップST105)、データ補正部105は、その位置に補正する(図4(f)参照)。
1つの斜線に対して、実施の形態1を適用した例を図6に示しており、図6(a)は補正前の斜線のレンダリング結果、図6(b)は補正後の斜線のレンダリング結果である。補正前では、輝度値が分散し線分がぼやけて見えるのに対し(図中、矢印A参照)、補正後では、線分が鮮明になりにじみを軽減している(図中、矢印B参照)。また、図7には「あ」の文字に適用した結果を示しており、「あ」の一画目が斜線部分である。斜線の補正処理を行うことにより、斜線部分のぼやけが軽減されている。
以上説明したように、実施の形態1の描画装置によれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態1の描画プログラムによれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
実施の形態2.
実施の形態1で行う斜線のにじみ改善手法では、文字の中の斜線の補正を行う度に複数回の距離計算を行うため、その計算量が多いという問題がある。そこで、実施の形態2では、斜線の補正処理を高速化するため、斜線の始点・終点をピクセル画素の中心へ補正することによってにじみを改善する例を示す。
図8は、実施の形態1の描画装置を示す機能ブロック図である。
実施の形態2の描画装置は、端点抽出部201、端点位置補正部202、データ補正部203を備えている。端点抽出部201は、実施の形態1における端点抽出部101と同様に、斜線の始点と終点のピクセル画素座標を抽出するものである。端点位置補正部202は、端点抽出部201で抽出された始点と終点の位置をピクセル画素の中心に補正するものである。データ補正部203は、端点位置補正部202で補正された始点と終点を結ぶ直線を斜線の補正データとして補正を行うものである。
実施の形態2では、斜線の始点・終点の位置がピクセル画素の中心に補正されるため、その始点・終点においてにじみがなくなることが保証される。また、短い斜線に関して、実施の形態1で求めた斜線の補正点がピクセル画素の中心となるケースが多いため、斜線の始点・終点のピクセル画素中心への補正処理は有効である。斜線の座標をピクセル画素の中心に補正する処理は、点の位置を代入するのみであるため、処理に要する時間は大きく削減することができる。
以上説明したように、実施の形態2の描画装置によれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、端点抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、補正された始点と終点を結ぶ直線を斜線の補正データとするデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。
実施の形態3.
実施の形態3は、曲線データを対象としてそのにじみを改善するようにした例であり、図9に実施の形態3の描画装置の機能ブロック図を示す。
実施の形態3の描画装置は、曲線データ抽出部301、端点位置補正部302、候補線生成部303、直線分割部304、基準点決定部305、候補線選択部306、データ補正部307を備えている。
曲線データ抽出部301は、曲線データの始点と終点と制御点とを抽出する機能部である。端点位置補正部302は、曲線データ抽出部301で抽出された始点と終点の位置をピクセル画素の中心に補正する機能部である。候補線生成部303は、端点位置補正部302で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、曲線の候補線を生成する機能部である。直線分割部304は、候補線生成部303で生成された候補線を直線分割する機能部である。基準点決定部305は、分割した直線が通過するピクセル画素の中心を基準点として決定する機能部である。候補線選択部306は、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する機能部である。データ補正部307は、曲線を、候補線選択部306で選択された候補線に補正する機能部である。
また、実施の形態3においても、描画装置はコンピュータによって実現され、曲線データ抽出部301〜データ補正部307は、それぞれの機能に対応したソフトウェアと、これらのソフトウェアを実行するCPUやメモリ等のハードウェアから構成されている。あるいは、少なくともいずれかの機能部を専用のハードウェアで構成してもよい。
次に、実施の形態3の動作について説明する。図10は、実施の形態3の動作シーケンスを示すフローチャートである。
本実施の形態で扱う曲線データは2次スプライン曲線であり、図11(a)に示すように、曲線は始点・終点・制御点の3点から構成される。曲線の補正も、実施の形態1,2で説明した斜線の補正と同様に、曲線が通るピクセル画素の中心からの距離の総和が最小になるように計算する。先ず、曲線データ抽出部301では、フォントデータから曲線データを取得し、曲線の始点・終点・制御点座標を取得する。それらの座標を四捨五入し、各点が存在するピクセル座標を取得する(ステップST201)。
次に、端点位置補正部302は、始点と終点の補正を実施する(ステップST202)。これは、実施の形態2で示した斜線補正との整合性を考慮し、ピクセル画素の中心に補正を行う(図11(b)参照)。これにより計算量削減の効果もある。
次に、候補線生成部303では、最適な補正曲線の候補線を複数(M本)生成する(ステップST203)。この処理では、斜線のときと同様に、曲線の制御点の位置を補正する際、文字のバランスを大きく崩さないため、斜線の始点・終点の補正範囲を制御点が存在するピクセル画素内に抑える。図11(c)に示すように、この制御点の位置を変更し、曲がり方の異なる曲線を複数生成する。M本の曲線の生成個数は、補正の精度に依存しており、ユーザにより設定する。例えば、ピクセル内で、0.1ピクセル刻みに点を取り、点を100個生成する。そして曲線を100個生成する。
次に、直線分割部304では、ステップST203で生成した各曲線に対し、距離計算を行うため、直線分割化を行う(ステップST204)。実際に曲線を描画するときは、図12に示すように複数の直線(N本)に分割して描画する。分割数Nは、曲線の曲率に依存して決定する。そして、分割した各直線に対し、実施の形態1と同様の距離計算を適用する(ステップST205→ステップST207)。すなわち、生成したM本の候補線全てに対し、かつ、それぞれのN本の分割直線の全てに対して、基準点Lとの距離を求める。
一方、分割した点は、異なる方向ベクトルを持つ2線の支点となるため、各々の方向ベクトルを持つ線に対して距離を算出することになり、距離の計算を2回実行してしまう。この冗長な計算を防ぐため、各直線の計算時には距離計算を行わず、分割点における距離計算は別途ステップST208、ステップST209で行う。すなわち、ステップST206における距離計算部分の判断ステップにおいて、分割点以外の点を計算するときは、ステップST207に進んで生成した分割直線と基準点との距離を総和に加え、分割点における距離を計算するときは、ステップST208〜ステップST209の処理を行う。なお、ステップST207における分割直線と基準点との距離を求める処理は実施の形態1における処理と同様である。
ステップST208では、図13に示すように、分割点は曲線上の点にあるため、曲線の分割点における接線を求める(図中、矢印A参照)。そして、ステップST209で、この接線とピクセル画素の中心との距離を算出する(図中、矢印B参照)。この数値を加算して距離総和を求める。候補線選択部306は、1つの曲線について、複数の直線の距離計算の総和を求めることにより、曲線の評価値を決定する(図11(d)参照)。候補線選択部306は、これらの計算を、生成した全ての曲線について算出する。最後に、候補線選択部306は、求めた数値が最小となる曲線を選択し(ステップST210)、データ補正部307は、ステップST201で抽出された制御点の位置を、選択された曲線の制御点の位置に補正する(図11(e)参照)。
以上の動作により、曲線の位置の補正を行う。実際に「あ」の文字に適用した結果は図7に示しており、「あ」の下の部分は曲線で構成されている。
以上説明したように、実施の形態3の描画装置によれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態3の描画プログラムによれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
実施の形態4.
実施の形態3で行う曲線のにじみ改善手法において、複数回の距離計算を行うため、計算量が多いという問題がある。そこで、曲線の補正処理を高速化するため、実施の形態4では、曲線の制御点の補正点をデータベース化する。図14に実施の形態4の描画装置の機能ブロック図を示す。
実施の形態4の描画装置は、曲線データ抽出部401、端点位置補正部402、補正位置テーブル403、データ補正部404を備えており、曲線データ抽出部401および端点位置補正部402の機能については、実施の形態3の曲線データ抽出部301および端点位置補正部302と同様である。補正位置テーブル403は、曲線データの始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示すデータベースであり、実施の形態3における候補線生成部303と直線分割部304と基準点決定部305と候補線選択部306により求められた補正位置を示している。
図15は、補正位置テーブル403の説明図である。
補正位置テーブル403には、曲線の始点と終点、および、始点と制御点を結ぶ2本のベクトルデータと、そのときの制御点の補正位置とを保持する。ベクトルデータを保持する際、始点を(0,0)の位置に固定し、x軸上、y軸上および第一象限にベクトルが位置するようにする。そして、ベクトルの方向が補正位置テーブル403に該当しない場合、テーブル内のデータの符号の一方または両方をマイナスにして該当するベクトルを検索し、補正位置を求める。これにより、メモリ量を削減できる。また、この制御点の補正位置のデータは、実施の形態3で説明した図10のフローチャートに示すような計算をオフラインで行うことによって決定する。
実際に制御点を補正する際には、補正位置テーブル403から参照する処理だけを実行することにより、処理のリアルタイム性が向上する。
以上説明したように、実施の形態4の描画装置によれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、曲線の始点と終点と制御点とを抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、曲線の始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示す補正位置テーブルと、端点位置補正部で補正した始点と終点と、補正位置テーブルから求めた制御点とに基づいて曲線を補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。
また、実施の形態4の描画装置によれば、補正位置テーブルは、実施の形態3における候補線生成部と直線分割部と基準点決定部と候補線選択部とにより求められた候補線に対応した制御点の位置を示すようにしたので、精確な制御点の位置とすることができる。
なお、上記各実施の形態では、文字を対象として説明したが、これに限定されるものではなく、斜線や曲線を含む画像であれば同様に適用可能である。
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
以上のように、この発明に係る描画装置および描画プログラムは、ベクトルデータをピクセル画素上に配置し、各ピクセルの輝度値を決定する構成に関するものであり、ストロークフォント描画を行うのに適している。
101,201 端点抽出部、102、305 基準点決定部、103,303 候補線生成部、104,306 候補線選択部、105,203,307,404 データ補正部、202,302,402 端点位置補正部、301,401 曲線データ抽出部、403 補正位置テーブル。
本発明は、主として、ストロークで描かれたスケーラブルフォントを画像化する際、小さい文字で生じるにじみを軽減し、文字の視認性を向上するように斜線や曲線の位置を補正する描画装置及び描画プログラムに関するものである。
従来ストロークフォント描画は、ベクトルデータをピクセル画素上に配置し、各ピクセルの輝度値を決定することで行う。この際、滑らかな線を表示するため、中間色となる複数段階の輝度値を設定して描画するアンチエイリアスがよく用いられる。しかし、低解像度フォントの場合、この中間色がにじみとして認識される場合がある。そこで、従来のグリッドフィッティング手法では、線分の垂直・水平線分(以降、これらをセグメントと呼ぶ)に着目し、セグメントをピクセル上の最適な位置に補正し、鮮明な線分を描画する。セグメントの補正時には、セグメント同士の隣接によって文字が潰れないようにセグメントの座標を選択する(例えば、特許文献1参照)。
特開平8−255254号公報
従来のグリッドフィッティング手法では、垂直線および水平線に関するにじみを軽減し、文字の視認性を向上することができる。しかしながら、実際に用いられる小さい文字では、斜線や曲線においてもにじみが目立っており、それを解決できていない。斜線および曲線の端点は従来のグリッドフィッティング手法において移動はするものの、斜線や曲線の位置の影響を考慮していないため、その移動がにじみを改善するような補正処理とはなっていないという問題があった。
この発明は、かかる問題を解決するためになされたもので、斜線や曲線に対し、最適位置に補正することによって、斜線や曲線部分で生じるにじみを軽減することのできる描画装置を得ることを目的とする。
この発明に係る描画装置は、直線データをピクセル画素上に配置し、直線データからの距離に応じて各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたものである。
この発明に係る描画装置は、斜線の候補線を、斜線が位置するピクセル画素上の中心点である基準点と比較して、最も距離の総和が小さい候補線を選択し、この候補線で斜線を補正するようにしたものである。これにより、斜線で生じるにじみを軽減し、文字等の視認性を向上することができる。
この発明の実施の形態1の描画装置を示す機能ブロック図である。 この発明の描画装置を実現するコンピュータシステムの構成図である。 この発明の実施の形態1の描画装置の動作シーケンスを示すフローチャートである。 この発明の実施の形態1の描画装置の動作シーケンスに対応した処理結果を示す説明図である。 ストロークの線とレンダリング結果との関係を示す説明図である。 この発明の実施の形態1の描画装置を適用した例を示す説明図である。 この発明の実施の形態1〜4の描画装置を文字に適用した例を示す説明図である。 この発明の実施の形態2の描画装置を示す機能ブロック図である。 この発明の実施の形態3の描画装置を示す機能ブロック図である。 この発明の実施の形態3の描画装置の動作シーケンスを示すフローチャートである。 この発明の実施の形態3の描画装置の動作シーケンスに対応した処理結果を示す説明図である。 この発明の実施の形態3の描画装置における直線分割の説明図である。 この発明の実施の形態3の描画装置における分割点の処理を示す説明図である。 この発明の実施の形態4の描画装置を示す機能ブロック図である。 この発明の実施の形態4の描画装置の補正位置テーブルを示す説明図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、実施の形態1による描画装置の機能ブロック図である。
本実施の形態による描画装置は、図示のように、端点抽出部101、基準点決定部102、候補線生成部103、候補線選択部104、データ補正部105を備えている。尚、描画装置はコンピュータによって実現され、端点抽出部101〜データ補正部105は、それぞれの機能に対応したソフトウェアと、これらのソフトウェアを実行するCPUやメモリ等のハードウェアから構成されている。あるいは、端点抽出部101〜データ補正部105の少なくともいずれかの機能部を専用のハードウェアで構成してもよい。
図2は、描画装置を実現するコンピュータシステムの構成図である。
図示のコンピュータシステムは、演算プロセッサ1、システムメモリ2、アプリケーションプログラム3、バス4を備えている。演算プロセッサ1は、CPUなどに代表される演算プロセッサである。システムメモリ2は、演算プロセッサ1の命令コードやデータを保持するための記憶部である。アプリケーションプログラム3は、演算プロセッサ1上で実行されるプログラムであり、上述した端点抽出部101〜データ補正部105を実現するためのプログラムを含んでいる。このアプリケーションプログラム3が、メモリにコピーしたフォントデータを解析し、画像化する処理の中で、補正位置演算処理を行うものである。また、バス4は、演算プロセッサ1とシステムメモリ2とを接続するためのシステムバスである。
図1に示す端点抽出部101は、斜線の始点と終点のピクセル画素座標を抽出する機能部である。基準点決定部102は、斜線が位置するピクセル画素の中心を基準点として決定する機能部である。候補線生成部103は、端点抽出部101で抽出した始点と終点のピクセル画素内の点を結んだ直線の候補線を生成する機能部である。候補線選択部104は、候補線生成部103で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する機能部である。データ補正部105は、斜線を、候補線選択部104で選択された候補線に補正する機能部である。
次に、実施の形態1の描画装置の動作について説明する。
図3は、描画装置の動作シーケンスを示すフローチャートである。また、図4は、描画装置の動作シーケンスに対応した処理結果を示す説明図である。
先ず、端点抽出部101は、フォントデータからストロークのデータを取得し、斜線の始点および終点座標を取得する。それらの座標を四捨五入し、各点が存在するピクセル座標を取得する(ステップST101)。図4(a)は、斜線のストロークデータを示しており、図4(b)は、ステップST101によって抽出したピクセル座標である。
次に、基準点決定部102は、補正位置計算に用いる基準点を求める(ステップST102)。本発明は、低解像度のフォントを主なターゲットとしており、16ドット幅などの小さいサイズの文字では、線幅が1ドットで表現される。このとき、図5(a)に示すように、ピクセル画素の中心から外れた線分をレンダリングした場合、2ドット幅でかつ薄い線分が描画される(図5(b)参照)。これに対し、図5(c)に示すように線分がピクセル画素の中心を通るとき、1ドット幅の鮮明な線分が描画できる(図5(d)参照)。つまり、線分がピクセル画素の中心を通ることが、最も鮮明でにじみの少ない線が描画できる。よって、斜線を描画する場合も同様に、斜線が各ピクセル画素を通過する際、ピクセル画素の中心に近いところを通過するように斜線の始点・終点を補正する。この計算を行う上で斜線が通るべき基準となる点群を決定する必要がある。これには、線分描画で一般的に使用されるブレゼンハムのアルゴリズムを用いる。ブレゼンハムのアルゴリズムは、直線の描画を小数演算なしに行い、高速に動作を可能としたアルゴリズムである。
基準点決定部102では、ステップST101で求めた始点と終点のピクセル座標を入力とし、それらを結ぶ線分を構成するピクセル座標群を算出する。始点および終点を含むこれらの点を基準点とする。ブレゼンハムのアルゴリズムでは、斜線のxy成分のうち大きい値を持つ方を軸とし、1ピクセル毎に点を生成するため、基準点の個数は最初に与えられた斜線の始点・終点の位置に依存する。即ち、基準点Lは斜線のxy成分のうち、大きい値のもので決定する。例えば、図4(c)に示すように、斜線の両端点が(0,0)、(2,3)の場合、斜線のx成分よりy成分のほうが長くなる。そして、y=1、2で新たに点を生成することになり、基準点は全てで4つとなる。このようにして基準点を決定し、これらの基準点からの距離が短くなるように斜線の位置を補正する。
次に、候補線生成部103は、最適な補正斜線の候補線をM本生成する(ステップST103)。これらの斜線は、ステップST102で求めた基準点からの距離を計算することにより、最適位置を決定する。斜線の位置を補正する際には、文字のバランスを大きく崩さないため、斜線の始点・終点の補正範囲を各点が存在するピクセル画素内に抑える。図4(d)に示すように、各点の画素内から任意の点を選択し、それらを結んで複数の斜線を生成する。斜線の生成個数Mは、補正の精度に依存しており、ユーザにより設定する。例えば、各ピクセル画素内で、0.1ピクセル刻みに点を取り、各画素において点を100個ずつ生成する。そして、それらを結んで10000本の斜線を生成する。
次に、候補線選択部104では、ステップST103で生成したM本の候補線に対し、候補線と基準点との距離を計算する(ステップST104)。図4(e)は、斜線と基準点との距離関係について図示している。1つの斜線につき基準点は複数(L個)あるため、これらの全ての基準点との距離を求め、合計を求める。これを生成した全て(M本)の斜線に対して算出する。そして、候補線選択部104は、これらの数値が最小となる斜線をM本の総和結果から選択し(ステップST105)、データ補正部105は、その位置に補正する(図4(f)参照)。
1つの斜線に対して、実施の形態1を適用した例を図6に示しており、図6(a)は補正前の斜線のレンダリング結果、図6(b)は補正後の斜線のレンダリング結果である。補正前では、輝度値が分散し線分がぼやけて見えるのに対し(図中、矢印A参照)、補正後では、線分が鮮明になりにじみを軽減している(図中、矢印B参照)。また、図7には「あ」の文字に適用した結果を示しており、「あ」の一画目が斜線部分である。斜線の補正処理を行うことにより、斜線部分のぼやけが軽減されている。
以上説明したように、実施の形態1の描画装置によれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態1の描画プログラムによれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
実施の形態2.
実施の形態1で行う斜線のにじみ改善手法では、文字の中の斜線の補正を行う度に複数回の距離計算を行うため、その計算量が多いという問題がある。そこで、実施の形態2では、斜線の補正処理を高速化するため、斜線の始点・終点をピクセル画素の中心へ補正することによってにじみを改善する例を示す。
図8は、実施の形態1の描画装置を示す機能ブロック図である。
実施の形態2の描画装置は、端点抽出部201、端点位置補正部202、データ補正部203を備えている。端点抽出部201は、実施の形態1における端点抽出部101と同様に、斜線の始点と終点のピクセル画素座標を抽出するものである。端点位置補正部202は、端点抽出部201で抽出された始点と終点の位置をピクセル画素の中心に補正するものである。データ補正部203は、端点位置補正部202で補正された始点と終点を結ぶ直線を斜線の補正データとして補正を行うものである。
実施の形態2では、斜線の始点・終点の位置がピクセル画素の中心に補正されるため、その始点・終点においてにじみがなくなることが保証される。また、短い斜線に関して、実施の形態1で求めた斜線の補正点がピクセル画素の中心となるケースが多いため、斜線の始点・終点のピクセル画素中心への補正処理は有効である。斜線の座標をピクセル画素の中心に補正する処理は、点の位置を代入するのみであるため、処理に要する時間は大きく削減することができる。
以上説明したように、実施の形態2の描画装置によれば、直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、端点抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、補正された始点と終点を結ぶ直線を斜線の補正データとするデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。
実施の形態3.
実施の形態3は、曲線データを対象としてそのにじみを改善するようにした例であり、図9に実施の形態3の描画装置の機能ブロック図を示す。
実施の形態3の描画装置は、曲線データ抽出部301、端点位置補正部302、候補線生成部303、直線分割部304、基準点決定部305、候補線選択部306、データ補正部307を備えている。
曲線データ抽出部301は、曲線データの始点と終点と制御点とを抽出する機能部である。端点位置補正部302は、曲線データ抽出部301で抽出された始点と終点の位置をピクセル画素の中心に補正する機能部である。候補線生成部303は、端点位置補正部302で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、曲線の候補線を生成する機能部である。直線分割部304は、候補線生成部303で生成された候補線を直線分割する機能部である。基準点決定部305は、分割した直線が通過するピクセル画素の中心を基準点として決定する機能部である。候補線選択部306は、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する機能部である。データ補正部307は、曲線を、候補線選択部306で選択された候補線に補正する機能部である。
また、実施の形態3においても、描画装置はコンピュータによって実現され、曲線データ抽出部301〜データ補正部307は、それぞれの機能に対応したソフトウェアと、これらのソフトウェアを実行するCPUやメモリ等のハードウェアから構成されている。あるいは、少なくともいずれかの機能部を専用のハードウェアで構成してもよい。
次に、実施の形態3の動作について説明する。図10は、実施の形態3の動作シーケンスを示すフローチャートである。
本実施の形態で扱う曲線データは2次スプライン曲線であり、図11(a)に示すように、曲線は始点・終点・制御点の3点から構成される。曲線の補正も、実施の形態1,2で説明した斜線の補正と同様に、曲線が通るピクセル画素の中心からの距離の総和が最小になるように計算する。先ず、曲線データ抽出部301では、フォントデータから曲線データを取得し、曲線の始点・終点・制御点座標を取得する。それらの座標を四捨五入し、各点が存在するピクセル座標を取得する(ステップST201)。
次に、端点位置補正部302は、始点と終点の補正を実施する(ステップST202)。これは、実施の形態2で示した斜線補正との整合性を考慮し、ピクセル画素の中心に補正を行う(図11(b)参照)。これにより計算量削減の効果もある。
次に、候補線生成部303では、最適な補正曲線の候補線を複数(M本)生成する(ステップST203)。この処理では、斜線のときと同様に、曲線の制御点の位置を補正する際、文字のバランスを大きく崩さないため、斜線の始点・終点の補正範囲を制御点が存在するピクセル画素内に抑える。図11(c)に示すように、この制御点の位置を変更し、曲がり方の異なる曲線を複数生成する。M本の曲線の生成個数は、補正の精度に依存しており、ユーザにより設定する。例えば、ピクセル内で、0.1ピクセル刻みに点を取り、点を100個生成する。そして曲線を100個生成する。
次に、直線分割部304では、ステップST203で生成した各曲線に対し、距離計算を行うため、直線分割化を行う(ステップST204)。実際に曲線を描画するときは、図12に示すように複数の直線(N本)に分割して描画する。分割数Nは、曲線の曲率に依存して決定する。そして、分割した各直線に対し、実施の形態1と同様の距離計算を適用する(ステップST205→ステップST207)。すなわち、生成したM本の候補線全てに対し、かつ、それぞれのN本の分割直線の全てに対して、基準点Lとの距離を求める。
一方、分割した点は、異なる方向ベクトルを持つ2線の支点となるため、各々の方向ベクトルを持つ線に対して距離を算出することになり、距離の計算を2回実行してしまう。この冗長な計算を防ぐため、各直線の計算時には距離計算を行わず、分割点における距離計算は別途ステップST208、ステップST209で行う。すなわち、ステップST206における距離計算部分の判断ステップにおいて、分割点以外の点を計算するときは、ステップST207に進んで生成した分割直線と基準点との距離を総和に加え、分割点における距離を計算するときは、ステップST208〜ステップST209の処理を行う。なお、ステップST207における分割直線と基準点との距離を求める処理は実施の形態1における処理と同様である。
ステップST208では、図13に示すように、分割点は曲線上の点にあるため、曲線の分割点における接線を求める(図中、矢印A参照)。そして、ステップST209で、この接線とピクセル画素の中心との距離を算出する(図中、矢印B参照)。この数値を加算して距離総和を求める。候補線選択部306は、1つの曲線について、複数の直線の距離計算の総和を求めることにより、曲線の評価値を決定する(図11(d)参照)。候補線選択部306は、これらの計算を、生成した全ての曲線について算出する。最後に、候補線選択部306は、求めた数値が最小となる曲線を選択し(ステップST210)、データ補正部307は、ステップST201で抽出された制御点の位置を、選択された曲線の制御点の位置に補正する(図11(e)参照)。
以上の動作により、曲線の位置の補正を行う。実際に「あ」の文字に適用した結果は図7に示しており、「あ」の下の部分は曲線で構成されている。
以上説明したように、実施の形態3の描画装置によれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態3の描画プログラムによれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
実施の形態4.
実施の形態3で行う曲線のにじみ改善手法において、複数回の距離計算を行うため、計算量が多いという問題がある。そこで、曲線の補正処理を高速化するため、実施の形態4では、曲線の制御点の補正点をデータベース化する。図14に実施の形態4の描画装置の機能ブロック図を示す。
実施の形態4の描画装置は、曲線データ抽出部401、端点位置補正部402、補正位置テーブル403、データ補正部404を備えており、曲線データ抽出部401および端点位置補正部402の機能については、実施の形態3の曲線データ抽出部301および端点位置補正部302と同様である。補正位置テーブル403は、曲線データの始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示すデータベースであり、実施の形態3における候補線生成部303と直線分割部304と基準点決定部305と候補線選択部306により求められた補正位置を示している。
図15は、補正位置テーブル403の説明図である。
補正位置テーブル403には、曲線の始点と終点、および、始点と制御点を結ぶ2本のベクトルデータと、そのときの制御点の補正位置とを保持する。ベクトルデータを保持する際、始点を(0,0)の位置に固定し、x軸上、y軸上および第一象限にベクトルが位置するようにする。そして、ベクトルの方向が補正位置テーブル403に該当しない場合、テーブル内のデータの符号の一方または両方をマイナスにして該当するベクトルを検索し、補正位置を求める。これにより、メモリ量を削減できる。また、この制御点の補正位置のデータは、実施の形態3で説明した図10のフローチャートに示すような計算をオフラインで行うことによって決定する。
実際に制御点を補正する際には、補正位置テーブル403から参照する処理だけを実行することにより、処理のリアルタイム性が向上する。
以上説明したように、実施の形態4の描画装置によれば、曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、曲線の始点と終点と制御点とを抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、曲線の始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示す補正位置テーブルと、端点位置補正部で補正した始点と終点と、補正位置テーブルから求めた制御点とに基づいて曲線を補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。
また、実施の形態4の描画装置によれば、補正位置テーブルは、実施の形態3における候補線生成部と直線分割部と基準点決定部と候補線選択部とにより求められた候補線に対応した制御点の位置を示すようにしたので、精確な制御点の位置とすることができる。
なお、上記各実施の形態では、文字を対象として説明したが、これに限定されるものではなく、斜線や曲線を含む画像であれば同様に適用可能である。
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
101,201 端点抽出部、102、305 基準点決定部、103,303 候補線生成部、104,306 候補線選択部、105,203,307,404 データ補正部、202,302,402 端点位置補正部、301,401 曲線データ抽出部、403 補正位置テーブル。
この発明に係る描画装置は、ストロークで描かれたスケーラブルフォントを画像化する描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたものである。
基準点決定部102では、ステップST101で求めた始点と終点のピクセル座標を入力とし、それらを結ぶ線分を構成するピクセル座標群を算出する。始点および終点を含むこれらの点を基準点とする。ブレゼンハムのアルゴリズムでは、斜線のxy成分のうち大きい値を持つ方を軸とし、1ピクセル毎に点を生成するため、基準点の個数は最初に与えられた斜線の始点・終点の位置に依存する。即ち、基準点の数Lは斜線のxy成分のうち、大きい値のもので決定する。例えば、図4(c)に示すように、斜線の両端点が(0,0)、(2,3)の場合、斜線のx成分よりy成分のほうが長くなる。そして、y=1、2で新たに点を生成することになり、基準点は全てで4つとなる。このようにして基準点を決定し、これらの基準点からの距離が短くなるように斜線の位置を補正する。
以上説明したように、実施の形態1の描画装置によれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態1の描画プログラムによれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置を実現するコンピュータを、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、候補線生成部で生成した候補線と基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、斜線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
以上説明したように、実施の形態2の描画装置によれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置において、斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、端点抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、補正された始点と終点を結ぶ直線を斜線の補正データとするデータ補正部とを備えたので、斜線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。
次に、候補線生成部303では、最適な補正曲線の候補線を複数(M本)生成する(ステップST203)。この処理では、斜線のときと同様に、曲線の制御点の位置を補正する際、文字のバランスを大きく崩さないため、曲線の制御点の補正範囲を制御点が存在するピクセル画素内に抑える。図11(c)に示すように、この制御点の位置を変更し、曲がり方の異なる曲線を複数生成する。M本の曲線の生成個数は、補正の精度に依存しており、ユーザにより設定する。例えば、ピクセル内で、0.1ピクセル刻みに点を取り、点を100個生成する。そして曲線を100個生成する。
以上説明したように、実施の形態3の描画装置によれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置において、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができる。
また、実施の形態3の描画プログラムによれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置を実現するコンピュータを、曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、端点位置補正部で補正された始点と終点の位置と、制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、分割した直線と基準点との距離と、分割点における曲線の接線と分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、曲線を、候補線選択部で選択された候補線に補正するデータ補正部として機能させるようにしたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することのできる描画装置をコンピュータ上に実現することができる。
以上説明したように、実施の形態4の描画装置によれば、ストロークで描かれたスケーラブルフォントを画像化する描画装置において、曲線の始点と終点と制御点とを抽出する曲線データ抽出部と、曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、曲線の始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示す補正位置テーブルと、端点位置補正部で補正した始点と終点と、補正位置テーブルから求めた制御点とに基づいて曲線を補正するデータ補正部とを備えたので、曲線で生じるにじみを軽減し、文字等の視認性を向上することができると共に、処理の高速化を図ることができる。

Claims (7)

  1. 直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、
    斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、
    前記斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、
    前記端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、
    前記候補線生成部で生成した候補線と前記基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、
    前記斜線を、前記候補線選択部で選択された候補線に補正するデータ補正部とを備えた描画装置。
  2. 直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、
    斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、
    前記端点抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、
    前記補正された始点と終点を結ぶ直線を前記斜線の補正データとするデータ補正部とを備えた描画装置。
  3. 曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、
    曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、
    前記曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、
    前記端点位置補正部で補正された始点と終点の位置と、前記制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、
    前記候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、
    前記分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、
    前記分割した直線と前記基準点との距離と、前記分割点における曲線の接線と当該分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、
    前記曲線を、前記候補線選択部で選択された候補線に補正するデータ補正部とを備えた描画装置。
  4. 曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置において、
    曲線の始点と終点と制御点とを抽出する曲線データ抽出部と、
    前記曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、
    前記曲線の始点と終点の位置をピクセル画素の中心にした場合の制御点の補正位置を示す補正位置テーブルと、
    前記端点位置補正部で補正した始点と終点と、前記補正位置テーブルから求めた制御点とに基づいて前記曲線を補正するデータ補正部とを備えた描画装置。
  5. 補正位置テーブルは、請求項3における候補線生成部と直線分割部と基準点決定部と候補線選択部とにより求められた候補線に対応した制御点の位置を示すことを特徴とする請求項4記載の描画装置。
  6. 直線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、
    斜線の始点と終点のピクセル画素座標を抽出する端点抽出部と、
    前記斜線が位置するピクセル画素の中心を基準点として決定する基準点決定部と、
    前記端点抽出部で抽出した始点と終点のピクセル画素内の点を結んだ候補線を生成する候補線生成部と、
    前記候補線生成部で生成した候補線と前記基準点との距離の総和が最も小さい候補線を選択する候補線選択部と、
    前記斜線を、前記候補線選択部で選択された候補線に補正するデータ補正部として機能させるための描画プログラム。
  7. 曲線データをピクセル画素上に配置し、各ピクセルの輝度値を決定することで描画を行う描画装置を実現するコンピュータを、
    曲線の始点と終点と制御点のピクセル画素座標を抽出する曲線データ抽出部と、
    前記曲線データ抽出部で抽出された始点と終点の位置をピクセル画素の中心に補正する端点位置補正部と、
    前記端点位置補正部で補正された始点と終点の位置と、前記制御点のピクセル画素内の複数の位置とに基づいて、候補線を生成する候補線生成部と、
    前記候補線生成部で生成された候補線を分割点で直線分割する直線分割部と、
    前記分割した直線が通過するピクセル画素の中心を基準点として決定する基準点決定部と、
    前記分割した直線と前記基準点との距離と、前記分割点における曲線の接線と当該分割点が存在するピクセル画素の中心値との距離の総和が最も小さい候補線を選択する候補線選択部と、
    前記曲線を、前記候補線選択部で選択された候補線に補正するデータ補正部として機能させるための描画プログラム。
JP2013542689A 2011-11-09 2011-11-09 描画装置及び描画プログラム Expired - Fee Related JP5777726B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/006269 WO2013069058A1 (ja) 2011-11-09 2011-11-09 描画装置及び描画プログラム

Publications (2)

Publication Number Publication Date
JPWO2013069058A1 true JPWO2013069058A1 (ja) 2015-04-02
JP5777726B2 JP5777726B2 (ja) 2015-09-09

Family

ID=48288648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013542689A Expired - Fee Related JP5777726B2 (ja) 2011-11-09 2011-11-09 描画装置及び描画プログラム

Country Status (6)

Country Link
US (1) US9305340B2 (ja)
JP (1) JP5777726B2 (ja)
KR (1) KR101562153B1 (ja)
CN (1) CN104145303B (ja)
DE (1) DE112011105830B4 (ja)
WO (1) WO2013069058A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107909068A (zh) * 2017-11-24 2018-04-13 苏州灯蓝软件科技有限公司 一种大数据图像曲线反向解析方法及系统
WO2019193741A1 (ja) * 2018-04-06 2019-10-10 三菱電機株式会社 破線補正装置及び破線補正方法
US10636387B2 (en) * 2018-09-07 2020-04-28 Microsoft Technology Licensing, Llc Rendering oversized glyphs to a monospace grid
CN113610944B (zh) * 2021-07-30 2024-06-14 新线科技有限公司 一种线条绘制方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02995A (ja) * 1988-06-08 1990-01-05 Japan Aviation Electron Ind Ltd 液晶パネル用ベクタージェネレータ
JPH05323937A (ja) * 1992-05-20 1993-12-07 Ricoh Co Ltd ヒンティング処理方法
JPH09305163A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd 階調文字生成方法
JP2000137480A (ja) * 1998-08-28 2000-05-16 Matsushita Electric Ind Co Ltd 多階調デ―タ生成装置、プログラム記憶媒体、デ―タ記憶媒体
JP2006284857A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 文字画像生成プログラム、そのシステム、及びその方法
JP2009204989A (ja) * 2008-02-28 2009-09-10 Sharp Corp 情報処理装置、情報処理方法、およびプログラム
JP2010009350A (ja) * 2008-06-27 2010-01-14 Fujitsu Microelectronics Ltd ライン描画方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53121424A (en) 1977-03-31 1978-10-23 Nippon Telegr & Teleph Corp <Ntt> Straight line drawing method
GB2207839B (en) 1987-07-30 1991-07-10 Ibm Line generation in a display system
JP3210141B2 (ja) 1993-06-24 2001-09-17 松下電器産業株式会社 直線描画装置
US5581680A (en) * 1993-10-06 1996-12-03 Silicon Graphics, Inc. Method and apparatus for antialiasing raster scanned images
TW310399B (ja) * 1994-04-28 1997-07-11 Sharp Kk
US5684510A (en) 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
US5842147A (en) * 1995-03-06 1998-11-24 Aisin Aw Co., Ltd. Navigation display device which indicates goal and route direction information
JP3317817B2 (ja) * 1995-07-14 2002-08-26 シャープ株式会社 文字生成装置
TW585312U (en) * 1996-01-31 2004-04-21 Canon Kk Character generating apparatus
JP3087957B2 (ja) * 1997-02-05 2000-09-18 タイヨーエレック株式会社 弾球遊技機
JP4079268B2 (ja) * 2003-07-03 2008-04-23 シャープ株式会社 文字表示装置、文字表示方法、文字表示プログラムおよび可読記録媒体
JP5397070B2 (ja) * 2008-08-13 2014-01-22 株式会社リコー 制御装置、レーザ照射装置、最適化フォントデータdb、記録方法、プログラム、記憶媒体
JP5332034B2 (ja) * 2008-09-22 2013-11-06 株式会社小松製作所 無人車両の走行経路生成方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02995A (ja) * 1988-06-08 1990-01-05 Japan Aviation Electron Ind Ltd 液晶パネル用ベクタージェネレータ
JPH05323937A (ja) * 1992-05-20 1993-12-07 Ricoh Co Ltd ヒンティング処理方法
JPH09305163A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd 階調文字生成方法
JP2000137480A (ja) * 1998-08-28 2000-05-16 Matsushita Electric Ind Co Ltd 多階調デ―タ生成装置、プログラム記憶媒体、デ―タ記憶媒体
JP2006284857A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 文字画像生成プログラム、そのシステム、及びその方法
JP2009204989A (ja) * 2008-02-28 2009-09-10 Sharp Corp 情報処理装置、情報処理方法、およびプログラム
JP2010009350A (ja) * 2008-06-27 2010-01-14 Fujitsu Microelectronics Ltd ライン描画方法

Also Published As

Publication number Publication date
JP5777726B2 (ja) 2015-09-09
WO2013069058A1 (ja) 2013-05-16
KR101562153B1 (ko) 2015-10-20
US20140184635A1 (en) 2014-07-03
CN104145303B (zh) 2016-08-24
DE112011105830B4 (de) 2017-03-30
KR20140088901A (ko) 2014-07-11
CN104145303A (zh) 2014-11-12
US9305340B2 (en) 2016-04-05
DE112011105830T5 (de) 2014-08-14

Similar Documents

Publication Publication Date Title
KR102440284B1 (ko) 영상 처리 장치, 영상 처리 방법, 및 프로그램
JP5759621B2 (ja) 文字表示方法および文字表示装置
EP1528510A2 (en) Advanced Shape Processor
US20070229506A1 (en) Rendering apparatus, method and program, and shape data generation apparatus, method and program
JP4738469B2 (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
US20110090228A1 (en) Method of and Arrangement for Rendering a Path
JP5777726B2 (ja) 描画装置及び描画プログラム
JP4370438B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP2009301284A (ja) 描画装置および方法
JP2010146255A (ja) ベクトル図形描画装置
JP2634851B2 (ja) 画像処理装置
JP4772604B2 (ja) ベクトル図形描画装置及びそのプログラム
US9911205B1 (en) Visual continuity for arbitrary length stipple patterns
JP2003162728A (ja) 画像処理装置及び画像出力装置
JP2012098951A (ja) 図形描画処理装置、図形描画処理方法、及びコンピュータプログラム
KR100705188B1 (ko) 문자 폰트 표시 방법
JP4858883B2 (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
US20220262053A1 (en) Image processing apparatus, image processing method, and program
JP2011180904A (ja) 描画処理装置、描画処理方法及びプログラム
US20210306518A1 (en) Information processing apparatus and non-transitory computer readable medium
US20090096792A1 (en) Fill mode determination in vector graphics
JP2014085402A (ja) 描画処理装置およびその制御方法
CN114492733A (zh) 一种文本检测方法、装置、设备及存储介质
TW201441838A (zh) 字型繪圖裝置
CN112562035A (zh) 超椭圆的生成方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150515

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: 20150609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150707

R150 Certificate of patent or registration of utility model

Ref document number: 5777726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees