(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240910BHJP
G06T 1/00 20060101ALI20240910BHJP
【FI】
G06T7/00 U
G06T1/00 500A
(21)【出願番号】P 2020038262
(22)【出願日】2020-03-05
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】池田 和敏
【審査官】稲垣 良一
(56)【参考文献】
【文献】国際公開第2020/174862(WO,A1)
【文献】特開平9-37058(JP,A)
【文献】小泉力一,ホイールボタンによるスクロール量を調整する,日経XTECH [online],2006年08月29日,[検索日:2024年03月15日], <URL: https://xtech.nikkei.com/it/pc/article/NPC/20060424/236053/#:~:text=「マウス」を選んで「,1画面ずつスクロールする。>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを含み、
前記プロセッサは、
原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、
複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、
オペレータによる画像表示装置の表示画面に表示された1つのスクロールバーの操作に従って、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行う、
情報処理装置。
【請求項2】
プロセッサを含み、
前記プロセッサは、
原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、
複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、
オペレータによる開始指示を受け付けた場合に、自動で、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行い、
前記切り抜く領域の前記輪郭線の傾きの変化に基づいて、前記画像表示部の中心領域に現す、前記輪郭線座標に対応する画素を順次変化させる速度を変えるように、前記表示の制御を行う、
情報処理装置。
【請求項3】
請求項1
または2に記載の情報処理装置であって、
前記画像表示部に表示される画像は、前記原画像の一部を画素単位で表した画像、または、前記原画像の一部を拡大した画像を含む、
情報処理装置。
【請求項4】
原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、
複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、
オペレータによる画像表示装置の表示画面に表示された1つのスクロールバーの操作に従って、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行う、
ようにコンピュータを機能させるプログラム。
【請求項5】
原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、
複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、
オペレータによる開始指示を受け付けた場合に、自動で、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行い、
前記切り抜く領域の前記輪郭線の傾きの変化に基づいて、前記画像表示部の中心領域に現す、前記輪郭線座標に対応する画素を順次変化させる速度を変えるように、前記表示の制御を行う、
ようにコンピュータを機能させるプログラム。
【請求項6】
請求項
4または5に記載のプログラムであって、
前記画像表示部に表示される画像は、前記原画像の一部を画素単位で表した画像、または、前記原画像の一部を拡大した画像を含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
原画像の所望の対象領域を抽出し、対象領域を別の画像に挿入したり、原画像の対象領域と対象領域以外の領域に対して異なる画像処理を施すことが行われている。例えば、商品が写った原画像から商品画像部(対象領域)を抽出し、商品画像部と商品画像部の周囲にある背景部(対象領域以外の領域)に異なる色調整を施したり、背景部を別の画像に差し替えること等が行われている。
【0003】
原画像から対象領域を抽出する際には、対象領域と同じ位置、同じ形状となるように規定された切り抜き領域を含んだマスク画像が使用される。マスク画像は、切り抜き領域と切り抜き領域以外の領域を含み、例えば、それらが異なる色で塗り潰された画像、または原画像に切り抜き領域の輪郭線が付加された画像などである。
【0004】
特許文献1には、原画像の所望の被処理領域を抽出または消去するための切り抜きマスクデータの作成方法に関し、画像表示手段に縮小表示された原画像上で複数の小単位領域を設定し、複数の小単位領域内のそれぞれの画像部分である単位領域画像を縮小しない状態で表示し、その表示状態で各単位領域画像上で被処理領域の輪郭点を指定することにより切り抜きマスクデータを作成することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
原画像から所望の領域の画像を切り抜く機能を備えたプログラムには、切り抜きたい領域を表現した画像であるマスク画像を原画像に重畳し、マスク画像を修正して切り抜き領域を確定し、原画像のこの切り抜き領域に対し切り抜きや色補正などの各種処理を行うものがある。この切り抜き領域の輪郭線の位置が所望の位置からずれていると、原画像から対象領域を精度良く抽出することができないので、オペレータは切り抜き領域の輪郭が所望の位置にあるかを細かく確認する必要がある。
【0007】
一般的にマスク画像の切り抜き領域の画素数は画像表示装置の表示可能画素数より多いので、切り抜き領域全体を表示すると、切り抜き領域の詳細な部分の確認が難しい。また、オペレータは、切り抜き領域の輪郭の位置を細かく確認する際に、確認したい切り抜き領域の輪郭箇所を拡大して表示すると、表示画面に表示されていない別の輪郭箇所を確認する際には、例えばマウス等を介して表示画面に表示された縦、横のスクロールバーによる移動操作をする必要があり、多くの労力を要している。
【0008】
本発明の目的は、画像表示装置の表示画面で、画像表示装置の表示可能画素数より多い画素数の切り抜き領域の輪郭をオペレータが確認する際に、オペレータが縦、横方向への移動操作をする場合に比べて、より簡易に確認作業を行うことができる仕組みを提供することにある。
【課題を解決するための手段】
【0010】
請求項1に係る発明は、プロセッサを含み、前記プロセッサは、原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、オペレータによる画像表示装置の表示画面に表示された1つのスクロールバーの操作に従って、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行う、情報処理装置である。
【0011】
請求項2に係る発明は、プロセッサを含み、前記プロセッサは、原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、オペレータによる開始指示を受け付けた場合に、自動で、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行い、前記切り抜く領域の前記輪郭線の傾きの変化に基づいて、前記画像表示部の中心領域に現す、前記輪郭線座標に対応する画素を順次変化させる速度を変えるように、前記表示の制御を行う、情報処理装置である。
【0012】
請求項3に係る発明は、請求項1または2に記載の情報処理装置であって、前記画像表示部に表示される画像は、前記原画像の一部を画素単位で表した画像、または、前記原画像の一部を拡大した画像を含む、情報処理装置である。
【0014】
請求項4に係る発明は、原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、オペレータによる画像表示装置の表示画面に表示された1つのスクロールバーの操作に従って、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行う、ようにコンピュータを機能させるプログラムである。
【0015】
請求項5に係る発明は、原画像と、前記原画像における切り抜く領域の輪郭線の複数の輪郭線座標を取得し、複数の前記輪郭線座標に対応するそれぞれの画素が、順次、時計回り又は反時計回りの順で画像表示部の中心領域に現れるように、前記画像表示部に前記原画像の一部と前記輪郭線の画像を重畳して表示する制御を行い、オペレータによる開始指示を受け付けた場合に、自動で、前記画像表示部の中心領域に現れる、前記輪郭線座標に対応する画素が順次変わるように、前記表示の制御を行い、前記切り抜く領域の前記輪郭線の傾きの変化に基づいて、前記画像表示部の中心領域に現す、前記輪郭線座標に対応する画素を順次変化させる速度を変えるように、前記表示の制御を行う、ようにコンピュータを機能させるプログラムである。
【0016】
請求項6に係る発明は、請求項4または5に記載のプログラムであって、前記画像表示部に表示される画像は、前記原画像の一部を画素単位で表した画像、または、前記原画像の一部を拡大した画像を含む、プログラムである。
【発明の効果】
【0018】
請求項1、4に係る発明によれば、オペレータが縦、横の移動操作を行って切り抜く領域の輪郭を確認する場合に比べて、より簡易に確認作業を行えるようになる。また、これらの発明によれば、オペレータが意図した速度で切り抜く領域の輪郭が確認される。また、これらの発明によれば、マウス等の直線上の移動により画像の確認領域を順次移動させられる。
【0019】
請求項2、5に係る発明によれば、オペレータが縦、横の移動操作を行って切り抜く領域の輪郭を確認する場合に比べて、より簡易に確認作業を行えるようになる。また、これらの発明によれば、切り抜く領域の輪郭を確認する際に、オペレータが常時操作する場合に比べて操作労力を削減することができる。また、これらの発明によれば、切り抜く領域の形状がシンプルな部分に比べて形状が複雑な部分を、速度を落として確認することができる。
【0020】
請求項3、6に係る発明によれば、原画像の一部が間引かれて表示される場合に比べて、切り抜く領域の境界が所望の位置にあるかを細かく確認することができる。
【図面の簡単な説明】
【0024】
【
図1】情報処理装置の構成の一例を示すブロック図である。
【
図3】原画像無しマスク画像の一例を示す図である。
【
図4】原画像付きマスク画像の一例を示す図である。
【
図5】輪郭線情報の生成を説明するための図である。
【
図7】マスク画像の確認領域を順次移動させることを説明するための図である。
【
図8】マスク画像の確認領域を順次移動させることを説明するための図である。
【
図9】マスク画像の一部の画像の例を示す図である。
【
図10】マウスホイール操作によるエッジ確認の表示画面の一例を示す図である。
【
図11】マウスホイール操作による画像表示制御の流れを示すフローチャートである。
【
図12】自動プレビュー機能によるエッジ確認の表示画面の一例を示す図である。
【
図13】自動プレビュー機能による画像表示制御の流れを示すフローチャートである。
【
図14】複数の切り抜き領域の輪郭確認を説明するための図である。
【
図15】切り抜き領域の形状が複雑な部分の画像表示制御を説明するための図である。
【
図16】切り抜き領域の形状が複雑な部分の別の画像表示制御を説明するための図である。
【発明を実施するための形態】
【0025】
以下、本発明に係る各実施形態について添付図面を確認しながら詳細に説明する。以下で述べる構成は、説明のための例示であって、装置の仕様等に合わせて適宜変更が可能である。また、以下において複数の実施形態や変形例などが含まれる場合、それらの特徴部分を適宜に組み合わせて用いることは当初から想定されている。全ての図面において同一の要素には同一の符号を付し、重複する説明を省略する。
【0026】
図1は、情報処理装置10の構成の一例を示すブロック図である。情報処理装置10は、パーソナルコンピュータPCである。情報処理装置10には、情報処理装置を操作するための操作部26としてのキーボード30及びマウス32と、ディスプレイ28が接続される。なお、別の実施形態として、情報処理装置10は、タブレット、スマートフォン等の携帯型端末であってもよい。その場合、情報処理装置10は操作部26とディスプレイ28を含んで構成されてもよく、操作部26とディスプレイ28はタッチパネルとして構成されてもよい。
【0027】
本実施形態の情報処理装置10は、プロセッサ12、記憶部14、通信部16、入力インタフェース18、および表示インタフェース20を含み、それらはバス22を介して接続されている。
【0028】
プロセッサ12は、CPUを含み、情報処理装置10にインストールされているプログラムに従って情報処理を実行する。なお、プロセッサ12をコンピュータと呼んでもよい。記憶部14は、ROM、RAM、フラッシュメモリ、ハードディスク等であり、プロセッサ12が実行するプログラムや各種データ等を記憶する。通信部16は、例えばネットワークカードであり、無線または有線で、LANやインターネット等のネットワーク(不図示)に接続し、他の装置との間で通信を行う。入力インタフェース18は、操作部26からの信号を受信し、プロセッサ12へ操作情報を伝える機器である。表示インタフェース20は、例えばグラフィックカードであり、プロセッサ12からの指示に従って映像信号をディスプレイ(画像表示装置28とも言う)に出力する。
【0029】
プログラムは、生成プログラム23と表示プログラム24を含む。情報処理装置10にインストールされる生成プログラム23、表示プログラム24は、インターネット等のネットワークを介して提供することはもちろん、光ディスクやUSBメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【0030】
情報処理装置10は、インターネット等のネットワークを介して、または、光ディスクやUSBメモリ等のコンピュータ読み取り可能な記録媒体を介して、画像(以下、原画像と言う)を受け付ける。情報処理装置10は、生成プログラム23に従って動作することにより原画像からマスク画像を生成し、表示プログラム24に従って動作することによりマスク画像の確認画面をディスプレイ28に表示する。ここで、マスク画像とは、原画像から画像を切り抜きたい領域を表現した画像である。多くの画像編集プログラムでは、マスク画像を原画像に重畳し、オペレータがマスク画像の領域を広げたり狭めたり編集し、編集が完了したマスク画像の領域の情報を用いて、原画像から切り抜き画像を生成する処理が行われる。
【0031】
図2は原画像60の一例であり、
図3は
図2の原画像60に対応するマスク画像62であり、原画像とは別に生成される画像である。
図4は
図2の原画像60に対応する別の態様のマスク画像64であり、原画像に対し切り抜き対象領域の輪郭線を重畳して表現された画像である。
【0032】
マスク画像62、64は、原画像60の所望の対象領域66A、66B、66C(
図2確認)を表現した画像であり、対象領域66A、66B、66Cを切り出して別の画像に挿入したり、原画像60の対象領域66A、66B、66Cと対象領域以外の領域に分けて、異なる画像処理を施したりするための領域情報を表した画像である。
図2の例において、対象領域66Aはソファであり、対象領域66Bはランプスタンド傘であり、対象領域66Cは棚の上に置かれた置物である。
【0033】
情報処理装置10のプロセッサ12は、生成プログラム23に従って動作することにより、原画像の対象領域と対象領域以外の領域の色の違い等を解析することにより切り抜き領域を抽出し、この切り抜き領域の輪郭の座標情報に基づき、マスク画像62、64を生成する。生成されたマスク画像62、64は、対象領域66A、66B、66Cと同じ位置、同じ形状となるように規定された切り抜く領域としての切り抜き領域68A、68B、68Cが識別できるように構成される。
図3のマスク画像62は、切り抜き領域68A、68B、68Cと切り抜き領域以外の領域が異なる色で塗り潰された画像である。
図4のマスク画像64は、切り抜き領域68A、68B、68Cの輪郭線OLが原画像60に付加された画像である。
【0034】
ここで、対象領域66A、66B、66Cと切り抜き領域68A、68B、68Cは、必ずしも一致していないことに留意すべきである。対象領域66A、66B、66Cは、オペレータが抽出を望む領域であるのに対し、切り抜き領域68A、68B、68Cは、情報処理装置10が原画像60を解析することで得た領域(推定領域)である。そのため、切り抜き領域68A、68B、68Cと、対象領域66A、66B、66Cは一致しない可能性がある。すなわち、切り抜き領域68A、68B、68Cの輪郭線OLの位置は、オペレータが望む位置からずれている可能性がある。
【0035】
切り抜き領域の輪郭線OLの位置で原画像を切り抜くため、切り抜き領域の輪郭線OLの位置が所望の位置からずれていると、原画像から対象領域を所望したとおりに切り抜くことができない。そのため、オペレータは切り抜き領域の境界が所望の位置にあるかを細かく確認する必要がある。そこで、情報処理装置10は、表示プログラム24を実行することにより、マスク画像の確認画面を提供する。以下、マスク画像の確認画面について詳細に説明する。
【0036】
なお、以下の説明において、単にマスク画像という場合、
図4に示すような原画像に輪郭線が重畳されたマスク画像64を意味するものとする。なお、このマスク画像64は、原画像60自体に輪郭線が付加されているものに限らず、原画像に対して所定の画像処理を施した画像に輪郭線が付加されているものであってもよい。
【0037】
情報処理装置10の記憶部14には、生成されたマスク画像64と、マスク画像64の切り抜き領域68A、68B、68Cの輪郭線OLを構成する複数の輪郭線画素の座標である輪郭線座標が記憶される。なお、以上の説明では、情報処理装置10がマスク画像64を生成するものとしたが、別の装置がマスク画像64を生成し、そのマスク画像64が情報処理装置10に入力されて、記憶部14に記憶されるとしてもよい。この場合、マスク画像64の切り抜き領域68A、68B、68Cの複数の輪郭線座標は、マスク画像64と共に情報処理装置10に入力されるか、または、情報処理装置10がマスク画像64を解析することで抽出してもよい。
【0038】
まず、プロセッサ12は、表示プログラム24に従って動作することにより、輪郭線OLを構成する各画素の情報を記述した輪郭線情報を生成する。以下、輪郭線情報の生成について説明する。プロセッサ12は、記憶部14から、切り抜き領域68A、68B、68Cの複数の輪郭線座標を読み出し、切り抜き領域68A、68B、68Cごとに輪郭線情報を生成する。
図5は、輪郭線情報の生成を説明するための図であり、
図6は、輪郭線情報70の一例を示す図である。
【0039】
図5には、xy平面上に切り抜き領域68の複数の輪郭線画素が示されている。プロセッサ12は、まず、輪郭線情報70の1番目の要素(要素No.1)とする輪郭線画素を探索する。これは、(x,y)=(0,0)の位置からxの値を大きくしていき、xの値が最大(右端位置)になったら、yの値を1つ大きくし、(x,y)=(0,1)の位置から同様にxの値を大きくしていくという走査を繰り返す中で、1番最初に探索される輪郭線画素を輪郭線情報70の1番目の要素とするものである。
図5の例では、輪郭線画素E1が、輪郭線情報70の1番目の要素(要素No.1)となり、輪郭線画素E1の輪郭線座標(x1,y1)が輪郭線情報70に格納される。
【0040】
次に、プロセッサ12は、1番目の要素とした輪郭線画素に隣接する輪郭線画素を、2番目の要素(要素No.2)とする。
図5の例では、1番目の要素とした輪郭線画素E1に隣接する輪郭線画素は、E2とEnの2つあるが、ここでは、輪郭線画素E2を2番目の要素(要素No.2)とし、輪郭線画素E2の輪郭線座標(x2,y2)を輪郭線情報70に格納する。
【0041】
次に、プロセッサ12は、上記と同様に、2番目の要素とした輪郭線画素に隣接する輪郭線画素を、3番目の要素(要素No.3)とする。この時、すでに輪郭線情報70に格納した輪郭線画素を除いて隣接する輪郭線画素を探索する。
図5の例では、2番目の要素とした輪郭線画素E2に隣接する輪郭線画素E3を、3番目の要素(要素No.3)とし、輪郭線画素E3の輪郭線座標(x3,y3)を輪郭線情報70に格納する。
【0042】
以上の探索動作を繰り返すことで、切り抜き領域68の複数の輪郭線座標が、切り抜き領域68の輪郭線OLにおける反時計回りの順番(
図5に示す破線矢印の順番)で、輪郭線情報70に格納されることになる。
図5の例では、輪郭線画素Emがm番目の要素(要素No.m)とされ、最後に、輪郭線画素Enがn番目の要素(要素No.n)とされている。なお、最後の輪郭線画素になるか否かは、隣接する輪郭線画素に要素No.1の輪郭線画素E1が含まれるか否かにより判断することができる。
【0043】
なお、以上説明した輪郭線情報70の生成方法は一例であり、他の方法で輪郭線情報70が生成されてもよい。以上の説明では、複数の輪郭線座標が、切り抜き領域68の輪郭線OLの反時計回りの順番で輪郭線情報70に格納されたが、切り抜き領域68の輪郭線OLの時計回りの順番で輪郭線情報70に格納されてもよい。プロセッサ12は、切り抜き領域ごとに生成した輪郭線情報70を、記憶部14に記憶しておく。なお、
図6に示す輪郭線情報70の「チャプター点」、「傾き変動点」については後述する。
【0044】
次に、プロセッサ12は、表示プログラム24に従って動作することにより、輪郭線情報70を用いてマスク画像64の確認画面を表示する。マスク画像64の確認画面には、代表的な形態として、オペレータのマウスホイール操作に基づいて確認領域を移動させる形態(
図10)と、自動で確認領域を移動させる形態(
図12、自動プレビュー機能)がある。ここでは、まず、これらの形態に共通するプロセッサ12の基本的な動作と、確認領域について説明する。
【0045】
プロセッサ12は、マスク画像64の確認画面をディスプレイ28に表示する際、マスク画像64と、輪郭線情報70(切り抜き領域の複数の輪郭線座標)を記憶部14から読み出す(取得する)。そして、プロセッサ12は、輪郭線情報70に反時計回り又は時計回りの順番で格納された輪郭線座標の要素を順次、読み出すことで、複数の輪郭線座標に対応するそれぞれの輪郭線画素が、順次、反時計回り又は時計回りの順でディスプレイ28の画像表示部の中心に現れるように、画像表示部にマスク画像64の一部を、画素を間引かずに表示する制御を行う。このマスク画像64の一部が、確認領域である。
【0046】
ここで、一般的にマスク画像64の切り抜き領域の画素数はディスプレイ28の表示可能画素数より多いので、切り抜き領域全体をディスプレイ28に表示しようとすると、切り抜き領域の画素が間引かれ、切り抜き領域の輪郭線OLの一部が省かれて表示されてしまう。従って、切り抜き領域の境界が所望の位置にあるかを細かく確認することができなくなる。そこで、本実施形態では、上記したようにマスク画像64の一部を、画素を間引かずに表示する。つまり、マスク画像64の確認領域にある画素を間引かずに、そのまま、ディスプレイ28に表示する。
【0047】
図7、8は、マスク画像の確認領域が順次移動することを説明するための図である。
図7、8には、
図4に示すマスク画像におけるソファの切り抜き領域68Aが示されている。プロセッサ12は、輪郭線情報70から要素No.1の輪郭線画素の輪郭線座標(x1、y1)を読み出し、輪郭線座標(x1、y1)を中心とした確認領域301をディスプレイ28の画像表示部に表示する。次に、プロセッサ12は、輪郭線情報70から要素No.2の輪郭線画素の輪郭線座標(x2、y2)を読み出し、輪郭線座標(x2、y2)を中心とした確認領域(不図示)をディスプレイ28の画像表示部に表示する。このようにして、プロセッサ12は、輪郭線情報70から順番に輪郭線座標を読み出して、確認領域を画像表示部に表示していく。これにより、
図8に示す矢印の方向(反時計回りの方向)に確認領域が移動していくことになり、切り抜き領域68Aの輪郭線OLの閉ループに沿った各確認領域が順に画像表示部に表示されることになる。
図7には、確認領域301、302、303、・・313が描かれているが、画像表示部に表示される確認領域は、
図7に示す確認領域301、302、303、・・313のそれぞれの間にも多数存在する。上記した制御により、確認領域301、302、303、・・313及びそれらの間にある確認領域(不図示)が、反時計回りの方向の順で画像表示部に表示されることになる。
【0048】
なお、プロセッサ12は、輪郭線情報70の各要素を降順に読み出し(例えば要素No.nから要素No.の値が小さくなる方向に各要素を読み出し)、各要素の輪郭線座標を中心とした各確認領域を、順に、ディスプレイ28の画像表示部に表示していくこともできる。この場合、切り抜き領域68Aの輪郭線OLに沿って確認領域が時計回りに移動していくことになる。
【0049】
図9は、ディスプレイ28の画像表示部74に表示された確認領域301を示す図である。
図9において、画像表示部74の中心画素CPは、要素No.1の輪郭線画素である。この例では、切り抜き領域68Aの輪郭線OLの位置と、ソファの実際の輪郭の位置とが、中心画素CP付近でずれている。このような「ずれ」は、
図9のようにマスク画像の一部を拡大して表示すること、または、マスク画像の画素を間引かずに表示することで、細かく確認することができる。
【0050】
なお、以上の説明では、輪郭線画素が画像表示部74の中心に現れるようにしたが、輪郭線画素は画像表示部74の中心から少しずれた位置に現れてもよい。すなわち、輪郭線画素は、画像表示部74の中心領域72に現れるとよい。ここで、中心領域72は、例えば、画像表示部74の中心と1つの角までの距離を1とするとき、画像表示部74の中心から1/3以下の距離の位置を角とする矩形状(
図9参照)の領域と定義してもよい。
【0051】
なお、以降説明する、マスク画像の確認画面の具体的な実施形態では、確認領域が表示される画像表示部74は、ディスプレイ28の画面の一部であるが、それは、ディスプレイ28の画面の全体であってもよい。
【0052】
次に、マスク画像の確認画面の具体的な実施形態について説明する。まず、オペレータのマウスホイール操作に基づいて確認領域を移動させる形態について説明する。
図10は、この形態のマスク画像の確認画面である。
図10の確認画面は、マスク画像64の全体が表示される全体画像表示部76、確認領域が表示される画像表示部74(確認画像表示部74とも言う)、及び「ホイール」ボタン80を含む。全体画像表示部76は、画素が間引かれたマスク画像64が表示される部分である。全体画像表示部76は、画像表示部74に表示されている確認領域を示す枠78を含む。
【0053】
オペレータは、「ホイール」ボタン80をマウス操作等により押下する。これにより、マウスホイール操作による画像表示制御が開始される。
図11は、マウスホイール操作による画像表示制御の流れを示すフローチャートである。まず、S100で、プロセッサ12は、マウスホイール操作があるかを確認し、ホイール操作があるのを待つ。ホイール操作があった場合(S100:Yes)には、S102で、プロセッサ12は、ホイール操作が上向きであるか、下向きであるかを確認する。
【0054】
ホイール操作が下向きである場合(S102:No)には、S106で、プロセッサ12は、輪郭線情報70の1つ後の要素の輪郭線座標を取り出す。ここで、記憶部14には、輪郭線情報70の現在、注目している要素(以下、注目要素と言う)が記憶される。S106で、プロセッサ12は、注目要素が輪郭線情報70のNo.1であれば、No.2の輪郭線座標を取り出す。そして、S108で、プロセッサ12は、取り出した輪郭線座標を中心とした確認領域を画像表示部74に表示する。この時、注目要素を1つインクリメントして、No.2に更新する。そして、S100に戻る。
【0055】
例えば、オペレータが下向きのホイール操作を繰り返す時、注目要素が徐々に大きくなり、それに従って、切り抜き領域68Aの輪郭線OLに沿って反時計回りに移動する確認領域が順に画像表示部74に表示される。これは、
図7、8を用いて説明した反時計回りの確認領域の移動である。この時、
図10の全体画像表示部76に示された枠78も、切り抜き領域68Aの輪郭線OLに沿って反時計回りに移動することになる。
【0056】
一方、
図11のS102で、ホイール操作が上向きである場合(S102:Yes)には、S104で、プロセッサ12は、輪郭線情報70の1つ前の要素の輪郭線座標を取り出す。プロセッサ12は、注目要素がNo.1であれば、No.nの輪郭線座標を取り出す(No.1より小さい要素がないのでNo.nの要素の輪郭線座標を取り出す)。そして、S108で、プロセッサ12は、取り出した輪郭線座標を中心とした確認領域を画像表示部74に表示する。そして、S100に戻る。この時、注目要素を1つデクリメントしてNo.n-1に更新する。そして、S100に戻る。
【0057】
例えば、オペレータが上向きのホイール操作を繰り返す時、注目要素が徐々に小さくなり、それに従って、切り抜き領域68Aの輪郭線OLに沿って時計回りに移動する確認領域が順に画像表示部74に表示される。これは、以上で説明した時計回りの確認領域の移動である。この時、
図10の全体画像表示部76に示された枠78も、切り抜き領域68Aの輪郭線OLに沿って時計回りに移動することになる。
【0058】
なお、
図11のフローは、キーボードの予め定められたボタンの押下により終了するとしてもよい。これにより、マウスのホイールがPCの一般的な操作に使える状態となる。
【0059】
以上説明した実施形態によれば、オペレータの1本の指の操作でマスク画像の確認領域を順次移動させられるので、非常に簡単に切り抜き領域の輪郭線の位置を確認することができる。オペレータが縦、横のスクロールバーを操作して切り抜き領域の輪郭を確認する場合に比べて、より簡単に確認作業を行えるようになる。
【0060】
なお、以上の
図11のフローの説明では、S104、S106で1つ前または後の要素を取り出すとしたが、2以上の個数(例えば10、100、1000個等の任意の数)だけ前または後の要素を取り出すとしてもよい。また、現在、画像表示部74に表示している確認領域と、ホイール操作により次に画像表示部74に表示する確認領域が重複しないように、S104、S106の前または後の要素を取り出す際のスキップ数(いくつ前ままたは後の要素を取り出すか)が決められていてもよい。
【0061】
なお、以上説明した実施形態では、マウスホイールの操作に従って、確認領域の位置を移動させたが、
図10に示すような1つのスクロールバー82の操作に従って、確認領域の位置を移動させてもよい。すなわち、マウスホイールの下向きの操作に代えて、マウス等によるスクロールバー82の一方から他方への移動の操作により、切り抜き領域68Aの輪郭線OLに沿って反時計回りに確認領域を移動させる。また、マウスホイールの上向きの操作に代えて、マウス等によるスクロールバー82の他方から一方への移動の操作により、切り抜き領域68Aの輪郭線OLに沿って時計回りに確認領域を移動させる。この構成によれば、マウス等の直線上の移動によりマスク画像の確認領域を順次移動させられる。
【0062】
なお、マウスホイール、スクロールバー82に限らず、他の手段を用いてもよい。プロセッサ12は、マウスホイール、スクロールバー82、又はその他の手段を用いたオペレータの連続操作に従って、画像表示部74の中心領域に現れる、輪郭線座標に対応する輪郭線画素が順次変わるように表示の制御を行えばよい。これにより、オペレータが意図した速度で移動する確認領域が画像表示部74に表示され、オペレータが意図した速度で切り抜き領域68Aの輪郭線OLの位置を確認することができる。
【0063】
次に、自動で確認領域を移動させる形態(自動プレビュー機能とも言う)のマスク画像の確認画面について説明する。
図12は、この形態のマスク画像の確認画面である。
図12の確認画面は、マスク画像64の全体が表示される全体画像表示部76、確認領域が表示される画像表示部74(確認画像表示部74)、切替スイッチ98、および複数のボタン90~96を含む。
図12の全体画像表示部76と画像表示部74は、
図10のそれらと同様の構成である。
【0064】
オペレータは、「プレビュー」ボタン90をマウス操作等により押下する。これにより、自動プレビュー機能の画像表示制御が開始される。
図13は、自動プレビュー機能の画像表示制御の流れを示すフローチャートである。
図13には、
図12に示す切替スイッチ98が「反時計方向」にチェックされている時のフローが示されている。まず、S200で、プロセッサ12は、「プレビュー」ボタン90が押下されたかを確認し、「プレビュー」ボタン90が押下されるのを待つ。なお、「プレビュー」ボタン90が押下されることを、プレビュー指示、又は、開始指示とも言う。
【0065】
「プレビュー」ボタン90が押下された場合(S200:Yes)には、S202で、プロセッサ12は、輪郭線情報70の1つ後の要素の輪郭線座標を取り出す。ここで、記憶部14には、輪郭線情報70の現在、注目している要素(注目要素)が記憶される。S202で、プロセッサ12は、注目要素がNo.1であれば、No.2の輪郭線座標を取り出す。そして、S204で、プロセッサ12は、取り出した輪郭線座標を中心とした確認領域を画像表示部74に表示する。この時、注目要素を1つインクリメントして、No.2に更新する。
【0066】
そして、S206で、プロセッサ12は、注目要素がNo.1(始点)になったかを確認する。S206がNoの場合は、S202、S204を再び繰り返す。すなわち、注目要素がインクリメントされていき、No.nになった後、No.1になる(No.nより大きな要素がないのでNo.1になる)まで、S202、S204を再び繰り返す。これにより、切り抜き領域68Aの輪郭線OLに沿って反時計回りに移動する確認領域が順に画像表示部74に表示される。これは、
図7、8を用いて説明した反時計回りの確認領域の移動である。この時、
図12の全体画像表示部76に示された枠78も、切り抜き領域68Aの輪郭線OLに沿って反時計回りに移動することになる。
【0067】
そして、S206がYesとなった場合(注目要素が始点に戻った場合)には、確認領域の移動を停止し、S200に戻って、プロセッサ12は、再び「プレビュー」ボタン90が押下されるのを待つ。
【0068】
次に、
図12に示す切替スイッチ98が「時計方向」にチェックされ、「プレビュー」ボタン90が押下された場合の画像表示制御について説明する。これは、
図13のS202の「1つ後の要素を取り出す」を「1つ前の要素を取り出す」と置き換えた制御となる。すなわち、「プレビュー」ボタン90が押下された場合(S200:Yes)には、S202で、プロセッサ12は、輪郭線情報70の1つ前の要素の輪郭線座標を取り出す。S202で、プロセッサ12は、注目要素がNo.1であれば、No.nの輪郭線座標を取り出す(No.1より小さい要素がないのでNo.nの要素の輪郭線座標を取り出す)。そして、S204で、プロセッサ12は、取り出した輪郭線座標を中心とした確認領域を画像表示部74に表示する。この時、注目要素を1つデクリメントして、No.n-1に更新する。そして、S206で、プロセッサ12は、注目要素がNo.1(始点)になったかを確認する。S206がNoの場合は、S202、S204を再び繰り返す。すなわち、注目要素がデクリメントされていき、No.1になるまで、S202、S204を再び繰り返す。これにより、切り抜き領域68Aの輪郭線OLに沿って時計回りに移動する確認領域が順に画像表示部74に表示される。これは、以上で説明した時計回りの確認領域の移動である。この時、
図12の全体画像表示部76に示された枠78も、切り抜き領域68Aの輪郭線OLに沿って時計回りに移動することになる。
【0069】
以上説明した実施形態によれば、1回の「プレビュー」ボタン90の押下により、確認領域が、切り抜き領域68Aの輪郭線OLの閉ループを一周することになる。従って、切り抜き領域68Aの輪郭線OL(エッジ)の位置を確認する際に、オペレータが常時、マウス等を操作する場合に比べて、操作労力を削減することができる。また、
図10の実施形態と同様に、オペレータが縦、横のスクロールバーを操作して切り抜き領域の輪郭を確認する場合に比べて、より簡単に確認作業を行えるようになる。
【0070】
なお、
図14に示すように、確認領域が切り抜き領域68Aの輪郭線の閉ループを一周した後に、確認領域が別の切り抜き領域68Bの輪郭線に移って、切り抜き領域68Bの輪郭線の閉ループを一周するというように、1回の「プレビュー」ボタン90の押下により、確認領域が複数の切り抜き領域68A、68B、68Cの輪郭線を移動するとしてもよい。
【0071】
次に、
図12に示す、「プレビュー」ボタン90以外のボタン91~96について説明する。「早送り」ボタン91は、確認領域の移動速度を速めるためのボタンである。「プレビュー」ボタン90が押下された後、「早送り」ボタン91が押下されると、
図13のフローのS202~S206の繰り返し速度が速くなる。または、
図13のフローのS202の「1つ後の要素を取り出す」が、「2以上の個数(例えば10、100、1000個等の任意nの数)だけ後の要素を取り出す」と置き換えられる(輪郭線情報70の要素をスキップさせる個数が多くなる)。なお、「早送り」ボタン91を複数回押下すると、確認領域の移動速度がさらに速くなるとしてもよい。例えば、「早送り」ボタン91が押下されるごとに、S202のスキップさせる要素数を増やしてもよい。
【0072】
「早戻し」ボタン93は、「早送り」ボタン91が押下された場合とは、逆方向に向かった確認領域の移動速度を速めるためのボタンである。すなわち、「プレビュー」ボタン90が押下された後、「早戻し」ボタン93が押下されると、切替スイッチ98で設定された方向とは逆に向かって、確認領域が速い速度で移動する。確認領域が逆方向に移動する以外は、「早送り」ボタン91と同様の機能である。
【0073】
「一時停止」ボタン96は、確認領域の移動を一時停止させるためのボタンである。「プレビュー」ボタン90が押下された後、「一時停止」ボタン96が押下されると、以上で説明した注目要素を記憶部14に記憶して、
図13のフローを終了する。そして、再び「プレビュー」ボタン90が押下された際には、記憶部14から注目要素を読み出し、
図13のフローを再開する。これにより、「一時停止」ボタン96が押下された位置から、確認領域の移動を再開させることができる。
【0074】
「停止」ボタン95は、確認領域の移動を停止させるためのボタンである。「プレビュー」ボタン90が押下された後、「停止」ボタン96が押下されると、以上で説明した注目要素をNo.1にリセットして記憶部14に記憶し、
図13のフローを終了する。そして、再び「プレビュー」ボタン90が押下された際には、記憶部14から注目要素を読み出し、
図13のフローを開始する。この時、注目要素はNo.1であるから、最初の位置(始点)から確認領域の移動が開始することになる。
【0075】
「スキップ」ボタン92は、確認領域を予め定められた位置まで一気に移動させるためのボタンである。ここで、
図6に示すように、輪郭線情報70は、要素に対応付けられたチャプター点を含むことができる。チャプター点は、例えば、要素No.1に対応付けられた開始点SP1、輪郭線情報70の中間の要素No.mに対応付けられた中間点MP1、及び、要素No.nに対応付けられた終了点EP1である。このようなチャプター点は、例えば、輪郭線情報70の生成時に付加するとよい。
【0076】
図14には、SP1、MP1、及びEP1の輪郭線画素の位置が示されたマスク画像が示されている。「プレビュー」ボタン90が押下された後、「スキップ」ボタン92が押下されると、確認領域が一気にMP1まで移動する。再び「スキップ」ボタン92が押下されると、確認領域が一気にEP1まで移動する。なお、チャプター点は、さらに多くの要素に付加しておいてもよい。
【0077】
なお、前述したように、輪郭線情報70は、切り抜き領域68A、68B、68Cごとに設けられる。各切り抜き領域68A、68B、68Cの輪郭線情報70において、他の輪郭線情報70のチャプター点と識別可能なように、チャプター点を付加しておくとよい。
図14には、切り抜き領域68Bのチャプター点としてSP2、MP2、及びEP2が付加され、切り抜き領域68Cのチャプター点としてSP3、MP3、及びEP3が付加された場合のそれらのチャプター点の輪郭線画素が示されている。「スキップ」ボタン92が連続して押下される時、切り抜き領域68A、68B、68Cの垣根を越えて、確認領域がMP1、EP1、SP2、MP2、EP2、SP3・・の順番でジャンプするように移動してもよい。
【0078】
図12に示す「逆スキップ」ボタン94は、「スキップ」ボタン92が押下された場合とは、逆方向に向かって確認領域をチャプター点まで一気に移動させるためのボタンである。確認領域が逆方向に移動する以外は、「スキップ」ボタン92と同様の機能である。
【0079】
なお、上記した、マウスホイール操作に基づいて確認領域を移動させる形態においても、
図12の「スキップ」ボタン92及び「逆スキップ」ボタン94と同じ機能が設けられてもよい。例えば、マウスの左クリックが、「スキップ」ボタン92が押下された場合と同じ機能を発揮させ、マウスの右クリックが、「逆スキップ」ボタン94が押下された場合と同じ機能を発揮させるようにしてもよい。
【0080】
次に、以上説明した各実施形態に適用可能な構成について説明する。
図15に示すように、切り抜き領域の輪郭線OLは形状がシンプルな部分と、複雑な部分が含まれる。一般的に、形状がシンプルな部分に比べて複雑な部分は、輪郭線OLの「ずれ」をより細かく確認することが必要となる。そこで、上記した自動プレビュー機能において、確認領域が輪郭線OLに沿って移動する際に、輪郭線OLの形状がシンプルな部分に比べて形状が複雑な部分は、確認領域の移動速度を落とすとしてもよい。
図15では、輪郭線OLの上下の直線部分に比べて、それらの間にあるギザギザ部分における、確認領域の移動速度を低下させる。
【0081】
上記の機能は、例えば次のようにして実現される。
図6に示すように、輪郭線情報70は、要素に対応付けられた傾き変動点FPを含むことができる。傾き変動点FPは、輪郭線OLの傾きの変動が、予め定められた基準を超える要素に対応付けられている。ここで、輪郭線OLの傾きの変動は、輪郭線OLの二次微分値を算出することで得ることができる。なお、傾き変動点FPは、例えば、輪郭線情報70の生成時に付加するとよい。自動プレビュー機能において、プロセッサ12は、注目要素に傾き変動点FPが付加されているか否かに応じて(切り抜き領域の輪郭線OLの傾きの変化に基づいて)、画像表示部74の中心領域に現す、輪郭線座標に対応する輪郭線画素を順次変化させる速度を変えるように、表示の制御を行う。すなわち、プロセッサ12は、注目要素に傾き変動点FPが付加されている場合には、画像表示部74の中心領域に現す、輪郭線座標に対応する輪郭線画素を順次変化させる速度を低下させるように、表示の制御を行う。これにより、上記した輪郭線OLの形状に応じた確認領域の移動速度の変更が実現される。
【0082】
なお、以上の構成は、プロセッサ12が注目要素に傾き変動点FPが付加されている場合に、確認領域の移動速度を低下させるものであるが、プロセッサ12が注目要素に傾き変動点FPが付加されている場合に、確認領域の画像をさらに拡大させて表示する構成であってもよい。すなわち、輪郭線OLの形状が複雑な部分は、確認領域の画像を構成する画素とそれらに基づいた補間画素から構成される拡大画像を表示する。これにより、オペレータは、輪郭線OLの形状が複雑な部分をより細かく確認することができる。
【0083】
また、
図15のように輪郭線OLのギザギザ部分は、確認領域が移動する際、確認領域が左右や上下にぶれながら移動するので、画像表示部74に表示される確認領域において輪郭線OLのずれを確認し難くなる可能性がある。そこで、
図16に示すように、傾き変動点FPが付加されている要素がある領域において、近似関数(近似線110)を推定し、確認領域が近似線に沿って移動するとしてもよい。これにより、滑らかで見やすい表示とすることができる。なお、この構成は、マウスホイール操作に基づいて確認領域を移動させる形態(
図10)、自動プレビュー機能の形態(
図12)の両方に適用できる。
【0084】
また、近似関数を推定するのではなく、傾き変動点FPが付加されている要素がある領域においては、
図11のフローのS104、S106における1つ前または後の要素を取り出すを、多数の個数(例えば10、100、1000個等の任意の数)だけ前または後の要素を取り出すと置き換えてもよい。同様に、傾き変動点FPが付加されている要素がある領域においては、
図13のフローのS202における1つ後の要素を取り出すを、多数の個数(例えば10、100、1000個等の任意の数)だけ後の要素を取り出すと置き換えてもよい。この構成でも、確認領域が左右や上下にぶれることが抑制され、滑らかで見やすい表示とすることができる。
【0085】
上記した実施形態のプロセッサは、プログラムに従って動作するものであったが、プロセッサはその他の形態であってもよい、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
【0086】
また、上記実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【符号の説明】
【0087】
10 情報処理装置、12 プロセッサ、14 記憶部、16 通信部、18 入力インタフェース、20 表示インタフェース、22 バス、23 生成プログラム、24 表示プログラム、26 操作部、28 画像表示装置(ディスプレイ)、30 キーボード、32 マウス、60 原画像、62 原画像無しマスク画像、64 原画像付きマスク画像(マスク画像)、66A,66B,66C 対象領域、68,68A,68B,68C 切り抜き領域、70 輪郭線情報、72 中心領域、74 確認画像表示部(画像表示部)、76 全体画像表示部、78 枠、80 ボタン、82 スクロールバー、90~96 ボタン、98 切替スイッチ、110 近似線、301~313 確認領域、OL 輪郭線、CP 中心画素、FP 傾き変動点。