WO2015128302A1 - Method and apparatus for filtering and analyzing a noise in an image - Google Patents

Method and apparatus for filtering and analyzing a noise in an image Download PDF

Info

Publication number
WO2015128302A1
WO2015128302A1 PCT/EP2015/053775 EP2015053775W WO2015128302A1 WO 2015128302 A1 WO2015128302 A1 WO 2015128302A1 EP 2015053775 W EP2015053775 W EP 2015053775W WO 2015128302 A1 WO2015128302 A1 WO 2015128302A1
Authority
WO
WIPO (PCT)
Prior art keywords
patch
image
patches
uniform
noise
Prior art date
Application number
PCT/EP2015/053775
Other languages
French (fr)
Inventor
Pierre Hellier
Vincent Demoulin
Lionel Oisel
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2015128302A1 publication Critical patent/WO2015128302A1/en

Links

Classifications

    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/41Analysis of texture based on statistical description of texture
    • 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/20021Dividing image into blocks, subimages or windows
    • 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/20204Removing film grain; Adding simulated film grain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present invention relates generally to the field of image processing. More precisely, the invention relates to a method and an apparatus for filtering and analyzing a noise, e.g. film grain noise, in an image of a sequence of images.
  • a noise e.g. film grain noise
  • a chemical film is made of color layers, e.g. one layer for a black-and-white film or three color layers for a color film. Each layer contains color particles or grains. If a film is scanned on a film scanner, the resulting digital signal contains film grain noise, which manifests as small-scale spatio-temporal noise artifacts caused by the film grain. Since film grain noise has a relatively large energy level in the high- frequency region, it is more expensive to encode in the DCT domain. Besides, the underlying video suffers from inaccurate motion estimation. A natural idea to overcome this problem is to remove film grain noise as much as possible as a preprocessing step so as to achieve a higher coding gain.
  • Figure 1 illustrates film grain management according to previous art.
  • image processing 14 such as up- sampling, encoding
  • re-synthesize 18 film grain and to add it back to the enhanced image 15 to get the final image 19.
  • Such synthesis 18 film grain requires a grain analysis 1 6 from the input image 1 1 and from the denoised image 13.
  • the denoising 12 and the film grain analysis 1 6 are processed sequentially.
  • the invention is directed to a method, performed by a processor, for filtering and analyzing a noise in an image.
  • the method comprises, for each current patch in the image, obtaining similar patches to the current patch, a similar patch being a patch with similar content; and in the case where the current patch is a uniform patch, a uniform patch being a patch with uniform content; memorizing the current patch and similar patches to the current patch into a list of uniform patches; obtaining a filtered image by filtering noise in the image from the similar patches; and obtaining a noise profile for the image from the list of patches and optionally from the filtered image.
  • Each of the current patches in the image is obtained for a patch being centered on each of the pixels of the image. Indeed, the processed patches are defined at a pixel precision.
  • the method mutualizes the computation of local statistics in particular regarding patches similarity by performing jointly the denoising and the grain analysis.
  • the method advantageously determines homogenous area by considering a uniform patch and its associated similar patches.
  • the grain analysis benefits from the pixel wise determining of patches of the denoising to drastically increase the number of patches considered for homogeneity.
  • grain analysis relies on disjoint patches to minimize the computation of local statistics.
  • the method improves the noise profile estimation from a quality point of view since it relies on more patches.
  • obtaining, for the current patch, similar patches in the image comprises determining if a distance between the current patch and the similar patch is small, ie below a first threshold.
  • the current patch is a uniform patch if a variance of the current patch is low, ie below a second threshold.
  • memorizing a new uniform patch, ie among the current patch and similar patches determined for the current patch, into a list of uniform patches comprises adding, to the list of uniform patches, a patch among the current patch and the similar patches to the current patch that are not comprised in the list of uniform patches.
  • the list of uniform patches comprises a location of a pixel wherein the current patch is centered on this pixel or the similar patches are centered on this pixel.
  • the list of uniform patches further comprises the mean value of the current patch or of the similar patches.
  • the noise is film grain noise.
  • the invention is directed to an apparatus comprising at least one processor; and a memory coupled to the at least one processor, wherein the memory stores program instructions, wherein the program instructions are executable by the at least one processor to perform the disclosed method.
  • the invention is directed to an apparatus comprising means for obtaining, for each current patch, similar patches to said current patch, a similar patch being a patch with similar content; means for memorizing the current patch and similar patches to the current patch into a list of uniform patches in the case where the current patch is a uniform patch, a uniform patch being a patch with uniform content; and means for filtering noise in the image from the similar patches; means for obtaining a noise profile for the image from the list of uniform patches.
  • the invention is directed to a computer program product comprising program code instructions to execute of the steps of the disclosed method when this program is executed on a computer.
  • the invention is directed to a computer-readable storage medium storing program instructions computer-executable to perform the disclosed method.
  • Figure 1 illustrates steps of the denoising, film grain management and image processing according to prior art
  • Figure 2 illustrates steps of the denoising, film grain management and image processing according to a particular embodiment of the invention
  • Figure 3 illustrates steps of the method for filtering and analyzing a noise in an image according to a particular embodiment of the invention
  • Figure 4 illustrates steps of the retrieving of a noise profile according to a particular embodiment of the invention.
  • Figure 5 illustrates an apparatus according to a particular embodiment of the invention.
  • film grain management generally includes three steps.
  • the first step is noise filtering 12, i.e. denoising or removal of noise, of an images sequence, wherein each image potentially shows different profiles of film grain noise.
  • Noise filtering 12 is advantageously achieved by spatial and/or temporal filtering.
  • the second step is noise analysis 1 6 to define noise profile.
  • the third step is film grain noise synthesis 18 of unique strength throughout the complete sequence of images in order to achieve a common look and feel for the complete sequence.
  • a salient idea of the invention is to jointly perform film grain analysis along with the noise filtering.
  • the described particular embodiment relies on the state-of- the-art technique called Non Local means (hereinafter NLmeans) and disclosed in the paper "A non-local algorithm for image denoising".
  • NLmeans Non Local means
  • the invention is not limited to such embodiment and the invention is compatible with any noise filtering method based on patches analysis.
  • the invention allows reducing the global complexity compared to a sequential denoising and film grain analysis as presented on Figure 1 . Indeed the computation of local statistics (patch distances are computed during NLmeans, hence providing a bound for corresponding image homogeneity) is mutualized when performing jointly the denoising and the grain analysis. As, latter on explained, the invention further allows improving the result from a quality point of view.
  • Figure 2 illustrates steps of the denoising, film grain management and image processing according to a particular embodiment of the invention.
  • a joint noise filtering and noise analysis is performed producing a denoised image 13, i.e. filtered image 13, and a noise profile 17.
  • This first step 20 is latter on described with reference to figure 3.
  • the remaining of the process remains almost unchanged.
  • the second step 18, comprising the film grain noise synthesis on the enhanced image 15 from the noise profile issued from step 20 to generate the final image 19, remains unchanged even if the noise profile benefits from a better precision (for instance in term of quantification as detailed hereafter).
  • a patch or a block is a set of pixels, typically size 1 6x1 6 pixels or 8x8 pixels.
  • a patch is defined by its size and the coordinates of a pixel representative of the location of the patch in the image.
  • the pixel at the center of the patch is used as representative of the coordinates of the patch.
  • any other variant envisaged by the skilled in the art to determine a patch is compatible with the described embodiments.
  • FIG. 3 illustrates steps of the method for filtering and analyzing a noise in an image according to a particular embodiment of the invention.
  • the NL means algorithm comprises a linear weighted interpolation of pixels in the image wherein the weights w ij - are defined as the L2 distance between patches centered at the considered pixels i and Technically, the denoised value at pixel i is defined as:
  • B(i) denotes the patch centered at pixel ⁇ and ⁇ is some scale parameter.
  • Z i is some normalization factor computed as the sum of weights w ij -, V(i) corresponds to a neighborhood of pixel i and /(j) the original value for pixel I (for instance the luminance value of a pixel in the YCrCb format or a vector representing a (R,G,B) value of a pixel in the RGB format).
  • the weight Wij drastically decreases with the L2 distance between the patch centered on pixel and the patch centered on pixel i wherein such distance is also used for patch similarity.
  • the NL-means comprises determining similar patches centered on pixel to the patch centered on pixel i to filter noise for each pixel i.
  • determining of similar patches for denoising is re-used for noise analysis along with a determining of uniform or homogeneous patches.
  • a current pixel i in the image is determined and for each current pixel i, a current patch B(i) centered on the current pixel is obtained until each pixel ⁇ of the image 1 1 is processed i.e. there is no more patch B(i) to process.
  • the process is parallelisable for each pixel/patch of the image which speed up the processing.
  • the steps 21 to 24 of the method are iterated either sequentially or in parallel.
  • the steps 21 to 24 perform an exhaustive search of similar patches and of uniform patches in the image 1 1 .
  • a set 29 of pre-computed weights ij - and a list 25 of uniforms patches are obtained.
  • the filtering step 26 is processed.
  • the noise profile retrieving step 28 is processed once the filtering step 26 is finished and the whole filtered image 13 available for noise profile retrieving.
  • the noise profile retrieving step 28 uses the mean luminance value of a noisy uniform patch as an approximation of mean luminance value of the denoised patch and the step 28 can start before the whole filtered image 13 is available.
  • figure 3 represents a sequential processing of step 22 followed by step 23 for a current patch/pixel, however according to various variants, since the steps 22 and 23 are not dependant; the steps 22 and 23 are either performed sequentially in any order or in parallel.
  • a similar patch is a patch with similar content.
  • a distance between the current patch and each patch in the image are computed.
  • L2 norm is advantageously used as the distance because it is compatible with the weights ij - in the NL means as detailed above.
  • the tested patch B j) and the current patch B(i) are similar in the case where the distance between the tested patch and the current patch is below a first threshold ⁇ 1 .
  • the weights w tj are also computed between the patch centered at pixel i and pixel at this step :
  • the grain noise analysis requires determining homogeneous blocks concerning intensity and texture. Then, based on these homogeneous blocks, the signal- dependent grain noise level is estimated.
  • the grain noise is supposed to be uncolored and consequently applied only on the luminance component (Y layer) of a frame in the YCrCb format.
  • the notation of the YCrCb format is used in the following of the description.
  • the invention is not limited to YCrCb colorimetric coding scheme and the invention is compatible with any colorimetric coding scheme wherein the luminance is coded in separate layer.
  • the invention is compatible with LAB, HSV or HSL format.
  • the grain model is defined in the DCT domain.
  • a 1 6x1 6 patch of grain in the luminance spatial domain follows a model based on a random Gaussian noise in a subpart of the 1 6x1 6 patch in the DCT domain.
  • the 3 features that model the grain in the DCT domain are the variance ⁇ 2 of the noise and two cutoff frequencies that limit the area where the noise is present.
  • the cutoff frequencies define the grain shape. For instance, if they are equal, the grain is circular.
  • the DC component is set to a null value in order to obtain a centered patch grain in the spatial domain.
  • the value of ⁇ 2 depends on the mean luminance value of the patch B(i) to which the grain has to be added. Cutoff frequency values are supposed to be constant.
  • the uniformity, i.e. homogeneity, of the current patch is tested.
  • a uniform patch is a patch with uniform content.
  • the variance of the current patch B i) is computed.
  • a patch is considered as a uniform patch when the variance of the current patch is low, for instance below a second threshold ⁇ 2 :
  • the current patch is uniform and is thus aggregated for grain analysis in step 24. If the test failed, ie the above comparison is false NO, the current patch is not uniform, the current patch is thus discarded for grain analysis.
  • the threshold ⁇ 1 is adjusted to define uniform patches variance.
  • the threshold ⁇ 2 is adjusted as small as needed so that patches with variance below ⁇ 1 + ⁇ 2 are also considered as uniform.
  • the current patch B(i) and similar patches B(j) for the current patch are memorized into a list 25 of uniform patches.
  • a patch is only present once in the list. Accordingly, a patch, among the current uniform patch and associated similar patches, is added to the list when such patch is not already comprised in the list of uniform patches.
  • the list comprises a location (coordinates) of a pixel i in the image such that the current uniform patch is centered on the pixel i or such that an associated similar patch is centered on the pixel i.
  • the list 25 of uniform patches further comprises the mean luminance value of the uniform patch.
  • the mean luminance value of a patch is used as an index in the list and the uniform current patch or the uniform similar patches to be added are stored according to their mean luminance value.
  • the mean luminance value is quantified and the number of indexes reduced.
  • each pixel of the image 1 1 is filtered for noise according to equation 1 .
  • the noise filtering step 26 uses the set 29 of pre-computed weight of step 22. Any variant envisaged in by the skilled in the art (size of the neighbourhood V(i) of i, weight set to 0 when to low..) is compatible with those pre- computed weights.
  • the denoised image 13 is available for each component YCrCb.
  • the noise profile is retrieved for the image from the list 25 of patches and from the filtered image 13.
  • Figure 4 illustrates sub-steps of the retrieving of a noise profile step 28 according to a particular embodiment of the invention.
  • the grain profile is assumed to be constant over the sequence of images. Accordingly the grain features (variance and cutoff frequencies as detailed above) are computed for each image independently, on an image by image basis. In order to get unbiased values for those features, the grain analysis must be done only on the uniform areas of the filtered frame. In a nutshell, an accumulation process is followed by a grain patch located in a uniform area of the filtered luminance image 13. Advantageously, such processing is performed only for element of the list uniform patches.
  • the grain analysis requires patches from the input image 1 1 comprising grain noise and patches from the same filtered image 13 in order to extract the grain noise.
  • the grain layer of patch is extracted by subtracting 281 the filtered patch to the original one.
  • the intensity is computed for the filtered patch B i According to a variant, an approximation of the intensity for the filtered patch B i
  • step 282 is stored in the list of uniform patches and such step 282 is optional.
  • the intensity range [0;255] is uniformly quantized in R sub ranges.
  • the whole intensity range [0;255] is kept and R is set to 256.
  • the goal of the analysis is to extract, for every intensity sub range, the value of the variance ⁇ 2 and for the global image sequence the cutoff frequency values. The analysis is done on a frame by frame basis, accumulating results up to convergence.
  • the quantized value acts as a selector to switch the mean intensity value on a given accumulator.
  • the DCT of the grain is computed.
  • every element is squared and the result is accumulated into a 1 6x1 6 accumulator selected according to the quantized mean intensity value.
  • One scalar and one 1 6x1 6 accumulator are needed per intensity sub range.
  • the prior art method aggregates patches that are disjoint.
  • all patches that compose the image are considered.
  • the number of patches is tremendously larger, resulting in two benefits, depending on the use case. Firstly, since more patches are considered, the thresholds ⁇ 1 , ⁇ 2 that are used to consider a patch as uniform can be modified to be stricter. That would lead to more uniform blocks and a more accurate grain model. Secondly, since more patches are considered, it is not necessary to quantify the levels of luminance Y as previously envisaged. In other words, in a variant, a continuous modeling of grain model can be performed since a much larger number of blocks are used. Both factors, the thresholds level and continuous modeling, contribute the enhancement of the estimation of the noise profile from the quality point of view.
  • all the accumulators must be reset before processing the first frame of a new image sequence.
  • the number of accumulated values must be stored all along the sequence for allowing the computation of the average values when a new image has been processed.
  • the grain standard deviation is estimated from the accumulators' value.
  • the averaged intensity mean and the grain standard deviation ff r are
  • N r is the number of accumulated grain patch since the beginning of the shot for the r th intensity sub range and ⁇ is the 1 6x1 6 DCT of a grain patch.
  • the sum over k is continuously stored in the corresponding accumulators.
  • the invention is however compatible with any other algorithm known by the skilled in the art for computing a variance and a DCT.
  • the N min threshold is almost always reached since the number of patches drastically increases with the disclosed method. If standard deviation has been estimated within more than 4 intensity sub ranges, a 3 rd order polynomial regression is computed after adding an extra point corresponding to a null standard deviation for the maximum intensity. The resulting polynomial is used for modeling the variation of the grain standard deviation with respect to the intensity.
  • the cutoff frequencies are further estimated from the accumulators' value. Let's call ⁇ the averaged squared DCT matrix corresponding to the r th intensity sub range:
  • the cutoff frequencies associated to the current image are computed by averaging the set of frequencies obtained in the R intensity sub ranges.
  • FIG. 5 represents an exemplary architecture of an apparatus 100 configured to filter noise and analyze noise in an image according to an exemplary embodiment of the invention.
  • the apparatus 100 comprises one or more processor(s) 1 10, which is (are), for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory 120 (e.g. RAM, ROM, EPROM).
  • the apparatus 100 comprises one or several Input/Output interface(s) 130 adapted to display output information and/or allow a user to enter commands and/or data (e.g.
  • the apparatus 100 may also comprise network interface(s) (not shown).
  • the image may be obtained from a source.
  • the source belongs to a set comprising:
  • a local memory e.g. a video memory, a RAM, a flash memory, a hard disk - a storage interface, e.g. an interface with a mass storage, a ROM, an optical disc or a magnetic support;
  • a communication interface e.g. a wireline interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as a IEEE 802.1 1 interface or a Bluetooth interface); and
  • a wireline interface for example a bus interface, a wide area network interface, a local area network interface
  • a wireless interface such as a IEEE 802.1 1 interface or a Bluetooth interface
  • an image capturing circuit e.g. a sensor such as, for example, a CCD (or Charge-Coupled Device) or CMOS (or Complementary Metal-Oxide- Semiconductor)).
  • a sensor such as, for example, a CCD (or Charge-Coupled Device) or CMOS (or Complementary Metal-Oxide- Semiconductor)
  • the filtered image and the noise profile may be sent to a destination.
  • the filtered image and the noise profile are stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk.
  • the image, the enhanced image and the noise profile are sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.
  • the apparatus 100 further comprises a computer program stored in the memory 120.
  • the computer program comprises instructions which, when executed by the apparatus 100, in particular by the processor 1 10, make the apparatus 100 carry out the method described with reference to figure 4.
  • the computer program is stored externally to the apparatus 100 on a non-transitory digital data support, e.g. on an external storage medium such as a HDD, CD-ROM, DVD, a read-only and/or DVD drive and/or a DVD Read/Write drive, all known in the art.
  • the apparatus 100 thus comprises an interface to read the computer program. Further, the apparatus 100 could access one or more Universal Serial Bus (USB)-type storage devices (e.g., "memory sticks.") through corresponding USB ports (not shown).
  • USB Universal Serial Bus
  • the apparatus 100 is a device, which belongs to a set comprising:
  • a video server e.g. a broadcast server, a video-on-demand server or a web server
  • a video server e.g. a broadcast server, a video-on-demand server or a web server
  • an up-scaling, a display or a decoding chip may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program).
  • An apparatus may be implemented in, for example, appropriate hardware, software, and firmware.
  • the methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs”), and other devices that facilitate communication of information between end-users.
  • PDAs portable/personal digital assistants
  • Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications.
  • equipment examples include an encoder, a decoder, a post-processor processing output from a decoder, a preprocessor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices.
  • the equipment may be mobile and even installed in a mobile vehicle.
  • the methods may be implemented by instructions being performed by a processor, and such instructions (and/or data values produced by an implementation) may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette (“CD"), an optical disc (such as, for example, a DVD, often referred to as a digital versatile disc or a digital video disc), a random access memory (“RAM”), or a read-only memory (“ROM”).
  • the instructions may form an application program tangibly embodied on a processor-readable medium. Instructions may be, for example, in hardware, firmware, software, or a combination.
  • a processor may be characterized, therefore, as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.
  • implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted.
  • the information may include, for example, instructions for performing a method, or data produced by one of the described implementations.
  • a signal may be formatted to carry as data the rules for writing or reading the syntax of a described embodiment, or to carry as data the actual syntax-values written by a described embodiment.
  • Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal.
  • the formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream.
  • the information that the signal carries may be, for example, analog or digital information.
  • the signal may be transmitted over a variety of different wired or wireless links, as is known.
  • the signal may be stored on a processor-readable medium.

Abstract

A method (20) for filtering and analyzing a noise in an image and an apparatus (100) configured to perform this method are described. The method comprises determining (21), for each pixel of the image, a current patch centered on the pixel; determining (22), for the current patch, similar patches in the image, a similar patch being a patch with similar content; determining (23), if the current patch is a uniform patch, a uniform patch being a patch with uniform content; memorizing (24) the current patch and similar patches determined for the current patch into a list (25) of uniform patches when the current patch is a uniform patch; and filtering (26) noise in the image using information obtained for the determination of the similar patches; retrieving (28) a noise profile for the image from the list (25) of uniform patches.

Description

METHOD AND APPARATUS FOR FILTERING AND ANALYZING A NOISE IN AN IMAGE
TECHNICAL FIELD
The present invention relates generally to the field of image processing. More precisely, the invention relates to a method and an apparatus for filtering and analyzing a noise, e.g. film grain noise, in an image of a sequence of images.
BACKGROUND
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
A chemical film is made of color layers, e.g. one layer for a black-and-white film or three color layers for a color film. Each layer contains color particles or grains. If a film is scanned on a film scanner, the resulting digital signal contains film grain noise, which manifests as small-scale spatio-temporal noise artifacts caused by the film grain. Since film grain noise has a relatively large energy level in the high- frequency region, it is more expensive to encode in the DCT domain. Besides, the underlying video suffers from inaccurate motion estimation. A natural idea to overcome this problem is to remove film grain noise as much as possible as a preprocessing step so as to achieve a higher coding gain. However film grain noise enhances the natural appearance of pictures in high- definition video and should be preserved in coded video. Figure 1 illustrates film grain management according to previous art. In previous art, it is proposed, after having enhanced the coding performance by extracting film grain noise 12 from the input image 1 1 to get a denoised image 13 for image processing 14 (such as up- sampling, encoding), to re-synthesize 18 film grain and to add it back to the enhanced image 15 to get the final image 19. Such synthesis 18 film grain requires a grain analysis 1 6 from the input image 1 1 and from the denoised image 13. The denoising 12 and the film grain analysis 1 6 are processed sequentially. In this regards, Buades et al. discloses in the paper "A non-local algorithm for image denoising" (in IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Vol. 2, 2005) the non-local means (NL-means) method, based on a non-local averaging of all pixels in the image for denoising an image.
Besides, Schallauer et al. discloses in the paper "Rapid and reliable detection of film grain noise" (in IEEE International Conference on Image Processing, 2006) a detector for film grain properties. First, homogeneous blocks concerning intensity and texture are determined by a measure calculated in the frequency domain. Second, based on these blocks the signal-dependent grain noise level is estimated and an image region of pure film grain is detected. However, both methods require a high computational power since statistics are computed at patches level or even at pixel levels. A highly desirable functionality is to be able to optimize the denoising and film grain management for real-time embedding of such methods in image processors.
SUMMARY OF INVENTION
It is an object of the invention to provide an enhanced solution for filtering noise, e.g. removing film grain noise, and retrieving a noise profile from an image of a sequence of images.
In a first aspect, the invention is directed to a method, performed by a processor, for filtering and analyzing a noise in an image. The method comprises, for each current patch in the image, obtaining similar patches to the current patch, a similar patch being a patch with similar content; and in the case where the current patch is a uniform patch, a uniform patch being a patch with uniform content; memorizing the current patch and similar patches to the current patch into a list of uniform patches; obtaining a filtered image by filtering noise in the image from the similar patches; and obtaining a noise profile for the image from the list of patches and optionally from the filtered image.
Each of the current patches in the image is obtained for a patch being centered on each of the pixels of the image. Indeed, the processed patches are defined at a pixel precision.
Advantageously, the method mutualizes the computation of local statistics in particular regarding patches similarity by performing jointly the denoising and the grain analysis. Indeed, the method advantageously determines homogenous area by considering a uniform patch and its associated similar patches. Besides, the grain analysis benefits from the pixel wise determining of patches of the denoising to drastically increase the number of patches considered for homogeneity. On the contrary, in the prior art implementation, grain analysis relies on disjoint patches to minimize the computation of local statistics. Advantageously, the method improves the noise profile estimation from a quality point of view since it relies on more patches.
According to a particular characteristic, obtaining, for the current patch, similar patches in the image comprises determining if a distance between the current patch and the similar patch is small, ie below a first threshold.
According to another particular characteristic, the current patch is a uniform patch if a variance of the current patch is low, ie below a second threshold.
According to an advantageous characteristic, memorizing a new uniform patch, ie among the current patch and similar patches determined for the current patch, into a list of uniform patches comprises adding, to the list of uniform patches, a patch among the current patch and the similar patches to the current patch that are not comprised in the list of uniform patches.
According to a first variant, the list of uniform patches comprises a location of a pixel wherein the current patch is centered on this pixel or the similar patches are centered on this pixel.
According to a second variant, the list of uniform patches further comprises the mean value of the current patch or of the similar patches.
According to a particular embodiment, the noise is film grain noise.
These functionalities can then be integrated into image processor or GPU. In a second aspect, the invention is directed to an apparatus comprising at least one processor; and a memory coupled to the at least one processor, wherein the memory stores program instructions, wherein the program instructions are executable by the at least one processor to perform the disclosed method.
In a third aspect, the invention is directed to an apparatus comprising means for obtaining, for each current patch, similar patches to said current patch, a similar patch being a patch with similar content; means for memorizing the current patch and similar patches to the current patch into a list of uniform patches in the case where the current patch is a uniform patch, a uniform patch being a patch with uniform content; and means for filtering noise in the image from the similar patches; means for obtaining a noise profile for the image from the list of uniform patches.
In a fourth aspect, the invention is directed to a computer program product comprising program code instructions to execute of the steps of the disclosed method when this program is executed on a computer.
In a fifth aspect, the invention is directed to a computer-readable storage medium storing program instructions computer-executable to perform the disclosed method.
Any characteristic or variant described for the method is compatible with the apparatus intended to process the disclosed methods and with a computer program product, a computer-readable storage medium storing program instructions.
BRIEF DESCRIPTION OF DRAWINGS
Preferred features of the present invention will now be described, by way of non-limiting example, with reference to the accompanying drawings, in which:
Figure 1 illustrates steps of the denoising, film grain management and image processing according to prior art;
Figure 2 illustrates steps of the denoising, film grain management and image processing according to a particular embodiment of the invention; Figure 3 illustrates steps of the method for filtering and analyzing a noise in an image according to a particular embodiment of the invention;
Figure 4 illustrates steps of the retrieving of a noise profile according to a particular embodiment of the invention; and
Figure 5 illustrates an apparatus according to a particular embodiment of the invention.
DESCRIPTION OF EMBODIMENTS
In the following the invention shall be explained with reference to film grain noise as an example for noise in an image. Of course, the invention is not limited to this type of noise. The invention can be used for filtering and analysing any kind of noise or low-level signal component on a given image.
As illustrated on Figure 1 , film grain management generally includes three steps. The first step is noise filtering 12, i.e. denoising or removal of noise, of an images sequence, wherein each image potentially shows different profiles of film grain noise. Noise filtering 12 is advantageously achieved by spatial and/or temporal filtering. The second step is noise analysis 1 6 to define noise profile. The third step is film grain noise synthesis 18 of unique strength throughout the complete sequence of images in order to achieve a common look and feel for the complete sequence. A salient idea of the invention is to jointly perform film grain analysis along with the noise filtering. The described particular embodiment relies on the state-of- the-art technique called Non Local means (hereinafter NLmeans) and disclosed in the paper "A non-local algorithm for image denoising". However the invention is not limited to such embodiment and the invention is compatible with any noise filtering method based on patches analysis. Advantageously, the invention allows reducing the global complexity compared to a sequential denoising and film grain analysis as presented on Figure 1 . Indeed the computation of local statistics (patch distances are computed during NLmeans, hence providing a bound for corresponding image homogeneity) is mutualized when performing jointly the denoising and the grain analysis. As, latter on explained, the invention further allows improving the result from a quality point of view. Figure 2 illustrates steps of the denoising, film grain management and image processing according to a particular embodiment of the invention.
In a first step 20, a joint noise filtering and noise analysis is performed producing a denoised image 13, i.e. filtered image 13, and a noise profile 17. This first step 20 is latter on described with reference to figure 3. The remaining of the process remains almost unchanged. In particular, the second step 18, comprising the film grain noise synthesis on the enhanced image 15 from the noise profile issued from step 20 to generate the final image 19, remains unchanged even if the noise profile benefits from a better precision (for instance in term of quantification as detailed hereafter).
As previously discussed, the method is advantageously compatible with any state-of-the-art denoising technique based on patches. A patch or a block is a set of pixels, typically size 1 6x1 6 pixels or 8x8 pixels. A patch is defined by its size and the coordinates of a pixel representative of the location of the patch in the image. In a variant, the pixel at the center of the patch is used as representative of the coordinates of the patch. However, any other variant envisaged by the skilled in the art to determine a patch is compatible with the described embodiments.
Figure 3 illustrates steps of the method for filtering and analyzing a noise in an image according to a particular embodiment of the invention. The NL means algorithm comprises a linear weighted interpolation of pixels in the image wherein the weights wij- are defined as the L2 distance between patches centered at the considered pixels i and Technically, the denoised value at pixel i is defined as:
Figure imgf000008_0001
Where B(i) denotes the patch centered at pixel ί and σ is some scale parameter. Zi is some normalization factor computed as the sum of weights wij-, V(i) corresponds to a neighborhood of pixel i and /(j) the original value for pixel I (for instance the luminance value of a pixel in the YCrCb format or a vector representing a (R,G,B) value of a pixel in the RGB format). The skilled in the art will notice that the weight Wij drastically decreases with the L2 distance between the patch centered on pixel and the patch centered on pixel i wherein such distance is also used for patch similarity. In other words, the NL-means comprises determining similar patches centered on pixel to the patch centered on pixel i to filter noise for each pixel i. Advantageously such determining of similar patches for denoising is re-used for noise analysis along with a determining of uniform or homogeneous patches.
In a first step 21 , a current pixel i in the image is determined and for each current pixel i, a current patch B(i) centered on the current pixel is obtained until each pixel ί of the image 1 1 is processed i.e. there is no more patch B(i) to process. Advantageously, the process is parallelisable for each pixel/patch of the image which speed up the processing. Indeed, for each pixel of the image, the steps 21 to 24 of the method are iterated either sequentially or in parallel. The steps 21 to 24 perform an exhaustive search of similar patches and of uniform patches in the image 1 1 . At the output of the steps 21 to 24, a set 29 of pre-computed weights ij- and a list 25 of uniforms patches are obtained. Once the similar patches, and L2 distance, are determined for each pixel of the image, the filtering step 26 is processed. In a variant illustrated on figure 3,, the noise profile retrieving step 28 is processed once the filtering step 26 is finished and the whole filtered image 13 available for noise profile retrieving. In another variant (not shown on figure 3), the noise profile retrieving step 28 uses the mean luminance value of a noisy uniform patch as an approximation of mean luminance value of the denoised patch and the step 28 can start before the whole filtered image 13 is available. Finally, figure 3 represents a sequential processing of step 22 followed by step 23 for a current patch/pixel, however according to various variants, since the steps 22 and 23 are not dependant; the steps 22 and 23 are either performed sequentially in any order or in parallel.
The steps 22 to 28 are now detailed, in the second step 22, similar patches to the current patch are determined in the image. A similar patch is a patch with similar content. According to a preferred embodiment, a distance between the current patch and each patch in the image are computed. In a non-limiting example L2 norm is advantageously used as the distance because it is compatible with the weights ij- in the NL means as detailed above. The tested patch B j) and the current patch B(i) are similar in the case where the distance between the tested patch and the current patch is below a first threshold τ1. Let us note dij- the distance between the two patches, for instance L2 norm between the two patches:
Figure imgf000010_0001
Then if dij- < τ1 ; the patches centered at pixel i and pixel are similar. The similar patches are memorized for homogeneity analysis in step 23.
Advantageously, the weights wtj are also computed between the patch centered at pixel i and pixel at this step :
Figure imgf000010_0002
and memorized in a set 25 of pre-computed weights for the filtering step 26.
As described in the paper "Rapid and reliable detection of film grain noise", the grain noise analysis requires determining homogeneous blocks concerning intensity and texture. Then, based on these homogeneous blocks, the signal- dependent grain noise level is estimated. In the preferred embodiment, the grain noise is supposed to be uncolored and consequently applied only on the luminance component (Y layer) of a frame in the YCrCb format. The notation of the YCrCb format is used in the following of the description. However the invention is not limited to YCrCb colorimetric coding scheme and the invention is compatible with any colorimetric coding scheme wherein the luminance is coded in separate layer. Thus the invention is compatible with LAB, HSV or HSL format. The grain model is defined in the DCT domain. A 1 6x1 6 patch of grain in the luminance spatial domain follows a model based on a random Gaussian noise in a subpart of the 1 6x1 6 patch in the DCT domain. The 3 features that model the grain in the DCT domain are the variance σ2 of the noise and two cutoff frequencies that limit the area where the noise is present. The cutoff frequencies define the grain shape. For instance, if they are equal, the grain is circular. The DC component is set to a null value in order to obtain a centered patch grain in the spatial domain. The value of σ2 depends on the mean luminance value of the patch B(i) to which the grain has to be added. Cutoff frequency values are supposed to be constant.
Thus in the third step 23, the uniformity, i.e. homogeneity, of the current patch is tested. A uniform patch is a patch with uniform content. According to a preferred embodiment, the variance of the current patch B i) is computed. A patch is considered as a uniform patch when the variance of the current patch is low, for instance below a second threshold τ2 :
Var(Bi) < τ2
If the test is successful, ie the above comparison is true YES, the current patch is uniform and is thus aggregated for grain analysis in step 24. If the test failed, ie the above comparison is false NO, the current patch is not uniform, the current patch is thus discarded for grain analysis.
Besides, regarding similar patches of a current uniform patch obtained in step 22, their variance is also bounded. Indeed if dij- < τ1, then the variance of patch B(j) is bounded by τ1 + τ2. Depending on the thresholds τ1 and τ2, patch B(j) can also be aggregated for grain analysis. Advantageously the threshold τ1 is adjusted to define uniform patches variance. Advantageously the threshold τ2 is adjusted as small as needed so that patches with variance below τ1 + τ2 are also considered as uniform.
Then, in the case where the current patch is a uniform patch, in a fourth step 24, the current patch B(i) and similar patches B(j) for the current patch are memorized into a list 25 of uniform patches. According to an advantageous characteristic, a patch is only present once in the list. Accordingly, a patch, among the current uniform patch and associated similar patches, is added to the list when such patch is not already comprised in the list of uniform patches. According to a first variant, the list comprises a location (coordinates) of a pixel i in the image such that the current uniform patch is centered on the pixel i or such that an associated similar patch is centered on the pixel i. According to a second variant, the list 25 of uniform patches further comprises the mean luminance value of the uniform patch. In a refinement of this second variant, the mean luminance value of a patch is used as an index in the list and the uniform current patch or the uniform similar patches to be added are stored according to their mean luminance value. Advantageously, the mean luminance value is quantified and the number of indexes reduced. This second variant is particularly advantageous with regards to the variant where an approximation of the denoised mean value is used for the noise retreiving step 28.
Finally the steps 21 to 24 are iterated for the next current patch until all current patches in the image are processed. At the end of the iterations, a set 29 of pre-computed weights wij,- and a list 25 of uniforms patches are obtained. In a fifth step 26, each pixel of the image 1 1 is filtered for noise according to equation 1 . To that end, the noise filtering step 26 uses the set 29 of pre-computed weight of step 22. Any variant envisaged in by the skilled in the art (size of the neighbourhood V(i) of i, weight set to 0 when to low..) is compatible with those pre- computed weights. At the output of the noise filtering step 26, the denoised image 13 is available for each component YCrCb.
In a sixth step 28, the noise profile is retrieved for the image from the list 25 of patches and from the filtered image 13.
Figure 4 illustrates sub-steps of the retrieving of a noise profile step 28 according to a particular embodiment of the invention. According to a preferred variant the grain profile is assumed to be constant over the sequence of images. Accordingly the grain features (variance and cutoff frequencies as detailed above) are computed for each image independently, on an image by image basis. In order to get unbiased values for those features, the grain analysis must be done only on the uniform areas of the filtered frame. In a nutshell, an accumulation process is followed by a grain patch located in a uniform area of the filtered luminance image 13. Advantageously, such processing is performed only for element of the list uniform patches.
The grain analysis requires patches from the input image 1 1 comprising grain noise and patches from the same filtered image 13 in order to extract the grain noise. The grain layer of patch is extracted by subtracting 281 the filtered patch to the original one.
In a step 282, the intensity
Figure imgf000012_0001
is computed for the filtered patch Bi According to a variant, an approximation of the intensity for the filtered patch Bi
Figure imgf000012_0002
is stored in the list of uniform patches and such step 282 is optional.
In a step 283, the intensity range [0;255] is uniformly quantized in R sub ranges. In a variant wherein the modeling of the noise is continuous, the whole intensity range [0;255] is kept and R is set to 256. The goal of the analysis is to extract, for every intensity sub range, the value of the variance σ2 and for the global image sequence the cutoff frequency values. The analysis is done on a frame by frame basis, accumulating results up to convergence. The quantized value acts as a selector to switch the mean intensity value on a given accumulator. In a step 284, the DCT of the grain is computed. In a step 285, every element is squared and the result is accumulated into a 1 6x1 6 accumulator selected according to the quantized mean intensity value. One scalar and one 1 6x1 6 accumulator are needed per intensity sub range.
The prior art method aggregates patches that are disjoint. Advantageously, in the invention, all patches that compose the image are considered. Thus, the number of patches is tremendously larger, resulting in two benefits, depending on the use case. Firstly, since more patches are considered, the thresholds τ1, τ2 that are used to consider a patch as uniform can be modified to be stricter. That would lead to more uniform blocks and a more accurate grain model. Secondly, since more patches are considered, it is not necessary to quantify the levels of luminance Y as previously envisaged. In other words, in a variant, a continuous modeling of grain model can be performed since a much larger number of blocks are used. Both factors, the thresholds level and continuous modeling, contribute the enhancement of the estimation of the noise profile from the quality point of view.
According to a particular characteristic, all the accumulators must be reset before processing the first frame of a new image sequence. For every accumulator, the number of accumulated values must be stored all along the sequence for allowing the computation of the average values when a new image has been processed.
Then the grain standard deviation is estimated from the accumulators' value. Within the rth intensity sub range, if more than Nmin grain patches have been accumulated, the averaged intensity mean and the grain standard deviation ffr are
Figure imgf000013_0002
estimated, in a non-limiting example, as follo
Figure imgf000013_0001
Where Nr is the number of accumulated grain patch since the beginning of the shot for the rth intensity sub range and Γ is the 1 6x1 6 DCT of a grain patch. The sum over k is continuously stored in the corresponding accumulators. The invention is however compatible with any other algorithm known by the skilled in the art for computing a variance and a DCT. The Nmin threshold is almost always reached since the number of patches drastically increases with the disclosed method. If standard deviation has been estimated within more than 4 intensity sub ranges, a 3rd order polynomial regression is computed after adding an extra point corresponding to a null standard deviation for the maximum intensity. The resulting polynomial is used for modeling the variation of the grain standard deviation with respect to the intensity.
The cutoff frequencies are further estimated from the accumulators' value. Let's call Γ the averaged squared DCT matrix corresponding to the rth intensity sub range:
Figure imgf000014_0001
For every rows and columns of
Figure imgf000014_0007
the mean value is computed. For the first row and the first column, the DC component is discarded from that computation.
Figure imgf000014_0002
and are obtained by filtering respectively
Figure imgf000014_0005
and
Figure imgf000014_0006
with the simple lowpass filter (0.25 ; 0.5 ; 0.25). Finally, for the rth intensity sub range, the vertical and
Figure imgf000014_0008
horizontal cutoff frequencies
Figure imgf000014_0004
are obtained as follow :
Figure imgf000014_0003
The cutoff frequencies associated to the current image are computed by averaging the set of frequencies obtained in the R intensity sub ranges.
Thus at the end of noise retrieving step 28, a noise profile 17 comprising the value of the variance σ2 as a function of the mean value of a patch and for the global image sequence the cutoff frequency values are determined. Figure 5 represents an exemplary architecture of an apparatus 100 configured to filter noise and analyze noise in an image according to an exemplary embodiment of the invention. The apparatus 100 comprises one or more processor(s) 1 10, which is (are), for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory 120 (e.g. RAM, ROM, EPROM). The apparatus 100 comprises one or several Input/Output interface(s) 130 adapted to display output information and/or allow a user to enter commands and/or data (e.g. a keyboard, a mouse, a touchpad, a webcam) ; and a power source 140 which may be external to the apparatus 100. The apparatus 100 may also comprise network interface(s) (not shown). The image may be obtained from a source. According to different embodiments of the invention, the source belongs to a set comprising:
- a local memory, e.g. a video memory, a RAM, a flash memory, a hard disk - a storage interface, e.g. an interface with a mass storage, a ROM, an optical disc or a magnetic support;
- a communication interface, e.g. a wireline interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as a IEEE 802.1 1 interface or a Bluetooth interface); and
- an image capturing circuit (e.g. a sensor such as, for example, a CCD (or Charge-Coupled Device) or CMOS (or Complementary Metal-Oxide- Semiconductor)).
According to different embodiments of the invention, the filtered image and the noise profile may be sent to a destination. As an example, the filtered image and the noise profile are stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk. In a variant, the image, the enhanced image and the noise profile are sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.
According to an exemplary and non-limitative embodiment of the invention, the apparatus 100 further comprises a computer program stored in the memory 120. The computer program comprises instructions which, when executed by the apparatus 100, in particular by the processor 1 10, make the apparatus 100 carry out the method described with reference to figure 4. According to a variant, the computer program is stored externally to the apparatus 100 on a non-transitory digital data support, e.g. on an external storage medium such as a HDD, CD-ROM, DVD, a read-only and/or DVD drive and/or a DVD Read/Write drive, all known in the art. The apparatus 100 thus comprises an interface to read the computer program. Further, the apparatus 100 could access one or more Universal Serial Bus (USB)-type storage devices (e.g., "memory sticks.") through corresponding USB ports (not shown).
According to exemplary and non-limitative embodiments, the apparatus 100 is a device, which belongs to a set comprising:
- a mobile device ;
- a communication device ;
- a game device ;
- a tablet (or tablet computer) ;
- a laptop ;
- a still image camera;
- a video camera ;
- an encoding chip;
- a still image server
- a video server (e.g. a broadcast server, a video-on-demand server or a web server) ; and
- an up-scaling, a display or a decoding chip. The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users.
Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications. Examples of such equipment include an encoder, a decoder, a post-processor processing output from a decoder, a preprocessor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.
Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions (and/or data values produced by an implementation) may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette ("CD"), an optical disc (such as, for example, a DVD, often referred to as a digital versatile disc or a digital video disc), a random access memory ("RAM"), or a read-only memory ("ROM"). The instructions may form an application program tangibly embodied on a processor-readable medium. Instructions may be, for example, in hardware, firmware, software, or a combination. Instructions may be found in, for example, an operating system, a separate application, or a combination of the two. A processor may be characterized, therefore, as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.
As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry as data the rules for writing or reading the syntax of a described embodiment, or to carry as data the actual syntax-values written by a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations are contemplated by this application. The invention finds its interest in all domains concerned with the noise in an image notably film grain noise. Applications related to video compression and representations of videos are concerned.

