WO2016204531A1 - Method and device for performing adaptive filtering according to block boundary - Google Patents

Method and device for performing adaptive filtering according to block boundary Download PDF

Info

Publication number
WO2016204531A1
WO2016204531A1 PCT/KR2016/006405 KR2016006405W WO2016204531A1 WO 2016204531 A1 WO2016204531 A1 WO 2016204531A1 KR 2016006405 W KR2016006405 W KR 2016006405W WO 2016204531 A1 WO2016204531 A1 WO 2016204531A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
filter
block boundary
adaptive loop
filtering
Prior art date
Application number
PCT/KR2016/006405
Other languages
French (fr)
Korean (ko)
Inventor
남정학
김철근
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Priority to US15/736,238 priority Critical patent/US10448015B2/en
Publication of WO2016204531A1 publication Critical patent/WO2016204531A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a technique for adaptively performing filtering according to a block boundary.
  • Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium.
  • Media such as an image, an image, an audio, and the like may be a target of compression encoding.
  • a technique of performing compression encoding on an image is called video image compression.
  • Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
  • the present invention proposes a block boundary aware asymmetric adaptive loop filter method that minimizes the error of the adaptive loop filter at the block boundary having different characteristics.
  • the present invention proposes a block boundary determination method for boundary aware asymmetric adaptive loop filter.
  • the present invention proposes a filter shape determination method for a boundary-cognitive asymmetric adaptive loop filter.
  • the present invention proposes a filter coefficient derivation method for boundary-aware asymmetric adaptive loop filter.
  • the present invention proposes a method of applying an adaptive loop filter for a boundary aware asymmetric adaptive loop filter.
  • the present invention provides a method for adaptively filtering according to a block boundary, comprising: determining whether a current pixel is included in a block boundary; If the current pixel is included in a block boundary, determining a filter shape according to the position of the current pixel; Calculating filter coefficients based on the filter shape; And performing adaptive loop filtering using the filter coefficients.
  • the present invention may further include checking whether the at least one other condition related to the block characteristic is satisfied, and when the at least one other condition is satisfied, the adaptive loop filtering is performed. do.
  • At least one other condition related to the block characteristic is characterized by indicating whether the inter-block prediction mode is different.
  • At least one other condition related to the block characteristic is characterized by indicating whether the motion vector difference between blocks is smaller than a predetermined threshold value.
  • At least one other condition related to the block characteristic is characterized by indicating whether or not a residual signal exists in an adjacent block.
  • At least one other condition related to the block characteristic is characterized by indicating whether adaptive loop filtering is not applied.
  • the filter shape is determined by reference pixels that are limitedly used, and the reference pixels are changed according to the position of the current pixel.
  • the limitedly used reference pixels are determined in units of columns adjacent to the block boundary.
  • the limitedly used reference pixels may be determined in proportion to the position where the current pixel is separated from a block boundary.
  • the filter shape may be derived according to a method defined in the decoder or determined by receiving information on the filter shape from the encoder.
  • the filter coefficient is characterized in that it is calculated using a scaling factor corresponding to the filter shape.
  • the present invention provides an apparatus for adaptively filtering according to a block boundary, the apparatus comprising: a block boundary determination unit determining whether a current pixel is included in a block boundary; A filter shape determiner configured to determine a filter shape according to a position of the current pixel when the current pixel is included in a block boundary; A filter coefficient calculator for calculating filter coefficients based on the filter shape; And a filtering performing unit performing adaptive loop filtering using the filter coefficients.
  • the block boundary determination unit determines whether at least one other condition related to a block characteristic is satisfied, and when the at least one other condition is satisfied, the adaptive loop filtering is performed. do.
  • At least one other condition related to the block characteristic is whether the inter-block prediction mode is different, whether the inter-block motion vector difference is smaller than a predetermined threshold value, and whether there is a residual signal in an adjacent block. Whether or not, or whether adaptive loop filtering is not applied.
  • the present invention can solve the problem of performance degradation at the block boundary when using the adaptive loop filter, and can improve the quality of the reconstructed image.
  • the present invention can increase the compression efficiency by reducing the error of loop filtering at the block boundary by applying a block boundary recognition asymmetric adaptive loop filter to the image of the image decoding is completed.
  • FIG. 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
  • FIG. 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
  • FIG. 3 is a schematic internal block diagram of an in-loop filtering unit as an embodiment to which the present invention is applied.
  • FIG. 4 is a schematic internal block diagram of an adaptive loop filtering unit according to an embodiment to which the present invention is applied.
  • FIG. 5 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 6 is an embodiment to which the present invention is applied and is a view for explaining an example of applying an adaptive loop filter (ALF) in block units.
  • ALF adaptive loop filter
  • FIG. 7 is a diagram for describing an ALF applied at a block boundary as an embodiment to which the present invention is applied.
  • FIG. 8 is a flowchart illustrating a block boundary aware asymmetric adaptive loop filtering according to an embodiment to which the present invention is applied.
  • FIG. 9 is an embodiment to which the present invention is applied and shows a flowchart for determining a block boundary.
  • 10 to 12 illustrate filter shapes for applying block boundary aware asymmetric adaptive loop filtering as embodiments to which the present invention is applied.
  • terms used in the present invention may be replaced for more appropriate interpretation when there are general terms selected to describe the invention or other terms having similar meanings.
  • signals, data, samples, pictures, frames, blocks, etc. may be appropriately replaced and interpreted in each coding process.
  • partitioning, decomposition, splitting, and division may be appropriately replaced and interpreted in each coding process.
  • FIG. 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the encoder 100 may include an image splitter 110, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, and an in-loop filter 160. And a decoded picture buffer (DPB) 170, a predictor 180, and an entropy encoder 190.
  • the predictor 180 may include an inter predictor 181 and an intra predictor 185.
  • the image divider 110 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units.
  • the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • PU Prediction Unit
  • TU Transform Unit
  • the terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms.
  • the term coding unit or target unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto and may be appropriately interpreted according to the present invention. will be.
  • the encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 181 or the intra predictor 185 from the input image signal, and generate the residual signal. Is transmitted to the converter 120.
  • the transformer 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
  • the quantization unit 130 may quantize the transform coefficients and transmit the quantized coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
  • the quantized signal output from the quantization unit 130 may be used to generate a prediction signal.
  • the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through the inverse quantization unit 140 and the inverse transform unit 150 in the loop.
  • a reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 181 or the intra predictor 185.
  • the in-loop filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits it to the decoded picture buffer 170. That is, the in-loop filtering unit 160 may perform a filtering process to minimize the difference between the original image and the reconstructed image.
  • the filtered signal transmitted to the decoded picture buffer 170 may be transmitted to a prediction filtering unit (not shown) and filtered again to improve prediction performance.
  • the prediction filtering unit may perform a filtering process to minimize the difference between the original image and the reference image.
  • the prediction filtering unit may perform filtering using a Wiener filter.
  • the signal stored in the decoded picture buffer 170 may be transmitted to the predictor 180 and used to generate a prediction signal.
  • the filtered signal may be used as a reference picture in the inter prediction unit 181.
  • the prediction filtering unit may be shown as a separate unit from the prediction unit 180, or may be located in the prediction unit 180 or may be configured together with another unit.
  • the decoded picture buffer 170 may store the in-loop filtered picture or the predictive filtered picture for use as a reference picture in the inter prediction unit 181.
  • the inter prediction unit 181 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to the filtered picture through the reconstructed picture or the predictive filtering unit 175.
  • the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding in the previous time, blocking artifacts or ringing artifacts may exist. have.
  • the inter prediction unit 181 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter to solve performance degradation due to discontinuity or quantization of such signals.
  • the subpixel refers to a virtual pixel generated by applying an interpolation filter
  • the integer pixel refers to an actual pixel existing in the reconstructed picture.
  • the interpolation method linear interpolation, bi-linear interpolation, wiener filter, or the like may be applied.
  • the interpolation filter may be applied to a reconstructed picture to improve the precision of prediction.
  • the inter prediction unit 181 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. You can make predictions.
  • the intra predictor 185 may predict the current block by referring to samples around the block to which current encoding is to be performed.
  • the intra prediction unit 185 may perform the following process to perform intra prediction. First, reference samples necessary for generating a prediction signal may be prepared. The prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
  • a prediction signal generated through the inter predictor 181 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
  • FIG. 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the decoder 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an in-loop filtering unit 240, and a decoded picture buffer unit (DPB). 250, the prediction unit 260 may be configured.
  • the predictor 260 may include an inter predictor 261 and an intra predictor 265.
  • the reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
  • the decoder 200 may receive a signal output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
  • the inverse transform unit 230 inversely transforms the transform coefficient to obtain a residual signal.
  • a reconstructed signal is generated by adding the obtained residual signal to a prediction signal output from the inter predictor 260 or the intra predictor 265.
  • the in-loop filtering unit 240 may perform filtering using the filter parameter, and the filtered reconstruction signal may be output to the playback device or stored in the decoded picture buffer 250. That is, the in-loop filtering unit 240 may perform a filtering process to minimize the difference between the original image and the reconstructed image.
  • the filter parameter may be transmitted from an encoder or derived from other coding information.
  • the filtered signal transmitted to the decoded picture buffer 250 may be transmitted to a prediction filtering unit (not shown) and filtered again to improve prediction performance.
  • the prediction filtering unit may perform a filtering process to minimize the difference between the original image and the reference image.
  • the prediction filtering unit may perform filtering using a Wiener filter.
  • the filtered signal may be transmitted to the predictor 260 to be used to generate a prediction signal.
  • the signal filtered by the prediction filtering unit 255 may be used as a reference picture in the inter prediction unit 261.
  • the coding efficiency can be improved by using the filtered picture as a reference picture in the inter prediction mode.
  • the decoded picture buffer 250 may store the in-loop filtered picture or the predictive filtered picture for use as a reference picture in the inter prediction unit 261.
  • the embodiments described in the in-loop filtering unit 160, the inter prediction unit 181, and the intra prediction unit 185 of the encoder 100 are each an in-loop filtering unit 240 and an inter prediction unit of the decoder. The same may be applied to the 261 and the intra predictor 265.
  • FIG. 3 is a schematic internal block diagram of an in-loop filtering unit as an embodiment to which the present invention is applied.
  • the in-loop filtering unit may include at least one of a deblocking filtering unit 310, an adaptive offset filtering unit 320, and an adaptive loop filtering unit 330.
  • the in-loop filtering unit may apply filtering to the reconstructed picture and output the filtered picture to the reproduction device or store the result in a buffer to use as a reference picture in the inter prediction mode.
  • the deblocking filtering unit 310 performs a function of improving distortion occurring at the boundary of the reconstructed picture. For example, blocking degradation occurring at the boundary of the prediction unit or the transform unit may be improved.
  • the deblocking filtering unit 310 may determine whether a reconstructed pixel value is discontinuous at a block boundary, and perform deblocking filtering at a corresponding edge boundary when blocking degradation occurs. For example, it may be determined whether a block boundary is an 8x8 block boundary and a boundary of a prediction unit or a transform unit, and a boundary strength BS value may be calculated based on the block boundary. It may be determined whether to perform filtering based on the boundary strength (BS) value, and the filtering parameter may be used together.
  • BS boundary strength
  • the adaptive offset filtering unit 320 may perform a function of minimizing an error between the reconstructed image and the original image by adding an offset to the reconstructed pixel.
  • the reconstructed image may mean a deblocking filtered image.
  • an offset parameter for correcting an error between the reconstructed image and the original image may be calculated and transmitted to the decoder.
  • the transmitted offset parameter may be entropy decoded and then filtered based on the pixel unit.
  • the adaptive loop filtering unit 330 may perform filtering by calculating an optimal coefficient that minimizes an error between the original image and the reconstructed image.
  • the encoder it is possible to derive filter coefficients that minimize the error between the original image and the reconstructed image, and adaptively transmit information and filter coefficients about whether adaptive loop filtering is applied to each decoder to the decoder.
  • filtering may be performed based on information on whether the transmitted adaptive loop filtering is applied and filter coefficients.
  • the adaptive loop filtering unit 330 provides a block boundary aware asymmetric adaptive loop filter method for minimizing the error of the adaptive loop filter at the block boundary having different characteristics.
  • the adaptive loop filtering unit 330 provides a method for determining a block boundary for block boundary aware asymmetric adaptive loop filter.
  • a method for determining a filter shape for a block boundary aware asymmetric adaptive loop filter is provided.
  • a method for deriving filter coefficients for block boundary aware asymmetric adaptive loop filter is provided.
  • FIG. 4 is a schematic internal block diagram of an adaptive loop filtering unit according to an embodiment to which the present invention is applied.
  • the adaptive loop filtering unit 330 may include at least one of a block boundary determiner 331, a filter shape determiner 332, a filter coefficient calculator 333, and a filter performer 334.
  • the block boundary determination unit 331 determines whether the target pixel for applying the current adaptive loop filter belongs to the block boundary. For example, if the location of the target pixel to be currently filtered is determined as the block boundary, filtering embodiments to which the present invention is applied may be applied. On the other hand, if it is not a block boundary, the existing loop filtering method may be applied.
  • the filter shape determiner 332 may determine the filter shape when the position of the target pixel to be currently filtered is determined as the block boundary. For example, the filter shape may be determined according to the position of the target pixel. In this case, the filter shape may vary depending on the position of the target pixel. In addition, the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
  • the filter coefficient calculator 333 may calculate the filter coefficients based on the shape determined by the filter shape determiner 332.
  • the filtering performing unit 334 may perform filtering based on at least one of the filter shape or the filter coefficients.
  • FIG. 5 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • the encoder may split one image (or picture) in units of a rectangular Coding Tree Unit (CTU).
  • CTU Coding Tree Unit
  • one CTU is sequentially encoded according to a raster scan order.
  • the size of the CTU may be set to any one of 64x64, 32x32, and 16x16, but the present invention is not limited thereto.
  • the encoder may select and use the size of the CTU according to the resolution of the input video or the characteristics of the input video.
  • the CTU may include a coding tree block (CTB) for a luma component and a coding tree block (CTB) for two chroma components corresponding thereto.
  • One CTU may be decomposed into a quadtree (QT) structure.
  • QT quadtree
  • one CTU may be divided into four units having a square shape and each side is reduced by half in length.
  • the decomposition of this QT structure can be done recursively.
  • a root node of a QT may be associated with a CTU.
  • the QT may be split until it reaches a leaf node, where the leaf node may be referred to as a coding unit (CU).
  • CU coding unit
  • a CU may mean a basic unit of coding in which an input image is processed, for example, intra / inter prediction is performed.
  • the CU may include a coding block (CB) for a luma component and a CB for two chroma components corresponding thereto.
  • CB coding block
  • the size of the CU may be determined as any one of 64x64, 32x32, 16x16, and 8x8.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the CU may be larger or more diverse.
  • the CTU corresponds to a root node and has a smallest depth (ie, level 0) value.
  • the CTU may not be divided according to the characteristics of the input image. In this case, the CTU corresponds to a CU.
  • the CTU may be decomposed in QT form, and as a result, lower nodes having a depth of level 1 may be generated. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 1 corresponds to a CU.
  • CU a
  • CU a
  • CU b
  • CU (j) corresponding to nodes a, b, and j are divided once in the CTU and have a depth of level 1.
  • At least one of the nodes having a depth of level 1 may be split into QT again.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a level 2 depth corresponds to a CU.
  • CU (c), CU (h) and CU (i) corresponding to nodes c, h and i are divided twice in the CTU and have a depth of level 2.
  • At least one of the nodes having a depth of 2 may be divided into QTs.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 3 corresponds to a CU.
  • CU (d), CU (e), CU (f), and CU (g) corresponding to nodes d, e, f, and g are divided three times in the CTU, and level 3 Has a depth of.
  • the maximum size or the minimum size of the CU may be determined according to characteristics (eg, resolution) of the video image or in consideration of encoding efficiency. Information about this or information capable of deriving the information may be included in the bitstream.
  • a CU having a maximum size may be referred to as a largest coding unit (LCU), and a CU having a minimum size may be referred to as a smallest coding unit (SCU).
  • LCU largest coding unit
  • SCU smallest coding unit
  • a CU having a tree structure may be hierarchically divided with predetermined maximum depth information (or maximum level information).
  • Each partitioned CU may have depth information. Since the depth information indicates the number and / or degree of division of the CU, the depth information may include information about the size of the CU.
  • the size of the SCU can be obtained by using the size and maximum depth information of the LCU. Or conversely, using the size of the SCU and the maximum depth information of the tree, the size of the LCU can be obtained.
  • information indicating whether the corresponding CU is split may be delivered to the decoder.
  • the information may be defined as a split flag and may be represented by a syntax element "split_cu_flag".
  • the division flag may be included in all CUs except the SCU. For example, if the split flag value is '1', the corresponding CU is divided into four CUs again. If the split flag value is '0', the CU is not divided any more and the coding process for the CU is not divided. Can be performed.
  • the division process of the CU has been described as an example, but the QT structure described above may also be applied to the division process of a transform unit (TU) which is a basic unit for performing transformation.
  • TU transform unit
  • the TU may be hierarchically divided into a QT structure from a CU to be coded.
  • a CU may correspond to a root node of a tree for a transform unit (TU).
  • the TU divided from the CU may be divided into smaller lower TUs.
  • the size of the TU may be determined by any one of 32x32, 16x16, 8x8, and 4x4.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the TU may be larger or more diverse.
  • information indicating whether the corresponding TU is divided may be delivered to the decoder.
  • the information may be defined as a split transform flag and may be represented by a syntax element "split_transform_flag".
  • the division conversion flag may be included in all TUs except the TU of the minimum size. For example, if the value of the division conversion flag is '1', the corresponding TU is divided into four TUs again. If the value of the division conversion flag is '0', the corresponding TU is no longer divided.
  • a CU is a basic unit of coding in which intra prediction or inter prediction is performed.
  • a CU may be divided into prediction units (PUs).
  • the PU is a basic unit for generating a prediction block, and may generate different prediction blocks in PU units within one CU.
  • the PU may be divided differently according to whether an intra prediction mode or an inter prediction mode is used as a coding mode of a CU to which the PU belongs.
  • FIG. 6 is an embodiment to which the present invention is applied and is a view for explaining an example of applying an adaptive loop filter (ALF) in block units.
  • ALF adaptive loop filter
  • the adaptive loop filter to which the present invention is applied is a technique for filtering the decoded reconstructed image by the filter coefficient received from the encoder.
  • the filter coefficients transmitted from the encoder obtain filter coefficients that minimize errors of the reconstructed picture and the original picture in picture units.
  • the filter coefficient may have an integer form or a real form, and may send N filters having an Mx1 or MxM shape.
  • the adaptive loop filter may determine whether to apply the adaptive loop filter in a large coding unit (LCU) or a coding unit (CU).
  • LCU large coding unit
  • CU coding unit
  • blocks A, C, G, H, I, J, L indicate that an adaptive loop filter is applied and blocks B, D, E, F, K indicate that an adaptive loop filter is not applied. .
  • blocks to which the adaptive loop filter is applied and blocks not to be applied may have different characteristics.
  • filtering performance may be degraded by using pixels of adjacent blocks to which the adaptive loop filter is not applied. For example, when the block G performs filtering using the pixels of the block F, the filtering performance may be degraded.
  • the present invention provides a method for minimizing the error of adaptive loop filtering at the block boundary.
  • FIG. 7 is a diagram for describing an ALF applied at a block boundary as an embodiment to which the present invention is applied.
  • One embodiment of the present invention provides a method for performing adaptive loop filtering when a block to which an adaptive loop filter is applied and a block to which no adaptive loop filter is applied are adjacent to each other.
  • FIG. 7 an example in which an ALF having a size of 7 ⁇ 7 is applied at a block boundary is shown.
  • the F block is an ALF off block and the G block is an ALF on block.
  • the current pixel (dark hatched) at the boundary of the G block is filtered using the pixels around it, including the reference pixel (light hatched) of the F block.
  • blocks F and G may have different characteristics, when the adaptive loop filtering is performed on the block F, using the reference pixels of the adjacent block F may reduce the filtering performance.
  • the present invention provides a method for performing asymmetric adaptive loop filtering based on block boundaries.
  • FIG. 8 is a flowchart illustrating a block boundary aware asymmetric adaptive loop filtering according to an embodiment to which the present invention is applied.
  • One embodiment of the present invention provides a block boundary aware asymmetric adaptive loop filter process.
  • the present invention may largely include a block boundary determining step, a filter shape determining step, a filter coefficient calculating step, and a filtering performing step. This embodiment may be performed by an adaptive loop filtering unit in an encoder or a decoder.
  • the adaptive loop filtering unit may check whether the target pixel to be filtered is included in the block boundary (S810).
  • the block boundary may correspond to any one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
  • the adaptive loop filtering unit may determine whether to perform block boundary recognition asymmetric adaptive loop filtering to which the present invention is applied by checking other conditions.
  • block boundary aware asymmetric adaptive loop filtering means applying an adaptive loop filter asymmetrically at the block boundary.
  • the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering to which the present invention is applied when other conditions are satisfied.
  • the other condition may be a characteristic of a block or a unit, and for example, a prediction mode, a motion vector difference between blocks, a presence of a residual signal, and whether an ALF is applied.
  • the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering based on flag information indicating whether to perform block boundary aware asymmetric adaptive loop filtering.
  • the adaptive loop filtering unit may determine the filter shape according to the position of the target pixel. There is (S820).
  • reference pixels of adjacent blocks may be limitedly used.
  • only pixels of the first column of the reference pixels of the adjacent block may be used.
  • columns of reference pixels of adjacent blocks may be used as far as a target pixel is located at a block boundary.
  • the target pixel is located at the second pixel position at the block boundary, up to the second column of the reference pixels of the adjacent block may be used.
  • the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
  • the adaptive loop filtering unit may calculate a filter coefficient according to the filter shape (S830).
  • the adaptive loop filtering unit may perform adaptive loop filtering using filter coefficients (S840).
  • the adaptive loop filtering unit may perform filtering according to an existing loop filtering method (S850).
  • the adaptive loop filtering unit may perform filtering according to an existing loop filtering scheme.
  • FIG. 9 is an embodiment to which the present invention is applied and shows a flowchart for determining a block boundary.
  • the adaptive loop filtering unit may determine whether the target pixel to be filtered is included in the block boundary.
  • the block boundary may include at least one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
  • the adaptive loop filtering unit may determine whether to perform block boundary or asymmetric adaptive loop filtering to which the present invention is applied by checking other conditions.
  • the other condition may be a characteristic of a block or a unit, and for example, a prediction mode, a motion vector difference between blocks, a presence of a residual signal, and whether an ALF is applied.
  • the adaptive loop filtering unit may determine whether a target pixel to be filtered belongs to a block boundary (S910).
  • the block boundary may include at least one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
  • the adaptive loop filtering unit may check a prediction mode (S920). For example, it may be determined whether the prediction modes of adjacent blocks are the same. As a specific example, it may be determined whether the prediction modes of the block F and the block G of FIG. 7 are the same.
  • the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
  • the adaptive loop filtering unit may additionally check other conditions. For example, it may be checked whether the motion vector difference between the blocks is smaller than a preset threshold (S930).
  • the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
  • the adaptive loop filtering unit may additionally check other conditions. For example, the adaptive loop filtering unit may determine whether a residual signal exists in an adjacent block (S940). For example, by checking whether the CBF (F) is 1, whether the residual signal exists in the adjacent block F may be checked.
  • the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
  • the adaptive loop filtering unit may additionally check other conditions. For example, the adaptive loop filtering unit may check whether ALF is applied (S950).
  • the adaptive loop filtering unit may perform block boundary-aware asymmetric adaptive loop filtering (S970).
  • the adaptive loop filtering unit may determine that the target pixel to be filtered is not included in the block boundary, and accordingly, the existing loop Filtering may be performed (S960).
  • the target pixel to be filtered does not belong to a block boundary, the prediction modes of adjacent blocks are the same, the motion vector difference between the blocks is not smaller than a preset threshold, or there is no residual signal in the adjacent block,
  • the adaptive loop filtering unit may perform existing loop filtering.
  • one of the above conditions may be used or optionally a plurality of combinations may be used, the order of the above conditions may be changed, and other conditions may be added that may include the characteristics of the block.
  • 10 to 12 illustrate filter shapes for applying block boundary aware asymmetric adaptive loop filtering as embodiments to which the present invention is applied.
  • the pixel of the block F may be limitedly used when the adaptive loop filter is applied.
  • block F and block G may have different block characteristics.
  • reference pixels of adjacent blocks may be limitedly used.
  • reference pixels of adjacent blocks may be used.
  • columns of reference pixels of adjacent blocks may be used as far as a target pixel is located at a block boundary.
  • the target pixel is located at the second pixel position at the block boundary, up to the second column of the reference pixels of the adjacent block may be used.
  • the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
  • the shape of the filter may be changed as shown in FIGS. 10 (a) and 10 (b) according to the position of the target pixel. The same applies to the case where the target pixel is adjacent to the horizontal boundary.
  • FIG. 11 illustrates an embodiment of another filter shape referring to two column pixels among the pixels of the block F.
  • the present invention may use two column pixels among reference pixels of an adjacent block.
  • the present invention may use two column pixels among reference pixels of an adjacent block as far as a target pixel is located at a block boundary.
  • the shape of the filter may be changed as shown in FIGS. 11A and 11B according to the position of the target pixel.
  • FIG. 11B is the same as the conventional adaptive loop filter, it may be processed in the same manner as the filtering of the pixel not including the block boundary.
  • the shape of the filter may be changed. The same applies to the case where the pixel is adjacent to the horizontal boundary.
  • the present invention may transmit information about a method of referring to pixels of an adjacent block to a decoder, and may not transmit information when an encoder / decoder uses the same method. .
  • FIG. 12 illustrates an embodiment of a filter shape when a plurality of adjacent blocks are referenced.
  • the target pixel in the block G is not included in the block boundary between the block F and the block J, which are the left block, and the K block is included as the block boundary.
  • One embodiment of the present invention may apply filtering using all pixels of adjacent blocks (blocks F and J) when not included as block boundaries, while adjacent blocks (blocks) when included as block boundaries.
  • K pixels can be used on a limited basis.
  • the filter coefficient calculating step is a step of adjusting the filter coefficient to match the filter shape determined in the filter shape determination step.
  • the filter shape is changed in the filter shape determination step, since the filter coefficient at the corresponding position is changed to 0, the total sum of all filter coefficients may not match the scaling value for filtering.
  • the coefficient of the adaptive loop filter in the encoder it is calculated based on a case in which the filter shape is normally symmetric. Therefore, when the filter shape is changed, the coefficient needs to be scaled to fit the full scale value.
  • Equation 1 A filter coefficient calculation method according to an embodiment of the present invention is shown in Equation 1 below.
  • S factor means a scaling value for filtering.
  • MASK (i, j) is a mask value indicating the presence or absence of filter coefficients. For example, MASK (i, j) has a value of 1 when there is a filter coefficient and a value of 0 when no filter coefficient exists.
  • f (i, j) means filter coefficients having a normally symmetric filter shape
  • f n (i, j) means filter coefficients calculated by the filter coefficient calculation method proposed by the present invention.
  • the size of the filter shape may be MxM.
  • the decoder separately separates the adaptive loop filter coefficients for the pixels including the block boundary and the adaptive loop filter coefficients for the pixels in the inner region not including the block boundary. You may have it.
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1 to 3 and 11 may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
  • the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices Can be used for
  • the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
  • the computer readable recording medium includes all kinds of storage devices for storing computer readable data.
  • the computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Can be.
  • the computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet).
  • the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.

