JP4946776B2 - 画像処理方法、そのプログラム及び画像処理装置 - Google Patents

画像処理方法、そのプログラム及び画像処理装置 Download PDF

Info

Publication number
JP4946776B2
JP4946776B2 JP2007269120A JP2007269120A JP4946776B2 JP 4946776 B2 JP4946776 B2 JP 4946776B2 JP 2007269120 A JP2007269120 A JP 2007269120A JP 2007269120 A JP2007269120 A JP 2007269120A JP 4946776 B2 JP4946776 B2 JP 4946776B2
Authority
JP
Japan
Prior art keywords
connection point
interpreted
drawing command
point
time
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
JP2007269120A
Other languages
English (en)
Other versions
JP2009098862A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007269120A priority Critical patent/JP4946776B2/ja
Priority to US12/252,259 priority patent/US20090096793A1/en
Publication of JP2009098862A publication Critical patent/JP2009098862A/ja
Application granted granted Critical
Publication of JP4946776B2 publication Critical patent/JP4946776B2/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理方法、そのプログラム及び画像処理装置に関する。
従来、画像処理方法としては、文字/図形の描画を実行する描画命令や、線幅・接続形状・端点形状等の線属性や色などを設定する描画状態命令等を含む描画データから、電子写真方式を用いたカラーページプリンタが画像を印字、出力可能な出力画像データへと変換するものが提案されている(例えば、特許文献1参照)。この特許文献1に記載された画像処理方法では、曲線を複数の線分で近似し、各線分を設定された線幅を有する矩形としたときの、その曲線の外側に対応する線分をそれぞれ交わるまで延長するいわゆるマイター接続を行う。
特開2002−15329号公報
しかしながら、特許文献1の画像変換方法では、例えば、2つの円弧が連続し理論的にはその接点での各円弧の接線同士が全く同一の直線となるように接する場合であっても、各線分が長くなって、2つの円弧のその接点での線分同士が平行にならない場合がある。そして、この場合にマイター接続を行うと本来なるべき形状とならない場合があった。
本発明は、上述した課題に鑑みなされたものであり、ベクタ画像からビットマップ画像へと変換するに際してより意図する画像を生成することができる画像処理方法、そのプログラム及び画像処理装置を提供することを主目的とする。
本発明は、上述の目的を達成するために以下の手段を採った。
本発明の画像処理方法は、
曲線を線分で置き換えてベクタ画像をビットマップ画像へ変換するコンピュータソフトウェアによる画像処理方法であって、
(a)変換対象のベクタ画像の描画命令を解釈するステップと、
(b)前記ステップ(a)で前回解釈した描画命令と前記ステップ(a)で今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するという接続点形状付加条件が成立したか否かを判定するステップと、
(c)前記ステップ(b)で前記接続点形状付加条件が成立したと判定したときには、前記接続点から前記円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側が該延長方向に略直交する辺を有する多角形である接続点形状を前記接続点に付加するステップと、
を含むものである。
この画像処理方法では、前回解釈した変換対象のベクタ画像の描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回解釈した描画命令の終点と今回解釈した描画命令の始点とが接続点で一致すると共に前回解釈した描画命令の中心点と今回解釈した描画命令の中心点とを結ぶ直線上に接続点が存在するという接続点形状付加条件が成立したときには、接続点から円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側がこの延長方向に略直交する辺を有する多角形である接続点形状を付加する。ここで、円弧と円弧とが接続する接続点を有するベクタ画像を複数の矩形で置き換えてビットマップ画像に変換する際に、その接続点において、本来は前の円弧とあとの円弧との接線が一致する、即ち接続点から先端側の線分の形状が直角の矩形状になるはずであるが、置き換える矩形のサイズや接続点の位置によっては、接続点で接線方向に対して傾きが生じた線分になることがあり、このような場合、接続点が意図しないような形状になることがある。ここでは、接続点形状付加条件が成立したときに接続点から延長方向に接続点形状を付加するから、意図しない形状になるのを防止可能である。したがって、ベクタ画像からビットマップ画像へと変換するに際してより意図する画像を生成することができる。また、接続点形状付加条件が成立したか否かを判定すればよいため、置き換える矩形をより細かくして円弧を描画するものや、描画命令を解釈し置き換える矩形の方向を計算して円弧の接線を求めこの接線に基づいて接続点形状を付加するか否かを判定するものなどに比して、より容易に意図する画像を生成することができる。ここで、「所定の接続長さ」とは、円弧の接続点に付加しても違和感を感じない範囲の長さとしてもよいし、マイターリミット長としてもよい。
本発明の画像処理方法において、前記ステップ(c)では、前記接続点における2つの円弧の線幅と同じ幅の矩形を前記接続点形状として付加するものとしてもよい。こうすれば、接続点の先端を本来なるべき矩形状とするため、一層意図する画像を生成することができる。
本発明の画像処理方法は、(d)前記ステップ(a)で前回解釈した描画命令の終点と前記ステップ(a)で今回解釈した描画命令の始点とが連結点で一致し、かつ、前記ステップ(b)において前記接続点形状付加条件が成立しなかった場合、該連結点においてマイター接続処理を実行するステップを含むものとしてもよい。こうすれば、接続点形状付加条件が成立し、マイター接続を行うと先端が尖った形状となるような場合に、先端が尖らない意図する画像を生成することができる。このとき、前記ステップ(c)では、マイター接続処理を実行しないものとしてもよい。
本発明の画像処理方法は、(e)前記ステップ(a)で解釈した描画命令の内容に基づいてビットマップ画像を描画するステップ、を含むものとしてもよい。このとき、前記ステップ(a)では、印刷用のベクタ画像の描画命令を解釈し、前記ステップ(e)では、前記接続点形状付加条件が成立したときには、接続点形状を前記接続点に付加して印刷用のビットマップ画像を描画するものとしてもよい。印刷に際しては一度ビットマップ画像にする必要のある場合が多いため本発明を適用する意義が高い。
本発明の画像処理方法は、前記ステップ(b)では、前記ステップ(a)で前回解釈した描画命令と前記ステップ(a)で今回解釈した描画命令とが共に円弧を描画する描画命令であるか否かを判定し、その後、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令である場合には、該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するか否かを判定する一方、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令でない場合には、該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するか否かを判定しないものとしてもよい。こうすれば、必要のない判定処理を行わずに済むため、処理効率を良くすることができる。
本発明のプログラムは、上述した画像処理方法の各ステップを1又は複数のコンピュータに実行させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか複数のコンピュータに分散して実行させれば、上述した画像処理方法の各ステップが実行されるため、上述した画像処理方法と同様の作用効果が得られる。
本発明の画像処理装置は、
曲線を線分で置き換えてベクタ画像をビットマップ画像へ変換する画像処理装置であって、
変換対象のベクタ画像の描画命令を解釈する命令解釈手段と、
前記命令解釈手段によって前回解釈された描画命令と今回解釈された描画命令とが共に円弧を描画する描画命令であり且つ該前回解釈された描画命令の終点と該今回解釈された描画命令の始点とが接続点で一致すると共に該前回解釈された描画命令の中心点と該今回解釈された描画命令の中心点とを結ぶ直線上に該接続点が存在するという接続点形状付加条件が成立したか否かを判定する判定手段と、
前記判定手段によって前記接続点形状付加条件が成立したと判定されたときには、前記接続点から前記円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側が該延長方向に略直交する辺を有する多角形である接続点形状を前記接続点に付加する形状付加手段と、
を備えたものである。
この画像処理装置では、前回解釈した変換対象のベクタ画像の描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回解釈した描画命令の終点と今回解釈した描画命令の始点とが接続点で一致すると共に前回解釈した描画命令の中心点と今回解釈した描画命令の中心点とを結ぶ直線上に接続点が存在するという接続点形状付加条件が成立したときには、接続点から円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側がこの延長方向に略直交する辺を有する多角形である接続点形状を付加する。ここで、円弧と円弧とが接続する接続点を有するベクタ画像を複数の矩形で置き換えてビットマップ画像に変換する際に、その接続点において、本来は前の円弧とあとの円弧との接線が一致する、即ち接続点から先端側の線分の形状が直角の矩形状になるはずであるが、置き換える矩形のサイズや接続点の位置によっては、接続点で接線方向に対して傾きが生じた線分になることがあり、このような場合、接続点が意図しないような形状になることがある。ここでは、接続点形状付加条件が成立したときに接続点から延長方向に接続点形状を付加するから、意図しない形状になるのを防止可能である。したがって、ベクタ画像からビットマップ画像へと変換するに際してより意図する画像を生成することができる。また、接続点形状付加条件が成立したか否かを判定すればよいため、置き換える矩形をより細かくして円弧を描画するものや、描画命令を解釈し置き換える矩形の方向を計算して円弧の接線を求めこの接線に基づいて接続点形状を付加するか否かを判定するものなどに比して、より容易に意図する画像を生成することができる。
本発明の画像処理装置は、前記命令解釈手段が解釈した前記描画命令を記憶する命令記憶手段と、前記接続点形状を記憶する形状記憶手段と、を備え、前記判定手段は、前記記憶手段に記憶された前回の描画命令を読み出して前記接続点形状付加条件が成立したか否かを判定し、前記形状付加手段は、前記接続点形状付加条件が成立したと判定されたときには、前記形状記憶手段に記憶された接続点形状を読み出し、該読み出した接続点形状を前記接続点に付加するものとしてもよい。
次に、本発明を実施するための最良の形態を図面を用いて説明する。図1は、本発明を具現化した一実施形態であるプリンタ20の構成の概略を示す構成図である。プリンタ20は、装置全体の制御を司るコントローラ21と、携帯用の記憶媒体であるメモリカード12をスロット25aに装着・取外し可能であるリーダライタ25と、記録紙Sへ画像を印刷処理する印刷機構26と、接続された外部機器(例えばPC)との間で情報の入出力が可能なインタフェース(I/F)28と、ユーザへ情報を表示可能でありユーザの指示を入力可能である操作パネル30と、を備えている。コントローラ21やリーダライタ25、印刷機構26、I/F28、操作パネル30は、バス29によって電気的に接続されている。コントローラ21は、CPU22を中心とするマイクロプロセッサとして構成されており、情報を記憶消去可能であり各種処理プログラムを記憶したフラッシュROM23と、一時的にデータを記憶するRAM24とを備えている。フラッシュROM23には、詳しくは後述するが予め決められた図形である接続点形状が記憶されている。また、RAM24には、I/F28を介して入力した印刷ジョブなどのファイルを一時的に記憶する図示しない受信バッファが設けられている。印刷機構26は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Sに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしてもよいしヒータの熱による気泡の発生によるものとしてもよい。操作パネル30は、ユーザがプリンタ20に対して各種の指示を入力するためのデバイスであり、各種の指示に応じた文字や画像が表示されるカラー液晶パネルにより構成された表示部32や、各種操作を行う操作部34が設けられている。メモリカード12は、データの書き込み及び消去可能な不揮発性のメモリであり、デジタルカメラなどの撮影装置により撮影された複数の画像ファイルなどが保存されている。
こうして構成されたプリンタ20は、メモリカード12から読み取るか又はI/F28を介して受信した印刷指令されたベクタ画像をビットマップ画像に変換して印刷する機能を有している。このベクタ画像は、主として描画命令により画像を表現している。また、ベクタ画像をビットマップ画像に変換するに際して、描画命令が円弧や円など曲線を描画する命令であるときには、その曲線を複数の線分で置き換え、即ち、線幅を考慮すれば複数の矩形で置き換える機能を有している。また、前回の描画命令の終点と今回の描画命令の始点とが連結点で一致する場合のその連結点の部分をマイター接続する機能を有している。ここで、矩形の中心を通り線幅方向と直角の方向を成し2つの端点が矩形の辺上にある線分を中心線とすると、マイター接続は、2つの矩形を角度をもって中心線同士を連結するときに、各中心線の方向と平行な方向のそれら2つの矩形の外側の辺をそれぞれ交わるまで延長して囲まれた部分を塗り潰したような連結点の部分の形状とする接続処理である。なお、曲線を矩形で置き換えたときの各矩形の交わる部分についてもマイター接続するものとする。
ここで、受信バッファに一時的に記憶されるベクタ画像ファイルについて説明する。図2は、ベクタ画像ファイル40に含まれる複数の描画命令の一例を示す説明図である。図示しているのは、各描画に共通する描画補助情報41とベクタ画像ファイル40に含まれる複数の描画命令のうち1つの連なった線を描く描画命令群42の一例である。この他にも、領域を塗り潰す描画命令や、他の線を描く描画命令などがあるが、ここでは、図示した描画命令群についてのみ説明する。この描画命令群には、各描画に共通する描画補助情報41として、線幅や線色などの情報があり、ここでは、「線幅」として5ポイント、「線色」として黒色が指定されている。描画命令群42の各描画命令は、描画の順を示すインデックス(図では「描画1」、「描画2」、「描画3」、「描画n」など)や、描画の種類を表す「描画タイプ」、描画位置等を表す「座標情報」、円弧や円の「半径」、円弧を右回りに描くか左回りに描くかのパラメータなどを含んでいる。「描画タイプ」は、円弧を描画する「Arc」や、線分を描画する「Line」、円を描画する「Circle」などがある。また、「座標情報」は、描画タイプに応じた座標情報が含まれている。「描画タイプ」が「Arc」の場合は、描画する円弧の中心点の座標(Xc,Yc)や、描画の始点の座標(Xs,Ys)、描画の終点の座標(Xe,Ye)などが含まれる。また、「描画タイプ」が「Line」の場合は、描画する線分の始点の座標(Xs,Ys)や、終点の座標(Xe,Ye)等が含まれる。更に、「描画タイプ」が「Circle」の場合は、描画する円の始点の座標(Xs,Ys)や、中心点の座標(Xc,Yc)が含まれる。ここでは、描画1は、「描画タイプ」が「Arc」であって、始点が点SP1(x1,y1)、終点が点EP1(x2,x2)、中心点が点CP1(x3,y3)、半径r1で右回りに描画する描画命令である。また、描画2は、「描画タイプ」が「Arc」であって、始点が描画1の終点EP1と同じ点SP2(x2,y2)、終点が点EP2(x4,x4)、中心点が点CP2(x5,y5)、半径r2で右回りに描画する描画命令である。描画3は、「描画タイプ」が「Line」であって、始点が描画2の終点EP2と同じ点SP3(x4,y4)から終点の点EP3(x6,x6)へと描画する描画命令である。描画nは、「描画タイプ」が「Line」であって、始点の点SPn(xp,yp)から終点の点EPn(xq,xq)へと描画する描画命令である。このように前回の描画命令の終点の座標(Xe,Ye)と今回の描画命令の始点の座標(Xs,Ys)が等しいことによりこの描画命令群は1つの連なった線を描く描画命令群となっている。なお、このようなベクタ画像ファイルとしては、例えば、XPS(XML Paper Specification)ファイル等がある。
次に、こうして構成された本実施形態のプリンタ20の動作、特に、ベクタ画像である画像ファイルに基づいて印刷を実行するときの動作について説明する。図3は、コントローラ21のCPU22により実行される印刷処理ルーチンの一例を示すフローチャートである。このルーチンはフラッシュROM23に記憶されている。また、このルーチンはCPU22により所定時間毎(例えば数ms毎)に繰り返し実行される。このルーチンが実行されるとCPU22はまず、RAM23の図示しない受信バッファにファイルが記憶されているか否かを判定する(ステップS100)。何もファイルが記憶されていないときには本ルーチンを終了する。ファイルが記憶されているときには、その記憶されているファイルがベクタ画像のファイルか否かを判定する(ステップS110)。ベクタ画像のファイルか否かは、例えば、ベクタ画像ファイルとしてXPSファイルを扱うものとすれば、そのファイルの拡張子が「xps」であるか否かによって判定するものとした。ベクタ画像のファイルでないときには、その画像ファイルの印刷処理を実行し(ステップS130)、本ルーチンを終了する。ここで、印刷処理は、例えばPCの印刷ドライバによって変換されたその画像ファイルが圧縮されている場合であれば解凍し、ビットマップデータへと変換し、そのビットマップデータから印刷機構26の図示しない印刷ヘッドを駆動する信号へと変換したあと、その信号を用いて印刷機構26を駆動してインクを記録紙Sへと吐出させる処理である。一方、ステップS120でベクタ画像ファイルであると判定したときには、画像変換処理を実行してビットマップデータへと変換し(ステップS140)、ステップS130で変換後のビットマップデータに基づいて印刷処理を実行して本ルーチンを終了する。
ここで、画像変換処理について説明する。図4は、画像変換処理のうちの線を変換する画像変換処理を実行する画像変換処理ルーチンの一例を表すフローチャートである。このルーチンはフラッシュROM23に記憶されている。このルーチンが実行されると、CPU22はまず、ベクタ画像ファイルの描画命令を1つ解釈する(ステップS200)。つまり、既述したような、描画命令に含まれている「描画タイプ」や「座標情報」をベクタ画像ファイルから読み出す。次に円弧を描く命令か否かを判定する(ステップS210)。描画命令が円弧を描く命令か否かは、「描画タイプ」が「Arc」であるか否かによって判定するものとする。円弧を描く命令でないときには、円弧以以外の曲線であればその曲線を複数の線分で置き換える(ステップS220)。実際には、線を描く描画命令には線幅が設定されているために矩形で置き換える。ここでは、幅がLWで長さがLLの複数の矩形で置き換えるものとし、この幅LWは線を描く描画命令に含まれる情報である「線幅」と同じ値とする。例えば、図2に示した描画命令群の場合は、5ポイントに設定する。また、長さLLは処理速度の許容できる範囲で経験的に求めた値に設定するものとする。そして、前回解釈した描画命令による描画(以下、前回の描画という)の終点と今回解釈した描画命令による描画(以下、今回の描画という)の始点とが連結点で一致するか否かを判定する(ステップS230)。前回の描画の終点と今回の描画の始点とが連結点で一致しないときには、印刷用のビットマップ画像の描画を実行する(ステップS250)。即ち、描画命令に含まれる「描画タイプ」や「座標情報」などにしたがって、その描画命令で描かれる描画をビットマップ画像の描画へと変換する。そして、今回解釈した描画命令をRAM24に記憶し(ステップS260)、次の描画命令があるか否かを判定する(ステップS270)。次の描画命令があるときには、ステップS200以降の処理を実行する。一方、ステップS230で前回の描画の終点と今回の描画の始点とが連結点で一致すると判定したときには、前回の描画と今回の描画との連結点について既述したようなマイター接続処理を実行し(ステップS240)、ステップS250以降の処理を実行してビットマップ画像の描画へと変換する。このように、つながった線を一筆書きで描画するような複数の描画命令のうちの今回解釈した描画命令が円弧でない場合、その描画命令と前回の描画命令間ではその複数の描画の連結点をマイター接続処理するのである。なお、今回の描画が描画命令群の最初の描画命令の場合には、前回の描画がないのでマイター接続処理を実行しないものとする。
一方、ステップS210で円弧を描く命令であると判定したときには、CPU22は、RAM24に記憶されている前回解釈した描画命令を参照して前回解釈した描画命令が円弧を描く描画命令であるか否かを判定し(ステップS280)、前回解釈した描画命令が円弧を描く描画命令でないときには、ステップS220以降の処理を実行する。また、前回解釈した描画命令が円弧を描く描画命令であるときには、前回の描画と今回の描画とが所定の位置関係にあるか否かを、RAM24に記憶されている前回の描画の円弧の情報と今回の描画の円弧の情報とから判定する(ステップS290)。ここで、所定の位置関係とは、前回の描画の終点と今回の描画の始点とが一致し、その点を接続点とすると前回の描画の円弧の中心点と今回の描画の円弧の中心点とを結んだ直線上にその接続点が存在するような位置関係である。前回の描画と今回の描画とが所定の位置関係にない時には、ステップS220以降の処理を実行する。一方、前回の描画と今回の描画とが所定の位置関係にあるときには、曲線を複数の線分(幅LW、長さLLの矩形)で置き換え(ステップS300)、接続点形状を付加して(ステップS310)、ステップS250以降の処理を実行してビットマップ画像の描画へと変換する。なお、2つの円弧の接続点以外の、円弧を置き換えた矩形の連結点については、既述したようなマイター接続処理を行う。そして、ステップS270で次の描画命令がないと判定したときには本ルーチンを終了する。
ここで、ステップS310で付加する接続点形状は、既述したようにフラッシュROM23に記憶されている。この接続点形状について図5を用いて説明する。図5は、図2に例示した描画命令群のうちの2つの描画命令(描画1,描画2)からビットマップ画像の描画へと変換するときの接続点形状を付加する様子の説明図である。図5(a)に示すように、これら2つの円弧は、所定の位置関係にあるものとする。つまり、前回の描画(描画1)は、中心点がCP1、始点がSP1、終点がEP1、半径がr1及び右回りに描画する円弧であり、今回の描画(描画2)は、中心点がCP2、始点がSP2、終点がEP2、半径がr2及び右回りに描画する円弧であり、描画1の終点EP1と描画2の始点SP2とが一致し、2つの中心点CP1,CP2を結ぶ直線上に描画1の終点EP1と描画2の始点SP2とが存在している。これを複数の矩形で置き換えると図5(b)に示すように、例えば線幅が幅LWで長さがLLの、それぞれ6個の矩形による描画となる。ここで、本来は、この接続点(終点EP1,始点SP2)での両円弧の接線はそれぞれ平行(同一)であるはずであり、その円弧を置き換えた矩形のその接続点から先端側の形状は直角の矩形状となるべきである。ところが、円弧と円弧とが連続する上述の条件が成立する場合には、図示したように、接続点を含む矩形はそれぞれ角度を持って交わることになり、既述したマイター接続を、これら2つの円弧の接続点について適用すると、マイター接続した形状の先端までの長さが事前に設定されたマイターリミット長LMを超えない場合には先が尖った様な形状となる(図5(c)参照)。よって、本実施形態では、このような場合には、マイター接続を行わずに、本来なるべき形状である矩形の接続点形状を付加するのである(図5(d)参照)。この付加する矩形は、図示するように、円弧の線幅即ち矩形の幅LWと同じ幅で且つマイターリミット長LM以内の長さの矩形である。
このように、変換対象のベクタ画像ファイルに含まれる描画命令のうち前記解釈した描画命令と今回解釈した描画命令とが共に円弧を描画する命令であり且つ2つの円弧が所定の位置関係にあるときには、その2つの円弧の接続点をマイター接続処理するかわりに本来なるべき形状である矩形の接続点形状を付加するのである。
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の図4の画像変換処理ルーチンのステップS200の処理が本発明のステップ(a)に相当し、ステップS210、S280、S290の処理がステップ(b)に相当し、ステップS310の処理がステップ(c)に相当する。また、ステップS230及びステップS240がステップ(d)に相当し、ステップS250がステップ(e)に相当し、プリンタ20が画像処理装置に相当し、コントローラ21が命令解釈手段、判定手段及び形状付加手段に相当し、RAM24が命令記憶手段に相当し、フラッシュROM23が形状記憶手段に相当する。
以上詳述した本実施形態のプリンタ20によれば、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあるときには、接続点から円弧を延長するような延長方向にマイターリミット長LM以内で先端側がこの延長方向に直交する辺を有する形状である矩形の接続点形状を付加する。ここで、円弧と円弧とが接続する接続点を有するベクタ画像ファイルを複数の矩形(線分)で置き換えてビットマップ画像に変換する際に、その接続点において、本来は前の円弧とあとの円弧との接線が一致する、即ち接続点から先端側の線分の形状が直角の矩形状になるはずであるが、置き換える矩形のサイズや接続点の位置によっては、接続点で接線方向に対して傾きが生じた線分になることがあり、このような場合、マイター接続を行うと図5(c)に示したように意図しない形状になることがある。ここでは、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあるときには、接続点から延長方向に接続点形状としての矩形を付加するから、意図しない形状になるのを防止可能である。したがって、ベクタ画像からビットマップ画像へと変換するに際してより意図する画像を生成することができる。また、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあるか否かを判定すればよいため、置き換える矩形をより細かくして円弧を描画するものや、描画命令を解釈し置き換える矩形の方向を計算して円弧の接線を求めこの接線に基づいて接続点形状としての矩形を付加するか否かを判定するものなどに比して、より容易に意図するビットマップ画像を生成することができる。
また、接続点の先端を本来なるべき矩形状とするため、一層意図する画像を生成することができる。更に、前回解釈した描画命令の終点と今回解釈した描画命令の始点とが連結点で一致し、且つ、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とのいずれか一方が円弧を描画する描画命令でないか又は前回の描画と今回の描画とが所定の位置関係にないときには、その連結点においてマイター接続処理を実行し、前回解釈した描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあるときには、マイター接続を行う代わりに矩形の接続点形状を付加するから、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあり、マイター接続を行うと先端が尖った形状となるような場合に、先端が尖らない意図する画像を生成することができる。そして更に、印刷用のベクタ画像の描画命令を解釈し、前回解釈した変換対象のベクタ画像ファイルに含まれる描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ所定の位置関係にあるときには、接続点形状の矩形を接続点に付加して印刷用のビットマップ画像を描画するから、印刷に際しては一度ビットマップ画像にする必要がある場合が多いため本発明を適用する意義が高い。そして更にまた、前回解釈した描画命令と今回解釈した描画命令とが共に円弧を描画する描画命令であるか否かを判定し、その後、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令である場合には、前回の描画と今回の描画とが所定の位置関係にあるか否かを判定する一方、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令でない場合には、前回の描画と今回の描画とが所定の位置関係にあるか否かを判定しないから、必要のない判定処理を行わずに済むため、処理効率を良くすることができる。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
例えば、上述した実施形態では、図5(d)に示したような幅LWの矩形を接続点形状としたが、接続点から円弧を延長するような延長方向にマイターリミット長LM以内で且つ先端側がその延長方向に略直交する辺を有する多角形であれば幅LWの矩形に限られない。例えば、幅LW以外の幅の矩形を接続点形状としてもよい。あるいは、図6に示すような台形を接続点形状としてもよい。図示するようにこの台形は円弧の延長方向に対して先端側の辺がより短くマイターリミット長LMよりも短い形状である。これらの場合でも、先端が尖らない意図する画像を生成することができる。
上述した実施形態では、接続点形状としての矩形は、その円弧を延長する方向の長さがマイターリミット長LM以内であるものとしたが、違和感を感じない範囲の長さであれば、マイターリミット長LMを超えてもよい。
上述した実施形態では、図4の画像変換処理ルーチンのステップS280で前回解釈した描画命令が円弧を描く描画命令ではないと判定したときには、前回の描画と今回の描画とが所定の位置関係にあるか否かを判定するステップS290の処理を実行しないものとしたが、前回解釈した描画命令が円弧を描く描画命令ではないときでもステップS290と同様の処理を実行するものとしてもよい。例えば、ステップS280の処理の直前に、前回解釈した描画命令が円弧を描く描画命令であり且つ前回の描画と今回の描画とが所定の位置関係にあるという接続点形状付加条件が成立しているか否かを判定し、接続点形状付加条件が成立しているときにはステップS300以降の処理を実行し、接続点形状付加条件が成立していないときにはステップS220以降の処理を実行するものとしてもよい。
上述した実施形態では、図4に示した画像変換処理ルーチンを実行しベクタ画像をビットマップ画像の描画へと変換するプリンタ20として説明したが、前回の描画及び今回の描画の描画命令から接続点形状を付加するか否かを判定するものであれば、ベクタ画像からビットマップ画像の描画へと変換するものに限られない。例えば、ベクタ画像からビットマップ画像へと変換する画像処理プログラムにあとから組み込む、前回の描画及び今回の描画の描画命令から接続点形状を付加するか否かを判定するモジュールとしてもよい。
上述した実施形態では、画像処理装置をプリンタ20に適用した例を示したが、ベクタ画像をビットマップ画像に変換するものであれば、プリンタ20以外のものに適用してもよい。例えば、電極材や色材などの材料を溶解した液体や同材料を分散した液状体(分散液)を吐出する印刷装置に適用してもよい。あるいは、画像処理を行うコンピュータや、FAX、スキャナ、複合機、フォトストレージビューワなどに適用してもよい。
プリンタ20の概略構成を示す構成図。 ベクタ画像ファイル40に含まれる描画命令の一部の説明図。 印刷処理ルーチンの一例を示すフローチャート。 画像変換処理ルーチンの一例を示すフローチャート。 円弧の描画命令が連続し接続点形状を付加する様子を説明する説明図。 他の接続点形状の説明図。
符号の説明
12 メモリカード、20 プリンタ、21 コントローラ、22 CPU、23 フラッシュROM、24 RAM、25 カードリーダライタ、25 カードスロット、26 印刷機構、28 インタフェース(I/F)、29 バス、30 操作パネル、32 表示部、34 操作部、40 ベクタ画像ファイル、41 描画補助情報、42 描画命令群。

