WO2022190249A1 - Signal processing device, signal processing method, and signal processing program - Google Patents

Signal processing device, signal processing method, and signal processing program Download PDF

Info

Publication number
WO2022190249A1
WO2022190249A1 PCT/JP2021/009500 JP2021009500W WO2022190249A1 WO 2022190249 A1 WO2022190249 A1 WO 2022190249A1 JP 2021009500 W JP2021009500 W JP 2021009500W WO 2022190249 A1 WO2022190249 A1 WO 2022190249A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
unit
signal processing
equation
function
Prior art date
Application number
PCT/JP2021/009500
Other languages
French (fr)
Japanese (ja)
Inventor
崇元 佐々木
隆一 谷田
英明 木全
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2023504954A priority Critical patent/JPWO2022190249A1/ja
Priority to PCT/JP2021/009500 priority patent/WO2022190249A1/en
Publication of WO2022190249A1 publication Critical patent/WO2022190249A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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/20192Edge enhancement; Edge preservation

Definitions

  • the present invention relates to a signal processing device, a signal processing method, and a signal processing program.
  • Edge-preserving smoothing is one of the important processes in image processing. Edge-preserving smoothing captures edges and contours to reveal image structure and smooth out unimportant details. Edge-preserving smoothing not only improves image quality, but is also used as preprocessing for various image processing such as contour extraction, segmentation, and style conversion. Therefore, various edge-preserving smoothing techniques have been proposed so far, as shown in FIG.
  • the edge-preserving smoothing technique is classified into a local filter technique and a global optimization technique.
  • Global optimization methods use the statistical properties of the entire image to formulate an optimization problem, find a solution, and calculate the output to perform edge-preserving smoothing.
  • the global optimization method requires a lot of execution time, it has high edge preserving performance, less artifacts, and has better smoothing performance than the local filter method.
  • the global optimization approach uses several control parameters. Many techniques of global optimization adjust the smoothness of an image, for example, by changing the value of a control parameter.
  • the control parameter ⁇ of Total Variation hereinafter also referred to as “TV” balances the fidelity term and the TV term to adjust the smoothness of the gradation (see Non-Patent Documents 1 and 2, for example).
  • TV Total Variation
  • the control parameter ⁇ the total number of pixels in which edges exist is changed to adjust sharp edges (see, for example, Non-Patent Document 3).
  • the present invention aims to provide a technology that can independently adjust both the smoothness of gradation and the steepness of edges in edge-preserving smoothing by global optimization.
  • the smoothness of the gradation is changed by adjusting a first control parameter included in the weight of the non-convex function, which is a sparse regularization function of the non-convex function for the input signal. , by adjusting a second control parameter contained in the weight of said non-convex function, applying a sparse regularization function of the non-convex function that varies the steepness of the edges to solve the optimization problem by global optimization.
  • a signal processing apparatus comprising a control unit for generating an edge-preserving smoothed output signal from the input signal by calculating
  • One aspect of the present invention is a signal processing method performed by a signal processing device, which is a sparse regularization function that is a non-convex function for an input signal, and a first control parameter included in the weight of the non-convex function is applying a non-convex sparse regularization function that varies the smoothness of the gradation by adjusting and the steepness of the edges by adjusting a second control parameter contained in the weights of said non-convex function. and calculating a solution of an optimization problem by global optimization to generate an edge-preserving smoothed output signal from the input signal.
  • One aspect of the present invention is a signal processing program for causing a computer to execute the above signal processing device.
  • the present invention makes it possible to independently adjust both gradation smoothness and edge steepness in edge-preserving smoothing by global optimization.
  • FIG. 4 is a diagram comparing contour lines of the cusp norm according to the present embodiment with contour lines of the L 1 norm and the L p pseudo-norm, which are examples of other norms.
  • 2 is a block diagram showing the internal configuration of the signal processing device according to the embodiment;
  • FIG. 4 is a block diagram showing the internal configuration of a first variable updating unit according to the embodiment;
  • FIG. It is a block diagram which shows the internal structure of the 2nd variable update part by this embodiment.
  • It is a block diagram which shows the internal structure of the 3rd variable update part by this embodiment.
  • 4 is a flow chart showing the flow of processing by the signal processing device according to the embodiment; It is a figure (part 1) which shows the implementation result using the signal processing apparatus of this embodiment. It is a figure (part 2) which shows the implementation result using the signal processing apparatus of this embodiment.
  • FIG. 10 illustrates types of hedge-preserving smoothing methods;
  • the present invention aims to independently adjust both gradation smoothness and edge steepness in edge-preserving smoothing by global optimization.
  • the cusp norm which will be described later, to allow us to incorporate two parameters, one for adjusting the smoothness of the gradation and the other for adjusting the sharpness of the edge. is doing.
  • the cusp norm is a non-convex function, it generally takes a lot of computation time to solve the optimization problem formulated in edge-preserving smoothing by global optimization. is known, and a technique for solving this problem of computation time is proposed below.
  • An input color image signal having three channels of RGB is defined by the following equation (1) as an object of hedge preserving smoothing.
  • N N v ⁇ N h , where N v is the number of pixels in the vertical direction and N h is the number of pixels in the horizontal direction. Since there are three channels of red, green, and blue, the formula (1) is "3N".
  • the vector f is a column vector obtained by vertically scanning the input color image signal for each channel and accumulating them, and is hereinafter referred to as the input image signal vector f.
  • An output image signal vector x obtained by performing hedge preserving smoothing of the present embodiment on an input image signal vector f is defined by the following equation (2).
  • Equation (3) is an equation representing the edge-preserving smoothing optimization problem of this embodiment expressed using the input image signal vector f and the output image signal vector x.
  • Equation (3) The function of the second term in Equation (3) is the pointed star gradient (hereinafter also referred to as "PSG" (Pointed Star Gradient)).
  • PSG Pointed Star Gradient
  • the name "pointed star” is derived from the pointed star norm, which will be described later.
  • the subscript vector w of the function is a vector containing N weight parameters defined by the following equation (4).
  • the vector w is hereinafter referred to as a weight vector w.
  • the elements included in the output image signal vector x that is, the pixel values can be expressed as the following equation (5).
  • the subscript “i” is the pixel position in the vertical direction
  • the subscript “j” is the pixel position in the horizontal direction
  • the subscript “c” is the color, That is, red, blue, or green.
  • the function Grad( ⁇ ) is a function that calculates the gradient of each pixel of the image signal vector given as an argument.
  • the vec operator is an operator that vertically arranges each column of a matrix given as an argument.
  • c is a value of 1, 2, or 3, and indicates red, green, or blue.
  • Equation (6) the function ⁇ w ( ⁇ ) (where the subscript w is the weight vector w) is the ordered weighted L 1 -norm (hereinafter “OWL” (Ordered Weighted L 1 -norm)).
  • [n] is an operation that selects the n-th largest value of
  • is given a vector u as an argument, and is a vector whose elements are the absolute values of the elements of the vector u, that is, (
  • ) is an operation that generates a vector in which the elements of T are sorted in descending order.
  • the contour line indicated by reference numeral 51 indicates the lowest position.
  • the height of the contour line indicated by reference numeral 52 that is one outside the contour line indicated by reference numeral 51 is higher than the height of the contour line indicated by reference numeral 51. is higher than
  • an OWL with a non-negative, non-decreasing weight vector w will be referred to as a Pointed Star Norm (PSN) from the shape shown in FIG. 1(a).
  • PSN Pointed Star Norm
  • the cusp norm is a non-convex function, as can be seen from the shape shown in FIG. 1(a).
  • the cusp norm is a sparse regularization function with stronger sparsity regularizing properties than the L1 norm, which has the shape shown in Fig. 1 (b), which is most commonly used in sparse regularization, by virtue of being a non-convex function. be.
  • the contour lines on the outer side are higher than the contour lines on the inner side.
  • a weight vector w represented by the following equation (10), which introduces two control parameters, a control parameter ⁇ and a control parameter ⁇ , can be used.
  • vector 0 N is a vector of length N with all elements "0" and vector 1 N is a vector of length N with all elements "1".
  • the first ⁇ number is 0, and the following N- ⁇ number is a vector of ⁇ .
  • a portion with a large difference among adjacent differences has a multiplier of 0 and is not included in the optimization target, and a portion with a small difference has a multiplier. becomes ⁇ , which can be smoothed further.
  • the smoothness of the gradation can be adjusted by the control parameter ⁇ of the weight vector w, and the sharpness of the edge can be adjusted by the control parameter ⁇ .
  • the control parameter ⁇ is a real number equal to or greater than 0, and the greater the value, the smoother the gradation can be adjusted.
  • the control parameter ⁇ is an integer equal to or greater than 0, and can control the number of pixels with sharp edges.
  • control parameter ⁇ that adjusts the smoothness of the gradation, it is necessary to adjust the value while viewing the output image in which the output image signal vector x is displayed on the screen.
  • control parameter ⁇ for adjusting the sharpness of the edge an integer of about several percent of the number N of pixels is determined.
  • equation (3) In order to utilize ADMM, equation (3) needs to be transformed into a form in which ADMM can be applied. Therefore, a GPSL (Group Pointed Star L 1,2 -norm) function is defined as the following equation (11).
  • the vector y in equation (11) is a vector defined by the following equation (12).
  • Equation (14) matrix D is a matrix defined by Equation (15) below and is a discrete difference operator matrix with cyclic boundary conditions.
  • matrix B is a matrix defined by Equation (16) below, and is a 0-1 binary diagonal matrix with a cyclic boundary of 0 (see, for example, Non-Patent Document 3).
  • equation (3) By the transformation shown in equation (14), the optimization problem represented by equation (3) can be transformed into the following equation (17) that can utilize ADMM.
  • each of the equation (18), which is the update equation for the vector x (k+1) , and the equation (19), which is the update equation for the vector y (k+1) is It's an optimization problem. Therefore, a solution method for obtaining each solution will be described below.
  • the function F( ⁇ ) is the two-dimensional discrete Fourier transform
  • the function F * ( ⁇ ) is the two-dimensional inverse discrete Fourier transform
  • the matrix ⁇ is a diagonal matrix whose diagonal elements are the Fourier transform results of the Laplacian filter kernel. Therefore, the matrix of the following formula (22) included in the argument of F * ( ⁇ ) becomes a diagonal matrix, and the inverse matrix of formula (22) can be calculated by division for each element.
  • Equation (28) Equation (28) below.
  • the expression on the right side of expression (28) is defined as the following expression (30), and (p 1 (k) , ..., p N (k) ) is calculated by performing the operation on the right side of expression (30). can be done.
  • the function represented by the following formula (32) included in the right side of the formula (30) indicates that the calculation of projection onto the non-increasing monotone cone represented by the following formula (33) is performed.
  • formula (30) can be transformed into the following formula (35).
  • Equation (35) the function ( ⁇ ) + is a ramp function that clips its argument to non-negative values.
  • the matrix P (k) is a vector permutation matrix generated by sorting the elements of the vector v (k) in descending order, and has the relationship of the following equation (36).
  • step size ⁇ is updated as ⁇ (where 0 ⁇ 1) at each iteration. That is, updating is performed with the value obtained by multiplying the previous step size ⁇ by the attenuation rate ⁇ as the new step size ⁇ .
  • FIG. 2 is a block diagram showing the internal configuration of the signal processing device 1 that calculates the solution of the optimization problem of equation (17).
  • the signal processing device 1 includes a control unit 2.
  • the control unit 2 includes a first variable update unit 10, a second variable update unit 20, a third variable update unit 30, an update determination unit 40, and a step size update unit. 50.
  • the update determination unit 40 stores the value of "k" (hereinafter referred to as "step k") indicating the number of times of update processing in an internal storage area.
  • the update determination unit 40 outputs an instruction signal for updating the step size to the step size updating unit 50 at the timing of increasing the value of the step k.
  • the update determination unit 40 determines whether or not to continue updating the vector x as the first variable, the vector y as the second variable, and the vector d as the third variable according to a predetermined end condition. do.
  • the termination condition is, for example, that the value of step k at that time coincides with a predetermined upper limit of the number of updates.
  • the update determination unit 40 determines to continue the update process, it outputs the vector y (k) calculated one step before by the second variable update unit 20 to the first variable update unit 10, and performs the third variable update.
  • the vector d (k) calculated by the unit 30 one step before is output to the first variable updating unit 10 , the second variable updating unit 20 and the third variable updating unit 30 .
  • the update determination unit 40 determines not to continue the process of updating, at that time, the vector x (k+1) calculated by the first variable update unit 10 is output to the outside as the output image signal vector x. output and terminate the process.
  • the step size updating unit 50 takes in the step size ⁇ and the attenuation rate ⁇ given from the outside.
  • the step size updating unit 50 writes and stores the acquired step size ⁇ and attenuation factor ⁇ in its internal storage area. After writing the step size ⁇ to the internal storage area, the step size updating unit 50 outputs the written step size ⁇ to the first variable updating unit 10 and the second variable updating unit 20 .
  • the step size update unit 50 Upon receiving an instruction signal to update the step size from the update determination unit 40, the step size update unit 50 updates the step size ⁇ stored in the internal storage area based on the attenuation rate ⁇ .
  • the step size ⁇ is output to the first variable updater 10 and the second variable updater 20 .
  • the first variable update unit 10 takes in an externally supplied input image signal vector f, a step size ⁇ , a vector y (k) , and a vector d (k) .
  • the first variable updating unit 10 calculates the vector x (k+1) , which is the first variable, by performing the calculation of Equation (21).
  • FIG. 3 is a block diagram showing the internal configuration of the first variable updating unit 10.
  • the first variable update unit 10 includes a subtractor 101, a differential transpose calculator 102, an adder 103, a multiplier 104, an FFT (Fast Fourier Transform) unit 105, an inverse calculator 106, a coefficient generator 107, a multiplier 108 and an inverse An FFT unit 109 is provided.
  • Subtractor 101 subtracts vector d (k) calculated by third variable updating unit 30 from vector y (k) calculated by second variable updating unit 20 to calculate a subtraction value represented by the following equation (37). .
  • the difference transpose operation unit 102 stores the matrix D in advance in an internal storage area, and generates a matrix DT that is a transposed matrix of the matrix D stored in the internal storage area.
  • the difference transpose calculation unit 102 multiplies the generated matrix DT and the subtraction value calculated by the subtractor 101 to calculate the multiplication value shown in the following equation (38).
  • the reciprocal calculator 106 takes in the step size ⁇ and calculates the reciprocal of the step size ⁇ , that is, ⁇ ⁇ 1 .
  • Multiplier 104 multiplies the multiplied value calculated by differential transpose calculation section 102 and ⁇ ⁇ 1 calculated by reciprocal calculation section 106 to calculate the multiplied value.
  • the adder 103 adds the input image signal vector f and the multiplied value calculated by the multiplier 104 to calculate the added value shown in Equation (39).
  • FFT section 105 performs two-dimensional fast Fourier transform on the added value calculated by adder 103 .
  • Coefficient generation section 107 stores matrix I and matrix ⁇ in advance in an internal storage area, and based on matrix I and matrix ⁇ stored in the internal storage area and ⁇ ⁇ 1 calculated by reciprocal operation section 106 to generate the matrix of equation (22).
  • a multiplier 108 multiplies the output of the FFT section 105 and the matrix generated by the coefficient generating section 107 to calculate the multiplied value shown in the following equation (40).
  • the inverse FFT unit 109 performs two-dimensional inverse fast Fourier transform on the multiplied value calculated by the multiplier 108, that is, the calculation of equation (21) to calculate the vector x (k+1) as the first variable.
  • the second variable updating unit 20 updates the vector x (k+1), which is the first variable calculated by the first variable updating unit 10, and the vector x (k+1) , which is the third variable calculated one step before by the third variable updating unit 30. Take d (k) , the weight vector w, and the step size ⁇ .
  • the second variable update unit 20 calculates the vector y (k+1) , which is the second variable, by performing the calculation of the equation (24) applying the equations (27) and (35).
  • FIG. 4 is a block diagram showing the internal configuration of the second variable updating unit 20.
  • the second variable update unit 20 includes a difference calculation unit 201, an adder 202, a binary mask unit 203, an L2 norm calculation unit 204, a descending order sort unit 205, a permutation matrix generation unit 206, a multiplier 207, a subtractor 208, and a ramp function unit. 209 , an inverse permutation unit 210 , a coefficient generation unit 211 , an element product calculation unit 212 , a binary mask unit 213 , a binary mask unit 214 and an adder 215 .
  • the difference calculation unit 201 stores the matrix D in advance in an internal storage area, and multiplies the matrix D stored in the internal storage area by the vector x (k+1) calculated by the first variable updating unit 10 to obtain Calculate the multiplication value.
  • the adder 202 adds the multiplied value calculated by the difference calculator 201 and the vector d (k) calculated by the third variable updater 30 to calculate the added value shown in Equation (23).
  • Binary mask section 203 stores matrix B in advance in an internal storage area, and multiplies matrix B stored in the internal storage area by the addition value calculated by adder 202 to obtain the result shown in equation (26). Calculate the multiplication value.
  • the L2 norm calculation unit 204 is a calculation unit that calculates the L2 norm for each pixel, and calculates the vector v (k) shown in Equation (29) from the multiplication value calculated by the binary mask unit 203.
  • the descending order sorting unit 205 sorts the elements of the vector, whose elements are the absolute values of the elements included in the vector v (k) calculated by the L2 norm calculating unit 204, in descending order to obtain a vector a ( k) .
  • Permutation matrix generation section 206 generates matrix P (k) which is a permutation matrix of vector a ( k) from vector v (k) generated by L2 norm calculation section 204 .
  • Multiplier 207 multiplies weight vector w and step size ⁇ to calculate a multiplied value shown in the following equation (42).
  • Subtractor 208 calculates a subtraction value by subtracting the multiplication value calculated by multiplier 207 from vector a (k) generated by descending order sorting section 205 .
  • the ramp function unit 209 performs an operation of clipping the subtraction value calculated by the subtractor 208 to a non-negative value, and calculates the operation result shown in the following equation (43).
  • Inverse permutation section 210 generates matrix P (k)T , which is a transposed matrix of matrix P ( k) generated by permutation matrix generation section 206 .
  • the inverse permutation unit 210 multiplies the generated matrix P (k)T and the output of the ramp function unit 209 to calculate the vector p (k) given by the following equation (44).
  • the coefficient generation unit 211 generates coefficients q n ( k) is calculated.
  • the element product calculation unit 212 calculates a value represented by the following equation (46) based on the multiplied value represented by the equation (26) calculated by the binary mask unit 203 and the coefficient q n (k) generated by the coefficient generation unit 211. Calculate the vector z (k)
  • the binary mask unit 213 stores the matrix B in advance in the internal storage area, and multiplies the matrix B stored in the internal storage area by the vector z (k) calculated by the element product operation unit 212. Calculate the value.
  • the binary mask unit 214 stores in advance the matrix (IB) obtained by subtracting the matrix B from the matrix I in the internal storage area. Calculates the multiplication value by multiplying the addition value calculated by .
  • Adder 215 adds the output of binary mask section 213 and the multiplied value calculated by binary mask section 214 to calculate vector y (k+1) , which is the second variable shown in the following equation (48).
  • the third variable updating unit 30 updates the vector x (k+1) , which is the first variable calculated by the first variable updating unit 10, and the vector y (k+1) , which is the second variable calculated by the second variable updating unit 20. , and the vector d (k) calculated one step before by the third variable updating unit 30 .
  • the third variable updating unit 30 calculates the vector d (k+1) , which is the third variable, by performing the calculation of Equation (20).
  • FIG. 5 is a block diagram showing the internal configuration of the third variable updating unit 30.
  • the third variable updating unit 30 has a difference calculating unit 301 , an adder 302 and a subtractor 303 .
  • the difference calculation unit 301 stores the matrix D in advance in an internal storage area, and multiplies the matrix D stored in the internal storage area by the vector x (k+1) calculated by the first variable updating unit 10 to obtain Calculate the multiplication value.
  • the adder 302 adds the vector d (k) calculated one step before by the subtractor 303 and the multiplied value calculated by the difference calculation unit 301 to calculate an addition value.
  • the subtractor 303 subtracts the vector y (k+1) calculated by the second variable updating unit 20 from the added value calculated by the adder 302 to calculate the vector d (k+1) which is the third variable.
  • FIG. 6 is a flow chart showing the flow of processing by the signal processing unit 1.
  • the first variable update unit 10 and the update determination unit 40 of the signal processing unit 1 take in the input image signal vector f given from the outside.
  • the second variable updating unit 20 takes in a weight vector w in which the externally provided control parameter ⁇ and the control parameter ⁇ are predetermined.
  • the step size updating unit 50 takes in the step size ⁇ and the attenuation rate ⁇ given from the outside (step S1).
  • the update determination unit 40 multiplies the matrix D prestored in the internal storage area by the captured input image signal vector f to calculate the multiplied value shown in the following equation (49).
  • the update determination unit 40 sets the calculated multiplied values as the vector y (0) , which is the initial value of the second variable, and the vector d (0) , which is the initial value of the third variable.
  • the update determination unit 40 initializes step k to "0" (step S2).
  • the update determination unit 40 determines that the end condition is not satisfied because the value of step k does not match the predetermined upper limit of the number of updates (step S3, No), and the initial value of the second variable A certain vector y (0) is output to the first variable updating unit 10, and the vector d (0) , which is the initial value of the third variable, is output to the first variable updating unit 10, the second variable updating unit 20, and the third variable It is output to the updating unit 30.
  • the subtractor 101 takes in the vector y (k) and the vector d (k) output by the update determination unit 40.
  • FIG. Subtractor 101 subtracts vector d ( k) from vector y(k) to calculate a subtraction value shown in equation (37).
  • the subtractor 101 outputs the calculated subtraction value to the difference transposition calculation section 102 .
  • the differential transpose calculation unit 102 generates a matrix DT that is a transposed matrix of the matrix D stored in the internal storage area.
  • the difference transpose calculation unit 102 multiplies the generated matrix DT and the subtraction value calculated by the subtractor 101 to calculate the multiplication value shown in Equation (38).
  • the difference transposition calculation unit 102 outputs the calculated multiplication value to the multiplier 104 .
  • the reciprocal calculation unit 106 in parallel with the processing performed by the adder 101 and the differential transposition calculation unit 102, takes in the step size ⁇ given from the outside.
  • the reciprocal calculation unit 106 calculates ⁇ ⁇ 1 which is the reciprocal of the captured step size ⁇ .
  • Reciprocal calculation section 106 outputs the calculated ⁇ ⁇ 1 to multiplier 104 and coefficient generation section 107 .
  • Multiplier 104 calculates the multiplied value by multiplying the multiplied value of equation (38) output from differential transpose calculation unit 102 and ⁇ ⁇ 1 output from reciprocal calculation unit 106, and the calculated multiplied value is added to the adder.
  • the adder 103 takes in an externally applied input image signal vector f.
  • the adder 103 adds the fetched input image signal vector f and the multiplied value output from the multiplier 104 to calculate the added value shown in Equation (39).
  • Adder 103 outputs the calculated addition value to FFT section 105 .
  • FFT section 105 performs a two-dimensional fast Fourier transform operation on the added value of equation (39) output from adder 103 and outputs the operation result to multiplier 108 .
  • the coefficient generation unit 107 In parallel with the processing performed by the multiplier 104, the adder 103, and the FFT unit 105, the coefficient generation unit 107 generates ⁇ ⁇ 1 output from the reciprocal operation unit 106, the matrix I and the matrix ⁇ stored in the internal storage area. generates the matrix of equation (22).
  • Coefficient generation section 107 outputs the generated matrix to multiplier 108 .
  • Multiplier 108 multiplies the calculation result output from FFT section 105 by the matrix of formula (22) output from coefficient generation section 107 to calculate the multiplied value shown in formula (40). Multiplier 108 outputs the calculated multiplied value to inverse FFT section 109 .
  • Inverse FFT section 109 performs two-dimensional inverse fast Fourier transform shown in equation (21) on the multiplied value of equation (40) output from multiplier 108 to calculate the first variable vector (k+1) .
  • the inverse FFT unit 109 outputs the calculated vector (k+1) to the second variable update unit 20, the third variable update unit 30, and the update determination unit 40 (step S5).
  • the difference calculation unit 201 multiplies the matrix D stored in the internal storage area by the vector x (k+1) output by the inverse FFT unit 109 of the first variable update unit 10 Calculate the value.
  • Difference calculation section 201 outputs the calculated multiplication value to adder 202 .
  • the adder 202 adds the vector d (k) output from the update determination unit 40 and the multiplied value output from the difference calculation unit 201 to calculate the added value shown in Equation (23).
  • the adder 202 outputs the calculated added value to the binary mask section 203 and the binary mask section 214 (step S6).
  • Binary mask section 203 multiplies matrix B stored in an internal storage area by the added value output from adder 202 to calculate the multiplied value shown in equation (26).
  • the binary mask unit 203 outputs the calculated multiplication value to the L2 norm calculation unit 204 and the element product calculation unit 212 (step S7).
  • L2 norm calculation section 204 calculates vector v (k) shown in equation (29) from the multiplied value output from binary mask section 203 .
  • L2 norm calculator 204 outputs the calculated vector v (k) to permutation matrix generator 206 , descending order sorter 205 , and coefficient generator 211 .
  • the descending order sorting unit 205 sorts the elements of the vector, whose elements are the absolute values of the elements included in the vector v (k) output from the L2 norm calculating unit 204, in descending order to obtain the vector a (k) shown in Equation (41). to generate The descending order sorting unit 205 outputs the generated vector a (k) to the subtractor 208 (step S8).
  • the multiplier 207 takes in the weight vector w given from the outside and the step size ⁇ in parallel with the processing of steps S6 to S8. Multiplier 207 multiplies weight vector w and step size ⁇ to calculate a multiplied value shown in equation (42). The multiplier 207 outputs the calculated multiplied value to the subtractor 208 (step S9).
  • a subtractor 208 calculates a subtraction value by subtracting the multiplied value calculated by the multiplier 207 from the vector a (k) output by the descending order sorting unit 205 .
  • Subtractor 208 outputs the calculated subtraction value to ramp function section 209 .
  • the ramp function unit 209 performs the calculation shown in Equation (43) for clipping the subtracted value output from the subtractor 208 to a non-negative value, and outputs the calculation result to the inverse replacement unit 210 (step S10).
  • the permutation matrix generation unit 206 generates a matrix P (k) , which is a permutation matrix of the vector a (k ) from the vector v(k) output by the L2 norm calculation unit 204, in parallel with the process of step S10.
  • the permutation matrix generation unit 206 outputs the generated matrix P (k) to the inverse permutation unit 210 (step S11).
  • Inverse permutation section 210 generates matrix P (k)T , which is a transposed matrix of matrix P (k) output by permutation matrix generation section 206 .
  • the inverse permutation unit 210 multiplies the generated matrix P (k)T by the calculation result of the calculation of the formula (43) output by the ramp function unit 209, and obtains the multiplied value as the vector p (k ) is calculated.
  • the inverse permutation unit 210 outputs the calculated vector p (k) to the coefficient generation unit 211 (step S12).
  • Coefficient generating section 211 generates coefficient q n (k) expressed by equation (45) based on vector v (k) output from L2 norm computing section 204 and vector p (k) output from inverse permuting section 210. Calculate The coefficient generator 211 outputs the calculated coefficient q n (k) to the element product calculator 212 (step S13).
  • Element product calculation section 212 performs the calculation shown in formula (47) based on the multiplied value shown by formula (26) output from binary mask section 203 and the coefficient q n (k) output from coefficient generation section 211. to calculate the vector z (k) shown in equation (46).
  • the element product calculation unit 212 outputs the calculated vector z (k) to the binary mask unit 213 (step S14).
  • the binary mask unit 214 multiplies the matrix (IB) stored in the internal storage area by the addition value calculated by the adder 202 and represented by the equation (23). to calculate the multiplication value.
  • Binary mask section 214 outputs the calculated multiplication value to adder 215 .
  • the binary mask unit 213 multiplies the matrix B stored in the internal storage area by the vector z (k) output by the element product operation unit 212, and obtains the multiplied value. calculate.
  • Binary mask section 213 outputs the calculated multiplication value to adder 215 .
  • the adder 215 adds the multiplied value output from the binary masking unit 213 and the multiplied value output from the binary masking unit 214, and performs the operation shown in equation (48) to obtain the second variable vector y (k+1) . calculate.
  • the adder 215 outputs the calculated vector y (k+1) to the third variable update unit 30 and the update determination unit 40 (step S15).
  • the difference calculation unit 301 multiplies the matrix D stored in the internal storage area by the vector x (k+1) output by the inverse FFT unit 109 of the first variable update unit 10, and multiplies Calculate the value.
  • Difference calculation section 301 outputs the calculated multiplication value to adder 302 .
  • the adder 302 adds the vector d (k) output from the update determination unit 40 and the multiplication value output from the difference calculation unit 301 to calculate an addition value.
  • Adder 302 outputs the calculated addition value to subtractor 303 .
  • the subtractor 303 subtracts the vector y (k+1) output by the adder 215 of the second variable updating unit 20 from the added value output by the adder 302 to calculate the vector d (k+1) as the third variable.
  • the subtractor 303 outputs the calculated vector d (k+1) to the update determination unit 40 (step S16).
  • the update determination unit 40 determines the vector x (k+1) output by the first variable update unit 10, the vector y (k+1) output by the second variable update unit 20, and the vector d ( k+1) output by the third variable update unit 30. k+1) , the value of step k stored in the internal storage area is read out, "1" is added to the read value, and the value after the addition is set as the new value of step k, and stored in the internal storage area. Write down and memorize.
  • the update determination section 40 outputs an instruction signal for updating the step size to the step size updating section 50 .
  • the step size update unit 50 Upon receiving an instruction signal to update the step size from the update determination unit 40, the step size update unit 50 multiplies the step size ⁇ stored in the internal storage area by the attenuation factor ⁇ to calculate ⁇ . The step size update unit 50 rewrites the step size ⁇ stored in the internal storage area to ⁇ in order to set the calculated ⁇ as the new step size ⁇ . After rewriting the step size ⁇ in the internal storage area to ⁇ , the step size updating unit 50 outputs the rewritten step size ⁇ to the first variable updating unit 10 and the second variable updating unit 20 (step S17 ).
  • the update determination unit 40 performs the determination process of step S3 again. If the update determination unit 40 determines that the value of step k at that point in time matches the predetermined upper limit of the number of updates and that the end condition is satisfied (step S3, Yes), at that point , the vector x (k+1) taken in is output to the outside as the output image signal vector x (step S4), and the process is terminated.
  • step S3 determines that the value of step k at that time does not match the predetermined upper limit of the number of updates and does not satisfy the termination condition (step S3, No).
  • the fetched vector y (k+1) is output to the first variable updater 10
  • the vector d (k+1) is transferred to the first variable updater 10, the second variable updater 20, and the third variable updater. 30, and the processing after step S5 is performed again.
  • FIGS. 7 and 8 are diagrams showing the results of edge preserving smoothing performed using the signal processing apparatus 1 described above.
  • FIGS. 7(a) and 8(a) show results obtained when the control parameter ⁇ for adjusting edge steepness is set to approximately 8% of the number of pixels N
  • FIGS. 7(b) and 8( b) is an implementation result when the control parameter ⁇ is set to about 4% of the number N of pixels.
  • images indicated by reference numerals 60a, 60b, 70a, and 70b are images displayed on the screen of the output image signals obtained after performing the edge-preserving smoothing process under each condition.
  • the graphs indicated by reference numerals 62a, 62b, 72a, and 72b are respectively the line of reference numeral 61a in the image 60a, the line of reference numeral 61b in the image 60b, the line of reference numeral 71a in the image 70a, and the reference numeral 71b in the image 70b. is a graph obtained by plotting the values of the luminance signal on the line of .
  • the solid lines in the graphs indicated by reference numerals 62a, 62b, 72a, and 72b indicate the luminance signal values of the input image signal, and the dotted lines indicate the luminance signal values of the output image signal.
  • smoothing is performed in which the smoothness of the gradation is lost as the control parameter ⁇ increases.
  • FIGS. 7(a) and 7(b), or between FIGS. 8(a) and 8(b) as the control parameter ⁇ becomes smaller, the sharpness of the edge decreases. It can be seen that the smoothing performed by
  • the signal processing apparatus 1 adjusts the control parameter ⁇ , which is a sparse regularization function of a non-convex function for the input image signal and is the first control parameter included in the weight of the non-convex function.
  • the signal processing apparatus 1 of the present embodiment performs processing for solving an optimization problem including the cuspate norm of a non-convex function. It is possible to do edge-preserving smoothing by global optimization with sparse regularization performance stronger than and milder than the L 0 pseudo-norm, but as robust as the L 1 norm .
  • having robustness equivalent to the L 1 norm means that even if each element of the input takes a minute value compared to the L 0 norm, it does not react sensitively and is appropriately sparse. It has the ability to regularize.
  • the update determination unit 40 sets the end condition that the value of step k at that time coincides with the predetermined upper limit of the number of updates.
  • the norm of the amount of change of the vector x (k) obtained by the following equation (50) may be equal to or less than a predetermined value as a termination condition for the determination processing in step S3 of FIG.
  • the following equation (51) is used as the objective function, and the change amount of the objective function obtained by the following equation (52) may be equal to or less than a predetermined value as the end condition of the determination process in step S3 of FIG.
  • the FFT unit 105 may perform a two-dimensional discrete Fourier transform instead of the two-dimensional fast Fourier transform, and the inverse FFT unit 109 may perform two-dimensional inverse fast Fourier transform, A two-dimensional inverse discrete Fourier transform may be performed.
  • the image signal to be processed is a color image signal having three channels of RGB.
  • a color image signal having four channels of CYMK may be used as an image signal to be processed, or a monochrome image signal of one channel may be used as an image signal to be processed.
  • N c 3
  • CMYK color image signals 4
  • Equation (5) becomes “N v ⁇ N h ⁇ N c ”.
  • N c the numerical values indicating the range of symbol ⁇ in equation (7)
  • “3” above ⁇ becomes “N c ”.
  • the subscript “6N” in equation (12) becomes “2NN c ".
  • the subscript “6N ⁇ 3N” in equation (15) becomes “2NN c ⁇ NN c ”.
  • the subscript “6N ⁇ 6N” in equation (16) becomes “2NN c ⁇ 2NN c ”.
  • the suffix "3N” becomes " NNc " as in formula (2).
  • the suffix "6N” becomes "2NN c " as in formula (12).
  • the signal processing apparatus 1 performs edge-preserving smoothing on an image signal, that is, a two-dimensional signal, but a one-dimensional signal such as a communication signal may be processed. A similar effect can be obtained for
  • the signal processing device 1 in the above-described embodiment may be realized by a computer.
  • a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read into a computer system and executed.
  • the "computer system” referred to here includes hardware such as an OS and peripheral devices.
  • the term "computer-readable recording medium” refers to portable media such as flexible discs, magneto-optical discs, ROMs and CD-ROMs, and storage devices such as hard discs incorporated in computer systems.
  • “computer-readable recording medium” means a medium that dynamically retains a program for a short period of time, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. It may also include something that holds the program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or client in that case. Further, the program may be for realizing a part of the functions described above, or may be capable of realizing the functions described above in combination with a program already recorded in the computer system. It may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array

