GB2323235A - Removal of blocking effects using adaptive filtering - Google Patents
Removal of blocking effects using adaptive filtering Download PDFInfo
- Publication number
- GB2323235A GB2323235A GB9804621A GB9804621A GB2323235A GB 2323235 A GB2323235 A GB 2323235A GB 9804621 A GB9804621 A GB 9804621A GB 9804621 A GB9804621 A GB 9804621A GB 2323235 A GB2323235 A GB 2323235A
- Authority
- GB
- United Kingdom
- Prior art keywords
- pixel
- value
- dimensional
- window
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 72
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 45
- 230000000903 blocking effect Effects 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000013139 quantization Methods 0.000 claims abstract description 26
- 239000000470 constituent Substances 0.000 claims description 8
- 230000006835 compression Effects 0.000 abstract description 3
- 238000007906 compression Methods 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Picture Signal Circuits (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
A one-dimensional signal adaptive filtering method/apparatus capable of reducing a blocking effect of image data when a frame is composed of blocks of a predetermined size includes the steps of: (a) applying a one-dimensional window of a predetermined size along the boundaries of the blocks to perform a predetermined gradient operation 120 on each pixel within the one-dimensional window; (b) calculating threshold values 110 for each pixel within the one-dimensional window, based on quantization step Q; (c) comparing the results of the gradient operation on each pixel within the one-dimensional window with the corresponding calculated threshold value 130 to generate a comparison result as a binary edge map 140; (d) applying a one-dimensional filter window of a predetermined size on the generated binary edge map to generate weighted values 150 using the binary value belonging to the one-dimensional filter window; and (e) performing filtering using the generated weighted values to generate new pixel values. Blocking noise can thus be eliminated from the image restored from the block-based image, thereby enhancing the image restored from compression.
Description
2323235 ONE-DIMENSIONAL SIGNAL ADAPTIVE FILTER FOR REDUCING BLOCKING
EFFECT AND FILTERING METHOD The present invention relates to a data filter, and more particularly, to a one-dimensional signal adaptive filter for reducing blocking noise, and a one-dimensional signal adaptive filtering method.
Generally, picture encoding standards such as MPEG of the International Standardization organization (ISO) and H.263 recommended by the International Telecommunication Union (ITU) adopt block-based motion estimation and discrete cosine transform (DCT) of blocks. When an image is highly compressed, the block-based coding may cause the well-known blocking effect. A typical blocking effect is grid noise in a homogeneous area in which adjacent pixels have relatively similar pixel values. Another blocking effect is staircase noise which has a staircase shape and is generated along the edges of the image.
Grid noise shows traces of the block-based process at the edges between blocks when the compressed data is displayed on a screen after being restored. Thus, one can identify the edges between blocks. Also, staircase noise has a staircase shape at the edges of the image, so that one can notice a bumpy edge on the image.
In order to reduce the blocking effect occurring when block-based coding is performed, several methods have been suggested. According to H.261 encoding, a simple 3x3 low pass filter (LPF) is used as a loop filter to reduce the blocking effect. However, when using the 3x3 LPF, the extent to which blocking effect can be removed is limited and the amount of calculation required is increased.
2 - With a view to solve the above problems, it is an aim of embodiments of the present invention to provide a onedimensional signal adaptive filtering method for reducing a blocking effect in high compression encoding and a onedimensional signal adaptive filter used therefor, in which a one-dimensional filter window and a one-dimensional signal adaptive filter are used to sharply reduce the blocking effect caused when block-based coding is performed.
According to an aspect of the present invention, there is provided a onedimensional signal adaptive filtering method capable of reducing a blocking effect of image data when a frame is composed of blocks of a predetermined size, the method comprising the steps of: (a) applying a one-dimensional window of a predetermined size along the boundaries of the blocks to perform a predetermined gradient operation on each pixel within the one-dimensional window; (b) calculating threshold values (T) to each pixel within the one-dimensional window, which is determined by a predetermined function of a quantization step (Q); (c) comparing the results of the gradient operation on each pixel within the onedimensional window with the corresponding calculated threshold value to generate a comparison result as a binary edge map; (d) applying a one-dimensional filter window of a predetermined size on the generated binary edge map to generate weighted values using the binary value belonging to the one-dimensional filter window; and (e) performing filtering using the generated weighted values to generate new pixel values.
Preferably, the one-dimensional window of the step (a) is placed such that its central pixels are centered around the boundaries of the blocks, and includes a 1x4 one-dimensional horizontal window and a 4xl onedimensional vertical window. Alternatively, the onedimensional window of the step (a) may be placed such that its central pixels are centered around the boundaries of the blocks, and include a 1x6 one-dimensional horizontal window and a 6xl one-dimensional vertical window.
Preferably, when the binary values obtained in the step (c) are different between the horizontal and vertical windows when the horizontal and vertical windows are applied, the corresponding pixel is determined as an edge pixel, and when the quantization step (Q) of a quantizer is less than a predetermined value Nl, filtering is not performed.
Preferably, in the step (b) of calculating the threshold values (T), assuming that the pixels of the horizontal (lx4)and vertical (4xl) onedimensional windows are designated as pO, pl, p2 and p4 from the left and the top, respectively, the threshold values of the left and upper pixels pl adjacent to the block boundary are set to 2Q-4, and the threshold values of the remaining pixels pl, p2 and p3 are set to Q+2 when a frame to be filtered is an intraframe, and the threshold value T is set to Q if the quantization step Q is greater than the predetermined value N1 and less than a predetermined value N2 and the threshold value T is set to a predetermined value N3 if the quantization step Q is equal to or greater than the predetermined value N2 when the frame to be filtered is an interframe.
Also, preferably, in the step (b) of calculating the threshold values (T), assuming that the pixels of the horizontal (lx6) and vertical (6xl) onedimensional window are designated as pO, pl, p2, p3, p4 and p5 from the left - 4 and the top, respectively, the threshold values of the left and the upper pixels p2 adjacent to the block boundary are set to 2Q-4, and the threshold values of the remaining pixels po, pl, p3, p4 and p5 are set to Q+2 when a frame to be filtered is an intraframe, and the threshold value T is set to Q if the quantization step Q is greater than the predetermined value Nl and less than a predetermined value N2 and the threshold value T is set to a predetermined value N3 if the quantization step Q is equal to or greater than the predetermined value N2 when the frame to be filtered is an interframe.
Preferably, the predetermined value N1 is equal to 4, and both the predetermined values N2 and N3 are equal to 19.
Preferably, the gradient operation performed on each W4 pixel A-thin the one-dimensional window, of the step (a), is to calculate the absolute value of the difference between each pixel of the one-dimensional window and its adjacent pixel.
Preferably, assuming that four pixels of the 1x4 one- dimensional horizontal window are designated as pO, pl, p2 and p3 from the left, the corresponding pixel values are designated as a, b, c and d, the pixel to the right of the pixel p3 is designated as p4, and the corresponding pixel value of the pixel p4 is designated as e, the gradient operation value of the pixel pO is equal to I a-b I, the gradient operation value of the pixel pl is equal to I b-c I, the gradient operation value of the pixel p2 is equal to I c-d I, and the gradient operation value of the pixel p3 is equal to I d-e I, and the gradient operation value on each pixel within the 4xl one-dimensional vertical window is calculated based on the same principle as that applied to the 1x4 one-dimensional horizontal window. In other words, in the case of the 4xl vertical window, where it is assumed that four pixels of the 4x4 one-dimensional vertical window are designated as pO, pl, p2 and p3 from the top, the corresponding pixel values are designated as a, b, c and d, the pixel to the below of the pixel p3 is designated as p4, and the corresponding pixel value of the pixel p4 is designated as e, the gradient operation value of the pixel pO is equal to I a-b I, the gradient operation value of the pixel pl is equal to I b-c I, the gradient operation value of the pixel p2 is equal to I c-d I, and the gradient operation value of the pixel p3 is equal to Id-el.
Preferably, the gradient operation performed on each pixel within the onedimensional window, of the step (a), is to calculate the absolute values of the difference between each pixel of the one-dimensional window and its adjacent pixel.
Preferably, assuming that six pixels of the 1x6 onedimensional horizontal window are designated as pO, pl, p2, p3, p4 and p5 from the left, the corresponding pixel values are designated as a, b, c, d, e and f, the pixel to the right of the pixel p5 is designated as p6, and the corresponding pixel value of the pixel p6 is designated as g, the gradient operation value of the pixel pO is equal to la-bl,the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-di, the gradient operation value of the pixel p3 is equal to Id-el, the gradient operation value of the pixel p4 is equal to I e-f I, and the gradient operation value of the pixel p5 is equal to I f -g I, and the gradient operation value on each pixel within the 6xl one- 6 dimensional vertical window is calculated based on the same principle as that applied to the 1xl6 one-dimensional horizontal window. In other words, in the case of the 6xl vertical window where it is assumed that six pixels of the 6xl one-dimensional horizontal window are designated as pO, pl, p2, p3, p4 and p5 from the top, the corresponding pixel values are designated as a, b, c, d, e and f, the pixel to the bottom of the pixel p5 is designated as p6, and the corresponding pixel value of the pixel p6 is designated as g, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-dj, the gradient operation value of the pixel p3 is equal to I d-e I, the gradient operation value of the pixel p4 is equal to I e-f I, and the gradient operation value of the pixel p5 is equal to If-gl.
Preferably, when the one-dimensional filter window of step(d) is a 1x4 filter window, assuming that four pixels of the one-dimensional filter window are referred to as sO, sl, s2 and s3, the one-dimensional filter window of the step (d) is applied only to the pixels sl and s2, and the basic weighted value of the filter window applied to the pixel sl is set to (1, 2, 1, 1) and the basic weighted value of the filter window applied to the pixel s2 is set to (1, 1, 2, 1), wherein the weighted value of the filter window on the pixel sl is not set if the pixel sl is an edge pixel, and set to the basic weighted value of (1, 2, 1, 1) if neither the pixel sl nor any of the remaining pixels sO, s2 and s3 is an edge pixel, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, s2 and s3 are edge pixels, and the weighted value of the pixel s3 is set to 0 if the weighted value of the pixel s2 is set to 0, and the weighted value of the filter window on the pixel s2 is set based on the same principle as that applied to the pixel S1. In other words, the weighted value of the f ilter window on the pixel s2 is not set if the pixel s2 is an edge pixel, and set to the basic weighted value of (1, 1, 2, 1) if neither the pixel s2 nor any of the remaining pixels sO, sl and s3 is an edge pixel, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, sl and s3 are edge pixels.
Preferably, assuming that four pixels of the onedimensional filter window are designated as sO, sl, s2 and s3, the one-dimensional filter window of the step (d) is applied only to the pixels sl and s2, and the predetermined weighted values set depending on edge information by each pixel of the one-dimensional filter window are applied in the step (d), and a bit shift operation is performed in the step (e) in order to generate new pixel values.
The one-dimensional filter window of the step (d) preferably includes 1x4 and 4xl filter windows, and assuming that six pixels in the horizontal and vertical direction centered around the boundaries of the blocks are designated to as sO, sl, s2, s3, s4 and s5, respectively, the filtering of the step (e) is performed using the filter window on the pixels sl, s2, s3 and s4, wherein filtering is not performed on the pixel which is determined to have edge information in the step (c), and filtering is performed only on the pixel which is not an edge pixel.
Preferably, constituents of a filter window for the pixel sl are sO, sl, s2 and s3 and filtering is performed using its basic weighted value of (1, 2, 1, 1), constituents of a filter window for the pixel s2 are sl, s2, s3 and s4 and filtering is performed using its basic weighted value of (1, 2, 1, 1), constituents of a filter window for the pixel s3 are sl, s2, s3 and s4 and filtering is performed using its basic weighted value of (1, 1, 2, 1), and constituents of a filter window for the pixel s4 are s2, s3, s4 and s5 and filtering is performed using its basic weighted value of (1, 1, 2, 1), and the weighted value of each filter window for the pixels s2, s3 and s4 is generated based on the same principle as that applied to the pixel sl. In other words, when the weighted value of the filter window for the pixel sl is not set if the pixel sl is an edge pixel, and set to the basic weighted value if neither the pixel sl nor the remaining pixels sO, s2 and s3 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, s2 and s3 are the edge, and the weighted value of the pixel s3 is set to 0 if the weighted value of the pixel s2 is set to 0; the weighted value of the filter window for the pixel s2 is not set if the pixel s2 is an edge pixel, and set to the basic weighted value if neither the pixel s2 nor the remaining pixels sl, s3 and s4 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sl, s3 and s4 are the edge; the weighted value of the filter window for the pixel s3 is not set if the pixel s3 is an edge pixel, and set to the basic weighted value if neither the pixel s3 nor the remaining pixels sl, s2 and s4 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sl, s2 and s4 are the edge; and the weighted value of the filter window for the pixel s4 is not set if the pixel s4 is an edge pixel, and set to the basic weighted value if neither the pixel s4 nor the remaining pixels s2, s3 and s5 are edge pixels, and the weighted values of the edge pixels among 5 the basic weighted values are set to 0 if the pixels s2, s3 and s5 are the edge.
Assuming that six pixels of the horizontal and vertical one-dimensional filter window are designated as sO, sl, s2, s3, s4 and s5 from the left and the top, respectively, filtering is preferably performed on the pixels sl, s2, s3 and s4 by using the one-dimensional filter windows, and the predetermined weighted values set depending on edge information of each pixel of the one- dimensional filter windows are applied in the step (d), and a bit shift operation is performed in the step (e) in order to generate the new pixel values.
According to another aspect of the present invention, there is provided A one-dimensional signal adaptive filter comprising: an image storing unit for temporarily storing an image data; a threshold value calculator for calculating threshold values (T) using a predetermined function of a quantization step (Q) stored in the image storing unit; a gradient operation unit for applying a one-dimensional window of a predetermined size along the boundaries of blocks of a predetermined size constituting an image frame stored in the image storing unit, and performing a predetermined gradient operation on each pixel constituting the one-dimensional window; a threshold value comparator for comparing the result of each pixel of the one-dimensional window, obtained by the gradient operation unit, with the corresponding threshold value (T) calculated by the threshold value calculator; a binary edge map generator for generating the result of the threshold comparator as a binary value for each pixel; a weighted filter value generator for applying a onedimensional filter window of a predetermined size on the binary edge map generated by the binary edge map generator, and generating a weighted value only on the edge pixel belonging to the one-dimensional filter window, wherein a weighted value is not generated on a pixel which is not an edge pixel; and an one- dimensional weighted filter for performing filtering using the weighted value generated by the weighted filter value generator to generate new pixel values.
The one-dimensional window of the gradient operation unit is preferably placed such that its central pixels are centered around the boundaries of the blocks, and includes a Ix4 one- dimensional horizontal window and a 4xl onedimensional vertical window.
The one-dimensional window of the gradient operation unit is preferably placed such that its central pixels are centered around the boundaries of the blocks, and includes a 1x6 one-dimensional horizontal window and a 6xl onedimensional vertical window.
size.
The one-dimensional weighted filter may be 1x4 in For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which:
Figure 1 is a block diagram of a one-dimensional signal adaptive filter according to a preferred embodiment of the present invention; - 11 Figure 2A shows blocks and a 1x4 one-dimensional window when an image frame is divided into blocks of 8x8 (or 16x16) pixels, according to an embodiment of the present invention; Figure 2B shows blocks and a 1x6 one-dimensional window when an image frame is divided into blocks of 8x8 (or 16x16) pixels, according to another embodiment of the present invention; Figure 3A is a flowchart illustrating an onedimensional signal adaptive filtering method when applying the window of Figure 2A; Figure 3B is a flowchart illustrating an onedimensional signal adaptive filtering method when applying the window of Figure 2B; FIGs. 4A and 4B show basic weighted values of the filter windows applied to pixels sl and s2, respectively; FIGs. 5A through 5C show weighted values and pixel values according to the pixel information of the one dimensional filter window; and FIGs. 6A through 6E show pixel weighted values and pixel values for integer operation of the one-dimensional filter window.
In Figure 1, a one-dimensional signal adaptive filter according to a preferred embodiment of the present invention includes an image storing unit 100, a threshold value calculator 110, a gradient operation unit 120, a threshold value comparator 130, a binary edge map generator 140, a weighted filter value generator 150 and a one-dimensional weighted filter 160. Figure 2A shows a block 200 and 1x4 one-dimensional windows 210 and 220 when an image frame is divided into blocks of 8x8 (or 16x16) pixels, according to a preferred embodiment of the present invention, and Figure 2B shows a block 205 and 1x6 one dimensional windows 215 and 225 when an image frame is divided into blocks of 8x8 (or 16x16) pixels, according to another embodiment of the present invention. Figure 3A illustrates the signal adaptive filtering method using the windows shown in Figure 2A, and Figure 3B illustrates the signal adaptive filtering method using the windows shown in Figure 2B.
First, the signal adaptive filtering method when the 1x4 one-dimensional windows shown in Figure 2A is applied will be described. The image storing unit 100 temporarily stores the image data with a blocking effect. The threshold value calculator 110 receives a predetermined quantization step Q from the image storing unit 100 to calculate a threshold value T. In this embodiment, when the quantization step Q of a quantizer is less than 4, filtering is not performed. Signal adaptive filtering is performed (step 300) only when the quantization step Q is equal to or greater than 4.
Also, the threshold value T calculated by the threshold calculator 110 differs depending on whether a frame to be filtered is an intraframe or an interframe.
Thus, the frame to be filtered is determined to be an intraframe or an interframe (step 305).
Assuming that four pixels belonging to the 1x4 one dimensional horizontal window 210 are designated as pO, pl, p2 and p3, and pixel values thereof are a, b, c and d, and the pixel to the right of the pixel p3 is referred to as p4, and the pixel value of the pixel p4 is e, the threshold value TI with respect to the pixel pl adjacent to the block boundary is set to 2Q4 when the frame to be filtered is an interframe. Also, the threshold value T2 with respect to the remaining pixels pO, p2 and p3 is set to Q+2 (step 310).
Also, when the frame to be filtered is an interframe, a determination is made as to whether the quantization step Q is less than 19 (step 315). If the quantization step Q is less than 19, the threshold value TI (or T2) is set to Q (step 320). However, if the quantization step Q is equal to or greater than 19, the threshold value T1 (or T2) is set to 19 (step 325).
The gradient operation unit 120 applies a predetermined size of one-dimensional window, preferably, 1x4 size, along the boundary of the blocks when the image frame of the image storing unit 100 is divided into blocks with a predetermined size, to perform a gradient operation in which absolute values of the difference between adjacent pixels composing the one-dimensional window are calculated (step 330). Figure 2A shows the block 200, and one-dimensional windows 210 and 220 when the image frame is divided into blocks of 8x8 (or 16x16) pixels. Here, the one-dimensional windows 210 and 220 which are a 1x4 horizontal window, and a 4xl vertical window, respectively, in which their central pixels b and c are centered around the boundaries 230 and 240 of the block 200, respectively.
Also, the gradient operation on each pixel located within the one-dimensional horizontal window 210 is performed by calculating the absolute value of the difference between each pixel and its adjacent pixel.
That is, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to I c-d I, and the gradient operation value of the pixel p3 is equal to I d-e I - In the same manner, the gradient operation is performed on each pixel with the one-dimensional vertical window 220 based on the same principle applied to the one- dimensional horizontal window 210. Here, the gradient operation is performed only on the left-hand boundary 230 and the upper boundary 240 of the block 200. The gradient operation on the right-hand boundary 250 and the lower boundary 260 of the block 200 is performed in the right block 270 and the lower block 280.
The threshold value comparator 130 compares each gradient operation value of the pixels within the onedimensional windows, calculated by the gradient operation unit 120, with the threshold value T calculated by the threshold calculator 110, to determine whether or not the pixel is an edge pixel (step 335). Also, the binary edge map generator 140 generates the results of the threshold value comparator 130 as a binary value for each pixel (step 340).
On the other hand, when embodying the threshold value comparator 130 and the binary edge map generator 140 as software, the comparator 130 and the binary edge map generator 140 are constructed as one module. Here, such module may be referred to as generating portion 170.
the binary edge map The operations of the threshold value comparator 130 and the binary edge map generator 140 will be described in detail. The threshold value comparator 130 compares the gradient operation values on each pixel with the threshold value T calculated by the threshold value calculator 110. If the gradient operation value is greater than the threshold value T, the pixel is determined as an edge pixel and edge information edge[O] of the first pixel pO is set to 1. Meanwhile, if the gradient value is less than the threshold value T, the pixel is determined as a non-edge pixel, and the edge information edge[O] of the f irst pixel pO is set to 0. In the same manner, the binary edge map information edge(l), edge[21 and edge[3] of the pixels pl, p2 and p3 are calculated. By doing so, the binary edge map information in the horizontal and vertical directions are generated by applying onedimensional windows along the boundaries of the blocks. on the other hand, if the binary edge map information in the horizontal and vertical directions are different, the corresponding pixel is determined as an edge pixel, thus its binary edge map information is set to The weighted filter value generator 150 generates weighted values according to the binary edge map information within the one-dimensional filter window by applying 1x4 one-dimensional filter window to the binary edge map information generated by the binary edge map generator 140.
The one-dimensional weighted filter 160 filters the data of the image storing unit 100 using the weighted values generated by the weighted filter value generator 150 to generate new pixel value. Assuming that four pixels belonging to the one-dimensional filter window are designated as sO, sl, s2 and s3, and filter coefficients (or weighted values) are designated as wl, w2, w3 and w4, filtering is performed only on the pixels sl and s2. That is, the one-dimensional weighted filter 160 performs - 16 filtering using the weighted values generated by the weighted filter value generator 150 to generate new pixel values on the pixels sl and s2. That is, assuming that the pixel values of the pixels sl and s2, stored in the image storing unit 100, are a2 and a3, respectively, the pixel values are changed into a'2 and a'3, respectively.
The operations of the weighted filter value generator 150 and the onedimensional weighted filter 160 will be described in detail. First, the basic weighted value of the filter window applied to the pixel sl is set to (1, 2, 1, 1) as shown in Figure 4A, and the basic weighted value of the filter window applied to the pixel s2 is set to (1, 1, 2, 1), respectively.
Then, in order to determine the weighted value of the filter window on the pixel sl, a determination is made as to whether or not the pixel sl is an edge pixel (step 345). If the pixel sl is an edge pixel, the weighted value is not generated and the one-dimensional filtering is not performed (step 360). If the pixel sl is not an edge pixel, an appropriate weighted value is set depending on the values of the other pixels sO, s2 and s3 (step 350). For example, if the pixel sl is not an edge pixel and the pixels sO, s2 and s3 belonging to the filter window are not edge pixels, filtering is performed using the weighted values of Figure 4A. Assuming that the pixel sl is not an edge pixel, and at least one of the pixels sO, s2 and s3 within the filter window is an edge pixel, the pixels sO and sl are checked. If the pixel sO is an edge pixel, the weighted value wl corresponding to the pixel sO is set to 0 as shown in Figure 5A. If the pixel s2 is an edge pixel, the weighted values w3 and w4 corresponding to the pixels s2 and s3 are set to 0 as shown in Figure 5B. If the pixel s3 is an edge pixel, the 17 weighted value w4 corresponding to the pixel s3 is set to 0 as shown in Figure 5C. Also, the weighted values of the one-dimensional filter window for the pixel s2 are determined in the same manner as that for the pixels sl.
When the weighted values are set as above, weighted filtering is performed (step 355). An example of the weighted filtering based on the set weighted values is as follows. When the original pixel values of the onedimensional filter window are a, b, c and d, the pixel value a'2 of the pixel sl when using the weighted values of Figure 5A becomes the integer part of the result of (2b+c+d)/4+0.5. In FIGs. 5A through 5C, "int" represents the function of taking the integer part of the subsequent value. In the same manner, when using the weighted values of Figure 5B, the pixel value a'2 becomes the integer part of the result of (a+2b)/3+0. 5. Also, when using the weighted values of Figure 5C, the pixel value a'2 becomes the integer part of the result of (a+2b+c)/4+0.5. The pixel values of the pixel s2 are calculated by weighted filtering which is the same as that applied to the pixel S1.
On the other hand, in the weighted filtering method illustrated with reference to FIGs. 5A through 5C, a floating point operation is performed,thus the process takes much time. Thus, weighted filtering may be performed based on the integer. It is assumed that the pixels of the 1x4 one-dimensional window are sO, sl, s2 and s3, and the pixel values of the pixels are a, b, c and d, respectively. Figure 6A shows the weighted values when the pixel sO is an edge pixel. Here, the hatched portion represents an edge pixel, and the weighted value of the edge pixel is equal to 0. The pixel value a'2 of the pixel sl is calculated by (2a+c+d)>>2. Here, it >> 11 represents a right shift operation. In the same manner, Figure 6B shows the weighted values when the pixels s2 and s3 are edge pixels, and the pixel value a'2 of the pixel sl is calculated by (6a+10b)>>4. Figure 6C shows the weighted values when there are no pixels on the edge, and the pixel value a'2 of the pixel sl is calculated by (a+4b+2c+d)>>3. Figure 6D shows the weighted values when the pixel s3 is an edge pixel, and the pixel value a'2 of the pixel sl is calculated by (a+2b+c)>>2. Figure 6E shows the weighted values when the pixels sO and s3 are edge pixels, and the pixel value a'2 of the pixel sl is calculated by (10b+6c)>>4. Also, the pixel value a'3 of the pixel s2 is calculated based on the same principle as that for the pixel value a'2 of the pixel sl.
Hereinafter, the signal adaptive filtering method according to another example of the present invention will be described, in which a block 205 and an 1x6 onedimensional windows 215 and 225 are applied. Figure 3B illustrates the signal adaptive filtering method when using the 1x6 one-dimensional windows 215 and 225 according to the present invention.
The functions and operations of the image storing unit 100 and the threshold value calculator 110 are the same as those in the first embodiment. As in the first embodiment, when the quantization step Q of a quantizer is less than 4, filtering is not performed. That is, the signal adaptive filtering is performed (step 400) only when the quantization step Q is equal to or greater than 4. The threshold value T calculated by the threshold calculator 110 differs depending on whether a frame to be filtered is an intraframe or an interframe. Thus, the frame to be filtered is determined to be either an intraframe or an interframe (step 405). Assuming that six pixels belonging to the 1x6 one-dimensional horizontal window 210 are designated as pO, pl, p2, p3, p4 and p5 from the left side, and pixels values thereof are a, b, c, d, e and f, and the pixel to the right of the pixel p5 is referred to as p6, and the pixel value of the pixel p6 is g, the threshold value Tl of the gradient operation value Jc-dJ of the pixel p2 adjacent to the block boundary is set to 2Q-4 when the frame to be filtered is an interframe. Also, the threshold value T2 with respect to the remaining pixels pO, pl, p4 and p5 is set to Q+2 (step 410).
Also, when the frame to be' filtered is an interf rame, a determination is made as to whether the quantization step Q is less than 19 (step 415). If the quantization step Q is less than 19, the threshold value TI (or T2) is set to Q (step 420). However, if the quantization step Q is equal to or greater than 19, the threshold value T1 (or T2) is set to 19 (step 425).
On the other hand, the gradient operation unit 120 applies the lx6 onedimensional window along the boundary of the blocks when the image frame of the image storing unit 100 is divided into blocks of a predetermined size, to perform a gradient operation through calculation of absolute values of the difference of adjacent pixels composing the one-dimensional window (step 430). Here, the one-dimensional windows 215 and 225 which are a 1x6 horizontal window and a 6xl vertical window, respectively, in which their central pixels c and d are centered around the boundaries 235 and 245 of the block 205, respectively.
Also, the gradient operation on each pixel located within the onedimensional horizontal window 215 is performed by calculating the absolute value of the difference between each pixel and its adjacent pixel. That is, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-dJ, the gradient operation value of the pixel p3 is equal to Id-el, the gradient operation value of the pixel p4 is equal to le-fl, and the gradient operation value of the pixel p5 is equal to If -g I. In the same manner, the gradient operation is performed on each pixel with the 6xl one-dimensional vertical window 225 based on the same principle applied to the one-dimensional horizontal window 215. Here, the gradient operation is performed only on the left-hand boundary 235 and the upper boundary 245 of the block 200. The gradient operation on the right-hand boundary 255 and the lower boundary 265 of the block 205 is performed in the right block 275 and the lower block 285.
The threshold value comparator 130 compares each gradient operation value of the pixels within the onedimensional windows, calculated by the gradient operation unit 120, with the threshold value T1 (or T2) calculated by the threshold calculato-r 110, to determine whether or not the pixel is an edge pixel (step 435). Also, the binary edge map generator 140 generates the results of the threshold value comparator 130 as a binary value for each pixel (step 440).
On the other hand, when embodying the threshold value comparator 130 and the binary edge map generator 140 as software, the threshold value comparator 130 and the binary edge map generator 140 are constructed as one module as in the first embodiment. Here, such module may be referred to as the binary edge map generating portion 170.
21 - The operations of the threshold value comparator 130 and the binary edge map generator 140 will be described in detail. The threshold value comparator 130 compares the gradient operation values on each pixel with the threshold value T1 (or T2) calculated by the threshold value calculator 110. If the gradient operation value is greater than the threshold value Tl (or T2), the pixel is determined as an edge pixel and edge information edge[O] of the first pixel pO is set to 1. Meanwhile, if the gradient value is less than the threshold value Tl (or T2), the pixel is determined as a non-edge pixel, and the edge information edge[O] of the first pixel pO is set to 0. In the same manner, the binary edge map information edge[l], edge[2], edge[3], edge[4] and edge[5] of the pixels pl, p2, p3, p4 and p5 are calculated. Here, the threshold value T2 is applied to the edge information edge[2]. By doing so, the binary edge map information in the horizontal and vertical directions are generated by applying one-dimensional windows along the boundaries of the blocks. on the other hand, if the binary edge map information in the horizontal and vertical directions are different, the corresponding pixel is determined as an edge pixel, thus its binary edge map information is set to 1.
The weighted filter value generator 150 generates weighted values according to the binary edge map information within the one-dimensional filter window by applying 1x6 one-dimensional filter window to the binary edge map information generated by the binary edge map generator 140. The size of the one-dimensional filter window is not limited to 1x6, which is obvious to those skilled in the art.
The one-dimensional weighted filter 160 filters the data of the image storing unit 100 using the weighted values generated by the weighted filter value generator 150 to generate new pixel value. Assuming that six pixels in the horizontal or vertical direction around the boundaries of the blocks are designated as sO, sl, s2, s3, s4 and s5, and filter coefficients (or weighted values) corresponding thereto are referred to as wO, wl, w2, w3, w4 and w5, filtering is applied to only the pixels sl, s2, s3 and s4. That is, the one-dimensional weighted filter performs filtering using the weighted values generated by the weighted filter value generator 150 tonewly generate pixel values on the pixels sl, s2, s3 and s4.
That is, assuming that the pixel values of the pixels sl, s2, s3 and s4, stored in the image storing unit 100, are al, a2, a3 and a4, respectively, the pixel values are changed into a'l, a'2, a'3 and a'4, respectively.
The operations of the weighted filter value generator 150 and the one-dimensional weighted filter 160 will be described in detail. First, the basic weighted value of the filter window applied to the pixels sl and s2 is set to (1, 2, 1, 1) as shown in Figure 4A, and the basic weighted value of the filter window applied to the pixels s3 and s4 is set to (1, 1, 2, 1), respectively.
Then, in the case that the filter window for the pixel sl consists of pixels sO, sl, s2 and s3), in order to determine the weighted value of the filter window on the pixel sl, a determination is made as to whether or not the pixel sl is an edge pixel (step 445). If the pixel sl is an edge pixel, the weighted value is not generated and the weighted one-dimensional filtering is not performed (step 460). That is, the pixel value of the pixel sl remains unchanged. If the pixel sl is not an edge pixel, the pixels sO, sl, s2 and s3 composing the filter window for the pixel sl and the basic weighted value (1, 2, 1, 1) thereof are determined (step 447), and then an appropriate weighted value is set depending on the values of the other pixels sO, s2 and s3 (step 450). In detail, if the pixel sl is not an edge pixel and none of the other pixels sO, s2 and s3 belonging to the filter window are edge pixels, filtering is performed using the weighted values of Figure 4A. Assuming that the pixel sl is not an edge pixel, and at least one of the pixels sO, s2 and s3 within the filter window is an edge pixel, the pixels sO and sl are checked. if the pixel sO is an edge pixel, the weighted value wO corresponding to the pixel sO is set to 0 as shown in Figure 5A. If the pixel s2 is an edge pixel, the weighted values w2 and w3 corresponding to the pixels s2 and s3 are set to 0 as shown in Figure 5B. If the pixel s3 is an edge pixel, the weighted value w3 corresponding to the pixel s3 is set to 0 as shown in Figure 5C.
Also, in order to determine the weighted value of the filter window for the pixel s2, the filter window for the pixel s2 consists of pixels sl, s2, s3 and s4, the filter window for the pixel s3 consists of pixels s2, s3, s4 and s5, and the filter window for the pixel s4 consists of pixels s3, s4, s5 and s6. Also, the weighted values of the one-dimensional filter windows for the pixels s2, s3 and s4 are determined by the same principle applied to determined those for the pixel sl. As described above, (1, 2, 1, 1) is used as the basic weighted value for the pixel s2, and (1, 1, 2, 1) is used as the basic weighted values for the pixels s3 and s4.
on the other hand, the steps 455 and 465 are the same as the steps 355 and 365 of the first embodiment, thus the explanation on the steps will be omitted.
It is obvious to those skilled in the art that the above embodiments can be used as a loop filter for an encoder, and can also be applied to a decoder. Also, it is obvious to those skilled in the art that mosquito noise can be reduced by applying the above filtering within an 8x8 block, thus the explanation thereof will be omitted.
As described above, in the one-dimensional signal adaptive method using an one-dimensional signal adaptive filter according to the present invention, blocking noise can be eliminated from an image restored from a blockbased image, thereby enhancing the image restored from compression.
The reader's attention is directed to all papers and documents which are f iled concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
26 -
Claims (23)
1. A one-dimensional signal adaptive filtering method capable of reducing a blocking effect of image data when a frame is composed of blocks of a predetermined size, the method comprising the steps of:
(a) applying a one-dimensional window of a predetermined size along the boundaries of the blocks to perform a predetermined gradient operation on each pixel 10 within the one-dimensional window; (b) calculating threshold values (T) to each pixel within the one- dimensional window, which is determined by a predetermined function of a quantization step (Q); (c) comparing the results of the gradient operation on each pixel within the one-dimensional window with the corresponding calculated threshold value to generate a comparision result as a binary edge map; (d) applying a one-dimensional filter window of a predetermined size on the generated binary edge map to generate weighted values using the binary value belonging to the one-dimensional filter window; and (e) performing filtering using the generated weighted values to generate new pixel values.
2. The one-dimensional signal adaptive filtering method of claim 1, wherein the one-dimensional window of the step (a) of performing the gradient operation is placed such that its central pixels are centered around the boundaries of the blocks, and includes a 1x4 one-dimensional horizontal window and a 4xl one-dimensional vertical window.
- 27
3. The one-dimensional signal adaptive filtering method of claim 1, wherein the one-dimensional window of the step (a) of performing the gradient operation is placed such that its central pixels are centered around the boundaries of the blocks, and includes a 1x6 one-dimensional horizontal window and a 6xl one-dimensional vertical window.
4. The one-dimensional signal adaptive filtering method of claim 2 or 3, wherein when the binary values obtained in the step (c) are different between the horizontal and vertical windows when the horizontal and vertical windows are applied, the corresponding pixel is determined as an edge pixel.
5. The one-dimensional signal adaptive filtering method of claim 2 or 3, wherein when the quantization step (Q) of a quantizer is less than a predetermined value Nl, filtering is not performed.
6. The one-dimensional signal adaptive filtering method of claim 2, wherein in the step (b) of calculating the t-hreshold values (T), assuming that the pixels of the horizontal and vertical one-dimensional windows are designated as pO, pl, p2 and p4 from the left and the top, respectively, the threshold values of the left and upper pixels pl adjacent to the block boundary are set to 2Q-4, and the threshold values of the remaining pixels pl, p2 and p3 are set to Q+2 when a frame to be filtered is an intraframe, and the threshold value T is set to Q if the quantization step Q is greater than the predetermined value N1 and less than a predetermined value N2 and the threshold value T is set to a predetermined value N3 if the quantization step Q is equal to or greater than the predetermined value N2 when the frame to be filtered is an interframe.
7. The one-dimensional signal adaptive filtering method 5 of claim 3, wherein in the step (b) of calculating the threshold values (T), assuming that the pixels of the horizontal and vertical one-dimensional window are designated as pO, pl, p2, p3, p4 and p5 from the left and the top, respectively, the threshold values of the left and the upper pixels p2 adjacent to the block boundary are set to 2Q-4, and the threshold values of the remaining pixels pO, pl, p3, p4 and p5 are set to Q+2 when a frame to be filtered is an intraframe, and the threshold value T is set to Q if the quantization step Q is greater than the predetermined value Nl and less than a predetermined value N2 and the threshold value T is set to a predetermined value N3 if the quantization step Q is equal to or greater than the predetermined value N2 when the frame to be filtered is an interframe.
8. The one-dimensional signal adaptive filtering method of claim 6 or 7, wherein the predetermined value N1 is equal to 4, and both the predetermined values N2 and N3 are equal to 19.
9. The one-dimensional signal adaptive filtering method of claim 2, wherein the gradient operation performed on each pixel within the onedimensional window, of the step (a), is to calculate the absolute value of the difference between each pixel of the one-dimensional window and its adjacent pixel.
10. The one-dimensional signal adaptive filtering method of claim 9, wherein assuming that four pixels of the 1x4 one-dimensional horizontal window are designated as pO, pl, p2 and p3 from the left, the corresponding pixel values are designated as a, b, c and d, the pixel to the right of the pixel p3 is designated as p4, and the corresponding pixel value of the pixel p4 is designated as e, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-dI, and the gradient operation value of the pixel p3 is equal to Id-el; and assuming that four pixels of the 4x4 one-dimensional vertical window are designated as pO, pl, p2 and p3 from the top, the corresponding pixel values are designated as a, b, c and d, the pixel to the below of the pixel p3 is designated as p4, and the corresponding pixel value of the pixel p4 is designated as e, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to I b-c I, the gradient operation value of the pixel p2 is equal to I c-d I, and the gradient operation value of the pixel p3 is equal to Id-el.
11. The one-dimensional signal adaptive filtering method of claim 3, wherein the gradient operation performed on each pixel within the onedimensional window, of the step (a), is to calculate the absolute values of the difference between each pixel of the one-dimensional window and its adjacent pixel.
12. The one-dimensional signal adaptive filtering method of claim 11, wherein assuming that six pixels of the Ix6 one-dimensional horizontal window are designated as pO, pl, p2, p3, p4 and p5 from the left, the corresponding pixel values are designated as a, b, c, d, e and f, the pixel to the right of the pixel p5 is designated as p6, and the corresponding pixel value of the pixel p6 is designated as g, the gradient operation value of the pixel pO is equal to la-bl,the gradient operation value of the pixel pI is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-dj, the gradient operation value of the pixel p3 is equal to I d-e I the gradient operation value of the pixel p4 is equal to e-f I, and the gradient operation value of the pixel p5 is equal to If-gj; and assuming that six pixels of the 6xl one-dimensional horizontal window are designated as pO, pl, p2, p3, p4 and p5 from the top, the corresponding pixel values are designated as a, b, c, d, e and f, the pixel to the bottom of the pixel p5 is designated as p6, and the corresponding pixel value of the pixel p6 is designated as g, the gradient operation value of the pixel pO is equal to la-bl, the gradient operation value of the pixel pl is equal to lb-cl, the gradient operation value of the pixel p2 is equal to Ic-dj, the gradient operation value of the pixel p3 is equal to Id-el, the gradient operation value of the pixel p4 is equal to le-fl, and the gradient operation value of the pixel p5 is equal to If-gj.
13. The one-dimensional signal adaptive filtering method of claim 2, wherein the one-dimensional filter window of the step (d) is a 1x4 filter window.
14. The one-dimensional signal adaptive filtering method of claim 13, wherein assuming that four pixels of the one- dimensional filter window are referred to as sO, sl, s2 and s3, the one-dimensional filter window of the step (d) is applied only to the pixels sl and s2, and the basic weighted value of the filter window applied to the pixel sl is set to (1, 2, 1, 1) and the basic weighted value of - 31 the filter window applied to the pixel s2 is set to (1, 1, 2, 1), wherein the weighted value of the f ilter window on the pixel sl is not set if the pixel sl is an edge pixel, and set to the basic weighted value of (1, 2, 1, 1) if neither the pixel sl nor any of the remaining pixels sO, s2 and s3 is an edge pixel, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, s2 and s3 are edge pixels, and the weighted value of the pixel s3 is set to 0 if the weighted value of the pixel s2 is set to 0; and the weighted value of the filter window on the pixel s2 is not set if the pixel s2 is an edge pixel, and set to the basic weighted value of (1, 1, 2, 1) if neither the pixel s2 nor any of the remaining pixels sO, sl and s3 is an edge pixel, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, sl and s3 are edge pixels.
15. The one-dimensional signal adaptive filtering method of claim 13, wherein assuming that four pixels of the onedimensional filter window are designated as sO, sl, s2 and s3, the one-dimensional filter window of the step (d) is applied only to the pixels sl and s2, and the predetermined weighted values set depending on edge information by each pixel of the one-dimensional filter window are applied in the step (d), and a bit shift operation is performed in the step (e) in order to generate new pixel values.
16. The one-dimensional signal adaptive filtering method of claim 3, wherein the one-dimensional filter window of the step (d) includes 1x4 and 4xl filter windows, and - 32 assuming that six pixels in the horizontal and vertical direction centered around the boundaries of the blocks are designated to as sO, sl, s2, s3, s4 and s5, respectively, the filtering of the step (e) is performed using the filter window on the pixels sl, s2, s3 and s4, wherein filtering is not performed on the pixel which is determined to have edge information in the step (c), and filtering is performed only on the pixel which is not an edge pixel.
17. The one-dimensional signal adaptive filtering method of claim 16, wherein constituents of a filter window for the pixel sl are sO, sl, s2 and s3 and filtering is performed using its basic weighted value of (1, 2, 1, 1), constituents of a filter window for the pixel s2 are sl, s2, s3 and s4 and filtering is performed using its basic weighted value of (1, 2, 1, 1), constituents of a filter window for the pixel s3 are sl, s2, s3 and s4 and filtering is performed using its basic weighted value of (1, 1, 2, 1), and constituents of a filter window for the pixel s4 are s2, s3, s4 and sS and filtering is performed using its basic weighted value of (1, 1, 2, 1), wherein the weighted value of the filter window for the pixel sl is not set if the pixel sl is an edge pixel, and set to the basic weighted value if neither the pixel sl nor the remaining pixels sO, s2 and s3 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sO, s2 and s3 are the edge, and the weighted value of the pixel s3 is set to 0 if the weighted value of the pixel s2 is set to 0; the weighted value of the filter window for the pixel s2 is not set if the pixel s2 is an edge pixel, and set to the basic weighted value if neither the pixel s2 nor the remaining pixels sI, s3 and s4 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sl, s3 and s4 are the edge; the weighted value of the filter window for the pixel s3 is not set if the pixel s3 is an edge pixel, and set to the basic weighted value if neither the pixel s3 nor the remaining pixels sl, s2 and s4 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels sl, s2 and s4 are the edge; and the weighted value of the filter window for the pixel s4 is not set if the pixel s4 is an edge pixel, and set to the basic weighted value if neither the pixel s4 nor the remaining pixels s2, s3 and s5 are edge pixels, and the weighted values of the edge pixels among the basic weighted values are set to 0 if the pixels s2, s3 and s5 are the edge.
18. The one-dimensional signal adaptive filtering method L of claim 3, wherein assuming that six pixels of the horizontal and vertical one-dimensional filter window are designated as sO, sl, s2, s3, s4 and s5 from the left and the top, respectively, filtering is performed on the pixels sl, s2, s3 and s4 by using the one-dimensional filter windows, and the predetermined weighted values set depending on edge information of each pixel of the onedimensional filter windows are applied in the step (d), and a bit shift operation is performed in the step (e) in order to generate the new pixel values.
- 34
19. A one-dimensional signal adaptive filter comprising:
an image storing unit f or temporarily storing an image data; a threshold value calculator for calculating hreshold values (T) using a predetermined function of a quantization step (Q) stored in the image storing unit; a gradient operation unit for applying a onedimensional window of a predetermined size along the boundaries of blocks of a predetermined size constituting an image frame stored in the image storing unit, and performing a predetermined gradient operation on each pixel constituting the one-dimensional window; a threshold value comparator for comparing the result of each pixel of the one-dimensional window, obtained by the gradient operation unit, with the corresponding threshold value (T) calculated by the threshold value calculator; a binary edge map generator for generating the result of the threshold comparator as a binary value for each pixel; a weighted filter value generator for applying a onedimensional filter window of a predetermined size on the binary edge map generated by the binary edge map generator, and generating a weighted value only on the edge pixel belonging to the one-dimensional filter window, wherein a weighted value is not generated on a pixel which is not an edge pixel; and - 35 an one-dimensional weighted filter for performing filtering using the weighted value generated by the weighted filter value generator to generate new pixel values.
20. The one-dimensional signal adaptive filter of claim 19, wherein the one-dimensional window of the gradient operation unit is Placed such that its central pixels are centered around the boundaries of the blocks, and includes a 1x4 one-dimensional horizontal window and a 4xl onedimensional vertical window.
21. The one-dimensional signal adaptive filter of claim 19, wherein the one-dimensional window of the gradient operation unit is placed such that its central pixels are centered around the boundaries of the blocks, and includes a lx6 one-dimensional horizontal window and a 6xl onedimensional vertical window.
22. The one-dimensional signal adaptive filter of claim 19, wherein the onedimensional weighted filter is 1x4 in size.
23. A method substantially as herein described with reference to the accompanying drawings.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970007896A KR100230277B1 (en) | 1997-03-10 | 1997-03-10 | One dimension signal adaptive filter and filtering method for reducing block effect |
KR1019970012497A KR100234263B1 (en) | 1997-04-04 | 1997-04-04 | One dimensional signal adaptive filter for reducing block effect and filtering method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9804621D0 GB9804621D0 (en) | 1998-04-29 |
GB2323235A true GB2323235A (en) | 1998-09-16 |
GB2323235B GB2323235B (en) | 1999-01-13 |
Family
ID=26632571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9804621A Expired - Fee Related GB2323235B (en) | 1997-03-10 | 1998-03-05 | One-dimensional signal adaptive filter for reducing blocking effect and filtering method |
Country Status (6)
Country | Link |
---|---|
US (1) | US6167164A (en) |
JP (1) | JP3095140B2 (en) |
CN (1) | CN1105993C (en) |
DE (1) | DE19809707C2 (en) |
FR (1) | FR2763460B1 (en) |
GB (1) | GB2323235B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001024115A1 (en) * | 1999-09-28 | 2001-04-05 | Koninklijke Philips Electronics N.V. | Device and method for filtering |
GB2342803B (en) * | 1997-07-16 | 2002-03-06 | Samsung Electronics Co Ltd | Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor |
EP1684527A2 (en) * | 2005-01-14 | 2006-07-26 | LG Electronics Inc. | Apparatus and method for reducing blocking artifacts in an image display device |
EP2378775A1 (en) * | 2008-12-25 | 2011-10-19 | Sharp Kabushiki Kaisha | Image decoding device and image coding device |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI106071B (en) * | 1997-03-13 | 2000-11-15 | Nokia Mobile Phones Ltd | Adaptive filter |
US7239755B1 (en) * | 1997-07-30 | 2007-07-03 | Lg Electronics Inc. | Method of reducing a blocking artifact when coding moving picture |
KR100244290B1 (en) | 1997-09-09 | 2000-02-01 | 구자홍 | Method for deblocking filtering for low bit rate video |
EP1775956B1 (en) * | 1998-05-22 | 2011-08-03 | Panasonic Corporation | Block noise detector and block noise eliminator |
KR100308016B1 (en) | 1998-08-31 | 2001-10-19 | 구자홍 | Block and Ring Phenomenon Removal Method and Image Decoder in Compressed Coded Image |
US6535643B1 (en) * | 1998-11-03 | 2003-03-18 | Lg Electronics Inc. | Method for recovering compressed motion picture for eliminating blocking artifacts and ring effects and apparatus therefor |
US6529638B1 (en) * | 1999-02-01 | 2003-03-04 | Sharp Laboratories Of America, Inc. | Block boundary artifact reduction for block-based image compression |
US6973221B1 (en) * | 1999-12-14 | 2005-12-06 | Lsi Logic Corporation | Method and apparatus for reducing block related artifacts in video |
US20020168091A1 (en) * | 2001-05-11 | 2002-11-14 | Miroslav Trajkovic | Motion detection via image alignment |
KR100525785B1 (en) * | 2001-06-15 | 2005-11-03 | 엘지전자 주식회사 | Filtering method for pixel of image |
US7003174B2 (en) * | 2001-07-02 | 2006-02-21 | Corel Corporation | Removal of block encoding artifacts |
JP4145586B2 (en) * | 2001-07-24 | 2008-09-03 | セイコーエプソン株式会社 | Image processing apparatus, image processing program, and image processing method |
US7027654B1 (en) * | 2001-08-16 | 2006-04-11 | On2 Technologies | Video compression system |
US7426315B2 (en) * | 2001-09-05 | 2008-09-16 | Zoran Microelectronics Ltd. | Method for reducing blocking artifacts |
US6983079B2 (en) * | 2001-09-20 | 2006-01-03 | Seiko Epson Corporation | Reducing blocking and ringing artifacts in low-bit-rate coding |
US7031552B2 (en) * | 2002-04-05 | 2006-04-18 | Seiko Epson Corporation | Adaptive post-filtering for reducing noise in highly compressed image/video coding |
US6950473B2 (en) * | 2002-06-21 | 2005-09-27 | Seiko Epson Corporation | Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding |
WO2004017157A2 (en) * | 2002-08-15 | 2004-02-26 | On2.Com | Imprroved video compression system |
US7031392B2 (en) * | 2002-09-20 | 2006-04-18 | Seiko Epson Corporation | Method and apparatus for video deblocking |
CN1310189C (en) * | 2003-06-13 | 2007-04-11 | 金宝电子工业股份有限公司 | Method for reducing image video and reinforcing edge in digital camera |
US20050013494A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | In-loop deblocking filter |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
KR101000926B1 (en) * | 2004-03-11 | 2010-12-13 | 삼성전자주식회사 | Filter for removing blocking effect and filtering method thereof |
KR100555868B1 (en) * | 2004-06-09 | 2006-03-03 | 삼성전자주식회사 | Apparatus and method for removaling jagging artifact |
US7710501B1 (en) | 2004-07-12 | 2010-05-04 | Anchor Bay Technologies, Inc. | Time base correction and frame rate conversion |
US7697782B2 (en) * | 2004-09-16 | 2010-04-13 | Sharp Laboratories Of America, Inc. | System for reducing ringing artifacts |
US7136536B2 (en) * | 2004-12-22 | 2006-11-14 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive filter |
US7787703B2 (en) * | 2005-05-11 | 2010-08-31 | Xerox Corporation | Method and system for extending binary image data to contone image data |
CN100478992C (en) * | 2005-05-31 | 2009-04-15 | 中国科学院上海技术物理研究所 | Vector filtering method of high spectrogram based on detection of neighborhood background |
US8446964B2 (en) * | 2005-07-18 | 2013-05-21 | Broadcom Corporation | Method and system for noise reduction with a motion compensated temporal filter |
US8120703B2 (en) * | 2005-09-08 | 2012-02-21 | Silicon Image/BSTZ | Source-adaptive video deinterlacer |
US8004606B2 (en) * | 2005-09-08 | 2011-08-23 | Silicon Image, Inc. | Original scan line detection |
US7982798B2 (en) * | 2005-09-08 | 2011-07-19 | Silicon Image, Inc. | Edge detection |
US20070153135A1 (en) * | 2005-12-19 | 2007-07-05 | Samsung Electro-Mechanics Co., Ltd. | Device for reducing power consumption in display system using diffractive optical modulator |
RU2461977C2 (en) * | 2006-12-18 | 2012-09-20 | Конинклейке Филипс Электроникс Н.В. | Compression and decompression of images |
WO2008076566A1 (en) * | 2006-12-20 | 2008-06-26 | Anchor Bay Technologies, Inc. | Noise cancellation |
CN101569199B (en) * | 2007-10-03 | 2012-06-27 | 松下电器产业株式会社 | Method and device for reducing block distortion |
EP2112833B1 (en) * | 2008-04-24 | 2014-12-17 | Psytechnics Ltd | Method and apparatus for measuring blockiness in video images |
US8559746B2 (en) | 2008-09-04 | 2013-10-15 | Silicon Image, Inc. | System, method, and apparatus for smoothing of edges in images to remove irregularities |
US8311111B2 (en) | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
US8325796B2 (en) * | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
US8326075B2 (en) * | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
JP5060447B2 (en) * | 2008-10-07 | 2012-10-31 | 株式会社東芝 | Noise cancellation processing circuit and solid-state imaging device |
JP2012517774A (en) * | 2009-02-10 | 2012-08-02 | シリコン イメージ,インコーポレイテッド | Block noise detection and filtering |
US8300949B2 (en) * | 2010-05-18 | 2012-10-30 | Sharp Laboratories Of America, Inc. | Edge detection technique having improved feature visibility |
US8787443B2 (en) | 2010-10-05 | 2014-07-22 | Microsoft Corporation | Content adaptive deblocking during video encoding and decoding |
US8755625B2 (en) | 2010-11-19 | 2014-06-17 | Analog Devices, Inc. | Component filtering for low-light noise reduction |
US8699813B2 (en) | 2010-11-19 | 2014-04-15 | Analog Devices, Inc | Adaptive filter for low-light noise reduction |
WO2012096150A1 (en) * | 2011-01-12 | 2012-07-19 | 三菱電機株式会社 | Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method |
US8526509B2 (en) | 2011-01-14 | 2013-09-03 | Telefonaktiebolaget L M Ericsson (Publ) | Deblocking filtering |
US9042458B2 (en) | 2011-04-01 | 2015-05-26 | Microsoft Technology Licensing, Llc | Multi-threaded implementations of deblock filtering |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
AU2011253779A1 (en) * | 2011-12-01 | 2013-06-20 | Canon Kabushiki Kaisha | Estimation of shift and small image distortion |
US9100657B1 (en) | 2011-12-07 | 2015-08-04 | Google Inc. | Encoding time management in parallel real-time video encoding |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
US11425395B2 (en) | 2013-08-20 | 2022-08-23 | Google Llc | Encoding and decoding using tiling |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US10110926B2 (en) | 2015-10-15 | 2018-10-23 | Cisco Technology, Inc. | Efficient loop filter for video codec |
US9794574B2 (en) | 2016-01-11 | 2017-10-17 | Google Inc. | Adaptive tile data size coding for video and image compression |
US10542258B2 (en) | 2016-01-25 | 2020-01-21 | Google Llc | Tile copying for video compression |
JP6045009B1 (en) * | 2016-03-03 | 2016-12-14 | 昌文 中西 | Business card automatic ordering system, business card automatic ordering method, and non-transitory computer-readable medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0817497A2 (en) * | 1996-07-06 | 1998-01-07 | Samsung Electronics Co., Ltd. | Loop filtering method for reducing blocking effects and ringing noise of a motion-compensated image |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0395404B1 (en) * | 1989-04-27 | 1999-12-01 | Canon Kabushiki Kaisha | Image processing apparatus |
JPH04180381A (en) * | 1990-11-14 | 1992-06-26 | Matsushita Electric Ind Co Ltd | Decoding device for picture signal |
GB2253318B (en) * | 1991-02-27 | 1994-07-20 | Stc Plc | Image processing |
JP2624087B2 (en) * | 1992-07-02 | 1997-06-25 | 松下電器産業株式会社 | Video signal decoding method |
US5359676A (en) * | 1993-07-19 | 1994-10-25 | Xerox Corporation | Decompression of standard ADCT-compressed document images |
JP3432904B2 (en) * | 1994-08-31 | 2003-08-04 | 三洋電機株式会社 | Block distortion detection device |
JPH08181990A (en) * | 1994-12-26 | 1996-07-12 | Kyocera Corp | Image decoder |
JPH08186714A (en) * | 1994-12-27 | 1996-07-16 | Texas Instr Inc <Ti> | Noise removal of picture data and its device |
KR100242636B1 (en) * | 1996-03-23 | 2000-02-01 | 윤종용 | Signal adaptive post processing system for reducing blocking effect and ringing noise |
-
1998
- 1998-03-04 JP JP5227598A patent/JP3095140B2/en not_active Expired - Fee Related
- 1998-03-05 GB GB9804621A patent/GB2323235B/en not_active Expired - Fee Related
- 1998-03-06 DE DE1998109707 patent/DE19809707C2/en not_active Expired - Fee Related
- 1998-03-09 FR FR9802840A patent/FR2763460B1/en not_active Expired - Fee Related
- 1998-03-09 CN CN98105435A patent/CN1105993C/en not_active Expired - Fee Related
- 1998-03-10 US US09/037,878 patent/US6167164A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0817497A2 (en) * | 1996-07-06 | 1998-01-07 | Samsung Electronics Co., Ltd. | Loop filtering method for reducing blocking effects and ringing noise of a motion-compensated image |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2342803B (en) * | 1997-07-16 | 2002-03-06 | Samsung Electronics Co Ltd | Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor |
WO2001024115A1 (en) * | 1999-09-28 | 2001-04-05 | Koninklijke Philips Electronics N.V. | Device and method for filtering |
US6999630B1 (en) | 1999-09-28 | 2006-02-14 | Koninklijke Philips Electronics N.V. | Method of processing, and corresponding filtering device |
EP1684527A2 (en) * | 2005-01-14 | 2006-07-26 | LG Electronics Inc. | Apparatus and method for reducing blocking artifacts in an image display device |
EP1684527A3 (en) * | 2005-01-14 | 2011-11-02 | LG Electronics Inc. | Apparatus and method for reducing blocking artifacts in an image display device |
EP2378775A1 (en) * | 2008-12-25 | 2011-10-19 | Sharp Kabushiki Kaisha | Image decoding device and image coding device |
EP2378775A4 (en) * | 2008-12-25 | 2012-12-26 | Sharp Kk | Image decoding device and image coding device |
US8792738B2 (en) | 2008-12-25 | 2014-07-29 | Sharp Kabushiki Kaisha | Image decoding apparatus and image coding apparatus |
Also Published As
Publication number | Publication date |
---|---|
DE19809707A1 (en) | 1998-10-29 |
GB9804621D0 (en) | 1998-04-29 |
JPH10322695A (en) | 1998-12-04 |
CN1195829A (en) | 1998-10-14 |
US6167164A (en) | 2000-12-26 |
FR2763460A1 (en) | 1998-11-20 |
CN1105993C (en) | 2003-04-16 |
FR2763460B1 (en) | 2005-05-20 |
GB2323235B (en) | 1999-01-13 |
JP3095140B2 (en) | 2000-10-03 |
DE19809707C2 (en) | 2003-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2323235A (en) | Removal of blocking effects using adaptive filtering | |
CA2830878C (en) | Signal adaptive filtering method, signal adaptive filter and computer readable medium for storing program therefor | |
KR100234316B1 (en) | Signal adaptive filter for reducing ringing noise and signal adaptive filering method thereof | |
AU717480B2 (en) | Loop-filtering method for image data and apparatus therefor | |
KR100242636B1 (en) | Signal adaptive post processing system for reducing blocking effect and ringing noise | |
KR100230277B1 (en) | One dimension signal adaptive filter and filtering method for reducing block effect | |
KR100234263B1 (en) | One dimensional signal adaptive filter for reducing block effect and filtering method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20160305 |