画像処理装置、画像表示システムおよび画像処理プログラム
【課題】合成する画像と重複する背景の画像の視認性を向上させる。
【解決手段】画像出力部2は、第1の3次元物体の一部が除去されることによってこの3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す画像を出力する。画像合成部3は、画像出力部2から出力された画像を半透明状態で背景画像に合成する。画像合成部3から出力される合成画像では、第2の3次元物体の描画領域のうち第1の3次元物体から除去された領域において、背景画像に存在する物体が直接的に視認できるようになる。
【解決手段】画像出力部2は、第1の3次元物体の一部が除去されることによってこの3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す画像を出力する。画像合成部3は、画像出力部2から出力された画像を半透明状態で背景画像に合成する。画像合成部3から出力される合成画像では、第2の3次元物体の描画領域のうち第1の3次元物体から除去された領域において、背景画像に存在する物体が直接的に視認できるようになる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像表示システムおよび画像処理プログラムに関する。
【背景技術】
【0002】
入力された静止画像あるいは動画像に対して、3次元物体のCG(Computer Graphics)画像を合成して描画する技術が知られている。例えば、車両の周囲を撮影した画像を、車両の後方などの任意の視点から見た俯瞰画像に変換するとともに、俯瞰画像上に同じ視点から見た車両のCG画像を合成する「全周囲立体モニタシステム」と呼ばれる技術がある。また、入力画像にCG画像を合成する際に、CG画像に透過処理を施す技術もある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−50541号公報
【非特許文献】
【0004】
【非特許文献1】清水誠也,外2名、「全周囲立体モニタシステム」、雑誌FUJITSU、富士通株式会社、2009年9月、VOL.60,NO.5、p.496−501
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のように合成するCG画像に透過処理を施すことで、CG画像とともに、このCG画像と重複する背景の画像も視認できるようになる。しかしながら、透過処理されたCG画像と重複する背景の画像の色値や濃淡値は、元の色値や濃淡値から変化してしまうため、CG画像との重複領域における背景の画像の視認性は必ずしも良好とは言えなかった。
【0006】
本発明はこのような課題に鑑みてなされたものであり、合成する画像と重複する背景の画像の視認性を向上させることが可能な画像処理装置、画像表示システムおよび画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、画像出力部と、画像合成部とを有する画像処理装置が提供される。画像出力部は、第1の3次元物体の一部が除去されることによって第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する。画像合成部は、画像出力部から出力された第1の画像を半透明状態で第2の画像に合成する。
【0008】
また、上記課題を解決するために、上記の画像処理装置を含む画像表示システムが提供される。
さらに、上記課題を解決するために、上記の画像処理装置と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【0009】
上記の画像処理装置、画像表示システムおよび画像処理プログラムによれば、第2の画像と重複する背景の画像の視認性が向上する。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態に係る画像処理装置の構成例およびその動作を示す図である。
【図2】図2は、3次元物体および画像の例を示す図である。
【図3】第1の3次元物体を分割せずに合成する場合の処理を示す図である。
【図4】第1の3次元物体を分割する処理の一例を示す図である。
【図5】3次元物体の形状についての認識のしやすさについて説明する図である。
【図6】第2の実施の形態に係る画像表示システムの構成例を示す図である。
【図7】分割パラメータの例を示す図である。
【図8】第2の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図9】第3の実施の形態に係る画像表示システムの構成例を示す図である。
【図10】第4の実施の形態に係る画像表示システムの構成例を示す図である。
【図11】第4の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図12】第5の実施の形態に係る画像表示システムの構成例を示す図である。
【図13】第5の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図14】コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の構成例およびその動作を示す図である。図1に示す画像処理装置1は、画像出力部2と画像合成部3とを備える。
【0012】
画像出力部2は、第1の3次元物体を変形することで得られた第2の3次元物体の表面形状を示す画像を、画像合成部3に対して出力する。第1の3次元物体は、少なくともその表面形状が、3次元形状データによって定義されたものである。そして、第2の3次元物体は、第1の3次元物体の一部が除去されることにより、第1の3次元物体が複数の部位に分割されたものである。
【0013】
なお、画像出力部2は、例えば、第1の3次元物体の形状データを基に、第2の3次元物体の形状データを算出することで、第2の3次元物体の表面形状を示す画像を出力してもよい。あるいは、画像出力部2は、あらかじめ記憶部(図示せず)に用意しておいた第2の3次元物体の形状データを基に、第2の3次元物体の表面形状を示す画像を出力してもよい。
【0014】
また、画像出力部2が出力する画像は、第1または第2の3次元物体の形状データがどのように定義されているかに関係なく、第2の3次元物体の表面形状のみが現れた画像とされる。例えば、第1の3次元物体が立方体などの外部に対して閉じた立体物であったとしても、画像出力部2からの出力画像には、その立体物を外側から見たときに認識できる外面の形状のみが現れ、その立体物の内部の状態は現れない。
【0015】
画像合成部3は、画像出力部2から出力された画像を他の画像に対して半透明状態で合成し、合成画像を出力する。他の画像とは、例えば、画像出力部2から出力された画像の背景となる背景画像である。
【0016】
図2は、3次元物体および画像の例を示す図である。
図2に示す物体11,12は、それぞれ上記の第1の3次元物体および第2の3次元物体の例である。物体11は、方向が互いに異なる2つの平板11a,11bが組み合わされた形状をなす。物体12は、物体11の2カ所が除去されることで3つの部位12a,12b,12cに分割された形状をなす。
【0017】
一方、背景画像13は、画像合成部3において物体12の表面形状を示す画像(以下、「表面画像」と称する)と合成される画像の例である。背景画像13には、背景物体13aが描画されている。
【0018】
合成画像14は、画像合成部3によって、背景画像13に対して物体12の表面画像が半透明状態で合成された画像である。合成画像14では、物体12の表面画像と背景画像13とが半透明状態で合成されることにより、物体12の部位12a〜12cの各表面画像と背景物体13aとの重複領域において、物体12の部位12a〜12cと背景物体13aの両方の形状を視認できる。これに加えて、合成画像14では、物体12の部位12aと部位12bと間、および部位12bと部位12cとの間がそれぞれ離間し、これらの離間領域において、背景物体13aを含む背景画像13が、透過処理が施されることなく直接的に描画される。
【0019】
なお、画像合成部3は、物体12の表面画像を背景画像13と合成する際に、物体12の表面を構成する要素同士が重複する領域についても透過処理を施す。例えば、物体12の表面のうち、平板11aに対応する手前側の面と、平板11bに対応する奥側の面とが重複する領域では、手前側の面と奥側の面とが半透明状態で合成される。ただし、このような透過処理は、物体12の表面画像を画像合成部3に入力する前に、画像出力部2が行ってもよい。
【0020】
ここで、図3は、第1の3次元物体を分割せずに合成する場合の処理を示す図である。
物体11を複数の部位に分割しない状態のまま、背景画像13に対して半透明状態で合成した場合、図3に示す合成画像15が生成される。合成画像15では、例えば、物体11と背景画像13上の背景物体13aとの重複領域では、物体11だけでなく背景物体13aの形状も視認できる。しかしながら、この重複領域では、透過処理により、背景物体13aの色値や濃淡値は、背景物体13aの元の色値や濃淡値とは異なるものとなる。このため、合成する物体同士の明るさ、色、形状などの組合せによっては、背景の物体が視認しにくい場合がある。
【0021】
これに対して、図2の合成画像14では、物体12の部位12aと部位12bとの間、および部位12bと部位12cとの間がそれぞれ離間する。また、物体12は、物体11が複数の部位に分割された形状をなすので、物体12の表面のうち、手前側の面だけでなく奥側の面にも、部位と部位とが離間した領域が存在することが多くなる。このため、これらの離間領域では、背景画像13が物体12の表面と重複せずに露出した状態になる可能性が高い。
【0022】
離間領域において背景画像13が物体12の表面と重複しない状態であれば、背景画像13は、元の色値や濃淡値が変化することなくそのまま描画される。従って、図3の合成画像15と比較して、図2の合成画像14の方が、背景画像13の状態の視認性が高くなり、背景画像13に含まれる背景物体13aなどの物体の形状や色などをより正確に認識できるようになる。
【0023】
なお、第1の3次元物体から除去する領域の数、すなわち、第1の3次元物体を分割して生成された第2の3次元物体の部位の数は、1つより複数個とされる方が、第2の3次元物体における部位の間の離間領域が広くなり、背景の物体の視認性が向上する。ただし、第1の3次元物体から除去する領域の数が多いほど、あるいは、その除去領域が大きいほど、必ずしも背景の物体の視認性が向上するとは言えない。第1の3次元物体から除去する領域の数や大きさは、第1の3次元物体の形状や、第2の3次元物体を画像合成部3にて合成する際の大きさなどに応じて、適切に設定されることが望ましい。
【0024】
ところで、上記の画像処理装置1における処理では、第1の3次元物体の一部を除去して得られる第2の3次元物体を合成して描画することで、第1の3次元物体から除去された領域の境界の形状を基に、第1の3次元物体の表面形状を認識しやすくなるという効果も生じる。このような効果は、第1の3次元物体から除去する領域の切断面を、この第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うようにすることで、より顕著になる。第1の3次元物体を平面に沿って切断して分割した場合、例えば、図2の物体11のように表面が平板状であれば、除去された境界は直線となる一方、表面が曲面であれば、除去された境界は曲線となる。従って、第1の3次元物体の形状を認識しやすくなる。
【0025】
さらに、図2の物体11を物体12のように分割する場合のように、第1の3次元物体を互いに平行な複数の平面に沿って分割することで、第1の3次元物体の形状をより正確に認識できるようになる。
【0026】
図4は、第1の3次元物体を分割する処理の一例を示す図である。
第1の3次元物体を互いに平行な平面に沿って分割する処理では、まず、第1の3次元物体の形状データが定義された3次元座標空間における任意の基準平面が選択される。そして、この基準平面20に平行な複数の分割面に沿って第1の3次元物体が切断され、互いに隣接する2つの分割面に挟まれたストライプ状の領域が除去される。
【0027】
図4では、図2に示した物体11が、基準平面20に平行な分割面21〜24に沿って分割される際の例を示す。図4中の物体11に表された一点鎖線は、分割面21〜24によって切断される際の切断線を示す。物体11から、分割面21と分割面22との間のストライプ状の領域、および、分割面23と分割面24との間のストライプ状の領域をそれぞれ除去することで、図2の物体12が得られる。
【0028】
図5は、3次元物体の形状についての認識のしやすさについて説明する図である。
図5では、図4に示した分割面21〜24によって切断された切断線を、物体12上に太線によって示す。物体11を平面に沿って分割することで、例えば、元の物体11の表面のうちの平滑な面において切断線が現れるようになり、この切断線によって元の物体11の表面形状を把握しやすくなる。
【0029】
特に、物体12のように、物体11を互いに平行な複数の平面に沿って切断し、隣接する平面間のストライプ状の領域を除去した場合には、元の物体11の表面が平面であれば、ストライプ状領域の両端の切断線は平行な直線となる。そして、このように元の物体11の表面が平面である場合を基準として切断線を観察することで、元の物体11の表面形状を容易に把握できる。
【0030】
また、分割面21〜24の基準となる基準平面20は、合成画像14において物体12が存在する仮想的な3次元座標空間における水平面(地平面に水平な面)であることが望ましい。ここで言う仮想的な3次元座標空間とは、例えば、物体12の合成対象である背景画像13が仮想的なカメラによって撮像されたものと考えたときに、その仮想カメラが撮像する仮想的な3次元座標空間を指す。そして、物体12の画像が背景画像13に合成される際には、物体12がこの仮想的な3次元座標空間に射影されることになる。
【0031】
人間が物体を認識するときには、自分が立っている地面に対して水平な面を基準として考えた方が、物体の形状を認識しやすい。従って、基準平面20を上記の仮想的な3次元座標空間における水平面とすることで、元の物体11の表面形状を認識しやすくなる。
【0032】
さらに、元の物体11から複数のストライプ状領域を除去することで、物体12の表面に現れる切断線の数が増加するので、物体12上の各切断線の形状から元の物体11の表面形状をより正確に把握できるようになる。
【0033】
なお、以上の第1の実施の形態では、第1の3次元物体を1つの基準平面に平行な分割面に沿って分割することで第2の3次元物体を生成したが、他の例として、第1の3次元物体を複数の基準平面にそれぞれ平行な分割面に沿って分割するようにしてもよい。例えば、第1の3次元物体をある基準平面に平行な複数の分割面に沿って分割し、分割後の3次元物体をさらに他の基準平面に平行な複数の分割面に沿って分割することで、第2の3次元物体を生成してもよい。
【0034】
〔第2の実施の形態〕
図6は、第2の実施の形態に係る画像表示システムの構成例を示す図である。図6に示す画像表示システムは、撮像装置110、画像処理装置200および表示装置120を備える。
【0035】
撮像装置110は、CCD(Charge Coupled Devices)、CMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子を用いて画像を撮像し、撮像した画像をアナログ信号として画像処理装置200に出力する。画像処理装置200は、撮像装置110によって撮像された画像に対して、仮想的な3次元物体の画像を合成する。表示装置120は、画像処理装置200によって合成処理された画像を表示する。表示装置120は、例えば、LCD(Liquid Crystal Display)、有機EL(EelectroLuminescence)ディスプレイなどである。なお、画像処理装置200と表示装置120とは、一体化されていてもよい。
【0036】
画像処理装置200は、画像入力部210、画像合成部220、分割処理部230、データ変換部240および画像出力部250を備える。なお、画像合成部220は、第1の実施の形態における画像合成部3に対応し、分割処理部230およびデータ変換部240は、第1の実施の形態における画像出力部2に対応する。
【0037】
さらに、画像処理装置200は、記憶部260を備える。記憶部260は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性記憶媒体である。記憶部260には、形状データDB(データベース)261、分割パラメータ262、カメラパラメータ263、物体表示パラメータ264および合成パラメータ265が記憶されている。
【0038】
画像入力部210は、撮像装置110から出力されたアナログ画像信号をデジタル化し、画像合成部220に出力する。
合成パラメータ265には、データ変換部240からの出力データに基づく3次元物体の画像を画像合成部220で合成するための各種パラメータが設定される。合成パラメータ265は、例えば、3次元物体の表示色および透過率を含む。なお、合成パラメータ265に含まれる少なくとも一部のパラメータは、ユーザの設定操作などに応じて任意に設定可能であってもよい。
【0039】
画像合成部220は、データ変換部240からの出力データに基づく3次元物体の表面に、合成パラメータ265内の表示色を適用し、この3次元物体の画像を、画像入力部210からの出力画像に対して、合成パラメータ265内の透過率に基づいて半透明状態で合成する。
【0040】
形状データDB261には、3次元物体の表面の3次元形状を定義した形状データが登録される。形状データDB261内の形状データに基づく3次元物体は、第1の実施の形態における第1の3次元物体に対応する。形状データDB261内の形状データは、例えば、所定の基準座標を基準として各頂点の3次元座標が定義された多角形パッチの集合である。あるいは、例えば、3次元物体が直方体などの単純な幾何学形状である場合には、形状データは3次元物体の各辺の長さであってもよい。
【0041】
分割パラメータ262は、分割処理部230において3次元物体をどのように分割するかを決定するパラメータである。後述するように、分割パラメータ262は、例えば、所定の基準平面を基準とした、基準平面の法線方向に対する位置パラメータである。なお、分割パラメータ262は、ユーザによる設定操作などに応じて任意に設定可能であってもよい。
【0042】
分割処理部230は、形状データDB261内の形状データに基づく3次元物体を、分割パラメータ262に基づいて複数の部位に分割し、分割した3次元物体の形状データをデータ変換部240に出力する。なお、分割処理部230で分割された3次元物体は、第1の実施の形態における第2の3次元物体に対応する。
【0043】
本実施の形態では、分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、互いに平行な複数の分割面に沿った複数のストライプ領域を除去することで、元の3次元物体を分割する。この分割処理は、図2に示した物体11を物体12のように分割する処理に対応する。以下、分割処理部230によって分割処理された3次元物体を「ストライプ状物体」と呼ぶ。分割処理部230は、形状データDB261内の形状データと分割パラメータ262とを基に、ストライプ状物体の形状データを演算し、形状データの演算結果をデータ変換部240に出力する。
【0044】
カメラパラメータ263は、ストライプ状物体を仮想的な3次元座標空間に射影する際の仮想的なカメラのパラメータである。カメラパラメータ263は、例えば、仮想カメラの焦点距離、視点位置および視線方向などのパラメータを含む。
【0045】
物体表示パラメータ264は、ストライプ状物体を合成画像上にどのように表示させるかを決定するパラメータである。物体表示パラメータ264は、例えば、ストライプ状物体を上記の仮想的な3次元座標空間に射影する際のストライプ状物体の位置および回転方向などのパラメータを含む。
【0046】
なお、カメラパラメータ263および物体表示パラメータ264に含まれる少なくとも一部のパラメータは、ユーザの設定操作などに応じて任意に設定可能であってもよい。
データ変換部240は、分割処理部230から出力された、ストライプ状物体の形状データを、カメラパラメータ263および物体表示パラメータ264に基づいて変換する。このデータ変換部240での変換処理により、ストライプ状物体を定義した多角形パッチの各頂点の3次元座標が、画像入力部210からの出力画像が定義された2次元座標空間における座標に変換される。
【0047】
画像出力部250は、画像合成部220から出力された合成画像のデジタルデータを、表示用の画像信号に変換して表示装置120に出力し、合成画像を表示装置120に表示させる。
【0048】
次に、分割処理部230の処理例について説明する。
分割処理部230は、形状データDB261内の形状データに基づく3次元物体を、形状データが定義された3次元座標空間上に任意に設定した基準平面に平行な複数の分割面に沿って分割する。基準平面は、例えば、形状データが定義された3次元座標空間における2軸方向に沿った平面とされる。分割処理部230は、3次元物体から、隣接する分割面に挟まれたストライプ状の領域を除去することで、ストライプ状物体を生成する。
【0049】
基準平面における任意の1点の3次元座標をPBとし、基準平面の法線方向を示すベクトルをnとすると、座標PBの点を通り法線方向に沿った3次元直線上の位置Lは、媒介変数tを用いて次の式(1)で表される。
L=n*t+PB ・・・(1)
式(1)のtは、基準平面の法線方向に対する基準平面からのオフセット量を示す位置パラメータである。そして、分割面のそれぞれについての位置パラメータは、式(1)のtの値として与えられる。すなわち、tの値が決定されれば、着目する分割面の3次元座標上の位置が確定される。分割面は、式(1)で与えられる3次元座標の点を通り、法線方向(ベクトルnの方向)に沿った平面となる。このような分割面は、次の式(2)のような平面式で与えられる。なお、式(2)において、nTはベクトルnの転置行列を示す。
nT*(x−L)=0 ・・・(2)
記憶部260には、分割パラメータ262の例として、分割面のそれぞれについての式(1)におけるtの値が設定される。例えば、形状データDB261内の形状データに基づく3次元物体をm個(ただし、mは2以上の偶数)の分割面に沿って分割する場合、分割パラメータ262は、t1,t2,・・・,tmというm個の位置パラメータを含む。
【0050】
分割処理部230は、分割パラメータ262に含まれる各分割面に対応する位置パラメータを式(2)に代入することで、各分割面の式を求める。分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、奇数番の分割面とその次の偶数番の分割面とに挟まれる領域を除去することで得られるストライプ状物体の形状データを、形状データDB261内の形状データと各分割面の式とを基に演算する。
【0051】
図7は、分割パラメータの例を示す図である。
図7に示す物体面301は、形状データDB261内の形状データに基づく3次元物体の表面を、基準平面に平行な方向から見たものである。また、図7では、形状データDB261内の形状データに基づく3次元物体を、基準平面にそれぞれ平行な6つの分割面311〜316によって分割する場合の例を示す。この場合、分割パラメータ262として、分割面311〜316にそれぞれ対応する位置パラメータt1〜t6が、記憶部260に設定される。そして、物体面301のうち、分割面311と分割面312との間の領域、分割面313と分割面314との間の領域、分割面315と分割面316との間の領域をそれぞれ除去することで、4つのストライプ状物体面302a〜302dを有するように分割されたストライプ状物体が得られる。
【0052】
次に、データ変換部240の処理例について説明する。
カメラパラメータ263には、焦点距離fc、視点位置Pcおよび視線方向Ncが設定され、物体表示パラメータ264には、ストライプ状物体についての物体位置Pmおよび回転方向Rmが設定されるものとする。ストライプ状物体の表面を構成する多角形パッチの各頂点の3次元座標をq_i(ただし、iは多角形パッチの頂点を識別する添え字)とすると、多角形パッチの各頂点は、次の式(3)を用いて仮想的な3次元座標空間に射影される。なお、式(3)において、r_iは、仮想的な3次元座標空間におけるq_iの射影位置の座標を示す。
r_i=Rm*q_i+Pm ・・・(3)
式(3)に基づいて射影されたストライプ状物体を、焦点距離fcで撮像位置の中心を視点位置Pcに置いた仮想カメラで観測したときの仮想撮像画像での2次元空間に射影する。仮想撮像画像での2次元位置は、仮想カメラのレンズのモデルにもよるが、ここでは、通常のレンズに相当する透視射影によるカメラを仮定した場合の例を示す。仮想撮像画像での座標s_iは、次の式(4)および式(5)で求められる。
s_i(x)=fc_x*r_i(x)/r_i(z) ・・・(4)
s_i(y)=fc_y*r_i(y)/r_i(z) ・・・(5)
ただし、s_i(x),s_i(y)は、それぞれ座標s_iのx座標およびy座標を示し、fc_x,fc_yは、それぞれ焦点距離fcのx成分およびy成分を示し、r_i(x),r_i(y),r_i(z)は、それぞれ座標r_iのx座標、y座標、z座標を示す。
【0053】
データ変換部240は、カメラパラメータ263内の焦点距離fc、視点位置Pcおよび視線方向Ncと、物体表示パラメータ264内の物体位置Pmおよび回転方向Rmとに基づき、式(4)および式(5)に従って、ストライプ状物体を定義する多角形パッチの各頂点の座標を変換し、変換後の各頂点の座標を画像合成部220に出力する。上記の式(4)および式(5)を用いた座標変換により、多角形パッチの各頂点が、仮想撮像画像上の2次元座標に変換される。
【0054】
なお、以上の図6および図7の説明では、カメラパラメータ263および物体表示パラメータ264は、記憶部260にあらかじめ設定されているものとしたが、これらのパラメータを、画像処理装置200の内部あるいは外部における何らかの処理と連動させて変化させてもよい。例えば、画像入力部210に、1つまたは複数の撮像装置からの撮像画像を基に、任意の視点位置に設置した仮想カメラから3次元空間を撮影した画像を生成する機能を持たせる。この場合、仮想カメラについての視点位置および視線方向を、上記の視点位置Pcおよび視線方向Ncとしてデータ変換部240での変換処理に使用することができる。
【0055】
次に、画像処理装置200での処理についてフローチャートを用いて説明する。図8は、第2の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図8のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。
【0056】
[ステップS11]分割処理部230は、記憶部260に設定された分割パラメータ262に含まれる、各分割面に対応する位置パラメータを、上記の式(2)に代入する。これにより、分割処理部230は、各分割面の式を求める。
【0057】
[ステップS12]分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、ステップS11で求めた分割面のうち、奇数番の分割面とその次の偶数番の分割面とに挟まれる領域を除去することで、ストライプ状物体の形状データを算出する。分割処理部230は、例えば、算出したストライプ状物体の形状データを、画像処理装置200が備えるRAM(図示せず)に一時的に記録する。
【0058】
[ステップS13]データ変換部240は、ステップS12で算出されたストライプ状物体の形状データから、ストライプ状物体の表面形状を定義した1つの多角形パッチの形状データ(多角形パッチの頂点の座標)を選択する。
【0059】
[ステップS14]データ変換部240は、記憶部260に設定されたカメラパラメータ263および物体表示パラメータ264に基づき、ステップS13で選択した多角形パッチの各頂点の3次元座標を、上記の式(4)および式(5)に従って、仮想撮像画像での2次元座標に変換する。データ変換部240は、得られた各頂点の2次元座標を、画像処理装置200が備えるRAMに一時的に記憶する。
【0060】
[ステップS15]データ変換部240は、ステップS12で算出されたストライプ状物体の形状データに含まれるすべての多角形パッチのデータを選択したかを判定する。データ変換部240は、未選択の多角形パッチのデータがある場合には、ステップS13に戻り、未選択の多角形パッチのデータから1つの多角形パッチのデータを選択する。
【0061】
一方、すべての多角形パッチのデータが選択済みである場合、ストライプ状物体の表面画像のデータが、各多角形パッチの2次元座標の集合として生成されたことになる。データ変換部240は、すべての多角形パッチのデータが選択済みの場合には、ステップS16の処理を実行する。
【0062】
[ステップS16]画像合成部220は、記憶部260に設定された合成パラメータ265から、ストライプ状物体の表示色と透過率とを抽出する。画像合成部220は、ストライプ状物体の画像を、画像入力部210からの出力画像に対して、合成パラメータ265から抽出した透過率に基づいて半透明状態で合成する。
【0063】
具体的には、画像合成部220は、ステップS14で変換した各多角形パッチの2次元座標に基づき、合成パラメータ265から抽出した表示色を、各多角形パッチに含まれる各画素の画素値として適用する。画像合成部220は、各多角形パッチの画素値と、画像入力部210からの出力画像の画素値とを、合成パラメータ265から抽出した透過率を適用した所定のブレンディング方法によって合成する。
【0064】
なお、多角形パッチ同士が重複する領域では、重複する多角形パッチ間でも透過処理が施される。例えば、画像合成部220は、複数の多角形パッチ同士が重複する領域において、各多角形パッチの画素値を半透明状態で合成処理することで、ストライプ状物体の画像データを生成する。その後、画像合成部220は、生成されたストライプ状物体の画像データと、画像入力部210からの出力画像のデータとを、半透明状態で合成処理する。
【0065】
なお、以上の図8の処理例では、ストライプ状物体の表面の色は、合成パラメータ265内の表示色で決定されるただ1つの色とされた。この場合、合成パラメータ265に設定する表示色を変更することで、ストライプ状物体の全体の色を変更することが可能である。ただし、他の例として、ストライプ状物体の表面の色を、形状データDB261にあらかじめ登録しておいてもよい。この場合、例えば、形状データDB261に登録された多角形パッチのそれぞれの形状データに対して色情報が個別に付加されることで、ストライプ状物体の表面の色を場所によって異なる色にすることができる。
【0066】
以上説明した第2の実施の形態では、元の3次元物体をストライプ状物体に変形し、そのストライプ状物体を画像入力部210からの出力画像に半透明状態で合成した。これにより、ストライプ状物体の画像と重複する背景画像の状態の視認性が向上するとともに、元の3次元物体の表面形状も把握しやすくなる。
【0067】
〔第3の実施の形態〕
図9は、第3の実施の形態に係る画像表示システムの構成例を示す図である。なお、図9では、図6に対応する構成要素には同じ符号を付して示す。
【0068】
第3の実施の形態に係る画像表示システムは、図6に示した第2の実施の形態での画像処理装置200を、図9の画像処理装置200aのような構成に変形したものである。画像処理装置200aは、図6に示した分割処理部230を備えない。その代わり、画像処理装置200aのデータ変換部240は、ストライプ状物体の形状データを、記憶部260に記憶された形状データDB261aから読み込む。形状データDB261aには、図6の形状データDB261に登録された形状データを、図6の分割処理部230によって変換したものと同様の形状データが登録される。
【0069】
以上の第3の実施の形態では、第2の実施の形態で得られる効果に加え、ストライプ状物体の形状データを算出するための演算負荷が軽減され、画像処理装置200aの回路規模を小さくし、消費電力を低減できるという効果も得られる。
【0070】
〔第4の実施の形態〕
図10は、第4の実施の形態に係る画像表示システムの構成例を示す図である。なお、図10では、図6に対応する構成要素には同じ符号を付して示す。
【0071】
第4の実施の形態に係る画像表示システムは、図6に示した第2の実施の形態での画像処理装置200を、図10の画像処理装置200bのような構成に変形したものである。画像処理装置200bは、形状データDB261内の形状データに基づく3次元物体をストライプ状物体に変形する際の変形の仕方を、ストライプ状物体の合成の仕方を決定するパラメータに応じて変化させることが可能になっている。
【0072】
画像処理装置200bは、図6に示した画像入力部210、画像合成部220、分割処理部230、データ変換部240および画像出力部250に加え、パラメータ設定部270および分割パラメータ出力部280を備える。また、画像処理装置200bが備える記憶部260には、図6に示した形状データDB261に加え、分割パラメータテーブル266があらかじめ記憶される。
【0073】
パラメータ設定部270には、入力デバイス271が接続されている。パラメータ設定部270は、入力デバイス271に対するユーザの入力操作に応じたパラメータを出力する。パラメータ設定部270から出力されるパラメータは、図6に示したカメラパラメータ263、物体表示パラメータ264および合成パラメータ265にそれぞれ含まれるパラメータである。
【0074】
パラメータ設定部270は、入力デバイス271への入力操作に応じて出力するパラメータのうち、カメラパラメータおよび物体表示パラメータを分割パラメータ出力部280およびデータ変換部240に出力し、合成パラメータを画像合成部220に出力する。なお、これらのパラメータのうちの一部が、入力デバイス271への入力操作に応じてパラメータ設定部270から出力され、その他のパラメータが記憶部260にあらかじめ記憶されていてもよい。
【0075】
分割パラメータ出力部280は、パラメータ設定部270から出力されるカメラパラメータおよび物体表示パラメータに応じた分割パラメータを、分割処理部230に出力する。分割パラメータは、第2の実施の形態で説明したように、複数の分割面のそれぞれについての基準平面からの位置を示すパラメータである。
【0076】
なお、パラメータ設定部270は、出力すべきパラメータの指示を、入力デバイス271の代わりに、画像処理装置200bの内部あるいは外部に設けられた処理機能から受け付けてもよい。例えば、画像入力部210に、1つまたは複数の撮像装置からの撮像画像を基に、任意の視点位置に設置した仮想カメラから3次元空間を撮影した画像を生成する機能を持たせる。この場合、パラメータ設定部270は、仮想カメラについての視点位置および視線方向を画像入力部210から受け付けて、分割パラメータ出力部280に出力してもよい。
【0077】
分割パラメータ出力部280は、パラメータ設定部270から出力されるカメラパラメータおよび物体表示パラメータに応じて、仮想カメラからのストライプ状物体の見え方が適切になるように、元の3次元物体をストライプ状に分割する分割の仕方を調整する。本実施の形態では、例として、分割パラメータ出力部280は、画像入力部210からの出力画像に対して合成するストライプ状物体の大きさに応じて、元の3次元物体からストライプ状に除去する領域の数を調整する。
【0078】
例えば、仮想カメラの焦点距離を短くしたとき(すなわち、広角で撮像したとき)には、合成画像上にストライプ状物体が小さく映るので、ストライプ状に除去する領域の数を小さくして、分割されたそれぞれの部位がある程度の大きさを保つようにする。一方、仮想カメラの焦点距離を長くしたとき(すなわち、望遠で撮像したとき)には、合成画像上にストライプ状物体が大きく映るので、ストライプ状に除去する領域の数を大きくする。
【0079】
なお、本実施の形態では例として、分割パラメータ出力部280は、分割パラメータテーブル266を参照して分割パラメータを出力する。分割パラメータテーブル266には、元の3次元物体を分割する分割数と分割パラメータとが対応付けて登録されている。
【0080】
以下、分割パラメータ出力部280の処理の例について説明する。
パラメータ設定部270が出力するカメラパラメータを、焦点距離fc、視点位置Pcおよび視線方向Ncとし、パラメータ設定部270が出力する物体表示パラメータを、物体位置Pmおよび回転方向Rmとする。このとき、仮想カメラからストライプ状物体までの距離を視線方向Ncに投射したときの長さ(距離W)は、次の式(6)で表される。なお、式(6)において、NcTは、視線方向Ncの転置行列を示す。
W=NcT(Pm−Pc)/|Nc| ・・・(6)
仮想カメラによって撮像された仮想撮像画像においてストライプ状物体が映る大きさEは、幾何学的な関係より、次の式(7)で表される。なお、式(7)において、定数E0には代表的な大きさが設定されればよい。
E=E0*fc/W ・・・(7)
式(7)より、大きさEは、焦点距離fcに比例し、距離Wに反比例することがわかるので、以下、焦点距離fcおよび距離Wを用いた演算式を利用する。ストライプ状物体が撮像画像上で基準となる所定の大きさで映るときの分割パラメータを、T_1,T_2,・・・T_m(ただし、mは分割面の数であり、2以上の偶数)として、次の式(8)のようにt_kを定義する。
t_k=T_k*G*W/fc ・・・(8)
式(8)において、Gは、基準距離および基準焦点距離での分割面の数をT_kと同じにするための定数である。このとき、使用する分割パラメータの最大数cを、次の式(9)のように定める。
【0081】
【数1】
【0082】
式(9)は、T_mを超えない最大のt_kを与える添え字(k)をcとすることを意味する。式(8)および式(9)に従って分割パラメータの数(すなわち、分割面の数)を決定することで、仮想撮像画像におけるストライプ状物体の見かけの大きさが小さいほど分割面の数が少なくなり、大きさが大きいほど分割面の数が多くなるように調整される。より具体的には、焦点距離fcが小さいほど、また距離Wが大きいほど、分割面の数が少なくなる。
【0083】
図11は、第4の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図11のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。なお、図11では、図8と同じ処理が行われる処理ステップには同じ符号を付して示す。
【0084】
[ステップS31]入力デバイス271に対する入力操作により、カメラパラメータ、物体表示パラメータおよび合成パラメータが設定される。パラメータ設定部270は、入力デバイス271に対する入力操作に応じて、各パラメータを出力する。なお、出力された各パラメータは、例えば、画像処理装置200bが備えるRAM(図示せず)に一時的に記憶される。
【0085】
[ステップS32]分割パラメータ出力部280は、パラメータ設定部270が出力したパラメータを用いて、式(6)の演算を行う。分割パラメータ出力部280は、算出された距離Wを式(8)に代入するとともに、式(8)に対して、パラメータ設定部270から出力された焦点距離fcと、定数Gとを代入する。分割パラメータ出力部280は、式(8)を用いて、式(9)の条件に合致する分割パラメータ数(式(9)のc)を算出する。
【0086】
[ステップS33]分割パラメータ出力部280は、算出した分割パラメータ数を基に、分割パラメータテーブル266を参照して、複数の分割面のそれぞれについての基準平面からの位置を示す分割パラメータを出力する。
【0087】
分割パラメータテーブル266には、分割パラメータ数と、複数の分割面のそれぞれについての分割パラメータを含む分割パラメータ群とが対応付けて登録されている。分割パラメータ出力部280は、分割パラメータテーブル266から、ステップS32で算出した分割パラメータ数に対応付けられた分割パラメータ群を読み出し、データ変換部240に出力する。
【0088】
なお、分割パラメータ出力部280は、ステップS32で算出した分割パラメータ数を基に、複数の分割面のそれぞれについての分割パラメータを計算によって求めてもよい。例えば、分割パラメータ出力部280は、基準平面の放線方向に対する長さの基準値を、ステップS32で算出した分割パラメータ数の分だけ均等に分割することで、各分割面の位置を示す分割パラメータを算出してもよい。
【0089】
上記のいずれの処理でも、合成画像におけるストライプ状物体の大きさが小さくなった場合でも、元の3次元物体から除去される領域間の間隔が小さくなり過ぎなくなり、合成画像において元の3次元物体の表面形状を把握しやすくなる。
【0090】
この後、図8に示したステップS11〜S16の処理が実行される。ただし、ステップS14において、データ変換部240は、カメラパラメータおよび物体表示パラメータをパラメータ設定部270から取得する。また、ステップS16において、画像合成部220は、合成パラメータをパラメータ設定部270から取得する。
【0091】
以上説明した第4の実施の形態では、合成画像におけるストライプ状物体の大きさに応じて、ストライプ状物体を生成する際に元の3次元物体から除去する領域の数を変化させた。これにより、合成画像に映るストライプ状物体が小さくなった場合でも、除去された領域が細かくなり過ぎなくなり、元の3次元物体の表面形状を把握しやすくなる。
【0092】
〔第5の実施の形態〕
図12は、第5の実施の形態に係る画像表示システムの構成例を示す図である。なお、図12では、図10に対応する構成要素には同じ符号を付して示す。
【0093】
第5の実施の形態に係る画像表示システムは、図10に示した第4の実施の形態での画像処理装置200bを、図12の画像処理装置200cのような構成に変形したものである。画像処理装置200cは、図10に示した分割処理部230および分割パラメータ出力部280を備えない代わりに、形状データ選択部290を備える。また、記憶部260には、形状データDB261cが記憶されている。形状データDB261cは、元の3次元物体をそれぞれ異なる分割パラメータを用いて分割した複数のストライプ状物体についての形状データを含む。
【0094】
形状データ選択部290は、パラメータ設定部270から出力される各種パラメータに応じて、形状データDB261cから、パラメータに対応するストライプ状物体の形状データを選択して読み込み、読み込んだ形状データをデータ変換部240に出力する。本実施の形態では、形状データ選択部290は、カメラパラメータのうちの焦点距離に基づき、合成画像にストライプ状物体が小さく映るほど、より少ない部位に分割されたストライプ状物体の形状データを形状データDB261cから選択する。これにより、第4の実施の形態と同様に、ストライプ状物体が小さく映った場合でも、元の3次元物体の表面形状を把握しやすくする。
【0095】
ここで、形状データDB261cに記憶される形状データの例について詳しく説明する。
形状データDB261cには、元の3次元物体をそれぞれ異なる分割パラメータを用いて分割して得られたNB個のストライプ状物体のそれぞれについての形状データが登録される。一方、第4の実施の形態の説明と同様に、パラメータ設定部270が出力するカメラパラメータを、焦点距離fc、視点位置Pcおよび視線方向Ncとし、パラメータ設定部270が出力する物体表示パラメータを、物体位置Pmおよび回転方向Rmとする。このとき、仮想カメラからストライプ状物体までの距離を視線方向Ncに投射したときの距離Wは、前述の式(6)で表される。
【0096】
ここで、ストライプ状物体までの仮想的な距離Wと焦点距離fcのそれぞれがとり得る範囲をあらかじめ定めておくものとする。距離Wの最小値、最大値をそれぞれW_min,W_maxとし、焦点距離fcの最小値、最大値をそれぞれfc_min,fc_maxとする。距離Wを上記範囲で一定間隔ごとにNw個に区切った距離群のリストWLを、下記の式(10)で定義し、焦点距離fcを上記範囲で一定間隔ごとにNf個に区切った焦点距離群のリストfLを、下記の式(11)で定義する。
WL={W_1,W_2,・・・,W_Nw}(ただし、W1=W_min,W_Nw=W_max) ・・・(10)
fL={fc_1,fc_2,・・・,fc_Nf}(ただし、fc_1=fc_min,fc_Nf=fc_max) ・・・(11)
距離群のリストWL内の要素と焦点距離群のリストfL内の要素とのすべての組合せを、次の式(12)に示す組合せリストPLで定義する。
PL={(W_1,fc_1),(W_1,fc_2),・・・,(W_1,fc_Nf),(W_2,fc_1),(W_2,fc_2),・・・,(W_2,fc_Nf),・・・・・・,(W_Nw,fc_1),(W_Nw,fc_2),・・・,(W_Nw,fc_Nf)} ・・・(12)
このとき、組合せリストPL内の要素数は(Nw*Nf)個となり、この個数が上記のNBに相当する。組合せリストPLの先頭要素から順に1を起点とした整数番号を振り、i番目の要素を(W_u,fc_v)とするとき(ただし、u,vはそれぞれ要素番号)、iは次の式(13)で表される。また、式(13)を基に、u,vはそれぞれ式(14)、式(15)で表される。なお、式(14)のF1は切り捨てを表し、式(15)のF2は剰余を表す。
i=u*Nw+v ・・・(13)
u=F1(i/Nw) ・・・(14)
v=F2(i/Nw) ・・・(15)
形状データDB261cには、上記の組合せリストPLが登録される。
【0097】
次に、仮想カメラによって撮像される仮想撮像画像においてストライプ状物体が映る大きさEは、前述の式(7)より、焦点距離fcに比例し、距離Wに反比例する。このことから、ストライプ状物体が撮像画像上で基準となる所定の大きさで映るときの分割パラメータを、T_1,T_2,・・・T_m(ただし、mは分割面の数であり、2以上の偶数)として、前述の式(8)のようにt_kを定義する。
【0098】
組合せリストPLのi番目の要素(W_u,fc_v)について、式(8)の定義に従い、分割パラメータは次の式(16)のように定義される。
t_ki=T_k*G*W_u/fc_v ・・・(16)
このとき、組合せリストPLのi番目の要素(W_u,fc_v)についての分割パラメータの最大数c_iを、次の式(17)のように定める。
【0099】
【数2】
【0100】
式(17)は、T_mを超えない最大のt_kiを与える添え字(k)をc_iとすることを意味する。
式(16)および式(17)より、組合せリストPLのi番目の要素(W_u,fc_v)についての分割パラメータの集合tLiを、次の式(18)のように定義する。
tLi={t_1i,t_2i,・・・,t_c_ii} ・・・(18)
集合tLiは、組合せリストPLのi番目の要素のそれぞれについて定義される。集合tLiを用いて、前述の式(2)より各分割パラメータに対応する分割面が求められる。そして、求められた分割面に沿って、元の3次元物体をストライプ状に分割することで、i番目の要素のそれぞれに対応するストライプ状物体の形状データHiが求められる。形状データHiは、例えば、ストライプ状物体の表面形状を構成する多角形パッチの頂点座標を含む。
【0101】
組合せリストPLの要素にそれぞれ対応するストライプ状物体の形状データの集合HLを、次の式(19)によって定義する。形状データDB261aには、組合せリストPLとともに、形状データの集合HLも登録される。
HL={H1,H2,・・・,HNB} ・・・(19)
図13は、第5の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図13のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。なお、図13では、図8と同じ処理が行われる処理ステップには同じ符号を付して示す。
【0102】
[ステップS51]入力デバイス271に対する入力操作により、カメラパラメータ、物体表示パラメータおよび合成パラメータが設定される。パラメータ設定部270は、入力デバイス271に対する入力操作に応じて、各パラメータを出力する。なお、出力された各パラメータは、例えば、画像処理装置200bが備えるRAM(図示せず)に一時的に記憶される。
【0103】
[ステップS52]形状データ選択部290は、パラメータ設定部270から出力されたカメラパラメータおよび物体表示パラメータを用いて、前述の式(6)を演算し、距離Wを算出する。
【0104】
[ステップS53]形状データ選択部290は、形状データDB261cに登録された組合せリストPLから、パラメータ設定部270から出力された焦点距離fcと、ステップS52で算出した距離Wとにそれぞれ最も近い値が設定された要素を検索し、その要素番号iを認識する。
【0105】
[ステップS54]形状データ選択部290は、形状データDB261cに登録された形状データの集合HLから、ステップS53で認識した要素番号iに対応するストライプ状物体の形状データを読み出す。形状データ選択部290は、読み出したストライプ状物体の形状データを、例えば、画像処理装置200bが備えるRAMに一時的に記憶される。
【0106】
この後、図8に示したステップS13〜S16の処理が実行される。ただし、ステップS13において、データ変換部240は、カメラパラメータおよび物体表示パラメータをパラメータ設定部270から取得するとともに、ステップS54で形状データ選択部290が形状データDB261cから読み出した形状データを用いて、変換処理を行う。また、ステップS16において、画像合成部220は、合成パラメータをパラメータ設定部270から取得する。
【0107】
以上説明した第5の実施の形態では、第4の実施の形態と同様に、合成画像に映るストライプ状物体が小さくなった場合でも、除去された領域が細かくなり過ぎなくなり、元の3次元物体の表面形状を把握しやすくなる。さらに、第5の実施の形態では、それぞれ異なる分割パラメータを用いて元の3次元物体から変形された複数のストライプ状物体のそれぞれの形状データが、形状データDB261cにあらかじめ登録される。このため、設定されるカメラパラメータごとにストライプ状物体の形状データを演算する必要がなくなり、第4の実施の形態と比較して、画像処理装置での演算負荷が軽減される。
【0108】
なお、上記各実施の形態における画像処理装置あるいは画像表示システムは、例えば、全周囲立体モニタシステム(非特許文献1を参照)に適用することができる。全周囲立体モニタシステムは、車両の周囲を撮影した画像を、車両の後方などの任意の視点から見た俯瞰画像に変換するとともに、俯瞰画像上に同じ視点から見た車両の仮想画像を合成することで、運転者の運転操作を補助するものである。
【0109】
上記各実施の形態における画像処理装置の処理を、俯瞰画像上に車両の仮想画像を合成する処理に適用することにより、例えば、俯瞰画像に存在する物体のうち、車両の仮想画像によって隠れてしまう物体を、合成画像上で視認できるようになり、車両の周囲の障害物を運転者が認識しやすくなる。さらに、車両の仮想画像の表面形状を運転者が認識しやすくなり、車両の周囲の障害物と車両との位置関係を運転者がより正確に把握できるようになる。
【0110】
なお、上記の各実施の形態における画像処理装置の処理は、例えば、次の図14のようなハードウェア構成のコンピュータにおいて実現することもできる。
図14は、コンピュータのハードウェア構成例を示す図である。
【0111】
図14に示すコンピュータ400は、CPU(Central Processing Unit)401によって装置全体が制御されている。CPU401には、バス409を介して、RAM402と複数の周辺機器が接続されている。
【0112】
RAM402は、コンピュータ400の主記憶装置として使用される。RAM402には、CPU401に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM402には、CPU401による処理に必要な各種データが格納される。
【0113】
バス409に接続されている周辺機器としては、HDD403、グラフィック処理装置404、入力I/F(インタフェース)405、光学ドライブ装置406、ネットワークI/F407および通信I/F408がある。
【0114】
HDD403は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD403は、コンピュータ400の二次記憶装置として使用される。HDD403には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0115】
グラフィック処理装置404には、モニタ404aが接続されている。グラフィック処理装置404は、CPU401からの命令に従って、画像をモニタ404aに表示させる。なお、モニタ404aは、例えば、LCDである。また、モニタ404aは、コンピュータ400の本体と一体化されていてもよい。
【0116】
入力I/F405には、キーボード405aおよびマウス405bが接続されている。入力I/F405は、キーボード405aやマウス405bからの出力信号をCPU401に送信する。なお、マウス405bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。また、キーボード405aなどの入力デバイスは、コンピュータ400の本体と一体化されていてもよい。
【0117】
光学ドライブ装置406は、レーザ光などを利用して、光ディスク406aに記録されたデータの読み取りを行う。光ディスク406aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク406aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。
【0118】
ネットワークI/F407は、ネットワーク407aに接続されている。ネットワークI/F407は、ネットワーク407aを介して他の機器との間でデータを送受信する。
通信I/F408には、撮像装置408aが接続されている。通信I/F408は、撮像装置408aから出力された画像信号を、CPU401に対して出力する。なお、撮像装置408aからの出力画像信号がアナログ信号である場合、通信I/F408は、撮像装置408aからの出力画像信号をデジタル化する機能を備えていてもよい。
【0119】
ここで、図1,図6,図9,図10,図12にそれぞれ示した画像処理装置内の各機能ブロックの処理は、例えば、上記コンピュータ400のCPU401が所定のプログラムを実行することで実現される。また、これらの画像処理装置内の少なくとも一部の機能ブロックの処理は、例えば、グラフィック処理装置404などの専用の回路によって実現されてもよい。
【0120】
このように、上記の各実施の形態における画像処理装置の処理機能は、コンピュータによって実現することができる。その場合、各画像処理装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0121】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0122】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0123】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有することを特徴とする画像処理装置。
【0124】
(付記2) 前記第1の3次元物体から除去される領域の切断面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うことを特徴とする付記1記載の画像処理装置。
【0125】
(付記3) 前記第2の3次元物体の表面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の基準平面に平行な複数の分割面に沿って、前記第1の3次元物体の表面がストライプ状に除去された形状をなすことを特徴とする付記2記載の画像処理装置。
【0126】
(付記4) 前記基準平面は、前記画像合成部での合成処理時に前記第2の3次元物体が射影される3次元座標空間における水平面と一致することを特徴とする付記3記載の画像処理装置。
【0127】
(付記5) 前記画像出力部は、前記画像合成部から出力される画像における前記第2の3次元物体の見え方を決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする付記3または4記載の画像処理装置。
【0128】
(付記6) 前記画像出力部は、前記画像合成部から出力される画像に現れる前記第1の画像の大きさを決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする付記5記載の画像処理装置。
【0129】
(付記7) 前記第2の3次元物体は、前記第1の3次元物体の複数箇所が除去されることによって前記複数の部位に分割されたものであることを特徴とする付記1〜4のいずれか1つに記載の画像処理装置。
【0130】
(付記8) 前記画像出力部は、前記第1の3次元物体の表面形状を定義した形状データを基に、前記第2の3次元物体の形状データを算出し、算出した形状データを基に前記第1の画像を出力することを特徴とする付記1〜7のいずれか1つに記載の画像処理装置。
【0131】
(付記9) 前記第2の3次元物体の表面形状を示す形状データは、記憶装置にあらかじめ記憶され、
前記画像出力部は、前記記憶装置から読み出した形状データを基に前記第1の画像を出力することを特徴とする付記1〜7のいずれか1つに記載の画像処理装置。
【0132】
(付記10) 第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有する画像処理装置と、
前記画像合成部によって合成された画像を表示する表示装置と、
を有することを特徴とする画像表示システム。
【0133】
(付記11) 画像を撮像し、撮像画像を前記画像処理装置に入力する撮像装置をさらに有し、
前記第2の画像は、前記撮像画像に基づく画像である、
ことを特徴とする付記10記載の画像表示システム。
【0134】
(付記12) コンピュータに、
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を、第2の画像に対して半透明状態で合成する、
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【0135】
1 画像処理装置
2 画像出力部
3 画像合成部
11,12 物体
11a,11b 平板
12a〜12c 部位
13 背景画像
13a 背景物体
14 合成画像
20 基準平面
21〜24 分割面
【技術分野】
【0001】
本発明は、画像処理装置、画像表示システムおよび画像処理プログラムに関する。
【背景技術】
【0002】
入力された静止画像あるいは動画像に対して、3次元物体のCG(Computer Graphics)画像を合成して描画する技術が知られている。例えば、車両の周囲を撮影した画像を、車両の後方などの任意の視点から見た俯瞰画像に変換するとともに、俯瞰画像上に同じ視点から見た車両のCG画像を合成する「全周囲立体モニタシステム」と呼ばれる技術がある。また、入力画像にCG画像を合成する際に、CG画像に透過処理を施す技術もある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−50541号公報
【非特許文献】
【0004】
【非特許文献1】清水誠也,外2名、「全周囲立体モニタシステム」、雑誌FUJITSU、富士通株式会社、2009年9月、VOL.60,NO.5、p.496−501
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のように合成するCG画像に透過処理を施すことで、CG画像とともに、このCG画像と重複する背景の画像も視認できるようになる。しかしながら、透過処理されたCG画像と重複する背景の画像の色値や濃淡値は、元の色値や濃淡値から変化してしまうため、CG画像との重複領域における背景の画像の視認性は必ずしも良好とは言えなかった。
【0006】
本発明はこのような課題に鑑みてなされたものであり、合成する画像と重複する背景の画像の視認性を向上させることが可能な画像処理装置、画像表示システムおよび画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、画像出力部と、画像合成部とを有する画像処理装置が提供される。画像出力部は、第1の3次元物体の一部が除去されることによって第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する。画像合成部は、画像出力部から出力された第1の画像を半透明状態で第2の画像に合成する。
【0008】
また、上記課題を解決するために、上記の画像処理装置を含む画像表示システムが提供される。
さらに、上記課題を解決するために、上記の画像処理装置と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【0009】
上記の画像処理装置、画像表示システムおよび画像処理プログラムによれば、第2の画像と重複する背景の画像の視認性が向上する。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態に係る画像処理装置の構成例およびその動作を示す図である。
【図2】図2は、3次元物体および画像の例を示す図である。
【図3】第1の3次元物体を分割せずに合成する場合の処理を示す図である。
【図4】第1の3次元物体を分割する処理の一例を示す図である。
【図5】3次元物体の形状についての認識のしやすさについて説明する図である。
【図6】第2の実施の形態に係る画像表示システムの構成例を示す図である。
【図7】分割パラメータの例を示す図である。
【図8】第2の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図9】第3の実施の形態に係る画像表示システムの構成例を示す図である。
【図10】第4の実施の形態に係る画像表示システムの構成例を示す図である。
【図11】第4の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図12】第5の実施の形態に係る画像表示システムの構成例を示す図である。
【図13】第5の実施の形態に係る画像処理装置の処理を示すフローチャートである。
【図14】コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の構成例およびその動作を示す図である。図1に示す画像処理装置1は、画像出力部2と画像合成部3とを備える。
【0012】
画像出力部2は、第1の3次元物体を変形することで得られた第2の3次元物体の表面形状を示す画像を、画像合成部3に対して出力する。第1の3次元物体は、少なくともその表面形状が、3次元形状データによって定義されたものである。そして、第2の3次元物体は、第1の3次元物体の一部が除去されることにより、第1の3次元物体が複数の部位に分割されたものである。
【0013】
なお、画像出力部2は、例えば、第1の3次元物体の形状データを基に、第2の3次元物体の形状データを算出することで、第2の3次元物体の表面形状を示す画像を出力してもよい。あるいは、画像出力部2は、あらかじめ記憶部(図示せず)に用意しておいた第2の3次元物体の形状データを基に、第2の3次元物体の表面形状を示す画像を出力してもよい。
【0014】
また、画像出力部2が出力する画像は、第1または第2の3次元物体の形状データがどのように定義されているかに関係なく、第2の3次元物体の表面形状のみが現れた画像とされる。例えば、第1の3次元物体が立方体などの外部に対して閉じた立体物であったとしても、画像出力部2からの出力画像には、その立体物を外側から見たときに認識できる外面の形状のみが現れ、その立体物の内部の状態は現れない。
【0015】
画像合成部3は、画像出力部2から出力された画像を他の画像に対して半透明状態で合成し、合成画像を出力する。他の画像とは、例えば、画像出力部2から出力された画像の背景となる背景画像である。
【0016】
図2は、3次元物体および画像の例を示す図である。
図2に示す物体11,12は、それぞれ上記の第1の3次元物体および第2の3次元物体の例である。物体11は、方向が互いに異なる2つの平板11a,11bが組み合わされた形状をなす。物体12は、物体11の2カ所が除去されることで3つの部位12a,12b,12cに分割された形状をなす。
【0017】
一方、背景画像13は、画像合成部3において物体12の表面形状を示す画像(以下、「表面画像」と称する)と合成される画像の例である。背景画像13には、背景物体13aが描画されている。
【0018】
合成画像14は、画像合成部3によって、背景画像13に対して物体12の表面画像が半透明状態で合成された画像である。合成画像14では、物体12の表面画像と背景画像13とが半透明状態で合成されることにより、物体12の部位12a〜12cの各表面画像と背景物体13aとの重複領域において、物体12の部位12a〜12cと背景物体13aの両方の形状を視認できる。これに加えて、合成画像14では、物体12の部位12aと部位12bと間、および部位12bと部位12cとの間がそれぞれ離間し、これらの離間領域において、背景物体13aを含む背景画像13が、透過処理が施されることなく直接的に描画される。
【0019】
なお、画像合成部3は、物体12の表面画像を背景画像13と合成する際に、物体12の表面を構成する要素同士が重複する領域についても透過処理を施す。例えば、物体12の表面のうち、平板11aに対応する手前側の面と、平板11bに対応する奥側の面とが重複する領域では、手前側の面と奥側の面とが半透明状態で合成される。ただし、このような透過処理は、物体12の表面画像を画像合成部3に入力する前に、画像出力部2が行ってもよい。
【0020】
ここで、図3は、第1の3次元物体を分割せずに合成する場合の処理を示す図である。
物体11を複数の部位に分割しない状態のまま、背景画像13に対して半透明状態で合成した場合、図3に示す合成画像15が生成される。合成画像15では、例えば、物体11と背景画像13上の背景物体13aとの重複領域では、物体11だけでなく背景物体13aの形状も視認できる。しかしながら、この重複領域では、透過処理により、背景物体13aの色値や濃淡値は、背景物体13aの元の色値や濃淡値とは異なるものとなる。このため、合成する物体同士の明るさ、色、形状などの組合せによっては、背景の物体が視認しにくい場合がある。
【0021】
これに対して、図2の合成画像14では、物体12の部位12aと部位12bとの間、および部位12bと部位12cとの間がそれぞれ離間する。また、物体12は、物体11が複数の部位に分割された形状をなすので、物体12の表面のうち、手前側の面だけでなく奥側の面にも、部位と部位とが離間した領域が存在することが多くなる。このため、これらの離間領域では、背景画像13が物体12の表面と重複せずに露出した状態になる可能性が高い。
【0022】
離間領域において背景画像13が物体12の表面と重複しない状態であれば、背景画像13は、元の色値や濃淡値が変化することなくそのまま描画される。従って、図3の合成画像15と比較して、図2の合成画像14の方が、背景画像13の状態の視認性が高くなり、背景画像13に含まれる背景物体13aなどの物体の形状や色などをより正確に認識できるようになる。
【0023】
なお、第1の3次元物体から除去する領域の数、すなわち、第1の3次元物体を分割して生成された第2の3次元物体の部位の数は、1つより複数個とされる方が、第2の3次元物体における部位の間の離間領域が広くなり、背景の物体の視認性が向上する。ただし、第1の3次元物体から除去する領域の数が多いほど、あるいは、その除去領域が大きいほど、必ずしも背景の物体の視認性が向上するとは言えない。第1の3次元物体から除去する領域の数や大きさは、第1の3次元物体の形状や、第2の3次元物体を画像合成部3にて合成する際の大きさなどに応じて、適切に設定されることが望ましい。
【0024】
ところで、上記の画像処理装置1における処理では、第1の3次元物体の一部を除去して得られる第2の3次元物体を合成して描画することで、第1の3次元物体から除去された領域の境界の形状を基に、第1の3次元物体の表面形状を認識しやすくなるという効果も生じる。このような効果は、第1の3次元物体から除去する領域の切断面を、この第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うようにすることで、より顕著になる。第1の3次元物体を平面に沿って切断して分割した場合、例えば、図2の物体11のように表面が平板状であれば、除去された境界は直線となる一方、表面が曲面であれば、除去された境界は曲線となる。従って、第1の3次元物体の形状を認識しやすくなる。
【0025】
さらに、図2の物体11を物体12のように分割する場合のように、第1の3次元物体を互いに平行な複数の平面に沿って分割することで、第1の3次元物体の形状をより正確に認識できるようになる。
【0026】
図4は、第1の3次元物体を分割する処理の一例を示す図である。
第1の3次元物体を互いに平行な平面に沿って分割する処理では、まず、第1の3次元物体の形状データが定義された3次元座標空間における任意の基準平面が選択される。そして、この基準平面20に平行な複数の分割面に沿って第1の3次元物体が切断され、互いに隣接する2つの分割面に挟まれたストライプ状の領域が除去される。
【0027】
図4では、図2に示した物体11が、基準平面20に平行な分割面21〜24に沿って分割される際の例を示す。図4中の物体11に表された一点鎖線は、分割面21〜24によって切断される際の切断線を示す。物体11から、分割面21と分割面22との間のストライプ状の領域、および、分割面23と分割面24との間のストライプ状の領域をそれぞれ除去することで、図2の物体12が得られる。
【0028】
図5は、3次元物体の形状についての認識のしやすさについて説明する図である。
図5では、図4に示した分割面21〜24によって切断された切断線を、物体12上に太線によって示す。物体11を平面に沿って分割することで、例えば、元の物体11の表面のうちの平滑な面において切断線が現れるようになり、この切断線によって元の物体11の表面形状を把握しやすくなる。
【0029】
特に、物体12のように、物体11を互いに平行な複数の平面に沿って切断し、隣接する平面間のストライプ状の領域を除去した場合には、元の物体11の表面が平面であれば、ストライプ状領域の両端の切断線は平行な直線となる。そして、このように元の物体11の表面が平面である場合を基準として切断線を観察することで、元の物体11の表面形状を容易に把握できる。
【0030】
また、分割面21〜24の基準となる基準平面20は、合成画像14において物体12が存在する仮想的な3次元座標空間における水平面(地平面に水平な面)であることが望ましい。ここで言う仮想的な3次元座標空間とは、例えば、物体12の合成対象である背景画像13が仮想的なカメラによって撮像されたものと考えたときに、その仮想カメラが撮像する仮想的な3次元座標空間を指す。そして、物体12の画像が背景画像13に合成される際には、物体12がこの仮想的な3次元座標空間に射影されることになる。
【0031】
人間が物体を認識するときには、自分が立っている地面に対して水平な面を基準として考えた方が、物体の形状を認識しやすい。従って、基準平面20を上記の仮想的な3次元座標空間における水平面とすることで、元の物体11の表面形状を認識しやすくなる。
【0032】
さらに、元の物体11から複数のストライプ状領域を除去することで、物体12の表面に現れる切断線の数が増加するので、物体12上の各切断線の形状から元の物体11の表面形状をより正確に把握できるようになる。
【0033】
なお、以上の第1の実施の形態では、第1の3次元物体を1つの基準平面に平行な分割面に沿って分割することで第2の3次元物体を生成したが、他の例として、第1の3次元物体を複数の基準平面にそれぞれ平行な分割面に沿って分割するようにしてもよい。例えば、第1の3次元物体をある基準平面に平行な複数の分割面に沿って分割し、分割後の3次元物体をさらに他の基準平面に平行な複数の分割面に沿って分割することで、第2の3次元物体を生成してもよい。
【0034】
〔第2の実施の形態〕
図6は、第2の実施の形態に係る画像表示システムの構成例を示す図である。図6に示す画像表示システムは、撮像装置110、画像処理装置200および表示装置120を備える。
【0035】
撮像装置110は、CCD(Charge Coupled Devices)、CMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子を用いて画像を撮像し、撮像した画像をアナログ信号として画像処理装置200に出力する。画像処理装置200は、撮像装置110によって撮像された画像に対して、仮想的な3次元物体の画像を合成する。表示装置120は、画像処理装置200によって合成処理された画像を表示する。表示装置120は、例えば、LCD(Liquid Crystal Display)、有機EL(EelectroLuminescence)ディスプレイなどである。なお、画像処理装置200と表示装置120とは、一体化されていてもよい。
【0036】
画像処理装置200は、画像入力部210、画像合成部220、分割処理部230、データ変換部240および画像出力部250を備える。なお、画像合成部220は、第1の実施の形態における画像合成部3に対応し、分割処理部230およびデータ変換部240は、第1の実施の形態における画像出力部2に対応する。
【0037】
さらに、画像処理装置200は、記憶部260を備える。記憶部260は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)などの不揮発性記憶媒体である。記憶部260には、形状データDB(データベース)261、分割パラメータ262、カメラパラメータ263、物体表示パラメータ264および合成パラメータ265が記憶されている。
【0038】
画像入力部210は、撮像装置110から出力されたアナログ画像信号をデジタル化し、画像合成部220に出力する。
合成パラメータ265には、データ変換部240からの出力データに基づく3次元物体の画像を画像合成部220で合成するための各種パラメータが設定される。合成パラメータ265は、例えば、3次元物体の表示色および透過率を含む。なお、合成パラメータ265に含まれる少なくとも一部のパラメータは、ユーザの設定操作などに応じて任意に設定可能であってもよい。
【0039】
画像合成部220は、データ変換部240からの出力データに基づく3次元物体の表面に、合成パラメータ265内の表示色を適用し、この3次元物体の画像を、画像入力部210からの出力画像に対して、合成パラメータ265内の透過率に基づいて半透明状態で合成する。
【0040】
形状データDB261には、3次元物体の表面の3次元形状を定義した形状データが登録される。形状データDB261内の形状データに基づく3次元物体は、第1の実施の形態における第1の3次元物体に対応する。形状データDB261内の形状データは、例えば、所定の基準座標を基準として各頂点の3次元座標が定義された多角形パッチの集合である。あるいは、例えば、3次元物体が直方体などの単純な幾何学形状である場合には、形状データは3次元物体の各辺の長さであってもよい。
【0041】
分割パラメータ262は、分割処理部230において3次元物体をどのように分割するかを決定するパラメータである。後述するように、分割パラメータ262は、例えば、所定の基準平面を基準とした、基準平面の法線方向に対する位置パラメータである。なお、分割パラメータ262は、ユーザによる設定操作などに応じて任意に設定可能であってもよい。
【0042】
分割処理部230は、形状データDB261内の形状データに基づく3次元物体を、分割パラメータ262に基づいて複数の部位に分割し、分割した3次元物体の形状データをデータ変換部240に出力する。なお、分割処理部230で分割された3次元物体は、第1の実施の形態における第2の3次元物体に対応する。
【0043】
本実施の形態では、分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、互いに平行な複数の分割面に沿った複数のストライプ領域を除去することで、元の3次元物体を分割する。この分割処理は、図2に示した物体11を物体12のように分割する処理に対応する。以下、分割処理部230によって分割処理された3次元物体を「ストライプ状物体」と呼ぶ。分割処理部230は、形状データDB261内の形状データと分割パラメータ262とを基に、ストライプ状物体の形状データを演算し、形状データの演算結果をデータ変換部240に出力する。
【0044】
カメラパラメータ263は、ストライプ状物体を仮想的な3次元座標空間に射影する際の仮想的なカメラのパラメータである。カメラパラメータ263は、例えば、仮想カメラの焦点距離、視点位置および視線方向などのパラメータを含む。
【0045】
物体表示パラメータ264は、ストライプ状物体を合成画像上にどのように表示させるかを決定するパラメータである。物体表示パラメータ264は、例えば、ストライプ状物体を上記の仮想的な3次元座標空間に射影する際のストライプ状物体の位置および回転方向などのパラメータを含む。
【0046】
なお、カメラパラメータ263および物体表示パラメータ264に含まれる少なくとも一部のパラメータは、ユーザの設定操作などに応じて任意に設定可能であってもよい。
データ変換部240は、分割処理部230から出力された、ストライプ状物体の形状データを、カメラパラメータ263および物体表示パラメータ264に基づいて変換する。このデータ変換部240での変換処理により、ストライプ状物体を定義した多角形パッチの各頂点の3次元座標が、画像入力部210からの出力画像が定義された2次元座標空間における座標に変換される。
【0047】
画像出力部250は、画像合成部220から出力された合成画像のデジタルデータを、表示用の画像信号に変換して表示装置120に出力し、合成画像を表示装置120に表示させる。
【0048】
次に、分割処理部230の処理例について説明する。
分割処理部230は、形状データDB261内の形状データに基づく3次元物体を、形状データが定義された3次元座標空間上に任意に設定した基準平面に平行な複数の分割面に沿って分割する。基準平面は、例えば、形状データが定義された3次元座標空間における2軸方向に沿った平面とされる。分割処理部230は、3次元物体から、隣接する分割面に挟まれたストライプ状の領域を除去することで、ストライプ状物体を生成する。
【0049】
基準平面における任意の1点の3次元座標をPBとし、基準平面の法線方向を示すベクトルをnとすると、座標PBの点を通り法線方向に沿った3次元直線上の位置Lは、媒介変数tを用いて次の式(1)で表される。
L=n*t+PB ・・・(1)
式(1)のtは、基準平面の法線方向に対する基準平面からのオフセット量を示す位置パラメータである。そして、分割面のそれぞれについての位置パラメータは、式(1)のtの値として与えられる。すなわち、tの値が決定されれば、着目する分割面の3次元座標上の位置が確定される。分割面は、式(1)で与えられる3次元座標の点を通り、法線方向(ベクトルnの方向)に沿った平面となる。このような分割面は、次の式(2)のような平面式で与えられる。なお、式(2)において、nTはベクトルnの転置行列を示す。
nT*(x−L)=0 ・・・(2)
記憶部260には、分割パラメータ262の例として、分割面のそれぞれについての式(1)におけるtの値が設定される。例えば、形状データDB261内の形状データに基づく3次元物体をm個(ただし、mは2以上の偶数)の分割面に沿って分割する場合、分割パラメータ262は、t1,t2,・・・,tmというm個の位置パラメータを含む。
【0050】
分割処理部230は、分割パラメータ262に含まれる各分割面に対応する位置パラメータを式(2)に代入することで、各分割面の式を求める。分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、奇数番の分割面とその次の偶数番の分割面とに挟まれる領域を除去することで得られるストライプ状物体の形状データを、形状データDB261内の形状データと各分割面の式とを基に演算する。
【0051】
図7は、分割パラメータの例を示す図である。
図7に示す物体面301は、形状データDB261内の形状データに基づく3次元物体の表面を、基準平面に平行な方向から見たものである。また、図7では、形状データDB261内の形状データに基づく3次元物体を、基準平面にそれぞれ平行な6つの分割面311〜316によって分割する場合の例を示す。この場合、分割パラメータ262として、分割面311〜316にそれぞれ対応する位置パラメータt1〜t6が、記憶部260に設定される。そして、物体面301のうち、分割面311と分割面312との間の領域、分割面313と分割面314との間の領域、分割面315と分割面316との間の領域をそれぞれ除去することで、4つのストライプ状物体面302a〜302dを有するように分割されたストライプ状物体が得られる。
【0052】
次に、データ変換部240の処理例について説明する。
カメラパラメータ263には、焦点距離fc、視点位置Pcおよび視線方向Ncが設定され、物体表示パラメータ264には、ストライプ状物体についての物体位置Pmおよび回転方向Rmが設定されるものとする。ストライプ状物体の表面を構成する多角形パッチの各頂点の3次元座標をq_i(ただし、iは多角形パッチの頂点を識別する添え字)とすると、多角形パッチの各頂点は、次の式(3)を用いて仮想的な3次元座標空間に射影される。なお、式(3)において、r_iは、仮想的な3次元座標空間におけるq_iの射影位置の座標を示す。
r_i=Rm*q_i+Pm ・・・(3)
式(3)に基づいて射影されたストライプ状物体を、焦点距離fcで撮像位置の中心を視点位置Pcに置いた仮想カメラで観測したときの仮想撮像画像での2次元空間に射影する。仮想撮像画像での2次元位置は、仮想カメラのレンズのモデルにもよるが、ここでは、通常のレンズに相当する透視射影によるカメラを仮定した場合の例を示す。仮想撮像画像での座標s_iは、次の式(4)および式(5)で求められる。
s_i(x)=fc_x*r_i(x)/r_i(z) ・・・(4)
s_i(y)=fc_y*r_i(y)/r_i(z) ・・・(5)
ただし、s_i(x),s_i(y)は、それぞれ座標s_iのx座標およびy座標を示し、fc_x,fc_yは、それぞれ焦点距離fcのx成分およびy成分を示し、r_i(x),r_i(y),r_i(z)は、それぞれ座標r_iのx座標、y座標、z座標を示す。
【0053】
データ変換部240は、カメラパラメータ263内の焦点距離fc、視点位置Pcおよび視線方向Ncと、物体表示パラメータ264内の物体位置Pmおよび回転方向Rmとに基づき、式(4)および式(5)に従って、ストライプ状物体を定義する多角形パッチの各頂点の座標を変換し、変換後の各頂点の座標を画像合成部220に出力する。上記の式(4)および式(5)を用いた座標変換により、多角形パッチの各頂点が、仮想撮像画像上の2次元座標に変換される。
【0054】
なお、以上の図6および図7の説明では、カメラパラメータ263および物体表示パラメータ264は、記憶部260にあらかじめ設定されているものとしたが、これらのパラメータを、画像処理装置200の内部あるいは外部における何らかの処理と連動させて変化させてもよい。例えば、画像入力部210に、1つまたは複数の撮像装置からの撮像画像を基に、任意の視点位置に設置した仮想カメラから3次元空間を撮影した画像を生成する機能を持たせる。この場合、仮想カメラについての視点位置および視線方向を、上記の視点位置Pcおよび視線方向Ncとしてデータ変換部240での変換処理に使用することができる。
【0055】
次に、画像処理装置200での処理についてフローチャートを用いて説明する。図8は、第2の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図8のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。
【0056】
[ステップS11]分割処理部230は、記憶部260に設定された分割パラメータ262に含まれる、各分割面に対応する位置パラメータを、上記の式(2)に代入する。これにより、分割処理部230は、各分割面の式を求める。
【0057】
[ステップS12]分割処理部230は、形状データDB261内の形状データに基づく3次元物体から、ステップS11で求めた分割面のうち、奇数番の分割面とその次の偶数番の分割面とに挟まれる領域を除去することで、ストライプ状物体の形状データを算出する。分割処理部230は、例えば、算出したストライプ状物体の形状データを、画像処理装置200が備えるRAM(図示せず)に一時的に記録する。
【0058】
[ステップS13]データ変換部240は、ステップS12で算出されたストライプ状物体の形状データから、ストライプ状物体の表面形状を定義した1つの多角形パッチの形状データ(多角形パッチの頂点の座標)を選択する。
【0059】
[ステップS14]データ変換部240は、記憶部260に設定されたカメラパラメータ263および物体表示パラメータ264に基づき、ステップS13で選択した多角形パッチの各頂点の3次元座標を、上記の式(4)および式(5)に従って、仮想撮像画像での2次元座標に変換する。データ変換部240は、得られた各頂点の2次元座標を、画像処理装置200が備えるRAMに一時的に記憶する。
【0060】
[ステップS15]データ変換部240は、ステップS12で算出されたストライプ状物体の形状データに含まれるすべての多角形パッチのデータを選択したかを判定する。データ変換部240は、未選択の多角形パッチのデータがある場合には、ステップS13に戻り、未選択の多角形パッチのデータから1つの多角形パッチのデータを選択する。
【0061】
一方、すべての多角形パッチのデータが選択済みである場合、ストライプ状物体の表面画像のデータが、各多角形パッチの2次元座標の集合として生成されたことになる。データ変換部240は、すべての多角形パッチのデータが選択済みの場合には、ステップS16の処理を実行する。
【0062】
[ステップS16]画像合成部220は、記憶部260に設定された合成パラメータ265から、ストライプ状物体の表示色と透過率とを抽出する。画像合成部220は、ストライプ状物体の画像を、画像入力部210からの出力画像に対して、合成パラメータ265から抽出した透過率に基づいて半透明状態で合成する。
【0063】
具体的には、画像合成部220は、ステップS14で変換した各多角形パッチの2次元座標に基づき、合成パラメータ265から抽出した表示色を、各多角形パッチに含まれる各画素の画素値として適用する。画像合成部220は、各多角形パッチの画素値と、画像入力部210からの出力画像の画素値とを、合成パラメータ265から抽出した透過率を適用した所定のブレンディング方法によって合成する。
【0064】
なお、多角形パッチ同士が重複する領域では、重複する多角形パッチ間でも透過処理が施される。例えば、画像合成部220は、複数の多角形パッチ同士が重複する領域において、各多角形パッチの画素値を半透明状態で合成処理することで、ストライプ状物体の画像データを生成する。その後、画像合成部220は、生成されたストライプ状物体の画像データと、画像入力部210からの出力画像のデータとを、半透明状態で合成処理する。
【0065】
なお、以上の図8の処理例では、ストライプ状物体の表面の色は、合成パラメータ265内の表示色で決定されるただ1つの色とされた。この場合、合成パラメータ265に設定する表示色を変更することで、ストライプ状物体の全体の色を変更することが可能である。ただし、他の例として、ストライプ状物体の表面の色を、形状データDB261にあらかじめ登録しておいてもよい。この場合、例えば、形状データDB261に登録された多角形パッチのそれぞれの形状データに対して色情報が個別に付加されることで、ストライプ状物体の表面の色を場所によって異なる色にすることができる。
【0066】
以上説明した第2の実施の形態では、元の3次元物体をストライプ状物体に変形し、そのストライプ状物体を画像入力部210からの出力画像に半透明状態で合成した。これにより、ストライプ状物体の画像と重複する背景画像の状態の視認性が向上するとともに、元の3次元物体の表面形状も把握しやすくなる。
【0067】
〔第3の実施の形態〕
図9は、第3の実施の形態に係る画像表示システムの構成例を示す図である。なお、図9では、図6に対応する構成要素には同じ符号を付して示す。
【0068】
第3の実施の形態に係る画像表示システムは、図6に示した第2の実施の形態での画像処理装置200を、図9の画像処理装置200aのような構成に変形したものである。画像処理装置200aは、図6に示した分割処理部230を備えない。その代わり、画像処理装置200aのデータ変換部240は、ストライプ状物体の形状データを、記憶部260に記憶された形状データDB261aから読み込む。形状データDB261aには、図6の形状データDB261に登録された形状データを、図6の分割処理部230によって変換したものと同様の形状データが登録される。
【0069】
以上の第3の実施の形態では、第2の実施の形態で得られる効果に加え、ストライプ状物体の形状データを算出するための演算負荷が軽減され、画像処理装置200aの回路規模を小さくし、消費電力を低減できるという効果も得られる。
【0070】
〔第4の実施の形態〕
図10は、第4の実施の形態に係る画像表示システムの構成例を示す図である。なお、図10では、図6に対応する構成要素には同じ符号を付して示す。
【0071】
第4の実施の形態に係る画像表示システムは、図6に示した第2の実施の形態での画像処理装置200を、図10の画像処理装置200bのような構成に変形したものである。画像処理装置200bは、形状データDB261内の形状データに基づく3次元物体をストライプ状物体に変形する際の変形の仕方を、ストライプ状物体の合成の仕方を決定するパラメータに応じて変化させることが可能になっている。
【0072】
画像処理装置200bは、図6に示した画像入力部210、画像合成部220、分割処理部230、データ変換部240および画像出力部250に加え、パラメータ設定部270および分割パラメータ出力部280を備える。また、画像処理装置200bが備える記憶部260には、図6に示した形状データDB261に加え、分割パラメータテーブル266があらかじめ記憶される。
【0073】
パラメータ設定部270には、入力デバイス271が接続されている。パラメータ設定部270は、入力デバイス271に対するユーザの入力操作に応じたパラメータを出力する。パラメータ設定部270から出力されるパラメータは、図6に示したカメラパラメータ263、物体表示パラメータ264および合成パラメータ265にそれぞれ含まれるパラメータである。
【0074】
パラメータ設定部270は、入力デバイス271への入力操作に応じて出力するパラメータのうち、カメラパラメータおよび物体表示パラメータを分割パラメータ出力部280およびデータ変換部240に出力し、合成パラメータを画像合成部220に出力する。なお、これらのパラメータのうちの一部が、入力デバイス271への入力操作に応じてパラメータ設定部270から出力され、その他のパラメータが記憶部260にあらかじめ記憶されていてもよい。
【0075】
分割パラメータ出力部280は、パラメータ設定部270から出力されるカメラパラメータおよび物体表示パラメータに応じた分割パラメータを、分割処理部230に出力する。分割パラメータは、第2の実施の形態で説明したように、複数の分割面のそれぞれについての基準平面からの位置を示すパラメータである。
【0076】
なお、パラメータ設定部270は、出力すべきパラメータの指示を、入力デバイス271の代わりに、画像処理装置200bの内部あるいは外部に設けられた処理機能から受け付けてもよい。例えば、画像入力部210に、1つまたは複数の撮像装置からの撮像画像を基に、任意の視点位置に設置した仮想カメラから3次元空間を撮影した画像を生成する機能を持たせる。この場合、パラメータ設定部270は、仮想カメラについての視点位置および視線方向を画像入力部210から受け付けて、分割パラメータ出力部280に出力してもよい。
【0077】
分割パラメータ出力部280は、パラメータ設定部270から出力されるカメラパラメータおよび物体表示パラメータに応じて、仮想カメラからのストライプ状物体の見え方が適切になるように、元の3次元物体をストライプ状に分割する分割の仕方を調整する。本実施の形態では、例として、分割パラメータ出力部280は、画像入力部210からの出力画像に対して合成するストライプ状物体の大きさに応じて、元の3次元物体からストライプ状に除去する領域の数を調整する。
【0078】
例えば、仮想カメラの焦点距離を短くしたとき(すなわち、広角で撮像したとき)には、合成画像上にストライプ状物体が小さく映るので、ストライプ状に除去する領域の数を小さくして、分割されたそれぞれの部位がある程度の大きさを保つようにする。一方、仮想カメラの焦点距離を長くしたとき(すなわち、望遠で撮像したとき)には、合成画像上にストライプ状物体が大きく映るので、ストライプ状に除去する領域の数を大きくする。
【0079】
なお、本実施の形態では例として、分割パラメータ出力部280は、分割パラメータテーブル266を参照して分割パラメータを出力する。分割パラメータテーブル266には、元の3次元物体を分割する分割数と分割パラメータとが対応付けて登録されている。
【0080】
以下、分割パラメータ出力部280の処理の例について説明する。
パラメータ設定部270が出力するカメラパラメータを、焦点距離fc、視点位置Pcおよび視線方向Ncとし、パラメータ設定部270が出力する物体表示パラメータを、物体位置Pmおよび回転方向Rmとする。このとき、仮想カメラからストライプ状物体までの距離を視線方向Ncに投射したときの長さ(距離W)は、次の式(6)で表される。なお、式(6)において、NcTは、視線方向Ncの転置行列を示す。
W=NcT(Pm−Pc)/|Nc| ・・・(6)
仮想カメラによって撮像された仮想撮像画像においてストライプ状物体が映る大きさEは、幾何学的な関係より、次の式(7)で表される。なお、式(7)において、定数E0には代表的な大きさが設定されればよい。
E=E0*fc/W ・・・(7)
式(7)より、大きさEは、焦点距離fcに比例し、距離Wに反比例することがわかるので、以下、焦点距離fcおよび距離Wを用いた演算式を利用する。ストライプ状物体が撮像画像上で基準となる所定の大きさで映るときの分割パラメータを、T_1,T_2,・・・T_m(ただし、mは分割面の数であり、2以上の偶数)として、次の式(8)のようにt_kを定義する。
t_k=T_k*G*W/fc ・・・(8)
式(8)において、Gは、基準距離および基準焦点距離での分割面の数をT_kと同じにするための定数である。このとき、使用する分割パラメータの最大数cを、次の式(9)のように定める。
【0081】
【数1】
【0082】
式(9)は、T_mを超えない最大のt_kを与える添え字(k)をcとすることを意味する。式(8)および式(9)に従って分割パラメータの数(すなわち、分割面の数)を決定することで、仮想撮像画像におけるストライプ状物体の見かけの大きさが小さいほど分割面の数が少なくなり、大きさが大きいほど分割面の数が多くなるように調整される。より具体的には、焦点距離fcが小さいほど、また距離Wが大きいほど、分割面の数が少なくなる。
【0083】
図11は、第4の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図11のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。なお、図11では、図8と同じ処理が行われる処理ステップには同じ符号を付して示す。
【0084】
[ステップS31]入力デバイス271に対する入力操作により、カメラパラメータ、物体表示パラメータおよび合成パラメータが設定される。パラメータ設定部270は、入力デバイス271に対する入力操作に応じて、各パラメータを出力する。なお、出力された各パラメータは、例えば、画像処理装置200bが備えるRAM(図示せず)に一時的に記憶される。
【0085】
[ステップS32]分割パラメータ出力部280は、パラメータ設定部270が出力したパラメータを用いて、式(6)の演算を行う。分割パラメータ出力部280は、算出された距離Wを式(8)に代入するとともに、式(8)に対して、パラメータ設定部270から出力された焦点距離fcと、定数Gとを代入する。分割パラメータ出力部280は、式(8)を用いて、式(9)の条件に合致する分割パラメータ数(式(9)のc)を算出する。
【0086】
[ステップS33]分割パラメータ出力部280は、算出した分割パラメータ数を基に、分割パラメータテーブル266を参照して、複数の分割面のそれぞれについての基準平面からの位置を示す分割パラメータを出力する。
【0087】
分割パラメータテーブル266には、分割パラメータ数と、複数の分割面のそれぞれについての分割パラメータを含む分割パラメータ群とが対応付けて登録されている。分割パラメータ出力部280は、分割パラメータテーブル266から、ステップS32で算出した分割パラメータ数に対応付けられた分割パラメータ群を読み出し、データ変換部240に出力する。
【0088】
なお、分割パラメータ出力部280は、ステップS32で算出した分割パラメータ数を基に、複数の分割面のそれぞれについての分割パラメータを計算によって求めてもよい。例えば、分割パラメータ出力部280は、基準平面の放線方向に対する長さの基準値を、ステップS32で算出した分割パラメータ数の分だけ均等に分割することで、各分割面の位置を示す分割パラメータを算出してもよい。
【0089】
上記のいずれの処理でも、合成画像におけるストライプ状物体の大きさが小さくなった場合でも、元の3次元物体から除去される領域間の間隔が小さくなり過ぎなくなり、合成画像において元の3次元物体の表面形状を把握しやすくなる。
【0090】
この後、図8に示したステップS11〜S16の処理が実行される。ただし、ステップS14において、データ変換部240は、カメラパラメータおよび物体表示パラメータをパラメータ設定部270から取得する。また、ステップS16において、画像合成部220は、合成パラメータをパラメータ設定部270から取得する。
【0091】
以上説明した第4の実施の形態では、合成画像におけるストライプ状物体の大きさに応じて、ストライプ状物体を生成する際に元の3次元物体から除去する領域の数を変化させた。これにより、合成画像に映るストライプ状物体が小さくなった場合でも、除去された領域が細かくなり過ぎなくなり、元の3次元物体の表面形状を把握しやすくなる。
【0092】
〔第5の実施の形態〕
図12は、第5の実施の形態に係る画像表示システムの構成例を示す図である。なお、図12では、図10に対応する構成要素には同じ符号を付して示す。
【0093】
第5の実施の形態に係る画像表示システムは、図10に示した第4の実施の形態での画像処理装置200bを、図12の画像処理装置200cのような構成に変形したものである。画像処理装置200cは、図10に示した分割処理部230および分割パラメータ出力部280を備えない代わりに、形状データ選択部290を備える。また、記憶部260には、形状データDB261cが記憶されている。形状データDB261cは、元の3次元物体をそれぞれ異なる分割パラメータを用いて分割した複数のストライプ状物体についての形状データを含む。
【0094】
形状データ選択部290は、パラメータ設定部270から出力される各種パラメータに応じて、形状データDB261cから、パラメータに対応するストライプ状物体の形状データを選択して読み込み、読み込んだ形状データをデータ変換部240に出力する。本実施の形態では、形状データ選択部290は、カメラパラメータのうちの焦点距離に基づき、合成画像にストライプ状物体が小さく映るほど、より少ない部位に分割されたストライプ状物体の形状データを形状データDB261cから選択する。これにより、第4の実施の形態と同様に、ストライプ状物体が小さく映った場合でも、元の3次元物体の表面形状を把握しやすくする。
【0095】
ここで、形状データDB261cに記憶される形状データの例について詳しく説明する。
形状データDB261cには、元の3次元物体をそれぞれ異なる分割パラメータを用いて分割して得られたNB個のストライプ状物体のそれぞれについての形状データが登録される。一方、第4の実施の形態の説明と同様に、パラメータ設定部270が出力するカメラパラメータを、焦点距離fc、視点位置Pcおよび視線方向Ncとし、パラメータ設定部270が出力する物体表示パラメータを、物体位置Pmおよび回転方向Rmとする。このとき、仮想カメラからストライプ状物体までの距離を視線方向Ncに投射したときの距離Wは、前述の式(6)で表される。
【0096】
ここで、ストライプ状物体までの仮想的な距離Wと焦点距離fcのそれぞれがとり得る範囲をあらかじめ定めておくものとする。距離Wの最小値、最大値をそれぞれW_min,W_maxとし、焦点距離fcの最小値、最大値をそれぞれfc_min,fc_maxとする。距離Wを上記範囲で一定間隔ごとにNw個に区切った距離群のリストWLを、下記の式(10)で定義し、焦点距離fcを上記範囲で一定間隔ごとにNf個に区切った焦点距離群のリストfLを、下記の式(11)で定義する。
WL={W_1,W_2,・・・,W_Nw}(ただし、W1=W_min,W_Nw=W_max) ・・・(10)
fL={fc_1,fc_2,・・・,fc_Nf}(ただし、fc_1=fc_min,fc_Nf=fc_max) ・・・(11)
距離群のリストWL内の要素と焦点距離群のリストfL内の要素とのすべての組合せを、次の式(12)に示す組合せリストPLで定義する。
PL={(W_1,fc_1),(W_1,fc_2),・・・,(W_1,fc_Nf),(W_2,fc_1),(W_2,fc_2),・・・,(W_2,fc_Nf),・・・・・・,(W_Nw,fc_1),(W_Nw,fc_2),・・・,(W_Nw,fc_Nf)} ・・・(12)
このとき、組合せリストPL内の要素数は(Nw*Nf)個となり、この個数が上記のNBに相当する。組合せリストPLの先頭要素から順に1を起点とした整数番号を振り、i番目の要素を(W_u,fc_v)とするとき(ただし、u,vはそれぞれ要素番号)、iは次の式(13)で表される。また、式(13)を基に、u,vはそれぞれ式(14)、式(15)で表される。なお、式(14)のF1は切り捨てを表し、式(15)のF2は剰余を表す。
i=u*Nw+v ・・・(13)
u=F1(i/Nw) ・・・(14)
v=F2(i/Nw) ・・・(15)
形状データDB261cには、上記の組合せリストPLが登録される。
【0097】
次に、仮想カメラによって撮像される仮想撮像画像においてストライプ状物体が映る大きさEは、前述の式(7)より、焦点距離fcに比例し、距離Wに反比例する。このことから、ストライプ状物体が撮像画像上で基準となる所定の大きさで映るときの分割パラメータを、T_1,T_2,・・・T_m(ただし、mは分割面の数であり、2以上の偶数)として、前述の式(8)のようにt_kを定義する。
【0098】
組合せリストPLのi番目の要素(W_u,fc_v)について、式(8)の定義に従い、分割パラメータは次の式(16)のように定義される。
t_ki=T_k*G*W_u/fc_v ・・・(16)
このとき、組合せリストPLのi番目の要素(W_u,fc_v)についての分割パラメータの最大数c_iを、次の式(17)のように定める。
【0099】
【数2】
【0100】
式(17)は、T_mを超えない最大のt_kiを与える添え字(k)をc_iとすることを意味する。
式(16)および式(17)より、組合せリストPLのi番目の要素(W_u,fc_v)についての分割パラメータの集合tLiを、次の式(18)のように定義する。
tLi={t_1i,t_2i,・・・,t_c_ii} ・・・(18)
集合tLiは、組合せリストPLのi番目の要素のそれぞれについて定義される。集合tLiを用いて、前述の式(2)より各分割パラメータに対応する分割面が求められる。そして、求められた分割面に沿って、元の3次元物体をストライプ状に分割することで、i番目の要素のそれぞれに対応するストライプ状物体の形状データHiが求められる。形状データHiは、例えば、ストライプ状物体の表面形状を構成する多角形パッチの頂点座標を含む。
【0101】
組合せリストPLの要素にそれぞれ対応するストライプ状物体の形状データの集合HLを、次の式(19)によって定義する。形状データDB261aには、組合せリストPLとともに、形状データの集合HLも登録される。
HL={H1,H2,・・・,HNB} ・・・(19)
図13は、第5の実施の形態に係る画像処理装置の処理を示すフローチャートである。この図13のフローチャートは、1フレーム分の合成画像が出力される際の処理を示す。なお、図13では、図8と同じ処理が行われる処理ステップには同じ符号を付して示す。
【0102】
[ステップS51]入力デバイス271に対する入力操作により、カメラパラメータ、物体表示パラメータおよび合成パラメータが設定される。パラメータ設定部270は、入力デバイス271に対する入力操作に応じて、各パラメータを出力する。なお、出力された各パラメータは、例えば、画像処理装置200bが備えるRAM(図示せず)に一時的に記憶される。
【0103】
[ステップS52]形状データ選択部290は、パラメータ設定部270から出力されたカメラパラメータおよび物体表示パラメータを用いて、前述の式(6)を演算し、距離Wを算出する。
【0104】
[ステップS53]形状データ選択部290は、形状データDB261cに登録された組合せリストPLから、パラメータ設定部270から出力された焦点距離fcと、ステップS52で算出した距離Wとにそれぞれ最も近い値が設定された要素を検索し、その要素番号iを認識する。
【0105】
[ステップS54]形状データ選択部290は、形状データDB261cに登録された形状データの集合HLから、ステップS53で認識した要素番号iに対応するストライプ状物体の形状データを読み出す。形状データ選択部290は、読み出したストライプ状物体の形状データを、例えば、画像処理装置200bが備えるRAMに一時的に記憶される。
【0106】
この後、図8に示したステップS13〜S16の処理が実行される。ただし、ステップS13において、データ変換部240は、カメラパラメータおよび物体表示パラメータをパラメータ設定部270から取得するとともに、ステップS54で形状データ選択部290が形状データDB261cから読み出した形状データを用いて、変換処理を行う。また、ステップS16において、画像合成部220は、合成パラメータをパラメータ設定部270から取得する。
【0107】
以上説明した第5の実施の形態では、第4の実施の形態と同様に、合成画像に映るストライプ状物体が小さくなった場合でも、除去された領域が細かくなり過ぎなくなり、元の3次元物体の表面形状を把握しやすくなる。さらに、第5の実施の形態では、それぞれ異なる分割パラメータを用いて元の3次元物体から変形された複数のストライプ状物体のそれぞれの形状データが、形状データDB261cにあらかじめ登録される。このため、設定されるカメラパラメータごとにストライプ状物体の形状データを演算する必要がなくなり、第4の実施の形態と比較して、画像処理装置での演算負荷が軽減される。
【0108】
なお、上記各実施の形態における画像処理装置あるいは画像表示システムは、例えば、全周囲立体モニタシステム(非特許文献1を参照)に適用することができる。全周囲立体モニタシステムは、車両の周囲を撮影した画像を、車両の後方などの任意の視点から見た俯瞰画像に変換するとともに、俯瞰画像上に同じ視点から見た車両の仮想画像を合成することで、運転者の運転操作を補助するものである。
【0109】
上記各実施の形態における画像処理装置の処理を、俯瞰画像上に車両の仮想画像を合成する処理に適用することにより、例えば、俯瞰画像に存在する物体のうち、車両の仮想画像によって隠れてしまう物体を、合成画像上で視認できるようになり、車両の周囲の障害物を運転者が認識しやすくなる。さらに、車両の仮想画像の表面形状を運転者が認識しやすくなり、車両の周囲の障害物と車両との位置関係を運転者がより正確に把握できるようになる。
【0110】
なお、上記の各実施の形態における画像処理装置の処理は、例えば、次の図14のようなハードウェア構成のコンピュータにおいて実現することもできる。
図14は、コンピュータのハードウェア構成例を示す図である。
【0111】
図14に示すコンピュータ400は、CPU(Central Processing Unit)401によって装置全体が制御されている。CPU401には、バス409を介して、RAM402と複数の周辺機器が接続されている。
【0112】
RAM402は、コンピュータ400の主記憶装置として使用される。RAM402には、CPU401に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM402には、CPU401による処理に必要な各種データが格納される。
【0113】
バス409に接続されている周辺機器としては、HDD403、グラフィック処理装置404、入力I/F(インタフェース)405、光学ドライブ装置406、ネットワークI/F407および通信I/F408がある。
【0114】
HDD403は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD403は、コンピュータ400の二次記憶装置として使用される。HDD403には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0115】
グラフィック処理装置404には、モニタ404aが接続されている。グラフィック処理装置404は、CPU401からの命令に従って、画像をモニタ404aに表示させる。なお、モニタ404aは、例えば、LCDである。また、モニタ404aは、コンピュータ400の本体と一体化されていてもよい。
【0116】
入力I/F405には、キーボード405aおよびマウス405bが接続されている。入力I/F405は、キーボード405aやマウス405bからの出力信号をCPU401に送信する。なお、マウス405bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。また、キーボード405aなどの入力デバイスは、コンピュータ400の本体と一体化されていてもよい。
【0117】
光学ドライブ装置406は、レーザ光などを利用して、光ディスク406aに記録されたデータの読み取りを行う。光ディスク406aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク406aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。
【0118】
ネットワークI/F407は、ネットワーク407aに接続されている。ネットワークI/F407は、ネットワーク407aを介して他の機器との間でデータを送受信する。
通信I/F408には、撮像装置408aが接続されている。通信I/F408は、撮像装置408aから出力された画像信号を、CPU401に対して出力する。なお、撮像装置408aからの出力画像信号がアナログ信号である場合、通信I/F408は、撮像装置408aからの出力画像信号をデジタル化する機能を備えていてもよい。
【0119】
ここで、図1,図6,図9,図10,図12にそれぞれ示した画像処理装置内の各機能ブロックの処理は、例えば、上記コンピュータ400のCPU401が所定のプログラムを実行することで実現される。また、これらの画像処理装置内の少なくとも一部の機能ブロックの処理は、例えば、グラフィック処理装置404などの専用の回路によって実現されてもよい。
【0120】
このように、上記の各実施の形態における画像処理装置の処理機能は、コンピュータによって実現することができる。その場合、各画像処理装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0121】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0122】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0123】
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有することを特徴とする画像処理装置。
【0124】
(付記2) 前記第1の3次元物体から除去される領域の切断面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うことを特徴とする付記1記載の画像処理装置。
【0125】
(付記3) 前記第2の3次元物体の表面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の基準平面に平行な複数の分割面に沿って、前記第1の3次元物体の表面がストライプ状に除去された形状をなすことを特徴とする付記2記載の画像処理装置。
【0126】
(付記4) 前記基準平面は、前記画像合成部での合成処理時に前記第2の3次元物体が射影される3次元座標空間における水平面と一致することを特徴とする付記3記載の画像処理装置。
【0127】
(付記5) 前記画像出力部は、前記画像合成部から出力される画像における前記第2の3次元物体の見え方を決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする付記3または4記載の画像処理装置。
【0128】
(付記6) 前記画像出力部は、前記画像合成部から出力される画像に現れる前記第1の画像の大きさを決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする付記5記載の画像処理装置。
【0129】
(付記7) 前記第2の3次元物体は、前記第1の3次元物体の複数箇所が除去されることによって前記複数の部位に分割されたものであることを特徴とする付記1〜4のいずれか1つに記載の画像処理装置。
【0130】
(付記8) 前記画像出力部は、前記第1の3次元物体の表面形状を定義した形状データを基に、前記第2の3次元物体の形状データを算出し、算出した形状データを基に前記第1の画像を出力することを特徴とする付記1〜7のいずれか1つに記載の画像処理装置。
【0131】
(付記9) 前記第2の3次元物体の表面形状を示す形状データは、記憶装置にあらかじめ記憶され、
前記画像出力部は、前記記憶装置から読み出した形状データを基に前記第1の画像を出力することを特徴とする付記1〜7のいずれか1つに記載の画像処理装置。
【0132】
(付記10) 第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有する画像処理装置と、
前記画像合成部によって合成された画像を表示する表示装置と、
を有することを特徴とする画像表示システム。
【0133】
(付記11) 画像を撮像し、撮像画像を前記画像処理装置に入力する撮像装置をさらに有し、
前記第2の画像は、前記撮像画像に基づく画像である、
ことを特徴とする付記10記載の画像表示システム。
【0134】
(付記12) コンピュータに、
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を、第2の画像に対して半透明状態で合成する、
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【0135】
1 画像処理装置
2 画像出力部
3 画像合成部
11,12 物体
11a,11b 平板
12a〜12c 部位
13 背景画像
13a 背景物体
14 合成画像
20 基準平面
21〜24 分割面
【特許請求の範囲】
【請求項1】
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有することを特徴とする画像処理装置。
【請求項2】
前記第1の3次元物体から除去される領域の切断面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記第2の3次元物体の表面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の基準平面に平行な複数の分割面に沿って、前記第1の3次元物体の表面がストライプ状に除去された形状をなすことを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記画像出力部は、前記画像合成部から出力される画像における前記第2の3次元物体の見え方を決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする請求項3記載の画像処理装置。
【請求項5】
前記画像出力部は、前記画像合成部から出力される画像に現れる前記第1の画像の大きさを決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする請求項4記載の画像処理装置。
【請求項6】
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有する画像処理装置と、
前記画像合成部によって合成された画像を表示する表示装置と、
を有することを特徴とする画像表示システム。
【請求項7】
画像を撮像し、撮像画像を前記画像処理装置に入力する撮像装置をさらに有し、
前記第2の画像は、前記撮像画像に基づく画像である、
ことを特徴とする請求項6記載の画像表示システム。
【請求項8】
コンピュータに、
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を、第2の画像に対して半透明状態で合成する、
処理を実行させることを特徴とする画像処理プログラム。
【請求項1】
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有することを特徴とする画像処理装置。
【請求項2】
前記第1の3次元物体から除去される領域の切断面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の平面に沿うことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記第2の3次元物体の表面は、前記第1の3次元物体の形状データが定義された3次元座標空間における所定の基準平面に平行な複数の分割面に沿って、前記第1の3次元物体の表面がストライプ状に除去された形状をなすことを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記画像出力部は、前記画像合成部から出力される画像における前記第2の3次元物体の見え方を決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする請求項3記載の画像処理装置。
【請求項5】
前記画像出力部は、前記画像合成部から出力される画像に現れる前記第1の画像の大きさを決定するパラメータに基づいて、前記第2の3次元物体において前記第1の3次元物体から除去された領域の数を決定することを特徴とする請求項4記載の画像処理装置。
【請求項6】
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を出力する画像出力部と、
前記画像出力部から出力された前記第1の画像を半透明状態で第2の画像に合成する画像合成部と、
を有する画像処理装置と、
前記画像合成部によって合成された画像を表示する表示装置と、
を有することを特徴とする画像表示システム。
【請求項7】
画像を撮像し、撮像画像を前記画像処理装置に入力する撮像装置をさらに有し、
前記第2の画像は、前記撮像画像に基づく画像である、
ことを特徴とする請求項6記載の画像表示システム。
【請求項8】
コンピュータに、
第1の3次元物体の一部が除去されることによって前記第1の3次元物体が複数の部位に分割された第2の3次元物体の表面形状を示す第1の画像を、第2の画像に対して半透明状態で合成する、
処理を実行させることを特徴とする画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−118910(P2012−118910A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−270182(P2010−270182)
【出願日】平成22年12月3日(2010.12.3)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願日】平成22年12月3日(2010.12.3)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]