Landscapes

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

Abstract

This signal processing device is provided with a control unit for generating, from an input signal, an output signal that has undergone edge-preserving smoothing by: applying, to the input signal, a sparse regularization function which is a nonconvex function and which changes the smoothness of gradation by adjusting a first control parameter included in weights of the nonconvex function and changes the steepness of an edge by adjusting a second control parameter included in the weights of the nonconvex function; and calculating a solution to an optimization problem using global optimization.

Description

信号処理装置、信号処理方法及び信号処理プログラムSIGNAL PROCESSING DEVICE, SIGNAL PROCESSING METHOD AND SIGNAL PROCESSING PROGRAM
 本発明は、信号処理装置、信号処理方法及び信号処理プログラムに関する。 The present invention relates to a signal processing device, a signal processing method, and a signal processing program.
 エッジ保存平滑化は、画像処理における重要な処理の1つである。エッジ保存平滑化は、エッジや輪郭を捉えて画像の構造を明確にし、重要でないディテールを滑らかにする。エッジ保存平滑化は、画質を向上させるだけでなく、輪郭抽出、セグメンテーション、スタイル変換などの様々な画像処理の前処理として用いられる。そのため、これまでに、図9に示すような様々なエッジ保存平滑化の手法が提案されてきている。 Edge-preserving smoothing is one of the important processes in image processing. Edge-preserving smoothing captures edges and contours to reveal image structure and smooth out unimportant details. Edge-preserving smoothing not only improves image quality, but is also used as preprocessing for various image processing such as contour extraction, segmentation, and style conversion. Therefore, various edge-preserving smoothing techniques have been proposed so far, as shown in FIG.
 図9に示すように、エッジ保存平滑化の手法は、局所的フィルタによる手法と、大域的最適化による手法とに分類される。大域的最適化による手法は、画像全体の統計的性質を利用して最適化問題を立式し、解を求めて出力を算出することによりエッジ保存平滑化を行う。大域的最適化による手法は、多くの実行時間を要するが、エッジ保存の性能が高く、アーティファクトも生じ難く、局所的フィルタによる手法よりも平滑化性能に優れている。 As shown in FIG. 9, the edge-preserving smoothing technique is classified into a local filter technique and a global optimization technique. Global optimization methods use the statistical properties of the entire image to formulate an optimization problem, find a solution, and calculate the output to perform edge-preserving smoothing. Although the global optimization method requires a lot of execution time, it has high edge preserving performance, less artifacts, and has better smoothing performance than the local filter method.
 大域的最適化による手法では、幾つかの制御パラメータが用いられる。大域的最適化の多くの手法では、例えば、制御パラメータの値を変えることにより、画像の滑らかさを調整する。例えば、Total Variation(以下「TV」ともいう)の制御パラメータλは、忠実化項とTV項のバランスを取って、グラデーションの滑らかさを調整する(例えば、非特許文献1、2参照)。これに対して、L勾配射影では、制御パラメータαを変えることにより、エッジが存在する総画素数を変えて、急峻なエッジを調整する(例えば、非特許文献3参照)。 The global optimization approach uses several control parameters. Many techniques of global optimization adjust the smoothness of an image, for example, by changing the value of a control parameter. For example, the control parameter λ of Total Variation (hereinafter also referred to as “TV”) balances the fidelity term and the TV term to adjust the smoothness of the gradation (see Non-Patent Documents 1 and 2, for example). On the other hand, in the L0 gradient projection, by changing the control parameter α, the total number of pixels in which edges exist is changed to adjust sharp edges (see, for example, Non-Patent Document 3).
 しかしながら、グラデーションの滑らかさとエッジの急峻さの両方を調整する大域的最適化の手法は、存在していない。そのため、グラデーションの滑らかさを調整する大域的最適化の手法を用いてグラデーションの滑らかさを強くすると、エッジが鈍ってぼやけた出力になるという問題がある。一方、エッジの急峻さを調整する大域的最適化の手法を用いてエッジの急峻さを強くすると、グラデーションが擬似輪郭に劣化してしまうという問題がある。 However, there is no global optimization method that adjusts both gradation smoothness and edge steepness. Therefore, if the smoothness of the gradation is strengthened using a global optimization method that adjusts the smoothness of the gradation, there is a problem that the edges become dull and the output becomes blurred. On the other hand, if the sharpness of the edge is strengthened by using the global optimization method for adjusting the steepness of the edge, there is a problem that the gradation deteriorates into a false contour.
 上記事情に鑑み、本発明は、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することができる技術の提供を目的としている。 In view of the above circumstances, the present invention aims to provide a technology that can independently adjust both the smoothness of gradation and the steepness of edges in edge-preserving smoothing by global optimization.
 本発明の一態様は、入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する制御部を備える信号処理装置である。 According to one aspect of the present invention, the smoothness of the gradation is changed by adjusting a first control parameter included in the weight of the non-convex function, which is a sparse regularization function of the non-convex function for the input signal. , by adjusting a second control parameter contained in the weight of said non-convex function, applying a sparse regularization function of the non-convex function that varies the steepness of the edges to solve the optimization problem by global optimization. A signal processing apparatus comprising a control unit for generating an edge-preserving smoothed output signal from the input signal by calculating
 本発明の一態様は、信号処理装置が行う信号処理方法であって、入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する信号処理方法である。 One aspect of the present invention is a signal processing method performed by a signal processing device, which is a sparse regularization function that is a non-convex function for an input signal, and a first control parameter included in the weight of the non-convex function is applying a non-convex sparse regularization function that varies the smoothness of the gradation by adjusting and the steepness of the edges by adjusting a second control parameter contained in the weights of said non-convex function. and calculating a solution of an optimization problem by global optimization to generate an edge-preserving smoothed output signal from the input signal.
 本発明の一態様は、上記の信号処理装置としてコンピュータを実行させるための信号処理プログラムである。 One aspect of the present invention is a signal processing program for causing a computer to execute the above signal processing device.
 本発明により、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することが可能になる。 The present invention makes it possible to independently adjust both gradation smoothness and edge steepness in edge-preserving smoothing by global optimization.
