(57)【要約】【課題】描き手の試行錯誤を邪魔することなく、必要なときだけアシストする画像処理装置、特に、直感的なユーザインタフェースにより、必要な部分だけ、線画像を簡単に滑らかにすることのできる画像処理装置を提供することを目的とする。【解決手段】  本発明による画像処理装置は、表示手段に表示された画像上の任意の領域を指定するための入力手段と、入力手段により指定された領域近傍に位置する線画像を滑らかにする平滑化処理を行う制御手段と、を備える。かかる発明によれば、滑らかにしたい線の上を、「いい子いい子」するかのようにマウスでドラッグして撫でるだけで、ドラッグされた近傍領域の線画像を平滑化することができる。【選択図】図６
2007323294.tif 000002
【特許請求の範囲】
【請求項１】
表示手段に表示された画像上の任意の領域を指定するための入力手段と、
前記入力手段により指定された領域近傍に位置する線を滑らかにする平滑化処理を行う制御手段と、
を備える画像処理装置。
【請求項２】
線が複数の制御点を通るスプラインとして表現されるベクタ画像データを格納する格納手段と、
前記格納手段に格納されたベクタ画像データに基づいて得られる画像を表示する表示手段と、
前記表示手段に表示されるカーソルを操作して、前記表示手段に表示されている画像上の任意の位置を指定可能な入力手段と、
装置全体の動作を制御する制御手段と、
を備え、
前記制御手段は、
前記表示手段に表示されている画像上で線を滑らかにしようとする部分が前記入力手段を介してドラッグされたときに、前記ドラッグされた軌跡を検知して、線を滑らかにする平滑化処理を行う対象となる一以上の制御点を抽出する平滑化対象制御点抽出手段と、
前記抽出手段により抽出された一以上の制御点に対して、平滑化処理を施す平滑化処理手段と、
を備える画像処理装置。
【請求項３】
装置全体の動作を制御する制御手段を備える画像処理装置において、線を滑らかにする処理を行う方法であって、
表示手段に表示されている画像上で、線を滑らかにしたい部分をユーザが入力手段によって指定したときに、前記制御手段が前記指定を受け付けるステップと、
前記制御手段が、前記入力手段により指定された領域近傍に位置する線を滑らかにする平滑化処理を行うステップと、
を備える画像処理方法。
【請求項４】
装置全体の動作を制御する制御手段を備える画像処理装置において、複数の制御点を通るスプラインとして表現される線を滑らかにする処理を行う方法であって、
表示手段に表示されている画像上で、線を滑らかにしたい部分をユーザが入力手段によってドラッグしたときに、制御手段が前記ドラッグを受け付けるステップと、
前記制御手段が、前記入力手段によりドラッグされた軌跡を検知して、線を滑らかにする平滑化処理を行う対象となる一以上の制御点を抽出するステップと、
前記抽出された一以上の制御点に対して、線を滑らかにする平滑化処理を行うステップと、
を備える画像処理方法。
【請求項５】
請求項３又は４に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、線画像を平滑化するための情報処理技術に関する。
【背景技術】
【０００２】
従来、コンピュータを使って絵を描くアプリケーションソフト（以下、「グラフィックソフト」という。）として種々のものが知られている。このようなグラフィックソフトの中には、描いた線をリアルタイムで自動的に滑らかにする機能が備わっているものも知られている（例えば、非特許文献１参照）。
【非特許文献１】「Flash Professional 8」、［online］、［平成１８年５月３０日検索］、インターネット＜ＵＲＬ：http://www.adobe.com/jp/products/flash/flashpro/＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、従来のグラフィックソフトで線の微妙なカーブを描きたいとき、上述の機能は描いた線を勝手に滑らかにしてしまう。これは、特にグラフィックアーティストのような「自分の線」を大切にしたい描き手にとって不都合である。しかしながら、この機能を使わないで、人間がマウスやスタイラスペン等で描画した線は、どうしても歪みや震えが生じてがたついてしまうので、描いた後に修正したい場合もある。
【０００４】
本発明は、かかる事情に鑑みてなされたものであり、描き手の試行錯誤を邪魔することなく、必要なときだけアシストする画像処理装置および方法、特に、直感的なユーザインタフェースにより、必要な部分だけ、線画像を簡単に滑らかにすることのできる画像処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明による画像処理装置は、表示手段に表示された画像上の任意の領域を指定するための入力手段と、入力手段により指定された領域近傍に位置する線画像を滑らかにする平滑化処理を行う制御手段と、を備える。かかる発明によれば、滑らかにしたい線の上を、あたかも「いい子いい子」するように、マウスでドラッグして撫でるだけで、ドラッグされた近傍領域の線画像を平滑化することができるようになる。
【０００６】
さらに、本発明による画像処理装置は、線が複数の制御点を通るスプラインとして表現されるベクタ画像データを格納する格納手段と、格納手段に格納されたベクタ画像データに基づいて得られる画像を表示する表示手段と、表示手段に表示されるカーソルを操作して、表示手段に表示されている画像上の任意の位置を指定可能な入力手段と、装置全体の動作を制御する制御手段と、を備えている。そして、制御手段は、表示手段に表示されている画像上で線を滑らかにしようとする部分が入力手段を介してドラッグされたときに、ドラッグされた領域を検知して、線を滑らかにする平滑化処理を行う対象となる一以上の制御点を抽出する抽出手段と、抽出手段により抽出された一以上の制御点に対して、平滑化処理を施す平滑化処理手段と、を備える。
【０００７】
また、本発明による画像処理方法は、装置全体の動作を制御する制御手段を備える画像処理装置において、制御手段が線画像を滑らかにする処理を行う方法である。そして、表示手段に表示されている画像上で、線を滑らかにしたい部分をユーザが入力手段によって指定したときに、この指定を受け付けるステップと、入力手段により指定された領域近傍に位置する線を滑らかにする平滑化処理を行うステップと、
を備えている。
【０００８】
さらに、本発明による画像処理方法は、装置全体の動作を制御する制御手段を備える画像処理装置において、複数の制御点を通るスプラインとして表現される線を滑らかにする処理を行う方法である。そして、表示手段に表示されている画像上で、線を滑らかにしたい部分をユーザが入力手段によってドラッグしたときに、制御手段がドラッグを受け付けるステップと、制御手段が、入力手段によりドラッグされた軌跡を検知して、線を滑らかにする平滑化処理を行う対象となる一以上の制御点を抽出するステップと、抽出された一以上の制御点に対して、線画像を滑らかにする平滑化処理を行うステップと、を備える。
【０００９】
本発明のプログラムは、本発明の画像処理方法の各処理ステップをコンピュータに実行させることを特徴とし、これを記録したＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの本発明の各種記録媒体を通じて読み取らせることにより、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【００１０】
なお、本明細書等において、「手段」とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【発明の効果】
【００１１】
本発明の画像処理装置等によれば、描き手の試行錯誤を邪魔することなく、必要なときだけアシストする画像処理装置を提供できる。特に、表示画面上で線の上を、あたかも「いい子いい子」するように撫でるだけで、必要な部分だけ、線を簡単に滑らかにすることのできる画像処理装置を提供できるようになる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１３】
本発明は、マウス等を動かしたそのままの軌跡で描かれた「線」を、スムーズにするためのものである。本発明における「線」は、ベクタ（vector）データであり、複数の制御点を通るスプラインとして表現される。また、本発明における「画像」は、ベクタ画像であり、制御点の位置（座標）とそれを結ぶ線や面の方程式のパラメータ等の集合として画像が表現される。
【００１４】
図１は、本発明の実施の形態に係る画像処理装置の内部構成を概略的に示すブロック図である。
【００１５】
図１において、画像処理装置１００は、ユーザの指示を受付け画像処理装置１００の各部を制御するＣＰＵ（制御手段）１０と、画像を表示するために必要な画像データを格納すると共に画像処理を実行する際の作業領域を有するメモリ（格納手段）１２と、画像中の位置（座標）を指定（ポイント）するためのマウス（入力手段）２０からの入力を受け付ける入力コントローラ１４と、画像をディスプレイ（出力手段）２２に表示出力するための出力コントローラ１６とを備え、これらがバス１８を介して接続され、相互に情報を送受可能になっている。
【００１６】
ここで、マウス２０は、ディスプレイ２２に表示されるマウスカーソルを操作して、ディスプレイ２２に表示されている画像上の任意の領域をドラッグ等により指定することができるようになっている。また、ディスプレイ２２は、メモリ１２に格納されている画像データに基づいて得られるラスタ画像を表示する。
【００１７】
なお、専用又は汎用のコンピュータを、この画像処理装置１００に適用することができる。このとき、画像処理装置１００は、ＣＰＵ１０が、図示しないＲＯＭ又は外部記憶装置などに記憶された所定の画像処理プログラムを実行することにより、各種機能実現手段としてＣＰＵ１０を機能させ、本実施形態に係る画像処理装置１００を構成する。また、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。
【００１８】
図２は、本実施形態に係る画像処理装置１００の備えるＣＰＵ１０により実現される機能構成の概略を示すブロック図である。同図に示すとおり、本実施形態に係るＣＰＵ１０は、所定の画像処理プログラムを実行することにより、平滑化対象制御点抽出手段３０と、平滑化処理手段３２と、を実現している。
【００１９】
平滑化対象制御点抽出手段３０は、マウス２０でドラッグされた軌跡を検知して、平滑化処理を行う部分を特定する機能を有している。具体的には、ユーザは、マウス２０を介してディスプレイ２２に表示されるカーソルを操作する。そして、ディスプレイ２２に表示される画像に対して、マウスカーソルで撫でるようにドラッグして、線をスムーズにしたい部分を指定する。ここで、まず、マウス２０のドラッグが始まるときに、平滑化対象制御点抽出手段３０は、最も近い制御点を検出してターゲットとする。そして、マウス２０がドラッグされている間、所定時間毎に、マウスカーソルに最も近い制御点を監視し、一時点前のマウスカーソルに最も近い制御点（図３ではＶ1）と現時点でのマウスカーソルに最も近い制御点（図３ではＶ6）を検出し、ドラッグされた軌跡の近傍に位置する線上で、検出された２点間に位置する一以上の制御点を抽出する。この抽出された一以上の制御点に対して、平滑化処理手段３２による平滑化処理が実施される。
【００２０】
平滑化処理手段３２は、平滑化対象制御点抽出手段３０で抽出された一以上の制御点により特定される線に対して平滑化処理を実施し、線を滑らかにする（線のがたつきや凸凹をならしてスムーズにする）機能を有している。この平滑化処理は、制御点の間隔調整及び曲率の調整という２つの要素を含むものであるが、詳細は後述する。
【００２１】
図３は、平滑化対象制御点抽出手段３０により実現される処理の概略を示すイメージ図である。図３に示すように、ある時点で制御点Ｖ1の近傍にあったカーソルが、次の時点で制御点Ｖ6の近傍へ移動した場合、制御点Ｖ1とＶ6の間にある制御点Ｖ2，Ｖ3，Ｖ4，Ｖ5に対して、平滑化処理が行われる。
【００２２】
図４及び図５は、平滑化処理手段３２により実現される処理の概略を示すイメージ図である。図４は、制御点の間隔調整処理の概略を示す図であり、図５は、曲率調整処理の概略を示す図である。ここでは、制御点Ｖiに対して、平滑化処理を実行する場合について説明する。なお、制御点Ｖi-1及びＶi+1は、ベクタデータによって表現される線上で、制御点Ｖiの前後に位置する制御点である。また、線分Ｖi-1Ｖiの長さをｌi-、線分ＶiＶi+1の長さをｌi+と表す。さらに、線分Ｖi-1Ｖiと線分ＶiＶi+1により形成される角度（角Ｖi-1ＶiＶi+1）をθiと表す。
【００２３】
まず、制御点の間隔調整処理（図４）について説明する。今、制御点Ｖiを平滑化しようとする場合、Ｖiを上下左右に微小距離動かして、ｌi-とｌi+が等しくなるように調整する（数式１）。
（数式１）ｌi-＝ｌi+
この数式１により示される条件を満たす点は、すなわち、Ｖi-1とＶi+1の垂直二等分線になる。したがって、平滑化処理後は、Ｖi-1とＶi+1の垂直二等分線上に新たな制御点Ｖiが位置することになる。
【００２４】
平滑化処理では、この間隔調整処理に加えて、曲率の調整処理（図５）が実行される。この曲率調整処理は、制御点Ｖiの位置に形成される角度θiが、その前後の制御点Ｖi-1とＶi+1の位置に形成される角度θi-1とθi+1の平均値に等しくなるように、Ｖiの位置を調整する（数式２）
（数式２）θi＝（θi-1＋θi+1）／２
この数式２により示される条件を満たすように、制御点Ｖiを上述の二等分線上を上下に動かすことによって、新たな制御点Ｖiの位置を決定する。数式２を満たす制御点Ｖiの探索は、例えば二分法により実現できる。すなわち、θiがθi-1とθi+1の平均値より大きければθiが小さくなる方向（図５では上方向）にＶiを動かし、θiがθi-1とθi+1の平均値より小さければθiが大きくなる方向（図５では下方向）にＶiを動かす。そして、探索範囲を徐々に狭めながらこの処理を繰り返していき、新たな制御点Ｖiの位置を決定する。
【００２５】
なお、平滑化処理手段３２による平滑化処理は、平滑化対象制御点抽出手段３０により抽出された全ての制御点について順に実行される。図３の例では、ある時点で制御点Ｖ1の近傍にあったカーソルが、次の時点で制御点Ｖ6の近傍へ移動した場合、制御点Ｖ1とＶ6の間にある制御点Ｖ2，Ｖ3，Ｖ4，Ｖ5に対して、平滑化処理が行われるが、このとき、ドラッグの開始点に近い制御点Ｖ2から順に平滑化処理が実行される。したがって、まず、Ｖ1，Ｖ2，Ｖ3の３点に基づいて平滑化処理を実行し、制御点Ｖ2の新たな位置が決定される。次に、この新たに決定された位置にある制御点Ｖ2と、Ｖ3，Ｖ4の３点に基づいて、平滑化処理を実行し、制御点Ｖ3の新たな位置が決定される。同様に、新たなＶ4の位置及び新たなＶ5の位置を順次決定していく。
【００２６】
また、１回の平滑化処理では足りず、複数回にわたって平滑化処理を繰り返す場合は、上述と同様の処理を繰り返す。例えば、図３において、Ｖ6の近傍に移動したカーソルの移動方向を反転させ、再度Ｖ1近傍に移動させた場合、平滑化対象制御点抽出手段３０が制御点Ｖ6とＶ1の間にある制御点Ｖ5，Ｖ4，Ｖ3，Ｖ2を抽出し、この制御点Ｖ5からＶ4，Ｖ3，Ｖ2の順番で平滑化処理を実行する。
【００２７】
こうして、ユーザは、スムーズにしたい線の上を、あたかも「いい子いい子」するかのようにマウスでドラッグしてなぞるだけで、ドラッグされた軌跡の近傍に位置する線を、少しずつ平滑化することができるようになる。
【００２８】
図６は、本実施形態における平滑化処理の行ったときのイメージ図である。このように、滑らかにしたい線の近傍をユーザがマウスカーソルでドラッグすると、ドラッグされた軌跡の近傍領域にある線がスムーズになっていく。
【００２９】
図７は、線画像がループになっているが閉じていない場合に、本実施形態における平滑化処理を行ったときのイメージ図である。このように、ループの端点２つをまたぐようにカーソルをドラッグさせた場合には、ループを閉じる処理を実行する。
【００３０】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上記実施形態における各処理ステップは、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００３１】
また、上述の実施形態においては、入力手段としてマウスを用いる例を示したが、入力手段はマウスに限定されず、スタイラスペン、タブレットペン等のポインティング・デバイスを利用してもよい。また、タッチパネルを用いて指で領域を指定してもよい。要は、表示された画像上の線をなぞる動きによって、線をスムーズにしたい部分を指定できるものであればよい。出力手段もディスプレイに限定されず、プロジェクタ等を利用してもよい。
【００３２】
さらに、本発明における平滑化処理は、上述の実施形態に示した制御点の間隔調整及び曲率調整という２つの要素を含むものであることが望ましいが、これに限定されるものではなく、他の平滑化アルゴリズムを採用してもよい。なお、本実施形態において説明した平滑化アルゴリズムを採用する場合、隣り合う制御点同士の間隔が所定の閾値よりも大きい場合には、制御点の数を増やしてから平滑化処理を行うようにすると、より多段階の平滑化処理を実現できる。
【図面の簡単な説明】
【００３３】
【図１】本画像処理装置の内部構成を概略的に示すブロック図である。
【図２】機能構成の概略を示すブロック図である。
【図３】平滑化対象制御点抽出処理の概略を示すイメージ図である。
【図４】制御点の間隔調整処理の概略を示す図である。
【図５】曲率調整処理の概略を示す図である。
【図６】本実施形態における平滑化処理の行ったときのイメージ図である。
【図７】ループに対して平滑化処理の行ったときのイメージ図である。
【符号の説明】
【００３４】
１０  ＣＰＵ（制御手段）
１２  メモリ（格納手段）
１４  入力コントローラ
１６  出力コントローラ
１８  バス
２０  マウス（入力手段）
２２  ディスプレイ（出力手段）
３０  平滑化対象制御点抽出手段
３２  平滑化処理手段
１００  画像処理装置
【図１】
2007323294.tif 000003
【図２】
2007323294.tif 000004
【図３】
2007323294.tif 000005
【図４】
2007323294.tif 000006
【図５】
2007323294.tif 000007
【図６】
2007323294.tif 000008
【図７】
2007323294.tif 000009