SPATIAL SMOOTHING PROCESS AND DEVICE FOR DARK REGIONS OF AN IMAGE

Abstract: The invention relates to a process, to a device for smoothing dark regions of images and to a coding system. - a noise level is associated with each image and a luminance value is associated with each pixel, - a threshold value is calculated, - at least two values delimiting a smoothing range are defined,- for each current pixel, the luminance of the pixel is compared with the said values,- if the luminance of the current pixel lies in a smoothing range, the luminance of several pixels in an analysis window is compared with the said values,- if the luminance of certain pixels lies in the same range as the value of the luminance of the current pixel, the value of the luminance of the current pixel is modified as a function of the said threshold values.

Description: Spatial smoothing process and device for dark regions of an image The present invention relates to a process and to a device for spatial smoothing as well as to a corresponding coding system. It relates to the noise reduction techniques applied to digital video signals. These techniques are generally applied to digital video images taking the form of a matrix of samples; each sample is composed of a luminance signal and, for a colour signal, of a chrominance signal. The acquisition of video image sequences is still today largely carried out in analogue form so that the images, once acquired and possibly transmitted and stored in analogue formats, exhibit an appreciable share of noise in their content. Once digitized, these images are also often subjected to storage/editing operations which, in their turn, introduce noise, this time of a digital nature. Finally, an image sequence generally undergoes a succession of transformations resulting in spatio-temporal noise of a highly random nature. To obtain high-performance operation, the noise reduction methods call upon recursive filtering which considers.the very high temporal correlation of the images of a video sequence. These filters are very effective but have the drawback of making the noise homogeneous and hence of giving the final result a "dirty window pane" effect. This is especially visible in the dark regions of the image. The invention therefore relates to the homogenization of the dark regions of an image based on the amplitude of the luminance of the pixels of this image. Patent US 4,962,426 filed in the name of the company Hitachi Limited discloses noise reducing systems which use the amplitude of the luminance. Such systems use the amplitude of the luminance to increase the stringency of the noise reducing filter, in the analogue domain. Such systems are therefore not adapted for homogenizing the dark regions of an image having undergone a deterioration as they pass through a recursive filter. Moreover, such systems do not allow variable smoothing of an image and are not adapted to operate in the domain of digital images. The invention therefore proposes a smoothing process based on a noise estimate and on the value of the luminance of each current point which makes it possible to obtain good image quality, while considerably reducing the negative effects alluded to above. Accordingly, the invention concerns a process for smoothing dark regions of an image sequence having undergone temporal filtering, a noise level being associated with each image, a luminance value being associated with each pixel of an image. According to the invention: - at least one predetermined, so-called threshold value, is calculated as a function of the noise level of the image and the zero value is added to the calculated values, at least two predetermined values are defined which delimit at least one smoothing range, - for each pixel of the image, the pixel currently being analysed being referred to as the current pixel, the luminance of the said pixel is compared with the said predetermined values delimiting at least one smoothing range, if the luminance of the current pixel lies in one of the said smoothing ranges, the luminance of a plurality of pixels, the so-called analysis pixels, in a neighbourhood window, the so-called analysis window, centred on the current pixel, is compared with the said values delimiting at least one smoothing range, if the luminance of at least a predetermined minimum number (n) of analysis pixels lies in the same range as the value of the luminance of the current pixel, the value of the luminance of the current pixel is modified as a function of the said threshold values. Thus the pixels whose luminance is below a certain threshold are smoothed. The pixels are not analysed individually, hence better homogeneity of smoothing is obtained. The term "neighbourhood" is understood to mean the pixels surrounding the current pixel, currently being analysed. Preferably, the number of pixels surrounding the current pixel will comprise about 10 pixels (advantageously between 7 and 13 inclusive) in each direction and on each side of the current pixel. The neighbourhood may be both a line and column or column or line neighbourhood. It will be readily understood that it is simpler to design a line neighbourhood, the number of points to be traversed and to be stored being restricted in this case. Moreover, if at least two thresholds are determined, it is possible to perform progressive smoothing depending on the value of the luminance with respect to the two thresholds. Specifically, if the luminance of the current pixel is below a first threshold, that is to say if the luminance is relatively low, then it will be possible to apply a smoothing while taking few constraints into account so that the smoothing is performed as often as possible. If the luminance of the current pixel lies between the two thresholds, that is to say if its luminance is higher, then it will be possible to apply stronger constraints so that the correction is made only in vital cases. Moreover, a variable stringency is applied to the smoother and the smoothing is modulated. Specifically, the total luminance scale is split up into various regions. Thus the pixels whose luminance is low do not undergo the same smoothing as the pixels whose luminance is high. According to a particular embodiment, the predetermined so-called threshold values are identical to the predetermined values delimiting at least one smoothing range. Thus the smoothing is made simpler. According to a particular characteristic, the process is characterized in that the predetermined so-called threshold values are proportional to the noise level of each image. Thus the smoothing takes into account the particular characteristics of each image. Advantageously, the process is characterized in that the modification of the value of the luminance of the current pixel consists in computing a weighted average of the luminance value of a plurality of the K neighbouring pixels, the so-called processing pixels, and of the current pixel and in allocating the value obtained to the luminance of the current pixel. In this way, the luminance of the smoothed pixel will be in harmony with the value of the luminance of the neighbouring pixels while limiting the contrast. According to another characteristic, the smoothing ranges are of different size, the ranges whose luminance is low being wider than those whose luminance is high. Moreover, the process is characterized . in that the predetermined minimum number of analysis pixels varies as a function of the range in which the current pixel is located. Thus, according to a particular embodiment, for the ranges comprising pixels of high luminance, it is advantageous for n to be higher than for the ranges whose luminance is low. Specifically, since the smoothing is applied only if n pixels are found which belong to the range in the neighbourhood of the current pixel, the more the size of the range decreases and the more n increases, hence the less smoothing will be carried out. Advantageously, the modification performed-on the value of the luminance of the current pixel is different according to the predetermined so-called threshold values. This has the further advantage of performing a mild smoothing on the pixels whose luminance is higher and a stronger smoothing on the pixels whose luminance is lower. According to a preferred embodiment, the number M of processing pixels used for the weighted average depends on the threshold values (0, S1 , S2) between which the luminance of the current pixel lies. In this way, the size of the processing window used to perform the smoothing varies and the smoothing can be refined. The invention also relates to a device for smoothing dark regions of an image sequence having undergone temporal filtering, there being a noise level associated with each image, there being a luminance value associated with each pixel of an image. The device according to the invention comprises: means for calculating at least one predetermined so-called threshold value as a function of the noise level of the image, - means of determining two predetermined values delimiting at least one smoothing range, means of comparing, for each pixel of the image, the pixel currently being analysed being referred to as the current pixel, the luminance of the said pixel with the said predetermined values delimiting at least one smoothing range, means of comparison which, if the luminance of the current pixel lies in one of the said smoothing ranges, compare the luminance of a plurality of pixels, the so-called analysis pixels, in a neighbourhood window, the so-called analysis window, centred on the current pixel, with the said values delimiting at least one smoothing range, means of modifying the value of the luminance of the current pixel as a function of the said threshold values if the luminance of at least a predetermined minimum number of analysis pixels lies in the same range as the value of the luminance of the current pixel, the said device being preferably adapted to implement a smoothing process as described above. The invention also relates to a coding system comprising such a smoothing device. The invention will be better understood and other features and advantages will become apparent on reading the description of the exemplary embodiments which follow, taken by way of nonlimiting examples, with reference to the appended drawings among which: Figure 1 represents an environment for implementing the device according to the invention, - Figure 2 represents the analysis window used to perform the smoothing, Figure 3 represents the work window used to perform the smoothing, Figure 4 represents a flowchart for implementing the invention, Figure 5 represents a splitting of the luminance values into three regions, Figure 6 represents a flowchart of a particular mode of operation of the device according to the invention, Figure 7 represents a splitting of the total luminance scale into various ranges, Figure 8 represents a flowchart for implementing the invention taking into account a splitting of the total luminance scale into various ranges. The system represented in Figure 1 represents a noise correction system 1 including a smoothing device 3 or smoother. Such a system is implemented upstream of a video coder complying with the MPEG standard, the initials standing for "Motion Picture Expert Group". We use the following notation: P current pixel with co-ordinates x and y, V(P) value of the luminance of the current pixel P, V'(P) modified value of the luminance of the current pixel P, A and B constants used for determining the thresholds, σ estimate of the noise level, FA analysis window of size 2*K+1 centred on the current pixel, FAi analysis window of size K situated between pixels P-1 and P-K, FA 2 analysis window of size K situated between pixels P+1 and P+K, FT processing window, FTi processing window used for the stringent smoothing of size 2M+1 , FT 2 processing window used for the mild smoothing of size 2M'+1 , β-i stringent smoothing coefficient, (I i| <=(FTι-1 )/2) 0 * 1 mild smoothing coefficient, (I i| <=(FT 2 -1 )/2) Such a system 1 receives as input a noisy image sequence 6. This noisy image sequence enters a temporal recursive filter 2 which may or may not be motion compensated and also enters a noise level estimator 4. Such a motion compensated temporal filter is described in the application EP00401558.2 filed in the name of the company Thomson Licensing SA. This recursive filter produces as a function, among other things, of the estimate of the noise level σ 5, a new image sequence 7 whose noise has been reduced but spread, this representing the unpleasant "dirty window pane" effect on the dark regions of the image. In order to eliminate this "dirty window pane" effect this sequence 7 then undergoes smoothing in the device 3. The smoother 3 receives as input the noise level σ referenced 5 output by the noise estimator 4, which is analysed so as to perform the smoothing of the denoised sequence 7. The noise level σ is associated with an image. The smoother 3 outputs a new denoised, but also smoothed, sequence 8. This new image sequence 8 can be injected into the input of an MPEG type coder. Figure 2 describes an analysis window for the current pixel, as used in the smoother 3. In order to perform the smoothing, an analysis window, also referred to subsequently as a neighbourhood or neighbourhood window of the current pixel, is defined around the current pixel to be smoothed. This analysis window is centred on the current pixel. It can be defined in the two directions, horizontal and/or vertical. It is readily understood that for implementational reasons it is simpler to take a horizontal window, that is to say one which takes into account pixels located on the same line as the current pixel. Specifically, a vertical window and a fortiori a window which takes into account neighbouring columns and lines of the current pixel would require much more memory room when processing the current pixel since it would be necessary to read and especially to store many more pixels than in the case of a horizontal window in order to perform the smoothing. Figure 2 represents a particular embodiment in the case where a horizontal analysis window FA is chosen. This analysis window is centred on the current pixel P and is broken into two analysis subwindows FA1 and FA2 of identical size K. The pixel P has as co-ordinates in the image, x along a horizontal axis and y along a vertical axis. The extreme pixels of the analysis window FA therefore have as co-ordinates x-K and x+K along a horizontal axis and y along a vertical axis. The size of the analysis window is chosen reasonably. Thus for a line of 720 pixels it is reasonable to choose a size of analysis window FA of 15 pixels. In this case, K has the value 7. Figure 3 represents a processing window FT of the smoother 3. This window is centred on the current pixel P and is broken down into two processing subwindows FT1 and FT2 of identical size M. According to a particular embodiment, this window is also horizontal, that is to say all the pixels of this window are situated on the same line of the image as the current pixel. Specifically, the processing window FT is a subwindow of the analysis window FA. We therefore have M < K. The two analysis and processing windows aid the understanding of Figures 4, 6 and 8. Figure 4 describes a first method of smoothing according to the invention implemented in the smoother 3. The smoother 3 calculates at least one threshold S1 with each new image. This threshold is calculated as a function of the noise level σ of the image at the input of the recursive coder 2. This noise level is estimated by the device 4 and transmitted to the recursive coder 2 and to the smoother 3. The threshold is proportional to the noise as follows: S1 = σ*A, A being a constant. In Figure 4, at step E1 , the value of the luminance V(P) of the current pixel is compared with the threshold SL If this value is above the threshold then the value V(P) is not modified and we go to the next pixel, step E5. If this value is below the threshold then we go to step E2. In the course of step E2, the value of the luminance of the K pixels in the analysis window FA1 is compared with the threshold SL If n pixels from among the K pixels have a luminance value below the threshold, then we go to step E3, otherwise we go to the next pixel, step E5. In the course of step E3, the value of the luminance of the K pixels in the analysis window FA2 is compared with the threshold SL If n pixels from among the K pixels have a luminance value below the threshold, then we go to step E4, otherwise we go to the next pixel, step E5. N is preferably greater than K/2. In the course of step E4, the value of the luminance of the current pixel is modified according to the following formula (1): ^ ) = -----A- - > V(P- M + l) + . . + β ll -* V{P) + .. + fl„. ] * l- V(P+ M - l) + β M * V(P + M) 2 *Σ ,A.. The coefficients β, are the weighting coefficients of the filter. The index i lies between [0, +M]. In step E5, we go to the next pixel, then we go back to step E1 until the entire image has been traversed. When the entire image has been smoothed, we go to the next image and we calculate a new threshold as a function of the noise level σ of the current image. Figure 5 shows an improvement to the splitting of the total luminance scale by defining two thresholds S1 and S2. Specifically, the use of a single threshold simplifies the smoother, but for the pixels whose luminance is close to the threshold, there is a risk of this being manifested visually as a temporal oscillation between the smoothed effect and non-smoothed effect. In a particular embodiment, the smoother 3 calculates two thresholds called S1 and S2. These thresholds are calculated as a function of the noise level σ of the image at the input of the recursive filter 2. This noise level is estimated by the device 4 and transmitted to the recursive coder 2 and to the smoother 3. The thresholds are proportional to the noise as follows: S1 = σ*A S2 = σ*B with B > A hence S2 > S1. A and B being constants, the larger A and B are, the more the image is smoothed since all the pixels whose luminance value is below S1 or S2 are smoothed according to the flowchart of Figure 6 described later. Figure 6 illustrates an embodiment using two thresholds S1 and S2. In step F1 , the value of the luminance V(P) of the current pixel is compared with the threshold SL If this value is above the threshold S1 , then we go to step F6. If this value is below the threshold S1 , then we go to step F2. In the course of step F2, the value of the K pixels in the analysis window FA1 is compared with the threshold SL If n pixels from among the K have a luminance value below the threshold S1 , then we go to step F3, otherwise we go to the next pixel, step F5. In the course of step F3, the value of the luminance of the K pixels in the analysis window FA2 is compared with the threshold SL If n pixels from among the K have a luminance value below the threshold S1 , then we go to step F4, otherwise we go to the next pixel, step F5. In the course of step F4, the value of the luminance of the current pixel is modified according to the following formula (1): β i * V{P - M) + β M _ V{P - M + \) + ... + β n * V{P) + --- + β M - * V{P + M - \) + β K j * V .P + M) X(P) = z-∑ Λ + A The coefficients β, are the weighting coefficients of the filter. The index i lies between [0, +M]. In step F6, the value of the luminance of the current pixel is compared with the thresholds S1 and S2. If this value lies between S1 and S2 we go to step F7, otherwise we go to step F5. In the course of step F7, the value of the luminance of n pixels from among the K in the analysis window FA1 is compared with the thresholds S1 and S2. If n pixels have a luminance value above the threshold S1 and below the threshold S2, then we go to step F8, otherwise we go to the next pixel, step F5. In the course of step F8, the value of the luminance of n pixels in the analysis window FA2 is compared with the thresholds S1 and S2. If n pixels have a luminance value above the threshold S1 and below the threshold S2, then we go to step F9, otherwise we go to the next pixel, step F5. In the course of step F9, the value of the luminance of the current pixel is modified according to the following formula (2): Y w t ( P ) \ a u- * μ ( p ~ M ') + a ^ * y ( p - M' +l ) + --- + — a o j*ji y ( p ) + --- + a M'- -X — ■ — 2 *Σ f . r a + a o M' = (FT2-1)/2, FT2 represents the size of the processing window and FT2 <= FTL The coefficients α- are the weighting coefficients of the filter. The index i lies between [0, +M']. In step F5, we go to the next pixel, then we go back to step F1 until the entire image has been traversed. When the entire image has been smoothed, we go to the next image and we calculate new thresholds as a function of the noise level σ of the current image. In Figure 7, the total luminance scale is broken down into various ranges. Specifically, the applicant has noted that the solutions presented in the two flowcharts of Figures 4 and 6 exhibited the advantage of being very simple but could, according to a variant, be more effective. Specifically, if the total luminance scale is split into various ranges, it is possible to adjust the constraints of application of the smoother. Figure 7 shows a breakdown of the total luminance scale into four ranges. The ranges whose luminance is low are of larger sizes than the ranges whose luminance is high. A high luminance corresponds to a bright region and a low luminance corresponds to a dark region. The lower the luminance, the weaker the constraints of application of the smoother will be, that is to say the more the parameter n will change. The greater the luminance, the more n will increase, that is to say it will be necessary for there to be more pixels complying with the application criteria of the filter in the range of the current pixel in order for the smoothing to be applied. Moreover, since the size of the range decreases as the luminance increases, it will be more and more difficult to find n pixels in an ever narrower range, the filter is thus applied more flexibly in respect of the dark regions than in respect of the bright regions of the image. To do this, a certain number (p) of nonuniform ranges of luminance amplitude are defined: - a range 1 from 0 to Cst 1 - a range 2 from Cst 1 to Cst 2 - a range 3 from Cst 2 to Cst 3 - a range p from Cst (p-1) to Cst p (with S2 max > Cst p >... > Cst 2 > Cst 1 > 0) Thus, in Figure 7 the total luminance scale is split into four ranges for example. A first range whose extreme values are 0 and 64. A second range whose extreme values are 64 and 112, of size 48. A third range whose extreme values are 112 and 144 of size 32 and a fourth range whose extreme values are 144 and 160 of size 16. Depending on the range [Cst i, Cst i+1](0<=kp) in which the value V of the luminance of the current pixel is situated, the conditions of application of the smoother are made more or less stringent. The values of n for the various ranges will for example be as follows: for the range [Cst 0, Cst 1], n = 3 for the range ]Cst 1, Cst 2], n = 4 for the range ]Cst p, Cst p+1], n = 7 Figure 8 gives a flowchart for the operation of this second variant of the invention described in Figure 7. In step G1 , the smoother determines the range in which the current pixel is located while smoothing the value of the luminance of the current pixel. It thus determines the value of n, the values of n being predetermined in the smoother and associated with a range. Then, in step G2, the smoother examines the pixels of the analysis window FA1 and determines whether at least n pixels from among the K pixels of the window FA1 belong to the same range as the current pixel enlarged by 6 pixels (8 above and 8 below). The range is enlarged by 16 pixels, 16 being given by way of indication and so as to deal with the particular cases where the value of the current pixel is just above or below the bounds defining the range. If at least n pixels belong to the said extended range, then we go to step G3, otherwise we go to step G8. In step G3, the smoother examines the pixels of the analysis window FA2 and determines whether at least n pixels from among the K pixels of the window FA2 belong to the same range as the current pixel, enlarged by 16. If at least n pixels belong to the said extended range, then we go to step G4, otherwise we go to step G8. In step G4, the value of the luminance of the current pixel is compared with the threshold SL If this value is below or equal to S1 , then we go to step G6; otherwise we go to step G5. In the course of step G5, the value of the luminance of the current pixel is compared with the thresholds S1 and S2. If this luminance value is above the threshold S1 and below the threshold S2, then we go to step G7, otherwise we go to the next pixel, step G8. In the course of step G6, the value of the luminance of the current pixel is modified according to the following formula (1): _ β M ~ V(.P - M) + β M _ * Y{P - M + \) + ...± β„ * V{P) + ...+ β M _χ V>iP + M -\) + β M * V(P + M) 2* Σ„-A -Α The coefficients β* are the weighting coefficients of the filter. The index i lies between [0, +Mj. In the course of step G7, the value of the luminance of the current pixel is modified according to the following formula (2): M' = (FT2-1)/2, FT2 represents the size of the processing window and FT2 < FT1. The coefficients α* are the weighting coefficients of the filter. The index i lies between [0, +M']. In step G8, we go to the next pixel, then we go back to step G1 until the entire image has been traversed. When the entire image has been smoothed, we go to the next image and we calculate new thresholds as a function of the noise level σ of the current image.

Claims: CLAIMS 1. Process for smoothing dark regions of an image sequence having undergone temporal filtering, a noise level (σ) being associated with each image, a luminance value being associated with each pixel of an image, characterized in that, at least one predetermined so-called threshold value (S1.S2) is calculated as a function of the noise level of the image and the zero value is added to the calculated values, - at least two predetermined values (Cst i, Cst i+1) are defined which delimit at least one smoothing range, for each pixel of the image, the pixel currently being analysed being referred to as the current pixel (P), the luminance of the said pixel is compared (E1 ,F1 ,F6,G1) with the said predetermined values (Cst i, Cst i+1) delimiting at least one smoothing range, if the luminance of the current pixel (P) lies in one of the said smoothing ranges, the luminance of a plurality (K) of pixels, the so-called analysis pixels, in a neighbourhood window, the so-called analysis window (FA), centred on the current pixel (P), is compared (E2,E3,F2,F3,F7,F8,G2,G3) with the said values delimiting at least one smoothing range, if the luminance of at least a predetermined minimum number (n) of analysis pixels lies in the same range as the value of the luminance of the current pixel, the value of the luminance (V(P)) of the current pixel (P) is modified (E4,F4,F9,G6,F7) as a function of the said threshold values (0.S1.S2). 2. Process according to Claim 1, characterized in that the predetermined values (Cst i, Cst i+1) delimiting at least one smoothing range are identical to the predetermined so-called threshold values (0,S1 ,S2). 3. Process according to any one of Claims 1 or 2, characterized in that the predetermined calculated so-called threshold values (S1.S2) are proportional to the noise level (σ). 4. Process according to any one of Claims 1 to 3, characterized in that the modification (E4,F4,F9,G6,G7) of the value of the luminance (V(P)) of the current pixel (P) consists in computing a weighted average of the luminance value of a plurality (M) of the K neighbouring analysis pixels, the so-called processing pixels, and of the current pixel (P) and in allocating the value obtained to the luminance (V(P)) of the current pixel. 5. Process according to one of Claims 1 to 4, characterized in that the smoothing ranges are of different size, the ranges whose luminance is low being wider than those whose luminance is high. 6. Process according to any one of Claims 1 to 5, characterized in that the predetermined minimum number (n) of analysis pixels varies as a function of the range in which the current pixel is located. 7. Process according to any one of Claims 1 to 6, characterized in that the modification (E4,F4,F9,G6,G7) performed on the value of the luminance (V(P)) of the current pixel (P) is different according to the predetermined so-called threshold value(s) (S1,S2). 8. Process according to any one of Claims 1 to 7, characterized in that the number (M) of processing pixels used for the weighted average depends on the threshold values (0,S1,S2) between which the luminance of the current pixel lies. 9. Device (3) for smoothing dark regions of an image sequence having undergone temporal filtering, a noise level being associated with each image, there being a luminance value being associated with each pixel of an image, characterized in that it comprises, means for calculating at least one predetermined so-called threshold value (S1 ,S2) as a function of the noise level of the image, means of determining two predetermined values (Cst i, Cst i+1) delimiting at least one smoothing range, - means of comparing, for each pixel of the image, the pixel currently being analysed being referred to as the current pixel (P), the luminance of the said pixel with the said predetermined values (Cst i, Cst i+1) delimiting at least one smoothing range, means of comparison which, if the luminance of the current pixel (P) lies in one of the said smoothing ranges, compare the luminance of a plurality (K) of pixels, the so-called analysis pixels, in a neighbourhood window, the so-called analysis window (FA), centred on the current pixel (P), with the said values delimiting at least one smoothing range, means of modifying the value of the luminance (V(P)) of the current pixel (P) as a function of the said threshold values (0,S1 ,S2) if the luminance of at least a predetermined minimum number (n) of analysis pixels lies in the same range as the value of the luminance of the current pixel, the said device being preferably adapted to implement a smoothing process according to any one of Claims 1 to 8. 10. Coding system comprising a smoothing device in accordance with Claim 9.

Inventors: ALEXANDRE PATRICE, BABONNEAU JEAN-YVES, LE MEUR OLIVIER, ALEXANDRE, PATRICE, BABONNEAU, JEAN-YVES, LE MEUR, OLIVIER
Applicants: ALEXANDRE PATRICE, BABONNEAU JEAN YVES, LE MEUR OLIVIER, THOMSON LICENSING SA, ALEXANDRE, PATRICE, BABONNEAU, JEAN-YVES, LE MEUR, OLIVIER
Application year: 2001
Main classification: H04N5
IPC codes: H04N5