本実施形態による尖星ノルムの等高線と、他のノルムの例であるLノルム及びL擬似ノルムの等高線とを比較した図である。FIG. 4 is a diagram comparing contour lines of the cusp norm according to the present embodiment with contour lines of the L 1 norm and the L p pseudo-norm, which are examples of other norms. 本実施形態による信号処理装置の内部構成を示すブロック図である。2 is a block diagram showing the internal configuration of the signal processing device according to the embodiment; FIG. 本実施形態による第1変数更新部の内部構成を示すブロック図である。4 is a block diagram showing the internal configuration of a first variable updating unit according to the embodiment; FIG. 本実施形態による第2変数更新部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the 2nd variable update part by this embodiment. 本実施形態による第3変数更新部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the 3rd variable update part by this embodiment. 本実施形態による信号処理装置による処理の流れを示すフローチャートである。4 is a flow chart showing the flow of processing by the signal processing device according to the embodiment; 本実施形態の信号処理装置を用いた実施結果を示す図(その1)である。It is a figure (part 1) which shows the implementation result using the signal processing apparatus of this embodiment. 本実施形態の信号処理装置を用いた実施結果を示す図(その2)である。It is a figure (part 2) which shows the implementation result using the signal processing apparatus of this embodiment. ヘッジ保存平滑化法の種類を示す図である。FIG. 10 illustrates types of hedge-preserving smoothing methods;
 以下、本発明の実施形態について図面を参照して説明する。本発明は、上記したように、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することを目的としている。この目的を達成するために、グラデーションの滑らかさを調整するパラメータと、エッジの急峻さを調整するパラメータという2つのパラメータとを取り入れることを可能にするため、後述する尖星ノルムを用いることを提案している。また、この尖星ノルムは、非凸関数であることから、大域的最適化によるエッジ保存平滑化において立式される最適化問題を解くためには、一般的に非常に多くの計算時間を要することが知られており、この計算時間の問題を解決する手法を以下において提案している。最初に、本実施形態において用いる大域的最適化によるエッジ保存平滑化の手法において立式した最適化問題と、その解法について説明する。ヘッジ保存平滑化の対象として、RGBの3チャンネルを有する入力カラー画像信号を次式(1)により定義する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. As described above, the present invention aims to independently adjust both gradation smoothness and edge steepness in edge-preserving smoothing by global optimization. To this end, we propose to use the cusp norm, which will be described later, to allow us to incorporate two parameters, one for adjusting the smoothness of the gradation and the other for adjusting the sharpness of the edge. is doing. In addition, since the cusp norm is a non-convex function, it generally takes a lot of computation time to solve the optimization problem formulated in edge-preserving smoothing by global optimization. is known, and a technique for solving this problem of computation time is proposed below. First, the optimization problem formulated in the method of edge-preserving smoothing by global optimization used in this embodiment and its solution will be described. An input color image signal having three channels of RGB is defined by the following equation (1) as an object of hedge preserving smoothing.
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000005
 式(1)においてN=N×Nであり、Nは、縦方向の画素数であり、Nは、横方向の画素数である。なお、赤、緑、青の3つのチャンネルが存在するため、式(1)では「3N」になっている。式(1)においてベクトルfは、入力カラー画像信号をチャンネル毎に縦方向に走査して積み上げた列ベクトルであり、以下、入力画像信号ベクトルfという。入力画像信号ベクトルfに対して、本実施形態のヘッジ保存平滑化を行うことにより得られる出力画像信号ベクトルxを次式(2)により定義する。 In equation (1), N=N v ×N h , where N v is the number of pixels in the vertical direction and N h is the number of pixels in the horizontal direction. Since there are three channels of red, green, and blue, the formula (1) is "3N". In equation (1), the vector f is a column vector obtained by vertically scanning the input color image signal for each channel and accumulating them, and is hereinafter referred to as the input image signal vector f. An output image signal vector x obtained by performing hedge preserving smoothing of the present embodiment on an input image signal vector f is defined by the following equation (2).
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000006
 次式(3)は、上記の入力画像信号ベクトルfと、出力画像信号ベクトルxとを用いて表した本実施形態のエッジ保存平滑化の最適化問題を示す式である。 The following equation (3) is an equation representing the edge-preserving smoothing optimization problem of this embodiment expressed using the input image signal vector f and the output image signal vector x.
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000007
 式(3)の第2項の関数は、尖星勾配(以下「PSG」(Pointed Star Gradient)ともいう)である。「尖星」の名称は、後述する尖星ノルムに由来している。当該関数の添え字のベクトルwは、次式(4)により定義されるN個の重みパラメータを含むベクトルである。以下、ベクトルwを、重みベクトルwという。 The function of the second term in Equation (3) is the pointed star gradient (hereinafter also referred to as "PSG" (Pointed Star Gradient)). The name "pointed star" is derived from the pointed star norm, which will be described later. The subscript vector w of the function is a vector containing N weight parameters defined by the following equation (4). The vector w is hereinafter referred to as a weight vector w.
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000008
 ここで、出力画像信号ベクトルxに含まれる要素、すなわち画素値は、次式(5)として表すことができる。 Here, the elements included in the output image signal vector x, that is, the pixel values can be expressed as the following equation (5).
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000009
 式(5)において、添え字の「i」は、縦方向の画素の位置であり、添え字の「j」は、横方向の画素の位置であり、添え字の「c」は、カラー、すなわち、赤、青、緑のいずれかである。 In equation (5), the subscript “i” is the pixel position in the vertical direction, the subscript “j” is the pixel position in the horizontal direction, and the subscript “c” is the color, That is, red, blue, or green.
 式(3)の第2項の関数は、次式(6)として定義される。 The function of the second term of formula (3) is defined as the following formula (6).
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000010
 式(6)において、関数Grad(・)は、引数として与えられる画像信号ベクトルの各画素における勾配を算出する関数である。vec演算子は、引数として与えられる行列の各列を縦に並べる演算子である。関数Grad(・)に対して、式(5)の出力画像信号ベクトルxを引数として与えた場合、画素の位置「i」、「j」における関数Grad(・)の出力は、次式(7)となる。 In Expression (6), the function Grad(·) is a function that calculates the gradient of each pixel of the image signal vector given as an argument. The vec operator is an operator that vertically arranges each column of a matrix given as an argument. When the output image signal vector x of the formula (5) is given as an argument to the function Grad(·), the output of the function Grad(·) at the pixel positions “i” and “j” is given by the following formula (7 ).
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000011
 ただし、式(7)においてi+1>Nの場合、xi+1,j,c-xi,j,c=0とし、j+1>Nの場合、xi,j+1,c-xi,j,c=0としている。また、式(7)において、cは、1,2,3のいずれかの値であり、赤、緑、青のいずれかを示している。 However, if i+1>N v in Equation (7), x i+1,j,c −x i,j,c =0, and if j+1>N h , x i,j+1,c −x i,j, c =0. Also, in equation (7), c is a value of 1, 2, or 3, and indicates red, green, or blue.
 式(6)において、関数Ω(・)(ただし、添え字のwは重みベクトルwである)は、以下の参考文献1に示される順序付き加重Lノルム(以下「OWL」(Ordered Weighted L1-norm)という)である。 In equation (6), the function Ω w (·) (where the subscript w is the weight vector w) is the ordered weighted L 1 -norm (hereinafter “OWL” (Ordered Weighted L 1 -norm)).