Claims (8)

  1. 曲線を線分で置き換えてベクタ画像をビットマップ画像へ変換するコンピュータソフトウェアによる画像処理方法であって、
    (a)変換対象のベクタ画像の描画命令を解釈するステップと、
    (b)前記ステップ(a)で前回解釈した描画命令と前記ステップ(a)で今回解釈した描画命令とが共に円弧を描画する描画命令であり且つ該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するという接続点形状付加条件が成立したか否かを判定するステップと、
    (c)前記ステップ(b)で前記接続点形状付加条件が成立したと判定したときには、前記接続点から前記円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側が該延長方向に略直交する辺を有する多角形である接続点形状を前記接続点に付加するステップと、
    を含む画像処理方法。
  2. 前記ステップ(c)では、前記接続点における2つの円弧の線幅と同じ幅の矩形を前記接続点形状として付加する、請求項1に記載の画像処理方法。
  3. 請求項1又は2に記載の画像処理方法であって、
    (d)前記ステップ(a)で前回解釈した描画命令の終点と前記ステップ(a)で今回解釈した描画命令の始点とが連結点で一致し、かつ、前記ステップ(b)において前記接続点形状付加条件が成立しなかった場合、該連結点においてマイター接続処理を実行するステップを含む、画像処理方法。
  4. 請求項1〜3のいずれか1項に記載の画像処理方法であって、
    (e)前記ステップ(a)で解釈した描画命令の内容に基づいてビットマップ画像を描画するステップ、を含む、画像処理方法。
  5. 前記ステップ(a)では、印刷用のベクタ画像の描画命令を解釈し、
    前記ステップ(e)では、前記接続点形状付加条件が成立したときには、前記接続点形状を前記接続点に付加して印刷用のビットマップ画像を描画する、請求項4に記載の画像処理方法。
  6. 前記ステップ(b)では、前記ステップ(a)で前回解釈した描画命令と前記ステップ(a)で今回解釈した描画命令とが共に円弧を描画する描画命令であるか否かを判定し、その後、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令である場合には、該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するか否かを判定する一方、前回解釈した描画命令及び今回解釈した描画命令が共に円弧を描画する描画命令でない場合には、該前回解釈した描画命令の終点と該今回解釈した描画命令の始点とが接続点で一致すると共に該前回解釈した描画命令の中心点と該今回解釈した描画命令の中心点とを結ぶ直線上に該接続点が存在するか否かを判定しない、請求項1〜5のいずれか1項に記載の画像処理方法。
  7. 請求項1〜6のいずれか1項に記載の画像処理方法の各ステップを1又は複数のコンピュータに実行させるためのプログラム。
  8. 曲線を線分で置き換えてベクタ画像をビットマップ画像へ変換する画像処理装置であって、
    変換対象のベクタ画像の描画命令を解釈する命令解釈手段と、
    前記命令解釈手段によって前回解釈された描画命令と今回解釈された描画命令とが共に円弧を描画する描画命令であり且つ該前回解釈された描画命令の終点と該今回解釈された描画命令の始点とが接続点で一致すると共に該前回解釈された描画命令の中心点と該今回解釈された描画命令の中心点とを結ぶ直線上に該接続点が存在するという接続点形状付加条件が成立したか否かを判定する判定手段と、
    前記判定手段によって前記接続点形状付加条件が成立したと判定されたときには、前記接続点から前記円弧を延長するような延長方向に所定の接続長さ以内で且つ先端側が該延長方向に略直交する辺を有する多角形である接続点形状を前記接続点に付加する形状付加手段と、
    を備えた画像処理装置。
