This patent application claims priority from German Application No. 10 2007 037 857.4 filed Aug. 10, 2007, which is hereby incorporated by reference.
The invention relates to the field of video image processing, and in particular to reducing image artifacts that result from block-based digital video compression.
In block-based video compression, including MPEG, consecutive images of an image sequence are divided into image blocks each having a plurality of pixels, for example 8×8 pixels, and the pixels of individual blocks are jointly encoded. In an image sequence reconstructed from the encoded data, a loss of video information arising through encoding may give rise to image artifacts, which may be salient depending on the image content.
An example of such artifacts is a blocking artifact, which arises when discontinuities in the run of the image occur at the boundaries of adjacent image blocks, that is, when for example discontinuous changes occur in the brightness (luminance) values associated with the individual pixels. The individual block boundaries are then visible within the image. A further example of image artifacts is a ringing artifact. This term denotes visible noise in the vicinity of sharp edges of an object represented by the image sequence.
There is a need for a system that reduces image artifacts.
According to an aspect of the invention, a method for reducing image artifacts in an image that includes a number of pixels each of which includes at least one video information value, includes generating a plurality of filter coefficients for at least some of the pixels of the image, on the basis of which the video information values of the pixels can be reconstructed. Artifact detection is performed to detect artifact regions within the image. At least some filter coefficients of those pixels that lie within the artifact regions are modified to generate modified filter coefficients. The video information values are synthesized using the filter coefficients, the modified filter coefficients being employed for the synthesis for pixels lying within the artifact regions.
These and other objects, features and advantages of the present invention will become more apparent in light of the following detailed description of preferred embodiments thereof, as illustrated in the accompanying drawings.
In the Drawings, unless otherwise stated, like reference characters identify the same image regions having the same meaning.
For the further explanation, the X coordinates of the individual pixels increase toward the right and that the Y coordinates of the individual pixels increase downwardly, so that the point of the pixel matrix having coordinates (0, 0) lies in the upper left corner of the matrix.
Associated with each of the individual pixels are video information values, including a brightness (luminance, Y) value and two color contrast (chrominance, UV) values. For purposes of explanation, the technique explained in what follows is applied only to the luminance values associated with the individual pixels. The technique may also be applied in corresponding fashion to the chrominance values as well. In the case of an RGB color representation, wherein color contrast values for the three primary colors red, green and blue are associated with the individual pixels, the technique explained in what follows may be applied separately to the color contrast values for the individual primary colors.
For purposes of explanation, video information values denoted by a1 to h4 are reproduced for a matrix of 4×8 pixels having the pixel (x, y) at its top left corner. Here a1 is the video information value of the pixel (x, y) and h4 is the video information value of the pixel (x+7, y+3) at the bottom right corner of the matrix.
Suppose furthermore that the video information values associated with the individual pixels were obtained by decoding a signal sequence that arose through block-based compression of a video sequence. In the case of lossless encoding and lossless transmission or storage of the encoded signal sequence, the video sequence obtained by decoding the signal sequence matches the originally encoded video sequence. The encoding of video sequences, however, is linked with information losses, which can lead to the artifacts explained at the outset.
In the technique explained in what follows, such artifacts are reduced by detecting the position of artifacts on the basis of the video information values associated with the individual pixels, performing a frequency analysis of the image, modifying frequency components of pixels in those image regions where artifacts were detected, and finally reconstructing the video information values using the modified frequency components.
In what follows, a first filtering technique for frequency analysis of the image content is explained with reference to
A first filter coefficient, hereinafter denoted by HPH2×2, is obtained, with reference to
HPH2×2(x,y)=P(x,y)+P(x,y+1)−P(x+1,y)−P(x+1,y+1). (1a)
With reference to
HPV2×2(x,y)=P(x,y)+P(x+1,y)−P(x,y+1)−P(x+1,y−1). (1b)
With reference to
HPD2×2(x,y)=P(x,y)−P(x+1,y)−P(x,y+1)+P(x+1,y+1) (1c)
With reference to
With reference to
With reference to
With reference to
The filter coefficients explained above are high-pass filter coefficients or, in the case of the horizontal 4×8 filter coefficient, bandpass filter coefficients. With reference to
In a first filter stage 11 of filter bank 10, for each pixel, a horizontal high-pass filter value HPH1×2 is determined by a first filter 111 and a horizontal low-pass filter value LP1×2 by a second filter 112 of this filter stage. Here the high-pass filter value is obtained by subtracting the video information values of two pixels immediately adjacent in the horizontal direction, so that:
HPH1×2(x,y)=P(x,y)−P(x+1,y), (2a)
HPD2×2(x,y)=HPH1×2(x,y)−HPH1×2(x,y+1). (2a)
The low-pass filter value LP1×2 is obtained by adding the video information values of these pixels adjacent in the horizontal direction, so that:
LP1×2(x,y)=P(x,y)+P(x+1,y), (2b)
HPH2×2(x,y)=HPH1×2(x,y)+HPH1×2(x,y+1). (2b)
In a next second filter stage 12, the filter coefficients HPH1×2, LP1×2 available at the outputs of the filters 111, 112 are subjected to high-pass filtering in the vertical direction by high-pass filters 121, 123, and to low-pass filtering in the vertical direction by the low-pass filters 122, 124. The filter coefficients of two pixels adjacent in the vertical direction, available at the output of the first filter stage 11, are added by low-pass filtering, while the filter coefficients of two pixels adjacent in the vertical direction, available at the output of the first filter stage, are subtracted by high-pass filtering. The diagonal 2×2 filter coefficients explained with reference to
HPD2×2(x,y)=HPH1×2(x,y)−HPH1×2(x,y+1). (2c)
The horizontal 2×2 filter coefficients HPH2×2 are available at the output of the first low-pass filter 122 of the second filter stage 12, which is supplied with the high-pass filter coefficients HPH1×2 of the first filter stage 11. In the case of the filter bank 10 illustrated in
HPH2×2(x,y)=HPH1×2(x,y)+HPH1×2(x,y+1) (2d)
The vertical 2×2 filter coefficients HPV2×2 are available at the output of the second high-pass filter 123 of the second filter stage 12, which is supplied with the low-pass filter coefficients LP1×2 of the first filter stage 11. These vertical filter coefficients HPV2×2 are described in terms of the low-pass filter coefficients LP1×2 of the first filter stage 11 by:
HPV2×2(x,y)=LP1×2(x,y)−LP1×2(x,y+1). (2c)
The 2×2 low-pass filter coefficients LP2×2 are available at the output of the second low-pass filter 124 and are further processed in a third filter stage 13. These 2×2 low-pass filter coefficients LP2×2 are described in terms of the low-pass filter coefficients LP1×2, generated by the first filter stage 11, by:
LP2×2(x,y)=LP1×2(x,y)+LP1×2(x,y+1). (2d)
In the third filter stage 13, the low-pass filter coefficients LP2×2 of the second filter stage 12 are subjected to high-pass filtering in the horizontal direction with a high-pass filter 131 and to low-pass filtering in the horizontal direction with a low-pass filter 132. The expression “horizontal high-pass filtering” here indicates that the low-pass filter coefficients LP2×2 of two pixels adjacent in the horizontal direction are subtracted. The expression “horizontal low-pass filtering” indicates that the low-pass filter values LP2×2 of two pixels adjacent in the horizontal direction are added. High-pass filter coefficients HPH2×4 and low-pass filter coefficients LP2×4 are available at the outputs of the two filters 131, 132 and in each case are further processed in a succeeding fourth filter stage 14. The high-pass filter coefficients HPH2×4 of the third filter stage 13 are described in terms of the low-pass filter coefficients LP2×2 of the second filter stage 12 by:
HPH2×4=LP2×2(x,y)−LP2×2(x+2,y). (3a)
Thus in each case the low-pass filter coefficients LP2×2 of two pixels exhibiting a pixel spacing of two (2) in the horizontal direction are subtracted. In corresponding fashion, the low-pass filter coefficients LP2×4 of the third filter stage 13 are described by:
LP2×4=LP2×2(x,y)+LP2×2(x+2,y). (3b)
Thus the low-pass filter coefficients LP2×2 of pixels exhibiting a pixel spacing of two (2) in the horizontal direction are added.
Fourth filter stage 14 succeeding the third filter stage 13 includes a first high-pass filter 141 and a first low-pass filter 142, which are supplied with the high-pass filter coefficients HPH2×4 of third filter stage 13, and a second high-pass filter 143 and a second low-pass filter 144, which are supplied with the low-pass filter coefficients LP2×4 of third filter stage 13. The diagonal 4×4 filter coefficients HPD4×4 are available at the output of first high-pass filter 141. These filter coefficients are described in terms of the high-pass filter coefficients HPH2×4 of the third filter stage 13 by:
HPD4×4=HPH2×4(x,y)−HPH2×4(x,y+2). (4a)
Thus these 4×4 filter coefficients are generated by subtracting the high-pass filter coefficients HPH2×4 of two pixels exhibiting a pixel spacing of two (2) in the vertical direction.
The horizontal 4×4 filter coefficients HPH4×4 are available at the output of the first low-pass filter 142. These filter coefficients are described in terms of the high-pass filter coefficients HPH2×4 of the third filter stage 13 by:
HPH4×4=HPH2×4(x,y)+HPH2×4(x,y+2). (4b)
These filter coefficients HPH4×4 are thus generated by adding the high-pass filter coefficients HPH2×4 of two pixels exhibiting a pixel spacing of two (2) in the vertical direction of the image.
The vertical 4×4 filter coefficients HPV4×4 are available at the output of the second high-pass filter 143. These filter coefficients are described in terms of the low-pass filter coefficients LP2×4 of the third filter stage 13 by:
HPV4×4=LP2×4(x,y)−LP2×4(x,y+2). (4c)
These filter coefficients HPV4×4 are thus generated by subtracting the low-pass filter coefficients LP2×4 of two pixels exhibiting a pixel spacing of two pixels in the vertical direction.
A 4×4 low-pass filter coefficient generated by adding two low-pass filter coefficients LP2×4 of the third filter stage 13 is available at the output of the second low-pass filter 144. These 4×4 low-pass filter coefficients are described by:
LP4×4=LP2×4(x,y)+LP2×4(x,y+2) (4d)
These 4×4 low-pass filter coefficients are supplied to a fifth and last stage of filter bank 10, which includes a high-pass filter 151 and a low-pass filter 152. The 4×8 filter coefficients HPH4×8 are available at the output of the high-pass filter 151. These filter coefficients are described in terms of the low-pass filter coefficients LP4×4 of the fourth filter stage 14 by:
HPH4×8=LP4×4(x,y)−LP4×4(x+4,y). (5a)
These horizontal 4×8 filter coefficients are thus generated by subtracting the 4×4 low-pass filter coefficients LP4×4 of two pixels exhibiting a pixel spacing of four (4) pixels in the horizontal direction of the image. The 4×8 low-pass filter coefficients explained with reference to
LP4×8=LP4×4(x,y)+LP4×4(x+4,y). (5b)
These 4×8 filter coefficients are thus generated by adding the 4×4 low-pass filter coefficients of two pixels exhibiting a pixel spacing of four pixels in the horizontal direction.
From the eight filter coefficients explained with reference to
With reference to
LP4×4(x,y)=[HPH4×8(x,y)−HPH4×8(x−4,y)+LP4×8(x,y)+LP4×8(x−4,y)]/4. (6a)
The low-pass filter value LP4×4 is needed in a further synthesis step explained with reference to
In a further synthesis step, illustrated schematically in
−HPH2×4(x,y)=[−HPD4×4(x,y)+HPD4×4(x,y−2)−HPV4×4(x,y−2)−HPV4×4(x,y)]/4. (6b)
LP2×4(x,y)=[HPV4×4(x,y)−HPV4×4(x,y−2)+LP4×4(x,y)+LP4×4(x,y−2)]/4. (6c)
In a further synthesis step, with reference to
LP2×2(x,y)=[−HPH2×4(x−2,y)+HPH2×4(x,y)+LP2×4(x−2,y)+LP2×4(x,y)]/4. (6d)
In a further synthesis step, illustrated in
LP1×2(x,y)=[−HPV2×2(x,y−1)+HPV2×2(x,y)+LP2×2(x,y−1)+LP2×2(x,y)]/4. (6e)
In a further synthesis step, with reference to
−HPH1×2(x,y)=[HPD2×2(x,y−1)−HPD2×2(x,y)−HPH2×2(x,y−1)−HPH2×2(x,y)]/4. (6f)
In a final synthesis step, illustrated in
P(x,y)=[−HPH1×2(x−1,y)+HPH1×2(x,y)+LP1×2(x−1,y)+LP1×2(x,y)]/4. (6g)
The impact of an edge running through the image in the vertical direction on the individual filter coefficients is explained in what follows with reference to
The video information values cited in
For the situation illustrated in
With the exception of the low-pass filter coefficients, filter coefficients exhibiting a nonzero filter coefficient in consequence of the edge between columns x1 and x2 are hereinafter referred to as filter coefficients “excited by the edge.” In the example illustrated, these are the horizontal 2×2, 4×4 and 4×8 filter coefficients explained above.
As was already explained at the outset, blocking artifacts are edges or jumps in the run of the image resulting from block-based data compression. Such blocking artifacts in an image reconstructed from the compressed data can be reduced by “flattening” a discontinuous run of the video information values. This can be achieved by reducing the amplitude of filter coefficients excited by the edge in question. By way of example,
In correspondence with the representation in
In summary, edges in the run of the image may be flattened by performing an analysis to determine filter coefficients for individual pixels of the image, reducing in amplitude the filter coefficients excited by an edge in the run of the image and subsequently reconstructing the video information values with the use of the filter coefficients, some of which can be modified. In order to reduce blocking artifacts here, it is necessary to determine positions of such blocking artifacts within the image, that is, to determine the positions of edges in the run of the image that are part of the blocking artifacts, and—the position of the edges being known—to determine filter coefficients of those pixels that are excited by the edge. The position of the pixels having filter coefficients excited by the edge is the same in relation to the position of the edge and depends on the relevant analytical method used to determine the filter coefficients.
One possible method for detecting edges that are blocking artifacts is explained with reference to
Furthermore, provision is made for determining two further pixel difference values, namely a second pixel difference value that depends on the pixel difference of a second pixel pair lying to the left of the edge in the horizontal direction and a third pixel difference value that depends on the pixel difference of a third pixel pair lying next to and to the right of the first pixel pair in the horizontal direction. The three pixel pairs lie for example in the same row of the image. With reference to
In order to reduce the danger of an erroneous or incorrect detection, it is possible to examine a plurality of, for example four, adjacent rows. In order to determine the first pixel difference value, for example, first pixel differences from this plurality of rows are summed, and in order to determine the second and third pixel difference values, second and third pixel differences from this plurality of rows are summed. For the scenario illustrated in
In the example illustrated, the second pixel difference value is described by:
and the third pixel difference value is described by:
Instead of the absolute values it is also possible for example to sum even powers of the differences of the video information values. With allowance for these three pixel difference values, a first criterion for the presence of a blocking artifact is given if the first pixel difference value S1 is much larger than the second pixel difference value and the third pixel difference value, that is, if
S1>>S2ΛS1>>S3. (8a)
In this context “much larger” means that the first criterion is satisfied for example when the second and third pixel difference values S2, S3 are each smaller than a·S1, where 0<a<0.1 . . . 0.5, or when the ratio between the first pixel difference value and the second and third pixel difference values is larger than a specified value, for example a value between 5 and 10. Instead of comparing the first pixel difference value with two values, namely the second and the third pixel difference values, the mean of the second and third pixel difference values may be formed and the first pixel difference value may be compared with this mean.
In an exemplary embodiment, provision is made for determining a local blocking measure LBM described by:
LBM=−S3+S1−S2. (8b)
In this case a first criterion for a blocking artifact is satisfied for example when this local blocking measure is greater than zero, that is, when the first pixel difference value is greater than the sum of the second and third pixel difference values.
A second criterion for the presence of a blocking artifact is satisfied if the first pixel difference value is smaller than a specified first threshold value, that is, if:
S1<th1. (8c)
Here th1 denotes the first threshold value, whose absolute value depends on the number of pixel differences that are summed and depends on the value range within which the video information values of the individual pixels can fall. This threshold value sets a limit for the intensity of an edge at which artifact reduction can take place. If the first pixel difference value is above this threshold, it is presumed that the edge results from the image content and not from blockwise encoding of the image, so no filtering for artifact reduction is expected.
If for example, on consideration of the two criteria explained above, a blocking artifact is detected at a boundary between two columns of the pixel matrix, the horizontal 2×2 filter coefficients and the horizontal 4×4 filter coefficients excited by the detected edge are reduced in amplitude in the fashion explained. The position, relative to the edge, of the pixels whose filter coefficients are excited by the edge depends on, among other things, how the filter coefficients are generated. For the horizontal 2×2 and 4×4 filter coefficients explained with reference to
In an exemplary embodiment, the amplitude reduction of the individual filter coefficients excited by an edge depends on the measure of the change in the video information values at the edge, that is, on a gradient of the pixel information values at the edge. If the two criteria explained above for the presence of a blocking artifact are satisfied, the excited filter coefficients are reduced in dependence, for example, on the absolute value of the first pixel difference or in dependence on the sum of the absolute values of the first pixel differences. The reduction of the filter coefficients here is for example greater the larger this amplitude is. The excited filter coefficients are preferably not reduced to zero. In an exemplary embodiment provision is made for reducing the excited filter coefficients to 75%, 50% or 25% of their initial value in dependence on the first pixel difference.
In a further exemplary embodiment provision is made for employing the local blocking measure LBM according to formula (8b) as a measure for the reduction of the filter coefficients. If the local blocking measure is less than zero, no reduction of filter coefficients takes place because in this case there is no presumption that a blocking artifact is present. For values of the blocking measure LBM greater than zero, a fixedly specified value may be employed as the measure of the reduction of the filter coefficients. In another embodiment, various reduction factors may be provided. A threshold value is associated with each of these reduction factors. A given reduction factor is applied here if the local blocking mass exceeds the threshold value associated with this reduction factor but does not exceed the next larger threshold value, which is associated with a further reduction factor. The reduction factors are so chosen that they grow larger as the threshold values increase; that is, large reduction factors effecting a strong reduction are associated with large threshold values. If the local blocking mass exceeds a largest of the threshold values, then for example the reduction factor is 100% and the relevant filter coefficient is thus set equal to zero. In correspondence with the example explained above, for example, four reduction factors are provided: 25% for small local blocking measures and furthermore 50%, 75% and 100% for larger local blocking measures.
The detection of edges of blocking artifacts running in the horizontal direction takes place analogously to the explanations to
Alternatively or additionally to the (local) blocking artifact detection method explained with reference to
The detection of the local block grid rests on a statistical analysis in which it is determined how often a blocking pattern occurs in a row/column or how often the blocking criterion is satisfied. Under some circumstances, however, this may not be sufficient to classify an individual column/row as a blocking column, in particular because, along with edges resulting from the block grid, there may be edges resulting from the normal image content that can lead to “failures” in the detection of the block grid.
Models can be generated for the block grid in order to avoid such problems. Here each model represents or defines a block grid in view of horizontal and vertical dimensions (spacing) of the blocks of the grid and in view of a displacement (offset) of the individual grids in the vertical and horizontal directions relative to a specified position, so that there are four degrees of freedom for a grid. By considering the previously performed statistical analysis a determination is then made which of the block models best fits the statistical analysis. This model is then employed for the determination of blocking artifacts.
The statistical analysis explained above may be applied to the entire image but may also be applied to a window having for example 32 columns or to a window having for example 32 rows, which moves over the image. The columns or rows of such a window extend over the image height or image width.
In an exemplary embodiment, provision is made that filter coefficients lying in the “excitation region” of an edge are modified only when the edge lies at a boundary of the block grid and when the criteria for the presence of a blocking artifact, explained with reference to formulas (8a) and (8b), are satisfied. The determination of a block boundary running in the horizontal direction is carried out in analogous fashion by determining, for two adjacent rows, the number of columns for which the three pixel pairs satisfy the conditions of formulas (8a) and (8b).
In an exemplary embodiment, provision is made for determining, globally for the entire image, a measure by which the filter coefficients may be reduced at most after the detection of a blocking artifact.
To this end for example a global “blocking intensity” is determined for the image, and a reduction factor by which the excited filter coefficients are reduced is set in dependence on this blocking intensity. The reduction factor is larger the greater the blocking intensity. Here the blocking intensity is a measure for the difference of video information values of those pixels that are disposed adjacent one another along block boundaries in a direction transverse to the block boundary.
For determining the blocking intensity, for example, the pixel differences of pixel pairs distributed over the entire image and disposed in each case adjacent one another transversely to a block boundary are determined and summed. Additionally, the pixel differences are determined for those pixel pairs lying in the same row or the same column as the previously determined pixel pairs but disposed a distance from the block boundary. The pixel differences of these further pixel pairs are likewise summed, and the resulting second sum is subtracted from the first sum. The result is the blocking intensity for the entire image, which will also be referred to hereinafter as the blocking measure. Here pixel pairs and pixel pairs adjacent these pixel pairs along block boundaries may be determined in order to determine the blocking measure. It is moreover possible to determine a fixedly specified number of pixel pairs disposed along the block boundaries but arbitrarily distributed over the image. With reference to
BI′=|P(u+1,v)−P(u+2,v)|−|P(u+3,v)−P(u+4,v)|. (9)
Here such a blocking measure fraction BI′ is determined in the fashion explained for a multiplicity of pixel pairs distributed over the entire image, and the blocking measure fractions so obtained are summed in order to arrive at the blocking measure for the entire image, which is thus described by:
BI=ΣBI′. (10)
On the basis of the global blocking measure BI so obtained, a reduction factor is determined for the filter coefficients excited by the individual block edges.
Here the actual reduction of the filter coefficients can take place in dependence on the local blocking measure (compare formula 8b) within the limits specified by the global blocking measure. If the reduction factor determined on the basis of the global blocking measure is for example 75% and if the local reduction factor determined on the basis of the local blocking measure is for example 50%, then the actual reduction factor equals for example the product of the global and local reduction factors, that is, 75%·50% 37.5% in the example.
In a further exemplary embodiment provision is made that the reduction factor determined on the basis of the global blocking measure is employed as an upper limit for the actual reduction factor. Here the local reduction factor is employed as a reduction factor if it is less than or equal to the maximum reduction factor, and the maximum reduction factor is employed as the reduction factor if the local reduction factor is greater than the maximum reduction factor.
In the previously explained examples of blocking artifact reduction, provision is made for detecting block boundaries and for modifying filter coefficients excited by a detected block boundary by reducing their amplitude value. In a further example, provision is made for carrying out low-pass filtering in order to modify the excited filter coefficients in the region of a block boundary. The danger of inserting additional artifacts by modifying the filter coefficients is reduced here in comparison to a mere reduction of filter coefficients. In what follows, the modification of filter coefficients by low-pass filtering is illustrated with reference to
By way of example,
In
For the modification of the excited filter coefficient, provision is made for calculating a low-pass filter value HP′(w0), taking adjacent filter coefficients into account, and replacing the excited filter coefficient with the low-pass filter value, as in the result illustrated in
The low-pass filter of this example has a filter length of 3 and filter coefficients ¼, ½, ¼. Filters having a longer filter length can of course be used for low-pass filtering.
Provision is also made in the example illustrated for using low-pass filtering to modify not only the excited filter coefficient but also adjacent filter coefficients such as for example the filter coefficients HP(w0−1), HP(w0+1).
Ringing artifacts may occur at sharp edges in the run of the image. For reducing such ringing artifacts, provision is made for determining such sharp edges in the run of the image and reducing the filter coefficients of those pixels that are disposed along the edges. In the region of so-called textures, that is, in the region of those image regions in which a plurality of sharp edges succeed one another, thus in which such regular edges occur in succession, no reduction of the filter coefficients is expected, because ringing artifacts hardly arise in the region of such textures, and because reducing the filter coefficients would lead to a visible contrast reduction in the region of the runs of edges.
In order to decide whether the filter coefficients of a pixel are to be reduced so as to reduce ringing artifacts, provision is made in an exemplary embodiment for examining more closely an image region containing the pixel, with an eye to the presence of sharp edges and possible textures. With reference to
In a first examination step, for column pairs having two adjacent columns, the pixel differences are determined for pixel pairs each having one pixel in one column and another pixel in the other column, and the absolute values or even powers of the pixel differences so obtained are summed. The pixel difference values so obtained for column pairs, which pixel difference values constitute a measure for a gradient of the video information values at the relevant boundary between two columns, are compared with a specified first threshold value. If the difference value determined exceeds a specified threshold value, it is posited that an edge is present in the run of the image at the relevant column boundary. If, however, the difference value determined exceeds this limit for more than a specified number of column pairs, it is posited that the image region under consideration is a textured image region. There is then no modification of the filter coefficients in order to reduce ringing artifacts.
In corresponding fashion, for adjacent row pairs of the examined image region, pixel difference values are determined by determining the pixel differences of pixel pairs each exhibiting one pixel in one row and one pixel in the adjacent row and by summing the absolute values or even powers of these pixel differences. These pixel difference values obtained for the row pairs are compared with a second threshold value. If the pixel difference value for a row pair exceeds the second threshold value, it is posited that an edge is present in the run of the image at the relevant row boundary. If, however, the number of row pairs for which the pixel difference values lie above the second threshold value exceeds a specified number, there is no modification of the filter coefficients in order to reduce ringing artifacts, because in this case the presence of a texture in the image region under consideration is presumed.
In summary, the filter coefficients of the pixel lying centrally in the examined image region are modified when two criteria are satisfied that together indicate the presence of possible ringing artifacts. A first criterion is satisfied when the pixel difference value of at least one column pair of the examined image region is greater than the specified first threshold value or when the pixel difference value of at least one row pair of the examined image region is greater than the specified second threshold. A second criterion exists when the number of column pairs for which the pixel difference values are larger than the first threshold value is less than a specified first number and when the number of row pairs for which the pixel differences are larger than the specified second threshold is less than a specified second number. The first criterion is satisfied if there is at least one edge in the horizontal or vertical direction. The second criterion is satisfied if the edge is not a constituent of a texture, that is, a structure having a plurality of edges. The thresholds may differ with which the pixel difference values are compared in order to investigate the existence of the first and second criteria. Thus, if the existence of the first criterion is being investigated, the pixel difference values may be compared for example with a first threshold value (edge threshold value) and, if the existence of the second criterion is being investigated, for example with a second threshold value (texture threshold value).
A texture is detected if more than some 33%-50% of the differences exceed the texture threshold value. The second criterion is thus satisfied when more than 33%-50% lie below the texture threshold value.
For the investigation of the first criterion explained above, provision is made in an exemplary embodiment for normalizing pixel difference values obtained for the individual column pairs and those obtained for the individual row pairs; this is effected by dividing these pixel difference values by the number of pixel values contained in one column or by the number of pixel values contained in one row. The normalized pixel difference values so obtained for individual column pairs and individual row pairs may then be compared with a common threshold value, the presence of an edge between two columns of the examined image region or the presence of an edge between two rows of the examined image region being posited when the normalized pixel difference value for the two columns or when the normalized pixel difference value for the two rows exceeds the specified threshold value. In an exemplary embodiment provision is made for modifying only horizontal filter coefficients if the two criteria explained above are satisfied only for columns of the examined image region and for modifying only the vertical filter coefficients if the two criteria explained above are satisfied only for rows of the examined image region. Provision is made in a further embodiment for modifying both the horizontal and also the vertical filter coefficients if the two criteria explained above are satisfied for columns and/or rows of the examined image region. Then for example all the 2×2 filter coefficients explained above and all the 4×4 filter coefficients explained above—that is, the horizontal, vertical and diagonal 2×2 and 4×4 filter coefficients—are modified.
If an examination of the criteria explained above indicates that there is no texture, then the filter coefficients are modified. In order to explain the modification of the filter coefficients,
Provision is made in an exemplary embodiment for setting the threshold values in dependence on the properties of the examined image region, as is illustrated in what follows with reference to
The threshold values of the coring characteristic are thus adaptively chosen and depend on the value of a filter coefficient determined for the examined pixel.
The methods explained above may be performed successively by, for example, first modifying the filter coefficients in order to reduce blocking artifacts and by then modifying the filter coefficients in order to reduce ringing artifacts, using the characteristics explained with reference to
On the basis of a block diagram,
Detection results of the blocking stage 222 are supplied to a first modification unit 23, which modifies filter coefficients of those image regions in which blocking artifacts were detected and leaves unchanged the filter coefficients of those image regions in which no artifacts were detected. The filter coefficients available at the output of the first modification unit, which may already have been modified, are supplied to a second modification unit 24, which further modifies the filter coefficients using the detection results of ringing stage 223.
The filter coefficients, modified as applicable, available at the output of second modification unit 24 are supplied to a synthesis stage 25, which reconstructs the video information values from these filter coefficients. One of the two detection stages and thus one of the two modification stages may be dispensed within a simplified method.
Although the present invention has been illustrated and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10 2007 037 857 | Aug 2007 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
4573070 | Cooper | Feb 1986 | A |
5019904 | Campbell | May 1991 | A |
5294998 | Piovoso et al. | Mar 1994 | A |
5504531 | Knee et al. | Apr 1996 | A |
6408104 | Lim et al. | Jun 2002 | B1 |
6628341 | Staley et al. | Sep 2003 | B1 |
6678073 | Jewitt | Jan 2004 | B1 |
6810154 | Konoshima | Oct 2004 | B2 |
6898321 | Knee et al. | May 2005 | B1 |
7006686 | Hunter et al. | Feb 2006 | B2 |
7031392 | Kim et al. | Apr 2006 | B2 |
7043092 | Groliere | May 2006 | B1 |
20020181023 | Gorian et al. | Dec 2002 | A1 |
20030053708 | Kryukov et al. | Mar 2003 | A1 |
20030190086 | Kim | Oct 2003 | A1 |
20050031218 | Berkner et al. | Feb 2005 | A1 |
20060015262 | Gholap et al. | Jan 2006 | A1 |
20070064816 | Chiang et al. | Mar 2007 | A1 |
20070071356 | Caviedes et al. | Mar 2007 | A1 |
20070229710 | Park et al. | Oct 2007 | A1 |
20080100748 | Lei et al. | May 2008 | A1 |
20090034622 | Huchet et al. | Feb 2009 | A1 |
Number | Date | Country |
---|---|---|
WO 2006043190 | Apr 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090060371 A1 | Mar 2009 | US |