WO2010005269A1 - Filter and filtering method for deblocking of intra macroblock - Google Patents
Filter and filtering method for deblocking of intra macroblock Download PDFInfo
- Publication number
- WO2010005269A1 WO2010005269A1 PCT/KR2009/003803 KR2009003803W WO2010005269A1 WO 2010005269 A1 WO2010005269 A1 WO 2010005269A1 KR 2009003803 W KR2009003803 W KR 2009003803W WO 2010005269 A1 WO2010005269 A1 WO 2010005269A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- filtering
- threshold
- deblocking
- filtering value
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 title abstract description 5
- 238000013139 quantization Methods 0.000 claims abstract description 6
- 230000006835 compression Effects 0.000 abstract description 5
- 238000007906 compression Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000008520 organization Effects 0.000 description 1
Images
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
-
- 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
Definitions
- the present invention relates to a method and apparatus that may adaptively perform deblocking filtering for boundaries of intra macroblocks using a quantization parameter to thereby enhance compression performance of high resolution videos.
- AVC Advanced Video Coding
- JVT Joint Video Team
- ITU International Telecommunication Union
- VCEG Video Coding Experts Group
- ISO International Organization for Standardization
- IEC International Electrotechnical Commission
- MPEG Moving Picture Experts Group
- the H.264/AVC divides an encoding target video into a plurality of macroblocks to encode each of the macroblock.
- distortion may occur in pixels that are located in outer portion of the macroblocks due to the effect of quantization.
- the H.264/AVC may perform deblocking filtering for a block boundary.
- a boundary strength value is computed in a block boundary, and then, filtering may be conducted for each boundary pixel depending on various conditions.
- An aspect of the present invention is to enhance a video compression efficiency of high resolution and high quality videos.
- a video encoder including: a filtering value generator to generate a filtering value of an outermost pixel that is adjacent to a boundary of an intra macroblock, based on neighboring pixel values of the outermost pixel and a quantization parameter of the intra macroblock; and a deblocking filter to perform deblocking filtering for the outermost pixel based on the filtering value.
- a video decoder including: an offset value extractor to extract an offset value from a slice header of a slice to which macroblocks belong; a threshold calculator to calculate a threshold of the intra macroblock based on the extracted offset value; a filtering value calculator to calculate a filtering value of an outermost pixel that is adjacent to a boundary of the intra macroblock, based on the threshold; and a deblocking filter to perform deblocking filtering for the outermost pixel, based on the filtering value.
- a video decoder including: a threshold calculator to calculate a threshold with respect to an intra macroblock based on an offset value that is extracted from a slice header of a slice to which macroblocks belong; a filtering value generator to generate a filtering value of an outermost pixel adjacent to a boundary of the intra macroblock, based on a neighboring pixel value of the outermost pixel; a filtering value updating unit to compare the filtering value with the threshold, and to update the filtering value; and a deblocking filter to perform deblocking filtering for the outermost pixel based on the updated filtering value.
- FIG. 1 is a diagram illustrating an example of performing deblocking filtering for outermost pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention
- FIG. 2 is a diagram illustrating pixels adjacent to a boundary of a macroblock according to an embodiment of the present invention
- FIG. 3 is a flowchart illustrating an operation of determining whether to apply filtering of pixels adjacent to a boundary of a macroblock according to an embodiment of the present invention
- FIG. 4 is a flowchart illustrating an operation of performing, by a video encoder, deblocking filtering for pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention
- FIG. 5 is a diagram illustrating an example of a slice header storing an offset to determine a threshold according to an embodiment of the present invention
- FIG. 6 is a block diagram illustrating a structure of a video encoder according to an embodiment of the present invention.
- FIG. 7 is a block diagram illustrating a structure of a video decoder according to an embodiment of the present invention.
- FIG. 1 is a diagram illustrating an example of performing deblocking filtering for outermost pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention.
- the video encoder may perform deblocking filtering for pixels that are located in a boundary of each of macroblocks to thereby remove distortion between the macroblocks and to provide a more natural video.
- deblocking filtering may be performed across a vertical edge 100 or a horizontal edge 101 of each of macroblocks.
- deblocking filtering may be performed for pixels that are located in a boundary between the first macroblock and the second macroblock.
- deblocking filtering may be performed for pixels that are located in a boundary between the first macroblock and the second macroblock.
- FIG. 2 is a diagram illustrating pixels p0, p1, p2, p3, q0, q1, q2, and q3 adjacent to a boundary between two macroblocks according to an embodiment of the present invention.
- the pixels p0, p1, p2, and p3 may correspond to pixel values of the macroblock that is located on a left-hand side based on the boundary between the two macroblocks.
- the pixels q0, q1, q2, and q3 correspond to pixel values of the macroblock that is located on a right-hand side based on the boundary between the two adjacent macroblocks.
- the present invention is not limited thereto. Specifically, the plurality of macroblocks may be vertically arranged.
- the pixels p0, p1, p2, and p3 correspond to pixel values of macroblocks that are located on an upper portion based on the boundary between the macroblocks.
- the pixels q0, q1, q2, and q3 correspond to pixel values of macroblocks that are located on a lower portion based on the boundary between the macroblocks.
- the video encoder may perform deblocking filtering for the pixels p0 and q0 that are adjacent to the boundary between the macroblocks, and may not perform deblocking filtering for the pixels p1, p2, p3, q1, q2, and q3 that are not adjacent to the boundary between the macroblocks.
- FIG. 3 is a flowchart illustrating an operation of determining whether to apply filtering of pixels located around a boundary of a macroblock according to an embodiment of the present invention.
- both video encoder and decoder may calculate a parameter 'filterSamplesFlag' to determine whether to perform deblocking filtering.
- the video encoder and decoder may calculate 'filterSamplesFlag' based on a boundary strength (BS) that is set for each of the macroblocks, and a pixel value of each of pixels p0, p1, q0, and q1 that are adjacent to the boundary between the macroblocks.
- BS boundary strength
- the video encoder and decoder may determine a value of 'filterSamplesFlag' as zero.
- the video encoder and decoder may determine the value of 'filterSamplesFlag' as zero. Specifically, when the pixel value difference is greater than the predetermined threshold, the video encoder and decoder may determine a corresponding boundary as a substantial boundary portion of video to thereby not perform deblocking filtering for the boundary.
- the video encoder and decoder may determine whether the value of 'filterSamplesFlag' is equal to '1'.
- the video encoder and decoder may not perform deblocking filtering for the intra macroblock in operation S330.
- the video encoder and decoder may perform deblocking filtering for the intra macroblock.
- FIG. 4 is a flowchart illustrating an operation of performing, by a video encoder and decoder, deblocking filtering for pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention.
- the video encoder and decoder may calculate a filtering value of a deblocking target pixel.
- the video encoder and decoder may select, as the deblocking target pixel, an outermost pixel of the intra macroblock.
- the video encoder and decoder may calculate the filtering value using pixel values of other pixels adjacent to the deblocking target pixel.
- the video encoder and decoder may compare the filtering value of the deblocking target pixel with a positive threshold.
- the video encoder and decoder may compare the filtering value of the deblocking target pixel with a negative threshold in operation S430.
- the video encoder and decoder may determine the negative threshold as the filtering value in operation S440.
- the video encoder and decoder may determine the positive threshold as the filtering value in operation S420.
- the video encoder and decoder may perform deblocking filtering for the deblocking target pixel based on the filtering value.
- the video encoder and decoder may perform deblocking filtering by adding up a pixel value of the deblocking target pixel and the filtering value.
- the video encoder and decoder may limit a pixel value of a deblocking filtered pixel to be within a predetermined range.
- the video encoder and decoder may determine the minimum value as the pixel value of the deblocking filtered pixel.
- the video encoder and decoder may determine the maximum value as the pixel value of the deblocking filtered pixel.
- FIG. 5 is a diagram illustrating an example of a slice header storing an offset to determine a threshold according to an embodiment of the present invention.
- a video encoder may perform deblocking filtering using a positive threshold and a negative threshold.
- the video encoder may store, in a slice header of a slice to which macroblocks belong, an offset value that is used to calculate the positive threshold and the negative threshold.
- the video decoder may calculate the positive threshold or the negative threshold with respect to an intra macroblock, based on the stored offset value.
- the video decoder may perform deblocking filtering for a video that is restored based on a macroblock unit, using the positive threshold or the negative threshold.
- the video decoder may determine whether to perform deblocking filtering for a macroblock, based on a value of a parameter 'deblocking_filter_control_present_flag' and a value of a parameter 'disable_deblocking_filter_idc' that is included in the slice header of a slice to which macroblocks belong.
- the video decoder may calculate a threshold with respect to the macroblock based on an offset value 'slice_alpha_c0_offset_div2' and an offset value 'slice_beta_offset_div2' that are stored in a slice header.
- the video decoder may use, with respect to an intra macroblock, the same threshold as a threshold with respect to an inter macroblock.
- the video decoder may use, with respect to an intra macroblock, a different threshold from a threshold with respect to an inter macroblock. Specifically, the video decoder may calculate the threshold with respect to the intra macroblock that is different from the threshold with respect to the inter macroblock, based on an offset value 'slice_alpha_imacroblock_c0_offset_div2' and an offset value 'slice_beta_imacroblock_ offset_div2'.
- the video encoder may store, in a slice header, an offset value to calculate a threshold with respect to an intra macroblock.
- an offset value 'slice_alpha_imacroblock_c0_offset_div2' and an offset value 'slice_beta_imacroblock_ offset_div2' may be used to calculate the threshold with respect to the intra macroblock.
- the video decoder may calculate the threshold that may be applied only to the intra macroblock, using the offset value 'slice_alpha_imacroblock_c0_offset_div2' and the offset value 'slice_beta_imacroblok_ offset_div2'.
- FIG. 6 is a block diagram illustrating a structure of a video encoder 600 according to an embodiment of the present invention.
- the video encoder 600 may include a filtering value generator 610, a deblocking filter 620, and a pixel value clipping unit 630.
- the filtering value generator 610 may generate a filtering value of an outermost pixel that is adjacent to a boundary of an intra macroblock. According to an embodiment of the present invention, the filtering value generator 610 may generate the filtering value based on a neighboring pixel value of the outermost pixel or a quantization parameter of the intra macroblock.
- the filtering value generator 610 may limit the generated filtering value of the outermost pixel to be within a predetermined range. For this, the filtering value generator 610 may compare the generated filtering value with a positive threshold and a negative threshold. Hereinafter, it is assumed that the positive threshold is greater than the negative threshold.
- the filtering value generator 610 may compare the generated filtering value with a positive threshold. When the filtering value is greater than the positive threshold, the filtering value generator 610 may determine the positive threshold as the filtering value.
- the filtering value generator 610 may compare the generated filtering value with a negative threshold. When the filtering value is less than the negative threshold, the filtering value generator 610 may determine the negative threshold as the filtering value.
- the filtering value may be determined as the positive threshold, the negative threshold, or a value between the positive threshold and the negative threshold.
- the deblocking filter 620 may perform deblocking filtering for the outermost pixel based on the generated filtering value. According to an embodiment of the present invention, the deblocking filter 620 may perform deblocking filtering by adding up a pixel value of the outermost pixel and the filtering value.
- the pixel value clipping unit 630 may limit a pixel value of the deblocking filtered outermost pixel to be within a predetermined range. According to an embodiment of the present invention, the pixel value clipping unit 630 may compare the pixel value of the deblocking filtered outermost pixel with a maximum value and a minimum value.
- the pixel value clipping unit 630 may determine the maximum value as the pixel value of the outermost pixel.
- the pixel value clipping unit 630 may determine the minimum value as the pixel value of the outermost pixel.
- the pixel value clipping unit 630 may limit the pixel value of the outermost pixel according to a bit depth.
- FIG. 7 is a block diagram illustrating a structure of a video decoder 700 according to an embodiment of the present invention.
- the video decoder 700 may include an offset value extractor 710, a threshold calculator 720, a filtering value calculator 730, and a deblocking filter 740.
- the offset value extractor 710 may extract an offset value from a slice header of a slice to which macroblocks belong. As shown in FIG. 5, the slice header may include at least one offset value.
- the threshold calculator 720 may calculate a threshold with respect to the intra macroblock based on the extracted offset value. According to an embodiment of the present invention, the threshold calculator 720 may calculate a positive threshold and a negative threshold based on the extracted offset value.
- the filtering value calculator 730 may calculate a filtering value of an outermost pixel that is adjacent to a boundary of the intra macroblock, based on the calculated threshold. According to an embodiment of the present invention, the filtering value calculator 730 may generate the filtering value of the outermost pixel and compare the filtering value with the threshold to thereby determine the filtering value of the outermost pixel.
- the filtering value calculator 730 may determine the positive threshold as the filtering value.
- the filtering value calculator 730 may determine the negative threshold as the filtering value.
- the filtering value calculator 730 may determine the generated filtering value as a final filtering value.
- the deblocking filter 740 may perform deblocking filtering for the outermost pixel based on the calculated filtering value. According to an embodiment of the present invention, the deblocking filter 740 may perform deblocking filtering by adding up a pixel value of the outermost value and the filtering value.
- the video decoder 700 may further include a pixel value clipping unit (not shown) to limit the pixel value of the deblocking filtered outermost pixel to be within a predetermined range.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Provided is a method and apparatus for adaptively performing deblocking filtering using a quantization parameter, based on a video block unit in a boundary between macroblocks including an intra macroblock. The filter and filtering method may enhance a compression rate of a high resolution video and enhance a video compression environment.
Description
The present invention relates to a method and apparatus that may adaptively perform deblocking filtering for boundaries of intra macroblocks using a quantization parameter to thereby enhance compression performance of high resolution videos.
The H.264/Advanced Video Coding (AVC) standard is currently being widely used and it was developed by the Joint Video Team (JVT) organized by the International Telecommunication Union (ITU)-T Video Coding Experts Group (VCEG) and the International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) Moving Picture Experts Group (MPEG).
The H.264/AVC divides an encoding target video into a plurality of macroblocks to encode each of the macroblock. In this instance, distortion may occur in pixels that are located in outer portion of the macroblocks due to the effect of quantization. In order to remove the distortion, the H.264/AVC may perform deblocking filtering for a block boundary. In the deblocking filter of the H.264/AVC, a boundary strength value is computed in a block boundary, and then, filtering may be conducted for each boundary pixel depending on various conditions.
An aspect of the present invention is to enhance a video compression efficiency of high resolution and high quality videos.
According to an aspect of the present invention, there is provided a video encoder including: a filtering value generator to generate a filtering value of an outermost pixel that is adjacent to a boundary of an intra macroblock, based on neighboring pixel values of the outermost pixel and a quantization parameter of the intra macroblock; and a deblocking filter to perform deblocking filtering for the outermost pixel based on the filtering value.
According to another aspect of the present invention, there is provided a video decoder including: an offset value extractor to extract an offset value from a slice header of a slice to which macroblocks belong; a threshold calculator to calculate a threshold of the intra macroblock based on the extracted offset value; a filtering value calculator to calculate a filtering value of an outermost pixel that is adjacent to a boundary of the intra macroblock, based on the threshold; and a deblocking filter to perform deblocking filtering for the outermost pixel, based on the filtering value.
According to still another aspect of the present invention, there is provided a video decoder including: a threshold calculator to calculate a threshold with respect to an intra macroblock based on an offset value that is extracted from a slice header of a slice to which macroblocks belong; a filtering value generator to generate a filtering value of an outermost pixel adjacent to a boundary of the intra macroblock, based on a neighboring pixel value of the outermost pixel; a filtering value updating unit to compare the filtering value with the threshold, and to update the filtering value; and a deblocking filter to perform deblocking filtering for the outermost pixel based on the updated filtering value.
According to embodiments of the present invention, it is possible to enhance a video compression efficiency of high resolution and high quality videos.
FIG. 1 is a diagram illustrating an example of performing deblocking filtering for outermost pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating pixels adjacent to a boundary of a macroblock according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating an operation of determining whether to apply filtering of pixels adjacent to a boundary of a macroblock according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating an operation of performing, by a video encoder, deblocking filtering for pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention;
FIG. 5 is a diagram illustrating an example of a slice header storing an offset to determine a threshold according to an embodiment of the present invention;
FIG. 6 is a block diagram illustrating a structure of a video encoder according to an embodiment of the present invention;
FIG. 7 is a block diagram illustrating a structure of a video decoder according to an embodiment of the present invention.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
FIG. 1 is a diagram illustrating an example of performing deblocking filtering for outermost pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention.
According to an embodiment of the present invention, the video encoder may perform deblocking filtering for pixels that are located in a boundary of each of macroblocks to thereby remove distortion between the macroblocks and to provide a more natural video.
Referring to FIG. 1, deblocking filtering may be performed across a vertical edge 100 or a horizontal edge 101 of each of macroblocks.
According to an embodiment of the present invention, when at least one of a first macroblock and a second macroblock adjacent to a left of the first macroblock corresponds to an intra macroblock, deblocking filtering may be performed for pixels that are located in a boundary between the first macroblock and the second macroblock.
Also, according to an embodiment of the present invention, when at least one of a first macroblock and a second macroblock adjacent to an upper portion of the first macroblock corresponds to an intra macroblock, deblocking filtering may be performed for pixels that are located in a boundary between the first macroblock and the second macroblock.
FIG. 2 is a diagram illustrating pixels p0, p1, p2, p3, q0, q1, q2, and q3 adjacent to a boundary between two macroblocks according to an embodiment of the present invention.
The pixels p0, p1, p2, and p3 may correspond to pixel values of the macroblock that is located on a left-hand side based on the boundary between the two macroblocks. The pixels q0, q1, q2, and q3 correspond to pixel values of the macroblock that is located on a right-hand side based on the boundary between the two adjacent macroblocks.
Although the plurality of macroblocks is horizontally arranged in FIG. 2, the present invention is not limited thereto. Specifically, the plurality of macroblocks may be vertically arranged. In this case, the pixels p0, p1, p2, and p3 correspond to pixel values of macroblocks that are located on an upper portion based on the boundary between the macroblocks. The pixels q0, q1, q2, and q3 correspond to pixel values of macroblocks that are located on a lower portion based on the boundary between the macroblocks.
According to an embodiment of the present invention, among the pixels p0, p1, p2, p3, q0, q1, q2, and q3 that are located around the boundary between the macroblocks, the video encoder may perform deblocking filtering for the pixels p0 and q0 that are adjacent to the boundary between the macroblocks, and may not perform deblocking filtering for the pixels p1, p2, p3, q1, q2, and q3 that are not adjacent to the boundary between the macroblocks.
FIG. 3 is a flowchart illustrating an operation of determining whether to apply filtering of pixels located around a boundary of a macroblock according to an embodiment of the present invention.
In operation S310, both video encoder and decoder according to an embodiment of the present invention may calculate a parameter 'filterSamplesFlag' to determine whether to perform deblocking filtering. According to an embodiment of the present invention, the video encoder and decoder may calculate 'filterSamplesFlag' based on a boundary strength (BS) that is set for each of the macroblocks, and a pixel value of each of pixels p0, p1, q0, and q1 that are adjacent to the boundary between the macroblocks.
Referring to FIG. 3, when a value of the boundary strength is set to '0', the video encoder and decoder may determine a value of 'filterSamplesFlag' as zero.
When a difference between the pixel values of the pixels p0, p1, q0, and q1 adjacent to the boundary between the macroblocks is greater than a predetermined threshold α or β, the video encoder and decoder may determine the value of 'filterSamplesFlag' as zero. Specifically, when the pixel value difference is greater than the predetermined threshold, the video encoder and decoder may determine a corresponding boundary as a substantial boundary portion of video to thereby not perform deblocking filtering for the boundary.
In operation S320, the video encoder and decoder may determine whether the value of 'filterSamplesFlag' is equal to '1'.
When the value of 'filterSamplesFlag' is not equal to '1', the video encoder and decoder may not perform deblocking filtering for the intra macroblock in operation S330.
Conversely, when the value of 'filterSamplesFlag' is equal to '1', the video encoder and decoder may perform deblocking filtering for the intra macroblock.
Hereinafter, it is assumed that the video encoder and decoder perform deblocking filtering for the intra macroblock, which will be described in detail with reference to FIG. 4.
FIG. 4 is a flowchart illustrating an operation of performing, by a video encoder and decoder, deblocking filtering for pixels adjacent to a boundary of an intra macroblock according to an embodiment of the present invention.
In operation S400, the video encoder and decoder may calculate a filtering value of a deblocking target pixel. The video encoder and decoder may select, as the deblocking target pixel, an outermost pixel of the intra macroblock. According to an embodiment of the present invention, the video encoder and decoder may calculate the filtering value using pixel values of other pixels adjacent to the deblocking target pixel.
In operation S410, the video encoder and decoder may compare the filtering value of the deblocking target pixel with a positive threshold.
When the filtering value of the deblocking target pixel is less than the positive threshold, the video encoder and decoder may compare the filtering value of the deblocking target pixel with a negative threshold in operation S430.
When the filtering value of the deblocking target pixel is less than the negative threshold in operation S430, the video encoder and decoder may determine the negative threshold as the filtering value in operation S440.
Conversely, when the filtering value of the deblocking target pixel is greater than the positive threshold, the video encoder and decoder may determine the positive threshold as the filtering value in operation S420.
In operation S450, the video encoder and decoder may perform deblocking filtering for the deblocking target pixel based on the filtering value. According to an embodiment of the present invention, the video encoder and decoder may perform deblocking filtering by adding up a pixel value of the deblocking target pixel and the filtering value.
In operation S460, the video encoder and decoder may limit a pixel value of a deblocking filtered pixel to be within a predetermined range. According to an embodiment of the present invention, when a pixel value of a deblocking filtered pixel is less than a predetermined minimum value, the video encoder and decoder may determine the minimum value as the pixel value of the deblocking filtered pixel. When the pixel value of the deblocking filtered pixel is greater than a predetermined maximum value, the video encoder and decoder may determine the maximum value as the pixel value of the deblocking filtered pixel.
FIG. 5 is a diagram illustrating an example of a slice header storing an offset to determine a threshold according to an embodiment of the present invention. According to an embodiment of the present invention, a video encoder may perform deblocking filtering using a positive threshold and a negative threshold. The video encoder may store, in a slice header of a slice to which macroblocks belong, an offset value that is used to calculate the positive threshold and the negative threshold.
The video decoder may calculate the positive threshold or the negative threshold with respect to an intra macroblock, based on the stored offset value. The video decoder may perform deblocking filtering for a video that is restored based on a macroblock unit, using the positive threshold or the negative threshold.
The video decoder may determine whether to perform deblocking filtering for a macroblock, based on a value of a parameter 'deblocking_filter_control_present_flag' and a value of a parameter 'disable_deblocking_filter_idc' that is included in the slice header of a slice to which macroblocks belong.
According to an embodiment of the present invention, when it is determined to perform deblocking filtering for a macroblock, the video decoder may calculate a threshold with respect to the macroblock based on an offset value 'slice_alpha_c0_offset_div2' and an offset value 'slice_beta_offset_div2' that are stored in a slice header.
According to an embodiment of the present invention, the video decoder may use, with respect to an intra macroblock, the same threshold as a threshold with respect to an inter macroblock.
According to an embodiment of the present invention, the video decoder may use, with respect to an intra macroblock, a different threshold from a threshold with respect to an inter macroblock. Specifically, the video decoder may calculate the threshold with respect to the intra macroblock that is different from the threshold with respect to the inter macroblock, based on an offset value 'slice_alpha_imacroblock_c0_offset_div2' and an offset value 'slice_beta_imacroblock_ offset_div2'.
Also, according to an embodiment of the present invention, the video encoder may store, in a slice header, an offset value to calculate a threshold with respect to an intra macroblock. Referring to FIG. 5, an offset value 'slice_alpha_imacroblock_c0_offset_div2' and an offset value 'slice_beta_imacroblock_ offset_div2' may be used to calculate the threshold with respect to the intra macroblock.
The video decoder may calculate the threshold that may be applied only to the intra macroblock, using the offset value 'slice_alpha_imacroblock_c0_offset_div2' and the offset value 'slice_beta_imacroblok_ offset_div2'.
FIG. 6 is a block diagram illustrating a structure of a video encoder 600 according to an embodiment of the present invention. The video encoder 600 may include a filtering value generator 610, a deblocking filter 620, and a pixel value clipping unit 630.
The filtering value generator 610 may generate a filtering value of an outermost pixel that is adjacent to a boundary of an intra macroblock. According to an embodiment of the present invention, the filtering value generator 610 may generate the filtering value based on a neighboring pixel value of the outermost pixel or a quantization parameter of the intra macroblock.
According to an embodiment of the present invention, the filtering value generator 610 may limit the generated filtering value of the outermost pixel to be within a predetermined range. For this, the filtering value generator 610 may compare the generated filtering value with a positive threshold and a negative threshold. Hereinafter, it is assumed that the positive threshold is greater than the negative threshold.
The filtering value generator 610 may compare the generated filtering value with a positive threshold. When the filtering value is greater than the positive threshold, the filtering value generator 610 may determine the positive threshold as the filtering value.
Conversely, when the filtered value is less than the positive threshold, the filtering value generator 610 may compare the generated filtering value with a negative threshold. When the filtering value is less than the negative threshold, the filtering value generator 610 may determine the negative threshold as the filtering value.
Specifically, the filtering value may be determined as the positive threshold, the negative threshold, or a value between the positive threshold and the negative threshold.
The deblocking filter 620 may perform deblocking filtering for the outermost pixel based on the generated filtering value. According to an embodiment of the present invention, the deblocking filter 620 may perform deblocking filtering by adding up a pixel value of the outermost pixel and the filtering value.
The pixel value clipping unit 630 may limit a pixel value of the deblocking filtered outermost pixel to be within a predetermined range. According to an embodiment of the present invention, the pixel value clipping unit 630 may compare the pixel value of the deblocking filtered outermost pixel with a maximum value and a minimum value.
When the pixel value of the outermost pixel is greater than the maximum value, the pixel value clipping unit 630 may determine the maximum value as the pixel value of the outermost pixel.
Conversely, when the pixel value of the outermost pixel is less than the minimum value, the pixel value clipping unit 630 may determine the minimum value as the pixel value of the outermost pixel.
According to an embodiment of the present invention, the pixel value clipping unit 630 may limit the pixel value of the outermost pixel according to a bit depth.
FIG. 7 is a block diagram illustrating a structure of a video decoder 700 according to an embodiment of the present invention. The video decoder 700 may include an offset value extractor 710, a threshold calculator 720, a filtering value calculator 730, and a deblocking filter 740.
The offset value extractor 710 may extract an offset value from a slice header of a slice to which macroblocks belong. As shown in FIG. 5, the slice header may include at least one offset value.
The threshold calculator 720 may calculate a threshold with respect to the intra macroblock based on the extracted offset value. According to an embodiment of the present invention, the threshold calculator 720 may calculate a positive threshold and a negative threshold based on the extracted offset value.
The filtering value calculator 730 may calculate a filtering value of an outermost pixel that is adjacent to a boundary of the intra macroblock, based on the calculated threshold. According to an embodiment of the present invention, the filtering value calculator 730 may generate the filtering value of the outermost pixel and compare the filtering value with the threshold to thereby determine the filtering value of the outermost pixel.
According to an embodiment of the present invention, when the filtering value is greater than the positive threshold, the filtering value calculator 730 may determine the positive threshold as the filtering value.
When the filtering value is less than the negative threshold, the filtering value calculator 730 may determine the negative threshold as the filtering value.
According to an embodiment of the present invention, when the generated filtering value of the outermost pixel is a value between the negative threshold and the positive threshold, the filtering value calculator 730 may determine the generated filtering value as a final filtering value.
The deblocking filter 740 may perform deblocking filtering for the outermost pixel based on the calculated filtering value. According to an embodiment of the present invention, the deblocking filter 740 may perform deblocking filtering by adding up a pixel value of the outermost value and the filtering value.
According to an embodiment of the present invention, the video decoder 700 may further include a pixel value clipping unit (not shown) to limit the pixel value of the deblocking filtered outermost pixel to be within a predetermined range.
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Claims (11)
- A video encoder comprising:a filtering value generator to generate a filtering value of pixels that are adjacent to a boundary of an intra macroblock, based on a neighboring pixel value of the outermost pixel and quantization parameters of macroblocks located in adjacent to a filtering boundary; anda deblocking filter to perform deblocking filtering for the pixels that are adjacent to a boundary of an intra macroblock based on the filtering value.
- The video encoder of claim 1, wherein:the filtering value generator includes a threshold calculator to calculate a threshold with respect to the intra macroblock based on the best offset in the slice.
- The video encoder of claim 1, wherein:the filtering value generator compares the generated filtering value with a positive threshold, andwhen the filtering value is greater than the positive threshold, the filtering value generator determines the positive threshold as the filtering value.
- The video encoder of claim 1, wherein:the filtering value generator compares the generated filtering value with a negative threshold, andwhen the filtering value is less than the negative threshold, the filtering value generator determines the negative threshold as the filtering value.
- The video encoder of claim 1, wherein the deblocking filter performs deblocking filtering by adding up a pixel value of pixels and the filtering value.
- The video encoder of claim 1, further comprising:a pixel value clipping unit to limit a pixel value of the deblocking filtered pixels to be within a predetermined range.
- The video encoder of claim 5, wherein the pixel value clipping unit limits the pixel value of the deblocking filtered pixels to be within the range from a minimum value to a maximum value based on a bit depth.
- A video decoder comprising:an offset value extractor to extract an offset value from a slice header of a slice to which macoblocks belong;a threshold calculator to calculate a threshold with respect to the intra macroblock based on the extracted offset value;a filtering value calculator to calculate a filtering value of pixels that is adjacent to a boundary of the intra macroblock, based on the threshold; anda deblocking filter to perform deblocking filtering for the pixels, based on the filtering value.
- The video decoder of claim 8, wherein:the threshold calculator generates a positive threshold based on the extracted offset value, andwhen the filtering value of pixels is greater than the positive threshold, the filtering value calculator determines the positive threshold as the filtering value.
- The video decoder of claim 8, wherein:the threshold calculator generates a negative threshold, based on the extracted offset value, andwhen the filtering value of pixels is less than the negative threshold, the filtering value calculator determines the negative threshold as the filtering value.
- The video decoder of claim 8, wherein the deblocking filter performs deblocking filtering by adding up a pixel value of pixels and the filtering value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/003,677 US20110188581A1 (en) | 2008-07-11 | 2009-07-10 | Filter and filtering method for deblocking of intra macroblock |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2008-0067331 | 2008-07-11 | ||
KR20080067331 | 2008-07-11 | ||
KR10-2009-0060478 | 2009-07-03 | ||
KR1020090060478A KR101552639B1 (en) | 2008-07-11 | 2009-07-03 | Filter and filtering method for deblocking of intra macro block |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010005269A1 true WO2010005269A1 (en) | 2010-01-14 |
Family
ID=41507251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2009/003803 WO2010005269A1 (en) | 2008-07-11 | 2009-07-10 | Filter and filtering method for deblocking of intra macroblock |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010005269A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300982B2 (en) | 2011-06-14 | 2016-03-29 | Lg Electronics Inc. | Method for encoding and decoding image information |
WO2016146158A1 (en) * | 2015-03-16 | 2016-09-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive clipping in filtering |
US10917641B2 (en) | 2016-12-27 | 2021-02-09 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050243911A1 (en) * | 2004-04-29 | 2005-11-03 | Do-Kyoung Kwon | Adaptive de-blocking filtering apparatus and method for mpeg video decoder |
WO2007032602A1 (en) * | 2005-07-29 | 2007-03-22 | Samsung Electronics Co., Ltd. | Deblocking filtering method considering intra-bl mode and multilayer video encoder/decoder using the same |
-
2009
- 2009-07-10 WO PCT/KR2009/003803 patent/WO2010005269A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050243911A1 (en) * | 2004-04-29 | 2005-11-03 | Do-Kyoung Kwon | Adaptive de-blocking filtering apparatus and method for mpeg video decoder |
WO2007032602A1 (en) * | 2005-07-29 | 2007-03-22 | Samsung Electronics Co., Ltd. | Deblocking filtering method considering intra-bl mode and multilayer video encoder/decoder using the same |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300982B2 (en) | 2011-06-14 | 2016-03-29 | Lg Electronics Inc. | Method for encoding and decoding image information |
US9565453B2 (en) | 2011-06-14 | 2017-02-07 | Lg Electronics Inc. | Method for encoding and decoding image information |
US9992515B2 (en) | 2011-06-14 | 2018-06-05 | Lg Electronics Inc. | Method for encoding and decoding image information |
US10531126B2 (en) | 2011-06-14 | 2020-01-07 | Lg Electronics Inc. | Method for encoding and decoding image information |
US10798421B2 (en) | 2011-06-14 | 2020-10-06 | Lg Electronics Inc. | Method for encoding and decoding image information |
US10924767B2 (en) | 2011-06-14 | 2021-02-16 | Lg Electronics Inc. | Method for encoding and decoding image information |
US11418815B2 (en) | 2011-06-14 | 2022-08-16 | Lg Electronics Inc. | Method for encoding and decoding image information |
US11671630B2 (en) | 2011-06-14 | 2023-06-06 | Lg Electronics Inc. | Method for encoding and decoding image information |
WO2016146158A1 (en) * | 2015-03-16 | 2016-09-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive clipping in filtering |
US10917641B2 (en) | 2016-12-27 | 2021-02-09 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
US20210127109A1 (en) * | 2016-12-27 | 2021-04-29 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
US11570432B2 (en) | 2016-12-27 | 2023-01-31 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11153562B2 (en) | Method and apparatus of advanced deblocking filter in video coding | |
CN103404151B (en) | Image encoding/decoding method and apparatus for same | |
KR20230033014A (en) | Method and apparatus for video encoding and decoding based on constrained offset compensation and loop filter | |
WO2011016678A2 (en) | Apparatus and method for deblocking filtering image data and video decoding apparatus and method using the same | |
KR102264603B1 (en) | Filter and filtering method for deblocking of intra macro block | |
EP2709361B1 (en) | Encoding method and device | |
WO2011021844A2 (en) | Method and apparatus for encoding an intra-prediction mode using variable length codes, and recording medium for same | |
WO2010047499A2 (en) | Video encoding/decoding apparatus, de-blocking filter and filtering method based on intra-prediction directions for same, and recording media | |
PH12016502089B1 (en) | Method of applying edge offset. | |
EP3358847B1 (en) | Moving image processing device, processing method and computer-readable storage medium | |
WO2011126288A2 (en) | Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order | |
EP2556673A2 (en) | Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order | |
WO2018070556A1 (en) | Method and apparatus for extracting intra prediction mode data of square or rectangular block | |
WO2010005269A1 (en) | Filter and filtering method for deblocking of intra macroblock | |
WO2019132567A1 (en) | Video coding method and device which use sub-block unit intra prediction | |
WO2021137445A1 (en) | Method for determining transform kernels for video signal processing and apparatus therefor | |
WO2018169267A1 (en) | Device and method for encoding or decoding image | |
WO2021187855A1 (en) | Method and apparatus for video encoding and decoding | |
WO2018070567A1 (en) | Video coding method and apparatus utilizing group of encoding units | |
WO2018074617A1 (en) | Video coding method and apparatus utilizing reference mode list for intra prediction | |
WO2017204398A1 (en) | Video decoding method and device using square or rectangular block division | |
WO2017010643A1 (en) | Hevc 4x4 intra prediction hardware device | |
WO2017047901A1 (en) | Memory management method and apparatus for screen content coding | |
WO2018038315A1 (en) | Method and device for coding video by using merger of coding units, and method and device for decoding video | |
KR20210034225A (en) | Video coding method and apparatus using inloop filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09794675 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13003677 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09794675 Country of ref document: EP Kind code of ref document: A1 |