「参考文献1:X. Zeng and M.A. Figueiredo, “The ordered weighted L1 norm: Atomic formulation, projections, and algorithms”,arXiv:1409.4271,pp.1-13,2014」 “Reference 1: X. Zeng and MA Figueiredo, “The ordered weighted L 1 norm: Atomic formulation, projections, and algorithms”, arXiv:1409.4271, pp.1-13, 2014”
 関数Ω(・)の引数としてN個の要素を有するベクトルu=(u,u,…,uを与えた場合、関数Ω(・)は、次式(8)として表される。 When a vector u = ( u 1 , u 2 , . expressed.
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000012
 式(8)において|・|[n]の演算は、引数としてベクトルuが与えられると、|u|,|u|,…,|u|のn番目に大きい値を選択する演算である。式(8)において、関数|・|は、引数としてベクトルuが与えられると、ベクトルuの要素の絶対値を要素とするベクトル、すなわち(|u|,|u|,…,|u|)の要素を降順にソートしたベクトルを生成する演算である。 In equation (8), the operation |·| [n] is an operation that selects the n-th largest value of |u 1 |, |u 2 |, ..., |u N | when a vector u is given as an argument. is. In equation (8), the function |·| is given a vector u as an argument, and is a vector whose elements are the absolute values of the elements of the vector u, that is, (|u 1 |, |u 2 |, ..., | u N |) is an operation that generates a vector in which the elements of T are sorted in descending order.
 関数Ω(・)の重みベクトルwの要素を非負非減少、すなわち(0≦w≦w≦…≦w)にすると、OWLのグラフの等高線は、図1(a)に示す形状になる。なお、図1(a)において、符号51で示す等高線が最も低い位置を示している。符号51で示す等高線の1つ外側にある符号52で示す等高線の高さは、符号51で示す等高線の高さよりも高くなっており、順に、外側の等高線の高さが、内側の等高線の高さよりも高くなっている。以下、重みベクトルwが非負非減少のOWLを、図1(a)に示す形状より尖星ノルム(以下、PSN(Pointed Star Norm)ともいう)という。 If the elements of the weight vector w of the function Ω w (·) are non-negative and non - decreasing, that is, (0≦w 1 ≦w 2 ≦ . become. In FIG. 1A, the contour line indicated by reference numeral 51 indicates the lowest position. The height of the contour line indicated by reference numeral 52 that is one outside the contour line indicated by reference numeral 51 is higher than the height of the contour line indicated by reference numeral 51. is higher than Hereinafter, an OWL with a non-negative, non-decreasing weight vector w will be referred to as a Pointed Star Norm (PSN) from the shape shown in FIG. 1(a).
 尖星ノルムは、図1(a)に示す形状から分かるように、非凸関数である。尖星ノルムは、非凸関数であることにより、スパース正則化で最もよく用いられる図1(b)で示される形状を有するLノルムよりも強いスパース正則化の性質を有するスパース正則化関数である。次式(9)で表され、図1(c)の形状を有するL擬似ノルムというノルムが存在するが、尖星ノルムは、L擬似ノルムの近似関数ということができる。なお、図1(b),(c)においても、図1(a)と同様に、外側の等高線の高さが、内側の等高線の高さよりも高くなっている。 The cusp norm is a non-convex function, as can be seen from the shape shown in FIG. 1(a). The cusp norm is a sparse regularization function with stronger sparsity regularizing properties than the L1 norm, which has the shape shown in Fig. 1 (b), which is most commonly used in sparse regularization, by virtue of being a non-convex function. be. There is a norm called the Lp pseudo -norm represented by the following equation (9) and having the shape of FIG. In FIGS. 1(b) and 1(c), as in FIG. 1(a), the contour lines on the outer side are higher than the contour lines on the inner side.
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000013
 尖星ノルムを用いることにより、尖星勾配は、大きな勾配の画素に対して小さな重みの正則化を課することになる。そのため、尖星ノルムでは、制御パラメータλと、制御パラメータαの2つの制御パラメータを導入した次式(10)で表される重みベクトルwを用いることができる。 By using the cusp norm, the cusp gradient imposes a small weight regularization on pixels with large gradients. Therefore, in the cusp norm, a weight vector w represented by the following equation (10), which introduces two control parameters, a control parameter λ and a control parameter α, can be used.
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000014
 式(10)において、ベクトル0は、全ての要素が「0」である長さNのベクトルであり、ベクトル1は、全ての要素が「1」である長さNのベクトルである。先頭のα個は0、続くN-α個がλのベクトルであり、隣接差分のうち大きな差がある部分は乗数が0となり最適化の対象に入れないことになり、差分の小さな部分は乗数がλになり、より滑らかにすることができる。これにより、重みベクトルwの制御パラメータλにより、グラデーションの滑らかさを調整することができ、制御パラメータαにより、エッジの急峻さを調整できることになる。なお、制御パラメータλは、0以上の実数であり、大きいほどグラデーションを滑らかにする調整が可能である。制御パラメータαは、0以上の整数であり、急峻なエッジが存在する画素数を制御すること可能である。 In equation (10), vector 0 N is a vector of length N with all elements "0" and vector 1 N is a vector of length N with all elements "1". The first α number is 0, and the following N-α number is a vector of λ. A portion with a large difference among adjacent differences has a multiplier of 0 and is not included in the optimization target, and a portion with a small difference has a multiplier. becomes λ, which can be smoothed further. As a result, the smoothness of the gradation can be adjusted by the control parameter λ of the weight vector w, and the sharpness of the edge can be adjusted by the control parameter α. Note that the control parameter λ is a real number equal to or greater than 0, and the greater the value, the smoother the gradation can be adjusted. The control parameter α is an integer equal to or greater than 0, and can control the number of pixels with sharp edges.
 なお、式(10)の重みベクトルにおいて、α=0にすると、重みベクトルwは、ベクトル1に対してλを乗じた(w=w=…=w=λ)となり、この場合尖星ノルムを用いる式(3)の最適化問題は、TVの場合に立式されるL正則化問題と同値になる。 In the weight vector of equation (10), when α=0, the weight vector w is obtained by multiplying the vector 1N by λ (w 1 =w 2 = . . . =w N =λ). The optimization problem of equation ( 3 ) with the cusp norm is equivalent to the L1 regularization problem formulated for TV.
 これに対して、(w=w=…=wα=0,wα+1=wα+2=…=w=λ)の場合に、λ→∞にすると、尖星ノルムを用いる式(3)の最適化問題は、L勾配射影の場合に立式されるL擬似ノルム制約問題に近づくことになる。したがって、尖星ノルムは、Lノルムよりも強く、かつL擬似ノルムより穏やか(マイルド)なスパース正則化関数の性質を有していることになる。 On the other hand, in the case of (w 1 =w 2 =...=w α =0, w α+1 =w α+2 =...=w N =λ), if λ→∞, the equation (3 ) approaches the L 0 pseudo-norm constraint problem formulated in the case of L 0 gradient projection. Therefore, the cusp norm has the property of a sparse regularization function that is stronger than the L 1 norm and milder than the L 0 pseudo-norm.
 グラデーションの滑らかさを調整する制御パラメータλは、出力画像信号ベクトルxを画面に表示した出力画像を見ながら値を調整する必要がある。これに対して、エッジの急峻さを調整する制御パラメータαについては、画素数Nの数パーセント程度の整数を定めることになる。 For the control parameter λ that adjusts the smoothness of the gradation, it is necessary to adjust the value while viewing the output image in which the output image signal vector x is displayed on the screen. On the other hand, for the control parameter α for adjusting the sharpness of the edge, an integer of about several percent of the number N of pixels is determined.
 上記したように、尖星ノルムは、非凸関数であることから式(3)の最適化問題の解を求めることは、一般的に非常に多くの計算時間を要することが知られている。この計算時間の問題を解決するため、本実施形態では、近接分離法に含まれるアルゴリズムの1つである、以下の参考文献2に示されている交互方向乗算法(以下「ADMM」(Alternating Direction Method of Multipliers)という)を利用する。 As described above, since the cuspate norm is a non-convex function, it is known that finding the solution of the optimization problem of formula (3) generally requires a very large amount of computation time. In order to solve this computation time problem, in this embodiment, one of the algorithms included in the proximity separation method, the alternating direction multiplication method (hereinafter "ADMM" (Alternating Direction Method of Multipliers)).
「参考文献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」 "Reference 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"
  ADMMを利用するためには、式(3)を、ADMMを適用することができる形に変形する必要がある。そのため、GPSL(Group Pointed Star L1,2-norm)関数を次式(11)として定義する。 In order to utilize ADMM, equation (3) needs to be transformed into a form in which ADMM can be applied. Therefore, a GPSL (Group Pointed Star L 1,2 -norm) function is defined as the following equation (11).
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000015
 式(11)においてベクトルyは、次式(12)によって定義されるベクトルである。 The vector y in equation (11) is a vector defined by the following equation (12).
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000016
 式(11)において、次式(13)によって示される記号は、n=1,…,Nの各画素に関するグループを示す記号である。したがって、式(11)の関数Ω(・)の引数は、ベクトルyを画素ごとに分割したものであることを意味している。 In equation (11), the symbol represented by the following equation (13) is a symbol indicating a group for each pixel of n=1, . . . , N. Therefore, the argument of the function Ω w (·) in equation (11) means that the vector y is divided pixel by pixel.
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000017
 式(11)のGPSL関数を用いることにより、式(3)の第2項の関数PSG(・)(ただし、添え字のwは重みベクトルwである)を次式(14)に示すように変形することができる。 By using the GPSL function of equation (11), the function PSG w (·) in the second term of equation (3) (where the subscript w is the weight vector w) is given by the following equation (14). can be transformed into
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000018
 式(14)において、行列Dは、次式(15)により定義される行列であり、巡回境界条件を有する離散差分作用素行列である。式(14)において、行列Bは、次式(16)により定義される行列であり、巡回する境界を0にする0-1バイナリ対角行列である(例えば、非特許文献3参照)。 In Equation (14), matrix D is a matrix defined by Equation (15) below and is a discrete difference operator matrix with cyclic boundary conditions. In Equation (14), matrix B is a matrix defined by Equation (16) below, and is a 0-1 binary diagonal matrix with a cyclic boundary of 0 (see, for example, Non-Patent Document 3).
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
Figure JPOXMLDOC01-appb-M000020
 式(14)に示した変形により、式(3)で表される最適化問題を、ADMMを利用することができる次式(17)として変形することができる。 By the transformation shown in equation (14), the optimization problem represented by equation (3) can be transformed into the following equation (17) that can utilize ADMM.
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000021
 ADMMを用いることにより、次式(18)~(20)によって示される更新式に基づいて、式(17)の最適化問題の局所最適解を求めることができる。なお、式(18),(19)において、γは、ステップサイズであり、γ>0である。 By using the ADMM, it is possible to obtain the local optimum solution of the optimization problem of formula (17) based on the update formulas shown by the following formulas (18) to (20). In equations (18) and (19), γ is the step size and γ>0.
Figure JPOXMLDOC01-appb-M000022
Figure JPOXMLDOC01-appb-M000022
Figure JPOXMLDOC01-appb-M000023
Figure JPOXMLDOC01-appb-M000023
Figure JPOXMLDOC01-appb-M000024
Figure JPOXMLDOC01-appb-M000024
 上記の式(18)~(20)において、ベクトルx(k+1)の更新式である式(18)とベクトルy(k+1)の更新式である式(19)の各々は、各々の式自体が最適化問題となっている。そのため、それぞれの解を求める解法について以下に説明する。 In the above equations (18) to (20), each of the equation (18), which is the update equation for the vector x (k+1) , and the equation (19), which is the update equation for the vector y (k+1) , is It's an optimization problem. Therefore, a solution method for obtaining each solution will be described below.
 ベクトルx(k+1)については、非特許文献3に示されるように次式(21)が解である。 As for the vector x (k+1) , the following equation (21) is the solution as shown in Non-Patent Document 3.
Figure JPOXMLDOC01-appb-M000025
Figure JPOXMLDOC01-appb-M000025
 式(21)において関数F(・)は、2次元離散フーリエ変換であり、関数F(・)は、2次元離散逆フーリエ変換である。行列Λは、ラプラシアンフィルタカーネルのフーリエ変換結果を対角要素とする対角行列である。そのため、F(・)の引数に含まれる次式(22)の行列は対角行列になり、式(22)の逆行列の算出は、要素ごとの割り算によって算出することができる。 In equation (21), the function F(·) is the two-dimensional discrete Fourier transform, and the function F * (·) is the two-dimensional inverse discrete Fourier transform. The matrix Λ is a diagonal matrix whose diagonal elements are the Fourier transform results of the Laplacian filter kernel. Therefore, the matrix of the following formula (22) included in the argument of F * (·) becomes a diagonal matrix, and the inverse matrix of formula (22) can be calculated by division for each element.
Figure JPOXMLDOC01-appb-M000026
Figure JPOXMLDOC01-appb-M000026
 次に、ベクトルy(k+1)の解について説明する。まず、次式(23)を定義する。 Next, the solution for vector y (k+1) will be described. First, the following formula (23) is defined.
Figure JPOXMLDOC01-appb-M000027
Figure JPOXMLDOC01-appb-M000027
 式(23)を用いて、ベクトルy(k+1)の解を表すと、次式(24)となる。 Using the equation (23), the solution of the vector y (k+1) is expressed as the following equation (24).
Figure JPOXMLDOC01-appb-M000028
Figure JPOXMLDOC01-appb-M000028
 式(24)の右辺の第1項である次式(25)の演算は、次式(26)の置き換えを行った上で、次式(27)として表すことができる。 The calculation of the following formula (25), which is the first term on the right side of the formula (24), can be expressed as the following formula (27) after replacing the following formula (26).
Figure JPOXMLDOC01-appb-M000029
Figure JPOXMLDOC01-appb-M000029
Figure JPOXMLDOC01-appb-M000030
Figure JPOXMLDOC01-appb-M000030
Figure JPOXMLDOC01-appb-M000031
Figure JPOXMLDOC01-appb-M000031
 ただし、式(27)において、n=1,…,Nである。式(27)において、(p (k),…,p (k))は、次式(28)として表される。 However, n=1, . . . , N in equation (27). In Equation (27), (p 1 (k) , . . . , p N (k) ) is expressed as Equation (28) below.
Figure JPOXMLDOC01-appb-M000032
Figure JPOXMLDOC01-appb-M000032
 式(28)の右辺の関数の引数を、次式(29)に示すようにベクトルv(k)とする。 Let the argument of the function on the right side of the equation (28) be the vector v (k) as shown in the following equation (29).
Figure JPOXMLDOC01-appb-M000033
Figure JPOXMLDOC01-appb-M000033
 式(28)の右辺の式は、次式(30)として定義され、式(30)の右辺の演算を行うことにより(p (k),…,p (k))を算出することができる。 The expression on the right side of expression (28) is defined as the following expression (30), and (p 1 (k) , ..., p N (k) ) is calculated by performing the operation on the right side of expression (30). can be done.
Figure JPOXMLDOC01-appb-M000034
Figure JPOXMLDOC01-appb-M000034
 ここで、次式(31)に示す関係があるため、式(30)の右辺の式の符号関数sgn(・)による演算を省略することができる。 Here, since there is a relationship shown in the following equation (31), the calculation using the sign function sgn(·) in the right-hand side of equation (30) can be omitted.
Figure JPOXMLDOC01-appb-M000035
Figure JPOXMLDOC01-appb-M000035
 式(30)の右辺に含まれる次式(32)で示される関数は、次式(33)で表される非増加単調錘への射影の演算を行うことを示している。 The function represented by the following formula (32) included in the right side of the formula (30) indicates that the calculation of projection onto the non-increasing monotone cone represented by the following formula (33) is performed.
Figure JPOXMLDOC01-appb-M000036
Figure JPOXMLDOC01-appb-M000036
Figure JPOXMLDOC01-appb-M000037
Figure JPOXMLDOC01-appb-M000037
 式(32)の演算は、Isotonic Regressionという問題として知られている。ただし、次式(34)に示す関係があるため、式(33)による射影は、恒等写像になり、省略することができる。 The operation of formula (32) is known as the Isotonic Regression problem. However, since the relationship shown in the following equation (34) exists, the projection by the equation (33) becomes an identity map and can be omitted.
Figure JPOXMLDOC01-appb-M000038
Figure JPOXMLDOC01-appb-M000038
 これにより、式(30)を、次式(35)として変形することができる。 As a result, formula (30) can be transformed into the following formula (35).
Figure JPOXMLDOC01-appb-M000039
Figure JPOXMLDOC01-appb-M000039
 式(35)において、関数(・)は、引数を非負値にクリッピングするランプ関数である。行列P(k)は、ベクトルv(k)の要素の絶対値を要素とするベクトルの要素を降順にソートして生成されるベクトルの置換行列であり、次式(36)の関係を有する。 In equation (35), the function (·) + is a ramp function that clips its argument to non-negative values. The matrix P (k) is a vector permutation matrix generated by sorting the elements of the vector v (k) in descending order, and has the relationship of the following equation (36).
Figure JPOXMLDOC01-appb-M000040
Figure JPOXMLDOC01-appb-M000040
 これにより、式(21)と、式(27)及び式(35)を適用した式(24)と、式(20)の更新式を反復して実行することにより、式(17)によって示される最適化問題を解くことができる。なお、ステップサイズγは、反復するごとにγ←ηγ(ただし、0<η<1である)として更新される。すなわち、減衰率ηを1つ前のステップサイズγに乗じた値を、新たなステップサイズγとする更新が行われる。 As a result, by repeatedly executing the formula (21), the formula (24) applying the formulas (27) and (35), and the update formula of the formula (20), Can solve optimization problems. Note that the step size γ is updated as γ←ηγ (where 0<η<1) at each iteration. That is, updating is performed with the value obtained by multiplying the previous step size γ by the attenuation rate η as the new step size γ.
(信号処理装置の構成)
 図2は、式(17)の最適化問題の解を算出する信号処理装置1の内部構成を示すブロック図である。信号処理装置1は、制御部2を備えており、制御部2は、第1変数更新部10、第2変数更新部20、第3変数更新部30、更新判定部40、及びステップサイズ更新部50を備える。
(Configuration of signal processing device)
FIG. 2 is a block diagram showing the internal configuration of the signal processing device 1 that calculates the solution of the optimization problem of equation (17). The signal processing device 1 includes a control unit 2. The control unit 2 includes a first variable update unit 10, a second variable update unit 20, a third variable update unit 30, an update determination unit 40, and a step size update unit. 50.
 更新判定部40は、更新処理の処理回数を示す「k」の値(以下「ステップk」という)を内部の記憶領域に記憶する。更新判定部40は、ステップkの値を増加させるタイミングで、ステップサイズを更新する指示信号をステップサイズ更新部50に出力する。更新判定部40は、第1変数であるベクトルx、第2変数であるベクトルy、第3変数であるベクトルdの更新を行う処理を継続するか否かを、予め定められる終了条件にしたがって判定する。ここで、終了条件とは、例えば、その時点でのステップkの値が、予め定められる更新回数の上限値に一致することである。 The update determination unit 40 stores the value of "k" (hereinafter referred to as "step k") indicating the number of times of update processing in an internal storage area. The update determination unit 40 outputs an instruction signal for updating the step size to the step size updating unit 50 at the timing of increasing the value of the step k. The update determination unit 40 determines whether or not to continue updating the vector x as the first variable, the vector y as the second variable, and the vector d as the third variable according to a predetermined end condition. do. Here, the termination condition is, for example, that the value of step k at that time coincides with a predetermined upper limit of the number of updates.
 更新判定部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として外部に出力して、処理を終了する。 When the update determination unit 40 determines to continue the update process, it outputs the vector y (k) calculated one step before by the second variable update unit 20 to the first variable update unit 10, and performs the third variable update. The vector d (k) calculated by the unit 30 one step before is output to the first variable updating unit 10 , the second variable updating unit 20 and the third variable updating unit 30 . On the other hand, when the update determination unit 40 determines not to continue the process of updating, at that time, the vector x (k+1) calculated by the first variable update unit 10 is output to the outside as the output image signal vector x. output and terminate the process.
 ステップサイズ更新部50は、外部から与えられるステップサイズγと、減衰率ηとを取り込む。ステップサイズ更新部50は、取り込んだステップサイズγと、減衰率ηとを内部に記憶領域に書き込んで記憶させる。ステップサイズ更新部50は、内部の記憶領域にステップサイズγを書き込むと、書き込んだステップサイズγを第1変数更新部10と、第2変数更新部20とに出力する。ステップサイズ更新部50は、更新判定部40からステップサイズを更新する指示信号を受けると、内部に記憶領域が記憶するステップサイズγを、減衰率ηに基づいて更新する処理を行い、更新後のステップサイズγを第1変数更新部10と、第2変数更新部20とに出力する。 The step size updating unit 50 takes in the step size γ and the attenuation rate η given from the outside. The step size updating unit 50 writes and stores the acquired step size γ and attenuation factor η in its internal storage area. After writing the step size γ to the internal storage area, the step size updating unit 50 outputs the written step size γ to the first variable updating unit 10 and the second variable updating unit 20 . Upon receiving an instruction signal to update the step size from the update determination unit 40, the step size update unit 50 updates the step size γ stored in the internal storage area based on the attenuation rate η. The step size γ is output to the first variable updater 10 and the second variable updater 20 .
 第1変数更新部10は、外部から与えられる入力画像信号ベクトルfと、ステップサイズγと、ベクトルy(k)と、ベクトルd(k)とを取り込む。第1変数更新部10は、式(21)の演算を行って、第1変数であるベクトルx(k+1)を算出する。 The first variable update unit 10 takes in an externally supplied input image signal vector f, a step size γ, a vector y (k) , and a vector d (k) . The first variable updating unit 10 calculates the vector x (k+1) , which is the first variable, by performing the calculation of Equation (21).
 図3は、第1変数更新部10の内部構成を示すブロック図である。第1変数更新部10は、減算器101、差分転置演算部102、加算器103、乗算器104、FFT(Fast Fourier Transform)部105、逆数演算部106、係数生成部107、乗算器108及び逆FFT部109を備える。 FIG. 3 is a block diagram showing the internal configuration of the first variable updating unit 10. As shown in FIG. The first variable update unit 10 includes a subtractor 101, a differential transpose calculator 102, an adder 103, a multiplier 104, an FFT (Fast Fourier Transform) unit 105, an inverse calculator 106, a coefficient generator 107, a multiplier 108 and an inverse An FFT unit 109 is provided.
 減算器101は、第2変数更新部20が算出したベクトルy(k)から、第3変数更新部30が算出したベクトルd(k)を減算した次式(37)に示す減算値を算出する。 Subtractor 101 subtracts vector d (k) calculated by third variable updating unit 30 from vector y (k) calculated by second variable updating unit 20 to calculate a subtraction value represented by the following equation (37). .
Figure JPOXMLDOC01-appb-M000041
Figure JPOXMLDOC01-appb-M000041
 差分転置演算部102は、内部の記憶領域に行列Dを予め記憶しており、内部の記憶領域が記憶する行列Dの転置行列である行列Dを生成する。差分転置演算部102は、生成した行列Dと、減算器101が算出した減算値とを乗算して次式(38)に示す乗算値を算出する。 The difference transpose operation unit 102 stores the matrix D in advance in an internal storage area, and generates a matrix DT that is a transposed matrix of the matrix D stored in the internal storage area. The difference transpose calculation unit 102 multiplies the generated matrix DT and the subtraction value calculated by the subtractor 101 to calculate the multiplication value shown in the following equation (38).
Figure JPOXMLDOC01-appb-M000042
Figure JPOXMLDOC01-appb-M000042
 逆数演算部106は、ステップサイズγを取り込み、ステップサイズγの逆数、すなわちγ-1を算出する。乗算器104は、差分転置演算部102が算出した乗算値と、逆数演算部106が算出したγ-1とを乗算して乗算値を算出する。加算器103は、入力画像信号ベクトルfと、乗算器104が算出した乗算値とを加算して式(39)に示す加算値を算出する。 The reciprocal calculator 106 takes in the step size γ and calculates the reciprocal of the step size γ, that is, γ −1 . Multiplier 104 multiplies the multiplied value calculated by differential transpose calculation section 102 and γ −1 calculated by reciprocal calculation section 106 to calculate the multiplied value. The adder 103 adds the input image signal vector f and the multiplied value calculated by the multiplier 104 to calculate the added value shown in Equation (39).
Figure JPOXMLDOC01-appb-M000043
Figure JPOXMLDOC01-appb-M000043
 FFT部105は、加算器103が算出した加算値に対して2次元高速フーリエ変換を行う。係数生成部107は、内部の記憶領域に行列I及び行列Λを予め記憶しており、内部の記憶領域が記憶する行列I及び行列Λと、逆数演算部106が算出したγ-1とに基づいて、式(22)の行列を生成する。 FFT section 105 performs two-dimensional fast Fourier transform on the added value calculated by adder 103 . Coefficient generation section 107 stores matrix I and matrix Λ in advance in an internal storage area, and based on matrix I and matrix Λ stored in the internal storage area and γ −1 calculated by reciprocal operation section 106 to generate the matrix of equation (22).
 乗算器108は、FFT部105の出力と、係数生成部107が生成する行列とを乗算して次式(40)に示す乗算値を算出する。 A multiplier 108 multiplies the output of the FFT section 105 and the matrix generated by the coefficient generating section 107 to calculate the multiplied value shown in the following equation (40).
Figure JPOXMLDOC01-appb-M000044
Figure JPOXMLDOC01-appb-M000044
 逆FFT部109は、乗算器108が算出した乗算値に対して2次元逆高速フーリエ変換、すなわち式(21)の演算を行い第1変数であるベクトルx(k+1)を算出する。 The inverse FFT unit 109 performs two-dimensional inverse fast Fourier transform on the multiplied value calculated by the multiplier 108, that is, the calculation of equation (21) to calculate the vector x (k+1) as the first variable.
 第2変数更新部20は、第1変数更新部10が算出した第1の変数であるベクトルx(k+1)と、第3変数更新部30が1ステップ前に算出した第3の変数であるベクトルd(k)と、重みベクトルwと、ステップサイズγとを取り込む。第2変数更新部20は、式(27)及び式(35)を適用した式(24)の演算を行って、第2変数であるベクトルy(k+1)を算出する。 The second variable updating unit 20 updates the vector x (k+1), which is the first variable calculated by the first variable updating unit 10, and the vector x (k+1) , which is the third variable calculated one step before by the third variable updating unit 30. Take d (k) , the weight vector w, and the step size γ. The second variable update unit 20 calculates the vector y (k+1) , which is the second variable, by performing the calculation of the equation (24) applying the equations (27) and (35).
 図4は、第2変数更新部20の内部構成を示すブロック図である。第2変数更新部20は、差分演算部201、加算器202、バイナリマスク部203、L2ノルム演算部204、降順ソート部205、置換行列生成部206、乗算器207、減算器208、ランプ関数部209、逆置換部210、係数生成部211、要素積演算部212、バイナリマスク部213、バイナリマスク部214及び加算器215を備える。 FIG. 4 is a block diagram showing the internal configuration of the second variable updating unit 20. As shown in FIG. The second variable update unit 20 includes a difference calculation unit 201, an adder 202, a binary mask unit 203, an L2 norm calculation unit 204, a descending order sort unit 205, a permutation matrix generation unit 206, a multiplier 207, a subtractor 208, and a ramp function unit. 209 , an inverse permutation unit 210 , a coefficient generation unit 211 , an element product calculation unit 212 , a binary mask unit 213 , a binary mask unit 214 and an adder 215 .
 差分演算部201は、内部の記憶領域に行列Dを予め記憶しており、内部の記憶領域が記憶する行列Dと、第1変数更新部10が算出したベクトルx(k+1)とを乗算して乗算値を算出する。加算器202は、差分演算部201が算出した乗算値と、第3変数更新部30が算出したベクトルd(k)とを加算して式(23)に示す加算値を算出する。バイナリマスク部203は、内部の記憶領域に行列Bを予め記憶しており、内部の記憶領域が記憶する行列Bと、加算器202が算出した加算値とを乗算して式(26)に示す乗算値を算出する。 The difference calculation unit 201 stores the matrix D in advance in an internal storage area, and multiplies the matrix D stored in the internal storage area by the vector x (k+1) calculated by the first variable updating unit 10 to obtain Calculate the multiplication value. The adder 202 adds the multiplied value calculated by the difference calculator 201 and the vector d (k) calculated by the third variable updater 30 to calculate the added value shown in Equation (23). Binary mask section 203 stores matrix B in advance in an internal storage area, and multiplies matrix B stored in the internal storage area by the addition value calculated by adder 202 to obtain the result shown in equation (26). Calculate the multiplication value.
 L2ノルム演算部204は、画素ごとのL2ノルムを算出する演算部であり、バイナリマスク部203が算出した乗算値から式(29)に示すベクトルv(k)を算出する。降順ソート部205は、L2ノルム演算部204が算出したベクトルv(k)に含まれる要素の絶対値を要素とするベクトルの要素を降順に並べ替えた次式(41)により示されるベクトルa(k)を生成する。 The L2 norm calculation unit 204 is a calculation unit that calculates the L2 norm for each pixel, and calculates the vector v (k) shown in Equation (29) from the multiplication value calculated by the binary mask unit 203. The descending order sorting unit 205 sorts the elements of the vector, whose elements are the absolute values of the elements included in the vector v (k) calculated by the L2 norm calculating unit 204, in descending order to obtain a vector a ( k) .
Figure JPOXMLDOC01-appb-M000045
Figure JPOXMLDOC01-appb-M000045
 置換行列生成部206は、L2ノルム演算部204が生成するベクトルv(k)からベクトルa(k)の置換行列である行列P(k)を生成する。乗算器207は、重みベクトルwと、ステップサイズγとを乗算して次式(42)に示す乗算値を算出する。 Permutation matrix generation section 206 generates matrix P (k) which is a permutation matrix of vector a ( k) from vector v (k) generated by L2 norm calculation section 204 . Multiplier 207 multiplies weight vector w and step size γ to calculate a multiplied value shown in the following equation (42).
Figure JPOXMLDOC01-appb-M000046
Figure JPOXMLDOC01-appb-M000046
 減算器208は、降順ソート部205が生成するベクトルa(k)から乗算器207が算出した乗算値を減算した減算値を算出する。ランプ関数部209は、減算器208が算出した減算値に対して、非負値にクリッピングする演算を行い、次式(43)に示す演算結果を算出する。 Subtractor 208 calculates a subtraction value by subtracting the multiplication value calculated by multiplier 207 from vector a (k) generated by descending order sorting section 205 . The ramp function unit 209 performs an operation of clipping the subtraction value calculated by the subtractor 208 to a non-negative value, and calculates the operation result shown in the following equation (43).
Figure JPOXMLDOC01-appb-M000047
Figure JPOXMLDOC01-appb-M000047
 逆置換部210は、置換行列生成部206が生成する行列P(k)の転置行列である行列P(k)Tを生成する。逆置換部210は、生成した行列P(k)Tと、ランプ関数部209の出力とを乗算して次式(44)に示すベクトルp(k)を算出する。 Inverse permutation section 210 generates matrix P (k)T , which is a transposed matrix of matrix P ( k) generated by permutation matrix generation section 206 . The inverse permutation unit 210 multiplies the generated matrix P (k)T and the output of the ramp function unit 209 to calculate the vector p (k) given by the following equation (44).
Figure JPOXMLDOC01-appb-M000048
Figure JPOXMLDOC01-appb-M000048
 係数生成部211は、L2ノルム演算部204が算出したベクトルv(k)と、逆置換部210が算出したベクトルp(k)とに基づいて、次式(45)で示される係数q (k)を算出する。 The coefficient generation unit 211 generates coefficients q n ( k) is calculated.
Figure JPOXMLDOC01-appb-M000049
Figure JPOXMLDOC01-appb-M000049
 ただし、式(45)においてn=1,…,Nである。要素積演算部212は、バイナリマスク部203が算出した式(26)により示される乗算値と、係数生成部211が生成した係数q (k)とに基づいて、次式(46)により示されるベクトルz(k)を算出する。 However, n=1, . . . , N in equation (45). The element product calculation unit 212 calculates a value represented by the following equation (46) based on the multiplied value represented by the equation (26) calculated by the binary mask unit 203 and the coefficient q n (k) generated by the coefficient generation unit 211. Calculate the vector z (k)
Figure JPOXMLDOC01-appb-M000050
Figure JPOXMLDOC01-appb-M000050
 ただし、式(46)においてn=1,…,Nであり、ベクトルz(k)の要素は、次式(47)となる。 However, in Equation (46), n =1, .
Figure JPOXMLDOC01-appb-M000051
Figure JPOXMLDOC01-appb-M000051
 バイナリマスク部213は、内部の記憶領域に行列Bを予め記憶しており、内部の記憶領域が記憶する行列Bと、要素積演算部212が算出したベクトルz(k)とを乗算して乗算値を算出する。バイナリマスク部214は、内部の記憶領域に行列Iから行列Bを減算した行列(I-B)を予め記憶しており、内部の記憶領域が記憶する行列(I-B)と、加算器202が算出した加算値とを乗算して乗算値を算出する。加算器215は、バイナリマスク部213の出力と、バイナリマスク部214が算出した乗算値とを加算して次式(48)に示す第2変数であるベクトルy(k+1)を算出する。 The binary mask unit 213 stores the matrix B in advance in the internal storage area, and multiplies the matrix B stored in the internal storage area by the vector z (k) calculated by the element product operation unit 212. Calculate the value. The binary mask unit 214 stores in advance the matrix (IB) obtained by subtracting the matrix B from the matrix I in the internal storage area. Calculates the multiplication value by multiplying the addition value calculated by . Adder 215 adds the output of binary mask section 213 and the multiplied value calculated by binary mask section 214 to calculate vector y (k+1) , which is the second variable shown in the following equation (48).
Figure JPOXMLDOC01-appb-M000052
Figure JPOXMLDOC01-appb-M000052
 第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)を算出する。 The third variable updating unit 30 updates the vector x (k+1) , which is the first variable calculated by the first variable updating unit 10, and the vector y (k+1) , which is the second variable calculated by the second variable updating unit 20. , and the vector d (k) calculated one step before by the third variable updating unit 30 . The third variable updating unit 30 calculates the vector d (k+1) , which is the third variable, by performing the calculation of Equation (20).
 図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)を算出する。 FIG. 5 is a block diagram showing the internal configuration of the third variable updating unit 30. As shown in FIG. The third variable updating unit 30 has a difference calculating unit 301 , an adder 302 and a subtractor 303 . The difference calculation unit 301 stores the matrix D in advance in an internal storage area, and multiplies the matrix D stored in the internal storage area by the vector x (k+1) calculated by the first variable updating unit 10 to obtain Calculate the multiplication value. The adder 302 adds the vector d (k) calculated one step before by the subtractor 303 and the multiplied value calculated by the difference calculation unit 301 to calculate an addition value. The subtractor 303 subtracts the vector y (k+1) calculated by the second variable updating unit 20 from the added value calculated by the adder 302 to calculate the vector d (k+1) which is the third variable.
(信号処理部による処理)
 図6は、信号処理部1による処理の流れを示すフローチャートである。信号処理部1の第1変数更新部10及び更新判定部40は、外部から与えられる入力画像信号ベクトルfを取り込む。第2変数更新部20は、外部から与えられる制御パラメータλと制御パラメータαとが予め定められた重みベクトルwを取り込む。ステップサイズ更新部50は、外部から与えられるステップサイズγと、減衰率ηとを取り込む(ステップS1)。
(Processing by signal processing section)
FIG. 6 is a flow chart showing the flow of processing by the signal processing unit 1. As shown in FIG. The first variable update unit 10 and the update determination unit 40 of the signal processing unit 1 take in the input image signal vector f given from the outside. The second variable updating unit 20 takes in a weight vector w in which the externally provided control parameter λ and the control parameter α are predetermined. The step size updating unit 50 takes in the step size γ and the attenuation rate η given from the outside (step S1).
 更新判定部40は、内部の記憶領域に予め記憶されている行列Dと、取り込んだ入力画像信号ベクトルfとを乗算して次式(49)に示す乗算値を算出する。 The update determination unit 40 multiplies the matrix D prestored in the internal storage area by the captured input image signal vector f to calculate the multiplied value shown in the following equation (49).
Figure JPOXMLDOC01-appb-M000053
Figure JPOXMLDOC01-appb-M000053
 更新判定部40は、算出した乗算値を第2変数の初期値であるベクトルy(0)と、第3変数の初期値であるベクトルd(0)とする。更新判定部40は、ステップkを「0」に初期化する(ステップS2)。 The update determination unit 40 sets the calculated multiplied values as the vector y (0) , which is the initial value of the second variable, and the vector d (0) , which is the initial value of the third variable. The update determination unit 40 initializes step k to "0" (step S2).
 更新判定部40は、終了条件を満たしているか否かを判定する(ステップS3)。終了条件を満たしているか否かの判定は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致するか否かによって行われる。ここでは、ステップk=0の値が、予め定められる更新回数の上限値に一致していないものとして説明を進める。更新判定部40は、ステップkの値が、予め定められる更新回数の上限値に一致していないため、終了条件を満たしていないと判定し(ステップS3、No)、第2変数の初期値であるベクトルy(0)を第1変数更新部10に出力し、第3変数の初期値であるベクトルd(0)を第1変数更新部10と、第2変数更新部20と、第3変数更新部30とに出力する。 The update determination unit 40 determines whether or not the termination condition is satisfied (step S3). Whether or not the termination condition is satisfied is determined by whether or not the value of step k at that time coincides with a predetermined upper limit value for the number of updates. Here, it is assumed that the value of step k=0 does not match the predetermined upper limit of the number of updates. The update determination unit 40 determines that the end condition is not satisfied because the value of step k does not match the predetermined upper limit of the number of updates (step S3, No), and the initial value of the second variable A certain vector y (0) is output to the first variable updating unit 10, and the vector d (0) , which is the initial value of the third variable, is output to the first variable updating unit 10, the second variable updating unit 20, and the third variable It is output to the updating unit 30.
 以下、一般化のため「k=0」に限定せず、更新判定部40が内部の記憶領域に記憶させているステップ数の値が「k」であるとし、各変数の添え字に(k)、または、(k+1)を示して記載する。第1変数更新部10において、減算器101は、更新判定部40が出力するベクトルy(k)と、ベクトルd(k)とを取り込む。減算器101は、ベクトルy(k)からベクトルd(k)を減算して式(37)に示す減算値を算出する。減算器101は、算出した減算値を差分転置演算部102に出力する。 Hereinafter, for the sake of generalization, the value of the number of steps stored in the internal storage area by the update determination unit 40 is not limited to "k=0", but is assumed to be "k", and the subscript of each variable is (k ) or (k+1). In the first variable update unit 10, the subtractor 101 takes in the vector y (k) and the vector d (k) output by the update determination unit 40. FIG. Subtractor 101 subtracts vector d ( k) from vector y(k) to calculate a subtraction value shown in equation (37). The subtractor 101 outputs the calculated subtraction value to the difference transposition calculation section 102 .
 差分転置演算部102は、内部の記憶領域が記憶する行列Dの転置行列である行列Dを生成する。差分転置演算部102は、生成した行列Dと、減算器101が算出した減算値とを乗算して式(38)に示す乗算値を算出する。差分転置演算部102は、算出した乗算値を乗算器104に出力する。 The differential transpose calculation unit 102 generates a matrix DT that is a transposed matrix of the matrix D stored in the internal storage area. The difference transpose calculation unit 102 multiplies the generated matrix DT and the subtraction value calculated by the subtractor 101 to calculate the multiplication value shown in Equation (38). The difference transposition calculation unit 102 outputs the calculated multiplication value to the multiplier 104 .
 逆数演算部106は、加算器101と差分転置演算部102が行う処理と並列して、外部から与えられるステップサイズγを取り込む。逆数演算部106は、取り込んだステップサイズγの逆数であるγ-1を算出する。逆数演算部106は、算出したγ-1を乗算器104と、係数生成部107とに出力する。乗算器104は、差分転置演算部102が出力する式(38)の乗算値と、逆数演算部106が出力するγ-1とを乗算して乗算値を算出し、算出した乗算値を加算器103に出力する。加算器103は、外部から与えられる入力画像信号ベクトルfを取り込む。加算器103は、取り込んだ入力画像信号ベクトルfと、乗算器104が出力する乗算値とを加算して式(39)に示す加算値を算出する。加算器103は、算出した加算値をFFT部105に出力する。 The reciprocal calculation unit 106, in parallel with the processing performed by the adder 101 and the differential transposition calculation unit 102, takes in the step size γ given from the outside. The reciprocal calculation unit 106 calculates γ −1 which is the reciprocal of the captured step size γ. Reciprocal calculation section 106 outputs the calculated γ −1 to multiplier 104 and coefficient generation section 107 . Multiplier 104 calculates the multiplied value by multiplying the multiplied value of equation (38) output from differential transpose calculation unit 102 and γ −1 output from reciprocal calculation unit 106, and the calculated multiplied value is added to the adder. 103. The adder 103 takes in an externally applied input image signal vector f. The adder 103 adds the fetched input image signal vector f and the multiplied value output from the multiplier 104 to calculate the added value shown in Equation (39). Adder 103 outputs the calculated addition value to FFT section 105 .
 FFT部105は、加算器103が出力する式(39)の加算値に対して2次元高速フーリエ変換の演算を行い、演算結果を乗算器108に出力する。係数生成部107は、乗算器104と加算器103とFFT部105が行う処理と並行して、逆数演算部106が出力するγ-1と、内部の記憶領域が記憶する行列I及び行列Λとに基づいて、式(22)の行列を生成する。係数生成部107は、生成した行列を乗算器108に出力する。 FFT section 105 performs a two-dimensional fast Fourier transform operation on the added value of equation (39) output from adder 103 and outputs the operation result to multiplier 108 . In parallel with the processing performed by the multiplier 104, the adder 103, and the FFT unit 105, the coefficient generation unit 107 generates γ −1 output from the reciprocal operation unit 106, the matrix I and the matrix Λ stored in the internal storage area. generates the matrix of equation (22). Coefficient generation section 107 outputs the generated matrix to multiplier 108 .
 乗算器108は、FFT部105が出力する演算結果と、係数生成部107が出力する式(22)の行列とを乗算して式(40)に示す乗算値を算出する。乗算器108は、算出した乗算値を逆FFT部109に出力する。 Multiplier 108 multiplies the calculation result output from FFT section 105 by the matrix of formula (22) output from coefficient generation section 107 to calculate the multiplied value shown in formula (40). Multiplier 108 outputs the calculated multiplied value to inverse FFT section 109 .
 逆FFT部109は、乗算器108が出力する式(40)の乗算値に対して、式(21)に示す2次元逆高速フーリエ変換を行って第1変数のベクトル(k+1)を算出する。逆FFT部109は、算出したベクトル(k+1)を第2変数更新部20と、第3変数更新部30と、更新判定部40とに出力する(ステップS5)。 Inverse FFT section 109 performs two-dimensional inverse fast Fourier transform shown in equation (21) on the multiplied value of equation (40) output from multiplier 108 to calculate the first variable vector (k+1) . The inverse FFT unit 109 outputs the calculated vector (k+1) to the second variable update unit 20, the third variable update unit 30, and the update determination unit 40 (step S5).
 第2変数更新部20において、差分演算部201は、内部の記憶領域が記憶する行列Dと、第1変数更新部10の逆FFT部109が出力するベクトルx(k+1)とを乗算して乗算値を算出する。差分演算部201は、算出した乗算値を加算器202に出力する。加算器202は、更新判定部40が出力するベクトルd(k)と、差分演算部201が出力する乗算値とを加算して式(23)に示す加算値を算出する。加算器202は、算出した加算値をバイナリマスク部203と、バイナリマスク部214とに出力する(ステップS6)。 In the second variable update unit 20, the difference calculation unit 201 multiplies the matrix D stored in the internal storage area by the vector x (k+1) output by the inverse FFT unit 109 of the first variable update unit 10 Calculate the value. Difference calculation section 201 outputs the calculated multiplication value to adder 202 . The adder 202 adds the vector d (k) output from the update determination unit 40 and the multiplied value output from the difference calculation unit 201 to calculate the added value shown in Equation (23). The adder 202 outputs the calculated added value to the binary mask section 203 and the binary mask section 214 (step S6).
 バイナリマスク部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)。 Binary mask section 203 multiplies matrix B stored in an internal storage area by the added value output from adder 202 to calculate the multiplied value shown in equation (26). The binary mask unit 203 outputs the calculated multiplication value to the L2 norm calculation unit 204 and the element product calculation unit 212 (step S7). L2 norm calculation section 204 calculates vector v (k) shown in equation (29) from the multiplied value output from binary mask section 203 . L2 norm calculator 204 outputs the calculated vector v (k) to permutation matrix generator 206 , descending order sorter 205 , and coefficient generator 211 . The descending order sorting unit 205 sorts the elements of the vector, whose elements are the absolute values of the elements included in the vector v (k) output from the L2 norm calculating unit 204, in descending order to obtain the vector a (k) shown in Equation (41). to generate The descending order sorting unit 205 outputs the generated vector a (k) to the subtractor 208 (step S8).
 乗算器207は、ステップS6~S8の処理と並列に、外部から与えられる重みベクトルwと、ステップサイズγとを取り込む。乗算器207は、重みベクトルwと、ステップサイズγとを乗算して式(42)に示す乗算値を算出する。乗算器207は、算出した乗算値を減算器208に出力する(ステップS9)。 The multiplier 207 takes in the weight vector w given from the outside and the step size γ in parallel with the processing of steps S6 to S8. Multiplier 207 multiplies weight vector w and step size γ to calculate a multiplied value shown in equation (42). The multiplier 207 outputs the calculated multiplied value to the subtractor 208 (step S9).
 減算器208は、降順ソート部205が出力するベクトルa(k)から乗算器207が算出した乗算値を減算した減算値を算出する。減算器208は、算出した減算値をランプ関数部209に出力する。ランプ関数部209は、減算器208が出力する減算値に対して、非負値にクリッピングする式(43)に示す演算を行い、演算結果を逆置換部210に出力する(ステップS10)。 A subtractor 208 calculates a subtraction value by subtracting the multiplied value calculated by the multiplier 207 from the vector a (k) output by the descending order sorting unit 205 . Subtractor 208 outputs the calculated subtraction value to ramp function section 209 . The ramp function unit 209 performs the calculation shown in Equation (43) for clipping the subtracted value output from the subtractor 208 to a non-negative value, and outputs the calculation result to the inverse replacement unit 210 (step S10).
 置換行列生成部206は、ステップS10の処理と並列に、L2ノルム演算部204が出力するベクトルv(k)からベクトルa(k)の置換行列である行列P(k)を生成する。置換行列生成部206は、生成した行列P(k)を逆置換部210に出力する(ステップS11)。 The permutation matrix generation unit 206 generates a matrix P (k) , which is a permutation matrix of the vector a (k ) from the vector v(k) output by the L2 norm calculation unit 204, in parallel with the process of step S10. The permutation matrix generation unit 206 outputs the generated matrix P (k) to the inverse permutation unit 210 (step S11).
 逆置換部210は、置換行列生成部206が出力する行列P(k)の転置行列である行列P(k)Tを生成する。逆置換部210は、生成した行列P(k)Tと、ランプ関数部209が出力する式(43)の演算による演算結果とを乗算し、乗算値として式(44)に示すベクトルp(k)を算出する。逆置換部210は、算出したベクトルp(k)を係数生成部211に出力する(ステップS12)。 Inverse permutation section 210 generates matrix P (k)T , which is a transposed matrix of matrix P (k) output by permutation matrix generation section 206 . The inverse permutation unit 210 multiplies the generated matrix P (k)T by the calculation result of the calculation of the formula (43) output by the ramp function unit 209, and obtains the multiplied value as the vector p (k ) is calculated. The inverse permutation unit 210 outputs the calculated vector p (k) to the coefficient generation unit 211 (step S12).
 係数生成部211は、L2ノルム演算部204が出力するベクトルv(k)と、逆置換部210が出力するベクトルp(k)とに基づいて式(45)により示される係数q (k)を算出する。係数生成部211は、算出した係数q (k)を要素積演算部212に出力する(ステップS13)。 Coefficient generating section 211 generates coefficient q n (k) expressed by equation (45) based on vector v (k) output from L2 norm computing section 204 and vector p (k) output from inverse permuting section 210. Calculate The coefficient generator 211 outputs the calculated coefficient q n (k) to the element product calculator 212 (step S13).
 要素積演算部212は、バイナリマスク部203が出力する式(26)により示される乗算値と、係数生成部211が出力する係数q (k)とに基づいて式(47)に示す演算を行って、式(46)に示すベクトルz(k)を算出する。要素積演算部212は、算出したベクトルz(k)をバイナリマスク部213に出力する(ステップS14)。 Element product calculation section 212 performs the calculation shown in formula (47) based on the multiplied value shown by formula (26) output from binary mask section 203 and the coefficient q n (k) output from coefficient generation section 211. to calculate the vector z (k) shown in equation (46). The element product calculation unit 212 outputs the calculated vector z (k) to the binary mask unit 213 (step S14).
 バイナリマスク部214は、ステップS7~S14の処理と並行して、内部の記憶領域が記憶する行列(I-B)と、加算器202が算出した式(23)に示す加算値とを乗算して乗算値を算出する。バイナリマスク部214は、算出した乗算値を加算器215に出力する。バイナリマスク部213は、バイナリマスク部214が行う処理と並行して、内部の記憶領域が記憶する行列Bと、要素積演算部212が出力するベクトルz(k)とを乗算して乗算値を算出する。バイナリマスク部213は、算出した乗算値を加算器215に出力する。 In parallel with the processing of steps S7 to S14, the binary mask unit 214 multiplies the matrix (IB) stored in the internal storage area by the addition value calculated by the adder 202 and represented by the equation (23). to calculate the multiplication value. Binary mask section 214 outputs the calculated multiplication value to adder 215 . In parallel with the processing performed by the binary mask unit 214, the binary mask unit 213 multiplies the matrix B stored in the internal storage area by the vector z (k) output by the element product operation unit 212, and obtains the multiplied value. calculate. Binary mask section 213 outputs the calculated multiplication value to adder 215 .
 加算器215は、バイナリマスク部213が出力する乗算値と、バイナリマスク部214が出力する乗算値とを加算する式(48)に示す演算を行って、第2変数のベクトルy(k+1)を算出する。加算器215は、算出したベクトルy(k+1)を第3変数更新部30と、更新判定部40とに出力する(ステップS15)。 The adder 215 adds the multiplied value output from the binary masking unit 213 and the multiplied value output from the binary masking unit 214, and performs the operation shown in equation (48) to obtain the second variable vector y (k+1) . calculate. The adder 215 outputs the calculated vector y (k+1) to the third variable update unit 30 and the update determination unit 40 (step S15).
 第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)。 In the third variable update unit 30, the difference calculation unit 301 multiplies the matrix D stored in the internal storage area by the vector x (k+1) output by the inverse FFT unit 109 of the first variable update unit 10, and multiplies Calculate the value. Difference calculation section 301 outputs the calculated multiplication value to adder 302 . The adder 302 adds the vector d (k) output from the update determination unit 40 and the multiplication value output from the difference calculation unit 301 to calculate an addition value. Adder 302 outputs the calculated addition value to subtractor 303 . The subtractor 303 subtracts the vector y (k+1) output by the adder 215 of the second variable updating unit 20 from the added value output by the adder 302 to calculate the vector d (k+1) as the third variable. The subtractor 303 outputs the calculated vector d (k+1) to the update determination unit 40 (step S16).
 更新判定部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)。 The update determination unit 40 determines the vector x (k+1) output by the first variable update unit 10, the vector y (k+1) output by the second variable update unit 20, and the vector d ( k+1) output by the third variable update unit 30. k+1) , the value of step k stored in the internal storage area is read out, "1" is added to the read value, and the value after the addition is set as the new value of step k, and stored in the internal storage area. Write down and memorize. The update determination section 40 outputs an instruction signal for updating the step size to the step size updating section 50 . Upon receiving an instruction signal to update the step size from the update determination unit 40, the step size update unit 50 multiplies the step size γ stored in the internal storage area by the attenuation factor η to calculate ηγ. The step size update unit 50 rewrites the step size γ stored in the internal storage area to ηγ in order to set the calculated ηγ as the new step size γ. After rewriting the step size γ in the internal storage area to ηγ, the step size updating unit 50 outputs the rewritten step size γ to the first variable updating unit 10 and the second variable updating unit 20 (step S17 ).
 更新判定部40は、再びステップS3の判定処理を行う。更新判定部40は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致しており、終了条件を満たしていると判定した場合(ステップS3、Yes)、その時点で、取り込んでいるベクトルx(k+1)を出力画像信号ベクトルxとして外部に出力して(ステップS4)、処理を終了する。 The update determination unit 40 performs the determination process of step S3 again. If the update determination unit 40 determines that the value of step k at that point in time matches the predetermined upper limit of the number of updates and that the end condition is satisfied (step S3, Yes), at that point , the vector x (k+1) taken in is output to the outside as the output image signal vector x (step S4), and the process is terminated.
 一方、更新判定部40は、その時点でのステップkの値が、予め定められる更新回数の上限値に一致しておらず、終了条件を満たしていないと判定した場合(ステップS3、No)、その時点で、取り込んでいるベクトルy(k+1)を第1変数更新部10に出力し、ベクトルd(k+1)を第1変数更新部10と、第2変数更新部20と、第3変数更新部30とに出力し、再びステップS5以降の処理が行われることになる。 On the other hand, if the update determination unit 40 determines that the value of step k at that time does not match the predetermined upper limit of the number of updates and does not satisfy the termination condition (step S3, No), At that point, the fetched vector y (k+1) is output to the first variable updater 10, and the vector d (k+1) is transferred to the first variable updater 10, the second variable updater 20, and the third variable updater. 30, and the processing after step S5 is performed again.
