(57)【特許請求の範囲】
【請求項１】
結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理装置であって、
前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算部と、
前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算部と、
前記高次演算部及び前記補間演算部を介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリング部と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記補間演算部が、バイリニア補間によって前記サンプリング位置を算出するように構成されている、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補間演算部が、バイキュービック補間によって前記サンプリング位置を算出するように構成されている、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）である、
ことを特徴とする請求項１乃至請求項３の何れか記載の画像処理装置。
【請求項５】
前記高次式が３次以上で構成されている、
ことを特徴とする請求項１乃至請求項４の何れか記載の画像処理装置。
【請求項６】
前記結像光学系が、レンズを介して被写体像をイメージセンサに結像させるように構成され、
前記高次式あるいはその係数が、前記イメージセンサに付随する前記結像光学系に関連付けられている、
ことを特徴とする請求項１乃至請求項５の何れか記載の画像処理装置。
【請求項７】
前記高次式あるいはその係数が、前記イメージセンサに付随する結像光学系の変更に応じて変化するように備えられている、
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、前記高次式あるいはその係数を変更する高次式変更手段が備えられている、
ことを特徴とする請求項６又は請求項７に記載の画像処理装置。
【請求項９】
前記高次式の係数を記憶する記憶手段を備えている、
ことを特徴とする請求項１乃至請求項８の何れか記載の画像処理装置。
【請求項１０】
前記記憶手段には、前記高次式の係数が前記レンズの所定位置に対応付けられて記憶され、
前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成手段を備えている、
ことを特徴とする請求項８又は請求項９に記載の画像処理装置。 
【請求項１１】
結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理方法であって、
前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、
前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算ステップと、
前記高次演算ステップ及び前記補間演算ステップを介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリングステップと、
を用いることを特徴とする画像処理方法。
【請求項１２】
前記補間演算ステップでは、バイリニア補間によって前記サンプリング位置を算出する、
ことを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
前記補間演算ステップでは、バイキュービック補間によって前記サンプリング位置を算出する、
ことを特徴とする請求項１１に記載の画像処理方法。
【請求項１４】
前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）である、
ことを特徴とする請求項１１乃至請求項１３の何れか記載の画像処理方法。
【請求項１５】
前記高次式として３次以上のものが用いる、
ことを特徴とする請求項１１乃至請求項１４の何れか記載の画像処理方法。
【請求項１６】
前記結像光学系には、レンズを介して被写体像をイメージセンサに結像させるものが用いられ、
前記高次式あるいはその係数が、前記イメージセンサに付随する前記結像光学系に関連付けられている、
ことを特徴とする請求項１１乃至請求項１５の何れか記載の画像処理方法。
【請求項１７】
前記高次式あるいはその係数を、前記イメージセンサに付随する結像光学系の変更に応じて変更する、
ことを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、前記高次式あるいはその係数を変更する、
ことを特徴とする請求項１６又は請求項１７に記載の画像処理方法。
【請求項１９】
記憶手段を用いて前記高次式の係数を記憶する、
ことを特徴とする請求項１１乃至請求項１８の何れか記載の画像処理方法。
【請求項２０】
前記レンズの所定位置に対応付けて前記高次式の係数を前記記憶手段に記憶し、
前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成ステップを用いる、
ことを特徴とする請求項１８又は請求項１９に記載の画像処理方法。
【請求項２１】
結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理プログラムであって、
前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、
前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算ステップと、
前記高次演算ステップ及び前記補間演算ステップを介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリングステップと、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項２２】
前記補間演算ステップでは、バイリニア補間によって前記サンプリング位置を算出するように、
コンピュータに実行させることを特徴とする請求項２１に記載の画像処理プログラム。
【請求項２３】
前記補間演算ステップでは、バイキュービック補間によって前記サンプリング位置を算出するように、
コンピュータに実行させることを特徴とする請求項２１に記載の画像処理プログラム。
【請求項２４】
前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）であるように、
コンピュータに実行させることを特徴とする請求項２１乃至請求項２３の何れか記載の画像処理プログラム。
【請求項２５】
前記高次式として３次以上のものを用いるように、
コンピュータに実行させることを特徴とする請求項２１乃至請求項２４の何れか記載の画像処理プログラム。
【請求項２６】
前記結像光学系には、レンズを介して被写体像をイメージセンサに結像させるものが用いられ、
前記高次式あるいはその係数を、前記イメージセンサに付随する前記結像光学系に関連付けるように、
コンピュータに実行させることを特徴とする請求項２１乃至請求項２５の何れか記載の画像処理プログラム。
【請求項２７】
前記高次式或いはその係数を、前記イメージセンサに付随する結像光学系の変更に応じて変更するように、
コンピュータに実行させることを特徴とする請求項２６に記載の画像処理プログラム。
【請求項２８】
前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、前記高次式あるいはその係数を変更するように、
コンピュータに実行させることを特徴とする請求項２６又は請求項２７に記載の画像処理プログラム。
【請求項２９】
記憶手段に前記高次式の係数を記憶するように、
コンピュータに実行させることを特徴とする請求項２１乃至請求項２８の何れか記載の画像処理プログラム。
【請求項３０】
前記レンズの所定位置に対応付けて前記高次式の係数を前記記憶手段に記憶する記憶ステップと、
前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成ステップと、
をコンピュータに実行させることを特徴とする請求項２８又は請求項２９に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子的な撮像光学系を備えたデジタルカメラ等の画像処理に関し、特に、結像光学系の歪曲収差を補正する技術に関するものである。
【背景技術】
【０００２】
従来、デジタルカメラなどの撮像系において、被写体像を撮像素子に導いて結像させる撮像レンズと、複数の光電変換素子がマトリクス状に配置され、レンズを介して結像した被写体像を光電変換する撮像素子とを備え、撮像素子を介して入力された画像信号を用いて、被写体像を表す出力画像を生成する画像処理装置及び画像処理方法が知られている。
【０００３】
この際、出力画像の画素位置に対応付けて、撮像素子を介して入力された画像（所謂、入力画像である）をサンプリングし、このサンプリング位置における画像の画素信号を出力画像の画素信号に変換する。
【０００４】
また、一般に光学系のレンズには幾何学的な歪曲収差が発現し、これによって画像に歪みが生じて画像の精度及び品位を損なうので、この収差を低減するたに、種々の方法がとられている。
【０００５】
例えば、従来、この歪曲収差に対して、複数枚のレンズを組み合わせてレンズの精度を向上させることでレンズの歪曲収差を小さくするという方法が取られていたが、レンズの精度に依存してコストが高くなり、生産性を損なうという問題がある。
【０００６】
一方、画像をデジタル化して処理する場合には、レンズを介して結像する段階で収差を厳密に抑制する必要は必ずしもなく、デジタル化して得られた像（画像情報）に対して信号処理することによって、歪曲収差を抑制することができるということが知られている。
【０００７】
例えば、デジタルカメラ等の画像処理において、予め、歪曲収差のない理想の画像の画素座標と、レンズ及びイメージセンサを介して出力されて歪曲収差を含んで結像した画像の画像座標との関係から、理想画像の画素座標に対応する歪曲収差を有する画像の画素座標の対応点をもとめて、歪曲収差を打ち消すためように入力画像に対するサンプリング位置の補正値をメモリに記憶し、画像処理毎に、歪曲収差を含んで入力した画像に対して、サンプリング位置に補正を加えてサンプリングし、歪曲収差を抑制する方法が知られている。
【０００８】
さらに、出力画像の画素毎に、歪曲収差を補正すべく、高次式を用いて入力画像に対するサンプリング位置を補正し、補正されたサンプリング位置で入力画像をサンプリングし、歪曲収差を抑制する方法もある（例えば、特許文献１、２）。
【特許文献１】特開２０００−３２４３３９公報
【特許文献２】特開平１０−２６２１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、近年、デジタルカメラ等の画像機器では、高画質化及び画像サイズの大型化につれて画素数が増大しており、出力画像の全画素に対して入力画像のサンプリング位置の補正値をメモリに格納する方法によれば、補正値を格納するためのメモリの容量が増大して生産性を損なうという問題があった。
【００１０】
また、特許文献１、２のように、出力画像の全画素に対応付けて高次式を用いて入力画像のサンプリング位置を算出する方法によれば、高次計算の演算量が膨大となって、処理時間がかるという問題があった。
【００１１】
さらに、レンズの移動によるズーム機能を備えたデジタルカメラでは、歪曲収差がレンズの位置によって変化するので、レンズの位置或いはズーム条件に応じて全画素に対し、歪曲収差の補正値を備えたり高次式で座標変換したりするものとすれば、一層、メモリ容量や処理時間の増大につながり、更には消費電力が増大するという問題があった。
【００１２】
そこで、本発明は、以上の問題などに鑑みて、結像光学系に起因する歪曲収差などの歪みを、メモリ容量や処理時間を増大させることなく高精度に補正できる画像処理装置及び画像処理方法、画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
かかる目的を達成するためになされた請求項１に記載の発明は、結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理装置であって、前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算部と、前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算部と、前記高次演算部及び前記補間演算部を介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリング部と、を備えていることを特徴とする。
【００１４】
請求項１に記載の画像処理装置によれば、出力画像における所定の画素位置において、前記歪曲収差を打ち消すように、入力画像上のサンプリング位置を高次式によって算出する高次演算部と、出力画像における所定の画素位置以外の画素位置において、該画素の近傍に位置する所定の出力画素のサンプリング位置から、入力画像上のサンプリング位置を補間算出する補間演算部と、高次演算部及び前記補間演算部を介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリング部と、を備えているので、結像光学系に起因する歪曲収差などの歪みを、メモリ容量や処理時間を増大させることなく高精度に補正できる。
【００１５】
また、請求項１に記載の画像処理装置は、請求項２に記載の発明のように、前記補間演算部が、バイリニア補間によって前記サンプリング位置を算出するように構成されていることにより、出力画像における所定の画素位置以外の画素位置において、容易にサンプリング位置を算出でき、出力画素の全画素位置に対して入力画像のサンプリング位置を高次式で算出するよりも、処理時間が早くて演算のための消費電力を少なくできる。
【００１６】
また、請求項１に記載の画像処理装置は、請求項３に記載の発明のように、前記補間演算部が、バイキュービック補間（所謂、３次補間である）によって前記サンプリング位置を算出するように構成されていることにより、出力画像における所定の画素位置以外の画素位置において、サンプリング位置を精度良く算出できる。
【００１７】
また、請求項１乃至請求項３の何れか記載の画像処理装置は、請求項４に記載の発明のように、前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）とすることにより、高次式で算出するサンプリング位置が出力画像の全画素の数よりも少なくなるので、高次式による演算量を低減できる。
【００１８】
また、請求項１乃至請求項４の何れか記載の画像処理装置は、請求項５に記載の発明のように、前記高次式が３次以上で構成されていることにより、局部的な歪みがなくて滑らかな出力画像を得ることができる。
【００１９】
また、請求項１乃至請求項５の何れか記載の画像処理装置は、請求項６に記載の発明のように、前記結像光学系が、レンズを介して被写体像をイメージセンサに結像させるように構成され、前記高次式あるいはその係数が、前記イメージセンサに付随する前記結像光学系に関連付けられていることにより、結像光学系の歪曲収差を補正して精度良く所定の出力画像を得ることができる。
【００２０】
また、請求項６に記載の画像処理装置は、請求項７に記載の発明のように、前記高次式或いはその係数が、前記イメージセンサに付随する結像光学系の変更に応じて変化するように備えられていることにより、結像光学系の変更による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００２１】
また、請求項６又は請求項７に記載の画像処理装置は、請求項８に記載の発明のように、前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、
前記高次式あるいはその係数を変更する高次式変更手段が備えられていることにより、レンズの位置の変化による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００２２】
また、請求項１乃至請求項８の何れか記載の画像処理装置は、請求項９に記載の発明のように、前記高次式の係数を記憶する記憶手段を備えていることにより、オペレータが画像処理毎に高次式を画像処理装置に入力することがなくて操作性を良好にできる。
【００２３】
また、請求項８又は請求項９に記載の画像処理装置は、請求項１０に記載の発明のように、前記記憶手段には、前記高次式の係数が前記レンズの所定位置に対応付けられて記憶され、前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成手段を備えていることにより、レンズ位置の移動位置に対応付けて高次式の係数を得ることができ、且つ、移動位置の全てに対応付けて係数を記憶するよりも、メモリの容量を低減できる。
【００２４】
次に、請求項１１に記載の発明は、結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理方法であって、前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算ステップと、前記高次演算ステップ及び前記補間演算ステップを介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリングステップと、を用いることを特徴とする。
【００２５】
請求項１１に記載の発明によれば、出力画像における所定の画素位置において、歪曲収差を打ち消すように、入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、出力画像における所定の画素位置以外の画素位置において、画素の近傍に位置する所定の出力画素のサンプリング位置から、入力画像上のサンプリング位置を補間算出する補間演算ステップと、高次演算ステップ及び補間演算ステップを介して算出されたサンプリング位置において、入力画像の画素値をサンプリングするサンプリングステップとを用いるので、請求１に記載の発明と同様に、結像光学系に起因する歪曲収差などの歪みを、メモリ容量や処理時間を増大させることなく高精度に補正できる。
【００２６】
また、請求項１１に記載の画像処理方法は、請求項１２に記載の発明のように、前記補間演算ステップでは、バイリニア補間によって前記サンプリング位置を算出することにより、請求項２に記載の発明と同様に、出力画像における所定の画素位置以外の画素位置において、容易にサンプリング位置を算出でき、出力画素の全画素位置に対して入力画像のサンプリング位置を高次式で算出するよりも、処理時間が早くて演算のための消費電力を少なくできる。
【００２７】
また、請求１１に記載の画像処理方法は、請求項１３に記載の発明のように、前記補間演算ステップでは、バイキュービック補間によって前記サンプリング位置を算出することにより、請求項３に記載の発明と同様に、出力画像における所定の画素位置以外の画素位置において、サンプリング位置を精度良く算出できる。
【００２８】
また、請求項１１乃至請求項１３の何れか記載の画像処理方法は、請求項１４に記載の発明のように、前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）であることにより、請求項４に記載の発明と同様に、高次式で算出するサンプリング位置が出力画像の全画素の数よりも少なくなるので、高次式による演算量を低減できる。
【００２９】
また、請求項１１乃至請求項１４の何れか記載の画像処理方法は、請求項１５に記載の発明のように、前記高次式として３次以上のものが用いることにより、請求項５に記載の発明と同様に、局部的な歪みがなくて滑らかな出力画像を得ることができる。
【００３０】
また、請求項１１乃至請求項１５の何れか記載の画像処理方法は、請求項１６に記載の発明のように、前記結像光学系には、レンズを介して被写体像をイメージセンサに結像させるものが用いられ、前記高次式あるいはその係数が、前記イメージセンサに付随する前記結像光学系に関連付けられていることにより、請求項６に記載の発明と同様に、結像光学系の歪曲収差を補正して精度良く所定の出力画像を得ることができる。
【００３１】
また、請求項１６に記載の画像処理方法は、請求項１７に記載の発明のように、前記高次式或いはその係数を、前記イメージセンサに付随する結像光学系の変更に応じて変更することにより、請求項７に記載の発明と同様に、結像光学系の変更による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００３２】
また、請求項１６又は請求項１７に記載の画像処理方法は、請求項１８に記載の発明のように、前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、前記高次式あるいはその係数を変更することにより、請求項８に記載の発明と同様に、レンズの位置の変化による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００３３】
また、請求項１１乃至請求項１８の何れか記載の画像処理方法は、請求項１９に記載の発明のように、記憶手段を用いて前記高次式の係数を記憶することにより、請求項９に記載の発明と同様に、オペレータが画像処理毎に高次式を画像処理装置に入力することがなくて操作性を良好にできる。
【００３４】
また、請求項１８又は請求項１９に記載の画像処理方法は、請求項２０に記載の発明のように、前記レンズの所定位置に対応付けて前記高次式の係数を前記記憶手段に記憶し、
前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成ステップを用いることにより、請求項１０に記載の発明と同様に、レンズ位置の移動位置に対応付けて高次式の係数を得ることができ、且つ、移動位置の全てに対応付けて係数を記憶するよりも、メモリの容量を低減できる。
【００３５】
次に、請求項２１に記載の発明は、結像光学系の歪曲収差およびブレを伴って入力した入力画像から、歪曲およびブレを軽減した出力画像を生成する画像処理プログラムであって、前記出力画像の画像範囲を全てのブロックが三角形となるように分割した場合の当該三角形の頂点である所定の画素位置において、前記歪曲収差および前記ブレの両方を打ち消すように、前記入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、前記出力画像における前記所定の画素位置以外の画素位置において、該画素を囲む前記三角形の３つの頂点のサンプリング位置から、前記入力画像上のサンプリング位置を補間算出する補間演算ステップと、前記高次演算ステップ及び前記補間演算ステップを介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするサンプリングステップと、をコンピュータに実行させることを特徴とする。
【００３６】
請求項２１に記載の画像処理プログラムによれば、出力画像における所定の画素位置において、歪曲収差を打ち消すように、入力画像上のサンプリング位置を高次式によって算出する高次演算ステップと、出力画像における所定の画素位置以外の画素位置において、該画素の近傍に位置する所定の出力画素のサンプリング位置から、入力画像上のサンプリング位置を補間算出する補間演算ステップと、高次演算ステップ及び補間演算ステップを介して算出されたサンプリング位置において、入力画像の画素値をサンプリングするサンプリングステップと、をコンピュータに実行させることにより、請求項１に記載の発明と同様に、結像光学系に起因する歪曲収差などの歪みを、メモリ容量や処理時間を増大させることなく高精度に補正できる。
【００３７】
また、請求項２１に記載の画像処理プログラムは、請求項２２に記載の発明のように、前記補間演算ステップでは、バイリニア補間によって前記サンプリング位置を算出するように、コンピュータに実行させることにより、請求項２に記載の発明と同様に、出力画像における所定の画素位置以外の画素位置において、容易にサンプリング位置を算出でき、出力画素の全画素位置に対して入力画像のサンプリング位置を高次式で算出するよりも、処理時間が早くて演算のための消費電力を少なくできる。
【００３８】
また、請求項２１に記載の画像処理プログラムは、請求項２３に記載の発明のように、前記補間演算ステップでは、バイキュービック補間によって前記サンプリング位置を算出するように、コンピュータに実行させることにより、請求項３に記載の発明と同様に、出力画像における所定の画素位置以外の画素位置において、サンプリング位置を精度良く算出できる。
【００３９】
また、請求項２１乃至請求項２３の何れか記載の画像処理プログラムは、請求項２４に記載の発明のように、前記所定の出力画素の数が、前記出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）であるように、コンピュータに実行させることにより、請求項４に記載の発明と同様に、高次式で算出するサンプリング位置が出力画像の全画素の数よりも少なくなるので、高次式による演算量を低減できる。
【００４０】
また、請求項２１乃至請求項２４の何れか記載の画像処理プログラムは、請求項２５に記載の発明のように、前記高次式として３次以上のものを用いるように、コンピュータに実行させることにより、請求項５に記載の発明と同様に、局部的な歪みがなくて滑らかな出力画像を得ることができる。
【００４１】
また、請求項２１乃至請求項２５の何れか記載の画像処理プログラムは、請求項２６に記載の発明のように、前記結像光学系には、レンズを介して被写体像をイメージセンサに結像させるものが用いられ、前記高次式あるいはその係数を、前記イメージセンサに付随する前記結像光学系に関連付けるように、コンピュータに実行させることにより、請求項６に記載の発明と同様に、結像光学系の歪曲収差を補正して精度良く所定の出力画像を得ることができる。
【００４２】
また、請求項２６に記載の画像処理プログラムは、請求項２７に記載の発明のように、前記高次式或いはその係数を、前記イメージセンサに付随する結像光学系の変更に応じて変更するように、コンピュータに実行させることにより、請求項７に記載の発明と同様に、結像光学系の変更による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００４３】
また、請求項２６又は請求項２７に記載の画像処理プログラムは、請求項２８に記載の発明のように、前記被写体と前記イメージセンサとを結ぶ光軸上における前記レンズの位置に応じて、前記高次式あるいはその係数を変更するように、コンピュータに実行させることにより、請求項８に記載の発明と同様に、レンズの位置の変化による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００４４】
また、請求項２１乃至請求項２８の何れか記載の画像処理プログラムは、請求項２９に記載の発明のように、記憶手段に前記高次式の係数を記憶するように、コンピュータに実行させることにより、請求項９に記載の発明と同様に、オペレータが画像処理毎に高次式を画像処理装置に入力することがなくて操作性を良好にできる。
【００４５】
また、請求項２８又は請求項２９に記載の画像処理方法は、請求項３０に記載の発明のように、前記レンズの所定位置に対応付けて前記高次式の係数を前記記憶手段に記憶する記憶ステップと、前記レンズの所定位置以外の位置において、前記記憶手段に記憶された前記高次式の係数から、前記高次式の係数を補間して生成する係数補間生成ステップと、をコンピュータに実行させることにより、請求項１０に記載の発明と同様に、レンズ位置の移動位置に対応付けて高次式の係数を得ることができ、且つ、移動位置の全てに対応付けて係数を記憶するよりも、メモリの容量を低減できる。
【発明の効果】
【００４６】
本発明の画像処理装置及び画像処理方法、画像処理プログラムは、出力画像における所定の画素位置において、歪曲収差を打ち消すように、入力画像上のサンプリング位置を高次式によって算出し、出力画像における所定の画素位置以外の画素位置において、該画素の近傍に位置する所定の出力画素のサンプリング位置から、入力画像上のサンプリング位置を補間算出し、高次演算及び補間演算を介して算出されたサンプリング位置において、前記入力画像の画素値をサンプリングするので、結像光学系に起因する歪曲収差などの歪みを、メモリ容量や処理時間を増大させることなく高精度に補正できる。
【００４７】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、補間演算の際にバイリニア補間でサンプリング位置を算出するので、出力画像における所定の画素位置以外の画素位置において、容易にサンプリング位置を算出でき、出力画素の全画素位置に対して入力画像のサンプリング位置を高次式で算出するよりも、処理時間が早くて演算のための消費電力を少なくできる。
【００４８】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、補間演算の際にバイキュービック補間（所謂、３次補間である）でサンプリング位置を算出するので、出力画像における所定の画素位置以外の画素位置において、サンプリング位置を精度良く算出できる。
【００４９】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、所定の出力画素の数を、出力画像の全画素の数よりも少数（但し、ゼロを含まないものとする）としているので、高次式による演算量を低減でき、且つ、高次式を３次以上で構成しているので、局部的な歪みがなくて滑らかな出力画像を得ることができる。
【００５０】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、結像光学系がレンズを介して被写体像をイメージセンサに結像させるように構成され、高次式あるいはその係数がイメージセンサに付随する結像光学系に関連付けられているので、結像光学系の歪曲収差を補正して精度良く所定の出力画像を得ることができる。
【００５１】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、高次式或いはその係数が、イメージセンサに付随する結像光学系の変更に応じて変化するように備えられていることにより、結像光学系の変更による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正でき、レンズの位置に応じて、高次式あるいはその係数を変更することができるので、レンズの位置の変化による歪曲収差の変化を打ち消して、精度良く歪曲収差を補正できる。
【００５２】
また、本発明の画像処理装置及び画像処理方法、画像処理プログラムは、前記高次式を記憶することにより、オペレータが画像処理毎に高次式を画像処理装置に入力することがなくて操作性を良好にでき、且つ、る。高次式の係数が前記レンズの所定位置に対応付けられて記憶され、レンズの所定位置以外の位置において、記憶手段に記憶された高次式の係数から、高次式の係数を補間して生成することができるので、レンズ位置の移動位置に対応付けて高次式の係数を得ることができ、且つ、移動位置の全てに対応付けて係数を記憶するよりも、メモリの容量を低減できる。
【発明を実施するための最良の形態】
【００５３】
（第１の実施形態）
次に、本発明の画像処理装置及び画像処理方法、画像処理プログラムの第１の実施形態を図面にもとづいて説明する。
【００５４】
図１は、本発明の画像処理装置及び画像処理方法、画像処理プログラムが適用された一実施例の、撮像装置１の構成を表したブロック図である。図２（ａ）は、同実施例の画像処理における、出力画像のブロック分割例を表した図、図２（ｂ）は、同実施例の出力画像における原点座標設定の説明図である。
【００５５】
図３は、同実施例における色プレーン分解部と色生成部の機能説明図であって、（ａ）が撮像光学系２から出力されるベイヤー配列の色モザイク画像を表した図、（ｂ）（ｃ）（ｄ）が、夫々、色プレーン分解部で生成されたＲプレーン、Ｇプレーン、Ｂプレーンの配置を表した図、（ｅ）がサンプリング座標における画素値を補間算出する際の説明図である。
【００５６】
図４は、本実施例において歪曲収差の補正の概念を説明する図であって、（ａ）が撮像光学系から出力して歪曲収差を含む画像を表した図、（ｂ）は、歪曲収差を補正して出力される出力画像を表した図である。図５は、同実施例における画像処理及び画像処理プログラムにおける手順を表した図である。
【００５７】
図１に表したように、撮像装置１は、被写体像を撮像素子５に導いてデジタル画像信号Ｃ（モザイク状の画像信号である）として出力する撮像光学系２と、撮像光学系２を介して出力されたデジタル画像信号Ｃに基づいて、撮像光学系２に依存する歪曲収差を補正すると共に画素毎に複数の色情報を備えたカラー画像を生成する画像処理装置１００とによって構成されている。
【００５８】
撮像光学系２には、被写体像Ｐを撮像素子５に導く撮像レンズ３、受光した撮像光を電気量に変換して出力する撮像素子（ＣＣＤ：Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）５、撮像素子５から出力されるアナログ画像信号をデジタル画像信号Ｃに変換して出力するＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）６、撮像素子５及びＡＦＥ６を所定の周期で制御するＴＧ（Ｔｉｍｉｎｇ  Ｇｅｎｅｒａｔｏｒ）１３、撮像レンズ３の光軸方向（Ｚ方向）のスライド駆動を行うレンズ駆動部１２、センサ１１を介して撮像レンズ３のスライド量を検出する検出部１０等が備えられている。なお、本発明におけるイメージセンサは、撮像素子５によってその機能が発現される。
【００５９】
撮像素子５は、複数の光電変換素子がマトリクス状に並設されて構成され、夫々の光電変換素子毎に撮像信号を光電変換してアナログ画像信号を出力するように構成されている。
【００６０】
また、撮像素子５は、光電変換素子に対応付けてＲ（赤）Ｇ（緑）Ｂ（青）３色のベイヤー（Ｂａｙｅｒ）配列からなるカラーフィルタ５ａを備え、各色のフィルタ部を通過した光量を電気信号に変換する。
【００６１】
ＡＦＥ６は、撮像素子５を介して出力されたアナログ画像信号に対してノイズを除去する相関二重サンプリング回路（ＣＤＳ：Ｃｏｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）７、相関二重サンプリング回路７で相関二重サンプリングされた画像信号を増幅する可変利得増幅器（ＡＧＣ：Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）８、可変利得増幅器８を介して入力された撮像素子５からのアナログ画像信号をデジタル画像信号に変換するＡ／Ｄ変換器９、等によって構成され、撮像素子５から出力された画像信号を、所定のサンプリング周波数でデジタル画像信号Ｃに変換して画像処理装置１００に出力する。
【００６２】
なお、撮像光学系２において、撮像素子５、相関二重サンプリング回路７、可変利得増幅器８、Ａ／Ｄ変換器９等に代えて、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサを用いてもよい。撮像素子５から出力される画素毎の信号が単一の色情報しかもたないので、撮像光学系２から画像処理装置１００に、モザイク状の画像信号が出力される。
【００６３】
一般的に、撮像素子５に結像された被写体像には撮像レンズ３固有の歪曲収差による歪みが生じる。そこで、画像処理装置１００は、入力画像の歪曲を修正して歪曲のない出力画像を生成するように構成されている。
【００６４】
詳しくは、画像処理装置１００は、撮像光学系２から出力されたモザイク画像を、Ｒ、Ｇ、Ｂの画素毎に分離する色プレーン分解部２１、色プレーン分解部２１から出力された画素信号とブロック走査部２５から出力された信号にもとづいてＲ、Ｇ、Ｂの画素毎にサンプリング座標を設定するサンプリング座標設定部２９、サンプリング座標設定部２９で設定されたサンプリング座標に基づき、Ｒ、Ｇ、Ｂの画素毎の画素値をサンプリングするサンプリング部３２、サンプリング部３２を介して得られたＲ、Ｇ、Ｂの画素毎の画素値を合成して画素毎に複数の色成分を備えた色データを生成する色生成部３３等を備えている。なお、本発明における結像光学系は、撮像光学系２によってその機能が発現される。
【００６５】
さらに、画像処理装置１００は、色生成部３３から出力されたカラー画像信号に対して色画像の見栄えを良くするために公知のガンマ補正や彩度補正、エッジ強調を行う視覚補正部３４、視覚補正部３４を介して出力されたカラー画像を例えばＪＰＥＧ等の方法で圧縮する圧縮部３５、圧縮部３５を介して出力されたカラー画像を例えばフラッシュメモリ等の記録媒体に記録する記録部３６、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１８、ＲＯＭ（Ｒｅｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１９等によって構成され、ＣＰＵ１８がＲＯＭ１９に格納された制御用プログラムに従って、当該撮像装置１及び画像処理装置１００の各処理を制御する。
【００６６】
色プレーン分解部２１は、図１、図３に表したように、ベイヤー配列に対応付けられて、Ｒの画素信号を記憶するＲフィールドメモリ２２と、Ｇの画素信号を記憶するＧフィールドメモリ２３と、Ｂの画素信号を記憶するＢフィールドメモリ２４と、によって構成され、ＣＰＵ１８からの指令に基づき、これらの画素信号（以下、画素値という）をサンプリング部３２に出力する。
【００６７】
ブロック走査部２５は、当該画像処理装置１００を介して出力する出力カラー画像を複数のブロックに分割するブロック分割部２６、ブロック分割部２６で形成されたブロックの頂点座標を設定する頂点座標設定部２７、ブロック内における出力カラー画像の画素位置を走査してその座標を求める画素走査部２８等によって構成され、頂点座標設定部２７で算出された頂点座標及び画素走査部２８で求めた画素座標をサンプリング座標設定部２９に出力する。
【００６８】
出力カラー画像のサイズやブロック分割形状、画素位置等は、予めユーザによって設定され、これらを表すパラメータがＲＯＭ１９に格納されている。
【００６９】
図２（ａ）に表したように、ブロック分割部２６では、全てのブロックが三角形になるように画像範囲が分割され、且つ、各ブロックが隙間なく密接している。この際、ブロックのサイズを小さくすれば歪曲補正精度が向上するがその演算量が増加し、一方、ブロックのサイズを大きくすれば歪曲補正の演算量が少なくなるが補正精度が低下する。
【００７０】
本発明者の研究によれば、良好な補正結果を得るために、最も小さいブロックの一辺の長さを画像幅（Ｌ）に対して１／１０以下にすることが好ましく、且つ、画像中央から四隅に向かって、歪曲収差が大きくなるのでブロックを小さくすることが好ましい。ただし、ブロックを過剰に小さくするとブロック数が増えて演算量が増加するので、所望に応じてブロック数を例えば１０００以下にするように設定することが好ましい。
【００７１】
次に、頂点座標設定部２７は、三角形の出力カラー画像上の３つの頂点（例えばＰ１、Ｐ２、Ｐ３）の座標（ｕｄｎ，ｖｄｎ）を算出し、次いで、頂点座標に対応する色モザイク画像上のサンプリング座標（ｕｓｎ，ｖｓｎ）を、歪曲収差の影響を打ち消すように、以下の通り算出する。
【００７２】
まず、図４（ａ）（ｂ）に表したように、画素位置に対応付けられた座標系をｕｖ系で表し、補正計算で用いる便宜上の座標系をｘｙで表す。また、添え字ｓは色モザイク画像上での座標を示し、添え字ｄは出力カラー座標上での座標を示す。
【００７３】
次に、図２（ｂ）に表したように、出力カラー画像の座標系として、画像中心を原点として最大の像高さを１、画面左右方向をｘとして画面上下方向をｙとする。また、カラー画像を、左右方向に６４０個、上下方向に４８０個の画素が等間隔で配置されるものとする。
【００７４】
そして、ｕｖ系座標において、画素座標（ｕ，ｖ）を左上から右方向に（０，０）、（１，０）、（２，０）・・・（６３９，０）、次の行を左上から右方向に（０，１）、（１，１）、（２，１）・・・（０，４７９）と割り振り、画素座標（３１９．５，２３９．５）をｘｙ系座標の原点とする。
【００７５】
次に、ｕｖ系座標における原点からの対角長をＦｄで表すと、Ｆｄがｘｙ系座標の最大像高さになるように、Ｆｄ＝〔√（６４０２＋４８０２）〕／２、の式によって、Ｆｄ＝４００を得る。
【００７６】
次に、前式で求められたｕｖ座標系の対角長Ｆｄがｘｙ座標系の最大像高さ１に対応するものとして、ｕｖ系座標（ｕｄｎ，ｖｄｎ）に対応するｘｙ系座標（ｘｄｎ，ｙｄｎ）を、ｘｄｎ＝（ｕｄｎ−３１９．５）／４００、ｙｄｎ＝（ｖｄｎ−２３９．５）／４００、の式によって算出する。
【００７７】
次に、前式で求められたｘｙ系座標（ｘｄｎ，ｙｄｎ）に対して、歪曲収差補正を考慮した座標変換を行う。
【００７８】
詳しくは、歪曲収差補正後の座標を（ｘｓｎ，ｙｓｎ）で表すと、ｘｓｎ＝ｘｄｎ（１＋ｋ１ｒ２＋ｋ２ｒ４）の高次式で算出し、ｙｓｎ＝ｙｄｎ（１＋ｋ１ｒ２＋ｋ２ｒ４）の高次式で算出する。
【００７９】
また、ｒ２は、ｒ２≡ｘｄｎ２＋ｙｄｎ２の式によって算出する。また、ｋ１、ｋ２は、撮像光学系における歪曲収差に依存して設定される係数であり、ｋ１が３次収差係数、ｋ２が５次収差係数に対応する。なお、本発明における高次演算部は、頂点座標設定部２７によってその機能が発現される。
【００８０】
また、色モザイク画像が１６００×１２００の等間隔からなる画素配列で構成され、且つ、その画素番号（ｕｓ，ｖｓ）がカラー出力画像と同様に割り振られている際には、その画素配列の中心となる画素座標（７９９．５，５９９．５）がｘｙ座標の原点となり、色モザイク画像の対角長をＦｓで表すと、Ｆｓ＝〔√（１６００２＋１２００２）〕／２、の式によって、Ｆｓ＝１０００を得る。
【００８１】
そして、（ｘｓｎ，ｙｓｎ）に対応する色モザイク画像（入力画像）上の頂点サンプリング座標（ｕｓｎ，ｖｓｎ）については、前式で求められた対角長Ｆｓがｘｙ座標系の最大像高さに対応するものとして、ｕｓｎ＝１０００＊ｘｓｎ＋７９９．５、ｖｓｎ＝１０００＊ｙｓｎ＋５９９．５、の式で算出すればよい。
【００８２】
前式で求められた頂点サンプリング座標の値は、整数になるとは限らず、一般に非整数が算出される。また、隣接するブロック同士の頂点が共有しているので、全てのブロック毎に頂点サンプリング座標を算出する必要がなく、共有関係にあるブロックの頂点に対応する頂点サンプリング座標を用いればよい。なお、本発明における所定の画素位置が頂点（ｕｄｎ，ｖｄｎ）に相当し、本発明の所定の画素位置におけるサンプリング位置（ｕｓｎ，ｖｓｎ）が頂点サンプリング座標に相当する。
【００８３】
次に、画素走査部２８は、処理対象となっているブロック内に対し、出力カラー画像中でブロック内に位置する画素を走査し、走査して得られた各画素の座標（ｕｄ，ｖｄ）をサンプリング座標補間演算部３１に入力する。この際、頂点及びブロック境界線上の画素は隣接するいずれかのブロック内に位置するものとして処理する。なお、本発明における補間演算部は、サンプリング座標補間演算部３１によってその機能が発現される。
【００８４】
次に、サンプリング座標補間演算部３１は、ブロック頂点を除く画素のサンプリング座標について、処理対象となる各画素の座標（ｕｄ，ｖｄ）に対応する色モザイク画像（入力画像）上でのサンプリング座標（ｕｓ，ｖｓ）を、この画素を囲む３つの頂点サンプリング座標（ｕｓｎ，ｖｓｎ）から補間によって求める。
【００８５】
詳しくは、この画素（ｕｄ，ｖｄ）を囲む３つの頂点の座標を（ｕｄ１，ｖｄ１）、（ｕｄ２，ｖｄ２）、（ｕｄ３，ｖｄ３）とし、これらの頂点に対応する頂点サンプリング座標を（ｕｓ１，ｖｓ１）、（ｕｓ２，ｖｓ２）、（ｕｓ３，ｖｓ３）としたとき、ｕｄ＝ｗ１ｕｄ１＋ｗ２ｕｄ２＋ｗ３ｕｄ３，ｖｄ＝ｗ１ｖｄ１＋ｗ２ｖｄ２＋ｗ３ｖｄ３であって、ｗ１＋ｗ２＋ｗ３＝１になるように、ｗ１、ｗ２、ｗ３を求める。
【００８６】
次に、この画素のサンプリング座標（ｕｓ，ｖｓ）を、ｕｓ＝ｗ１ｕｓ１＋ｗ２ｕｓ２＋ｗ３ｕｓ３，ｖｓ＝ｗ１ｖｓ１＋ｗ２ｖｓ２＋ｗ３ｖｓ３の演算式を用いて算出する。所謂、出力画像のブロック内の画素に対応する入力画像のサンプリング座標を、バイリニア補間を用いて求めることになる。
【００８７】
次に、サンプリング部３２は、図３に表したように、色プレーン分解部２１で生成された各色プレーンから、サンプリング座標設定部２９で算出したサンプリング座標（ｕｓ，ｖｓ）におけるサンプリング値（サンプリング位置における色毎の画素値である）を出力する。
【００８８】
この際、（ｕｓ，ｖｓ）が整数と限らない（つまり、（ｕｓ，ｖｓ）が一つの画素中心に一致するとは限らない）ので、サンプリング値は、（ｕｓ，ｖｓ）を囲む４つの有値画素（各色プレーンが元々もっている同一色の画素値）から線形補間して算出する。この補間は、好ましくは、バイリニア補間によって行う。
【００８９】
図３に表したように、Ｒプレーン及びＢプレーンは、縦横の格子点状に４つの有値画素を持つため、サンプリング座標３０１、３０３を囲む４つの有値画素は、当該サンプリング座標が（１０１．０，１０１．４）であれば、サンプリング座標を囲んで一辺の長さが２の正方形の頂点に位置する。
【００９０】
図３に表したように、サンプリング座標（ｕｓ，ｖｓ）が（１０１．０，１０１．４）であれば、これを囲む４つの有値画素の座標（ｕ，ｖ）が、（１００，１００）、（１００，１０２）、（１０２，１００）、（１０２，１０２）となる。
【００９１】
次に、図３（ｅ）に表したように、サンプリング座標を介して対向する有値画素間の距離の比（ここでは、ｘ方向が０．５：０．５、ｙ方向が０．７：０．３である）を求め、
４つの有値画素の画素値を用いて、サンプリング位置（１０１．０，１０１．４）におけるＲの画素値を補間によって算出する。
【００９２】
そして、４つの有値画素の画素値をＲ（１００，１００）、Ｒ（１００，１０２）、Ｒ（１０２，１００）、Ｒ（１０２，１０２）で表し、サンプリング位置（１０１．０，１０１．４）のＲの画素値をＲ（１０１．０，１０１．４）で表すと、Ｒプレーン上でのサンプリング座標３０１の画素値Ｒ（１０１．０，１０１．４）を、Ｒ（１０１．０，１０１．４）＝０．５＊０．３＊Ｒ（１００，１００）＋、０．５＊０．７＊Ｒ（１００，１０２）＋０．５＊０．３＊Ｒ（１０２，１００）＋０．５＊０．７＊Ｒ（１０２，１０２）、の演算式によって算出できる。
【００９３】
Ｂプレーン上でのサンプリング座標３０３におけるＢの画素値も、Ｒプレーンと同様に、サンプリング座標を囲む４つの有値画素の画素値から補間によって算出できる。
【００９４】
Ｇプレーン上では、図３（ｃ）に表したように、市松状に有値画素を持つため、サンプリング座標を囲む４つの有値画素は、サンプリング座標を囲んで一辺の長さが√２の４５°傾いた正方形の頂点に位置する。
【００９５】
この場合、Ｇプレーンにおいては、サンプリング座標３０２が（１０１．０，１０１．４）であれば、これを囲む４つの有値画素の座標（ｕ，ｖ）が、（１００，１０１）、（１０１，１００）、（１０１，１０２）、（１０２，１０１）となる。
【００９６】
そして、Ｇプレーンの有値画素の画素値をＧ（１００，１０１）、Ｇ（１０１，１００）、Ｇ（１０１，１０２）、Ｇ（１０２，１０１）で表すと、Ｇプレーン上でのサンプリング座標３０２の画素値Ｇ（１０１．０，１０１．４）を、Ｇ（１０１．０，１０１．４）＝０．７＊０．３＊Ｇ（１００，１０１）＋０．３＊０．３＊Ｇ（１０１，１００）＋０．７＊０．７＊Ｇ（１０１，１０２）＋０．３＊０．７＊Ｇ（１０２，１０１）、の演算式によって算出できる。
【００９７】
次に、色生成部３３は、サンプリング部３２で生成されたＲのサンプリング値Ｒ（ｕｓ，ｖｓ）、Ｇのサンプリング値Ｇ（ｕｓ，ｖｓ）、Ｂのサンプリング値Ｂ(ｕｓ，ｖｓ)から画素毎の色情報を生成してカラー画像の画素（ｕｄ，ｖｄ）における色情報とし、視覚補正部３４に入力する。
【００９８】
視覚補正部３４では、色生成部３３を介して出力されたカラー画像に対して、見栄えを良くするための、トーンカーブ（ガンマ）補正、彩度強調、エッジ強調といった画像補正を行い、次いで、圧縮部３５では、視覚補正部を介して出力されたカラー画像のデジタル画像信号をＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の方法で圧縮し、記録時の画像データのサイズを小さくする。次いで、記録部３６では、圧縮されたデジタル画像信号をフラッシュメモリ等の記録媒体に記憶する。また、圧縮されたデジタル画像信号は、オペレータの指令にもとづき、図示しないインタフェースを介して外部機器に送信される。
【００９９】
さらに、色生成部３３で生成されてＲＧＢの色情報をもつ画像データに対し、この画像データに含まれる偽色を抑制するために、（式１）を用いてＹＵＶ系色信号に変換し、ＵＶに低周波フィルタを施して、その後、視覚補正部３４に出力してもよい。Ｙが画素の輝度、Ｕが輝度Ｙと青（Ｂ）の色差、Ｖが輝度Ｙと赤（Ｒ）の色差である。
【数１】
0005128207.tif 000002
【０１００】
次に、図５に基づいて、撮像光学系２を介して入力したモザイク画像（入力画像）から歪曲収差を補正してカラー画像（出力画像）を生成する際の手順を説明する。この手順は、ＣＰＵ１８がＲＯＭ１９に格納されたプログラムに基づいて、各機能部に指令信号を与えて実行する。また、図１におけるＳはステップを表している。
【０１０１】
まず、この手順は、オペレータによって画像処理装置１００に起動信号が入力された際にスタートする。
【０１０２】
次いで、Ｓ１１０において、撮像光学系２を介して画像信号を画像処理装置１００に読み込み、次いで、Ｓ１２０において、色プレーン分解部２１を用いて、ベイヤー配列に対応付けて、Ｒの画素信号、Ｇの画素信号、Ｂの画素信号を記憶し、その後、Ｓ１７０のサンプリングステップに移る。
【０１０３】
一方、Ｓ１３０において、ブロック走査部２５を用いて、出力画像を複数の三角形に分割し、これらの三角形ブロックを走査し、ブロックの頂点（例えば、図２におけるＰ１、Ｐ２、Ｐ３）における座標（ｕｄｎ，ｖｄｎ）＝〔（ｕｄ１，ｖｄ１），（ｕｄ２，ｖｄ２），（ｕｄ３，ｖｄ３）〕を取得し、その後、Ｓ１４０に移る。この際、ブロック形状及びブロック数、或いは各ブロックの頂点座標が、予め、撮像光学系２及び出力カラー画像のサイズに関連付けて定められ、ＲＯＭ１９に格納されている。
【０１０４】
次いで、Ｓ１４０において、頂点サンプリング座標演算部３０を用いて、三角形の３つの頂点に対応する色モザイク画像（入力画像）上のサンプリング座標（ｕｓｎ，ｖｓｎ）を、歪曲収差の影響を打ち消すように算出し、その後、Ｓ１５０に移る。
【０１０５】
次いで、Ｓ１５０において、画素走査部２８を用いて、三角形をラスタライズし、ブロック内における画素を走査してその座標を取得し、その後、Ｓ１６０に移る。
【０１０６】
次いで、Ｓ１６０において、サンプリング座標補間演算部３１を用いて、ブロック内の画素（ｕｄ，ｖｄ）に対応する入力画像におけるサンプリング座標（ｕｓ，ｖｓ）を、この画素を囲む３つの頂点サンプリング座標（ｕｓｎ，ｖｓｎ）から補間演算して算出し、その後、Ｓ１７０に移る。
【０１０７】
次いで、Ｓ１７０において、サンプリング部３２を用いて、色プレーン分解部２１で生成された各色プレーンから、サンプリング座標設定部２９で算出したサンプリング座標（ｕｓｎ，ｖｓｎ）及び（ｕｓ，ｖｓ）におけるＲ、Ｇ、Ｂ毎のサンプリング値（サンプリング位置における色毎の画素値である）を算出し、その後、Ｓ１８０に移る。
【０１０８】
次いで、Ｓ１８０において、色生成部３３を用いて、サンプリング部３２で算出された各色のサンプリング値を合成することにより、各画素値にそれぞれ複数色の色情報を生成し、その後、Ｓ１９０に移る。
【０１０９】
次いで、Ｓ１９０において、同ブロック内における次の画素の有無を判定し、画素無し（Ｎｏ）と判定された際にはＳ２００に移り、画素有り（Ｙｅｓ）と判定された際にはＳ１５０〜Ｓ１９０を繰り返す。
【０１１０】
次いで、Ｓ２００において、出力画像内における次のブロックの有無を判定し、ブロック無し（Ｎｏ）と判定された際にはＳ２１０に移り、有り（Ｙｅｓ）と判定された際にはＳ１３０〜Ｓ２００を繰り返す。同出力画像内に複数のブロックが有る場合、そのプロックの走査順が予め設定されＲＯＭ１９に格納されている。
【０１１１】
次いで、Ｓ２１０において、視覚補正部３４を用いて、色生成部３３で生成されたカラー画像に対して、トーンカーブ（ガンマ）補正、彩度強調、エッジ強調といった画像補正を行い、その後、Ｓ２２０に移る。
【０１１２】
次いで、Ｓ２２０において、圧縮部３５を用いて、視覚補正部を介して出力されたカラー画像のデジタル画像信号をＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の方法で圧縮し、記録時の画像データのサイズを小さくし、その後、Ｓ２３０に移る。
【０１１３】
次いで、Ｓ２３０において、記録部３６を用いて、圧縮されたデジタル画像信号をフラッシュメモリ等の記録媒体に記憶し、その後、本画像処理プログラムを終了する。
【０１１４】
以上のように、第１の実施形態に記載の画像処理装置１００及び画像処理方法及び画像処理プログラムによれば、サンプリング座標設定部２９でサンプリング座標の算出する際に、分割したブロックの頂点に対してのみ高次式で算出し、ブロック内に位置する他の画素については、頂点座標のサンプリング座標から補間して算出しているので、全ての画素に対して高次式でサンプリング座標を求めるよりも、少ない演算量で歪曲補正ができると共に、メモリ容量や処理時間を低減できる。
【０１１５】
また、頂点サンプリング座標演算部３０において頂点サンプリング座標の算出に用いられる高次式あるいはその係数が、撮像素子５に付随する撮像レンズ３等の撮像光学系２Ａに関連付けられていることにより、結像光学系の歪曲収差を補正して精度良く所定の出力画像を得ることができる。
（第２の実施形態）
【０１１６】
次に、図６〜図１０を用いて、本発明の第２の実施形態を説明する。図６は、本発明の画像処理装置及び画像処理方法、画像処理プログラムが適用された一実施例の、撮像装置１Ａの構成を表したブロック図である。
【０１１７】
図７は、同第２の実施形態の画像処理における出力画像の頂点座標設定及びｕｖ座標系の説明図、図８は、同実施例の画像処理における収差係数のテーブル設定例を表した図である。
【０１１８】
図９は、同第２の実施形態における、色プレーン分解部と色生成部の機能説明図であって、（ａ）が撮像光学系２から出力されるベイヤー配列の色モザイク画像を表した図、（ｂ）（ｃ）（ｄ）（ｅ）が夫々色プレーン分解部で生成されたＲプレーン、Ｇｒプレーン、Ｇｂプレーン、Ｂプレーンの配置を表した図、（ｆ）がサンプリング座標における画素値を補間算出する際の説明図である。
【０１１９】
図１０は、同実施例の画像処理における同実施例における画像処理及び画像処理プログラムにおける手順を表した図である。
【０１２０】
尚、本実施の形態２における撮像装置１Ａは、基本的に実施の形態１で表した撮像装置１と同じ構成なので、共通と成る構成部分につては同一の符号を付与して詳細な説明を省き、特徴と成る部分について以下に説明する。
【０１２１】
本発明における撮像光学系２Ａでは、レンズ駆動部１２を介して、撮像レンズ３が光軸方向にスライド自在に構成され、撮像レンズ３の焦点距離や撮像レンズ３から被写体までの被写体距離といったレンズステートを可変可能に構成されている。
【０１２２】
図６に表したように、撮像光学系２Ａには、当該撮像装置１Ａのブレを検知し、そのブレ量に応じた電気信号（以下、ブレ信号という）を出力する角速度センサ（例えば、ジャイロ）１５が備えられ、画像処理装置１００Ａには角速度センサ１５を介して撮像装置１Ａのブレ量を検出するブレ検出部４０が備えられている。
【０１２３】
また、画像処理装置１００Ａは、撮像光学系２Ａから出力された入力画像（モザイク画像）を、Ｒ、Ｇｒ、Ｇｂ、Ｂの画素毎に分離して記憶する色プレーン分解部２１Ａ、出力画像における画素座標や頂点座標を走査する出力画像走査部２５Ａ、焦点距離や被写体との距離といった撮像レンズ３のレンズステートを検出するレンズステート検出部３７、撮像レンズ３のレンズステートに対応付けて歪曲収差係数を記憶した収差係数記憶テーブル３８、レンズステート検出部３７及び収差係数記憶テーブル３８からの情報に基づいて歪曲収差のパラメータ（以下、歪曲収差係数ともいう）を設定する収差係数設定部３９、出力画像範囲において、複数の頂点座標を設定すると共に全画素位置を走査する出力画像走査部２５Ａ、出力画像における画素座標及び頂点座標毎に、入力画像におけるサンプリング位置を設定するサンプリング座標設定部２９Ａ等を備えている。
【０１２４】
色プレーン分解部２１Ａは、図６及び図９に表したように、ベイヤー配列に対応付けられて、Ｒの画素信号を記憶するＲフィールドメモリ２２と、Ｇｒ（一方向においてＲに隣接するＲ）の画素信号を記憶するＧｒフィールドメモリ２３ａと、Ｇｂ（一方向においてＢに隣接するＲ）の画素信号を記憶するＧｂフィールドメモリ２３ｂと、Ｂの画素信号を記憶するＢフィールドメモリ２４と、によって構成され、ＣＰＵ１８からの指令に基づき、これらの画素信号（以下、画素値という）をサンプリング部３２に出力する。
【０１２５】
収差係数設定部３９は、レンズステートに応じて適切な収差パラメータ（後述の演算式におけるｋ１、ｋ２、ｐ１、ｐ２、ｋｒ、ｄＲｘ、ｋＢ、ｄＢｘ、ｄＢｙ等）を収差係数記憶テーブル３８から読み出し、頂点サンプリング座標演算部３０Ａに出力する。また、収差係数記憶テーブル３８に記憶されていないレンズステートに対しては、類似するレンズステートから補間して収差パラメータを生成する。
【０１２６】
つまり、収差係数テーブル３８には、あらゆるレンズステートに対応付けて収差係数を記憶しておくことが困難であるため、例えば図８に表したように、所定のレンズステートに対応付けて収差係数を記憶しておく。ここでは、被写体距離として、Ｎｅａｒ（近距離）：０．５ｍ、Ｍｉｄ（有距離）：１．０ｍ、Ｆａｒ（遠距離）：Ｉｎｆの３つが記憶され、且つ、その被写体距離毎の焦点距離として、Ｗｉｄｅ：２８ｍｍ、Ｍｉｄ：５０ｍｍ、Ｔｅｌｅ：１０５ｍｍが記憶され、被写体距離及び焦点距離に対応付けたレンズステートが設定されている。なお、本発明における高次式の係数を記憶する手段は、収差係数記憶テーブル３８によってその機能が発現される。
【０１２７】
そして、被写体距離２．０ｍｍで焦点距離が３５ｍｍである際には、図８に表した数差係数記憶テーブル３８にはその収差係数が記憶されていないので、収差係数記憶テーブル３８に記憶された他のレンズステートの収差係数から補間する。
【０１２８】
つまり、被写体距離のＭｉｄが１．０ｍで焦点距離のＷｉｄｅ端が２８ｍｍの際の収差係数０．０８、被写体距離のＦａｒがＩｎｆで焦点距離のＷｉｄｅ端が２８ｍｍの際の収差係数０．０５、被写体距離のＭｉｄが１．０ｍｍで焦点距離のＭｉｄが５０ｍｍの際の収差係数０．０２、被写体距離のＦａｒがＩｎｆで焦点距離のＭｉｄが５０ｍｍの際の収差係数０．００を読み出し、これらから補間する。なお、本発明における高次式変更手段は、収差係数設定部３９によって、その機能が発現される。
【０１２９】
詳しくは、レンズステートが被写体距離２．０ｍｍで焦点距離が３５ｍｍである際の収差係数をｋ１で表すと、ｋ１＝〔（１／２．０−１／Ｉｎｆ）（１／３５−１／５０）＊０．０８＋（１／１．０−１／２．０）（１／３５−１／５０）＊０．０５＋（１／２．０−１／Ｉｎｆ）（１／２８−１／３５）＊０．０２＋（１／１．０−１／２．０）（１／２８−１／３５）＊０．００〕／（１／１．０−Ｉｎｆ）（１／２８−１／５０）の式で、ｋ３＝０．０４を得る。
【０１３０】
他の収差係数ｋ２、ｐ１、ｐ２、ｋＲ、ｋＢ、等についても、収差係数記憶テーブル３８に記憶されていない場合には、同様に、収差係数記憶テーブル３８に記憶されている収差係数から補間して求めればよい。
【０１３１】
ブレ検出部４０は、撮像光学系のブレを検出して、ブレを補正するためのブレ補正パラメータｚ、θ、ｄｘ、ｄｙ等を頂点サンプリング座標演算部３０Ａに出力する。
【０１３２】
ブレ補正パラメータにおいて、ｚが撮像装置１Ａの前後方向のブレに伴う被写体像の大きさの補正値、θがロール軸のブレに伴う被写体像の回転の補正値、ｄｘが左右方向あるいはヨー軸のブレに伴う被写体像の左右位置の補正値、ｄｙが上下方向あるいはピッチ軸のブレに伴う被写体像の左右位置の補正値である。
【０１３３】
また、ブレ補正パラメータのｚには、撮像装置１Ａのズーム倍率に依存する補整値を含めても良い。また、ブレ補正パラメータをアフィン行列Ｍとして頂点サンプリング座標演算部３０Ａに設定してもよい。
【０１３４】
出力画像走査部２５Ａは、出力画像において、離散的に配置される複数の頂点座標を設定する頂点座標設定部２７Ａと、全画素位置を走査する画素走査部２８とによって構成されている。
【０１３５】
頂点座標設定部２７Ａは、出力画像に配置される複数の頂点Ｐｊの座標（ｕｄ，ｖｄ）Ｐｊを設定する。次に、頂点サンプリング座標の設定方法について詳細を記載する。
【０１３６】
まず、図７に表したように、出力画像における頂点座標（Ｐ１，Ｐ２，Ｐ３，…，Ｐｎ）が予め設定されている。また、頂点座標は出力画像上に離散的に複数配置されているものとする。この頂点座標の配置を密にして数を多くすれば歪曲の補正精度が向上するが、補正に係る計算量が多くなる。反面、頂点座標の配置を粗にして数を少なくすれば補正に係る演算量が少なくなるが補正精度が低下する。本発明者の研究によれば、頂点の数を１００〜１０００程度にすることが、補正精度と計算量の面で好ましい。また、複数の頂点座標が、例えば図７に表したように、規則的に配置されていることが好ましい。
【０１３７】
次に、出力画像が１６００×１２００の等間隔からなる画素配列で構成されている際に、その画素位置（ｕ，ｖ）を左から右下に向かって（０，０）〜（１５９９，１１９９）とし、縦横１００画素おきの格子状に頂点を設定する。つまり、次式のように、頂点座標（ｕｄ，ｖｄ）Ｐｊ＝〔（０，０）（１００，０）、…（１６００，１２００）〕、からなる１７×１３＝２２１点を頂点とする。ここで、ｊは格子状に配置された点に振られた連番１、２、…２２１である。
【０１３８】
次に、サンプリング座標設定部２９Ａは、出力画像走査部２５Ａで設定された頂点に対応する入力画像のサンプリング位置を算出する頂点サンプリング座標演算部３０Ａ、頂点サンプリング座標演算部３０Ａで算出された頂点サンプリング位置を記憶する頂点サンプリング座標記憶テーブル３０Ｂ、頂点サンプリング座標演算部３０Ａで算出された頂点サンプリング位置から、出力画像の各画素位置に対応する入力画像のサンプリング位置を補間算出するサンプリング座標補間演算部３１Ａ、等によって構成されている。
【０１３９】
次に、頂点サンプリング座標演算部３０Ａにおける、頂点サンプリング座標位置の算出の詳細を記載する。
【０１４０】
まず、第１の実施形態と同じ様に、画素位置に対応付けられた座標系をｕｖ系で表すと共に、便宜上の座標系として、画像中心を原点として最大の像高さを１、画面左右方向をｘとして画面上下方向をｙとする座標系を用いる。また、出力画像（カラー画像）上の座標を添え字ｄ、入力画像上の座標を添え字ｓで示す。
【０１４１】
また、出力画像において、左右方向に１６００個、上下方向に１２００個の画素が等間隔で配置されるものとし、画素座標（ｕｄ，ｖｄ）を図７のように左上から右方向に（０，０）、（１，０）、（２，０）…、次の行を（０，１）、（１，１）、（２，１）…と割り振り、画素座標（ｕｄ,ｖｄ）のｘｙ座標（ｘｄ,ｙｄ）を（式２）によって算出する。次に、ブレ補正パラメータｚ、θ、ｄｘ、ｄｙを適用し、ブレ補正後の座標（ｘ´，ｙ´）を（式３）によって算出する。
【数２】
0005128207.tif 000003
【０１４２】
この際、ブレ補正パラメータがアフィン行列Ｍで与えられているなら、（式３）に変えて（式４）を用いればよい。また（式３）において、ｘ´＝ｗｘ´／ｗ、ｙ´＝ｗｙ´とする。
【０１４３】
さらに、ブレ補正後の座標に対して歪曲収差補正の係数ｋ１、ｋ２、ｐ１、ｐ２を適用し、色プレーン分解部２１で生成されたＧプレーンにおけるサンプリング座標ｘsＧ、ｙsＧを、ｘsＧ＝ｘ´（１＋ｋ１ｒ´２＋ｋ２ｒ´４）＋２ｐ１ｘ´ｙ´＋ｐ２（ｒ´２＋２ｘ´２）、ｙsＧ＝ｙ´（１＋ｋ１ｒ´２＋ｋ２ｒ´４）＋２ｐ２ｘ´ｙ´＋ｐ１（ｒ´２＋２ｙ´２）の演算式で算出する。この際、ｒ´２≡ｘ´２＋ｙ´２とする。
【０１４４】
ｋ１、ｋ２、ｐ１、ｐ２は、撮像光学系２Ａの歪曲収差を示す係数であって、ｋ１、ｋ２が放射線方向の歪み、ｐ１、ｐ２が接線方向の歪を示している。
【０１４５】
さらに、撮像光学２Ａの色収差を考慮してＲプレーン、Ｂプレーンにおけるサンプリング座標（ｘｓＲ，ｙｓＲ）（ｘｓＢ，ｙｓＢ）を（式５）、（式６）によって算出する。
【数３】
0005128207.tif 000004
【０１４６】
ｋＲ、ｋＢは、Ｇプレーンを基準にした際のＲ、Ｂプレーンの倍率、ｄＲｘ、ｄＲｙは、Ｇプレーンを基準にした際のＲプレーンの平行ズレ量、ｄＢｘ、ｄＢｙは、Ｇプレーンを基準にした際のＢプレーンの平行ズレ量である。
【０１４７】
そして、入力画像（色モザイク画像）も１６００×１２００の画素配列であって、画素番号（ｕｓ，ｖｓ）が出力画像（カラ−画像）と同様に割り振られているとすると、（ｘｓＲ，ｙｓＲ、）、（ｘｓＧ、ｙｓＧ）、（ｘｓＢ，ｙｓＢ）に対応する入力画像上のサンプリング座標（ｕｓＲ，ｖｓＲ）、（ｕｓＧ，ｖｓＧ）、（ｕｓＢ，ｖｓＢ）を（式７）、（式８）（式９）によって算出する。
【数４】
0005128207.tif 000005
【０１４８】
そして、頂点サンプリング座標演算部３０Ａにおいて、（式７）、（式８）、（式９）によって各頂点のサンプリング座標（ｕｓＲ，ｖｓＲ）Ｐｊ、（ｕｓＧ，ｖｓＧ）Ｐｊ、（ｕｓＢ，ｖｓＢ）Ｐｊが算出され、この頂点サンプリング座標が頂点サンプリング座標記憶テーブル３０Ｂに記憶される。なお、頂点サンプリング座標の算出値は、整数になると限らず、一般には非整数になる。
【０１４９】
次に、サンプリング座標補間演算部３１Ａは、出力する出力画像（カラー画像）の各画素位置に対応する入力画像（色モザイク画像）上のサンプリング座標を算出する。
【０１５０】
まず、処理出力画素を囲む複数の頂点を抽出する。例えば、出力画素Ｔの座標（ｕｄ，ｖｄ）Ｔ＝（２３４，１２３）であれば、図７に表したように、これを囲む座標がＰ２０，Ｐ２１、Ｐ３７、Ｐ３８(（ｕｄ，ｖｄ）Ｐ20＝(２００,１００), （ｕｄ，ｖｄ）Ｐ21＝(３００,１００), （ｕｄ，ｖｄ）Ｐ37＝(２００,２００), （ｕｄ，ｖｄ）Ｐ38＝(３００,２００))であって、Ｐ２０、Ｐ２１，Ｐ３７、Ｐ３８のサンプリング座標（Ｐｉ＝２０、２１、３７、３８）における頂点サンプリング座標（ｕｓＲ，ｖｓＲ）Ｐｉ、（ｕｓＧ，ｖｓＧ）Ｐｉ、（ｕｓＢ，ｖｓＢ）Ｐｉを頂点サンプリング座標記憶テーブル３０Ｂから読み出して、出力画素Ｔに対応する入力画像上のサンプリング位置（ｕｓＲ，ｖｓＲ）Ｔ、（ｕｓＧ，ｖｓＧ）Ｔ、（ｕｓＢ，ｖｓＢ）Ｔを線形補間（バイリニア補間）で算出する。
【０１５１】
つまり、Ｒのサンプリング座標（ｕｓＲ，ｖｓＲ）Ｔが、（ｕｓＲ，ｖｓＲ）Ｔ＝０．６６＊０．７７＊（ｕｓＲ，ｖｓＲ）Ｐ２０＋０．３４＊０．７７（ｕｓＲ，ｖｓＲ）Ｐ２１＋０．６６＊０．２３＊（ｕｓＲ，ｖｓＲ）Ｐ３７＋０．３４＊０．２３（ｕｓＲ，ｖｓＲ）Ｐ３８の演算式で算出される。
【０１５２】
また、Ｇのサンプリング座標（ｕｓＧ，ｖｓＧ）Ｔが、（ｕｓＧ，ｖｓＧ）Ｔ＝０．６６＊０．７７＊（ｕｓＧ，ｖｓＧ）Ｐ２０＋０．３４＊０．７７（ｕｓＧ，ｖｓＧ）Ｐ２１＋０．６６＊０．２３＊（ｕｓＧ，ｖｓＧ）Ｐ３７＋０．３４＊０．２３（ｕｓＧ，ｖｓＧ）Ｐ３８、の演算式で算出される。
【０１５３】
また、Ｂのサンプリング座標（ｕｓＢ，ｖｓＢ）Ｔが、（ｕｓＢ，ｖｓＢ）Ｔ＝０．６６＊０．７７＊（ｕｓＢ，ｖｓＢ）Ｐ２０＋０．３４＊０．７７（ｕｓＢ，ｖｓＢ）Ｐ２１＋０．６６＊０．２３＊（ｕｓＢ，ｖｓＢ）Ｐ３７＋０．３４＊０．２３（ｕｓＢ，ｖｓＢ）Ｐ３８、の演算式で算出される。また、これらの補間で算出されたサンプリング座標も頂点サンプリング座標と同様に整数になるとは限らず、一般に非整数となる。
【０１５４】
次に、図９に表したように、サンプリング部３２は、色プレーン分解部２１Ａで生成した各色プレーン（Ｒプレーン、Ｇｒプレーン、Ｇｂプレーン、Ｂプレーン）から、サンプリング座標補間演算部３１Ａで算出したサンプリング座標におけるサンプリング値を算出して出力する。
【０１５５】
Ｒプレーンからは（ｕｓＲ，ｖｓＲ）Ｔ、Ｇｒプレーンからは（ｕｓＧｒ，ｖｓＧｒ）Ｔ、Ｇｂプレーンからは（ｕｓＧｂ，ｖｓＧｂ）Ｔ、Ｂプレーンからは（ｕｓＢ，ｖｓＢ）Ｔにおける値を出力し、出力画像（カラー画像）上の処理対象画素Ｔ（ｕｄ，ｖｄ）におけるサンプリング値Ｒｓ、Ｇｒｓ、Ｇｂｓ、Ｂｓを得る。
【０１５６】
この際、前述のように、サンプリング位置（ｕｓ，ｖｓ）Ｔが整数座標とは限らないので、（ｕｓ，ｖｓ）Ｔを囲む４つの有値画素から線形補間を行ってサンプリング値を算出する。
【０１５７】
図９に表したように、Ｒプレーン、Ｇｒプレーン、Ｇｂプレーン、Ｂプレーンのどのプレーンも、縦横の格子点状に４つの有値画素を持つため、サンプリング座標４０１、４０２、４０３、４０４を囲む４つの有値画素は、当該サンプリング座標ｕｓＲが（１００．８，１０１．４）であれば、これを囲む４つの画素（ｕ，ｖ）が、（１００，１００）、（１００，１０２）、（１０２，１００）、（１０２，１０２）となる。
【０１５８】
そして、次に、図３（ｅ）に表したように、サンプリング座標を介して対向する有値画素間の距離の比（ここでは、ｘ方向が０．４：０．７、ｙ方向が０．７：０．３である）を求め、４つの有値画素の画素値を用いて、サンプリング位置（１０１．８，１０１．４）におけるＲの画素値を補間によって算出する。
【０１５９】
例えば、Ｒプレーンに対して、４つの有値画素の画素値をＲ（１００，１００）、Ｒ（１００，１０２）、Ｒ（１０２，１００）、Ｒ（１０２，１０２）で表し、サンプリング位置（１００８．０，１０１．４）のＲの画素値をＲ（１０８．０，１０１．４）で表すと、Ｒプレーン上でのサンプリング座標４０１の画素値Ｇ（１００．８，１０１．４）を、Ｒ（１００．８，１０１．４）＝０．６＊０．３＊Ｒ（１００，１００）＋、０．６＊０．７＊Ｒ（１００，１０２）＋０．４＊０．３＊Ｒ（１０２，１００）＋０．４＊０．７＊Ｒ（１０２，１０２）、の演算式によって算出できる。
【０１６０】
Ｇｒ、Ｇｂ、Ｂプレーン上でのサンプリング座標４０２、４０３、４０４の画素値も、Ｒプレーン同様にサンプリング座標を囲む４つの有値画素の画素値から補間によって算出できる。そして、サンプリング部では、出力画像における全ての画素に対して、Ｒ、Ｇｒ、Ｇｂ、Ｂのサンプリング値を算出する。
【０１６１】
また、ここで用いたＲのサンプリング値Ｒｓ＝Ｒ（ｕｓＲ、ｖｓＲ）、Ｇｒのサンプリング値Ｇｒｓ＝Ｇｒ（ｕｓＧ、ｖｓＧ）、Ｇｂのサンプリング値Ｇｂｓ＝Ｇｂ（ｕｓＧ、ｖｓＧ）、Ｂのサンプリング値Ｂｓ＝Ｂ（ｕｓＢ,ｖｓＢ）は、色収差の影響も抑制され、被写体上の同一部分を示している。
【０１６２】
次に、色生成部３３は、サンプリング部３２で得られた色プレーン毎のサンプリング値Ｒｓ、Ｇｒｓ、Ｇｂｓ、Ｂｓから画素毎に色情報（ＲＧＢ成分）を生成して出力画像（カラー画像）を生成する。
【０１６３】
この際、例えば、Ｒ及びＢの成分にはサンプリング値Ｒｓ、Ｂｓをそのまま用い、Ｇ成分には、ＧｒｓとＧｂｓの平均を用いてもよいが、ここではさらに偽色抑制を行う。即ち、撮像素子５によって構成されるベイヤー配列のカラーイメージセンサでは、ナイキスト周波数近傍の白黒の縞模様に対して赤や青の偽色が発生し易いので、ＧｒとＧｂの差分をとることで、これらの縞模様を検出することができ。偽色を抑制できる。
【０１６４】
詳しくは、まず、ＲとＢに対して、サンプリング値の和Ｓと差Ｃを、Ｓ＝Ｒｓ＋Ｂｓ、Ｃ＝Ｒｓ−Ｂｓの演算式で算出すると共に、ＧｒｓとＧｂｓとの差Ｋを、Ｋ＝Ｇｒｓ−Ｇｂｓの演算式で算出し、次式のように＋−の符号が変わらない範囲で、Ｃの絶対値からＫの絶対値を減じてＣ´を生成する。Ｃ´＝ｓｉｇｎ（Ｃ）ｍａｘ（０，｜Ｃ｜―｜Ｋ｜）
【０１６５】
そして、算出したＣ´とＳを用いて、Ｒ＝（Ｓ＋Ｃ´）／２、Ｂ＝（Ｓ−Ｃ´）の演算を行って、カラー画像におけるＲ成分及びＢ成分を求めればよい。
【０１６６】
次に、第１の実施形態と同じ様に、視覚補正部３４でトーンカーブ（ガンマ）補正、彩度強調、エッジ強調といった画像補正を行い、その後、圧縮部３５でカラー画像のデジタル画像信号をＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の方法で圧縮し、記録部３６で、圧縮されたデジタル画像信号を記録媒体に記憶する。
【０１６７】
次に、図１０に基づいて、撮像光学系２Ａを介して入力したモザイク画像（入力画像）から歪曲収差を補正してカラー画像（出力画像）を生成する際の手順を説明する。この手順は、ＣＰＵ１８がＲＯＭ１９に格納されたプログラムに基づいて、各機能部に指令信号を与えて実行する。また、図１におけるＳはステップを表している。
【０１６８】
まず、この手順は、オペレータによって画像処理装置１００Ａに起動信号が入力された際にスタートする。
【０１６９】
次いで、Ｓ１１０において、撮像光学系２Ａを介して画像信号を画像処理装置１００Ａに読み込み、色プレーン分解部２１で、ベイヤー配列に対応付けて、Ｒの画素信号、Ｇｒの画素信号、Ｇｂの画素信号、Ｂの画素信号を記憶し、その後、Ｓ１７０のサンプリングステップに移る。
【０１７０】
一方、Ｓ３００において、レンズステート検出部３７を用いて、焦点距離や被写体距離に対応付けられたレンズステートを検出し、その後、Ｓ３１０に移る。
【０１７１】
その後、Ｓ３１０において、Ｓ３００で検出されたレンズステートが予め収差係数記憶テーブル３８に記憶されているか否かを判定し、記憶されている（Ｙｅｓ）の場合には、Ｓ３２０に移って収差係数を取得し、一方、記憶されていない（Ｎｏ）の場合には、Ｓ３３０に移って、収差係数記憶テーブル３８に記憶されているレンズステートとその収差係数を用いて記憶されていないレンズステートに対応する収差係数を補間演算し、その後、Ｓ５００に移る。
【０１７２】
一方、Ｓ４００において、角速度センサ及びブレ検出部４０を用いて、撮像装置１Ａのブレ量を検出し、その後、Ｓ４１０に移り、Ｓ４１０でブレ量補正のためのパラメータを取得し、その後、Ｓ５００に移る。
【０１７３】
次いで、Ｓ５００において、Ｓ３２０、Ｓ３３０、Ｓ４００で取得したレンズステートの収差係数及びブレ検出のパラメータを用い、頂点サンプリング座標演算部３０Ａを介して、各頂点のサンプリング座標（ｕｓＲ，ｖｓＲ）Ｐｊ、（ｕｓＧ，ｖｓＧ）Ｐｊ、（ｕｓＢ，ｖｓＢ）Ｐｊを算出し、その後、Ｓ５５０に移り、Ｓ５５０において、頂点サンプリング座標をサンプリング座標記憶テーブル３０Ｂに記憶する。
【０１７４】
一方、Ｓ１５０において、画素走査部２８を用いて、出力画像（カラー画像）内における画素位置を走査してその座標を取得し、その後、Ｓ１６５に移る。
【０１７５】
次いで、Ｓ１６５において、サンプリング座標補間演算部３１Ａを用いて、出力する出力画像（カラー画像）の各画素位置に対応する入力画像（色モザイク画像）上のサンプリング座標を補間演算して算出し、その後、Ｓ１７０に移る。
【０１７６】
次いで、Ｓ１７０において、サンプリング部３２を用いて、色プレーン分解部２１で生成された各色プレーンから、サンプリング座標設定部２９Ａで算出したサンプリング座標（ｕｓ，ｖｓ）におけるＲ、Ｇｒ、Ｇｂ，Ｂ毎のサンプリング値（サンプリング位置における色毎の画素値である）を算出し、その後、Ｓ１８０に移る。
【０１７７】
次いで、Ｓ１８０において、色生成部３３を用いて、サンプリング部３２で算出された各色のサンプリング値を合成することにより、各画素値にそれぞれ複数色の色情報を生成し、その後、Ｓ１９５に移る。
【０１７８】
次いで、Ｓ１９０において、出力画像内における次の画素の有無を判定し、画素無し（Ｎｏ）と判定された際にはＳ２１０に移り、画素有り（Ｙｅｓ）と判定された際にはＳ１５０〜Ｓ１９５を繰り返し、Ｓ１９５で画素無し（Ｎｏ）に至った際にＳ２１０に移る。
【０１７９】
次いで、Ｓ２１０において、視覚補正部３４を用いて、色生成部３３で生成されたカラー画像に対して、トーンカーブ（ガンマ）補正、彩度強調、エッジ強調といった画像補正を行い、その後、Ｓ２２０に移る。
【０１８０】
次いで、Ｓ２２０において、圧縮部３５を用いて、視覚補正部を介して出力されたカラー画像のデジタル画像信号をＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の方法で圧縮し、記録時の画像データのサイズを小さくし、その後、Ｓ２３０に移る。
【０１８１】
次いで、Ｓ２３０において、記録部３６を用いて、圧縮されたデジタル画像信号をフラッシュメモリ等の記録媒体に記憶し、その後、本画像処理プログラムを終了する。
【０１８２】
以上のように、第２の実施形態に記載の画像処理装置１００Ａ及び画像処理方法及び画像処理プログラムによれば、収差係数設定部３９で歪曲収差補正のための係数を求めると共に、ブレ検出部４０でブレ補正のためのパラメメータを求め、両者をデモザイク時に適用することにより、デモザイクと共にブレ補正及び歪曲収差補正をできて、それらの処理工程を別々に行うよりも、画像処理を簡素化できる。
【０１８３】
また、第２の実施形態に記載の画像処理装置１００Ａ及び画像処理方法及び画像処理プログラムによれば、サンプリング部でサンプリングをＲＧＢの３つのプレーンだけでなく、より多くのプレーン（Ｒ、Ｇｒ、Ｇｂ、Ｂ）プレーンに分けて行うことにより、色生成部３３で効果的な偽色抑制をできる。
【０１８４】
また、第２の実施形態に記載の画像処理装置１００Ａ及び画像処理方法及び画像処理プログラムによれば、ズーム等のレンズステートを変化させた場合、これに追従して歪曲収差補正がスムーズに働き、不自然さがなくて品位の良い画像を得ることができる。
【０１８５】
また、第２の実施形態に記載の画像処理装置１００Ａ及び画像処理方法及び画像処理プログラムによれば、サンプリング座標設定部２９Ａにおいて、歪曲収差補正さらにはレンズステートに対応付けた歪曲収差補正、ブレ補正等を一括して補正するようにサンプリング座標を設定しているので、サンプリング及び色生成等のデモザイク処理における負荷を低減できる。つまり、デモザイク時には、サンプリング座標設定部で設定されたサンプリング位置で各色のサンプリング値もとめて合成すれば、その後に歪曲収差やブレ補正を別途行う必要がないので、全体の処理を簡素化できる。
【０１８６】
また、第２の実施形態に記載の画像処理装置１００Ａ及び画像処理方法及び画像処理プログラムによれば、歪曲収差及びブレ補正に係る演算を、頂点サンプリング座標にのみ行っているので、出力画像の全画素に対して行うよりもその演算量を低減できる。このため、頂点サンプリング座標演算部３０Ａにおける演算量を低減でき、頂点サンプリング座標演算部３０Ａを汎用プロセッサとプログラムを用いて容易に実現でき、ソフトウェアの変更による補正計算の拡張も可能になる。一方、出力画像の全画素に対して処理が必要となるサンプリング座標補間演算部３１Ａをシンプルなハードウェアロジックにすることができ、高速処理が可能になる。
【０１８７】
以上、本発明の一実施例について説明したが、本発明は、前記実施例に限定されるものでなく、種々の態様を取ることができる。例えば、撮像装置１Ａにおいて、撮像光学系２Ａと画像処理装置１００Ａを着脱交換できるように構成し、収差係数記憶テーブル３８や収差係数設定部３９、ブレ検出部４０等を撮像光学系２Ａ側に備えてもよい。
【図面の簡単な説明】
【０１８８】
【図１】本発明の第１の実施形態における、撮像装置の構成を表したブロック図である。
【図２】図２（ａ）は、同第１の実施形態における、出力画像のブロック分割例を表した図、図２（ｂ）は、同第一の実施形態の出力画像における原点座標設定の説明図である。
【図３】同第１の実施形態における、色プレーン分解部と色生成部の機能説明図であって、（ａ）が撮像光学系２から出力されるベイヤー配列の色モザイク画像を表した図、（ｂ）（ｃ）（ｄ）が夫々色プレーン分解部で生成されたＲプレーン、Ｇプレーン、Ｂプレーンの配置を表した図、（ｅ）がサンプリング座標における画素値を補間算出する際の説明図である。
【図４】同第１の実施形態における、歪曲収差の補正の概念を説明する図であって、（ａ）が撮像光学系から出力して歪曲収差を含む画像を表した図、（ｂ）は、歪曲収差を補正して出力される出力画像を表した図である。
【図５】同第１の実施形態における画像処理及び画像処理プログラムにおける手順を表した図である。
【図６】本発明の第２の実施形態における、撮像装置の構成を表したブロック図である。
【図７】同第２の実施形態の画像処理における、出力画像の頂点座標設定及びｕｖ座標系の説明図である。
【図８】同第２の実施形態の画像処理における、収差係数のテーブル設定例を表した図である。
【図９】同第２の実施形態における、色プレーン分解部と色生成部の機能説明図であって、（ａ）が撮像光学系２から出力されるベイヤー配列の色モザイク画像を表した図、（ｂ）（ｃ）（ｄ）（ｅ）が夫々色プレーン分解部で生成されたＲプレーン、Ｇｒプレーン、Ｇｂプレーン、Ｂプレーンの配置を表した図、（ｆ）がサンプリング座標における画素値を補間算出する際の説明図である。
【図１０】同第２の実施形態における画像処理及び画像処理プログラムにおける手順を表した図である。
【符号の説明】
【０１８９】
１，１Ａ…撮像装置、２，２Ａ…撮像光学系、３…撮像レンズ、５…撮像素子、５ａ…ベイヤー配列のカラーフィルタ、６…ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）、７…相関二重サンプリング回路、８…可変利得増幅器（ＡＧＣ：Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）、９…Ａ／Ｄ変換器、１０…検出部、１１…センサ、１２…レンズ駆動部、１３…ＴＧ（Ｔｉｍｉｎｇ  Ｇｅｎｅｒａｔｏｒ）、１５…角速度センサ、１８…ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、１９…ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、２１…色プレーン分解部、２２…Ｒフィールドメモリ、２３…Ｇフィールドメモリ、２３ａ…Ｇｒフィールドメモリ、２３ｂ…Ｇｂフィールドメモリ、２４…Ｂフィールドメモリ、２５…ブロック走査部、２５Ａ…出力画像走査部、２６…ブロック分割部、２７，２７Ａ…頂点座標設定部、２８…画素走査部、２９,２９Ａ…サンプリング座標設定部、３０、３０Ａ…頂点サンプリング座標演算部、３０Ｂ…頂点サンプリング座標記憶テーブル、３１，３１Ａ…サンプリング座標補間演算部、３２…サンプリング部、３３…色生成部、３４…視覚補正部、３５…圧縮部、３６…記録部、３７…レンズステート検出部、３８…収差係数記憶テーブル、３９…収差係数設定部、４０…ブレ検出部、１００，１００Ａ…画像処理装置。
【図１】
0005128207.tif 000006
【図２】
0005128207.tif 000007
【図３】
0005128207.tif 000008
【図４】
0005128207.tif 000009
【図５】
0005128207.tif 000010
【図６】
0005128207.tif 000011
【図７】
0005128207.tif 000012
【図８】
0005128207.tif 000013
【図９】
0005128207.tif 000014
【図１０】
0005128207.tif 000015