JP7210337B2 - 画像処理装置、及び、歪み補正係数算出方法 - Google Patents

画像処理装置、及び、歪み補正係数算出方法 Download PDF

Info

Publication number
JP7210337B2
JP7210337B2 JP2019047448A JP2019047448A JP7210337B2 JP 7210337 B2 JP7210337 B2 JP 7210337B2 JP 2019047448 A JP2019047448 A JP 2019047448A JP 2019047448 A JP2019047448 A JP 2019047448A JP 7210337 B2 JP7210337 B2 JP 7210337B2
Authority
JP
Japan
Prior art keywords
pixel
function
calculation
image
fitting
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.)
Active
Application number
JP2019047448A
Other languages
English (en)
Other versions
JP2020149473A (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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
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 Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2019047448A priority Critical patent/JP7210337B2/ja
Priority to US16/557,905 priority patent/US11024015B2/en
Publication of JP2020149473A publication Critical patent/JP2020149473A/ja
Application granted granted Critical
Publication of JP7210337B2 publication Critical patent/JP7210337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06T5/80
    • G06T3/047
    • 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
    • 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"

Description

本実施形態は、画像処理装置、及び、歪み補正係数算出方法に関する。
一般的に、デジタルカメラ等の撮像装置で被写体を撮像して得られた画像は、撮像レンズ等の光学系が有する歪曲収差や倍率色収差の影響を受ける。そこで、近年では、光学系で生じる歪みを、画像に対して電気的に補正する画像処理装置が用いられている。
ラスタスキャン順に入力される入力画素を、この順に電気的に補正処理を行って出力画素位置を算出する画像処理装置が提案されている。このような画像処理装置においては、歪みを有する入力画像の画素位置(歪み位置)から、歪みのない出力画像の画素位置(理想位置)を、変換関数を用いて算出する。そして、当該変換関数の逆関数を用いて、算出した理想位置から歪み位置を算出する。この場合、理想位置を計算する変換関数と、歪み位置を計算する逆関数との誤差が大きいと、歪み補正に要する処理時間が増加してしまうという問題がある。
特開2017-16511号公報
本実施形態は、歪み補正の処理時間を低減することができる、画像処理装置、及び歪み補正係数算出方法を提供することを目的とする。
本実施形態の画像処理装置は、入力画像における入力画素の位置を、第1の画素位置計算により、所定の演算精度で出力画像における第1の画素位置に変換する、第1の計算部を備える。また、前記出力画像における第1の画素位置の近傍の出力画素の位置を、第2の画素位置計算により、前記所定の演算精度で前記入力画像における第2の画素位置に変換する、第2の計算部も備える。更に、前記第2の画素位置の画素値を、前記入力画像における周囲の画素からの補間により算出する画素補間部と、前記第1の画素位置計算に用いる変換関数と、前記第2の画素位置計算に用いる前記変換関数の逆関数とを生成する、画素位置計算関数生成部とも備える。前記画素位置計算関数生成部は、前記入力画素の位置と前記第1の画素位置との対応関係が既知であるデータ群に、浮動小数点方式を用いて関数をフィッティングさせることにより第1の関数を生成し、前記第1の関数を用いて固定小数点方式により前記所定の演算精度で前記入力画素の位置を前記第1の画素位置に変換し、浮動小数点化した前記第1の画素位置から前記入力画素の位置に、浮動小数点方式を用いて関数をフィッティングさせることにより第2の関数を生成し、前記第2の関数を用いて固定小数点方式により前記所定の演算精度で前記第1の画素位置を前記入力画像における第3の画素位置に変換し、前記入力画素の位置と前記第3の画素位置との距離が小さくなるように前記第1の関数と前記第2の関数とを調整し、調整後の前記第1の関数の係数を前記所定の演算精度で固定小数点化して前記変換関数とし、調整後の前記第2の関数の係数を前記所定の演算精度で固定小数点化して前記逆関数とする。
本発明の実施形態に係わる画像処理装置の構成を説明する概略ブロック図。 樽型歪曲収差を有する画像の一例を説明する図。 歪曲収差補正後の画像の一例を説明する図。 図1中の歪補正回路の構成の一例を説明する概略ブロック図。 入力画像の画素と出力画像の画素の対応関係を説明する図。 歪み補正処理を説明するフローチャート。 第1の実施形態における歪み補正係数算出処理を説明するフローチャート。 第2の実施形態におけるフィッティングデータ範囲絞り込み処理を説明するフローチャート。 入力画像と出力画像の画素領域を説明する図。 ディストーションデータの一例を説明する図。 図9Aに示すディストーションデータに基づき作成されたフィッティング仮データの一例を説明する図。 図9Bに示すフィッティング仮データに基づき作成されたフィッティングデータの一例を説明する図。
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係わる画像処理装置の構成を説明する概略ブロック図である。カメラによって取得した画像を、自動車の衝突防止や監視装置等に利用する場合等においては、その目的から超広角レンズが採用されることがあり、歪曲収差や倍率色収差が大きくなる傾向がある。図1の画像処理装置は、歪曲収差や倍率色収差によって画像に生じた歪みを、画像処理によって電気的に補正するものである。
図2Aは、樽型歪曲収差を有する画像の一例を説明する図であり、図2Bは、歪曲収差補正後の画像の一例を説明する図である。広角レンズを用いて撮影した場合、図2Aに示すように、画面周辺部の直線が外側に向かって広がって曲がり、画面中央から外側に向かって膨らんだように見える。図1に示す画像処理装置を用いて図2Aに示す画像の歪曲収差を電気的に補正することにより、図2Bに示すような歪みのない画像に変換することができる。
図1に示す画像処理装置は、CPU25を備えている。CPU25は図示しないメモリに記憶されたプログラムに従って動作し、各部を制御するようになされている。撮像部22は、CMOSセンサ等の図示しない撮像素子を備えている。撮像部22は、図示しない光学系を介して入射した光学像を撮像素子によって光電変換することで、撮像信号(雪像画像)を取得する。撮像部22の出力(撮像画像)は、画像処理装置21に与えられ、歪み補正された後、バス23を介してDRAM24に与えられて記憶される。撮像部22から出力される撮像画像は、光学系の歪曲収差等による歪みを有しており、画像処理装置21は、歪曲収差の補正などの各種画像処理を行う。
撮像部22からのラスタスキャン順の撮像出力は、画像処理装置21を構成する歪補正回路1に入力される。
歪補正回路1は、メモリ4に記憶されたパラメータを用いて、入力された撮像画像に対して歪み補正を行ってポスト処理回路2に出力する。
ポスト処理回路2は、入力された画像に対してガンマ補正及び色空間補正等を行った後、バッファ回路3に出力する。
バッファ回路3は、入力された画像を一時保持した後、バス23を介してDRAM24に出力する。こうしてDRAM24には、歪み補正された画像が記憶される。
図3は、図1中の歪補正回路1の構成の一例を説明する概略ブロック図である。歪補正回路1は、ラインバッファ11と、書き込み画素位置計算部12と、読み出し画素位置計算部13と、書き込み画素位置判定部14と、パラメータ格納部15と、画素補間部16とから主に構成されている。
ラインバッファ11は、撮像装置からラスタスキャン順に読み込まれる入力画像の画素(入力画素)を、補正処理に必要なライン数だけ保持する。例えば、バイリニア補間を用いて歪曲収差の補正を行う場合、1~2ライン分の画素を保持する。
書き込み画素位置計算部12は、ラインバッファ11にラスタスキャン順に読み込まれた入力画素のうち、補正対象の画素(以下、読み出し画素Piと示す)を抽出する。そして、読み出し画素Piを用いて補間した画素が含まれると推定される、書き込み画素領域を算出する。具体的には、読み出し画素Piの位置(vo, ho)(以下、画素Pi(vo, ho)と示す)を含む、周辺4点の画素{Pi0(vo, ho)、Pi1(vo, ho-1)、Pi2(vo-1, ho-1)、Pi3(vo-1, ho)}からなる読み出し画素位置集合を定義する。なお、本説明において、画素位置座標(v, h)は、画像左上を原点(0, 0)として、vを垂直画素位置、hを水平画素位置としている。
図4は、入力画像の画素と出力画像の画素の対応関係を説明する図である。図4に示すように、読み出し画素Pi0、Pi1、Pi2、Pi3のそれぞれについて、画素位置計算の変換関数を用い、対応する書き込み画素Po0、Po1、Po2、Po3の位置(vo’, ho’)、(vo’, ho-1’)、(vo-1’, ho-1’)、(vo-1’, ho’)を算出する。4点の画素Po0(vo’, ho’)、Po1(vo’, ho-1’)、Po2(vo-1’, ho-1’)、Po3(vo-1’, ho’)を頂点とする矩形領域が、出力画像における書き込み画素領域となる。
画素位置計算には、例えば、多項式で表現される関数や、グリッドテーブル変換など、一般的な画素位置計算用の変換関数を用いることができる。ただし、変換関数は、逆関数が存在するものを用いる。
読み出し画素位置計算部13は、書き込み画素領域内において、垂直位置、水平位置ともに整数となる画素の位置(書き込み画素候補Poc(v’, h’))を抽出する。そして、書き込み画素候補Poc(v’, h’)に対応する読み出し画素Pi(v”, h”)を、画素位置計算を行って算出する。なお、画素位置計算は、書き込み画素位置計算部12の画素位置計算に用いた変換関数の逆関数を用いて行う。候補が複数ある場合は、全ての候補Poc(v’, h’)に対して読み出し画素Pi(v”, h”)を算出する。
書き込み画素位置判定部14は、読み出し画素Pi(v”, h”)が読み出し画素位置集合に含まれている場合、当該画素Pi(v”, h”)に対する書き込み画素候補Poc(v’, h’)を、書き込み画素Po(v’, h’)として確定する。
画素位置計算関数生成部としてのパラメータ算出部15aは、書き込み画素位置計算部12の画素位置計算に用いる変換関数のパラメータを算出する。また、パラメータ算出部15aは、読み出し画素位置計算部13の画素位置計算関数に用いる逆関数のパラメータを算出する。更に、パラメータ算出部15aは、画素位置計算に用いる変換関数の次数と、逆関数の次数とを算出する。算出されたこれらのパラメータ及び次数は、パラメータ格納部15に格納される。
画素補間部16は、確定した書き込み画素Po(v’, h’)に対応する読み出し画素Pi(v”, h”)の画素値を算出する。通常、読み出し画素Pi(v”, h”)の座標は非整数であるので、例えば周辺の4画素を用いたバイリニア補間など、既存の補間手法を用いて画素値を算出する。書き込み画素Po(v’, h’)の画素値として、算出した画素値を出力する。出力された画素値は、DRAMなどのメモリ(図示せず)に格納される。なお、出力画素は補正を行った順に出力するため、出力画素の位置はランダムとなる。
次に、歪補正回路1における歪み補正処理の手順を説明する。図5は、第1の実施形態における歪み補正処理を説明するフローチャートである。
まず、ラスタスキャン順に歪補正回路1に入力された画素を、ラインバッファ11に拡充する(S1)。ラインバッファ11には、画素補間部16での処理に必要なライン数分、入力画素を格納する。例えば、バイリニア補間を用いる場合、補間対象画素の周辺2×2画素(4画素)の画素値が必要となるため、少なくとも1ライン+1画素分の画素値を格納する。
次に、補正対象画素である読み出し画素Pi(vo, ho)を特定し、読み出し画素Piを用いて補間した画素が含まれると推定される、書き込み画素領域を算出する(S2)。具体的には、まず、読み出し画素Pi(vo, ho)を含む周囲4点の画素{Pi0(vo, ho)、Pi1(vo, ho-1)、Pi2(vo-1, ho-1)、Pi3(vo-1, ho)}からなる集合を定義する。すなわち、Pi1(vo, ho-1)は、Pi(vo, ho)の左隣の画素、Pi2(vo-1, ho-1)はPi(vo, ho)の左上の画素、Pi3(vo-1, ho)はPi(vo, ho)の上の画素である。次に、画素Pi0、Pi1、Pi2、Pi3のそれぞれについて、画素位置計算を行い、対応する書き込み画素Po0(vo’, ho’)、Po1(vo’, ho-1’)、Po2(vo-1’, ho-1’)、Po3(vo-1’, ho’)を算出する。
画素位置計算は、例えば、多項式で表現される関数を用いる場合、次の手順で行う。
(a)像高の算出:入力画素の位置を、左上を原点とする(v, h)の座標系から、光学中心を原点とする(x, y)の座標系に変換する。なお、両座標系とも、水平方向は右側を正とし、垂直方向は下側を正とする。また、光学中心から入力画素までの距離(像高)rを算出する。以下に示す(1)~(3)式を用いて行う。
Figure 0007210337000001
(1)式において、vin は、垂直方向の入力画素位置(非負数)、[SENSOR_CROP_OFS_V]は、光学中心からの垂直画素位置オフセット(光学中心と、(v, h)座標系の原点との間の、垂直方向のオフセット)とする。また、(2)式において、hinは、水平方向の入力画素位置(非負数)、[SENSOR_CROP_OFS_H]は、光学中心からの水平画素位置オフセット(光学中心と、(v, h)座標系の原点との間の、水平方向のオフセット)とする。また、(3)式において、[NORM_SCALE]は正規化係数(非負数)とする。
なお、画像中心と光学中心とが一致する場合、[SENSOR_CROP_OFS_V]、[SENSOR_CROP_OFS_H]は、以下の(4)(5)式となる。
[SENSOR_CROP_OFS_V] = -(入力画像垂直サイズ/2 - 0.5) …(4)式
[SENSOR_CROP_OFS_ H] = -(入力画像水平サイズ/2 - 0.5) …(5)式
(b)画素位置計算の像高スケールの算出:光学中心から距離rにある点が、画素位置変換によって光学中心方向に移動する距離r_scaleを算出する。以下に示す(6)式を用いて行う。
Figure 0007210337000002
(6)式において、Px(x = 0~10 )は、それぞれの次数に応じた多項式係数(変換関数のパラメータ)とする。
すなわち、歪み位置である光学中心から距離rにある点を、歪みを補正した理想位置に変換する関数f(r)は、以下の(6´)式のように表すことができる。
Figure 0007210337000003
(c)出力画素位置の算出:像高スケールを用いて入力画素位置を出力画素位置に変換し、(v, h)の座標系に戻す。以下に示す(7)(8)式を用いて行う。
vout = r_scale * y - [SENSOR_CROP_OFS_V] …(7)式
hout = r_scale*x - [SENSOR_CROP_OFS_ H] …(8)式
(7)式において、voutは垂直方向の出力画素位置(非負数)、(8)式において、houtは水平方向の出力画素位置(非負数)とする。
すなわち、(a)から(c)の一連の手順により、読み出し画素Pi(vo, ho)、Pi1(vo, ho-1)、Pi2(vo-1, ho-1)、Pi3(vo-1, ho)が、それぞれ、書き込み画素Po0(vo’, ho’) 、Po1(vo’, ho-1’)、Po2(vo-1’, ho-1’)、Po3(vo-1’, ho’)に変換される。
なお、画素位置計算として、上述のような多項式で表現される関数を用いる場合、[SENSOR_CROP_OFS_V]、[SENSOR_CROP_OFS_H]、[NORM_SCALE]の各パラメータは予め設定されており、パラメータ格納部15に格納されているものとする。また、Px(x = 0~10 )の各パラメータは、パラメータ算出部15aにより事前に算出され、パラメータ格納部15に格納されているものとする。また、(6)式、(6´)式に示す多項式の次数は、パラメータ算出部15aにより事前に算出され、パラメータ格納部15に格納されているものとする。
画素位置計算により算出された、4点の画素Po0(vo’, ho’) 、Po1(vo’, ho-1’)、Po2(vo-1’, ho-1’)、Po3(vo-1’, ho’)を頂点とする矩形領域が、書き込み画素領域として特定される。
次に、上記特定された矩形領域内において、垂直座標、及び、水平座標が共に整数となる画素位置(書き込み画素候補Poc(v’, h’))を抽出する。例えば、画素Po0(vo’, ho’) 、Po1(vo’, ho-1’)、Po2(vo-1’, ho-1’)、Po3(vo-1’, ho’)の各座標を、繰り上げ、または、繰り下げにより調整・整数化し、得られた画素位置に外接する矩形領域内のすべての画素位置を、書き込み画素候補Poc(v’, h’)とする(S3)。繰り上げ、または、繰り下げによる調整・整数化は、以下に示す(21)(22)式を用いて行う。なお、4点の画素の各座標うち、書き込み画素領域として特定された矩形領域の左辺となる水平座標、及び、上辺となる垂直座標については、(21)式を用い、右辺となる水平座標、及び、下辺となる垂直座標については、(22)式を用いる。すなわち、水平座標vo-1’、及び、垂直座標ho-1’については(21)式を用いて繰り下げを行い、水平座標vo’、及び、垂直座標ho’については(22)式を用いて繰り上げを行う。
調整後画素座標 = [書き込み画素座標 - WRITE_AREA_DELTA] …(21)式
調整後画素座標 = [書き込み画素座標 + WRITE_AREA_DELTA] …(22)式
(21)(22)式において、WRITE_AREA_DELTAは整数化調整値であり、予め設定された値である。また、[]はガウス記号を表す。
続いて、S3で求めたすべての書き込み画素候補Poc(v’, h’)に対し、書き込み画素Po(v’, h’)であるか否かの判定を行う。判定をまだ行っていない書き込み画素候補Poc(v’, h’)がある場合(S4、No)、画素位置計算により、対応する読み出し画素Pi(v”, h”)を算出する(S5)。画素位置計算は、S2で用いた画素位置計算の逆関数を用いて行う。なお、逆関数における多項式係数(逆関数のパラメータ)は、パラメータ算出部15aにより事前に算出され、パラメータ格納部15に格納されているものとする。また、逆関数の多項式の次数も、パラメータ算出部15aにより事前に算出され、パラメータ格納部15に格納されているものとする。算出されたPi(v”, h”)の垂直座標、水平座標は、非整数となる。
次に、Pi(v”, h”)の画素値を補間によって算出するために必要な画素を特定する。例えば、バイリニア補間によって画素値を算出する場合、Pi(v”, h”)の周囲4点の画素が補間に必要な画素となる。補間に必要なすべての画素が、集合に含まれている場合、当該読み出し画素Pi(v”, h”)に対応する書き込み画素候補Poc(v’, h’)を、書き込み画素Po(v’, h’)と確定する(S6、Yes)。
この場合、確定した書き込み画素Po(v’, h’)の画素値を、対応する読み出し画素Pi(v”, h”)の画素値を画素補間によって算出して出力する(S7)。なお、出力画素Po(v’, h’)は、ラスタスキャン順でなくランダムとなる。続いてS4に戻り、未判定の書き込み画素候補Poc(v’, h’)の有無を調べる。
一方、補間に必要な画素のうち、集合に含まれていない画素が存在する場合、当該読み出し画素Pi(v”, h”)に対応する書き込み画素候補Poc(v’, h’)は、書き込み画素Po(v’, h’)でないと確定する(S6、No)。この場合、画素補間は行わずに、S4に戻って、未判定の書き込み画素候補Poc(v’, h’)の有無を調べる。
S4において、S3で求めたすべての書き込み画素候補Poc(v’, h’)について、判定が行われている場合、画像補正処理の一連の手順を終了する。
次に、パラメータ算出部15aにおける、変換関数f(r)の多項式係数及び次数、及び、逆関数f-1(r)の多項式係数及び次数の算出手順を説明する。なお、変換関数は、歪み位置を理想位置に補正する関数(歪み補正関数)であるので、以下の説明においては、多項式係数を歪み補正係数と示す。図6は、第1の実施形態における歪み補正係数算出処理を説明するフローチャートである。本手順では、回路の演算精度を踏まえ、変換関数の最適な次数と、各次数に応じた歪み補正係数を算出し、また、変換関数の最適な次数と、各次数に応じた歪み補正係数を算出する。
まず、歪み補正関数f(r)の最適次数を探索する範囲を設定する(S11)。通常、画素位置変換に用いる歪み補正関数f(r)と逆関数f-1(r)は、次数が高いほうが変換誤差は小さくなる。しかし、回路の演算精度の問題で変換関数の演算精度誤差が生じるため、最大次数が最も変換誤差が小さくなるとは限らない。従って、本実施形態では、歪み補正関数f(r)と逆関数f-1(r)のそれぞれについて、変換誤差が最も小さくなる次数を探索する。
一般的な多項式を用いた歪み補正関数の次数は10次程度であるので、例えば、探索範囲の最大値(n_max)は10とし、最小値(n_min)は0とする。この場合、以下の手順において、0次から10次までの間で歪み補正関数f(r)の最適な次数を探索する。次に、歪み補正関数f(r)に関し、最初に探索を行う次数を設定する(S12)。例えば、探索範囲のうち、低い次数から探索を開始し、高い次数に向かって探索を行う場合、探索を行う次数(探索次数、n_d)として探索範囲の最小値(n_min)をセットする。
次に、歪み補正関数の逆関数f-1(r)の最適次数を探索する範囲を設定する(S13)。探索範囲の最大値(j_max)と最小値(j_min)は、歪み補正関数f(r)の次数の探索範囲と必ずしも同じ値に設定する必要はない。例えば、探索範囲の最大値(j_max)を10とし、最小値(j_min)を0とした場合、以下の手順において、0次から10次までの間で逆関数f-1(r)の最適な次数を探索する。
続いて、歪み補正関数の逆関数f-1(r)に関し、最初に探索を行う次数を設定する(S14)。例えば、探索範囲のうち、低い次数から探索を開始し、高い次数に向かって探索を行う場合、探索を行う次数(探索次数、j_d)として探索範囲の最小値(j_min)をセットする。
次に、個々のレンズに固有なデータであり、光学系の設計から得られるレンズの歪み特性を表すデータであるディストーションデータを用い、歪み位置から理想位置へのフィッティングを行う(S15)。具体的には、探索次数(n_d)で多項式フィッティングを行い、歪み補正関数f(r)を算出する。このとき、フィッティングは浮動小数点で実施する。なお、フィッティングには、最小二乗法などの既存のアルゴリズムを用いることができる。フィッティングが完了し、得られた多項式係数は、回路の演算精度で固定小数点化する。
続いて、S15で固定小数点化した多項式係数を適用した歪み補正関数f(r)を用い、歪み位置から理想位置を算出する(S16)。そして、固定小数点で算出された理想位置を、浮動小数点化する(S17)。
次に、S17で浮動小数点化された理想位置から元の歪み位置へのフィッティングを行う(S18)。具体的には、探索次数(j_d)で多項式フィッティングを行い、歪み補正関数の逆関数f-1(r)を算出する。このとき、フィッティングは浮動小数点で実施する。なお、フィッティングには、最小二乗法などの既存のアルゴリズムを用いることができる。フィッティングが完了し、得られた多項式係数は、回路の演算精度で固定小数点化する。
続いて、S18で固定小数点化した多項式係数を適用した歪み補正関数の逆関数f-1(r)を用い、理想位置から歪み位置を算出する(S19)。続いて、S19で算出された歪み位置と、S16において歪み補正関数f(r)に入力した歪み位置との差を算出し、逆関数誤差とする(S20)。
S20で算出した逆関数誤差が、それまでに算出した逆関数誤差よりも小さい場合、(S21、Yes)、S20で算出した値で最小逆関数誤差値(min_diff)を更新する。また、探索次数(n_d)で歪み補正関数f(r)の最適次数(n_opt)を更新する。更に、探索次数(j_d)で歪み補正関数の逆関数f-1(r)の最適次数(j_ opt)を更新する(S22)。これらの3つの値を更新した後、S23に進む。
一方、S20で算出した逆関数誤差が、それまでに算出した逆関数誤差よりも小さい場合、(S21、No)、S23に進み、歪み補正関数の逆関数f-1(r)の探索次数(j_d)が探索範囲の最大値(j_max)であるか否かを判定する(S23)。探索次数(j_d)が、探索範囲の最大値(j_max)でない場合(S23、No)、探索次数(j_d)を1増加させた後(S24)、S15からS22の一連の手順を繰り返す。
歪み補正関数の逆関数f-1(r)の探索次数(j_d)が、探索範囲の最大値(j_max)である場合(S23、Yes)、歪み補正関数f(r)の探索次数(n_d)が探索範囲の最大値(n_max)であるか否かを判定する(S25)。探索次数(n_d)が探索範囲の最大値(n_max)でない場合(S25、No)、探索次数(n_d)を1増加させた後(S26)、S14からS22の一連の手順を繰り返す。
歪み補正関数f(r)の探索次数(n_d)が、探索範囲の最大値(n_max)である場合(S25、Yes)、歪み補正係数算出処理を終了する。すなわち、図6に示す一連の手順を終了した時点において、最適次数(n_opt)に設定されていた値が、歪み補正関数f(r)の最適な次数であり、最適次数(j_opt)に設定されていた値が、歪み補正関数の逆関数f-1(r)の最適な次数である。従って、探索次数(n_opt)で多項式フィッティングを行い算出された歪み補正関数f(r)の多項式係数と、探索次数(j_opt)で多項式フィッティングを行い算出された歪み補正関数の逆関数f-1(r)の多項式係数とが、パラメータ格納部15に格納される。
このように、本実施形態によれば、パラメータ算出部15aにおいて、回路の演算精度を考慮して、歪み位置から理想位置に変換する関数と理想位置から歪み位置に変換する関数との逆関数誤差が最小になるパラメータ(次数、及び、多項式係数)を算出する。当該パラメータを用いた歪み補正関数f(r)や歪み補正関数の逆関数f-1(r)により画素位置変換を行なうことで、歪み補正に要する処理時間を低減することができる。
図7は、第2の実施形態におけるフィッティングデータ範囲絞り込み処理を説明するフローチャートである。また、図8は、入力画像(歪み画像)と出力画像(理想画像)の画素領域を説明する図である。更に、図9Aは、ディストーションデータの一例を説明する図、図9Bは、図9Aに示すディストーションデータに基づき作成されたフィッティング仮データの一例を説明する図、図9Cは、図9Bに示すフィッティング仮データに基づき作成されたフィッティングデータの一例を説明する図である。なお、以下の説明において、理想画像は矩形画像で出力するものとする。
まず、歪み画像の画像サイズに合わせて、ディストーションデータから不要なデータを削除して、フィッティング仮データを作成する(S31)。図8に示す歪み画像31において、画像中心から一番遠い画素までの距離は、画像中心から矩形の頂点までの距離(r_real)である。従って、ディストーションデータから歪み位置r_realを含まれる範囲を抽出し、これ以外のデータを削除することにより、フィッティング仮データを作成する。
例えば、歪み画像31の画像サイズが、縦方向が1920、横方向が1080である場合、歪み位置r_realは、{(1920/2)^2+(1080/2)^2}^(1/2)=1101.45となる。また、例えば、図9Aに示すように、ディストーションデータは200刻みで入力されているとする。すなわち、ディストーションデータは、歪み位置が、…、200、400、800、1000、1200、1400、…と、これに対応する理想位置データが入力されているとする。この場合、ディストーションデータにおいて歪み位置1101.45を含むデータ範囲は、~1200までのデータとなる。従って、歪み位置1400以降のデータを、ディストーションデータから削除する。
次に、S31でデータ範囲が絞り込まれたディストーションデータ(フィッティング仮データ)を用いてフィッティングを行い、変換関数(歪み位置から理想位置への歪み補正関数f(r))を算出する(S32)。続いて、S32で算出された変換関数を用い、歪み位置r_realを補正した理想位置を算出する(S33)。すなわち、歪み位置r_realと、これに対応する理想位置(S33で算出された理想位置)とを補間生成し、フィッティング仮データに追加する。例えば、歪み位置r_real=1101.41を補正した理想位置が1451.15である場合、フィッティング仮データは、歪み位置が、…、200、400、800、1000、110.41、1200、の各点と、これに対応する理想位置となる。
続いて、フィッティング仮データから、歪み位置r_realより大きな位置のデータを削除する(S34)。上述の一例の場合、歪み位置1200のデータをフィッティング仮データから削除する。
次に、S34で範囲を絞り込んだフィッティング仮データを用いてフィッティングを行い、変換関数(歪み位置から理想位置への歪み補正関数f(r))を算出する(S35)。続いて、S35で算出した変換関数を用いて歪み画像31を補正した理想画像32から、出力画像33の範囲を特定する。そして、出力画像33において、画像中心から一番遠い画素までの距離(r_refc)を算出する。
出力画像33は、理想画像22に内接する矩形領域であるので、画像中心から出力画像33である矩形領域の頂点までの距離(r_refc)は、次のようにして算出することができる。まず、歪み画像31において、画像右端(または左端)の画素の位置を算出し、S35で算出した変換関数を用いて理想位置に変換する。次に、歪み画像31において、画像上端(または下端)の画素の位置を算出し、S35で算出した変換関数を用いて理想位置に変換する。二つの理想位置のそれぞれについて、中心画素からの距離を算出した後、三平方の定理を適用して、出力画像33である矩形領域の頂点までの距離(r_refc)を算出する。
続いて、S35で算出された変換関数の逆関数を求め、逆関数を用いて理想位置r_refcの元となる歪み位置を算出する(S36)。すなわち、理想位置r_refcと、これに対応する歪み位置(S36で算出された歪み位置)とを補間生成し、フィッティング仮データに追加する。例えば、出力画像33において、画像中心から一番遠い理想位置(r_refc)が1236.54であり、これの元となる歪み位置が915.12である場合、フィッティング仮データは、歪み位置が、…、200、400、800、915.12、1000、110.41、の各点と、これに対応する理想位置となる。
最後に、フィッティング仮データから、理想位置r_refcより大きな位置のデータを削除してフィッティングデータとし(S37)、フィッティングデータ範囲の絞り込み処理を終了する。上述の一例の場合、歪み位置1000と110.41のデータをフィッティング仮データから削除し、フィッティングデータとする。
このように、本実施形態によれば、歪み位置から理想位置への歪み補正関数f(r)を求めるためのフィッティングを行う前に、画素位置変換に用いるデータ範囲外のフィッティングデータを削除することで、フィッティングの精度を向上させることができる。故に、歪み位置から理想位置に変換する関数と理想位置から歪み位置に変換する関数との逆関数誤差をより小さくすることができるので、歪み補正に要する処理時間を低減することができる。
なお、上述の説明では、理想画像に内接する矩形領域が出力画像であるものとして説明したが、出力画像の範囲や形状はこれに限定されない。従って、出力画像において画像中心から一番遠い画素までの距離(r_refc)を算出する方法も、出力画像の範囲や形状に応じた方法を用いる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、一例として示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…歪み補正回路、11…ラインバッファ、12…書き込み画素位置計算部、13…読み出し画素位置計算部、14…書き込み画素位置判定部、15…パラメータ格納部、パラメータ算出部、21…画像処理装置、22…撮像部、23…バス、24…DRAM、25…CPU、16…画素補間部、31…歪み画像、32…理想画像、33…出力画像、Pi…入力画素、Po…出力画素、Poc…出力画素候補

Claims (8)

  1. 入力画像における入力画素の位置を、第1の画素位置計算により、所定の演算精度で出力画像における第1の画素位置に変換する、第1の計算部と、
    前記出力画像における第1の画素位置の近傍の出力画素の位置を、第2の画素位置計算により、前記所定の演算精度で前記入力画像における第2の画素位置に変換する、第2の計算部と、
    前記第2の画素位置の画素値を、前記入力画像における周囲の画素からの補間により算出する画素補間部と、
    前記第1の画素位置計算に用いる変換関数と、前記第2の画素位置計算に用いる前記変換関数の逆関数とを生成する、画素位置計算関数生成部と、を備え
    前記画素位置計算関数生成部は、前記入力画素の位置と前記第1の画素位置との対応関係が既知であるデータ群に、浮動小数点方式を用いて関数をフィッティングさせることにより第1の関数を生成し、前記第1の関数を用いて固定小数点方式により前記所定の演算精度で前記入力画素の位置を前記第1の画素位置に変換し、浮動小数点化した前記第1の画素位置から前記入力画素の位置に、浮動小数点方式を用いて関数をフィッティングさせることにより第2の関数を生成し、前記第2の関数を用いて固定小数点方式により前記所定の演算精度で前記第1の画素位置を前記入力画像における第3の画素位置に変換し、前記入力画素の位置と前記第3の画素位置との距離が小さくなるように前記第1の関数と前記第2の関数とを調整し、調整後の前記第1の関数の係数を前記所定の演算精度で固定小数点化して前記変換関数とし、調整後の前記第2の関数の係数を前記所定の演算精度で固定小数点化して前記逆関数とすることを特徴とする、画像処理装置。
  2. 前記第1の関数は、第1の次数の多項式であり、前記第2の関数は、第2の次数の多項式であり、前記画素位置計算関数生成部は、前記第1の次数と前記第2の次数の少なくとも一方の次数を変動させて、前記入力画素の位置と前記第3の画素位置との距離が最も小さくなるような前記第1の次数と前記第2の次数とを算出することを特徴とする、請求項に記載の画像処理装置。
  3. 前記画素位置計算関数生成部は、前記入力画像の画素範囲に基づき、前記第1の関数の生成のためのフィッティングに用いるデータを前記データ群から抽出することを特徴とする、請求項又は請求項に記載の画像処理装置。
  4. 前記画素位置計算関数生成部は、前記出力画像の画素範囲に基づき、前記第1の関数の生成のためのフィッティングに用いるデータを前記データ群から抽出することを特徴とする、請求項乃至請求項のいずれか一項に記載の画像処理装置。
  5. 歪み画素の位置と理想画素の位置との対応関係が既知であるデータ群に、浮動小数点方式を用いて関数をフィッティングさせることにより第1の関数を生成し、
    前記第1の関数を用いて固定小数点方式により所定の演算精度で第1の画素の位置を第2の画素の位置に変換し、
    浮動小数点化した前記第2の画素の位置から前記歪み画素の位置に、浮動小数点方式を用いて関数をフィッティングさせることにより第2の関数を生成し、
    前記第2の関数を用いて固定小数点方式により前記所定の演算精度で前記第2の画素の位置を第3の画素位置に変換し、
    前記第1の画素の位置と前記第3の画素位置との距離が小さくなるように前記第1の関数と前記第2の関数の係数を決定し、前記所定の演算精度で固定小数点化することを特徴とする、歪み補正係数算出方法。
  6. 前記第1の関数は、第1の次数の多項式であり、前記第2の関数は、第2の次数の多項式であり、前記第1の次数と前記第2の次数の少なくとも一方の次数を変動させて、前記第1の画素の位置と前記第3の画素位置との距離が最も小さくなるような前記第1の次数と前記第2の次数とを算出することを特徴とする、請求項に記載の歪み補正係数算出方法。
  7. 前記第1の関数を用いて変換を行う前記第1の画素の位置の範囲に基づき、前記第1の関数の生成のためのフィッティングに用いるデータを前記データ群から抽出することを特徴とする、請求項又は請求項に記載の歪み補正係数算出方法。
  8. 前記第2の関数を用いて変換を行う前記第2の画素の位置の範囲に基づき、前記第1の関数の生成のためのフィッティングに用いるデータを前記データ群から抽出することを特徴とする、請求項乃至請求項のいずれか一項に記載の歪み補正係数算出方法。
JP2019047448A 2019-03-14 2019-03-14 画像処理装置、及び、歪み補正係数算出方法 Active JP7210337B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019047448A JP7210337B2 (ja) 2019-03-14 2019-03-14 画像処理装置、及び、歪み補正係数算出方法
US16/557,905 US11024015B2 (en) 2019-03-14 2019-08-30 Image processing apparatus and distortion correction coefficient calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019047448A JP7210337B2 (ja) 2019-03-14 2019-03-14 画像処理装置、及び、歪み補正係数算出方法

Publications (2)

Publication Number Publication Date
JP2020149473A JP2020149473A (ja) 2020-09-17
JP7210337B2 true JP7210337B2 (ja) 2023-01-23

Family

ID=72423354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019047448A Active JP7210337B2 (ja) 2019-03-14 2019-03-14 画像処理装置、及び、歪み補正係数算出方法

Country Status (2)

Country Link
US (1) US11024015B2 (ja)
JP (1) JP7210337B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404201B2 (ja) 2020-09-11 2023-12-25 株式会社東芝 画像処理装置及び画像処理方法
JP7419204B2 (ja) 2020-09-18 2024-01-22 株式会社東芝 画像処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109416A (ja) 2011-11-17 2013-06-06 Ricoh Co Ltd カメラキャリブレーション装置、乗員支援装置、カメラキャリブレーション用歪み係数生成方法
JP2017136354A (ja) 2016-01-29 2017-08-10 キヤノン株式会社 画像処理装置、画像処理方法、画像処理システム、及びプログラム。
JP2018124968A (ja) 2017-01-27 2018-08-09 株式会社東芝 画像処理装置、及び、画像処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2894241B2 (ja) * 1995-04-21 1999-05-24 村田機械株式会社 画像認識装置
JP2005229200A (ja) 2004-02-10 2005-08-25 Fujitsu Ltd ディストーション補正回路
JP2007079708A (ja) 2005-09-12 2007-03-29 Konica Minolta Holdings Inc 画像処理装置及び画像処理方法
JP5602532B2 (ja) 2010-07-30 2014-10-08 オリンパス株式会社 画像処理装置および画像処理方法
JP5503497B2 (ja) * 2010-10-26 2014-05-28 パナソニック株式会社 画像信号処理装置、画像信号処理方法およびプログラム
US8675115B1 (en) * 2011-02-14 2014-03-18 DigitalOptics Corporation Europe Limited Forward interpolation approach for constructing a second version of an image from a first version of the image
US20130242186A1 (en) * 2012-03-14 2013-09-19 Samsung Electronics Co., Ltd. Image processing apparatus and control method thereof
JP6273764B2 (ja) 2012-12-28 2018-02-07 株式会社リコー 画像処理装置
JP6524713B2 (ja) * 2015-03-02 2019-06-05 セイコーエプソン株式会社 画像処理装置、表示装置、及び、画像処理装置の制御方法
JP2016163331A (ja) 2015-03-05 2016-09-05 株式会社東芝 画像処理装置
JP2017016511A (ja) 2015-07-03 2017-01-19 株式会社ディジタルメディアプロフェッショナル 歪み補正画像処理装置及びプログラム
CN108364249A (zh) 2017-01-27 2018-08-03 株式会社东芝 图像处理装置以及图像处理方法
JP6845173B2 (ja) 2018-03-15 2021-03-17 株式会社東芝 画像処理装置及び画像処理方法
JP7170478B2 (ja) 2018-09-18 2022-11-14 株式会社東芝 画像処理装置、画像処理方法及び画像処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109416A (ja) 2011-11-17 2013-06-06 Ricoh Co Ltd カメラキャリブレーション装置、乗員支援装置、カメラキャリブレーション用歪み係数生成方法
JP2017136354A (ja) 2016-01-29 2017-08-10 キヤノン株式会社 画像処理装置、画像処理方法、画像処理システム、及びプログラム。
JP2018124968A (ja) 2017-01-27 2018-08-09 株式会社東芝 画像処理装置、及び、画像処理方法

Also Published As

Publication number Publication date
US20200294208A1 (en) 2020-09-17
JP2020149473A (ja) 2020-09-17
US11024015B2 (en) 2021-06-01

Similar Documents

Publication Publication Date Title
KR101921672B1 (ko) 이미지 처리 방법 및 장치
US10659746B2 (en) Image processing device and image processing method
JP5075757B2 (ja) 画像処理装置、画像処理プログラム、画像処理方法、および電子機器
CN102469254B (zh) 图像校正装置、校正图像生成方法、校正表生成装置
US20090141148A1 (en) Distortion-corrected image generation unit and distortion-corrected image generation method
CN110738707B (zh) 一种相机的畸变校正方法及装置、设备、存储介质
JPWO2018029950A1 (ja) 較正装置、較正方法、光学装置、撮影装置、および投影装置
EP3540684B1 (en) Image processing apparatus and image processing method
US20170330311A1 (en) Image processing device and method, image capturing device, program, and record medium
KR101255431B1 (ko) 화상 보정 장치, 보정 화상 생성 방법, 보정 테이블 생성 장치, 보정 테이블 생성 방법, 보정 테이블 생성 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 보정 화상 생성 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP7210337B2 (ja) 画像処理装置、及び、歪み補正係数算出方法
US7499082B2 (en) Distortion correction circuit for generating distortion-corrected image using data for uncorrected image
JP2018124968A (ja) 画像処理装置、及び、画像処理方法
JP2013218654A (ja) 画像処理装置
JP3104327B2 (ja) 歪曲収差補正装置および画像合成装置
US11076092B2 (en) Image processing apparatus, image processing method, and image processing program
KR20140072470A (ko) 어안 렌즈용 왜곡 영상 처리 방법
JP2008298589A (ja) 位置検出装置及び位置検出方法
WO2023070862A1 (zh) 校正广角镜头图像畸变的方法、装置及照相设备
JP6632434B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20130343636A1 (en) Image processing apparatus, control method of the same and non-transitory computer-readable storage medium
KR100856729B1 (ko) 왜곡 영상 보정 장치 및 방법
CN113724141A (zh) 一种图像校正方法、装置及电子设备
JP4996330B2 (ja) 画像歪み補正装置
JP6091082B2 (ja) 画像処理装置、画像処理方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221011

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: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230111

R150 Certificate of patent or registration of utility model

Ref document number: 7210337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150