(57)【要約】  画像処理装置は、光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の整数情報に基づいて、前記画像記憶部から前記第１の画像を読み出すことにより、１画素単位で歪曲収差補正が行われた第１の画像を出力する画像出力部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像出力部から出力された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、を備える。
2017158690.tif 000002
【特許請求の範囲】
【請求項１】
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、
を備える画像処理装置。
【請求項２】
第１の収差補正部は、
前記画像記憶部から読み出された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、      
前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第１のコード演算部と、      
コード毎に歪曲収差による位相ずれを補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードと、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づく複数のタップ係数を出力する第１の係数記憶部と、
前記画像記憶部から読み出された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、
前記第２の選択部により選択された複数画素の各画素値と、前記第１の係数記憶部から出力された複数のタップ係数と、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差による位相ずれを補正する第１の画素値演算部と、
を有する請求項１に記載の画像処理装置。
【請求項３】
第２の収差補正部は、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第３の選択部と、
前記第３の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第２のコード演算部と、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する第２の係数記憶部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第４の選択部と、
前記第４の選択部により選択された複数画素の各画素値と、前記第２の係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する第２の画素値演算部と、
を有する請求項１に記載の画像処理装置。
【請求項４】
前記第２の係数記憶部は、前記光学系の設計情報による光学シミュレーションを用いた学習により求められたものであって、画像の先鋭感を改善するための複数のタップ係数を記憶し、
前記第２の画素値演算部は、前記第２の係数記憶部から出力された複数のタップ係数を用いて前記注目画素の画素値を演算することで、前記第１の画像から先鋭感の改善された前記第２の画像を生成する
請求項３に記載の画像処理装置。
【請求項５】
前記第１のコード演算部は、
前記第１の選択部により選択された複数画素の各画素値を量子化して量子化コードを出力する第１の量子化手段と、
複数の量子化コードと前記第１の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第１の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第１の量子化コード演算部により演算された量子化コードを、前記第１の変換テーブルに基づいて、対応するコードに変換する第１の変換テーブル記憶部と、
を有する請求項２に記載の画像処理装置。
【請求項６】
前記第２のコード演算部は、
前記第３の選択部により選択された複数画素の各画素値を量子化して量子化コードを出力する第２の量子化手段と、
複数の量子化コードと前記第２の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第２の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第２の量子化コード演算部により演算された量子化コードを、前記第２の変換テーブルに基づいて、対応するコードに変換する第２の変換テーブル記憶部と、
を有する請求項３に記載の画像処理装置。
【請求項７】
第１の画素値演算部は、
前記第２の選択部により選択された複数画素の各画素値と、前記第１の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第１の積和演算器と、
前記複数の第１の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第１の補間演算部と、
を有する請求項２に記載の画像処理装置。
【請求項８】
第２の画素値演算部は、
前記第４の選択部により選択された複数画素の各画素値と、前記第２の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第２の積和演算器と、
前記複数の第２の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第２の補間演算部と、
を有する請求項３に記載の画像処理装置。
【請求項９】
前記位置情報生成部により生成された所定フレームの前記第１の画像の各画素の位置情報を記憶する位置情報記憶部を更に備え、
前記第１の収差補正部は、前記所定フレーム以降のフレームについて、前記位置情報記憶部に記憶された各画素の位置情報の小数点以下の情報を用いて、歪曲収差による位相ずれを補正する
請求項１に記載の画像処理装置。
【請求項１０】
撮影情報毎に用意された複数の前記歪曲収差テーブルを記憶する歪曲収差テーブル記憶部を更に備え、
前記位置情報生成部は、前記歪曲収差テーブル記憶部から、入力された撮影情報に近似する撮影情報に対応する複数の歪曲収差テーブルを読み出し、読み出された複数の歪曲収差テーブルを用いて前記入力された撮影情報に対応する歪曲収差テーブルを補間して、補間された歪曲収差テーブルを用いて、前記第１の画像の画素の位置情報を生成する
請求項１に記載の画像処理装置。
【請求項１１】
前記第２の収差補正部は、
撮影情報毎に用意された複数のタップ係数を記憶する前記第２の係数記憶部から、入力された撮影情報に近似する撮影情報に対応する複数のタップ係数を読み出し、読み出された複数のタップ係数を用いて前記入力された撮影情報に対応する複数のタップ係数を補間するタップ係数補間部を更に備え、
前記第２の画素値演算部は、前記タップ係数補間部で補間された複数のタップ係数を用いて、前記注目画素の画素値を演算する
請求項３に記載の画像処理装置。
【請求項１２】
光学系の収差の影響を受けた第１の画像の各画素の位置情報と前記収差の影響が除去された第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成ステップと、
前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第１の画像を記憶する画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正ステップと、
前記第１の収差補正ステップで補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正ステップと、
を備える画像処理方法。
【請求項１３】
コンピュータを、
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、
して機能させるためのプログラムが記録された記録媒体。
【請求項１４】
コンピュータを、
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、
して機能させるためのプログラム。
【請求項１５】
光学系を介して入射される撮像光に応じて第１の画像を生成する撮像素子と、
前記撮像素子で生成された第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、
を備える撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置に関する。
【背景技術】
【０００２】
近年、例えばビデオカメラ、電子スチルカメラ、いわゆるスマートフォン、セキュリティーカメラ、内視鏡、顕微鏡などの電子カメラの用途に、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージセンサやＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサなどの固体撮像素子を用いた固体撮像装置が幅広く使用されている。【０００３】
固体撮像装置では、被写体からの光が撮像光学系を介して固体撮像素子に入射されるので、理想的な結像からのずれ、つまり収差が生じる。このため、固体撮像装置の出力画像が、画像中心部からの距離に応じて、歪む、ぼける、暗くなるなどの画質劣化の度合いが大きくなるという問題がある。【０００４】
このような問題に対して、特許文献１には、撮影レンズの歪曲収差情報に基づき、撮影レンズの画面上の中心から任意の像高を基準として、近似式を用いて画像の歪曲量を補正する技術が開示されている。【０００５】
特許文献２には、歪曲収差補正の際に画像に発生しうるジャギーを抑制する技術が開示されている。
特許文献３には、解像度変換を行う際の画質劣化を未然に防止する技術が開示されている。
特許文献４及び特許文献５には、レンズ収差に起因する像の歪みを補正するための補正量を精度良く求める技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３４８３４３号公報
【特許文献２】特開平６−１６５０２４号公報
【特許文献３】特開２００５−３１１４７３号公報
【特許文献４】特開平７−１９３７９０号公報
【特許文献５】特開２０００−４３９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、従来技術の問題を解決するものである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、を備える。【０００９】
本発明の第２の態様は、光学系の収差の影響を受けた第１の画像の各画素の位置情報と前記収差の影響が除去された第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成ステップと、前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第１の画像を記憶する画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正ステップと、前記第１の収差補正ステップで補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正ステップと、を備える。【００１０】
本発明の第３の態様は、コンピュータを、光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、して機能させるためのプログラムが記録された記録媒体である。【００１１】
本発明の第４の態様は、光学系を介して入射される撮像光に応じて第１の画像を生成する撮像素子と、前記撮像素子で生成された第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された第１の画像に対して、歪曲収差以外の収差を補正することで前記第２の画像を生成する第２の収差補正部と、を備える。
【発明の効果】
【００１２】
本発明は、光学系の影響を受けて画質の劣化した画像を高精度に補正することができる。
【図面の簡単な説明】
【００１３】
【図１】コード分類型適応フィルタによる画像変換処理を行う画像変換装置の構成例を示すブロック図である。
【図２】画像変換装置による画像変換処理を説明するフローチャートである。
【図３】学習装置の構成例を示すブロック図である。
【図４】学習部の構成例を示すブロック図である。
【図５】学習装置による処理（学習処理）を説明するフローチャートである。
【図６】本技術を適用したディジタルカメラの一実施の形態に係る構成例を示すブロック図である。
【図７】画像補正部で行われる収差補正処理を行う画像変換装置の構成例を示すブロック図である。
【図８Ａ】撮像装置による歪曲収差の性質を示す概念図である。
【図８Ｂ】撮像装置による歪曲収差の性質を示す概念図である。
【図９】ディストーションの一例を示す図である。
【図１０】歪曲収差補正位置情報生成処理部の処理を説明するフローチャートである。
【図１１】係数補間処理部の処理を説明するフローチャートである。
【図１２Ａ】歪曲収差のある第１の画像の近傍にタップの張り方や画素の読み出し方を示す概念図である。
【図１２Ｂ】歪曲収差のある第１の画像の近傍にタップの張り方や画素の読み出し方を示す概念図である。
【図１３】位置情報整列部の処理を示す概念図である。
【図１４】第１収差補正処理部での微小な収差補正を行う画像変換装置の構成例を示すブロック図である。
【図１５】位相情報から位相シフト量を学習したタップ係数の選択方法を示す概念図である。
【図１６】積和演算部の構成例を示す図である。
【図１７】フィルタタップ選択部で選択されるフィルタタップの構成例を示す図である。
【図１８】コードタップ選択部で選択されるコードタップの構成例を示す図である。
【図１９】コード演算部の構成例を示すブロック図である。
【図２０】量子化演算部で行われる１ビットＤＲ量子化の例を説明する図である。
【図２１】中心画素差分比検出部で行われる中心画素差分比を説明する図である。
【図２２Ａ】９ビットにコード分類された量子化コードとタップ係数の関係を示す図である。
【図２２Ｂ】９ビットにコード分類された量子化コード、変換テーブル及びタップ係数の関係を示す図である。
【図２２Ｃ】９ビットにコード分類された量子化コード、共通変換テーブル及びタップ係数の関係を示す図である。
【図２３】画像変換装置よる画像変換処理の例を説明するフローチャートである。
【図２４】第２収差補正処理部での主に先鋭感改善のための収差補正処理を行う画像変換装置の構成例を示すブロック図である。
【図２５】フィルタタップ選択部で選択されるフィルタップの構成例を示す図である。
【図２６】コードタップ選択部で選択されるコードタップの構成例を示す図である。
【図２７】コード演算部の構成例を示すブロック図である。
【図２８】注目画素選択部からの位置情報を分割した位置情報を示す概念図である。
【図２９】画像変換装置による画像変換処理の例を説明するフローチャートである。
【図３０】画像変換装置による画像変換処理の例を説明するフォローチャートである。
【図３１】第１収差補正処理部での微小な収差補正を行う画像変換装置の他の構成例を示すブロック図である。
【図３２】画像補正部で行われる収差補正処理を行う画像変換装置の他の構成例を示すブロック図である。
【図３３】第２収差補正処理部での主に先鋭感改善のための収差補正処理を行う画像変換装置の構成例を示すブロック図である。
【図３４】画像変換装置による画像変換処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について説明する。最初に、コード分類型適応フィルタについて説明する。
【００１５】
［コード分類型適応フィルタ］
コード分類型適応フィルタは、第１の画像を第２の画像に変換する画像変換処理であり、第１及び第２の画像の定義に応じて様々な信号処理を行う。
例えば、第１の画像が低解像度画像であり、第２の画像が高解像度画像の場合、コード分類型適応フィルタは、解像度を向上させる超解像処理を行う。
【００１６】
第１の画像が低Ｓ／Ｎ（Ｓｉｇｎａｌ／Ｎｏｉｓｅ）画像であり、第２の画像が高Ｓ／Ｎ画像の場合、コード分類型適応フィルタは、ノイズ除去処理を行う。
第２の画像が第１の画像よりも画素数が多い又は少ない場合、コード分類型適応フィルタは、画像のリサイズ（拡大又は縮小）処理を行う。
【００１７】
第１の画像がガウシアンモデル等でぼけた画像であり、第２の画像がぼけていない画像の場合、コード分類型適応フィルタは、ぼけ除去処理を行う。
第１の画像が位相をシフトさせた画像であり、第２の画像が位相をシフトさせていない画像の場合、コード分類型適応フィルタは、位相シフト処理を行う。
【００１８】
コード分類型適応フィルタは、コードのタップ係数と、第２の画像のうちの注目している注目画素に対して選択される第１の画像の画素の画素値と、を用いて、注目画素の画素値を演算する。なお、コードのタップ数は、第２の画像の注目画素の画素値を複数のコードのうちの何れかのコードにコード分類することによって求められる。
【００１９】
図１は、コード分類型適応フィルタによる画像変換処理を行う画像変換装置１０の構成例を示すブロック図である。
【００２０】
画像変換装置１０には、第１の画像が供給される。第１の画像は、コードタップ選択部１２及びフィルタタップ選択部１３に供給される。
注目画素選択部１１は、第２の画像を構成するそれぞれの画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
【００２１】
フィルタタップ選択部１２は、注目画素の画素値をフィルタ演算で求めるために、第１の画像を構成する複数の画素の画素値を、フィルタタップとして選択する。具体的には、フィルタタップ選択部１２は、注目画素の位置から近い位置にある第１の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部１６へ供給する。
【００２２】
コードタップ選択部１３は、注目画素を幾つかのコードのうちの何れかにコード分類するために、注目画素の位置から近い位置にある第１の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部１４へ供給する。
なお、フィルタタップとコードタップのタップ構造（選択される画素の構造）は、同一のタップ構造であっても良いし、異なるタップ構造であっても良い。
【００２３】
コード演算部１４は、コードタップ選択部１３からのコードタップに基づき、所定の規則に従って、注目画素をコード分類し、注目画素のコードに対応するコードを係数記憶部１５に供給する。
【００２４】
コード分類を行う方法は、例えば、コードタップとしての画素値を量子化するＤＲ（Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）量子化方法などがある。ＤＲ量子化方法は、コードタップを構成する画素の画素値を量子化して、その結果得られるＤＲ量子化コードにしたがって注目画素のコードを決定する。
【００２５】
ＮビットＤＲ量子化方法においては、例えば、最初にコードタップを構成する画素の画素値の最大値ＭＡＸと最小値ＭＩＮが検出される。次に、ダイナミックレンジＤＲ（＝最大値ＭＡＸ−最小値ＭＩＮ）が、コードタップを構成する画素の集合の局所的なダイナミックレンジに設定される。そして、このダイナミックレンジＤＲに基づいて、コードタップを構成する各画素の画素値がＮビットに量子化される。
【００２６】
つまり、コードタップを構成する各画素の画素値から最小値ＭＩＮが減算され、その減算値がＤＲ／２Ｎで除算（量子化）される。
以上のようなコードタップを構成するＮビットの各画素の画素値が所定の順番で並べられ、並べられたビット列がＤＲ量子化コードとして出力される。
【００２７】
コードタップが例えば１ビットＤＲ量子化処理された場合、そのコードタップを構成する各画素の画素値は、最大値ＭＡＸと最小値ＭＩＮとの平均値で除算される（整数演算）。これにより、各画素の画素値が１ビットになる（２値化）。そして、その１ビットの画素値を所定の順番で並べたビット列が、ＤＲ量子化コードとして出力される。ＤＲ量子化のみでコード分類が行われる場合、例えば、ＤＲ量子化コードが、コード演算部１４で演算されるコードとなる。
【００２８】
なお、コード演算部１４は、例えば、コードタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力することも可能である。ここで、コードタップがＭ個の画素の画素値で構成され、各画素の画素値にＡビットが割り当てられている場合、コード演算部１４が出力するコードの数が（２Ｍ）Ａ通りとなる。つまり、コードの数は、画素の画素値のビット数Ａに対して指数関数的に比例した膨大な数となる。したがって、コード演算部１４は、コードタップの情報量を前述のＤＲ量子化やあるいはベクトル量子化等によって圧縮することにより、コード分類を行うのが好ましい。
【００２９】
係数記憶部１５は、後述する学習によって求められたコード毎にタップ係数を記憶している。係数記憶部１５は、コード演算部１４からコードが供給されると、そのコードに対応するアドレスに記憶されているタップ係数を出力して、このタップ係数を積和演算部１６に供給する。ここで、タップ係数とは、ディジタルフィルタにおける、いわゆるタップにおいて入力データに対して乗算される係数をいう。
【００３０】
積和演算部１６は、フィルタタップ選択部１２が出力するフィルタタップと、係数記憶部１５が出力するタップ係数と、を用いて、注目画素の画素値の予測値を求めるための積和演算を行う。つまり、積和演算部１６は、注目画素の画素値、すなわち、第２の画像を構成する画素の画素値を求める。
【００３１】
図２は、画像変換装置１０による画像変換処理を説明するフローチャートである。
ステップＳ１１では、注目画素選択部１１は、画像変換装置１０に入力された第１の画像に対する第２の画像を構成する画素のうち、まだ注目されていない（変換処理されていない）画素の１つを注目画素として選択する。注目画素選択部１１は、例えば、第２の画像を構成する各画素に対して、ラスタースキャン順に、まだ注目されていない画素から注目画素を選択する。そして、ステップＳ１２へ進む。
【００３２】
ステップＳ１２では、コードタップ選択部１２は、画像変換装置１０に入力された第１の画像の各画素から、注目画素についてのコードタップを構成する画素を選択し、選択したコードタップをコード演算部１４に供給する。フィルタタップ選択部１３は、画像変換装置１０に入力された第１の画像の各画素から、注目画素についてのフィルタタップを構成する画素を選択し、選択したフィルタタップを積和演算部１６に供給する。そして、ステップＳ１３へ進む。
【００３３】
ステップＳ１３では、コード演算部１４は、コードタップ選択部１２供給された注目画素についてのコードタップに基づき、注目画素をコード演算する。さらに、コード演算部１４は、そのコード演算の結果得られる注目画素のコードを係数記憶部１５に供給する。そして、ステップＳ１４に進む。
【００３４】
ステップＳ１４では、係数記憶部１５は、コード演算部１４から供給されるコードに対応するアドレスに記憶されているタップ係数を取得して出力する。積和演算部１６は、係数記憶部１５から出力されたタップ係数を取得する。そして、ステップＳ１５に進む。
【００３５】
ステップＳ１５では、積和演算部１６は、フィルタタップ選択部１２から出力されたフィルタタップと、係数記憶部１５から取得したタップ係数とを用いて、所定の積和演算を行うことで注目画素の画素値を求める。そして、ステップＳ１６へ進む。
【００３６】
ステップＳ１６では、注目画素選択部１１は、第２の画像の各画素の中に、まだ注目画素として選択されていない画素があるか否かを判定する。肯定的な判定結果の場合、つまり、注目画素として選択されていない画素がある場合は、ステップＳ１１に戻り、再びステップＳ１１以降の処理が行われる。否定的な判定結果の場合、つまり、注目画素として選択されていない画素がない場合は、第２の画像のすべての画素について画素値が求められたので、処理を終了する。
【００３７】
＜タップ係数の求め方＞
次に、積和演算部１６の積和演算と、係数記憶部１５に記憶されるタップ係数の学習について説明する。ここでは、第２の画像が高画質画像であり、第１の画像がその高画質画像にＬＰＦ（Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）処理を施して画質（解像度）を低下させた低画質画像であるものとする。
【００３８】
積和演算部１６は、例えば、線形１次予測演算を行う。このとき、高画質画像の画素値ｙは、次の式（１）の線形一次式によって求められる。
【００３９】
【数１】
2017158690.tif 000003
式（１）において、ｘｎは、高画質画像の画素ｙについてのフィルタタップを構成するｎ番目の低画質画像の画素（低画質画素）の画素値を表す。ｗｎは、ｎ番目の低画質画素の画素値ｘｎに乗算されるｎ番目のタップ係数を表す。また、式（１）では、フィルタタップは、Ｎ個の低画質画素ｘ１、ｘ２、・・・、ｘｎで構成される。
【００４０】
ここで、高画質画素の画素値ｙは、式（１）に示した線形一次式ではなく、２次以上の高次の式によっても求められる。
第ｋサンプル（ｋ番目）の高画質画素の画素値の真値をｙｋと表し、式（１）によって得られるその真値ｙｋの予測値をｙｋ’と表す。予測値ｙｋ’の真値ｙｋに対する予測誤差ｅｋは、式（２）で表される。
【００４１】
【数２】
2017158690.tif 000004
【００４２】
式（２）の予測値ｙｋ’は、式（１）にしたがって求められる。式（２）のｙｋ’を式（１）にしたがって置き換えると、式（３）が得られる。
【００４３】
【数３】
2017158690.tif 000005
式（３）において、ｘｎ，ｋは、第ｋサンプルの高画質画素ｙｋについてのフィルタタップを構成するｎ番目の低画質画素を表す。
【００４４】
式（３）（又は式（２））の予測誤差ｅｋを０とするタップ係数ｗｎが、高画質画素ｙｋを予測するために最適なタップ係数となる。しかし、すべての高画質画素ｙｋについて最適なタップ係数ｗｎを求めることは、一般的に困難である。
【００４５】
そこで、タップ係数ｗｎが最適な値であることを表す規範として、例えば、最小自乗法を採用する。この場合、最適なタップ係数ｗｎは、式（４）で表される自乗誤差の総和Ｅを最小にすることで求められる。
【００４６】
【数４】
2017158690.tif 000006
式（４）において、Ｋは、高画質画素ｙｋと、その高画質画素ｙｋについてのフィルタタップを構成する低画質画素ｘ１，ｋ、ｘ２，ｋ、・・・、ｘｎ，ｋと、がセットになったサンプル数（学習用のサンプルの数）を表す。
【００４７】
式（４）の自乗誤差の総和Ｅの最小値（極小値）は、式（５）に示すように、総和Ｅをタップ係数ｗｎで編微分した結果を０とするｗｎによって求められる。
【００４８】
【数５】
2017158690.tif 000007
そこで、前述の式（３）をタップ係数ｗｎで編微分すると、式（６）が得られる。
【００４９】
【数６】
2017158690.tif 000008
式（５）及び（６）から、式（７）が得られる。
【００５０】
【数７】
2017158690.tif 000009
式（７）のｅｋに式（３）を代入すると、式（７）は式（８）に示す正規方程式で表される。
【００５１】
【数８】
2017158690.tif 000010
【００５２】
式（８）の正規方程式に例えば掃き出し法（Ｇａｕｓｓ−Ｊｏｒｄａｎの消去法）などを用いることにより、タップ係数ｗｎが導出される。また、式（８）の正規方程式をコード毎に立式して解くことにより、最適なタップ係数（自乗誤差の総和Ｅを最小にするタップ係数）ｗｎがコード毎に求められる。
【００５３】
図３は、式（８）の正規方程式をコード毎に立式して解くことによりタップ係数ｗｎを求める学習を行う学習装置の構成例を示すブロック図である。
学習装置２０の学習用画像記憶部２１は、タップ係数ｗｎの学習に用いられる学習用画像を記憶している。なお、学習用画像は、例えば、解像度の高い高画質画像が該当する。
【００５４】
教師データ生成部２２は、学習用画像記憶部２１から学習用画像を読み出す。教師データ生成部２２は、学習用画像から、タップ係数の学習の教師（真値）、すなわち、式（１）による予測演算としての写像の写像先の画素値となる教師データ（教師画像）を生成し、教師データ記憶部２３に供給する。なお、教師データ生成部２２は、学習用画像である高画質画像を、そのまま教師データとして教師データ記憶部２３に供給してもよい。
【００５５】
教師データ記憶部２３は、教師データ生成部２２から供給される高画質画像を教師データとして記憶する。
生徒データ生成部２４は、学習用画像記憶部２１から学習用画像を読み出す。生徒データ生成部２４は、学習用画像から、タップ係数の学習の生徒、すなわち、式（１）による予測演算としての写像による変換対象の画素値となる生徒データ（生徒画像）を生成し、生徒データ記憶部２５に供給する。
【００５６】
例えば、生徒データ生成部２４は、学習用画像としての高画質画像をフィルタリングして、解像度が低下した低画質画像を生成し、この低画質画像を生徒データとして、生徒データ記憶部２５に供給する。
生徒データ記憶部２５は、生徒データ生成部２４から供給される低画質画像を生徒データとして記憶する。
【００５７】
学習部２６は、教師データ記憶部２３に記憶された高画質画像の各画素を、順次注目画素として選択する。学習部２６は、選択した注目画素に対応するフィルタタップとして、生徒データ記憶部２５に記憶された低画質画像を構成する低画質画素のうち、図１のフィルタタップ選択部１２が選択するものと同一のタップ構造の低画質画素を選択する。
【００５８】
さらに、学習部２６は、教師データを構成する各画素と、当該画素が注目画素のときに選択されたフィルタタップとを用い、コード毎に式（８）の正規方程式を立式して解くことにより、コード毎のタップ係数を求める。
【００５９】
図４は、学習部２６の構成例を示すブロック図である。
注目画素選択部３１は、教師データ記憶部２３に記憶されている教師データを構成する画素を、順次注目画素として選択し、その注目画素を表す情報を所定のブロックに供給する。
【００６０】
フィルタタップ選択部３２は、注目画素に対応するフィルタタップとして、生徒データ記憶部２５に記憶された低画質画像を構成する低画質画素から、図１のフィルタタップ選択部１２が選択するものと同一の画素を選択する。これにより、フィルタタップ選択部１２で得られるものと同一のタップ構造のフィルタタップが得られる。フィルタタップは、足し込み部３５に供給される。
【００６１】
コードタップ選択部３３は、注目画素に対応するコードタップとして、生徒データ記憶部２５に記憶された低画質画像を構成する低画質画素から、図１のコードタップ選択部１３が選択するものと同一の画素を選択する。これにより、コードタップ選択部１３で得られるものと同一のタップ構造のコードタップが得られる。コードタップは、コード演算部３４に供給される。
【００６２】
コード演算部３４は、コードタップ選択部３３から出力されたコードタップに基づき、図１のコード演算部１４と同一のコード演算を行い、その結果得られるコードを、足し込み部３５に供給する。
【００６３】
足し込み部３５は、教師データ記憶部２３から注目画素である教師データ（画素）を読み出す。足し込み部３５は、コード演算部３４から供給されるコード毎に、教師データ記憶部２３から読み出した注目画素と、フィルタタップ選択部３２から供給される注目画素についてのフィルタタップを構成する生徒データ（画素）と、を対象とした足し込みを行う。
【００６４】
ここで、足し込み部３５には、教師データ記憶部２３から読み出された教師データｙｋ、フィルタタップ選択部３２で選択されたフィルタタップｘｎ，ｋ、コード演算部３４で演算されたコードが供給される。
【００６５】
足し込み部３５は、コード演算部３４から供給されるコード毎に、フィルタタップ（生徒データ）ｘｎ，ｋを用い、式（８）の左辺の行列における生徒データ同士の乗算（ｘｎ，ｋ・ｘｎ’，ｋ）とサメーション（Σ）に相当する演算を行う。
【００６６】
さらに、足し込み部３５は、コード演算部３４から供給されるコード毎に、フィルタタップ（生徒データ）ｘｎ，ｋと教師データｙｋを用い、式（８）の右辺のベクトルにおける生徒データｘｎ，ｋと教師データｙｋの乗算（ｘｎ，ｋ・ｙｋ）と、サメーション（Σ）に相当する演算を行う。
【００６７】
すなわち、足し込み部３５は、前回、注目画素とされた教師データについて求められた式（８）における左辺の行列のコンポーネント（Σｘｎ，ｋ・ｘｎ’，ｋ）と、右辺のベクトルのコンポーネント（Σｘｎ，ｋ・ｙｋ）を、内蔵する記憶部（図示せず）に記憶している。足し込み部３５は、行列コンポーネント（Σｘｎ，ｋ・ｘｎ‘，ｋ）またはベクトルコンポーネント（Σｘｎ，ｋ・ｙｋ）に対して、新たに注目画素とされた教師データについて、教師データｙｋ＋１と生徒データｘｎ，ｋ＋１を用いて計算される、対応コンポーネントｘｎ，ｋ＋１・ｘｎ’，ｋ＋１又はｘｎ，ｋ＋１・ｙｋ＋１を、それぞれ足し込む（式（８）のサメーションで表される加算）。
【００６８】
そして、足し込み部３５は、教師データ記憶部２３に記憶された教師データすべてを注目画素として前述の足し込みを行うことにより、各コードについて式（８）に示した正規方程式を立式して、その正規方程式をタップ係数演算部３６に供給する。
【００６９】
タップ係数演算部３６は、足し込み部３５から供給される各コードについての正規方程式を解くことにより、各コードについて、最適なタップ係数ｗｎを求める。
図１の画像変換装置１０における係数記憶部１５には、以上のようにして求められたコード毎のタップ係数ｗｎが記憶されている。
【００７０】
図５は、図３の学習装置２０の学習処理を説明するフローチャートである。
ステップＳ２１では、教師データ生成部２２は、学習用画像記憶部２１に記憶された学習用画像から教師データを生成し、生成した教師データを教師データ記憶部２３に供給する。生徒データ生成部２４は、学習用画像記憶部２１に記憶された学習用画像から生徒データを生成し、生成した生徒データを生徒データ記憶部２５に供給する。そして、ステップＳ２２へ進む。なお、教師データ又は生徒データとして最適な学習用画像は、コード分類型適応フィルタがどのような画像変換処理を行うかに応じて、選択される。
【００７１】
ステップＳ２２では、図４に示す学習部２６の注目画素選択部３１は、図３に示す教師データ記憶部２３に記憶された教師データのうち、まだ、注目画素としていない画素を、注目画素として選択する。そして、ステップＳ２３に進む。
【００７２】
ステップＳ２３では、図４に示すフィルタタップ選択部３２は、注目画素について、図３に示す生徒データ記憶部２５に記憶された生徒データからフィルタタップとする生徒データとしての画素を選択して、足し込み部３５に供給する。
図４に示すコードタップ選択部３３は、注目画素について、図３に示す生徒データ記憶部２５に記憶された生徒データからコードタップとする生徒データを選択し、コード演算部３４に供給する。そして、ステップＳ２４に進む。
【００７３】
ステップＳ２４では、コード演算部３４は、注目画素についてのコードタップに基づき、注目画素のコード演算を行い、その結果得られるコードを足し込み部３５に供給する。そして、ステップＳ２５に進む。
【００７４】
ステップＳ２５では、足し込み部３５は、教師データ記憶部２３から注目画素を読み出す。足し込み部３５は、コード演算部３４から供給されるコード毎に、読み出した注目画素と、フィルタタップ選択部３２から供給される注目画素について選択されたフィルタタップを構成する生徒データとを対象とした式（８）の足し込みを行う。そして、ステップＳ２６に進む。
【００７５】
ステップＳ２６では、注目画素選択部３１は、教師データ記憶部２３に記憶された教師データのうち、まだ注目画素として選択されていない画素があるか否かを判定する。肯定的な判定結果の場合、つまり、教師データの中に注目画素として選択されていない画素がある場合、ステップＳ２２に戻り、ステップＳ２２以下の処理が実行される。
【００７６】
否定的な判定結果の場合、つまり、教師データの中に注目画素として選択されていない画素がない場合、足し込み部３５は、ステップＳ２２〜Ｓ２６の処理によって得られたコード毎の式（８）の左辺の行列及び右辺のベクトルを、タップ係数演算部３６に供給する。そして、ステップＳ２７に進む。
【００７７】
ステップＳ２７では、タップ係数演算部３６は、足し込み部３５から供給されるコード毎の式（８）における左辺の行列と右辺のベクトルによって構成されるコード毎の正規方程式に従って、コード毎にタップ係数ｗｎを演算する。そして、一連の処理を終了する。
【００７８】
なお、学習用画像の数が十分でないこと等に起因して、コードによっては、タップ係数ｗｎを求めるのに必要な数の正規方程式が得られない場合がある。そのようなコードについては、タップ係数演算部３６は、例えば、予め設定されたタップ係数を出力すればよい。
【００７９】
［第１の実施の形態］
図６は、本発明の第１の実施の形態に係るディジタルカメラ４０の構成例を示すブロック図である。ディジタルカメラ４０は、光学系の設計情報を用いて、収差のない静止画又は動画を撮影する。
【００８０】
ディジタルカメラ４０は、光学系４１、イメージセンサ４２、記憶部４３、信号処理部４４、画像補正部４５、出力部４６、及び、制御部４７を有する。
光学系４１は、例えば、図示せぬズームレンズや、フォーカスレンズ、絞り、光学ローパスフィルタ等を有する。光学系４１は、外部からの光をイメージセンサ４２に入射させる。光学系４１は、図示せぬズームレンズのズーム情報、絞りの絞り情報などの撮影情報を画像補正部４５に供給する。
【００８１】
イメージセンサ４２は、例えば、ＣＭＯＳイメージセンサである。イメージセンサ４２は、光学系４１からの入射光を受光して光電変換を行って、光学系４１からの入射光に対応する電気信号としての画像を出力する。
記憶部４３は、イメージセンサ４２が出力する画像を一時記憶する。
【００８２】
信号処理部４４は、記憶部４３に記憶された画像に対して、例えばホワイトバランス処理、デモザイク処理、ガンマ補正処理や、ノイズ除去処理等の信号処理を行い、信号処理済みの画像を画像補正部４５に供給する。
画像補正部４５は、光学系４１より供給された撮影情報を用いて、信号処理部４４から供給された画像に対して収差補正等の画像補正処理を行う。
【００８３】
出力部４６は、例えば、（ａ）液晶等で構成されるディスプレイ、（ｂ）半導体メモリ、磁気ディスク、光ディスク等の記録媒体を駆動するドライバ、（ｃ）ネットワーク、各種ケーブル、無線などの通信経路を使った通信器に該当し、画像補正部４５からの画像を様々な態様で出力する。
【００８４】
例えば、出力部４６は、ディスプレイである場合は、画像補正部４５からの画像をいわゆるスルー画像として表示する。出力部４６は、記録媒体を駆動するドライバである場合は、画像補正部４５からの画像を記録媒体に記録する。出力部４６は、通信器である場合は、画像補正部４５からの画像をネットワーク等の通信経路を介して外部へ出力する。
制御部４７は、ユーザの操作等に従い、ディジタルカメラ４０を構成する各ブロックを制御する。
【００８５】
以上のように構成されるディジタルカメラ４０では、イメージセンサ４２が、光学系４１からの入射光を受光し、その入射光に応じて画像を出力する。
イメージセンサ４２が出力する画像は、記憶部４３に供給されて記憶される。記憶部４３に記憶された画像は、信号処理部４４及び画像補正部４５による信号処理が施される。画像補正部４５による画像補正済みの画像は、出力部４６を介して、外部に出力される。
【００８６】
＜画像補正部４５を構成する画像変換装置５０の構成例＞
図７は、図６の画像補正部４５で行われる収差補正処理を行う画像変換装置５０の構成例を示すブロック図である。
【００８７】
画像補正部４５は、例えば、ＲＧＢの色成分毎に設けられた複数の画像変換装置５０を有する。画像変換装置５０は、ＲＧＢの色成分毎に、各色成分に対応するテーブルや係数を用いて、画像の収差補正処理を行う。
【００８８】
画像変換装置５０は、理想的な収差のない第１の画像と光学系４１を介して得られた収差のある第２の画像との対応関係を、光学シミュレーションの２次元像シミュレーションの結果を用いて求める。そして、画像変換装置５０は、歪曲収差補正用テーブルと前述したコード分類型適応フィルタの学習処理によって求めた係数と、によって、第２の画像に収差補正を行う。
【００８９】
理想的な歪曲収差のない第１の画像（ｘ，ｙ）と、光学系４１を介して得られた歪曲収差のある第２の画像（ｘ’，ｙ’）と、の対応関係について説明する。
歪曲収差とは、画像の中心から放射方向に画像が伸縮して画像が歪曲することをいう。但し、画像の中心は、撮像光学系の光軸とイメージセンサの撮像面との交点とする。
【００９０】
例えば、図８Ａに示す第１の画像上の点Ｐは、放射方向に伸縮して、図８Ｂに示す第２の画像上の点Ｐ’に対応する。歪曲の度合いは、画像の中心からの距離ｒに依存する。理想的な撮像光学系における歪曲収差は、画像の中心に対して点対称である。歪曲収差のない画像と歪曲収差のある画像との対応関係は、以下の式（９）〜（１１）の通りである。
【００９１】
【数９】
2017158690.tif 000011
式（９）〜（１１）によれば、距離ｒと距離ｒ’の対応関係を示す関数またはテーブルがあれば、理想的な歪曲収差のない画像（ｘ，ｙ）と歪曲収差のある画像（ｘ’，ｙ’）との対応関係が求められる。
【００９２】
しかし、距離ｒと距離ｒ’の対応関係は、関数を使って高精度に近似できない。そのため、本実施の形態では、距離ｒと距離ｒ’の対応関係については、撮像光学系の光学シミュレーションまたは実測値により求められたテーブルが使用される。
【００９３】
一方、（ｘ，ｙ）と（ｘ’，ｙ’）の対応関係を直接表す２次元テーブルを使用することも可能である。但し、２次元テーブルのデータ量が膨大になってしまう問題がある。
【００９４】
そこで、本実施の形態では、式（１２）に示すように、撮像光学系の光学シミュレーションまたは実測値により求められたものであって、距離ｒと距離ｒ’の対応関係を示す歪曲収差テーブルｄ（ｒ）が使用される。これにより、膨大なデータを用いることなく、（ｘ，ｙ）から（ｘ’，ｙ’）ら得られる。具体的には、（ｘ’，ｙ’）は、式（１３）及び（１４）により求められる。
【００９５】
【数１０】
2017158690.tif 000012
【００９６】
画像処理装置５０は、入力された第２の画像の（ｘ’，ｙ’）の画素値を取得して、取得した（ｘ’，ｙ’）の画素値を第１の画像（ｘ，ｙ）の画素値に変換することにより、歪曲収差のない第１の画像を得ることできる。
【００９７】
図９は、ディストーションｄ（＝（ｒ’−ｒ）／ｒ）の一例を示す図である。なお、歪曲収差テーブルｄ（ｒ）を用いると、ｒ’は式（１２）の通りである。つまり、歪曲収差テーブルｄ（ｒ）は、距離ｒを距離ｒ’に変換するテーブルを表し、距離ｒに依存して変化する。歪曲収差テーブルｄ（ｒ）は、光学系の光学シミュレーションまたは実測値により求められたものであり、図７の歪曲収差テーブル記憶部５２に記憶される。
【００９８】
さらに、歪曲収差テーブルｄ（ｒ）は、光学系４１のズームレンズのズーム量が変化すると、その変化に応じて変化する。よって、様々なズーム量に応じた歪曲収差テーブルｄ（ｒ）が必要になる。そのため、図７の歪曲収差テーブル記憶部５２には、様々なズーム量に応じた複数の歪曲収差テーブルｄ（ｒ）が記憶されている。
【００９９】
歪曲収差補正位置情報生成処理部５３は、図６の光学系４１からズームレンズのズーム量などの撮影情報が供給され、注目画素選択部５１により注目画素が選択されると、歪曲収差補正位置情報を生成して、歪曲収差補正位置情報を歪曲収差補正位置情報記憶部５４に供給させる。
【０１００】
＜歪曲収差補正位置情報生成処理部５３による処理＞
図１０は、図７の歪曲収差補正位置情報生成処理部５３の処理を説明するフローチャートである。
【０１０１】
ステップＳ３１では、歪曲収差補正位置情報生成処理部５３は、光学系４１から供給された撮影情報、例えばズームレンズのズーム量を参照して、図７の歪曲収差テーブル記憶部５２から、そのズーム量の近傍のズーム量に対応付けられた複数の歪曲収差テーブルを読み出す。そして、ステップＳ３２に進む。
【０１０２】
ステップＳ３２では、歪曲収差補正位置情報生成処理部５３は、ステップＳ３１で読み出された複数の歪曲収差テーブルの各値を、線形補間またはラグランジュ補間などの補間方法を用いて補間する。これにより、現在のズーム量に対応する歪曲収差テーブルが得られる。そして、歪曲収差補正位置情報生成処理部５３は、第１の画像に対応するアドレス空間のうち、まだ処理していないアドレスを処理アドレス（ｘ，ｙ）として選択する。そして、ステップＳ３３に進む。
【０１０３】
ステップＳ３３では、歪曲収差補正位置情報生成処理部５３は、式（９）を用いて、処理アドレス（ｘ，ｙ）の中心からの距離ｒを、小数点以下所定の桁数まで計算する。そして、ステップＳ３４に進む。
【０１０４】
ステップＳ３４では、歪曲収差補正位置情報生成処理部５３は、ステップＳ３２で求めた補間済みの歪曲収差テーブルと、ステップＳ３３で求めた距離ｒと、を用いて、歪曲収差により伸縮した距離ｒ’を求める。ここでは、補完済みの歪曲収差テーブルから、ステップＳ３３で求めた距離ｒに前後する値にそれぞれ対応する距離が読み出され、読み出された距離が線形補間される。これにより、精度の高い距離ｒ’が得られる。そして、ステップＳ３５に進む。
【０１０５】
ステップＳ３５では、歪曲収差補正位置情報生成処理部５３は、ステップＳ３３で求めた距離ｒと、ステップＳ３４で求めた距離ｒ’との比を用いて、式（１３）及び（１４）に従って、小数点以下所定の桁数の（ｘ’，ｙ’）を演算する。歪曲収差補正位置情報生成処理部５３は、（ｘ’，ｙ’）を歪曲収差補正位置情報として歪曲収差補正位置情報記憶部５４に供給する。そして、ステップＳ３６に進む。
【０１０６】
ステップＳ３６では、歪曲収差補正位置情報生成処理部５３は、未処理アドレスがあるか否かを判定する。肯定的な判定結果、つまり未処理アドレスがある場合は、ステップＳ３３に戻る。そして、未処理アドレスがなくなるまで、ステップＳ３３からステップＳ３６までの処理が繰り返される。そして、ステップＳ３６で否定的な判定結果が得られると、一連の処理を終了する。
【０１０７】
図７の係数記憶部５５には、撮影情報（ズーム量や絞り値など）毎に、解像力劣化を補正するための係数が記憶されている。ここでいう解像度劣化とは、歪曲収差以外の収差や、回折による絞りボケや光学ローパスフィルタに起因するものをいう。なお、係数は、後述する学習方法によって求められる。
【０１０８】
＜係数補間処理部５６による処理＞
図７の係数補間処理部５６は、図６の光学系４１からズームレンズのズーム量や絞り値などの撮影情報が供給されると、現在のズーム量又は絞り値に対応する位置別係数を生成して、位置別係数記憶部５７に供給する。
【０１０９】
図１１は、係数補間処理部５６の処理を説明するフローチャートである。
ステップＳ４１では、係数補間処理部５６は、光学系４１から供給された撮影情報（例えば、ズームレンズのズーム情報やＦ値、交換レンズに対応した複数の係数値）を参照して、図７の係数記憶部５５から、現在の撮影情報の近傍の値に対応する複数の係数を読み出す。そして、ステップＳ４２に進む。
【０１１０】
ステップＳ４２では、係数補間処理部５６は、ステップＳ４１で読み出された複数の係数を、線形補間またはラグランジュ補間などの補間方法を用いて補間して、補完済みの係数（位置別係数）を図７の位置別係数記憶部５７に供給する。そして、ステップＳ４３に進む。
【０１１１】
ステップＳ４３では、係数補間処理部５６は、まだ処理していないコード（未処理コード）があるか否かを判定し、肯定的な判定結果の場合は、未処理コードを選択する。そして、ステップＳ４１に戻る。否定的な判定結果の場合は、ステップＳ４４へ進む。つまり、未処理コードがなくなるまで、ステップＳ４１からステップＳ４３までの処理が繰り返される。
【０１１２】
ステップＳ４４では、係数補間処理部５６は、未処理位置があるか否かを判定して、肯定的な判定結果の場合は、未処理位置を選択する。そして、ステップＳ４１に進む。否定的な判定結果の場合は、一連の処理を終了する。つまり、未処理位置がなくなるまで、ステップＳ４１からステップＳ４４までの処理が繰り返される。
【０１１３】
以上のように、現在の撮影条件に応じて、歪曲収差補正位置情報記憶部５４に歪曲収差補正位置情報が書き込まれ、位置別係数記憶部５７に位置別係数が書き込まれる。そして、画像変換装置５０による第１の画像から第２の画像に変換する画像変換処理の準備が完了する。
【０１１４】
＜画像変換装置５０による画像変換処理＞
画像変換装置５０は、光学系４１から撮影情報が供給され、信号処理部４４から信号処理済みの画像（第１の画像）が供給されると、次の処理を行う。
【０１１５】
注目画素選択部５１は、第２の画像を構成する画素を、順次注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。なお、第２の画像は、これら生成しようとする画像であって、第１の画像から収差の影響が除去された画像である。
【０１１６】
歪曲収差補正位置情報記憶部５４は、注目画素選択部５１より供給される注目画素を表すアドレス（ｘ，ｙ）に基づいて、前述の処理によって記憶された歪曲収差補正位置情報（ｘ’，ｙ’）を読み出す。歪曲収差補正位置情報記憶部５４は、歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下を四捨五入する。
【０１１７】
歪曲収差補正位置情報記憶部５４は、歪曲収差補正位置情報（ｘ’，ｙ’）を四捨五入した情報である整数位置情報をフレーム記憶部５８に供給する。歪曲収差補正位置情報記憶部５４は、その整数位置情報の下位数ビットをアドレス整列部５９に供給する。歪曲収差補正位置情報記憶部５４は、歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下の情報を第１収差補正部６０に供給する。
【０１１８】
フレーム記憶部５８は、歪曲収差補正位置情報記憶部５４より供給された整数位置情報に従って、第１の画像の各画素の画素値をラスタースキャン順に読み出すことにより、画素単位で歪曲収差補正された第１の画像を出力する。さらに、フレーム記憶部５８は、図１２Ｂに示すように、その整数位置情報の画素近傍の４画素以上の画素値を読み出す。フレーム記憶部５８は、読み出した画素値を位置情報整列部５９に供給する。
【０１１９】
歪曲収差の影響を受けた第１の画像（図８Ｂ）には、歪曲収差のない第２の画像（図８Ａ）に比べて、伸びた部分と縮小した部分が生じている。ジャギーが出ないように綺麗に第２の画像から第１の画像へ変換するためには、図１２Ａに示すように、歪曲収差のある第１の画像の画素に対してタップを張る（複数の周辺画素とリンクする）必要がある。
【０１２０】
一方、フレーム記憶部５８に記憶された第１の画像から整数位置情報に従って各画素の画素値をラスタースキャン順に読み出すと、伸びた部分に相当する画素の画素値が読み飛ばされ、必要な画素値が読み出されない場合がある。その理由は、伸びた部分については、第１の画像（図８Ｂ）より第２の画像（図８Ａ）の方が、情報密度が高いためである。
【０１２１】
そこで、フレーム記憶部５８は、歪曲収差補正位置情報記憶部５４より整数位置情報が供給されると、図１２Ｂに示すように、第１の画像から、当該整数位置情報及びその近傍にある例えば４画素以上の各画素の画素値を読み出して、読み出した画素値を位置情報整列部５９に供給する。これにより、必要な画素値が読み出されない問題が回避される。
【０１２２】
整数位置情報の近傍の画素数は、伸縮率ｒ’／ｒが１以下の場合は１画素、伸縮率ｒ’／ｒが１を超えて２以下の場合は水平方向及び垂直方向にそれぞれ２画素ずつの合計４画素、伸縮率ｒ’／ｒが２を超える場合は４画素以上である。
【０１２３】
位置情報整列部５９は、フレーム記憶部５８からラスタースキャン順に供給される画素値（第１の画像）と、歪曲収差補正位置情報記憶部５４から供給される下位位置情報（整数位置情報の下位数ビット）とに基づいて、図１２Ａにおける注目画素の近傍画素がわかるように、位置情報による整列処理を行う。
【０１２４】
図１３は、位置情報整列部５９の処理を示す概念図である。位置情報整列部５９は、バッファメモリ又はレジスタ等の記憶媒体を有し、フレーム記憶部５８から順次供給される画素値と、画素値にリンクすると共に歪曲収差補正位置情報記憶部５４から供給される下位位置情報と、を記憶する。そして、注目画素の近傍の位置情報が選択されると、位置情報整列部５９から、注目画素近傍の画素値がタップ情報として読み出される。このタップ情報は、第１収差補正処理部６０に供給される。
【０１２５】
第１収差補正処理部６０は、図１４に示す画像変換装置７０を有する。画像変換装置７０は、入力される第１の画像に対して、第１収差補正として位相シフト補正を行い、第１収差補正済みの第３の画像を出力する。第３の画像は、第２収差補正処理部６１に供給される。
【０１２６】
第２収差補正処理部６１は、図２６に示す画像変換装置１１０を有する。画像変換装置１１０は、入力される第３の画像に対して、第２収差補正として主に先鋭感改善のための収差補正処理を行い、第２収差補正済みの第２の画像を出力する。
【０１２７】
＜画像変換装置７０の構成例＞
画像変換装置７０は、入力画像の微小な収差補正処理、具体的には、入力画像に発生しうるジャギーやリンギングを抑制しつつ入力画像に対して位相シフト補正を行うコード分類型適応フィルタである。
【０１２８】
図１４に示すように、画像変換装置７０は、注目画素選択部７１、コードタップ選択部７２、フィルタタップ選択部７３、コード演算部７４、係数記憶部７５、及び積和演算部７６を有する。
画像変換装置７０に供給された入力画像（第１の画像）は、コードタップ選択部７２及びフィルタタップ選択部７３に供給される。なお、入力画像は、例えば、ＲＧＢの各色成分の画素値である。
【０１２９】
注目画素選択部７１は、画像変換装置７０の出力画像である第３の画像を構成するそれぞれ画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
フィルタタップ選択部７２は、例えば、図１のフィルタタップ選択部１２と同様に、注目画素の位置から近い位置にある第１の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部７６に供給する。
【０１３０】
コードタップ選択部７３は、例えば、図１のフィルタタップ選択部１３と同様に、注目画素の位置から近い位置にある第１の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部７４に供給する。
コード演算部７４は、コードタップ選択部７３からのコードタップに基づいて、例えばＤＲ量子化による量子化値、中心画素値からの差分比等を演算して、コードタップの特徴量を示すコードに分類し、当該コードを係数記憶部７５に供給する。
【０１３１】
係数記憶部７５は、コード毎にタップ係数を記憶している。なお、タップ係数は、後述する学習によって求められたものである。
係数記憶部７５は、コード演算部７４からコードが供給され、図７に示す歪曲収差補正位置情報記憶部５４から位相情報（歪曲収差補正位置情報の小数点以下の情報）が供給されると、供給されたコードに対応し、かつ、供給された位相情報の近傍の複数のタップ係数を読み出す。読み出された複数のタップ係数は、積和演算部７６に供給される。
【０１３２】
本実施の形態では、係数記憶部７５には、例えば図１５に示すように、コード毎に、原点（注目画素の位置）に対して、白丸印または黒丸印に示す水平方向及び垂直方向に、それぞれ｛−２／４、−１／４、０、＋１／４、＋２／４｝の１／４位相ずつ５つ分の位相をシフトさせる合計２５個のタップ係数が記憶されている。例えば、右から１番目で上から１番目の丸印は、原点に対して、水平方向に＋２／４位相、垂直方向に＋２／４位相シフトさせるタップ係数を表す。右から２番目で上から４番目の丸印は、原点に対して、水平方向に＋１／４位相、垂直方向に−１／４位相シフトさせるタップ係数を表す。
【０１３３】
そして、係数記憶部７５にコードが供給されると、供給されたコードに対応する２５個のタップ係数が特定される。次に、係数記憶部７５に位相情報が供給されると、２５個のタップ係数の中から、当該位相情報を中心とする１６個のタップ係数が選択される。例えば図１５に示すように、Ｐ点の画素値を生成する場合には、供給された位相情報を中心として水平方向及び垂直方向に１／４位相ずつ位相をシフトさせるもので、水平方向及び垂直方向にそれぞれ４個の合計１６個のタップ係数（黒丸印）が選択される。選択されたタップ係数は、積和演算部７６に供給される。
【０１３４】
図１６に示すように、積和演算部７６は、１６個の積和演算器９１〜１０６を備えている。積和演算器９１〜１０６の数は、補間演算部７７の補間処理で必要とする画素数に対応していればよく、１６個に限定されるものではない。
積和演算器９１〜１０６には、フィルタタップ（例えば後述する図１７に示す１３画素の各画素値）が入力される。さらに、積和演算器９１〜１０６には、図１５に示す１６個のタップ係数がそれぞれ入力される。本実施の形態では、選択されたタップ係数の数は、積和演算器の数と同じであるが、積和演算器の数と異なる数であってもよい。
【０１３５】
積和演算器９１は、係数群１（例えば図１５の１６個の黒丸印のうちの左から１番目で上から１番目の黒丸印に対応するタップ係数）とフィルタタップ（例えば前述の１３画素の各画素値）とを用いて積和演算を行い、画素値１を出力する。
積和演算器９２は、係数群２（例えば図１５の１６個の黒丸印のうちの左から１番目で上から２番目の黒丸印に対応するタップ係数）とフィルタタップ（例えば前述した１３画素の各画素値）とを用いて積和演算を行い、画素値２を出力する。
同様に、積和演算器９３，９４は、係数群３、４（例えば図１５の１６個の黒丸印のうちの左から１番目で上から３番目及び４番目の黒丸印にそれぞれ対応するタップ係数）とフィルタタップ（例えば１３画素の画素値）とを用いて積和演算を行い、画素値３，４を出力する。
【０１３６】
積和演算器９５〜９８は、係数群５〜８（例えば図１５の１６個の黒丸印のうちの左から２番目で上から１〜４番目の黒丸印にそれぞれ対応するタップ係数）と、フィルタタップ（例えば前述した１３画素の各画素値）と、を用いて積和演算を行い、画素値５〜８を出力する。積和演算器９９〜１０２は、係数群９〜１２（例えば図１５の１６個の黒丸印のうちの左から３番目で上から１〜４番目の黒丸印にそれぞれ対応するタップ係数）と、フィルタタップ（例えば前述した１３画素の各画素値）と、を用いて積和演算を行い、画素値９〜１２を出力する。
【０１３７】
積和演算器１０３〜１０６は、係数群１３〜１６（例えば図１５の１６個の黒丸印のうちの右から１番目で上から１〜４番目の黒丸印にそれぞれ対応するタップ係数）と、フィルタタップ（例えば前述した１３画素の各画素値）と、を用いて積和演算を行い、画素値１３〜１６を出力する。
以上のように、積和演算部７６は、注目画素の画素値について、係数記憶部７５より供給された複数のタップ係数（係数群１〜１６）をそれぞれの積和演算器９１〜１０６に供給して、複数の画素値１〜１６を得て、これら複数の画素値１〜１６を補間演算部７７に供給する。
【０１３８】
補間演算部７７は、積和演算部７６より供給された複数の画素値１〜１６に対して、歪曲収差補正位置情報記憶部５４から供給された位相情報を用いて、線形補間またはラグランジュ補間等の補間方法で１／４位相よりも更に細かな精度の補間処理して、注目画素の画素値を演算して、補間処理により得られた第３の画像を出力する。
【０１３９】
なお、演算量が増えるが、積和演算部７６と補間演算部７７は入れ替え可能である。つまり、補間演算部７７は、係数記憶部７５より供給された複数分のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部７６は、補間されたタップ係数を用いて積和演算すればよい。
【０１４０】
＜画像変換装置７０のフィルタタップの構成例＞
図１７は、図１４のフィルタタップ選択部７２で選択されるフィルタタップの構成例を示す図である。
【０１４１】
細線の丸印は、入力画像の画素（入力画素）を表すと共に、出力画像の画素（出力画素）も表す。ドット柄の丸印は、入力画素に対して、画素位置の位相差が生じた出力画素を示す。つまり、出力画素は、入力画素から位相をシフトさせた位置に存在する。
したがって、入力画像である第１の画像は、歪曲収差補正位置情報記憶部５４からの位相情報に基づいて、位相シフトした第３の画像に変換される。
【０１４２】
黒塗りの丸印は、注目画素、つまり出力画素を表す。太線の丸印は、フィルタタップとなる入力画素を表す。黒塗りの丸印と太線の丸印が重なっている理由は、注目画素に対応する位置にある入力画素は、フィルタタップの１つとなるからである。
【０１４３】
注目画素に対するフィルタタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。
【０１４４】
＜画像変換装置７０のコードタップの構成例＞
図１８は、図１４のコードタップ選択部７３で選択されるコードタップの構成例を示す図である。太線の丸印は、コードタップとなる入力画素を表す。その他の丸印は、図１７と同じである。
【０１４５】
注目画素に対するコードタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。なお、本実施の形態では、フィルタタップとコードタップは、図１７及び図１８に示すように同一のパターンであってもよいし、異なるパターンであってもよい。
【０１４６】
＜コード演算部７４の構成例＞
図１９は、コード演算部７４の構成例を示すブロック図である。
コード演算部７４は、量子化演算部８１、中心画素差分比検出部８２、及び変換テーブル記憶部８３を有する。
【０１４７】
量子化演算部８１は、コードタップ選択部７３から供給されるコードタップを構成する入力画素の画素値を、例えば、１ビットのＤＲ量子化を用いて量子化し、各入力画素の量子化値を所定の順番で並べ、並べられた量子化値を量子化コードとして変換テーブル記憶部８３に供給する。
【０１４８】
図２０は、１ビットＤＲ量子化の例を説明する図である。横軸は、コードタップを構成する入力画素の順番（又は位置）を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
【０１４９】
１ビットＤＲ量子化では、コードタップを構成する入力画素の画素値の中の最大画素値Ｍａｘから最小画素値Ｍｉｎが減算され、単純ダイナミックレンジＤＲが求められる。単純ダイナミックレンジＤＲを２等分するレベルが、閾値として設定される。コードタップを構成する各入力画素の画素値が、設定された閾値に基づいて２値化され、１ビットの量子化値に変換される。各画素の量子化値が所定の順に配列されたものが、量子化コードとなる。
例えば、図１８に示すコードタップの場合、コードタップを構成する１３画素が１ビットＤＲ量子化処理の対象となる。その結果、入力されたコードタップの特徴量を表す１３ビットのＤＲ量子化コードが得られる。
【０１５０】
中心画素差分比検出部８２は、コードタップ選択部７３から供給されるコードタップを構成する入力画素の画素値から後述する方法でコードを得て、図１４の係数記憶部７５に供給する。
【０１５１】
図２１は、中心画素差分比検出部８２で行われる中心画素差分比を説明する図である。横軸は、コードタップを構成する入力画素の位置を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
【０１５２】
中心画素差分比検出部８２は、次の処理を行う。
最初に、中心画素差分比検出部８２は、画素位置（横軸）方向において、注目画素（中心画素）が中心となる所定の範囲を範囲１として設定し、注目画素が中心となり、かつ、範囲１を包含する広い範囲を範囲２として設定する。
【０１５３】
次に、中心画素差分比検出部８２は、範囲１において、各画素の画素値と注目画素の画素値との差分が最大となる差分最大値を演算する。中心画素差分比検出部８２は、範囲２において、各画素の画素値と注目画素の画素値との差分が最大となる差分最大値を演算する。
【０１５４】
そして、中心画素差分比検出部８２は、２つの差分最大値の比が所定値以上の場合はコード“１”を出力し、その比が所定値未満の場合はコード“０”を出力する。この結果、１ビットのコードが得られる。なお、２つの差分最大値の比と比較される複数の異なる所定値を用意して、より細かいコード分類を行うことも可能である。
【０１５５】
以上のように、中心画素差分比検出部８２は、注目画素（中心画素）を中心とした狭範囲と広範囲のそれぞれの画素差分の比に応じて、コードタップをコード“０”又は“１”に分類する。コード“０”は、注目画素（中心画素）と遠距離タップの画素相関が高くてリンギングが発生しない状態を示す。コード“１”は、注目画素（中心画素）と遠距離タップの画素相関が低くてリンギングが発生するおそれがある状態を示す。中心画素差分比検出部８２で得られたコードは、図１４の係数記憶部７５に供給される。
【０１５６】
変換テーブル記憶部８３は、量子化演算部８１で得られた量子化コードをアドレス（新たなコード）に変換するための変換テーブルを予め記憶している。変換テーブル記憶部８３は、量子化演算部８１から量子化コードが供給されると、変換テーブルを参照して、供給された量子化コードを当該量子化コードに対応する新たなコードに変換し、変換されたコードを図１４の係数記憶部７５に供給する。
【０１５７】
なお、係数記憶部７５の記憶容量が十分大きい場合、図２２Ａに示すように、変換テーブル記憶部８３は不要である。この場合は、量子化演算部８１及び中心画素差分比検出部８２で得られた各コードは、そのまま係数記憶部７５に供給される。
【０１５８】
変換テーブル記憶部８３は、図２２Ｂに示すように、発生頻度が閾値より低いコードを代表的な所定のアドレス（新たなコード）に変換してもよい。また、変換テーブル記憶部８３は、変換済みの異なる新たなコードからそれぞれ近似するタップ係数が生成される場合は、変換済みの異なる新たなコードを同一のコードに（異なる新たなコードをいずれか１つのコードに統一）してもよい。これにより、係数記憶部７５の記憶容量が少なく済む。
【０１５９】
変換テーブル記憶部８３に記憶されている変換テーブルは、積和演算器毎に用意されているが、これに限定されるものではない。例えば、図２２Ｃに示すように、所定の複数の積和演算器に複数の同一又は近似する値のタップ係数が供給される場合には、所定の複数の積和演算器に共通する変換テーブルを用意してもよい。つまり、複数の変換テーブルを１つにまとめることができる。
【０１６０】
＜画像変換装置７０による画像変換処理＞
図２３は、図１４の画像変換装置７０による画像変換処理の例を説明するフローチャートである。
ステップＳ５１では、注目画素選択部７１は、画像変換装置７０に入力される入力画像に対する出力画像を構成する画素のうち、まだ注目されていない画素の１つを注目画素として選択する。そして、ステップＳ５２に進む。例えば、注目画素選択部７１は、例えば、出力画像を構成する画素のうち注目画素として選択されていない画素を、ラスタースキャン順で注目画素として選択する。
【０１６１】
ステップＳ５２では、コードタップ選択部７２は、入力画像から、注目画素についてのコードタップを構成する画素を選択する。フィルタタップ選択部７３は、入力画像から、注目画素についてのフィルタタップを構成する画素を選択する。コードタップはコード演算部７４に供給され、フィルタタップは積和演算部７６に供給される。そして、ステップＳ５３に進む。
【０１６２】
ステップＳ５３では、コード演算部７４は、コードタップ選択部７２から供給される注目画素についてのコードタップに基づいて、注目画素をコード演算する。コード演算部７４は、そのコード演算により得られた注目画素のコードを係数記憶部７５に供給する。そして、ステップＳ５４に進む。
【０１６３】
ステップＳ５４では、係数記憶部７５は、コード演算部７４から供給されるコードに対応するアドレスに記憶されているタップ係数であって、図７の歪曲収差補正位置情報記憶部５４から供給される位相情報に対応した近傍の複数のタップ係数を選択して出力する。積和演算部７６が、係数記憶部７５から複数のタップ係数を取得する。そして、ステップＳ５５に進む。
【０１６４】
ステップＳ５５では、積和演算部７６が、フィルタタップ選択部７２により選択されたフィルタタップと、係数記憶部７５から取得した複数のタップ係数とを用いて、所定の複数の積和演算を行う。これにより、積和演算部７６は、複数の画素値を求めて出力する。そして、ステップＳ５６に進む。
【０１６５】
ステップＳ５６では、補間演算部７７が、積和演算部７６が出力する複数の画素値と、光学系４１から供給された位相情報に基づいて、線形補間またはラグランジュ補間等の補間方法で補間する。これにより、注目画素の画素値がと求められる。そして、ステップＳ５７に進む。
【０１６６】
ステップＳ５７では、注目画素選択部７１が、出力画像の中にまだ注目画素と選択されていない画素があるか否かを判定する。肯定的な判定結果の場合は、ステップＳ５１に戻る。そして、再びステップＳ５１以降の処理が実行される。否定的な判定結果の場合は、この一連の処理が終了する。
【０１６７】
＜タップ係数の求め方＞
図１４に示す係数記憶部７５に記憶されるタップ係数は、図３に示す学習装置２０により求められる。
具体的には、図３に示す学習用画像記憶部２１には、学習用画像として高画質画像が記憶される。
【０１６８】
教師データ生成部２２は、学習用画像記憶部２１に記憶された学習用画像をフィルタリングすること等により、後述する生徒データ（生徒画像）に対して複数の位相を変化させ、位相をシフトさせた教師データ（教師画像）を生成する。教師データ生成部２２は、生成された教師データを教師データ記憶部２３に供給する。
【０１６９】
生徒データ生成部２４は、学習用画像記憶部２１に記憶された学習用画像をフィルタリングすること等により、生徒データ（生徒画像）を生成する。生徒データ生成部２４は、生成された生徒データを生徒データ記憶部５５に供給する。
【０１７０】
学習部２６は、教師データ記憶部２３から教師データを読み出し、生徒データ記憶部２５から生徒データを読み出す。学習部２６は、読み出した教師データと生徒データとを用いて、コード毎、位相毎に、式（８）の正規方程式を立式して解くことにより、コード毎・位相毎のタップ係数を導出する。
【０１７１】
以上のように、注目画素（中心画素）を中心とした狭範囲と広範囲のそれぞれの画素差分の比に応じて、コードが分類される。この結果、注目画素（中心画素）と遠距離タップの画素相関が高くてリンギングが発生しない場合には、高域を強調するタップ係数が得られる。一方、注目画素（中心画素）と遠距離タップの画素相関が低くてリンギングが発生するおそれがある場合には、リンギングを抑制するタップ係数が得られる。
【０１７２】
図１４の画像変換装置７０は、上記のタップ係数を用いることで、ジャギーやリンギングが生じることによる画質劣化を防止しつつ、先鋭感を落とさずに歪曲収差を補正した画像を出力することができる。
【０１７３】
＜第２収差補正処理部６１の画像変換装置１１０の構成例＞
図７の第２収差補正処理部６１は、図２４に示す画像変換装置１１０を有する。画像変換装置１１０は、コード分類型適応フィルタを利用して、第１収差補正処理部６０により歪曲収差が補正された第３の画像に対して、主に先鋭感改善のための収差補正処理を行う。なお、画像変換装置１１０は、先鋭感改善だけでなく、収差に起因するあらゆる画像の劣化を改善させるための収差補正を行う。
【０１７４】
画像変換装置１１０に供給された入力画像（第３の画像）は、コードタップ選択部１１２とフィルタタップ選択部１１３に供給される。
注目画素選択部７１は、画像変換装置１１０の出力画像である第２の画像を構成するそれぞれ画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
【０１７５】
フィルタタップ選択部１１２は、例えば、図１のフィルタタップ選択部１２と同様に、注目画素の位置から近い位置にある第３の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部１１６に供給する。
コードタップ選択部７３は、例えば、図１のフィルタタップ選択部１３と同様に、注目画素の位置から近い位置にある第３の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部７４に供給する。
【０１７６】
コード演算部１１４は、コードタップ選択部１１３からのコードタップに基づいて、例えばＤＲ量子化による量子化値、中心画素値からの差分比等を演算して、注目画素をコードに分類し、当該コードを係数記憶部１１５に供給する。
係数記憶部１１５は、図７の係数補間処理部５６で求めた複数のタップ係数であって、図２８に示すように注目画素選択部１１１からの位置情報を分割した位置情報（ブロック情報）によって読み出されたコード毎にタップ係数を記憶している。
【０１７７】
係数記憶部１１５は、記憶しているタップ係数のうち、コード演算部１１４から供給されるコードに対応するアドレスに記憶されているタップ係数であって、注目画素選択部１１１から供給されるブロック情報に対応した近傍の複数のタップ係数を選択し、読み出す。読み出された複数のタップ係数は、積和演算部１１６に供給される。例えば、図２８に示すように、注目画素Ｐについて処理する場合には、３次のラグランジュ補間に必要な図２８の太線部のように水平・垂直の４つずつの計１６のブロックの係数を選択して供給する。
【０１７８】
図１６に示すように、積和演算部１１６は、補間演算部１１７で補間に必要とする画素分の複数（本実施の形態では１６個）の積和演算器９１〜１０６を備えている。
積和演算部１１６は、係数記憶部１１５より供給された複数のタップ係数を、それぞれの積和演算器９１〜１０６に供給することで複数の画素値１〜１６を演算し、補間演算部１１７に供給する。
【０１７９】
補間演算部１１７は、積和演算部１１６より供給された複数の画素値１〜１６を、注目画素選択部１１１から供給された位置情報を用いて、線形補間またはラグランジュ補間等の補間方法で補間して、出力画像（第２の画像）として出力する。
【０１８０】
なお、演算量が増えるが、積和演算部１１６と補間演算部１１７は入れ替え可能である。つまり、補間演算部１１６は、係数記憶部１１７より供給された複数のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部１１６は、補間されたタップ係数を用いて積和演算すればよい。
【０１８１】
＜画像変換装置１１０のフィルタタップの構成例＞
図２５は、図２４のフィルタタップ選択部１１２で選択されるフィルタタップの構成例を示す図である。
細線の丸印は、入力画素を表すと共に、出力画素も表す。出力画素は、図１７と異なり、入力画素と同じ位置に変換される。
【０１８２】
黒塗りの丸印は、注目画素、つまり出力画素を表す。太線の丸印は、フィルタタップとなる入力画素を表す。黒塗りの丸印と太線の丸印が重なっている理由は、注目画素に対応する位置にある入力画素は、フィルタタップの１つとなるからである。
【０１８３】
注目画素に対するフィルタタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。
【０１８４】
＜画像変換装置１１０におけるコードタップの構成例＞
図２６は、図２４のコードタップ選択部１１３で選択されるコードタップの構成例を示す図である。太線の丸印は、コードタップとなる入力画素を表す。その他の丸印は、図２５と同じである。
【０１８５】
注目画素に対するコードタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。なお、本実施の形態では、フィルタタップとコードタップは、図２５及び図２６に示すように同一のパターンであってもよいし、異なるパターンであってもよい。
【０１８６】
＜コード演算部１１４の構成例＞
図２７は、コード演算部１１４の構成例を示すブロック図である。
コード演算部１１４は、量子化演算部１２１、及び変換テーブル記憶部１２２を有する。
【０１８７】
量子化演算部１２１は、コードタップ選択部１１３から供給されるコードタップを構成する入力画素の画素値を、例えば、上述した１ビットＤＲ量子化を用いて量子化し、各入力画素の量子化値を所定の順番で並べて、並べられた量子化値を量子化コードとして変換テーブル記憶部１２２に供給する。
例えば、図２６に示すコードタップの場合、コードタップを構成する９画素が１ビットＤＲ量子化処理の対象となる。その結果、入力されたコードタップの特徴量を表す９ビットのＤＲ量子化コードが得られる。
【０１８８】
変換テーブル記憶部１２２は、量子化演算部１２１で得られた量子化コードをアドレス（新たなコード）に変換するための変換テーブルを予め記憶している。変換テーブル記憶部１２２は、量子化演算部１２１から量子化コードが供給されると、変換テーブルを参照して、供給された量子化コードを当該量子化コードに対応する新たなコードに変換し、変換されたコードを図２４の係数記憶部１１５に供給する。
【０１８９】
なお、係数記憶部１１５の記憶容量が十分大きい場合、図２２Ａに示すように変換テーブル記憶部１２２は不要である。この場合は、量子化演算部１２１で得られた量子化コードは、そのまま係数記憶部１１５に供給される。
【０１９０】
変換テーブル記憶部１２２は、図２２Ｂに示すように発生頻度が閾値より低いコードを代表的な所定のアドレス（新たなコード）に変換してもよい。また、変換テーブル記憶部１２２は、変換済みの異なる新たなコードからそれぞれ近似するタップ係数が生成される場合は、変換済みの異なる新たなコードを同一のコードに（異なる新たなコードをいずれか１つのコードに統一）してもよい。これにより、係数記憶部１１５の記憶容量が少なく済む。
【０１９１】
変換テーブル記憶部８３に記憶されている変換テーブルは、積和演算器毎に用意されているが、これに限定されるものではない。例えば、図２２Ｃに示すように、所定の複数の積和演算器に複数の同一又は近似する値のタップ係数が供給される場合には、所定の複数の積和演算器に共通する変換テーブルを用意してもよい。つまり、複数の変換テーブルを１つにまとめることができる。
【０１９２】
＜画像変換装置１１０による画像変換処理＞
図２９は、図２４の画像変換装置１１０による画像変換処理の例を説明するフローチャートである。
【０１９３】
ステップＳ７１では、注目画素選択部１１１は、画像変換装置１１０に入力される入力画像に対する出力画像を構成する画素のうち、まだ、注目されていない画素の１つを注目画素として選択する。そして、ステップＳ７２に進む。例えば、注目画素選択部１１１は、例えば、出力画像を構成する画素のうち注目画素として選択されていない画素を、ラスタースキャン順で注目画素として選択する。
【０１９４】
ステップＳ７２では、コードタップ選択部１１２は、入力画像から、注目画素についてのコードタップを構成する画素を選択する。フィルタタップ選択部１１３は、入力画像から、注目画素についてのフィルタタップを構成する画素を選択する。コードタップはコード演算部１１４に供給され、フィルタタップは積和演算部１１６に供給される。そして、ステップＳ７３に進む。
【０１９５】
ステップＳ７３では、コード演算部１１４は、コードタップ選択部１１２から供給される注目画素についてのコードタップに基づいて、注目画素をコード演算する。コード演算部１１４は、そのコード演算により得られた注目画素のコードを係数記憶部１１５に供給する。そして、ステップＳ７４に進む。
【０１９６】
ステップＳ７４では、係数記憶部１１５は、注目画素選択から供給される位置情報（ブロック情報）毎に係数を記憶している。
係数記憶部１１５は、記憶しているタップ係数のうち、コード演算部１１４から供給されるコードに対応するアドレスに記憶されているタップ係数であって、注目画素選択部１１１から供給されるブロック情報に対応した近傍の複数のタップ係数を選択し、読み出す。積和演算部１１６は、係数記憶部１１５から出力された複数のタップ係数を取得する。そして、ステップＳ７５に進む。
【０１９７】
ステップＳ７５では、積和演算部１１６が、フィルタタップ選択部１１２により選択されたフィルタタップと、係数記憶部１１５から取得した複数のタップ係数とを用いて、所定の複数の積和演算を行う。これにより、積和演算部１１６は、複数の画素値を求めて出力する。そして、ステップＳ７６に進む。
【０１９８】
ステップＳ７６では、補間演算部１１７が、積和演算部１１６が出力する複数の画素値と、光学系４１から供給された位相情報とに基づいて、線形補間またはラグランジュ補間等の補間方法で補間する。これにより、注目画素の画素値が求められる。そして、ステップＳ７７に進む。
【０１９９】
ステップＳ５７では、注目画素選択部１１１が、出力画像の中にまだ注目画素と選択されていない画素があるか否かを判定する。肯定的な判定結果の場合は、ステップＳ５１に戻る。そして、再びステップＳ５１以降の処理が実行される。否定的な判定結果の場合は、この一連の処理が終了する。
【０２００】
＜タップ係数の求め方＞
図２４に示す係数記憶部１１５に記憶されるタップ係数は、図３に示す学習装置２０により求められる。
具体的には、図３に示す学習用画像記憶部２１には、学習用画像として先鋭感の高い高画質画像が記憶される。
【０２０１】
教師データ生成部２２は、学習用画像記憶部２１に記憶された学習用画像を、そのまま教師データ（教師画像）として教師データ記憶部２３に供給する。
生徒データ生成部２４は、学習用画像記憶部２１から学習用画像を読み出し、読み出した学習用画像に対して、図６の光学系４１の設計データに基づく光学シミュレーションデータや歪曲収差補正データ等を用いて、画質を劣化させた生徒データ（生徒画像）を生成する。生徒データ生成部２４は、生成された生徒データを生徒データ記憶部２５に供給する。
【０２０２】
学習部２６は、教師データ記憶部２３から教師データを読み出し、生徒データ記憶部２５から生徒データを読み出す。学習部２６は、読み出した教師データと生徒データとを用いて、コード毎、位置毎に、式（８）の正規方程式を立式して解くことにより、コード毎・位置毎のタップ係数を導出する。
【０２０３】
以上のように、学習装置２０は、画像（レンズ）の位置情報に応じてコードを分類して学習することにより、あらゆる収差を補正するタップ係数を求めることができる。
【０２０４】
図２４の画像変換装置１１０は、上記のタップ係数を用いることで、歪曲収差を除く収差、例えば、球面収差、コマ収差、批点収差、像面湾曲、倍率色収差などによって画質の劣化した画像を補正しつつ、周辺減光や先鋭感を落とさない均質な出力画像を得ることができる。
【０２０５】
＜画像変換装置５０による画像変換処理＞
図３０は、図７の画像変換装置５０による画像変換処理の例を説明するフォローチャートである。
ステップＳ９１では、画像変換装置５０は、図６の光学系４１から、撮像レンズのズーム値や絞りのＦ値等の撮影情報を取得する。そして、ステップＳ９２に進む。
【０２０６】
ステップＳ９２では、図７の歪曲収差補正位置情報生成処理部５３は、ステップＳ９１で入力されたズーム値等の撮影情報に基づいて、収差補正テーブル記憶部５２から、所定のズーム値等の撮影情報近傍の収差補正テーブルを読み出す。歪曲収差補正位置情報生成処理部５３は、前述した図１０に示すフローチャートに従って、歪曲収差補正位置情報を小数点以下まで生成する。生成された歪曲収差補正位置情報は、歪曲収差補正位置情報記憶部５４に記憶される。
【０２０７】
係数補間処理部５６は、係数記憶部５５から、ステップＳ９１で入力されたズーム値及びＦ値等の撮影情報近傍の係数情報を読み出し、前述した図１１のフローチャートに従って、所定のズーム値及びＦ値の位置別係数を生成する。生成された位置別係数は、位置別係数記憶部５７に記憶される。
【０２０８】
ステップＳ９３では、図７のフレーム記憶部５８に第１の画像が書き込まれる。そして、ステップＳ９４に進む。
【０２０９】
ステップＳ９４では、注目画素選択部５１は、フレーム記憶部５８に記憶された第１の画像に対する第２の画像を構成する画素のうち、まだ注目されていない画素の１つを注目画素として選択する。すなわち、注目画素選択部５１は、例えば、第２の画像を構成する画素のうち、ラスタースキャン順で、まだ注目画素とされていない画素を注目画素として選択する。そして、ステップＳ９５に進む。
【０２１０】
ステップＳ９５では、歪曲収差補正位置情報記憶部５４は、注目画素選択部５１より供給される注目画素を表すアドレス（ｘ，ｙ）に基づいて、記憶されている歪曲収差補正位置情報（ｘ’，ｙ’）を読み出す。歪曲収差補正位置情報記憶部５４は、読み出した歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下を四捨五入する。
【０２１１】
歪曲収差補正位置情報記憶部５４は、歪曲収差補正位置情報（ｘ’，ｙ’）を四捨五入した情報である整数位置情報をフレーム記憶部５８に供給する。歪曲収差補正位置情報記憶部５４は、その整数位置情報の下位数ビットをアドレス整列部５９に供給する。歪曲収差補正位置情報記憶部５４は、歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下の情報を第１収差補正部６０に供給する。そして、ステップＳ９６に進む。
【０２１２】
ステップＳ９６では、フレーム記憶部５８は、歪曲収差補正位置情報記憶部５４より供給された整数位置情報に従って、第１の画像の各画素の画素値を例えばラスタースキャン順に読み出すことにより、画素単位で歪曲収差補正された第１の画像を出力する。
さらに、フレーム記憶部５８は、図１２Ｂに示すように、その整数位置情報の画素近傍の４画素以上の画素値を読み出す。フレーム記憶部５８は、画素値を位置情報整列部５９に供給する。そして、ステップＳ９７に進む。
【０２１３】
ステップＳ９７では、位置情報整列部５９は、フレーム記憶部５８からラスタースキャン順に供給された画素値を、歪曲収差補正位置情報記憶部５４から供給された下位位置情報（下位数ビットの位置情報）に従って整列処理する。これにより、位置情報整列部５９は、図１２Ａにおける注目画素の近傍画素がわかり、注目画素近傍のタップ情報（画素値）を第１の画像として、第１収差補正処理部６０に供給する。そして、ステップＳ９８に進む。
【０２１４】
ステップＳ９８では、第１収差補正部６０は、位置情報整列部５９から供給される注目画素近傍のタップ情報と、歪曲収差補正位置情報記憶部５４から供給される小数点以下の位置情報と、に基づいて、歪曲収差の補正処理を行って、第３の画像を出力する。第３の画像は第２収差補正部６１に供給される。そして、ステップＳ９９に進む。
【０２１５】
ステップＳ９９では、第２収差補正部６１は、注目画素選択部５１から供給される注目画素情報と、位置別係数記憶部５７から供給される位置別係数と、を用いて、第１収差補正部６０より供給される第３の画像に対して、歪曲収差以外の収差補正を行って、第２の画像を出力する。そして、ステップＳ１００に進む。
【０２１６】
ステップＳ１００では、注目画素選択部５１が、まだ注目画素と選択されていない出力画像があるか否かを判定する。肯定的な判定結果の場合は、ステップＳ９４に戻り、ステップＳ９４以降の処理が繰り返される。否定的な判定結果の場合は、一連の処理が終了する。
【０２１７】
＜第１収差補正処理部６０の他の構成例＞
第１収差補正処理部６０は、図１４に示す画像変換装置７０に代えて、図３１に示す画像変換装置１５０を有する構成であってもよい。
画像変換装置１５０には、入力画像（第１の画像）として、例えばＲＧＢの各色成分の画素値が入力される。画像変換装置１５０は、入力画像の微小な歪曲収差を補正し、かつ、画像に発生しうるジャギーやリンギングを抑制した出力画像を得る。画像変換装置１５０は、入力画像の微小な歪曲収差補正として、入力画像を歪曲収差が改善された画像に変換する画像処理、サイン関数による補間処理、三角波フィルタによる補間処理（線形補間処理）等を行う。
【０２１８】
画像変換装置１５０は、サイン関数による水平、垂直の補間処理を行い、以下のような画像信号Ｖｃの画像を求める。
ここで、画像信号Ｖａの画素間隔をΔｔ、画像信号Ｖａの画素位置ｎΔｔの画素データをｘ（ｎΔｔ）、画像信号Ｖｃの画素位置をｔとする。画素位置ｔの画素データｘ（ｔ）は、以下の式（１５）により、画素位置ｔの前後に位置する画像信号ＶａのＮ個（適当な有限の数）の画素の画素値を用いて求められる。
【０２１９】
【数１１】
2017158690.tif 000013
【０２２０】
画像変換装置１５０は、図３１に示すように注目画素選択部１５１、垂直補間部１５２、及び水平補間部１５３を有する。画像変換装置１５０に供給された入力画像は、垂直補間部１５２に供給される。
注目画素選択部１５１は、出力画像を構成する画素を、順次注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
【０２２１】
垂直補間部１５２は、注目画素に対して、入力画像の画素値を用いて垂直補間処理を行い、垂直補間済みの画像を水平補間部１５３に供給する。水平補間部１５３は、注目画素に対して、垂直補間部１５２から供給された画像を用いて水平補間処理を行い、水平補間済みの画像を出力画像（第３の画像）として出力する。
【０２２２】
［第２の実施の形態］
つぎに、本発明の第２の実施の形態について説明する。
第１の実施の形態に係るディジタルカメラ４０は、光学系の設計情報を用いて収差のない静止画又は動画を撮影する。但し、他社製の交換レンズを利用しようとすると、光学系の設計情報が手に入らないため、第１の実施の形態に係るディジタルカメラ４０が利用できなくなる。
【０２２３】
これに対して、第２の実施の形態に係るディジタルカメラは、他社製の交換レンズを利用する場合などの光学系の設計情報が手に入らない場合であっても、静止画又は動画を撮影することができる。
【０２２４】
第２の実施の形態に係るディジタルカメラは、第１の実施の形態とほぼ同様に構成されている。但し、図６に示す画像補正部４５は、図７に示す画像変換装置５０に代えて、図３２に示す画像変換装置１６０を有している。なお、画像変換装置１６０は、単独で、画像編集などの幾何学変換にも利用可能である。
【０２２５】
図３２は、画像変換装置１６０の構成例を示すブロック図である。以下では、説明した部位と同一の部位には同一の符号を付し、重複する説明は省略する。
画像変換装置１６０は、図７に示す画像変換装置５０と同様に、注目画素選択部５１、歪曲収差テーブル記憶部５２、歪曲収差補正位置情報生成処理部５３、フレーム記憶部５８、位置情報整列部５９、及び第１収差補正処理部６０を有する。
【０２２６】
画像変換装置１６０は、図７に示す画像変換装置５０から係数記憶部５５、係数補間処理部５６、及び、位置別係数記憶部５７を除外しており、更に、歪曲収差補正位置情報記憶部５４及び第２収差補正処理部６１に代えて、歪曲収差補正位置情報記憶部１６１及び第２収差補正処理部１６２を有する。
【０２２７】
歪曲収差補正位置情報記憶部１６１は、注目画素選択部５１より供給される注目画素を表すアドレス（ｘ，ｙ）に基づいて、前述の処理によって記憶された歪曲収差補正位置情報（ｘ’，ｙ’）を読み出す。歪曲収差補正位置情報記憶部１６１は、歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下を四捨五入する。
【０２２８】
歪曲収差補正位置情報記憶部１６１は、歪曲収差補正位置情報（ｘ’，ｙ’）を四捨五入した情報である整数位置情報をフレーム記憶部５８に供給する。歪曲収差補正位置情報記憶部１６１は、その整数位置情報の下位数ビットをアドレス整列部５９に供給する。歪曲収差補正位置情報記憶部１６１は、歪曲収差補正位置情報（ｘ’，ｙ’）の小数点以下の情報を第１収差補正部６０に供給する。さらに、歪曲収差補正位置情報記憶部１６１は、隣接画素との距離（Δｘ，Δｙ）を第２収差補正処理部１６２に、それぞれ供給する。
【０２２９】
＜画像変換装置１７０の構成例＞
第２収差補正処理部１６２は、図３３の画像変換装置１７０を有する。画像変換装置１７０は、主に先鋭感改善のための収差補正処理を行う。
画像変換装置１７０は、図２４の画像変換装置１１０と同様に、注目画素選択部１１１、コードタップ選択部１１２、フィルタタップ選択部１１３、コード演算部１１４、及び積和演算部１１６を有する。
【０２３０】
但し、画像変換装置１７０は、図２４の画像変換装置１１０に対して、係数記憶部１１５及び補間演算部１１７に代えて、係数記憶部１７１及び補間演算部１７２を有する。
【０２３１】
係数記憶部１７１は、後述する学習方法で求められた複数のタップ係数を記憶している。係数記憶部１７１は、図３２の歪曲収差補正位置情報記憶部１６１から供給される隣接画素との距離情報（Δｘ，Δｙ）と、コード演算部１１４から供給されるコードと、に基づいて、そのコードに対応するアドレスに記憶され、かつ、距離情報（Δｘ，Δｙ）に近傍の複数の係数を選択する。そして、係数記憶部１７１は、選択された複数の係数を読み出して、積和演算部１１６に供給する。
【０２３２】
積和演算部１１６は、補間演算部１７２で補間に必要とする画素分の複数の積和演算器を備えている。積和演算部１１６は、係数記憶部１７１より供給された複数のタップ係数をそれぞれの積和演算器に供給することで複数の画素値を演算し、演算された画素値を補間演算部１７２に供給する。
【０２３３】
補間演算部１７２は、積和演算部１１６より供給された複数の画素値に対して、図３２の歪曲収差補正位置情報記憶部１６１から供給される隣接画素との距離情報（Δｘ，Δｙ）を用いて、線形補間またはラグランジュ補間等の補間方法で補間して、出力画像（第２の画像）を得る。
【０２３４】
なお、演算量が増えるが、積和演算部１１６と補間演算部１７２は入れ替え可能である。つまり、補間演算部１１６は、係数記憶部１７２より供給された複数のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部１１６は、補間されたタップ係数を用いて積和演算すればよい。
以上のように構成された画像変換装置１７０は、図２９に示すフローチャートと同様にして、画像変換処理を行うことができる。
【０２３５】
＜タップ係数の求め方＞
図３３に示す係数記憶部１７１に記憶されるタップ係数は、図３に示す学習装置２０により求められる。
具体的には、図３に示す学習用画像記憶部２１には、学習用画像として先鋭感の高い高画質画像が記憶される。
【０２３６】
教師データ生成部２２は、学習用画像記憶部２１に記憶された学習用画像を、そのまま教師データ（教師画像）として教師データ記憶部２３に供給する。
生徒データ生成部２４は、学習用画像記憶部２１から学習用画像を読み出し、読み出した学習用画像に対してローパスフィルタ等でフィルタリングすることにより、教師データよりも先鋭感が低い生徒データ（生徒画像）を生成する。生徒データ生成部２４は、生成された生徒データを生徒データ記憶部２５に供給する。
【０２３７】
学習部２６は、教師データ記憶部２３から教師データを読み出し、生徒データ記憶部２５から生徒データを読み出す。学習部２６は、読み出した教師データと生徒データとを用いて、コード毎、水平・垂直のローパスフィルタの係数毎に、式（８）の正規方程式を立式して解くことにより、コード毎、水平・垂直のローパスフィルタの係数毎のタップ係数を導出できる。
【０２３８】
＜画像変換装置１６０による画像変換処理＞
図３４は、図３２の画像変換装置１６０による画像変換処理の例を説明するフォローチャートである。なお、ステップＳ１２１からステップＳ１２６までの処理は、図３０に示すステップＳ９１からステップＳ９６までの処理と比較すると、Ｆ値の取得（ステップＳ９１）、位置別係数の生成（ステップＳ９２）を除き、同様に行われる。そこで、ステップＳ１２７以降の処理について説明する。
【０２３９】
ステップＳ１２７では、位置情報整列部５９は、ステップＳ９７と同様の処理を行って、注目画素近傍のタップ情報（画素値）を第１の画像として第１収差補正処理部６０に供給する。さらに、位置情報整列部５９は、隣接画素との距離情報（Δｘ，Δｙ）を第２収差補正処理部１６２に供給する。そして、ステップＳ１２８に進む。
【０２４０】
ステップＳ１２８では、第１収差補正部６０は、ステップＳ９７と同様の処理を行って、歪曲収差の補正処理を行って、第３の画像を出力する。そして、ステップＳ９９に進む。
【０２４１】
ステップＳ１２９では、第２収差補正部１６２は、注目画素選択部５１から供給される注目画素情報と、歪曲収差補正位置情報記憶部１６１から供給される隣接画素との距離情報（Δｘ，Δｙ）と、を用いて、前述したように、第１収差補正部６０より供給される第３の画像に対して、歪曲収差以外の収差補正（例えば先鋭感の改善処理等）を行って第２の画像を出力する。そして、ステップＳ１３０に進む。
【０２４２】
ステップＳ１３０では、注目画素選択部５１が、まだ注目画素と選択されていない出力画像があるか否かを判定する。肯定的な判定結果の場合は、ステップＳ１２４に戻り、ステップＳ１２４以降の処理が繰り返される。否定的な判定結果の場合は、一連の処理が終了する。
【０２４３】
［本発明の他の構成例］
本発明は、前述した実施の形態に限定されるものではなく、請求の範囲に記載された事項の範囲内において種々の変更が可能である。
本発明は、１つの機能を、ネットワークを介して、複数の装置で分担、共同して処理するクラウドコンピューティングにも適用可能である。
【０２４４】
例えば、前述した実施の形態のように１つの装置が前述のフローチャートで説明した各ステップを実行してもよいし、複数の装置が各ステップを分担して実行してもよい。さらに、１つのステップが複数の処理で構成されている場合、１つの装置が複数の処理を実行してもよいし、複数の装置がそれぞれの処理を分担して実行してもよい。
【０２４５】
また、前述した実施の形態では、画像処理の対象が、ＲＧＢの３色の色成分の画素値となっているが、本発明はこれに限定されるものではない。例えば、ホワイトやイエロー等を加えた４色以上の色成分の画素値、ＣＭＹＫの色成分の画素値、輝度信号の画素値なども対象となる。
本発明は、ディジタルカメラ、いわゆるスマートフォン、監視カメラ、内視鏡、顕微鏡、シネマカメラなどの撮像装置、画像を編集するアプリケーション等にも適用可能である。
【０２４６】
＜システムカメラの一実施の形態＞
放送局用カメラ、内視鏡、及び顕微鏡などは、リアルタイムで長時間の撮影することが多いため、カメラヘッドと画像処理装置に分かれているケースが多い。カメラヘッドと画像処理装置に分かれているシステムを、システムカメラという。本発明は、このようなシステムカメラにも適用可能である。
【０２４７】
＜レンズ交換式ディジタルカメラの一実施の形態＞
高級一眼ディジタルカメラ及び業務用カメラなどのレンズ交換式ディジタルカメラで撮影された画像は、信号処理装置で編集されることが多い。この場合、レンズ交換式ディジタルカメラは、撮影した画像や撮影情報などのデータを、メモリカードに記録する。信号処理装置は、メモリカードに記録された画像や撮影情報などのデータを読み込んで、画像を編集する。本発明は、この信号処理装置にも適用可能である。
【０２４８】
なお、レンズ交換式ディジタルカメラから信号処理装置に画像等を供給する手段は、メモリカードに限らず、磁気ディスク、光ディスク、または、ネットワークや各種ケーブル、無線などの通信手段でもよい。
【０２４９】
＜コンピュータの一実施の形態＞
本発明は、ハードウェアにもソフトウェアにも適用可能である。例えば、図６に示す画像補正部４５は、ハードウェアで構成されたものでもよいし、前述した一連の処理を実行できるプログラムがインストールされたコンピュータ（プロセッサ）で構成されたものでもよい。
【符号の説明】
【０２５０】
１０  画像変換装置、  １１  注目画素選択部、  １２  フィルタタップ選択部、  １３  コードタップ選択部、  １４  コード演算部、  １５  係数記憶部、  １６  積和演算部、  ２０  学習装置、  ２１  学習用画像記憶部、  ２２  教師データ生成部、  ２３  教師データ記憶部、  ２４  生徒データ生成部、  ２５  生徒データ記憶部、  ２６  学習部、  ３１  注目画素選択部、  ３２  フィルタタップ選択部、  ３３  コードタップ選択部、  ３４  コード演算部、  ３５  足し込み部、  ３６  タップ係数演算部、  ４１  光学系、  ４２  イメージセンサ、  ４３  記憶部、  ４４  信号処理部、  ４５  画像補正部、  ４６  出力部、  ４７  制御部、  ５０  画像変換装置、  ５１  注目画素選択部、  ５２  歪曲収差テーブル記憶部、  ５３  歪曲収差補正位置情報生成処理部、  ５４  歪曲収差補正位置情報記憶部、  ５５  係数記憶部、  ５６  係数補間処理部、  ５７  位置別係数記憶部、  ５８  フレーム記憶部、  ５９  位置情報整列部、  ６０  第１収差補正処理部、  ６１  第２収差補正処理部、  ７０  画像変換装置、  ７１  注目画素選択部、  ７２  フィルタタップ選択部、  ７３  コードタップ選択部、  ７４  コード演算部、  ７５  係数記憶部、  ７６  積和演算部、  ７７  補間演算部、  ８１  量子化演算部、  ８２  中心画素差分比検出部、  ８３  変換テーブル記憶部、 ９１〜１０６  積和演算器、１１０  画像変換装置、  １１１  注目画素選択部、  １１２  フィルタタップ選択部、  １１３  コードタップ選択部、  １１４  コード演算部、  １１５  係数記憶部、  １１６  積和演算部、  １１７  補間演算部、  １２１  量子化演算部、  １２２  変換テーブル記憶部、  １６０  画像変換装置、  １６１  歪曲収差補正位置情報記憶部、  １６２  第２収差補正処理部、  １７０  画像変換装置、  １７１  係数記憶部、  １７２  補間演算部
【図１】
2017158690.tif 000014
【図２】
2017158690.tif 000015
【図３】
2017158690.tif 000016
【図４】
2017158690.tif 000017
【図５】
2017158690.tif 000018
【図６】
2017158690.tif 000019
【図７】
2017158690.tif 000020
【図８Ａ】
2017158690.tif 000021
【図８Ｂ】
2017158690.tif 000022
【図９】
2017158690.tif 000023
【図１０】
2017158690.tif 000024
【図１１】
2017158690.tif 000025
【図１２Ａ】
2017158690.tif 000026
【図１２Ｂ】
2017158690.tif 000027
【図１３】
2017158690.tif 000028
【図１４】
2017158690.tif 000029
【図１５】
2017158690.tif 000030
【図１６】
2017158690.tif 000031
【図１７】
2017158690.tif 000032
【図１８】
2017158690.tif 000033
【図１９】
2017158690.tif 000034
【図２０】
2017158690.tif 000035
【図２１】
2017158690.tif 000036
【図２２Ａ】
2017158690.tif 000037
【図２２Ｂ】
2017158690.tif 000038
【図２２Ｃ】
2017158690.tif 000039
【図２３】
2017158690.tif 000040
【図２４】
2017158690.tif 000041
【図２５】
2017158690.tif 000042
【図２６】
2017158690.tif 000043
【図２７】
2017158690.tif 000044
【図２８】
2017158690.tif 000045
【図２９】
2017158690.tif 000046
【図３０】
2017158690.tif 000047
【図３１】
2017158690.tif 000048
【図３２】
2017158690.tif 000049
【図３３】
2017158690.tif 000050
【図３４】
2017158690.tif 000051
【手続補正書】
【提出日】平成28年9月8日(2016.9.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、
前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第１のコード演算部と、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数のタップ係数を出力する第１の係数記憶部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、
前記第２の選択部により選択された複数画素の各画素値と、前記第１の係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する第１の画素値演算部と、
を有する第２の収差補正部と、
を備える画像処理装置。
【請求項２】
第１の収差補正部は、
前記画像記憶部から読み出された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第３の選択部と、
前記第３の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第２のコード演算部と、
コード毎に歪曲収差による位相ずれを補正するためのタップ係数を記憶し、前記第２のコード演算部により演算されたコードと、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づく複数のタップ係数を出力する第２の係数記憶部と、
前記画像記憶部から読み出された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第４の選択部と、
前記第４の選択部により選択された複数画素の各画素値と、前記第２の係数記憶部から出力された複数のタップ係数と、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差による位相ずれを補正する第２の画素値演算部と、
を有する請求項１に記載の画像処理装置。
【請求項３】
前記第１の係数記憶部は、前記光学系の設計情報による光学シミュレーションを用いた学習により求められたものであって、画像の先鋭感を改善するための複数のタップ係数を記憶し、
前記第１の画素値演算部は、前記第１の係数記憶部から出力された複数のタップ係数を用いて前記注目画素の画素値を演算することで、前記第１の画像から先鋭感の改善された前記第２の画像を生成する
請求項１に記載の画像処理装置。
【請求項４】
前記第１のコード演算部は、
前記第１の選択部により選択された複数画素の各画素値を量子化して量子化コードを演算する第１の量子化コード演算部と、
複数の量子化コードと前記第１の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第１の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第１の量子化コード演算部により演算された量子化コードを、前記第１の変換テーブルに基づいて、対応するコードに変換する第１の変換テーブル記憶部と、
を有する請求項１に記載の画像処理装置。
【請求項５】
前記第２のコード演算部は、
前記第３の選択部により選択された複数画素の各画素値を量子化して量子化コードを演算する第２の量子化コード演算部と、
複数の量子化コードと前記第２の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第２の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第２の量子化コード演算部により演算された量子化コードを、前記第２の変換テーブルに基づいて、対応するコードに変換する第２の変換テーブル記憶部と、
を有する請求項２に記載の画像処理装置。
【請求項６】
前記第１の画素値演算部は、
前記第２の選択部により選択された複数画素の各画素値と、前記第１の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第１の積和演算器と、
前記複数の第１の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第１の補間演算部と、
を有する請求項１に記載の画像処理装置。
【請求項７】
前記第２の画素値演算部は、
前記第４の選択部により選択された複数画素の各画素値と、前記第２の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第２の積和演算器と、
前記複数の第２の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第２の補間演算部と、
を有する請求項２に記載の画像処理装置。
【請求項８】
前記位置情報生成部により生成された所定フレームの前記第１の画像の各画素の位置情報を記憶する位置情報記憶部を更に備え、
前記第１の収差補正部は、前記所定フレーム以降のフレームについて、前記位置情報記憶部に記憶された各画素の位置情報の小数点以下の情報を用いて、歪曲収差による位相ずれを補正する
請求項１に記載の画像処理装置。
【請求項９】
撮影情報毎に用意された複数の前記歪曲収差テーブルを記憶する歪曲収差テーブル記憶部を更に備え、
前記位置情報生成部は、前記歪曲収差テーブル記憶部から、入力された撮影情報に近似する撮影情報に対応する複数の歪曲収差テーブルを読み出し、読み出された複数の歪曲収差テーブルを用いて前記入力された撮影情報に対応する歪曲収差テーブルを補間して、補間された歪曲収差テーブルを用いて、前記第１の画像の画素の位置情報を生成する
請求項１に記載の画像処理装置。
【請求項１０】
前記第２の収差補正部は、
撮影情報毎に用意された複数のタップ係数を記憶する前記第２の係数記憶部から、入力された撮影情報に近似する撮影情報に対応する複数のタップ係数を読み出し、読み出された複数のタップ係数を用いて前記入力された撮影情報に対応する複数のタップ係数を補間するタップ係数補間部を更に備え、
前記第２の画素値演算部は、前記タップ係数補間部で補間された複数のタップ係数を用いて、前記注目画素の画素値を演算する
請求項１に記載の画像処理装置。
【請求項１１】
光学系の収差の影響を受けた第１の画像の各画素の位置情報と前記収差の影響が除去された第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成ステップと、
前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第１の画像を記憶する画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正ステップと、
前記第１の収差補正ステップにより補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択ステップと、
前記第１の選択ステップにより選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算ステップと、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶する係数記憶部から、前記コード演算ステップにより演算されたコードに基づいて複数のタップ係数を出力する係数出力ステップと、
前記第１の収差補正ステップにより補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択ステップと、
前記第２の選択ステップにより選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算ステップと、
を有する第２の収差補正ステップと、
を備える画像処理方法。
【請求項１２】
コンピュータを、
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、
前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、
前記第２の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算部と、
を有する第２の収差補正部と、
して機能させるためのプログラムが記録された記録媒体。
【請求項１３】
コンピュータを、
光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、
前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、
前記第２の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算部と、
を有する第２の収差補正部と、
して機能させるためのプログラム。
【請求項１４】
光学系を介して入射される撮像光に応じて第１の画像を生成する撮像素子と、
前記撮像素子で生成された第１の画像を記憶する画像記憶部と、
前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、
前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、
前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、
コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、
前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、
前記第２の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算部と、
有する第２の収差補正部と、
を備える撮像装置。
【手続補正書】
【提出日】平成28年10月3日(2016.10.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の第１の態様は、光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第１のコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数のタップ係数を出力する第１の係数記憶部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、前記第２の選択部により選択された複数画素の各画素値と、前記第１の係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する第１の画素値演算部と、を有する第２の収差補正部と、を備える。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の第２の態様は、光学系の収差の影響を受けた第１の画像の各画素の位置情報と前記収差の影響が除去された第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成ステップと、前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第１の画像を記憶する画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正ステップと、前記第１の収差補正ステップにより補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択ステップと、前記第１の選択ステップにより選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算ステップと、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶する係数記憶部から、前記コード演算ステップにより演算されたコードに基づいて複数のタップ係数を出力する係数出力ステップと、前記第１の収差補正ステップにより補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択ステップと、前記第２の選択ステップにより選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算ステップと、を有する第２の収差補正ステップと、を備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の第３の態様は、コンピュータを、光学系の収差の影響を受けた第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、前記第２の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算部と、を有する第２の収差補正部と、して機能させるためのプログラムが記録された記録媒体である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の第４の態様は、光学系を介して入射される撮像光に応じて第１の画像を生成する撮像素子と、前記撮像素子で生成された第１の画像を記憶する画像記憶部と、前記収差の影響が除去された第２の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第１の画像の各画素の位置情報と前記第２の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第２の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第１の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第１の画像の各画素に対して、歪曲収差による位相ずれを補正する第１の収差補正部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第１の選択部と、前記第１の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、前記第１の収差補正部により補正された前記第１の画像から、前記走査された注目画素に基づいて、前記第１の画像の特定パターンの複数画素を選択する第２の選択部と、前記第２の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第１の画像の各画素に対して歪曲収差以外の収差を補正して前記第２の画像を生成する画素値演算部と、を有する第２の収差補正部と、を備える。
【国際調査報告】
2017158690.tif 000052
2017158690.tif 000053
2017158690.tif 000054
2017158690.tif 000055