(実施結果)
 図7、図8は、上記の信号処理装置1を用いて行ったエッジ保存平滑化の実施結果を示す図である。図7は、グラデーションの滑らかさを調整する制御パラメータλ=50とした場合の実施結果を示しており、図8は、制御パラメータλ=200とした場合の実施結果を示している。図7(a)と図8(a)は、エッジの急峻さを調整する制御パラメータαを、画素数Nの約8%とした場合の実施結果であり、図7(b)と図8(b)は、制御パラメータαを、画素数Nの約4%とした場合の実施結果である。
(Implementation results)
7 and 8 are diagrams showing the results of edge preserving smoothing performed using the signal processing apparatus 1 described above. FIG. 7 shows the result of implementation when the control parameter λ=50 for adjusting the smoothness of the gradation, and FIG. 8 shows the result of implementation when the control parameter λ=200. FIGS. 7(a) and 8(a) show results obtained when the control parameter α for adjusting edge steepness is set to approximately 8% of the number of pixels N, and FIGS. 7(b) and 8( b) is an implementation result when the control parameter α is set to about 4% of the number N of pixels.
 図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)を比較すると分かるように、制御パラメータαが小さくなるほど、エッジの急峻さが失われる平滑化が行われていることが分かる。 In FIGS. 7 and 8, images indicated by reference numerals 60a, 60b, 70a, and 70b are images displayed on the screen of the output image signals obtained after performing the edge-preserving smoothing process under each condition. In FIGS. 7 and 8, the graphs indicated by reference numerals 62a, 62b, 72a, and 72b are respectively the line of reference numeral 61a in the image 60a, the line of reference numeral 61b in the image 60b, the line of reference numeral 71a in the image 70a, and the reference numeral 71b in the image 70b. is a graph obtained by plotting the values of the luminance signal on the line of . The solid lines in the graphs indicated by reference numerals 62a, 62b, 72a, and 72b indicate the luminance signal values of the input image signal, and the dotted lines indicate the luminance signal values of the output image signal. As can be seen from a comparison between FIGS. 7 and 8, smoothing is performed in which the smoothness of the gradation is lost as the control parameter λ increases. On the other hand, as can be seen by comparing FIGS. 7(a) and 7(b), or between FIGS. 8(a) and 8(b), as the control parameter α becomes smaller, the sharpness of the edge decreases. It can be seen that the smoothing performed by
 上記の実施形態による信号処理装置1は、入力画像信号に対して非凸関数のスパース正則化関数であって非凸関数の重みに含まれる第1の制御パラメータである制御パラメータλを調整することにより、グラデーションの滑らかさを変化させ、非凸関数の重みに含まれる第2の制御パラメータである制御パラメータαを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより入力画像信号からエッジ保存平滑化した出力画像信号を生成する。これにより、大域的最適化によるエッジ保存平滑化において、グラデーションの滑らかさとエッジの急峻さの両方を独立して調整することが可能になる。 The signal processing apparatus 1 according to the above embodiment adjusts the control parameter λ, which is a sparse regularization function of a non-convex function for the input image signal and is the first control parameter included in the weight of the non-convex function. is a sparse regularization function for a non-convex function that changes the smoothness of the gradation and changes the sharpness of the edge by adjusting the control parameter α, which is the second control parameter included in the weight of the non-convex function, by Apply to generate an edge-preserving smoothed output image signal from the input image signal by computing the solution of the optimization problem by global optimization. This allows both gradient smoothness and edge steepness to be adjusted independently in edge-preserving smoothing with global optimization.
 図6に示したフローチャートの計算量は、2次元高速フーリエ変換及び2次元逆高速フーリエ変換を用いた線形方程式の解法に要するO(NlogN)の計算量と、ソートアルゴリズムに要するO(NlogN)計算量と、四則演算等に要するO(N)の計算量とからなる計算量であり、1回の繰り返しによる計算量はO(NlogN)となる。したがって、本実施形態の信号処理装置1は、非凸関数の尖星ノルムを含む最適化問題を解く処理を行っているが、計算量をO(NlogN)に抑えることができ、かつLノルムよりも強く、かつL擬似ノルムより穏やか(マイルド)なスパース正則化の性能であってLノルムと同程度のロバスト性を有する大域的最適化によるエッジ保存平滑化を行うことが可能になる。ここで、Lノルムと同程度のロバスト性を有するとは、Lノルムと比較して、入力の各要素が微小な値をとる場合であっても、過敏に反応せず、適切にスパース正則化する性能を有するということである。 The computational complexity of the flow chart shown in FIG. and the amount of calculation of O(N) required for the four arithmetic operations, and the amount of calculation for one iteration is O(NlogN). Therefore, the signal processing apparatus 1 of the present embodiment performs processing for solving an optimization problem including the cuspate norm of a non-convex function. It is possible to do edge-preserving smoothing by global optimization with sparse regularization performance stronger than and milder than the L 0 pseudo-norm, but as robust as the L 1 norm . Here, having robustness equivalent to the L 1 norm means that even if each element of the input takes a minute value compared to the L 0 norm, it does not react sensitively and is appropriately sparse. It has the ability to regularize.
 なお、上記の実施形態では、更新判定部40が図6のステップS3の判定処理において、その時点でのステップkの値が、予め定められる更新回数の上限値に一致することを終了条件としていた。これに対して、次式(50)により求められるベクトルx(k)の変化量のノルムが、予め定められる所定値以下となることを図6のステップS3の判定処理の終了条件としてもよい。 In the above-described embodiment, in the determination process of step S3 of FIG. 6, the update determination unit 40 sets the end condition that the value of step k at that time coincides with the predetermined upper limit of the number of updates. . On the other hand, the norm of the amount of change of the vector x (k) obtained by the following equation (50) may be equal to or less than a predetermined value as a termination condition for the determination processing in step S3 of FIG.
