(58)【調査した分野】(Int.Cl.,DB名)
前記映像出力用視点変換テーブルは、前記視点変換映像の各座標について、前記視点変換部が該視点変換映像を生成する際に参照すべき前記入力映像の座標が記述された座標テーブルであり、
前記視点変換部は、前記座標テーブルに従って、前記視点変換映像の各座標について前記入力映像の画素値を参照することで前記視点変換映像を生成する、
請求項1に記載の映像変換装置。
一の仮想回転角に対応する補正用視点変換テーブルは、該仮想回転角で視点を回転させたときの視点変換映像の各座標について、前記視点変換部が該視点変換映像を生成する際に参照すべき前記入力映像の座標が記述された座標テーブルの理想値を、該仮想回転角の回転に対応する射影変換行列の逆行列で射影変換して生成される座標テーブルである、
請求項1または2に記載の映像変換装置。
前記記憶部は、{−A,0,+A}から選択されるパン角と、{−B,0,+B}から選択されるチルト角との組み合わせからなる9通りの仮想回転角(ただし、A、Bはいずれも正の数)にそれぞれ対応する9通りの補正用視点変換テーブルを記憶する、
請求項4に記載の映像変換装置。
【発明を実施するための形態】
【0011】
実施形態の第1の態様に係る映像変換装置は、
入力映像の視点を変換する映像変換装置であって、
前記入力映像の視点から視点を回転させる際の回転角を入手する回転角入手部と、
前記回転角の回転に対応する射影変換行列を算出する射影変換行列算出部と、
記憶部に記憶された、複数の仮想回転角にそれぞれ対応する複数の補正用視点変換テーブルの間を補間して、前記回転角に対応する補正用視点変換テーブルを生成する補正用視点変換テーブル生成部と、
前記回転角に対応する補正用視点変換テーブルを、前記回転角の回転に対応する射影変換行列で射影変換して、映像出力用視点変換テーブルを生成する映像出力用視点変換テーブル生成部と、
前記映像出力用視点変換テーブルに基づいて、前記入力映像を変換して視点変換映像を生成する視点変換部と、
を備える。
【0012】
このような態様によれば、入力映像に対して歪を補正した補正映像を作成してメモリに一次記憶させ該補正映像に対して視点変換操作を行うのではなく、視点を回転させたときに生じる歪の誤差込みの映像出力用視点変換テーブルを用意し、該映像出力用視点変換テーブルに基づいて入力映像に対して視点変換操作を行うので、視点変換演算に必要なメモリの容量を削減できる。
【0013】
実施形態の第2の態様に係る映像変換装置は、第1の態様に係る映像変換装置であって、
前記映像出力用視点変換テーブルは、前記視点変換映像の各座標について、前記視点変換部が該視点変換映像を生成する際に参照すべき前記入力映像の座標が記述された座標テーブルであり、
前記視点変換部は、前記座標テーブルに従って、前記視点変換映像の各座標について前記入力映像の画素値を参照することで前記視点変換映像を生成する。
【0014】
実施形態の第3の態様に係る映像変換装置は、第1または2の態様に係る映像変換装置であって、
一の仮想回転角に対応する補正用視点変換テーブルは、該仮想回転角で視点を回転させたときの視点変換映像の各座標について、前記視点変換部が該視点変換映像を生成する際に参照すべき前記入力映像の座標が記述された座標テーブルの理想値を、該仮想回転角の回転に対応する射影変換行列の逆行列で射影変換して生成される座標テーブルである。
【0015】
実施形態の第4の態様に係る映像変換装置は、第1〜3のいずれかの態様に係る映像変換装置であって、
前記仮想回転角は、パン成分およびチルト成分から構成される。
【0016】
実施形態の第5の態様に係る映像変換装置は、第4の態様に係る映像変換装置であって、
前記記憶部は、{−A,0,+A}から選択されるパン角と、{−B,0,+B}から選択されるチルト角との組み合わせからなる9通りの仮想回転角(ただし、A、Bはいずれも正の数)にそれぞれ対応する9通りの補正用視点変換テーブルを記憶する。
【0017】
実施形態の第6の態様に係る撮像装置は、
レンズを通った光を撮像素子により電気信号に変換して前記入力映像を生成するカメラ部と、
第1〜5のいずれかの態様に係る映像変換装置と、
を備える。
【0018】
実施形態の第7の態様に係る撮像装置は、第6の態様に係る撮像装置であって、
前記レンズは、魚眼レンズである。
【0019】
実施形態の第8の態様に係る撮像装置は、第6または7の態様に係る撮像装置であって、
前記カメラ部は、車両周辺を撮影して前記入力映像を生成する。
【0020】
実施形態の第9の態様に係る映像変換プログラムは、
入力映像の視点を変換する処理をコンピュータに実行させる映像変換プログラムであって、
前記入力映像の視点から視点を回転させる際の回転角を入手するステップと、
前記回転角の回転に対応する射影変換行列を算出するステップと、
記憶部に記憶された、複数の仮想回転角にそれぞれ対応する複数の補正用視点変換テーブルの間を補間して、前記回転角に対応する補正用視点変換テーブルを生成するステップと、
前記回転角に対応する補正用視点変換テーブルを、前記回転角の回転に対応する射影変換行列で射影変換して、映像出力用視点変換テーブルを生成するステップと、
前記映像出力用視点変換テーブルに基づいて、前記入力映像を変換して視点変換映像を生成するステップと、
をコンピュータに実行させる。
【0021】
実施形態の第10の態様に係る記録媒体は、第9の態様に係る映像変換プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0022】
実施形態の第11の態様に係る映像変換方法は、
入力映像の視点を変換する映像変換方法であって、
前記入力映像の視点から視点を回転させる際の回転角を入手するステップと、
前記回転角の回転に対応する射影変換行列を算出するステップと、
記憶部に記憶された、複数の仮想回転角にそれぞれ対応する複数の補正用視点変換テーブルの間を補間して、前記回転角に対応する補正用視点変換テーブルを生成するステップと、
前記回転角に対応する補正用視点変換テーブルを、前記回転角の回転に対応する射影変換行列で射影変換して、映像出力用視点変換テーブルを生成するステップと、
前記映像出力用視点変換テーブルに基づいて、前記入力映像を変換して視点変換映像を生成するステップと、
を備える。
【0023】
本明細書中において、映像について「視点」というときは、当該映像がカメラで撮影されたと想定したときのそのカメラの位置および角度を含み、さらにカメラの画角(映像の拡大縮小率)を含んでもよい。
【0024】
以下に、添付の図面を参照して、実施の形態の具体例を詳細に説明する。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一符号の構成要素の詳しい説明は繰り返さない。
【0025】
(撮像装置の構成)
図1は、第1の実施形態に係る撮像装置1の構成を示すブロック図である。
【0026】
図1に示すように、撮像装置1は、カメラ部10と、映像変換装置の一例である映像変換部20と、フレームメモリ30と、出力部40と、を有している。まず、撮像装置1の構成要素のうち、映像変換部20以外の構成要素、すなわち、カメラ部10、フレームメモリ30、出力部40について説明する。
【0027】
カメラ部10は、たとえば車両の後部や前部、サイドミラーなどに取り付けられる車載カメラであり、車両周辺を撮影することで入力映像を生成する。カメラ部10は、レンズ11と、撮像素子12と、を有している。
【0028】
レンズ11は、被写体からの光を撮像素子12に結像する。本実施の形態では、レンズ11として、魚眼レンズ(超広角レンズともいう)が用いられる。この場合、一台のカメラでより広い範囲の映像を取得することができる。魚眼レンズの画角は、140°以上であってもよいし、180°以上であってもよいし、200°以上であってもよい。
【0029】
撮像素子12は、レンズ11により結像した像を電気信号に変換して入力映像を生成する。撮像素子12としては、たとえば、CCD(Charge Coupled Device)型イメージセンサやCMOS(Commplementary Metal Oxide Semiconductor)型イメージセンサなどの固体撮像素子が用いられる。
【0030】
フレームメモリ30は、カメラ部10により生成された入力映像を1フレーム分記憶し、映像変換部20に入力映像を出力するとともに、映像変換部20により生成される視点変換映像を1フレーム分記憶し、出力部40に視点変換映像を出力する。
【0031】
出力部40は、液晶ディスプレイなどの映像表示手段(図示しない)に対するインターフェースであり、フレームメモリ30に一次記憶された視点変換映像を該映像表示手段に出力する。
【0032】
次に、映像変換部20について説明する。
【0033】
図1に示すように、映像変換部20は、回転角入手部21と、射影変換行列算出部22と、補正用視点変換テーブル生成部23と、映像出力用視点変換テーブル生成部24と、視点変換部25と、記憶部26とを有している。
【0034】
回転角入手部21は、入力映像の視点から視点を回転させる際の回転角R(パンθx、チルトθy、ロールθz)を入手する。たとえば、車体に対するカメラ部20の取り付け位置の誤差角度が、工場出荷前に予め測定されて図示しない記憶媒体に予め記憶されており、回転角入手部12は、車体に対するカメラ部20の取り付け位置の誤差角度を、回転角Rとして該記憶媒体から入手してもよい。また、カメラを向けたい方向がユーザにより図示しない入力部を介して入力された場合には、回転角入手部12は、ユーザにより入力されたカメラの向きに対応する角度を、回転角Rとして該入力部から入手してもよい。
【0035】
射影変換行列算出部22は、回転角入手部21が入手した回転角Rの回転に対応する射影変換行列Rxyz(R)を算出する。ここで、回転角R(パンθx、チルトθy、ロールθz)の回転に対応する射影変換行列Rxyz(R)は、下式(1)により規定される。
【数1】
【0036】
記憶部26には、複数の仮想回転角にそれぞれ対応する複数の補正用視点変換テーブルPaoが予め算出されて記憶されている。
【0037】
本実施の形態では、
図6に示すように、記憶部26には、{−A,0,+A}から選択されるパン角θxと、{−B,0,+B}から選択されるチルト角θyとの組み合わせからなる9通りの仮想回転角R1(0,0)、R2(+A,0)、R3(+A,+B)、R4(0,+B)、R5(−A,+B)、R6(−A,0)、R7(−A,−B)、R8(0,−B)、R9(+A,−B)(ただし、A、Bはいずれも正の数)にそれぞれ対応する、9通りの補正用視点変換テーブルPao(R1)…Pao(R9)が記憶されている。なお、A,Bは、設計時に予想される回転角の最大値であり、たとえば、回転角Rが取付位置の誤差角度の場合には、A,Bはいずれも5°程度であればよい。
【0038】
ここで、一の仮想回転角Rm(m=1〜9)に対応する補正用視点変換テーブルPao(Rm)とは、該仮想回転角Rmで視点を回転させたときの視点変換映像(
図5(b)参照)の各座標(x,y)について、後述する視点変換部25が該視点変換映像を生成する際に参照すべき入力映像(
図5(a)参照)の座標(x’,y’)が記述された座標テーブル(
図5(c)参照)の理想値Pa(Rm)を、該仮想回転角Rmの回転に対応する射影変換行列Rxyz(Rm)の逆行列で射影変換して生成される座標テーブルである(Pao(Rm)=Rxyz(Rm)
-1Pa(Rm))。補正用視点変換テーブルPaoの算出方法および座標テーブルの理想値Paの算出方法については、後述する。
【0039】
本実施の形態では、カメラ部10のレンズ11に魚眼レンズが使用されているため、カメラ部10のロール方向の回転θzに対して、入力映像におけるレンズ歪は一定である。そのため、記憶部26では、ロール角θzは無視して、パン角θxとチルト角θyとの組み合わせからなる複数の仮想回転角Rにそれぞれ対応する複数の補正用視点変換テーブルPaoが記憶されている。カメラ部10のレンズ11として、カメラ部10のロール方向の回転θzに対して、入力映像におけるレンズ歪が変化するレンズが使用される場合には、記憶部26には、パン角θxとチルト角θyとロール角θzとの組み合わせからなる複数の仮想回転角Rにそれぞれ対応する複数の補正用視点変換テーブルPaoが記憶されていればよい。
【0040】
補正用視点変換テーブル生成部23は、記憶部26に記憶された、複数の仮想回転角R1…R9)にそれぞれ対応する複数の補正用視点変換テーブルPao(R1)…Pao(R9)の間を補間して、回転角入手部21が入手した回転角Rに対応する補正用視点変換テーブルPao(R)を生成する。
【0041】
たとえば、回転角入手部21が入手した回転角Rが(+A/3,+B/3)の場合(
図6参照)、補正用視点変換テーブル生成部23は、仮想回転角R1(0,0)に対応する補正用視点変換テーブルPao(R1)(
図7(a)参照)と、仮想回転角R3(+A,+B)に対応する補正用視点変換テーブルPao(R2)(
図7(b)参照)との間を線形補間して、回転角R(+A/3,+B/3)に対応する補正用視点変換テーブルPao(R)(
図7(c)参照)を生成する。
【0042】
より詳しくは、仮想回転角R1(0,0)に対応する補正用視点変換テーブルPao(R1)のある座標の参照座標値が(x1、y1)であり、仮想回転角R1(0,0)に対応する補正用視点変換テーブルPao(R1)の同じ座標の参照座標値が(x2、y2)である場合、補正用視点変換テーブル生成部23は、回転角R(+A/3,+B/3)に対応する補正用視点変換テーブルPao(R)の同じ座標の参照座標値を(x1+(x2−x1)/3,y1+(y2−y1)/3)により算出する。補正用視点変換テーブル生成部23は、補正用視点変換テーブルPaoの各座標について同様の計算を実行することで、回転角R(+A/3,+B/3)に対応する補正用視点変換テーブルPao(R)を生成する。
【0043】
映像出力用視点変換テーブル生成部24は、回転角入手部21が入手した回転角Rに対応する補正用視点変換テーブルPao(R)を、回転角入手部21が入手した回転角の回転に対応する射影変換行列Rxyz(R)で射影変換して、映像出力用視点変換テーブルPを生成する(P=Rxyz(R)Pao(R))。
【0044】
ここで、映像出力用視点変換テーブルPとは、視点変換映像(
図5(b)参照)の各座標について、後述する視点変換部25が該視点変換映像を生成する際に参照すべき入力映像(
図5(a)参照)の座標が記述された座標テーブル(
図5(c)参照)である。
【0045】
視点変換部25は、映像出力用視点変換テーブルPに基づいて、入力映像を変換して視点変換映像を生成する。より詳しくは、視点変換部25は、映像出力用視点変換テーブルP(
図5(c)参照)に従って、視点変換映像(
図5(b)参照)の各座標について入力映像(
図5(a)参照)の画素値を参照することで、視点変換映像を生成する。
【0046】
(撮像装置の動作)
次に、
図2および
図3を参照し、第1の実施形態に係る撮像装置1の動作について説明する。
図2は、第1の実施形態に係る撮像装置1の動作を示すフローチャートである。
図3は、第1の実施形態に係る撮像装置1による視点変換操作を示すフローチャートである。
【0047】
図2に示すように、まず、カメラ部11により被写体(たとえば車両周辺)が撮影され、入力映像が生成される(ステップS11)。生成された入力映像は、フレームメモリ30に一次記憶される(ステップS12)。
【0048】
次に、映像変換部20により入力映像に対して視点変換操作が行われ、視点変換映像が生成される(ステップS13)。
【0049】
より詳しくは、
図3に示すように、回転角入手部21が、入力映像の視点から視点を回転させる際の回転角R(パンθx、チルトθy、ロールθz)を入手する(ステップS21)。
【0050】
次に、射影変換行列算出部22が、回転角入手部21により入手された回転角Rの回転に対応する射影変換行列Rxyz(R)を算出する(ステップS22)。
【0051】
また、補正用視点変換テーブル生成部23が、記憶部26に記憶された、複数の仮想回転角R1…R9にそれぞれ対応する複数の補正用視点変換テーブルPao(R1)…Pao(R9)の間を補間して、回転角入手部21により入手された回転角Rに対応する補正用視点変換テーブルPao(R)を生成する(ステップS23)。
【0052】
次に、映像出力用視点変換テーブル生成部24が、補正用視点変換テーブル生成部23により生成された、回転角Rに対応する補正用視点変換テーブルPao(R)を、射影変換行列算出部22により算出された、回転角Rの回転に対応する射影変換行列Rxyzで射影変換して、映像出力用視点変換テーブルPを生成する(ステップS24)。
【0053】
次に、視点変換部25が、映像出力用視点変換テーブル生成部24により生成された映像出力用視点変換テーブルPに基づいて、入力映像を変換して視点変換映像を生成する(ステップS25)。より詳しくは、視点変換部25は、映像出力用視点変換テーブルP(
図5(c)参照)に従って、視点変換映像(
図5(b)参照)の各座標について入力映像(
図5(a)参照)の画素値を参照することで、視点変換映像を生成する。
【0054】
次に、
図1に示すように、生成された視点変換映像が、フレームメモリ30に一次記憶される(ステップS14)。その後、出力部40により、視点変換映像が液晶ディスプレイなどの映像表示手段に出力される(ステップS15)。
【0055】
ところで、上記したように従来の車載カメラでは、
図8を参照し、カメラ部により生成された入力映像に対してレンズ歪を除去する操作が行われ、歪みのない補正映像が作成され(ステップS113)、作成された補正映像がフレームメモリに一次記憶されたのち(ステップS114)、補正映像に対して視点変換操作が行われることで、視点変換映像が生成される(ステップS115)。ここで、ステップS113において一度歪のない映像を作成することから、魚眼レンズを使用する場合には過大なコストがかかってしまう。すなわち、たとえば画角180°の映像に対して歪を除去する場合、歪のない映像では、像高rと半画角θとの関係が焦点距離fを用いてr=ftanθという関係が成り立つが、半画角θが90°付近では上記関係式に当てはめると像高rが無限大になってしまう。したがって、ステップS114において半画角θが90°付近の位置の歪のない映像を保持するには、膨大な容量のメモリが必要になる。
【0056】
これに対し、本実施の形態によれば、入力映像に対して歪を補正した補正映像を作成してメモリに一次記憶させ該補正映像に対して視点変換操作を行うのではなく、視点を回転させたときに生じる歪の誤差込みの映像出力用視点変換テーブルPを用意し(ステップS21〜S24)、該映像出力用視点変換テーブルPに基づいて入力映像に対して視点変換操作を行うので(ステップS25)、視点変換演算に必要なメモリの容量を大幅に削減することができる。
【0057】
(補正用視点変換テーブルPaoの算出)
次に、
図4を参照し、記憶部26に記憶される、複数の仮想回転角Rmにそれぞれ対応する複数の補正用視点変換テーブルPao(Rm)の算出方法を説明する。なお、以下の説明では、補正用視点変換テーブルPao(Rm)がコンピュータにより自動的に算出される方法を説明するが、該方法の一部または全部は作業者により手動で行われてもよい。
【0058】
まず、コンピュータは、視点の回転無しの視点変換テーブル(すなわち、ワイド、ナローといった画角変換のみを行う際の視点変換テーブル)を入手する(ステップS31)。
【0059】
次に、コンピュータは、対象とする仮想回転角Rmを選択する(ステップS32)。たとえば、コンピュータは、{−A,0,+A}から選択されるパン角θxと、{−B,0,+B}から選択されるチルト角θyとの組み合わせからなる9通りの仮想回転角R1(0,0)、R2(+A,0)、R3(+A,+B)、R4(0,+B)、R5(−A,+B)、R6(−A,0)、R7(−A,−B)、R8(0,−B)、R9(+A,−B)(ただし、A、Bはいずれも正の数)から、1つの仮想回転角Rmを選択する。
【0060】
次に、コンピュータは、選択した仮想回転角Rmに対応する射影変換行列Rxyz(Rm)を算出する(ステップS33)。
【0061】
次に、コンピュータは、後述する視点変換テーブルの理想値Paの算出方法に従って、選択した仮想回転角Rmで視点を回転したときの視点変換テーブルの理想値Pa(Rm)を算出する(ステップS34)。
【0062】
次に、コンピュータは、算出した視点変換テーブルの理想値(Rm)を、算出した射影変換行列Rxyz(Rm)の逆行列で射影変換することで、選択した仮想回転角Rmに対応する補正用視点変換テーブルPao(Rm)を生成する(Pao(Rm)=Rxyz(Rm)
-1Pa(Rm))(ステップS35)。生成された補正用視点変換テーブルPao(Rm)は、対応する仮想回転角Rmに紐づけられた態様で記憶部26に記憶される。
【0063】
次に、コンピュータは、9通りの仮想回転角R1…R9の中に未選択の仮想回転角Rm(すなわち、対応する補正用視点変換テーブルPaoがまだ生成されていない仮想回転角Rm)があるか否かを判断する(ステップS36)。
【0064】
未選択の仮想回転角Rmがあると判断された場合には、コンピュータは、ステップS32から処理をやり直す(ステップS36:YES)。一方、未選択の仮想回転角Rmが無いと判断された場合には、コンピュータは、補正用視点変換テーブルPao(Rm)の算出に係る処理を終了する。
【0065】
(視点変換テーブルの理想値Paの算出)
次に、視点変換テーブルの理想値Paを算出する方法について説明する。
【0066】
まず、撮像画像上の座標(xs,ys)を、一度レンズの中心から一定の距離にある三次元上の点(xc,yc,zc)(すなわち球面上の点)に投影してから、回転を加える。
【0067】
すなわち、レンズ歪は、テーブルを使って算出してもよいが、ここではレンズが、半画角θ、像高rのときにr=fθ(fは焦点距離)となる歪を持っているとすると、像高rは、下式(2)から算出できるので、半画角θは、下式(3)になる。
【数2】
【数3】
【0068】
また、撮像画像上の座標(xs,ys)の回転角φは、下式(4)で表現できるので、下式(5)から回転角φを算出できる。
【数4】
【数5】
【0069】
これら、半画角θ、回転角φの方向にある、レンズ中心からの距離1の三次元上の座標(xc,yc,zc)は、下式(6)から算出できる。
【数6】
【0070】
三次元上の座標(xc,yc,zc)を回転行列Rxyzで回転させた後の座標(Xc,Yc,Zc)は、下式(7)になる。
【数7】
【0071】
回転後の座標(Xc,Yc,Zc)に対して、レンズ歪みを加えた撮像画像上の座標(Xd,Yx)を、以下の手順で算出する。これにより、レンズ歪を考慮した回転を行うことができる。
【0072】
すなわち、回転後の座標(Xc,Yc,Zc)から、半画角θ、回転角φとすると、下式(8)および下式(9)が成り立つ。
【数8】
【数9】
【0073】
よって、下式(10)および下式(11)が成り立つ。
【数10】
【数11】
【0074】
レンズ歪の式r=fθから、レンズ歪を加えた撮像画像上の座標(Xd,Yd)は、下式(12)から算出できる。
【数12】
【0075】
上記手法により、撮像画像上の各座標(xs、ys)について、回転行列Rxyzで視点を回転させた後の撮像画像上の座標(Xd,Yd)の理想値を求めることができる。したがって、視点変換映像の各座標(Xd,Yd)について、視点変換前の座標(xs,ys)を逆に求めることで、視点変換テーブルの理想値Paが算出される。