Claims

1 . A method (20) for filtering and analyzing a noise in an image (1 1 ), the method comprises:
- for each current patch in said image, obtaining (22) similar patches to said current patch, a similar patch being a patch with similar content and in the case where said current patch is a uniform patch, a uniform patch being a patch with uniform content, memorizing (24) said current patch and similar patches to said current patch into a list (25) of uniform patches; and
- obtaining a filtered image (13) by filtering (26) noise in said image from said obtained similar patches;
- obtaining (28) a noise profile for said image from said list (25) of uniform patches.
2. The method according to claim 1 wherein obtaining (22) similar patches to said current patch in the image comprises determining if a distance between said current patch and said similar patch is small..
3. The method according to any of claims 1 to 2 wherein said current patch is a uniform patch in the case where a variance of said current patch is low.
4. The method according to any of claims 1 to 3, wherein memorizing (24) said current patch and similar patches to said current patch into a list (25) of uniform patches comprises adding, to said list of uniform patches, a patch among said current patch and said similar patches to said current patch that is not comprised in said list of uniform patches.
5. The method according to any of claims 1 to 4 wherein said list (25) of uniform patches comprises a location of a pixel such that a uniform patch is centered on said pixel.
6. The method according to any of claims 1 to 5 wherein said list (25) of uniform patches further comprises the mean value of a uniform patch.
7. The method according to any of claims 1 to 6, wherein the noise is film grain noise.
8. The method according to any of claims 1 to 7, wherein each current patch of said image is obtained for a patch being centered on each pixel of the pixels of said image.
9. An apparatus (100) configured to filter and analyze a noise in an image, the apparatus (100) comprising at least one processor (1 10) and a memory (120) coupled to the at least one processor, the at least one processor being configured to:
- Obtain, for each current patch in said image, similar patches in said image, a similar patch being a patch with similar content; and memorize in the case where said current patch is a uniform patch, a uniform patch being a patch with uniform content, said current patch and similar patches to said current patch into a list of uniform patches in said memory (120); and
- obtain a filtered image by filtering noise in said image from said similar patches;
- obtain a noise profile for said image from said list of uniform patches.
10. An apparatus (100) configured to filter and analyze a noise in an image, the apparatus (100) comprising:
- means for obtaining, for each current patch in said image, similar patches in the image to said current patch, a similar patch being a patch with similar content and means for memorizing said current patch and similar patches to said current patch into a list of uniform patches in the case where said current patch is a uniform patch, a uniform patch being a patch with uniform content; and
- means for filtering noise in said image from said similar patches resulting in a filtered image;
- means for obtaining a noise profile for said image from said list of patches.
1 1 . A computer program product comprising program code instructions to execute of the steps of the method according to any of claims 1 to 8 when this program is executed on a computer.
12. A processor readable medium having stored therein instructions for causing a processor to perform at least the steps of the method according to any of claims 1 to 8.
PCT/EP2015/053775 2014-02-25 2015-02-24 Method and apparatus for filtering and analyzing a noise in an image WO2015128302A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14305261 2014-02-25
EP14305261.1 2014-02-25

