以下、図面を参照しながら本発明の実施形態について説明する。以下、本明細書において、同一機能を有するものは、特に断らない限り、同一の符号を付し、繰り返しの説明は省略する。また、以下、本明細書では、動画、静止画を併せて、画像と呼ぶ。
<<第一の実施形態>>
まず、本発明の第一の実施形態の概要を説明する。本実施形態の携帯機器は、3次元面で全方向(360度全周(全天周))の画像を取得可能なカメラを備え、継続的に全周の画像を取得する。そして、その中から、ユーザの進行方向の画像を抽出し、携帯機器のディスプレイに表示する。ユーザの進行方向は、携帯機器に備えられたセンサにて決定する。
図1(a)に示すように、本実施形態では、ユーザ101は、携帯機器100を携帯し、そのディスプレイ110の表示を見ながら移動する。このとき、携帯機器100では、所定のアプリケーションが稼動し、図1(b)に示すように、当該アプリケーションの画像が、ディスプレイ110の一部の領域112に表示される。また、ディスプレイ110の他の領域111には、ユーザ101の進行方向の画像が表示される。
以下、領域112を、第一表示領域112と呼ぶ。また、領域111を、進行方向表示領域111と呼ぶ。
図1(b)の例では、所定のアプリケーションとして、例えば、ゲームのアプリケーションが稼動する。従って、第一表示領域112には、ゲームのアプリケーションに関する画像が表示される。すなわち、第一の表示領域は、任意のアプリケーションの画像を表示する任意のアプリ画面である。
また、進行方向表示領域111には、携帯機器100が備えるカメラ120で撮影した画像から切り出した、ユーザ101の進行方向の画像が表示される。本実施形態では、カメラ120は、常時、携帯機器100の周囲360度の画像を取得する。そして、携帯機器100は、自身が備える各種のセンサ信号からユーザ101の進行方向を決定し、当該方向の画像を抽出し、進行方向表示領域111にその画像を表示する。
これを実現する本実施形態の携帯機器100のハードウェア構成を説明する。図2は、本実施形態のハードウェア構成図である。
本図に示すように、携帯機器100は、ディスプレイ110と、カメラ120と、CPU130と、記憶装置140と、センサ150と、通信器160と、ハードウェアスイッチ(ハードSW)170と、拡張インタフェース(I/F)180と、システムバス131と、を備える。
CPU130は、携帯機器100全体を制御するマイクロプロセッサユニットである。システムバス131はCPU130と携帯機器100内の各動作ブロックとの間でデータ送受信を行うためのデータ通信路である。システムバス131は、CPU130から伸びており、システムバス131にCPU130により制御されたり、情報を取得したりするハードウェアが接続される。
記憶装置140は、フラッシュメモリ141と、SD-RAM(Synchronous Dynamic Random Access Memory)142と、外部メモリインタフェース(I/F)143と、を備える。
フラッシュメモリ141は、ストレージとして機能する。フラッシュメモリ141には、オペレーティングシステムなどの基本動作プログラムやその他の動作プログラム、動作プログラムの動作に必要な各種のデータ等が格納される。例えば、頻繁に更新されない、地図データ等も保存される。
SD-RAM142は、基本動作プログラムやその他の動作プログラム実行時のワークエリアである。
外部メモリI/F143は、例えば、メモリカード等の外部メモリの接続インタフェースである。外部メモリには、音楽データや動画データ等、容量が嵩むが、アクセス速度が重視されないデータが格納される。外部メモリには、本実施形態では、例えば、カメラ120で撮影した画像ファイルやネットワークからダウンロードしたデータ等が格納される。
なお、フラッシュメモリ141およびSD-RAM142は、CPU130と一体構成であっても良い。また、フラッシュメモリ141に記憶された各動作プログラムは、例えば、ネットワーク105上の各配信サーバからのダウンロード処理により更新および機能拡張することができる。
通信器160は、近接無線通信器161と、無線通信器162と、電話網通信器163と、無線LANI/F164と、を備える。
近接無線通信器161は、例えば、NFCタグリーダ等であり、例えば、買い物時等に、商品に貼り付けられているNFCタグを読み取るために用いられる。無線通信器162は、例えば、Bluetooth(登録商標)通信等のインタフェースである。電話網通信器163は、移動体電話通信網の基地局との無線通信により、通話およびデータの送受信を行うインタフェースである。無線LANI/F164は、公共のWi-Fiステーション等を経由してネットワーク105に接続するI/Fである。
なお、通信器160は、携帯機器100の現在位置の測定にも応用して利用することができる。
センサ150は、携帯機器100の位置や状態を検出するためのセンサ群である。本実施形態では、例えば、GPS(Global Positioning System)受信器151と、ジャイロセンサ152と、気圧計(高度計)153と、加速度センサ154と、地磁気センサ155と、を備える。
加速度センサ154は、携帯機器100の加速度を検出する。本実施形態では、携帯機器100に設定された機器座標系のx、y、z各軸方向の加速度を検出する。検出される値の単位は、重力加速度を基準とした「G」(1.0Gは約9.8m/s2)である。測定した加速度は、一度積分することで、携帯機器100の移動速度を、もう一度積分することで、携帯機器100の移動距離を、それぞれ、算出することが出来る。算出された移動速度および移動距離は、他のセンサの検出結果と併せて、後述するように、携帯機器100の進行方向や地図の上の位置の算出に利用することが出来る。
ジャイロセンサ152は、携帯機器100の姿勢(傾き)を検出する。本実施形態では、携帯機器100に設定された機器座標系のx、y、z各軸を中心とした回転の速度(角速度)を検出する。検出される角速度の単位は、rad/s(ラジアン毎秒)である。
GPS受信器151は、GPS衛星等の測位衛星からの信号を受信し、携帯機器100の現在位置を測定する電波受信処理部である。気圧計(高度計)153は、気圧を計測し、計測した気圧から、現在の高度(標高)を算出する。地磁気センサ155は、地磁気の方向を検出し、携帯機器100の方位を出力する。GPS受信器151が検出する現在位置、気圧計153が計測する標高、地磁気センサ155が出力する方位は、例えば、経度、緯度、標高を、x、y、z値とする座標系等の値として出力される。
これらのセンサ群により、携帯機器100の位置、傾き、方角、動き等を検出する。なお、位置情報は、上述のようにGPS受信器151により取得する。しかし、GPS電波が入りにくい場所等では、電話網通信器163により基地局の位置情報および電話通信電波の伝搬遅延を用いた位置情報取得方法により取得してもよい。また、無線LANI/F164を介してWi-FiのAP(アクセスポイント)装置の位置情報を用いて取得してもよい。また、これらのセンサ群は、必ずしも全てを備えていなくてもよい。
ディスプレイ110は、例えば、液晶パネル等の表示デバイスであり、CPU130で処理した画像データを表示し、ユーザに提供する。なお、画像信号プロセッサを備える場合は、画像データは、この画像信号プロセッサで処理してもよい。いずれにしても、図示を省略したビデオRAMを備え、ビデオRAMに入力された画像データに基づいてディスプレイ110が駆動される。また、CPU130または画像信号プロセッサは、必要に応じてフォーマット変換、メニューやその他のOSD(On-Screen Display)信号の重畳処理等を行う。
また、本実施形態では、ディスプレイ110は、携帯機器100に対する操作指示の入力を受け付ける操作器の機能も兼ねる。本実施形態では、ディスプレイ110に重ねて配置したタッチパネルである。
なお、操作指示は、ハードSW170を介しても受け付ける。また、拡張I/F180に接続されたキーボード等の操作器を介して携帯機器100への操作指示を受け付けてもよい。また、有線通信または無線通信により接続された別体の携帯情報端末機器を介して携帯機器100への操作指示を受け付けてもよい。なお、ハードSW170は、携帯機器100を操作するための電源SW等である。
拡張I/F180は、携帯機器100の機能を拡張するためのインタフェース群である。本実施形態では、映像/音声I/F、USB(Universal Serial Bus)I/F等を備える。映像/音声I/Fは、外部映像/音声出力機器からの映像信号/音声信号の入力、外部映像/音声入力機器への映像信号/音声信号の出力、等を行う。USBI/Fは、PC(Personal Computer)等の他の装置と接続してデータの送受信を行う。また、キーボードやその他のUSB機器の接続を行っても良い。
カメラ120は、レンズを介して入射した光を電気信号(デジタル情報)に変換するイメージセンサを備える撮影装置である。イメージセンサは、例えば、CCD(Charge-Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の電子デバイスである。なお、イメージセンサから出力される電気信号を、RAWデータと呼ぶ。
本実施形態では、少なくとも、全周カメラ121を備える。全周カメラ121は、携帯機器100の周囲全方向(360度)を撮影可能なカメラである。全周カメラ121の詳細は、後述する。また、携帯機器100のディスプレイ110側の面に配置される前面カメラ122と、携帯機器100のディスプレイ110と反対側の面に配置される背面カメラ123を備えていてもよい。前面カメラ122は、例えば、ユーザ自身を撮影する。また、背面カメラ123は、通常の撮影を行う。
[機能ブロック]
次に、本実施形態の携帯機器100の機能について説明する。図3は、本実施形態の携帯機器100の機能ブロック図である。ここでは、特に進行方向撮影表示機能に係る構成に主眼をおいて説明する。
携帯機器100は、撮影部211と、進行方向算出部212と、画像切出部213と、表示制御部214と、動作制御部215と、通信処理部216と、を備える。また、画像記憶部221と、データ記憶部222とを備える。
撮影部211は、所定の時間間隔で、カメラ120を介して取得したRAWデータを、画像データとして画像記憶部221に記憶する画像処理エンジンである。画像記憶部221は、カメラ120の各イメージセンサに対応する画素メモリを備える。撮影部211は、RAWデータに各種の画像処理を施し、対応する画素メモリに書き込む。なお、本実施形態では、カメラ120から出力されたデータであるRAWデータを使う他、一般にカメラセンサと共に搭載される信号処理LSIを通して得られるJPEG等の一般的な画像データを用いて処理を行ってもよい。
本実施形態では、撮影部211は、全周カメラ121により取得された、携帯機器100の周囲360度のRAWデータを、全周画像として、画像記憶部221に記憶する。各イメージセンサの配置位置と、当該イメージセンサで取得するRAWデータの撮影方向との関係については、後述する。なお、画像記憶部221に記憶する際、取得時刻も対応づけて記憶してもよい。また、撮影部211は、カメラ120に含まれていてもよい。
進行方向算出部212は、携帯機器100のユーザ101の進行方向を決定する。進行方向は、センサ150の出力を用いて決定する。本実施形態では、加速度センサ154の出力と、ジャイロセンサ152の出力と、を用いて決定する。
本実施形態では、例えば、加速度センサ154の、機器座標系のx、y、z、各軸方向の出力値(各軸の成分)を積算することにより、その時点の各軸方向の速度を得、各軸方向の速度ベクトルの合成値として進行方向を決定する。このとき、ジャイロセンサ152の出力値を用い、基準の姿勢からの各軸方向の傾き分を補正する。例えば、ジャイロセンサ152により携帯機器100の保持方向の傾きベクトルを検出する。そして、この傾きベクトルを用い、加速度センサ154の出力積分値(速度)が、地上に対する進行方向の速度になるよう補正する。本実施形態では、進行方向は、例えば、機器座標系の各軸方向の成分を有する単位ベクトルとして算出する。決定した進行方向は、画像切出部213に出力する。
画像切出部213は、進行方向算出部212が決定した進行方向に対応する画像を、画像記憶部221に記憶される最新の画像から切り出す。本実施形態では、例えば、機器座標で表される進行方向を中心として、所定のサイズ(切出サイズ)の画像を、切り出し、抽出する。抽出した画像(進行方向画像)は、表示制御部214に出力される。
なお、切出サイズは、予め定めておく。また、加速度センサ154の出力を用いて、携帯機器100の速度を算出し、速度に応じて切出サイズを決定してもよい。すなわち、速度が速いほど、切出サイズを大きくする。
また、このように、本実施形態では、進行方向算出部212が算出する進行方向は、進行方向画像として切出す画像の中心を決定するために用いる。このため、撮影部211が、カメラ120で取得したRAWデータを画像記憶部221に記憶するタイミングと、進行方向算出部212が進行方向を算出するタイミングとは、同期していることが望ましい。しかしながら、必ずしも同期している必要はない。カメラ120からは、常時所定のフレームレートで動画像(RAWデータ)が出力される。このため、進行方向算出部212が進行方向を算出したタイミングで、その時点の最新のRAWデータを処理すればよい。
動作制御部215は、上述の進行方向表示機能以外の、携帯機器100の各種機能の動作を制御する。例えば、各種機能は、ゲーム機能、情報処理機能、通話機能、情報送受信機能、ネットワーク検索機能等である。このうち、表示に係る情報、画像データ、動画データは、表示制御部214に出力する。ユーザからの指示は、ディスプレイ110およびハードSW170を介して入力される。
通信処理部216は、通信器160を介した通信を制御する。本実施形態では、動作制御部215の指示に従って通信を制御する。また、動作制御部215が制御に必要な情報を、通信器160を介して取得する。
表示制御部214は、ディスプレイ110への表示を制御する。本実施形態では、図1(b)に示すように、ディスプレイ110の表示領域を2つに分割し、進行方向表示領域111には、全周カメラ121で取得したデータから得た画像を、第一表示領域112には、ユーザが指示した処理結果の画像を表示するよう制御する。すなわち、進行方向表示領域111に画像切出部213から受け取った進行方向画像を表示させ、第一表示領域112に動作制御部215から受け取った画像を表示させる。
これらの各部は、CPU130が、フラッシュメモリ141に予め格納されたプログラムを、SD-RAM142にロードして実行することにより実現される。また、画像記憶部221と、データ記憶部222とは、フラッシュメモリ141に設けられる。
なお、各部が処理を行う際に必要なデータは、データ記憶部222に記憶される。また、処理途中に算出される中間データ、処理により得られる最終データも、データ記憶部222に記憶される。
[全周カメラ]
ここで、本実施形態の全周カメラ121について説明する。全周カメラ121の説明にあたり、以下、本明細書では、携帯機器100固有の機器座標系を用いる。機器座標系は、携帯機器100の例えば、重心を原点とし、ディスプレイ110に直交する軸をz軸とする。また、ディスプレイに平行な平面において、短手方向をx軸方向、長手方向をy軸方向とする。なお、原点は、重心に限定されない。例えば、後述するように、全周カメラ121の主点であってもよい。
全周カメラ121は、図4(a)および図4(b)に示すように、2つの広角カメラ121aと121bとで構成される。各広角カメラ121aは、例えば、x軸方向およびy軸方向に、それぞれ、180度の画角を有する。
次に、全周カメラ121の光学系を、図5(a)~図5(c)を用いて説明する。
図5(a)は、一般のカメラの光学系構成を説明する図である。一般に、レンズの中心とみなす点を主点Pと呼ぶ。主点Pから距離fの位置にイメージセンサ320が配置される。fは、光学レンズの焦点距離である。
図5(a)に示すように、カメラの光学系において、撮影する対象物(被写体)330の全ての箇所からの光は、必ず主点Pを通過してイメージセンサ320に投射される。これは所定の口径を有する光学レンズを用いた場合でも、ピンホールレンズと呼称される、例えば薄い紙に限りなく径がゼロに近い穴を設けたものを主点に設置しても同様である。
この光学系を用いて、被写体330の下端をレンズの光軸311に合わせた状態で撮影する。なお、被写体330の上端の点は、光軸311と成す角度である画角(入射角)θvの角度でレンズに入射し、イメージセンサ320の位置yaに投射されるものとする。このとき、位置yaの値は、以下の式(1)で算出される。
ya=f・tanθv ・・・(1)
この光学系により撮影できる最大画角θmaxは、焦点距離fとイメージセンサ320の大きさとに依存する。例えば、最大画角θmaxを90度に近づけるようにするには、焦点距離fを限りなく小さくするか、イメージセンサ320の大きさを限りなく大きくする必要がある。本方式による撮影画角は、大きくてもθmax=50度程度、上下合わせておよそ100度程度までが実用範囲とされている。
本実施形態の全周カメラ121は、上述のように、y軸方向およびx軸方向に180度の画角を有する広角カメラ121aおよび121bを背中合わせに2台設置する。主点Pを、機器座標系の原点とし、レンズの光軸311をz軸方向とし、以下、説明する。
この場合、図5(b)に示すように、y軸方向の入射角θvでレンズに入射する光は、半径fとする仮想曲面320a上に投射される。この場合の、被写体330の上端の、仮想曲面320a上の投射位置ybは、以下の式(2)で算出される。
yb=f・θv ・・・(2)
すなわち、機器座標系においてy軸方向の入射角θvで入射した光が、仮想曲面320a上の位置ybに結像される。
同様に、図5(c)に示すように、x軸方向の画角(入射角)θhでレンズに入射する光は、半径fの仮想曲面320a上の位置xbに結像する。この場合の、被写体330の上端の、仮想曲面320a上の投射位置xbは、以下の式(3)で算出される。
xb=f・θh ・・・(3)
従って、x軸方向、y軸方向の入射角、すなわち、撮影方向(θh、θv)と、仮想曲面320a上の結像座標(xb、yb)と、の関係は、以下の式(4)で表される。
(xb、yb)=(f・θh、f・θv) ・・・(4)
実際のイメージセンサは、球面ではなく、図5(a)に示すような平面で構成される。本実施形態の全周カメラ121では、例えば、図6に示すように、光軸311からの距離xb、ybに応じた位置に結像するよう光学系を構成する(等距離射影方式)。
撮影部211は、被写体330の方向(光の入射方向;x軸方向の入射角θhとy軸方向の入射角θv)に応じて、式(4)で算出される位置のイメージセンサで取得したRAWデータを、対応する画素位置の画像メモリに書き込み、画像データとして保存する。
なお、図5(a)に示す平面構造のイメージセンサ320を用いて、図5(b)に示す光学系を実現するためには、例えば、魚眼レンズの置かれた原点から見える像をそのまま仮想の半球面に貼り付け、光線の入射する角度と像高とが比例するように結像面上に画像を形成する魚眼レンズを用いる。具体的には、例えば、特開2009-058648号公報の図6に開示されるような複雑なレンズ構成を以て光学系を構築することにより、図5(a)に相当する平面構造のイメージセンサ320で上述の画像を取得できる。
[切出中心画素算出手法]
次に、上記全周カメラ121で取得した画像から、進行方向の画像を切り出す手法について説明する。画像切出部213は、切出し時において、進行方向算出部212が算出した進行方向の、x軸方向成分とy方向成分とz成分とから、θvとθhとを算出し、対応する画素(xb、yb)を、切出中心画素として特定する。そして、切出中心画素を中心に、所定範囲の画素群を進行方向画像として抽出する。抽出する画素群の範囲は、ディスプレイ110の解像度に合わせて、予め定めておく。
進行方向算出部212は、進行方向TDを、機器座標系の、例えば、単位ベクトルとして算出する。例えば、図7(a)に示すように、進行方向TDが得られた場合、画像切出部213は、まず、xz平面に垂線をおろし、進行方向TDの、x軸方向の入射角θhに相当する角度TDhを算出する。また、yz平面に垂線をおろし、進行方向TDの、y軸方向の入射角θvに相当する角度TDvを算出する。
なお、図7(b)に示すように、進行方向TDとして得られた単位ベクトルの各軸方向の成分を、xp、yp、zp、とすると、TDh、TDvは、それぞれ、以下の式(5)、式(6)で表される。
TDh=arctan(xp/zp) ・・・(5)
TDv=arctan(yp/zp) ・・・(6)
従って、切出中心画素(xb、yb)の各成分は、以下の式(7)、式(8)で表される。
xb=f・TDh=f・arctan(xp/zp)・・・(7)
yb=f・TDv=f・arctan(yp/zp)・・・(8)
画像切出部213は、進行方向算出部212が算出した進行方向の単位ベクトルの、各軸方向の成分から、上記手順で切出中心画素を求め、当該画素を中心に、所定範囲の画素群を切り出し、進行方向画像とする。
[進行方向画像表示処理]
次に、本実施形態の携帯機器100による、進行方向画像表示処理の流れを説明する。図8は、本実施形態の進行方向画像表示処理の処理フローである。本処理は、携帯機器100の、進行方向表示機能の開始の指示を受け付けたことを契機に、所定の時間間隔で実行される。所定の時間間隔は、例えば、1秒ごと、10秒ごと等、ごく短期間に設定される。なお、進行方向表示機能開始の指示は、ディスプレイ110を介して、または、ハードSW170を介して受け付ける。
なお、下記説明では、撮影部211による画像取得タイミング、すなわち、画像記憶部221への画像記憶タイミングと、進行方向算出部212による、進行方向算出タイミングとは、同期しているものとして説明する。
まず、撮影部211が、カメラ120で取得した画像を、画像記憶部221に記憶する撮影を行う(ステップS1101)。この時、各撮影領域のデータは、上記式(4)で特定される画素位置に記憶する。
また、進行方向算出部212は、センサ150で取得した信号から、携帯機器100の進行方向TDを算出する(ステップS1102)。算出結果は、機器座標系の各軸方向の成分で表される単位ベクトルとする。
なお、撮影部211による画像取得処理と、進行方向算出部212による進行方向決定処理とは、どちらを先に行ってもよい。
進行方向算出部212が進行方向を取得すると、画像切出部213は、進行方向TDに対応する切出中心画素(xb、yb)を上記手法で特定し、進行方向画像を切り出す(ステップS1103)。
表示制御部214は、進行方向算出部212が、進行方向画像を切り出すと、進行方向表示領域111に表示する画像を、新たに切出された画像に更新し(ステップS1104)、処理を終了する。
この間、動作制御部215は、ユーザからの指示に従って、その他のアプリケーションを動作させ、第一表示領域112に、関連画像を表示させる。
以上説明したように、本実施形態の携帯機器100は、当該携帯機器100の周囲全方向の画像を、第一の時間間隔で取得する撮影部211と、当該携帯機器100の進行方向TDを、第二の時間間隔で算出する進行方向算出部212と、進行方向算出部212が進行方向を算出する毎に、最新の画像から、当該進行方向TDを中心とする所定範囲の画像を進行方向画像として切り出す画像切出部213と、進行方向画像を、当該携帯機器のディスプレイ110の予め定めた進行方向表示領域111に表示する表示制御部214と、を備える。なお、表示制御部214は、ディスプレイ110の、進行方向表示領域111とは異なる第一表示領域112に、ユーザが指定した映像を表示させる。
このように、本実施形態によれば、携帯機器100のディスプレイ110は、進行方向の映像を表示する進行方向表示領域111と、ユーザが実行しているアプリケーションに関する画像および/または情報を表示する第一表示領域112とを備える。そして、ユーザの進行方向を、ごく短い所定の時間間隔で算出し、当該進行方向を中心とする所定範囲の画像を、略リアルタイムで進行方向表示領域111に表示する。
このため、ユーザは、アプリケーションの表示と同時に、進行方向の映像を、見ることができる。また、進行方向の映像は、ごく短い時間間隔で常に取得した全周画像から切出したものである。ユーザの進行方向の変化に追従して、滑らかに変化する。従って、利便性を低下させることなく、ユーザにとって必要な周囲の情報を、適切に提供できる。
これにより、本実施形態の携帯機器100では、他のアプリケーション起動時も、進行方向の画像がディスプレイ110に表示される。従って、ユーザ101は、他のアプリケーション実行時であっても、進行方向の状況を確認できる。このため、進行方向前方の障害物を事前に認識でき、例えば、他の人や物などの障害物への衝突を回避できる。
<<第二の実施形態>>
次に、本発明の第二の実施形態を説明する。第一の実施形態では、進行方向を、携帯機器100に搭載されたセンサからの信号のみを用いて算出している。これに対し、本実施形態では、進行方向の決定に、さらに、地図データの情報を加味する。
本実施形態の携帯機器100は、基本的に第一の実施形態と同様の構成および機能を有する。以下、本実施形態について、第一の実施形態と異なる構成に主眼をおいて説明する。
図9(a)に示すように、ユーザ101が歩行している道路419がカーブしていることがある。このような場合、携帯機器100に搭載されているセンサのみで、進行方向を決定すると、進行方向TDは、例えば、矢印411の方向と決定される。しかしながら、実際にユーザ101が進行する方向は、矢印412の方向である。本実施形態では、地図データを用いて、算出された進行方向を補正する。
これを実現する、本実施形態の携帯機器100のハードウェア構成は、第一の実施形態と同様である。本実施形態の携帯機器100の機能ブロック図を図10に示す。本実施形態の携帯機器100の機能ブロックは、基本的に第一の実施形態と同様である。
ただし、本実施形態では、第一の実施形態の構成に加え、進行方向補正部217をさらに備える。また、フラッシュメモリ141には、地図データを記憶する地図記憶部223をさらに備える。なお、地図記憶部223は、外部メモリ等に設けられてもよい。地図データは、例えば、通信器160を介して、ネットワーク上から取得される。
地図データは、例えば、地物をポイントとラインとポリゴンとの3要素の座標、接続関係で表現したベクトル地図データとする。以下、地図データに用いられる座標には、例えば、UTM座標系、平面直角座標系、WGS84座標系等がある。以下、本明細書では、基準点を設定して、各座標値を、緯度と経度と標高とで表現する座標系(地理座標系)を用いる。
本実施形態の進行方向算出部212は、第一の実施形態と同様の手法で、携帯機器100の進行方向TDを特定する。以下、進行方向算出部212が、加速度センサ154およびジャイロセンサ152との出力を用いて算出する進行方向TDを、算出進行方向と呼ぶ。
進行方向補正部217は、算出進行方向を補正する。補正は、地図データと、GPS受信器151が取得した、携帯機器100の現在位置の情報とを用いて行う。補正後の進行方向を、補正進行方向と呼ぶ。
[補正進行方向算出処理]
進行方向算出部212による補正進行方向算出処理の流れを、図11(a)および図11(b)を用いて説明する。図11(a)は、補正進行方向算出処理の処理フローである。
まず、進行方向算出部212は、第一の実施形態の手法で、算出進行方向421を算出する(ステップS2101)。算出進行方向421は、図11(b)に示すように、携帯機器100の機器座標系での単位ベクトルとして算出される。
次に、進行方向補正部217は、GPS受信器151からの信号により、携帯機器100の現在位置422を決定する(ステップS2102)。現在位置は、図11(c)に示すように、地理座標系の値として算出される。
そして、進行方向補正部217は、機器座標系の原点を現在位置422とし、算出進行方向421を、地理座標系の値に変換し、変換進行方向423を算出する(ステップS2103)。また、進行方向補正部217は、地理座標系での現在位置422の情報と、地図データとから、携帯機器100のユーザ101が現在いる道路429を特定する(ステップS2104)。
進行方向補正部217は、道路429を特定すると、地図データを用いて、進行方向候補を算出する(ステップS2105)。進行方向候補は、例えば、現在位置422上を通る道路429の伸びる方向、および、所定範囲内の分岐路の伸びる方向とする。例えば、図11(c)の例では、進行方向候補は、進行方向候補424と、進行方向候補425との2方向が抽出される。なお、進行方向候補を抽出する範囲は、予め定めておいてもよいし、加速度センサ154の出力から得られるユーザ101の速度に応じて決定するよう構成してもよい。
そして、進行方向補正部217は、変換進行方向423について、抽出された各進行方向候補424、425の成分を算出する。成分は、正負も含めて算出する。そして、成分が最も大きい方向を、補正進行方向と決定する(ステップS2106)。例えば、図11(c)の例では、進行方向候補424方向の成分は正の値である。一方、進行方向候補425方向の成分は、負の値である。従って、進行方向候補424が、補正進行方向と決定される。
そして、進行方向補正部217は、決定した補正進行方向を、機器座標系に変換し(ステップS2107)、処理を終了する。
なお、進行方向を決定後の処理は、第一の実施形態と同様である。ただし、本実施形態では、算出進行方向421の代わりに、補正進行方向を用いて、画像切出部213は、画像を切り出す。
以上説明したように、本実施形態の携帯機器100は、第一の実施形態の構成に加え、地図データを用いて、算出した進行方向を補正する進行方向補正部217をさらに備える。すなわち、本実施形態によれば、地図データも用いて進行方向を決定する。このため、より高い精度で進行方向が決定され、移動中にユーザに必要な情報を提供することができる。
また、本実施形態によれば、例えば、図9(b)に示すように、進行方向の先で、道路419が道路417と道路418とに分岐している場合であっても、高い精度でユーザ101に、進行方向の情報を提供し続けることができる。
携帯機器100を保持するユーザ101は、分岐点416に近づくにつれて、進みたい道路の方向に進行方向を変えていく。本実施形態では、抽出される複数の進行方向候補の中から、算出進行方向(変換進行方向)423の成分の大きい進行方向候補が選択される。従って、補正進行方向として、ユーザが進みたい道路の方向が、補正進行方向として算出される可能性が高い。
例えば、図9(b)の例では、道路419上を歩いているユーザ101が、分岐点416から、道路417に進みたい場合、ユーザ101は、分岐点416までは、道路419に沿って移動する。このため、算出進行方向(変換進行方向)423の成分は、道路419の延伸方向の道路418方向が、大きくなる。このため、道路418の延伸方向が補正進行方向として算出され、対応する進行方向画像がディスプレイ110に表示される。
分岐点416に近づくにつれ、ユーザ101は、進行方向を、道路417の方向に向ける。これにより、所定のタイミングで、算出進行方向(変換進行方向)423の成分が最も大きい進行方向候補として、道路417の延伸方向が選択される。そして、道路417の延伸方向が補正進行方向として決定され、対応する進行方向画像がディスプレイ110に表示される。
なお、進行方向は、ユーザ101が指定可能なように構成してもよい。この場合、進行方向補正部217は、ディスプレイ110を介して、ユーザからの進行方向の指示を受け付ける。具体的には、例えば、図12に示すように、ユーザ101は、画面に表示されている進行方向画像上で、所望の進行方向を、例えば、タッピング等により指定する。
ユーザ101からの指定を受け、進行方向補正部217は、表示されている進行方向画像と地図データとを参照し、補正進行方向を決定する。
<変形例>
なお、上記各実施形態では、進行方向画像を切り出す元となる画像として、全天球の画像を取得しているが、これに限定されない。周囲全方向を最大値とする超広角度画像であればよく、例えば、半天球の画像であってもよい。さらに、携帯機器100の、例えば、y軸を中心軸とする円筒面の画像であってもよい。
例えば、図13(a)に示すように、携帯機器100の、背面側の所定範囲を撮像可能なカメラ124であってもよい。この場合、カメラ124は、携帯機器100の先端(上端)に、その光学系の光軸124axが、携帯機器100の中心軸の1つであるy軸に対して、Δaxだけ、携帯機器100の背面側に傾くよう配置される。
一般に、ユーザ101は、携帯機器100を、ユーザ101に正対した垂直位置から、ディスプレイ110の画面が上に向く方向に少し傾いた角度で保持する。携帯機器100のy軸と光軸124axとを一致させると、カメラ124は、上空を向いた状態になり、有効撮影領域が減る。ユーザ101のこのような保持姿勢に対応して、本変形例では、地面側の撮影角度を増やすために、上述のようにカメラ124を配置する。
図13(b)は、図13(a)に示すようにカメラ124を配置した場合の、携帯機器100を正面から見たときの撮影画角124agを示す。撮影画角124agは、180度を超える広角とする。このカメラ124の画角とセンサ画素数は、広角でありながら適度に解像度を確保できるバランスで選定される。
カメラ124を、このような構成にすることにより、全周カメラ121でなくても、また、進行方向と、携帯機器100の保持方向とが大きく異なる場合であっても、進行方向の画像を得ることができる。
また、図13(c)に示すように、2つの広角のカメラ125と126とが、携帯機器100の前面と背面とに、所定の角度を成して配置される構成のカメラを備えてもよい。2つの広角のカメラ125、126は、それぞれ、光軸125ax、126axが、携帯機器100のz軸と、所定の角度を成すように配置される。図13(c)に示す例では、所定の角度は、θb(0°<θb<180°)である。この場合、例えば、2つの広角のカメラ125、126それぞれで取得した元データは、それぞれ、別の画素メモリに配置される。
これにより、両カメラ125、126の画角が、それぞれ、180度以内であっても、両カメラ125、126の撮影画像を合成することで、相互のカメラ125、126の死角を補い、広範囲の画像を得ることができる。
なお、全周カメラは、前面カメラ122および背面カメラ123にアタッチメントを取り付けて実現してもよい。この場合の構成例を、図14(a)~図14(e)を用いて説明する。
本変形例では、前面カメラ122および背面カメラ123それぞれに、超広角レンズアタッチメント511、512を取り付け、全周カメラを実現する。
超広角レンズアタッチメント511、512は、図14(c)および図14(d)に示すように、通常の画角のカメラに被せ、超広角撮像を実現するアタッチメントである。例えば、ワイドコンバージョンレンズ等で構成される。図14(e)に示すように、超広角レンズアタッチメント511、512を、それぞれ、前面カメラ122および背面カメラ123のレンズの上から被せる。
なお、例えば、携帯機器100が、一般的なスマートフォンである場合、図14(a)および図14(b)に示すように、前面カメラ122の取り付け位置のx座標およびy座標と、背面カメラ123の取り付け位置の同座標とは異なる。従って、両者の光軸は異なる。この違いを補正するため、超広角レンズアタッチメント511、512内に反射板群や補正レンズ群513を設けてもよい。
図14(e)に示すように、反射板群や補正レンズ群513の配置位置を変化させることにより、視差ズレ調整を行い、超広角レンズアタッチメント511、512により実現される超広角レンズの光軸を一致させる。これにより、前面カメラ122および背面カメラ123により、全周撮影を実現する。なお、補正レンズ群513を構成するミラーは、45度を成すよう配置する。これは、外光をセンサ(前面カメラ122および背面カメラ123)に正確に照射するためである。
全周カメラ121の他の変形例を、図15(a)および図15(b)に示す。
本変形例では、外付けの全周カメラ521を、アタッチメントとして携帯機器100に接続することにより、全周カメラ121を実現する。接続は、拡張I/F180として設けられるUSBI/F等を介して行う。
外付けの全周カメラ521は、例えば、伸縮可能な部材522を備えてもよい。これにより、あたかも首を伸ばしたように、高い位置から広範囲の撮影を行うことができる。
さらに、別の例を図16に示す。図16(a)~図16(e)に示す変形例は、携帯機器100を、3D撮影可能な仕様として構成する例である。
本変形例では、携帯機器100の前面、背面、および上面に、それぞれ、複数のカメラを搭載する。本変形例では、複数のカメラ532~537を備えるアタッチメント531を、USBI/F等を介して接続することにより、実現する。
図16(a)~図16(e)の例では、携帯機器100に接続されたアタッチメント531の前面部分に2個(カメラ532、533)、背面部分に2個(カメラ534、535)、上部に2個(カメラ536、537)の合計6個のカメラが配置される。
各面にそれぞれ複数のカメラを備える場合、例えば、前面に1個、背面に1個の場合に比べ、各カメラの画角を絞ることができる。これにより、全周撮像の高解像度化を実現できる。つまり、カメラ2個で全周180度を撮像する場合に比べて、カメラ4個で同範囲を撮像すると、各カメラの解像度が同じであれば、約2倍の解像度をもって撮像が可能となる。この様にカメラ個数を増やすことで撮像映像の解像度を向上させることができる。
なお、この場合、各カメラの設置位置を揃えないと、視点のずれ、いわゆる視差が生じやすくなる。このため、カメラの設置位置は、揃えることが望ましい。設置位置を揃えるとは、例えば、同じ面のカメラ群は、y軸方向の座標値を揃え、異なる面のカメラ群は、x軸方向の座標値を揃えることである。なお、このように配置位置を揃えなくても、撮影した画像データに対し、画像処理を施すことにより、上記のずれを補正してもよい。
また、各面に配置する2つのカメラの間には、所定の間隔を設ける。すなわち、基線長を所定の距離に設定する。これにより、超広角3D映像の撮像ができる。この場合、前面のカメラ532、533と背面のカメラ534、535との間も、十分な基線長を得るため、アタッチメント531の厚さを基線長と同程度に設定してもよい。これにより、携帯機器100のいずれの方向に対しても、十分な基線長を持った複数のカメラ配置を実現できる。
なお、各カメラ間に十分な基線長を設定できない場合は、得られたデータに対して所定の画像処理を施すことにより、補正してもよい。
本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は、本発明を分かりやすく説明するためのものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。