(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0026】
次に、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係る映像生成装置1の全体的な構成を示すブロック図である。
図2は、船舶4に備えられる各種の機器を示す側面図である。
【0027】
図1に示す映像生成装置1は、例えば
図2に示すような船舶(水上移動体)4に搭載され、カメラ(撮影装置)3で撮影した映像をベースとして、当該船舶4の周囲の様子を仮想現実的に表現する映像を生成するための装置である。映像生成装置1が生成した映像は、ディスプレイ2に表示される。
【0028】
ディスプレイ2は、例えば、当該船舶4(自船)で操船を行うオペレータが参照する操船支援装置のディスプレイとして構成することができる。ただし、ディスプレイ2は上記に限定されず、例えば、自船4から周囲の状況を監視する操船補助者が携帯する携帯型コンピュータのディスプレイ、自船4の客室で乗客が鑑賞するためのディスプレイ、或いは乗船者が装着するウェアラブルグラス等のヘッドマウントディスプレイの表示部とすることが可能である。
【0029】
映像生成装置1は、自船4に設置されたカメラ3によって撮影された自船4の周囲の映像と、自船4の周囲の付加表示情報(後に詳述)を仮想現実的に表現する図形と、を合成することにより、ディスプレイ2への出力映像である合成映像を生成する。
【0030】
次に、主に
図1を参照して、映像生成装置1に電気的に接続されるカメラ3及び各種の船舶機器について説明する。
【0031】
カメラ3は、自船4の周囲を撮影する広角型のビデオカメラとして構成されている。このカメラ3はライブ出力機能を有しており、撮影結果としての動画データ(映像データ)をリアルタイムで生成して映像生成装置1に出力することができる。
図2に示すように、カメラ3は、撮影方向が船体に対して水平前方となるように船舶4に設置される。
【0032】
カメラ3は図略の回転機構を介して船舶4に取り付けられており、パン/チルト動作を指示する信号が映像生成装置1から入力されることにより、その撮影方向を、船舶4の船体を基準として所定の角度範囲で変更することができる。また、自船4の高さ及び姿勢は波等により様々に変化するので、それに伴って、カメラ3の高さが変化するとともに姿勢(撮影方向)も3次元的に変化することになる。
【0033】
本実施形態の映像生成装置1は、上記のカメラ3のほか、船舶機器としてのGNSSコンパス(方位センサ、姿勢センサ)5、角速度センサ6、GNSS受信機7、加速度センサ8、AIS受信機9、ECDIS10、プロッタ11、レーダ装置12、及びソナー13等と電気的に接続されている。
【0034】
GNSSコンパス5は、自船4に固定された複数のGNSSアンテナ(測位用アンテナ)を備える。GNSSコンパス5は、それぞれのGNSSアンテナの位置関係を、測位衛星から受信した電波に基づいて算出する。特に、本実施形態のGNSSコンパス5は、各GNSSアンテナが受信した電波の搬送波位相の位相差に基づいてGNSSアンテナの位置関係を求めるように構成されている(この処理は公知であるので、詳細な説明は省略する)。これにより、自船4の船首方位を精度よく取得することができる。
【0035】
GNSSコンパス5は、船舶4の姿勢を3次元的に取得することができる。言い換えれば、GNSSコンパス5は、船首方位(即ち、船舶4のヨー角)だけでなく、船舶4のロール角及びピッチ角を検出することができる。GNSSコンパス5で取得された自船4の姿勢情報は、映像生成装置1の姿勢取得部16や、当該姿勢情報を利用する他の船舶機器に出力される。
【0036】
角速度センサ6は、例えば公知の振動ジャイロセンサから構成されており、GNSSコンパス5の姿勢検出間隔(例えば、1秒)より短い周期で、船舶4のヨー角速度、ロール角速度及びピッチ角速度を検出することができる。GNSSコンパス5が検出した角度と、角速度センサ6が検出した角速度の積分値と、を併用することにより、GNSSコンパス5だけを用いる場合よりも短い時間間隔で船舶4の姿勢を取得することができる。また、角速度センサ6は、上述の測位衛星からの電波が例えば橋等の障害物により遮られて、GNSSコンパス5による姿勢の検出が不能となっている場合に、姿勢情報を取得するための代替的な手段として機能する。
【0037】
GNSS受信機7は、前記のGNSSアンテナが測位衛星から受信した電波に基づいて、自船4の位置(詳細には、GNSSアンテナの緯度、経度及び高さ)を求める。GNSS受信機7は、得られた位置情報を、映像生成装置1の位置取得部15や、当該位置情報を利用する他の船舶機器に出力する。
【0038】
加速度センサ8は、例えば公知の静電容量検出型のセンサとして構成されており、GNSS受信機7の位置検出間隔(例えば、1秒)より短い周期で、船舶4のヨー軸、ロール軸及びピッチ軸における加速度を検出することができる。GNSS受信機7が検出した位置と、加速度センサ8が検出した加速度の2重積分値と、を併用することにより、GNSS受信機7だけを用いる場合よりも短い時間間隔で自船4の位置を取得することができる。また、加速度センサ8は、上述の測位衛星からの電波が遮られてGNSS受信機7による位置の検出が不能となっている場合に、位置情報を取得するための代替的な手段として機能する。
【0039】
本実施形態では
図2に示すように、角速度センサ6、GNSS受信機7及び加速度センサ8は、GNSSコンパス5に内蔵されたものが用いられている。ただし、角速度センサ6、GNSS受信機7及び加速度センサ8のうち全部又は一部が、GNSSコンパス5とは独立して設けられてもよい。
【0040】
AIS受信機9は、他船や陸上局等から送信されるAIS情報を受信するものである。AIS情報には、自船4の周囲を航行している他船の位置(緯度・経度)、当該他船の長さ及び幅、当該他船の種類及び識別情報、当該他船の船速、針路及び目的地、並びにランドマークの位置及び識別情報等の、様々な情報が含まれる。
【0041】
ECDIS10は、GNSS受信機7から自船4の位置情報を取得するとともに、予め記憶されている電子海図情報に基づいて、自船4の周囲の情報を映像生成装置1に出力する。
【0042】
プロッタ11は、GNSS受信機7から自船4の位置を継続して取得することにより、自船4の航行軌跡の情報を生成することができる。また、プロッタ11は、ユーザに複数のウェイポイント(自船4が通過する予定の地点)を設定させることにより、これらのウェイポイントを順次繋ぐようにして予定航路を生成することができる。
【0043】
レーダ装置12は、自船4の周囲に存在する他船等の物標を探知することができる。また、このレーダ装置12は物標を捕捉及び追尾する公知の目標追尾機能(Target Tracking、TT)を有しており、当該物標の位置及び速度ベクトル(TT情報)を求めることができる。
【0044】
ソナー13は、超音波を水中に送信するとともに、その超音波が魚群等で反射した反射波を受信することにより、魚群等を探知する。
【0045】
映像生成装置1は、ユーザが操作するキーボード31及びマウス32に接続されている。ユーザは、キーボード31及びマウス32を操作することで、映像の生成に関する各種の指示を行うことができる。この指示には、カメラ3のパン/チルト動作、各種の情報の表示の有無の設定、レンズ歪みの補正に関する設定、合成映像の視点の設定等が含まれる。
【0046】
次に、映像生成装置1の構成について、主に
図1を参照して詳細に説明する。
【0047】
図1に示すように、映像生成装置1は、撮影映像入力部21、位置取得部15、姿勢取得部16、付加表示情報取得部17、記憶部18、撮影位置設定部25、アンテナ位置設定部26、視点設定部27、表示設定部28、歪み補正設定部29、及び合成映像生成部20を備える。
【0048】
具体的には、映像生成装置1は公知のコンピュータとして構成され、図示しないが、CPU、ROM、RAM、及びHDD等を備える。更に、映像生成装置1は、後述の3次元画像処理を高速で行うためのGPUを備えている。そして、例えばHDDには、本発明の映像生成方法を行うためのソフトウェアが記憶されている。このハードウェアとソフトウェアの協働により、映像生成装置1を、撮影映像入力部21、位置取得部15、姿勢取得部16、付加表示情報取得部17、記憶部18、撮影位置設定部25、アンテナ位置設定部26、視点設定部27、表示設定部28、歪み補正設定部29及び合成映像生成部20等として機能させることができる。
【0049】
撮影映像入力部21は、カメラ3が出力する映像データを、例えば30フレーム毎秒で入力することができる。撮影映像入力部21は、入力された映像データを、合成映像生成部20(後述のデータ合成部23)に出力する。
【0050】
位置取得部15は、GNSS受信機7及び加速度センサ8の検出結果に基づいて、自船4の現在の位置をリアルタイムで取得する。
【0051】
姿勢取得部16は、GNSSコンパス5及び角速度センサ6の検出結果に基づいて、自船4の現在の姿勢をリアルタイムで取得する。
【0052】
付加表示情報取得部17は、AIS受信機9、ECDIS10、プロッタ11、レーダ装置12、及びソナー13等が映像生成装置1に出力する情報に基づいて、カメラ3で撮影した映像に対して付加的に表示する情報(付加表示情報)を取得する。この付加表示情報としては様々なものが考えられるが、例えば、自船4の予定航路として
図3のように設定されるルート線42の情報とすることができる。なお、付加表示情報の詳細は後述する。
【0053】
図1の記憶部18は、各種の情報を記憶するメモリとして構成されている。この記憶部18は、各種の付加表示情報を表現する仮想現実オブジェクトの3次元形状を、テンプレートとして記憶することができる。記憶部18が記憶する3次元形状のテンプレートは、例えば、小型の船、大型の船、ブイ、灯台等とすることができるが、これに限定されない。
【0054】
撮影位置設定部25は、自船4におけるカメラ3の位置(撮影位置)、具体的には、船の長さ方向及び幅方向でのカメラ3の位置と、上下方向でのカメラの位置(カメラ3の高さ)と、を設定することができる。カメラ3の高さは、自船4において通常想定される喫水線からの高さとすることができるが、これに限定されず、例えば、船底からの高さとすることができる。この撮影位置の設定は、例えば、ユーザがカメラ3の位置を実際に計測した結果をキーボード31及びマウス32等を操作して入力することで行うことができる。
【0055】
アンテナ位置設定部26は、自船4におけるGNSSアンテナの位置(アンテナ位置)を設定することができる。このアンテナ位置は、例えば、制御の基準として
図2に示すように自船4に設定される基準点4aを基準とした、船の長さ方向、幅方向、及び上下方向での位置とすることができる。この基準点4aは様々に定めることができるが、本実施形態では、自船4の船体の中央で、かつ、通常想定される喫水線と同じ高さとなる位置に定められている。アンテナ位置の設定は、上記の撮影位置と同様に、例えば実際の計測値を入力することで行うことができる。
【0056】
図1の視点設定部27は、後述の合成映像生成部20により生成される映像の視点を、ユーザが例えばキーボード31及びマウス32を操作することにより設定することができる。
【0057】
表示設定部28は、後述の合成映像生成部20により生成される映像における付加表示情報の表示の有無を設定することができる。これらの設定は、ユーザが例えばキーボード31及びマウス32を操作することにより行うことができる。
【0058】
歪み補正設定部29は、カメラ3による撮影映像に生じるレンズ歪みを補正するために、撮影映像入力部21から入力される映像をソフトウェア処理によって変形させる方向、及び、変形の度合いの強弱を設定することができる。これにより、映像に生じるレンズ歪みがカメラ3(言い換えれば、カメラ3が使用しているレンズ)に応じて様々に異なるのに対応して適切に補正を行うことができる。この歪み補正に関する設定は、ユーザが例えばキーボード31及びマウス32を操作することにより行うことができる。
【0059】
位置取得部15、姿勢取得部16、付加表示情報取得部17、記憶部18、撮影位置設定部25、アンテナ位置設定部26、視点設定部27、表示設定部28、及び歪み補正設定部29は、取得し、記憶し、又は設定された情報を、合成映像生成部20に出力する。
【0060】
合成映像生成部20は、撮影映像入力部21に入力されたカメラ3の撮影映像に3次元コンピュータグラフィックスを合成することにより、拡張現実を表現する映像を生成する。この合成映像生成部20は、3次元シーン生成部22と、データ合成部23と、を備える。
【0061】
3次元シーン生成部22は、
図4に示すように、3次元仮想空間40に、付加表示情報に対応する仮想現実オブジェクト41v,42v,・・・を配置することにより、仮想現実の3次元シーンを構築する。これにより、3次元シーンのデータである3次元シーンデータ(3次元表示用データ)48が生成される。なお、3次元シーンの詳細は後述する。
【0062】
図1のデータ合成部23は、3次元シーン生成部22が生成した3次元シーンデータ48を描画することで付加表示情報を3次元的に表現する図形を生成するとともに、
図6に示す合成映像、即ち、当該図形41f,42f,・・・とカメラ3の撮影映像とを合成した映像を出力する処理を行う。
図6に示すように、この合成画像では、カメラ3で撮影された映像(図では説明の都合により破線で示されている)の海面に、付加表示情報を示す図形41f,42f,・・・が載置されるように重ねられている。データ合成部23は、生成された合成映像をディスプレイ2に出力する。なお、図形の生成処理及びデータ合成処理の詳細は後述する。
【0063】
次に、前述の付加表示情報取得部17で取得される付加表示情報について詳細に説明する。
図3は、映像生成装置1において表示の対象となる付加表示情報の例を説明する概念図である。
【0064】
付加表示情報は、カメラ3で撮影した映像に対して付加的に表示する情報であり、映像生成装置1に接続される船舶機器の目的及び機能に応じて様々なものが考えられる。例示すると、AIS受信機9に関しては、受信した上述のAIS情報(例えば、他船の位置及び向き、ブイの位置、仮想ブイの位置等)を付加表示情報とすることができる。ECDIS10に関しては、電子海図に含まれる危険海域、航海禁止領域、灯台、ブイ等の位置を付加表示情報とすることができる。プロッタ11に関しては、記録される自船4の軌跡、設定された予定航路、ウェイポイント、到着エリア、立寄エリアの位置等を付加表示情報とすることができる。レーダ装置12に関しては、探知された物標の位置及び速度等を付加表示情報とすることができる。ソナー13に関しては、探知された魚群の位置を付加表示情報とすることができる。これらの情報は、船舶機器から映像生成装置1にリアルタイムで入力される。付加表示情報取得部17は、入力されるそれぞれの付加表示情報に対し、それを一意に特定して管理するための識別情報(例えば、識別番号)を付与する。
【0065】
図3には、自船4の周囲に位置している付加表示情報の例が示されている。
図3において、海面上(水面上)には、目的地を示すウェイポイント41,41と、目的地までの予定航路を示す折れ線状のルート線42と、が定められている。また、ルート線42の近傍には、多角形状(矩形状)の立寄エリア43が定められる。ウェイポイント41、ルート線42、及び立寄エリア43は、ユーザが予めプロッタ11を適宜操作し、各地点の位置を指定することにより設定される。
【0066】
また、
図3の例では、自船4の前方にやや離れた地点で他船44が自船4の右方へ向けて航行中であり、自船4の左斜め前の近くには仮想ブイ45があることが、AIS受信機9が取得したAIS情報により検出されている。なお、仮想ブイとは、設置が困難である等の事情により実際に海上に設けられていないが、ナビゲーション装置の画面には標識として表示される、仮想の(実体を持たない)ブイを意味する。
【0067】
それぞれの付加表示情報には、少なくとも、それが配置される海面(水面)における1又は複数の地点の位置(緯度及び経度)を示す情報が含まれている。例えば、ルート線42を示す付加表示情報には、折れ線の屈曲部となる2箇所の地点の位置の情報が含まれている(屈曲部の地点の位置は、ウェイポイント41の位置と一致する)。立寄エリア43の付加表示情報には、多角形の頂点となるそれぞれの地点の位置の情報が含まれている。また、他船44を示す付加表示情報には、当該他船44の位置、船首方位、船の長さ、幅等を示す情報が含まれている。
【0068】
次に、3次元シーン生成部22による3次元シーンの構築、及び、データ合成部23による映像の合成について、
図4を参照して詳細に説明する。
図4は、3次元仮想空間40に仮想現実オブジェクト41v,42v,・・・を配置して生成される3次元シーンデータ48と、当該3次元仮想空間40に配置される映写スクリーン51と、を説明する概念図である。
【0069】
3次元シーン生成部22によって仮想現実オブジェクト41v,42v,・・・が配置される3次元仮想空間40は、
図4に示すように、自船4の適宜の基準位置(例えば、上述の基準点4a)を原点とする直交座標系で構成され、水平な面であるxz平面が海面(水面)を模擬するように設定されている。
図4の例では、座標軸は、+z方向が常に船首方位と一致し、+x方向が右方向、+y方向が上方向となるように定められる。この3次元仮想空間40内の各地点(座標)は、自船4の周囲の現実の位置に対応するように設定される。
【0070】
図4には、
図3に示す自船4の周囲の状況を表現するために、仮想現実オブジェクト41v,42v,43v,44v,45vを3次元仮想空間40内に配置した例が示されている。各仮想現実オブジェクト41v,42v,43v,44v,45vは、何れもポリゴンの集合として表現され、自船4の船首方位を基準として、それが表す付加表示情報の自船4に対する相対位置を反映させるように、xz平面に接するように配置される。これらの仮想現実オブジェクト41v,42v,・・・が配置される位置を決定するにあたっては、
図1に示すアンテナ位置設定部26で設定されたGNSSアンテナの位置を用いた計算が行われる。
【0071】
他船44を示す仮想現実オブジェクト44vは、船舶の形状を有しており、記憶部18に予め記憶されている大型の船のモデルのテンプレートを利用して表現される。また、当該モデルの向きは、AIS情報で取得した他船44の向きを示すように配置されている。
【0072】
仮想ブイ45を示す仮想現実オブジェクト45vも、他船44の仮想現実オブジェクト44vと同様に、記憶部18に予め記憶されているブイのモデルのテンプレートを利用して表現される。
【0073】
ウェイポイント41の仮想現実オブジェクト41vは、薄い円板状の3次元形状で表現されている。ルート線42の仮想現実オブジェクト42vは、一定の厚み及び幅を有する細長い板を折れ線状に屈曲させた3次元形状で表現されている。立寄エリア43の仮想現実オブジェクト43vは、立寄エリア43の輪郭を有する一定の厚みの板のような3次元形状で表現されている。これらの仮想現実オブジェクト41v,42v,43vについては、モデルのテンプレートを使用せずに、3次元形状がその都度作成される。
【0074】
3次元シーン生成部22は、上記のようにして、3次元シーンデータ48を生成する。
図4の例では、仮想現実オブジェクト41v,42v,・・・が自船4の位置を原点とした方位基準で配置されるので、
図3の状態から自船4の位置(東西方向及び南北方向での位置)が変化したり、回頭等により船首方位が変化したりすると、当該仮想現実オブジェクト41v,42v,・・・を再配置した新しい3次元シーンが構築されて、3次元シーンデータ48が更新される。また、例えば
図3の状態から他船44が移動する等して付加表示情報の内容が変更されると、最新の付加表示情報を反映するように3次元シーンデータ48が更新される。
【0075】
その後、データ合成部23は、3次元仮想空間40に、カメラ3の撮影映像が映写される位置及び範囲を定める映写スクリーン51を配置する。また、データ合成部23は、カメラ3の撮影映像に生じるレンズ歪みを補正するための、映写スクリーン51を分割するメッシュ52を作成する。当該メッシュ52は、映写スクリーン51に沿って配置される。この映写スクリーン51と仮想現実オブジェクト41v,42v,・・・の両方が視野に含まれるように後述の視点カメラ55の位置及び向きを設定することで、映像の合成を実現することができる。
【0076】
データ合成部23は、自船4に搭載されるカメラ3の位置及び向きを3次元仮想空間40においてシミュレートするとともに、映写スクリーン51を、当該カメラ3に正対するように配置する。カメラ3の位置のシミュレートに関し、船体を基準とするカメラ3の位置は、
図1に示す撮影位置設定部25の設定値に基づいて得ることができる。
【0077】
カメラ3の位置及び向きのシミュレートにあたっては、上述したカメラ3のパン/チルト動作による向きの変化が考慮される。更に、当該シミュレートは、位置取得部15及び姿勢取得部16が取得した位置情報及び姿勢情報に基づき、自船4の姿勢の変化及び高さの変化によるカメラ3の位置及び向きの変動が反映されるように行われる。データ合成部23は、カメラ3の位置及び向きの変化に連動して、3次元仮想空間40に配置される映写スクリーン51の位置及び向きを変化させる。
【0078】
そして、データ合成部23は、3次元シーンデータ48及び映写スクリーン51に対して公知のレンダリング処理を施すことにより、2次元の画像を生成する。より具体的には、データ合成部23は、3次元仮想空間40に仮想カメラとしての視点カメラ55を配置するとともに、レンダリング処理の対象となる範囲を定める視錐台56を、当該視点カメラ55を頂点とし、その視線方向が中心軸となるように定義する。続いて、データ合成部23は、各オブジェクト(仮想現実オブジェクト41v,42v,・・・及び映写スクリーン51)を構成するポリゴンのうち、当該視錐台56の内部に位置するポリゴンの頂点座標を、透視投影により、ディスプレイ2での合成映像の表示領域(言い換えれば、透視投影面)に相当する2次元の仮想スクリーンの座標に変換する。そして、この仮想スクリーン上に配置された頂点に基づいて、所定の解像度でピクセルの生成・加工処理を行うことにより、2次元の画像を生成する。
【0079】
このようにして生成された2次元の画像には、3次元シーンデータ48の描画が行われることにより得られた図形(言い換えれば、仮想現実オブジェクト41v,42v,・・・のレンダリング結果としての図形)が含まれる。また、2次元の画像の生成過程において、映写スクリーン51に相当する位置には、カメラ3の撮影映像が貼り付けられるように配置される。これにより、データ合成部23による映像の合成が実現される。
【0080】
映写スクリーン51は、カメラ3を中心とする球殻に沿うように湾曲した形状となっているので、視点カメラ55の位置及び向きをカメラ3と一致するように配置した場合に、透視投影による撮影映像の歪みを防止することができる。また、撮影映像は、あたかも、縦横に細かく分割されたそれぞれ(映像片)が、上述の仮想スクリーンに投影されたメッシュ52に従って変形されながら映写スクリーン51に配置されるように描画される。これにより、メッシュ52の形状を適切に設定することで、撮影映像に生じている上述のレンズ歪みを適切に補正することができる。なお、この処理の詳細は後述する。
【0081】
視点カメラ55は合成映像の視点を定めるものであり、その位置及び向きは、上述の視点設定部27の設定により定められる。ただし、視点設定部27において特別に設定することにより、データ合成部23は、合成映像を生成するときのモードとして、視点カメラ55の位置及び向きが、カメラ3の位置及び向きと常に一致するように自動的に変化するモードとすることができる(視点追従モード)。この視点追従モードでは、視点カメラ55の視野全体が常に映写スクリーン51(即ち、カメラ3の撮影映像)で覆われることになるので、臨場感のある合成映像を実現することができる。
【0082】
一方、データ合成部23は、視点カメラ55の位置及び向きが、カメラ3の位置及び向きと無関係に、適宜の入力装置の操作によって視点設定部27に設定された視点に従うモードとすることもできる(独立視点モード)。この入力装置としては、例えば、キーボード31、マウス32、図示しないタッチパネル、ジョイスティック等とすることが考えられる。この独立視点モードでは、ユーザは、視点を自由に動かして、カメラ3の撮影視野から外れた位置にある付加表示情報を確認することができる。
【0083】
次に、カメラ3で撮影した映像と合成映像との関係を、例を参照して説明する。
図5は、カメラ3による撮影映像の例を示す図である。
図6は、データ合成部23が出力する合成映像を示す図である。
【0084】
図5には、
図3に示す状況において、自船4のカメラ3が撮影した映像の例が示されている。この撮影映像には、海面に浮かぶ他船44rが写っている。また、映像の下部中央には、自船4の船首部分が写っている。
【0085】
また、カメラ3の撮影映像には、広角型のレンズの影響により、
図5に破線で示すように、上下左右の縁の中央部が外側に膨張するような歪みが生じている(樽型のレンズ歪み)。
【0086】
仮想ブイ45は上述のとおり仮想的なものであるので、
図5に示すとおり、カメラ3に写ることはない。ウェイポイント41、ルート線42及び立寄エリア43も、プロッタ11での設定により作成されるものであるので、カメラ3による撮影映像には現れない。
【0087】
そして、
図5に示す撮影映像に対し、上記のメッシュ52に従ってレンズ歪みの補正を行うとともに、
図4の3次元シーンデータ48のレンダリングによる上記の2次元の画像を合成した結果が、
図6に示されている。ただし、
図6では、カメラ3による撮影映像が現れている部分が、それ以外の部分と区別し易くなるように便宜的に破線で示されている(これは、合成映像を表す他の図においても同様である)。
図6の合成映像では、付加表示情報を表現する図形41f,42f,43f,44f,45fが、当該撮影映像に重なるように配置されている。他船を表す図形44fは、撮影映像における他船44rの位置にほぼ重なるように配置されている。
【0088】
上記の図形41f,42f,・・・は、
図4に示す3次元シーンデータ48を構成する仮想現実オブジェクト41v,42v,・・・の3次元形状を、カメラ3と同じ位置及び向きの視点で描画した結果として生成される。従って、カメラ3による写実的な映像に対して図形41f,42f,・・・を重ねた場合でも、見た目の違和感が殆ど生じないようにすることができる。
【0089】
図6に示すように、付加表示情報を仮想現実的に表現する図形41f,42f,・・・は、撮影映像の海面にあたかも置かれるかのように、合成映像上に配置されている。これは、
図4に示す仮想現実オブジェクト41v,42v,・・・を、撮影位置設定部25(
図1を参照)で設定された高さに基づいて計算された距離だけカメラ3に対して下方に位置しているxz平面に接するように配置するとともに、映写スクリーン51の位置を、カメラ3の位置及び向きを考慮して正しく配置することにより実現される。
【0090】
次に、自船4の揺れに伴う合成映像の変化について説明する。
図7は、
図4の状態から船舶4がピッチ方向及びロール方向に揺動した場合を示す概念図である。
図8は、
図7の場合の合成映像を示す図である。
【0091】
上述したとおり、カメラ3は自船4に取り付けられているので、その位置及び向きは、自船4の姿勢が波等により傾いたり、自船4が波に乗り上げたりすることに伴って変化する。本実施形態において、データ合成部23は、自船4に揺れ(ピッチング、ローリング及びヒービング)が生じた場合、姿勢取得部16が取得した自船4の姿勢の変化、及び、位置取得部15が取得した自船4の位置の上下方向の変化をシミュレートするように、3次元仮想空間40におけるカメラ3の位置及び向きを変更し、それに伴って映写スクリーン51の位置を変更する。
【0092】
図7には、
図4の状態から自船4の姿勢がピッチ方向及びロール方向に変化したときの様子が示されている。
図7の例では、自船4は前下がりかつ左下がりとなるように傾いており、それを反映するように、カメラ3の位置及び向きが変化する。これに連動して、映写スクリーン51は、そのように位置及び向きが変化したカメラ3に正対するように移動する。
【0093】
図7の例では、上述の視点追従モードにより、視点カメラ55の位置及び向きも、上記のように位置及び向きが変化したカメラ3に追従するように変化する。
図7に対応する合成映像の例が
図8に示され、この図に示すように、自船4の揺れに伴ってカメラ3の位置及び向きが異なっても、それに連動して映写スクリーン51の位置及び向きが変化するとともに、3次元シーンをレンダリングする視点カメラ55の位置及び向きが変化するので、違和感のない合成映像を継続的に得ることができる。
【0094】
視点追従モードでは、自船4の揺れによってピッチ角又はロール角が所定値以上変化する毎に、データ合成部23での3次元シーンデータ48の描画が更新され、最新の視点に基づく図形41f,42f,・・・が生成される。従って、海面が現れる向きが自船4の揺れにより変化するカメラ3の撮影映像に対し、図形41f,42f,・・・の表示を、当該海面に置かれた状態を維持するように適切に変化させることができる。
【0095】
これにより、仮想の物体があたかも海面に浮かんでいるように見える、自然で現実感の高い拡張現実の映像を得ることができる。また、ユーザは、ディスプレイ2に映し出された海面を眺めることで、仮想現実を表す図形41f,42f,・・・が網羅的に視界に入るので、取りこぼしなく必要な情報を得ることができる。
【0096】
次に、上述のデータ合成部23が、撮影映像のレンズ歪みの補正と、仮想現実オブジェクト41v,42v,・・・を描画した図形41f,42f,・・・の撮影映像に対する合成と、を効率的に行うための処理を具体的に説明する。
図9は、撮影映像のレンズ歪みを補正するための平面状のメッシュ52pを説明する図である。
図10は、撮影映像のレンズ歪みの補正と、当該撮影映像及び3次元シーンの透視投影と、を行うためにデータ合成部23が行う処理を示すフローチャートである。
図11は、3次元空間に配置された仮想現実オブジェクト41v,42v,・・・及びメッシュ52の頂点を仮想スクリーンに投影するように座標変換する処理を説明する概念図である。
【0097】
図5の例では、上述したとおり、カメラ3が撮影した映像に樽型のレンズ歪みが生じている。一方、この撮影映像に合成される図形41f,42f,・・・は、3次元の仮想現実オブジェクト41v,42v,・・・を幾何学的な計算に基づいて描画して生成されるものであるので、歪み等は原理的に生じない。従って、仮に両者を単純に合成した場合、不自然な映像となり、ユーザが違和感を覚えてしまうおそれがある。
【0098】
一般的に、撮影映像のレンズ歪みは、撮影映像を
図9に示すような2次元平面上のメッシュ52pに沿って引き伸ばしたり縮めたりするように変形させることで、補正することができる(メッシュ変形)。このメッシュ52pは、矩形マトリクス状のメッシュを、撮影映像に生じるレンズ歪みと逆方向に歪ませることで作成することができる。
図5のように撮影映像に樽型のレンズ歪みが生じる場合、これを補正するメッシュ52pは、
図9に示すように糸巻き型となる。
【0099】
従って、原理的には、撮影映像のレンズ歪みを予め上記のメッシュ52pにより2次元的に補正し、補正後の撮影映像を
図4の3次元仮想空間40に配置して、これを視点カメラ55に従って仮想スクリーンに透視投影することで、
図6の合成映像を得ることができる。
【0100】
しかしながら、カメラ3の撮影映像は、ピクセルを2次元マトリクス配列したラスタデータとして構成される。従って、仮に、レンズ歪みの補正のために(
図9のメッシュ52pにより)映像を変形し、更に透視投影のために映像を変形すると、変形の繰返しにより撮影映像の画質が大きく低下してしまうおそれがあり、また、多くの処理時間を要してしまう。
【0101】
この課題を解決するために、本実施形態のデータ合成部23は、以下のように処理することで合成映像の生成を行っている。以下、
図10のフローチャートを参照して詳細に説明する。
【0102】
図10のステップS101で、データ合成部23は、3次元シーン生成部22によって
図4に示すように仮想現実オブジェクト41v,42v,・・・が配置された(言い換えれば、3次元シーンデータ48が構築された)3次元仮想空間40において、カメラ3の位置及び向きのシミュレート結果に基づいて、球殻に沿って湾曲した形状の映写スクリーン51を配置する。このとき、データ合成部23は、撮影映像のレンズ歪みを補正するためのメッシュ52を、映写スクリーン51に沿うように生成する。このメッシュ52は、仮想現実オブジェクト41v,42v,・・・と同様に、3次元形状(ポリゴンの集合)として表現される。
【0103】
このステップS101においてデータ合成部23が生成する
図4のメッシュ52は、
図9の平面的なメッシュ52pとは異なり、映写スクリーン51の形状に対応して球殻状に湾曲している。即ち、このメッシュ52は、
図9の平面的なメッシュ52pを球殻に沿うように湾曲させたものに相当する。3次元糸巻き型のメッシュ52の歪みの強さは、前述の歪み補正設定部29によって適宜設定することができる。また、ステップS101の段階では、メッシュ52は単に撮影映像のプレースホルダとして機能するだけであって、この段階で撮影映像のラスタデータが実際に貼り付けられることはない。
【0104】
次に、
図10のステップS102において、データ合成部23は、視点カメラ55及び視錐台56を3次元仮想空間40において定めた上で、3次元仮想空間40での仮想現実オブジェクト41v,42v,・・・の頂点の座標、及び、メッシュ52の頂点の座標を、透視投影により、2次元の仮想スクリーンにおける座標に変換する射影変換を行う。この座標変換は、GPUが3次元画像処理を行う一連の処理プログラム(公知のレンダリングパイプライン)のうち、頂点シェーダが有する座標変換機能を用いて実現される。
図11には、
図4に示す3次元シーンデータ48(仮想現実オブジェクト41v,42v,・・・)及びメッシュ52の頂点が、左上隅を原点とし、横軸をxs軸、縦軸をys軸とした2次元の仮想スクリーンに投影された例が示されている。
【0105】
続いて、
図10のステップS103において、データ合成部23は、2次元の仮想スクリーン上の座標に変換された頂点の位置に基づいて、仮想現実オブジェクト41v,42v,・・・に対応するピクセルデータと、メッシュ52に対応するピクセルデータと、を生成する。この機能は、上記のレンダリングパイプラインのうち、ラスタライザの機能を利用して実現される。
【0106】
このとき、仮想現実オブジェクト41v,42v,・・・が描画されるピクセルの色は、ポリゴンの頂点がそれぞれ有している情報に含まれる色の情報に従う。従って、前述の3次元シーン生成部22が、
図4の3次元シーンデータ48に配置される仮想現実オブジェクト41v,42v,・・・のそれぞれについて、ポリゴンの頂点に適宜の色を設定することにより、表示される図形41f,42f,・・・の色を様々に変えることができる。本実施形態では、他船44を示す図形44fについて、自船4が配置される地点との距離に応じて表示色を異ならせる処理を行っている。具体的には、他船44が自船4から遠い位置にあるときは図形44fを緑色で表示し、近い位置にあるときは図形44fを赤色で表示する。これにより、状況に応じてユーザの注意を適切に喚起することができる。
【0107】
その後、ステップS104においてデータ合成部23は、カメラ3の撮影映像を矩形マトリクス状に分割し、得られた映像片を、2次元の仮想スクリーン(
図11)における、対応するメッシュ52のピクセルに配置する。本実施形態において、この処理は、上記のレンダリングパイプラインのうち、ピクセルシェーダの機能(具体的には、テクスチャの貼付け機能)を利用して実現される。これにより、
図6に示す合成映像を得ることができる。
【0108】
以上により、メッシュ52に対し、ポリゴンの頂点の段階(ピクセルで表現する前の段階)で、レンズ歪みの補正のための変形処理、及び、透視投影に基づく変形処理を行い、その後にカメラ3の撮影映像がメッシュ52に従って配置されることになる。これにより、ラスター画像の1回の変形だけで、レンズ歪みが補正され、かつ、透視投影がされた後の撮影映像を得ることができる。この結果、合成映像における撮影映像の部分の画質低下を効果的に防止できる。また、ピクセルシェーダの負荷を大幅に軽減することができるので、本実施形態のように高いフレームレート(30フレーム毎秒)で撮影映像が入力される場合でも、処理を容易に間に合わせることができる。この結果、フレーム落ちが防止できるので、撮影映像の部分の動きが滑らかな高品質の合成映像を得ることができる。
【0109】
以上に説明したように、本実施形態の映像生成装置1は、撮影映像入力部21と、位置取得部15と、姿勢取得部16と、付加表示情報取得部17と、合成映像生成部20と、を備える。撮影映像入力部21は、船舶(自船)4に設置されるカメラ3が撮影した撮影映像を入力する。位置取得部15は、自船4の位置を示す位置情報を取得する。姿勢取得部16は、自船4の姿勢を示す姿勢情報を取得する。付加表示情報取得部17は、1又は複数の地点の位置を示す情報を含む付加表示情報を取得する。合成映像生成部20は、前記位置情報及び前記姿勢情報に基づいて、3次元仮想空間40に視点カメラ55を配置し、当該3次元仮想空間40に前記付加表示情報の少なくとも一部を3次元の仮想現実オブジェクト41v,42v,・・・として配置するとともに仮想の映写スクリーン51を配置し、映写スクリーン51を分割するメッシュであってカメラ3の撮影映像に生じるレンズ歪みと逆方向に歪んだメッシュ52を作成する。合成映像生成部20は、視点カメラ55の位置及び向きに基づいて、仮想現実オブジェクト41v,42v,・・・の頂点及びメッシュ52の頂点を、頂点シェーダにより、透視投影面である2次元の仮想スクリーンでの位置に変換する。また、合成映像生成部20は、前記仮想スクリーンにおける各頂点の位置に基づいて、カメラ3の撮影映像を分割した映像片を、対応する前記メッシュにピクセルシェーダにより配置する。以上により、合成映像生成部20は、仮想現実オブジェクト41v,42v,・・・を描画した図形41f,42f,・・・を前記撮影映像に合成した合成映像を生成する。
【0110】
また、本実施形態では、以下に示す方法で映像の生成が行われている。即ち、船舶(自船)4に設置されるカメラ3が撮影した撮影映像を入力し、自船4の位置を示す位置情報を取得し、自船4の姿勢を示す姿勢情報を取得し、1又は複数の地点の位置を示す情報を含む付加表示情報を取得する。前記位置情報及び前記姿勢情報に基づいて、3次元仮想空間40に視点カメラ55を配置し、当該3次元仮想空間40に前記付加表示情報の少なくとも一部を3次元の仮想現実オブジェクト41v,42v,・・・として配置するとともに仮想の映写スクリーン51を配置し、前記映写スクリーン51を分割するメッシュであってカメラ3の撮影映像に生じるレンズ歪みと逆方向に歪んだメッシュ52を作成し、視点カメラ55の位置及び向きに基づいて、仮想現実オブジェクト41v,42v,・・・の頂点及びメッシュ52の頂点を、頂点シェーダにより、透視投影面である2次元の仮想スクリーンでの位置に変換し、当該仮想スクリーンにおける各頂点の位置に基づいて、カメラ3の撮影映像を分割した映像片を、対応するメッシュ52にピクセルシェーダにより配置することで、仮想現実オブジェクト41v,42v,・・・を描画した図形41f,42f,・・・を前記撮影映像に合成した合成映像を生成する。
【0111】
これにより、自船4の位置及び姿勢に基づいて、付加表示情報の位置等を3次元コンピュータグラフィックスにより表現する図形41f,42f,・・・をカメラ3の撮影映像に重ねることで、
図6及び
図8のような仮想現実的な合成映像を得ることができる。また、撮影映像に
図5のように生じるレンズ歪みを補正した状態で3次元コンピュータグラフィックスと合成するので、合成時の違和感を少なくすることができる。更に、レンズ歪みを補正するためのメッシュ52を3次元仮想空間40に配置して、当該メッシュ52の頂点を仮想スクリーンでの位置に変換し、カメラ3の撮影映像を分割した映像片を対応するメッシュ52に配置することで、レンズ歪みを適切に補正することができる。また、レンズ歪みの補正を考慮した透視投影を、頂点座標データの段階で頂点シェーダにより行い、その後に撮影映像のラスタデータをピクセルシェーダで配置することにより行うので、ラスタデータの変形処理を1回行うだけで済む。従って、レンズ歪みの補正と透視投影とで撮影映像のラスタデータを変形する処理を個別に行う場合と比較して、映像の画質劣化を防止できるとともに、処理の大幅な高速化を図ることができる。
【0112】
また、本実施形態の映像生成装置1は、前述の視点追従モード、即ち、視点カメラ55の位置及び向きが、カメラ3の位置及び向きと常に一致するように自動的に変化するモードで動作することができる。この視点追従モードでは、合成映像生成部20は、姿勢取得部16が取得した姿勢情報が変化した場合に、3次元仮想空間40における映写スクリーン51及び視点カメラ55の位置及び向きを、シミュレートされたカメラ3の位置及び向きの変化に対応するように移動させる。
【0113】
これにより、自船4が波等により揺れ、カメラ3の位置等が変化した場合に、それに応じて視点カメラ55及び映写スクリーン51を移動させることで、簡単な処理で、3次元コンピュータグラフィックス(図形41f,42f,・・・)の表示を撮影映像の変化と整合させるように更新することができる。また、視点カメラ55と映写スクリーン51とが互いに連動することで、例えば合成映像において常に撮影映像が現れるようにする処理も容易に行うことができる。
【0114】
また、本実施形態の映像生成装置1は、作成されるメッシュ52の歪む方向及び歪み量の少なくとも何れかを変更可能に構成されている。
【0115】
これにより、レンズ歪みを補正する向き及び強さを調整することができるので、幅広いカメラ3(例えば、レンズの画角が異なるカメラ)に対応することができる。
【0116】
また、本実施形態の映像生成装置1において、メッシュ52は
図4に示すように、3次元仮想空間40において湾曲状に配置される。
【0117】
これにより、合成映像において撮影映像が自然な見え方で現れるようにすることができる。
【0118】
また、本実施形態の映像生成装置1において、付加表示情報には、他の船舶、ランドマーク、予定航路、航路軌跡、ウェイポイント、立寄地、到着地、魚群が探知された海域、危険海域、航海禁止領域、ブイ、及び仮想ブイのうちの少なくとも何れかとすることができる。
【0119】
これにより、ユーザにとって有益な情報を、位置関係を含めて直感的に把握し易い形で表示することができる。
【0120】
また、本実施形態の映像生成装置1は、付加表示情報が示す地点と自船4との間の距離に応じて、当該付加表示情報に対応して表示される図形41f,42f,・・・の色を異ならせる。
【0121】
これにより、例えば、他船44が近くに存在する場合に、当該他船44を示す付加表示情報を表す図形44fを他よりも目立つ色で表示することで、ユーザは状況を適切に理解することができる。
【0122】
また、本実施形態の映像生成装置1は、船舶4に設置されたディスプレイ2に対して合成映像を出力するが、このほか、携帯型コンピュータ、ヘッドマウントディスプレイ等にも合成映像を出力する構成とすることもできる。
【0123】
これにより、合成映像を有効に活用することができる。
【0124】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【0125】
カメラ3によっては、
図5に示すような樽型のレンズ歪みではなく、糸巻き型のレンズ歪みを生じる場合がある。この場合は、メッシュ52として樽型に歪んだものを用いることで、レンズ歪みを適切に補正することができる。
【0126】
歪み補正設定部29によるメッシュ52の歪みの設定機能は、当該歪みの方向及び強さを例えばダイアログを用いて設定するほか、例えばメッシュ52の網目をディスプレイ2に表示して、網目をマウス32でドラッグすることで直感的に設定することもできる。
【0127】
カメラ3において、上記のパン/チルト機能を省略し、撮影方向が例えば前方で固定されるように構成されてもよい。また、カメラ3が前方以外の方向(例えば、後方)を撮影するように配置されてもよい。
【0128】
ユーザが視点カメラ55の向きを変更する操作を行ったときに、それに追従するようにカメラ3のパン/チルト動作が自動的に行われてもよい。
【0129】
カメラ3として、互いに異なる方向に向けられた複数のレンズと、それぞれのレンズに対応する撮像素子と、を備え、複数の撮像素子による撮像結果を繋ぎ合わせてライブ出力を行う構成のカメラが用いられてもよい。この場合、複数のレンズのそれぞれに対応したメッシュを繋ぎ合わせたものを3次元仮想空間40に配置することで、レンズ歪みを補正することができる。
【0130】
カメラ3として、自船4の周囲を360度の全方位にわたって同時撮影が可能な構成のカメラが用いられてもよい。
【0131】
例えば他船44を表す図形44fが合成映像において表示される色の変更は、仮想現実オブジェクト44vのポリゴンの頂点に設定される色を変更することに代えて、仮想現実オブジェクト44vに貼り付けられるテクスチャ画像の色を変更することで実現されてもよい。
【0132】
3次元シーン生成部22が3次元シーンデータ48を生成するにあたって、上記の実施形態では、
図4で説明したように、仮想現実オブジェクト41v,42v,・・・が自船4の位置を原点とした船首基準で配置されている。しかしながら、仮想現実オブジェクト41v,42v,・・・を、船首基準ではなく、+z方向が常に真北となる真北基準で配置してもよい。この場合、回頭等によって自船4の船首方位が変化したときは、仮想現実オブジェクト41v,42v,・・・を再配置する代わりに、3次元仮想空間40での自船4の向きをヨー方向に変化させることになる。そして、このときのカメラ3の位置及び向きの変化を3次元仮想空間40においてシミュレートするとともに、これに連動して視点カメラ55の位置及び向きを変更してレンダリングを行うことで、上述の船首基準の場合と全く同じレンダリング結果を得ることができる。
【0133】
また、3次元仮想空間40の座標系は、自船4の位置を原点にすることに代えて、地球上に適宜定められた固定点を原点とし、例えば、+z方向が真北、+x方向が真東となるように定められてもよい。この場合、地球に固定された座標系の3次元仮想空間40において、自船4が配置される位置及び向きが位置情報及び姿勢情報に基づいて変化し、これに伴うカメラ3の位置及び向きの変化が3次元仮想空間40においてシミュレートされることになる。
【0134】
映像生成装置1において、自船4の揺れに伴う合成映像の揺れを軽減する処理が行われてもよい。例えば、3次元シーン生成部22において、自船4が揺れても視点カメラ55の位置及び向きの変動を抑制するようにすることが考えられる。
【0135】
映像生成装置1に接続される船舶機器(付加表示情報の情報源)は、
図1で説明したものに限るものではなく、その他の船舶機器が含まれていてもよい。
【0136】
本発明は、海上を航行する船舶に限らず、例えば、海、湖、又は河川等を航行可能な任意の水上移動体に適用することができる。