Loop-filtering method for image data and apparatus therefor
First Claim
1. A loop-filtering method for reducing quantization effect generated when an image data is encoded and decoded, the method comprising the steps of:
- extracting a flag indicating whether the image data requires loop-filtering using the distribution of inverse quantized coefficients (IQCs) of an inverse quantized image data and a motion vector indicating the difference between the previous frame and the current frame; and
filtering the image data corresponding to the flag by a predetermined method if the extracted flag indicates a need for the loop-filtering.
1 Assignment
0 Petitions
Accused Products
Abstract
A loop-filtering method for reducing quantization effect generated when an image data is encoded and decoded, and an apparatus therefor. The loop-filtering method includes the steps of extracting a flag indicating whether the image data requires loop-filtering using the distribution of inverse quantized coefficients (IQCs) of an inverse quantized image data and a motion vector indicating the difference between the previous frame and the current frame. The image data corresponding to the flag is then filtered by a predetermined method if the extracted flag indicates a need for the loop-filtering. Using the flags and an adaptive filter reduces the quantization effect and is useful to reduce the amount of computation required for the filtering. Also, the filtering can be performed through parallel processing without multiplication and division, so that the complexity of hardware can be reduced.
-
Citations
38 Claims
-
1. A loop-filtering method for reducing quantization effect generated when an image data is encoded and decoded, the method comprising the steps of:
-
extracting a flag indicating whether the image data requires loop-filtering using the distribution of inverse quantized coefficients (IQCs) of an inverse quantized image data and a motion vector indicating the difference between the previous frame and the current frame; and
filtering the image data corresponding to the flag by a predetermined method if the extracted flag indicates a need for the loop-filtering. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
a blocking flag indicating whether reduction of blocking artifacts near block boundaries is required; and
a ringing flag (RF) indicating whether reduction of ringing noise near image edges is required.
-
-
4. The method of claim 3, wherein in the case where the image data is an intra frame, the blocking flag of the intra frame comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF),
wherein the horizontal and vertical blocking flag extraction of the intra frame comprises the steps of: -
calculating DCT coefficients of the inverse quantized 8×
8 block after the compressed image data is inverse quantized;
assuming that a pixel A (DC coefficient) is located at the top, far left corner of an 8×
8 block consisting of 64 pixels, a pixel B is located to the right of the pixel A, and a pixel C is located below the pixel A, setting the HBF and the VBF to “
1”
indicating a need for the loop-filtering if only the coefficient in the pixels A is non-zero;
setting the VBF to “
1”
indicating a need for the loop-filtering if only the top row of the inverse quantized 8×
8 block is non-zero; and
setting the HBF to “
1”
indicating a need for the loop-filtering if only the far left column of the inverse quantized 8×
8 block is non-zero.
-
-
5. The method of claim 3, wherein in the extraction of the ringing flag from the intra frame, assuming that a pixel A (DC coefficient) is located at the top, far left corner of the 8×
- 8 block consisting of 64 pixels, a pixel B is located to the right of the pixel A, and a pixel C is located below the pixel A, ringing flag RF is set to “
1”
indicating a need for loop-filtering when any pixel other than the pixels A, B and C of the inverse quantized 8×
8 block has a non-zero coefficient.
- 8 block consisting of 64 pixels, a pixel B is located to the right of the pixel A, and a pixel C is located below the pixel A, ringing flag RF is set to “
-
6. The method of claim 3, wherein the blocking flag of the current inter frame comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF),
wherein assuming that a reference frame comprises a predetermined number of reference blocks, a block of the reference frame predicted by a motion vector (MVx0, MVy0) of the block Ac0 of the current inter frame is a motion block X0, the horizontal and vertical blocking flag extraction on a block Ac0 of the current inter frame comprises the steps of: -
investigating the degree of overlapping between the motion block X0 and the reference blocks;
bit-wise AND-operating the HBF and the VBF of the reference blocks having a predetermined number of overlapped pixels; and
setting the result of the bit-wise AND operation as horizontal and vertical blocking flags of the block Ac0 of the current video object plane (VOP).
-
-
7. The method of claim 6, wherein the horizontal and vertical blocking flag extraction on the block Ac0 of the current inter frame further comprises the step of setting the blocking flag of the reference macro block as the blocking flag of the current macroblock if a motion vector of the current macro block is a skipped macro block having zero motion vector.
-
8. The method of claim 7, wherein the horizontal and vertical blocking flag extraction on the block Ac0 of the current inter frame further comprises the step of padding the blocking flag of the reference block after replicating the blocking flag.
-
9. The method of claim 6, wherein the predetermined number of overlapped pixels is 2×
- 2 pixels.
-
10. The method of claim 8, wherein the predetermined number of overlapped pixels is 1×
- 1 pixel.
-
11. The method of claim 3, wherein the ringing flag extraction on a block Ac0 of the current inter frame in the case where the image frame is an inter frame, comprises the steps of:
-
setting a ringing flag RF of the current block Ac0 to ‘
1’
if any AC component of inverse quantized coefficients (IQCs) of a residual signal of the 8×
8 inter blocks is non-zero, and to ‘
0’
if all AC components of the IQCs are zero; and
setting the RF to ‘
1’
when the current block is in an 8×
8 prediction mode for transfering a motion vector on the macro block.
-
-
12. The method of claim 3, wherein in the case where the image data is an inter frame, the ringing flag of the inter frame comprises a first ringing flag (RF0) and a second ringing flag (RF1),
wherein extraction of the first and second ringing flags RF0 and RF1 on a block Ac0 of the current inter frame comprise the steps of: -
setting the first ringing flag RF0 of the current block Ac0 to ‘
1’
if only the DC components of inverse quantized coefficients (IQCs) of a residual signal of the 8×
8 inter macro blocks are non-zero, and otherwise, setting the RF0 of the current block Ac0 to ‘
0’
; and
setting the second ringing flag RF1 of the current block Ac0 to ‘
1’
if any AC component of the IQCs of the residual signal of the 8×
8 inter frames is non-zero, and otherwise, setting the RF1 of the current block Ac0 to ‘
0’
.
-
-
13. The method of claim 3, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the difference between the current block I and the quantized previous block I is not greater than a predetermined value, and the difference between the current block J and the quantized previous block J is not greater than a predetermined value, deblocking filtering is not performed in the filtering step.
-
14. The method of claim 4, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a horizontal block boundary between the blocks I and J if the RFs of the blocks I and J indicate no need for reducing the ringing noise, and both HBFs of the blocks I and J indicate a need for reducing the blocking artifacts; and
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if both RFs of the blocks I and J indicate no need for reducing the ringing noise and at least one of the HBFs of the blocks I and J indicates no need for reducing the blocking artifacts, or if at least one of RFs of the blocks I and J indicate a need for reducing the ringing noise, and changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP.
-
-
15. The method of claim 5, wherein the blocking flag comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF), wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block-adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a horizontal block boundary between the blocks I and J if the RFs of the blocks I and J indicate no need for reducing the ringing noise, and both HBFs of the blocks I and J indicate a need for reducing the blocking artifacts; and
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if both RFs of the blocks I and J indicate no need for reducing the ringing noise and at least one of the HBFs of the blocks I and J indicates no need for reducing the blocking artifacts, or if at least one of RFs of the blocks I and J indicate a need for reducing the ringing noise, and changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP.
-
-
16. The method of claim 6, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a block boundary between the blocks I and J if the RF of the block I indicates no need for reducing the ringing noise, and both blocks I and J are intra-blocks; and
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if the RF of the block I indicates no need for reducing the ringing noise and at least one of the HBFs of the blocks I and J indicates no need for reducing the blocking artifacts, and performing a second filtering for changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP;
performing the first filtering if the RF of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, a DC component of inverse quantized coefficient (IQCs) of a residual signal of the block I or J exists, and both HBFs of the blocks I and J are ‘
1’
;
performing the second filtering if the RF of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, a DC component of inverse quantized coefficient (IQCs) of a residual signal of the block I or J exists, and at least one HBF of the blocks I and J is zero; and
performing the second filtering if the RF of the block I indicates a need for reducing the ringing noise.
-
-
17. The method of claim 11, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a block boundary between the blocks I and J if the RF of the block I indicates no need for reducing the ringing noise, and both blocks I and J are intra-blocks; and
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if the RF of the block I indicates no need for reducing the ringing noise and at least one of a horizontal blocking flag (HBF) of the block I and a HBF of the block J indicates no need for reducing the blocking artifacts, and performing a second filtering for changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP;
performing the first filtering if the RF of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, a DC component of inverse quantized coefficient (IQCs) of a residual signal of the block I or J exists, and both HBFs of the blocks I and J are ‘
1’
;
performing the second filtering if the RF of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, a DC component of inverse quantized coefficient (IQCs) of a residual signal of the block I or J exists, and at least one HBF of the blocks I and J is zero; and
performing the second filtering if the RF of the block I indicates a need for reducing the ringing noise.
-
-
18. The method of claim 7, wherein the ringing flag comprises a first ringing flag (RF0) and a second ringing flag (RF1), wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a block boundary between the blocks I and J if the second ringing flag RF1 of the block I indicates no need for reducing the ringing noise, either the block I or the block J is an intra-block and both HBFs of the blocks I and J indicate a need for reducing the blocking artifacts;
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if the RF1 of the block I indicates no need for reducing the ringing noise, either the block I or the block J is an intra-block, and at least one of the HBFs of the blocks I and J indicates no need for reducing the blocking artifacts, and performing a second filtering for changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP;
performing the first filtering if the RF1 of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, at least one of RF0s of the blocks I and J is ‘
1’ and
both HBFs of the blocks I and J are ‘
1’
;
performing the second filtering if the RF1 of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, at least one of RF0s of the blocks I and J is ‘
1’
, and at least one of the HBFs of the blocks I and J is not 1; and
performing the second filtering if the RF1 of the block I is non-zero.
-
-
19. The method of claim 12, wherein the blocking flag comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF), wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing blocking artifacts, comprises the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a block boundary between the blocks I and J if the second ringing flag RF1 of the block I indicates no need for reducing the ringing noise, either the block I or the block J is an intra-block and both HBFs of the blocks I and J indicate a need for reducing the blocking artifacts;
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if the RF1 of the block I indicates no need for reducing the ringing noise, either the block I or the block J is an intra-block, and at least one of the HBFs of the blocks I and J indicates no need for reducing the blocking artifacts, and performing a second filtering for changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP;
performing the first filtering if the RF1 of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, at least one of RF0s of the blocks I and J is ‘
1’ and
both HBFs of the blocks I and J are ‘
1’
;
performing the second filtering if the RF1 of the block I indicates no need for reducing the ringing noise, neither the block I nor the block J are intra-blocks, at least one of RF0s of the blocks I and J is ‘
1’
, and at least one of the HBFs of the blocks I and J is not 1; and
performing the second filtering if the RF1 of the block I is non-zero.
-
-
20. The method of claim 19, wherein assuming that six pixels on the horizontal block boundary between the blocks I and J are A, B, C, D, E and F, wherein the pixels C and D are the nearest pixels on the horizontal block boundary, the pixels A and F are the farthest pixels thereon, and pixels B and D are middle pixels, 7-tab low pass filtering with coefficients (1,1,1,2,1,1,1) is performed for the six pixels during the first filtering, and the second filtering is performed on the pixels C and D, wherein two pixels C and D are replaced as C=C+(D−
- C)/4 and D=D+(D−
C)/4 if the absolute value of the difference between the pixels C and D is smaller than the QP of the H.263.
- C)/4 and D=D+(D−
-
21. The method of claim 3, wherein a deringing filtering for reducing ringing noise in the filtering step is performed if the ringing flag indicates a need for the deringing filtering, and is not performed if the ringing flag indicates no need for the deringing filtering, and
the deringing filtering comprises the steps of: -
(a) detecting horizontal and vertical edges of the image data; and
(b) performing a two-dimensional (2-D) signal adaptive filtering on an 8×
8 block from which the ringing noise is to be reduced, andwherein in the step (a) for the horizontal edge detection, assuming that a pixel[m][n] is the current pixel, a pixel[m][n+1] is located to the right of the pixel[m][n], a pixel[m][n−
1] is located to the left f the pixel[m][n], the difference between the pixel[m][n] and the pixel[m][n+1] is A1, the difference between the pixel[m][n] and the pixel[m][n−
1] is A2, and QP is the H.263 quantization factor, when the conditional expression ((A1>
QP) and (A2>
QP)) or (A1>
2QP) or (A2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andin the step (a) for the vertical edge detection, assuming that the current pixel is pixel[m][n], a pixel[m+1][n] is located above the pixel[m][n], the lower pixel is pixel[m−
1][n], the difference between the pixel[m][n] and the pixel[m+1][n] is A′
1, the difference between the pixel[m][n] and the pixel[m−
1][n] is A′
2, and QP is the H.263 quantization factor, when the conditional expression ((A′
1>
QP) and (A′
2>
QP)) or (A′
1>
2QP) or (A′
2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andwherein in the step (b) for the signal adaptive filtering, a 4-connected filter window is applied to the 8×
8 block to determine whether the center pixel of the filter window is an edge pixel, and the filtering is performed if the central pixel is an edge pixel, and otherwise, a weighted filtering is performed.
-
-
22. The method of claim 3, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, a deringing filtering for reducing ringing noise in the filtering step is not performed if the difference between the current block I and the quantized previous block I is not greater than a predetermined value, and the difference between the current block J and the quantized previous block J is not greater than a predetermined value.
-
23. The method of claim 5, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, a deringing filtering for reducing the ringing noise in the filtering step is performed if the ringing flag of the block I indicates a need for-deringing filtering, and otherwise, the deringing filtering is not performed.
-
24. The method of claim 12, wherein a deringing filtering for reducing the ringing noise is performed when the block I is an intra block, when the block I is not an intra block and has an 8×
- 8 prediction mode, and when the block I is not an intra block and has no 8×
8 prediction mode and the RF1 of the block I indicates no need for the deringing filtering, and the deringing filtering is not performed when the RF1 of the block I indicates no need for the deringing filtering.
- 8 prediction mode, and when the block I is not an intra block and has no 8×
-
25. The method of claim 22, wherein the deringing filtering comprises the steps of:
-
(a) detecting horizontal and vertical edges of the image data; and
(b) performing a two-dimensional (2-D) signal adaptive filtering on the 8×
8 block from which the ringing noise is to be removed,wherein in the step (a) for the horizontal edge detection, assuming that a pixel[m][n] is the current pixel, a pixel[m][n+1] is located to the right of the pixel[m][n], a pixel[m][n−
1] is located to the left of the pixel[m][n], the difference between the pixel[m][n] and the pixel[m][n+1] is A1, the difference between the pixel[m][n] and the pixel[m][n−
1] is A2, and QP is the H.263 quantization factor, when the conditional expression ((A1>
QP) and (A2>
QP)) or (A1>
2QP) or (A2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andin the step (a) for the vertical edge detection, assuming that the current pixel is pixel[m][n], a pixel[m+1][n] is located above the pixel[m][n], a pixel[m−
1][n] is located below the pixel[m][n], the difference between the pixel[m][n] and the pixel[m+1][n] is A′
1, the difference between the pixel [m][n] and the pixel[m−
1][n] is A′
2, and QP is the H.263 quantization factor, when the conditional expression ((A′
1>
QP) and (A′
2>
QP)) or (A′
1>
2QP) or (A′
2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andwherein in the step (b) for the signal adaptive filtering, a 4-connected filter window is applied to the 8×
8 block to determine whether the center pixel of the filter window is an edge pixel, and the filtering is performed if the central pixel is an edge pixel, and otherwise, a weighted filtering is performed.
-
-
26. The method of claim 23, wherein the deringing filtering comprises the steps of:
-
(a) detecting horizontal and vertical edges of the image data; and
s (b) performing a two-dimensional (2-D) signal adaptive filtering on the 8×
8 block from which the ringing noise is to be removed,wherein in the step (a) for the horizontal edge detection, assuming that a pixel[m][n] is the current pixel, a pixel[m][n+1] is located to the right of the pixel[m][n], a pixel[m][n−
1] is located to the left of the pixel[m][n], the difference between the pixel[m][n] and the pixel[m][n+1] is A1, the difference between the pixel[m][n] and the pixel[m][n−
1] is A2, and QP is the H.263 quantization factor, when the conditional expression ((A1>
QP) and (A2>
QP)) or (A1>
2QP) or (A2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andin the step (a) for the vertical edge detection, assuming that the current pixel is pixel[m][n], a pixel[m+1][n] is located above the pixel[m][n], a pixel[m−
1][n] is located below the pixel[m][n], the difference between the pixel[m][n] and the pixel[m+1][n] is A′
1, the difference between the pixel [m][n] and the pixel[m−
1][n] is A′
2, and QP is the H.263 quantization factor, when the conditional expression ((A′
1>
QP) and (A′
2>
QP)) or (A′
1>
2QP) or (A′
2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andwherein in the step (b) for the signal adaptive filtering, a 4-connected filter window is applied to the 8×
8 block to determine whether the center pixel of the filter window is an edge pixel, and the filtering is performed if the central pixel is an edge pixel, and otherwise, a weighted filtering is performed.
-
-
27. The method of claim 1, further for reducing corner outlier generated at the point where the corners of four blocks meet when the image data is block-based coded and decoded, further comprising the steps of:
-
(a) detecting a corner outlier of an 8×
8 block of the inverse quantized image data; and
(b) compensating for the detected corner outlier, wherein in the step (a) for the detection, assuming that A0, B0, C0 and D0 are four pixels around the point where the four corners meet, and value[0], value[1], value[2] and value[3] are pixel values of the pixels A0, B0, C0 and D0 respectively, the average of the pixels values is set to (A+B+C+D+2)/4 0, the difference between each pixel value of the average is compared to the H.263 quantization factor QP, and the number of corner outlier candidate pixels is accumulated to detect the corner outlier if the difference is greater than QP, and in the step (b) for the compensation, assuming that A10 and A20 are pixels adjacent to the pixel A0 and A30 is a pixel diagonal to the pixel A0 in the same block of the pixel A0, and A′
0, A1′
0 and A2′
0 are the compensated values of the pixels A0, A10 and A20, respectively, when only one corner outlier candidate is detected and the detected candidate is the pixel A0 and the difference between the pixels A0 and A30 is less than 3QP/2, the corner outlier compensation is performed using the following equation;
-
-
28. An apparatus for loop-filtering image data, capable of reducing quantization effect generated when an image data is encoded and decoded, the apparatus comprising:
-
a flag extractor for extracting a flag indicating whether the image data requires loop-filtering, using distribution of inverse quantized coefficients (IQCs) of the image data, and a motion vector indicating the difference between the previous frame and the current frame, wherein the flag comprises a blocking flag indicating whether a need for reducing blocking artifacts near block boundaries exists, and a ringing flag indicating whether there is a need for reducing ringing noise near image edges;
a deblocking filter for deblocking filtering the image data by investigating the blocking flag extracted by the flag extractor;
a corner outlier compensator for detecting the corner outlier of the deblocking-filtered data and compensating for the detected corner outlier; and
a deringing filter for deringing-filtering the corner outlier compensated data by investigating the ringing flag extracted by the flag extractor. - View Dependent Claims (29, 30, 31)
-
-
32. A computer readable medium having embodied thereon a computer program for loop-filtering image data, capable of reducing quantization effect generated when the image data is block-based encoded and decoded,
wherein the loop-filtering comprises the steps of: -
(a) extracting a flag indicating whether the image data requires loop-filtering using the distribution of inverse quantized coefficients (IQCS) of an inverse quantized image data and a motion vector indicating the difference between the previous frame and the current frame; and
(b) filtering the image data corresponding to the flag by a predetermined method if the extracted flag indicates a need for the loop-filtering, wherein in the step (a) the flag is extracted from a discrete cosine transform (DCT) domain of each block if an image frame to be loop-filtered is an intra frame, and from a residual signal and a reference frame if the image frame to be loop-filtered is an inter frame. - View Dependent Claims (33, 34, 35, 36, 37)
a blocking flag indicating whether reduction of blocking artifacts near block boundaries is required; and
a ringing flag indicating whether reduction of ringing noise near image edges is required, wherein in the case where the image data is an intra frame, the blocking flag of the intra frame comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF), and the horizontal and vertical blocking flag extraction of the intra frame comprises the steps of;
calculating DCT coefficients on the inverse quantized 8×
8 block after the compressed image data is inverse quantized;
assuming that a pixel A (DC coefficient) is located at the top, far left corner of the 8×
8 block consisting of 64 pixels, a pixel B is located to the right of the pixel A, and a pixel C is located below the pixel A, setting the HBF and the VBF to “
1”
indicating the need of the loop-filtering if only the coefficient in pixel A is non-zero;
setting the VBF to “
1”
indicating a need for the loop-filtering if only the top row of the inverse quantized 8×
8 block is non-zero; and
setting the HBF to “
1”
indicating a need for the loop-filtering if only the far left column of the inverse quantized 8×
8 block is non-zero, andin the extraction of the ringing flag from the intra frame, assuming that a pixel A (DC coefficient) is located at the top, far left corner of the 8×
8 block consisting of 64 pixels, a pixel B is located to the right of the pixel A, and a pixel C is located below the pixel A, ringing flag RF is set to “
1”
indicating a need for loop-filtering when any pixel other than the pixels A, B and C of the inverse quantized 8×
8 has a non-zero coefficient, andwherein in the case where the image data is an inter frame, the blocking flag of the current inter frame comprises a horizontal blocking flag (HBF) and a vertical blocking flag (VBF), the horizontal and vertical blocking flag extraction on a block Ac0 of the current inter frame comprises the steps of, assuming that a reference frame comprises of a predetermined number of reference blocks, a block of the reference frame predicted by a motion vector (MVx0, MVy0) of the block Ax0 of the current inter frame is a motion block X0;
investigating the degree of overlapping between the motion block X0 and the reference blocks;
bit-wise AND-operating the HBF and the VBF of the reference blocks having a predetermined number of overlapped pixels; and
setting the result of the bit-wise AND operation as horizontal and vertical blocking flags of the block Ac0 of the current video object plane (VOP), and the ringing flag extraction on a block Ac0 of the current inter frame comprises the steps of;
setting a ringing flag RF of the current block Ac0 to ‘
1’
if any AC component of inverse quantized coefficients (IQCs) of a residual signal of the 8×
8 inter blocks is non-zero; and
setting the RF to ‘
1’
when the current block is in an 8×
8 prediction mode for transferring a motion vector on the macro block.
-
-
34. The computer readable medium of claim 33, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, the deblocking filtering for reducing the ringing noise in the filtering step is not performed if the difference between the current block I and the quantized previous block I is not greater than a predetermined value, and the difference between the current block J and the quantized previous block J is not greater than a predetermined value.
-
35. The computer readable medium of claim 33, wherein assuming that a predetermined block constituting a frame to be loop-filtered is a block I and a block adjacent to the block I is a block J, a deblocking filtering for reducing blocking artifacts is performed, the deblocking filtering comprising the steps of:
-
performing a first filtering for changing a predetermined number of pixel values near a block boundary between the blocks I and J if the RFs of the blocks I and J indicate no need for reducing the ringing noise, and both HBFs of the blocks I and J indicate a need for reducing the blocking artifacts; and
comparing the difference between two adjacent pixels around the block boundary with the H.263 quantization factor QP if both RFs of the blocks I and J indicate no need for reducing the ringing noise and at least one of the HBFs of the blocks I and J indicates no need of reducing the blocking artifacts, or if at least one of RFs of the blocks I and J indicate a need for reducing the ringing noise, and changing a predetermined number of pixel values, which is less than that for the first filtering, if the difference between two pixels is less than the QP, wherein assuming that six pixels on the horizontal block boundary between the blocks I and J are A, B, C, D, E and F, wherein the pixels C and D are the nearest pixels on the horizontal block boundary, the pixels A and F are the farthest pixels thereon, and pixels B and D are middle pixels, 7-tab low pass filtering with coefficients (1,1,1,2,1,1,1) is performed for the six pixels during the first filtering, and a second filtering is performed on the pixels C and D, wherein two pixels C and D are replaced as C=C+(D−
C)/4 and D=D+(D−
C)/4 if the absolute value of the difference between the pixels C and D is smaller than the QP of the H.263, and filtering on pixels around a vertical block boundary is performed in the same manner as on the pixels around the horizontal block boundary using the VBF.
-
-
36. The computer readable medium of claim 33, wherein the filtering step comprises a deringing filtering, comprising the steps of:
-
(a) detecting horizontal and vertical edges of the image data; and
(b) performing a two-dimensional (2-D) signal adaptive filtering on an 8×
8 block from which the ringing noise is to be reduced, andwherein in the step (a) for the horizontal edge detection, assuming that a pixel[m][n] is a pixel of a block having a predetermined size, a pixel[m][n+1] is located to the right of the pixel[m][n], a pixel[m][n−
1] is located to the left of the pixel[m,n], the difference between the pixel[m][n] and the pixel[m][n+1] is A1, the difference between the pixel[m][n] and the pixel[m][n−
1] is A2, and QP is the H.263 quantization factor, when the conditional expression ((A1>
QP) and (A2>
QP)) or (A1>
2QP) or (A2>
2QP) is satisfied, the current pixel is detected as an edge pixel, and the edge map, Edge[m][n], becomes 1, andin the step (a) for the vertical edge detection, assuming that a pixel[m+1][n] is located above the pixel[m+1][n], a pixel[m−
1][n] is located below the pixel[m][n], the difference between the pixel[m][n] and the pixel[m+1][n] is A′
1, the difference between the pixel[m][n] and the pixel[m−
1][n] is A′
2, and QP is the H.263 quantization factor, when the conditional expression ((A′
1>
QP) and (A′
2>
QP)) or (A′
1>
2QP) or (A′
2>
2QP) is satisfied, the current pixel is detected as an edge, pixel and the edge map, Edge[m][n], becomes 1, andwherein in the step (b) for the signal adaptive filtering, a 4-connected filter window is applied to the 8×
8 block to determine whether the center pixel of the filter window is an edge pixel, and the filtering is performed if the central pixel is an edge pixel, and otherwise, a weighted filtering is performed.
-
-
37. The computer readable medium of claim 33, capable of reducing corner outlier generated at the point where the corners of four blocks meet when the image data is block-based coded and decoded, wherein the loop filtering further comprises the steps of:
-
(a) detecting a corner outlier of an 8×
8 block of the inverse quantized image data; and
(b) compensating for the detected corner outlier, wherein in the step (a) for the detection, assuming that A0, B0, C0 and D0 are four pixels around the point where the four corners meet, and value[0], value[1], value[2] and value[3] are pixel values of the pixels A0, B0, C0 and D0, respectively, the average of the pixels values is set to (A+B+C+D+2)4 0, the difference between each pixel value of the average is compared to the H.263 quantization factor QP, and the number of corner outlier candidate pixels is accumulated to detect the corner outlier if the difference is greater than QP, and in the step (b) for the compensation, assuming that A10 and A20 are pixels adjacent to the pixel A0 and A30 is a pixel diagonal to the pixel A0 in the same block of the pixel A0, and A′
0, A1′
0 and A2′
0 are the compensated values of the pixels A0, A10 and A20, respectively, when only one corner outlier candidate is detected and the detected candidate is the pixel A0 and the difference between the pixels A0 and A30 is less than 3QP/2, the corner outlier compensation is performed using the following equation;
-
-
38. A method for filtering image data, comprising the steps of:
-
generating flag information indicating whether a block requires filtering, based on a motion vector corresponding to the block constitution the image data; and
filtering the block according to the generated flag information.
-
Specification