(57)【特許請求の範囲】
【請求項１】
マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づき、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定し、前記エリア定義線分を結んで規定される領域をエリアとして決定するエリア決定処理部を備える、情報処理装置。
【請求項２】
前記エリア決定処理部は、
起点とした１つの前記頂点に対する前記境界領域内に新たな頂点が含まれたとき、前記頂点を新たな起点として前の起点とを結んだ線分をエリア定義線分として決定し、
前記新たな起点が最初に設定された起点に戻るまで、前記エリア定義線分を決定する処理を繰り返す、請求項１に記載の情報処理装置。
【請求項３】
前記エリア決定処理部は、
前記新たな起点と前記前の起点とを結ぶ線分を規定するために形成された前記境界領域内に、前記新たな起点および前記前の起点以外の前記頂点が存在するとき、
前記描画軌跡の外側、または、前記新たな起点と前記前の起点とを結ぶ線分より定義するエリア外側に位置する前記頂点を、エリアを定義する頂点から除外する、請求項２に記載の情報処理装置。
【請求項４】
前記エリア決定処理部は、前記新たな起点に対して、前記新たな起点と前記前の起点とを結ぶ線分に対して垂直な応力ベクトルを付与する、請求項２または３に記載の情報処理装置。
【請求項５】
前記エリア決定処理部は、
現在の起点と前記描画軌跡上の点とを結ぶ境界線分を追加する際に、前記新たに追加した境界線分で表されるベクトルと前記起点の応力ベクトルとの内積が０より小さいか否かを判定し、
前記内積が０より小さい場合、起点を前記現在の起点から１つ前の起点に設定する、請求項４に記載の情報処理装置。
【請求項６】
定義された前記エリアを規定する頂点は、ユーザの操作入力に応じて移動可能であり、
前記エリアを規定する頂点が移動されたとき、前記エリア決定処理部は、移動後の頂点に基づくエリアを再定義する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
定義された前記エリアを規定する頂点は、ユーザの操作入力に応じて削除可能であり、
前記前記エリアを規定する頂点が削除されたとき、前記エリア決定処理部は、削除された頂点に接続された前記エリア定義線分を削除し、当該削除された頂点と結ばれていた２つの頂点を直接結んで新たなエリア定義線分を設定する、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とを検出すること、
前記頂点および前記描画軌跡に基づいて、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定すること、
前記エリア定義線分を結んで規定される領域をエリアとして決定すること、
を含む、情報処理方法。
【請求項９】
コンピュータに、
マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づいて、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定すること、
前記エリア定義線分を結んで規定される領域をエリアとして決定すること、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像内の任意エリアを定義する情報処理装置、情報処理方法およびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
表示装置に表示されている地図において、ユーザがエリアを定義するときには、例えばマウス等によりカーソルを移動させてエリアを規定する頂点を逐次指定して、最終的に指定された頂点を順に結ぶことによって定義することができる。
【０００３】
例えば特許文献１には、マウスのドラッグ操作により範囲を指定して多角形の描画を行い、範囲内に含まれている要素を選出して出力する多角形範囲指定による要素選択方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２８４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１のようにマウスのドラッグ操作により多角形の描画を行う場合、例えば複数の隣接するエリアを定義する際には頂点同士を合わせる作業が細かくなり、ユーザはエリアの定義時に多大に注意を払わなければならなかった。
【０００６】
そこで、本開示では、エリア定義時にユーザが払う注意を低減し、容易にエリアを定義することが可能な、新規かつ改良された情報処理装置、情報処理方法およびコンピュータ読み取り可能な記録媒体を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づき、描画軌跡の入力順序に従って、描画軌跡に内包された頂点のうち起点とした１つの頂点と描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、エリアの境界を決定するエリア定義線分を構成する頂点を順次決定し、エリア定義線分を結んで規定される領域をエリアとして決定するエリア決定処理部を備える、情報処理装置が提供される。
【０００８】
また、本開示によれば、マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、各頂点のうち少なくとも３つを内包するように入力された描画軌跡とを検出すること、頂点および描画軌跡に基づいて、描画軌跡の入力順序に従って、描画軌跡に内包された頂点のうち起点とした１つの頂点と描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、エリアの境界を決定するエリア定義線分を構成する頂点を順次決定すること、エリア定義線分を結んで規定される領域をエリアとして決定すること、を含む、情報処理方法が提供される。
【０００９】
さらに、本開示によれば、コンピュータに、マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づいて、描画軌跡の入力順序に従って、描画軌跡に内包された頂点のうち起点とした１つの頂点と描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、エリアの境界を決定するエリア定義線分を構成する頂点を順次決定すること、エリア定義線分を結んで規定される領域をエリアとして決定すること、を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００１０】
本開示によれば、ユーザは、マップ等の処理対象に対して所定のエリアを定義する際に、処理対象であるマップ上において少なくとも３つの頂点を指定し、エリアに含まれる頂点を囲むように描画軌跡を入力する。この入力を受けて、情報処理装置により、上述の処理が行なわれ、エリアが自動的に定義される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、エリア定義時にユーザが払う注意を低減し、容易にエリアを定義することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本開示の実施形態に係るエリア定義の処理の一例を説明する説明図である。
【図２】同実施形態に係るエリア定義処理によりエリアが定義される手順の概要を示す説明図であって、処理対象から７つの頂点が指定された状態を示す。
【図３】図２で指定された頂点から定義する凸エリアに含まれる頂点を描画軌跡により指定した状態を示す説明図である。
【図４】図３で指定された描画軌跡に基づいて凸エリアが定義された状態を示す説明図である。
【図５】図２で指定された頂点から定義する凹エリアに含まれる頂点を描画軌跡により指定した状態を示す説明図である。
【図６】図５で指定された描画軌跡に基づいて凹エリアが定義される途中段階において凸エリアを形成しようとしている状態を示す説明図である。
【図７】図６の状態から描画軌跡に基づき凹エリアを定義することが認識された状態を示す説明図である。
【図８】図６の状態から凹エリアが定義された状態を示す説明図である。
【図９】同実施形態に係るエリア定義処理により決定される凹エリアの形状例であって、２つの凹部を有する凹エリアを示す説明図である。
【図１０】同実施形態に係るエリア定義処理により決定される凹エリアの形状例として段状の凹部を有する凹エリアを示す説明図である。
【図１１】同実施形態に係る情報処理装置の機能構成を示す機能ブロック図である。
【図１２】同実施形態に係るエリア定義処理によりエリアが定義される手順を示す説明図であって、４つの頂点と描画軌跡が入力された状態を示す。
【図１３】図１２で入力された頂点および描画軌跡に基づき、境界線分を追加して境界領域を求める状態を示す説明図である。
【図１４】境界領域に新たな頂点が含まれた状態を示す説明図である。
【図１５】エリア定義線分を設定した状態を示す説明図である。
【図１６】新たな起点に対して応力ベクトルを付与した状態を示す説明図である。
【図１７】新たな起点に対する境界領域を求める状態を示す説明図である。
【図１８】さらに新たな起点に対して応力ベクトルを付与した状態を示す説明図である。
【図１９】エリアが決定されたことを示す説明図である。
【図２０】１つの境界領域内に複数の頂点が含まれた場合における起点およびエリア定義線分の決定の仕方を説明する説明図である。
【図２１】起点の妥当性チェックを説明するための説明図である。
【図２２】同実施形態に係るエリア定義処理を示すフローチャートである。
【図２３】第１ｐｅｇ探索処理を示すフローチャートである。
【図２４】ｐｅｇ追加処理を示すフローチャートである。
【図２５】１つの境界領域内に複数の頂点が含まれた場合における起点およびエリア定義線分の決定の仕方を示すフローチャートである。
【図２６】複数のフロアマップの対応付けを説明する説明図である。
【図２７】複数のフロアマップに対するエリア定義の手順を示す説明図である。
【図２８】定義されたエリアの頂点を移動する手順を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．エリア定義処理の概要
２．情報処理装置の構成
３．エリア定義処理
４．エリア編集
４．１．複数エリアの設定
４．２．ユーザによるエリアの編集
５．まとめ
【００１５】
＜１．エリア定義処理の概要＞
まず、図１〜図１０を参照して、本開示の実施形態に係る情報処理装置によるエリア定義処理の概要を説明する。なお、図１は、本実施形態に係るエリア定義の処理の一例を説明する説明図である。図２〜図４は、本実施形態に係るエリア定義処理により凸エリアが定義される手順の概要を示す説明図である。図５〜図８は、本実施形態に係るエリア定義処理により凹エリアが定義される手順の概要を示す説明図である。図９および図１０は、本実施形態に係るエリア定義処理により決定される凹エリアの形状例を示す説明図である。
【００１６】
本実施形態に係る情報処理装置は、ディスプレイ等の表示部に表示されている画像から、ユーザから入力された情報に基づき、エリアを定義する処理を実行する。例えば図１に示すように、表示部１０に、地図等の処理対象が表示される対象表示領域１２と、処理対象に対してエリア選択や選択されたエリアの移動・削除等の処理を行うための操作入力を行う操作入力領域１４とが表示されているとする。
【００１７】
図１の対象表示領域１２には、処理対象として、例えばフロアマップが表示されている。操作入力領域１４には、対象表示領域１２に表示可能な対象を示す対象一覧１４ａや、処理対象に対して定義されたエリアを表示する定義エリア一覧１４ｂが表示されている。また、操作入力領域１４には、処理対象に対して定義されたエリアを決定する「Ｄｅｆｉｎｅ」ボタン１４ｃや、選択されたエリアを削除する「Ｄｅｌｅｔｅ」ボタン１４ｄが表示されている。さらに、操作入力領域１４には、選択されたエリアを移動する「Ｍｏｖｅ」ボタン１４ｅ、処理対象への変更を保存する「Ｓａｖｅ」ボタン１４ｆが表示されている。また、操作入力領域１４には、定義するエリアの名称を入力する入力ボックス１４ｇが表示されている。
【００１８】
対象表示領域１２に表示されている処理対象は、マウスやキーボード等の入力装置により操作可能なカーソルによって処理対象の一部のエリアを選択することができる。本実施形態に係る情報処理装置は、この処理対象に対してカーソル操作により入力された入力情報に基づいて、ユーザが選択するエリアを特定する処理を行うものである。
【００１９】
本実施形態に係る情報処理装置によるエリア定義処理の概略を説明すると、まず、図２に示すように、処理対象Ｍからエリアを定義するための頂点がユーザにより入力される。頂点は、エリアを定義可能なように少なくとも３つ指定される。図２では、７つの頂点Ｐ１〜Ｐ７が指定されている。次いで、ユーザは、図３に示すように、指定した頂点Ｐ１〜Ｐ７のうち、定義したいエリアに含まれる頂点を含むように描画軌跡Ｌｉｎを入力する。描画軌跡Ｌｉｎには、エリアを定義可能なように少なくとも３つの頂点が含まれるようにする。図３では、頂点Ｐ１〜Ｐ４を囲むように描画軌跡Ｌｉｎが入力されている。
【００２０】
情報処理装置は、図２での頂点入力および図３での描画軌跡入力を受けて、図４に示すように、頂点Ｐ１とＰ２、頂点Ｐ２とＰ３、頂点Ｐ３とＰ４、頂点Ｐ４とＰ１をそれぞれ結び、エリアＳを定義する。
【００２１】
図４にて定義されたエリアＳは凸形状であるが、本実施形態に係る情報処理装置によるエリア定義処理では凹形状のエリアも定義可能である。例えば図２に示すように７つの頂点Ｐ１〜Ｐ７が指定されたとする。次いで、ユーザは、図５に示すように、指定した頂点Ｐ１〜Ｐ７のうち、定義したいエリアに含まれる頂点を含むように描画軌跡Ｌｉｎを入力する。図５では、頂点Ｐ３〜Ｐ５およびＰ７を囲むように描画軌跡Ｌｉｎが入力されている。
【００２２】
このとき、まず、情報処理装置は、図６に示すように、描画軌跡Ｌｉｎに含まれた頂点Ｐ３〜Ｐ５およびＰ７に含まれない頂点Ｐ１、Ｐ２については定義エリアを決定する処理の対象外である対象外頂点Ｐｏｕｔとする。次に、情報処理装置は、頂点Ｐ３〜Ｐ７と描画軌跡Ｌｉｎとに基づいて、エリアを定義していく。このとき、図７に示すように、頂点Ｐ６は頂点Ｐ３〜Ｐ５およびＰ７により定義される凸エリア内に含まれるが、描画軌跡Ｌｉｎの外側に位置している。これより、頂点Ｐ６はユーザが定義したいエリアには含まれないものと判定される。最終的には、図８に示すように、頂点Ｐ４とＰ３、頂点Ｐ３とＰ５、頂点Ｐ５とＰ７、頂点Ｐ７とＰ６、頂点Ｐ６とＰ４をそれぞれ結んで、凹形状のエリアＳが定義される。
【００２３】
なお、本実施形態に係るエリア定義処理では、図４に示した凸形状のエリアや図８に示すような凹形状のエリアのような単純な形状のエリアのみでなく、より複雑なエリアも定義することができる。例えば、図９に示すように頂点Ｐ１〜Ｐ１２を指定し、頂点Ｐ６、Ｐ７、Ｐ９およびＰ１２を除くように描画軌跡Ｌｉｎを入力すれば、２つの凹部があるエリアＳが定義される。また、例えば、図１０に示すように頂点Ｐ１〜Ｐ２０を指定し、頂点Ｐ７、Ｐ１０、Ｐ１２、Ｐ１４およびＰ１５を除くように描画軌跡Ｌｉｎを入力すれば、段状の凹部を有するエリアＳが定義される。
【００２４】
このようなエリア定義処理では、ユーザは処理対象からエリアを定義するための頂点を指定し、その後指定した頂点から定義するエリアに含まれる頂点のみを囲むように描画軌跡を入力すれば、情報処理装置によりユーザの定義したいエリアが自動的に定義される。このとき、ユーザは、描画軌跡を一筆書きして、エリアに含む頂点と含まない頂点とを選別する。情報処理装置は、一筆書きされた描画軌跡を１本の糸のように考え、描画開始点と描画終了点とを同時に引っ張り、糸とみなした描画軌跡がその内部に含まれる頂点に引っ掛かり形成された形状の領域をエリアとして定義する。以下、本実施形態に係る情報処理装置の構成とこれによるエリア定義処理について、詳細に説明していく。
【００２５】
＜２．情報処理装置の構成＞
図１１に、本実施形態に係る情報処理装置１００の機能構成を示す。本実施形態に係る情報処理装置１００は、図１１に示すように、入力部１１０と、エリア指定入力情報処理部１２０と、エリア決定処理部１３０と、出力部１４０とからなる。
【００２６】
入力部１１０は、ユーザにより入力された入力情報を、操作入力を検出する検出部２００から受けて、エリア指定入力情報処理部１２０へ出力する。ここで、検出部２００は、マウスやキーボード等の入力装置を用いた操作入力に基づきユーザからの入力情報を検出するＣＰＵ等の情報検出処理部であってもよい。あるいは、検出部２００は、表示部１０と一体に形成されたタッチセンサであってもよい。
【００２７】
エリア指定入力情報処理部１２０は、入力情報に基づいて、処理対象にて指定された位置（頂点）および範囲（描画軌跡）を特定し、エリア決定処理部１３０へ出力する。エリア指定入力情報処理部１２０では、表示部１０の対象表示領域１２における座標情報として処理対象にて指定された位置（頂点）および範囲（描画軌跡）が特定される。
【００２８】
エリア決定処理部１３０は、処理対象にて指定された位置および範囲に基づいて、実際にユーザが定義しようとしているエリアを演算して決定する。エリア決定処理部１３０は、決定したエリアを出力部１４０へ出力する。
【００２９】
出力部１４０は、エリア決定処理部１３０により決定されたエリアを、表示装置３００に表示するための表示処理を行い、表示装置３００へ出力する。表示装置３００には、出力部１４０から出力されたエリアが、対象表示領域１２の対応する位置に表示される。表示装置３００は、例えば液晶ディスプレイや有機ＥＬディスプレイ等であり、上述の表示部１０を備える装置である。
【００３０】
このような情報処理装置１００は、ＣＰＵ等の演算処理装置によって構成することができる。また、あるいは、コンピュータに本実施形態に係る情報処理装置１００として機能させるためのコンピュータプログラムとして提供することもできる。コンピュータプログラムは、コンピュータが備える記憶装置に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の情報処理装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体としても提供してもよい。記録媒体は、例えば磁気ディスクや光ディスク、フラッシュメモリを備えるＵＳＢメモリ等である。
【００３１】
＜３．エリア定義処理＞
以下、図１２〜図２５に基づいて、本実施形態に係るエリア定義処理の詳細を説明する。なお、図１２〜図２１は、本実施形態に係るエリア定義処理によりエリアが定義される手順を示す説明図である。図２２は、本実施形態に係るエリア定義処理を示すフローチャートである。図２３は、第１ｐｅｇ探索処理を示すフローチャートである。図２４は、ｐｅｇ追加処理を示すフローチャートである。図２５は、応力ベクトル算出処理を示すフローチャートである。なお、以下において、ユーザが指定した頂点を「ｐｅｇ」と称することもある。
【００３２】
本実施形態に係るエリア定義処理は、処理対象に対し、ユーザが少なくとも３つの頂点を指定し、その後これらの頂点からエリア内に含まれる少なくとも３つの頂点を含む描画軌跡が入力されることにより開始される。例えば、図１２に示すように、頂点Ｐ１〜Ｐ４の４つの頂点が指定され、これらの頂点Ｐ１〜Ｐ４をすべて含む描画軌跡Ｌｉｎが入力されたとする。ユーザから入力された描画軌跡Ｌｉｎにおいて、描画が開始された位置を描画開始点Ｐｓとし、描画が終了された位置を描画終了点Ｐｅとする。なお、図１２に示すように、描画開始点Ｐｓと描画終了点Ｐｅとが一致していない場合には、描画開始点Ｐｓと描画終了点Ｐｅとを結んで描画軌跡Ｌｉｎは閉じているものとして図２２に示す処理が開始される。
【００３３】
図１２に示すような頂点と描画軌跡とが入力されると、情報処理装置１００のエリア指定入力情報処理部１２０は、対象表示領域１２における頂点および描画軌跡の座標を算出する。そして、エリア指定入力情報処理部１２０は、図２２に示すように、入力された少なくとも３つの頂点からエリアを定義するために最初に起点とする第１ｐｅｇを探索する（Ｓ１００）。
【００３４】
第１ｐｅｇは、図２３に示すフローチャートにしたがって探索される。まず、エリア指定入力情報処理部１２０は、入力された描画軌跡Ｌｉｎにより規定された領域を特定する（Ｓ２００）。そして、エリア指定入力情報処理部１２０は、ステップＳ２００で特定された領域に含まれる頂点のうち、描画軌跡の描画開始点に最も近い位置にある頂点を第１ｐｅｇとして設定する（Ｓ２０２）。
【００３５】
例えば図１２に示す例では、ステップＳ２００にて、描画軌跡Ｌｉｎにより規定される領域が特定される。このとき、当該領域には、頂点Ｐ１、Ｐ２、Ｐ３、Ｐ４が含まれている。そして、ステップＳ２０２にて、描画軌跡Ｌｉｎにより規定された領域に含まれる頂点Ｐ１〜Ｐ４のうち、描画軌跡Ｌｉｎの描画開始点Ｐｓに最も近い位置にある頂点Ｐ１が第１ｐｅｇとして設定される。
【００３６】
図２２の説明に戻り、ステップＳ１００にて第１ｐｅｇが設定されると、エリア決定処理部１３０により、現在の起点とする頂点と描画軌跡上の点とを結ぶ境界線分に基づき、境界領域が探索される（Ｓ１０２）。例えば図１２に示すような頂点Ｐ１〜Ｐ４と描画軌跡Ｌｉｎとが入力されたとき、エリア決定処理部１３０は、まず、最初の起点とされた頂点Ｐ１と描画軌跡Ｌｉｎ上の点とを結ぶ境界線分Ｌｎをとる。描画軌跡Ｌｉｎ上の点は、描画開始点Ｐｓから入力順にとられ、図１３に示すように、頂点Ｐ１と点Ｐｓとを結んだ境界線分Ｌ１、頂点Ｐ１と点ＰＬ１とを結んだ境界線分Ｌ２、・・というように順に境界線分が設定される。
【００３７】
ステップＳ１０２の処理により１つの境界線分が追加されると、エリア決定処理部１３０は、現在の起点の妥当性をチェックする（Ｓ１０４）。現在の起点の妥当性チェックは、図２４に示すフローチャートにしたがって実行される。
【００３８】
図２４に示すように、まず、エリア決定処理部１３０は、現在の起点と最後に追加した描画軌跡上の点とを結んだ境界ベクトルを算出し（Ｓ３００）、境界ベクトルを正規化する（Ｓ３０２）。そして、エリア決定処理部１３０は、ステップＳ３０２で正規化した境界ベクトルと現在の起点の応力ベクトルとの内積を算出する（Ｓ３０４）。応力ベクトルは、境界領域内に新たに含まれた頂点と現在の起点とを結んでなるベクトルの垂直ベクトルである。なお、応力ベクトルの算出処理の詳細は後述する。
【００３９】
エリア決定処理部１３０は、ステップＳ３０４にて算出した境界ベクトルと応力ベクトルとの内積の大きさに基づき、現在の起点は継続して起点となり得るか否かを判定する（Ｓ３０６）。ステップＳ３０６の判定の結果、内積が０より小さいとき、エリア決定処理部１３０は、現在の起点は継続して起点としないと判定する（Ｓ３０８：妥当性チェックＮＧ）。一方、ステップＳ３０６の判定の結果、内積が０以上であるとき、エリア決定処理部１３０は、現在の起点は継続して起点とすると判定する（Ｓ３１０：妥当性チェックＯＫ）。
【００４０】
図２２の説明に戻り、ステップＳ１０４での現在の起点の妥当性チェックがＮＧの場合、エリア決定処理部１３０は、１つ前の起点を現在の起点とし（Ｓ１０６）、ステップＳ１０２からの処理を繰り返す。一方、ステップＳ１０４での現在の起点の妥当性チェックがＯＫの場合、エリア決定処理部１３０は、現在の起点を継続して起点とし、ステップＳ１０８以降の処理を実行する。
【００４１】
ここで、起点の妥当性チェックについて補足説明すると、最終的に定義するエリアを規定するエリア定義線分は、起点となった頂点から形成される。ステップＳ１０４の起点の妥当性チェックでは、現在の起点が頂点および描画軌跡によって規定されるエリアの外郭を構成しないか否かが判断され、現在の起点がエリアの頂点を構成しないと判定した場合、１つ前の起点を現在の起点として処理を継続する。
【００４２】
具体的には、図２１に示すような状況の場合に１つ前の起点が現在の起点とされる。図２１では、ユーザが指定した頂点および描画軌跡の一部である頂点ＰＡ、ＰＢ、ＰＣおよび描画軌跡Ｌｉｎが示されている。現在の起点が頂点ＰＢであり、頂点ＰＢと描画軌跡Ｌｉｎ上の点とが順次結んで境界領域に追加されていく。この過程において、図２１の左側に示すように頂点ＰＢと描画軌跡Ｌｉｎ上の点とを結んだ境界線分Ｌｎ（ステップＳ３００では境界ベクトル）と、頂点ＰＢの応力ベクトルＶとの内積が０より小さいとき、頂点ＰＢを起点としないことが決定される。
【００４３】
このとき、最後に追加された境界線分Ｌｎと頂点ＰＢの応力ベクトルＶとのなす角θは鈍角となる。角度θが鈍角のとき、現在の起点である頂点ＰＢは、１つ前の起点である頂点ＰＡと次に探索される頂点ＰＣとを結ぶ線分により規定されるエリアに内包されることを意味する。これより、頂点ＰＢの応力ベクトルＶとの内積が０より小さいときには、図２１の右側に示すように、１つ前の起点である頂点ＰＡを現在の起点として、境界線分Ｌｎが追加されていくことになる。
【００４４】
次に、現在の起点の妥当性チェックがＯＫであると、エリア決定処理部１３０は、現在の起点について最初に設定された境界線分と、最後に追加された境界線分と、これらの境界線分の間に含まれる描画軌跡の一部とからなる境界領域を算出する。そして、エリア決定処理部１３０は、当該境界領域内に現在の起点以外の新たな頂点が含まれたか否かを判定する（Ｓ１０８）。
【００４５】
ステップＳ１０８にて新たな頂点が含まれない場合には、エリア決定処理部１３０は、現在の頂点を起点とする境界領域をさらに拡張することを決定し（Ｓ１１０）、ステップＳ１０２からの処理を繰り返す。一方、ステップＳ１０８にて新たな頂点が含まれた場合、エリア決定処理部１３０は、当該頂点を新たな起点とする（Ｓ１１２）。例えば、図１４に示すように、頂点Ｐ１を起点とする境界領域Ｓｂ１に頂点Ｐ２が含まれたとき、エリア決定処理部１３０は、頂点Ｐ２を新たな起点とする。
【００４６】
そして、エリア決定処理部１３０は、前の起点と新たな起点とを結び、エリア定義線分を設定する（Ｓ１１４）。例えば図１５に示すように、前の起点である頂点Ｐ１と新たな起点である頂点Ｐ２とが結ばれて、エリア定義線分Ｌｂ１が設定される。
【００４７】
その後、エリア決定処理部１３０は、新たな起点に対して応力ベクトルを付与する（Ｓ１１６）。応力ベクトルは、新たな起点と前の起点とを結んでなるベクトルの垂直ベクトルに基づき算出される。
【００４８】
具体的には、エリア決定処理部１３０は、まず、新たな起点と前の起点とを結んでなるベクトルの垂直ベクトルを算出し、前の起点と描画軌跡上の最後の点とを結ぶ境界ベクトルの向きに算出した垂直ベクトルの向きを合わせる。垂直ベクトルの向きは、境界ベクトルと新たな起点と前の起点とを結んでなるベクトルとの内積が負であるときには算出した垂直ベクトルの向きを反対にし、内積がゼロまたは正のときには算出した垂直ベクトルの向きをそのまま使用する。そして、エリア決定処理部１３０は、向きを調整した後、垂直ベクトルを単位ベクトルに変換する正規化処理を行い、新たな起点の応力ベクトルとする。
【００４９】
ステップＳ１１６の処理により、例えば図１６に示すように、新たな起点となった頂点Ｐ２の応力ベクトルＶｓ２が付与される。
【００５０】
次いで、エリア決定処理部１３０は、新たな起点がステップＳ１００で設定された第１ｐｅｇとなったか否かを判定する（Ｓ１１８）。新たな起点が第１ｐｅｇではない場合、定義するエリアがまだ閉じないため、エリア決定処理部１３０はステップＳ１０２からの処理を繰り返す。例えば図１７、図１８に示すように、エリア決定処理部１３０は、図１５にて新たに起点となったＰ２に基づき境界線分を取り、境界領域Ｓｂ２に次の頂点Ｐ４が含まれるまでステップＳ１０２〜Ｓ１１０を繰り返す。
【００５１】
そして、ステップＳ１１８にて新たな起点が第１ｐｅｇとなったとき、エリア決定処理部１３０は、これまでの処理で定義されたエリア定義線分を順に結び、エリアＳを決定する（Ｓ１２０）。例えば図１９に示す例では、４つのエリア定義線分Ｌｂ１、Ｌｂ２、Ｌｂ３、Ｌｂ４によりエリアＳが定義される。
【００５２】
エリア定義後は、各エリア内の所定の地点における緯度・経度を算出し、各エリア情報と対応させて保存する。なお、エリア情報は、フロア情報を含んでもよい。各エリア内の所定の地点は、エリアの重心点や中心点、エリア内の複数の頂点の中で最も左上にある頂点の位置、エリアに入り口（エントランス）が設定されている場合はその入り口の場所など、エリア内の特定の地点で設定するのがよい。各エリアの所定の地点における緯度・経度の算出は、フロアマップの２点（例えば、左上と右下）に緯度・経度情報が予め対応づけられていれば相対的に算出可能である。
【００５３】
このように各エリア情報に緯度・経度・フロア情報を対応させて保存し、ショップの名前等を後から登録することで、地図アプリケーション等を用いて所定のショップへの経路探索や近隣のショップの探索の際に必要な情報として利用できる。
【００５４】
以上、本実施形態に係る情報処理装置１００によるエリア定義処理について説明した。なお、図１２〜図１９に示した例は、説明を簡単にするため、指定された４つの頂点をすべて含む描画軌跡が入力された場合についてのものであったが、本実施形態に係るエリア定義処理は、頂点数が多く、描画軌跡が複雑な場合にも適用可能である。
【００５５】
例えば、ある起点についての境界領域を求める際に、１回の処理で複数の頂点が境界領域内に含まれる場合がある。描画軌跡Ｌｉｎはマウスによりカーソルを移動させて、あるいは操作体を画面にタッチした状態で移動させることによって入力される。ここで、入力される描画軌跡Ｌｉｎは離散化している点の配列であり、点は所定の時間間隔でマウスにより操作されているカーソルの現在位置あるいは操作体の現在のタッチ位置を記録することで配列に追加される。
【００５６】
点を追加する時間間隔が短い場合には描画軌跡Ｌｉｎを構成する各線分は短いものと仮定でき、この場合、点と点とを結ぶ線分を１つ追加しても新たに領域内に含まれる頂点は高々１つであると考えられる。しかし、次の点を追加するまでの時間内に、カーソルの位置あるいはタッチ位置が前回の記録位置よりも大きく移動した場合には、描画軌跡Ｌｉｎを構成する点と点とを結ぶ線分を追加したときに複数の頂点が含まれることがある。
【００５７】
例えば、図２０に示すように、頂点Ｐ２を起点として境界領域Ｓｂ２を拡張した結果、頂点Ｐ２、Ｐ４、Ｐ５、Ｐ６およびＰ７が含まれる境界領域Ｓｂ２が設定されたとする。このとき、エリア決定処理部１３０は、図２５に示す処理にしたがってエリア定義線分を決定する。
【００５８】
まず、エリア決定処理部１３０は、境界領域内において最後に追加した描画軌跡上の点と最も近い頂点（ｂｅｓｔ＿ｐｅｇ）を探索する（Ｓ４００）。最後に追加した描画軌跡上の点と最も近い頂点（ｂｅｓｔ＿ｐｅｇ）が新たな起点として定義される。図２０の例では、最後に追加した描画軌跡Ｌｉｎ上の点ＰＬｎに最も近い位置にある頂点Ｐ４が新たな頂点となる。
【００５９】
次いで、エリア決定処理部１３０は、元の起点と新たな起点とを結ぶ線分に対し、起点以外の頂点のうち当該線分よりエリア外側にある頂点を特定する（Ｓ４０２）。図２０の例では、頂点Ｐ２とＰ３とを結ぶ線分よりエリア外側にある頂点として、頂点Ｐ５、Ｐ６が特定される。頂点Ｐ２とＰ３とを結ぶ線分よりエリア内側にある頂点Ｐ７については、頂点Ｐ２とＰ３とを結ぶ線分がエリア定義線分に設定されることでエリア内に含まれるようになるため、考慮しなくともよい。
【００６０】
そして、エリア決定処理部１３０は、元の起点、新たな起点、さらにステップＳ４０２で特定された頂点がある場合には当該頂点を順に結び、エリア定義線分を設定する（Ｓ４０４）。例えば図２０の例では、頂点Ｐ２−Ｐ５−Ｐ６−Ｐ４を結ぶエリア定義線分が設定される。このように、１回の処理で複数の頂点が境界領域内に含まれた場合には、図２５の処理によりエリア定義線分を決定することで、指定された頂点と描画軌跡とに基づき、指定された頂点が漏れることなく定義されるエリア内に含めることができる。
【００６１】
また、ユーザが入力する描画軌跡は、定義するエリアに含まれる頂点を含むように入力されていればよく、どのような形状であってもよい。描画軌跡は描画開始点Ｐｓと描画終了点Ｐｅとが必ずしも一致していなくともよく、描画軌跡が閉じていない場合には、図２２の処理開始時に描画開始点Ｐｓと描画終了点Ｐｅとが接続される。このため、指定されている頂点と描画開始点Ｐｓおよび描画終了点Ｐｅとの位置関係によってはユーザが意図しないエリアが定義されることもある。この場合、ユーザは、後述する編集処理によって指定されたエリアを削除する処理を行い、改めて指定した頂点に対して描画軌跡を入力すればよい。
【００６２】
＜４．エリア編集＞
［４．１．複数エリアの設定］
上述したエリア定義処理により定義された１または複数のエリアは、例えば同様のレイアウトのマップに対して反映することも可能である。例えば図２６に示すように、あるビルにおいて、各階のレイアウトが同じように設定されているとする。このとき、各階それぞれエリアを定義することもできるが、階が異なるだけで同じ位置のエリアを定義する場合には、１つの階で定義したエリアを他の階に反映することができる。
【００６３】
このとき、ユーザは、対応付ける階において、それぞれ基準点を予め設定する。基準点は、例えば図２６に示すように、マップの対角線上にほぼ位置する隅部の２点とすることができる。図２６では、２階のフロアマップで基準点ｐ２１、ｐ２２が指定され、３階のフロアマップで基準点ｐ３１、ｐ３２が指定されている。この基準点に基づき、各階のフロアマップが対応付けられる。
【００６４】
このように、複数のマップが予め対応されているとき、例えば図２７に示すように、表示部１０の対象表示領域１２にある階のフロアマップを表示させ、６つの頂点Ｐ１〜Ｐ６が指定されたとする。このとき、定義するエリアに含まれる頂点を含むように描画軌跡Ｌｉｎを入力することで、情報処理装置１００によるエリア定義処理により、エリア定義線分が設定され、エリアＳｂＡ、ＳｂＢが定義される。
【００６５】
そして、１つのフロアマップに対して定義されたエリアＳｂＡ、ＳｂＢは、図２７に示すように、対象一覧１４ａから反映する対象を指定し、「Ｄｅｆｉｎｅ」ボタン１４ｃを押下することで、指定された階に対しても同じエリアが定義される。このように、頂点の指定と描画軌跡の入力とを何回も繰り返し行うことなく複数のマップに対してエリアを定義できるようにすることで、ユーザの入力負荷を軽減することができる。
【００６６】
［４．２．ユーザによるエリアの編集］
また、上述したエリア定義処理により定義されたエリアは、定義後にユーザが編集することも可能である。例えば、定義されたエリアの頂点を移動してエリアを拡大あるいは縮小したり、エリアを規定する頂点を削除したりすることができる。エリアの編集は、例えば図１に示した対象表示領域１２上での対象選択や、操作入力領域１４での操作入力により行うことができる。
【００６７】
例えばエリアの頂点を移動させる場合、まず、ユーザは、編集するエリアが含まれる処理対象を対象一覧１４ａから選択して対象表示領域１２に表示させ、編集するエリアを定義エリア一覧１４ｂから選択する。次いで、選択されたエリアを編集可能状態にする「Ｅｄｉｔ」ボタン１４ｇを押下して、エリアの編集を開始する。
【００６８】
エリアが編集可能状態となると、ユーザは対象表示領域１２上でエリアの編集を行う。例えば、ポインタでエリアを規定する頂点の１つを選択して移動させるドラッグ操作により、頂点の位置を変更するなどの編集ができる。図２８の右側の例において、ユーザがエリアＳを構成する頂点Ｐ１〜Ｐ５のうち、頂点Ｐ５をＰ５ａの位置へ移動させたとする。そして、ユーザが「Ｍｏｖｅ」ボタン１４ｅを押下すると、頂点の移動が確定される。
【００６９】
「Ｍｏｖｅ」ボタン１４ｅの押下を受けて、情報処理装置１００は頂点Ｐ４とＰ５とを結んだエリア定義線分Ｌｂ４を頂点Ｐ４とＰ５ａとを結んだエリア定義線分Ｌｂ４ａに修正する。同様に、頂点Ｐ５とＰ１とを結んだエリア定義線分Ｌｂ５は、頂点Ｐ５ａとＰ１とを結んだエリア定義線分Ｌｂ５ａに修正される。これより、頂点Ｐ１−Ｐ２−Ｐ３−Ｐ４−Ｐ５ａによる新たなエリアが設定される。
【００７０】
また、例えばエリアの頂点を削除する場合、ユーザは、上記と同様、編集するエリアが含まれる処理対象を対象一覧１４ａから選択して対象表示領域１２に表示させ、編集するエリアを定義エリア一覧１４ｂから選択する。次いで、選択されたエリアを編集可能状態にする「Ｅｄｉｔ」ボタン１４ｇを押下して、エリアの編集を開始する。
【００７１】
エリアが編集可能状態となると、ユーザは対象表示領域１２上でエリアの編集を行う。エリアを規定する頂点を削除するとき、ユーザが対象表示領域１２でポインタにより削除する頂点を選択し、「Ｄｅｌｅｔｅ」ボタン１４ｄを押下すると、選択した頂点の削除が確定される。
【００７２】
「Ｄｅｌｅｔｅ」ボタン１４ｄの押下を受けて、情報処理装置１００は削除対象である頂点と接続しているエリア定義線分を削除する。エリアを規定している頂点は、１つの頂点に対し２つのエリア定義線分が接続されている。したがって、１つの頂点が削除されると２つのエリア定義線分が削除される。そして、削除された頂点と結ばれていた２つの頂点同士を直接結び、新たなエリア定義線分が追加される。これにより、新たなエリアが設定される。
【００７３】
新たなエリアの設定は、情報処理装置１００によって自動的に行うようにしてもよく、ユーザが設定してもよい。
【００７４】
＜５．まとめ＞
以上、本発明の実施形態に係る情報処理装置１００の構成とこれによるエリア定義処理について説明した。本実施形態によれば、ユーザは、マップ等の処理対象に対して所定のエリアを定義する際に、処理対象上において少なくとも３つの頂点を指定し、エリアに含まれる頂点を囲むように描画軌跡を入力するだけで、エリアが自動的に定義される。これにより、エリア定義時にユーザが払う注意を低減し、容易にエリアを定義することが可能となる。
【００７５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７６】
例えば、上記実施形態では、フロアマップ等の地図を処理対象としたが、本技術はかかる例に限定されない。
【００７７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づき、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定し、前記エリア定義線分を結んで規定される領域をエリアとして決定するエリア決定処理部を備える、情報処理装置。
（２）前記エリア決定処理部は、
起点とした１つの前記頂点に対する前記境界領域内に新たな頂点が含まれたとき、前記頂点を新たな起点として前の起点とを結んだ線分をエリア定義線分として決定し、
前記新たな起点が最初に設定された起点に戻るまで、前記エリア定義線分を決定する処理を繰り返す、前記（１）に記載の情報処理装置。
（３）前記エリア決定処理部は、
前記新たな起点と前記前の起点とを結ぶ線分を規定するために形成された前記境界領域内に、前記新たな起点および前記前の起点以外の前記頂点が存在するとき、
前記描画軌跡の外側、または、前記新たな起点と前記前の起点とを結ぶ線分より定義するエリア外側に位置する前記頂点を、エリアを定義する頂点から除外する、前記（２）に記載の情報処理装置。
（４）前記エリア決定処理部は、前記新たな起点に対して、前記新たな起点と前記前の起点とを結ぶ線分に対して垂直な応力ベクトルを付与する、前記（２）または（３）に記載の情報処理装置。
（５）前記エリア決定処理部は、
現在の起点と前記描画軌跡上の点とを結ぶ境界線分を追加する際に、前記新たに追加した境界線分で表されるベクトルと前記起点の応力ベクトルとの内積が０より小さいか否かを判定し、
前記内積が０より小さい場合、起点を前記現在の起点から１つ前の起点に設定する、前記（４）に記載の情報処理装置。
（６）定義された前記エリアを規定する頂点は、ユーザの操作入力に応じて移動可能であり、
前記前記エリアを規定する頂点が移動されたとき、前記エリア決定処理部は、移動後の頂点に基づくエリアを再定義する、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）定義された前記エリアを規定する頂点は、ユーザの操作入力に応じて削除可能であり、
前記前記エリアを規定する頂点が削除されたとき、前記エリア決定処理部は、削除された頂点に接続された前記エリア定義線分を削除し、当該削除された頂点と結ばれていた２つの頂点を直接結んで新たなエリア定義線分を設定する、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とを検出すること、
前記頂点および前記描画軌跡に基づいて、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定すること、
前記エリア定義線分を結んで規定される領域をエリアとして決定すること、
を含む、情報処理方法。
（９）コンピュータに、
マップ内に定義するエリアの境界を決定するために指定された少なくとも３つの頂点と、前記各頂点のうち少なくとも３つを内包するように入力された描画軌跡とに基づいて、前記描画軌跡の入力順序に従って、前記描画軌跡に内包された前記頂点のうち起点とした１つの前記頂点と前記描画軌跡上の点とを結ぶ境界線分を順次追加して境界領域を設定し、前記エリアの境界を決定するエリア定義線分を構成する前記頂点を順次決定すること、
前記エリア定義線分を結んで規定される領域をエリアとして決定すること、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００７８】
１０      表示部
１２      対象表示領域
１４      操作入力領域
１００    情報処理装置
１１０    入力部
１２０    エリア指定入力情報処理部
１３０    エリア決定処理部
１４０    出力部
２００    検出部
３００    表示装置
【図１】
0006040873.tif 000002
【図２】
0006040873.tif 000003
【図３】
0006040873.tif 000004
【図４】
0006040873.tif 000005
【図５】
0006040873.tif 000006
【図６】
0006040873.tif 000007
【図７】
0006040873.tif 000008
【図８】
0006040873.tif 000009
【図９】
0006040873.tif 000010
【図１０】
0006040873.tif 000011
【図１１】
0006040873.tif 000012
【図１２】
0006040873.tif 000013
【図１３】
0006040873.tif 000014
【図１４】
0006040873.tif 000015
【図１５】
0006040873.tif 000016
【図１６】
0006040873.tif 000017
【図１７】
0006040873.tif 000018
【図１８】
0006040873.tif 000019
【図１９】
0006040873.tif 000020
【図２０】
0006040873.tif 000021
【図２１】
0006040873.tif 000022
【図２２】
0006040873.tif 000023
【図２３】
0006040873.tif 000024
【図２４】
0006040873.tif 000025
【図２５】
0006040873.tif 000026
【図２６】
0006040873.tif 000027
【図２７】
0006040873.tif 000028
【図２８】
0006040873.tif 000029