WO2012064083A2 - Deblocking filtering method and apparatus - Google Patents
Deblocking filtering method and apparatus Download PDFInfo
- Publication number
- WO2012064083A2 WO2012064083A2 PCT/KR2011/008463 KR2011008463W WO2012064083A2 WO 2012064083 A2 WO2012064083 A2 WO 2012064083A2 KR 2011008463 W KR2011008463 W KR 2011008463W WO 2012064083 A2 WO2012064083 A2 WO 2012064083A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- unit
- chroma
- edge
- deblocking filter
- Prior art date
Links
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/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 image information compression technology, and more particularly, to a method of applying a deblocking filter to a chroma component in an in-loop.
- High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution and high-quality video information.
- inter prediction and intra prediction may be used.
- the inter prediction method predicts pixel values of a current picture by referring to information of another picture, and the intra prediction method predicts pixel values by using correlations between pixels within the same picture.
- various methods are used to compensate for coding errors in an encoding process and to perform efficient image reconstruction.
- the blocking artifacts as the transformation and prediction are performed on a block basis, and in the quantization process
- a method of effectively compensating for a coding error occurring or the like has been considered.
- One object of the present invention is to provide a method and apparatus for generating a reconstructed image closer to the original image.
- Another technical problem of the present invention is to provide a method and apparatus for effectively removing undocking artifacts of a reconstructed image.
- Another technical problem of the present invention is to provide a method and apparatus for effectively removing a blocking effect on a chroma component of a reconstructed image.
- Another technical problem of the present invention is to provide a method and apparatus for effectively applying deblocking filtering on chroma components of a restored image in consideration of a sample.
- Another object of the present invention so that the de-blocking filtering on a chroma component of the reconstructed image can be effectively performed, and to provide a method and apparatus to set the criteria for the chroma component of the deblocking filtering.
- An embodiment of the present invention is a deblocking filtering method comprising: setting a bS (boundary, strength) for a block edge in a unit sample block composed of reconstructed chroma components; Determining a deblocking filtering for the and applying a deblocking filter to the chroma component in accordance with the deblocking filtering determination, wherein the unit The size of the sample block may be set according to the sampling format of the chroma sample.
- the size of the unit sample block composed of chroma components may be set to 4 ⁇ 4.
- the size of the unit sample block composed of chroma components may be set to 4x8 or 8x4.
- the size of the unit sample block composed of chroma components may be set to 8x8.
- the bS in the bS setting step, the bS may be set to a value greater than 1 when the block edge is an edge of a transform unit and the unit sample block includes a transform coefficient greater than zero.
- the deblocking filtering determination step it may be determined that the deblocking filter is applied when the bS is greater than one.
- left and right samples of the block edge may be encoded in an inter mode.
- Another embodiment of the present invention is a deblocking filtering device comprising: a bS setting unit for setting a bSCboundary strength for a block edge in a unit sample block composed of reconstructed chroma components; A filtering deciding unit determining deblocking filtering for the filtering unit and a filtering applying unit applying the deblocking filter to the chroma component according to the deblocking filtering determination
- the size of the unit sample block may be set according to a sampling format of the chroma sample.
- the size of the unit sample block composed of chroma components may be 4 ⁇ 4.
- the size of the unit sample block composed of chroma components may be 4x8 or 8x4.
- the size of the unit sample block composed of chroma components may be 8x8.
- the bS setting unit selects bS when the block edge is a transform unit edge and the unit sample block includes a transform coefficient greater than zero.
- the filtering determiner may determine to apply the deblocking filter when the bS is greater than 1.
- left and right samples of the block edge may be encoded in an inter mode.
- a reconstruction image closer to the original image can be generated during the encoding / decoding process.
- blocking artifacts (art if acts) of the reconstructed image can be effectively removed.
- blocking artifacts for the chroma component of the reconstructed image can be effectively removed.
- the effect of the deblocking filtering can be enhanced.
- FIG. 1 is a block diagram schematically illustrating an image encoding apparatus (encoder) according to an embodiment of the present invention.
- FIG. 2 is a block diagram schematically illustrating an image decoder according to an embodiment of the present invention.
- FIG. 3 is a diagram schematically illustrating three formats for sampling a luma signal and a chroma signal.
- FIG. 4 is a diagram schematically illustrating an example of a boundary of a transform unit or a boundary of a prediction unit derived as described above.
- 5 schematically shows a sample block to which a multiblocking filter is applied.
- 6 is a diagram comparing the original image on the left side with the reconstructed image on the right side.
- FIG. 7 is a diagram comparing the original image on the left side with the luma reconstruction image on the right side.
- 8 is a diagram comparing an original image on the left side with a chroma (U) reconstructed image on the right side.
- FIG. 9 is a diagram comparing the original image on the left side with the chroma (V) reconstructed image on the right side.
- FIG. 10 illustrates a deblocking filter for chroma components in a system to which the present invention is applied. It is a figure explaining a sample block to apply.
- FIG. 11 is a flowchart schematically illustrating a method of applying a deblocking filter to chroma components in a system to which the present invention is applied.
- FIG. 12 is a view schematically showing the effect of applying a deblocking filter to chroma in accordance with the present invention.
- each of the components in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions in the image encoding / decoding apparatus, each component is implemented in separate hardware or separate software ⁇ 1 does not mean.
- two or more of each It may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
- Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
- the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a reordering unit 125, and an entropy encoding unit 130. And an inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
- the picture division unit 105 may divide the input picture into at least one processing unit.
- the processing unit may be a prediction unit (hereinafter referred to as a PU), a transform unit (hereinafter referred to as a "TIT”), or a coding unit (hereinafter referred to as "CIT"). )
- the predictor 110 includes an inter-screen predictor that performs inter-prediction and an intra-screen predictor that performs intra-prediction, as described below.
- the prediction unit 110 generates a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
- the processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU.
- the content eg, prediction mode, etc.
- the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the specific content are determined.
- the prediction method and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
- a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture.
- a prediction block may be generated by performing prediction based on pixel information in a current picture through intra prediction.
- a reference picture may be selected for a PU and a reference block having the same size as that of the PU may be selected in integer pixel sample units. Subsequently, the residual signal with the current PU is minimized, and the prediction block generates a minimum motion vector size.
- a skip mode a merge mode, an MVP (Motion Vector Predtiction), and the like can be used.
- the prediction block may be generated in sub-integer sample units, such as 1/2 pixel sample unit and 1/4 pixel sample unit.
- the motion vector may also be expressed in units of integer pixels or less.
- the luminance pixel may be expressed in units of 1/4 pixels
- the chrominance pixel may be expressed in units of 1/8 pixels.
- Information such as an index, a motion vector predictor, and a residual signal of a reference picture selected through inter prediction is entropy encoded and transmitted to a decoder.
- the prediction mode is determined in units of PUs, The prediction may be performed in units. In addition, a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
- a prediction mode may have 33 directional prediction modes and at least two non-directional modes.
- the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
- a prediction block may be generated after applying an adaptive intra smoothing (AIS) filter to a reference pixel according to a prediction mode.
- AIS adaptive intra smoothing
- the type of AIS filter applied to the reference pixel may be different.
- the prediction may be performed by interpolating the reference pixel in units of 1/8 pixels according to the prediction mode of the current block.
- the PU may have various sizes / shapes, for example, in case of inter prediction, the PU may have a size of 2NX2N, 2NXN, NX2N, or NXN. In the case of intra prediction, the PU may have a size of 2NX2N or NXN (where N is an integer). At this time, the NXN size PU may be configured to apply only in a specific case. For example, the NxN PU may be used only for the minimum size coding unit, or only for intra prediction. In addition to the pu of the size described above,
- a PU having a size of NXmN, mNXN, 2NXmN, or mNx2N (m ⁇ l) may be further defined and used.
- the residual value (the residual block or the residual signal) between the generated prediction block and the original block is input to the converter 115.
- the prediction used for the prediction Mode information, motion vector information, and the like are encoded by the entropy encoder 130 along with the residual values and transmitted to the decoder.
- the transform unit 115 performs transform on the residual blot in transform units and generates transform coefficients.
- the transform unit in the transform unit 115 may be a TU and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size.
- the transform unit 115 may convert the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
- DCT discrete cosine transform
- DST discrete sine transform
- the quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 115.
- the value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
- the reordering unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By reordering the quantization coefficients, the efficiency of the encoding in the entropy encoder 130 may be increased.
- the reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method.
- the reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantizer.
- the entropy encoder 130 may perform entropy encoding on the quantization coefficients redefined by the reordering unit 125.
- Entropy coding includes, for example, Exponential Golomb and Context-Adaptive Variable Length. Coding (Coding), CABAC (Corit ext-Adaptive Binary Arithmetic Coding) can be used.
- the entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, partition unit information, PU information, transmission unit information, motion vector information, etc. of a CU received from the reordering unit 125 and the prediction unit 110.
- Various information such as reference picture information, interpolation information of a block, and filtering information can be encoded.
- the entropy encoder 130 may apply a constant change to a parameter set or syntax to be transmitted.
- the inverse quantization unit 135 is the value quantized by the quantization unit 120, inverse quantization, and inverse transform unit 140 inverse transform the dequantized value from the inverse quantization section 135.
- the residual values generated by the inverse quantizer 135 and the inverse transformer 140 may be combined with the predicted block predicted by the predictor 110 to generate a reconstructed block.
- the filter unit 145 is a deblocking filter, ALF (Adaptive Loop Filter), SAO (Sample)
- Adaptive Offset can be applied to the reconstructed picture.
- the deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture.
- the adaptive loop filter may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter.
- ALF may be performed only when high efficiency is applied.
- SA0 restores the offset difference from the original image on a pixel-by-pixel basis for the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset. Meanwhile, the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
- the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
- the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
- 2 is a block diagram schematically illustrating an image decoder according to an embodiment of the present invention.
- the image decoder 200 includes an entropy decoder 210, a reordering unit 215, an inverse quantizer 220, an inverse transform unit 225, a predictor 230, and a filter unit 235.
- Memory 240 may be included.
- the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
- VLC variable length coding
- 'VLC' variable length coding
- CABAC CABAC
- Information for generating the prediction block among the information decoded by the entropy decoder 210 is provided to the predictor 230, and entropy decoding is performed by the entropy decoder.
- the performed residual value may be input to the reordering unit 215.
- the reordering unit 215 may reorder the entropy-decoded bit stream by the entropy decoding unit 210 based on the reordering method in the image encoder.
- the reordering unit 215 may reorder the coefficients expressed in the form of a one-dimensional vector back to the coefficients in the form of a two-dimensional block.
- the reordering unit 215 may receive the information related to the coefficient scanning performed by the encoder and perform the rearrangement by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
- the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
- the inverse transformer 225 may perform inverse DCT and / or inverse DST on the DCT and DST performed by the encoder of the encoder for the quantization result performed by the image encoder.
- the inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image.
- the DCT and / or DST may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 225 of the decoder is performed by the encoder of the encoder.
- Inverse transformation may be performed based on the transformation information.
- the prediction unit 230 may generate the prediction block based on the prediction block specific generation related information provided by the entropy decoder 210 and previously decoded blocks and / or picture information provided by the memory 240.
- the reconstruction block may be generated using the prediction block generated by the predictor 230 and the residual block provided by the inverse transform unit 225. have.
- intra prediction mode intra prediction mode
- intra prediction may be performed to generate a prediction block based on pixel information in the current picture.
- the inter screen for the current PU based on information included in at least one of a previous picture or a subsequent picture of the current picture. You can make predictions.
- motion information required for inter-prediction prediction of the current PU provided by the image encoder for example, a motion vector, a reference picture index, and the like, may be derived by checking a skip flag, a merge flag, and the like received from the encoder.
- the reconstructed blot and / or picture may be provided to the filter unit 235.
- the filter unit 235 applies deblocking filtering, SACXSample Adaptive Offset, and / or adaptive loop filtering to the reconstructed blocks and / or pictures.
- the memory 240 may store the reconstructed picture or block to use as the reference picture or the reference block, and may provide the reconstructed picture to the output unit.
- a color image e.g., a color video such as a color TV
- R Red
- Green Green
- B Can be represented by the [Y, Cb, Cr] signal equivalent to the [R, G, B] signal expressed in Blue
- sampling of the X, Cb, and Cr signals is performed in one of three formats.
- 3 is a diagram schematically illustrating three formats for sampling a luma signal and a chroma signal.
- the three formats are divided into 4: 4: 4, 4: 2: 2, and 4: 2: 0 according to sampling rates between Y, Cb, and Cr based on 2x2 blocking of the toma signal.
- 3A schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 4: 4 format.
- the -roma component of the original image can be preserved as it is. Therefore, it is used for images of medical care, movies, and the like.
- 3B schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 2: 2 format.
- the 4: 2: 2 format is used to reproduce high quality color images.
- the chroma component has the same resolution as the luma component in the horizontal direction, but has a resolution equivalent to 1/2 of the luma component in the vertical direction.
- the number of chroma pixels in the horizontal direction is 1/2 of the 4: 4: 4 format when compared to the 4: 4: 4 format. .
- 3C schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 2: 0 format.
- 4: 2: 0 is the sampling between X, Cb and Cr signals Rather than a ratio, it is a sampling format that is distinguished from 4: 4: 4 format and 4: 2: 2 format.
- the 4: 2: 0 format is used for video such as digital TV, digital versatile disk (DVD), and video conferencing.
- the chroma component in the 4: 2: 0 format has a data amount and resolution corresponding to 1/2 of the luma component when compared to the 4: 4: 4 format.
- the number of chroma pixels in the vertical direction is 1/2 of the 4: 2: 2 format when compared to the 4: 2: 2 format.
- an in-loof filter is applied to the reconstructed image to compensate for a difference between the original image and the reconstructed image due to an error occurring in a compression encoding process such as quantization.
- in-loop filtering may be performed in the filter unit of the encoder and the decoder, and at least one of a deblocking filter, a SAOCSample Adaptive Offset (ALF), and an ALF (Adaptive Loop Filter) is applied.
- the deblocking filter process can be applied to all prediction unit edges and transform unit edges in the picture, as described above. However, it may not be applied to the edge at the border of the picture.
- the decoder may not apply the deblocking filter to an edge designated as inactive by an indicator such as disable_deblocking_filter_idc or a slice boundary indicated that the deblocking filter is not applied by information such as loop_fiUer_slice_flag.
- a minimum size of a block to which the deblocking filter is applied may be set.
- the block of size may be set to the minimum size to which the deblocking filter is applied, and in the case of a block smaller than the 8x8 size, the deblocking filter may be applied only when the edge is located on the 8x8 sample grid.
- the chroma component of this edge may also be filtered by the chroma filter.
- the encoder / decoder may determine an area to which the deblocking filter is to be applied before determining bS. Specifically, the encoder / decoder is based on the information of the current block (position, width, height, depth, size, prediction partition width (PartMODE, etc.), and the boundary and prediction unit of the transform unit to which the deblocking filter is to be applied in the current block. The boundary of can be determined.
- the decision unit boundary may be determined for the blocks in the coding unit.
- the boundary of the transform unit may be derived for square blocks or for non-square (rectangular) blocks.
- information indicating the presence of the horizontal block edge to which the deblocking block filter is to be applied and the existence of the vertical block edge to each block which derived the boundary of the transform unit (eg, a horizontal block edge exists) Flag indicating whether or not there is a flag indicating whether a vertical block edge exists.
- the blocks in the sub-code unit from which the boundary of the transform unit is derived may be a transform unit.
- the 'deblocking filter applied to the block edge' here means that the deblocking filter is applied to a predetermined sample on the left and right bordering the block edge.
- the 'deblocking filter for the block edge' means a deblocking filter applied to left and right predetermined samples on the block edge boundary.
- the edge of the prediction unit to which the deblocking filter is to be applied is determined according to the prediction partition mode (PartMODE). For example, when the coding unit is split into 2NxN or NxN prediction units, it is determined whether or not to apply deblocking filtering to the horizontal edges inside the coding unit, and black is derived, and the coding unit is split into Nx2N or NxN prediction units. If there is, it can be determined or derived whether to apply the deblocking filtering with respect to the vertical edge of the internal encoding unit.
- N is an integer of 1 or more, and N or 2N represents the number of pixels.
- the deblocking filter is applied to the horizontal edge inside the coding unit according to the shape of the prediction unit.
- Deblocking filter on the vertical edge inside the coding unit according to the shape of the prediction unit when the coding unit is nLx2N L is an integer of 1 or more, nL represents the number of pixels. Determining whether to apply black may lead to 4 is a diagram schematically illustrating an example of a boundary of a transform unit or a boundary of a prediction unit derived as described above.
- FIG. 4A schematically illustrates an example of a square block as an example of a luma block 410.
- the minimum unit to which the deblocking filter is applied to the luma component is an 8 ⁇ 8 block
- the boundary of the block can be derived.
- the deblocking filter is applied to an 8x8 block
- a boundary with the block 445 may be derived.
- the sample block 440 to which the filtering, which is the object of the deblocking filter, is applied may be set at the boundary between the two blocks 435 and 445.
- FIG. 4B schematically illustrates an example of a grass block and a square block for the chroma block 450.
- the boundary of the block is determined in consideration of the vertical edge 460 and the horizontal edge 470 as shown. Can be induced.
- the boundary of the block 485 may be derived. Accordingly, the sample block 480 to which the filtering, which is the object of the deblocking filter, is applied, may be set at the boundary between the two blocks 475 and 485.
- FIG. 5 schematically illustrates a sample block to which the deblocking filter is applied, and more specifically illustrates the sample block 440 of FIG. 4A and the sample block 480 of FIG. 4B.
- the samples (p) belonging to the left region 445 and 475 and the samples q of the right region 435 and 485 are each 4x8 relative to the center boundary. It is arranged in the form.
- the block 510 on the left is called block P and the block 520 on the right is called block Q based on the boundary to which the deblocking filter is applied.
- a sample belonging to is called q.
- an encoder / decoder determines a boundary strength (bS) for an inter-block boundary or an edge of a block.
- Bs represents the filtering strength for the horizontal edge and the vertical edge.
- an 'edge' of a block may mean 'boundary' between blocks.
- the encoder / decoder decides whether to filter. Whether to apply filtering may be determined in units of blocks. For example, referring to FIG. 5, when bS is greater than 0, filtering based on the degree of linearity between a predetermined sample line in the block P and a predetermined sample line in the block Q is shown between the boundary 515.
- the encoder / decoder selects a filter to apply to the edge 515 in the sample block 500.
- the filter can be divided into a strong filter and a weak filter.
- the filter may be selected according to the bS value.
- the filter may also be selected depending on whether it is a deblocking filter for luma or a deblocking filter for chroma. For example, for chroma, only one predetermined filter may be applied instead of the strong filter and the weak filter.
- the encoder / decoder may apply a filter as defined above to the edge 515 in the sample block 500.
- the deblocking filter is applied to a grid of 8x8 blocks that are boundaries of the transform unit or the prediction unit. Also, the deblocking filter has (1) block P and Q in both inter modes, (2) block P and Q have no non-zero transform coefficients, and (3) block P and block Q have the same reference picture. If the motion vector is not similar, it can be applied.
- the similarity of the motion vectors means that the difference between the motion vectors of the block P and the block Q is smaller than the predetermined difference.
- the deblocking filter may also be applied to chroma components.
- the application unit of the deblocking filter may be set to be the same as the luma component.
- the deblocking filter for the chroma component may also be applied to a grid of 8x8 blocks that are boundaries of the prediction unit or transform unit.
- the deblocking filter may be further limited.
- the deblocking filter is further applied.
- the edge of the sample block is the edge of the prediction unit, and the block P and the block Q are both in planner mode, the deblocking filter may not be applied.
- 6 is a diagram comparing the original image on the left side with the reconstructed image on the right side. The reconstructed image on the right is an image to which the deblocking filter has not yet been applied.
- blocking artifacts are prominent in the circled portion.
- a reconstructed image is generated using only the luma component ⁇ component, and the reconstructed image using only the chroma components U and V, respectively.
- FIG. 7 is a diagram comparing the original image on the left side with the luma reconstruction image on the right side.
- the luma reconstructed image is an image reconstructed using only a luma signal and no deblocking filter is applied.
- the luma reconstructed image of FIG. 7 may confirm that blocking artifacts are not prominent.
- FIG. 8 is a diagram comparing an original image on the left side with a chroma (U) reconstructed image on the right side.
- the chroma (U) reconstructed picture is a picture reconstructed only with a U component signal, and the deblocking filter is not applied.
- the chroma (V) reconstructed image is an image reconstructed using only the signal of the V component, and the deblocking filter is not applied.
- the omission of the deblocking filter for the chroma component, or as a secondary process according to the deblocking filter for the luma component, does not simply apply the deblocking filter for the chroma component, and the fire due to the characteristics of the chroma component and the chroma component.
- it is necessary to apply a deblocking filter for the chroma components Specifically, the chroma component needs to be adjusted in consideration of the sampling mode of the chroma component instead of simply setting the unit of the sample block to which the deblocking filter is applied as the luma component.
- the conditions for restricting the application of the deblocking filter to the chroma component are applied only when the blocks on both sides of the boundary are both in the intra mode or the application is excluded in the planner mode. Need to be alleviated.
- the sampling format used in the image processing technique is 4: 4: 4 format, 4: 2: 2 format or 4: 2: 0 format. According to this sampling format, the size ratio between the luma component block and the chroma component block can be determined.
- FIG. 10 is a diagram schematically illustrating a sample block applying a deblocking filter to chroma components in a system to which the present invention is applied.
- a block P 1010 and a block Q 1015 form an 8 ⁇ 8 sample block 1000 with a block edge 1005 interposed therebetween.
- a block P 1030 and a block Q 1035 form a 4 ⁇ 8 sample block 1025 with a block edge 1025 interposed therebetween.
- the block edge 1045 is interposed, and blocks P L050 and Q 1055) are 8x4 samples.
- Configure block 1040 a block POL070 and a block CK1075 constitute a sample block 1060 with a block edge 1065 interposed therebetween.
- the deblocking filter may be applied to the chroma component in units of 8 ⁇ 8 sample blocks 1000.
- sampling format when the sampling format is 4: 2: 2 format, it is highly likely that a prediction unit and / or a transform unit are set in 4x8 or 8x4 block units. Therefore, when the sampling format is 4: 2: 2 format, as shown in FIG. 10 (B) or FIG. 10 (C), the 4x8 size sample block 1020 or the black is chroma in 8x4 size sample block 1040 units.
- the deblocking filter can be applied to the component.
- the deblocking filter may be applied to the chroma component in units of a 4 ⁇ 4 sample block 1060.
- the deblocking filter to the chroma component not only when the blocks on both sides of the block edge, for example, the blocks p and the block Q are intra modes, but also in other cases.
- the bS of the block edge may be set according to the mode of the block P and the block Q, and the bS of the block edge is the same but in more cases, the deblocking filter is It can also be applied.
- the deblocking filter may be applied in more cases.
- the bS determined for the same block edge may be applied to the luma component and the chroma component together.
- bS of a luma component and bS of a chroma component can also be set separately with respect to the said block edge.
- FIG. 11 is a flowchart schematically illustrating a method of applying a deblocking filter to chroma components in a system to which the present invention is applied.
- the encoder / decoder determines a boundary strength (bS) for a block edge (1110). .
- the candidate / decoder determines the bS of the block edge for each sample block in consideration of the filter direction, that is, the direction of the blocking edge.
- bS may be determined using the direction of the block edge and the position of the block as parameters.
- the block edge for example, the boundaries 1005, 1025, 1045, and 1065 between blocks P and Q in FIG. 10 may be vertical edges or horizontal edges.
- the boundary (block edge) between block P and block Q is an encoding U edge, and when referring to FIG. 10 described above, block P or block Q is encoded in intra prediction mode. If so, the bS value of the block edge can be set to 4. If the block edge is not the edge of the coding unit, but the block P or the block Q is encoded in the intra mode, Bs of the block edge can be set to three.
- bS can be set to 2.
- bS may be set to zero.
- bS for the luma component and bS for the chroma component are separately set, deblocking filtering is performed for the luma component based on the bS for the luma component, and based on the bS for the chroma component. It is also possible to perform deblocking filtering on the chroma component.
- the block edge ( If 515 is the edge of the coding unit, bS may be set to 4, and if the block edge 515 is not the edge of the coding unit, bS may be set to 3.
- block edge 515 is the edge of the transform unit, and block P 510 or block
- bS may be set to two.
- the vertical component or the horizontal component has a predetermined difference value, eg, 4 pixels, in the motion vector of the two prediction units.
- BS may be set to 1 when there is a greater difference.
- bS for the block edge of the luma component may be set to zero.
- the boundary (block edge) between the block P and the block Q is the encoding unit edge and the block P or the block Q is encoded in the intra prediction mode, referring to FIG.
- the bS value of the block edge for the chroma (Cb, Cr) component can be set to 4.
- Bs of the block edge for the chroma (Cb, Cr) component can be set to three.
- bS for chroma can be set to two.
- bS of the block edge for the Cb block can be set to two.
- the Cr block if the block edge is the edge of the transform unit, and the block P or the block Q includes a non-zero transform coefficient for Cr, bS of the block edge for Cr can be set to two.
- bS for the chroma component may be set to zero.
- the bS value for the block edge can be set according to each case of FIG. 10.
- the sampling format when the sampling format is 4: 4: 4 format, as shown in FIG. 10 (A), the block edge 1005 is determined in units of 8x8 chroma sample blocks 1000.
- bS can be set.
- the sampling format is 4: 2: 2 format
- bS for the block edge 1025 is set in units of 4x8 size chroma sample blocks 1020 as shown in FIG. 10 (B), or as shown in FIG. 10 (C).
- the sampling format is the 4: 2: 0 format
- bS for the block edge 1065 may be set in units of 4x4 chroma sample blocks 1060 as shown in FIG. 10 (D).
- the encoder / decoder determines filtering for the chroma component (S1120).
- the encoder / decoder may determine the filtering by distinguishing the Cr component from the Cb component. For example, an index of color cldx may allow a color index value of 1 to indicate a chroma sample for Cb and a color index value 2 to indicate a chroma sample for Cr.
- the requirements for applying the deblocking filter to the chroma component are alleviated so that the deblocking filter for the chroma component may be applied even when both the block P and the block Q having the block edge are encoded in the inter mode. can do. For example, if the encoder / decoder has bS greater than 1, the deblocking filter can be applied to the chroma component.
- block edge is the boundary of the coding unit
- bS of the block edge is set to 4
- block edge is not the boundary of the coding unit
- bS of the block edge is set.
- Block edge is the edge of the transform unit, and block P or block Q If included, bS can be set to 2. If the mode does not correspond to the above-described case, bS may be set to 0.
- a bS value larger than 1 may be set if the block P or the block Q has a non-zero transform coefficient. Therefore, when the deblocking filter is set to be applied when the bS value is greater than 1, the deblocking filter may be applied to the chroma component even when both the block P and the block Q are not in the intra mode.
- a plurality of rows of samples in block p and block Q may be used to determine the application of the deblocking filter. Equation 1 is an example for determining the deblocking filtering, and is an example of using samples adjacent to the block edges of the second and third columns in the block P and the block Q.
- the deblocking filter may be applied to the block edge for the chroma.
- the determination of this deblocking filtering can be determined for the horizontal edge and the vertical edge, respectively. Therefore, when the bS value for the block edge of the Cb block is greater than 1 and the d value is less than the T threshold for the horizontal edge, the deblocking filter may be applied to the block edge of the Cb block. Also for the vertical edge, for the block edge of Cb blot If the bS value is larger than 1 and the d value is smaller than the T threshold , the deblocking filter may be applied to the block edge of the Cb block.
- the deblocking filter is to be applied to the block edge of the Cr block.
- the deblocking filter may be applied to the block edge of the Cr block.
- the encoder / decoder applies the deblocking filter to the target block edge (S1130).
- a deblocking filter is applied to the block edge of the chroma component in the coding unit.
- the size of the coding unit to which the deblocking filter is applied may be set to a predetermined size.
- the deblocking filter may be applied in units of 8 ⁇ 8 size.
- the deblocking filter for chroma when the sampling format is 4: 4: 4 format, the deblocking filter for chroma may be applied in units of 8x8 size sample blocks, and the sampling format is 4: 4: 4 format. In this case, the deblocking filter for chroma may be applied in units of 8x4 or 4x8 sample blocks. In addition, when the sampling format is 4: 2: 0 format, a deblocking filter for chroma may be applied in units of 4 ⁇ 4 sample blocks.
- X is determined based on the position of the chroma block in the coding unit with respect to the horizontal block edge.
- the deblocking filter may be applied by checking whether the bS and the deblocking filter are applied every 4 pixels in the direction.
- the chroma position of a coding unit For example, the chroma position of a coding unit, the position of a 4x4 chroma sample block, information about the existence of a horizontal block edge (for example, a flag indicating whether there is a vertical block edge), a value of cldx indicating whether Cr or Cb, a vertical block edge
- the deblocking filtering may be performed based on whether or not the deblocking filter is applied to the horizontal block edge for every 4 ⁇ 4 block (the position of every 4 pixels in the coding unit) based on the bS value.
- the deblocking filter may be applied to the vertical block edge by checking whether bS and the deblocking filter are applied in every 4 pixels in the y direction. For example, as in the case of the horizontal block edge, also in the case of the vertical block edge, information about the chroma position of the coding unit, the position of the 4x4 chroma sample block, and the existence of the horizontal block edge (for example, a flag indicating whether there is a horizontal block edge). Based on the value of cldx indicating Cr or Cb, the bS value for the horizontal block edge, etc., whether or not the deblocking filter is applied to the horizontal blocking edge for every 4x4 block (the position of every 4 pixels in the coding unit). Thus, deblocking filtering can be performed.
- the deblocking filtering may be performed in a similar manner to the above-described method for the 4x4 block.
- the deblocking filtering is applied in the same manner as the aforementioned 4x4 block, but the parameters for applying the deblocking filtering are 4x8 blocks. Determined in units. Therefore, deblocking filtering may be performed based on whether filtering is applied and bS for each 4x8 block in the blowing unit. That is, the deblocking filter may be applied according to whether or not filtering is applied every 8 pixels for the vertical block edge and every 4 pixels for the horizontal block edge.
- deblocking filtering may be performed based on whether filtering is applied and bS for each 8x4 block in the coding unit. That is, the deblocking filter may be applied according to whether or not filtering is applied every 4 pixels for the vertical block edge and every 8 pixels for the male block edge.
- deblocking filtering When the deblocking filter is applied in units of 8 ⁇ 8 block-specific blocks, the deblocking filtering is applied in the same manner as described above, but the parameters for applying the deblocking filtering are determined in units of 8 ⁇ 8 blocks. Accordingly, deblocking filtering may be performed based on whether filtering is applied and bS for each 8x8 blocks in the bursting unit. That is, the deblocking filter may be applied to the vertical block edge and the horizontal block edge according to whether filtering is applied every 8 pixels, bS, and the like. In this case, the deblocking filter may be set to modify a predetermined sample by using a predetermined number of samples. For example, referring to the sample blot of FIG.
- the type of deblocking filter for the chroma component may be classified into a strong filter and a weak filter based on the bS value. Strong filters can apply weaker filters and different coefficients to make filtering more effective.
- the deblocking filter for chroma components may not distinguish between a strong filter and a weak filter. That is, when deblocking filtering is applied to the chroma component, only one predetermined filter may be applied. For example, as described above, if bS is greater than 1, a predetermined correction value ⁇ may be used to modify the values of two pixels pO and pi at the boundary. For example, the correction may be performed by adding or subtracting the correction value ⁇ to the original pixel value. In this case, the predetermined correction value ⁇ may be limited within a certain range.
- Equation 2 shows an example of generating the modified value ⁇ and the modified pO ′ and q0 ′.
- ⁇ is a correction value generated by using two samples pO, pi, q0, and ql for each line in block P and block Q. Yale of corrections
- ⁇ may have various values by various methods based on pixel state information, sampling format, and the like.
- the correction value ⁇ given to pixel ⁇ and pixel qO can be clipped between a predetermined range ( ⁇ t c , to).
- t c is a value that defines a range of pixel values that can be modified by the deblocking filter.
- FIG. 12 is a view schematically showing the effect of the case in accordance with the present invention, applying the deblocking filter to the chroma.
- the image on the left side applies a deblocking filter for chroma on the basis of 8x8 blocks only when at least one of the left and right blocks of the sample edge is encoded in the intra mode according to a conventional method.
- the image on the right side of FIG. 12 applies a deblocking filter when bS is larger than 1 even when both the left and right blots of the sample edge are encoded in the inter mode, and applies the deblocking filter as a 4x4 block. It is.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present invention relates to a deblocking filtering method and deblocking filtering apparatus. The deblocking filtering method according to the present invention comprises the following steps: setting a boundary strength (bS) for a block edge in a unit sample block consisting of recovered chroma components; determining deblocking filtering for said block edge on the basis of the bS; and applying a deblocking filter to said chroma components in accordance with the deblocking filtering determination. According to the present invention, the size of said unit sample block may be set in accordance with a sampling format of a chroma sample.
Description
【명세서】 【Specification】
【발명의 명칭】 [Name of invention]
디블록킹 필터링 방법 및 장치 Deblocking filtering method and apparatus
【기술분야】 Technical Field
본 발명은 영상 정보 압축 기술에 관한 것으로서, 더 구체적으로는 인루프 (in- loop) 중 디블록킹 필터를 크로마 성분에 적용하는 방법에 관한 것이다. The present invention relates to image information compression technology, and more particularly, to a method of applying a deblocking filter to a chroma component in an in-loop.
【배경기술】 Background Art
최근, 고해상도, 고품질의 영상에 대한 요구가 다양한 웅용 분야에서 증가하고 있다. 하지만, 영상의 고해상도, 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다. 따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우, 정보의 전송 비용과 저장 비용이 증가하게 된다. Recently, the demand for high resolution and high quality images is increasing in various fields of use. However, as the resolution and quality of an image become higher, the amount of information on the image also increases. Therefore, when image information is transmitted using a medium such as a conventional wired / wireless broadband line or image information is stored using an existing storage medium, information transmission and storage costs increase.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다. High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution and high-quality video information.
영상 압축의 효율을 높이기 위해, 화면 간 예측과 화면 내 예측을 이용할 수 있다. 화면 간 예측 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처 (picture)의 화소값을 예측하며, 화면 내 예측 방법에서는 동일한 픽처 내에서 화소 간 연관 관계를 이용하여 화소값을 예측한다. In order to increase the efficiency of image compression, inter prediction and intra prediction may be used. The inter prediction method predicts pixel values of a current picture by referring to information of another picture, and the intra prediction method predicts pixel values by using correlations between pixels within the same picture.
한편, 부호화 과정에서의 부호화 에러 (coding erfor)를 보상하고 효율적인 영상 복원을 수행하기 위해서, 다양한 방법이 이용되고 있다. 예컨대, 블록 단위로 변환 및 예측이 수행됨에 따른 블록킹 아티팩트와, 양자화 과정에서
발생하는 부호화 에러 등을 효과적으로 보상하는 방법이 고려되고 있다. Meanwhile, various methods are used to compensate for coding errors in an encoding process and to perform efficient image reconstruction. For example, the blocking artifacts as the transformation and prediction are performed on a block basis, and in the quantization process A method of effectively compensating for a coding error occurring or the like has been considered.
[발명의 내용】 [Contents of the Invention]
【기술적 과제】 본 발명의 일 기술적 과제는 원본 영상에 더 근접한 복원 영상을 생성하는 방법 및장치를 제공하는 것이다. Technical problem One object of the present invention is to provide a method and apparatus for generating a reconstructed image closer to the original image.
본 발명의 다른 기술적 과제는 복원 영상의 불톡킹 아티팩트 (artifacts)를 효과적으로 제거하는 방법 및 장치를 제공하는 것이다. Another technical problem of the present invention is to provide a method and apparatus for effectively removing undocking artifacts of a reconstructed image.
본 발명의 또 다른 기술적 과제는 복원 영상의 크로마 성분에 대한 블록킹 아되팩트를 효과적으로 제거하는 방법 및 장치를 제공하는 것이다. Another technical problem of the present invention is to provide a method and apparatus for effectively removing a blocking effect on a chroma component of a reconstructed image.
본 발명의 또 다른 기술적 과제는복원 영상의 크로마 성분에 대한 디블록킹 필터링을 샘플.링 .모드를 고려하여 효과적으로 적용하는 방법 및 장치를 제공하는 것이다. Another technical problem of the present invention is to provide a method and apparatus for effectively applying deblocking filtering on chroma components of a restored image in consideration of a sample.
본 발명의 또 다른 기술적 과제는 복원 영상의 크로마 성분에 대한 디블록킹 필터링이 효과적으로 ,수행될 수 있도록, 디블록킹 필터링의 크로마 성분에 대한 적용 요건을 설정하는 방법 및 장치를 제공하는 것이다. Another object of the present invention so that the de-blocking filtering on a chroma component of the reconstructed image can be effectively performed, and to provide a method and apparatus to set the criteria for the chroma component of the deblocking filtering.
【기술적 해결방안】 Technical solution
(1) 본 발명의 일 실시형태는 디블록킹 필터링 방법으로서, 복원된 크로마 성분으로 구성된 단위 샘플 블록 내 블록 에지에 대하여, bS(boundary 、 Strength)를 설정하는 단계, 상기 bS를 기반으로 상기 블록 에지에 대한 디블록킹 필터링을 결정하는 단계 및 상기 디블록킹 필터링 결정에 따라서 상기 크로마 성분에 디블록킹 필터를 적용하는 단계를 포함하며, 상기 단위
샘플 블록의 크기는 상기 크로마 샘플의 샘플링 포맷에 따라 설정될 수 있다.(1) An embodiment of the present invention is a deblocking filtering method comprising: setting a bS (boundary, strength) for a block edge in a unit sample block composed of reconstructed chroma components; Determining a deblocking filtering for the and applying a deblocking filter to the chroma component in accordance with the deblocking filtering determination, wherein the unit The size of the sample block may be set according to the sampling format of the chroma sample.
(2) (1)에서, 상기 크로마 샘플의 샘플링 포맷이 4:2:0 포맷인 경우에는, 크로마성분으로 구성된 상기 단위 샘플 블록의 크기를 4x4로 설정할수 있다.(2) In (1), when the sampling format of the chroma samples is 4: 2: 0 format, the size of the unit sample block composed of chroma components may be set to 4 × 4.
(3) (1)에서 상기 크로마 샘플의 샘플링 포맷이 4:2:2 포맷인 경우에는, 크로마성분으로 구성된 상기 단위 샘플 블록의 크기를 4x8또는 8x4로 설정할 수 있다. (3) In (1), when the sampling format of the chroma samples is 4: 2: 2 format, the size of the unit sample block composed of chroma components may be set to 4x8 or 8x4.
(4) (1)에서, 상기 크로마 샘플의 샘플링 포맷이 4:4:4: 포맷인 경우에는, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기를 8x8로 설정할 수 있다. (4) In (1), when the sampling format of the chroma samples is 4: 4: 4: format, the size of the unit sample block composed of chroma components may be set to 8x8.
(5) (1)에서, 상기 bS 설정 단계에서는, 상기 블록 에지가 변환 유닛의 에지이고, 상기 단위 샘플 블록이 0보다 큰 변환 계수를 포함하는 경우에 상기 bS를 1보다 큰 값으로 설정할 수 있으며, 상기 디블록킹 필터링 결정 단계에서는, 상기 bS가 1보다 큰 경우에 디블록킹 필터를 적용하는 것으로 결정할 수 있다. (5) In (1), in the bS setting step, the bS may be set to a value greater than 1 when the block edge is an edge of a transform unit and the unit sample block includes a transform coefficient greater than zero. In the deblocking filtering determination step, it may be determined that the deblocking filter is applied when the bS is greater than one.
(6) (5)에서, 상기 블록 에지의 좌우 샘플들이 인터 모드로 부호화된 것일 수 있다. (6) In (5), left and right samples of the block edge may be encoded in an inter mode.
(7) 본 발명의 다른 실시형태는 디블록킹 필터링 장치로서, 복원된 크로마 성분으로 구성된 단위 샘플 블록 내 블록 에지에 대하여, bSCboundary Strength)를 설정하는 bS 설정부, 상기 bS 를 기반으로 상기 블록 에지에 대한 디블록킹 필터링을 결정하는 필터링 결정부 및 상기 디블록킹 필터링 결정에 따라서 상기 크로마 성분에 디블록킹 필터를 적용하는 필터링 적용부를
포함하며, 상기 단위 샘플 블록의 크기는 상기 크로마 샘플의 샘플링 포맷에 따라 설정될 수 있다. (7) Another embodiment of the present invention is a deblocking filtering device comprising: a bS setting unit for setting a bSCboundary strength for a block edge in a unit sample block composed of reconstructed chroma components; A filtering deciding unit determining deblocking filtering for the filtering unit and a filtering applying unit applying the deblocking filter to the chroma component according to the deblocking filtering determination The size of the unit sample block may be set according to a sampling format of the chroma sample.
(8) (7)에서, 상기 크로마 샘플의 샘플링' 포맷이 4:2:0 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 4x4일 수 있다. (8) In (7), when the sampling ' format of the chroma samples is 4: 2: 0 format, the size of the unit sample block composed of chroma components may be 4 × 4.
(9) (7)에서 , 상기 크로마 샘플의 샘플링 포맷이 4:2:2 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 4x8또는 8x4일 수 있다.(9) In (7), when the sampling format of the chroma samples is 4: 2: 2 format, the size of the unit sample block composed of chroma components may be 4x8 or 8x4.
(10) (7)에서, 상기 크로마 샘플의 샘플링 포맷이 4:4:4: 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 8x8일 수 있다. (10) In (7), when the sampling format of the chroma sample is 4: 4: 4: format, the size of the unit sample block composed of chroma components may be 8x8.
(11) (7)에서 상기 bS 설정부는, 상기 블록 에지가 변환 유닛꾀 에지이고, 상기 단위 샘풀 블록이 0 보다 큰 변환 계수를 포함하는 경우에 상기 bS 를 (11) In (7), the bS setting unit selects bS when the block edge is a transform unit edge and the unit sample block includes a transform coefficient greater than zero.
1보다 큰 값으로 설정할 수 있으며 , 상기 필터링 결정부는, 상기 bS가 1보다 큰 경우에 디블록킹 필터를 적용하는 것으로 결정할 수 있다. The filtering determiner may determine to apply the deblocking filter when the bS is greater than 1.
(.12) (11)에서, 상기 블록 에지의 좌우 샘플들은 인터 모드로 부호화된 것일 수 있다. (.12) In (11), left and right samples of the block edge may be encoded in an inter mode.
【유리한 효과] Advantageous Effects
본 발명에 의하면, 부호화 /복호화 과정에서 원본 영상에 더 근접한 복원 영상을 생성할 수 있다. According to the present invention, a reconstruction image closer to the original image can be generated during the encoding / decoding process.
본 발명에 의하면, 복원 영상의 블록킹 아티팩트 (art if acts)를 효과적으로 제거할 수 있다. According to the present invention, blocking artifacts (art if acts) of the reconstructed image can be effectively removed.
본 발명에 의하면, 복원 영상의 크로마 성분에 대한 블록킹 아티팩트를 효과적으로 제거할 수 있다.
본 발명에 의하면, 샘플링 모드를 고려하여, 복원 영상의 크로마 성분에 대한 디블록킹 필터링을 수행함으로써, 디블록킹 필터링의 효과를 높일 수 있다. 본 발명에 의하면, 디블록킹 필터링의 크로마 성분에 대한 적용 요건을 확대해서, 크로마 성분에 대한 디블톡킹 필터링의 효과를 높일 수 있다. According to the present invention, blocking artifacts for the chroma component of the reconstructed image can be effectively removed. According to the present invention, in consideration of the sampling mode, by performing deblocking filtering on the chroma component of the reconstructed image, the effect of the deblocking filtering can be enhanced. According to the present invention, it is possible to extend the application requirements for the chroma components of the deblocking filtering and to enhance the effect of the deblocking filtering on the chroma components.
【도면의 간단한 설명】 [Brief Description of Drawings]
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치 (부호화기 )를 개략적으로 도시한 블록도이다. 1 is a block diagram schematically illustrating an image encoding apparatus (encoder) according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 영상 복호화기를 개략적으로 나타낸 블록도이다. 2 is a block diagram schematically illustrating an image decoder according to an embodiment of the present invention.
도 3은 루마 신호와 크로마 신호를 샘플링하는 세 가지 포맷을 개략적으로 설명하는 도면이다. 3 is a diagram schematically illustrating three formats for sampling a luma signal and a chroma signal.
도 4는 상술한 바와 같이 유도되는 변환 유닛의 경계 혹은 예측 유닛의 경계에 대한 일 예를 개략적으로 설명하는 도면이다. 4 is a diagram schematically illustrating an example of a boundary of a transform unit or a boundary of a prediction unit derived as described above.
도 5는 다블록킹 필터가 적용되는 샘플 블록을 개략적으로 도시한 것이다. 도 6은 좌측의 오리지날 영상과 우측의 복원 영상을 비교하는 도면이다. 5 schematically shows a sample block to which a multiblocking filter is applied. 6 is a diagram comparing the original image on the left side with the reconstructed image on the right side.
도 7은 좌측의 오리지날 영상과 우측의 루마 복원 영상을 비교하는 도면이다. 도 8은 좌측의 오리지날 영상과 우측의 크로마 (U) 복원 영상을 비교하는 도면이다. 7 is a diagram comparing the original image on the left side with the luma reconstruction image on the right side. 8 is a diagram comparing an original image on the left side with a chroma (U) reconstructed image on the right side.
도 9는 좌측의 오리지날 영상과 우측의 크로마 (V) 복원 영상을 비교하는 도면이다. 9 is a diagram comparing the original image on the left side with the chroma (V) reconstructed image on the right side.
도 10은 본 발명이 적용되는 시스템에서 크로마 성분에 대해 디블록킹 필터를
적용하는 샘플 블록을 개략적으로 설명하는 도면이다. 10 illustrates a deblocking filter for chroma components in a system to which the present invention is applied. It is a figure explaining a sample block to apply.
도 11은 본 발명이 적용되는 시스템에서 크로마 성분에 대해 디블록킹 필터를 적용하는 방법을 개략적으로 설명하는 순서도이다. 11 is a flowchart schematically illustrating a method of applying a deblocking filter to chroma components in a system to which the present invention is applied.
도 12는 본 발명에 따라 크로마에 대한 디블록킹 필터를 적용한 경우의 효과를 개략적으로 나타내는 도면이다. 12 is a view schematically showing the effect of applying a deblocking filter to chroma in accordance with the present invention.
【발명의 실시를 위한 형태】 [Form for implementation of invention]
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the invention to the specific embodiments. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the spirit of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, component, or combination thereof described in the specification, one or more other features. It is to be understood that the present invention does not exclude the possibility of addition or addition of numbers, steps, operations, components, components, or combinations thereof.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화 /복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미^ 1지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이
합쳐져 하나의 구성을 이를 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및 /또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다. On the other hand, each of the components in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions in the image encoding / decoding apparatus, each component is implemented in separate hardware or separate software ^ 1 does not mean. For example, two or more of each It may be combined to form one configuration, or one configuration may be divided into a plurality of configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and redundant description of the same components is omitted.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치 (부호화기)를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치 (100)는 픽처 분할부 (105), 예측부 (110), 변환부 (115), 양자화부 (120), 재정렬부 (125), 엔트로피 부호화부 (130), 역양자화부 (135), 역변환부 (140), 필터부 (145) 및 메모리 (150)를 구비한다. 1 is a block diagram schematically illustrating an image encoding apparatus (encoder) according to an embodiment of the present invention. Referring to FIG. 1, the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a reordering unit 125, and an entropy encoding unit 130. And an inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
픽처 분할부 (105)는 입력된 픽처를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛 (Predict ion Unit, 이하 'PU' 라 함)일 수도 있고, 변환 유닛 (Transform Unit, 이하 'TIT 라 함)일 수도 있으며, 코딩 유닛 (Coding Unit, 이하 'ClT 라 함)일 수도 있다. The picture division unit 105 may divide the input picture into at least one processing unit. In this case, the processing unit may be a prediction unit (hereinafter referred to as a PU), a transform unit (hereinafter referred to as a "TIT"), or a coding unit (hereinafter referred to as "CIT"). )
예측부 (110)는 후술하는 바와 같이, 화면 간 예측을 수행하는 화면 간 예측부와 화면 내 예측을 수행하는 화면 내 예측부를 포함한다. 예측부 (110)는, 픽처 분할부 (105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부 (110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 화면 간 예측인지 화면 내 예측인지를 결정하고, 각 예측 방법의 구체적인
내용 (예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다. The predictor 110 includes an inter-screen predictor that performs inter-prediction and an intra-screen predictor that performs intra-prediction, as described below. The prediction unit 110 generates a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105. The processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU. In addition, it is determined whether the prediction performed on the processing unit is inter prediction or intra prediction. The content (eg, prediction mode, etc.) can be determined. In this case, the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the specific content are determined. For example, the prediction method and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
화면 간 예측을 통해서는 현재 픽처의 이전 픽처 및 /또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 화면 내 예측올 통해서는 현재 픽처 내의 화소 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. Through inter prediction, a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture. In addition, a prediction block may be generated by performing prediction based on pixel information in a current picture through intra prediction.
화면 간 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU와 동일한 크기의 참조 블록을 정수 화소 샘플 단위로 선택할 수 있다. 이어서, 현재 PU와의 레지듀얼 (residual) 신호가 최소화되며 움직임 백터 크기 역시 최소가 되는 예측 블록을 생성한다. 화면 내 예측의 방법으로서, 스킵 (skip) 모드, 머지 (merge) 모드, MVP(Motion Vector Predtiction) 등을 이용할 수 있다. 예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하샘플 단위로 생성될 수도 있다. 이때, 움직임 백터 역시 정수 화소 이하의 단위로 표현될 수 있다. 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다. In inter-screen prediction, a reference picture may be selected for a PU and a reference block having the same size as that of the PU may be selected in integer pixel sample units. Subsequently, the residual signal with the current PU is minimized, and the prediction block generates a minimum motion vector size. As a method of intra prediction, a skip mode, a merge mode, an MVP (Motion Vector Predtiction), and the like can be used. The prediction block may be generated in sub-integer sample units, such as 1/2 pixel sample unit and 1/4 pixel sample unit. In this case, the motion vector may also be expressed in units of integer pixels or less. For example, the luminance pixel may be expressed in units of 1/4 pixels, and the chrominance pixel may be expressed in units of 1/8 pixels.
화면 간 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 백터 (ex. Motion Vector Predictor), 레지듀얼 신호 등의 정보는 엔트로피 부호화되어 복호화기에 전달된다. Information such as an index, a motion vector predictor, and a residual signal of a reference picture selected through inter prediction is entropy encoded and transmitted to a decoder.
화면 내 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU
단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 화면 내 예측이 수행될 수도 있다. In case of performing intra prediction, the prediction mode is determined in units of PUs, The prediction may be performed in units. In addition, a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
화면 내 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플레너 모드 (Planar 모드)을 포함할 수 있다. 화면 내 예측에서는 예측 모드에 따라 참조 화소에 AIS(Adaptive Intra Smoothing) 필터를 적용한 후 예측 블록을 생성할 수 있다. 참조 화소에 적용되는 AIS 필터의 종류는 상이할 수 있다. 또한, 화면 내 예측에서는 현재 블록의 예측 모드에 따라 참조 화소를 1/8 화소 단위로 보간하여 예측을 수행할 수 있다. In intra prediction, a prediction mode may have 33 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a planner mode (Planar mode). In intra prediction, a prediction block may be generated after applying an adaptive intra smoothing (AIS) filter to a reference pixel according to a prediction mode. The type of AIS filter applied to the reference pixel may be different. In the intra prediction, the prediction may be performed by interpolating the reference pixel in units of 1/8 pixels according to the prediction mode of the current block.
PU는 다양한 사이즈 /형태를 가질 수 있으며, 예컨대 화면 간 예측의 경우에 PU는 2NX2N, 2NXN, NX2N, 또는 NXN 등의 크기를 가질 수 있다. 화면 내 예측의 경우에 PU는 2NX2N 또는 NXN (N은 정수) 등의 크기를 가질 수 있다. 이때, NXN 크기의 PU는 특정한 경우에만 적용하도록 설정할 수 있다. 예컨대 최소 크기 코딩 유닛에 대해서만 NxN의 PU를 이용하도록 정하거나 화면 내 예측에 대해서만 이용하도록 정할 수도 있다. 또한, 상술한 크기의 pu 외에, The PU may have various sizes / shapes, for example, in case of inter prediction, the PU may have a size of 2NX2N, 2NXN, NX2N, or NXN. In the case of intra prediction, the PU may have a size of 2NX2N or NXN (where N is an integer). At this time, the NXN size PU may be configured to apply only in a specific case. For example, the NxN PU may be used only for the minimum size coding unit, or only for intra prediction. In addition to the pu of the size described above,
NXmN, mNXN, 2NXmN 또는 mNx2N (m<l) 등의 크기를 가지는 PU를 더 정의하여 사용할 수도 있다. A PU having a size of NXmN, mNXN, 2NXmN, or mNx2N (m <l) may be further defined and used.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값 (레지듀얼 블록 또는 레지듀얼 신호)은 변환부 (115)로 입력된다. 또한, 예측을 위해 사용한 예측
모드 정보, 움직임 백터 정보 등은 레지듀얼 값과 함께 엔트로피 부호화부 (130)에서 부호화되어 복호화기에 전달된다. The residual value (the residual block or the residual signal) between the generated prediction block and the original block is input to the converter 115. In addition, the prediction used for the prediction Mode information, motion vector information, and the like are encoded by the entropy encoder 130 along with the residual values and transmitted to the decoder.
변환부 (115)는 변환 단위로 레지듀얼 블톡에 대한 변환을 수행하고 변환 계수를 생성한다. 변환부 (115)에서의 변환 단위는 TU일 수 있으며, 쿼드 트리 (quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부 (115)는 레지듀얼 블록을 DCT(Discrete Cosine Transform) 및 /또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다. The transform unit 115 performs transform on the residual blot in transform units and generates transform coefficients. The transform unit in the transform unit 115 may be a TU and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size. The transform unit 115 may convert the residual block using a discrete cosine transform (DCT) and / or a discrete sine transform (DST).
양자화부 (120)는 변환부 (115)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부 (120)에서 산출된 값은 역양자화부 (135)와 재정렬부 (125)에 제공된다. The quantization unit 120 may generate quantization coefficients by quantizing the residual values transformed by the transformation unit 115. The value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
재정렬부 (125)는 양자화부 (120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 부호화부 (130)에서의 부호화의 효율을 높일 수 있다. 재정렬부 (125)는 계수 스캐닝 (Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 백터 형태로 재정렬할 수 있다. 재정렬부 (125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 부호화부 (130)에서의 엔트로피 부호화 효율을 높일 수도 있다. The reordering unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By reordering the quantization coefficients, the efficiency of the encoding in the entropy encoder 130 may be increased. The reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method. The reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantizer.
엔트로피 부호화부 (130)는 재정렬부 (125)에 의해 재정뭘된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화에는 예를 들어, 지수 골롬 (Exponential Golomb) , CAVLC(Context-Adapt ive Variable Length
Coding), CABAC (Corit ext -Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. 엔트로피 부호화부 (130)는 재정렬부 (125) 및 예측부 (110)로부터 전달받은 CU의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, PU 정보 및 전송 단위 정보, 움직임 백터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다. The entropy encoder 130 may perform entropy encoding on the quantization coefficients redefined by the reordering unit 125. Entropy coding includes, for example, Exponential Golomb and Context-Adaptive Variable Length. Coding (Coding), CABAC (Corit ext-Adaptive Binary Arithmetic Coding) can be used. The entropy encoder 130 may include quantization coefficient information, block type information, prediction mode information, partition unit information, PU information, transmission unit information, motion vector information, etc. of a CU received from the reordering unit 125 and the prediction unit 110. Various information such as reference picture information, interpolation information of a block, and filtering information can be encoded.
또한, 엔트로피 부호화부 (130)는 필요한 경우에, 전송하는 파라미터 셋 또는 신택스에 일정한 변경을 가할 수도 있다. In addition, if necessary, the entropy encoder 130 may apply a constant change to a parameter set or syntax to be transmitted.
역양자화부 (135)는 양자화부 (120)에서 양자화된 값들을' 역양자화하고, 역변환부 (140)는 역양자화부 (135)에서 역양자화된 값들을 역변환한다. 역양자화부 (135) 및 역변환부 (140)에서 생성된 레지듀얼 값은 예측부 (110)에서 예측된 예측 블록과 합쳐져 복원 블록 (Reconstructed Block)이 생성될 수 있다. 필터부 (145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO (SampleThe inverse quantization unit 135 is the value quantized by the quantization unit 120, inverse quantization, and inverse transform unit 140 inverse transform the dequantized value from the inverse quantization section 135. The residual values generated by the inverse quantizer 135 and the inverse transformer 140 may be combined with the predicted block predicted by the predictor 110 to generate a reconstructed block. The filter unit 145 is a deblocking filter, ALF (Adaptive Loop Filter), SAO (Sample)
Adaptive Offset)를 복원된 픽처에 적용할 수 있다. Adaptive Offset) can be applied to the reconstructed picture.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다.The deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture. The adaptive loop filter (ALF) may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter.
ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SA0는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋 (Band Offset), 에지 오프셋 (Edge Offset) 등의 형태로 적용된다.
한편, 화면 간 예측에 사용되는 복원 블록에 대해서 필터부 (145)는 필터링을 적용하지 않을 수 있다. ALF may be performed only when high efficiency is applied. SA0 restores the offset difference from the original image on a pixel-by-pixel basis for the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset. Meanwhile, the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
메모리 (150)는 필터부 (145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리 (150)에 저장된 복원 블록 또는 픽처는 화면 간 예측을 수행하는 예측부 (110)에 제공될 수 있다. 도 2는 본 발명의 일 실시예에 따른 영상 복호화기를 개략적으로 나타낸 블록도이다. 도 2를 참조하면, 영상 복호화기 (200)는 엔트로피 복호화부 (210), 재정렬부 (215), 역양자화부 (220), 역변환부 (225), 예측부 (230), 필터부 (235) 메모리 (240)를 포함할 수 있다. The memory 150 may store the reconstructed block or the picture calculated by the filter unit 145. The reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction. 2 is a block diagram schematically illustrating an image decoder according to an embodiment of the present invention. 2, the image decoder 200 includes an entropy decoder 210, a reordering unit 215, an inverse quantizer 220, an inverse transform unit 225, a predictor 230, and a filter unit 235. Memory 240 may be included.
영상 부호화기에서 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 영상 부호화기에서 영상 정보가 처리된 절차에 따라서 복호화될 수 있다. When an image bit stream is input from the image encoder, the input bit stream may be decoded according to a procedure in which image information is processed by the image encoder.
예컨대, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 CAVLC 등의 가변 길이 부호화 (Variable Length Coding: VLC, 이하 'VLC' 라 함)가 사용된 경우에, 엔트로피 복호화부 (210)도 부호화기에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 복호화를 수행할 수 있다. 또한, 영상 부호화기에서 엔트로피 부호화를 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 복호화부 (210)는 이에 대웅하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다. For example, when variable length coding (VLC, hereinafter called 'VLC') is used to perform entropy encoding in an image encoder, the entropy decoder 210 also uses a VLC table used in the encoder. Entropy decoding can be performed by implementing the same VLC table. In addition, when CABAC is used to perform entropy encoding in the image encoder, the entropy decoder 210 may perform entropy decoding using CABAC.
엔트로피 복호화부 (210)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부 (230)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화가
수행된 레지듀얼 값은 재정렬부 (215)로 입력될 수 있다. Information for generating the prediction block among the information decoded by the entropy decoder 210 is provided to the predictor 230, and entropy decoding is performed by the entropy decoder. The performed residual value may be input to the reordering unit 215.
재정렬부 (215)는 엔트로피 복호화부 (210)에서 엔트로피 복호화된 비트 스트림을 영상 부호화기에서 재정렬한 방법올 기초로 재정렬할 수 있다. 재정렬부 (215)는 1차원 백터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부 (215)는 부호화기에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다. The reordering unit 215 may reorder the entropy-decoded bit stream by the entropy decoding unit 210 based on the reordering method in the image encoder. The reordering unit 215 may reorder the coefficients expressed in the form of a one-dimensional vector back to the coefficients in the form of a two-dimensional block. The reordering unit 215 may receive the information related to the coefficient scanning performed by the encoder and perform the rearrangement by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
역양자화부 (220)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다. The inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
역변환부 (225)는 영상 부호화기에서 수행된 양자화 결과에 대해, 부호화기의 변환부가 수행한 DCT 및 DST에 대해 역 DCT 및 /또는 역 DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서 DCT 및 /또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부 (225)는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다. The inverse transformer 225 may perform inverse DCT and / or inverse DST on the DCT and DST performed by the encoder of the encoder for the quantization result performed by the image encoder. The inverse transform may be performed based on a transmission unit determined by the encoder or a division unit of an image. In the encoder, the DCT and / or DST may be selectively performed according to a plurality of pieces of information, such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 225 of the decoder is performed by the encoder of the encoder. Inverse transformation may be performed based on the transformation information.
예측부 (230)는 엔트로피 복호화부 (210)에서 제공된 예측 블특 생성 관련 정보와 메모리 (240)에서 제공된 이전에 복호화된 블록 및 /또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부 (230)에서 생성된 예측 블록과 역변환부 (225)에서 제공된 레지듀얼 블록을 이용해 생성될 수
있다. 현재 PU에 대한 예측 모드가 인트라 예측 (intra prediction) 모드 (화면 내 예측 모드)인 경우에, 현재 픽처 내의 화소 정보를 기초로 예측 블록을 생성하는 화면 내 예측을 수행할 수 있다. The prediction unit 230 may generate the prediction block based on the prediction block specific generation related information provided by the entropy decoder 210 and previously decoded blocks and / or picture information provided by the memory 240. The reconstruction block may be generated using the prediction block generated by the predictor 230 and the residual block provided by the inverse transform unit 225. have. When the prediction mode for the current PU is an intra prediction mode (intra prediction mode), intra prediction may be performed to generate a prediction block based on pixel information in the current picture.
현재 PU에 대한 예측 모드가 인터 예측 (inter prediction) 모드 (화면 간 예측 모드)인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 PU에 대한 화면 간 예측을 수행할 수 있다. 이때, 영상 부호화기에서 제공된 현재 PU의 화면 간 예측에 필요한 움직임 정보, 예컨대 움직임 백터, 참조 픽처 인덱스 등에 관한 정보는 부호화기로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대웅하여 유도될 수 있다. If the prediction mode for the current PU is an inter prediction mode (inter prediction mode), the inter screen for the current PU based on information included in at least one of a previous picture or a subsequent picture of the current picture. You can make predictions. In this case, motion information required for inter-prediction prediction of the current PU provided by the image encoder, for example, a motion vector, a reference picture index, and the like, may be derived by checking a skip flag, a merge flag, and the like received from the encoder.
복원된 블톡 및 /또는 픽처는 필터부 (235)로 제공될 수 있다. 필터부 (235)는 복원된 블록 및 /또는 픽처에 디블록킹 필터링, SACXSample Adaptive Offset) 및 /또는 적응적 루프 필터링 등을 적용한다. The reconstructed blot and / or picture may be provided to the filter unit 235. The filter unit 235 applies deblocking filtering, SACXSample Adaptive Offset, and / or adaptive loop filtering to the reconstructed blocks and / or pictures.
메모리 (240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다. 한편, 컬러 영상 (예컨대, 컬러 TV등의 컬러 동영상)은 루마 (luma, 휘도) 신호 Y 와 크로마 (chroma, 색차) 신호 Cb, Cr 를 이용해서, R(Red), G(Green) , B(Blue)로 표현된 [R, G, B] 신호와 등가인 [Y, Cb, Cr] 신호로 표현될 수
있다. 즉, 루마 신호와 크로마 신호로 표현되더라도, 원래의 RGB 영상을 재현할 수 있다. The memory 240 may store the reconstructed picture or block to use as the reference picture or the reference block, and may provide the reconstructed picture to the output unit. On the other hand, a color image (e.g., a color video such as a color TV) uses the luma signal Y and the chroma signals Cb and Cr to represent R (Red), G (Green), and B ( Can be represented by the [Y, Cb, Cr] signal equivalent to the [R, G, B] signal expressed in Blue). have. That is, even if expressed as a luma signal and a chroma signal, the original RGB image can be reproduced.
일반적으로 X, Cb, Cr 신호의 샘플링은 세 가지 포맷 중 하나의 포맷을 통해 수행된다. In general, sampling of the X, Cb, and Cr signals is performed in one of three formats.
도 3 은 루마 신호와 크로마 신호를 샘플링하는 세 가지 포맷을 개략적으로 설명하는 도면이다. 세 가지 포맷은 투마 신호의 2x2 블톡을 기준으로 Y, Cb, Cr 간의 샘플링 비율 등에 따라 4:4:4, 4:2:2, 4:2:0로 구분된다. 3 is a diagram schematically illustrating three formats for sampling a luma signal and a chroma signal. The three formats are divided into 4: 4: 4, 4: 2: 2, and 4: 2: 0 according to sampling rates between Y, Cb, and Cr based on 2x2 blocking of the toma signal.
도 3(A)는 루마 신호 Y 와크로마 신호 Cb, Cr 을 4:4:4포맷으로 샘플링 하는 것을 개략적으로 설명하고 있다. 4:4:4 포맷의 경우에는 오리지날 영상의 ¬로마 성분이 그대로 보존될 수 있다. 따라서, 의료, 영화 등의 영상에 이용된다. 3A schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 4: 4 format. In the 4: 4: 4 format, the -roma component of the original image can be preserved as it is. Therefore, it is used for images of medical care, movies, and the like.
도 3(A)를 참조하면, 4 개의 루마 픽셀로 구성된 집합을 고려할 때, Y, Cb,Referring to FIG. 3 (A), considering the set of four luma pixels, Y, Cb,
Cr의 픽셀이 각각 4:4:4로 샘플링되는 것을 볼 수 있다. You can see that the pixels of C r are sampled at 4: 4: 4 respectively.
도 3(B)는 루마 신호 Y 와 크로마 신호 Cb, Cr 을 4:2:2 포맷으로 샘플링 하는 것을 개략적으로 설명하고 있다. 4:2:2 포맷은 고화질 컬러 영상을 재현하는데 사용된다. 크로마 성분은 수평 방향으로 루마 성분과 동일한 해상도를 갖지만, 수직 방향으로는 루마 성분의 1/2에 해당하는 해상도를 가진다. 3B schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 2: 2 format. The 4: 2: 2 format is used to reproduce high quality color images. The chroma component has the same resolution as the luma component in the horizontal direction, but has a resolution equivalent to 1/2 of the luma component in the vertical direction.
도 3(B)를 참조하면, 4:2:2 포맷의 경우는 4:4:4 포맷과 비교할 때, 수평 방향의 크로마 픽셀 수가 4:4:4포맷의 1/2이 되는 것을 볼 수 있다. Referring to FIG. 3B, in the case of 4: 2: 2 format, it can be seen that the number of chroma pixels in the horizontal direction is 1/2 of the 4: 4: 4 format when compared to the 4: 4: 4 format. .
도 3(C)는 루마 신호 Y 와 크로마 신호 Cb, Cr 을 4:2:0 포맷으로 샘플링 하는 것을 개략적으로 설명하고 있다. 여기서 4:2:0 은 X, Cb, Cr 신호 간의 샘플링
비율이라기 보다 4:4:4 포맷 및 4:2:2 포맷과 구별되는 샘플링 포맷임을 나타낸다ᅳ 4:2:0 포맷은 디지털 TV, DVD(Digital Versatile Disk), 화상 회의 등의 영상에 이용된다. 4:2:0 포맷에서 크로마 성분은, 4:4:4 포맷과 비교할 때 루마 성분의 1/2에 해당하는 데이터 양과 해상도를 가진다. 3C schematically illustrates sampling the luma signal Y and the chroma signals Cb and Cr in a 4: 2: 0 format. Where 4: 2: 0 is the sampling between X, Cb and Cr signals Rather than a ratio, it is a sampling format that is distinguished from 4: 4: 4 format and 4: 2: 2 format. The 4: 2: 0 format is used for video such as digital TV, digital versatile disk (DVD), and video conferencing. The chroma component in the 4: 2: 0 format has a data amount and resolution corresponding to 1/2 of the luma component when compared to the 4: 4: 4 format.
도 3(C)를 참조하면, 4:2:0 포맷의 경우는 4:2:2 포맷과 비교할 때, 수직 방향의 크로마 픽샐 수가 4:2:2 포맷의 1/2이 되는 것을 볼 수 있다. 한편, 양자화 (quantization) 등 압축 부호화 과정에서 발생하는 에러에 의한 원본 (original) 영상과 복원 영상의 차이를 보상하기 위해, 복원 영상에는 인루프 (in-loof) 필터가 적용된다. Referring to FIG. 3C, in the case of the 4: 2: 0 format, the number of chroma pixels in the vertical direction is 1/2 of the 4: 2: 2 format when compared to the 4: 2: 2 format. . Meanwhile, an in-loof filter is applied to the reconstructed image to compensate for a difference between the original image and the reconstructed image due to an error occurring in a compression encoding process such as quantization.
앞서 설명한 바와 같이, 인루프 필터링은 부호화기와 복호화기의 필터부에서 수행될 수 있으며, 디블록킹 필터 (Deblocking filter), SAOCSample Adaptive Offset), ALF( Adaptive Loop Filter) 증 적어도 하나가 적용된다. 디블록킹 필터 프로세스는 상술한 바와 같이, 픽처 내 모든 예측 유닛 에지와 변환 유닛 에지에 적용될 수 있다. 다만, 픽처의 경계에 있는 에지에는 적용되지 않을 수 있다. 또한, disable_deblocking_filter_idc 와 같은 지시자에 의해 비활성으로 지정된 에지나 loop_fiUer_slice_flag 와 같은 정보에 의해 디블록킹 필터가 적용되지 않는 것으로 지시된 슬라이스 경계에 대해서, 복호화기는 디블록킹 필터를 적용하지 않을 수 있다. 또한, 디블록킹 필터가 적용되는 블록의 최소 사이즈를 설정할 수도 있다. 예컨대 , 8x8
사이즈의 블록을 디블록킹 필터가 적용되는 최소 사이즈로 설정하고, 8x8 사이즈보다 작은 블록의 경우에는 에지가 8x8 샘플 그리드 상에 위치하는 경우에만 디블록킹 필터가 적용되도록 할 수도 있다. 한편, 만약, 한 에지의 루마 성분이 루마 필터링에 의해 필터링되면, 이 에지의 크로마 성분 역시 크로마 필터에 의해 필터링될 수 있다. As described above, in-loop filtering may be performed in the filter unit of the encoder and the decoder, and at least one of a deblocking filter, a SAOCSample Adaptive Offset (ALF), and an ALF (Adaptive Loop Filter) is applied. The deblocking filter process can be applied to all prediction unit edges and transform unit edges in the picture, as described above. However, it may not be applied to the edge at the border of the picture. Also, the decoder may not apply the deblocking filter to an edge designated as inactive by an indicator such as disable_deblocking_filter_idc or a slice boundary indicated that the deblocking filter is not applied by information such as loop_fiUer_slice_flag. In addition, a minimum size of a block to which the deblocking filter is applied may be set. For example, 8x8 The block of size may be set to the minimum size to which the deblocking filter is applied, and in the case of a block smaller than the 8x8 size, the deblocking filter may be applied only when the edge is located on the 8x8 sample grid. On the other hand, if the luma component of one edge is filtered by luma filtering, the chroma component of this edge may also be filtered by the chroma filter.
이렇게, 부호화기 /복호화기는 bS 를 정하기 전에, 디블록킹 필터가 적용될 영역을 정할 수 있다. 구체적으로, 부호화기 /복호화기는 현재 블록의 정보 (위치, 폭, 높이. 깊이, 사이즈, 예측 파티션 £드 (PartMODE 등)를 기반으로, 현재 블록 내에서 디블록킹 필터가 적용될 변환 유닛의 경계와 예측 유닛의 경계를 결정할 수 있다. In this way, the encoder / decoder may determine an area to which the deblocking filter is to be applied before determining bS. Specifically, the encoder / decoder is based on the information of the current block (position, width, height, depth, size, prediction partition width (PartMODE, etc.), and the boundary and prediction unit of the transform unit to which the deblocking filter is to be applied in the current block. The boundary of can be determined.
부호화 유닛이 복수의 변환 유닛으로 분할되는 경우 (예컨대, split_transform_flag=l)에는, 부호화 유닛 내의 블록들에 대해서 변환 유닛 경계를 결정 흑은 유도할 수 있다. 변환 유닛의 경계는 정방형 블록에 대해서 유도될 수도 있고, 비정방형 (직사각형) 블록에 대해서 유도될 수도 있다. 변환 유닛의 경계가 결정 혹은 유도되면, 변환 유닛의 경계를 유도한 블록별로, 디블록킹 블록 필터를 적용할 수평 블록 에지의 존부, 수직 블록 에지의 존부를 지시하는 정보 (예컨대, 수평 블록 에지가 존재하는지를 지시하는 플래그, 수직 블록 에지가 존재하는지를 지시하는 플래그)를 생성할 수 있다. 이때, 변환 유닛의 경계가 유도되는 부호하 유닛 내의 상기 블록들은 변환 유닛일 수 있다. 한편, 여기서 '블록 에지에 디블록킹 필터를 적용' 한다는 것은 블록 에지를 경계로 한 좌우 소정의 샘플에 디블록킹 필터가 적용된다는
것을 의미하며, '블록 에지에 대한 디블록킹 필터' 는 블록 에지를 경계로 한 좌우 소정의 샘플에 적용되는 디블록킹 필터를 의미한다. When the coding unit is split into a plurality of transform units (eg, split_transform_flag = l), the decision unit boundary may be determined for the blocks in the coding unit. The boundary of the transform unit may be derived for square blocks or for non-square (rectangular) blocks. When the boundary of the transform unit is determined or derived, information indicating the presence of the horizontal block edge to which the deblocking block filter is to be applied and the existence of the vertical block edge to each block which derived the boundary of the transform unit (eg, a horizontal block edge exists) Flag indicating whether or not there is a flag indicating whether a vertical block edge exists. In this case, the blocks in the sub-code unit from which the boundary of the transform unit is derived may be a transform unit. On the other hand, the 'deblocking filter applied to the block edge' here means that the deblocking filter is applied to a predetermined sample on the left and right bordering the block edge. The 'deblocking filter for the block edge' means a deblocking filter applied to left and right predetermined samples on the block edge boundary.
부호화 유닛이 변환 유닛으로 분할되지 않는 경우 (예컨대, split_transform_flag=0)에는, 부호화 유닛의 상측 에지에 디블록킹 필터를 적용할 것인지, 부호화 유닛의 좌측 에지에 디블록킹 필터를 적용할 것인지, 부호화 유닛의 내부에 디블록킹 필터를 적용할 것인지를 결정할 수 있다. If the coding unit is not split into transform units (for example, split_transform_flag = 0), whether to apply a deblocking filter to the upper edge of the coding unit, or to apply the deblocking filter to the left edge of the coding unit, It may be determined whether to apply a deblocking filter therein.
또한, 부호화 유닛 내 예측 유닛에 대해서는, 예측 파티션 모드 (PartMODE)에 따라서, 디블록킹 필터를 적용할 예측 유닛의 에지를 결정한다. 예컨대, 부호화 유닛이 2NxN 또는 NxN 의 예측 유닛으로 분할되는 경우에는, 부호화 유닛 내부의 수평 에지에 대하여 디블록킹 필터링을 적용할 것인지를 결정 흑은 유도하며, 부호화 유닛이 Nx2N 또는 NxN 의 예측 유닛으로 분할되는 경우에는,, 부호화 유닛 내부의 수직 에지에 대하여 디블록킹 필터링을 적용할 것인지를 결정 혹은 유도할 수 있다. 여기서, N 은 1 이상의 정수로서, N또는 2N 은 픽셀의 개수를 나타낸다. 또한, 부호화 유닛이 2NxnD (0<η<1, D 는 1 이상의 정수로서, nD 는 픽샐의 개수를 나타냄)인 경우에도 예측 유닛의 형태에 따른 부호화 유닛 내부의 수평 에지에 대하여 디블록킹 필터를 적용할 것인지를 결정 혹은 유도할 수 있고, 부호화 유닛이 nLx2N (L 은 1 이상의 정수로서, nL 은 픽셀의 개수를 나타냄)인 경우에 예측 유닛의 형태에 따른 부호화 유닛 내부의 수직 에지에 대하여 디블록킹 필터를 적용할 것인지를 결정 흑은 유도할 수 있다.
도 4 는 상술한 바와 같이 유도되는 변환 유닛의 경계 혹은 예측 유닛의 경계에 대한 일 예를 개략적으로 설명하는 도면이다. For the prediction unit in the coding unit, the edge of the prediction unit to which the deblocking filter is to be applied is determined according to the prediction partition mode (PartMODE). For example, when the coding unit is split into 2NxN or NxN prediction units, it is determined whether or not to apply deblocking filtering to the horizontal edges inside the coding unit, and black is derived, and the coding unit is split into Nx2N or NxN prediction units. If there is, it can be determined or derived whether to apply the deblocking filtering with respect to the vertical edge of the internal encoding unit. Here, N is an integer of 1 or more, and N or 2N represents the number of pixels. In addition, even when the coding unit is 2NxnD (0 <η <1, D is an integer greater than or equal to 1, nD represents the number of pixels), the deblocking filter is applied to the horizontal edge inside the coding unit according to the shape of the prediction unit. Deblocking filter on the vertical edge inside the coding unit according to the shape of the prediction unit when the coding unit is nLx2N (L is an integer of 1 or more, nL represents the number of pixels). Determining whether to apply black may lead to 4 is a diagram schematically illustrating an example of a boundary of a transform unit or a boundary of a prediction unit derived as described above.
도 4(A)는 루마 블록 (410)에 대한 예로서, 정방형 블록의 예를 개략적으로 설명하고 있다. 도 4(A)를 참조하면, 루마 성분에 대해 디블록킹 필터가 적용되는 최소 단위가 8x8 블록인 경우에, 도시된 바와 같이 수평 에지 (410)와 수직 에지 (430)를 고려하여, 블록의 경계를 유도할 수 있다. 예컨대, 8x8 블록에 대하여 디블톡킹 필터를 적용하는 경우에, 블록 (445)와 경계를 유도할 수 있다. 따라서, 두 블록 (435, 445) 사이의 경계에 대해 디블록킹 필터의 적용 대상이 되는 필터링을 적용할 샘플 블록 (440)을 설정할 수 있다. 4A schematically illustrates an example of a square block as an example of a luma block 410. Referring to FIG. 4A, when the minimum unit to which the deblocking filter is applied to the luma component is an 8 × 8 block, considering the horizontal edge 410 and the vertical edge 430 as shown, the boundary of the block Can be derived. For example, when the deblocking filter is applied to an 8x8 block, a boundary with the block 445 may be derived. Accordingly, the sample block 440 to which the filtering, which is the object of the deblocking filter, is applied, may be set at the boundary between the two blocks 435 and 445.
또한, 도 4(B)는 크로마 블록 (450)에 대한 예초서, 정방형 블록의 예를 개략적으로 설명하고 있다. 도 4(B)를 참조하면, 디블록킹 필터가 8x8 의 크로마 블록을 최소 단위로 해서 적용되는 경우에, 도시된 바와 같이 수직 에지 (460)와 수평 에지 (470)를 고려하여, 블록의 경계를 유도할 수 있다. 예컨대, 8x 블록에 대하여 디블록킹 필터를 적용하는 경우에, 블록 (485)의 경계를 유도할 수 있다. 따라서, 두 블록 (475, 485) 사이의 경계에 대해 디블록킹 필터의 적용 대상이 되는 필터링을 적용할 샘플 블록 (480)을 설정할 수 있다. 4B schematically illustrates an example of a grass block and a square block for the chroma block 450. Referring to FIG. 4B, when the deblocking filter is applied with a chroma block of 8x8 as the minimum unit, the boundary of the block is determined in consideration of the vertical edge 460 and the horizontal edge 470 as shown. Can be induced. For example, when the deblocking filter is applied to an 8x block, the boundary of the block 485 may be derived. Accordingly, the sample block 480 to which the filtering, which is the object of the deblocking filter, is applied, may be set at the boundary between the two blocks 475 and 485.
도 5 는 디블록킹 필터가 적용되는 샘플 블록을 개략적으로 도시한 것으로서, 도 4(A)의 샘폴 블록 (440)과 도 4(B)의 샘플 블록 (480)을 더 구체적으로 도시한 것이다. 도 4 의 예에서는 좌측 영역 (445, 475)에 속하는 샘플 (p)들과 우측 영역 (435, 485)의 샘플 (q)들이 중앙의 경계를 기준으로 각각 4x8 의
형태로 배열되어 있다. 이하, 설명의 편의를 위해, 디블록킹 필터가 적용되는 경계를 기준으로 좌측의 블록 (510)을 블록 P, 우측의 블록 (520)을 블록 Q 라고 하며, 블록 P에 속하는 샘플을 P, 블록 Q에 속하는 샘플을 q라 한다 상기 유도 혹은 결정된 변환 유닛 경계와 예측 유닛 경계를 기반으로 부호화기 /복호화기는 블록 간 경계 또는 블록의 에지에 대한 bS(Boundary Strength)를 결정한다. Bs 는 수평 에지 및 수직 에지에 대한 필터링 강도를 나타낸다. 본 명세서에서는 설명의 편의를 위해, 특별한 설명이 없는 한 블록의 '에지 (edge)' 는 블록 간의 '경계 (boundary)' 를 의미할 수도 있다. bS 를 결정한 후에, 부호화기 /복호화기는 필터링 할 것인지를 결정한다 (filtering decision). 필터링 적용 여부는 블록 단위로 결정될 수 있다. 예컨대, 도 5 를 참조하면, bS 가 0 보다 큰 경우에, 블록 P 내 소정의 샘플 라인과 블록 Q 내 소정의 샘플 라인이 경계 (515)를 사이에 두고 어느 정도의 선형성을 보이는지를 기준으로 필터링 적용 여부를 결정할 수 있다. 부호화기 /복호화기는 해당 샘플 블록 (500) 내의 에지 (515)에 적용할 필터를 선택한다ᅳ 필터는 강한 필터 (strong filter)와 약한 필터 (weak filter)로 나뉠 수 있다. 필터는 bS 값에 따라 선택될 수 있다. 또한, 필터는 루마에 대한 디블록킹 필터인지 크로마에 대한 디블록킹 필터인지에 따라서 선택될 수도 있다. 예컨대, 크로마에 대해서는 강한 필터와 약한 필터를 구분하여 적용하지 않고, 소정의 필터 하나만을 적용할 수도 있다.
부호화기 /복호화기는 상술한 바와 같이 정해진 필터를 샘플 블록 (500) 내 에지 (515)에 적용할 수 있다. FIG. 5 schematically illustrates a sample block to which the deblocking filter is applied, and more specifically illustrates the sample block 440 of FIG. 4A and the sample block 480 of FIG. 4B. In the example of FIG. 4, the samples (p) belonging to the left region 445 and 475 and the samples q of the right region 435 and 485 are each 4x8 relative to the center boundary. It is arranged in the form. Hereinafter, for convenience of description, the block 510 on the left is called block P and the block 520 on the right is called block Q based on the boundary to which the deblocking filter is applied. A sample belonging to is called q. Based on the derived or determined transform unit boundary and prediction unit boundary, an encoder / decoder determines a boundary strength (bS) for an inter-block boundary or an edge of a block. Bs represents the filtering strength for the horizontal edge and the vertical edge. In the present specification, for convenience of description, unless otherwise stated, an 'edge' of a block may mean 'boundary' between blocks. After determining the bS, the encoder / decoder decides whether to filter. Whether to apply filtering may be determined in units of blocks. For example, referring to FIG. 5, when bS is greater than 0, filtering based on the degree of linearity between a predetermined sample line in the block P and a predetermined sample line in the block Q is shown between the boundary 515. Application can be determined. The encoder / decoder selects a filter to apply to the edge 515 in the sample block 500. The filter can be divided into a strong filter and a weak filter. The filter may be selected according to the bS value. The filter may also be selected depending on whether it is a deblocking filter for luma or a deblocking filter for chroma. For example, for chroma, only one predetermined filter may be applied instead of the strong filter and the weak filter. The encoder / decoder may apply a filter as defined above to the edge 515 in the sample block 500.
상술한 프로세스를 루마 성분 (component)에 대해 정리하면, 디블록킹 필터는 변환 유닛 혹은 예측 유닛의 경계인 8x8 블록의 그리드에 적용된다. 또한, 디블톡킹 필터는 (1) 블록 P 와 블록 Q 가 모두 인터 모드이며, (2) 블록 P 와 블록 Q 에 0 이 아닌 변환 계수가 없고, (3) 블록 P 와 블록 Q 의 참조 픽처가 같고움직임 백터가 유사한 경우가 아니라면, 적용될 수 있다. 여기서, 움직임 백터가 유사하다는 것은 블록 P 와 블록 Q 의 움직임 백터들의 차이가 소정의 차이보다 작은 경우를 말한다. 예컨대, 8x8 루마 샘플을 4 등분한 정방형 쿼터 루마 샘플의 폭 (4 픽셀) 또는 높이 (4 픽셀)를 소정의 차이로 한다면, 블록 p 와 블록 Q 의 움직임 백터들의 차가 4 보다 작은 경우에, 두 블록의 움직임 백터는 유사하다고 할 수 있다. , Summarizing the above process for the luma component, the deblocking filter is applied to a grid of 8x8 blocks that are boundaries of the transform unit or the prediction unit. Also, the deblocking filter has (1) block P and Q in both inter modes, (2) block P and Q have no non-zero transform coefficients, and (3) block P and block Q have the same reference picture. If the motion vector is not similar, it can be applied. Here, the similarity of the motion vectors means that the difference between the motion vectors of the block P and the block Q is smaller than the predetermined difference. For example, assuming that the width (4 pixels) or height (4 pixels) of a square quarter luma sample divided into 4 equal parts by 8x8 luma samples is equal to a predetermined difference, if the difference between the motion vectors of block p and block Q is less than 4, two blocks The movement vector of is similar. ,
한편, 디블록킹 필터는 크로마 성분에 대해서도 적용될 수 있다. 상술한 디블록킹 필터링 프로세스를 크로마성분에 적용하는 경우에, 디블록킹 필터의 적용 단위를 루마,성분과 동일하게 설정할 수 있다. 이 경우, 크로마 성분에 대한 디블록킹 필터 역시 예측 유닛 흑은 변환 유닛의 경계인 8x8 블록의 그리드에 적용될 수 있다. Meanwhile, the deblocking filter may also be applied to chroma components. When the above-described deblocking filtering process is applied to the chroma component, the application unit of the deblocking filter may be set to be the same as the luma component. In this case, the deblocking filter for the chroma component may also be applied to a grid of 8x8 blocks that are boundaries of the prediction unit or transform unit.
크로마 성분의 경우에는 루마 성분과 달리 , 디블록킹 필터가 적용되는 경우를 더 한정하여 적용되기도 한다. 예컨대, 크로마 성분의 경우에는, 블록 P 와 블록 Q 의 예측 모드가 모두 인트라인 경우 (PredM0DE==M0DEᅳ INTRA)에만 필터링을 적용할 수 있다. 이 경우에, 디블록킹 필터를 적용하는 경우를 더
한정해서, 샘플 블톡의 에지가 예측 유닛의 에지이고, 블록 P 와 블록 Q 가 모두 플래너 모드인 경우에는 디블록킹 필터를 적용하지 않도록 할 수도 있다. 도 6 은 좌측의 오리지날 영상과 우측의 복원 영상을 비교하는 도면이다. 우측의 복원 영상은 아직 디블록킹 필터를 적용하지 않은 영상이다. In the case of the chroma component, unlike the luma component, the deblocking filter may be further limited. For example, in the case of a chroma component, filtering may be applied only when the prediction modes of the block P and the block Q are both intra (PredM0DE == M0DE ᅳ INTRA). In this case, the deblocking filter is further applied. In particular, when the edge of the sample block is the edge of the prediction unit, and the block P and the block Q are both in planner mode, the deblocking filter may not be applied. 6 is a diagram comparing the original image on the left side with the reconstructed image on the right side. The reconstructed image on the right is an image to which the deblocking filter has not yet been applied.
디블록킹이 적용되지 않은 복원 영상에서 원으로 표시한 부분에 블록킹 아티팩트가 두드러지는 것을 확인할 수 있다. 이때, 크로마 신호인지를 루마 신호와 크로마 신호만으로 구성된 복원 영상과 오리지날 영상을 비교하여, 블록킹 아티팩트에 영향을 주는 신호가루마 신호인지를 판단할 수 있다. In the reconstructed image to which deblocking is not applied, blocking artifacts are prominent in the circled portion. In this case, it may be determined whether the signal is a chroma signal by influencing the blocking artifact by comparing the reconstructed image including the luma signal and the chroma signal with the original image.
이때, 좌측의 오리지날 영상에 대하여, 루마 성분과 크로마 성분 중에 어떤 성분의 블록킹 아티팩트가 더 두드러지는지를 확인하기 위해, 루마 성분인 γ 성분만으로 복원 영상을 생성하고, 크로마 성분 U, V 각각만으로 복원 영상을 생성하여, 각 복원 영상의 블록킹 아티팩트를 비교할 수 있다. At this time, for the original image on the left side, in order to check which blocking artifact of the luma component and the chroma component is more prominent, a reconstructed image is generated using only the luma component γ component, and the reconstructed image using only the chroma components U and V, respectively. By generating a, it is possible to compare the blocking artifacts of each reconstructed image.
비교 결과, 오리지널 영상과 비교했을 때 루마 성분만의 복원 영상은 블록킹 아티팩트가 그다지 두드러지지 않은 반면, 오리지날 영상과 비교했을 때, 크로마 U성분만의 복원 영상은 블록킹 아티팩트가 눈에 띄기 시작했다 . 또한 , 오리지날 영상과 크로마 V 성분만의 복원 영상을 비교했을 때는, 크로마 V 성분만의 복원 영상에서 블록킹 아티팩트가두드러졌다. As a result, compared to the original image, only the luma component reconstructed image was not so prominent as the blocking artifact, while compared to the original image, the reconstructed image of the chroma U component only showed the blocking artifact. In addition, when the original image and the reconstruction image of only the chroma V component were compared, blocking artifacts were noticeable in the reconstruction image of only the chroma V component.
이와 같이, 오리지날 영상과의 비교 결과, 크로마 성분에 의한 블록킹 아티팩트 역시 영상 품질에 큰 영향을 미치는 것을 확인할 수 있었다.
도 7 은 좌측의 오리지날 영상과 우측의 루마 복원 영상을 비교하는 도면이다 . 루마 복원 영상은 루마 성분의 신호만으로 복원된 영상이며, 디블록킹 필터가 적용되지 않았다. Thus, as a result of the comparison with the original image, it was confirmed that the blocking artifacts due to the chroma component also greatly influence the image quality. 7 is a diagram comparing the original image on the left side with the luma reconstruction image on the right side. The luma reconstructed image is an image reconstructed using only a luma signal and no deblocking filter is applied.
도 6 과 동일한 부위를 비교할 때, 도 7 의 루마 복원 영상은 블록킹 아티 팩트가 두드러지지 않는 것을 확인할 수 있다 . When comparing the same region as that of FIG. 6, the luma reconstructed image of FIG. 7 may confirm that blocking artifacts are not prominent.
도 8 은 좌측의 오리지날 영상과 우측의 크로마 (U) 복원 영상을 비교하는 도면이다 . 8 is a diagram comparing an original image on the left side with a chroma (U) reconstructed image on the right side.
크로마 (U) 복원 영상은 U 성분의 신호만으로 복원된 영상이며, 디블록킹 필터가 적용되지 않았다 . The chroma (U) reconstructed picture is a picture reconstructed only with a U component signal, and the deblocking filter is not applied.
도 6 과 동일한 부위를 비교할 때, 도 8 의 크로마 (U) 복원 영상에서는 블록킹 아티 팩트가 눈에 뛰 기 시작하는 것을 확인할 수 있다 . When comparing the same region as in FIG. 6, it can be seen that the blocking artifact starts to be noticeable in the chroma (U) reconstructed image of FIG. 8.
도 9 는 좌측의 오리지날 영상과 우측의 크로마 (V) 복원 영상을 비교하는 도면이다 . 크로마 (V) 복원 영상은 V 성분의 신호만으로 복원된 영상이며, 디블록킹 필터가 적용되지 않았다. 9 is a diagram comparing the original image on the left side with the chroma (V) reconstructed image on the right side. The chroma (V) reconstructed image is an image reconstructed using only the signal of the V component, and the deblocking filter is not applied.
도 6 과 동일한 부위를 비교할 때, 도 9 의 크로마 (V) 복원 영상에서는 블록킹 아티 팩트가 두드러지는 것을 확인할 수 있다. When comparing the same region as in FIG. 6, it can be seen that the blocking artifact is prominent in the chroma (V) reconstructed image of FIG. 9.
따라서 , 크로마 성분에 대한 디블록킹 필터를 생략하거나, 루마 성분에 대한 디블록킹 필터에 따른 부차적 인 프로세스로서 크로마 성분에 대한 디블록킹 필터를 단순하게 적용하지 않고 크로마 성분의 특성과 크로마 성분에 기 인한 불록킹 아티 팩트의 영향을 고려하여, 크로마 성분에 대한 디블록킹 필터를 적용할 필요가 있다 .
구체적으로, 크로마 성분에 대해서는 디블록킹 필터를 적용하는 샘플 블록의 단위를 단순히 루마 성분과 동일하게 설정하지 말고, 크로마 성분의 샘플링 모드를 고려하여 조정할 필요가 있다. 또한, 상술한 바와 같이, 크로마성분에 대해서 경계 양측의 블록이 모두 인트라 모드인 경우에만 적용하거나, 더 나아가 플래너 모드인 경우에는 적용을 배제하는 등 크로마 성분에 대한 디블록킹 필터의 적용을 제한하는 조건을 완화할 필요가 있다. Therefore, the omission of the deblocking filter for the chroma component, or as a secondary process according to the deblocking filter for the luma component, does not simply apply the deblocking filter for the chroma component, and the fire due to the characteristics of the chroma component and the chroma component. Considering the effects of locking artifacts, it is necessary to apply a deblocking filter for the chroma components. Specifically, the chroma component needs to be adjusted in consideration of the sampling mode of the chroma component instead of simply setting the unit of the sample block to which the deblocking filter is applied as the luma component. In addition, as described above, the conditions for restricting the application of the deblocking filter to the chroma component are applied only when the blocks on both sides of the boundary are both in the intra mode or the application is excluded in the planner mode. Need to be alleviated.
따라서, 크로마 성분에 대하여, 아래와 같은 두 방법을 각각 혹은 함께 적용하는 것올 고려할수 있다. Therefore, for chroma components, it may be considered to apply the following two methods individually or together.
(1) 크로마성분에 대하여 디블록킹 필터를 적용하는 단위의 조정 (1) Adjustment of the unit to which the deblocking filter is applied to the chroma component
도 3 에 관해서 설명한 바와 같이, 영상 처리 기술에서 사용되는 샘플링 포맷은 4:4:4 포맷, 4:2:2 포맷 또는 4:2:0 포맷이다. 이 샘플링 포맷에 따라서, 루마 성분 블록와 크로마 성분 블록 간의 사이즈 비율이 결정될 수 있다. As described with respect to Fig. 3, the sampling format used in the image processing technique is 4: 4: 4 format, 4: 2: 2 format or 4: 2: 0 format. According to this sampling format, the size ratio between the luma component block and the chroma component block can be determined.
따라서, 어떤 샘플링 포맷에 의해 샘플링되었는지를 고려하여, 디블록킹 필터를 적용하는크로마블록의 단위를 설정하도록 할 수 있다. Therefore, in consideration of which sampling format is sampled, it is possible to set a unit of a chroma block to which the deblocking filter is applied.
도 10은 본 발명이 적용되는 시스템에서 크로마성분에 대해 디블록킹 필터를 적용하는 샘플 블록을 개략적으로 설명하는 도면이다. 도 10(A)에서는 블록 에지 (1005)를 사이에 두고 블록 P(1010)와 블특 Q 1015)가 8x8 샘플 블록 (1000)을 구성한다. 도 10(B)에서는 블록 에지 (1025)를 사이에 두고, 블록 P(1030)와 블록 Q(1035)가 4x8 샘플 블록 (1025)를 구성한다. 도 10(C)에서는 블록 에지 (1045)를 사이에 두고, 블록 P L050)와 블록 Q 1055)가 8x4 샘플
블록 (1040)을 구성한다. 도 10(D)에서는 블록 에지 (1065)를 사이에 두고 블록 POL070)와블록 CK1075)가 샘플 블록 (1060)을 구성한다. FIG. 10 is a diagram schematically illustrating a sample block applying a deblocking filter to chroma components in a system to which the present invention is applied. In FIG. 10A, a block P 1010 and a block Q 1015 form an 8 × 8 sample block 1000 with a block edge 1005 interposed therebetween. In FIG. 10B, a block P 1030 and a block Q 1035 form a 4 × 8 sample block 1025 with a block edge 1025 interposed therebetween. In FIG. 10 (C), the block edge 1045 is interposed, and blocks P L050 and Q 1055) are 8x4 samples. Configure block 1040. In FIG. 10D, a block POL070 and a block CK1075 constitute a sample block 1060 with a block edge 1065 interposed therebetween.
샘플링 포맷이 4:4:4 포맷인 경우에는, 8x8 블록 단위로 예측 유닛 및 /또는 변환 유닛이 설정될 가능성이 높다. 따라서, 샘플링 포맷이 4:4:4 포맷인 경우에는, 도 10(A)와 같이, 8x8 사이즈의 샘플 블록 (1000) 단위로 크로마 성분에 대해서 디블록킹 필터를 적용하도록 할수 있다. When the sampling format is 4: 4: 4 format, it is highly likely that the prediction unit and / or the transform unit are set in 8x8 block units. Therefore, when the sampling format is 4: 4: 4 format, as shown in FIG. 10A, the deblocking filter may be applied to the chroma component in units of 8 × 8 sample blocks 1000.
또한, 샘플링 포맷이 4:2:2 포맷인 경우에는, 4x8 혹은 8x4 블록 단위로 예측 유닛 및 /또는 변환 유닛이 설정될 가능성이 높다. 따라세 샘플링 포맷이 4:2:2 포맷인 경우에는, 도 10(B) 또는 도 10(C)와 같이, 4x8 사이즈의 샘플 블록 (1020) 흑은 8x4 사이즈의 샘플 블록 (1040) 단위로 크로마 성분에 대해서 디블록킹 필터를 적용하도록 할 수 있다. In addition, when the sampling format is 4: 2: 2 format, it is highly likely that a prediction unit and / or a transform unit are set in 4x8 or 8x4 block units. Therefore, when the sampling format is 4: 2: 2 format, as shown in FIG. 10 (B) or FIG. 10 (C), the 4x8 size sample block 1020 or the black is chroma in 8x4 size sample block 1040 units. The deblocking filter can be applied to the component.
샘플링 포맷이 4:2:0 포맷인 경우에는, 4x4 블록 단위로 예측 유닛 및 /또는 변환 유닛이 설정될 가능성이 높다. 따라서, 샘플링 포맷이 4:2:0 포맷인 경우에는, 도 10(D)와 같이, 4x4 사이즈의 샘플 블록 (1060) 단위로 크로마 성분에 대해서 디블록킹 필터를 적용하도록 할 수 있다. If the sampling format is 4: 2: 0 format, it is highly likely that the prediction unit and / or transform unit are set in 4x4 block units. Therefore, when the sampling format is the 4: 2: 0 format, as shown in FIG. 10D, the deblocking filter may be applied to the chroma component in units of a 4 × 4 sample block 1060.
(2) 크로마성분에 대한 디블록킹 필터의 적용 요건 완화 (2) Mitigating the Application Requirements of Deblocking Filters for Chroma Components
블록 에지 양측의 블록 예컨대, 블록 p 와 블록 Q 가 모두 인트라 모드인 경우뿐만 아니라, 그 외의 경우에도 크로마 성분에 대해서 디블록킹 필터를 적용하도록 할 수 있다. It is possible to apply the deblocking filter to the chroma component not only when the blocks on both sides of the block edge, for example, the blocks p and the block Q are intra modes, but also in other cases.
이 경우에, 블록 P 와 블록 Q 의 모드에 따라서 블록 에지의 bS 가 설정되도록 할 수도 있고, 블록 에지의 bS 는 동일하지만 더 많은 경우에 디블록킹 필터가
적용되도록 할 수도 있다. 또한, bS 값을 다양하게 설정하면서, 더 많은 경우에 디블록킹 필터가 적용되도록 할 수도 있다. In this case, the bS of the block edge may be set according to the mode of the block P and the block Q, and the bS of the block edge is the same but in more cases, the deblocking filter is It can also be applied. In addition, while setting the bS value in various ways, the deblocking filter may be applied in more cases.
이때, 동일한 블록 에지에 대하여 셜정된 bS 를 루마 성분과 크로마 성분에 함께 적용할 수 있다 . 또한, 해당 블록 에지에 대하여 루마 성분의 bS 와 크로마 성분의 bS를 별도로 설정할 수도 있다 . 이하, 본 발명이 적용되는 시스템에서 크로마 성분에 대해 디블록킹 필터를 적용하는 방법으로 도면을 참조하여 설명한다 . In this case, the bS determined for the same block edge may be applied to the luma component and the chroma component together. In addition, bS of a luma component and bS of a chroma component can also be set separately with respect to the said block edge. Hereinafter, a method of applying a deblocking filter to chroma components in a system to which the present invention is applied will be described with reference to the accompanying drawings.
도 11 은 본 발명 이 적용되는 시스템에서 크로마 성분에 대해 디블록킹 필터를 적용하는 방법을 개략적으로 설명하는 순서도이다 . 11 is a flowchart schematically illustrating a method of applying a deblocking filter to chroma components in a system to which the present invention is applied.
도 11 을 참조하면, 부호화기 /복호화기는 블록 에지에 대한 bS(boundary Strength)를 결정한다 (1110) . . Referring to FIG. 11, the encoder / decoder determines a boundary strength (bS) for a block edge (1110). .
후보화기 /복호화기는 필터 방향, 즉 블톡 에지의 방향을 고려하여, 샘플 블록별로 블록 에지의 bS 를 결정한다. 예컨대, bS 는 블록 에지의 방향, 블록의 위치를 파라미터로 해서 결정될 수 있다. 이때, 블록 에지, 예컨대, 도 10 에서 블록 P 와 블록 Q 사이의 경 계 (1005, 1025, 1045, 1065)는 수직 에지 일 수도 있고, 수평 에지 일 수도 있다. The candidate / decoder determines the bS of the block edge for each sample block in consideration of the filter direction, that is, the direction of the blocking edge. For example, bS may be determined using the direction of the block edge and the position of the block as parameters. At this time, the block edge, for example, the boundaries 1005, 1025, 1045, and 1065 between blocks P and Q in FIG. 10 may be vertical edges or horizontal edges.
bS 의 값을 결정하는 일 예로서, 블록 P 와 블록 Q 사이의 경 계 (블록 에지 )가 부호화 유¾ 에지 이고, 상술한 도 10 을 참조할 때 , 블록 P 또는 블록 Q 가 인트라 예측 모드로 부호화되었다면, 블록 에지의 bS 값을 4 로 설정할 수 있다.
블록 에지가 부호화 유닛의 에지는 아니지만, 블록 P 또는 블록 Q 가 인트라 모드로부호화되었으면, 블록 에지의 Bs를 3으로설정할 수 있다. As an example of determining the value of bS, the boundary (block edge) between block P and block Q is an encoding U edge, and when referring to FIG. 10 described above, block P or block Q is encoded in intra prediction mode. If so, the bS value of the block edge can be set to 4. If the block edge is not the edge of the coding unit, but the block P or the block Q is encoded in the intra mode, Bs of the block edge can be set to three.
블록 에지가 변환 유닛의 에지이고, 블톡 P 또는 블록 Q 가 0 이 아닌 변환 계수를 포함하는 경우에는, bS를 2로 설정할수 있다. If the block edge is the edge of the transform unit and the block P or the block Q contains a non-zero transform coefficient, bS can be set to 2.
상술한모드 경우에 해당하지 않는다면, bS를 0으로설정할수 있다. If the mode does not correspond to the above-described case, bS may be set to zero.
한편, 상술한 바와 같이, 루마 성분에 대한 bS 와 크로마 성분에 관한 bS 를 별도로 설정하고, 루마 성분에 대한 bS 를 기반으로 루마 성분에 대한 디블록킹 필터링을 수행하고, 크로마 성분에 대한 bS 를 기반으로 크로마 성분에 대한 디블록킹 필터링을 수행하도록 할 수도 있다. Meanwhile, as described above, bS for the luma component and bS for the chroma component are separately set, deblocking filtering is performed for the luma component based on the bS for the luma component, and based on the bS for the chroma component. It is also possible to perform deblocking filtering on the chroma component.
예컨대, 루마 성분에 대해서, 도 5 를 참조할 때, 블록 에지 (515)를 경계로 한 블록 P(510)와 블록 Q(520) 중 적어도 한 블록이 인트라 모드로 부호화된 경우에, 블록 에지 (515)가 부호화 유닛의 에지이면 bS를 4 로 설정하고 블록 에지 (515)가부호화 유닛의 에지가 아니면 bS를 3으로 설정할 수 있다. For example, with respect to the luma component, referring to FIG. 5, in the case where at least one of blocks P 510 and Q 520 bounded by the block edge 515 is encoded in the intra mode, the block edge ( If 515 is the edge of the coding unit, bS may be set to 4, and if the block edge 515 is not the edge of the coding unit, bS may be set to 3.
또한, 블록 에지 (515)가 변환 유닛의 에지이고, 블록 P(510) 또는 블록Also, block edge 515 is the edge of the transform unit, and block P 510 or block
Q(520)가 0이 아닌 변환 계수를포함하는 경우에는 bS를 2로 설정할 수 있다. 샘플 P 를 포함하는 예측 유닛이 샘플 q 를 포함하는 예측 유닛 간에 참조 픽처가 다르거나 움직임 백터의 개수가 다른 경우, 두 예측 유닛의 움직임 백터에 있어서 수직 성분 혹은 수평 성분이 소정의 차이값 예컨대 4 픽셀보다 더 큰 차이를 갖는 경우 등에는 bS를 1로 설정할 수 있다. If Q 520 includes a non-zero transform coefficient, bS may be set to two. When the prediction unit including the sample P has a different reference picture or the number of motion vectors is different between the prediction units including the sample q, the vertical component or the horizontal component has a predetermined difference value, eg, 4 pixels, in the motion vector of the two prediction units. BS may be set to 1 when there is a greater difference.
그리고, 상술한 경우들에 해당하지 않으면, 루마 성분의 블록 에지에 대한 bS를 0으로설정할수 있다.
또한, 이 경우에 크로마 성분에 대해서는, 상술한 도 10 을 참조할 때, 블록 P 와 블록 Q 사이의 경계 (블록 에지)가 부호화 유닛 에지이고, 블록 P 또는 블록 Q 가 인트라 예측 모드로 부호화되었다면, 크로마 (Cb, Cr) 성분에 대한 블록 에지의 bS값을 4로 설정할 수 있다. If the above cases do not correspond, bS for the block edge of the luma component may be set to zero. In addition, in this case, for the chroma component, if the boundary (block edge) between the block P and the block Q is the encoding unit edge and the block P or the block Q is encoded in the intra prediction mode, referring to FIG. The bS value of the block edge for the chroma (Cb, Cr) component can be set to 4.
또한, 블록 에지가 부호화 유닛의 에지는 아니지만, 블록 P 또는 블록 Q 가 인트라 모드로 부호화되었으면, 크로마 (Cb, Cr) 성분에 대한 블록 에지의 Bs를 3으로 설정할 수 있다. In addition, if the block edge is not an edge of the coding unit, but the block P or the block Q is encoded in the intra mode, Bs of the block edge for the chroma (Cb, Cr) component can be set to three.
블록 에지가 변환 유닛의 에지이고, 블록 P 또는 블록 Q 가 크로마 성분 (Cb 또는 Cr)에 대한 0 이 아닌 변환 계수를 포함하는 경우에는, 크로마 (Cb, Cr)에 대한 bS를 2로 설정할 수 있다. 예컨대, Cb블록에 대해서 , 블록 에지가 변환 유닛의 에지이고, 블록 P 또는 블록 Q 가 Cb 에 대한 0 이 아닌 변환 계수를 포함하면, Cb 블록에 대한 블록 에지의 bS 를 2 로 설정할 수 있다. 또한, Cr 블록에 대해서, 블록 에지가 변환 유닛의 에지이고, 블록 P 또는 블록 Q 가 Cr 에 대한 0 이 아닌 변환 계수를 포함하면, Cr 에 대한 블록 에지의 bS 를 2로 설정할 수 있다. If the block edge is the edge of the transform unit and block P or block Q contains non-zero transform coefficients for chroma components (Cb or Cr), then bS for chroma (Cb, Cr) can be set to two. . For example, for a Cb block, if the block edge is the edge of the transform unit and block P or block Q contains a non-zero transform coefficient for Cb, then bS of the block edge for the Cb block can be set to two. In addition, for the Cr block, if the block edge is the edge of the transform unit, and the block P or the block Q includes a non-zero transform coefficient for Cr, bS of the block edge for Cr can be set to two.
상술한 모드 경우에 해당하지 않는다면, 크로마 성분에 대한 bS 를 0 으로 설정할수 있다. If it is not the case of the above-described mode, bS for the chroma component may be set to zero.
루마 성분에 대한 bS 와 크로마 성분에 대한 bS를 별도로 설정하는 경우에는, 도 10의 각 경우에 따라서 블록 에지에 대한 bS값을 설정할 수 있다. 예컨대, 샘플링 포떳을 고려하여, 샘플링 포맷이 4:4:4 포떳인 경우에는 도 10(A)와 같이 8x8 사이즈의 크로마 샘플 블록 (1000) 단위로 블록 에지 (1005)에 대한
bS 를 설정할 수 있다. 샘플링 포맷이 4:2:2 포맷인 경우에는 , 도 10(B)와 같이 4x8 사이즈의 크로마 샘플 블록 (1020) 단위로 블록 에지 (1025)에 대한 bS 를 설정하거나 , 도 10(C)와 같이 8x4 사이즈의 크로마 샘플 블록 (1040) 단위로 블록 에지 (1045)에 대한 bS 를 설정할 수 있다 . 또한, 샘플링 포맷이 4:2:0 포맷인 경우에는 도 10(D)와 같이 4x4 사이즈의 크로마 샘플 블록 (1060) 단위로 블록 에지 (1065)에 대한 bS를 설정할 수 있다 . When bS for the luma component and bS for the chroma component are separately set, the bS value for the block edge can be set according to each case of FIG. 10. For example, in consideration of the sampling format, when the sampling format is 4: 4: 4 format, as shown in FIG. 10 (A), the block edge 1005 is determined in units of 8x8 chroma sample blocks 1000. bS can be set. When the sampling format is 4: 2: 2 format, bS for the block edge 1025 is set in units of 4x8 size chroma sample blocks 1020 as shown in FIG. 10 (B), or as shown in FIG. 10 (C). You can set the bS for the block edge 1045 in units of 8x4 chroma sample blocks 1040. In addition, when the sampling format is the 4: 2: 0 format, bS for the block edge 1065 may be set in units of 4x4 chroma sample blocks 1060 as shown in FIG. 10 (D).
부호화기 /복호화기는 크로마 성분에 대한 필터링을 결정한다 (S1120) . The encoder / decoder determines filtering for the chroma component (S1120).
부호화기 /복호화기는 크로마 성분에 대한 디블록킹 필터 링을 결정함에 있어서 , Cr 성분과 Cb 성분을 구별하여 필터 링을 결정할 수 있다 . 예컨대, 컬러에 관한 인덱스 (cldx)를 통해, 컬러 인텍스의 값이 1 은 Cb 에 관한 크로마 샘플을 지시하고 , 컬러 인텍스 값 2 는 Cr 에 대한 크로마 샘플을 지시하도록 할 수 있다. In determining the deblocking filtering for the chroma component, the encoder / decoder may determine the filtering by distinguishing the Cr component from the Cb component. For example, an index of color cldx may allow a color index value of 1 to indicate a chroma sample for Cb and a color index value 2 to indicate a chroma sample for Cr.
상술한 바와 같이, 크로마 성분에 대한 디블록킹 필터의 적용 요건을 완화해서, 블록 에지를 사이에 둔 블록 P 와 블록 Q 가 모두 인터 모드로 부호화된 경우에도, 크로마 성분에 대한 디블록킹 필터를 적용하도록 할 수 있다. 예컨대, 부호화기 /복호화기가 bS 가 1 보다 큰 경우에, 크로마 성분에 대해서 디블록킹 필터를 적용하도록 할 수 있다 . As described above, the requirements for applying the deblocking filter to the chroma component are alleviated so that the deblocking filter for the chroma component may be applied even when both the block P and the block Q having the block edge are encoded in the inter mode. can do. For example, if the encoder / decoder has bS greater than 1, the deblocking filter can be applied to the chroma component.
예컨대 , 블록 p 또는 블록 Q 가 인트라 예측 모드로 부호화된 경우에, 블록 에지가 부호화 유닛의 경 계이면 블록 에지의 bS 를 4 로 설정하고, 블록 에지가 부호화 유닛의 경 계가 아니면 블록 에지의 bS 를 3 으로 설정할 수 있다 . 블록 에지가 변환 유닛의 에지 이고 , 블록 P 또는 블록 Q 가 0 이 아닌 변환 계수를
포함하는 경우에는, bS 를 2 로 설정할 수 있다. 상술한 모드 경우에 해당하지 않는다면, bS를 0으로 설정할 수 있다. For example, when block p or block Q is encoded in the intra prediction mode, if the block edge is the boundary of the coding unit, bS of the block edge is set to 4, and if the block edge is not the boundary of the coding unit, bS of the block edge is set. Can be set to 3. Block edge is the edge of the transform unit, and block P or block Q If included, bS can be set to 2. If the mode does not correspond to the above-described case, bS may be set to 0.
이 경우에 , 블록 에지를 사이에 둔 블록 P와 블록 Q가 모두 인터 예측 모드로 부호화되는 경우에도, 블록 P 또는 블록 Q 가 0 이 아닌 변환 계수를 가지면 1 보다 큰 bS 값이 설정될 수 있다. 따라서, bS 값이 1 보다 큰 경우에 디블록킹 필터를 적용하도록 설정하면, 블록 P 와 블록 Q 가 모두 인트라 모드가 아닌 경우에도 크로마 성분에 대해 디블록킹 필터를 적용할 수 있다. 블록 p와 블록 Q 내 복수 열의 샘플들을 이용하여 디블록킹 필터의 적용을 결정할 수 있다. 수학식 1은, 디블록킹 필터링을 결정하기 위한 식으로서, 블록 P 및 블록 Q 내 2 번째 및 3번째 열의 블록 에지에 인접한 샘플들을 이용하는 예이다. In this case, even when both the block P and the block Q having the block edge are encoded in the inter prediction mode, a bS value larger than 1 may be set if the block P or the block Q has a non-zero transform coefficient. Therefore, when the deblocking filter is set to be applied when the bS value is greater than 1, the deblocking filter may be applied to the chroma component even when both the block P and the block Q are not in the intra mode. A plurality of rows of samples in block p and block Q may be used to determine the application of the deblocking filter. Equation 1 is an example for determining the deblocking filtering, and is an example of using samples adjacent to the block edges of the second and third columns in the block P and the block Q.
크로마에 대한 블록 에지의 bS 값이 1 보다 크고, 수학식 1 의 값이 소정의 기준값 Tthreshold 보다 작다면, 크로마에 대한 블록 에지에 디블록킹 필터를 적용하도록 할 수 있다. 또한, 이런 디블록킹 필터링의 결정은 수평 에지와 수직 에지에 대하여 각각 판단할 수 있다. 따라서 , 수평 에지에 대하여, Cb블록의 블록 에지에 대한 bS 값이 1보다 크고, d 값이 Tthreshold 보다 작으면, 상기 Cb 블록의 블록 에지에 디블록킹 필터를 적용하도록 할 수 있다. 수직 에지에 대해서도, Cb 블톡의 블록 에지에 대한
bS 값이 1 보다 크고, d 값이 Tthreshold 보다 작으면, 상기 Cb 블록의 블록 에지에 디블록킹 필터를 적용하도록 할수 있다. If the bS value of the block edge for the chroma is greater than 1 and the value of Equation 1 is smaller than the predetermined reference value T threshold , the deblocking filter may be applied to the block edge for the chroma. In addition, the determination of this deblocking filtering can be determined for the horizontal edge and the vertical edge, respectively. Therefore, when the bS value for the block edge of the Cb block is greater than 1 and the d value is less than the T threshold for the horizontal edge, the deblocking filter may be applied to the block edge of the Cb block. Also for the vertical edge, for the block edge of Cb blot If the bS value is larger than 1 and the d value is smaller than the T threshold , the deblocking filter may be applied to the block edge of the Cb block.
또한, Cr의 경우에도 마찬가지로, 수평 에지에 대해서, Cr블록의 블록 에지에 대한 bS 값이 1 보다크고, d 값이 Tthreshold보다 작으면 , 상기 Cr 블록의 블록 에지에 디블록킹 필터를 적용하도록 할 수 있다. 수직 에지에 대해서도, Cr블록의 블록 에지에 대한 bS 값이 1보다크고, d 값이 Tthreshold 보다 작으면, 상기 Cr블록의 블록 에지에 디블록킹 필터를 적용하도록 할 수 있다. Also in the case of Cr, if the bS value for the block edge of the Cr block is greater than 1 and the d value is less than the T threshold for the horizontal edge, the deblocking filter is to be applied to the block edge of the Cr block. Can be. Also for the vertical edge, if the bS value for the block edge of the Cr block is greater than 1 and the d value is less than the T threshold , the deblocking filter may be applied to the block edge of the Cr block.
디블록킹 필터를 적용하는 것으로 결정하면, 부호화기 /복호화기는 대상 블록 에지에 대하여 디블록킹 필터를 적용한다 (S1130). If it is determined that the deblocking filter is to be applied, the encoder / decoder applies the deblocking filter to the target block edge (S1130).
디블록킹 필터링 결정에 따라서, 부호화 유닛 내 크로마 성분의 블록 에지에 대해서 디블록킹 필터가 적용된다. 디블록킹 필터가 적용되는 부호화 유닛의 크기는 소정의 사이즈로 설정될 수 있다. 예컨대, 8x8 사이즈를 단위로 디블록킹 필터를 적용하도록 할수 있다. In accordance with the deblocking filtering decision, a deblocking filter is applied to the block edge of the chroma component in the coding unit. The size of the coding unit to which the deblocking filter is applied may be set to a predetermined size. For example, the deblocking filter may be applied in units of 8 × 8 size.
이때, 상술한 바와 같이, 샘플링 포맷이 4:4:4 포맷인 경우에는 8x8 사이즈의 샘플 블록을 단위로 크로마에 대한 디블록킹 필터를 적용하도록 할 수 있고, 샘플링 포맷이 4:4:4 포맷인 경우에는, 8x4 혹은 4x8 사이즈의 샘플 블록을 단위로 크로마에 대한 디블록킹 필터를 적용하도록 할 수 있다. 또한, 샘플링 포맷이 4:2:0 포맷인 경우에는, 4x4 사이즈의 샘플 블록을 단위로 크로마에 대한 디블록킹 필터를 적용하도록 할 수도 있다. In this case, as described above, when the sampling format is 4: 4: 4 format, the deblocking filter for chroma may be applied in units of 8x8 size sample blocks, and the sampling format is 4: 4: 4 format. In this case, the deblocking filter for chroma may be applied in units of 8x4 or 4x8 sample blocks. In addition, when the sampling format is 4: 2: 0 format, a deblocking filter for chroma may be applied in units of 4 × 4 sample blocks.
예컨대, 4x4 사이즈의 블록을 단위로 디블록킹 필터를 적용하는 경우에는, 수평 블록 에지에 대해서, 부호화 유닛 내 크로마 블록의 위치를 기준으로 X
방향의 매 4 픽샐 단위로 bS 와 디블록킹 필터 적용 여부를 체크해서, 디블록킹 필터를 적용하도록 할 수 있다. 예컨대, 부호화 유닛의 크로마 위치, 4x4 크로마 샘플 블록의 위치, 수평 블록 에지의 존부에 관한 정보 (예컨대, 수직 블록 에지가 있는지를 나타내는 플래그), Cr 인지 Cb 인지를 나타내는 cldx 의 값, 수직 블록 에지에 대한 bS 값 등을 기반으로, 매 4x4 블록 (부호화 유닛 내 매 4 픽셀의 위치)에 대하여 수평 블록 에지에 대한 디블록킹 필터의 적용 여부에 따라서, 디블록킹 필터링을 수행할 수 있다. For example, when the deblocking filter is applied to a block of 4x4 size, X is determined based on the position of the chroma block in the coding unit with respect to the horizontal block edge. The deblocking filter may be applied by checking whether the bS and the deblocking filter are applied every 4 pixels in the direction. For example, the chroma position of a coding unit, the position of a 4x4 chroma sample block, information about the existence of a horizontal block edge (for example, a flag indicating whether there is a vertical block edge), a value of cldx indicating whether Cr or Cb, a vertical block edge The deblocking filtering may be performed based on whether or not the deblocking filter is applied to the horizontal block edge for every 4 × 4 block (the position of every 4 pixels in the coding unit) based on the bS value.
또한, 수직 블록 에지에 대해서도, y 방향의 매 4 픽셀 단위로도 bS 와 디블록킹 필터 적용 여부를 체크해서, 디블록킹 필터를 적용하도록 할 수 있다. 예컨대, 수평 블록 에지의 경우와 동일하게, 수직 블록 에지의 경우에도 부호화 유닛의 크로마 위치, 4x4 크로마 샘플 블톡의 위치, 수평 블록 에지의 존부에 관한 정보 (예컨대, 수평 블록 에지가 있는지를 나타내는 플래그), Cr 인지 Cb 인지를 나타내는 cldx 의 값, 수평 블록 에지에 대한 bS 값 등을 기반으로, 매 4x4 블록 (부호화 유닛 내 매 4픽샐의 위치)에 대하여 수평 블톡 에지에 대한 디블록킹 필터의 적용 여부에 따라서, 디블록킹 필터링을 수행할 수 있다. The deblocking filter may be applied to the vertical block edge by checking whether bS and the deblocking filter are applied in every 4 pixels in the y direction. For example, as in the case of the horizontal block edge, also in the case of the vertical block edge, information about the chroma position of the coding unit, the position of the 4x4 chroma sample block, and the existence of the horizontal block edge (for example, a flag indicating whether there is a horizontal block edge). Based on the value of cldx indicating Cr or Cb, the bS value for the horizontal block edge, etc., whether or not the deblocking filter is applied to the horizontal blocking edge for every 4x4 block (the position of every 4 pixels in the coding unit). Thus, deblocking filtering can be performed.
4x8 또는 8x4 사이즈의 블록을 단위로 디블록킹 필터를 적용하는 경우에도 상술한 4x4 사이즈의 블록에 대한 방법과 유사한 방법으로 디블록킹 필터링을 수행할 수 있다. When the deblocking filter is applied to a block of 4x8 or 8x4 size, the deblocking filtering may be performed in a similar manner to the above-described method for the 4x4 block.
예컨대, 4x8 블록의 경우에는, 상술한 4x4 블록과 동알한 방식으로 디블록킹 필터링을 적용하되, 디블록킹 필터링을 적용하기 위한 파라미터들은 4x8 블록
단위로 결정된다. 따라서, 부로화 유닛 내 4x8 블록마다 필터링 적용 여부와 bS 등에 기반해서 디블톡킹 필터링을 수행할 수 있다. 즉, 수직 블록 에지에 대해서는 매 8 픽셀 단위로, 수평 블록 에지에 대해서는 매 4 픽셀 단위로 필터링의 적용 여부와 bS등에 따라서 디블록킹 필터가 적용될 수 있다. For example, in the case of a 4x8 block, the deblocking filtering is applied in the same manner as the aforementioned 4x4 block, but the parameters for applying the deblocking filtering are 4x8 blocks. Determined in units. Therefore, deblocking filtering may be performed based on whether filtering is applied and bS for each 4x8 block in the blowing unit. That is, the deblocking filter may be applied according to whether or not filtering is applied every 8 pixels for the vertical block edge and every 4 pixels for the horizontal block edge.
또한, 8x4 블록의 경우라면, 디블록킹 필터링에 대한 파라미터들이 8x4 블록 단위로 결정되므로, 부호화 유닛 내 8x4블록마다 필터링 적용 여부와 bS 등에 기반해서 디블록킹 필터링을 수행할 수 있다. 즉, 수직 블록 에지에 대해서는 매 4 픽셀 단위로, 수형 블록 에지에 대해서는 매 8 픽셀 단위로 필터링의 적용 여부와 bS등에 따라서 디블록킹 필터가 적용될 수 있다. In addition, in the case of an 8x4 block, since the parameters for deblocking filtering are determined in units of 8x4 blocks, deblocking filtering may be performed based on whether filtering is applied and bS for each 8x4 block in the coding unit. That is, the deblocking filter may be applied according to whether or not filtering is applied every 4 pixels for the vertical block edge and every 8 pixels for the male block edge.
8x8 사이즈의 블특을 단위로 디블톡킹 필터를 적용하는 경우에는 상술한 경우들과 동일한 방식으로 디블록킹 필터링을 적용하되, 디블록킹 필터링을 적용하기 위한 파라미터들은 8x8 블록 단위로 결정된다. 따라서, 부로화 유닛 내 8x8 블톡마다 필터링 적용 여부와 bS 등에 기반해서 디블록킹 필터링을 수행할 수 있다. 즉, 수직 블록 에지와 수평 블록 에지에 대해서 매 8 픽셀 단위로 필터링의 적용 여부와 bS 등에 따라서 디블록킹 필터가 적용될 수 있다. 이때, 디블록킹 필터는 소정 개수의 샘플을 이용하여, 소정의 샘플을 수정 (modify)하도록 설정할 수 있다. 예컨대, 도 10 의 샘플 블톡을 참조하면, 블록 P 1010, 1030, 1050, 1070)와 블록 Q(1015, 1035, 1055, 1075)에서 블록 에지 (1005, 1025, 1045, 1065)에 가까운 두 샘플들을 이용해세 블록 에지 (1005, 1025, 1045, 1065)에 가장 가까운 샘풀을 수정할 수 있다.
구체적으로, 샘플 블록 (1000, 1020, 1040, 1060)에서 각 라인의 pi, O, ql, q0을 이용하여 해당 라인의 pO, pi픽셀 값을 수정할 수 있다. When the deblocking filter is applied in units of 8 × 8 block-specific blocks, the deblocking filtering is applied in the same manner as described above, but the parameters for applying the deblocking filtering are determined in units of 8 × 8 blocks. Accordingly, deblocking filtering may be performed based on whether filtering is applied and bS for each 8x8 blocks in the bursting unit. That is, the deblocking filter may be applied to the vertical block edge and the horizontal block edge according to whether filtering is applied every 8 pixels, bS, and the like. In this case, the deblocking filter may be set to modify a predetermined sample by using a predetermined number of samples. For example, referring to the sample blot of FIG. 10, two samples close to the block edges 1005, 1025, 1045, and 1065 at blocks P 1010, 1030, 1050, and 1070 and Q (1015, 1035, 1055, and 1075) are taken. You can use this to modify the sample closest to the block edges (1005, 1025, 1045, 1065). In detail, in the sample blocks 1000, 1020, 1040, and 1060, pO and pi pixel values of the corresponding line may be modified using pi, O, ql, and q0 of each line.
한편, 크로마 성분에 대한 디블록킹 필터의 종류는 bS 값을 기반으로 강한 필터와 약한 필터로 구별할 수 있다. 강한 필터는 약한 필터와 다른 계수를 적용하여 필터링을 효과를 더 높이도록 할 수 있다. On the other hand, the type of deblocking filter for the chroma component may be classified into a strong filter and a weak filter based on the bS value. Strong filters can apply weaker filters and different coefficients to make filtering more effective.
또한, 크로마성분에 대한 디블록킹 필터는 강한 필터와 약한 필터를 구별하지 않도록 할 수도 있다. 즉, 크로마 성분에 디블록킹 필터링을 적용하는 경우에는 소정의 필터 하나만올 적용하도록 할 수도 있다. 예컨대, 앞서 말한 바와 같이 , bS가 1보다 크다면, 소정의 수정값 Δ를 이용하여 경계의 두 픽셀 pO 와 pi 의 값을 수정할 수 있다. 예컨대, 원래의 픽셀 값에 수정값 Δ을 더하거나 빼는 수정을 수행할 수 있으며, 이때, 소정의 수정 값 Δ을 일정한 범위 내에 한정할 수도 있다. In addition, the deblocking filter for chroma components may not distinguish between a strong filter and a weak filter. That is, when deblocking filtering is applied to the chroma component, only one predetermined filter may be applied. For example, as described above, if bS is greater than 1, a predetermined correction value Δ may be used to modify the values of two pixels pO and pi at the boundary. For example, the correction may be performed by adding or subtracting the correction value Δ to the original pixel value. In this case, the predetermined correction value Δ may be limited within a certain range.
수학식 2는 수정값 Δ와 수정된 pO' 및 q0' 을 생성하는 일 예를 나타낸 것이다. Equation 2 shows an example of generating the modified value Δ and the modified pO ′ and q0 ′.
<수 2> <Joe 2>
A = Clip3( -tc, tc,((12*(q0-p0)) + 3*(p1-q1)+16)»5)) A = Clip3 (-t c , tc, ((12 * (q 0 -p 0 )) + 3 * (p 1 -q 1 ) +16) »5))
po' = Cliplc(po+ Δ) po '= Clipl c (po + Δ)
qo' = Cliplc( q0- ᅀ ) 상술한 바와 같이 , Δ는 블록 P와 블록 Q에서 각 라인 별로 두 샘플 pO, pi, q0, ql을 이용하여 생성되는 수정값으로서, 수학식 2는 단순한 수정값의 예일
뿐이며, Δ는 픽셀 상태 정보, 샘플링 포맷 등에 기반하여 다양한 방식에 의해, 다양한 값을 가질 수 있다. 또한, 픽셀 ρθ과픽셀 qO에 주어지는 수정값 Δ는 소정의 범위 (-tc, to) 사이에서 클립핑될 수 있다. tc 는 디블록킹 필터에 의해 수정될 수 있는 픽셀 값의 범위를 한정하는 값이다. qo '= Clipl c (q 0- ᅀ) As described above, Δ is a correction value generated by using two samples pO, pi, q0, and ql for each line in block P and block Q. Yale of corrections In addition, Δ may have various values by various methods based on pixel state information, sampling format, and the like. Further, the correction value Δ given to pixel ρθ and pixel qO can be clipped between a predetermined range (−t c , to). t c is a value that defines a range of pixel values that can be modified by the deblocking filter.
도 12 는 본 발명에 ' 따라 크로마에 대한 디블록킹 필터를 적용한 경우의 효과를 개략적으로 나타내는 도면이다. 도 12 에서 좌측의 영상은 종래의 방법에 따라서, 샘플 에지 좌우의 블록 중 적어도 하나는 인트라 모드로 부호화된 경우에만 8x8 블록을 단위로 크로마에 대한 디블록킹 필터를 적용한 것이다. 12 is a view schematically showing the effect of the case in accordance with the present invention, applying the deblocking filter to the chroma. In FIG. 12, the image on the left side applies a deblocking filter for chroma on the basis of 8x8 blocks only when at least one of the left and right blocks of the sample edge is encoded in the intra mode according to a conventional method.
이에 반해, 도 12 의 우측에 있는 영상은, 샘플 에지의 좌우 블톡이 모두 인터 모드로 부호화된 경우에도 bS가 1보다 큰 경우에는 디블록킹 필터를 적용하며 , 디블록킹 필터의 적용 단위를 4x4블록으로 한 것이다. On the other hand, the image on the right side of FIG. 12 applies a deblocking filter when bS is larger than 1 even when both the left and right blots of the sample edge are encoded in the inter mode, and applies the deblocking filter as a 4x4 block. It is.
도 12 를 참조하면, 우측의 영상에서 블록킹 아티팩트가 크게 줄어든 것을 확인할 수 있다. 상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다^ 단계와 다흔 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라세 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
지금까지 본 발명에 관한 설명에서 일 구성 요소가 타 구성 요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 상기 일 다른 구성 요소가 상기 타 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을. 수도 있지만, 상기 두 구성 요소 사이에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다ᅳ 반면에, 일 구성 요소가 타 구성 요소에 "직접 연결되어"있다거나 "직접 접속되어''있다고 언급된 때에는, 두 구성 요소 사이에 다른 구성요소가 존재하지 않는 것으로 이해되어야 한다.
Referring to FIG. 12, it can be seen that blocking artifacts are greatly reduced in the image on the right. In the exemplary system described above, the methods are described on the basis of a flowchart as a series of steps or blocks, but the invention is not limited to the order of steps, which steps are as described above and in multiple orders or concurrently. May occur. In addition, the above-described embodiments include examples of various aspects. Accordingly, the invention is intended to embrace all other alterations, modifications and variations that fall within the scope of the following claims. So far in the description of the present invention, when one component is referred to as being "connected" or "connected" to another component, the other component is directly connected to or connected to the other component. Be there. It may be understood, however, that other components may exist between the two components.On the other hand, when one component is referred to as being "directly connected" or "directly connected" to another component, It is to be understood that no other component exists between the components.
Claims
【청구항 1】 [Claim 1]
복원된 크로마 성분으로 구성된 단위 샘플 블록 내 블록 에지에 대하여, bS(boundary Strength)를 설정하는 단계; Setting a boundary strength (bS) for a block edge in the unit sample block composed of the reconstructed chroma components;
상기 bS를 기반으로 상기 블록 에지에 대한 디블록킹 필터링을 결정하는 단계; 상기 디블록킹 필터링 결정에 따라서 상기 크로마 성분에 디블록킹 필터를 적용하는 단계를 포함하며, Determining deblocking filtering for the block edge based on the bS; Applying a deblocking filter to the chroma components in accordance with the deblocking filtering decision,
상기 단위 샘플 블록의 크기는 상기 크로마 샘플의 샘플링 포맷에 따라 설정되는 것을 특징으로 하는 디블록킹 필터링 방법. The size of the unit sample block is set according to the sampling format of the chroma sample.
【청구항 2】 [Claim 2]
제 1항에 있어서 , 상기 크로마 샘플의 샘플링 포맷이 4:2:0포맷인 경우에는, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기를 4x4로 설정하는 것을 특징으로 하는 디블록킹 필터 ¾ 방법. 2. The method of claim 1, wherein the size of the unit sample block composed of chroma components is set to 4x4 when the sampling format of the chroma samples is 4: 2: 0 format.
【청구항 3】 [Claim 3]
제 1항에 있어서, 상기 크로마 샘플의 샘플링 포맷이 4:2:2포맷인 경우에는, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기를 4x8또는 8x4로 설정하는 것을 특징으로 하는 디블록킹 필터링 방법. The deblocking filtering method of claim 1, wherein when the sampling format of the chroma samples is 4: 2: 2, the size of the unit sample block composed of chroma components is set to 4x8 or 8x4.
【청구항 4】
제 1항에 있어서, 상기 크로마 샘플의 샘플링 포맷이 4:4:4: 포맷인 경우에는, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기를 8x8로 설정하는 것을 특징으로 하는 디블록킹 필터링 방법. [Claim 4] The deblocking filtering method of claim 1, wherein the size of the unit sample block composed of chroma components is set to 8 × 8 when the sampling format of the chroma samples is 4: 4: 4: format.
【청구항 5] [Claim 5]
제 1항에 있어서, 상기 bS설정 단계에서는, The method of claim 1, wherein in the bS setting step,
상기 블록 에지가 변환 유닛의 에지이고, 상기 단위 샘플 블록이 0 보다 큰 변환 계수를 포함하는 경우에 상기 bS를 1보다 큰 값으로 설정하며 , 상기 디블록킹 필터링 결정 단계에서는, If the block edge is an edge of a transform unit and the unit sample block includes a transform coefficient greater than 0, set bS to a value greater than 1, and in the deblocking filtering determination step,
상기 bS가 1보다 큰 경우에 디블록킹 필터를 적용하는 것으로 결정하는 것을 특징으로 하는 디블록킹 필터링 방법. And if the bS is greater than 1, determine to apply a deblocking filter.
【청구항 6】 [Claim 6]
제 5항에 있어서, 상기 블록 에지의 좌우 샘플들이 인터 모드로부호화된 것을 특징으로 하는 디블록킹 필터링 방법 . 6. The method of claim 5, wherein left and right samples of the block edge are encoded in inter mode.
【청구항 7】 [Claim 7]
복원된 크로마 성분으로 구성된 단위 샘플 블록 내 블록 에지에 대하여, bS( boundary Strength)를 설정하는 bS설정부; A bS setting unit for setting a boundary strength (bS) for a block edge in the unit sample block including the reconstructed chroma component;
상기 bS 를 기반으로 상기 블록 에지에 대한 디블톡킹 필터링을 결정하는 필터링 결정부; 및 A filtering decision unit to determine deblocking filtering for the block edge based on the bS; And
상기 디블록킹 필터링 결정에 따라서 상기 크로마 성분에 디블록킹 필터를 적용하는 필터링 적용부를 포함하며,
상기 단위 샘플 블록의 크기는 상기 크로마 샘플의 샘플링 포맷에 따라 설정되는 것을 특징으로 하는 디블록킹 필터링 장치. A filtering applying unit for applying a deblocking filter to the chroma component according to the deblocking filtering decision, The size of the unit sample block is set according to the sampling format of the chroma sample.
【청구항 8] [Claim 8]
제 7 항에 있어서, 상기 크로마 샘플의 샘플링 포맷이 4:2:0 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 4x4 인 것을 특징으로 하는 디블록킹 필터링 장치 . The deblocking filtering device of claim 7, wherein the size of the unit sample block composed of chroma components is 4x4 when the sampling format of the chroma samples is 4: 2: 0 format.
【청구항 91 [Claim 91]
제 7 항에 있어서, 상기 크로마 샘플의 샘플링 포맷이 4:2:2 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 4x8 또는 8x4 인 것을 특징으로 하는 디블록킹 필터링 장치. 8. The apparatus of claim 7, wherein the size of the unit sample block composed of chroma components is 4x8 or 8x4 when the sampling format of the chroma samples is 4: 2: 2 format.
【청구항 10】 [Claim 10]
제 7 항에 있어서, 상기 크로마 샘플의 샘플링 포맷이 4:4:4: 포맷인 경우에, 크로마 성분으로 구성된 상기 단위 샘플 블록의 크기는 8x8 인 것을 특징으로 하는 디블록킹 필터링 장치. The deblocking filtering device of claim 7, wherein the size of the unit sample block composed of chroma components is 8x8 when the sampling format of the chroma samples is 4: 4: 4: format.
【청구항 11】 [Claim 11]
제 7항에 있어서, 상기 bS 설정부는, The method of claim 7, wherein the bS setting unit,
상기 블록 에지가 변환 유닛의 에지이고, 상기 단위 샘플 블록이 0 보다 큰 변환 계수를 포함하는 경우에 상기 bS를 1보다 큰 값으로 설정하며, 상기 필터링 결정부는, If the block edge is the edge of the transform unit, and the unit sample block includes a transform coefficient greater than 0, the bS is set to a value greater than 1, and the filtering determining unit is
상기 bS 가 1 보다 큰 경우에 디블록킹 필터를 적용하는 것으로 결정하는 것을 특징으로 하는 디블록킹 필터링 장치.
【청구항 12】 And determine that the deblocking filter is applied when the bS is greater than one. [Claim 12]
제 11 항에 있어서, 상기 블록 에지의 좌우 샘플들은 인터 모드로 부호화된 것을 특징으로 하는 디블록킹 필터링 장치.
12. The apparatus of claim 11, wherein the left and right samples of the block edge are encoded in an inter mode.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41093610P | 2010-11-08 | 2010-11-08 | |
US61/410,936 | 2010-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2012064083A2 true WO2012064083A2 (en) | 2012-05-18 |
WO2012064083A3 WO2012064083A3 (en) | 2012-07-19 |
Family
ID=46051406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2011/008463 WO2012064083A2 (en) | 2010-11-08 | 2011-11-08 | Deblocking filtering method and apparatus |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012064083A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160128313A (en) * | 2014-03-03 | 2016-11-07 | 소니 주식회사 | Strong intra smoothing for in rext |
WO2020224581A1 (en) * | 2019-05-05 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Chroma deblocking harmonization for video coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040106436A (en) * | 2002-05-01 | 2004-12-17 | 톰슨 라이센싱 에스.에이. | Chroma deblocking filter |
KR20070111467A (en) * | 2005-01-25 | 2007-11-21 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Scratch pad for storing intermediate loop filter data |
KR20090064388A (en) * | 2006-09-15 | 2009-06-18 | 프리스케일 세미컨덕터, 인크. | Video information processing system with selective chroma deblock filtering |
KR20090108654A (en) * | 2003-09-07 | 2009-10-15 | 마이크로소프트 코포레이션 | Coding and decoding for interlaced video |
-
2011
- 2011-11-08 WO PCT/KR2011/008463 patent/WO2012064083A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040106436A (en) * | 2002-05-01 | 2004-12-17 | 톰슨 라이센싱 에스.에이. | Chroma deblocking filter |
KR20090108654A (en) * | 2003-09-07 | 2009-10-15 | 마이크로소프트 코포레이션 | Coding and decoding for interlaced video |
KR20070111467A (en) * | 2005-01-25 | 2007-11-21 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Scratch pad for storing intermediate loop filter data |
KR20090064388A (en) * | 2006-09-15 | 2009-06-18 | 프리스케일 세미컨덕터, 인크. | Video information processing system with selective chroma deblock filtering |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160128313A (en) * | 2014-03-03 | 2016-11-07 | 소니 주식회사 | Strong intra smoothing for in rext |
KR102306336B1 (en) * | 2014-03-03 | 2021-09-30 | 소니그룹주식회사 | Strong intra smoothing for in rext |
WO2020224581A1 (en) * | 2019-05-05 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Chroma deblocking harmonization for video coding |
US11997264B2 (en) | 2019-05-05 | 2024-05-28 | Beijing Bytedance Network Technology Co., Ltd | Chroma deblocking harmonization for video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2012064083A3 (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2765234C1 (en) | Method for internal prediction and the encoder and decoder using it | |
US10373295B2 (en) | Image processing apparatus and image processing method | |
KR102424419B1 (en) | Method and apparatus for processing a video signal | |
KR102229157B1 (en) | Image information encoding and decoding method | |
CN105409221B (en) | Encoder-side decision for sample adaptive offset filtering | |
KR102213112B1 (en) | Intra prediction method of chrominance block using luminance sample, and apparatus using same | |
KR102219231B1 (en) | Method and apparatus for encoding/decoding image information | |
KR102030136B1 (en) | Intra prediction method and encoding apparatus and decoding apparatus using same | |
KR102061201B1 (en) | Methods of transformation based on block information and appratuses using the same | |
WO2013042884A1 (en) | Method for encoding/decoding image and device thereof | |
CA3090775C (en) | Method of removing deblocking artifacts | |
WO2012134204A2 (en) | In-loop filtering method and apparatus for same | |
JP2021536717A (en) | Image coding / decoding methods and devices using intra-prediction | |
KR20240051308A (en) | Method for encoding and decoding image information | |
KR20190130502A (en) | Image decoding method/apparatus, image encoding method/apparatus and recording medium for storing bitstream | |
JP2019535212A (en) | Apparatus and method for video coding | |
KR101468078B1 (en) | Method and apparatus for intra prediction | |
KR102378803B1 (en) | A method of decoding a video signal and an apparatus having the same | |
WO2012064083A2 (en) | Deblocking filtering method and apparatus | |
KR20210118768A (en) | Method of processing a video and device therefor | |
KR20130083405A (en) | Method for deblocking filtering and apparatus thereof | |
JP7071474B2 (en) | Equipment and methods for video coding | |
KR102410326B1 (en) | Method and apparatus for encoding/decoding a video signal | |
KR20220040451A (en) | A method of decoding a video signal and an apparatus having the same | |
KR20210075552A (en) | Video signal encoding method and apparatus and video decoding method and apparatus |
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: 11839966 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11839966 Country of ref document: EP Kind code of ref document: A2 |