(57)【特許請求の範囲】
【請求項１】
入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記入力画像を入力する画像入力部と、
前記入力画像を記憶する画像記憶部と、
前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶部と、
前記画像記憶部に記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正部と、
前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、
を備え、
前記補正テーブルは、地図投影法における円筒図法に基づいて、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けていることにより生成されたものであり、
前記補正緯度を算出する工程は、前記経度がλであり前記緯度がΦである場合に、関数ｆ（λ）を用いて前記補正緯度φを、
【数１】
0005555101.tif 000010
に従って算出し、
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域のうち絶対値が０以上（π／２）以下の領域に対して、
【数２】
0005555101.tif 000011
とされている
ことを特徴とする画像補正装置。
【請求項２】
入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記入力画像を入力する画像入力部と、
前記入力画像を記憶する画像記憶部と、
地図投影法における円筒図法に基づいて、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより、前記画像記憶部に記憶された前記入力画像を幾何補正する幾何補正部と、
前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、を備え、
前記幾何補正部は、前記補正緯度を算出する工程において、前記経度がλであり前記緯度がΦである場合に、関数ｆ（λ）を用いて前記補正緯度φを、
【数３】
0005555101.tif 000012
に従って算出し、
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域のうち絶対値が０以上（π／２）以下の領域に対して、
【数４】
0005555101.tif 000013
とされている
ことを特徴とする画像補正装置。
【請求項３】
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域の内部における最小値が、０より大きく１より小さい所定の値以上とされている
ことを特徴とする請求項１または請求項２に記載の画像補正装置。
【請求項４】
前記関数ｆ（λ）／ｃｏｓ（λ）は、広義単調増加する
ことを特徴とする請求項１ないし請求項３のいずれか１項に記載の画像補正装置。
【請求項５】
入力画像を幾何補正して補正画像を生成する補正画像生成方法であって、
前記入力画像を入力する画像入力ステップと、
前記入力画像を記憶する画像記憶ステップと、
前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶ステップと、
前記画像記憶ステップにより記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正ステップと、
前記幾何補正ステップにより補正された前記入力画像を前記補正画像として出力する画像出力ステップと、
を含み、
前記補正テーブルは、地図投影法における円筒図法に基づいて、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けていることにより生成されたものであり、
前記補正緯度を算出する工程は、前記経度がλであり前記緯度がΦである場合に、関数ｆ（λ）を用いて前記補正緯度φを、
【数５】
0005555101.tif 000014
に従って算出し、
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域のうち絶対値が０以上（π／２）以下の領域に対して、
【数６】
0005555101.tif 000015
とされている
ことを特徴とする補正画像生成方法。
【請求項６】
入力画像を幾何補正して補正画像を生成する補正画像生成方法であって、
前記入力画像を入力する画像入力ステップと、
前記入力画像を記憶する画像記憶ステップと、
地図投影法における円筒図法に基づいて、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより、前記画像記憶ステップにより記憶された前記入力画像を幾何補正する幾何補正ステップと、
前記幾何補正ステップにより補正された前記入力画像を前記補正画像として出力する画像出力ステップと、
を含み、
前記補正緯度を算出する工程は、前記経度がλであり前記緯度がΦである場合に、関数ｆ（λ）を用いて前記補正緯度φを、
【数７】
0005555101.tif 000016
に従って算出し、
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域のうち絶対値が０以上（π／２）以下の領域に対して、
【数８】
0005555101.tif 000017
とされている
ことを特徴とする補正画像生成方法。
【請求項７】
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域の内部における最小値が、０より大きく１より小さい所定の値以上とされている
ことを特徴とする請求項５または請求項６に記載の補正画像生成方法。
【請求項８】
前記関数ｆ（λ）／ｃｏｓ（λ）は、広義単調増加する
ことを特徴とする請求項５ないし請求項７のいずれか１項に記載の補正画像生成方法。
【請求項９】
請求項５ないし請求項８のいずれか１項に記載の補正画像生成方法を実行するための補正画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像を幾何補正して出力画像を生成するための画像補正装置、補正画像生成方法および補正画像生成プログラムの技術に関する。
【背景技術】
【０００２】
近年、監視カメラやテレビドアホンを始めとする幾つかの応用分野において、広い視野範囲の映像を一望したいという要求が出てきている。その要求を満たす一つの解として、光学系に魚眼レンズを採用し、水平画角１８０度程度の範囲を撮影するビデオカメラ等が実用化されている。しかし、それらの機器を用いて撮影した画像では、一般に、被写体空間中の直線が大きく湾曲して写っているため、撮影した画像に対して湾曲の度合いを低減するための幾何補正を施したいという要求がある。
【０００３】
魚眼レンズには、その設計方針の違いにより、等距離射影方式、等立体角射影方式、正射影方式等、様々な射影方式が存在する。しかし、いずれの射影方式であっても、補正後の画像において表現すべき画角が１８０度未満であれば、透視変換を用いることで、魚眼レンズを用いて撮影された画像（以下、「魚眼画像」という。）における直線の湾曲を、設計値や従来技術によって推定された所与のパラメータと射影モデルとに基づいて、完全に補正することができる。
【０００４】
魚眼画像の例を図１３（ａ）に示す。また、この魚眼画像を透視変換を用いて左右方向の画角が広く確保されるように補正した例を図１３（ｂ）に示す。図１３（ｂ）に示すように、透視変換を用いた補正結果は、直線となるべき部分は直線に補正されているものの、画像の周辺部が極端に引き伸ばされて、遠近感が強調されており、違和感の大きな画像となっている。これは、補正した結果の画像で表現されている画角と、この画像を見る際の画角とが大きく異なることによって生じる課題である。
【０００５】
この課題を解決すべく考案された技術として特許文献１に記載の技術がある。特許文献１に記載の技術は、各々が略平面である正面と左右面とを滑らかにつないだ筒面を利用して、左右方向に１８０度を超える画角を確保しつつ、上下方向に伸びる直線状の被写体と光軸に向かう直線状の被写体が各々直線に見えるように、補正するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３１１８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術では、出力画像の中心部分と左右端部分との中間付近で横方向の直線が急激に湾曲するため、例えば、被写体がカメラの前を横断するような場合において、違和感を覚えるという問題がある。
【０００８】
そこで、本発明は、前記問題に鑑みてなされたものであり、補正後の画像における違和感を低減ないし解消することができる画像補正装置、補正画像生成方法、補正テーブル生成装置、補正テーブル生成方法、補正テーブル生成プログラムおよび補正画像生成プログラムを提供することを課題とする。例えば、図１３（ａ）の魚眼画像を補正して、図１３（ｄ）のような補正結果を得る方法を提供することが目的となる。従来技術であるメルカトル図法をそのまま用いて補正した結果の一例である図１３（ｃ）と比較して、図１３（ｄ）では、地平線の湾曲が抑えられているのがわかる。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の画像補正装置は、入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記入力画像を入力する画像入力部と、
前記入力画像を記憶する画像記憶部と、
前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶部と、
前記画像記憶部に記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正部と、
前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、
を備え、
前記補正テーブルは、地図投影法における円筒図法に基づいて、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより生成されたものであり、
前記補正緯度を算出する工程は、前記経度がλであり前記緯度がΦである場合に、関数ｆ（λ）を用いて前記補正緯度φを、
【数１】
0005555101.tif 000002
に従って算出し、
前記関数ｆ（λ）は、補正に使用される前記経度λの定義域のうち絶対値が０以上（π／２）以下の領域に対して、
【数２】
0005555101.tif 000003
とされている
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、補正後の画像における違和感を低減ないし解消することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像補正装置の構成を説明する図である。
【図２】本発明の補正テーブルを模式的に示す図である。
【図３】本発明の画像補正装置における幾何補正部の動作を示すフローチャートである。
【図４】本発明の第１実施形態に係る補正テーブル生成装置の構成を示すブロック図である。
【図５】本発明の出力画像の画素座標と入力画像の座標を対応させるための座標系の変換を説明する図であり、（ａ）は、出力画像の座標系を示す図である。（ｂ）は、経度緯度座標系を示す図である。
【図６】本発明の出力画像の画素座標と入力画像の座標を対応させるための座標系の変換を説明する図であり、（ａ）は、経度と緯度に基づいて、光線方向ベクトルを求めるための座標系を示す図である。（ｂ）は、入力画像の座標系を示す図である。
【図７】被写体空間中の直線が出力画像上で湾曲する場合と湾曲しない場合を説明するための図である。
【図８】本発明の第１実施形態に係る補正テーブル生成装置における補正緯度算出部が緯度を補正する際に用いる関数を説明する図である。
【図９】本発明の第１実施形態に係る補正テーブル生成装置の動作を示すフローチャートである。
【図１０】本発明の第１実施形態に係る補正テーブル生成装置における経度緯度算出部、補正緯度算出部および光線方向ベクトル算出部の動作を示すフローチャートである。
【図１１】本発明の第２実施形態に係る補正テーブル生成装置の構成を示すブロック図である。
【図１２】本発明の第２実施形態に係る補正テーブル生成装置の動作を示すフローチャートである。
【図１３】魚眼画像（入力画像）に従来技術および本発明を適用した結果を示す図であり、（ａ）は、魚眼画像（入力画像）を示す図である。（ｂ）は、（ａ）の魚眼画像（入力画像）に従来技術である透視変換を用いて補正した結果の補正画像（出力画像）の一例である。（ｃ）は、（ａ）の魚眼画像（入力画像）に従来技術であるメルカトル図法をそのまま用いて補正した結果の補正画像（出力画像）の一例である。（ｄ）は、本発明を適用した結果の補正画像（出力画像）の一例である。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
以下、本発明（画像補正装置、補正画像生成方法および補正画像生成プログラム）の第１実施形態について、図１〜図１０を参照して説明する。 
図１に示すように、本発明に係る画像補正装置１０は、魚眼画像などの入力画像を取り込んで、その画像を補正し、補正画像を出力画像として出力するものである。
画像生成装置３０は、画像データを生成して画像補正装置１０に供給するものである。本実施形態では、画像生成装置３０は、水平画角１８０度の等距離射影方式の魚眼レンズを備えたデジタルビデオカメラである場合を例として説明する。
画像表示装置４０は、画像補正装置１０で補正された補正画像（出力画像）を表示するディスプレイである。
【００１３】
本発明に係る補正テーブル生成装置２０は、画像補正装置１０の後記する補正テーブル記憶部１５に格納する補正テーブル１７を生成するものである。補正テーブル生成装置２０は、例えば、パーソナルコンピュータで構成される。
補正テーブル生成装置２０は、補正テーブル１７を生成した後、幾何補正部１３がこの補正テーブル１７を用いた幾何補正処理を実施するより前に、この補正テーブル１７を画像補正装置１０に送信する。
なお、補正テーブル１７の更新が必要ない場合、即ち、補正テーブル１７の生成に関係するパラメータに変更がない場合には、補正テーブル生成装置２０は生成した補正テーブル１７を送信した後、画像補正装置１０から切り離しておくことができる。
【００１４】
[画像補正装置１０の構成]
図１に示すように、画像補正装置１０は、画像入力部１１と、画像記憶部１２と、幾何補正部１３と、画像出力部１４と、補正テーブル記憶部１５と、補正テーブル更新部１６とを備えている。
【００１５】
画像入力部１１は、画像生成装置３０から供給される入力画像を読み込んで、画像記憶部１２に書き込むものである。読み込んだ入力画像の各画素の画素値は、基準色（本実施形態ではＲ，Ｇ，Ｂの３種類とする）ごとに「０」から「２５５」までの２５６通りの整数値のうちの一つの値を取るような、デジタル化された値である。
【００１６】
画像生成装置３０からの入力画像の読み込みは、画像生成装置３０の構成に対応したインターフェースを用いて実施すればよく、例えば、画像生成装置３０からアナログ信号として入力画像が供給される場合にはＡ／Ｄ変換器を備えた構成とすればよいし、ＵＳＢ（Universal Serial Bus）インターフェース等によって、デジタル信号として入力画像が供給される場合には、それに対応するインターフェースを備えた構成とすればよい。
【００１７】
画像記憶部１２は、画像生成装置３０から供給される入力画像全体が格納可能な大きさのメモリ（ＲＡＭ;Random Access Memory）を少なくとも２画面分の容量を備えるものである。画像記憶部１２は、１画面分を画像入力部１１からの書き込み用に、残りの１画面分を幾何補正部１３からの読み出し用に、１画面毎に役割を交互に交代しながら使用する。
【００１８】
幾何補正部１３は、後記する補正テーブル記憶部１５に格納された補正テーブル１７に基づいて、画像記憶部１２に格納された入力画像に幾何補正を行い、幾何補正を行った結果である出力画像（補正画像）を画像出力部１４に対して出力するものである。幾何補正部１３は、例えば、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ(Application Specific Integrated Circuit)で構成されている。なお、この幾何補正部１３が行う処理の詳細は、後に詳述する（図３参照）。
【００１９】
画像出力部１４は、幾何補正部１３から出力された出力画像（補正画像）を適切な映像信号に変換して画像表示装置４０に対して出力するものである。例えば、画像表示装置４０がアナログ映像信号を表示するように構成されている場合には、Ｄ／Ａ変換器を備えた構成とすればよい。
【００２０】
補正テーブル記憶部１５は、後記する補正テーブル１７を記憶しておくものであり、例えば、書き換え可能な不揮発性メモリである。
【００２１】
補正テーブル更新部１６は、補正テーブル生成装置２０から送信される補正テーブル１７を受信して補正テーブル記憶部１５に格納するものであり、補正テーブル生成装置２０側のインターフェースに合わせて、例えばＵＳＢインターフェースやＩＥＥＥ１３９４インターフェース等を備えた構成とすればよい。
【００２２】
補正テーブル１７は、幾何補正部１３が出力する出力画像（補正画像）の各々の画素に対して、それらの画素の画素値を、画像記憶部１２に記憶された入力画像（魚眼画像）上のどの画素を参照して決定するかを定義したものである。本実施形態においては、補正テーブル１７として、リサンプリングテーブル、具体的には「幾何補正部１３が出力する出力画像の各々の画素に対して、それらの画素に対応する画像記憶部１２に記憶された入力画像上の２次元座標値を表す固定小数点数の組（ｘ，ｙ）を対応付けたテーブル」を使用する。補正テーブル１７は、後述（図９および図１０参照）の方法によって補正テーブル生成装置２０によって生成された後、補正テーブル更新部１６を介して補正テーブル記憶部１５に格納される。
【００２３】
リサンプリングテーブル（補正テーブル）１７は、例えば図２に示すように、出力画像上の画素座標（ｕ，ｖ）と入力画像上の座標（ｘ，ｙ）とを対応付けている。図２は、ｕ軸方向の画素数が６４０画素、ｖ軸方向の画素数が４８０画素の場合のリサンプリングテーブル（補正テーブル）の例である。なお、ｕ，ｖは、整数であるが、ｘ，ｙは、必ずしも整数ではない。また、出力画像上の画素座標（ｕ，ｖ）に対応付けられる入力画像上の座標（ｘ，ｙ）が入力画像の範囲外の座標となる場合には、あらかじめ定めた例外値、例えば（−１，−１）などの値を（ｕ，ｖ）に対応付けて格納しておく。
【００２４】
[画像補正装置１０における幾何補正部１３の動作]
次に、画像補正装置１０における幾何補正部１３の動作について図３を参照（構成は適宜図１を参照）して説明する。
まず、画像記憶部１２に入力画像が記憶されており、補正テーブル記憶部１５に補正テーブル１７が記憶されていることを前提とする。
【００２５】
図３のフローチャートに示すように、ステップＳ１において、幾何補正部１３は、カウンタのＮの値を「０」にする。
ステップＳ２において、幾何補正部１３は、出力画像のＮ番目の画素の座標（ｕ，ｖ）に対応する入力画像上の座標（ｘ，ｙ）を決定する。具体的には、まず、幾何補正部１３は、カウンタのＮの値を出力画像のｕ軸方向の画素数で割った商をｖの値、余りをｕの値として（すなわち、ｕ軸方向の画素数が「Ｂ」である場合、Ｎ＝ｖ・Ｂ＋ｕ）、出力画像上の画素座標（ｕ，ｖ）を算出する。次に、幾何補正部１３は、補正テーブル１７に基づいて、出力画像上の画素座標（ｕ，ｖ）に対応する入力画像上の座標（ｘ，ｙ）を決定する。
【００２６】
ステップＳ３において、幾何補正部１３は、決定した入力画像上の座標（ｘ，ｙ）に基づいて、出力画像のＮ番目の画素の画素値を算出する。具体的には、例えば、入力画像上の座標（ｘ，ｙ）に基づき、基準色毎(つまりＲＧＢ毎)に、入力画像上の四近傍画素の画素値を用いた双線形補間によって出力画像の画素値を定めるようにすればよい。なお、出力画像の画素値の算出には、バイキュービック補間等、他の従来技術を用いてもよい。
なお、幾何補正部１３は、入力画像上に対応する座標値がない場合、すなわち、リサンプリングテーブル１７に基づいて決定した入力画像上の座標（ｘ，ｙ）が、あらかじめ定めた例外値であった場合には、その出力画像の画素値を例外値、例えば、「黒」すなわち（Ｒ，Ｇ，Ｂ）＝（０，０，０）とする。
【００２７】
ステップＳ４において、幾何補正部１３は、出力画像の全画素について画素値の算出が完了したか否かを判定する。
出力画像の全画素について画素値の算出が完了したと判定した場合（ステップＳ４・Ｙｅｓ）、幾何補正部１３は、幾何補正処理を終了する。
一方、出力画像の画素のうち画素値の算出が完了していない画素があると判定した場合（ステップＳ４・Ｎｏ）、幾何補正部１３は、カウンタのＮの値に「１」を加える（ステップＳ５）。その後、ステップＳ２に戻って処理を続ける。
出力画像の全画素について画素値の算出が完了したか否かを判定するには、カウンタのＮの値と出力画像の画素数とを比較することによって判定すればよい。
【００２８】
[補正テーブル生成装置２０の構成]
図４に示すように、補正テーブル生成装置２０は、経度緯度算出部２１と、補正緯度算出部２２と、光線方向算出部２３と、抽出位置算出部２４と、抽出位置登録部２５とを備える。
【００２９】
経度緯度算出部２１は、出力画像上の画素座標（ｕ，ｖ）に対応する経度λおよび緯度Φを算出するものである。例えば、経度緯度算出部２１は、世界地図の作成で利用されている図法のうち、非投射円筒図法の一つである、メルカトル図法を用いて、経度λおよび緯度Φを算出する。本実施形態では、出力画像の左端の画素座標を経度「−９０度（＝−π／２）」、出力画像の右端の画素座標を経度「９０度（＝π／２）」に対応付けるため、ｕ軸方向のスケールを正規化するための定数「ｗ」を用いて、次の（１）式によって算出する。なお、（１）式において、「Ψ＝π／２」である。
【００３０】
【数３】
0005555101.tif 000004
【００３１】
これにより、図５（ａ）に示す出力画像のｕｖ座標系から、図５（ｂ）に示す経度緯度座標系へ座標系を変換する。ここで、Ｏ’（uc, vc）は出力画像の中心位置の座標である。例えば、出力画像のｕ軸方向の画素数が６４０画素である場合、ｕｃの値は「（０＋６３９）／２」によって算出される「３１９．５」という値となる。ｖｃについても同様に算出すればよい。ｗは前述の目的のために導入された定数であり、ｕｃの値に等しく設定され、出力画像全体でのスケールの整合性を確保するため、（１）式のとおりｖ軸方向のスケールの正規化に対しても使用される。Ｐ１（ｕ，ｖ）は、Ｐ２（λ，Φ）と変換される。
【００３２】
補正緯度算出部２２は、入力される経度λおよび緯度Φから、光線方向ベクトルの算出に用いる緯度である補正緯度φを算出するものである。例えば、補正緯度算出部２２は、次の（２）式によって、補正緯度φを算出する。
【００３３】
【数４】
0005555101.tif 000005
【００３４】
これにより、図５（ｂ）に示すように、経度緯度座標系において緯度方向に関する補正を行う。Ｐ２（λ，Φ）は、Ｐ３（λ，φ）と変換される。なお、このような補正をする理由は、後述する。
【００３５】
光線方向算出部２３は、入力される経度λおよび補正緯度φから、光線方向ベクトル（Ｘ，Ｙ，Ｚ）を算出するものである。光線方向算出部２３は、次の（３）式によって、光線方向ベクトル（Ｘ，Ｙ，Ｚ）を算出する。
【００３６】
【数５】
0005555101.tif 000006
【００３７】
これにより、図５（ｂ）に示す経度緯度座標系から、図６（ａ）に示すＸＹＺ座標系へ変換する。ＸＹＺ座標系は、被写体空間の座標系である。Ｐ３（λ，φ）は、Ｐ４（Ｘ，Ｙ，Ｚ）と変換される。点Ｏは投影中心である。光線方向ベクトル（Ｘ，Ｙ，Ｚ）は、点Ｏから経度λ、緯度φの地点に向かう、長さが「１」に正規化された方向ベクトルである。
【００３８】
抽出位置算出部２４は、光線方向算出部２３が算出した光線方向ベクトル（Ｘ，Ｙ，Ｚ）から、入力画像上の座標（ｘ，ｙ）を抽出位置として算出するものである。抽出位置とは、入力画像上の座標（ｘ，ｙ）であり、出力画像上の画素座標（ｕ，ｖ）に存在する画素の画素値を入力画像上から抽出する際の最適な位置である。本実施形態の入力画像は等距離射影方式の魚眼レンズを用いて撮影されたものであるため、抽出位置算出部２４は、例えば、次の（４）式によって、入力画像上の座標（ｘ，ｙ）を算出する。
【００３９】
【数６】
0005555101.tif 000007
【００４０】
これにより、図６（ａ）に示すＸＹＺ座標系から、図６（ｂ）に示す入力画像のｘｙ座標系へ変換する。ここで、Ｏ’’（ｘc, ｙc）は入力画像の像円の中心の座標である。また、Ｒは像円の半径であり、半画角９０度に対応する。Ｐ４（Ｘ，Ｙ，Ｚ）は、Ｐ５（ｘ，ｙ）と変換される。
【００４１】
なお、ｘc, ｙcおよびＲは、設計値として予め補正テーブル生成装置２０に登録されているものとする。また、本発明における撮像パラメータの種類はこれらに限るものではなく、使用する射影モデルに応じて種々変更することができるほか、１枚または複数の入力画像から、従来技術を用いて推定するようにしてもよい。例えば、像円の中心の座標Ｏ’’（ｘc, ｙc）及び像円の半径Ｒについては、像円の外側の部分が通常黒くなっている（画素値として（Ｒ，Ｇ，Ｂ）の各々に非常に小さい値が格納されている）ことを利用して、円の推定を行うことで、従来技術によって推定可能である。さらに、（４）式の代わりに、従来技術による、光学系の歪み補正のための、より高次の項まで含めた補正式を使用するようにしてもよい。
【００４２】
抽出位置登録部２５は、抽出位置算出部２４により算出された入力画像上の座標（ｘ，ｙ）を出力画像上の画素座標（ｕ，ｖ）に対応付けて補正テーブル１７に登録するものである。なお、抽出位置算出部２４により算出された入力画像上の座標（ｘ，ｙ）が入力画像の範囲外の座標である場合には、前述のとおり、あらかじめ定めた例外値、例えば（−１，−１）などの値を（ｕ，ｖ）に対応付けて登録しておく。
【００４３】
ここで、補正緯度算出部２２において、緯度Φから補正緯度φへ補正する理由を図５、図６、図７および図８を参照して説明する。
図７において、点Ｏは、投影中心である。点Ａは、図６（ａ）の点Ａに対応しており、経度０度、緯度０度の点である。ベクトルＯＡは、魚眼レンズの光軸の方向である。平面５２は、ベクトルＯＡに直交する、被写体空間中の平面である。直線５１は、平面５２と図６（ａ）におけるＸＺ平面との交線である。長方形ＡＢＤＣは、平面５２上の長方形である。
【００４４】
メルカトル図法は、球面を平面へ投影する手法であり、球面上の等経度線と等緯度線は、いずれも投影先の平面上で直線となる。したがって、図７に示す直線ＡＢ、直線ＡＣおよび直線ＣＤは、図６（ａ）の単位球面上に投影し、さらに、図５（ｂ）の経度緯度平面へ展開したときに、湾曲せずに直線となる。なぜなら、直線ＡＢと直線ＣＤは、単位球面上では等経度線となり、直線ＡＣは、単位球面上では緯度０度の等緯度線となるからである。一方、線分ＯＣの長さが線分ＯＡの長さに比べて「１／ｃｏｓ（λ１）」の長さになっているため、点Ｂの緯度となる∠ＡＯＢのΦ０と点Ｄの緯度となる∠ＣＯＤのΦ１とは、「ｔａｎ（Φ１）＝ｔａｎ（Φ０）・ｃｏｓ（λ１）」という関係にある。すなわち、直線ＢＤは等緯度線とならないため、メルカトル図法で表現した際に、投影先の平面上で直線とならずに湾曲してしまう。
【００４５】
そこで、直線ＢＤの湾曲を低減するために、例えば（２）式を用いる。ここで、直線ＢＤの湾曲を完全に無くそうとすると「ｆ（λ）＝ｃｏｓ（λ）」となるが、ｆ（λ）としてこの関数を用いた場合、補正緯度算出部２２に入力された経度λが９０度の場合に、入力された緯度Φの値に依存せず、補正緯度φが「０」となる。これは、出力画像の左右端に近付くにしたがって縦方向の拡大率が非常に大きくなることを意味しており、出力画像を観賞するユーザにとって、望ましいことではない。
【００４６】
そのため、ｆ（λ）として、「ｆ（λ）＝ｃｏｓ（λ）」ではなく、（２）式のｆ（λ）のような近似式を用いる。  例えば、図８は０≦λ≦（π／２）におけるｆ（λ）のグラフを示したものであり、曲線６０は「ｃｏｓ（λ）」を、曲線６１は（２）式のｆ（λ）をそれぞれ表している。このとき、λの絶対値が小さい領域、すなわち出力画像の中央付近では、曲線６１は曲線６０に近い方が望ましい。なぜなら、直線の湾曲がよりよく補正されるからである。一方、ｆ（λ）の値が０に近くなるほど縦方向の拡大率が大きくなるため、曲線６１の最小値は、ある程度の大きさを維持するように設計することが望ましい。
【００４７】
より具体的には、（２）式のｆ（λ）は、次のような条件を満たすように設計されたものである。これらの条件を満たす関数であれば、補正緯度算出部が緯度を補正する際に用いる関数は、（２）式の関数に限るものではない。
第一の条件は「ｆ（λ）≦１」である。これは、λの定義域の全域に渡って、補正が誤った方向に為されないことを保証する条件である。
第二の条件は「あるΛが存在して、ｆ（Λ）＜１」である。ここでΛはλの定義域に含まれる値である。これは、少なくとも１つ以上のλの値に対して、補正が正しい方向に為されることを保証する条件である。
第三の条件は「ｃｏｓ（λ）≦ｆ（λ）」である。これは、λの定義域の全域に渡って、補正し過ぎないことを保証する条件である。
第四の条件は「ｆ（λ）／ｃｏｓ（λ）は広義単調増加する」である。これは、緯度補正の程度が、波打つことなく徐々に弱まっていくための条件である。
第五の条件は「０＜Ｇ＜１なる所与の定数Ｇに対して、ｆ（λ）≧Ｇ」である。これは、出力画像全域における縦方向の拡大率を所定の範囲内に収めるための条件である。Ｇの値は許容できる縦方向の拡大率や許容できる横線の湾曲度合いに基づいてあらかじめ決めておけばよいが、Ｇの値が大きくなると縦方向の拡大率は抑えられるものの横線の湾曲に対する補正の度合いが弱くなり、Ｇの値が小さくなると横線の湾曲に対する補正の度合いは強くなるものの縦方向の拡大率が大きくなってしまう可能性が出てくるため、０．２以上０．５以下程度の値を使用するのがよい。
【００４８】
[補正テーブル生成装置２０の動作]
次に、補正テーブル生成装置２０の動作について図９を参照（構成は適宜図４を参照）して説明する。
【００４９】
図９のフローチャートに示すように、ステップＳ１０において、補正テーブル生成装置２０は、カウンタのＭの値を「０」にする。
ステップＳ１１において、補正テーブル生成装置２０は、光線方向ベクトル算出処理を行う。なお、この処理については、後で詳述する（図１０参照）。
【００５０】
ステップＳ１２において、抽出位置算出部２４は、光線方向ベクトル（Ｘ，Ｙ，Ｚ）に対応する入力画像上の座標（ｘ，ｙ）を算出する。
ステップＳ１３において、抽出位置登録部２５は、算出した座標（ｘ，ｙ）をリサンプリングテーブル（補正テーブル）１７の出力画像上の画素座標（ｕ，ｖ）に対応付けて登録する。
ステップＳ１４において、補正テーブル生成装置２０は、出力画像の全画素についてリサンプリングテーブル（補正テーブル）１７への登録が完了したか否かを判定する。
【００５１】
出力画像の全画素についてリサンプリングテーブル（補正テーブル）１７への登録が完了した場合は（ステップＳ１４・Ｙｅｓ）、補正テーブル生成装置２０は、リサンプリングテーブル（補正テーブル）生成処理を終了する。
一方、出力画像の画素のうちリサンプリングテーブル（補正テーブル）１７への登録が完了していない画素がある場合は（ステップＳ１４・Ｎｏ）、補正テーブル生成装置２０は、カウンタのＭの値に「１」を加える（ステップＳ１５）。その後、ステップＳ１１に戻って処理を続ける。
なお、出力画像の全画素に対してリサンプリングテーブル（補正テーブル）１７への登録が完了したか否かは、カウンタのＭの値と出力画像の画素数とを比較することによって判定すればよい。
【００５２】
[光線方向ベクトル算出処理]
次に、ステップＳ１１（図９参照）の光線方向ベクトル算出処理ついて図１０を参照して説明する。
図１０のフローチャートに示すように、ステップＳ１１１において、経度緯度算出部２１は、出力画像のＭ番目の画素の座標（ｕ，ｖ）に対応する経度緯度（λ、Φ）を算出する。
ステップＳ１１２において、補正緯度算出部２２は、補正緯度算出処理を行う。
ステップＳ１１３において、光線方向算出部２３は、経度緯度算出部２１が算出した経度λと、補正緯度算出部２２が算出した補正緯度φとに基づいて、光線方向ベクトル（Ｘ，Ｙ，Ｚ）を算出する。その後、光線方向ベクトル算出処理を終了する。
【００５３】
以上の動作によって、特定の領域付近で横方向の直線が急激に湾曲するという現象を抑えつつ、補正後の画像において縦方向または横方向の直線として表されるべき直線群の湾曲の度合いが補正前の画像に比べて低減される。
【００５４】
＜第２実施形態＞
以下、本発明の第２実施形態について、図１１および図１２を参照して説明する。
[補正テーブル生成装置２０Ａの構成]
図１１に示すように、補正テーブル生成装置２０Ａは、第１実施形態の補正テーブル生成装置２０と比較して、補正緯度算出部２２はないが、修正補正テーブル生成部２６を備える。なお、第１実施形態の構成と同一の構成には同一の符号を付して、重複した説明は省略する。
補正テーブル生成装置２０Ａは、リサンプリングテーブル（補正テーブル）（図示せず）を生成する際に第１実施形態のように補正緯度を算出するのではなく、緯度を補正せずにリサンプリングテーブル（補正テーブル）（図示せず）を作成した後、そのリサンプリングテーブル（補正テーブル）の値を修正することによって修正リサンプリングテーブル（修正補正テーブル）１７Ａを生成することによって、第１実施形態と同様の効果を得るものである。
【００５５】
修正補正テーブル生成部２６は、リサンプリングテーブル（補正テーブル）を２次元座標系上において直接補正するものである。補正された修正リサンプリングテーブル（修正補正テーブル）１７Ａは、画像補正装置１０へ送信される。具体的には、次のフローで詳述する。なお、修正リサンプリングテーブル１７Ａの大きさは、第１実施形態のリサンプリングテーブル１７と同一のものであり、テーブル上の座標系の取り方も同一である。
【００５６】
[補正テーブル生成装置２０Ａの動作]
次に、補正テーブル生成装置２０Ａの動作について図１２を参照（構成は適宜図１１を参照）して説明する。
図１２のフローチャートに示すように、ステップＳ２０において、補正テーブル生成装置２０Ａは、補正緯度算出処理を行わないリサンプリングテーブル生成処理を行う。すなわち、図９および図１０で説明した処理を、ステップＳ１１２（補正緯度算出処理）を除いて行う。（３）式の補正緯度φには、補正前の緯度Φを用いる。
なお、このようにして生成したリサンプリングテーブル（補正テーブル）を、画像補正装置１０の補正テーブル記憶部１５に記憶し、幾何補正部１３が幾何補正処理を行った場合、出力画像上で、被写体空間における横方向の直線が大きく湾曲する結果となる（図１３（ｃ）参照）。湾曲の度合いは、「ｕ−ｕｃ」の絶対値が大きいほど大きく、また、「ｖ−ｖｃ」の絶対値が大きいほど大きい。この湾曲の度合いが低減するように、以降の処理を行う。
【００５７】
ステップＳ２１において、補正テーブル生成装置２０Ａは、カウンタのＭの値を「０」にする。
ステップＳ２２において、修正補正テーブル生成部２６は、出力画像のＭ番目の画素の座標（ｕ，ｖ）に対応する補正量Δｖを算出する。ｕ座標がｕｃから離れるほど被写体空間中の横方向の直線が「ｖ＝ｖｃ」の直線に近付いてくる現象を改善するのが目的であるため、Δｖの絶対値は「ｕ−ｕｃ」の絶対値が大きいほど大きく、かつ、「ｖ−ｖｃ」の絶対値が大きいほど大きく、Δｖの正負は「ｖ−ｖｃ」が正であれば負、負であれば正となるように定める。具体的には、例えば、Δｖを次の（５）式を用いて算出する。βの取り得る範囲は「０＜β＜１」であるが、本実施形態では、横線の湾曲に対する補正の度合いと縦方向の拡大率とのトレードオフから、「β＝０．４４」を選択した。
【００５８】
【数７】
0005555101.tif 000008
【００５９】
ステップＳ２３において、修正補正テーブル生成部２６は、ステップＳ２０で生成されたリサンプリングテーブル（補正テーブル）を参照して座標（ｕ，ｖ＋Δｖ）に対応する入力画像上の座標（ｘ，ｙ）を算出する。このとき、ｕは整数であり、ｖ＋Δｖは必ずしも整数ではないが、ｖに関して線形補間等の従来の補間方法を用いて算出できる。例えば、ｖ＋Δｖを切り上げて求めた整数ｖ１とｖ＋Δｖを切り下げて求めた整数ｖ２において、リサンプリングテーブル（補正テーブル）の（ｕ，ｖ１）、（ｕ，ｖ２）にそれぞれ対応する（ｘ，ｙ）の値を参照し、ｘおよびｙについて各々線形補間すればよい。
【００６０】
ステップＳ２４において、修正補正テーブル生成部２６は、ステップＳ２３で算出した座標（ｕ，ｖ＋Δｖ）に対応する入力画像上の座標（ｘ，ｙ）を修正リサンプリングテーブル（修正補正テーブル）の出力画像上の画素座標（ｕ，ｖ）に対応する位置に登録する。
ステップＳ２５およびステップＳ２６は、図９のステップＳ１４およびステップＳ１５と同様のため、説明を省略する。
【００６１】
以上の動作によって、光線方向ベクトルの算出前に緯度補正を行うのではなく、一旦生成したリサンプリングテーブルを修正することによっても、光線方向ベクトルの算出前に緯度補正を行う場合と同様の効果を得ることができる。
【００６２】
＜変形例＞
以上、本発明の実施形態について説明したが、本発明はこれに限定されず、本発明の趣旨を逸脱しない範囲で、例えば次のように変更することができる。
【００６３】
例えば、画像生成装置３０は、例示したものに限るものではなく、広角レンズを備えたデジタルカメラ、等距離射影方式を始めとする各種の射影方式で設計された魚眼レンズを備えたデジタルカメラ、広角レンズや魚眼レンズを備えたビデオカメラ、それらの機器によって撮影された映像を記憶した記憶媒体を再生する映像再生機器等、種々変更が可能である。入力画像の射影方式が変更される場合、（４）式を、入力画像の射影方式に適した式に変更すればよく、そのような変更は容易である。
【００６４】
また、画像出力部１４に接続する装置は、画像表示装置４０に限るものではなく、例えば、補正された画像を記憶する記憶装置や、補正された画像を別のシステムに転送する伝送装置を接続する等、本発明を適用する用途に応じて種々変更することができる。
【００６５】
また、カウンタのＮの値から画素座標（ｕ，ｖ）を算出する方法については、ラスタースキャンの順序で画素が参照されるようにするため、Ｎの値を出力画像のｕ軸方向の画素数で割った商をｖ、余りをｕとして算出したが、出力画像の画素の参照順序はこれに限るものではない。
【００６６】
また、補正テーブル１７はリサンプリングテーブルに限るものではない。例えば、画像補正装置１０の構成を、幾何補正部１３が出力画像上の画素座標（ｕ，ｖ）に対応する入力画像上の座標（ｘ，ｙ）をその都度計算しながら補正を行うような構成とする場合には、入力画像に関するパラメータ及び出力画像に関するパラメータを補正テーブル１７として補正テーブル記憶部１５に記憶しておけばよい。その場合、補正テーブル１７としてリサンプリングテーブルを使用する場合に比べて、補正テーブル記憶部１５の記憶容量も少なくてすむ。
なお、そのような構成とした場合、幾何補正部１３は、出力画像上の画素座標に対応する入力画像上の座標を求める方法として、図９および図１０に示すフローをそのまま実行するように構成してもよいし（ただし算出した座標（ｘ，ｙ）をリサンプリングテーブルへ登録する（ステップＳ１３）必要はなく、算出した座標（ｘ，ｙ）に基づいて即座に出力画像の画素値を決定すればよい）、あるいは、出力画像上の画素座標（ｕ，ｖ）から、該座標に対応する入力画像上の座標（ｘ，ｙ）を直接算出できるような合成関数を予め作成しておき、該合成関数を用いるような構成としてもよい。また、補正テーブル更新部１６がキーボード等のデータ入力装置を備える構成として、出力画像に関するパラメータをユーザが変更できるようにしてもよい。
【００６７】
また、本発明の実施形態の説明では、魚眼画像の縦横方向と出力画像の縦横方向とを一致させる例において説明を行ったが、本発明の実施形態はこれに限るものではない。例えば、３軸加速度センサを備えた魚眼カメラを用いる場合、このカメラから得られた被写体空間中の重力方向の情報を基に、重力方向が出力画像の縦方向に一致するようなリサンプリングテーブルを生成するようにしてもよい。具体的には、魚眼画像と地表面との対応付けを行う際に、従来技術によって座標系の向きを回転させるだけでよく、そのような変更は容易である。
【００６８】
また、本発明の実施形態の説明では、非投射円筒図法の一つであるメルカトル図法を用いて経度緯度の算出を実施したが、本発明の実施形態はこれに限るものではなく、利用したい特性に応じて、ミラー図法等、メルカトル図法以外の円筒図法、特に、非投射円筒図法を利用してもよい。本発明においては、経度０度付近では緯度の補正量が僅かとなるため、経度緯度の算出に用いる非投射円筒図法の特徴を享受することができる。なお、利用できる非投射円筒図法は、特に固有の名称が付いた図法に限るものではなく、例えば所与の定数「κ」を用いて（６）式のように経度と緯度の組（λ，Φ）を算出するもの等、様々なものが利用可能である。
【００６９】
【数８】
0005555101.tif 000009
【００７０】
また、ステップＳ１１１の後、補正緯度算出処理（ステップＳ１１２）を実施する前に、出力画像の中央付近における経度の密度が周辺部に対して密になるように、経度を補正する処理を実施するようにしてもよい。すなわち、経度と緯度の組（λ，Φ）を算出した後、出力画像の中央付近における経度の密度が周辺部に対して密になるように、経度をλ’と補正し、あらためて補正後の経度と緯度の組（λ’，Φ）に対して補正緯度算出処理を実施して補正後の経度と補正後の緯度の組（λ'，φ）を算出し、（λ'，φ）に対して光線方向ベクトル（Ｘ，Ｙ，Ｚ）を算出するようにする。このようにすることにより、湾曲の度合いを、より画像全域に分散させることができる。
【００７１】
また、出力画像で表現する経度の範囲は、−９０度から９０度の範囲に限るものではない。出力画像で表現する経度の範囲を変更する場合には、（１）式で、Ψの値を所望の値に変更すればよい。
【００７２】
また、画像入力部１１で読み込んだ入力画像の各画素の画素値は、基準色（Ｒ，Ｇ，Ｂ）毎に「０」から「２５５」までの２５６通り（＝８ビット）の整数値のうちの一つの値を取るような、デジタル化した値であるとしたが、本発明の実施形態はこれに限るものではない。例えば、各基準色で表現できる階調を「０」から「１０２３」までの１０２４通り（１０ビット）に増やす等の変更をしてもよい。当該変更によって入力画像で表現できる階調と出力画像で表現できる階調との間に差異が生じる場合であっても、従来技術で容易に対処可能である。また、例えば基準色として（Ｒ，Ｇ，Ｂ，Ｃ（シアン），Ｙ（イエロー））の５色を用いるような、多原色への対応も、従来技術を利用することで容易に実施できる。
【００７３】
また、補正テーブル記憶部１５は、ＳＤメモリーカード等、画像補正装置１０から着脱可能な記憶媒体を用いることで実施してもよい。その場合、補正テーブル生成装置２０がＳＤメモリーカードライタ等を備え、補正テーブル生成装置２０で生成したリサンプリングテーブル（補正テーブル）１７を前記ＳＤメモリーカードライタを介して補正テーブル記憶部１５に登録するような構成とすることで、画像補正装置１０が補正テーブル更新部１６を備える必要がなくなるため、リサンプリングテーブル（補正テーブル）１７の更新頻度が低い場合に好適である。
【符号の説明】
【００７４】
１０    画像補正装置
１１    画像入力部
１２    画像記憶部
１３    幾何補正部
１４    画像出力部
１５    補正テーブル記憶部
１６    補正テーブル更新部
１７    補正テーブル
２０    補正テーブル生成装置
２０Ａ  補正テーブル生成装置
２１    経度緯度算出部
２２    補正緯度算出部
２３    光線方向算出部
２４    抽出位置算出部
２５    抽出位置登録部
２６    修正補正テーブル生成部
３０    画像生成装置
４０    画像表示装置
【図１】
0005555101.tif 000018
【図２】
0005555101.tif 000019
【図３】
0005555101.tif 000020
【図４】
0005555101.tif 000021
【図５】
0005555101.tif 000022
【図６】
0005555101.tif 000023
【図７】
0005555101.tif 000024
【図８】
0005555101.tif 000025
【図９】
0005555101.tif 000026
【図１０】
0005555101.tif 000027
【図１１】
0005555101.tif 000028
【図１２】
0005555101.tif 000029
【図１３】
0005555101.tif 000030