JP6381344B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6381344B2
JP6381344B2 JP2014156549A JP2014156549A JP6381344B2 JP 6381344 B2 JP6381344 B2 JP 6381344B2 JP 2014156549 A JP2014156549 A JP 2014156549A JP 2014156549 A JP2014156549 A JP 2014156549A JP 6381344 B2 JP6381344 B2 JP 6381344B2
Authority
JP
Japan
Prior art keywords
filter
processing
division
image
divided
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
JP2014156549A
Other languages
English (en)
Other versions
JP2016033754A (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 JP2014156549A priority Critical patent/JP6381344B2/ja
Priority to US14/814,125 priority patent/US9536291B2/en
Publication of JP2016033754A publication Critical patent/JP2016033754A/ja
Application granted granted Critical
Publication of JP6381344B2 publication Critical patent/JP6381344B2/ja
Active 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/20Image enhancement or restoration using local operators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Description

本発明は、特に、小規模の回路でフィルタ処理を行うために用いて好適な画像処理装置、画像処理方法及びプログラムに関する。
従来、多タップのフィルタ処理をより小規模の演算器で実現する方法として、多タップのフィルタをよりタップ数の小さい複数のフィルタに分割し、フィルタ処理する方法が提案されている。例えば、特許文献1には、所定のフィルタ係数が割り当てられたフィルタ範囲を所定範囲以下のサブフィルタに分割し、サブフィルタ毎にフィルタ処理を行う方法が開示されている。この方法によれば、サブフィルタ毎のフィルタ処理結果を画素単位で加算することにより、所定のフィルタ係数でフィルタ処理を行った結果と同様の結果を取得するようにしている。
特開2004−145615号公報
しかしながら、上述の特許文献1に開示された従来技術では、分割前の多タップフィルタのフィルタ係数の分布やフィルタの分割方法によっては、フィルタ処理結果の積算時に発生する丸め誤差が発生する場合がある。したがってこの影響により、多タップフィルタのフィルタ処理結果との間に差異が発生する場合がある。
本発明は前述の問題点に鑑み、フィルタを分割して積算することによって生じる丸め誤差の影響を小さくして、より高精度なフィルタ結果を得ることができるようにすることを目的としている。
本発明に係る画像処理装置は、フィルタを予め決められたタップ数の分割フィルタに分割する分割手段と、前記分割手段によって分割された分割フィルタを用いて、入力画像に対して分割フィルタごとにフィルタ処理を行うフィルタ処理手段と、前記フィルタ処理手段による分割フィルタごとの処理結果を積算する積算手段とを有し、前記積算手段は、前記分割フィルタのフィルタ係数の値に応じた順序により、前記分割フィルタごとの処理結果を積算することを特徴とする。
本発明によれば、フィルタを分割して積算することによって生じる丸め誤差の影響を小さくして、より高精度なフィルタ結果を得ることができる。
実施形態に係る画像処理装置の構成例を示すブロック図である。 画像信号処理部の詳細な構成例を示すブロック図である。 撮影画像に適用するフィルタ係数を説明するための図である。 2次元フィルタを撮影画像に適用する様子を説明するための図である。 積算順による積算結果の違いを説明するための図である。
以下、本発明の好ましい実施形態について、添付の図面に基づいて詳細に説明する。
図1は、本実施形態に係る画像処理装置100の構成例を示すブロック図である。以下、図1を参照しながら、本実施形態によるフィルタ処理について説明する。
本実施形態では、多タップのフィルタを所定のフィルタサイズ毎に複数のより小さなフィルタに分割する。そして、入力画像に対し、分割したフィルタ毎にフィルタ処理を施し、得られた中間画像を積算することにより、積算の丸め誤差を抑えたより高精度なフィルタ処理結果を得ることができる。
図1において、撮像レンズ102は、撮影像を光学的に撮像素子104上に結像させる。撮像素子104は、その撮影像をアナログの電気信号に変換する。また、撮像素子104は複数の色フィルタを有する。A/D変換器106は、この撮像素子104から出力されるアナログ信号をデジタル信号に変換する。
制御部108は、画像処理装置100全体を制御し、A/D変換器106、ROM110、RAM112、画像信号処理部114、及びフィルタ係数分割部116の間のデータの流れを制御する。ROM110は、フィルタ係数等が記憶されている不揮発性のメモリである。RAM112は、撮影画像やフィルタ処理を施した中間画像を一時的に格納するためのメモリである。フィルタ係数分割部116は、ROM110に記憶されている多タップのフィルタをより小さいタップ数の複数のフィルタに分割する。
図3は、撮影画像に適用するフィルタ係数を説明するための図である。図3に示すように、本実施形態の多タップのフィルタは円柱形のフィルタ形状となっている。また、フィルタサイズは、円柱部分が(47タップ)×(47タップ)である。f1、f2、・・・f36は、サイズが(9タップ)×(9タップ)の2次元のフィルタであり、縦6ブロック横6ブロックで最大(54タップ)×(54タップ)の2次元のフィルタ係数を表現することができる。本実施形態では、多タップのフィルタ周辺部のフィルタ係数を0、フィルタ中央部のフィルタ係数をaとし、16ビットの固定小数点形式でROM110に保持される。なお、フィルタの形状は円柱型に限定されるわけではなく、任意の形状のフィルタ係数を適用してよい。
図4は、図3に示す2次元フィルタを撮影画像に適用する様子を説明するための図である。図4において、領域401は撮影された入力画像の領域である。また、領域402は(54タップ)×(54タップ)の2次元フィルタを適用した後の出力画像の領域である。
図2は、画像信号処理部114の詳細な構成例を説明するための図である。図2(a)〜図2(c)に示すように、画像信号処理部114は、フィルタ回路201、画像加算回路206、及び画像除算回路210を備えている。
図2(a)に示すフィルタ回路201は、(9タップ)×(9タップ)のフィルタ処理を施す回路であり、フィルタ係数203及び入力画像204を入力し、フィルタ処理結果205を出力する。本実施形態では、フィルタ係数203は12ビットの固定小数点形式で値を表現し、同様にフィルタ処理結果205は16ビットの固定小数点形式で値を表現する。また、入力画像204は12ビットの整数で値を保持しているものとする。なお、フィルタ係数203、入力画像204、及びフィルタ処理結果205のデータ幅は上記に限定されるわけではなく、回路構成によって変更される。
フィルタ回路201は、入力画像の所望の領域を読み出し、フィルタ処理を施す。まずフィルタ回路201は、図3に示すフィルタf1〜f36のフィルタ係数の中から1つを選択してフィルタ係数h1とし、フィルタ係数h1を入力画像に適用する。このとき、フィルタf1〜f36の中からフィルタ係数の和(分割フィルタ内の各画素のフィルタ係数の和)が小さいフィルタ係数をフィルタ係数h1として選択する。本実施形態では、フィルタ係数の和がゼロであるフィルタf1、f6、f31、f36を除いてフィルタ係数の和が最小であるフィルタf30のフィルタ係数をフィルタ係数h1として選択する。また、フィルタ係数の和の大小の順序に並べ替える処理の計算負荷が許容できない場合には、フィルタ係数の和が所定範囲内であるフィルタの中から優先して1つ選択してもよい。
次に、位置ずらし回路251は、例えば図4に示す入力画像の一部の領域403を部分的に読み出す。そして、領域403に対してフィルタ処理を適用することにより、第1の中間画像を生成する。フィルタ回路201の中のコンボリューション回路252は、フィルタ処理結果が桁あふれしないように計算精度を確保している。つまり、本実施形態ではフィルタ係数203を16ビットとし、入力画像204を12ビットとしているため、フィルタ処理結果205は28ビットを有する構成とする。また、フィルタ回路201は、フィルタ処理結果を出力する直前に設けた小数点位置シフト回路253により、固定小数点形式のフィルタ処理結果の小数点位置をシフトして、第1の中間画像を生成する。本実施形態では、中間画像の1画素あたりのデータ幅を12ビットとしているため、右へ16ビットシフトしてから出力する。
小数点位置は、フィルタ係数の和からフィルタ処理結果の最大値を算出し、その最大値を表現できる範囲を考慮して決定する。例えば、フィルタ係数の和が2-8であれば、フィルタ処理結果の最大値は、(212−1)・2-8=24−2-8であるため、整数部として4ビット、小数部として8ビットとなるように小数点位置を設定する。
続いて、フィルタ係数の和が同じであるフィルタf35のフィルタ係数をフィルタ係数h2として同様に選択し、図4に示す領域404をフィルタ処理することによって第2の中間画像を生成する。第2の中間画像の小数点位置についても第1の中間画像と同様にして決定する。
図2(b)に示す画像加算回路206は、第1の入力画像207及び第2の入力画像208として第1の中間画像及び第2の中間画像を入力し、第1の積算画像を生成し、出力結果209として出力する。ここで、第1の中間画像と第2の中間画像とで小数点位置が一致しない場合には、小数点位置合わせ回路254において小数点位置を合わせてから加算器255で積算する。第1の積算画像は、画像加算回路206の出力直前で小数点位置シフト回路256により小数点位置がシフトされてから出力される。小数点位置のシフト量は、フィルタ回路201と同様に第1の中間画像と第2の中間画像との積算結果の最大値を表現できる範囲を考慮して決定する。
一方、フィルタ回路201では、次にフィルタ係数の和が小さいフィルタf12のフィルタ係数をフィルタ係数h3として選択し、同様に入力画像の領域をずらしてフィルタ処理を行い、第3の中間画像を生成する。そして、画像加算回路206では、前述の第1の積算画像と第3の中間画像とを加算することによって第2の積算画像を生成する。以下同様に、図3のフィルタf1〜f36(f1、f6、f31、f36は除く)の中でまだ選択されていないフィルタの中から、フィルタ係数の和が小さいものから順にフィルタ係数h4〜h32として選択して同様の処理を行う。なお、フィルタf1、f6、f31、f36はすべてフィルタ係数の和がゼロであるため、処理の対象外とする。そして、最終的に第31の積算画像を生成する。
以上のように本実施形態では、フィルタ係数の和が小さいものから順に積算するようにしている。フィルタ係数の和が小さい場合は、フィルタ処理結果の最大値が小さいので、小数部のビット幅を広くすることができる。このことから、フィルタ係数の和が小さいものから順に選択することによって小数部の積算結果を大きく反映させることができる。そして、フィルタ係数の和が大きくなるに従ってフィルタ処理結果の最大値が大きくなるので、小数点位置をシフトさせ、整数部のビット幅を広くしていく。このように、フィルタ係数の和が小さいフィルタ係数の処理結果から順に積算することによって、計算誤差を小さくすることができる。
ここで、本実施形態の処理によって生じる効果について、図5を用いて説明する。ここでは説明を簡略化するため、分割フィルタによる処理結果を3つまで積算した状態で違いを基に効果を説明する。また、3つの分割フィルタをg1、g2、g3とし、分割フィルタg1、g2、g3のフィルタ係数の和の大小関係は、g1=g3<g2とする。また、分割フィルタg1、g2、g3によるフィルタ処理結果、つまり中間画像の所定の画素位置の値をF1、F2、F3とする。
図5(a)は、3つの分割フィルタのフィルタ処理結果である中間画像を生成することなく積算した結果を示しており、中間画像を出力して積算する際に発生する丸め誤差は発生していない。この場合は、出力される積算結果S13の小数部は"1"が出力される。
図5(b)は、3つの分割フィルタのフィルタ結果である中間画像の積算順を考慮せずに積算した結果を示している。まず、1回目の積算処理で中間画像F1と中間画像F2とを積算し、積算画像S22を出力する。その際、小数部第3桁が'1'であるが、整数部が11ビットであることから小数部は1ビットしか確保できず、四捨五入により小数部が'0'と出力される。次に、積算画像S22と中間画像F3とを積算し、積算画像S23を出力する。その際、小数部第3桁が'1'であり、同様に小数部が'0'と出力される。その結果、積算画像S23の小数部は'0'であり、図5(a)に示す結果と比較して、丸めによる計算誤差が発生してしまう。
図5(c)は、本実施形態の処理結果を示しており、3つの分割フィルタのフィルタ結果である中間画像の積算順を考慮して積算した結果を示している。まず、1回目の積算処理で中間画像F1と中間画像F3とを積算し、積算画像S32を出力する。次に、積算画像S32と中間画像F2とを積算し、積算画像S33を出力する。積算画像S32で小数部が反映されているため、積算画像S33の小数部は"1"であり、図5(a)の結果と一致し、丸めによる計算誤差が発生していない。図5(a)〜図5(c)に示す結果から、本実施形態のようにフィルタ係数の和が小さい順に積算順を考慮することによって、丸めによる計算誤差を抑えることができる。
なお、本実施形態において、図3に示すフィルタf1〜f36のフィルタ係数は、それぞれROM110に予め記憶されており、図1のRAM112上に展開されてから図2(a)のフィルタ回路201に入力される。一方、制御部108が、図3に示す(54タップ)×(54タップ)の2次元フィルタをRAM112上に生成し、36個のフィルタf1〜f36に分割し、それぞれのフィルタ係数を算出するようにしてもよい。このように、ROM110に記憶するデータ量を削減するようにしてもよい。
以上のような手順により第31の積算画像が生成されると、画像除算回路210は、ROM110に格納されている正規化係数213を入力するとともに、第31の積算画像211を入力する。そして、第31の積算画像211を正規化係数213で除算し、最終的なフィルタ処理結果の画像212を出力する。
以上のように本実施形態の画像処理装置100によれば、9タップのような小さいサイズの2次元フィルタ処理で、54タップの2次元フィルタ処理で得られるようなフィルタ処理結果を計算する際に、積算順を考慮するようにした。これにより、積算による丸め誤差の影響を抑え、より高精度のフィルタ処理結果を取得することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
114 画像信号処理部
116 フィルタ係数分割部

Claims (7)

  1. フィルタを予め決められたタップ数の分割フィルタに分割する分割手段と、
    前記分割手段によって分割された分割フィルタを用いて、入力画像に対して分割フィルタごとにフィルタ処理を行うフィルタ処理手段と、
    前記フィルタ処理手段による分割フィルタごとの処理結果を積算する積算手段とを有し、
    前記積算手段は、前記分割フィルタのフィルタ係数の値に応じた順序により、前記分割フィルタごとの処理結果を積算することを特徴とする画像処理装置。
  2. 前記積算手段は、フィルタ係数の和が小さい分割フィルタの処理結果から順に積算することを特徴とする請求項1に記載の画像処理装置。
  3. 前記積算手段は、フィルタ係数の和が所定範囲内である分割フィルタの処理結果から優先して積算することを特徴とする請求項1に記載の画像処理装置。
  4. 前記フィルタ処理手段は、前記分割フィルタのフィルタ係数の値に応じてフィルタ処理を行う分割フィルタを選択し、
    前記積算手段は、前記フィルタ処理手段により選択された順に処理結果を積算することを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
  5. 前記フィルタ処理手段は、前記分割フィルタのフィルタ係数の値に応じて、処理結果の小数点位置を変更することを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。
  6. フィルタを予め決められたタップ数の分割フィルタに分割する分割工程と、
    前記分割工程において分割された分割フィルタを用いて、入力画像に対して分割フィルタごとにフィルタ処理を行うフィルタ処理工程と、
    前記フィルタ処理工程における分割フィルタごとの処理結果を積算する積算工程とを有し、
    前記積算工程においては、前記分割フィルタのフィルタ係数の値に応じた順序により、前記分割フィルタごとの処理結果を積算することを特徴とする画像処理方法。
  7. フィルタを予め決められたタップ数の分割フィルタに分割する分割工程と、
    前記分割工程において分割された分割フィルタを用いて、入力画像に対して分割フィルタごとにフィルタ処理を行うフィルタ処理工程と、
    前記フィルタ処理工程における分割フィルタごとの処理結果を積算する積算工程とをコンピュータに実行させ、
    前記積算工程においては、前記分割フィルタのフィルタ係数の値に応じた順序により、前記分割フィルタごとの処理結果を積算することを特徴とするプログラム。
JP2014156549A 2014-07-31 2014-07-31 画像処理装置、画像処理方法及びプログラム Active JP6381344B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014156549A JP6381344B2 (ja) 2014-07-31 2014-07-31 画像処理装置、画像処理方法及びプログラム
US14/814,125 US9536291B2 (en) 2014-07-31 2015-07-30 Image processing device, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014156549A JP6381344B2 (ja) 2014-07-31 2014-07-31 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016033754A JP2016033754A (ja) 2016-03-10
JP6381344B2 true JP6381344B2 (ja) 2018-08-29

Family

ID=55180546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014156549A Active JP6381344B2 (ja) 2014-07-31 2014-07-31 画像処理装置、画像処理方法及びプログラム

Country Status (2)

Country Link
US (1) US9536291B2 (ja)
JP (1) JP6381344B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015149554A (ja) * 2014-02-05 2015-08-20 キヤノン株式会社 画像処理装置、画像処理方法及び撮像装置
JP6540725B2 (ja) 2017-01-30 2019-07-10 富士通株式会社 演算処理装置、方法、およびプログラム
US10546044B2 (en) 2018-05-15 2020-01-28 Apple Inc. Low precision convolution operations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145615A (ja) 2002-10-24 2004-05-20 Mega Chips Corp 画像処理装置および画像処理方法
US7366746B2 (en) * 2004-02-12 2008-04-29 Xerox Corporation Finite impulse response filter method and apparatus
EP1771812B1 (en) * 2004-07-29 2011-09-14 Microsoft Corporation Image processing using linear light values and other image processing improvements
JP4517872B2 (ja) * 2005-02-10 2010-08-04 ソニー株式会社 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
JP5676968B2 (ja) * 2010-08-12 2015-02-25 キヤノン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2016033754A (ja) 2016-03-10
US20160035067A1 (en) 2016-02-04
US9536291B2 (en) 2017-01-03

Similar Documents

Publication Publication Date Title
CN110021047B (zh) 图像处理方法、图像处理装置和存储介质
US9563941B2 (en) Image processing apparatus, image pickup apparatus, image processing method, and non-transitory computer-readable storage medium
JP5331816B2 (ja) 画像補正装置及び画像補正方法
US7636451B2 (en) Digital watermark embedding apparatus and method, and digital watermark detection apparatus and method
JP2005519361A5 (ja)
JP6381344B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP7234057B2 (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、記憶媒体、および、画像処理システム
JP2016076807A (ja) 画像処理装置、撮像装置および撮像方法
CN111010504B (zh) 图像处理方法、装置和系统、摄像装置及存储介质
JP2009194721A (ja) 画像信号処理装置、画像信号処理方法、及び撮像装置
JP6253365B2 (ja) 画像処理方法、撮像装置、画像処理装置
JP6553974B2 (ja) カメラ用のシェーディング補正装置
JP2004145615A (ja) 画像処理装置および画像処理方法
US10339637B2 (en) Image processing apparatus, image pickup apparatus, image processing method, and non-transitory computer-readable storage medium for correcting deterioration of image
US9727956B2 (en) Image processing apparatus, image pickup apparatus, image processing method, and non-transitory computer-readable storage medium
JP6132610B2 (ja) 画像処理装置、及び、画像処理方法
JP6468751B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2018067868A (ja) 撮像装置
CN104205805B (zh) 图像处理装置以及方法
JP2018019326A (ja) 画像処理装置、撮像装置、及び画像処理方法
JP2018017678A (ja) 画像処理装置、撮像装置、及び画像処理方法
JP2020061129A (ja) 画像処理方法、画像処理装置、撮像装置、画像処理システム、プログラム、および、記憶媒体
JP7414455B2 (ja) 焦点検出装置及び方法、及び撮像装置
JP6532411B2 (ja) 画像処理装置、撮像装置および画像処理プログラム
JP2015149554A (ja) 画像処理装置、画像処理方法及び撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180731

R151 Written notification of patent or utility model registration

Ref document number: 6381344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151