WO2021118309A1 - 비디오 신호 처리 방법 및 장치 - Google Patents
비디오 신호 처리 방법 및 장치 Download PDFInfo
- Publication number
- WO2021118309A1 WO2021118309A1 PCT/KR2020/018199 KR2020018199W WO2021118309A1 WO 2021118309 A1 WO2021118309 A1 WO 2021118309A1 KR 2020018199 W KR2020018199 W KR 2020018199W WO 2021118309 A1 WO2021118309 A1 WO 2021118309A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reference pixel
- current block
- intra prediction
- pixel
- block
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to a video signal processing method and apparatus.
- HD High Definition
- UHD Ultra High Definition
- Interprediction technology that predicts pixel values included in the current picture from pictures before or after the current picture as an image compression technology
- intra prediction technology that predicts pixel values included in the current picture using pixel information in the current picture
- Various technologies exist such as entropy encoding technology in which a short code is assigned to a value with a high frequency and a long code is allocated to a value with a low frequency of occurrence, and the image data can be effectively compressed and transmitted or stored using these image compression techniques.
- An object of the present invention is to provide an improved intra prediction method and apparatus in encoding/decoding a video signal.
- An object of the present invention is to provide an efficient method and apparatus for deriving an intra prediction mode.
- An object of the present invention is to provide a method and apparatus for constructing a reference pixel for intra prediction.
- An object of the present invention is to provide a method and apparatus for correcting a prediction pixel according to intra prediction.
- the image decoding method determines a reference pixel line for intra prediction of a current block from among a plurality of pre-defined reference pixel line candidates, determines an intra prediction mode of the current block, and the determined reference pixel line and the intra prediction mode, intra prediction of the current block may be performed.
- the plurality of reference pixel line candidates include a first reference pixel line adjacent to the current block, a second reference pixel line adjacent to the first reference pixel line, or the second reference pixel line. may include at least one of the third reference pixel lines adjacent to .
- the method further comprising: obtaining information for specifying a reference pixel line of the current block from a bitstream, wherein the first pixel of the current block is horizontally or vertically from the current pixel It is predicted using pixels spaced apart by n in the direction, and the value of n may be determined based on the obtained information.
- the first pixel belongs to a pixel line adjacent to an upper boundary or a left boundary of the current block, and a second pixel is not adjacent to an upper boundary or a left boundary of the current block.
- the determined number of reference pixel lines may be two or more.
- the performing of the intra prediction includes selecting at least one reference pixel from each of the two or more reference pixel lines and calculating a weighted sum of the selected plurality of reference pixels. may include steps.
- the pixel of the current block may be predicted based on the calculated weighted sum.
- the image decoding method according to the present invention may further include correcting a prediction pixel of the current block obtained through the intra prediction.
- the reference pixel for correcting the prediction pixel may belong to at least one of a neighboring block adjacent to the current block or the current block.
- the reference pixel may be a pixel located on the same line as the current pixel of the current block, and the line may be a line having a direction or an angle according to an intra prediction mode of the current block.
- the reference pixel may further include a default pixel pre-promised to the decoding apparatus.
- At least one of the position and the number of the default pixels may be determined depending on the intra prediction mode of the current block.
- An image encoding method determines a reference pixel line for intra prediction of a current block from among a plurality of pre-defined reference pixel line candidates, determines an intra prediction mode of the current block, and the determined reference pixel line and the current block may be encoded based on the prediction block obtained based on the intra prediction mode.
- a computer-readable recording medium storing a bitstream decoded by an image decoding method according to the present invention, wherein the image decoding method includes: a reference for intra prediction of a current block among a plurality of pre-defined reference pixel line candidates The pixel line may be determined, the intra prediction mode of the current block may be determined, and the intra prediction of the current block may be performed based on the determined reference pixel line and the intra prediction mode.
- an intra prediction mode can be efficiently derived.
- reference pixels for intra prediction can be variously configured, and prediction accuracy can be improved based on this.
- the present invention can improve prediction accuracy by correcting prediction pixels according to intra prediction, thereby improving encoding efficiency.
- FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
- 3 and 4 illustrate a lossless encoding method according to the present disclosure.
- FIG 5 illustrates an intra prediction method according to the present disclosure.
- FIG. 7 illustrates a method of encoding an intra prediction mode according to the present disclosure.
- FIG 9 illustrates an intra prediction method based on a planar mode according to the present disclosure.
- FIG. 10 illustrates an intra prediction method based on a DC mode according to the present disclosure.
- 11 to 13 illustrate an improved intra prediction method according to the present disclosure.
- 14 to 16 illustrate an intra prediction method based on a multi-reference pixel line according to the present disclosure.
- 17 to 19 illustrate a method of improving a prediction pixel according to the present disclosure.
- the image decoding method determines a reference pixel line for intra prediction of a current block from among a plurality of pre-defined reference pixel line candidates, determines an intra prediction mode of the current block, and the determined reference pixel line and the intra prediction mode, intra prediction of the current block may be performed.
- the plurality of reference pixel line candidates include a first reference pixel line adjacent to the current block, a second reference pixel line adjacent to the first reference pixel line, or the second reference pixel line. may include at least one of the third reference pixel lines adjacent to .
- the method further comprising: obtaining information for specifying a reference pixel line of the current block from a bitstream, wherein the first pixel of the current block is horizontally or vertically from the current pixel It is predicted using pixels spaced apart by n in the direction, and the value of n may be determined based on the obtained information.
- the first pixel belongs to a pixel line adjacent to an upper boundary or a left boundary of the current block, and a second pixel is not adjacent to an upper boundary or a left boundary of the current block.
- the determined number of reference pixel lines may be two or more.
- the performing of the intra prediction includes selecting at least one reference pixel from each of the two or more reference pixel lines and calculating a weighted sum of the selected plurality of reference pixels. may include steps.
- the pixel of the current block may be predicted based on the calculated weighted sum.
- the image decoding method according to the present invention may further include correcting a prediction pixel of the current block obtained through the intra prediction.
- the reference pixel for correcting the prediction pixel may belong to at least one of a neighboring block adjacent to the current block or the current block.
- the reference pixel may be a pixel located on the same line as the current pixel of the current block, and the line may be a line having a direction or an angle according to an intra prediction mode of the current block.
- the reference pixel may further include a default pixel pre-promised to the decoding apparatus.
- At least one of the position and the number of the default pixels may be determined depending on the intra prediction mode of the current block.
- An image encoding method determines a reference pixel line for intra prediction of a current block from among a plurality of pre-defined reference pixel line candidates, determines an intra prediction mode of the current block, and the determined reference pixel line and the current block may be encoded based on the prediction block obtained based on the intra prediction mode.
- a computer-readable recording medium storing a bitstream decoded by an image decoding method according to the present invention, wherein the image decoding method includes: a reference for intra prediction of a current block among a plurality of pre-defined reference pixel line candidates The pixel line may be determined, the intra prediction mode of the current block may be determined, and the intra prediction of the current block may be performed based on the determined reference pixel line and the intra prediction mode.
- first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
- FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
- the image encoding apparatus 100 includes a picture division unit 110 , prediction units 120 and 125 , a transform unit 130 , a quantization unit 135 , a rearrangement unit 160 , and an entropy encoding unit ( 165 ), an inverse quantization unit 140 , an inverse transform unit 145 , a filter unit 150 , and a memory 155 .
- each of the constituent units shown in FIG. 1 is independently illustrated to represent different characteristic functions in the image encoding apparatus, and does not mean that each constituent unit is composed of separate hardware or one software constituent unit. That is, each component is listed as each component for convenience of description, and at least two components of each component are combined to form one component, or one component can be divided into a plurality of components to perform a function, and each Integrated embodiments and separate embodiments of components are also included in the scope of the present invention without departing from the essence of the present invention.
- the components are not essential components for performing essential functions in the present invention, but may be optional components for merely improving performance.
- the present invention can be implemented by including only essential components to implement the essence of the present invention, except for components used for performance improvement, and a structure including only essential components excluding optional components used for performance improvement Also included in the scope of the present invention.
- the picture divider 110 may divide the input picture into at least one processing unit.
- the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU).
- the picture splitter 110 divides one picture into a combination of a plurality of coding units, prediction units, and transformation units, and combines one coding unit, prediction unit, and transformation unit based on a predetermined criterion (eg, a cost function). can be selected to encode the picture.
- a predetermined criterion eg, a cost function
- one picture may be divided into a plurality of coding units.
- a recursive tree structure such as a quad tree structure can be used.
- a unit may be divided having as many child nodes as the number of divided coding units.
- a coding unit that is no longer split according to certain restrictions becomes a leaf node. That is, when it is assumed that only square splitting is possible for one coding unit, one coding unit may be split into up to four different coding units.
- a coding unit may be used as a unit for performing encoding or may be used as a meaning for a unit for performing decoding.
- a prediction unit may be split in the form of at least one square or rectangle of the same size within one coding unit, and one prediction unit among the split prediction units within one coding unit is a prediction of another. It may be divided to have a shape and/or size different from that of the unit.
- intra prediction may be performed without dividing the prediction unit into a plurality of prediction units NxN.
- the prediction units 120 and 125 may include an inter prediction unit 120 performing inter prediction and an intra prediction unit 125 performing intra prediction. Whether to use inter prediction or to perform intra prediction for a prediction unit may be determined, and specific information (eg, intra prediction mode, motion vector, reference picture, etc.) according to each prediction method may be determined. In this case, 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. For example, a prediction method and a prediction mode may be determined in a prediction unit, and prediction may be performed in a transformation unit. A residual value (residual block) between the generated prediction block and the original block may be input to the transform unit 130 . Also, prediction mode information, motion vector information, etc.
- the entropy encoder 165 may be encoded by the entropy encoder 165 together with the residual value and transmitted to the decoding apparatus.
- a specific encoding mode it is also possible to encode the original block as it is without generating the prediction block through the prediction units 120 and 125 and transmit it to the decoder.
- the inter prediction unit 120 may predict a prediction unit based on information on at least one of a picture before or after a picture of the current picture, and in some cases, prediction based on information of a partial region in the current picture that has been encoded Units can also be predicted.
- the inter prediction unit 120 may include a reference picture interpolator, a motion prediction unit, and a motion compensator.
- the reference picture interpolator may receive reference picture information from the memory 155 and generate pixel information of integer pixels or less in the reference picture.
- a DCT-based 8-tap interpolation filter (DCT-based Interpolation Filter) with different filter coefficients may be used to generate pixel information of integer pixels or less in units of 1/4 pixels.
- a DCT-based 4-tap interpolation filter in which filter coefficients are different to generate pixel information of integer pixels or less in units of 1/8 pixels may be used.
- the motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolator.
- various methods such as Full search-based Block Matching Algorithm (FBMA), Three Step Search (TSS), and New Three-Step Search Algorithm (NTS) may be used.
- the motion vector may have a motion vector value of 1/2 or 1/4 pixel unit based on the interpolated pixel.
- the motion prediction unit may predict the current prediction unit by using a different motion prediction method.
- Various methods such as a skip method, a merge method, an AMVP (Advanced Motion Vector Prediction) method, an intra block copy method, etc., may be used as the motion prediction method.
- the intra prediction unit 125 may generate a prediction unit based on reference pixel information around the current block, which is pixel information in the current picture.
- reference pixel information around the current block which is pixel information in the current picture.
- a neighboring block of the current prediction unit is a block on which inter prediction is performed, and thus a reference pixel is a pixel on which inter prediction is performed
- a reference pixel included in the block on which inter prediction is performed is a reference pixel of the block on which intra prediction has been performed. information can be used instead. That is, when the reference pixel is not available, the unavailable reference pixel information may be replaced with at least one reference pixel among the available reference pixels.
- the prediction mode may have a directional prediction mode that uses reference pixel information according to a prediction direction and a non-directional mode that does not use directional information when prediction is performed.
- a mode for predicting luminance information and a mode for predicting chrominance information may be different, and intra prediction mode information used for predicting luminance information or predicted luminance signal information may be utilized to predict chrominance information.
- intra prediction When intra prediction is performed, if the size of the prediction unit and the size of the transformation unit are the same, intra prediction for the prediction unit based on the pixel present on the left side, the pixel present on the upper left side, and the pixel present on the upper side of the prediction unit can be performed. However, when the size of the prediction unit is different from the size of the transformation unit when performing intra prediction, intra prediction may be performed using a reference pixel based on the transformation unit. In addition, intra prediction using NxN splitting may be used only for the smallest coding unit.
- the intra prediction method may generate a prediction block after applying an adaptive intra smoothing (AIS) filter to a reference pixel according to a prediction mode.
- AIS adaptive intra smoothing
- the intra prediction mode of the current prediction unit may be predicted from the intra prediction mode of the prediction unit existing around the current prediction unit.
- the prediction mode of the current prediction unit is predicted using the mode information predicted from the neighboring prediction unit, if the intra prediction mode of the current prediction unit and the neighboring prediction unit are the same, the current prediction unit and the neighboring prediction unit are used using predetermined flag information It is possible to transmit information that the prediction modes of . , and if the prediction modes of the current prediction unit and the neighboring prediction units are different from each other, entropy encoding may be performed to encode prediction mode information of the current block.
- a residual block including residual information which is a difference value between a prediction unit and an original block of the prediction unit, in which prediction is performed based on the prediction unit generated by the prediction units 120 and 125 may be generated.
- the generated residual block may be input to the transform unit 130 .
- the transform unit 130 converts the original block and the residual block including residual information of the prediction unit generated by the prediction units 120 and 125 to DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT and It can be converted using the same conversion method. Whether to apply DCT, DST, or KLT to transform the residual block may be determined based on intra prediction mode information of a prediction unit used to generate the residual block.
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Discrete Sine Transform
- the quantizer 135 may quantize the values transformed by the transform unit 130 into the frequency domain.
- the quantization coefficient may change according to blocks or the importance of an image.
- the value calculated by the quantization unit 135 may be provided to the inverse quantization unit 140 and the rearrangement unit 160 .
- the rearrangement unit 160 may rearrange the coefficient values on the quantized residual values.
- the reordering unit 160 may change the two-dimensional block form coefficient into a one-dimensional vector form through a coefficient scanning method.
- the rearranging unit 160 may use a Zig-Zag Scan method to scan from DC coefficients to coefficients in a high-frequency region and change them into a one-dimensional vector form.
- a vertical scan that scans a two-dimensional block shape coefficient in a column direction and a horizontal scan that scans a two-dimensional block shape coefficient in a row direction may be used instead of a zig-zag scan according to a size of a transform unit and an intra prediction mode. That is, it may be determined whether any of the zig-zag scan, the vertical scan, and the horizontal scan is used according to the size of the transform unit and the intra prediction mode.
- the entropy encoding unit 165 may perform entropy encoding based on the values calculated by the reordering unit 160 .
- various encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be used.
- the entropy encoding unit 165 receives the residual value coefficient information and block type information, prediction mode information, division unit information, prediction unit information and transmission unit information, motion of the coding unit from the reordering unit 160 and the prediction units 120 and 125 .
- Various information such as vector information, reference frame information, interpolation information of a block, and filtering information may be encoded.
- the entropy encoder 165 may entropy-encode the coefficient values of the coding units input from the reordering unit 160 .
- the inverse quantizer 140 and the inverse transform unit 145 inversely quantize the values quantized by the quantizer 135 and inversely transform the values transformed by the transform unit 130 .
- the residual values generated by the inverse quantizer 140 and the inverse transform unit 145 are combined with the prediction units predicted through the motion estimation unit, the motion compensator, and the intra prediction unit included in the prediction units 120 and 125 and restored. You can create a Reconstructed Block.
- the filter unit 150 may include at least one of a deblocking filter, an offset correcting unit, and an adaptive loop filter (ALF).
- a deblocking filter may include at least one of a deblocking filter, an offset correcting unit, and an adaptive loop filter (ALF).
- ALF adaptive loop filter
- the deblocking filter may remove block distortion caused by the boundary between blocks in the reconstructed picture.
- it may be determined whether to apply the deblocking filter to the current block based on pixels included in several columns or rows included in the block.
- a strong filter or a weak filter can be applied according to the required deblocking filtering strength.
- horizontal filtering and vertical filtering may be concurrently processed when performing vertical filtering and horizontal filtering.
- the offset corrector may correct the offset of the deblocked image with respect to the original image in units of pixels.
- a method of dividing pixels included in an image into a certain number of regions, determining the region to be offset and applying the offset to the region, or taking edge information of each pixel into consideration can be used to apply
- Adaptive loop filtering may be performed based on a value obtained by comparing the filtered reconstructed image and the original image. After dividing the pixels included in the image into a predetermined group, one filter to be applied to the corresponding group is determined, and filtering can be performed differentially for each group.
- the luminance signal may be transmitted for each coding unit (CU), and the shape and filter coefficients of the ALF filter to be applied may vary according to each block.
- the ALF filter of the same type may be applied regardless of the characteristics of the target block.
- the memory 155 may store the reconstructed block or picture calculated through the filter unit 150 , and the stored reconstructed block or picture may be provided to the predictors 120 and 125 when inter prediction is performed.
- FIG. 2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
- the image decoding apparatus 200 includes an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, prediction units 230 and 235, and a filter unit ( 240) and a memory 245 may be included.
- the input bitstream may be decoded by a procedure opposite to that of the image encoding apparatus.
- the entropy decoding unit 210 may perform entropy decoding in a procedure opposite to that performed by the entropy encoding unit of the image encoding apparatus. For example, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied corresponding to the method performed by the image encoding apparatus.
- various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied corresponding to the method performed by the image encoding apparatus.
- CAVLC Context-Adaptive Variable Length Coding
- CABAC Context-Adaptive Binary Arithmetic Coding
- the entropy decoding unit 210 may decode information related to intra prediction and inter prediction performed by the encoding apparatus.
- the reordering unit 215 may perform reordering based on a method of rearranging the entropy-decoded bitstream by the entropy decoding unit 210 by the encoder. Coefficients expressed in the form of a one-dimensional vector may be restored and rearranged as coefficients in the form of a two-dimensional block.
- the reordering unit 215 may receive information related to coefficient scanning performed by the encoder and perform the reordering by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
- the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoding apparatus and the reordered coefficient values of the blocks.
- the inverse transform unit 225 may perform inverse transforms, ie, inverse DCT, inverse DST, and inverse KLT, on the transforms performed by the transform unit, ie, DCT, DST, and KLT, on the quantization result performed by the image encoding apparatus. Inverse transform may be performed based on a transmission unit determined by the image encoding apparatus.
- the inverse transform unit 225 of the image decoding apparatus may selectively perform a transformation technique (eg, DCT, DST, KLT) according to a plurality of pieces of information such as a prediction method, a size of a current block, and a prediction direction.
- a transformation technique eg, DCT, DST, KLT
- the prediction units 230 and 235 may generate a prediction block based on the prediction block generation related information provided from the entropy decoding unit 210 and previously decoded block or picture information provided from the memory 245 .
- intra prediction when intra prediction is performed in the same manner as in the operation in the image encoding apparatus, when the size of the prediction unit and the size of the transformation unit are the same, the pixel present on the left side of the prediction unit, the pixel present on the upper left side, and the upper Intra prediction is performed on the prediction unit based on the existing pixel, but when the size of the prediction unit and the size of the transformation unit are different when performing intra prediction, intra prediction is performed using the reference pixel based on the transformation unit can do. Also, intra prediction using NxN splitting may be used only for the smallest coding unit.
- the prediction units 230 and 235 may include a prediction unit determiner, an inter prediction unit, and an intra prediction unit.
- 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 divides the prediction unit from the current coding unit, and predicts It may be determined whether the 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 image encoding apparatus based on information included in at least one of a picture before or after the current picture including the current prediction unit. Inter prediction may be performed on the prediction unit. Alternatively, inter prediction may be performed based on information of a pre-restored partial region in the current picture including the current prediction unit.
- a motion prediction method of a prediction unit included in a corresponding coding unit based on a coding unit is selected from among skip mode, merge mode, AMVP mode, and intra block copy mode. You can decide which way to go.
- 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 by the image encoding apparatus.
- the intra prediction unit 235 may include an Adaptive Intra Smoothing (AIS) filter, a reference pixel interpolator, and a DC filter.
- the AIS filter is a part that performs filtering on the reference pixel of the current block, and may be applied by determining whether to apply the filter according to the prediction mode of the current prediction unit.
- AIS filtering may be performed on the reference pixel of the current block by using the prediction mode and AIS filter information of the prediction unit provided by the image encoding apparatus.
- the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter may not be applied.
- the reference pixel interpolator may interpolate the reference pixel to generate a reference pixel of a pixel unit having an integer value or less.
- the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel
- the reference pixel may not be interpolated.
- the DC filter may generate the prediction block through filtering when the prediction mode of the current block is the DC mode.
- the reconstructed block or picture may be provided to the filter unit 240 .
- the filter unit 240 may include a deblocking filter, an offset correction unit, and an ALF.
- the deblocking filter of the image decoding apparatus may receive deblocking filter-related information provided from the image encoding apparatus, and the image decoding apparatus may perform deblocking filtering on the corresponding block.
- 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, information on the offset value, and the like.
- ALF may be applied to a coding unit based on information on whether ALF is applied, ALF coefficient information, etc. provided from the encoding apparatus. Such ALF information may be provided by being included in a specific parameter set.
- the memory 245 may store the reconstructed picture or block to be used as a reference picture or reference block, and may also provide the reconstructed picture to an output unit.
- a coding unit is used as a term for a coding unit for convenience of description, but it may also be a unit for performing decoding as well as coding.
- the current block denotes an encoding/decoding target block, and depending on the encoding/decoding step, a coding tree block (or coding tree unit), a coding block (or a coding unit), a transform block (or a transform unit), or a prediction block (or prediction unit) and the like.
- a 'unit' may indicate a basic unit for performing a specific encoding/decoding process
- a 'block' may indicate a pixel array of a predetermined size.
- 'block' and 'unit' may be used interchangeably.
- the coding block (coding block) and the coding unit (coding unit) are mutually equivalent.
- 3 and 4 illustrate a lossless encoding method according to the present disclosure.
- Image compression can be broadly classified into lossy coding and lossless coding.
- the biggest difference between the two encodings is the presence or absence of a quantization process.
- lossy coding greater compression efficiency than lossless coding can be obtained through a quantization process, but data loss may occur.
- lossless encoding the original data can be maintained as it is, but compression efficiency is lower than in lossy encoding.
- reconstructed data different from the original data may be generated (ie, loss occurs). Accordingly, in lossless coding, a quantization process and an in-loop filtering process may be skipped. In this case, if the quantization process is omitted, the transform process for transforming the residual data into frequency domain components becomes meaningless, so that the transform process can be further omitted when lossless encoding is applied.
- information indicating whether lossless encoding is applied must be transmitted to the decoder.
- information indicating whether lossless encoding is performed may be encoded through an upper header (eg, SPS, PPS, or slice header). If the upper header indicates that lossless encoding has been performed using 1-bit information (flag), the decoder determines that lossless encoding has been performed using the 1-bit information. When it is determined that lossless encoding has been performed, the decoder may omit the quantization and in-loop filtering processes and decode the image.
- a flag for determining a variable lossless_coding for determining whether to use lossless encoding may be signaled through a bitstream.
- a value of the variable lossless_coding being true indicates that lossless encoding is applied, and a value of the variable lossless_coding being false indicates that lossless encoding is not applied.
- Variables indicating whether transform, quantization, deblocking filter, SAO, or ALF are used may be defined as t_skip, q_skip, d_skip, s_skip, and a_skip. A value of true of the variables indicates that a corresponding coding process is omitted, and a value of false indicates that a corresponding coding process is not omitted.
- variable lossless_coding it may be determined whether a flag for determining the values of the variables is signaled through the bitstream. For example, when the value of the variable lossless_coding is true, signaling of a flag for determining the variables t_skip, q_skip, d_skip, s_skip, and a_skip may be omitted. Variables whose encoding is omitted may be estimated as pre-defined values. A pre-defined value may be true.
- flags for determining variables t_skip, q_skip, d_skip, s_skip, and a_skip may be decoded. Based on whether the value of each variable is true or false, it is possible to determine whether to skip the corresponding coding process.
- t_skip when the value of lossless_coding is false, at least one of t_skip, q_skip, d_skip, s_skip, and a_skip may be set to true. Accordingly, when values of variables other than the first variable are false, signaling of a flag for determining the value of the first variable may be omitted and the value of the first variable may be set to true. For example, when values of t_skip, q_skip, d_skip, and s_skip are false, encoding of a flag for determining a_skip may be omitted and the variable a_skip may be set to true.
- lossless_coding may be defined as an internal variable.
- the value of the internal variable lossless_coding may be determined based on the variables t_skip, q_skip, d_skip, s_skip, and a_skip.
- a flag for determining a value of each of variables t_skip, q_skip, d_skip, s_skip, and a_skip may be signaled through a bitstream.
- the variable lossless_coding may be set to true.
- the variable lossless_coding may be determined to be false.
- blk_lossless_coding the value of blk_lossless_coding may be set to the value of the variable lossless_coding set in FIG. 3 or FIG. 4 .
- blk_lossless_coding may be encoded for each block to determine whether lossless encoding is performed on a block-by-block basis.
- FIG 5 illustrates an intra prediction method according to the present disclosure.
- a reference pixel line for intra prediction of a currently encoded/decoded block (hereinafter, referred to as a current block) may be determined ( S500 ).
- the reference pixel line according to the present disclosure may belong to a neighboring block adjacent to the current block.
- the neighboring block may include at least one of a left block, an upper block, an upper left block, a lower left block, an upper right block, a right block, a lower right block, and a lower block.
- the reference pixel line may belong to a spatial block belonging to the same picture as the current block but not adjacent to the current block, or may belong to a temporal block belonging to a picture different from the current block.
- the temporal block may be a block in the same position as a neighboring block of the aforementioned current block.
- the reference pixel line may be limited to belong only to a block pre-encoded/decoded before the current block, or may belong to a block encoded/decoded after the current block. In this case, a separate padding process may be involved, which will be described later.
- the reference pixel line may be determined as any one of a plurality of reference pixel line candidates.
- the plurality of reference pixel line candidates include a first reference pixel line adjacent to the current block, a second reference pixel line adjacent to the first reference pixel line, . , at least one of an n-th reference pixel line adjacent to the (n-1)-th reference pixel line.
- n may be an integer of 2, 3, 4, or more.
- the plurality of reference pixel line candidates may include first to fourth reference pixel lines, only first to third reference pixel lines, or only first and third reference pixel lines. .
- any one of the above-described first to nth reference pixel lines may be selectively used, and for this purpose, information for specifying a position of the reference pixel line may be used.
- the information may be signaled by the encoding apparatus or may be derived from the decoding apparatus based on a predetermined encoding parameter.
- the encoding parameter may include at least one of a block size, a shape, a position, a component type (Y/Cb/Cr), a prediction mode (intra/inter), an intra prediction mode, or a non-directional mode.
- a block may mean a current block and/or a neighboring block, or a coding block, a prediction block, and/or a transform block.
- the number of reference pixel line candidates available for the current block may be variably determined based on the above-described encoding parameter, and information for specifying the number may be separately signaled.
- an intra prediction mode of the current block may be determined ( S510 ).
- the intra prediction mode of the current block may be determined as any one of intra prediction modes pre-defined in the encoding/decoding apparatus.
- the pre-defined intra prediction mode may be composed of two non-directional modes and 65 directional modes, as shown in FIG. 6 .
- the directional mode includes at least one of a planar mode or a DC mode
- the non-directional mode includes a mode (eg, vertical mode, horizontal mode, diagonal mode, etc.) having a predetermined angle/direction.
- a method of determining the intra prediction mode will be described in detail with reference to FIGS. 7 and 8 .
- intra prediction of the current block may be performed based on the determined reference pixel line and the intra prediction mode ( S520 ).
- a pixel corresponding to the determined intra prediction mode among pixels of the reference pixel line may be specified as a reference pixel, and intra prediction may be performed using the specified reference pixel.
- a detailed intra prediction method will be described in detail with reference to FIGS. 9 to 19 .
- FIG. 7 illustrates a method of encoding an intra prediction mode according to the present disclosure.
- the reference pixel line index for intra prediction of the current block may be encoded.
- the reference pixel line index may be information for specifying the position of the aforementioned reference pixel line, and may be encoded in units of blocks.
- the MPM flag may be encoded.
- the MPM flag may indicate whether the intra prediction mode of the current block is determined based on the MPM.
- a plane mode flag indicating whether the plane mode is used may be coded.
- the encoding process of the intra prediction mode is terminated. If the planar mode is not used, an index specifying the same MPM candidate as the intra prediction mode used for the current block may be encoded.
- the MPM flag may be omitted and the value of the MPM flag may be set to true. That is, it is possible to encode the MPM index without encoding the MPM flag.
- the MPM flag is false, one of the remaining modes except for the MPM candidate among intra prediction modes pre-defined in the encoding apparatus may be encoded.
- the reference pixel line index for intra prediction of the current block may be decoded.
- the MPM flag may be decoded.
- the plane mode flag indicating whether the plane mode is used may be decoded.
- the intra prediction mode of the current block may be set to the planar mode.
- the MPM index specifying the same MPM candidate as the intra prediction mode used for the current block is decoded. can do.
- the intra prediction mode of the current block may be determined based on the pre-configured MPM candidate and the decoded MPM index. A method of configuring the MPM candidate will be described in detail with reference to FIG. 8 .
- decoding of the MPM flag may be omitted and the value of the MPM flag may be set to true. have. That is, the MPM index can be decoded without decoding the MPM flag.
- the intra prediction mode of the current block may be determined based on the pre-configured MPM candidate and the decoded MPM index.
- the remaining mode information specifying one of the remaining modes except for the planar mode and the pre-configured MPM candidate among intra prediction modes pre-defined in the decoding apparatus may be decoded.
- the mode specified by the decoded remaining mode information may be set as the intra prediction mode of the current block.
- an MPM candidate may be constructed using an intra prediction mode used in a neighboring block of the current block. If the intra prediction mode of the current block is the same as the MPM candidate included in the MPM candidate list, the same MPM candidate as the intra prediction mode of the current block may be specified using the MPM index. If the same MPM candidate as the intra prediction mode of the current block does not exist, the intra prediction mode of the current block may be encoded/decoded after reassigning indexes of the remaining intra prediction modes except for the MPM candidates. For convenience of description, it is assumed that the number of MPM candidates included in the MPM candidate list is 5.
- the neighboring block may include at least one of an upper neighboring block, a left neighboring block, an upper left neighboring block, an upper right neighboring block, or a lower left neighboring block.
- LB denotes a pixel located at the lower left of the block
- RT denotes a pixel located at the upper right of the block
- L denotes a position of a restored pixel that exists immediately to the left of LB
- A denotes a position of a restored pixel that exists immediately above RT.
- the reconstructed block existing on the left is a block including L
- the reconstructed block existing above is a block including A
- an MPM candidate may be derived from a reconstructed block including a reconstructed pixel (g or h) positioned in the middle left or a block including a reconstructed pixel (c or d) positioned in the upper middle.
- the intra prediction mode used in the left reconstruction block is called Left, and the intra prediction mode used in the upper reconstruction block is defined as Above.
- Left may be set to the planar mode.
- the upper reconstructed block is unavailable, if the upper reconstructed block is not encoded by intra prediction, if matrix-based prediction (MIP) is used for the upper reconstructed block, or if the upper reconstructed block is the CTU ( coding tree unit), Above can be set to flat mode. If it does not correspond to the above-mentioned case, Left and Above may be respectively set to the intra prediction mode used by the left reconstructed block and the intra prediction mode used by the upper reconstructed block.
- BDPCM is applied to the left or upper restoration block
- Left or Above may be set to horizontal mode or vertical mode depending on the BDPCM application direction.
- MPM candidates can be composed of [Left, Left-1, Left+1, Left-2, Left+2].
- the candidate composition method will be different depending on whether both Left and Above are directional modes or only one of them is a directional mode.
- the mode with the largest value among the two modes is defined as Max, and the mode with the smallest value is defined as Min.
- MPM candidates can be configured in the following way. If the value of (Max - Min) is 1, the MPM candidate may be composed of [Left, Above, Min-1, Max +1, Min-2]. Rather, if the value of (Max - Min) is 62 or higher, the MPM candidate can be composed of [Left, Above, Min+1, Max -1, Min+2]. Rather, if the value of (Max - Min) is 2, the MPM candidate can be composed of [Left, Above, Min+1, Min -1, Max+1]. Otherwise, the MPM candidate can consist of [Left, Above, Min-1, Min +1, Max-1].
- MPM candidates can be composed of [Max, Max-1, Max+1, Max -2, Max+2].
- MPM candidates can consist of [DC mode, 50 (vertical mode), 18 (horizontal mode), vertical-4, vertical+4].
- FIG 9 illustrates an intra prediction method based on a planar mode according to the present disclosure.
- a prediction pixel may be generated as shown in FIG. 9 under the planar mode (planar mode) allocated to mode 0.
- T and L are examples of neighboring reconstructed pixels used when generating a prediction block in a planar mode.
- T denotes a reconstructed pixel located in the upper right corner.
- L denotes a reconstructed pixel located in the lower left corner.
- P1 is a prediction pixel for the horizontal direction.
- P1 may be generated by linearly interpolating the reconstructed pixel and T located at the same position along the Y axis as P1.
- P2 is a prediction pixel for the vertical direction.
- P2 may be generated by linearly interpolating the reconstructed pixel and L located at the same position along the X axis as P2.
- Equation 1 a final prediction pixel is generated by weighting P1 and P2.
- the weights ⁇ and ⁇ may have the same value.
- the weights ⁇ and ⁇ may be determined in consideration of the shape, width, height, or aspect ratio of the block.
- FIG. 10 illustrates an intra prediction method based on a DC mode according to the present disclosure.
- the prediction pixel may be generated as shown in FIG. 10 .
- the size of a block is 4x4.
- reconstructed pixels existing around the block are set as reference pixels, and after calculating the average value of the reference pixels, the calculated values are set as all prediction pixels in the prediction block.
- the reference pixels used to calculate the average value may include at least one of upper reconstructed pixels B to E, left reconstructed pixels F to I, or upper left reconstructed pixel A.
- the average value may be calculated using only the upper restored pixels and the left restored pixels.
- the average value may be calculated by selectively using only one of the upper restored pixels or the left restored pixels according to the shape of the block.
- the weighted average value derived by performing a weighted sum operation on the upper average and the left mean is finally predicted It can be set in pixels.
- pixels in a block may be sequentially reconstructed. For example, the upper left pixel is restored first and the lower right pixel is restored last, but based on a raster scan, a horizontal scan, a vertical scan, a diagonal scan, an inverse raster scan, an inverse horizontal scan, an inverse vertical scan, or an inverse diagonal scan. to determine the restoration order.
- various restoration orders can be defined, such as restoring the lower left pixel first and restoring the upper right pixel last.
- the reconstruction order may be determined based on the size, shape, or intra prediction mode of the current block. For example, when the value of the intra prediction mode is smaller than the value of the horizontal mode, the lower left pixel is initially reconstructed, whereas when the value of the intra prediction mode is greater than or equal to the value of the horizontal mode, the upper left pixel may be initially reconstructed .
- the restoration order may be determined for each predetermined unit.
- the predetermined unit may be a row, a column, or a sub-block.
- the restoration order for each predetermined unit and the above-described restoration order for each pixel may be set to be the same as each other. For example, pixels may be sequentially restored from an upper row to a lower row, or pixels may be sequentially restored from a left column to a right column. In the drawings to be described later, a number indicated on each pixel indicates a restoration order.
- Improved intra prediction using prediction/reconstruction pixels in a block as reference pixels, may be applied.
- the improved intra prediction may be applied only when lossless coding is applied.
- the improved intra prediction according to the present disclosure will be described in detail below with reference to FIGS. 11 to 13 .
- 11 to 13 illustrate an improved intra prediction method according to the present disclosure.
- the prediction pixel of the current block may be derived based on a previously reconstructed pixel located in the vicinity of the corresponding prediction pixel.
- the previously reconstructed pixel may include at least one of an upper reconstructed pixel, a left reconstructed pixel, and an upper left reconstructed pixel.
- the prediction pixel adjacent to the boundary of the current block may be derived using the reconstructed pixel included in the neighboring block adjacent to the current block.
- the prediction pixel for a0 may be derived based on the average value of A, B, and F adjacent to the current block.
- a prediction pixel that is not adjacent to the boundary of the current block may be derived using a pixel belonging to the current block and reconstructed before the corresponding prediction pixel.
- the prediction pixel for a6 may be derived based on the average value of a1, a2, and a5 reconstructed before a6.
- the prediction pixels corresponding to the pixels a0 to a15 in the current block are p0 to p15
- the prediction pixels may be derived based on Equation 2 below.
- cL n , cU n , and cUL n mean pixels that exist immediately to the left, immediately above, and immediately above p n , respectively, and wL, wU, and wUL are applied to cL n , cU n , and cUL n respectively means weight.
- wL, wU, and wUL are set to 1, 1, and 0, respectively, p0 becomes the average value of F and B, and in the case of p6, it becomes the average value of a2 and a5.
- Other prediction pixels may be generated in the same manner.
- a weight applied to each pixel may be determined based on at least one of a location of a prediction pixel, a size of a current block, a shape of a current block, or whether a neighboring reconstruction pixel is included in the current block.
- restored pixels A to Q are set as reference pixels and are positioned in a direction corresponding to the directional mode
- a prediction pixel is generated using at least one reference pixel.
- 12 is an example of prediction pixels generated by a directional mode. Assuming that mode 66 is used, each prediction pixel may be set as a reference pixel located in a diagonal direction from the upper right. For example, p0 is C, p1 and p4 are D, ... , p15 is set to I.
- each prediction pixel may be set as a reference pixel located in the left direction.
- p0 to p3 are J
- ... , p12 to p15 are set to M.
- intra prediction based on an improved directional mode may be applied.
- a pixel in the current block may be used as a reference pixel. That is, a pixel included in the upper row of the prediction pixel or the left column of the prediction pixel may be used as the reference pixel.
- the pixel in the current block may mean a prediction pixel or a reconstructed pixel.
- each prediction pixel may be set as a reconstructed pixel located to the left of the prediction pixel.
- p0 to p3 are set to J, a0, a1, and a2, respectively.
- p4 to p7 are set to K, a4, a5, a6, respectively,
- p8 to p11 are set to L, a8, a9, a10, respectively,
- p12 to p15 are set to M, a12, a13, and a14, respectively.
- a prediction/reconstruction pixel included in an upper row or a left column of a prediction pixel is to be used as a reference pixel
- additional padding may be required depending on the number of the intra prediction mode of the current block. For example, since the reconstructed pixels included in the right neighboring block or the lower neighboring block of the current block are unavailable, padding for the reconstructed pixels included in the right neighboring block or the lower neighboring block of the current block needs to be performed.
- the intra prediction mode used in FIG. 13 is mode 67 and will be described.
- Prediction pixels p0 to p3 adjacent to the upper boundary of the current block are generated by using reconstructed pixels on the current block as reference pixels, respectively.
- Prediction pixels p4 to p7 not adjacent to the upper boundary of the current block may set prediction/reconstruction pixels included in the upper row as reference pixels.
- the reference pixel included in the right neighboring block of the current block may be generated by padding the pixel located at the right boundary of the current block. For example, for prediction of p4 to p7, padding is performed using a3.
- padding may be performed using pixels in the current block (hereinafter, referred to as a first pixel) adjacent to the right boundary of the current block and reconstructed pixels existing in the upper right corner of the current block.
- the padding pixel may be generated based on a restored pixel having the same x-axis coordinate as the padding pixel and a first pixel having the same y-axis coordinate as the padding pixel.
- the first padded pixel may be generated by weighting a3 and F according to the distance.
- the padding pixel may be generated using the first pixel and the padding pixel of the current block, the restored pixel located at the upper right (eg, the restored pixel located on the angular line in the directional prediction mode).
- the number of pixels to be padded may be determined according to the size of the block and the number of the intra prediction mode. For example, if the number of the intra prediction mode is 66, only one pixel per line is padded to the right of the block because the upper right angle is 45 degrees. Alternatively, in the case of mode 50, padding may not be performed because padding is not required.
- a method of matching the same number of reference pixels as the number of reference pixels set using reconstructed pixels to the same when padding using original pixels in a block is also possible. For example, in the upper part of the current block of FIG. 13 , if B to I are set as reference pixels using reconstructed pixels, 4 pixels may be padded in the lower row as well.
- the intra prediction mode in the upper right direction is described as a reference, but a similar concept may be applied to the prediction mode in the lower left direction.
- reference pixels included in the lower neighboring block of the current block may be generated through padding using pixels adjacent to the lower boundary of the current block and belonging to the current block.
- Whether or not intra prediction using pixels in the block described above is applied can be always performed when lossless coding is performed.
- lossless encoding it is also possible to encode information indicating whether the corresponding technology is applied in block units and transmit the encoded information to the decoder.
- whether the corresponding technology is supported or not may be encoded through the upper header. In this way, it is possible to control whether the corresponding technology is used in lossless encoding through a higher header.
- 14 to 16 illustrate an intra prediction method based on a multi-reference pixel line according to the present disclosure.
- Intra prediction may be performed using a reference pixel line adjacent to the current block or a reference pixel line not adjacent to the current block. 14 , intra prediction may be performed using one of a plurality of reference pixel line candidates.
- intra prediction When intra prediction is performed on the current block, at least one of a first reference pixel line adjacent to the current block or a second/third reference pixel line not adjacent to the current block may be used.
- intra prediction may be performed using a second reference pixel line that is not adjacent to the current block.
- the Nth reference pixel line includes upper reference pixels having a difference of N in y-axis coordinate values from the top row of the current block and left reference pixels having a difference of N in x-axis coordinate values in the leftmost column of the current block. . If it is assumed that the second reference pixel line and the intra prediction mode of No. 66 (ie, the upper right diagonal direction) are used, the prediction pixels p0, p1, p2, etc.
- each prediction pixel It may be derived based on the reference pixel in the second reference pixel line located in the upper right diagonal direction of .
- p0 is set to D' and p1 and p4 are set to E'.
- the remaining prediction pixels may be generated in the same manner.
- Index information for specifying any one of a plurality of reference pixel line candidates may be signaled through a bitstream.
- the index information may be encoded and signaled in units of blocks.
- intra prediction based on multi-reference pixel lines determines the size, shape, position, intra prediction mode, or component type (Y) of the current block. It may be determined based on at least one of /Cb/Cr). For example, only when the intra prediction mode of the current block is derived from a Most Probable Mode (MPM) candidate, not only the adjacent reference pixel line (ie, the first reference pixel line) but also the non-adjacent reference pixel line (ie, the second reference) Intra prediction using a pixel line or a third reference pixel line) is possible.
- MPM Most Probable Mode
- FIG. 15 illustrates an example of using a prediction pixel or a reconstructed pixel in a current block as a reference pixel.
- Intra prediction based on a multi-reference pixel line using a prediction/reconstruction pixel in the current block as a reference pixel may be applied. This can be applied even when lossless encoding/decoding is performed.
- the prediction pixel may be derived by using a reconstructed pixel in which at least one of the difference between the x-axis coordinate and the y-axis coordinate difference with the prediction pixel is N as the reference pixel. For example, assuming that the second reference pixel line and the intra prediction mode No. 66 are used in the example of FIG.
- p0 to p3 are reference pixels included in the reference pixel line in which the difference between the y-axis coordinates from p0 to p3 is 2 can be derived from
- p0 to p3 are set to D', E', F', and G', respectively.
- the prediction pixel may be derived by using the pixel in the current block as a reference pixel.
- p8 to p11 may be set to a2, a3, a3, and a3, respectively.
- the multi-reference pixel line-based intra prediction is applied only to at least one line adjacent to the upper boundary or the left boundary within the current block, and the remaining lines are prediction/restored pixels in the current block.
- Prediction can also be performed using
- prediction pixels included in the uppermost row of the current block may be derived by applying intra prediction based on a multi-reference pixel line.
- the prediction pixels p0 to p3 included in the uppermost row of the current block may be derived from D' to G' as shown in FIG. 15 .
- prediction pixels included in the remaining lines may be derived based on prediction/reconstruction pixels included in a line adjacent to each prediction pixel.
- p4 to p7 may be derived based on the restored pixels included in the upper row of p4 to p7
- p8 to p11 may be derived based on the restored pixels included in the upper row of p8 to p11.
- p4 to p7 may be set to a1 to a3
- p8 to p11 may be set to a5 to a7.
- a prediction pixel may be derived using a plurality of reference pixel lines. For example, when a plurality of reference pixel lines are used, at least one reference pixel may be selected from each reference pixel line, and a weighted sum of the plurality of selected reference pixels may be used as a prediction value. 16 shows an example using a plurality of reference pixel lines.
- the number of lines on which weighted summation is performed may be encoded through an upper header and transmitted to the decoder.
- the number of reference pixel lines used for intra prediction may be variably determined based on the above-described encoding parameter.
- the number may be a fixed number pre-defined in the encoding/decoding apparatus regardless of encoding parameters.
- the prediction pixel may be derived using reference pixel lines having an index of N or less.
- a reference pixel line having an index equal to or smaller than (N-1) may be used, and a reference pixel line having an index equal to or greater than the reference pixel line of (N+1) may be used. You can also use line.
- p0 to p3 are the weighted sum operation of C and D', the weighted sum operation of D and E', and the weighted sum operation of E and F' It is set as a weighted sum operation, a weighted sum operation of F and G'.
- p5 is set to the weighted sum operation of a2 and E
- p10 is set to the weighted sum operation of a7 and a3.
- Other prediction pixels may be generated in the same way.
- the weight applied to each reference pixel may be the same.
- a weight applied to each reference pixel may be determined according to a distance from the prediction pixel. For example, when p0 is derived, a higher weight may be set for C than D'.
- the upper-right intra prediction mode is described as a reference, but the same/similar concept may be applied to the lower-left prediction mode.
- the neighboring block may include at least one of an upper neighboring block, a left neighboring block, an upper left neighboring block, an upper right neighboring block, or a lower left neighboring block.
- a neighboring block to be referred to may be determined according to the intra prediction mode of the current block. For example, when the intra prediction mode of the current block is in the upper right diagonal direction as shown in FIG. 16 , the intra prediction mode of at least one of the upper neighboring block or the upper right neighboring block of the current block and the intra prediction mode of the current block are the same or similar In this case, intra prediction using the weighted sum can be allowed.
- the similar intra prediction mode indicates that the difference between the intra prediction modes is equal to or less than a threshold value.
- the intra prediction mode of the current block is in the lower left diagonal direction
- the intra prediction mode using the weighted sum only when the intra prediction mode of at least one of the left neighboring block or the lower left neighboring block of the current block and the intra prediction mode of the current block are the same or similar Prediction can be allowed.
- Whether or not intra prediction using the prediction/reconstruction pixel in the current block described above is applied may be always performed when lossless encoding/decoding is performed.
- lossless encoding/decoding it is also possible to encode information indicating whether a corresponding technology is applied in block units and transmit it to the decoder.
- whether or not the corresponding technology is supported may be encoded/decoded through the upper header. In this way, it is possible to control whether the corresponding technology is used in lossless encoding through a higher header.
- the padding method of continuously copying the pixels present at the end of the block is used, but the pixels belonging to the rightmost pixel line in the current block and the restoration located in the upper right block adjacent to the current block Padding may be performed using pixels.
- the first padded pixel may be generated by weighting a3 and F according to the distance.
- the number of pixels to be padded may be determined according to the size of the block and the number of the intra prediction mode. For example, if the number of the intra prediction mode is 66, only one pixel per line is padded to the right of the block because the upper right angle is 45 degrees. Alternatively, in the case of mode 50, padding may not be performed because padding is not required.
- a method of matching the same number of reference pixels as the number of reference pixels set using reconstructed pixels when padding using pixels in a block is also possible. For example, in the upper part of the block of FIG. 13 , if B to I are set as reference pixels using reconstructed pixels, 4 pixels may be padded in the lower row as well.
- 17 to 19 illustrate a method of improving a prediction pixel according to the present disclosure.
- a prediction pixel of a current block generated through intra prediction may be improved (corrected) by using a predetermined reference pixel.
- the reference pixel for correcting the prediction pixel may be understood as a concept distinct from the reference pixel in the above-described embodiment.
- the reference pixel in the present disclosure may belong to at least one of a neighboring block adjacent to the current block or the current block.
- the reference pixel in the current block may include at least one of a previously predicted pixel (ie, a current pixel) or a reconstructed pixel.
- the reference pixel may be a pixel positioned on the same line as the current pixel. If the integer pixel does not exist on the same line as the current pixel, integer pixels around the small number of pixels located on the same line as the current pixel may be used as reference pixels. Alternatively, when an integer pixel does not exist on the same line as the current pixel, a fractional pixel located on the same line as the current pixel may be used as a reference pixel. In this case, the fractional pixel may be obtained through interpolation of adjacent integer pixels.
- the line may be determined based on a direction or an angle according to the intra prediction mode of the current block.
- the line may mean a vertical line and/or a horizontal line.
- the line may include both a line according to the intra prediction mode of the current block and the vertical/horizontal line.
- a portion of the reference pixel may be located on a line according to the intra prediction mode of the current block, and the rest may be located on the same vertical/horizontal line as the current pixel.
- the reference pixel may include a default pixel pre-promised to the encoding/decoding device.
- the default pixel is a neighboring pixel adjacent to the current block, and is an upper-left neighboring pixel, a lower-left neighboring pixel, an upper-right neighboring pixel, a lower-right neighboring pixel, a pixel located at the uppermost/lowest among the left neighboring pixels, or among the right neighboring pixels. At least one of pixels located at the uppermost/lowest end may be included.
- At least one of the position or number of the default pixel may be defined regardless of the position of the current pixel and the intra prediction mode of the current block. Alternatively, at least one of the position or the number of default pixels may be determined depending on the intra prediction mode of the current block. Alternatively, some of the default pixels may be defined irrespective of the position and/or intra prediction mode of the current pixel, and the rest may be determined dependently on the position and/or intra prediction mode of the current pixel.
- the number of reference pixels used for correction of prediction pixels according to the present disclosure may be determined based on information signaled by the encoding device. Alternatively, the number of the reference pixels may be variably determined based on the above-described encoding parameter. Alternatively, the number of the reference pixels may be a fixed number (e.g., an integer of 1, 2, 3, 4, 5, 6 or more) pre-promised to the encoding/decoding device.
- a prediction block generated through intra prediction may be improved (corrected) by using reconstructed pixels around the current block.
- the reconstructed pixel used to improve the prediction pixel may be determined based on at least one of an intra prediction mode of the current block or a position of the prediction pixel. Equation 3 below is an example of a method of further improving a prediction block generated through intra prediction.
- pred'(x',y') (wL ⁇ R_(-1,y)+wT ⁇ R_(x,-1)-wTL ⁇ R_(-1,-1)+(64-wL-wT+wTL) ) ⁇ pred(x',y')+32) ⁇ 6
- pred(x',y') means a pixel existing at (x',y') coordinates in the prediction block pred
- pred'(x',y') means an improved prediction block.
- R_(-1,y), R_(x,-1), and R_(-1,-1) mean a reference pixel on the left, a reference pixel on the top, and a reference pixel on the top left of the block, respectively.
- wL, wT, and wTL denote weights applied to the reference pixel present on the left side of the block, the reference pixel present on the upper side, and the reference pixel present on the upper left side of the block, respectively.
- the position of the reference pixels and the weight applied to each reference pixel may be determined based on at least one of an intra prediction mode of the current block or a position of the prediction pixel.
- the weight applied to each pixel may be an integer including 0.
- FIG 17 shows an example in which Position dependent intra prediction combination (PDPC) according to the present disclosure is applied.
- PDPC Position dependent intra prediction combination
- R_(-1,y) and R_(x,-1) may exist at real positions according to the number of the intra prediction mode of FIG. 6 .
- a pixel at this real position may be generated by interpolating using neighboring pixels. In this case, linear prediction using a distance ratio may be used.
- an integer position pixel closest to a real position may be used as a reference pixel.
- a low-pass filter may be applied on generating the reference pixel.
- a reference pixel may be generated by applying a low-pass filter to pixels at integer positions. Whether to apply the low-pass filter may be determined based on the intra prediction mode. For example, the reference pixel may be generated by applying the low-pass filter only in a preset mode. Alternatively, a low-pass filter may be applied to all intra prediction modes.
- a method of configuring the reference pixel by using the restored pixel as it is without applying the low-pass filter is also possible.
- An improved PDPC method using a prediction/reconstruction pixel in the current block as a reference pixel may be applied.
- the prediction pixel may be improved based on the pixel located in the top row of the prediction pixel and/or the pixel located in the left row of the prediction pixel. In this case, it is assumed that the predicted pixels corresponding to the pixels a0, a1, a2, etc. are p0, p1, p2, and the like.
- Pixels adjacent to the upper left corner of the current block may be improved by using reference pixels included in the upper row and/or left column adjacent to the current block.
- p0 may be improved by using at least one of the reference pixels K, C, and A.
- Prediction pixels that are not adjacent to the boundary of the current block may be improved based on the reconstructed pixels included in the upper row of the prediction pixels in the current block and/or the reconstructed pixels included in the left column of the prediction pixels.
- the restored pixel adjacent to the current block may be used when the prediction pixel is improved.
- a0, a2 and M are used because a0 and a2 are in a restored state and a8 has not yet been restored according to the scan order (or encoding/decoding order) in the block.
- p9, a6, a4, and N are used.
- pixels in the current block may be used in the same manner as in FIG. 18 according to the scan order in the current block.
- the decoding order of pixels in the current block may be determined differently according to the intra prediction mode. For example, when the intra prediction mode is No. 66, as in the example of FIG. 18 , the upper left pixel is first restored and the lower right pixel is finally restored, whereas when the intra prediction mode is No. 2, the lower left pixel is first restored and , the upper right pixel can be restored last.
- the neighboring pixels used for the improved PDPC are K, M, and F.
- the neighboring pixels used for the improved PDPC are p4 , A, and E .
- the scan order of pixels in the current block may be changed according to the intra prediction mode.
- a weight applied to each reference pixel may be determined based on a distance from the prediction pixel. For example, the weight applied to the reference pixel may be set to have a larger value as the distance from the prediction pixel is shorter, while the weight applied to the reference pixel may be set to have a smaller value as the distance from the prediction pixel is greater. 18 as an example, in the case of p9, since a6 is closer to p9 among a6 and N, Equation 3 may be applied by giving a higher weight to a6 than to N.
- padded pixels may be used for some prediction pixels.
- padding may be performed using a pixel belonging to the current block and adjacent to the right boundary of the current block.
- padding may be performed using a pixel belonging to the current block and adjacent to the lower boundary of the current block.
- the padding method of continuously copying the pixels present at the end of the block is used, but the pixels belonging to the rightmost pixel line in the current block and the restoration located in the upper right block adjacent to the current block Padding may be performed using pixels.
- a first padded pixel may be generated by weighting a3 and F according to a distance.
- a second padded pixel may be created using a3 and G.
- the number of pixels to be padded may be determined according to the size of the block and the intra prediction mode index. For example, if the number of the intra prediction mode is 66, only one pixel is padded to the right of the block because it is an angle of 45 degrees to the upper right. Alternatively, in the case of mode 50, padding may not be performed because padding is not required.
- a method of matching the same number of reference pixels as the number of reference pixels set using reconstructed pixels when padding using pixels in a block is also possible. For example, in the upper part of the block of FIG. 18 , if B to I are set as reference pixels using reconstructed pixels, 4 pixels may be padded in the same row below the block.
- the improved PDPC may be applied using pixels included in the top row or left column adjacent to the current block, instead of using the padded pixels.
- the upper-right intra prediction mode is described as a reference, but the same/similar concept may be applied to the lower-left prediction mode.
- Whether or not intra prediction using pixels in the current block is applied may be always performed when lossless encoding is performed.
- whether or not the corresponding technology is supported may be encoded/decoded through the upper header. In this way, it is possible to control whether the corresponding technology is used in lossless encoding through a higher header.
- each of the components (eg, unit, module, etc.) constituting the block diagram in the above-described embodiment may be implemented as a hardware device or software, or a plurality of components may be combined to form one hardware device or software. may be implemented.
- the above-described embodiment may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- Examples of the computer-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, and a magneto-optical medium such as a floppy disk. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- the hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.
- the present invention can be used to encode/decode a video signal.
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) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
한편, 고해상도 영상에 대한 수요가 증가함과 함께, 새로운 영상 서비스로서 입체 영상 컨텐츠에 대한 수요도 함께 증가하고 있다. 고해상도 및 초고해상도의 입체 영상 콘텐츠를 효과적으로 제공하기 위한 비디오 압축 기술에 대하여 논의가 진행되고 있다.
본 발명은 비디오 신호를 부호화/복호화함에 있어서, 개선된 인트라 예측 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 효율적인 인트라 예측 모드 유도 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 인트라 예측을 위한 참조 화소 구성 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 인트라 예측의 비가용 화소를 대체하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 인트라 예측에 따른 예측 화소를 보정하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 영상 복호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 복수의 참조 화소 라인 후보는, 상기 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, 또는 상기 제2 참조 화소 라인에 인접한 제3 참조 화소 라인 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 현재 블록의 참조 화소 라인을 특정하기 위한 정보를 비트스트림으로부터 획득하는 단계를 더 포함하되, 상기 현재 블록의 제1 화소는, 상기 현재 화소로부터 수평 또는 수직 방향으로 n만큼 떨어진 화소를 이용하여 예측되고, 상기 n 값은 상기 획득된 정보에 기초하여 결정될 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 제1 화소는, 상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하는 화소 라인에 속하고, 상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하지 않은 제2 화소는, 상기 제2 화소에 인접한 화소 라인에 속한 화소를 이용하여 예측될 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 결정된 참조 화소 라인의 개수는 2개 이상일 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 인트라 예측을 수행하는 단계는, 상기 2개 이상의 참조 화소 라인 각각으로부터 적어도 하나의 참조 화소를 선택하는 단계 및 상기 선택된 복수의 참조 화소들의 가중치합을 산출하는 단계를 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 현재 블록의 화소는 상기 산출된 가중치합에 기반하여 예측될 수 있다.
본 발명에 따른 영상 복호화 방법은, 상기 인트라 예측을 통해 획득된 상기 현재 블록의 예측 화소를 보정하는 단계를 더 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 예측 화소의 보정을 위한 참조 화소는, 상기 현재 블록에 인접한 주변 블록 또는 상기 현재 블록 중 적어도 하나에 속할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 참조 화소는 상기 현재 블록의 현재 화소와 동일한 라인 상에 위치한 화소이고, 상기 라인은 상기 현재 블록의 인트라 예측 모드에 따른 방향 또는 각도를 가진 라인일 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 참조 화소는, 복호화 장치에 기-약속된 디폴트 화소를 더 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 디폴트 화소의 위치 또는 개수 중 적어도 하나는, 상기 현재 블록의 인트라 예측 모드에 종속적으로 결정될 수 있다.
본 발명에 따른 영상 부호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로 획득된 예측 블록을 기반으로 현재 블록을 부호화할 수 있다.
본 발명에 따른 영상 복호화 방법에 의해 복호화되는 비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서, 상기 영상 복호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행할 수 있다.
본 발명에 의하면, 인트라 예측 모드를 효율적으로 유도할 수 있다.
본 발명에 의하면, 인트라 예측을 위한 참조 화소를 다양하게 구성하고, 이를 기반으로 예측의 정확도를 향상시킬 수 있다.
본 발명은 인트라 예측에 따른 예측 화소를 보정함으로써, 예측의 정확도를 향상시키고, 이에 따라 부호화 효율을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 영상 복호화 장치를 나타낸 블록도이다.
도 3 및 도 4는 본 개시에 따른 무손실 부호화 방법을 도시한 것이다.
도 5는 본 개시에 따른 인트라 예측 방법을 도시한 것이다.
도 6은 기-정의된 인트라 예측 모드를 도시한 것이다.
도 7은 본 개시에 따른, 인트라 예측 모드를 부호화하는 방법을 도시한 것이다.
도 8은 본 개시에 따른 MPM 후보를 구성하는 방법에 관한 것이다.
도 9는 본 개시에 따른 평면 모드에 기반한 인트라 예측 방법을 도시한 것이다.
도 10은 본 개시에 따른 DC 모드에 기반한 인트라 예측 방법을 도시한 것이다.
도 11 내지 도 13은 본 개시에 따른 개선된 인트라 예측 방법을 도시한 것이다.
도 14 내지 도 16은 본 개시에 따른 멀티 참조 화소 라인 기반의 인트라 예측 방법을 도시한 것이다.
도 17 내지 도 19는 본 개시에 따른 예측 화소를 개선하는 방법을 도시한 것이다.
본 발명에 따른 영상 복호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 복수의 참조 화소 라인 후보는, 상기 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, 또는 상기 제2 참조 화소 라인에 인접한 제3 참조 화소 라인 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 현재 블록의 참조 화소 라인을 특정하기 위한 정보를 비트스트림으로부터 획득하는 단계를 더 포함하되, 상기 현재 블록의 제1 화소는, 상기 현재 화소로부터 수평 또는 수직 방향으로 n만큼 떨어진 화소를 이용하여 예측되고, 상기 n 값은 상기 획득된 정보에 기초하여 결정될 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 제1 화소는, 상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하는 화소 라인에 속하고, 상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하지 않은 제2 화소는, 상기 제2 화소에 인접한 화소 라인에 속한 화소를 이용하여 예측될 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 결정된 참조 화소 라인의 개수는 2개 이상일 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 인트라 예측을 수행하는 단계는, 상기 2개 이상의 참조 화소 라인 각각으로부터 적어도 하나의 참조 화소를 선택하는 단계 및 상기 선택된 복수의 참조 화소들의 가중치합을 산출하는 단계를 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 현재 블록의 화소는 상기 산출된 가중치합에 기반하여 예측될 수 있다.
본 발명에 따른 영상 복호화 방법은, 상기 인트라 예측을 통해 획득된 상기 현재 블록의 예측 화소를 보정하는 단계를 더 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 예측 화소의 보정을 위한 참조 화소는, 상기 현재 블록에 인접한 주변 블록 또는 상기 현재 블록 중 적어도 하나에 속할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 참조 화소는 상기 현재 블록의 현재 화소와 동일한 라인 상에 위치한 화소이고, 상기 라인은 상기 현재 블록의 인트라 예측 모드에 따른 방향 또는 각도를 가진 라인일 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 참조 화소는, 복호화 장치에 기-약속된 디폴트 화소를 더 포함할 수 있다.
본 발명에 따른 영상 복호화 방법에 있어서, 상기 디폴트 화소의 위치 또는 개수 중 적어도 하나는, 상기 현재 블록의 인트라 예측 모드에 종속적으로 결정될 수 있다.
본 발명에 따른 영상 부호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로 획득된 예측 블록을 기반으로 현재 블록을 부호화할 수 있다.
본 발명에 따른 영상 복호화 방법에 의해 복호화되는 비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서, 상기 영상 복호화 방법은, 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하고, 상기 현재 블록의 인트라 예측 모드를 결정하며, 상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일실시예에 따른 영상 부호화 장치를 나타낸 블록도이다.
도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(110), 예측부(120, 125), 변환부(130), 양자화부(135), 재정렬부(160), 엔트로피 부호화부(165), 역양자화부(140), 역변환부(145), 필터부(150) 및 메모리(155)를 포함할 수 있다.
도 1에 나타난 각 구성부들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시한 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
픽쳐 분할부(110)는 입력된 픽쳐를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 단위(Prediction Unit: PU)일 수도 있고, 변환 단위(Transform Unit: TU)일 수도 있으며, 부호화 단위(Coding Unit: CU)일 수도 있다. 픽쳐 분할부(110)에서는 하나의 픽쳐에 대해 복수의 부호화 단위, 예측 단위 및 변환 단위의 조합으로 분할하고 소정의 기준(예를 들어, 비용 함수)으로 하나의 부호화 단위, 예측 단위 및 변환 단위 조합을 선택하여 픽쳐를 부호화 할 수 있다.
예를 들어, 하나의 픽쳐는 복수개의 부호화 단위로 분할될 수 있다. 픽쳐에서 부호화 단위를 분할하기 위해서는 쿼드 트리 구조(Quad Tree Structure)와 같은 재귀적인 트리 구조를 사용할 수 있는데 하나의 영상 또는 최대 크기 부호화 단위(largest coding unit)를 루트로 하여 다른 부호화 단위로 분할되는 부호화 유닛은 분할된 부호화 단위의 개수만큼의 자식 노드를 가지고 분할될 수 있다. 일정한 제한에 따라 더 이상 분할되지 않는 부호화 단위는 리프 노드가 된다. 즉, 하나의 코딩 유닛에 대하여 정방형 분할만이 가능하다고 가정하는 경우, 하나의 부호화 단위는 최대 4개의 다른 부호화 단위로 분할될 수 있다.
이하, 본 발명의 실시예에서는 부호화 단위는 부호화를 수행하는 단위의 의미로 사용할 수도 있고, 복호화를 수행하는 단위의 의미로 사용할 수도 있다.
예측 단위는 하나의 부호화 단위 내에서 동일한 크기의 적어도 하나의 정사각형 또는 직사각형 등의 형태를 가지고 분할된 것일 수도 있고, 하나의 부호화 단위 내에서 분할된 예측 단위 중 어느 하나의 예측 단위가 다른 하나의 예측 단위와 상이한 형태 및/또는 크기를 가지도록 분할된 것일 수도 있다.
부호화 단위를 기초로 인트라 예측을 수행하는 예측 단위를 생성시 최소 부호화 단위가 아닌 경우, 복수의 예측 단위 NxN으로 분할하지 않고 인트라 예측을 수행할 수 있다.
예측부(120, 125)는 인터 예측을 수행하는 인터 예측부(120)와 인트라 예측을 수행하는 인트라 예측부(125)를 포함할 수 있다. 예측 단위에 대해 인터 예측을 사용할 것인지 또는 인트라 예측을 수행할 것인지를 결정하고, 각 예측 방법에 따른 구체적인 정보(예컨대, 인트라 예측 모드, 모션 벡터, 참조 픽쳐 등)를 결정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록)은 변환부(130)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 모션 벡터 정보 등은 잔차값과 함께 엔트로피 부호화부(165)에서 부호화되어 복호화 장치에 전달될 수 있다. 특정한 부호화 모드를 사용할 경우, 예측부(120, 125)를 통해 예측 블록을 생성하지 않고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
인터 예측부(120)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 단위를 예측할 수도 있고, 경우에 따라서는 현재 픽쳐 내의 부호화가 완료된 일부 영역의 정보를 기초로 예측 단위를 예측할 수도 있다. 인터 예측부(120)는 참조 픽쳐 보간부, 모션 예측부, 움직임 보상부를 포함할 수 있다.
참조 픽쳐 보간부에서는 메모리(155)로부터 참조 픽쳐 정보를 제공받고 참조 픽쳐에서 정수 화소 이하의 화소 정보를 생성할 수 있다. 휘도 화소의 경우, 1/4 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 8탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다. 색차 신호의 경우 1/8 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 4탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다.
모션 예측부는 참조 픽쳐 보간부에 의해 보간된 참조 픽쳐를 기초로 모션 예측을 수행할 수 있다. 모션 벡터를 산출하기 위한 방법으로 FBMA(Full search-based Block Matching Algorithm), TSS(Three Step Search), NTS(New Three-Step Search Algorithm) 등 다양한 방법이 사용될 수 있다. 모션 벡터는 보간된 화소를 기초로 1/2 또는 1/4 화소 단위의 모션 벡터값을 가질 수 있다. 모션 예측부에서는 모션 예측 방법을 다르게 하여 현재 예측 단위를 예측할 수 있다. 모션 예측 방법으로 스킵(Skip) 방법, 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법, 인트라 블록 카피(Intra Block Copy) 방법 등 다양한 방법이 사용될 수 있다.
인트라 예측부(125)는 현재 픽쳐 내의 화소 정보인 현재 블록 주변의 참조 픽셀 정보를 기초로 예측 단위를 생성할 수 있다. 현재 예측 단위의 주변 블록이 인터 예측을 수행한 블록이어서, 참조 픽셀이 인터 예측을 수행한 픽셀일 경우, 인터 예측을 수행한 블록에 포함되는 참조 픽셀을 주변의 인트라 예측을 수행한 블록의 참조 픽셀 정보로 대체하여 사용할 수 있다. 즉, 참조 픽셀이 가용하지 않는 경우, 가용하지 않은 참조 픽셀 정보를 가용한 참조 픽셀 중 적어도 하나의 참조 픽셀로 대체하여 사용할 수 있다.
인트라 예측에서 예측 모드는 참조 픽셀 정보를 예측 방향에 따라 사용하는 방향성 예측 모드와 예측을 수행시 방향성 정보를 사용하지 않는 비방향성 모드를 가질 수 있다. 휘도 정보를 예측하기 위한 모드와 색차 정보를 예측하기 위한 모드가 상이할 수 있고, 색차 정보를 예측하기 위해 휘도 정보를 예측하기 위해 사용된 인트라 예측 모드 정보 또는 예측된 휘도 신호 정보를 활용할 수 있다.
인트라 예측을 수행할 때 예측 단위의 크기와 변환 단위의 크기가 동일할 경우, 예측 단위의 좌측에 존재하는 픽셀, 좌측 상단에 존재하는 픽셀, 상단에 존재하는 픽셀을 기초로 예측 단위에 대한 인트라 예측을 수행할 수 있다. 그러나 인트라 예측을 수행할 때 예측 단위의 크기와 변환 단위의 크기가 상이할 경우, 변환 단위를 기초로 한 참조 픽셀을 이용하여 인트라 예측을 수행할 수 있다. 또한, 최소 부호화 단위에 대해서만 NxN 분할을 사용하는 인트라 예측을 사용할 수 있다.
인트라 예측 방법은 예측 모드에 따라 참조 화소에 AIS(Adaptive Intra Smoothing) 필터를 적용한 후 예측 블록을 생성할 수 있다. 참조 화소에 적용되는 AIS 필터의 종류는 상이할 수 있다. 인트라 예측 방법을 수행하기 위해 현재 예측 단위의 인트라 예측 모드는 현재 예측 단위의 주변에 존재하는 예측 단위의 인트라 예측 모드로부터 예측할 수 있다. 주변 예측 단위로부터 예측된 모드 정보를 이용하여 현재 예측 단위의 예측 모드를 예측하는 경우, 현재 예측 단위와 주변 예측 단위의 인트라 예측 모드가 동일하면 소정의 플래그 정보를 이용하여 현재 예측 단위와 주변 예측 단위의 예측 모드가 동일하다는 정보를 전송할 수 있고, 만약 현재 예측 단위와 주변 예측 단위의 예측 모드가 상이하면 엔트로피 부호화를 수행하여 현재 블록의 예측 모드 정보를 부호화할 수 있다.
또한, 예측부(120, 125)에서 생성된 예측 단위를 기초로 예측을 수행한 예측 단위와 예측 단위의 원본 블록과 차이값인 잔차값(Residual) 정보를 포함하는 잔차 블록이 생성될 수 있다. 생성된 잔차 블록은 변환부(130)로 입력될 수 있다.
변환부(130)에서는 원본 블록과 예측부(120, 125)를 통해 생성된 예측 단위의 잔차값(residual)정보를 포함한 잔차 블록을 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT와 같은 변환 방법을 사용하여 변환시킬 수 있다. 잔차 블록을 변환하기 위해 DCT를 적용할지, DST를 적용할지 또는 KLT를 적용할지는 잔차 블록을 생성하기 위해 사용된 예측 단위의 인트라 예측 모드 정보를 기초로 결정할 수 있다.
양자화부(135)는 변환부(130)에서 주파수 영역으로 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화부(135)에서 산출된 값은 역양자화부(140)와 재정렬부(160)에 제공될 수 있다.
재정렬부(160)는 양자화된 잔차값에 대해 계수값의 재정렬을 수행할 수 있다.
재정렬부(160)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원의 블록 형태 계수를 1차원의 벡터 형태로 변경할 수 있다. 예를 들어, 재정렬부(160)에서는 지그-재그 스캔(Zig-Zag Scan)방법을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원 벡터 형태로 변경시킬 수 있다. 변환 단위의 크기 및 인트라 예측 모드에 따라 지그-재그 스캔 대신 2차원의 블록 형태 계수를 열 방향으로 스캔하는 수직 스캔, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔이 사용될 수도 있다. 즉, 변환 단위의 크기 및 인트라 예측 모드에 따라 지그-재그 스캔, 수직 방향 스캔 및 수평 방향 스캔 중 어떠한 스캔 방법이 사용될지 여부를 결정할 수 있다.
엔트로피 부호화부(165)는 재정렬부(160)에 의해 산출된 값들을 기초로 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(165)는 재정렬부(160) 및 예측부(120, 125)로부터 부호화 단위의 잔차값 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 단위 정보 및 전송 단위 정보, 모션 벡터 정보, 참조 프레임 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 부호화할 수 있다.
엔트로피 부호화부(165)에서는 재정렬부(160)에서 입력된 부호화 단위의 계수값을 엔트로피 부호화할 수 있다.
역양자화부(140) 및 역변환부(145)에서는 양자화부(135)에서 양자화된 값들을 역양자화하고 변환부(130)에서 변환된 값들을 역변환한다. 역양자화부(140) 및 역변환부(145)에서 생성된 잔차값(Residual)은 예측부(120, 125)에 포함된 움직임 추정부, 움직임 보상부 및 인트라 예측부를 통해서 예측된 예측 단위와 합쳐져 복원 블록(Reconstructed Block)을 생성할 수 있다.
필터부(150)는 디블록킹 필터, 오프셋 보정부, ALF(Adaptive Loop Filter)중 적어도 하나를 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.
오프셋 보정부는 디블록킹을 수행한 영상에 대해 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽쳐에 대한 오프셋 보정을 수행하기 위해 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후 오프셋을 수행할 영역을 결정하고 해당 영역에 오프셋을 적용하는 방법 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법을 사용할 수 있다.
ALF(Adaptive Loop Filtering)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로 수행될 수 있다. 영상에 포함된 픽셀을 소정의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF 필터의 모양 및 필터 계수는 달라질 수 있다. 또한, 적용 대상 블록의 특성에 상관없이 동일한 형태(고정된 형태)의 ALF 필터가 적용될 수도 있다.
메모리(155)는 필터부(150)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있고, 저장된 복원 블록 또는 픽쳐는 인터 예측을 수행 시 예측부(120, 125)에 제공될 수 있다.
도 2는 본 발명의 일실시예에 따른 영상 복호화 장치를 나타낸 블록도이다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230, 235), 필터부(240), 메모리(245)가 포함될 수 있다.
영상 부호화 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 영상 부호화 장치와 반대의 절차로 복호화될 수 있다.
엔트로피 복호화부(210)는 영상 부호화 장치의 엔트로피 부호화부에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 예를 들어, 영상 부호화 장치에서 수행된 방법에 대응하여 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 방법이 적용될 수 있다.
엔트로피 복호화부(210)에서는 부호화 장치에서 수행된 인트라 예측 및 인터 예측에 관련된 정보를 복호화할 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 부호화부에서 재정렬한 방법을 기초로 재정렬을 수행할 수 있다. 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)에서는 부호화부에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 영상 부호화 장치에서 수행한 양자화 결과에 대해 변환부에서 수행한 변환 즉, DCT, DST, 및 KLT에 대해 역변환 즉, 역 DCT, 역 DST 및 역 KLT를 수행할 수 있다. 역변환은 영상 부호화 장치에서 결정된 전송 단위를 기초로 수행될 수 있다. 영상 복호화 장치의 역변환부(225)에서는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 변환 기법(예를 들어, DCT, DST, KLT)이 선택적으로 수행될 수 있다.
예측부(230, 235)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(245)에서 제공된 이전에 복호화된 블록 또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
전술한 바와 같이 영상 부호화 장치에서의 동작과 동일하게 인트라 예측을 수행시 예측 단위의 크기와 변환 단위의 크기가 동일할 경우, 예측 단위의 좌측에 존재하는 픽셀, 좌측 상단에 존재하는 픽셀, 상단에 존재하는 픽셀을 기초로 예측 단위에 대한 인트라 예측을 수행하지만, 인트라 예측을 수행시 예측 단위의 크기와 변환 단위의 크기가 상이할 경우, 변환 단위를 기초로 한 참조 픽셀을 이용하여 인트라 예측을 수행할 수 있다. 또한, 최소 부호화 단위에 대해서만 NxN 분할을 사용하는 인트라 예측을 사용할 수도 있다.
예측부(230, 235)는 예측 단위 판별부, 인터 예측부 및 인트라 예측부를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부(210)에서 입력되는 예측 단위 정보, 인트라 예측 방법의 예측 모드 정보, 인터 예측 방법의 모션 예측 관련 정보 등 다양한 정보를 입력 받고 현재 부호화 단위에서 예측 단위를 구분하고, 예측 단위가 인터 예측을 수행하는지 아니면 인트라 예측을 수행하는지 여부를 판별할 수 있다. 인터 예측부(230)는 영상 부호화 장치에서 제공된 현재 예측 단위의 인터 예측에 필요한 정보를 이용해 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 인터 예측을 수행할 수 있다. 또는, 현재 예측 단위가 포함된 현재 픽쳐 내에서 기-복원된 일부 영역의 정보를 기초로 인터 예측을 수행할 수도 있다.
인터 예측을 수행하기 위해 부호화 단위를 기준으로 해당 부호화 단위에 포함된 예측 단위의 모션 예측 방법이 스킵 모드(Skip Mode), 머지 모드(Merge 모드), AMVP 모드(AMVP Mode), 인트라 블록 카피 모드 중 어떠한 방법인지 여부를 판단할 수 있다.
인트라 예측부(235)는 현재 픽쳐 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 인트라 예측을 수행한 예측 단위인 경우, 영상 부호화 장치에서 제공된 예측 단위의 인트라 예측 모드 정보를 기초로 인트라 예측을 수행할 수 있다. 인트라 예측부(235)에는 AIS(Adaptive Intra Smoothing) 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. AIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 영상 부호화 장치에서 제공된 예측 단위의 예측 모드 및 AIS 필터 정보를 이용하여 현재 블록의 참조 화소에 AIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 않는 모드일 경우, AIS 필터는 적용되지 않을 수 있다.
참조 화소 보간부는 예측 단위의 예측 모드가 참조 화소를 보간한 화소값을 기초로 인트라 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 정수값 이하의 화소 단위의 참조 화소를 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 화소를 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
복원된 블록 또는 픽쳐는 필터부(240)로 제공될 수 있다. 필터부(240)는 디블록킹 필터, 오프셋 보정부, ALF를 포함할 수 있다.
영상 부호화 장치로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 영상 복호화 장치의 디블록킹 필터에서는 영상 부호화 장치에서 제공된 디블록킹 필터 관련 정보를 제공받고 영상 복호화 장치에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다.
오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값 정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다.
ALF는 부호화 장치로부터 제공된 ALF 적용 여부 정보, ALF 계수 정보 등을 기초로 부호화 단위에 적용될 수 있다. 이러한 ALF 정보는 특정한 파라메터 셋에 포함되어 제공될 수 있다.
메모리(245)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
전술한 바와 같이 이하, 본 발명의 실시예에서는 설명의 편의상 코딩 유닛(Coding Unit)을 부호화 단위라는 용어로 사용하지만, 부호화 뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다.
또한, 현재 블록은, 부호화/복호화 대상 블록을 나타내는 것으로, 부호화/복호화 단계에 따라, 코딩 트리 블록(또는 코딩 트리 유닛), 부호화 블록(또는 부호화 유닛), 변환 블록(또는 변환 유닛) 또는 예측 블록(또는 예측 유닛) 등을 나타내는 것일 수 있다. 본 명세서에서, '유닛'은 특정 부호화/복호화 프로세스를 수행하기 위한 기본 단위를 나타내고, '블록'은 소정 크기의 화소 어레이를 나타낼 수 있다. 별도의 구분이 없는 한, '블록'과 '유닛'은 동등한 의미로 사용될 수 있다. 예컨대, 후술되는 실시예에서, 부호화 블록(코딩 블록) 및 부호화 유닛(코딩 유닛)은 상호 동등한 의미인 것으로 이해될 수 있다.
도 3 및 도 4는 본 개시에 따른 무손실 부호화 방법을 도시한 것이다.
영상 압축은 크게 손실 부호화와 무손실 부호화로 분류될 수 있다. 두 부호화 간 가장 큰 차이점은 양자화 과정의 유무이다. 손실 부호화에서는 양자화 과정을 통해 비손실 부호화 대비 큰 압축 효율을 얻을 수 있지만, 데이터의 손실이 발생할 수 있다. 무손실 부호화에서는 원본 데이터를 그대로 유지할 수 있지만, 손실 부호화 대비 압축 효율이 떨어진다.
도 1에서 살펴본 부호화 과정들 중에서, 양자화 및 인루프 필터링 과정을 이용함에 따라, 원본 데이터와는 다른 복원 데이터가 생성(즉, 손실이 발생)될 수 있다. 따라서, 무손실 부호화(lossless coding)에서는 양자화 과정 및 인루프 필터링 과정을 생략(skip)할 수 있다. 이때, 양자화 과정이 생략된다면, 잔차 데이터를 주파수 도메인 성분들로 변환하는 변환 과정이 무의미해지므로, 무손실 부호화 적용시 변환 과정을 더 생략할 수 있다.
손실 부호화 및 무손실 부호화의 과정들이 상이한 바, 무손실 부호화의 적용 여부를 알려주는 정보를 복호화기로 전송하여야 한다. 일 예로, 상위 헤더(SPS, PPS 또는 슬라이스 헤더 등)를 통해 무손실 부호화의 수행 여부를 나타내는 정보를 부호화할 수 있다. 상위 헤더에서 1비트 정보(플래그)를 이용하여 무손실 부호화가 수행되었다는 것을 표시하였다면, 복호화기에서는 상기 1비트 정보를 이용하여 무손실 부호화가 수행되었다는 것을 판단한다. 무손실 부호화가 수행된 것으로 판단된 경우, 복호화기는 양자화 및 인루프 필터링 과정을 생략하고, 영상을 복호화할 수 있다.
일 예로, 무손실 부호화의 사용 여부를 결정하기 위한 변수 lossless_coding를 결정하기 위한 플래그가 비트스트림을 통해 시그날링될 수 있다. 변수 lossless_coding의 값이 true인 것은, 무손실 부호화가 적용됨을 나타내고, 변수 lossless_coding의 값이 false인 것은, 무손실 부호화가 적용되지 않음을 나타낸다.
변환, 양자화, 디블로킹 필터, SAO 또는 ALF의 사용 여부를 알려주는 변수들을 t_skip, q_skip, d_skip, s_skip, a_skip이라 정의할 수 있다. 상기 변수들의 값이 true인 것은 대응되는 코딩 과정이 생략됨을 나타내고, 상기 변수들의 값이 false인 것은 대응되는 코딩 과정이 생략되지 않음을 나타낸다.
변수 lossless_coding의 값에 따라, 상기 변수들의 값을 결정하기 위한 플래그가 비트스트림을 통해 시그날링되는지 여부가 결정될 수 있다. 일 예로, 변수 lossless_coding의 값이 true인 경우, 변수 t_skip, q_skip, d_skip, s_skip, a_skip를 결정하기 위한 플래그의 시그날링이 생략될 수 있다. 부호화가 생략된 변수들은 기-정의된 값으로 추정될 수 있다. 기-정의된 값은 true일 수 있다. lossless_coding의 값이 true인 경우, 변수 t_skip, q_skip, d_skip, s_skip, a_skip들의 값과는 무관하게, 변환, 양자화 디블로킹 필터, SAO, ALF의 적용이 스킵될 수 있다.
변수 lossless_coding의 값이 false인 경우, t_skip, q_skip, d_skip, s_skip, a_skip 변수를 결정하기 위한 플래그를 복호화할 수 있다. 각 변수의 값이 true인지 또는 false인지 여부에 기초하여, 대응하는 코딩 과정의 스킵 여부를 결정할 수 있다.
도 3을 참조하면, lossless_coding의 값이 false인 경우, t_skip, q_skip, d_skip, s_skip, a_skip 중 적어도 하나는 true로 설정될 수 있다. 이에 따라, 제1 변수를 제외한 나머지 변수들의 값이 false인 경우, 제1 변수의 값을 결정하기 위한 플래그의 시그날링을 생략하고, 제1 변수의 값을 true로 설정할 수 있다. 일 예로, t_skip, q_skip, d_skip, s_skip의 값이 false인 경우, a_skip을 결정하기 위한 플래그의 부호화를 생략하고, 변수 a_skip을 true로 설정할 수 있다.
또는, 변수 lossless_coding의 값을 결정하기 위한 플래그를 시그날링하는 대신, lossless_coding을 내부 변수로 정의할 수 있다. 내부 변수 lossless_coding의 값은, 변수 t_skip, q_skip, d_skip, s_skip, a_skip에 기초하여 결정될 수 있다.
도 4를 참조하면, 변수 t_skip, q_skip, d_skip, s_skip, a_skip 각각의 값을 결정하기 위한 플래그가 비트스트림을 통해 시그날링될 수 있다. 이때, 변수, t_skip, q_skip, d_skip, s_skip, a_skip의 값이 모두 true인 경우, 변수 lossless_coding이 true로 설정될 수 있다. 반면, t_skip, q_skip, d_skip, s_skip, a_skip 중 적어도 하나가 false인 경우, 변수 lossless_coding이 false로 결정될 수 있다.
그런 다음, 블록 단위로 무손실 부호화와 관련된 내부 변수를 정의할 수 있다. 이 변수를 blk_lossless_coding이라 정의 할 때, blk_lossless_coding의 값을 도 3 또는 도 4에서 설정된 변수 lossless_coding의 값으로 설정할 수 있다.
혹은 lossless_coding이 true로 설정된 경우, 블록마다 blk_lossless_coding를 부호화하여, 블록 단위로 무손실 부호화의 수행 여부를 결정할 수도 있다.
위 예시에서는 설명의 편의성을 위해 변환, 양자화, 디블로킹 필터, SAO, ALF에 대해서만 예를 들었지만, joint_CbCr 부호화 방법과 LMCS(luma mapping with chroma scaling)과 같은, 무손실 부호화를 불가능하게 하는 모든 기술들에 대해 전술한 방식이 동일/유사하게 적용될 수 있다.
도 5는 본 개시에 따른 인트라 예측 방법을 도시한 것이다.
도 5를 참조하면, 현재 부호화/복호화되는 블록(이하, 현재 블록이라 함)의 인트라 예측을 위한 참조 화소 라인을 결정할 수 있다(S500).
본 개시에 따른 참조 화소 라인은, 현재 블록에 인접한 주변 블록에 속할 수 있다. 상기 주변 블록은 좌측 블록, 상단 블록, 좌상단 블록, 좌하단 블록, 우상단 블록, 우측 블록, 우하단 블록, 또는 하단 블록 중 적어도 하나를 포함할 수 있다. 또한, 참조 화소 라인은, 현재 블록과 동일한 픽쳐에 속하나, 현재 블록에 인접하지 않은 공간적 블록에 속할 수도 있고, 현재 블록과는 다른 픽쳐에 속한 시간적 블록에 속할 수도 있다. 여기서, 시간적 블록은, 전술한 현재 블록의 주변 블록과 동일 위치의 블록일 수 있다.
상기 참조 화소 라인은, 현재 블록 이전에 기-부호화/복호화된 블록에만 속하도록 제한될 수도 있고, 현재 블록 이후에 부호화/복호화되는 블록에 속할 수도 있다. 이 경우 별도의 패딩 과정이 수반될 수도 있고, 이에 대해서는 후술하도록 한다.
상기 참조 화소 라인은, 복수의 참조 화소 라인 후보 중 어느 하나로 결정될 수 있다. 복수의 참조 화소 라인 후보는, 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, …, 상기 제(n-1) 참조 화소 라인에 인접한 제n 참조 화소 라인 중 적어도 하나를 포함할 수 있다. 여기서, n은 2, 3, 4, 또는 그 이상의 정수일 수 있다.
일 예로, 복수의 참조 화소 라인 후보는, 제1 내지 제4 참조 화소 라인으로 구성될 수도 있고, 제1 내지 제3 참조 화소 라인만으로 구성되거나, 제1 및 제3 참조 화소 라인만으로 구성될 수도 있다.
전술한 제1 내지 제n 참조 화소 라인 중 어느 하나가 선택적으로 이용될 수 있으며, 이를 위해 참조 화소 라인의 위치를 특정하기 위한 정보가 이용될 수 있다. 상기 정보는 부호화 장치에서 시그날링될 수도 있고, 소정의 부호화 파라미터에 기반하여 복호화 장치에서 유도될 수도 있다. 상기 부호화 파라미터는, 블록의 크기, 형태, 위치, 성분 타입(Y/Cb/Cr), 예측 모드(intra/inter), 인트라 예측 모드, 또는 비방향성 모드인지 여부 중 적어도 하나를 포함할 수 있다. 여기서, 블록은, 현재 블록 및/또는 주변 블록을 의미할 수도 있고, 코딩 블록, 예측 블록 및/또는 변환 블록을 의미할 수도 있다. 또한, 현재 블록이 이용 가능한 참조 화소 라인 후보의 개수도 전술한 부호화 파라미터에 기초하여 가변적으로 결정될 수도 있고, 상기 개수를 특정하기 위한 정보가 별도로 시그날링될 수도 있다.
도 5를 참조하면, 현재 블록의 인트라 예측 모드를 결정할 수 있다(S510).
현재 블록의 인트라 예측 모드는, 부호화/복호화 장치에 기-정의된 인트라 예측 모드들 중 어느 하나로 결정될 수 있다. 상기 기-정의된 인트라 예측 모드는, 도 6에 도시된 바와 같이, 2개의 비방향성 모드와 65개의 방향성 모드로 구성될 수 있다.
방향성 모드는, 평면 모드(Planar mode) 또는 DC 모드 중 적어도 하나를 포함하고, 비방향성 모드는, 소정의 각도/방향성을 가진 모드(e.g., 수직 모드, 수평 모드, 대각석 모드 등)를 포함할 수 있다.
인트라 예측 모드를 결정하는 방법에 대해서는 도 7 및 도 8을 참조하여 자세히 살펴보도록 한다.
도 5를 참조하면, 상기 결정된 참조 화소 라인과 인트라 예측 모드에 기반하여, 현재 블록의 인트라 예측을 수행할 수 있다(S520).
즉, 참조 화소 라인의 화소 중 상기 결정된 인트라 예측 모드에 대응하는 화소가 참조 화소로 특정되고, 특정된 참조 화소를 이용하여 인트라 예측이 수행될 수 있다. 구체적인 인트라 예측 방법에 대해서는 도 9 내지 도 19를 참조하여 자세히 살펴보도록 한다.
도 7은 본 개시에 따른, 인트라 예측 모드를 부호화하는 방법을 도시한 것이다.
우선, 현재 블록이 예측 모드가 인트라 모드인 경우, 현재 블록의 인트라 예측을 위한 참조 화소 라인 인덱스를 부호화할 수 있다. 여기서, 참조 화소 라인 인덱스는 전술한 참조 화소 라인의 위치를 특정하기 위한 정보일 수 있고, 블록 단위로 부호화될 수 있다.
참조 화소 라인 인덱스에 의해 제1 참조 화소 라인이 선택된 경우, MPM 플래그를 부호화할 수 있다. 여기서, MPM 플래그는, 현재 블록의 인트라 예측 모드가 MPM에 기반하여 결정되는지 여부를 나타낼 수 있다.
만일, MPM 플래그가 true라면, 평면 모드가 사용되는지 여부를 알려주는 평면 모드 플래그를 부호화할 수 있다.
MPM으로 평면 모드가 사용되는 경우, 인트라 예측 모드의 부호화 과정을 종료한다. 만약 평면 모드가 사용되지 않은 경우, 현재 블록에 사용된 인트라 예측 모드와 동일한 MPM 후보를 특정하는 인덱스를 부호화할 수 있다.
만약, 참조 화소 라인 인덱스에 의해 인접 참조 화소 라인(즉, 제1 참조 화소 라인)이 아닌 비인접 참조 화소 라인(즉, 제2 참조 화소 라인, 제3 참조 화소 라인 등)이 선택된 경우, MPM 플래그의 부호화를 생략하고, MPM 플래그의 값을 true로 설정할 수 있다. 즉, MPM 플래그의 부호화없이 MPM 인덱스를 부호화할 수 있다.
한편, MPM 플래그가 false라면, 부호화 장치에 기-정의된 인트라 예측 모드들 중에서 MPM 후보를 제외한 나머지 모드 중 하나를 부호화할 수 있다.
복호화 관점에서 살펴보면, 현재 블록의 인트라 예측을 위한 참조 화소 라인 인덱스를 복호화할 수 있다. 참조 화소 라인 인덱스에 의해 제1 참조 화소 라인이 선택된 경우, MPM 플래그를 복호화할 수 있다.
만일, MPM 플래그가 true라면, 평면 모드가 사용되는지 여부를 알려주는 평면 모드 플래그를 복호화할 수 있다. 평면 모드 플래그가 true인 경우, 현재 블록의 인트라 예측 모드는 평면 모드로 설정될 수 있고, 평면 모드 플래그가 false인 경우, 현재 블록에 사용된 인트라 예측 모드와 동일한 MPM 후보를 특정하는 MPM 인덱스를 복호화할 수 있다. 기-구성된 MPM 후보와 상기 복호화된 MPM 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 결정할 수 있다. 상기 MPM 후보를 구성하는 방법에 대해서는 도 8을 참조하여 자세히 살펴보도록 한다.
만약, 참조 화소 라인 인덱스에 의해 비인접 참조 화소 라인(즉, 제2 참조 화소 라인, 제3 참조 화소 라인 등)이 선택된 경우, MPM 플래그의 복호화를 생략하고, MPM 플래그의 값을 true로 설정할 수 있다. 즉, MPM 플래그의 복호화없이 MPM 인덱스를 복호화할 수 있다. 기-구성된 MPM 후보와 상기 복호화된 MPM 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 결정할 수 있다.
한편, MPM 플래그가 false라면, 복호화 장치에 기-정의된 인트라 예측 모드들 중에서 평면 모드 및 기-구성된 MPM 후보를 제외한 나머지 모드 중 하나를 특정하는 나머지 모드 정보를 복호화할 수 있다. 복호화된 나머지 모드 정보에 의해 특정된 모드가 현재 블록의 인트라 예측 모드로 설정될 수 있다.
도 8은 본 개시에 따른 MPM 후보를 구성하는 방법에 관한 것이다.
인트라 예측 모드를 부호화/복호화하기 위해, 현재 블록의 주변 블록에서 사용된 인트라 예측 모드를 이용하여 MPM 후보를 구성할 수 있다. 현재 블록의 인트라 예측 모드가 MPM 후보 리스트에 포함된 MPM 후보와 동일하다면, MPM 인덱스를 이용하여, 현재 블록의 인트라 예측 모드와 동일한 MPM 후보를 특정할 수 있다. 만약 현재 블록의 인트라 예측 모드와 동일한 MPM 후보가 존재하지 않는다면 MPM 후보들을 제외하고 남은 인트라 예측 모드들의 인덱스를 재 할당한 후 현재 블록의 인트라 예측 모드를 부호화/복호화할 수 있다. 설명의 편의성을 위해, MPM 후보 리스트가 포함하는 MPM 후보의 개수는 5라고 가정한다.
우선 현재 블록의 주변 블록에서 사용된 인트라 예측 모드를 가져온다. 여기서, 주변 블록은, 상단 이웃 블록, 좌측 이웃 블록, 좌상단 이웃 블록, 우상단 이웃 블록 또는 좌하단 이웃 블록 중 적어도 하나를 포함할 수 있다.
도 8은 주변 블록의 위치를 나타내는 예시이다. 도 8을 참조하면, LB는 블록 내에서 가장 왼쪽 아래에 위치한 화소를 의미하고, RT는 블록 내에서 가장 오른쪽 위에 위치한 화소를 의미한다. L은 LB의 바로 왼쪽에 존재하는 복원 화소의 위치를 의미하고, A는 RT의 바로 위쪽에 존재하는 복원 화소의 위치를 의미한다. 현재 블록의 MPM 후보를 구성하기 위해, 현재 블록의 왼쪽에 존재하는 복원 블록에서 사용된 인트라 예측 모드와 현재 블록의 위쪽에 존재하는 복원 블록에서 사용된 인트라 예측 모드를 이용할 수 있다. 이때, 왼쪽에 존재하는 복원 블록은 L을 포함하고 있는 블록이며, 위쪽에 존재하는 복원 블록은 A를 포함하고 있는 블록을 의미한다. 또는, 좌측 중간에 위치하는 복원 화소(g 또는 h)을 포함하는 복원 블록, 또는 상단 중간에 위치하는 복원 화소(c 또는 d)을 포함하는 블록으로부터 MPM 후보를 유도할 수도 있다.
왼쪽 복원 블록에서 사용된 인트라 예측 모드를 Left라 하고 위쪽 복원 블록에서 사용된 인트라 예측 모드를 Above라 정의한다.
만약, 왼쪽 복원 블록이 이용 불가능한 경우, 왼쪽 복원 블록이 인트라 예측으로 부호화되지 않은 경우, 또는 왼쪽 복원 블록에 매트릭스 기반 의 예측(MIP)이 적용된 경우, Left는 평면 모드로 설정될 수 있다. 그리고 만약, 위쪽 복원 블록이 이용 불가능한 경우, 위쪽 복원 블록이 인트라 예측으로 부호화되지 않은 경우, 위쪽 복원 블록에 매트릭스 기반의 예측(MIP)이 사용된 경우, 또는 위쪽 복원 블록이 현재 블록이 속한 CTU(coding tree unit) 경계 바깥에 존재하는 경우, Above는 평면 모드로 설정될 수 있다. 전술한 경우에 해당하지 않는다면, Left와 Above은 왼쪽 복원 블록이 사용한 인트라 예측 모드와 위쪽 복원 블록이 사용한 인트라 예측 모드로 각각 설정될 수 있다. 왼쪽 복원 블록 또는 위쪽 복원 블록에 BDPCM이 적용된 경우, BDPCM 적용 방향에 따라, Left 또는 Above를 수평 모드 또는 수직 모드로 설정할 수도 있다.
만약 Left와 Above 두 모드가 같고, 방향성 모드라면, MPM 후보는 [Left, Left-1, Left+1, Left-2, Left+2]로 구성될 수 있다.
그게 아니라 만약 Left와 Above 두 모드가 다르고, Left 혹은 Above가 방향성 모드라면, Left와 Above가 전부 방향성 모드인지 혹은 하나만 방향성 모드인지 여부에 따라 후보 구성 방식이 달라진다. 우선, 두 모드 중 큰 값을 가진 모드를 Max로 정의하고 작은 값을 가진 모드를 Min으로 정의한다.
Left와 Above가 전부 방향성 모드인 경우, 다음의 방식대로 MPM 후보가 구성될 수 있다. 만약 (Max - Min)의 값이 1이라면 MPM 후보는 [Left, Above, Min-1, Max +1, Min-2]로 구성될 수 있다. 그게 아니라 만약 (Max - Min)의 값이 62 이상이라면 MPM 후보는 [Left, Above, Min+1, Max -1, Min+2]로 구성될 수 있다. 그게 아니라 만약 (Max - Min)의 값이 2라면 MPM 후보는 [Left, Above, Min+1, Min -1, Max+1]로 구성될 수 있다. 그게 아니라면 MPM 후보는 [Left, Above, Min-1, Min +1, Max-1]로 구성될 수 있다.
만약 Left와 Above 중 하나만 방향성 모드라면 MPM 후보는 [Max, Max-1, Max+1, Max -2, Max+2]로 구성될 수 있다.
그게 아니라면(즉, Left와 Above가 모두 방향성 모드가 아니라면), MPM 후보는 [DC 모드, 50(수직 모드), 18(수평 모드), 수직-4, 수직+4]로 구성될 수 있다.
도 9는 본 개시에 따른 평면 모드에 기반한 인트라 예측 방법을 도시한 것이다.
0번 모드로 할당된 Planar 모드(평면 모드) 하에서 예측 화소는 도 9와 같이 생성될 수 있다.
도 9를 참조하면, T와 L은 평면 모드로 예측 블록을 생성할 때 사용되는 주변 복원 화소에 대한 예시이다. T는 우측 상단 코너에 위치하는 복원 화소를 내타낸다. L은 좌측 하단 코너에 위치하는 복원 화소를 나타낸다. 이 복원 화소들을 참조 화소로 설정하여 예측에 사용한다. 여기서 P1은 수평 방향에 대한 예측 화소이다. P1은 P1과 Y축으로 동일 위치에 있는 복원 화소와 T를 선형 보간하여 생성될 수 있다. P2는 수직 방향에 대한 예측 화소이다. P2는 P2와 X축으로 동일 위치에 있는 복원 화소와 L을 선형 보간하여 생성될 수 있다. 그 후, 다음의 수식 1과 같이, P1과 P2를 가중치합하여 최종적인 예측 화소를 생성한다.
[수식 1]
(α×P1+β×P2)/(α+β)
이 때, 수식 1에서 가중치 α와 β는 동일한 값일 수 있다. 혹은 블록의 형태, 너비, 높이 또는 종횡비를 고려하여 가중치 α와 β를 결정할 수 있다.
도 10은 본 개시에 따른 DC 모드에 기반한 인트라 예측 방법을 도시한 것이다.
1번 모드로 할당된 DC 모드 하에서 예측 화소는 도 10과 같이 생성될 수 있다. 도 10에서 블록의 크기는 4x4이라 가정한다.
도 10을 참조하면, 블록 주변에 존재하는 복원 화소를 참조 화소로 설정하고, 참조 화소들의 평균 값을 계산한 후에, 계산된 값을 예측 블록 내 모든 예측 화소로 설정한다. 평균값을 계산하는데 이용되는 참조 화소들은 상단 복원 화소들(B~E), 좌측 복원 화소들(F~I) 또는 좌상단 복원 화소(A) 중 적어도 하나를 포함할 수 있다. 또는, 상단 복원 화소들 및 좌측 복원 화소들만을 이용하여 평균값을 계산할 수도 있다.
혹은, 블록의 형태에 따라, 상단 복원 화소들 또는 좌측 복원 화소들 중 어느 하나만을 선택적으로 이용하여 평균값을 계산할 수도 있다.
혹은, 블록의 형태에 따라, 상단 복원 화소들 또는 좌측 복원 화소들 중 어느 한쪽에 더 큰 가중치를 적용하는 것 또한 가능하다. 예를 들어, 위쪽 복원 화소들에 대한 상단 평균과 왼쪽 복원 화소들에 대한 좌측 평균을 계산한 후, 상단 평균 및 좌측 평균에 대한 가중치합(weighted sum) 연산을 수행하여 도출된 가중 평균값을 최종 예측 화소로 설정할 수 있다.
무손실 부호화가 수행되는 경우, 블록 내 화소들은 순차적으로 복원될 수 있다. 일 예로, 좌측 상단 화소를 최초로 복원하고, 우측 하단 화소를 마지막으로 복원하되, 래스터 스캔, 수평 스캔, 수직 스캔, 대각 스캔, 역 래스터 스캔, 역 수평 스캔, 역 수직 스캔, 또는 역 대각 스캔에 기초하여 복원 순서를 결정할 수 있다. 또는, 좌측 하단 화소를 최초로 복원하고, 우측 상단 화소를 마지막으로 복원하는 등 다양한 복원 순서의 정의가 가능하다.
복원 순서는, 현재 블록의 크기, 형태 또는 인트라 예측 모드에 기초하여 결정될 수 있다. 일 예로, 인트라 예측 모드의 값이 수평 모드의 값보다 작은 경우에는, 좌측 하단 화소를 최초로 복원하는 반면, 인트라 예측 모드의 값이 수평 모드의 값 이상인 경우에는, 좌측 상단 화소를 최초로 복원할 수 있다.
또는, 소정의 단위 별로 복원 순서가 결정될 수 있다. 소정의 단위는, 행, 열 또는 서브 블록일 수 있다. 소정의 단위 별 복원 순서와 전술한 화소 별 복원 순서는 서로 동일하게 설정될 수도 있다. 일예로, 상단 행을 시작으로 하단 행까지 순차적으로 화소들을 복원하거나, 좌측 열을 시작으로 우측 열까지 순차적으로 화소들을 복원할 수 있다. 후술되는 도면에서, 각 화소에 표기된 번호는, 복원 순서를 나타낸다.
블록 내의 예측/복원 화소를 참조 화소로 사용하는, 개선된 인트라 예측이 적용될 수도 있다. 개선된 인트라 예측은 무손실 부호화가 적용되는 경우에 한하여 적용될 수도 있다. 본 개시에 따른 개선된 인트라 예측에 대해서는 이하 도 11 내지 도 13을 참조하여 자세히 살펴보도록 한다.
도 11 내지 도 13은 본 개시에 따른 개선된 인트라 예측 방법을 도시한 것이다.
도 11을 참조하면, 개선된 DC 모드에서, 현재 블록의 예측 화소는 해당 예측 화소의 주변에 위치한 기 복원된 화소를 기초로 유도될 수 있다. 여기서, 기 복원된 화소는, 상단 복원 화소, 좌측 복원 화소 또는 좌상단 복원 화소 중 적어도 하나를 포함할 수 있다. 이때, 현재 블록의 경계에 인접하는 예측 화소는 현재 블록에 인접하는 이웃 블록에 포함된 복원 화소를 이용하여 유도될 수 있다. 일 예로, a0에 대한 예측 화소는 현재 블록에 인접하는 A, B 및 F의 평균값을 기초로 유도될 수 있다. 반면, 현재 블록의 경계에 인접하지 않는 예측 화소는, 현재 블록에 속하고 해당 예측 화소보다 이전에 복원된 화소를 이용하여 유도될 수 있다. 일 예로, a6에 대한 예측 화소는 a6 이전에 복원된 a1, a2 및 a5의 평균값을 기초로 유도될 수 있다.
현재 블록 내 화소 a0~a15에 대응하는 예측 화소를 p0~p15라고 가정하면, 예측 화소는 다음의 수식 2를 기초로 유도될 수 있다.
[수식 2]
pn=(wL x cLn + wU x cUn + wUL x cULn)/(wL+wU+wUL)
수식 2에서 cLn, cUn, cULn은 각각 pn의 바로 왼쪽, 바로 위쪽, 바로 왼쪽 위에 존재하는 화소를 의미하며, wL, wU, wUL은 각각 cLn, cUn, cULn에 적용되는 가중치를 의미한다. 예를 들어, wL, wU, wUL이 각각 1, 1, 0으로 설정되어 있다고 가정하면, p0은 F와 B의 평균 값이 되며, p6의 경우 a2과 a5의 평균 값이 된다. 그 외 예측 화소들도 동일한 방식으로 생성될 수 있다.
각 화소에 적용되는 가중치는, 예측 화소의 위치, 현재 블록의 크기, 현재 블록의 형태 또는 이웃 복원 화소가 현재 블록에 포함되는지 여부 중 적어도 하나를 기초로 결정될 수 있다.
도 12를 참조하면, 0번 모드(평면 모드)와 1번 모드(DC 모드)를 제외한 방향성 모드 하에서는, 복원 화소(A~Q)를 참조 화소로 설정한 후, 방향성 모드에 대응되는 방향에 위치하는 적어도 하나의 참조 화소를 이용하여 예측 화소를 생성한다. 도 12는 방향성 모드에 의해 생성된 예측 화소들에 대한 예시이다. 66번 모드가 사용되었다고 가정할 때, 각 예측 화소는 우상단 대각 방향에 위치하는 참조 화소로 설정될 수 있다. 일 예로, p0은 C, p1과 p4는 D, … , p15는 I로 설정된다.
또 다른 예시로, 만약 66번 모드가 아닌 18번(Horizontal) 모드가 사용되었다면, 각 예측 화소는 좌측 방향에 위치하는 참조 화소로 설정될 수 있다. 일 예로, p0~p3은 J, … , p12~p15는 M으로 설정된다.
무손실 부호화에서는 개선된 방향성 모드에 기반한 인트라 예측이 적용될 수 있다. 개선된 방향성 모드에 기반한 인트라 예측에서는, 현재 블록 내의 화소를 참조 화소로 사용할 수 있다. 즉, 예측 화소의 상단 행 또는 예측 화소의 좌측 열에 포함된 화소를 참조 화소로 사용할 수 있다. 여기서, 현재 블록 내의 화소는 예측 화소를 의미할 수도 있고, 복원 화소를 의미할 수도 있다.
일 예로, 도 12에 도시된 현재 블록에 18번(Horizontal) 모드에 기초한 인트라 예측이 적용된다고 가정할 경우, 각 예측 화소는 예측 화소의 좌측에 위치하는 복원 화소로 설정될 수 있다. 일 예로, p0~p3은 각각 J, a0, a1, a2로 설정된다. p4~p7은 각각 K, a4, a5, a6으로 설정되며 p8~p11은 각각 L, a8, a9, a10로 설정되고 p12~p15는 각각 M, a12, a13, a14로 설정된다.
예측 화소의 상단 행 또는 좌측 열에 포함된 예측/복원 화소를 참조 화소로 이용하고자 하는 경우, 현재 블록의 인트라 예측 모드의 번호에 따라, 추가 패딩이 필요한 경우가 발생할 수 있다. 일 예로, 현재 블록의 우측 이웃 블록 또는 하단 이웃 블록에 포함된 복원 화소들은 이용 불가능하므로, 현재 블록의 우측 이웃 블록 또는 하단 이웃 블록에 포함된 복원 화소들을 위한 패딩이 수행되어야 할 필요가 있다.
도 13을 참조하면, 도 13에서 사용된 인트라 예측 모드는 67번 모드라고 가정하고 설명한다.
현재 블록의 상단 경계에 인접하는 예측 화소 p0~p3은 각각 현재 블록 위의 복원된 화소들을 참조 화소로 설정한 후 이 화소들을 이용하여 생성된다. 현재 블록의 상단 경계에 인접하지 않는 예측 화소 p4~p7는 상단 행에 포함된 예측/복원 화소들을 참조 화소들로 설정할 수 있다. 이때, p6과 p7의 경우, 블록의 오른편에는 부호화 순서상 화소가 존재하지 않는다. 이처럼, 복원 화소가 존재하지 않는 위치에 대해서는 기 복원 화소를 이용하여 패딩을 수행할 수 있다. 이때, 현재 블록의 우측 이웃 블록에 포함된 참조 화소는 현재 블록의 우측 경계에 위치하는 화소를 패딩하여 생성될 수 있다. 일 예로, p4~p7에 대한 예측을 위해, a3을 이용하여 패딩을 수행한다. 또는, 현재 블록의 우측 경계에 인접하는 현재 블록 내 화소(이하, 제1 화소라 함)와 현재 블록의 우측 상단에 존재하는 존재하는 복원 화소들을 이용하여 패딩을 수행할 수도 있다. 일 예로, 패딩 화소는 패딩 화소와 x축 좌표가 동일한 복원 화소 및 패딩 화소와 y축 좌표가 동일한 제1 화소를 기초로 생성될 수 있다. 일 예로, a3과 F를 거리에 따라 가중치합하여 첫 번째 패딩 된 화소를 생성할 수도 있다. 마찬가지로 a3과 G를 이용하여 두 번째 패딩 된 화소를 생성하는 것 또한 가능하다. 또는 현재 블록의 제1 화소와 패딩 화소로부터 우측 상단에 위치하는 복원 화소(예컨대, 방향성 예측 모드의 Angular line 상에 위치하는 복원 화소)를 이용하여 패딩 화소를 생성할 수 있다.
이 때, 패딩될 화소의 개수는 블록의 크기, 인트라 예측 모드의 번호에 따라 정해질 수 있다. 예를 들어, 인트라 예측 모드의 번호가 66번이라면, 오른쪽 위 45도의 각도이기 때문에 블록의 오른쪽으로 라인마다 하나의 화소씩만 패딩한다. 혹은 50번 모드인 경우 패딩이 필요하지 않으므로 패딩을 수행하지 않을 수 있다.
혹은, 복원 화소들을 이용하여 설정된 참조 화소의 개수와 동일하게, 블록내의 원본 화소를 이용하여 패딩할 시에도 동일하게 맞추는 방식 또한 가능하다. 예를 들어 도 13의 현재 블록 위쪽에서, 복원 화소를 이용하여 B~I까지 참조 화소로 설정되었다면 그 아래 줄에서도 4개 화소씩 패딩할 수 있다.
본 예시에서는 설명의 편의성을 위해 오른쪽 위 방향의 인트라 예측 모드를 기준으로 설명하였지만 왼쪽 아래 방향의 예측 모드에도 유사한 개념이 적용될 수 있다. 일 예로, 현재 블록의 하단 이웃 블록에 포함되는 참조 화소들은, 현재 블록의 하단 경계에 인접하고 현재 블록에 속한 화소를 이용한 패딩을 통해 생성될 수 있다.
위에서 설명한 블록 내 화소를 이용한 인트라 예측의 적용 여부는 무손실 부호화가 수행된 경우 항상 수행되도록 할 수 있다. 혹은 무손실 부호화가 수행된 경우, 해당 기술의 적용 여부를 알려주는 정보를 블록 단위로 부호화하여 복호화기로 전송하는 것 또한 가능하다. 혹은 상위 헤더를 통해 해당 기술의 지원 여부를 부호화할 수 있다. 이러한 방식을 통해 무손실 부호화에서 해당 기술의 사용 여부를 상위 헤더를 통해 조절할 수도 있다.
도 14 내지 도 16은 본 개시에 따른 멀티 참조 화소 라인 기반의 인트라 예측 방법을 도시한 것이다.
현재 블록에 인접하는 참조 화소 라인 또는 인접하지 않는 참조 화소 라인을 이용하여, 인트라 예측을 수행할 수 있다. 도 14와 같이, 다수의 참조 화소 라인 후보들 중 하나를 이용하여 인트라 예측을 수행할 수 있다.
현재 블록에 대해 인트라 예측을 수행할 때, 현재 블록에 인접하는 제1 참조 화소 라인 또는 현재 블록에 인접하지 않는 제2/제3 참조 화소 라인 중 적어도 하나를 사용할 수 있다. 예를 들어, 도 14에 도시된 바와 같이, 현재 블록에 인접하지 않는 제2 참조 화소 라인을 이용하여 인트라 예측을 수행할 수 있다. N번째 참조 화소 라인은, 현재 블록의 최상단 행과의 y축 좌표값의 차분이 N인 상단 참조 화소들 및 현재 블록의 최좌측 열과의 x축 좌표값의 차분이 N인 좌측 참조 화소들을 포함한다. 제2 참조 화소 라인 및 66번(즉, 우측 상단 대각 방향)의 인트라 예측 모드가 사용되었다고 가정할 경우, 원본 화소 a0, a1, a2 등에 대응하는 예측 화소 p0, p1, p2 등은, 각 예측 화소의 우측 상단 대각 방향에 위치하는 제2 참조 화소 라인 내 참조 화소를 기초로 유도될 수 있다. 일 예로, p0은 D'이 되며 p1과 p4는 E'로 설정된다. 나머지 예측 화소들도 동일한 방식으로 생성될 수 있다. 복수의 참조 화소 라인 후보들 중 어느 하나를 특정하기 위한 인덱스 정보가 비트스트림을 통해 시그날링될 수 있다. 상기 인덱스 정보는 블록 단위로 부호화되어 시그날링될 수 있다.
본 개시에 따른 멀티 참조 화소 라인 기반의 인트라 예측이 허용되는지 여부(즉, 비인접 참조 화소 라인을 이용한 인트라 예측이 가능한지 여부)는 현재 블록의 크기, 형태, 위치, 인트라 예측 모드 또는 성분 타입(Y/Cb/Cr) 중 적어도 하나를 기초로 결정될 수 있다. 일 예로, 현재 블록의 인트라 예측 모드가 MPM(Most Probable Mode) 후보로부터 유도되는 경우에 한하여, 인접 참조 화소 라인(즉, 제1 참조 화소 라인)뿐만 아니라 비인접 참조 화소 라인(즉, 제2 참조 화소 라인 또는 제3 참조 화소 라인)을 이용한 인트라 예측이 가능하다.
도 15는 현재 블록 내 예측 화소 또는 복원 화소를 참조 화소로 사용하는 예시를 나타낸다.
현재 블록 내의 예측/복원 화소를 참조 화소로 사용하는 멀티 참조 화소 라인 기반의 인트라 예측이 적용될 수 있다. 이는 무손실 부호화/복호화가 수행되는 경우에도 적용될 수 있다.
(실시예 1)
현재 블록의 참조 화소 라인을 특정하기 위한 정보가 비트스트림으로부터 시그날링될 수 있다. 상기 정보가 N번째 참조 화소 라인을 가리키는 경우, 예측 화소와의 x축 좌표의 차분 또는 y축 좌표의 차분 중 적어도 하나가 N인 복원 화소를 참조 화소로 이용하여 예측 화소를 유도할 수 있다. 일 예로, 도 15의 예에서 제2 참조 화소 라인 및 66번의 인트라 예측 모드가 사용되었다고 가정하면, p0~p3은 p0~p3과의 y축 좌표의 차분이 2인 참조 화소 라인에 포함된 참조 화소들로부터 유도될 수 있다. 일 예로, p0~p3은 각각 D', E', F', G' 로 설정된다.
상기 x축 좌표의 차분 또는 y축 좌표의 차분 중 적어도 하나가 N인 예측/복원 화소가 현재 블록 내에 존재하는 경우, 현재 블록 내 화소를 참조 화소로 이용하여 예측 화소를 유도할 수 있다. 일 예로, p8~p11은 각각 a2, a3, a3, a3으로 설정될 수 있다.
(실시예 2)
혹은, 현재 블록의 인트라 예측 모드에 따라, 현재 블록 내 상단 경계 또는 좌측 경계에 인접하는 적어도 하나의 라인에만, 멀티 참조 화소 라인 기반의 인트라 예측을 적용하고, 나머지 라인은 현재 블록 내 예측/복원 화소들을 이용하여 예측을 수행할 수도 있다. 예를 들어, 현재 블록의 최상단 행에 포함된 예측 화소들은 멀티 참조 화소 라인 기반의 인트라 예측을 적용하여 유도될 수 있다. 일 예로, 인덱스 정보가 제2 참조 화소 라인을 가리키는 경우, 현재 블록의 최상단 행에 포함된 예측 화소들 p0~p3은 도 15와 같이 D'~G'로부터 유도될 수 있다. 반면, 나머지 라인에 포함된 예측 화소들은 각 예측 화소에 인접하는 라인에 포함된 예측/복원 화소을 기초로 유도될 수 있다. 일 예로, p4~p7는 p4~p7의 상단 행에 포함된 복원 화소들을 기초로 유도되고, p8~p11은 p8~p11의 상단 행에 포함된 복원 화소들을 기초로 유도될 수 있다. 일 예로, p4~p7은 a1~a3로 설정되고, p8~p11은 a5~a7로 설정될 수 있다.
(실시예 3)
혹은, 복수의 참조 화소 라인을 이용하여 예측 화소를 유도할 수 있다. 일 예로, 복수의 참조 화소 라인이 이용되는 경우, 각각의 참조 화소 라인으로부터 적어도 하나의 참조 화소를 선택하고, 선택된 복수의 참조 화소들의 가중치합을 예측값으로 사용할 수 있다. 도 16은 복수의 참조 화소 라인을 이용하는 예시를 도시한다.
도 16에서는 설명의 편의성을 위해 2개의 라인들을 기초로 가중치합을 수행한 것으로 가정하고 설명하지만, 몇 개의 라인에서 가중치합을 수행하였는지를 상위 헤더를 통해 부호화하여 복호화기로 전송할 수도 있다. 또는 인트라 예측에 이용되는 참조 화소 라인의 개수는 전술한 부호화 파라미터에 기초하여 가변적으로 결정될 수도 있다. 또는, 상기 개수는 부호화 파라미터에 관계없이 부호화/복호화 장치에 기-정의된 고정된 개수일 수도 있다. 또는, 인덱스 정보가 N번째 참조 화소 라인을 가리키는 경우, 인덱스가 N 이하인 참조 화소 라인들을 이용하여 예측 화소를 유도할 수도 있다. 또는, 인덱스 정보가 N번째 참조 화소 라인을 가리키는 경우, 인덱스가 (N-1)과 같거나 작은 참조 화소 라인을 이용할 수도 있고, 인덱스가 (N+1)인 참조 화소 라인과 같거나 큰 참조 화소 라인을 이용할 수도 있다.
도 16의 예에서 66번의 인트라 예측 모드가 사용되고, 적용되는 가중치가 동일하다고 가정하면, p0~p3은 각각 C와 D'의 가중합 연산, D와 E'의 가중합 연산, E와 F'의 가중합 연산, F와 G'의 가중합 연산으로 설정된다. p5는 a2와 E의 가중합 연산으로 설정되고, p10은 a7과 a3의 가중합 연산으로 설정된다. 그 외 다른 예측 화소들도 동일한 방식으로 생성될 수 있다. 이때, 각 참조 화소에 적용되는 가중치는 동일할 수 있다. 또는, 예측 화소와의 거리에 따라 각 참조 화소에 적용되는 가중치를 결정할 수 있다. 일 예로, p0 유도시, D'보다 C에 더 높은 가중치를 설정할 수 있다.
본 예시에서는 설명의 편의성을 위해 오른쪽 위 방향의 인트라 예측 모드를 기준으로 설명하였지만 왼쪽 아래 방향의 예측 모드에도 동일/유사한 개념이 적용될 수 있다.
인접한 주변 블록의 인트라 예측 모드에 기초하여 전술한 가중치합을 이용한 인트라 예측의 적용 여부를 결정할 수도 있다. 여기서, 주변 블록은, 상단 이웃 블록, 좌측 이웃 블록, 좌측 상단 이웃 블록, 우측 상단이웃 블록 또는 좌측 하단 이웃 블록 중 적어도 하나를 포함할 수 있다. 현재 블록의 인트라 예측 모드에 따라, 참조할 주변 블록이 결정될 수 있다. 예를 들어 현재 블록의 인트라 예측 모드가 도 16과 같이 우측 상단 대각 방향인 경우, 현재 블록의 상단 이웃 블록 또는 우측 상단 이웃 블록 중 적어도 하나의 인트라 예측 모드와 현재 블록의 인트라 예측 모드가 동일 또는 유사한 경우에만 가중치합을 이용한 인트라 예측이 허용될 수 있다. 여기서, 유사한 인트라 예측 모드는 인트라 예측 모드의 차분이 문턱값 이하인 것을 나타낸다. 현재 블록의 인트라 예측 모드가 좌측 하단 대각 방향인 경우, 현재 블록의 좌측 이웃 블록 또는 좌측 하단 이웃 블록 중 적어도 하나의 인트라 예측 모드와 현재 블록의 인트라 예측 모드가 동일 또는 유사한 경우에만 가중치합을 이용한 인트라 예측을 허용할 수 있다.
위에서 설명한 현재 블록 내의 예측/복원 화소를 이용한 인트라 예측의 적용 여부는 무손실 부호화/복호화가 수행된 경우 항상 수행되도록 할 수 있다. 혹은 무손실 부호화/복호화가 수행된 경우, 해당 기술의 적용 여부를 알려주는 정보를 블록 단위로 부호화하여 복호화기로 전송하는 것 또한 가능하다. 혹은 상위 헤더를 통해 해당 기술의 지원 여부를 부호화/복호화할 수 있다. 이러한 방식을 통해 무손실 부호화에서 해당 기술의 사용 여부를 상위 헤더를 통해 조절할 수도 있다.
위 예시들에서는 설명의 편의성을 위해 블록의 끝에 존재하는 화소를 연속해서 복사하는 방식의 패딩을 사용하는 것으로 예시하였지만, 현재 블록 내 최우측 화소 라인에 속한 화소와 현재 블록에 인접한 우상단 블록에 위치한 복원 화소들을 이용하여 패딩을 수행할 수도 있다.
예를 들어, a3과 F를 거리에 따라 가중치합하여 첫번째 패딩된 화소를 생성할 수도 있다. 마찬가지로 a3과 G를 이용하여 두번째 패딩된 화소를 생성하는 것 또한 가능하다. 이때, 패딩될 화소의 개수는 블록의 크기, 인트라 예측 모드 의 번호에 따라 정해질 수 있다. 예를 들어, 인트라 예측 모드의 번호가 66번이라면, 오른쪽 위 45도 각도이기 때문에 블록의 오른쪽으로 라인마다 하나의 화소씩만 패딩한다. 혹은 50번 모드인 경우 패딩이 필요하지 않으므로 패딩을 수행하지 않을 수 있다. 혹은, 복원 화소들을 이용하여 설정된 참조 화소의 개수와 동일하게, 블록 내의 화소를 이용하여 패딩할 시에도 동일하게 맞추는 방식 또한 가능하다. 예를 들어, 도 13의 블록 위쪽에서, 복원 화소를 이용하여 B~I까지 참조 화소로 설정되었다면 그 아래 줄에서도 4개 화소씩 패딩할 수 있다.
도 17 내지 도 19는 본 개시에 따른 예측 화소를 개선하는 방법을 도시한 것이다.
인트라 예측을 통해 생성된 현재 블록의 예측 화소는, 소정의 참조 화소를 이용하여 개선(보정)될 수 있다. 예측 화소의 보정을 위한 참조 화소는, 전술한 실시예에서의 참조 화소와 구별되는 개념으로 이해될 수 있다.
구체적으로, 본 개시에서의 참조 화소는 현재 블록에 인접한 주변 블록 또는 현재 블록 중 적어도 하나에 속할 수 있다. 여기서, 현재 블록 내 참조 화소는, 현재 예측되는 화소(즉, 현재 화소) 이전에 예측된 화소 또는 복원된 화소 중 적어도 하나를 포함할 수 있다.
또한, 참조 화소는 상기 현재 화소와 동일한 라인 상에 위치한 화소일 수 있다. 만일 현재 화소와 동일한 라인 상에 정수 화소가 존재하지 않는 경우, 현재 화소와 동일한 라인 상에 위치한 소수 화소 주변의 정수 화소가 참조 화소로 이용될 수도 있다. 또는, 현재 화소와 동일한 라인 상에 정수 화소가 존재하지 않는 경우, 현재 화소와 동일한 라인 상에 위치한 소수 화소가 참조 화소로 이용될 수도 있다. 이때, 상기 소수 화소는 인접한 정수 화소의 보간을 통해 획득될 수 있다.
여기서, 라인은 현재 블록의 인트라 예측 모드에 따른 방향 또는 각도에 기초하여 결정될 수 있다. 또는 현재 블록의 인트라 예측 모드에 관계없이, 상기 라인은 수직 라인 및/또는 수평 라인을 의미할 수도 있다. 또는, 상기 라인은 현재 블록의 인트라 예측 모드에 따른 라인과 상기 수직/수평 라인을 모두 포함할 수도 있다. 일예로, 참조 화소의 일부는 현재 블록의 인트라 예측 모드에 따른 라인 상에 위치하고, 나머지는 현재 화소와 동일한 수직/수평 라인 상에 위치할 수 있다.
상기 참조 화소는, 부호화/복호화 장치에 기-약속된 디폴트 화소를 포함할 수 있다. 여기서, 디폴트 화소는, 현재 블록에 인접한 주변 화소로서, 좌상단 이웃 화소, 좌하단 이웃 화소, 우상단 이웃 화소, 우하단 이웃 화소, 좌측 이웃 화소들 중 최상단/최하단에 위치한 화소, 또는 우측 이웃 화소들 중 최상단/최하단에 위치한 화소 중 적어도 하나를 포함할 수 있다.
상기 디폴트 화소의 위치 또는 개수 중 적어도 하나는, 현재 화소의 위치와 현재 블록의 인트라 예측 모드에 관계없이 정의될 수 있다. 또는, 디폴트 화소의 위치 또는 개수 중 적어도 하나는, 현재 블록의 인트라 예측 모드에 종속적으로 결정될 수도 있다. 또는, 디폴트 화소의 일부는 현재 화소의 위치 및/또는 인트라 예측 모드에 관계없이 정의되고, 나머지는 현재 화소의 위치 및/또는 인트라 예측 모드에 종속적으로 결정될 수도 있다.
본 개시에 따른 예측 화소의 보정을 위해 이용되는 참조 화소의 개수는 부호화 장치에서 시그날링되는 정보에 기초하여 결정될 수 있다. 또는, 상기 참조 화소의 개수는 전술한 부호화 파라미터에 기초하여 가변적으로 결정될 수도 있다. 또는, 상기 참조 화소의 개수는 부호화/복호화 장치에 기-약속된 고정된 개수(e.g., 1, 2, 3, 4, 5, 6 또는 그 이상의 정수)일 수 있다.
현재 블록 주변의 복원 화소를 이용하여, 인트라 예측을 통해 생성된 예측 블록을 개선(보정)할 수 있다. 이때, 예측 화소를 개선하는데 이용되는 복원 화소는 현재 블록의 인트라 예측 모드 또는 예측 화소의 위치 중 적어도 하나를 기초로 결정될 수 있다. 다음의 수식 3은, 인트라 예측을 통해 생성된 예측 블록을 추가적으로 개선하는 방법을 나타내는 예시이다.
[수식 3]
pred'(x',y')=(wL×R_(-1,y)+wT×R_(x,-1)-wTL×R_(-1,-1)+(64-wL-wT+wTL)×pred(x',y')+32)≫6
수식 3에서 pred(x',y')는 예측 블록 pred 안의 (x',y') 좌표에 존재하는 화소를 의미하며 pred'(x',y')은 개선된 예측 블록을 의미한다. R_(-1,y), R_(x,-1), R_(-1,-1)은 각각 블록의 왼쪽에 존재하는 참조 화소, 위쪽에 존재하는 참조 화소, 왼쪽 위에 존재하는 참조 화소를 의미하며, wL, wT, wTL은 각각 블록의 왼쪽에 존재하는 참조 화소, 위쪽에 존재하는 참조 화소, 왼쪽 위에 존재하는 참조 화소에 적용되는 가중치를 의미한다. 참조 화소들의 위치 및 각 참조 화소에 적용되는 가중치는 현재 블록의 인트라 예측 모드 또는 예측 화소의 위치 중 적어도 하나를 기초로 결정될 수 있다. 각 화소에 적용되는 가중치는 0을 포함하는 정수일 수 있다.
도 17은 본 개시에 따른 Position dependent intra prediction combination (PDPC)가 적용되는 예시를 나타낸다.
R_(-1,y), R_(x,-1)은 도 6의 인트라 예측 모드의 번호에 따라 실수 위치에 존재할 수도 있다. 이 실수 위치의 화소는, 주변 인접한 화소들을 이용하여 보간하여 생성될 수 있다. 이때, 거리의 비를 이용한 선형 예측이 사용될 수 있다. 또는, 실수 위치와 가장 인접한 정수 위치 화소를 참조 화소로 사용할 수도 있다. 또는, 참조 화소를 생성하기 위에 로우패스필터(low-pass filter)를 적용할 수도 있다. 정수 위치의 화소들에 로우패스필터를 적용하여, 참조 화소가 생성될 수 있다. 로우패스필터의 적용 여부는 인트라 예측 모드를 기초로 결정될 수 있다. 예를 들어, 기-설정된 모드에서만 로우패스필터를 적용하여 참조 화소를 생성할 수 있다. 혹은 모든 인트라 예측 모드에 로우패스필터를 적용할 수도 있다. 혹은 로우패스필터를 적용하지 않고, 복원된 화소를 그대로 이용하여 참조 화소를 구성하는 방식 또한 가능하다.
도 18은 본 개시에 따른 개선된 PDPC 방법의 예시를 나타낸다.
현재 블록 내의 예측/복원 화소를 참조 화소로 사용하는 개선된 PDPC 방법을 적용할 수 있다. 개선된 PDPC 방법에서, 예측 화소는, 예측 화소의 상단 행에 위치한 화소 및/또는 예측 화소의 좌측 행에 위치한 화소를 기초로 개선될 수 있다. 이때, 화소 a0, a1, a2 등에 대응하는 예측 화소를 p0, p1, p2 등이라고 가정한다.
현재 블록의 좌측 상단 코너에 인접하는 화소는, 현재 블록에 인접하는 상단 행 및/또는 좌측 열에 포함된 참조 화소를 이용하여 개선될 수 있다. 일 예로, 도 18에서 p0는 참조 화소 K, C, A 중 적어도 하나를 이용하여 개선될 수 있다. 현재 블록의 경계에 인접하지 않는 예측 화소는, 현재 블록 내 예측 화소의 상단 행에 포함된 복원 화소 및/또는 예측 화소의 좌측 열에 포함된 복원 화소를 기초로 개선될 수 있다.
이때, 예측 화소의 상단 행 또는 좌측 열에 포함된 화소가 아직 복원되지 않은 경우에는, 예측 화소 개선 시 현재 블록에 인접하는 복원 화소를 이용할 수 있다. 일 예로, p5의 경우, 블록 내의 스캔 순서(또는 부호화/복호화 순서)에 따라 a0, a2는 복원이 된 상태이고 a8은 복원이 아직 되지 않았기 때문에 a0, a2와 M을 이용한다. 마찬가지로 p9의 경우 a6, a4 , N을 이용한다.
도 18에서는 인트라 예측 모드가 66번(즉, 우상단 대각 방향)인 경우를 도시하였다. 인트라 예측 모드가 2번(즉, 좌하단 대각 방향)인 경우에도 도 18과 마찬가지로 현재 블록 내의 스캔 순서에 따라 동일하게 현재 블록 내의 화소가 이용될 수 있다.
현재 블록 내의 화소에 대한 복호화 순서를 인트라 예측 모드에 따라 다르게 결정될 수도 있다. 일 예로, 인트라 예측 모드가 66번인 경우에는 도 18의 예시처럼, 좌측 상단 화소를 최초로 복원하고 우측 하단 화소를 마지막으로 복원하는 반면, 인트라 예측 모드가 2번인 경우에는, 좌측 하단 화소를 최초로 복원하고, 우측 상단 화소를 마지막으로 복원할 수 있다.
도 19는 인트라 예측 모드 인덱스가 2번인 경우 개선된 PDPC의 적용 예시이다. 도 18과 달리 인접한 화소를 최대한 활용하여 인트라 예측을 수행하기 위해, 인트라 예측 모드 인덱스가 2번인 경우, 좌측 하단 화소를 처음으로 복원하고, 우측 상단 화소를 마지막으로 복원할 수 있다. 이에 따라, p0의 경우 개선된 PDPC를 위해 사용되는 주변 화소는 K, M , F이다. p9의 경우 개선된 PDPC를 위해 사용되는 주변 화소는 p4 , A, E가 된다.
도 18과 도 19의 예에서 처럼, 인트라 예측 모드에 따라서 현재 블록 내의 화소에 대해 스캔 순서를 바꿀 수 있다.
개선된 PDPC 방법 적용시, 각 참조 화소에 적용되는 가중치는, 예측 화소와의 거리에 기초하여 결정될 수 있다. 예를 들어 예측 화소와의 거리가 가까울수록 참조 화소에 적용되는 가중치가 큰 값을 갖도록 설정하는 한편, 예측 화소와의 거리가 멀수록 참조 화소에 적용되는 가중치가 작은 값을 갖도록 설정할 수 있다. 도 18을 예로 들면, p9의 경우 a6과 N 중에서 a6가 p9와 더 가깝기 때문에 N보다 a6쪽에 높은 가중치를 부여하여 수식 3을 적용할 수도 있다.
도 18과 도 19에 도시된 예에서와 같이, 일부 예측 화소에 대해서는 패딩된 화소를 이용할 수 있다. 이때, 현재 블록의 우측 이웃 블록에 포함된 화소에 대해서는, 현재 블록에 속하고 현재 블록의 우측 경계에 인접하는 화소를 이용하여 패딩을 수행할 수 있다. 현재 블록의 하단 이웃 블록에 포함된 화소에 대해서는, 현재 블록에 속하고 현재 블록의 하단 경계에 인접하는 화소를 이용하여 패딩을 수행할 수 있다.
본 예시에서는 설명의 편의성을 위해 블록의 끝에 존재하는 화소를 연속해서 복사하는 방식의 패딩을 사용하는 것으로 예시하였지만, 현재 블록 내 최우측 화소 라인에 속한 화소와 현재 블록에 인접한 우상단 블록에 위치하는 복원 화소를 이용하여 패딩을 수행할 수도 있다.
도 18을 예로 들면, a3과 F를 거리에 따라 가중치합하여 첫번째 패딩된 화소를 생성할 수 있다. 마찬가지로 a3과 G를 이용하여 두번째 패딩된 화소를 생성하는 것 또한 가능하다. 이때, 패딩될 화소의 개수는 블록의 크기, 인트라 예측 모드 인덱스에 따라 정해질 수 있다. 예를 들어 인트라 예측 모드의 번호가 66번이라면, 오른쪽 위 45도 각도이기 때문에 블록의 오른쪽으로 라인마다 하나의 화소씩만 패딩한다. 혹은 50번 모드인 경우, 패딩이 필요하지 않으므로 패딩을 수행하지 않을 수 있다.
혹은, 복원 화소들을 이용하여 설정된 참조 화소의 개수와 동일하게, 블록 내의 화소를 이용하여 패딩할 시에도 동일하게 맞추는 방식 또한 가능하다. 예를 들어 도 18의 블록 위쪽에서, 복원 화소를 이용하여 B~I까지 참조 화소로 설정되었다면, 그 아래 줄에서도 동일하게 4개 화소씩 패딩할 수도 있다.
또는, 패딩된 화소를 이용하는 대신, 현재 블록에 인접하는 상단 행 또는 좌측 열에 포함된 화소를 이용하여 개선된 PDPC를 적용할 수 있다.
본 예시에서는 설명의 편의성을 위해 오른쪽 위 방향의 인트라 예측 모드를 기준으로 설명하였지만 왼쪽 아래 방향의 예측 모드에도 동일/유사한 개념이 적용될 수 있다.
현재 블록 내 화소를 이용한 인트라 예측의 적용 여부는 무손실 부호화가 수행된 경우 항상 수행되도록 할 수 있다. 혹은 해당 기술의 적용 여부를 알려주는 정보를 블록 단위로 부호화하여 복호화기로 전송하는 것 또한 가능하다. 혹은 상위 헤더를 통해 해당 기술의 지원 여부를 부호화/복호화할 수 있다. 이러한 방식을 통해 무손실 부호화에서 해당 기술의 사용 여부를 상위 헤더를 통해 조절할 수도 있다.
상술한 실시예들에서 사용된 신택스들의 명칭은, 설명의 편의를 위해 명명된 것에 불과하다.
복호화 과정 또는 부호화 과정을 중심으로 설명된 실시예들을, 부호화 과정 또는 복호화 과정에 적용하는 것은, 본 발명의 범주에 포함되는 것이다. 소정의 순서로 설명된 실시예들을, 설명된 것과 상이한 순서로 변경하는 것 역시, 본 발명의 범주에 포함되는 것이다.
상술한 실시예는 일련의 단계 또는 순서도를 기초로 설명되고 있으나, 이는 발명의 시계열적 순서를 한정한 것은 아니며, 필요에 따라 동시에 수행되거나 다른 순서로 수행될 수 있다. 또한, 상술한 실시예에서 블록도를 구성하는 구성요소(예를 들어, 유닛, 모듈 등) 각각은 하드웨어 장치 또는 소프트웨어로 구현될 수도 있고, 복수의 구성요소가 결합하여 하나의 하드웨어 장치 또는 소프트웨어로 구현될 수도 있다. 상술한 실시예는 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 비디오 신호를 부호화/복호화하기 위해 이용될 수 있다.
Claims (12)
- 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하는 단계; 여기서, 복수의 참조 화소 라인 후보는, 상기 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, 또는 상기 제2 참조 화소 라인에 인접한 제3 참조 화소 라인 중 적어도 하나를 포함함,상기 현재 블록의 인트라 예측 모드를 결정하는 단계; 및상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행하는 단계를 포함하는, 영상 복호화 방법.
- 제1항에 있어서,상기 현재 블록의 참조 화소 라인을 특정하기 위한 정보를 비트스트림으로부터 획득하는 단계를 더 포함하되,상기 현재 블록의 제1 화소는, 상기 현재 화소로부터 수평 또는 수직 방향으로 n만큼 떨어진 화소를 이용하여 예측되고,상기 n 값은 상기 획득된 정보에 기초하여 결정되는, 영상 복호화 방법.
- 제2항에 있어서,상기 제1 화소는, 상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하는 화소 라인에 속하고,상기 현재 블록의 상단 경계 또는 좌측 경계에 인접하지 않은 제2 화소는, 상기 제2 화소에 인접한 화소 라인에 속한 화소를 이용하여 예측되는, 영상 복호화 방법.
- 제1항에 있어서,상기 결정된 참조 화소 라인의 개수는 2개 이상인, 영상 복호화 방법.
- 제4항에 있어서, 상기 인트라 예측을 수행하는 단계는,상기 2개 이상의 참조 화소 라인 각각으로부터 적어도 하나의 참조 화소를 선택하는 단계; 및상기 선택된 복수의 참조 화소들의 가중치합을 산출하는 단계를 포함하되,상기 현재 블록의 화소는 상기 산출된 가중치합에 기반하여 예측되는, 영상 복호화 방법.
- 제1항에 있어서,상기 인트라 예측을 통해 획득된 상기 현재 블록의 예측 화소를 보정하는 단계를 더 포함하는, 영상 복호화 방법.
- 제6항에 있어서,상기 예측 화소의 보정을 위한 참조 화소는, 상기 현재 블록에 인접한 주변 블록 또는 상기 현재 블록 중 적어도 하나에 속하는, 영상 복호화 방법.
- 제7항에 있어서,상기 참조 화소는 상기 현재 블록의 현재 화소와 동일한 라인 상에 위치한 화소이고,상기 라인은 상기 현재 블록의 인트라 예측 모드에 따른 방향 또는 각도를 가진 라인인, 영상 복호화 방법.
- 제6항에 있어서,상기 참조 화소는, 복호화 장치에 기-약속된 디폴트 화소를 더 포함하는, 영상 복호화 방법.
- 제9항에 있어서,상기 디폴트 화소의 위치 또는 개수 중 적어도 하나는, 상기 현재 블록의 인트라 예측 모드에 종속적으로 결정되는, 영상 복호화 방법.
- 기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하는 단계; 여기서, 복수의 참조 화소 라인 후보는, 상기 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, 또는 상기 제2 참조 화소 라인에 인접한 제3 참조 화소 라인 중 적어도 하나를 포함함,상기 현재 블록의 인트라 예측 모드를 결정하는 단계; 및상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행하는 단계를 포함하는, 영상 부호화 방법.
- 영상 복호화 방법에 의해 복호화되는 비트스트림을 저장하는 컴퓨터로 판독가능한 기록 매체에 있어서,상기 영상 복호화 방법은,기-정의된 복수의 참조 화소 라인 후보 중 현재 블록의 인트라 예측을 위한 참조 화소 라인을 결정하는 단계; 여기서, 복수의 참조 화소 라인 후보는, 상기 현재 블록에 인접한 제1 참조 화소 라인, 상기 제1 참조 화소 라인에 인접한 제2 참조 화소 라인, 또는 상기 제2 참조 화소 라인에 인접한 제3 참조 화소 라인 중 적어도 하나를 포함함,상기 현재 블록의 인트라 예측 모드를 결정하는 단계; 및상기 결정된 참조 화소 라인과 상기 인트라 예측 모드를 기반으로, 상기 현재 블록의 인트라 예측을 수행하는 단계를 포함하는, 컴퓨터로 판독가능한 기록 매체.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2019-0167124 | 2019-12-13 | ||
| KR20190167124 | 2019-12-13 | ||
| KR20190167123 | 2019-12-13 | ||
| KR10-2019-0167123 | 2019-12-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021118309A1 true WO2021118309A1 (ko) | 2021-06-17 |
Family
ID=76330219
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2020/018199 Ceased WO2021118309A1 (ko) | 2019-12-13 | 2020-12-11 | 비디오 신호 처리 방법 및 장치 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2021118309A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220159239A1 (en) * | 2019-03-23 | 2022-05-19 | Lg Electronics Inc. | Intra prediction-based image coding in image coding system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180015598A (ko) * | 2016-08-03 | 2018-02-13 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
| KR20180041575A (ko) * | 2016-10-14 | 2018-04-24 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
| KR20190076918A (ko) * | 2017-12-22 | 2019-07-02 | 주식회사 윌러스표준기술연구소 | 비디오 신호 처리 방법 및 장치 |
| KR20190110041A (ko) * | 2018-03-19 | 2019-09-27 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
| KR20190115426A (ko) * | 2018-04-02 | 2019-10-11 | 세종대학교산학협력단 | 영상 부호화/복호화 방법 및 장치 |
-
2020
- 2020-12-11 WO PCT/KR2020/018199 patent/WO2021118309A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180015598A (ko) * | 2016-08-03 | 2018-02-13 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
| KR20180041575A (ko) * | 2016-10-14 | 2018-04-24 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
| KR20190076918A (ko) * | 2017-12-22 | 2019-07-02 | 주식회사 윌러스표준기술연구소 | 비디오 신호 처리 방법 및 장치 |
| KR20190110041A (ko) * | 2018-03-19 | 2019-09-27 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
| KR20190115426A (ko) * | 2018-04-02 | 2019-10-11 | 세종대학교산학협력단 | 영상 부호화/복호화 방법 및 장치 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220159239A1 (en) * | 2019-03-23 | 2022-05-19 | Lg Electronics Inc. | Intra prediction-based image coding in image coding system |
| US12301788B2 (en) * | 2019-03-23 | 2025-05-13 | Lg Electronics Inc. | Intra prediction-based image coding in image coding system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2017222325A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018212577A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018106047A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018221817A1 (ko) | 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치 | |
| WO2017179835A1 (ko) | 인트라 예측 기반의 비디오 신호 처리 방법 및 장치 | |
| WO2017188652A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
| WO2018066959A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2019117634A1 (ko) | 2차 변환에 기반한 영상 코딩 방법 및 그 장치 | |
| WO2014171713A1 (ko) | 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 | |
| WO2019117639A1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
| WO2018212579A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018056701A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2018044089A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2016159610A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2016048092A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2016064123A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2016122253A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2019182329A1 (ko) | 영상 복호화 방법/장치, 영상 부호화 방법/장치 및 비트스트림을 저장한 기록 매체 | |
| WO2019231206A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
| WO2021137597A1 (ko) | Ols에 대한 dpb 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2016122251A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2023277486A1 (ko) | 화면내 예측 기반의 비디오 신호 부호화/복호화 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2020055208A1 (ko) | 인트라 예측을 수행하는 영상 예측 방법 및 장치 | |
| WO2016200235A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| WO2019240450A1 (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: 20899853 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: 20899853 Country of ref document: EP Kind code of ref document: A1 |