Abstract

The present invention relates to a method for performing adaptive filtering according to a block boundary, comprising the steps of: determining whether a current pixel is within a block boundary; determining the shape of a filter depending on the location of the current pixel, when the current pixel is within the block boundary; calculating a filter coefficient based on the shape of the filter; and performing adaptive loop filtering using the filter coefficient.

Description

블록 경계에 따라 적응적으로 필터링을 수행하는 방법 및 장치Method and apparatus for adaptive filtering based on block boundary
본 발명은 비디오 신호의 인코딩/디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 블록 경계에 따라 적응적으로 필터링을 수행하는 기술에 관한 것이다.The present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a technique for adaptively performing filtering according to a block boundary.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium. Media such as an image, an image, an audio, and the like may be a target of compression encoding. In particular, a technique of performing compression encoding on an image is called video image compression.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.Accordingly, there is a need to design coding tools for more efficiently processing next generation video content.
특히, 영상 복호화가 완료된 영상에 대해서 블록 경계에서 루프 필터링의 오차를 줄임으로써 압축 효율을 높일 필요가 있다.In particular, it is necessary to increase the compression efficiency by reducing the error of loop filtering at the block boundary for the image that has been decoded.
본 발명은 다른 특성을 가지는 블록 경계에서 적응적 루프 필터의 오차를 최소화하는 블록 경계 인지 비대칭 적응적 루프 필터 방법을 제안하고자 한다.The present invention proposes a block boundary aware asymmetric adaptive loop filter method that minimizes the error of the adaptive loop filter at the block boundary having different characteristics.
본 발명은 경계 인지 비대칭 적응적 루프 필터를 위하여 블록 경계 판단 방법을 제안하고자 한다. The present invention proposes a block boundary determination method for boundary aware asymmetric adaptive loop filter.
본 발명은 경계 인지 비대칭 적응적 루프 필터를 위하여 필터 모양 결정 방법을 제안하고자 한다. The present invention proposes a filter shape determination method for a boundary-cognitive asymmetric adaptive loop filter.
본 발명은 경계 인지 비대칭 적응적 루프 필터를 위하여 필터 계수 도출 방법을 제안하고자 한다.The present invention proposes a filter coefficient derivation method for boundary-aware asymmetric adaptive loop filter.
본 발명은 경계 인지 비대칭 적응적 루프 필터를 위하여 적응적 루프 필터 적용 방법을 제안하고자 한다.The present invention proposes a method of applying an adaptive loop filter for a boundary aware asymmetric adaptive loop filter.
본 발명은, 블록 경계에 따라 적응적으로 필터링을 수행하는 방법에 있어서, 현재 픽셀이 블록 경계에 포함되는지 여부를 결정하는 단계; 상기 현재 픽셀이 블록 경계에 포함되는 경우, 상기 현재 픽셀의 위치에 따라 필터 모양을 결정하는 단계; 상기 필터 모양에 기초하여 필터 계수를 산출하는 단계; 및 상기 필터 계수를 이용하여 적응적 루프 필터링을 수행하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.The present invention provides a method for adaptively filtering according to a block boundary, comprising: determining whether a current pixel is included in a block boundary; If the current pixel is included in a block boundary, determining a filter shape according to the position of the current pixel; Calculating filter coefficients based on the filter shape; And performing adaptive loop filtering using the filter coefficients.
또한, 본 발명은, 블록 특성과 관련된 적어도 하나의 다른 조건을 만족하는지 여부를 확인하는 단계를 더 포함하고, 상기 적어도 하나의 다른 조건이 만족되는 경우, 상기 적응적 루프 필터링이 수행되는 것을 특징으로 한다.The present invention may further include checking whether the at least one other condition related to the block characteristic is satisfied, and when the at least one other condition is satisfied, the adaptive loop filtering is performed. do.
또한, 본 발명에서, 상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 예측 모드가 다른지 여부를 나타내는 것을 특징으로 한다.Further, in the present invention, at least one other condition related to the block characteristic is characterized by indicating whether the inter-block prediction mode is different.
또한, 본 발명에서, 상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 움직임 벡터 차이가 기결정된 임계값보다 작은지 여부를 나타내는 것을 특징으로 한다.Further, in the present invention, at least one other condition related to the block characteristic is characterized by indicating whether the motion vector difference between blocks is smaller than a predetermined threshold value.
또한, 본 발명에서, 상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 인접 블록 내 레지듀얼 신호가 존재하는지 여부를 나타내는 것을 특징으로 한다.Further, in the present invention, at least one other condition related to the block characteristic is characterized by indicating whether or not a residual signal exists in an adjacent block.
또한, 본 발명에서, 상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 적응적 루프 필터링이 적용되지 않는지 여부를 나타내는 것을 특징으로 한다.Further, in the present invention, at least one other condition related to the block characteristic is characterized by indicating whether adaptive loop filtering is not applied.
또한, 본 발명에서, 상기 필터 모양은 제한적으로 이용되는 참조 픽셀들에 의해 결정되고, 상기 참조 픽셀들은 상기 현재 픽셀의 위치에 따라 변경되는 것을 특징으로 한다.Further, in the present invention, the filter shape is determined by reference pixels that are limitedly used, and the reference pixels are changed according to the position of the current pixel.
또한, 본 발명에서, 상기 제한적으로 이용되는 참조 픽셀들은 블록 경계에 인접한 컬럼 단위로 결정되는 것을 특징으로 한다.Further, in the present invention, the limitedly used reference pixels are determined in units of columns adjacent to the block boundary.
또한, 본 발명에서, 상기 제한적으로 이용되는 참조 픽셀들은 상기 현재 픽셀이 블록 경계로부터 떨어진 위치에 비례하여 결정되는 것을 특징으로 한다.Further, in the present invention, the limitedly used reference pixels may be determined in proportion to the position where the current pixel is separated from a block boundary.
또한, 본 발명에서, 상기 필터 모양은 디코더에서 기정의된 방법에 따라 유도되거나, 인코더로부터 필터 모양에 대한 정보를 수신하여 결정되는 것을 특징으로 한다.Further, in the present invention, the filter shape may be derived according to a method defined in the decoder or determined by receiving information on the filter shape from the encoder.
또한, 본 발명에서, 상기 필터 계수는 상기 필터 모양에 대응되는 스케일링 계수를 이용하여 산출되는 것을 특징으로 한다.Further, in the present invention, the filter coefficient is characterized in that it is calculated using a scaling factor corresponding to the filter shape.
또한, 본 발명은, 블록 경계에 따라 적응적으로 필터링을 수행하는 장치에 있어서, 현재 픽셀이 블록 경계에 포함되는지 여부를 결정하는 블록 경계 판단부; 상기 현재 픽셀이 블록 경계에 포함되는 경우, 상기 현재 픽셀의 위치에 따라 필터 모양을 결정하는 필터 모양 결정부; 상기 필터 모양에 기초하여 필터 계수를 산출하는 필터 계수 산출부; 및 상기 필터 계수를 이용하여 적응적 루프 필터링을 수행하는 필터링 수행부를 포함하는 것을 특징으로 하는 장치를 제공한다.Also, the present invention provides an apparatus for adaptively filtering according to a block boundary, the apparatus comprising: a block boundary determination unit determining whether a current pixel is included in a block boundary; A filter shape determiner configured to determine a filter shape according to a position of the current pixel when the current pixel is included in a block boundary; A filter coefficient calculator for calculating filter coefficients based on the filter shape; And a filtering performing unit performing adaptive loop filtering using the filter coefficients.
또한, 본 발명에서, 상기 블록 경계 판단부는 블록 특성과 관련된 적어도 하나의 다른 조건을 만족하는지 여부를 확인하고, 상기 적어도 하나의 다른 조건이 만족되는 경우, 상기 적응적 루프 필터링이 수행되는 것을 특징으로 한다.Further, in the present invention, the block boundary determination unit determines whether at least one other condition related to a block characteristic is satisfied, and when the at least one other condition is satisfied, the adaptive loop filtering is performed. do.
또한, 본 발명에서, 상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 예측 모드가 다른지 여부, 블록간 움직임 벡터 차이가 기결정된 임계값보다 작은지 여부, 인접 블록 내 레지듀얼 신호가 존재하는지 여부, 또는 적응적 루프 필터링이 적용되지 않는지 여부 중 적어도 하나를 포함하는 것을 특징으로 한다.Further, in the present invention, at least one other condition related to the block characteristic is whether the inter-block prediction mode is different, whether the inter-block motion vector difference is smaller than a predetermined threshold value, and whether there is a residual signal in an adjacent block. Whether or not, or whether adaptive loop filtering is not applied.
본 발명은 적응적 루프 필터를 사용시, 블록 경계에서 성능이 저하되는 문제점을 해결하고 복원된 영상의 화질을 향상시킬 수 있다.The present invention can solve the problem of performance degradation at the block boundary when using the adaptive loop filter, and can improve the quality of the reconstructed image.
또한, 본 발명은 영상 복호화가 완료된 영상에 대해서 블록 경계 인지 비대칭 적응적 루프 필터를 적용함으로써 블록 경계에서 루프 필터링의 오차를 줄임으로써 압축 효율을 높일 수 있다.In addition, the present invention can increase the compression efficiency by reducing the error of loop filtering at the block boundary by applying a block boundary recognition asymmetric adaptive loop filter to the image of the image decoding is completed.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
도 3은 본 발명이 적용되는 실시예로서, 인루프 필터링부의 개략적인 내부 블록도를 나타낸다.3 is a schematic internal block diagram of an in-loop filtering unit as an embodiment to which the present invention is applied.
도 4는 본 발명이 적용되는 실시예로서, 적응적 루프 필터링부의 개략적인 내부 블록도를 나타낸다.4 is a schematic internal block diagram of an adaptive loop filtering unit according to an embodiment to which the present invention is applied.
도 5는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.5 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
도 6은 본 발명이 적용되는 실시예로서, 블록 단위에서 ALF(Adaptive Loop Filter)를 적용하는 예를 설명하기 위한 도면이다.FIG. 6 is an embodiment to which the present invention is applied and is a view for explaining an example of applying an adaptive loop filter (ALF) in block units.
도 7은 본 발명이 적용되는 실시예로서, 블록 경계에서 적용되는 ALF를 설명하기 위한 도면이다.FIG. 7 is a diagram for describing an ALF applied at a block boundary as an embodiment to which the present invention is applied.
도 8은 본 발명이 적용되는 실시예로서, 블록 경계 인지 비대칭 적응적 루프 필터링을 수행하는 흐름도를 나타낸다.8 is a flowchart illustrating a block boundary aware asymmetric adaptive loop filtering according to an embodiment to which the present invention is applied.
도 9는 본 발명이 적용되는 실시예로서, 블록 경계를 판단하는 흐름도를 나타낸다.9 is an embodiment to which the present invention is applied and shows a flowchart for determining a block boundary.
도 10 내지 도 12는 본 발명이 적용되는 실시예들로서, 블록 경계 인지 비대칭 적응적 루프 필터링을 적용하기 위한 필터 모양들을 나타낸다.10 to 12 illustrate filter shapes for applying block boundary aware asymmetric adaptive loop filtering as embodiments to which the present invention is applied.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, the configuration and operation of the embodiments of the present invention with reference to the accompanying drawings, the configuration and operation of the present invention described by the drawings will be described as one embodiment, whereby the technical spirit of the present invention And its core composition and operation are not limited.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.In addition, the terminology used in the present invention was selected as a general term widely used as possible now, in a specific case will be described using terms arbitrarily selected by the applicant. In such a case, since the meaning is clearly described in the detailed description of the part, it should not be interpreted simply by the name of the term used in the description of the present invention, and it should be understood that the meaning of the term should be understood and interpreted. .
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(partitioning), 분해(decomposition), 스플리팅 (splitting) 및 분할(division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.In addition, terms used in the present invention may be replaced for more appropriate interpretation when there are general terms selected to describe the invention or other terms having similar meanings. For example, signals, data, samples, pictures, frames, blocks, etc. may be appropriately replaced and interpreted in each coding process. In addition, partitioning, decomposition, splitting, and division may be appropriately replaced and interpreted in each coding process.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 인루프 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 예측부(180) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다. 상기 예측부(180)는 인터 예측부(181) 및 인트라 예측부(185)를 포함할 수 있다.Referring to FIG. 1, the encoder 100 may include an image splitter 110, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, and an in-loop filter 160. And a decoded picture buffer (DPB) 170, a predictor 180, and an entropy encoder 190. The predictor 180 may include an inter predictor 181 and an intra predictor 185.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(Input image)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다. The image divider 110 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units. For example, the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛 또는 타겟 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.However, the terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms. In addition, in the present specification, for convenience of description, the term coding unit or target unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto and may be appropriately interpreted according to the present invention. will be.
인코더(100)는 입력 영상 신호에서 인터 예측부(181) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다. The encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 181 or the intra predictor 185 from the input image signal, and generate the residual signal. Is transmitted to the converter 120.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.The transformer 120 may generate a transform coefficient by applying a transform technique to the residual signal. The conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.The quantization unit 130 may quantize the transform coefficients and transmit the quantized coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(181) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다. The quantized signal output from the quantization unit 130 may be used to generate a prediction signal. For example, the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through the inverse quantization unit 140 and the inverse transform unit 150 in the loop. A reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 181 or the intra predictor 185.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.Meanwhile, in the compression process as described above, adjacent blocks are quantized by different quantization parameters, thereby causing deterioration of the block boundary. This phenomenon is called blocking artifacts, which is one of the important factors in evaluating image quality. In order to reduce such deterioration, a filtering process may be performed. Through this filtering process, the image quality can be improved by removing the blocking degradation and reducing the error of the current picture.
인루프 필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 즉, 인루프 필터링부(160)는 원본 영상과 복원 영상의 차이를 최소화하는 필터링 과정을 수행할 수 있다.The in-loop filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits it to the decoded picture buffer 170. That is, the in-loop filtering unit 160 may perform a filtering process to minimize the difference between the original image and the reconstructed image.
복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 예측 필터링부(미도시)로 전송되어 통해 예측 성능을 향상시키기 위해 다시 필터링될 수 있다. 상기 예측 필터링부는 원본 영상과 참조 영상의 차이를 최소화하는 필터링 과정을 수행할 수 있다. 예를 들어, 상기 예측 필터링부는 위너 필터(Wiener filter)를 이용하여 필터링을 수행할 수 있다.The filtered signal transmitted to the decoded picture buffer 170 may be transmitted to a prediction filtering unit (not shown) and filtered again to improve prediction performance. The prediction filtering unit may perform a filtering process to minimize the difference between the original image and the reference image. For example, the prediction filtering unit may perform filtering using a Wiener filter.
상기 복호 픽쳐 버퍼(170)에 저장된 신호는 예측부(180)로 전송되어 예측 신호(prediction signal)를 생성하기 위해 이용될 수 있다. 예를 들어, 상기 필터링된 신호는 인터 예측부(181)에서 참조 픽쳐로 이용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 부호화 효율을 향상시킬 수 있다. 한편, 상기 예측 필터링부는 상기 예측부(180)와 별개의 유닛으로 도시될 수 있고, 또는 상기 예측부(180) 내에 위치하거나 다른 유닛과 함께 구성될 수도 있다.The signal stored in the decoded picture buffer 170 may be transmitted to the predictor 180 and used to generate a prediction signal. For example, the filtered signal may be used as a reference picture in the inter prediction unit 181. As such, the coding efficiency can be improved by using the filtered picture as a reference picture in the inter prediction mode. The prediction filtering unit may be shown as a separate unit from the prediction unit 180, or may be located in the prediction unit 180 or may be configured together with another unit.
복호 픽쳐 버퍼(170)는 인루프 필터링된 픽쳐 또는 예측 필터링된 픽쳐를 인터 예측부(181)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.The decoded picture buffer 170 may store the in-loop filtered picture or the predictive filtered picture for use as a reference picture in the inter prediction unit 181.
인터 예측부(181)는 복원 픽쳐(reconstructed picture) 또는 예측 필터링부(175)를 통해 필터링된 픽쳐를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다. The inter prediction unit 181 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to the filtered picture through the reconstructed picture or the predictive filtering unit 175. Here, since the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding in the previous time, blocking artifacts or ringing artifacts may exist. have.
따라서, 인터 예측부(181)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.Accordingly, the inter prediction unit 181 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter to solve performance degradation due to discontinuity or quantization of such signals. Herein, the subpixel refers to a virtual pixel generated by applying an interpolation filter, and the integer pixel refers to an actual pixel existing in the reconstructed picture. As the interpolation method, linear interpolation, bi-linear interpolation, wiener filter, or the like may be applied.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(181)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다. The interpolation filter may be applied to a reconstructed picture to improve the precision of prediction. For example, the inter prediction unit 181 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. You can make predictions.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.The intra predictor 185 may predict the current block by referring to samples around the block to which current encoding is to be performed. The intra prediction unit 185 may perform the following process to perform intra prediction. First, reference samples necessary for generating a prediction signal may be prepared. The prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
상기 인터 예측부(181) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다. A prediction signal generated through the inter predictor 181 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 인루프 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 예측부(260)를 포함하여 구성될 수 있다. 상기 예측부(260)는 인터 예측부(261) 및 인트라 예측부(265)를 포함할 수 있다. 2, the decoder 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an in-loop filtering unit 240, and a decoded picture buffer unit (DPB). 250, the prediction unit 260 may be configured. The predictor 260 may include an inter predictor 261 and an intra predictor 265.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.The reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다. The decoder 200 may receive a signal output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.The inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호(residual signal)를 획득하게 된다. The inverse transform unit 230 inversely transforms the transform coefficient to obtain a residual signal.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.A reconstructed signal is generated by adding the obtained residual signal to a prediction signal output from the inter predictor 260 or the intra predictor 265.
인루프 필터링부(240)는 필터 파라미터를 이용하여 필터링을 수행할 수 있으며, 필터링된 복원 신호(filtered reconstruction signal)는 재생 장치로 출력되거나 복호 픽쳐 버퍼(250)에 저장될 수 있다. 즉, 인루프 필터링부(240)는 원본 영상과 복원 영상의 차이를 최소화하는 필터링 과정을 수행할 수 있다. 이때, 상기 필터 파라미터는 인코더로부터 전송될 수 있으며, 또는 다른 코딩 정보로부터 유도될 수 있다.The in-loop filtering unit 240 may perform filtering using the filter parameter, and the filtered reconstruction signal may be output to the playback device or stored in the decoded picture buffer 250. That is, the in-loop filtering unit 240 may perform a filtering process to minimize the difference between the original image and the reconstructed image. In this case, the filter parameter may be transmitted from an encoder or derived from other coding information.
복호 픽쳐 버퍼(250)에 전송된 필터링된 신호는 예측 필터링부(미도시)로 전송되어 통해 예측 성능을 향상시키기 위해 다시 필터링될 수 있다. 상기 예측 필터링부는 원본 영상과 참조 영상의 차이를 최소화하는 필터링 과정을 수행할 수 있다. 예를 들어, 상기 예측 필터링부는 위너 필터(Wiener filter)를 이용하여 필터링을 수행할 수 있다.The filtered signal transmitted to the decoded picture buffer 250 may be transmitted to a prediction filtering unit (not shown) and filtered again to improve prediction performance. The prediction filtering unit may perform a filtering process to minimize the difference between the original image and the reference image. For example, the prediction filtering unit may perform filtering using a Wiener filter.
상기 필터링된 신호는 예측부(260)로 전송되어 예측 신호(prediction signal)를 생성하기 위해 이용될 수 있다. 예를 들어, 상기 예측 필터링부(255)를 통해 필터링된 신호는 인터 예측부(261)에서 참조 픽쳐로 이용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 부호화 효율을 향상시킬 수 있다. The filtered signal may be transmitted to the predictor 260 to be used to generate a prediction signal. For example, the signal filtered by the prediction filtering unit 255 may be used as a reference picture in the inter prediction unit 261. As such, the coding efficiency can be improved by using the filtered picture as a reference picture in the inter prediction mode.
복호 픽쳐 버퍼(250)는 인루프 필터링된 픽쳐 또는 예측 필터링된 픽쳐를 인터 예측부(261)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.The decoded picture buffer 250 may store the in-loop filtered picture or the predictive filtered picture for use as a reference picture in the inter prediction unit 261.
본 명세서에서, 인코더(100)의 인루프 필터링부(160), 인터 예측부(181) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 인루프 필터링부(240), 인터 예측부(261) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.In the present specification, the embodiments described in the in-loop filtering unit 160, the inter prediction unit 181, and the intra prediction unit 185 of the encoder 100 are each an in-loop filtering unit 240 and an inter prediction unit of the decoder. The same may be applied to the 261 and the intra predictor 265.
도 3은 본 발명이 적용되는 실시예로서, 인루프 필터링부의 개략적인 내부 블록도를 나타낸다.3 is a schematic internal block diagram of an in-loop filtering unit as an embodiment to which the present invention is applied.
인루프 필터링부는 디블록킹 필터링부(310), 적응적 오프셋 필터링부(320) 및 적응적 루프 필터링부(330) 중 적어도 하나를 포함할 수 있다.The in-loop filtering unit may include at least one of a deblocking filtering unit 310, an adaptive offset filtering unit 320, and an adaptive loop filtering unit 330.
상기 인루프 필터링부는 복원 픽쳐에 필터링을 적용하여 재생 장치로 출력하거나, 버퍼에 저장하여 인터 예측 모드에서 참조 픽쳐로 이용할 수 있다.The in-loop filtering unit may apply filtering to the reconstructed picture and output the filtered picture to the reproduction device or store the result in a buffer to use as a reference picture in the inter prediction mode.
상기 디블록킹 필터링부(310)는 복원 픽쳐의 경계에서 발생하는 왜곡 현상을 개선하는 기능을 수행한다. 예를 들어, 예측 유닛이나 변환 유닛의 경계에서 발생하는 블록킹 열화를 개선할 수 있다. The deblocking filtering unit 310 performs a function of improving distortion occurring at the boundary of the reconstructed picture. For example, blocking degradation occurring at the boundary of the prediction unit or the transform unit may be improved.
먼저, 상기 디블록킹 필터링부(310)는 블록 경계에서 복원 픽셀 값의 불연속 여부를 확인하고, 블록킹 열화가 발생한 경우 해당 에지 경계에서 디블록킹 필터링을 수행할 수 있다. 예를 들어, 블록 경계가 8x8 블록 경계이면서 예측 유닛이나 변환 유닛의 경계인지를 판단하고, 그에 기초하여 경계 강도(BS) 값을 산출할 수 있다. 상기 경계 강도(BS) 값에 기초하여 필터링을 수행할지 여부를 결정할 수 있으며, 이때 필터링 파라미터가 함께 이용될 수 있다.First, the deblocking filtering unit 310 may determine whether a reconstructed pixel value is discontinuous at a block boundary, and perform deblocking filtering at a corresponding edge boundary when blocking degradation occurs. For example, it may be determined whether a block boundary is an 8x8 block boundary and a boundary of a prediction unit or a transform unit, and a boundary strength BS value may be calculated based on the block boundary. It may be determined whether to perform filtering based on the boundary strength (BS) value, and the filtering parameter may be used together.
상기 적응적 오프셋 필터링부(320)는 복원 픽셀에 오프셋을 가산하여 복원 영상과 원본 영상 간의 에러를 최소화하는 기능을 수행할 수 있다. 여기서, 상기 복원 영상은 디블록킹 필터링된 영상을 의미할 수 있다. 인코더의 경우 복원 영상과 원본 영상 간의 에러를 보정하기 위한 오프셋 파라미터를 산출해서 이를 디코더로 전송하고, 디코더의 경우 전송된 오프셋 파라미터를 엔트로피 복호화한 후 그에 기초하여 픽셀 단위로 필터링을 수행할 수 있다.The adaptive offset filtering unit 320 may perform a function of minimizing an error between the reconstructed image and the original image by adding an offset to the reconstructed pixel. Here, the reconstructed image may mean a deblocking filtered image. In the case of the encoder, an offset parameter for correcting an error between the reconstructed image and the original image may be calculated and transmitted to the decoder. In the case of the decoder, the transmitted offset parameter may be entropy decoded and then filtered based on the pixel unit.
상기 적응적 루프 필터링부(330)는 원본 영상과 복원 영상과의 오차를 최소화시키는 최적의 계수를 산출하여 필터링을 수행할 수 있다. 인코더의 경우, 원본 영상과 복원 영상과의 오차를 최소로 만드는 필터 계수를 유도하고, 적응적으로 블록마다 적응적 루프 필터링 적용 여부에 대한 정보 및 필터 계수를 디코더에 전송할 수 있다. 디코더의 경우, 전송된 적응적 루프 필터링 적용 여부에 대한 정보 및 필터 계수에 기초하여 필터링을 수행할 수 있다.The adaptive loop filtering unit 330 may perform filtering by calculating an optimal coefficient that minimizes an error between the original image and the reconstructed image. In the case of the encoder, it is possible to derive filter coefficients that minimize the error between the original image and the reconstructed image, and adaptively transmit information and filter coefficients about whether adaptive loop filtering is applied to each decoder to the decoder. In the case of the decoder, filtering may be performed based on information on whether the transmitted adaptive loop filtering is applied and filter coefficients.
본 발명의 일실시예로, 상기 적응적 루프 필터링부(330)는 다른 특성을 가지는 블록 경계에서 적응적 루프 필터의 오차를 최소화하는 블록 경계 인지 비대칭 적응적 루프 필터 방법을 제공한다.In one embodiment of the present invention, the adaptive loop filtering unit 330 provides a block boundary aware asymmetric adaptive loop filter method for minimizing the error of the adaptive loop filter at the block boundary having different characteristics.
본 발명의 일실시예로, 상기 적응적 루프 필터링부(330)는 블록 경계 인지 비대칭 적응적 루프 필터를 위해 블록 경계를 판단하는 방법을 제공한다. In one embodiment of the present invention, the adaptive loop filtering unit 330 provides a method for determining a block boundary for block boundary aware asymmetric adaptive loop filter.
본 발명의 일실시예로, 블록 경계 인지 비대칭 적응적 루프 필터를 위하여 필터 모양을 결정하는 방법을 제공한다. In one embodiment of the present invention, a method for determining a filter shape for a block boundary aware asymmetric adaptive loop filter is provided.
본 발명의 일실시예로, 블록 경계 인지 비대칭 적응적 루프 필터를 위하여 필터 계수를 도출하는 방법을 제공한다.In one embodiment of the present invention, a method for deriving filter coefficients for block boundary aware asymmetric adaptive loop filter is provided.
도 4는 본 발명이 적용되는 실시예로서, 적응적 루프 필터링부의 개략적인 내부 블록도를 나타낸다.4 is a schematic internal block diagram of an adaptive loop filtering unit according to an embodiment to which the present invention is applied.
적응적 루프 필터링부(330)는 블록 경계 판단부(331), 필터모양 결정부(332), 필터 계수 산출부(333) 및 필터링 수행부(334) 중 적어도 하나를 포함할 수 있다.The adaptive loop filtering unit 330 may include at least one of a block boundary determiner 331, a filter shape determiner 332, a filter coefficient calculator 333, and a filter performer 334.
블록 경계 판단부(331)는 현재 적응적 루프 필터를 적용하기 위한 대상 픽셀이 블록 경계에 속하는지를 판단한다. 예를 들어, 현재 필터링될 대상 픽셀의 위치가 블록 경계로 판단되면 본 발명이 적용되는 필터링 실시예들이 적용될 수 있다. 반면, 블록 경계가 아닌 경우에는 기존의 루프 필터링 방법이 적용될 수 있다. The block boundary determination unit 331 determines whether the target pixel for applying the current adaptive loop filter belongs to the block boundary. For example, if the location of the target pixel to be currently filtered is determined as the block boundary, filtering embodiments to which the present invention is applied may be applied. On the other hand, if it is not a block boundary, the existing loop filtering method may be applied.
필터 모양 결정부(332)는, 현재 필터링될 대상 픽셀의 위치가 블록 경계로 판단된 경우, 필터 모양을 결정할 수 있다. 예를 들어, 대상 픽셀의 위치에 따라 필터 모양을 결정할 수 있다. 이때, 상기 필터 모양은 대상 픽셀의 위치에 따라 다를 수 있다. 또한, 상기 필터 모양은 디코더에서 정의된 방법에 따라 유도되거나, 인코더로부터 필터 모양에 대한 정보를 수신하여 결정할 수 있다.The filter shape determiner 332 may determine the filter shape when the position of the target pixel to be currently filtered is determined as the block boundary. For example, the filter shape may be determined according to the position of the target pixel. In this case, the filter shape may vary depending on the position of the target pixel. In addition, the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
필터 계수 산출부(333)는 상기 필터 모양 결정부(332)에서 결정된 모양에 기초하여 필터 계수를 계산할 수 있다.The filter coefficient calculator 333 may calculate the filter coefficients based on the shape determined by the filter shape determiner 332.
필터링 수행부(334)는 상기 필터 모양 또는 상기 필터 계수 중 적어도 하나에 기초하여 필터링을 수행할 수 있다.The filtering performing unit 334 may perform filtering based on at least one of the filter shape or the filter coefficients.
도 5는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.5 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.The encoder may split one image (or picture) in units of a rectangular Coding Tree Unit (CTU). In addition, one CTU is sequentially encoded according to a raster scan order.
예를 들어, CTU의 크기는 64x64, 32x32, 16x16 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않는다. 인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.For example, the size of the CTU may be set to any one of 64x64, 32x32, and 16x16, but the present invention is not limited thereto. The encoder may select and use the size of the CTU according to the resolution of the input video or the characteristics of the input video. The CTU may include a coding tree block (CTB) for a luma component and a coding tree block (CTB) for two chroma components corresponding thereto.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다. One CTU may be decomposed into a quadtree (QT) structure. For example, one CTU may be divided into four units having a square shape and each side is reduced by half in length. The decomposition of this QT structure can be done recursively.
도 5를 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다. Referring to FIG. 5, a root node of a QT may be associated with a CTU. The QT may be split until it reaches a leaf node, where the leaf node may be referred to as a coding unit (CU).
CU은 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다. CU은 휘도(luma) 성분에 대한 코딩 블록(CB: Coding Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 CB를 포함할 수 있다. 예를 들어, CU의 크기는 64x64, 32x32, 16x16, 8x8 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, CU의 크기는 더 커지거나 다양해질 수 있다.A CU may mean a basic unit of coding in which an input image is processed, for example, intra / inter prediction is performed. The CU may include a coding block (CB) for a luma component and a CB for two chroma components corresponding thereto. For example, the size of the CU may be determined as any one of 64x64, 32x32, 16x16, and 8x8. However, the present invention is not limited thereto, and in the case of a high resolution image, the size of the CU may be larger or more diverse.
도 5를 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다. Referring to FIG. 5, the CTU corresponds to a root node and has a smallest depth (ie, level 0) value. The CTU may not be divided according to the characteristics of the input image. In this case, the CTU corresponds to a CU.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 5(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.The CTU may be decomposed in QT form, and as a result, lower nodes having a depth of level 1 may be generated. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 1 corresponds to a CU. For example, in FIG. 5 (b), CU (a), CU (b), and CU (j) corresponding to nodes a, b, and j are divided once in the CTU and have a depth of level 1. FIG.
레벨 1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 5(b)에서 노드 c, h 및 i에 대응하는 CU(c), CU(h), CU(i)는 CTU에서 두 번 분할되었으며, 레벨 2의 깊이를 가진다. At least one of the nodes having a depth of level 1 may be split into QT again. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a level 2 depth corresponds to a CU. For example, in FIG. 5 (b), CU (c), CU (h) and CU (i) corresponding to nodes c, h and i are divided twice in the CTU and have a depth of level 2. FIG.
또한, 레벨 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 5(b)에서 노드 d, e, f, g에 대응하는 CU(d), CU(e), CU(f), CU(g)는 CTU에서 3번 분할되었으며, 레벨 3의 깊이를 가진다.In addition, at least one of the nodes having a depth of 2 may be divided into QTs. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 3 corresponds to a CU. For example, in FIG. 5 (b), CU (d), CU (e), CU (f), and CU (g) corresponding to nodes d, e, f, and g are divided three times in the CTU, and level 3 Has a depth of.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 부호화의 효율을 고려하여 CU의 최대 크기 또는 최소 크기를 결정할 수 있다. 그리고, 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 최대 크기를 가지는 CU를 최대 코딩 유닛(LCU: Largest Coding Unit)이라고 지칭하며, 최소 크기를 가지는 CU를 최소 코딩 유닛(SCU: Smallest Coding Unit)이라고 지칭할 수 있다. In the encoder, the maximum size or the minimum size of the CU may be determined according to characteristics (eg, resolution) of the video image or in consideration of encoding efficiency. Information about this or information capable of deriving the information may be included in the bitstream. A CU having a maximum size may be referred to as a largest coding unit (LCU), and a CU having a minimum size may be referred to as a smallest coding unit (SCU).
또한, 트리 구조를 갖는 CU은 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU은 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.In addition, a CU having a tree structure may be hierarchically divided with predetermined maximum depth information (or maximum level information). Each partitioned CU may have depth information. Since the depth information indicates the number and / or degree of division of the CU, the depth information may include information about the size of the CU.
LCU가 QT 형태로 분할되므로, LCU의 크기 및 최대 깊이 정보를 이용하면 SCU의 크기를 구할 수 있다. 또는 역으로, SCU의 크기 및 트리의 최대 깊이 정보를 이용하면, LCU의 크기를 구할 수 있다.Since the LCU is divided into QT forms, the size of the SCU can be obtained by using the size and maximum depth information of the LCU. Or conversely, using the size of the SCU and the maximum depth information of the tree, the size of the LCU can be obtained.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU은 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU은 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.For one CU, information indicating whether the corresponding CU is split may be delivered to the decoder. For example, the information may be defined as a split flag and may be represented by a syntax element "split_cu_flag". The division flag may be included in all CUs except the SCU. For example, if the split flag value is '1', the corresponding CU is divided into four CUs again. If the split flag value is '0', the CU is not divided any more and the coding process for the CU is not divided. Can be performed.
앞서 도 5의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다. In the embodiment of FIG. 5, the division process of the CU has been described as an example, but the QT structure described above may also be applied to the division process of a transform unit (TU) which is a basic unit for performing transformation.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU은 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다. The TU may be hierarchically divided into a QT structure from a CU to be coded. For example, a CU may correspond to a root node of a tree for a transform unit (TU).
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.Since the TU is divided into QT structures, the TU divided from the CU may be divided into smaller lower TUs. For example, the size of the TU may be determined by any one of 32x32, 16x16, 8x8, and 4x4. However, the present invention is not limited thereto, and in the case of a high resolution image, the size of the TU may be larger or more diverse.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다. For one TU, information indicating whether the corresponding TU is divided may be delivered to the decoder. For example, the information may be defined as a split transform flag and may be represented by a syntax element "split_transform_flag".
상기 분할 변환 플래그는 최소 크기의 TU을 제외한 모든 TU에 포함될 수 있다. 예를 들어, 상기 분할 변환 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 상기 분할 변환 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다. The division conversion flag may be included in all TUs except the TU of the minimum size. For example, if the value of the division conversion flag is '1', the corresponding TU is divided into four TUs again. If the value of the division conversion flag is '0', the corresponding TU is no longer divided.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다. As described above, a CU is a basic unit of coding in which intra prediction or inter prediction is performed. In order to code an input image more effectively, a CU may be divided into prediction units (PUs).
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.The PU is a basic unit for generating a prediction block, and may generate different prediction blocks in PU units within one CU. The PU may be divided differently according to whether an intra prediction mode or an inter prediction mode is used as a coding mode of a CU to which the PU belongs.
도 6은 본 발명이 적용되는 실시예로서, 블록 단위에서 ALF(Adaptive Loop Filter)를 적용하는 예를 설명하기 위한 도면이다.FIG. 6 is an embodiment to which the present invention is applied and is a view for explaining an example of applying an adaptive loop filter (ALF) in block units.
본 발명이 적용되는 적응적 루프 필터는 디코딩이 완료된 복원 영상에 인코더로부터 수신 받은 필터 계수로 필터링하는 기술이다. 인코더에서 전송하는 필터 계수는 픽쳐 단위로 복원 영상과 원본 영상의 에러를 최소화하는 필터 계수를 구하게 된다. 필터 계수는 정수 형태 또는 실수 형태를 가질 수 있으며, Mx1 또는 MxM 모양의 필터를 N개 보낼 수 있다. The adaptive loop filter to which the present invention is applied is a technique for filtering the decoded reconstructed image by the filter coefficient received from the encoder. The filter coefficients transmitted from the encoder obtain filter coefficients that minimize errors of the reconstructed picture and the original picture in picture units. The filter coefficient may have an integer form or a real form, and may send N filters having an Mx1 or MxM shape.
또한, 본 발명의 일실시예로, 적응적 루프 필터는 LCU (largest coding unit) 또는 CU (coding unit) 단위에서 적응적 루프 필터 적용 여부를 결정할 수 있다. In addition, according to an embodiment of the present invention, the adaptive loop filter may determine whether to apply the adaptive loop filter in a large coding unit (LCU) or a coding unit (CU).
상기 도 6을 살펴보면, 블록 단위에서 ALF on 또는 ALF off를 적용하는 예를 보여준다. 예를 들어, 블록 A, C, G, H, I, J, L 는 적응적 루프 필터가 적용되는 것을 나타내고, 블록 B, D, E, F, K 는 적응적 루프 필터가 적용되지 않는 것을 나타낸다.Referring to FIG. 6, an example of applying ALF on or ALF off in a block unit is shown. For example, blocks A, C, G, H, I, J, L indicate that an adaptive loop filter is applied and blocks B, D, E, F, K indicate that an adaptive loop filter is not applied. .
이 경우, 블록 A와 B, 블록 F와 G 등과 같이 적응적 루프 필터가 적용되는 블록과 적용되지 않는 블록은 서로 다른 특성을 가질 수 있다. 적응적 루프 필터가 적용되는 블록이 필터링을 수행하게 되는 경우, 적응적 루프 필터가 적용되지 않는 인접 블록의 픽셀을 이용하면 필터링 성능이 저하될 수 있다. 예를 들어, 블록 G가 블록 F의 픽셀들을 이용하여 필터링을 수행하는 경우 필터링 성능이 저하될 수 있다.In this case, blocks to which the adaptive loop filter is applied and blocks not to be applied, such as blocks A and B, blocks F and G, may have different characteristics. When a block to which the adaptive loop filter is applied performs filtering, filtering performance may be degraded by using pixels of adjacent blocks to which the adaptive loop filter is not applied. For example, when the block G performs filtering using the pixels of the block F, the filtering performance may be degraded.
따라서, 본 발명은 블록 경계에서의 적응적 루프 필터링의 오차를 최소화하는 방법을 제공한다.Accordingly, the present invention provides a method for minimizing the error of adaptive loop filtering at the block boundary.
도 7은 본 발명이 적용되는 실시예로서, 블록 경계에서 적용되는 ALF를 설명하기 위한 도면이다.FIG. 7 is a diagram for describing an ALF applied at a block boundary as an embodiment to which the present invention is applied.
본 발명의 일실시예는, 적응적 루프 필터가 적용되는 블록과 적용되지 않는 블록이 인접하고 있는 경우, 적응적 루프 필터링을 수행하는 방법을 제공한다.One embodiment of the present invention provides a method for performing adaptive loop filtering when a block to which an adaptive loop filter is applied and a block to which no adaptive loop filter is applied are adjacent to each other.
도 7을 살펴보면, 7x7 크기의 ALF가 블록 경계에서 적용되는 예를 보여준다. F 블록은 ALF off 블록이고, G 블록은 ALF on 블록이다. G 블록 경계에 있는 현재 픽셀 (진한 빗금)은 F 블록의 참조 픽셀 (연한 빗금)을 포함하여 자신의 주변에 있는 픽셀들을 이용하여 필터링을 수행한다. Referring to FIG. 7, an example in which an ALF having a size of 7 × 7 is applied at a block boundary is shown. The F block is an ALF off block and the G block is an ALF on block. The current pixel (dark hatched) at the boundary of the G block is filtered using the pixels around it, including the reference pixel (light hatched) of the F block.
그러나, 앞서 설명한 바와 같이, 블록 F와 G 는 서로 다른 특성을 가질 수 있기 때문에, 블록 F에 대해 적응적 루프 필터링을 수행할 때 인접 블록 F의 참조 픽셀들을 이용하면 필터링 성능이 저하될 수 있다. However, as described above, since blocks F and G may have different characteristics, when the adaptive loop filtering is performed on the block F, using the reference pixels of the adjacent block F may reduce the filtering performance.
따라서, 본 발명은 블록 경계 여부에 기초하여 비대칭적 적응적 루프 필터링을 수행하는 방법을 제공한다.Accordingly, the present invention provides a method for performing asymmetric adaptive loop filtering based on block boundaries.
도 8은 본 발명이 적용되는 실시예로서, 블록 경계 인지 비대칭 적응적 루프 필터링을 수행하는 흐름도를 나타낸다.8 is a flowchart illustrating a block boundary aware asymmetric adaptive loop filtering according to an embodiment to which the present invention is applied.
본 발명의 일실시예는, 블록 경계 인지 비대칭 적응적 루프 필터 과정을 제공한다. 본 발명은, 크게 블록 경계 판단 단계, 필터 모양 결정 단계, 필터 계수 산출 단계 및 필터링 수행 단계를 포함할 수 있다. 본 실시예는, 인코더 또는 디코더 내 적응적 루프 필터링부에서 수행될 수 있다.One embodiment of the present invention provides a block boundary aware asymmetric adaptive loop filter process. The present invention may largely include a block boundary determining step, a filter shape determining step, a filter coefficient calculating step, and a filtering performing step. This embodiment may be performed by an adaptive loop filtering unit in an encoder or a decoder.
먼저, 적응적 루프 필터링부는 필터링할 대상 픽셀이 블록 경계에 포함되는지 여부를 확인할 수 있다(S810). 여기서, 블록 경계라 함은, 픽쳐 경계, LCU 경계, CU 경계, TU 경계, 또는 PU 경계 등 중 어느 하나에 해당할 수 있다.First, the adaptive loop filtering unit may check whether the target pixel to be filtered is included in the block boundary (S810). Here, the block boundary may correspond to any one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
다른 실시예로, 상기 적응적 루프 필터링부는 다른 조건들 확인함으로써 본 발명이 적용되는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할지 여부를 결정할 수 있다. 여기서, 블록 경계 인지 비대칭 적응적 루프 필터링이란 블록 경계에서 비대칭적으로 적응적 루프 필터를 적용하는 것을 말한다.In another embodiment, the adaptive loop filtering unit may determine whether to perform block boundary recognition asymmetric adaptive loop filtering to which the present invention is applied by checking other conditions. Here, block boundary aware asymmetric adaptive loop filtering means applying an adaptive loop filter asymmetrically at the block boundary.
예를 들어, 상기 적응적 루프 필터링부는 필터링할 대상 픽셀이 블록 경계에 포함되는 경우라도, 다른 조건을 만족하는 경우 본 발명이 적용되는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다.For example, even if the target pixel to be filtered is included in the block boundary, the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering to which the present invention is applied when other conditions are satisfied.
여기서, 상기 다른 조건은 블록 또는 유닛의 특성을 들 수 있으며, 예를 들어, 예측 모드, 블록들 간의 움직임 벡터 차이, 레지듀얼 신호의 존재 여부, ALF의 적용 여부 등이 있을 수 있다.Here, the other condition may be a characteristic of a block or a unit, and for example, a prediction mode, a motion vector difference between blocks, a presence of a residual signal, and whether an ALF is applied.
다른 실시예로, 상기 적응적 루프 필터링부는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할지 여부를 나타내는 플래그 정보에 기초하여 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다.In another embodiment, the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering based on flag information indicating whether to perform block boundary aware asymmetric adaptive loop filtering.
상기와 같이, 대상 픽셀이 블록 경계에 포함되거나, 다른 조건들에 의해 블록 경계 인지 비대칭 적응적 루프 필터링이 수행되는 것으로 결정된 경우, 상기 적응적 루프 필터링부는 대상 픽셀의 위치에 따라 필터 모양을 결정할 수 있다(S820). As described above, when it is determined that the target pixel is included in the block boundary or block boundary aware asymmetric adaptive loop filtering is performed by other conditions, the adaptive loop filtering unit may determine the filter shape according to the position of the target pixel. There is (S820).
예를 들어, 대상 픽셀이 블록 경계에 포함되어 있는 경우, 인접 블록의 참조 픽셀은 제한적으로 이용될 수 있다. 구체적 예로, 인접 블록의 참조 픽셀들 중 첫번째 컬럼의 픽셀들만 이용될 수 있다. For example, when a target pixel is included in a block boundary, reference pixels of adjacent blocks may be limitedly used. As a specific example, only pixels of the first column of the reference pixels of the adjacent block may be used.
다른 예로, 대상 픽셀이 블록 경계에서 떨어진 위치만큼, 인접 블록의 참조 픽셀들의 컬럼들을 이용할 수 있다. 구체적 예로, 대상 픽셀이 블록 경계에서 두번째 픽셀 위치에 있다면, 인접 블록의 참조 픽셀들 중 두번째 컬럼까지 이용할 수 있다.As another example, columns of reference pixels of adjacent blocks may be used as far as a target pixel is located at a block boundary. As a specific example, if the target pixel is located at the second pixel position at the block boundary, up to the second column of the reference pixels of the adjacent block may be used.
다른 예로, 상기 필터 모양은 디코더에서 정의된 방법에 따라 유도되거나, 인코더로부터 필터 모양에 대한 정보를 수신하여 결정할 수 있다.As another example, the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
상기와 같이 필터 모양이 결정되면, 상기 적응적 루프 필터링부는 필터 모양에 따라 필터 계수를 계산할 수 있다(S830).When the filter shape is determined as described above, the adaptive loop filtering unit may calculate a filter coefficient according to the filter shape (S830).
상기 적응적 루프 필터링부는 필터 계수를 이용하여 적응적 루프 필터링을 수행할 수 있다(S840).The adaptive loop filtering unit may perform adaptive loop filtering using filter coefficients (S840).
한편, 상기 S810 단계에 따라 대상 픽셀이 블록 경계에 포함되지 않는 경우, 상기 적응적 루프 필터링부는 기존 루프 필터링 방식에 따라 필터링을 수행할 수 있다(S850). Meanwhile, when the target pixel is not included in the block boundary according to step S810, the adaptive loop filtering unit may perform filtering according to an existing loop filtering method (S850).
다른 예로, 다른 조건들에 의해 블록 경계 인지 비대칭 적응적 루프 필터링이 수행되지 않는 것으로 결정된 경우에도, 상기 적응적 루프 필터링부는 기존 루프 필터링 방식에 따라 필터링을 수행할 수 있다. As another example, even when it is determined that block boundary-aware asymmetric adaptive loop filtering is not performed by other conditions, the adaptive loop filtering unit may perform filtering according to an existing loop filtering scheme.
도 9는 본 발명이 적용되는 실시예로서, 블록 경계를 판단하는 흐름도를 나타낸다.9 is an embodiment to which the present invention is applied and shows a flowchart for determining a block boundary.
본 발명의 실시예에서, 적응적 루프 필터링부는 필터링할 대상 픽셀이 블록 경계에 포함되는지 여부를 확인할 수 있다. 여기서, 블록 경계라 함은, 픽쳐 경계, LCU 경계, CU 경계, TU 경계, 또는 PU 경계 등 중 적어도 하나를 포함할 수 있다.In an embodiment of the present invention, the adaptive loop filtering unit may determine whether the target pixel to be filtered is included in the block boundary. Here, the block boundary may include at least one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
다른 실시예로, 상기 적응적 루프 필터링부는 다른 조건을 확인함으로써 본 발명이 적용되는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할지 여부를 결정할 수 있다. 여기서, 상기 다른 조건은 블록 또는 유닛의 특성을 들 수 있으며, 예를 들어, 예측 모드, 블록들 간의 움직임 벡터 차이, 레지듀얼 신호의 존재 여부, ALF의 적용 여부 등이 있을 수 있다.In another embodiment, the adaptive loop filtering unit may determine whether to perform block boundary or asymmetric adaptive loop filtering to which the present invention is applied by checking other conditions. Here, the other condition may be a characteristic of a block or a unit, and for example, a prediction mode, a motion vector difference between blocks, a presence of a residual signal, and whether an ALF is applied.
상기 도 9를 살펴보면, 먼저 상기 적응적 루프 필터링부는 필터링될 대상 픽셀이 블록 경계에 속하는지 여부를 판단할 수 있다(S910). 예를 들어, 상기 블록 경계는, 픽쳐 경계, LCU 경계, CU 경계, TU 경계, 또는 PU 경계 등 중 적어도 하나를 포함할 수 있다.Referring to FIG. 9, first, the adaptive loop filtering unit may determine whether a target pixel to be filtered belongs to a block boundary (S910). For example, the block boundary may include at least one of a picture boundary, an LCU boundary, a CU boundary, a TU boundary, a PU boundary, and the like.
만약, 상기 필터링될 대상 픽셀이 블록 경계에 포함되는 경우, 상기 적응적 루프 필터링부는 예측 모드를 확인할 수 있다(S920). 예를 들어, 인접한 블록들의 예측 모드가 동일한지 여부를 확인할 수 있다. 구체적 예로, 상기 도 7의 블록 F와 블록 G의 예측 모드가 동일한지 여부를 확인할 수 있다.If the target pixel to be filtered is included in the block boundary, the adaptive loop filtering unit may check a prediction mode (S920). For example, it may be determined whether the prediction modes of adjacent blocks are the same. As a specific example, it may be determined whether the prediction modes of the block F and the block G of FIG. 7 are the same.
만약, 인접한 블록들의 예측 모드가 동일하지 않은 경우, 상기 적응적 루프 필터링부는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다.If the prediction modes of adjacent blocks are not the same, the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
또는, 상기 적응적 루프 필터링부는 추가적으로 다른 조건을 확인할 수 있다. 예를 들어, 블록들 간의 움직임 벡터 차이가 기설정된 임계값보다 작은지 여부를 확인할 수 있다(S930).Alternatively, the adaptive loop filtering unit may additionally check other conditions. For example, it may be checked whether the motion vector difference between the blocks is smaller than a preset threshold (S930).
만약, 블록들 간의 움직임 벡터 차이가 기설정된 임계값보다 작은 경우, 상기 적응적 루프 필터링부는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다.If the motion vector difference between blocks is smaller than a preset threshold, the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
또는, 상기 적응적 루프 필터링부는 추가적으로 다른 조건을 확인할 수 있다. 예를 들어, 상기 적응적 루프 필터링부는 인접 블록 내에 레지듀얼 신호가 존재하는지 여부를 확인할 수 있다(S940). 구체적 예로, CBF(F) 가 1인지 여부를 확인함으로써 인접 블록(F) 내에 레지듀얼 신호가 존재하는지 여부를 확인할 수 있다.Alternatively, the adaptive loop filtering unit may additionally check other conditions. For example, the adaptive loop filtering unit may determine whether a residual signal exists in an adjacent block (S940). For example, by checking whether the CBF (F) is 1, whether the residual signal exists in the adjacent block F may be checked.
만약, 인접 블록 내에 레지듀얼 신호가 존재하는 경우, 상기 적응적 루프 필터링부는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다.If there is a residual signal in an adjacent block, the adaptive loop filtering unit may perform block boundary aware asymmetric adaptive loop filtering.
또는, 상기 적응적 루프 필터링부는 추가적으로 다른 조건을 확인할 수 있다. 예를 들어, 상기 적응적 루프 필터링부는 ALF가 적용되는지 여부를 확인할 수 있다(S950).Alternatively, the adaptive loop filtering unit may additionally check other conditions. For example, the adaptive loop filtering unit may check whether ALF is applied (S950).
만약, ALF가 적용되지 않는 경우, 상기 적응적 루프 필터링부는 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할 수 있다(S970).If the ALF is not applied, the adaptive loop filtering unit may perform block boundary-aware asymmetric adaptive loop filtering (S970).
반면, 필터링될 대상 픽셀이 블록 경계에 속하지 않거나, 다른 조건들이 만족하지 않는 경우, 상기 적응적 루프 필터링부는 상기 필터링될 대상 픽셀이 블록 경계에 포함되지 않는 것으로 판단할 수 있고, 그에 따라 기존의 루프 필터링을 수행할 수 있다(S960).On the other hand, if the target pixel to be filtered does not belong to the block boundary or other conditions are not satisfied, the adaptive loop filtering unit may determine that the target pixel to be filtered is not included in the block boundary, and accordingly, the existing loop Filtering may be performed (S960).
예를 들어, 필터링될 대상 픽셀이 블록 경계에 속하지 않거나, 인접한 블록들의 예측 모드가 동일하거나, 블록들 간의 움직임 벡터 차이가 기설정된 임계값보다 작지 않거나, 인접 블록 내에 레지듀얼 신호가 존재하지 않거나, ALF가 적용되는 경우에는, 상기 적응적 루프 필터링부는 기존의 루프 필터링을 수행할 수 있다.For example, the target pixel to be filtered does not belong to a block boundary, the prediction modes of adjacent blocks are the same, the motion vector difference between the blocks is not smaller than a preset threshold, or there is no residual signal in the adjacent block, When ALF is applied, the adaptive loop filtering unit may perform existing loop filtering.
상기 도 9에서는, 상기 조건들이 모두 설명하고 있으나, 본 발명은 이에 한정되지 않으며, 상기 조건들 중 적어도 하나에 기초하여 블록 경계 인지 비대칭 적응적 루프 필터링을 수행할지 여부를 결정할 수 있다.In FIG. 9, all of the above conditions are described. However, the present invention is not limited thereto, and it may be determined whether to perform block boundary recognition asymmetric adaptive loop filtering based on at least one of the above conditions.
또한, 상기 조건들 중 하나의 조건을 사용하거나 선택적으로 다수를 조합하여 사용할 수 있으며, 상기 조건들의 순서가 변경될 수 있으며, 블록의 특성을 포함할 수 있는 다른 조건이 추가될 수도 있다.In addition, one of the above conditions may be used or optionally a plurality of combinations may be used, the order of the above conditions may be changed, and other conditions may be added that may include the characteristics of the block.
도 10 내지 도 12는 본 발명이 적용되는 실시예들로서, 블록 경계 인지 비대칭 적응적 루프 필터링을 적용하기 위한 필터 모양들을 나타낸다.10 to 12 illustrate filter shapes for applying block boundary aware asymmetric adaptive loop filtering as embodiments to which the present invention is applied.
도 10을 살펴보면, 블록 G 내의 대상 픽셀(현재 픽셀)이 블록 경계에 포함되는 경우, 적응적 루프 필터 적용시 블록 F의 픽셀을 제한적으로 사용할 수 있다. 이 경우, 블록 F와 블록 G는 다른 블록 특성을 가질 수 있다.Referring to FIG. 10, when the target pixel (the current pixel) in the block G is included in the block boundary, the pixel of the block F may be limitedly used when the adaptive loop filter is applied. In this case, block F and block G may have different block characteristics.
예를 들어, 대상 픽셀이 블록 경계에 포함되어 있는 경우, 인접 블록의 참조 픽셀은 제한적으로 이용될 수 있다. 구체적 예로, 도 10(a)를 살펴보면, 인접 블록의 참조 픽셀들 중 첫번째 컬럼의 픽셀들만 이용될 수 있다. For example, when a target pixel is included in a block boundary, reference pixels of adjacent blocks may be limitedly used. As a specific example, referring to FIG. 10A, only pixels of a first column of reference pixels of an adjacent block may be used.
또한, 도 10(b)를 살펴보면, 대상 픽셀이 블록 경계에서 두번째 픽셀 위치에 있는 경우에도, 인접 블록의 참조 픽셀들 중 첫번째 컬럼의 픽셀들만 이용될 수 있다. In addition, referring to FIG. 10B, even when the target pixel is located at the second pixel position at the block boundary, only pixels of the first column among the reference pixels of the adjacent block may be used.
다른 예로, 대상 픽셀이 블록 경계에서 떨어진 위치만큼, 인접 블록의 참조 픽셀들의 컬럼들을 이용할 수 있다. 구체적 예로, 대상 픽셀이 블록 경계에서 두번째 픽셀 위치에 있다면, 인접 블록의 참조 픽셀들 중 두번째 컬럼까지 이용할 수 있다.As another example, columns of reference pixels of adjacent blocks may be used as far as a target pixel is located at a block boundary. As a specific example, if the target pixel is located at the second pixel position at the block boundary, up to the second column of the reference pixels of the adjacent block may be used.
다른 예로, 상기 필터 모양은 디코더에서 정의된 방법에 따라 유도되거나, 인코더로부터 필터 모양에 대한 정보를 수신하여 결정할 수 있다.As another example, the filter shape may be derived according to a method defined in the decoder, or may be determined by receiving information on the filter shape from an encoder.
본 발명은, 대상 픽셀의 위치에 따라 필터 모양이 도 10(a)와 도 10(b)처럼 변경될 수 있다. 대상 픽셀이 수평 방향의 경계에 인접한 경우에도 유사하게 적용될 수 있다.In the present invention, the shape of the filter may be changed as shown in FIGS. 10 (a) and 10 (b) according to the position of the target pixel. The same applies to the case where the target pixel is adjacent to the horizontal boundary.
도 11은 다른 필터 모양의 실시 예로, 블록 F의 픽셀들 중 두 컬럼 픽셀들을 참조한 실시예를 보여준다. FIG. 11 illustrates an embodiment of another filter shape referring to two column pixels among the pixels of the block F. Referring to FIG.
도 11(a)를 살펴보면, 대상 픽셀이 블록 경계에 포함되어 있는 경우에도, 본 발명은 인접 블록의 참조 픽셀들 중 두 컬럼 픽셀들을 이용할 수 있다. Referring to FIG. 11A, even when a target pixel is included in a block boundary, the present invention may use two column pixels among reference pixels of an adjacent block.
또한, 도 11(b)를 살펴보면, 본 발명은 대상 픽셀이 블록 경계에서 떨어진 위치만큼, 인접 블록의 참조 픽셀들 중 두 컬럼 픽셀들을 이용할 수 있다. In addition, referring to FIG. 11B, the present invention may use two column pixels among reference pixels of an adjacent block as far as a target pixel is located at a block boundary.
대상 픽셀의 위치에 따라 필터 모양이 도 11(a)와 도 11(b)처럼 변경될 수 있다. 단, 도 11(b)는 기존의 적응적 루프 필터와 동일하기 때문에 블록 경계를 포함하지 않는 픽셀의 필터링과 동일한 방법으로 처리될 수 있다. The shape of the filter may be changed as shown in FIGS. 11A and 11B according to the position of the target pixel. However, since FIG. 11B is the same as the conventional adaptive loop filter, it may be processed in the same manner as the filtering of the pixel not including the block boundary.
그러나, 필터 탭이 도 11의 실시예보다 큰 경우에는 해당 필터 모양이 변경될 수 있다. 해당 픽셀이 수평 방향의 경계에 인접한 경우에도 유사하게 적용될 수 있다. However, when the filter tab is larger than the embodiment of FIG. 11, the shape of the filter may be changed. The same applies to the case where the pixel is adjacent to the horizontal boundary.
도 10과 도 11에서와 같이, 본 발명은 인접 블록의 픽셀을 참조하는 방법에 대한 정보를 디코더로 전송해 줄 수 있으며, 인코더/디코더가 동일한 방법을 사용하는 경우에는 정보를 전송하지 않을 수 있다.As shown in FIG. 10 and FIG. 11, the present invention may transmit information about a method of referring to pixels of an adjacent block to a decoder, and may not transmit information when an encoder / decoder uses the same method. .
도 12는 복수개의 인접 블록이 참조되는 경우 필터 모양의 실시예를 보여준다. 12 illustrates an embodiment of a filter shape when a plurality of adjacent blocks are referenced.
도 12 (a)를 살펴보면, 블록 G 내의 대상 픽셀이 왼쪽 블록인 블록 F와 블록 J의 블록 경계에 포함되지 않으며, K 블록은 블록 경계로 포함되는 경우를 보여준다. Referring to FIG. 12A, the target pixel in the block G is not included in the block boundary between the block F and the block J, which are the left block, and the K block is included as the block boundary.
본 발명의 일실시예는, 블록 경계로 포함되는 않는 경우에는 인접 블록(블록 F와 블록 J)의 모든 픽셀을 사용하여 필터링을 적용할 수 있는 반면, 블록 경계로 포함되는 경우에는 인접 블록(블록 K)의 픽셀을 제한적으로 사용 가능하다. One embodiment of the present invention may apply filtering using all pixels of adjacent blocks (blocks F and J) when not included as block boundaries, while adjacent blocks (blocks) when included as block boundaries. K) pixels can be used on a limited basis.
도 12(b)를 살펴보면, 블록 G 내의 대상 픽셀의 왼쪽 블록인 블록 F만 블록 경계로 포함되지 않으며, 블록 J와 블록 K는 블록 경계로 포함되는 경우를 보여준다. 도 12(a)와 마찬가지로, 블록 경계로 포함되는 블록 J와 블록 K의 경우에는 필터링을 위한 픽셀이 제한적으로 사용되는 것을 볼 수 있다.Referring to FIG. 12B, only the block F, which is the left block of the target pixel in the block G, is not included as the block boundary, and the block J and the block K are included as the block boundary. As shown in FIG. 12A, in the case of blocks J and K included as block boundaries, pixels for filtering are limited.
한편, 본 발명이 적용되는 다른 실시예로, 필터 계수 산출 단계는 상기 필터 모양 결정 단계에서 결정된 필터 모양에 맞게 필터 계수를 조정하는 단계이다. On the other hand, in another embodiment to which the present invention is applied, the filter coefficient calculating step is a step of adjusting the filter coefficient to match the filter shape determined in the filter shape determination step.
상기 필터 모양 결정 단계에서 필터 모양이 변경되는 경우, 해당 위치의 필터 계수가 0으로 바뀌기 때문에 전체 필터 계수의 총 합이 필터링을 위한 스케일링 값과 일치하지 않을 수 있다. When the filter shape is changed in the filter shape determination step, since the filter coefficient at the corresponding position is changed to 0, the total sum of all filter coefficients may not match the scaling value for filtering.
또한, 인코더에서 적응적 루프 필터의 계수를 구할 때에는 정상적으로 대칭적인 필터 모양을 갖는 경우을 기준으로 계산되었기 때문에 필터 모양이 변경되었을 때 이에 맞도록 계수를 스케일링하여 전체 스케일 값을 맞출 필요가 있다. In addition, when calculating the coefficient of the adaptive loop filter in the encoder, it is calculated based on a case in which the filter shape is normally symmetric. Therefore, when the filter shape is changed, the coefficient needs to be scaled to fit the full scale value.
본 발명의 실시예를 따르는 필터 계수 산출 방법은 다음 수학식 1과 같다. A filter coefficient calculation method according to an embodiment of the present invention is shown in Equation 1 below.
수학식 1
Figure PCTKR2016006405-appb-M000001
Equation 1
Figure PCTKR2016006405-appb-M000001
여기서, S factor 는 필터링을 위한 스케일링 값을 의미한다. MASK (i,j)는 필터 계수의 존재 유무를 나타내는 마스크 값으로, 예를 들어, 필터 계수가 존재하는 경우에는 1 값을 갖고, 필터 계수가 존재하지 않는 경우에는 0 값을 갖는다. f(i,j)는 정상적으로 대칭적인 필터 모양의 필터 계수를 의미하고 f n (i,j)는 본 발명에서 제안하는 필터 계수 산출 방법으로 계산된 필터 계수를 의미한다. 상기 실시예에서 필터 모양의 크기는 MxM 일 수 있다. Here, S factor means a scaling value for filtering. MASK (i, j) is a mask value indicating the presence or absence of filter coefficients. For example, MASK (i, j) has a value of 1 when there is a filter coefficient and a value of 0 when no filter coefficient exists. f (i, j) means filter coefficients having a normally symmetric filter shape, and f n (i, j) means filter coefficients calculated by the filter coefficient calculation method proposed by the present invention. In the above embodiment, the size of the filter shape may be MxM.
디코더는 상기 필터 계수 도출 단계에서 필터 계수를 계산하는 방법과 달리, 블록 경계를 포함하는 픽셀을 위한 적응적 루프 필터 계수와 블록 경계를 포함하지 않는 내부 영역의 픽셀을 위한 적응적 루프 필터 계수를 별도로 갖고 있을 수도 있다.Unlike the method of calculating the filter coefficients in the filter coefficient deriving step, the decoder separately separates the adaptive loop filter coefficients for the pixels including the block boundary and the adaptive loop filter coefficients for the pixels in the inner region not including the block boundary. You may have it.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 내지 도 3 및 도 11에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.As described above, the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in FIGS. 1 to 3 and 11 may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.In addition, the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices Can be used for
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.In addition, the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium. The computer readable recording medium includes all kinds of storage devices for storing computer readable data. The computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Can be. The computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet). In addition, the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다. As mentioned above, preferred embodiments of the present invention are disclosed for purposes of illustration, and those skilled in the art can improve and change various other embodiments within the spirit and technical scope of the present invention disclosed in the appended claims below. , Replacement or addition would be possible.

Claims (15)

  1. 블록 경계에 따라 적응적으로 필터링을 수행하는 방법에 있어서,In the method for adaptively filtering according to a block boundary,
    현재 픽셀이 블록 경계에 포함되는지 여부를 결정하는 단계;Determining whether a current pixel is included in a block boundary;
    상기 현재 픽셀이 블록 경계에 포함되는 경우, 상기 현재 픽셀의 위치에 따라 필터 모양을 결정하는 단계;If the current pixel is included in a block boundary, determining a filter shape according to the position of the current pixel;
    상기 필터 모양에 기초하여 필터 계수를 산출하는 단계; 및Calculating filter coefficients based on the filter shape; And
    상기 필터 계수를 이용하여 적응적 루프 필터링을 수행하는 단계Performing adaptive loop filtering using the filter coefficients
    를 포함하는 것을 특징으로 하는 방법.Method comprising a.
  2. 제1항에 있어서, 상기 방법은,The method of claim 1, wherein
    블록 특성과 관련된 적어도 하나의 다른 조건을 만족하는지 여부를 확인하는 단계Determining whether at least one other condition relating to the block characteristics is satisfied
    를 더 포함하고,More,
    상기 적어도 하나의 다른 조건이 만족되는 경우, 상기 적응적 루프 필터링이 수행되는 것을 특징으로 하는 방법.And if the at least one other condition is met, the adaptive loop filtering is performed.
  3. 제2항에 있어서,The method of claim 2,
    상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 예측 모드가 다른지 여부를 나타내는 것을 특징으로 하는 방법.At least one other condition associated with the block characteristic indicates whether the interblock prediction mode is different.
  4. 제2항에 있어서,The method of claim 2,
    상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 움직임 벡터 차이가 기결정된 임계값보다 작은지 여부를 나타내는 것을 특징으로 하는 방법.The at least one other condition associated with the block characteristic indicates whether the difference between the block motion vector is less than a predetermined threshold.
  5. 제2항에 있어서,The method of claim 2,
    상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 인접 블록 내 레지듀얼 신호가 존재하는지 여부를 나타내는 것을 특징으로 하는 방법.At least one other condition associated with the block characteristic indicates whether a residual signal exists in an adjacent block.
  6. 제2항에 있어서,The method of claim 2,
    상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 적응적 루프 필터링이 적용되지 않는지 여부를 나타내는 것을 특징으로 하는 방법.At least one other condition associated with the block characteristic indicates whether adaptive loop filtering is not applied.
  7. 제1항에 있어서,The method of claim 1,
    상기 필터 모양은 제한적으로 이용되는 참조 픽셀들에 의해 결정되고, 상기 참조 픽셀들은 상기 현재 픽셀의 위치에 따라 변경되는 것을 특징으로 하는 방법.Wherein the filter shape is determined by reference pixels that are used on a limited basis, and wherein the reference pixels change according to the position of the current pixel.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 제한적으로 이용되는 참조 픽셀들은 블록 경계에 인접한 컬럼 단위로 결정되는 것을 특징으로 하는 방법.The limitedly used reference pixels are determined in units of columns adjacent to a block boundary.
  9. 제7항에 있어서,The method of claim 7, wherein
    상기 제한적으로 이용되는 참조 픽셀들은 상기 현재 픽셀이 블록 경계로부터 떨어진 위치에 비례하여 결정되는 것을 특징으로 하는 방법.And wherein the limitedly used reference pixels are determined in proportion to the position of the current pixel away from the block boundary.
  10. 제1항에 있어서,The method of claim 1,
    상기 필터 모양은 디코더에서 기정의된 방법에 따라 유도되거나, 인코더로부터 필터 모양에 대한 정보를 수신하여 결정되는 것을 특징으로 하는 방법.The filter shape may be derived according to a method defined in a decoder or determined by receiving information on the filter shape from an encoder.
  11. 제1항에 있어서,The method of claim 1,
    상기 필터 계수는 상기 필터 모양에 대응되는 스케일링 계수를 이용하여 산출되는 것을 특징으로 하는 방법.The filter coefficients are calculated using the scaling coefficients corresponding to the filter shape.
  12. 블록 경계에 따라 적응적으로 필터링을 수행하는 장치에 있어서,An apparatus for adaptively filtering according to a block boundary,
    현재 픽셀이 블록 경계에 포함되는지 여부를 결정하는 블록 경계 판단부;A block boundary determination unit determining whether a current pixel is included in a block boundary;
    상기 현재 픽셀이 블록 경계에 포함되는 경우, 상기 현재 픽셀의 위치에 따라 필터 모양을 결정하는 필터 모양 결정부;A filter shape determiner configured to determine a filter shape according to a position of the current pixel when the current pixel is included in a block boundary;
    상기 필터 모양에 기초하여 필터 계수를 산출하는 필터 계수 산출부; 및A filter coefficient calculator for calculating filter coefficients based on the filter shape; And
    상기 필터 계수를 이용하여 적응적 루프 필터링을 수행하는 필터링 수행부Filtering unit for performing the adaptive loop filtering using the filter coefficients
    를 포함하는 것을 특징으로 하는 장치.Apparatus comprising a.
  13. 제12항에 있어서, The method of claim 12,
    상기 블록 경계 판단부는 블록 특성과 관련된 적어도 하나의 다른 조건을 만족하는지 여부를 확인하고,The block boundary determiner determines whether at least one other condition related to a block characteristic is satisfied,
    상기 적어도 하나의 다른 조건이 만족되는 경우, 상기 적응적 루프 필터링이 수행되는 것을 특징으로 하는 장치.And if the at least one other condition is met, the adaptive loop filtering is performed.
  14. 제13항에 있어서,The method of claim 13,
    상기 블록 특성과 관련된 적어도 하나의 다른 조건은, 블록간 예측 모드가 다른지 여부, 블록간 움직임 벡터 차이가 기결정된 임계값보다 작은지 여부, 인접 블록 내 레지듀얼 신호가 존재하는지 여부, 또는 적응적 루프 필터링이 적용되지 않는지 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.At least one other condition associated with the block characteristic is whether the interblock prediction mode is different, whether the interblock motion vector difference is less than a predetermined threshold, whether there is a residual signal in an adjacent block, or an adaptive loop At least one of whether filtering is not applied.
  15. 제12항에 있어서,The method of claim 12,
    상기 필터 모양은 제한적으로 이용되는 참조 픽셀들에 의해 결정되고, 상기 참조 픽셀들은 상기 현재 픽셀의 위치에 따라 변경되는 것을 특징으로 하는 장치.Wherein the filter shape is determined by reference pixels that are used on a limited basis, and wherein the reference pixels change according to the position of the current pixel.
PCT/KR2016/006405 2015-06-16 2016-06-16 Method and device for performing adaptive filtering according to block boundary WO2016204531A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/736,238 US10448015B2 (en) 2015-06-16 2016-06-16 Method and device for performing adaptive filtering according to block boundary

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562180069P 2015-06-16 2015-06-16
US62/180,069 2015-06-16

Publications (1)

Publication Number Publication Date
WO2016204531A1 true WO2016204531A1 (en) 2016-12-22

Family

ID=57546353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/006405 WO2016204531A1 (en) 2015-06-16 2016-06-16 Method and device for performing adaptive filtering according to block boundary

Country Status (2)

Country Link
US (1) US10448015B2 (en)
WO (1) WO2016204531A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019017651A1 (en) * 2017-07-17 2019-01-24 김기백 Method and apparatus for encoding/decoding image
WO2021052452A1 (en) * 2019-09-18 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Signaling usage of adaptive loop filter in video coding
WO2022002007A1 (en) * 2020-06-30 2022-01-06 Beijing Bytedance Network Technology Co., Ltd. Boundary location for adaptive loop filtering
US11539946B2 (en) 2019-12-11 2022-12-27 Beijing Bytedance Network Technology Co., Ltd. Sample padding for cross-component adaptive loop filtering

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
EP3454556A1 (en) * 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
US11197032B2 (en) * 2018-11-08 2021-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Asymmetric deblocking in a video encoder and/or video decoder
CN113498605A (en) 2018-12-23 2021-10-12 华为技术有限公司 Encoder, decoder and corresponding methods using an adaptive loop filter
MX2022000354A (en) * 2019-07-11 2022-02-03 Samsung Electronics Co Ltd Video decoding method and apparatus, and video encoding method and apparatus.
US11303890B2 (en) * 2019-09-05 2022-04-12 Qualcomm Incorporated Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries
US20220239906A1 (en) * 2021-01-26 2022-07-28 Beijing Dajia Internet Information Technology Co., Ltd. System and method for applying adaptive loop filter in video coding
CN112837235B (en) * 2021-01-26 2022-12-13 西安理工大学 Neighborhood-based adaptive spatial filtering method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120110177A (en) * 2010-01-28 2012-10-09 에프. 호프만-라 로슈 아게 4'-azido-nucleosides as anti-hcv compunds
KR20140019221A (en) * 2012-07-17 2014-02-14 한국전자통신연구원 In-loop filtering method and apparatus using the smae
KR20140056342A (en) * 2011-08-18 2014-05-09 퀄컴 인코포레이티드 Method and device for video coding applying parition-based filters, and storage medium
KR20140085541A (en) * 2011-10-28 2014-07-07 퀄컴 인코포레이티드 Loop filtering control over tile boundaries
KR20140094496A (en) * 2011-11-03 2014-07-30 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 Filtering of blocks coded in the pulse code modulation mode

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317896B2 (en) * 2010-07-09 2016-04-19 Samsung Electronics Co., Ltd. Image interpolation method and apparatus
WO2012011744A2 (en) 2010-07-20 2012-01-26 에스케이텔레콤 주식회사 Method and device for deblocking-filtering, and method and device for encoding and decoding using same
WO2013042884A1 (en) * 2011-09-19 2013-03-28 엘지전자 주식회사 Method for encoding/decoding image and device thereof
CN103931193B (en) * 2011-09-21 2017-11-21 Lg电子株式会社 The method and apparatus of encoding/decoding image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120110177A (en) * 2010-01-28 2012-10-09 에프. 호프만-라 로슈 아게 4'-azido-nucleosides as anti-hcv compunds
KR20140056342A (en) * 2011-08-18 2014-05-09 퀄컴 인코포레이티드 Method and device for video coding applying parition-based filters, and storage medium
KR20140085541A (en) * 2011-10-28 2014-07-07 퀄컴 인코포레이티드 Loop filtering control over tile boundaries
KR20140094496A (en) * 2011-11-03 2014-07-30 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 Filtering of blocks coded in the pulse code modulation mode
KR20140019221A (en) * 2012-07-17 2014-02-14 한국전자통신연구원 In-loop filtering method and apparatus using the smae

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019017651A1 (en) * 2017-07-17 2019-01-24 김기백 Method and apparatus for encoding/decoding image
US11044475B2 (en) 2017-07-17 2021-06-22 Industry-University Cooperation Foundation Hanyang University Method and apparatus for encoding/decoding image
US11399179B2 (en) 2017-07-17 2022-07-26 Industry-University Cooperation Foundation Hanyang University Method and apparatus for encoding/decoding image
US11882281B2 (en) 2017-07-17 2024-01-23 Industry-University Cooperation Foundation Hanyang University Method and apparatus for encoding/decoding image
WO2021052452A1 (en) * 2019-09-18 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Signaling usage of adaptive loop filter in video coding
US11601686B2 (en) 2019-09-18 2023-03-07 Beijing Bytedance Network Technology Co., Ltd. Signaling usage of adaptive loop filter in video coding
US11683531B2 (en) 2019-09-18 2023-06-20 Beijing Bytedance Network Technology Co., Ltd Two-part signaling of adaptive loop filters in video coding
US11539946B2 (en) 2019-12-11 2022-12-27 Beijing Bytedance Network Technology Co., Ltd. Sample padding for cross-component adaptive loop filtering
WO2022002007A1 (en) * 2020-06-30 2022-01-06 Beijing Bytedance Network Technology Co., Ltd. Boundary location for adaptive loop filtering

Also Published As

Publication number Publication date
US20180199034A1 (en) 2018-07-12
US10448015B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
WO2016204531A1 (en) Method and device for performing adaptive filtering according to block boundary
WO2018080135A1 (en) Video encoding/decoding method and apparatus, and recording medium in which bit stream is stored
WO2016200115A1 (en) Method and device for performing deblocking filtering
WO2013154366A1 (en) Transform method based on block information, and apparatus using said method
WO2020091213A1 (en) Intra prediction method and apparatus in image coding system
WO2018101687A1 (en) Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2016140439A1 (en) Method and device for encoding and decoding video signal by using improved prediction filter
WO2018212569A1 (en) Image processing method on basis of intra prediction mode and apparatus therefor
WO2018066809A1 (en) Chroma component coding unit division method and device
WO2017065592A1 (en) Method and apparatus for encoding and decoding video signal
WO2016133356A1 (en) Method and device for encoding/decoding video signal by using adaptive scan order
WO2021034115A1 (en) Image decoding method and device for coding chroma quantization parameter offset-related information
WO2020149630A1 (en) Method and device for decoding image on basis of cclm prediction in image coding system
WO2016064242A1 (en) Method and apparatus for decoding/encoding video signal using transform derived from graph template
WO2021118295A1 (en) Image coding device and method for controlling loop filtering
WO2020256346A1 (en) Coding of information about transform kernel set
WO2021118265A1 (en) Video or image coding employing adaptive loop filter
WO2021145728A1 (en) In-loop filtering-based image coding apparatus and method
WO2021118261A1 (en) Method and device for signaling image information
WO2021133060A1 (en) Image coding apparatus and method based on sub-picture
WO2020180043A1 (en) Image coding method based on lmcs, and device therefor
WO2018070723A1 (en) Image encoding and decoding method and apparatus therefor
WO2016129851A1 (en) Method and apparatus for encoding and decoding video signal by means of non-uniform phase interpolation
WO2016129980A1 (en) Method and apparatus for encoding and decoding video signal by means of transform-domain prediction
WO2016204479A1 (en) Method for encoding/decoding image, and device therefor

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: 16811944

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16811944

Country of ref document: EP

Kind code of ref document: A1