(57)【特許請求の範囲】
【請求項１】
魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置であって、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成され、前記ＸＹ座標系の原点Ｏを中心とし半径Ｒをもった歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
前記歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
前記ディスプレイに表示されている歪曲円形画像上における、切出中心点Ｐの位置および切り出し向きをユーザの指示に基づいて入力する指示入力部と、
前記二次元ＸＹ直交座標系を含む三次元ＸＹＺ直交座標系において、原点Ｏを中心とし半径Ｒをもった仮想球面を定義したときに、前記切出中心点Ｐを通りＺ軸に平行な直線と前記仮想球面との交点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める交点演算部と、
前記交点Ｇにおいて前記仮想球面に接する接平面上に定義すべき前記二次元ＵＶ直交座標系のＵ軸方向を向いたベクトルＵと、前記二次元ＸＹ直交座標系のＸ軸方向を向いたベクトルＸと、のなす角として与えられる平面傾斜角φを、前記切り出し向きに基づいて決定する角度決定部と、
前記位置座標（ｘ０，ｙ０，ｚ０）および前記平面傾斜角φをパラメータとして含む正射影方式の変換演算式を利用して、座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づけ、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、前記歪曲円形画像から前記切出中心点Ｐを中心として前記平面傾斜角φによって示される向きに切り出された部分画像についての平面正則画像を生成する演算を行い、生成された平面正則画像を前記平面正則画像格納部に格納する変換演算部と、
を備えることを特徴とする画像変換装置。
【請求項２】
請求項１に記載の画像変換装置において、
変換演算部が、正射影方式の変換演算式として、
ｘ＝Ｒ［（ｕ−ｘ０）Ａ＋（ｖ−ｙ０）Ｂ＋（ｗ−ｚ０）Ｅ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ｙ＝Ｒ［（ｕ−ｘ０）Ｃ＋（ｖ−ｙ０）Ｄ＋（ｗ−ｚ０）Ｆ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ここで、
Ａ＝１−（１−cosφ）（ｙ０２＋ｚ０２）
Ｂ＝−ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｃ＝ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｄ＝１−（１−cosφ）（ｚ０２＋ｘ０２）
Ｅ＝ｙ０sinφ＋ｚ０ｘ０（１−cosφ）
Ｆ＝−ｘ０sinφ＋ｙ０ｘ０（１−cosφ）
ｗ＝ｍＲ（但し、ｍは所定の変換倍率）
なる式を用いることを特徴とする画像変換装置。
【請求項３】
請求項１または２に記載の画像変換装置において、
指示入力部が、歪曲円形画像上に引かれた参照直線Ｊを定義するための指示を入力する機能を有し、
角度決定部が、前記参照直線ＪとＸ軸とのなす角θ（但し、両者平行の場合はθ＝０°とする）に基づいて平面傾斜角φを決定することを特徴とする画像変換装置。
【請求項４】
請求項３に記載の画像変換装置において、
指示入力部が、歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力する機能を有し、前記切出中心点Ｐと前記補助点Ｑとを結ぶ直線を参照直線Ｊとすることを特徴とする画像変換装置。
【請求項５】
請求項３に記載の画像変換装置において、
指示入力部が、参照直線ＪとＸ軸とのなす角θを示す数値を所定の入力画面上で入力する機能と、切出中心点Ｐの位置を歪曲円形画像上で指定するための指示を入力する機能と、を有することを特徴とする画像変換装置。
【請求項６】
請求項３〜５のいずれかに記載の画像変換装置において、
角度決定部が、参照直線ＪとＸ軸とのなす角θを近似的に平面傾斜角φとすることを特徴とする画像変換装置。
【請求項７】
請求項２に記載の画像変換装置において、
指示入力部が、ユーザの指示に基づいて変換倍率ｍを入力する機能を有し、
変換演算部が、前記指示入力部によって入力された変換倍率ｍを用いた演算を行うことを特徴とする画像変換装置。
【請求項８】
請求項７に記載の画像変換装置において、
指示入力部が、歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力する機能を有し、前記切出中心点Ｐと前記補助点Ｑとの距離ｄに基づいて、ｍ＝ｋ／ｄ（ｋは所定の比例定数）として与えられる数値を変換倍率ｍとすることを特徴とする画像変換装置。
【請求項９】
請求項１〜８のいずれかに記載の画像変換装置において、
変換演算部が、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を決定する際に、対応する座標（ｘ，ｙ）で示される位置の近傍に配置された歪曲円形画像上の複数の参照画素の画素値に対する補間演算を行うことを特徴とする画像変換装置。
【請求項１０】
請求項１〜９のいずれかに記載の画像変換装置において、
歪曲円形画像格納部に格納されている画像が、正射影方式の魚眼レンズによって撮影された正射影画像ではなく、非正射影方式の魚眼レンズによって撮影された非正射影画像である場合に、前記非正射影画像上の座標を前記正射影画像上の座標に変換する第１の座標変換式と、前記正射影画像上の座標を前記非正射影画像上の座標に変換する第２の座標変換式と、を利用して、
交点演算部が、切出中心点Ｐの座標を前記第１の座標変換式を用いて変換し、変換後の座標を用いて交点の位置座標（ｘ０，ｙ０，ｚ０）を求める処理を行い、
変換演算部が、正射影方式の変換演算式を用いて座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求めた後、前記座標（ｘ，ｙ）を前記第２の座標変換式を用いて変換し、変換後の座標を用いて歪曲円形画像上の参照画素の位置を特定することを特徴とする画像変換装置。
【請求項１１】
請求項１０に記載の画像変換装置において、
歪曲円形画像格納部に格納されている画像が、等距離射影方式の魚眼レンズによって撮影された等距離射影画像である場合に、
交点演算部が、等距離射影画像上の座標（ｘ′，ｙ′）を正射影画像上の座標（ｘ，ｙ）に変換する第１の座標変換式として、
ｘ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｘ′
ｙ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｙ′
なる式を用い、
変換演算部が、正射影画像上の座標（ｘ，ｙ）を等距離射影画像上の座標（ｘ′，ｙ′）に変換する第２の座標変換式として、
ｘ′＝２／π・ｘ／sinc（π／２・√（ｘ２＋ｙ２））
ｙ′＝２／π・ｙ／sinc（π／２・√（ｘ２＋ｙ２））
なる式を用いることを特徴とする画像変換装置。
【請求項１２】
請求項１〜１１のいずれかに記載の画像変換装置としてコンピュータを機能させるためのプログラム。
【請求項１３】
請求項１〜１１のいずれかに記載の画像変換装置の構成要素となる変換演算部として機能する電子回路が組み込まれた半導体集積回路。
【請求項１４】
請求項１〜１１のいずれかに記載の画像変換装置と、魚眼レンズを用いたカメラと、平面正則画像を画面上に表示するモニタ装置と、を備え、
前記カメラを用いた撮影により得られた歪曲円形画像が歪曲円形画像格納部へと格納され、平面正則画像格納部に得られた平面正則画像が前記モニタ装置によって表示されるように構成されていることを特徴とする魚眼監視システム。
【請求項１５】
請求項２に記載の画像変換装置において、
変換演算部が、
「関数ｆ（ｃ）＝１／ｃ」の値を様々な変数ｃの値について対応づけた第１の関数テーブルと、「関数ｆ（ξ）＝１／√ξ」の値を様々な変数ξの値について対応づけた第２の関数テーブルと、を有し、
ａ＝ｕ−ｘ０，ｂ＝ｖ−ｙ０，ｃ＝ｗ−ｚ０、
ξ＝（ａ／ｃ）２＋（ｂ／ｃ）２＋１
なる演算を行うことにより、ｃおよびξの値を求め、
前記第１の関数テーブルおよび前記第２の関数テーブルを参照することにより、求めたｃ，ξの値に対応する関数ｆ（ｃ），ｆ（ξ）の値を求め、
正射影方式の変換演算式における
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
なる値を、ｆ（ｃ）×ｆ（ξ）なる演算により求めることを特徴とする画像変換装置。
【請求項１６】
請求項１〜１１のいずれかに記載の画像変換装置において、
変換演算部が、
所定の有効桁数に応じた間隔Ｗの離散値をとる変数ｔのうち、偶数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけた偶数関数テーブルと、
前記有効桁数に応じた前記間隔Ｗの離散値をとる変数ｔのうち、奇数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけた奇数関数テーブルと、
前記有効桁数からなる上位ビットと、前記有効桁数より下位の桁を示す下位ビットと、によって構成される変数ｔを格納するＴレジスタと、
前記上位ビットが偶数である場合には、前記上位ビットで示される偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を前記偶数関数テーブルから読み出し、前記上位ビットが奇数である場合には、前記上位ビットで示される奇数変数ｔよりも大きい最小の偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を前記偶数関数テーブルから読み出す偶数読出部と、
前記上位ビットが奇数である場合には、前記上位ビットで示される奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を前記奇数関数テーブルから読み出し、前記上位ビットが偶数である場合には、前記上位ビットで示される偶数変数ｔよりも大きい最小の奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を前記奇数関数テーブルから読み出す奇数読出部と、
前記偶数関数テーブルもしくは前記奇数関数テーブルから読み出された関数ｆ（ｔ）の値を格納するＡレジスタと、
前記偶数関数テーブルもしくは前記奇数関数テーブルから読み出された関数ｆ（ｔ）の値を格納するＢレジスタと、
前記上位ビットが偶数である場合には、前記偶数読出部が読み出した関数ｆ（ｔ）の値を前記Ａレジスタに格納するとともに、前記奇数読出部が読み出した関数ｆ（ｔ）の値を前記Ｂレジスタに格納し、前記上位ビットが奇数である場合には、前記奇数読出部が読み出した関数ｆ（ｔ）の値を前記Ａレジスタに格納するとともに、前記偶数読出部が読み出した関数ｆ（ｔ）の値を前記Ｂレジスタに格納する偶奇セレクタと、
前記Ａレジスタに格納されている値をｆ（Ａ）とし、前記Ｂレジスタに格納されている値をｆ（Ｂ）とし、前記下位ビットで示される値をδとして、補間後の関数ｆ（ｔ）の値を、ｆ（ｔ）＝（（Ｗ−δ）／Ｗ）×ｆ（Ａ）＋（δ／Ｗ）×ｆ（Ｂ）なる演算によって求める補間演算部と、
を有し、前記補間演算部によって求められた補間後の関数ｆ（ｔ）の値を利用して演算を行うことを特徴とする画像変換装置。
【請求項１７】
請求項１１に記載の画像変換装置において、
交点演算部が、第１の座標変換式における関数sinc（ｔ）を、
sinc（ｔ）＝１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....
なるテイラー展開した形式の式に基づいて演算し、
変換演算部が、第２の座標変換式における関数１／sinc（ｔ）を、所定の係数値ａ２，ａ４，ａ６，ａ８， ....を用いた
１／sinc（ｔ）＝１＋ａ２ｔ２＋ａ４ｔ４＋ａ６ｔ６＋ａ８ｔ８＋ ....
なる形式の式に基づいて演算することを特徴とする画像変換装置。
【請求項１８】
請求項２に記載の画像変換装置において、
変換演算部が、cosφの値を、ベクトルＵとベクトルＸとの内積を、ベクトルＵの大きさとベクトルＸの大きさとの積で除することにより求めることを特徴とする画像変換装置。
【請求項１９】
請求項２に記載の画像変換装置において、
指示入力部が、歪曲円形画像上に引かれた参照直線Ｊを定義するための指示を入力する機能を有し、
変換演算部が、参照直線Ｊの方向を向いたベクトルＪを定義し、cosφの値を、ベクトルＪとベクトルＸとの内積を、ベクトルＪの大きさとベクトルＸの大きさとの積で除することにより求めることを特徴とする画像変換装置。
【請求項２０】
請求項２に記載の画像変換装置において、
変換演算部が、sinφの値を、sinφ＝√（１−cos２φ）なる演算により求めることを特徴とする画像変換装置。
【請求項２１】
魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置であって、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成された歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
前記歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
前記ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置をユーザの指示に基づいて入力し、前記切出中心点Ｐと前記補助点Ｑとを結ぶ直線を参照直線Ｊと認識し、前記切出中心点Ｐと前記補助点Ｑとの距離ｄに基づいて、ｍ＝ｋ／ｄ（ｋは所定の比例定数）として与えられる数値を変換倍率ｍと認識する指示入力部と、
座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づける変換演算式を利用して、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、前記歪曲円形画像から前記切出中心点Ｐを中心として前記参照直線Ｊに応じた向きに切り出された部分画像について、前記変換倍率ｍに基づいてスケーリングされた平面正則画像を生成する演算を行い、生成された平面正則画像を前記平面正則画像格納部に格納する変換演算部と、
を備えることを特徴とする画像変換装置。
【請求項２２】
魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置であって、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成された歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
前記歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
所定の入力画面上において、参照直線ＪとＸ軸とのなす角として定義される角度θと、変換倍率ｍと、をユーザの指示に基づいて入力するとともに、前記ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐの位置をユーザの指示に基づいて入力する指示入力部と、
座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づける変換演算式を利用して、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、前記歪曲円形画像から前記切出中心点Ｐを中心として前記参照直線Ｊに応じた向きに切り出された部分画像について、前記変換倍率ｍに基づいてスケーリングされた平面正則画像を生成する演算を行い、生成された平面正則画像を前記平面正則画像格納部に格納する変換演算部と、
を備えることを特徴とする画像変換装置。
【請求項２３】
魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換方法であって、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成され、前記ＸＹ座標系の原点Ｏを中心とし半径Ｒをもった歪曲円形画像を、歪曲円形画像格納部に格納する段階と、
前記歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する段階と、
前記ディスプレイに表示されている歪曲円形画像上における、切出中心点Ｐの位置および切り出し向きをユーザの指示に基づいて入力する段階と、
前記二次元ＸＹ直交座標系を含む三次元ＸＹＺ直交座標系において、原点Ｏを中心とし半径Ｒをもった仮想球面を定義したときに、前記切出中心点Ｐを通りＺ軸に平行な直線と前記仮想球面との交点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める段階と、
前記交点Ｇにおいて前記仮想球面に接する接平面上に定義すべき二次元ＵＶ直交座標系のＵ軸方向を向いたベクトルＵと、前記二次元ＸＹ直交座標系のＸ軸方向を向いたベクトルＸと、のなす角として与えられる平面傾斜角φを、前記切り出し向きに基づいて決定する段階と、
前記位置座標（ｘ０，ｙ０，ｚ０）および前記平面傾斜角φをパラメータとして含む正射影方式の変換演算式を利用して、座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づけ、座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像上の各画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、前記歪曲円形画像から前記切出中心点Ｐを中心として前記平面傾斜角φによって示される向きに切り出された部分画像についての平面正則画像を生成する演算を行う段階と、
をコンピュータもしくは電子回路によって実行させることを特徴とする画像変換方法。
【請求項２４】
請求項２３に記載の画像変換方法において、
正射影方式の変換演算式として、
ｘ＝Ｒ［（ｕ−ｘ０）Ａ＋（ｖ−ｙ０）Ｂ＋（ｗ−ｚ０）Ｅ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ｙ＝Ｒ［（ｕ−ｘ０）Ｃ＋（ｖ−ｙ０）Ｄ＋（ｗ−ｚ０）Ｆ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ここで、
Ａ＝１−（１−cosφ）（ｙ０２＋ｚ０２）
Ｂ＝−ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｃ＝ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｄ＝１−（１−cosφ）（ｚ０２＋ｘ０２）
Ｅ＝ｙ０sinφ＋ｚ０ｘ０（１−cosφ）
Ｆ＝−ｘ０sinφ＋ｙ０ｘ０（１−cosφ）
ｗ＝ｍＲ（但し、ｍは所定の変換倍率）
なる式を用いることを特徴とする画像変換方法。
【請求項２５】
請求項２３または２４に記載の画像変換方法において、
ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力し、前記切出中心点Ｐと前記補助点Ｑとを結ぶ直線を参照直線Ｊとし、この参照直線ＪとＸ軸とのなす角θ（但し、両者平行の場合はθ＝０°とする）に基づいて平面傾斜角φを決定することを特徴とする画像変換方法。
【請求項２６】
請求項２３または２４に記載の画像変換方法において、
ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐの位置を指定するための指示を入力するとともに、所定の入力画面上において、前記歪曲円形画像上の参照直線ＪとＸ軸とのなす角θを入力し、前記角θに基づいて平面傾斜角φを決定することを特徴とする画像変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像変換装置および画像変換方法に関し、特に、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う技術に関する。
【背景技術】
【０００２】
魚眼レンズを用いると、メカニカルな動作機構なしに、半球状の全方位を示す円形画像を得ることができる。このため、奇抜な効果を狙った風景写真などを撮影する際に広く利用されている。ただ、魚眼レンズを用いた撮影で得られる画像は、歪曲した円形の画像になるため、芸術写真などの用途にはそのまま利用することが可能かもしれないが、一般的な用途には不向きである。
【０００３】
そこで、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う装置が提案されている。たとえば、下記の特許文献１には、コンピュータを利用して歪曲円形画像の一部分を平面正則画像にリアルタイムで変換する技術が開示されている。このような変換技術を利用すれば、魚眼レンズを用いて撮影した歪曲円形画像からなる動画を、平面正則画像からなる動画としてリアルタイムで観察することが可能になり、１８０°の画角をもった監視システムなどへの応用が期待できる。
【特許文献１】特許第３０５１１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行うためには、変換対象となる部分が歪曲円形画像のどの部分であり（切り出しの位置）、当該部分をどのような向きに表示した平面正則画像が必要であり（切り出しの向き）、どの程度の範囲までを変換対象とするか（変換倍率）、といったパラメータを設定する必要がある。もちろん、これらのパラメータは、ユーザの希望に応じて任意に設定することが可能である。
【０００５】
しかしながら、前掲の特許文献などに開示されている従来の画像変換装置では、切り出しの位置や向きを、オイラー角と呼ばれる３つの角度により指定し、変換倍率も別途指定する必要があったため、ユーザの立場から見た操作性が悪いという問題がある。
【０００６】
オイラー角は、歪曲円形画像上にドーム状の仮想球面を定義し、この仮想球面上の所望の接点に接する平面正則画像形成面を定義したときに、当該接点の位置を方位角αおよび天頂角βで表し、平面正則画像の向きを平面傾斜角ψで表したものである。このような３つの角度α，β，ψが、三次元空間上に定義される角度であるのに対し、ユーザが実際に目にしている歪曲円形画像は二次元平面上に表示されている画像である。したがって、ユーザにとって、３つの角度α，β，ψをパラメータとして指定する操作は、決して直観的な操作と言えるものではない。
【０００７】
従来の画像変換装置のもうひとつの問題点は演算負担である。上述したオイラー角α，β，ψをパラメータとして指定した場合、当然ながら、これらオイラー角α，β，ψをパラメータとして含む変換演算式を用いた演算が必要になる。ところが、そのような変換演算式は、３つの角度α，β，ψに関する三角関数を含んだ複雑な式になるため、システムに対してかなり大きな演算負担を課することになる。特に、リアルタイムで変換処理を行う必要がある用途に用いる場合、三角関数演算を高速で行うことが可能な高機能なハードウエアが必要になり、製品コストの低減を阻む重要な問題になる。
【０００８】
そこで本発明は、魚眼レンズを用いた撮影により得られた歪曲円形画像を平面正則画像に変換する際に、ユーザの直観的な操作により必要なパラメータ設定が可能になり、しかも演算負担を軽減させることが可能な画像変換装置および画像変換方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
(1)   本発明の第１の態様は、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置において、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成され、ＸＹ座標系の原点Ｏを中心とし半径Ｒをもった歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
ディスプレイに表示されている歪曲円形画像上における、切出中心点Ｐの位置および切り出し向きをユーザの指示に基づいて入力する指示入力部と、
二次元ＸＹ直交座標系を含む三次元ＸＹＺ直交座標系において、原点Ｏを中心とし半径Ｒをもった仮想球面を定義したときに、切出中心点Ｐを通りＺ軸に平行な直線と仮想球面との交点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める交点演算部と、
交点Ｇにおいて仮想球面に接する接平面上に定義すべき二次元ＵＶ直交座標系のＵ軸方向を向いたベクトルＵと、二次元ＸＹ直交座標系のＸ軸方向を向いたベクトルＸと、のなす角として与えられる平面傾斜角φを、切り出し向きに基づいて決定する角度決定部と、
位置座標（ｘ０，ｙ０，ｚ０）および平面傾斜角φをパラメータとして含む正射影方式の変換演算式を利用して、座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づけ、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、歪曲円形画像から切出中心点Ｐを中心として平面傾斜角φによって示される向きに切り出された部分画像についての平面正則画像を生成する演算を行い、生成された平面正則画像を平面正則画像格納部に格納する変換演算部と、
を設けるようにしたものである。
【００１０】
(2)   本発明の第２の態様は、上述した第１の態様に係る画像変換装置において、
変換演算部が、正射影方式の変換演算式として、
ｘ＝Ｒ［（ｕ−ｘ０）Ａ＋（ｖ−ｙ０）Ｂ＋（ｗ−ｚ０）Ｅ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ｙ＝Ｒ［（ｕ−ｘ０）Ｃ＋（ｖ−ｙ０）Ｄ＋（ｗ−ｚ０）Ｆ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ここで、
Ａ＝１−（１−cosφ）（ｙ０２＋ｚ０２）
Ｂ＝−ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｃ＝ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｄ＝１−（１−cosφ）（ｚ０２＋ｘ０２）
Ｅ＝ｙ０sinφ＋ｚ０ｘ０（１−cosφ）
Ｆ＝−ｘ０sinφ＋ｙ０ｘ０（１−cosφ）
ｗ＝ｍＲ（但し、ｍは所定の変換倍率）
なる式を用いるようにしたものである。
【００１１】
(3)   本発明の第３の態様は、上述した第１または第２の態様に係る画像変換装置において、
指示入力部が、歪曲円形画像上に引かれた参照直線Ｊを定義するための指示を入力する機能を有し、
角度決定部が、参照直線ＪとＸ軸とのなす角θ（但し、両者平行の場合はθ＝０°とする）に基づいて平面傾斜角φを決定するようにしたものである。
【００１２】
(4)   本発明の第４の態様は、上述した第３の態様に係る画像変換装置において、
指示入力部が、歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力する機能を有し、切出中心点Ｐと補助点Ｑとを結ぶ直線を参照直線Ｊとするようにしたものである。
【００１３】
(5)   本発明の第５の態様は、上述した第３の態様に係る画像変換装置において、
指示入力部が、参照直線ＪとＸ軸とのなす角θを示す数値を所定の入力画面上で入力する機能と、切出中心点Ｐの位置を歪曲円形画像上で指定するための指示を入力する機能と、を有するようにしたものである。
【００１４】
(6)   本発明の第６の態様は、上述した第３〜第５の態様に係る画像変換装置において、
角度決定部が、参照直線ＪとＸ軸とのなす角θを近似的に平面傾斜角φとするようにしたものである。
【００１５】
(7)   本発明の第７の態様は、上述した第２の態様に係る画像変換装置において、
指示入力部が、ユーザの指示に基づいて変換倍率ｍを入力する機能を有し、
変換演算部が、指示入力部によって入力された変換倍率ｍを用いた演算を行うようにしたものである。
【００１６】
(8)   本発明の第８の態様は、上述した第７の態様に係る画像変換装置において、
指示入力部が、歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力する機能を有し、切出中心点Ｐと補助点Ｑとの距離ｄに基づいて、ｍ＝ｋ／ｄ（ｋは所定の比例定数）として与えられる数値を変換倍率ｍとするようにしたものである。
【００１７】
(9)   本発明の第９の態様は、上述した第１〜第８の態様に係る画像変換装置において、
変換演算部が、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を決定する際に、対応する座標（ｘ，ｙ）で示される位置の近傍に配置された歪曲円形画像上の複数の参照画素の画素値に対する補間演算を行うようにしたものである。
【００１８】
(10)  本発明の第１０の態様は、上述した第１〜第９の態様に係る画像変換装置において、
歪曲円形画像格納部に格納されている画像が、正射影方式の魚眼レンズによって撮影された正射影画像ではなく、非正射影方式の魚眼レンズによって撮影された非正射影画像である場合に、非正射影画像上の座標を正射影画像上の座標に変換する第１の座標変換式と、正射影画像上の座標を非正射影画像上の座標に変換する第２の座標変換式と、を利用して、
交点演算部が、切出中心点Ｐの座標を第１の座標変換式を用いて変換し、変換後の座標を用いて交点の位置座標（ｘ０，ｙ０，ｚ０）を求める処理を行い、
変換演算部が、正射影方式の変換演算式を用いて座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求めた後、座標（ｘ，ｙ）を第２の座標変換式を用いて変換し、変換後の座標を用いて歪曲円形画像上の参照画素の位置を特定するようにしたものである。
【００１９】
(11)  本発明の第１１の態様は、上述した第１０の態様に係る画像変換装置において、
歪曲円形画像格納部に格納されている画像が、等距離射影方式の魚眼レンズによって撮影された等距離射影画像である場合に、
交点演算部が、等距離射影画像上の座標（ｘ′，ｙ′）を正射影画像上の座標（ｘ，ｙ）に変換する第１の座標変換式として、
ｘ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｘ′
ｙ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｙ′
なる式を用い、
変換演算部が、正射影画像上の座標（ｘ，ｙ）を等距離射影画像上の座標（ｘ′，ｙ′）に変換する第２の座標変換式として、
ｘ′＝２／π・ｘ／sinc（π／２・√（ｘ２＋ｙ２））
ｙ′＝２／π・ｙ／sinc（π／２・√（ｘ２＋ｙ２））
なる式を用いるようにしたものである。
【００２０】
(12)  本発明の第１２の態様は、上述した第１〜第１１の態様に係る画像変換装置を、コンピュータにプログラムを組み込むことにより構成したものである。
【００２１】
(13)  本発明の第１３の態様は、上述した第１〜第１１の態様に係る画像変換装置の構成要素となる変換演算部として機能する電子回路を、半導体集積回路に組み込むようにしたものである。
【００２２】
(14)  本発明の第１４の態様は、上述した第１〜第１１の態様に係る画像変換装置と、魚眼レンズを用いたカメラと、平面正則画像を画面上に表示するモニタ装置と、を組み合わせ、カメラを用いた撮影により得られた歪曲円形画像が歪曲円形画像格納部へと格納され、平面正則画像格納部に得られた平面正則画像がモニタ装置によって表示されるように構成することにより、魚眼監視システムを実現するようにしたものである。
【００２３】
(15)  本発明の第１５の態様は、上述した第２の態様に係る画像変換装置において、
変換演算部が、
「関数ｆ（ｃ）＝１／ｃ」の値を様々な変数ｃの値について対応づけた第１の関数テーブルと、「関数ｆ（ξ）＝１／√ξ」の値を様々な変数ξの値について対応づけた第２の関数テーブルと、を有し、
ａ＝ｕ−ｘ０，ｂ＝ｖ−ｙ０，ｃ＝ｗ−ｚ０、
ξ＝（ａ／ｃ）２＋（ｂ／ｃ）２＋１
なる演算を行うことにより、ｃおよびξの値を求め、
第１の関数テーブルおよび第２の関数テーブルを参照することにより、求めたｃ，ξの値に対応する関数ｆ（ｃ），ｆ（ξ）の値を求め、
正射影方式の変換演算式における
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
なる値を、ｆ（ｃ）×ｆ（ξ）なる演算により求めるようにしたものである。
【００２４】
(16)  本発明の第１６の態様は、上述した第１〜第１１の態様に係る画像変換装置において、
変換演算部が、
所定の有効桁数に応じた間隔Ｗの離散値をとる変数ｔのうち、偶数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけた偶数関数テーブルと、
有効桁数に応じた間隔Ｗの離散値をとる変数ｔのうち、奇数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけた奇数関数テーブルと、
有効桁数からなる上位ビットと、有効桁数より下位の桁を示す下位ビットと、によって構成される変数ｔを格納するＴレジスタと、
上位ビットが偶数である場合には、上位ビットで示される偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を偶数関数テーブルから読み出し、上位ビットが奇数である場合には、上位ビットで示される奇数変数ｔよりも大きい最小の偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を偶数関数テーブルから読み出す偶数読出部と、
上位ビットが奇数である場合には、上位ビットで示される奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を奇数関数テーブルから読み出し、上位ビットが偶数である場合には、上位ビットで示される偶数変数ｔよりも大きい最小の奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を奇数関数テーブルから読み出す奇数読出部と、
偶数関数テーブルもしくは奇数関数テーブルから読み出された関数ｆ（ｔ）の値を格納するＡレジスタと、
偶数関数テーブルもしくは奇数関数テーブルから読み出された関数ｆ（ｔ）の値を格納するＢレジスタと、
上位ビットが偶数である場合には、偶数読出部が読み出した関数ｆ（ｔ）の値をＡレジスタに格納するとともに、奇数読出部が読み出した関数ｆ（ｔ）の値をＢレジスタに格納し、上位ビットが奇数である場合には、奇数読出部が読み出した関数ｆ（ｔ）の値をＡレジスタに格納するとともに、偶数読出部が読み出した関数ｆ（ｔ）の値をＢレジスタに格納する偶奇セレクタと、
Ａレジスタに格納されている値をｆ（Ａ）とし、Ｂレジスタに格納されている値をｆ（Ｂ）とし、下位ビットで示される値をδとして、補間後の関数ｆ（ｔ）の値を、ｆ（ｔ）＝（（Ｗ−δ）／Ｗ）×ｆ（Ａ）＋（δ／Ｗ）×ｆ（Ｂ）なる演算によって求める補間演算部と、
を有し、補間演算部によって求められた補間後の関数ｆ（ｔ）の値を利用して演算を行うようにしたものである。
【００２５】
(17)  本発明の第１７の態様は、上述した第１１の態様に係る画像変換装置において、
交点演算部が、第１の座標変換式における関数sinc（ｔ）を、
sinc（ｔ）＝１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....
なるテイラー展開した形式の式に基づいて演算し、
変換演算部が、第２の座標変換式における関数１／sinc（ｔ）を、所定の係数値ａ２，ａ４，ａ６，ａ８， ....を用いた
１／sinc（ｔ）＝１＋ａ２ｔ２＋ａ４ｔ４＋ａ６ｔ６＋ａ８ｔ８＋ ....
なる形式の式に基づいて演算するようにしたものである。
【００２６】
(18)  本発明の第１８の態様は、上述した第２の態様に係る画像変換装置において、
変換演算部が、cosφの値を、ベクトルＵとベクトルＸとの内積を、ベクトルＵの大きさとベクトルＸの大きさとの積で除することにより求めるようにしたものである。
【００２７】
(19)  本発明の第１９の態様は、上述した第２の態様に係る画像変換装置において、
指示入力部が、歪曲円形画像上に引かれた参照直線Ｊを定義するための指示を入力する機能を有し、
変換演算部が、参照直線Ｊの方向を向いたベクトルＪを定義し、cosφの値を、ベクトルＪとベクトルＸとの内積を、ベクトルＪの大きさとベクトルＸの大きさとの積で除することにより求めるようにしたものである。
【００２８】
(20)  本発明の第２０の態様は、上述した第２の態様に係る画像変換装置において、
変換演算部が、sinφの値を、sinφ＝√（１−cos２φ）なる演算により求めるようにしたものである。
【００２９】
(21)  本発明の第２１の態様は、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置において、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成された歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置をユーザの指示に基づいて入力し、切出中心点Ｐと補助点Ｑとを結ぶ直線を参照直線Ｊと認識し、切出中心点Ｐと補助点Ｑとの距離ｄに基づいて、ｍ＝ｋ／ｄ（ｋは所定の比例定数）として与えられる数値を変換倍率ｍと認識する指示入力部と、
座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づける変換演算式を利用して、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、歪曲円形画像から切出中心点Ｐを中心として参照直線Ｊに応じた向きに切り出された部分画像について、変換倍率ｍに基づいてスケーリングされた平面正則画像を生成する演算を行い、生成された平面正則画像を平面正則画像格納部に格納する変換演算部と、
を設けるようにしたものである。
【００３０】
(22)  本発明の第２２の態様は、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換装置において、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成された歪曲円形画像を格納する歪曲円形画像格納部と、
二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像を格納する平面正則画像格納部と、
歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する歪曲円形画像表示部と、
所定の入力画面上において、参照直線ＪとＸ軸とのなす角として定義される角度θと、変換倍率ｍと、をユーザの指示に基づいて入力するとともに、前記ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐの位置をユーザの指示に基づいて入力する指示入力部と、
座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づける変換演算式を利用して、座標（ｕ，ｖ）で示される位置に配置された平面正則画像上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、歪曲円形画像から切出中心点Ｐを中心として参照直線Ｊに応じた向きに切り出された部分画像について、変換倍率ｍに基づいてスケーリングされた平面正則画像を生成する演算を行い、生成された平面正則画像を平面正則画像格納部に格納する変換演算部と、
を設けるようにしたものである。
【００３１】
(23)  本発明の第２３の態様は、魚眼レンズを用いた撮影により得られた歪曲円形画像の一部分を切り出して、平面正則画像に変換する処理を行う画像変換方法において、
二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成され、ＸＹ座標系の原点Ｏを中心とし半径Ｒをもった歪曲円形画像を、歪曲円形画像格納部に格納する段階と、
歪曲円形画像格納部に格納されている歪曲円形画像をディスプレイに表示する段階と、
ディスプレイに表示されている歪曲円形画像上における、切出中心点Ｐの位置および切り出し向きをユーザの指示に基づいて入力する段階と、
二次元ＸＹ直交座標系を含む三次元ＸＹＺ直交座標系において、原点Ｏを中心とし半径Ｒをもった仮想球面を定義したときに、切出中心点Ｐを通りＺ軸に平行な直線と仮想球面との交点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める段階と、
交点Ｇにおいて仮想球面に接する接平面上に定義すべき二次元ＵＶ直交座標系のＵ軸方向を向いたベクトルＵと、二次元ＸＹ直交座標系のＸ軸方向を向いたベクトルＸと、のなす角として与えられる平面傾斜角φを、切り出し向きに基づいて決定する段階と、
位置座標（ｘ０，ｙ０，ｚ０）および平面傾斜角φをパラメータとして含む正射影方式の変換演算式を利用して、座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づけ、座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される平面正則画像上の各画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像上の参照画素の画素値に基づいて決定することにより、歪曲円形画像から切出中心点Ｐを中心として平面傾斜角φによって示される向きに切り出された部分画像についての平面正則画像を生成する演算を行う段階と、
をコンピュータもしくは電子回路に実行させるようにしたものである。
【００３２】
(24)  本発明の第２４の態様は、上述した第２３の態様に係る画像変換方法において、
正射影方式の変換演算式として、
ｘ＝Ｒ［（ｕ−ｘ０）Ａ＋（ｖ−ｙ０）Ｂ＋（ｗ−ｚ０）Ｅ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ｙ＝Ｒ［（ｕ−ｘ０）Ｃ＋（ｖ−ｙ０）Ｄ＋（ｗ−ｚ０）Ｆ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
ここで、
Ａ＝１−（１−cosφ）（ｙ０２＋ｚ０２）
Ｂ＝−ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｃ＝ｚ０sinφ＋ｘ０ｙ０（１−cosφ）
Ｄ＝１−（１−cosφ）（ｚ０２＋ｘ０２）
Ｅ＝ｙ０sinφ＋ｚ０ｘ０（１−cosφ）
Ｆ＝−ｘ０sinφ＋ｙ０ｘ０（１−cosφ）
ｗ＝ｍＲ（但し、ｍは所定の変換倍率）
なる式を用いるようにしたものである。
【００３３】
(25)  本発明の第２５の態様は、上述した第２３または第２４の態様に係る画像変換方法において、
ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力し、切出中心点Ｐと補助点Ｑとを結ぶ直線を参照直線Ｊとし、この参照直線ＪとＸ軸とのなす角θ（但し、両者平行の場合はθ＝０°とする）に基づいて平面傾斜角φを決定するようにしたものである。
【００３４】
(26)  本発明の第２６の態様は、上述した第２３または第２４の態様に係る画像変換方法において、
ディスプレイに表示されている歪曲円形画像上において、切出中心点Ｐの位置を指定するための指示を入力するとともに、所定の入力画面上において、歪曲円形画像上の参照直線ＪとＸ軸とのなす角θを入力し、この角θに基づいて平面傾斜角φを決定するようにしたものである。
【発明の効果】
【００３５】
本発明に係る画像変換装置を用いたユーザは、魚眼レンズを用いた撮影により得られた歪曲円形画像上における切出中心点Ｐの位置および切り出し向きを指示すればよいので、直観的な操作により、変換に必要なパラメータ設定が可能になる。しかも、変換演算は、ユーザの指示入力に基づいて導出された仮想球面上の接点の座標値（ｘ０，ｙ０，ｚ０）および平面傾斜角φをパラメータとして用いる比較的単純な変換演算式を用いて行われるため、演算負担を軽減させることも可能になる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明を図示する実施形態に基づいて説明する。
【００３７】
＜＜＜  §１．画像変換処理の基本原理  ＞＞＞
はじめに、魚眼レンズを用いた撮影により得られた歪曲円形画像の一般的な特徴と、その一部分を切り出して、平面正則画像に変換する処理の基本原理を説明する。図１は、正射影方式の魚眼レンズを用いた撮影により歪曲円形画像Ｓを形成する基本モデルを示す斜視図である。一般に、魚眼レンズは、その投影方式によって複数の種類に分けられるが、この図１に示すモデルは、正射影方式の魚眼レンズについてのものである（正射影方式以外の魚眼レンズに本発明を適用する手法は、§５で述べる）。
【００３８】
図１には、三次元ＸＹＺ直交座標系におけるＸＹ平面上に歪曲円形画像Ｓが形成された例が示されている。なお、ここでは、後述する変換演算式との整合性を確保するために、図示のとおり、Ｚ軸を図の下方にとり、Ｚ軸の負の領域側にドーム状の仮想球面Ｈ（半球）を定義した例を示すことにする。
【００３９】
ＸＹ平面上に形成された歪曲円形画像Ｓは、座標系の原点Ｏを中心とした半径Ｒの円を構成する画像であり、Ｚ軸の負の領域側における１８０°の画角をもった領域に存在する像を歪ませて記録したものに相当する。図２は、魚眼レンズを用いた撮影によって得られた歪曲円形画像Ｓの一例を示す平面図である。このように、歪曲円形画像Ｓには、Ｚ軸の負の領域側に存在するすべての像が記録されることになるが、その中心部分と周囲部分とでは、像の縮尺倍率が異なっており、記録された像の形状は歪んだものになる。なお、図２に示す歪曲円形画像Ｓは、魚眼レンズを用いた撮影により得られた歪曲円形画像の一般的なイメージを示すものであり、実際の魚眼レンズを用いて得られる正確な画像を示すものではない。
【００４０】
実際の魚眼レンズは、複数の凸レンズや凹レンズを組み合わせた光学系によって構成されるが、その光学的な特性は、図１に示すような仮想球面Ｈによってモデル化することができることが知られている。すなわち、歪曲円形画像Ｓの上面に、半径Ｒをもったドーム状の仮想球面Ｈ（半球）を配置したモデルを考えれば、正射影方式の魚眼レンズの光学的特性は、仮想球面Ｈ上の任意の点Ｈ（ｘ，ｙ，ｚ）に対して法線方向から入射する入射光線Ｌ１は、Ｚ軸に平行な入射光線Ｌ２として、ＸＹ平面上の点Ｓ（ｘ，ｙ）へ向かう振る舞いをする、と考えてよい。逆言すれば、図２において歪曲円形画像Ｓ上の点Ｓ（ｘ，ｙ）に位置する画素は、図１に示す入射光線Ｌ１の延長線上に存在する物体上の１点を示していることになる。
【００４１】
もちろん、実際の魚眼レンズで生じている光学的現象は、複数の凸レンズや凹レンズによる屈折により、撮像対象となる物体の特定の点が、ＸＹ平面上の特定の点Ｓ（ｘ，ｙ）上に結像する現象ということになるが、画像変換処理などを行う上では、図１に示すような仮想球面Ｈを用いたモデルに置き換えた議論を行っても何ら支障はない。したがって、前掲の特許文献に開示されている画像変換処理でも、このようなモデルを前提とした手法が示されており、本発明における以下の説明においても、このようなモデルを前提とした説明を行うことにする。
【００４２】
本発明に係る画像変換装置の目的は、歪曲円形画像Ｓ上の一部分を切り出して、平面正則画像に変換する処理を行うことである。たとえば、図２に示す歪曲円形画像Ｓを見たユーザが、その左下に描かれている女性の画像を、歪みのない正しい画像で観察したいと考えたとしよう。このような場合、ユーザは、歪曲円形画像Ｓのどの部分を切り出して変換を行うべきかを指定する必要がある。たとえば、図３にハッチングを施して示すような切出領域Ｅを変換対象とすべき領域として指定するのであれば、最も直観的な指定方法は、その中心点Ｐ（ｘ０，ｙ０）の位置を指定する方法であろう。本発明では、このようにしてユーザが指定する点Ｐを、切出中心点Ｐと呼ぶことにする。
【００４３】
ここでは、切出中心点Ｐ（ｘ０，ｙ０）を中心とした切出領域Ｅ内の画像を、平面正則画像に変換するために、次のようなモデルを考える。図４は、このモデルにおいて、歪曲円形画像Ｓを含むＸＹ座標系と、平面正則画像Ｔを含むＵＶ座標系との関係を示す斜視図である。図示のとおり、歪曲円形画像Ｓは、三次元ＸＹＺ直交座標系のＸＹ平面上に定義されているので、歪曲円形画像Ｓ自身は、二次元ＸＹ直交座標系上に定義された画像である。そこで、この歪曲円形画像Ｓ上に定義された切出中心点Ｐ（ｘ０，ｙ０）を通りＺ軸に平行な直線と仮想球面Ｈとの交点Ｇを考える。この交点Ｇは、いわば切出中心点Ｐ（ｘ０，ｙ０）の真上の点であり、その位置座標は（ｘ０，ｙ０，ｚ０）である。
【００４４】
次に、この交点Ｇ（ｘ０，ｙ０，ｚ０）において、仮想球面Ｈに接する接平面を定義し、この接平面上に二次元ＵＶ直交座標系を定義する。そして、平面正則画像Ｔを、この二次元ＵＶ直交座標系上の画像として求めることにする。図４に示す例の場合、交点Ｇ（ｘ０，ｙ０，ｚ０）が原点となるようにＵＶ座標系が定義されている。結局、このモデルにおけるＵＶ座標系の原点は、仮想球面Ｈ上のいずれかに設定され、ＵＶ座標系を構成するＵＶ平面は、この原点位置における仮想球面Ｈに対する接平面に一致する。
【００４５】
ＵＶ座標系の原点となる交点Ｇ（ｘ０，ｙ０，ｚ０）の位置は、図示のとおり、方位角αと天頂角βとによって特定することができる。ここで、方位角α（０≦α＜３６０°）は、切出中心点Ｐ（ｘ０，ｙ０）とＸＹ座標系の原点Ｏとを結ぶ直線とＸ軸とのなす角であり、天頂角β（０≦β≦９０°）は、ＵＶ座標系の原点となる点Ｇ（ｘ０，ｙ０，ｚ０）とＸＹ座標系の原点Ｏとを結ぶ直線とＺ軸とのなす角である。
【００４６】
このように、ＵＶ平面は、方位角αと天頂角βとを指定することによって特定することができるが、ＵＶ座標系を決定するには、更にもう１つのパラメータを指定する必要がある。このパラメータは、点Ｇを中心とした接平面上での回転ファクター（Ｕ軸の向き）を示すものであり、一般に平面傾斜角と呼ばれている。通常、この平面傾斜角は、「点Ｇを通り、ＸＹ平面に平行で、かつ、直線ＯＧに直交する軸」を基準軸として、当該基準軸とＵ軸とのなす角ψとして定義される（基準軸は、方位角αと天頂角βに依存して変化する）。これに対して、本発明では、上記角ψの代わりに、Ｘ軸を基準としたときのＵ軸の向きを示す角度φを用いることにする（基準軸は、常にＸ軸に固定される）。具体的には、本発明でパラメータとして用いる角度φは、図４に示すように、Ｕ軸とＸ′軸とのなす角度として定義される。ここで、Ｘ′軸は、交点Ｇ（ｘ０，ｙ０，ｚ０）を通りＸ軸に平行な軸である。要するに、角度φは、ＵＶ座標系においてＵ軸方向を向いたベクトルＵと、ＸＹ座標系においてＸ軸方向を向いたベクトルＸと、を定義したときに、ベクトルＵとベクトルＸとのなす角度として定義される角になる。このように、「本発明において用いられる角度φ」は、「従来の一般的な平面傾斜角ψ」とは異なる方法で定義される角度であるが、いずれもＵＶ座標系の回転ファクターを示すパラメータという点において共通するため、ここでは角度φについても「平面傾斜角」という用語を用いることにする。
【００４７】
図５は、ＵＶ座標系上に定義された平面正則画像Ｔと平面傾斜角φとの関係を示す平面図である。ここに示す例の場合、平面正則画像Ｔは、ＵＶ座標系の原点Ｇ（ｘ０，ｙ０，ｚ０）を中心とするＵＶ平面上の矩形として定義されており、その長辺はＵ軸に平行、短辺はＶ軸に平行になっている。平面傾斜角φは、上述したとおり、Ｕ軸とＸ′軸とのなす角であるから、図５に示す例の場合、ＵＶ平面上での平面正則画像Ｔの回転ファクターを示すパラメータということになる。
【００４８】
結局、図４に示す平面正則画像Ｔを形成するためのＵＶ座標系の位置および向きは、方位角α，天頂角β，平面傾斜角φという３つの角度からなるパラメータを設定することにより一義的に決定される。この３つの角度は、一般にオイラー角と呼ばれている（上述したとおり、平面傾斜角φについては、従来の一般的な平面傾斜角ψとは、若干、定義方法が異なっている）。
【００４９】
さて、本発明において実行される画像変換処理は、結局、ＸＹ座標系からＵＶ座標系への座標変換ということになる。そこで、ＸＹ座標系とＵＶ座標系との幾何学的な位置関係を、もう少し詳しく見てみよう。図６の斜視図に示されているように、ＸＹ平面上の歪曲円形画像Ｓを、方位角αによって示される方向に対して、天頂角βだけ傾斜すると、傾斜面Ｓ１が得られる。ここで、図示のとおり、ＸＹ座標系の原点ＯからＵＶ座標系の原点Ｇへ向かう方向に法線ベクトルｎを定義し、傾斜面Ｓ１をこの法線ベクトルｎの方向に距離Ｒだけ平行移動させると、接平面Ｓ２が得られることになる。移動距離Ｒは、歪曲円形画像Ｓの半径であり、仮想球面Ｈの半径でもある。
【００５０】
接平面Ｓ２は、点Ｇにおいて仮想球面Ｈに接する平面であり、法線ベクトルｎは、点Ｇにおける仮想球面Ｈの法線方向を示すベクトルである。そして、ＵＶ座標系は、この接平面Ｓ２上に定義される座標系であり、点Ｇを原点とし、Ｕ軸とＸ′軸（Ｘ軸を平行移動した軸）とのなす角が平面傾斜角φとなるように定義された二次元直交座標系である。図７は、図６の斜視図に示されている各構成要素を水平方向から見た図である。前述したとおり、点Ｇ（ｘ０，ｙ０，ｚ０）は、歪曲円形画像Ｓ上に定義された切出中心点Ｐ（ｘ０，ｙ０）を通りＺ軸に平行な直線と仮想球面Ｈとの交点として定まる点であり、その位置は方位角αおよび天頂角βによって定まる。一方、図８は、図６の斜視図に示されている各構成要素を上方から見た図である。図に示す交点Ｇ（ｘ０，ｙ０，ｚ０）は、仮想球面Ｈ上の点であり、ＸＹ平面の上方に位置している。そして、この交点Ｇ（ｘ０，ｙ０，ｚ０）における仮想球面Ｈに対する接平面上にＵＶ座標系が定義される。このとき、Ｕ軸とＸ′軸とのなす角がφとなるように、Ｕ軸の向きが定められる。
【００５１】
図９は、ＵＶ座標系上に定義された平面正則画像Ｔを示す平面図である。ここでは、この平面正則画像Ｔ上の任意の点をＵＶ座標系の座標値ｕ，ｖを用いて、Ｔ（ｕ，ｖ）と表すことにする。前述したとおり、ここに示すモデルでは、ＵＶ座標系の原点Ｔ（０，０）の位置は、点Ｇ（ｘ０，ｙ０，ｚ０）に一致する。一方、図１０は、ＸＹ座標系上に定義された歪曲円形画像Ｓを示す平面図である。ここでは、この歪曲円形画像Ｓ上の任意の点をＸＹ座標系の座標値ｘ，ｙを用いて、Ｓ（ｘ，ｙ）と表すことにする。
【００５２】
本発明に係る画像変換装置は、図１０に示すように、ユーザが歪曲円形画像Ｓ上の１点Ｐ（ｘ０，ｙ０）の位置を切出中心点として指定すると（実際には、後述するように、切り出し向きの指定も行う）、その近傍の切出領域Ｅ内の歪曲した画像を正則画像に変換し、図９に示すＵＶ座標系上に定義された平面正則画像Ｔとして出力する機能を有している。このような画像変換を行うためには、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）とＸＹ座標系上の１点Ｓ（ｘ，ｙ）との間に１対１の対応関係を定義しておく必要がある。このような対応関係は、実際には、変換演算式として表現することができる。
【００５３】
このような変換演算式は、三次元ＸＹＺ座標系の空間内に配置されたＵＶ座標系の位置および向きが決定すれば、一義的に定義することが可能である。たとえば、図４に示すような特定のＵＶ座標系が定義されており、その上に何らかの平面正則画像Ｔが配置されていたとする。この場合、この平面正則画像Ｔを撮影対象となる物体と考え、図示のモデルに相当する魚眼レンズを用いて、当該物体を撮影すれば、ＸＹ平面上に歪曲円形画像Ｓが得られることになる。このとき、撮影対象物体となる平面正則画像Ｔ上の任意の点Ｔ（ｕ，ｖ）の歪曲円形画像Ｓ上での結像位置Ｓ（ｘ，ｙ）は、図１で説明した魚眼レンズの光学的な基本特性に基づいて決定できる。すなわち、点Ｔ（ｕ，ｖ）からの光線Ｌ１が法線方向から入射するような仮想球面Ｈ上の点Ｈ（ｘ，ｙ，ｚ）を求めれば、結像位置はＳ（ｘ，ｙ）として与えられることになる。
【００５４】
結局、ＵＶ座標系の位置および向きが決定すれば、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）とＸＹ座標系上の１点Ｓ（ｘ，ｙ）との間に１対１の対応関係を定義することができ、そのような対応関係は変換演算式として表現することができる。歪曲円形画像Ｓの一部を平面正則画像Ｔに変換する画像変換処理は、この変換演算式を用いた座標変換演算によって行うことができる。たとえば、図９に示す平面正則画像Ｔにおける任意の１点Ｔ（ｕ，ｖ）に位置する画素の画素値は、図１０に示す歪曲円形画像Ｓ上の対応点Ｓ（ｘ，ｙ）に位置する画素の画素値に基づいて決定すればよい。これが歪曲円形画像の一部を平面正則画像に変換する画像変換処理の基本原理である。
【００５５】
＜＜＜  §２．変換演算式の比較  ＞＞＞
上述したとおり、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）とＸＹ座標系上の１点Ｓ（ｘ，ｙ）とを対応づける変換演算式は、三次元ＸＹＺ座標系の空間内に配置されたＵＶ座標系の位置および向きが決定しなければ一義的には定義できないが、ＵＶ座標系の位置および向きをパラメータ値として含む形の変換演算式であれば、定義することは可能である。
【００５６】
たとえば、図１１に式（１）〜（９）として示されている変換演算式は、前掲の特許文献に開示されている式である。この変換演算式は、ＵＶ座標系の位置を示すパラメータα，βと、ＵＶ座標系の向きを示すパラメータψとを含む式になっている。これら３つのパラメータは、§１で述べたオイラー角、すなわち、方位角α，天頂角β，平面傾斜角ψである。ここで、平面傾斜角ψは、従来の一般的な方法によって定義された回転ファクターを示すパラメータであり、図４において、「点Ｇを通り、ＸＹ平面に平行で、かつ、直線ＯＧに直交する軸（図示されていない）」を基準軸として、当該基準軸とＵ軸とのなす角ψとして定義される角度である（前述したとおり、本発明では、角ψの代わりに、図４に示すように、Ｕ軸とＸ′軸とのなす角φを用いることになる）。
【００５７】
具体的には、
ｘ＝Ｒ（ｕＡ＋ｖＢ＋ｗＥ）／
√（ｕ２＋ｖ２＋ｗ２）                式（１）
は、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）の座標値ｕ，ｖを用いて、ＸＹ座標系上の対応点Ｓ（ｘ，ｙ）のｘ座標値を求めるための式であるが、Ａ，Ｂ，Ｅは、それぞれ、
Ａ＝cosψcosα−sinψsinαcosβ           式（３）
Ｂ＝−sinψcosα−cosψsinαcosβ         式（４）
Ｅ＝sinβsinα                            式（７）
なる数式で求まる値であり、オイラー角α，β，ψの三角関数を用いた演算によって決定されることになる。
【００５８】
同様に、
ｙ＝Ｒ（ｕＣ＋ｖＤ＋ｗＦ）／
√（ｕ２＋ｖ２＋ｗ２）                式（２）
は、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）の座標値ｕ，ｖを用いて、ＸＹ座標系上の対応点Ｓ（ｘ，ｙ）のｙ座標値を求めるための式であるが、Ｃ，Ｄ，Ｆは、それぞれ、
Ｃ＝cosψsinα＋sinψcosαcosβ           式（５）
Ｄ＝−sinψsinα＋cosψcosαcosβ         式（６）
Ｆ＝−sinβcosα                          式（８）
なる数式で求まる値であり、オイラー角α，β，ψの三角関数を用いた演算によって決定されることになる。
【００５９】
なお、式（１），（２）におけるｗは、
ｗ＝ｍＲ                                  式（９）
で与えられる値である。ここで、Ｒは、歪曲円形画像Ｓの半径であり、ｍは変換倍率である。変換倍率ｍは、座標値ｕ，ｖのスケーリングと、座標値ｘ，ｙのスケーリングとの関係を示すものであり、変換倍率ｍを大きく設定すればするほど、平面正則画像Ｔには拡大された画像が求められる。実際には、平面正則画像Ｔの大きさ（たとえば、縦横の画素数）には制限があるため、変換倍率ｍを大きく設定すればするほど、歪曲円形画像Ｓの切出領域Ｅは小さくなる。
【００６０】
結局、図１１に示す式において、Ｒの値は歪曲円形画像Ｓの半径として既知であり、ｍの値はユーザによって指定された（もしくは、予め固定された）変換倍率値として既知であるから、ユーザがオイラー角α，β，ψを指定することにより、ＵＶ座標系の位置および向きを決定してやれば、図１１に示す変換演算式において、座標値ｘ，ｙを算出するための未知数はｕ，ｖのみになる。したがって、この変換演算式を用いれば、平面正則画像Ｔにおける任意の１点Ｔ（ｕ，ｖ）に対応する歪曲円形画像Ｓ上の対応点Ｓ（ｘ，ｙ）を決定することができる。
【００６１】
前掲の特許文献に開示されている画像変換の方法は、この図１１に示す変換演算式を用いて、歪曲円形画像Ｓの一部を平面正則画像Ｔに変換するものである。しかしながら、このような変換演算式に基づいて変換演算を行う従来の画像変換装置には、前述したように、２つの問題がある。
【００６２】
第１の問題は、ユーザの立場から見た操作性の問題である。図１１に示す変換演算式に基づく演算を実行するためには、ユーザはオイラー角α，β，ψを指定する操作を行う必要がある。ところが、オイラー角α，β，ψは、三次元空間上に定義される角度であるのに対し、ユーザが実際に目にしている歪曲円形画像Ｓは二次元平面上に表示されている画像である。したがって、ユーザにとって、３つの角度α，β，ψをパラメータとして指定する操作は、決して直観的な操作と言えるものではない。このような点において、前掲の特許文献に開示されている従来の画像変換装置は、ユーザの立場からは、必ずしも使い易い装置とは言えない。
【００６３】
第２の問題は、図１１に示す変換演算式に基づく演算が、かなり負担の大きな演算になる点である。図１１に示す式（３）〜（８）には、多数の三角関数の項が含まれている。一般に、三角関数の演算は、演算器やコンピュータにとって、かなり負担の大きな演算である。特に、リアルタイムでの変換処理が要求される場合、三角関数演算を高速で行うことが可能な高機能なハードウエアが必要になり、製品コストもそれだけ高騰せざるを得ない。
【００６４】
本発明の最も重要な特徴は、図１１に示す従来の変換演算式の代わりに、図１２に示す新たな変換演算式（以下、本発明の変換演算式という。その数学的な導出プロセスは、§７で述べる。）を用いて演算を行う点にある。いずれの演算式も、平面正則画像Ｔにおける任意の１点Ｔ（ｕ，ｖ）に対応する歪曲円形画像Ｓ上の対応点Ｓ（ｘ，ｙ）を決定するための式であり、１組の変数値ｕ，ｖを代入することにより、１組の関数値ｘ，ｙが求まる、という点では共通する。しかしながら、図１２に式（１１）〜（１９）として示されている本発明の変換演算式では、図１１に式（１）〜（９）として示されている従来の変換演算式に比べて、三角関数の出現頻度がかなり減少していることがわかる。その理由は、３つの角度である方位角、天頂角、平面傾斜角のうち、方位角と天頂角が陽に使われていないからである。
【００６５】
具体的には、
ｘ＝Ｒ［（ｕ−ｘ０）Ａ＋（ｖ−ｙ０）Ｂ＋（ｗ−ｚ０）Ｅ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）      式（１１）
は、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）の座標値ｕ，ｖを用いて、ＸＹ座標系上の対応点Ｓ（ｘ，ｙ）のｘ座標値を求めるための式である。ここで、Ａ，Ｂ，Ｅは、それぞれ、
Ａ＝１−（１−cosφ）（ｙ０２＋ｚ０２）                      式（１３）
Ｂ＝−ｚ０sinφ＋ｘ０ｙ０（１−cosφ）                       式（１４）
Ｅ＝ｙ０sinφ＋ｚ０ｘ０（１−cosφ）                         式（１７）
なる数式で求まる値である。この数式に含まれている三角関数は、平面傾斜角φについてのsinφおよびcosφのみである。
【００６６】
同様に、
ｙ＝Ｒ［（ｕ−ｘ０）Ｃ＋（ｖ−ｙ０）Ｄ＋（ｗ−ｚ０）Ｆ］／
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）     式（１２）
は、ＵＶ座標系上の１点Ｔ（ｕ，ｖ）の座標値ｕ，ｖを用いて、ＸＹ座標系上の対応点Ｓ（ｘ，ｙ）のｙ座標値を求めるための式である。ここで、Ｃ，Ｄ，Ｆは、それぞれ、
Ｃ＝ｚ０sinφ＋ｘ０ｙ０（１−cosφ）                         式（１５）
Ｄ＝１−（１−cosφ）（ｚ０２＋ｘ０２）                      式（１６）
Ｆ＝−ｘ０sinφ＋ｙ０ｘ０（１−cosφ）                       式（１８）
なる数式で求まる値である。この数式に含まれている三角関数は、やはり平面傾斜角φについてのsinφおよびcosφのみである。
【００６７】
なお、式（１１），（１２）におけるｗが、
ｗ＝ｍＲ                                  式（１９）
で与えられる値であり、Ｒが歪曲円形画像Ｓの半径、ｍが変換倍率である点は、従来の変換演算式と同様である。
【００６８】
結局、図１１に示す式に含まれていた方位角αおよび天頂角βに関する三角関数は、図１２に示す式には全く含まれていないことになる。その代わりに、図１２に示す式には、点Ｇの座標値（ｘ０，ｙ０，ｚ０）が含まれている。これは、ＵＶ座標系の位置を示すパラメータとして、図１１に示す従来の式では、方位角αと天頂角βを用いているのに対して、図１２に示す本発明の式では、点Ｇの座標値（ｘ０，ｙ０，ｚ０）を用いているためである。
【００６９】
図４に示すように、ＵＶ座標系の原点となる点Ｇ（ｘ０，ｙ０，ｚ０）は、切出中心点Ｐ（ｘ０，ｙ０）を通りＺ軸に平行な直線と仮想球面Ｈとの交点として定義される点である。ここで、切出中心点Ｐ（ｘ０，ｙ０）の位置は、ユーザの指定（歪曲円形画像Ｓのどの部分を切り出して、平面正則画像に変換して欲しいかという要求）に基づいて設定される点であるから、結局、交点Ｇ（ｘ０，ｙ０，ｚ０）も、ユーザの要望に応じて設定される点ということになる。そして、この交点Ｇを特定する方法として、図１１に示す従来の式は、方位角αおよび天頂角βという２つの角度を用いた式であるのに対して、図１２に示す本発明の式は、（ｘ０，ｙ０，ｚ０）という座標値を用いた式ということになる。また、図１１に示す従来の式で用いられている平面傾斜角ψは、図４において「点Ｇを通り、ＸＹ平面に平行で、かつ、直線ＯＧに直交する軸（図示されていない）」を基準軸として、当該基準軸とＵ軸とのなす角ψとして定義されるのに対して、図１２に示す本発明の式で用いられている平面傾斜角φは、図４に示すように、Ｕ軸とＸ′軸とのなす角として定義される。
【００７０】
このように、交点Ｇの位置を方位角αおよび天頂角βを用いて表現し、平面傾斜角ψを用いた従来の変換演算式（図１１）と、交点Ｇの位置を（ｘ０，ｙ０，ｚ０）なる座標値を用いて表現し、平面傾斜角φを用いた本発明の変換演算式（図１２）とは、幾何学的には等価な式ということができる。しかしながら、演算器を組み合わせて構成したハードウエアや、コンピュータ用ソフトウエアによって、実際の演算処理を行うという観点では、この２つの変換演算式には大きな違いがある。すなわち、従来の変換演算式（図１１）に基づく演算を行うためには、多数の三角関数演算（式（３）〜（８））を行う必要があるのに対して、本発明の変換演算式（図１２）を用いれば、三角関数演算は大幅に低減される（式（１３）〜（１８））。
【００７１】
また、ユーザの操作性という観点から見ると、方位角αおよび天頂角βをパラメータとして設定する操作に比べて、点Ｇの座標値（ｘ０，ｙ０，ｚ０）をパラメータとして設定する操作の方が、はるかに直観的であり良好な操作性が得られる。上述したとおり、点Ｇは、切出中心点Ｐ（ｘ０，ｙ０）を通りＺ軸に平行な直線と仮想球面Ｈとの交点として定義される点であるから、ユーザは、歪曲円形画像Ｓ上において、切出中心点Ｐ（ｘ０，ｙ０）の位置を指定する操作を行えば、座標値ｚ０は交点を求める演算によって自動的に求めることができる。もちろん、切出中心点Ｐ（ｘ０，ｙ０）の位置を指定する操作は、ディスプレイに表示された歪曲円形画像Ｓ上の１点をクリックするなどの直観的な操作で行うことができる。更に、従来の平面傾斜角ψに比べて、本発明の平面傾斜角φは、常にＸ軸という固定軸を基準として定義される角であるため、§３で詳述するように、ユーザは、歪曲円形画像Ｓ上において角φを直観的に指定することが可能になる。
【００７２】
このように、本発明に係る画像変換装置では、従来の変換演算式（図１１）に基づく演算に代えて、本発明の変換演算式（図１２）に基づく演算を行うようにしたため、魚眼レンズを用いた撮影により得られた歪曲円形画像Ｓを平面正則画像Ｔに変換する際に、ユーザの直観的な操作により必要なパラメータ設定が可能になり、しかも演算負担を軽減させることが可能になる。
【００７３】
＜＜＜  §３．本発明におけるパラメータ設定法  ＞＞＞
本発明の変換演算式に基づく演算を行うためには、図１２の各式に示されているとおり、平面傾斜角φ、交点Ｇの座標値（ｘ０，ｙ０，ｚ０）、歪曲円形画像Ｓの半径Ｒ、変換倍率ｍをパラメータとして設定する必要がある。別言すれば、これらのパラメータの値が既知であれば、式（１１）および式（１２）に所定の変数値ｕ，ｖを与えることにより、関数値ｘ，ｙを算出することができるので、ＵＶ座標系上の任意の１点Ｔ（ｕ，ｖ）に対応するＸＹ座標系上の対応点Ｓ（ｘ，ｙ）を特定することができ、歪曲円形画像Ｓを平面正則画像Ｔに変換する処理が可能になる。
【００７４】
ここで、上記パラメータφ，ｘ０，ｙ０，ｚ０，Ｒ，ｍのうち、ｚ０の値は交点を求める幾何学的な演算によって自動的に求めることができるので、ユーザが入力する必要はない。また、半径Ｒは、撮影に用いた魚眼レンズに固有の数値であるから、予め当該固有値を用いた演算を行うようにしておけば、ユーザが入力する必要はない。もちろん、半径Ｒの値が異なる複数種類の魚眼レンズで撮影した歪曲円形画像に適宜対応できるようにしておくのであれば、用いた魚眼レンズに応じて、それぞれ異なるＲの値をユーザに入力させればよい。その場合でも、単なる数値を入力するだけの操作であるから、ユーザの操作負担は軽微なものである。
【００７５】
そこで、ここでは、残りのパラメータφ，ｘ０，ｙ０，ｍを、ユーザに効率的に設定させるユニークな実施例を述べることにする。この実施例は、ユーザと画像変換装置との間の理想的なマンマシンインターフェイスを提案するものである。
【００７６】
ここで述べるパラメータ設定法の特徴は、図１３に示すように、ＸＹ座標系上に定義されている歪曲円形画像Ｓをユーザに提示し、この画像上で２点Ｐ，Ｑを指定させる点にある。この方法では、この２点Ｐ（ｘ０，ｙ０），Ｑ（ｘ１，ｙ１）の位置情報に基づいて、パラメータφ，ｘ０，ｙ０，ｍの値を設定することができる。具体的には、点Ｐ（ｘ０，ｙ０）の座標値（ｘ０，ｙ０）は、そのままパラメータｘ０，ｙ０の値として用いられる。また、２点Ｐ，Ｑ間の距離ｄの値は、変換倍率ｍを決定するために利用される。すなわち、変換倍率ｍは、所定の比例定数ｋを用いて、ｍ＝ｋ／ｄなる値により決定される。２点Ｐ，Ｑ間の距離ｄは、点Ｐの座標値（ｘ０，ｙ０）と点Ｑの座標値（ｘ１，ｙ１）とを用いて、ｄ＝√（（ｘ０−ｘ１）２＋（ｙ０−ｙ１）２）なる演算によって算出できる。更に、２点Ｐ，Ｑを結ぶ直線を参照直線Ｊとし、この参照直線ＪとＸ軸とのなす角θを求めれば（但し、両者平行の場合はθ＝０°とする）、この角度θに基づいて、平面傾斜角φを決定することができる（具体的な方法は後述する）。
【００７７】
このようにして、ユーザが、ディスプレイの画面に表示されている歪曲円形画像Ｓを見ながら、当該画像上で、２点Ｐ，Ｑをマウスクリックなどの方法で指定する操作を行うと、４つのパラメータφ，ｘ０，ｙ０，ｍが決定されることになる。ここで、２点Ｐ，Ｑのもつ意味を考えてみよう。まず点Ｐは、これまで述べてきた切出中心点Ｐ（ｘ０，ｙ０）に他ならない。図１０に示す例のように、ユーザが指定した切出中心点Ｐ（ｘ０，ｙ０）の近傍の切出領域Ｅ内の歪曲画像が、平面正則画像に変換されることになる。したがって、ユーザは、歪曲円形画像Ｓの「ここを中心とした部分」を正則画像に変換したい、という要求を、切出中心点Ｐ（ｘ０，ｙ０）の位置として入力する操作を行えばよい。
【００７８】
一方、点Ｑは、「切り出し向き」と「変換倍率」とを指定するための点であり、ここでは補助点Ｑと呼ぶことにする。「切り出し向き」は、切出中心点Ｐと補助点Ｑとの位置関係に基づいて決定される。別言すれば、２点Ｐ，Ｑを結ぶ参照直線Ｊが、「切り出し向き」を示すことになる。後述するように、平面傾斜角φは、参照直線ＪとＸ軸とのなす角θに基づいて決定されるので、結局、図１３に示す参照直線Ｊの向きは、図５に示すＵ軸の向きを左右するパラメータということになる。図１３に示されているＸＹ平面上で参照直線Ｊが時計回りに回転すれば、図５に示されている接平面上でＵ軸も時計回りに回転することになり、図１０に示されている切出領域Ｅも時計回りに回転することになる。したがって、ユーザは、切出中心点Ｐ（ｘ０，ｙ０）の位置を指定する入力を行った後、この切出中心点Ｐ（ｘ０，ｙ０）に対して所望の相対位置に補助点Ｑ（ｘ１，ｙ１）を指定する入力操作を行うことにより、歪曲円形画像Ｓの「こっち方向を横向きにとった」正則画像を得たい、という要求を伝えることができる。
【００７９】
「変換倍率」は、上述したとおり、２点Ｐ，Ｑ間の距離ｄを用い、ｍ＝ｋ／ｄなる式で決定される。通常、平面正則画像Ｔをディスプレイの画面に表示する場合、その表示領域の寸法は固定されている。このため、変換倍率ｍを大きく設定すればするほど、平面正則画像Ｔはディスプレイ上で拡大されて表示されることになるが、表示されている平面正則画像Ｔに対応する切出領域Ｅの面積は小さくなる。したがって、比例定数ｋの値を、ディスプレイの表示画面の大きさ（ここで示す例の場合、Ｕ軸方向に対応する画面の画素数）を考慮した適当な値に設定しておけば、補助点Ｑの位置を、ほぼ切出領域Ｅの境界を示すパラメータとして利用することが可能である。
【００８０】
このような方法で各パラメータ値の設定を行えば、たとえば、図１３に示す歪曲円形画像Ｓの切出中心点Ｐ（ｘ０，ｙ０）の位置は、図９に示す平面正則画像Ｔの原点Ｔ（０，０）に対応し、図１３に示す参照直線Ｊの向きは、図９に示すＵ軸の向きに対応し、図１３に示す補助点Ｑ（ｘ１，ｙ１）の位置は、図９に示す境界点Ｂに対応することになる。別言すれば、ユーザは、図９に示すような所望の平面正則画像Ｔを頭の中で想定しながら、原点Ｔ（０，０）の位置に表示すべき部分を、歪曲円形画像Ｓ上において切出中心点Ｐ（ｘ０，ｙ０）として指定し、境界点Ｂの位置に表示すべき部分を、歪曲円形画像Ｓ上において補助点Ｑ（ｘ１，ｙ１）として指定すればよいので、所望の平面正則画像Ｔを念頭に入れた極めて直観的な指示入力操作を行うことが可能になる。
【００８１】
図１４は、具体的な歪曲円形画像上で２点Ｐ，Ｑを指定することにより、切出中心点Ｐ、切り出し向きを示す角度θ、変換倍率ｍの３つのパラメータを設定する例を示す平面図である。ここでは、図示のとおり、歪曲円形画像の一部分に歪んだ顔の画像が表示されており、ユーザが、この顔を囲む切出領域Ｅの部分について、平面正則画像Ｔを得たいと要望した場合を考えてみよう。この場合、ユーザは、まず、顔の中心付近に切出中心点Ｐ（ｘ０，ｙ０）を指定し、続いて、頭頂部付近に補助点Ｑ（ｘ１，ｙ１）を指定する入力操作を行えばよい。すると、図示のような参照直線Ｊが定義され、Ｘ軸とのなす角θが認識され、このθに基づいて平面傾斜角φが決定され、ＵＶ座標系の位置と向き（Ｕ軸の向き）が決定される。
【００８２】
図１５は、このようなパラメータ設定に基づいて得られる平面正則画像Ｔを示す平面図である。図１５に示す点Ｐ，Ｑは、図１４に示す切出中心点Ｐ（ｘ０，ｙ０）および補助点Ｑ（ｘ１，ｙ１）に対応する点である。平面正則画像Ｔ上に表示されている顔が横向きになっているのは、図１４において、補助点Ｑ（ｘ１，ｙ１）の位置を顔の頭頂部付近に指定したためである。すなわち、図１４に示す２点Ｐ，Ｑを結ぶ参照直線Ｊの方向が、平面正則画像ＴにおけるＵ軸方向となるような画像変換が行われたためである。
【００８３】
平面正則画像Ｔ上に正立状態の顔を得たい場合、ユーザは、図１４において、まず、顔の中心付近に切出中心点Ｐ（ｘ０，ｙ０）を指定し、続いて、顔の右側離隔位置に補助点Ｑ′（ｘ２，ｙ２）を指定する入力操作を行えばよい。すると、図示のような参照直線Ｊ′が定義され、Ｘ軸とのなす角θ′が認識され、このθ′に基づいて平面傾斜角φが決定され、ＵＶ座標系の位置と向き（Ｕ軸の向き）が決定される。
【００８４】
図１６は、このようなパラメータ設定に基づいて得られる平面正則画像Ｔを示す平面図である。図１６に示す点Ｐ，Ｑ′は、図１４に示す切出中心点Ｐ（ｘ０，ｙ０）および補助点Ｑ′（ｘ２，ｙ２）に対応する点である。平面正則画像Ｔ上に表示されている顔が正立像になっているのは、図１４において、補助点Ｑ′（ｘ２，ｙ２）の位置を顔の右側離隔位置に指定したためである。すなわち、図１４に示す２点Ｐ，Ｑ′を結ぶ参照直線Ｊ′の方向が、平面正則画像ＴにおけるＵ軸方向となるような画像変換が行われたためである。
【００８５】
図１５に示す画像も図１６に示す画像も、同一のディスプレイに表示された画像であり、いずれも横方向の寸法がａ（水平方向の画素数がａ個）、縦方向の寸法がｂ（垂直方向の画素数がｂ個）である。ただ、両画像では、変換倍率ｍの値が異なっており、図１５に示す画像の方が、図１６に示す画像よりも拡大されている。これは、図１４において、２点Ｐ，Ｑ間距離よりも、２点Ｐ，Ｑ′間距離の方が大きくなるように補助点の位置指定がなされたためである。図１４において、補助点Ｑ（ｘ１，ｙ１）を指定した場合の切出領域Ｅは図示のとおりであるが、補助点Ｑ′（ｘ２，ｙ２）を指定した場合の切出領域Ｅ′（図示省略）は、切出領域Ｅよりも広い領域になる。このため、切出領域Ｅについての正則画像を表示した図１５に示す例に比べて、切出領域Ｅ′についての正則画像を表示した図１６に示す例の場合、画像の拡大倍率は低くなる。
【００８６】
このように、変換倍率ｍを、２点Ｐ，Ｑ間距離ｄを用いて、ｍ＝ｋ／ｄなる式で定め、比例定数ｋを適当な値に設定してやれば、補助点Ｑの位置を平面正則画像Ｔの境界を定めるパラメータとして利用することができるので、ユーザに直観的な入力操作を提供する上では好都合である。ユーザは、図９に示すような所望の平面正則画像Ｔにおける原点Ｔ（０，０）および境界点Ｂの位置に対応する点として、歪曲円形画像Ｓ上において切出中心点Ｐ（ｘ０，ｙ０）および補助点Ｑ（ｘ１，ｙ１）の位置を指定する入力操作を行うことにより、所望の切出領域Ｅに対応した平面正則画像Ｔを得ることが可能になる。
【００８７】
最後に、切り出し向きを示す角度θ（図１３に示す参照直線ＪとＸ軸とのなす角であり、両者平行の場合はθ＝０°とする）に基づいて、平面傾斜角φを決定する具体的な方法を述べる。図１７は、この角度θと平面傾斜角φとの関係を示す斜視図である。角度θは、ＸＹ平面上に位置する参照直線ＪとＸ軸とのなす角であるのに対して、平面傾斜角φは、ＵＶ平面上のＵ軸方向を向いたベクトルＵとＸＹ平面上のＸ軸方向を向いたベクトルＸとのなす角として定義される角度である。図１７には、接平面Ｓ２上のＵ軸を傾斜面Ｓ１上まで平行移動したＵ′軸（ベクトルＵ′）を考え、Ｕ′軸とＸ軸とのなす角度として、平面傾斜角φを示している。
【００８８】
このように、参照直線ＪがＸＹ平面上の直線であるのに対して、Ｕ′軸は傾斜面Ｓ１上の軸であるので、天頂角β＝０の場合にはθ＝φが成り立つが、β＞０の場合には両者は等しくならない。角度θに基づいて、平面傾斜角φの正確な値を決定するためには、図１８に示すように、方位角αおよび天頂角βをパラメータとして用いた演算式
φ＝ｆ（θ）                        式（２１）
を用いた演算を行う必要がある（関数ｆは、図６や図１７に示す幾何学的配置に基いて一義的に決定されることになるが、三角関数を用いた複雑な式で示される。）。
【００８９】
ただ、実用上は、切り出し向きを示す角度θを、近似的に平面傾斜角φとして用いても、大きな支障は生じない。これは、本発明で用いる平面傾斜角φは、図４に示すように、Ｕ軸とＸ′軸とのなす角として定義された角であり、Ｘ軸を基準として定義された角になっているためである。もちろん、角度θの値を近似的に平面傾斜角φの値として用いると、ユーザが意図したＵ軸の方向（参照直線Ｊによって示される切り出し方向）と、実際に定義されるＵＶ座標系のＵ軸の方向との間に若干のずれが生じることになる。このため、実際に得られる平面正則画像Ｔは、ユーザが意図した切出領域Ｅ内の画像と若干相違する。しかしながら、このような相違は、単に、画像のトリミング枠の相違にすぎない。しかも、ユーザが指定した参照直線Ｊの方向（すなわち、補助点Ｑの位置）は、通常、ユーザが希望する大まかな切り出し方向を示す指標にすぎないので、実際の切り出し方向が多少ずれていたとしても、実用上は、ユーザに違和感を与えることはない。このような理由から、本発明の一般的な実施形態では、切り出し向きを示す角度θを、そのまま平面傾斜角φの値として近似させて問題はない。
【００９０】
＜＜＜  §４．画像変換装置の基本構成  ＞＞＞
ここでは、図１９のブロック図を参照しながら、本発明の基本的な実施形態に係る画像変換装置の基本構成を説明する。図１９において、一点鎖線で囲った部分が、本発明に係る画像変換装置１００である。この装置は、魚眼レンズを用いた撮影により得られた歪曲円形画像Ｓの一部分を切り出して、平面正則画像Ｔに変換する処理を行う機能を有しており、図１９には、魚眼レンズを用いたカメラ１０によって撮影された歪曲円形画像Ｓが、デジタルデータとして、この画像変換装置１００内に取り込まれている。
【００９１】
歪曲円形画像格納部１１０は、このような歪曲円形画像Ｓを格納するための構成要素であり、メモリやハードディスク装置などの記憶装置によって構成される。ここで、歪曲円形画像Ｓは、たとえば、図２に例示するように、二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成され、ＸＹ座標系の原点Ｏを中心とし半径Ｒをもった円形の画像になる。
【００９２】
一方、平面正則画像格納部１２０は、変換処理後の平面正則画像Ｔをデジタルデータとして格納するための構成要素であり、やはりメモリやハードディスク装置などの記憶装置によって構成される。ここで、平面正則画像Ｔは、たとえば、図１５や図１６に例示するように、二次元ＵＶ直交座標系上の座標（ｕ，ｖ）で示される位置に配置された多数の画素の集合体によって構成される画像になる。この平面正則画像格納部１２０内の平面正則画像Ｔを変換画像デジタルデータとして出力すれば、ディスプレイの画面上に図１５や図１６に例示するような平面正則画像Ｔを表示させることができる。
【００９３】
変換演算部１３０は、図１２に示す本発明の変換演算式を利用して、座標（ｕ，ｖ）と座標（ｘ，ｙ）とを対応づけ、座標（ｕ，ｖ）で示される位置に配置された平面正則画像Ｔ上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像Ｓ上の参照画素の画素値に基づいて決定する機能を有し、歪曲円形画像格納部１１０内に格納されている歪曲円形画像Ｓに基づいて、平面正則画像Ｔを作成する演算を行い、生成された平面正則画像Ｔを平面正則画像格納部１２０に格納する。§２で述べたとおり、本発明の変換演算式に基づく演算を行うには、いくつかのパラメータを設定する必要がある。以下の各構成要素は、このパラメータ設定を行うためのものである。
【００９４】
歪曲円形画像表示部１４０は、歪曲円形画像格納部１１０に格納されている歪曲円形画像Ｓをディスプレイに表示する構成要素であり、図２に示すような画像がディスプレイの画面上に表示される。
【００９５】
指示入力部１５０は、ディスプレイに表示されている歪曲円形画像Ｓ上において、図１３に示すように、切出中心点Ｐと補助点Ｑとの２点の位置を指定するための指示を入力する。具体的には、指示入力部１５０は、マウスなどのポインティングデバイスと、これを制御するための制御装置によって構成され、ユーザが、マウスなどを用いてディスプレイ画面上でポインタを移動させられるようにし、マウスクリックなどの操作が行われた時点のポインタの位置座標を読み込む機能を有している。
【００９６】
たとえば、ユーザが第１回目にクリックしたときのポインタの位置を切出中心点Ｐの位置として取り込み、第２回目にクリックしたときのポインタの位置を補助点Ｑの位置として取り込むようにしておけば、ユーザは続けて２回のクリック操作を行うことにより、切出中心点Ｐおよび補助点Ｑの位置を指示する入力を行うことができる。あるいは、「ドラッグアンドドロップ」操作で両点を指定させることもできる。この場合、ユーザがマウスボタンを押し込んだ時点でのポインタの位置を切出中心点Ｐの位置として取り込み、ユーザがマウスボタンを押した状態のままポインタを移動させ、マウスボタンを放した時点でのポインタの位置を補助点Ｑの位置として取り込むようにすればよい。
【００９７】
要するに、指示入力部１５０は、歪曲円形画像表示部１４０によって表示されている歪曲円形画像Ｓ上における、切出中心点Ｐおよび補助点Ｑの位置を指定するユーザからの何らかの指示入力に基づいて、その座標値Ｐ（ｘ０，ｙ０）およびＱ（ｘ１，ｙ１）を取り込む機能をもっていれば、具体的にどのような装置を用いて構成してもかまわない。
【００９８】
指示入力部１５０が入力した２点Ｐ，Ｑの位置は、既に§３で説明したとおり、切出中心点Ｐの位置、切り出し向きを示す角度θ、変換倍率ｍという３つのパラメータを設定するために利用される。まず、切出中心点Ｐの位置としては、点Ｐの座標値（ｘ０，ｙ０）そのものが用いられる。また、角度θの値は、２点Ｐ，Ｑを結ぶ参照直線ＪとＸ軸とのなす角度として決定される。実際には、座標値Ｐ（ｘ０，ｙ０）およびＱ（ｘ１，ｙ１）を用いた幾何学的な演算により、角度θの値を算出することができる。そして、変換倍率ｍは、２点Ｐ，Ｑ間の距離ｄを、ｄ＝√（（ｘ０−ｘ１）２＋（ｙ０−ｙ１）２）なる演算で求めた後、予め設定された比例定数を用いて、ｍ＝ｋ／ｄなる演算を行うことにより算出することができる。
【００９９】
なお、変換倍率ｍを固定値にする場合には、当該固定値を変換演算部１３０内に予め設定しておけばよいので、指示入力部１５０においてｍの値を決定する必要はない。この場合、変換倍率ｍは、ユーザが指定可能なパラメータにはならないので、ユーザが行う補助点Ｑの位置指定操作は、切り出し向きを示す角度θ（すなわち、参照直線Ｊの向き）を指定する意味だけをもち、２点Ｐ，Ｑ間の距離ｄは何ら意味をもたないことになる。別言すれば、この場合、指示入力部１５０は、切出中心点Ｐの位置および切り出し向きをユーザの指示に基づいて入力する機能のみを有し、変換倍率ｍを入力する機能はもたないことになる。
【０１００】
ただ、実用上は、変換倍率ｍを固定するよりも、ユーザの要望に応じて可変とし、変換倍率ｍに基づいてスケーリングされた平面正則画像Ｔが得られるようにした方が使い勝手は向上する。したがって、実際には、前述したように、指示入力部１５０に、ユーザの指示に基づいて変換倍率ｍを入力する機能をもたせ、変換演算部１３０が、指示入力部１５０によって入力された変換倍率ｍを用いた演算を行うようにするのが好ましい。
【０１０１】
さて、交点演算部１６０は、指示入力部１５０によって入力された切出中心点Ｐの位置（ｘ０，ｙ０）に基づいて、点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める処理を行う。ここで、点Ｇは、図４に示すとおり、三次元ＸＹＺ直交座標系において、原点Ｏを中心とし半径Ｒをもった仮想球面Ｈを定義したときに、切出中心点Ｐを通りＺ軸に平行な直線と仮想球面Ｈとの交点として与えられる点である。実際には、点Ｐの座標値ｘ０，ｙ０と点Ｇの座標値ｘ０，ｙ０とは同一の値であるから、交点演算部１６０が行うべき演算処理は、点Ｇの座標値ｚ０を求めるための幾何学演算のみである。
【０１０２】
一方、角度決定部１７０は、図４に示すとおり、交点Ｇ（ｘ０，ｙ０，ｚ０）において仮想球面Ｈに接する接平面上に定義すべき二次元ＵＶ直交座標系のＵ軸方向を向いたベクトルＵと、二次元ＸＹ直交座標系のＸ軸方向を向いたベクトルＸと、のなす角として与えられる平面傾斜角φを、指示入力部１５０が入力した切り出し向き（すなわち、角度θ）に基づいて決定する処理を行う。角度θと角度φとの関係は、図１８に示す式によって定義されるので、角度決定部１７０は、この式に基づいて、平面傾斜角φを算出すればよい。もっとも、実用上は、§３で述べたとおり、切り出し向きを示す角度θを、そのまま平面傾斜角φの値として近似させても問題はない。その場合、角度決定部１７０は、参照直線ＪとＸ軸とのなす角θを、そのまま平面傾斜角φとして変換演算部１３０へ与える処理を行えばよい。
【０１０３】
さて、§２で述べたとおり、図１２に示す本発明の変換演算式は、位置座標（ｘ０，ｙ０，ｚ０）および平面傾斜角φをパラメータとして含む正射影方式の変換演算式であり、変換演算部１３０が、この変換演算式を利用して、座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求めるためには、６つのパラメータφ，ｘ０，ｙ０，ｚ０，Ｒ，ｍを決定しておく必要がある。ここで、パラメータφは、角度決定部１７０から与えられ、パラメータｘ０，ｙ０，ｚ０は、交点演算部１６０から与えられ、パラメータｍは、指示入力部１５０から与えられる。そして、パラメータＲは、歪曲円形画像格納部１１０に格納されている歪曲円形画像Ｓの半径値として既知である。
【０１０４】
結局、変換演算部１３０には、上記６つのパラメータφ，ｘ０，ｙ０，ｚ０，Ｒ，ｍがすべて用意されることになる。こうして、変換演算部１３０は、座標（ｕ，ｖ）で示される位置に配置された平面正則画像Ｔ上の画素の画素値を、対応する座標（ｘ，ｙ）で示される位置に配置された歪曲円形画像Ｓ上の参照画素の画素値に基づいて決定することにより、歪曲円形画像Ｓから切出中心点Ｐを中心として平面傾斜角φによって示される向きに切り出された部分画像についての平面正則画像Ｔを生成する演算処理を実行することができる。
【０１０５】
なお、歪曲円形画像Ｓは、二次元ＸＹ直交座標系上の座標（ｘ，ｙ）で示される位置に配置された多数の画素の集合体によって構成された画像であり、実際には、所定ピッチで縦横に配列された多数の格子点の位置に、それぞれ固有の画素値を定義したデジタルデータによって構成されている。このため、変換演算部１３０による演算結果として得られた対応座標（ｘ，ｙ）の位置は、通常、複数の格子点の間の位置になる。たとえば、歪曲円形画像Ｓが、ピッチ１で縦横に配列された多数の格子点位置の画素値を定義したデジタルデータによって構成されている場合、いずれの格子点も、その座標値は整数値になる。よって、変換演算部１３０による演算結果として得られた対応座標ｘおよびｙの値が小数を含む値であると（多くの場合はそうなるであろう）、対応座標（ｘ，ｙ）の位置は、複数の格子点の間の位置になり、対応する画素値を１つに決めることはできない。
【０１０６】
したがって、実際には、変換演算部１３０が、座標（ｕ，ｖ）で示される位置に配置された平面正則画像Ｔ上の画素の画素値を決定する際には、対応する座標（ｘ，ｙ）で示される位置の近傍に配置された歪曲円形画像Ｓ上の複数の参照画素の画素値に対する補間演算を行う必要がある。このような補間演算を行う方法としては、たとえば、バイリニア補間法、バイキュービック・スプライン補間法など、様々な方法が公知であるため、ここでは詳しい説明は省略する。なお、魚眼レンズを用いたカメラ１０として、単板撮像素子を内蔵したカメラを用いた場合、高精度な補間を行うためには、歪曲円形画像Ｓとして、いわゆるＲＡＷモードと呼ばれる画像データを用いるのが極めて好ましい。また、魚眼レンズによっては、色収差が目立つ製品もあるので、必要に応じて、用いた魚眼レンズの色収差を測定しておき、変換演算部１３０による演算時に、色収差を補正する演算を行うことも可能である。
【０１０７】
本発明に係る画像変換装置は、特に、監視カメラ、会議室用カメラ、車載用カメラ、管内プローブ用カメラなどに魚眼レンズを組み込んで用いるシステムへの利用に最適である。このようなシステムでは、動画をリアルタイムで取り扱う必要があり、ユーザが任意に指定した切出領域内の画像を、即座に平面正則画像に変換して表示させる必要がある。本発明に係る画像変換装置では、演算負担が大幅に軽減されるため、平面正則画像へのリアルタイムでの変換処理が可能になる。
【０１０８】
以上、本発明の基本的な実施形態に係る画像変換装置の基本構成を、図１９のブロック図を参照しながら説明したが、この画像変換装置は、汎用のコンピュータに、専用のプログラムを組み込むことによって構成することが可能である。その場合、歪曲円形画像格納部１１０や平面正則画像格納部１２０は、当該コンピュータ用の記憶装置によって構成し、歪曲円形画像表示部１４０や指示入力部１５０は、当該コンピュータ用のディスプレイやマウスおよびこれらを制御するハードウエアやソフトウエアによって構成すればよい。また、変換演算部１３０，交点演算部１６０，角度決定部１７０は、専用のプログラムに基づくコンピュータの演算機能によって実現されることになる。
【０１０９】
もちろん、この画像変換装置は、様々な演算器やレジスタなどを組み合わせた専用のハードウエア論理回路により構成することも可能である。具体的には、少なくとも変換演算部１３０として機能する部分を電子回路によって構成し、当該電子回路を組み込んだ半導体集積回路を設計すればよい。このようなハードウエア論理回路により変換演算部１３０を構成する上で有効な様々な工夫は、§６において述べることにする。
【０１１０】
また、図１９に示す画像変換装置１００と、魚眼レンズを用いたカメラ１０と、図示されていないモニタ装置と、を用意し、カメラ１０を用いた撮影により得られた歪曲円形画像Ｓが歪曲円形画像格納部１１０へと格納され、平面正則画像格納部１２０に得られた平面正則画像Ｔがモニタ装置によって表示されるようにすれば、魚眼監視システムを実現することが可能になる。カメラ１０として、デジタルビデオカメラを用いるようにすれば、リアルタイムで撮影した歪曲円形画像に基づいて、任意の一部分の平面正則画像をリアルタイムでモニタ装置の画面上に得ることが可能である。
【０１１１】
＜＜＜  §５．非正射影画像への適用  ＞＞＞
さて、本発明の最も重要な特徴は、§２で述べたとおり、座標変換の演算に、図１２に示す変換演算式を用いる点であるが、この変換演算式は、正射影方式の変換演算式であり、撮影に用いた魚眼レンズの射影方式が正射影方式であることを前提とした式である。ところが、実際に市販されている魚眼レンズは、必ずしも正射影方式のレンズとは限らない。実際、魚眼レンズの投影方式としては、等距離射影方式、立体射影方式、等立体角射影方式など、様々な方式が知られており、用途に応じて、これら様々な射影方式をとる魚眼レンズが利用されている。ここでは、このような非正射影方式の魚眼レンズによって撮影された非正射影画像に対して本発明を適用する方法を説明する。
【０１１２】
正射影方式の魚眼レンズの光学的特性は、既に述べたとおり、図１に示すようなモデルによって説明することができる。すなわち、仮想球面Ｈ上の任意の入射点Ｈ（ｘ，ｙ，ｚ）に対して、その法線方向から入射する入射光線Ｌ１は、Ｚ軸に平行な方向に進む入射光線Ｌ２として、ＸＹ平面上の点Ｓ（ｘ，ｙ）へ到達する、という特性である。図２０は、この正射影方式の魚眼レンズにおける入射光の投影状態を示す正面図である。図示のとおり、天頂角βをもった仮想球面Ｈ上の入射点Ｈ（ｘ，ｙ，ｚ）に対して、その法線方向から入射した入射光線Ｌ１は、Ｚ軸に平行な方向に進む入射光線Ｌ２として、ＸＹ平面上の点Ｓ（ｘ，ｙ）へ到達している。
【０１１３】
ここで、入射点Ｈ（ｘ，ｙ，ｚ）の天頂角βと、当該入射点Ｈ（ｘ，ｙ，ｚ）を経た入射光線Ｌ２がＸＹ平面上で到達する到達点Ｓ（ｘ，ｙ）の原点Ｏからの距離ｒと、の関係は、正射影方式の魚眼レンズを用いた撮影によって形成される正射影画像の場合、ｒ＝ｆ・sinβなる式で表される。ここで、ｆは、魚眼レンズに固有の定数である。これに対して、たとえば、等距離射影方式の魚眼レンズを用いた撮影によって形成される等距離射影画像の場合、両者の関係は、ｒ＝ｆ・βなる式で表されることになる。
【０１１４】
図２１は、正射影方式の魚眼レンズを用いて形成される正射影画像と、等距離射影方式の魚眼レンズを用いて形成される等距離射影画像と、の関係を示す斜視図である。図に同心円状に示す線は、同一の天頂角βをもつ入射点を経た入射光線についてのＸＹ平面上での到達点の集合を示している。図２１(a) に示す正射影画像の場合、ｒ＝ｆ・sinβなる式が成り立つため、隣接する同心円状の線の配置間隔は、中心から周囲に向かうほど小さくなってゆく。これに対して、図２１(b) に示す等距離射影画像の場合、ｒ＝ｆ・βなる式が成り立つため、同心円状の線は、中心から周囲に向かって等間隔に配置される。
【０１１５】
このように、正射影画像と等距離射影画像とは、いずれも歪曲円形画像という点では共通するものの、その歪みの状態が両者では異なっているため、当然ながら、平面正則画像に変換するために用いる変換演算式も異なったものになる。したがって、正射影画像を平面正則画像に変換する場合には、図１２に示す変換演算式を用いることができるが、等距離射影画像などの非正射影画像を平面正則画像に変換する場合には、それぞれについての専用の変換演算式を用いる必要がある。
【０１１６】
しかしながら、正射影方式の魚眼レンズの光学的特性は、図２０に示すような仮想球面Ｈを用いたモデルとして取り扱うことができるため、図１２に示すような変換演算式を定義することができるが、非正射影方式の魚眼レンズの光学的特性は、このような仮想球面Ｈを用いたモデルとして取り扱うことはできない。このため、仮に、何らかの変換演算式が定義できたとしても、その式の形態は極めて複雑なものになると予想される。
【０１１７】
そこで本願発明者は、非正射影画像を直接的に平面正則画像に変換する変換演算式を用いる代わりに、非正射影画像を、一旦、正射影画像に変換し、図１２に示す正射影方式の変換演算式を用いて、座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求める方法の着想に至った。以下、非正射影画像として、等距離射影画像を用いた場合を例にとって、この方法を説明する。
【０１１８】
図２１に示すように、正射影画像上の任意の１点と、等距離射影画像上の特定の１点とは、相互に１対１の対応関係を定義することができる（図の破線は、この対応関係を示している）。具体的には、等距離射影画像上の任意の１点の座標を（ｘ′，ｙ′）とし、これに対応する正射影画像上の特定の１点の座標を（ｘ，ｙ）とすれば、両者間には、図２２の上段に示すように、
ｘ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｘ′      式（３１）
ｙ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｙ′      式（３２）
なる式が成り立つ。逆に、正射影画像上の任意の１点の座標を（ｘ，ｙ）とし、これに対応する等距離射影画像上の特定の１点の座標を（ｘ′，ｙ′）とすれば、両者間には、図２２の下段に示すように、
ｘ′＝２／π・ｘ／sinc（π／２・√（ｘ２＋ｙ２））          式（３３）
ｙ′＝２／π・ｙ／sinc（π／２・√（ｘ２＋ｙ２））          式（３４）
が成り立つ。
【０１１９】
これら式（３１）〜（３４）において、変数をｔとしたときの関数sinc（ｔ）は、シンク関数（カージナルサイン）と呼ばれる関数であり、sinc（ｔ）＝sin（ｔ）/ｔとして定義される。但し、ｔ＝０の場合の関数値は、sinc（０）＝１と定義される。結局、上記式（３１），（３２）は、等距離射影画像上の座標（ｘ′，ｙ′）を正射影画像上の座標（ｘ，ｙ）に変換する式（以下、第１の座標変換式と言う）であり、上記式（３３），（３４）は、正射影画像上の座標（ｘ，ｙ）を等距離射影画像上の座標（ｘ′，ｙ′）に変換する式（以下、第２の座標変換式と言う）ということになる。
【０１２０】
そこで、図１９に示す歪曲円形画像格納部１１０に格納されている画像が、等距離射影方式の魚眼レンズによって撮影された等距離射影画像である場合には、歪曲円形画像表示部１４０によって、ディスプレイ上にこの等距離射影画像をそのまま表示させるようにし、指示入力部１５０によって、この等距離射影画像上で、２点Ｐ，Ｑの指定入力を行うようにする。続いて、交点演算部１６０では、切出中心点Ｐの座標（ｘ０′，ｙ０′）を第１の座標変換式（式（３１）および（３２））を用いて座標（ｘ０，ｙ０）に変換し、この変換後の座標を用いて交点Ｇの位置座標（ｘ０，ｙ０，ｚ０）を求める処理を行うようにする。そして、変換演算部１３０では、これまで述べてきた実施形態と全く同様に、図１２に示す正射影方式の変換演算式を用いて座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求める処理を行う。但し、求めた座標（ｘ，ｙ）をそのまま用いて参照画素の位置を決定する代わりに、当該座標（ｘ，ｙ）を第２の座標変換式（式（３３）および（３４））を用いて座標（ｘ′，ｙ′）に変換し、この変換後の座標を用いて、歪曲円形画像格納部１１０に格納されている等距離射影画像上の参照画素の位置を特定するようにする。
【０１２１】
このような方法を採れば、歪曲円形画像格納部１１０に格納されている画像が、等距離射影方式の魚眼レンズによって撮影された等距離射影画像である場合にも、図１２に示す正射影方式の変換演算式を用いた変換処理を適用することが可能になる。もちろん、この方法は、等距離射影画像への適用に限定されるものではなく、非正射影画像一般に広く適用することが可能である。
【０１２２】
すなわち、一般論として説明すれば、歪曲円形画像格納部１１０に格納されている画像が、正射影方式の魚眼レンズによって撮影された正射影画像ではなく、非正射影方式の魚眼レンズによって撮影された非正射影画像である場合には、非正射影画像上の座標を正射影画像上の座標に変換する第１の座標変換式と、正射影画像上の座標を非正射影画像上の座標に変換する第２の座標変換式と、を利用した処理を行う。まず、交点演算部１６０には、切出中心点Ｐの座標（ｘ０′，ｙ０′）を第１の座標変換式を用いて座標（ｘ０，ｙ０）に変換させる。そして、更に、変換後の座標を用いて交点の位置座標（ｘ０，ｙ０，ｚ０）を求める処理を実行させる。一方、変換演算部１３０には、図１２に示す正射影方式の変換演算式を用いて座標（ｕ，ｖ）に対応する座標（ｘ，ｙ）を求めた後、この座標（ｘ，ｙ）を第２の座標変換式を用いて座標（ｘ′，ｙ′）に変換し、変換後の座標を用いて歪曲円形画像格納部１１０に格納されている非正射影画像上の参照画素の位置を特定させればよい。
【０１２３】
＜＜＜  §６．演算負担を更に軽減する工夫  ＞＞＞
§２で述べたとおり、図１１に示す従来の変換演算式に代えて、図１２に示す本発明の変換演算式を用いると、三角関数の演算負担を大幅に軽減させることができるが、ここでは、この演算負担を更に軽減する工夫をいくつか述べておく。ここに述べる演算手法の工夫は、特に、様々な演算器やレジスタなどを組み合わせた専用のハードウエア論理回路により変換演算部１３０を構成する場合に、回路構成を単純にする上で効果的である。
【０１２４】
＜６−１：式（１１），（１２）の分母演算に関する工夫＞
図１２の式（１１），（１２）には、三角関数演算は含まれていないが、分母には、３組の２乗演算項と開平演算項とが含まれている。これらの演算負担をできるだけ軽減させるためには、分母の式の形を若干変更すればよい。
【０１２５】
すなわち、式（１１），（１２）の分母の部分のみを抜き出すと、
１／√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
なる形の式になるが、ここで、
ａ＝ｕ−ｘ０，ｂ＝ｖ−ｙ０，ｃ＝ｗ−ｚ０
とおくと、上記式は、次のような形になる。
１／√（ａ２＋ｂ２＋ｃ２）
この式に対して、図２３の上段に示すような変形を行うと、
１／ｃ・１／√（（ａ／ｃ）２＋（ｂ／ｃ）２＋１）        式（４１）
が得られる。変形前の式には、ａ２，ｂ２，ｃ２という３組の２乗演算項が含まれていたが、変形後の式（４１）では、２乗演算項は（ａ／ｃ）２，（ｂ／ｃ）２の２組に減っている。ここで、
（ａ／ｃ）２＋（ｂ／ｃ）２＋１＝ξ
とおくと、図２３の下段に示すような式（４２）が得られる。
１／√（ａ２＋ｂ２＋ｃ２）＝１／ｃ・１／√ξ            式（４２）
一般に、逆数演算「１／ｃ」や逆開平数演算「１／√ξ」は、比較的負担が大きな演算処理である。このような演算負担を軽減する上で非常に効果的な方法は、関数テーブルを用いる方法である。すなわち、予め「関数ｆ（ｃ）＝１／ｃ」の値を様々な変数ｃの値について対応づけた第１の関数テーブルＴ１と、「関数ｆ（ξ）＝１／√ξ」の値を様々な変数ξの値について対応づけた第２の関数テーブルＴ２と、を用意しておき、これら関数テーブルを参照することにより、実際には演算を行うことなしに関数値を求めるようにすればよい。
【０１２６】
図２４は、このような関数テーブルＴ１，Ｔ２の構成を示す図である。図２４(a) に示す関数テーブルＴ１には、ｃがとるであろうと予想される範囲について、所定の精度で、個々のｃの値に対応するｆ（ｃ）の値（１／ｃの値）が掲載されている。同様に、図２４(b) に示す関数テーブルＴ２には、ξがとるであろうと予想される範囲について、所定の精度で、個々のξの値に対応するｆ（ξ）の値（１／√ξの値）が掲載されている。
【０１２７】
変換演算部１３０内に、このような関数テーブルＴ１，Ｔ２を用意しておけば、ｃおよびξの値に基づいて、実際の演算を行うことなしに、１／ｃの値および１／√ξの値を得ることができる。結局、図１２の式（１１），（１２）の分母部分
１／√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
の演算を行うには、
ａ＝ｕ−ｘ０，ｂ＝ｖ−ｙ０，ｃ＝ｗ−ｚ０
なる演算によって、ａ，ｂ，ｃを求めた後、
ξ＝（ａ／ｃ）２＋（ｂ／ｃ）２＋１
なる演算を行うことによりξの値を求め、図２４に示す第１の関数テーブルＴ１および第２の関数テーブルＴ２を参照することにより、求めたｃ，ξの値に対応する関数ｆ（ｃ）＝１／ｃ，ｆ（ξ）＝１／√ξの値を求め、
√（（ｕ−ｘ０）２＋（ｖ−ｙ０）２＋（ｗ−ｚ０）２）
＝ｆ（ｃ）×ｆ（ξ）
なる演算を行えばよい。
【０１２８】
平面正則画像Ｔの大きさの上限を設定しておけば、座標値ｕ，ｖの値は、たとえば、０≦ｕ≦Ｒ、０≦ｖ≦Ｒの範囲に制限することが可能であり、変換倍率ｍの値も、たとえば、０．１≦ｍ≦１０程度に制限することが可能である。このような制限を行えば、ｃの値やξの値を所定範囲内に抑えることができるので、図２４に示す関数テーブルＴ１，Ｔ２に用意すべき変数ｃ，ξの値も所定範囲内に抑えることができる。
【０１２９】
なお、必要に応じて、（ａ／ｃ）２や（ｂ／ｃ）２という２乗演算項についても関数テーブルを用いて実際の演算を省略することも可能であるが、一般に、２乗演算は通常の乗算よりも演算器のハードウエア構成が単純になるので、実用上は、２乗演算項については、２乗演算器を用いて実際に演算を行うようにすれば十分である。
【０１３０】
＜６−２：テーブルを用いた補間演算に関する工夫＞
上述したように、関数テーブルを利用して実際の演算処理を省略する手法は、演算負担を軽減するための非常に効果的な方法である。しかしながら、関数テーブルを参照することにより得られる関数値の精度を高めるためには、テーブルに掲載する変数値および関数値に十分な有効桁数を確保する必要が生じ、テーブルのデータ容量がそれだけ増大するという弊害がある。このような弊害を避けるために、通常、補間演算の手法が利用される。
【０１３１】
図２５は、図２４に示すような関数テーブルを参照する場合の線形補間の方法を示す図である。ここでは、変数ｔに対応する関数値ｆ（ｔ）を求める場合を考える。図示のｔ軸は変数ｔを示す軸であり、理論的には、変数ｔはこのｔ軸上の任意の値をとることになる。しかしながら、関数テーブルに掲載する変数ｔの値は、所定の有効桁数に応じた間隔Ｗの離散値にせざるを得ない。図２５には、間隔Ｗをもった離散値として、ｔ軸上にＡ，Ｂ，Ｃなる値をプロットし、それぞれについて関数値ｆ（Ａ），ｆ（Ｂ），ｆ（Ｃ）を定義した例が示されている。この例の場合、関数テーブルに掲載される変数ｔの値は、Ａ，Ｂ，Ｃといった離散値になり、関数値ｆ（ｔ）の値も、ｆ（Ａ），ｆ（Ｂ），ｆ（Ｃ）といった値になる。
【０１３２】
このように離散的な変数ｔについての関数値ｆ（ｔ）しか定義されていない関数テーブルを用いて、任意の変数ｔに対応する関数値ｆ（ｔ）を求めるためには、次のような線形補間を行えばよい。たとえば、変数ｔが、Ａ＜ｔ＜Ｂなる範囲内の値であった場合、関数値ｆ（ｔ）は、
ｆ（ｔ）＝（（Ｗ−δ）／Ｗ）×ｆ（Ａ）＋（δ／Ｗ）×ｆ（Ｂ）
式（４３）
なる式に基づいて算出することができる。ここで、δ＝（ｔ−Ａ）であり、離散的な変数Ａに対する端数部分に相当する値である。
【０１３３】
ここでは、変換演算部１３０に、この式（４３）に基づく補間演算を実行させるのに適したハードウエア構成の一例を、図２６のブロック図を参照しながら説明する。図示のとおり、ここに示すハードウエアは、Ｔレジスタ２１，偶数関数テーブル２２，奇数関数テーブル２３，偶数読出部２４，奇数読出部２５，偶奇セレクタ２６，偶奇セレクタ２７，Ａレジスタ２８，Ｂレジスタ２９，補間演算部３０，補間値レジスタ３１によって構成されている。
【０１３４】
このハードウエア構成の重要な特徴は、本来は１つの関数テーブルに収容されるべき変数ｔおよび関数値ｆ（ｔ）のデータを、偶数関数テーブル２２と奇数関数テーブル２３とに分けて収容した点にある。ここで、偶数関数テーブル２２は、所定の有効桁数に応じた間隔Ｗの離散値をとる変数ｔのうち、偶数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけたテーブルになっており、奇数関数テーブル２３は、上記有効桁数に応じた間隔Ｗの離散値をとる変数ｔのうち、奇数変数ｔについて、所定の関数ｆ（ｔ）の値を対応づけたテーブルになっている。
【０１３５】
ここでは、説明の便宜上、４ビットの小数部分で示される「０．１０００〜０．１１１１」の範囲をとる変数ｔについて、関数テーブルを用意した具体例について説明する。図示のとおり、偶数関数テーブル２２には、偶数をとる変数ｔのみ、すなわち、「０．１０００」，「０．１０１０」，「０．１１００」，「０．１１１０」が収容されており、それぞれに対応する関数値ｆ（ｔ）が収容されている（図では、関数値は省略し、便宜上「********」なるデータで示している）。一方、奇数関数テーブル２３には、奇数をとる変数ｔのみ、すなわち、「０．１００１」，「０．１０１１」，「０．１１０１」，「０．１１１１」が収容されており、それぞれに対応する関数値ｆ（ｔ）が収容されている。
【０１３６】
このように、関数テーブル２２，２３には、４ビットの有効桁数をもった変数ｔの離散値が収容されているが、ここでは、演算対象となる任意の変数ｔとして、８ビットの有効桁数をもったデータが与えられた場合を考えてみる。Ｔレジスタ２１は、このような８ビットの有効桁数をもった変数ｔを格納するためのレジスタである。すなわち、このＴレジスタ２１には、４ビットの有効桁数（関数テーブルにおける変数ｔの有効桁数）からなる上位ビットと、この有効桁数より下位の桁である４ビットを示す下位ビットと、によって構成される変数ｔが格納されることになる。図には、一例として、任意の変数ｔの上位ビットとして、「０．１０１０」なる有効桁数４ビットのデータと、下位ビットとして、任意のビット「＊＊＊＊」が格納された状態が示されている。
【０１３７】
Ｔレジスタ２１の上位ビットは、関数テーブル２２，２３の読み出し対象となる変数ｔを特定するために利用され、該当する変数ｔに対応して収容されている関数値ｆ（ｔ）の値が、偶数読出部２４および奇数読出部２５によって読み出される。
【０１３８】
具体的には、偶数読出部２４は、Ｔレジスタ２１の上位ビットが偶数である場合には、当該上位ビットで示される偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を偶数関数テーブル２２から読み出し、Ｔレジスタ２１の上位ビットが奇数である場合には、当該上位ビットで示される奇数変数ｔよりも大きい最小の偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を偶数関数テーブル２２から読み出す処理を行う。たとえば、図示の例の場合、Ｔレジスタ２１の上位ビット「０．１０１０」は偶数であるから、偶数読出部２４は、当該上位ビット「０．１０１０」で示される偶数変数ｔについて対応づけられている関数ｆ（ｔ）の値を偶数関数テーブル２２から読み出すことになる。もし、Ｔレジスタ２１の上位ビットが「０．１０１１」（奇数変数）であった場合、当該上位ビット「０．１０１１」は偶数関数テーブル２２には収容されていない。そこで、偶数読出部２４は、当該奇数変数「０．１０１１」よりも大きい最小の偶数変数である「０．１１００」について対応づけられている関数ｆ（ｔ）の値を偶数関数テーブル２２から読み出すことになる。
【０１３９】
一方、奇数読出部２５は、Ｔレジスタ２１の上位ビットが奇数である場合には、当該上位ビットで示される奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を奇数関数テーブル２３から読み出し、Ｔレジスタ２１の上位ビットが偶数である場合には、当該上位ビットで示される偶数変数ｔよりも大きい最小の奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を奇数関数テーブル２３から読み出す処理を行う。たとえば、図示の例の場合、Ｔレジスタ２１の上位ビット「０．１０１０」は偶数であるから、当該上位ビット「０．１０１０」は奇数関数テーブル２３には収容されていない。そこで、奇数読出部２５は、当該偶数変数「０．１０１０」よりも大きい最小の奇数変数である「０．１０１１」について対応づけられている関数ｆ（ｔ）の値を奇数関数テーブル２３から読み出すことになる。もし、Ｔレジスタ２１の上位ビットが「０．１０１１」（奇数変数）であった場合、奇数読出部２５は、当該上位ビット「０．１０１１」で示される奇数変数ｔについて対応づけられている関数ｆ（ｔ）の値を奇数関数テーブル２３から読み出すことになる。
【０１４０】
このような方法で、各関数テーブル２２，２３から関数値ｆ（ｔ）を読み出すようにすると、読み出された２つの関数値は、互いに隣接する離散的な変数に対応する関数値となる。たとえば、図２５に示すｔ軸上で隣接する２つの変数ＡおよびＢに対応する関数値ｆ（Ａ），ｆ（Ｂ）が読み出されることになる。しかも、Ｔレジスタに収容されている８ビットの精度をもった変数ｔは、Ａ≦ｔ＜Ｂである。そこで、これら２つの関数値ｆ（Ａ），ｆ（Ｂ）を、それぞれＡレジスタ２８およびＢレジスタ２９に格納し、補間演算部３０において、
ｆ（ｔ）＝（（Ｗ−δ）／Ｗ）×ｆ（Ａ）＋（δ／Ｗ）×ｆ（Ｂ）
式（４３）
に基づく演算を行えば、補間値ｆ（ｔ）を得ることができる。ここで、Ｗは、Ｔレジスタ２１に格納されている変数ｔの上位ビットを構成する所定の有効桁数に基づいて定まる離散値の間隔であり、δは、Ｔレジスタ２１に格納されている変数ｔの下位ビットで示される端数部分である。
【０１４１】
要するに、補間演算部３０は、Ａレジスタ２８に格納されている値をｆ（Ａ）とし、Ｂレジスタ２９に格納されている値をｆ（Ｂ）とし、Ｔレジスタ２１の下位ビットで示される値をδとして、式（４３）に基づく演算を実行し、補間値ｆ（ｔ）を算出することになる。こうして算出された補間値ｆ（ｔ）は、補間値レジスタ３１に格納される。変換演算部１３０は、この補間値レジスタ３１に格納された補間値ｆ（ｔ）を用いて、必要な演算を行うことになる。
【０１４２】
ただ、式（４３）に基づく演算を行うためには、変数Ａ＜変数Ｂとしたときの関数値ｆ（Ａ）をＡレジスタ２８に格納し、関数値ｆ（Ｂ）をＢレジスタ２９に格納する必要がある。ところが、偶数読出部２４が偶数関数テーブル２２から読み出した関数値と、奇数読出部２５が奇数関数テーブル２３から読み出した関数値とのいずれを、関数値ｆ（Ａ）あるいは関数値ｆ（Ｂ）とすべきかは、Ｔレジスタ２１の上位ビットが偶数であるか奇数であるか、別言すれば、当該上位ビットのＬＳＢ（以下、偶奇ビットと呼ぶ）によって決まる。
【０１４３】
そこで、当該上位ビットが偶数である場合には（偶奇ビットが０の場合には）、偶数読出部２４が読み出した関数ｆ（ｔ）の値をＡレジスタ２８に格納し、奇数読出部２５が読み出した関数ｆ（ｔ）の値をＢレジスタ２９に格納すればよい。逆に、当該上位ビットが奇数である場合には（偶奇ビットが１の場合には）、奇数読出部２５が読み出した関数ｆ（ｔ）の値をＡレジスタ２８に格納するとともに、偶数読出部２４が読み出した関数ｆ（ｔ）の値をＢレジスタに格納すればよい。
【０１４４】
そのために、偶奇セレクタ２６は、偶数読出部２４および奇数読出部２５からそれぞれ読み出された関数ｆ（ｔ）に対して、Ｔレジスタ２１から与えられる偶奇ビットに応じて取捨選択を行い、選択された一方をＡレジスタ２８に格納する処理を行う。すなわち、偶奇セレクタ２６は、偶奇ビットが０の場合は偶数読出部２４から読み出された関数ｆ（ｔ）を選択し、偶奇ビットが１の場合は奇数読出部２５から読み出された関数ｆ（ｔ）を選択し、選択された関数ｆ（ｔ）をＡレジスタ２８に格納する。
【０１４５】
同様に、偶奇セレクタ２７は、偶数読出部２４および奇数読出部２５からそれぞれ読み出された関数ｆ（ｔ）に対して、Ｔレジスタ２１から与えられる偶奇ビットに応じて取捨選択を行い、選択された一方をＢレジスタ２９に格納する処理を行う。すなわち、偶奇セレクタ２７は、偶奇ビットが０の場合は奇数読出部２５から読み出された関数ｆ（ｔ）を選択し、偶奇ビットが１の場合は偶数読出部２４から読み出された関数ｆ（ｔ）を選択し、選択された関数ｆ（ｔ）をＢレジスタ２９に格納する。
【０１４６】
＜６−３：式（１３）〜（１８）の三角関数演算に関する工夫＞
続いて、図１２の式（１３）〜（１８）に含まれる三角関数演算の負担を軽減する工夫を述べる。これらの式には、cosφとsinφという三角関数が含まれている。このような三角関数の値を求める演算器のハードウエアはかなり複雑になるので、実用上は、できるだけ三角関数演算を避けるのが好ましい。
【０１４７】
§３で述べたとおり、切り出し向きを示す角度θ（ユーザが指定した２点Ｐ，Ｑの位置に基づいて定まる角度）と、変換演算式で用いられる平面傾斜角φとは、本来は異なるものであるが、実用上は、切り出し向きを示す角度θを、そのまま平面傾斜角φの値として近似させて用いても問題はない。このように、θ＝φとする実施形態では、cosφ＝cosθとなるので、次のような原理により、三角関数演算を行うことなしに、cosφの値を求めることができる。
【０１４８】
切り出し向きを示す角度θは、図１３に示すように、ユーザがＸＹ平面上で２点Ｐ，Ｑを指定することにより決定される角度である。そこで、図２７に示すように、ユーザが点Ｐ（ｘ０，ｙ０）および点Ｑ（ｘ１，ｙ１）の指定を行い、指示入力部１５０によって、座標値（ｘ０，ｙ０），（ｘ１，ｙ１）が取り込まれたものとしよう。
【０１４９】
図２７に示すとおり、２点Ｐ，Ｑを結ぶ直線として参照直線Ｊが定められ、切り出し向きを示す角度θは、この参照直線ＪとＸ軸とのなす角度として定義される。そこで、図示のとおり、参照直線Ｊの方向を向いたベクトルＪと、Ｘ軸方向を向いたベクトルＸとを定義する。図示の例では、ベクトルＪは、２点Ｐ，Ｑを両端点とするベクトルとなっているが、ベクトルの大きさは任意でかまわない。同様に、ベクトルＸは、２点Ｐ，Ｐ′を両端点とするベクトルとなっている。点Ｐと点Ｐ′のＹ座標値は同じであるから、点Ｐ′の座標値はＰ（ｘ２，ｙ０）となる。また、図では、便宜上、両ベクトルＪ，Ｘの始点を点Ｐ（ｘ０，ｙ０）の位置に揃えて示しているため、角度θは、点Ｐ（ｘ０，ｙ０）を頂点とした角になっている。
【０１５０】
さて、ここで、ベクトルＪとベクトルＸの内積は、図２７に示すように、
（Ｊ→）・（Ｘ→）＝cosθ・（絶対値Ｊ→）・（絶対値Ｘ→）
式（５１）
で示される。なお、本明細書中では、電子出願の制約上、ベクトルＪを（Ｊ→）という記号で標記し、その絶対値を（絶対値Ｊ→）と標記することにする（図２７には、通常の方法で標記した式を掲載する）。この式をcosθについてとけば、
cosθ＝（Ｊ→）・（Ｘ→）／（（絶対値Ｊ→）・（絶対値Ｘ→））
式（５２）
を得る。
【０１５１】
ここで、ベクトルＸを単位ベクトルとすれば、
（絶対値Ｘ→）＝１、  ｘ２＝ｘ０＋１                      式（５３）
である。また、
（絶対値Ｊ→）＝√（（ｘ１−ｘ０）２＋（ｙ１−ｙ０）２）
式（５４）
であるから、式（５２）の分母の値は、式（５３），（５４）に基づいて算出できる。一方、式（５２）の分子の値は、ベクトルＪとベクトルＸの内積として
（Ｊ→）・（Ｘ→）＝ｘ１・ｘ２＋ｙ１・ｙ０
式（５５）
なる式で算出できる。
【０１５２】
結局、cosθの値は、ユーザが指定した２点Ｐ，Ｑ（ｘ１，ｙ１）の座標値（ｘ０，ｙ０），（ｘ１，ｙ１）に基づく加減乗除算、２乗演算、開平演算によって求めることができるので、三角関数演算を避けることができる。要するに、変換演算部１３０は、参照直線Ｊの方向を向いたベクトルＪを用いて、cosφの値を、ベクトルＪとベクトルＸとの内積を、ベクトルＪの大きさとベクトルＸの大きさとの積で除する演算によって求めることができる。
【０１５３】
なお、以上述べた取り扱いは、切り出し向きを示す角度θを、平面傾斜角φの値として近似させた場合の取り扱いであり、Ｕ軸の方向を向いたベクトルＵの代わりに、参照直線Ｊの方向を向いたベクトルＪを近似的に用いた取り扱いということになる。このような近似を行わない場合は、ベクトルＵの向きを計算によって求めた上で、cosφの値を、ベクトルＵとベクトルＸとの内積を、ベクトルＵの大きさとベクトルＸの大きさとの積で除することにより求めるようにすればよい。
【０１５４】
こうして、cosφの値を求めることができれば、sinφの値は、
sinφ＝√（１−cos２φ）                                式（５６）
なる演算によって求めることができるので、結局、図１２の式（１３）〜（１８）に含まれる三角関数cosφおよびsinφの値は、三角関数演算を全く行うことなしに算出することができる。これは演算器のハードウエア構成を単純化する上で極めて効果的である。
＜６−４：式（３１）〜（３４）の関数演算に関する工夫＞
§５では、本発明を非正射影方式の魚眼レンズを用いて撮影された非正射影画像に適用する方法を説明した。この方法では、図２２に示すように、
ｘ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｘ′      式（３１）
ｙ＝sinc（π／２・√（ｘ′２＋ｙ′２））×π／２・ｙ′      式（３２）
なる第１の座標変換式と、
ｘ′＝２／π・ｘ／sinc（π／２・√（ｘ２＋ｙ２））          式（３３）
ｙ′＝２／π・ｙ／sinc（π／２・√（ｘ２＋ｙ２））          式（３４）
なる第２の座標変換式とを用いた演算が必要になる。
【０１５５】
既に述べたとおり、上記各式において、変数をｔとしたときの関数sinc（ｔ）は、シンク関数（カージナルサイン）と呼ばれる関数であり、sinc（ｔ）＝sin（ｔ）/ｔとして定義される。但し、ｔ＝０の場合の関数値は、sinc（０）＝１と定義される。ここでは、この関数sinc（ｔ）に関する演算項の演算負担を軽減させるための方法を述べる。
【０１５６】
いま、図２８の上段に示すように、関数ｇ（ｔ），ｈ（ｔ）を次のように定義する。
ｇ（ｔ）＝sinc（ｔ）＝sin（ｔ）/ｔ
但し、ｇ（０）＝sinc（０）＝１              式（６１）
ｈ（ｔ）＝１／sinc（ｔ）＝ｔ／sin（ｔ）
但し、ｈ（０）＝１                          式（６２）
ここで、sin（ｔ）をテイラー展開すると、図２８の中段に示すように、
sin（ｔ）＝ｔ−ｔ３／３！＋ｔ５／５！−ｔ７／７！＋ｔ９／９！− ....
式（６３）
なる形式になるので、結局、
ｇ（ｔ）＝１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....
式（６４）
なる形式の式が得られる。
【０１５７】
また、図２８の下段に示すように、ｈ（ｔ）を、係数ａ２，ａ４，ａ６，ａ８， ....を用いて、
ｈ（ｔ）＝１＋ａ２ｔ２＋ａ４ｔ４＋ａ６ｔ６＋ａ８ｔ８＋ ....
式（６５）
なる形式の式で表現することを考えると、ｈ（ｔ）＝１／ｇ（ｔ）であるから、上掲の式（６４）から、
ｈ（ｔ）＝１／（１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....）
式（６６）
が得られる。式（６５）と式（６６）から、
１＝（１＋ａ２ｔ２＋ａ４ｔ４＋ａ６ｔ６＋ａ８ｔ８＋ ....）×
（１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....）
式（６７）
になるので、これを解くと、
ｈ（ｔ）＝１＋（１／６）ｔ２＋（７／３６０）ｔ４＋（３１／１５１２０）ｔ６＋（１２７／６０４８００）ｔ８＋ ....
式（６８）
なる式が得られる。
したがって、交点演算部１６０が、第１の座標変換式（３１），（３２）を演算する場合に、関数sinc（ｔ）を、
sinc（ｔ）＝１−ｔ２／３！＋ｔ４／５！−ｔ６／７！＋ｔ８／９！− ....
なるテイラー展開した形式の式に基づいて演算するようにすれば、三角関数演算を避けることができる。しかも、ｔ＝０の場合、上記式の右辺の値は１になるため、sinc（０）＝１という数学的な定義とも合致した関数値を得ることができる。なお、上記式の右辺には、理論的には無限個の項が含まれることになるが、もちろん、実用上は、必要な有効桁数が得られる項までの計算を行えば十分である。
【０１５８】
同様に、変換演算部１３０が、第２の座標変換式（３３），（３４）を演算する場合に、関数１／sinc（ｔ）を、所定の係数値ａ２，ａ４，ａ６，ａ８， ....を用いた
１／sinc（ｔ）＝１＋ａ２ｔ２＋ａ４ｔ４＋ａ６ｔ６＋ａ８ｔ８＋ ....
なる形式の式に基づいて演算するようにすれば、三角関数演算を避けることができる。ここで、係数ａ２，ａ４，ａ６，ａ８， ....の値は、式（６８）のように具体的な数値として求めることができるので、演算器には、これらの具体的な数値を格納しておくようにすればよい。この式においても、ｔ＝０の場合、右辺の値は１になるため、１／sinc（０）＝１という数学的な定義とも合致した関数値を得ることができる。やはり上記式の右辺には、理論的には無限個の項が含まれることになるが、実用上は、必要な有効桁数が得られる項までの計算を行えば十分である。
【０１５９】
＜＜＜  §７．変換演算式を導出する数学的プロセス  ＞＞＞
以上、§１〜§６において、本発明に係る画像変換装置を実施する上での最良の形態を述べた。ここでは、図１２に示す本発明の変換演算式を導出する数学的なプロセスを図２９および図３０に示す数式を参照しながら簡単に説明しておく。この図１２に示す変換演算式は、幾何学的には、図１１に示す変換演算式と等価であり、両者の相違は、平面傾斜角ψとφの定義の相違も含めたパラメータの設定のしかたのみである。いずれの変換演算式も、図１に示すような光学的特性をもった正射影方式の魚眼レンズを用いて形成される正射影画像Ｓ上の任意の点Ｓ（ｘ，ｙ）と、平面正則画像Ｔ上の特定の点Ｔ（ｕ，ｖ）との対応関係を示す式であり、幾何学的な解析を行うことにより導出することができる。ただ、三角関数を含む繁雑な式を取り扱う必要があるため、通常、行列式を用いた解析がなされる。以下、若干、数学的な知識を必要とする説明になるが、この行列式を用いた変換演算式の導出プロセスを述べる。
【０１６０】
図６において、ＵＶ座標系は接平面Ｓ２上に定義され、そのＵ軸の向きは、平面傾斜角φで決定される。そして、このＵＶ座標系の原点は、点Ｇ（ｘ０，ｙ０，ｚ０）として与えられる。そこで、ＸＹＺ座標系の原点Ｏを始点として、ＵＶ座標系の原点Ｇを終点とする回転ベクトルＮ（ｘ０，ｙ０，ｚ０）を定義すれば、ＸＹＺ座標系の空間内に配置される特定のＵＶ座標系は、この回転ベクトルＮ（ｘ０，ｙ０，ｚ０）と平面傾斜角φ（回転ベクトルＮ回りの回転ファクター）とによって規定される。このように、特定のＵＶ座標系は、回転ベクトルＮと、当該回転ベクトル回りの回転ファクターφ（平面傾斜角）とによって規定されるので、回転行列として表現することができる。
【０１６１】
本発明では、二次元ＵＶ座標系が定義できれば十分であるが、ここでは、ＵＶ平面に対して垂直なＷ軸を更に加えた、三次元ＵＶＷ座標系を考えてみる。たとえば、図６に示す例の場合、Ｗ軸は、点Ｇ（ｘ０，ｙ０，ｚ０）から原点Ｏに向かう方向の軸として定義される。そうすると、ここで求めるべき変換演算式は、三次元ＸＹＺ座標系と三次元ＵＶＷ座標系との間の座標変換を行う式ということになる（図１２の式（１９）に示すｗは、実はこのＷ軸に沿った座標値に相当する値である）。
【０１６２】
ここでは、仮想球面Ｈの半径Ｒ＝１として、回転ベクトルＮが単位ベクトルであるものとし、更に、座標系の回転のみを考慮して変換式の導出ができるように、三次元ＵＶＷ座標系の原点Ｇの位置が、三次元ＸＹＺ座標系の原点Ｏの位置に重なるように、三次元ＵＶＷ座標系を平行移動した状態で、両座標系の相互関係を考えることにする。すなわち、図６において、接平面Ｓ２上に位置するＵＶ座標系は、傾斜面Ｓ１上に平行移動させられることになる。
【０１６３】
いま、回転ベクトルＮ＝（ｘ，ｙ，ｚ）と回転角φによって定義される三次元回転行列をＲ（φ，Ｎ）とする。そして、図２９の式（７１）に示すように、回転ベクトルＮ＝（ｘ，ｙ，ｚ）に対して、交代行列と呼ばれる行列Ｓを考える。ここで、行列の右肩の符号Ｔは転置行列を意味するものである。すると、行列Ｓ２は式（７２）、行列Ｓ３は式（７３）のようになる。
【０１６４】
一方、行列Ｓについての指数行列expＳは、式（７４）に示すような展開形で定義される。ここで、Ｅは単位行列である。式（７４）は式（７５）のように変形できるので、回転角φを乗じた指数行列exp（φＳ）は、図３０の式（７６）のように変形でき、式（７７）を得ることができる。この行列exp（φＳ）が、三次元回転行列表現Ｒ（φＮ）＝Ｒ（φ，Ｎ）になるので、式（７７）に、式（７１），（７２）を代入して計算すると、式（７８）が得られる。この式（７８）の最後に示す３行３列の行列式の各要素は、三次元ＸＹＺ座標系と三次元ＵＶＷ座標系との間の座標変換を行う際の係数値になる。この行列式の９つの要素を、Ａ〜Ｉの記号に置き換えると、式（７９）が得られる。
【０１６５】
図１２の式（１３）〜（１８）に示されている項Ａ〜Ｆは、この式（７９）に示されているＡ〜Ｆに対応するものである。本発明での変換対象となる画像は、ＸＹ平面上に配置された歪曲円形画像であるため、図１２の式（１１）によりｘ座標値、図１２の式（１２）によりｙ座標値が求められれば足り、ｚ座標値は常に０になるため、式（７９）の要素Ｇ，Ｈ，Ｉは利用されない。
【０１６６】
なお、図１２の式（１１），（１２）において、ｕ，ｖ，ｗの代わりに、「ｕ−ｘ０」，「ｖ−ｙ０」，「ｗ−ｚ０」が用いられているのは、上述したように、この導出プロセスが、図６において、接平面Ｓ２上に位置するＵＶ座標系を、傾斜面Ｓ１上に平行移動させた状態で行われたためである。実際には、ＵＶ座標系の原点は、ＸＹＺ座標系の原点Ｏに位置するわけではなく、点Ｇ（ｘ０，ｙ０，ｚ０）に位置している。式（１１），（１２）の項「ｕ−ｘ０」，「ｖ−ｙ０」，「ｗ−ｚ０」における座標値ｘ０，ｙ０，ｚ０の減算は、この平行移動した原点の位置を補正するためのものである。
【０１６７】
＜＜＜  §８．パラメータ設定法の変形例  ＞＞＞
最後に、本発明におけるパラメータ設定法の変形例を述べておく。既に§３において、パラメータφ，ｘ０，ｙ０，ｍを、ユーザに効率的に設定させる基本的な実施例を述べた。この§３で述べた方法の骨子は、図１３に示すように、ＸＹ座標系上に定義されている歪曲円形画像Ｓをユーザに提示し、この画像上で２点Ｐ，Ｑを指定させ、点Ｐ（ｘ０，ｙ０）の座標値（ｘ０，ｙ０）を、そのままパラメータｘ０，ｙ０の値として用い、２点Ｐ，Ｑ間の距離ｄを用いて、ｍ＝ｋ／ｄなる式により変換倍率ｍを決定し、更に、２点Ｐ，Ｑを結ぶ直線を参照直線Ｊとし、この参照直線ＪとＸ軸とのなす角θ（切り出し向き）を求め、この角度θに基づいて、平面傾斜角φを決定する（実用上は、近似的に、φ＝θとする）というものである。
【０１６８】
これに対して、ここで説明する変形例は、変換倍率ｍおよび切り出し向きを示す角度θを予め別個に設定しておき、歪曲円形画像Ｓ上では、１点Ｐ（ｘ０，ｙ０）のみを指定させる方法である。この変形例では、まず、図１９に示す指示入力部１５０が、ディスプレイ画面上に図３１に示すような「向き・倍率の設定画面１５１」を表示する。図示の例の場合、ユーザは、キーボードなどの入力デバイスを用いて、角度θ設定入力欄１５２にθの値を入力し、倍率ｍ設定入力欄１５３にｍの値を入力する操作を行うことになる。具体的には、たとえば、入力欄１５２にはθの値を「３０°」のように入力し、入力欄１５３にはｍの値を「２」のように入力すればよい。こうして入力したθは、歪曲円形画像Ｓ上に引くべき参照直線Ｊの向きを定義する値になる。もちろん、θおよびｍの入力方法としては、この他にも様々な方法を採ることが可能である。たとえば、画面上に数値を増減させる矢印マークを表示させ、この矢印マークをクリックするユーザの操作により特定の数値を指定させてもよい。
【０１６９】
このように、何らかの方法で、変換倍率ｍおよび切り出し向きを示す角度θを設定させるようにすれば、歪曲円形画像Ｓ上では、切出中心点Ｐ（ｘ０，ｙ０）のみを指定させればよい。図３２は、このような切出中心点Ｐを設定する操作を示す平面図である。図３２では図示が省略されているが、実際には、図の円内には歪曲円形画像Ｓが表示されており、ユーザは、たとえば、マウスクリックなどにより、この歪曲円形画像Ｓ内の任意の１点を切出中心点Ｐ（ｘ０，ｙ０）として指定する操作を行うことになる。ユーザが切出中心点Ｐ（ｘ０，ｙ０）の位置を指定すると、当該点Ｐを通り、Ｘ軸と角度θ（前述の操作によって入力欄１５２に入力した角度値）をなす直線として、図に一点鎖線で示すような参照直線Ｊを定めることができ、この参照直線Ｊの方向を基準として、画像の切り出しが行われることになる。
【０１７０】
この§８で述べるパラメータ設定法の変形例は、常に、切り出し向き（参照直線Ｊの方向）を固定した状態で、様々な位置の平面正則画像を得るような用途に最適である。たとえば、図３３の側面図に示すように、本発明を建物の壁面に取り付けられた監視カメラに利用した実施形態を考えてみる。図示のとおり、路面２１０上に建てられた建物２２０の壁面に、監視カメラ２３０が取り付けられており、図に一点鎖線で示すような視野を監視する業務を行うものとしよう。ここで、監視カメラ２３０が通常のレンズを備えたカメラの場合であれば、この監視カメラ２３０の位置から撮影した画像は、たとえば、図３４に示すような通常の平面正則画像になる。ところが、より視野を広げるために、監視カメラ２３０として魚眼レンズを用いたカメラを用いると、ＸＹ平面上には、図３５に示すような歪曲円形画像Ｓが得られることになる。
【０１７１】
ここで、図２に示す歪曲円形画像Ｓと図３５に示す歪曲円形画像Ｓとを比較してみると、両者はいずれも魚眼レンズを備えたカメラで撮影した画像であるが、前者は、光軸が鉛直方向となるようにカメラを設置し、周囲３６０°にわたる地上の景色を撮影することにより得られる画像であるのに対し、後者は、光軸が水平方向となるようにカメラを設置し、建物２２０の片側の景色を撮影することにより得られる画像であることがわかる。したがって、変換後にＵＶ座標系上に得られる平面正則画像が、自然界の天地に応じた正しい方向を向くように指定することを考えると、前者の場合、切り出し向き（角度θで規定される参照直線Ｊの向き）を、切出中心点の位置に応じて、様々な方向に指定する必要があるのに対して、後者の場合、常にＸ軸に平行な向きに設定すればよいことがわかる。
【０１７２】
したがって、図３３に示すような環境で、魚眼レンズ付き監視カメラ２３０を用いて得られた歪曲円形画像Ｓを変換する用途に本発明を利用する場合には、たとえば、図３１に示すような方法で、切り出し向きを示す角度θを予め０°に設定させ、変換倍率ｍについても所定の数値を予め設定させておき、図３５に示す歪曲円形画像Ｓ上では、切出中心点Ｐの位置指定のみを行わせるようにするのが好ましい。本発明において、θは、参照直線ＪとＸ軸とのなす角として定義される角度であり、前述したように、θ＝０°の場合は、参照直線ＪとＸ軸とが平行であることを示す。よって、θ＝０°という設定が行われている場合、参照直線Ｊは、ユーザが指定した切出中心点Ｐを通りＸ軸に平行な直線ということになる。
【０１７３】
図３６は、予めθ＝０°という設定が行われている場合において、図３５に示す歪曲円形画像Ｓ上における切出中心点の指定操作を示す平面図である。たとえば、ユーザが、図示のような歪曲円形画像Ｓをディスプレイ画面上で見ながら、路面上の１点Ｐ１の近傍を平面正則画像として視認したいと考えた場合は、当該点Ｐ１をクリック操作などで切出中心点として指定する操作を行えばよい。そうすれば、点Ｐ１を通りＸ軸に平行な参照直線Ｊ１が切り出し向きを示す直線ということになる。同様に、遠方のビルの１点Ｐ２の近傍を平面正則画像として視認したいと考えた場合は、当該点Ｐ２をクリック操作などで切出中心点として指定する操作を行えばよい。そうすれば、点Ｐ２を通りＸ軸に平行な参照直線Ｊ２が切り出し向きを示す直線ということになる。
【０１７４】
図３６に示すとおり、参照直線Ｊ１，Ｊ２は、いずれも自然界の水平面に沿った方向になり、ほぼこの方向にＵ軸の向きが定義されることになる。したがって、最終的に得られる平面正則画像は、いずれも切出中心点Ｐ１，Ｐ２を中心として、自然界の天地に応じた正しい方向を向いた画像になる。また、ユーザは、歪曲円形画像Ｓを見ながら、「平面正則画像として視認したい領域の中心」を切出中心点Ｐとして指定するだけの単純な操作を行えばよいので、良好な操作性が得られる。
【図面の簡単な説明】
【０１７５】
【図１】正射影方式の魚眼レンズを用いた撮影により歪曲円形画像Ｓを形成する基本モデルを示す斜視図である。
【図２】魚眼レンズを用いた撮影によって得られた歪曲円形画像Ｓの一例を示す平面図である（歪曲円形画像Ｓの一般的なイメージを示すものであり、正確な画像を示すものではない）。
【図３】歪曲円形画像Ｓの一部分に切出領域Ｅを定義した例を示す平面図である。
【図４】歪曲円形画像Ｓを含むＸＹ座標系と、平面正則画像Ｔを含むＵＶ座標系との関係を示す斜視図である。
【図５】ＵＶ座標系上に定義された平面正則画像Ｔと平面傾斜角φとの関係を示す平面図である。
【図６】ＸＹ座標系からＵＶ座標系への座標変換の原理を示す斜視図である。
【図７】図６の斜視図に示されている各構成要素を水平方向から見た図である。
【図８】図６の斜視図に示されている各構成要素を上方から見た図である。
【図９】ＵＶ座標系上に定義された平面正則画像Ｔを示す平面図である。
【図１０】ＸＹ座標系上に定義された歪曲円形画像Ｓを示す平面図である。
【図１１】オイラー角α，β，ψをパラメータとして用いた従来の一般的な変換演算式を示す図である。
【図１２】回転軸を示す座標値（ｘ０，ｙ０，ｚ０）と平面傾斜角φ（回転軸まわりの回転角）をパラメータとして用いた本発明に係る変換演算式を示す図である。
【図１３】ＸＹ平面上の２点Ｐ，Ｑを指定することにより、切出中心点、切り出し向きを示す角度θ（平面傾斜角φを決定するために用いられる角度）、変換倍率ｍの３つのパラメータを設定する原理を示す平面図である。
【図１４】具体的な歪曲円形画像上で２点Ｐ，Ｑもしくは２点Ｐ，Ｑ′を指定することにより、切出中心点、切り出し向きを示す角度θ、変換倍率ｍの３つのパラメータを設定する例を示す平面図である。
【図１５】図１４に示す例において、２点Ｐ，Ｑを指定した場合に得られる平面正則画像Ｔを示す平面図である。
【図１６】図１４に示す例において、２点Ｐ，Ｑ′を指定した場合に得られる平面正則画像Ｔを示す平面図である。
【図１７】図１３に示す切り出し向きを示す角度θと平面傾斜角φとの関係を示す斜視図である。
【図１８】切り出し向きを示す角度θに基づいて平面傾斜角φを算出する演算式を示す図である。
【図１９】本発明に係る画像変換装置の基本構成を示すブロック図である。
【図２０】正射影方式の魚眼レンズにおける入射光の投影状態を示す正面図である。
【図２１】正射影方式の魚眼レンズを用いて形成される正射影画像と、等距離射影方式の魚眼レンズを用いて形成される等距離射影画像と、の関係を示す斜視図である。
【図２２】等距離射影画像上の座標と正射影画像上の座標との間で座標変換を行うための変換式を示す図である。
【図２３】図１２に示す本発明に係る変換演算式の演算負担を軽減するために用いられる式を示す図である。
【図２４】図１２に示す本発明に係る変換演算式の演算負担を軽減するために用いられる関数テーブルを示す図である。
【図２５】図２４に示すような関数テーブルを参照する場合の線形補間の方法を示す図である。
【図２６】図２５に示す線形補間を実行するためのハードウエア構成要素を示すブロック図である。
【図２７】図１２に示す本発明に係る変換演算式の演算負担を軽減するために用いられる別な式を示す図である。
【図２８】図２２に示す座標変換の演算負担を軽減するために用いられる式を示す図である。
【図２９】図１２に示す本発明に係る変換演算式を導出するための数学的プロセスを示す図である。
【図３０】図１２に示す本発明に係る変換演算式を導出するための数学的プロセスを示す別な図である。
【図３１】本発明の変形例に係るパラメータ設定法において、ディスプレイ画面上に表示される「向き・倍率の設定画面」を示す平面図である。
【図３２】ＸＹ平面上の１点Ｐを指定することにより、切出中心点を設定する操作を示す平面図である。
【図３３】本発明を建物の壁面に取り付けられた監視カメラに利用した実施形態を示す側面図である。
【図３４】図３３に示す監視カメラ２３０として、通常のレンズを備えたカメラを用いた場合に得られる撮影画像の一例を示す平面図である。
【図３５】図３３に示す監視カメラ２３０として、魚眼レンズを備えたカメラを用いた場合に得られる撮影画像（歪曲円形画像Ｓ）の一例を示す平面図である。
【図３６】図３５に示す歪曲円形画像Ｓ上における切出中心点の指定操作を示す平面図である。
【符号の説明】
【０１７６】
１０：魚眼レンズを用いたカメラ
２１：Ｔレジスタ
２２：偶数関数テーブル
２３：奇数関数テーブル
２４：偶数読出部
２５：奇数読出部
２６：偶奇セレクタ
２７：偶奇セレクタ
２８：Ａレジスタ
２９：Ｂレジスタ
３０：補間演算部
３１：補間値レジスタ
１００：画像変換装置
１１０：歪曲円形画像格納部
１２０：平面正則画像格納部
１３０：変換演算部
１４０：歪曲円形画像表示部
１５０：指示入力部
１５１：向き・倍率の設定画面
１５２：角度θ設定入力欄
１５３：倍率ｍ設定入力欄
１６０：交点演算部
１７０：角度決定部
２１０：路面
２２０：建物
２３０：監視カメラ
ａ：ディスプレイの横方向寸法（水平方向の画素数）
ｂ：ディスプレイの縦方向寸法（垂直方向の画素数）
Ｂ：境界点
ｄ：２点ＰＱ間の距離
Ｅ：切出領域
ｆ：魚眼レンズに固有の定数
ｆ（ｔ）：変数ｔに対する関数値
Ｇ（ｘ０，ｙ０，ｚ０）：点Ｐを通りＺ軸に平行な直線と仮想球面Ｈとの交点
Ｈ：仮想球面
Ｈ（ｘ，ｙ，ｚ）：仮想球面Ｈ上の入射点
Ｊ，Ｊ′，Ｊ１，Ｊ２：参照直線
Ｌ１，Ｌ２：入射光線
ｍ：変換倍率
ｎ：法線ベクトル
Ｎ：回転ベクトル
Ｏ：三次元ＸＹＺ直交座標系の原点
Ｐ（ｘ０，ｙ０），Ｐ１，Ｐ２：切出中心点
Ｐ′（ｘ２，ｙ０）：補助点
Ｑ（ｘ１，ｙ１），Ｑ′（ｘ２，ｙ２）：補助点
Ｒ：歪曲円形画像Ｓの半径（仮想球面Ｈの半径）
ｒ：歪曲円形画像Ｓの中心点からの距離
Ｓ：歪曲円形画像
Ｓ１：傾斜面
Ｓ２：接平面
Ｓ（ｘ，ｙ）：歪曲円形画像Ｓ上の点
ｔ：変数
Ｔ：平面正則画像
Ｔ（ｕ，ｖ）：平面正則画像Ｔ上の点
Ｔ１，Ｔ２：関数テーブル
Ｕ：二次元ＵＶ直交座標系の座標軸
Ｕ′：Ｕ軸に平行な軸
Ｖ：二次元ＵＶ直交座標系の座標軸
Ｗ：変数ｔの離散値間隔
Ｘ：三次元ＸＹＺ直交座標系の座標軸
Ｘ′：Ｘ軸に平行な軸
Ｙ：三次元ＸＹＺ直交座標系の座標軸
Ｚ：三次元ＸＹＺ直交座標系の座標軸
α：方位角
β：天頂角
δ：下位ビットで示される端数
θ，θ′：切り出し向きを示す角度
φ，ψ：平面傾斜角
ξ：変数
【図１】
0005067336.tif 000002
【図２】
0005067336.tif 000003
【図３】
0005067336.tif 000004
【図４】
0005067336.tif 000005
【図５】
0005067336.tif 000006
【図６】
0005067336.tif 000007
【図７】
0005067336.tif 000008
【図８】
0005067336.tif 000009
【図９】
0005067336.tif 000010
【図１０】
0005067336.tif 000011
【図１１】
0005067336.tif 000012
【図１２】
0005067336.tif 000013
【図１３】
0005067336.tif 000014
【図１４】
0005067336.tif 000015
【図１５】
0005067336.tif 000016
【図１６】
0005067336.tif 000017
【図１７】
0005067336.tif 000018
【図１８】
0005067336.tif 000019
【図１９】
0005067336.tif 000020
【図２０】
0005067336.tif 000021
【図２１】
0005067336.tif 000022
【図２２】
0005067336.tif 000023
【図２３】
0005067336.tif 000024
【図２４】
0005067336.tif 000025
【図２５】
0005067336.tif 000026
【図２６】
0005067336.tif 000027
【図２７】
0005067336.tif 000028
【図２８】
0005067336.tif 000029
【図２９】
0005067336.tif 000030
【図３０】
0005067336.tif 000031
【図３１】
0005067336.tif 000032
【図３２】
0005067336.tif 000033
【図３３】
0005067336.tif 000034
【図３４】
0005067336.tif 000035
【図３５】
0005067336.tif 000036
【図３６】
0005067336.tif 000037