JP2007269120A 2007-10-16 2007-10-16 画像処理方法、そのプログラム及び画像処理装置 Expired - Fee Related JP4946776B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007269120A JP4946776B2 (ja) 2007-10-16 2007-10-16 画像処理方法、そのプログラム及び画像処理装置
US12/252,259 US20090096793A1 (en) 2007-10-16 2008-10-15 Image processing method, program thereof and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007269120A JP4946776B2 (ja) 2007-10-16 2007-10-16 画像処理方法、そのプログラム及び画像処理装置

Publications (2)

Publication Number Publication Date
JP2009098862A JP2009098862A (ja) 2009-05-07
JP4946776B2 true JP4946776B2 (ja) 2012-06-06

Family

ID=40533753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007269120A Expired - Fee Related JP4946776B2 (ja) 2007-10-16 2007-10-16 画像処理方法、そのプログラム及び画像処理装置

Country Status (2)

Country Link
US (1) US20090096793A1 (ja)
JP (1) JP4946776B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476103B2 (ja) 2009-11-27 2014-04-23 富士フイルム株式会社 ページ記述データ処理装置、方法及びプログラム
JP2012098935A (ja) * 2010-11-02 2012-05-24 Canon Inc 図形処理装置、図形処理方法、コンピュータプログラム
US9350798B2 (en) * 2013-12-10 2016-05-24 Oracle International Corporation Methods and systems for transitioning between arbitrary shapes
CN111369577B (zh) * 2020-03-03 2023-02-17 浙江大学城市学院 一种将位图转换为矢量图像的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4124851B2 (ja) * 1998-02-26 2008-07-23 キヤノン株式会社 情報処理装置及び情報処理方法並びに記憶媒体