Figure JPOXMLDOC01-appb-M000054
Figure JPOXMLDOC01-appb-M000054
 次式(51)を目的関数とし、次式(52)により求められる目的関数の変化量が、予め定められる所定値以下となることを図6のステップS3の判定処理の終了条件としてもよい。 The following equation (51) is used as the objective function, and the change amount of the objective function obtained by the following equation (52) may be equal to or less than a predetermined value as the end condition of the determination process in step S3 of FIG.
Figure JPOXMLDOC01-appb-M000055
Figure JPOXMLDOC01-appb-M000055
Figure JPOXMLDOC01-appb-M000056
Figure JPOXMLDOC01-appb-M000056
 上記の実施形態において、FFT部105は、2次元高速フーリエ変換に替えて、2次元離散フーリエ変換を行うようにしてもよいし、逆FFT部109は、2次元逆高速フーリエ変換に替えて、2次元逆離散フーリエ変換を行うようにしてもよい。 In the above embodiment, the FFT unit 105 may perform a two-dimensional discrete Fourier transform instead of the two-dimensional fast Fourier transform, and the inverse FFT unit 109 may perform two-dimensional inverse fast Fourier transform, A two-dimensional inverse discrete Fourier transform may be performed.
 上記の実施形態では、処理対象の画像信号として、RGBの3チャンネルを有するカラー画像信号としている。これに対して、CYMKの4チャンネルを有するカラー画像信号を処理対象の画像信号としてもよく、また、1チャンネルのモノクロ画像信号を処理対象の画像信号としてもよい。この場合、RGBのカラー画像信号の場合、N=3、CMYKのカラー画像信号の場合、N=4、モノクロ画像信号の場合、N=1とする変数Nを定義した上で、上記した式のうち、以下に示す式は、変数Nを用いて以下のように変更されることになる。式(1)、式(2)の添え字「3N」は、「NN」になる。式(5)の添え字「N×N×3」は、「N×N×N」になる。式(7)の記号Σの範囲を示す数値のうちΣの上の「3」は、「N」になる。式(12)の添え字「6N」は、「2NN」になる。式(15)の添え字「6N×3N」は、「2NN×NN」になる。式(16)の添え字「6N×6N」は、「2NN×2NN」になる。式(18)のargminの下の式(2)と同一の定義式は、式(2)と同様に、添え字「3N」が、「NN」になる。式(19)のargminの下の式(12)と同一の定義式は、式(12)と同様に、添え字「6N」が、「2NN」になる。 In the above embodiment, the image signal to be processed is a color image signal having three channels of RGB. On the other hand, a color image signal having four channels of CYMK may be used as an image signal to be processed, or a monochrome image signal of one channel may be used as an image signal to be processed. In this case, in the case of RGB color image signals, N c = 3 ; in the case of CMYK color image signals, N c =4; and in the case of monochrome image signals, N c =1. Of the above equations, the following equations are modified as follows using the variable Nc . The suffix “3N” in formulas (1) and (2) becomes “NN c ”. The subscript “N v ×N h ×3” in Equation (5) becomes “N v ×N h ×N c ”. Of the numerical values indicating the range of symbol Σ in equation (7), “3” above Σ becomes “N c ”. The subscript "6N" in equation (12) becomes "2NN c ". The subscript “6N×3N” in equation (15) becomes “2NN c ×NN c ”. The subscript “6N×6N” in equation (16) becomes “2NN c ×2NN c ”. In the definition formula that is the same as formula (2) under argmin of formula (18), the suffix "3N" becomes " NNc " as in formula (2). In the definition formula that is the same as formula (12) under argmin of formula (19), the suffix "6N" becomes "2NN c " as in formula (12).
 上記の実施形態では、信号処理装置1は、画像信号、すなわち2次元信号を処理対象としたエッジ保存平滑化を行っているが、通信信号などの1次元信号を処理対象としてもよく、その場合にも、同様の効果が得られることになる。 In the above-described embodiment, the signal processing apparatus 1 performs edge-preserving smoothing on an image signal, that is, a two-dimensional signal, but a one-dimensional signal such as a communication signal may be processed. A similar effect can be obtained for
 上述した実施形態における信号処理装置1をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。 The signal processing device 1 in the above-described embodiment may be realized by a computer. In that case, a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read into a computer system and executed. It should be noted that the "computer system" referred to here includes hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to portable media such as flexible discs, magneto-optical discs, ROMs and CD-ROMs, and storage devices such as hard discs incorporated in computer systems. Furthermore, "computer-readable recording medium" means a medium that dynamically retains a program for a short period of time, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. It may also include something that holds the program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or client in that case. Further, the program may be for realizing a part of the functions described above, or may be capable of realizing the functions described above in combination with a program already recorded in the computer system. It may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array).
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 Although the embodiment of the present invention has been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes design within the scope of the gist of the present invention.
 大域的最適化によりエッジ保存平滑化を行う技術に適用することができる。 It can be applied to techniques that perform edge-preserving smoothing through global optimization.