Publications (1)

Publication Number Publication Date
WO2015128302A1 true WO2015128302A1 (en) 2015-09-03

Family

ID=50288012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/053775 WO2015128302A1 (en) 2014-02-25 2015-02-24 Method and apparatus for filtering and analyzing a noise in an image

Country Status (1)

Country Link
WO (1) WO2015128302A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047671A1 (en) * 2020-09-02 2022-03-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method of removing noise in image and electrical device
CN114742727A (en) * 2022-03-31 2022-07-12 南通电博士自动化设备有限公司 Noise processing method and system based on image smoothing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060215767A1 (en) * 2003-04-10 2006-09-28 Cristina Gomila Technique for simulating film grain on encoded video

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060215767A1 (en) * 2003-04-10 2006-09-28 Cristina Gomila Technique for simulating film grain on encoded video

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
BHUJLE HEMALATA ET AL: "Novel Speed-Up Strategies for Non-Local Means Denoising With Patch and Edge Patch Based Dictionaries", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 23, no. 1, 1 January 2014 (2014-01-01), pages 356 - 365, XP011532816, ISSN: 1057-7149, [retrieved on 20131126], DOI: 10.1109/TIP.2013.2290871 *
BUADES A ET AL: "A Non-Local Algorithm for Image Denoising", PROCEEDINGS / 2005 IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, CVPR 2005 : [20 - 25 JUNE 2005, SAN DIEGO, CA], IEEE, PISCATAWAY, NJ, USA, vol. 2, 20 June 2005 (2005-06-20), pages 60 - 65, XP010817500, ISBN: 978-0-7695-2372-9, DOI: 10.1109/CVPR.2005.38 *
BUADES ET AL.: "A non-local algorithm for image denoising", IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, vol. 2, 2005, XP010817500, DOI: doi:10.1109/CVPR.2005.38
CHIRAG JAIN ET AL: "A low-complexity, motion-robust, spatio-temporally adaptive video de-noiser with in-loop noise estimation", 15TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING : ICIP 2008 ; SAN DIEGO, CALIFORNIA, USA, 12 - 15 OCTOBER 2008, IEEE, PISCATAWAY, NJ, USA, 12 October 2008 (2008-10-12), pages 557 - 560, XP031374062, ISBN: 978-1-4244-1765-0 *
PETER SCHALLAUER ET AL: "Rapid and Reliable Detection of Film Grain Noise", IMAGE PROCESSING, 2006 IEEE INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 October 2006 (2006-10-01), pages 413 - 416, XP031048661, ISBN: 978-1-4244-0480-3 *
SCHALLAUER ET AL.: "Rapid and reliable detection of film grain noise", IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, 2006
YUNTAO QIAN ET AL: "3-D nonlocal means filter with noise estimation for hyperspectral imagery denoising", GEOSCIENCE AND REMOTE SENSING SYMPOSIUM (IGARSS), 2012 IEEE INTERNATIONAL, IEEE, 22 July 2012 (2012-07-22), pages 1345 - 1348, XP032469095, ISBN: 978-1-4673-1160-1, DOI: 10.1109/IGARSS.2012.6351287 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047671A1 (en) * 2020-09-02 2022-03-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method of removing noise in image and electrical device
CN114742727A (en) * 2022-03-31 2022-07-12 南通电博士自动化设备有限公司 Noise processing method and system based on image smoothing

