WO2020184936A1 - 비디오 신호의 부호화 또는 복호화 방법 및 장치 - Google Patents

비디오 신호의 부호화 또는 복호화 방법 및 장치 Download PDF

Info

Publication number
WO2020184936A1
WO2020184936A1 PCT/KR2020/003266 KR2020003266W WO2020184936A1 WO 2020184936 A1 WO2020184936 A1 WO 2020184936A1 KR 2020003266 W KR2020003266 W KR 2020003266W WO 2020184936 A1 WO2020184936 A1 WO 2020184936A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
information
intra prediction
mode
unit
Prior art date
Application number
PCT/KR2020/003266
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 claimed from KR1020200028855A external-priority patent/KR20200107871A/ko
Publication of WO2020184936A1 publication Critical patent/WO2020184936A1/ko

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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a method and apparatus for encoding or decoding a video signal, and more particularly, to a method and apparatus for encoding or decoding a video signal for determining an intra prediction mode using various pieces of information.
  • High-resolution and high-quality images such as high definition (HD) images and ultra high definition (UHD) images is increasing in various application fields.
  • the higher the resolution and quality of the image data the higher the amount of data is compared to the existing image data. Therefore, when the image data is transmitted using a medium such as an existing wired/wireless broadband line or stored using an existing storage medium, transmission The cost and storage cost will increase.
  • High-efficiency image compression techniques can be used to solve these problems that occur as image data becomes high-resolution and high-quality.
  • a method of predicting using information of neighboring blocks of the current block can be used without transmitting information of the current block as it is.
  • This prediction method includes pixels included in the current picture from a picture before or after the current picture.
  • An inter prediction technique for predicting a value and an intra prediction technique for predicting a pixel value included in a current picture using pixel information in the current picture may be used.
  • there are various technologies such as entropy encoding technology that allocates short codes to values with high frequency of appearance and long codes to values with low frequency of appearance, and effectively compresses and transmits or stores image data using such image compression technology. I can.
  • the inter prediction method predicts the pixel value of the current picture by referring to information of another picture, and in intra prediction, the correlation between pixels within the same picture is used. Predict the pixel value. That is, in the case of performing intra prediction, the intra prediction mode of the current block is determined using pixel values spatially adjacent to the current block to be coded, rather than referring to a reference picture to encode the current block. Can be done.
  • the problem to be solved by the present invention is to provide a video signal decoding method and apparatus for improving the coding efficiency of intra prediction by determining an intra prediction mode using various information.
  • Another problem to be solved by the present invention is to provide a video signal decoding method and apparatus for improving coding efficiency by using both intra prediction and inter prediction.
  • Another problem to be solved by the present invention is to provide a video signal decoding method and apparatus for improving coding efficiency by expanding and sharing probability information of each tile in a tile group.
  • the technical problem to be solved by the present invention is the steps of dividing a current coding unit block into at least two or more sub-blocks; Deriving intra prediction mode information for each sub-block; Generating an intra prediction image for each sub-block by using the intra prediction mode information; Selectively applying filtering to the intra prediction image; Restoring each of the sub-blocks using the prediction image to which the filtering has been applied; And selectively performing deblocking filtering on a boundary of each of the reconstructed sub-blocks.
  • the dividing into sub-blocks may implicitly perform division of the current coding unit block using at least one of division information of an upper coding unit, division information of a neighboring coding unit, and division information of a neighboring ISP mode. .
  • the color difference block may be implicitly divided into two sub-blocks.
  • it may further include determining whether deblocking filtering is performed at a boundary of an adjacent sub-block using information on whether or not a transform coefficient of each sub-block exists and information about an intra prediction mode.
  • the deriving of the intra prediction mode information for each sub-block may include: deriving intra prediction mode availability information for the current block; And inducing intra prediction mode information for each sub-block by using the intra prediction mode availability information.
  • the intra prediction mode availability information may be derived using at least one of reference pixel position information indicating whether a reference pixel belongs to a picture boundary or another tile, coding unit size information, luminance and color difference information, and transform block size information. I can.
  • the step of obtaining an intra-prediction image for each sub-block may be applied only when the size of at least one of the width and height of the current block is greater than a predetermined value.
  • the horizontal or vertical size of the transform block of the current coding unit is greater than or equal to a predetermined value, is a luminance signal, and is a reference pixel adjacent to the current block. It may be performed in the case of an intra prediction image predicted from.
  • Another technical problem to be solved by the present invention is to obtain a block vector for a current block; Obtaining a prediction sample for the current block in a reference buffer region that has been undone in a current picture using the block vector; Restoring the current block using the predicted sample; And periodically updating the reference buffer area.
  • the step of periodically updating the reference buffer area may be performed before the first coding tree unit of each row of the current picture is decoded, and the step of periodically updating the reference buffer area is a reference buffer memory Can be set to a predetermined value.
  • a video signal decoding method and apparatus thereof are provided to improve coding efficiency of intra prediction.
  • a video signal decoding method for improving coding efficiency by resetting probability information of a tile group of a current block by using probability information of at least one pre-transmitted tile group is to provide a device for this.
  • FIG. 1 is a block diagram illustrating an apparatus for encoding a video signal according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an apparatus for decoding a video signal according to an embodiment of the present invention.
  • FIG 3 illustrates at least one tile group included in one picture according to an embodiment of the present invention.
  • FIG. 4 illustrates examples of a multi-type tree structure according to an embodiment of the present invention.
  • FIG 5 shows an example of a multi-type tree structure according to an embodiment of the present invention.
  • FIG. 6 illustrates an intra prediction mode of a current coding block according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating syntax for differently setting an intra prediction mode of a divided block according to an embodiment of the present invention.
  • FIG. 8 shows an example of implicit partitioning of a current coding unit according to an embodiment of the present invention.
  • FIG 9 shows examples of asymmetric block division according to an embodiment of the present invention.
  • FIG. 10 is a diagram for explaining a method of deriving a reference pixel for a subblock according to an embodiment of the present invention.
  • 11 is an example of a conversion unit syntax according to an embodiment of the present invention.
  • FIG. 12 shows an example of a coding unit syntax according to an embodiment of the present invention.
  • FIG. 13 shows an example of a conversion unit syntax according to another embodiment of the present invention.
  • FIG. 14 shows an example of a coding unit syntax according to another embodiment of the present invention.
  • first and second are used to describe various components, members, parts, regions, and/or parts, but these components, members, parts, regions, and/or parts are these terms. It is obvious that it should not be limited by. These terms are only used to distinguish one component, member, part, region or part from another region or part. Accordingly, the first component, member, part, region or part to be described below may refer to the second component, member, part, region or part without departing from the teachings of the present invention. Further, and/or the term includes a combination of a plurality of related items or any of a plurality of related items.
  • FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
  • the video signal encoding apparatus 100 includes a picture division unit 105, an inter prediction unit 110, an intra prediction unit 115, a transform unit 120, a quantization unit 125, A rearrangement unit 130, an entropy encoding unit 135, an inverse quantization unit 140, an inverse transform unit 145, a filter unit 150, and a memory 155 are included.
  • each of the components shown in FIG. 1 is independently shown to represent different characteristic functions in the video encoding apparatus, and does not mean that each component is formed of separate hardware or a software component unit. That is, each component is listed and included as each component for convenience of explanation, and at least two components of each component are combined to form one component, or one component is divided into a plurality of components to function. Can be done. An embodiment in which each of these components is integrated or a separate embodiment may be included in the scope of the present invention as long as it does not depart from the essential aspects of the present invention.
  • the picture dividing unit 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a sub-picture, may be a tile, and may be a slice.
  • the sub picture may be transmitted by partially independently encoding an input picture.
  • the slice may have a rectangular shape as well as a square shape.
  • the slide or tile may be at least one coding tree unit (hereinafter referred to as “CTU”), and the CTU may be recursively divided into a quart tree and a multi-type tree.
  • the CTU may start to be divided into a multi-type tree at an end node of the quart tree node, and the multi-type tree may be divided into a binary tree (hereinafter referred to as'BT') and a three-stage division shape (Ternary Tree, hereinafter referred to as'TT').
  • the end node of the division may be a coating unit (hereinafter referred to as'CU'), and prediction and transformation may be performed in units of the CU.
  • a prediction unit may be expressed as a prediction block
  • an encoding or decoding unit may be expressed as a coding block or a decoding block.
  • the picture splitter 105 divides one picture into a combination of a plurality of coding units, prediction units, and transformation units, and divides one picture into one based on a predetermined criterion (eg, a cost function).
  • a picture may be encoded by selecting a combination of a coding unit, a prediction unit, and a transformation unit.
  • one picture may be split into a plurality of coding units.
  • one picture may be divided into the coding unit using a recursive tree structure such as a quad tree structure or a multi-type tree structure, and one image or Coding units split into other coding units based on a largest coding unit as a root may be split with as many child nodes as the number of split coding units. Coding units that are no longer split through this process may become leaf nodes. For example, when it is assumed that only square splitting is possible for one coding unit, one coding unit may be split into up to four coding units.
  • the coding unit, prediction unit, and/or transformation unit are not limited to symmetric partitioning when partitioning, and an asymmetric partition is also possible, and not only four partitions but also two partitions are possible. Is only exemplary, and the present invention is not limited thereto.
  • the prediction unit may include an inter prediction unit 110 that performs inter prediction and an intra prediction unit 115 that performs intra prediction.
  • a video signal is not encoded as it is, but an image is predicted using a specific region inside a picture that has already been encoded and decoded, and a residual value between the original image and the predicted image is encoded.
  • prediction mode information, motion vector information, etc. used for prediction may be encoded by the entropy encoder 135 together with a residual value and transmitted to the decoder.
  • the prediction block may not be generated through the prediction units 110 and 115, but the original block may be encoded as it is and transmitted to the decoder.
  • the prediction units 110 and 115 determine whether to perform inter prediction or intra prediction on a prediction unit, and the prediction such as an inter prediction mode, a motion vector, and a reference picture. Specific information according to each method can be determined. In this case, a processing unit in which prediction is performed, a prediction method, and a detailed processing unit may be different. For example, although a prediction mode and a prediction method are determined according to a prediction unit, prediction may be performed according to a transformation unit.
  • I slice I picture
  • P slice P picture
  • B slice B picture
  • the I slice is a slice that is encoded and decoded only by intra prediction
  • the P slice is a slice that can be decoded using inter prediction using one motion vector and a reference picture index to predict the sample value of each prediction block.
  • the B slice is a slice that can be encoded or decoded using inter prediction using one or two motion vectors and indexes of reference pictures related to the motion vectors in order to predict the sample value of each block.
  • the prediction units 110 and 115 may perform prediction on a processing unit of a picture divided by the picture division unit 105 to generate a prediction block composed of predicted samples.
  • the picture processing unit in the prediction units 110 and 115 may be a coding unit.
  • the inter prediction unit 110 may predict a prediction unit based on information of at least one or more pictures of a previous picture or a subsequent picture of the current picture, and in some cases, predict based on information of a partial region in the current picture that has been encoded. You can predict the unit.
  • the inter prediction unit 110 may include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.
  • the information of the one or more pictures used for prediction by the inter prediction unit 110 may be information on pictures that have already been encoded and decoded, or information on pictures that have been transformed and stored in an arbitrary method.
  • the picture modified and stored in the arbitrary method may be a picture obtained by expanding or reducing a picture that has undergone encoding and decoding, or a picture obtained by modifying the brightness of all pixel values in the picture or by modifying the color format. May be.
  • both intra prediction and inter prediction may be used and encoded.
  • a third prediction block may be generated by averaging or a weighted average of the first prediction block performing intra prediction and the second prediction block performing motion compensation.
  • a low frequency or high frequency filter may be passed.
  • Whether to use a filter may be determined according to a position of each pixel in the third prediction block, and the intensity or intensity of the used filter may vary.
  • the filter can be applied only at the edge of the current block.
  • the filter can be applied only to the rest of the current block except for the edge.
  • whether or not to use a filter may vary according to the horizontal and/or vertical size of the third prediction block.
  • a filter may be applied only when the size of the third prediction block is greater than or equal to a predetermined value.
  • the reference picture interpolation unit may receive reference picture information from the memory 155 and generate pixel information of integer pixels or less in the reference picture.
  • pixel information of an integer or less in units of 1/4 pixel may be generated by using a DCT-based 8-tap interpolation filter with different filter coefficients.
  • pixel information of an integer or less in units of 1/8 pixels may be generated by using a DCT-based interpolation filter in which coefficients of the filter are different.
  • the type of filter and a unit for generating pixel information of an integer or less are not limited thereto, and a unit for generating pixel information of an integer or less may be determined using various interpolation filters.
  • the motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit.
  • Various methods can be used to calculate the motion vector.
  • the motion vector may have a motion vector value of an integer pixel unit or a 1/2 or 1/4 pixel unit based on the interpolated pixel.
  • the motion prediction unit may predict a prediction unit of a current block by differently predicting a motion.
  • the motion prediction method may use various methods including a merge method, an advanced motion vector prediction (AMVP) method, and a skip method. In this way, information including an index of a reference picture selected by the inter prediction unit 110, a motion vector predictor (MVP), and a residual signal may be entropy-coded and transmitted to the decoder.
  • AMVP advanced motion vector prediction
  • the intra prediction unit 115 may generate a prediction unit based on reference pixel information around a current block, which is pixel information in a current picture.
  • the neighboring blocks of the prediction unit are blocks that have performed inter prediction, that is, when the reference pixel is a pixel that has performed inter prediction, a reference pixel included in the block that has performed inter prediction is predicted in the surrounding area. It can be used by replacing with reference pixel information of the block that has performed. That is, when the reference pixel is not available (unavailable), an unavailable reference pixel may be replaced with at least one reference pixel among available reference pixels.
  • the intra-prediction unit 115 may use various methods including an intra-block copy method.
  • the intra prediction unit 115 may use the most probable intra prediction mode (MPM) obtained from neighboring blocks to encode the intra prediction mode. Even when the intra prediction unit 115 performs intra prediction, a processing unit in which prediction is performed and a processing unit in which a prediction method and specific content are determined may be different from each other.
  • MCM most probable intra prediction mode
  • the prediction modes of intra prediction may include 33 directional prediction modes and at least two or more non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planar mode.
  • the number of the 35 inter prediction modes is only exemplary, and the present invention is not limited thereto, and intra prediction may be performed in more directional or non-directional modes to predict by various methods.
  • a prediction block may be generated after applying a filter to a reference pixel.
  • whether to apply the filter to the reference pixel may be determined according to the intra prediction mode and/or size of the current block.
  • the coding unit CU may be determined in various sizes and shapes.
  • the coding unit in the case of inter prediction, may have a size such as 2N x 2N, 2N x N, N x 2N, or N x N.
  • the coding unit in the case of intra prediction, may have a size such as 2N ⁇ 2N or N ⁇ N (N is an integer), but intra prediction may be performed not only in a square size but also in a rectangular shape. In this case, a coding unit of size N ⁇ N may be set to be applied only in a specific case.
  • an intra prediction unit having a size such as N x mN, mN x N, 2N x mN or mN x 2N (m is a fraction or integer) may be further defined and used.
  • a residual value (residual block or residual signal) between the prediction block generated by the intra prediction unit 115 and the original block may be input to the transform unit 120.
  • prediction mode information, interpolation filter information, etc. used for prediction may be encoded by the entropy encoder 135 together with a residual value and transmitted to a decoder.
  • neighboring blocks of the current block may be smoothed by using at least one filter regardless of positions of neighboring blocks of the current block.
  • the transform unit 120 converts an original block as a transform unit and a residual block including residual value information of a prediction unit generated through the prediction units 110 and 115 into Discrete Cosine Transform (DST) and Discrete Sine Transform (DST). , Can be transformed using a transformation method such as KLT (Karhunen Loeve Transform). Whether DCT, DST, or KLT is applied to transform the residual block may be determined based on intra prediction mode information of the prediction unit used to generate the residual block.
  • KLT Kerhunen Loeve Transform
  • the conversion process may not be performed according to the image characteristics of the block. If frequency transformation is not performed, a process of changing the positions of pixels within a block may be performed in order to be more efficiently coded in the quantization and entropy coding processes, which is a preprocessing for more efficient coding in the scanning process. It can be a process.
  • the scaling factor may have a fixed constant value regardless of the position of the transformation coefficient, and may have, for example, a value of 16 as the scaling factor.
  • the scaling factor is a predefined value and is shared equally by the encoder and the decoder.
  • the scaling factor may be generated by a user to an arbitrary value, which may be included in a bitstream and transmitted to a decoder.
  • the decoder may decode the scaling factor value generated by the user from the bitstream and use it for inverse quantization.
  • the quantization unit 125 may quantize residual values transformed by the transform unit 120 to generate a quantization coefficient.
  • the converted residual values may be values converted into a frequency domain.
  • the quantization coefficient may be changed according to a transformation unit or an importance of an image, and a value calculated by the quantization unit 125 may be provided to the inverse quantization unit 140 and the rearrangement unit 130.
  • the quantization process may not be performed according to the image characteristics of the block, and in this case, the transform coefficient may be output as it is. If both the transform and quantization are not performed by the transform unit 120 and the quantization unit 125, the difference block may be entropy-coded as it is. Thereafter, the entropy encoder 1350 may perform arithmetic coding on the quantized transform coefficient using a probability distribution and output it as a bitstream.
  • the probability distribution can be obtained from neighboring blocks of the current block.
  • the currently coded block (or picture) is used as a reference block (or picture) in coding the next block.
  • the reference block is a decoded block rather than an original block.
  • the encoded block is decoded through the same process as in the decoder and output as a reference block. That is, in the encoder, in order to obtain the same reference block as the decoder, the coded block is decoded again and stored in the reference picture buffer.
  • the reordering unit 130 may rearrange quantization coefficients provided from the quantization unit 125.
  • the reordering unit 130 may improve encoding efficiency in the entropy encoder 135 by rearranging the quantization coefficients.
  • the reordering unit 130 may rearrange quantized coefficients in the form of a two-dimensional block into a vector form of a one-dimensional shape through a coefficient scanning method.
  • the coefficient scanning method may determine which scanning method is to be used according to the size of a transform unit and an intra prediction mode.
  • the coefficient scanning method may include a zig-zag scan, a vertical scan in which a two-dimensional block type coefficient is scanned in a column direction, and a horizontal scan in which a two-dimensional block shape coefficient is scanned in a row direction.
  • the reordering unit 130 may increase entropy encoding efficiency in the entropy encoder 135 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the entropy encoding unit 135 may perform entropy encoding on quantization coefficients rearranged by the reordering unit 130.
  • Entropy coding may use various coding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Content-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoder 135 includes quantization coefficient information and block type information, prediction mode information, division unit information, prediction unit information, and transmission unit information of a coding unit transmitted from the rearrangement unit 130 and the prediction units 110 and 115, Various information such as motion vector information, reference picture information, block interpolation information, and filtering information may be encoded. In addition, in an embodiment, the entropy encoder 135 may apply a certain change to the transmitted parameter set or syntax, if necessary.
  • the inverse quantization unit 140 inverse quantizes the values quantized by the quantization unit 125, and the inverse transform unit 145 inversely transforms the inverse quantized values by the inverse quantization unit 140.
  • the residual values generated by the inverse quantization unit 140 and the inverse transform unit 145 may be combined with the prediction blocks predicted by the prediction units 110 and 115 to generate a reconstructed block.
  • the reconstructed image may be input to the filter unit 150.
  • the filter unit 150 may include a deblocking filter unit, an offset correction unit (Sample Adaptive Offset (SAO)), and an adaptive loop filter unit (ALF).
  • the reconstructed image is a deblocking filter A deblocking filter is applied in the unit to reduce or remove blocking artifacts, and then input to the offset correction unit to correct the offset.
  • the picture output from the offset correction unit may be input to the adaptive loop filter unit and pass through an adaptive loop filter (ALF) filter, and the picture passing through the filter may be transmitted to the memory 155.
  • ALF adaptive loop filter
  • the deblocking filter unit may remove distortion in a block generated at a boundary between blocks in a reconstructed picture.
  • it may be determined whether to apply the deblocking filter to the current block based on the pixels included in several columns or rows included in the block.
  • a strong filter or a weak filter may be applied according to the required deblocking filtering strength.
  • horizontal filtering and vertical filtering may be processed in parallel when performing vertical filtering and horizontal filtering.
  • the offset correction unit may correct an offset from the original image in pixel units for the residual block to which the deblocking filter is applied.
  • determining the region to perform offset correction, and applying the offset to the region (Band Offset) or It can be applied in the form of a method of applying an offset in consideration of edge information (Edge Offset).
  • the filter unit 150 may not apply filtering to the reconstructed block used for inter prediction.
  • the adaptive loop filter may be performed only when high efficiency is applied based on a value obtained by comparing the filtered reconstructed image and the original image. After dividing the pixels included in the image into predetermined groups, one filter to be applied to the corresponding group may be determined, and filtering may be performed differentially for each group. As for information on whether to apply the ALF, a luminance signal may be transmitted for each coding unit (CU), and a shape and filter coefficient of an ALF filter to be applied may vary according to each block. In addition, the same type (fixed type) ALF filter may be applied regardless of the characteristics of the block to be applied.
  • ALF adaptive loop filter
  • the memory 155 may store the reconstructed block or picture calculated through the filter unit 150.
  • the reconstructed block or picture stored in the memory 155 may be provided to the inter prediction unit 110 or the intra prediction unit 115 that performs inter prediction.
  • the pixel values of the reconstructed blocks used in the intra prediction unit 115 may be data to which the deblocking filter unit, the offset correction unit, and the adaptive loop filter unit are not applied.
  • the image decoding apparatus 200 includes an entropy decoding unit 210, a rearrangement unit 215, an inverse quantization unit 220, an inverse transform unit 225, an inter prediction unit 230, and an intra prediction. It includes a unit 235, a filter unit 240, and a memory 245.
  • the input bitstream may be decoded in a reverse process of a procedure in which image information is processed by the encoding device.
  • VLC variable length coding
  • the entropy decoder 210 is also used in the encoding device. Entropy decoding can be performed by implementing the same VLC table as the used VLC table.
  • the entropy decoder 210 may perform entropy decoding using CABAC in response thereto.
  • the entropy decoding unit 210 provides information for generating a prediction block among the decoded information to the inter prediction unit 230 and the intra prediction unit 235, and the residual value for which entropy decoding is performed by the entropy decoding unit. May be input to the rearrangement unit 215.
  • the reordering unit 215 may rearrange the bitstream entropy-decoded by the entropy decoder 210 based on a method in which the image encoder rearranges it.
  • the re-alignment unit 215 may perform rearrangement through a method of receiving information related to coefficient scanning performed by the encoding apparatus and performing reverse scanning based on the scanning order performed by the encoding apparatus.
  • the inverse quantization unit 220 may perform inverse quantization based on a quantization parameter provided by an encoding apparatus and a coefficient value of a rearranged block.
  • the inverse transform unit 225 may perform inverse DCT, inverse DST, or inverse KLT with respect to the DCT, DST, or KLT performed by the transform unit of the encoding apparatus with respect to the quantization result performed by the image encoding apparatus.
  • the inverse transformation may be performed based on a transmission unit or a division unit of an image determined by the encoding apparatus.
  • the transform unit of the encoding device may selectively perform DCT, DST, or KLT according to information such as a prediction method, a size of a current block, and a prediction direction, and the inverse transform unit 225 of the decoding device is a transform unit of the encoding device.
  • An inverse transform method may be determined based on the performed transform information to perform inverse transform.
  • the quantized transform coefficient when inverse quantization is not performed, the quantized transform coefficient may be output as a transform coefficient as it is. In this case, if the position of the transform coefficient is changed due to the efficiency of the scanning process in the encoder, it may be restored to the original state and then output.
  • the inverse transform unit 225 may output a difference block by performing inverse transform on the transform coefficient. If the inverse transform is not performed, the transform coefficient may be a difference block as it is.
  • the prediction units 230 and 235 may generate a prediction block based on information related to generation of a prediction block provided from the entropy decoder 210 and previously decoded block and/or picture information provided from the memory 245.
  • the reconstructed block may be generated using a prediction block generated by the prediction units 230 and 235 and a residual block provided by the inverse transform unit 225.
  • the detailed prediction method performed by the prediction units 230 and 235 may be the same as the prediction method performed by the prediction units 110 and 115 of the encoding apparatus.
  • the prediction units 230 and 235 may include a prediction unit determination unit (not shown), an inter prediction unit 230, and an intra prediction unit 235.
  • the prediction unit determining unit receives various information such as prediction unit information input from the entropy decoder 210, prediction mode information of the intra prediction method, and motion prediction related information of the inter prediction method, and the prediction unit in the current coding unit And, it is possible to determine whether the prediction unit performs inter prediction or intra prediction.
  • the inter prediction unit 230 uses information required for inter prediction of the current prediction unit provided from the video encoder, based on information included in at least one picture of a previous picture or a subsequent picture of the current picture containing the current prediction unit. As a result, inter prediction on the current prediction unit can be performed.
  • a prediction block for the current block may be generated by selecting a reference picture for the current block and selecting a reference block having the same size as the current block.
  • information of neighboring blocks of the current picture may be used.
  • a prediction block for a current block may be generated based on information of neighboring blocks using a method such as a skip mode, a merge mode, and an advanced motion vector prediction (AMVP).
  • AMVP advanced motion vector prediction
  • the prediction block may be generated in an integer or less sample unit, such as a 1/2 pixel sample unit and a 1/4 pixel sample unit.
  • the motion vector may also be expressed in units of integer pixels or less.
  • a luminance pixel may be expressed in 1/4 pixel units and a color difference pixel may be expressed in 1/8 pixel units.
  • Motion information including a motion vector and a reference picture index required for inter prediction of the current block may be derived in response to checking the skip flag and the merge flag received from the encoding apparatus.
  • the intra prediction unit 235 may generate a prediction block based on pixel information in the current picture.
  • intra prediction may be performed based on intra prediction mode information of the prediction unit provided from an image encoder.
  • the intra-prediction unit 235 may use various methods including an intra-block copy method.
  • the intra prediction unit 235 may use the most probable intra prediction mode (MPM) obtained from neighboring blocks to encode the intra prediction mode.
  • the most probable intra prediction mode may use an intra prediction mode of a spatial neighboring block of the current block.
  • the following method may be used to construct a list of the most likely intra prediction modes of the current block.
  • six most probable intra prediction modes may be used to encode the intra prediction modes of the current block.
  • the neighboring blocks used to obtain the most probable intra prediction mode may be a left upper block, an upper block, an upper right block, a left block, and a left lower block of the current block.
  • the five neighboring blocks may be scanned, and intra prediction modes of the neighboring blocks may be allocated to the most likely intra prediction mode list.
  • the planar mode and the DC mode may be allocated to the most likely intra prediction mode list.
  • the most probable intra prediction mode overlapping is not allocated to the list.
  • the number and location of neighboring blocks for obtaining the most probable intra prediction mode, and a method of scanning the neighboring blocks are preset.
  • a processing unit in which prediction is performed by the intra prediction unit 235 and a processing unit in which a prediction method and specific content are determined may be different from each other.
  • a prediction mode may be determined in a prediction unit and prediction may be performed in a prediction unit
  • a prediction mode may be determined in a prediction unit
  • intra prediction may be performed in a transformation unit.
  • the intra prediction unit 235 may include an AIS (Adaptive Intra Smoothing) filter unit, a reference pixel interpolation unit, and a DC filter unit.
  • the AIS filter unit is a part that performs filtering on a reference pixel of a current block, and may determine and apply a filter according to a prediction mode of a current prediction unit.
  • AIS filtering may be performed on a reference pixel of a current block by using the prediction mode and AIS filter information of the prediction unit provided by the image encoder.
  • the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter unit may not be applied to the current block.
  • the reference pixel interpolation unit may generate a reference pixel of a pixel unit of an integer value or less by interpolating the reference pixel. have.
  • the prediction mode of the current prediction unit is a prediction mode in which a prediction block is generated without interpolating a reference pixel
  • the reference pixel may not be interpolated.
  • the DC filter unit may generate a prediction block through filtering when the prediction mode of the current block is the DC mode.
  • the intra prediction unit 235 may smooth neighboring blocks of the current block by using at least one smoothing filter.
  • a third prediction block is obtained by averaging or weighting the first prediction block performing intra prediction and the second prediction block performing motion compensation. Can be generated.
  • a low frequency or high frequency filter may be passed.
  • whether or not to use a filter may vary depending on the position of each pixel in the third prediction block, or the intensity or intensity of the filter may vary.
  • the filter may be applied only to the edge of the current block.
  • the filter may be applied only to the rest of the current block except for the edge.
  • whether or not to use a filter may vary according to the horizontal and/or vertical size of the third prediction block, and the filter may be applied only when the size of the third prediction block is greater than or equal to a predetermined value T.
  • the reconstructed block and/or picture may be provided to the filter unit 240.
  • the filter unit 240 may include a deblocking filter unit, an offset correction unit (Sample Adaptive Offset) and/or an adaptive loop filter unit in the reconstructed block and/or picture.
  • the deblocking filter unit may receive information indicating whether a deblocking filter is applied to a corresponding block or picture from an image encoder, and information indicating whether a strong filter or a weak filter is applied when the deblocking filter is applied.
  • the deblocking filter unit may receive information related to a deblocking filter provided from an image encoder, and may perform deblocking filtering on a corresponding block by an image decoder.
  • the offset correction unit may perform offset correction on the reconstructed image based on the type of offset correction applied to the image during encoding and offset value information.
  • the adaptive loop filter unit may be applied as a coding unit based on information on whether to apply an adaptive loop filter provided from an encoder and information such as coefficient information of the adaptive loop filter. Information related to the adaptive loop filter may be provided by being included in a specific parameter set.
  • the memory 245 may store the reconstructed picture or block and use it as a reference picture or a reference block later, and may also provide the reconstructed picture to an output unit.
  • bitstream input to the decoding apparatus may be input to the entropy decoder through a parsing step.
  • the entropy decoding unit may perform a parsing process.
  • coding may be interpreted as encoding or decoding in some cases, and information includes all values, parameters, coefficients, elements, flags, etc. It can be understood as doing.
  • 'Screen' or'picture' generally refers to a unit representing one image in a specific time period, and'slice','frame', etc. are used in coding of an actual video signal. It is a unit constituting a part, and if necessary, it can be used interchangeably with a picture.
  • 'Pixel','pixel', or'pel' represents the smallest unit constituting one image. Also, as a term indicating a value of a specific pixel,'sample' may be used. Samples may be divided into luminance (Luma) and chrominance (chroma) components, but generally, a term including all of them may be used. In the above, the color difference component represents a difference between predetermined colors and is generally composed of Cb and Cr.
  • A'unit' refers to a basic unit of image processing or a specific position of an image, such as the coding unit, prediction unit, and transformation unit described above, and in some cases, terms such as'block' or'area' And can be used interchangeably. Further, a block may be used as a term indicating a set of samples or transform coefficients composed of M columns and N rows.
  • the size of the basic unit block to be partitioned may vary according to the resolution of the image.
  • a block unit having a large size may be selected for a high-resolution image, and a block unit having a small size may be selected for a low-resolution image.
  • the encoder not only the resolution of the image, but also the characteristics of the image (spatial correlation, fast motion, frame rate captured, etc.), the type of image (natural image, 2D/3D animation, screen contents image including document or PPT image, 3D image)
  • the size of the basic block can be adaptively determined according to the depth map used in, an image captured by a VR camera, an image mixed with VR/AR, etc.), and this basic block size information is included in the bitstream and transmitted to the decoder. Can be.
  • the decoder may parse the basic block size information and set the size of the processed basic unit block.
  • the size of the basic unit block can be a square shape such as 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, etc., 256x128, 128x256, 256x64, 64x256,... , 128x64, 64x128, 128x32,... It may have a rectangular shape, such as.
  • a picture can be divided into a tile group and a tile.
  • One tile group is a set of consecutive tiles in raster scan order.
  • One tile is a set of consecutive coding tree units (CTUs) in raster scan order.
  • CTUs consecutive coding tree units
  • FIG 3 illustrates at least one tile group included in one picture according to an embodiment of the present invention.
  • one picture 10 may include at least one tile group 11, 12, 13, and the tile group 11, 12, 13 includes at least one tile 11a, 11b, ..., 13e).
  • the picture 10 may include 18 CTUs in the horizontal direction and 12 CTUs in the vertical direction. Since each of the tiles 11a, ..., 13e is encoded independently of each other, each of the tiles can be encoded in parallel. However, since encoding information between different tiles cannot be used, encoding efficiency may be lowered.
  • the tile groups 11, 12, 13 may represent a set of consecutive tiles 11a, ..., 13e in a raster scan order, but the scan order of tiles is not limited thereto, and in one embodiment, tiles
  • the groups 11, 12, and 13 may be formed by grouping consecutive tiles in an arbitrary scan order. In this case, information indicating the determined arbitrary scan order may be included in the bitstream and transmitted to the decoder.
  • the decoder may parse the transmitted scan order, check the tile scan order of the tile group, and decode it.
  • the tiles 11a, ..., 13e are independently encoded, they may have advantages in parallel processing and low encoding efficiency.
  • at least one syntax probability information after tiles 11a, ..., 13e are finally encoded (probability for at least one syntax in CABAC) context value) and decoding start position information in the bitstream may be included in the bitstream and transmitted to the decoder.
  • the decoder may parse the transmitted probability information, update the probability information for the corresponding tiles 11a, ..., 13e, and then perform decoding on the tile. If the probability information for the syntax that has not been transmitted may be initialized or updated to a predetermined value. In other words, since CABAC probability information for each syntax is transmitted in the bitstream, each of the tiles 11a, ..., 13e can be decoded in parallel.
  • the encoder and decoder may have syntax probability information for various situations in the form of a table.
  • the encoder may not include the syntax probability information in the bitstream, but may include only the index number of the table in the bitstream and transmit it to the decoder.
  • the decoder may reconfigure the syntax probability information by parsing the index number of the table included in the transmitted bitstream.
  • Each of the tiles 11a, ⁇ , and 13e in the tile groups 11, 12, and 13 may share and use probability information with each other.
  • all or arbitrary tiles in the tile groups 11, 12, 13 may update probability information using probability information for a tile group delivered from a bitstream.
  • all or arbitrary tiles in the tile group may perform CABAC decoding using the same probability information. Therefore, when one image includes both a portion having a gentle characteristic and a portion having a complex characteristic, a portion having similar characteristics constitutes one tile group, so that the tiles constituting the tile group provide the same probability information. By sharing, coding efficiency can be improved.
  • one coding tree unit may include three coding tree blocks (CTBs: Y, Cb, and Cr), and coding tree syntax associated with each CTB.
  • CTBs coding tree blocks
  • One CTU can be divided into several CUs (Coding Units).
  • One CU may include three Coding Blocks (CBs), a coding syntax associated with each CB, and an associated transform block (transform unit, hereinafter referred to as'TU').
  • One TU may include three transform blocks (transform blocks, hereinafter referred to as'TB') and transform syntax associated with each TB.
  • the size of the color difference CTB in a 4:2:0 color difference sampling format, when the size of the luminance CTB is 2 M x 2 N , the size of the color difference CTB may be 2 M-1 x 2 N-1 . In another embodiment, in a 4:2:2 color difference sampling format, when the size of the luminance CTB is 2 M x 2 N , the size of the color difference CTB may be 2 M-1 x 2 N or 2 M x 2 N-1 . . In another embodiment, when the size of the luminance CTB is 2 M x 2 N in the 4:4:4 color difference sampling format, the size of the color difference CTB may be 2 M x 2 N.
  • M and N may be the same value, or M and N may be different values.
  • One CU may have a square or rectangular shape.
  • one CTU top-level CU
  • one CTU top-level CU
  • each of the four-segmented tree leaf nodes divided into four may be further divided into two or three using a multi-type tree structure.
  • FIG. 4 four types of division are shown in this multi-type tree structure.
  • FIG. 4 illustrates examples of a multi-type tree structure according to an embodiment of the present invention.
  • one multi-type tree leaf node may be one CU. If the size of the CU is not larger than the maximum transform size, it may not be partitioned any more, and prediction and transform processes may be performed in units of the CU. In one embodiment, in a multi-type tree structure, CU, PU, and TU may have the same block size. Referring to FIG. 4, if the horizontal or vertical size of the CB is larger than the maximum horizontal or vertical size of the TB, the CB may be implicitly divided in the horizontal or vertical direction until the maximum horizontal or vertical size of the TB becomes the same. have.
  • FIG 5 shows an example of a multi-tree type structure according to an embodiment of the present invention.
  • a thick solid line indicates a case of being divided using a four-division tree structure
  • a thin solid line indicates a case of being divided using a multi-type tree structure.
  • Each of the four-segmented tree leaf nodes divided into four in a four-segmented tree structure may be recursively partitioned using a four-segmented tree structure, or may be partitioned using a multi-type tree structure.
  • the multi-type tree leaf nodes divided into two or three may be recursively divided using a multi-type tree structure.
  • division into a four-segmented tree structure in a multi-type tree leaf node is not allowed.
  • the blocks of the multi-type tree node may be divided using a four-division tree structure.
  • the four quadrilateral tree leaf nodes divided using the four-division tree structure may be recursively partitioned using the four-division tree structure, or may be partitioned using a multi-type tree structure. Splitting from a multi-type tree leaf node into a quadrilateral tree structure can be applied only when the horizontal and vertical size of the block is an arbitrary value (or greater than or equal to or less than or equal to an arbitrary value).
  • the division of the transform unit may depend on the division of the coding unit.
  • the division of the transform unit may be recursively performed in the lowest coding unit.
  • the lowest-order coding unit performs prediction, and transform and quantization processes may be performed by dividing the transform unit only on the error signal generated by the prediction.
  • an error signal for a plurality of coding units may constitute one block, and the block may be processed as one transform unit.
  • an error signal of two 16 x 8 blocks may be reconstructed into one 16 x 16 block.
  • a process of splitting and encoding or decoding a transform unit may be performed in units of reconstructed 16 x 16 blocks.
  • a coding unit and a transform unit may independently perform decoding.
  • the syntax for the coding unit and the syntax for the transform unit are configured separately in a multi-type tree node. Accordingly, the coding unit and the transform unit are independently decoded without forming a top-down relationship with each other, and a split structure for the coding unit and a split structure for the transform unit in the highest multi-type tree node may be independently determined from each other. .
  • the coding unit may have a square shape or a rectangular shape. If the coding unit has a square shape, DCT transform or DST transform may be performed using a transform matrix having the same horizontal and vertical length. If the coding unit has a rectangular shape, since the horizontal and vertical lengths are different, a transformation matrix may be predetermined according to the rectangular shape of the coding unit to perform DCT transformation or DST transformation.
  • the coding unit when the coding unit has a rectangular shape, the coding unit may be divided into a plurality of square subunits, and DCT transformation or DST transformation may be performed for each subunit.
  • DCT transform or DST transform may be performed on a square coding unit of an upper node including a divided rectangular coding unit.
  • one transform unit may include a plurality of rectangular coding units.
  • a neighboring pixel adjacent to the current coding unit may be designated as a reference pixel. Thereafter, the most efficient prediction direction may be set, and a reference block may be generated by padding or interpolating a pixel from the reference pixel in a corresponding direction using the set prediction direction.
  • FIG. 6 illustrates an intra prediction mode of a current coding block according to an embodiment of the present invention.
  • each mode has a specific prediction direction, and a prediction block may be generated from a reference pixel using the prediction direction.
  • intra-prediction direction modes there are a plan mode (Intra_Planar), an average mode (DC; Intra_DC), and a mode for predicting a color difference signal from the restored luminance signal (CCLM; Cross-component linear model).
  • the encoding for the intra prediction direction mode is applied to a luminance signal and a color difference signal, respectively, and in the case of a luminance signal, the CCLM mode may be excluded.
  • a method of predicting an intra prediction mode for the current CU uses the most probable mode (MPM).
  • MPM most probable mode
  • six MPM modes are used, and information (intra_luma_mpm_flag) indicating whether an intra prediction mode of the current CU is in the MPM list may be included in the bitstream.
  • the decoder may determine whether there is an intra prediction mode of the current CU in the MPM list through intra_luma_mpm_flag.
  • intra_luma_mpm_idx may be additionally parsed, and the intra prediction mode of the current CU may be derived using the intra_luma_mpm_idx-th intra prediction mode from the MPM list. . If the intra prediction mode of the current coding unit is not in the MPM list, remaining information (intra_luma_mpm_remainder) for intra prediction mode information can be additionally parsed, and the intra prediction mode of the current CU can be derived from the parsed information. I can.
  • the current block may be predictively coded using a mode without directionality.
  • An intra-prediction mode without directionality can be used in a smooth image region to improve encoding efficiency.
  • the mode without directionality since the mode without directionality is commonly used, it may exist in the earliest order among various intra prediction modes (for example, 67).
  • the '0'th order is used for the planar mode, and the '1'th order is used for the average mode.
  • encoding of an intra prediction mode uses an MPM list constructed from intra prediction modes of neighboring blocks.
  • the encoder may store index information on whether to use the MPM list and which one in the MPM list to use in order to encode the intra prediction mode in a bitstream and transmit it to the decoder. Encoding an intra prediction mode using such an MPM list can increase encoding efficiency in encoding a directional mode.
  • the bitstream may include information indicating whether the current block is in a directional mode or not in a directional mode. If the current block is not in the directional mode, information indicating whether the current block is in a planar mode or an average mode may be further included in the bitstream.
  • the prediction mode in the screen of the current block is a directional mode, it is possible to select whether to derive an MPM list or not.
  • the information on whether to induce the MPM list is the location information of the reference pixel, the horizontal and vertical size information of the block of the current CU or the neighboring CU, the luminance signal, the color difference signal, the use of the ISP mode, and the prediction mode of the current CU.
  • Information information about intra prediction mode information of a CU adjacent to the current CU, information about whether a CU adjacent to the current CU is in a directional mode, information about combined inter and intra prediction (CIIP) mode, whether a reference pixel belongs to a picture boundary or another tile Information, intra block copy (IBC) mode information, intra- and inter-screen coding mode information, quantization parameters, and information on CTU boundaries can be derived using at least one or more independently, without using at least one or more Can be induced.
  • IBC intra block copy
  • index information on which one to use in the MPM list may be included in the bitstream.
  • prediction mode residual information (intra_luma_mpm_remainder) indicating the remaining prediction modes not included in the MPM list among the intra prediction modes may be included in the bitstream.
  • the decoder may parse information on whether the intra prediction mode of the current block is a directional mode. If the intra prediction mode of the current block is not a directional mode, information on whether the current block is a planar mode or an average mode may be parsed. If the prediction mode in the screen of the current block is the directional mode, whether to derive the MPM list is determined by the location information of the reference pixel, the horizontal and vertical size information of the transform block of the current CU or neighboring CU, the luminance signal, the color difference signal, and the ISP mode.
  • information about the intra prediction mode of the current CU information about the intra prediction mode of the CU adjacent to the current CU, information about whether the current CU and the adjacent CU is in a directional mode, information about the combined inter and intra prediction (CIIP) mode, and the reference pixel It can be derived using at least one of information on whether it belongs to a picture boundary or another tile, intra block copy (IBC) mode information, intra and inter-screen coding mode information, quantization parameter, and information on CTU boundary. .
  • the MPM list may be derived by using the information individually.
  • the decoder may parse information indicating whether to derive an MPM list. If all of the neighboring blocks adjacent to the current block are in a non-directional mode, whether to derive the MPM list is not parsed and the MPM list may not be derived. If a tile including a neighboring block adjacent to the current block and a tile including the current block are different tiles, information of other tiles cannot be derived to remove the dependency between tiles, so the intra prediction mode of the neighboring block is set. It can be set to directional mode or non-directional mode.
  • parsing robustness may be reduced from a decoder side. Therefore, if the intra prediction mode of the current block is the directional mode, whether to derive the MPM list is parsed regardless of the intra prediction mode of neighboring blocks adjacent to the current block.
  • index information on an intra prediction mode used in the MPM list may be parsed to derive intra prediction information for a current block. If the MPM list is not used, prediction mode residual information (intra_luma_mpm_remainder) among intra prediction modes may be parsed to derive intra prediction information for the current block.
  • the prediction mode residual information may be decoded using CABAC using truncated binary codes.
  • the MPM list may be configured except for a mode without directionality or may be configured with only directional mode.
  • the maximum value (maxVal) of the truncated binary code that the prediction mode residual information may have may be 59.
  • the MPM list may be configured based on intra prediction mode information of a neighboring block adjacent to the current block, information on whether the current block is in the ISP mode, and information indicating which reference pixel is used. .
  • a process for removing duplication of intra prediction modes within the MPM list may also be performed, which may increase the complexity of the encoder and decoder.
  • the default MPM list includes at least one prediction mode among Planar (0), DC (1), Vertical (50), HOR (18), VER-4 (46), and VER + 4 (54).
  • the MPM list may be constructed using only intra prediction mode information of a neighboring block adjacent to the current block.
  • the MPM list may include one or more intra prediction modes among A, B, Planar (0), DC (1), Vertical (50), and HOR (18).
  • A may be an intra prediction mode of a block adjacent to the left of the current block
  • B may be an intra prediction mode of a block adjacent to an upper side of the current block.
  • the order of prediction modes within each picture within the MPM list may be different.
  • At least two or more blocks may share and use one MPM list.
  • the MPM list may use an MPM list derived from any one block among several blocks.
  • an MPM list derived from a block to be encoded or decoded first among at least two or more blocks may be used as the MPM list of the next block.
  • an MPM list may be configured in a block for an upper node of at least two or more blocks, and the lower blocks may share and use the MPM list configured in the upper block.
  • the MPM list derived in units of coding blocks may be shared and used by sub-blocks.
  • the MPM list for the first subblock and the MPM list for the second subblock may be identical to each other.
  • intra prediction modes may be grouped first.
  • intra prediction mode information for example, 10
  • information (intra_luma_group_index) of whether the intra prediction mode for the current coding unit is included in the corresponding group may be included in the bitstream.
  • M is divided into N (for example, 5) subgroups, and information (intra_luma_subgroup_index) of whether an intra prediction mode for the current coding unit is included in a corresponding subgroup may be included in the bitstream.
  • the remaining information (intra_luma_remainder_in_subgroup) about intra prediction mode information within the subgroup may be included in the bitstream.
  • the decoder may parse intra_luma_group_index, intra_luma_subgroup_index, and intra_luma_remainder_in_subgroup to derive intra prediction mode information for the current coding block.
  • Grouping of intra prediction modes for indicating intra prediction mode information for the current coding block may be performed at equal intervals or may be performed non-uniformly. In one embodiment, 5 in the first group, 10 in the second group, 7 in the third group, ... You can also designate groups unevenly, such as In grouping, whether to perform grouping evenly or non-uniformly, and if grouping is performed unevenly, the number of each group includes information on intra prediction modes included in the MPM list, location information of reference pixels.
  • IBC intra block copy
  • the reference pixel when the current coding unit block is located at the top of the picture or the top of the tile, the reference pixel may exist only to the left of the current coding unit block.
  • the intra prediction mode of the current coding unit may be encoded using only the intra prediction mode having horizontal directionality, and the intra prediction mode having vertical directionality may not be used implicitly.
  • the intra prediction mode information to be included in the initial MPM list may include only the intra prediction mode of the left coding unit block, Planar (0), DC (1), and an intra-picture mode having horizontal orientation. Accordingly, it is possible to select an available intra prediction mode selectively by checking whether the current coding block is located at a picture boundary and a tile boundary.
  • intra prediction mode availability information indicating information on an intra prediction mode that can be used in a current coding unit block. That is, the number of available intra prediction modes may vary for each coding unit block. For example, when the size of the current coding unit block is greater than or equal to an arbitrary value, Planar (0), DC (1), Vertical (50), HOR (18), VER-4 (46), VER + 4 Only (54) can be used.
  • the intra prediction mode availability information may be set for each intra prediction mode. For example, the availability information for the Planar (0) mode may be set to '1', and the availability information for the DC (1) mode may be set to '0'. In this case, the current block is the DC mode. Is not available, and Planar mode is available.
  • the prediction mode availability information in the screen includes position information of a reference pixel, horizontal and vertical size information of a transform block of a current CU or a neighboring CU, a luminance signal, a color difference signal, whether an ISP mode is used, and an intra-screen mode of the current CU.
  • Direction information information about intra prediction mode of a CU adjacent to the current CU, information about combined inter and intra prediction (CIIP) mode, information about whether a reference pixel belongs to a picture boundary or another tile, information about intra block copy (IBC) mode, It may be derived by using at least one or more of information on intra- and inter-screen coding mode information, quantization parameters, and CTU boundaries.
  • CIIP inter and intra prediction
  • IBC intra block copy
  • the intra prediction mode availability information may be included in the bitstream and transmitted to the decoder.
  • the decoder can parse the intra prediction mode availability information, set the intra prediction mode information available for the current coding unit block, and efficiently decode the intra prediction mode in terms of bit rate using the intra prediction mode availability information. I can.
  • the process of generating an intra prediction sample for the current CU may be performed as follows.
  • Step 1 construct a reference pixel.
  • Step 1 it is possible to determine the availability of a reference pixel as to whether or not the surrounding pixels adjacent to the current coding unit can be used as reference pixels.
  • the reference pixel availability becomes false, and thus cannot be used as a reference pixel. If all of the reference pixel availability of neighboring pixels adjacent to the current coding unit are false, after setting a randomly determined value for all reference pixels, all of the reference pixel availability may be changed to true. If even one of the neighboring pixels adjacent to the current coding unit has a reference pixel availability false, the pixel value can be filled using a pixel adjacent to the reference pixel availability false pixel, and then the reference pixel availability can be changed to true. have.
  • filtering may be performed on the reference pixel.
  • Whether or not to perform the filtering includes information about the location of a reference pixel, information about the horizontal and vertical size of a transform block of the current CU or a neighboring CU, a luminance signal, a color difference signal, whether or not ISP mode is used, information about an intra prediction mode of the current CU, and the current CU In-screen prediction mode information of adjacent CUs, CIIP (Combined inter and intra prediction) mode information, information on whether a reference pixel belongs to a picture boundary or other tile, IBC (Intra block copy) mode information, intra- and inter-screen coding It may be derived by using at least one or more of mode information, quantization parameter, and information on CTU boundaries.
  • the filtering may be performed when the horizontal or vertical size of the transform block of the current coding unit is equal to or greater than a predetermined value, is a luminance signal, and is an intra prediction image predicted from a reference pixel adjacent to the current block. .
  • an intra prediction sample may be generated according to the prediction mode information within each screen.
  • a prediction block is generated by using an average of a vertical prediction sample block and a horizontal prediction sample block.
  • the vertical prediction sample block may be generated through the lower left sample of the current block and the upper samples of the current block
  • the horizontal prediction sample block may be generated through the upper right sample of the current block and the left samples of the current block.
  • the prediction sample may be generated by applying a weight between the vertical prediction sample and the horizontal prediction sample based on the horizontal and/or vertical size of the current block.
  • the prediction sample when the size of the current block is greater in the horizontal size than the vertical size, the prediction sample may be generated by giving the vertical prediction sample block a higher (or lower) weight than the horizontal prediction sample block. For example, when the size of the current block is larger horizontally than vertically, a weighted average is performed by assigning a weight of '3' to the vertical prediction sample and a weight of '1' to the horizontal prediction sample. I can.
  • the prediction block when the intra prediction mode information of the current block is the DC mode, the prediction block may be generated using an average value of the reference block.
  • an average value can be calculated using only the upper sample of the current block.
  • the horizontal size of the current block is smaller than the vertical size, an average value can be calculated using only the left sample of the current block. If the horizontal size and the vertical size of the block are the same, the average value can be calculated using both the top sample and the left sample of the current block.
  • the prediction mode information in the screen of the current block is a planar mode or a DC mode
  • the left or upper sample of the current block belongs to another tile (slice)
  • the corresponding sample cannot be used as a reference sample, so it is used.
  • Samples of impossible locations may not be used to generate predictive samples. For example, if the upper sample of the current block belongs to another tile (slice) and the prediction mode in the current screen is Planar mode, a prediction sample for the current block is generated using only the horizontal prediction sample without generating a vertical prediction sample. Can be generated.
  • the average value is calculated using only the left sample of the current block, regardless of the horizontal or vertical size of the current block.
  • a prediction sample for the current block can be generated with the average value.
  • a prediction sample may be generated through a weight-based interpolation method.
  • an interpolation filter used for prediction samples of the current block using information such as intra prediction mode, location information of reference pixels, ISP mode information, whether a luminance or color difference signal, transform block size information, and size information of the current coding block. The kind of can be derived.
  • a 4-tap Cubic or 4-tap Gaussian filter may be used as the interpolation filter.
  • an intra prediction mode and a location-based prediction sample filtering process may be performed.
  • the intensity of filtering or whether to perform filtering is information on the location of the reference pixel, information on the horizontal and vertical size of the transform block of the current CU or neighboring CU, the luminance signal, the color difference signal, whether or not ISP mode is used, information on the prediction mode in the current CU, and the current In-screen prediction mode information of the CU adjacent to the CU, CIIP (Combined inter and intra prediction) mode information, information on whether a reference pixel belongs to a picture boundary or other tile, IBC (Intra block copy) mode information, intra-screen and screen information It may be derived using at least one of information on inter-coding mode information, quantization parameters, and CTU boundaries.
  • filtering may be performed on an intra prediction sample of the current coding unit.
  • the arbitrary value may be a multiple of 2.
  • filtering for an intra prediction sample of the current coding unit may be performed when the current coding unit represents a luminance signal and the intra prediction sample is a sample predicted from a reference pixel adjacent to the current block. .
  • one CU block may be divided into two or more sub-blocks to be encoded.
  • the sub-blocks may be sequentially encoded, and the current sub-block may be encoded with reference to a reconstructed pixel of a previous sub-block.
  • the intra prediction mode of the current block may be shared by the divided sub-blocks.
  • the intra prediction modes of each of the divided sub-blocks of the current block are different, but may have a value that is close.
  • the intra prediction mode of the sub-blocks may be an intra prediction mode that is close to each other, and may be +-1 or +-2 different from each other.
  • the intra prediction mode for the second partitioned block may improve encoding efficiency by transmitting only a difference value from the first partitioned block.
  • the intra prediction mode for the third partitioned block may be transmitted to the decoder as a difference value from the second partitioned block.
  • the difference value may be encoded using the syntax described with reference to FIG. 7 and output as a bitstream.
  • FIG. 7 is a diagram illustrating syntax for differently setting an intra prediction mode of a divided block according to an embodiment of the present invention.
  • the ISP differential direction flag (isp_diff_direction_flag) may be set to '1' in the case of the + direction, and may be set to '0' in the case of the-direction.
  • the difference value of the intra prediction mode may be '1' or more, and when it is '0', the difference value may be '0'.
  • the second ISP difference value flag (isp_diff_greater1_flag) is '1'
  • the difference value of the intra prediction mode may be '2', and when it is '0', the difference value may be '1'.
  • the decoder may obtain the intra prediction mode of the second divided block by adding a difference value between the decoded intra prediction mode of the first divided block and the intra prediction mode of the second divided block.
  • the third partitioned block and the fourth partitioned block may use the intra prediction mode of the first partitioned block as a prediction value as in the second partitioned block. That is, the intra prediction mode of the fourth divided block may obtain an intra prediction mode of the fourth divided block by adding a difference value between the intra prediction mode of the first divided block and the intra prediction mode of the fourth divided block. .
  • the multi-type tree structure can provide high flexibility in partitioning blocks.
  • 8 shows a form in which a current coding unit is implicitly divided according to an embodiment of the present invention.
  • the ISP division mode information indicating the division type of the ISP mode is an upper coding unit. It can be set implicitly using the division information of. In this case, the ISP division mode information need not be transmitted to the decoder.
  • the centrally located coding unit may be vertically divided into two or more sub-blocks.
  • information about the vertical direction may be implicitly set.
  • the division of the sub-block may be implicitly performed in the horizontal direction.
  • the ISP mode segmentation information may be set to an implicit segmentation mode using at least one of segmentation information of an upper coding unit, segmentation information of a neighboring coding unit, and segmentation information of a neighboring ISP mode.
  • Whether to use the ISP mode may be determined according to the horizontal or vertical size of the coding unit. In an embodiment, when the horizontal or vertical size of the coding unit is greater than or equal to an arbitrary size, the ISP mode may not be used. Further, when the horizontal or vertical size of the coding unit is less than or equal to an arbitrary size, it is possible to set not to use the ISP mode.
  • the luminance signal when the coding unit block is encoded in the ISP mode, the luminance signal may be divided into two or more and encoded.
  • the color difference signal can be encoded without being divided.
  • the color difference signal may be divided and encoded in the same form as the luminance signal.
  • the color difference signal in the case of a 4:2:0 video format, may have a size of 1/4 of the luminance signal. If the size of the current coding unit block is an arbitrary size and the luminance signal is divided into four sub-blocks and encoded, the corresponding color difference signal may be divided into two sub-blocks and encoded. In one embodiment, when the size of the coding unit block is 8x16 (luminance signal: 8x16, color difference signal: 4x8), the luminance signal may be divided into four 8x4 blocks in the horizontal direction and encoded, and the corresponding color difference signal is It can be encoded by dividing it into two 4x4 blocks.
  • division direction information of the luminance signal and the color difference signal may be shared with each other.
  • the number of divisions of the color difference signal may vary according to the sub-sampling format of the color difference signal.
  • the ISP split mode of the coding unit to which the ISP mode is applied may have a high probability of being in the vertical direction.
  • the intra prediction mode of each sub-block divided into the ISP mode is also in the vertical direction. Accordingly, in order to derive the intra prediction mode of the sub-block divided by the ISP mode, the division information of the upper coding unit can be used.
  • the intra prediction mode of each sub-block divided into the ISP mode is determined by using at least one of the division information of the upper coding unit, the division information of the neighboring coding unit, the division information of the neighboring ISP mode, and the intra prediction mode of the neighboring block. You can induce.
  • each partition block is partitioned in the form of an asymmetric block partition (ABP).
  • ABSP asymmetric block partition
  • FIG 9 shows an example of asymmetric block division according to an embodiment of the present invention.
  • one CU block in the ISP mode, one CU block may be divided into up to four sub-blocks, and there is a dependency between each sub-block, so there is a problem of reducing throughput during encoding and decoding.
  • the ISP mode may have a high probability of being selected mainly at the boundary of the object. Therefore, when the ISP mode is applied to the current coding unit block, as shown in FIG. 9, one coding unit block may be divided into two sub-blocks, and may be divided into an asymmetric block partition (hereinafter referred to as ABP). I can.
  • ABP asymmetric block partition
  • one coding unit block can be divided into two sub-blocks, and one of an asymmetric block partition (ABP) type and a symmetric block partition (SBP) type is used. Can be divided by
  • the corresponding split mode information may be included in the bitstream and transmitted to the decoder.
  • the decoder may parse the corresponding information to determine which subblock type is to be divided, and may set the intra prediction mode of each divided subblock to have different values.
  • At least one or more of the divided sub-blocks may not have a transform coefficient (when the coded block flag (CBF) is mode '0').
  • CBF coded block flag
  • the CBF of the first sub-block when the CBF of the first sub-block is '1', the CBF of the second sub-block may be '0'. Only the CBF of the first sub-block is included in the bitstream, and the CBF of the second sub-block is not included in the bitstream, and may be derived through the CBF of the first sub-block.
  • the sub-block ISP mode can be deactivated only when the current block is smaller than a certain size.
  • the ISP mode can be applied with the dependency removed.
  • a method of removing the dependency between sub-blocks of the current block may be performed in the prediction step.
  • a reference pixel used for prediction of each subblock uses a pixel adjacent to the subblock. Therefore, in order to predict the current sub-block, the previous sub-block must have been encoded or decoded. Accordingly, encoding and decoding dependence may exist between the current subblock and the previous subblock.
  • a pixel adjacent to a coding block including each sub-block may be used as a reference pixel used to derive a prediction sample for each sub-block.
  • the current sub-block may use previously coded and decoded blocks, not the previous sub-block, as reference pixels, there is no dependency between the previous sub-blocks.
  • Whether to perform the method of removing the dependency may be selectively applied according to the size condition of the coding block. For example, the above method can be applied only when the size of the coding block is less than or equal to an arbitrary size (eg, 8x8).
  • an arbitrary size eg, 8x8
  • FIG. 10 is a diagram for explaining a method of deriving a reference pixel for a subblock according to an embodiment of the present invention.
  • a current coding block 20 may configure reference pixels 21 using adjacent pixels, and the reference pixels 21 are all sub-blocks #1, #2, and #3, #4) can share with each other.
  • the complexity can be reduced.
  • the reference pixels 21 used by each sub-block (#1, #2, #3, #4) are all the same, a blocking phenomenon between each sub-block (#1, #2, #3, #4) occurs. I can not. Therefore, there is no need to perform a deblocking filter at the boundary of each sub-block (#1, #2, #3, #4).
  • a reference pixel may be configured only with pixels adjacent to the last sub-block among pixels adjacent to the coding block.
  • a blocking phenomenon may occur between each sub-block. Accordingly, deblocking filtering may be performed at the boundary of each sub-block, and the intensity of filtering may be determined according to characteristics of the sub-blocks or reference pixels.
  • interpolation may be used to increase prediction efficiency.
  • a weight value applied to a reference pixel may be determined according to information such as an intra prediction mode of the current block, a signal type (whether it is a luminance signal), and location information of the reference pixel. If the current block is the last sub-block (#4), among the pixels recognized in the coding block, a pixel adjacent to the last sub-block is predicted after interpolation is performed using a different weight (or higher weight) than other pixels. You can create a sample.
  • the prediction efficiency may be increased by the interpolation method, so that a blocking phenomenon between the sub-blocks may hardly exist. Accordingly, at the boundary of each sub-block, the intensity of filtering such as deblocking may be set weakly or strongly.
  • each sub-block has a dependency problem with other adjacent sub-blocks, a case in which a reference pixel cannot be derived through the other sub-blocks may occur.
  • the adjacent pixel may not be used.
  • adjacent pixels included in the other sub-blocks may be used as reference pixels by replacing them with pixels that are closest thereto.
  • the left pixel of the current sub-block when all pixels on the left side of the current sub-block correspond to other sub-blocks, the left pixel of the current sub-block may not be used, and the left pixel of the current coding block may be replaced with a reference pixel.
  • the upper pixel of the current sub-block is replaced with the left pixel of the current coding block to be a reference pixel. Can be configured.
  • a smoothing filter for a reference pixel during intra prediction in order to improve coding efficiency, not only a smoothing filter for a reference pixel during intra prediction, but also an interpolation method when generating a prediction sample may be used.
  • this interpolation method has a disadvantage of increasing computational complexity.
  • a 4-tap Cubic or 4-tap Gaussian filter is selectively performed for a luminance signal according to an intra prediction mode, a reference pixel position, whether it is an ISP block, and a block size, and bi-linear for a color difference signal. Filtering can be performed.
  • an interpolation method when the intra prediction mode for the luminance signal is vertical or horizontal, an interpolation method may not be performed or a 4-tap Cubic filter may be performed.
  • the interpolation method since prediction is performed by dividing one coding block into several subblocks in the ISP mode, the interpolation method may not be performed because prediction efficiency is high.
  • whether or not the interpolation method is applied may be changed only when the size of the block is more than (or less than) a predetermined size.
  • the interpolation method when the size of the sub-block (or coding block) is 8x8, 8x4, or 4x8 or less, the interpolation method is not applied, or a low-complexity bi-linear filter applied to the color difference signal may be applied to the luminance signal. In another embodiment, the interpolation method may be applied only when the size of the sub-block (or coding block) is 8x8, 8x4, or 4x8 or less.
  • each sub-block may share an intra prediction mode.
  • the intra prediction modes of all sub-blocks may have the same value.
  • the intra prediction modes of each sub-block may be different.
  • CBF coded block flag
  • deblocking filtering may not be performed at the boundary of each sub-block. However, since a transform coefficient other than '0' may exist in the fourth sub-block, deblocking filtering may be performed at the boundary between the third sub-block and the fourth sub-block. Alternatively, even if there are no transform coefficients in the first sub-block, the second sub-block, and the third sub-block, if the intra prediction modes are different from each other, deblocking filtering may be performed at the boundary between each sub-block.
  • the size of the block (the size of the width and height) is equal to an arbitrary value, the size of the block (the size of the width and height) is greater than an arbitrary value, or the size of the block (the size of the width and height) Applicable only when is less than any value.
  • Screen Contents may include an image of an electronic document on a computer such as Word or PowerPoint, a virtual reality image, an animation image, a remote connection image, and a screen mirroring image. Such screen content may repeatedly include the same or similar pattern within a picture or between pictures. In an embodiment, a portion most similar to a current block may be found in an already reconstructed region in a current picture, and a block vector related to a distance between the current block may be included in the bitstream and transmitted to the decoder.
  • IBC Intra Block Copy
  • a prediction sample for a current block may be obtained from a reference buffer region that has been undone in a current picture by using the block vector.
  • the current block may be reconstructed using the prediction sample, and in this case, the reference buffer region may be periodically updated.
  • the periodic update of the reference buffer area may be performed before the first coding tree unit of each row of the current picture is decoded.
  • the intra block copy mode may be signaled by being integrated with a general inter-picture encoding mode.
  • the reference picture may be located in a region that has already been encoded among pictures currently being encoded. If all the areas that have already been coded in the current picture are used as reference pictures, the coding efficiency can be improved because the area to be referred to becomes wider, but there is a disadvantage that a lot of memory is used, so it is desirable to use only the reference picture memory of a preset size. Do.
  • the reference picture in the intra block copy mode may be continuously and periodically updated until encoding of the current picture is completed.
  • the process of updating the reference picture may be performed after coding of the current block, the current coding unit, the current coding tree unit, the current tile, and the current tile group is completed.
  • the reference picture update process may be performed before the first coding tree unit of each row of the current picture is encoded. Alternatively, the reference picture update process may be performed after the last CTU of each row of the current picture is encoded.
  • the reference buffer memory may be set to a specific value or an invalid value. Alternatively, in the reference picture update process, the contents of the reference buffer memory may be initialized or disabled.
  • the reference picture in the intra block copy mode may be continuously and periodically updated until decoding of the current picture is completed.
  • This reference picture update process may be performed after decoding of the current block, the current coding unit, the current coding tree unit, the current tile, and the current tile group is completed.
  • the reference picture update process may be performed before the first coding tree unit of each row of the current picture is decoded.
  • the reference picture update process may be performed after the last CTU of each row of the current picture is decoded.
  • a tile group (or slice) is composed of a plurality of tiles, and the horizontal position of each tile is different, but the vertical position may be the same.
  • a tile group may be designated for each row in one picture.
  • a tile group may be designated by N rows in one picture.
  • the current tile group is not included in the reference picture in the intra block copy mode, and only other tile groups may be included in the reference picture in the IBC mode. Accordingly, in the case of the intra block copy mode in the decoder, memory management and implementation may be facilitated because only memory corresponding to a previously defined tile group size is required.
  • the intra block copy mode configures a region already encoded and decoded in the current picture as a reference region, finds a block most similar to the current block in the reference region, and expresses its position information as a vector, Information on the vector can be delivered to the decoder.
  • the decoder may construct a prediction block for the current block by bringing the prediction block for the current block to the reference region using the vector information.
  • the reference region may not be restored normally.
  • the current block encoded in the intra block copy mode may not be normally decoded, and this error may propagate to the next block.
  • the next block may generate a prediction block without referring to the intra block copy block in order to prevent propagation of the error.
  • the block encoded in the intra block copy mode may not be used as a reference pixel of the current block.
  • the block encoded in the intra block copy mode may be configured through an intra prediction method.
  • the intra-block copy mode may further include additional information on the intra-block copy mode to generate a prediction block through the intra-prediction method to generate a prediction block. If no error occurs, the decoder may perform decoding in the intra block copy mode, and may not use the additionally transmitted intra-picture encoding mode.
  • the decoder may not perform decoding in the intra block copy mode, but may construct the current block by performing intra prediction through the additionally transmitted intra-encoding mode.
  • the error information is information used in the intra block copy mode, it may not be used for the current block configured through intra-prediction.
  • the intra-picture encoding mode is not transmitted through a bitstream, but an intra-picture encoding mode derived through a neighboring block is used, or DC, Horizontal , Vertical, Planar, or other directional modes may be arbitrarily selected and used to implicitly generate a prediction block.
  • the intra block copy mode may use a region similar to the current block in the reference region as a prediction block for the current block. This is the same concept as the inter prediction, and the prediction efficiency is higher than that of the intra prediction, and thus there may be little or no error signal when considering the desired image quality.
  • an error signal of a block encoded in the intra block copy mode may not exist under certain conditions, and a target image quality may be achieved without sending an error signal.
  • the decoder may implicitly set that error information does not exist in the luminance signal and the color difference signal for the block encoded in the intra block copy mode, and may not parse information related to the error signal.
  • the “7.3.7.5 Coding unit syntax” part in JVET-N1001-v2 may be modified as shown in FIG. 10.
  • the JVET-N1001-v2 document can be found at http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v2.zip.
  • 11 is an example of a coding unit syntax according to an embodiment of the present invention.
  • cu_cbf information is parsed only when it is not encoded in the intra block copy mode, and in the case of the intra block copy mode, cu_cbf is implicitly set to '0', so that information related to an error signal is not parsed or decoded. Can be avoided.
  • cu_cbf in the case of the intra block copy mode, may be implicitly set to '1' so that information related to an error signal may be parsed or decoded.
  • one of tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr may be implicitly set to '0' to prevent an error signal related to a luminance or color difference signal from being parsed or decoded.
  • tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr information may be parsed only when it is not encoded in the intra block copy mode. Meanwhile, in the case of the intra block copy mode, one of tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr may be implicitly set to '0', so that information related to an error signal is not parsed or decoded.
  • whether to implicitly parse or decode information related to an error signal in the intra block copy mode is determined by the horizontal and vertical size information of a transform block of a current coding unit or a neighboring coding unit, a luminance signal, a color difference signal, an adjacent It can be derived by using at least one of information on intra prediction mode information of a coding unit, information on whether a current coding unit or an adjacent coding unit is a directional mode, a quantization parameter, and information on a coding tree unit boundary. Alternatively, it is possible to induce whether to independently parse or decode information related to the error signal by using one of the information.
  • a method of not implicitly parsing or decoding information related to error signaling in the intra block copy mode may be equally applied to a triangle merge mode, a CIIP mode, and a CCLM mode.
  • the triangle merge mode and the CIIP mode may be performed only when the horizontal x vertical size of the current block is 64 or more.
  • the triangle merge mode and the CIIP mode may be mainly used in a monotonous area such as a background part or an object interior. In the case of a monotonous area, an error signal may be relatively small compared to an object boundary. Therefore, in the case of a block encoded in the triangle merge mode, information related to an error signal may not be implicitly parsed or decoded.
  • cu_cbf information is parsed only when the current block is not encoded in triangle merge mode or CIIP mode, and in case of triangle merge mode or CIIP mode, cu_cbf is implicitly set to '0', and an error signal and You can make sure that related information is not parsed or decrypted.
  • tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr information may be parsed only when it is not encoded in the triangle merge mode or the CIIP mode.
  • tu_cbf_luma, tu_cbf_cb, and tu_cbf_cr is implicitly set to '0', so that information related to an error signal is not parsed or decoded.
  • the CCLM mode is a method of predicting a color difference signal with reference to a luminance signal, thereby increasing prediction efficiency for a color difference signal.
  • Color difference signal whether ISP mode is used, current CU's intra prediction mode information, current CU and adjacent CU's intra prediction mode information, current CU and adjacent CU's directional mode information, reference pixel is picture boundary or other tile It may be derived using at least one or more of information on whether it belongs to, information on intra- and inter-screen encoding modes, quantization parameters, and information on a CTU boundary. Alternatively, it can be derived using one of the above information independently.
  • the size of the block (the size of the width and height) is equal to an arbitrary value, the size of the block (the size of the width and height) is greater than an arbitrary value, or the size of the block (the size of the width and height) Applicable only when is less than any value.

Landscapes

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

Abstract

본 발명은 비디오 신호의 복호화 방법 및 이의 장치에 관한 것이다. 본 발명의 일 실시예에 따른 영상의 복호화 방법은, 현재 코딩 유닛 블록을 적어도 두 개 이상의 서브 블록으로 분할하는 단계; 상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계; 상기 화면 내 예측 모드 정보를 이용하여 상기 각 서브 블록에 대한 화면 내 예측 영상을 생성하는 단계; 상기 화면 내 예측 영상에 선택적으로 필터링을 적용하는 단계; 상기 필터링이 적용된 화면 내 예측 영상을 이용하여 상기 각 서브 블록을 복원하는 단계; 및 상기 복원된 각 서브 블록의 경계에 디블록킹 필터링을 선택적으로 수행하는 단계를 포함한다.

Description

비디오 신호의 부호화 또는 복호화 방법 및 장치
본 발명은 비디오 신호의 부호화 또는 복호화 방법 및 장치에 관한 것으로서, 더욱 상세하게는, 다양한 정보를 이용하여 화면 내 예측 모드를 결정하는 비디오 신호의 부호화 또는 복호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비하여 상대적으로 데이터량이 증가하기 때문에, 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용하여 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위하여 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 블록의 정보를 그대로 전송하지 않고 현재 블록의 주변 블록들의 정보를 이용하여 예측하는 방법을 사용할 수 있으며, 이러한 예측 방법으로는 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 화면간 예측 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 화면내 예측 기술을 사용할 수 있다. 또한, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고, 이러한 영상 압축 기술을 이용하여 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
예측 방법 중 화면간 예측(inter prediction) 방법에서는 다른 픽쳐의 정보를 참조하여 현재 픽쳐(picture)의 픽셀값을 예측하며, 화면내 예측(intra prediction)에서는 동일한 픽쳐 내에서 픽셀 간 연관 관계를 이용하여 픽셀값을 예측한다. 즉, 화면내 예측을 수행하는 경우에는 현재 블록을 부호화하기 위하여 참조 픽쳐를 참조하는 것이 아니라, 부호화하려는 현재 블록과 공간적으로 인접한 픽셀값을 이용하여 현재 블록의 화면내 예측 모드를 결정하여 화면내 예측을 수행할 수 있다.
한편, 고해상도 영상에 대한 수요가 증가함과 함께, 새로운 영상 서비스로서 입체 영상 컨텐츠에 대한 수요도 함께 증가하고 있다. 고해상도 및 초고해상도의 입체 영상 콘텐츠를 효과적으로 제공하기 위한 비디오 압축 기술에 대하여 논의가 진행되고 있다.
본 발명이 해결하고자 하는 과제는 다양한 정보를 이용하여 화면 내 예측 모드를 결정함으로써, 화면 내 예측의 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 화면 내 예측 및 화면 간 예측을 모두 이용함으로써, 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 또다른 과제는 타일 그룹 내의 각 타일의 확률 정보를 확장 공유함으로써, 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 기술적 과제는 현재 코딩 유닛 블록을 적어도 두 개 이상의 서브 블록으로 분할하는 단계; 상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계; 상기 화면 내 예측 모드 정보를 이용하여 상기 각 서브 블록에 대한 화면 내 예측 영상을 생성하는 단계; 상기 화면 내 예측 영상에 선택적으로 필터링을 적용하는 단계; 상기 필터링이 적용된 화면 내 예측 영상을 이용하여 상기 각 서브 블록을 복원하는 단계; 및 상기 복원된 각 서브 블록의 경계에 디블록킹 필터링을 선택적으로 수행하는 단계를 포함하는 영상의 복호화 방법을 제공하는 것이다.
상기 서브 블록으로 분할하는 단계는 상위 코딩 유닛의 분할 정보, 주변 코딩 유닛의 분할 정보, 및 주변 ISP모드의 분할 정보 중에서 적어도 하나 이상을 이용하여 현재 코딩 유닛 블록에 대한 분할을 묵시적으로 수행할 수 있다.
상기 코딩 유닛 블록이 임의의 크기 이하이고 휘도 블록이 4개의 서브 블록으로 분할된 경우, 색차 블록은 2개의 서브 블록으로 묵시적으로 분할될 수 있다.
일 실시예에서, 상기 각 서브 블록의 변환 계수의 존재 여부 및 화면 내 예측 모드 정보를 이용하여 인접한 서브 블록의 경계에서 디블록킹 필터링가 수행되는지 여부를 결정하는 단계를 더 포함할 수 있다.
상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계는, 상기 현재 블록에 대한 화면 내 예측 모드 가용성 정보를 유도하는 단계; 및 상기 화면 내 예측 모드 가용성 정보를 이용하여 상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계를 포함할 수 있다.
상기 화면 내 예측 모드 가용성 정보는 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지를 나타내는 참조 픽셀 위치 정보, 코딩 유닛 크기 정보, 휘도 및 색차 정보, 및 변환 블록 크기 정보 중에서 적어도 하나 이상을 이용하여 유도될 수 있다.
상기 각 서브 블록에 대한 화면 내 예측 영상을 구하는 단계는, 상기 현재 블록의 가로 및 세로 중 적어도 하나 이상의 크기가 임의의 값보다 큰 경우에만 적용될 수 있다.
일 실시예에서, 상기 화면 내 예측 영상에 선택적으로 필터링을 적용하는 단계는, 상기 현재 코딩 유닛의 변환 블록의 가로 또는 세로의 크기가 소정의 값 이상이고, 휘도 신호이며, 현재 블록에 인접한 참조 픽셀로부터 예측된 화면 내 예측 영상인 경우 수행될 수 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는 현재 블록에 대한 블록 벡터를 획득하는 단계; 상기 블록 벡터를 이용하여 현재 픽쳐 내의 기복원된 참조 버퍼 영역에서 상기 현재 블록에 대한 예측 샘플을 획득하는 단계; 상기 예측 샘플을 이용하여 상기 현재 블록을 복원하는 단계; 및 상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계를 포함할 수 있다.
상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계는 상기 현재 픽쳐의 각 행(row)의 제 1 코딩 트리 유닛이 복호화되기 이전에 수행될 수 있고, 상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계는 참조 버퍼 메모리를 소정의 값으로 설정할 수 있다.
본 발명의 일 실시예에 따르면, 그룹핑된 화면 내 예측 정보를 나타내는 화면 내 예측 그룹 정보를 이용함으로써, 화면 내 예측의 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
또한, 본 발명의 다른 실시예에 따르면, 화면 내 예측을 수행한 예측 블록 및 화면 간 예측을 수행한 예측 블록에 가중치평균을 가하여 생성된 예측 블록을 이용함으로써, 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
또한, 본 발명의 또다른 실시예에 따르면, 적어도 하나 이상의 기 전송된 타일 그룹에 대한 확률 정보들을 이용하여 현재 블록의 타일 그룹의 확률 정보를 재설정함으로써, 코딩 효율을 향상시키는 비디오 신호의 복호화 방법 및 이의 장치를 제공하는 것이다.
도 1은 본 발명의 일 실시예에 따른 비디오 신호의 부호화 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 신호의 복호화 장치를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 하나의 픽쳐에 포함되는 적어도 하나 이상의 타일 그룹을 나타내는 것이다.
도 4는 본 발명의 일 실시예에 따른 다중 타입 트리 구조의 예시들을 나타내는 것이다.
도 5는 본 발명의 일 실시예에 따른 다중 타입 트리 구조의 일 예를 나타내는 것이다.
도 6은 본 발명의 일 실시예에 따른 현재 코딩 블록의 화면 내 예측 모드를 나타내는 것이다.
도 7은 본 발명의 일 실시예에 따른 분할 블록의 화면 내 예측 모드를 상이하게 설정하는 신택스를 나타내는 것이다.
도 8은 본 발명의 일 실시예에 따른 현재 코딩 유닛의 묵시적 분할의 일 예를 나타내는 것이다.
도 9는 본 발명의 일 실시예에 따른 비대칭 블록 분할의 예시들을 나타내는 것이다.
도 10은 본 발명의 일 실시예에 따른 서브 블록에 대한 참조 픽셀을 유도하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 변환 유닛 신택스의 일 예이다.
도 12는 본 발명의 일 실시예에 따른 코딩 유닛 신택스의 일 예를 나타내는 것이다.
도 13은 본 발명의 다른 실시예에 따른 변환 유닛 신택스의 일 예를 나타내는 것이다.
도 14는 본 발명의 다른 실시예에 따른 코딩 유닛 신택스의 일 예를 나타내는 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
또한, 도면에서 각 유닛의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장된 것이며, 도면상에서 동일 부호는 동일한 요소를 지칭한다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다 (comprise)" 및/또는 "포함하는 (comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.
본 명세서에서 제 1, 제 2 등의 용어가 다양한 구성요소, 부재, 부품, 영역, 및/또는 부분들을 설명하기 위하여 사용되지만, 이들 구성요소, 부재, 부품, 영역, 및/또는 부분들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 하나의 구성요소, 부재, 부품, 영역 또는 부분을 다른 영역 또는 부분과 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제 1 구성요소, 부재, 부품, 영역 또는 부분은 본 발명의 가르침으로부터 벗어나지 않고서도 제 2 구성요소, 부재, 부품, 영역 또는 부분을 지칭할 수 있다. 또한, 및/또는 용어는 복수의 관련되어 기재되는 항목들의 조합 또는 복수의 관련되어 기재되는 항목들 중의 어느 항목을 포함한다.
어느 구성요소가 다른 구성요소에 "연결되어" 있거나 "접속되어" 있다고 언급되는 경우에는, 상기 다른 구성요소에 직접적으로 연결되어 있거나 접속되어 있는 경우 뿐만 아니라, 상기 어느 구성요소와 상기 다른 구성요소 사이에 다른 구성요소가 존재하는 경우를 포함하여 이해되어야 한다. 그러나, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있거나 "직접 접속되어" 있다고 지칭되는 경우에는, 중간에 다른 구성요소가 존재하지 아니하고 상기 어느 구성요소와 상기 다른 구성요소가 직접 연결 또는 접속된 것으로 이해되어야 할 것이다.
이하, 본 발명의 실시예들은 본 발명의 이상적인 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 부재들의 크기와 형상은 설명의 편의와 명확성을 위하여 과장될 수 있으며, 실제 구현시, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니된다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 나타내는 블록도이다.
도 1을 참조하면, 비디오 신호의 부호화 장치(100)는 픽쳐 분할부(105), 화면간 예측부(110), 화면내 예측부(115), 변환부(120), 양자화부(125), 재정렬부(130), 엔트로피 부호화부(135), 역양자화부(140), 역변환부(145), 필터부(150) 및 메모리(155)를 포함한다.
도 1에 나타난 각 구성요소들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위하여 독립적으로 도시한 것이며, 각 구성요소들이 분리된 하드웨어나 각각 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열하여 포함한 것으로 각 구성요소 중 적어도 두 개의 구성요소가 합쳐져 하나의 구성요소로 이루어지거나, 하나의 구성요소가 복수개의 구성요소로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성요소가 통합된 실시예 또는 분리된 실시예도 본 발명의 본질적인 측면에서 벗어나지 않는 한 본 발명의 권리범위에 포함될 수 있다.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 처리 단위로 분할할 수 있다. 상기 처리 단위는 서브 픽쳐(Sub-Picture)일 수 있고, 타일(tile)일 수 있으며, 슬라이스(slice)일 수 있다. 상기 서브 픽쳐는 입력된 픽쳐를 부분적으로 독립적으로 부호화하여 전송될 수 있다. 상기 슬라이스는 정사각형 모양 뿐만 아니라 직사각형 모양으로 구성될 수 있다.
또한, 상기 슬라이드 또는 타일은 적어도 하나 이상의 코딩 트리 유닛(Coding Tree Unit, 이하 'CTU'라 함)일 수 있으며, 상기 CTU는 쿼트 트리와 멀티타입 트리로 재귀적으로 분할될 수 있다. 일 실시예에서, 상기 CTU는 상기 쿼트 트리 노드의 말단 노드에서 멀티타입 트리로 분할이 시작될 수 있으며, 상기 멀티타입 트리는 이진 분할 형상(Binary Tree, 이하 'BT'라 함) 및 삼단 분할 형상(Ternary Tree, 이하 'TT'라 함)일 수 있다. 분할의 말단 노드는 코팅 유닛(Coding Unit, 이하 'CU'라 함)일 수 있고, 상기 CU 단위로 예측 및 변환이 수행될 수 있다. 다만, 본 명세서에서는 설명의 편의를 위해, 예측 단위를 예측 블록, 부호화 또는 복호화 단위를 부호화 블록 또는 복호화 블록으로 표현할 수도 있다.
일 실시예에서, 픽쳐 분할부(105)는 하나의 픽쳐에 대하여 복수의 부호화 단위, 예측 단위, 및 변환 단위의 조합으로 분할하고, 소정의 기준(예를 들어, 비용 함수)에 기초하여 하나의 부호화 단위, 예측 단위, 및 변환 단위의 조합을 선택하여 픽쳐를 부호화할 수 있다.
예를 들어, 하나의 픽쳐는 복수 개의 부호화 단위로 분할될 수 있다. 일 실시예에서, 하나의 픽쳐는 쿼드 트리 구조(Quad Tree Structure) 또는 멀티타입 트리 구조(Multi-Type Tree)와 같은 재귀적인 트리 구조를 사용하여 상기 부호화 단위를 분할할 수 있으며, 하나의 영상 또는 최대 크기 부호화 단위(largest coding unit)를 루트로 하여 다른 부호화 단위로 분할되는 부호화 단위는 분할된 부호화 단위의 개수만큼의 자식 노드를 가지고 분할될 수 있다. 이러한 과정을 통하여 더 이상 분할되지 아니하는 부호화 단위는 리프 노드가 될 수 있다. 예를 들어, 하나의 부호화 단위에 대하여 정방형 분할만이 가능하다고 가정한 경우에는 하나의 부호화 단위는 최대 4개의 부호화 단위로 분할될 수 있다. 그러나, 본 발명에서는 상기 부호화 단위, 예측 단위 및/또는 변환 단위는 분할 시 대칭 분할에 한정하지 아니하고, 비대칭 분할(Asymmetric Partition)도 가능하며 4개의 분할 뿐만 아니라 2개의 분할도 가능하며, 이러한 분할 개수는 예시적일 뿐 본 발명이 이에 한정되는 것은 아니다.
예측부는 화면간 예측(inter prediction)을 수행하는 화면간 예측부(110) 및 화면내 예측(intra prediction)을 수행하는 화면내 예측부(115)를 포함할 수 있다. 코딩 효율을 높이기 위하여, 영상 신호를 그대로 부호화하는 것이 아니라, 이미 부호화 및 복호화가 완료된 픽쳐 내부의 특정 영역을 이용하여 영상을 예측하고, 원래의 영상과 예측 영상 사이의 레지듀얼 값을 부호화한다. 또한, 예측을 위하여 사용된 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 부호화부(135)에서 부호화되어 복호화부에 전달될 수 있다. 특정한 부호화 모드를 이용하는 경우에는 예측부(110, 115)를 통하여 예측 블록을 생성하지 아니하고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
일 실시예에서, 예측부(110, 115)는 예측 단위에 대하여 화면간 예측을 수행할 것인지 화면내 예측을 수행할 것인지를 결정하고, 화면간 예측 모드, 움직임 벡터, 및 참조 픽쳐와 같은 상기 예측 방법 각각에 따른 구체적인 정보들을 결정할 수 있다. 이 경우, 예측이 수행되는 처리 단위와 예측 방법, 그리고 세부 처리 단위는 각각 다를 수 있다. 예를 들어, 예측 모드와 예측 방법은 예측 단위에 따라 결정되더라도, 예측의 수행은 변환 단위에 따라 수행될 수 있다.
부호화 블록을 부호화하기 위해 예측하는 방법에 따라 다양한 픽쳐 타입 또는 슬라이스 타입이 존재하는데, 구체적으로는 I 픽쳐(I 슬라이스), P 픽쳐(P 슬라이스), B 픽쳐(B 슬라이스) 등이 있다. I 슬라이스는 화면내 예측에 의해서만 부호화 및 복호화되는 슬라이스이고, P 슬라이스는 각 예측 블록의 샘플 값을 예측하기 위하여 하나의 움직임 벡터 및 참조 픽쳐 인덱스를 이용한 화면간 예측을 이용해서 복호화될 수 있는 슬라이스이다. B 슬라이스는 각 블록의 샘플 값을 예측하기 위하여 한 개 또는 두 개의 움직임 벡터들과 움직임 벡터들과 관련된 참조 픽쳐들의 인덱스들을 이용한 화면간 예측을 이용해서 부호화 또는 복호화될 수 있는 슬라이스이다.
예측부(110, 115)는, 픽쳐 분할부(105)에서 분할된 픽쳐의 처리 단위에 대하여 예측을 수행하여 예측된 샘플로 구성되는 예측 블록을 생성할 수 있다. 예측부(110, 115)에서의 픽쳐 처리 단위는 코딩 단위일 수 있다.
화면간 예측부(110)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나 이상의 픽쳐의 정보를 기초로 예측 단위를 예측할 수 있고, 경우에 따라 현재 픽쳐 내의 부호화가 완료된 일부 영역의 정보를 기초로 예측 단위를 예측할 수 있다. 화면간 예측부(110)는 참조 픽쳐 보간부, 움직임 예측부, 및 움직임 보상부를 포함할 수 있다.
일 실시예에서, 화면간 예측부(110)에서 예측을 위하여 이용되는 상기 하나 이상의 픽쳐의 정보는 이미 부호화 및 복호화가 진행된 픽쳐들의 정보일 수 있고, 임의의 방법으로 변형되어 저장된 픽쳐들의 정보일 수 있다. 예를 들어, 상기 임의의 방법으로 변형되어 저장된 픽쳐는 부호화 및 복호화가 진행된 픽쳐를 확대 또는 축소한 픽쳐일 수 있고, 또는 픽쳐 내의 모든 픽셀 값의 밝기를 변형시키거나, 칼라 포맷을 변형시킨 픽쳐일 수도 있다.
또한, 화면 내 예측 및 화면 간 예측이 모두 사용되어 부호화될 수 있다. 이 경우, 화면 내 예측을 수행한 제 1 예측 블록과 움직임 보상을 수행한 제 2 예측 블록을 평균 또는 가중치 평균하여 제 3 예측 블록을 생성할 수 있다. 일 실시예서는, 상기 제 3 예측 블록에 대한 예측 효율을 증가시키기 위해, 저주파 또는 고주파 필터를 통과시킬 수 있다.
상기 제 3 예측 블록에서 각 픽셀의 위치에 따라 필터 사용 여부가 결정될 수 있으며, 상기 사용되는 필터의 강도 또는 세기가 달라질 수 있다. 일 실시예에서, 필터는 현재 블록의 가장자리에서만 적용될 수 있다. 혹은, 필터는 현재 블록의 가장자리를 제외한 나머지 부분에만 적용될 수 있다. 다른 실시예에서는, 상기 제 3 예측 블록의 가로 및/또는 세로 크기에 따라 필터의 사용 여부가 달라질 수 있다. 또한, 상기 제 3 예측 블록의 크기가 임의의 값 이상 또는 이하인 경우에만 필터가 적용될 수 있다.
참조 픽쳐 보간부는 메모리(155)로부터 참조 픽쳐 정보를 제공받아 참조 픽쳐에서 정수 픽셀 이하의 픽셀 정보를 생성할 수 있다. 휘도 픽셀의 경우, 필터의 계수를 달리하는 DCT 기반의 8-탭 보간 필터(DCT-based Interpolation Filter)를 이용하여 1/4 픽셀 단위로 정수 이하의 픽셀 정보를 생성할 수 있다. 색차 신호의 경우에는 필터의 계수를 달리하는 DCT 기반의 4-탭 보간 필터(DCT-based Interpolation Filter)를 이용하여 1/8 픽셀 단위로 정수 이하의 픽셀 정보를 생성할 수 있다. 그러나, 필터의 종류 및 정수 이하의 픽셀 정보를 생성하는 단위는 이에 한정되지는 아니하고, 다양한 보간 필터를 이용하여 정수 이하의 픽셀 정보를 생성하는 단위가 결정될 수 있을 것이다.
움직임 예측부는 상기 참조 픽쳐 보간부에 의하여 보간된 참조 픽쳐를 기초로 하여 움직임 예측을 수행할 수 있다. 움직임 벡터를 산출하기 위하여 다양한 방법이 사용될 수 있다. 움직임 벡터는 보간된 픽셀을 기초로 하여 정수 픽셀 단위 또는 1/2 또는 1/4 픽셀 단위의 움직임 벡터값을 가질 수 있다. 일 실시예에서는, 움직임 예측부에서 움직임 예측 방법을 다르게 하여 현재 블록의 예측 단위를 예측할 수 있다. 상기 움직임 예측 방법은 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법, 및 스킵(Skip) 방법을 포함하여 다양한 방법이 사용될 수 있다. 이와 같이, 화면간 예측부(110)에서 선택된 참조 픽쳐의 인덱스, 움직임 벡터 예측자(MVP), 레지듀얼 신호를 포함하는 정보들은 엔트로피 코딩되어 복호화기로 전송될 수 있다.
화면내 예측부(115)는 화면간 예측과 달리 현재 픽쳐 내의 픽셀 정보인 현재 블록 주변의 참조 픽셀 정보들을 기초로 하여 예측 단위를 생성할 수 있다. 상기 예측 단위의 주변 블록들은 화면간 예측을 수행한 블록인 경우, 즉, 참조 픽셀이 화면간 예측을 수행한 픽셀인 경우에는 화면간 예측을 수행한 블록에 포함되는 참조 픽셀을 주변의 화면내 예측을 수행한 블록의 참조 픽셀 정보로 대체하여 사용할 수 있다. 즉, 상기 참조 픽셀이 가용되지 아니하는 경우(unavailable)에는 가용되지 않는 참조 픽셀을 가용되는 참조 픽셀 중 적어도 하나의 참조 픽셀로 대체하여 사용할 수 있다. 일 실시예에서, 화면내 예측부(115)는 화면내 블록 카피(Intra Block Copy) 방법을 포함하여 다양한 방법이 사용될 수 있다.
또한, 화면내 예측부(115))는 화면내 예측 모드를 부호화하기 위하여 이웃 블록들로부터 획득한 가장 가능성 있는 화면내 예측 모드(MPM: Most Probable Mode)을 이용할 수 있다. 화면내 예측부(115)가 화면내 예측을 수행하는 경우에도 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다.
화면내 예측의 예측 모드는 33개의 방향성 예측 모드 및 적어도 2 개 이상의 비방향성 모드를 포함할 수 있다. 상기 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar Mode)를 포함할 수 있다. 상기 35개의 화면간 예측 모드의 개수는 예시적일 뿐, 본 발명이 이에 한정되는 것은 아니며, 다양한 방법으로 예측하기 위하여 더 많은 방향성 또는 비방향성 모드로 화면내 예측을 수행할 수 있다.
일 실시예에서, 화면내 예측은 참조 픽셀에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이 경우, 상기 참조 픽셀에 필터를 적용할지 여부는 현재 블록의 화면내 예측 모드 및/또는 크기에 따라 결정될 수 있다.
코딩 유닛(CU)은 다양한 사이즈 및 형태로 결정될 수 있다. 예를 들어, 화면간 예측의 경우 코딩 단위는 2N x 2N, 2N x N, N x 2N 또는 N x N와 같은 크기를 가질 수 있다. 화면내 예측의 경우 코딩 단위는 2N x 2N 또는 N x N (N은 정수)와 같은 크기를 가질 수 있으나, 이와 같은 정사각형 크기 뿐만 아니라 직사각형 크기 모양으로도 화면내 예측을 수행할 수 있다. 이 경우, N x N 크기의 코딩 단위는 특정한 경우에만 적용하도록 설정할 수도 있다. 또한, 상술한 크기의 코딩 단위 이외에도, N x mN, mN x N, 2N x mN 또는 mN x 2N (m은 분수 또는 정수임) 와 같은 크기를 갖는 화면내 예측 단위를 더 정의하여 사용할 수도 있다.
화면내 예측부(115)에서 생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(120)에 입력될 수 있다. 또한, 예측을 위하여 사용되는 예측 모드 정보, 보간 필터 정보 등은 레지듀얼 값과 함께 엔트로피 부호화부(135)에서 부호화되어 복호화기로 전달될 수 있다. 또한, 일반적으로 화면내 예측시 현재 블록의 이웃 블록들의 위치에 상관없이 적어도 하나 이상의 필터를 이용하여 현재 블록의 이웃 블록들을 스무딩시킬 수 있다.
변환부(120)는 변환 단위로 원본 블록과 예측부(110, 115)를 통하여 생성된 예측 단위의 레지듀얼 값 정보를 포함하는 레지듀얼 블록을 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen Loeve Transform)과 같은 변환 방법을 이용하여 변환시킬 수 있다. 레지듀얼 블록을 변환하기 위하여 DCT, DST 또는 KLT 를 적용할지는 레지듀얼 블록을 생성하기 위하여 사용된 예측 단위의 화면내 예측 모드 정보를 기초로 결정할 수 있다.
변환 과정은 블록의 영상 특성에 따라 수행되지 아니할 수도 있다. 만일 주파수 변환이 수행되지 아니하는 경우, 양자화와 엔트로피 부호화 과정에서 보다 효율적으로 부호화되기 위해, 블록 내 픽셀의 위치를 서로 변경하는 과정이 수행될 수 있으며, 이는 스캐닝 과정에서 보다 효율적으로 부호화되기 위한 전처리 과정일 수 있다.
또한, 변환부(120)에서 변환이 수행되지 아니하는 경우, 스케일링 팩터는 변환 계수의 위치에 상관없이 고정된 상수 값을 가질 수 있으며, 예를 들어, 16 의 값을 스케일링 팩터로 가질 수 있다. 스케일링 팩터는 미리 정의되어 있는 값으로 부호화기와 복호화기가 동일하게 공유하고 있다. 일 실시예에서, 상기 스케일링 팩터는 사용자에 의해 임의의 값으로 생성될 수 있으며, 이는 비트스트림에 포함되어 디코더로 전달될 수 있다. 또한, 디코더는 비트스트림으로부터 상기 사용자가 생성한 스케일링 팩터 값을 디코딩하여 역양자화 시 사용할 수 있다.
양자화부(125)는 변환부(120)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 일 실시예에서, 상기 변환된 레지듀얼 값들은 주파수 영역으로 변환된 값일 수 있다. 상기 양자화 계수는 변환 단위에 따라 또는 영상의 중요도에 따라 변경될 수 있으며, 양자화부(125)에서 산출된 값은 역양자화부(140) 및 재정렬부(130)에 제공될 수 있다.
양자화 과정은 블록의 영상 특성에 따라 수행되지 아니할 수 있으며, 이 경우 변환 계수를 그대로 출력할 수 있다. 만약 변환부(120) 및 양자화부(125)에서 변환과 양자화가 모두 수행되지 아니하는 경우, 차분 블록은 그대로 엔트로피 부호화될 수 있다. 이후 엔트로피 부호화부(1350)에서는 양자화된 변환 계수를 확률 분포를 이용하여 산술 부호화하여 비트스트림으로 출력할 수 있다.
확률 분포는 현재 블록의 주변 블록으로부터 획득될 수 있다. 현재 부호화된 블록(또는 픽쳐)은 다음 블록을 부호화하는데 있어서 참조 블록(또는 픽쳐)으로 사용된다. 여기서 참조 블록은 원본 블록이 아닌 복호화된 블록이다. 부호화된 블록은 디코더에서와 동일한 과정을 통해 복호화되어 참조 블록으로 출력된다. 즉, 인코더에서는 디코더와 동일한 참조 블록을 얻기 위해, 부호화된 블록은 다시 복호화되어 참조 픽쳐 버퍼에 저장된다.
재정렬부(130)는 양자화부(125)로부터 제공된 양자화 계수를 재정렬할 수 있다. 재정렬부(130)는 상기 양자화 계수를 재정렬함으로써 엔트로피 부호화부(135)에서의 부호화 효율을 향상시킬 수 있다. 재정렬부(130)는 계수 스캐닝(Coefficient Scanning) 방법을 통하여 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 상기 계수 스캐닝 방법은 변환 단위의 크기 및 화면내 예측 모드에 따라 어떠한 스캔 방법이 사용될지 여부가 결정될 수 있다. 상기 계수 스캐닝 방법은 지그-재그 스캔, 2차원의 블록 형태의 계수를 열 방향으로 스캔하는 수직 스캔, 및 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔을 포함할 수 있다. 일 실시예에서, 재정렬부(130)는 양자화부에서 전송되는 계수들의 확률적인 통계를 기반으로 계수 스캐닝의 순서를 변경함으로써 엔트로피 부호화부(135)에서의 엔트로피 부호화 효율을 높일 수도 있다.
엔트로피 부호화부(135)는 재정렬부(130)에 의하여 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Content-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 이용할 수 있다.
엔트로피 부호화부(135)는 재정렬부(130) 및 예측부(110, 115)로부터 전달받은 코딩 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽쳐 정보, 블록의 보간 정보, 필터링 정보와 같은 다양한 정보를 부호화할 수 있다. 또한, 일 실시예에서 엔트로피 부호화부(135)는 필요한 경우에, 전송하는 파라미터 셋 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(140)는 양자화부(125)에서 양자화된 값들을 역양자화하고, 역변환부(145)는 역양자화부(140)에서 역양자화된 값들을 역변환한다. 역양자화부(140) 및 역변환부(145)에서 생성된 레지듀얼 값은 예측부(110,115)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
상기 복원 영상은 필터부(150)에 입력될 수 있다. 필터부(150)는 디블록킹 필터부, 오프셋 보정부(Sample Adaptive Offset, SAO), 및 적응적 루프 필터부(Adaptive Loop Filter, ALF)를 포함할 수 있으며, 요약하자면, 상기 복원 영상는 디블록킹 필터부에서 디블록킹 필터가 적용되어 블록킹 잡음(blocking artifact)를 감소 또는 제거 시킨 후, 오프셋 보정부에 입력되어 오프셋을 보정시킬 수 있다. 상기 오프셋 보정부에서 출력된 픽쳐는 상기 적응적 루프 필터부에 입력되어 ALF(Adaptive Loop Filter) 필터를 통과하며, 상기 필터를 통과한 픽쳐는 메모리(155)로 전송될 수 있다.
필터부(150)에 대하여 구체적으로 설명하면, 상기 디블록킹 필터부는 복원된 픽쳐에서 블록 간의 경계에 생성된 블록 내의 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해서는 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터를 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우, 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한, 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.
오프셋 보정부는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽쳐에 대한 오프셋을 보정하기 위하여 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후, 오프셋 보정을 수행할 영역을 결정하고, 해당 영역에 오프셋을 적용하는 방법(Band Offset) 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법(Edge Offset)의 형태로 적용될 수 있다. 그러나, 일 실시예에서 화면간 예측에 사용되는 복원 블록에 대하여는 필터부(150)에서 필터링을 적용하지 아니할 수 있다.
적응적 루프 필터부(Adaptive Loop Filter, ALF)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로, 고효율을 적용하는 경우에만 수행될 수 있다. 영상에 포함된 픽셀을 소정의 그룹으로 나눈 후, 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. 상기 ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF 필터의 모양 및 필터 계수는 달라질 수 있다. 또한, 적용 대상 블록의 특성에 관계없이 동일한 형태(고정된 형태)의 ALF 필터가 적용될 수도 있다.
메모리(155)는 필터부(150)을 통하여 산출된 복원 블록 또는 픽쳐를 저장할 수 있다. 메모리(155)에 저장된 복원 블록 또는 픽쳐는 화면간 예측을 수행하는 화면간 예측부(110) 또는 화면내 예측부(115)에 제공될 수 있다. 화면내 예측부(115)에서 사용되는 복원 블록들의 화소값은 디블록킹 필터부, 오프셋 보정부, 및 적응적 루프 필터부가 적용되지 아니한 데이터들 일 수 있다.
도 2는 본 발명의 일 실시예에 따른 비디오 신호의 복호화 장치를 개략적으로 나타낸 블록도이다. 도 2 를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 화면간 예측부(230), 화면내 예측부(235), 필터부(240), 메모리(245)를 포함한다.
영상 부호화 장치로부터 영상 비트스트림이 입력되는 경우, 입력된 비트스트림은 부호화 장치에서 영상 정보가 처리된 절차의 역과정으로 복호화될 수 있다. 예를 들어, 영상 부호화 장치에서 엔트로피 부호화를 수행하기 위하여 CAVLC와 같은 가변 길이 부호화(Variable Length Coding: VLC, 이하 'VLC'라 함)가 사용된 경우에는, 엔트로피 복호화부(210)도 부호화 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 복호화를 수행할 수 있다. 또한, 부호화 장치에서 엔트로피 부호화를 수행하기 위하여 CABAC을 이용한 경우에는 엔트로피 복호화부(210)에서 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.
엔트로피 복호화부(210)에서는 복호화된 정보 중 예측 블록을 생성하기 위한 정보를 화면간 예측부(230) 및 화면내 예측부(235)로 제공하고, 엔트로피 복호화부에서 엔트로피 복호화가 수행된 레지듀얼 값은 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재졍럴부(215)는 부호화 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 부호화 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통하여 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다. 역변환부(225)는 영상 부호화 장치에서 수행된 양자화 결과에 대하여, 부호화 장치의 변환부가 수행한 DCT, DST, 또는 KLT 에 대해 역DCT, 역DST, 또는 역KLT를 수행할 수 있다. 역변환은 부호화 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서는 예측 방법, 현재 블록의 크기 및 예측 방향과 같은 정보에 따라 DCT, DST, 또는 KLT를 선택적으로 수행할 수 있고, 복호화 장치의 역변환부(225)는 부호화 장치의 변환부에서 수행된 변환 정보를 기초로 역변환 방법이 결정되어 역변환을 수행할 수 있다.
일 실시예에서, 역양자화가 수행되지 아니하는 경우, 양자화된 변환 계수는 그대로 변환 계수로서 출력될 수 있다. 이 경우, 부호화기에서 스캐닝 과정의 효율화로 인해 변환 계수의 위치가 변경되었다면 다시 원래대로 복원된 후 출력될 수 있다. 또한, 역변환부(225)는 변환 계수에 역변환을 수행하여 차분 블록을 출력할 수 있다. 만일 역변환이 수행되지 아니하는 경우, 변환 계수는 그대로 차분 블록이 될 수 있다.
예측부(230, 235)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성과 관련된 정보와 메모리(245)에서 제공된 이전에 복호화된 블록 및/또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(230, 235)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용하여 생성될 수 있다. 예측부(230, 235)에서 수행하는 구체적인 예측의 방법은 부호화 장치의 예측부(110, 115)에서 수행되는 예측의 방법과 동일할 수 있다.
예측부(230, 235)는 예측 단위 판별부(미도시), 화면간 예측부(230), 및 화면내 예측부(235)를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부(210)에서 입력되는 예측 단위 정보, 화면내 예측 방법의 예측 모드 정보, 화면간 예측 방법의 움직임 예측 관련 정보와 같은 다양한 정보를 입력 받아, 현재 부호화 단위에서의 예측 단위를 구분하고, 예측 단위가 화면간 예측을 수행하는지 아니면 화면내 예측을 수행하는지 여부를 판별할 수 있다.
화면간 예측부(230)는 영상 부호화기에서 제공된 현재 예측 단위의 화면간 예측에 필요한 정보를 이용하여 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 화면간 예측을 수행할 수 있다.
구체적으로 화면간 예측에서는 현재 블록에 대하여, 참조 픽쳐를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 이 때, 참조 픽쳐의 정보를 이용하기 위하여, 현재 픽쳐의 주변 블록들의 정보를 이용할 수 있다. 예를 들어, 스킵(skip) 모드, 머지(merge) 모드, 및 AMVP(Advanced Motion Vector Prediction)와 같은 방법을 이용하여 주변 블록의 정보에 기반하여 현재 블록에 대한 예측 블록을 생성할 수 있다.
예측 블록은 1/2 픽셀 샘플 단위와 1/4 픽셀 샘플 단위와 같이 정수 이하의 샘플 단위로 생성될 수 있다. 이 경우, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다. 예를 들어, 휘도 픽셀에 대해서는 1/4 픽셀 단위로, 색차 픽셀에 대하여는 1/8 픽셀 단위로 표현될 수 있다.
현재 블록의 화면간 예측에 필요한 움직임 벡터 및 참조 픽쳐 인덱스를 포함하는 움직임 정보는 부호화 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
화면내 예측부(235)는 현재 픽쳐 내의 픽셀 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 화면내 예측을 수행한 예측 단위인 경우에는 영상 부호화기에서 제공된 예측 단위의 화면내 예측 모드 정보를 기초로 화면내 예측을 수행할 수 있다. 일 실시예에서, 화면내 예측부(235)는 화면간 블록 카피(Intra Block Copy) 방법을 포함하여 다양한 방법이 사용될 수 있다.
화면내 예측부(235)는 화면내 예측 모드를 부호화하기 위하여 이웃 블록들로부터 획득한 가장 가능성 있는 화면내 예측 모드(MPM: Most Probable Mode)을 이용할 수 있다. 일 실시예에서, 상기 가장 가능성 있는 화면내 예측 모드는 현재 블록의 공간적 이웃 블록의 화면내 예측 모드를 이용할 수 있다. 그러나, 현재 블록을 더욱 원본 블록과 유사하게 예측하기 위하여는 상기 현재 블록의 화면내 예측 모드를 결정하기 위하여 더 많은 가장 가능성 있는 화면내 예측 모드들을 이용할 필요가 있다. 그러므로, 상기 방법 이외에도 현재 블록의 가장 가능성 있는 화면내 예측 모드 리스트를 구성하기 위하여, 다음과 같은 방법이 이용될 수 있다.
일 실시예에서, 현재 블록의 화면내 예측 모드를 부호화하기 위하여 6개의 가장 가능성 있는 화면내 예측 모드를 이용할 수 있다. 상기 가장 가능성 있는 화면내 예측 모드 획득을 위하여 이용되는 이웃 블록들은 현재 블록의 좌측 상측 블록, 상측 블록, 상측 우측 블록, 좌측 블록, 및 좌측 하측 블록일 수 있다.
예를 들면, 상기 다섯 개의 이웃 블록들을 스캔하며 상기 이웃 블록들의 화면내 예측 모드를 가장 가능성 있는 화면내 예측 모드 리스트에 할당할 수 있다. 이 경우, 상기 다섯 개의 이웃 블록들로부터 화면내 예측 모드 이외에 플라나 모드 및 DC 모드를 가장 가능성 있는 화면내 예측 모드 리스트에 할당할 수 있다. 또한, 중복되는 가장 가능성 있는 화면내 예측 모드는 리스트에 중복하여 할당하지 아니한다.
상기 가장 가능성 있는 화면내 예측 모드 리스트를 설정하는 방법에서, 상기 가장 가능성 있는 화면내 예측 모드를 획득하는 이웃 블록의 개수 및 위치, 그리고 상기 이웃 블록을 스캔하는 방법은 기설정 되어 있다. 그러나, 현재 블록을 원본 블록에 더 유사하도록 예측하기 위하여는 다양한 방법으로 이웃 블록으로부터 가장 가능성 있는 화면내 예측 모드를 획득할 필요가 있다.
일 실시예에서, 화면내 예측부(235)에서 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예를 들어, 예측 단위로 예측 모드가 정해져 예측 단위로 예측이 수행될 수 있고, 예측 단위로 예측 모드가 정해지고 변환 단위로 화면내 예측이 수행될 수도 있다.
화면내 예측부(235)에는 AIS(Adaptive Intra Smoothing) 필터부, 참조 픽셀 보간부, DC 필터부를 포함할 수 있다. 상기 AIS 필터부는 현재 블록의 참조 픽셀에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 영상 부호화기에서 제공된 예측 단위의 예측 모드 및 AIS 필터 정보를 이용하여 현재 블록의 참조 픽셀에 AIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 아니하는 모드인 경우에는, 상기 AIS 필터부는 현재 블록에 적용되지 아니할 수 있다.
참조 픽셀 보간부는 예측 단위의 예측 모드가 참조 픽셀을 보간한 픽셀값을 기초로 화면내 예측을 수행하는 예측 단위인 경우에, 참조 픽셀을 보간하여 정수값 이하의 픽셀 단위의 참조 픽셀을 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 픽셀을 보간하지 아니하고 예측 블록을 생성하는 예측 모드인 경우, 참조 픽셀은 보간되지 아니할 수 있다. DC 필터부는 현재 블록의 예측 모드가 DC 모드인 경우에 필터링을 통하여 예측 블록을 생성할 수 있다.
또한, 일반적으로 화면내 예측시 현재 블록의 이웃 블록들의 위치에 상관없이 하나의 필터를 이용하여 현재 블록의 이웃 블록들을 스무딩시킨다. 그러나, 본 발명의 일 실시예에 따르면, 화면내 예측부(235)는 적어도 하나 이상의 스무딩 필터를 이용하여 현재 블록의 이웃 블록들을 스무딩시킬 수 있다.
또한, 현재 블록이 화면내 예측 및 화면간 예측을 모두 이용하여 부호화 되었다면, 화면내 예측을 수행한 제 1 예측 블록과 움직임 보상을 수행한 제 2 예측 블록을 평균 또는 가중치 평균하여 제 3 예측 블록을 생성할 수 있다. 이 경우, 상기 제 3 예측 블록에 대한 예측 효율을 증가시키기 위하여, 저주파 또는 고주파 필터를 통과시킬 수 있다. 또한, 상기 제 3 예측 블록에서 각 픽셀의 위치에 따라 필터 사용 여부가 달라지거나 필터의 강도 또는 세기가 달라질 수 있다.
일 실시예에서, 상기 필터는 현재 블록의 가장자리에만 적용될 수 있다. 또는, 상기 필터는 현재 블록의 가장자리를 제외한 나머지 부분에만 적용될 수 있다. 또한, 상기 제 3 예측 블록의 가로 및/또는 세로의 크기에 따라 필터 사용 여부가 달라질 수 있으며, 상기 제 3 예측 블록의 크기가 임의의 값 T 이상 또는 이하인 경우에만 필터가 적용될 수 있다.
복원된 블록 및/또는 픽쳐는 필터부(240)로 제공될 수 있다. 필터부(240)는 복원된 블록 및/또는 픽쳐에 디블록킹 필터부, 오프셋 보정부(Sample Adaptive Offset) 및/또는 적응적 루프 필터부를 포함할 수 있다. 상기 디블록킹 필터부는 영상 부호화기로부터 해당 블록 또는 픽쳐에 디블록킹 필터가 적용되었는지 여부를 나타내는 정보 및 디블록킹 필터가 적용된 경우 강한 필터 또는 약한 필터를 적용하였는지를 나타내는 정보를 제공받을 수 있다. 상기 디블록킹 필터부는 영상 부호화기에서 제공된 디블록킹 필터 관련 정보를 제공받고, 영상 복호화기에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다.
상기 오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값 정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다. 상기 적응적 루프 필터부는 부호화기로부터 제공된 적응적 루프 필터의 적용 여부에 관한 정보, 적응적 루프 필터의 계수 정보와 같은 정보들을 기초로 부호화 단위로 적용될 수 있다. 상기 적응적 루프 필터와 관련된 정보들은 특정 파라미터 셋(parameter set)에 포함되어 제공될 수 있다.
메모리(245)는 복원된 픽쳐 또는 블록을 저장하여 이후에 참조 픽쳐 또는 참조 블록으로 사용할 수 있고, 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
본 명세서에서는 설명의 편의를 위하여 생략하였지만, 복호화 장치에 입력되는 비트스트림은 파싱(parsing) 단계를 거쳐 엔트로피 복호화부로 입력될 수 있다. 또한, 엔트로피 복호화부에서 파싱 과정을 수행하도록 할 수 있다.
본 명세서에서 코딩은 경우에 따라 부호화 또는 복호화로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements), 플래그(flag) 등을 모두 포함하는 것으로 이해될 수 있다. '화면' 또는 '픽쳐(picture)'는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, '슬라이스(slice)', '프레임(frame)' 등은 실제 비디오 신호의 코딩에 있어서 픽쳐의 일부를 구성하는 단위이며, 필요에 따라서는 픽쳐와 서로 혼용되어 사용될 수 있다.
'픽셀(pixel)', '픽셀' 또는 'pel'은 하나의 영상을 구성하는 최소의 단위를 나타낸다. 또한, 특정한 픽셀의 값을 나타내는 용어로서, '샘플(sample)'을 사용할 수 있다. 샘플은 휘도(Luma) 및 색차(Chroma) 성분으로 나누어질 수 있으나, 일반적으로는 이를 모두 포함하는 용어로 사용될 수 있다. 상기에서 색차 성분은 정해진 색상들 간의 차이를 나타내는 것으로 일반적으로 Cb 및 Cr로 구성된다.
'유닛(unit)'은 상술한 부호화 유닛, 예측 유닛, 변환 유닛과 같이 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하며, 경우에 따라서는 '블록' 또는 '영역(area)'등의 용어와 서로 혼용하여 사용될 수 있다. 또한, 블록은 M개의 열과 N개의 행으로 구성된 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타내는 용어로 사용될 수도 있다.
3840x2160 의 해상도(resolution)를 가지는 고해상도 영상은 이웃하는 샘플(neighboring samples) 간의 공간적인 상관성이 매우 높기 때문에, 크기가 큰 블록 단위로 처리 시 압축 효율을 높일 수 있다. 다시 말해, 크기가 큰 블록으로 예측, 변환, 양자화, 엔트로피 코딩을 수행했을 때, 계산 복잡도(computational complexity)를 감소시키고 energy compaction을 높이고 양자화 에러를 감소시키는데 도움이 될 수 있다. 1280x720 이하의 해상도를 가지는 저해상도 영상의 경우는 고해상도 영상보다 공간적인 상관성이 낮기 때문에, 크기가 작은 블록단위로 처리하는 것이 압축 효율에 도움이 될 수 있다.
따라서, 영상의 해상도에 따라 파티셔닝(partitioning)되는 기본 단위 블록의 크기가 달라질 수 있다. 고해상도 영상에서는 크기가 큰 블록 단위가 선택되고, 저해상도 영상에서는 크기가 작은 블록 단위가 선택될 수 있다. 부호화기에서는 영상의 해상도뿐만 아니라 영상의 특성(공간적인 상관성, 빠른 움직임, 캡쳐되는 프레임율 등), 영상의 종류(자연 영상, 2D/3D 애니메이션, 문서 또는 PPT 이미지가 포함된 screen contents 영상, 3D 영상에서 사용되는 depth map, VR 카메라로 캡쳐되는 영상, VR/AR이 혼합된 영상 등)에 따라 적응적으로 기본 블록의 크기가 결정될 수 있으며, 이러한 기본 블록 크기 정보를 비트스트림에 포함되어 복호화기로 전송될 수 있다.
일 실시예에서, 복호화기는 기본 블록 크기 정보를 파싱하여, 처리되는 기본 단위 블록의 크기를 설정할 수 있다. 예를 들어, 기본 단위 블록의 크기는 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4 등와 같이 정사각형 형태일 수 있으며, 256x128, 128x256, 256x64, 64x256, …, 128x64, 64x128, 128x32, …등과 같이 직사각형 형태일 수 있다.
또한, 픽쳐는 타일 그룹과 타일로 나누어질 수 있다. 하나의 타일 그룹은 레스터 스캔 순서로 연속된 타일들의 집합이다. 하나의 타일은 레스터 스캔 순서로 연속된 코딩 트리 유닛(CTU)의 집합이다.
도 3은 본 발명의 일 실시예에 따른 하나의 픽쳐에 포함되는 적어도 하나 이상의 타일 그룹을 나타내는 것이다.
도 3을 참조하면, 하나의 픽쳐(10)는 적어도 하나 이상의 타일 그룹(11, 12, 13)을 포함할 수 있으며, 상기 타일 그룹(11, 12, 13)은 적어도 하나 이상의 타일들(11a, 11b, ..., 13e)을 포함할 수 있다.
픽쳐(10)는 가로 방향으로 18개의 CTU를 포함하고, 세로 방향으로는 12개의 CTU를 포함할 수 있다. 각 타일(11a, ..., 13e)은 서로 독립적으로 부호화되므로, 각 타일들은 병렬적으로 부호화가 가능하다. 하지만, 서로 다른 타일 간의 부호화 정보를 사용할 수 없으므로, 부호화 효율은 낮아질 수 있다.
타일 그룹(11, 12, 13)은 래스터 스캔 순서로 연속된 타일들(11a, ..., 13e)의 집합을 나타낼 수 있으나, 타일들의 스캔 순서는 이에 한정되지 아니하며, 일 실시예에서, 타일 그룹(11, 12, 13)은 임의의 스캔 순서로 연속된 타일들을 그룹화하여 구성될 수 있다. 이 경우, 결정된 임의의 스캔 순서를 나타내는 정보는 비트스트림에 포함되어 복호화기로 전송될 수 있다. 복호화기는 전송된 스캔 순서를 파싱하여, 타일 그룹의 타일 스캔 순서를 확인하여 복호화할 수 있다.
타일(11a, ..., 13e)은 독립적으로 부호화되므로 병렬적으로 처리 가능한 장점 및 부호화 효율이 낮아진다는 장점을 가질 수 있다. 복호화기에서 병렬화 장점을 유지하면서 부호화 효율에 대한 단점을 최소화하기 위해, 타일(11a, ..., 13e)이 최종적으로 부호화된 후의 최소 하나 이상의 syntax 확률정보(CABAC에서 최소 하나 이상의 신택스에 대한 확률 context 값) 및 비트스트림에서 복호화 시작 위치 정보 중에서 최소 하나 이상을 비트스트림에 포함시켜서 복호화기로 전송할 수 있다.
복호화기는 상기 전송된 확률 정보를 파싱하여, 해당 타일(11a, ..., 13e)에 대한 확률 정보를 재설정(update)한 후, 타일에 대한 복호화를 수행할 수 있다. 만일 전송되지 않은 신택스에 대한 확률 정보는 미리 정한 임의의 값으로 초기화되거나 재설정(update) 될 수 있다. 다시 말해, 각 신택스에 대한 CABAC 확률 정보가 비트스트림으로 전달되므로, 각 타일들(11a, ..., 13e)은 병렬적으로 복호화될 수 있다.
이는 타일(11a, ..., 13e)마다 적용할 수 있으며, 또는 타일 그룹(11, 12, 13)마다 적용할 수 있다. 타일 그룹(11, 12, 13)별로 적용하는 경우, 타일 그룹(11)의 맨 처음 디코딩될 타일(11a)에 대한 확률 정보는 비트스트림으로부터 얻어와서 재설정할 수 있다.
부호화기 및 복호화기는 다양한 상황에 대한 신택스 확률 정보를 테이블 형태로 가지고 있을 수 있다. 상기 테이블 형태로 신택스 확률 정보를 가지고 있는 경우, 부호화기는 상기 신택스 확률 정보를 비트스트림에 포함시키지 아니하고 상기 테이블의 인덱스 번호만을 비트스트림에 포함시켜 복호화기로 전송할 수 있다. 복호화기는 상기 전송된 비트스트림에 포함된 테이블의 인덱스 번호를 파싱하여, 상기 신택스 확률 정보를 재설정할 수 있다.
타일 그룹(11, 12, 13) 내의 각 타일들(11a, 쪋, 13e)은 서로 확률 정보를 공유하여 사용할 수 있다. 일 실시예에서, 타일 그룹(11, 12, 13) 내의 모든 또는 임의의 타일들은 비트스트림으로부터 전달된 타일 그룹에 대한 확률정보를 사용하여 확률 정보를 재설정(update)할 수 있다. 이 경우, 타일 그룹내의 모든 또는 임의의 타일들은 서로 동일한 확률 정보를 사용하여 CABAC 디코딩을 수행할 수 있다. 그러므로, 하나의 영상이 완만한 특성을 갖는 부분과 복잡한 특성을 갖는 부분을 모두 포함하고 있는 경우 상기 특성이 유사한 부분이 하나의 타일 그룹을 구성하므로, 상기 타일 그룹을 구성하는 타일이 동일한 확률 정보를 공유함으로써 부호화 효율이 향상될 수 있다.
한편, 하나의 CTU(Coding Tree Unit)는 3개의 CTB(Coding Tree Block: Y, Cb, Cr), 각 CTB와 연관된 코딩 트리 신택스를 포함할 수 있다. 하나의 CTU는 여러 개의 CU(Coding Unit)로 분할될 수 있다. 하나의 CU는 3개의 CB(Coding Block), 각 CB와 연관된 코딩 신택스, 연관된 변환 블록(Transform Unit, 이하 'TU'라 함)을 포함할 수 있다. 하나의 TU는 3개의 변환 블록(Transform Block, 이하 'TB'라 함), 각 TB와 연관된 변환 신택스를 포함할 수 있다.
일 실시예에서, 4:2:0 색차 샘플링 포맷에서 휘도 CTB의 크기가 2M x 2N인 경우, 색차 CTB의 크기는 2M-1 x 2N-1 일 수 있다. 다른 실시예에서, 4:2:2 색차 샘플링 포맷에서 휘도 CTB의 크기가 2M x 2N인 경우, 색차 CTB의 크기는 2M-1 x 2N 또는 2M x 2N-1 일 수 있다. 또 다른 실시예에서, 4:4:4 색차 샘플링 포맷에서 휘도 CTB의 크기가 2M x 2N인 경우, 색차 CTB의 크기는 2M x 2N 일 수 있다. 여기서, M과 N은 동일한 값일 수 있으며, 또는 M과 N은 다른 값일 수 있다.
하나의 CU는 정사각형 또는 직사각형 형태일 수 있다. 우선, 하나의 CTU(최상위 CU)는 4분할 트리 구조를 사용하여 가로 세로가 동일한 크기를 가지는 4개의 정사각형으로 분할될 수 있다. 그리고 4개로 분할된 각각의 4분할 트리 리프 노드들은 각각 다중 타입 트리 구조를 사용하여 다시 2개 또는 3개로 분할될 수 있다. 이하 도 4에서는 이러한 다중 타입 트리 구조에서 4가지 분할 형태를 도시하였다.
도 4는 본 발명의 일 실시예에 따른 다중 타입 트리 구조의 예시들을 나타내는 것이다.
이때, 하나의 다중 타입 트리 리프 노드는 하나의 CU가 될 수 있다. 만일 CU의 크기가 최대 변환크기보다 크지 않다면, 더 이상 분할되지 않을 수 있고 그 CU 단위로 예측 및 변환 과정이 수행될 수 있다. 일 실시예에서, 다중 타입 트리 구조에서 CU, PU, TU는 같은 블록 크기를 가질 수 있다. 도 4를 참조하면, 만일 CB의 가로 또는 세로 크기가 TB의 최대 가로 또는 세로 크기보다 크다면, 상기 CB는 TB의 최대 가로 또는 세로 크기와 동일해질 때까지 묵시적으로 수평 또는 수직 방향으로 분할될 수 있다.
도 5는 본 발명의 일 실시예에 따른 다중 트리 타입 구조의 일 예를 나타내는 것이다.
도 5를 참조하면, 굵은 실선은 4 분할 트리 구조를 사용하여 분할된 경우를 나타내며, 얇은 실선은 다중 타입 트리 구조를 사용하여 분할된 경우를 나타낸다. 4 분할 트리 구조에서 4개로 분할된 각각의 4 분할 트리 리프 노드들은 다시 4분할 트리 구조를 사용하여 재귀적으로 분할될 수 있으며, 또는 다중 타입 트리 구조를 사용하여 분할될 수 있다. 다중 타입 트리 구조에서 2 개 또는 3 개로 분할된 다중 타입 트리 리프 노드들은 다시 다중 타입 트리 구조를 사용하여 재귀적으로 분할될 수 있다. 단, 다중 타입 트리 리프 노드에서 4 분할 트리 구조로의 분할은 허용되지 않는다.
만일 다중 타입 트리 리프 노드에서 블록의 가로 및 세로 크기가 동일하거나, 또는 그 크기가 2 나 4의 배수로 표현되는 경우, 해당 다중 타입 트리 노드의 블록들은 4 분할 트리 구조를 사용하여 분할될 수 있다. 이 때, 4 분할 트리 구조를 사용하여 분할된 4개의 4분할 트리 리프 노드들은 다시 4 분할 트리 구조를 사용하여 재귀적으로 분할될 수 있으며, 또는 다중 타입 트리 구조를 사용하여 분할 될 수 있다. 다중 타입 트리 리프 노드에서 4분할 트리 구조로의 분할은 블록의 가로 세로 크기가 임의의 값인 경우(또는 임의의 값 이상, 또는 임의의 값 이하)에만 적용될 수 있다.
일반적으로 변환 유닛의 분할은 코딩 유닛의 분할에 의존적일 수 있다. 일 실시예에서, 상기 코딩 유닛의 분할이 재귀적으로 수행되어 최하위 코딩 유닛 단위가 결정되는 경우, 상기 최하위 코딩 유닛에서 다시 변환 유닛의 분할이 재귀적으로 수행될 수 있다. 상기 최하위 코딩 유닛은 예측을 수행하며 상기 예측에 의하여 발생된 오차 신호에 대하여만 변환 유닛 분할이 수행됨으로써 변환 및 양자화 과정이 수행될 수 있다.
변환 유닛에 대한 분할은 최하위 코딩 유닛에서만 이루어지므로, 변환 유닛의 프로세스는 코딩 유닛의 프로세스에 의존적으로 수행될 수 있다. 또한, 각 코딩 유닛별로 변환 유닛의 분할에 대한 정보, 잔여 신호가 있는지 여부에 대한 정보, 및 변환과 양자화에 관련된 정보가 비트스트림에 포함될 수 있으므로, 부호화되는 비트량은 증가될 수 있다. 그러므로, 변환 유닛의 처리 과정에서의 유연성 및 부호화 효율을 증가시키기 위하여, 복수 개의 코딩 유닛에 대한 오차 신호는 하나의 블록을 구성할 수 있으며, 상기 블록은 하나의 변환 유닛으로서 처리될 수 있다.
일 실시예에서, 16 x 16 블록이 2 개의 16 x 8 코딩 유닛으로 분할되어 예측 부호화 되는 경우, 2 개의 16 x 8 블록의 오차 신호는 하나의 16 x 16 블록으로 재구성될 수 있다. 이 경우, 재구성된 16 x 16 블록 단위로 변환 유닛의 분할 및 부호화 또는 복호화 과정이 수행될 수 있다.
또한, 다중 타입 트리 노드에서는 코딩 유닛과 변환 유닛이 독립적으로 복호화를 수행할 수 있다. 일 실시예에서, 상기 코딩 유닛을 위한 신택스와 상기 변환 유닛을 위한 신택스는 다중 타입 트리 노드에서 별개로 구성되어 있다. 따라서, 상기 코딩 유닛과 상기 변환 유닛은 서로 상하 관계를 형성하지 아니하고 독립적으로 복호화되고, 최상위 다중 타입 트리 노드에서 상기 코딩 유닛에 대한 분할 구조와 상기 변환 유닛에 대한 분할 구조는 서로 독립적으로 결정될 수 있다.
본 발명의 일 실시예에 따른 코딩 유닛은 정사각형 형태일 수 있고, 직사각형 형태일 수도 있다. 만일 상기 코딩 유닛이 정사각형 형태를 갖는 경우, 가로 및 세로의 길이가 동일한 변환 매트릭스를 이용하여 DCT 변환 또는 DST 변환을 수행할 수 있다. 만일 상기 코딩 유닛이 직사각형 형태를 갖는 경우, 가로 및 세로의 길이가 상이하므로 상기 코딩 유닛의 직사각형 형태에 따라 변환 매트릭스를 미리 결정하여 DCT 변환 또는 DST 변환을 수행할 수 있다.
일 실시예에서는, 상기 코딩 유닛이 직사각형 형태를 갖는 경우, 상기 코딩 유닛을 복수 개의 정사각형 서브 유닛으로 나누고, 상기 서브 유닛별로 DCT 변환 또는 DST 변환을 수행할 수 있다. 다른 일실시예에서, 분할된 직사각형 코딩 유닛을 포함하는 상위 노드의 정사각형 코딩 유닛에 대하여 DCT 변환 또는 DST 변환을 수행할 수 있다. 이러한 경우, 하나의 변환 유닛은 복수 개의 직사각형 코딩 유닛을 포함할 수 있다.
현재 코딩 유닛이 화면내 예측을 이용하여 부호화되는 경우, 상기 현재 코딩 유닛에 인접한 주변 픽셀을 참조 픽셀로 지정할 수 있다. 이후, 가장 효율적인 예측 방향을 설정하고, 상기 설정된 예측 방향을 이용하여 상기 참조 픽셀로부터 해당 방향으로 픽셀을 패딩 또는 보간하여 참조 블록을 생성할 수 있다.
도 6은 본 발명의 일 실시예에 따른 현재 코딩 블록의 화면 내 예측 모드를 나타내는 것이다.
도 6을 참조하면, 각각의 모드는 특정한 예측 방향을 가지며, 상기 예측 방향을 이용하여 참조 픽셀로부터 예측 블록이 생성될 수 있다. 화면내 예측 방향 모드 중에서 방향성이 없는 모드는 평면모드(Planar; Intra_Planar), 평균모드(DC; Intra_DC), 그리고 복원된 휘도신호로부터 색차신호를 예측하는 모드(CCLM; Cross-component linear model)가 존재할 수 있다. 이러한 화면내 예측 방향 모드에 대한 부호화는 휘도 신호 및 색차 신호에 각각 적용되며, 휘도 신호의 경우, CCLM 모드는 제외될 수 있다.
현재 CU에 대한 화면 내 예측 모드를 예측하는 방법은 MPM(most probable mode)를 이용한다. 일 실시예에서, 6개의 MPM모드가 이용되며, 현재 CU의 화면 내 예측 모드가 MPM list내에 있는지 여부를 나타내는 정보(intra_luma_mpm_flag)를 비트스트림에 포함시킬 수 있다. 복호화기는 intra_luma_mpm_flag를 통해 MPM list내에 현재 CU의 화면 내 예측 모드가 있는지 여부를 판단할 수 있다.
만일, 상기 현재 코딩 유닛의 화면내 예측 모드가 MPM list내에 있다면, intra_luma_mpm_idx를 추가적으로 파싱할 수 있고, MPM list 중에서 intra_luma_mpm_idx 번째의 화면 내 예측 모드를 사용하여 현재 CU의 화면 내 예측 모드를 유도할 수 있다. 만일 상기 현재 코딩 유닛의 화면내 예측 모드가 MPM list내에 없다면, 화면 내 예측 모드 정보에 대한 나머지 정보(intra_luma_mpm_remainder)를 추가적으로 파싱할 수 있고, 상기 파싱된 정보로부터 현재 CU의 화면 내 예측 모드를 유도할 수 있다.
일 실시예에서, 현재 블록은 방향성이 없는 모드를 사용하여 화면 내 예측 부호화될 수 있다. 방향성이 없는 화면 내 예측 모드는 평활한 영상 영역에서 이용되어 부호화 효율을 향상시킬 수 있다. 또한, 방향성이 없는 모드는 일반적으로 자주 사용되므로, 다양한 화면 내 예측 모드(일예로, 67개) 중 가장 앞 순서에 존재할 수 있다. 일 실시예에서, 평면 모드는 ‘0’ 번째 순서를 사용하고, 평균 모드는 ‘1’번째 순서를 사용한다.
일반적으로 화면 내 예측 모드에 대한 부호화는 주변 블록의 화면 내 예측 모드로부터 구성된 MPM 리스트를 이용한다. 부호화기는 화면 내 예측 모드를 부호화하기 위해서는 MPM 리스트를 사용할 지 여부와 MPM 리스트 내에서 어떤 것을 이용할지에 대한 인덱스 정보를 비트스트림에 저장하여 복호화기로 전송할 수 있다. 이러한 MPM 리스트를 이용한 화면 내 예측 모드에 대한 부호화는 방향성이 존재하는 모드에 대한 부호화에서 부호화 효율을 증가시킬 수 있다.
반면에, 방향성이 없는 모드는 주변 블록의 방향성 모드와의 상관성이 낮을 수 있으므로, MPM 리스트를 이용할 경우 부호화 효율이 오히려 낮아질 수 있다. 따라서, 방향성이 없는 모드에 대한 부호화는 MPM 리스트를 사용하지 않고, 화면 내 예측 모드를 그대로 부호화할 수 있다. 일 실시예에서, 비트스트림은 현재 블록이 방향성 모드인지 또는 방향성 모드가 아닌지를 나타내는 정보를 포함할 수 있다. 만일 현재 블록이 방향성 모드가 아닐 경우, 현재 블록이 평면 모드인지 또는 평균 모드인지를 나타내는 정보를 비트스트림에 더 포함할 수 있다. 현재 블록의 화면 내 예측 모드가 방향성 모드일 경우, MPM 리스트를 유도할지 또는 MPM 리스트를 유도하지 않을지를 선택할 수 있다.
이 경우, MPM 리스트의 유도 여부에 대한 정보는 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU가 방향성 모드인지 여부 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있거나, 최소 하나 이상을 사용하지 않고 독립적으로 유도될 수 있다.
유도된 MPM 리스트 내에 현재 블록에 대한 화면 내 예측 모드가 존재할 경우, MPM 리스트 내에 어떤 것을 사용할지에 대한 인덱스 정보가 비트스트림에 포함될 수 있다. 그러나, 현재 블록의 화면 내 예측 모드가 MPM 리스트내에 존재하지 아니하는 경우, 화면 내 예측 모드 중에서 MPM 리스트에 포함되지 아니하는 나머지 예측 모드를 나타내는 예측 모드 잔여 정보(intra_luma_mpm_remainder)가 비트스트림에 포함될 수 있다.
예를 들면, 복호화기에서 현재 블록의 화면 내 예측 모드가 방향성 모드인지에 대한 정보를 파싱할 수 있다. 만일 현재 블록의 화면 내 예측 모드가 방향성 모드가 아닌 경우, 현재 블록이 평면 모드인지 또는 평균 모드인지에 대한 정보를 파싱할 수 있다. 현재 블록의 화면 내 예측 모드가 방향성 모드인 경우, MPM 리스트를 유도할 것인지 여부를 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU가 방향성 모드인지 여부 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다. 또는, 상기 정보들을 개별적으로 이용하여 MPM 리스트를 유도할 수 있다.
일 실시예에서, 현재 블록에 인접한 주변 블록들 중에서 적어도 하나의 블록의 화면 내 예측 모드가 방향성 모드인 경우, 복호화기는 MPM 리스트를 유도할 것인지 여부를 나타내는 정보를 파싱할 수 있다. 만일, 현재 블록에 인접한 주변 블록들 모두 방향성이 없는 모드일 경우, MPM 리스트를 유도할 것인지 여부를 파싱하지 않고, MPM리스트를 유도하지 않는다고 설정할 수 있다. 만일, 현재 블록에 인접한 주변 블록을 포함하는 타일과 현재 블록을 포함하는 타일이 서로 다른 타일일 경우, 타일 간의 의존성 제거를 위해 다른 타일의 정보를 유도할 수 없으므로, 주변 블록의 화면 내 예측 모드를 방향성 모드 또는 방향성이 없는 모드로 설정할 수 있다.
일 실시예에서, 현재 블록에 인접한 주변 블록의 부호화 정보를 이용하여 MPM 리스트를 유도할지 여부를 결정하는 경우, 복호화기 측면에서는 파싱 강인성이 감소될 수 있다. 따라서, 만일 현재 블록의 화면 내 예측 모드가 방향성 모드인 경우, 현재 블록에 인접한 주변 블록들의 화면 내 예측 모드에 상관없이 MPM 리스트를 유도할 것인지 여부를 파싱한다.
또한, 만일 MPM 리스트를 사용하는 경우, MPM 리스트 내 중 이용되는 화면 내 예측 모드에 대한 인덱스 정보를 파싱함으로써, 현재 블록에 대한 화면 내 예측 정보를 유도할 수 있다. 만일 MPM 리스트를 사용하지 않는 경우, 화면 내 예측 모드 중에서 예측 모드 잔여 정보(intra_luma_mpm_remainder)를 파싱하여 현재 블록에 대한 화면 내 예측 정보를 유도할 수 있다.
상기 예측 모드 잔여 정보(intra_luma_mpm_remainder)는 절단 이진 코드(truncated binary codes)를 이용한 CABAC을 사용하여 복호화될 수 있다. 예를 들어, 상기 예측 모드 잔여 정보가 가질 수 있는 절단 이진 코드의 최대값(maxVal)은 전체 화면 내 예측 부호화 모드(예, 67개)의 개수에서 방향성이 없는 모드(일예로, 2개)와 MPM 리스트에 존재하는 모드(예, 최대 6개)의 개수를 제외한 개수(예, 67-2-6=59)가 될 수 있다. 만일 MPM 리스트 내에 방향성이 없는 모드가 존재할 경우, 상기 예측 모드 잔여 정보가 가질 수 있는 절단 이진 코드의 최대값(maxVal)은 달라질 수 있으며, 예를 들면, 59, 60, 61이 될 수 있다.
일 실시예에서, MPM 리스트는 방향성이 없는 모드를 제외하고 구성되거나, 방향성 모드만으로 구성될 수 있다. 이 경우, 상기 예측 모드 잔여 정보가 가질 수 있는 절단 이진 코드의 최대값(maxVal)은 59가 될 수 있다.
일 실시예에서, MPM 리스트의 구성은 현재 블록과 인접한 주변 블록의 화면 내 예측 모드 정보, 현재 블록이 ISP모드인지에 대한 정보, 어느 위치의 참조 픽셀을 사용하는지를 나타내는 정보를 기초로 구성될 수 있다. 또한, MPM 리스트 내에서 화면 내 예측 모드의 중복을 제거하기 위한 과정도 수행될 수 있으며, 이는 부호화기 및 복호화기의 복잡도를 높이는 요인이 될 수 있다.
이러한 복잡도를 제거하기 위해서, 어떠한 정보도 고려하지 않는 디폴트(defalult) MPM 리스트를 구성할 수 있다. 예를 들면, 상기 디폴트 MPM 리스트는 Planar (0), DC (1), Vertical (50), HOR (18), VER - 4 (46), VER + 4 (54) 중에 하나 이상의 화면 내 예측 모드를 포함할 수 있다. 이 경우, 상기 예측 모드 잔여 정보가 가질 수 있는 절단 이진 코드의 최대값(maxVal)은 전체 화면 내 예측 부호화 모드(예, 67개)의 개수에서 MPM 리스트에 존재하는 모드(예, 6개)의 개수를 제외한 개수(예, 67-6=61)가 될 수 있다.
다른 실시예에서, MPM 리스트는 현재 블록과 인접한 주변 블록의 화면 내 예측 모드 정보만을 사용하여 구성될 수 있다. 예를 들면, MPM 리스트는 A, B, Planar (0), DC (1), Vertical (50), HOR (18) 중에 하나 이상의 화면 내 예측 모드를 포함할 수 있다. 여기서, A는 현재 블록의 좌측에 인접한 블록의 화면 내 예측 모드이고, B는 현재 블록의 상측에 인접한 블록의 화면 내 예측 모드일 수 있다. 또한, MPM 리스트내에서 각 화면 내 예측 모드의 순서는 달라질 수 있다. 일 실시예에서, 상기 예측 모드 잔여 정보가 가질 수 있는 절단 이진 코드의 최대값(maxVal)은 전체 화면 내 예측 부호화 모드(예, 67개)의 개수에서 MPM 리스트에 존재하는 모드(예, 최대 6개)의 개수를 제외한 개수(예, 67-6=61 또는 62 또는 63)가 될 수 있다.
일 실시예에서, MPM 리스트를 유도함에 있어 복잡도를 낮추기 위해, 적어도 두 개 이상의 블록들이 하나의 MPM 리스트를 공유하여 사용할 수 있다. 이 경우, MPM 리스트는 여러 블록 들 중에서 임의의 하나의 블록에서 유도된 MPM 리스트를 사용할 수 있다. 예를 들면, 적어도 두 개 이상의 블록들 중 가장 먼저 부호화 또는 복호화 되는 블록으로부터 유도된 MPM 리스트를 다음 블록의 MPM 리스트로 사용할 수 있다. 또는, 적어도 두 개 이상의 블록들의 상위 노드에 대한 블록에서 MPM 리스트를 구성하여, 하위 블록들이 상위 블록에서 구성된 MPM 리스트를 공유해서 사용할 수 있다.
일 실시예에서, 현재 블록이 ISP 모드일 경우, 현재 블록들을 구성하는 적어도 두 개 이상의 서브 블록들은 상이한 화면 내 예측 모드를 가질 수 있다. 이 경우, 부호화 블록 단위에서 유도된 MPM 리스트를 하위 서브 블록들이 공유해서 이용할 수 있다. 예를 들면, 첫 번째 서브 블록에 대한 MPM 리스트와 두 번째 서브 블록에 대한 MPM 리스트는 서로 동일할 수 있다.
MPM list내에 현재 CU에 대한 화면 내 예측 모드가 없을 경우, 이용된 화면내 예측 방향은 67개로 상당히 많기 때문에, intra_luma_mpm_remainder를 이용하여 현재 코딩 유닛의 화면내 예측 모드를 유도하는 것은 부호화의 효율이 떨어질 수 있다. 그러므로, intra_luma_mpm_remainder에 대한 부호화 효율을 향상시키기 위해, 먼저 화면 내 예측 모드를 그룹화할 수 있다.
예를 들면, 화면 내 예측 모드를 M(일예로 10)개 씩 그룹화 하여, 상기 현재 코딩 유닛에 대한 화면 내 예측 모드가 해당 그룹에 포함되는 지 여부 정보(intra_luma_group_index)를 비트스트림에 포함시킬 수 있다. 이후, M개를 다시 N(일예로 5)로 개의 서브 그룹으로 나누고, 상기 현재 코딩 유닛에 대한 화면 내 예측 모드가 해당 서브 그룹에 포함되는 지 여부 정보(intra_luma_subgroup_index)를 비트스트림에 포함시킬 수 있다. 마지막으로 서브 그룹 내에서 화면 내 예측 모드 정보에 대한 나머지 정보(intra_luma_remainder_in_subgroup)를 비트스트림에 포함시킬 수 있다. 복호화기에서는 intra_luma_group_index, intra_luma_subgroup_index, intra_luma_remainder_in_subgroup를 파싱하여 현재 코딩 블록에 대한 화면 내 예측 모드 정보를 유도할 수 있다.
상기 현재 코딩 블록에 대한 화면 내 예측 모드 정보를 나타내기 위한 화면 내 예측 모드의 그룹화는 균등한 간격으로 수행되거나, 또는 비균등하게 수행될 수 있다. 일 실시예에서, 첫번째 그룹에는 5개, 두번째 그룹에는 10개, 세번째 그룹에는 7개,… 와 같이 비균등하게 그룹을 지정할 수도 있다. 그룹화에 있어서 균등하게 그룹화를 수행할지 또는 비균등하게 그룹화를 수행할지 여부와 만일 비균등하게 그룹화를 수행하는 경우 각 그룹의 개수는, MPM list에 포함된 화면 내 예측 모드 정보, 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다. 일 실시예에서는 상기 정보들 중 하나를 이용하여 독립적으로 유도될 수도 있다.
일 실시예에서, 현재 코딩 유닛 블록이 픽쳐의 상단 또는 타일의 상단에 위치하는 경우, 참조 픽셀은 현재 코딩 유닛 블록의 왼쪽에만 존재할 수 있다. 이 경우, 현재 코딩 유닛의 화면 내 예측 모드는 수평 방향성을 가지는 화면 내 예측 모드만을 사용하여 부호화될 수 있으며, 수직 방향성을 가지는 화면 내 예측 모드는 묵시적으로 사용되지 않을 수 있다. 이 경우, 초기 MPM list에 포함될 화면 내 예측 모드 정보는 왼쪽 코딩 유닛 블록의 화면 내 예측 모드, Planar (0), DC (1), 수평 방향성을 가지는 화면 내 모드만을 포함할 수 있다. 따라서, 현재 코딩 블록이 픽쳐 경계 및 타일 경계에 위치해 있는지를 확인함으로써, 선택적으로 사용 가능한 화면 내 예측 모드를 선택할 수 있다.
또한, 일 실시예에서는 현재 코딩 유닛 블록에서 사용할 수 있는 화면 내 예측 모드에 대한 정보를 나타내는 화면 내 예측 모드 가용성 정보를 선택적으로 유도할 수 있다. 즉, 코딩 유닛 블록마다 사용가능한 화면 내 예측 모드의 개수가 달라질 수 있다. 예를 들면, 현재 코딩 유닛 블록의 크기가 임의의 값 이상이거나 또는 이하인 경우, Planar (0), DC (1), Vertical (50), HOR (18), VER - 4 (46), VER + 4 (54)만을 사용할 수 있다.
화면 내 예측 모드 가용성 정보는 화면 내 예측 모드마다 설정될 수 있다. 예를 들면, Planar (0)모드에 대한 가용성 정보가 '1'로 설정될 수 있으며, DC (1) 모드에 대한 가용성 정보가 '0'으로 설정될 수 있으며, 이 경우, 현재 블록은 DC 모드를 이용할 수 없고, Planar 모드는 이용할 수 있다.
이러한 가용성 정보는 화면 내 예측 모드마다 독립적(또는 의존적)으로 설정될 수 있다. 일 실시예에서, 화면 내 예측 모드 가용성 정보는 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 모드 방향 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다.
화면 내 예측 모드 가용성 정보는 비트스트림에 포함되어 복호화기로 전송될 수 있다. 복호화기는 화면 내 예측 모드 가용성 정보를 파싱하고, 현재 코딩 유닛 블록에 사용가능한 화면 내 예측 모드 정보를 설정할 수 있으며, 화면 내 예측 모드 가용성 정보를 이용하여 화면 내 예측 모드를 비트율 측면에서 효율적으로 디코딩할 수 있다.
현재 CU에 대한 화면 내 예측 샘플을 생성하는 과정은 다음과 같이 수행될 수 있다.
1단계, 참조 픽셀을 구성한다. 먼저, 현재 코딩 유닛에 인접한 주변 픽셀들에 대하여 참조 픽셀로 사용 가능한지에 대한 참조 픽셀 가용성을 판단할 수 있다. 이 경우, 주변 픽셀이 현재 픽쳐 경계 밖이거나 현재 코딩 유닛과 다른 타일에 속해 있는 경우, 참조 픽셀 가용성은 false가 되어, 참조 픽셀로 사용될 수 없다. 만일 현재 코딩 유닛에 인접한 주변 픽셀들의 참조 픽셀 가용성이 모두 false인 경우, 모든 참조 픽셀에 임의로 정한 값을 설정한 후, 참조 픽셀 가용성을 모두 true로 변경할 수 있다. 만일 현재 코딩 유닛에 인접한 주변 픽셀들 중에서 참조 픽셀 가용성이 하나라도 false인 경우, 참조 픽셀 가용성이 false인 픽셀과 인접한 픽셀을 사용하여 픽셀 값을 채울 수 있으며, 이후 해당 참조 픽셀 가용성을 true로 변경할 수 있다.
마지막으로 참조 픽셀에 필터링이 수행될 수 있다. 상기 필터링의 수행 여부는 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다. 일 실시예에서, 상기 필터링은 현재 코딩 유닛의 변환 블록의 가로 또는 세로의 크기가 소정의 값 이상이고, 휘도 신호이며, 현재 블록에 인접한 참조 픽셀로부터 예측된 화면 내 예측 영상인 경우 수행될 수 있다.
2단계, 각 화면 내 예측 모드 정보에 따라 화면 내 예측 샘플을 생성할 수 있다. 일 실시예에서, 화면 내 예측 모드 정보가 Planar 모드일 경우에는 수직 예측 샘플 블록과 수평 예측 샘플 블록의 평균으로 예측 블록을 생성한다. 이 경우, 수직 예측 샘플 블록은 현재 블록의 좌측 아래 샘플과 현재 블록의 상단 샘플들을 통해 생성되고, 수평 예측 샘플 블록은 현재 블록의 우측 상단 샘플과 현재 블록의 좌측 샘플들을 통해 생성될 수 있다. 예측 샘플은 현재 블록의 가로 및/또는 세로 크기를 기초로 하여 수직 예측 샘플과 수평 예측 샘플 간의 가중치를 적용함으로써 생성될 수 있다.
일 실시예에서, 현재 블록의 크기가 세로보다 가로의 크기가 클 때, 수직 예측 샘플 블록을 수평 예측 샘플 블록보다 더 높은(또는 더 낮은) 가중치를 두어 예측 샘플을 생성할 수 있다. 예를 들어, 현재 블록의 크기가 세로보다 가로의 크기가 클 때, 수직 예측 샘플에 ‘3‘의 가중치를, 수평 예측 샘플에 ‘1’의 가중치를 두어 가중치 평균을 수행함으로써 예측 샘플을 생성할 수 있다.
일 실시예에서, 현재 블록의 화면 내 예측 모드 정보가 DC 모드일 경우에는 참조 블록의 평균 값으로 예측 블록을 생성할 수 있다. 이 경우, 현재 블록의 가로 크기가 세로 크기보다 크면, 현재 블록의 상단 샘플만을 사용하여 평균 값을 계산할 수 있다. 또한, 현재 블록의 가로 크기가 세로 크기보다 작으면, 현재 블록의 좌측 샘플만을 사용하여 평균 값을 계산할 수 있다. 만일 블록의 가로 크기와 세로 크기가 동일하면, 현재 블록의 상단 샘플과 좌측 샘플 모두를 사용하여 평균 값을 계산할 수 있다.
일 실시예에서, 현재 블록의 화면 내 예측 모드 정보가 Planar 모드 또는 DC 모드이고, 현재 블록의 좌측 또는 상단 샘플이 다른 타일(슬라이스)에 속해 있을 경우, 해당 샘플은 참조 샘플로 사용할 수 없으므로, 사용 불가능한 위치의 샘플은 예측 샘플을 생성하는데 사용되지 않을 수 있다. 예를 들면, 현재 블록의 상단 샘플이 다른 타일(슬라이스)에 속해 있고, 현재 화면 내 예측 모드가 Planar 모드일 경우, 수직 예측 샘플은 생성하지 않고 수평 예측 샘플만을 이용하여 현재 블록에 대한 예측 샘플을 생성할 수 있다. 또는, 현재 블록의 상단 샘플이 다른 타일(슬라이스)에 속해 있고, 현재 화면 내 예측 모드가 DC모드일 경우, 현재 블록의 가로 또는 세로 크기에 상관없이 현재 블록의 좌측 샘플만을 이용하여 평균값을 구하고 해당 평균값으로 현재 블록에 대한 예측 샘플을 생성할 수 있다.
또한, 현재 블록의 화면 내 예측 모드가 Planar 모드 및 DC 모드 이외의 방향성 모드(2 ~ 66)의 경우, 가중치 기반 보간 방법을 통해 예측 샘플이 생성될 수 있다. 우선, 화면 내 예측 모드, 참조 픽셀의 위치 정보, ISP 모드 정보, 휘도 또는 색차 신호 여부, 변환 블록 크기 정보, 현재 부호화 블록의 크기 정보와 같은 정보들을 이용하여 현재 블록의 예측 샘플에 이용되는 보간 필터의 종류가 유도될 수 있다. 일 실시예에서, 상기 보간 필터는 4-tap Cubic 또는 4-tap Gaussian 필터가 이용될 수 있다.
이후, 3단계로서 화면 내 예측 모드 및 위치 기반 예측 샘플 필터링 과정이 수행될 수 있다. 필터링의 강도 또는 필터링 수행 여부는 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, CIIP(Combined inter and intra prediction)모드 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, IBC(Intra block copy) 모드 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다.
일 실시예에서, 현재 코딩 유닛의 변환 블록의 가로 또는 세로의 크기가 임의의 값 이상인 경우, 현재 코딩 유닛의 화면 내 예측 샘플에 대한 필터링이 수행될 수 있다. 상기 임의의 값은 2의 배수일 수 있다. 다른 실시예에서는, 현재 코딩 유닛의 화면 내 예측 샘플에 대한 필터링은 상기 현재 코딩 유닛이 휘도 신호를 나타내고, 상기 화면 내 예측 샘플이 현재 블록에 인접한 참조 픽셀로부터 예측된 샘플인 경우에 수행될 수 있다.
본 발명의 일 실시예에 따른 현재 블록의 코딩에 있어서, 하나의 CU블록은 2개 이상의 서브 블록으로 분할되어 부호화될 수 있다. 상기 서브 블록은 순차적으로 부호화될 수 있으며, 현재 서브 블록은 이전 서브 블록의 복원된 픽셀을 참조하여 부호화될 수 있다. 일 실시예에서, 현재 블록의 서브 블록이 2 개 이상인 경우, 현재 블록의 화면 내 예측 모드는 분할된 상기 서브 블록들이 공유할 수 있다.
- ISP모드에서 각 분할 블록의 화면 내 예측 모드를 서로 다르게 설정하는 방법
현재 블록의 분할된 서브 블록들 각각의 화면 내 예측 모드는 상이하지만 근접한 값을 가질 수 있다. 일 실시예에서, 서브 블록들의 화면 내 예측 모드는 서로 근접한 화면 내 예측 모드일 수 있으며, 서로 +-1 또는 +-2 차이일 수 있다. 이러한 경우, 제 2 분할 블록에 대한 화면 내 예측 모드는 제 1 분할 블록과의 차분값만 전송함으로써 부호화 효율을 향상시킬 수 있다. 예를 들어, 서브 블록이 3개인 경우에는 제 3 분할 블록에 대한 화면 내 예측 모드는 제 2 분할 블록과의 차분값으로서 복호화기에 전송할 수 있다. 이 경우, 차분값은 도 7에를 참조하여 설명되는 신택스를 사용하여 인코딩되어 비트스트림으로 출력될 수 있다.
도 7은 본 발명의 일 실시예에 따른 분할 블록의 화면 내 예측 모드를 상이하게 설정할 수 있는 신택스(syntax)를 나타내는 것이다.
도 7을 참조하면, ISP 차분 방향 플래그(isp_diff_direction_flag)는 +방향인 경우, '1'로 설정되고, -방향일 경우, '0'으로 설정될 수 있다. 제 1 ISP 차분값 플래그(isp_diff_greater0_flag)는 '1'일 경우, 화면 내 예측 모드의 차분 값이 '1'이상일 수 있으며, '0'일 경우, 차분 값이 '0'일 수 있다. 또한, 제 2 ISP 차분값 플래그(isp_diff_greater1_flag) 가 '1'일 경우, 화면 내 예측 모드의 차분 값이 '2'일 수 있으며, '0'일 경우, 차분 값이 '1'일 수 있다. 복호화기에서는 복호화된 제 1분할 블록의 화면 내 예측 모드와 제 2분할 블록의 화면 내 예측 모드의 차분값을 서로 더하여 제 2분할 블록의 화면 내 예측 모드를 구할 수 있다.
또한, 복호화기 측면에서 제 4 분할 블록의 화면내 예측 모드를 얻어오기 위해서는 제 1 분할 블록, 제 2 분할 블록, 제 3 분할 블록이 화면 내 예측 모드가 모두 구해진 다음에 가능하다. 따라서, 이러한 의존성 문제를 해결하기 위해서, 제 3 분할 블록, 제 4 분할 블록은 제 2 분할 블록에서와 같이 제 1 분할 블록의 화면 내 예측 모드를 예측 값으로 사용할 수 있다. 즉, 제 4 분할 블록의 화면 내 예측 모드는 제 1 분할 블록의 화면 내 예측 모드와 제 4 분할 블록의 화면 내 예측 모드의 차분값을 서로 더하여 제 4 분할 블록의 화면 내 예측 모드를 구할 수 있다.
- ISP모드에서 각 서브 블록의 분할 방향을 상위 CU의 분할 정보, 주변 CU의 분할 정보, 주변 ISP모드의 분할 정보 중에서 최소 하나를 이용하여 묵시적으로 분할 방법을 설정하는 방법
다중 타입 트리 구조는 블록을 분할하는데 있어서 높은 유연성을 제공할 수 있다. 도 8은 본 발명의 일 실시예에 따른 현재 코딩 유닛이 묵시적으로 분할된 형태를 나타내는 것이다.
도 8을 참조하면, 현재 코딩 유닛이 2계층으로 구성되며, 2 계층 코딩 유닛이 같은 방향으로 이진 분할이 이루어지는 경우, 이는 현재 코딩 유닛이 3중 분할된 것과 유사할 수 있다. 이 경우, 현재 코딩 유닛과 관련하여 3중 분할에 대한 정보만 전송하는 것이 가능하므로, 이진 분할 정보가 3번 전송되는 것보다 코딩 효율을 향상시킬 수 있다. 그러므로, 도 7에서 도시된 바와 같이 연속되는 계층에서 2진 분할이 연속하여 수행되는 경우, 이를 묵시적 3중 분할로서 설정할 수 있다.
일 실시예에서, 묵시적 3중 분할로 설정된 경우 중 중앙에 위치하는 코딩 유닛이 ISP(Intra Sub-Partitions)로 분할되어 코딩되는 경우, 상기 ISP 모드의 분할 형태를 나타내는 ISP 분할 모드 정보는 상위 코딩 유닛의 분할 정보를 이용하여 묵시적으로 설정될 수 있다. 이 경우, 상기 ISP 분할 모드 정보는 복호화기로 전송될 필요가 없다.
예를 들어, 상위 코딩 유닛이 수직 방향으로 3 분할되었고 가운데 코딩 유닛이 ISP 모드로 부호화 되는 경우, 중앙에 위치하는 코딩 유닛은 2 개 이상의 서브 블록으로 수직 방향 분할이 이루어질 수 있다. 이 경우, 수직 방향에 대한 정보는 묵시적으로 설정될 수 있다. 또한, 서브 블록의 분할은 수평 방향으로 묵시적으로 이루어질 수도 있다. 이 경우, ISP 모드의 분할 정보는 상위 코딩 유닛의 분할 정보, 주변 코딩 유닛의 분할 정보, 주변 ISP 모드의 분할 정보 중 적어도 하나 이상을 이용하여 묵시적인 분할 모드로 설정될 수 있다.
ISP 모드의 사용 여부는 코딩 유닛의 가로 또는 세로의 크기에 따라 결정될 수 있다. 일 실시예에서, 코딩 유닛의 가로 또는 세로 크기가 임의의 크기 이상인 경우, ISP 모드를 사용하지 아니할 수 있다. 또한, 코딩 유닛의 가로 또는 세로 크기가 임의의 크기 이하인 경우, ISP 모드를 사용하지 아니하도록 설정하는 것도 가능하다.
- ISP모드에서 색차 신호의 분할 개수 및 방향을 묵시적으로 설정하는 방법
일 실시예에서, 코딩 유닛 블록이 ISP모드로 부호화되는 경우, 휘도 신호는 2개 이상으로 분할되어 부호화될 수 있다. 그러나, 색차 신호는 분할되지 않고 부호화될 수 있다. 또는 색차 신호는 휘도 신호와 동일한 형태로 분할되어 부호화될 수 있다.
일 실시예에서, 4:2:0 영상 포맷의 경우, 색차 신호는 휘도 신호의 1/4 크기일 수 있다. 현재 코딩 유닛 블록의 크기가 임의의 크기이고, 휘도 신호가 4개의 서브 블록으로 분할되어 부호화되는 경우, 대응하는 색차 신호는 2개의 서브블록의 분할되어 부호화될 수 있다. 일 실시예에서, 코딩 유닛 블록의 크기가 8x16인 경우(휘도신호: 8x16, 색차신호: 4x8), 휘도 신호는 수평 방향으로 4개의 8x4 블록으로 나누어서 부호화될 수 있으며, 대응하는 색차 신호는 수평 방향으로 2개의 4x4블록으로 나누어서 부호화될 수 있다. 예를 들어, 현재 코딩 유닛이 ISP 모드로 부호화되는 경우, 휘도 신호와 색차 신호의 분할 방향 정보는 서로 공유될 수 있다. 또한, 색차 신호의 분할 개수는 색차 신호의 서브 샘플링 포맷에 따라 달라질 수 있다.
- ISP모드에서 각 분할 블록의 화면 내 예측 모드를 상위 CU의 분할 정보, 주변 CU의 분할 정보, 주변 ISP모드의 분할 정보, 주변 블록의 화면 내 예측 모드 중에서 최소 하나를 이용하여 유도하는 방법
ISP 모드가 적용된 코딩 유닛의 상위 코딩 유닛의 분할 모드가 수직 방향인 경우, ISP 모드가 적용된 코딩 유닛의 ISP분할 모드는 수직 방향이 될 확률이 높을 수 있다. 또한, ISP 모드로 분할된 각 서브 블록의 화면 내 예측 모드도 수직 방향이 될 확률이 높다. 따라서, ISP 모드로 분할된 서브 블록의 화면 내 예측 모드를 유도하기 위해서 상위 코딩 유닛의 분할 정보를 이용할 수 있다. 또한, 상위 코딩 유닛의 분할 정보, 주변 코딩 유닛의 분할 정보, 주변 ISP모드의 분할 정보, 주변 블록의 화면 내 예측 모드 중에서 최소 하나를 이용하여 ISP 모드로 분할된 각 서브 블록의 화면 내 예측 모드를 유도할 수 있다.
- ISP 모드에서 각 분할 블록은 ABP(asymmetric block partition) 형태로 분할됨
도 9는 이러한 본 발명의 일 실시예에 따른 비대칭 블록 분할의 예시를 나타내는 것이다.
도 9를 참조하면, ISP 모드에서는 하나의 CU 블록의 최대 4개의 서브 블록으로 분할될 수 있으며, 각 서브 블록간에는 의존성이 존재하므로, 인코딩 및 디코딩 시 처리율(throughtput)을 감소시키는 문제가 존재한다. ISP 모드는 주로 객체의 경계 부분에서 선택될 확률이 높을 수 있다. 그러므로, 현재 코딩 유닛 블록에 ISP 모드가 적용될 경우, 도 9와 같이 하나의 코딩 유닛 블록은 2개의 서브 블록으로 분할될 수 있으며, 비대칭 블록 분할(asymmetric block partition, 이하 ABP라 함)형태로 분할될 수 있다.
또한, 현재 코딩 유닛 블록에 ISP 모드가 적용될 경우, 하나의 코딩 유닛 블록은 2개의 서브 블록으로 분할될 수 있으며, ABP(asymmetric block partition)형태 및 SBP(symmetric block partition)형태 중에서 하나의 형태를 이용하여 분할 될 수 있다. 해당 분할 모드 정보는 비트스트림에 포함되어 디코더로 전송될 수 있다. 디코더는 해당 정보를 파싱하여, 어떠한 서브 블록 형태로 분할될지를 설정할 수 있으며, 분할된 각 서브 블록의 화면 내 예측 모드를 서로 다른 값이 되도록 설정할 수 있다.
또한, 분할된 각 서브 블록 중에서 적어도 하나 이상은 변환 계수가 존재하지 않을 수 있다(CBF(coded block flag)가 모드 '0'일 경우). 예를 들어, 첫 번째 서브 블록의 CBF가 '1'인 경우, 두 번째 서브 블록의 CBF는 '0'이 될 수 있다. 첫번째 서브 블록에 대한 CBF만 비트스트림에 포함시키고, 두 번째 서브 블록의 CBF는 비트스트림에 포함시키지 않고 첫 번째 서브 블록의 CBF를 통해 유도될 수 있다.
- 화면 내 예측 블록 간의 의존성을 제거하기 위해서, 여러 블록들이 참조 픽셀을 공유하는 방법
일반적으로 화면 내 예측 블록 간에는 의존성이 존재한다. 현재 블록의 참조 픽셀을 유도하기 위해서는 현재 블록에 인접한 주변 블록이 이미 복호화되어 있어야 한다. 그러므로, ISP모드에서 서브 블록 간의 이러한 부호화 및 복호화 의존성은 부호화기 및 복호화기의 처리율을 감소시키는 문제가 발생한다. 블록의 크기가 작을수록 상기 문제점은 더욱 심각할 수 있다.
이를 해결하기 위하여 만일 서브 블록 간의 의존성을 감소시킬 경우, 부호화 효율이 감소되는 문제가 발생할 수 있다. 따라서, 현재 블록이 일정 크기보다 작은 경우에만 서브 블록 ISP모드를 비활성화 시킬 수 있다. 또는 일정 크기보다 작은 크기의 블록에 대해서, 의존성을 제거한 ISP모드를 적용할 수 있다.
상기 문제점을 해소하기 위하여 현재 블록의 서브 블록 간의 의존성을 제거하는 방법은 예측 단계에서 수행될 수 있다. 일반적으로 각 서브 블록의 예측에 사용되는 참조 화소는 서브 블록에 인접한 화소를 사용한다. 따라서, 현재 서브 블록의 예측을 위해서는 이전 서브 블록이 부호화 또는 복호화가 완료되어 있어야 한다. 따라서, 현재 서브 블록과 이전 서브 블록 간에는 부호화 및 복호화 의존성이 존재할 수 있다.
이러한 의존성을 예측 단계에서 제거하기 위해서, 각 서브 블록에 대한 예측 샘플을 유도하기 위해 사용되는 참조 화소로서 각 서브 블록들을 포함하는 부호화 블록에 인접하는 화소를 사용할 수 있다. 이 경우, 현재 서브 블록은 이전 서브 블록이 아닌 이미 부호화 및 복호화가 완료된 이전 부호화 블록들을 참조 화소로서 사용할 수 있으므로, 이전 서브 블록 간의 의존성은 존재하지 않는다.
상기 의존성을 제거하는 방법을 부호화 블록의 크기 조건에 따라 수행 여부를 선택적으로 적용할 수 있다. 예를 들면, 부호화 블록의 크기가 임의의 크기 이하(예를 들어, 8x8) 또는 이상일 경우에만 위의 방법이 적용될 수 있다.
도 10은 본 발명의 일 실시예에 따른 서브 블록에 대한 참조 픽셀을 유도하는 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 현재 코딩 블록(20)은 인접하는 픽셀을 이용하여 참조 픽셀들(21)을 구성할 수 있으며, 상기 참조 픽셀들(21)은 모든 서브 블록들(#1, #2, #3, #4)이 서로 공유할 수 있다. 이 경우, 각 서브 블록(#1, #2, #3, #4)은 동일한 참조 픽셀들(21)을 이용하여 예측을 수행할 수 있으므로 복잡도가 감소될 수 있다. 또한, 각 서브 블록(#1, #2, #3, #4)이 이용하는 참조 픽셀(21)이 모두 동일하므로 각 서브 블록(#1, #2, #3, #4) 간의 블록킹 현상이 발생하지 아니할 수 있다. 따라서, 각 서브 블록(#1, #2, #3, #4)의 경계에서 디블록킹 필터를 수행할 필요가 없다.
서브 블록들 중 마지막 서브 블록(#4)의 경우, 코딩 블록에 인접하는 픽셀들 중 마지막 서브 블록과 인접하는 픽셀들만으로 참조 픽셀을 구성할 수 있다. 이 경우, 각 서브 블록들마다 서로 다른 참조 픽셀을 구성하여 각 서브 블록에 대한 예측 샘플을 생성할 수 있으므로, 각 서브 블록들 간에는 블록킹 현상이 발생할 수 있다. 따라서, 각 서브 블록의 경계에서는 디블록킹 필터링이 수행될 수 있으며, 필터링의 세기는 서브 블록 또는 참조 픽셀들의 특성에 따라 결정될 수 있다.
또한, 참조 픽셀을 통해 예측 샘플을 생성하는 경우, 예측의 효율을 높이기 위하여 보간법(interpolation)을 이용할 수 있다. 보간법에서 참조 픽셀에 적용되는 가중치 값은 현재 블록의 화면 내 예측 모드, 신호의 종류(휘도 신호인지 여부), 참조 픽셀의 위치 정보와 같은 정보들에 따라 결정될 수 있다. 현재 블록이 마지막 서브 블록(#4)인 경우, 코딩 블록에 인정하는 화소들 중 마지막 서브 블록과 인접하는 픽셀은 다른 픽셀과는 상이한 가중치(또는 더 높은 가중치)를 이용하여 보간법을 수행한 후 예측 샘플을 생성할 수 있다.
이 경우, 각 서브 블록들이 이용하는 참조 픽셀은 상이하더라도 보간법에 의하여 예측 효율이 높아질 수 있으므로 각 서브 블록들 사이의 블록킹 현상은 거의 존재하지 아니할 수 있다. 따라서, 각 서브 블록의 경계에서는 디블록킹과 같은 필터링의 세기를 약하게 또는 강하게 설정할 수 있다.
각각의 서브 블록은 인접한 다른 서브 블록과 의존성 문제가 존재하므로 다른 서브 블록을 통해 참조 픽셀을 유도할 수 없는 경우가 발생할 수 있다. 각 서브 블록은 참조 픽셀을 결정할 때, 서브 블록의 인접한 픽셀이 다른 서브 블록에 포함되는 경우, 상기 인접한 픽셀을 이용하지 아니할 수 있다. 이러한 경우, 상기 다른 서브 블록에 포함하는 인접 픽셀은 이와 가장 가까운 픽셀로 대체함으로써 참조 픽셀로 이용될 수 있다.
일 실시예에서, 현재 서브 블록의 좌측 픽셀이 모두 다른 서브 블록에 해당하는 경우, 현재 서브 블록의 좌측 픽셀을 이용하지 아니하고, 현재 코딩 블록의 좌측 픽셀을 참조 픽셀로 대체하여 이용할 수 있다. 다시 도 10을 참조하면, 현재 서브 블록의 위치 및 크기를 기준으로 현재 서브 블록의 상단 픽셀은 다른 서브 블록에 속하지 아니하므로, 현재 서브 블록의 상단 픽셀을 현재 코딩 블록의 좌측 픽셀로 대체하여 참조 픽셀을 구성할 수 있다.
- 참조 화소를 보간해서 예측 샘플을 생성할 때, 보간 계수에 대한 유도 과정의 복잡도를 감소시키는 방법
본 발명의 일 실시예에 따른 코딩 방법은, 부호화 효율을 향상시키기 위해, 화면 내 예측시 참조 픽셀에 대한 스무딩 필터 뿐만 아니라, 예측 샘플을 생성시키는 경우 보간법도 이용할 수 있다. 그러나, 이러한 보간 방법은 계산 복잡도를 증가시키는 단점이 존재한다. 현재 보간 방법은 휘도 신호에 대해서 화면 내 예측 모드, 참조 화소 위치, ISP 블록인지 여부, 블록의 크기에 따라 4-tap Cubic 또는 4-tap Gaussian 필터가 선택적으로 수행되며, 색차신호에 대해서는 bi-linear필터가 수행될 수 있다.
일 실시예에서, 휘도 신호에 대하여 화면 내 예측 모드가 수직 또는 수평인 경우, 보간 방법이 수행되지 않거나 또는 4-tap Cubic 필터가 수행될 수 있다. 또한, ISP 모드에서는 하나의 부호화 블록이 여러 개의 서브 블록으로 나누어서 예측이 수행되므로, 예측 효율이 높으므로 보간 방법이 수행되지 않을 수 있다. 또는 블록의 크기의 임의의 미리 정해진 크기 이상(또는 이하)인 경우에 대하여만 보간 방법의 적용여부가 달라질 수 있다.
일 실시예에서, 서브 블록(또는 부호화 블록)의 크기가 8x8, 8x4, 4x8이하인 경우에는 보간 방법이 적용되지 않거나 또는 색차 신호에서 적용하는 저복잡도의 bi-linear 필터가 휘도 신호에 적용될 수 있다. 다른 실시예에서는 서브 블록(또는 부호화 블록)의 크기가 8x8, 8x4, 4x8이하인 경우에만 보간 방법이 적용될 수 있다.
- ISP모드에서 디블록킹 필터링 방법
일 실시예에서, ISP 모드가 적용된 코딩 유닛의 경우, 각 서브 블록은 화면 내 예측 모드를 공유할 수 있다. 모든 서브 블록들의 화면 내 예측 모드는 동일한 값을 가질 수 있다. 또는 각 서브 블록의 화면 내 예측 모드는 상이할 수 있다. 일 실시예에서, 4개로 분할된 서브 블록 중에서 최소 하나의 서브 블록에는 '0' 값이 아닌 변환 계수가 존재한다고 가정할 수 있다. 예를 들어, 1 번째 서브 블록과 2 번째 서브 블록과 3 번째 서브 블록에 변환 계수가 존재하지 않을 경우(CBF(coded block flag)가 모드 '0'일 경우), 4번째 블록의 CBF 값은 묵시적으로 '1'로 설정될 수 있다. 이는 4번째 블록에는 '0'이 아닌 변환계수가 존재한다는 것을 나타낸다.
1 번째 서브 블록과 2 번째 서브 블록과 3 번째 서브 블록에는 변환 계수가 존재하지 않으므로, 각 서브 블록의 경계에는 디블록킹 필터링이 수행되지 않을 수 있다. 그러나, 4번째 서브 블록에는 '0'이 아닌 변환 계수가 존재할 수 있으므로, 3번째 서브 블록과 4번째 서브 블록의 사이 경계에는 디블록킹 필터링이 수행될 수 있다. 또는 1 번째 서브 블록과 2 번째 서브 블록과 3 번째 서브 블록에 변환 계수가 존재하지 않더라도, 화면 내 예측 모드가 서로 다르다면, 각 서브 블록의 사이 경계에 디블록킹 필터링이 수행될 수 있다.
상기 모든 방법들은 휘도 신호 또는 색차 신호에 선택적으로 적용할 수 있다. 또한, 상기 방법들은 블록의 크기(가로 세로의 크기)가 임의의 값과 동일하거나, 또는 블록의 크기(가로 세로의 크기)가 임의의 값보다 크거나, 또는 블록의 크기(가로 세로의 크기)가 임의의 값보다 작을 때만 적용할 수 있다.
스크린 컨텐츠(Screen Contents)는 워드 또는 파워포인트와 같은 컴퓨터 상의 전자 문서에 대한 영상, 가상 현실 영상, 애니메이션 영상, 원격 연결 영상, 및 스크린 미러링 영상을 포함할 수 있다. 이러한 스크린 컨텐츠는 픽쳐 내 또는 픽쳐 간에서 동일하거나 유사한 패턴이 반복적으로 포함할 수 있다. 일 실시예에서는, 현재 블록과 가장 유사한 부분을 현재 픽쳐 내의 이미 복원된 영역에서 찾고, 이와 현재 블록 간의 거리와 관련된 블록 벡터(Block Vector)를 비트스트림에 포함시켜 복호화기로 전송할 수 있다.
복호화기로 현재 블록에 대한 블록 벡터만이 전송되므로, 비트율 측면에서는 부호화 효율을 높일 수 있다. 또한, 추가로 현재 오리지날 블록과 블록 벡터가 가리키는 참조 블록 간의 오차를 부호화할 수 있다. 이러한 부호화 방법을 인트라 블록 카피(Intra Block Copy, 이하 'IBC'라 함)라고 지칭할 수 있다.
일 실시예에서, 블록 벡터를 이용하는 경우, 블록 벡터를 이용하여 현재 픽쳐 내의 기복원된 참조 버퍼 영역에서 현재 블록에 대한 예측 샘플을 획득할 수 있다. 상기 예측 샘플을 이용하여 현재 블록을 복원할 수 있으며, 이 때, 상기 참조 버퍼 영역은 주기적으로 업데이트할 수 있다. 상기 참조 버퍼 영역의 주기적인 업데이트는 현재 픽쳐의 각 행(row)의 첫번째 코딩 트리 유닛이 복호화하기 이전에 수행될 수 있다.
- IBC모드에서 참조 픽쳐 업데이트 방법
인트라 블록 카피 모드는 일반적인 화면 간 부호화 모드와 통합되어 시그널링될 수 있다. 상기 인트라 블록 카피 모드에서 참조 픽쳐는 현재 부호화되고 있는 픽쳐 중 이미 부호화가 완료된 영역에 위치할 수 있다. 현재 픽쳐에서 이미 부호화가 완료된 영역을 모두 참조 픽쳐로 사용할 경우, 참조할 영역이 넓어지므로 부호화 효율을 높일 수 있는 반면, 많은 메모리가 사용된다는 단점이 있으므로 미리 설정된 크기의 참조 픽쳐 메모리만 사용하는 것이 바람직하다.
따라서, 부호화가 진행되는 동안 인트라 블록 카피 모드의 참조 픽쳐는 현재 픽쳐의 부호화가 완료될 때까지 계속적으로 그리고 주기적으로 업데이트 될 수 있다. 이러한 참조 픽쳐의 업데이트 프로세스는 현재 블록, 현재 코딩 유닛, 현재 코딩 트리 유닛, 현재 타일, 현재 타일 그룹의 부호화가 완료된 다음에 수행될 수 있다.
또한, 일 실시예에서 상기 참조 픽쳐 업데이트 프로세스는 현재 픽쳐의 각 줄(row)의 처음 코딩 트리 유닛이 부호화되기 전에 수행될 수 있다. 또는 상기 참조 픽쳐 업데이트 프로세스는 현재 픽쳐의 각 줄(row)의 마지막 CTU가 부호화된 후에 수행될 수 있다. 상기 참조 픽쳐 업데이트 프로세스에서는 참조 버퍼 메모리를 특정 값 또는 유효하지 않는 값으로 설정할 수 있다. 또는 상기 참조 픽쳐 업데이트 프로세스에서는 참조 버퍼 메모리의 내용을 초기화하거나 사용 불가능하게 설정할 수 있다.
일 실시예에서, 복호화 과정에서도 인트라 블록 카피 모드의 참조 픽쳐는 현재 픽쳐의 복호화가 완료될 때까지 계속적 그리고 주기적으로 업데이트 될 수 있다. 이러한 참조 픽쳐 업데이트 프로세스는 현재 블록, 현재 코딩 유닛, 현재 코딩 트리 유닛, 현재 타일, 및 현재 타일 그룹의 복호화가 완료된 다음에 수행될 수 있다. 또한, 참조 픽쳐 업데이트 프로세스는 현재 픽쳐의 각 줄(row)의 처음 코딩 트리 유닛이 복호화되기 전에 수행될 수 있다. 또는 참조 픽쳐 업데이트 프로세스는 현재 픽쳐의 각 줄(row)의 마지막 CTU가 복호화된 후에 수행될 수 있다.
타일 그룹(또는 슬라이스)은 여러 개의 타일로 구성되며, 각 타일의 수평 위치는 다르지만, 수직 위치는 동일하게 구성할 수 있다. 예를 들면, 하나의 픽쳐에서 한 행씩 타일 그룹이 지정될 수 있다. 다른 예에서는, 하나의 픽쳐에서 N개의 행씩 타일 그룹이 지정될 수 있다. 인트라 블록 카피 모드의 참조 픽쳐 관리 방법을 고려하면, 현재 타일 그룹은 인트라 블록 카피 모드에서의 참조 픽쳐에 포함되지 않고, 다른 타일 그룹만이 IBC 모드에서의 참조 픽쳐에 포함될 수 있다. 따라서, 복호화기에서 인트라 블록 카피 모드인 경우, 이미 정의된 타일 그룹 크기만큼의 메모리만이 필요하므로 메모리 관리 및 구현이 용이할 수 있다.
- 인트라 블록 카피 모드에서 에러 강인성(error robustness)을 향상 시키는 방법
일 실시예에서, 인트라 블록 카피 모드는 현재 픽쳐에서 이미 부호화가 완료되고 복호화된 영역을 참조 영역으로 구성하고, 상기 참조 영역에서 현재 블록과 가장 유사한 블록을 찾아서 그것의 위치 정보를 벡터로 표현하여, 상기 벡터에 대한 정보를 디코더로 전달할 수 있다. 복호화기는 상기 벡터 정보를 이용하여 현재 블록에 대한 예측 블록을 상기 참조 영역으로 가져와서 현재 블록에 대한 예측 블록을 구성할 수 있다.
패킷 누락(drop)이나 오류가 많이 발생하는 네트워크 환경에서는 상기 참조 영역이 정상적으로 복원되지 않을 수 있다. 이 경우, 인트라 블록 카피 모드로 부호화된 현재 블록은 정상적으로 복호화되지 않을 수 있으며, 이러한 에러는 다음 블록으로 전파될 수 있다. 상기 에러를 최소화함으로써 사용자에게 에러 발생을 최소한으로 숨기기 위한 방안(error concealment)이 필요하다.
일 실시예에서, 패킷 에러로 인해, 인트라 블록 카피 모드로 부호화된 블록이 정상적으로 복호화될 수 없는 경우, 에러의 전파를 막기 위해 다음 블록은 인트라 블록 카피 블록을 참조하지 않고 예측 블록을 생성할 수 있다. 일 실시예에서, 현재 블록에 인접한 주변 블록이 인트라 블록 카피 모드로 부호화되었을 경우, 상기 인트라 블록 카피 모드로 부호화된 블록은 현재 블록의 참조 화소로 사용되지 않을 수 있다.
패킷 에러로 인해 IBC 모드로 부호화된 블록이 정상적으로 복호화될 수 없는 경우, 상기 인트라 블록 카피 모드로 부호화된 블록은 화면 내 예측 방법을 통해 구성될 수 있다. 에러가 발생되는 경우, 상기 인트라 블록 카피 모드로 부호화된 블록이 화면 내 예측 방법을 통해 예측 블록을 생성하도록, 화면 내 부호화 모드가 부가정보는 비트스트림에 더 포함되어 전송될 수 있다. 만일 에러가 발생되지 아니하는 경우, 복호화기는 인트라 블록 카피 모드로 복호화를 진행하고, 부가적으로 전송된 화면 내 부호화 모드는 사용하지 않을 수 있다.
만일 에러가 발생되면, 복호화기는 인트라 블록 카피 모드로 복호화를 진행하지 않고, 부가적으로 전송된 화면 내 부호화 모드를 통해 화면 내 예측을 수행하여 현재 블록을 구성할 수 있다. 이 경우, 오차 정보는 인트라 블록 카피 모드에서 사용되는 정보이므로, 화면 내 예측을 통해 구성된 현재 블록에는 사용하지 않을 수 있다. 또한, 부가적으로 전송된 화면 내 부호화 모드에 대한 비트율 증가 문제를 해결하기 위해, 화면 내 부호화 모드를 비트스트림을 통해 전송하지 않고, 주변 블록을 통해 유도된 화면 내 부호화 모드를 사용하거나 DC, Horizontal, Vertical, Planar 또는 그 이외에 방향성 모드들 중에서 임의로 하나를 정하여 묵시적으로 예측 블록을 생성하는 데 사용할 수 있다.
- 휘도 신호 또는 색차 신호에서 오차 신호를 묵시적으로 설정하는 IBC모드, triangle 모드, ciip모드, cclm 모드
일 실시예에서, 인트라 블록 카피 모드는 참조 영역에서 현재 블록과 유사한 영역을 그대로 현재 블록에 대한 예측 블록으로 사용할 수 있다. 이는 화면 간 예측과 동일한 개념으로서 화면 내 예측보다 예측 효율이 높아서 목표하는 화질을 고려했을 때 오차 신호가 적거나 없을 수 있다. 일 실시예에서, 인트라 블록 카피 모드로 부호화된 블록의 오차 신호는 특정 조건에서는 거의 존재하지 않을 수 있을 수 있으며, 오차 신호를 보내지 않아도 목표하는 화질을 이룰 수 있다. 복호화기에서는 인트라 블록 카피 모드로 부호화된 블록에 대하여 묵시적으로 휘도 신호 및 색차 신호에 오차 정보가 존재하지 않는다고 설정할 수 있으며, 오차 신호와 관련된 정보를 파싱하지 않을 수 있다.
일 실시예에서, JVET-N1001-v2에서 “7.3.7.5 Coding unit syntax” 부분을 도 10과 같이 수정할 수 있다. JVET-N1001-v2 문서는 http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v2.zip에서 확인할 수 있다.
도 11은 본 발명의 일 실시예에 따른 코딩 유닛 신택스의 일 예이다.
도 11을 참조하면, 인트라 블록 카피 모드로 부호화되지 않은 경우에만 cu_cbf 정보가 파싱되고, 인트라 블록 카피 모드인 경우에는 묵시적으로 cu_cbf를 '0'으로 설정하여, 오차 신호와 관련된 정보가 파싱 또는 복호화되지 않도록 할 수 있다.
일 실시예에서는, 인트라 블록 카피 모드의 경우 묵시적으로 cu_cbf를 '1'로 설정하여 오차 신호와 관련된 정보가 파싱 또는 복호화되도록 할 수 있다. 또는, 인트라 블록 카피 모드의 경우, 묵시적으로 tu_cbf_luma, tu_cbf_cb, tu_cbf_cr 중에서 하나에 대하여 '0'으로 설정하여 휘도 또는 색차 신호와 관련된 오차 신호가 파싱 또는 복호화되지 않도록 할 수 있다.
도 12는 본 발명의 일 실시예에 따른 변환 유닛 신택스의 일 예이다. 도 12를 참조하면, 인트라 블록 카피 모드로 부호화되지 않은 경우에만 tu_cbf_luma, tu_cbf_cb, tu_cbf_cr 정보가 파싱될 수 있다. 한편, 인트라 블록 카피 모드인 경우에는 묵시적으로 tu_cbf_luma, tu_cbf_cb, tu_cbf_cr 중에서 하나를 '0'으로 설정하여, 오차 신호와 관련된 정보가 파싱 또는 복호화되지 않도록 할 수 있다.
일 실시예에서, 인트라 블록 카피 모드에서 묵시적으로 오차 신호와 관련된 정보를 파싱 또는 복호화할 지에 대한 여부는 현재 코딩 유닛 또는 주변 코딩 유닛의 변환 블록의 가로 및 세로 크기 정보, 휘도 신호, 색차 신호, 인접한 코딩 유닛의 화면 내 예측 모드 정보, 현재 코딩 유닛 또는 인접한 코딩 유닛이 방향성 모드인지 여부 정보, 양자화 파라미터, 코딩 트리 유닛 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다. 또는, 상기 정보 중 하나를 이용하여 독립적으로 상기 오차 신호와 관련된 정보를 파싱 또는 복호화할지에 대한 여부를 유도할 수 있다.
일 실시예에서, 인트라 블록 카피 모드에서 묵시적으로 오차 신호화 관련된 정보를 파싱 또는 복호화하지 않도록 하는 방법은 트라이앵글 머지(Triangle merge) 모드, CIIP 모드, CCLM 모드에서도 동일하게 적용될 수 있다. 상기 트라이앵글 머지 모드와 상기 CIIP 모드는 현재 블록의 가로 x 세로 크기가 64이상인 경우에만 수행될 수 있다. 상기 트라이 앵글 머지 모드 및 상기 CIIP 모드는 배경 부분이나 객체 내부와 같이 단조로운 영역에서 주로 사용될 수 있다. 단조로운 영역의 경우, 객체 경계 부분에 비해 오차 신호가 상대적으로 적을 수 있다. 따라서, 상기 트라이앵글 머지 모드로 부호화된 블록의 경우, 묵시적으로 오차 신호와 관련된 정보를 파싱 또는 복호화하지 않을 수 있다.
도 13은 본 발명의 일 실시예에 따른 코딩 유닛 신택스의 일 예를 나타내는 것이다. 도 13을 참조하면, 현재 블록이 트라이앵글 머지 모드 또는 CIIP 모드로 부호화되지 않은 경우에만 cu_cbf 정보가 파싱되고, 트라이앵글 머지 모드 또는 CIIP 모드일 경우에는 묵시적으로 cu_cbf를 '0'으로 설정하여, 오차 신호와 관련된 정보가 파싱 또는 복호화되지 않도록 할 수 있다.
도 14는 본 발명의 다른 실시예에 따른 변환 유닛 신택스의 일 예를 나타내는 것이다. 도 14를 참조하면, 트라이앵글 머지 모드 또는 CIIP 모드로 부호화되지 않은 경우에만 tu_cbf_luma, tu_cbf_cb, tu_cbf_cr 정보가 파싱될 수 있다. 또는 트라이앵글 머지 모드 또는 CIIP 모드일 경우에는 묵시적으로 tu_cbf_luma, tu_cbf_cb, tu_cbf_cr 중에서 하나를 '0'으로 설정하여, 오차 신호와 관련된 정보가 파싱 또는 복호화되지 않도록 할 수 있다.
일 실시예에서, CCLM 모드는 휘도 신호를 참조하여 색차 신호를 예측하는 방법으로 색차 신호에 대한 예측 효율이 높일 수 있다. CCLM 모드일 경우, 묵시적으로 tu_cbf_cb, tu_cbf_cr를 '0'으로 설정하여 색차 신호와 관련된 오차 신호가 파싱 또는 복호화되지 않도록 할 수 있다.
트라이앵글 머지 모드, CIIP 모드 또는 CCLM 모드는 묵시적으로 오차 신호와 관련된 정보를 파싱 또는 복호화할 지에 대한 여부에 대하여 참조 픽셀의 위치 정보, 현재 CU 또는 주변 CU의 변환 블록의 가로 세로 크기 정보, 휘도 신호, 색차 신호, ISP모드의 사용 유무, 현재 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU의 화면 내 예측 모드 정보, 현재 CU와 인접한 CU가 방향성 모드인지 여부 정보, 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지에 대한 정보, 화면 내 및 화면 간 부호화 모드 정보, 양자화 파라미터, CTU 경계에 대한 정보들 중에서 최소 하나 이상을 사용하여 유도될 수 있다. 또는 상기 정보들 중 하나를 독립적으로 이용하여 유도될 수 있다.
도 1 내지 14를 참조하여 상술한 모든 코딩 방법들은 휘도 신호 또는 색차 신호에 선택적으로 적용할 수 있다. 또한, 상기 방법들은 블록의 크기(가로 세로의 크기)가 임의의 값과 동일하거나, 또는 블록의 크기(가로 세로의 크기)가 임의의 값보다 크거나, 또는 블록의 크기(가로 세로의 크기)가 임의의 값보다 작을 때만 적용할 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (11)

  1. 현재 코딩 유닛 블록을 적어도 두 개 이상의 서브 블록으로 분할하는 단계;
    상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계;
    상기 화면 내 예측 모드 정보를 이용하여 상기 각 서브 블록에 대한 화면 내 예측 영상을 생성하는 단계;
    상기 화면 내 예측 영상에 선택적으로 필터링을 적용하는 단계;
    상기 필터링이 적용된 화면 내 예측 영상을 이용하여 상기 각 서브 블록을 복원하는 단계; 및
    상기 복원된 각 서브 블록의 경계에 디블록킹 필터링을 선택적으로 수행하는 단계를 포함하는 비디오 신호의 복호화 방법.
  2. 제 1 항에 있어서,
    상기 서브 블록으로 분할하는 단계는 상위 코딩 유닛의 분할 정보, 주변 코딩 유닛의 분할 정보, 및 주변 ISP모드의 분할 정보 중에서 적어도 하나 이상을 이용하여 현재 코딩 유닛 블록에 대한 분할을 묵시적으로 수행하는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  3. 제 1 항에 있어서,
    상기 코딩 유닛 블록이 임의의 크기 이하이고 휘도 블록이 4개의 서브 블록으로 분할된 경우, 색차 블록은 2개의 서브 블록으로 묵시적으로 분할되는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  4. 제 1 항에 있어서,
    상기 각 서브 블록의 변환 계수의 존재 여부 및 화면 내 예측 모드 정보를 이용하여 인접한 서브 블록의 경계에서 디블록킹 필터링가 수행되는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  5. 제 1 항에 있어서,
    상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계는,
    상기 현재 블록에 대한 화면 내 예측 모드 가용성 정보를 유도하는 단계; 및
    상기 화면 내 예측 모드 가용성 정보를 이용하여 상기 각 서브 블록에 대한 화면 내 예측 모드 정보를 유도하는 단계를 포함하는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  6. 제 5 항에 있어서,
    상기 화면 내 예측 모드 가용성 정보는 참조 픽셀이 픽쳐 경계 또는 다른 타일에 속해 있는지를 나타내는 참조 픽셀 위치 정보, 코딩 유닛 크기 정보, 휘도 및 색차 정보, 및 변환 블록 크기 정보 중에서 적어도 하나 이상을 이용하여 유도되는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  7. 제 1 항에 있어서,
    상기 각 서브 블록에 대한 화면 내 예측 영상을 구하는 단계는, 상기 현재 블록의 가로 및 세로 중 적어도 하나 이상의 크기가 임의의 값보다 큰 경우에만 적용되는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  8. 제 1 항에 있어서,
    상기 화면 내 예측 영상에 선택적으로 필터링을 적용하는 단계는,
    상기 현재 코딩 유닛의 변환 블록의 가로 또는 세로의 크기가 소정의 값 이상이고, 휘도 신호이며, 현재 블록에 인접한 참조 픽셀로부터 예측된 화면 내 예측 영상인 경우 수행되는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  9. 현재 블록에 대한 블록 벡터를 획득하는 단계;
    상기 블록 벡터를 이용하여 현재 픽쳐 내의 기복원된 참조 버퍼 영역에서 상기 현재 블록에 대한 예측 샘플을 획득하는 단계;
    상기 예측 샘플을 이용하여 상기 현재 블록을 복원하는 단계; 및
    상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계를 포함하는 비디오 신호의 복호화 방법.
  10. 제 9 항에 있어서,
    상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계는 상기 현재 픽쳐의 각 행(row)의 제 1 코딩 트리 유닛이 복호화되기 이전에 수행되는 것을 특징으로 하는 비디오 신호의 복호화 방법.
  11. 제 9 항에 있어서,
    상기 참조 버퍼 영역을 주기적으로 업데이트하는 단계는 참조 버퍼 메모리를 소정의 값으로 설정하는 것을 특징으로 하는 비디오 신호의 복호화 방법.
PCT/KR2020/003266 2019-03-08 2020-03-09 비디오 신호의 부호화 또는 복호화 방법 및 장치 WO2020184936A1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20190026857 2019-03-08
KR10-2019-0026857 2019-03-08
KR20190054254 2019-05-09
KR10-2019-0054254 2019-05-09
KR10-2020-0028855 2020-03-09
KR1020200028855A KR20200107871A (ko) 2019-03-08 2020-03-09 비디오 신호의 부호화 또는 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2020184936A1 true WO2020184936A1 (ko) 2020-09-17

Family

ID=72427469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003266 WO2020184936A1 (ko) 2019-03-08 2020-03-09 비디오 신호의 부호화 또는 복호화 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2020184936A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116134813A (zh) * 2021-09-15 2023-05-16 腾讯美国有限责任公司 通过使用块矢量传播ibc块的帧内预测模式信息

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160130869A (ko) * 2011-06-23 2016-11-14 가부시키가이샤 제이브이씨 켄우드 화상 인코딩 장치, 화상 인코딩 방법 및 화상 인코딩 프로그램, 및 화상 디코딩 장치, 화상 디코딩 방법 및 화상 디코딩 프로그램
KR20170020928A (ko) * 2014-07-07 2017-02-24 에이치에프아이 이노베이션 인크. 인트라 블록 카피 검색 및 보상 범위의 방법
KR101844698B1 (ko) * 2014-05-23 2018-04-02 후아웨이 테크놀러지 컴퍼니 리미티드 블록-예측 기법들에 사용하기 위한 사전-예측 필터링을 위한 방법 및 장치
KR20180107097A (ko) * 2016-02-16 2018-10-01 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160130869A (ko) * 2011-06-23 2016-11-14 가부시키가이샤 제이브이씨 켄우드 화상 인코딩 장치, 화상 인코딩 방법 및 화상 인코딩 프로그램, 및 화상 디코딩 장치, 화상 디코딩 방법 및 화상 디코딩 프로그램
KR101844698B1 (ko) * 2014-05-23 2018-04-02 후아웨이 테크놀러지 컴퍼니 리미티드 블록-예측 기법들에 사용하기 위한 사전-예측 필터링을 위한 방법 및 장치
KR20170020928A (ko) * 2014-07-07 2017-02-24 에이치에프아이 이노베이션 인크. 인트라 블록 카피 검색 및 보상 범위의 방법
KR20180107097A (ko) * 2016-02-16 2018-10-01 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 4", JVET-M1001-V5 . JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11. 13TH MEETING, 27 February 2019 (2019-02-27), Marrakech, pages 1 - 274, XP030254441 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116134813A (zh) * 2021-09-15 2023-05-16 腾讯美国有限责任公司 通过使用块矢量传播ibc块的帧内预测模式信息

Similar Documents

Publication Publication Date Title
WO2018212578A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018066959A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018174593A1 (ko) 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
WO2018212577A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016200100A1 (ko) 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2018056703A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018106047A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018008904A2 (ko) 비디오 신호 처리 방법 및 장치
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018044087A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020162737A1 (ko) 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치
WO2011021839A2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2018008905A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020009419A1 (ko) 병합 후보를 사용하는 비디오 코딩 방법 및 장치
WO2019235891A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013154366A1 (ko) 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치
WO2019078664A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016159610A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021071183A1 (ko) 현재블록의 변환계수들을 역변환하는 방법 및 장치
WO2016048092A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013109123A1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
WO2016064123A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020242145A1 (ko) 적응적 파라미터 셋을 사용하는 비디오 코딩 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20769601

Country of ref document: EP

Kind code of ref document: A1