Also Published As

Publication number Publication date
JP2009098862A (ja) 2009-05-07
US20090096793A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
JP3873427B2 (ja) プリンタ制御システムにおける中間ファイルの加工装置及びその制御プログラムが記録された記録媒体
US8861003B2 (en) Image forming apparatus that performs rectangle drawing processing
JP4946776B2 (ja) 画像処理方法、そのプログラム及び画像処理装置
JP4109827B2 (ja) 情報処理装置、方法及びコンピュータ読み取り可能な記憶媒体
US8331683B2 (en) Image processing apparatus and image processing method
JP4333313B2 (ja) 印刷システム、プリンタホストおよび印刷支援プログラム
US7646496B2 (en) Print system, printer host, print support program and print method
JP2019098580A (ja) 画像形成装置
JP2009269179A (ja) 印刷装置、プログラム及び記録媒体
JP2006347065A (ja) 印刷装置
JP4748022B2 (ja) 印刷システム、印刷制御装置、印刷システムの制御方法、ドライバプログラム、及びそのプログラムを記録した記録媒体
JP4962336B2 (ja) 画像処理方法、そのプログラム及び画像処理装置
JP5277771B2 (ja) 画像形成装置、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JPH09314915A (ja) 印刷制御装置と印刷装置の制御方法、印刷システム、並びに記憶媒体
JP3655219B2 (ja) 印刷処理装置
JP2006023605A (ja) 画像表示装置および画像表示方法
US8836985B2 (en) Process executing method, program thereof, and print instructing device
JP2000177197A (ja) プリンタシステム
JP2003173446A (ja) 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2013110491A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5070791B2 (ja) 印刷環境設定を制御するためのコンピュータ・プログラム、複数の印刷環境設定を管理するためのコンピュータ・プログラム、印刷制御装置、および、印刷システム
JP5094563B2 (ja) 画像処理装置及び画像処理方法
JP2009151010A (ja) 使用トナー削減モード付き画像形成装置
JP2004192319A (ja) 印刷制御システム
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100720

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120130

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees