(57)【要約】  重み付き最小二乗法に基づく画像の平滑化において、必要とする計算リソースを減少させる。画像処理装置１００は、入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する第１の平滑化部１１０と、第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、第１の方向と異なる第２の方向へ所定のブロック毎に実行する第２の平滑化部１２０とを含む。
2017217395.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する第１の平滑化手段と、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する第２の平滑化手段と
を備える画像処理装置。
【請求項２】
前記第２の平滑化手段は、前記第２の平滑化処理を、所定の冗長度に応じたブロック毎に実行し、
前記第２の平滑化処理が実行された入力画像を累積加算する累積加算手段と、
前記累積加算された入力画像を前記冗長度に応じて正規化する正規化手段とを備える
請求項１に記載の画像処理装置。
【請求項３】
前記冗長度は、前記入力画像に対応するガイド画像の前記第２の方向の画像特徴量に応じて異なる
請求項２に記載の画像処理装置。
【請求項４】
前記画像特徴量は、前記ガイド画像を構成する画素と当該画素に隣接する画素との画素値の差を表す
請求項３に記載の画像処理装置。
【請求項５】
前記ブロックのサイズと一致する前記冗長度を含む
請求項１から請求項４までのいずれか１項に記載の画像処理装置。
【請求項６】
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行し、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する
画像処理方法。
【請求項７】
コンピュータに、
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する処理と、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する処理と
を実行させるためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理に関する。
【背景技術】
【０００２】
ノイズ除去の前処理として画像信号を構造成分と振動成分に分離する手法が知られている。ここにおいて、構造成分とは、画像の平坦領域と強いエッジにより構成される成分をいい、骨格成分ともいう。また、振動成分とは、入力された画像信号と構造成分の差分信号をいい、テクスチャ成分やノイズ成分により構成される。例えば、画像信号から分離された振動成分のノイズを低減させ、ノイズ低減後の振動成分を構造成分と合成することで、画像のエッジやテクスチャを維持しながらノイズを低減させることが可能である。【０００３】
このような画像信号の分離に関連する技術として、非特許文献１、２に開示された技術が知られている。非特許文献１、２は、重み付き最小二乗法に基づく画像の平滑化を開示している。以下においては、重み付き最小二乗法に基づいて画像を平滑化するフィルタのことを「ＷＬＳ（Weighted Least Squares）フィルタ」ともいう。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Zeev Farbman, Raanan Fattal, Dani Lischinski, Richard Szeliski: Edge-preserving decompositions for multi-scale tone and detail manipulation. ACM Trans. Graph. 27(3) (2008).
【非特許文献２】Dongbo Min, Sunghwan Choi, Jiangbo Lu, Bumsub Ham, Kwanghoon Sohn, Minh N. Do: Fast Global Image Smoothing Based on Weighted Least Squares. IEEE Transactions on Image Processing 23(12): 5638-5653 (2014).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１、２に開示された技術には、例えば、メモリの使用量が多いという技術的課題がある。【０００６】
本開示の例示的な目的は、重み付き最小二乗法に基づく画像の平滑化において、必要とする計算リソースを減少させることである。
【課題を解決するための手段】
【０００７】
一の態様において、入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する第１の平滑化手段と、前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する第２の平滑化手段とを備える画像処理装置が提供される。【０００８】
別の態様において、入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行し、前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する画像処理方法が提供される。【０００９】
さらに別の態様において、コンピュータに、入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する処理と、前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する処理とを実行させるためのプログラムを記録したコンピュータ読み取り可能なプログラム記録媒体が提供される。
【発明の効果】
【００１０】
本開示によれば、重み付き最小二乗法に基づく画像の平滑化において、必要とする計算リソースが減少する。
【図面の簡単な説明】
【００１１】
【図１】図１は、画像処理装置の構成の一例を示すブロック図である。
【図２】図２は、画像処理装置が実行する処理の一例を示すフローチャートである。
【図３Ａ】図３Ａは、第１の平滑化処理の実行手順の一例を示す模式図である。
【図３Ｂ】図３Ｂは、第２の平滑化処理の実行手順の一例を示す模式図である。
【図３Ｃ】図３Ｃは、第２の平滑化処理の実行手順の別の例を示す模式図である。
【図４】図４は、画像処理システムの構成の一例を示すブロック図である。
【図５】図５は、画像処理部の構成の一例を示すブロック図である。
【図６】図６は、画像処理システムが実行する処理の一例を示すフローチャートである。
【図７】図７は、画像処理部の構成の別の例を示すブロック図である。
【図８】図８は、画像処理部が実行する処理の一例を示すフローチャートである。
【図９Ａ】図９Ａは、中間画像バッファに記憶されるデータの一例を示す模式図である。
【図９Ｂ】図９Ｂは、中間画像バッファに記憶されるデータの別の例を示す模式図である。
【図１０】図１０は、画像処理部の構成のさらに別の例を示すブロック図である。
【図１１】図１１は、画像処理部が実行する処理の別の例を示すフローチャートである。
【図１２】図１２は、コンピュータ装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
［ＷＬＳフィルタについて］
一般的なＷＬＳフィルタは、例えば、入力画像をｆ、入力画像に対応するガイド画像をｇとするとき、以下の式（１）で表されるエネルギーＪ（ｕ）を最小化する画像信号ｕを算出し、ｕを構造成分として出力する（例えば、非特許文献２参照）。ここにおいて、ｐ、ｑは、画素の位置を表す。また、λは、右辺の第１項と第２項のバランスを調整するためのパラメータを表す。また、Ｎ（ｐ）は、近傍画素の集合を表す。ここでいう近傍画素は、例えば、ある１つの画素を囲む８画素である。
2017217395.tif 000003
【００１３】
ガイド画像は、入力画像と相関を有する画像である。例えば、ガイド画像は、入力画像と同一のシーンを異なる条件で撮影した画像である。具体的には、ガイド画像は、入力画像がフラッシュを使用せずに撮影された場合において、入力画像と同一の被写体をフラッシュを使用して撮影された画像であってもよい。あるいは、ガイド画像は、入力画像のうちの近赤外成分を分離した近赤外画像であってもよい。なお、ガイド画像は、入力画像そのものであってもよい。ここでは、ｇ＝ｆ、すなわち、ガイド画像と入力画像が同一であるとする。
【００１４】
ｗp,q（ｇ）は、画素ｐ、ｑの画素値の類似性に基づいて決定される重みである。ｗp,q（ｇ）は、パラメータσcを用いて、以下の式（２）のように表すことができる。なお、ここでいう画素値は、画素の明るさ、輝度などをモノクロ又はカラーで表す数値であり、例えば、所定の色空間によって表された階調値である。
2017217395.tif 000004
【００１５】
式（１）のＪ（ｕ）を最小にするｕの値は、以下の式（３）で表される線型方程式を解くことで算出される。ここにおいて、Ｉは、単位行列である。なお、行列Ａの要素は、以下の式（４）で表される。
2017217395.tif 000005
【００１６】
2017217395.tif 000006
【００１７】
式（３）より、ｕは、行列（Ｉ＋λＡ）の逆行列を求めることで算出される。すなわち、ｕは、以下の式（５）を満たす。
2017217395.tif 000007
【００１８】
ここで、入力画像の幅に相当する画素数をＷ、高さに相当する画素数をＨ、面積に相当する画素数をＳ（＝Ｗ×Ｈ）とすると、ｕ及びｆはＳ成分のベクトルであり、Ｉ及びＡはＳ行Ｓ列の行列である。したがって、式（５）を用いてｕを算出するためには、大規模な逆行列を解く必要があり、計算リソース（メモリ、処理能力、処理時間など）も要する。
【００１９】
一方で、式（１）に相当する演算を画像全体に対して実行するのではなく、水平方向と垂直方向に分けて実行する方法がある（非特許文献２参照）。すなわち、この方法は、２次元のＷＬＳフィルタを水平方向と垂直方向の２つの１次元フィルタに分離する。説明の便宜上、以下においては、このような１次元のＷＬＳフィルタを「Ｆａｓｔ  ＷＬＳフィルタ」ともいう。
【００２０】
そうすると、式（４）におけるＮ（ｍ）、すなわち近傍画素の集合は、水平方向又は垂直方向のいずれかに隣接する画素のみとなる。そのため、式（３）における行列（Ｉ＋λＡ）は、三重対角行列になる。したがって、この方法によれば、逆行列を計算することなく、前進消去及び後退代入のみでｕを算出することが可能である。
【００２１】
しかし、Ｆａｓｔ  ＷＬＳフィルタを用いた場合であっても、垂直方向のフィルタ処理を開始するためには水平方向のフィルタ処理が全て終了している必要があるため、遅延が生じるという問題がある。また、この場合、水平方向のフィルタ処理が実行された画像（いわゆる中間画像）を一時記憶するメモリは、入力画像の一部ではなく全部を記憶できる容量が要求される。
【００２２】
本開示に係る実施形態は、重み付き最小二乗法に基づく平滑化処理において生じるこのような問題を解消し、少ない計算リソースで重み付き最小二乗法に基づく平滑化処理を実行可能にする。その詳細は以下のとおりである。
【００２３】
［第１実施形態］
図１は、一実施形態に係る画像処理装置１００の構成を示すブロック図である。画像処理装置１００は、第１の平滑化部１１０と第２の平滑化部１２０とを少なくとも含んで構成される。画像処理装置１００は、入力画像に対して平滑化処理を実行し、処理後のデータを出力する。
【００２４】
第１の平滑化部１１０は、入力画像に対し、重み付け最小二乗法に基づく１次元の平滑化処理を実行する。第１の平滑化部１１０は、平滑化処理を、第１の方向へ所定ライン毎に実行する。第１の方向は、例えば、画像が水平方向及び垂直方向に配列された画素により構成されるとき、これらの方向のいずれかである。また、第１の平滑化部１１０が実行する平滑化処理の単位は、１ライン毎であってもよいし、複数ライン毎であってもよい。
【００２５】
第１の平滑化部１１０による平滑化処理を、以下においては「第１の平滑化処理」ともいう。第１の平滑化処理は、例えば、Ｆａｓｔ  ＷＬＳフィルタを用いて実行されるが、画像の平滑化を可能にする他の１次元的なフィルタであってもよい。
【００２６】
第２の平滑化部１２０は、第１の平滑化部１１０により第１の平滑化処理が実行された入力画像に対し、重み付け最小二乗法に基づく１次元の平滑化処理を実行する。第２の平滑化部１２０は、平滑化処理を、第１の方向と異なる第２の方向へ、所定のブロック毎に実行する。第２の方向は、画像が水平方向及び垂直方向に配列された画素により構成されるとき、第１の方向と直交する方向である。また、ここでいうブロックは、画像の全体ではなく一部である。
【００２７】
第２の平滑化部１２０による平滑化処理を、以下においては「第２の平滑化処理」ともいう。第２の平滑化処理は、第２の方向に並ぶ画素の全部ではなく一部を単位として実行される点において、（第１の方向に並ぶ画素の全部を単位として実行される）第１の平滑化処理と異なる。第２の平滑化処理は、処理を実行する単位と方向のほかは、第１の平滑化処理と同様であってもよい。
【００２８】
図２は、画像処理装置１００が実行する処理を示すフローチャートである。ステップＳ１１において、第１の平滑化部１１０は、入力画像に対する第１の平滑化処理を開始する。第１の平滑化部１１０は、所定ライン毎に第１の平滑化処理を実行する。例えば、第１の平滑化部１１０は、入力画像の第１行に対して第１の平滑化処理を実行した後、第２行に対して同様の処理を実行する、といった動作を繰り返す。
【００２９】
ステップＳ１２において、第２の平滑化部１２０は、第１の平滑化部１１０により第１の平滑化処理が実行された入力画像に対する第２の平滑化処理を開始する。第２の平滑化部１２０がステップＳ１２の処理を開始するタイミングは、第１の平滑化部１１０が１ブロック分の入力画像に対して第１の平滑化処理の実行を終了したタイミング（又はそれ以降）である。
【００３０】
図３Ａ、図３Ｂ及び図３Ｃは、第１の平滑化処理及び第２の平滑化処理の実行手順を示す模式図である。第１の平滑化処理は、図３Ａに示されるように、所定ライン（１ライン又は複数ライン）毎に実行される。つまり、第１の平滑化部１１０は、あるラインについて処理を実行するとき、当該ラインの画素全体に対して一度に処理を実行する。
【００３１】
一方、第２の平滑化処理は、図３Ｂ、図３Ｃに示されるように、所定のブロック毎に実行される。図３Ｂの例において、第２の平滑化部１２０は、ブロックＢ１に対して第２の平滑化処理を実行した後に、ブロックＢ２に対する第２の平滑化処理を実行する、といった動作を順次繰り返す。この例において、第２の平滑化部１２０は、各ブロックの範囲内の画素を用いた垂直方向の第２の平滑化処理を各列について実行する。
【００３２】
なお、図３Ｂの例と図３Ｃの例の相違点は、隣り合うブロックが共通の画素を含むか否かにある。第２の平滑化部１２０は、第２の平滑化処理を、これらのいずれの例に従って実行してもよい。図３Ｃの例の場合、すなわちブロックが重複（オーバーラップ）する場合の動作の詳細は、第２実施形態において説明される。
【００３３】
以上のとおり、本実施形態の画像処理装置１００は、第２の平滑化処理を所定のブロック毎に実行する構成を有する。この構成は、入力画像の全体に対して第１の平滑化処理を実行してから第２の平滑化処理を実行する構成と比べて、第２の平滑化処理の実行タイミングを早めることが可能である。また、本実施形態の構成は、入力画像の全体に対して第１の平滑化処理を実行してから第２の平滑化処理を実行する構成と比べて、第１の平滑化処理が実行された入力画像を一時記憶するメモリの容量を少なくすることが可能である。したがって、画像処理装置１００は、重み付き最小二乗法に基づく画像の平滑化において、必要とする計算リソースを減少させることが可能である。
【００３４】
［第２実施形態］
図４は、別の実施形態に係る画像処理システム２００の構成を示すブロック図である。画像処理システム２００は、入力部２１０と、画像処理部２２０と、出力部２３０とを含んで構成される。画像処理部２２０は、第１実施形態の画像処理装置１００の一例に相当する。
【００３５】
入力部２１０は、画像データの入力を受け付ける。入力部２１０は、画像処理部２２０に画像データを供給する。入力部２１０は、例えば、デジタルカメラ、イメージスキャナなどの撮像機器や、画像データが記録されたデータベースを含み得る。あるいは、入力部２１０は、このような撮像機器やデータベースと接続する有線又は無線の通信インタフェースを含んで構成されてもよい。なお、入力部２１０は、画像データを一時的に記憶する入力バッファを含んでもよい。入力部２１０を介して画像処理部２２０に入力される画像データが表す画像のことを、以下においては「入力画像」ともいう。
【００３６】
画像処理部２２０は、入力部２１０を介して入力された画像データに対して画像処理を実行する。画像処理部２２０が実行する画像処理は、重み付き最小二乗法に基づく平滑化処理を少なくとも含む。ただし、画像処理部２２０は、この平滑化処理以外の画像処理を当該平滑化処理の前又は後に実行してもよい。
【００３７】
出力部２３０は、画像処理部２２０により画像処理が実行された画像データを出力する。ここでいう出力は、画像の表示、記録、伝送などを含む。出力部２３０は、表示装置、画像形成装置（プリンタ等）、記憶装置（又は記憶媒体）などを含み得る。あるいは、出力部２３０は、このような装置と接続する有線又は無線の通信インタフェースを含んで構成されてもよい。また、出力部２３０は、入力部２１０と一体に構成されてもよい。なお、出力部２３０は、画像処理後の画像データを一時的に記憶する出力バッファを含んでもよい。
【００３８】
図５は、画像処理部２２０の構成を示すブロック図である。画像処理部２２０は、第１の平滑化部２２１と、第２の平滑化部２２２と、累積加算部２２３と、正規化部２２４とを含んで構成される。
【００３９】
第１の平滑化部２２１は、入力画像に対し、重み付け最小二乗法に基づく１次元の平滑化処理を実行する。第１の平滑化部２２１は、第１実施形態の第１の平滑化部１１０と同様に、第１の平滑化処理を実行する。
【００４０】
第２の平滑化部２２２は、第１の平滑化部２２１により第１の平滑化処理が実行された入力画像に対し、重み付け最小二乗法に基づく１次元の平滑化処理を実行する。第２の平滑化部２２２は、第１実施形態の第２の平滑化部１２０と同様に、第２の平滑化処理を実行する。
【００４１】
第２の平滑化部２２２は、図３Ｃに例示されたように、ブロックを重複させて第２の平滑化処理を実行する。第２の平滑化部２２２は、あらかじめ決められた冗長度に応じた態様で第２の平滑化処理を実行する。ここにおいて、冗長度とは、ＷＬＳフィルタの出力値（推定値）の１画素当たりの個数をいう。本実施形態の冗長度は、（重複するブロックが少ない）画像の上端及び下端の画素を除き、いずれの画素においても同一の値である。
【００４２】
累積加算部２２３は、第２の平滑化部２２２により第２の平滑化処理が実行された入力画像を累積加算する。累積加算部２２３は、第２の平滑化部２２２による出力値を画素毎に累積加算する。換言すれば、累積加算部２２３は、第２の平滑化部２２２による各画素の出力値をその冗長度に応じた回数累積加算する。
【００４３】
正規化部２２４は、累積加算部２２３により累積加算された入力画像を冗長度に応じて正規化する。ここでいう正規化は、第２の平滑化部２２２による出力値を所定の数値で除することである。例えば、正規化部２２４は、第２の平滑化部２２２による出力値を冗長度に応じた数値で除してもよい。
【００４４】
図６は、画像処理システム２００が実行する処理を示すフローチャートである。ステップＳ２１において、入力部２１０は、画像データの入力を受け付ける。ステップＳ２２において、第１の平滑化部２２１は、入力画像に対して第１の平滑化処理を実行する。ステップＳ２３において、第２の平滑化部２２２は、第１の平滑化処理が実行された入力画像に対して第２の平滑化処理を実行する。
【００４５】
ステップＳ２４において、累積加算部２２３は、第２の平滑化部２２２による出力値を画素毎に累積加算する。ステップＳ２５において、正規化部２２４は、累積加算部２２３により累積加算された出力値を正規化する。正規化部２２４は、累積加算が終了した画素から順に正規化を実行する。ステップＳ２６において、出力部２３０は、ステップＳ２２〜Ｓ２５に示される画像処理が実行された画像データを出力する。
【００４６】
なお、画像処理部２２０は、ブロックの重複の有無に応じて異なる処理を実行してもよい。例えば、画像処理部２２０は、ブロックに重複がある場合には図６に示された処理を実行する一方、ブロックに重複がない場合にはステップＳ２４、Ｓ２５の処理を省略（スキップ）してもよい。
【００４７】
以上のとおり、本実施形態の画像処理システム２００は、第２の平滑化処理をブロック単位で実行する構成を有する。この構成は、第１実施形態の画像処理装置１００と同様に、必要とする計算リソースを減少させることが可能である。また、画像処理システム２００は、ブロックを重複させて第２の平滑化処理を実行し、その出力値を累積加算及び正規化する構成を有する。換言すれば、本実施形態の画像処理システム２００は、第２の平滑化処理を冗長的に実行する構成を有する。画像処理システム２００は、この構成により、出力画像の画質を向上させることが可能である。
【００４８】
ブロックに重複がない場合、画像中の各ブロックの境界に相当する部分において、階調差が生じるなどしてブロックの境界が目立つ（視認されやすくなる）ことにより、出力画像の画質を低下させるおそれがある。一方、本実施形態のように、ブロックを重複させるとともに、第２の平滑化部２２２による出力値に対して累積加算及び正規化を実行することによって、例えば、階調が連続的に変化するような画像に階調差を生じにくくさせることが可能である。したがって、本実施形態の画像処理システム２００によれば、ブロックを重複させる構成を有しない場合よりも出力画像の画質を向上させることが可能である。
【００４９】
［第３実施形態］
図７は、さらに別の実施形態に係る画像処理部３００の構成を示すブロック図である。画像処理部３００は、第２実施形態の画像処理部２２０と置き換え可能な構成である。画像処理部３００は、画像処理部２２０の具体例に相当するともいえる。
【００５０】
画像処理部３００は、ライン読込部３０１と、第１のＷＬＳ部３０２と、第１の書込部３０３と、中間画像バッファ３０４と、ブロック読込部３０５と、第２のＷＬＳ部３０６と、第２の書込部３０７と、累積画像バッファ３０８と、ライン書出部３０９と、ライン情報管理部３１０とを含んで構成される。
【００５１】
ライン読込部３０１は、画像データを所定のライン毎に読み込む。ただし、以下の説明において、ライン読込部３０１は、画像データを１ラインずつ読み込むものとする。ライン読込部３０１は、読み込まれた画像データを第１のＷＬＳ部３０２に供給する。
【００５２】
第１のＷＬＳ部３０２は、ライン読込部３０１により読み込まれた１ライン分の画像データに対し、１次元のＷＬＳフィルタ処理をライン方向（水平方向）に実行する。第１のＷＬＳ部３０２は、ＷＬＳフィルタ処理が実行された画像データを第１の書込部３０３に供給する。第１の書込部３０３は、ＷＬＳフィルタ処理が実行された画像データを中間画像バッファ３０４に書き込む。
【００５３】
中間画像バッファ３０４は、第１の書込部３０３により書き込まれた画像データを一時的に記憶する。中間画像バッファ３０４は、画像データの全ライン分よりも少ない所定のライン分の記憶容量を有すれば足りる。中間画像バッファ３０４は、所定のライン分の画像データが記憶されている場合において、別のラインの画像データが新たに書き込まれるとき、既存の画像データのうち最先に書き込まれたラインの画像データを新たな画像データで上書きするように構成される。
【００５４】
説明の便宜上、以下においては、中間画像バッファ３０４に記憶されている画像データを「中間画像データ」ともいい、当該画像データが表す画像を「中間画像」ともいう。ここでいう中間画像は、換言すれば、ＷＬＳフィルタ処理が一方向のみに実行され、他方向に実行されていない状態の画像であるともいえる。
【００５５】
ブロック読込部３０５は、中間画像バッファ３０４に記憶されている画像データをブロック単位で読み込む。ブロック読込部３０５は、１ブロック分以上の画像データが中間画像バッファ３０４に書き込まれている場合に画像データを読み込むように構成される。ブロック読込部３０５は、読み込まれた画像データを第２のＷＬＳ部３０６に供給する。
【００５６】
第２のＷＬＳ部３０６は、ブロック読込部３０５により読み込まれたブロック単位の画像データに対し、１次元のＷＬＳフィルタ処理を実行する。第２のＷＬＳ部３０６は、第１のＷＬＳ部３０２と異なる方向にＷＬＳフィルタ処理を実行する。すなわち、第２のＷＬＳ部３０６は、ＷＬＳフィルタ処理を垂直方向に実行する。第２のＷＬＳ部３０６は、このようなＷＬＳフィルタ処理をブロック単位の画像データの各列について実行する。第２のＷＬＳ部３０６は、ＷＬＳフィルタ処理が実行された画像データを第２の書込部３０７に供給する。
【００５７】
第２の書込部３０７は、第２のＷＬＳ部３０６によりＷＬＳフィルタ処理が実行された画像データを累積画像バッファ３０８に書き込む。第２の書込部３０７は、第２のＷＬＳ部３０６による出力値を画素毎に書き込むように構成される。すなわち、第２の書込部３０７は、同一の画素に相当する出力値が累積加算されるように、第２のＷＬＳ部３０６による出力値を累積画像バッファ３０８に書き込む。
【００５８】
累積画像バッファ３０８は、第２の書込部３０７により書き込まれた画像データを一時的に記憶する。累積画像バッファ３０８は、第２のＷＬＳ部３０６による出力値を画素毎に記憶するように構成される。すなわち、累積画像バッファ３０８は、同一の画素に相当する出力値を累積加算するように構成される。
【００５９】
ライン書出部３０９は、累積画像バッファ３０８に記憶された画像データを読み出し、正規化して書き出す。ライン書出部３０９は、例えば、正規化された画像データを出力バッファに書き込む。ライン書出部３０９は、累積画像バッファ３０８に記憶された画像データの読み出しをライン単位で実行する。
【００６０】
ライン情報管理部３１０は、ライン情報を管理する。ここにおいて、ライン情報とは、処理対象のラインを特定するための情報をいう。ライン情報は、例えば、画像データの各ラインを表す昇順（又は降順）の番号である。本実施形態のライン情報は、第１行を「０」、第２行を「１」、・・・、第（ｎ＋１）行を「ｎ」とする昇順の番号であるとし、以下「ｙ」とも表記される。図７において、ライン情報の経路は、破線によって示されている。
【００６１】
画像処理部３００の各部の詳細な動作は、以下のとおりである。なお、以下の説明において、ブロックは、８ライン分のサイズであるとする。また、中間画像バッファ３０４の記憶容量は、ｎライン分であるとし、具体的には１ブロック分の画像データと同等（すなわちｎ＝８）であるとする。
【００６２】
図８は、画像処理部３００が実行する処理を示すフローチャートである。ステップＳ３０１において、ライン情報管理部３１０は、ライン情報ｙを初期化する。具体的には、ライン情報管理部３１０は、ライン情報ｙを「０」に設定する。
【００６３】
ステップＳ３０２において、ライン読込部３０１は、ライン情報ｙに応じたラインの画像データを読み込む。例えば、ｙ＝０の場合、ライン読込部３０１は、画像データの第１行のラインを読み込む。同様に、ｙ＝１の場合、ライン読込部３０１は、画像データの第２行のラインを読み込む。
【００６４】
ステップＳ３０３において、第１のＷＬＳ部３０２は、ライン読込部３０１により読み出されたラインの画像データに対してＷＬＳフィルタ処理を実行する。ステップＳ３０４において、第１の書込部３０３は、ＷＬＳフィルタ処理が実行された画像データを中間画像バッファ３０４に書き込む。
【００６５】
ステップＳ３０５において、ライン情報管理部３１０は、ライン情報ｙが（ｎ−１）以上であるか判断する。ライン情報管理部３１０は、ライン情報ｙが（ｎ−１）未満である場合（Ｓ３０５：ＮＯ）、ステップＳ３０６においてライン情報ｙをインクリメントする。具体的には、ライン情報管理部３１０は、ｙを「１」増加させる。
【００６６】
ステップＳ３０６の後、ステップＳ３０２〜Ｓ３０５の処理が再度実行される。ステップＳ３０４において、第１の書込部３０３は、以下のように画像データを中間画像バッファ３０４に書き込む。なお、ここにおいて、中間画像バッファ３０４を行列ｖmidによって表すものとする。また、中間画像バッファ３０４の第ｉ行第ｊ列の要素をｖmid（ｉ，ｊ）とする。
【００６７】
第１のＷＬＳ部３０２の１ライン分の出力値をｖhwlsとし、その第ｊ列の要素をｖhwls（ｊ）とする。また、画像データの１ライン当たりの画素数（すなわち水平方向の画素数）をＷとすると、ｖmid及びｖhwlsは、以下の式（６）の関係を満たす。ただし、ｋは、ｋ＝ｙ mod ｎを満たす。すなわち、ｋは、ｙをｎで除したときの剰余と一致する。
2017217395.tif 000008
【００６８】
図９Ａ及び図９Ｂは、中間画像バッファ３０４に記憶されるデータの一例を示す模式図である。図９Ａは、中間画像バッファ３０４がｙ＝０〜７までの８ライン分の画像データを記憶する例を示した図である。一方、図９Ｂは、図９Ａに示される状態の後、中間画像バッファ３０４がｙ＝８、９の２ライン分の画像データをさらに記憶する例を示した図である。
【００６９】
ｙ＝８、９の２ライン分の画像データは、それぞれ、ｙ＝０、１のそれぞれのラインの画像データが記憶されていた記憶領域に書き込まれる。ｙ＝８のラインの画像データが書き込まれるタイミングにおいて、ブロック読込部３０５は、ｙ＝０のラインの画像データを既に読み出している。そのため、第１の書込部３０３は、ｙ＝０のラインの画像データが書き込まれていた記憶領域にｙ＝８のラインの画像データを上書きすることが可能である。
【００７０】
このようにすれば、中間画像バッファ３０４は、ｎライン分の記憶容量を有していれば十分である。したがって、この構成によれば、中間画像バッファ３０４は、画像データの全ライン分の記憶容量を有する場合よりも少ない記憶容量で動作可能である。
【００７１】
ライン情報ｙが（ｎ−１）以上である場合（Ｓ３０５：ＹＥＳ）、ブロック読込部３０５は、ステップＳ３０７の処理を実行する。ステップＳ３０７において、ブロック読込部３０５は、中間画像バッファ３０４からｎライン分の画像データをまとめて読み出す。
【００７２】
中間画像バッファ３０４に記憶されている画像データは、図９Ｂに例示されたように、ラスタスキャンによって順次読み出すことができるように記憶されているとは限らない。そのため、ブロック読込部３０５は、ｍ＝（ｙ＋１） mod ｎを満たすｍを用いて読み出すべき先頭のラインを特定し、以後ｍを（ｎ−１）回インクリメントさせることによってｎライン分の画像データを読み出す。
【００７３】
ブロック読込部３０５は、中間画像バッファ３０４のライン数を超えないようにライン情報を算出する。具体的には、ブロック読込部３０５は、ｍ’＝ｍ mod ｎを満たすｍ’をライン情報として用いる。ブロック読込部３０５により読み込まされる画像データをｖ’midとすると、その各要素ｖ’mid（ｌ，ｊ）は、次の式（７）を満たす。
2017217395.tif 000009
【００７４】
例えば、図９Ｂの例は、ｙ＝９の場合を示している。この場合、ブロック読込部３０５は、ｍ＝（９＋１） mod ８＝２、すなわち中間画像バッファ３０４の第３行を先頭として８ライン分のデータをサイクリックに読み出すことで、当該データを入力画像と同じ並びで読み出すことが可能である。
【００７５】
ステップＳ３０８において、第２のＷＬＳ部３０６は、ブロック読込部３０５により読み込まれた画像データに対してＷＬＳフィルタ処理を実行する。第２のＷＬＳ部３０６は、８ライン分の画像データに対し、ＷＬＳフィルタ処理を垂直方向に実行する。第２のＷＬＳ部３０６は、このようなフィルタ処理をブロック毎にＷ回実行する。
【００７６】
ステップＳ３０５の判断から明らかなように、第２のＷＬＳ部３０６は、ライン情報がｙ≧ｎ−１を満たす場合にＷＬＳフィルタ処理を実行する。第２のＷＬＳ部３０６は、ライン情報がｙ≧ｎ−１を満たした後は、先頭のラインを順次切り替えながらＷＬＳフィルタ処理を繰り返し実行する。
【００７７】
ステップＳ３０９において、第２の書込部３０７は、第２のＷＬＳ部３０６によりＷＬＳフィルタ処理が実行された画像データを累積画像バッファ３０８に累積的に書き込む。換言すれば、第２の書込部３０７は、入力画像において同一の画素に相当するデータを加算して記録する。
【００７８】
ここで、累積画像バッファ３０８を行列ｖcumによって表し、その第ｉ行第ｊ列の要素をｖcum（ｉ，ｊ）とする。また、第２のＷＬＳ部３０６からの出力値を行列ｖvwlsによって表し、その第ｉ行第ｊ列の要素をｖvwls（ｉ，ｊ）とする。第２の書込部３０７は、具体的には、次の式（８）を満たすようにデータを累積画像バッファ３０８に書き込む。このような計算を実行することで、第２の書込部３０７は、同一の画素に相当する出力値を累積加算することが可能である。
2017217395.tif 000010
【００７９】
ステップＳ３１０において、ライン書出部３０９は、累積画像バッファ３０８から１ライン分の画像データを読み出す。ライン書出部３０９は、累積画像バッファ３０８に画像データが書き込まれているとき、すなわちライン情報がｙ≧ｎ−１を満たすときに累積画像バッファ３０８から画像データを読み出す。累積画像バッファ３０８から読み出される画像データのライン情報は、ｍ＝（ｙ＋１） mod ｎとして算出される。ライン書出部３０９により出力される画像データをｖoutとすると、ライン書出部３０９は、次の式（９）によって正規化を実行する。
2017217395.tif 000011
【００８０】
式（９）において、ｎcumは、各ラインの累積加算回数を表す。すなわち、ｖoutは、累積画像バッファ３０８に書き込まれた出力値（ｖcum（ｍ，ｊ））を累積加算回数（ｎcum）で除した値である。なお、ｎcumは、次の式（１０）によって算出される。この累積加算回数は、冗長度の一例に相当する数値である。ｎcum＝ｎの場合、冗長度は、ブロックのサイズと一致しているといえる。
2017217395.tif 000012
【００８１】
ステップＳ３１１において、ライン情報管理部３１０は、ライン情報がｙ≧Ｈ−１を満たすか判断する。ライン情報（ｙ）が最終ライン（Ｈ−１）を示す場合（Ｓ３１１：ＹＥＳ）、ライン書出部３０９は、ステップＳ３１２の処理を実行する。一方、ライン情報が最終ラインに相当しない場合、すなわちｙ＜Ｈ−１である場合（Ｓ３１１：ＮＯ）、ライン情報管理部３１０は、ステップＳ３０６においてライン情報ｙをインクリメントする。
【００８２】
ライン情報が最終ラインを示す場合は、累積画像バッファ３０８に新たな画像データが入力されないことを意味する。そのため、ステップＳ３１２において、ライン書出部３０９は、累積画像バッファ３０８に書き込まれている画像データを全て読み出し、正規化して出力する。
【００８３】
なお、ライン書出部３０９は、あるラインの画像データを累積画像バッファ３０８から読み出したら、累積画像バッファ３０８の当該ラインをリセットする。具体的には、ライン書出部３０９は、第ｍラインをリセットする場合、次の式（１１）のように「０」を書き込む。
2017217395.tif 000013
【００８４】
本実施形態の画像処理部３００によれば、第２実施形態の画像処理システム２００と同様の作用効果を奏することができる。すなわち、画像処理部３００によれば、垂直方向への冗長的なＷＬＳフィルタ処理と当該処理に対応する累積加算及び正規化を実行することにより、出力画像の画質を向上させることが可能である。
【００８５】
また、画像処理部３００は、中間画像バッファ３０４がブロックに対応した記憶容量を有していれば足りる。したがって、画像処理部３００は、例えば、入力される画像データの全ラインを記憶可能な記憶容量を有する場合に比べ、メモリの使用量を少なくすることが可能である。
【００８６】
［第４実施形態］
図１０は、さらに別の実施形態に係る画像処理部４００の構成を示すブロック図である。画像処理部４００の構成は、第３実施形態の画像処理部３００の構成と部分的に共通する。画像処理部４００において、画像処理部３００と共通する構成要素は、第３実施形態と同一の符号によって説明される。また、本実施形態において、画像処理部４００の説明は、第３実施形態の画像処理部３００と共通する部分に関して適宜省略される。
【００８７】
画像処理部４００は、ライン読込部３０１と、第１のＷＬＳ部３０２と、第１の書込部３０３と、中間画像バッファ３０４と、ブロック読込部３０５と、累積画像バッファ３０８と、ライン情報管理部３１０とを含んで構成される。これらの構成は、第３実施形態の構成（図７参照）と共通である。これに加え、画像処理部４００は、第２のＷＬＳ部４０１と、係数算出部４０２と、第２の書込部４０３と、累積係数バッファ４０４と、ライン書出部４０５とを含んで構成される。
【００８８】
第２のＷＬＳ部４０１は、第３実施形態の第２のＷＬＳ部３０６と同様に、ブロック読込部３０５により読み込まれたブロック単位の画像データに対して垂直方向の１次元のＷＬＳフィルタ処理を実行する。加えて、第２のＷＬＳ部４０１は、ＷＬＳフィルタ処理の過程で算出される隣接画素との画素値の差分に基づく画像特徴量（以下「差分情報」という。）を算出する。ここでいう隣接画素は、ある画素と垂直方向に隣接する画素の一方又は双方を指す。
【００８９】
係数算出部４０２は、第２のＷＬＳ部４０１により算出された差分情報に基づいて所定の係数を算出する。以下においては、係数算出部４０２により算出される係数のことを「重み係数」ともいう。重み係数は、入力画像（特に入力画像のエッジ）と相関を有する値である。
【００９０】
第２の書込部４０３は、第２のＷＬＳ部４０１によりＷＬＳフィルタ処理が実行された画像データと、係数算出部４０２により算出された重み係数とに基づいて画像データを累積画像バッファ３０８に書き込む。また、第２の書込部４０３は、係数算出部４０２により算出された重み係数を累積係数バッファ４０４に書き込む。
【００９１】
累積係数バッファ４０４は、係数算出部４０２により算出された重み係数を一時的に記憶する。重み係数は、累積画像バッファ３０８に記憶される画像データと同様に、累積的に記憶される。累積係数バッファ４０４に記憶される重み係数は、冗長度の一例に相当する。
【００９２】
ライン書出部４０５は、ライン情報管理部３１０から供給されるライン情報に基づいて、累積画像バッファ３０８に記憶された画像データのうちの１ライン分のデータと、累積係数バッファ４０４に記憶された重み係数とを読み込む。ライン書出部４０５は、重み係数を用いて正規化された画像データを出力する。
【００９３】
図１１は、画像処理部４００が実行する処理を示すフローチャートである。なお、図１１に示される処理のうち、ステップＳ３０１〜Ｓ３０７の処理は、第３実施形態の画像処理部３００が実行する処理（図８参照）と同様である。
【００９４】
ステップＳ４０１において、第２のＷＬＳ部４０１は、ブロック読込部３０５により読み込まれた画像データに対して垂直方向のＷＬＳフィルタ処理を実行する。また、第２のＷＬＳ部４０１は、ＷＬＳフィルタ処理に際し、ガイド画像を用いて差分情報を算出する。ガイド画像は、例えば、入力画像そのものであるか、あるいは入力画像と同一シーンの画像であって入力画像よりもエッジが良好に保存された画像である。
【００９５】
第２のＷＬＳ部４０１は、式（１）の右辺第二項におけるｗp,q（ｇ）の算出において、ガイド画像の隣接画素との差分情報を算出する。具体的には、差分情報は、これをｄとすると、次の式（１２）により算出可能である。式（１２）により算出される差分情報ｄは、エッジやテクスチャなどの隣接画素との画素値の変化が大きい領域においては大きくなり、画素値の変化が小さい平坦な領域においては小さくなる。
2017217395.tif 000014
【００９６】
第２のＷＬＳ部４０１は、ブロック単位の画像データの各列について差分情報ｄを算出する。以下においては、第ｊ列の差分情報をｄ（ｊ）とする。第２のＷＬＳ部４０１は、差分情報ｄ（ｊ）を係数算出部４０２に供給する。
【００９７】
なお、差分情報は、式（１２）のｄに限定されない。差分情報は、隣接画素との画素値の差を表すことが可能であれば、他の数値であってもよい。例えば、差分情報は、隣接画素との画素値の差分（すなわちｇp−ｇq）の絶対値の総和であってもよいし、当該差分の最大値又は（負の）最小値の絶対値の総和であってもよい。
【００９８】
ステップＳ４０２において、係数算出部４０２は、第２のＷＬＳ部４０１により算出された差分情報に基づいて重み係数を算出する。具体的には、重み係数は、これをｗ（ｊ）とすると、次の式（１３）により算出可能である。式（１３）により算出される重み係数ｗ（ｊ）は、エッジを含むブロックから得られたＷＬＳフィルタの出力値の重みを小さくし、平坦なブロックから得られたＷＬＳフィルタの出力値の重みを大きくする。
2017217395.tif 000015
【００９９】
なお、重み係数の重み付けの具体的な方法は、式（１３）のようなガウス関数による重み付けに限定されない。例えば、重み付けの方法は、差分情報の逆数が用いられてもよく、シグモイド関数などの同様の性質を有する関数が用いられてもよい。要するに、重み係数は、差分情報ｄ（ｊ）が大きいほど小さく、差分情報ｄ（ｊ）が小さいほど大きくなるように設定されればよい。
【０１００】
ステップＳ４０３において、第２の書込部４０３は、画像データを累積画像バッファ３０８に累積加算するとともに、重み係数を累積係数バッファ４０４に累積加算する。具体的には、第２の書込部４０３は、次の式（１４）を満たすようにデータを累積画像バッファ３０８に書き込む。式（１４）は、右辺第二項に重み係数ｗ（ｊ）を含んでいる点において式（８）と相違する。
2017217395.tif 000016
【０１０１】
また、第２の書込部４０３は、画像データと同様の要領で、重み係数ｗ（ｊ）を累積加算する。具体的には、第２の書込部４０３は、累積加算された重み係数を行列ｗcumによって表し、その第ｉ行第ｊ列の要素をｗcum（ｉ，ｊ）とすると、次の式（１５）を満たすように重み係数を累積係数バッファ４０４に書き込む。
2017217395.tif 000017
【０１０２】
ステップＳ４０４において、ライン書出部４０５は、ライン書出部３０９と同様に、累積画像バッファ３０８から１ライン分の画像データ（ｖcum（ｍ，ｊ））を読み出す。また、ライン書出部４０５は、累積加算された重み係数（ｗcum（ｍ，ｊ））を累積係数バッファ４０４から読み出す。ライン書出部４０５により出力される画像データをｖoutとすると、ライン書出部４０５は、次の式（１６）によって正規化を実行する。
2017217395.tif 000018
【０１０３】
ステップＳ４０５において、ライン情報管理部３１０は、ライン情報がｙ≧Ｈ−１を満たすか判断する。この判断は、第３実施形態のステップＳ３１１（図８参照）と同様に実行される。ステップＳ４０６において、ライン書出部４０５は、累積画像バッファ３０８に書き込まれている画像データを全て読み出し、ステップＳ４０４と同様の要領で正規化して出力する。
【０１０４】
なお、ライン書出部４０５は、あるラインの画像データを累積画像バッファ３０８から読み出したら、式（１１）に従って累積画像バッファ３０８の当該ラインをリセットする。同様に、ライン書出部４０５は、累積係数バッファ４０４もリセットする。具体的には、ライン書出部４０５は、次の式（１７）のように「０」を書き込むことで累積係数バッファ４０４をリセットする。
2017217395.tif 000019
【０１０５】
以上のとおり、本実施形態の画像処理部４００は、隣接画素との画素値の差分に応じた重み係数に基づいて正規化を実行する構成を有する。この構成は、エッジが保存（維持）された平滑化処理を可能にする。したがって、画像処理部４００によれば、例えば第３実施形態の画像処理部３００に比べ、平滑化における画質の向上が可能である。
【０１０６】
第３実施形態において、各画素の出力値は、複数回のＷＬＳフィルタ処理の出力値（推定値）の平均値であり、換言すれば、全ての推定値を同じ重み付けで統合した値である。しかし、エッジの周辺にある（エッジではない）画素に対し、エッジを含むブロックからの推定値を統合すると、エッジが鈍り、出力画像のエッジにボケが生じる可能性がある。
【０１０７】
一方、本実施形態の画像処理部４００は、エッジを含むブロックから得られた推定値については重みを小さくし、エッジを含まない平坦なブロックから得られた推定値については重みを大きくする重み係数を用いて正規化を実行する。このような正規化によれば、出力される画素値に対してエッジを含むブロックから得られた推定値が与える影響を相対的に小さくすることが可能である。したがって、画像処理部４００によれば、第３実施形態の画像処理部３００に比べ、エッジに生じ得るボケを抑制することが可能である。
【０１０８】
［変形例］
本開示は、上述された第１実施形態〜第４実施形態に限定されない。本開示は、当業者が把握し得る変形又は応用を適用した形態を含み得る。例えば、本開示は、以下に記載される変形例を含む。また、本開示は、本明細書に記載された事項を必要に応じて適宜に組み合わせた形態を含み得る。例えば、特定の実施形態を用いて説明された事項は、矛盾を生じない範囲において、他の実施形態に対しても適用され得る。
【０１０９】
（変形例１）
入力される画像データに対して実行される画像処理方法は、入力画像に応じて、又はユーザの操作に応じて異なってもよい。例えば、画像処理装置は、ある画像データに対しては第３実施形態の画像処理方法を適用し、別の画像データに対しては第４実施形態の画像処理方法を適用することができるように構成されてもよい。
【０１１０】
（変形例２）
中間画像バッファ３０４、累積画像バッファ３０８、累積係数バッファ４０４といったメモリは、１つの記憶媒体によって構成されてもよく、それぞれ異なる記憶媒体によって構成されてもよい。
【０１１１】
（変形例３）
本開示に係る各装置（画像処理装置１００、画像処理システム２００、画像処理部３００及び画像処理部４００）の具体的なハードウェア構成は、さまざまなバリエーションが含まれ、特定の構成に限定されない。例えば、各装置は、ソフトウェアを用いて実現されてもよく、複数のハードウェアを用いて各種処理を分担するように構成されてもよい。
【０１１２】
図１２は、各装置を実現するコンピュータ装置５００のハードウェア構成の一例を示すブロック図である。コンピュータ装置５００は、ＣＰＵ（Central Processing Unit）５０１と、ＲＯＭ（Read Only Memory）５０２と、ＲＡＭ（Random Access Memory）５０３と、記憶装置５０４と、ドライブ装置５０５と、通信インタフェース５０６と、入出力インタフェース５０７とを含んで構成される。本開示に係る各装置は、図１２に示される構成（又はその一部）によって実現され得る。
【０１１３】
ＣＰＵ５０１は、ＲＡＭ５０３を用いてプログラム５０８を実行する。プログラム５０８は、ＲＯＭ５０２に記憶されていてもよい。また、プログラム５０８は、メモリカード等の記録媒体５０９に記録され、ドライブ装置５０５によって読み出されてもよいし、外部装置からネットワーク５１０を介して送信されてもよい。通信インタフェース５０６は、ネットワーク５１０を介して外部装置とデータをやり取りする。入出力インタフェース５０７は、周辺機器（入力装置、表示装置など）とデータをやり取りする。通信インタフェース５０６及び入出力インタフェース５０７は、データを取得又は出力するための構成要素として機能することができる。
【０１１４】
なお、各装置の構成要素は、単一の回路（プロセッサ等）によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路（circuitry）は、専用又は汎用のいずれであってもよい。
【０１１５】
上述された実施形態において単体の装置として説明された構成は、複数の装置に分散して設けられてもよい。例えば、画像処理装置１００、画像処理部３００又は画像処理部４００は、クラウドコンピューティング技術などを用いて、複数のコンピュータ装置によって実現されてもよい。
【０１１６】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１１７】
この出願は、２０１６年６月１４日に出願された日本出願特願２０１６−１１８０５７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１８】
１００    画像処理装置
１１０    第１の平滑化部
１２０    第２の平滑化部
２００    画像処理システム
２１０    入力部
２２０    画像処理部
２２１    第１の平滑化部
２２２    第２の平滑化部
２２３    累積加算部
２２４    正規化部
２３０    出力部
３００    画像処理部
３０１    ライン読込部
３０２    第１のＷＬＳ部
３０３    第１の書込部
３０４    中間画像バッファ
３０５    ブロック読込部
３０６    第２のＷＬＳ部
３０７    第２の書込部
３０８    累積画像バッファ
３０９    ライン書出部
３１０    ライン情報管理部
４００    画像処理部
４０１    第２のＷＬＳ部
４０２    係数算出部
４０３    第２の書込部
４０４    累積係数バッファ
４０５    ライン書出部
５００    コンピュータ装置
【図１】
2017217395.tif 000020
【図２】
2017217395.tif 000021
【図３Ａ】
2017217395.tif 000022
【図３Ｂ】
2017217395.tif 000023
【図３Ｃ】
2017217395.tif 000024
【図４】
2017217395.tif 000025
【図５】
2017217395.tif 000026
【図６】
2017217395.tif 000027
【図７】
2017217395.tif 000028
【図８】
2017217395.tif 000029
【図９Ａ】
2017217395.tif 000030
【図９Ｂ】
2017217395.tif 000031
【図１０】
2017217395.tif 000032
【図１１】
2017217395.tif 000033
【図１２】
2017217395.tif 000034
【手続補正書】
【提出日】平成30年11月22日(2018.11.22)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する第１の平滑化手段と、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する第２の平滑化手段と
を備える画像処理装置。
【請求項２】
前記第２の平滑化手段は、前記第２の平滑化処理を、冗長度に応じたブロック毎に実行し、
前記第２の平滑化処理が実行された入力画像を累積加算する累積加算手段と、
前記累積加算された入力画像を前記冗長度に応じて正規化する正規化手段とを備える
請求項１に記載の画像処理装置。
【請求項３】
前記冗長度は、前記入力画像に対応するガイド画像の前記第２の方向の画像特徴量に応じて異なる
請求項２に記載の画像処理装置。
【請求項４】
前記画像特徴量は、前記ガイド画像を構成する画素と当該画素に隣接する画素との画素値の差を表す
請求項３に記載の画像処理装置。
【請求項５】
前記ブロックのサイズと一致する前記冗長度を用いる
請求項２から請求項４までのいずれか１項に記載の画像処理装置。
【請求項６】
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行し、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する
画像処理方法。
【請求項７】
前記第２の平滑化処理を、冗長度に応じたブロック毎に実行し、
前記第２の平滑化処理が実行された入力画像を累積加算し、
前記累積加算された入力画像を前記冗長度に応じて正規化する
請求項６に記載の画像処理方法。
【請求項８】
コンピュータに、
入力画像に対し、重み付き最小二乗法に基づく１次元の第１の平滑化処理を、第１の方向へ所定ライン毎に実行する処理と、
前記第１の平滑化処理が実行された入力画像に対し、重み付き最小二乗法に基づく１次元の第２の平滑化処理を、前記第１の方向と異なる第２の方向へ所定のブロック毎に実行する処理と
を実行させるためのプログラム。
【請求項９】
前記第２の平滑化処理は、前記第２の平滑化処理を、冗長度に応じたブロック毎に実行し、
前記プログラムは、前記コンピュータに
前記第２の平滑化処理が実行された入力画像を累積加算する累積加算処理と、
前記累積加算された入力画像を前記冗長度に応じて正規化する正規化処理とを実行させる
請求項８に記載のプログラム。
【請求項１０】
前記冗長度は、前記入力画像に対応するガイド画像の前記第２の方向の画像特徴量に応じて異なる
請求項９に記載のプログラム。
【国際調査報告】
2017217395.tif 000035
2017217395.tif 000036