JPWO2017158690A1 - 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置 - Google Patents

画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置 Download PDF

Info

Publication number
JPWO2017158690A1
JPWO2017158690A1 JP2016560837A JP2016560837A JPWO2017158690A1 JP WO2017158690 A1 JPWO2017158690 A1 JP WO2017158690A1 JP 2016560837 A JP2016560837 A JP 2016560837A JP 2016560837 A JP2016560837 A JP 2016560837A JP WO2017158690 A1 JPWO2017158690 A1 JP WO2017158690A1
Authority
JP
Japan
Prior art keywords
image
pixel
unit
position information
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016560837A
Other languages
English (en)
Other versions
JP6164564B1 (ja
Inventor
奥村 明弘
明弘 奥村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realop
Original Assignee
Realop
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realop filed Critical Realop
Application granted granted Critical
Publication of JP6164564B1 publication Critical patent/JP6164564B1/ja
Publication of JPWO2017158690A1 publication Critical patent/JPWO2017158690A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0025Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for optical correction, e.g. distorsion, aberration
    • G02B27/0037Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for optical correction, e.g. distorsion, aberration with diffracting elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Studio Devices (AREA)

Abstract

画像処理装置は、光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の整数情報に基づいて、前記画像記憶部から前記第1の画像を読み出すことにより、1画素単位で歪曲収差補正が行われた第1の画像を出力する画像出力部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像出力部から出力された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、を備える。

Description

本発明は、画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置に関する。
近年、例えばビデオカメラ、電子スチルカメラ、いわゆるスマートフォン、セキュリティーカメラ、内視鏡、顕微鏡などの電子カメラの用途に、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサやCCD(Charge Coupled Device)イメージセンサなどの固体撮像素子を用いた固体撮像装置が幅広く使用されている。
固体撮像装置では、被写体からの光が撮像光学系を介して固体撮像素子に入射されるので、理想的な結像からのずれ、つまり収差が生じる。このため、固体撮像装置の出力画像が、画像中心部からの距離に応じて、歪む、ぼける、暗くなるなどの画質劣化の度合いが大きくなるという問題がある。
このような問題に対して、特許文献1には、撮影レンズの歪曲収差情報に基づき、撮影レンズの画面上の中心から任意の像高を基準として、近似式を用いて画像の歪曲量を補正する技術が開示されている。
特許文献2には、歪曲収差補正の際に画像に発生しうるジャギーを抑制する技術が開示されている。
特許文献3には、解像度変換を行う際の画質劣化を未然に防止する技術が開示されている。
特許文献4及び特許文献5には、レンズ収差に起因する像の歪みを補正するための補正量を精度良く求める技術が開示されている。
特開平4−348343号公報 特開平6−165024号公報 特開2005−311473号公報 特開平7−193790号公報 特開2000−4391号公報
本発明は、従来技術の問題を解決するものである。
本発明の第1の態様は、光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、を備える。
本発明の第2の態様は、光学系の収差の影響を受けた第1の画像の各画素の位置情報と前記収差の影響が除去された第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成ステップと、前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第1の画像を記憶する画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正ステップと、前記第1の収差補正ステップで補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正ステップと、を備える。
本発明の第3の態様は、コンピュータを、光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、して機能させるためのプログラムが記録された記録媒体である。
本発明の第4の態様は、光学系を介して入射される撮像光に応じて第1の画像を生成する撮像素子と、前記撮像素子で生成された第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、を備える。
本発明は、光学系の影響を受けて画質の劣化した画像を高精度に補正することができる。
コード分類型適応フィルタによる画像変換処理を行う画像変換装置の構成例を示すブロック図である。 画像変換装置による画像変換処理を説明するフローチャートである。 学習装置の構成例を示すブロック図である。 学習部の構成例を示すブロック図である。 学習装置による処理(学習処理)を説明するフローチャートである。 本技術を適用したディジタルカメラの一実施の形態に係る構成例を示すブロック図である。 画像補正部で行われる収差補正処理を行う画像変換装置の構成例を示すブロック図である。 撮像装置による歪曲収差の性質を示す概念図である。 撮像装置による歪曲収差の性質を示す概念図である。 ディストーションの一例を示す図である。 歪曲収差補正位置情報生成処理部の処理を説明するフローチャートである。 係数補間処理部の処理を説明するフローチャートである。 歪曲収差のある第1の画像の近傍にタップの張り方や画素の読み出し方を示す概念図である。 歪曲収差のある第1の画像の近傍にタップの張り方や画素の読み出し方を示す概念図である。 位置情報整列部の処理を示す概念図である。 第1収差補正処理部での微小な収差補正を行う画像変換装置の構成例を示すブロック図である。 位相情報から位相シフト量を学習したタップ係数の選択方法を示す概念図である。 積和演算部の構成例を示す図である。 フィルタタップ選択部で選択されるフィルタタップの構成例を示す図である。 コードタップ選択部で選択されるコードタップの構成例を示す図である。 コード演算部の構成例を示すブロック図である。 量子化演算部で行われる1ビットDR量子化の例を説明する図である。 中心画素差分比検出部で行われる中心画素差分比を説明する図である。 9ビットにコード分類された量子化コードとタップ係数の関係を示す図である。 9ビットにコード分類された量子化コード、変換テーブル及びタップ係数の関係を示す図である。 9ビットにコード分類された量子化コード、共通変換テーブル及びタップ係数の関係を示す図である。 画像変換装置よる画像変換処理の例を説明するフローチャートである。 第2収差補正処理部での主に先鋭感改善のための収差補正処理を行う画像変換装置の構成例を示すブロック図である。 フィルタタップ選択部で選択されるフィルタップの構成例を示す図である。 コードタップ選択部で選択されるコードタップの構成例を示す図である。 コード演算部の構成例を示すブロック図である。 注目画素選択部からの位置情報を分割した位置情報を示す概念図である。 画像変換装置による画像変換処理の例を説明するフローチャートである。 画像変換装置による画像変換処理の例を説明するフォローチャートである。 第1収差補正処理部での微小な収差補正を行う画像変換装置の他の構成例を示すブロック図である。 画像補正部で行われる収差補正処理を行う画像変換装置の他の構成例を示すブロック図である。 第2収差補正処理部での主に先鋭感改善のための収差補正処理を行う画像変換装置の構成例を示すブロック図である。 画像変換装置による画像変換処理の例を説明するフローチャートである。
以下、本発明の実施の形態について説明する。最初に、コード分類型適応フィルタについて説明する。
[コード分類型適応フィルタ]
コード分類型適応フィルタは、第1の画像を第2の画像に変換する画像変換処理であり、第1及び第2の画像の定義に応じて様々な信号処理を行う。
例えば、第1の画像が低解像度画像であり、第2の画像が高解像度画像の場合、コード分類型適応フィルタは、解像度を向上させる超解像処理を行う。
第1の画像が低S/N(Signal/Noise)画像であり、第2の画像が高S/N画像の場合、コード分類型適応フィルタは、ノイズ除去処理を行う。
第2の画像が第1の画像よりも画素数が多い又は少ない場合、コード分類型適応フィルタは、画像のリサイズ(拡大又は縮小)処理を行う。
第1の画像がガウシアンモデル等でぼけた画像であり、第2の画像がぼけていない画像の場合、コード分類型適応フィルタは、ぼけ除去処理を行う。
第1の画像が位相をシフトさせた画像であり、第2の画像が位相をシフトさせていない画像の場合、コード分類型適応フィルタは、位相シフト処理を行う。
コード分類型適応フィルタは、コードのタップ係数と、第2の画像のうちの注目している注目画素に対して選択される第1の画像の画素の画素値と、を用いて、注目画素の画素値を演算する。なお、コードのタップ数は、第2の画像の注目画素の画素値を複数のコードのうちの何れかのコードにコード分類することによって求められる。
図1は、コード分類型適応フィルタによる画像変換処理を行う画像変換装置10の構成例を示すブロック図である。
画像変換装置10には、第1の画像が供給される。第1の画像は、コードタップ選択部12及びフィルタタップ選択部13に供給される。
注目画素選択部11は、第2の画像を構成するそれぞれの画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
フィルタタップ選択部12は、注目画素の画素値をフィルタ演算で求めるために、第1の画像を構成する複数の画素の画素値を、フィルタタップとして選択する。具体的には、フィルタタップ選択部12は、注目画素の位置から近い位置にある第1の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部16へ供給する。
コードタップ選択部13は、注目画素を幾つかのコードのうちの何れかにコード分類するために、注目画素の位置から近い位置にある第1の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部14へ供給する。
なお、フィルタタップとコードタップのタップ構造(選択される画素の構造)は、同一のタップ構造であっても良いし、異なるタップ構造であっても良い。
コード演算部14は、コードタップ選択部13からのコードタップに基づき、所定の規則に従って、注目画素をコード分類し、注目画素のコードに対応するコードを係数記憶部15に供給する。
コード分類を行う方法は、例えば、コードタップとしての画素値を量子化するDR(Dynamic Range)量子化方法などがある。DR量子化方法は、コードタップを構成する画素の画素値を量子化して、その結果得られるDR量子化コードにしたがって注目画素のコードを決定する。
NビットDR量子化方法においては、例えば、最初にコードタップを構成する画素の画素値の最大値MAXと最小値MINが検出される。次に、ダイナミックレンジDR(=最大値MAX−最小値MIN)が、コードタップを構成する画素の集合の局所的なダイナミックレンジに設定される。そして、このダイナミックレンジDRに基づいて、コードタップを構成する各画素の画素値がNビットに量子化される。
つまり、コードタップを構成する各画素の画素値から最小値MINが減算され、その減算値がDR/2で除算(量子化)される。
以上のようなコードタップを構成するNビットの各画素の画素値が所定の順番で並べられ、並べられたビット列がDR量子化コードとして出力される。
コードタップが例えば1ビットDR量子化処理された場合、そのコードタップを構成する各画素の画素値は、最大値MAXと最小値MINとの平均値で除算される(整数演算)。これにより、各画素の画素値が1ビットになる(2値化)。そして、その1ビットの画素値を所定の順番で並べたビット列が、DR量子化コードとして出力される。DR量子化のみでコード分類が行われる場合、例えば、DR量子化コードが、コード演算部14で演算されるコードとなる。
なお、コード演算部14は、例えば、コードタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力することも可能である。ここで、コードタップがM個の画素の画素値で構成され、各画素の画素値にAビットが割り当てられている場合、コード演算部14が出力するコードの数が(2通りとなる。つまり、コードの数は、画素の画素値のビット数Aに対して指数関数的に比例した膨大な数となる。したがって、コード演算部14は、コードタップの情報量を前述のDR量子化やあるいはベクトル量子化等によって圧縮することにより、コード分類を行うのが好ましい。
係数記憶部15は、後述する学習によって求められたコード毎にタップ係数を記憶している。係数記憶部15は、コード演算部14からコードが供給されると、そのコードに対応するアドレスに記憶されているタップ係数を出力して、このタップ係数を積和演算部16に供給する。ここで、タップ係数とは、ディジタルフィルタにおける、いわゆるタップにおいて入力データに対して乗算される係数をいう。
積和演算部16は、フィルタタップ選択部12が出力するフィルタタップと、係数記憶部15が出力するタップ係数と、を用いて、注目画素の画素値の予測値を求めるための積和演算を行う。つまり、積和演算部16は、注目画素の画素値、すなわち、第2の画像を構成する画素の画素値を求める。
図2は、画像変換装置10による画像変換処理を説明するフローチャートである。
ステップS11では、注目画素選択部11は、画像変換装置10に入力された第1の画像に対する第2の画像を構成する画素のうち、まだ注目されていない(変換処理されていない)画素の1つを注目画素として選択する。注目画素選択部11は、例えば、第2の画像を構成する各画素に対して、ラスタースキャン順に、まだ注目されていない画素から注目画素を選択する。そして、ステップS12へ進む。
ステップS12では、コードタップ選択部12は、画像変換装置10に入力された第1の画像の各画素から、注目画素についてのコードタップを構成する画素を選択し、選択したコードタップをコード演算部14に供給する。フィルタタップ選択部13は、画像変換装置10に入力された第1の画像の各画素から、注目画素についてのフィルタタップを構成する画素を選択し、選択したフィルタタップを積和演算部16に供給する。そして、ステップS13へ進む。
ステップS13では、コード演算部14は、コードタップ選択部12供給された注目画素についてのコードタップに基づき、注目画素をコード演算する。さらに、コード演算部14は、そのコード演算の結果得られる注目画素のコードを係数記憶部15に供給する。そして、ステップS14に進む。
ステップS14では、係数記憶部15は、コード演算部14から供給されるコードに対応するアドレスに記憶されているタップ係数を取得して出力する。積和演算部16は、係数記憶部15から出力されたタップ係数を取得する。そして、ステップS15に進む。
ステップS15では、積和演算部16は、フィルタタップ選択部12から出力されたフィルタタップと、係数記憶部15から取得したタップ係数とを用いて、所定の積和演算を行うことで注目画素の画素値を求める。そして、ステップS16へ進む。
ステップS16では、注目画素選択部11は、第2の画像の各画素の中に、まだ注目画素として選択されていない画素があるか否かを判定する。肯定的な判定結果の場合、つまり、注目画素として選択されていない画素がある場合は、ステップS11に戻り、再びステップS11以降の処理が行われる。否定的な判定結果の場合、つまり、注目画素として選択されていない画素がない場合は、第2の画像のすべての画素について画素値が求められたので、処理を終了する。
<タップ係数の求め方>
次に、積和演算部16の積和演算と、係数記憶部15に記憶されるタップ係数の学習について説明する。ここでは、第2の画像が高画質画像であり、第1の画像がその高画質画像にLPF(Low Pass Filter)処理を施して画質(解像度)を低下させた低画質画像であるものとする。
積和演算部16は、例えば、線形1次予測演算を行う。このとき、高画質画像の画素値yは、次の式(1)の線形一次式によって求められる。
Figure 2017158690
式(1)において、xは、高画質画像の画素yについてのフィルタタップを構成するn番目の低画質画像の画素(低画質画素)の画素値を表す。wは、n番目の低画質画素の画素値xに乗算されるn番目のタップ係数を表す。また、式(1)では、フィルタタップは、N個の低画質画素x、x、・・・、xで構成される。
ここで、高画質画素の画素値yは、式(1)に示した線形一次式ではなく、2次以上の高次の式によっても求められる。
第kサンプル(k番目)の高画質画素の画素値の真値をyと表し、式(1)によって得られるその真値yの予測値をy’と表す。予測値y’の真値yに対する予測誤差eは、式(2)で表される。
Figure 2017158690
式(2)の予測値y’は、式(1)にしたがって求められる。式(2)のy’を式(1)にしたがって置き換えると、式(3)が得られる。
Figure 2017158690
式(3)において、xn,kは、第kサンプルの高画質画素yについてのフィルタタップを構成するn番目の低画質画素を表す。
式(3)(又は式(2))の予測誤差eを0とするタップ係数wが、高画質画素yを予測するために最適なタップ係数となる。しかし、すべての高画質画素yについて最適なタップ係数wを求めることは、一般的に困難である。
そこで、タップ係数wが最適な値であることを表す規範として、例えば、最小自乗法を採用する。この場合、最適なタップ係数wは、式(4)で表される自乗誤差の総和Eを最小にすることで求められる。
Figure 2017158690
式(4)において、Kは、高画質画素yと、その高画質画素yについてのフィルタタップを構成する低画質画素x1,k、x2,k、・・・、xn,kと、がセットになったサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wで編微分した結果を0とするwによって求められる。
Figure 2017158690
そこで、前述の式(3)をタップ係数wで編微分すると、式(6)が得られる。
Figure 2017158690
式(5)及び(6)から、式(7)が得られる。
Figure 2017158690
式(7)のeに式(3)を代入すると、式(7)は式(8)に示す正規方程式で表される。
Figure 2017158690
式(8)の正規方程式に例えば掃き出し法(Gauss−Jordanの消去法)などを用いることにより、タップ係数wが導出される。また、式(8)の正規方程式をコード毎に立式して解くことにより、最適なタップ係数(自乗誤差の総和Eを最小にするタップ係数)wがコード毎に求められる。
図3は、式(8)の正規方程式をコード毎に立式して解くことによりタップ係数wを求める学習を行う学習装置の構成例を示すブロック図である。
学習装置20の学習用画像記憶部21は、タップ係数wの学習に用いられる学習用画像を記憶している。なお、学習用画像は、例えば、解像度の高い高画質画像が該当する。
教師データ生成部22は、学習用画像記憶部21から学習用画像を読み出す。教師データ生成部22は、学習用画像から、タップ係数の学習の教師(真値)、すなわち、式(1)による予測演算としての写像の写像先の画素値となる教師データ(教師画像)を生成し、教師データ記憶部23に供給する。なお、教師データ生成部22は、学習用画像である高画質画像を、そのまま教師データとして教師データ記憶部23に供給してもよい。
教師データ記憶部23は、教師データ生成部22から供給される高画質画像を教師データとして記憶する。
生徒データ生成部24は、学習用画像記憶部21から学習用画像を読み出す。生徒データ生成部24は、学習用画像から、タップ係数の学習の生徒、すなわち、式(1)による予測演算としての写像による変換対象の画素値となる生徒データ(生徒画像)を生成し、生徒データ記憶部25に供給する。
例えば、生徒データ生成部24は、学習用画像としての高画質画像をフィルタリングして、解像度が低下した低画質画像を生成し、この低画質画像を生徒データとして、生徒データ記憶部25に供給する。
生徒データ記憶部25は、生徒データ生成部24から供給される低画質画像を生徒データとして記憶する。
学習部26は、教師データ記憶部23に記憶された高画質画像の各画素を、順次注目画素として選択する。学習部26は、選択した注目画素に対応するフィルタタップとして、生徒データ記憶部25に記憶された低画質画像を構成する低画質画素のうち、図1のフィルタタップ選択部12が選択するものと同一のタップ構造の低画質画素を選択する。
さらに、学習部26は、教師データを構成する各画素と、当該画素が注目画素のときに選択されたフィルタタップとを用い、コード毎に式(8)の正規方程式を立式して解くことにより、コード毎のタップ係数を求める。
図4は、学習部26の構成例を示すブロック図である。
注目画素選択部31は、教師データ記憶部23に記憶されている教師データを構成する画素を、順次注目画素として選択し、その注目画素を表す情報を所定のブロックに供給する。
フィルタタップ選択部32は、注目画素に対応するフィルタタップとして、生徒データ記憶部25に記憶された低画質画像を構成する低画質画素から、図1のフィルタタップ選択部12が選択するものと同一の画素を選択する。これにより、フィルタタップ選択部12で得られるものと同一のタップ構造のフィルタタップが得られる。フィルタタップは、足し込み部35に供給される。
コードタップ選択部33は、注目画素に対応するコードタップとして、生徒データ記憶部25に記憶された低画質画像を構成する低画質画素から、図1のコードタップ選択部13が選択するものと同一の画素を選択する。これにより、コードタップ選択部13で得られるものと同一のタップ構造のコードタップが得られる。コードタップは、コード演算部34に供給される。
コード演算部34は、コードタップ選択部33から出力されたコードタップに基づき、図1のコード演算部14と同一のコード演算を行い、その結果得られるコードを、足し込み部35に供給する。
足し込み部35は、教師データ記憶部23から注目画素である教師データ(画素)を読み出す。足し込み部35は、コード演算部34から供給されるコード毎に、教師データ記憶部23から読み出した注目画素と、フィルタタップ選択部32から供給される注目画素についてのフィルタタップを構成する生徒データ(画素)と、を対象とした足し込みを行う。
ここで、足し込み部35には、教師データ記憶部23から読み出された教師データy、フィルタタップ選択部32で選択されたフィルタタップxn,k、コード演算部34で演算されたコードが供給される。
足し込み部35は、コード演算部34から供給されるコード毎に、フィルタタップ(生徒データ)xn,kを用い、式(8)の左辺の行列における生徒データ同士の乗算(xn,k・xn’,k)とサメーション(Σ)に相当する演算を行う。
さらに、足し込み部35は、コード演算部34から供給されるコード毎に、フィルタタップ(生徒データ)xn,kと教師データyを用い、式(8)の右辺のベクトルにおける生徒データxn,kと教師データyの乗算(xn,k・y)と、サメーション(Σ)に相当する演算を行う。
すなわち、足し込み部35は、前回、注目画素とされた教師データについて求められた式(8)における左辺の行列のコンポーネント(Σxn,k・xn’,k)と、右辺のベクトルのコンポーネント(Σxn,k・y)を、内蔵する記憶部(図示せず)に記憶している。足し込み部35は、行列コンポーネント(Σxn,k・xn‘,k)またはベクトルコンポーネント(Σxn,k・y)に対して、新たに注目画素とされた教師データについて、教師データyk+1と生徒データxn,k+1を用いて計算される、対応コンポーネントxn,k+1・xn’,k+1又はxn,k+1・yk+1を、それぞれ足し込む(式(8)のサメーションで表される加算)。
そして、足し込み部35は、教師データ記憶部23に記憶された教師データすべてを注目画素として前述の足し込みを行うことにより、各コードについて式(8)に示した正規方程式を立式して、その正規方程式をタップ係数演算部36に供給する。
タップ係数演算部36は、足し込み部35から供給される各コードについての正規方程式を解くことにより、各コードについて、最適なタップ係数wを求める。
図1の画像変換装置10における係数記憶部15には、以上のようにして求められたコード毎のタップ係数wが記憶されている。
図5は、図3の学習装置20の学習処理を説明するフローチャートである。
ステップS21では、教師データ生成部22は、学習用画像記憶部21に記憶された学習用画像から教師データを生成し、生成した教師データを教師データ記憶部23に供給する。生徒データ生成部24は、学習用画像記憶部21に記憶された学習用画像から生徒データを生成し、生成した生徒データを生徒データ記憶部25に供給する。そして、ステップS22へ進む。なお、教師データ又は生徒データとして最適な学習用画像は、コード分類型適応フィルタがどのような画像変換処理を行うかに応じて、選択される。
ステップS22では、図4に示す学習部26の注目画素選択部31は、図3に示す教師データ記憶部23に記憶された教師データのうち、まだ、注目画素としていない画素を、注目画素として選択する。そして、ステップS23に進む。
ステップS23では、図4に示すフィルタタップ選択部32は、注目画素について、図3に示す生徒データ記憶部25に記憶された生徒データからフィルタタップとする生徒データとしての画素を選択して、足し込み部35に供給する。
図4に示すコードタップ選択部33は、注目画素について、図3に示す生徒データ記憶部25に記憶された生徒データからコードタップとする生徒データを選択し、コード演算部34に供給する。そして、ステップS24に進む。
ステップS24では、コード演算部34は、注目画素についてのコードタップに基づき、注目画素のコード演算を行い、その結果得られるコードを足し込み部35に供給する。そして、ステップS25に進む。
ステップS25では、足し込み部35は、教師データ記憶部23から注目画素を読み出す。足し込み部35は、コード演算部34から供給されるコード毎に、読み出した注目画素と、フィルタタップ選択部32から供給される注目画素について選択されたフィルタタップを構成する生徒データとを対象とした式(8)の足し込みを行う。そして、ステップS26に進む。
ステップS26では、注目画素選択部31は、教師データ記憶部23に記憶された教師データのうち、まだ注目画素として選択されていない画素があるか否かを判定する。肯定的な判定結果の場合、つまり、教師データの中に注目画素として選択されていない画素がある場合、ステップS22に戻り、ステップS22以下の処理が実行される。
否定的な判定結果の場合、つまり、教師データの中に注目画素として選択されていない画素がない場合、足し込み部35は、ステップS22〜S26の処理によって得られたコード毎の式(8)の左辺の行列及び右辺のベクトルを、タップ係数演算部36に供給する。そして、ステップS27に進む。
ステップS27では、タップ係数演算部36は、足し込み部35から供給されるコード毎の式(8)における左辺の行列と右辺のベクトルによって構成されるコード毎の正規方程式に従って、コード毎にタップ係数wを演算する。そして、一連の処理を終了する。
なお、学習用画像の数が十分でないこと等に起因して、コードによっては、タップ係数wを求めるのに必要な数の正規方程式が得られない場合がある。そのようなコードについては、タップ係数演算部36は、例えば、予め設定されたタップ係数を出力すればよい。
[第1の実施の形態]
図6は、本発明の第1の実施の形態に係るディジタルカメラ40の構成例を示すブロック図である。ディジタルカメラ40は、光学系の設計情報を用いて、収差のない静止画又は動画を撮影する。
ディジタルカメラ40は、光学系41、イメージセンサ42、記憶部43、信号処理部44、画像補正部45、出力部46、及び、制御部47を有する。
光学系41は、例えば、図示せぬズームレンズや、フォーカスレンズ、絞り、光学ローパスフィルタ等を有する。光学系41は、外部からの光をイメージセンサ42に入射させる。光学系41は、図示せぬズームレンズのズーム情報、絞りの絞り情報などの撮影情報を画像補正部45に供給する。
イメージセンサ42は、例えば、CMOSイメージセンサである。イメージセンサ42は、光学系41からの入射光を受光して光電変換を行って、光学系41からの入射光に対応する電気信号としての画像を出力する。
記憶部43は、イメージセンサ42が出力する画像を一時記憶する。
信号処理部44は、記憶部43に記憶された画像に対して、例えばホワイトバランス処理、デモザイク処理、ガンマ補正処理や、ノイズ除去処理等の信号処理を行い、信号処理済みの画像を画像補正部45に供給する。
画像補正部45は、光学系41より供給された撮影情報を用いて、信号処理部44から供給された画像に対して収差補正等の画像補正処理を行う。
出力部46は、例えば、(a)液晶等で構成されるディスプレイ、(b)半導体メモリ、磁気ディスク、光ディスク等の記録媒体を駆動するドライバ、(c)ネットワーク、各種ケーブル、無線などの通信経路を使った通信器に該当し、画像補正部45からの画像を様々な態様で出力する。
例えば、出力部46は、ディスプレイである場合は、画像補正部45からの画像をいわゆるスルー画像として表示する。出力部46は、記録媒体を駆動するドライバである場合は、画像補正部45からの画像を記録媒体に記録する。出力部46は、通信器である場合は、画像補正部45からの画像をネットワーク等の通信経路を介して外部へ出力する。
制御部47は、ユーザの操作等に従い、ディジタルカメラ40を構成する各ブロックを制御する。
以上のように構成されるディジタルカメラ40では、イメージセンサ42が、光学系41からの入射光を受光し、その入射光に応じて画像を出力する。
イメージセンサ42が出力する画像は、記憶部43に供給されて記憶される。記憶部43に記憶された画像は、信号処理部44及び画像補正部45による信号処理が施される。画像補正部45による画像補正済みの画像は、出力部46を介して、外部に出力される。
<画像補正部45を構成する画像変換装置50の構成例>
図7は、図6の画像補正部45で行われる収差補正処理を行う画像変換装置50の構成例を示すブロック図である。
画像補正部45は、例えば、RGBの色成分毎に設けられた複数の画像変換装置50を有する。画像変換装置50は、RGBの色成分毎に、各色成分に対応するテーブルや係数を用いて、画像の収差補正処理を行う。
画像変換装置50は、理想的な収差のない第1の画像と光学系41を介して得られた収差のある第2の画像との対応関係を、光学シミュレーションの2次元像シミュレーションの結果を用いて求める。そして、画像変換装置50は、歪曲収差補正用テーブルと前述したコード分類型適応フィルタの学習処理によって求めた係数と、によって、第2の画像に収差補正を行う。
理想的な歪曲収差のない第1の画像(x,y)と、光学系41を介して得られた歪曲収差のある第2の画像(x’,y’)と、の対応関係について説明する。
歪曲収差とは、画像の中心から放射方向に画像が伸縮して画像が歪曲することをいう。但し、画像の中心は、撮像光学系の光軸とイメージセンサの撮像面との交点とする。
例えば、図8Aに示す第1の画像上の点Pは、放射方向に伸縮して、図8Bに示す第2の画像上の点P’に対応する。歪曲の度合いは、画像の中心からの距離rに依存する。理想的な撮像光学系における歪曲収差は、画像の中心に対して点対称である。歪曲収差のない画像と歪曲収差のある画像との対応関係は、以下の式(9)〜(11)の通りである。
Figure 2017158690
式(9)〜(11)によれば、距離rと距離r’の対応関係を示す関数またはテーブルがあれば、理想的な歪曲収差のない画像(x,y)と歪曲収差のある画像(x’,y’)との対応関係が求められる。
しかし、距離rと距離r’の対応関係は、関数を使って高精度に近似できない。そのため、本実施の形態では、距離rと距離r’の対応関係については、撮像光学系の光学シミュレーションまたは実測値により求められたテーブルが使用される。
一方、(x,y)と(x’,y’)の対応関係を直接表す2次元テーブルを使用することも可能である。但し、2次元テーブルのデータ量が膨大になってしまう問題がある。
そこで、本実施の形態では、式(12)に示すように、撮像光学系の光学シミュレーションまたは実測値により求められたものであって、距離rと距離r’の対応関係を示す歪曲収差テーブルd(r)が使用される。これにより、膨大なデータを用いることなく、(x,y)から(x’,y’)ら得られる。具体的には、(x’,y’)は、式(13)及び(14)により求められる。
Figure 2017158690
画像処理装置50は、入力された第2の画像の(x’,y’)の画素値を取得して、取得した(x’,y’)の画素値を第1の画像(x,y)の画素値に変換することにより、歪曲収差のない第1の画像を得ることできる。
図9は、ディストーションd(=(r’−r)/r)の一例を示す図である。なお、歪曲収差テーブルd(r)を用いると、r’は式(12)の通りである。つまり、歪曲収差テーブルd(r)は、距離rを距離r’に変換するテーブルを表し、距離rに依存して変化する。歪曲収差テーブルd(r)は、光学系の光学シミュレーションまたは実測値により求められたものであり、図7の歪曲収差テーブル記憶部52に記憶される。
さらに、歪曲収差テーブルd(r)は、光学系41のズームレンズのズーム量が変化すると、その変化に応じて変化する。よって、様々なズーム量に応じた歪曲収差テーブルd(r)が必要になる。そのため、図7の歪曲収差テーブル記憶部52には、様々なズーム量に応じた複数の歪曲収差テーブルd(r)が記憶されている。
歪曲収差補正位置情報生成処理部53は、図6の光学系41からズームレンズのズーム量などの撮影情報が供給され、注目画素選択部51により注目画素が選択されると、歪曲収差補正位置情報を生成して、歪曲収差補正位置情報を歪曲収差補正位置情報記憶部54に供給させる。
<歪曲収差補正位置情報生成処理部53による処理>
図10は、図7の歪曲収差補正位置情報生成処理部53の処理を説明するフローチャートである。
ステップS31では、歪曲収差補正位置情報生成処理部53は、光学系41から供給された撮影情報、例えばズームレンズのズーム量を参照して、図7の歪曲収差テーブル記憶部52から、そのズーム量の近傍のズーム量に対応付けられた複数の歪曲収差テーブルを読み出す。そして、ステップS32に進む。
ステップS32では、歪曲収差補正位置情報生成処理部53は、ステップS31で読み出された複数の歪曲収差テーブルの各値を、線形補間またはラグランジュ補間などの補間方法を用いて補間する。これにより、現在のズーム量に対応する歪曲収差テーブルが得られる。そして、歪曲収差補正位置情報生成処理部53は、第1の画像に対応するアドレス空間のうち、まだ処理していないアドレスを処理アドレス(x,y)として選択する。そして、ステップS33に進む。
ステップS33では、歪曲収差補正位置情報生成処理部53は、式(9)を用いて、処理アドレス(x,y)の中心からの距離rを、小数点以下所定の桁数まで計算する。そして、ステップS34に進む。
ステップS34では、歪曲収差補正位置情報生成処理部53は、ステップS32で求めた補間済みの歪曲収差テーブルと、ステップS33で求めた距離rと、を用いて、歪曲収差により伸縮した距離r’を求める。ここでは、補完済みの歪曲収差テーブルから、ステップS33で求めた距離rに前後する値にそれぞれ対応する距離が読み出され、読み出された距離が線形補間される。これにより、精度の高い距離r’が得られる。そして、ステップS35に進む。
ステップS35では、歪曲収差補正位置情報生成処理部53は、ステップS33で求めた距離rと、ステップS34で求めた距離r’との比を用いて、式(13)及び(14)に従って、小数点以下所定の桁数の(x’,y’)を演算する。歪曲収差補正位置情報生成処理部53は、(x’,y’)を歪曲収差補正位置情報として歪曲収差補正位置情報記憶部54に供給する。そして、ステップS36に進む。
ステップS36では、歪曲収差補正位置情報生成処理部53は、未処理アドレスがあるか否かを判定する。肯定的な判定結果、つまり未処理アドレスがある場合は、ステップS33に戻る。そして、未処理アドレスがなくなるまで、ステップS33からステップS36までの処理が繰り返される。そして、ステップS36で否定的な判定結果が得られると、一連の処理を終了する。
図7の係数記憶部55には、撮影情報(ズーム量や絞り値など)毎に、解像力劣化を補正するための係数が記憶されている。ここでいう解像度劣化とは、歪曲収差以外の収差や、回折による絞りボケや光学ローパスフィルタに起因するものをいう。なお、係数は、後述する学習方法によって求められる。
<係数補間処理部56による処理>
図7の係数補間処理部56は、図6の光学系41からズームレンズのズーム量や絞り値などの撮影情報が供給されると、現在のズーム量又は絞り値に対応する位置別係数を生成して、位置別係数記憶部57に供給する。
図11は、係数補間処理部56の処理を説明するフローチャートである。
ステップS41では、係数補間処理部56は、光学系41から供給された撮影情報(例えば、ズームレンズのズーム情報やF値、交換レンズに対応した複数の係数値)を参照して、図7の係数記憶部55から、現在の撮影情報の近傍の値に対応する複数の係数を読み出す。そして、ステップS42に進む。
ステップS42では、係数補間処理部56は、ステップS41で読み出された複数の係数を、線形補間またはラグランジュ補間などの補間方法を用いて補間して、補完済みの係数(位置別係数)を図7の位置別係数記憶部57に供給する。そして、ステップS43に進む。
ステップS43では、係数補間処理部56は、まだ処理していないコード(未処理コード)があるか否かを判定し、肯定的な判定結果の場合は、未処理コードを選択する。そして、ステップS41に戻る。否定的な判定結果の場合は、ステップS44へ進む。つまり、未処理コードがなくなるまで、ステップS41からステップS43までの処理が繰り返される。
ステップS44では、係数補間処理部56は、未処理位置があるか否かを判定して、肯定的な判定結果の場合は、未処理位置を選択する。そして、ステップS41に進む。否定的な判定結果の場合は、一連の処理を終了する。つまり、未処理位置がなくなるまで、ステップS41からステップS44までの処理が繰り返される。
以上のように、現在の撮影条件に応じて、歪曲収差補正位置情報記憶部54に歪曲収差補正位置情報が書き込まれ、位置別係数記憶部57に位置別係数が書き込まれる。そして、画像変換装置50による第1の画像から第2の画像に変換する画像変換処理の準備が完了する。
<画像変換装置50による画像変換処理>
画像変換装置50は、光学系41から撮影情報が供給され、信号処理部44から信号処理済みの画像(第1の画像)が供給されると、次の処理を行う。
注目画素選択部51は、第2の画像を構成する画素を、順次注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。なお、第2の画像は、これら生成しようとする画像であって、第1の画像から収差の影響が除去された画像である。
歪曲収差補正位置情報記憶部54は、注目画素選択部51より供給される注目画素を表すアドレス(x,y)に基づいて、前述の処理によって記憶された歪曲収差補正位置情報(x’,y’)を読み出す。歪曲収差補正位置情報記憶部54は、歪曲収差補正位置情報(x’,y’)の小数点以下を四捨五入する。
歪曲収差補正位置情報記憶部54は、歪曲収差補正位置情報(x’,y’)を四捨五入した情報である整数位置情報をフレーム記憶部58に供給する。歪曲収差補正位置情報記憶部54は、その整数位置情報の下位数ビットをアドレス整列部59に供給する。歪曲収差補正位置情報記憶部54は、歪曲収差補正位置情報(x’,y’)の小数点以下の情報を第1収差補正部60に供給する。
フレーム記憶部58は、歪曲収差補正位置情報記憶部54より供給された整数位置情報に従って、第1の画像の各画素の画素値をラスタースキャン順に読み出すことにより、画素単位で歪曲収差補正された第1の画像を出力する。さらに、フレーム記憶部58は、図12Bに示すように、その整数位置情報の画素近傍の4画素以上の画素値を読み出す。フレーム記憶部58は、読み出した画素値を位置情報整列部59に供給する。
歪曲収差の影響を受けた第1の画像(図8B)には、歪曲収差のない第2の画像(図8A)に比べて、伸びた部分と縮小した部分が生じている。ジャギーが出ないように綺麗に第2の画像から第1の画像へ変換するためには、図12Aに示すように、歪曲収差のある第1の画像の画素に対してタップを張る(複数の周辺画素とリンクする)必要がある。
一方、フレーム記憶部58に記憶された第1の画像から整数位置情報に従って各画素の画素値をラスタースキャン順に読み出すと、伸びた部分に相当する画素の画素値が読み飛ばされ、必要な画素値が読み出されない場合がある。その理由は、伸びた部分については、第1の画像(図8B)より第2の画像(図8A)の方が、情報密度が高いためである。
そこで、フレーム記憶部58は、歪曲収差補正位置情報記憶部54より整数位置情報が供給されると、図12Bに示すように、第1の画像から、当該整数位置情報及びその近傍にある例えば4画素以上の各画素の画素値を読み出して、読み出した画素値を位置情報整列部59に供給する。これにより、必要な画素値が読み出されない問題が回避される。
整数位置情報の近傍の画素数は、伸縮率r’/rが1以下の場合は1画素、伸縮率r’/rが1を超えて2以下の場合は水平方向及び垂直方向にそれぞれ2画素ずつの合計4画素、伸縮率r’/rが2を超える場合は4画素以上である。
位置情報整列部59は、フレーム記憶部58からラスタースキャン順に供給される画素値(第1の画像)と、歪曲収差補正位置情報記憶部54から供給される下位位置情報(整数位置情報の下位数ビット)とに基づいて、図12Aにおける注目画素の近傍画素がわかるように、位置情報による整列処理を行う。
図13は、位置情報整列部59の処理を示す概念図である。位置情報整列部59は、バッファメモリ又はレジスタ等の記憶媒体を有し、フレーム記憶部58から順次供給される画素値と、画素値にリンクすると共に歪曲収差補正位置情報記憶部54から供給される下位位置情報と、を記憶する。そして、注目画素の近傍の位置情報が選択されると、位置情報整列部59から、注目画素近傍の画素値がタップ情報として読み出される。このタップ情報は、第1収差補正処理部60に供給される。
第1収差補正処理部60は、図14に示す画像変換装置70を有する。画像変換装置70は、入力される第1の画像に対して、第1収差補正として位相シフト補正を行い、第1収差補正済みの第3の画像を出力する。第3の画像は、第2収差補正処理部61に供給される。
第2収差補正処理部61は、図26に示す画像変換装置110を有する。画像変換装置110は、入力される第3の画像に対して、第2収差補正として主に先鋭感改善のための収差補正処理を行い、第2収差補正済みの第2の画像を出力する。
<画像変換装置70の構成例>
画像変換装置70は、入力画像の微小な収差補正処理、具体的には、入力画像に発生しうるジャギーやリンギングを抑制しつつ入力画像に対して位相シフト補正を行うコード分類型適応フィルタである。
図14に示すように、画像変換装置70は、注目画素選択部71、コードタップ選択部72、フィルタタップ選択部73、コード演算部74、係数記憶部75、及び積和演算部76を有する。
画像変換装置70に供給された入力画像(第1の画像)は、コードタップ選択部72及びフィルタタップ選択部73に供給される。なお、入力画像は、例えば、RGBの各色成分の画素値である。
注目画素選択部71は、画像変換装置70の出力画像である第3の画像を構成するそれぞれ画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
フィルタタップ選択部72は、例えば、図1のフィルタタップ選択部12と同様に、注目画素の位置から近い位置にある第1の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部76に供給する。
コードタップ選択部73は、例えば、図1のフィルタタップ選択部13と同様に、注目画素の位置から近い位置にある第1の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部74に供給する。
コード演算部74は、コードタップ選択部73からのコードタップに基づいて、例えばDR量子化による量子化値、中心画素値からの差分比等を演算して、コードタップの特徴量を示すコードに分類し、当該コードを係数記憶部75に供給する。
係数記憶部75は、コード毎にタップ係数を記憶している。なお、タップ係数は、後述する学習によって求められたものである。
係数記憶部75は、コード演算部74からコードが供給され、図7に示す歪曲収差補正位置情報記憶部54から位相情報(歪曲収差補正位置情報の小数点以下の情報)が供給されると、供給されたコードに対応し、かつ、供給された位相情報の近傍の複数のタップ係数を読み出す。読み出された複数のタップ係数は、積和演算部76に供給される。
本実施の形態では、係数記憶部75には、例えば図15に示すように、コード毎に、原点(注目画素の位置)に対して、白丸印または黒丸印に示す水平方向及び垂直方向に、それぞれ{−2/4、−1/4、0、+1/4、+2/4}の1/4位相ずつ5つ分の位相をシフトさせる合計25個のタップ係数が記憶されている。例えば、右から1番目で上から1番目の丸印は、原点に対して、水平方向に+2/4位相、垂直方向に+2/4位相シフトさせるタップ係数を表す。右から2番目で上から4番目の丸印は、原点に対して、水平方向に+1/4位相、垂直方向に−1/4位相シフトさせるタップ係数を表す。
そして、係数記憶部75にコードが供給されると、供給されたコードに対応する25個のタップ係数が特定される。次に、係数記憶部75に位相情報が供給されると、25個のタップ係数の中から、当該位相情報を中心とする16個のタップ係数が選択される。例えば図15に示すように、P点の画素値を生成する場合には、供給された位相情報を中心として水平方向及び垂直方向に1/4位相ずつ位相をシフトさせるもので、水平方向及び垂直方向にそれぞれ4個の合計16個のタップ係数(黒丸印)が選択される。選択されたタップ係数は、積和演算部76に供給される。
図16に示すように、積和演算部76は、16個の積和演算器91〜106を備えている。積和演算器91〜106の数は、補間演算部77の補間処理で必要とする画素数に対応していればよく、16個に限定されるものではない。
積和演算器91〜106には、フィルタタップ(例えば後述する図17に示す13画素の各画素値)が入力される。さらに、積和演算器91〜106には、図15に示す16個のタップ係数がそれぞれ入力される。本実施の形態では、選択されたタップ係数の数は、積和演算器の数と同じであるが、積和演算器の数と異なる数であってもよい。
積和演算器91は、係数群1(例えば図15の16個の黒丸印のうちの左から1番目で上から1番目の黒丸印に対応するタップ係数)とフィルタタップ(例えば前述の13画素の各画素値)とを用いて積和演算を行い、画素値1を出力する。
積和演算器92は、係数群2(例えば図15の16個の黒丸印のうちの左から1番目で上から2番目の黒丸印に対応するタップ係数)とフィルタタップ(例えば前述した13画素の各画素値)とを用いて積和演算を行い、画素値2を出力する。
同様に、積和演算器93,94は、係数群3、4(例えば図15の16個の黒丸印のうちの左から1番目で上から3番目及び4番目の黒丸印にそれぞれ対応するタップ係数)とフィルタタップ(例えば13画素の画素値)とを用いて積和演算を行い、画素値3,4を出力する。
積和演算器95〜98は、係数群5〜8(例えば図15の16個の黒丸印のうちの左から2番目で上から1〜4番目の黒丸印にそれぞれ対応するタップ係数)と、フィルタタップ(例えば前述した13画素の各画素値)と、を用いて積和演算を行い、画素値5〜8を出力する。積和演算器99〜102は、係数群9〜12(例えば図15の16個の黒丸印のうちの左から3番目で上から1〜4番目の黒丸印にそれぞれ対応するタップ係数)と、フィルタタップ(例えば前述した13画素の各画素値)と、を用いて積和演算を行い、画素値9〜12を出力する。
積和演算器103〜106は、係数群13〜16(例えば図15の16個の黒丸印のうちの右から1番目で上から1〜4番目の黒丸印にそれぞれ対応するタップ係数)と、フィルタタップ(例えば前述した13画素の各画素値)と、を用いて積和演算を行い、画素値13〜16を出力する。
以上のように、積和演算部76は、注目画素の画素値について、係数記憶部75より供給された複数のタップ係数(係数群1〜16)をそれぞれの積和演算器91〜106に供給して、複数の画素値1〜16を得て、これら複数の画素値1〜16を補間演算部77に供給する。
補間演算部77は、積和演算部76より供給された複数の画素値1〜16に対して、歪曲収差補正位置情報記憶部54から供給された位相情報を用いて、線形補間またはラグランジュ補間等の補間方法で1/4位相よりも更に細かな精度の補間処理して、注目画素の画素値を演算して、補間処理により得られた第3の画像を出力する。
なお、演算量が増えるが、積和演算部76と補間演算部77は入れ替え可能である。つまり、補間演算部77は、係数記憶部75より供給された複数分のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部76は、補間されたタップ係数を用いて積和演算すればよい。
<画像変換装置70のフィルタタップの構成例>
図17は、図14のフィルタタップ選択部72で選択されるフィルタタップの構成例を示す図である。
細線の丸印は、入力画像の画素(入力画素)を表すと共に、出力画像の画素(出力画素)も表す。ドット柄の丸印は、入力画素に対して、画素位置の位相差が生じた出力画素を示す。つまり、出力画素は、入力画素から位相をシフトさせた位置に存在する。
したがって、入力画像である第1の画像は、歪曲収差補正位置情報記憶部54からの位相情報に基づいて、位相シフトした第3の画像に変換される。
黒塗りの丸印は、注目画素、つまり出力画素を表す。太線の丸印は、フィルタタップとなる入力画素を表す。黒塗りの丸印と太線の丸印が重なっている理由は、注目画素に対応する位置にある入力画素は、フィルタタップの1つとなるからである。
注目画素に対するフィルタタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。
<画像変換装置70のコードタップの構成例>
図18は、図14のコードタップ選択部73で選択されるコードタップの構成例を示す図である。太線の丸印は、コードタップとなる入力画素を表す。その他の丸印は、図17と同じである。
注目画素に対するコードタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。なお、本実施の形態では、フィルタタップとコードタップは、図17及び図18に示すように同一のパターンであってもよいし、異なるパターンであってもよい。
<コード演算部74の構成例>
図19は、コード演算部74の構成例を示すブロック図である。
コード演算部74は、量子化演算部81、中心画素差分比検出部82、及び変換テーブル記憶部83を有する。
量子化演算部81は、コードタップ選択部73から供給されるコードタップを構成する入力画素の画素値を、例えば、1ビットのDR量子化を用いて量子化し、各入力画素の量子化値を所定の順番で並べ、並べられた量子化値を量子化コードとして変換テーブル記憶部83に供給する。
図20は、1ビットDR量子化の例を説明する図である。横軸は、コードタップを構成する入力画素の順番(又は位置)を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
1ビットDR量子化では、コードタップを構成する入力画素の画素値の中の最大画素値Maxから最小画素値Minが減算され、単純ダイナミックレンジDRが求められる。単純ダイナミックレンジDRを2等分するレベルが、閾値として設定される。コードタップを構成する各入力画素の画素値が、設定された閾値に基づいて2値化され、1ビットの量子化値に変換される。各画素の量子化値が所定の順に配列されたものが、量子化コードとなる。
例えば、図18に示すコードタップの場合、コードタップを構成する13画素が1ビットDR量子化処理の対象となる。その結果、入力されたコードタップの特徴量を表す13ビットのDR量子化コードが得られる。
中心画素差分比検出部82は、コードタップ選択部73から供給されるコードタップを構成する入力画素の画素値から後述する方法でコードを得て、図14の係数記憶部75に供給する。
図21は、中心画素差分比検出部82で行われる中心画素差分比を説明する図である。横軸は、コードタップを構成する入力画素の位置を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
中心画素差分比検出部82は、次の処理を行う。
最初に、中心画素差分比検出部82は、画素位置(横軸)方向において、注目画素(中心画素)が中心となる所定の範囲を範囲1として設定し、注目画素が中心となり、かつ、範囲1を包含する広い範囲を範囲2として設定する。
次に、中心画素差分比検出部82は、範囲1において、各画素の画素値と注目画素の画素値との差分が最大となる差分最大値を演算する。中心画素差分比検出部82は、範囲2において、各画素の画素値と注目画素の画素値との差分が最大となる差分最大値を演算する。
そして、中心画素差分比検出部82は、2つの差分最大値の比が所定値以上の場合はコード“1”を出力し、その比が所定値未満の場合はコード“0”を出力する。この結果、1ビットのコードが得られる。なお、2つの差分最大値の比と比較される複数の異なる所定値を用意して、より細かいコード分類を行うことも可能である。
以上のように、中心画素差分比検出部82は、注目画素(中心画素)を中心とした狭範囲と広範囲のそれぞれの画素差分の比に応じて、コードタップをコード“0”又は“1”に分類する。コード“0”は、注目画素(中心画素)と遠距離タップの画素相関が高くてリンギングが発生しない状態を示す。コード“1”は、注目画素(中心画素)と遠距離タップの画素相関が低くてリンギングが発生するおそれがある状態を示す。中心画素差分比検出部82で得られたコードは、図14の係数記憶部75に供給される。
変換テーブル記憶部83は、量子化演算部81で得られた量子化コードをアドレス(新たなコード)に変換するための変換テーブルを予め記憶している。変換テーブル記憶部83は、量子化演算部81から量子化コードが供給されると、変換テーブルを参照して、供給された量子化コードを当該量子化コードに対応する新たなコードに変換し、変換されたコードを図14の係数記憶部75に供給する。
なお、係数記憶部75の記憶容量が十分大きい場合、図22Aに示すように、変換テーブル記憶部83は不要である。この場合は、量子化演算部81及び中心画素差分比検出部82で得られた各コードは、そのまま係数記憶部75に供給される。
変換テーブル記憶部83は、図22Bに示すように、発生頻度が閾値より低いコードを代表的な所定のアドレス(新たなコード)に変換してもよい。また、変換テーブル記憶部83は、変換済みの異なる新たなコードからそれぞれ近似するタップ係数が生成される場合は、変換済みの異なる新たなコードを同一のコードに(異なる新たなコードをいずれか1つのコードに統一)してもよい。これにより、係数記憶部75の記憶容量が少なく済む。
変換テーブル記憶部83に記憶されている変換テーブルは、積和演算器毎に用意されているが、これに限定されるものではない。例えば、図22Cに示すように、所定の複数の積和演算器に複数の同一又は近似する値のタップ係数が供給される場合には、所定の複数の積和演算器に共通する変換テーブルを用意してもよい。つまり、複数の変換テーブルを1つにまとめることができる。
<画像変換装置70による画像変換処理>
図23は、図14の画像変換装置70による画像変換処理の例を説明するフローチャートである。
ステップS51では、注目画素選択部71は、画像変換装置70に入力される入力画像に対する出力画像を構成する画素のうち、まだ注目されていない画素の1つを注目画素として選択する。そして、ステップS52に進む。例えば、注目画素選択部71は、例えば、出力画像を構成する画素のうち注目画素として選択されていない画素を、ラスタースキャン順で注目画素として選択する。
ステップS52では、コードタップ選択部72は、入力画像から、注目画素についてのコードタップを構成する画素を選択する。フィルタタップ選択部73は、入力画像から、注目画素についてのフィルタタップを構成する画素を選択する。コードタップはコード演算部74に供給され、フィルタタップは積和演算部76に供給される。そして、ステップS53に進む。
ステップS53では、コード演算部74は、コードタップ選択部72から供給される注目画素についてのコードタップに基づいて、注目画素をコード演算する。コード演算部74は、そのコード演算により得られた注目画素のコードを係数記憶部75に供給する。そして、ステップS54に進む。
ステップS54では、係数記憶部75は、コード演算部74から供給されるコードに対応するアドレスに記憶されているタップ係数であって、図7の歪曲収差補正位置情報記憶部54から供給される位相情報に対応した近傍の複数のタップ係数を選択して出力する。積和演算部76が、係数記憶部75から複数のタップ係数を取得する。そして、ステップS55に進む。
ステップS55では、積和演算部76が、フィルタタップ選択部72により選択されたフィルタタップと、係数記憶部75から取得した複数のタップ係数とを用いて、所定の複数の積和演算を行う。これにより、積和演算部76は、複数の画素値を求めて出力する。そして、ステップS56に進む。
ステップS56では、補間演算部77が、積和演算部76が出力する複数の画素値と、光学系41から供給された位相情報に基づいて、線形補間またはラグランジュ補間等の補間方法で補間する。これにより、注目画素の画素値がと求められる。そして、ステップS57に進む。
ステップS57では、注目画素選択部71が、出力画像の中にまだ注目画素と選択されていない画素があるか否かを判定する。肯定的な判定結果の場合は、ステップS51に戻る。そして、再びステップS51以降の処理が実行される。否定的な判定結果の場合は、この一連の処理が終了する。
<タップ係数の求め方>
図14に示す係数記憶部75に記憶されるタップ係数は、図3に示す学習装置20により求められる。
具体的には、図3に示す学習用画像記憶部21には、学習用画像として高画質画像が記憶される。
教師データ生成部22は、学習用画像記憶部21に記憶された学習用画像をフィルタリングすること等により、後述する生徒データ(生徒画像)に対して複数の位相を変化させ、位相をシフトさせた教師データ(教師画像)を生成する。教師データ生成部22は、生成された教師データを教師データ記憶部23に供給する。
生徒データ生成部24は、学習用画像記憶部21に記憶された学習用画像をフィルタリングすること等により、生徒データ(生徒画像)を生成する。生徒データ生成部24は、生成された生徒データを生徒データ記憶部55に供給する。
学習部26は、教師データ記憶部23から教師データを読み出し、生徒データ記憶部25から生徒データを読み出す。学習部26は、読み出した教師データと生徒データとを用いて、コード毎、位相毎に、式(8)の正規方程式を立式して解くことにより、コード毎・位相毎のタップ係数を導出する。
以上のように、注目画素(中心画素)を中心とした狭範囲と広範囲のそれぞれの画素差分の比に応じて、コードが分類される。この結果、注目画素(中心画素)と遠距離タップの画素相関が高くてリンギングが発生しない場合には、高域を強調するタップ係数が得られる。一方、注目画素(中心画素)と遠距離タップの画素相関が低くてリンギングが発生するおそれがある場合には、リンギングを抑制するタップ係数が得られる。
図14の画像変換装置70は、上記のタップ係数を用いることで、ジャギーやリンギングが生じることによる画質劣化を防止しつつ、先鋭感を落とさずに歪曲収差を補正した画像を出力することができる。
<第2収差補正処理部61の画像変換装置110の構成例>
図7の第2収差補正処理部61は、図24に示す画像変換装置110を有する。画像変換装置110は、コード分類型適応フィルタを利用して、第1収差補正処理部60により歪曲収差が補正された第3の画像に対して、主に先鋭感改善のための収差補正処理を行う。なお、画像変換装置110は、先鋭感改善だけでなく、収差に起因するあらゆる画像の劣化を改善させるための収差補正を行う。
画像変換装置110に供給された入力画像(第3の画像)は、コードタップ選択部112とフィルタタップ選択部113に供給される。
注目画素選択部71は、画像変換装置110の出力画像である第2の画像を構成するそれぞれ画素を、順次、注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
フィルタタップ選択部112は、例えば、図1のフィルタタップ選択部12と同様に、注目画素の位置から近い位置にある第3の画像の複数の画素の画素値をフィルタタップとして選択し、選択したフィルタタップを積和演算部116に供給する。
コードタップ選択部73は、例えば、図1のフィルタタップ選択部13と同様に、注目画素の位置から近い位置にある第3の画像を構成する複数の画素の画素値をコードタップとして選択し、選択したコードタップをコード演算部74に供給する。
コード演算部114は、コードタップ選択部113からのコードタップに基づいて、例えばDR量子化による量子化値、中心画素値からの差分比等を演算して、注目画素をコードに分類し、当該コードを係数記憶部115に供給する。
係数記憶部115は、図7の係数補間処理部56で求めた複数のタップ係数であって、図28に示すように注目画素選択部111からの位置情報を分割した位置情報(ブロック情報)によって読み出されたコード毎にタップ係数を記憶している。
係数記憶部115は、記憶しているタップ係数のうち、コード演算部114から供給されるコードに対応するアドレスに記憶されているタップ係数であって、注目画素選択部111から供給されるブロック情報に対応した近傍の複数のタップ係数を選択し、読み出す。読み出された複数のタップ係数は、積和演算部116に供給される。例えば、図28に示すように、注目画素Pについて処理する場合には、3次のラグランジュ補間に必要な図28の太線部のように水平・垂直の4つずつの計16のブロックの係数を選択して供給する。
図16に示すように、積和演算部116は、補間演算部117で補間に必要とする画素分の複数(本実施の形態では16個)の積和演算器91〜106を備えている。
積和演算部116は、係数記憶部115より供給された複数のタップ係数を、それぞれの積和演算器91〜106に供給することで複数の画素値1〜16を演算し、補間演算部117に供給する。
補間演算部117は、積和演算部116より供給された複数の画素値1〜16を、注目画素選択部111から供給された位置情報を用いて、線形補間またはラグランジュ補間等の補間方法で補間して、出力画像(第2の画像)として出力する。
なお、演算量が増えるが、積和演算部116と補間演算部117は入れ替え可能である。つまり、補間演算部116は、係数記憶部117より供給された複数のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部116は、補間されたタップ係数を用いて積和演算すればよい。
<画像変換装置110のフィルタタップの構成例>
図25は、図24のフィルタタップ選択部112で選択されるフィルタタップの構成例を示す図である。
細線の丸印は、入力画素を表すと共に、出力画素も表す。出力画素は、図17と異なり、入力画素と同じ位置に変換される。
黒塗りの丸印は、注目画素、つまり出力画素を表す。太線の丸印は、フィルタタップとなる入力画素を表す。黒塗りの丸印と太線の丸印が重なっている理由は、注目画素に対応する位置にある入力画素は、フィルタタップの1つとなるからである。
注目画素に対するフィルタタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。
<画像変換装置110におけるコードタップの構成例>
図26は、図24のコードタップ選択部113で選択されるコードタップの構成例を示す図である。太線の丸印は、コードタップとなる入力画素を表す。その他の丸印は、図25と同じである。
注目画素に対するコードタップとなる入力画素は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、選択される。なお、本実施の形態では、フィルタタップとコードタップは、図25及び図26に示すように同一のパターンであってもよいし、異なるパターンであってもよい。
<コード演算部114の構成例>
図27は、コード演算部114の構成例を示すブロック図である。
コード演算部114は、量子化演算部121、及び変換テーブル記憶部122を有する。
量子化演算部121は、コードタップ選択部113から供給されるコードタップを構成する入力画素の画素値を、例えば、上述した1ビットDR量子化を用いて量子化し、各入力画素の量子化値を所定の順番で並べて、並べられた量子化値を量子化コードとして変換テーブル記憶部122に供給する。
例えば、図26に示すコードタップの場合、コードタップを構成する9画素が1ビットDR量子化処理の対象となる。その結果、入力されたコードタップの特徴量を表す9ビットのDR量子化コードが得られる。
変換テーブル記憶部122は、量子化演算部121で得られた量子化コードをアドレス(新たなコード)に変換するための変換テーブルを予め記憶している。変換テーブル記憶部122は、量子化演算部121から量子化コードが供給されると、変換テーブルを参照して、供給された量子化コードを当該量子化コードに対応する新たなコードに変換し、変換されたコードを図24の係数記憶部115に供給する。
なお、係数記憶部115の記憶容量が十分大きい場合、図22Aに示すように変換テーブル記憶部122は不要である。この場合は、量子化演算部121で得られた量子化コードは、そのまま係数記憶部115に供給される。
変換テーブル記憶部122は、図22Bに示すように発生頻度が閾値より低いコードを代表的な所定のアドレス(新たなコード)に変換してもよい。また、変換テーブル記憶部122は、変換済みの異なる新たなコードからそれぞれ近似するタップ係数が生成される場合は、変換済みの異なる新たなコードを同一のコードに(異なる新たなコードをいずれか1つのコードに統一)してもよい。これにより、係数記憶部115の記憶容量が少なく済む。
変換テーブル記憶部83に記憶されている変換テーブルは、積和演算器毎に用意されているが、これに限定されるものではない。例えば、図22Cに示すように、所定の複数の積和演算器に複数の同一又は近似する値のタップ係数が供給される場合には、所定の複数の積和演算器に共通する変換テーブルを用意してもよい。つまり、複数の変換テーブルを1つにまとめることができる。
<画像変換装置110による画像変換処理>
図29は、図24の画像変換装置110による画像変換処理の例を説明するフローチャートである。
ステップS71では、注目画素選択部111は、画像変換装置110に入力される入力画像に対する出力画像を構成する画素のうち、まだ、注目されていない画素の1つを注目画素として選択する。そして、ステップS72に進む。例えば、注目画素選択部111は、例えば、出力画像を構成する画素のうち注目画素として選択されていない画素を、ラスタースキャン順で注目画素として選択する。
ステップS72では、コードタップ選択部112は、入力画像から、注目画素についてのコードタップを構成する画素を選択する。フィルタタップ選択部113は、入力画像から、注目画素についてのフィルタタップを構成する画素を選択する。コードタップはコード演算部114に供給され、フィルタタップは積和演算部116に供給される。そして、ステップS73に進む。
ステップS73では、コード演算部114は、コードタップ選択部112から供給される注目画素についてのコードタップに基づいて、注目画素をコード演算する。コード演算部114は、そのコード演算により得られた注目画素のコードを係数記憶部115に供給する。そして、ステップS74に進む。
ステップS74では、係数記憶部115は、注目画素選択から供給される位置情報(ブロック情報)毎に係数を記憶している。
係数記憶部115は、記憶しているタップ係数のうち、コード演算部114から供給されるコードに対応するアドレスに記憶されているタップ係数であって、注目画素選択部111から供給されるブロック情報に対応した近傍の複数のタップ係数を選択し、読み出す。積和演算部116は、係数記憶部115から出力された複数のタップ係数を取得する。そして、ステップS75に進む。
ステップS75では、積和演算部116が、フィルタタップ選択部112により選択されたフィルタタップと、係数記憶部115から取得した複数のタップ係数とを用いて、所定の複数の積和演算を行う。これにより、積和演算部116は、複数の画素値を求めて出力する。そして、ステップS76に進む。
ステップS76では、補間演算部117が、積和演算部116が出力する複数の画素値と、光学系41から供給された位相情報とに基づいて、線形補間またはラグランジュ補間等の補間方法で補間する。これにより、注目画素の画素値が求められる。そして、ステップS77に進む。
ステップS57では、注目画素選択部111が、出力画像の中にまだ注目画素と選択されていない画素があるか否かを判定する。肯定的な判定結果の場合は、ステップS51に戻る。そして、再びステップS51以降の処理が実行される。否定的な判定結果の場合は、この一連の処理が終了する。
<タップ係数の求め方>
図24に示す係数記憶部115に記憶されるタップ係数は、図3に示す学習装置20により求められる。
具体的には、図3に示す学習用画像記憶部21には、学習用画像として先鋭感の高い高画質画像が記憶される。
教師データ生成部22は、学習用画像記憶部21に記憶された学習用画像を、そのまま教師データ(教師画像)として教師データ記憶部23に供給する。
生徒データ生成部24は、学習用画像記憶部21から学習用画像を読み出し、読み出した学習用画像に対して、図6の光学系41の設計データに基づく光学シミュレーションデータや歪曲収差補正データ等を用いて、画質を劣化させた生徒データ(生徒画像)を生成する。生徒データ生成部24は、生成された生徒データを生徒データ記憶部25に供給する。
学習部26は、教師データ記憶部23から教師データを読み出し、生徒データ記憶部25から生徒データを読み出す。学習部26は、読み出した教師データと生徒データとを用いて、コード毎、位置毎に、式(8)の正規方程式を立式して解くことにより、コード毎・位置毎のタップ係数を導出する。
以上のように、学習装置20は、画像(レンズ)の位置情報に応じてコードを分類して学習することにより、あらゆる収差を補正するタップ係数を求めることができる。
図24の画像変換装置110は、上記のタップ係数を用いることで、歪曲収差を除く収差、例えば、球面収差、コマ収差、批点収差、像面湾曲、倍率色収差などによって画質の劣化した画像を補正しつつ、周辺減光や先鋭感を落とさない均質な出力画像を得ることができる。
<画像変換装置50による画像変換処理>
図30は、図7の画像変換装置50による画像変換処理の例を説明するフォローチャートである。
ステップS91では、画像変換装置50は、図6の光学系41から、撮像レンズのズーム値や絞りのF値等の撮影情報を取得する。そして、ステップS92に進む。
ステップS92では、図7の歪曲収差補正位置情報生成処理部53は、ステップS91で入力されたズーム値等の撮影情報に基づいて、収差補正テーブル記憶部52から、所定のズーム値等の撮影情報近傍の収差補正テーブルを読み出す。歪曲収差補正位置情報生成処理部53は、前述した図10に示すフローチャートに従って、歪曲収差補正位置情報を小数点以下まで生成する。生成された歪曲収差補正位置情報は、歪曲収差補正位置情報記憶部54に記憶される。
係数補間処理部56は、係数記憶部55から、ステップS91で入力されたズーム値及びF値等の撮影情報近傍の係数情報を読み出し、前述した図11のフローチャートに従って、所定のズーム値及びF値の位置別係数を生成する。生成された位置別係数は、位置別係数記憶部57に記憶される。
ステップS93では、図7のフレーム記憶部58に第1の画像が書き込まれる。そして、ステップS94に進む。
ステップS94では、注目画素選択部51は、フレーム記憶部58に記憶された第1の画像に対する第2の画像を構成する画素のうち、まだ注目されていない画素の1つを注目画素として選択する。すなわち、注目画素選択部51は、例えば、第2の画像を構成する画素のうち、ラスタースキャン順で、まだ注目画素とされていない画素を注目画素として選択する。そして、ステップS95に進む。
ステップS95では、歪曲収差補正位置情報記憶部54は、注目画素選択部51より供給される注目画素を表すアドレス(x,y)に基づいて、記憶されている歪曲収差補正位置情報(x’,y’)を読み出す。歪曲収差補正位置情報記憶部54は、読み出した歪曲収差補正位置情報(x’,y’)の小数点以下を四捨五入する。
歪曲収差補正位置情報記憶部54は、歪曲収差補正位置情報(x’,y’)を四捨五入した情報である整数位置情報をフレーム記憶部58に供給する。歪曲収差補正位置情報記憶部54は、その整数位置情報の下位数ビットをアドレス整列部59に供給する。歪曲収差補正位置情報記憶部54は、歪曲収差補正位置情報(x’,y’)の小数点以下の情報を第1収差補正部60に供給する。そして、ステップS96に進む。
ステップS96では、フレーム記憶部58は、歪曲収差補正位置情報記憶部54より供給された整数位置情報に従って、第1の画像の各画素の画素値を例えばラスタースキャン順に読み出すことにより、画素単位で歪曲収差補正された第1の画像を出力する。
さらに、フレーム記憶部58は、図12Bに示すように、その整数位置情報の画素近傍の4画素以上の画素値を読み出す。フレーム記憶部58は、画素値を位置情報整列部59に供給する。そして、ステップS97に進む。
ステップS97では、位置情報整列部59は、フレーム記憶部58からラスタースキャン順に供給された画素値を、歪曲収差補正位置情報記憶部54から供給された下位位置情報(下位数ビットの位置情報)に従って整列処理する。これにより、位置情報整列部59は、図12Aにおける注目画素の近傍画素がわかり、注目画素近傍のタップ情報(画素値)を第1の画像として、第1収差補正処理部60に供給する。そして、ステップS98に進む。
ステップS98では、第1収差補正部60は、位置情報整列部59から供給される注目画素近傍のタップ情報と、歪曲収差補正位置情報記憶部54から供給される小数点以下の位置情報と、に基づいて、歪曲収差の補正処理を行って、第3の画像を出力する。第3の画像は第2収差補正部61に供給される。そして、ステップS99に進む。
ステップS99では、第2収差補正部61は、注目画素選択部51から供給される注目画素情報と、位置別係数記憶部57から供給される位置別係数と、を用いて、第1収差補正部60より供給される第3の画像に対して、歪曲収差以外の収差補正を行って、第2の画像を出力する。そして、ステップS100に進む。
ステップS100では、注目画素選択部51が、まだ注目画素と選択されていない出力画像があるか否かを判定する。肯定的な判定結果の場合は、ステップS94に戻り、ステップS94以降の処理が繰り返される。否定的な判定結果の場合は、一連の処理が終了する。
<第1収差補正処理部60の他の構成例>
第1収差補正処理部60は、図14に示す画像変換装置70に代えて、図31に示す画像変換装置150を有する構成であってもよい。
画像変換装置150には、入力画像(第1の画像)として、例えばRGBの各色成分の画素値が入力される。画像変換装置150は、入力画像の微小な歪曲収差を補正し、かつ、画像に発生しうるジャギーやリンギングを抑制した出力画像を得る。画像変換装置150は、入力画像の微小な歪曲収差補正として、入力画像を歪曲収差が改善された画像に変換する画像処理、サイン関数による補間処理、三角波フィルタによる補間処理(線形補間処理)等を行う。
画像変換装置150は、サイン関数による水平、垂直の補間処理を行い、以下のような画像信号Vcの画像を求める。
ここで、画像信号Vaの画素間隔をΔt、画像信号Vaの画素位置nΔtの画素データをx(nΔt)、画像信号Vcの画素位置をtとする。画素位置tの画素データx(t)は、以下の式(15)により、画素位置tの前後に位置する画像信号VaのN個(適当な有限の数)の画素の画素値を用いて求められる。
Figure 2017158690
画像変換装置150は、図31に示すように注目画素選択部151、垂直補間部152、及び水平補間部153を有する。画像変換装置150に供給された入力画像は、垂直補間部152に供給される。
注目画素選択部151は、出力画像を構成する画素を、順次注目画素として選択し、選択した注目画素を表す情報を所定のブロックに供給する。
垂直補間部152は、注目画素に対して、入力画像の画素値を用いて垂直補間処理を行い、垂直補間済みの画像を水平補間部153に供給する。水平補間部153は、注目画素に対して、垂直補間部152から供給された画像を用いて水平補間処理を行い、水平補間済みの画像を出力画像(第3の画像)として出力する。
[第2の実施の形態]
つぎに、本発明の第2の実施の形態について説明する。
第1の実施の形態に係るディジタルカメラ40は、光学系の設計情報を用いて収差のない静止画又は動画を撮影する。但し、他社製の交換レンズを利用しようとすると、光学系の設計情報が手に入らないため、第1の実施の形態に係るディジタルカメラ40が利用できなくなる。
これに対して、第2の実施の形態に係るディジタルカメラは、他社製の交換レンズを利用する場合などの光学系の設計情報が手に入らない場合であっても、静止画又は動画を撮影することができる。
第2の実施の形態に係るディジタルカメラは、第1の実施の形態とほぼ同様に構成されている。但し、図6に示す画像補正部45は、図7に示す画像変換装置50に代えて、図32に示す画像変換装置160を有している。なお、画像変換装置160は、単独で、画像編集などの幾何学変換にも利用可能である。
図32は、画像変換装置160の構成例を示すブロック図である。以下では、説明した部位と同一の部位には同一の符号を付し、重複する説明は省略する。
画像変換装置160は、図7に示す画像変換装置50と同様に、注目画素選択部51、歪曲収差テーブル記憶部52、歪曲収差補正位置情報生成処理部53、フレーム記憶部58、位置情報整列部59、及び第1収差補正処理部60を有する。
画像変換装置160は、図7に示す画像変換装置50から係数記憶部55、係数補間処理部56、及び、位置別係数記憶部57を除外しており、更に、歪曲収差補正位置情報記憶部54及び第2収差補正処理部61に代えて、歪曲収差補正位置情報記憶部161及び第2収差補正処理部162を有する。
歪曲収差補正位置情報記憶部161は、注目画素選択部51より供給される注目画素を表すアドレス(x,y)に基づいて、前述の処理によって記憶された歪曲収差補正位置情報(x’,y’)を読み出す。歪曲収差補正位置情報記憶部161は、歪曲収差補正位置情報(x’,y’)の小数点以下を四捨五入する。
歪曲収差補正位置情報記憶部161は、歪曲収差補正位置情報(x’,y’)を四捨五入した情報である整数位置情報をフレーム記憶部58に供給する。歪曲収差補正位置情報記憶部161は、その整数位置情報の下位数ビットをアドレス整列部59に供給する。歪曲収差補正位置情報記憶部161は、歪曲収差補正位置情報(x’,y’)の小数点以下の情報を第1収差補正部60に供給する。さらに、歪曲収差補正位置情報記憶部161は、隣接画素との距離(Δx,Δy)を第2収差補正処理部162に、それぞれ供給する。
<画像変換装置170の構成例>
第2収差補正処理部162は、図33の画像変換装置170を有する。画像変換装置170は、主に先鋭感改善のための収差補正処理を行う。
画像変換装置170は、図24の画像変換装置110と同様に、注目画素選択部111、コードタップ選択部112、フィルタタップ選択部113、コード演算部114、及び積和演算部116を有する。
但し、画像変換装置170は、図24の画像変換装置110に対して、係数記憶部115及び補間演算部117に代えて、係数記憶部171及び補間演算部172を有する。
係数記憶部171は、後述する学習方法で求められた複数のタップ係数を記憶している。係数記憶部171は、図32の歪曲収差補正位置情報記憶部161から供給される隣接画素との距離情報(Δx,Δy)と、コード演算部114から供給されるコードと、に基づいて、そのコードに対応するアドレスに記憶され、かつ、距離情報(Δx,Δy)に近傍の複数の係数を選択する。そして、係数記憶部171は、選択された複数の係数を読み出して、積和演算部116に供給する。
積和演算部116は、補間演算部172で補間に必要とする画素分の複数の積和演算器を備えている。積和演算部116は、係数記憶部171より供給された複数のタップ係数をそれぞれの積和演算器に供給することで複数の画素値を演算し、演算された画素値を補間演算部172に供給する。
補間演算部172は、積和演算部116より供給された複数の画素値に対して、図32の歪曲収差補正位置情報記憶部161から供給される隣接画素との距離情報(Δx,Δy)を用いて、線形補間またはラグランジュ補間等の補間方法で補間して、出力画像(第2の画像)を得る。
なお、演算量が増えるが、積和演算部116と補間演算部172は入れ替え可能である。つまり、補間演算部116は、係数記憶部172より供給された複数のタップ係数を、線形補間またはラグランジュ補間等の補間方法で補間できる。このとき、積和演算部116は、補間されたタップ係数を用いて積和演算すればよい。
以上のように構成された画像変換装置170は、図29に示すフローチャートと同様にして、画像変換処理を行うことができる。
<タップ係数の求め方>
図33に示す係数記憶部171に記憶されるタップ係数は、図3に示す学習装置20により求められる。
具体的には、図3に示す学習用画像記憶部21には、学習用画像として先鋭感の高い高画質画像が記憶される。
教師データ生成部22は、学習用画像記憶部21に記憶された学習用画像を、そのまま教師データ(教師画像)として教師データ記憶部23に供給する。
生徒データ生成部24は、学習用画像記憶部21から学習用画像を読み出し、読み出した学習用画像に対してローパスフィルタ等でフィルタリングすることにより、教師データよりも先鋭感が低い生徒データ(生徒画像)を生成する。生徒データ生成部24は、生成された生徒データを生徒データ記憶部25に供給する。
学習部26は、教師データ記憶部23から教師データを読み出し、生徒データ記憶部25から生徒データを読み出す。学習部26は、読み出した教師データと生徒データとを用いて、コード毎、水平・垂直のローパスフィルタの係数毎に、式(8)の正規方程式を立式して解くことにより、コード毎、水平・垂直のローパスフィルタの係数毎のタップ係数を導出できる。
<画像変換装置160による画像変換処理>
図34は、図32の画像変換装置160による画像変換処理の例を説明するフォローチャートである。なお、ステップS121からステップS126までの処理は、図30に示すステップS91からステップS96までの処理と比較すると、F値の取得(ステップS91)、位置別係数の生成(ステップS92)を除き、同様に行われる。そこで、ステップS127以降の処理について説明する。
ステップS127では、位置情報整列部59は、ステップS97と同様の処理を行って、注目画素近傍のタップ情報(画素値)を第1の画像として第1収差補正処理部60に供給する。さらに、位置情報整列部59は、隣接画素との距離情報(Δx,Δy)を第2収差補正処理部162に供給する。そして、ステップS128に進む。
ステップS128では、第1収差補正部60は、ステップS97と同様の処理を行って、歪曲収差の補正処理を行って、第3の画像を出力する。そして、ステップS99に進む。
ステップS129では、第2収差補正部162は、注目画素選択部51から供給される注目画素情報と、歪曲収差補正位置情報記憶部161から供給される隣接画素との距離情報(Δx,Δy)と、を用いて、前述したように、第1収差補正部60より供給される第3の画像に対して、歪曲収差以外の収差補正(例えば先鋭感の改善処理等)を行って第2の画像を出力する。そして、ステップS130に進む。
ステップS130では、注目画素選択部51が、まだ注目画素と選択されていない出力画像があるか否かを判定する。肯定的な判定結果の場合は、ステップS124に戻り、ステップS124以降の処理が繰り返される。否定的な判定結果の場合は、一連の処理が終了する。
[本発明の他の構成例]
本発明は、前述した実施の形態に限定されるものではなく、請求の範囲に記載された事項の範囲内において種々の変更が可能である。
本発明は、1つの機能を、ネットワークを介して、複数の装置で分担、共同して処理するクラウドコンピューティングにも適用可能である。
例えば、前述した実施の形態のように1つの装置が前述のフローチャートで説明した各ステップを実行してもよいし、複数の装置が各ステップを分担して実行してもよい。さらに、1つのステップが複数の処理で構成されている場合、1つの装置が複数の処理を実行してもよいし、複数の装置がそれぞれの処理を分担して実行してもよい。
また、前述した実施の形態では、画像処理の対象が、RGBの3色の色成分の画素値となっているが、本発明はこれに限定されるものではない。例えば、ホワイトやイエロー等を加えた4色以上の色成分の画素値、CMYKの色成分の画素値、輝度信号の画素値なども対象となる。
本発明は、ディジタルカメラ、いわゆるスマートフォン、監視カメラ、内視鏡、顕微鏡、シネマカメラなどの撮像装置、画像を編集するアプリケーション等にも適用可能である。
<システムカメラの一実施の形態>
放送局用カメラ、内視鏡、及び顕微鏡などは、リアルタイムで長時間の撮影することが多いため、カメラヘッドと画像処理装置に分かれているケースが多い。カメラヘッドと画像処理装置に分かれているシステムを、システムカメラという。本発明は、このようなシステムカメラにも適用可能である。
<レンズ交換式ディジタルカメラの一実施の形態>
高級一眼ディジタルカメラ及び業務用カメラなどのレンズ交換式ディジタルカメラで撮影された画像は、信号処理装置で編集されることが多い。この場合、レンズ交換式ディジタルカメラは、撮影した画像や撮影情報などのデータを、メモリカードに記録する。信号処理装置は、メモリカードに記録された画像や撮影情報などのデータを読み込んで、画像を編集する。本発明は、この信号処理装置にも適用可能である。
なお、レンズ交換式ディジタルカメラから信号処理装置に画像等を供給する手段は、メモリカードに限らず、磁気ディスク、光ディスク、または、ネットワークや各種ケーブル、無線などの通信手段でもよい。
<コンピュータの一実施の形態>
本発明は、ハードウェアにもソフトウェアにも適用可能である。例えば、図6に示す画像補正部45は、ハードウェアで構成されたものでもよいし、前述した一連の処理を実行できるプログラムがインストールされたコンピュータ(プロセッサ)で構成されたものでもよい。
10 画像変換装置、 11 注目画素選択部、 12 フィルタタップ選択部、 13 コードタップ選択部、 14 コード演算部、 15 係数記憶部、 16 積和演算部、 20 学習装置、 21 学習用画像記憶部、 22 教師データ生成部、 23 教師データ記憶部、 24 生徒データ生成部、 25 生徒データ記憶部、 26 学習部、 31 注目画素選択部、 32 フィルタタップ選択部、 33 コードタップ選択部、 34 コード演算部、 35 足し込み部、 36 タップ係数演算部、 41 光学系、 42 イメージセンサ、 43 記憶部、 44 信号処理部、 45 画像補正部、 46 出力部、 47 制御部、 50 画像変換装置、 51 注目画素選択部、 52 歪曲収差テーブル記憶部、 53 歪曲収差補正位置情報生成処理部、 54 歪曲収差補正位置情報記憶部、 55 係数記憶部、 56 係数補間処理部、 57 位置別係数記憶部、 58 フレーム記憶部、 59 位置情報整列部、 60 第1収差補正処理部、 61 第2収差補正処理部、 70 画像変換装置、 71 注目画素選択部、 72 フィルタタップ選択部、 73 コードタップ選択部、 74 コード演算部、 75 係数記憶部、 76 積和演算部、 77 補間演算部、 81 量子化演算部、 82 中心画素差分比検出部、 83 変換テーブル記憶部、 91〜106 積和演算器、110 画像変換装置、 111 注目画素選択部、 112 フィルタタップ選択部、 113 コードタップ選択部、 114 コード演算部、 115 係数記憶部、 116 積和演算部、 117 補間演算部、 121 量子化演算部、 122 変換テーブル記憶部、 160 画像変換装置、 161 歪曲収差補正位置情報記憶部、 162 第2収差補正処理部、 170 画像変換装置、 171 係数記憶部、 172 補間演算部



本発明の第1の態様は、光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第1の選択部と、前記第1の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第1のコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記第1のコード演算部により演算されたコードに基づいて複数のタップ係数を出力する第1の係数記憶部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第2の選択部と、前記第2の選択部により選択された複数画素の各画素値と、前記第1の係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差以外の収差を補正して前記第2の画像を生成する第1の画素値演算部と、を有する第2の収差補正部と、を備える。
本発明の第2の態様は、光学系の収差の影響を受けた第1の画像の各画素の位置情報と前記収差の影響が除去された第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成ステップと、前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第1の画像を記憶する画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正ステップと、前記第1の収差補正ステップにより補正された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第1の選択ステップと、前記第1の選択ステップにより選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算ステップと、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶する係数記憶部から、前記コード演算ステップにより演算されたコードに基づいて複数のタップ係数を出力する係数出力ステップと、前記第1の収差補正ステップにより補正された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第2の選択ステップと、前記第2の選択ステップにより選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差以外の収差を補正して前記第2の画像を生成する画素値演算ステップと、を有する第2の収差補正ステップと、を備える。
本発明の第3の態様は、コンピュータを、光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第1の選択部と、前記第1の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第2の選択部と、前記第2の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差以外の収差を補正して前記第2の画像を生成する画素値演算部と、を有する第2の収差補正部と、して機能させるためのプログラムが記録された記録媒体である。
本発明の第4の態様は、光学系を介して入射される撮像光に応じて第1の画像を生成する撮像素子と、前記撮像素子で生成された第1の画像を記憶する画像記憶部と、前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第1の選択部と、前記第1の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算するコード演算部と、コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する係数記憶部と、前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第2の選択部と、前記第2の選択部により選択された複数画素の各画素値と、前記係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差以外の収差を補正して前記第2の画像を生成する画素値演算部と、を有する第2の収差補正部と、を備える。

Claims (15)

  1. 光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、
    前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、
    前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、
    前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、
    を備える画像処理装置。
  2. 第1の収差補正部は、
    前記画像記憶部から読み出された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第1の選択部と、
    前記第1の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第1のコード演算部と、
    コード毎に歪曲収差による位相ずれを補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードと、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づく複数のタップ係数を出力する第1の係数記憶部と、
    前記画像記憶部から読み出された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第2の選択部と、
    前記第2の選択部により選択された複数画素の各画素値と、前記第1の係数記憶部から出力された複数のタップ係数と、前記位置情報生成部により生成された位置情報の小数点以下情報と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差による位相ずれを補正する第1の画素値演算部と、
    を有する請求項1に記載の画像処理装置。
  3. 第2の収差補正部は、
    前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、所定パターンの複数画素を選択する第3の選択部と、
    前記第3の選択部により選択された前記所定パターンの複数画素の特徴量を示すコードを演算する第2のコード演算部と、
    コード毎に歪曲収差以外の収差を補正するためのタップ係数を記憶し、前記コード演算部により演算されたコードに基づいて複数のタップ係数を出力する第2の係数記憶部と、
    前記第1の収差補正部により補正された前記第1の画像から、前記走査された注目画素に基づいて、前記第1の画像の特定パターンの複数画素を選択する第4の選択部と、
    前記第4の選択部により選択された複数画素の各画素値と、前記第2の係数記憶部から出力された複数のタップ係数と、に基づいて、前記注目画素の画素値を演算することで、前記第1の画像の各画素に対して歪曲収差以外の収差を補正して前記第2の画像を生成する第2の画素値演算部と、
    を有する請求項1に記載の画像処理装置。
  4. 前記第2の係数記憶部は、前記光学系の設計情報による光学シミュレーションを用いた学習により求められたものであって、画像の先鋭感を改善するための複数のタップ係数を記憶し、
    前記第2の画素値演算部は、前記第2の係数記憶部から出力された複数のタップ係数を用いて前記注目画素の画素値を演算することで、前記第1の画像から先鋭感の改善された前記第2の画像を生成する
    請求項3に記載の画像処理装置。
  5. 前記第1のコード演算部は、
    前記第1の選択部により選択された複数画素の各画素値を量子化して量子化コードを出力する第1の量子化手段と、
    複数の量子化コードと前記第1の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第1の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第1の量子化コード演算部により演算された量子化コードを、前記第1の変換テーブルに基づいて、対応するコードに変換する第1の変換テーブル記憶部と、
    を有する請求項2に記載の画像処理装置。
  6. 前記第2のコード演算部は、
    前記第3の選択部により選択された複数画素の各画素値を量子化して量子化コードを出力する第2の量子化手段と、
    複数の量子化コードと前記第2の係数記憶部から複数のタップ係数を読み出すための複数のコードとの対応関係を示す第2の変換テーブルに対して、近似するタップ係数を読み出すための複数のコードを同一のコードに設定して、前記第2の量子化コード演算部により演算された量子化コードを、前記第2の変換テーブルに基づいて、対応するコードに変換する第2の変換テーブル記憶部と、
    を有する請求項3に記載の画像処理装置。
  7. 第1の画素値演算部は、
    前記第2の選択部により選択された複数画素の各画素値と、前記第1の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第1の積和演算器と、
    前記複数の第1の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第1の補間演算部と、
    を有する請求項2に記載の画像処理装置。
  8. 第2の画素値演算部は、
    前記第4の選択部により選択された複数画素の各画素値と、前記第2の係数記憶部から出力された複数のタップ係数と、の積和演算を行うことで複数の画素値を得る複数の第2の積和演算器と、
    前記複数の第2の積和演算器により得られた複数の画素値を用いて補間処理を行うことで、前記注目画素の画素値を演算する第2の補間演算部と、
    を有する請求項3に記載の画像処理装置。
  9. 前記位置情報生成部により生成された所定フレームの前記第1の画像の各画素の位置情報を記憶する位置情報記憶部を更に備え、
    前記第1の収差補正部は、前記所定フレーム以降のフレームについて、前記位置情報記憶部に記憶された各画素の位置情報の小数点以下の情報を用いて、歪曲収差による位相ずれを補正する
    請求項1に記載の画像処理装置。
  10. 撮影情報毎に用意された複数の前記歪曲収差テーブルを記憶する歪曲収差テーブル記憶部を更に備え、
    前記位置情報生成部は、前記歪曲収差テーブル記憶部から、入力された撮影情報に近似する撮影情報に対応する複数の歪曲収差テーブルを読み出し、読み出された複数の歪曲収差テーブルを用いて前記入力された撮影情報に対応する歪曲収差テーブルを補間して、補間された歪曲収差テーブルを用いて、前記第1の画像の画素の位置情報を生成する
    請求項1に記載の画像処理装置。
  11. 前記第2の収差補正部は、
    撮影情報毎に用意された複数のタップ係数を記憶する前記第2の係数記憶部から、入力された撮影情報に近似する撮影情報に対応する複数のタップ係数を読み出し、読み出された複数のタップ係数を用いて前記入力された撮影情報に対応する複数のタップ係数を補間するタップ係数補間部を更に備え、
    前記第2の画素値演算部は、前記タップ係数補間部で補間された複数のタップ係数を用いて、前記注目画素の画素値を演算する
    請求項3に記載の画像処理装置。
  12. 光学系の収差の影響を受けた第1の画像の各画素の位置情報と前記収差の影響が除去された第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、前記第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成ステップと、
    前記位置情報生成ステップで生成された位置情報の小数点以下情報を用いて、前記第1の画像を記憶する画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正ステップと、
    前記第1の収差補正ステップで補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正ステップと、
    を備える画像処理方法。
  13. コンピュータを、
    光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、
    前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、
    前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、
    前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、
    して機能させるためのプログラムが記録された記録媒体。
  14. コンピュータを、
    光学系の収差の影響を受けた第1の画像を記憶する画像記憶部と、
    前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、
    前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、
    前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、
    して機能させるためのプログラム。
  15. 光学系を介して入射される撮像光に応じて第1の画像を生成する撮像素子と、
    前記撮像素子で生成された第1の画像を記憶する画像記憶部と、
    前記収差の影響が除去された第2の画像の各画素の画素値を生成するために所定の順序で走査された注目画素の位置情報と、前記第1の画像の各画素の位置情報と前記第2の画像の各画素の位置情報との対応関係を示す歪曲収差テーブルと、に基づいて、前記注目画素が前記第2の画像上で所定の順序で走査される毎に、走査された注目画素に対応する前記第1の画像の画素の位置情報を生成する位置情報生成部と、
    前記位置情報生成部により生成された位置情報の小数点以下情報を用いて、前記画像記憶部から読み出された第1の画像の各画素に対して、歪曲収差による位相ずれを補正する第1の収差補正部と、
    前記第1の収差補正部により補正された第1の画像に対して、歪曲収差以外の収差を補正することで前記第2の画像を生成する第2の収差補正部と、
    を備える撮像装置。





JP2016560837A 2016-03-14 2016-03-14 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置 Active JP6164564B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/057997 WO2017158690A1 (ja) 2016-03-14 2016-03-14 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置

Publications (2)

Publication Number Publication Date
JP6164564B1 JP6164564B1 (ja) 2017-07-19
JPWO2017158690A1 true JPWO2017158690A1 (ja) 2018-04-05

Family

ID=59351317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560837A Active JP6164564B1 (ja) 2016-03-14 2016-03-14 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置

Country Status (6)

Country Link
US (1) US10291844B2 (ja)
JP (1) JP6164564B1 (ja)
KR (1) KR102011938B1 (ja)
CN (1) CN107924558B (ja)
DE (1) DE112016006582T5 (ja)
WO (1) WO2017158690A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018000795A (ja) * 2016-07-07 2018-01-11 オリンパス株式会社 内視鏡プロセッサ
CN107845583B (zh) * 2016-09-18 2020-12-18 中芯国际集成电路制造(上海)有限公司 基板表面缺陷检测装置、图像畸变校正方法和装置以及基板表面缺陷检测设备
JP7005168B2 (ja) * 2017-05-02 2022-01-21 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN107290700B (zh) * 2017-08-08 2020-12-04 上海联影医疗科技股份有限公司 一种相位校正方法、装置及磁共振系统
JP6516806B2 (ja) * 2017-08-31 2019-05-22 キヤノン株式会社 画像表示装置
JP6435560B1 (ja) * 2018-03-10 2018-12-12 リアロップ株式会社 画像処理装置、画像処理方法、プログラム及び撮像装置
TWI692939B (zh) * 2018-08-14 2020-05-01 鈺創科技股份有限公司 過濾訊號的數位濾波器
CN110188225B (zh) * 2019-04-04 2022-05-31 吉林大学 一种基于排序学习和多元损失的图像检索方法
JP7403279B2 (ja) 2019-10-31 2023-12-22 キヤノン株式会社 画像処理装置および画像処理方法
JP6694626B1 (ja) * 2019-12-17 2020-05-20 リアロップ株式会社 画像処理装置、画像処理方法、プログラム及び撮像装置
CN112819725B (zh) * 2021-02-05 2023-10-03 广东电网有限责任公司广州供电局 一种径向畸变的快速图像校正方法
CN116823681B (zh) * 2023-08-31 2024-01-26 尚特杰电力科技有限公司 红外图像的畸变矫正方法、装置、系统及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6165024A (ja) 1984-09-04 1986-04-03 Mazda Motor Corp エンジンのトルク変動制御装置
JPH04348343A (ja) 1991-05-27 1992-12-03 Matsushita Electron Corp 縮小投影露光装置用レチクル
JP3035416B2 (ja) 1992-11-18 2000-04-24 キヤノン株式会社 撮像装置及び画像再生装置及び映像システム
JP3653287B2 (ja) * 1993-12-25 2005-05-25 ソニー株式会社 画像情報変換装置及び画像情報変換方法
JPH0893790A (ja) 1994-09-29 1996-04-09 Exedy Corp ダンパーディスク組立体
JP3950188B2 (ja) * 1996-02-27 2007-07-25 株式会社リコー 画像歪み補正用パラメータ決定方法及び撮像装置
JP2000004391A (ja) 1998-06-16 2000-01-07 Fuji Photo Film Co Ltd 収差補正量設定方法、位置調整装置及び画像処理装置
JP4144292B2 (ja) * 2002-08-20 2008-09-03 ソニー株式会社 画像処理装置と画像処理システム及び画像処理方法
JP2004241991A (ja) * 2003-02-05 2004-08-26 Minolta Co Ltd 撮像装置、画像処理装置及び画像処理プログラム
US7596286B2 (en) * 2003-08-06 2009-09-29 Sony Corporation Image processing apparatus, image processing system, imaging apparatus and image processing method
JP2005267457A (ja) * 2004-03-19 2005-09-29 Casio Comput Co Ltd 画像処理装置、撮影装置、画像処理方法及びプログラム
JP2005311473A (ja) 2004-04-16 2005-11-04 Sharp Corp 撮像装置および信号処理方法ならびにそのプログラムと記録媒体
US7920200B2 (en) * 2005-06-07 2011-04-05 Olympus Corporation Image pickup device with two cylindrical lenses
JP4348343B2 (ja) 2006-02-10 2009-10-21 パナソニック株式会社 部品実装機
JP4487952B2 (ja) * 2006-02-27 2010-06-23 ソニー株式会社 カメラ装置及び監視システム
WO2008139577A1 (ja) * 2007-05-09 2008-11-20 Fujitsu Microelectronics Limited 画像処理装置、撮像装置、および画像歪み補正方法
US8169510B2 (en) 2007-12-18 2012-05-01 Sony Corporation Data processing device, data processing method, and storage medium
JP5010533B2 (ja) * 2008-05-21 2012-08-29 株式会社リコー 撮像装置
JP5180687B2 (ja) * 2008-06-03 2013-04-10 キヤノン株式会社 撮像装置及び補正方法
JP5241823B2 (ja) * 2009-07-21 2013-07-17 キヤノン株式会社 色収差を補正する画像処理装置、画像処理方法、プログラム、および、記憶媒体
JP5546229B2 (ja) 2009-12-09 2014-07-09 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置および画像処理プログラム
JP5438579B2 (ja) * 2010-03-29 2014-03-12 キヤノン株式会社 画像処理装置及びその制御方法
JP5742179B2 (ja) * 2010-11-05 2015-07-01 ソニー株式会社 撮像装置、画像処理装置、および画像処理方法、並びにプログラム
JP2014087022A (ja) * 2012-10-26 2014-05-12 Canon Inc 撮像装置、撮像装置の制御方法、プログラム
JP6108773B2 (ja) * 2012-11-06 2017-04-05 キヤノン株式会社 画像処理装置、その制御方法、および制御プログラム
JP6041651B2 (ja) * 2012-12-10 2016-12-14 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
WO2014155754A1 (ja) * 2013-03-28 2014-10-02 富士フイルム株式会社 画像処理装置、撮像装置、画像処理方法及びプログラム並びに記録媒体
JP2015198380A (ja) * 2014-04-02 2015-11-09 キヤノン株式会社 画像処理装置、撮像装置、画像処理プログラム、および画像処理方法

Also Published As

Publication number Publication date
JP6164564B1 (ja) 2017-07-19
US20180198977A1 (en) 2018-07-12
US10291844B2 (en) 2019-05-14
KR102011938B1 (ko) 2019-08-19
WO2017158690A1 (ja) 2017-09-21
KR20180118790A (ko) 2018-10-31
CN107924558A (zh) 2018-04-17
DE112016006582T5 (de) 2018-12-13
CN107924558B (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
JP6164564B1 (ja) 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置
CN102474626B (zh) 用于校正色像差的图像处理设备和图像处理方法
JP3915563B2 (ja) 画像処理装置および画像処理プログラム
US8031232B2 (en) Image pickup apparatus including a first image formation system and a second image formation system, method for capturing image, and method for designing image pickup apparatus
JP4657367B2 (ja) 画像処理装置、撮像装置、および画像歪み補正方法
CN102930506B (zh) 图像处理装置、图像处理方法和图像拾取装置
JP2004241991A (ja) 撮像装置、画像処理装置及び画像処理プログラム
JP6308748B2 (ja) 画像処理装置、撮像装置及び画像処理方法
JP5344648B2 (ja) 画像処理方法、画像処理装置、撮像装置および画像処理プログラム
JP4649171B2 (ja) 倍率色収差補正装置、倍率色収差補正方法及び倍率色収差補正プログラム
CN102158731B (zh) 影像处理系统及方法
JP2013009293A (ja) 画像処理装置、画像処理方法、プログラム、および記録媒体、並びに学習装置
JP2015115733A (ja) 画像処理方法、画像処理装置、撮像装置および画像処理プログラム
JP6838918B2 (ja) 画像データ処理装置及び方法
CN107979715B (zh) 摄像装置
CN102158730B (zh) 影像处理系统及方法
KR101205833B1 (ko) 디지털 줌 시스템을 위한 영상 처리 장치 및 방법
KR102470242B1 (ko) 영상 처리 장치, 영상 처리 방법, 및 프로그램
JP6694626B1 (ja) 画像処理装置、画像処理方法、プログラム及び撮像装置
JP6408884B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6435560B1 (ja) 画像処理装置、画像処理方法、プログラム及び撮像装置
JP5359814B2 (ja) 画像処理装置
JPWO2015083502A1 (ja) 画像処理装置、該方法および該プログラム
JP2014086957A (ja) 画像処理装置及び画像処理方法
JP2011182071A (ja) 倍率色収差・像歪補正装置およびそのプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161004

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161003

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A527

Effective date: 20161003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161003

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161003

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170609

R150 Certificate of patent or registration of utility model

Ref document number: 6164564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20220303

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250