(57)【要約】【課題】  スジノイズ成分をより高精度に推定するための技術を提供すること。【解決手段】  画像における画素ごとに平坦度を取得する。画像における着目画素について、画像におけるスジ状のノイズの方向に着目画素および近傍の画素を含む領域を設定する。そして、領域に含まれる各画素の平坦度に応じた重みと、各画素の画素値とに基づいて、画像におけるスジ状のノイズの成分を算出する。求めたスジ状のノイズの成分に基づいて画像を補正する。【選択図】  図１
2019016865.tif 000002
【特許請求の範囲】
【請求項１】
画像における画素ごとに平坦度を取得する取得手段と、
前記画像における着目画素について、前記画像におけるスジ状のノイズの方向に前記着目画素および近傍の画素を含む領域を設定し、前記領域に含まれる各画素の前記平坦度に応じた重みと、各画素の画素値とに基づいて、前記画像におけるスジ状のノイズの成分を算出する算出手段と、
前記算出手段が求めたスジ状のノイズの成分に基づいて前記画像を補正する補正手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記領域に含まれる各画素の重みと画素値とを用いて重み付き平均を算出し、重み付き平均画像を出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記算出手段は、前記重み付き平均画像をスジ状のノイズの方向に縮小してからスジ状のノイズの方向と直交する方向について特定の周波数以上の周波数成分を抽出する処理を行うことで、前記画像におけるスジ状のノイズの成分を求めることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記取得手段は、前記画像における着目画素を含む画像領域の画素値の分散値に基づいて該着目画素の平坦度を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記取得手段は、前記画像における着目画素を含み且つスジ状のノイズの方向と直交する方向の画素列の画素値の分散値に基づいて該着目画素の平坦度を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
前記取得手段は、前記画像における着目画素を含む画像領域においてスジ状のノイズの方向と直交する画素列ごとの画素値の分散値に基づいて該着目画素の平坦度を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項７】
前記取得手段は、前記画像においてスジ状のノイズの方向のエッジに基づいて前記画像における各画素の平坦度を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項８】
前記取得手段は、着目画素について求めた平坦度を、該着目画素の画素値の飽和の度合い及び黒潰れの度合いに応じて補正することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記取得手段は、着目画素について求めた平坦度を、該着目画素及びその周辺の画素の画素値の飽和の度合い及び黒潰れの度合いに応じて補正することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項１０】
前記取得手段は、着目画素について求めた平坦度を、該着目画素及びその周辺の画素の平均の画素値の飽和の度合い及び黒潰れの度合いに応じて補正することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項１１】
前記算出手段は、前記画像における着目画素の平坦度をスケーリングすることで該着目画素の重み値を求めることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記算出手段は、前記画像における着目画素の平坦度と閾値との大小関係に応じて該着目画素の重み値を求めることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１３】
前記算出手段は、前記画像における着目画素を含み且つスジ状のノイズの方向の画素列におけるそれぞれの画素の平坦度の平均値を該着目画素の重み値とすることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１４】
前記算出手段は、前記画像における着目画素を含み且つスジ状のノイズの方向の画素列において平坦度が閾値以上となる画素の数に応じて該着目画素の重み値を求めることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１５】
前記算出手段は、前記画像における着目画素を含み且つスジ状のノイズの方向の画素列において平坦度が閾値未満となる画素の数に応じて該着目画素の重み値を求めることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１６】
前記補正手段は、前記求めたスジ状のノイズの成分を前記平坦度に応じて補正し、該補正したスジ状のノイズの成分に基づいて前記画像を補正することを特徴とする請求項１乃至１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記算出手段は、前記画像をスジ状のノイズの方向と直交する方向に微分した微分画像に対して、画素値の重み付き平均処理及びスジ状のノイズの方向への縮小処理を複数回行ってから、スジ状のノイズの方向と直交する方向に積分することで、前記画像におけるスジ状のノイズの成分を求めることを特徴とする請求項１１乃至１５の何れか１項に記載の画像処理装置。
【請求項１８】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、画像における画素ごとに平坦度を取得する取得工程と、
前記画像処理装置の算出手段が、前記画像における着目画素について、前記画像におけるスジ状のノイズの方向に前記着目画素および近傍の画素を含む領域を設定し、前記領域に含まれる各画素の前記平坦度に応じた重みと、各画素の画素値とに基づいて、前記画像におけるスジ状のノイズの成分を算出する算出工程と、
前記画像処理装置の補正手段が、前記算出工程で求めたスジ状のノイズの成分に基づいて前記画像を補正する補正工程と
を備えることを特徴とする画像処理方法。
【請求項１９】
コンピュータを、請求項１乃至１７の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれているスジ状のノイズを低減する為の技術に関するものである。
【背景技術】
【０００２】
より暗いシーン、あるいはより速く動く対象物を撮影するために、カメラの感度を上げるもしくは撮影した動画像のガンマ値やコントラストを調整することが望まれている。しかしながら、これらの操作を行うと、センサでランダムに発生するスジ状のノイズ（以下、スジノイズ）が顕著となるため、このようなスジノイズを低減する処理が必要となる。スジノイズを低減するためには、このスジノイズを撮影画像から分離同定する技術が必要である。
【０００３】
例えば特許文献１では、スジの伸びる方向にローパスフィルタ（ＬＰＦ）を適用した後にスジと直交する方向にＬＰＦを適用する。そして、このようなＬＰＦを適用した後の画像と、ＬＰＦを適用する前の画像と、の差分を計算してスジ状の成分を画像から抽出し、さらにメディアンフィルタを適用してこれをスジノイズと推定している。
【０００４】
また、特許文献２では、スジの伸びる方向に画像を縮小し、縮小した画像に対してスジノイズと直交する方向にエッジ除去型ハイパスフィルタをかけ、その画像に対してスジノイズが伸びる方向に閾値処理をして、その結果をスジノイズとして推定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2003-153004号
【特許文献２】特開2013-200901号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
撮影画像において被写体成分上にスジノイズが含まれる場合、被写体成分の画素値の変化の大きさに対してスジノイズの標準偏差が大きくなるほどスジノイズの推定は困難になる。また、スジノイズが伸びる方向と同じ方向のエッジがある場合にはさらに、スジノイズ推定が困難になる。しかしながらスジノイズを正しく推定できない場合、スジノイズの伸びる方向と平行な被写体のエッジがぼけやすい、あるいは新たなスジパターンを創り出してしまう可能性があるという課題が存在する。
【０００７】
例えば、特許文献１に開示される技術では、スジの伸びる方向にＬＰＦを適用する際に、被写体成分が混入することが避けられず、スジノイズの方向に長く伸びるエッジを持った被写体成分とスジノイズとの分離が困難である。
【０００８】
特許文献２に開示されている技術では、エッジ除去型ハイパスフィルタと閾値処理によってスジノイズと被写体成分を分離している。しかし、スジノイズの伸びる方向に画像を縮小する際に被写体成分が混入することが避けられず、こちらも特許文献２と同様の課題を抱えている。本発明はこのような問題に鑑みてなされたものであり、スジノイズ成分をより高精度に推定するための技術を提供する。
【課題を解決するための手段】
【０００９】
本発明の一様態は、画像における画素ごとに平坦度を取得する取得手段と、前記画像における着目画素について、前記画像におけるスジ状のノイズの方向に前記着目画素および近傍の画素を含む領域を設定し、前記領域に含まれる各画素の前記平坦度に応じた重みと、各画素の画素値とに基づいて、前記画像におけるスジ状のノイズの成分を算出する算出手段と、前記算出手段が求めたスジ状のノイズの成分に基づいて前記画像を補正する補正手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の構成によれば、スジノイズ成分をより高精度に推定することができる。
【図面の簡単な説明】
【００１１】
【図１】コンピュータ装置のハードウェア構成例を示すブロック図。
【図２】図４の各機能部が行う処理のフローチャート。
【図３】図５の各機能部の動作を示すフローチャート。
【図４】画像処理装置の機能構成例を示すブロック図。
【図５】推定部４０３の機能構成例を示すブロック図。
【図６】画像領域を示す図。
【図７】フィルタの構成例を示す図。
【図８】画像領域を示す図。
【図９】画像領域を示す図。
【図１０】図４の各機能部が行う処理のフローチャート。
【図１１】ステップＳ１１０４における処理の詳細を示すフローチャート。
【図１２】ステップＳ２０３における処理のフローチャート。
【図１３】推定部４０３の機能構成例を示すブロック図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１３】
［第１の実施形態］
本実施形態では、画像中のスジノイズを推定して除去するための画像処理装置について説明する。ここでスジノイズとは前述の通り、センサでランダムに発生するスジ状のノイズを意味する。先ず、本実施形態に係る画像処理装置の機能構成例について、図４のブロック図を用いて説明する。
【００１４】
取得部４０１は、画像を取得する。算出部４０２は、取得部４０１が取得した画像における画素ごとに、画素値の平坦の度合いを示す平坦度を求める。推定部４０３は、取得部４０１が取得した画像におけるスジノイズを、算出部４０２が求めた平坦度に基づいて推定する。補正部４０４は、取得部４０１が取得した画像から推定部４０３が推定したスジノイズを除去する。出力部４０６は、補正部４０４によってスジノイズが除去された画像を出力する。次に、取得した画像中のスジノイズを除去して出力するために図４の各機能部が行う処理について、図２のフローチャートに従って説明する。
【００１５】
ステップＳ２０１では、取得部４０１は画像を取得する。取得部４０１による画像の取得方法や取得形態については特定の取得方法、特定の取得形態に限らない。例えば取得部４０１は、画像処理装置に内蔵されているメモリや画像処理装置に接続されている外部機器（サーバや外部メモリ等）に格納されている画像を取得するようにしても良い。また例えば取得部４０１は、画像処理装置と通信可能な撮像装置により撮像された撮像画像を取得するようにしても良い。
【００１６】
ステップＳ２０２では、算出部４０２は、ステップＳ２０１において取得部４０１が取得した画像における画素ごとに上記の平坦度を求める。画素ごとの平坦度には様々なものが考えられる。
【００１７】
画素ごとの平坦度を求めるための第１の方法について、図６（ａ）を用いて説明する。図６（ａ）は、画像における一部の領域（画像領域）を拡大したものであり、それぞれの矩形が画素を表している。これは、図６（ｂ），６（ｃ），８，９についても同様である。図６（ａ）に示す如く、着目画素（黒で塗りつぶした矩形）の平坦度を求める場合、着目画素を中心とする縦ｍ（図６（ａ）ではｍ＝７）画素×横ｍ画素の２次元の画像領域（斜線で示した領域及び黒の矩形からなる領域）を設定する。ここで、図６（ａ）では、スジ状のノイズが伸びている方向（スジノイズの伸びる方向）を水平方向、スジ状のノイズが伸びている方向と直交する方向（スジノイズと直交する方向）を垂直方向としている。これは、図６（ｂ），６（ｃ），８，９についても同様である。このとき、設定した画像領域に含まれている画素の画素値の分散値Ｖ１に基づいて、着目画素の平坦度を求める。つまり、画像領域に含まれているそれぞれの画素の画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ２）とすると、着目画素の平坦度Ｓｍは以下の式に基づいて算出される。
【００１８】
ｍ×ｍ
Ｖ１＝１／（ｍ×ｍ）×Σ  （Ｘ（ｉ）−Ｕ）２
ｉ＝１
Ｓｍ＝１／Ｖ１
ここで、Ｕは、画像領域に含まれている画素の画素値の平均値であり、Ｕ＝（Ｘ（１）＋Ｘ（２）＋…＋Ｘ（ｍ２））／ｍ２である。なお、平坦度Ｓｍの値は、分散値Ｖ１の値が大きいほど小さくなるように且つ分散値Ｖ１の値が小さいほど大きくなるように求めることができるのであれば、平坦度Ｓｍは分散値Ｖ１からどのような方法で求めても良い。
【００１９】
画素ごとの平坦度を求めるための第２の方法について、図６（ｂ）を用いて説明する。図６（ｂ）に示す如く、着目画素（黒で塗りつぶした矩形）の平坦度を求める場合、着目画素を含み且つスジノイズと直交する方向の画素列において該着目画素を中心とするｍ（図６（ｂ）ではｍ＝７）画素の画像領域（斜線で示した領域及び黒の矩形からなる領域）を設定する。このとき、設定した画像領域に含まれている画素値の分散値Ｖ２に基づいて、着目画素の平坦度を求める。つまり、画像領域に含まれているそれぞれの画素の画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）とすると、着目画素の平坦度Ｓｍは以下の式に基づいて算出される。
【００２０】
ｍ
Ｖ２＝１／ｍ×Σ  （Ｘ（ｉ）−Ｕ）２
ｉ＝１
Ｓｍ＝１／Ｖ２
ここで、Ｕは、画像領域に含まれている画素の画素値の平均値であり、Ｕ＝（Ｘ（１）＋Ｘ（２）＋…＋Ｘ（ｍ））／ｍである。なお、平坦度Ｓｍの値は、分散値Ｖ２の値が大きいほど小さくなるように且つ分散値Ｖ２の値が小さいほど大きくなるように求めることができるのであれば、平坦度Ｓｍは分散値Ｖ２からどのような方法で求めても良い。
【００２１】
画素ごとの平坦度を求めるための第３の方法について、図６（ｃ）を用いて説明する。図６（ｃ）に示す如く、着目画素（黒で塗りつぶした矩形）の平坦度を求める場合、着目画素を中心とする縦ｍ（図６（ｃ）ではｍ＝７）画素×横ｍ画素の画像領域を設定する。そして、この画像領域においてスジノイズと直交する方向の画素列ごとに、該画素列に含まれている画素の画素値の分散値を求め、該求めた分散値の平均値に基づいて、着目画素の平坦度を求める。つまり、画像領域において中央の画素列を構成するそれぞれの画素の画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＣとする。同様にして、画像領域において左端の画素列を構成する画素Ｌ３１，Ｌ３２，Ｌ３３，Ｌ３４，Ｌ３５，Ｌ３６，Ｌ３７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＬ３とする。同様にして、画像領域において左端から２番目の画素列を構成する画素Ｌ２１，Ｌ２２，Ｌ２３，Ｌ２４，Ｌ２５，Ｌ２６，Ｌ２７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＬ２とする。同様にして、画像領域において左端から３番目の画素列を構成する画素Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４，Ｌ１５，Ｌ１６，Ｌ１７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＬ１とする。同様にして、画像領域において右端の画素列を構成する画素Ｒ３１，Ｒ３２，Ｒ３３，Ｒ３４，Ｒ３５，Ｒ３６，Ｒ３７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＲ３とする。同様にして、画像領域において右端から２番目の画素列を構成する画素Ｒ２１，Ｒ２２，Ｒ２３，Ｒ２４，Ｒ２５，Ｒ２６，Ｒ２７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＲ２とする。同様にして、画像領域において右端から３番目の画素列を構成する画素Ｒ１１，Ｒ１２，Ｒ１３，Ｒ１４，Ｒ１５，Ｒ１６，Ｒ１７のそれぞれの画素値をＸ（ｉ）（ｉ＝１，２，…，ｍ）として上記のＶ２を求める式により得られるＶ２の値をＶＲ１とする。このとき、着目画素の平坦度Ｓｍは以下の式に基づいて算出される。
【００２２】
Ｖｍ＝（ＶＲ１＋ＶＲ２＋ＶＲ３＋ＶＬ１＋ＶＬ２＋ＶＬ３＋ＶＣ）／７
ＳＭ＝１／Ｖｍ
なお、平坦度Ｓｍの値は、分散値Ｖｍの値が大きいほど小さくなるように且つ分散値Ｖｍの値が小さいほど大きくなるように求めることができるのであれば、平坦度Ｓｍは分散値Ｖｍからどのような方法で求めても良い。
【００２３】
画素ごとの平坦度を求めるための第４の方法について説明する。第４の方法では、取得部４０１が取得した画像に対してエッジ検出処理を行い、スジ状のノイズが伸びている方向（スジノイズと同方向）のエッジを検出する。エッジ検出には、Robertsフィルタ、Sobelフィルタ、Prewittフィルタ、Cannyエッジ検出器、Logエッジ検出器等を用いることができる。他にもエッジが検出可能な手法であればどのような手法を用いても良い。画像に対してエッジ検出を行うことで、画像における画素ごとにエッジ強度値が得られる。スジノイズと同方向のエッジを構成する画素のエッジ強度値は、スジノイズと同方向のエッジを構成していない画素のエッジ強度値よりも小さくなる。この場合、着目画素のエッジ強度値が小さいほど、着目画素の平坦度Ｓｍを大きくし、着目画素のエッジ強度値が大きいほど、着目画素の平坦度Ｓｍを小さくする。若しくは、各画素のエッジ強度値をスジノイズと同方向に平滑化する平滑化処理を行ってから、着目画素のエッジ強度値が小さいほど、着目画素の平坦度Ｓｍを大きくし、着目画素のエッジ強度値が大きいほど、着目画素の平坦度Ｓｍを小さくする。この平滑化処理には、例えば、図７に示すような構成を有するフィルタを用いることができる。他にもスジノイズと同方向に平滑化処理できる手法であればどのような方法でもよい。
【００２４】
以上説明した第１の方法、第２の方法、第３の方法、第４の方法の何れを用いても構わないし、これらの一部若しくは全部を組み合わせた方法でもって各画素の平坦度を求めても良い。
【００２５】
次に、ステップＳ２０３では、推定部４０３は、取得部４０１が取得した画像におけるスジノイズを、算出部４０２が求めた平坦度に基づいて推定する。ここで、推定部４０３の機能構成例を図５のブロック図に示す。図５の各機能部の動作について、図３のフローチャートに従って説明する。
【００２６】
ステップＳ３０１では、平滑縮小部５０１は先ず、取得部４０１が取得した画像における画素ごとに重み値Ｗｓｍを取得する。着目画素の重み値Ｗｓｍは、該着目画素の平坦度Ｓｍに基づいて取得する。着目画素の平坦度Ｓｍをそのまま該着目画素の重み値Ｗｓｍとしても良いし、着目画素の平坦度Ｓｍに基づく演算処理により該着目画素の重み値Ｗｓｍを求めても良い。平坦度Ｓｍに基づいて重み値Ｗｓｍを求めるための演算方法には様々な演算方法が考えられる。
【００２７】
第１の演算方法では、取得部４０１が取得した画像における全ての画素の平坦度Ｓｍのうち最大の平坦度ＳｍをＭｓｍとすると、着目画素の重み値Ｗｓｍは、Ｍｓｍと着目画素の平坦度Ｓｍとを用いた以下の式に従って求める。
【００２８】
Ｗｓｍ＝Ｓｍ／Ｍｓｍ
なお、この式以外にも、平坦度Ｓｍに対して任意の係数を掛けてスケーリングした値を重み値Ｗｓｍとする式には様々な式が考えられる。
【００２９】
第２の演算方法では、着目画素の平坦度Ｓｍと規定の閾値Ｔｈとの大小関係に応じて該着目画素の重み値Ｗｓｍを決定する。例えば、Ｓｍ＞Ｔｈであれば、Ｗｓｍ＝１とし、Ｓｍ≦Ｔｈであれば、Ｗｓｍ＝０とする。重み値Ｗｓｍは１，０以外の値であっても良い。また、互いに値が異なる複数の閾値を設け、平坦度Ｓｍがどの閾値で表される区間に属するのかに応じて重み値Ｗｓｍを決定しても良い。
【００３０】
第３の演算方法では、例えば、図８に示す如く、スジノイズの伸びる方向に着目画素（黒で塗りつぶした矩形）と該着目画素の前後ｍ（図８ではｍ＝３）画素（斜線で示した画素）からなる画像領域を設定する。そして画像領域に属する各画素の平坦度Ｓｍの平均値を着目画素の重み値Ｗｓｍとする。
【００３１】
第４の演算方法では、例えば、図８に示す如く、スジノイズの伸びる方向に着目画素（黒で塗りつぶした矩形）と該着目画素の前後ｍ（図８ではｍ＝３）画素（斜線で示した画素）からなる画像領域を設定する。そして画像領域に属する画素のうち平坦度Ｓｍが規定の閾値以上となる画素の数をｎとすると、ｎ／（２ｍ＋１）を着目画素の重み値Ｗｓｍとする。
【００３２】
第５の演算方法では、例えば、図８に示す如く、スジノイズの伸びる方向に着目画素（黒で塗りつぶした矩形）と該着目画素の前後ｍ（図８ではｍ＝３）画素（斜線で示した画素）からなる画像領域を設定する。そして画像領域に属する画素のうち平坦度Ｓｍが規定の閾値未満となる画素の数の逆数を着目画素の重み値Ｗｓｍとする。
【００３３】
以上説明した第１の演算方法、第２の演算方法、第３の演算方法、第４の演算方法、第５の演算方法の何れを用いても構わないし、これらの一部若しくは全部を組み合わせた演算方法でもって各画素の重み値を求めても良い。何れにせよ、重み値Ｗｓｍは、平坦度Ｓｍが大きいほど大きくなるように且つ平坦度Ｓｍが小さいほど小さくなるように求めることができるのであれば、重み値Ｗｓｍは平坦度Ｓｍからどのような方法で求めても良い。なお、平坦度に基づいた重み値に加えて画素値や画素間の距離に基づいた重み値ＷＩを同時に使用することも可能である。その場合は最終的に用いる重みＷはＷ＝Ｗｓｍ＋ＷＩと表すことができる。
【００３４】
次に平滑縮小部５０１は、取得部４０１が取得した画像における各画素の重み値Ｗｓｍを用いて、各画素の画素値の重み付き平均処理をスジノイズの伸びる方向に行う。例えば図８に示す如く、スジノイズの伸びる方向に着目画素（黒で塗りつぶした矩形）と該着目画素の前後ｍ（図８ではｍ＝３）画素（斜線で示した画素（近傍の画素））からなる画像領域を設定する。画像領域の左端からｉ（１≦ｉ≦７）番目の画素の画素値及び重み値をそれぞれＸ（ｉ）、Ｗｓｍ（ｉ）とする。このとき、着目画素の重み付き平均処理後の画素値Ｘ’は以下の式に従って求めることができる。
【００３５】
７                                ７
Ｘ’＝（  Σ  Ｘ（ｉ）×Ｗｓｍ（ｉ））／（  Σ  Ｗｓｍ（ｉ））
ｉ＝１                            ｉ＝１
平坦度が小さい画素は、エッジなど被写体成分が含まれている可能性が高いため、スジノイズ成分を抽出するための重み付き平均における重みを小さくする。これにより、着目画素のスジノイズ成分に被写体成分が含まれてしまうことを抑制する。このような処理を取得部４０１が取得した画像における各画素について行うことで、各画素に対応する重み付き平均処理後の画素値Ｘ’を得ることができる。つまり、取得部４０１が取得した画像における各画素の画素値を重み付き平均処理後の画素値Ｘ’に変換した画像（重み付き平均画像）を生成することができる。
【００３６】
そして平滑縮小部５０１は、生成した重み付き平均画像を、スジノイズと同方向に規定の縮小率でもって縮小（縮小処理）することで縮小画像を生成する。最適な縮小率は画像のランダムノイズとスジノイズの標準偏差に依存する。
【００３７】
次に、ステップＳ３０２でハイパスフィルタ部５０２は、平滑縮小部５０１により生成された縮小画像に対して、スジノイズと直交する方向にハイパスフィルタを適用することで、該縮小画像における高周波数成分が強調されたフィルタ処理済画像を生成する。ハイパスフィルタ部５０２が使用するハイパスフィルタは、例えば、エッジ保存型の平滑化フィルタ（バイラテラルフィルタなど）をかけた結果を、元の画像から減算したものが考えられえる。なお、ハイパスフィルタ部５０２が行う処理は、ある特定の周波数以上の周波数成分を抽出するような処理であればどのような処理でもよい。フィルタ処理済画像はスジノイズ成分を表す画像である。
【００３８】
図２に戻って、次にステップＳ２０４では、補正部４０４は、フィルタ処理済画像をスジノイズと同方向に拡大した拡大画像を生成する。拡大率は上記の「規定の縮小率」の逆数である。つまり補正部４０４は、フィルタ処理済画像のスジノイズと同方向のサイズを取得部４０１が取得した画像と同サイズに拡大する。画像の拡大に伴う画素値の補間については周知であるから、これに係る説明は省略する。そして補正部４０４は、取得部４０１が取得した画像における各画素の画素値から拡大画像において対応する画素の画素値を差し引くことで、取得部４０１が取得した画像からスジノイズを除去する。そして出力部４０６は、補正部４０４によってスジノイズが除去された画像を出力する。出力部４０６による画像の出力先については特定の出力先に限らない。例えば出力部４０６は、画像処理装置に内蔵されているメモリや画像処理装置に接続されている外部機器（サーバ、外部メモリ等）に対して画像を出力しても良いし、画像処理装置と通信可能な表示装置に画像を出力（表示）するようにしても良い。また出力部４０６は、プリンタや複写機などの印刷可能な装置に対して画像を印刷させるべく出力しても良い。
【００３９】
このように、本実施形態では、画像において平坦度が高い領域の重み値を大きくしてスジノイズと同方向に画素値の平滑化を行ってから該画像をスジノイズと同方向に縮小することでスジノイズ成分を推定している。これにより、スジノイズ推定結果に被写体成分が混入しづらくなる。従って、従来ではスジノイズ成分の推定が困難であったスジノイズと同方向の被写体が多く存在する画像においても従来よりも高い精度でスジノイズ成分を推定する事が可能となる。
【００４０】
なお、第１の実施形態では、平坦度に応じた平滑化をした後、縮小した。しかしながら、縮小処理がない構成であってもよい。平坦度に応じた重みを用いた平滑化により、被写体成分の混入を抑制したスジノイズ推定結果を得られる。
【００４１】
［第２の実施形態］
本実施形態を含め、以下の各実施形態では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。第１の実施形態では、拡大画像（スジノイズの成分）を補正せずにそのまま使用していた。しかし、平坦度の低い領域が多いライン（スジノイズと同方向の画素列）ではスジノイズ成分の推定精度が低くなることがある。本実施形態では、平坦度の低い領域が多い画像においてもスジノイズ除去時に、スジノイズ成分の誤推定によって新たにスジを作り出してしまうことを防止する。
【００４２】
取得した画像中のスジノイズを除去して出力するために図４の各機能部が行う処理について、図１０のフローチャートに従って説明する。なお、図１０においてステップＳ１１０１〜Ｓ１１０３の各ステップにおける処理はそれぞれ、図２のステップＳ２０１〜Ｓ２０３と同じであるため、これらのステップに係る説明は省略する。
【００４３】
ステップＳ１１０４で補正部４０４は、平坦度に応じて拡大画像を補正し、取得部４０１が取得した画像の各画素の画素値から該補正後の拡大画像において対応する画素の画素値を差し引くことで、取得部４０１が取得した画像からスジノイズを除去する。そして出力部４０６は、補正部４０４によってスジノイズが除去された画像を出力する。ステップＳ１１０４における処理の詳細について、図１１のフローチャートに従って説明する。
【００４４】
ステップＳ１３０１では、補正部４０４は、拡大画像の画素位置（ｘ、ｙ）における画素値に、取得部４０１が取得した画像の画素位置（ｘ、ｙ）における重み値Ｗｓｍ２を乗じることで、拡大画像の画素位置（ｘ、ｙ）における画素値を補正する。本実施形態において、重み値Ｗｓｍ２はステップＳ３０１と同様の方法により算出されるものとする。なお前述の通り、ステップＳ３０１で記載した複数の方法のうち、どの算出方法を用いてもよい。この処理を、拡大画像の全ての画素位置（ｘ、ｙ）について行うことで、拡大画像におけるスジノイズの成分を平坦度に応じて補正した補正画像を生成することができる。
【００４５】
そしてステップＳ１３０２では、補正部４０４は、取得部４０１が取得した画像の各画素の画素値から補正画像において対応する画素の画素値を差し引くことで、取得部４０１が取得した画像からスジノイズを除去する。そして出力部４０６は、補正部４０４によってスジノイズが除去された画像を出力する。
【００４６】
このように、本実施形態によれば、平坦度が低い領域が多く、スジノイズ推定精度の低くなるラインにおいてもスジを作り出したりすることなく、スジノイズ除去が可能となる。
【００４７】
［第３の実施形態］
第１，２の実施形態では、スジノイズ推定の際に画像に対して平滑縮小化を１回行っただけであった。このような場合にランダムノイズの標準偏差が大きいと、ランダムノイズの影響を受け、被写体成分が分離しきれないことがある。そこで本実施形態では、画像を微分し、さらに２回の平滑縮小化を行うことでランダムノイズの標準偏差が大きい場合でも被写体成分を精度よく分離して、スジノイズ成分を推定することを可能にする。
【００４８】
本実施形態では、図２のフローチャートに従った処理においてステップＳ２０３で図１２のフローチャートに従う点が第１の実施形態と異なる。ステップＳ２０３では、推定部４０３は、取得部４０１が取得した画像におけるスジノイズを、算出部４０２が求めた平坦度に基づいて推定する。ここで、推定部４０３の機能構成例を図１３のブロック図に示す。図１３の各機能部の動作について、図１２のフローチャートに従って説明する。
【００４９】
ステップＳ１８０１では、生成部２００１は、取得部４０１が取得した画像をスジノイズと直交するに微分した微分画像を生成する。更に生成部２００１は、上記のステップＳ３０１と同様にして、取得部４０１が取得した画像における画素ごとに重み値Ｗｓｍを取得する。
【００５０】
ステップＳ１８０２で生成部２００２は、上記のステップＳ３０１と同様にして、ステップＳ１８０１で生成した微分画像における各画素に対応する重み値Ｗｓｍを用いて、微分画像における各画素の画素値の重み付き平均処理をスジノイズの伸びる方向に行う。ここで、微分画像の画素位置（ｘ、ｙ）における重み値Ｗｓｍは、取得部４０１が取得した画像の画素位置（ｘ、ｙ）についてステップＳ１８０１で求めた重み値Ｗｓｍである。微分画像における各画素について重み付き平均処理を行うことで、各画素に対応する重み付き平均処理後の画素値Ｘ’を得ることができる。つまり、微分画像における各画素の画素値を重み付き平均処理後の画素値Ｘ’に変換した画像（第１の重み付き平均画像）を生成することができる。なお、平坦度に基づいた重み値（Ｗｓｍ１）に加えて画素値や画素間の距離に基づいた重みＷＩを同時に使用することも可能である。その場合は最終的に用いる重みＷはＷ＝Ｗｓｍ１＋ＷＩと表すことができる。そして生成部２００２は、第１の重み付き平均画像を、スジノイズと同方向に規定の縮小率（第１の縮小率）でもって縮小することで第１の縮小画像を生成する。
【００５１】
ステップＳ１８０３では、生成部２００３は、上記のステップＳ３０１と同様にして、第１の縮小画像における各画素に対応する重み値を用いて、第１の縮小画像における各画素の画素値の重み付き平均処理をスジノイズの伸びる方向に行う。ここで、第１の重み付き平均画像を第１の縮小率で縮小した結果、第１の重み付き平均画像における画素位置（ｘ、ｙ）が第１の縮小画像における画素位置（ｘ’、ｙ’）に変換されたとする。このとき、第１の縮小画像の画素位置（ｘ’、ｙ’）における重み値は、ステップＳ３０１と同様にして求められた重み値を第１の縮小率で縮小した結果、もしくは平坦度を第１の縮小率で縮小した結果に対してステップＳ３０１に記載の方法で重み値を算出したＷｓｍ２である。第１の縮小画像における各画素について重み付き平均処理を行うことで、各画素に対応する重み付き平均処理後の画素値Ｘ’を得ることができる。つまり、第１の縮小画像における各画素の画素値を重み付き平均処理後の画素値Ｘ’に変換した画像（第２の重み付き平均画像）を生成することができる。なお、平坦度に基づいた重み値（Ｗｓｍ２）に加えて画素値や画素間の距離に基づいた重みＷＩを同時に使用することも可能である。その場合は最終的に用いる重みＷはＷ＝Ｗｓｍ２＋ＷＩと表すことができる。そして生成部２００３は、第２の重み付き平均画像を、スジノイズと同方向に規定の縮小率（第２の圧縮率）でもって縮小することで第２の縮小画像を生成する。
【００５２】
ステップＳ１８０４では、生成部２００４は、第２の縮小画像をスジノイズと直交する方向に積分した画像（積分画像）をスジノイズ成分として生成する。そして本実施形態に係るステップＳ２０４では、補正部４０４は、積分画像をスジノイズと同方向に拡大した拡大画像を生成する。拡大率は「１／（第１の縮小率×第２の縮小率）」である。つまり補正部４０４は、積分画像のスジノイズと同方向のサイズを取得部４０１が取得した画像と同サイズに拡大する。以降は第１の実施形態と同様である。
【００５３】
このように、本実施形態によれば、画像を微分し、さらに２回の平滑縮小化を行うことでランダムノイズの標準偏差が大きい場合でも被写体成分を精度よく分離して、スジノイズ成分を推定することが可能となる。なお、平滑縮小化の回数は２に限らず、３以上であっても良い（つまり平滑縮小化は複数回行う）。
【００５４】
［第４の実施形態］
第１の実施形態で説明した方法により平坦度を算出する場合、「画素値の上限（飽和）もしくは下限（黒潰れ）」に近い画素値を有する画素が多く含まれた画像の場合、多くの画素の平坦度が高くなる可能性がある。画素値が飽和・黒潰れに近い場合には、スジノイズも飽和・黒潰れしてしまい、その画素からのスジノイズ成分の推定は不可能もしくは精度が低下する可能性がある。そこで本実施形態では、飽和・黒潰れの度合いも考慮して平坦度を算出することで、飽和・黒潰れ領域がある画像からでも被写体成分を精度よく分離して、スジノイズ成分を推定することを可能にする。
【００５５】
本実施形態は、算出部４０２による各画素の平坦度の算出方法（ステップＳ２０２）が第１の実施形態と異なり、それ以外については第１の実施形態と同様である。然るに以下では、算出部４０２の動作について重点的に説明する。
【００５６】
算出部４０２は、取得部４０１が取得した画像における各画素の仮の平坦度（仮平坦度Ｓｍａ）を求める。仮の平坦度は平坦度と同じ方法で求める。そして更に算出部４０２は、取得部４０１が取得した画像の各画素について、該画素の画素値に対する飽和・黒潰れの度合いを示す値ＳＢを求める。このような値ＳＢを求める方法には様々な方法が考えられる。以下に着目画素に対する値ＳＢを求める為の幾つかの方法を説明する。
【００５７】
着目画素に対する値ＳＢを求めるための第１の方法について、図９を用いて説明する。第１の方法では、着目画素の画素値が「飽和に近いと考えられる基準の画素値」や「黒潰れに近いと考えられる基準の画素値」に近づくほど、該着目画素の値ＳＢを大きくする。図９に示す如く、第１の実施形態で説明した平坦度の算出方法でもって、着目画素（黒で塗りつぶした矩形）の仮平坦度Ｓｍａを求める。そして、画素値が取り得る最大値をＭｓ、最小値をＭｂ、飽和に近いと考えられる基準の画素値をＴｈｓ、黒潰れに近いと考えられる基準の画素値をＴｈｂとする。着目画素の画素値をＸとすると、着目画素に対する値ＳＢは以下の式で求めることができる。
【００５８】
ＳＢ＝１  （Ｘ≦Ｔｈｓ且つＸ≧Ｔｈｂの場合）
ＳＢ＝１−（（Ｘ−Ｔｈｓ）／（Ｍｓ−Ｔｈｓ））  （Ｘ≧Ｔｈｓの場合）
ＳＢ＝１−（（Ｔｈｂ−Ｘ）／（Ｔｈｂ−Ｍｂ））  （Ｘ≦Ｔｈｂの場合）
着目画素に対する値ＳＢを求めるための第２の方法について、図６（ｂ）を用いて説明する。図６（ｂ）に示す如く、着目画素（黒で塗りつぶした矩形）を含み且つスジノイズと直交する方向の画素列において該着目画素を中心とするｍ（図６（ｂ）ではｍ＝７）画素の画像領域（斜線で示した領域（着目画素の周辺の画素）及び黒の矩形からなる領域）を設定する。そして、画像領域に含まれているそれぞれの画素について上記の方法でもって値ＳＢを求め、該求めた値ＳＢの平均値を、着目画素に対する値ＳＢとする。
【００５９】
なお、値ＳＢの平均値を求める際に着目画素からの距離や着目画素との画素値の差に応じて重みを付けた重み付け平均を行ってもよい。また上記の画像領域は任意に設定してよい。
【００６０】
着目画素に対する値ＳＢを求めるための第３の方法について、図６（ｂ）を用いて説明する。図６（ｂ）に示す如く、着目画素（黒で塗りつぶした矩形）を含み且つスジノイズと直交する方向の画素列において該着目画素を中心とするｍ（図６（ｂ）ではｍ＝７）画素の画像領域（斜線で示した領域及び黒の矩形からなる領域）を設定する。そして、画像領域に含まれているそれぞれの画素の画素値の平均値Ｘｍを求める。そして、以下の式により、着目画素に対する値ＳＢを求める。
【００６１】
ＳＢ＝１  （Ｘｍ≦Ｔｈｓ且つＸｍ≧Ｔｈｂの場合）
ＳＢ＝１−（（Ｘｍ−Ｔｈｓ）／（Ｍｓ−Ｔｈｓ））  （Ｘｍ≧Ｔｈｓの場合）
ＳＢ＝１−（（Ｔｈｂ−Ｘｍ）／（Ｔｈｂ−Ｍｂ））  （Ｘｍ≦Ｔｈｂの場合）
なお、画素値の平均値を求める際に着目画素からの距離や着目画素との画素値の差に応じて重みを付けた重み付け平均を行ってもよい。また上記の画像領域は任意に設定してよい。
【００６２】
値ＳＢは、以上説明した第１の方法、第２の方法、第３の方法の何れを用いて求めても良いし、これらの方法の一部若しくは全部を組み合わせた方法でもって値ＳＢを求めても良い。
【００６３】
そして着目画素の平坦度Ｓｍを仮平坦度Ｓｍａ及び値ＳＢに基づいて決定する。例えば、Ｓｍ＝Ｓｍａ＋ＳＢやＳｍ＝Ｓｍａ×ＳＢ等の式に従って平坦度Ｓｍを求める。なお、仮平坦度Ｓｍａ及び値ＳＢに基づいて平坦度Ｓｍを求めるための方法はこれらの方法に限らない。仮平坦度Ｓｍａ及び値ＳＢのどちらも値が大きな場合には平坦度Ｓｍを大きく、仮平坦度Ｓｍａ及び値ＳＢのどちらかもしくはどちらもが小さな場合には平坦度Ｓｍを小さくするような方法であればどのような方法でもよい。
【００６４】
このように、本実施形態では、飽和や黒潰れの領域の平坦度を低く算出している。そして、平坦度が高い領域の重みを大きくした上で平滑縮小化を行いスジノイズの推定をしており、スジノイズ推定結果に被写体成分が混入しづらくなる。また、スジノイズ成分が存在しないもしくは減弱している飽和や黒潰れの領域は重みが小さくなるために推定精度が低下しにくくなっている。これにより、従来ではスジノイズの推定が困難であったスジノイズと同方向の被写体が多く存在し、かつ飽和・黒潰れが存在する画像においても従来よりも高い精度でスジノイズを推定する事が可能となる。
【００６５】
［第５の実施形態］
図４，５，１３に示した各機能部はハードウェアで実装しても良いが、ソフトウェア（コンピュータプログラム）で実装しても良い。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は、上記の画像処理装置に適用可能である。画像処理装置に適用可能なコンピュータ装置のハードウェア構成例について、図１のブロック図を用いて説明する。
【００６６】
ＣＰＵ１０１はＲＡＭ１０２に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ１０１は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置が行うものとして上述した各処理を実行若しくは制御する。
【００６７】
ＲＡＭ１０２は、ＨＤＤ（ハードディスクドライブ装置）１０３や外部メモリ１０７からロードされたコンピュータプログラムやデータを格納するためのエリア、撮像装置１０５から汎用Ｉ／Ｆ１０４を介して受信した撮像画像を格納するためのエリアを有する。更にＲＡＭ１０２は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１０２は各種のエリアを適宜提供することができる。
【００６８】
ＨＤＤ１０３には、ＯＳ（オペレーティングシステム）や、画像処理装置が行うものとして上述した各処理をＣＰＵ１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。ＨＤＤ１０３に保存されているコンピュータプログラムには、図４，５，１３に示した各機能部の機能をＣＰＵ１０１に実現させるためのコンピュータプログラムが含まれている。また、ＨＤＤ１０３に保存されているデータには、上記の説明において既知の情報として説明したもの、例えば、閾値や縮小率などが含まれている。また、ＨＤＤ１０３には、処理対象となる画像が保存されていても良い。ＨＤＤ１０３に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０２にロードされ、ＣＰＵ１０１による処理対象となる。
【００６９】
汎用Ｉ／Ｆ１０４には撮像装置１０５、入力装置１０６、外部メモリ１０７が接続されており、汎用Ｉ／Ｆ１０４は、これらの機器とのデータ通信を行うためのインターフェースとして機能するものである。
【００７０】
撮像装置１０５は静止画像や動画像を撮像し、該撮像した静止画像や動画像は汎用Ｉ／Ｆ１０４を介してＨＤＤ１０３やＲＡＭ１０２に転送される。上記の取得部４０１が取得するものとして説明した画像は、撮像装置１０５が撮像した静止画像や動画像を構成するフレームの画像であっても良い。
【００７１】
入力装置１０６は、マウスやキーボードなどのユーザインターフェースであり、ユーザが操作することで各種の指示をＣＰＵ１０１に対して入力することができる。外部メモリ１０７は、メモリーカードやＵＳＢメモリなどのメモリ装置である。
【００７２】
モニタ１０８は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などでもって表示することができる。例えば、上記の実施形態において説明した処理によりスジノイズの成分が除去された画像をモニタ１０８に表示しても良い。モニタ１０８は、タッチパネル画面であっても良い。
【００７３】
ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用Ｉ／Ｆ１０４、モニタ１０８は何れもメインバス１０９に接続されている。なお、図１に示した構成は、画像処理装置に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎず、他の構成も考えられる。
【００７４】
また、上記の各実施形態の説明で挙げた数値は具体的な説明を行うために例示的に用いたものであり、上記の各実施形態の説明はこの数値に限定されるものではない。また、上記の各実施形態の一部若しくは全部を適宜組み合わせて使用しても良い。
【００７５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７６】
４０１：取得部  ４０２：算出部  ４０３：推定部  ４０４：補正部  ４０５：出力部
【図１】
2019016865.tif 000003
【図２】
2019016865.tif 000004
【図３】
2019016865.tif 000005
【図４】
2019016865.tif 000006
【図５】
2019016865.tif 000007
【図６】
2019016865.tif 000008
【図７】
2019016865.tif 000009
【図８】
2019016865.tif 000010
【図９】
2019016865.tif 000011
【図１０】
2019016865.tif 000012
【図１１】
2019016865.tif 000013
【図１２】
2019016865.tif 000014
【図１３】
2019016865.tif 000015