Similar Documents

Publication Publication Date Title
Zhang et al. Low-rank decomposition-based restoration of compressed images via adaptive noise estimation
US8582915B2 (en) Image enhancement for challenging lighting conditions
US8908989B2 (en) Recursive conditional means image denoising
US8320700B2 (en) Apparatus and method of estimating scale ratio and noise strength of encoded image
CA2674149A1 (en) Banding artifact detection in digital video content
CN110796615B (en) Image denoising method, device and storage medium
WO2018058090A1 (en) Method for no-reference image quality assessment
WO2002102086A2 (en) Apparatus and method for adaptive spatial segmentation-based noise reducing for encoded image signal
US11310475B2 (en) Video quality determination system and method
CN111445424B (en) Image processing method, device, equipment and medium for processing mobile terminal video
US20170345170A1 (en) Method of controlling a quality measure and system thereof
WO2022143421A1 (en) Noise intensity estimation method and apparatus, and electronic device
CN113379858A (en) Image compression method and device based on deep learning
CN113612996A (en) Video denoising method and device based on time domain filtering
CN110992264B (en) Image processing method, processing device, electronic equipment and storage medium
CN106664404A (en) Block segmentation mode processing method in video coding and relevant apparatus
Wang et al. Semantic-aware video compression for automotive cameras
CN110536138B (en) Lossy compression coding method and device and system-on-chip
Zhu et al. No-reference quality assessment of H. 264/AVC encoded video based on natural scene features
WO2015128302A1 (en) Method and apparatus for filtering and analyzing a noise in an image
Li et al. A cascaded algorithm for image quality assessment and image denoising based on CNN for image security and authorization
Palacios-Enriquez et al. Sparse technique for images corrupted by mixed Gaussian-impulsive noise
Lin A nonlocal means based adaptive denoising framework for mixed image noise removal
Paul et al. On visual masking estimation for adaptive quantization using steerable filters
Shakar et al. Quantification of color artifacts for the evaluation of color filter array demosaicking

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: 15708143

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15708143

Country of ref document: EP

Kind code of ref document: A1