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