1…信号処理装置、2…制御部、10…第1変数更新部、20…第2変数更新部、30…第3変数更新部、40…更新判定部、50…ステップサイズ更新部 DESCRIPTION OF SYMBOLS 1... Signal processing apparatus 2... Control part 10... 1st variable update part 20... 2nd variable update part 30... 3rd variable update part 40... Update determination part 50... Step size update part

Claims (7)

  1.  入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する制御部
     を備える信号処理装置。
    By adjusting a first control parameter that is a sparse regularization function of a non-convex function for an input signal and is included in the weight of the non-convex function, the smoothness of the gradation is changed, and the weight of the non-convex function is adjusted. By adjusting a second control parameter contained in the input A signal processing apparatus comprising a controller for generating an edge-preserving smoothed output signal from a signal.
  2.  前記入力信号及び前記出力信号は、画像信号である、
     請求項1に記載の信号処理装置。
    wherein the input signal and the output signal are image signals;
    The signal processing device according to claim 1.
  3.  前記非凸関数のスパース正則化関数は、次式(1)によって定義される尖星ノルムであって順序付き加重Lノルムの重みベクトルwの要素が非負非減少(0≦w1≦w2…≦wN)とした尖星ノルムである、
    Figure JPOXMLDOC01-appb-M000001
     請求項1又は2に記載の信号処理装置。
    The sparse regularization function of the non-convex function is the cusp norm defined by the following equation (1) and the elements of the weight vector w of the ordered weight L 1 norm are non-negative non-decreasing (0 ≤ w1 ≤ w2 ... ≤ wN) is the cusp norm,
    Figure JPOXMLDOC01-appb-M000001
    3. The signal processing device according to claim 1 or 2.
  4.  前記重みベクトルwは、次式(2)式によって定義され、
    Figure JPOXMLDOC01-appb-M000002
     前記第1の制御パラメータは、式(2)におけるλであり、
     前記第2の制御パラメータは、式(2)におけるαである、
     請求項1から3のいずれか一項に記載の信号処理装置。
    The weight vector w is defined by the following formula (2),
    Figure JPOXMLDOC01-appb-M000002
    The first control parameter is λ in equation (2),
    The second control parameter is α in equation (2),
    The signal processing device according to any one of claims 1 to 3.
  5.  前記最適化問題は、
     次式(3)によって定義されるGPSL関数を用いて、
    Figure JPOXMLDOC01-appb-M000003
     次式(4)として定義され、
    Figure JPOXMLDOC01-appb-M000004
     前記制御部は、交互方向乗算法により前記最適化問題の解を算出する、
     請求項1から4のいずれか1つに記載の信号処理装置。
    The optimization problem is
    Using the GPSL function defined by the following equation (3),
    Figure JPOXMLDOC01-appb-M000003
    defined as the following formula (4),
    Figure JPOXMLDOC01-appb-M000004
    The control unit calculates the solution of the optimization problem by an alternating direction multiplication method.
    5. The signal processing device according to any one of claims 1 to 4.
  6.  信号処理装置が行う信号処理方法であって、
     入力信号に対して非凸関数のスパース正則化関数であって前記非凸関数の重みに含まれる第1の制御パラメータを調整することにより、グラデーションの滑らかさを変化させ、前記非凸関数の重みに含まれる第2の制御パラメータを調整することにより、エッジの急峻さを変化させる非凸関数のスパース正則化関数を適用して大域的最適化による最適化問題の解を算出することにより前記入力信号からエッジ保存平滑化した出力信号を生成する
     信号処理方法。
    A signal processing method performed by a signal processing device,
    By adjusting a first control parameter that is a sparse regularization function of a non-convex function for an input signal and is included in the weight of the non-convex function, the smoothness of the gradation is changed and the weight of the non-convex function is adjusted. By adjusting a second control parameter contained in the input A signal processing method that produces an edge-preserving smoothed output signal from a signal.
  7.  請求項1から5のいずれか一項に記載の信号処理装置としてコンピュータを実行させるための信号処理プログラム。 A signal processing program for executing a computer as the signal processing device according to any one of claims 1 to 5.
