US8774545B2 - Image processing apparatus and image processing method with weighted vectors for filtering - Google Patents
Image processing apparatus and image processing method with weighted vectors for filtering Download PDFInfo
- Publication number
- US8774545B2 US8774545B2 US13/313,524 US201113313524A US8774545B2 US 8774545 B2 US8774545 B2 US 8774545B2 US 201113313524 A US201113313524 A US 201113313524A US 8774545 B2 US8774545 B2 US 8774545B2
- Authority
- US
- United States
- Prior art keywords
- filters
- image
- pixel
- filter
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
- G06T2207/20012—Locally adaptive
Definitions
- the present invention relates to a filter processing technique.
- the method in patent literature 1 needs to hold all filters different between respective pixels and thus requires a large memory capacity.
- the method in patent literature 2 generates a filter between representative filters simply by linear interpolation.
- linear interpolation decides the weight based on the distance between filters.
- no intermediate filter can be generated at high precision.
- the method in patent literature 2 can reduce the data amount of filters to be held, but cannot decrease the operation amount used when filters act on an image.
- the present invention has been made to overcome the conventional drawbacks, and provides a technique for reducing the data amount of filters to be held and reducing the operation amount used when filters act on an image.
- an image processing apparatus comprises: a holding unit that holds a plurality of representative filters; a unit that acquires, for respective pixels which form an image, weight vectors containing weight values for the respective representative filters as components; a unit that causes the respective representative filters to act on the respective pixels which form the image; and a unit that weights results of the action with the weight vectors and adds the results.
- an image processing method to be performed by an image processing apparatus which holds a plurality of representative filters comprises the steps of: acquiring, for respective pixels which form an image, weight vectors containing weight values for the respective representative filters as components; causing the respective representative filters to act on the respective pixels which form the image; and weighting results of the action with the weight vectors and adding the results.
- FIG. 1 is a block diagram exemplifying the functional arrangement of an image processing apparatus
- FIG. 2 is a block diagram exemplifying the functional arrangement of the image processing apparatus
- FIG. 3 is a block diagram exemplifying the functional arrangement of the image processing apparatus
- FIG. 4 is a flowchart showing processing by a representative filter acquisition unit 100 ;
- FIG. 5 is a block diagram exemplifying the functional arrangement of the image processing apparatus
- FIG. 6 is a flowchart showing processing by a weight coefficient calculation unit 200 ;
- FIG. 7 is a flowchart showing processing by a filter operation unit 300 ;
- FIG. 8 is a view exemplifying division of an image and setting of a representative filter
- FIGS. 9A and 9B are views exemplifying the distributions of weight values for respective pixels in correspondence with a representative filter fi;
- FIG. 10 is a view showing a shake filter for each location against a rotational camera shake centered on an upper left portion of an image
- FIGS. 11A to 11C are views for explaining the effect of the first embodiment
- FIG. 12 is a block diagram exemplifying the functional arrangement of an image processing apparatus
- FIG. 13 is a flowchart showing processing by a representative filter acquisition unit 1200 ;
- FIG. 14 is a view for explaining a filter
- FIG. 15 is a view exemplifying a filter.
- An image processing apparatus 500 acquires the number N of representative filters (to be described later) via a terminal 501 , and acquires an input image via a terminal 502 .
- the image processing apparatus 500 outputs an image having undergone filter processing via a terminal 503 .
- Respective units in the image processing apparatus 500 will be explained separately with reference to FIGS. 1 to 3 .
- FIGS. 1 to 3 need not always be assembled into one apparatus and may be assembled separately into an appropriate number of apparatuses. In this case, the respective apparatuses perform cooperative operations to implement each processing to be described later.
- the arrangement shown in FIG. 1 is configured to select, as representative filters from filters set in advance for respective pixels which form an image, main filters which approximate these filters.
- Filters to be applied to pixels are registered in a filter database 110 for respective pixels which form an image (filter holding).
- the filter database 110 may be arranged in the image processing apparatus or an external apparatus.
- a representative filter acquisition unit 100 includes an importance calculation unit 103 , an acquisition unit 104 , and terminals 101 , 102 , and 105 .
- the importance calculation unit 103 reads out, via the terminal 101 , filters for respective pixels that are registered in the filter database 110 .
- the importance calculation unit 103 calculates importances for the respective readout filters. Processing of calculating an importance will be described later.
- the acquisition unit 104 acquires the number N of representative filters via the terminal 102 .
- the number N of representative filters may be held in advance in the image processing apparatus, input by the user, or acquired from an external apparatus.
- the acquisition unit 104 selects N filters as representative filters in descending order of importance from the filters read out from the filter database 110 by the importance calculation unit 103 . At this time, if not all the filters selected as representative filters are equal in size, for example, all the representative filters are resized to the size of a representative filter of highest importance. Then, the acquisition unit 104 registers the selected representative filters in a representative filter database 120 via the terminal 105 .
- a weight coefficient calculation unit 200 includes a correlation vector calculation unit 203 , a correlation matrix calculation unit 204 , an equation solution derivation unit 205 , and terminals 201 , 202 , and 206 .
- the correlation vector calculation unit 203 reads out, via the terminal 201 , filters for respective pixels that are registered in the filter database 110 . Also, the correlation vector calculation unit 203 reads out, via the terminal 202 , respective representative filters registered in the representative filter database 120 . For respective pixels that form an image, the correlation vector calculation unit 203 calculates correlation vectors b indicating correlations between the filters for pixels and the respective representative filters.
- the correlation matrix calculation unit 204 reads out, via the terminal 202 , respective representative filters registered in the representative filter database 120 .
- the correlation matrix calculation unit 204 calculates a correlation matrix A indicating correlations between the representative filters.
- the weight vector w generated for a pixel of interest is a vector by which the correlation matrix A is multiplied in order to obtain the correlation vector b obtained for the pixel of interest and which contains weight values for respective representative filters as components.
- the equation solution derivation unit 205 registers the weight vectors w obtained for respective pixels as weight data in a weight coefficient database 210 via the terminal 206 . Methods of obtaining the correlation vector b, correlation matrix A, and weight vector w, and details of them will be described later.
- a filter operation unit 300 includes a weight coefficient multiplication unit 304 , a convolution operation unit 305 , a composition unit 306 , an end determination unit 307 , and terminals 301 , 302 , 303 , and 308 .
- the weight coefficient multiplication unit 304 acquires image data as an input image via the terminal 301 .
- the weight coefficient multiplication unit 304 multiplies the acquired input image by the weight value of each representative filter registered in the weight coefficient database 210 , generating a weight coefficient-multiplied image for each representative filter.
- the convolution operation unit 305 executes a convolution operation between a representative filter registered in the representative filter database 120 and the weight coefficient-multiplied image generated by the weight coefficient multiplication unit 304 for the representative filter, generating a convoluted image for each representative filter.
- the composition unit 306 composites the generated convoluted image with already-generated convoluted images. As a result, a composite image of all convoluted images generated up to this time is generated. Needless to say, the composition timing is not limited to this, and after generating convoluted images for respective representative filters, these convoluted images may be composited simultaneously.
- the end determination unit 307 controls the convolution operation unit 305 and composition unit 306 to repeat, by the number N of representative filters, a series of operations of “generating a convoluted image and compositing it with already-generated convoluted images” by the convolution operation unit 305 and composition unit 306 .
- the end determination unit 307 outputs, a composite image generated by repeating the series of operations by the number N of representative filters as image data via the terminal 308 .
- the composite image output destination is not particularly limited, and the composite image may be stored in a memory, output to an external apparatus, or displayed on the display device.
- step S 402 the importance calculation unit 103 reads out a filter corresponding to the coordinate position (x,y) from the filter database 110 via the terminal 101 .
- This filter is, for example, a 3 ⁇ 3 filter, as shown in FIG. 15 .
- a filter to be applied to a pixel of interest is formed from coefficients by which pixels including the pixel of interest and its peripheral pixels are multiplied.
- step S 403 the importance calculation unit 103 calculates the importance of the readout filter. The importance calculation method will be described later.
- step S 405 the importance calculation unit 103 increments the value of the variable x or y by one to update it, and sets an unprocessed coordinate position as the coordinate position of a pixel of interest. Assume that the coordinate position is updated from upper left to lower right of the image. The processes in step S 402 and subsequent steps are executed for the updated coordinate position.
- step S 406 the acquisition unit 104 acquires the number N of representative filters via the terminal 102 and selects N filters as representative filters from filters for respective pixels in descending order of importance.
- step S 407 the acquisition unit 104 registers the N selected filters in the representative filter database 120 via the terminal 105 .
- step S 602 the correlation vector calculation unit 203 reads out a filter corresponding to the coordinate position (x,y) from the filter database 110 via the terminal 201 .
- step S 603 the correlation vector calculation unit 203 first reads out respective representative filters registered in the representative filter database 120 via the terminal 202 . Then, the correlation vector calculation unit 203 calculates the correlation vectors b indicating correlations between the filter read out in step S 602 and the respective representative filters read out in this step. A method of calculating the correlation vector b will be described later.
- step S 604 the correlation matrix calculation unit 204 first reads out, via the terminal 202 , respective representative filters registered in the representative filter database 120 . Then, the correlation matrix calculation unit 204 calculates the correlation matrix A indicating correlations between the representative filters. A method of calculating the correlation matrix A will be described later.
- the obtained weight vector w is a vector by which the correlation matrix A calculated in step S 604 is multiplied in order to obtain the correlation vector b calculated in step S 603 and contains weight values for respective representative filters as components.
- the weight vector w is a vector having N weight values as elements.
- the ith (1 ⁇ i ⁇ N) weight value is a weight value for the ith representative filter (representative filter fi).
- step S 606 the equation solution derivation unit 205 registers the weight vector w obtained in step S 605 in the weight coefficient database 210 via the terminal 206 .
- step S 608 the weight coefficient calculation unit 200 increments the value of the variable x or y by one to update it, and sets an unprocessed coordinate position as the coordinate position of a pixel of interest. Assume that the coordinate position is updated from upper left to lower right of the image. The processes in step S 602 and subsequent steps are executed for the updated coordinate position.
- a weight coefficient-multiplied image Ji can be generated by multiplying the input image by a weight value serving as the ith element of each weight vector.
- Ji(x′,y′) is a pixel value at the pixel position (x′,y′) in the weight coefficient-multiplied image Ji.
- step S 703 the convolution operation unit 305 first reads out the representative filter fi from the representative filter database 120 .
- the convolution operation unit 305 then performs a convolution operation between Ji(x′,y′) and fi(x ⁇ x′,y ⁇ y′) (calculation of Ji(x,y)*fi(x,y): * is an operator representing a convolution operation).
- this convolution operation can be executed similarly to convolution of a normal filter.
- the convolution operation may be performed in a real space or a frequency space using equation (2): F ⁇ 1 [F(f i )F(J i )] (2) where F[ ] is the Fourier transform and F ⁇ 1 [ ] is the inverse Fourier transform.
- step S 705 the end determination unit 307 determines whether the value of the variable i becomes equal to or larger than N. If the value of the variable i ⁇ N as a result of the determination, the process advances to step S 707 ; if the value of the variable i ⁇ N, to step S 706 .
- step S 706 the end determination unit 307 increments the value of the variable i by one, and operates the weight coefficient multiplication unit 304 , convolution operation unit 305 , and composition unit 306 . After that, the process returns to step S 702 .
- step S 707 the end determination unit 307 outputs the array K as an image having undergone filter processing via the terminal 308 .
- the importance calculation unit 103 gives a higher importance to a filter having a larger coefficient value. For example, when the sum of squares of the value of each coefficient in a filter is larger, a higher importance is assigned to this filter.
- an element which determines the degree of importance is not limited to this, and other elements are also conceivable. For example, a higher importance may be assigned to a filter having a larger size. In this way, various elements determine the degree of importance, and only one or a plurality of elements may be used.
- a predetermined number of filters may be selected from filters for respective pixels in descending order of importance, as described above, but representative filters can be selected by another method. For example, an image is divided into N areas (area size and shape are not particularly limited). Then, a filter of highest importance among filters corresponding to respective pixels in the jth (1 ⁇ j ⁇ N) area is selected as a representative filter for the jth area. This processing is performed for all js which satisfy 1 ⁇ j ⁇ N. Accordingly, representative filters for the respective areas can be decided and thus N representative filters can be decided.
- a filter of highest importance among filters corresponding to respective pixels in the area 802 is selected as a representative filter 801 .
- the pixel positions of filters selected as representative filters are appropriately scattered within the area, and filters large in both the absolute value of the coefficient and size can be extracted.
- the method is not limited to the above one as long as representative filters can properly approximate filters different between pixels by the linear sum of a plurality of representative filters.
- a filter corresponding to the coordinate position (x′,y′) can be expressed as F(x ⁇ x′,y ⁇ y′,x′,y′), and the representative filter fi can be expressed as fi(x ⁇ x′,y ⁇ y′).
- a weight value is decided to minimize the following evaluation value V:
- a weight value can be decided while reflecting the characteristic of the filter F(x ⁇ x′,y ⁇ y′,x′,y′).
- V is partially differentiated by wi(x′,y′) and set as 0:
- the weight vector w can be obtained. If there is no inverse matrix of A, the pseudo-inverse matrix of A is applied.
- the correlation vector calculation unit 203 calculates the correlation vector b in equations (6), and the correlation matrix calculation unit 204 calculates the correlation matrix A in equations (6).
- FIGS. 9A and 9B exemplify the distributions of weight values for respective pixels in correspondence with the representative filter fi.
- FIG. 9A shows a set of weight values corresponding to a first representative filter 901 .
- FIG. 9B shows a set of weight values corresponding to a second representative filter 902 .
- the number of weight values for a single representative filter equals the number of pixels, so the number of weight values changes depending on an image.
- a white portion represents a large weight value.
- weight values are only positive values, but negative values are possible in general.
- the evaluation value V is given as represented by equation (3) for simplicity. However, more commonly, the evaluation value V may be weighted for each pixel position, as represented by equation (7):
- a(x′,y′) is an appropriate weight coefficient. For example, it is considered that the filter needs to be reproduced more accurately for a higher-frequency area in an image.
- the value of the weight coefficient a(x′,y′) may be increased for a high-frequency image area.
- the method is not limited to the above one as long as the filter F(x ⁇ x′,y ⁇ y′,x′,y′) can be properly approximated by the linear sum of representative filters and weight coefficients.
- the filter F(x ⁇ x′,y ⁇ y′,x′,y′) is approximated by expression (9):
- composition unit 306 achieves calculation of equation (10) by solving equation (11):
- Processing using a filter set for each image area is as follows. First, an image is divided into R image areas, and a single filter is applied within the same region. At this time, a filter for the rth area can be represented by F(x ⁇ x′,y ⁇ y′,r) (1 ⁇ r ⁇ R).
- FIG. 10 shows a shake filter for each location against a rotational camera shake centered on an upper left portion of an image. Although respective pixels originally have different shake filters, FIG. 10 shows only nine representative shake filters 1002 to 1010 . The shake filters 1002 to 1010 shown in FIG. 10 are adopted as representative filters. At this time, approximation of a filter at a point 1001 will be examined.
- FIG. 11A shows a filter at the point 1001 .
- FIG. 11B shows an intermediate filter generated from the shake filters 1006 , 1007 , 1009 , and 1010 by linear interpolation.
- FIG. 11C shows an intermediate filter generated from the shake filters 1002 to 1010 by processing according to the first embodiment.
- Tables 1101 to 1103 show numerical expressions of extracted parts of the filters in FIGS. 11A to 11C .
- the tables 1101 to 1103 extract the same parts from the filters in FIGS. 11A to 11C .
- the generation method according to the first embodiment can generate a filter closer to one at the point 1001 than an intermediate filter generated by linear interpolation.
- a memory capacity necessary in the embodiment and a calculation amount required when filters different between respective pixels act on an image will be examined.
- the maximum filter size is S 2 (pixel) and the number of pixels of an image is M 2 (pixel).
- a memory necessary to hold all filters different between respective pixels is O((MS) 2 ) in where O is order.
- a memory necessary to hold representative filters is O(NS 2 )
- a memory necessary to hold weight values is O(NM 2 )
- a memory of O(N(M 2 +S 2 )) is needed in total.
- a calculation amount required when filters act on an image will be considered.
- filters act on respective pixels and the calculation amount is O((MS) 2 ).
- O(NM 2 ) is required to calculate Ji(x′,y′) for the number N of representative filters in equation (11).
- the operation of a filter on an image can be rewritten into convolution, so a calculation amount of O(NM log M) is necessary for calculation of equation (11) in the use of FFT. If the image is sufficiently large, O(NM 2 )>>O(NM log M) and a calculation amount of O(NM 2 ) is necessary for a filter to act on the image.
- filters different between pixels (areas) are approximated by linear coupling of representative filters and weight coefficients.
- a memory for storing filters and the amount of operation on an image can be reduced.
- the embodiment has exemplified a shake filter as a filter.
- the present invention is applicable to a filter for any purpose such as an optical blur or out-of-focusing corresponding to the object distance.
- An image processing apparatus is different from that in the first embodiment only in that it has an arrangement shown in FIG. 12 instead of the arrangement shown in FIG. 1 .
- the arrangement shown in FIG. 12 will be explained. Even in the second embodiment, the arrangement shown in FIG. 12 may be assembled into separate apparatuses.
- the arrangement shown in FIG. 12 is configured to generate, as representative filters from filters set in advance for respective pixels which form an image, main filters which approximate these filters.
- a representative filter acquisition unit 1200 includes a correlation matrix calculation unit 1201 , a diagonalization processing unit 1202 , a generation unit 1203 , and terminals 101 , 102 , and 105 .
- the correlation matrix calculation unit 1201 reads out filters for respective pixels that are stored in a filter database 110 , and calculates the correlation matrix between the filters.
- the diagonalization processing unit 1202 obtains the eigenvectors and eigenvalues of the correlation matrix calculated by the correlation matrix calculation unit 1201 . Note that the eigenvectors are set to be orthogonal to each other (since the correlation matrix is a symmetric matrix, eigenvectors can be set to be orthogonal to each other).
- the generation unit 1203 first acquires the number N of representative filters via the terminal 102 . Then, the generation unit 1203 linearly couples eigenvectors and filters in descending order of the eigenvalue, generating representative filters.
- step S 1301 the correlation matrix calculation unit 1201 reads out, via the terminal 101 , filters for respective pixels that are stored in the filter database 110 .
- the correlation matrix calculation unit 1201 then calculates correlation matrices between the readout filters.
- the correlation matrix may be a correlation matrix between different filters or one between identical filters.
- step S 1302 the diagonalization processing unit 1202 diagonalizes each correlation matrix calculated in step S 1301 , obtaining eigenvalues and eigenvectors.
- the diagonalization processing unit 1202 assigns indices of 1, 2, 3, . . . to eigenvalues in descending order of the value.
- step S 1303 the generation unit 1203 initializes a variable i used below to 1.
- step S 1304 the generation unit 1203 calculates linear coupling of filters and eigenvectors corresponding to eigenvalues assigned with indices of the value of the variable i, obtaining the linear coupling result as the ith representative filter. Details of the processing in this step will be described later.
- step S 1305 the generation unit 1203 registers the obtained ith representative filter in a representative filter database 120 via the terminal 105 .
- step S 1307 the generation unit 1203 determines whether the value of the variable i is equal to or larger than the number N of representative filters. If the value of the variable i ⁇ N as a result of the determination, the process ends; if the value of the variable i ⁇ N, advances to step S 1306 .
- step S 1306 the generation unit 1203 increments the value of the variable i by one, and performs the processes in steps S 1304 and subsequent steps.
- the representative filter acquisition unit 1200 generates a representative filter using principal component analysis.
- the representative filter is generated by linear coupling of filters.
- the ith representative filter fi(x,y) is generated in accordance with equation (12):
- vi is a weight for the ith representative filter fi. Although vi is a two-dimensional array, it can be handled as a vector by rearranging vi(x′,y′) in line from upper left to lower right.
- the correlation matrix calculation unit 1201 calculates a correlation matrix by solving equation (13):
- C F also has four suffixes, but can be handled as a matrix by the same rearrangement as that of vi.
- the diagonalization processing unit 1202 diagonalizes the correlation matrix C F , obtaining the weights vi as eigenvectors.
- the generation unit 1203 extracts eigenvectors sequentially in descending order of the eigenvalue, and generates a representative filter in accordance with equation (12).
- a filter of high importance is acquired directly as a representative filter from filters.
- a representative filter with high contribution is generated by linear coupling of filters using principal component analysis.
- a filter can be approximated more accurately by a smaller number of representative filters than those in the first embodiment.
- the first embodiment has described a method of decomposing filters different between pixel positions (areas) into representative filters and weight coefficients, and approximating filters.
- the third embodiment will describe filter decomposition when the filter changes depending on the pixel position (area) and pixel value. Only a difference from the first embodiment will be described below.
- Q filters are registered in a filter database 110 for respective pixel positions.
- filter F(x ⁇ x′,y ⁇ y′,x′,y′, ⁇ ) is approximated according to expression (14):
- ⁇ i 1 N ⁇ w i ⁇ ( x ′ , y ′ , ⁇ ) ⁇ f i ⁇ ( x - x ′ , y - y ′ ) ( 14 )
- the weight vector w depends on ⁇ .
- the remaining operation is the same as that in the first embodiment.
- a correlation vector calculation unit 203 in a weight coefficient calculation unit 200 calculates a coefficient value by solving equation (15):
- a representative filter acquisition unit 1200 generates a representative filter based on equation (16):
- vi is a three-dimensional array, it is converted into a two-dimensional array vi(X, ⁇ ) by rearranging vi(x′,y′,a) in line from upper left to lower right while fixing ⁇ . Further, vi(X, ⁇ ) is rearranged in line from upper left to lower right, and vi can therefore be handled as a vector.
- a correlation matrix calculation unit 1201 calculates a correlation matrix by solving equation (17):
- C F has six suffixes, but can be handled as a matrix by the same rearrangement as that of vi. The remaining operation is the same as that in the second embodiment.
- filters different between pixel positions (areas) and pixel values are approximated by linear coupling of representative filters and weight coefficients.
- a memory for storing filters and the amount of operation on an image can be reduced.
- the respective units shown in FIGS. 1 , 2 , 3 , and 12 may be implemented as hardware, or some or all of them may be implemented as software (computer program).
- a filter database 110 , representative filter database 120 , and weight coefficient database 210 are registered in a large-capacity information storage device typified by a hard disk drive device.
- the remaining units are installed as computer programs in a computer.
- information described as known one in the above-described processing, image data to be processed, and the like are also stored in the computer.
- the large-capacity information storage device is connected to the computer.
- the CPU of the computer executes processing using the installed computer program, data, and various databases registered in the large-capacity information storage device, implementing the processes described in the above embodiments.
- aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s).
- the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (for example, computer-readable medium).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
Description
Aw=b (1)
F−1[F(fi)F(Ji)] (2)
where F[ ] is the Fourier transform and F−1[ ] is the inverse Fourier transform.
where a(x′,y′) is an appropriate weight coefficient. For example, it is considered that the filter needs to be reproduced more accurately for a higher-frequency area in an image. To do this, the value of the weight coefficient a(x′,y′) may be increased for a high-frequency image area. The method is not limited to the above one as long as the filter F(x−x′,y−y′,x′,y′) can be properly approximated by the linear sum of representative filters and weight coefficients.
where vi is a weight for the ith representative filter fi. Although vi is a two-dimensional array, it can be handled as a vector by rearranging vi(x′,y′) in line from upper left to lower right.
Claims (19)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010283729A JP5761988B2 (en) | 2010-12-20 | 2010-12-20 | Image processing apparatus and image processing method |
JP2010-283729 | 2010-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120155784A1 US20120155784A1 (en) | 2012-06-21 |
US8774545B2 true US8774545B2 (en) | 2014-07-08 |
Family
ID=46234522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/313,524 Active 2032-04-12 US8774545B2 (en) | 2010-12-20 | 2011-12-07 | Image processing apparatus and image processing method with weighted vectors for filtering |
Country Status (2)
Country | Link |
---|---|
US (1) | US8774545B2 (en) |
JP (1) | JP5761988B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5766034B2 (en) | 2011-06-08 | 2015-08-19 | キヤノン株式会社 | Image processing method, image processing apparatus, and program. |
JP5968107B2 (en) | 2011-09-01 | 2016-08-10 | キヤノン株式会社 | Image processing method, image processing apparatus, and program |
JP6112824B2 (en) | 2012-02-28 | 2017-04-12 | キヤノン株式会社 | Image processing method and apparatus, and program. |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241372A (en) * | 1990-11-30 | 1993-08-31 | Sony Corporation | Video image processing apparatus including convolution filter means to process pixels of a video image by a set of parameter coefficients |
US20020172431A1 (en) * | 2001-03-07 | 2002-11-21 | Atkins C. Brian | Digital image appearance enhancement and compressibility improvement method and system |
US20030048368A1 (en) * | 2001-08-31 | 2003-03-13 | Angelo Bosco | Noise filter for bayer pattern image data |
US20040120598A1 (en) * | 2002-12-18 | 2004-06-24 | Feng Xiao-Fan | Blur detection system |
JP2005031759A (en) | 2003-07-07 | 2005-02-03 | Canon Inc | Image processor and image processing method to which spatial filter is applied |
JP2005063323A (en) | 2003-08-19 | 2005-03-10 | Univ Waseda | Image modification processing method and apparatus, program, and data recording medium |
US7680353B2 (en) * | 2002-11-14 | 2010-03-16 | Microsoft Corporation | Stabilization of objects within a video sequence |
US20100262425A1 (en) * | 2008-03-21 | 2010-10-14 | Tokyo University Of Science Educational Foundation Administrative Organization | Noise suppression device and noise suppression method |
US8036494B2 (en) * | 2004-04-15 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Enhancing image resolution |
US8345130B2 (en) * | 2010-01-29 | 2013-01-01 | Eastman Kodak Company | Denoising CFA images using weighted pixel differences |
US8411980B1 (en) * | 2010-11-12 | 2013-04-02 | Adobe Systems Incorporated | Removing motion blur from unaligned multiple blurred images |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007067625A (en) * | 2005-08-30 | 2007-03-15 | Matsushita Electric Ind Co Ltd | Filter correction circuit in camera system |
-
2010
- 2010-12-20 JP JP2010283729A patent/JP5761988B2/en active Active
-
2011
- 2011-12-07 US US13/313,524 patent/US8774545B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241372A (en) * | 1990-11-30 | 1993-08-31 | Sony Corporation | Video image processing apparatus including convolution filter means to process pixels of a video image by a set of parameter coefficients |
US20020172431A1 (en) * | 2001-03-07 | 2002-11-21 | Atkins C. Brian | Digital image appearance enhancement and compressibility improvement method and system |
US20030048368A1 (en) * | 2001-08-31 | 2003-03-13 | Angelo Bosco | Noise filter for bayer pattern image data |
US7680353B2 (en) * | 2002-11-14 | 2010-03-16 | Microsoft Corporation | Stabilization of objects within a video sequence |
US20040120598A1 (en) * | 2002-12-18 | 2004-06-24 | Feng Xiao-Fan | Blur detection system |
JP2005031759A (en) | 2003-07-07 | 2005-02-03 | Canon Inc | Image processor and image processing method to which spatial filter is applied |
JP2005063323A (en) | 2003-08-19 | 2005-03-10 | Univ Waseda | Image modification processing method and apparatus, program, and data recording medium |
US8036494B2 (en) * | 2004-04-15 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Enhancing image resolution |
US20100262425A1 (en) * | 2008-03-21 | 2010-10-14 | Tokyo University Of Science Educational Foundation Administrative Organization | Noise suppression device and noise suppression method |
US8345130B2 (en) * | 2010-01-29 | 2013-01-01 | Eastman Kodak Company | Denoising CFA images using weighted pixel differences |
US8411980B1 (en) * | 2010-11-12 | 2013-04-02 | Adobe Systems Incorporated | Removing motion blur from unaligned multiple blurred images |
Non-Patent Citations (2)
Title |
---|
Lukac et al, Selection weighted vector directional filters, Computer Vision and Image Understanding 94 (2004) 140-167. * |
Nishimiya et al, Image Restoration by Using Multiple Wiener Filters, Electronics and Communications in Japan, Part 3, vol. 85, No. 8, 2002. * |
Also Published As
Publication number | Publication date |
---|---|
JP2012134668A (en) | 2012-07-12 |
JP5761988B2 (en) | 2015-08-12 |
US20120155784A1 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8379120B2 (en) | Image deblurring using a combined differential image | |
US8280180B2 (en) | Method and system for image restoration in the spatial domain | |
US6754398B1 (en) | Method of and system for image processing and recording medium for carrying out the method | |
US20090034865A1 (en) | Method for Filtering Images with Bilateral Filters | |
US20110211765A1 (en) | Image processing apparatus, image processnig method, and program | |
US8462985B2 (en) | Video evaluation apparatus, spatio-temporal frequency analyzing apparatus, video evaluation method, spatio-temporal frequency analyzing method, video evaluation program, and spatio-temporal frequency analyzing program | |
JP2002269556A (en) | Method for removing noise from digital image based on multiresolution | |
US20040264799A1 (en) | Method of processing an image to form an image pyramid | |
US8422767B2 (en) | Method and apparatus for transforming signal data | |
US11145032B2 (en) | Image processing apparatus, method and storage medium for reducing color noise and false color | |
WO2014070273A1 (en) | Recursive conditional means image denoising | |
US8134613B2 (en) | Image processing apparatus and method, and image pickup apparatus | |
JP7032913B2 (en) | Image processing device, image processing method, computer program | |
Tan et al. | Performance of three recursive algorithms for fast space-variant Gaussian filtering | |
US8774545B2 (en) | Image processing apparatus and image processing method with weighted vectors for filtering | |
CN111709904A (en) | Image fusion method and device | |
US20140363090A1 (en) | Methods for Performing Fast Detail-Preserving Image Filtering | |
JP6997969B2 (en) | Image synthesis system, image synthesis method, and image synthesis program recording medium | |
US10540735B2 (en) | Information processing device, information processing method, and recording medium | |
CN110111261B (en) | Adaptive balance processing method for image, electronic device and computer readable storage medium | |
JP2017010093A (en) | Image processing apparatus, imaging device, image processing method, image processing program, and recording medium | |
JP5493191B2 (en) | Image restoration apparatus and image restoration method | |
JP7301589B2 (en) | Image processing device, image processing method, and program | |
JP6661491B2 (en) | Image processing apparatus and image processing method | |
JP6835227B2 (en) | Image processing equipment, image processing methods and computer programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CANON KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NISHIYAMA, TOMOHIRO;REEL/FRAME:027930/0883 Effective date: 20111201 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |