WO2018038492A1 - 영상 부호화/복호화 방법 및 이를 위한 장치 - Google Patents

영상 부호화/복호화 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2018038492A1
WO2018038492A1 PCT/KR2017/009106 KR2017009106W WO2018038492A1 WO 2018038492 A1 WO2018038492 A1 WO 2018038492A1 KR 2017009106 W KR2017009106 W KR 2017009106W WO 2018038492 A1 WO2018038492 A1 WO 2018038492A1
Authority
WO
WIPO (PCT)
Prior art keywords
filtering
block
edge
type
deblocking
Prior art date
Application number
PCT/KR2017/009106
Other languages
English (en)
French (fr)
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 KR1020197005634A priority Critical patent/KR102437742B1/ko
Priority to KR1020227029371A priority patent/KR102508723B1/ko
Priority to US16/327,192 priority patent/US11240495B2/en
Priority to CN201780063381.XA priority patent/CN109891895A/zh
Priority to JP2019510414A priority patent/JP7173961B2/ja
Priority to EP17843912.1A priority patent/EP3503556B1/en
Publication of WO2018038492A1 publication Critical patent/WO2018038492A1/ko
Priority to US17/570,086 priority patent/US11956428B2/en
Priority to JP2022177296A priority patent/JP7472234B2/ja

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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 still image or moving image processing method, and more particularly, to a method for performing de-blocking filtering and an apparatus supporting the same.
  • 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.
  • An object of the present invention is to propose a method and an apparatus for supporting the post-filter (or in-loop filter) effectively in a quad-tree and quad-tree binary-tree (QTBT) structure.
  • a method of filtering an image by the decoding apparatus includes: deriving a boundary of a block divided into quad-tree and binary-tree structures; Determining an edge to which de-blocking filtering is applied among boundaries, determining a type of deblocking filtering to be applied to the edge, and deblocking a reconstructed picture sample according to the deblocking filtering type. And performing the filtering, and considering the width or height of the block, a type of the edge or the deblocking filtering may be determined.
  • a decoding apparatus for filtering an image comprising: a block boundary derivation unit deriving a boundary of a block divided into quad-tree and binary-tree structures, According to the edge determination unit for determining the edge (edge) to which de-blocking filtering is applied among the boundary of the block, the filtering type determination unit for determining the type of deblocking filtering to be applied to the edge and the deblocking filtering type And a filtering unit configured to perform deblocking filtering on the reconstructed picture sample, and the type of the edge or the deblocking filtering may be determined in consideration of the width or height of the block.
  • the edge when the type of the edge is a vertical edge, if the width of the block is 4 or less, the edge may be determined based on pixels that have already been subjected to deblocking filtering.
  • the edge when the type of the edge is a horizontal edge, if the height of the block is 4 or less, the edge may be determined based on pixels that have already been subjected to deblocking filtering.
  • the type of the edge is a vertical edge
  • the width of the block is 4 or less
  • the type of the deblocking filtering may be determined based on a pixel to which the deblocking filtering is already applied.
  • the type of the edge is a horizontal edge
  • the type of the deblocking filtering may be determined based on a pixel to which the deblocking filtering is already applied.
  • the edge (edge) can be determined only among the boundaries of the block of which the width of the block (8) or more.
  • the edge when the type of the edge is a horizontal edge, the edge can be determined only among the boundaries of blocks having a height of 8 or more.
  • the type of deblocking filtering may be determined by weak filtering.
  • the type of deblocking filtering may be determined by weak filtering.
  • the type of the edge is a vertical edge
  • the width of the block is 4 or less
  • the type of deblocking filtering is determined as strong filtering, and the strong filtering is to the left of the edge. And only two pixel columns adjacent to the right side.
  • the type of the edge is a horizontal edge
  • the type of deblocking filtering is determined as strong filtering, and the strong filtering is at the upper side of the edge. And only two pixel columns adjacent to the bottom, respectively.
  • the edge may be determined based on the pixel before deblocking filtering is applied.
  • the type of deblocking filtering may be determined based on the pixels before the deblocking filtering is applied.
  • the type of the edge and the deblocking filtering may be determined regardless of whether the block is a chroma block. Can be.
  • the subjective picture quality and the objective picture quality of the still or moving picture may be improved by efficiently applying the deblocking filter in the QTBT structure.
  • 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 diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 4 is a diagram for describing a quad-tree binary-tree among division structures of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 5 is a schematic internal block diagram of an in-loop filtering unit as an embodiment to which the present invention is applied.
  • FIG. 6 is a diagram illustrating a method of performing filtering of a deblocking filter of HEVC.
  • FIG. 7 is a diagram illustrating a filtering performing boundary of a deblocking filter of HEVC.
  • FIG. 8 is a diagram for describing a method of determining whether to perform filtering of HEVC.
  • FIG. 9 is a diagram illustrating a pixel region to which deblocking filtering of HEVC is applied.
  • FIG. 10 is a diagram illustrating a QTBT splitting structure in an embodiment to which the present invention is applied.
  • 11 to 21 are diagrams for explaining a problem when the HEVC deblocking filtering method is applied to a QTBT splitting structure.
  • 22 is a diagram illustrating a method for determining the type of deblocking filter according to an embodiment of the present invention.
  • FIG. 23 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • FIG. 24 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • 25 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • 26 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • FIG. 27 is a diagram illustrating a strong filtering method according to an embodiment of the present invention.
  • FIG. 28 is a diagram illustrating a strong filtering method according to an embodiment of the present invention.
  • FIG. 29 is a diagram illustrating a result of filtering in a block having a length of 4 or less in vertical edge filtering.
  • FIG. 30 is a diagram illustrating whether to perform filtering and a filter selection method according to an embodiment of the present invention.
  • FIG. 31 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • 32 is a diagram illustrating a problem caused when HEVC deblocking filtering is equally applied to a QTBT block division structure.
  • FIG 33 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • FIG. 34 is a diagram illustrating a deblocking filtering unit according to an embodiment of the present invention.
  • 35 is a diagram illustrating a deblocking filtering unit according to an embodiment of the present invention.
  • the term 'block' or 'unit' refers to a unit in which a process of encoding / decoding such as prediction, transformation, and / or quantization is performed, and may be configured as a multidimensional array of samples (or pixels, pixels).
  • 'Block' or 'unit' may mean a multi-dimensional array of samples for luma components, or may mean a multi-dimensional array of samples for chroma components.
  • the multi-dimensional arrangement of the sample for the luma component and the multi-dimensional arrangement of the sample for the chroma component may also be included.
  • 'block' or 'unit' refers to a coding block (CB) that represents an array of samples to be encoded / decoded, and a coding tree block composed of a plurality of coding blocks (CTB).
  • CB coding block
  • CB coding block
  • CB coding tree block composed of a plurality of coding blocks
  • PB Prediction Block
  • PU Prediction Unit
  • TB Transform Block
  • a 'block' or 'unit' is a syntax structure used in encoding / decoding an array of samples for a luma component and / or a chroma component. can be interpreted to include a sturcture.
  • the syntax structure refers to zero or more syntax elements existing in the bitstream in a specific order, and the syntax element refers to an element of data represented in the bitstream.
  • a 'block' or 'unit' includes a coding unit (CU) including a coding block (CB) and a syntax structure used for encoding the coding block (CB), and a plurality of coding units.
  • TUs transform units
  • the 'block' or 'unit' is not necessarily limited to an array of square or rectangular samples (or pixels or pixels), and polygonal samples having three or more vertices (or pixels or pixels). It can also mean an array of. In this case, it may also be referred to as a polygon block or a polygon unit.
  • 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, a filter 160, and a decoder. It may include a decoded picture buffer (DPB) 170, an inter predictor 180, an intra predictor 185, and an entropy encoder 190.
  • DPB decoded picture buffer
  • the image divider 110 may divide the 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 encoder 100 may generate a residual signal by subtracting the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 from the input image signal, and the generated residual signal is converted into a conversion unit ( 120).
  • the transformer 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the transformation technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a karhunen-loeve transform (KLT), a graph-based transform (GBT), or a conditionally non-linear transform (CNT).
  • DCT discrete cosine transform
  • DST discrete sine transform
  • KLT karhunen-loeve transform
  • GBT graph-based transform
  • CNT conditionally non-linear transform
  • GBT means a conversion obtained from this graph when the relationship information between pixels is represented by a graph.
  • CNT refers to a transform that is generated based on and generates a prediction signal using all previously reconstructed pixels.
  • 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 them 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 reconstruct the residual signal by applying inverse quantization and inverse transformation through inverse quantization unit 140 and inverse transformation unit 150 in a loop.
  • the reconstructed signal may be generated by adding the reconstructed residual signal to the prediction signal output from the inter predictor 180 or the intra predictor 185.
  • the filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer to the decoding picture buffer 170.
  • the filtered signal transmitted to the decoded picture buffer 170 may be used as the reference picture in the inter predictor 180. As such, by using the filtered picture as a reference picture in the inter prediction mode, not only image quality but also encoding efficiency may be improved.
  • the decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
  • the inter prediction unit 180 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to the reconstructed picture.
  • the motion information may be predicted based on the correlation of the motion information between the neighboring block and the current block.
  • 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.
  • the prediction signal generated by the inter predictor 180 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 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, a filtering unit 240, and a decoded picture buffer unit (DPB) 250. ), An inter predictor 260, 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 transformer 230 inversely transforms a transform coefficient to obtain a residual signal.
  • the reconstruction signal is generated by adding the obtained residual signal to the prediction signal output from the inter prediction unit 260 or the intra prediction unit 265.
  • the filtering unit 240 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer unit 250 to the reproduction device.
  • the filtered signal transmitted to the decoded picture buffer unit 250 may be used as the reference picture in the inter predictor 260.
  • the embodiments described by the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoder 100 are respectively the filtering unit 240, the inter prediction unit 260, and the decoder. The same may be applied to the intra predictor 265.
  • FIG. 3 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.
  • 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
  • the CTU corresponds to a root node and has the 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 (b) and CU (j) corresponding to nodes a, b and j are divided once in the CTU and have a depth of level 1.
  • 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".
  • 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. 4 is a diagram for describing a quad-tree binary-tree among division structures 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.
  • One CTU may be decomposed into a quadtree (QT) structure and a binarytree (BT).
  • QT quadtree
  • BT binarytree
  • one CTU may be divided into four units having a square shape and each side is reduced by half in length, or divided into two units having a rectangular shape and having a width or height length reduced by half.
  • the decomposition of this QT BT structure can be performed recursively.
  • a root node of a QT may be associated with a CTU.
  • the QT may be split until it reaches a QT leaf node, and the leaf node of the QT may be split into BT and split until it reaches the BT leaf node.
  • 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 can be decomposed into QT form and QT leaf node can be divided into BT form.
  • lower nodes having a depth of level n may be generated.
  • a node (ie, leaf node) that is no longer divided in a lower node having a depth of level n corresponds to a CU.
  • 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”.
  • information indicating whether to be split into BT in the QT leaf node may be transmitted to the decoder.
  • the information may be defined as a BT split flag and may be represented by a syntax element “bt_split_flag”.
  • the BT splitting shape may be transmitted to the decoder to be split into a rectangle having a half size width or a rectangle having a half size height.
  • the information may be defined in a BT split mode and may be represented by a syntax element “bt_split_mode”.
  • FIG. 5 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 510, an adaptive offset filtering unit 520, and an adaptive loop filtering unit 530.
  • 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 510 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 510 may check whether a reconstructed pixel value is discontinuous at a block boundary, and may 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 520 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.
  • the adaptive loop filtering unit 530 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.
  • FIG. 6 is a diagram illustrating a method of performing filtering of a deblocking filter of HEVC.
  • the deblocking filter determines a boundary for applying the deblocking filtering.
  • the boundary determination is to determine only the position (that is, the boundary) that needs deblocking filtering, and whether to perform the actual filtering is determined in the filter on / off step in step S604.
  • the types of boundaries for the deblocking filter can be classified into three types: a coding unit (CU) boundary, a PU (prediction unit) boundary, and a TU (transform unit) boundary. Since one CU boundary may correspond to a PU or TU boundary, it may correspond to a boundary object to which filtering is to be performed.
  • CU coding unit
  • PU prediction unit
  • TU transform unit
  • the deblocking filter calculates a BS (S602). That is, the deblocking filter determines the boundary strength BS to perform the deblocking filter of different strength according to the characteristics of the block adjacent to the boundary.
  • the deblocking filter determines ⁇ , t_c, which are parameters used as thresholds such as whether filtering is performed and filtering selection (S603).
  • the deblocking filter performs a filter on / off decision (S604). That is, the deblocking filter determines whether to perform filtering in units of filtering units.
  • the deblocking filter determines whether to apply a strong filter or a weak filter at the boundary at which the filtering is to be performed (S605).
  • the deblocking filter filters the pixels with a predetermined filter (S606 and S607).
  • the HEVC deblocking filter performs filtering at the boundary of a prediction block (PB) and the boundary of a transform block (TB).
  • PB prediction block
  • TB transform block
  • filtering may be performed at the boundary of the coding block (CB).
  • the deblocking filter of HEVC and QTBT does not perform unconditional filtering at all interfaces, but only strong filtering and weak filtering only when certain conditions are satisfied (as determined in step S604 in FIG. 6 above). ) Is performed selectively. On the other hand, if the condition is not satisfied, the filtering is not performed even if the interface corresponds to this.
  • FIG. 7 is a diagram illustrating a filtering performing boundary of a deblocking filter of HEVC.
  • FIG. 7A illustrates a vertical edge as the filtering performance boundary of the deblocking filter
  • FIG. 7B illustrates a horizontal edge as the filtering performance boundary of the deblocking filter.
  • the deblocking filter of HEVC is performed at the boundary of the prediction block and the boundary of the transform block.
  • filtering is not performed at every prediction block boundary or transform block boundary, but only at a block boundary of 8x8 or more. It can be seen that the parallelism of the deblocking filter is considered.
  • the strong filter and the weak filter are selectively performed.
  • the value of the pixel adjacent to the block boundary is checked to determine whether to perform filtering. This will be described in more detail with reference to FIG. 8 below.
  • FIG. 8 is a diagram for describing a method of determining whether to perform filtering of HEVC.
  • Solid lines in FIG. 8 represent block boundaries, and each circle represents one pixel (e.g., a luma component sample or a chroma component sample).
  • 3 pixels (shaded pixels in FIG. 8) adjacent to the block boundary surface are defined by p (x, y) (or q (x, y)) with the X and Y axis components relative to the block boundary. It may be expressed in the same form as shown in FIG. 8.
  • the values of the parameters (parameters) dp0, dp3, dq0, dq3, dpq0, dpq3, and d may be calculated according to Equation 1 below indicating the filtering execution condition.
  • the deblocking filtering is performed only when the d value is smaller than ⁇ compared to the variable (parameter) ⁇ value determined by Equation 1 based on the quantization parameter Q.
  • the ITU-T H.265 document is incorporated herein by reference.
  • pixels on the block boundary correspond to a condition in which filtering is performed by a specific condition, it is determined whether to apply a strong filter or a weak filter according to Equation 2 below. do.
  • Equation 2 if all the conditions of Equation 2 are satisfied, the strong filter is applied, otherwise the weak filter is applied.
  • Equation 2 the variable (parameter) tc (that is, t_c) is determined based on the quantization parameter Q.
  • the pixel region to which filtering is applied depends on the type of filter determined by the condition of Equation 2 (ie, a strong filter or a weak filter).
  • FIG. 9 is a diagram illustrating a pixel region to which deblocking filtering of HEVC is applied.
  • each pixel region to which a strong filter or a weak filter is applied is different based on a block boundary.
  • whether to apply the deblocking filtering is determined by using three pixels on the left and right or top and bottom on the block boundary.
  • the deblocking filter type is determined by using four pixels on the left, right, and top of the block boundary once again on the boundary surface to which the deblocking filtering is applied.
  • HEVC can generate 4x4 prediction blocks or transform blocks, 8x4 and 4x8 size prediction blocks, deblocking filtering is applied only at block boundaries of 8x8 or more for parallelization.
  • QTBT differs in the block structure of luma and chroma in the intra slice (I-slice: Intra slice), that is, the slice that is decoded using only intra prediction.
  • I-slice Intra slice
  • the coding tree of various shapes and sizes may be generated by the tree.
  • FIG. 10 is a diagram illustrating a QTBT splitting structure in an embodiment to which the present invention is applied.
  • an image may be divided into structures of various sizes and shapes by QTBT.
  • the present invention proposes a method for performing the deblocking filter in parallel in various block partitioning structures (that is, partitioning structures having various block sizes and shapes).
  • the deblocking filter of QTBT applies the same deblocking filter of HEVC, but the deblocking filter may be performed at block boundaries such as 4x4, 4x8, 8x4, 4x16 as well as 8x8 or more block boundaries. have.
  • the filtering at the corresponding block boundary may cause a problem that the parallelization condition is not satisfied due to the pixel value change by the filtering at the adjacent block boundary.
  • 11 to 21 are diagrams for explaining a problem when the HEVC deblocking filtering method is applied to a QTBT splitting structure.
  • the black pixels of FIG. 14 are applied twice by the low-pass filter of the deblocking filter. .
  • the pixel indicated by the dotted line is referred to to determine whether to perform filtering in the block boundary 2.
  • the weak filtering is performed in the block boundary 2 because the strong filtering condition is not satisfied in the block boundary 2, the overlapping filtering will not occur as shown in FIG. 19, but the strong filtering condition is satisfied and the strong filtering condition is strong in the block boundary 2. If filtering is performed, a darkly shaded pixel as shown in FIG. 20 may overlap and be filtered.
  • a vertical edge is mainly illustrated as an example, but this is for convenience of description and the present invention is not limited thereto. That is, in the case of a horizontal edge, the process may be performed in the same manner, except that the pixels are positioned above and below the block boundary.
  • One embodiment of the present invention proposes a method for effectively performing a deblocking filter of a QTBT structure.
  • the present invention provides a block in which the vertical size of the block is 4 or less at the boundary of a block having a horizontal size / length of 4 or less (ie, a block having 4 or less horizontal samples) in the vertical-edge.
  • a method for performing deblocking filtering at a boundary ie, a block having a number of vertical samples of 4 or less.
  • a block having a length of 4 or less for a vertical edge and a block having a length of 4 or less for a horizontal edge are proposed. do.
  • problems that may occur when performing deblocking filtering in the QTBT structure may be classified into a parallelization problem and filtering of reference pixels when filtering and adaptive filter selection are performed.
  • an embodiment of the present invention proposes a filtering method at a block boundary when a specific condition is satisfied.
  • the specific condition may mean a case in which the block width is 4 or less in the process of filtering the vertical edge and / or the block length is 4 or less in the process of filtering the horizontal edge.
  • pixels that have been filtered out and noise disappears may be used.
  • 21 is a diagram illustrating a method for determining whether to perform deblocking filtering according to an embodiment of the present invention.
  • d represents the sum of the amount of change of pixel values of the block boundary.
  • the pixels of the P block (that is, the shaded pixels among the pixels indicated by the dotted lines in FIG. 22) have already been filtered and smoothed, so that a smaller value is obtained compared to the difference value of the unfiltered pixels.
  • the probability is high.
  • Equation 3 the final value of d calculated according to Equation 3 may be reduced, and thus, the rate at which the filtering should be performed probabilistically may be increased when checking whether the filtering is performed.
  • the type of filter may be determined by referring to the pixels filtered by the filtering.
  • 22 is a diagram illustrating a method for determining the type of deblocking filter according to an embodiment of the present invention.
  • an equation referred to for adaptively selecting a strong filter and a weak filter also takes into account changes in pixel values of a block boundary.
  • This may apply a strong filter to the already filtered pixels, which may cause the edges to aggregate at the block boundary.
  • a deblocking filter in the QTBT structure, filtering of blocks having a length of 4 or less for vertical edge filtering or blocks having a length of 4 or less for horizontal edge filtering is performed. Suggest ways not to do it.
  • the deblocking filter has a lot of issues in filtering the boundary of a block of a specific size.
  • an embodiment of the present invention proposes a method as shown in FIG. 23.
  • FIG. 23 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder determines whether it corresponds to a boundary of a coding unit (or coding block) (S2301).
  • step S2301 If it does not correspond to the boundary of the coding unit (or coding block) in step S2301, the decoder ends the deblocking filtering.
  • step S2301 it is determined whether the boundary corresponds to the vertical edge (S2302).
  • step S2302 it is determined whether a width of the corresponding coding unit (or coding block) is 8 or more (S2303).
  • step S2302 it is determined whether the height of the corresponding coding unit (or coding block) is 8 or more (S2304).
  • step S2303 If the width of the coding unit (or coding block) is 8 or more in step S2303 or if the height of the coding unit (or coding block) is 8 or more in step S2304, the decoder is conventional. Deblocking filtering is performed (S2305).
  • the decoder may perform conventional deblocking filtering as shown in the example of FIG. 6.
  • the decoder Terminate deblocking filtering.
  • filtering may be performed only on a coding unit (or coding block) having a vertical length of 8 or more, and no filtering may be performed on a coding unit (or coding block) that is not 8 or more.
  • the present embodiment determines whether to apply filtering by considering only the block size, it is possible to parallelize the deblocking filtering.
  • a deblocking filter of a QTBT structure weak for a block having a length of 4 or less for vertical edge filtering or a block having a length of 4 or less for horizontal edge filtering.
  • FIG. 24 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder determines whether it corresponds to a boundary of a coding unit (or coding block) (S2401).
  • step S2401 If it does not correspond to the boundary of the coding unit (or coding block) in step S2401, the decoder ends the deblocking filtering.
  • step S2401 if it corresponds to the boundary of the coding unit (or coding block) in step S2401, it is determined whether the boundary corresponds to the vertical edge (S2402).
  • step S2402 it is determined whether a width of the corresponding coding unit (or coding block) is 8 or more (S2403).
  • step S2402 it is determined whether the height of the corresponding coding unit (or coding block) is 8 or more (S2404).
  • step S2403 If the width of the coding unit (or coding block) is 8 or more in step S2403 or if the height of the coding unit (or coding block) is 8 or more in step S2404, the decoder is conventional. Deblocking filtering is performed (S2405).
  • the decoder may perform conventional deblocking filtering as shown in the example of FIG. 6.
  • the decoder may apply a weak filter to the corresponding vertical edge (S2406).
  • the decoder may apply a weak filter to the corresponding horizontal edge (S2407).
  • an ITU-T H.265 document may be incorporated by reference herein.
  • conventional deblocking filtering may be applied to a coding unit (or a coding block) having a vertical length of 8 or more
  • a weak filter may be applied to a coding unit (or a coding block) that is not to be 8 or more.
  • the deblocking filter of the QTBT structure has left and right sides of a boundary of a block having a length of 4 or less for a vertical edge, and a top and bottom of a block boundary having a length of 4 or less for a horizontal edge.
  • 25 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder determines whether it corresponds to a boundary of a coding unit (or coding block) (S2501).
  • step S2501 If it does not correspond to the boundary of the coding unit (or coding block) in step S2501, the decoder ends the deblocking filtering.
  • step S2501 if it corresponds to the boundary of the coding unit (or coding block) in step S2501, the deblocking filter application condition is checked (S2502), and the decoder determines whether to apply the deblocking filter on the boundary based on the deblocking filter application condition. Determine (S2503).
  • Equation 1 may be used as a condition for applying the deblocking filter.
  • step S2503 If it is determined in step S2503 not to apply the deblocking filter at the boundary of the coding unit (or coding block) (ie, the deblocking filter application condition is not satisfied), the decoder terminates the deblocking filtering.
  • step S2503 determines whether the corresponding boundary corresponds to the vertical edge (S2504).
  • step S2504 it is determined whether the width of the corresponding coding unit (or coding block) is 8 or more (S2505).
  • step S2504 it is determined whether the height of the corresponding coding unit (or coding block) is 8 or more (S2506).
  • the decoder performs this embodiment.
  • the deblocking filtering is performed by applying the strong filter proposed in the example (S2507).
  • the decoder sets the filter set selection condition.
  • Check (S2508) the decoder determines whether to apply a strong filter on the edge based on the filter set selection condition (S2509).
  • Equation 2 may be used as the deblocking filter set selection condition.
  • step S2509 If it is determined in step S2509 to apply a strong filter (for example, if all of the conditions of Equation 2 above are satisfied), the decoder may apply an existing strong filter at the corresponding edge (S2510).
  • an ITU-T H.265 document may be incorporated by reference herein.
  • step S2509 if it is determined in step S2509 not to apply a strong filter (for example, if any one of the conditions of Equation 2 above) is not satisfied, the decoder may apply a weak filter at the corresponding edge (S2511).
  • an ITU-T H.265 document may be incorporated by reference herein.
  • a method for applying a strong filter proposed in the present invention is proposed for a block boundary to which a strong filter should be applied while maintaining an existing performance structure.
  • 26 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder determines whether it corresponds to a boundary of a coding unit (or coding block) (S2601).
  • step S2601 If it does not correspond to the boundary of the coding unit (or coding block) in step S2601, the decoder ends the deblocking filtering.
  • step S2601 if it corresponds to the boundary of the coding unit (or coding block) in step S2601, the deblocking filter application condition is checked (S2602), and the decoder determines whether to apply the deblocking filter on the boundary based on the deblocking filter application condition. Determine (S2603).
  • Equation 1 may be used as a condition for applying the deblocking filter.
  • step S2603 If it is determined in step S2603 not to apply the deblocking filter at the boundary of the coding unit (or coding block) (ie, the deblocking filter application condition is not satisfied), the decoder ends the deblocking filtering.
  • step S2603 if it is determined in step S2603 to apply the deblocking filter at the boundary of the coding unit (or coding block) (that is, satisfying the deblocking filter application condition), the decoder checks the filter set selection condition (S2604), and the decoder Based on the set selection condition, it is determined whether a strong filter is to be applied at the corresponding boundary (S2605).
  • Equation 2 may be used as the deblocking filter set selection condition.
  • step S2605 If it is determined in step S2605 not to apply a strong filter (for example, if any one of the conditions of Equation 2 above is not satisfied), the decoder may apply a weak filter at the boundary (S2606).
  • an ITU-T H.265 document may be incorporated by reference herein.
  • step S2605 determines whether the corresponding boundary corresponds to the vertical edge (S2607).
  • step S2607 If the corresponding boundary corresponds to the vertical edge in step S2607, it is determined whether a width of the corresponding coding unit (or coding block) is 8 or more (S2608).
  • step S2607 it is determined whether the height of the corresponding coding unit (or coding block) is 8 or more (S2609).
  • the decoder performs the present embodiment. Deblocking filtering is performed by applying the strong filter proposed in the example (S2610).
  • the decoder is the existing at the edge A strong filter of can be applied (S2611).
  • an ITU-T H.265 document may be incorporated by reference herein.
  • the filter of the HEVC can be applied to the left and right of each pixel only (in the case of vertical prediction) based on the boundary (or edge). Conversely, in the case of the horizontal edge, filtering may be applied to only two pixels on the left and right of the boundary.
  • FIG. 27 is a diagram illustrating a strong filtering method according to an embodiment of the present invention.
  • FIG. 27A illustrates a pre-filtering pixel according to an embodiment of the present invention
  • FIG. 27B illustrates a post-filtering pixel (shaded pixel) according to an embodiment of the present invention.
  • Equation 5 shows a strong filtering result for P (0,0), P (1,0), Q (0,0), Q (1,0), that is, P '(0,0) for convenience of explanation.
  • P '(1,0), Q' (0,0), and Q '(1,0) are illustrated, but in the same way, P (0,1), P (1,1), P (0) , P (1,2), P (0,3), P (1,3), Q (0,1), Q (1,1), Q (0,2), Q (1, 2), strong filtering is also applied to Q (0,3) and Q (1,3) so that P '(0,1), P' (1,1), P '(0,2), P' (1 , P '(0,3), P' (1,3), Q '(0,1), Q' (1,1), Q '(0,2), Q' (1,2) ), Q '(0,3), Q' (1,3) can be derived.
  • the strong filtering method proposed in the present invention proposes a method using a new filter set as shown in FIG.
  • FIG. 28 is a diagram illustrating a strong filtering method according to an embodiment of the present invention.
  • FIG. 28A illustrates a pre-filtering pixel according to an embodiment of the present invention
  • FIG. 28B illustrates a post-filtering pixel (shaded pixel) according to an embodiment of the present invention.
  • Equation 6 strong filtering results for P (0,0), P (1,0), Q (0,0), and Q (1,0), that is, P '(0,0) , Only P '(1,0), Q' (0,0), and Q '(1,0) are illustrated, but in the same way, P (0,1), P (1,1), P (0) , P (1,2), P (0,3), P (1,3), Q (0,1), Q (1,1), Q (0,2), Q (1, 2), strong filtering is also applied to Q (0,3) and Q (1,3) so that P '(0,1), P' (1,1), P '(0,2), P' (1 , P '(0,3), P' (1,3), Q '(0,1), Q' (1,1), Q '(0,2), Q' (1,2) ), Q '(0,3), Q' (1,3) can be derived.
  • Equations 5 and 6 p0, p1, and p2 correspond to P (0,0), P (1,0), and P (2,0), respectively, and q1, q2, and q3 are each Q (0). , 0), Q (1,0), and Q (2,0).
  • Equation 7 Clip 3 may be calculated as in Equation 7.
  • x means Arithmetic right shift for calculating a two's complement integer representation of x by y binary digits. This function is defined only for non-negative integer values of y.
  • MSB most significant bit
  • Equations 5 and 6 the variable (parameter) tc (ie, t_c) is determined based on the quantization parameter Q.
  • this embodiment also has the effect of minimizing the subjective image quality deterioration that may occur because the deblocking filter is not applied to the existing small block, and also unlike the embodiment 1-3, the filter is adaptively applied. By doing so, image quality deterioration can be minimized.
  • the problem occurs because the condition is checked by referring to the pixel value filtered at the previous block boundary when checking and selecting filtering in the QTBT block division structure.
  • a block having a length of 4 or less for vertical edge filtering and a block having a length of 4 or less for horizontal edge filtering in a deblocking filter of a QTBT structure proposes a method for determining whether to perform filtering with reference to an unfiltered pixel and a method for determining an adaptive filter.
  • the filtering process of the horizontal edge has only the difference of considering the vertical pixel and the vertical length of the block boundary, and the process is the same.
  • FIG. 29 is a diagram illustrating a result of filtering in a block having a length of 4 or less in vertical edge filtering.
  • FIG. 29 (a) illustrates pixels before filtering in a block having a horizontal length of 4 or less at vertical edge filtering
  • FIG. 29 (b) illustrates pixels (shaded pixels) filtered by filtering. .
  • An embodiment of the present invention proposes a method of using unfiltered pixels as shown in FIG. 30 to select whether to perform filtering and to select a filter.
  • FIG. 30 is a diagram illustrating whether to perform filtering and a filter selection method according to an embodiment of the present invention.
  • the decoder checks whether the block performing the filtering of (b) and the adaptive filter selection condition of (c) use the unfiltered pixel as shown in FIG. 30 (a).
  • the decoder may determine whether to perform filtering as shown in Equation 8 below by using pixels before filtering is performed in a block having a horizontal length of 4 or less in vertical edge filtering.
  • the decoder may determine the filtering type as shown in Equation 9 below by using pixels before filtering at another adjacent block boundary is performed in a block having a horizontal length of 4 or less.
  • the block size for example, a block having a length of 4 or less or a block having a length of 4 or less
  • determining a pixel to be referred to when determining whether to perform filtering and the type of the filter as shown in FIG.
  • FIG. 31 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder determines whether it corresponds to a boundary of a coding unit (or coding block) (S3101).
  • step S3101 If it does not correspond to the boundary of the coding unit (or coding block) in step S3101, the decoder ends the deblocking filtering.
  • step S3101 if it corresponds to the boundary of the coding unit (or coding block) in step S3101, the deblocking filter application condition is checked (S3102), and the decoder determines whether to apply the deblocking filter at the boundary based on the deblocking filter application condition. Determine (S3103).
  • the decoder may use the picture of the unfiltered pixel as an input.
  • Equation 8 may be used as a condition for applying the deblocking filter.
  • step S3103 If it is determined in step S3103 not to apply the deblocking filter at the boundary of the coding unit (or coding block) (ie, the deblocking filter application condition is not satisfied), the decoder ends the deblocking filtering.
  • step S3103 determines whether a strong filter is to be applied at the corresponding boundary (S3105).
  • the decoder can use the picture of the unfiltered pixel as input.
  • Equation 9 may be used as the deblocking filter set selection condition.
  • step S3105 If it is determined in step S3105 to apply a strong filter (for example, if all of the conditions of Equation 9 are satisfied above), the decoder may apply a strong filter at the corresponding boundary (S3106).
  • the decoder may use a reconstructed picture as an input.
  • the method proposed in Examples 1-4 may be used in connection with the application of the strong filter.
  • an ITU-T H.265 document may be incorporated herein by reference.
  • the decoder may apply a weak filter at the boundary (S3107).
  • the decoder may use a reconstructed picture as an input.
  • an ITU-T H.265 document may be incorporated by reference herein.
  • the pixel to which the strong filter is applied and the pixel to which the weak filter is applied may be reflected in the reconstructed picture as an output.
  • the decoder determines with reference to an unfiltered pixel to determine whether to apply a filter and to satisfy a condition for selecting a filter set, and the actual filtering may filter the decoded pixel.
  • One embodiment of the present invention proposes a method for adaptively performing a deblocking filter on color components in a QTBT structure.
  • a block structure of a luma region and a chroma region may be divided differently in I-Slice.
  • filtering is performed by separately identifying block boundaries to which filtering is to be applied.
  • the BS is calculated under the same condition as the luminance component, and then a block boundary corresponding to the condition where the BS is 2 may be filtered.
  • 32 is a diagram illustrating a problem caused when HEVC deblocking filtering is equally applied to a QTBT block division structure.
  • the decoder starts a loop filter picture (loopFilterPic) process, and if the luminance of the channel type is luma (S3201), the decoder performs a CU deblocking (xDeblockCU) process (S3202 and S3203).
  • loopFilterPic loop filter picture
  • xDeblockCU CU deblocking
  • the decoder determines whether the slice type is I-Slice (S3204).
  • a CU deblocking (xDeblockCU) process is performed (S3202 and S3203).
  • the decoder terminates the picture loop filter (loopFilterPic) process.
  • the decoder determines whether the current block (eg, a CTU or a block divided into QTBTs in the CTU) is divided into a quad-tree (QT) structure (S3206).
  • the current block eg, a CTU or a block divided into QTBTs in the CTU
  • QT quad-tree
  • step S3206 If the current block is divided into quad-tree (QT) structures in step S3206, the width value is shifted right by 1 (width >> 1), and the height value is shifted by 1 right. (Height >> 1) (S3207). That is, the current block is divided in half in the vertical and horizontal directions.
  • QT quad-tree
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the four divided blocks (S3208, 3209).
  • the decoder determines whether the current block is divided into the binary-tree (BT) structure (S3210).
  • the decoder determines whether the BT mode is horizontal division (S3211).
  • the decoder right-shifts only the height value by 1 (height >> 1) (S3212). That is, the current block is divided in half in the horizontal direction.
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the two divided blocks (S3213 and S3214).
  • the decoder right-shifts only the width value by 1 (width >> 1) (S3215). That is, the current block is divided in half in the vertical direction.
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the two divided blocks (S3216 and S3217).
  • the decoder calculates boundary strength (BS) or boundary filtering strength (S3218).
  • the decoder determines whether the current block is a luminance block (S3219).
  • the decoder performs filtering (xEdgeFilterLuma) on the edge of the luma block (S3220).
  • the decoder determines whether to apply the deblocking filter, and when the deblocking filter is applied, determines the type of the filter and then performs the deblocking filtering according to the determined filter type. Can be.
  • the decoder Performs filtering on the edge of the chroma block (xEdgeFilterChroma) (S3222).
  • the decoder determines whether to apply the deblocking filter, and when the deblocking filter is applied, determines the type of the filter and then performs the deblocking filtering according to the determined filter type. Can be.
  • the edge of the Chroma block may be added to the edge of the Chroma block without calculating whether to perform filtering on the edge of the Chroma block.
  • a filtering process (xEdgeFilterChroma) is performed.
  • an embodiment of the present invention proposes a method of applying a deblocking filter of chroma components, as shown in FIG. 33.
  • FIG 33 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder starts a picture loop filter (loopFilterPic) process, and if the luminance of the channel type is luma (S3301), the decoder performs a CU deblocking (xDeblockCU) process (S3302 and S3303).
  • loopFilterPic picture loop filter
  • xDeblockCU CU deblocking
  • the decoder determines whether the slice type is I-Slice (S3304).
  • a CU deblocking (xDeblockCU) process is performed (S3302 and S3303).
  • the decoder terminates the picture loop filter (loopFilterPic) process.
  • the decoder determines whether the current block (for example, a CTU or a block divided into QTBT in the CTU) is divided into a quad-tree (QT) structure (S3306).
  • the current block for example, a CTU or a block divided into QTBT in the CTU
  • QT quad-tree
  • step S3306 If the current block is divided into quad-tree (QT) structures in step S3306, the width value is shifted right by 1 (width >> 1), and the height value is shifted by 1 by right. (Height >> 1) (S3307). That is, the current block is divided in half in the vertical and horizontal directions.
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the four divided blocks (S3308 and 3309).
  • the decoder determines whether the current block is divided into the binary-tree (BT) structure (S3310).
  • the decoder determines whether the BT mode is horizontal division (S3311).
  • the decoder right-shifts only the height value by 1 (height >> 1) (S3312). That is, the current block is divided in half in the horizontal direction.
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the two divided blocks (S3313 and S3314).
  • the decoder right-shifts only the width value by 1 (width >> 1) (S3315). That is, the current block is divided in half in the vertical direction.
  • the decoder performs a CU deblocking (xDeblockCU) process on each of the two divided blocks (S3316 and S3317).
  • the decoder calculates boundary strength (BS) or boundary filtering strength (S3318).
  • the decoder determines whether the slice to which the current block belongs is an I-Slice (S3319).
  • the decoder determines whether the current block is a luminance block (S3320).
  • the decoder performs filtering (xEdgeFilterLuma) on the edge of the luma block (S3221).
  • the decoder additionally calculates (determines) whether to perform filtering at the block boundary and performs strong filtering and weak filtering in the same way as the existing luminance component. Optionally applicable.
  • Embodiment 1 and / or Embodiment 2 may be used as a method for determining whether to perform filtering and / or a type of filtering (eg, strong filtering and weak filtering). .
  • a type of filtering eg, strong filtering and weak filtering.
  • an ITU-T H.265 document is incorporated herein by reference. by reference).
  • the decoder is a color ( Chroma) is performed on the edge of the block (xEdgeFilterChroma) (S3223).
  • filtering may be performed at a block boundary of two or more BSs as in the past.
  • FIG 33 is a diagram illustrating a deblocking filtering method according to an embodiment of the present invention.
  • the decoder derives a boundary of a block divided into quad-tree and binary-tree structures (S3301).
  • the decoder determines an edge to which de-blocking filtering is applied among block boundaries (S3302).
  • the decoder determines the edge at which the deblocking filtering is applied at the boundary of the block.
  • an edge may be determined in consideration of the width or height of the block.
  • the edge type when the edge type is a vertical edge, if the width of the block is 4 or less, the edge is based on a pixel to which deblocking filtering is already applied. ) Can be determined.
  • the type of the edge when the type of the edge is a horizontal edge, if the height of the block is 4 or less, the edge may be determined based on pixels that have already been subjected to deblocking filtering.
  • the edge when the type of the edge is a vertical edge (edge), the edge (edge) can be determined only among the boundaries of the block having a block width of 8 or more (that is, No filtering is applied on the boundaries of blocks with a width of 4 or less).
  • the edge type when the edge type is a horizontal edge, the edge may be determined only among the boundaries of blocks having a height of 8 or more blocks (that is, at the boundaries of blocks having a height of 4 or less blocks). No filtering is applied).
  • an edge may be determined based on a pixel before deblocking filtering is applied.
  • the decoder determines the type of deblocking filtering to be applied to the edge (S3303).
  • the decoder can determine whether strong or weak filtering is applied to the edge.
  • the type of deblocking filtering may be determined in consideration of the width or height of the block.
  • the edge type when the edge type is a vertical edge, if the block width is 4 or less, deblocking filtering based on pixels that have already been subjected to deblocking filtering.
  • the type of can be determined.
  • the type of the edge when the type of the edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering may be determined based on a pixel to which the deblocking filtering is already applied.
  • the type of the edge when the type of the edge is a vertical edge, if the block width is 4 or less, the type of deblocking filtering may be determined as weak filtering. In addition, when the type of edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering may be determined as weak filtering.
  • the edge type is a vertical edge, as in Embodiments 1-4, if the block width is 4 or less, the type of deblocking filtering is determined as strong filtering, and strong filtering. Can only be applied to the two pixel columns adjacent to the left and right sides of the edge, respectively.
  • the type of the edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering is determined as strong filtering, and the strong filtering is 2 adjacent to the upper and lower sides of the edge, respectively. May be applied to only one column of pixels.
  • the type of deblocking filtering may be determined based on pixels before the deblocking filtering is applied.
  • an edge is determined at step S3302 regardless of whether the block is a chroma block, and the deblocking is performed at step S3303.
  • the type of filtering may be determined.
  • the decoder performs deblocking filtering on the reconstructed picture sample according to the deblocking filtering type (S3304).
  • 35 is a diagram illustrating a deblocking filtering unit according to an embodiment of the present invention.
  • the deblocking filtering unit implements the functions, processes, and / or methods proposed in FIGS. 6 to 34.
  • the deblocking filtering unit may be implemented as an encoding apparatus in combination with all or some of the components of the encoder illustrated in FIG. 1, or may be combined with all or some of the components of the decoder illustrated in FIG. 2. It can be implemented as a decoding device.
  • the deblocking filtering unit may include a block boundary derivation unit 3501, an edge determination unit 3502, a filtering type determination unit 3503, and a filtering unit 3504.
  • the block boundary derivation unit 3501 derives a boundary of blocks divided into quad-tree and binary-tree structures.
  • the edge determiner 3502 determines an edge to which de-blocking filtering is applied among the block boundaries.
  • the edge determiner 3502 determines an edge to which deblocking filtering is applied at the boundary of the block.
  • an edge may be determined in consideration of the width or height of the block.
  • the edge type when the edge type is a vertical edge, if the width of the block is 4 or less, the edge is based on a pixel to which deblocking filtering is already applied. ) Can be determined.
  • the type of the edge when the type of the edge is a horizontal edge, if the height of the block is 4 or less, the edge may be determined based on pixels that have already been subjected to deblocking filtering.
  • the edge when the type of the edge is a vertical edge (edge), the edge (edge) can be determined only among the boundaries of the block having a block width of 8 or more (that is, No filtering is applied on the boundaries of blocks with a width of 4 or less).
  • the edge type when the edge type is a horizontal edge, the edge may be determined only among the boundaries of blocks having a height of 8 or more blocks (that is, at the boundaries of blocks having a height of 4 or less blocks). No filtering is applied).
  • an edge may be determined based on a pixel before deblocking filtering is applied.
  • the filtering type determiner 3503 determines the type of deblocking filtering to be applied to the edge.
  • the filtering type determiner 3503 may determine whether strong or weak filtering is applied to the edge.
  • the type of deblocking filtering may be determined in consideration of the width or height of the block.
  • the edge type when the edge type is a vertical edge, if the block width is 4 or less, deblocking filtering based on pixels that have already been subjected to deblocking filtering.
  • the type of can be determined.
  • the type of the edge when the type of the edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering may be determined based on a pixel to which the deblocking filtering is already applied.
  • the type of the edge when the type of the edge is a vertical edge, if the block width is 4 or less, the type of deblocking filtering may be determined as weak filtering. In addition, when the type of edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering may be determined as weak filtering.
  • the edge type is a vertical edge, as in Embodiments 1-4, if the block width is 4 or less, the type of deblocking filtering is determined as strong filtering, and strong filtering. Can only be applied to the two pixel columns adjacent to the left and right sides of the edge, respectively.
  • the type of the edge is a horizontal edge, if the height of the block is 4 or less, the type of deblocking filtering is determined as strong filtering, and the strong filtering is 2 adjacent to the upper and lower sides of the edge, respectively. May be applied to only one column of pixels.
  • the type of deblocking filtering may be determined based on pixels before the deblocking filtering is applied.
  • an edge is determined at step S3302 regardless of whether the block is a chroma block, and the deblocking is performed at step S3303.
  • the type of filtering may be determined.
  • the filtering unit 3504 performs deblocking filtering on the reconstructed picture samples according to the deblocking filtering type.
  • each component or feature is to be considered optional unless stated otherwise.
  • Each component or feature may be embodied in a form that is not combined with other components or features. It is also possible to combine some of the components and / or features to form an embodiment of the invention.
  • the order of the operations described in the embodiments of the present invention may be changed. Some components or features of one embodiment may be included in another embodiment or may be replaced with corresponding components or features of another embodiment. It is obvious that the claims may be combined to form an embodiment by combining claims that do not have an explicit citation relationship in the claims or as new claims by post-application correction.
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, and the like.
  • an embodiment of the present invention may be implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above.
  • the software code may be stored in memory and driven by the processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor by various known means.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에서는 영상 부호화/복호화 방법 및 이를 위한 장치가 개시된다. 구체적으로, 복호화 장치가 영상을 필터링하는 방법에 있어서, 쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출하는 단계, 상기 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정하는 단계, 상기 에지에 적용될 디블록킹 필터링의 타입을 결정하는 단계 및 상기 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행하는 단계를 포함하고, 상기 블록의 너비(width) 또는 높이(height)를 고려하여 상기 에지(edge) 또는 상기 디블록킹 필터링의 타입이 결정될 수 있다.

Description

영상 부호화/복호화 방법 및 이를 위한 장치
본 발명은 정지 영상 또는 동영상 처리 방법에 관한 것으로서, 보다 상세하게 디블록킹(de-blocking) 필터링을 수행하는 방법 및 이를 지원하는 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
본 발명의 목적은 쿼드-트리 및 바이너리-트리(QTBT: Quad-Tree Binary-Tree)구조에서 후필터(또는 인루프 필터)를 효과적으로 수행하기 위한 방법 및 이를 지원하는 장치를 제안한다.
또한, 본 발명의 목적은 명암(휘도) 성분 뿐만 아니라 색차 성분에서 조건에 따라 디블록킹 필터를 적응적으로 적용하는 방법 및 이를 지원하는 장치를 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 복호화 장치가 영상을 필터링하는 방법에 있어서, 쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출하는 단계, 상기 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정하는 단계, 상기 에지에 적용될 디블록킹 필터링의 타입을 결정하는 단계 및 상기 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행하는 단계를 포함하고, 상기 블록의 너비(width) 또는 높이(height)를 고려하여 상기 에지(edge) 또는 상기 디블록킹 필터링의 타입이 결정될 수 있다.
본 발명의 다른 일 양상은, 영상을 필터링하는 복호화 장치에 있어서, 쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출하는 블록 경계 도출부, 상기 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정하는 에지 결정부, 상기 에지에 적용될 디블록킹 필터링의 타입을 결정하는 필터링 타입 결정부 및 상기 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행하는 필터링부를 포함하고, 상기 블록의 너비(width) 또는 높이(height)를 고려하여 상기 에지(edge) 또는 상기 디블록킹 필터링의 타입이 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 에지(edge)가 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 에지(edge)가 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 8 이상인 블록의 경계 중에서만 상기 에지(edge)가 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 8 이상인 블록의 경계 중에서만 상기 에지(edge)가 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 상기 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 상기 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다.
바람직하게, 상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 상기 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 상기 강한 필터링은 상기 에지의 좌측 및 우측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다.
바람직하게, 상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 상기 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 상기 강한 필터링은 상기 에지의 상측 및 하측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다.
바람직하게, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 상기 에지(edge)가 결정될 수 있다.
바람직하게, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정될 수 있다.
바람직하게, 상기 블록이 속한 슬라이스가 인트라 슬라이스(I-slice: Intra slice)인 경우, 상기 블록이 색채 블록(chroma block)인지 여부와 무관하게 상기 에지(edge) 및 상기 디블록킹 필터링의 타입이 결정될 수 있다.
본 발명의 실시예에 따르면, QTBT 구조에서 디블록킹 필터를 효율적으로 적용함으로써 정지 영상 또는 동영상의 주관적 화질 및 객관적 화질을 향상시킬 수 있다.
또한, 본 발명의 실시예에 따르면, 병렬화를 통해 디블록킹 필터링의 고속화를 달성할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조 중 쿼드-트리 바이너리-트리를 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 실시예로서, 인루프 필터링부의 개략적인 내부 블록도를 나타낸다.
도 6은 HEVC의 디블록킹 필터의 필터링 수행 방법을 예시하는 도면이다.
도 7은 HEVC의 디블록킹 필터의 필터링 수행 경계를 예시하는 도면이다.
도 8은 HEVC의 필터링 수행 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 9는 HEVC의 디블록킹 필터링이 적용되는 픽셀 영역을 예시하는 도면이다.
도 10은 본 발명이 적용되는 실시예로서, QTBT 분할 구조를 예시하는 도면이다.
도 11 내지 도 21은 QTBT 분할 구조를 HEVC 디블록킹 필터링 방법을 적용하는 경우의 문제점을 설명하기 위한 도면이다.
도 22는 본 발명의 일 실시예에 따른 디블록킹 필터의 종류를 결정하기 위한 방법을 예시하는 도면이다.
도 23은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 24는 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 25는 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 26은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 27은 본 발명의 일 실시예에 따른 강한 필터링 방법을 예시하는 도면이다.
도 28은 본 발명의 일 실시예에 따른 강한 필터링 방법을 예시하는 도면이다.
도 29는 수직 에지(vertical edge) 필터링 시에 가로 길이가 4 이하인 블록에서 필터링 수행 결과를 예시하는 도면이다.
도 30은 본 발명의 일 실시예에 따른 필터링 수행여부 및 필터 선택 방법을 예시하는 도면이다.
도 31은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 32는 QTBT 블록 분할 구조에서 HEVC 디블록킹 필터링을 동일하게 적용 시 발생되는 문제점을 설명하기 위한 도면이다.
도 33은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 34는 본 발명의 일 실시예에 따른 디블록킹 필터링부를 예시하는 도면이다.
도 35는 본 발명의 일 실시예에 따른 디블록킹 필터링부를 예시하는 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
이하 본 명세서에서 '블록' 또는 '유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 과정이 수행되는 단위를 의미하며, 샘플(또는 화소, 픽셀)의 다차원 배열로 구성될 수 있다.
'블록' 또는 '유닛'은 휘도(luma) 성분에 대한 샘플의 다차원 배열을 의미할 수도 있으며, 색차(chroma) 성분에 대한 샘플의 다차원 배열을 의미할 수도 있다. 또한, 휘도(luma) 성분에 대한 샘플의 다차원 배열과 색차(chroma) 성분에 대한 샘플의 다차원 배열을 모두 포함하여 통칭할 수도 있다.
예를 들어, '블록' 또는 '유닛'은 인코딩/디코딩의 수행 대상이 되는 샘플의 배열을 의미하는 코딩 블록(CB: Conding Block), 복수의 코딩 블록으로 구성되는 코딩 트리 블록(CTB: Coding Tree Block), 동일한 예측이 적용되는 샘플의 배열을 의미하는 예측 블록(PB: Prediction Block)(또는 예측 유닛(PU: Prediction Unit)), 동일한 변환이 적용되는 샘플의 배열을 의미하는 변환 블록(TB: Transform Block)(또는 변환 유닛(TU: Transform Unit))을 모두 포함하는 의미로 해석될 수 있다.
또한, 본 명세서 별도의 언급이 없는 한, '블록' 또는 '유닛'은 휘도(luma) 성분 및/또는 색차(chroma) 성분에 대한 샘플의 배열을 인코딩/디코딩하는 과정에서 이용되는 신택스 구조(syntax sturcture)를 포함하는 의미로 해석될 수 있다. 여기서, 신택스 구조는 특정한 순서로 비트스트림 내 존재하는 0 또는 그 이상의 신택스 요소(syntax element)를 의미하며, 신택스 요소는 비트스트림 내에서 표현되는 데이터의 요소를 의미한다.
예를 들어, '블록' 또는 '유닛'은 코딩 블록(CB)과 해당 코딩 블록(CB)의 인코딩을 위해 이용되는 신택스 구조를 포함하는 코딩 유닛(CU: Coding Unit), 복수의 코딩 유닛으로 구성되는 코딩 트리 유닛(CU: Coding Tree Unit), 예측 블록(PB)과 해당 예측 블록(PB)의 예측을 위해 이용되는 신택스 구조를 포함하는 예측 유닛(PU: Prediction Unit), 변환 블록(TB)와 해당 변환 블록(TB)의 변환을 위해 이용되는 신택스 구조를 포함하는 변환 유닛(TU: Transform Unit)을 모두 포함하는 의미로 해석될 수 있다.
또한, 본 명세서에서 '블록' 또는 '유닛'은 반드시 정사각형 또는 직사각형 형태의 샘플(또는 화소, 픽셀)의 배열로 한정되는 것은 아니며, 3개 이상의 꼭지점을 가지는 다각형 형태의 샘플(또는 화소, 픽셀)의 배열을 의미할 수도 있다. 이 경우, 폴리곤(Polygon) 블록 또는 폴리곤 유닛으로 지칭될 수도 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen?Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성될 수 있다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 예측할 수 있다.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성된다.
필터링부(240)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
영상 분할(image patitioning)
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU은 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU은 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU은 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다.
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조 중 쿼드-트리 바이너리-트리를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조와 바이너리트리(binarytree, 이하 BT라 함)로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할하거나 직사각형 형태를 가지면서 너비 또는 높이 길이가 절반씩 감소하는 2개의 유닛으로 분할할 수 있다. 이러한 QT BT구조의 분해는 재귀적으로 수행될 수 있다.
도 4를 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 QT 리프 노드(QT leaf node)에 도달할 때까지 분할될 수 있고, QT의 리프노드는 BT로 분할할 수 있으며 BT 리프노드에 도달할 때까지 분할 될 수 있다.
도 4를 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며 QT 리프노드는 BT형태로 분할 될 수 있다. 그 결과 레벨 n의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 n의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 또한 QT리프노드에서 BT로 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 BT 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 “bt_split_flag”로 표현될 수 있다. 추가적으로 split_bt_flagh에 의하여 BT로 분할이 되는 경우, 절반크기의 너비를 가지는 직사각형 또는 절반크기의 높이를 가지는 직사각형 형태로 분할되도록 BT 분할 모양이 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 BT분할 모드로 정의될 수 있으며, 신택스 엘리먼트 “bt_split_mode”로 표현될 수 있다.
도 5는 본 발명이 적용되는 실시예로서, 인루프 필터링부의 개략적인 내부 블록도를 나타낸다.
인루프 필터링부는 디블록킹 필터링부(510), 적응적 오프셋 필터링부(520) 및 적응적 루프 필터링부(530) 중 적어도 하나를 포함할 수 있다.
상기 인루프 필터링부는 복원 픽쳐에 필터링을 적용하여 재생 장치로 출력하거나, 버퍼에 저장하여 인터 예측 모드에서 참조 픽쳐로 이용할 수 있다.
디블록킹 필터링부(510)는 복원 픽쳐의 경계에서 발생하는 왜곡 현상을 개선하는 기능을 수행한다. 예를 들어, 예측 유닛이나 변환 유닛의 경계에서 발생하는 블록킹 열화를 개선할 수 있다.
먼저, 디블록킹 필터링부(510)는 블록 경계에서 복원 픽셀 값의 불연속 여부를 확인하고, 블록킹 열화가 발생한 경우 해당 에지 경계에서 디블록킹 필터링을 수행할 수 있다. 예를 들어, 블록 경계가 8x8 블록 경계이면서 예측 유닛이나 변환 유닛의 경계인지를 판단하고, 그에 기초하여 경계 강도(BS: Boundary Strength) 값을 산출할 수 있다. 상기 경계 강도(BS) 값에 기초하여 필터링을 수행할지 여부를 결정할 수 있으며, 이때 필터링 파라미터가 함께 이용될 수 있다.
디블록킹 필터링부(510)의 필터링 수행 방법에 대한 보다 상세한 설명은 후술한다.
적응적 오프셋 필터링부(520)는 복원 픽셀에 오프셋을 가산하여 복원 영상과 원본 영상 간의 에러를 최소화하는 기능을 수행할 수 있다. 여기서, 상기 복원 영상은 디블록킹 필터링된 영상을 의미할 수 있다. 인코더의 경우 복원 영상과 원본 영상 간의 에러를 보정하기 위한 오프셋 파라미터를 산출해서 이를 디코더로 전송하고, 디코더의 경우 전송된 오프셋 파라미터를 엔트로피 복호화한 후 그에 기초하여 픽셀 단위로 필터링을 수행할 수 있다.
적응적 루프 필터링부(530)는 원본 영상과 복원 영상과의 오차를 최소화시키는 최적의 계수를 산출하여 필터링을 수행할 수 있다. 인코더의 경우, 원본 영상과 복원 영상과의 오차를 최소로 만드는 필터 계수를 유도하고, 적응적으로 블록마다 적응적 루프 필터링 적용 여부에 대한 정보 및 필터 계수를 디코더에 전송할 수 있다. 디코더의 경우, 전송된 적응적 루프 필터링 적용 여부에 대한 정보 및 필터 계수에 기초하여 필터링을 수행할 수 있다.
도 6은 HEVC의 디블록킹 필터의 필터링 수행 방법을 예시하는 도면이다.
도 6을 참조하면, 디블록킹 필터는 디블록킹 필터링을 적용하기 위한 경계를 결정한다.
다만, 이때, 경계 결정은 디블록킹 필터링이 필요한 위치(즉, 경계)만을 결정하는 것이며, 실제 필터링의 수행 여부는 S604 단계에서 필터 온/오프(filter on/off) 단계에서 결정된다.
디블록킹 필터를 위한 경계의 종류는 CU(Coding Unit) 경계, PU(Prediction Unit) 경계, TU(Transform Unit) 경계 세 가지로 구분될 수 잇따. 하나의 CU 경계는 PU 또는 TU 경계에 해당될 수 있으므로, 필터링을 수행해야 하는 경계 대상에 해당될 수 있다.
디블록킹 필터는 BS를 계산한다(S602). 즉, 디블록킹 필터는 경계에 인접한 블록의 특성에 따라 다른 강도의 디블록킹 필터를 수행하기 위해 경계 강도 BS(Boundary Strength)를 결정한다.
디블록킹 필터는 필터링 수행 여부 및 필터링 선택 등의 임계 값으로 사용되는 파라미터인 β, t_c를 결정한다(S603).
디블록킹 필터는 필터 온/오프(Filter on/off decision)를 수행한다(S604). 즉, 디블록킹 필터는 필터링 유닛 단위로 필터링 수행 여부를 결정한다.
디블록킹 필터는 필터링이 수행될 경계에서 강한 필터(strong filter)를 적용할지, 약한 필터(weak filter)를 적용할지 결정한다(S605).
디블록킹 필터는 픽셀을 정해진 필터로 필터링 수행한다(S606, S607).
QTBT(Quad-Tree Binary-Tree) 구조를 위한 디블록킹(De-Blocking) 필터링 방법
본 발명의 실시예를 설명하기에 앞서, HEVC의 디블록킹 필터의 특성과 QTBT 구조에서 디블록킹 필터 동작을 설명하고 QTBT의 디블록킹 필터의 문제점에 대하여 살펴본다.
우선 HEVC의 디블록킹 필터는 예측 블록(PB: Prediction Block)의 경계와 변환 블록(TB: Transform Block)의 경계에서 필터링을 수행한다. 그러나, QTBT의 경우 변환 블록과 예측 블록의 경계가 따로 없기 때문에 코딩 블록(CB: Coding Block) 경계면에서 필터링을 수행할 수 있다.
물론 HEVC와 QTBT의 디블록킹 필터는 모든 경계면에서 무조건적인 필터링을 수행하는 것이 아니라, 특정 조건이 만족하는 경우에만(앞서 도 6의 S604 단계에서 판단) 강한 필터링(strong filtering)과 약한 필터링(weak filtering)을 선별적으로 수행한다. 반면, 조건이 만족하지 않는 경우 경계면이 이에 해당하더라도 필터링을 수행하지 않는다.
도 7은 HEVC의 디블록킹 필터의 필터링 수행 경계를 예시하는 도면이다.
도 7(a)는 디블록킹 필터의 필터링 수행 경계로서 수직 에지(vertical edge)를 예시하고, 도 7(b)는 디블록킹 필터의 필터링 수행 경계로서 수평 에지(horizontal edge)를 예시한다.
도 7에서 알 수 있듯이 HEVC의 디블록킹 필터는 예측 블록의 경계와 변환 블록의 경계에서 수행된다. 그러나 모든 예측 블록 경계나 변환 블록 경계에서 필터링이 수행되는 것이 아니라, 8x8 이상의 블록 경계에서만 수행이 된다. 이는 디블록킹 필터의 병렬처리를 고려되었다고 볼 수 있다.
앞서 언급한 바와 같이 블록 경계에서 필터링 수행여부를 결정하고, 필터링 수행조건을 만족할 때 강한 필터와 약한 필터를 선별적으로 수행한다.
이때, 필터링 수행 여부를 결정하기 위하여 블록 경계면에 인접한 픽셀의 값을 확인한다. 이에 대하여 아래 도 8을 참조하여 보다 상세히 살펴본다.
도 8은 HEVC의 필터링 수행 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 8에서 실선은 블록 경계를 나타내고, 각각의 원은 하나의 픽셀(예를 들어, 휘도(luma) 성분 샘플 또는 색차(chroma) 성분 샘플)을 나타낸다.
도 8을 참조하면, 블록 경계면에 인접한 각각 3 픽셀(도 8에서 음영 표시된 픽셀)을 X 축과 Y 축 성분을 블록 경계를 기준으로 p(x,y)(또는 q(x,y))와 같은 형태로 표기하여 도 8과 같이 나타낼 수 있다. 그리고, 필터링 수행 조건을 나타내는 아래 수학식 1에 따라 변수(파라미터) dp0, dp3, dq0, dq3, dpq0, dpq3, d 값이 계산될 수 있다.
Figure PCTKR2017009106-appb-M000001
수학식 1에 의해 계산된 변수(파라미터) d 값은 양자화 파라미터(Q)를 기반으로 정해지는 변수(파라미터) β 값과 비교하여 d 값이 β보다 작을 경우에만 디블록킹 필터링이 수행된다.
여기서, 양자화 파라미터(Q) 및 변수(파라미터) β를 결정하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)된다.
상술한 바와 같이, 특정 조건에 의하여 해당 블록 경계의 픽셀들이 필터링이 수행되는 조건에 해당한다면, 아래 수학식 2에 따라 강한 필터(strong filter)를 적용할지, 약한 필터(weak filter)를 적용할지 결정된다.
아래 수학식 2의 조건에 따라 수학식 2의 모든 조건이 만족하면 강한 필터가, 그렇지 않은 경우에는 약한 필터가 적용된다.
Figure PCTKR2017009106-appb-M000002
수학식 2에서, 변수(파라미터) tc(즉, t_c)는 양자화 파라미터(Q)를 기반으로 정해진다.
여기서, 변수(파라미터) tc(즉, t_c)를 결정하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로 인용(incorporated by reference)된다.
수학식 2의 조건에 의하여 정해지는 필터 종류(즉, 강한 필터 또는 약한 필터)에 따라 필터링이 적용되는 픽셀 영역은 아래 도 상이하다.
도 9는 HEVC의 디블록킹 필터링이 적용되는 픽셀 영역을 예시하는 도면이다.
도 9와 같이, 강한 필터 또는 약한 필터가 적용되는 각각의 픽셀 영역은 블록 경계를 기준으로 상이하다.
상술한 바와 같이, 블록 경계를 기준으로 좌우 또는 상하의 3 픽셀을 이용하여 디블록킹 필터링 적용여부가 결정된다. 그리고, 디블록킹 필터링이 적용되는 경계면에서 다시 한번 블록 경계를 기준으로 좌우 또는 상하의 4 픽셀을 이용하여 디블록킹 필터 종류가 결정된다.
앞서 설명한 HEVC 디블록킹 필터링 방법과 관련하여, ITU-T H.265 문서는 본 명세서에서 참조로 인용(incorporated by reference)된다.
이러한 이유로 HEVC는 4x4 예측 블록 또는 변환 블록, 8x4 그리고 4x8크기의 예측 블록이 발생할 수 있음에도 불구하고 병렬화를 위하여 8x8 이상의 블록 경계면에서만 디블록킹 필터링이 적용된다.
반면 QTBT의 경우, 인트라 슬라이스(I-slice: Intra slice)(즉, 인트라 예측만이 사용되어 디코딩되는 슬라이스)에서 휘도(luma)와 색차(chroma)의 블록 구조가 서로 다르며, 쿼드-트리와 바이너리-트리에 의하여 다양한 모양과 크기의 코딩 블록이 발생할 수 있다.
도 10은 본 발명이 적용되는 실시예로서, QTBT 분할 구조를 예시하는 도면이다.
도 10에서 볼 수 있듯이, 모든 블록 경계면에서 필터링을 수행하며 HEVC의 디-블록킹 방법을 동일하게 사용하고 있기 떄문에 병렬화뿐만 아니라, chroma 성분에 대한 필터링이 효과적으로 이뤄지고 있지 않다.
도 10에 따르면 QTBT에 의하여 영상은 다양한 크기 및 모양의 구조로 분할될 수 있다.
이에 따라 본 발명에서는 다양한 블록 분할 구조(즉, 다양한 블록의 크기 및 모양을 가지는 분할 구조)에서 디블록킹 필터를 병렬적으로 수행하기 위한 방법을 제안한다.
도 10에서 예시된 바와 같이, QTBT의 디블록킹 필터는 HEVC의 디블록킹 필터를 동일하게 적용하되, 8x8 이상 블록 경계뿐만 아니라 4x4, 4x8, 8x4, 4x16 등의 블록경계에서도 디블록킹 필터가 수행될 수 있다.
다만, 이 경우 해당 블록 경계에서의 필터링은 인접한 블록 경계에서 필터링에 의한 픽셀값 변화에 의하여 병렬화 조건이 성립하지 않게 되는 문제가 발생될 수 있다.
도 11 내지 도 21은 QTBT 분할 구조를 HEVC 디블록킹 필터링 방법을 적용하는 경우의 문제점을 설명하기 위한 도면이다.
QTBT에 의하여 도 11과 같은 구조로 분할되었을 경우, 도 12와 같이 4x16 블록의 수직 에지(vertical edge)에 대하여 예를 들어서 문제점을 설명한다.
이때, 도 12와 같이 첫번째 4x16 블록의 수직 에지(즉, 블록 경계1)에 강한 필터링이 수행되었다고 가정한다.
이 경우, 필터링에 의하여 블록 경계에 인접한 3개 픽셀들(도 12에서 음영 표시된 픽셀)은 픽셀값의 변화가 생기게 된다. 그리고, 블록 경계1에서 필터링에 의하여 노이즈가 제거되었다고 가정한다.
다음 인접한 블록 경계(즉, 블록 경계2)에서 필터링을 수행하기 위하여 우선 도 13에서 점선으로 표시된 픽셀들을 통하여 필터링의 수행 여부를 결정한다.
그러나 도 12의 예에 의하여 필터링된 픽셀(도 12에서 음영 표시된 픽셀)과 필터링 되지 않은 픽셀(도 12에서 음영 표시되지 않은 픽셀)을 참조하여 필터링 수행여부를 결정하여야 하는 문제가 생긴다.
우선 병렬화 문제에 집중해 보면, 도 13과 같이 블록경계1과 블록경계2의 필터링은 동시에 수행될 수 없기 때문에 병렬 파이프라인이 깨지게 되는 문제가 발생한다.
물론, 도 13의 병렬화를 고려하지 않는다 하더라도 도 14와 같이 중첩하여 필터링되는 문제가 발생한다.
도 14에서 볼 수 있듯이 블록경계2에서 필터링이 수행되는 조건에 해당하면서 또한 강한 필터링이 적용되는 조건을 만족하면 도 14의 검은색 픽셀들은 디블록킹 필터의 로우-패스 필터가 2번 적용이 되는 것이다.
또한, 도 15와 같이 블록 경계2에서 강한 필터링이 아니라 약한 필터링이 적용된다고 하더라도, 도 15의 검은색 픽셀들은 두번의 로우-패스 필터가 적용되는 문제가 발생한다.
추가적으로 도 16과 같이 블록경계1에서 약한 필터링이 적용되었다고 가정한다.
이 경우, 도 17과 같이 블록경계2에서 필터링 수행여부를 결정하기 위하여 점선으로 표시된 픽셀을 참조하여 한다.
또한, 블록경계2에서 필터링이 수행되도록 결정되었다고 하더라도, 강한 필터 혹은 약한 필터 중 어떤 필터를 적용할지 여부를 결정하기 위하여 도 18의 점선으로 표시된 픽셀을 참조하여 수학식 2의 수식을 통해 결정하여야 한다.
만약, 블록경계2에서 강한 필터링 수행 조건이 만족하지 않아 블록경계2에서 약한 필터링이 수행된다면 도 19과 같이 중첩하여 필터링되는 문제는 발생하지 않겠지만, 강한 필터링 수행 조건이 만족하여 블록경계2에서 강한 필터링이 수행된다면 도 20과 같이 진하게 음영 표시된 픽셀은 중첩하여 필터링되는 문제가 발생한다.
이하, 본 발명의 설명에 있어서, 주로 수직 에지(vertical edge)를 예시하여 설명하지만, 이는 설명의 편의를 위한 것이며 본 발명이 이에 한정되는 것은 아니다. 즉, 수평 에지(horizontal edge)일 경우 픽셀이 블록 경계를 기준으로 상하에 위치하는 차이가 있을 뿐 과정은 동일하게 수행될 수 있다.
실시예 1
본 발명의 일실시예는 QTBT 구조의 디블록킹 필터를 효과적으로 수행하기 위한 방법을 제안한다.
앞서 설명한 것과 같이 QTBT 블록 구조에서 HEVC에서 정의된 디블록킹 필터링 방법을 그대로 적용한다면, QTBT는 블록 경계에서 필터링된 픽셀을 참조하여 필터링 여부를 계산하는 문제로 인하여 병렬처리가 되지 않는 경우가 발생하는 문제점이 발생한다.
이를 방지하기 위하여 본 발명은 수직-에지의 경우 블록의 가로 크기/길이가 4 이하인 블록(즉, 가로 샘플의 개수가 4 이하인 블록) 경계에서, 수평-에지의 경우 블록의 세로 크기가 4 이하인 블록(즉, 세로 샘플의 개수가 4 이하인 블록) 경계에서 디블록킹 필터링을 수행하는 방법을 제안한다.
1) 실시예 1-1
본 발명의 일실시예에 따르면, QTBT 구조의 디블록킹 필터에서 수직 에지(Vertival edge)를 위하여 가로 길이가 4 이하인 블록, 수평 에지(Horizontal edge)를 위하여 세로 길이가 4 이하인 블록의 필터링 방법을 제안한다.
앞서 설명한 것과 같이 QTBT 구조에서 디블록킹 필터링을 수행할 때 발생할 수 있는 문제는 병렬화 문제와 필터링 여부 및 적응적 필터 선택 시 참조 픽셀의 필터링으로 구분할 수 있다.
앞서 설명한 HEVC의 디블록킹 필터링과 같이, 특정 조건의 블록 경계(예를 들어, 가로 길이가 4 이하인 블록의 경계 또는 세로 길이가 4 이하인 블록의 경계)에서 필터링을 수행하지 않는 것은 병렬화를 가능하게 하지만, 이와 동시에 해당 블록 경계에서 필터링이 수행되지 않기 때문에 객관적 및 주관적 화질 열화를 일으키게 되는 문제가 발생될 수 있다.
이러한 이유로 본 발명의 일실시예에서는 특정 조건을 만족하는 경우에 블록 경계에서 필터링 방법을 제안한다.
여기서, 특정 조건은 수직 에지(Vertical edge)를 필터링 하는 과정에서 블록 가로 길이가 4 이하 및/또는 수평 에지(Horizontal edge)를 필터링하는 과정에서 블록 세로 길이가 4이하인 경우를 의미한다.
위와 같은 특정 조건에서는 필터링에 의하여 필터링된 픽셀을 참조하여 도 13과 같이 필터링을 수행할 것인지 여부를 결정할 때, 이미 필터링이 되어 노이즈가 사라진 픽셀이 이용될 수 있다.
도 21은 본 발명의 일 실시예에 따른 디블록킹 필터링의 수행 여부를 결정하기 위한 방법을 예시하는 도면이다.
도 21 및 아래 수학식 3을 참조하면, d는 블록 경계의 픽셀값들의 변화량의 합을 의미한다고 할 수 있다.
이때, P 블록의 픽셀들(즉, 도 22에서 점선으로 표시된 픽셀 중 음영 처리된 픽셀)은 이미 필터링이 적용되어 스무딩이 이뤄진 상태이므로, 필터링 되지않은 픽셀들의 값의 차분값에 비해 작은 값이 나올 확률이 높다.
따라서, 수학식 3에 따라 최종적으로 계산되는 d 값이 작아질 수 있으며, 결국 필터링 수행이 여부를 검사할 때 확률적으로 필터링을 수행해야하는 비율이 높아질 수 있다.
Figure PCTKR2017009106-appb-M000003
또한, 위와 같은 특정 조건에서는 필터링에 의하여 필터링된 픽셀을 참조하여 필터의 종류가 결정될 수 있다.
도 22는 본 발명의 일 실시예에 따른 디블록킹 필터의 종류를 결정하기 위한 방법을 예시하는 도면이다.
도 22 및 수학식 4를 참조하면, 강한 필터와 약한 필터를 적응적으로 선택하기 위하여 참조하는 수식 역시 블록 경계의 픽셀값들의 변화량을 고려하게 된다.
이때, P 블록의 픽셀들(즉, 도 22에서 점선으로 표시된 픽셀 중 음영 처리된 픽셀)은 필터링이 이미 수행되었기 때문에 픽셀이 스무딩되어 변화량이 줄어들 수 있다. 이로 인하여 수학식 4에서 예시되는 강한 필터링을 수행하도록 하는 조건을 만족하게 되기 때문에, 결과적으로 약한 필터보다는 강한 필터가 수행되는 경우가 많이 발생할 수 있다.
이는 이미 필터링된 픽셀에 강한 필터를 적용하게 되어 블록경계에서 오히려 에지가 뭉게지는 현상이 발생할 수 있다.
Figure PCTKR2017009106-appb-M000004
2) 실시예 1-2
본 발명의 일실시예는 QTBT 구조의 경우, 디블록킹 필터에서 수직 에지(Vertival edge) 필터링을 위하여 가로 길이가 4이하인 블록 또는 수평 에지(Horizontal edge) 필터링을 위하여 세로 길이가 4이하인 블록의 필터링을 수행하지 않는 방법을 제안한다.
앞서 설명한 바와 같이 현재 QTBT에서 디블록킹 필터는 특정 크기의 블록의 경계를 필터링 과정에서 많은 이슈사항이 있다. 이러한 이슈를 피하고 디블록킹 필터리의 병렬화를 가능하게 하기 위하여 본 발명의 일실시예에서는 도 23과 같은 방법을 제안한다.
도 23은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 23을 참조하면, 디코더는 코딩 유닛(또는 코딩 블록)의 경계에 해당하는지 판단한다(S2301).
만약, S2301 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하지 않으면, 디코더는 디블록킹 필터링을 종료한다.
반면, S2301 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하면, 해당 경계가 수직 에지에 해당하는지 판단한다(S2302).
만약, S2302 단계에서 해당 경계가 수직 에지에 해당하면, 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인지 판단한다(S2303).
반면, S2302 단계에서 해당 경계가 수직 에지에 해당하지 않으면(즉, 수평 에지에 해당하면), 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인지 판단한다(S2304).
S2303 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인 경우 또는 S2304 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 경우, 디코더는 기존(conventional)의 디블록킹 필터링을 수행한다(S2305).
예를 들어, 디코더는 앞서 도 6의 예시와 같이 기존(conventional)의 디블록킹 필터링을 수행할 수 있다.
여기서, 기존(conventional)의 디블록킹 필터링 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)된다.
반면, S2303 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상이 아닌 경우 또는 S2304 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 아닌 경우, 디코더는 디블록킹 필터링을 종료한다.
도 23에서 예시된 바와 같이, 수직 에지(vertical edge)일 경우 코딩 유닛(또는 코딩 블록)의 가로길이가 8 이상인 코딩 유닛(또는 코딩 블록)에 대해서만, 수평 에지(horizontal edge)일 경우 코딩 유닛(또는 코딩 블록)의 세로길이가 8이상인 코딩 유닛(또는 코딩 블록)에 대해서만 필터링을 수행하고, 8이상이 아닌 코딩 유닛(또는 코딩 블록)에 대해서는 필터링을 수행하지 않을 수 있다.
앞서 설명한 바와 같이, 본 실실예는 블록 크기만을 고려하여 필터링 적용 여부를 결정하기 때문에 가장 간단하게 디블록킹 필터링을 병렬화할 수 있는 효과가 있다.
3) 실시예 1-3
본 발명의 일실시예에 따르면, QTBT 구조의 디블록킹 필터에서 수직 에지(vertical edge) 필터링을 위하여 가로 길이가 4 이하인 블록 또는 수평 에지(horizontal edge) 필터링을 위하여 세로 길이가 4이하인 블록에 대해서 약한 필터링을 수행하는 방법을 제안한다.
도 24는 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 24를 참조하면, 디코더는 코딩 유닛(또는 코딩 블록)의 경계에 해당하는지 판단한다(S2401).
만약, S2401 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하지 않으면, 디코더는 디블록킹 필터링을 종료한다.
반면, S2401 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하면, 해당 경계가 수직 에지에 해당하는지 판단한다(S2402).
만약 S2402 단계에서 해당 경계가 수직 에지에 해당하면, 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인지 판단한다(S2403).
반면, S2402 단계에서 해당 경계가 수직 에지에 해당하지 않으면(즉, 수평 에지에 해당하면), 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인지 판단한다(S2404).
S2403 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인 경우 또는 S2404 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 경우, 디코더는 기존(conventional)의 디블록킹 필터링을 수행한다(S2405).
예를 들어, 디코더는 앞서 도 6의 예시와 같이 기존(conventional)의 디블록킹 필터링을 수행할 수 있다.
여기서, 기존(conventional)의 디블록킹 필터링 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)된다.
반면, S2403 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상이 아닌 경우, 디코더는 해당 수직 에지에 약한 필터를 적용할 수 있다(S2406)
또한, S2404 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 아닌 경우, 디코더는 해당 수평 에지에 약한 필터를 적용할 수 있다(S2407).
여기서, 예를 들어, 약한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
도 24에서 예시된 바와 같이, 수직 에지(vertical edge)일 경우 코딩 유닛(또는 코딩 블록)의 가로길이가 8 이상인 코딩 유닛(또는 코딩 블록)에 대해서만, 수평 에지(horizontal edge)일 경우 코딩 유닛(또는 코딩 블록)의 세로길이가 8이상인 코딩 유닛(또는 코딩 블록)에 대해서는 기존의 디블록킹 필터링이 적용되고, 8이상이 아닌 코딩 유닛(또는 코딩 블록)에 대해서는 약한 필터가 적용될 수 있다.
앞서 설명한 바와 같이, 본 실시예에 따르면 실시예 1-2에서 작은 블록 사이즈에서 필터링이 적용되지 않아 주관적 화질이 열화되는 것을 최소화할 수 있다는 효과가 있다.
4) 실시예 1-4
본 발명의 일실시예는 QTBT 구조의 디블록킹 필터에서 수직 에지(Vertival edge)를 위하여 가로 길이가 4 이하인 블록의 경계의 좌우, 수평 에지(Horizotal edge)를 위하여 세로 길이가 4 이하인 블록 경계의 상하 각각 2 픽셀만 강한 필터를 수행하는 방법을 제안한다.
이때, 아래 도 25와 같이 가로 길이가 4 이하인 블록, 세로 길이가 4 이하인 블록에는 필터 세트 선택없이 강한 필터링을 적용하는 방법을 제안한다.
도 25는 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 25를 참조하면, 디코더는 코딩 유닛(또는 코딩 블록)의 경계에 해당하는지 판단한다(S2501).
만약, S2501 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하지 않으면, 디코더는 디블록킹 필터링을 종료한다.
반면, S2501 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하면, 디블록킹 필터 적용 조건을 체크하고(S2502), 디코더는 디블록킹 필터 적용 조건을 기반으로 해당 경계에서 디블록킹 필터를 적용할지 여부를 결정한다(S2503).
이때, 디블록킹 필터 적용 조건으로 앞서 수학식 1이 이용될 수 있다.
만약, S2503 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하지 않도록 결정하면(즉, 디블록킹 필터 적용 조건 만족하지 않음), 디코더는 디블록킹 필터링을 종료한다.
반면, S2503 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하도록 결정하면(즉, 디블록킹 필터 적용 조건 만족), 디코더는 해당 경계가 수직 에지에 해당하는지 판단한다(S2504).
S2504 단계에서 해당 경계가 수직 에지에 해당하면, 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인지 판단한다(S2505).
반면, S2504 단계에서 해당 경계가 수직 에지에 해당하지 않으면(즉, 수평 에지에 해당하면), 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인지 판단한다(S2506).
S2505 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상이 아닌 경우 또는 S2506 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 아닌 경우, 디코더는 본 실시예에서 제안된 강한 필터를 적용함으로써 디블록킹 필터링을 수행한다(S2507).
본 실시예에서 제안된 강한 필터를 적용하면 블록 경계의 좌우(수직 에지인 경우) 또는 상하(수평 에지인 경우) 각각 2픽셀만 강한 필터를 수행하게 되며, 이에 대한 보다 상세한 설명은 후술한다.
반면, S2505 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인 경우 또는 S2506 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인 경우, 디코더는 필터 세트 선택 조건을 체크하고(S2508), 디코더는 필터 세트 선택 조건을 기반으로 해당 에지에서 강한 필터를 적용할지 여부를 결정한다(S2509).
이때, 디블록킹 필터 세트 선택 조건으로 수학식 2가 이용될 수 있다.
만약, S2509 단계에서 강한 필터를 적용하도록 결정한다면(예를 들어, 앞서 수학식 2의 조건이 모두 만족된다면), 디코더는 해당 에지에서 기존의 강한 필터를 적용할 수 있다(S2510).
여기서, 예를 들어, 강한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
반면, S2509 단계에서 강한 필터를 적용하지 않도록 결정한다면(예를 들어, 앞서 수학식 2의 조건 중 어느 하나라고 만족되지 않으면), 디코더는 해당 에지에서 약한 필터를 적용할 수 있다(S2511).
여기서, 예를 들어, 약한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
또한, 아래 도 26과 같이 기존의 수행 구조를 유지한채 강한 필터를 적용해야하는 블록 경계에 대해서는 본 발명에서 제안하는 강한 필터를 적용하는 방법을 제안한다.
도 26은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 26을 참조하면, 디코더는 코딩 유닛(또는 코딩 블록)의 경계에 해당하는지 판단한다(S2601).
만약, S2601 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하지 않으면, 디코더는 디블록킹 필터링을 종료한다.
반면, S2601 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하면, 디블록킹 필터 적용 조건을 체크하고(S2602), 디코더는 디블록킹 필터 적용 조건을 기반으로 해당 경계에서 디블록킹 필터를 적용할지 여부를 결정한다(S2603).
이때, 디블록킹 필터를 적용하는 조건으로 앞서 수학식 1이 이용될 수 있다.
만약, S2603 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하지 않도록 결정하면(즉, 디블록킹 필터 적용 조건 만족하지 않음), 디코더는 디블록킹 필터링을 종료한다.
반면, S2603 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하도록 결정하면(즉, 디블록킹 필터 적용 조건 만족), 디코더는 필터 세트 선택 조건을 체크하고(S2604), 디코더는 필터 세트 선택 조건을 기반으로 해당 경계에서 강한 필터를 적용할지 여부를 결정한다(S2605).
이때, 디블록킹 필터 세트 선택 조건으로 수학식 2가 이용될 수 있다.
만약, S2605 단계에서 강한 필터를 적용하지 않도록 결정한다면(예를 들어, 앞서 수학식 2의 조건 중 어느 하나라고 만족되지 않으면), 디코더는 해당 경계에서 약한 필터를 적용할 수 있다(S2606).
여기서, 예를 들어, 약한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
반면, S2605 단계에서 강한 필터를 적용하도록 결정하면(예를 들어, 앞서 수학식 2의 조건이 모두 만족된다면), 디코더는 해당 경계가 수직 에지에 해당하는지 판단한다(S2607).
S2607 단계에서 해당 경계가 수직 에지에 해당하면, 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인지 판단한다(S2608).
반면, S2607 단계에서 해당 경계가 수직 에지에 해당하지 않으면(즉, 수평 에지에 해당하면), 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인지 판단한다(S2609).
S2609 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상이 아닌 경우 또는 S2608 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상이 아닌 경우, 디코더는 본 실시예에서 제안된 강한 필터를 적용함으로써 디블록킹 필터링을 수행한다(S2610).
본 실시예에서 제안된 강한 필터를 적용하면 블록 경계의 좌우(수직 에지인 경우) 또는 상하(수평 에지인 경우) 각각 2픽셀만 강한 필터를 수행하게 되며, 이에 대한 보다 상세한 설명은 후술한다.
반면, S2609 단계에서 해당 코딩 유닛(또는 코딩 블록)의 너비(width)가 8 이상인 경우 또는 S2608 단계에서 해당 코딩 유닛(또는 코딩 블록)의 높이(height)가 8 이상인 경우, 디코더는 해당 에지에서 기존의 강한 필터를 적용할 수 있다(S2611).
여기서, 예를 들어, 강한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
이하, 본 발명의 일 실시예에 따른, 강한 필터링 방법에 대하여 살펴본다.
본 발명에서 제안하는 강한 필터링 방법은 아래 도 27과 같이 기존의 HEVC의 필터를 이용하되 경계(또는 에지)를 기준으로 좌우 각각 2 픽셀만(수직 예지인 경우) 필터링을 적용할 수 있다. 반대로, 수평 에지인 경우 경계를 기준으로 좌우 각각 2 픽셀만 필터링을 적용할 수 있다.
도 27은 본 발명의 일 실시예에 따른 강한 필터링 방법을 예시하는 도면이다.
도 27(a)는 본 발명의 일 실시예에 따른 필터링 전 픽셀을 예시하고, 도 27(b)는 본 발명의 일 실시예에 따른 필터링 후 픽셀(음영 표시된 픽셀)을 예시한다.
도 27 및 아래 수학식 5를 참조하면, 수직 에지를 기준으로 좌우 각각 2 픽셀만(즉, P(0,0), P(1,0), P(0,1), P(1,1), P(0,2), P(1,2), P(0,3), P(1,3), Q(0,0), Q(1,0), Q(0,1), Q(1,1), Q(0,2), Q(1,2), Q(0,3), Q(1,3)) 필터링을 적용할 수 있다.
Figure PCTKR2017009106-appb-M000005
수학식 5에서는 설명의 편의를 위해 P(0,0), P(1,0), Q(0,0), Q(1,0)에 대한 강한 필터링 결과, 즉 P’(0,0), P’(1,0), Q’(0,0), Q’(1,0)만을 예시하고 있으나, 동일한 방법으로, P(0,1), P(1,1), P(0,2), P(1,2), P(0,3), P(1,3), Q(0,1), Q(1,1), Q(0,2), Q(1,2), Q(0,3), Q(1,3)에도 강한 필터링이 적용됨으로써 P’(0,1), P’(1,1), P’(0,2), P’(1,2), P’(0,3), P’(1,3), Q’(0,1), Q’(1,1), Q’(0,2), Q’(1,2), Q’(0,3), Q’(1,3)가 도출될 수 있다.
또는, 본 발명에서 제안하는 강한 필터링 방법은 도 28과 같이 새로운 필터 세트를 사용하는 방법을 제안한다.
도 28은 본 발명의 일 실시예에 따른 강한 필터링 방법을 예시하는 도면이다.
도 28(a)는 본 발명의 일 실시예에 따른 필터링 전 픽셀을 예시하고, 도 28(b)는 본 발명의 일 실시예에 따른 필터링 후 픽셀(음영 표시된 픽셀)을 예시한다.
도 28 및 아래 수학식 6을 참조하면, 수직 에지를 기준으로 좌우 각각 2 픽셀만(즉, P(0,0), P(1,0), P(0,1), P(1,1), P(0,2), P(1,2), P(0,3), P(1,3), Q(0,0), Q(1,0), Q(0,1), Q(1,1), Q(0,2), Q(1,2), Q(0,3), Q(1,3)) 필터링을 적용할 수 있다.
Figure PCTKR2017009106-appb-M000006
수학식 6에서는 설명의 편의를 위해 P(0,0), P(1,0), Q(0,0), Q(1,0)에 대한 강한 필터링 결과, 즉 P’(0,0), P’(1,0), Q’(0,0), Q’(1,0)만을 예시하고 있으나, 동일한 방법으로, P(0,1), P(1,1), P(0,2), P(1,2), P(0,3), P(1,3), Q(0,1), Q(1,1), Q(0,2), Q(1,2), Q(0,3), Q(1,3)에도 강한 필터링이 적용됨으로써 P’(0,1), P’(1,1), P’(0,2), P’(1,2), P’(0,3), P’(1,3), Q’(0,1), Q’(1,1), Q’(0,2), Q’(1,2), Q’(0,3), Q’(1,3)가 도출될 수 있다.
수학식 5 및 수학식 6에서, p0, p1, p2는 각각 P(0,0), P(1,0), P(2,0)에 해당되고, q1, q2, q3는 각각 Q(0,0), Q(1,0), Q(2,0)에 해당될 수 있다.
또한, 수학식 5 및 수학식 6에서, 클립3(Clip3)은 수학식 7과 같이 계산될 수 있다.
Figure PCTKR2017009106-appb-M000007
또한, 수학식 5 및 수학식 6에서, x >> y는 x의 2의 보수(two's complement) 정수 표현을 y 2진 숫자(binary digit)만큼 산출 우측 시프트(Arithmetic right shift)를 의미한다. 이 함수는 y의 음이 아닌 정수 값(non-negative integer value)에 대해서만 정의된다. 우측 시프트의 결과로서 최상위 비트(MSB: Most Significant Byte)로 시프트된 비트는 시프트 연산 이전에 x의 최상위 비트(MSB: Most Significant Byte)와 동일한 값을 가진다.
또한, 수학식 5 및 수학식 6에서, 변수(파라미터) tc(즉, t_c)는 양자화 파라미터(Q)를 기반으로 정해진다.
여기서, 변수(파라미터) tc(즉, t_c)를 결정하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로 인용(incorporated by reference)된다.
앞서 설명한 바와 같이, 본 실시예 역시 기존의 작은 블록에서 디블록킹 필터가 적용되지 않아 발생할 수 있는 주관적 화질 열화를 최소화 할 수 있는 효과가 있으며, 또한 실시예 1-3과 달리 적응적으로 필터를 적용할 수 있게 함으로써 화질 열화를 최소화 할 수 있다는 효과가 있다.
실시예 2
QTBT 블록 분할 구조에서 필터링 수행 여부 검사 및 필터링 선택 시 이전 블록 경계에서 필터링된 픽셀 값을 참조하여 조건을 검사하기 때문에 문제가 발생하게 된다.
이에 따라, 본 발명의 일실시예에서는 QTBT 구조의 디블록킹 필터에서 수직 에지(Vertival edge) 필터링을 위하여 가로 길이가 4 이하인 블록, 수평 에지(Horizontal edge) 필터링을 위하여 세로 길이 4 이하인 블록의 경계에서 필터링되지 않는 픽셀을 참조하여 필터링 수행 여부를 결정하는 방법 및 적응적 필터 결정하는 방법을 제안한다.
본 발명의 일 실시예에서는 수직 에지(vertical edge)를 필터링 하는 과정을 기준으로 설명한다. 수평 에지(Horizontal edge)의 필터링 과정은 블록 경계 기준으로 상하픽셀을 참조하는 차이와 세로 길이를 고려하는 차이만 있을 뿐 수행 과정은 동일하다.
도 29는 수직 에지(vertical edge) 필터링 시에 가로 길이가 4 이하인 블록에서 필터링 수행 결과를 예시하는 도면이다.
도 29(a)에서는 수직 에지(vertical edge) 필터링 시에 가로 길이가 4 이하인 블록에서 필터링 이전의 픽셀을 예시하고, 도 29(b)에서는 필터링에 의해 필터링된 픽셀(음영 표시된 픽셀)을 예시한다.
본 발명의 일 실시예에서는 필터링 수행여부 및 필터를 선택하기 위해 도 30과 같이 필터링 되지 않은 픽셀을 이용하는 방법을 제안한다.
도 30은 본 발명의 일 실시예에 따른 필터링 수행여부 및 필터 선택 방법을 예시하는 도면이다.
디코더는 인접한 블록경계 사이의 가로길이가 4 이하인 블록은 도 30(a)와 같이 필터링되지 않은 픽셀을 이용하여 (b)의 필터링 수행여부 조건과 (c)의 적응적 필터선택 조건을 검사한다.
즉, 디코더는 수직 에지(vertical edge) 필터링 시 가로 길이가 4 이하인 블록에서는 필터링이 수행되기 전 픽셀을 이용하여 아래 수학식 8과 같이 필터링 수행 여부를 결정할 수 있다.
Figure PCTKR2017009106-appb-M000008
또한, 디코더는 수직 에지(vertical edge) 필터링 시 가로 길이가 4 이하인 블록에서는 다른 인접한 블록 경계에서의 필터링이 수행되기 전 픽셀을 이용하여 아래 수학식 9와 같이 필터링 종류를 결정할 수 있다.
Figure PCTKR2017009106-appb-M000009
한편, 필터링된 픽셀을 참조하여 필터링 수행 여부 및 필터의 종류를 판단하게 되는 인접한 블록 경계 사이의 가로길이가 4이하인 블록 경계에만 해당한다.
이러한 이유로 블록 크기에 따라(예를 들어, 가로 길이가 4이하인 블록의 경우 또는 세로 길이가 4이하인 블록의 경우), 필터링 수행 여부 및 필터의 종류를 판단 시 참조하는 픽셀을 결정하기 보다는 아래 도 31과 같이 모든 블록 경계에 대하여 필터링 수행 여부 및 필터의 종류를 판단 시 필터링 되지 않은 픽셀을 참조하는 방법을 제안한다.
도 31은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 31을 참조하면, 디코더는 코딩 유닛(또는 코딩 블록)의 경계에 해당하는지 판단한다(S3101).
만약, S3101 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하지 않으면, 디코더는 디블록킹 필터링을 종료한다.
반면, S3101 단계에서 코딩 유닛(또는 코딩 블록)의 경계에 해당하면, 디블록킹 필터 적용 조건을 체크하고(S3102), 디코더는 디블록킹 필터 적용 조건을 기반으로 해당 경계에서 디블록킹 필터를 적용할지 여부를 결정한다(S3103).
이때, 디블록킹 필터를 적용할지 여부를 결정하기 위해, 디코더는 필터링되지 않은 픽셀의 픽쳐를 입력으로서 이용할 수 있다.
이때, 디블록킹 필터를 적용하는 조건으로 앞서 수학식 8이 이용될 수 있다.
만약, S3103 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하지 않도록 결정하면(즉, 디블록킹 필터 적용 조건 만족하지 않음), 디코더는 디블록킹 필터링을 종료한다.
반면, S3103 단계에서 코딩 유닛(또는 코딩 블록)의 경계에서 디블록킹 필터를 적용하도록 결정하면(즉, 디블록킹 필터 적용 조건 만족), 디코더는 필터 세트 선택 조건을 체크하고(S3104), 디코더는 필터 세트 선택 조건을 기반으로 해당 경계에서 강한 필터를 적용할지 여부를 결정한다(S3105).
이때, 강한 필터를 적용할지 여부를 결정하기 위해, 디코더는 필터링되지 않은 픽셀의 픽쳐를 입력으로서 이용할 수 있다.
이때, 디블록킹 필터 세트 선택 조건으로 수학식 9가 이용될 수 있다.
만약, S3105 단계에서 강한 필터를 적용하도록 결정하면(예를 들어, 앞서 수학식 9의 조건이 모두 만족된다면), 디코더는 해당 경계에서 강한 필터를 적용할 수 있다(S3106).
이때, 강한 필터를 적용하기 위해, 디코더는 복원 픽쳐(reconstructed picture)를 입력으로서 이용할 수 있다.
이때, 강한 필터의 적용과 관련하여 앞서 실시예 1-4에서 제안한 방법이 이용될 수 있다.
또는, 예를 들어, 강한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
반면, S3105 단계에서 강한 필터를 적용하지 않도록 결정한다면(예를 들어, 앞서 수학식 9의 조건 중 어느 하나라고 만족되지 않으면), 디코더는 해당 경계에서 약한 필터를 적용할 수 있다(S3107).
이때, 약한 필터를 적용하기 위해, 디코더는 복원 픽쳐(reconstructed picture)를 입력으로서 이용할 수 있다.
여기서, 예를 들어, 약한 필터를 적용하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
S3106 단계 및 S3107 단계에서 강한 필터가 적용된 픽셀, 약한 필터가 적용된 픽셀은 출력으로서 복원 픽쳐에 반영될 수 있다.
이처럼, 도 31의 예시와 같이, 디코더는 필터 적용 여부와 필터 세트를 선택하는 조건에 만족하는지 결정하기 위해 필터링되지 않은 픽셀을 참조하여 결정하고, 실제 필터링은 복호화된 픽셀을 필터링할 수 있다.
앞서 설명한 바와 같이, 본 실시예에 따르면 디블록킹 필터링의 병렬화를 위하여 블록 경계에서 필터링을 결정할 때, 인접한 블록 경계에서 이미 필터링이 적용된 픽셀을 참조하지 않고 필터링이 적용되지 않은 픽셀을 참조하여 필터링 여부를 결정함으로써 병렬화를 가능하게 하는 효과가 있다.
실시예 3
본 발명의 일실시예는 QTBT 구조에서 색채 성분에서 디블록킹 필터를 적응적으로 수행하는 방법을 제안한다.
QTBT 분할 구조에서는 I-Slice에서 휘도(luma) 영역과 색채(Chroma) 영역의 블록 구조가 서로 다르게 분할될 수 있다. 이와 같이 색차 성분과 휘도 성분 간에 서로 다른 블록 에지를 가지고 있기 때문에 필터링이 적용될 블록 경계를 따로 확인하여 필터링이 수행된다.
그러나 기존의 HEVC 디블록킹 필터링 방법을 그대로 사용하게 되면, 휘도 성분과 같은 조건으로 BS를 계산한 다음, BS가 2인 조건에 해당하는 블록 경계는 필터링을 수행하게 되는 문제가 발생된다.
도 32는 QTBT 블록 분할 구조에서 HEVC 디블록킹 필터링을 동일하게 적용 시 발생되는 문제점을 설명하기 위한 도면이다.
도 32를 참조하면, 디코더는 픽쳐 루프 필터(loopFilterPic) 과정을 시작하고, 채널 타입의 휘도(luma)이면(S3201), CU 디블록킹(xDeblockCU) 과정을 수행한다(S3202, S3203).
도 32에서 점선으로 표시된 박스 안의 과정이 xDeblockCU를 예시한다.
디코더는 슬라이스 타입이 I-Slice인지 판단한다(S3204).
만약, S3204 단계에서 슬라이스 타입이 I-Slice이고, 채널 타입이 색채(chroma)이면(S3205), CU 디블록킹(xDeblockCU) 과정을 수행한다(S3202, S3203).
반면, S3204 단계에서 슬라이스 타입이 I-Slice이 아니면, 디코더는 픽쳐 루프 필터(loopFilterPic) 과정을 종료한다.
디코더는 현재 블록(예를 들어, CTU 또는 CTU에서 QTBT로 분할된 블록)이 쿼드-트리(QT) 구조로 분할되는지 판단한다(S3206)
만약, S3206 단계에서 현재 블록이 쿼드-트리(QT) 구조로 분할되는 경우, 너비(width) 값을 1만큼 우측 시프트하고(너비 >> 1), 또한 높이(height) 값을 1만큼 우측 시프트한다(높이 >> 1)(S3207). 즉, 세로 및 가로 방향으로 현재 블록을 절반으로 분할한다.
디코더는 4개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3208, 3209).
반면, S3206 단계에서 현재 블록이 쿼드-트리(QT) 구조로 분할되지 않는 경우, 디코더는 현재 블록이 바이너리-트리(BT) 구조로 분할되는지 판단한다(S3210).
S3210 단계에서 현재 블록이 바이너리-트리(BT) 구조로 분할되는 경우, 디코더는 BT 모드가 수평 분할인지 판단한다(S3211).
만약, S3211 단계에서 BT 모드가 수평 분할인 경우, 디코더는 높이(height) 값만을 1만큼 우측 시프트한다(높이 >> 1)(S3212). 즉, 가로 방향으로 현재 블록을 절반으로 분할한다. 그리고, 디코더는 2개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3213, S3214).
반면, S3211 단계에서 BT 모드가 수평 분할이 아닌 경우, 디코더는 너비(width) 값만을 1만큼 우측 시프트하고(너비 >> 1)(S3215). 즉, 세로 방향으로 현재 블록을 절반으로 분할한다. 그리고, 디코더는 2개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3216, S3217).
반면, S3210 단계에서 현재 블록이 바이너리-트리(BT) 구조로 분할되지 않는 경우, 디코더는 경계 강도(BS) 또는 경계 필터링 강도(boundary filtering strength)를 계산한다(S3218).
디코더는 현재 블록이 휘도 블록인지 판단한다(S3219).
만약, S3219 단계에서 현재 블록이 휘도(luma) 블록인 경우, 디코더는 휘도(luma) 블록의 에지에 대한 필터링(xEdgeFilterLuma)을 수행한다(S3220).
즉, 앞서 수학식 1 및 2와 같이, 디코더는 디블록킹 필터를 적용할지 여부를 결정하고, 디블록킹 필터를 적용하는 경우 필터의 종류를 결정한 후, 결정된 필터의 종류에 따라 디블록킹 필터링을 수행할 수 있다.
반면, S3219 단계에서 현재 블록이 휘도 블록이 아닌 경우, 현재 블록이 색채(Chroma) 블록이거나 I-Slice가 아니고, 또한 색채 성분 포맷이 4:0:0가 아니면(!400)(S3221), 디코더는 색채(Chroma) 블록의 에지에 대한 필터링(xEdgeFilterChroma)을 수행한다(S3222).
즉, 앞서 수학식 1 및 2와 같이, 디코더는 디블록킹 필터를 적용할지 여부를 결정하고, 디블록킹 필터를 적용하는 경우 필터의 종류를 결정한 후, 결정된 필터의 종류에 따라 디블록킹 필터링을 수행할 수 있다.
도 32에서 예시된 바와 같이, 휘도 성분과 동일한 조건으로 계산된 BS 값이 2인 경우, 색채(Chroma) 블록의 에지에 대하여 별도의 필터링 수행 여부에 대한 계산 없이, 색채(Chroma) 블록의 에지에 대한 필터링(xEdgeFilterChroma) 과정이 수행된다.
따라서, I-Slice에서 색채 성분의 디블록킹 필터가 효율적으로 적용되지 않는다는 문제점이 발생된다.
이러한 문제를 해결하기 위하여 본 발명의 일 실시예에서는 도 33와 같이 색채(Chroma) 성분의 디블록킹 필터를 적용하는 방법을 제안한다.
도 33은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 33을 참조하면, 디코더는 픽쳐 루프 필터(loopFilterPic) 과정을 시작하고, 채널 타입의 휘도(luma)이면(S3301), CU 디블록킹(xDeblockCU) 과정을 수행한다(S3302, S3303).
도 33에서 점선으로 표시된 박스 안의 과정이 xDeblockCU를 예시한다.
디코더는 슬라이스 타입이 I-Slice인지 판단한다(S3304).
만약, S3304 단계에서 슬라이스 타입이 I-Slice이고, 채널 타입이 색채(chroma)이면(S3305), CU 디블록킹(xDeblockCU) 과정을 수행한다(S3302, S3303).
반면, S3304 단계에서 슬라이스 타입이 I-Slice이 아니면, 디코더는 픽쳐 루프 필터(loopFilterPic) 과정을 종료한다.
디코더는 현재 블록(예를 들어, CTU 또는 CTU에서 QTBT로 분할된 블록)이 쿼드-트리(QT) 구조로 분할되는지 판단한다(S3306)
만약, S3306 단계에서 현재 블록이 쿼드-트리(QT) 구조로 분할되는 경우, 너비(width) 값을 1만큼 우측 시프트하고(너비 >> 1), 또한 높이(height) 값을 1만큼 우측 시프트한다(높이 >> 1)(S3307). 즉, 세로 및 가로 방향으로 현재 블록을 절반으로 분할한다.
디코더는 4개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3308, 3309).
반면, S3306 단계에서 현재 블록이 쿼드-트리(QT) 구조로 분할되지 않는 경우, 디코더는 현재 블록이 바이너리-트리(BT) 구조로 분할되는지 판단한다(S3310).
S3310 단계에서 현재 블록이 바이너리-트리(BT) 구조로 분할되는 경우, 디코더는 BT 모드가 수평 분할인지 판단한다(S3311).
만약, S3311 단계에서 BT 모드가 수평 분할인 경우, 디코더는 높이(height) 값만을 1만큼 우측 시프트한다(높이 >> 1)(S3312). 즉, 가로 방향으로 현재 블록을 절반으로 분할한다. 그리고, 디코더는 2개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3313, S3314).
반면, S3311 단계에서 BT 모드가 수평 분할이 아닌 경우, 디코더는 너비(width) 값만을 1만큼 우측 시프트하고(너비 >> 1)(S3315). 즉, 세로 방향으로 현재 블록을 절반으로 분할한다. 그리고, 디코더는 2개로 분할된 블록 각각을 대상으로 CU 디블록킹(xDeblockCU) 과정을 수행한다(S3316, S3317).
반면, S3310 단계에서 현재 블록이 바이너리-트리(BT) 구조로 분할되지 않는 경우, 디코더는 경계 강도(BS) 또는 경계 필터링 강도(boundary filtering strength)를 계산한다(S3318).
디코더는 현재 블록이 속한 슬라이스가 I-Slice인지 판단한다(S3319).
만약, S3319 단계에서 현재 블록이 속한 슬라이스가 I-Slice가 아닌 경우, 디코더는 현재 블록이 휘도 블록인지 판단한다(S3320).
S3319 단계에서 현재 블록이 속한 슬라이스가 I-Slice인 경우, 또는 S3320 단계에서 현재 블록이 휘도 블록인 경우, 디코더는 휘도(luma) 블록의 에지에 대한 필터링(xEdgeFilterLuma)을 수행한다(S3221).
즉, 현재 블록이 속한 슬라이스가 I-슬라이스의 경우 색채 채널인 경우에도 불구하고, 기존의 휘도 성분과 동일하게 디코더는 블록 경계에서 필터링 수행여부를 추가적으로 계산(판단)하고, 강한 필터링과 약한 필터링을 선택적으로 적용할 수 있다.
이때, 필터링 수행 여부에 대한 판단 방법 및/또는 필터링의 타입(예를 들어, 강한 필터링과 약한 필터링)을 결정하는 방법은 앞서 설명한 실시예 1 및/또는 실시예 2에서 설명한 방법이 이용될 수 있다.
또는, 필터링 수행 여부에 대한 판단 방법 및/또는 필터링의 타입(예를 들어, 강한 필터링과 약한 필터링)을 결정하는 방법과 관련하여, ITU-T H.265 문서가 본 명세서에서 참조로서 병합(incorporated by reference)될 수 있다.
반면, S3320 단계에서 현재 블록이 휘도 블록이 아닌 경우, 현재 블록이 색채(Chroma) 블록이고, 또한 색채 성문 포맷이 4:0:0가 아니면(즉, !400)(S3322), 디코더는 색채(Chroma) 블록의 에지에 대한 필터링(xEdgeFilterChroma)을 수행한다(S3223).
즉, 휘도와 색채의 블록 구조가 동일한, B-슬라이스의 경우, 기존과 동일하게 BS가 2이상인 블록 경계에서 필터링이 수행될 수 있다.
도 33은 본 발명의 일 실시예에 따른 디블록킹 필터링 방법을 예시하는 도면이다.
도 33을 참조하면, 디코더는 쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출한다(S3301).
디코더는 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정한다(S3302).
즉, 디코더는 블록의 경계에서 디블록킹 필터링이 적용되는 에지를 결정한다.
이때, 블록의 너비(width) 또는 높이(height)를 고려하여 에지(edge)가 결정될 수 있다.
예를 들어, 앞서 실시예 1-1과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 에지(edge)가 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 에지(edge)가 결정될 수 있다.
또 다른 예로, 실시예 1-2와 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 8 이상인 블록의 경계 중에서만 에지(edge)가 결정될 수 있다(즉, 블록의 너비가 4 이하인 블록의 경계에서는 필터링이 적용되지 않음). 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 8 이상인 블록의 경계 중에서만 에지(edge)가 결정될 수 있다(즉, 블록의 높이가 4 이하인 블록의 경계에서는 필터링이 적용되지 않음).
또 다른 예로, 실시예 2와 같이, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 에지(edge)가 결정될 수도 있다.
디코더는 에지에 적용될 디블록킹 필터링의 타입을 결정한다(S3303).
예를 들어, 디코더는 에지에 강한 필터링이 적용되는지 약한 필터링이 적용되는지 결정할 수 있다.
이때, 블록의 너비(width) 또는 높이(height)를 고려하여 디블록킹 필터링의 타입이 결정될 수 있다.
예를 들어, 앞서 실시예 1-1과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수 있다.
또 다른 예로, 실시예 1-3과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다.
또 다른 예로, 실시예 1-4와 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 강한 필터링은 에지의 좌측 및 우측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 강한 필터링은 에지의 상측 및 하측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다.
또 다른 예로, 실시예 2와 같이, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수도 있다.
또 다른 예로, 실시예 3과 같이, 블록이 속한 슬라이스가 I-slice인 경우, 블록이 색채 블록(chroma block)인지 여부와 무관하게 S3302 단계에서 에지(edge)가 결정되고, S3303 단계에서 디블록킹 필터링의 타입이 결정될 수 있다.
디코더는 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행한다(S3304).
도 35는 본 발명의 일 실시예에 따른 디블록킹 필터링부를 예시하는 도면이다.
도 35를 참조하면, 디블록킹 필터링부는 앞서 도 6 내지 도 34에서 제안된 기능, 과정 및/또는 방법을 구현한다. 또한, 디블록킹 필터링부는 앞서 도 1에서 예시된 인코더의 구성 요소들 중 전체 또는 일부와 결합되어 인코딩 장치로 구현될 수 있으며, 또는 앞서 도 2에서 예시된 디코더의 구성 요소들 중 전체 또는 일부와 결합되어 디코딩 장치로 구현될 수 있다.
구체적으로, 디블록킹 필터링부는 블록 경계 도출부(3501), 에지 결정부(3502), 필터링 타입 결정부(3503) 및 필터링부(3504)를 포함하여 구성될 수 있다.
블록 경계 도출부(3501)는 쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출한다.
에지 결정부(3502)는 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정한다.
즉, 에지 결정부(3502)는 블록의 경계에서 디블록킹 필터링이 적용되는 에지를 결정한다.
이때, 블록의 너비(width) 또는 높이(height)를 고려하여 에지(edge)가 결정될 수 있다.
예를 들어, 앞서 실시예 1-1과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 에지(edge)가 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 에지(edge)가 결정될 수 있다.
또 다른 예로, 실시예 1-2와 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 8 이상인 블록의 경계 중에서만 에지(edge)가 결정될 수 있다(즉, 블록의 너비가 4 이하인 블록의 경계에서는 필터링이 적용되지 않음). 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 8 이상인 블록의 경계 중에서만 에지(edge)가 결정될 수 있다(즉, 블록의 높이가 4 이하인 블록의 경계에서는 필터링이 적용되지 않음).
또 다른 예로, 실시예 2와 같이, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 에지(edge)가 결정될 수도 있다.
필터링 타입 결정부(3503)는 에지에 적용될 디블록킹 필터링의 타입을 결정한다.
예를 들어, 필터링 타입 결정부(3503)는 에지에 강한 필터링이 적용되는지 약한 필터링이 적용되는지 결정할 수 있다.
이때, 블록의 너비(width) 또는 높이(height)를 고려하여 디블록킹 필터링의 타입이 결정될 수 있다.
예를 들어, 앞서 실시예 1-1과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수 있다.
또 다른 예로, 실시예 1-3과 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 디블록킹 필터링의 타입은 약한 필터링으로 결정될 수 있다.
또 다른 예로, 실시예 1-4와 같이, 에지의 타입이 수직 에지(vertical edge)인 경우, 블록의 너비(width)가 4 이하이면, 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 강한 필터링은 에지의 좌측 및 우측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다. 또한, 에지의 타입이 수평 에지(horizontal edge)인 경우, 블록의 높이(height)가 4 이하이면, 디블록킹 필터링의 타입은 강한 필터링으로 결정되고, 강한 필터링은 에지의 상측 및 하측에 각각 인접한 2개의 픽셀 열에만 적용될 수 있다.
또 다른 예로, 실시예 2와 같이, 디블록킹 필터링이 적용되기 전 픽셀을 기반으로 디블록킹 필터링의 타입이 결정될 수도 있다.
또 다른 예로, 실시예 3과 같이, 블록이 속한 슬라이스가 I-slice인 경우, 블록이 색채 블록(chroma block)인지 여부와 무관하게 S3302 단계에서 에지(edge)가 결정되고, S3303 단계에서 디블록킹 필터링의 타입이 결정될 수 있다.
필터링부(3504)는 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행한다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 복호화 장치가 영상을 필터링하는 방법에 있어서,
    쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출하는 단계;
    상기 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정하는 단계;
    상기 에지에 적용될 디블록킹 필터링의 타입을 결정하는 단계; 및
    상기 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행하는 단계를 포함하고,
    상기 블록의 너비(width) 또는 높이(height)를 고려하여 상기 에지(edge) 또는 상기 디블록킹 필터링의 타입이 결정되는 영상 필터링 방법.
  2. 제1항에 있어서,
    상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 에지(edge)가 결정되는 영상 필터링 방법.
  3. 제1항에 있어서,
    상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 에지(edge)가 결정되는 영상 필터링 방법.
  4. 제1항에 있어서,
    상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정되는 영상 필터링 방법.
  5. 제1항에 있어서,
    상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 이미 디블록킹 필터링이 적용된 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정되는 영상 필터링 방법.
  6. 제1항에 있어서,
    상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 8 이상인 블록의 경계 중에서만 상기 에지(edge)가 결정되는 영상 필터링 방법.
  7. 제1항에 있어서,
    상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 8 이상인 블록의 경계 중에서만 상기 에지(edge)가 결정되는 영상 필터링 방법.
  8. 제1항에 있어서,
    상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 상기 디블록킹 필터링의 타입은 약한 필터링으로 결정되는 영상 필터링 방법.
  9. 제1항에 있어서,
    상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 상기 디블록킹 필터링의 타입은 약한 필터링으로 결정되는 영상 필터링 방법.
  10. 제1항에 있어서,
    상기 에지의 타입이 수직 에지(vertical edge)인 경우, 상기 블록의 너비(width)가 4 이하이면, 상기 디블록킹 필터링의 타입은 강한 필터링으로 결정되고,
    상기 강한 필터링은 상기 에지의 좌측 및 우측에 각각 인접한 2개의 픽셀 열에만 적용되는 영상 필터링 방법.
  11. 제1항에 있어서,
    상기 에지의 타입이 수평 에지(horizontal edge)인 경우, 상기 블록의 높이(height)가 4 이하이면, 상기 디블록킹 필터링의 타입은 강한 필터링으로 결정되고,
    상기 강한 필터링은 상기 에지의 상측 및 하측에 각각 인접한 2개의 픽셀 열에만 적용되는 영상 필터링 방법.
  12. 제1항에 있어서,
    디블록킹 필터링이 적용되기 전 픽셀을 기반으로 상기 에지(edge)가 결정되는 영상 필터링 방법.
  13. 제1항에 있어서,
    디블록킹 필터링이 적용되기 전 픽셀을 기반으로 상기 디블록킹 필터링의 타입이 결정되는 영상 필터링 방법.
  14. 제1항에 있어서,
    상기 블록이 속한 슬라이스가 인트라 슬라이스(I-slice: Intra slice)인 경우, 상기 블록이 색채 블록(chroma block)인지 여부와 무관하게 상기 에지(edge) 및 상기 디블록킹 필터링의 타입이 결정되는 영상 필터링 방법.
  15. 영상을 필터링하는 복호화 장치에 있어서,
    쿼드-트리(quad-tree) 및 바이너리-트리(binary-tree) 구조로 분할된 블록의 경계를 도출하는 블록 경계 도출부;
    상기 블록의 경계 중에서 디블록킹(de-blocking) 필터링이 적용되는 에지(edge)를 결정하는 에지 결정부;
    상기 에지에 적용될 디블록킹 필터링의 타입을 결정하는 필터링 타입 결정부; 및
    상기 디블록킹 필터링 타입에 따라 복원된 픽쳐 샘플에 디블록킹 필터링을 수행하는 필터링부를 포함하고,
    상기 블록의 너비(width) 또는 높이(height)를 고려하여 상기 에지(edge) 또는 상기 디블록킹 필터링의 타입이 결정되는 장치.
PCT/KR2017/009106 2016-08-21 2017-08-21 영상 부호화/복호화 방법 및 이를 위한 장치 WO2018038492A1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020197005634A KR102437742B1 (ko) 2016-08-21 2017-08-21 영상 부호화/복호화 방법 및 이를 위한 장치
KR1020227029371A KR102508723B1 (ko) 2016-08-21 2017-08-21 영상 부호화/복호화 방법 및 이를 위한 장치
US16/327,192 US11240495B2 (en) 2016-08-21 2017-08-21 Image coding/decoding method and apparatus therefor
CN201780063381.XA CN109891895A (zh) 2016-08-21 2017-08-21 图像编码/解码方法及其装置
JP2019510414A JP7173961B2 (ja) 2016-08-21 2017-08-21 映像符号化/復号化方法及びそのための装置
EP17843912.1A EP3503556B1 (en) 2016-08-21 2017-08-21 Image coding/decoding method and apparatus therefor
US17/570,086 US11956428B2 (en) 2016-08-21 2022-01-06 Image coding/decoding method and apparatus therefor
JP2022177296A JP7472234B2 (ja) 2016-08-21 2022-11-04 映像符号化/復号化方法及びそのための装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662377671P 2016-08-21 2016-08-21
US62/377,671 2016-08-21

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/327,192 A-371-Of-International US11240495B2 (en) 2016-08-21 2017-08-21 Image coding/decoding method and apparatus therefor
US17/570,086 Continuation US11956428B2 (en) 2016-08-21 2022-01-06 Image coding/decoding method and apparatus therefor

Publications (1)

Publication Number Publication Date
WO2018038492A1 true WO2018038492A1 (ko) 2018-03-01

Family

ID=61246171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/009106 WO2018038492A1 (ko) 2016-08-21 2017-08-21 영상 부호화/복호화 방법 및 이를 위한 장치

Country Status (6)

Country Link
US (2) US11240495B2 (ko)
EP (1) EP3503556B1 (ko)
JP (2) JP7173961B2 (ko)
KR (2) KR102437742B1 (ko)
CN (1) CN109891895A (ko)
WO (1) WO2018038492A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020011024A1 (en) * 2018-07-12 2020-01-16 Huawei Technologies Co., Ltd. Boundary block partitioning in video coding
WO2020043193A1 (en) 2018-08-31 2020-03-05 Mediatek Inc. Method and apparatus of subblock deblocking in video coding
WO2020057516A1 (en) * 2018-09-18 2020-03-26 Huawei Technologies Co., Ltd. Partitioning with high level constraint
WO2020183849A1 (ja) * 2019-03-08 2020-09-17 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US11477494B2 (en) 2018-09-03 2022-10-18 Huawei Technologies Co., Ltd. Relation between partition constraint elements
RU2786746C2 (ru) * 2018-07-12 2022-12-26 Хуавей Текнолоджиз Ко., Лтд. Разделение граничных блоков при кодировании видео
US11539945B2 (en) 2019-07-19 2022-12-27 Lg Electronics Inc. Image encoding/decoding method and device using filtering, and method for transmitting bitstream
US11641466B2 (en) 2018-09-03 2023-05-02 Huawei Technologies Co., Ltd. Video encoder, a video decoder and corresponding methods

Families Citing this family (10)

* 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
MX2020006500A (es) * 2017-12-29 2020-09-17 Ericsson Telefon Ab L M Metodos que proporcionan codificacion y/o decodificacion de video usando valores de referencia y dispositivos relacionados.
US11483555B2 (en) * 2018-01-11 2022-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Multiple boundary filtering
CN113711603A (zh) * 2019-08-23 2021-11-26 华为技术有限公司 对使用联合色度译码的块执行色度去块效应滤波的编码器、解码器及对应方法
CN114270848A (zh) 2019-08-23 2022-04-01 北京字节跳动网络技术有限公司 在去方块滤波中使用边界强度

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129619A2 (ko) * 2010-04-13 2011-10-20 삼성전자 주식회사 트리 구조 부호화 단위에 기반한 디블록킹 필터링을 수행하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
US20120287994A1 (en) * 2011-05-12 2012-11-15 Qualcomm Incorporated Filtering blockiness artifacts for video coding
KR20130129380A (ko) * 2010-12-07 2013-11-28 소니 주식회사 화상 처리 장치 및 화상 처리 방법
KR20140071316A (ko) * 2011-09-09 2014-06-11 파나소닉 주식회사 저복잡도 디블로킹 필터 결정
KR20140098672A (ko) * 2011-11-25 2014-08-08 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 화상 처리 방법 및 화상 처리 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2486731B1 (en) * 2009-10-05 2018-11-07 InterDigital Madison Patent Holdings Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding
ES2562009T3 (es) * 2011-03-01 2016-03-02 Telefonaktiebolaget Lm Ericsson (Publ) Control del filtrado de desbloqueo
US8964833B2 (en) * 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
US10038919B2 (en) * 2014-05-29 2018-07-31 Apple Inc. In loop chroma deblocking filter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129619A2 (ko) * 2010-04-13 2011-10-20 삼성전자 주식회사 트리 구조 부호화 단위에 기반한 디블록킹 필터링을 수행하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
KR20130129380A (ko) * 2010-12-07 2013-11-28 소니 주식회사 화상 처리 장치 및 화상 처리 방법
US20120287994A1 (en) * 2011-05-12 2012-11-15 Qualcomm Incorporated Filtering blockiness artifacts for video coding
KR20140071316A (ko) * 2011-09-09 2014-06-11 파나소닉 주식회사 저복잡도 디블로킹 필터 결정
KR20140098672A (ko) * 2011-11-25 2014-08-08 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 화상 처리 방법 및 화상 처리 장치

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2786746C2 (ru) * 2018-07-12 2022-12-26 Хуавей Текнолоджиз Ко., Лтд. Разделение граничных блоков при кодировании видео
US11750810B2 (en) 2018-07-12 2023-09-05 Huawei Technologies Co., Ltd. Boundary block partitioning in video coding
WO2020011024A1 (en) * 2018-07-12 2020-01-16 Huawei Technologies Co., Ltd. Boundary block partitioning in video coding
US11425375B2 (en) 2018-07-12 2022-08-23 Huawei Technologies Co., Ltd. Boundary block partitioning in video coding
CN113225564A (zh) * 2018-07-12 2021-08-06 华为技术有限公司 视频译码中的边界块分割
CN113039782A (zh) * 2018-08-31 2021-06-25 联发科技股份有限公司 视频编解码中的子块去块方法及装置
EP3841743A4 (en) * 2018-08-31 2022-10-05 HFI Innovation Inc. METHOD AND APPARATUS FOR UNGROUPING SUBGROUPS IN VIDEO CODING
US11765365B2 (en) 2018-08-31 2023-09-19 Hfi Innovation Inc. Method and apparatus of subblock deblocking in video coding
WO2020043193A1 (en) 2018-08-31 2020-03-05 Mediatek Inc. Method and apparatus of subblock deblocking in video coding
US11924444B2 (en) 2018-08-31 2024-03-05 Hfi Innovation Inc. Method and apparatus of subblock deblocking in video coding
US11641466B2 (en) 2018-09-03 2023-05-02 Huawei Technologies Co., Ltd. Video encoder, a video decoder and corresponding methods
US11910027B2 (en) 2018-09-03 2024-02-20 Huawei Technologies Co., Ltd. Relation between partition constraint elements
US11477494B2 (en) 2018-09-03 2022-10-18 Huawei Technologies Co., Ltd. Relation between partition constraint elements
US11445188B2 (en) 2018-09-18 2022-09-13 Huawei Technologies Co., Ltd. Partitioning with high level constraint
WO2020057516A1 (en) * 2018-09-18 2020-03-26 Huawei Technologies Co., Ltd. Partitioning with high level constraint
US11909964B2 (en) 2019-03-08 2024-02-20 Sony Group Corporation Information processing device, information processing method, and program
WO2020183849A1 (ja) * 2019-03-08 2020-09-17 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US11539945B2 (en) 2019-07-19 2022-12-27 Lg Electronics Inc. Image encoding/decoding method and device using filtering, and method for transmitting bitstream
RU2809518C2 (ru) * 2019-07-19 2023-12-12 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования/декодирования изображений с использованием фильтрации и способ для передачи потока битов
US11924419B2 (en) 2019-07-19 2024-03-05 Lg Electronics Inc. Image encoding/decoding method and device using filtering, and method for transmitting bitstream

Also Published As

Publication number Publication date
KR102508723B1 (ko) 2023-03-14
JP7472234B2 (ja) 2024-04-22
US20190200016A1 (en) 2019-06-27
JP2022190128A (ja) 2022-12-22
CN109891895A (zh) 2019-06-14
US11956428B2 (en) 2024-04-09
KR20190034276A (ko) 2019-04-01
JP7173961B2 (ja) 2022-11-16
EP3503556B1 (en) 2024-05-01
EP3503556A4 (en) 2020-04-15
US20220182619A1 (en) 2022-06-09
KR20220122804A (ko) 2022-09-02
EP3503556A1 (en) 2019-06-26
JP2019525671A (ja) 2019-09-05
US11240495B2 (en) 2022-02-01
KR102437742B1 (ko) 2022-08-29

Similar Documents

Publication Publication Date Title
WO2018038492A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2020145805A1 (ko) 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
WO2018030599A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018044142A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2017018664A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019235797A1 (ko) 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2018199675A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018097693A2 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2019172705A1 (ko) 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치
WO2018026166A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020076143A1 (ko) 다중 가정 예측을 사용하는 비디오 신호 처리 방법 및 장치
WO2018012886A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 기록 매체
WO2017204427A1 (ko) 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
WO2018070809A1 (ko) 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
WO2017086747A1 (ko) 기하 변환 픽처를 이용한 영상의 부호화/복호화 방법 및 장치
WO2016204478A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017026681A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2018097607A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018124843A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018097692A2 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018131982A1 (ko) 영상 신호 부호화/복호화 방법 및 장치
WO2015122549A1 (ko) 동영상 처리 방법 및 장치
WO2018047995A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016159631A1 (ko) 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2020071616A1 (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019510414

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197005634

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2017843912

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017843912

Country of ref document: EP

Effective date: 20190321