PCT/JP2021/009500 2021-03-10 2021-03-10 Signal processing device, signal processing method, and signal processing program WO2022190249A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023504954A JPWO2022190249A1 (en) 2021-03-10 2021-03-10
PCT/JP2021/009500 WO2022190249A1 (en) 2021-03-10 2021-03-10 Signal processing device, signal processing method, and signal processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/009500 WO2022190249A1 (en) 2021-03-10 2021-03-10 Signal processing device, signal processing method, and signal processing program

Publications (1)

Publication Number Publication Date
WO2022190249A1 true WO2022190249A1 (en) 2022-09-15

Family

ID=83226434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/009500 WO2022190249A1 (en) 2021-03-10 2021-03-10 Signal processing device, signal processing method, and signal processing program

Country Status (2)

Country Link
JP (1) JPWO2022190249A1 (en)
WO (1) WO2022190249A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011049696A (en) * 2009-08-25 2011-03-10 Canon Inc Image processing device, and image processing method
JP2013235403A (en) * 2012-05-09 2013-11-21 Nippon Hoso Kyokai <Nhk> Gradation restoration apparatus and program of the same
WO2016076076A1 (en) * 2014-11-11 2016-05-19 株式会社日立メディコ Magnetic resonance imaging apparatus and quantitative magnetic susceptibility mapping method
JP2018015572A (en) * 2016-07-29 2018-02-01 東芝メディカルシステムズ株式会社 Medical image processor and medical image diagnostic apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011049696A (en) * 2009-08-25 2011-03-10 Canon Inc Image processing device, and image processing method
JP2013235403A (en) * 2012-05-09 2013-11-21 Nippon Hoso Kyokai <Nhk> Gradation restoration apparatus and program of the same
WO2016076076A1 (en) * 2014-11-11 2016-05-19 株式会社日立メディコ Magnetic resonance imaging apparatus and quantitative magnetic susceptibility mapping method
JP2018015572A (en) * 2016-07-29 2018-02-01 東芝メディカルシステムズ株式会社 Medical image processor and medical image diagnostic apparatus

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AKAI, YUJI; SHIBATA, TOSHIHIRO; MATSUOKA, RYO; OKUDA, MASAHIRO: "Robust image smoothing based on gradient range constrains", IEICE TECHNICAL REPORT, vol. 118, no. 84 (MSS2018 1-36), 7 June 2018 (2018-06-07), JP , pages 33 - 37, XP009539743, ISSN: 0913-5685 *
HAYAKAWA, RYO; HAYASHI, KAZUNORI: "Nonconvex optimization based algorithm for discrete-valued vector reconstruction", IEICE TECHNICAL REPORT, vol. 1, no. 270 (RCC2019-55), 30 October 2019 (2019-10-30), JP , pages 11 - 16, XP009539742, ISSN: 0913-5685 *
RYORO TANAKA, KOHEI YATABE, YASUHIRO OIKAWA: "Audio Declipping with non-convex sparse optimization", PROCEEDINGS OF THE 2020 AUTUMN MEETING OF THE ACOUSTICAL SOCIETY OF JAPAN; SEPTEMBER 9-11, 2020, September 2020 (2020-09-01), JP , pages 181 - 184, XP009539818, ISSN: 1880-7658 *
SAKATA, AYAKA ET AL.: "Signal reconstruction using nonconvex sparse penalties and nonconvexity control", IEICE TECHNICAL REPORT, vol. 119, no. 485 (CCS2019-36), 18 March 2020 (2020-03-18), JP , pages 9 - 12, XP009539741, ISSN: 0913-5685 *

Also Published As

Publication number Publication date
JPWO2022190249A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
Lefkimmiatis Universal denoising networks: a novel CNN architecture for image denoising
Chan et al. Plug-and-play ADMM for image restoration: Fixed-point convergence and applications
Arjomand Bigdeli et al. Deep mean-shift priors for image restoration
KR101871098B1 (en) Apparatus and method for image processing
Paris et al. A fast approximation of the bilateral filter using a signal processing approach
Xu et al. A fast patch-dictionary method for whole image recovery
JP2010003298A (en) Method for filtering image
JP2010003297A (en) Method for filtering of image with bilateral filter and power image
Huang et al. Two-step approach for the restoration of images corrupted by multiplicative noise
US11741579B2 (en) Methods and systems for deblurring blurry images
Anger et al. Blind image deblurring using the l0 gradient prior
Wang et al. A nonlocal total variation model for image decomposition: illumination and reflectance
CN110827212B (en) Image restoration method based on overlapping combination sparse high-order total variation
Tsutsui et al. Halo artifacts reduction method for variational based realtime retinex image enhancement
Nam et al. Learning srgb-to-raw-rgb de-rendering with content-aware metadata
Chen et al. Deep Richardson–Lucy deconvolution for low-light image deblurring
WO2022190249A1 (en) Signal processing device, signal processing method, and signal processing program
Liu et al. Non-convex fractional-order derivative for single image blind restoration
CN115601260A (en) Hyperspectral image restoration method driven by neural network and optimization model in combined mode
Hajmohammadi et al. Parallel hybrid bispectrum-multi-frame blind deconvolution image reconstruction technique
Gao et al. Multiscale decomposition based high dynamic range tone mapping method using guided image filter
Zeng Low-light image enhancement algorithm based on lime with pre-processing and post-processing
Wei et al. Image denoising with deep unfolding and normalizing flows
Kiani et al. Solving robust regularization problems using iteratively re-weighted least squares
CN113822823B (en) Point neighbor restoration method and system for aerodynamic optical effect image space-variant fuzzy core

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21930106

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023504954

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21930106

Country of ref document: EP

Kind code of ref document: A1