JP5543280B2 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP5543280B2
JP5543280B2 JP2010126291A JP2010126291A JP5543280B2 JP 5543280 B2 JP5543280 B2 JP 5543280B2 JP 2010126291 A JP2010126291 A JP 2010126291A JP 2010126291 A JP2010126291 A JP 2010126291A JP 5543280 B2 JP5543280 B2 JP 5543280B2
Authority
JP
Japan
Prior art keywords
image
unit
captured
weighting factor
image processing
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.)
Expired - Fee Related
Application number
JP2010126291A
Other languages
English (en)
Other versions
JP2011254262A5 (ja
JP2011254262A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010126291A priority Critical patent/JP5543280B2/ja
Priority to US13/104,476 priority patent/US8649626B2/en
Publication of JP2011254262A publication Critical patent/JP2011254262A/ja
Publication of JP2011254262A5 publication Critical patent/JP2011254262A5/ja
Application granted granted Critical
Publication of JP5543280B2 publication Critical patent/JP5543280B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Adjustment Of Camera Lenses (AREA)

Description

本発明は、撮像画像のぶれ補正技術に関するものである。
近年の撮像装置の高画質化、高ズーム化に伴い、撮像時の手ぶれに起因する撮像画像のぶれが問題となってきており、手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによる角速度を検出するジャイロセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置とで光学的に手ぶれを補正する光学的手ぶれ補正方式が一般的である。
また、高速なシャッタスピードで複数の画像を取り込んだ後に、電子的にこの複数の画像の位置合わせを行い、重ね合わせることで、手ぶれの影響を抑えた画像を生成する電子的手ぶれ補正方式の撮像装置が提案されている(特許文献1)。特許文献1で提案されている電子的手ぶれ補正方法では、ジャイロセンサを必要としないため、撮像装置の小型化が実現できるだけでなく、製造コストを抑えることができる、という利点を有する。
更に、1枚の画像取得時における露光時のシャッターの開閉を符号化し、そのシャッター開閉の情報を用いた演算処理によりぶれ補正する技術が提案されている(特許文献2)。この技術は、Coded Exposure(以下、符号化露光と呼称する)と呼ばれている。ジャイロセンサなどを用いてぶれ分布を計測し、さらに露光時間とぶれ分布から、画像上の点像のぼけ関数であるPoint Spread Function(以下、PSFと呼称する)を推定する。さらに、このPSFの周波数特性を算出し、算出した周波数特性の逆特性となるフィルタ、或いはウィナーフィルタを用いてフィルタリングすることで好適なぶれ補正が可能となる。
特開2006−074693号公報 US特許2007/0258706
しかしながら、特許文献1で提案される手法では、取り込んだ画像は手ぶれを含んでいないということが前提となっており、手ぶれが発生した画像に対しては、画像間での位置合わせが良好に実現できないという課題があった。夜景シーン等の撮像には、撮像画像にノイズが印加されやすいこともあり、ノイズ低減のためには、一定時間以上の露光時間が必要となる。露光時間が長くなると、取り込んだ画像に手ぶれが含まれることになり、画像間での位置合わせが不十分となる。その結果、特許文献1において、位置合わせ後の画像を加算合成しても、手ぶれを十分に補正できないことになる。
特許文献2では、PSFの周波数応答値が微小な場合には、この周波数におけるぼけ補正量がその他の周波数に比べて大きくなり、好適なぶれ補正ができないという課題があった。特に、補正対象の画像にノイズが含まれる場合には、そのノイズを増幅してしまい、補正画像が著しく劣化することになる。さらに、撮像中に露光されない時間帯が発生するため、撮像画像に印加されるノイズ量が多くなる傾向にあり、ぶれ補正された画像に撮像時のノイズが残存することになってしまう。
本発明は以上の問題に鑑みてなされたものであり、ぶれ補正後に生じる画像劣化を抑制した好適なぶれ補正画像を生成する為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、撮像装置により撮像された複数の撮像画像のデータそれぞれに対して乗じる重み係数からなる重み係数列を取得する第1の取得手段と、
前記撮像装置により撮像された複数の撮像画像のデータを入力する入力手段と、
前記複数の撮像画像のデータを取得する際の、該撮像画像のデータが示す撮像画像内の動きベクトルを取得する第2の取得手段と、
前記複数の撮像画像のデータそれぞれに対して前記重み係数列の対応する重み係数を乗じ、重み係数が乗じられた前記複数の撮像画像のデータを合成することにより合成画像のデータを取得する合成手段と、
前記動きベクトルと前記重み係数列とに基づいて、前記合成画像のデータを補正することにより補正画像のデータを取得する補正手段とを有し、
前記重み係数列は、少なくとも三値の重み係数であって正の重み係数と負の重み係数を有することを特徴とする。
本発明の構成によれば、ぶれ補正後に生じる画像劣化を抑制した好適なぶれ補正画像を生成することができる。
(a)は画像処理装置の機能構成例を示すブロック図、(b)はぶれ補正全体の動作を示す図。 画像処理部104が行う処理のフローチャート。 ステップS304における処理の詳細を示すフローチャート。 1次元フーリエ変換結果を示すグラフ。 ステップS307における処理の詳細を示すフローチャート。 重み係数列規定部112の機能構成例を示すブロック図。 重み係数列規定部112が行う処理のフローチャート。 ぶれ補正済みの画像を示す図。 画像処理装置の機能構成例を示すブロック図。 画像処理部900が行う処理のフローチャート。 ステップS1209における処理の詳細を示すフローチャート。 (a)は画像処理装置の機能構成例を示すブロック図、(b)は撮像部1401の構成例を示す図。 撮像部1401及び画像処理部1200が行う処理のフローチャート。 (a)は透過率パターン規定部1404の機能構成例を示すブロック図、(b)はぶれ補正全体の動作を示す図。 (a)は画像処理装置の機能構成例を示すブロック図、(b)はぶれ補正全体の動作を示す図。。 画像処理部1500が行う処理のフローチャート。 画像処理装置の機能構成例を示すブロック図。 重み係数列作成部2201が行う処理のフローチャート。 ステップS303における処理の詳細を示すフローチャート。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
<画像処理装置の機能構成例について>
先ず、本実施形態に係る画像処理装置の機能構成例について、図1のブロック図を用いて説明する。本実施形態では、この画像処理装置は、ディジタルカメラなどの撮像装置として説明する。そしてこの撮像装置は、複数回の露光を行うことで撮像される複数枚の撮像画像を用いて1枚のぶれの補正されたぶれ補正画像を生成するものである。
撮像部101は、撮像レンズ群とCMOSやCCDなどの半導体撮像素子、シャッター等から構成されており、撮像対象の画像信号を生成して後段のA/D変換部103に送出する。
ぶれ検出部102は、撮像装置の姿勢変化、即ちぶれの大きさや方向を示すぶれベクトル(ぶれ情報)を検出し、検出したぶれ情報を画像処理部104に入力する。本実施形態では、ぶれ検出部102は、撮像部101が画像を撮像したときのぶれ情報を検出することができればよい。即ち、それぞれの撮像画像について、撮像時におけるぶれ情報が取得できればよい。
露光制御部116は、撮像部101における露光時間を制御する。なお、ぶれ検出部102と露光制御部116とは同期を取って動作している。即ち、露光制御部116により露光が開始されるとぶれ検出部102はぶれの検出を開始し、露光制御部116により露光が終了されると、ぶれ検出部102はぶれの検出を終了する。
撮像部101から出力される画像信号は、A/D変換部103により所定のフォーマットを有するデジタル画像信号に変換され、画像処理部104に入力される。例えばA/D変換部103は、この画像信号が静止画像のものである場合には、これをJPEG等の標準的な静止画像フォーマットを有するデジタル画像信号に変換する。また、この画像信号が動画像のものである場合には、これをMPEG等の標準的な動画像フォーマットを有するデジタル画像信号に変換する。
画像処理部104は、A/D変換部103から順次入力されるそれぞれのデジタル画像信号が示す撮像画像から、ぶれを補正した画像であるぶれ補正画像を生成し、生成したぶれ補正画像を画像表示部114や画像記録部115に送出する。画像処理部104の詳細については後述する。
画像表示部114は、ぶれ補正画像を、撮像装置が有する液晶画面に表示する。画像記録部115は、ぶれ補正画像を、撮像装置内のメモリや、撮像装置に着脱可能なメモリなどに記録する。
次に、画像処理部104についてより詳細に説明する。A/D変換部103から出力されたデジタル画像信号が示す撮像画像のデータは、入力端子105を介して画像処理部104内に入力され、メモリ部106に格納される。上記の通り、本実施形態では、撮像部101は、複数回の露光を行うことで複数枚の撮像画像を撮像するので、メモリ部106には、それぞれの露光で撮像された撮像画像のデータが格納されることになる。
重み付け部107は、メモリ部106に格納されているそれぞれの撮像画像を順次読み出し、重み係数列DB(データベース)108に格納されている重み係数列において対応する重み値を、この読み出した撮像画像に対して乗ずる。これにより、重み付け部107は、メモリ部106に格納されているそれぞれの撮像画像に対して、対応する重み値を乗じた画像(重み付け撮像画像)を生成することができる。なお、重み係数列DB108に格納されている上記の重み係数列は、重み係数列規定部112によって予め作成(調整)されたものである。そして重み付け部107は、それぞれの重み付け撮像画像を合成して1つの合成画像を生成し、生成した合成画像を補正画像生成部111に送出する。
補正係数列作成部109は、重み係数列DB108に格納されている重み係数列と、入力端子110を介してぶれ検出部102から入力されたぶれ情報と、を用いて、補正画像生成部111で用いる補正係数列を生成する。そしてこの生成した補正係数列を補正画像生成部111に送出する。
補正画像生成部111は、以下に示す3つの情報を用いて、重み付け部107が生成した合成画像に対するぶれ補正処理を行い、最終的に出力する出力画像としてのぶれ補正画像を生成する。
・ 露光制御部116により制御された露光時間(メモリ部106に格納されている全ての撮像画像を撮像するために要した露光時間)
・ 補正係数列作成部109が作成した補正係数列
・ 入力端子110を介してぶれ検出部102から入力されたぶれ情報
そして補正画像生成部111は、生成したぶれ補正画像を、出力端子113を介して画像表示部114や画像記録部115に送出する。なお、撮像装置を構成する各部の動作制御は、撮像装置が有するCPUなどのコントローラ(不図示)により行われる。
<符号化露光によるぶれ補正について>
ここで、従来の一般的な手法である「符号化露光で使用されるシャッター開閉の情報を用いてぶれ補正を行う手法」について説明する。画素位置(x,y)における単位時間当たりの入射光の強度をi(x,y)、撮像装置のぶれ速度をa、露光時間をTとすると、撮像装置には時刻tにi(x,y)をatだけ移動させた情報が撮像装置に入射される。よって、撮像される画像iblur(x,y)は以下の式で表現できる。
式(1)において、h(t)は露光条件を表す関数であり、1または0の値を取る関数である。h(t)=1は、時刻tにおけるシャッターは開状態にあることを示しており、h(t)=0は、時刻tにおけるシャッターは閉状態にあることを示している。ここでは説明を簡単にするために、撮像時に縦方向(y方向)へのぶれが発生した場合を一例に説明する。また、ここでは撮像装置のぶれ速度aは、撮像中は一定であるとする。ここで、実空間でのコンボリューション演算は、空間周波数上で積の形式で記述できる。したがって、撮像画像の取得過程を表現する式(1)に対して、その両辺をフーリエ変換すると以下の式を得ることができる。
式(2)において、Iblur(u,v)、I(u,v)、H(u,v)はそれぞれ、iblur(x,y)、i(x,y)、h(t)のフーリエ変換結果である。なお、uはx成分の周波数、vはy成分の周波数である。次に、式(2)をI(u,v)について数式変換すると以下の式を得ることができる。
式(3)において、露光時間Tは既知パラメータであり、撮像装置のぶれ速度aは撮像装置に具備されるぶれ検出装置から獲得できるとする。Iblur(u,v)、H(u,v)は、撮像される画像iblur(x,y)、露光条件h(t)に対するフーリエ変換によって得ることが可能であるため、これらも既知となる。したがって、式(3)の演算を実施することで、撮像画像i(x,y)のフーリエ変換結果であるI(u,v)を導くことができる。
そして最後に、導出されたI(u,v)に対して逆フーリエ変換を施すことで、ぶれを含まない画像i(x,y)を求めることが可能となる。以上が、符号化露光で使用されるシャッター開閉の情報を用いてぶれ補正する手法である。
式(3)によれば、原理的にはぶれを含む画像からぶれを取り除くことが可能であるが、撮像装置の露光条件によっては、h(t)のフーリエ変換結果H(u、v)がゼロの値を取ることがある。その場合、式(3)の右辺で、いわゆる「ゼロ割」が発生し、式(3)の解であるI(u,v)を正しく求めることができず、ぶれ補正が不十分となる。この「ゼロ割」に起因する不十分なぶれ補正を回避するため、符号化露光では、シャッター開閉をランダムに行っている。
<本実施形態に係るぶれ補正について>
本実施形態では、符号化露光における露光パターンをシャッターの開閉パターンではなく、それぞれの撮像画像に対する重み値のパターン(重み係数列)によって実現する(図1(b))。即ち、0と1の二値状態で構成されているh(t)の代わりに、任意の値(正の値であっても、0であっても、負の値であっても良い)を取りうる重み値から成る重み係数列を用いる。なお、この重み係数列には、少なくとも三値が含まれていれば良いので、例えば、重み係数列は正の値を取る三値から構成されていても良い。
画像処理部104が行う処理について、同処理のフローチャートを示す図2を用いて説明する。画像処理部104には、撮像部101が時分割露光(露光時間を細かい時間単位に分割して露光する露光方式(図1(b)))を行うことで撮像したL(L>1)枚の撮像画像が順次、入力端子105を介して入力される。従って、ステップS301では、画像処理部104はこの入力された撮像画像をメモリ部106に格納する。ここで、l(l=1,…,L:Lは露光時間T内で撮像される撮像画像の総枚数)番目にメモリ部106に格納された撮像画像をi(l)と表記し、撮像画像i(l)中の画素位置(x、y)における画素値をi(x、y;l)と表記する。
次にステップS302では重み付け部107は、重み係数列DB108に格納されている重み係数列を読み出す。この重み係数列は、L枚の撮像画像のそれぞれに対する重み値から成り、重み係数列w=[w(1),…,w(L)]と表記される。即ち、撮像画像i(l)に対する重み値はw(l)となる。
ステップS303で重み付け部107は、L枚の撮像画像のそれぞれに対して対応する重み値を乗じてL枚の重み付け撮像画像を生成し、生成したL枚の重み付け撮像画像を合成することで、1枚の合成画像iblurを生成する。以下の式(4)は、1枚の合成画像iblur中の画素位置(x、y)における画素値を求める為の式である。即ち、各画素位置について式(4)に基づく計算を行うことで、1枚の合成画像iblurを生成することができる。
また、L=15の場合における重み係数列wを以下に示す。
そして重み付け部107は、生成した1枚の合成画像iblurを補正画像生成部111に送出する。ステップS303における処理の詳細については、図19を用いて後述する。
ステップS304では、補正係数列作成部109は、入力端子110を介してぶれ検出部102から受けたぶれ情報と、重み係数列DB108から読み出した重み係数列wと、を用いて、補正画像生成部111がぶれ補正で用いる補正係数列を生成する。ステップS304における処理の詳細については、図3を用いて後述する。
ステップS305では補正画像生成部111は、入力端子110を介してぶれ検出部102から入力されたぶれ情報を取得する。このぶれ情報は、L枚の撮像画像のそれぞれの撮像時にぶれ検出部102が検出したぶれ情報から成る。
ステップS306では補正画像生成部111は、露光制御部116から露光時間Tを取得する。そしてステップS307では補正画像生成部111は、ステップS305で取得したぶれ情報、ステップS306で取得した露光時間T、補正係数列作成部109が生成した補正係数列、を用いて、合成画像iblurに対するぶれ補正処理を行う。そして補正画像生成部111は、ぶれ補正済みの画像を出力画像として出力端子113を介して画像表示部114や画像記録部115に送出する。ステップS307における処理の詳細については、図5を用いて後述する。
<合成画像iblurの生成について>
ステップS303における処理、即ち、1枚の合成画像iblurを生成するための処理について、同処理のフローチャートを示す図19を用いて説明する。ステップS2401では重み付け部107は先ず、変数lを1に初期化する。
ステップS2402では重み付け部107は、重み係数列DB108から取得した重み係数列のうち撮像画像i(l)に対する重み値であるw(l)を取得する。ステップS2403では重み付け部107は、メモリ部106から撮像画像i(l)を読み出す。
ステップS2404では重み付け部107は、撮像画像i(l)を構成する各画素の画素値に対して、重み値w(l)を乗じることで、重み付け撮像画像lを生成する。ステップS2405では重み付け部107は、l=Lであるか否かを判断する。この判断の結果、l=Lである場合には処理はステップS2407に進み、l<Lの場合には処理はステップS2406に進む。
ステップS2406では重み付け部107は、変数lの値を1つインクリメントし、ステップS2402以降の処理を行う。一方、ステップS2407では重み付け部107は、以上の処理によって生成した重み付け撮像画像1〜重み付け撮像画像Lを重ね合わせることで合成した合成画像iblurを生成する。そして重み付け部107はこの生成した合成画像iblurを補正画像生成部111に送出する。
<補正係数列の生成について>
ステップS304における処理、即ち、補正係数列を生成する為の処理について、同処理のフローチャートを示す図3を用いて説明する。ステップS401では補正係数列作成部109は、重み係数列DB108から重み係数列wを読み出す。
ステップS402では補正係数列作成部109は、ぶれ検出部102から入力端子110を介して入力される「L枚の撮像画像のそれぞれの撮像時におけるぶれ情報」を取得する。ここで、撮像画像i(l)に対するぶれ情報が示すぶれベクトルのx成分をS_x(l)、y成分をS_y(l)と表記する。
ステップS403では補正係数列作成部109は、撮像画像のサイズ(ここでは一例としてP画素×Q画素のサイズとする)と同じサイズの配列w’を、以下の式(6)に従って生成する(ゼロ設定)。
ステップS404では補正係数列作成部109は、以下の式(7)に従った計算処理を行うことで、ステップS403で生成した配列w’に対して2次元のフーリエ変換を行い、配列w’の2次元フーリエ変換結果Wを生成する。
FFT2()は2次元フーリエ変換を行う関数である。u、vは何れも周波数を示し、−1≦u≦1、−1≦v≦1に正規化されているものとする。そしてステップS405では補正係数列作成部109は、この2次元フーリエ変換によって得られた重み係数列Wを補正係数列として、補正画像生成部111に送出する。
ここで、w’(x,y)のうち、重み係数列wが格納されている箇所の1次元フーリエ変換W’(u)をプロットしたグラフを図4に示す。ここでは説明を簡単にするために、縦方向(y方向)へのぶれが発生した場合の1次元フーリエ変換W’(u)を示した。図4において、横軸は周波数uを表しており、正の周波数である0≦u≦1の範囲をプロットした。縦軸は各周波数の応答値を対数表記で表し、各応答値は直流成分(u=0)の値で正規化している。図4において実線が式(5)によって規定される重み係数列wの周波数応答値である。比較のため、以下の式(8)で設定される重み係数列w2によって導かれる周波数応答値を点線で示した。
図4から、重み係数列wを用いると全周波数帯域で直流成分よりも高い応答値を示していることが確認できる。一方、重み係数列w2で示されるように重み値を1と0の二値状態で構成すると、応答値の低い周波数が数箇所出現することが確認できる。後述するが、低い応答値の周波数が出現すると、好適なぶれ補正が実現できない。
本実施形態で求めた重み係数列wを構成するそれぞれの重み値は、対応する撮像画像に対するものであるため、L枚の撮像画像の全てをぶれ補正処理に使用することができる。特許文献1に記載される符号化露光によるぶれ補正では、撮像中に露光されない時間帯が発生するため、画像取得時に発生するランダムなノイズを多く含む傾向がある。係る点、L枚全ての撮像画像を用いてぶれ補正、或いはぶれを修正、除去する本実施形態は、画像撮像時に発生するランダムなノイズを相殺することができる。
<ぶれ補正処理について>
ステップS307における処理、即ち、重み付け部107が生成した合成画像に対するぶれ補正処理について、同処理のフローチャートを示す図5を用いて説明する。ステップS701において補正画像生成部111は、重み付け部107から合成画像iblurを取得する。ステップS702では補正画像生成部111は、補正係数列作成部109から、補正係数列W(u、v)を取得する。
ステップS703では補正画像生成部111は、以下の式(9)に従って合成画像iblurに対して2次元フーリエ変換を行うことで、合成画像iblurに対する2次元フーリエ変換結果Iblurを生成する。
ステップS704では補正画像生成部111は、以下の式(10)を計算することで、2次元フーリエ変換結果Iblurと、補正係数列Wと、を用いたデコンボリューション処理を行う。
なお、aはぶれ情報が示すぶれベクトルの大きさである撮像装置のぶれ速度、Tは露光制御部116から取得した露光時間である。I(u,v)はぶれを含まない画像i(x,y)の2次元フーリエ変換結果であり、以下の式(11)によって定義される。
ステップS705では補正画像生成部111は、以下の式(12)を計算することで、ステップS704におけるデコンボリューション処理の結果としてのI(u,v)に対して2次元の逆フーリエ変換を行う。
IFFT2()はFFT2()の逆変換を行う関数である。そしてステップS706では補正画像生成部111は、ステップS705における逆フーリエ変換の結果である画像i(x、y)を、ぶれ補正済みの画像(出力画像)として、出力端子113を介して画像表示部114や画像記録部115に送出する。
なお、本実施形態では、式(10)で記述されるように、周波数空間上での除算によるデコンボリューションを実施していたが、その他のデコンボリューション処理を代わりに実施しても良い。例えば、Lucy-Richardsonのアルゴリズム、Wienerフィルタを用いたアルゴリズム、正則化フィルタを用いたアルゴリズムなどを用いても構わない。更に、周波数空間上でのデコンボリューション処理を実空間上でのフィルタリング処理にて置き換えて処理しても構わない。
重み係数列wによって重み付け加算された画像を用いて補正処理したぶれ補正済みの画像i(x,y)を図8(a)に示す。図8(b)には、重み係数列w2によって重み付け合成された画像を用いて補正処理したぶれ補正済みの画像i2(x,y)を示している。図8(b)に示す如く、画像i2(x,y)の上下端部において画像劣化が生じている。一方、図8(a)に示す如く、画像i(x,y)では、画像i2(x,y)で生じていた画像劣化を抑えることができている。連続撮像データに対し、実数値の重み値を乗じた画像を用いてぶれ補正を行うことで、画像劣化の緩和に成功していることが確認できる。
<重み係数列について>
ここでは、重み係数列DB108に格納されている重み係数列について説明する。この重み係数列は重み係数列規定部112によって生成(規定)され、重み係数列DB108に格納されるものであり、上記のぶれ補正処理は、重み係数列規定部112によって生成された重み係数列が重み係数列DB108に格納された後に行われる。
重み係数列規定部112の機能構成例について、図6のブロック図を用いて説明する。初期値設定部801は、重み係数列w中の要素数Lを設定する。例えば式(5)の例ではL=15と設定する。
重み係数列生成部802は、要素数Lの重み係数列w中の各重み値w(l)の初期値を設定する。初期値の設定方法については特に限定するものではないが、ここでは一例として、擬似乱数を用いる。この場合、擬似乱数は正規分布に従い、標準偏差が1となるような実数値を生成する。
補正係数列作成部890は、事前に何らかの方法で得たL個のぶれ情報と、重み係数列生成部802で確定された重み係数列wと、を用いて、補正係数列作成部109と同様の処理を行うことで、配列w’を作成する。この「事前に何らかの方法で得たL個のぶれ情報」は、例えば、事前にL枚の撮像画像を撮像した時にぶれ検出部102により得たL個のぶれ情報である。もちろん、事前に何らかの方法で作成されたL個のぶれ情報であっても良い。そして更に補正係数列作成部890は、上記式(7)に従った計算処理を行うことで、この配列w’に対して2次元のフーリエ変換を行い、配列w’の2次元フーリエ変換結果Wを生成する。
評価値算出部803は、補正係数列作成部890が作成した2次元フーリエ変換結果Wの評価値を算出する。評価値比較部804は、この評価値を評価し、この評価値が評価基準よりも低い場合には、この2次元フーリエ変換結果Wを作り直すべく、重み係数列更新部806に対して重み係数列wの更新を指示する。重み係数列更新部806はこの指示を受けると、重み係数列生成部802に対して新たな擬似乱数を発生させるよう指示する。一方、この評価値が評価基準以上のものである場合には、この評価値を求めた2次元フーリエ変換結果Wを生成するために用いた重み係数列w(重み係数列生成部802が生成した重み係数列)をメモリ部805に格納する。
重み係数列出力部807は、評価値比較部804による評価が完了すれば、メモリ部805に格納されている重み係数列wを読み出し、出力端子808を介して重み係数列DB108に格納する。
重み係数列規定部112が行う処理について、同処理のフローチャートを示す図7を用いて説明する。ステップS901では初期値設定部801は、重み係数列w中の要素数Lを確定し、ステップS902では重み係数列生成部802は、要素数Lの重み係数列w中の各重み値w(l)の初期値を設定する。
ステップS903では補正係数列作成部890は、L個のぶれ情報と、重み係数列生成部802で確定された重み係数列wと、を用いて、配列w’を作成する。そして上記式(7)に従った計算処理を行うことで、この配列w’に対して2次元のフーリエ変換を行い、配列w’の2次元フーリエ変換結果Wを生成する。
ステップS904では評価値算出部803は、以下の式(13)を計算することで、補正係数列作成部890が作成した2次元フーリエ変換結果Wの評価値Evalを求める。この式(13)では、重み係数列をフーリエ変換し、そのパワーの積分値を評価値Evalとして算出している。
ステップS905では評価値比較部804は、評価値Evalと閾値Eval0(初期状態では0)との大小比較を行う。この大小比較の結果、Eval>Eval0の場合には処理はステップS907に進み、Eval≦Eval0の場合には処理はステップS906に進む。
ステップS906では評価値比較部804は重み係数列更新部806に対して重み係数列wの更新を指示するので、重み係数列更新部806は重み係数列生成部802に対して新たな擬似乱数を発生させるよう指示する。これにより重み係数列生成部802は、新たな擬似乱数を用いて新たな重み係数列wを作成する。そしてこの新たな重み係数列wを用いてステップS903以降の処理が行われる。
一方、ステップS907では評価値比較部804は、ステップS903で生成した2次元フーリエ変換結果Wを生成するために用いた重み係数列wをメモリ部805に格納する。もしメモリ部805に既に重み係数列wが格納されている場合には、この重み係数列wに対して上書きする。更にステップS907では評価値比較部804は、Eval0の値をEvalの値に更新する。
ステップS908では評価値比較部804は、ステップS903〜S907の処理が、予め定められた回数だけ行われたか否かを判断する。この判断の結果、予め定められた回数だけ行われていると判断した場合には処理はステップS909に進み、未だ予め定められた回数だけ行われていないと判断した場合には処理はステップS906に戻る。ステップS909では重み係数列出力部807は、メモリ部805に格納されている重み係数列wを読み出し、出力端子808を介して重み係数列DB108に格納する。
なお、上記の説明では式(13)に示した式を計算した結果を評価値Evalとして用いているが、他の計算式を用いて計算した結果を評価値Evalとして用いることもできる。例えば、以下の式(14)に従って計算される値Eval2を評価値Evalの代わりに用いても良い。
Eval2は、補正係数列の値が総じて1となるような重み係数列をより高い評価値とする式から求められる。つまり、2次元フーリエ変換結果Wの各周波数における応答値の変化が少なくなるように規定する評価値である。図4(b)には、式(14)から計算される値Eval2が最も大きくなるような補正係数列の一例を実線で示している。図4(a)と同様、1次元で補正係数列を示している。横軸は周波数uを表しており、正の周波数である0≦u≦1の範囲をプロットした。縦軸は各周波数の応答値を対数表記で表し、各応答値は直流成分(u=0)の値で正規化している。図4(b)において実線が、式(14)から計算される値Eval2が最も大きくなるような重み係数列の周波数応答値を示している。全周波数において1に近い応答値が得られていることが確認できる。この周波数応答値が1近傍となると、式(3)によるぶれ補正時に生じる画像劣化を抑えることが可能となる(図8(c))。なお、図4において、点線は式(8)で設定される重み係数列によって導かれる周波数応答値を示している。
このように、重み係数列の値を変化させることで、画像劣化の状態を変化させることができるため、ユーザの嗜好に合った画像を提供することが可能となる。なお、ステップS906の重み係数列の更新では、擬似乱数を発生させて重み係数列の更新を行っていたが、その他の方法を用いて重み係数列を更新しても構わない。例えば、遺伝的アルゴリズムなどの最適化手法によって所望の重み係数列を求めても差し支えない。
また、ステップS906では、予め用意された複数の重み係数列から1つずつ選択するようにしても良い。その場合、ステップS908では、この予め用意された重み係数列の数だけステップS903〜S907の処理を行ったか否かを判断することになる。その場合、出力画像として生成されるぶれ補正済み画像は、予め用意された複数の重み係数列の中で、最も補正効果の高い(評価値の高い)重み係数列を用いて生成した画像となる。
なお、本実施形態では、縦ぶれを含む撮像画像に対するデコンボリューション処理について説明したが、デコンボリューション可能なぶれは縦ぶれに限定されるものではない。即ち、縦ぶれ以外にも、横ぶれ、斜めぶれを含む撮像画像についてもデコンボリューション処理によってぶれ補正が可能であることは言うまでもない。
本実施形態における撮像装置のぶれ情報は、ジャイロセンサによって検出されたぶれ情報でも構わない。また、撮像された複数の画像間の相対移動量を、画像間の相関値を求めることで導き、それらの移動量をぶれ情報として用いても差し支えない。
また、上記の説明では、Lを設定してから、要素数をLとする重み係数列wを生成した。しかし、様々な要素数Lの重み係数列wを予め作成して重み係数列DB108に登録しておき、重み付け部107や補正係数列作成部109は、入力された撮像画像の枚数に応じた重み係数列wを用いるようにしても良い。
即ち、本実施形態には、様々な変形例が考えられるが、本実施形態の本質は次のようなものとなる。先ず、撮像装置により撮像されたL(L>1)枚の撮像画像に対して乗じるL個の重み値を、この撮像画像の撮像時における撮像装置のぶれベクトルの方向成分で規定される位置に保持する配列を生成する。そしてこの生成した配列の周波数成分の合計値がより大きくなるように若しくは周波数成分のバラツキがより小さくなるように上記L個の重み値を調整する。
そして、この調整後に撮像装置により撮像されたL枚の撮像画像を取得する(第1の取得)と共に、取得したそれぞれの撮像画像について、撮像時における撮像装置のぶれベクトルを取得する(第2の取得)。
そして、第1の取得として取得したそれぞれの撮像画像に対して、L個の重み値のうち対応する重み値を乗じることで、L枚の重み付け撮像画像を生成し、生成したL枚の重み付け撮像画像を合成することで1枚の合成画像を生成する。
そして、L個の重み値を、重み値を乗じた撮像画像について第2の取得として取得したぶれベクトルの方向成分で規定される位置に保持する配列を生成する(配列生成)。
そしてこの生成した配列の周波数成分と、合成画像の周波数成分と、を用いてデコンボリューション処理を行い、デコンボリューション処理の結果を逆周波数変換することで、1枚の出力画像を生成する(画像生成)。
以上の説明により、本実施形態によれば、時分割露光により撮像された撮像画像から1枚の画像を生成する際に発生する画像劣化を抑制することができる。更に、入力された全ての撮像画像を用いてぶれ補正、或いはぶれを修正、除去する本実施形態は、画像撮像時に発生するランダムなノイズを相殺することができる。
[第2の実施形態]
第1の実施形態では、予め生成された重み係数列wを用いてぶれ補正を行ったが、本実施形態では、より良い画質を与える重み係数列wを求め、求めた重み係数列wを用いてより良い画質の画像を生成する。なお、本実施形態に係る画像処理装置も、ディジタルカメラなどの撮像装置として説明する。
<画像処理装置の機能構成例について>
先ず、本実施形態に係る画像処理装置の機能構成例について、図9のブロック図を用いて説明する。図9に示した構成は、図1に示した画像処理部104に対して画像評価部117、重み係数列生成部118、メモリ部119を追加し、重み係数列DB108、重み係数列規定部112を削除したものを画像処理部900としたものである。然るにこれら以外の構成要素については第1の実施形態と同じであるので、これについての説明は省略する。
画像評価部117は、補正画像生成部111が生成した出力画像の画質を評価する。重み係数列生成部118は、重み付け部107、補正係数列作成部109が用いる重み係数列wを生成する。
<本実施形態に係るぶれ補正について>
画像処理部900が行う処理について、同処理のフローチャートを示す図10を用いて説明する。画像処理部900には、撮像部101が時分割露光を行うことで撮像したL(L>1)枚の撮像画像が順次、入力端子105を介して入力される。従って、ステップS1201では、画像処理部900はこの入力された撮像画像をメモリ部106に格納する。
ステップS1202では補正画像生成部111及び補正係数列作成部109は、入力端子110を介してぶれ検出部102から入力されたぶれ情報を取得する。このぶれ情報は、L枚の撮像画像のそれぞれの撮像時にぶれ検出部102が検出したぶれ情報から成る。ステップS1203では補正画像生成部111は、露光制御部116から露光時間Tを取得する。
ステップS1204では重み係数列生成部118は、上記ステップS901と同様にして重み係数列w中の要素数Lを確定させる。ステップS1205では重み係数列生成部118は、上記ステップS902と同様にして、要素数Lの重み係数列w中の各重み値w(l)の初期値を設定する。これにより重み係数列wは[w(1),…,w(L)]と表記される。
ステップS1206では重み付け部107は、重み係数列生成部118から重み係数列wを取得する。そして重み付け部107は、L枚の撮像画像のそれぞれに対して対応する重み値を乗じてL枚の重み付け撮像画像を生成し、生成したL枚の重み付け撮像画像を合成することで、1枚の合成画像iblurを生成する。この合成画像の生成については第1の実施形態と同様、式(4)に従って行う。
ステップS1207では、補正係数列作成部109は、ステップS1202で取得したぶれ情報と、重み係数列生成部118から取得した重み係数列wと、を用いて、第1の実施形態と同様にして、補正係数列を生成する。
ステップS1208で補正画像生成部111は、ステップS1202で取得したぶれ情報、ステップS1203で取得した露光時間T、補正係数列作成部109が生成した補正係数列、を用いて合成画像iblurに対するぶれ補正処理を行う。このぶれ補正処理は、第1の実施形態と同様である。そして補正画像生成部111は、ぶれ補正済みの画像を出力画像として画像評価部117に送出する。
ステップS1209では画像評価部117は、補正画像生成部111から受けた出力画像の画質を評価し、その評価値Eval3を求める。評価値Eval3を求めるための処理については後述する。
ステップS1210では画像評価部117は、評価値Eval3と閾値Eval0との大小比較を行う。この閾値Eval0の初期値には充分に大きな値を設定しておく。例えば、Eval0=1000と設定しておく。この大小比較の結果、Eval3<Eval0の場合には処理はステップS1211に進み、Eval3≧Eval0の場合には処理はステップS1212に進む。
ステップS1211では画像評価部117は、補正画像生成部111から受けた出力画像をメモリ部119に格納する。もしメモリ部117に既に出力画像が格納されている場合には、この出力画像に対して上書きする。更に画像評価部117は、Eval0の値をEval3の値に更新する。
ステップS1212では、画像評価部117は、ステップS1206〜S1213の処理が、予め定められた回数だけ行われたか否かを判断する。この判断の結果、予め定められた回数だけ行われていると判断した場合には処理はステップS1214に進み、未だ予め定められた回数だけ行われていないと判断した場合には処理はステップS1213に戻る。ステップS1214では画像評価部117は、メモリ部119に格納されている出力画像を読み出し、出力端子113を介して画像表示部114や画像記録部115に送出する。
一方、ステップS1213では、画像評価部117は重み係数列生成部118に対して重み係数列wの更新を指示するので、重み係数列生成部118は、新たな擬似乱数を用いて新たな重み係数列wを作成する。この新たな重み係数列wの作成については第1の実施形態と同様にして行う。そしてこの新たな重み係数列wを用いてステップS1206以降の処理が行われる。
即ち、上記の処理では、重み係数列wの更新を行う毎に、更新した重み係数列wを用いて出力画像を生成し、生成した出力画像が従前に生成した出力画像の何れよりも画質が高い場合には、この出力画像を出力候補とする。そして、この更新を予め定められた回数だけ更新を行った時点で出力候補としている出力画像を、最終的な出力対象画像として出力する。
<評価値Eval3の算出方法について>
ステップS1209における処理、即ち、補正画像生成部111から出力された出力画像の画質の評価値Eval3を求める為の処理について、同処理のフローチャートを示す図11を用いて説明する。なお、本実施形態では、出力画像の補正度合いを定量的に評価する為の評価値を求める。具体的には、図8で示されるような、生成画像の端部に発生する波形状の画像歪み(リンギングと呼ばれる)の度合いを定量的に評価する。なお、リンギングは、画像生成時に特定の周波数が強調されることにより発生する。
先ず、ステップS1301では画像評価部117は、補正画像生成部111から送出された出力画像(補正画像)を取得する。ステップS1302では画像評価部117は、この出力画像の二次微分を求める。二次微分の算出方法は、出力画像にラプラシアンフィルタを適用したコンボリューション演算によって実現する。以下の式(15)には、ラプラシアンフィルタf(i,j)を使用したコンボリューション演算を示した。
式(15)において、i(x,y)は出力画像の二次微分としての画像である。ステップS1303では画像評価部117は、二次微分画像i(x,y)を用いて、出力画像に対する評価値Eval3を求める。評価値Eval3は、二次微分画像i(x,y)の画素値の標準偏差とする。
図8(b)に示した画像には、画像の上下端部に画像劣化(リンギング)が見受けられる。このような画像劣化に対して、評価値Eval3は相対的に大きな値を示す傾向がある。画像劣化が少ない画像(図8(a))について上記標準偏差を求めると28.2であるのに対し、画像劣化がある画像(図8(b))について上記標準偏差を求めると55.9である。このように、評価値Eval3を手掛かりに、ぶれ補正の度合いを評価することが可能である。
なお、本実施形態では、出力画像の二次微分に着目し、リンギングの度合いを評価値として導出したが、リンギングが評価できるその他の評価値を求めても構わない。例えば、出力画像の周波数を解析し、周波数応答値が相対的に高いリンギングに該当する個所を摘出することで、リンギングの評価値として扱っても構わない。
以上の説明により本実施形態によれば、ぶれ補正後或いはぶれ修正・除去後の画像に発生する画像劣化の度合いを評価することで、ぶれ補正後或いはぶれ修正・除去後に発生する画像劣化のうち画像依存の劣化要素を抑制した出力画像を生成することができる。
[第3の実施形態]
第1,2の実施形態では、時分割露光によって連続撮像されたそれぞれの撮像画像に対して重み値を乗じた画像を用いてぶれ補正を行った。本実施形態では、撮像装置が有する撮像センサへの入射光量を制御することにより、光学的に時間方向に重み付けされた画像を用いてぶれ補正する。本実施形態に係る画像処理装置も、ディジタルカメラなどの撮像装置として説明する。
<画像処理装置の機能構成例について>
先ず、本実施形態に係る画像処理装置の機能構成例について、図12(a)のブロック図を用いて説明する。
撮像部1401は、第1の実施形態における撮像部101に加え、撮像時の入射光量を制御するための透過率可変フィルタを具備している。露光制御する露光制御部1402は、撮像部1401のシャッター開閉の制御と、透過率可変フィルタの透過率を制御する。
透過率パターンDB1403には、透過率可変フィルタの透過率推移を示す透過率パターンが格納されている。この透過率パターンは、透過率パターン規定部1404によって生成され、透過率パターンDB1403に格納される。画像加算部1405は、メモリ部106から読み出したL枚の撮像画像を合成(加算)して1つの合成画像を生成する。補正係数列作成部109、補正画像生成部111のぞれぞれは、重み係数列wの代わりに透過率パターンを用いて合成画像のぶれ補正を行うために動作する。
撮像部1401の構成例を図12(b)に示す。撮像部1401は、撮像レンズ部1501、絞り部1502、シャッター部1503、透過率が可変であるフィルタ部1504、撮像素子部1505を有している。
シャッター部1503とフィルタ部1504は露光制御部1402によって制御され、撮影中のシャッター開閉とフィルタの透過率の変更を行う。シャッター部1503は、フィルタ部1504と連動して、被写体からの光を透過させたりして、撮像素子部1505に対して露光または遮光する。シャッター部1503としては機械式のフォーカルプレーンシャッターなどが使用できる。フィルタ部1504は、シャッター部1503が被写体からの光を透過させている期間(撮像期間)、フィルタの透過率を変化させる。本実施形態では、撮像レンズ部1501を介して得られる被写体の投影像の光を、任意のタイミングで吸収し、撮像素子部1505に入射される光量を調整する。フィルタ部1504の透過率を変更するタイミングは露光制御部1402によって制御する。フィルタ部1504としては液晶フィルタなどが使用できる。本実施形態では、このような撮像部1401を用いて第1,2の実施形態と同様、時分割露光により複数枚の撮像画像を撮像する。その際、それぞれの撮像画像について、露光期間と、フィルタ部1504がこの撮像画像に対して一定の透過率を保つ期間と、は連動している。即ち、撮像画像xを撮像するための露光期間中は、フィルタ部1504はこの撮像画像xに対して予め設定された透過率を維持するように動作している。この透過率は、透過率パターン中の各透過率のうち、この撮像画像xに対応する透過率xである。
本実施形態によるぶれ補正全体の動作を図14(b)に示す。時分割露光によって取得されるそれぞれの撮像画像とフィルタの透過率とが対応している。各画像取得時には、フィルタの透過率に変化が生じない構成である。第1の実施形態では重み値を乗じて重み付けした画像を用いてぶれ補正を実施したが、本実施形態ではフィルタ部1504の透過率を制御して光学的にそれぞれの撮像画像に対して重み付けする。
<本実施形態に係るぶれ補正について>
撮像部1401及び画像処理部1200が行う処理について、同処理のフローチャートを示す図13を用いて説明する。先ず、ステップS1601では、撮像部1401は、撮像部1401内の撮像素子部1505内に残る光の検出状態を全て読み出して初期化する。
ステップS1602では露光制御部1402は、撮像部1401内のシャッター部1503の動作を開始して露光の状態にすると共に、フィルタ部1504の透過率を制御する。フィルタ部1504の制御が完了すると、シャッター部1503の動作を再度開始し、遮光の状態にする。即ち、最初に撮像する撮像画像のための準備を行う。
フィルタ部1504の透過率は、露光制御部1402が参照する透過率パターンに従って撮像画像毎に変更される(もちろん連続して撮像する撮像画像間で透過率が同じである場合にはこの変更はない)。図14(b)を用いて説明したように、本実施形態では、時分割露光を用いて複数枚の撮像画像を撮像するが、各画像取得のタイミングとフィルタ部1504の透過率が変更されるタイミングとは同期されている。透過率パターンは、透過率パターン規定部1404によって予め作成され、透過率パターンDB1403に格納されている。透過率パターン規定部1404の動作については後述する。
画像処理部1200には、撮像部1401が時分割露光を行うことで撮像したL枚の撮像画像が順次、入力端子105を介して入力される。上記の通り、それぞれの撮像画像は対応する透過率で撮像された撮像画像であり、原理的には、この時点で撮像画像には光学的な重み値が乗じていることになる。即ち、撮像画像はフィルタ部1504を透過した入射光から構成されるため、この撮像画像の明るさはこの撮像画像の撮像時に使用したフィルタ透過率と相関を持つ。
ステップS1603では、画像処理部1200はこの入力された撮像画像をメモリ部106に格納する。次にステップS1604では画像加算部1405は、メモリ部106からL枚の撮像画像を読み出し、読み出したL枚の撮像画像を合成することで、1枚の合成画像iblurを生成する。
以下の式(16)は、1枚の合成画像iblur中の画素位置(x、y)における画素値を求める為の式である。ifilter(x,y;l)は、撮像された複数の撮像画像のうち、l番目に取得される撮像画像の画素位置(x,y)の画素値を表す。即ち、各画素位置について式(16)に基づく計算を行うことで、1枚の合成画像iblurを生成することができる。
本実施形態では、画像撮像時にフィルタ部1504を透過する入射光量が制御されている。そのため、第1,2の実施形態で説明したような重み付けによる加算処理は必要なく、単純な加算処理で対応できるため、ぶれ補正のために必要となる画像処理部の回路規模を縮小化することができる。
ステップS1605では補正係数列作成部109は、入力端子110を介してぶれ検出部102から受けたぶれ情報と、透過率パターンDB1403から読み出した透過率パターンと、を用いて、補正画像生成部111がぶれ補正で用いる補正係数列を生成する。ステップS1605における処理の詳細については後述する。
ステップS1606では補正画像生成部111は、入力端子110を介してぶれ検出部102から入力されたぶれ情報を取得する。ステップS1607では補正画像生成部111は、露光制御部116から露光時間Tを取得する。
ステップS1608では補正画像生成部111は、ステップS1606で取得したぶれ情報、ステップS1607で取得した露光時間T、補正係数列作成部109が生成した補正係数列、を用いて、合成画像iblurに対するぶれ補正処理を行う。このぶれ補正処理については第1の実施形態と同様にして行う。そして補正画像生成部111は、ぶれ補正済みの画像を出力画像として出力端子113を介して画像表示部114や画像記録部115に送出する。
<補正係数列の作成について>
補正係数列の作成において、第1の実施形態では重み係数列wを用いていたが、本実施形態では重み係数列wの代わりに透過率パターンを用いる。即ち、ぶれベクトルの成分で示される位置に重み値を格納する代わりに、透過率を格納する。これ以外については第1の実施形態と同じである。
<透過率パターンについて>
透過率パターン規定部1404の機能構成例について、図14(a)のブロック図を用いて説明する。初期値設定部801は、透過率パターン中の要素数Lを設定する。透過率パターン生成部1701は、要素数Lの透過率パターン中の各透過率の初期値を設定する。初期値の設定方法については特に限定するものではないが、透過率は0〜1の範囲で値が変化するため、0〜1の範囲で擬似乱数を発生させた値を透過率とする。この場合、擬似乱数を用いて発生させる値の有効数字の桁数と同精度でフィルタ部1504の透過率を制御できることが前提となる。ここでは、有効数字の桁数を2桁とし、0〜1の範囲で擬似乱数を発生させる。
補正係数列作成部1490は、事前に何らかの方法で得たL個のぶれ情報と、透過率パターン生成部1701で確定された透過率パターンと、を用いて、補正係数列作成部109と同様の処理を行うことで、配列w’を作成する。そして更に補正係数列作成部1490は、上記式(7)に従った計算処理を行うことで、この配列w’に対して2次元のフーリエ変換を行い、配列w’の2次元フーリエ変換結果Wを生成する。
評価値算出部803は、補正係数列作成部1490が作成した2次元フーリエ変換結果Wの評価値を算出する。評価値比較部804は、第1の実施形態と同様にこの評価値を評価し、この評価値が評価基準よりも低い場合には、この2次元フーリエ変換結果Wを作り直すべく、透過率パターン更新部1702に対して透過率パターンの更新を指示する。透過率パターン更新部1702はこの指示を受けると、透過率パターン生成部1701に対して新たな擬似乱数を発生させるよう指示する。一方、この評価値が評価基準以上のものである場合には、現在の2次元フーリエ変換結果Wを生成するために用いた透過率パターン(透過率パターン生成部1701が生成した透過率パターン)をメモリ部805に格納する。
透過率パターン出力部1703は、評価値比較部804による評価が完了すれば、メモリ部805に格納されている透過率パターンを読み出し、出力端子808を介して透過率パターンDB1403に格納する。即ち、透過率パターン規定部1404の動作は、重み係数列wの代わりに透過率パターンを用いる点を除けば、基本的には、図7のフローチャートに従った動作となる。
なお、本実施形態には、様々な変形例が考えられるが、本実施形態の本質は次のようなものとなる。先ず、撮像装置がL(L>1)枚の撮像画像を撮像する為に設定される、この撮像画像の撮像時に撮像装置が有する撮像センサへの光の透過率を、この撮像画像の撮像時における撮像装置のぶれベクトルの方向成分で規定される位置に保持する配列を生成する。そして、この生成した配列の周波数成分の合計値がより大きくなるように若しくは周波数成分のバラツキがより小さくなるように透過率を調整する。
そしてこの調整後に撮像装置により撮像されたL枚の撮像画像を取得する(第1の取得)と共に、取得したそれぞれの撮像画像について、この撮像画像の撮像時における撮像装置のぶれベクトルを取得する(第2の取得)。
そして、第1の取得して取得したそれぞれの撮像画像を合成することで1枚の合成画像を生成する。そして、上記透過率を、この透過率で撮像した撮像画像について第2の取得として取得したぶれベクトルの方向成分で規定される位置に保持する配列を生成する(配列生成)。そして、生成した配列の周波数成分と合成画像の周波数成分とを用いてデコンボリューション処理を行い、デコンボリューション処理の結果を逆周波数変換することで、1枚の出力画像を生成する(画像生成)。
以上の説明により、本実施形態によれば、可変透過率フィルタの透過率を変化させながら撮像を行うことで光学的に重み付けされた複数枚の撮像画像を用いてぶれ補正、或いはぶれ修正、除去を行うことができる。これにより、ぶれ補正、或いはぶれ修正、除去のために必要となる画像処理部の回路規模を縮小化することができる。
[第4の実施形態]
第3の実施形態では、時分割露光と同期して透過率可変フィルタの透過率を制御することで、光学的に重み付けされた複数枚の撮像画像を取得した。本実施形態では、時分割露光による撮像を行うことなくぶれ補正を行う。本実施形態に係る画像処理装置も、ディジタルカメラなどの撮像装置として説明する。
本実施形態に係る画像処理装置の機能構成例について、図15(a)のブロック図を用いて説明する。図15(a)の構成は、図12(a)の構成から、メモリ部106と画像加算部1405とを省いた構成となっている。
本実施形態では、撮像部1401は透過率を変化させながら1枚の画像を撮像し、この画像は撮像画像として、入力端子105を介して画像処理部1500に入力される。補正画像生成部111、補正係数列作成部109は、画像数が1の時の動作を、この撮像画像について行うことで、1枚の出力画像を生成する(図15(b))。
画像処理部1500が行う処理のフローチャートは、図16に示したとおりであり、このフローチャートは、図13のフローチャートからステップS1604を省いたものとなる。
以上の説明により、本実施形態によれば、時分割露光による撮像を行うことなく、撮像画像のぶれ補正、或いはぶれ修正、除去を行うことができ、撮像画像を一時的に保持するメモリが不要となる。
[第5の実施形態]
第1の実施形態では、重み係数列wは事前に重み係数列規定部112によって規定され、重み係数列DB108に格納されている。本実施形態では、撮像画像の枚数Lに応じて重み係数列wを解析的に求める。
<画像処理装置の機能構成例について>
本実施形態に係る画像処理装置の機能構成例について、図17のブロック図を用いて説明する。図17の構成は、図1の構成から重み係数列DB108と重み係数列規定部112とを削除し、重み係数列作成部2201を追加した構成である。
重み係数列作成部2201は、露光制御部116から供給される撮像画像枚数に応じて、好適な重み係数を作成する。その他の処理部については第1の実施形態同様である。
<重み係数列の作成について>
重み係数列作成部2201が行う処理について、同処理のフローチャートを示す図18を用いて説明する。先ず、ステップS2301では重み係数列作成部2201は、露光制御部116から撮像画像の枚数Lを取得する。
次にステップS2302では重み係数列作成部2201は、予め作成された補正係数列を画像処理装置内の不図示のメモリなどから取得する。この補正係数列は、図4(a)に示したような、1次元の周波応答値から成る。本実施形態では、図4(a)の実線に示されるように、周波数応答値が相対的に高くなるように補正係数列を設定する。この補正係数列をW4(u)とおく。なお、uはx成分の周波数である。
次に、ステップS2303では重み係数列作成部2201は、補正係数列W4(u)に対して1次元の逆フーリエ変換処理を行い、重み係数列w4を求める。1次元の逆フーリエ変換処理は、以下の式(17)に従った処理である。
IFFT1()は、1次元の逆フーリエ変換を表す関数である。ステップS2304では重み係数列作成部2201は、ステップS2303で求めた重み係数列w4を重み付け部107や補正係数列作成部109に対して出力する。
なお、本実施形態では、周波数応答値が相対的に高くなるように補正係数列W4を設定したが、その他の周波数応答値の特性に応じた補正係数列を設定しても良い。例えば、図4(b)の実線に示されるように、全周波数において1に近い応答値が得られるように補正係数列W4を設定しても良い。
また、本実施形態では、時分割露光によって撮像画像を取得する場合について説明したが、第3,4の実施形態に対しても重み係数列作成部2201は適用可能である。その場合には、撮影前に画像取得枚数を規定し、規定された枚数に対して好適な透過率パターンを図18示したフローチャートに沿って生成する。
以上の説明により、本実施形態によれば、撮影時に好適な重み係数列を演算によって求め、撮像画像のぶれ補正、或いはぶれ修正、除去を行うことができ、更には、重み係数列を格納する為のデータベースを保持するメモリが不要となる。なお、以上に説明した各実施形態は当業者であれば、適宜組み合わせることも可能である。
[第6の実施形態]
図1(図6),9,12(a)(14(a)),15(a),17に示した画像処理部を構成する各部はハードウェアで実現しても良いし、メモリ部以外の一部若しくは全部をソフトウェア(コンピュータプログラム)で実現しても良い。その場合、このソフトウェアは、画像処理装置内のメモリに格納され、画像処理装置内の制御回路(CPU等)により実行されることになる。
更に、図1(図6),9,12(a)(14(a)),15(a),17に示した画像処理部とそれ以外の機能部とを別個の装置としても良い。例えば、ディジタルカメラなどの撮像装置と、PC(パーソナルコンピュータ)等のコンピュータ装置と、が接続されている状態において、この画像処理部をこのコンピュータ装置としても良い。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. 撮像装置により撮像された複数の撮像画像のデータそれぞれに対して乗じる重み係数からなる重み係数列を取得する第1の取得手段と、
    前記撮像装置により撮像された複数の撮像画像のデータを入力する入力手段と、
    前記複数の撮像画像のデータを取得する際の、該撮像画像のデータが示す撮像画像内の動きベクトルを取得する第2の取得手段と、
    前記複数の撮像画像のデータそれぞれに対して前記重み係数列の対応する重み係数を乗じ、重み係数が乗じられた前記複数の撮像画像のデータを合成することにより合成画像のデータを取得する合成手段と、
    前記動きベクトルと前記重み係数列とに基づいて、前記合成画像のデータを補正することにより補正画像のデータを取得する補正手段とを有し、
    前記重み係数列は、少なくとも三値の重み係数であって正の重み係数と負の重み係数を有することを特徴とする画像処理装置。
  2. 前記重み係数列は、1よりも大きい重み係数または−1よりも小さい重み係数を有することを特徴とする請求項1に記載の画像処理装置。
  3. 前記重み係数列は、該重み係数列の周波数成分の合計値がより大きくなるように調整されていることを特徴とする請求項1に記載の画像処理装置。
  4. 前記重み係数列は、該重み係数列の周波数成分のバラツキがより小さくなるように調整されていることを特徴とする請求項1に記載の画像処理装置。
  5. 複数の重み係数からなる重み係数列に基づいて透過率を変化させながら撮像した撮像画像のデータを入力する入力手段と、
    前記撮像の際の、前記撮像画像のデータが示す撮像画像内の動きベクトルを取得する取得手段と、
    前記動きベクトルと前記重み係数列とに基づいて、前記撮像画像のデータを補正することにより補正画像のデータを取得する補正手段とを有し、
    前記重み係数列は、少なくとも三値の重み係数を有することを特徴とする画像処理装置。
  6. コンピュータを、請求項1乃至の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
  7. 請求項に記載のコンピュータプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
  8. 画像処理装置が行う画像処理方法であって、
    前記画像処理装置の第1の取得手段が、撮像装置により撮像された複数の撮像画像のデータそれぞれに対して乗じる重み係数からなる重み係数列を取得する第1の取得工程と、
    前記画像処理装置の入力手段が、前記撮像装置により撮像された複数の撮像画像のデータを入力する入力工程と、
    前記画像処理装置の第2の取得手段が、前記複数の撮像画像のデータを取得する際の、該撮像画像のデータが示す撮像画像内の動きベクトルを取得する第2の取得工程と、
    前記画像処理装置の合成手段が、前記複数の撮像画像のデータそれぞれに対して前記重み係数列の対応する重み係数を乗じ、重み係数が乗じられた前記複数の撮像画像のデータを合成することにより合成画像のデータを取得する合成工程と、
    前記画像処理装置の補正手段が、前記動きベクトルと前記重み係数列とに基づいて、前記合成画像のデータを補正することにより補正画像のデータを取得する補正工程とを有し、
    前記重み係数列は、少なくとも三値の重み係数であって正の重み係数と負の重み係数を有することを特徴とする画像処理方法。
  9. 画像処理装置が行う画像処理方法であって、
    前記画像処理装置の入力手段が、複数の重み係数からなる重み係数列に基づいて透過率を変化させながら撮像した撮像画像のデータを入力する入力工程と、
    前記画像処理装置の取得手段が、前記撮像の際の、該撮像画像のデータが示す撮像画像内の動きベクトルを取得する取得工程と、
    前記画像処理装置の補正手段が、前記動きベクトルと前記重み係数列とに基づいて、前記撮像画像のデータを補正することにより補正画像のデータを取得する補正工程とを有し、
    前記重み係数列は、少なくとも三値の重み係数を有することを特徴とする画像処理方法。
JP2010126291A 2010-06-01 2010-06-01 画像処理装置、画像処理方法 Expired - Fee Related JP5543280B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010126291A JP5543280B2 (ja) 2010-06-01 2010-06-01 画像処理装置、画像処理方法
US13/104,476 US8649626B2 (en) 2010-06-01 2011-05-10 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010126291A JP5543280B2 (ja) 2010-06-01 2010-06-01 画像処理装置、画像処理方法

Publications (3)

Publication Number Publication Date
JP2011254262A JP2011254262A (ja) 2011-12-15
JP2011254262A5 JP2011254262A5 (ja) 2013-06-20
JP5543280B2 true JP5543280B2 (ja) 2014-07-09

Family

ID=45022197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010126291A Expired - Fee Related JP5543280B2 (ja) 2010-06-01 2010-06-01 画像処理装置、画像処理方法

Country Status (2)

Country Link
US (1) US8649626B2 (ja)
JP (1) JP5543280B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5690359B2 (ja) * 2012-03-30 2015-03-25 株式会社Screenホールディングス 撮像装置および撮像方法
KR101652658B1 (ko) 2014-02-07 2016-08-30 가부시키가이샤 모르포 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기록 매체
JP6521612B2 (ja) * 2014-11-20 2019-05-29 キヤノン株式会社 撮像装置、撮像方法、撮像プログラム、画像処理装置、画像処理方法および画像処理プログラム
US9684970B2 (en) * 2015-02-27 2017-06-20 Qualcomm Incorporated Fast adaptive estimation of motion blur for coherent rendering

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3551854B2 (ja) * 1999-09-01 2004-08-11 ミノルタ株式会社 デジタル撮影装置、画像データ処理装置、デジタル撮影方法および記録媒体
JP2006074693A (ja) 2004-09-06 2006-03-16 Toshiba Corp 撮像装置
JP4755490B2 (ja) * 2005-01-13 2011-08-24 オリンパスイメージング株式会社 ブレ補正方法および撮像装置
US7580620B2 (en) * 2006-05-08 2009-08-25 Mitsubishi Electric Research Laboratories, Inc. Method for deblurring images using optimized temporal coding patterns
US7756407B2 (en) 2006-05-08 2010-07-13 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for deblurring images
US7639289B2 (en) 2006-05-08 2009-12-29 Mitsubishi Electric Research Laboratories, Inc. Increasing object resolutions from a motion-blurred image
JP5188205B2 (ja) 2007-06-12 2013-04-24 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド カメラによって或るシーンから取得される画像内の動いている物体の解像度を高めるための方法
US8436907B2 (en) 2008-05-09 2013-05-07 Honeywell International Inc. Heterogeneous video capturing system
JP5300590B2 (ja) 2009-05-21 2013-09-25 キヤノン株式会社 画像処理装置およびその方法
JP5300591B2 (ja) 2009-05-21 2013-09-25 キヤノン株式会社 画像処理装置およびその方法
JP5281495B2 (ja) 2009-06-18 2013-09-04 キヤノン株式会社 画像処理装置およびその方法
JP5276529B2 (ja) 2009-06-18 2013-08-28 キヤノン株式会社 画像処理装置およびその方法
JP5319415B2 (ja) 2009-06-22 2013-10-16 キヤノン株式会社 画像処理装置、画像処理方法
US8482622B2 (en) * 2009-08-27 2013-07-09 Sony Corporation Method, system and computer program product for reducing motion blur
US8223259B2 (en) 2009-09-30 2012-07-17 Mitsubishi Electric Research Laboratories, Inc. Increasing temporal resolution of signals
US8390704B2 (en) 2009-10-16 2013-03-05 Eastman Kodak Company Image deblurring using a spatial image prior
JP5662670B2 (ja) 2009-10-27 2015-02-04 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5424835B2 (ja) * 2009-11-30 2014-02-26 キヤノン株式会社 画像処理装置、画像処理方法
JP2011199716A (ja) * 2010-03-23 2011-10-06 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP5656705B2 (ja) 2010-06-01 2015-01-21 キヤノン株式会社 撮像装置、撮像装置の制御方法
JP5204165B2 (ja) 2010-08-05 2013-06-05 パナソニック株式会社 画像復元装置および画像復元方法
US8860824B2 (en) 2010-08-06 2014-10-14 Honeywell International Inc. Motion blur modeling for image formation
US8405763B2 (en) 2010-12-23 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Video camera for reconstructing varying spatio-temporal resolution videos

Also Published As

Publication number Publication date
US20110293197A1 (en) 2011-12-01
JP2011254262A (ja) 2011-12-15
US8649626B2 (en) 2014-02-11

Similar Documents

Publication Publication Date Title
CN111539879B (zh) 基于深度学习的视频盲去噪方法及装置
JP5222472B2 (ja) 画像処理装置、画像復元方法およびプログラム
US9036032B2 (en) Image pickup device changing the size of a blur kernel according to the exposure time
JP7258604B2 (ja) 画像処理方法、画像処理装置、プログラム、および学習済みモデルの製造方法
KR101233013B1 (ko) 화상 촬영 장치 및 그 거리 연산 방법과 합초 화상 취득 방법
JP5468404B2 (ja) 撮像装置および撮像方法、ならびに前記撮像装置のための画像処理方法
JP5237978B2 (ja) 撮像装置および撮像方法、ならびに前記撮像装置のための画像処理方法
JP5627256B2 (ja) 画像処理装置、撮像装置および画像処理プログラム
JPWO2018037521A1 (ja) 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、記憶媒体
JP6104010B2 (ja) 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
JP6308748B2 (ja) 画像処理装置、撮像装置及び画像処理方法
KR20130013288A (ko) 다중 노출 퓨전 기반에서 고스트 흐림을 제거한 hdr 영상 생성 장치 및 방법
JP2009194896A (ja) 画像処理装置及び方法並びに撮像装置
JP2011044825A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2013242658A (ja) 画像処理装置、撮像装置、画像処理方法、および画像処理プログラム
JP2020036310A (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、記憶媒体、および、画像処理システム
JP5765893B2 (ja) 画像処理装置、撮像装置および画像処理プログラム
JP5543280B2 (ja) 画像処理装置、画像処理方法
JP2011119874A (ja) カメラユニット、及びレンズユニット
JP2015115733A (ja) 画像処理方法、画像処理装置、撮像装置および画像処理プログラム
JP2022056769A (ja) 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、学習方法、学習装置、および、画像処理システム
JP2013128212A (ja) 画像処理装置および撮像装置並びにその方法
JP2019068378A (ja) 高解像度撮像装置
US8780228B2 (en) Image capture apparatus and control method thereof
JP7309520B2 (ja) 画像処理方法、画像処理装置、撮像装置、プログラム、記憶媒体、画像処理システム、および、学習済みモデルの製造方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140508

R151 Written notification of patent or utility model registration

Ref document number: 5543280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees