(57)【要約】【課題】演算負荷の増大を押さえながらも画質を向上させることができる画像生成装置を提供すること。【解決手段】画像生成装置１００は、ショベル６０に取り付けられたカメラ２が撮像した入力画像に基づいて出力画像を生成する。また、画像生成装置１００は、入力画像における入力画素の値と出力画像における出力画素の値とを対応付けて出力画像を生成する出力画像生成手段１１を備える。出力画像平面上の整数座標点で特定される出力画素の値は、その整数座標点に対応する入力画像平面上の実数座標点Ｐの周囲にある４つの整数座標点Ａ〜Ｄから選択される２つの整数座標点Ｂ、Ｄで特定される２つの入力画素の値に基づいて決定される。【選択図】図１０
2015138357.tif 000002
【特許請求の範囲】
【請求項１】
被操作体に取り付けられたカメラが撮像した入力画像に基づいて出力画像を生成する画像生成装置であって、
前記入力画像が位置する入力画像平面における入力画素の値と前記出力画像が位置する出力画像平面における出力画素の値とを対応付けて前記出力画像を生成する出力画像生成手段を備え、
前記出力画像平面上の整数座標点で特定される出力画素の値は、前記整数座標点に対応する前記入力画像平面上の実数座標点の周囲にある４つの整数座標点から選択される２つの整数座標点で特定される２つの入力画素の値に基づいて決定される、
画像生成装置。
【請求項２】
前記２つの整数座標点を結ぶ線分と前記実数座標点との間の距離は、前記４つの整数座標のうちの任意の２つの整数座標点を結ぶ線分と前記実数座標点との間の距離のうちで最も短い、
請求項１に記載の画像生成装置。
【請求項３】
前記出力画素の値は、前記２つの入力画素の値を加重平均することで得られ、
前記２つの整数座標点の間の距離を第１距離とし、前記２つの整数座標点を結ぶ線分に対して前記実数座標点から下ろした垂線の交点と前記２つの入力画素のうちの第１画素を特定する第１整数座標点との間の距離を第２距離とした場合、前記第１画素の値の重みは、前記第１距離から前記第２距離を差し引いた値の前記第１距離に対する比率であり、前記２つの入力画素のうちの第２画素の値の重みは、前記第２距離の前記第１距離に対する比率である、
請求項１又は２に記載の画像生成装置。
【請求項４】
前記被操作体の周囲に配置される空間モデルにおける座標と、前記入力画像平面における座標とを対応付ける座標対応付け手段を有し、
前記出力画像生成手段は、前記空間モデルにおける座標を介して、前記入力画素の値と前記出力画素の値とを対応付けて前記出力画像を生成する、
請求項１乃至３の何れか一項に記載の画像生成装置。
【請求項５】
被操作体の移動又は操作を支援する操作支援システムであって、
請求項１乃至４の何れか一項に記載の画像生成装置と、
前記被操作体を移動させ或いは操作するための操作室に設置され、該画像生成装置が生成する出力画像を表示する表示部と、
を備える操作支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被操作体に取り付けられたカメラが撮像した入力画像に基づいて出力画像を生成する画像生成装置及びその装置を用いた操作支援システムに関する。
【背景技術】
【０００２】
ショベルの上部旋回体に取り付けられたカメラが撮像した入力画像に基づいて出力画像を生成する画像生成装置が知られている（例えば、特許文献１参照。）。
【０００３】
この画像生成装置は、入力画像の回転を含む画像処理を実行するため、出力画像上にジャギーを生じさせる。
【０００４】
なお、ジャギーを軽減する方法としては、最近傍補間、バイリニア補間、バイキュービック補間等が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２１８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、最近傍補間はジャギーを十分に軽減させることができない。一方で、バイリニア補間又はバイキュービック補間は、画像生成装置に対して高い演算能力を要求し、画像生成装置の製造コストを増大させるという問題がある。
【０００７】
上述の点に鑑み、演算負荷の増大を押さえながらも画質を向上させることができる画像生成装置及びその装置を用いた操作支援システムを提供することが望まれる。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、本発明の実施例に係る画像生成装置は、被操作体に取り付けられたカメラが撮像した入力画像に基づいて出力画像を生成する画像生成装置であって、前記入力画像が位置する入力画像平面における入力画素の値と前記出力画像が位置する出力画像平面における出力画素の値とを対応付けて前記出力画像を生成する出力画像生成手段を備え、前記出力画像平面上の整数座標点で特定される出力画素の値は、前記整数座標点に対応する前記入力画像平面上の実数座標点の周囲にある４つの整数座標点から選択される２つの整数座標点で特定される２つの入力画素の値に基づいて決定される。
【０００９】
また、本発明の実施例に係る操作支援システムは、被操作体の移動又は操作を支援する操作支援システムであって、上述の画像生成装置と、前記被操作体を移動させ或いは操作するための操作室に設置され、該画像生成装置が生成する出力画像を表示する表示部とを備える。
【発明の効果】
【００１０】
上述の手段により、本発明は、演算負荷の増大を押さえながらも画質を向上させることができる画像生成装置及びその装置を用いた操作支援システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例に係る画像生成装置の構成例を概略的に示すブロック図である。
【図２】画像生成装置が搭載されるショベルの構成例を示す図である。
【図３】入力画像が投影される空間モデルの一例を示す図である。
【図４】空間モデルと処理対象画像平面との間の関係の一例を示す図である。
【図５】入力画像平面上の座標と空間モデル上の座標との対応付けを説明するための図である。
【図６】座標対応付け手段による座標間の対応付けを説明するための図である。
【図７】処理対象画像生成処理及び出力画像生成処理の流れを示すフローチャートである。
【図８】出力画像の表示例である。
【図９】出力画像生成手段による補間処理の効果を説明する図である。
【図１０】補間処理を説明する概略図である。
【図１１】出力画像生成手段の構成例を示す機能ブロック図である。
【図１２】補間処理の流れを示すフローチャートである。
【図１３】垂線交点の座標値の小数部分と第１画素の値の重みαとの関係を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【００１３】
図１は、本発明の実施例に係る画像生成装置１００の構成例を概略的に示すブロック図である。
【００１４】
画像生成装置１００は、例えば、建設機械に搭載されたカメラ２が撮像した入力画像に基づいて出力画像を生成し、その出力画像を運転者に提示する装置であって、制御部１、カメラ２、入力部３、記憶部４、及び表示部５で構成される。
【００１５】
図２は、画像生成装置１００が搭載されるショベル６０の構成例を示す図であり、ショベル６０は、クローラ式の下部走行体６１の上に、旋回機構６２を介して、上部旋回体６３を旋回軸ＰＶの周りで旋回自在に搭載している。
【００１６】
また、上部旋回体６３は、その前方左側部にキャブ（運転室）６４を備え、その前方中央部に掘削アタッチメントＥを備え、その右側面、左側面、及び後面にカメラ２（右側方カメラ２Ｒ、左側方カメラ２Ｌ、後方カメラ２Ｂ）を備えている。なお、キャブ６４内の運転者が視認し易い位置には表示部５が設置されている。
【００１７】
次に、画像生成装置１００の各構成要素について説明する。
【００１８】
制御部１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ(Random Access Memory)、ＲＯＭ（Read Only Memory）、ＮＶＲＡＭ（Non-Volatile Random Access Memory）等を備えたコンピュータである。制御部１は、例えば、後述する座標対応付け手段１０及び出力画像生成手段１１のそれぞれに対応するプログラムをＲＯＭやＮＶＲＡＭに記憶し、一時記憶領域としてＲＡＭを利用しながら各手段に対応する処理をＣＰＵに実行させる。
【００１９】
カメラ２は、ショベル６０の周辺を映し出す入力画像を取得するための装置であり、例えば、キャブ６４にいる運転者の死角となる領域を撮像できるよう上部旋回体６３の右側面、左側面、及び後面に取り付けられる（図２参照。）。
【００２０】
また、カメラ２は、制御部１からの制御信号に応じて入力画像を取得し、取得した入力画像を制御部１に対して出力する。
【００２１】
入力部３は、操作者が画像生成装置１００に対して各種情報を入力できるようにするための装置であり、例えば、タッチパネル、ボタンスイッチ、ポインティングデバイス、キーボード等である。
【００２２】
記憶部４は、各種情報を記憶するための装置であり、例えば、ハードディスク、光学ディスク、又は半導体メモリ等である。
【００２３】
表示部５は、画像情報を表示するための装置であり、例えば、建設機械のキャブ６４（図２参照。）内に設置された液晶ディスプレイ又はプロジェクタ等であって、制御部１が出力する各種画像を表示する。
【００２４】
また、画像生成装置１００は、入力画像に基づいて処理対象画像を生成し、その処理対象画像に画像変換処理を施して出力画像を生成する。そして、画像生成装置１００は、この出力画像を操作者に提示することにより、操作者がショベル６０と周辺障害物との位置関係や距離感を直感的に把握できるようにする。
【００２５】
「処理対象画像」は、入力画像に基づいて生成される画像である。また、処理対象画像は、例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等の画像変換処理の対象となる画像である。また、処理対象画像は、例えば、入力画像を所定の空間モデルに投影した後で、その空間モデルに投影された投影画像を別の二次元平面に再投影することによって得られる。空間モデルへの投影は、入力画像を画像変換処理で用いた場合にその入力画像が不自然に表示されてしまうのを防止するために行われる。具体的には、地表を上方から撮像するカメラによる入力画像であってその広い画角により高さを有する立体物（周辺障害物）を含む入力画像を画像変換処理で用いた場合に、その立体物（周辺障害物）が不自然に表示されてしまうのを防止するために行われる。なお、処理対象画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
【００２６】
「空間モデル」は、少なくとも、処理対象画像が位置する平面である処理対象画像平面以外の平面又は曲面を含む、一又は複数の平面若しくは曲面で構成される、入力画像の投影対象である。なお、処理対象画像平面以外の平面又は曲面は、例えば、処理対象画像平面に平行な平面、又は、処理対象画像平面との間で角度を形成する平面若しくは曲面である。
【００２７】
なお、画像生成装置１００は、処理対象画像を生成することなく、その空間モデルに投影された投影画像に画像変換処理を施すことによって出力画像を生成してもよい。また、投影画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
【００２８】
図３は、入力画像が投影される空間モデルＭＤの一例を示す図であり、図３（Ａ）は、ショベル６０を側方から見たときのショベル６０と空間モデルＭＤとの間の関係を示し、図３（Ｂ）は、ショベル６０を上方から見たときのショベル６０と空間モデルＭＤとの間の関係を示す。
【００２９】
図３で示されるように、空間モデルＭＤは、略円筒形状を有し、その底面内部の平面領域Ｒ１とその側面内部の曲面領域Ｒ２とを有する。
【００３０】
また、図４は、空間モデルＭＤと処理対象画像平面との間の関係の一例を示す。図４に示すように、処理対象画像平面Ｒ３は、例えば、空間モデルＭＤの平面領域Ｒ１を含む平面である。なお、図４は、明確化のために、空間モデルＭＤを、図３で示すような略円筒形状ではなく、円筒形状で示しているが、空間モデルＭＤは、略円筒形状及び円筒形状の何れであってもよい。以降の図においても同様である。また、処理対象画像平面Ｒ３は、上述のように、空間モデルＭＤの平面領域Ｒ１を含む円形領域であってもよく、空間モデルＭＤの平面領域Ｒ１を含まない環状領域であってもよい。
【００３１】
次に、制御部１が有する各種手段について説明する。
【００３２】
座標対応付け手段１０は、カメラ２が撮像した入力画像が位置する入力画像平面上の座標と、空間モデルＭＤ上の座標と、処理対象画像平面Ｒ３上の座標とを対応付けるための手段である。また、座標対応付け手段１０は、例えば、カメラ２に関する各種パラメータと、予め決定された、入力画像平面、空間モデルＭＤ、及び処理対象画像平面Ｒ３の相互の位置関係とに基づいて、入力画像平面上の座標と、空間モデルＭＤ上の座標と、処理対象画像平面Ｒ３上の座標とを対応付ける。そして、座標対応付け手段１０は、それらの対応関係を記憶部４の入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１に記憶する。カメラ２に関する各種パラメータは、カメラ２の光学中心、焦点距離、ＣＣＤサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等を含み、予め設定された値であってもよく、入力部３を介して入力される値であってもよい。
【００３３】
なお、座標対応付け手段１０は、処理対象画像を生成しない場合には、空間モデルＭＤ上の座標と処理対象画像平面Ｒ３上の座標との対応付け、及び、その対応関係の空間モデル・処理対象画像対応マップ４１への記憶を省略する。
【００３４】
出力画像生成手段１１は、出力画像を生成するための手段であり、例えば、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって、処理対象画像平面Ｒ３上の座標と出力画像が位置する出力画像平面上の座標とを対応付ける。そして、出力画像生成手段１１は、その対応関係を記憶部４の処理対象画像・出力画像対応マップ４２に記憶する。そして、出力画像生成手段１１は、入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１を参照し、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。各画素の値は、例えば、輝度値、色相値、彩度値等を含む。
【００３５】
また、出力画像生成手段１１は、仮想カメラに関する各種パラメータに基づいて、処理対象画像平面Ｒ３上の座標と出力画像平面上の座標とを対応付け、その対応関係を記憶部４の処理対象画像・出力画像対応マップ４２に記憶する。そして、出力画像生成手段１１は、入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１を参照し、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。仮想カメラに関する各種パラメータは、仮想カメラの光学中心、焦点距離、ＣＣＤサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等を含み、予め設定された値であってもよく、入力部３を介して入力される値であってもよい。
【００３６】
なお、出力画像生成手段１１は、仮想カメラの概念を用いることなく、処理対象画像のスケールを変更して出力画像を生成してもよい。
【００３７】
また、出力画像生成手段１１は、処理対象画像を生成しない場合には、施した画像変換処理に応じて空間モデルＭＤ上の座標と出力画像平面上の座標とを対応付ける。そして、出力画像生成手段１１は、入力画像・空間モデル対応マップ４０を参照し、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。この場合、出力画像生成手段１１は、処理対象画像平面Ｒ３上の座標と出力画像平面上の座標との対応付け、及び、その対応関係の処理対象画像・出力画像対応マップ４２への記憶を省略する。
【００３８】
次に、座標対応付け手段１０及び出力画像生成手段１１による具体的な処理の一例について説明する。
【００３９】
座標対応付け手段１０は、例えば、ハミルトンの四元数を用いて、入力画像平面上の座標と空間モデル上の座標とを対応付けることができる。
【００４０】
図５は、入力画像平面上の座標と空間モデル上の座標との対応付けを説明するための図である。図５において、カメラ２の入力画像平面は、カメラ２の光学中心Ｃを原点とするＵＶＷ直交座標系における一平面として表され、空間モデルは、ＸＹＺ直交座標系における立体面として表される。
【００４１】
最初に、座標対応付け手段１０は、ＸＹＺ座標系の原点を光学中心Ｃ（ＵＶＷ座標系の原点）に並行移動させた上で、Ｘ軸をＵ軸に、Ｙ軸をＶ軸に、Ｚ軸を−Ｗ軸にそれぞれ一致させるようＸＹＺ座標系を回転させる。空間モデル上の座標（ＸＹＺ座標系上の座標）を入力画像平面上の座標（ＵＶＷ座標系上の座標）に変換するためである。なお、−Ｗ軸における符号「−」は、Ｚ軸とは方向が逆であることを意味する。これは、ＵＶＷ座標系がカメラ前方を＋Ｗ方向とし、ＸＹＺ座標系が鉛直下方を−Ｚ方向としていることに起因する。
【００４２】
なお、カメラ２が複数存在する場合、カメラ２のそれぞれが個別のＵＶＷ座標系を有する。そのため、座標対応付け手段１０は、複数のＵＶＷ座標系のそれぞれに対して、ＸＹＺ座標系を並行移動させ且つ回転させる。
【００４３】
上述の変換は、カメラ２の光学中心ＣがＸＹＺ座標系の原点となるようにＸＹＺ座標系を並行移動させた後に、Ｚ軸が−Ｗ軸に一致するよう回転させ、更に、Ｘ軸がＵ軸に一致するよう回転させることによって実現される。座標対応付け手段１０は、この変換をハミルトンの四元数で記述することにより、それら二回の回転を一回の回転演算に纏めることができる。
【００４４】
ところで、あるベクトルＡを別のベクトルＢに一致させるための回転は、ベクトルＡとベクトルＢとが形成する面の法線を軸としてベクトルＡとベクトルＢとが形成する角度だけ回転させる処理に相当する。そのため、その角度をθとすると、ベクトルＡとベクトルＢとの内積から、角度θは、
【００４５】
【数１】
2015138357.tif 000003
で表される。
【００４６】
また、ベクトルＡとベクトルＢとが形成する面の法線の単位ベクトルＮは、ベクトルＡとベクトルＢとの外積から
【００４７】
【数２】
2015138357.tif 000004
で表される。
【００４８】
なお、四元数は、ｉ、ｊ、ｋをそれぞれ虚数単位とした場合、
【００４９】
【数３】
2015138357.tif 000005
を満たす超複素数である。本実施例において、四元数Ｑは、実成分をｔ、純虚成分をａ、ｂ、ｃとして、
【００５０】
【数４】
2015138357.tif 000006
で表され、四元数Ｑの共役四元数は、
【００５１】
【数５】
2015138357.tif 000007
で表される。
【００５２】
四元数Ｑは、実成分ｔを０（ゼロ）としながら、純虚成分ａ、ｂ、ｃで三次元ベクトル（ａ，ｂ，ｃ）を表現することができ、また、ｔ、ａ、ｂ、ｃの各成分により任意のベクトルを軸とした回転動作を表現することもできる。
【００５３】
更に、四元数Ｑは、連続する複数回の回転動作を統合して一回の回転動作として表現することができ、例えば、任意の点Ｓ（ｓｘ，ｓｙ，ｓｚ）を、任意の単位ベクトルＣ（ｌ，ｍ，ｎ）を軸としながら角度θだけ回転させたときの点Ｄ（ｅｘ，ｅｙ，ｅｚ）を以下のように表現することができる。
【００５４】
【数６】
2015138357.tif 000008
ここで、本実施例において、Ｚ軸を−Ｗ軸に一致させる回転を表す四元数をＱｚとすると、ＸＹＺ座標系におけるＸ軸上の点Ｘは、点Ｘ'に移動させられるので、点Ｘ'は、
【００５５】
【数７】
2015138357.tif 000009
で表される。
【００５６】
また、本実施例において、Ｘ軸上にある点Ｘ'と原点とを結ぶ線をＵ軸に一致させる回転を表す四元数をＱｘとすると、「Ｚ軸を−Ｗ軸に一致させ、更に、Ｘ軸をＵ軸に一致させる回転」を表す四元数Ｒは、
【００５７】
【数８】
2015138357.tif 000010
で表される。
【００５８】
以上により、空間モデル（ＸＹＺ座標系）上の任意の座標Ｐを入力画像平面（ＵＶＷ座標系）上の座標で表現したときの座標Ｐ'は、
【００５９】
【数９】
2015138357.tif 000011
で表され、四元数Ｒがカメラ２のそれぞれで不変であることから、座標対応付け手段１０は、以後、この演算を実行するだけで空間モデル（ＸＹＺ座標系）上の座標を入力画像平面（ＵＶＷ座標系）上の座標に変換することができる。
【００６０】
空間モデル（ＸＹＺ座標系）上の座標を入力画像平面（ＵＶＷ座標系）上の座標に変換した後、座標対応付け手段１０は、カメラ２の光学中心Ｃ（ＵＶＷ座標系上の座標）と空間モデル上の任意の座標ＰをＵＶＷ座標系で表した座標Ｐ'とを結ぶ線分ＣＰ'と、カメラ２の光軸Ｇとが形成する入射角αを算出する。
【００６１】
また、座標対応付け手段１０は、カメラ２の入力画像平面Ｒ４（例えば、ＣＣＤ面）に平行で且つ座標Ｐ'を含む平面Ｈにおける、平面Ｈと光軸Ｇとの交点Ｅと座標Ｐ'とを結ぶ線分ＥＰ'と、平面ＨにおけるＵ'軸とが形成する偏角φ、及び線分ＥＰ'の長さを算出する。
【００６２】
カメラの光学系は、通常、像高さｈが入射角α及び焦点距離ｆの関数となっているので、座標対応付け手段１０は、通常射影（ｈ＝ｆｔａｎα）、正射影（ｈ＝ｆｓｉｎα）、立体射影（ｈ＝２ｆｔａｎ（α／２））、等立体角射影（ｈ＝２ｆｓｉｎ（α／２））、等距離射影（ｈ＝ｆα）等の適切な射影方式を選択して像高さｈを算出する。
【００６３】
その後、座標対応付け手段１０は、算出した像高さｈを偏角φによりＵＶ座標系上のＵ成分及びＶ成分に分解し、入力画像平面Ｒ４の一画素当たりの画素サイズに相当する数値で除算することにより、空間モデルＭＤ上の座標Ｐ（Ｐ'）と入力画像平面Ｒ４上の座標とを対応付けることができる。
【００６４】
なお、入力画像平面Ｒ４のＵ軸方向における一画素当たりの画素サイズをａUとし、入力画像平面Ｒ４のＶ軸方向における一画素当たりの画素サイズをａVとすると、空間モデルＭＤ上の座標Ｐ（Ｐ'）に対応する入力画像平面Ｒ４上の座標（ｕ，ｖ）は、
【００６５】
【数１０】
2015138357.tif 000012
【００６６】
【数１１】
2015138357.tif 000013
で表される。
【００６７】
このようにして、座標対応付け手段１０は、空間モデルＭＤ上の座標と、カメラ毎に存在する一又は複数の入力画像平面Ｒ４上の座標とを対応付け、空間モデルＭＤ上の座標、カメラ識別子、及び入力画像平面Ｒ４上の座標を関連付けて入力画像・空間モデル対応マップ４０に記憶する。
【００６８】
また、座標対応付け手段１０は、四元数を用いて座標の変換を演算するので、オイラー角を用いて座標の変換を演算する場合と異なり、ジンバルロックを発生させることがないという利点を有する。しかしながら、座標対応付け手段１０は、四元数を用いて座標の変換を演算するものに限定されることはなく、オイラー角を用いて座標の変換を演算してもよい。
【００６９】
なお、複数の入力画像平面Ｒ４上の座標への対応付けが可能な場合、座標対応付け手段１０は、空間モデルＭＤ上の座標Ｐ（Ｐ'）を、その入射角αが最も小さいカメラに関する入力画像平面Ｒ４上の座標に対応付けるようにしてもよく、操作者が選択した入力画像平面Ｒ４上の座標に対応付けるようにしてもよい。
【００７０】
次に、空間モデルＭＤ上の座標のうち、曲面領域Ｒ２上の座標（Ｚ軸方向の成分を持つ座標）を、ＸＹ平面上にある処理対象画像平面Ｒ３に再投影する処理について説明する。
【００７１】
図６は、座標対応付け手段１０による座標間の対応付けを説明するための図である。また、図６（Ａ）は、一例として通常射影（ｈ＝ｆｔａｎα）を採用するカメラ２の入力画像平面Ｒ４上の座標と空間モデルＭＤ上の座標との間の対応関係を示す図である。図２に示すように、座標対応付け手段１０は、カメラ２の入力画像平面Ｒ４上の座標とその座標に対応する空間モデルＭＤ上の座標とを結ぶ線分のそれぞれがカメラ２の光学中心Ｃを通過するようにして、両座標を対応付ける。
【００７２】
図６（Ａ）の例では、座標対応付け手段１０は、カメラ２の入力画像平面Ｒ４上の座標Ｋ１を空間モデルＭＤの平面領域Ｒ１上の座標Ｌ１に対応付け、カメラ２の入力画像平面Ｒ４上の座標Ｋ２を空間モデルＭＤの曲面領域Ｒ２上の座標Ｌ２に対応付ける。このとき、線分Ｋ１−Ｌ１及び線分Ｋ２−Ｌ２は共にカメラ２の光学中心Ｃを通過する。
【００７３】
なお、カメラ２が通常射影以外の射影方式（例えば、正射影、立体射影、等立体角射影、等距離射影等である。）を採用する場合、座標対応付け手段１０は、それぞれの射影方式に応じて、カメラ２の入力画像平面Ｒ４上の座標Ｋ１、Ｋ２を空間モデルＭＤ上の座標Ｌ１、Ｌ２に対応付けるようにする。
【００７４】
具体的には、座標対応付け手段１０は、所定の関数（例えば、正射影（ｈ＝ｆｓｉｎα）、立体射影（ｈ＝２ｆｔａｎ（α／２））、等立体角射影（ｈ＝２ｆｓｉｎ（α／２））、等距離射影（ｈ＝ｆα）等である。）に基づいて、入力画像平面上の座標と空間モデルＭＤ上の座標とを対応付ける。この場合、線分Ｋ１−Ｌ１及び線分Ｋ２−Ｌ２がカメラ２の光学中心Ｃを通過することはない。
【００７５】
図６（Ｂ）は、空間モデルＭＤの曲面領域Ｒ２上の座標と処理対象画像平面Ｒ３上の座標との間の対応関係を示す図である。図６（Ｂ）に示すように、座標対応付け手段１０は、ＸＺ平面上に位置する平行線群ＰＬであって、処理対象画像平面Ｒ３との間で角度βを形成する平行線群ＰＬを導入し、空間モデルＭＤの曲面領域Ｒ２上の座標とその座標に対応する処理対象画像平面Ｒ３上の座標とが共に平行線群ＰＬのうちの一つに乗るようにして、両座標を対応付ける。
【００７６】
図６（Ｂ）の例では、座標対応付け手段１０は、空間モデルＭＤの曲面領域Ｒ２上の座標Ｌ２と処理対象画像平面Ｒ３上の座標Ｍ２とが共通の平行線に乗るとして、両座標を対応付けるようにする。
【００７７】
なお、座標対応付け手段１０は、空間モデルＭＤの平面領域Ｒ１上の座標を曲面領域Ｒ２上の座標と同様に平行線群ＰＬを用いて処理対象画像平面Ｒ３上の座標に対応付けることが可能であるが、図６（Ｂ）の例では、平面領域Ｒ１と処理対象画像平面Ｒ３とが共通の平面となっているので、空間モデルＭＤの平面領域Ｒ１上の座標Ｌ１と処理対象画像平面Ｒ３上の座標Ｍ１とは同じ座標値を有するものとなっている。
【００７８】
このようにして、座標対応付け手段１０は、空間モデルＭＤ上の座標と、処理対象画像平面Ｒ３上の座標とを対応付け、空間モデルＭＤ上の座標及び処理対象画像平面Ｒ３上の座標を関連付けて空間モデル・処理対象画像対応マップ４１に記憶する。
【００７９】
図６（Ｃ）は、処理対象画像平面Ｒ３上の座標と一例として通常射影（ｈ＝ｆｔａｎα）を採用する仮想カメラ２Ｖの出力画像平面Ｒ５上の座標との間の対応関係を示す図である。図６（Ｃ）に示すように、出力画像生成手段１１は、仮想カメラ２Ｖの出力画像平面Ｒ５上の座標とその座標に対応する処理対象画像平面Ｒ３上の座標とを結ぶ線分のそれぞれが仮想カメラ２Ｖの光学中心ＣＶを通過するようにして、両座標を対応付ける。
【００８０】
図６（Ｃ）の例では、出力画像生成手段１１は、仮想カメラ２Ｖの出力画像平面Ｒ５上の座標Ｎ１を処理対象画像平面Ｒ３（空間モデルＭＤの平面領域Ｒ１）上の座標Ｍ１に対応付け、仮想カメラ２Ｖの出力画像平面Ｒ５上の座標Ｎ２を処理対象画像平面Ｒ３上の座標Ｍ２に対応付ける。このとき、線分Ｍ１−Ｎ１及び線分Ｍ２−Ｎ２は共に仮想カメラ２Ｖの光学中心ＣＶを通過する。
【００８１】
なお、仮想カメラ２Ｖが通常射影以外の射影方式（例えば、正射影、立体射影、等立体角射影、等距離射影等である。）を採用する場合、出力画像生成手段１１は、それぞれの射影方式に応じて、仮想カメラ２Ｖの出力画像平面Ｒ５上の座標Ｎ１、Ｎ２を処理対象画像平面Ｒ３上の座標Ｍ１、Ｍ２に対応付けるようにする。
【００８２】
具体的には、出力画像生成手段１１は、所定の関数（例えば、正射影（ｈ＝ｆｓｉｎα）、立体射影（ｈ＝２ｆｔａｎ（α／２））、等立体角射影（ｈ＝２ｆｓｉｎ（α／２））、等距離射影（ｈ＝ｆα）等である。）に基づいて、出力画像平面Ｒ５上の座標と処理対象画像平面Ｒ３上の座標とを対応付ける。この場合、線分Ｍ１−Ｎ１及び線分Ｍ２−Ｎ２が仮想カメラ２Ｖの光学中心ＣＶを通過することはない。
【００８３】
このようにして、出力画像生成手段１１は、出力画像平面Ｒ５上の座標と、処理対象画像平面Ｒ３上の座標とを対応付け、出力画像平面Ｒ５上の座標及び処理対象画像平面Ｒ３上の座標を関連付けて処理対象画像・出力画像対応マップ４２に記憶し、座標対応付け手段１０が記憶した入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。
【００８４】
なお、図６（Ｄ）は、図６（Ａ）〜図６（Ｃ）を組み合わせた図であり、カメラ２、仮想カメラ２Ｖ、空間モデルＭＤの平面領域Ｒ１及び曲面領域Ｒ２、並びに、処理対象画像平面Ｒ３の相互の位置関係を示す。
【００８５】
次に、図７を参照しながら、画像生成装置１００が処理対象画像を生成する処理（以下、「処理対象画像生成処理」とする。）、及び、生成した処理対象画像を用いて出力画像を生成する処理（以下、「出力画像生成処理」とする。）について説明する。なお、図７は、処理対象画像生成処理（ステップＳ１〜ステップＳ３）及び出力画像生成処理（ステップＳ４〜ステップＳ６）の流れを示すフローチャートである。また、カメラ２（入力画像平面Ｒ４）、空間モデル（平面領域Ｒ１及び曲面領域Ｒ２）、並びに、処理対象画像平面Ｒ３の配置は予め決定されているものとする。
【００８６】
最初に、制御部１は、座標対応付け手段１０により、処理対象画像平面Ｒ３上の座標と空間モデルＭＤ上の座標とを対応付ける（ステップＳ１）。
【００８７】
具体的には、座標対応付け手段１０は、平行線群ＰＬと処理対象画像平面Ｒ３との間に形成される角度を取得し、処理対象画像平面Ｒ３上の一座標から延びる平行線群ＰＬの一つが空間モデルＭＤの曲面領域Ｒ２と交差する点を算出する。そして、座標対応付け手段１０は、算出した点に対応する曲面領域Ｒ２上の座標を、処理対象画像平面Ｒ３上のその一座標に対応する曲面領域Ｒ２上の一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ４１に記憶する。なお、平行線群ＰＬと処理対象画像平面Ｒ３との間に形成される角度は、記憶部４等に予め記憶された値であってもよく、入力部３を介して操作者が動的に入力する値であってもよい。
【００８８】
また、座標対応付け手段１０は、処理対象画像平面Ｒ３上の一座標が空間モデルＭＤの平面領域Ｒ１上の一座標と一致する場合には、平面領域Ｒ１上のその一座標を、処理対象画像平面Ｒ３上のその一座標に対応する一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ４１に記憶する。
【００８９】
その後、制御部１は、座標対応付け手段１０により、上述の処理によって導き出された空間モデルＭＤ上の一座標と入力画像平面Ｒ４上の座標とを対応付ける（ステップＳ２）。
【００９０】
具体的には、座標対応付け手段１０は、通常射影（ｈ＝ｆｔａｎα）を採用するカメラ２の光学中心Ｃの座標を取得し、空間モデルＭＤ上の一座標から延びる線分であり、光学中心Ｃを通過する線分が入力画像平面Ｒ４と交差する点を算出する。そして、座標対応付け手段１０は、算出した点に対応する入力画像平面Ｒ４上の座標を、空間モデルＭＤ上のその一座標に対応する入力画像平面Ｒ４上の一座標として導き出し、その対応関係を入力画像・空間モデル対応マップ４０に記憶する。
【００９１】
その後、制御部１は、処理対象画像平面Ｒ３上の全ての座標を空間モデルＭＤ上の座標及び入力画像平面Ｒ４上の座標に対応付けたか否かを判定し（ステップＳ３）、未だ全ての座標を対応付けていないと判定した場合には（ステップＳ３のＮＯ）、ステップＳ１及びステップＳ２の処理を繰り返すようにする。
【００９２】
一方、制御部１は、全ての座標を対応付けたと判定した場合には（ステップＳ３のＹＥＳ）、処理対象画像生成処理を終了させた上で出力画像生成処理を開始させ、出力画像生成手段１１により、処理対象画像平面Ｒ３上の座標と出力画像平面Ｒ５上の座標とを対応付ける（ステップＳ４）。
【００９３】
具体的には、出力画像生成手段１１は、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって出力画像を生成し、施したスケール変換、アフィン変換、又は歪曲変換の内容によって定まる、処理対象画像平面Ｒ３上の座標と出力画像平面Ｒ５上の座標との間の対応関係を処理対象画像・出力画像対応マップ４２に記憶する。
【００９４】
或いは、出力画像生成手段１１は、仮想カメラ２Ｖを用いて出力画像を生成する場合には、採用した射影方式に応じて処理対象画像平面Ｒ３上の座標から出力画像平面Ｒ５上の座標を算出し、その対応関係を処理対象画像・出力画像対応マップ４２に記憶するようにしてもよい。
【００９５】
或いは、出力画像生成手段１１は、通常射影（ｈ＝ｆｔａｎα）を採用する仮想カメラ２Ｖを用いて出力画像を生成する場合には、その仮想カメラ２Ｖの光学中心ＣＶの座標を取得した上で、出力画像平面Ｒ５上の一座標から延びる線分であり、光学中心ＣＶを通過する線分が処理対象画像平面Ｒ３と交差する点を算出する。そして、出力画像生成手段１１は、算出した点に対応する処理対象画像平面Ｒ３上の座標を、出力画像平面Ｒ５上のその一座標に対応する処理対象画像平面Ｒ３上の一座標として導き出し、その対応関係を処理対象画像・出力画像対応マップ４２に記憶するようにしてもよい。
【００９６】
その後、制御部１は、出力画像生成手段１１により、入力画像・空間モデル対応マップ４０、空間モデル・処理対象画像対応マップ４１、及び処理対象画像・出力画像対応マップ４２を参照する。そして、制御部１は、入力画像平面Ｒ４上の座標と空間モデルＭＤ上の座標との対応関係、空間モデルＭＤ上の座標と処理対象画像平面Ｒ３上の座標との対応関係、及び処理対象画像平面Ｒ３上の座標と出力画像平面Ｒ５上の座標との対応関係を辿る。そして、制御部１は、出力画像平面Ｒ５上の各座標に対応する入力画像平面Ｒ４上の座標で特定される画素が有する値（例えば、輝度値、色相値、彩度値等である。）を取得する。そして、制御部１は、その取得した値を、対応する出力画像平面Ｒ５上の各座標で特定される画素の値として採用する（ステップＳ５）。すなわち、出力画像生成手段１１は、出力画像上の画素の値と入力画像上の画素の値とを関連付けて出力画像を生成する。なお、出力画像平面Ｒ５上の一座標に対して複数の入力画像平面Ｒ４上の複数の座標が対応する場合、出力画像生成手段１１は、それら複数の入力画像平面Ｒ４上の複数の座標で特定される複数の画素のそれぞれの値に基づく統計値（例えば、平均値、最大値、最小値、中間値等である。）を導き出し、出力画像平面Ｒ５上のその一座標で特定される一画素の値としてその統計値を採用するようにしてもよい。
【００９７】
その後、制御部１は、出力画像上の全画素の値を入力画像上の画素の値に対応付けたか否かを判定し（ステップＳ６）、未だ全ての画素の値を対応付けていないと判定した場合には（ステップＳ６のＮＯ）、ステップＳ４及びステップＳ５の処理を繰り返すようにする。
【００９８】
一方、制御部１は、全ての画素の値を対応付けたと判定した場合には（ステップＳ６のＹＥＳ）、出力画像を生成して、この一連の処理を終了させる。
【００９９】
なお、画像生成装置１００は、処理対象画像を生成しない場合には、処理対象画像生成処理を省略し、出力画像生成処理におけるステップＳ４の"処理対象画像平面上の座標"を"空間モデル上の座標"で読み替えるものとする。
【０１００】
以上の構成により、画像生成装置１００は、建設機械と周辺障害物との位置関係を操作者に直感的に把握させることが可能な処理対象画像及び出力画像を生成することができる。
【０１０１】
また、画像生成装置１００は、処理対象画像平面Ｒ３から空間モデルＭＤを経て入力画像平面Ｒ４に遡るように座標の対応付けを実行することにより、処理対象画像平面Ｒ３上の各座標を入力画像平面Ｒ４上の一又は複数の座標に確実に対応させることができる。また、画像生成装置１００は、入力画像平面Ｒ４から空間モデルＭＤを経て処理対象画像平面Ｒ３に至る順番で座標の対応付けを実行する場合と比べ、より良質な処理対象画像を迅速に生成することができる。入力画像平面Ｒ４から空間モデルＭＤを経て処理対象画像平面Ｒ３に至る順番で座標の対応付けを実行する場合には、入力画像平面Ｒ４上の各座標を処理対象画像平面Ｒ３上の一又は複数の座標に確実に対応させることができるが、処理対象画像平面Ｒ３上の座標の一部が、入力画像平面Ｒ４上の何れの座標にも対応付けられない場合があり、その場合にはそれら処理対象画像平面Ｒ３上の座標の一部に補間処理等を施す必要があるためである。
【０１０２】
また、画像生成装置１００は、空間モデルＭＤの曲面領域Ｒ２に対応する画像のみを拡大或いは縮小する場合には、平行線群ＰＬと処理対象画像平面Ｒ３との間に形成される角度を変更して空間モデル・処理対象画像対応マップ４１における曲面領域Ｒ２に関連する部分のみを書き換えるだけで、入力画像・空間モデル対応マップ４０の内容を書き換えることなく、所望の拡大或いは縮小を実現させることができる。
【０１０３】
また、画像生成装置１００は、出力画像の見え方を変更する場合には、スケール変換、アフィン変換又は歪曲変換に関する各種パラメータの値を変更して処理対象画像・出力画像対応マップ４２を書き換えるだけで、入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１の内容を書き換えることなく、所望の出力画像（スケール変換画像、アフィン変換画像又は歪曲変換画像）を生成することができる。
【０１０４】
同様に、画像生成装置１００は、出力画像の視点を変更する場合には、仮想カメラ２Ｖの各種パラメータの値を変更して処理対象画像・出力画像対応マップ４２を書き換えるだけで、入力画像・空間モデル対応マップ４０及び空間モデル・処理対象画像対応マップ４１の内容を書き換えることなく、所望の視点から見た出力画像（視点変換画像）を生成することができる。
【０１０５】
次に、図８を参照しながら、出力画像の構成例について説明する。なお、図８は、ショベル６０に搭載された３台のカメラ２（右側方カメラ２Ｒ、左側方カメラ２Ｌ、及び後方カメラ２Ｂ）の入力画像を用いて生成される出力画像を表示部５に表示させたときの表示例である。
【０１０６】
画像生成装置１００は、それら３台のカメラ２のそれぞれの入力画像を空間モデルＭＤの平面領域Ｒ１及び曲面領域Ｒ２上に投影した上で処理対象画像平面Ｒ３に再投影して処理対象画像を生成する。そして、画像生成装置１００は、その生成した処理対象画像に画像変換処理（例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。）を施すことによって出力画像を生成する。そして、画像生成装置１００は、ショベル６０の近傍を上空から見下ろした画像（平面領域Ｒ１における画像）と、ショベル６０から水平方向に周辺を見た画像（処理対象画像平面Ｒ３における画像）とを同時に表示する。
【０１０７】
なお、出力画像は、画像生成装置１００が処理対象画像を生成しない場合には、空間モデルＭＤに投影された画像に画像変換処理（例えば、視点変換処理である。）を施すことによって生成される。
【０１０８】
また、出力画像は、ショベル６０が旋回動作を行う際の画像を違和感なく表示できるよう、円形にトリミングされ、その円の中心ＣＴＲが空間モデルＭＤの円筒中心軸上で、且つ、ショベル６０の旋回軸ＰＶ上となるように生成されており、ショベル６０の旋回動作に応じてその中心ＣＴＲを軸に回転するように表示される。この場合、空間モデルＭＤの円筒中心軸は、再投影軸と一致するものであってもよく、一致しないものであってもよい。
【０１０９】
なお、空間モデルＭＤの半径は、例えば、５メートルであり、平行線群ＰＬが処理対象画像平面Ｒ３との間で形成する角度は、ショベル６０の旋回中心から掘削アタッチメントＥの最大到達距離（例えば１２メートルである。）だけ離れた位置に物体（例えば、作業員である。）が存在する場合にその物体が表示部５で十分大きく（例えば、７ミリメートル以上である。）表示されるように、設定され得る。
【０１１０】
更に、出力画像は、ショベル６０のＣＧ画像を、ショベル６０の前方が表示部５の画面上方と一致し、且つ、その旋回中心が中心ＣＴＲと一致するように配置するようにしてもよい。ショベル６０と出力画像に現れる物体との間の位置関係をより分かり易くするためである。なお、出力画像は、方位等の各種情報を含む額縁画像をその周囲に配置するようにしてもよい。
【０１１１】
次に、図９を参照して、出力画像で発生するジャギーについて説明する。なお、図９は、出力画像生成手段１１による補間処理の効果を説明する図である。また、図９（Ａ）は入力画像を示し、図９（Ｂ）は補間処理が施されていない出力画像を示し、図９（Ｃ）は補間処理が施された出力画像を示す。また、図９（Ｂ）及び図９（Ｃ）の出力画像は、図９（Ａ）の点線領域Ｇ１で示す入力画像の一部を反時計回りに回転し且つ拡大した画像である。
【０１１２】
ジャギーは、ラスター画像の輪郭に見られるギザギザであり、例えば入力画像を回転させて出力画像を生成するために入力画像平面上の実数座標点を整数座標点に変換するときの丸め誤差によって引き起こされる。
【０１１３】
具体的には、入力画像上の画素を特定する座標値及び出力画像上の画素を特定する座標値は何れも整数値で表されるが、出力画像平面上の座標に対応する入力画像平面上の座標を導き出す際にその入力画像平面上の座標値を実数値（小数を含む値）として算出する場合がある。この場合、実数値は、例えば、小数点以下が四捨五入されて整数値に変換される。入力画像上の画素を特定する座標値として実数値を用いることができないためである。したがって、出力画像平面上の整数座標点で特定される画素（以下、「出力画素」とする。）は、入力画像平面上の実数座標点の最も近くにある整数座標点で特定される画素に対応付けられる。そして、例えば輝度値の全く異なる２つの画素を特定する２つの整数座標点の間にその実数座標点が存在していたとしても、出力画像上の画素は、入力画像平面上の２つの整数座標点のうちの一方で特定される画素に対応付けられる。そして、それら２つの整数座標点のうちの他方で特定される画素の値が出力画像上の画素の値に反映されることはない。その結果、出力画像に含まれる各画像の輪郭はギザギザに表現されてしまう。
【０１１４】
このように、ジャギーは、四捨五入の際の丸め誤差によって引き起こされる。そして、ジャギーは、表示部５の解像度が低い程より顕著なものとなる。
【０１１５】
そこで、出力画像生成手段１１は、図１０及び図１１を参照して説明する補間処理を用いてジャギーを軽減させる。
【０１１６】
図１０は、補間処理を説明する概略図であり、入力画像平面の一部を示す。入力画像平面は、ＸＹ直交座標系で表され、整数座標点Ａ（０、０）、Ｂ（０、１）、Ｃ（１、１）、Ｄ（１、０）を含む。また、図１１は、出力画像生成手段１１の構成例を示す機能ブロック図である。
【０１１７】
本実施例では、図１１に示すように、出力画像生成手段１１は、主に、整数座標点選択部１１０、重み導出部１１１、及び加重平均部１１２を含む。
【０１１８】
整数座標点選択部１１０は、出力画素に対応する入力画像平面上の実数座標点（以下、「対応実数座標点」とする。）の近くにある２つ以上の整数座標点から２つの整数座標点を選択する機能要素である。本実施例では、対応実数座標点は、図５及び図６で説明した関係を用いて出力画像生成手段１１が導き出す座標点である。また、本実施例では、整数座標点選択部１１０は、対応実数座標点の周囲にある４つの整数座標点から２つの整数座標点を選択する。具体的には、図１０に示すように、対応実数座標点Ｐ（０．６３、０．１９）の周囲にある４つの整数座標点は、Ａ（０、０）、Ｂ（０、１）、Ｃ（１、１）、及びＤ（１、０）である。そして、整数座標点選択部１１０は、Ａ−Ｂ、Ａ−Ｃ、Ａ−Ｄ、Ｂ−Ｃ、Ｂ−Ｄ、及びＣ−Ｄの６つの組み合わせ（整数座標点のペア）のうちの１つを選択する。
【０１１９】
本実施例では、整数座標点選択部１１０は、対応実数座標点Ｐから６つの線分ＡＢ、ＡＣ、ＡＤ、ＢＣ、ＢＤ、ＣＤのそれぞれに垂線を下ろす。そして、整数座標点選択部１１０は、６つの垂線ＰＱ、ＰＲ、ＰＳ、ＰＴ、ＰＵ、ＰＶのうち最も短い垂線ＰＶ及びその垂線ＰＶに関連する線分ＢＤを選択し、さらに線分ＢＤに関連する２つの整数座標点Ｂ、Ｄを選択する。
【０１２０】
また、本実施例では、Ｘ軸方向及びＹ軸方向における整数座標点の間隔は値「１」で正規化され、４つの整数座標点Ａ、Ｂ、Ｃ、Ｄは正方形を構成する。そのため、実数座標点Ｑ（０．００、０．１９）及びＳ（１．００、０．１９）のＹ座標の値は何れも対応実数座標点Ｐ（０．６３、０．１９）のＹ座標の値に等しい。同様に、実数座標点Ｒ（０．６３、１．００）及びＴ（０．６３、０．００）のＸ座標の値は対応実数座標点Ｐ（０．６３、０．１９）のＸ座標の値に等しい。
【０１２１】
また、実数座標点Ｕ（０．４１、０．４１）は、線分ＡＣ上の実数座標点であるため、整数座標点Ａに対するＸ座標の値の増分とＹ座標の値の増分とが等しい関係にある。同様に、線分ＰＶ上の実数座標点は、対応実数座標点Ｐに対するＸ座標の値の増分とＹ座標の値の増分とが等しい関係にある。
【０１２２】
また、実数座標点Ｖ（０．７２、０．２８）は、線分ＢＤ上の実数座標点であるため、整数座標点Ｂに対するＸ座標の値の増分とＹ座標の値の減分とが等しい関係にある。同様に、線分ＵＰ上の実数座標点は、実数座標点Ｕに対するＸ座標の値の増分とＹ座標の値の減分とが等しい関係にある。
【０１２３】
具体的には、実数座標点ＵのＸ座標及びＹ座標の値は何れも、対応実数座標点ＰのＸ座標の値とＹ座標の値の合計「０．８２」を二等分した値「０．４１」である。また、実数座標点ＶのＸ座標の値は、値「１」から合計「０．８２」を差し引いた差「０．１８」を二等分した値「０．０９」を対応実数座標点ＰのＸ座標の値「０．６３」に加えた値「０．７２」である。また、実数座標点ＶのＹ座標の値は、差「０．１８」を二等分した値「０．０９」を対応実数座標点ＰのＹ座標の値「０．１９」に加えた値「０．２８」である。
【０１２４】
このように、実数座標点Ｑ〜Ｖの座標値は、対応実数座標点Ｐの座標値から直接的に、或いは、加算、減算、二等分といった簡単な演算によって導き出される。そのため、対応実数座標点の周囲にある４つの整数座標点から２つの整数座標点を選択する上述の選択方法は、二進数演算に適した選択方法である。
【０１２５】
重み導出部１１１は、選択された２つの整数座標点で特定される２つの画素（以下、「入力画素」とする。）の値から出力画素の値を決定する際の各入力画素の値の重みを導き出す機能要素である。
【０１２６】
本実施例では、重み導出部１１１は、２つの整数座標点Ｂ、Ｄが選択された場合、線分ＢＤの長さに対する線分ＢＶの長さの比率を、整数座標点Ｄで特定される入力画素の値の重みαとして導き出す。また、重み導出部１１１は、線分ＢＤの長さに対する線分ＶＤの長さの比率を、整数座標点Ｂで特定される入力画素の値の重みβ（＝１−α）として導き出す。
【０１２７】
具体的には、図１０に示すように、実数座標点ＶのＸ座標の値の小数部分は、線分ＡＤの長さ「１」に対する線分ＡＷの長さの比率に相当する。なお、実数座標点Ｗは、線分ＡＤに対して実数座標点Ｖから下ろした垂線の交点である。そして、線分ＢＤの長さに対する線分ＢＶの長さの比率は、線分ＡＤの長さに対する線分ＡＷの長さの比率に等しい。そのため、重み導出部１１１は、実数座標点ＶのＸ座標の値の小数部分を、整数座標点Ｄで特定される入力画素の値の重みαとして採用する。また、重み導出部１１１は、実数座標点ＶのＹ座標の値の小数部分を、整数座標点Ｂで特定される入力画素の値の重みβとして採用する。なお、実数座標点ＶのＹ座標の値の小数部分は、値「１」から実数座標点ＶのＸ座標の値の小数部分を差し引いた値であり、１−αに相当する。このように、重み導出部１１１は、重みα、βを対応実数座標点Ｐの座標値から直接的に導き出し、比の計算等の比較的複雑な演算を省略できる。
【０１２８】
加重平均部１１２は、２つの入力画素の値を加重平均する機能要素である。本実施例では、加重平均部１１２は、重み導出部１１１が導き出した重みα、βを用いて２つの入力画素の値を加重平均する。具体的には、加重平均部１１２は、２つの入力画素のうちの一方（以下、「第１画素」とする。）の値に重みαを乗算し、出力画素の値における第１画素の値の寄与分を算出する。また、加重平均部１１２は、２つの入力画素のうちの他方（以下、「第２画素」とする。）の値に重みβを乗算し、出力画素の値における第２画素の値の寄与分を算出する。そして、加重平均部１１２は、第１画素の値の寄与分と第２画素の値の寄与分の合計である２つの入力画素の値の加重平均を出力画素の値として導き出す。
【０１２９】
例えば、整数座標点Ｂ、Ｄで特定される２つの入力画素のそれぞれの輝度値を加重平均する場合、加重平均部１１２は、実数座標点Ｖの座標値を用いる。具体的には、加重平均部１１２は、整数座標点Ｄで特定される入力画素（第１画素）の輝度値に対して、実数座標点ＶのＸ座標の値の小数部分（重みα）を乗算して第１画素の輝度値の寄与分を算出する。また、加重平均部１１２は、整数座標点Ｂで特定される入力画素（第２画素）の輝度値に対して、実数座標点ＶのＹ座標の値の小数部分（重みβ）を乗算して第２画素の輝度値の寄与分を算出する。そして、加重平均部１１２は、第１画素の輝度値の寄与分と第２画素の輝度値の寄与分とを合計することで出力画素の輝度値を導き出す。
【０１３０】
また、上述の実施例では、垂線ＰＶが最短となる場合について説明したが、他の垂線が最短となる場合についても同様の説明が適用される。
【０１３１】
なお、上述の補間方法は、対応実数座標点Ｐが４つの整数座標点Ａ〜Ｄ以外の位置に存在する場合に適用される。そのため、出力画像生成手段１１は、対応実数座標点Ｐが整数座標点Ａ〜Ｄの何れかの位置に存在する場合には、２つの整数座標点の選択、重みの導出、及び加重平均の演算を実行することなく、整数座標点としての対応実数座標点Ｐで特定される１つの入力画素の値をそのまま出力画素の値として採用する。また、６つの垂線のうちの最短のものが２つ以上存在する場合に対しては、出力画像生成手段１１は、それら同じ長さの垂線のうちの何れを選択するかを予め決めておく。例えば、出力画像生成手段１１は、予め設定された優先順位に基づいて１つの垂線を選択してもよい。また、上述の補間方法は、対応実数座標点ＰのＸ座標及びＹ座標の値が何れも０以上１以下の場合に適用されているが、ｉ以上ｉ＋１以下（ｉは整数）の場合にも同様に適用される。
【０１３２】
次に、図１２を参照して、出力画像生成手段１１が２つの入力画素の値を用いて１つの出力画素の値を導き出す補間処理の流れについて説明する。なお、図１２は、補間処理の流れを示すフローチャートである。出力画像生成手段１１は、例えば、図７のステップＳ５においてこの補間処理を実行する。また、以下のフローでは、垂線ＰＶが最短となる場合について説明するが、他の垂線が最短となる場合についても同様の説明が適用される。
【０１３３】
最初に、整数座標点選択部１１０は、対応実数座標点Ｐの周囲の４つの整数座標点Ａ〜Ｄから２つの整数座標点Ｂ、Ｄを選択する（ステップＳ５１）。具体的には、整数座標点選択部１１０は、対応実数座標点Ｐから６つの線分ＡＢ、ＡＣ、ＡＤ、ＢＣ、ＢＤ、ＣＤのそれぞれに垂線を下ろす。そして、整数座標点選択部１１０は、６つの垂線ＰＱ、ＰＲ、ＰＳ、ＰＴ、ＰＵ、ＰＶのうち最も短い垂線ＰＶ及びその垂線ＰＶに関連する線分ＢＤを選択し、さらに線分ＢＤに関連する２つの整数座標点Ｂ、Ｄを選択する。
【０１３４】
その後、整数座標点選択部１１０は、選択した２つの整数座標点Ｂ、Ｄを結ぶ線分ＢＤに対して対応実数座標点Ｐから下ろした垂線ＰＶの垂線交点（実数座標点）Ｖの座標値を導き出す（ステップＳ５２）。
【０１３５】
なお、整数座標点選択部１１０は、対応実数座標点Ｐの位置（座標値）と最短垂線との対応関係を表す最短垂線参照テーブルを用いて整数座標点のペアを選択してもよい。具体的には、最短垂線参照テーブルは、ｌ行ｍ列の配列であり、隣接する整数座標点の間をｌ等分、ｍ等分したときの補間処理に対応する。なお、ｌ、ｍは２以上の自然数であり、好適には二進数演算に最適な２のべき乗数（例えば１６）である。また、ｌ＝ｍであってもよい。この最短垂線参照テーブルにより、整数座標点選択部１１０は、対応実数座標点Ｐの座標値から整数座標点のペアを一意に導き出すことができる。また、最短垂線参照テーブルは、対応実数座標点Ｐの位置（座標値）と垂線交点の位置（座標値）との対応関係を保持していてもよい。この場合、整数座標点選択部１１０は、対応実数座標点Ｐの座標値から垂線交点の座標値を一意に導き出すことができる。
【０１３６】
その後、重み導出部１１１は、垂線交点の座標値に基づいて重みα、βを導き出す（ステップＳ５３）。具体的には、重み導出部１１１は、垂線交点のＸ座標の値の小数部分を、整数座標点Ｄで特定される第１画素の値の重みαとして採用する。また、重み導出部１１１は、垂線交点のＹ座標の値の小数部分を、整数座標点Ｂで特定される第２画素の値の重みβとして採用する。
【０１３７】
なお、重み導出部１１１は、二進数演算に適するように垂線交点のＸ座標及びＹ座標のそれぞれの小数部分をｎ段階で表現してもよい。同様に、重み導出部１１１は、十進数で０以上１以下の実数値を有する重みαをｎ段階で表現してもよい。なお、ｎは２のべき乗数であり、例えば、２５６である。この場合、整数座標点選択部１１０は、垂線交点のＸ座標及びＹ座標のそれぞれの小数部分を２５６段階（８ビット）で量子化した状態で導き出す。重みαについても同様である。
【０１３８】
図１３は、垂線交点のＸ座標の小数部分ｄｘ及びＹ座標の小数部分ｄｙと、第１画素の値の重みαとの関係を示す図である。なお、ｄｘ、ｄｙ、及びαは何れも０〜２５５の範囲内の十進数の整数、すなわち８ビットで表現可能な値である。
【０１３９】
図１３に示すように、第１画素を特定する整数座標点が整数座標点Ａであり、第２画素を特定する整数座標点が整数座標点Ｄの場合、第１画素の値の重みαは（２５５−ｄｘ）で表される。また、第１画素を特定する整数座標点が整数座標点Ｂであり、第２画素を特定する整数座標点が整数座標点Ｄの場合、第１画素の値の重みαは、｛２５５−（２５５−ｄｙ＋ｄｘ）／２｝で表される。他の組み合わせについても同様である。なお、値「２」による除算は、１回の右シフト演算によって実現される。
【０１４０】
その後、加重平均部１１２は、２つの整数座標点で特定される２つの入力画素の値を加重平均して出力画素の値を導き出す（ステップＳ５４）。具体的には、加重平均部１１２は、第１画素の値の重みαに基づいて出力画素の値を導き出す。例えば、第１画素がＹＣｂＣｒ方式の色データ（Ｙ１、Ｃｂ１、Ｃｒ１）を有し、第２画素が色データ（Ｙ２、Ｃｂ２、Ｃｒ２）を有する場合を考える。なお、Ｙ１、Ｙ２は輝度信号であり、例えば、２５６段階（８ビット）のレベルを有する。また、Ｃｂ１、Ｃｂ２、Ｃｒ１、Ｃｒ２は色差信号であり、例えば、２５６段階（８ビット）のレベルを有する。この場合、出力画素の輝度信号Ｙは、Ｙ＝｛α・Ｙ１＋（２５５−α）・Ｙ２｝／２５６で表される。また、出力画素の色差信号Ｃｂは、Ｃｂ＝｛α・Ｃｂ１＋（２５５−α）・Ｃｂ２｝／２５６で表され、色差信号Ｃｒは、Ｃｒ＝｛α・Ｃｒ１＋（２５５−α）・Ｃｒ２｝／２５６で表される。なお、値「２５６」による除算は、８回の右シフト演算によって実現される。
【０１４１】
以上の構成により、画像生成装置１００は、対応実数座標点Ｐの周囲の４つの整数座標点のうちの２つの整数座標点で特定される２つの入力画素のそれぞれの値を加重平均することで出力画素の値を導き出す。そのため、演算負荷の増大を押さえながらも画質を向上させることができる。例えば、画像生成装置１００は、色の再現性を高めることで画質を向上させることができる。そのため、ショベル６０に搭載されたカメラ２が撮像した入力画像に基づいて生成される出力画像において、ショベルの旋回、走行、掘削作業等に起因するカメラ２の振動に応じて発生するジャギーを目立たなくすることができる。
【０１４２】
また、画像生成装置１００で実行される補間処理は、バイリニア補間のように対応実数座標点Ｐの周囲の４つの整数座標点で特定される４つの入力画素のそれぞれの値を加重平均する処理に比べ、加重平均処理の実行回数を３回から１回に削減でき、演算時間を短縮できる。また、画像生成装置１００で実行される補間処理は、ＦＰＧＡ等による組込実装に適した低演算量を実現できる。そのため、画像生成装置１００は、除算回路等の搭載を回避できる。
【０１４３】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【０１４４】
例えば、上述の実施例において、整数座標点選択部１１０は、６つの垂線ＰＱ、ＰＲ、ＰＳ、ＰＴ、ＰＵ、ＰＶのうちの最も短い垂線を選択することにより整数座標点のペアを選択する。しかしながら、本発明はこの構成に限定されるものではない。例えば、整数座標点選択部１１０は、対応実数座標点から最も近い位置にある整数座標点と２番目に近い位置にある整数座標点とを整数座標点のペアとして選択してもよい。また、整数座標点選択部１１０は、別の選択方法を用いて整数座標点のペアを選択してもよい。
【０１４５】
また、画像生成装置１００は、空間モデルとして円筒状の空間モデルＭＤを採用するが、多角柱等の他の柱状の形状を有する空間モデルを採用してもよく、底面及び側面の二面から構成される空間モデルを採用してもよく、或いは、側面のみを有する空間モデルを採用してもよい。
【０１４６】
また、画像生成装置１００は、バケット、アーム、ブーム、旋回機構等の可動部材を備えながら自走する建設機械にカメラと共に搭載され、周囲画像をその運転者に提示しながらその建設機械の移動及びそれら可動部材の操作を支援する操作支援システムに組み込まれているが、産業用機械若しくは固定式クレーン等のように可動部材を有するが自走はしない他の被操作体にカメラと共に搭載され、それら他の被操作体の操作を支援する操作支援システムに組み入れられてもよい。
【符号の説明】
【０１４７】
１・・・制御部  ２・・・カメラ  ２Ｌ・・・左側方カメラ  ２Ｒ・・右側方カメラ  ２Ｂ・・後方カメラ  ３・・・入力部  ４・・・記憶部  ５・・・表示部  １０・・・座標対応付け手段  １１・・・出力画像生成手段  ４０・・・入力画像・空間モデル対応マップ  ４１・・・空間モデル・処理対象画像対応マップ  ４２・・・処理対象画像・出力画像対応マップ  ６０・・・ショベル  ６１・・・下部走行体  ６２・・・旋回機構  ６３・・・上部旋回体  ６４・・・キャブ
【図１】
2015138357.tif 000014
【図２】
2015138357.tif 000015
【図３】
2015138357.tif 000016
【図４】
2015138357.tif 000017
【図５】
2015138357.tif 000018
【図６】
2015138357.tif 000019
【図７】
2015138357.tif 000020
【図１０】
2015138357.tif 000021
【図１１】
2015138357.tif 000022
【図１２】
2015138357.tif 000023
【図１３】
2015138357.tif 000024
【図８】
2015138357.tif 000025
【図９】
2015138357.tif 000026