(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-19
(45)【発行日】2024-11-27
(54)【発明の名称】信号処理装置、信号処理方法及び信号処理プログラム
(51)【国際特許分類】
G06T 5/70 20240101AFI20241120BHJP
【FI】
G06T5/70
(21)【出願番号】P 2023504954
(86)(22)【出願日】2021-03-10
(86)【国際出願番号】 JP2021009500
(87)【国際公開番号】W WO2022190249
(87)【国際公開日】2022-09-15
【審査請求日】2023-07-28
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】佐々木 崇元
(72)【発明者】
【氏名】谷田 隆一
(72)【発明者】
【氏名】木全 英明
【審査官】橘 高志
(56)【参考文献】
【文献】特開2018-015572(JP,A)
【文献】特開2013-235403(JP,A)
【文献】特開2011-049696(JP,A)
【文献】国際公開第2016/076076(WO,A1)
【文献】田中僚郎 ほか,非凸スパース最適化によるAudio Declipping,日本音響学会 2020年 秋季研究発表会講演論文集,2020年09月11日,pp.181-184,ISSN 1880-7658
【文献】坂田綾香 ほか,非凸正則化を用いた信号復元と非凸性制御,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2020年03月18日,第119巻, 第485号,pp.9-12,ISSN 0913-5685
【文献】早川諒 ほか,非凸最適化に基づく離散値ベクトル再構成アルゴリズム,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2019年10月30日,第119巻, 第270号,pp.11-16,ISSN 0913-5685
【文献】赤井優志 ほか,勾配レンジ制約に基づくロバスト画像平滑化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2018年06月07日,第118巻, 第84号,pp.33-37,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/70
(57)【特許請求の範囲】
【請求項1】
入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する制御部
を備える信号処理装置。
【請求項2】
前記入力信号及び前記出力信号は、画像信号である、
請求項1に記載の信号処理装置。
【請求項3】
前記非凸関数のスパース正則化関数は、次式(1)によって定義される尖星ノルムであって順序付き加重L
1ノルムの重みベクトルwの要素が非負非減少(0≦w1≦w2…≦wN)とした尖星ノルムである、
【数1】
請求項1又は2に記載の信号処理装置。
【請求項4】
前記重みベクトルwは、次式(2)式によって定義され、
【数2】
前記第1の制御パラメータは、式(2)におけるλであり、
前記第2の制御パラメータは、式(2)におけるαである、
請求項
3に記載の信号処理装置。
【請求項5】
前記最適化問題は、
次式(3)によって定義されるGPSL関数を用いて、
【数3】
次式(4)として定義され、
【数4】
前記制御部は、交互方向乗算法により前記最適化問題の解を算出する、
請求項
3又は4に記載の信号処理装置。
【請求項6】
信号処理装置が行う信号処理方法であって、
入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する
信号処理方法。
【請求項7】
請求項1から5のいずれか一項に記載の信号処理装置としてコンピュータを実行させるための信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、信号処理方法及び信号処理プログラムに関する。
【背景技術】
【0002】
エッジ保存平滑化は、画像処理における重要な処理の1つである。エッジ保存平滑化は、エッジや輪郭を捉えて画像の構造を明確にし、重要でないディテールを滑らかにする。エッジ保存平滑化は、画質を向上させるだけでなく、輪郭抽出、セグメンテーション、スタイル変換などの様々な画像処理の前処理として用いられる。そのため、これまでに、
図9に示すような様々なエッジ保存平滑化の手法が提案されてきている。
【0003】
図9に示すように、エッジ保存平滑化の手法は、局所的フィルタによる手法と、大域的最適化による手法とに分類される。大域的最適化による手法は、画像全体の統計的性質を利用して最適化問題を立式し、解を求めて出力を算出することによりエッジ保存平滑化を行う。大域的最適化による手法は、多くの実行時間を要するが、エッジ保存の性能が高く、アーティファクトも生じ難く、局所的フィルタによる手法よりも平滑化性能に優れている。
【0004】
大域的最適化による手法では、幾つかの制御パラメータが用いられる。大域的最適化の多くの手法では、例えば、制御パラメータの値を変えることにより、画像の滑らかさを調整する。例えば、Total Variation(以下「TV」ともいう)の制御パラメータλは、忠実化項とTV項のバランスを取って、グラデーションの滑らかさを調整する(例えば、非特許文献1、2参照)。これに対して、L0勾配射影では、制御パラメータαを変えることにより、エッジが存在する総画素数を変えて、急峻なエッジを調整する(例えば、非特許文献3参照)。
【先行技術文献】
【非特許文献】
【0005】
【文献】L.I. Rudin, S. Osher, and E. Fatemi, “Nonlinear total variation based noise removal algorithms,” Physica D: nonlinear phenomena, vol.60, no.1-4, pp.259-268, 1992
【文献】A. Chambolle, “An Algorithm for Total Variation Minimization and Applications,” Journal of Mathematical Imaging and Vision, vol.20, no.1-2, pp.89-97, 2004
【文献】S. Ono, “L0 Gradient Projection,” IEEE Transactions on Image Processing, vol.26, no.4, pp.1554-1564, 2017
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、グラデーションの滑らかさとエッジの急峻さの両方を調整する大域的最適化の手法は、存在していない。そのため、グラデーションの滑らかさを調整する大域的最適化の手法を用いてグラデーションの滑らかさを強くすると、エッジが鈍ってぼやけた出力になるという問題がある。一方、エッジの急峻さを調整する大域的最適化の手法を用いてエッジの急峻さを強くすると、グラデーションが擬似輪郭に劣化してしまうという問題がある。
【0007】
上記事情に鑑み、本発明は、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することができる技術の提供を目的としている。
【課題を解決するための手段】
【0008】
本発明の一態様は、入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する制御部を備える信号処理装置である。
【0009】
本発明の一態様は、信号処理装置が行う信号処理方法であって、入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する信号処理方法である。
【0010】
本発明の一態様は、上記の信号処理装置としてコンピュータを実行させるための信号処理プログラムである。
【発明の効果】
【0011】
本発明により、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することが可能になる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態による尖星ノルムの等高線と、他のノルムの例であるL
1ノルム及びL
p擬似ノルムの等高線とを比較した図である。
【
図2】本実施形態による信号処理装置の内部構成を示すブロック図である。
【
図3】本実施形態による第1変数更新部の内部構成を示すブロック図である。
【
図4】本実施形態による第2変数更新部の内部構成を示すブロック図である。
【
図5】本実施形態による第3変数更新部の内部構成を示すブロック図である。
【
図6】本実施形態による信号処理装置による処理の流れを示すフローチャートである。
【
図7】本実施形態の信号処理装置を用いた実施結果を示す図(その1)である。
【
図8】本実施形態の信号処理装置を用いた実施結果を示す図(その2)である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を参照して説明する。本発明は、上記したように、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することを目的としている。この目的を達成するために、グラデーションの滑らかさを調整するパラメータと、エッジの急峻さを調整するパラメータという2つのパラメータとを取り入れることを可能にするため、後述する尖星ノルムを用いることを提案している。また、この尖星ノルムは、非凸関数であることから、大域的最適化によるエッジ保存平滑化において立式される最適化問題を解くためには、一般的に非常に多くの計算時間を要することが知られており、この計算時間の問題を解決する手法を以下において提案している。最初に、本実施形態において用いる大域的最適化によるエッジ保存平滑化の手法において立式した最適化問題と、その解法について説明する。ヘッジ保存平滑化の対象として、RGBの3チャンネルを有する入力カラー画像信号を次式(1)により定義する。
【0014】
【0015】
式(1)においてN=Nv×Nhであり、Nvは、縦方向の画素数であり、Nhは、横方向の画素数である。なお、赤、緑、青の3つのチャンネルが存在するため、式(1)では「3N」になっている。式(1)においてベクトルfは、入力カラー画像信号をチャンネル毎に縦方向に走査して積み上げた列ベクトルであり、以下、入力画像信号ベクトルfという。入力画像信号ベクトルfに対して、本実施形態のヘッジ保存平滑化を行うことにより得られる出力画像信号ベクトルxを次式(2)により定義する。
【0016】
【0017】
次式(3)は、上記の入力画像信号ベクトルfと、出力画像信号ベクトルxとを用いて表した本実施形態のエッジ保存平滑化の最適化問題を示す式である。
【0018】
【0019】
式(3)の第2項の関数は、尖星勾配(以下「PSG」(Pointed Star Gradient)ともいう)である。「尖星」の名称は、後述する尖星ノルムに由来している。当該関数の添え字のベクトルwは、次式(4)により定義されるN個の重みパラメータを含むベクトルである。以下、ベクトルwを、重みベクトルwという。
【0020】
【0021】
ここで、出力画像信号ベクトルxに含まれる要素、すなわち画素値は、次式(5)として表すことができる。
【0022】
【0023】
式(5)において、添え字の「i」は、縦方向の画素の位置であり、添え字の「j」は、横方向の画素の位置であり、添え字の「c」は、カラー、すなわち、赤、青、緑のいずれかである。
【0024】
式(3)の第2項の関数は、次式(6)として定義される。
【0025】
【0026】
式(6)において、関数Grad(・)は、引数として与えられる画像信号ベクトルの各画素における勾配を算出する関数である。vec演算子は、引数として与えられる行列の各列を縦に並べる演算子である。関数Grad(・)に対して、式(5)の出力画像信号ベクトルxを引数として与えた場合、画素の位置「i」、「j」における関数Grad(・)の出力は、次式(7)となる。
【0027】
【0028】
ただし、式(7)においてi+1>Nvの場合、xi+1,j,c-xi,j,c=0とし、j+1>Nhの場合、xi,j+1,c-xi,j,c=0としている。また、式(7)において、cは、1,2,3のいずれかの値であり、赤、緑、青のいずれかを示している。
【0029】
式(6)において、関数Ωw(・)(ただし、添え字のwは重みベクトルwである)は、以下の参考文献1に示される順序付き加重L1ノルム(以下「OWL」(Ordered Weighted L1-norm)という)である。
【0030】
「参考文献1:X. Zeng and M.A. Figueiredo, “The ordered weighted L1 norm: Atomic formulation, projections, and algorithms”,arXiv:1409.4271,pp.1-13,2014」
【0031】
関数Ωw(・)の引数としてN個の要素を有するベクトルu=(u1,u2,…,uN)Tを与えた場合、関数Ωw(・)は、次式(8)として表される。
【0032】
【0033】
式(8)において|・|[n]の演算は、引数としてベクトルuが与えられると、|u1|,|u2|,…,|uN|のn番目に大きい値を選択する演算である。式(8)において、関数|・|↓は、引数としてベクトルuが与えられると、ベクトルuの要素の絶対値を要素とするベクトル、すなわち(|u1|,|u2|,…,|uN|)Tの要素を降順にソートしたベクトルを生成する演算である。
【0034】
関数Ω
w(・)の重みベクトルwの要素を非負非減少、すなわち(0≦w
1≦w
2≦…≦w
N)にすると、OWLのグラフの等高線は、
図1(a)に示す形状になる。なお、
図1(a)において、符号51で示す等高線が最も低い位置を示している。符号51で示す等高線の1つ外側にある符号52で示す等高線の高さは、符号51で示す等高線の高さよりも高くなっており、順に、外側の等高線の高さが、内側の等高線の高さよりも高くなっている。以下、重みベクトルwが非負非減少のOWLを、
図1(a)に示す形状より尖星ノルム(以下、PSN(Pointed Star Norm)ともいう)という。
【0035】
尖星ノルムは、
図1(a)に示す形状から分かるように、非凸関数である。尖星ノルムは、非凸関数であることにより、スパース正則化で最もよく用いられる
図1(b)で示される形状を有するL
1ノルムよりも強いスパース正則化の性質を有するスパース正則化関数である。次式(9)で表され、
図1(c)の形状を有するL
p擬似ノルムというノルムが存在するが、尖星ノルムは、L
p擬似ノルムの近似関数ということができる。なお、
図1(b),(c)においても、
図1(a)と同様に、外側の等高線の高さが、内側の等高線の高さよりも高くなっている。
【0036】
【0037】
尖星ノルムを用いることにより、尖星勾配は、大きな勾配の画素に対して小さな重みの正則化を課することになる。そのため、尖星ノルムでは、制御パラメータλと、制御パラメータαの2つの制御パラメータを導入した次式(10)で表される重みベクトルwを用いることができる。
【0038】
【0039】
式(10)において、ベクトル0Nは、全ての要素が「0」である長さNのベクトルであり、ベクトル1Nは、全ての要素が「1」である長さNのベクトルである。先頭のα個は0、続くN-α個がλのベクトルであり、隣接差分のうち大きな差がある部分は乗数が0となり最適化の対象に入れないことになり、差分の小さな部分は乗数がλになり、より滑らかにすることができる。これにより、重みベクトルwの制御パラメータλにより、グラデーションの滑らかさを調整することができ、制御パラメータαにより、エッジの急峻さを調整できることになる。なお、制御パラメータλは、0以上の実数であり、大きいほどグラデーションを滑らかにする調整が可能である。制御パラメータαは、0以上の整数であり、急峻なエッジが存在する画素数を制御すること可能である。
【0040】
なお、式(10)の重みベクトルにおいて、α=0にすると、重みベクトルwは、ベクトル1Nに対してλを乗じた(w1=w2=…=wN=λ)となり、この場合尖星ノルムを用いる式(3)の最適化問題は、TVの場合に立式されるL1正則化問題と同値になる。
【0041】
これに対して、(w1=w2=…=wα=0,wα+1=wα+2=…=wN=λ)の場合に、λ→∞にすると、尖星ノルムを用いる式(3)の最適化問題は、L0勾配射影の場合に立式されるL0擬似ノルム制約問題に近づくことになる。したがって、尖星ノルムは、L1ノルムよりも強く、かつL0擬似ノルムより穏やか(マイルド)なスパース正則化関数の性質を有していることになる。
【0042】
グラデーションの滑らかさを調整する制御パラメータλは、出力画像信号ベクトルxを画面に表示した出力画像を見ながら値を調整する必要がある。これに対して、エッジの急峻さを調整する制御パラメータαについては、画素数Nの数パーセント程度の整数を定めることになる。
【0043】
上記したように、尖星ノルムは、非凸関数であることから式(3)の最適化問題の解を求めることは、一般的に非常に多くの計算時間を要することが知られている。この計算時間の問題を解決するため、本実施形態では、近接分離法に含まれるアルゴリズムの1つである、以下の参考文献2に示されている交互方向乗算法(以下「ADMM」(Alternating Direction Method of Multipliers)という)を利用する。
【0044】
「参考文献2:D. Gabay and B. Mercier, “A dual algorithm for the solution of nonlinear variational problems via finite element approximation”, Computers and Mathematics with Applications, Vol.2 pp17-40, Pergamon Press, 1976」
【0045】
ADMMを利用するためには、式(3)を、ADMMを適用することができる形に変形する必要がある。そのため、GPSL(Group Pointed Star L1,2-norm)関数を次式(11)として定義する。
【0046】
【0047】
式(11)においてベクトルyは、次式(12)によって定義されるベクトルである。
【0048】
【0049】
式(11)において、次式(13)によって示される記号は、n=1,…,Nの各画素に関するグループを示す記号である。したがって、式(11)の関数Ωw(・)の引数は、ベクトルyを画素ごとに分割したものであることを意味している。
【0050】
【0051】
式(11)のGPSL関数を用いることにより、式(3)の第2項の関数PSGw(・)(ただし、添え字のwは重みベクトルwである)を次式(14)に示すように変形することができる。
【0052】
【0053】
式(14)において、行列Dは、次式(15)により定義される行列であり、巡回境界条件を有する離散差分作用素行列である。式(14)において、行列Bは、次式(16)により定義される行列であり、巡回する境界を0にする0-1バイナリ対角行列である(例えば、非特許文献3参照)。
【0054】
【0055】
【0056】
式(14)に示した変形により、式(3)で表される最適化問題を、ADMMを利用することができる次式(17)として変形することができる。
【0057】
【0058】
ADMMを用いることにより、次式(18)~(20)によって示される更新式に基づいて、式(17)の最適化問題の局所最適解を求めることができる。なお、式(18),(19)において、γは、ステップサイズであり、γ>0である。
【0059】
【0060】
【0061】
【0062】
上記の式(18)~(20)において、ベクトルx(k+1)の更新式である式(18)とベクトルy(k+1)の更新式である式(19)の各々は、各々の式自体が最適化問題となっている。そのため、それぞれの解を求める解法について以下に説明する。
【0063】
ベクトルx(k+1)については、非特許文献3に示されるように次式(21)が解である。
【0064】
【0065】
式(21)において関数F(・)は、2次元離散フーリエ変換であり、関数F*(・)は、2次元離散逆フーリエ変換である。行列Λは、ラプラシアンフィルタカーネルのフーリエ変換結果を対角要素とする対角行列である。そのため、F*(・)の引数に含まれる次式(22)の行列は対角行列になり、式(22)の逆行列の算出は、要素ごとの割り算によって算出することができる。
【0066】
【0067】
次に、ベクトルy(k+1)の解について説明する。まず、次式(23)を定義する。
【0068】
【0069】
式(23)を用いて、ベクトルy(k+1)の解を表すと、次式(24)となる。
【0070】
【0071】
式(24)の右辺の第1項である次式(25)の演算は、次式(26)の置き換えを行った上で、次式(27)として表すことができる。
【0072】
【0073】
【0074】
【0075】
ただし、式(27)において、n=1,…,Nである。式(27)において、(p1
(k),…,pN
(k))は、次式(28)として表される。
【0076】
【0077】
式(28)の右辺の関数の引数を、次式(29)に示すようにベクトルv(k)とする。
【0078】
【0079】
式(28)の右辺の式は、次式(30)として定義され、式(30)の右辺の演算を行うことにより(p1
(k),…,pN
(k))を算出することができる。
【0080】
【0081】
ここで、次式(31)に示す関係があるため、式(30)の右辺の式の符号関数sgn(・)による演算を省略することができる。
【0082】
【0083】
式(30)の右辺に含まれる次式(32)で示される関数は、次式(33)で表される非増加単調錘への射影の演算を行うことを示している。
【0084】
【0085】
【0086】
式(32)の演算は、Isotonic Regressionという問題として知られている。ただし、次式(34)に示す関係があるため、式(33)による射影は、恒等写像になり、省略することができる。
【0087】
【0088】
これにより、式(30)を、次式(35)として変形することができる。
【0089】
【0090】
式(35)において、関数(・)+は、引数を非負値にクリッピングするランプ関数である。行列P(k)は、ベクトルv(k)の要素の絶対値を要素とするベクトルの要素を降順にソートして生成されるベクトルの置換行列であり、次式(36)の関係を有する。
【0091】
【0092】
これにより、式(21)と、式(27)及び式(35)を適用した式(24)と、式(20)の更新式を反復して実行することにより、式(17)によって示される最適化問題を解くことができる。なお、ステップサイズγは、反復するごとにγ←ηγ(ただし、0<η<1である)として更新される。すなわち、減衰率ηを1つ前のステップサイズγに乗じた値を、新たなステップサイズγとする更新が行われる。
【0093】
(信号処理装置の構成)
図2は、式(17)の最適化問題の解を算出する信号処理装置1の内部構成を示すブロック図である。信号処理装置1は、制御部2を備えており、制御部2は、第1変数更新部10、第2変数更新部20、第3変数更新部30、更新判定部40、及びステップサイズ更新部50を備える。
【0094】
更新判定部40は、更新処理の処理回数を示す「k」の値(以下「ステップk」という)を内部の記憶領域に記憶する。更新判定部40は、ステップkの値を増加させるタイミングで、ステップサイズを更新する指示信号をステップサイズ更新部50に出力する。更新判定部40は、第1変数であるベクトルx、第2変数であるベクトルy、第3変数であるベクトルdの更新を行う処理を継続するか否かを、予め定められる終了条件にしたがって判定する。ここで、終了条件とは、例えば、その時点でのステップkの値が、予め定められる更新回数の上限値に一致することである。
【0095】
更新判定部40は、更新を行う処理を継続すると判定した場合、第2変数更新部20が1ステップ前に算出したベクトルy(k)を第1変数更新部10に出力し、第3変数更新部30が1ステップ前に算出したベクトルd(k)を第1変数更新部10と、第2変数更新部20と、第3変数更新部30とに出力する。これに対して、更新判定部40は、更新を行う処理を継続しないと判定した場合、その時点で、第1変数更新部10が算出したベクトルx(k+1)を出力画像信号ベクトルxとして外部に出力して、処理を終了する。
【0096】
ステップサイズ更新部50は、外部から与えられるステップサイズγと、減衰率ηとを取り込む。ステップサイズ更新部50は、取り込んだステップサイズγと、減衰率ηとを内部に記憶領域に書き込んで記憶させる。ステップサイズ更新部50は、内部の記憶領域にステップサイズγを書き込むと、書き込んだステップサイズγを第1変数更新部10と、第2変数更新部20とに出力する。ステップサイズ更新部50は、更新判定部40からステップサイズを更新する指示信号を受けると、内部に記憶領域が記憶するステップサイズγを、減衰率ηに基づいて更新する処理を行い、更新後のステップサイズγを第1変数更新部10と、第2変数更新部20とに出力する。
【0097】
第1変数更新部10は、外部から与えられる入力画像信号ベクトルfと、ステップサイズγと、ベクトルy(k)と、ベクトルd(k)とを取り込む。第1変数更新部10は、式(21)の演算を行って、第1変数であるベクトルx(k+1)を算出する。
【0098】
図3は、第1変数更新部10の内部構成を示すブロック図である。第1変数更新部10は、減算器101、差分転置演算部102、加算器103、乗算器104、FFT(Fast Fourier Transform)部105、逆数演算部106、係数生成部107、乗算器108及び逆FFT部109を備える。
【0099】
減算器101は、第2変数更新部20が算出したベクトルy(k)から、第3変数更新部30が算出したベクトルd(k)を減算した次式(37)に示す減算値を算出する。
【0100】
【0101】
差分転置演算部102は、内部の記憶領域に行列Dを予め記憶しており、内部の記憶領域が記憶する行列Dの転置行列である行列DTを生成する。差分転置演算部102は、生成した行列DTと、減算器101が算出した減算値とを乗算して次式(38)に示す乗算値を算出する。
【0102】
【0103】
逆数演算部106は、ステップサイズγを取り込み、ステップサイズγの逆数、すなわちγ-1を算出する。乗算器104は、差分転置演算部102が算出した乗算値と、逆数演算部106が算出したγ-1とを乗算して乗算値を算出する。加算器103は、入力画像信号ベクトルfと、乗算器104が算出した乗算値とを加算して式(39)に示す加算値を算出する。
【0104】
【0105】
FFT部105は、加算器103が算出した加算値に対して2次元高速フーリエ変換を行う。係数生成部107は、内部の記憶領域に行列I及び行列Λを予め記憶しており、内部の記憶領域が記憶する行列I及び行列Λと、逆数演算部106が算出したγ-1とに基づいて、式(22)の行列を生成する。
【0106】
乗算器108は、FFT部105の出力と、係数生成部107が生成する行列とを乗算して次式(40)に示す乗算値を算出する。
【0107】
【0108】
逆FFT部109は、乗算器108が算出した乗算値に対して2次元逆高速フーリエ変換、すなわち式(21)の演算を行い第1変数であるベクトルx(k+1)を算出する。
【0109】
第2変数更新部20は、第1変数更新部10が算出した第1の変数であるベクトルx(k+1)と、第3変数更新部30が1ステップ前に算出した第3の変数であるベクトルd(k)と、重みベクトルwと、ステップサイズγとを取り込む。第2変数更新部20は、式(27)及び式(35)を適用した式(24)の演算を行って、第2変数であるベクトルy(k+1)を算出する。
【0110】
図4は、第2変数更新部20の内部構成を示すブロック図である。第2変数更新部20は、差分演算部201、加算器202、バイナリマスク部203、L2ノルム演算部204、降順ソート部205、置換行列生成部206、乗算器207、減算器208、ランプ関数部209、逆置換部210、係数生成部211、要素積演算部212、バイナリマスク部213、バイナリマスク部214及び加算器215を備える。
【0111】
差分演算部201は、内部の記憶領域に行列Dを予め記憶しており、内部の記憶領域が記憶する行列Dと、第1変数更新部10が算出したベクトルx(k+1)とを乗算して乗算値を算出する。加算器202は、差分演算部201が算出した乗算値と、第3変数更新部30が算出したベクトルd(k)とを加算して式(23)に示す加算値を算出する。バイナリマスク部203は、内部の記憶領域に行列Bを予め記憶しており、内部の記憶領域が記憶する行列Bと、加算器202が算出した加算値とを乗算して式(26)に示す乗算値を算出する。
【0112】
L2ノルム演算部204は、画素ごとのL2ノルムを算出する演算部であり、バイナリマスク部203が算出した乗算値から式(29)に示すベクトルv(k)を算出する。降順ソート部205は、L2ノルム演算部204が算出したベクトルv(k)に含まれる要素の絶対値を要素とするベクトルの要素を降順に並べ替えた次式(41)により示されるベクトルa(k)を生成する。
【0113】
【0114】
置換行列生成部206は、L2ノルム演算部204が生成するベクトルv(k)からベクトルa(k)の置換行列である行列P(k)を生成する。乗算器207は、重みベクトルwと、ステップサイズγとを乗算して次式(42)に示す乗算値を算出する。
【0115】
【0116】
減算器208は、降順ソート部205が生成するベクトルa(k)から乗算器207が算出した乗算値を減算した減算値を算出する。ランプ関数部209は、減算器208が算出した減算値に対して、非負値にクリッピングする演算を行い、次式(43)に示す演算結果を算出する。
【0117】
【0118】
逆置換部210は、置換行列生成部206が生成する行列P(k)の転置行列である行列P(k)Tを生成する。逆置換部210は、生成した行列P(k)Tと、ランプ関数部209の出力とを乗算して次式(44)に示すベクトルp(k)を算出する。
【0119】
【0120】
係数生成部211は、L2ノルム演算部204が算出したベクトルv(k)と、逆置換部210が算出したベクトルp(k)とに基づいて、次式(45)で示される係数qn
(k)を算出する。
【0121】
【0122】
ただし、式(45)においてn=1,…,Nである。要素積演算部212は、バイナリマスク部203が算出した式(26)により示される乗算値と、係数生成部211が生成した係数qn
(k)とに基づいて、次式(46)により示されるベクトルz(k)を算出する。
【0123】
【0124】
ただし、式(46)においてn=1,…,Nであり、ベクトルz(k)の要素は、次式(47)となる。
【0125】
【0126】
バイナリマスク部213は、内部の記憶領域に行列Bを予め記憶しており、内部の記憶領域が記憶する行列Bと、要素積演算部212が算出したベクトルz(k)とを乗算して乗算値を算出する。バイナリマスク部214は、内部の記憶領域に行列Iから行列Bを減算した行列(I-B)を予め記憶しており、内部の記憶領域が記憶する行列(I-B)と、加算器202が算出した加算値とを乗算して乗算値を算出する。加算器215は、バイナリマスク部213の出力と、バイナリマスク部214が算出した乗算値とを加算して次式(48)に示す第2変数であるベクトルy(k+1)を算出する。
【0127】
【0128】
第3変数更新部30は、第1変数更新部10が算出した第1の変数であるベクトルx(k+1)と、第2変数更新部20が算出した第2の変数であるベクトルy(k+1)と、第3変数更新部30が1ステップ前に算出したベクトルd(k)とを取り込む。第3変数更新部30は、式(20)の演算を行って、第3変数であるベクトルd(k+1)を算出する。
【0129】
図5は、第3変数更新部30の内部構成を示すブロック図である。第3変数更新部30は、差分演算部301、加算器302及び減算器303を備える。差分演算部301は、内部の記憶領域に行列Dを予め記憶しており、内部の記憶領域が記憶する行列Dと、第1変数更新部10が算出したベクトルx
(k+1)とを乗算して乗算値を算出する。加算器302は、減算器303が1ステップ前に算出したベクトルd
(k)と、差分演算部301が算出した乗算値とを加算して加算値を算出する。減算器303は、加算器302が算出した加算値から第2変数更新部20が算出したベクトルy
(k+1)を減算して第3変数であるベクトルd
(k+1)を算出する。
【0130】
(信号処理部による処理)
図6は、信号処理部1による処理の流れを示すフローチャートである。信号処理部1の第1変数更新部10及び更新判定部40は、外部から与えられる入力画像信号ベクトルfを取り込む。第2変数更新部20は、外部から与えられる制御パラメータλと制御パラメータαとが予め定められた重みベクトルwを取り込む。ステップサイズ更新部50は、外部から与えられるステップサイズγと、減衰率ηとを取り込む(ステップS1)。
【0131】
更新判定部40は、内部の記憶領域に予め記憶されている行列Dと、取り込んだ入力画像信号ベクトルfとを乗算して次式(49)に示す乗算値を算出する。
【0132】
【0133】
更新判定部40は、算出した乗算値を第2変数の初期値であるベクトルy(0)と、第3変数の初期値であるベクトルd(0)とする。更新判定部40は、ステップkを「0」に初期化する(ステップS2)。
【0134】
更新判定部40は、終了条件を満たしているか否かを判定する(ステップS3)。終了条件を満たしているか否かの判定は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致するか否かによって行われる。ここでは、ステップk=0の値が、予め定められる更新回数の上限値に一致していないものとして説明を進める。更新判定部40は、ステップkの値が、予め定められる更新回数の上限値に一致していないため、終了条件を満たしていないと判定し(ステップS3、No)、第2変数の初期値であるベクトルy(0)を第1変数更新部10に出力し、第3変数の初期値であるベクトルd(0)を第1変数更新部10と、第2変数更新部20と、第3変数更新部30とに出力する。
【0135】
以下、一般化のため「k=0」に限定せず、更新判定部40が内部の記憶領域に記憶させているステップ数の値が「k」であるとし、各変数の添え字に(k)、または、(k+1)を示して記載する。第1変数更新部10において、減算器101は、更新判定部40が出力するベクトルy(k)と、ベクトルd(k)とを取り込む。減算器101は、ベクトルy(k)からベクトルd(k)を減算して式(37)に示す減算値を算出する。減算器101は、算出した減算値を差分転置演算部102に出力する。
【0136】
差分転置演算部102は、内部の記憶領域が記憶する行列Dの転置行列である行列DTを生成する。差分転置演算部102は、生成した行列DTと、減算器101が算出した減算値とを乗算して式(38)に示す乗算値を算出する。差分転置演算部102は、算出した乗算値を乗算器104に出力する。
【0137】
逆数演算部106は、加算器101と差分転置演算部102が行う処理と並列して、外部から与えられるステップサイズγを取り込む。逆数演算部106は、取り込んだステップサイズγの逆数であるγ-1を算出する。逆数演算部106は、算出したγ-1を乗算器104と、係数生成部107とに出力する。乗算器104は、差分転置演算部102が出力する式(38)の乗算値と、逆数演算部106が出力するγ-1とを乗算して乗算値を算出し、算出した乗算値を加算器103に出力する。加算器103は、外部から与えられる入力画像信号ベクトルfを取り込む。加算器103は、取り込んだ入力画像信号ベクトルfと、乗算器104が出力する乗算値とを加算して式(39)に示す加算値を算出する。加算器103は、算出した加算値をFFT部105に出力する。
【0138】
FFT部105は、加算器103が出力する式(39)の加算値に対して2次元高速フーリエ変換の演算を行い、演算結果を乗算器108に出力する。係数生成部107は、乗算器104と加算器103とFFT部105が行う処理と並行して、逆数演算部106が出力するγ-1と、内部の記憶領域が記憶する行列I及び行列Λとに基づいて、式(22)の行列を生成する。係数生成部107は、生成した行列を乗算器108に出力する。
【0139】
乗算器108は、FFT部105が出力する演算結果と、係数生成部107が出力する式(22)の行列とを乗算して式(40)に示す乗算値を算出する。乗算器108は、算出した乗算値を逆FFT部109に出力する。
【0140】
逆FFT部109は、乗算器108が出力する式(40)の乗算値に対して、式(21)に示す2次元逆高速フーリエ変換を行って第1変数のベクトル(k+1)を算出する。逆FFT部109は、算出したベクトル(k+1)を第2変数更新部20と、第3変数更新部30と、更新判定部40とに出力する(ステップS5)。
【0141】
第2変数更新部20において、差分演算部201は、内部の記憶領域が記憶する行列Dと、第1変数更新部10の逆FFT部109が出力するベクトルx(k+1)とを乗算して乗算値を算出する。差分演算部201は、算出した乗算値を加算器202に出力する。加算器202は、更新判定部40が出力するベクトルd(k)と、差分演算部201が出力する乗算値とを加算して式(23)に示す加算値を算出する。加算器202は、算出した加算値をバイナリマスク部203と、バイナリマスク部214とに出力する(ステップS6)。
【0142】
バイナリマスク部203は、内部の記憶領域が記憶する行列Bと、加算器202が出力する加算値とを乗算して式(26)に示す乗算値を算出する。バイナリマスク部203は、算出した乗算値をL2ノルム演算部204と、要素積演算部212とに出力する(ステップS7)。L2ノルム演算部204は、バイナリマスク部203が出力する乗算値から式(29)に示すベクトルv(k)を算出する。L2ノルム演算部204は、算出したベクトルv(k)を置換行列生成部206と、降順ソート部205と、係数生成部211とに出力する。降順ソート部205は、L2ノルム演算部204が出力するベクトルv(k)に含まれる要素の絶対値を要素とするベクトルの要素を降順に並べ替えた式(41)に示すベクトルa(k)を生成する。降順ソート部205は、生成したベクトルa(k)を減算器208に出力する(ステップS8)。
【0143】
乗算器207は、ステップS6~S8の処理と並列に、外部から与えられる重みベクトルwと、ステップサイズγとを取り込む。乗算器207は、重みベクトルwと、ステップサイズγとを乗算して式(42)に示す乗算値を算出する。乗算器207は、算出した乗算値を減算器208に出力する(ステップS9)。
【0144】
減算器208は、降順ソート部205が出力するベクトルa(k)から乗算器207が算出した乗算値を減算した減算値を算出する。減算器208は、算出した減算値をランプ関数部209に出力する。ランプ関数部209は、減算器208が出力する減算値に対して、非負値にクリッピングする式(43)に示す演算を行い、演算結果を逆置換部210に出力する(ステップS10)。
【0145】
置換行列生成部206は、ステップS10の処理と並列に、L2ノルム演算部204が出力するベクトルv(k)からベクトルa(k)の置換行列である行列P(k)を生成する。置換行列生成部206は、生成した行列P(k)を逆置換部210に出力する(ステップS11)。
【0146】
逆置換部210は、置換行列生成部206が出力する行列P(k)の転置行列である行列P(k)Tを生成する。逆置換部210は、生成した行列P(k)Tと、ランプ関数部209が出力する式(43)の演算による演算結果とを乗算し、乗算値として式(44)に示すベクトルp(k)を算出する。逆置換部210は、算出したベクトルp(k)を係数生成部211に出力する(ステップS12)。
【0147】
係数生成部211は、L2ノルム演算部204が出力するベクトルv(k)と、逆置換部210が出力するベクトルp(k)とに基づいて式(45)により示される係数qn
(k)を算出する。係数生成部211は、算出した係数qn
(k)を要素積演算部212に出力する(ステップS13)。
【0148】
要素積演算部212は、バイナリマスク部203が出力する式(26)により示される乗算値と、係数生成部211が出力する係数qn
(k)とに基づいて式(47)に示す演算を行って、式(46)に示すベクトルz(k)を算出する。要素積演算部212は、算出したベクトルz(k)をバイナリマスク部213に出力する(ステップS14)。
【0149】
バイナリマスク部214は、ステップS7~S14の処理と並行して、内部の記憶領域が記憶する行列(I-B)と、加算器202が算出した式(23)に示す加算値とを乗算して乗算値を算出する。バイナリマスク部214は、算出した乗算値を加算器215に出力する。バイナリマスク部213は、バイナリマスク部214が行う処理と並行して、内部の記憶領域が記憶する行列Bと、要素積演算部212が出力するベクトルz(k)とを乗算して乗算値を算出する。バイナリマスク部213は、算出した乗算値を加算器215に出力する。
【0150】
加算器215は、バイナリマスク部213が出力する乗算値と、バイナリマスク部214が出力する乗算値とを加算する式(48)に示す演算を行って、第2変数のベクトルy(k+1)を算出する。加算器215は、算出したベクトルy(k+1)を第3変数更新部30と、更新判定部40とに出力する(ステップS15)。
【0151】
第3変数更新部30において、差分演算部301は、内部の記憶領域が記憶する行列Dと、第1変数更新部10の逆FFT部109が出力するベクトルx(k+1)とを乗算して乗算値を算出する。差分演算部301は、算出した乗算値を加算器302に出力する。加算器302は、更新判定部40が出力するベクトルd(k)と、差分演算部301が出力する乗算値とを加算して加算値を算出する。加算器302は、算出した加算値を減算器303に出力する。減算器303は、加算器302が出力する加算値から第2変数更新部20の加算器215が出力するベクトルy(k+1)を減算して第3変数であるベクトルd(k+1)を算出する。減算器303は、算出したベクトルd(k+1)を更新判定部40に出力する(ステップS16)。
【0152】
更新判定部40は、第1変数更新部10が出力するベクトルx(k+1)と、第2変数更新部20が出力するベクトルy(k+1)と、第3変数更新部30が出力するベクトルd(k+1)とを取り込むと、内部の記憶領域が記憶するステップkの値を読み出し、読み出した値に「1」を加算し、加算後の値を新たなステップkの値として、内部の記憶領域に書き込んで記憶させる。更新判定部40は、ステップサイズを更新する指示信号をステップサイズ更新部50に出力する。ステップサイズ更新部50は、更新判定部40からステップサイズを更新する指示信号を受けると、内部の記憶領域が記憶するステップサイズγと、減衰率ηと乗算してηγを算出する。ステップサイズ更新部50は、算出したηγを新たなステップサイズγとするため、内部の記憶領域が記憶するステップサイズγをηγに書き換える。ステップサイズ更新部50は、内部の記憶領域のステップサイズγをηγに書き換えると、書き換えた後のステップサイズγを第1変数更新部10と、第2変数更新部20とに出力する(ステップS17)。
【0153】
更新判定部40は、再びステップS3の判定処理を行う。更新判定部40は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致しており、終了条件を満たしていると判定した場合(ステップS3、Yes)、その時点で、取り込んでいるベクトルx(k+1)を出力画像信号ベクトルxとして外部に出力して(ステップS4)、処理を終了する。
【0154】
一方、更新判定部40は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致しておらず、終了条件を満たしていないと判定した場合(ステップS3、No)、その時点で、取り込んでいるベクトルy(k+1)を第1変数更新部10に出力し、ベクトルd(k+1)を第1変数更新部10と、第2変数更新部20と、第3変数更新部30とに出力し、再びステップS5以降の処理が行われることになる。
【0155】
(実施結果)
図7、
図8は、上記の信号処理装置1を用いて行ったエッジ保存平滑化の実施結果を示す図である。
図7は、グラデーションの滑らかさを調整する制御パラメータλ=50とした場合の実施結果を示しており、
図8は、制御パラメータλ=200とした場合の実施結果を示している。
図7(a)と
図8(a)は、エッジの急峻さを調整する制御パラメータαを、画素数Nの約8%とした場合の実施結果であり、
図7(b)と
図8(b)は、制御パラメータαを、画素数Nの約4%とした場合の実施結果である。
【0156】
図7、
図8において、符号60a,60b,70a,70bにより示す画像は、各々の条件においてエッジ保存平滑化の処理を行った後に得られる出力画像信号を画面に表示した画像である。
図7、
図8において、符号62a,62b,72a,72bにより示すグラフは、それぞれ画像60aにおける符号61aのライン、画像60bにおける符号61bのライン、画像70aにおける符号71aのライン、画像70bにおける符号71bのラインにおける輝度信号の値をプロットすることに得られたグラフである。符号62a,62b,72a,72bにより示すグラフの実線が入力画像信号の輝度信号の値を示しており、点線が出力画像信号の輝度信号の値を示している。
図7と
図8とを比較すると分かるように、制御パラメータλが大きくなるほどグラデーションの滑らかさが失われる平滑化が行われていることが分かる。これに対して、
図7(a)と
図7(b)、または、
図8(a)と
図8(b)を比較すると分かるように、制御パラメータαが小さくなるほど、エッジの急峻さが失われる平滑化が行われていることが分かる。
【0157】
上記の実施形態による信号処理装置1は、入力画像信号に対して非凸関数のスパース正則化関数であって非凸関数の重みに含まれる第1の制御パラメータである制御パラメータλを調整することにより、グラデーションの滑らかさを変化させ、非凸関数の重みに含まれる第2の制御パラメータである制御パラメータαを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより入力画像信号からエッジ保存平滑化した出力画像信号を生成する。これにより、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することが可能になる。
【0158】
図6に示したフローチャートの計算量は、2次元高速フーリエ変換及び2次元逆高速フーリエ変換を用いた線形方程式の解法に要するO(NlogN)の計算量と、ソートアルゴリズムに要するO(NlogN)計算量と、四則演算等に要するO(N)の計算量とからなる計算量であり、1回の繰り返しによる計算量はO(NlogN)となる。したがって、本実施形態の信号処理装置1は、非凸関数の尖星ノルムを含む最適化問題を解く処理を行っているが、計算量をO(NlogN)に抑えることができ、かつL
1ノルムよりも強く、かつL
0擬似ノルムより穏やか(マイルド)なスパース正則化の性能であってL
1ノルムと同程度のロバスト性を有する大域的最適化によるエッジ保存平滑化を行うことが可能になる。ここで、L
1ノルムと同程度のロバスト性を有するとは、L
0ノルムと比較して、入力の各要素が微小な値をとる場合であっても、過敏に反応せず、適切にスパース正則化する性能を有するということである。
【0159】
なお、上記の実施形態では、更新判定部40が
図6のステップS3の判定処理において、その時点でのステップkの値が、予め定められる更新回数の上限値に一致することを終了条件としていた。これに対して、次式(50)により求められるベクトルx
(k)の変化量のノルムが、予め定められる所定値以下となることを
図6のステップS3の判定処理の終了条件としてもよい。
【0160】
【0161】
次式(51)を目的関数とし、次式(52)により求められる目的関数の変化量が、予め定められる所定値以下となることを
図6のステップS3の判定処理の終了条件としてもよい。
【0162】
【0163】
【0164】
上記の実施形態において、FFT部105は、2次元高速フーリエ変換に替えて、2次元離散フーリエ変換を行うようにしてもよいし、逆FFT部109は、2次元逆高速フーリエ変換に替えて、2次元逆離散フーリエ変換を行うようにしてもよい。
【0165】
上記の実施形態では、処理対象の画像信号として、RGBの3チャンネルを有するカラー画像信号としている。これに対して、CYMKの4チャンネルを有するカラー画像信号を処理対象の画像信号としてもよく、また、1チャンネルのモノクロ画像信号を処理対象の画像信号としてもよい。この場合、RGBのカラー画像信号の場合、Nc=3、CMYKのカラー画像信号の場合、Nc=4、モノクロ画像信号の場合、Nc=1とする変数Ncを定義した上で、上記した式のうち、以下に示す式は、変数Ncを用いて以下のように変更されることになる。式(1)、式(2)の添え字「3N」は、「NNc」になる。式(5)の添え字「Nv×Nh×3」は、「Nv×Nh×Nc」になる。式(7)の記号Σの範囲を示す数値のうちΣの上の「3」は、「Nc」になる。式(12)の添え字「6N」は、「2NNc」になる。式(15)の添え字「6N×3N」は、「2NNc×NNc」になる。式(16)の添え字「6N×6N」は、「2NNc×2NNc」になる。式(18)のargminの下の式(2)と同一の定義式は、式(2)と同様に、添え字「3N」が、「NNc」になる。式(19)のargminの下の式(12)と同一の定義式は、式(12)と同様に、添え字「6N」が、「2NNc」になる。
【0166】
上記の実施形態では、信号処理装置1は、画像信号、すなわち2次元信号を処理対象としたエッジ保存平滑化を行っているが、通信信号などの1次元信号を処理対象としてもよく、その場合にも、同様の効果が得られることになる。
【0167】
上述した実施形態における信号処理装置1をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0168】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0169】
大域的最適化によりエッジ保存平滑化を行う技術に適用することができる。
【符号の説明】
【0170】
1…信号処理装置、2…制御部、10…第1変数更新部、20…第2変数更新部、30…第3変数更新部、40…更新判定部、50…ステップサイズ更新部