以下、本発明の実施形態におけるオブジェクト選択装置について、図面を参照しながら説明する。図1は、本発明の実施の形態によるオブジェクト選択装置の構成を示した図である。以下の説明では、このオブジェクト選択装置を、例えば、スマートフォン等のタッチパネルを備える携帯電話機に適用した場合を例に挙げて説明する。
本オブジェクト選択装置は、センサ部11、入力・状態変化検知部12、位置取得部13、方角取得部14、オブジェクト情報データベース15、表示情報抽出部16、入力部17、奥行き選択部18、表示判定部19、オブジェクト選択部20、関連情報取得部21、描画部22、グラフィックスフレームメモリ23、映像入力部24、映像フレームメモリ25、合成表示部26、ディスプレイ27、及びカメラ28を備えている。
図1において、入力・状態変化検知部12~合成表示部26の各ブロックは、コンピュータをオブジェクト選択装置として機能させるためのオブジェクト選択プログラムを実行することで実現される。このオブジェクト選択プログラムは、DVD-ROM、CD-ROM等のコンピュータ読み取り可能な記録媒体に格納して、ユーザに提供されてもよいし、ネットワーク接続されたサーバからダウンロードさせることで、ユーザに提供されてもよい。
センサ部11は、GPSセンサ111、方角センサ112、及びタッチパネル113を備えている。GPSセンサ111は、GPS衛星から送信される航法データを取得することで、オブジェクト選択装置の現在位置を周期的に検出し、検出した現在位置を示す位置情報を周期的に取得する。ここで、位置情報としては、例えばオブジェクト選択装置の緯度及び経度が含まれる。
方角センサ112は、例えば電子コンパスにより構成され、オブジェクト選択装置の現在の方角を周期的に検出し、検出した方角を示す方角情報を周期的に取得する。ここで、方角情報としては、例えば、オブジェクト選択装置の現在位置から所定の方向(例えば北向きの方向)を基準方向としたときの基準方向に対するオブジェクト選択装置の向きを採用することができる。なお、オブジェクト選択装置の向きとしては、例えば、北向きの方向とディスプレイ27の表示画面の垂直方向とのなす角度を採用することができる。
入力・状態変化検知部12は、ユーザによる操作指令の入力又はオブジェクト選択装置の状態変化を検知する。具体的には、入力・状態変化検知部12は、ユーザがタッチパネル113にタッチしたとき、ユーザが操作指令を入力したと判定し、操作指令入力通知を入力部17に出力する。
状態変化としては、例えば、オブジェクト選択装置の位置の変化及び方角の変化が含まれる。入力・状態変化検知部12は、GPSセンサ111から周期的に出力される位置情報が変化したとき、オブジェクト選択装置の位置が変化したと判定し、状態変化通知を位置取得部13に出力する。
また、入力・状態変化検知部12は、方角センサ112から周期的に出力される方角情報が変化したとき、オブジェクト選択装置の方角が変化したと判定し、状態変化通知を方角取得部14に通知する。
位置取得部13は、GPSセンサ111により検出された位置情報を取得する。具体的には、位置取得部13は、入力・状態変化検知部12から状態変化通知が出力されたとき、GPSセンサ111により検出された位置情報を取得し、取得した位置情報を保持する。位置取得部13が保持する位置情報は、オブジェクト選択装置を携帯するユーザが移動して、GPSセンサ111によって新たな位置情報が検出される毎に逐次更新される。
方角取得部14は、方角センサ112により検出された方角情報を取得する。具体的には、方角取得部14は、入力・状態変化検知部12から状態変化通知が出力されたとき、方角センサ112により検出された方角情報を取得し、取得した方角情報を保持する。方角取得部14が保持する方角情報は、オブジェクト選択装置を携帯するユーザが方角を変えてオブジェクト選択装置の向きが変更される毎に、逐次更新される。
オブジェクト情報データベース15は、実オブジェクトの情報を保持するデータベースである。ここで、実オブジェクトとは、カメラ28により撮像され、ディスプレイ27に表示された映像中に含まれる種々の物体であり、例えばビル等の建物、建物に入っている店舗、及び店舗内に設けられた特定の物体等が該当する。但し、これらに限定されず、オブジェクトの抽象度や粒度に応じて種々の物体が採用され、街全体を指す場合もある。
図2は、オブジェクト情報データベース15のデータ構造の一例を示した模式図である。オブジェクト情報データベース15は、1つの実オブジェクトに対して1つのレコードが割り当てられたリレーショナルデータベースにより構成され、例えば、緯度、経度、及び関連情報のフィールドを含んでいる。
つまり、オブジェクト情報データベース15は、各実オブジェクトのそれぞれについて、緯度、経度、及び関連情報を関連づけて記憶している。ここで、緯度及び経度は、予め測定された各実オブジェクトの地球上での二次元の位置情報である緯度及び経度を示している。なお、図2の例では、緯度及び経度しか含まれていないため、各実オブジェクトを2次元的な位置でしか指定することができない。そこで、緯度及び経度に加えて、各実オブジェクトの地上からの高さを示す高さをオブジェクト情報データベース15に含ませることが好ましい。これにより、各実オブジェクトの位置を3次元的に特定することができる。
関連情報は、実オブジェクトの内容を説明するための情報であり、例えば、実オブジェクトが店舗の場合、その関連情報は、その店舗の住所、電話番号、及びクーポン等の店舗情報が該当する。また、実オブジェクトが店舗の場合、その関連情報として店舗の評判などを示す口コミ情報を含ませてもよい。
また、実オブジェクトが建物である場合、その建物が建造された年月日、建築家の名前等を関連情報として採用すればよい。また、実オブジェクトが建物の場合、その建物の中に含まれる店舗の店舗情報や、その店舗情報へのリンク情報等を含ませてもよい。なお、オブジェクト情報データベース15は、オブジェクト選択装置の内部に予め保持されるものであってもよいし、ネットワークを介して接続されたサーバ上に保持されるものであってもよい。
図1に戻り、表示情報抽出部16は、位置取得部13により取得された最新の位置情報及び方角取得部14により取得された最新の方角情報とから、図3に示す奥行き空間を生成し、生成した奥行き空間にオブジェクト情報データベース15に記憶された実オブジェクトROをプロットすることで表示対象となる実オブジェクトROを抽出する。
図3は、表示情報抽出部16が生成する奥行き空間の一例を示した図である。図3に示すように奥行き空間は、ディスプレイ27に表示される表示画像の奥行き方向を示す奥行き軸Zによって規定される2次元空間である。
表示情報抽出部16は、下記のようにして奥行き空間を設定する。まず、位置取得部13によりオブジェクト選択装置の現在の位置情報が更新されると、表示情報抽出部16は、更新された現在の位置情報が示す緯度及び経度を現在位置Oとして2次元空間内に設定する。ここで、2次元空間は、例えば、緯度に対応するM軸と経度に対応するN軸との直交する2軸によって規定された2次元の仮想空間である。また、N軸は方角センサ112が検出する北向きの方向に対応している。
次に、表示情報抽出部16は、現在位置Oを始点とし、方角取得部14が保持している方角情報が示す方角に向けて奥行き軸Zを設定する。方角情報が例えば北向きの方向を基準として時計回りにθ1であったとすると、奥行き軸ZはN軸に対してθ1の角度で設定される。以下、現在位置Oから離れる方向を奥側と記述し、現在位置Oに近づく方向を手前側と記述する。
次に、表示情報抽出部16は、奥行き軸Zによって所定の内角θが2等分され、かつ、現在位置Oを通る2本の方角境界L1,L2を設定する。ここで、内角θとしては、例えばカメラ28の映像範囲に応じて予め設定された角度が採用され、例えばカメラ28の水平方向の画角が採用されている。
次に、表示情報抽出部16は、オブジェクト情報データベース15に格納された各実オブジェクトROのうち、方角境界L1,L2で囲まれる領域内に位置する実オブジェクトを奥行き空間内にプロットする。この場合、表示情報抽出部16は、オブジェクト情報データベースに格納された実オブジェクトの緯度及び経度から方角境界L1,L2で囲まれる領域内に位置する実オブジェクトを抽出し、抽出した各実オブジェクトを奥行き空間にプロットする。
なお、オブジェクト情報データベース15に格納された各実オブジェクトROを予め2次元空間内に設定しておいてもよく、この場合、表示情報抽出部16は、実オブジェクトROをプロットする処理を省くことができる。
次に、表示情報抽出部16は、現在位置Oから距離Zmin離間した位置に近方境界L3を設定する。ここで、近方境界L3は、現在位置Oを中心とする半径がZminの円周のうち、方角境界L1,L2で挟まれる曲線である。
また、表示情報抽出部16は、現在位置Oから距離Zmaxだけ離間した位置に遠方境界L4を設定する。ここで、遠方境界L4は、現在位置Oを中心とする半径がZmaxの円周のうち、方角境界L1,L2によって挟まれる曲線である。
ディスプレイ27には、方角境界L1,L2、近方境界L3、及び遠方境界L4によって囲まれる表示領域GD内にプロットされた実オブジェクトROがタグT1によって表示される。
図4は、本実施の形態においてディスプレイ27に表示される表示画像の一例を示した図であり、(a)はカメラ28により撮像された映像とタグT1とが重畳して表示された表示画像を示し、(b)は(a)に示す複数のタグT1の中から所望のタグが選択された場合にディスプレイ27に表示される表示画像を示し、(c)は(a)の変形例の表示画像を示している。図4(c)については後述する。
図4(a)、(b)に示すタグT1は、背後に表示された実オブジェクトに付随する情報が存在していることをユーザに報知するための小さな円状の画像であり、オブジェクトの一例に相当する。なお、タグT1の形状としては円状に限定されず、矩形状、多角形等の種々の形状を採用することができる。
図4(a)に示すタグT1の中からいずれか1つのタグT1がユーザにより選択されると、図4(b)に示すように、選択されたタグT1の関連情報がディスプレイ27に表示される。
図3に示すように、現在位置Oから無限遠の実オブジェクトのタグT1をディスプレイ27に表示すると、ディスプレイ27に表示されるタグT1の数が膨大となる。また、ユーザが目視できないほど遠方に位置する実オブジェクトのタグT1も表示されるため、これらのタグT1が、ユーザの近傍にあり本来表示するべきタグT1の表示の邪魔となる。
そこで、本実施の形態では、現在位置Oに対して遠方境界L4より遠くに位置する実オブジェクトのタグT1が表示されないようにタグT1の表示に制限を設けている。
また、現在位置Oから極端に近い実オブジェクトのタグT1を表示しても、これらのタグT1が表示画像を占有して邪魔になる虞がある。そこで、本実施の形態では、現在位置Oに対して近方境界L3よりも手前側に位置する実オブジェクトのタグT1が表示されないようにタグT1の表示に制限を設けている。
図1に戻り、入力部17は、入力・状態変化検知部12により操作指令入力通知が出力されたとき、ユーザがタッチした表示画像上の座標データを取得する。ここで、座標データとしては、表示画像の垂直方向の座標と水平方向の座標とを含む2次元の座標データが採用される。
また、入力部17は、取得した座標データに基づいて、ユーザが入力した操作指令が奥行きを選択するための奥行き選択指令であるか、タグT1を選択するためのタグ選択指令であるかを判定する。
図5は、本発明の実施の形態による表示画像の一例を示している。図5の例では、右側にスライド操作部SPが表示されている。スライド操作部SPは、枠体WKと枠体WKによって囲まれたスライドバーBRとを含む。ユーザはスライドバーBRをスライドさせることで奥行き選択指令を入力する。
したがって、入力部17は、取得した座標データがスライドバーBRの領域内に位置する場合、ユーザは奥行き選択指令を入力したと判定する。一方、入力部17は、取得した座標データがいずれかのタグT1の領域内に位置する場合、ユーザはオブジェクト選択指令を入力したと判定する。
なお、入力部17は、取得した座標データがいずれのタグT1の領域内に位置していなくても、座標データが示す位置から一定の距離範囲内にタグT1が位置している場合、ユーザはオブジェクト選択指令を入力したと判定する。
そして、入力部17は、ユーザが奥行き選択指令を入力したと判定した場合、タッチパネル113に対してタッチが開始されたときの座標データとタッチが終了されたときの座標データとからスライドバーBRのスライド量の変化量を特定し、特定した変化量にタッチが開始されたときのスライド量を加えることで、スライドバーBRのスライド量(全長x)を特定し、特定したスライド量を奥行き選択部18に出力する。一方、入力部17は、ユーザがオブジェクト選択指令を入力したと判定した場合、取得した座標データをオブジェクト選択部20に出力する。
なお、図1の例では入力デバイスとしてタッチパネル113を採用したが、これに代えて、マウスや赤外線ポインタ等の表示画像の特定の位置を指定することが可能なポインティングデバイスであればどのような入力デバイスを採用してもよい。
また、入力デバイスとして、テレビを遠隔から操作するリモコンのように、オブジェクト選択装置とは別体で設けられたものを採用してもよい。
奥行き選択部18は、ユーザによって入力される奥行き選択指令に基づいて、奥行き軸Zにおける位置を示す奥行き選択位置を選択する。具体的には、奥行き選択部18は、スライド操作部SPのスライドバーBRのスライド量を奥行選択指令として受け付け、スライド量に連動させて奥行き選択位置を変化させる。
図6は、スライドバーBRがスライドされた際の奥行き空間を示した図である。奥行き選択部18は、図5に示すスライドバーBRのスライド量を示す全長xに応じて、図6に示す奥行き軸Z上の位置に奥行き選択位置Zsを設定する。つまり、奥行き選択部18は、全長xが0の場合は、奥行き選択位置ZsをZminの位置、すなわち、近方境界L3に設定する。また、奥行き選択部18は、スライドバーBRが上側にスライドされて全長xが増大すると、それに応じて奥行き選択位置Zsを奥行き軸Zに沿って奥側に移動させる。また、奥行き選択部18は、スライドバーBRの全長xがXmaxになると、奥行き選択位置ZsをZmaxの位置、すなわち、遠方境界L4に設定する。
また、奥行き選択部18は、スライドバーBRが下側にスライドされて全長xが減少すると、それに応じて奥行き選択位置Zsを奥行き軸Zに沿って手前側に移動させる。
具体的には、奥行き選択部18は、奥行き選択位置Zsを以下の式(1)に従って算出する。
Zs=(Zmax-Zmin)*((x/Xmax)2)+Zmin (1)
式(1)に示すように(x/Xmax)の項は2乗されている。そのため、スライドバーBRの全長xが増大するにつれて、全長xの変化率に対する奥行き選択位置Zsの変化率が増大されることになる。
これにより、全長xが短いほど奥行き選択位置Zsの選択の分解能は高く、全長xが長いほど奥行き選択位置Zsの分解能は低くなる。その結果、ユーザは手前側のタグT1の表示と非表示との調整を精度良く行うことができる。
なお、奥行き選択部18は、ユーザによりスライドバーBRの位置が上下されると、それに応じてディスプレイ27の表示画面を更新させてスライドバーBRがスライド表示されるように描画部22に指示する。
また、奥行き選択部18は、スライドバーBRの全長xを微調整するための微調整操作部DPがユーザにより操作されると、それに従って全長xをスライドさせ、それに連動させて、奥行き選択位置Zsを設定してもよい。
図7は、微調整操作部DPが表示された表示画面を示した図である。図7に示すように微調整操作部DPは、スライド操作部SPの例えば右側に表示されており、一部が表示画面の表面から露出され、表示画面と平行な方向が回転軸となって回転される回転ダイヤルを模擬した表示態様で表示されている。
奥行き選択部18は、ユーザが微調整操作部DPの表示領域をタッチし、指を上側又は下側に移動させると、その指の移動量FL1に応じて微調整操作部DPの回転量を離散的に決定し、決定した回転量に応じた変化量ΔxでスライドバーBRの全長xを上側又は下側にスライドさせ、かつ、決定した回転量で微調整操作部DPを回転表示させる。
ここで、奥行き選択部18は、ユーザにより微調整操作部DPが操作されたときの指の移動量FL1に対する全長xの変化量Δx1が、ユーザがスライドバーBRを直接操作したときの指の移動量FL1に対する全長xの変化量Δx2よりも小さくなるようにスライドバーBRをスライド表示させる。
つまり、指の移動量がFL1であるとすると、スライドバーBRが直接操作された場合、スライドバーBRの全長xの変化量Δx1は例えばFL1となるが、微調整操作部DPが操作された場合、変化量Δx2は例えばα・Δx1となる。但し、αは0<α<1である。本実施の形態では、αとして例えば1/5が採用されるが、これに限定されず、1/3、1/4、1/6等の値を採用してもよい。
なお、微調整操作部DPはダイヤル式である必要はなく、指の移動量FL1に応じて連続的に回転量が決定される回転体により構成してもよい。この場合、ユーザはより細かく奥行き選択位置Zsを調節することができる。
タッチパネル113の操作に不慣れなユーザにとって、スライドバーBRを直接操作することは容易ではない。そこで、微調整操作部DPを設け、回転操作に連動してスライドバーBRをスライドさせている。
図1に戻り、表示判定部19は、奥行き空間内において、各実オブジェクトROが奥行き選択位置Zsに対して手前側に位置するか奥側に位置するかを判定し、奥側に位置する実オブジェクトROをタグT1が表示される表示対象の実オブジェクトROとして抽出する。
これにより、図7に示すスライドバーBRがユーザにより上側に向けてスライドされる、又は微調整操作部DPを上側に回転させることでスライドバーBRが上側に向けてスライドされると、それに応じて手前側に表示されたタグT1から順次に非表示にされていき、表示されるタグT1の数が減らされる。
一方、スライドバーBRが垂直方向の下側に向けてスライドされる、又は微調整操作部DPを下側に回転させることでスライドバーBRが下側に向けてスライドされると、それに応じて奥側から手前側に向けて表示されるタグT1の数が順次に増やされる。
その結果、手前に表示されたタグT1に邪魔されて表示されていなかったタグT1や、あまり露出されていなかったタグT1が大きく露出され、ユーザはこれらのタグT1の選択する操作を容易に行うことができる。
ここで、表示判定部19は、図6に示す奥行き選択位置Zsよりも手前側に位置し、かつ方角境界L1,L2に囲まれる領域に位置する実オブジェクトROのタグT1を半透明で表示するように描画部22に描画させてもよい。この場合、描画部22は、所定の透過率でタグT1とカメラ28により撮像された映像データとを例えばαブレンディング等の手法を用いて合成すればよい。
図1に戻り、オブジェクト選択部20は、入力部17によりオブジェクト選択指令が入力されたと判定され、タッチ位置の座標データが出力されると、表示対象のタグT1の中からユーザが選択したタグT1を特定する。
入力デバイスとしてタッチパネル113を用いた場合、ユーザが認識するタッチ位置と、装置が認識するタッチ位置とがずれる虞がある。したがって、タッチ位置の近傍に複数のタグT1が表示される場合、ユーザが選択しようとしたタグT1とは異なるタグT1が選択される虞がある。
本実施の形態によるオブジェクト選択装置では、ユーザは選択しようとするタグT1よりも手前に表示されたタグT1を非表示にすることができるため、ユーザが選択しようとするタグT1はタッチ位置の周辺に表示されたタグT1の中で最も手前に表示される可能性が高い。
そこで、オブジェクト選択部20は、タッチ位置から一定の距離範囲内において最も手前に表示されたタグT1をユーザが選択したタグT1として特定する。
図8(a)は、ユーザのタッチ位置を示した図であり、図8(b)は同時に複数の関連情報が表示された場合の画面図を示している。図8(a)において、PQxはユーザがタッチしたタッチ位置を示している。この場合、オブジェクト選択部20は、タッチ位置PQxから一定の距離dの範囲内に位置するタグT1_1,T1_2,T1_3,T1_4のうち、最も手前に位置するタグT1_1をユーザが選択したタグとして特定する。ここで、オブジェクト選択部20は、タグT1_1~T1_4に対応する実オブジェクトROの奥行き空間における位置と現在位置Oとの距離が最も短いタグT1を、最も手前のタグT1として特定すればよい。
このように、オブジェクト選択部20は、基本的にはタッチ位置から一定の距離d内のタグT1の中から最も手前のタグT1をユーザが選択したタグT1として特定しているが、ユーザが選択しようとするタグT1の近傍に複数のタグT1が表示されている場合、ユーザはどの位置をタッチすれば所望のタグT1を選択することができるか分からない場合がある。
そこで、オブジェクト選択部20は、タッチ位置に対応する奥行き空間の位置に小領域RDを設定し、設定した小領域RD内に位置する全ての実オブジェクトROの関連情報をディスプレイ27に表示させる。
図9は、オブジェクト選択部20が奥行き空間に設定する小領域RDを示した図である。まず、オブジェクト選択部20は、最も手前に位置すると判定したタグT1に対応する実オブジェクトROの奥行き空間の位置を特定する。図9では、実オブジェクトRO_fがその実オブジェクトROであったとする。次に、オブジェクト選択部20は、図8(a)において、タッチ位置PQxが表示画像の下辺を左端から内分する内分比(m:n)を求める。次に、オブジェクト選択部20は、図9に示す奥行き空間において、現在位置Oを中心として実オブジェクトRO_fと現在位置Oとの距離を半径とする円周を等距離曲線Lxとして設定する。
次に、等距離曲線Lxを方角境界Z1を基準としてm:nに内分する点を、タッチ位置PQxに対応する奥行き空間の位置Pxとして求める。
次に、現在位置Oから位置Pxを通る直線L6を設定する。次に、直線L6によって所定の角度θ3が2等分されるように現在位置Oを通る2本の直線L7,L8を設定する。次に、位置Pxを直線L6に沿ってΔzだけ奥側にずらしずらした位置と現在位置Oとの距離を半径とし現在位置Oを中心とする円周を等距離曲線L9として設定する。以上により、等距離曲線Lx,L9と直線L7,L8とによって囲まれる領域が小領域RDとして設定される。
なお、角度θ3及びΔzとしては、例えば、想定されるユーザが認識するタッチ位置とタッチパネル113が認識するタッチ位置とのずれに基づいて予め定められた値を採用することができる。
そして、オブジェクト選択部20は、設定した小領域RDに含まれる実オブジェクトROを関連情報取得部21に通知すると、関連情報取得部21は、通知された実オブジェクトROの関連情報をオブジェクト情報データベース15から抽出し、抽出した関連情報を描画部22に描画させる。
これにより、ディスプレイ27には、図8(b)に示すような表示画像が表示される。図8(b)の例では、小領域RDに4つの実オブジェクトROが含まれていたため、4つの実オブジェクトROの関連情報が表示されている。
ここで、図8(b)において、表示する関連情報としてオブジェクト情報データベース15に格納された関連情報のうち実オブジェクトROの名称等の一部の情報のみを表示させておく。そして、ユーザによりタッチパネル113がタッチされ、いずれか1つの実オブジェクトROが選択されると、その実オブジェクトROの詳細な関連情報が表示されるようにしてもよい。これにより、一度に複数の関連情報を表示する際の表示スペースの節約を図り、より多くの関連情報を表示することができる。また、一度に表示する関連情報がディスプレイ27の表示領域に収まらない場合は、これらの関連情報をスクロール表示させればよい。
図1に戻り、関連情報取得部21は、オブジェクト選択部20によりユーザが選択したと判定されたタグT1の関連情報をオブジェクト情報データベース15から抽出し、抽出した関連情報を描画部22に表示させる。なお、上述したように、小領域RDに複数の実オブジェクトROが含まれている場合には、これら複数の実オブジェクトROの関連情報をオブジェクト情報データベース15から抽出し、抽出した複数の関連情報を描画部22に表示させる。
描画部22は、表示判定部19により抽出された表示対象の実オブジェクトROの表示画像における表示位置を決定し、決定した表示位置にタグT1を描画する。
ここで、描画部22は、奥行き空間において、現在位置Oと表示対象となる実オブジェクトROとの位置関係からタグT1の表示位置を決定すればよい。具体的には、下記のようにして表示位置を決定すればよい。
まず、図6に示すように、現在位置Oを中心とし実オブジェクトRO_1を通る円周上であって、方角境界L1,L2に囲まれる曲線を等距離曲線L5として設定する。次に、現在位置Oと実オブジェクトRO_1との距離Zoを求める。
次に、図7に示すように距離Zoに対応する矩形領域SQ1を表示画像に設定する。ここで、矩形領域SQ1は、その中心が例えば表示画像の中心OGに位置し、かつ、表示画像の形状と相似な形状を有している。なお、矩形領域SQ1のサイズは、距離Zoに応じて予め定められた縮尺率で縮尺されたサイズを有している。ここで、縮尺率と距離Zoとの関係は、距離Zoが長くなるにつれて縮尺率が増大し、距離Zoが短くなるにつれて縮尺率が減少し、距離Zoが0のとき1となるような関係を有している。
次に、図6に示す実オブジェクトRO_1が等距離曲線L5を内分する内分比を求める。ここでは、方角境界L1を基準として実オブジェクトRO_1が等距離曲線L5をm:nに内分したとする。
次に、図7に示す表示画像の下辺をm:nに内分する点Q1を求め、求めた点Q1の表示画像における水平方向の座標を、実オブジェクトRO_1のタグT1の表示位置P1の水平方向の座標H1として求める。
次に、オブジェクト情報データベース15に実オブジェクトRO_1の高さが記憶されている場合は、その高さhを距離Zoに応じた縮尺率で縮尺して高さh´を求め、矩形領域SQ1の下辺から垂直方向に高さh´だけ離間した表示画像の垂直方向の座標を表示位置P1の垂直方向の座標V1として求める。なお、実オブジェクトRO_1の高さが記憶されていない場合、座標H1を通る垂直方向の直線上の適当な位置にタグT1を表示すればよい。
次に、距離Zoに応じた縮尺率でタグT1の面積を縮尺し、縮尺したタグT1を表示位置P1に表示する。奥行き選択部18は、タグT1が表示対象となる実オブジェクトROのそれぞれについて、上記の処理を行い、表示位置を決定する。
図1に戻り、描画部22は、奥行き選択部18からの描画要求にしたがってスライド操作部SP及び微調整操作部DPをグラフィックスフレームメモリ23に描画する。また、描画部22は、関連情報取得部21からの描画要求にしたがって関連情報をグラフィックスフレームメモリ23に描画する。
グラフィックスフレームメモリ23は、描画部22により描画された画像データを保持するメモリである。映像入力部24は、カメラ28により所定のフレームレートで撮像された実世界の映像データを取得し、映像フレームメモリ25に順次に書き込む。映像フレームメモリ25は映像入力部24から所定のフレームレートで出力された映像データを一時的に保持するメモリである。
合成表示部26は、映像フレームメモリ25により保持された映像データとグラフィックスフレームメモリ23に保持された画像データとを重畳し、実際にディスプレイ27に表示される表示画像を生成する。ここで、合成表示部26は、グラフィックスフレームメモリ23に保持された画像データを、映像フレームメモリ25に保持された映像データよりも手前に重畳する。これにより、タグT1、スライド操作部SP、及び微調整操作部DPが実世界の映像よりも手前に表示される。ディスプレイ27は、表面にタッチパネル113が貼り付けられた例えば、液晶パネル又は有機ELパネル等で構成され、合成表示部26で合成された表示画像を表示する。カメラ28は、所定のフレームレートで実世界の映像データを取得し映像入力部24に出力する。
図10は、本実施の形態によるオブジェクト選択装置がタグT1を表示するまでの処理を示したフローチャートである。まず、入力・状態変化検知部12は、ユーザによる操作指令の入力又はオブジェクト選択装置の状態変化を検知する(ステップS1)。ここで、操作指令の入力は、ユーザがタッチパネル113をタッチしたことであり、状態変化としては、オブジェクト選択装置の位置の変化及び方角の変化が含まれる。
次に、入力・状態変化検知部12がオブジェクト選択装置の位置の変化を検知した場合(ステップS2:YES)、位置取得部13はGPSセンサ111から位置情報を取得する(ステップS3)。
一方、入力・状態変化検知部12がオブジェクト選択装置の方角の変化を検知した場合(ステップS2:NOかつステップS4:YES)、方角取得部14は方角センサ112から方角情報を取得する(ステップS5)。
次に、表示情報抽出部16は、オブジェクト選択装置の最新の位置情報及び方角情報を用いて、奥行き空間を生成し、表示領域GD内に位置する実オブジェクトROを表示対象となる実オブジェクトROとして抽出する(ステップS6)。
一方、入力部17が、ユーザにより奥行き選択指令が入力されたと判定した場合(ステップS4:NOかつステップS7:YES)、奥行き選択部18は、ユーザにより操作されたスライドバーBRの全長xから、奥行き選択位置Zsを設定する(ステップS8)。
次に、表示判定部19は、表示情報抽出部16により抽出された表示対象の実オブジェクトROの中から、奥行き選択部18により設定された奥行き選択位置Zsよりも奥側に位置する実オブジェクトROを表示対象の実オブジェクトROとして抽出する(ステップS9)。
次に、描画部22は、奥行き空間において、現在位置Oと実オブジェクトROとの位置関係からタグT1の表示位置を決定する(ステップS10)。
次に、描画部22は、決定した表示位置に表示対象の実オブジェクトROのタグT1を描画する(ステップS11)。次に、合成表示部26は、グラフィックスフレームメモリ23が保持する画像データが、映像フレームメモリ25に保持された映像データに対して上側に重畳されるように画像データ及び映像データを合成して表示画像を生成し、ディスプレイ27に表示する(ステップS12)。
図11は、ユーザが選択したタグT1に対応する関連情報がディスプレイ27に表示されるまでの処理を示したフローチャートである。
まず、入力・状態変化検知部12は、ユーザから操作指令が入力されたことを検知する(ステップS21)。次に、入力部17がユーザからの操作指令がタグ選択指令であると判定すると(ステップS22:YES)、オブジェクト選択部20は、図8(a)に示すように、タッチ位置PQxから距離d内にあるタグのうち最も手前に位置するタグT1_1を抽出する(ステップS23)。
一方、入力部17がユーザからの操作指令がタグ選択指令でないと判定すると(ステップS22:NO)、処理をステップS21に戻す。
次に、オブジェクト選択部20は、図9に示すように、タグT1_1に対応する実オブジェクトRO_fの奥行き空間での位置に小領域RDを設定し、設定した小領域RDに含まれる実オブジェクトROを抽出する(ステップS24)。
次に、関連情報取得部21は、抽出された実オブジェクトROの関連情報をオブジェクト情報データベース15から取得する(ステップS25)。次に、描画部22は、関連情報取得部21により取得された関連情報をグラフィックスフレームメモリ23に描画する(ステップS26)。
このとき、オブジェクト選択部20が複数の実オブジェクトROを抽出した場合は、図8(b)のように複数の実オブジェクトROの関連情報が描画される。
次に、合成表示部26は、グラフィックスフレームメモリ23が保持する画像データが、映像フレームメモリ25が保持する映像データよりも上側に表示されるように、画像データ及び映像データを合成し、ディスプレイ27に表示する(ステップS27)。
なお、オブジェクト選択部20が複数の実オブジェクトROを抽出した場合、奥行き選択部18が設定した奥行き選択位置Zsに最も近い1つ実オブジェクトROのみの関連情報をディスプレイ27に表示してもよい。
また、図8(b)に示す複数の関連情報の中から1つの関連情報を選択させるための画像をディスプレイ27に表示し、ユーザにより選択された1つの関連情報をディスプレイ27に表示させるようにしてもよい。
また、関連情報を表示するとき、合成表示部26は、映像フレームメモリ25に保持された映像データを合成せずに、グラフィックスフレームメモリ23に保持された画像データのみから表示画像を生成し、ディスプレイ27に表示させてもよい。
また、上記説明では、図7に示すようにスライドバーBRを用いてユーザに奥行き選択位置Zsを選択させたが、本発明はこれに限定されず、図12に示す選択操作部KPを用いてユーザに奥行き選択位置Zsを選択させてもよい。
図12(a)、(b)は、選択操作部KPが表示された表示画像を示した図である。選択操作部KPが採用される場合、奥行き空間は、奥行き軸Zを区画することで複数の奥行き領域に区画されている。図13は、図12の選択操作部KPが採用された場合の奥行き空間を示した図である。
図13に示すように、奥行き空間は、奥行き軸Zを区画することで7個の奥行き領域OD1~OD7に区画されている。具体的には、奥行き空間は、現在位置Oを中心として同心円状に7個の領域に表示領域GDを区画することで、7個の奥行き領域OD1~OD7が設定されている。ここで、奥行き領域OD1~OD7のそれぞれの幅は、現在位置Oから離れるにつれて小さくなるように設定されてもよいし、同一であってもよい。
図12(a)に示すように、選択操作部KPは、奥行き領域OD1~OD7に対応付けられ、色分けして配列された複数の選択領域DD1~DD7を含んでいる。ここで、奥行き領域OD1~OD7は7個存在するため、選択領域DD1~DD7は7個存在する。
ユーザは、タッチパネル113をタッチすることで、選択領域DD1~DD7のうちいずれか1つの選択領域を選択して奥行き操作指令を入力する。以下、奥行き領域OD1~OD7を区別しない場合は奥行き領域ODと記述し、選択領域DD1~DD7を区別しない場合は、選択領域DDと記述する。また、奥行き領域ODの個数及び選択領域DDの個数は7個に限定されず、2個以上6個以下、8個以上の適当な個数を採用してもよい。
描画部22は、各実オブジェクトROに対し、属している奥行き領域ODに対応付けられた選択領域DDの色と同一の色を付して各実オブジェクトROのタグT1を描画する。
例えば、選択領域DD1~DD7に対して第1~第7の色が付されているとすると、描画部22は、奥行き領域OD1に位置する実オブジェクトROのタグT1には第1の色を付し、奥行き領域OD2に位置する実オブジェクトROのタグT1には第2の色を付すというようにして、各タグT1に色を付す。
そして、ユーザにより例えば選択領域DD3がタッチされると、奥行き選択部18は、選択領域DD3に対応付けられた奥行き領域OD3の手前側の境界線の奥行き軸Zにおける位置を奥行き選択位置Zsとして選択する。
そして、表示判定部19は奥行き選択位置Zsよりも奥側に位置する実オブジェクトROを表示対象の実オブジェクトROとして抽出し、抽出した実オブジェクトROのタグT1を描画部22に描画させる。したがって、ユーザにより選択領域DD3がタッチされた場合、図12(a)において、第1及び第2の色で表示されたタグT1が非表示となり、第3~第7の色で表示されたタグT1のみが表示される。
なお、第1の色~第7の色としては、第1の色から第7の色に向かうにつれて色が徐々に変化するようなグラデーションの色を採用することが好ましい。
上記説明では、カメラ28が撮像した映像データに含まれる実オブジェクトROにタグT1を重畳させて表示させる態様を採用したが本発明はこれに限定されない。例えば、アイコンやフォルダを3次元的に表示するコンピュータやAV機器のグラフィカルユーザインターフェイスに本発明を適用してもよい。
この場合、上記説明で用いたアイコンやフォルダからなるオブジェクトを上記の実オブジェクトROと同様に取り扱い、図4(c)に示すように、タグT1に代えてオブジェクトOBを3次元的に表示すればよい。図4(c)の例では、手前側のオブジェクトOBから奥側のオブジェクトOBに向けて徐々にオブジェクトOBの面積が小さくされており、オブジェクトOBが3次元的に表示されていることが分かる。
この場合、奥行き空間に各オブジェクトOBの位置をプロットしておき、スライドバーBRのスライド量に応じて奥行き選択位置Zsが設定されると、表示判定部19は、奥行き選択位置Zsよりも奥側のオブジェクトOBを表示対象のオブジェクトOBとして抽出し、描画部22に描画させればよい。
また、図12(b)に示すように、図12(a)と同様にして、各オブジェクトOBが属している奥行き領域ODに対応する色を用いて、各オブジェクトOBを表示してもよい。この場合、選択操作部KPの中のいずれかの選択領域DDがタッチされると、タッチされた選択領域DDに対応する奥行き領域ODの手前側の境界線の奥行き軸Zにおける位置が奥行き選択位置Zsとして設定され、表示判定部19は、奥行き選択位置Zsより奥側のオブジェクトOBを表示対象のオブジェクトOBとして抽出し、描画部22に描画させればよい。
また、図12(a)、(b)に示す奥行き選択操作部KPにスライドバーBRを含ませても良い。この場合、ユーザはスライドバーBRの先端を所望の選択領域DDに位置決めすると、その選択領域DDに対応する奥行き領域ODよりも奥側のタグT1又はオブジェクトOBがディスプレイ27に描画される。
また、上記説明では、オブジェクト選択装置をスマートフォンで構成する例を示したが、これに限定されず、ヘッドマウントディスプレイに適用してもよい。
また、上記説明では、スライド操作部SP、選択操作部KP、及び微調整操作部DPをディスプレイ27に表示させる態様を示したが、これに限定されず、物理的な入力デバイスとして構成してもよい。
また、上記説明では、スライド操作部SP、選択操作部KP、及び微調整操作部DPをディスプレイ27に表示させる態様を示したが、これに限定されず、オブジェクト選択装置が、例えば加速度センサのような機器自体の傾きを検出する機能を備えたモバイル端末の場合、この端末の傾きの変化の方向および変化の量に基づき奥行き選択指令を行うようにしてもよい。この場合、例えば、携帯端末を手前または奥に傾けることがスライド操作部SPのスライドバーBRを上下にスライドさせることに相当し、傾きの変化の量がスライドバーBRのスライド量に相当する。
本発明の技術的特徴をまとめると下記のようになる。
(1)本発明の一局面によるオブジェクト選択装置は、表示部に3次元的に表示された複数のオブジェクトをユーザに選択させるオブジェクト選択装置であって、所定の奥行き空間に配置された各オブジェクトの位置に基づいて、前記表示部における各オブジェクトの表示位置を決定し、決定した表示位置に各オブジェクトを描画する描画部と、ユーザによって入力される奥行き選択指令に基づいて、前記奥行き空間を規定する奥行き軸における位置を示す奥行き選択位置を選択する奥行き選択部と、前記奥行き空間内において、各オブジェクトが前記奥行き選択位置に対して手前側に位置するか奥側に位置するかを判定し、奥側に位置するオブジェクトのみを表示対象のオブジェクトとして抽出する表示判定部とを備え、前記描画部は、前記表示判定部によって抽出された表示対象のオブジェクトを描画する。
また、本発明の別の一局面によるオブジェクト選択プログラムは、表示部に3次元的に表示された複数のオブジェクトをユーザに選択させるオブジェクト選択装置としてコンピュータを機能させるオブジェクト選択プログラムであって、所定の奥行き空間に配置された各オブジェクトの位置に基づいて、前記表示部における各オブジェクトの表示位置を決定し、決定した表示位置に各オブジェクトを描画する描画部と、ユーザによって入力される奥行き選択指令に基づいて、前記奥行き空間を規定する奥行き軸における位置を示す奥行き選択位置を選択する奥行き選択部と、前記奥行き空間内において、各オブジェクトが前記奥行き選択位置に対して手前側に位置するか奥側に位置するかを判定し、奥側に位置するオブジェクトのみを表示対象のオブジェクトとして抽出する表示判定部としてコンピュータを機能させ、前記描画部は、前記表示判定部によって抽出された表示対象のオブジェクトを描画する。
また、本発明の更に別の一局面によるオブジェクト選択方法は、表示部に3次元的に表示された複数のオブジェクトをユーザに選択させるオブジェクト選択方法であって、コンピュータが、所定の奥行き空間に配置された各オブジェクトの位置に基づいて、前記表示部における各オブジェクトの表示位置を決定し、決定した表示位置に各オブジェクトを描画する描画ステップと、コンピュータが、ユーザによって入力される奥行き選択指令に基づいて、前記奥行き空間を規定する奥行き軸における位置を示す奥行き選択位置を選択する奥行き選択ステップと、コンピュータが、前記奥行き空間内において、各オブジェクトが前記奥行き選択位置に対して手前側に位置するか奥側に位置するかを判定し、奥側に位置するオブジェクトのみを表示対象のオブジェクトとして抽出する表示判定ステップとを備え、前記描画ステップは、前記表示判定ステップによって抽出された表示対象のオブジェクトを描画する。
これらの構成によれば、表示画像の奥行き方向を示す奥行き軸によって規定される奥行き空間に各オブジェクトが配置されている。各オブジェクトは、奥行き空間の配置された位置に対応する表示画像の表示位置に描画され、表示画像上で3次元的に表示される。
ユーザにより奥行選択指令が入力されると、その奥行選択指令に基づいて、奥行き選択位置が選択される。各オブジェクトは、奥行き選択位置に対して手前側に位置するか奥側に位置するが判定され、奥側に位置するオブジェクトのみが表示画像に描画される。
つまり、ユーザは、奥行き選択位置を選択すると、その奥行き選択位置よりも手側に位置するオブジェクトを非表示にすることができる。そのため、手前側に位置するオブジェクトの存在によって僅かしか表示されていなかったオブジェクト、或いは全く表示されていなかったオブジェクトが、手前に位置するオブジェクトが非表示となることで大きく露出され、ユーザはこのオブジェクトを容易かつ迅速に選択することができる。
(2)上記構成において、ユーザからの操作によって所定方向にスライドされるスライド操作部を更に備え、前記奥行き選択部は、前記スライド操作部のスライド量を前記奥行選択指令として受け付け、前記スライド量に連動させて前記奥行き選択位置を変化させることが好ましい。
この構成によれば、ユーザはスライド操作部のスライド量を増大させていくと、それに連動して手前側のオブジェクトが漸次に非表示とされていくため、簡便な操作により非表示にするオブジェクトを選択することができる。
(3)上記構成において、ユーザからの操作によって前記スライド操作部のスライド量を微調整する微調整操作部を更に備え、前記スライド量は、ユーザにより前記微調整操作部が操作されたときに前記表示部に表示される変化量が、ユーザにより前記スライド操作部が操作されたときに前記表示部に表示される変化量よりも小さく設定されていることが好ましい。
この構成によれば、ユーザはスライド操作部のスライド量を微調整することができるため、スライド操作部のスライド量をより正確に調節することができる。これにより、ユーザは所望のオブジェクトを確実に露出させ、当該オブジェクトを確実に選択することができる。また、スライド操作部を直接操作して、スライド操作部のスライド量を粗調整し、その後、微調整操作部を用いてスライド操作部のスライド量を微調整するという操作態様が可能となり、迅速かつ正確にスライド量を調整することができる。また、スライド操作部の操作に慣れていないユーザであっても、微調整操作部を操作することで、スライド操作部のスライド量を所望のスライド量に容易に調節することができる。
(4)上記構成において、前記微調整操作部は、回転ダイヤルにより構成され、前記奥行き選択部は、前記回転ダイヤルを回転させることでスライドされた前記スライド操作部のスライド量に連動させて前記奥行き選択位置を変化させることが好ましい。
この構成によれば、ユーザは回転ダイヤルの操作に連動して邪魔なオブジェクトを非表示にすることができる。
(5)上記構成において、前記奥行き選択部は、前記スライド量が増大するにつれて、前記スライド量の変化率に対する前記奥行き選択位置の変化率を増大させることが好ましい。
この構成によれば、ユーザの関心の高い手前のオブジェクトの表示と非表示との調整を精度良く行うことができる。
(6)上記構成において、前記奥行き空間は、前記奥行き軸を区画することで複数の奥行き領域に区画され、各奥行き領域に対応付けられ、色分けして配列された複数の選択領域を含み、前記奥行き選択指令を受け付ける選択操作部を更に備え、前記描画部は、各オブジェクトが属している奥行き領域に対応付けられた前記選択領域の色と同一の色を付して各オブジェクトを描画し、前記奥行き選択部は、ユーザが選択した前記選択領域に対応付けられた奥行き領域の手前側の境界線の前記奥行き軸における位置を前記奥行き選択位置として選択することが好ましい。
この構成によれば、所望のオブジェクトに付された色と同一色の選択領域を選択すると、当該オブジェクトよりも手前側に表示された異色のオブジェクトが非表示にされるため、色を指標として所望のオブジェクトを容易に露出させることができる。
(7)上記構成において、前記表示部は、タッチパネルにより構成され、ユーザがタッチした表示画像上のタッチ位置から一定の領域内に位置する前記表示対象のオブジェクトのうち最も手前に表示されたオブジェクトを選択するオブジェクト選択部を更に備えることが好ましい。
ユーザは所望のオブジェクトが表示画像上で最も手前に表示されるように奥行き選択位置を調整すると考えられる。したがって、タッチ位置が所望のオブジェクトからずれていたとしても、ユーザは所望のオブジェクトを選択することができる。
(8)上記構成において、前記オブジェクト選択部は、前記タッチ位置に対応する前記奥行き空間の位置から一定の距離範囲内に位置する前記表示対象のオブジェクトを選択候補のオブジェクトとして抽出することが好ましい。
この構成によれば、ユーザがタッチしたタッチ位置の周囲に多数のオブジェクトが存在している場合、これら多数のオブジェクトが選択候補のオブジェクトとして抽出される。そのため、選択候補として抽出されたオブジェクトの中から、所望のオブジェクトをユーザに確実に選択させることができる。